{"version":3,"file":"static/js/main.3ef607bd.js","mappings":"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C,aAAa,UAAU,CAACpC,OAAO,QAAQoC,aAAa,MAAM,CAACpC,OAAO,QAAQoC,aAAa,UAAU,CAACpC,OAAO,QAAQoC,aAAa,UAAU,CAACpC,OAAO,QAAQoC,aAAa,UAAU,CAACpC,OAAO,QAAQoC,aAAa,UAAU,CAACpC,OAAO,QAAQoC,aAAa,UAAU,CAACpC,OAAO,QAAQoC,aAAa,UAAU,CAACpC,OAAO,QAAQoC,aAAa,UAAU,CAACpC,OAAO,QAAQoC,aAAa,UAAU,CAACpC,OAAO,QAAQoC,aAAa,UAAU,CAACpC,OAAO,QAAQoC,aAAa,UAAU,CAACpC,OAAO,QAAQoC,aAAa,UAAU,CAACpC,OAAO,QAAQoC,aAAa,UAAU,CAACpC,OAAO,QAAQoC,aAAa,UAAU,CAACpC,OAAO,QAAQoC,aAAa,UAAU,CAACpC,OAAO,QAAQoC,aAAa,UAAU,CAACpC,OAAO,QAAQoC,aAAa,UAAU,CAACpC,OAAO,QAAQoC,aAAa,UAAU,CAACpC,OAAO,QAAQoC,aAAa,MAAM,CAACpC,OAAO,QAAQoC,aAAa,UAAU,CAACpC,OAAO,QAAQoC,aAAa,MAAM,CAACpC,OAAO,QAAQoC,aAAa,UAAU,CAACpC,OAAO,QAAQoC,aAAa,UAAU,CAACpC,OAAO,QAAQoC,aAAa,UAAU,CAACpC,OAAO,QAAQoC,aAAa,UAAU,CAACpC,OAAO,QAAQoC,aAAa,UAAU,CAACpC,OAAO,QAAQoC,aAAa,UAAU,CAACpC,OAAO,QAAQoC,aAAa,UAAU,CAACpC,OAAO,QAAQoC,aAAa,UAAU,CAACpC,OAAO,QAAQoC,aAAa,UAAU,CAACpC,OAAO,QAAQoC,aAAa,UAAU,CAACpC,OAAO,QAAQoC,aAAa,UAAU,CAACpC,OAAO,QAAQoC,aAAa,UAAU,CAACpC,OAAO,QAAQoC,aAAa,UAAU,CAACpC,OAAO,QAAQoC,aAAa,UAAU,CAACpC,OAAO,QAAQoC,aAAa,UAAU,CAACpC,OAAO,QAAQoC,aAAa,UAAU,CAACpC,OAAO,QAAQoC,aAAa,MAAM,CAACpC,OAAO,QAAQoC,aAAa,UAAU,CAACpC,OAAO,QAAQoC,aAAa,UAAU,CAACpC,OAAO,QAAQoC,aAAa,UAAU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AAI,GAAG,EAAE,EAAE,GAAG,EAAE,GAAG,GAAG,GAAG,EAAE,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,EAAE,EAAE,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,GAAG,GAAG,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,GAAG,EAAE,GAAG,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,GAAG,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,GAAG,GAAG,EAAE,GAAG,EAAE,GAAG,GAAG,GAAG,EAAE,EAAE,EAAE,IAAI,GAAG,GAAG,EAAE,GAAG,GAAG,GAAG,EAAE,GAAG,GAAG,GAAG,EAAE,GAAG,GAAG,GAAG,EAAE,IAAI,GAAG,IAAI,GAAG,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,GAAG,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,GAAG,EAAE,EAAE,GAAG,EAAE,GAAG,GAAG,GAAG,EAAE,GAAG,GAAG,IAAI,GAAG,GAAG,EAAE,EAAE,GAAG,GAAG,EAAE,GAAG,GAAG,IAAI,EAAE,EAAE,EAAE,EAAE,GAAG,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,GAAG,GAAG,EAAE,IAAI,GAAG,GAAG,EAAE,EAAE,GAAG,EAAE,GAAG,IAAI,EAAE,GAAG,IAAI,IAAI,IAAI,GAAG,IAAI,KAAK,GAAG,GAAG,KAAK,GAAG,EAAE,GAAG,KAAK,EAAE,IAAI,KAAK,GAAG,KAAK,IAAI,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,EAAE,GAAG,GAAG,EAAE,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,EAAE,EAAE,GAAG,GAAG,GAAG,EAAE,EAAE,EAAE,GAAG,KAAK,EAAE,KAAK,GAAG,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,IAAI,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,IAAI,KAAK,IAAI,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,KAAK,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,KAAK,GAAG,EAAE,EAAE,IAAI,GAAG,IAAI,GAAG,GAAG,EAAE,GAAG,EAAE,IAAI,GAAG,GAAG,GAAG,IAAI,GAAG,IAAI,GAAG,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,IAAI,GAAG,GAAG,EAAE,EAAE,KAAK,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,KAAK,MAAM,GAAG,KAAK,EAAE,IAAI,EAAE,KAAK,GAAG,KAAK,GAAG,IAAI,KAAK,IAAI,KAAK,KAAK,EAAE,MAEtjDC,EAAwB,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,GAAG,GAAG,EAAE,IAAI,EAAE,GAAG,GAAG,GAAG,GAAG,EAAE,EAAE,GAAG,EAAE,GAAG,GAAG,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,GAAG,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,GAAG,EAAE,EAAE,EAAE,GAAG,GAAG,GAAG,EAAE,EAAE,EAAE,EAAE,IAAI,GAAG,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,GAAG,GAAG,EAAE,EAAE,EAAE,GAAG,GAAG,GAAG,EAAE,IAAI,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,GAAG,GAAG,EAAE,GAAG,GAAG,EAAE,EAAE,EAAE,GAAG,GAAG,GAAG,EAAE,EAAE,IAAI,GAAG,IAAI,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,GAAG,GAAG,GAAG,IAAI,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,GAAG,EAAE,GAAG,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,GAAG,KAAK,EAAE,EAAE,GAAG,MAAM,GAAG,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,GAAG,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,GAAG,EAAE,GAAG,IAAI,EA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","sources":["../node_modules/intl-relativeformat/src/core.js","../node_modules/html-dom-parser/src/client/html-to-dom.ts","../node_modules/react-intl/locale-data/yo.js","../node_modules/react-datetime-picker/dist/shared/dateFormatter.js","../node_modules/react-intl/locale-data/wae.js","../node_modules/react-intl/locale-data/jgo.js","../node_modules/react-datetime-picker/dist/shared/dates.js","../node_modules/react-intl/locale-data/xog.js","../node_modules/react-aria-menubutton/dist/ManagerContext.js","../node_modules/@babel/types/src/utils/deprecationWarning.ts","../node_modules/react-intl/locale-data/ga.js","../node_modules/html-dom-parser/src/client/utilities.ts","../node_modules/react-custom-scrollbars/lib/utils/returnFalse.js","../node_modules/es-errors/range.js","../node_modules/react-intl/locale-data/lrc.js","../node_modules/react-is/index.js","../node_modules/react-intl/locale-data/ast.js","../node_modules/react-dnd/lib/DragSource.js","../node_modules/object-keys/index.js","../node_modules/react-clock/dist/esm/shared/utils.js","../node_modules/react-clock/dist/esm/shared/propTypes.js","../node_modules/react-clock/dist/esm/Hand.js","../node_modules/react-clock/dist/esm/Mark.js","../node_modules/react-clock/dist/esm/MinuteMark.js","../node_modules/react-clock/dist/esm/shared/hourFormatter.js","../node_modules/react-clock/dist/esm/HourMark.js","../node_modules/react-clock/dist/esm/Clock.js","../node_modules/react-clock/dist/esm/index.js","../node_modules/react-intl/locale-data/wo.js","../node_modules/react-intl/locale-data/ses.js","../node_modules/react-intl/locale-data/ta.js","../node_modules/react-intl/locale-data/sms.js","../node_modules/tiny-invariant/dist/esm/tiny-invariant.js","../node_modules/react-dnd/lib/DragDropContext.js","../node_modules/object-is/polyfill.js","../node_modules/@babel/types/src/validators/isLet.ts","../node_modules/react-intl/locale-data/kl.js","../node_modules/react-intl/locale-data/dje.js","../node_modules/html-react-parser/lib/attributes-to-props.js","../node_modules/math-intrinsics/max.js","../node_modules/react-intl/locale-data/as.js","../node_modules/react-intl/locale-data/bez.js","../node_modules/call-bind-apply-helpers/index.js","../node_modules/react-intl/locale-data/nn.js","../node_modules/call-bind-apply-helpers/functionCall.js","../node_modules/@babel/types/src/constants/index.ts","../node_modules/@babel/types/src/validators/buildMatchMemberExpression.ts","../node_modules/call-bind-apply-helpers/functionApply.js","../node_modules/react-intl/locale-data/ko.js","../node_modules/dnd-core/node_modules/redux/lib/createStore.js","../node_modules/lodash/_defineProperty.js","../node_modules/react-redux/node_modules/hoist-non-react-statics/node_modules/react-is/cjs/react-is.production.min.js","../node_modules/react-intl/locale-data/zgh.js","../node_modules/@babel/types/src/converters/gatherSequenceExpressions.ts","../node_modules/react-intl/locale-data/fy.js","../../../../../../../../src/parser.js","../node_modules/react-intl/locale-data/nah.js","../node_modules/lodash/isArrayLike.js","../node_modules/react-time-picker/dist/TimeInput/Hour12Input.js","../../../../../../../../src/es5.js","../node_modules/react-intl/locale-data/nd.js","../node_modules/raf/index.js","../node_modules/d3/d3.js","../node_modules/lodash/_baseIntersection.js","../node_modules/react-property/lib/possibleStandardNamesOptimized.js","../node_modules/lodash/_Symbol.js","../node_modules/react-intl/locale-data/yav.js","../node_modules/regexp.prototype.flags/polyfill.js","../node_modules/@babel/types/src/validators/matchesPattern.ts","../node_modules/react-intl/locale-data/tk.js","../node_modules/disposables/modules/index.js","../node_modules/react-intl/locale-data/bm.js","../node_modules/react-outside-click-handler/index.js","../node_modules/react-dnd/lib/DragLayer.js","../node_modules/react-custom-scrollbars/lib/Scrollbars/index.js","../node_modules/react-intl/locale-data/el.js","../node_modules/@babel/types/src/definitions/jsx.ts","../node_modules/lodash/isFunction.js","../node_modules/@babel/types/src/validators/isVar.ts","../node_modules/define-properties/index.js","../node_modules/react-datetime-picker/dist/DateTimePicker.js","../node_modules/@babel/helper-string-parser/src/index.ts","../node_modules/has-property-descriptors/index.js","../node_modules/lodash/isPlainObject.js","../node_modules/react-time-picker/dist/TimeInput/AmPm.js","../node_modules/react-intl/locale-data/brx.js","../node_modules/lodash/_getMapData.js","../node_modules/lodash/_overArg.js","../node_modules/prop-types/lib/ReactPropTypesSecret.js","../node_modules/lodash/_coreJsData.js","../node_modules/react-aria-menubutton/dist/Wrapper.js","../node_modules/@babel/types/src/definitions/flow.ts","../node_modules/@babel/types/src/validators/isValidIdentifier.ts","../node_modules/react-intl/locale-data/lt.js","../node_modules/react/cjs/react.production.min.js","../node_modules/react-intl/locale-data/id.js","../node_modules/lodash/_getValue.js","../node_modules/react-intl/locale-data/mgh.js","../node_modules/lodash/_baseIsArguments.js","../node_modules/react-intl/locale-data/nso.js","../node_modules/react-intl/locale-data/si.js","../node_modules/moment/min/locales.js","../node_modules/call-bind-apply-helpers/actualApply.js","../node_modules/lodash/_objectToString.js","../node_modules/react-intl/locale-data/bh.js","../node_modules/dnd-core/lib/reducers/index.js","../node_modules/disposables/modules/Disposable.js","../node_modules/lodash/without.js","../node_modules/react-redux/node_modules/hoist-non-react-statics/node_modules/react-is/index.js","../node_modules/lodash/_baseGetTag.js","../node_modules/lodash/_arrayFilter.js","../node_modules/function-bind/implementation.js","../node_modules/side-channel-map/index.js","../node_modules/@babel/types/src/comments/addComments.ts","../node_modules/domelementtype/lib/index.js","../node_modules/react-dnd/lib/DragDropContextProvider.js","../node_modules/lodash/_SetCache.js","../node_modules/react-date-picker/dist/DateInput/Input.js","../node_modules/react-date-picker/dist/DateInput/YearInput.js","../node_modules/side-channel/index.js","../node_modules/react-intl/locale-data/vi.js","../node_modules/react-intl/locale-data/smj.js","../node_modules/react-intl/locale-data/ca.js","../node_modules/regexp.prototype.flags/shim.js","../node_modules/object-keys/implementation.js","../node_modules/react-intl/locale-data/kk.js","../node_modules/@babel/types/src/validators/isPlaceholderType.ts","../node_modules/react-intl/locale-data/jw.js","../node_modules/react-intl/locale-data/nmg.js","../node_modules/react-intl/locale-data/jv.js","../node_modules/dnd-core/lib/DropTarget.js","../node_modules/react-intl/locale-data/gl.js","../node_modules/react-intl/locale-data/te.js","../node_modules/react-intl/locale-data/ti.js","../node_modules/lodash/constant.js","../node_modules/lodash/_hashSet.js","../node_modules/react-intl/locale-data/gd.js","../node_modules/invariant/browser.js","../node_modules/lodash/isObjectLike.js","../node_modules/lodash/isArguments.js","../node_modules/qs/lib/index.js","../node_modules/react-intl/locale-data/lv.js","../node_modules/react-dnd-mouse-backend/lib/MouseBackend.js","../node_modules/@babel/types/src/constants/generated/index.ts","../node_modules/react-intl/locale-data/ckb.js","../node_modules/react-intl/locale-data/nl.js","../node_modules/react-intl/locale-data/lo.js","../node_modules/lodash/_listCacheGet.js","../node_modules/intl-messageformat-parser/index.js","../../../../../../../../src/en.js","../node_modules/react-intl/locale-data/saq.js","../node_modules/make-event-props/dist/cjs/index.js","../node_modules/react-intl/locale-data/ks.js","../node_modules/@babel/types/src/converters/toBindingIdentifierName.ts","../node_modules/@babel/types/src/definitions/misc.ts","../node_modules/lodash/_hashDelete.js","../node_modules/react-aria-menubutton/dist/specialAssign.js","../node_modules/react-outside-click-handler/build/OutsideClickHandler.js","../node_modules/@babel/types/src/validators/isBinding.ts","../node_modules/@babel/types/src/index.ts","../node_modules/react-intl/locale-data/sw.js","../node_modules/react-intl/locale-data/jmc.js","../node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js","../node_modules/@babel/runtime/helpers/esm/inheritsLoose.js","../node_modules/react-intl/locale-data/nnh.js","../node_modules/dnd-core/lib/DragDropMonitor.js","../node_modules/react-dnd/lib/createTargetMonitor.js","../node_modules/@babel/types/src/retrievers/getFunctionName.ts","../node_modules/react-datetime-picker/dist/entry.js","../../../../../../../../src/compiler.js","../node_modules/@babel/types/src/builders/flow/createFlowUnionType.ts","../node_modules/scheduler/cjs/scheduler.production.min.js","../node_modules/@babel/types/src/converters/toStatement.ts","../node_modules/lodash/_hashClear.js","../node_modules/functions-have-names/index.js","../node_modules/react-dnd/lib/wrapConnectorHooks.js","../node_modules/@babel/types/src/converters/valueToNode.ts","../node_modules/react-intl/locale-data/cgg.js","../node_modules/lodash/_baseSetToString.js","../node_modules/document.contains/shim.js","../node_modules/html-react-parser/lib/utilities.js","../node_modules/react-intl/locale-data/ebu.js","../node_modules/dnd-core/lib/reducers/dragOffset.js","../node_modules/react-intl/locale-data/fo.js","../node_modules/airbnb-prop-types/index.js","../node_modules/react-time-picker/dist/shared/utils.js","../node_modules/es-errors/index.js","../node_modules/focus-group/index.js","../node_modules/react-intl/locale-data/yi.js","../node_modules/react-intl/locale-data/bs.js","../node_modules/lodash/_listCacheDelete.js","../node_modules/react-intl/locale-data/ja.js","../node_modules/react-intl/locale-data/prg.js","../node_modules/lodash.isequalwith/index.js","../node_modules/react-intl/locale-data/kkj.js","../node_modules/react-fit/dist/cjs/Fit.js","../node_modules/get-user-locale/dist/esm/index.js","../node_modules/lodash/_apply.js","../../../../../../../../src/utils.js","../node_modules/@babel/types/src/comments/inheritInnerComments.ts","../node_modules/react-intl/locale-data/seh.js","../node_modules/react-intl/locale-data/om.js","../node_modules/math-intrinsics/floor.js","../node_modules/react-redux/node_modules/react-is/index.js","../node_modules/merge-class-names/dist/esm/index.js","../node_modules/react-intl/locale-data/kaj.js","../node_modules/react-intl/locale-data/ln.js","../node_modules/react-intl/locale-data/am.js","../node_modules/html-dom-parser/src/client/constants.ts","../node_modules/react-aria-menubutton/dist/index.js","../node_modules/react-intl/locale-data/mo.js","../node_modules/lodash/identity.js","../node_modules/react-aria-menubutton/dist/Button.js","../node_modules/react-custom-scrollbars/lib/utils/isString.js","../node_modules/react-intl/locale-data/dv.js","../node_modules/path-to-regexp/node_modules/isarray/index.js","../node_modules/document.contains/index.js","../node_modules/hasown/index.js","../node_modules/lodash/_getRawTag.js","../node_modules/react-dnd/lib/index.js","../node_modules/@babel/types/src/builders/productions.ts","../node_modules/react-intl/locale-data/mn.js","../node_modules/react-router-dom/modules/BrowserRouter.js","../node_modules/react-router-dom/modules/HashRouter.js","../node_modules/react-router-dom/modules/utils/locationUtils.js","../node_modules/react-router-dom/modules/Link.js","../node_modules/react-router-dom/modules/NavLink.js","../node_modules/react-intl/locale-data/mt.js","../node_modules/react-intl/locale-data/sma.js","../node_modules/@babel/types/src/validators/validate.ts","../node_modules/@babel/types/src/builders/typescript/createTSUnionType.ts","../node_modules/dnd-core/lib/reducers/refCount.js","../node_modules/react-intl/locale-data/sbp.js","../node_modules/@babel/types/src/builders/generated/uppercase.ts","../node_modules/react-intl/locale-data/pa.js","../node_modules/document.contains/implementation.js","../node_modules/lodash/_baseIsNative.js","../node_modules/lodash/_freeGlobal.js","../node_modules/@babel/types/src/builders/react/buildChildren.ts","../node_modules/lodash/_mapCacheDelete.js","../node_modules/react-dnd/lib/createSourceConnector.js","../node_modules/react-intl/locale-data/ne.js","../node_modules/dunder-proto/get.js","../node_modules/get-proto/Object.getPrototypeOf.js","../node_modules/@babel/types/src/validators/isNode.ts","../node_modules/react-custom-scrollbars/lib/Scrollbars/styles.js","../node_modules/lodash/_isMasked.js","../node_modules/react-intl/locale-data/is.js","../node_modules/react-dnd/lib/utils/shallowEqual.js","../node_modules/react-intl/locale-data/et.js","../node_modules/react-intl/locale-data/hi.js","../node_modules/react-intl/locale-data/bem.js","../node_modules/qs/lib/formats.js","../node_modules/react-intl/locale-data/en.js","../node_modules/react-intl/locale-data/cu.js","../node_modules/react-intl/locale-data/hu.js","../node_modules/@hypnosphi/create-react-context/lib/implementation.js","../node_modules/dnd-core/lib/actions/dragDrop.js","../node_modules/react-intl/locale-data/zh.js","../node_modules/asap/browser-raw.js","../node_modules/react-intl/locale-data/ak.js","../node_modules/@babel/types/src/comments/inheritsComments.ts","../node_modules/@babel/types/src/definitions/typescript.ts","../node_modules/react-intl/locale-data/mk.js","../node_modules/react-intl/locale-data/ewo.js","../node_modules/react-intl/locale-data/bas.js","../node_modules/lodash/_baseIsNaN.js","../node_modules/react-intl/locale-data/twq.js","../node_modules/react-intl/locale-data/yue.js","../node_modules/react-dnd/lib/utils/shallowEqualScalar.js","../node_modules/react-intl/locale-data/nds.js","../node_modules/react-dnd/lib/createSourceMonitor.js","../node_modules/react-intl/locale-data/mzn.js","../node_modules/prop-types/factoryWithThrowingShims.js","../node_modules/lodash/_arrayIncludesWith.js","../node_modules/merge-refs/dist/cjs/index.js","../node_modules/react-intl/locale-data/wa.js","../node_modules/react-intl/locale-data/pap.js","../node_modules/react-custom-scrollbars/lib/Scrollbars/defaultRenderElements.js","../node_modules/react-intl/locale-data/guz.js","../node_modules/@babel/types/src/validators/isNodesEquivalent.ts","../node_modules/math-intrinsics/isNaN.js","../node_modules/dnd-core/lib/HandlerRegistry.js","../node_modules/is-regex/index.js","../node_modules/react-date-picker/dist/DateInput/MonthSelect.js","../node_modules/react-intl/locale-data/ro.js","../node_modules/intl-relativeformat/src/diff.js","../node_modules/@babel/types/src/comments/addComment.ts","../node_modules/@babel/helper-validator-identifier/src/keyword.ts","../node_modules/@babel/types/src/utils/inherit.ts","../node_modules/document.contains/polyfill.js","../node_modules/react-date-picker/dist/DateInput/MonthInput.js","../node_modules/react-dnd/lib/registerTarget.js","../node_modules/@babel/types/src/clone/cloneWithoutLoc.ts","../node_modules/react-intl/locale-data/ha.js","../node_modules/dnd-core/lib/backends/createTestBackend.js","../node_modules/react-intl/locale-data/tzm.js","../node_modules/react-intl/locale-data/nyn.js","../node_modules/@babel/types/src/modifications/removePropertiesDeep.ts","../node_modules/@babel/types/src/converters/toBlock.ts","../node_modules/lodash/_setToString.js","../node_modules/react-custom-scrollbars/lib/utils/getInnerWidth.js","../node_modules/disposables/modules/isDisposable.js","../node_modules/react-intl/locale-data/ce.js","../node_modules/lodash/isObject.js","../node_modules/lodash/_setCacheHas.js","../node_modules/react-intl/locale-data/fur.js","../node_modules/lodash/_mapCacheClear.js","../node_modules/react-intl/locale-data/khq.js","../node_modules/react-intl/locale-data/in.js","../node_modules/react-redux/node_modules/react-is/cjs/react-is.production.min.js","../node_modules/react-dnd/lib/utils/isValidType.js","../node_modules/lodash/_baseUnary.js","../node_modules/gud/index.js","../node_modules/@babel/types/src/builders/flow/createTypeAnnotationBasedOnTypeof.ts","../node_modules/@babel/types/src/retrievers/getBindingIdentifiers.ts","../node_modules/react-intl/node_modules/hoist-non-react-statics/dist/hoist-non-react-statics.cjs.js","../node_modules/dnd-core/lib/reducers/dragOperation.js","../node_modules/style-to-js/src/utilities.ts","../node_modules/react-intl/locale-data/gsw.js","../node_modules/lodash/_hashHas.js","../node_modules/react-intl/locale-data/rn.js","../node_modules/lodash/_arrayPush.js","../node_modules/@babel/types/src/comments/removeComments.ts","../node_modules/@babel/types/src/clone/cloneDeepWithoutLoc.ts","../node_modules/react-dnd/lib/registerSource.js","../node_modules/@babel/types/src/clone/cloneNode.ts","../node_modules/react-intl/locale-data/st.js","../node_modules/lodash/_castArrayLikeObject.js","../node_modules/react-intl/locale-data/kam.js","../node_modules/lodash/_arrayMap.js","../node_modules/react-intl/locale-data/dz.js","../node_modules/@wojtekmaj/date-utils/dist/esm/index.js","../node_modules/prefix-style/index.js","../node_modules/@babel/types/src/converters/toExpression.ts","components/extractions/helpers/colorHelper.js","../node_modules/react/cjs/react-jsx-runtime.production.min.js","../node_modules/es-object-atoms/index.js","../node_modules/react-intl/locale-data/bg.js","../node_modules/get-proto/index.js","../node_modules/react-time-picker/dist/TimeInput/Hour24Input.js","../node_modules/react-intl/locale-data/pl.js","../node_modules/@babel/types/src/definitions/index.ts","../node_modules/@babel/types/src/builders/generated/lowercase.ts","../node_modules/react-intl/locale-data/agq.js","../node_modules/lodash/_listCacheHas.js","../node_modules/lodash/_setToArray.js","../node_modules/@babel/types/src/asserts/assertNode.ts","../node_modules/@babel/types/src/validators/isSpecifierDefault.ts","../node_modules/react-intl/locale-data/so.js","../node_modules/object-is/index.js","../node_modules/react-intl/locale-data/naq.js","../node_modules/regexp.prototype.flags/implementation.js","../node_modules/react-custom-scrollbars/lib/utils/getInnerHeight.js","../node_modules/react-intl/locale-data/to.js","../node_modules/react-datetime-picker/dist/DateTimeInput/NativeInput.js","../node_modules/react-dnd/lib/utils/checkDecoratorArguments.js","../node_modules/lodash/lodash.js","../node_modules/domhandler/lib/node.js","../node_modules/math-intrinsics/abs.js","../node_modules/is-date-object/index.js","../node_modules/react-intl/locale-data/mgo.js","../node_modules/lodash/isArray.js","../node_modules/react-intl/locale-data/ts.js","../node_modules/react-intl/locale-data/kea.js","../node_modules/react-intl/locale-data/tl.js","../node_modules/react-intl/locale-data/nus.js","../node_modules/html-react-parser/lib/dom-to-react.js","../node_modules/react-intl/locale-data/haw.js","../node_modules/es-errors/type.js","../node_modules/react-intl/locale-data/es.js","../node_modules/@babel/types/src/validators/is.ts","../node_modules/object.values/implementation.js","../node_modules/lodash/_overRest.js","../node_modules/lodash/_baseRest.js","../node_modules/@babel/types/src/validators/react/isCompatTag.ts","../node_modules/call-bind-apply-helpers/applyBind.js","../node_modules/lodash/isLength.js","../node_modules/react-intl/locale-data/mer.js","../node_modules/react-time-picker/dist/TimeInput/SecondInput.js","../node_modules/dom-css/index.js","../node_modules/@babel/types/src/modifications/typescript/removeTypeDuplicates.ts","../node_modules/@babel/types/src/validators/isReferenced.ts","../node_modules/lodash/_root.js","../node_modules/react-intl/locale-data/eu.js","../node_modules/react-intl/locale-data/ig.js","../node_modules/lodash/_mapCacheSet.js","../node_modules/react-intl/locale-data/th.js","../node_modules/es-object-atoms/RequireObjectCoercible.js","../node_modules/airbnb-prop-types/src/mocks/index.js","../node_modules/performance-now/src/performance-now.coffee","../node_modules/asap/browser-asap.js","../node_modules/react-intl/locale-data/ms.js","../node_modules/react-datetime-picker/dist/shared/utils.js","../node_modules/react-intl/locale-data/kn.js","../node_modules/object-is/implementation.js","../node_modules/lodash/_cacheHas.js","../node_modules/@babel/runtime/helpers/esm/extends.js","../node_modules/react-time-picker/dist/TimeInput/MinuteInput.js","../node_modules/react-intl/locale-data/kw.js","../node_modules/tiny-warning/dist/tiny-warning.esm.js","../node_modules/@babel/types/src/modifications/prependToMemberExpression.ts","../node_modules/@babel/types/src/comments/inheritLeadingComments.ts","../node_modules/react-intl/locale-data/dua.js","../node_modules/react-intl/locale-data/dav.js","../node_modules/react-intl/locale-data/vai.js","../node_modules/get-intrinsic/index.js","../node_modules/qs/lib/utils.js","../node_modules/react-intl/locale-data/mas.js","../node_modules/react-intl/locale-data/it.js","../node_modules/@babel/types/src/validators/isImmutable.ts","../node_modules/react-intl/locale-data/os.js","../node_modules/get-proto/Reflect.getPrototypeOf.js","../node_modules/math-intrinsics/round.js","../node_modules/react-intl/locale-data/nr.js","../node_modules/react-intl/locale-data/eo.js","../node_modules/intl-relativeformat/index.js","../node_modules/dnd-core/lib/reducers/stateId.js","../node_modules/lodash/_assocIndexOf.js","../node_modules/lodash/intersection.js","../node_modules/math-intrinsics/min.js","../node_modules/lodash/xor.js","../node_modules/react-intl/locale-data/ki.js","webpack://argus/./node_modules/react-datetime-picker/dist/DateTimePicker.css?2d3d","../node_modules/react-intl/locale-data/km.js","../node_modules/call-bind/index.js","../node_modules/lodash/_listCacheSet.js","../node_modules/react-dropdown/dist/index.js","../node_modules/tiny-invariant/dist/tiny-invariant.cjs.js","../node_modules/react-intl/locale-data/ru.js","../node_modules/es-errors/syntax.js","../node_modules/@babel/types/src/definitions/core.ts","../node_modules/react-intl/locale-data/ku.js","../node_modules/react-intl/locale-data/ml.js","../node_modules/es-errors/uri.js","../node_modules/react-autocomplete/build/lib/Autocomplete.js","../node_modules/detect-element-overflow/dist/cjs/index.js","../node_modules/function-bind/index.js","../node_modules/react-intl/locale-data/vun.js","../node_modules/react-intl/locale-data/br.js","../node_modules/react-intl/locale-data/iw.js","../node_modules/html-dom-parser/src/client/domparser.ts","../node_modules/symbol-observable/es/index.js","../node_modules/symbol-observable/es/ponyfill.js","../node_modules/lodash/_baseUniq.js","../node_modules/has-tostringtag/shams.js","../node_modules/react-intl/locale-data/bo.js","../node_modules/lodash/_MapCache.js","../node_modules/react-calendar/dist/esm/shared/const.js","../node_modules/react-calendar/dist/esm/shared/dateFormatter.js","../node_modules/react-calendar/dist/esm/shared/dates.js","../node_modules/react-calendar/dist/esm/shared/propTypes.js","../node_modules/react-calendar/dist/esm/Calendar/Navigation.js","../node_modules/react-calendar/dist/esm/Flex.js","../node_modules/react-calendar/dist/esm/shared/utils.js","../node_modules/react-calendar/dist/esm/TileGroup.js","../node_modules/react-calendar/dist/esm/Tile.js","../node_modules/react-calendar/dist/esm/CenturyView/Decade.js","../node_modules/react-calendar/dist/esm/CenturyView/Decades.js","../node_modules/react-calendar/dist/esm/CenturyView.js","../node_modules/react-calendar/dist/esm/DecadeView/Year.js","../node_modules/react-calendar/dist/esm/DecadeView/Years.js","../node_modules/react-calendar/dist/esm/DecadeView.js","../node_modules/react-calendar/dist/esm/YearView/Month.js","../node_modules/react-calendar/dist/esm/YearView/Months.js","../node_modules/react-calendar/dist/esm/YearView.js","../node_modules/react-calendar/dist/esm/MonthView/Day.js","../node_modules/react-calendar/dist/esm/MonthView/Days.js","../node_modules/react-calendar/dist/esm/MonthView/Weekdays.js","../node_modules/react-calendar/dist/esm/MonthView/WeekNumber.js","../node_modules/react-calendar/dist/esm/MonthView/WeekNumbers.js","../node_modules/react-calendar/dist/esm/MonthView.js","../node_modules/react-calendar/dist/esm/Calendar.js","../node_modules/react-calendar/dist/esm/index.js","../node_modules/react/index.js","../node_modules/react-intl/locale-data/luo.js","../node_modules/prop-types/index.js","../node_modules/@wojtekmaj/date-utils/dist/cjs/index.js","../node_modules/react-intl/locale-data/lb.js","../node_modules/react-intl/locale-data/mr.js","webpack://argus/./node_modules/react-calendar/dist/Calendar.css?53fe","../node_modules/react-intl/locale-data/ii.js","../node_modules/react-intl/locale-data/kab.js","../node_modules/react-intl/locale-data/nqo.js","../node_modules/html-react-parser/index.js","../node_modules/disposables/modules/CompositeDisposable.js","../node_modules/@babel/types/src/definitions/placeholders.ts","../node_modules/react-intl/locale-data/sq.js","../node_modules/react-redux/node_modules/hoist-non-react-statics/dist/hoist-non-react-statics.cjs.js","../node_modules/react-intl/locale-data/mg.js","../node_modules/react-intl/locale-data/sh.js","../node_modules/react-date-picker/dist/shared/utils.js","../node_modules/react-intl/locale-data/rof.js","../node_modules/react-dnd/lib/areOptionsEqual.js","../node_modules/@babel/types/src/definitions/deprecated-aliases.ts","../node_modules/@babel/types/src/validators/isValidES3Identifier.ts","../node_modules/react-dnd-mouse-backend/lib/index.js","../node_modules/lodash/_createSet.js","../node_modules/add-px-to-style/index.js","../node_modules/object-inspect/index.js","../node_modules/gopd/gOPD.js","../node_modules/is-arguments/index.js","../node_modules/react-dnd/lib/decorateHandler.js","../node_modules/react-intl/locale-data/sn.js","../node_modules/side-channel-list/index.js","../node_modules/react-intl/locale-data/cy.js","../node_modules/react-datetime-picker/dist/shared/propTypes.js","../node_modules/dnd-core/lib/actions/registry.js","../node_modules/react-intl/locale-data/pt.js","../node_modules/lodash/_mapCacheHas.js","../node_modules/react-intl/locale-data/he.js","../node_modules/dnd-core/lib/index.js","../node_modules/react-intl/locale-data/ps.js","../node_modules/@babel/types/src/asserts/generated/index.ts","../node_modules/react-intl/locale-data/smn.js","../node_modules/react-intl/locale-data/sv.js","../node_modules/@babel/types/src/validators/react/isReactComponent.ts","../node_modules/react/jsx-runtime.js","../node_modules/lodash/_isKeyable.js","../node_modules/@babel/types/src/converters/toComputedKey.ts","../node_modules/react-intl/locale-data/ny.js","../node_modules/react-intl/locale-data/qu.js","../node_modules/to-no-case/index.js","../node_modules/react-intl/locale-data/dyo.js","../node_modules/react-intl/locale-data/chr.js","../node_modules/lodash/_Set.js","../node_modules/intl-messageformat/index.js","../node_modules/has-symbols/index.js","../node_modules/lodash/_hashGet.js","../../../../../../../../src/core.js","../node_modules/react-intl/locale-data/guw.js","../node_modules/react-intl/locale-data/iu.js","../node_modules/@babel/types/src/builders/generated/index.ts","../node_modules/dnd-core/lib/reducers/dirtyHandlerIds.js","../node_modules/dom-scroll-into-view/lib/util.js","../node_modules/react-aria-menubutton/dist/externalStateControl.js","../node_modules/react-intl/locale-data/rw.js","../node_modules/define-data-property/index.js","../node_modules/es-errors/ref.js","../node_modules/@babel/types/src/validators/isBlockScoped.ts","../node_modules/@babel/types/src/clone/clone.ts","../node_modules/set-function-length/index.js","../node_modules/react-intl/locale-data/uz.js","../node_modules/lodash/noop.js","../node_modules/lodash/_baseFindIndex.js","../node_modules/lodash/_arrayIncludes.js","../node_modules/react-intl/locale-data/fi.js","../node_modules/react-intl/locale-data/hy.js","../node_modules/@babel/types/src/traverse/traverse.ts","../node_modules/lodash/isArrayLikeObject.js","../node_modules/react-click-outside/dist/index.js","../node_modules/react-custom-scrollbars/lib/index.js","../node_modules/@babel/types/src/modifications/appendToMemberExpression.ts","../node_modules/consolidated-events/lib/index.esm.js","../node_modules/react-dnd/lib/utils/cloneWithRef.js","../node_modules/react-intl/locale-data/ksb.js","../node_modules/react-intl/locale-data/kln.js","../node_modules/lodash/_isFlattenable.js","../node_modules/@babel/types/src/modifications/inherits.ts","../node_modules/style-to-js/src/index.ts","../node_modules/resolve-pathname/esm/resolve-pathname.js","../node_modules/value-equal/esm/value-equal.js","../node_modules/history/esm/history.js","../node_modules/dnd-core/lib/utils/getNextUniqueId.js","../node_modules/react-intl/locale-data/ssy.js","../node_modules/react-intl/locale-data/rm.js","../node_modules/react-intl/locale-data/mua.js","../node_modules/react-date-picker/dist/DateInput/DayInput.js","../node_modules/deep-equal/index.js","../node_modules/react-intl/locale-data/dsb.js","../node_modules/react-intl/locale-data/ka.js","../node_modules/@babel/types/src/retrievers/getOuterBindingIdentifiers.ts","../node_modules/scheduler/index.js","../node_modules/react-intl/locale-data/fa.js","../node_modules/to-space-case/index.js","../node_modules/react-intl/locale-data/sk.js","../node_modules/react-intl/locale-data/hr.js","../node_modules/react-intl/locale-data/ksh.js","../node_modules/react-intl/locale-data/my.js","../node_modules/react-intl/locale-data/tn.js","../node_modules/@babel/helper-validator-identifier/src/identifier.ts","../node_modules/es-errors/eval.js","../node_modules/react-intl/locale-data/ve.js","../node_modules/hoist-non-react-statics/dist/hoist-non-react-statics.cjs.js","../node_modules/object-keys/isArguments.js","../node_modules/react-dnd/lib/createTargetConnector.js","../node_modules/react-intl/locale-data/teo.js","../node_modules/lodash/_mapCacheGet.js","../node_modules/lodash/_baseFlatten.js","../node_modules/@babel/types/src/retrievers/getAssignmentIdentifiers.ts","../node_modules/react-intl/locale-data/bn.js","../node_modules/react-custom-scrollbars/lib/utils/getScrollbarWidth.js","../node_modules/@babel/types/src/modifications/flow/removeTypeDuplicates.ts","../node_modules/@babel/types/src/converters/toIdentifier.ts","../node_modules/react-intl/locale-data/xh.js","../node_modules/@babel/types/src/validators/isScope.ts","../node_modules/es-define-property/index.js","../node_modules/qs/lib/stringify.js","../node_modules/react-intl/locale-data/tig.js","../node_modules/react-intl/locale-data/mfe.js","../node_modules/react-intl/locale-data/lg.js","../node_modules/react-intl/locale-data/ff.js","../node_modules/@babel/types/src/modifications/removeProperties.ts","../node_modules/react-dom/cjs/react-dom.production.min.js","../node_modules/react-intl/locale-data/kde.js","../node_modules/set-function-name/index.js","../node_modules/react-intl/locale-data/kcg.js","../node_modules/to-camel-case/index.js","../node_modules/react-intl/locale-data/sl.js","../node_modules/react-datetime-picker/dist/DateTimeInput.js","../node_modules/downloadjs/download.js","../node_modules/react-intl/locale-data/af.js","../node_modules/teeny-tap/index.js","../node_modules/react-intl/locale-data/gv.js","../node_modules/intl-relativeformat/src/main.js","../node_modules/react-intl/locale-data/zu.js","../node_modules/style-to-object/src/index.ts","../node_modules/react-dom/client.js","../node_modules/react-aria-menubutton/dist/createManager.js","../node_modules/@babel/types/src/definitions/experimental.ts","../node_modules/lodash/_Map.js","../node_modules/object-is/shim.js","../node_modules/react-intl/locale-data/sdh.js","../node_modules/react-intl/locale-data/ug.js","../node_modules/react-intl/locale-data/se.js","../node_modules/lodash/_getPrototype.js","../node_modules/@babel/helper-validator-identifier/src/index.ts","../node_modules/moment/moment.js","../node_modules/lodash/_setCacheAdd.js","../node_modules/react-property/lib/index.js","../node_modules/react-intl/locale-data/lag.js","../node_modules/react-intl/locale-data/syr.js","../node_modules/lodash/_shortOut.js","../node_modules/react-intl/locale-data/da.js","../node_modules/@babel/types/src/traverse/traverseFast.ts","../node_modules/@babel/types/src/clone/cloneDeep.ts","../node_modules/react-dnd/lib/createTargetFactory.js","../node_modules/react-intl/locale-data/ee.js","../node_modules/lodash/_listCacheClear.js","../node_modules/math-intrinsics/pow.js","../node_modules/lodash/_getNative.js","../node_modules/call-bound/index.js","../node_modules/path-to-regexp/index.js","../node_modules/react-intl/locale-data/vo.js","../node_modules/intl-relativeformat/src/es5.js","../node_modules/react-intl/locale-data/az.js","../node_modules/object.values/shim.js","../node_modules/lodash/_baseIndexOf.js","../node_modules/lodash/_baseDifference.js","../node_modules/react-intl/locale-data/ar.js","../node_modules/react-datetime-picker/dist/Divider.js","../node_modules/dnd-core/lib/DragSource.js","../node_modules/react-intl/locale-data/tr.js","../node_modules/lodash.memoize/index.js","../node_modules/react-aria-menubutton/dist/Menu.js","../node_modules/react-intl/locale-data/asa.js","../node_modules/react-fit/dist/cjs/index.js","../node_modules/react-intl/locale-data/smi.js","../node_modules/react-time-picker/dist/shared/dateFormatter.js","../node_modules/react-intl/locale-data/or.js","../node_modules/@babel/types/src/converters/toKeyAlias.ts","../node_modules/react-intl/locale-data/ars.js","../node_modules/qs/lib/parse.js","../node_modules/react-intl/locale-data/ur.js","../node_modules/react-time-picker/dist/shared/dates.js","../node_modules/react-time-picker/dist/shared/propTypes.js","../node_modules/react-intl/locale-data/gu.js","../node_modules/dnd-core/lib/DragDropManager.js","../node_modules/react-date-picker/dist/shared/dateFormatter.js","../node_modules/react-router/modules/miniCreateReactContext.js","../node_modules/react-router/modules/createContext.js","../node_modules/react-router/modules/createNamedContext.js","../node_modules/react-router/modules/HistoryContext.js","../node_modules/react-router/modules/RouterContext.js","../node_modules/react-router/modules/Router.js","../node_modules/react-router/modules/MemoryRouter.js","../node_modules/react-router/modules/Lifecycle.js","../node_modules/react-router/modules/Prompt.js","../node_modules/react-router/modules/generatePath.js","../node_modules/react-router/modules/Redirect.js","../node_modules/react-router/modules/matchPath.js","../node_modules/react-router/modules/Route.js","../node_modules/react-router/modules/StaticRouter.js","../node_modules/react-router/modules/Switch.js","../node_modules/react-router/modules/withRouter.js","../node_modules/react-router/modules/hooks.js","../node_modules/react-time-picker/dist/TimeInput/Input.js","../node_modules/react-intl/locale-data/ky.js","../node_modules/react-intl/locale-data/uk.js","../node_modules/@babel/types/src/definitions/utils.ts","../node_modules/regexp.prototype.flags/index.js","../node_modules/react-intl/locale-data/cs.js","../node_modules/react-aria-menubutton/dist/propTypes.js","../node_modules/react-intl/locale-data/jbo.js","../node_modules/lodash/eq.js","../node_modules/dom-scroll-into-view/index.js","../node_modules/react-intl/locale-data/sah.js","../node_modules/react-intl/locale-data/kok.js","webpack://argus/./node_modules/react-clock/dist/Clock.css?b0de","../node_modules/@babel/types/src/validators/generated/index.ts","../node_modules/domhandler/lib/index.js","../node_modules/react-intl/locale-data/no.js","../node_modules/@babel/types/src/converters/ensureBlock.ts","../node_modules/object.values/polyfill.js","../node_modules/@babel/types/src/converters/toSequenceExpression.ts","../node_modules/react-intl/locale-data/fil.js","../node_modules/@babel/types/src/utils/react/cleanJSXElementLiteralChild.ts","../node_modules/update-input-width/dist/cjs/index.js","../node_modules/lodash/_strictIndexOf.js","../node_modules/@babel/types/src/utils/shallowEqual.ts","../node_modules/react-dnd/lib/createSourceFactory.js","../node_modules/react-aria-menubutton/dist/MenuItem.js","../node_modules/react-intl/locale-data/fr.js","../node_modules/inline-style-parser/index.js","../node_modules/react-intl/locale-data/hsb.js","../node_modules/call-bind-apply-helpers/reflectApply.js","../node_modules/react-router/node_modules/hoist-non-react-statics/dist/hoist-non-react-statics.cjs.js","../node_modules/react-is/cjs/react-is.production.min.js","../node_modules/side-channel-weakmap/index.js","../node_modules/gopd/index.js","../node_modules/lodash/_nativeCreate.js","../node_modules/react-intl/locale-data/rwk.js","../node_modules/react-intl/locale-data/be.js","../node_modules/dom-scroll-into-view/lib/dom-scroll-into-view.js","../node_modules/warning/warning.js","../node_modules/dropzone/dist/dropzone.js","../node_modules/object.values/index.js","../node_modules/react-dnd/lib/DropTarget.js","../node_modules/react-intl/locale-data/de.js","../node_modules/@babel/types/src/validators/isType.ts","../node_modules/@hypnosphi/create-react-context/lib/index.js","../node_modules/react-intl/locale-data/sr.js","../node_modules/lodash/_toSource.js","../node_modules/lodash/_ListCache.js","../node_modules/react-intl/locale-data/sg.js","../node_modules/react-intl/locale-data/luy.js","../node_modules/disposables/modules/SerialDisposable.js","../node_modules/intl-relativeformat/src/en.js","../node_modules/math-intrinsics/sign.js","../node_modules/lodash/_baseXor.js","../node_modules/dnd-core/lib/utils/matchesType.js","../node_modules/react-intl/locale-data/ksf.js","../node_modules/react-intl/locale-data/shi.js","../node_modules/react-date-picker/dist/shared/propTypes.js","../node_modules/react-dom/index.js","../node_modules/classnames/index.js","../node_modules/@babel/types/src/comments/inheritTrailingComments.ts","../node_modules/react-intl/locale-data/ji.js","../node_modules/react-intl/locale-data/lu.js","../node_modules/react-intl/locale-data/nb.js","../../../../../../../../src/main.js","../node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js","../node_modules/lodash/_Hash.js","../node_modules/react-intl/locale-data/ss.js","../node_modules/react-intl/locale-data/lkt.js","../node_modules/has-symbols/shams.js","../webpack/bootstrap","../webpack/runtime/compat get default export","../webpack/runtime/define property getters","../webpack/runtime/global","../webpack/runtime/harmony module decorator","../webpack/runtime/hasOwnProperty shorthand","../webpack/runtime/make namespace object","../webpack/runtime/node module decorator","../webpack/runtime/publicPath","../node_modules/@microsoft/applicationinsights-web/node_modules/@microsoft/dynamicproto-js/lib/out/lib/src/DynamicProto.js","../node_modules/@microsoft/applicationinsights-analytics-js/node_modules/@microsoft/applicationinsights-shims/src/Constants.ts","../node_modules/@microsoft/applicationinsights-analytics-js/node_modules/@microsoft/applicationinsights-shims/src/Helpers.ts","../node_modules/@microsoft/applicationinsights-analytics-js/node_modules/@microsoft/applicationinsights-shims/src/TsLibShims.ts","../node_modules/@microsoft/applicationinsights-analytics-js/node_modules/@microsoft/dynamicproto-js/lib/out/lib/src/DynamicProto.js","../node_modules/@microsoft/applicationinsights-analytics-js/node_modules/@microsoft/applicationinsights-core-js/dist-esm/__DynamicConstants.js","../node_modules/@microsoft/applicationinsights-analytics-js/node_modules/@microsoft/applicationinsights-core-js/dist-esm/JavaScriptSDK/InternalConstants.js","../node_modules/@microsoft/applicationinsights-analytics-js/node_modules/@microsoft/applicationinsights-core-js/dist-esm/JavaScriptSDK/HelperFuncs.js","../node_modules/@microsoft/applicationinsights-analytics-js/node_modules/@microsoft/applicationinsights-common/dist-esm/__DynamicConstants.js","../node_modules/@microsoft/applicationinsights-analytics-js/node_modules/@microsoft/applicationinsights-common/dist-esm/HelperFuncs.js","../node_modules/@microsoft/applicationinsights-analytics-js/node_modules/@microsoft/applicationinsights-core-js/dist-esm/JavaScriptSDK/EnvUtils.js","../node_modules/@microsoft/applicationinsights-analytics-js/node_modules/@microsoft/applicationinsights-core-js/dist-esm/JavaScriptSDK/DbgExtensionUtils.js","../node_modules/@microsoft/applicationinsights-analytics-js/node_modules/@microsoft/applicationinsights-core-js/dist-esm/JavaScriptSDK/DiagnosticLogger.js","../node_modules/@microsoft/applicationinsights-analytics-js/node_modules/@microsoft/applicationinsights-core-js/dist-esm/JavaScriptSDK.Enums/EnumHelperFuncs.js","../node_modules/@microsoft/applicationinsights-analytics-js/node_modules/@microsoft/applicationinsights-common/dist-esm/Enums.js","../node_modules/@microsoft/applicationinsights-analytics-js/node_modules/@microsoft/applicationinsights-common/dist-esm/StorageHelperFuncs.js","../node_modules/@microsoft/applicationinsights-analytics-js/node_modules/@microsoft/applicationinsights-common/dist-esm/applicationinsights-common.js","../node_modules/@microsoft/applicationinsights-analytics-js/node_modules/@microsoft/applicationinsights-common/dist-esm/Telemetry/Common/DataSanitizer.js","../node_modules/@microsoft/applicationinsights-analytics-js/node_modules/@microsoft/applicationinsights-common/dist-esm/Constants.js","../node_modules/@microsoft/applicationinsights-analytics-js/node_modules/@microsoft/applicationinsights-common/dist-esm/TelemetryItemCreator.js","../node_modules/@microsoft/applicationinsights-analytics-js/node_modules/@microsoft/applicationinsights-common/dist-esm/Telemetry/Event.js","../node_modules/@microsoft/applicationinsights-analytics-js/node_modules/@microsoft/applicationinsights-common/dist-esm/Telemetry/Trace.js","../node_modules/@microsoft/applicationinsights-analytics-js/node_modules/@microsoft/applicationinsights-common/dist-esm/Telemetry/Common/DataPoint.js","../node_modules/@microsoft/applicationinsights-analytics-js/node_modules/@microsoft/applicationinsights-common/dist-esm/Telemetry/Metric.js","../node_modules/@microsoft/applicationinsights-analytics-js/node_modules/@microsoft/applicationinsights-common/dist-esm/Telemetry/PageView.js","../node_modules/@microsoft/applicationinsights-analytics-js/node_modules/@microsoft/applicationinsights-common/dist-esm/Telemetry/PageViewPerformance.js","../node_modules/@microsoft/applicationinsights-analytics-js/node_modules/@microsoft/applicationinsights-common/dist-esm/Telemetry/Exception.js","../node_modules/@microsoft/applicationinsights-analytics-js/node_modules/@microsoft/applicationinsights-core-js/dist-esm/JavaScriptSDK/CookieMgr.js","../node_modules/@microsoft/applicationinsights-analytics-js/node_modules/@microsoft/applicationinsights-core-js/dist-esm/JavaScriptSDK/RandomHelper.js","../node_modules/@microsoft/applicationinsights-analytics-js/node_modules/@microsoft/applicationinsights-core-js/dist-esm/JavaScriptSDK/DataCacheHelper.js","../node_modules/@microsoft/applicationinsights-analytics-js/node_modules/@microsoft/applicationinsights-core-js/dist-esm/JavaScriptSDK/EventHelpers.js","../node_modules/@microsoft/applicationinsights-analytics-js/node_modules/@microsoft/applicationinsights-core-js/dist-esm/JavaScriptSDK/CoreUtils.js","../node_modules/@microsoft/applicationinsights-analytics-js/node_modules/@microsoft/applicationinsights-core-js/dist-esm/JavaScriptSDK/W3cTraceParent.js","../node_modules/@microsoft/applicationinsights-analytics-js/node_modules/@microsoft/applicationinsights-common/dist-esm/DomHelperFuncs.js","../node_modules/@microsoft/applicationinsights-analytics-js/node_modules/@microsoft/applicationinsights-common/dist-esm/RequestResponseHeaders.js","../node_modules/@microsoft/applicationinsights-analytics-js/node_modules/@microsoft/applicationinsights-common/dist-esm/UrlHelperFuncs.js","../node_modules/@microsoft/applicationinsights-analytics-js/node_modules/@microsoft/applicationinsights-common/dist-esm/Util.js","../node_modules/@microsoft/applicationinsights-analytics-js/node_modules/@microsoft/applicationinsights-common/dist-esm/Telemetry/RemoteDependencyData.js","../node_modules/@microsoft/applicationinsights-analytics-js/node_modules/@microsoft/applicationinsights-core-js/dist-esm/JavaScriptSDK/PerfManager.js","../node_modules/@microsoft/applicationinsights-analytics-js/node_modules/@microsoft/applicationinsights-core-js/dist-esm/JavaScriptSDK/TelemetryHelpers.js","../node_modules/@microsoft/applicationinsights-analytics-js/node_modules/@microsoft/applicationinsights-core-js/dist-esm/JavaScriptSDK/ProcessTelemetryContext.js","../node_modules/@microsoft/applicationinsights-analytics-js/node_modules/@microsoft/applicationinsights-core-js/dist-esm/JavaScriptSDK/InstrumentHooks.js","../node_modules/@microsoft/applicationinsights-analytics-js/node_modules/@microsoft/applicationinsights-core-js/dist-esm/JavaScriptSDK/BaseTelemetryPlugin.js","../node_modules/@microsoft/applicationinsights-analytics-js/node_modules/@microsoft/applicationinsights-core-js/dist-esm/JavaScriptSDK/UnloadHandlerContainer.js","../node_modules/@microsoft/applicationinsights-analytics-js/dist-esm/__DynamicConstants.js","../node_modules/@microsoft/applicationinsights-analytics-js/dist-esm/JavaScriptSDK/Telemetry/PageViewManager.js","../node_modules/@microsoft/applicationinsights-analytics-js/dist-esm/JavaScriptSDK/Telemetry/PageViewPerformanceManager.js","../node_modules/@microsoft/applicationinsights-analytics-js/dist-esm/JavaScriptSDK/Telemetry/PageVisitTimeManager.js","../node_modules/@microsoft/applicationinsights-analytics-js/dist-esm/JavaScriptSDK/Timing.js","../node_modules/@microsoft/applicationinsights-analytics-js/dist-esm/JavaScriptSDK/AnalyticsPlugin.js","../node_modules/@microsoft/applicationinsights-channel-js/node_modules/@microsoft/applicationinsights-shims/src/Constants.ts","../node_modules/@microsoft/applicationinsights-channel-js/node_modules/@microsoft/applicationinsights-shims/src/Helpers.ts","../node_modules/@microsoft/applicationinsights-channel-js/node_modules/@microsoft/applicationinsights-shims/src/TsLibShims.ts","../node_modules/@microsoft/applicationinsights-channel-js/node_modules/@microsoft/dynamicproto-js/lib/out/lib/src/DynamicProto.js","../node_modules/@microsoft/applicationinsights-channel-js/node_modules/@microsoft/applicationinsights-common/dist-esm/Constants.js","../node_modules/@microsoft/applicationinsights-channel-js/node_modules/@microsoft/applicationinsights-common/dist-esm/__DynamicConstants.js","../node_modules/@microsoft/applicationinsights-channel-js/node_modules/@microsoft/applicationinsights-core-js/dist-esm/__DynamicConstants.js","../node_modules/@microsoft/applicationinsights-channel-js/node_modules/@microsoft/applicationinsights-core-js/dist-esm/JavaScriptSDK/InternalConstants.js","../node_modules/@microsoft/applicationinsights-channel-js/node_modules/@microsoft/applicationinsights-core-js/dist-esm/JavaScriptSDK/HelperFuncs.js","../node_modules/@microsoft/applicationinsights-channel-js/node_modules/@microsoft/applicationinsights-core-js/dist-esm/JavaScriptSDK/EnvUtils.js","../node_modules/@microsoft/applicationinsights-channel-js/node_modules/@microsoft/applicationinsights-core-js/dist-esm/JavaScriptSDK/DbgExtensionUtils.js","../node_modules/@microsoft/applicationinsights-channel-js/node_modules/@microsoft/applicationinsights-core-js/dist-esm/JavaScriptSDK/DiagnosticLogger.js","../node_modules/@microsoft/applicationinsights-channel-js/node_modules/@microsoft/applicationinsights-common/dist-esm/Telemetry/Common/DataSanitizer.js","../node_modules/@microsoft/applicationinsights-channel-js/node_modules/@microsoft/applicationinsights-common/dist-esm/Telemetry/Event.js","../node_modules/@microsoft/applicationinsights-channel-js/node_modules/@microsoft/applicationinsights-common/dist-esm/Telemetry/Trace.js","../node_modules/@microsoft/applicationinsights-channel-js/node_modules/@microsoft/applicationinsights-common/dist-esm/HelperFuncs.js","../node_modules/@microsoft/applicationinsights-channel-js/node_modules/@microsoft/applicationinsights-common/dist-esm/Telemetry/PageView.js","../node_modules/@microsoft/applicationinsights-channel-js/node_modules/@microsoft/applicationinsights-common/dist-esm/Telemetry/PageViewPerformance.js","../node_modules/@microsoft/applicationinsights-channel-js/node_modules/@microsoft/applicationinsights-common/dist-esm/Telemetry/Exception.js","../node_modules/@microsoft/applicationinsights-channel-js/node_modules/@microsoft/applicationinsights-common/dist-esm/Telemetry/Common/DataPoint.js","../node_modules/@microsoft/applicationinsights-channel-js/node_modules/@microsoft/applicationinsights-common/dist-esm/Telemetry/Metric.js","../node_modules/@microsoft/applicationinsights-channel-js/node_modules/@microsoft/applicationinsights-core-js/dist-esm/JavaScriptSDK/CookieMgr.js","../node_modules/@microsoft/applicationinsights-channel-js/node_modules/@microsoft/applicationinsights-core-js/dist-esm/JavaScriptSDK/RandomHelper.js","../node_modules/@microsoft/applicationinsights-channel-js/node_modules/@microsoft/applicationinsights-core-js/dist-esm/JavaScriptSDK/DataCacheHelper.js","../node_modules/@microsoft/applicationinsights-channel-js/node_modules/@microsoft/applicationinsights-core-js/dist-esm/JavaScriptSDK/EventHelpers.js","../node_modules/@microsoft/applicationinsights-channel-js/node_modules/@microsoft/applicationinsights-core-js/dist-esm/JavaScriptSDK.Enums/EnumHelperFuncs.js","../node_modules/@microsoft/applicationinsights-channel-js/node_modules/@microsoft/applicationinsights-common/dist-esm/RequestResponseHeaders.js","../node_modules/@microsoft/applicationinsights-channel-js/node_modules/@microsoft/applicationinsights-common/dist-esm/Enums.js","../node_modules/@microsoft/applicationinsights-channel-js/node_modules/@microsoft/applicationinsights-common/dist-esm/StorageHelperFuncs.js","../node_modules/@microsoft/applicationinsights-channel-js/node_modules/@microsoft/applicationinsights-common/dist-esm/UrlHelperFuncs.js","../node_modules/@microsoft/applicationinsights-channel-js/node_modules/@microsoft/applicationinsights-common/dist-esm/Util.js","../node_modules/@microsoft/applicationinsights-channel-js/node_modules/@microsoft/applicationinsights-common/dist-esm/Telemetry/RemoteDependencyData.js","../node_modules/@microsoft/applicationinsights-channel-js/node_modules/@microsoft/applicationinsights-core-js/dist-esm/JavaScriptSDK/PerfManager.js","../node_modules/@microsoft/applicationinsights-channel-js/node_modules/@microsoft/applicationinsights-core-js/dist-esm/JavaScriptSDK/TelemetryHelpers.js","../node_modules/@microsoft/applicationinsights-channel-js/node_modules/@microsoft/applicationinsights-core-js/dist-esm/JavaScriptSDK/ProcessTelemetryContext.js","../node_modules/@microsoft/applicationinsights-channel-js/node_modules/@microsoft/applicationinsights-core-js/dist-esm/JavaScriptSDK/BaseTelemetryPlugin.js","../node_modules/@microsoft/applicationinsights-channel-js/node_modules/@microsoft/applicationinsights-core-js/dist-esm/JavaScriptSDK/UnloadHandlerContainer.js","../node_modules/@microsoft/applicationinsights-channel-js/node_modules/@microsoft/applicationinsights-common/dist-esm/Interfaces/Contracts/ContextTagKeys.js","../node_modules/@microsoft/applicationinsights-channel-js/node_modules/@microsoft/applicationinsights-common/dist-esm/Interfaces/PartAExtensions.js","../node_modules/@microsoft/applicationinsights-channel-js/node_modules/@microsoft/applicationinsights-common/dist-esm/Telemetry/Common/Envelope.js","../node_modules/@microsoft/applicationinsights-channel-js/node_modules/@microsoft/applicationinsights-common/dist-esm/Telemetry/Common/Data.js","../node_modules/@microsoft/applicationinsights-channel-js/dist-esm/InternalConstants.js","../node_modules/@microsoft/applicationinsights-channel-js/dist-esm/__DynamicConstants.js","../node_modules/@microsoft/applicationinsights-channel-js/dist-esm/EnvelopeCreator.js","../node_modules/@microsoft/applicationinsights-channel-js/dist-esm/Offline.js","../node_modules/@microsoft/applicationinsights-channel-js/dist-esm/SendBuffer.js","../node_modules/@microsoft/applicationinsights-channel-js/dist-esm/Sender.js","../node_modules/@microsoft/applicationinsights-channel-js/dist-esm/Serializer.js","../node_modules/@microsoft/applicationinsights-channel-js/dist-esm/TelemetryProcessors/SamplingScoreGenerators/HashCodeScoreGenerator.js","../node_modules/@microsoft/applicationinsights-channel-js/dist-esm/TelemetryProcessors/SamplingScoreGenerators/SamplingScoreGenerator.js","../node_modules/@microsoft/applicationinsights-channel-js/dist-esm/TelemetryProcessors/Sample.js","../node_modules/@microsoft/applicationinsights-channel-js/node_modules/@microsoft/applicationinsights-common/dist-esm/applicationinsights-common.js","../node_modules/@microsoft/applicationinsights-web/node_modules/@microsoft/applicationinsights-common/dist-esm/applicationinsights-common.js","../node_modules/@microsoft/applicationinsights-web/node_modules/@microsoft/applicationinsights-shims/src/Constants.ts","../node_modules/@microsoft/applicationinsights-web/node_modules/@microsoft/applicationinsights-shims/src/Helpers.ts","../node_modules/@microsoft/applicationinsights-web/node_modules/@microsoft/applicationinsights-core-js/dist-esm/__DynamicConstants.js","../node_modules/@microsoft/applicationinsights-web/node_modules/@microsoft/applicationinsights-core-js/dist-esm/JavaScriptSDK/InternalConstants.js","../node_modules/@microsoft/applicationinsights-web/node_modules/@microsoft/applicationinsights-core-js/dist-esm/JavaScriptSDK/HelperFuncs.js","../node_modules/@microsoft/applicationinsights-web/node_modules/@microsoft/applicationinsights-core-js/dist-esm/JavaScriptSDK/EnvUtils.js","../node_modules/@microsoft/applicationinsights-web/node_modules/@microsoft/applicationinsights-core-js/dist-esm/JavaScriptSDK/DbgExtensionUtils.js","../node_modules/@microsoft/applicationinsights-web/node_modules/@microsoft/applicationinsights-core-js/dist-esm/JavaScriptSDK/DiagnosticLogger.js","../node_modules/@microsoft/applicationinsights-web/node_modules/@microsoft/applicationinsights-core-js/dist-esm/JavaScriptSDK/CookieMgr.js","../node_modules/@microsoft/applicationinsights-web/node_modules/@microsoft/applicationinsights-core-js/dist-esm/JavaScriptSDK/RandomHelper.js","../node_modules/@microsoft/applicationinsights-web/node_modules/@microsoft/applicationinsights-core-js/dist-esm/JavaScriptSDK/DataCacheHelper.js","../node_modules/@microsoft/applicationinsights-web/node_modules/@microsoft/applicationinsights-core-js/dist-esm/JavaScriptSDK/EventHelpers.js","../node_modules/@microsoft/applicationinsights-web/node_modules/@microsoft/applicationinsights-common/dist-esm/Constants.js","../node_modules/@microsoft/applicationinsights-web/node_modules/@microsoft/applicationinsights-common/dist-esm/__DynamicConstants.js","../node_modules/@microsoft/applicationinsights-web/node_modules/@microsoft/applicationinsights-common/dist-esm/HelperFuncs.js","../node_modules/@microsoft/applicationinsights-web/node_modules/@microsoft/applicationinsights-core-js/dist-esm/JavaScriptSDK.Enums/EnumHelperFuncs.js","../node_modules/@microsoft/applicationinsights-web/node_modules/@microsoft/applicationinsights-common/dist-esm/RequestResponseHeaders.js","../node_modules/@microsoft/applicationinsights-web/node_modules/@microsoft/applicationinsights-common/dist-esm/Telemetry/Common/DataSanitizer.js","../node_modules/@microsoft/applicationinsights-web/node_modules/@microsoft/applicationinsights-common/dist-esm/Enums.js","../node_modules/@microsoft/applicationinsights-web/node_modules/@microsoft/applicationinsights-common/dist-esm/UrlHelperFuncs.js","../node_modules/@microsoft/applicationinsights-web/node_modules/@microsoft/applicationinsights-common/dist-esm/ConnectionStringParser.js","../node_modules/@microsoft/applicationinsights-web/node_modules/@microsoft/applicationinsights-common/dist-esm/Telemetry/Event.js","../node_modules/@microsoft/applicationinsights-web/node_modules/@microsoft/applicationinsights-shims/src/TsLibShims.ts","../node_modules/@microsoft/applicationinsights-web/node_modules/@microsoft/applicationinsights-common/dist-esm/Telemetry/Exception.js","../node_modules/@microsoft/applicationinsights-web/node_modules/@microsoft/applicationinsights-common/dist-esm/Telemetry/Common/DataPoint.js","../node_modules/@microsoft/applicationinsights-web/node_modules/@microsoft/applicationinsights-common/dist-esm/Telemetry/Metric.js","../node_modules/@microsoft/applicationinsights-web/node_modules/@microsoft/applicationinsights-common/dist-esm/Telemetry/PageView.js","../node_modules/@microsoft/applicationinsights-web/node_modules/@microsoft/applicationinsights-common/dist-esm/Telemetry/RemoteDependencyData.js","../node_modules/@microsoft/applicationinsights-web/node_modules/@microsoft/applicationinsights-common/dist-esm/Util.js","../node_modules/@microsoft/applicationinsights-web/node_modules/@microsoft/applicationinsights-common/dist-esm/Telemetry/Trace.js","../node_modules/@microsoft/applicationinsights-web/node_modules/@microsoft/applicationinsights-common/dist-esm/Telemetry/PageViewPerformance.js","../node_modules/@microsoft/applicationinsights-web/node_modules/@microsoft/applicationinsights-common/dist-esm/Interfaces/Contracts/SeverityLevel.js","../node_modules/@microsoft/applicationinsights-web/node_modules/@microsoft/applicationinsights-common/dist-esm/Interfaces/IConfig.js","../node_modules/@microsoft/applicationinsights-web/node_modules/@microsoft/applicationinsights-common/dist-esm/Interfaces/Contracts/ContextTagKeys.js","../node_modules/@microsoft/applicationinsights-web/node_modules/@microsoft/applicationinsights-common/dist-esm/TelemetryItemCreator.js","../node_modules/@microsoft/applicationinsights-web/node_modules/@microsoft/applicationinsights-common/dist-esm/Interfaces/PartAExtensions.js","../node_modules/@microsoft/applicationinsights-web/node_modules/@microsoft/applicationinsights-core-js/dist-esm/JavaScriptSDK/PerfManager.js","../node_modules/@microsoft/applicationinsights-web/node_modules/@microsoft/applicationinsights-core-js/dist-esm/JavaScriptSDK/W3cTraceParent.js","../node_modules/@microsoft/applicationinsights-web/node_modules/@microsoft/applicationinsights-core-js/dist-esm/JavaScriptSDK/TelemetryHelpers.js","../node_modules/@microsoft/applicationinsights-web/node_modules/@microsoft/applicationinsights-core-js/dist-esm/JavaScriptSDK/ProcessTelemetryContext.js","../node_modules/@microsoft/applicationinsights-web/node_modules/@microsoft/applicationinsights-core-js/dist-esm/JavaScriptSDK/ChannelController.js","../node_modules/@microsoft/applicationinsights-web/node_modules/@microsoft/applicationinsights-core-js/dist-esm/JavaScriptSDK/UnloadHandlerContainer.js","../node_modules/@microsoft/applicationinsights-web/node_modules/@microsoft/applicationinsights-core-js/dist-esm/JavaScriptSDK/BaseTelemetryPlugin.js","../node_modules/@microsoft/applicationinsights-web/node_modules/@microsoft/applicationinsights-core-js/dist-esm/JavaScriptSDK/TelemetryInitializerPlugin.js","../node_modules/@microsoft/applicationinsights-web/node_modules/@microsoft/applicationinsights-core-js/dist-esm/JavaScriptSDK/BaseCore.js","../node_modules/@microsoft/applicationinsights-web/node_modules/@microsoft/applicationinsights-core-js/dist-esm/JavaScriptSDK/NotificationManager.js","../node_modules/@microsoft/applicationinsights-web/node_modules/@microsoft/applicationinsights-core-js/dist-esm/JavaScriptSDK/AppInsightsCore.js","../node_modules/@microsoft/applicationinsights-dependencies-js/node_modules/@microsoft/applicationinsights-shims/src/Constants.ts","../node_modules/@microsoft/applicationinsights-dependencies-js/node_modules/@microsoft/applicationinsights-shims/src/Helpers.ts","../node_modules/@microsoft/applicationinsights-dependencies-js/node_modules/@microsoft/applicationinsights-shims/src/TsLibShims.ts","../node_modules/@microsoft/applicationinsights-dependencies-js/node_modules/@microsoft/dynamicproto-js/lib/out/lib/src/DynamicProto.js","../node_modules/@microsoft/applicationinsights-dependencies-js/node_modules/@microsoft/applicationinsights-core-js/dist-esm/__DynamicConstants.js","../node_modules/@microsoft/applicationinsights-dependencies-js/node_modules/@microsoft/applicationinsights-core-js/dist-esm/JavaScriptSDK/InternalConstants.js","../node_modules/@microsoft/applicationinsights-dependencies-js/node_modules/@microsoft/applicationinsights-core-js/dist-esm/JavaScriptSDK/HelperFuncs.js","../node_modules/@microsoft/applicationinsights-dependencies-js/node_modules/@microsoft/applicationinsights-core-js/dist-esm/JavaScriptSDK/EnvUtils.js","../node_modules/@microsoft/applicationinsights-dependencies-js/node_modules/@microsoft/applicationinsights-core-js/dist-esm/JavaScriptSDK/DbgExtensionUtils.js","../node_modules/@microsoft/applicationinsights-dependencies-js/node_modules/@microsoft/applicationinsights-core-js/dist-esm/JavaScriptSDK/DiagnosticLogger.js","../node_modules/@microsoft/applicationinsights-dependencies-js/node_modules/@microsoft/applicationinsights-core-js/dist-esm/JavaScriptSDK/CookieMgr.js","../node_modules/@microsoft/applicationinsights-dependencies-js/node_modules/@microsoft/applicationinsights-core-js/dist-esm/JavaScriptSDK/RandomHelper.js","../node_modules/@microsoft/applicationinsights-dependencies-js/node_modules/@microsoft/applicationinsights-core-js/dist-esm/JavaScriptSDK/DataCacheHelper.js","../node_modules/@microsoft/applicationinsights-dependencies-js/node_modules/@microsoft/applicationinsights-core-js/dist-esm/JavaScriptSDK/EventHelpers.js","../node_modules/@microsoft/applicationinsights-dependencies-js/node_modules/@microsoft/applicationinsights-core-js/dist-esm/JavaScriptSDK/CoreUtils.js","../node_modules/@microsoft/applicationinsights-dependencies-js/node_modules/@microsoft/applicationinsights-core-js/dist-esm/JavaScriptSDK/W3cTraceParent.js","../node_modules/@microsoft/applicationinsights-dependencies-js/node_modules/@microsoft/applicationinsights-common/dist-esm/Constants.js","../node_modules/@microsoft/applicationinsights-dependencies-js/node_modules/@microsoft/applicationinsights-common/dist-esm/__DynamicConstants.js","../node_modules/@microsoft/applicationinsights-dependencies-js/node_modules/@microsoft/applicationinsights-common/dist-esm/HelperFuncs.js","../node_modules/@microsoft/applicationinsights-dependencies-js/node_modules/@microsoft/applicationinsights-core-js/dist-esm/JavaScriptSDK.Enums/EnumHelperFuncs.js","../node_modules/@microsoft/applicationinsights-dependencies-js/node_modules/@microsoft/applicationinsights-common/dist-esm/RequestResponseHeaders.js","../node_modules/@microsoft/applicationinsights-dependencies-js/node_modules/@microsoft/applicationinsights-common/dist-esm/Telemetry/Common/DataSanitizer.js","../node_modules/@microsoft/applicationinsights-dependencies-js/node_modules/@microsoft/applicationinsights-common/dist-esm/Enums.js","../node_modules/@microsoft/applicationinsights-dependencies-js/node_modules/@microsoft/applicationinsights-common/dist-esm/UrlHelperFuncs.js","../node_modules/@microsoft/applicationinsights-dependencies-js/node_modules/@microsoft/applicationinsights-common/dist-esm/Util.js","../node_modules/@microsoft/applicationinsights-dependencies-js/node_modules/@microsoft/applicationinsights-common/dist-esm/TelemetryItemCreator.js","../node_modules/@microsoft/applicationinsights-dependencies-js/node_modules/@microsoft/applicationinsights-common/dist-esm/Telemetry/RemoteDependencyData.js","../node_modules/@microsoft/applicationinsights-dependencies-js/node_modules/@microsoft/applicationinsights-common/dist-esm/applicationinsights-common.js","../node_modules/@microsoft/applicationinsights-dependencies-js/node_modules/@microsoft/applicationinsights-core-js/dist-esm/JavaScriptSDK/PerfManager.js","../node_modules/@microsoft/applicationinsights-dependencies-js/node_modules/@microsoft/applicationinsights-core-js/dist-esm/JavaScriptSDK/TelemetryHelpers.js","../node_modules/@microsoft/applicationinsights-dependencies-js/node_modules/@microsoft/applicationinsights-core-js/dist-esm/JavaScriptSDK/ProcessTelemetryContext.js","../node_modules/@microsoft/applicationinsights-dependencies-js/node_modules/@microsoft/applicationinsights-core-js/dist-esm/JavaScriptSDK/InstrumentHooks.js","../node_modules/@microsoft/applicationinsights-dependencies-js/node_modules/@microsoft/applicationinsights-core-js/dist-esm/JavaScriptSDK/BaseTelemetryPlugin.js","../node_modules/@microsoft/applicationinsights-dependencies-js/node_modules/@microsoft/applicationinsights-core-js/dist-esm/JavaScriptSDK/UnloadHandlerContainer.js","../node_modules/@microsoft/applicationinsights-dependencies-js/dist-esm/InternalConstants.js","../node_modules/@microsoft/applicationinsights-dependencies-js/dist-esm/__DynamicConstants.js","../node_modules/@microsoft/applicationinsights-dependencies-js/node_modules/@microsoft/applicationinsights-common/dist-esm/Interfaces/Contracts/ContextTagKeys.js","../node_modules/@microsoft/applicationinsights-dependencies-js/node_modules/@microsoft/applicationinsights-common/dist-esm/Interfaces/PartAExtensions.js","../node_modules/@microsoft/applicationinsights-dependencies-js/dist-esm/ajaxRecord.js","../node_modules/@microsoft/applicationinsights-dependencies-js/dist-esm/ajax.js","../node_modules/@microsoft/applicationinsights-properties-js/node_modules/@microsoft/applicationinsights-shims/src/Constants.ts","../node_modules/@microsoft/applicationinsights-properties-js/node_modules/@microsoft/applicationinsights-shims/src/Helpers.ts","../node_modules/@microsoft/applicationinsights-properties-js/node_modules/@microsoft/applicationinsights-shims/src/TsLibShims.ts","../node_modules/@microsoft/applicationinsights-properties-js/node_modules/@microsoft/dynamicproto-js/lib/out/lib/src/DynamicProto.js","../node_modules/@microsoft/applicationinsights-properties-js/node_modules/@microsoft/applicationinsights-common/dist-esm/applicationinsights-common.js","../node_modules/@microsoft/applicationinsights-properties-js/node_modules/@microsoft/applicationinsights-common/dist-esm/Constants.js","../node_modules/@microsoft/applicationinsights-properties-js/node_modules/@microsoft/applicationinsights-core-js/dist-esm/__DynamicConstants.js","../node_modules/@microsoft/applicationinsights-properties-js/node_modules/@microsoft/applicationinsights-core-js/dist-esm/JavaScriptSDK/InternalConstants.js","../node_modules/@microsoft/applicationinsights-properties-js/node_modules/@microsoft/applicationinsights-core-js/dist-esm/JavaScriptSDK/HelperFuncs.js","../node_modules/@microsoft/applicationinsights-properties-js/node_modules/@microsoft/applicationinsights-common/dist-esm/__DynamicConstants.js","../node_modules/@microsoft/applicationinsights-properties-js/node_modules/@microsoft/applicationinsights-common/dist-esm/HelperFuncs.js","../node_modules/@microsoft/applicationinsights-properties-js/node_modules/@microsoft/applicationinsights-core-js/dist-esm/JavaScriptSDK/EnvUtils.js","../node_modules/@microsoft/applicationinsights-properties-js/node_modules/@microsoft/applicationinsights-core-js/dist-esm/JavaScriptSDK/DbgExtensionUtils.js","../node_modules/@microsoft/applicationinsights-properties-js/node_modules/@microsoft/applicationinsights-core-js/dist-esm/JavaScriptSDK/DiagnosticLogger.js","../node_modules/@microsoft/applicationinsights-properties-js/node_modules/@microsoft/applicationinsights-common/dist-esm/Telemetry/Common/DataSanitizer.js","../node_modules/@microsoft/applicationinsights-properties-js/node_modules/@microsoft/applicationinsights-common/dist-esm/Telemetry/PageView.js","../node_modules/@microsoft/applicationinsights-properties-js/node_modules/@microsoft/applicationinsights-core-js/dist-esm/JavaScriptSDK.Enums/EnumHelperFuncs.js","../node_modules/@microsoft/applicationinsights-properties-js/node_modules/@microsoft/applicationinsights-common/dist-esm/Enums.js","../node_modules/@microsoft/applicationinsights-properties-js/node_modules/@microsoft/applicationinsights-common/dist-esm/StorageHelperFuncs.js","../node_modules/@microsoft/applicationinsights-properties-js/node_modules/@microsoft/applicationinsights-core-js/dist-esm/JavaScriptSDK/CookieMgr.js","../node_modules/@microsoft/applicationinsights-properties-js/node_modules/@microsoft/applicationinsights-core-js/dist-esm/JavaScriptSDK/RandomHelper.js","../node_modules/@microsoft/applicationinsights-properties-js/node_modules/@microsoft/applicationinsights-core-js/dist-esm/JavaScriptSDK/DataCacheHelper.js","../node_modules/@microsoft/applicationinsights-properties-js/node_modules/@microsoft/applicationinsights-core-js/dist-esm/JavaScriptSDK/EventHelpers.js","../node_modules/@microsoft/applicationinsights-properties-js/node_modules/@microsoft/applicationinsights-core-js/dist-esm/JavaScriptSDK/CoreUtils.js","../node_modules/@microsoft/applicationinsights-properties-js/node_modules/@microsoft/applicationinsights-core-js/dist-esm/JavaScriptSDK/W3cTraceParent.js","../node_modules/@microsoft/applicationinsights-properties-js/node_modules/@microsoft/applicationinsights-common/dist-esm/RequestResponseHeaders.js","../node_modules/@microsoft/applicationinsights-properties-js/node_modules/@microsoft/applicationinsights-common/dist-esm/UrlHelperFuncs.js","../node_modules/@microsoft/applicationinsights-properties-js/node_modules/@microsoft/applicationinsights-core-js/dist-esm/JavaScriptSDK/PerfManager.js","../node_modules/@microsoft/applicationinsights-properties-js/node_modules/@microsoft/applicationinsights-core-js/dist-esm/JavaScriptSDK/TelemetryHelpers.js","../node_modules/@microsoft/applicationinsights-properties-js/node_modules/@microsoft/applicationinsights-core-js/dist-esm/JavaScriptSDK/ProcessTelemetryContext.js","../node_modules/@microsoft/applicationinsights-properties-js/node_modules/@microsoft/applicationinsights-core-js/dist-esm/JavaScriptSDK/BaseTelemetryPlugin.js","../node_modules/@microsoft/applicationinsights-properties-js/node_modules/@microsoft/applicationinsights-core-js/dist-esm/JavaScriptSDK/UnloadHandlerContainer.js","../node_modules/@microsoft/applicationinsights-properties-js/node_modules/@microsoft/applicationinsights-common/dist-esm/Interfaces/Contracts/ContextTagKeys.js","../node_modules/@microsoft/applicationinsights-properties-js/node_modules/@microsoft/applicationinsights-common/dist-esm/Interfaces/PartAExtensions.js","../node_modules/@microsoft/applicationinsights-properties-js/dist-esm/Context/Application.js","../node_modules/@microsoft/applicationinsights-properties-js/dist-esm/Context/Device.js","../node_modules/@microsoft/applicationinsights-properties-js/dist-esm/__DynamicConstants.js","../node_modules/@microsoft/applicationinsights-properties-js/dist-esm/Context/Internal.js","../node_modules/@microsoft/applicationinsights-properties-js/dist-esm/Context/Location.js","../node_modules/@microsoft/applicationinsights-properties-js/dist-esm/Context/Session.js","../node_modules/@microsoft/applicationinsights-properties-js/dist-esm/Context/TelemetryTrace.js","../node_modules/@microsoft/applicationinsights-properties-js/dist-esm/Context/User.js","../node_modules/@microsoft/applicationinsights-properties-js/dist-esm/TelemetryContext.js","../node_modules/@microsoft/applicationinsights-properties-js/dist-esm/PropertiesPlugin.js","../node_modules/@microsoft/applicationinsights-properties-js/node_modules/@microsoft/applicationinsights-common/dist-esm/Util.js","../node_modules/@microsoft/applicationinsights-web/dist-esm/InternalConstants.js","../node_modules/@microsoft/applicationinsights-web/dist-esm/Initialization.js","../node_modules/@microsoft/applicationinsights-web/dist-esm/__DynamicConstants.js","https://raw.githubusercontent.com/nevware21/ts-utils/refs/tags/0.11.8/lib/src/internal/treeshake_helpers.ts","https://raw.githubusercontent.com/nevware21/ts-utils/refs/tags/0.11.8/lib/src/internal/constants.ts","https://raw.githubusercontent.com/nevware21/ts-utils/refs/tags/0.11.8/lib/src/helpers/safe.ts","https://raw.githubusercontent.com/nevware21/ts-utils/refs/tags/0.11.8/lib/src/helpers/base.ts","https://raw.githubusercontent.com/nevware21/ts-utils/refs/tags/0.11.8/lib/src/helpers/safe_get.ts","https://raw.githubusercontent.com/nevware21/ts-utils/refs/tags/0.11.8/lib/src/object/get_own_prop_desc.ts","https://raw.githubusercontent.com/nevware21/ts-utils/refs/tags/0.11.8/lib/src/object/has_own_prop.ts","https://raw.githubusercontent.com/nevware21/ts-utils/refs/tags/0.11.8/lib/src/object/has_own.ts","https://raw.githubusercontent.com/nevware21/ts-utils/refs/tags/0.11.8/lib/src/object/for_each_key.ts","https://raw.githubusercontent.com/nevware21/ts-utils/refs/tags/0.11.8/lib/src/object/define.ts","https://raw.githubusercontent.com/nevware21/ts-utils/refs/tags/0.11.8/lib/src/internal/map.ts","https://raw.githubusercontent.com/nevware21/ts-utils/refs/tags/0.11.8/lib/src/string/as_string.ts","https://raw.githubusercontent.com/nevware21/ts-utils/refs/tags/0.11.8/lib/src/helpers/diagnostics.ts","https://raw.githubusercontent.com/nevware21/ts-utils/refs/tags/0.11.8/lib/src/helpers/throw.ts","https://raw.githubusercontent.com/nevware21/ts-utils/refs/tags/0.11.8/lib/src/object/object.ts","https://raw.githubusercontent.com/nevware21/ts-utils/refs/tags/0.11.8/lib/src/helpers/enum.ts","https://raw.githubusercontent.com/nevware21/ts-utils/refs/tags/0.11.8/lib/src/symbol/well_known.ts","https://raw.githubusercontent.com/nevware21/ts-utils/refs/tags/0.11.8/lib/src/internal/global.ts","https://raw.githubusercontent.com/nevware21/ts-utils/refs/tags/0.11.8/lib/src/internal/unwrapFunction.ts","https://raw.githubusercontent.com/nevware21/ts-utils/refs/tags/0.11.8/lib/src/math/min_max.ts","https://raw.githubusercontent.com/nevware21/ts-utils/refs/tags/0.11.8/lib/src/string/substring.ts","https://raw.githubusercontent.com/nevware21/ts-utils/refs/tags/0.11.8/lib/src/polyfills/symbol.ts","https://raw.githubusercontent.com/nevware21/ts-utils/refs/tags/0.11.8/lib/src/helpers/lazy.ts","https://raw.githubusercontent.com/nevware21/ts-utils/refs/tags/0.11.8/lib/src/helpers/cache.ts","https://raw.githubusercontent.com/nevware21/ts-utils/refs/tags/0.11.8/lib/src/helpers/environment.ts","https://raw.githubusercontent.com/nevware21/ts-utils/refs/tags/0.11.8/lib/src/symbol/symbol.ts","https://raw.githubusercontent.com/nevware21/ts-utils/refs/tags/0.11.8/lib/src/iterator/forOf.ts","https://raw.githubusercontent.com/nevware21/ts-utils/refs/tags/0.11.8/lib/src/iterator/iterator.ts","https://raw.githubusercontent.com/nevware21/ts-utils/refs/tags/0.11.8/lib/src/funcs/funcs.ts","https://raw.githubusercontent.com/nevware21/ts-utils/refs/tags/0.11.8/lib/src/array/forEach.ts","https://raw.githubusercontent.com/nevware21/ts-utils/refs/tags/0.11.8/lib/src/array/indexOf.ts","https://raw.githubusercontent.com/nevware21/ts-utils/refs/tags/0.11.8/lib/src/object/set_proto.ts","https://raw.githubusercontent.com/nevware21/ts-utils/refs/tags/0.11.8/lib/src/object/create.ts","https://raw.githubusercontent.com/nevware21/ts-utils/refs/tags/0.11.8/lib/src/helpers/customError.ts","https://raw.githubusercontent.com/nevware21/ts-utils/refs/tags/0.11.8/lib/src/helpers/date.ts","https://raw.githubusercontent.com/nevware21/ts-utils/refs/tags/0.11.8/lib/src/polyfills/trim.ts","https://raw.githubusercontent.com/nevware21/ts-utils/refs/tags/0.11.8/lib/src/string/trim.ts","https://raw.githubusercontent.com/nevware21/ts-utils/refs/tags/0.11.8/lib/src/math/floor.ts","https://raw.githubusercontent.com/nevware21/ts-utils/refs/tags/0.11.8/lib/src/helpers/encode.ts","https://raw.githubusercontent.com/nevware21/ts-utils/refs/tags/0.11.8/lib/src/object/is_plain_object.ts","https://raw.githubusercontent.com/nevware21/ts-utils/refs/tags/0.11.8/lib/src/string/split.ts","https://raw.githubusercontent.com/nevware21/ts-utils/refs/tags/0.11.8/lib/src/string/ends_with.ts","https://raw.githubusercontent.com/nevware21/ts-utils/refs/tags/0.11.8/lib/src/string/index_of.ts","https://raw.githubusercontent.com/nevware21/ts-utils/refs/tags/0.11.8/lib/src/timer/handler.ts","https://raw.githubusercontent.com/nevware21/ts-utils/refs/tags/0.11.8/lib/src/timer/timeout.ts","../node_modules/@microsoft/applicationinsights-shims/src/Constants.ts","../node_modules/@microsoft/applicationinsights-shims/src/TsLibShims.ts","../node_modules/@microsoft/dynamicproto-js/src/DynamicProto.ts","../node_modules/@microsoft/applicationinsights-common/dist-es5/applicationinsights-common.js","../node_modules/@microsoft/applicationinsights-core-js/dist-es5/__DynamicConstants.js","../node_modules/@microsoft/applicationinsights-core-js/dist-es5/JavaScriptSDK/InternalConstants.js","../node_modules/@microsoft/applicationinsights-core-js/dist-es5/JavaScriptSDK/HelperFuncs.js","../node_modules/@microsoft/applicationinsights-core-js/dist-es5/JavaScriptSDK/EnvUtils.js","../node_modules/@microsoft/applicationinsights-core-js/dist-es5/JavaScriptSDK/RandomHelper.js","../node_modules/@microsoft/applicationinsights-core-js/dist-es5/JavaScriptSDK/DataCacheHelper.js","../node_modules/@microsoft/applicationinsights-core-js/dist-es5/Config/ConfigDefaults.js","../node_modules/@microsoft/applicationinsights-core-js/dist-es5/Config/DynamicSupport.js","../node_modules/@microsoft/applicationinsights-core-js/dist-es5/Config/DynamicProperty.js","../node_modules/@microsoft/applicationinsights-core-js/dist-es5/JavaScriptSDK/AggregationError.js","../node_modules/@microsoft/applicationinsights-core-js/dist-es5/Config/DynamicState.js","../node_modules/@microsoft/applicationinsights-core-js/dist-es5/Config/DynamicConfig.js","../node_modules/@microsoft/applicationinsights-core-js/dist-es5/JavaScriptSDK/DbgExtensionUtils.js","../node_modules/@microsoft/applicationinsights-core-js/dist-es5/JavaScriptSDK/DiagnosticLogger.js","../node_modules/@microsoft/applicationinsights-core-js/dist-es5/JavaScriptSDK/CookieMgr.js","../node_modules/@microsoft/applicationinsights-core-js/dist-es5/Config/ConfigDefaultHelpers.js","../node_modules/@microsoft/applicationinsights-core-js/dist-es5/JavaScriptSDK/PerfManager.js","../node_modules/@microsoft/applicationinsights-core-js/dist-es5/JavaScriptSDK/TelemetryHelpers.js","../node_modules/@microsoft/applicationinsights-core-js/dist-es5/JavaScriptSDK/ProcessTelemetryContext.js","../node_modules/@microsoft/applicationinsights-core-js/dist-es5/JavaScriptSDK/UnloadHookContainer.js","../node_modules/@microsoft/applicationinsights-core-js/dist-es5/JavaScriptSDK/BaseTelemetryPlugin.js","https://raw.githubusercontent.com/nevware21/ts-utils/refs/tags/0.11.8/lib/src/array/append.ts","../node_modules/@microsoft/applicationinsights-core-js/dist-es5/JavaScriptSDK/UnloadHandlerContainer.js","../node_modules/@microsoft/applicationinsights-react-js/dist-esm/ReactPlugin.js","../node_modules/@microsoft/applicationinsights-react-js/dist-esm/withAITracking.js","utils/history.js","../node_modules/react-redux/es/components/Context.js","../node_modules/react-redux/es/utils/batch.js","../node_modules/react-redux/es/utils/Subscription.js","../node_modules/react-redux/es/utils/useIsomorphicLayoutEffect.js","../node_modules/react-redux/es/components/Provider.js","../node_modules/react-redux/es/components/connectAdvanced.js","../node_modules/react-redux/es/utils/shallowEqual.js","../node_modules/react-redux/es/connect/wrapMapToProps.js","../node_modules/react-redux/es/connect/mapDispatchToProps.js","../node_modules/react-redux/es/utils/bindActionCreators.js","../node_modules/react-redux/es/connect/mapStateToProps.js","../node_modules/react-redux/es/connect/mergeProps.js","../node_modules/react-redux/es/connect/selectorFactory.js","../node_modules/react-redux/es/connect/connect.js","../node_modules/react-redux/es/hooks/useSelector.js","../node_modules/react-redux/es/index.js","../node_modules/connected-react-router/esm/actions.js","../node_modules/connected-react-router/esm/selectors.js","../node_modules/connected-react-router/esm/ConnectedRouter.js","../node_modules/connected-react-router/esm/reducer.js","../node_modules/connected-react-router/esm/structure/plain/index.js","../node_modules/connected-react-router/esm/structure/plain/getIn.js","../node_modules/connected-react-router/esm/index.js","models/base-model.js","models/user.js","utils/dateUtil.js","models/project-item.js","../node_modules/axios/lib/helpers/bind.js","../node_modules/axios/lib/utils.js","../node_modules/axios/lib/core/AxiosError.js","../node_modules/axios/lib/helpers/toFormData.js","../node_modules/axios/lib/helpers/AxiosURLSearchParams.js","../node_modules/axios/lib/helpers/buildURL.js","../node_modules/axios/lib/core/InterceptorManager.js","../node_modules/axios/lib/defaults/transitional.js","../node_modules/axios/lib/platform/browser/index.js","../node_modules/axios/lib/platform/browser/classes/URLSearchParams.js","../node_modules/axios/lib/platform/browser/classes/FormData.js","../node_modules/axios/lib/platform/browser/classes/Blob.js","../node_modules/axios/lib/platform/common/utils.js","../node_modules/axios/lib/platform/index.js","../node_modules/axios/lib/helpers/formDataToJSON.js","../node_modules/axios/lib/defaults/index.js","../node_modules/axios/lib/helpers/toURLEncodedForm.js","../node_modules/axios/lib/helpers/parseHeaders.js","../node_modules/axios/lib/core/AxiosHeaders.js","../node_modules/axios/lib/core/transformData.js","../node_modules/axios/lib/cancel/isCancel.js","../node_modules/axios/lib/cancel/CanceledError.js","../node_modules/axios/lib/core/settle.js","../node_modules/axios/lib/helpers/speedometer.js","../node_modules/axios/lib/helpers/throttle.js","../node_modules/axios/lib/helpers/progressEventReducer.js","../node_modules/axios/lib/helpers/isURLSameOrigin.js","../node_modules/axios/lib/helpers/cookies.js","../node_modules/axios/lib/core/buildFullPath.js","../node_modules/axios/lib/helpers/isAbsoluteURL.js","../node_modules/axios/lib/helpers/combineURLs.js","../node_modules/axios/lib/core/mergeConfig.js","../node_modules/axios/lib/helpers/resolveConfig.js","../node_modules/axios/lib/adapters/xhr.js","../node_modules/axios/lib/helpers/parseProtocol.js","../node_modules/axios/lib/helpers/composeSignals.js","../node_modules/axios/lib/helpers/trackStream.js","../node_modules/axios/lib/adapters/fetch.js","../node_modules/axios/lib/adapters/adapters.js","../node_modules/axios/lib/helpers/null.js","../node_modules/axios/lib/core/dispatchRequest.js","../node_modules/axios/lib/env/data.js","../node_modules/axios/lib/helpers/validator.js","../node_modules/axios/lib/core/Axios.js","../node_modules/axios/lib/cancel/CancelToken.js","../node_modules/axios/lib/helpers/HttpStatusCode.js","../node_modules/axios/lib/axios.js","../node_modules/axios/lib/helpers/spread.js","../node_modules/axios/lib/helpers/isAxiosError.js","../node_modules/engine.io-parser/build/esm/commons.js","../node_modules/engine.io-parser/build/esm/encodePacket.browser.js","../node_modules/engine.io-parser/build/esm/contrib/base64-arraybuffer.js","../node_modules/engine.io-parser/build/esm/decodePacket.browser.js","../node_modules/engine.io-parser/build/esm/index.js","../node_modules/@socket.io/component-emitter/lib/esm/index.js","../node_modules/engine.io-client/build/esm/globals.js","../node_modules/engine.io-client/build/esm/util.js","../node_modules/engine.io-client/build/esm/transport.js","../node_modules/engine.io-client/build/esm/contrib/parseqs.js","../node_modules/engine.io-client/build/esm/transports/polling.js","../node_modules/engine.io-client/build/esm/contrib/has-cors.js","../node_modules/engine.io-client/build/esm/transports/polling-xhr.js","../node_modules/engine.io-client/build/esm/transports/websocket.js","../node_modules/engine.io-client/build/esm/transports/index.js","../node_modules/engine.io-client/build/esm/transports/webtransport.js","../node_modules/engine.io-client/build/esm/contrib/parseuri.js","../node_modules/engine.io-client/build/esm/socket.js","../node_modules/socket.io-parser/build/esm/is-binary.js","../node_modules/socket.io-parser/build/esm/binary.js","../node_modules/socket.io-parser/build/esm/index.js","../node_modules/socket.io-client/build/esm/on.js","../node_modules/socket.io-client/build/esm/socket.js","../node_modules/socket.io-client/build/esm/contrib/backo2.js","../node_modules/socket.io-client/build/esm/manager.js","../node_modules/socket.io-client/build/esm/index.js","../node_modules/socket.io-client/build/esm/url.js","utils/number-utils.js","utils/socket.js","utils/redux-utils.js","store/compare-type.js","adobe-analytics/actions.js","adobe-analytics/track.js","utils/constants.js","adobe-analytics/utils.js","adobe-analytics/data-layer.js","adobe-analytics/middleware.js","../node_modules/connected-react-router/esm/middleware.js","../node_modules/@babel/runtime/helpers/esm/typeof.js","../node_modules/@babel/runtime/helpers/esm/toPropertyKey.js","../node_modules/@babel/runtime/helpers/esm/toPrimitive.js","../node_modules/@babel/runtime/helpers/esm/defineProperty.js","../node_modules/@babel/runtime/helpers/esm/objectSpread2.js","../node_modules/redux/es/redux.js","../node_modules/redux-thunk/es/index.js","store/file-browser-column-options.js","../node_modules/underscore/modules/_setup.js","../node_modules/underscore/modules/restArguments.js","../node_modules/underscore/modules/isObject.js","../node_modules/underscore/modules/isNull.js","../node_modules/underscore/modules/isUndefined.js","../node_modules/underscore/modules/isBoolean.js","../node_modules/underscore/modules/isElement.js","../node_modules/underscore/modules/_tagTester.js","../node_modules/underscore/modules/isString.js","../node_modules/underscore/modules/isNumber.js","../node_modules/underscore/modules/isDate.js","../node_modules/underscore/modules/isRegExp.js","../node_modules/underscore/modules/isError.js","../node_modules/underscore/modules/isSymbol.js","../node_modules/underscore/modules/isArrayBuffer.js","../node_modules/underscore/modules/isFunction.js","../node_modules/underscore/modules/_hasObjectTag.js","../node_modules/underscore/modules/_stringTagBug.js","../node_modules/underscore/modules/isDataView.js","../node_modules/underscore/modules/isArray.js","../node_modules/underscore/modules/_has.js","../node_modules/underscore/modules/isArguments.js","../node_modules/underscore/modules/isFinite.js","../node_modules/underscore/modules/isNaN.js","../node_modules/underscore/modules/constant.js","../node_modules/underscore/modules/_createSizePropertyCheck.js","../node_modules/underscore/modules/_shallowProperty.js","../node_modules/underscore/modules/_getByteLength.js","../node_modules/underscore/modules/_isBufferLike.js","../node_modules/underscore/modules/isTypedArray.js","../node_modules/underscore/modules/_getLength.js","../node_modules/underscore/modules/_collectNonEnumProps.js","../node_modules/underscore/modules/keys.js","../node_modules/underscore/modules/isEmpty.js","../node_modules/underscore/modules/isMatch.js","../node_modules/underscore/modules/underscore.js","../node_modules/underscore/modules/_toBufferView.js","../node_modules/underscore/modules/isEqual.js","../node_modules/underscore/modules/allKeys.js","../node_modules/underscore/modules/_methodFingerprint.js","../node_modules/underscore/modules/isMap.js","../node_modules/underscore/modules/isWeakMap.js","../node_modules/underscore/modules/isSet.js","../node_modules/underscore/modules/isWeakSet.js","../node_modules/underscore/modules/values.js","../node_modules/underscore/modules/pairs.js","../node_modules/underscore/modules/invert.js","../node_modules/underscore/modules/functions.js","../node_modules/underscore/modules/_createAssigner.js","../node_modules/underscore/modules/extend.js","../node_modules/underscore/modules/extendOwn.js","../node_modules/underscore/modules/defaults.js","../node_modules/underscore/modules/_baseCreate.js","../node_modules/underscore/modules/create.js","../node_modules/underscore/modules/clone.js","../node_modules/underscore/modules/tap.js","../node_modules/underscore/modules/toPath.js","../node_modules/underscore/modules/_toPath.js","../node_modules/underscore/modules/_deepGet.js","../node_modules/underscore/modules/get.js","../node_modules/underscore/modules/has.js","../node_modules/underscore/modules/identity.js","../node_modules/underscore/modules/matcher.js","../node_modules/underscore/modules/property.js","../node_modules/underscore/modules/_optimizeCb.js","../node_modules/underscore/modules/_baseIteratee.js","../node_modules/underscore/modules/iteratee.js","../node_modules/underscore/modules/_cb.js","../node_modules/underscore/modules/mapObject.js","../node_modules/underscore/modules/noop.js","../node_modules/underscore/modules/propertyOf.js","../node_modules/underscore/modules/times.js","../node_modules/underscore/modules/random.js","../node_modules/underscore/modules/now.js","../node_modules/underscore/modules/_createEscaper.js","../node_modules/underscore/modules/_escapeMap.js","../node_modules/underscore/modules/escape.js","../node_modules/underscore/modules/unescape.js","../node_modules/underscore/modules/_unescapeMap.js","../node_modules/underscore/modules/templateSettings.js","../node_modules/underscore/modules/template.js","../node_modules/underscore/modules/result.js","../node_modules/underscore/modules/uniqueId.js","../node_modules/underscore/modules/chain.js","../node_modules/underscore/modules/_executeBound.js","../node_modules/underscore/modules/partial.js","../node_modules/underscore/modules/bind.js","../node_modules/underscore/modules/_isArrayLike.js","../node_modules/underscore/modules/_flatten.js","../node_modules/underscore/modules/bindAll.js","../node_modules/underscore/modules/memoize.js","../node_modules/underscore/modules/delay.js","../node_modules/underscore/modules/defer.js","../node_modules/underscore/modules/throttle.js","../node_modules/underscore/modules/debounce.js","../node_modules/underscore/modules/wrap.js","../node_modules/underscore/modules/negate.js","../node_modules/underscore/modules/compose.js","../node_modules/underscore/modules/after.js","../node_modules/underscore/modules/before.js","../node_modules/underscore/modules/once.js","../node_modules/underscore/modules/findKey.js","../node_modules/underscore/modules/_createPredicateIndexFinder.js","../node_modules/underscore/modules/findIndex.js","../node_modules/underscore/modules/findLastIndex.js","../node_modules/underscore/modules/sortedIndex.js","../node_modules/underscore/modules/_createIndexFinder.js","../node_modules/underscore/modules/indexOf.js","../node_modules/underscore/modules/lastIndexOf.js","../node_modules/underscore/modules/find.js","../node_modules/underscore/modules/findWhere.js","../node_modules/underscore/modules/each.js","../node_modules/underscore/modules/map.js","../node_modules/underscore/modules/_createReduce.js","../node_modules/underscore/modules/reduce.js","../node_modules/underscore/modules/reduceRight.js","../node_modules/underscore/modules/filter.js","../node_modules/underscore/modules/reject.js","../node_modules/underscore/modules/every.js","../node_modules/underscore/modules/some.js","../node_modules/underscore/modules/contains.js","../node_modules/underscore/modules/invoke.js","../node_modules/underscore/modules/pluck.js","../node_modules/underscore/modules/where.js","../node_modules/underscore/modules/max.js","../node_modules/underscore/modules/min.js","../node_modules/underscore/modules/toArray.js","../node_modules/underscore/modules/sample.js","../node_modules/underscore/modules/shuffle.js","../node_modules/underscore/modules/sortBy.js","../node_modules/underscore/modules/_group.js","../node_modules/underscore/modules/groupBy.js","../node_modules/underscore/modules/indexBy.js","../node_modules/underscore/modules/countBy.js","../node_modules/underscore/modules/partition.js","../node_modules/underscore/modules/size.js","../node_modules/underscore/modules/_keyInObj.js","../node_modules/underscore/modules/pick.js","../node_modules/underscore/modules/omit.js","../node_modules/underscore/modules/initial.js","../node_modules/underscore/modules/first.js","../node_modules/underscore/modules/rest.js","../node_modules/underscore/modules/last.js","../node_modules/underscore/modules/compact.js","../node_modules/underscore/modules/flatten.js","../node_modules/underscore/modules/difference.js","../node_modules/underscore/modules/without.js","../node_modules/underscore/modules/uniq.js","../node_modules/underscore/modules/union.js","../node_modules/underscore/modules/intersection.js","../node_modules/underscore/modules/unzip.js","../node_modules/underscore/modules/zip.js","../node_modules/underscore/modules/object.js","../node_modules/underscore/modules/range.js","../node_modules/underscore/modules/chunk.js","../node_modules/underscore/modules/_chainResult.js","../node_modules/underscore/modules/mixin.js","../node_modules/underscore/modules/underscore-array-methods.js","../node_modules/underscore/modules/index-default.js","models/project.js","../node_modules/intl-format-cache/src/index.ts","../node_modules/react-intl/lib/index.es.js","store/current-project.js","store/api.js","store/current-folder.js","models/search.js","store/search/search-results.js","store/file-browser-selected-items.js","store/file-browser-toolbar-options.js","store/locale.js","../node_modules/uuid/dist/esm-browser/native.js","../node_modules/uuid/dist/esm-browser/rng.js","../node_modules/uuid/dist/esm-browser/stringify.js","../node_modules/uuid/dist/esm-browser/v4.js","utils/errors.js","store/notifications.js","store/about-argus.js","store/maintenance-message-banner.js","models/comparison-sets.js","store/active-comparison-set.js","store/comparison-sets.js","models/document-viewer/document.js","store/document-viewer-undo.js","models/document-viewer/layout.js","store/current-document-layout.js","store/current-document.js","models/intl/currentLanguage.js","store/intl/currentLanguage.js","store/current-user.js","models/review-status/document-processing.js","store/review-status/document-processing.js","models/tags/document-tags.js","store/tags/document-tags.js","models/tags/document-type-tags.js","store/tags/document-type-tags.js","utils/data-utils.js","components/extractions/helpers/add-extraction.jsx","components/extractions/helpers/extraction-picker.jsx","models/edit-extractions.js","store/edit-extractions.js","models/tags/extraction-field-record-tags.js","store/tags/extraction-field-record-tags.js","models/extraction-overview.js","store/extraction-overview.js","models/intl/languages.js","store/intl/languages.js","models/intl/languageData.js","store/intl/languageData.js","models/tags/language-tags.js","store/tags/language-tags.js","models/tags/ocr-quality-tags.js","store/tags/ocr-quality-tags.js","models/project-list.js","store/project-list.js","models/translations.js","store/translations.js","models/project-members.js","store/project-members.js","models/review-status/project-status.js","store/review-status/project-status.js","models/project-templates.js","store/project-templates.js","models/project-creation/template-types.js","store/project-creation/template-types.js","models/review-status/user-progress.js","store/review-status/user-progress.js","utils/string-utils.js","models/reports.js","store/reports.js","store/search/search-category.js","utils/p-queue/p-queue.js","../node_modules/axios/index.js","models/uploads.js","store/uploads.js","models/intl/loadFormat.js","store/intl/loadFormat.js","models/intl/currentFormat.js","store/intl/currentFormat.js","models/intl/loadDateFormat.js","store/intl/loadDateFormat.js","models/intl/currentDateFormat.js","store/intl/currentDateFormat.js","store/store.js","permissions/helpers/roles.js","permissions/helpers/states.js","permissions/permissions.js","permissions/sections/global.js","permissions/sections/global-extraction-field.js","permissions/sections/global-extraction-field-group.js","permissions/sections/global-user.js","permissions/sections/project.js","permissions/sections/project-analytics.js","permissions/sections/project-comparison.js","permissions/sections/project-document.js","permissions/sections/project-document-extraction-field.js","permissions/sections/project-document-extraction-field-record.js","permissions/sections/project-extraction-field.js","permissions/sections/project-folder.js","permissions/sections/project-review-status.js","permissions/sections/project-settings.js","permissions/sections/project-tags.js","permissions/sections/project-template.js","permissions/sections/project-template-extraction-field.js","permissions/sections/project-user.js","permissions/sections/project-visualization.js","../node_modules/@azure/msal-browser/node_modules/@azure/msal-common/src/telemetry/performance/PerformanceEvent.ts","../node_modules/@azure/msal-browser/node_modules/@azure/msal-common/src/utils/Constants.ts","../node_modules/@azure/msal-browser/src/utils/BrowserConstants.ts","../node_modules/@azure/msal-browser/node_modules/@azure/msal-common/src/error/AuthError.ts","../node_modules/@azure/msal-browser/node_modules/@azure/msal-common/src/error/ServerError.ts","../node_modules/@azure/msal-browser/node_modules/@azure/msal-common/src/error/InteractionRequiredAuthError.ts","../node_modules/@azure/msal-browser/node_modules/@azure/msal-common/src/error/JoseHeaderError.ts","../node_modules/@azure/msal-browser/src/cache/CryptoKeyStore.ts","../node_modules/@azure/msal-browser/node_modules/@azure/msal-common/src/crypto/JoseHeader.ts","../node_modules/@azure/msal-browser/src/utils/MathUtils.ts","../node_modules/@azure/msal-browser/src/crypto/GuidGenerator.ts","../node_modules/@azure/msal-browser/src/utils/BrowserStringUtils.ts","../node_modules/@azure/msal-browser/src/encode/Base64Encode.ts","../node_modules/@azure/msal-browser/src/encode/Base64Decode.ts","../node_modules/@azure/msal-browser/node_modules/@azure/msal-common/src/error/ClientAuthError.ts","../node_modules/@azure/msal-browser/node_modules/@azure/msal-common/src/utils/StringUtils.ts","../node_modules/@azure/msal-browser/src/error/BrowserAuthError.ts","../node_modules/@azure/msal-browser/src/crypto/PkceGenerator.ts","../node_modules/@azure/msal-browser/src/crypto/ModernBrowserCrypto.ts","../node_modules/@azure/msal-browser/src/crypto/MsrBrowserCrypto.ts","../node_modules/@azure/msal-browser/src/crypto/MsBrowserCrypto.ts","../node_modules/@azure/msal-browser/src/error/BrowserConfigurationAuthError.ts","../node_modules/@azure/msal-browser/src/crypto/BrowserCrypto.ts","../node_modules/@azure/msal-browser/src/cache/DatabaseStorage.ts","../node_modules/@azure/msal-browser/src/cache/MemoryStorage.ts","../node_modules/@azure/msal-browser/src/cache/AsyncMemoryStorage.ts","../node_modules/@azure/msal-browser/node_modules/@azure/msal-common/src/logger/Logger.ts","../node_modules/@azure/msal-browser/src/crypto/CryptoOps.ts","../node_modules/@azure/msal-browser/node_modules/@azure/msal-common/src/authority/AuthorityType.ts","../node_modules/@azure/msal-browser/node_modules/@azure/msal-common/src/telemetry/performance/PerformanceClient.ts","../node_modules/@azure/msal-browser/node_modules/@azure/msal-common/src/telemetry/performance/StubPerformanceClient.ts","../node_modules/@azure/msal-browser/node_modules/@azure/msal-common/src/crypto/ICrypto.ts","../node_modules/@azure/msal-browser/node_modules/@azure/msal-common/src/account/ClientInfo.ts","../node_modules/@azure/msal-browser/node_modules/@azure/msal-common/src/cache/entities/AccountEntity.ts","../node_modules/@azure/msal-browser/node_modules/@azure/msal-common/src/account/CcsCredential.ts","../node_modules/@azure/msal-browser/node_modules/@azure/msal-common/src/cache/entities/CredentialEntity.ts","../node_modules/@azure/msal-browser/node_modules/@azure/msal-common/src/error/ClientConfigurationError.ts","../node_modules/@azure/msal-browser/node_modules/@azure/msal-common/src/request/ScopeSet.ts","../node_modules/@azure/msal-browser/node_modules/@azure/msal-common/src/account/AuthToken.ts","../node_modules/@azure/msal-browser/node_modules/@azure/msal-common/src/cache/CacheManager.ts","../node_modules/@azure/msal-browser/node_modules/@azure/msal-common/src/cache/entities/IdTokenEntity.ts","../node_modules/@azure/msal-browser/node_modules/@azure/msal-common/src/utils/TimeUtils.ts","../node_modules/@azure/msal-browser/node_modules/@azure/msal-common/src/cache/entities/AccessTokenEntity.ts","../node_modules/@azure/msal-browser/node_modules/@azure/msal-common/src/cache/entities/RefreshTokenEntity.ts","../node_modules/@azure/msal-browser/node_modules/@azure/msal-common/src/cache/entities/AppMetadataEntity.ts","../node_modules/@azure/msal-browser/node_modules/@azure/msal-common/src/cache/entities/ServerTelemetryEntity.ts","../node_modules/@azure/msal-browser/node_modules/@azure/msal-common/src/cache/entities/AuthorityMetadataEntity.ts","../node_modules/@azure/msal-browser/node_modules/@azure/msal-common/src/cache/entities/ThrottlingEntity.ts","../node_modules/@azure/msal-browser/node_modules/@azure/msal-common/src/utils/ProtocolUtils.ts","../node_modules/@azure/msal-browser/node_modules/@azure/msal-common/src/authority/ProtocolMode.ts","../node_modules/@azure/msal-browser/node_modules/@azure/msal-common/src/authority/AuthorityOptions.ts","../node_modules/@azure/msal-browser/src/cache/BrowserStorage.ts","../node_modules/@azure/msal-browser/node_modules/@azure/msal-common/src/url/UrlString.ts","../node_modules/@azure/msal-browser/src/utils/BrowserProtocolUtils.ts","../node_modules/@azure/msal-browser/src/cache/BrowserCacheManager.ts","../node_modules/@azure/msal-browser/node_modules/@azure/msal-common/src/packageMetadata.ts","../node_modules/@azure/msal-browser/node_modules/@azure/msal-common/src/config/ClientConfiguration.ts","../node_modules/@azure/msal-browser/node_modules/@azure/msal-common/src/network/INetworkModule.ts","../node_modules/@azure/msal-browser/src/network/FetchClient.ts","../node_modules/@azure/msal-browser/src/network/XhrClient.ts","../node_modules/@azure/msal-browser/src/utils/BrowserUtils.ts","../node_modules/@azure/msal-browser/src/navigation/NavigationClient.ts","../node_modules/@azure/msal-browser/src/config/Configuration.ts","../node_modules/@azure/msal-browser/src/event/EventType.ts","../node_modules/@azure/msal-browser/src/packageMetadata.ts","../node_modules/@azure/msal-browser/node_modules/@azure/msal-common/src/crypto/PopTokenGenerator.ts","../node_modules/@azure/msal-browser/src/event/EventHandler.ts","../node_modules/@azure/msal-browser/node_modules/@azure/msal-common/src/network/ThrottlingUtils.ts","../node_modules/@azure/msal-browser/node_modules/@azure/msal-common/src/network/NetworkManager.ts","../node_modules/@azure/msal-browser/node_modules/@azure/msal-common/src/client/BaseClient.ts","../node_modules/@azure/msal-browser/node_modules/@azure/msal-common/src/request/RequestValidator.ts","../node_modules/@azure/msal-browser/node_modules/@azure/msal-common/src/request/RequestParameterBuilder.ts","../node_modules/@azure/msal-browser/node_modules/@azure/msal-common/src/cache/entities/CacheRecord.ts","../node_modules/@azure/msal-browser/node_modules/@azure/msal-common/src/cache/persistence/TokenCacheContext.ts","../node_modules/@azure/msal-browser/node_modules/@azure/msal-common/src/response/ResponseHandler.ts","../node_modules/@azure/msal-browser/node_modules/@azure/msal-common/src/client/AuthorizationCodeClient.ts","../node_modules/@azure/msal-browser/node_modules/@azure/msal-common/src/authority/OpenIdConfigResponse.ts","../node_modules/@azure/msal-browser/node_modules/@azure/msal-common/src/authority/AuthorityMetadata.ts","../node_modules/@azure/msal-browser/node_modules/@azure/msal-common/src/authority/RegionDiscovery.ts","../node_modules/@azure/msal-browser/src/error/NativeAuthError.ts","../node_modules/@azure/msal-browser/node_modules/@azure/msal-common/src/authority/Authority.ts","../node_modules/@azure/msal-browser/node_modules/@azure/msal-common/src/authority/CloudInstanceDiscoveryResponse.ts","../node_modules/@azure/msal-browser/node_modules/@azure/msal-common/src/authority/AuthorityFactory.ts","../node_modules/@azure/msal-browser/node_modules/@azure/msal-common/src/telemetry/server/ServerTelemetryManager.ts","../node_modules/@azure/msal-browser/src/interaction_client/BaseInteractionClient.ts","../node_modules/@azure/msal-browser/src/interaction_client/StandardInteractionClient.ts","../node_modules/@azure/msal-browser/node_modules/@azure/msal-common/src/client/RefreshTokenClient.ts","../node_modules/@azure/msal-browser/node_modules/@azure/msal-common/src/client/SilentFlowClient.ts","../node_modules/@azure/msal-browser/src/interaction_client/SilentCacheClient.ts","../node_modules/@azure/msal-browser/src/interaction_client/NativeInteractionClient.ts","../node_modules/@azure/msal-browser/src/broker/nativeBroker/NativeMessageHandler.ts","../node_modules/@azure/msal-browser/src/interaction_handler/InteractionHandler.ts","../node_modules/@azure/msal-browser/src/interaction_client/PopupClient.ts","../node_modules/@azure/msal-browser/src/interaction_handler/RedirectHandler.ts","../node_modules/@azure/msal-browser/src/interaction_client/RedirectClient.ts","../node_modules/@azure/msal-browser/src/interaction_handler/SilentHandler.ts","../node_modules/@azure/msal-browser/src/interaction_client/SilentIframeClient.ts","../node_modules/@azure/msal-browser/src/interaction_client/SilentRefreshClient.ts","../node_modules/@azure/msal-browser/src/cache/TokenCache.ts","../node_modules/@azure/msal-browser/src/interaction_client/HybridSpaAuthorizationCodeClient.ts","../node_modules/@azure/msal-browser/src/interaction_client/SilentAuthCodeClient.ts","../node_modules/@azure/msal-browser/src/telemetry/BrowserPerformanceMeasurement.ts","../node_modules/@azure/msal-browser/src/telemetry/BrowserPerformanceClient.ts","../node_modules/@azure/msal-browser/src/app/PublicClientApplication.ts","../node_modules/@azure/msal-browser/src/app/ClientApplication.ts","utils/event-target.js","components/app/routing/auth-success.js","components/file-browser/file-list/empty-state.js","components/shared/icon.js","components/shared/single-click-button.js","components/header/banner/banner.js","images/deloitte_logo_black.svg","images/Omnia.svg","components/shared/modal.js","components/header/account-dropdown/language-select/language-select.js","containers/header/language-select.js","components/header/account-dropdown/format-select/format-select.js","containers/header/format-select.js","components/header/account-dropdown/Date-select/Date-select.js","containers/header/Date-select.js","components/shared/form/switch.js","components/header/account-dropdown/account-settings-popup/account-settings-popup.js","containers/header/account-settings-popup.js","../node_modules/react-tooltip/node_modules/fbjs/lib/emptyFunction.js","../node_modules/react-tooltip/node_modules/fbjs/lib/invariant.js","../node_modules/react-tooltip/node_modules/object-assign/index.js","../node_modules/react-tooltip/node_modules/prop-types/lib/ReactPropTypesSecret.js","../node_modules/react-tooltip/node_modules/prop-types/checkPropTypes.js","../node_modules/react-tooltip/node_modules/prop-types/index.js","../node_modules/react-tooltip/node_modules/prop-types/factoryWithThrowingShims.js","../node_modules/react-tooltip/src/constant.js","../node_modules/react-tooltip/src/decorators/staticMethods.js","../node_modules/react-tooltip/src/decorators/customEvent.js","../node_modules/react-tooltip/src/decorators/bodyMode.js","../node_modules/react-tooltip/src/utils/getPosition.js","../node_modules/react-tooltip/src/utils/getTipContent.js","../node_modules/react-tooltip/src/utils/aria.js","../node_modules/react-tooltip/src/decorators/trackRemoval.js","../node_modules/react-tooltip/src/index.js","../node_modules/react-tooltip/src/decorators/windowListener.js","../node_modules/react-tooltip/src/decorators/isCapture.js","../node_modules/react-tooltip/src/decorators/getEffect.js","../node_modules/react-tooltip/src/utils/nodeListToArray.js","components/header/account-dropdown/account-dropdown.js","components/shared/scrollbars/scrollbars.js","components/project-list/project-menu-bar/project-left-menu.js","components/header/menu/menu.js","components/search/shared/search-menu.js","components/search/document-search/document-search.jsx","containers/search/document-search/document-search.js","components/search/shared/search-inputfield.js","containers/search/search-inputfield-container.js","components/search/project-list-search/project-list-search.js","containers/search/project-list-search/project-list-search-container.js","components/search/groups-search/groups-search.js","containers/search/groups-search/groups-search-container.js","components/search/user-search/user-search.js","containers/search/user-search/user-search-container.js","components/search/constants.js","components/shared/form/dropdown.js","components/search/file-list-search/advanced-search-filter-item.js","components/search/file-list-search/advanced-search.js","components/search/file-list-search/category-container.js","components/shared/form/checkbox.js","components/search/file-list-search/results-container.js","components/search/file-list-search/search-dropdown.js","containers/search/file-list-search/search-dropdown-container.js","components/shared/form/radio.js","images/empty_state_comp_03.svg","components/shared/form/validated-text-field.js","components/shared/form/constants.js","components/file-browser/compare-sidebar/compare-sidebar-create.js","images/empty_state_comp_02.svg","components/file-browser/compare-sidebar/compare-sidebar.js","containers/file-browser/compare-sidebar-container.js","images/empty_state_no_result_found.svg","components/file-browser/export-sidebar/constants.js","components/file-browser/export-sidebar/export-sidebar-tags-list.js","components/extractions/tooltip/tooltip.jsx","components/extractions/complicated-icon/complicated-icon.jsx","components/shared/templates-list/templates-list.js","components/file-browser/export-sidebar/export-sidebar-templates-list.js","components/file-browser/export-sidebar/export-sidebar-create.js","components/shared/document-download.js","components/shared/export/export-sidebar-progress.js","components/file-browser/export-sidebar/export-sidebar.js","containers/file-browser/export-sidebar-container.js","components/shared/pagination/pagination.js","components/shared/fixed-table.js","components/file-browser/file-list/column-options.js","components/file-browser/file-list/constants.js","components/file-browser/file-list/item-list.js","components/shared/avatar.js","components/shared/user-autocomplete/user-autocomplete.js","components/file-browser/toolbar/assign-popover.js","components/file-browser/file-list/assign-cell.js","components/file-browser/file-list/file-list-record-item.js","utils/validation.js","components/file-browser/file-list/name-cell.js","components/shared/confirm.js","components/file-browser/toolbar/tags-popover.js","components/file-browser/file-list/tags-cell.js","components/file-browser/file-list/file-list-row.js","components/shared/sorting/sorting.jsx","utils/dnd-mouse-context.js","components/file-browser/file-list/drag-helper.js","components/file-browser/file-list/file-list.js","containers/file-browser/file-list-container.js","components/shared/breadcrumbs.js","components/shared/delete-modal/delete-modal.js","components/file-browser/toolbar/delete-modal.js","containers/file-browser/delete-modal-container.js","components/file-browser/toolbar/kebab.js","components/project-creation/shared/project-date-fromat-selection.js","components/file-browser/toolbar/move-popover-confirmation.js","components/file-browser/toolbar/move-popover.js","containers/file-browser/move-popover-container.js","components/file-browser/toolbar/current-folder-template.js","components/file-browser/toolbar/reprocess-popover.js","components/file-browser/toolbar/review-popover.js","components/file-browser/toolbar/templates-popover.js","containers/file-browser/templates-popover-container.js","components/file-browser/upload-button/upload-button.js","components/file-browser/toolbar/confirm-reprocess-modal.js","components/file-browser/toolbar/toolbar.js","containers/shared/file-browser-toolbar-container.js","components/search/file-list-search/search-results.js","containers/search/file-list-search/search-results-container.js","components/search/file-list-search/file-list-search.js","containers/search/file-list-search/file-list-search-container.js","components/search/compare-search/compare-search.js","containers/search/compare-search/compare-search-container.js","components/search/analytics-search/analytics-search.js","containers/search/analytics-search/analytics-search.js","components/search/search.js","components/shared/form/textarea.js","components/header/rate-application/rate-application.js","components/header/help/help.js","images/argus_title.svg","components/header/subheader-dropdown/subheader-dropdown.js","components/header/maintenance-message-banner/maintenance-message-banner.js","components/project-list/constants.js","components/project-list/toolbar/sort/sort.js","components/project-list/toolbar/toolbar.js","components/project-list/container-selection/modal.js","components/landing-page/landing-page-tabs.js","components/header/banner/disclaimer-banner.js","components/header/header.js","containers/header/header.js","components/footer/footer.js","containers/footer/footer.js","images/empty_state_access_denied.svg","components/pages/errors/generic-error.js","components/project-creation/constants.js","components/project-creation/progress-bar/progress-bar.js","components/pages/loader.js","components/app/authorization.js","containers/authorization/authorization-container.js","components/app/routing/protected-route.js","components/app/routing/public-route.js","components/shared/loading/light.jsx","components/shared/add-to-compare-sidebar/add-to-compare-sidebar.js","containers/shared/add-to-compare-sidebar-container.js","components/compare-browser/compare-item.js","components/shared/create-compare-sidebar/select-base-compare.js","images/empty_state_file_browser.svg","components/shared/create-compare-sidebar/create-compare-sidebar.js","containers/shared/create-compare-sidebar-container.js","images/empty_state_comp_01.svg","components/compare-browser/export-compare-modal.js","components/shared/export/export-sidebar.js","containers/shared/export-sidebar-container.js","components/compare-browser/compare-browser.js","containers/compare-browser/compare-browser-container.js","components/shared/notifications.js","containers/shared/notifications-container.js","components/pages/compare-browser.js","components/compare/compare.js","containers/compare/compare-container.js","components/pages/compare.js","components/document-viewer/toolbar/breadcrumbs.jsx","components/document-viewer/toolbar/navigation-buttons.jsx","components/document-viewer/toolbar/navigation-dropdown.jsx","components/document-viewer/toolbar/review-button.jsx","containers/document-viewer/toolbar/review-button-container.js","components/document-viewer/toolbar/undo-button.jsx","components/search/file-list-search/search-toolbar.js","containers/search/file-list-search/search-toolbar-container.js","components/document-viewer/toolbar/toolbar.jsx","containers/document-viewer/toolbar/toolbar-container.js","components/document-viewer/document-renderer/helpers/drawingHelper.js","components/document-viewer/document-renderer/helpers/emphasisHelper.jsx","components/document-viewer/document-renderer/overlay/overlay.jsx","containers/document-viewer/document-renderer/overlay-container.js","components/document-viewer/document-renderer/bookmarks/bookmarks.jsx","containers/document-viewer/document-renderer/bookmarks-container.js","components/document-viewer/document-renderer/page/page.jsx","containers/document-viewer/document-renderer/page-container.js","components/document-viewer/document-renderer/document-controls/document-controls.jsx","components/document-viewer/document-renderer/minimap/minimap.jsx","components/document-viewer/document-renderer/document-splitter/constants.js","components/shared/form/editable-text.js","components/document-viewer/document-renderer/document-splitter/sample-number/sample-number-input-field.js","components/document-viewer/document-renderer/document-splitter/document-splitter.jsx","components/document-viewer/document-renderer/document-renderer.jsx","containers/document-viewer/document-renderer/document-renderer-container.js","components/header/banner/kira-workbench-banner.js","components/document-viewer/panels/main-panel.jsx","containers/document-viewer/panels/main-panel-container.js","components/extractions/extraction-record-list/edit-extraction-field.jsx","components/extractions/extraction-record-list/extraction-field-dropdown.jsx","containers/extractions/extraction-field-dropdown.js","components/extractions/extraction-record-tags/extraction-record-tags-dropdown.jsx","containers/extractions/extraction-record-tags-dropdown.js","components/extractions/extraction-record-tags/extraction-record-tags.jsx","containers/extractions/extraction-record-tags.js","components/extractions/extraction-record-list/extraction-record-item.jsx","components/extractions/extraction-record-list/extraction-record-list.jsx","containers/extractions/extraction-record-list.js","components/extractions/extraction-list/extraction-list.jsx","components/extractions/extraction-picker/extraction-picker.jsx","components/extractions/create-extraction/create-extraction.jsx","components/extractions/add-extraction/add-extraction.jsx","components/document-viewer/panels/side-panel.jsx","containers/document-viewer/panels/side-panel-container.js","components/shared/argus-training-modal/argus-training-modal.jsx","components/document-viewer/document-viewer.jsx","containers/document-viewer/document-viewer-container.js","components/pages/document-viewer.js","components/edit-extractions/template-viewer/template-dropdown/template-dropdown.js","images/empty_state_extraction_fields.svg","components/edit-extractions/template-viewer/template-extractions/template-extractions.js","components/edit-extractions/template-viewer/template-viewer.js","components/edit-extractions/edit-extractions.js","containers/edit-extractions/edit-extractions-container.js","components/pages/edit-extractions.js","components/file-browser/create-folder-modal.js","components/shared/progress-loader.js","components/file-browser/upload-status/upload-status.js","containers/file-browser/upload-status-container.js","components/shared/kira-processing-paused-modal.js","components/file-browser/file-browser.js","containers/file-browser/file-browser-container.js","components/pages/file-browser.js","components/project-creation/shared/container.js","components/project-creation/shared/ppmd-approval.js","components/project-creation/project-details/shared/engagement-details.js","components/project-creation/project-details/shared/valid-text-area.js","components/project-creation/project-details/shared/name-input-field.js","components/project-creation/project-details/shared/engagement-dropdown.js","components/project-creation/project-details/shared/mat-input-field.js","components/project-creation/project-details/shared/client-dropdown.js","components/project-creation/project-details/shared/client-input-field.js","components/project-creation/project-details/mat-search-form/mat-search-form.js","components/shared/form/year-picker.js","components/shared/form/month-day-picker.js","components/project-creation/project-details/project-details-form/locked-input-field.js","components/project-creation/project-details/project-details-form/project-details-form.js","components/project-creation/project-details/project-details.js","components/project-creation/team-members/role-dropdown.js","components/project-creation/team-members/team-list-menu.js","components/project-creation/team-members/team-list.js","components/project-creation/team-members/search-members.js","components/project-creation/team-members/team-members.js","containers/project-creation/team-members-container.js","components/create-template/templates/next-button.js","components/create-template/templates/template-steps/document-type/document-type.js","components/create-template/templates/template-steps/template-list/template-list.js","components/create-template/templates/template-steps/template-type/template-type-ai.js","components/create-template/templates/template-steps/template-type/template-type.js","components/create-template/templates/template-steps/template-extractions-list/extraction.js","components/create-template/templates/template-steps/template-extractions-list/template-extractions-group-list.js","components/create-template/templates/template-steps/template-customization/guided-template-viewer.js","components/create-template/templates/template-steps/template-step-description.js","components/create-template/templates/template-steps/template-steps.js","components/create-template/templates/templates.js","containers/create-template/templates-container.js","components/project-creation/project-creation.js","containers/project-creation/project-container.js","components/pages/project-creation.js","components/quick-study/shared/groups-autocomplete.js","components/quick-study/details/add-group-popover.js","components/quick-study/details/change-role-modal.js","components/quick-study/details/groups-and-users.js","components/quick-study/details/history.js","components/quick-study/details/learning.js","components/quick-study/details/measures.js","components/quick-study/toolbar/create-modal.js","components/quick-study/toolbar/delete-modal.js","components/quick-study/toolbar/export-modal.js","components/quick-study/toolbar/group-popover.js","components/quick-study/toolbar/import-modal.js","components/quick-study/toolbar/share-popover.js","components/quick-study/shared/export-sidebar-progress.js","components/quick-study/shared/export-sidebar.js","containers/quick-study/export-sidebar-container.js","components/quick-study/toolbar/toolbar.js","components/quick-study/details/extraction-field-details.js","components/quick-study/extraction-field-browser/extraction-field-list.js","utils/setUtil.js","components/quick-study/extraction-field-browser/extraction-field-browser.js","components/quick-study/groups-browser/groups-list.js","components/quick-study/groups-browser/groups-browser.js","components/quick-study/quick-study.js","containers/quick-study/quick-study-container.js","components/pages/quick-study.js","components/user-management/edit-user-access-details.js","components/user-management/user-Extended-features-settings-model.js","components/user-management/user-management-page.js","containers/user-management/user-management-container.js","components/user-management/user-activation-settings-page.js","components/shared/react-slider/react-slider.js","components/shared/toolbar-icon/toolbar-icon.js","components/visuals/visuals-header.js","components/visuals/visuals-document-list.js","components/visuals/visuals-documents.js","components/visuals/visuals-extraction-fields.js","images/empty_state_visuals.svg","components/visuals/visuals.js","containers/visuals/visuals.js","components/pages/visuals.js","components/analytics/analytics-chart.js","containers/analytics/analytics-chart-container.js","components/analytics/analytics-settings.js","components/analytics/analytics-header.js","components/analytics/analytics.js","containers/analytics/analytics-container.js","components/pages/analytics.js","components/reports/list/list-of-reports.js","components/reports/list/scheduled-reports.js","components/shared/form/numeric-input.js","../node_modules/react-onclickoutside/dist/react-onclickoutside.es.js","../node_modules/@babel/runtime/helpers/esm/assertThisInitialized.js","../node_modules/popper.js/src/utils/isBrowser.js","../node_modules/popper.js/src/utils/debounce.js","../node_modules/popper.js/src/utils/isFunction.js","../node_modules/popper.js/src/utils/getStyleComputedProperty.js","../node_modules/popper.js/src/utils/getParentNode.js","../node_modules/popper.js/src/utils/getScrollParent.js","../node_modules/popper.js/src/utils/getReferenceNode.js","../node_modules/popper.js/src/utils/isIE.js","../node_modules/popper.js/src/utils/getOffsetParent.js","../node_modules/popper.js/src/utils/getRoot.js","../node_modules/popper.js/src/utils/findCommonOffsetParent.js","../node_modules/popper.js/src/utils/isOffsetContainer.js","../node_modules/popper.js/src/utils/getScroll.js","../node_modules/popper.js/src/utils/getBordersSize.js","../node_modules/popper.js/src/utils/getWindowSizes.js","../node_modules/popper.js/src/utils/getClientRect.js","../node_modules/popper.js/src/utils/getBoundingClientRect.js","../node_modules/popper.js/src/utils/getOffsetRectRelativeToArbitraryNode.js","../node_modules/popper.js/src/utils/includeScroll.js","../node_modules/popper.js/src/utils/isFixed.js","../node_modules/popper.js/src/utils/getFixedPositionOffsetParent.js","../node_modules/popper.js/src/utils/getBoundaries.js","../node_modules/popper.js/src/utils/getViewportOffsetRectRelativeToArtbitraryNode.js","../node_modules/popper.js/src/utils/computeAutoPlacement.js","../node_modules/popper.js/src/utils/getReferenceOffsets.js","../node_modules/popper.js/src/utils/getOuterSizes.js","../node_modules/popper.js/src/utils/getOppositePlacement.js","../node_modules/popper.js/src/utils/getPopperOffsets.js","../node_modules/popper.js/src/utils/find.js","../node_modules/popper.js/src/utils/runModifiers.js","../node_modules/popper.js/src/utils/findIndex.js","../node_modules/popper.js/src/methods/update.js","../node_modules/popper.js/src/utils/isModifierEnabled.js","../node_modules/popper.js/src/utils/getSupportedPropertyName.js","../node_modules/popper.js/src/methods/destroy.js","../node_modules/popper.js/src/utils/getWindow.js","../node_modules/popper.js/src/utils/setupEventListeners.js","../node_modules/popper.js/src/methods/enableEventListeners.js","../node_modules/popper.js/src/methods/disableEventListeners.js","../node_modules/popper.js/src/utils/removeEventListeners.js","../node_modules/popper.js/src/utils/isNumeric.js","../node_modules/popper.js/src/utils/setStyles.js","../node_modules/popper.js/src/modifiers/computeStyle.js","../node_modules/popper.js/src/utils/isModifierRequired.js","../node_modules/popper.js/src/methods/placements.js","../node_modules/popper.js/src/utils/clockwise.js","../node_modules/popper.js/src/modifiers/flip.js","../node_modules/popper.js/src/modifiers/offset.js","../node_modules/popper.js/src/modifiers/index.js","../node_modules/popper.js/src/methods/defaults.js","../node_modules/popper.js/src/modifiers/shift.js","../node_modules/popper.js/src/modifiers/preventOverflow.js","../node_modules/popper.js/src/modifiers/keepTogether.js","../node_modules/popper.js/src/modifiers/arrow.js","../node_modules/popper.js/src/utils/getOppositeVariation.js","../node_modules/popper.js/src/modifiers/inner.js","../node_modules/popper.js/src/modifiers/hide.js","../node_modules/popper.js/src/utils/getRoundedOffsets.js","../node_modules/popper.js/src/modifiers/applyStyle.js","../node_modules/popper.js/src/utils/setAttributes.js","../node_modules/popper.js/src/index.js","../node_modules/react-popper/lib/esm/Manager.js","../node_modules/react-popper/lib/esm/utils.js","../node_modules/react-popper/lib/esm/Popper.js","../node_modules/react-popper/lib/esm/Reference.js","../node_modules/react-datepicker/es/index.js","components/shared/date-picker/date-picker.js","components/reports/schedule-report-sidebar/schedule-report-sidebar.js","components/reports/reports.js","containers/reports/reports-container.js","components/pages/reports.js","components/tags/tile.jsx","containers/tags/tiles/document-tags.js","containers/tags/tiles/document-type-tags.js","containers/tags/tiles/extraction-field-record-tags.js","containers/tags/tiles/language-tags.js","containers/tags/tiles/ocr-quality-tags.js","components/tags/tags.jsx","containers/tags/tags-container.js","components/pages/tags.js","components/review-status/tiles/document-processing/document-processing.jsx","containers/review-status/tiles/document-processing-container.js","components/review-status/tiles/project-status/project-status.jsx","containers/review-status/tiles/project-status-container.js","components/review-status/tiles/user-progress/user-progress.jsx","containers/review-status/tiles/user-progress-container.js","components/review-status/review-status.jsx","containers/review-status/review-status.js","components/pages/review-status.js","components/extraction-overview/constants.js","components/edit-extractions/template-viewer/grid-dropdown/grid-dropdown.js","components/extraction-overview/export-sidebar/constants.js","components/extraction-overview/export-sidebar/export-sidebar-tags-list.js","components/extraction-overview/export-sidebar/export-sidebar-templates-list.js","components/extraction-overview/export-sidebar/export-sidebar-create.js","components/extraction-overview/export-sidebar/export-sidebar.js","containers/extraction-overview/export-sidebar-container.js","components/extraction-overview/column-options.js","components/extraction-overview/save-grid-view.js","components/extraction-overview/delete-grid-view.js","components/extraction-overview/extraction-overview-header.js","../node_modules/html-react-parser/index.mjs","components/extraction-overview/extraction-overview-filter.js","components/extraction-overview/extraction-overview-grid.js","components/extraction-overview/extraction-overview-document-panel.js","containers/extraction-overview/extraction-overview-document-viewer-container.js","components/extraction-overview/extraction-overview.js","containers/extraction-overview/extraction-overview-container.js","components/pages/extraction-overview.js","components/create-template/create-template.js","containers/create-template/create-template.js","components/pages/create-template.js","components/landing-page/constants.js","components/landing-page/argus-extraction.js","components/landing-page/landing-page-table.js","components/landing-page/recent-projects.js","components/landing-page/argus-translation.js","images/empty_state_project.svg","components/landing-page/translation-queue.js","components/landing-page/landing-page.js","containers/landing-page/landing-page-container.js","components/pages/landing-page.js","components/app/routing/region-route-switch.js","containers/intl/intl.js","containers/intl/intl-container.js","components/pages/errors/404.js","components/pages/errors/unauthorized.js","containers/authorization/unauthorized-container.js","components/project-list/list/menu/menu.js","containers/project-list/menu-container.js","components/project-list/list/table-view/table-view.js","components/project-list/list/tile-view/tile-view.js","components/project-list/list/list.js","components/project-list/project-list.js","containers/project-list/project-list-container.js","components/admin-dashboard/admin-dashboard.js","containers/admin-dashboard/admin-dashboard-container.js","components/pages/project-list.js","components/pages/admin-access.js","components/pages/loading-page.js","components/translation/constants.js","components/translation/shared/translations-disclaimer/translations-disclaimer.js","components/translation/translation-tabs.js","components/translation/shared/language-selector/language-selector.js","components/translation/translate-document/file-selector.js","components/translation/translate-document/translate-document.js","components/translation/translate-text/input-text.js","components/translation/translate-text/target-text.js","components/translation/translate-text/translate-text.js","components/translation/translation-queue/translation-queue-table.js","components/translation/translation-queue/translation-queue.js","components/translation/translation-down-message.js","components/translation/shared/upload-progress/upload-file.js","components/translation/shared/upload-progress/upload-progress.js","components/translation/translation.js","containers/translation/translation-container.js","components/pages/translation.js","components/maintenance-messages/create-maintenance-message-popup.js","components/maintenance-messages/edit-maintenance-message-popup.js","components/maintenance-messages/delete-maintenance-message-popup.js","components/maintenance-messages/maintenance-messages.js","components/pages/maintenance-messages.js","components/shared/session-timeout-modal.js","components/cookie-notice/cookie-notice.js","components/app/app.js","components/application-insights/application-insights.js","index.js"],"sourcesContent":["/*\nCopyright (c) 2014, Yahoo! Inc. All rights reserved.\nCopyrights licensed under the New BSD License.\nSee the accompanying LICENSE file for terms.\n*/\n\n/* jslint esnext: true */\n\nimport IntlMessageFormat from 'intl-messageformat';\nimport diff from './diff';\nimport {\n defineProperty,\n objCreate,\n arrIndexOf,\n isArray,\n dateNow\n} from './es5';\n\nexport default RelativeFormat;\n\n// -----------------------------------------------------------------------------\n\nvar FIELDS = [\n 'second', 'second-short',\n 'minute', 'minute-short',\n 'hour', 'hour-short',\n 'day', 'day-short',\n 'month', 'month-short',\n 'year', 'year-short'\n];\nvar STYLES = ['best fit', 'numeric'];\n\n// -- RelativeFormat -----------------------------------------------------------\n\nfunction RelativeFormat(locales, options) {\n options = options || {};\n\n // Make a copy of `locales` if it's an array, so that it doesn't change\n // since it's used lazily.\n if (isArray(locales)) {\n locales = locales.concat();\n }\n\n defineProperty(this, '_locale', {value: this._resolveLocale(locales)});\n defineProperty(this, '_options', {value: {\n style: this._resolveStyle(options.style),\n units: this._isValidUnits(options.units) && options.units\n }});\n\n defineProperty(this, '_locales', {value: locales});\n defineProperty(this, '_fields', {value: this._findFields(this._locale)});\n defineProperty(this, '_messages', {value: objCreate(null)});\n\n // \"Bind\" `format()` method to `this` so it can be passed by reference like\n // the other `Intl` APIs.\n var relativeFormat = this;\n this.format = function format(date, options) {\n return relativeFormat._format(date, options);\n };\n}\n\n// Define internal private properties for dealing with locale data.\ndefineProperty(RelativeFormat, '__localeData__', {value: objCreate(null)});\ndefineProperty(RelativeFormat, '__addLocaleData', {value: function () {\n for (var i = 0; i < arguments.length; i++) {\n var datum = arguments[i]\n if (!(datum && datum.locale)) {\n throw new Error(\n 'Locale data provided to IntlRelativeFormat is missing a ' +\n '`locale` property value'\n );\n }\n \n RelativeFormat.__localeData__[datum.locale.toLowerCase()] = datum;\n \n // Add data to IntlMessageFormat.\n IntlMessageFormat.__addLocaleData(datum);\n }\n}});\n\n// Define public `defaultLocale` property which can be set by the developer, or\n// it will be set when the first RelativeFormat instance is created by\n// leveraging the resolved locale from `Intl`.\ndefineProperty(RelativeFormat, 'defaultLocale', {\n enumerable: true,\n writable : true,\n value : undefined\n});\n\n// Define public `thresholds` property which can be set by the developer, and\n// defaults to relative time thresholds from moment.js.\ndefineProperty(RelativeFormat, 'thresholds', {\n enumerable: true,\n\n value: {\n second: 45, 'second-short': 45, // seconds to minute\n minute: 45, 'minute-short': 45, // minutes to hour\n hour : 22, 'hour-short': 22, // hours to day\n day : 26, 'day-short': 26, // days to month\n month : 11, 'month-short': 11 // months to year\n }\n});\n\nRelativeFormat.prototype.resolvedOptions = function () {\n return {\n locale: this._locale,\n style : this._options.style,\n units : this._options.units\n };\n};\n\nRelativeFormat.prototype._compileMessage = function (units) {\n // `this._locales` is the original set of locales the user specified to the\n // constructor, while `this._locale` is the resolved root locale.\n var locales = this._locales;\n var resolvedLocale = this._locale;\n\n var field = this._fields[units];\n var relativeTime = field.relativeTime;\n var future = '';\n var past = '';\n var i;\n\n for (i in relativeTime.future) {\n if (relativeTime.future.hasOwnProperty(i)) {\n future += ' ' + i + ' {' +\n relativeTime.future[i].replace('{0}', '#') + '}';\n }\n }\n\n for (i in relativeTime.past) {\n if (relativeTime.past.hasOwnProperty(i)) {\n past += ' ' + i + ' {' +\n relativeTime.past[i].replace('{0}', '#') + '}';\n }\n }\n\n var message = '{when, select, future {{0, plural, ' + future + '}}' +\n 'past {{0, plural, ' + past + '}}}';\n\n // Create the synthetic IntlMessageFormat instance using the original\n // locales value specified by the user when constructing the the parent\n // IntlRelativeFormat instance.\n return new IntlMessageFormat(message, locales);\n};\n\nRelativeFormat.prototype._getMessage = function (units) {\n var messages = this._messages;\n\n // Create a new synthetic message based on the locale data from CLDR.\n if (!messages[units]) {\n messages[units] = this._compileMessage(units);\n }\n\n return messages[units];\n};\n\nRelativeFormat.prototype._getRelativeUnits = function (diff, units) {\n var field = this._fields[units];\n\n if (field.relative) {\n return field.relative[diff];\n }\n};\n\nRelativeFormat.prototype._findFields = function (locale) {\n var localeData = RelativeFormat.__localeData__;\n var data = localeData[locale.toLowerCase()];\n\n // The locale data is de-duplicated, so we have to traverse the locale's\n // hierarchy until we find `fields` to return.\n while (data) {\n if (data.fields) {\n return data.fields;\n }\n\n data = data.parentLocale && localeData[data.parentLocale.toLowerCase()];\n }\n\n throw new Error(\n 'Locale data added to IntlRelativeFormat is missing `fields` for :' +\n locale\n );\n};\n\nRelativeFormat.prototype._format = function (date, options) {\n var now = options && options.now !== undefined ? options.now : dateNow();\n\n if (date === undefined) {\n date = now;\n }\n\n // Determine if the `date` and optional `now` values are valid, and throw a\n // similar error to what `Intl.DateTimeFormat#format()` would throw.\n if (!isFinite(now)) {\n throw new RangeError(\n 'The `now` option provided to IntlRelativeFormat#format() is not ' +\n 'in valid range.'\n );\n }\n\n if (!isFinite(date)) {\n throw new RangeError(\n 'The date value provided to IntlRelativeFormat#format() is not ' +\n 'in valid range.'\n );\n }\n\n var diffReport = diff(now, date);\n var units = this._options.units || this._selectUnits(diffReport);\n var diffInUnits = diffReport[units];\n\n if (this._options.style !== 'numeric') {\n var relativeUnits = this._getRelativeUnits(diffInUnits, units);\n if (relativeUnits) {\n return relativeUnits;\n }\n }\n\n return this._getMessage(units).format({\n '0' : Math.abs(diffInUnits),\n when: diffInUnits < 0 ? 'past' : 'future'\n });\n};\n\nRelativeFormat.prototype._isValidUnits = function (units) {\n if (!units || arrIndexOf.call(FIELDS, units) >= 0) {\n return true;\n }\n\n if (typeof units === 'string') {\n var suggestion = /s$/.test(units) && units.substr(0, units.length - 1);\n if (suggestion && arrIndexOf.call(FIELDS, suggestion) >= 0) {\n throw new Error(\n '\"' + units + '\" is not a valid IntlRelativeFormat `units` ' +\n 'value, did you mean: ' + suggestion\n );\n }\n }\n\n throw new Error(\n '\"' + units + '\" is not a valid IntlRelativeFormat `units` value, it ' +\n 'must be one of: \"' + FIELDS.join('\", \"') + '\"'\n );\n};\n\nRelativeFormat.prototype._resolveLocale = function (locales) {\n if (typeof locales === 'string') {\n locales = [locales];\n }\n\n // Create a copy of the array so we can push on the default locale.\n locales = (locales || []).concat(RelativeFormat.defaultLocale);\n\n var localeData = RelativeFormat.__localeData__;\n var i, len, localeParts, data;\n\n // Using the set of locales + the default locale, we look for the first one\n // which that has been registered. When data does not exist for a locale, we\n // traverse its ancestors to find something that's been registered within\n // its hierarchy of locales. Since we lack the proper `parentLocale` data\n // here, we must take a naive approach to traversal.\n for (i = 0, len = locales.length; i < len; i += 1) {\n localeParts = locales[i].toLowerCase().split('-');\n\n while (localeParts.length) {\n data = localeData[localeParts.join('-')];\n if (data) {\n // Return the normalized locale string; e.g., we return \"en-US\",\n // instead of \"en-us\".\n return data.locale;\n }\n\n localeParts.pop();\n }\n }\n\n var defaultLocale = locales.pop();\n throw new Error(\n 'No locale data has been added to IntlRelativeFormat for: ' +\n locales.join(', ') + ', or the default locale: ' + defaultLocale\n );\n};\n\nRelativeFormat.prototype._resolveStyle = function (style) {\n // Default to \"best fit\" style.\n if (!style) {\n return STYLES[0];\n }\n\n if (arrIndexOf.call(STYLES, style) >= 0) {\n return style;\n }\n\n throw new Error(\n '\"' + style + '\" is not a valid IntlRelativeFormat `style` value, it ' +\n 'must be one of: \"' + STYLES.join('\", \"') + '\"'\n );\n};\n\nRelativeFormat.prototype._selectUnits = function (diffReport) {\n var i, l, units;\n var fields = FIELDS.filter(function(field) {\n return field.indexOf('-short') < 1;\n });\n\n for (i = 0, l = fields.length; i < l; i += 1) {\n units = fields[i];\n\n if (Math.abs(diffReport[units]) < RelativeFormat.thresholds[units]) {\n break;\n }\n }\n\n return units;\n};\n","import domparser from './domparser';\nimport { formatDOM } from './utilities';\n\nconst DIRECTIVE_REGEX = /<(![a-zA-Z\\s]+)>/; // e.g., \n\n/**\n * Parses HTML string to DOM nodes in browser.\n *\n * @param html - HTML markup.\n * @returns - DOM elements.\n */\nexport default function HTMLDOMParser(html: string) {\n if (typeof html !== 'string') {\n throw new TypeError('First argument must be a string');\n }\n\n if (!html) {\n return [];\n }\n\n // match directive\n const match = html.match(DIRECTIVE_REGEX);\n const directive = match ? match[1] : undefined;\n\n return formatDOM(domparser(html), null, directive);\n}\n","!function(e,t){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=t():\"function\"==typeof define&&define.amd?define(t):(e.ReactIntlLocaleData=e.ReactIntlLocaleData||{},e.ReactIntlLocaleData.yo=t())}(this,function(){\"use strict\";return[{locale:\"yo\",pluralRuleFunction:function(e,t){return\"other\"},fields:{year:{displayName:\"Ọdún\",relative:{0:\"this year\",1:\"next year\",\"-1\":\"last year\"},relativeTime:{future:{other:\"+{0} y\"},past:{other:\"-{0} y\"}}},\"year-short\":{displayName:\"Ọdún\",relative:{0:\"this year\",1:\"next year\",\"-1\":\"last year\"},relativeTime:{future:{other:\"+{0} y\"},past:{other:\"-{0} y\"}}},month:{displayName:\"Osù\",relative:{0:\"this month\",1:\"next month\",\"-1\":\"last month\"},relativeTime:{future:{other:\"+{0} m\"},past:{other:\"-{0} m\"}}},\"month-short\":{displayName:\"Osù\",relative:{0:\"this month\",1:\"next month\",\"-1\":\"last month\"},relativeTime:{future:{other:\"+{0} m\"},past:{other:\"-{0} m\"}}},day:{displayName:\"Ọjọ́\",relative:{0:\"Òní\",1:\"Ọ̀la\",2:\"òtúùnla\",\"-2\":\"íjẹta\",\"-1\":\"Àná\"},relativeTime:{future:{other:\"+{0} d\"},past:{other:\"-{0} d\"}}},\"day-short\":{displayName:\"Ọjọ́\",relative:{0:\"Òní\",1:\"Ọ̀la\",2:\"òtúùnla\",\"-2\":\"íjẹta\",\"-1\":\"Àná\"},relativeTime:{future:{other:\"+{0} d\"},past:{other:\"-{0} d\"}}},hour:{displayName:\"wákàtí\",relative:{0:\"this hour\"},relativeTime:{future:{other:\"+{0} h\"},past:{other:\"-{0} h\"}}},\"hour-short\":{displayName:\"wákàtí\",relative:{0:\"this hour\"},relativeTime:{future:{other:\"+{0} h\"},past:{other:\"-{0} h\"}}},minute:{displayName:\"Ìsẹ́jú\",relative:{0:\"this minute\"},relativeTime:{future:{other:\"+{0} min\"},past:{other:\"-{0} min\"}}},\"minute-short\":{displayName:\"Ìsẹ́jú\",relative:{0:\"this minute\"},relativeTime:{future:{other:\"+{0} min\"},past:{other:\"-{0} min\"}}},second:{displayName:\"Ìsẹ́jú Ààyá\",relative:{0:\"now\"},relativeTime:{future:{other:\"+{0} s\"},past:{other:\"-{0} s\"}}},\"second-short\":{displayName:\"Ìsẹ́jú Ààyá\",relative:{0:\"now\"},relativeTime:{future:{other:\"+{0} s\"},past:{other:\"-{0} s\"}}}}},{locale:\"yo-BJ\",parentLocale:\"yo\",fields:{year:{displayName:\"Ɔdún\",relative:{0:\"this year\",1:\"next year\",\"-1\":\"last year\"},relativeTime:{future:{other:\"+{0} y\"},past:{other:\"-{0} y\"}}},\"year-short\":{displayName:\"Ɔdún\",relative:{0:\"this year\",1:\"next year\",\"-1\":\"last year\"},relativeTime:{future:{other:\"+{0} y\"},past:{other:\"-{0} y\"}}},month:{displayName:\"Osù\",relative:{0:\"this month\",1:\"next month\",\"-1\":\"last month\"},relativeTime:{future:{other:\"+{0} m\"},past:{other:\"-{0} m\"}}},\"month-short\":{displayName:\"Osù\",relative:{0:\"this month\",1:\"next month\",\"-1\":\"last month\"},relativeTime:{future:{other:\"+{0} m\"},past:{other:\"-{0} m\"}}},day:{displayName:\"Ɔjɔ́\",relative:{0:\"Òní\",1:\"Ɔ̀la\",2:\"òtúùnla\",\"-2\":\"íjɛta\",\"-1\":\"Àná\"},relativeTime:{future:{other:\"+{0} d\"},past:{other:\"-{0} d\"}}},\"day-short\":{displayName:\"Ɔjɔ́\",relative:{0:\"Òní\",1:\"Ɔ̀la\",2:\"òtúùnla\",\"-2\":\"íjɛta\",\"-1\":\"Àná\"},relativeTime:{future:{other:\"+{0} d\"},past:{other:\"-{0} d\"}}},hour:{displayName:\"wákàtí\",relative:{0:\"this hour\"},relativeTime:{future:{other:\"+{0} h\"},past:{other:\"-{0} h\"}}},\"hour-short\":{displayName:\"wákàtí\",relative:{0:\"this hour\"},relativeTime:{future:{other:\"+{0} h\"},past:{other:\"-{0} h\"}}},minute:{displayName:\"Ìsɛ́jú\",relative:{0:\"this minute\"},relativeTime:{future:{other:\"+{0} min\"},past:{other:\"-{0} min\"}}},\"minute-short\":{displayName:\"Ìsɛ́jú\",relative:{0:\"this minute\"},relativeTime:{future:{other:\"+{0} min\"},past:{other:\"-{0} min\"}}},second:{displayName:\"Ìsɛ́jú Ààyá\",relative:{0:\"now\"},relativeTime:{future:{other:\"+{0} s\"},past:{other:\"-{0} s\"}}},\"second-short\":{displayName:\"Ìsɛ́jú Ààyá\",relative:{0:\"now\"},relativeTime:{future:{other:\"+{0} s\"},past:{other:\"-{0} s\"}}}}}]});\n","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.formatDate = void 0;\nexports.getFormatter = getFormatter;\nexports.getNumberFormatter = getNumberFormatter;\n\nvar _getUserLocale = _interopRequireDefault(require(\"get-user-locale\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nvar formatterCache = new Map();\n\nfunction getFormatter(options) {\n return function (locale, date) {\n var localeWithDefault = locale || (0, _getUserLocale[\"default\"])();\n\n if (!formatterCache.has(localeWithDefault)) {\n formatterCache.set(localeWithDefault, new Map());\n }\n\n var formatterCacheLocale = formatterCache.get(localeWithDefault);\n\n if (!formatterCacheLocale.has(options)) {\n formatterCacheLocale.set(options, new Intl.DateTimeFormat(localeWithDefault, options).format);\n }\n\n return formatterCacheLocale.get(options)(date);\n };\n}\n\nvar numberFormatterCache = new Map();\n\nfunction getNumberFormatter(options) {\n return function (locale, date) {\n var localeWithDefault = locale || (0, _getUserLocale[\"default\"])();\n\n if (!numberFormatterCache.has(localeWithDefault)) {\n numberFormatterCache.set(localeWithDefault, new Map());\n }\n\n var numberFormatterCacheLocale = numberFormatterCache.get(localeWithDefault);\n\n if (!numberFormatterCacheLocale.has(options)) {\n numberFormatterCacheLocale.set(options, new Intl.NumberFormat(localeWithDefault, options).format);\n }\n\n return numberFormatterCacheLocale.get(options)(date);\n };\n}\n\nvar formatDateOptions = {\n day: 'numeric',\n month: 'numeric',\n year: 'numeric'\n};\nvar formatDate = getFormatter(formatDateOptions);\nexports.formatDate = formatDate;","!function(e,t){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=t():\"function\"==typeof define&&define.amd?define(t):(e.ReactIntlLocaleData=e.ReactIntlLocaleData||{},e.ReactIntlLocaleData.wae=t())}(this,function(){\"use strict\";return[{locale:\"wae\",pluralRuleFunction:function(e,t){return t?\"other\":1==e?\"one\":\"other\"},fields:{year:{displayName:\"Jár\",relative:{0:\"this year\",1:\"next year\",\"-1\":\"last year\"},relativeTime:{future:{one:\"I {0} jár\",other:\"I {0} jár\"},past:{one:\"vor {0} jár\",other:\"cor {0} jár\"}}},\"year-short\":{displayName:\"Jár\",relative:{0:\"this year\",1:\"next year\",\"-1\":\"last year\"},relativeTime:{future:{one:\"I {0} jár\",other:\"I {0} jár\"},past:{one:\"vor {0} jár\",other:\"cor {0} jár\"}}},month:{displayName:\"Mánet\",relative:{0:\"this month\",1:\"next month\",\"-1\":\"last month\"},relativeTime:{future:{one:\"I {0} mánet\",other:\"I {0} mánet\"},past:{one:\"vor {0} mánet\",other:\"vor {0} mánet\"}}},\"month-short\":{displayName:\"Mánet\",relative:{0:\"this month\",1:\"next month\",\"-1\":\"last month\"},relativeTime:{future:{one:\"I {0} mánet\",other:\"I {0} mánet\"},past:{one:\"vor {0} mánet\",other:\"vor {0} mánet\"}}},day:{displayName:\"Tag\",relative:{0:\"Hitte\",1:\"Móre\",2:\"Ubermóre\",\"-2\":\"Vorgešter\",\"-1\":\"Gešter\"},relativeTime:{future:{one:\"i {0} tag\",other:\"i {0} täg\"},past:{one:\"vor {0} tag\",other:\"vor {0} täg\"}}},\"day-short\":{displayName:\"Tag\",relative:{0:\"Hitte\",1:\"Móre\",2:\"Ubermóre\",\"-2\":\"Vorgešter\",\"-1\":\"Gešter\"},relativeTime:{future:{one:\"i {0} tag\",other:\"i {0} täg\"},past:{one:\"vor {0} tag\",other:\"vor {0} täg\"}}},hour:{displayName:\"Schtund\",relative:{0:\"this hour\"},relativeTime:{future:{one:\"i {0} stund\",other:\"i {0} stunde\"},past:{one:\"vor {0} stund\",other:\"vor {0} stunde\"}}},\"hour-short\":{displayName:\"Schtund\",relative:{0:\"this hour\"},relativeTime:{future:{one:\"i {0} stund\",other:\"i {0} stunde\"},past:{one:\"vor {0} stund\",other:\"vor {0} stunde\"}}},minute:{displayName:\"Mínütta\",relative:{0:\"this minute\"},relativeTime:{future:{one:\"i {0} minüta\",other:\"i {0} minüte\"},past:{one:\"vor {0} minüta\",other:\"vor {0} minüte\"}}},\"minute-short\":{displayName:\"Mínütta\",relative:{0:\"this minute\"},relativeTime:{future:{one:\"i {0} minüta\",other:\"i {0} minüte\"},past:{one:\"vor {0} minüta\",other:\"vor {0} minüte\"}}},second:{displayName:\"Sekunda\",relative:{0:\"now\"},relativeTime:{future:{one:\"i {0} sekund\",other:\"i {0} sekunde\"},past:{one:\"vor {0} sekund\",other:\"vor {0} sekunde\"}}},\"second-short\":{displayName:\"Sekunda\",relative:{0:\"now\"},relativeTime:{future:{one:\"i {0} sekund\",other:\"i {0} sekunde\"},past:{one:\"vor {0} sekund\",other:\"vor {0} sekunde\"}}}}}]});\n","!function(e,t){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=t():\"function\"==typeof define&&define.amd?define(t):(e.ReactIntlLocaleData=e.ReactIntlLocaleData||{},e.ReactIntlLocaleData.jgo=t())}(this,function(){\"use strict\";return[{locale:\"jgo\",pluralRuleFunction:function(e,t){return t?\"other\":1==e?\"one\":\"other\"},fields:{year:{displayName:\"Year\",relative:{0:\"this year\",1:\"next year\",\"-1\":\"last year\"},relativeTime:{future:{one:\"Nǔu ŋguꞋ {0}\",other:\"Nǔu ŋguꞋ {0}\"},past:{one:\"Ɛ́gɛ́ mɔ́ ŋguꞋ {0}\",other:\"Ɛ́gɛ́ mɔ́ ŋguꞋ {0}\"}}},\"year-short\":{displayName:\"Year\",relative:{0:\"this year\",1:\"next year\",\"-1\":\"last year\"},relativeTime:{future:{one:\"Nǔu ŋguꞋ {0}\",other:\"Nǔu ŋguꞋ {0}\"},past:{one:\"Ɛ́gɛ́ mɔ́ ŋguꞋ {0}\",other:\"Ɛ́gɛ́ mɔ́ ŋguꞋ {0}\"}}},month:{displayName:\"Month\",relative:{0:\"this month\",1:\"next month\",\"-1\":\"last month\"},relativeTime:{future:{one:\"Nǔu {0} saŋ\",other:\"Nǔu {0} saŋ\"},past:{one:\"ɛ́ gɛ́ mɔ́ pɛsaŋ {0}\",other:\"ɛ́ gɛ́ mɔ́ pɛsaŋ {0}\"}}},\"month-short\":{displayName:\"Month\",relative:{0:\"this month\",1:\"next month\",\"-1\":\"last month\"},relativeTime:{future:{one:\"Nǔu {0} saŋ\",other:\"Nǔu {0} saŋ\"},past:{one:\"ɛ́ gɛ́ mɔ́ pɛsaŋ {0}\",other:\"ɛ́ gɛ́ mɔ́ pɛsaŋ {0}\"}}},day:{displayName:\"Day\",relative:{0:\"lɔꞋɔ\",1:\"tomorrow\",\"-1\":\"yesterday\"},relativeTime:{future:{one:\"Nǔu lɛ́Ꞌ {0}\",other:\"Nǔu lɛ́Ꞌ {0}\"},past:{one:\"Ɛ́ gɛ́ mɔ́ lɛ́Ꞌ {0}\",other:\"Ɛ́ gɛ́ mɔ́ lɛ́Ꞌ {0}\"}}},\"day-short\":{displayName:\"Day\",relative:{0:\"lɔꞋɔ\",1:\"tomorrow\",\"-1\":\"yesterday\"},relativeTime:{future:{one:\"Nǔu lɛ́Ꞌ {0}\",other:\"Nǔu lɛ́Ꞌ {0}\"},past:{one:\"Ɛ́ gɛ́ mɔ́ lɛ́Ꞌ {0}\",other:\"Ɛ́ gɛ́ mɔ́ lɛ́Ꞌ {0}\"}}},hour:{displayName:\"Hour\",relative:{0:\"this hour\"},relativeTime:{future:{one:\"nǔu háwa {0}\",other:\"nǔu háwa {0}\"},past:{one:\"ɛ́ gɛ mɔ́ {0} háwa\",other:\"ɛ́ gɛ mɔ́ {0} háwa\"}}},\"hour-short\":{displayName:\"Hour\",relative:{0:\"this hour\"},relativeTime:{future:{one:\"nǔu háwa {0}\",other:\"nǔu háwa {0}\"},past:{one:\"ɛ́ gɛ mɔ́ {0} háwa\",other:\"ɛ́ gɛ mɔ́ {0} háwa\"}}},minute:{displayName:\"Minute\",relative:{0:\"this minute\"},relativeTime:{future:{one:\"nǔu {0} minút\",other:\"nǔu {0} minút\"},past:{one:\"ɛ́ gɛ́ mɔ́ minút {0}\",other:\"ɛ́ gɛ́ mɔ́ minút {0}\"}}},\"minute-short\":{displayName:\"Minute\",relative:{0:\"this minute\"},relativeTime:{future:{one:\"nǔu {0} minút\",other:\"nǔu {0} minút\"},past:{one:\"ɛ́ gɛ́ mɔ́ minút {0}\",other:\"ɛ́ gɛ́ mɔ́ minút {0}\"}}},second:{displayName:\"Second\",relative:{0:\"now\"},relativeTime:{future:{other:\"+{0} s\"},past:{other:\"-{0} s\"}}},\"second-short\":{displayName:\"Second\",relative:{0:\"now\"},relativeTime:{future:{other:\"+{0} s\"},past:{other:\"-{0} s\"}}}}}]});\n","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.convert12to24 = convert12to24;\nexports.convert24to12 = convert24to12;\n\nfunction convert12to24(hour12, amPm) {\n var hour24 = parseInt(hour12, 10);\n\n if (amPm === 'am' && hour24 === 12) {\n hour24 = 0;\n } else if (amPm === 'pm' && hour24 < 12) {\n hour24 += 12;\n }\n\n return hour24;\n}\n\nfunction convert24to12(hour24) {\n var hour12 = hour24 % 12 || 12;\n return [hour12, hour24 < 12 ? 'am' : 'pm'];\n}","!function(e,t){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=t():\"function\"==typeof define&&define.amd?define(t):(e.ReactIntlLocaleData=e.ReactIntlLocaleData||{},e.ReactIntlLocaleData.xog=t())}(this,function(){\"use strict\";return[{locale:\"xog\",pluralRuleFunction:function(e,t){return t?\"other\":1==e?\"one\":\"other\"},fields:{year:{displayName:\"Omwaka\",relative:{0:\"this year\",1:\"next year\",\"-1\":\"last year\"},relativeTime:{future:{other:\"+{0} y\"},past:{other:\"-{0} y\"}}},\"year-short\":{displayName:\"Omwaka\",relative:{0:\"this year\",1:\"next year\",\"-1\":\"last year\"},relativeTime:{future:{other:\"+{0} y\"},past:{other:\"-{0} y\"}}},month:{displayName:\"Omwezi\",relative:{0:\"this month\",1:\"next month\",\"-1\":\"last month\"},relativeTime:{future:{other:\"+{0} m\"},past:{other:\"-{0} m\"}}},\"month-short\":{displayName:\"Omwezi\",relative:{0:\"this month\",1:\"next month\",\"-1\":\"last month\"},relativeTime:{future:{other:\"+{0} m\"},past:{other:\"-{0} m\"}}},day:{displayName:\"Olunaku\",relative:{0:\"Olwaleelo (leelo)\",1:\"Enkyo\",\"-1\":\"Edho\"},relativeTime:{future:{other:\"+{0} d\"},past:{other:\"-{0} d\"}}},\"day-short\":{displayName:\"Olunaku\",relative:{0:\"Olwaleelo (leelo)\",1:\"Enkyo\",\"-1\":\"Edho\"},relativeTime:{future:{other:\"+{0} d\"},past:{other:\"-{0} d\"}}},hour:{displayName:\"Essawa\",relative:{0:\"this hour\"},relativeTime:{future:{other:\"+{0} h\"},past:{other:\"-{0} h\"}}},\"hour-short\":{displayName:\"Essawa\",relative:{0:\"this hour\"},relativeTime:{future:{other:\"+{0} h\"},past:{other:\"-{0} h\"}}},minute:{displayName:\"Edakiika\",relative:{0:\"this minute\"},relativeTime:{future:{other:\"+{0} min\"},past:{other:\"-{0} min\"}}},\"minute-short\":{displayName:\"Edakiika\",relative:{0:\"this minute\"},relativeTime:{future:{other:\"+{0} min\"},past:{other:\"-{0} min\"}}},second:{displayName:\"Obutikitiki\",relative:{0:\"now\"},relativeTime:{future:{other:\"+{0} s\"},past:{other:\"-{0} s\"}}},\"second-short\":{displayName:\"Obutikitiki\",relative:{0:\"now\"},relativeTime:{future:{other:\"+{0} s\"},past:{other:\"-{0} s\"}}}}}]});\n","'use strict';\n\nvar React = require('react');\n\nvar AriaMenuButtonManagerContext = React.createContext();\n\nmodule.exports = AriaMenuButtonManagerContext;","const warnings = new Set();\n\nexport default function deprecationWarning(\n oldName: string,\n newName: string,\n prefix: string = \"\",\n) {\n if (warnings.has(oldName)) return;\n warnings.add(oldName);\n\n const { internal, trace } = captureShortStackTrace(1, 2);\n if (internal) {\n // If usage comes from an internal package, there is no point in warning because\n // 1. The new version of the package will already use the new API\n // 2. When the deprecation will become an error (in a future major version), users\n // will have to update every package anyway.\n return;\n }\n console.warn(\n `${prefix}\\`${oldName}\\` has been deprecated, please migrate to \\`${newName}\\`\\n${trace}`,\n );\n}\n\nfunction captureShortStackTrace(skip: number, length: number) {\n const { stackTraceLimit, prepareStackTrace } = Error;\n let stackTrace: NodeJS.CallSite[];\n // We add 1 to also take into account this function.\n Error.stackTraceLimit = 1 + skip + length;\n Error.prepareStackTrace = function (err, stack) {\n stackTrace = stack;\n };\n // eslint-disable-next-line @typescript-eslint/no-unused-expressions\n new Error().stack;\n Error.stackTraceLimit = stackTraceLimit;\n Error.prepareStackTrace = prepareStackTrace;\n\n if (!stackTrace) return { internal: false, trace: \"\" };\n\n const shortStackTrace = stackTrace.slice(1 + skip, 1 + skip + length);\n return {\n internal: /[\\\\/]@babel[\\\\/]/.test(shortStackTrace[1].getFileName()),\n trace: shortStackTrace.map(frame => ` at ${frame}`).join(\"\\n\"),\n };\n}\n","!function(n,i){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=i():\"function\"==typeof define&&define.amd?define(i):(n.ReactIntlLocaleData=n.ReactIntlLocaleData||{},n.ReactIntlLocaleData.ga=i())}(this,function(){\"use strict\";return[{locale:\"ga\",pluralRuleFunction:function(n,i){var e=String(n).split(\".\"),a=Number(e[0])==n;return i?1==n?\"one\":\"other\":1==n?\"one\":2==n?\"two\":a&&n>=3&&n<=6?\"few\":a&&n>=7&&n<=10?\"many\":\"other\"},fields:{year:{displayName:\"Bliain\",relative:{0:\"an bhliain seo\",1:\"an bhliain seo chugainn\",\"-1\":\"anuraidh\"},relativeTime:{future:{one:\"i gceann {0} bhliain\",two:\"i gceann {0} bhliain\",few:\"i gceann {0} bliana\",many:\"i gceann {0} mbliana\",other:\"i gceann {0} bliain\"},past:{one:\"{0} bhliain ó shin\",two:\"{0} bhliain ó shin\",few:\"{0} bliana ó shin\",many:\"{0} mbliana ó shin\",other:\"{0} bliain ó shin\"}}},\"year-short\":{displayName:\"bl.\",relative:{0:\"an bhl. seo\",1:\"an bhl. seo chugainn\",\"-1\":\"anuraidh\"},relativeTime:{future:{one:\"i gceann {0} bl.\",two:\"i gceann {0} bhl.\",few:\"i gceann {0} bl.\",many:\"i gceann {0} mbl.\",other:\"i gceann {0} bl.\"},past:{one:\"{0} bhl. ó shin\",two:\"{0} bhl. ó shin\",few:\"{0} bl. ó shin\",many:\"{0} mbl. ó shin\",other:\"{0} bl. ó shin\"}}},month:{displayName:\"Mí\",relative:{0:\"an mhí seo\",1:\"an mhí seo chugainn\",\"-1\":\"an mhí seo caite\"},relativeTime:{future:{one:\"i gceann {0} mhí\",two:\"i gceann {0} mhí\",few:\"i gceann {0} mhí\",many:\"i gceann {0} mí\",other:\"i gceann {0} mí\"},past:{one:\"{0} mhí ó shin\",two:\"{0} mhí ó shin\",few:\"{0} mhí ó shin\",many:\"{0} mí ó shin\",other:\"{0} mí ó shin\"}}},\"month-short\":{displayName:\"mí\",relative:{0:\"an mhí seo\",1:\"an mhí seo chugainn\",\"-1\":\"an mhí seo caite\"},relativeTime:{future:{one:\"i gceann {0} mhí\",two:\"i gceann {0} mhí\",few:\"i gceann {0} mhí\",many:\"i gceann {0} mí\",other:\"i gceann {0} mí\"},past:{one:\"{0} mhí ó shin\",two:\"{0} mhí ó shin\",few:\"{0} mhí ó shin\",many:\"{0} mí ó shin\",other:\"{0} mí ó shin\"}}},day:{displayName:\"Lá\",relative:{0:\"inniu\",1:\"amárach\",2:\"arú amárach\",\"-2\":\"arú inné\",\"-1\":\"inné\"},relativeTime:{future:{one:\"i gceann {0} lá\",two:\"i gceann {0} lá\",few:\"i gceann {0} lá\",many:\"i gceann {0} lá\",other:\"i gceann {0} lá\"},past:{one:\"{0} lá ó shin\",two:\"{0} lá ó shin\",few:\"{0} lá ó shin\",many:\"{0} lá ó shin\",other:\"{0} lá ó shin\"}}},\"day-short\":{displayName:\"Lá\",relative:{0:\"inniu\",1:\"amárach\",2:\"arú amárach\",\"-2\":\"arú inné\",\"-1\":\"inné\"},relativeTime:{future:{one:\"i gceann {0} lá\",two:\"i gceann {0} lá\",few:\"i gceann {0} lá\",many:\"i gceann {0} lá\",other:\"i gceann {0} lá\"},past:{one:\"{0} lá ó shin\",two:\"{0} lá ó shin\",few:\"{0} lá ó shin\",many:\"{0} lá ó shin\",other:\"{0} lá ó shin\"}}},hour:{displayName:\"Uair\",relative:{0:\"an uair seo\"},relativeTime:{future:{one:\"i gceann {0} uair an chloig\",two:\"i gceann {0} uair an chloig\",few:\"i gceann {0} huaire an chloig\",many:\"i gceann {0} n-uaire an chloig\",other:\"i gceann {0} uair an chloig\"},past:{one:\"{0} uair an chloig ó shin\",two:\"{0} uair an chloig ó shin\",few:\"{0} huaire an chloig ó shin\",many:\"{0} n-uaire an chloig ó shin\",other:\"{0} uair an chloig ó shin\"}}},\"hour-short\":{displayName:\"uair\",relative:{0:\"an uair seo\"},relativeTime:{future:{one:\"i gceann {0} uair\",two:\"i gceann {0} uair\",few:\"i gceann {0} huaire\",many:\"i gceann {0} n-uaire\",other:\"i gceann {0} uair\"},past:{one:\"{0} uair ó shin\",two:\"{0} uair ó shin\",few:\"{0} huaire ó shin\",many:\"{0} n-uaire ó shin\",other:\"{0} uair ó shin\"}}},minute:{displayName:\"Nóiméad\",relative:{0:\"an nóiméad seo\"},relativeTime:{future:{one:\"i gceann {0} nóiméad\",two:\"i gceann {0} nóiméad\",few:\"i gceann {0} nóiméad\",many:\"i gceann {0} nóiméad\",other:\"i gceann {0} nóiméad\"},past:{one:\"{0} nóiméad ó shin\",two:\"{0} nóiméad ó shin\",few:\"{0} nóiméad ó shin\",many:\"{0} nóiméad ó shin\",other:\"{0} nóiméad ó shin\"}}},\"minute-short\":{displayName:\"nóim.\",relative:{0:\"an nóiméad seo\"},relativeTime:{future:{one:\"i gceann {0} nóim.\",two:\"i gceann {0} nóim.\",few:\"i gceann {0} nóim.\",many:\"i gceann {0} nóim.\",other:\"i gceann {0} nóim.\"},past:{one:\"{0} nóim. ó shin\",two:\"{0} nóim. ó shin\",few:\"{0} nóim. ó shin\",many:\"{0} nóim. ó shin\",other:\"{0} nóim. ó shin\"}}},second:{displayName:\"Soicind\",relative:{0:\"anois\"},relativeTime:{future:{one:\"i gceann {0} soicind\",two:\"i gceann {0} shoicind\",few:\"i gceann {0} shoicind\",many:\"i gceann {0} soicind\",other:\"i gceann {0} soicind\"},past:{one:\"{0} soicind ó shin\",two:\"{0} shoicind ó shin\",few:\"{0} shoicind ó shin\",many:\"{0} soicind ó shin\",other:\"{0} soicind ó shin\"}}},\"second-short\":{displayName:\"soic.\",relative:{0:\"anois\"},relativeTime:{future:{one:\"i gceann {0} soic.\",two:\"i gceann {0} shoic.\",few:\"i gceann {0} shoic.\",many:\"i gceann {0} soic.\",other:\"i gceann {0} soic.\"},past:{one:\"{0} soic. ó shin\",two:\"{0} shoic. ó shin\",few:\"{0} shoic. ó shin\",many:\"{0} soic. ó shin\",other:\"{0} soic. ó shin\"}}}}}]});\n","import { Comment, Element, ProcessingInstruction, Text } from 'domhandler';\n\nimport { CASE_SENSITIVE_TAG_NAMES_MAP } from './constants';\nimport type { DOMNode } from '../types';\n\n/**\n * Gets case-sensitive tag name.\n *\n * @param tagName - Tag name in lowercase.\n * @returns - Case-sensitive tag name.\n */\nfunction getCaseSensitiveTagName(tagName: string): string | undefined {\n return CASE_SENSITIVE_TAG_NAMES_MAP[tagName];\n}\n\n/**\n * Formats DOM attributes to a hash map.\n *\n * @param attributes - List of attributes.\n * @returns - Map of attribute name to value.\n */\nexport function formatAttributes(attributes: NamedNodeMap) {\n const map: Record = {};\n let index = 0;\n const attributesLength = attributes.length;\n\n // `NamedNodeMap` is array-like\n for (; index < attributesLength; index++) {\n const attribute = attributes[index];\n map[attribute.name] = attribute.value;\n }\n\n return map;\n}\n\n/**\n * Corrects the tag name if it is case-sensitive (SVG).\n * Otherwise, returns the lowercase tag name (HTML).\n *\n * @param tagName - Lowercase tag name.\n * @returns - Formatted tag name.\n */\nfunction formatTagName(tagName: string): string {\n tagName = tagName.toLowerCase();\n const caseSensitiveTagName = getCaseSensitiveTagName(tagName);\n\n if (caseSensitiveTagName) {\n return caseSensitiveTagName;\n }\n\n return tagName;\n}\n\n/**\n * Transforms DOM nodes to `domhandler` nodes.\n *\n * @param nodes - DOM nodes.\n * @param parent - Parent node.\n * @param directive - Directive.\n * @returns - Nodes.\n */\nexport function formatDOM(\n nodes: NodeList,\n parent: DOMNode | null = null,\n directive?: string,\n): DOMNode[] {\n const domNodes = [];\n let current;\n let index = 0;\n const nodesLength = nodes.length;\n\n for (; index < nodesLength; index++) {\n const node = nodes[index];\n\n // set the node data given the type\n switch (node.nodeType) {\n case 1: {\n const tagName = formatTagName(node.nodeName);\n\n // script, style, or tag\n current = new Element(\n tagName,\n formatAttributes((node as HTMLElement).attributes),\n );\n\n current.children = formatDOM(\n // template children are on content\n tagName === 'template'\n ? (node as HTMLTemplateElement).content.childNodes\n : node.childNodes,\n current,\n );\n\n break;\n }\n\n case 3:\n current = new Text(node.nodeValue!);\n break;\n\n case 8:\n current = new Comment(node.nodeValue!);\n break;\n\n default:\n continue;\n }\n\n // set previous node next\n const prev = domNodes[index - 1] || null;\n if (prev) {\n prev.next = current;\n }\n\n // set properties for current node\n current.parent = parent as Element;\n current.prev = prev;\n current.next = null;\n\n domNodes.push(current);\n }\n\n if (directive) {\n current = new ProcessingInstruction(\n directive.substring(0, directive.indexOf(' ')).toLowerCase(),\n directive,\n );\n\n current.next = domNodes[0] || null;\n current.parent = parent as Element;\n domNodes.unshift(current);\n\n if (domNodes[1]) {\n domNodes[1].prev = domNodes[0];\n }\n }\n\n return domNodes;\n}\n","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = returnFalse;\nfunction returnFalse() {\n return false;\n}","'use strict';\n\n/** @type {import('./range')} */\nmodule.exports = RangeError;\n","!function(e,t){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=t():\"function\"==typeof define&&define.amd?define(t):(e.ReactIntlLocaleData=e.ReactIntlLocaleData||{},e.ReactIntlLocaleData.lrc=t())}(this,function(){\"use strict\";return[{locale:\"lrc\",pluralRuleFunction:function(e,t){return\"other\"},fields:{year:{displayName:\"سال\",relative:{0:\"this year\",1:\"next year\",\"-1\":\"last year\"},relativeTime:{future:{other:\"+{0} y\"},past:{other:\"-{0} y\"}}},\"year-short\":{displayName:\"سال\",relative:{0:\"this year\",1:\"next year\",\"-1\":\"last year\"},relativeTime:{future:{other:\"+{0} y\"},past:{other:\"-{0} y\"}}},month:{displayName:\"ما\",relative:{0:\"this month\",1:\"next month\",\"-1\":\"last month\"},relativeTime:{future:{other:\"+{0} m\"},past:{other:\"-{0} m\"}}},\"month-short\":{displayName:\"ما\",relative:{0:\"this month\",1:\"next month\",\"-1\":\"last month\"},relativeTime:{future:{other:\"+{0} m\"},past:{other:\"-{0} m\"}}},day:{displayName:\"روٙز\",relative:{0:\"أمروٙ\",1:\"شوٙصوٙ\",\"-1\":\"دیروٙز\"},relativeTime:{future:{other:\"+{0} d\"},past:{other:\"-{0} d\"}}},\"day-short\":{displayName:\"روٙز\",relative:{0:\"أمروٙ\",1:\"شوٙصوٙ\",\"-1\":\"دیروٙز\"},relativeTime:{future:{other:\"+{0} d\"},past:{other:\"-{0} d\"}}},hour:{displayName:\"ساأت\",relative:{0:\"this hour\"},relativeTime:{future:{other:\"+{0} h\"},past:{other:\"-{0} h\"}}},\"hour-short\":{displayName:\"ساأت\",relative:{0:\"this hour\"},relativeTime:{future:{other:\"+{0} h\"},past:{other:\"-{0} h\"}}},minute:{displayName:\"دئیقە\",relative:{0:\"this minute\"},relativeTime:{future:{other:\"+{0} min\"},past:{other:\"-{0} min\"}}},\"minute-short\":{displayName:\"دئیقە\",relative:{0:\"this minute\"},relativeTime:{future:{other:\"+{0} min\"},past:{other:\"-{0} min\"}}},second:{displayName:\"ثانیە\",relative:{0:\"now\"},relativeTime:{future:{other:\"+{0} s\"},past:{other:\"-{0} s\"}}},\"second-short\":{displayName:\"ثانیە\",relative:{0:\"now\"},relativeTime:{future:{other:\"+{0} s\"},past:{other:\"-{0} s\"}}}}},{locale:\"lrc-IQ\",parentLocale:\"lrc\"}]});\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react-is.production.min.js');\n} else {\n module.exports = require('./cjs/react-is.development.js');\n}\n","!function(e,a){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=a():\"function\"==typeof define&&define.amd?define(a):(e.ReactIntlLocaleData=e.ReactIntlLocaleData||{},e.ReactIntlLocaleData.ast=a())}(this,function(){\"use strict\";return[{locale:\"ast\",pluralRuleFunction:function(e,a){var t=!String(e).split(\".\")[1];return a?\"other\":1==e&&t?\"one\":\"other\"},fields:{year:{displayName:\"añu\",relative:{0:\"esti añu\",1:\"l’añu viniente\",\"-1\":\"l’añu pasáu\"},relativeTime:{future:{one:\"en {0} añu\",other:\"en {0} años\"},past:{one:\"hai {0} añu\",other:\"hai {0} años\"}}},\"year-short\":{displayName:\"añu\",relative:{0:\"esti añu\",1:\"l’añu vin.\",\"-1\":\"l’añu pas.\"},relativeTime:{future:{one:\"en {0} añu\",other:\"en {0} años\"},past:{one:\"hai {0} añu\",other:\"hai {0} años\"}}},month:{displayName:\"mes\",relative:{0:\"esti mes\",1:\"el mes viniente\",\"-1\":\"el mes pasáu\"},relativeTime:{future:{one:\"en {0} mes\",other:\"en {0} meses\"},past:{one:\"hai {0} mes\",other:\"hai {0} meses\"}}},\"month-short\":{displayName:\"mes\",relative:{0:\"esti mes\",1:\"mes vin.\",\"-1\":\"mes pas.\"},relativeTime:{future:{one:\"en {0} mes\",other:\"en {0} meses\"},past:{one:\"hai {0} mes\",other:\"hai {0} meses\"}}},day:{displayName:\"día\",relative:{0:\"güei\",1:\"mañana\",2:\"pasao mañana\",\"-2\":\"antayeri\",\"-1\":\"ayeri\"},relativeTime:{future:{one:\"en {0} día\",other:\"en {0} díes\"},past:{one:\"hai {0} día\",other:\"hai {0} díes\"}}},\"day-short\":{displayName:\"día\",relative:{0:\"güei\",1:\"mañana\",2:\"pasao mañana\",\"-2\":\"antayeri\",\"-1\":\"ayeri\"},relativeTime:{future:{one:\"en {0} día\",other:\"en {0} díes\"},past:{one:\"hai {0} día\",other:\"hai {0} díes\"}}},hour:{displayName:\"hora\",relative:{0:\"esta hora\"},relativeTime:{future:{one:\"en {0} hora\",other:\"en {0} hores\"},past:{one:\"hai {0} hora\",other:\"hai {0} hores\"}}},\"hour-short\":{displayName:\"h.\",relative:{0:\"esta hora\"},relativeTime:{future:{one:\"en {0} h.\",other:\"en {0} h.\"},past:{one:\"hai {0} h.\",other:\"hai {0} h.\"}}},minute:{displayName:\"minutu\",relative:{0:\"esti minutu\"},relativeTime:{future:{one:\"en {0} minutu\",other:\"en {0} minutos\"},past:{one:\"hai {0} minutu\",other:\"hai {0} minutos\"}}},\"minute-short\":{displayName:\"min.\",relative:{0:\"esti min.\"},relativeTime:{future:{one:\"en {0} min.\",other:\"en {0} min.\"},past:{one:\"hai {0} min.\",other:\"hai {0} min.\"}}},second:{displayName:\"segundu\",relative:{0:\"agora\"},relativeTime:{future:{one:\"en {0} segundu\",other:\"en {0} segundos\"},past:{one:\"hai {0} segundu\",other:\"hai {0} segundos\"}}},\"second-short\":{displayName:\"s.\",relative:{0:\"agora\"},relativeTime:{future:{one:\"en {0} seg.\",other:\"en {0} seg.\"},past:{one:\"hai {0} seg.\",other:\"hai {0} seg.\"}}}}}]});\n","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n\tvalue: true\n});\nexports.default = DragSource;\n\nvar _invariant = require('invariant');\n\nvar _invariant2 = _interopRequireDefault(_invariant);\n\nvar _isPlainObject = require('lodash/isPlainObject');\n\nvar _isPlainObject2 = _interopRequireDefault(_isPlainObject);\n\nvar _checkDecoratorArguments = require('./utils/checkDecoratorArguments');\n\nvar _checkDecoratorArguments2 = _interopRequireDefault(_checkDecoratorArguments);\n\nvar _decorateHandler = require('./decorateHandler');\n\nvar _decorateHandler2 = _interopRequireDefault(_decorateHandler);\n\nvar _registerSource = require('./registerSource');\n\nvar _registerSource2 = _interopRequireDefault(_registerSource);\n\nvar _createSourceFactory = require('./createSourceFactory');\n\nvar _createSourceFactory2 = _interopRequireDefault(_createSourceFactory);\n\nvar _createSourceMonitor = require('./createSourceMonitor');\n\nvar _createSourceMonitor2 = _interopRequireDefault(_createSourceMonitor);\n\nvar _createSourceConnector = require('./createSourceConnector');\n\nvar _createSourceConnector2 = _interopRequireDefault(_createSourceConnector);\n\nvar _isValidType = require('./utils/isValidType');\n\nvar _isValidType2 = _interopRequireDefault(_isValidType);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction DragSource(type, spec, collect) {\n\tvar options = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};\n\n\t_checkDecoratorArguments2.default.apply(undefined, ['DragSource', 'type, spec, collect[, options]'].concat(Array.prototype.slice.call(arguments)));\n\tvar getType = type;\n\tif (typeof type !== 'function') {\n\t\t(0, _invariant2.default)((0, _isValidType2.default)(type), 'Expected \"type\" provided as the first argument to DragSource to be ' + 'a string, or a function that returns a string given the current props. ' + 'Instead, received %s. ' + 'Read more: http://react-dnd.github.io/react-dnd/docs-drag-source.html', type);\n\t\tgetType = function getType() {\n\t\t\treturn type;\n\t\t};\n\t}\n\t(0, _invariant2.default)((0, _isPlainObject2.default)(spec), 'Expected \"spec\" provided as the second argument to DragSource to be ' + 'a plain object. Instead, received %s. ' + 'Read more: http://react-dnd.github.io/react-dnd/docs-drag-source.html', spec);\n\tvar createSource = (0, _createSourceFactory2.default)(spec);\n\t(0, _invariant2.default)(typeof collect === 'function', 'Expected \"collect\" provided as the third argument to DragSource to be ' + 'a function that returns a plain object of props to inject. ' + 'Instead, received %s. ' + 'Read more: http://react-dnd.github.io/react-dnd/docs-drag-source.html', collect);\n\t(0, _invariant2.default)((0, _isPlainObject2.default)(options), 'Expected \"options\" provided as the fourth argument to DragSource to be ' + 'a plain object when specified. ' + 'Instead, received %s. ' + 'Read more: http://react-dnd.github.io/react-dnd/docs-drag-source.html', collect);\n\n\treturn function decorateSource(DecoratedComponent) {\n\t\treturn (0, _decorateHandler2.default)({\n\t\t\tconnectBackend: function connectBackend(backend, sourceId) {\n\t\t\t\treturn backend.connectDragSource(sourceId);\n\t\t\t},\n\t\t\tcontainerDisplayName: 'DragSource',\n\t\t\tcreateHandler: createSource,\n\t\t\tregisterHandler: _registerSource2.default,\n\t\t\tcreateMonitor: _createSourceMonitor2.default,\n\t\t\tcreateConnector: _createSourceConnector2.default,\n\t\t\tDecoratedComponent: DecoratedComponent,\n\t\t\tgetType: getType,\n\t\t\tcollect: collect,\n\t\t\toptions: options\n\t\t});\n\t};\n}","'use strict';\n\nvar slice = Array.prototype.slice;\nvar isArgs = require('./isArguments');\n\nvar origKeys = Object.keys;\nvar keysShim = origKeys ? function keys(o) { return origKeys(o); } : require('./implementation');\n\nvar originalKeys = Object.keys;\n\nkeysShim.shim = function shimObjectKeys() {\n\tif (Object.keys) {\n\t\tvar keysWorksWithArguments = (function () {\n\t\t\t// Safari 5.0 bug\n\t\t\tvar args = Object.keys(arguments);\n\t\t\treturn args && args.length === arguments.length;\n\t\t}(1, 2));\n\t\tif (!keysWorksWithArguments) {\n\t\t\tObject.keys = function keys(object) { // eslint-disable-line func-name-matching\n\t\t\t\tif (isArgs(object)) {\n\t\t\t\t\treturn originalKeys(slice.call(object));\n\t\t\t\t}\n\t\t\t\treturn originalKeys(object);\n\t\t\t};\n\t\t}\n\t} else {\n\t\tObject.keys = keysShim;\n\t}\n\treturn Object.keys || keysShim;\n};\n\nmodule.exports = keysShim;\n","/**\n * Checks whether a variable is defined.\n *\n * @param {*} variable Variable to check\n */\nexport function isDefined(variable) {\n return typeof variable !== 'undefined';\n}","function _typeof(obj) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }, _typeof(obj); }\n\nimport { isDefined } from './utils';\n\nvar isNumberBetween = function isNumberBetween(min, max) {\n return function (props, propName, componentName) {\n var value = props[propName];\n\n if (isDefined(value)) {\n if (typeof value !== 'number') {\n return new Error(\"Invalid prop `\".concat(propName, \"` of type `\").concat(_typeof(value), \"` supplied to `\").concat(componentName, \"`, expected `number`.\"));\n }\n\n if (value < min || value > max) {\n return new Error(\"Invalid prop `\".concat(propName, \"` of type `\").concat(_typeof(value), \"` supplied to `\").concat(componentName, \"`, length must be between \").concat(min, \" and \").concat(max, \".\"));\n }\n } // Everything is fine\n\n\n return null;\n };\n};\n\nexport var isHandLength = isNumberBetween(0, 100);\nexport var isOppositeHandLength = isNumberBetween(-100, 100);\nexport var isHandWidth = function isHandWidth(props, propName, componentName) {\n var width = props[propName];\n\n if (isDefined(width)) {\n if (typeof width !== 'number') {\n return new Error(\"Invalid prop `\".concat(propName, \"` of type `\").concat(_typeof(width), \"` supplied to `\").concat(componentName, \"`, expected `number`.\"));\n }\n\n if (width < 0) {\n return new Error(\"Invalid prop `\".concat(propName, \"` of type `\").concat(_typeof(width), \"` supplied to `\").concat(componentName, \"`, width must be greater or equal to 0.\"));\n }\n } // Everything is fine\n\n\n return null;\n};\nexport var isMarkLength = isHandLength;\nexport var isMarkWidth = isHandWidth;","import React from 'react';\nimport PropTypes from 'prop-types';\nimport { isHandLength } from './shared/propTypes';\nexport default function Hand(_ref) {\n var _ref$angle = _ref.angle,\n angle = _ref$angle === void 0 ? 0 : _ref$angle,\n name = _ref.name,\n _ref$length = _ref.length,\n length = _ref$length === void 0 ? 100 : _ref$length,\n _ref$oppositeLength = _ref.oppositeLength,\n oppositeLength = _ref$oppositeLength === void 0 ? 10 : _ref$oppositeLength,\n _ref$width = _ref.width,\n width = _ref$width === void 0 ? 1 : _ref$width;\n return /*#__PURE__*/React.createElement(\"div\", {\n className: \"react-clock__hand react-clock__\".concat(name, \"-hand\"),\n style: {\n transform: \"rotate(\".concat(angle, \"deg)\")\n }\n }, /*#__PURE__*/React.createElement(\"div\", {\n className: \"react-clock__hand__body react-clock__\".concat(name, \"-hand__body\"),\n style: {\n width: \"\".concat(width, \"px\"),\n top: \"\".concat(50 - length / 2, \"%\"),\n bottom: \"\".concat(50 - oppositeLength / 2, \"%\")\n }\n }));\n}\nHand.propTypes = {\n angle: PropTypes.number,\n length: isHandLength,\n name: PropTypes.string.isRequired,\n oppositeLength: isHandLength,\n width: PropTypes.number\n};","import React from 'react';\nimport PropTypes from 'prop-types';\nimport { isMarkLength, isMarkWidth } from './shared/propTypes';\nexport default function Mark(_ref) {\n var _ref$angle = _ref.angle,\n angle = _ref$angle === void 0 ? 0 : _ref$angle,\n _ref$length = _ref.length,\n length = _ref$length === void 0 ? 10 : _ref$length,\n name = _ref.name,\n _ref$width = _ref.width,\n width = _ref$width === void 0 ? 1 : _ref$width,\n number = _ref.number;\n return /*#__PURE__*/React.createElement(\"div\", {\n className: \"react-clock__mark react-clock__\".concat(name, \"-mark\"),\n style: {\n transform: \"rotate(\".concat(angle, \"deg)\")\n }\n }, /*#__PURE__*/React.createElement(\"div\", {\n className: \"react-clock__mark__body react-clock__\".concat(name, \"-mark__body\"),\n style: {\n width: \"\".concat(width, \"px\"),\n top: 0,\n bottom: \"\".concat(100 - length / 2, \"%\")\n }\n }), number && /*#__PURE__*/React.createElement(\"div\", {\n className: \"react-clock__mark__number\",\n style: {\n transform: \"rotate(-\".concat(angle, \"deg)\"),\n top: \"\".concat(length / 2, \"%\")\n }\n }, number));\n}\nMark.propTypes = {\n angle: PropTypes.number,\n length: isMarkLength,\n name: PropTypes.string.isRequired,\n number: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n width: isMarkWidth\n};","import React from 'react';\nimport Mark from './Mark';\nexport default function MinuteMark(props) {\n return /*#__PURE__*/React.createElement(Mark, props);\n}","import getUserLocale from 'get-user-locale';\nexport var formatHour = function formatHour(locale, hour) {\n return hour.toLocaleString(locale || getUserLocale());\n};","var _excluded = [\"formatHour\", \"locale\", \"number\"];\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport Mark from './Mark';\nimport { formatHour as defaultFormatHour } from './shared/hourFormatter';\nexport default function HourMark(_ref) {\n var _ref$formatHour = _ref.formatHour,\n formatHour = _ref$formatHour === void 0 ? defaultFormatHour : _ref$formatHour,\n locale = _ref.locale,\n number = _ref.number,\n otherProps = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(Mark, _extends({\n number: number && formatHour(locale, number)\n }, otherProps));\n}\nHourMark.propTypes = {\n formatHour: PropTypes.func,\n locale: PropTypes.string,\n number: PropTypes.oneOfType([PropTypes.number, PropTypes.string])\n};","import React from 'react';\nimport PropTypes from 'prop-types';\nimport mergeClassNames from 'merge-class-names';\nimport { getHours, getMinutes, getSeconds } from '@wojtekmaj/date-utils';\nimport Hand from './Hand';\nimport MinuteMark from './MinuteMark';\nimport HourMark from './HourMark';\nimport { isHandLength, isOppositeHandLength, isHandWidth, isMarkLength, isMarkWidth } from './shared/propTypes';\nexport default function Clock(_ref) {\n var className = _ref.className,\n formatHour = _ref.formatHour,\n _ref$hourHandLength = _ref.hourHandLength,\n hourHandLength = _ref$hourHandLength === void 0 ? 50 : _ref$hourHandLength,\n hourHandOppositeLength = _ref.hourHandOppositeLength,\n _ref$hourHandWidth = _ref.hourHandWidth,\n hourHandWidth = _ref$hourHandWidth === void 0 ? 4 : _ref$hourHandWidth,\n _ref$hourMarksLength = _ref.hourMarksLength,\n hourMarksLength = _ref$hourMarksLength === void 0 ? 10 : _ref$hourMarksLength,\n _ref$hourMarksWidth = _ref.hourMarksWidth,\n hourMarksWidth = _ref$hourMarksWidth === void 0 ? 3 : _ref$hourMarksWidth,\n locale = _ref.locale,\n _ref$minuteHandLength = _ref.minuteHandLength,\n minuteHandLength = _ref$minuteHandLength === void 0 ? 70 : _ref$minuteHandLength,\n minuteHandOppositeLength = _ref.minuteHandOppositeLength,\n _ref$minuteHandWidth = _ref.minuteHandWidth,\n minuteHandWidth = _ref$minuteHandWidth === void 0 ? 2 : _ref$minuteHandWidth,\n _ref$minuteMarksLengt = _ref.minuteMarksLength,\n minuteMarksLength = _ref$minuteMarksLengt === void 0 ? 6 : _ref$minuteMarksLengt,\n _ref$minuteMarksWidth = _ref.minuteMarksWidth,\n minuteMarksWidth = _ref$minuteMarksWidth === void 0 ? 1 : _ref$minuteMarksWidth,\n _ref$renderHourMarks = _ref.renderHourMarks,\n renderHourMarks = _ref$renderHourMarks === void 0 ? true : _ref$renderHourMarks,\n _ref$renderMinuteHand = _ref.renderMinuteHand,\n renderMinuteHand = _ref$renderMinuteHand === void 0 ? true : _ref$renderMinuteHand,\n _ref$renderMinuteMark = _ref.renderMinuteMarks,\n renderMinuteMarks = _ref$renderMinuteMark === void 0 ? true : _ref$renderMinuteMark,\n renderNumbers = _ref.renderNumbers,\n _ref$renderSecondHand = _ref.renderSecondHand,\n renderSecondHand = _ref$renderSecondHand === void 0 ? true : _ref$renderSecondHand,\n _ref$secondHandLength = _ref.secondHandLength,\n secondHandLength = _ref$secondHandLength === void 0 ? 90 : _ref$secondHandLength,\n secondHandOppositeLength = _ref.secondHandOppositeLength,\n _ref$secondHandWidth = _ref.secondHandWidth,\n secondHandWidth = _ref$secondHandWidth === void 0 ? 1 : _ref$secondHandWidth,\n _ref$size = _ref.size,\n size = _ref$size === void 0 ? 150 : _ref$size,\n value = _ref.value;\n\n function renderMinuteMarksFn() {\n if (!renderMinuteMarks) {\n return null;\n }\n\n var minuteMarks = [];\n\n for (var i = 1; i <= 60; i += 1) {\n var isHourMark = renderHourMarks && !(i % 5);\n\n if (!isHourMark) {\n minuteMarks.push( /*#__PURE__*/React.createElement(MinuteMark, {\n key: \"minute_\".concat(i),\n angle: i * 6,\n length: minuteMarksLength,\n name: \"minute\",\n width: minuteMarksWidth\n }));\n }\n }\n\n return minuteMarks;\n }\n\n function renderHourMarksFn() {\n if (!renderHourMarks) {\n return null;\n }\n\n var hourMarks = [];\n\n for (var i = 1; i <= 12; i += 1) {\n hourMarks.push( /*#__PURE__*/React.createElement(HourMark, {\n key: \"hour_\".concat(i),\n angle: i * 30,\n formatHour: formatHour,\n length: hourMarksLength,\n locale: locale,\n name: \"hour\",\n number: renderNumbers ? i : null,\n width: hourMarksWidth\n }));\n }\n\n return hourMarks;\n }\n\n function renderFace() {\n return /*#__PURE__*/React.createElement(\"div\", {\n className: \"react-clock__face\"\n }, renderMinuteMarksFn(), renderHourMarksFn());\n }\n\n function renderHourHandFn() {\n var angle = value ? getHours(value) * 30 + getMinutes(value) / 2 + getSeconds(value) / 600 : 0;\n return /*#__PURE__*/React.createElement(Hand, {\n angle: angle,\n length: hourHandLength,\n name: \"hour\",\n oppositeLength: hourHandOppositeLength,\n width: hourHandWidth\n });\n }\n\n function renderMinuteHandFn() {\n if (!renderMinuteHand) {\n return null;\n }\n\n var angle = value ? getHours(value) * 360 + getMinutes(value) * 6 + getSeconds(value) / 10 : 0;\n return /*#__PURE__*/React.createElement(Hand, {\n angle: angle,\n length: minuteHandLength,\n name: \"minute\",\n oppositeLength: minuteHandOppositeLength,\n width: minuteHandWidth\n });\n }\n\n function renderSecondHandFn() {\n if (!renderSecondHand) {\n return null;\n }\n\n var angle = value ? getMinutes(value) * 360 + getSeconds(value) * 6 : 0;\n return /*#__PURE__*/React.createElement(Hand, {\n angle: angle,\n length: secondHandLength,\n name: \"second\",\n oppositeLength: secondHandOppositeLength,\n width: secondHandWidth\n });\n }\n\n return /*#__PURE__*/React.createElement(\"time\", {\n className: mergeClassNames('react-clock', className),\n dateTime: value instanceof Date ? value.toISOString() : value,\n style: {\n width: \"\".concat(size, \"px\"),\n height: \"\".concat(size, \"px\")\n }\n }, renderFace(), renderHourHandFn(), renderMinuteHandFn(), renderSecondHandFn());\n}\nClock.propTypes = {\n className: PropTypes.oneOfType([PropTypes.string, PropTypes.arrayOf(PropTypes.string)]),\n formatHour: PropTypes.func,\n hourHandLength: isHandLength,\n hourHandOppositeLength: isOppositeHandLength,\n hourHandWidth: isHandWidth,\n hourMarksLength: isMarkLength,\n hourMarksWidth: isMarkWidth,\n locale: PropTypes.string,\n minuteHandLength: isHandLength,\n minuteHandOppositeLength: isOppositeHandLength,\n minuteHandWidth: isHandWidth,\n minuteMarksLength: isMarkLength,\n minuteMarksWidth: isMarkWidth,\n renderHourMarks: PropTypes.bool,\n renderMinuteHand: PropTypes.bool,\n renderMinuteMarks: PropTypes.bool,\n renderNumbers: PropTypes.bool,\n renderSecondHand: PropTypes.bool,\n secondHandLength: isHandLength,\n secondHandOppositeLength: isOppositeHandLength,\n secondHandWidth: isHandWidth,\n size: PropTypes.number,\n value: PropTypes.oneOfType([PropTypes.string, PropTypes.instanceOf(Date)])\n};","import Clock from './Clock';\nexport default Clock;","!function(e,t){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=t():\"function\"==typeof define&&define.amd?define(t):(e.ReactIntlLocaleData=e.ReactIntlLocaleData||{},e.ReactIntlLocaleData.wo=t())}(this,function(){\"use strict\";return[{locale:\"wo\",pluralRuleFunction:function(e,t){return\"other\"},fields:{year:{displayName:\"at\",relative:{0:\"this year\",1:\"next year\",\"-1\":\"last year\"},relativeTime:{future:{other:\"+{0} y\"},past:{other:\"-{0} y\"}}},\"year-short\":{displayName:\"at.\",relative:{0:\"this year\",1:\"next year\",\"-1\":\"last year\"},relativeTime:{future:{other:\"+{0} y\"},past:{other:\"-{0} y\"}}},month:{displayName:\"weer\",relative:{0:\"this month\",1:\"next month\",\"-1\":\"last month\"},relativeTime:{future:{other:\"+{0} m\"},past:{other:\"-{0} m\"}}},\"month-short\":{displayName:\"we.\",relative:{0:\"this month\",1:\"next month\",\"-1\":\"last month\"},relativeTime:{future:{other:\"+{0} m\"},past:{other:\"-{0} m\"}}},day:{displayName:\"fan\",relative:{0:\"tay\",1:\"suba\",\"-1\":\"démb\"},relativeTime:{future:{other:\"+{0} d\"},past:{other:\"-{0} d\"}}},\"day-short\":{displayName:\"fan\",relative:{0:\"tay\",1:\"suba\",\"-1\":\"démb\"},relativeTime:{future:{other:\"+{0} d\"},past:{other:\"-{0} d\"}}},hour:{displayName:\"waxtu\",relative:{0:\"this hour\"},relativeTime:{future:{other:\"+{0} h\"},past:{other:\"-{0} h\"}}},\"hour-short\":{displayName:\"wxt.\",relative:{0:\"this hour\"},relativeTime:{future:{other:\"+{0} h\"},past:{other:\"-{0} h\"}}},minute:{displayName:\"simili\",relative:{0:\"this minute\"},relativeTime:{future:{other:\"+{0} min\"},past:{other:\"-{0} min\"}}},\"minute-short\":{displayName:\"sim.\",relative:{0:\"this minute\"},relativeTime:{future:{other:\"+{0} min\"},past:{other:\"-{0} min\"}}},second:{displayName:\"saa\",relative:{0:\"now\"},relativeTime:{future:{other:\"+{0} s\"},past:{other:\"-{0} s\"}}},\"second-short\":{displayName:\"saa.\",relative:{0:\"now\"},relativeTime:{future:{other:\"+{0} s\"},past:{other:\"-{0} s\"}}}}}]});\n","!function(e,t){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=t():\"function\"==typeof define&&define.amd?define(t):(e.ReactIntlLocaleData=e.ReactIntlLocaleData||{},e.ReactIntlLocaleData.ses=t())}(this,function(){\"use strict\";return[{locale:\"ses\",pluralRuleFunction:function(e,t){return\"other\"},fields:{year:{displayName:\"Jiiri\",relative:{0:\"this year\",1:\"next year\",\"-1\":\"last year\"},relativeTime:{future:{other:\"+{0} y\"},past:{other:\"-{0} y\"}}},\"year-short\":{displayName:\"Jiiri\",relative:{0:\"this year\",1:\"next year\",\"-1\":\"last year\"},relativeTime:{future:{other:\"+{0} y\"},past:{other:\"-{0} y\"}}},month:{displayName:\"Handu\",relative:{0:\"this month\",1:\"next month\",\"-1\":\"last month\"},relativeTime:{future:{other:\"+{0} m\"},past:{other:\"-{0} m\"}}},\"month-short\":{displayName:\"Handu\",relative:{0:\"this month\",1:\"next month\",\"-1\":\"last month\"},relativeTime:{future:{other:\"+{0} m\"},past:{other:\"-{0} m\"}}},day:{displayName:\"Zaari\",relative:{0:\"Hõo\",1:\"Suba\",\"-1\":\"Bi\"},relativeTime:{future:{other:\"+{0} d\"},past:{other:\"-{0} d\"}}},\"day-short\":{displayName:\"Zaari\",relative:{0:\"Hõo\",1:\"Suba\",\"-1\":\"Bi\"},relativeTime:{future:{other:\"+{0} d\"},past:{other:\"-{0} d\"}}},hour:{displayName:\"Guuru\",relative:{0:\"this hour\"},relativeTime:{future:{other:\"+{0} h\"},past:{other:\"-{0} h\"}}},\"hour-short\":{displayName:\"Guuru\",relative:{0:\"this hour\"},relativeTime:{future:{other:\"+{0} h\"},past:{other:\"-{0} h\"}}},minute:{displayName:\"Miniti\",relative:{0:\"this minute\"},relativeTime:{future:{other:\"+{0} min\"},past:{other:\"-{0} min\"}}},\"minute-short\":{displayName:\"Miniti\",relative:{0:\"this minute\"},relativeTime:{future:{other:\"+{0} min\"},past:{other:\"-{0} min\"}}},second:{displayName:\"Miti\",relative:{0:\"now\"},relativeTime:{future:{other:\"+{0} s\"},past:{other:\"-{0} s\"}}},\"second-short\":{displayName:\"Miti\",relative:{0:\"now\"},relativeTime:{future:{other:\"+{0} s\"},past:{other:\"-{0} s\"}}}}}]});\n","!function(e,t){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=t():\"function\"==typeof define&&define.amd?define(t):(e.ReactIntlLocaleData=e.ReactIntlLocaleData||{},e.ReactIntlLocaleData.ta=t())}(this,function(){\"use strict\";return[{locale:\"ta\",pluralRuleFunction:function(e,t){return t?\"other\":1==e?\"one\":\"other\"},fields:{year:{displayName:\"ஆண்டு\",relative:{0:\"இந்த ஆண்டு\",1:\"அடுத்த ஆண்டு\",\"-1\":\"கடந்த ஆண்டு\"},relativeTime:{future:{one:\"{0} ஆண்டில்\",other:\"{0} ஆண்டுகளில்\"},past:{one:\"{0} ஆண்டிற்கு முன்\",other:\"{0} ஆண்டுகளுக்கு முன்\"}}},\"year-short\":{displayName:\"ஆண்டு\",relative:{0:\"இந்த ஆண்டு\",1:\"அடுத்த ஆண்டு\",\"-1\":\"கடந்த ஆண்டு\"},relativeTime:{future:{one:\"{0} ஆண்டில்\",other:\"{0} ஆண்டுகளில்\"},past:{one:\"{0} ஆண்டிற்கு முன்\",other:\"{0} ஆண்டுகளுக்கு முன்\"}}},month:{displayName:\"மாதம்\",relative:{0:\"இந்த மாதம்\",1:\"அடுத்த மாதம்\",\"-1\":\"கடந்த மாதம்\"},relativeTime:{future:{one:\"{0} மாதத்தில்\",other:\"{0} மாதங்களில்\"},past:{one:\"{0} மாதத்துக்கு முன்\",other:\"{0} மாதங்களுக்கு முன்\"}}},\"month-short\":{displayName:\"மாத.\",relative:{0:\"இந்த மாதம்\",1:\"அடுத்த மாதம்\",\"-1\":\"கடந்த மாதம்\"},relativeTime:{future:{one:\"{0} மாத.\",other:\"{0} மாத.\"},past:{one:\"{0} மாத. முன்\",other:\"{0} மாத. முன்\"}}},day:{displayName:\"நாள்\",relative:{0:\"இன்று\",1:\"நாளை\",2:\"நாளை மறுநாள்\",\"-2\":\"நேற்று முன் தினம்\",\"-1\":\"நேற்று\"},relativeTime:{future:{one:\"{0} நாளில்\",other:\"{0} நாட்களில்\"},past:{one:\"{0} நாளுக்கு முன்\",other:\"{0} நாட்களுக்கு முன்\"}}},\"day-short\":{displayName:\"நாள்\",relative:{0:\"இன்று\",1:\"நாளை\",2:\"நாளை மறுநாள்\",\"-2\":\"நேற்று முன் தினம்\",\"-1\":\"நேற்று\"},relativeTime:{future:{one:\"{0} நாளில்\",other:\"{0} நாட்களில்\"},past:{one:\"{0} நாளுக்கு முன்\",other:\"{0} நாட்களுக்கு முன்\"}}},hour:{displayName:\"மணி\",relative:{0:\"இந்த ஒரு மணிநேரத்தில்\"},relativeTime:{future:{one:\"{0} மணிநேரத்தில்\",other:\"{0} மணிநேரத்தில்\"},past:{one:\"{0} மணிநேரம் முன்\",other:\"{0} மணிநேரம் முன்\"}}},\"hour-short\":{displayName:\"மணி.\",relative:{0:\"இந்த ஒரு மணிநேரத்தில்\"},relativeTime:{future:{one:\"{0} மணி.\",other:\"{0} மணி.\"},past:{one:\"{0} மணி. முன்\",other:\"{0} மணி. முன்\"}}},minute:{displayName:\"நிமிடம்\",relative:{0:\"இந்த ஒரு நிமிடத்தில்\"},relativeTime:{future:{one:\"{0} நிமிடத்தில்\",other:\"{0} நிமிடங்களில்\"},past:{one:\"{0} நிமிடத்திற்கு முன்\",other:\"{0} நிமிடங்களுக்கு முன்\"}}},\"minute-short\":{displayName:\"நிமி.\",relative:{0:\"இந்த ஒரு நிமிடத்தில்\"},relativeTime:{future:{one:\"{0} நிமி.\",other:\"{0} நிமி.\"},past:{one:\"{0} நிமி. முன்\",other:\"{0} நிமி. முன்\"}}},second:{displayName:\"விநாடி\",relative:{0:\"இப்போது\"},relativeTime:{future:{one:\"{0} விநாடியில்\",other:\"{0} விநாடிகளில்\"},past:{one:\"{0} விநாடிக்கு முன்\",other:\"{0} விநாடிகளுக்கு முன்\"}}},\"second-short\":{displayName:\"விநா.\",relative:{0:\"இப்போது\"},relativeTime:{future:{one:\"{0} விநா.\",other:\"{0} விநா.\"},past:{one:\"{0} விநா. முன்\",other:\"{0} விநா. முன்\"}}}}},{locale:\"ta-LK\",parentLocale:\"ta\"},{locale:\"ta-MY\",parentLocale:\"ta\"},{locale:\"ta-SG\",parentLocale:\"ta\"}]});\n","!function(e,t){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=t():\"function\"==typeof define&&define.amd?define(t):(e.ReactIntlLocaleData=e.ReactIntlLocaleData||{},e.ReactIntlLocaleData.sms=t())}(this,function(){\"use strict\";return[{locale:\"sms\",pluralRuleFunction:function(e,t){return t?\"other\":1==e?\"one\":2==e?\"two\":\"other\"},fields:{year:{displayName:\"Year\",relative:{0:\"this year\",1:\"next year\",\"-1\":\"last year\"},relativeTime:{future:{other:\"+{0} y\"},past:{other:\"-{0} y\"}}},\"year-short\":{displayName:\"Year\",relative:{0:\"this year\",1:\"next year\",\"-1\":\"last year\"},relativeTime:{future:{other:\"+{0} y\"},past:{other:\"-{0} y\"}}},month:{displayName:\"Month\",relative:{0:\"this month\",1:\"next month\",\"-1\":\"last month\"},relativeTime:{future:{other:\"+{0} m\"},past:{other:\"-{0} m\"}}},\"month-short\":{displayName:\"Month\",relative:{0:\"this month\",1:\"next month\",\"-1\":\"last month\"},relativeTime:{future:{other:\"+{0} m\"},past:{other:\"-{0} m\"}}},day:{displayName:\"Day\",relative:{0:\"today\",1:\"tomorrow\",\"-1\":\"yesterday\"},relativeTime:{future:{other:\"+{0} d\"},past:{other:\"-{0} d\"}}},\"day-short\":{displayName:\"Day\",relative:{0:\"today\",1:\"tomorrow\",\"-1\":\"yesterday\"},relativeTime:{future:{other:\"+{0} d\"},past:{other:\"-{0} d\"}}},hour:{displayName:\"Hour\",relative:{0:\"this hour\"},relativeTime:{future:{other:\"+{0} h\"},past:{other:\"-{0} h\"}}},\"hour-short\":{displayName:\"Hour\",relative:{0:\"this hour\"},relativeTime:{future:{other:\"+{0} h\"},past:{other:\"-{0} h\"}}},minute:{displayName:\"Minute\",relative:{0:\"this minute\"},relativeTime:{future:{other:\"+{0} min\"},past:{other:\"-{0} min\"}}},\"minute-short\":{displayName:\"Minute\",relative:{0:\"this minute\"},relativeTime:{future:{other:\"+{0} min\"},past:{other:\"-{0} min\"}}},second:{displayName:\"Second\",relative:{0:\"now\"},relativeTime:{future:{other:\"+{0} s\"},past:{other:\"-{0} s\"}}},\"second-short\":{displayName:\"Second\",relative:{0:\"now\"},relativeTime:{future:{other:\"+{0} s\"},past:{other:\"-{0} s\"}}}}}]});\n","var isProduction = process.env.NODE_ENV === 'production';\nvar prefix = 'Invariant failed';\nfunction invariant(condition, message) {\n if (condition) {\n return;\n }\n if (isProduction) {\n throw new Error(prefix);\n }\n var provided = typeof message === 'function' ? message() : message;\n var value = provided ? \"\".concat(prefix, \": \").concat(provided) : prefix;\n throw new Error(value);\n}\n\nexport { invariant as default };\n","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n\tvalue: true\n});\nexports.unpackBackendForEs5Users = exports.createChildContext = exports.CHILD_CONTEXT_TYPES = undefined;\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\nexports.default = DragDropContext;\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _propTypes = require('prop-types');\n\nvar _propTypes2 = _interopRequireDefault(_propTypes);\n\nvar _dndCore = require('dnd-core');\n\nvar _invariant = require('invariant');\n\nvar _invariant2 = _interopRequireDefault(_invariant);\n\nvar _hoistNonReactStatics = require('hoist-non-react-statics');\n\nvar _hoistNonReactStatics2 = _interopRequireDefault(_hoistNonReactStatics);\n\nvar _checkDecoratorArguments = require('./utils/checkDecoratorArguments');\n\nvar _checkDecoratorArguments2 = _interopRequireDefault(_checkDecoratorArguments);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar CHILD_CONTEXT_TYPES = exports.CHILD_CONTEXT_TYPES = {\n\tdragDropManager: _propTypes2.default.object.isRequired\n};\n\nvar createChildContext = exports.createChildContext = function createChildContext(backend, context) {\n\treturn {\n\t\tdragDropManager: new _dndCore.DragDropManager(backend, context)\n\t};\n};\n\nvar unpackBackendForEs5Users = exports.unpackBackendForEs5Users = function unpackBackendForEs5Users(backendOrModule) {\n\t// Auto-detect ES6 default export for people still using ES5\n\tvar backend = backendOrModule;\n\tif ((typeof backend === 'undefined' ? 'undefined' : _typeof(backend)) === 'object' && typeof backend.default === 'function') {\n\t\tbackend = backend.default;\n\t}\n\t(0, _invariant2.default)(typeof backend === 'function', 'Expected the backend to be a function or an ES6 module exporting a default function. ' + 'Read more: http://react-dnd.github.io/react-dnd/docs-drag-drop-context.html');\n\treturn backend;\n};\n\nfunction DragDropContext(backendOrModule) {\n\t_checkDecoratorArguments2.default.apply(undefined, ['DragDropContext', 'backend'].concat(Array.prototype.slice.call(arguments))); // eslint-disable-line prefer-rest-params\n\n\tvar backend = unpackBackendForEs5Users(backendOrModule);\n\tvar childContext = createChildContext(backend);\n\n\treturn function decorateContext(DecoratedComponent) {\n\t\tvar _class, _temp;\n\n\t\tvar displayName = DecoratedComponent.displayName || DecoratedComponent.name || 'Component';\n\n\t\tvar DragDropContextContainer = (_temp = _class = function (_Component) {\n\t\t\t_inherits(DragDropContextContainer, _Component);\n\n\t\t\tfunction DragDropContextContainer() {\n\t\t\t\t_classCallCheck(this, DragDropContextContainer);\n\n\t\t\t\treturn _possibleConstructorReturn(this, (DragDropContextContainer.__proto__ || Object.getPrototypeOf(DragDropContextContainer)).apply(this, arguments));\n\t\t\t}\n\n\t\t\t_createClass(DragDropContextContainer, [{\n\t\t\t\tkey: 'getDecoratedComponentInstance',\n\t\t\t\tvalue: function getDecoratedComponentInstance() {\n\t\t\t\t\t(0, _invariant2.default)(this.child, 'In order to access an instance of the decorated component it can not be a stateless component.');\n\t\t\t\t\treturn this.child;\n\t\t\t\t}\n\t\t\t}, {\n\t\t\t\tkey: 'getManager',\n\t\t\t\tvalue: function getManager() {\n\t\t\t\t\treturn childContext.dragDropManager;\n\t\t\t\t}\n\t\t\t}, {\n\t\t\t\tkey: 'getChildContext',\n\t\t\t\tvalue: function getChildContext() {\n\t\t\t\t\treturn childContext;\n\t\t\t\t}\n\t\t\t}, {\n\t\t\t\tkey: 'render',\n\t\t\t\tvalue: function render() {\n\t\t\t\t\tvar _this2 = this;\n\n\t\t\t\t\treturn _react2.default.createElement(DecoratedComponent, _extends({}, this.props, {\n\t\t\t\t\t\tref: function ref(child) {\n\t\t\t\t\t\t\t_this2.child = child;\n\t\t\t\t\t\t}\n\t\t\t\t\t}));\n\t\t\t\t}\n\t\t\t}]);\n\n\t\t\treturn DragDropContextContainer;\n\t\t}(_react.Component), _class.DecoratedComponent = DecoratedComponent, _class.displayName = 'DragDropContext(' + displayName + ')', _class.childContextTypes = CHILD_CONTEXT_TYPES, _temp);\n\n\n\t\treturn (0, _hoistNonReactStatics2.default)(DragDropContextContainer, DecoratedComponent);\n\t};\n}","'use strict';\n\nvar implementation = require('./implementation');\n\nmodule.exports = function getPolyfill() {\n\treturn typeof Object.is === 'function' ? Object.is : implementation;\n};\n","import { isVariableDeclaration } from \"./generated/index.ts\";\nimport type * as t from \"../index.ts\";\n\nif (!process.env.BABEL_8_BREAKING) {\n // eslint-disable-next-line no-var\n var BLOCK_SCOPED_SYMBOL = Symbol.for(\"var used to be block scoped\");\n}\n\n/**\n * Check if the input `node` is a `let` variable declaration.\n */\nexport default function isLet(node: t.Node): boolean {\n if (process.env.BABEL_8_BREAKING) {\n return isVariableDeclaration(node) && node.kind !== \"var\";\n } else {\n return (\n isVariableDeclaration(node) &&\n (node.kind !== \"var\" ||\n // @ts-expect-error Fixme: document private properties\n node[BLOCK_SCOPED_SYMBOL])\n );\n }\n}\n","!function(e,a){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=a():\"function\"==typeof define&&define.amd?define(a):(e.ReactIntlLocaleData=e.ReactIntlLocaleData||{},e.ReactIntlLocaleData.kl=a())}(this,function(){\"use strict\";return[{locale:\"kl\",pluralRuleFunction:function(e,a){return a?\"other\":1==e?\"one\":\"other\"},fields:{year:{displayName:\"Year\",relative:{0:\"this year\",1:\"next year\",\"-1\":\"last year\"},relativeTime:{future:{one:\"om {0} ukioq\",other:\"om {0} ukioq\"},past:{one:\"for {0} ukioq siden\",other:\"for {0} ukioq siden\"}}},\"year-short\":{displayName:\"Year\",relative:{0:\"this year\",1:\"next year\",\"-1\":\"last year\"},relativeTime:{future:{one:\"om {0} ukioq\",other:\"om {0} ukioq\"},past:{one:\"for {0} ukioq siden\",other:\"for {0} ukioq siden\"}}},month:{displayName:\"Month\",relative:{0:\"this month\",1:\"next month\",\"-1\":\"last month\"},relativeTime:{future:{one:\"om {0} qaammat\",other:\"om {0} qaammat\"},past:{one:\"for {0} qaammat siden\",other:\"for {0} qaammat siden\"}}},\"month-short\":{displayName:\"Month\",relative:{0:\"this month\",1:\"next month\",\"-1\":\"last month\"},relativeTime:{future:{one:\"om {0} qaammat\",other:\"om {0} qaammat\"},past:{one:\"for {0} qaammat siden\",other:\"for {0} qaammat siden\"}}},day:{displayName:\"Day\",relative:{0:\"today\",1:\"tomorrow\",\"-1\":\"yesterday\"},relativeTime:{future:{one:\"om {0} ulloq unnuarlu\",other:\"om {0} ulloq unnuarlu\"},past:{one:\"for {0} ulloq unnuarlu siden\",other:\"for {0} ulloq unnuarlu siden\"}}},\"day-short\":{displayName:\"Day\",relative:{0:\"today\",1:\"tomorrow\",\"-1\":\"yesterday\"},relativeTime:{future:{one:\"om {0} ulloq unnuarlu\",other:\"om {0} ulloq unnuarlu\"},past:{one:\"for {0} ulloq unnuarlu siden\",other:\"for {0} ulloq unnuarlu siden\"}}},hour:{displayName:\"Hour\",relative:{0:\"this hour\"},relativeTime:{future:{one:\"om {0} nalunaaquttap-akunnera\",other:\"om {0} nalunaaquttap-akunnera\"},past:{one:\"for {0} nalunaaquttap-akunnera siden\",other:\"for {0} nalunaaquttap-akunnera siden\"}}},\"hour-short\":{displayName:\"Hour\",relative:{0:\"this hour\"},relativeTime:{future:{one:\"om {0} nalunaaquttap-akunnera\",other:\"om {0} nalunaaquttap-akunnera\"},past:{one:\"for {0} nalunaaquttap-akunnera siden\",other:\"for {0} nalunaaquttap-akunnera siden\"}}},minute:{displayName:\"Minute\",relative:{0:\"this minute\"},relativeTime:{future:{one:\"om {0} minutsi\",other:\"om {0} minutsi\"},past:{one:\"for {0} minutsi siden\",other:\"for {0} minutsi siden\"}}},\"minute-short\":{displayName:\"Minute\",relative:{0:\"this minute\"},relativeTime:{future:{one:\"om {0} minutsi\",other:\"om {0} minutsi\"},past:{one:\"for {0} minutsi siden\",other:\"for {0} minutsi siden\"}}},second:{displayName:\"Second\",relative:{0:\"now\"},relativeTime:{future:{one:\"om {0} sekundi\",other:\"om {0} sekundi\"},past:{one:\"for {0} sekundi siden\",other:\"for {0} sekundi siden\"}}},\"second-short\":{displayName:\"Second\",relative:{0:\"now\"},relativeTime:{future:{one:\"om {0} sekundi\",other:\"om {0} sekundi\"},past:{one:\"for {0} sekundi siden\",other:\"for {0} sekundi siden\"}}}}}]});\n","!function(e,t){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=t():\"function\"==typeof define&&define.amd?define(t):(e.ReactIntlLocaleData=e.ReactIntlLocaleData||{},e.ReactIntlLocaleData.dje=t())}(this,function(){\"use strict\";return[{locale:\"dje\",pluralRuleFunction:function(e,t){return\"other\"},fields:{year:{displayName:\"Jiiri\",relative:{0:\"this year\",1:\"next year\",\"-1\":\"last year\"},relativeTime:{future:{other:\"+{0} y\"},past:{other:\"-{0} y\"}}},\"year-short\":{displayName:\"Jiiri\",relative:{0:\"this year\",1:\"next year\",\"-1\":\"last year\"},relativeTime:{future:{other:\"+{0} y\"},past:{other:\"-{0} y\"}}},month:{displayName:\"Handu\",relative:{0:\"this month\",1:\"next month\",\"-1\":\"last month\"},relativeTime:{future:{other:\"+{0} m\"},past:{other:\"-{0} m\"}}},\"month-short\":{displayName:\"Handu\",relative:{0:\"this month\",1:\"next month\",\"-1\":\"last month\"},relativeTime:{future:{other:\"+{0} m\"},past:{other:\"-{0} m\"}}},day:{displayName:\"Zaari\",relative:{0:\"Hõo\",1:\"Suba\",\"-1\":\"Bi\"},relativeTime:{future:{other:\"+{0} d\"},past:{other:\"-{0} d\"}}},\"day-short\":{displayName:\"Zaari\",relative:{0:\"Hõo\",1:\"Suba\",\"-1\":\"Bi\"},relativeTime:{future:{other:\"+{0} d\"},past:{other:\"-{0} d\"}}},hour:{displayName:\"Guuru\",relative:{0:\"this hour\"},relativeTime:{future:{other:\"+{0} h\"},past:{other:\"-{0} h\"}}},\"hour-short\":{displayName:\"Guuru\",relative:{0:\"this hour\"},relativeTime:{future:{other:\"+{0} h\"},past:{other:\"-{0} h\"}}},minute:{displayName:\"Miniti\",relative:{0:\"this minute\"},relativeTime:{future:{other:\"+{0} min\"},past:{other:\"-{0} min\"}}},\"minute-short\":{displayName:\"Miniti\",relative:{0:\"this minute\"},relativeTime:{future:{other:\"+{0} min\"},past:{other:\"-{0} min\"}}},second:{displayName:\"Miti\",relative:{0:\"now\"},relativeTime:{future:{other:\"+{0} s\"},past:{other:\"-{0} s\"}}},\"second-short\":{displayName:\"Miti\",relative:{0:\"now\"},relativeTime:{future:{other:\"+{0} s\"},past:{other:\"-{0} s\"}}}}}]});\n","var reactProperty = require('react-property');\nvar utilities = require('./utilities');\n\n// https://reactjs.org/docs/uncontrolled-components.html\n// https://developer.mozilla.org/docs/Web/HTML/Attributes\nvar UNCONTROLLED_COMPONENT_ATTRIBUTES = ['checked', 'value'];\nvar UNCONTROLLED_COMPONENT_NAMES = ['input', 'select', 'textarea'];\n\nvar VALUE_ONLY_INPUTS = {\n reset: true,\n submit: true\n};\n\n/**\n * Converts HTML/SVG DOM attributes to React props.\n *\n * @param {object} [attributes={}] - HTML/SVG DOM attributes.\n * @param {string} [nodeName] - DOM node name.\n * @returns - React props.\n */\nmodule.exports = function attributesToProps(attributes, nodeName) {\n attributes = attributes || {};\n\n var attributeName;\n var attributeNameLowerCased;\n var attributeValue;\n var propName;\n var propertyInfo;\n var props = {};\n var inputIsValueOnly = attributes.type && VALUE_ONLY_INPUTS[attributes.type];\n\n for (attributeName in attributes) {\n attributeValue = attributes[attributeName];\n\n // ARIA (aria-*) or custom data (data-*) attribute\n if (reactProperty.isCustomAttribute(attributeName)) {\n props[attributeName] = attributeValue;\n continue;\n }\n\n // convert HTML/SVG attribute to React prop\n attributeNameLowerCased = attributeName.toLowerCase();\n propName = getPropName(attributeNameLowerCased);\n\n if (propName) {\n propertyInfo = reactProperty.getPropertyInfo(propName);\n\n // convert attribute to uncontrolled component prop (e.g., `value` to `defaultValue`)\n if (\n UNCONTROLLED_COMPONENT_ATTRIBUTES.indexOf(propName) !== -1 &&\n UNCONTROLLED_COMPONENT_NAMES.indexOf(nodeName) !== -1 &&\n !inputIsValueOnly\n ) {\n propName = getPropName('default' + attributeNameLowerCased);\n }\n\n props[propName] = attributeValue;\n\n switch (propertyInfo && propertyInfo.type) {\n case reactProperty.BOOLEAN:\n props[propName] = true;\n break;\n case reactProperty.OVERLOADED_BOOLEAN:\n if (attributeValue === '') {\n props[propName] = true;\n }\n break;\n }\n continue;\n }\n\n // preserve custom attribute if React >=16\n if (utilities.PRESERVE_CUSTOM_ATTRIBUTES) {\n props[attributeName] = attributeValue;\n }\n }\n\n // transform inline style to object\n utilities.setStyleProp(attributes.style, props);\n\n return props;\n};\n\n/**\n * Gets prop name from lowercased attribute name.\n *\n * @param {string} attributeName - Lowercased attribute name.\n * @returns - Prop name.\n */\nfunction getPropName(attributeName) {\n return reactProperty.possibleStandardNames[attributeName];\n}\n","'use strict';\n\n/** @type {import('./max')} */\nmodule.exports = Math.max;\n","!function(e,t){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=t():\"function\"==typeof define&&define.amd?define(t):(e.ReactIntlLocaleData=e.ReactIntlLocaleData||{},e.ReactIntlLocaleData.as=t())}(this,function(){\"use strict\";return[{locale:\"as\",pluralRuleFunction:function(e,t){return t?1==e||5==e||7==e||8==e||9==e||10==e?\"one\":2==e||3==e?\"two\":4==e?\"few\":6==e?\"many\":\"other\":e>=0&&e<=1?\"one\":\"other\"},fields:{year:{displayName:\"বছৰ\",relative:{0:\"এই বছৰ\",1:\"অহা বছৰ\",\"-1\":\"যোৱা বছৰ\"},relativeTime:{future:{one:\"{0} বছৰত\",other:\"{0} বছৰত\"},past:{one:\"{0} বছৰৰ পূৰ্বে\",other:\"{0} বছৰৰ পূৰ্বে\"}}},\"year-short\":{displayName:\"বছৰ\",relative:{0:\"এই বছৰ\",1:\"অহা বছৰ\",\"-1\":\"যোৱা বছৰ\"},relativeTime:{future:{one:\"{0} বছৰত\",other:\"{0} বছৰত\"},past:{one:\"{0} বছৰৰ পূৰ্বে\",other:\"{0} বছৰৰ পূৰ্বে\"}}},month:{displayName:\"মাহ\",relative:{0:\"এই মাহ\",1:\"অহা মাহ\",\"-1\":\"যোৱা মাহ\"},relativeTime:{future:{one:\"{0} মাহত\",other:\"{0} মাহত\"},past:{one:\"{0} মাহ পূৰ্বে\",other:\"{0} মাহ পূৰ্বে\"}}},\"month-short\":{displayName:\"মাহ\",relative:{0:\"এই মাহ\",1:\"অহা মাহ\",\"-1\":\"যোৱা মাহ\"},relativeTime:{future:{one:\"{0} মাহত\",other:\"{0} মাহত\"},past:{one:\"{0} মাহ পূৰ্বে\",other:\"{0} মাহ পূৰ্বে\"}}},day:{displayName:\"দিন\",relative:{0:\"আজি\",1:\"কাইলৈ\",2:\"পৰহিলৈ\",\"-2\":\"পৰহি\",\"-1\":\"কালি\"},relativeTime:{future:{one:\"{0} দিনত\",other:\"{0} দিনত\"},past:{one:\"{0} দিন পূৰ্বে\",other:\"{0} দিন পূৰ্বে\"}}},\"day-short\":{displayName:\"দিন\",relative:{0:\"আজি\",1:\"কাইলৈ\",2:\"পৰহিলৈ\",\"-2\":\"পৰহি\",\"-1\":\"কালি\"},relativeTime:{future:{one:\"{0} দিনত\",other:\"{0} দিনত\"},past:{one:\"{0} দিন পূৰ্বে\",other:\"{0} দিন পূৰ্বে\"}}},hour:{displayName:\"ঘণ্টা\",relative:{0:\"এইটো ঘণ্টাত\"},relativeTime:{future:{one:\"{0} ঘণ্টাত\",other:\"{0} ঘণ্টাত\"},past:{one:\"{0} ঘণ্টা পূৰ্বে\",other:\"{0} ঘণ্টা পূৰ্বে\"}}},\"hour-short\":{displayName:\"ঘণ্টা\",relative:{0:\"এইটো ঘণ্টাত\"},relativeTime:{future:{one:\"{0} ঘণ্টাত\",other:\"{0} ঘণ্টাত\"},past:{one:\"{0} ঘণ্টা পূৰ্বে\",other:\"{0} ঘণ্টা পূৰ্বে\"}}},minute:{displayName:\"মিনিট\",relative:{0:\"এইটো মিনিটত\"},relativeTime:{future:{one:\"{0} মিনিটত\",other:\"{0} মিনিটত\"},past:{one:\"{0} মিনিট পূৰ্বে\",other:\"{0} মিনিট পূৰ্বে\"}}},\"minute-short\":{displayName:\"মিনিট\",relative:{0:\"এইটো মিনিটত\"},relativeTime:{future:{one:\"{0} মিনিটত\",other:\"{0} মিনিটত\"},past:{one:\"{0} মিনিট পূৰ্বে\",other:\"{0} মিনিট পূৰ্বে\"}}},second:{displayName:\"ছেকেণ্ড\",relative:{0:\"এতিয়া\"},relativeTime:{future:{one:\"{0} ছেকেণ্ডত\",other:\"{0} ছেকেণ্ডত\"},past:{one:\"{0} ছেকেণ্ড পূৰ্বে\",other:\"{0} ছেকেণ্ড পূৰ্বে\"}}},\"second-short\":{displayName:\"ছেকেণ্ড\",relative:{0:\"এতিয়া\"},relativeTime:{future:{one:\"{0} ছেকেণ্ডত\",other:\"{0} ছেকেণ্ডত\"},past:{one:\"{0} ছেকেণ্ড পূৰ্বে\",other:\"{0} ছেকেণ্ড পূৰ্বে\"}}}}}]});\n","!function(e,t){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=t():\"function\"==typeof define&&define.amd?define(t):(e.ReactIntlLocaleData=e.ReactIntlLocaleData||{},e.ReactIntlLocaleData.bez=t())}(this,function(){\"use strict\";return[{locale:\"bez\",pluralRuleFunction:function(e,t){return t?\"other\":1==e?\"one\":\"other\"},fields:{year:{displayName:\"Mwaha\",relative:{0:\"this year\",1:\"next year\",\"-1\":\"last year\"},relativeTime:{future:{other:\"+{0} y\"},past:{other:\"-{0} y\"}}},\"year-short\":{displayName:\"Mwaha\",relative:{0:\"this year\",1:\"next year\",\"-1\":\"last year\"},relativeTime:{future:{other:\"+{0} y\"},past:{other:\"-{0} y\"}}},month:{displayName:\"Mwedzi\",relative:{0:\"this month\",1:\"next month\",\"-1\":\"last month\"},relativeTime:{future:{other:\"+{0} m\"},past:{other:\"-{0} m\"}}},\"month-short\":{displayName:\"Mwedzi\",relative:{0:\"this month\",1:\"next month\",\"-1\":\"last month\"},relativeTime:{future:{other:\"+{0} m\"},past:{other:\"-{0} m\"}}},day:{displayName:\"Sihu\",relative:{0:\"Neng’u ni\",1:\"Hilawu\",\"-1\":\"Igolo\"},relativeTime:{future:{other:\"+{0} d\"},past:{other:\"-{0} d\"}}},\"day-short\":{displayName:\"Sihu\",relative:{0:\"Neng’u ni\",1:\"Hilawu\",\"-1\":\"Igolo\"},relativeTime:{future:{other:\"+{0} d\"},past:{other:\"-{0} d\"}}},hour:{displayName:\"Saa\",relative:{0:\"this hour\"},relativeTime:{future:{other:\"+{0} h\"},past:{other:\"-{0} h\"}}},\"hour-short\":{displayName:\"Saa\",relative:{0:\"this hour\"},relativeTime:{future:{other:\"+{0} h\"},past:{other:\"-{0} h\"}}},minute:{displayName:\"Dakika\",relative:{0:\"this minute\"},relativeTime:{future:{other:\"+{0} min\"},past:{other:\"-{0} min\"}}},\"minute-short\":{displayName:\"Dakika\",relative:{0:\"this minute\"},relativeTime:{future:{other:\"+{0} min\"},past:{other:\"-{0} min\"}}},second:{displayName:\"Sekunde\",relative:{0:\"now\"},relativeTime:{future:{other:\"+{0} s\"},past:{other:\"-{0} s\"}}},\"second-short\":{displayName:\"Sekunde\",relative:{0:\"now\"},relativeTime:{future:{other:\"+{0} s\"},past:{other:\"-{0} s\"}}}}}]});\n","'use strict';\n\nvar bind = require('function-bind');\nvar $TypeError = require('es-errors/type');\n\nvar $call = require('./functionCall');\nvar $actualApply = require('./actualApply');\n\n/** @type {(args: [Function, thisArg?: unknown, ...args: unknown[]]) => Function} TODO FIXME, find a way to use import('.') */\nmodule.exports = function callBindBasic(args) {\n\tif (args.length < 1 || typeof args[0] !== 'function') {\n\t\tthrow new $TypeError('a function is required');\n\t}\n\treturn $actualApply(bind, $call, args);\n};\n","!function(e,t){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=t():\"function\"==typeof define&&define.amd?define(t):(e.ReactIntlLocaleData=e.ReactIntlLocaleData||{},e.ReactIntlLocaleData.nn=t())}(this,function(){\"use strict\";return[{locale:\"nn\",pluralRuleFunction:function(e,t){return t?\"other\":1==e?\"one\":\"other\"},fields:{year:{displayName:\"år\",relative:{0:\"i år\",1:\"neste år\",\"-1\":\"i fjor\"},relativeTime:{future:{one:\"om {0} år\",other:\"om {0} år\"},past:{one:\"for {0} år sidan\",other:\"for {0} år sidan\"}}},\"year-short\":{displayName:\"år\",relative:{0:\"i år\",1:\"neste år\",\"-1\":\"i fjor\"},relativeTime:{future:{one:\"om {0} år\",other:\"om {0} år\"},past:{one:\"for {0} år sidan\",other:\"for {0} år sidan\"}}},month:{displayName:\"månad\",relative:{0:\"denne månaden\",1:\"neste månad\",\"-1\":\"førre månad\"},relativeTime:{future:{one:\"om {0} månad\",other:\"om {0} månadar\"},past:{one:\"for {0} månad sidan\",other:\"for {0} månadar sidan\"}}},\"month-short\":{displayName:\"mnd.\",relative:{0:\"denne månaden\",1:\"neste månad\",\"-1\":\"førre månad\"},relativeTime:{future:{one:\"om {0} md.\",other:\"om {0} md.\"},past:{one:\"for {0} md. sidan\",other:\"for {0} md. sidan\"}}},day:{displayName:\"dag\",relative:{0:\"i dag\",1:\"i morgon\",2:\"i overmorgon\",\"-2\":\"i førgår\",\"-1\":\"i går\"},relativeTime:{future:{one:\"om {0} døgn\",other:\"om {0} døgn\"},past:{one:\"for {0} døgn sidan\",other:\"for {0} døgn sidan\"}}},\"day-short\":{displayName:\"dag\",relative:{0:\"i dag\",1:\"i morgon\",2:\"i overmorgon\",\"-2\":\"i førgår\",\"-1\":\"i går\"},relativeTime:{future:{one:\"om {0} d.\",other:\"om {0} d.\"},past:{one:\"for {0} d. sidan\",other:\"for {0} d. sidan\"}}},hour:{displayName:\"time\",relative:{0:\"denne timen\"},relativeTime:{future:{one:\"om {0} time\",other:\"om {0} timar\"},past:{one:\"for {0} time sidan\",other:\"for {0} timar sidan\"}}},\"hour-short\":{displayName:\"t\",relative:{0:\"denne timen\"},relativeTime:{future:{one:\"om {0} t\",other:\"om {0} t\"},past:{one:\"for {0} t sidan\",other:\"for {0} t sidan\"}}},minute:{displayName:\"minutt\",relative:{0:\"dette minuttet\"},relativeTime:{future:{one:\"om {0} minutt\",other:\"om {0} minutt\"},past:{one:\"for {0} minutt sidan\",other:\"for {0} minutt sidan\"}}},\"minute-short\":{displayName:\"min\",relative:{0:\"dette minuttet\"},relativeTime:{future:{one:\"om {0} min\",other:\"om {0} min\"},past:{one:\"for {0} min sidan\",other:\"for {0} min sidan\"}}},second:{displayName:\"sekund\",relative:{0:\"no\"},relativeTime:{future:{one:\"om {0} sekund\",other:\"om {0} sekund\"},past:{one:\"for {0} sekund sidan\",other:\"for {0} sekund sidan\"}}},\"second-short\":{displayName:\"sek\",relative:{0:\"no\"},relativeTime:{future:{one:\"om {0} sek\",other:\"om {0} sek\"},past:{one:\"for {0} sek sidan\",other:\"for {0} sek sidan\"}}}}}]});\n","'use strict';\n\n/** @type {import('./functionCall')} */\nmodule.exports = Function.prototype.call;\n","export const STATEMENT_OR_BLOCK_KEYS = [\"consequent\", \"body\", \"alternate\"];\nexport const FLATTENABLE_KEYS = [\"body\", \"expressions\"];\nexport const FOR_INIT_KEYS = [\"left\", \"init\"];\nexport const COMMENT_KEYS = [\n \"leadingComments\",\n \"trailingComments\",\n \"innerComments\",\n] as const;\n\nexport const LOGICAL_OPERATORS = [\"||\", \"&&\", \"??\"];\nexport const UPDATE_OPERATORS = [\"++\", \"--\"];\n\nexport const BOOLEAN_NUMBER_BINARY_OPERATORS = [\">\", \"<\", \">=\", \"<=\"];\nexport const EQUALITY_BINARY_OPERATORS = [\"==\", \"===\", \"!=\", \"!==\"];\nexport const COMPARISON_BINARY_OPERATORS = [\n ...EQUALITY_BINARY_OPERATORS,\n \"in\",\n \"instanceof\",\n];\nexport const BOOLEAN_BINARY_OPERATORS = [\n ...COMPARISON_BINARY_OPERATORS,\n ...BOOLEAN_NUMBER_BINARY_OPERATORS,\n];\nexport const NUMBER_BINARY_OPERATORS = [\n \"-\",\n \"/\",\n \"%\",\n \"*\",\n \"**\",\n \"&\",\n \"|\",\n \">>\",\n \">>>\",\n \"<<\",\n \"^\",\n];\nexport const BINARY_OPERATORS = [\n \"+\",\n ...NUMBER_BINARY_OPERATORS,\n ...BOOLEAN_BINARY_OPERATORS,\n \"|>\",\n];\n\nexport const ASSIGNMENT_OPERATORS = [\n \"=\",\n \"+=\",\n ...NUMBER_BINARY_OPERATORS.map(op => op + \"=\"),\n ...LOGICAL_OPERATORS.map(op => op + \"=\"),\n];\n\nexport const BOOLEAN_UNARY_OPERATORS = [\"delete\", \"!\"];\nexport const NUMBER_UNARY_OPERATORS = [\"+\", \"-\", \"~\"];\nexport const STRING_UNARY_OPERATORS = [\"typeof\"];\nexport const UNARY_OPERATORS = [\n \"void\",\n \"throw\",\n ...BOOLEAN_UNARY_OPERATORS,\n ...NUMBER_UNARY_OPERATORS,\n ...STRING_UNARY_OPERATORS,\n];\n\nexport const INHERIT_KEYS = {\n optional: [\"typeAnnotation\", \"typeParameters\", \"returnType\"],\n force: [\"start\", \"loc\", \"end\"],\n} as const;\n\nif (!process.env.BABEL_8_BREAKING && !USE_ESM) {\n // eslint-disable-next-line no-restricted-globals\n exports.BLOCK_SCOPED_SYMBOL = Symbol.for(\"var used to be block scoped\");\n // eslint-disable-next-line no-restricted-globals\n exports.NOT_LOCAL_BINDING = Symbol.for(\n \"should not be considered a local binding\",\n );\n}\n","import matchesPattern from \"./matchesPattern.ts\";\nimport type * as t from \"../index.ts\";\n\n/**\n * Build a function that when called will return whether or not the\n * input `node` `MemberExpression` matches the input `match`.\n *\n * For example, given the match `React.createClass` it would match the\n * parsed nodes of `React.createClass` and `React[\"createClass\"]`.\n */\nexport default function buildMatchMemberExpression(\n match: string,\n allowPartial?: boolean,\n) {\n const parts = match.split(\".\");\n\n return (member: t.Node) => matchesPattern(member, parts, allowPartial);\n}\n","'use strict';\n\n/** @type {import('./functionApply')} */\nmodule.exports = Function.prototype.apply;\n","!function(e,t){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=t():\"function\"==typeof define&&define.amd?define(t):(e.ReactIntlLocaleData=e.ReactIntlLocaleData||{},e.ReactIntlLocaleData.ko=t())}(this,function(){\"use strict\";return[{locale:\"ko\",pluralRuleFunction:function(e,t){return\"other\"},fields:{year:{displayName:\"년\",relative:{0:\"올해\",1:\"내년\",\"-1\":\"작년\"},relativeTime:{future:{other:\"{0}년 후\"},past:{other:\"{0}년 전\"}}},\"year-short\":{displayName:\"년\",relative:{0:\"올해\",1:\"내년\",\"-1\":\"작년\"},relativeTime:{future:{other:\"{0}년 후\"},past:{other:\"{0}년 전\"}}},month:{displayName:\"월\",relative:{0:\"이번 달\",1:\"다음 달\",\"-1\":\"지난달\"},relativeTime:{future:{other:\"{0}개월 후\"},past:{other:\"{0}개월 전\"}}},\"month-short\":{displayName:\"월\",relative:{0:\"이번 달\",1:\"다음 달\",\"-1\":\"지난달\"},relativeTime:{future:{other:\"{0}개월 후\"},past:{other:\"{0}개월 전\"}}},day:{displayName:\"일\",relative:{0:\"오늘\",1:\"내일\",2:\"모레\",\"-2\":\"그저께\",\"-1\":\"어제\"},relativeTime:{future:{other:\"{0}일 후\"},past:{other:\"{0}일 전\"}}},\"day-short\":{displayName:\"일\",relative:{0:\"오늘\",1:\"내일\",2:\"모레\",\"-2\":\"그저께\",\"-1\":\"어제\"},relativeTime:{future:{other:\"{0}일 후\"},past:{other:\"{0}일 전\"}}},hour:{displayName:\"시\",relative:{0:\"현재 시간\"},relativeTime:{future:{other:\"{0}시간 후\"},past:{other:\"{0}시간 전\"}}},\"hour-short\":{displayName:\"시\",relative:{0:\"현재 시간\"},relativeTime:{future:{other:\"{0}시간 후\"},past:{other:\"{0}시간 전\"}}},minute:{displayName:\"분\",relative:{0:\"현재 분\"},relativeTime:{future:{other:\"{0}분 후\"},past:{other:\"{0}분 전\"}}},\"minute-short\":{displayName:\"분\",relative:{0:\"현재 분\"},relativeTime:{future:{other:\"{0}분 후\"},past:{other:\"{0}분 전\"}}},second:{displayName:\"초\",relative:{0:\"지금\"},relativeTime:{future:{other:\"{0}초 후\"},past:{other:\"{0}초 전\"}}},\"second-short\":{displayName:\"초\",relative:{0:\"지금\"},relativeTime:{future:{other:\"{0}초 후\"},past:{other:\"{0}초 전\"}}}}},{locale:\"ko-KP\",parentLocale:\"ko\"}]});\n","'use strict';\n\nexports.__esModule = true;\nexports.ActionTypes = undefined;\nexports['default'] = createStore;\n\nvar _isPlainObject = require('lodash/isPlainObject');\n\nvar _isPlainObject2 = _interopRequireDefault(_isPlainObject);\n\nvar _symbolObservable = require('symbol-observable');\n\nvar _symbolObservable2 = _interopRequireDefault(_symbolObservable);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\n/**\n * These are private action types reserved by Redux.\n * For any unknown actions, you must return the current state.\n * If the current state is undefined, you must return the initial state.\n * Do not reference these action types directly in your code.\n */\nvar ActionTypes = exports.ActionTypes = {\n INIT: '@@redux/INIT'\n\n /**\n * Creates a Redux store that holds the state tree.\n * The only way to change the data in the store is to call `dispatch()` on it.\n *\n * There should only be a single store in your app. To specify how different\n * parts of the state tree respond to actions, you may combine several reducers\n * into a single reducer function by using `combineReducers`.\n *\n * @param {Function} reducer A function that returns the next state tree, given\n * the current state tree and the action to handle.\n *\n * @param {any} [preloadedState] The initial state. You may optionally specify it\n * to hydrate the state from the server in universal apps, or to restore a\n * previously serialized user session.\n * If you use `combineReducers` to produce the root reducer function, this must be\n * an object with the same shape as `combineReducers` keys.\n *\n * @param {Function} [enhancer] The store enhancer. You may optionally specify it\n * to enhance the store with third-party capabilities such as middleware,\n * time travel, persistence, etc. The only store enhancer that ships with Redux\n * is `applyMiddleware()`.\n *\n * @returns {Store} A Redux store that lets you read the state, dispatch actions\n * and subscribe to changes.\n */\n};function createStore(reducer, preloadedState, enhancer) {\n var _ref2;\n\n if (typeof preloadedState === 'function' && typeof enhancer === 'undefined') {\n enhancer = preloadedState;\n preloadedState = undefined;\n }\n\n if (typeof enhancer !== 'undefined') {\n if (typeof enhancer !== 'function') {\n throw new Error('Expected the enhancer to be a function.');\n }\n\n return enhancer(createStore)(reducer, preloadedState);\n }\n\n if (typeof reducer !== 'function') {\n throw new Error('Expected the reducer to be a function.');\n }\n\n var currentReducer = reducer;\n var currentState = preloadedState;\n var currentListeners = [];\n var nextListeners = currentListeners;\n var isDispatching = false;\n\n function ensureCanMutateNextListeners() {\n if (nextListeners === currentListeners) {\n nextListeners = currentListeners.slice();\n }\n }\n\n /**\n * Reads the state tree managed by the store.\n *\n * @returns {any} The current state tree of your application.\n */\n function getState() {\n return currentState;\n }\n\n /**\n * Adds a change listener. It will be called any time an action is dispatched,\n * and some part of the state tree may potentially have changed. You may then\n * call `getState()` to read the current state tree inside the callback.\n *\n * You may call `dispatch()` from a change listener, with the following\n * caveats:\n *\n * 1. The subscriptions are snapshotted just before every `dispatch()` call.\n * If you subscribe or unsubscribe while the listeners are being invoked, this\n * will not have any effect on the `dispatch()` that is currently in progress.\n * However, the next `dispatch()` call, whether nested or not, will use a more\n * recent snapshot of the subscription list.\n *\n * 2. The listener should not expect to see all state changes, as the state\n * might have been updated multiple times during a nested `dispatch()` before\n * the listener is called. It is, however, guaranteed that all subscribers\n * registered before the `dispatch()` started will be called with the latest\n * state by the time it exits.\n *\n * @param {Function} listener A callback to be invoked on every dispatch.\n * @returns {Function} A function to remove this change listener.\n */\n function subscribe(listener) {\n if (typeof listener !== 'function') {\n throw new Error('Expected listener to be a function.');\n }\n\n var isSubscribed = true;\n\n ensureCanMutateNextListeners();\n nextListeners.push(listener);\n\n return function unsubscribe() {\n if (!isSubscribed) {\n return;\n }\n\n isSubscribed = false;\n\n ensureCanMutateNextListeners();\n var index = nextListeners.indexOf(listener);\n nextListeners.splice(index, 1);\n };\n }\n\n /**\n * Dispatches an action. It is the only way to trigger a state change.\n *\n * The `reducer` function, used to create the store, will be called with the\n * current state tree and the given `action`. Its return value will\n * be considered the **next** state of the tree, and the change listeners\n * will be notified.\n *\n * The base implementation only supports plain object actions. If you want to\n * dispatch a Promise, an Observable, a thunk, or something else, you need to\n * wrap your store creating function into the corresponding middleware. For\n * example, see the documentation for the `redux-thunk` package. Even the\n * middleware will eventually dispatch plain object actions using this method.\n *\n * @param {Object} action A plain object representing “what changed”. It is\n * a good idea to keep actions serializable so you can record and replay user\n * sessions, or use the time travelling `redux-devtools`. An action must have\n * a `type` property which may not be `undefined`. It is a good idea to use\n * string constants for action types.\n *\n * @returns {Object} For convenience, the same action object you dispatched.\n *\n * Note that, if you use a custom middleware, it may wrap `dispatch()` to\n * return something else (for example, a Promise you can await).\n */\n function dispatch(action) {\n if (!(0, _isPlainObject2['default'])(action)) {\n throw new Error('Actions must be plain objects. ' + 'Use custom middleware for async actions.');\n }\n\n if (typeof action.type === 'undefined') {\n throw new Error('Actions may not have an undefined \"type\" property. ' + 'Have you misspelled a constant?');\n }\n\n if (isDispatching) {\n throw new Error('Reducers may not dispatch actions.');\n }\n\n try {\n isDispatching = true;\n currentState = currentReducer(currentState, action);\n } finally {\n isDispatching = false;\n }\n\n var listeners = currentListeners = nextListeners;\n for (var i = 0; i < listeners.length; i++) {\n var listener = listeners[i];\n listener();\n }\n\n return action;\n }\n\n /**\n * Replaces the reducer currently used by the store to calculate the state.\n *\n * You might need this if your app implements code splitting and you want to\n * load some of the reducers dynamically. You might also need this if you\n * implement a hot reloading mechanism for Redux.\n *\n * @param {Function} nextReducer The reducer for the store to use instead.\n * @returns {void}\n */\n function replaceReducer(nextReducer) {\n if (typeof nextReducer !== 'function') {\n throw new Error('Expected the nextReducer to be a function.');\n }\n\n currentReducer = nextReducer;\n dispatch({ type: ActionTypes.INIT });\n }\n\n /**\n * Interoperability point for observable/reactive libraries.\n * @returns {observable} A minimal observable of state changes.\n * For more information, see the observable proposal:\n * https://github.com/tc39/proposal-observable\n */\n function observable() {\n var _ref;\n\n var outerSubscribe = subscribe;\n return _ref = {\n /**\n * The minimal observable subscription method.\n * @param {Object} observer Any object that can be used as an observer.\n * The observer object should have a `next` method.\n * @returns {subscription} An object with an `unsubscribe` method that can\n * be used to unsubscribe the observable from the store, and prevent further\n * emission of values from the observable.\n */\n subscribe: function subscribe(observer) {\n if (typeof observer !== 'object') {\n throw new TypeError('Expected the observer to be an object.');\n }\n\n function observeState() {\n if (observer.next) {\n observer.next(getState());\n }\n }\n\n observeState();\n var unsubscribe = outerSubscribe(observeState);\n return { unsubscribe: unsubscribe };\n }\n }, _ref[_symbolObservable2['default']] = function () {\n return this;\n }, _ref;\n }\n\n // When a store is created, an \"INIT\" action is dispatched so that every\n // reducer returns their initial state. This effectively populates\n // the initial state tree.\n dispatch({ type: ActionTypes.INIT });\n\n return _ref2 = {\n dispatch: dispatch,\n subscribe: subscribe,\n getState: getState,\n replaceReducer: replaceReducer\n }, _ref2[_symbolObservable2['default']] = observable, _ref2;\n}","var getNative = require('./_getNative');\n\nvar defineProperty = (function() {\n try {\n var func = getNative(Object, 'defineProperty');\n func({}, '', {});\n return func;\n } catch (e) {}\n}());\n\nmodule.exports = defineProperty;\n","/** @license React v16.13.1\n * react-is.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';var b=\"function\"===typeof Symbol&&Symbol.for,c=b?Symbol.for(\"react.element\"):60103,d=b?Symbol.for(\"react.portal\"):60106,e=b?Symbol.for(\"react.fragment\"):60107,f=b?Symbol.for(\"react.strict_mode\"):60108,g=b?Symbol.for(\"react.profiler\"):60114,h=b?Symbol.for(\"react.provider\"):60109,k=b?Symbol.for(\"react.context\"):60110,l=b?Symbol.for(\"react.async_mode\"):60111,m=b?Symbol.for(\"react.concurrent_mode\"):60111,n=b?Symbol.for(\"react.forward_ref\"):60112,p=b?Symbol.for(\"react.suspense\"):60113,q=b?\nSymbol.for(\"react.suspense_list\"):60120,r=b?Symbol.for(\"react.memo\"):60115,t=b?Symbol.for(\"react.lazy\"):60116,v=b?Symbol.for(\"react.block\"):60121,w=b?Symbol.for(\"react.fundamental\"):60117,x=b?Symbol.for(\"react.responder\"):60118,y=b?Symbol.for(\"react.scope\"):60119;\nfunction z(a){if(\"object\"===typeof a&&null!==a){var u=a.$$typeof;switch(u){case c:switch(a=a.type,a){case l:case m:case e:case g:case f:case p:return a;default:switch(a=a&&a.$$typeof,a){case k:case n:case t:case r:case h:return a;default:return u}}case d:return u}}}function A(a){return z(a)===m}exports.AsyncMode=l;exports.ConcurrentMode=m;exports.ContextConsumer=k;exports.ContextProvider=h;exports.Element=c;exports.ForwardRef=n;exports.Fragment=e;exports.Lazy=t;exports.Memo=r;exports.Portal=d;\nexports.Profiler=g;exports.StrictMode=f;exports.Suspense=p;exports.isAsyncMode=function(a){return A(a)||z(a)===l};exports.isConcurrentMode=A;exports.isContextConsumer=function(a){return z(a)===k};exports.isContextProvider=function(a){return z(a)===h};exports.isElement=function(a){return\"object\"===typeof a&&null!==a&&a.$$typeof===c};exports.isForwardRef=function(a){return z(a)===n};exports.isFragment=function(a){return z(a)===e};exports.isLazy=function(a){return z(a)===t};\nexports.isMemo=function(a){return z(a)===r};exports.isPortal=function(a){return z(a)===d};exports.isProfiler=function(a){return z(a)===g};exports.isStrictMode=function(a){return z(a)===f};exports.isSuspense=function(a){return z(a)===p};\nexports.isValidElementType=function(a){return\"string\"===typeof a||\"function\"===typeof a||a===e||a===m||a===g||a===f||a===p||a===q||\"object\"===typeof a&&null!==a&&(a.$$typeof===t||a.$$typeof===r||a.$$typeof===h||a.$$typeof===k||a.$$typeof===n||a.$$typeof===w||a.$$typeof===x||a.$$typeof===y||a.$$typeof===v)};exports.typeOf=z;\n","!function(e,t){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=t():\"function\"==typeof define&&define.amd?define(t):(e.ReactIntlLocaleData=e.ReactIntlLocaleData||{},e.ReactIntlLocaleData.zgh=t())}(this,function(){\"use strict\";return[{locale:\"zgh\",pluralRuleFunction:function(e,t){return\"other\"},fields:{year:{displayName:\"ⴰⵙⴳⴳⵯⴰⵙ\",relative:{0:\"this year\",1:\"next year\",\"-1\":\"last year\"},relativeTime:{future:{other:\"+{0} y\"},past:{other:\"-{0} y\"}}},\"year-short\":{displayName:\"ⴰⵙⴳⴳⵯⴰⵙ\",relative:{0:\"this year\",1:\"next year\",\"-1\":\"last year\"},relativeTime:{future:{other:\"+{0} y\"},past:{other:\"-{0} y\"}}},month:{displayName:\"ⴰⵢⵢⵓⵔ\",relative:{0:\"this month\",1:\"next month\",\"-1\":\"last month\"},relativeTime:{future:{other:\"+{0} m\"},past:{other:\"-{0} m\"}}},\"month-short\":{displayName:\"ⴰⵢⵢⵓⵔ\",relative:{0:\"this month\",1:\"next month\",\"-1\":\"last month\"},relativeTime:{future:{other:\"+{0} m\"},past:{other:\"-{0} m\"}}},day:{displayName:\"ⴰⵙⵙ\",relative:{0:\"ⴰⵙⵙⴰ\",1:\"ⴰⵙⴽⴽⴰ\",\"-1\":\"ⵉⴹⵍⵍⵉ\"},relativeTime:{future:{other:\"+{0} d\"},past:{other:\"-{0} d\"}}},\"day-short\":{displayName:\"ⴰⵙⵙ\",relative:{0:\"ⴰⵙⵙⴰ\",1:\"ⴰⵙⴽⴽⴰ\",\"-1\":\"ⵉⴹⵍⵍⵉ\"},relativeTime:{future:{other:\"+{0} d\"},past:{other:\"-{0} d\"}}},hour:{displayName:\"ⵜⴰⵙⵔⴰⴳⵜ\",relative:{0:\"this hour\"},relativeTime:{future:{other:\"+{0} h\"},past:{other:\"-{0} h\"}}},\"hour-short\":{displayName:\"ⵜⴰⵙⵔⴰⴳⵜ\",relative:{0:\"this hour\"},relativeTime:{future:{other:\"+{0} h\"},past:{other:\"-{0} h\"}}},minute:{displayName:\"ⵜⵓⵙⴷⵉⴷⵜ\",relative:{0:\"this minute\"},relativeTime:{future:{other:\"+{0} min\"},past:{other:\"-{0} min\"}}},\"minute-short\":{displayName:\"ⵜⵓⵙⴷⵉⴷⵜ\",relative:{0:\"this minute\"},relativeTime:{future:{other:\"+{0} min\"},past:{other:\"-{0} min\"}}},second:{displayName:\"ⵜⴰⵙⵉⵏⵜ\",relative:{0:\"now\"},relativeTime:{future:{other:\"+{0} s\"},past:{other:\"-{0} s\"}}},\"second-short\":{displayName:\"ⵜⴰⵙⵉⵏⵜ\",relative:{0:\"now\"},relativeTime:{future:{other:\"+{0} s\"},past:{other:\"-{0} s\"}}}}}]});\n","// TODO(Babel 8) Remove this file\nif (process.env.BABEL_8_BREAKING && process.env.IS_PUBLISH) {\n throw new Error(\n \"Internal Babel error: This file should only be loaded in Babel 7\",\n );\n}\n\nimport getBindingIdentifiers from \"../retrievers/getBindingIdentifiers.ts\";\nimport {\n isExpression,\n isExpressionStatement,\n isVariableDeclaration,\n isIfStatement,\n isBlockStatement,\n isEmptyStatement,\n} from \"../validators/generated/index.ts\";\nimport {\n sequenceExpression,\n assignmentExpression,\n conditionalExpression,\n} from \"../builders/generated/index.ts\";\nimport { buildUndefinedNode } from \"../builders/productions.ts\";\nimport cloneNode from \"../clone/cloneNode.ts\";\nimport type * as t from \"../index.ts\";\n\nexport type DeclarationInfo = {\n kind: t.VariableDeclaration[\"kind\"];\n id: t.Identifier;\n};\n\nexport default function gatherSequenceExpressions(\n nodes: ReadonlyArray,\n declars: Array,\n) {\n const exprs: t.Expression[] = [];\n let ensureLastUndefined = true;\n\n for (const node of nodes) {\n // if we encounter emptyStatement before a non-emptyStatement\n // we want to disregard that\n if (!isEmptyStatement(node)) {\n ensureLastUndefined = false;\n }\n\n if (isExpression(node)) {\n exprs.push(node);\n } else if (isExpressionStatement(node)) {\n exprs.push(node.expression);\n } else if (isVariableDeclaration(node)) {\n if (node.kind !== \"var\") return; // bailed\n\n for (const declar of node.declarations) {\n const bindings = getBindingIdentifiers(declar);\n for (const key of Object.keys(bindings)) {\n declars.push({\n kind: node.kind,\n id: cloneNode(bindings[key]),\n });\n }\n\n if (declar.init) {\n exprs.push(assignmentExpression(\"=\", declar.id, declar.init));\n }\n }\n\n ensureLastUndefined = true;\n } else if (isIfStatement(node)) {\n const consequent = node.consequent\n ? gatherSequenceExpressions([node.consequent], declars)\n : buildUndefinedNode();\n const alternate = node.alternate\n ? gatherSequenceExpressions([node.alternate], declars)\n : buildUndefinedNode();\n if (!consequent || !alternate) return; // bailed\n\n exprs.push(conditionalExpression(node.test, consequent, alternate));\n } else if (isBlockStatement(node)) {\n const body = gatherSequenceExpressions(node.body, declars);\n if (!body) return; // bailed\n\n exprs.push(body);\n } else if (isEmptyStatement(node)) {\n // empty statement so ensure the last item is undefined if we're last\n // checks if emptyStatement is first\n if (nodes.indexOf(node) === 0) {\n ensureLastUndefined = true;\n }\n } else {\n // bailed, we can't turn this statement into an expression\n return;\n }\n }\n\n if (ensureLastUndefined) {\n exprs.push(buildUndefinedNode());\n }\n\n if (exprs.length === 1) {\n return exprs[0];\n } else {\n return sequenceExpression(exprs);\n }\n}\n","!function(e,n){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=n():\"function\"==typeof define&&define.amd?define(n):(e.ReactIntlLocaleData=e.ReactIntlLocaleData||{},e.ReactIntlLocaleData.fy=n())}(this,function(){\"use strict\";return[{locale:\"fy\",pluralRuleFunction:function(e,n){var r=!String(e).split(\".\")[1];return n?\"other\":1==e&&r?\"one\":\"other\"},fields:{year:{displayName:\"Jier\",relative:{0:\"dit jier\",1:\"folgjend jier\",\"-1\":\"foarich jier\"},relativeTime:{future:{one:\"Oer {0} jier\",other:\"Oer {0} jier\"},past:{one:\"{0} jier lyn\",other:\"{0} jier lyn\"}}},\"year-short\":{displayName:\"Jier\",relative:{0:\"dit jier\",1:\"folgjend jier\",\"-1\":\"foarich jier\"},relativeTime:{future:{one:\"Oer {0} jier\",other:\"Oer {0} jier\"},past:{one:\"{0} jier lyn\",other:\"{0} jier lyn\"}}},month:{displayName:\"Moanne\",relative:{0:\"dizze moanne\",1:\"folgjende moanne\",\"-1\":\"foarige moanne\"},relativeTime:{future:{one:\"Oer {0} moanne\",other:\"Oer {0} moannen\"},past:{one:\"{0} moanne lyn\",other:\"{0} moannen lyn\"}}},\"month-short\":{displayName:\"Moanne\",relative:{0:\"dizze moanne\",1:\"folgjende moanne\",\"-1\":\"foarige moanne\"},relativeTime:{future:{one:\"Oer {0} moanne\",other:\"Oer {0} moannen\"},past:{one:\"{0} moanne lyn\",other:\"{0} moannen lyn\"}}},day:{displayName:\"dei\",relative:{0:\"vandaag\",1:\"morgen\",2:\"Oermorgen\",\"-2\":\"eergisteren\",\"-1\":\"gisteren\"},relativeTime:{future:{one:\"Oer {0} dei\",other:\"Oer {0} deien\"},past:{one:\"{0} dei lyn\",other:\"{0} deien lyn\"}}},\"day-short\":{displayName:\"dei\",relative:{0:\"vandaag\",1:\"morgen\",2:\"Oermorgen\",\"-2\":\"eergisteren\",\"-1\":\"gisteren\"},relativeTime:{future:{one:\"Oer {0} dei\",other:\"Oer {0} deien\"},past:{one:\"{0} dei lyn\",other:\"{0} deien lyn\"}}},hour:{displayName:\"oere\",relative:{0:\"this hour\"},relativeTime:{future:{one:\"Oer {0} oere\",other:\"Oer {0} oere\"},past:{one:\"{0} oere lyn\",other:\"{0} oere lyn\"}}},\"hour-short\":{displayName:\"oere\",relative:{0:\"this hour\"},relativeTime:{future:{one:\"Oer {0} oere\",other:\"Oer {0} oere\"},past:{one:\"{0} oere lyn\",other:\"{0} oere lyn\"}}},minute:{displayName:\"Minút\",relative:{0:\"this minute\"},relativeTime:{future:{one:\"Oer {0} minút\",other:\"Oer {0} minuten\"},past:{one:\"{0} minút lyn\",other:\"{0} minuten lyn\"}}},\"minute-short\":{displayName:\"Minút\",relative:{0:\"this minute\"},relativeTime:{future:{one:\"Oer {0} minút\",other:\"Oer {0} minuten\"},past:{one:\"{0} minút lyn\",other:\"{0} minuten lyn\"}}},second:{displayName:\"Sekonde\",relative:{0:\"nu\"},relativeTime:{future:{one:\"Oer {0} sekonde\",other:\"Oer {0} sekonden\"},past:{one:\"{0} sekonde lyn\",other:\"{0} sekonden lyn\"}}},\"second-short\":{displayName:\"Sekonde\",relative:{0:\"nu\"},relativeTime:{future:{one:\"Oer {0} sekonde\",other:\"Oer {0} sekonden\"},past:{one:\"{0} sekonde lyn\",other:\"{0} sekonden lyn\"}}}}}]});\n","export default (function() {\n \"use strict\";\n\n /*\n * Generated by PEG.js 0.9.0.\n *\n * http://pegjs.org/\n */\n\n function peg$subclass(child, parent) {\n function ctor() { this.constructor = child; }\n ctor.prototype = parent.prototype;\n child.prototype = new ctor();\n }\n\n function peg$SyntaxError(message, expected, found, location) {\n this.message = message;\n this.expected = expected;\n this.found = found;\n this.location = location;\n this.name = \"SyntaxError\";\n\n if (typeof Error.captureStackTrace === \"function\") {\n Error.captureStackTrace(this, peg$SyntaxError);\n }\n }\n\n peg$subclass(peg$SyntaxError, Error);\n\n function peg$parse(input) {\n var options = arguments.length > 1 ? arguments[1] : {},\n parser = this,\n\n peg$FAILED = {},\n\n peg$startRuleFunctions = { start: peg$parsestart },\n peg$startRuleFunction = peg$parsestart,\n\n peg$c0 = function(elements) {\n return {\n type : 'messageFormatPattern',\n elements: elements,\n location: location()\n };\n },\n peg$c1 = function(text) {\n var string = '',\n i, j, outerLen, inner, innerLen;\n\n for (i = 0, outerLen = text.length; i < outerLen; i += 1) {\n inner = text[i];\n\n for (j = 0, innerLen = inner.length; j < innerLen; j += 1) {\n string += inner[j];\n }\n }\n\n return string;\n },\n peg$c2 = function(messageText) {\n return {\n type : 'messageTextElement',\n value: messageText,\n location: location()\n };\n },\n peg$c3 = /^[^ \\t\\n\\r,.+={}#]/,\n peg$c4 = { type: \"class\", value: \"[^ \\\\t\\\\n\\\\r,.+={}#]\", description: \"[^ \\\\t\\\\n\\\\r,.+={}#]\" },\n peg$c5 = \"{\",\n peg$c6 = { type: \"literal\", value: \"{\", description: \"\\\"{\\\"\" },\n peg$c7 = \",\",\n peg$c8 = { type: \"literal\", value: \",\", description: \"\\\",\\\"\" },\n peg$c9 = \"}\",\n peg$c10 = { type: \"literal\", value: \"}\", description: \"\\\"}\\\"\" },\n peg$c11 = function(id, format) {\n return {\n type : 'argumentElement',\n id : id,\n format: format && format[2],\n location: location()\n };\n },\n peg$c12 = \"number\",\n peg$c13 = { type: \"literal\", value: \"number\", description: \"\\\"number\\\"\" },\n peg$c14 = \"date\",\n peg$c15 = { type: \"literal\", value: \"date\", description: \"\\\"date\\\"\" },\n peg$c16 = \"time\",\n peg$c17 = { type: \"literal\", value: \"time\", description: \"\\\"time\\\"\" },\n peg$c18 = function(type, style) {\n return {\n type : type + 'Format',\n style: style && style[2],\n location: location()\n };\n },\n peg$c19 = \"plural\",\n peg$c20 = { type: \"literal\", value: \"plural\", description: \"\\\"plural\\\"\" },\n peg$c21 = function(pluralStyle) {\n return {\n type : pluralStyle.type,\n ordinal: false,\n offset : pluralStyle.offset || 0,\n options: pluralStyle.options,\n location: location()\n };\n },\n peg$c22 = \"selectordinal\",\n peg$c23 = { type: \"literal\", value: \"selectordinal\", description: \"\\\"selectordinal\\\"\" },\n peg$c24 = function(pluralStyle) {\n return {\n type : pluralStyle.type,\n ordinal: true,\n offset : pluralStyle.offset || 0,\n options: pluralStyle.options,\n location: location()\n }\n },\n peg$c25 = \"select\",\n peg$c26 = { type: \"literal\", value: \"select\", description: \"\\\"select\\\"\" },\n peg$c27 = function(options) {\n return {\n type : 'selectFormat',\n options: options,\n location: location()\n };\n },\n peg$c28 = \"=\",\n peg$c29 = { type: \"literal\", value: \"=\", description: \"\\\"=\\\"\" },\n peg$c30 = function(selector, pattern) {\n return {\n type : 'optionalFormatPattern',\n selector: selector,\n value : pattern,\n location: location()\n };\n },\n peg$c31 = \"offset:\",\n peg$c32 = { type: \"literal\", value: \"offset:\", description: \"\\\"offset:\\\"\" },\n peg$c33 = function(number) {\n return number;\n },\n peg$c34 = function(offset, options) {\n return {\n type : 'pluralFormat',\n offset : offset,\n options: options,\n location: location()\n };\n },\n peg$c35 = { type: \"other\", description: \"whitespace\" },\n peg$c36 = /^[ \\t\\n\\r]/,\n peg$c37 = { type: \"class\", value: \"[ \\\\t\\\\n\\\\r]\", description: \"[ \\\\t\\\\n\\\\r]\" },\n peg$c38 = { type: \"other\", description: \"optionalWhitespace\" },\n peg$c39 = /^[0-9]/,\n peg$c40 = { type: \"class\", value: \"[0-9]\", description: \"[0-9]\" },\n peg$c41 = /^[0-9a-f]/i,\n peg$c42 = { type: \"class\", value: \"[0-9a-f]i\", description: \"[0-9a-f]i\" },\n peg$c43 = \"0\",\n peg$c44 = { type: \"literal\", value: \"0\", description: \"\\\"0\\\"\" },\n peg$c45 = /^[1-9]/,\n peg$c46 = { type: \"class\", value: \"[1-9]\", description: \"[1-9]\" },\n peg$c47 = function(digits) {\n return parseInt(digits, 10);\n },\n peg$c48 = /^[^{}\\\\\\0-\\x1F \\t\\n\\r]/,\n peg$c49 = { type: \"class\", value: \"[^{}\\\\\\\\\\\\0-\\\\x1F\\\\x7f \\\\t\\\\n\\\\r]\", description: \"[^{}\\\\\\\\\\\\0-\\\\x1F\\\\x7f \\\\t\\\\n\\\\r]\" },\n peg$c50 = \"\\\\\\\\\",\n peg$c51 = { type: \"literal\", value: \"\\\\\\\\\", description: \"\\\"\\\\\\\\\\\\\\\\\\\"\" },\n peg$c52 = function() { return '\\\\'; },\n peg$c53 = \"\\\\#\",\n peg$c54 = { type: \"literal\", value: \"\\\\#\", description: \"\\\"\\\\\\\\#\\\"\" },\n peg$c55 = function() { return '\\\\#'; },\n peg$c56 = \"\\\\{\",\n peg$c57 = { type: \"literal\", value: \"\\\\{\", description: \"\\\"\\\\\\\\{\\\"\" },\n peg$c58 = function() { return '\\u007B'; },\n peg$c59 = \"\\\\}\",\n peg$c60 = { type: \"literal\", value: \"\\\\}\", description: \"\\\"\\\\\\\\}\\\"\" },\n peg$c61 = function() { return '\\u007D'; },\n peg$c62 = \"\\\\u\",\n peg$c63 = { type: \"literal\", value: \"\\\\u\", description: \"\\\"\\\\\\\\u\\\"\" },\n peg$c64 = function(digits) {\n return String.fromCharCode(parseInt(digits, 16));\n },\n peg$c65 = function(chars) { return chars.join(''); },\n\n peg$currPos = 0,\n peg$savedPos = 0,\n peg$posDetailsCache = [{ line: 1, column: 1, seenCR: false }],\n peg$maxFailPos = 0,\n peg$maxFailExpected = [],\n peg$silentFails = 0,\n\n peg$result;\n\n if (\"startRule\" in options) {\n if (!(options.startRule in peg$startRuleFunctions)) {\n throw new Error(\"Can't start parsing from rule \\\"\" + options.startRule + \"\\\".\");\n }\n\n peg$startRuleFunction = peg$startRuleFunctions[options.startRule];\n }\n\n function text() {\n return input.substring(peg$savedPos, peg$currPos);\n }\n\n function location() {\n return peg$computeLocation(peg$savedPos, peg$currPos);\n }\n\n function expected(description) {\n throw peg$buildException(\n null,\n [{ type: \"other\", description: description }],\n input.substring(peg$savedPos, peg$currPos),\n peg$computeLocation(peg$savedPos, peg$currPos)\n );\n }\n\n function error(message) {\n throw peg$buildException(\n message,\n null,\n input.substring(peg$savedPos, peg$currPos),\n peg$computeLocation(peg$savedPos, peg$currPos)\n );\n }\n\n function peg$computePosDetails(pos) {\n var details = peg$posDetailsCache[pos],\n p, ch;\n\n if (details) {\n return details;\n } else {\n p = pos - 1;\n while (!peg$posDetailsCache[p]) {\n p--;\n }\n\n details = peg$posDetailsCache[p];\n details = {\n line: details.line,\n column: details.column,\n seenCR: details.seenCR\n };\n\n while (p < pos) {\n ch = input.charAt(p);\n if (ch === \"\\n\") {\n if (!details.seenCR) { details.line++; }\n details.column = 1;\n details.seenCR = false;\n } else if (ch === \"\\r\" || ch === \"\\u2028\" || ch === \"\\u2029\") {\n details.line++;\n details.column = 1;\n details.seenCR = true;\n } else {\n details.column++;\n details.seenCR = false;\n }\n\n p++;\n }\n\n peg$posDetailsCache[pos] = details;\n return details;\n }\n }\n\n function peg$computeLocation(startPos, endPos) {\n var startPosDetails = peg$computePosDetails(startPos),\n endPosDetails = peg$computePosDetails(endPos);\n\n return {\n start: {\n offset: startPos,\n line: startPosDetails.line,\n column: startPosDetails.column\n },\n end: {\n offset: endPos,\n line: endPosDetails.line,\n column: endPosDetails.column\n }\n };\n }\n\n function peg$fail(expected) {\n if (peg$currPos < peg$maxFailPos) { return; }\n\n if (peg$currPos > peg$maxFailPos) {\n peg$maxFailPos = peg$currPos;\n peg$maxFailExpected = [];\n }\n\n peg$maxFailExpected.push(expected);\n }\n\n function peg$buildException(message, expected, found, location) {\n function cleanupExpected(expected) {\n var i = 1;\n\n expected.sort(function(a, b) {\n if (a.description < b.description) {\n return -1;\n } else if (a.description > b.description) {\n return 1;\n } else {\n return 0;\n }\n });\n\n while (i < expected.length) {\n if (expected[i - 1] === expected[i]) {\n expected.splice(i, 1);\n } else {\n i++;\n }\n }\n }\n\n function buildMessage(expected, found) {\n function stringEscape(s) {\n function hex(ch) { return ch.charCodeAt(0).toString(16).toUpperCase(); }\n\n return s\n .replace(/\\\\/g, '\\\\\\\\')\n .replace(/\"/g, '\\\\\"')\n .replace(/\\x08/g, '\\\\b')\n .replace(/\\t/g, '\\\\t')\n .replace(/\\n/g, '\\\\n')\n .replace(/\\f/g, '\\\\f')\n .replace(/\\r/g, '\\\\r')\n .replace(/[\\x00-\\x07\\x0B\\x0E\\x0F]/g, function(ch) { return '\\\\x0' + hex(ch); })\n .replace(/[\\x10-\\x1F\\x80-\\xFF]/g, function(ch) { return '\\\\x' + hex(ch); })\n .replace(/[\\u0100-\\u0FFF]/g, function(ch) { return '\\\\u0' + hex(ch); })\n .replace(/[\\u1000-\\uFFFF]/g, function(ch) { return '\\\\u' + hex(ch); });\n }\n\n var expectedDescs = new Array(expected.length),\n expectedDesc, foundDesc, i;\n\n for (i = 0; i < expected.length; i++) {\n expectedDescs[i] = expected[i].description;\n }\n\n expectedDesc = expected.length > 1\n ? expectedDescs.slice(0, -1).join(\", \")\n + \" or \"\n + expectedDescs[expected.length - 1]\n : expectedDescs[0];\n\n foundDesc = found ? \"\\\"\" + stringEscape(found) + \"\\\"\" : \"end of input\";\n\n return \"Expected \" + expectedDesc + \" but \" + foundDesc + \" found.\";\n }\n\n if (expected !== null) {\n cleanupExpected(expected);\n }\n\n return new peg$SyntaxError(\n message !== null ? message : buildMessage(expected, found),\n expected,\n found,\n location\n );\n }\n\n function peg$parsestart() {\n var s0;\n\n s0 = peg$parsemessageFormatPattern();\n\n return s0;\n }\n\n function peg$parsemessageFormatPattern() {\n var s0, s1, s2;\n\n s0 = peg$currPos;\n s1 = [];\n s2 = peg$parsemessageFormatElement();\n while (s2 !== peg$FAILED) {\n s1.push(s2);\n s2 = peg$parsemessageFormatElement();\n }\n if (s1 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c0(s1);\n }\n s0 = s1;\n\n return s0;\n }\n\n function peg$parsemessageFormatElement() {\n var s0;\n\n s0 = peg$parsemessageTextElement();\n if (s0 === peg$FAILED) {\n s0 = peg$parseargumentElement();\n }\n\n return s0;\n }\n\n function peg$parsemessageText() {\n var s0, s1, s2, s3, s4, s5;\n\n s0 = peg$currPos;\n s1 = [];\n s2 = peg$currPos;\n s3 = peg$parse_();\n if (s3 !== peg$FAILED) {\n s4 = peg$parsechars();\n if (s4 !== peg$FAILED) {\n s5 = peg$parse_();\n if (s5 !== peg$FAILED) {\n s3 = [s3, s4, s5];\n s2 = s3;\n } else {\n peg$currPos = s2;\n s2 = peg$FAILED;\n }\n } else {\n peg$currPos = s2;\n s2 = peg$FAILED;\n }\n } else {\n peg$currPos = s2;\n s2 = peg$FAILED;\n }\n if (s2 !== peg$FAILED) {\n while (s2 !== peg$FAILED) {\n s1.push(s2);\n s2 = peg$currPos;\n s3 = peg$parse_();\n if (s3 !== peg$FAILED) {\n s4 = peg$parsechars();\n if (s4 !== peg$FAILED) {\n s5 = peg$parse_();\n if (s5 !== peg$FAILED) {\n s3 = [s3, s4, s5];\n s2 = s3;\n } else {\n peg$currPos = s2;\n s2 = peg$FAILED;\n }\n } else {\n peg$currPos = s2;\n s2 = peg$FAILED;\n }\n } else {\n peg$currPos = s2;\n s2 = peg$FAILED;\n }\n }\n } else {\n s1 = peg$FAILED;\n }\n if (s1 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c1(s1);\n }\n s0 = s1;\n if (s0 === peg$FAILED) {\n s0 = peg$currPos;\n s1 = peg$parsews();\n if (s1 !== peg$FAILED) {\n s0 = input.substring(s0, peg$currPos);\n } else {\n s0 = s1;\n }\n }\n\n return s0;\n }\n\n function peg$parsemessageTextElement() {\n var s0, s1;\n\n s0 = peg$currPos;\n s1 = peg$parsemessageText();\n if (s1 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c2(s1);\n }\n s0 = s1;\n\n return s0;\n }\n\n function peg$parseargument() {\n var s0, s1, s2;\n\n s0 = peg$parsenumber();\n if (s0 === peg$FAILED) {\n s0 = peg$currPos;\n s1 = [];\n if (peg$c3.test(input.charAt(peg$currPos))) {\n s2 = input.charAt(peg$currPos);\n peg$currPos++;\n } else {\n s2 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c4); }\n }\n if (s2 !== peg$FAILED) {\n while (s2 !== peg$FAILED) {\n s1.push(s2);\n if (peg$c3.test(input.charAt(peg$currPos))) {\n s2 = input.charAt(peg$currPos);\n peg$currPos++;\n } else {\n s2 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c4); }\n }\n }\n } else {\n s1 = peg$FAILED;\n }\n if (s1 !== peg$FAILED) {\n s0 = input.substring(s0, peg$currPos);\n } else {\n s0 = s1;\n }\n }\n\n return s0;\n }\n\n function peg$parseargumentElement() {\n var s0, s1, s2, s3, s4, s5, s6, s7, s8;\n\n s0 = peg$currPos;\n if (input.charCodeAt(peg$currPos) === 123) {\n s1 = peg$c5;\n peg$currPos++;\n } else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c6); }\n }\n if (s1 !== peg$FAILED) {\n s2 = peg$parse_();\n if (s2 !== peg$FAILED) {\n s3 = peg$parseargument();\n if (s3 !== peg$FAILED) {\n s4 = peg$parse_();\n if (s4 !== peg$FAILED) {\n s5 = peg$currPos;\n if (input.charCodeAt(peg$currPos) === 44) {\n s6 = peg$c7;\n peg$currPos++;\n } else {\n s6 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c8); }\n }\n if (s6 !== peg$FAILED) {\n s7 = peg$parse_();\n if (s7 !== peg$FAILED) {\n s8 = peg$parseelementFormat();\n if (s8 !== peg$FAILED) {\n s6 = [s6, s7, s8];\n s5 = s6;\n } else {\n peg$currPos = s5;\n s5 = peg$FAILED;\n }\n } else {\n peg$currPos = s5;\n s5 = peg$FAILED;\n }\n } else {\n peg$currPos = s5;\n s5 = peg$FAILED;\n }\n if (s5 === peg$FAILED) {\n s5 = null;\n }\n if (s5 !== peg$FAILED) {\n s6 = peg$parse_();\n if (s6 !== peg$FAILED) {\n if (input.charCodeAt(peg$currPos) === 125) {\n s7 = peg$c9;\n peg$currPos++;\n } else {\n s7 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c10); }\n }\n if (s7 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c11(s3, s5);\n s0 = s1;\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n\n return s0;\n }\n\n function peg$parseelementFormat() {\n var s0;\n\n s0 = peg$parsesimpleFormat();\n if (s0 === peg$FAILED) {\n s0 = peg$parsepluralFormat();\n if (s0 === peg$FAILED) {\n s0 = peg$parseselectOrdinalFormat();\n if (s0 === peg$FAILED) {\n s0 = peg$parseselectFormat();\n }\n }\n }\n\n return s0;\n }\n\n function peg$parsesimpleFormat() {\n var s0, s1, s2, s3, s4, s5, s6;\n\n s0 = peg$currPos;\n if (input.substr(peg$currPos, 6) === peg$c12) {\n s1 = peg$c12;\n peg$currPos += 6;\n } else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c13); }\n }\n if (s1 === peg$FAILED) {\n if (input.substr(peg$currPos, 4) === peg$c14) {\n s1 = peg$c14;\n peg$currPos += 4;\n } else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c15); }\n }\n if (s1 === peg$FAILED) {\n if (input.substr(peg$currPos, 4) === peg$c16) {\n s1 = peg$c16;\n peg$currPos += 4;\n } else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c17); }\n }\n }\n }\n if (s1 !== peg$FAILED) {\n s2 = peg$parse_();\n if (s2 !== peg$FAILED) {\n s3 = peg$currPos;\n if (input.charCodeAt(peg$currPos) === 44) {\n s4 = peg$c7;\n peg$currPos++;\n } else {\n s4 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c8); }\n }\n if (s4 !== peg$FAILED) {\n s5 = peg$parse_();\n if (s5 !== peg$FAILED) {\n s6 = peg$parsechars();\n if (s6 !== peg$FAILED) {\n s4 = [s4, s5, s6];\n s3 = s4;\n } else {\n peg$currPos = s3;\n s3 = peg$FAILED;\n }\n } else {\n peg$currPos = s3;\n s3 = peg$FAILED;\n }\n } else {\n peg$currPos = s3;\n s3 = peg$FAILED;\n }\n if (s3 === peg$FAILED) {\n s3 = null;\n }\n if (s3 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c18(s1, s3);\n s0 = s1;\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n\n return s0;\n }\n\n function peg$parsepluralFormat() {\n var s0, s1, s2, s3, s4, s5;\n\n s0 = peg$currPos;\n if (input.substr(peg$currPos, 6) === peg$c19) {\n s1 = peg$c19;\n peg$currPos += 6;\n } else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c20); }\n }\n if (s1 !== peg$FAILED) {\n s2 = peg$parse_();\n if (s2 !== peg$FAILED) {\n if (input.charCodeAt(peg$currPos) === 44) {\n s3 = peg$c7;\n peg$currPos++;\n } else {\n s3 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c8); }\n }\n if (s3 !== peg$FAILED) {\n s4 = peg$parse_();\n if (s4 !== peg$FAILED) {\n s5 = peg$parsepluralStyle();\n if (s5 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c21(s5);\n s0 = s1;\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n\n return s0;\n }\n\n function peg$parseselectOrdinalFormat() {\n var s0, s1, s2, s3, s4, s5;\n\n s0 = peg$currPos;\n if (input.substr(peg$currPos, 13) === peg$c22) {\n s1 = peg$c22;\n peg$currPos += 13;\n } else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c23); }\n }\n if (s1 !== peg$FAILED) {\n s2 = peg$parse_();\n if (s2 !== peg$FAILED) {\n if (input.charCodeAt(peg$currPos) === 44) {\n s3 = peg$c7;\n peg$currPos++;\n } else {\n s3 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c8); }\n }\n if (s3 !== peg$FAILED) {\n s4 = peg$parse_();\n if (s4 !== peg$FAILED) {\n s5 = peg$parsepluralStyle();\n if (s5 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c24(s5);\n s0 = s1;\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n\n return s0;\n }\n\n function peg$parseselectFormat() {\n var s0, s1, s2, s3, s4, s5, s6;\n\n s0 = peg$currPos;\n if (input.substr(peg$currPos, 6) === peg$c25) {\n s1 = peg$c25;\n peg$currPos += 6;\n } else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c26); }\n }\n if (s1 !== peg$FAILED) {\n s2 = peg$parse_();\n if (s2 !== peg$FAILED) {\n if (input.charCodeAt(peg$currPos) === 44) {\n s3 = peg$c7;\n peg$currPos++;\n } else {\n s3 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c8); }\n }\n if (s3 !== peg$FAILED) {\n s4 = peg$parse_();\n if (s4 !== peg$FAILED) {\n s5 = [];\n s6 = peg$parseoptionalFormatPattern();\n if (s6 !== peg$FAILED) {\n while (s6 !== peg$FAILED) {\n s5.push(s6);\n s6 = peg$parseoptionalFormatPattern();\n }\n } else {\n s5 = peg$FAILED;\n }\n if (s5 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c27(s5);\n s0 = s1;\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n\n return s0;\n }\n\n function peg$parseselector() {\n var s0, s1, s2, s3;\n\n s0 = peg$currPos;\n s1 = peg$currPos;\n if (input.charCodeAt(peg$currPos) === 61) {\n s2 = peg$c28;\n peg$currPos++;\n } else {\n s2 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c29); }\n }\n if (s2 !== peg$FAILED) {\n s3 = peg$parsenumber();\n if (s3 !== peg$FAILED) {\n s2 = [s2, s3];\n s1 = s2;\n } else {\n peg$currPos = s1;\n s1 = peg$FAILED;\n }\n } else {\n peg$currPos = s1;\n s1 = peg$FAILED;\n }\n if (s1 !== peg$FAILED) {\n s0 = input.substring(s0, peg$currPos);\n } else {\n s0 = s1;\n }\n if (s0 === peg$FAILED) {\n s0 = peg$parsechars();\n }\n\n return s0;\n }\n\n function peg$parseoptionalFormatPattern() {\n var s0, s1, s2, s3, s4, s5, s6, s7, s8;\n\n s0 = peg$currPos;\n s1 = peg$parse_();\n if (s1 !== peg$FAILED) {\n s2 = peg$parseselector();\n if (s2 !== peg$FAILED) {\n s3 = peg$parse_();\n if (s3 !== peg$FAILED) {\n if (input.charCodeAt(peg$currPos) === 123) {\n s4 = peg$c5;\n peg$currPos++;\n } else {\n s4 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c6); }\n }\n if (s4 !== peg$FAILED) {\n s5 = peg$parse_();\n if (s5 !== peg$FAILED) {\n s6 = peg$parsemessageFormatPattern();\n if (s6 !== peg$FAILED) {\n s7 = peg$parse_();\n if (s7 !== peg$FAILED) {\n if (input.charCodeAt(peg$currPos) === 125) {\n s8 = peg$c9;\n peg$currPos++;\n } else {\n s8 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c10); }\n }\n if (s8 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c30(s2, s6);\n s0 = s1;\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n\n return s0;\n }\n\n function peg$parseoffset() {\n var s0, s1, s2, s3;\n\n s0 = peg$currPos;\n if (input.substr(peg$currPos, 7) === peg$c31) {\n s1 = peg$c31;\n peg$currPos += 7;\n } else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c32); }\n }\n if (s1 !== peg$FAILED) {\n s2 = peg$parse_();\n if (s2 !== peg$FAILED) {\n s3 = peg$parsenumber();\n if (s3 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c33(s3);\n s0 = s1;\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n\n return s0;\n }\n\n function peg$parsepluralStyle() {\n var s0, s1, s2, s3, s4;\n\n s0 = peg$currPos;\n s1 = peg$parseoffset();\n if (s1 === peg$FAILED) {\n s1 = null;\n }\n if (s1 !== peg$FAILED) {\n s2 = peg$parse_();\n if (s2 !== peg$FAILED) {\n s3 = [];\n s4 = peg$parseoptionalFormatPattern();\n if (s4 !== peg$FAILED) {\n while (s4 !== peg$FAILED) {\n s3.push(s4);\n s4 = peg$parseoptionalFormatPattern();\n }\n } else {\n s3 = peg$FAILED;\n }\n if (s3 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c34(s1, s3);\n s0 = s1;\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n\n return s0;\n }\n\n function peg$parsews() {\n var s0, s1;\n\n peg$silentFails++;\n s0 = [];\n if (peg$c36.test(input.charAt(peg$currPos))) {\n s1 = input.charAt(peg$currPos);\n peg$currPos++;\n } else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c37); }\n }\n if (s1 !== peg$FAILED) {\n while (s1 !== peg$FAILED) {\n s0.push(s1);\n if (peg$c36.test(input.charAt(peg$currPos))) {\n s1 = input.charAt(peg$currPos);\n peg$currPos++;\n } else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c37); }\n }\n }\n } else {\n s0 = peg$FAILED;\n }\n peg$silentFails--;\n if (s0 === peg$FAILED) {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c35); }\n }\n\n return s0;\n }\n\n function peg$parse_() {\n var s0, s1, s2;\n\n peg$silentFails++;\n s0 = peg$currPos;\n s1 = [];\n s2 = peg$parsews();\n while (s2 !== peg$FAILED) {\n s1.push(s2);\n s2 = peg$parsews();\n }\n if (s1 !== peg$FAILED) {\n s0 = input.substring(s0, peg$currPos);\n } else {\n s0 = s1;\n }\n peg$silentFails--;\n if (s0 === peg$FAILED) {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c38); }\n }\n\n return s0;\n }\n\n function peg$parsedigit() {\n var s0;\n\n if (peg$c39.test(input.charAt(peg$currPos))) {\n s0 = input.charAt(peg$currPos);\n peg$currPos++;\n } else {\n s0 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c40); }\n }\n\n return s0;\n }\n\n function peg$parsehexDigit() {\n var s0;\n\n if (peg$c41.test(input.charAt(peg$currPos))) {\n s0 = input.charAt(peg$currPos);\n peg$currPos++;\n } else {\n s0 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c42); }\n }\n\n return s0;\n }\n\n function peg$parsenumber() {\n var s0, s1, s2, s3, s4, s5;\n\n s0 = peg$currPos;\n if (input.charCodeAt(peg$currPos) === 48) {\n s1 = peg$c43;\n peg$currPos++;\n } else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c44); }\n }\n if (s1 === peg$FAILED) {\n s1 = peg$currPos;\n s2 = peg$currPos;\n if (peg$c45.test(input.charAt(peg$currPos))) {\n s3 = input.charAt(peg$currPos);\n peg$currPos++;\n } else {\n s3 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c46); }\n }\n if (s3 !== peg$FAILED) {\n s4 = [];\n s5 = peg$parsedigit();\n while (s5 !== peg$FAILED) {\n s4.push(s5);\n s5 = peg$parsedigit();\n }\n if (s4 !== peg$FAILED) {\n s3 = [s3, s4];\n s2 = s3;\n } else {\n peg$currPos = s2;\n s2 = peg$FAILED;\n }\n } else {\n peg$currPos = s2;\n s2 = peg$FAILED;\n }\n if (s2 !== peg$FAILED) {\n s1 = input.substring(s1, peg$currPos);\n } else {\n s1 = s2;\n }\n }\n if (s1 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c47(s1);\n }\n s0 = s1;\n\n return s0;\n }\n\n function peg$parsechar() {\n var s0, s1, s2, s3, s4, s5, s6, s7;\n\n if (peg$c48.test(input.charAt(peg$currPos))) {\n s0 = input.charAt(peg$currPos);\n peg$currPos++;\n } else {\n s0 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c49); }\n }\n if (s0 === peg$FAILED) {\n s0 = peg$currPos;\n if (input.substr(peg$currPos, 2) === peg$c50) {\n s1 = peg$c50;\n peg$currPos += 2;\n } else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c51); }\n }\n if (s1 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c52();\n }\n s0 = s1;\n if (s0 === peg$FAILED) {\n s0 = peg$currPos;\n if (input.substr(peg$currPos, 2) === peg$c53) {\n s1 = peg$c53;\n peg$currPos += 2;\n } else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c54); }\n }\n if (s1 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c55();\n }\n s0 = s1;\n if (s0 === peg$FAILED) {\n s0 = peg$currPos;\n if (input.substr(peg$currPos, 2) === peg$c56) {\n s1 = peg$c56;\n peg$currPos += 2;\n } else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c57); }\n }\n if (s1 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c58();\n }\n s0 = s1;\n if (s0 === peg$FAILED) {\n s0 = peg$currPos;\n if (input.substr(peg$currPos, 2) === peg$c59) {\n s1 = peg$c59;\n peg$currPos += 2;\n } else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c60); }\n }\n if (s1 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c61();\n }\n s0 = s1;\n if (s0 === peg$FAILED) {\n s0 = peg$currPos;\n if (input.substr(peg$currPos, 2) === peg$c62) {\n s1 = peg$c62;\n peg$currPos += 2;\n } else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c63); }\n }\n if (s1 !== peg$FAILED) {\n s2 = peg$currPos;\n s3 = peg$currPos;\n s4 = peg$parsehexDigit();\n if (s4 !== peg$FAILED) {\n s5 = peg$parsehexDigit();\n if (s5 !== peg$FAILED) {\n s6 = peg$parsehexDigit();\n if (s6 !== peg$FAILED) {\n s7 = peg$parsehexDigit();\n if (s7 !== peg$FAILED) {\n s4 = [s4, s5, s6, s7];\n s3 = s4;\n } else {\n peg$currPos = s3;\n s3 = peg$FAILED;\n }\n } else {\n peg$currPos = s3;\n s3 = peg$FAILED;\n }\n } else {\n peg$currPos = s3;\n s3 = peg$FAILED;\n }\n } else {\n peg$currPos = s3;\n s3 = peg$FAILED;\n }\n if (s3 !== peg$FAILED) {\n s2 = input.substring(s2, peg$currPos);\n } else {\n s2 = s3;\n }\n if (s2 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c64(s2);\n s0 = s1;\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n }\n }\n }\n }\n\n return s0;\n }\n\n function peg$parsechars() {\n var s0, s1, s2;\n\n s0 = peg$currPos;\n s1 = [];\n s2 = peg$parsechar();\n if (s2 !== peg$FAILED) {\n while (s2 !== peg$FAILED) {\n s1.push(s2);\n s2 = peg$parsechar();\n }\n } else {\n s1 = peg$FAILED;\n }\n if (s1 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c65(s1);\n }\n s0 = s1;\n\n return s0;\n }\n\n peg$result = peg$startRuleFunction();\n\n if (peg$result !== peg$FAILED && peg$currPos === input.length) {\n return peg$result;\n } else {\n if (peg$result !== peg$FAILED && peg$currPos < input.length) {\n peg$fail({ type: \"end\", description: \"end of input\" });\n }\n\n throw peg$buildException(\n null,\n peg$maxFailExpected,\n peg$maxFailPos < input.length ? input.charAt(peg$maxFailPos) : null,\n peg$maxFailPos < input.length\n ? peg$computeLocation(peg$maxFailPos, peg$maxFailPos + 1)\n : peg$computeLocation(peg$maxFailPos, peg$maxFailPos)\n );\n }\n }\n\n return {\n SyntaxError: peg$SyntaxError,\n parse: peg$parse\n };\n})();","!function(e,t){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=t():\"function\"==typeof define&&define.amd?define(t):(e.ReactIntlLocaleData=e.ReactIntlLocaleData||{},e.ReactIntlLocaleData.nah=t())}(this,function(){\"use strict\";return[{locale:\"nah\",pluralRuleFunction:function(e,t){return t?\"other\":1==e?\"one\":\"other\"},fields:{year:{displayName:\"Year\",relative:{0:\"this year\",1:\"next year\",\"-1\":\"last year\"},relativeTime:{future:{other:\"+{0} y\"},past:{other:\"-{0} y\"}}},\"year-short\":{displayName:\"Year\",relative:{0:\"this year\",1:\"next year\",\"-1\":\"last year\"},relativeTime:{future:{other:\"+{0} y\"},past:{other:\"-{0} y\"}}},month:{displayName:\"Month\",relative:{0:\"this month\",1:\"next month\",\"-1\":\"last month\"},relativeTime:{future:{other:\"+{0} m\"},past:{other:\"-{0} m\"}}},\"month-short\":{displayName:\"Month\",relative:{0:\"this month\",1:\"next month\",\"-1\":\"last month\"},relativeTime:{future:{other:\"+{0} m\"},past:{other:\"-{0} m\"}}},day:{displayName:\"Day\",relative:{0:\"today\",1:\"tomorrow\",\"-1\":\"yesterday\"},relativeTime:{future:{other:\"+{0} d\"},past:{other:\"-{0} d\"}}},\"day-short\":{displayName:\"Day\",relative:{0:\"today\",1:\"tomorrow\",\"-1\":\"yesterday\"},relativeTime:{future:{other:\"+{0} d\"},past:{other:\"-{0} d\"}}},hour:{displayName:\"Hour\",relative:{0:\"this hour\"},relativeTime:{future:{other:\"+{0} h\"},past:{other:\"-{0} h\"}}},\"hour-short\":{displayName:\"Hour\",relative:{0:\"this hour\"},relativeTime:{future:{other:\"+{0} h\"},past:{other:\"-{0} h\"}}},minute:{displayName:\"Minute\",relative:{0:\"this minute\"},relativeTime:{future:{other:\"+{0} min\"},past:{other:\"-{0} min\"}}},\"minute-short\":{displayName:\"Minute\",relative:{0:\"this minute\"},relativeTime:{future:{other:\"+{0} min\"},past:{other:\"-{0} min\"}}},second:{displayName:\"Second\",relative:{0:\"now\"},relativeTime:{future:{other:\"+{0} s\"},past:{other:\"-{0} s\"}}},\"second-short\":{displayName:\"Second\",relative:{0:\"now\"},relativeTime:{future:{other:\"+{0} s\"},past:{other:\"-{0} s\"}}}}}]});\n","var isFunction = require('./isFunction'),\n isLength = require('./isLength');\n\n/**\n * Checks if `value` is array-like. A value is considered array-like if it's\n * not a function and has a `value.length` that's an integer greater than or\n * equal to `0` and less than or equal to `Number.MAX_SAFE_INTEGER`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is array-like, else `false`.\n * @example\n *\n * _.isArrayLike([1, 2, 3]);\n * // => true\n *\n * _.isArrayLike(document.body.children);\n * // => true\n *\n * _.isArrayLike('abc');\n * // => true\n *\n * _.isArrayLike(_.noop);\n * // => false\n */\nfunction isArrayLike(value) {\n return value != null && isLength(value.length) && !isFunction(value);\n}\n\nmodule.exports = isArrayLike;\n","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = Hour12Input;\n\nvar _react = _interopRequireDefault(require(\"react\"));\n\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\n\nvar _dateUtils = require(\"@wojtekmaj/date-utils\");\n\nvar _Input = _interopRequireDefault(require(\"./Input\"));\n\nvar _dates = require(\"../shared/dates\");\n\nvar _propTypes2 = require(\"../shared/propTypes\");\n\nvar _utils = require(\"../shared/utils\");\n\nvar _excluded = [\"amPm\", \"hour\", \"maxTime\", \"minTime\", \"value\"];\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }\n\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nfunction _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== \"undefined\" && arr[Symbol.iterator] || arr[\"@@iterator\"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"] != null) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; }\n\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nfunction Hour12Input(_ref) {\n var amPm = _ref.amPm,\n hour = _ref.hour,\n maxTime = _ref.maxTime,\n minTime = _ref.minTime,\n value = _ref.value,\n otherProps = _objectWithoutProperties(_ref, _excluded);\n\n var maxHour = (0, _utils.safeMin)(12, maxTime && function () {\n var _convert24to = (0, _dates.convert24to12)((0, _dateUtils.getHours)(maxTime)),\n _convert24to2 = _slicedToArray(_convert24to, 2),\n maxHourResult = _convert24to2[0],\n maxAmPm = _convert24to2[1];\n\n if (maxAmPm !== amPm) {\n // pm is always after am, so we should ignore validation\n return null;\n }\n\n return maxHourResult;\n }());\n var minHour = (0, _utils.safeMax)(1, minTime && function () {\n var _convert24to3 = (0, _dates.convert24to12)((0, _dateUtils.getHours)(minTime)),\n _convert24to4 = _slicedToArray(_convert24to3, 2),\n minHourResult = _convert24to4[0],\n minAmPm = _convert24to4[1];\n\n if ( // pm is always after am, so we should ignore validation\n minAmPm !== amPm || // If minHour is 12 am/pm, user should be able to enter 12, 1, ..., 11.\n minHourResult === 12) {\n return null;\n }\n\n return minHourResult;\n }());\n var value12 = value ? (0, _dates.convert24to12)(value)[0].toString() : '';\n return /*#__PURE__*/_react[\"default\"].createElement(_Input[\"default\"], _extends({\n max: maxHour,\n min: minHour,\n name: \"hour12\",\n nameForClass: \"hour\",\n value: value12\n }, otherProps));\n}\n\nHour12Input.propTypes = {\n amPm: _propTypes[\"default\"].string,\n ariaLabel: _propTypes[\"default\"].string,\n className: _propTypes[\"default\"].string.isRequired,\n disabled: _propTypes[\"default\"].bool,\n hour: _propTypes[\"default\"].string,\n inputRef: _propTypes2.isRef,\n maxTime: _propTypes2.isTime,\n minTime: _propTypes2.isTime,\n onChange: _propTypes[\"default\"].func,\n onKeyDown: _propTypes[\"default\"].func,\n onKeyUp: _propTypes[\"default\"].func,\n placeholder: _propTypes[\"default\"].string,\n required: _propTypes[\"default\"].bool,\n showLeadingZeros: _propTypes[\"default\"].bool,\n value: _propTypes[\"default\"].string\n};","/*\nCopyright (c) 2014, Yahoo! Inc. All rights reserved.\nCopyrights licensed under the New BSD License.\nSee the accompanying LICENSE file for terms.\n*/\n\n/* jslint esnext: true */\n\nimport {hop} from './utils';\n\n// Purposely using the same implementation as the Intl.js `Intl` polyfill.\n// Copyright 2013 Andy Earnshaw, MIT License\n\nvar realDefineProp = (function () {\n try { return !!Object.defineProperty({}, 'a', {}); }\n catch (e) { return false; }\n})();\n\nvar es3 = !realDefineProp && !Object.prototype.__defineGetter__;\n\nvar defineProperty = realDefineProp ? Object.defineProperty :\n function (obj, name, desc) {\n\n if ('get' in desc && obj.__defineGetter__) {\n obj.__defineGetter__(name, desc.get);\n } else if (!hop.call(obj, name) || 'value' in desc) {\n obj[name] = desc.value;\n }\n};\n\nvar objCreate = Object.create || function (proto, props) {\n var obj, k;\n\n function F() {}\n F.prototype = proto;\n obj = new F();\n\n for (k in props) {\n if (hop.call(props, k)) {\n defineProperty(obj, k, props[k]);\n }\n }\n\n return obj;\n};\n\nexport {defineProperty, objCreate};\n","!function(e,t){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=t():\"function\"==typeof define&&define.amd?define(t):(e.ReactIntlLocaleData=e.ReactIntlLocaleData||{},e.ReactIntlLocaleData.nd=t())}(this,function(){\"use strict\";return[{locale:\"nd\",pluralRuleFunction:function(e,t){return t?\"other\":1==e?\"one\":\"other\"},fields:{year:{displayName:\"Umnyaka\",relative:{0:\"this year\",1:\"next year\",\"-1\":\"last year\"},relativeTime:{future:{other:\"+{0} y\"},past:{other:\"-{0} y\"}}},\"year-short\":{displayName:\"Umnyaka\",relative:{0:\"this year\",1:\"next year\",\"-1\":\"last year\"},relativeTime:{future:{other:\"+{0} y\"},past:{other:\"-{0} y\"}}},month:{displayName:\"Inyangacale\",relative:{0:\"this month\",1:\"next month\",\"-1\":\"last month\"},relativeTime:{future:{other:\"+{0} m\"},past:{other:\"-{0} m\"}}},\"month-short\":{displayName:\"Inyangacale\",relative:{0:\"this month\",1:\"next month\",\"-1\":\"last month\"},relativeTime:{future:{other:\"+{0} m\"},past:{other:\"-{0} m\"}}},day:{displayName:\"Ilanga\",relative:{0:\"Lamuhla\",1:\"Kusasa\",\"-1\":\"Izolo\"},relativeTime:{future:{other:\"+{0} d\"},past:{other:\"-{0} d\"}}},\"day-short\":{displayName:\"Ilanga\",relative:{0:\"Lamuhla\",1:\"Kusasa\",\"-1\":\"Izolo\"},relativeTime:{future:{other:\"+{0} d\"},past:{other:\"-{0} d\"}}},hour:{displayName:\"Ihola\",relative:{0:\"this hour\"},relativeTime:{future:{other:\"+{0} h\"},past:{other:\"-{0} h\"}}},\"hour-short\":{displayName:\"Ihola\",relative:{0:\"this hour\"},relativeTime:{future:{other:\"+{0} h\"},past:{other:\"-{0} h\"}}},minute:{displayName:\"Umuzuzu\",relative:{0:\"this minute\"},relativeTime:{future:{other:\"+{0} min\"},past:{other:\"-{0} min\"}}},\"minute-short\":{displayName:\"Umuzuzu\",relative:{0:\"this minute\"},relativeTime:{future:{other:\"+{0} min\"},past:{other:\"-{0} min\"}}},second:{displayName:\"Isekendi\",relative:{0:\"now\"},relativeTime:{future:{other:\"+{0} s\"},past:{other:\"-{0} s\"}}},\"second-short\":{displayName:\"Isekendi\",relative:{0:\"now\"},relativeTime:{future:{other:\"+{0} s\"},past:{other:\"-{0} s\"}}}}}]});\n","var now = require('performance-now')\n , root = typeof window === 'undefined' ? global : window\n , vendors = ['moz', 'webkit']\n , suffix = 'AnimationFrame'\n , raf = root['request' + suffix]\n , caf = root['cancel' + suffix] || root['cancelRequest' + suffix]\n\nfor(var i = 0; !raf && i < vendors.length; i++) {\n raf = root[vendors[i] + 'Request' + suffix]\n caf = root[vendors[i] + 'Cancel' + suffix]\n || root[vendors[i] + 'CancelRequest' + suffix]\n}\n\n// Some versions of FF have rAF but not cAF\nif(!raf || !caf) {\n var last = 0\n , id = 0\n , queue = []\n , frameDuration = 1000 / 60\n\n raf = function(callback) {\n if(queue.length === 0) {\n var _now = now()\n , next = Math.max(0, frameDuration - (_now - last))\n last = next + _now\n setTimeout(function() {\n var cp = queue.slice(0)\n // Clear queue here to prevent\n // callbacks from appending listeners\n // to the current frame's queue\n queue.length = 0\n for(var i = 0; i < cp.length; i++) {\n if(!cp[i].cancelled) {\n try{\n cp[i].callback(last)\n } catch(e) {\n setTimeout(function() { throw e }, 0)\n }\n }\n }\n }, Math.round(next))\n }\n queue.push({\n handle: ++id,\n callback: callback,\n cancelled: false\n })\n return id\n }\n\n caf = function(handle) {\n for(var i = 0; i < queue.length; i++) {\n if(queue[i].handle === handle) {\n queue[i].cancelled = true\n }\n }\n }\n}\n\nmodule.exports = function(fn) {\n // Wrap in a new function to prevent\n // `cancel` potentially being assigned\n // to the native rAF function\n return raf.call(root, fn)\n}\nmodule.exports.cancel = function() {\n caf.apply(root, arguments)\n}\nmodule.exports.polyfill = function(object) {\n if (!object) {\n object = root;\n }\n object.requestAnimationFrame = raf\n object.cancelAnimationFrame = caf\n}\n","!function() {\n var d3 = {\n version: \"3.5.17\"\n };\n var d3_arraySlice = [].slice, d3_array = function(list) {\n return d3_arraySlice.call(list);\n };\n var d3_document = this.document;\n function d3_documentElement(node) {\n return node && (node.ownerDocument || node.document || node).documentElement;\n }\n function d3_window(node) {\n return node && (node.ownerDocument && node.ownerDocument.defaultView || node.document && node || node.defaultView);\n }\n if (d3_document) {\n try {\n d3_array(d3_document.documentElement.childNodes)[0].nodeType;\n } catch (e) {\n d3_array = function(list) {\n var i = list.length, array = new Array(i);\n while (i--) array[i] = list[i];\n return array;\n };\n }\n }\n if (!Date.now) Date.now = function() {\n return +new Date();\n };\n if (d3_document) {\n try {\n d3_document.createElement(\"DIV\").style.setProperty(\"opacity\", 0, \"\");\n } catch (error) {\n var d3_element_prototype = this.Element.prototype, d3_element_setAttribute = d3_element_prototype.setAttribute, d3_element_setAttributeNS = d3_element_prototype.setAttributeNS, d3_style_prototype = this.CSSStyleDeclaration.prototype, d3_style_setProperty = d3_style_prototype.setProperty;\n d3_element_prototype.setAttribute = function(name, value) {\n d3_element_setAttribute.call(this, name, value + \"\");\n };\n d3_element_prototype.setAttributeNS = function(space, local, value) {\n d3_element_setAttributeNS.call(this, space, local, value + \"\");\n };\n d3_style_prototype.setProperty = function(name, value, priority) {\n d3_style_setProperty.call(this, name, value + \"\", priority);\n };\n }\n }\n d3.ascending = d3_ascending;\n function d3_ascending(a, b) {\n return a < b ? -1 : a > b ? 1 : a >= b ? 0 : NaN;\n }\n d3.descending = function(a, b) {\n return b < a ? -1 : b > a ? 1 : b >= a ? 0 : NaN;\n };\n d3.min = function(array, f) {\n var i = -1, n = array.length, a, b;\n if (arguments.length === 1) {\n while (++i < n) if ((b = array[i]) != null && b >= b) {\n a = b;\n break;\n }\n while (++i < n) if ((b = array[i]) != null && a > b) a = b;\n } else {\n while (++i < n) if ((b = f.call(array, array[i], i)) != null && b >= b) {\n a = b;\n break;\n }\n while (++i < n) if ((b = f.call(array, array[i], i)) != null && a > b) a = b;\n }\n return a;\n };\n d3.max = function(array, f) {\n var i = -1, n = array.length, a, b;\n if (arguments.length === 1) {\n while (++i < n) if ((b = array[i]) != null && b >= b) {\n a = b;\n break;\n }\n while (++i < n) if ((b = array[i]) != null && b > a) a = b;\n } else {\n while (++i < n) if ((b = f.call(array, array[i], i)) != null && b >= b) {\n a = b;\n break;\n }\n while (++i < n) if ((b = f.call(array, array[i], i)) != null && b > a) a = b;\n }\n return a;\n };\n d3.extent = function(array, f) {\n var i = -1, n = array.length, a, b, c;\n if (arguments.length === 1) {\n while (++i < n) if ((b = array[i]) != null && b >= b) {\n a = c = b;\n break;\n }\n while (++i < n) if ((b = array[i]) != null) {\n if (a > b) a = b;\n if (c < b) c = b;\n }\n } else {\n while (++i < n) if ((b = f.call(array, array[i], i)) != null && b >= b) {\n a = c = b;\n break;\n }\n while (++i < n) if ((b = f.call(array, array[i], i)) != null) {\n if (a > b) a = b;\n if (c < b) c = b;\n }\n }\n return [ a, c ];\n };\n function d3_number(x) {\n return x === null ? NaN : +x;\n }\n function d3_numeric(x) {\n return !isNaN(x);\n }\n d3.sum = function(array, f) {\n var s = 0, n = array.length, a, i = -1;\n if (arguments.length === 1) {\n while (++i < n) if (d3_numeric(a = +array[i])) s += a;\n } else {\n while (++i < n) if (d3_numeric(a = +f.call(array, array[i], i))) s += a;\n }\n return s;\n };\n d3.mean = function(array, f) {\n var s = 0, n = array.length, a, i = -1, j = n;\n if (arguments.length === 1) {\n while (++i < n) if (d3_numeric(a = d3_number(array[i]))) s += a; else --j;\n } else {\n while (++i < n) if (d3_numeric(a = d3_number(f.call(array, array[i], i)))) s += a; else --j;\n }\n if (j) return s / j;\n };\n d3.quantile = function(values, p) {\n var H = (values.length - 1) * p + 1, h = Math.floor(H), v = +values[h - 1], e = H - h;\n return e ? v + e * (values[h] - v) : v;\n };\n d3.median = function(array, f) {\n var numbers = [], n = array.length, a, i = -1;\n if (arguments.length === 1) {\n while (++i < n) if (d3_numeric(a = d3_number(array[i]))) numbers.push(a);\n } else {\n while (++i < n) if (d3_numeric(a = d3_number(f.call(array, array[i], i)))) numbers.push(a);\n }\n if (numbers.length) return d3.quantile(numbers.sort(d3_ascending), .5);\n };\n d3.variance = function(array, f) {\n var n = array.length, m = 0, a, d, s = 0, i = -1, j = 0;\n if (arguments.length === 1) {\n while (++i < n) {\n if (d3_numeric(a = d3_number(array[i]))) {\n d = a - m;\n m += d / ++j;\n s += d * (a - m);\n }\n }\n } else {\n while (++i < n) {\n if (d3_numeric(a = d3_number(f.call(array, array[i], i)))) {\n d = a - m;\n m += d / ++j;\n s += d * (a - m);\n }\n }\n }\n if (j > 1) return s / (j - 1);\n };\n d3.deviation = function() {\n var v = d3.variance.apply(this, arguments);\n return v ? Math.sqrt(v) : v;\n };\n function d3_bisector(compare) {\n return {\n left: function(a, x, lo, hi) {\n if (arguments.length < 3) lo = 0;\n if (arguments.length < 4) hi = a.length;\n while (lo < hi) {\n var mid = lo + hi >>> 1;\n if (compare(a[mid], x) < 0) lo = mid + 1; else hi = mid;\n }\n return lo;\n },\n right: function(a, x, lo, hi) {\n if (arguments.length < 3) lo = 0;\n if (arguments.length < 4) hi = a.length;\n while (lo < hi) {\n var mid = lo + hi >>> 1;\n if (compare(a[mid], x) > 0) hi = mid; else lo = mid + 1;\n }\n return lo;\n }\n };\n }\n var d3_bisect = d3_bisector(d3_ascending);\n d3.bisectLeft = d3_bisect.left;\n d3.bisect = d3.bisectRight = d3_bisect.right;\n d3.bisector = function(f) {\n return d3_bisector(f.length === 1 ? function(d, x) {\n return d3_ascending(f(d), x);\n } : f);\n };\n d3.shuffle = function(array, i0, i1) {\n if ((m = arguments.length) < 3) {\n i1 = array.length;\n if (m < 2) i0 = 0;\n }\n var m = i1 - i0, t, i;\n while (m) {\n i = Math.random() * m-- | 0;\n t = array[m + i0], array[m + i0] = array[i + i0], array[i + i0] = t;\n }\n return array;\n };\n d3.permute = function(array, indexes) {\n var i = indexes.length, permutes = new Array(i);\n while (i--) permutes[i] = array[indexes[i]];\n return permutes;\n };\n d3.pairs = function(array) {\n var i = 0, n = array.length - 1, p0, p1 = array[0], pairs = new Array(n < 0 ? 0 : n);\n while (i < n) pairs[i] = [ p0 = p1, p1 = array[++i] ];\n return pairs;\n };\n d3.transpose = function(matrix) {\n if (!(n = matrix.length)) return [];\n for (var i = -1, m = d3.min(matrix, d3_transposeLength), transpose = new Array(m); ++i < m; ) {\n for (var j = -1, n, row = transpose[i] = new Array(n); ++j < n; ) {\n row[j] = matrix[j][i];\n }\n }\n return transpose;\n };\n function d3_transposeLength(d) {\n return d.length;\n }\n d3.zip = function() {\n return d3.transpose(arguments);\n };\n d3.keys = function(map) {\n var keys = [];\n for (var key in map) keys.push(key);\n return keys;\n };\n d3.values = function(map) {\n var values = [];\n for (var key in map) values.push(map[key]);\n return values;\n };\n d3.entries = function(map) {\n var entries = [];\n for (var key in map) entries.push({\n key: key,\n value: map[key]\n });\n return entries;\n };\n d3.merge = function(arrays) {\n var n = arrays.length, m, i = -1, j = 0, merged, array;\n while (++i < n) j += arrays[i].length;\n merged = new Array(j);\n while (--n >= 0) {\n array = arrays[n];\n m = array.length;\n while (--m >= 0) {\n merged[--j] = array[m];\n }\n }\n return merged;\n };\n var abs = Math.abs;\n d3.range = function(start, stop, step) {\n if (arguments.length < 3) {\n step = 1;\n if (arguments.length < 2) {\n stop = start;\n start = 0;\n }\n }\n if ((stop - start) / step === Infinity) throw new Error(\"infinite range\");\n var range = [], k = d3_range_integerScale(abs(step)), i = -1, j;\n start *= k, stop *= k, step *= k;\n if (step < 0) while ((j = start + step * ++i) > stop) range.push(j / k); else while ((j = start + step * ++i) < stop) range.push(j / k);\n return range;\n };\n function d3_range_integerScale(x) {\n var k = 1;\n while (x * k % 1) k *= 10;\n return k;\n }\n function d3_class(ctor, properties) {\n for (var key in properties) {\n Object.defineProperty(ctor.prototype, key, {\n value: properties[key],\n enumerable: false\n });\n }\n }\n d3.map = function(object, f) {\n var map = new d3_Map();\n if (object instanceof d3_Map) {\n object.forEach(function(key, value) {\n map.set(key, value);\n });\n } else if (Array.isArray(object)) {\n var i = -1, n = object.length, o;\n if (arguments.length === 1) while (++i < n) map.set(i, object[i]); else while (++i < n) map.set(f.call(object, o = object[i], i), o);\n } else {\n for (var key in object) map.set(key, object[key]);\n }\n return map;\n };\n function d3_Map() {\n this._ = Object.create(null);\n }\n var d3_map_proto = \"__proto__\", d3_map_zero = \"\\x00\";\n d3_class(d3_Map, {\n has: d3_map_has,\n get: function(key) {\n return this._[d3_map_escape(key)];\n },\n set: function(key, value) {\n return this._[d3_map_escape(key)] = value;\n },\n remove: d3_map_remove,\n keys: d3_map_keys,\n values: function() {\n var values = [];\n for (var key in this._) values.push(this._[key]);\n return values;\n },\n entries: function() {\n var entries = [];\n for (var key in this._) entries.push({\n key: d3_map_unescape(key),\n value: this._[key]\n });\n return entries;\n },\n size: d3_map_size,\n empty: d3_map_empty,\n forEach: function(f) {\n for (var key in this._) f.call(this, d3_map_unescape(key), this._[key]);\n }\n });\n function d3_map_escape(key) {\n return (key += \"\") === d3_map_proto || key[0] === d3_map_zero ? d3_map_zero + key : key;\n }\n function d3_map_unescape(key) {\n return (key += \"\")[0] === d3_map_zero ? key.slice(1) : key;\n }\n function d3_map_has(key) {\n return d3_map_escape(key) in this._;\n }\n function d3_map_remove(key) {\n return (key = d3_map_escape(key)) in this._ && delete this._[key];\n }\n function d3_map_keys() {\n var keys = [];\n for (var key in this._) keys.push(d3_map_unescape(key));\n return keys;\n }\n function d3_map_size() {\n var size = 0;\n for (var key in this._) ++size;\n return size;\n }\n function d3_map_empty() {\n for (var key in this._) return false;\n return true;\n }\n d3.nest = function() {\n var nest = {}, keys = [], sortKeys = [], sortValues, rollup;\n function map(mapType, array, depth) {\n if (depth >= keys.length) return rollup ? rollup.call(nest, array) : sortValues ? array.sort(sortValues) : array;\n var i = -1, n = array.length, key = keys[depth++], keyValue, object, setter, valuesByKey = new d3_Map(), values;\n while (++i < n) {\n if (values = valuesByKey.get(keyValue = key(object = array[i]))) {\n values.push(object);\n } else {\n valuesByKey.set(keyValue, [ object ]);\n }\n }\n if (mapType) {\n object = mapType();\n setter = function(keyValue, values) {\n object.set(keyValue, map(mapType, values, depth));\n };\n } else {\n object = {};\n setter = function(keyValue, values) {\n object[keyValue] = map(mapType, values, depth);\n };\n }\n valuesByKey.forEach(setter);\n return object;\n }\n function entries(map, depth) {\n if (depth >= keys.length) return map;\n var array = [], sortKey = sortKeys[depth++];\n map.forEach(function(key, keyMap) {\n array.push({\n key: key,\n values: entries(keyMap, depth)\n });\n });\n return sortKey ? array.sort(function(a, b) {\n return sortKey(a.key, b.key);\n }) : array;\n }\n nest.map = function(array, mapType) {\n return map(mapType, array, 0);\n };\n nest.entries = function(array) {\n return entries(map(d3.map, array, 0), 0);\n };\n nest.key = function(d) {\n keys.push(d);\n return nest;\n };\n nest.sortKeys = function(order) {\n sortKeys[keys.length - 1] = order;\n return nest;\n };\n nest.sortValues = function(order) {\n sortValues = order;\n return nest;\n };\n nest.rollup = function(f) {\n rollup = f;\n return nest;\n };\n return nest;\n };\n d3.set = function(array) {\n var set = new d3_Set();\n if (array) for (var i = 0, n = array.length; i < n; ++i) set.add(array[i]);\n return set;\n };\n function d3_Set() {\n this._ = Object.create(null);\n }\n d3_class(d3_Set, {\n has: d3_map_has,\n add: function(key) {\n this._[d3_map_escape(key += \"\")] = true;\n return key;\n },\n remove: d3_map_remove,\n values: d3_map_keys,\n size: d3_map_size,\n empty: d3_map_empty,\n forEach: function(f) {\n for (var key in this._) f.call(this, d3_map_unescape(key));\n }\n });\n d3.behavior = {};\n function d3_identity(d) {\n return d;\n }\n d3.rebind = function(target, source) {\n var i = 1, n = arguments.length, method;\n while (++i < n) target[method = arguments[i]] = d3_rebind(target, source, source[method]);\n return target;\n };\n function d3_rebind(target, source, method) {\n return function() {\n var value = method.apply(source, arguments);\n return value === source ? target : value;\n };\n }\n function d3_vendorSymbol(object, name) {\n if (name in object) return name;\n name = name.charAt(0).toUpperCase() + name.slice(1);\n for (var i = 0, n = d3_vendorPrefixes.length; i < n; ++i) {\n var prefixName = d3_vendorPrefixes[i] + name;\n if (prefixName in object) return prefixName;\n }\n }\n var d3_vendorPrefixes = [ \"webkit\", \"ms\", \"moz\", \"Moz\", \"o\", \"O\" ];\n function d3_noop() {}\n d3.dispatch = function() {\n var dispatch = new d3_dispatch(), i = -1, n = arguments.length;\n while (++i < n) dispatch[arguments[i]] = d3_dispatch_event(dispatch);\n return dispatch;\n };\n function d3_dispatch() {}\n d3_dispatch.prototype.on = function(type, listener) {\n var i = type.indexOf(\".\"), name = \"\";\n if (i >= 0) {\n name = type.slice(i + 1);\n type = type.slice(0, i);\n }\n if (type) return arguments.length < 2 ? this[type].on(name) : this[type].on(name, listener);\n if (arguments.length === 2) {\n if (listener == null) for (type in this) {\n if (this.hasOwnProperty(type)) this[type].on(name, null);\n }\n return this;\n }\n };\n function d3_dispatch_event(dispatch) {\n var listeners = [], listenerByName = new d3_Map();\n function event() {\n var z = listeners, i = -1, n = z.length, l;\n while (++i < n) if (l = z[i].on) l.apply(this, arguments);\n return dispatch;\n }\n event.on = function(name, listener) {\n var l = listenerByName.get(name), i;\n if (arguments.length < 2) return l && l.on;\n if (l) {\n l.on = null;\n listeners = listeners.slice(0, i = listeners.indexOf(l)).concat(listeners.slice(i + 1));\n listenerByName.remove(name);\n }\n if (listener) listeners.push(listenerByName.set(name, {\n on: listener\n }));\n return dispatch;\n };\n return event;\n }\n d3.event = null;\n function d3_eventPreventDefault() {\n d3.event.preventDefault();\n }\n function d3_eventSource() {\n var e = d3.event, s;\n while (s = e.sourceEvent) e = s;\n return e;\n }\n function d3_eventDispatch(target) {\n var dispatch = new d3_dispatch(), i = 0, n = arguments.length;\n while (++i < n) dispatch[arguments[i]] = d3_dispatch_event(dispatch);\n dispatch.of = function(thiz, argumentz) {\n return function(e1) {\n try {\n var e0 = e1.sourceEvent = d3.event;\n e1.target = target;\n d3.event = e1;\n dispatch[e1.type].apply(thiz, argumentz);\n } finally {\n d3.event = e0;\n }\n };\n };\n return dispatch;\n }\n d3.requote = function(s) {\n return s.replace(d3_requote_re, \"\\\\$&\");\n };\n var d3_requote_re = /[\\\\\\^\\$\\*\\+\\?\\|\\[\\]\\(\\)\\.\\{\\}]/g;\n var d3_subclass = {}.__proto__ ? function(object, prototype) {\n object.__proto__ = prototype;\n } : function(object, prototype) {\n for (var property in prototype) object[property] = prototype[property];\n };\n function d3_selection(groups) {\n d3_subclass(groups, d3_selectionPrototype);\n return groups;\n }\n var d3_select = function(s, n) {\n return n.querySelector(s);\n }, d3_selectAll = function(s, n) {\n return n.querySelectorAll(s);\n }, d3_selectMatches = function(n, s) {\n var d3_selectMatcher = n.matches || n[d3_vendorSymbol(n, \"matchesSelector\")];\n d3_selectMatches = function(n, s) {\n return d3_selectMatcher.call(n, s);\n };\n return d3_selectMatches(n, s);\n };\n if (typeof Sizzle === \"function\") {\n d3_select = function(s, n) {\n return Sizzle(s, n)[0] || null;\n };\n d3_selectAll = Sizzle;\n d3_selectMatches = Sizzle.matchesSelector;\n }\n d3.selection = function() {\n return d3.select(d3_document.documentElement);\n };\n var d3_selectionPrototype = d3.selection.prototype = [];\n d3_selectionPrototype.select = function(selector) {\n var subgroups = [], subgroup, subnode, group, node;\n selector = d3_selection_selector(selector);\n for (var j = -1, m = this.length; ++j < m; ) {\n subgroups.push(subgroup = []);\n subgroup.parentNode = (group = this[j]).parentNode;\n for (var i = -1, n = group.length; ++i < n; ) {\n if (node = group[i]) {\n subgroup.push(subnode = selector.call(node, node.__data__, i, j));\n if (subnode && \"__data__\" in node) subnode.__data__ = node.__data__;\n } else {\n subgroup.push(null);\n }\n }\n }\n return d3_selection(subgroups);\n };\n function d3_selection_selector(selector) {\n return typeof selector === \"function\" ? selector : function() {\n return d3_select(selector, this);\n };\n }\n d3_selectionPrototype.selectAll = function(selector) {\n var subgroups = [], subgroup, node;\n selector = d3_selection_selectorAll(selector);\n for (var j = -1, m = this.length; ++j < m; ) {\n for (var group = this[j], i = -1, n = group.length; ++i < n; ) {\n if (node = group[i]) {\n subgroups.push(subgroup = d3_array(selector.call(node, node.__data__, i, j)));\n subgroup.parentNode = node;\n }\n }\n }\n return d3_selection(subgroups);\n };\n function d3_selection_selectorAll(selector) {\n return typeof selector === \"function\" ? selector : function() {\n return d3_selectAll(selector, this);\n };\n }\n var d3_nsXhtml = \"http://www.w3.org/1999/xhtml\";\n var d3_nsPrefix = {\n svg: \"http://www.w3.org/2000/svg\",\n xhtml: d3_nsXhtml,\n xlink: \"http://www.w3.org/1999/xlink\",\n xml: \"http://www.w3.org/XML/1998/namespace\",\n xmlns: \"http://www.w3.org/2000/xmlns/\"\n };\n d3.ns = {\n prefix: d3_nsPrefix,\n qualify: function(name) {\n var i = name.indexOf(\":\"), prefix = name;\n if (i >= 0 && (prefix = name.slice(0, i)) !== \"xmlns\") name = name.slice(i + 1);\n return d3_nsPrefix.hasOwnProperty(prefix) ? {\n space: d3_nsPrefix[prefix],\n local: name\n } : name;\n }\n };\n d3_selectionPrototype.attr = function(name, value) {\n if (arguments.length < 2) {\n if (typeof name === \"string\") {\n var node = this.node();\n name = d3.ns.qualify(name);\n return name.local ? node.getAttributeNS(name.space, name.local) : node.getAttribute(name);\n }\n for (value in name) this.each(d3_selection_attr(value, name[value]));\n return this;\n }\n return this.each(d3_selection_attr(name, value));\n };\n function d3_selection_attr(name, value) {\n name = d3.ns.qualify(name);\n function attrNull() {\n this.removeAttribute(name);\n }\n function attrNullNS() {\n this.removeAttributeNS(name.space, name.local);\n }\n function attrConstant() {\n this.setAttribute(name, value);\n }\n function attrConstantNS() {\n this.setAttributeNS(name.space, name.local, value);\n }\n function attrFunction() {\n var x = value.apply(this, arguments);\n if (x == null) this.removeAttribute(name); else this.setAttribute(name, x);\n }\n function attrFunctionNS() {\n var x = value.apply(this, arguments);\n if (x == null) this.removeAttributeNS(name.space, name.local); else this.setAttributeNS(name.space, name.local, x);\n }\n return value == null ? name.local ? attrNullNS : attrNull : typeof value === \"function\" ? name.local ? attrFunctionNS : attrFunction : name.local ? attrConstantNS : attrConstant;\n }\n function d3_collapse(s) {\n return s.trim().replace(/\\s+/g, \" \");\n }\n d3_selectionPrototype.classed = function(name, value) {\n if (arguments.length < 2) {\n if (typeof name === \"string\") {\n var node = this.node(), n = (name = d3_selection_classes(name)).length, i = -1;\n if (value = node.classList) {\n while (++i < n) if (!value.contains(name[i])) return false;\n } else {\n value = node.getAttribute(\"class\");\n while (++i < n) if (!d3_selection_classedRe(name[i]).test(value)) return false;\n }\n return true;\n }\n for (value in name) this.each(d3_selection_classed(value, name[value]));\n return this;\n }\n return this.each(d3_selection_classed(name, value));\n };\n function d3_selection_classedRe(name) {\n return new RegExp(\"(?:^|\\\\s+)\" + d3.requote(name) + \"(?:\\\\s+|$)\", \"g\");\n }\n function d3_selection_classes(name) {\n return (name + \"\").trim().split(/^|\\s+/);\n }\n function d3_selection_classed(name, value) {\n name = d3_selection_classes(name).map(d3_selection_classedName);\n var n = name.length;\n function classedConstant() {\n var i = -1;\n while (++i < n) name[i](this, value);\n }\n function classedFunction() {\n var i = -1, x = value.apply(this, arguments);\n while (++i < n) name[i](this, x);\n }\n return typeof value === \"function\" ? classedFunction : classedConstant;\n }\n function d3_selection_classedName(name) {\n var re = d3_selection_classedRe(name);\n return function(node, value) {\n if (c = node.classList) return value ? c.add(name) : c.remove(name);\n var c = node.getAttribute(\"class\") || \"\";\n if (value) {\n re.lastIndex = 0;\n if (!re.test(c)) node.setAttribute(\"class\", d3_collapse(c + \" \" + name));\n } else {\n node.setAttribute(\"class\", d3_collapse(c.replace(re, \" \")));\n }\n };\n }\n d3_selectionPrototype.style = function(name, value, priority) {\n var n = arguments.length;\n if (n < 3) {\n if (typeof name !== \"string\") {\n if (n < 2) value = \"\";\n for (priority in name) this.each(d3_selection_style(priority, name[priority], value));\n return this;\n }\n if (n < 2) {\n var node = this.node();\n return d3_window(node).getComputedStyle(node, null).getPropertyValue(name);\n }\n priority = \"\";\n }\n return this.each(d3_selection_style(name, value, priority));\n };\n function d3_selection_style(name, value, priority) {\n function styleNull() {\n this.style.removeProperty(name);\n }\n function styleConstant() {\n this.style.setProperty(name, value, priority);\n }\n function styleFunction() {\n var x = value.apply(this, arguments);\n if (x == null) this.style.removeProperty(name); else this.style.setProperty(name, x, priority);\n }\n return value == null ? styleNull : typeof value === \"function\" ? styleFunction : styleConstant;\n }\n d3_selectionPrototype.property = function(name, value) {\n if (arguments.length < 2) {\n if (typeof name === \"string\") return this.node()[name];\n for (value in name) this.each(d3_selection_property(value, name[value]));\n return this;\n }\n return this.each(d3_selection_property(name, value));\n };\n function d3_selection_property(name, value) {\n function propertyNull() {\n delete this[name];\n }\n function propertyConstant() {\n this[name] = value;\n }\n function propertyFunction() {\n var x = value.apply(this, arguments);\n if (x == null) delete this[name]; else this[name] = x;\n }\n return value == null ? propertyNull : typeof value === \"function\" ? propertyFunction : propertyConstant;\n }\n d3_selectionPrototype.text = function(value) {\n return arguments.length ? this.each(typeof value === \"function\" ? function() {\n var v = value.apply(this, arguments);\n this.textContent = v == null ? \"\" : v;\n } : value == null ? function() {\n this.textContent = \"\";\n } : function() {\n this.textContent = value;\n }) : this.node().textContent;\n };\n d3_selectionPrototype.html = function(value) {\n return arguments.length ? this.each(typeof value === \"function\" ? function() {\n var v = value.apply(this, arguments);\n this.innerHTML = v == null ? \"\" : v;\n } : value == null ? function() {\n this.innerHTML = \"\";\n } : function() {\n this.innerHTML = value;\n }) : this.node().innerHTML;\n };\n d3_selectionPrototype.append = function(name) {\n name = d3_selection_creator(name);\n return this.select(function() {\n return this.appendChild(name.apply(this, arguments));\n });\n };\n function d3_selection_creator(name) {\n function create() {\n var document = this.ownerDocument, namespace = this.namespaceURI;\n return namespace === d3_nsXhtml && document.documentElement.namespaceURI === d3_nsXhtml ? document.createElement(name) : document.createElementNS(namespace, name);\n }\n function createNS() {\n return this.ownerDocument.createElementNS(name.space, name.local);\n }\n return typeof name === \"function\" ? name : (name = d3.ns.qualify(name)).local ? createNS : create;\n }\n d3_selectionPrototype.insert = function(name, before) {\n name = d3_selection_creator(name);\n before = d3_selection_selector(before);\n return this.select(function() {\n return this.insertBefore(name.apply(this, arguments), before.apply(this, arguments) || null);\n });\n };\n d3_selectionPrototype.remove = function() {\n return this.each(d3_selectionRemove);\n };\n function d3_selectionRemove() {\n var parent = this.parentNode;\n if (parent) parent.removeChild(this);\n }\n d3_selectionPrototype.data = function(value, key) {\n var i = -1, n = this.length, group, node;\n if (!arguments.length) {\n value = new Array(n = (group = this[0]).length);\n while (++i < n) {\n if (node = group[i]) {\n value[i] = node.__data__;\n }\n }\n return value;\n }\n function bind(group, groupData) {\n var i, n = group.length, m = groupData.length, n0 = Math.min(n, m), updateNodes = new Array(m), enterNodes = new Array(m), exitNodes = new Array(n), node, nodeData;\n if (key) {\n var nodeByKeyValue = new d3_Map(), keyValues = new Array(n), keyValue;\n for (i = -1; ++i < n; ) {\n if (node = group[i]) {\n if (nodeByKeyValue.has(keyValue = key.call(node, node.__data__, i))) {\n exitNodes[i] = node;\n } else {\n nodeByKeyValue.set(keyValue, node);\n }\n keyValues[i] = keyValue;\n }\n }\n for (i = -1; ++i < m; ) {\n if (!(node = nodeByKeyValue.get(keyValue = key.call(groupData, nodeData = groupData[i], i)))) {\n enterNodes[i] = d3_selection_dataNode(nodeData);\n } else if (node !== true) {\n updateNodes[i] = node;\n node.__data__ = nodeData;\n }\n nodeByKeyValue.set(keyValue, true);\n }\n for (i = -1; ++i < n; ) {\n if (i in keyValues && nodeByKeyValue.get(keyValues[i]) !== true) {\n exitNodes[i] = group[i];\n }\n }\n } else {\n for (i = -1; ++i < n0; ) {\n node = group[i];\n nodeData = groupData[i];\n if (node) {\n node.__data__ = nodeData;\n updateNodes[i] = node;\n } else {\n enterNodes[i] = d3_selection_dataNode(nodeData);\n }\n }\n for (;i < m; ++i) {\n enterNodes[i] = d3_selection_dataNode(groupData[i]);\n }\n for (;i < n; ++i) {\n exitNodes[i] = group[i];\n }\n }\n enterNodes.update = updateNodes;\n enterNodes.parentNode = updateNodes.parentNode = exitNodes.parentNode = group.parentNode;\n enter.push(enterNodes);\n update.push(updateNodes);\n exit.push(exitNodes);\n }\n var enter = d3_selection_enter([]), update = d3_selection([]), exit = d3_selection([]);\n if (typeof value === \"function\") {\n while (++i < n) {\n bind(group = this[i], value.call(group, group.parentNode.__data__, i));\n }\n } else {\n while (++i < n) {\n bind(group = this[i], value);\n }\n }\n update.enter = function() {\n return enter;\n };\n update.exit = function() {\n return exit;\n };\n return update;\n };\n function d3_selection_dataNode(data) {\n return {\n __data__: data\n };\n }\n d3_selectionPrototype.datum = function(value) {\n return arguments.length ? this.property(\"__data__\", value) : this.property(\"__data__\");\n };\n d3_selectionPrototype.filter = function(filter) {\n var subgroups = [], subgroup, group, node;\n if (typeof filter !== \"function\") filter = d3_selection_filter(filter);\n for (var j = 0, m = this.length; j < m; j++) {\n subgroups.push(subgroup = []);\n subgroup.parentNode = (group = this[j]).parentNode;\n for (var i = 0, n = group.length; i < n; i++) {\n if ((node = group[i]) && filter.call(node, node.__data__, i, j)) {\n subgroup.push(node);\n }\n }\n }\n return d3_selection(subgroups);\n };\n function d3_selection_filter(selector) {\n return function() {\n return d3_selectMatches(this, selector);\n };\n }\n d3_selectionPrototype.order = function() {\n for (var j = -1, m = this.length; ++j < m; ) {\n for (var group = this[j], i = group.length - 1, next = group[i], node; --i >= 0; ) {\n if (node = group[i]) {\n if (next && next !== node.nextSibling) next.parentNode.insertBefore(node, next);\n next = node;\n }\n }\n }\n return this;\n };\n d3_selectionPrototype.sort = function(comparator) {\n comparator = d3_selection_sortComparator.apply(this, arguments);\n for (var j = -1, m = this.length; ++j < m; ) this[j].sort(comparator);\n return this.order();\n };\n function d3_selection_sortComparator(comparator) {\n if (!arguments.length) comparator = d3_ascending;\n return function(a, b) {\n return a && b ? comparator(a.__data__, b.__data__) : !a - !b;\n };\n }\n d3_selectionPrototype.each = function(callback) {\n return d3_selection_each(this, function(node, i, j) {\n callback.call(node, node.__data__, i, j);\n });\n };\n function d3_selection_each(groups, callback) {\n for (var j = 0, m = groups.length; j < m; j++) {\n for (var group = groups[j], i = 0, n = group.length, node; i < n; i++) {\n if (node = group[i]) callback(node, i, j);\n }\n }\n return groups;\n }\n d3_selectionPrototype.call = function(callback) {\n var args = d3_array(arguments);\n callback.apply(args[0] = this, args);\n return this;\n };\n d3_selectionPrototype.empty = function() {\n return !this.node();\n };\n d3_selectionPrototype.node = function() {\n for (var j = 0, m = this.length; j < m; j++) {\n for (var group = this[j], i = 0, n = group.length; i < n; i++) {\n var node = group[i];\n if (node) return node;\n }\n }\n return null;\n };\n d3_selectionPrototype.size = function() {\n var n = 0;\n d3_selection_each(this, function() {\n ++n;\n });\n return n;\n };\n function d3_selection_enter(selection) {\n d3_subclass(selection, d3_selection_enterPrototype);\n return selection;\n }\n var d3_selection_enterPrototype = [];\n d3.selection.enter = d3_selection_enter;\n d3.selection.enter.prototype = d3_selection_enterPrototype;\n d3_selection_enterPrototype.append = d3_selectionPrototype.append;\n d3_selection_enterPrototype.empty = d3_selectionPrototype.empty;\n d3_selection_enterPrototype.node = d3_selectionPrototype.node;\n d3_selection_enterPrototype.call = d3_selectionPrototype.call;\n d3_selection_enterPrototype.size = d3_selectionPrototype.size;\n d3_selection_enterPrototype.select = function(selector) {\n var subgroups = [], subgroup, subnode, upgroup, group, node;\n for (var j = -1, m = this.length; ++j < m; ) {\n upgroup = (group = this[j]).update;\n subgroups.push(subgroup = []);\n subgroup.parentNode = group.parentNode;\n for (var i = -1, n = group.length; ++i < n; ) {\n if (node = group[i]) {\n subgroup.push(upgroup[i] = subnode = selector.call(group.parentNode, node.__data__, i, j));\n subnode.__data__ = node.__data__;\n } else {\n subgroup.push(null);\n }\n }\n }\n return d3_selection(subgroups);\n };\n d3_selection_enterPrototype.insert = function(name, before) {\n if (arguments.length < 2) before = d3_selection_enterInsertBefore(this);\n return d3_selectionPrototype.insert.call(this, name, before);\n };\n function d3_selection_enterInsertBefore(enter) {\n var i0, j0;\n return function(d, i, j) {\n var group = enter[j].update, n = group.length, node;\n if (j != j0) j0 = j, i0 = 0;\n if (i >= i0) i0 = i + 1;\n while (!(node = group[i0]) && ++i0 < n) ;\n return node;\n };\n }\n d3.select = function(node) {\n var group;\n if (typeof node === \"string\") {\n group = [ d3_select(node, d3_document) ];\n group.parentNode = d3_document.documentElement;\n } else {\n group = [ node ];\n group.parentNode = d3_documentElement(node);\n }\n return d3_selection([ group ]);\n };\n d3.selectAll = function(nodes) {\n var group;\n if (typeof nodes === \"string\") {\n group = d3_array(d3_selectAll(nodes, d3_document));\n group.parentNode = d3_document.documentElement;\n } else {\n group = d3_array(nodes);\n group.parentNode = null;\n }\n return d3_selection([ group ]);\n };\n d3_selectionPrototype.on = function(type, listener, capture) {\n var n = arguments.length;\n if (n < 3) {\n if (typeof type !== \"string\") {\n if (n < 2) listener = false;\n for (capture in type) this.each(d3_selection_on(capture, type[capture], listener));\n return this;\n }\n if (n < 2) return (n = this.node()[\"__on\" + type]) && n._;\n capture = false;\n }\n return this.each(d3_selection_on(type, listener, capture));\n };\n function d3_selection_on(type, listener, capture) {\n var name = \"__on\" + type, i = type.indexOf(\".\"), wrap = d3_selection_onListener;\n if (i > 0) type = type.slice(0, i);\n var filter = d3_selection_onFilters.get(type);\n if (filter) type = filter, wrap = d3_selection_onFilter;\n function onRemove() {\n var l = this[name];\n if (l) {\n this.removeEventListener(type, l, l.$);\n delete this[name];\n }\n }\n function onAdd() {\n var l = wrap(listener, d3_array(arguments));\n onRemove.call(this);\n this.addEventListener(type, this[name] = l, l.$ = capture);\n l._ = listener;\n }\n function removeAll() {\n var re = new RegExp(\"^__on([^.]+)\" + d3.requote(type) + \"$\"), match;\n for (var name in this) {\n if (match = name.match(re)) {\n var l = this[name];\n this.removeEventListener(match[1], l, l.$);\n delete this[name];\n }\n }\n }\n return i ? listener ? onAdd : onRemove : listener ? d3_noop : removeAll;\n }\n var d3_selection_onFilters = d3.map({\n mouseenter: \"mouseover\",\n mouseleave: \"mouseout\"\n });\n if (d3_document) {\n d3_selection_onFilters.forEach(function(k) {\n if (\"on\" + k in d3_document) d3_selection_onFilters.remove(k);\n });\n }\n function d3_selection_onListener(listener, argumentz) {\n return function(e) {\n var o = d3.event;\n d3.event = e;\n argumentz[0] = this.__data__;\n try {\n listener.apply(this, argumentz);\n } finally {\n d3.event = o;\n }\n };\n }\n function d3_selection_onFilter(listener, argumentz) {\n var l = d3_selection_onListener(listener, argumentz);\n return function(e) {\n var target = this, related = e.relatedTarget;\n if (!related || related !== target && !(related.compareDocumentPosition(target) & 8)) {\n l.call(target, e);\n }\n };\n }\n var d3_event_dragSelect, d3_event_dragId = 0;\n function d3_event_dragSuppress(node) {\n var name = \".dragsuppress-\" + ++d3_event_dragId, click = \"click\" + name, w = d3.select(d3_window(node)).on(\"touchmove\" + name, d3_eventPreventDefault).on(\"dragstart\" + name, d3_eventPreventDefault).on(\"selectstart\" + name, d3_eventPreventDefault);\n if (d3_event_dragSelect == null) {\n d3_event_dragSelect = \"onselectstart\" in node ? false : d3_vendorSymbol(node.style, \"userSelect\");\n }\n if (d3_event_dragSelect) {\n var style = d3_documentElement(node).style, select = style[d3_event_dragSelect];\n style[d3_event_dragSelect] = \"none\";\n }\n return function(suppressClick) {\n w.on(name, null);\n if (d3_event_dragSelect) style[d3_event_dragSelect] = select;\n if (suppressClick) {\n var off = function() {\n w.on(click, null);\n };\n w.on(click, function() {\n d3_eventPreventDefault();\n off();\n }, true);\n setTimeout(off, 0);\n }\n };\n }\n d3.mouse = function(container) {\n return d3_mousePoint(container, d3_eventSource());\n };\n var d3_mouse_bug44083 = this.navigator && /WebKit/.test(this.navigator.userAgent) ? -1 : 0;\n function d3_mousePoint(container, e) {\n if (e.changedTouches) e = e.changedTouches[0];\n var svg = container.ownerSVGElement || container;\n if (svg.createSVGPoint) {\n var point = svg.createSVGPoint();\n if (d3_mouse_bug44083 < 0) {\n var window = d3_window(container);\n if (window.scrollX || window.scrollY) {\n svg = d3.select(\"body\").append(\"svg\").style({\n position: \"absolute\",\n top: 0,\n left: 0,\n margin: 0,\n padding: 0,\n border: \"none\"\n }, \"important\");\n var ctm = svg[0][0].getScreenCTM();\n d3_mouse_bug44083 = !(ctm.f || ctm.e);\n svg.remove();\n }\n }\n if (d3_mouse_bug44083) point.x = e.pageX, point.y = e.pageY; else point.x = e.clientX, \n point.y = e.clientY;\n point = point.matrixTransform(container.getScreenCTM().inverse());\n return [ point.x, point.y ];\n }\n var rect = container.getBoundingClientRect();\n return [ e.clientX - rect.left - container.clientLeft, e.clientY - rect.top - container.clientTop ];\n }\n d3.touch = function(container, touches, identifier) {\n if (arguments.length < 3) identifier = touches, touches = d3_eventSource().changedTouches;\n if (touches) for (var i = 0, n = touches.length, touch; i < n; ++i) {\n if ((touch = touches[i]).identifier === identifier) {\n return d3_mousePoint(container, touch);\n }\n }\n };\n d3.behavior.drag = function() {\n var event = d3_eventDispatch(drag, \"drag\", \"dragstart\", \"dragend\"), origin = null, mousedown = dragstart(d3_noop, d3.mouse, d3_window, \"mousemove\", \"mouseup\"), touchstart = dragstart(d3_behavior_dragTouchId, d3.touch, d3_identity, \"touchmove\", \"touchend\");\n function drag() {\n this.on(\"mousedown.drag\", mousedown).on(\"touchstart.drag\", touchstart);\n }\n function dragstart(id, position, subject, move, end) {\n return function() {\n var that = this, target = d3.event.target.correspondingElement || d3.event.target, parent = that.parentNode, dispatch = event.of(that, arguments), dragged = 0, dragId = id(), dragName = \".drag\" + (dragId == null ? \"\" : \"-\" + dragId), dragOffset, dragSubject = d3.select(subject(target)).on(move + dragName, moved).on(end + dragName, ended), dragRestore = d3_event_dragSuppress(target), position0 = position(parent, dragId);\n if (origin) {\n dragOffset = origin.apply(that, arguments);\n dragOffset = [ dragOffset.x - position0[0], dragOffset.y - position0[1] ];\n } else {\n dragOffset = [ 0, 0 ];\n }\n dispatch({\n type: \"dragstart\"\n });\n function moved() {\n var position1 = position(parent, dragId), dx, dy;\n if (!position1) return;\n dx = position1[0] - position0[0];\n dy = position1[1] - position0[1];\n dragged |= dx | dy;\n position0 = position1;\n dispatch({\n type: \"drag\",\n x: position1[0] + dragOffset[0],\n y: position1[1] + dragOffset[1],\n dx: dx,\n dy: dy\n });\n }\n function ended() {\n if (!position(parent, dragId)) return;\n dragSubject.on(move + dragName, null).on(end + dragName, null);\n dragRestore(dragged);\n dispatch({\n type: \"dragend\"\n });\n }\n };\n }\n drag.origin = function(x) {\n if (!arguments.length) return origin;\n origin = x;\n return drag;\n };\n return d3.rebind(drag, event, \"on\");\n };\n function d3_behavior_dragTouchId() {\n return d3.event.changedTouches[0].identifier;\n }\n d3.touches = function(container, touches) {\n if (arguments.length < 2) touches = d3_eventSource().touches;\n return touches ? d3_array(touches).map(function(touch) {\n var point = d3_mousePoint(container, touch);\n point.identifier = touch.identifier;\n return point;\n }) : [];\n };\n var ε = 1e-6, ε2 = ε * ε, π = Math.PI, τ = 2 * π, τε = τ - ε, halfπ = π / 2, d3_radians = π / 180, d3_degrees = 180 / π;\n function d3_sgn(x) {\n return x > 0 ? 1 : x < 0 ? -1 : 0;\n }\n function d3_cross2d(a, b, c) {\n return (b[0] - a[0]) * (c[1] - a[1]) - (b[1] - a[1]) * (c[0] - a[0]);\n }\n function d3_acos(x) {\n return x > 1 ? 0 : x < -1 ? π : Math.acos(x);\n }\n function d3_asin(x) {\n return x > 1 ? halfπ : x < -1 ? -halfπ : Math.asin(x);\n }\n function d3_sinh(x) {\n return ((x = Math.exp(x)) - 1 / x) / 2;\n }\n function d3_cosh(x) {\n return ((x = Math.exp(x)) + 1 / x) / 2;\n }\n function d3_tanh(x) {\n return ((x = Math.exp(2 * x)) - 1) / (x + 1);\n }\n function d3_haversin(x) {\n return (x = Math.sin(x / 2)) * x;\n }\n var ρ = Math.SQRT2, ρ2 = 2, ρ4 = 4;\n d3.interpolateZoom = function(p0, p1) {\n var ux0 = p0[0], uy0 = p0[1], w0 = p0[2], ux1 = p1[0], uy1 = p1[1], w1 = p1[2], dx = ux1 - ux0, dy = uy1 - uy0, d2 = dx * dx + dy * dy, i, S;\n if (d2 < ε2) {\n S = Math.log(w1 / w0) / ρ;\n i = function(t) {\n return [ ux0 + t * dx, uy0 + t * dy, w0 * Math.exp(ρ * t * S) ];\n };\n } else {\n var d1 = Math.sqrt(d2), b0 = (w1 * w1 - w0 * w0 + ρ4 * d2) / (2 * w0 * ρ2 * d1), b1 = (w1 * w1 - w0 * w0 - ρ4 * d2) / (2 * w1 * ρ2 * d1), r0 = Math.log(Math.sqrt(b0 * b0 + 1) - b0), r1 = Math.log(Math.sqrt(b1 * b1 + 1) - b1);\n S = (r1 - r0) / ρ;\n i = function(t) {\n var s = t * S, coshr0 = d3_cosh(r0), u = w0 / (ρ2 * d1) * (coshr0 * d3_tanh(ρ * s + r0) - d3_sinh(r0));\n return [ ux0 + u * dx, uy0 + u * dy, w0 * coshr0 / d3_cosh(ρ * s + r0) ];\n };\n }\n i.duration = S * 1e3;\n return i;\n };\n d3.behavior.zoom = function() {\n var view = {\n x: 0,\n y: 0,\n k: 1\n }, translate0, center0, center, size = [ 960, 500 ], scaleExtent = d3_behavior_zoomInfinity, duration = 250, zooming = 0, mousedown = \"mousedown.zoom\", mousemove = \"mousemove.zoom\", mouseup = \"mouseup.zoom\", mousewheelTimer, touchstart = \"touchstart.zoom\", touchtime, event = d3_eventDispatch(zoom, \"zoomstart\", \"zoom\", \"zoomend\"), x0, x1, y0, y1;\n if (!d3_behavior_zoomWheel) {\n d3_behavior_zoomWheel = \"onwheel\" in d3_document ? (d3_behavior_zoomDelta = function() {\n return -d3.event.deltaY * (d3.event.deltaMode ? 120 : 1);\n }, \"wheel\") : \"onmousewheel\" in d3_document ? (d3_behavior_zoomDelta = function() {\n return d3.event.wheelDelta;\n }, \"mousewheel\") : (d3_behavior_zoomDelta = function() {\n return -d3.event.detail;\n }, \"MozMousePixelScroll\");\n }\n function zoom(g) {\n g.on(mousedown, mousedowned).on(d3_behavior_zoomWheel + \".zoom\", mousewheeled).on(\"dblclick.zoom\", dblclicked).on(touchstart, touchstarted);\n }\n zoom.event = function(g) {\n g.each(function() {\n var dispatch = event.of(this, arguments), view1 = view;\n if (d3_transitionInheritId) {\n d3.select(this).transition().each(\"start.zoom\", function() {\n view = this.__chart__ || {\n x: 0,\n y: 0,\n k: 1\n };\n zoomstarted(dispatch);\n }).tween(\"zoom:zoom\", function() {\n var dx = size[0], dy = size[1], cx = center0 ? center0[0] : dx / 2, cy = center0 ? center0[1] : dy / 2, i = d3.interpolateZoom([ (cx - view.x) / view.k, (cy - view.y) / view.k, dx / view.k ], [ (cx - view1.x) / view1.k, (cy - view1.y) / view1.k, dx / view1.k ]);\n return function(t) {\n var l = i(t), k = dx / l[2];\n this.__chart__ = view = {\n x: cx - l[0] * k,\n y: cy - l[1] * k,\n k: k\n };\n zoomed(dispatch);\n };\n }).each(\"interrupt.zoom\", function() {\n zoomended(dispatch);\n }).each(\"end.zoom\", function() {\n zoomended(dispatch);\n });\n } else {\n this.__chart__ = view;\n zoomstarted(dispatch);\n zoomed(dispatch);\n zoomended(dispatch);\n }\n });\n };\n zoom.translate = function(_) {\n if (!arguments.length) return [ view.x, view.y ];\n view = {\n x: +_[0],\n y: +_[1],\n k: view.k\n };\n rescale();\n return zoom;\n };\n zoom.scale = function(_) {\n if (!arguments.length) return view.k;\n view = {\n x: view.x,\n y: view.y,\n k: null\n };\n scaleTo(+_);\n rescale();\n return zoom;\n };\n zoom.scaleExtent = function(_) {\n if (!arguments.length) return scaleExtent;\n scaleExtent = _ == null ? d3_behavior_zoomInfinity : [ +_[0], +_[1] ];\n return zoom;\n };\n zoom.center = function(_) {\n if (!arguments.length) return center;\n center = _ && [ +_[0], +_[1] ];\n return zoom;\n };\n zoom.size = function(_) {\n if (!arguments.length) return size;\n size = _ && [ +_[0], +_[1] ];\n return zoom;\n };\n zoom.duration = function(_) {\n if (!arguments.length) return duration;\n duration = +_;\n return zoom;\n };\n zoom.x = function(z) {\n if (!arguments.length) return x1;\n x1 = z;\n x0 = z.copy();\n view = {\n x: 0,\n y: 0,\n k: 1\n };\n return zoom;\n };\n zoom.y = function(z) {\n if (!arguments.length) return y1;\n y1 = z;\n y0 = z.copy();\n view = {\n x: 0,\n y: 0,\n k: 1\n };\n return zoom;\n };\n function location(p) {\n return [ (p[0] - view.x) / view.k, (p[1] - view.y) / view.k ];\n }\n function point(l) {\n return [ l[0] * view.k + view.x, l[1] * view.k + view.y ];\n }\n function scaleTo(s) {\n view.k = Math.max(scaleExtent[0], Math.min(scaleExtent[1], s));\n }\n function translateTo(p, l) {\n l = point(l);\n view.x += p[0] - l[0];\n view.y += p[1] - l[1];\n }\n function zoomTo(that, p, l, k) {\n that.__chart__ = {\n x: view.x,\n y: view.y,\n k: view.k\n };\n scaleTo(Math.pow(2, k));\n translateTo(center0 = p, l);\n that = d3.select(that);\n if (duration > 0) that = that.transition().duration(duration);\n that.call(zoom.event);\n }\n function rescale() {\n if (x1) x1.domain(x0.range().map(function(x) {\n return (x - view.x) / view.k;\n }).map(x0.invert));\n if (y1) y1.domain(y0.range().map(function(y) {\n return (y - view.y) / view.k;\n }).map(y0.invert));\n }\n function zoomstarted(dispatch) {\n if (!zooming++) dispatch({\n type: \"zoomstart\"\n });\n }\n function zoomed(dispatch) {\n rescale();\n dispatch({\n type: \"zoom\",\n scale: view.k,\n translate: [ view.x, view.y ]\n });\n }\n function zoomended(dispatch) {\n if (!--zooming) dispatch({\n type: \"zoomend\"\n }), center0 = null;\n }\n function mousedowned() {\n var that = this, dispatch = event.of(that, arguments), dragged = 0, subject = d3.select(d3_window(that)).on(mousemove, moved).on(mouseup, ended), location0 = location(d3.mouse(that)), dragRestore = d3_event_dragSuppress(that);\n d3_selection_interrupt.call(that);\n zoomstarted(dispatch);\n function moved() {\n dragged = 1;\n translateTo(d3.mouse(that), location0);\n zoomed(dispatch);\n }\n function ended() {\n subject.on(mousemove, null).on(mouseup, null);\n dragRestore(dragged);\n zoomended(dispatch);\n }\n }\n function touchstarted() {\n var that = this, dispatch = event.of(that, arguments), locations0 = {}, distance0 = 0, scale0, zoomName = \".zoom-\" + d3.event.changedTouches[0].identifier, touchmove = \"touchmove\" + zoomName, touchend = \"touchend\" + zoomName, targets = [], subject = d3.select(that), dragRestore = d3_event_dragSuppress(that);\n started();\n zoomstarted(dispatch);\n subject.on(mousedown, null).on(touchstart, started);\n function relocate() {\n var touches = d3.touches(that);\n scale0 = view.k;\n touches.forEach(function(t) {\n if (t.identifier in locations0) locations0[t.identifier] = location(t);\n });\n return touches;\n }\n function started() {\n var target = d3.event.target;\n d3.select(target).on(touchmove, moved).on(touchend, ended);\n targets.push(target);\n var changed = d3.event.changedTouches;\n for (var i = 0, n = changed.length; i < n; ++i) {\n locations0[changed[i].identifier] = null;\n }\n var touches = relocate(), now = Date.now();\n if (touches.length === 1) {\n if (now - touchtime < 500) {\n var p = touches[0];\n zoomTo(that, p, locations0[p.identifier], Math.floor(Math.log(view.k) / Math.LN2) + 1);\n d3_eventPreventDefault();\n }\n touchtime = now;\n } else if (touches.length > 1) {\n var p = touches[0], q = touches[1], dx = p[0] - q[0], dy = p[1] - q[1];\n distance0 = dx * dx + dy * dy;\n }\n }\n function moved() {\n var touches = d3.touches(that), p0, l0, p1, l1;\n d3_selection_interrupt.call(that);\n for (var i = 0, n = touches.length; i < n; ++i, l1 = null) {\n p1 = touches[i];\n if (l1 = locations0[p1.identifier]) {\n if (l0) break;\n p0 = p1, l0 = l1;\n }\n }\n if (l1) {\n var distance1 = (distance1 = p1[0] - p0[0]) * distance1 + (distance1 = p1[1] - p0[1]) * distance1, scale1 = distance0 && Math.sqrt(distance1 / distance0);\n p0 = [ (p0[0] + p1[0]) / 2, (p0[1] + p1[1]) / 2 ];\n l0 = [ (l0[0] + l1[0]) / 2, (l0[1] + l1[1]) / 2 ];\n scaleTo(scale1 * scale0);\n }\n touchtime = null;\n translateTo(p0, l0);\n zoomed(dispatch);\n }\n function ended() {\n if (d3.event.touches.length) {\n var changed = d3.event.changedTouches;\n for (var i = 0, n = changed.length; i < n; ++i) {\n delete locations0[changed[i].identifier];\n }\n for (var identifier in locations0) {\n return void relocate();\n }\n }\n d3.selectAll(targets).on(zoomName, null);\n subject.on(mousedown, mousedowned).on(touchstart, touchstarted);\n dragRestore();\n zoomended(dispatch);\n }\n }\n function mousewheeled() {\n var dispatch = event.of(this, arguments);\n if (mousewheelTimer) clearTimeout(mousewheelTimer); else d3_selection_interrupt.call(this), \n translate0 = location(center0 = center || d3.mouse(this)), zoomstarted(dispatch);\n mousewheelTimer = setTimeout(function() {\n mousewheelTimer = null;\n zoomended(dispatch);\n }, 50);\n d3_eventPreventDefault();\n scaleTo(Math.pow(2, d3_behavior_zoomDelta() * .002) * view.k);\n translateTo(center0, translate0);\n zoomed(dispatch);\n }\n function dblclicked() {\n var p = d3.mouse(this), k = Math.log(view.k) / Math.LN2;\n zoomTo(this, p, location(p), d3.event.shiftKey ? Math.ceil(k) - 1 : Math.floor(k) + 1);\n }\n return d3.rebind(zoom, event, \"on\");\n };\n var d3_behavior_zoomInfinity = [ 0, Infinity ], d3_behavior_zoomDelta, d3_behavior_zoomWheel;\n d3.color = d3_color;\n function d3_color() {}\n d3_color.prototype.toString = function() {\n return this.rgb() + \"\";\n };\n d3.hsl = d3_hsl;\n function d3_hsl(h, s, l) {\n return this instanceof d3_hsl ? void (this.h = +h, this.s = +s, this.l = +l) : arguments.length < 2 ? h instanceof d3_hsl ? new d3_hsl(h.h, h.s, h.l) : d3_rgb_parse(\"\" + h, d3_rgb_hsl, d3_hsl) : new d3_hsl(h, s, l);\n }\n var d3_hslPrototype = d3_hsl.prototype = new d3_color();\n d3_hslPrototype.brighter = function(k) {\n k = Math.pow(.7, arguments.length ? k : 1);\n return new d3_hsl(this.h, this.s, this.l / k);\n };\n d3_hslPrototype.darker = function(k) {\n k = Math.pow(.7, arguments.length ? k : 1);\n return new d3_hsl(this.h, this.s, k * this.l);\n };\n d3_hslPrototype.rgb = function() {\n return d3_hsl_rgb(this.h, this.s, this.l);\n };\n function d3_hsl_rgb(h, s, l) {\n var m1, m2;\n h = isNaN(h) ? 0 : (h %= 360) < 0 ? h + 360 : h;\n s = isNaN(s) ? 0 : s < 0 ? 0 : s > 1 ? 1 : s;\n l = l < 0 ? 0 : l > 1 ? 1 : l;\n m2 = l <= .5 ? l * (1 + s) : l + s - l * s;\n m1 = 2 * l - m2;\n function v(h) {\n if (h > 360) h -= 360; else if (h < 0) h += 360;\n if (h < 60) return m1 + (m2 - m1) * h / 60;\n if (h < 180) return m2;\n if (h < 240) return m1 + (m2 - m1) * (240 - h) / 60;\n return m1;\n }\n function vv(h) {\n return Math.round(v(h) * 255);\n }\n return new d3_rgb(vv(h + 120), vv(h), vv(h - 120));\n }\n d3.hcl = d3_hcl;\n function d3_hcl(h, c, l) {\n return this instanceof d3_hcl ? void (this.h = +h, this.c = +c, this.l = +l) : arguments.length < 2 ? h instanceof d3_hcl ? new d3_hcl(h.h, h.c, h.l) : h instanceof d3_lab ? d3_lab_hcl(h.l, h.a, h.b) : d3_lab_hcl((h = d3_rgb_lab((h = d3.rgb(h)).r, h.g, h.b)).l, h.a, h.b) : new d3_hcl(h, c, l);\n }\n var d3_hclPrototype = d3_hcl.prototype = new d3_color();\n d3_hclPrototype.brighter = function(k) {\n return new d3_hcl(this.h, this.c, Math.min(100, this.l + d3_lab_K * (arguments.length ? k : 1)));\n };\n d3_hclPrototype.darker = function(k) {\n return new d3_hcl(this.h, this.c, Math.max(0, this.l - d3_lab_K * (arguments.length ? k : 1)));\n };\n d3_hclPrototype.rgb = function() {\n return d3_hcl_lab(this.h, this.c, this.l).rgb();\n };\n function d3_hcl_lab(h, c, l) {\n if (isNaN(h)) h = 0;\n if (isNaN(c)) c = 0;\n return new d3_lab(l, Math.cos(h *= d3_radians) * c, Math.sin(h) * c);\n }\n d3.lab = d3_lab;\n function d3_lab(l, a, b) {\n return this instanceof d3_lab ? void (this.l = +l, this.a = +a, this.b = +b) : arguments.length < 2 ? l instanceof d3_lab ? new d3_lab(l.l, l.a, l.b) : l instanceof d3_hcl ? d3_hcl_lab(l.h, l.c, l.l) : d3_rgb_lab((l = d3_rgb(l)).r, l.g, l.b) : new d3_lab(l, a, b);\n }\n var d3_lab_K = 18;\n var d3_lab_X = .95047, d3_lab_Y = 1, d3_lab_Z = 1.08883;\n var d3_labPrototype = d3_lab.prototype = new d3_color();\n d3_labPrototype.brighter = function(k) {\n return new d3_lab(Math.min(100, this.l + d3_lab_K * (arguments.length ? k : 1)), this.a, this.b);\n };\n d3_labPrototype.darker = function(k) {\n return new d3_lab(Math.max(0, this.l - d3_lab_K * (arguments.length ? k : 1)), this.a, this.b);\n };\n d3_labPrototype.rgb = function() {\n return d3_lab_rgb(this.l, this.a, this.b);\n };\n function d3_lab_rgb(l, a, b) {\n var y = (l + 16) / 116, x = y + a / 500, z = y - b / 200;\n x = d3_lab_xyz(x) * d3_lab_X;\n y = d3_lab_xyz(y) * d3_lab_Y;\n z = d3_lab_xyz(z) * d3_lab_Z;\n return new d3_rgb(d3_xyz_rgb(3.2404542 * x - 1.5371385 * y - .4985314 * z), d3_xyz_rgb(-.969266 * x + 1.8760108 * y + .041556 * z), d3_xyz_rgb(.0556434 * x - .2040259 * y + 1.0572252 * z));\n }\n function d3_lab_hcl(l, a, b) {\n return l > 0 ? new d3_hcl(Math.atan2(b, a) * d3_degrees, Math.sqrt(a * a + b * b), l) : new d3_hcl(NaN, NaN, l);\n }\n function d3_lab_xyz(x) {\n return x > .206893034 ? x * x * x : (x - 4 / 29) / 7.787037;\n }\n function d3_xyz_lab(x) {\n return x > .008856 ? Math.pow(x, 1 / 3) : 7.787037 * x + 4 / 29;\n }\n function d3_xyz_rgb(r) {\n return Math.round(255 * (r <= .00304 ? 12.92 * r : 1.055 * Math.pow(r, 1 / 2.4) - .055));\n }\n d3.rgb = d3_rgb;\n function d3_rgb(r, g, b) {\n return this instanceof d3_rgb ? void (this.r = ~~r, this.g = ~~g, this.b = ~~b) : arguments.length < 2 ? r instanceof d3_rgb ? new d3_rgb(r.r, r.g, r.b) : d3_rgb_parse(\"\" + r, d3_rgb, d3_hsl_rgb) : new d3_rgb(r, g, b);\n }\n function d3_rgbNumber(value) {\n return new d3_rgb(value >> 16, value >> 8 & 255, value & 255);\n }\n function d3_rgbString(value) {\n return d3_rgbNumber(value) + \"\";\n }\n var d3_rgbPrototype = d3_rgb.prototype = new d3_color();\n d3_rgbPrototype.brighter = function(k) {\n k = Math.pow(.7, arguments.length ? k : 1);\n var r = this.r, g = this.g, b = this.b, i = 30;\n if (!r && !g && !b) return new d3_rgb(i, i, i);\n if (r && r < i) r = i;\n if (g && g < i) g = i;\n if (b && b < i) b = i;\n return new d3_rgb(Math.min(255, r / k), Math.min(255, g / k), Math.min(255, b / k));\n };\n d3_rgbPrototype.darker = function(k) {\n k = Math.pow(.7, arguments.length ? k : 1);\n return new d3_rgb(k * this.r, k * this.g, k * this.b);\n };\n d3_rgbPrototype.hsl = function() {\n return d3_rgb_hsl(this.r, this.g, this.b);\n };\n d3_rgbPrototype.toString = function() {\n return \"#\" + d3_rgb_hex(this.r) + d3_rgb_hex(this.g) + d3_rgb_hex(this.b);\n };\n function d3_rgb_hex(v) {\n return v < 16 ? \"0\" + Math.max(0, v).toString(16) : Math.min(255, v).toString(16);\n }\n function d3_rgb_parse(format, rgb, hsl) {\n var r = 0, g = 0, b = 0, m1, m2, color;\n m1 = /([a-z]+)\\((.*)\\)/.exec(format = format.toLowerCase());\n if (m1) {\n m2 = m1[2].split(\",\");\n switch (m1[1]) {\n case \"hsl\":\n {\n return hsl(parseFloat(m2[0]), parseFloat(m2[1]) / 100, parseFloat(m2[2]) / 100);\n }\n\n case \"rgb\":\n {\n return rgb(d3_rgb_parseNumber(m2[0]), d3_rgb_parseNumber(m2[1]), d3_rgb_parseNumber(m2[2]));\n }\n }\n }\n if (color = d3_rgb_names.get(format)) {\n return rgb(color.r, color.g, color.b);\n }\n if (format != null && format.charAt(0) === \"#\" && !isNaN(color = parseInt(format.slice(1), 16))) {\n if (format.length === 4) {\n r = (color & 3840) >> 4;\n r = r >> 4 | r;\n g = color & 240;\n g = g >> 4 | g;\n b = color & 15;\n b = b << 4 | b;\n } else if (format.length === 7) {\n r = (color & 16711680) >> 16;\n g = (color & 65280) >> 8;\n b = color & 255;\n }\n }\n return rgb(r, g, b);\n }\n function d3_rgb_hsl(r, g, b) {\n var min = Math.min(r /= 255, g /= 255, b /= 255), max = Math.max(r, g, b), d = max - min, h, s, l = (max + min) / 2;\n if (d) {\n s = l < .5 ? d / (max + min) : d / (2 - max - min);\n if (r == max) h = (g - b) / d + (g < b ? 6 : 0); else if (g == max) h = (b - r) / d + 2; else h = (r - g) / d + 4;\n h *= 60;\n } else {\n h = NaN;\n s = l > 0 && l < 1 ? 0 : h;\n }\n return new d3_hsl(h, s, l);\n }\n function d3_rgb_lab(r, g, b) {\n r = d3_rgb_xyz(r);\n g = d3_rgb_xyz(g);\n b = d3_rgb_xyz(b);\n var x = d3_xyz_lab((.4124564 * r + .3575761 * g + .1804375 * b) / d3_lab_X), y = d3_xyz_lab((.2126729 * r + .7151522 * g + .072175 * b) / d3_lab_Y), z = d3_xyz_lab((.0193339 * r + .119192 * g + .9503041 * b) / d3_lab_Z);\n return d3_lab(116 * y - 16, 500 * (x - y), 200 * (y - z));\n }\n function d3_rgb_xyz(r) {\n return (r /= 255) <= .04045 ? r / 12.92 : Math.pow((r + .055) / 1.055, 2.4);\n }\n function d3_rgb_parseNumber(c) {\n var f = parseFloat(c);\n return c.charAt(c.length - 1) === \"%\" ? Math.round(f * 2.55) : f;\n }\n var d3_rgb_names = d3.map({\n aliceblue: 15792383,\n antiquewhite: 16444375,\n aqua: 65535,\n aquamarine: 8388564,\n azure: 15794175,\n beige: 16119260,\n bisque: 16770244,\n black: 0,\n blanchedalmond: 16772045,\n blue: 255,\n blueviolet: 9055202,\n brown: 10824234,\n burlywood: 14596231,\n cadetblue: 6266528,\n chartreuse: 8388352,\n chocolate: 13789470,\n coral: 16744272,\n cornflowerblue: 6591981,\n cornsilk: 16775388,\n crimson: 14423100,\n cyan: 65535,\n darkblue: 139,\n darkcyan: 35723,\n darkgoldenrod: 12092939,\n darkgray: 11119017,\n darkgreen: 25600,\n darkgrey: 11119017,\n darkkhaki: 12433259,\n darkmagenta: 9109643,\n darkolivegreen: 5597999,\n darkorange: 16747520,\n darkorchid: 10040012,\n darkred: 9109504,\n darksalmon: 15308410,\n darkseagreen: 9419919,\n darkslateblue: 4734347,\n darkslategray: 3100495,\n darkslategrey: 3100495,\n darkturquoise: 52945,\n darkviolet: 9699539,\n deeppink: 16716947,\n deepskyblue: 49151,\n dimgray: 6908265,\n dimgrey: 6908265,\n dodgerblue: 2003199,\n firebrick: 11674146,\n floralwhite: 16775920,\n forestgreen: 2263842,\n fuchsia: 16711935,\n gainsboro: 14474460,\n ghostwhite: 16316671,\n gold: 16766720,\n goldenrod: 14329120,\n gray: 8421504,\n green: 32768,\n greenyellow: 11403055,\n grey: 8421504,\n honeydew: 15794160,\n hotpink: 16738740,\n indianred: 13458524,\n indigo: 4915330,\n ivory: 16777200,\n khaki: 15787660,\n lavender: 15132410,\n lavenderblush: 16773365,\n lawngreen: 8190976,\n lemonchiffon: 16775885,\n lightblue: 11393254,\n lightcoral: 15761536,\n lightcyan: 14745599,\n lightgoldenrodyellow: 16448210,\n lightgray: 13882323,\n lightgreen: 9498256,\n lightgrey: 13882323,\n lightpink: 16758465,\n lightsalmon: 16752762,\n lightseagreen: 2142890,\n lightskyblue: 8900346,\n lightslategray: 7833753,\n lightslategrey: 7833753,\n lightsteelblue: 11584734,\n lightyellow: 16777184,\n lime: 65280,\n limegreen: 3329330,\n linen: 16445670,\n magenta: 16711935,\n maroon: 8388608,\n mediumaquamarine: 6737322,\n mediumblue: 205,\n mediumorchid: 12211667,\n mediumpurple: 9662683,\n mediumseagreen: 3978097,\n mediumslateblue: 8087790,\n mediumspringgreen: 64154,\n mediumturquoise: 4772300,\n mediumvioletred: 13047173,\n midnightblue: 1644912,\n mintcream: 16121850,\n mistyrose: 16770273,\n moccasin: 16770229,\n navajowhite: 16768685,\n navy: 128,\n oldlace: 16643558,\n olive: 8421376,\n olivedrab: 7048739,\n orange: 16753920,\n orangered: 16729344,\n orchid: 14315734,\n palegoldenrod: 15657130,\n palegreen: 10025880,\n paleturquoise: 11529966,\n palevioletred: 14381203,\n papayawhip: 16773077,\n peachpuff: 16767673,\n peru: 13468991,\n pink: 16761035,\n plum: 14524637,\n powderblue: 11591910,\n purple: 8388736,\n rebeccapurple: 6697881,\n red: 16711680,\n rosybrown: 12357519,\n royalblue: 4286945,\n saddlebrown: 9127187,\n salmon: 16416882,\n sandybrown: 16032864,\n seagreen: 3050327,\n seashell: 16774638,\n sienna: 10506797,\n silver: 12632256,\n skyblue: 8900331,\n slateblue: 6970061,\n slategray: 7372944,\n slategrey: 7372944,\n snow: 16775930,\n springgreen: 65407,\n steelblue: 4620980,\n tan: 13808780,\n teal: 32896,\n thistle: 14204888,\n tomato: 16737095,\n turquoise: 4251856,\n violet: 15631086,\n wheat: 16113331,\n white: 16777215,\n whitesmoke: 16119285,\n yellow: 16776960,\n yellowgreen: 10145074\n });\n d3_rgb_names.forEach(function(key, value) {\n d3_rgb_names.set(key, d3_rgbNumber(value));\n });\n function d3_functor(v) {\n return typeof v === \"function\" ? v : function() {\n return v;\n };\n }\n d3.functor = d3_functor;\n d3.xhr = d3_xhrType(d3_identity);\n function d3_xhrType(response) {\n return function(url, mimeType, callback) {\n if (arguments.length === 2 && typeof mimeType === \"function\") callback = mimeType, \n mimeType = null;\n return d3_xhr(url, mimeType, response, callback);\n };\n }\n function d3_xhr(url, mimeType, response, callback) {\n var xhr = {}, dispatch = d3.dispatch(\"beforesend\", \"progress\", \"load\", \"error\"), headers = {}, request = new XMLHttpRequest(), responseType = null;\n if (this.XDomainRequest && !(\"withCredentials\" in request) && /^(http(s)?:)?\\/\\//.test(url)) request = new XDomainRequest();\n \"onload\" in request ? request.onload = request.onerror = respond : request.onreadystatechange = function() {\n request.readyState > 3 && respond();\n };\n function respond() {\n var status = request.status, result;\n if (!status && d3_xhrHasResponse(request) || status >= 200 && status < 300 || status === 304) {\n try {\n result = response.call(xhr, request);\n } catch (e) {\n dispatch.error.call(xhr, e);\n return;\n }\n dispatch.load.call(xhr, result);\n } else {\n dispatch.error.call(xhr, request);\n }\n }\n request.onprogress = function(event) {\n var o = d3.event;\n d3.event = event;\n try {\n dispatch.progress.call(xhr, request);\n } finally {\n d3.event = o;\n }\n };\n xhr.header = function(name, value) {\n name = (name + \"\").toLowerCase();\n if (arguments.length < 2) return headers[name];\n if (value == null) delete headers[name]; else headers[name] = value + \"\";\n return xhr;\n };\n xhr.mimeType = function(value) {\n if (!arguments.length) return mimeType;\n mimeType = value == null ? null : value + \"\";\n return xhr;\n };\n xhr.responseType = function(value) {\n if (!arguments.length) return responseType;\n responseType = value;\n return xhr;\n };\n xhr.response = function(value) {\n response = value;\n return xhr;\n };\n [ \"get\", \"post\" ].forEach(function(method) {\n xhr[method] = function() {\n return xhr.send.apply(xhr, [ method ].concat(d3_array(arguments)));\n };\n });\n xhr.send = function(method, data, callback) {\n if (arguments.length === 2 && typeof data === \"function\") callback = data, data = null;\n request.open(method, url, true);\n if (mimeType != null && !(\"accept\" in headers)) headers[\"accept\"] = mimeType + \",*/*\";\n if (request.setRequestHeader) for (var name in headers) request.setRequestHeader(name, headers[name]);\n if (mimeType != null && request.overrideMimeType) request.overrideMimeType(mimeType);\n if (responseType != null) request.responseType = responseType;\n if (callback != null) xhr.on(\"error\", callback).on(\"load\", function(request) {\n callback(null, request);\n });\n dispatch.beforesend.call(xhr, request);\n request.send(data == null ? null : data);\n return xhr;\n };\n xhr.abort = function() {\n request.abort();\n return xhr;\n };\n d3.rebind(xhr, dispatch, \"on\");\n return callback == null ? xhr : xhr.get(d3_xhr_fixCallback(callback));\n }\n function d3_xhr_fixCallback(callback) {\n return callback.length === 1 ? function(error, request) {\n callback(error == null ? request : null);\n } : callback;\n }\n function d3_xhrHasResponse(request) {\n var type = request.responseType;\n return type && type !== \"text\" ? request.response : request.responseText;\n }\n d3.dsv = function(delimiter, mimeType) {\n var reFormat = new RegExp('[\"' + delimiter + \"\\n]\"), delimiterCode = delimiter.charCodeAt(0);\n function dsv(url, row, callback) {\n if (arguments.length < 3) callback = row, row = null;\n var xhr = d3_xhr(url, mimeType, row == null ? response : typedResponse(row), callback);\n xhr.row = function(_) {\n return arguments.length ? xhr.response((row = _) == null ? response : typedResponse(_)) : row;\n };\n return xhr;\n }\n function response(request) {\n return dsv.parse(request.responseText);\n }\n function typedResponse(f) {\n return function(request) {\n return dsv.parse(request.responseText, f);\n };\n }\n dsv.parse = function(text, f) {\n var o;\n return dsv.parseRows(text, function(row, i) {\n if (o) return o(row, i - 1);\n var a = new Function(\"d\", \"return {\" + row.map(function(name, i) {\n return JSON.stringify(name) + \": d[\" + i + \"]\";\n }).join(\",\") + \"}\");\n o = f ? function(row, i) {\n return f(a(row), i);\n } : a;\n });\n };\n dsv.parseRows = function(text, f) {\n var EOL = {}, EOF = {}, rows = [], N = text.length, I = 0, n = 0, t, eol;\n function token() {\n if (I >= N) return EOF;\n if (eol) return eol = false, EOL;\n var j = I;\n if (text.charCodeAt(j) === 34) {\n var i = j;\n while (i++ < N) {\n if (text.charCodeAt(i) === 34) {\n if (text.charCodeAt(i + 1) !== 34) break;\n ++i;\n }\n }\n I = i + 2;\n var c = text.charCodeAt(i + 1);\n if (c === 13) {\n eol = true;\n if (text.charCodeAt(i + 2) === 10) ++I;\n } else if (c === 10) {\n eol = true;\n }\n return text.slice(j + 1, i).replace(/\"\"/g, '\"');\n }\n while (I < N) {\n var c = text.charCodeAt(I++), k = 1;\n if (c === 10) eol = true; else if (c === 13) {\n eol = true;\n if (text.charCodeAt(I) === 10) ++I, ++k;\n } else if (c !== delimiterCode) continue;\n return text.slice(j, I - k);\n }\n return text.slice(j);\n }\n while ((t = token()) !== EOF) {\n var a = [];\n while (t !== EOL && t !== EOF) {\n a.push(t);\n t = token();\n }\n if (f && (a = f(a, n++)) == null) continue;\n rows.push(a);\n }\n return rows;\n };\n dsv.format = function(rows) {\n if (Array.isArray(rows[0])) return dsv.formatRows(rows);\n var fieldSet = new d3_Set(), fields = [];\n rows.forEach(function(row) {\n for (var field in row) {\n if (!fieldSet.has(field)) {\n fields.push(fieldSet.add(field));\n }\n }\n });\n return [ fields.map(formatValue).join(delimiter) ].concat(rows.map(function(row) {\n return fields.map(function(field) {\n return formatValue(row[field]);\n }).join(delimiter);\n })).join(\"\\n\");\n };\n dsv.formatRows = function(rows) {\n return rows.map(formatRow).join(\"\\n\");\n };\n function formatRow(row) {\n return row.map(formatValue).join(delimiter);\n }\n function formatValue(text) {\n return reFormat.test(text) ? '\"' + text.replace(/\\\"/g, '\"\"') + '\"' : text;\n }\n return dsv;\n };\n d3.csv = d3.dsv(\",\", \"text/csv\");\n d3.tsv = d3.dsv(\"\t\", \"text/tab-separated-values\");\n var d3_timer_queueHead, d3_timer_queueTail, d3_timer_interval, d3_timer_timeout, d3_timer_frame = this[d3_vendorSymbol(this, \"requestAnimationFrame\")] || function(callback) {\n setTimeout(callback, 17);\n };\n d3.timer = function() {\n d3_timer.apply(this, arguments);\n };\n function d3_timer(callback, delay, then) {\n var n = arguments.length;\n if (n < 2) delay = 0;\n if (n < 3) then = Date.now();\n var time = then + delay, timer = {\n c: callback,\n t: time,\n n: null\n };\n if (d3_timer_queueTail) d3_timer_queueTail.n = timer; else d3_timer_queueHead = timer;\n d3_timer_queueTail = timer;\n if (!d3_timer_interval) {\n d3_timer_timeout = clearTimeout(d3_timer_timeout);\n d3_timer_interval = 1;\n d3_timer_frame(d3_timer_step);\n }\n return timer;\n }\n function d3_timer_step() {\n var now = d3_timer_mark(), delay = d3_timer_sweep() - now;\n if (delay > 24) {\n if (isFinite(delay)) {\n clearTimeout(d3_timer_timeout);\n d3_timer_timeout = setTimeout(d3_timer_step, delay);\n }\n d3_timer_interval = 0;\n } else {\n d3_timer_interval = 1;\n d3_timer_frame(d3_timer_step);\n }\n }\n d3.timer.flush = function() {\n d3_timer_mark();\n d3_timer_sweep();\n };\n function d3_timer_mark() {\n var now = Date.now(), timer = d3_timer_queueHead;\n while (timer) {\n if (now >= timer.t && timer.c(now - timer.t)) timer.c = null;\n timer = timer.n;\n }\n return now;\n }\n function d3_timer_sweep() {\n var t0, t1 = d3_timer_queueHead, time = Infinity;\n while (t1) {\n if (t1.c) {\n if (t1.t < time) time = t1.t;\n t1 = (t0 = t1).n;\n } else {\n t1 = t0 ? t0.n = t1.n : d3_timer_queueHead = t1.n;\n }\n }\n d3_timer_queueTail = t0;\n return time;\n }\n function d3_format_precision(x, p) {\n return p - (x ? Math.ceil(Math.log(x) / Math.LN10) : 1);\n }\n d3.round = function(x, n) {\n return n ? Math.round(x * (n = Math.pow(10, n))) / n : Math.round(x);\n };\n var d3_formatPrefixes = [ \"y\", \"z\", \"a\", \"f\", \"p\", \"n\", \"µ\", \"m\", \"\", \"k\", \"M\", \"G\", \"T\", \"P\", \"E\", \"Z\", \"Y\" ].map(d3_formatPrefix);\n d3.formatPrefix = function(value, precision) {\n var i = 0;\n if (value = +value) {\n if (value < 0) value *= -1;\n if (precision) value = d3.round(value, d3_format_precision(value, precision));\n i = 1 + Math.floor(1e-12 + Math.log(value) / Math.LN10);\n i = Math.max(-24, Math.min(24, Math.floor((i - 1) / 3) * 3));\n }\n return d3_formatPrefixes[8 + i / 3];\n };\n function d3_formatPrefix(d, i) {\n var k = Math.pow(10, abs(8 - i) * 3);\n return {\n scale: i > 8 ? function(d) {\n return d / k;\n } : function(d) {\n return d * k;\n },\n symbol: d\n };\n }\n function d3_locale_numberFormat(locale) {\n var locale_decimal = locale.decimal, locale_thousands = locale.thousands, locale_grouping = locale.grouping, locale_currency = locale.currency, formatGroup = locale_grouping && locale_thousands ? function(value, width) {\n var i = value.length, t = [], j = 0, g = locale_grouping[0], length = 0;\n while (i > 0 && g > 0) {\n if (length + g + 1 > width) g = Math.max(1, width - length);\n t.push(value.substring(i -= g, i + g));\n if ((length += g + 1) > width) break;\n g = locale_grouping[j = (j + 1) % locale_grouping.length];\n }\n return t.reverse().join(locale_thousands);\n } : d3_identity;\n return function(specifier) {\n var match = d3_format_re.exec(specifier), fill = match[1] || \" \", align = match[2] || \">\", sign = match[3] || \"-\", symbol = match[4] || \"\", zfill = match[5], width = +match[6], comma = match[7], precision = match[8], type = match[9], scale = 1, prefix = \"\", suffix = \"\", integer = false, exponent = true;\n if (precision) precision = +precision.substring(1);\n if (zfill || fill === \"0\" && align === \"=\") {\n zfill = fill = \"0\";\n align = \"=\";\n }\n switch (type) {\n case \"n\":\n comma = true;\n type = \"g\";\n break;\n\n case \"%\":\n scale = 100;\n suffix = \"%\";\n type = \"f\";\n break;\n\n case \"p\":\n scale = 100;\n suffix = \"%\";\n type = \"r\";\n break;\n\n case \"b\":\n case \"o\":\n case \"x\":\n case \"X\":\n if (symbol === \"#\") prefix = \"0\" + type.toLowerCase();\n\n case \"c\":\n exponent = false;\n\n case \"d\":\n integer = true;\n precision = 0;\n break;\n\n case \"s\":\n scale = -1;\n type = \"r\";\n break;\n }\n if (symbol === \"$\") prefix = locale_currency[0], suffix = locale_currency[1];\n if (type == \"r\" && !precision) type = \"g\";\n if (precision != null) {\n if (type == \"g\") precision = Math.max(1, Math.min(21, precision)); else if (type == \"e\" || type == \"f\") precision = Math.max(0, Math.min(20, precision));\n }\n type = d3_format_types.get(type) || d3_format_typeDefault;\n var zcomma = zfill && comma;\n return function(value) {\n var fullSuffix = suffix;\n if (integer && value % 1) return \"\";\n var negative = value < 0 || value === 0 && 1 / value < 0 ? (value = -value, \"-\") : sign === \"-\" ? \"\" : sign;\n if (scale < 0) {\n var unit = d3.formatPrefix(value, precision);\n value = unit.scale(value);\n fullSuffix = unit.symbol + suffix;\n } else {\n value *= scale;\n }\n value = type(value, precision);\n var i = value.lastIndexOf(\".\"), before, after;\n if (i < 0) {\n var j = exponent ? value.lastIndexOf(\"e\") : -1;\n if (j < 0) before = value, after = \"\"; else before = value.substring(0, j), after = value.substring(j);\n } else {\n before = value.substring(0, i);\n after = locale_decimal + value.substring(i + 1);\n }\n if (!zfill && comma) before = formatGroup(before, Infinity);\n var length = prefix.length + before.length + after.length + (zcomma ? 0 : negative.length), padding = length < width ? new Array(length = width - length + 1).join(fill) : \"\";\n if (zcomma) before = formatGroup(padding + before, padding.length ? width - after.length : Infinity);\n negative += prefix;\n value = before + after;\n return (align === \"<\" ? negative + value + padding : align === \">\" ? padding + negative + value : align === \"^\" ? padding.substring(0, length >>= 1) + negative + value + padding.substring(length) : negative + (zcomma ? value : padding + value)) + fullSuffix;\n };\n };\n }\n var d3_format_re = /(?:([^{])?([<>=^]))?([+\\- ])?([$#])?(0)?(\\d+)?(,)?(\\.-?\\d+)?([a-z%])?/i;\n var d3_format_types = d3.map({\n b: function(x) {\n return x.toString(2);\n },\n c: function(x) {\n return String.fromCharCode(x);\n },\n o: function(x) {\n return x.toString(8);\n },\n x: function(x) {\n return x.toString(16);\n },\n X: function(x) {\n return x.toString(16).toUpperCase();\n },\n g: function(x, p) {\n return x.toPrecision(p);\n },\n e: function(x, p) {\n return x.toExponential(p);\n },\n f: function(x, p) {\n return x.toFixed(p);\n },\n r: function(x, p) {\n return (x = d3.round(x, d3_format_precision(x, p))).toFixed(Math.max(0, Math.min(20, d3_format_precision(x * (1 + 1e-15), p))));\n }\n });\n function d3_format_typeDefault(x) {\n return x + \"\";\n }\n var d3_time = d3.time = {}, d3_date = Date;\n function d3_date_utc() {\n this._ = new Date(arguments.length > 1 ? Date.UTC.apply(this, arguments) : arguments[0]);\n }\n d3_date_utc.prototype = {\n getDate: function() {\n return this._.getUTCDate();\n },\n getDay: function() {\n return this._.getUTCDay();\n },\n getFullYear: function() {\n return this._.getUTCFullYear();\n },\n getHours: function() {\n return this._.getUTCHours();\n },\n getMilliseconds: function() {\n return this._.getUTCMilliseconds();\n },\n getMinutes: function() {\n return this._.getUTCMinutes();\n },\n getMonth: function() {\n return this._.getUTCMonth();\n },\n getSeconds: function() {\n return this._.getUTCSeconds();\n },\n getTime: function() {\n return this._.getTime();\n },\n getTimezoneOffset: function() {\n return 0;\n },\n valueOf: function() {\n return this._.valueOf();\n },\n setDate: function() {\n d3_time_prototype.setUTCDate.apply(this._, arguments);\n },\n setDay: function() {\n d3_time_prototype.setUTCDay.apply(this._, arguments);\n },\n setFullYear: function() {\n d3_time_prototype.setUTCFullYear.apply(this._, arguments);\n },\n setHours: function() {\n d3_time_prototype.setUTCHours.apply(this._, arguments);\n },\n setMilliseconds: function() {\n d3_time_prototype.setUTCMilliseconds.apply(this._, arguments);\n },\n setMinutes: function() {\n d3_time_prototype.setUTCMinutes.apply(this._, arguments);\n },\n setMonth: function() {\n d3_time_prototype.setUTCMonth.apply(this._, arguments);\n },\n setSeconds: function() {\n d3_time_prototype.setUTCSeconds.apply(this._, arguments);\n },\n setTime: function() {\n d3_time_prototype.setTime.apply(this._, arguments);\n }\n };\n var d3_time_prototype = Date.prototype;\n function d3_time_interval(local, step, number) {\n function round(date) {\n var d0 = local(date), d1 = offset(d0, 1);\n return date - d0 < d1 - date ? d0 : d1;\n }\n function ceil(date) {\n step(date = local(new d3_date(date - 1)), 1);\n return date;\n }\n function offset(date, k) {\n step(date = new d3_date(+date), k);\n return date;\n }\n function range(t0, t1, dt) {\n var time = ceil(t0), times = [];\n if (dt > 1) {\n while (time < t1) {\n if (!(number(time) % dt)) times.push(new Date(+time));\n step(time, 1);\n }\n } else {\n while (time < t1) times.push(new Date(+time)), step(time, 1);\n }\n return times;\n }\n function range_utc(t0, t1, dt) {\n try {\n d3_date = d3_date_utc;\n var utc = new d3_date_utc();\n utc._ = t0;\n return range(utc, t1, dt);\n } finally {\n d3_date = Date;\n }\n }\n local.floor = local;\n local.round = round;\n local.ceil = ceil;\n local.offset = offset;\n local.range = range;\n var utc = local.utc = d3_time_interval_utc(local);\n utc.floor = utc;\n utc.round = d3_time_interval_utc(round);\n utc.ceil = d3_time_interval_utc(ceil);\n utc.offset = d3_time_interval_utc(offset);\n utc.range = range_utc;\n return local;\n }\n function d3_time_interval_utc(method) {\n return function(date, k) {\n try {\n d3_date = d3_date_utc;\n var utc = new d3_date_utc();\n utc._ = date;\n return method(utc, k)._;\n } finally {\n d3_date = Date;\n }\n };\n }\n d3_time.year = d3_time_interval(function(date) {\n date = d3_time.day(date);\n date.setMonth(0, 1);\n return date;\n }, function(date, offset) {\n date.setFullYear(date.getFullYear() + offset);\n }, function(date) {\n return date.getFullYear();\n });\n d3_time.years = d3_time.year.range;\n d3_time.years.utc = d3_time.year.utc.range;\n d3_time.day = d3_time_interval(function(date) {\n var day = new d3_date(2e3, 0);\n day.setFullYear(date.getFullYear(), date.getMonth(), date.getDate());\n return day;\n }, function(date, offset) {\n date.setDate(date.getDate() + offset);\n }, function(date) {\n return date.getDate() - 1;\n });\n d3_time.days = d3_time.day.range;\n d3_time.days.utc = d3_time.day.utc.range;\n d3_time.dayOfYear = function(date) {\n var year = d3_time.year(date);\n return Math.floor((date - year - (date.getTimezoneOffset() - year.getTimezoneOffset()) * 6e4) / 864e5);\n };\n [ \"sunday\", \"monday\", \"tuesday\", \"wednesday\", \"thursday\", \"friday\", \"saturday\" ].forEach(function(day, i) {\n i = 7 - i;\n var interval = d3_time[day] = d3_time_interval(function(date) {\n (date = d3_time.day(date)).setDate(date.getDate() - (date.getDay() + i) % 7);\n return date;\n }, function(date, offset) {\n date.setDate(date.getDate() + Math.floor(offset) * 7);\n }, function(date) {\n var day = d3_time.year(date).getDay();\n return Math.floor((d3_time.dayOfYear(date) + (day + i) % 7) / 7) - (day !== i);\n });\n d3_time[day + \"s\"] = interval.range;\n d3_time[day + \"s\"].utc = interval.utc.range;\n d3_time[day + \"OfYear\"] = function(date) {\n var day = d3_time.year(date).getDay();\n return Math.floor((d3_time.dayOfYear(date) + (day + i) % 7) / 7);\n };\n });\n d3_time.week = d3_time.sunday;\n d3_time.weeks = d3_time.sunday.range;\n d3_time.weeks.utc = d3_time.sunday.utc.range;\n d3_time.weekOfYear = d3_time.sundayOfYear;\n function d3_locale_timeFormat(locale) {\n var locale_dateTime = locale.dateTime, locale_date = locale.date, locale_time = locale.time, locale_periods = locale.periods, locale_days = locale.days, locale_shortDays = locale.shortDays, locale_months = locale.months, locale_shortMonths = locale.shortMonths;\n function d3_time_format(template) {\n var n = template.length;\n function format(date) {\n var string = [], i = -1, j = 0, c, p, f;\n while (++i < n) {\n if (template.charCodeAt(i) === 37) {\n string.push(template.slice(j, i));\n if ((p = d3_time_formatPads[c = template.charAt(++i)]) != null) c = template.charAt(++i);\n if (f = d3_time_formats[c]) c = f(date, p == null ? c === \"e\" ? \" \" : \"0\" : p);\n string.push(c);\n j = i + 1;\n }\n }\n string.push(template.slice(j, i));\n return string.join(\"\");\n }\n format.parse = function(string) {\n var d = {\n y: 1900,\n m: 0,\n d: 1,\n H: 0,\n M: 0,\n S: 0,\n L: 0,\n Z: null\n }, i = d3_time_parse(d, template, string, 0);\n if (i != string.length) return null;\n if (\"p\" in d) d.H = d.H % 12 + d.p * 12;\n var localZ = d.Z != null && d3_date !== d3_date_utc, date = new (localZ ? d3_date_utc : d3_date)();\n if (\"j\" in d) date.setFullYear(d.y, 0, d.j); else if (\"W\" in d || \"U\" in d) {\n if (!(\"w\" in d)) d.w = \"W\" in d ? 1 : 0;\n date.setFullYear(d.y, 0, 1);\n date.setFullYear(d.y, 0, \"W\" in d ? (d.w + 6) % 7 + d.W * 7 - (date.getDay() + 5) % 7 : d.w + d.U * 7 - (date.getDay() + 6) % 7);\n } else date.setFullYear(d.y, d.m, d.d);\n date.setHours(d.H + (d.Z / 100 | 0), d.M + d.Z % 100, d.S, d.L);\n return localZ ? date._ : date;\n };\n format.toString = function() {\n return template;\n };\n return format;\n }\n function d3_time_parse(date, template, string, j) {\n var c, p, t, i = 0, n = template.length, m = string.length;\n while (i < n) {\n if (j >= m) return -1;\n c = template.charCodeAt(i++);\n if (c === 37) {\n t = template.charAt(i++);\n p = d3_time_parsers[t in d3_time_formatPads ? template.charAt(i++) : t];\n if (!p || (j = p(date, string, j)) < 0) return -1;\n } else if (c != string.charCodeAt(j++)) {\n return -1;\n }\n }\n return j;\n }\n d3_time_format.utc = function(template) {\n var local = d3_time_format(template);\n function format(date) {\n try {\n d3_date = d3_date_utc;\n var utc = new d3_date();\n utc._ = date;\n return local(utc);\n } finally {\n d3_date = Date;\n }\n }\n format.parse = function(string) {\n try {\n d3_date = d3_date_utc;\n var date = local.parse(string);\n return date && date._;\n } finally {\n d3_date = Date;\n }\n };\n format.toString = local.toString;\n return format;\n };\n d3_time_format.multi = d3_time_format.utc.multi = d3_time_formatMulti;\n var d3_time_periodLookup = d3.map(), d3_time_dayRe = d3_time_formatRe(locale_days), d3_time_dayLookup = d3_time_formatLookup(locale_days), d3_time_dayAbbrevRe = d3_time_formatRe(locale_shortDays), d3_time_dayAbbrevLookup = d3_time_formatLookup(locale_shortDays), d3_time_monthRe = d3_time_formatRe(locale_months), d3_time_monthLookup = d3_time_formatLookup(locale_months), d3_time_monthAbbrevRe = d3_time_formatRe(locale_shortMonths), d3_time_monthAbbrevLookup = d3_time_formatLookup(locale_shortMonths);\n locale_periods.forEach(function(p, i) {\n d3_time_periodLookup.set(p.toLowerCase(), i);\n });\n var d3_time_formats = {\n a: function(d) {\n return locale_shortDays[d.getDay()];\n },\n A: function(d) {\n return locale_days[d.getDay()];\n },\n b: function(d) {\n return locale_shortMonths[d.getMonth()];\n },\n B: function(d) {\n return locale_months[d.getMonth()];\n },\n c: d3_time_format(locale_dateTime),\n d: function(d, p) {\n return d3_time_formatPad(d.getDate(), p, 2);\n },\n e: function(d, p) {\n return d3_time_formatPad(d.getDate(), p, 2);\n },\n H: function(d, p) {\n return d3_time_formatPad(d.getHours(), p, 2);\n },\n I: function(d, p) {\n return d3_time_formatPad(d.getHours() % 12 || 12, p, 2);\n },\n j: function(d, p) {\n return d3_time_formatPad(1 + d3_time.dayOfYear(d), p, 3);\n },\n L: function(d, p) {\n return d3_time_formatPad(d.getMilliseconds(), p, 3);\n },\n m: function(d, p) {\n return d3_time_formatPad(d.getMonth() + 1, p, 2);\n },\n M: function(d, p) {\n return d3_time_formatPad(d.getMinutes(), p, 2);\n },\n p: function(d) {\n return locale_periods[+(d.getHours() >= 12)];\n },\n S: function(d, p) {\n return d3_time_formatPad(d.getSeconds(), p, 2);\n },\n U: function(d, p) {\n return d3_time_formatPad(d3_time.sundayOfYear(d), p, 2);\n },\n w: function(d) {\n return d.getDay();\n },\n W: function(d, p) {\n return d3_time_formatPad(d3_time.mondayOfYear(d), p, 2);\n },\n x: d3_time_format(locale_date),\n X: d3_time_format(locale_time),\n y: function(d, p) {\n return d3_time_formatPad(d.getFullYear() % 100, p, 2);\n },\n Y: function(d, p) {\n return d3_time_formatPad(d.getFullYear() % 1e4, p, 4);\n },\n Z: d3_time_zone,\n \"%\": function() {\n return \"%\";\n }\n };\n var d3_time_parsers = {\n a: d3_time_parseWeekdayAbbrev,\n A: d3_time_parseWeekday,\n b: d3_time_parseMonthAbbrev,\n B: d3_time_parseMonth,\n c: d3_time_parseLocaleFull,\n d: d3_time_parseDay,\n e: d3_time_parseDay,\n H: d3_time_parseHour24,\n I: d3_time_parseHour24,\n j: d3_time_parseDayOfYear,\n L: d3_time_parseMilliseconds,\n m: d3_time_parseMonthNumber,\n M: d3_time_parseMinutes,\n p: d3_time_parseAmPm,\n S: d3_time_parseSeconds,\n U: d3_time_parseWeekNumberSunday,\n w: d3_time_parseWeekdayNumber,\n W: d3_time_parseWeekNumberMonday,\n x: d3_time_parseLocaleDate,\n X: d3_time_parseLocaleTime,\n y: d3_time_parseYear,\n Y: d3_time_parseFullYear,\n Z: d3_time_parseZone,\n \"%\": d3_time_parseLiteralPercent\n };\n function d3_time_parseWeekdayAbbrev(date, string, i) {\n d3_time_dayAbbrevRe.lastIndex = 0;\n var n = d3_time_dayAbbrevRe.exec(string.slice(i));\n return n ? (date.w = d3_time_dayAbbrevLookup.get(n[0].toLowerCase()), i + n[0].length) : -1;\n }\n function d3_time_parseWeekday(date, string, i) {\n d3_time_dayRe.lastIndex = 0;\n var n = d3_time_dayRe.exec(string.slice(i));\n return n ? (date.w = d3_time_dayLookup.get(n[0].toLowerCase()), i + n[0].length) : -1;\n }\n function d3_time_parseMonthAbbrev(date, string, i) {\n d3_time_monthAbbrevRe.lastIndex = 0;\n var n = d3_time_monthAbbrevRe.exec(string.slice(i));\n return n ? (date.m = d3_time_monthAbbrevLookup.get(n[0].toLowerCase()), i + n[0].length) : -1;\n }\n function d3_time_parseMonth(date, string, i) {\n d3_time_monthRe.lastIndex = 0;\n var n = d3_time_monthRe.exec(string.slice(i));\n return n ? (date.m = d3_time_monthLookup.get(n[0].toLowerCase()), i + n[0].length) : -1;\n }\n function d3_time_parseLocaleFull(date, string, i) {\n return d3_time_parse(date, d3_time_formats.c.toString(), string, i);\n }\n function d3_time_parseLocaleDate(date, string, i) {\n return d3_time_parse(date, d3_time_formats.x.toString(), string, i);\n }\n function d3_time_parseLocaleTime(date, string, i) {\n return d3_time_parse(date, d3_time_formats.X.toString(), string, i);\n }\n function d3_time_parseAmPm(date, string, i) {\n var n = d3_time_periodLookup.get(string.slice(i, i += 2).toLowerCase());\n return n == null ? -1 : (date.p = n, i);\n }\n return d3_time_format;\n }\n var d3_time_formatPads = {\n \"-\": \"\",\n _: \" \",\n \"0\": \"0\"\n }, d3_time_numberRe = /^\\s*\\d+/, d3_time_percentRe = /^%/;\n function d3_time_formatPad(value, fill, width) {\n var sign = value < 0 ? \"-\" : \"\", string = (sign ? -value : value) + \"\", length = string.length;\n return sign + (length < width ? new Array(width - length + 1).join(fill) + string : string);\n }\n function d3_time_formatRe(names) {\n return new RegExp(\"^(?:\" + names.map(d3.requote).join(\"|\") + \")\", \"i\");\n }\n function d3_time_formatLookup(names) {\n var map = new d3_Map(), i = -1, n = names.length;\n while (++i < n) map.set(names[i].toLowerCase(), i);\n return map;\n }\n function d3_time_parseWeekdayNumber(date, string, i) {\n d3_time_numberRe.lastIndex = 0;\n var n = d3_time_numberRe.exec(string.slice(i, i + 1));\n return n ? (date.w = +n[0], i + n[0].length) : -1;\n }\n function d3_time_parseWeekNumberSunday(date, string, i) {\n d3_time_numberRe.lastIndex = 0;\n var n = d3_time_numberRe.exec(string.slice(i));\n return n ? (date.U = +n[0], i + n[0].length) : -1;\n }\n function d3_time_parseWeekNumberMonday(date, string, i) {\n d3_time_numberRe.lastIndex = 0;\n var n = d3_time_numberRe.exec(string.slice(i));\n return n ? (date.W = +n[0], i + n[0].length) : -1;\n }\n function d3_time_parseFullYear(date, string, i) {\n d3_time_numberRe.lastIndex = 0;\n var n = d3_time_numberRe.exec(string.slice(i, i + 4));\n return n ? (date.y = +n[0], i + n[0].length) : -1;\n }\n function d3_time_parseYear(date, string, i) {\n d3_time_numberRe.lastIndex = 0;\n var n = d3_time_numberRe.exec(string.slice(i, i + 2));\n return n ? (date.y = d3_time_expandYear(+n[0]), i + n[0].length) : -1;\n }\n function d3_time_parseZone(date, string, i) {\n return /^[+-]\\d{4}$/.test(string = string.slice(i, i + 5)) ? (date.Z = -string, \n i + 5) : -1;\n }\n function d3_time_expandYear(d) {\n return d + (d > 68 ? 1900 : 2e3);\n }\n function d3_time_parseMonthNumber(date, string, i) {\n d3_time_numberRe.lastIndex = 0;\n var n = d3_time_numberRe.exec(string.slice(i, i + 2));\n return n ? (date.m = n[0] - 1, i + n[0].length) : -1;\n }\n function d3_time_parseDay(date, string, i) {\n d3_time_numberRe.lastIndex = 0;\n var n = d3_time_numberRe.exec(string.slice(i, i + 2));\n return n ? (date.d = +n[0], i + n[0].length) : -1;\n }\n function d3_time_parseDayOfYear(date, string, i) {\n d3_time_numberRe.lastIndex = 0;\n var n = d3_time_numberRe.exec(string.slice(i, i + 3));\n return n ? (date.j = +n[0], i + n[0].length) : -1;\n }\n function d3_time_parseHour24(date, string, i) {\n d3_time_numberRe.lastIndex = 0;\n var n = d3_time_numberRe.exec(string.slice(i, i + 2));\n return n ? (date.H = +n[0], i + n[0].length) : -1;\n }\n function d3_time_parseMinutes(date, string, i) {\n d3_time_numberRe.lastIndex = 0;\n var n = d3_time_numberRe.exec(string.slice(i, i + 2));\n return n ? (date.M = +n[0], i + n[0].length) : -1;\n }\n function d3_time_parseSeconds(date, string, i) {\n d3_time_numberRe.lastIndex = 0;\n var n = d3_time_numberRe.exec(string.slice(i, i + 2));\n return n ? (date.S = +n[0], i + n[0].length) : -1;\n }\n function d3_time_parseMilliseconds(date, string, i) {\n d3_time_numberRe.lastIndex = 0;\n var n = d3_time_numberRe.exec(string.slice(i, i + 3));\n return n ? (date.L = +n[0], i + n[0].length) : -1;\n }\n function d3_time_zone(d) {\n var z = d.getTimezoneOffset(), zs = z > 0 ? \"-\" : \"+\", zh = abs(z) / 60 | 0, zm = abs(z) % 60;\n return zs + d3_time_formatPad(zh, \"0\", 2) + d3_time_formatPad(zm, \"0\", 2);\n }\n function d3_time_parseLiteralPercent(date, string, i) {\n d3_time_percentRe.lastIndex = 0;\n var n = d3_time_percentRe.exec(string.slice(i, i + 1));\n return n ? i + n[0].length : -1;\n }\n function d3_time_formatMulti(formats) {\n var n = formats.length, i = -1;\n while (++i < n) formats[i][0] = this(formats[i][0]);\n return function(date) {\n var i = 0, f = formats[i];\n while (!f[1](date)) f = formats[++i];\n return f[0](date);\n };\n }\n d3.locale = function(locale) {\n return {\n numberFormat: d3_locale_numberFormat(locale),\n timeFormat: d3_locale_timeFormat(locale)\n };\n };\n var d3_locale_enUS = d3.locale({\n decimal: \".\",\n thousands: \",\",\n grouping: [ 3 ],\n currency: [ \"$\", \"\" ],\n dateTime: \"%a %b %e %X %Y\",\n date: \"%m/%d/%Y\",\n time: \"%H:%M:%S\",\n periods: [ \"AM\", \"PM\" ],\n days: [ \"Sunday\", \"Monday\", \"Tuesday\", \"Wednesday\", \"Thursday\", \"Friday\", \"Saturday\" ],\n shortDays: [ \"Sun\", \"Mon\", \"Tue\", \"Wed\", \"Thu\", \"Fri\", \"Sat\" ],\n months: [ \"January\", \"February\", \"March\", \"April\", \"May\", \"June\", \"July\", \"August\", \"September\", \"October\", \"November\", \"December\" ],\n shortMonths: [ \"Jan\", \"Feb\", \"Mar\", \"Apr\", \"May\", \"Jun\", \"Jul\", \"Aug\", \"Sep\", \"Oct\", \"Nov\", \"Dec\" ]\n });\n d3.format = d3_locale_enUS.numberFormat;\n d3.geo = {};\n function d3_adder() {}\n d3_adder.prototype = {\n s: 0,\n t: 0,\n add: function(y) {\n d3_adderSum(y, this.t, d3_adderTemp);\n d3_adderSum(d3_adderTemp.s, this.s, this);\n if (this.s) this.t += d3_adderTemp.t; else this.s = d3_adderTemp.t;\n },\n reset: function() {\n this.s = this.t = 0;\n },\n valueOf: function() {\n return this.s;\n }\n };\n var d3_adderTemp = new d3_adder();\n function d3_adderSum(a, b, o) {\n var x = o.s = a + b, bv = x - a, av = x - bv;\n o.t = a - av + (b - bv);\n }\n d3.geo.stream = function(object, listener) {\n if (object && d3_geo_streamObjectType.hasOwnProperty(object.type)) {\n d3_geo_streamObjectType[object.type](object, listener);\n } else {\n d3_geo_streamGeometry(object, listener);\n }\n };\n function d3_geo_streamGeometry(geometry, listener) {\n if (geometry && d3_geo_streamGeometryType.hasOwnProperty(geometry.type)) {\n d3_geo_streamGeometryType[geometry.type](geometry, listener);\n }\n }\n var d3_geo_streamObjectType = {\n Feature: function(feature, listener) {\n d3_geo_streamGeometry(feature.geometry, listener);\n },\n FeatureCollection: function(object, listener) {\n var features = object.features, i = -1, n = features.length;\n while (++i < n) d3_geo_streamGeometry(features[i].geometry, listener);\n }\n };\n var d3_geo_streamGeometryType = {\n Sphere: function(object, listener) {\n listener.sphere();\n },\n Point: function(object, listener) {\n object = object.coordinates;\n listener.point(object[0], object[1], object[2]);\n },\n MultiPoint: function(object, listener) {\n var coordinates = object.coordinates, i = -1, n = coordinates.length;\n while (++i < n) object = coordinates[i], listener.point(object[0], object[1], object[2]);\n },\n LineString: function(object, listener) {\n d3_geo_streamLine(object.coordinates, listener, 0);\n },\n MultiLineString: function(object, listener) {\n var coordinates = object.coordinates, i = -1, n = coordinates.length;\n while (++i < n) d3_geo_streamLine(coordinates[i], listener, 0);\n },\n Polygon: function(object, listener) {\n d3_geo_streamPolygon(object.coordinates, listener);\n },\n MultiPolygon: function(object, listener) {\n var coordinates = object.coordinates, i = -1, n = coordinates.length;\n while (++i < n) d3_geo_streamPolygon(coordinates[i], listener);\n },\n GeometryCollection: function(object, listener) {\n var geometries = object.geometries, i = -1, n = geometries.length;\n while (++i < n) d3_geo_streamGeometry(geometries[i], listener);\n }\n };\n function d3_geo_streamLine(coordinates, listener, closed) {\n var i = -1, n = coordinates.length - closed, coordinate;\n listener.lineStart();\n while (++i < n) coordinate = coordinates[i], listener.point(coordinate[0], coordinate[1], coordinate[2]);\n listener.lineEnd();\n }\n function d3_geo_streamPolygon(coordinates, listener) {\n var i = -1, n = coordinates.length;\n listener.polygonStart();\n while (++i < n) d3_geo_streamLine(coordinates[i], listener, 1);\n listener.polygonEnd();\n }\n d3.geo.area = function(object) {\n d3_geo_areaSum = 0;\n d3.geo.stream(object, d3_geo_area);\n return d3_geo_areaSum;\n };\n var d3_geo_areaSum, d3_geo_areaRingSum = new d3_adder();\n var d3_geo_area = {\n sphere: function() {\n d3_geo_areaSum += 4 * π;\n },\n point: d3_noop,\n lineStart: d3_noop,\n lineEnd: d3_noop,\n polygonStart: function() {\n d3_geo_areaRingSum.reset();\n d3_geo_area.lineStart = d3_geo_areaRingStart;\n },\n polygonEnd: function() {\n var area = 2 * d3_geo_areaRingSum;\n d3_geo_areaSum += area < 0 ? 4 * π + area : area;\n d3_geo_area.lineStart = d3_geo_area.lineEnd = d3_geo_area.point = d3_noop;\n }\n };\n function d3_geo_areaRingStart() {\n var λ00, φ00, λ0, cosφ0, sinφ0;\n d3_geo_area.point = function(λ, φ) {\n d3_geo_area.point = nextPoint;\n λ0 = (λ00 = λ) * d3_radians, cosφ0 = Math.cos(φ = (φ00 = φ) * d3_radians / 2 + π / 4), \n sinφ0 = Math.sin(φ);\n };\n function nextPoint(λ, φ) {\n λ *= d3_radians;\n φ = φ * d3_radians / 2 + π / 4;\n var dλ = λ - λ0, sdλ = dλ >= 0 ? 1 : -1, adλ = sdλ * dλ, cosφ = Math.cos(φ), sinφ = Math.sin(φ), k = sinφ0 * sinφ, u = cosφ0 * cosφ + k * Math.cos(adλ), v = k * sdλ * Math.sin(adλ);\n d3_geo_areaRingSum.add(Math.atan2(v, u));\n λ0 = λ, cosφ0 = cosφ, sinφ0 = sinφ;\n }\n d3_geo_area.lineEnd = function() {\n nextPoint(λ00, φ00);\n };\n }\n function d3_geo_cartesian(spherical) {\n var λ = spherical[0], φ = spherical[1], cosφ = Math.cos(φ);\n return [ cosφ * Math.cos(λ), cosφ * Math.sin(λ), Math.sin(φ) ];\n }\n function d3_geo_cartesianDot(a, b) {\n return a[0] * b[0] + a[1] * b[1] + a[2] * b[2];\n }\n function d3_geo_cartesianCross(a, b) {\n return [ a[1] * b[2] - a[2] * b[1], a[2] * b[0] - a[0] * b[2], a[0] * b[1] - a[1] * b[0] ];\n }\n function d3_geo_cartesianAdd(a, b) {\n a[0] += b[0];\n a[1] += b[1];\n a[2] += b[2];\n }\n function d3_geo_cartesianScale(vector, k) {\n return [ vector[0] * k, vector[1] * k, vector[2] * k ];\n }\n function d3_geo_cartesianNormalize(d) {\n var l = Math.sqrt(d[0] * d[0] + d[1] * d[1] + d[2] * d[2]);\n d[0] /= l;\n d[1] /= l;\n d[2] /= l;\n }\n function d3_geo_spherical(cartesian) {\n return [ Math.atan2(cartesian[1], cartesian[0]), d3_asin(cartesian[2]) ];\n }\n function d3_geo_sphericalEqual(a, b) {\n return abs(a[0] - b[0]) < ε && abs(a[1] - b[1]) < ε;\n }\n d3.geo.bounds = function() {\n var λ0, φ0, λ1, φ1, λ_, λ__, φ__, p0, dλSum, ranges, range;\n var bound = {\n point: point,\n lineStart: lineStart,\n lineEnd: lineEnd,\n polygonStart: function() {\n bound.point = ringPoint;\n bound.lineStart = ringStart;\n bound.lineEnd = ringEnd;\n dλSum = 0;\n d3_geo_area.polygonStart();\n },\n polygonEnd: function() {\n d3_geo_area.polygonEnd();\n bound.point = point;\n bound.lineStart = lineStart;\n bound.lineEnd = lineEnd;\n if (d3_geo_areaRingSum < 0) λ0 = -(λ1 = 180), φ0 = -(φ1 = 90); else if (dλSum > ε) φ1 = 90; else if (dλSum < -ε) φ0 = -90;\n range[0] = λ0, range[1] = λ1;\n }\n };\n function point(λ, φ) {\n ranges.push(range = [ λ0 = λ, λ1 = λ ]);\n if (φ < φ0) φ0 = φ;\n if (φ > φ1) φ1 = φ;\n }\n function linePoint(λ, φ) {\n var p = d3_geo_cartesian([ λ * d3_radians, φ * d3_radians ]);\n if (p0) {\n var normal = d3_geo_cartesianCross(p0, p), equatorial = [ normal[1], -normal[0], 0 ], inflection = d3_geo_cartesianCross(equatorial, normal);\n d3_geo_cartesianNormalize(inflection);\n inflection = d3_geo_spherical(inflection);\n var dλ = λ - λ_, s = dλ > 0 ? 1 : -1, λi = inflection[0] * d3_degrees * s, antimeridian = abs(dλ) > 180;\n if (antimeridian ^ (s * λ_ < λi && λi < s * λ)) {\n var φi = inflection[1] * d3_degrees;\n if (φi > φ1) φ1 = φi;\n } else if (λi = (λi + 360) % 360 - 180, antimeridian ^ (s * λ_ < λi && λi < s * λ)) {\n var φi = -inflection[1] * d3_degrees;\n if (φi < φ0) φ0 = φi;\n } else {\n if (φ < φ0) φ0 = φ;\n if (φ > φ1) φ1 = φ;\n }\n if (antimeridian) {\n if (λ < λ_) {\n if (angle(λ0, λ) > angle(λ0, λ1)) λ1 = λ;\n } else {\n if (angle(λ, λ1) > angle(λ0, λ1)) λ0 = λ;\n }\n } else {\n if (λ1 >= λ0) {\n if (λ < λ0) λ0 = λ;\n if (λ > λ1) λ1 = λ;\n } else {\n if (λ > λ_) {\n if (angle(λ0, λ) > angle(λ0, λ1)) λ1 = λ;\n } else {\n if (angle(λ, λ1) > angle(λ0, λ1)) λ0 = λ;\n }\n }\n }\n } else {\n point(λ, φ);\n }\n p0 = p, λ_ = λ;\n }\n function lineStart() {\n bound.point = linePoint;\n }\n function lineEnd() {\n range[0] = λ0, range[1] = λ1;\n bound.point = point;\n p0 = null;\n }\n function ringPoint(λ, φ) {\n if (p0) {\n var dλ = λ - λ_;\n dλSum += abs(dλ) > 180 ? dλ + (dλ > 0 ? 360 : -360) : dλ;\n } else λ__ = λ, φ__ = φ;\n d3_geo_area.point(λ, φ);\n linePoint(λ, φ);\n }\n function ringStart() {\n d3_geo_area.lineStart();\n }\n function ringEnd() {\n ringPoint(λ__, φ__);\n d3_geo_area.lineEnd();\n if (abs(dλSum) > ε) λ0 = -(λ1 = 180);\n range[0] = λ0, range[1] = λ1;\n p0 = null;\n }\n function angle(λ0, λ1) {\n return (λ1 -= λ0) < 0 ? λ1 + 360 : λ1;\n }\n function compareRanges(a, b) {\n return a[0] - b[0];\n }\n function withinRange(x, range) {\n return range[0] <= range[1] ? range[0] <= x && x <= range[1] : x < range[0] || range[1] < x;\n }\n return function(feature) {\n φ1 = λ1 = -(λ0 = φ0 = Infinity);\n ranges = [];\n d3.geo.stream(feature, bound);\n var n = ranges.length;\n if (n) {\n ranges.sort(compareRanges);\n for (var i = 1, a = ranges[0], b, merged = [ a ]; i < n; ++i) {\n b = ranges[i];\n if (withinRange(b[0], a) || withinRange(b[1], a)) {\n if (angle(a[0], b[1]) > angle(a[0], a[1])) a[1] = b[1];\n if (angle(b[0], a[1]) > angle(a[0], a[1])) a[0] = b[0];\n } else {\n merged.push(a = b);\n }\n }\n var best = -Infinity, dλ;\n for (var n = merged.length - 1, i = 0, a = merged[n], b; i <= n; a = b, ++i) {\n b = merged[i];\n if ((dλ = angle(a[1], b[0])) > best) best = dλ, λ0 = b[0], λ1 = a[1];\n }\n }\n ranges = range = null;\n return λ0 === Infinity || φ0 === Infinity ? [ [ NaN, NaN ], [ NaN, NaN ] ] : [ [ λ0, φ0 ], [ λ1, φ1 ] ];\n };\n }();\n d3.geo.centroid = function(object) {\n d3_geo_centroidW0 = d3_geo_centroidW1 = d3_geo_centroidX0 = d3_geo_centroidY0 = d3_geo_centroidZ0 = d3_geo_centroidX1 = d3_geo_centroidY1 = d3_geo_centroidZ1 = d3_geo_centroidX2 = d3_geo_centroidY2 = d3_geo_centroidZ2 = 0;\n d3.geo.stream(object, d3_geo_centroid);\n var x = d3_geo_centroidX2, y = d3_geo_centroidY2, z = d3_geo_centroidZ2, m = x * x + y * y + z * z;\n if (m < ε2) {\n x = d3_geo_centroidX1, y = d3_geo_centroidY1, z = d3_geo_centroidZ1;\n if (d3_geo_centroidW1 < ε) x = d3_geo_centroidX0, y = d3_geo_centroidY0, z = d3_geo_centroidZ0;\n m = x * x + y * y + z * z;\n if (m < ε2) return [ NaN, NaN ];\n }\n return [ Math.atan2(y, x) * d3_degrees, d3_asin(z / Math.sqrt(m)) * d3_degrees ];\n };\n var d3_geo_centroidW0, d3_geo_centroidW1, d3_geo_centroidX0, d3_geo_centroidY0, d3_geo_centroidZ0, d3_geo_centroidX1, d3_geo_centroidY1, d3_geo_centroidZ1, d3_geo_centroidX2, d3_geo_centroidY2, d3_geo_centroidZ2;\n var d3_geo_centroid = {\n sphere: d3_noop,\n point: d3_geo_centroidPoint,\n lineStart: d3_geo_centroidLineStart,\n lineEnd: d3_geo_centroidLineEnd,\n polygonStart: function() {\n d3_geo_centroid.lineStart = d3_geo_centroidRingStart;\n },\n polygonEnd: function() {\n d3_geo_centroid.lineStart = d3_geo_centroidLineStart;\n }\n };\n function d3_geo_centroidPoint(λ, φ) {\n λ *= d3_radians;\n var cosφ = Math.cos(φ *= d3_radians);\n d3_geo_centroidPointXYZ(cosφ * Math.cos(λ), cosφ * Math.sin(λ), Math.sin(φ));\n }\n function d3_geo_centroidPointXYZ(x, y, z) {\n ++d3_geo_centroidW0;\n d3_geo_centroidX0 += (x - d3_geo_centroidX0) / d3_geo_centroidW0;\n d3_geo_centroidY0 += (y - d3_geo_centroidY0) / d3_geo_centroidW0;\n d3_geo_centroidZ0 += (z - d3_geo_centroidZ0) / d3_geo_centroidW0;\n }\n function d3_geo_centroidLineStart() {\n var x0, y0, z0;\n d3_geo_centroid.point = function(λ, φ) {\n λ *= d3_radians;\n var cosφ = Math.cos(φ *= d3_radians);\n x0 = cosφ * Math.cos(λ);\n y0 = cosφ * Math.sin(λ);\n z0 = Math.sin(φ);\n d3_geo_centroid.point = nextPoint;\n d3_geo_centroidPointXYZ(x0, y0, z0);\n };\n function nextPoint(λ, φ) {\n λ *= d3_radians;\n var cosφ = Math.cos(φ *= d3_radians), x = cosφ * Math.cos(λ), y = cosφ * Math.sin(λ), z = Math.sin(φ), w = Math.atan2(Math.sqrt((w = y0 * z - z0 * y) * w + (w = z0 * x - x0 * z) * w + (w = x0 * y - y0 * x) * w), x0 * x + y0 * y + z0 * z);\n d3_geo_centroidW1 += w;\n d3_geo_centroidX1 += w * (x0 + (x0 = x));\n d3_geo_centroidY1 += w * (y0 + (y0 = y));\n d3_geo_centroidZ1 += w * (z0 + (z0 = z));\n d3_geo_centroidPointXYZ(x0, y0, z0);\n }\n }\n function d3_geo_centroidLineEnd() {\n d3_geo_centroid.point = d3_geo_centroidPoint;\n }\n function d3_geo_centroidRingStart() {\n var λ00, φ00, x0, y0, z0;\n d3_geo_centroid.point = function(λ, φ) {\n λ00 = λ, φ00 = φ;\n d3_geo_centroid.point = nextPoint;\n λ *= d3_radians;\n var cosφ = Math.cos(φ *= d3_radians);\n x0 = cosφ * Math.cos(λ);\n y0 = cosφ * Math.sin(λ);\n z0 = Math.sin(φ);\n d3_geo_centroidPointXYZ(x0, y0, z0);\n };\n d3_geo_centroid.lineEnd = function() {\n nextPoint(λ00, φ00);\n d3_geo_centroid.lineEnd = d3_geo_centroidLineEnd;\n d3_geo_centroid.point = d3_geo_centroidPoint;\n };\n function nextPoint(λ, φ) {\n λ *= d3_radians;\n var cosφ = Math.cos(φ *= d3_radians), x = cosφ * Math.cos(λ), y = cosφ * Math.sin(λ), z = Math.sin(φ), cx = y0 * z - z0 * y, cy = z0 * x - x0 * z, cz = x0 * y - y0 * x, m = Math.sqrt(cx * cx + cy * cy + cz * cz), u = x0 * x + y0 * y + z0 * z, v = m && -d3_acos(u) / m, w = Math.atan2(m, u);\n d3_geo_centroidX2 += v * cx;\n d3_geo_centroidY2 += v * cy;\n d3_geo_centroidZ2 += v * cz;\n d3_geo_centroidW1 += w;\n d3_geo_centroidX1 += w * (x0 + (x0 = x));\n d3_geo_centroidY1 += w * (y0 + (y0 = y));\n d3_geo_centroidZ1 += w * (z0 + (z0 = z));\n d3_geo_centroidPointXYZ(x0, y0, z0);\n }\n }\n function d3_geo_compose(a, b) {\n function compose(x, y) {\n return x = a(x, y), b(x[0], x[1]);\n }\n if (a.invert && b.invert) compose.invert = function(x, y) {\n return x = b.invert(x, y), x && a.invert(x[0], x[1]);\n };\n return compose;\n }\n function d3_true() {\n return true;\n }\n function d3_geo_clipPolygon(segments, compare, clipStartInside, interpolate, listener) {\n var subject = [], clip = [];\n segments.forEach(function(segment) {\n if ((n = segment.length - 1) <= 0) return;\n var n, p0 = segment[0], p1 = segment[n];\n if (d3_geo_sphericalEqual(p0, p1)) {\n listener.lineStart();\n for (var i = 0; i < n; ++i) listener.point((p0 = segment[i])[0], p0[1]);\n listener.lineEnd();\n return;\n }\n var a = new d3_geo_clipPolygonIntersection(p0, segment, null, true), b = new d3_geo_clipPolygonIntersection(p0, null, a, false);\n a.o = b;\n subject.push(a);\n clip.push(b);\n a = new d3_geo_clipPolygonIntersection(p1, segment, null, false);\n b = new d3_geo_clipPolygonIntersection(p1, null, a, true);\n a.o = b;\n subject.push(a);\n clip.push(b);\n });\n clip.sort(compare);\n d3_geo_clipPolygonLinkCircular(subject);\n d3_geo_clipPolygonLinkCircular(clip);\n if (!subject.length) return;\n for (var i = 0, entry = clipStartInside, n = clip.length; i < n; ++i) {\n clip[i].e = entry = !entry;\n }\n var start = subject[0], points, point;\n while (1) {\n var current = start, isSubject = true;\n while (current.v) if ((current = current.n) === start) return;\n points = current.z;\n listener.lineStart();\n do {\n current.v = current.o.v = true;\n if (current.e) {\n if (isSubject) {\n for (var i = 0, n = points.length; i < n; ++i) listener.point((point = points[i])[0], point[1]);\n } else {\n interpolate(current.x, current.n.x, 1, listener);\n }\n current = current.n;\n } else {\n if (isSubject) {\n points = current.p.z;\n for (var i = points.length - 1; i >= 0; --i) listener.point((point = points[i])[0], point[1]);\n } else {\n interpolate(current.x, current.p.x, -1, listener);\n }\n current = current.p;\n }\n current = current.o;\n points = current.z;\n isSubject = !isSubject;\n } while (!current.v);\n listener.lineEnd();\n }\n }\n function d3_geo_clipPolygonLinkCircular(array) {\n if (!(n = array.length)) return;\n var n, i = 0, a = array[0], b;\n while (++i < n) {\n a.n = b = array[i];\n b.p = a;\n a = b;\n }\n a.n = b = array[0];\n b.p = a;\n }\n function d3_geo_clipPolygonIntersection(point, points, other, entry) {\n this.x = point;\n this.z = points;\n this.o = other;\n this.e = entry;\n this.v = false;\n this.n = this.p = null;\n }\n function d3_geo_clip(pointVisible, clipLine, interpolate, clipStart) {\n return function(rotate, listener) {\n var line = clipLine(listener), rotatedClipStart = rotate.invert(clipStart[0], clipStart[1]);\n var clip = {\n point: point,\n lineStart: lineStart,\n lineEnd: lineEnd,\n polygonStart: function() {\n clip.point = pointRing;\n clip.lineStart = ringStart;\n clip.lineEnd = ringEnd;\n segments = [];\n polygon = [];\n },\n polygonEnd: function() {\n clip.point = point;\n clip.lineStart = lineStart;\n clip.lineEnd = lineEnd;\n segments = d3.merge(segments);\n var clipStartInside = d3_geo_pointInPolygon(rotatedClipStart, polygon);\n if (segments.length) {\n if (!polygonStarted) listener.polygonStart(), polygonStarted = true;\n d3_geo_clipPolygon(segments, d3_geo_clipSort, clipStartInside, interpolate, listener);\n } else if (clipStartInside) {\n if (!polygonStarted) listener.polygonStart(), polygonStarted = true;\n listener.lineStart();\n interpolate(null, null, 1, listener);\n listener.lineEnd();\n }\n if (polygonStarted) listener.polygonEnd(), polygonStarted = false;\n segments = polygon = null;\n },\n sphere: function() {\n listener.polygonStart();\n listener.lineStart();\n interpolate(null, null, 1, listener);\n listener.lineEnd();\n listener.polygonEnd();\n }\n };\n function point(λ, φ) {\n var point = rotate(λ, φ);\n if (pointVisible(λ = point[0], φ = point[1])) listener.point(λ, φ);\n }\n function pointLine(λ, φ) {\n var point = rotate(λ, φ);\n line.point(point[0], point[1]);\n }\n function lineStart() {\n clip.point = pointLine;\n line.lineStart();\n }\n function lineEnd() {\n clip.point = point;\n line.lineEnd();\n }\n var segments;\n var buffer = d3_geo_clipBufferListener(), ringListener = clipLine(buffer), polygonStarted = false, polygon, ring;\n function pointRing(λ, φ) {\n ring.push([ λ, φ ]);\n var point = rotate(λ, φ);\n ringListener.point(point[0], point[1]);\n }\n function ringStart() {\n ringListener.lineStart();\n ring = [];\n }\n function ringEnd() {\n pointRing(ring[0][0], ring[0][1]);\n ringListener.lineEnd();\n var clean = ringListener.clean(), ringSegments = buffer.buffer(), segment, n = ringSegments.length;\n ring.pop();\n polygon.push(ring);\n ring = null;\n if (!n) return;\n if (clean & 1) {\n segment = ringSegments[0];\n var n = segment.length - 1, i = -1, point;\n if (n > 0) {\n if (!polygonStarted) listener.polygonStart(), polygonStarted = true;\n listener.lineStart();\n while (++i < n) listener.point((point = segment[i])[0], point[1]);\n listener.lineEnd();\n }\n return;\n }\n if (n > 1 && clean & 2) ringSegments.push(ringSegments.pop().concat(ringSegments.shift()));\n segments.push(ringSegments.filter(d3_geo_clipSegmentLength1));\n }\n return clip;\n };\n }\n function d3_geo_clipSegmentLength1(segment) {\n return segment.length > 1;\n }\n function d3_geo_clipBufferListener() {\n var lines = [], line;\n return {\n lineStart: function() {\n lines.push(line = []);\n },\n point: function(λ, φ) {\n line.push([ λ, φ ]);\n },\n lineEnd: d3_noop,\n buffer: function() {\n var buffer = lines;\n lines = [];\n line = null;\n return buffer;\n },\n rejoin: function() {\n if (lines.length > 1) lines.push(lines.pop().concat(lines.shift()));\n }\n };\n }\n function d3_geo_clipSort(a, b) {\n return ((a = a.x)[0] < 0 ? a[1] - halfπ - ε : halfπ - a[1]) - ((b = b.x)[0] < 0 ? b[1] - halfπ - ε : halfπ - b[1]);\n }\n var d3_geo_clipAntimeridian = d3_geo_clip(d3_true, d3_geo_clipAntimeridianLine, d3_geo_clipAntimeridianInterpolate, [ -π, -π / 2 ]);\n function d3_geo_clipAntimeridianLine(listener) {\n var λ0 = NaN, φ0 = NaN, sλ0 = NaN, clean;\n return {\n lineStart: function() {\n listener.lineStart();\n clean = 1;\n },\n point: function(λ1, φ1) {\n var sλ1 = λ1 > 0 ? π : -π, dλ = abs(λ1 - λ0);\n if (abs(dλ - π) < ε) {\n listener.point(λ0, φ0 = (φ0 + φ1) / 2 > 0 ? halfπ : -halfπ);\n listener.point(sλ0, φ0);\n listener.lineEnd();\n listener.lineStart();\n listener.point(sλ1, φ0);\n listener.point(λ1, φ0);\n clean = 0;\n } else if (sλ0 !== sλ1 && dλ >= π) {\n if (abs(λ0 - sλ0) < ε) λ0 -= sλ0 * ε;\n if (abs(λ1 - sλ1) < ε) λ1 -= sλ1 * ε;\n φ0 = d3_geo_clipAntimeridianIntersect(λ0, φ0, λ1, φ1);\n listener.point(sλ0, φ0);\n listener.lineEnd();\n listener.lineStart();\n listener.point(sλ1, φ0);\n clean = 0;\n }\n listener.point(λ0 = λ1, φ0 = φ1);\n sλ0 = sλ1;\n },\n lineEnd: function() {\n listener.lineEnd();\n λ0 = φ0 = NaN;\n },\n clean: function() {\n return 2 - clean;\n }\n };\n }\n function d3_geo_clipAntimeridianIntersect(λ0, φ0, λ1, φ1) {\n var cosφ0, cosφ1, sinλ0_λ1 = Math.sin(λ0 - λ1);\n return abs(sinλ0_λ1) > ε ? Math.atan((Math.sin(φ0) * (cosφ1 = Math.cos(φ1)) * Math.sin(λ1) - Math.sin(φ1) * (cosφ0 = Math.cos(φ0)) * Math.sin(λ0)) / (cosφ0 * cosφ1 * sinλ0_λ1)) : (φ0 + φ1) / 2;\n }\n function d3_geo_clipAntimeridianInterpolate(from, to, direction, listener) {\n var φ;\n if (from == null) {\n φ = direction * halfπ;\n listener.point(-π, φ);\n listener.point(0, φ);\n listener.point(π, φ);\n listener.point(π, 0);\n listener.point(π, -φ);\n listener.point(0, -φ);\n listener.point(-π, -φ);\n listener.point(-π, 0);\n listener.point(-π, φ);\n } else if (abs(from[0] - to[0]) > ε) {\n var s = from[0] < to[0] ? π : -π;\n φ = direction * s / 2;\n listener.point(-s, φ);\n listener.point(0, φ);\n listener.point(s, φ);\n } else {\n listener.point(to[0], to[1]);\n }\n }\n function d3_geo_pointInPolygon(point, polygon) {\n var meridian = point[0], parallel = point[1], meridianNormal = [ Math.sin(meridian), -Math.cos(meridian), 0 ], polarAngle = 0, winding = 0;\n d3_geo_areaRingSum.reset();\n for (var i = 0, n = polygon.length; i < n; ++i) {\n var ring = polygon[i], m = ring.length;\n if (!m) continue;\n var point0 = ring[0], λ0 = point0[0], φ0 = point0[1] / 2 + π / 4, sinφ0 = Math.sin(φ0), cosφ0 = Math.cos(φ0), j = 1;\n while (true) {\n if (j === m) j = 0;\n point = ring[j];\n var λ = point[0], φ = point[1] / 2 + π / 4, sinφ = Math.sin(φ), cosφ = Math.cos(φ), dλ = λ - λ0, sdλ = dλ >= 0 ? 1 : -1, adλ = sdλ * dλ, antimeridian = adλ > π, k = sinφ0 * sinφ;\n d3_geo_areaRingSum.add(Math.atan2(k * sdλ * Math.sin(adλ), cosφ0 * cosφ + k * Math.cos(adλ)));\n polarAngle += antimeridian ? dλ + sdλ * τ : dλ;\n if (antimeridian ^ λ0 >= meridian ^ λ >= meridian) {\n var arc = d3_geo_cartesianCross(d3_geo_cartesian(point0), d3_geo_cartesian(point));\n d3_geo_cartesianNormalize(arc);\n var intersection = d3_geo_cartesianCross(meridianNormal, arc);\n d3_geo_cartesianNormalize(intersection);\n var φarc = (antimeridian ^ dλ >= 0 ? -1 : 1) * d3_asin(intersection[2]);\n if (parallel > φarc || parallel === φarc && (arc[0] || arc[1])) {\n winding += antimeridian ^ dλ >= 0 ? 1 : -1;\n }\n }\n if (!j++) break;\n λ0 = λ, sinφ0 = sinφ, cosφ0 = cosφ, point0 = point;\n }\n }\n return (polarAngle < -ε || polarAngle < ε && d3_geo_areaRingSum < -ε) ^ winding & 1;\n }\n function d3_geo_clipCircle(radius) {\n var cr = Math.cos(radius), smallRadius = cr > 0, notHemisphere = abs(cr) > ε, interpolate = d3_geo_circleInterpolate(radius, 6 * d3_radians);\n return d3_geo_clip(visible, clipLine, interpolate, smallRadius ? [ 0, -radius ] : [ -π, radius - π ]);\n function visible(λ, φ) {\n return Math.cos(λ) * Math.cos(φ) > cr;\n }\n function clipLine(listener) {\n var point0, c0, v0, v00, clean;\n return {\n lineStart: function() {\n v00 = v0 = false;\n clean = 1;\n },\n point: function(λ, φ) {\n var point1 = [ λ, φ ], point2, v = visible(λ, φ), c = smallRadius ? v ? 0 : code(λ, φ) : v ? code(λ + (λ < 0 ? π : -π), φ) : 0;\n if (!point0 && (v00 = v0 = v)) listener.lineStart();\n if (v !== v0) {\n point2 = intersect(point0, point1);\n if (d3_geo_sphericalEqual(point0, point2) || d3_geo_sphericalEqual(point1, point2)) {\n point1[0] += ε;\n point1[1] += ε;\n v = visible(point1[0], point1[1]);\n }\n }\n if (v !== v0) {\n clean = 0;\n if (v) {\n listener.lineStart();\n point2 = intersect(point1, point0);\n listener.point(point2[0], point2[1]);\n } else {\n point2 = intersect(point0, point1);\n listener.point(point2[0], point2[1]);\n listener.lineEnd();\n }\n point0 = point2;\n } else if (notHemisphere && point0 && smallRadius ^ v) {\n var t;\n if (!(c & c0) && (t = intersect(point1, point0, true))) {\n clean = 0;\n if (smallRadius) {\n listener.lineStart();\n listener.point(t[0][0], t[0][1]);\n listener.point(t[1][0], t[1][1]);\n listener.lineEnd();\n } else {\n listener.point(t[1][0], t[1][1]);\n listener.lineEnd();\n listener.lineStart();\n listener.point(t[0][0], t[0][1]);\n }\n }\n }\n if (v && (!point0 || !d3_geo_sphericalEqual(point0, point1))) {\n listener.point(point1[0], point1[1]);\n }\n point0 = point1, v0 = v, c0 = c;\n },\n lineEnd: function() {\n if (v0) listener.lineEnd();\n point0 = null;\n },\n clean: function() {\n return clean | (v00 && v0) << 1;\n }\n };\n }\n function intersect(a, b, two) {\n var pa = d3_geo_cartesian(a), pb = d3_geo_cartesian(b);\n var n1 = [ 1, 0, 0 ], n2 = d3_geo_cartesianCross(pa, pb), n2n2 = d3_geo_cartesianDot(n2, n2), n1n2 = n2[0], determinant = n2n2 - n1n2 * n1n2;\n if (!determinant) return !two && a;\n var c1 = cr * n2n2 / determinant, c2 = -cr * n1n2 / determinant, n1xn2 = d3_geo_cartesianCross(n1, n2), A = d3_geo_cartesianScale(n1, c1), B = d3_geo_cartesianScale(n2, c2);\n d3_geo_cartesianAdd(A, B);\n var u = n1xn2, w = d3_geo_cartesianDot(A, u), uu = d3_geo_cartesianDot(u, u), t2 = w * w - uu * (d3_geo_cartesianDot(A, A) - 1);\n if (t2 < 0) return;\n var t = Math.sqrt(t2), q = d3_geo_cartesianScale(u, (-w - t) / uu);\n d3_geo_cartesianAdd(q, A);\n q = d3_geo_spherical(q);\n if (!two) return q;\n var λ0 = a[0], λ1 = b[0], φ0 = a[1], φ1 = b[1], z;\n if (λ1 < λ0) z = λ0, λ0 = λ1, λ1 = z;\n var δλ = λ1 - λ0, polar = abs(δλ - π) < ε, meridian = polar || δλ < ε;\n if (!polar && φ1 < φ0) z = φ0, φ0 = φ1, φ1 = z;\n if (meridian ? polar ? φ0 + φ1 > 0 ^ q[1] < (abs(q[0] - λ0) < ε ? φ0 : φ1) : φ0 <= q[1] && q[1] <= φ1 : δλ > π ^ (λ0 <= q[0] && q[0] <= λ1)) {\n var q1 = d3_geo_cartesianScale(u, (-w + t) / uu);\n d3_geo_cartesianAdd(q1, A);\n return [ q, d3_geo_spherical(q1) ];\n }\n }\n function code(λ, φ) {\n var r = smallRadius ? radius : π - radius, code = 0;\n if (λ < -r) code |= 1; else if (λ > r) code |= 2;\n if (φ < -r) code |= 4; else if (φ > r) code |= 8;\n return code;\n }\n }\n function d3_geom_clipLine(x0, y0, x1, y1) {\n return function(line) {\n var a = line.a, b = line.b, ax = a.x, ay = a.y, bx = b.x, by = b.y, t0 = 0, t1 = 1, dx = bx - ax, dy = by - ay, r;\n r = x0 - ax;\n if (!dx && r > 0) return;\n r /= dx;\n if (dx < 0) {\n if (r < t0) return;\n if (r < t1) t1 = r;\n } else if (dx > 0) {\n if (r > t1) return;\n if (r > t0) t0 = r;\n }\n r = x1 - ax;\n if (!dx && r < 0) return;\n r /= dx;\n if (dx < 0) {\n if (r > t1) return;\n if (r > t0) t0 = r;\n } else if (dx > 0) {\n if (r < t0) return;\n if (r < t1) t1 = r;\n }\n r = y0 - ay;\n if (!dy && r > 0) return;\n r /= dy;\n if (dy < 0) {\n if (r < t0) return;\n if (r < t1) t1 = r;\n } else if (dy > 0) {\n if (r > t1) return;\n if (r > t0) t0 = r;\n }\n r = y1 - ay;\n if (!dy && r < 0) return;\n r /= dy;\n if (dy < 0) {\n if (r > t1) return;\n if (r > t0) t0 = r;\n } else if (dy > 0) {\n if (r < t0) return;\n if (r < t1) t1 = r;\n }\n if (t0 > 0) line.a = {\n x: ax + t0 * dx,\n y: ay + t0 * dy\n };\n if (t1 < 1) line.b = {\n x: ax + t1 * dx,\n y: ay + t1 * dy\n };\n return line;\n };\n }\n var d3_geo_clipExtentMAX = 1e9;\n d3.geo.clipExtent = function() {\n var x0, y0, x1, y1, stream, clip, clipExtent = {\n stream: function(output) {\n if (stream) stream.valid = false;\n stream = clip(output);\n stream.valid = true;\n return stream;\n },\n extent: function(_) {\n if (!arguments.length) return [ [ x0, y0 ], [ x1, y1 ] ];\n clip = d3_geo_clipExtent(x0 = +_[0][0], y0 = +_[0][1], x1 = +_[1][0], y1 = +_[1][1]);\n if (stream) stream.valid = false, stream = null;\n return clipExtent;\n }\n };\n return clipExtent.extent([ [ 0, 0 ], [ 960, 500 ] ]);\n };\n function d3_geo_clipExtent(x0, y0, x1, y1) {\n return function(listener) {\n var listener_ = listener, bufferListener = d3_geo_clipBufferListener(), clipLine = d3_geom_clipLine(x0, y0, x1, y1), segments, polygon, ring;\n var clip = {\n point: point,\n lineStart: lineStart,\n lineEnd: lineEnd,\n polygonStart: function() {\n listener = bufferListener;\n segments = [];\n polygon = [];\n clean = true;\n },\n polygonEnd: function() {\n listener = listener_;\n segments = d3.merge(segments);\n var clipStartInside = insidePolygon([ x0, y1 ]), inside = clean && clipStartInside, visible = segments.length;\n if (inside || visible) {\n listener.polygonStart();\n if (inside) {\n listener.lineStart();\n interpolate(null, null, 1, listener);\n listener.lineEnd();\n }\n if (visible) {\n d3_geo_clipPolygon(segments, compare, clipStartInside, interpolate, listener);\n }\n listener.polygonEnd();\n }\n segments = polygon = ring = null;\n }\n };\n function insidePolygon(p) {\n var wn = 0, n = polygon.length, y = p[1];\n for (var i = 0; i < n; ++i) {\n for (var j = 1, v = polygon[i], m = v.length, a = v[0], b; j < m; ++j) {\n b = v[j];\n if (a[1] <= y) {\n if (b[1] > y && d3_cross2d(a, b, p) > 0) ++wn;\n } else {\n if (b[1] <= y && d3_cross2d(a, b, p) < 0) --wn;\n }\n a = b;\n }\n }\n return wn !== 0;\n }\n function interpolate(from, to, direction, listener) {\n var a = 0, a1 = 0;\n if (from == null || (a = corner(from, direction)) !== (a1 = corner(to, direction)) || comparePoints(from, to) < 0 ^ direction > 0) {\n do {\n listener.point(a === 0 || a === 3 ? x0 : x1, a > 1 ? y1 : y0);\n } while ((a = (a + direction + 4) % 4) !== a1);\n } else {\n listener.point(to[0], to[1]);\n }\n }\n function pointVisible(x, y) {\n return x0 <= x && x <= x1 && y0 <= y && y <= y1;\n }\n function point(x, y) {\n if (pointVisible(x, y)) listener.point(x, y);\n }\n var x__, y__, v__, x_, y_, v_, first, clean;\n function lineStart() {\n clip.point = linePoint;\n if (polygon) polygon.push(ring = []);\n first = true;\n v_ = false;\n x_ = y_ = NaN;\n }\n function lineEnd() {\n if (segments) {\n linePoint(x__, y__);\n if (v__ && v_) bufferListener.rejoin();\n segments.push(bufferListener.buffer());\n }\n clip.point = point;\n if (v_) listener.lineEnd();\n }\n function linePoint(x, y) {\n x = Math.max(-d3_geo_clipExtentMAX, Math.min(d3_geo_clipExtentMAX, x));\n y = Math.max(-d3_geo_clipExtentMAX, Math.min(d3_geo_clipExtentMAX, y));\n var v = pointVisible(x, y);\n if (polygon) ring.push([ x, y ]);\n if (first) {\n x__ = x, y__ = y, v__ = v;\n first = false;\n if (v) {\n listener.lineStart();\n listener.point(x, y);\n }\n } else {\n if (v && v_) listener.point(x, y); else {\n var l = {\n a: {\n x: x_,\n y: y_\n },\n b: {\n x: x,\n y: y\n }\n };\n if (clipLine(l)) {\n if (!v_) {\n listener.lineStart();\n listener.point(l.a.x, l.a.y);\n }\n listener.point(l.b.x, l.b.y);\n if (!v) listener.lineEnd();\n clean = false;\n } else if (v) {\n listener.lineStart();\n listener.point(x, y);\n clean = false;\n }\n }\n }\n x_ = x, y_ = y, v_ = v;\n }\n return clip;\n };\n function corner(p, direction) {\n return abs(p[0] - x0) < ε ? direction > 0 ? 0 : 3 : abs(p[0] - x1) < ε ? direction > 0 ? 2 : 1 : abs(p[1] - y0) < ε ? direction > 0 ? 1 : 0 : direction > 0 ? 3 : 2;\n }\n function compare(a, b) {\n return comparePoints(a.x, b.x);\n }\n function comparePoints(a, b) {\n var ca = corner(a, 1), cb = corner(b, 1);\n return ca !== cb ? ca - cb : ca === 0 ? b[1] - a[1] : ca === 1 ? a[0] - b[0] : ca === 2 ? a[1] - b[1] : b[0] - a[0];\n }\n }\n function d3_geo_conic(projectAt) {\n var φ0 = 0, φ1 = π / 3, m = d3_geo_projectionMutator(projectAt), p = m(φ0, φ1);\n p.parallels = function(_) {\n if (!arguments.length) return [ φ0 / π * 180, φ1 / π * 180 ];\n return m(φ0 = _[0] * π / 180, φ1 = _[1] * π / 180);\n };\n return p;\n }\n function d3_geo_conicEqualArea(φ0, φ1) {\n var sinφ0 = Math.sin(φ0), n = (sinφ0 + Math.sin(φ1)) / 2, C = 1 + sinφ0 * (2 * n - sinφ0), ρ0 = Math.sqrt(C) / n;\n function forward(λ, φ) {\n var ρ = Math.sqrt(C - 2 * n * Math.sin(φ)) / n;\n return [ ρ * Math.sin(λ *= n), ρ0 - ρ * Math.cos(λ) ];\n }\n forward.invert = function(x, y) {\n var ρ0_y = ρ0 - y;\n return [ Math.atan2(x, ρ0_y) / n, d3_asin((C - (x * x + ρ0_y * ρ0_y) * n * n) / (2 * n)) ];\n };\n return forward;\n }\n (d3.geo.conicEqualArea = function() {\n return d3_geo_conic(d3_geo_conicEqualArea);\n }).raw = d3_geo_conicEqualArea;\n d3.geo.albers = function() {\n return d3.geo.conicEqualArea().rotate([ 96, 0 ]).center([ -.6, 38.7 ]).parallels([ 29.5, 45.5 ]).scale(1070);\n };\n d3.geo.albersUsa = function() {\n var lower48 = d3.geo.albers();\n var alaska = d3.geo.conicEqualArea().rotate([ 154, 0 ]).center([ -2, 58.5 ]).parallels([ 55, 65 ]);\n var hawaii = d3.geo.conicEqualArea().rotate([ 157, 0 ]).center([ -3, 19.9 ]).parallels([ 8, 18 ]);\n var point, pointStream = {\n point: function(x, y) {\n point = [ x, y ];\n }\n }, lower48Point, alaskaPoint, hawaiiPoint;\n function albersUsa(coordinates) {\n var x = coordinates[0], y = coordinates[1];\n point = null;\n (lower48Point(x, y), point) || (alaskaPoint(x, y), point) || hawaiiPoint(x, y);\n return point;\n }\n albersUsa.invert = function(coordinates) {\n var k = lower48.scale(), t = lower48.translate(), x = (coordinates[0] - t[0]) / k, y = (coordinates[1] - t[1]) / k;\n return (y >= .12 && y < .234 && x >= -.425 && x < -.214 ? alaska : y >= .166 && y < .234 && x >= -.214 && x < -.115 ? hawaii : lower48).invert(coordinates);\n };\n albersUsa.stream = function(stream) {\n var lower48Stream = lower48.stream(stream), alaskaStream = alaska.stream(stream), hawaiiStream = hawaii.stream(stream);\n return {\n point: function(x, y) {\n lower48Stream.point(x, y);\n alaskaStream.point(x, y);\n hawaiiStream.point(x, y);\n },\n sphere: function() {\n lower48Stream.sphere();\n alaskaStream.sphere();\n hawaiiStream.sphere();\n },\n lineStart: function() {\n lower48Stream.lineStart();\n alaskaStream.lineStart();\n hawaiiStream.lineStart();\n },\n lineEnd: function() {\n lower48Stream.lineEnd();\n alaskaStream.lineEnd();\n hawaiiStream.lineEnd();\n },\n polygonStart: function() {\n lower48Stream.polygonStart();\n alaskaStream.polygonStart();\n hawaiiStream.polygonStart();\n },\n polygonEnd: function() {\n lower48Stream.polygonEnd();\n alaskaStream.polygonEnd();\n hawaiiStream.polygonEnd();\n }\n };\n };\n albersUsa.precision = function(_) {\n if (!arguments.length) return lower48.precision();\n lower48.precision(_);\n alaska.precision(_);\n hawaii.precision(_);\n return albersUsa;\n };\n albersUsa.scale = function(_) {\n if (!arguments.length) return lower48.scale();\n lower48.scale(_);\n alaska.scale(_ * .35);\n hawaii.scale(_);\n return albersUsa.translate(lower48.translate());\n };\n albersUsa.translate = function(_) {\n if (!arguments.length) return lower48.translate();\n var k = lower48.scale(), x = +_[0], y = +_[1];\n lower48Point = lower48.translate(_).clipExtent([ [ x - .455 * k, y - .238 * k ], [ x + .455 * k, y + .238 * k ] ]).stream(pointStream).point;\n alaskaPoint = alaska.translate([ x - .307 * k, y + .201 * k ]).clipExtent([ [ x - .425 * k + ε, y + .12 * k + ε ], [ x - .214 * k - ε, y + .234 * k - ε ] ]).stream(pointStream).point;\n hawaiiPoint = hawaii.translate([ x - .205 * k, y + .212 * k ]).clipExtent([ [ x - .214 * k + ε, y + .166 * k + ε ], [ x - .115 * k - ε, y + .234 * k - ε ] ]).stream(pointStream).point;\n return albersUsa;\n };\n return albersUsa.scale(1070);\n };\n var d3_geo_pathAreaSum, d3_geo_pathAreaPolygon, d3_geo_pathArea = {\n point: d3_noop,\n lineStart: d3_noop,\n lineEnd: d3_noop,\n polygonStart: function() {\n d3_geo_pathAreaPolygon = 0;\n d3_geo_pathArea.lineStart = d3_geo_pathAreaRingStart;\n },\n polygonEnd: function() {\n d3_geo_pathArea.lineStart = d3_geo_pathArea.lineEnd = d3_geo_pathArea.point = d3_noop;\n d3_geo_pathAreaSum += abs(d3_geo_pathAreaPolygon / 2);\n }\n };\n function d3_geo_pathAreaRingStart() {\n var x00, y00, x0, y0;\n d3_geo_pathArea.point = function(x, y) {\n d3_geo_pathArea.point = nextPoint;\n x00 = x0 = x, y00 = y0 = y;\n };\n function nextPoint(x, y) {\n d3_geo_pathAreaPolygon += y0 * x - x0 * y;\n x0 = x, y0 = y;\n }\n d3_geo_pathArea.lineEnd = function() {\n nextPoint(x00, y00);\n };\n }\n var d3_geo_pathBoundsX0, d3_geo_pathBoundsY0, d3_geo_pathBoundsX1, d3_geo_pathBoundsY1;\n var d3_geo_pathBounds = {\n point: d3_geo_pathBoundsPoint,\n lineStart: d3_noop,\n lineEnd: d3_noop,\n polygonStart: d3_noop,\n polygonEnd: d3_noop\n };\n function d3_geo_pathBoundsPoint(x, y) {\n if (x < d3_geo_pathBoundsX0) d3_geo_pathBoundsX0 = x;\n if (x > d3_geo_pathBoundsX1) d3_geo_pathBoundsX1 = x;\n if (y < d3_geo_pathBoundsY0) d3_geo_pathBoundsY0 = y;\n if (y > d3_geo_pathBoundsY1) d3_geo_pathBoundsY1 = y;\n }\n function d3_geo_pathBuffer() {\n var pointCircle = d3_geo_pathBufferCircle(4.5), buffer = [];\n var stream = {\n point: point,\n lineStart: function() {\n stream.point = pointLineStart;\n },\n lineEnd: lineEnd,\n polygonStart: function() {\n stream.lineEnd = lineEndPolygon;\n },\n polygonEnd: function() {\n stream.lineEnd = lineEnd;\n stream.point = point;\n },\n pointRadius: function(_) {\n pointCircle = d3_geo_pathBufferCircle(_);\n return stream;\n },\n result: function() {\n if (buffer.length) {\n var result = buffer.join(\"\");\n buffer = [];\n return result;\n }\n }\n };\n function point(x, y) {\n buffer.push(\"M\", x, \",\", y, pointCircle);\n }\n function pointLineStart(x, y) {\n buffer.push(\"M\", x, \",\", y);\n stream.point = pointLine;\n }\n function pointLine(x, y) {\n buffer.push(\"L\", x, \",\", y);\n }\n function lineEnd() {\n stream.point = point;\n }\n function lineEndPolygon() {\n buffer.push(\"Z\");\n }\n return stream;\n }\n function d3_geo_pathBufferCircle(radius) {\n return \"m0,\" + radius + \"a\" + radius + \",\" + radius + \" 0 1,1 0,\" + -2 * radius + \"a\" + radius + \",\" + radius + \" 0 1,1 0,\" + 2 * radius + \"z\";\n }\n var d3_geo_pathCentroid = {\n point: d3_geo_pathCentroidPoint,\n lineStart: d3_geo_pathCentroidLineStart,\n lineEnd: d3_geo_pathCentroidLineEnd,\n polygonStart: function() {\n d3_geo_pathCentroid.lineStart = d3_geo_pathCentroidRingStart;\n },\n polygonEnd: function() {\n d3_geo_pathCentroid.point = d3_geo_pathCentroidPoint;\n d3_geo_pathCentroid.lineStart = d3_geo_pathCentroidLineStart;\n d3_geo_pathCentroid.lineEnd = d3_geo_pathCentroidLineEnd;\n }\n };\n function d3_geo_pathCentroidPoint(x, y) {\n d3_geo_centroidX0 += x;\n d3_geo_centroidY0 += y;\n ++d3_geo_centroidZ0;\n }\n function d3_geo_pathCentroidLineStart() {\n var x0, y0;\n d3_geo_pathCentroid.point = function(x, y) {\n d3_geo_pathCentroid.point = nextPoint;\n d3_geo_pathCentroidPoint(x0 = x, y0 = y);\n };\n function nextPoint(x, y) {\n var dx = x - x0, dy = y - y0, z = Math.sqrt(dx * dx + dy * dy);\n d3_geo_centroidX1 += z * (x0 + x) / 2;\n d3_geo_centroidY1 += z * (y0 + y) / 2;\n d3_geo_centroidZ1 += z;\n d3_geo_pathCentroidPoint(x0 = x, y0 = y);\n }\n }\n function d3_geo_pathCentroidLineEnd() {\n d3_geo_pathCentroid.point = d3_geo_pathCentroidPoint;\n }\n function d3_geo_pathCentroidRingStart() {\n var x00, y00, x0, y0;\n d3_geo_pathCentroid.point = function(x, y) {\n d3_geo_pathCentroid.point = nextPoint;\n d3_geo_pathCentroidPoint(x00 = x0 = x, y00 = y0 = y);\n };\n function nextPoint(x, y) {\n var dx = x - x0, dy = y - y0, z = Math.sqrt(dx * dx + dy * dy);\n d3_geo_centroidX1 += z * (x0 + x) / 2;\n d3_geo_centroidY1 += z * (y0 + y) / 2;\n d3_geo_centroidZ1 += z;\n z = y0 * x - x0 * y;\n d3_geo_centroidX2 += z * (x0 + x);\n d3_geo_centroidY2 += z * (y0 + y);\n d3_geo_centroidZ2 += z * 3;\n d3_geo_pathCentroidPoint(x0 = x, y0 = y);\n }\n d3_geo_pathCentroid.lineEnd = function() {\n nextPoint(x00, y00);\n };\n }\n function d3_geo_pathContext(context) {\n var pointRadius = 4.5;\n var stream = {\n point: point,\n lineStart: function() {\n stream.point = pointLineStart;\n },\n lineEnd: lineEnd,\n polygonStart: function() {\n stream.lineEnd = lineEndPolygon;\n },\n polygonEnd: function() {\n stream.lineEnd = lineEnd;\n stream.point = point;\n },\n pointRadius: function(_) {\n pointRadius = _;\n return stream;\n },\n result: d3_noop\n };\n function point(x, y) {\n context.moveTo(x + pointRadius, y);\n context.arc(x, y, pointRadius, 0, τ);\n }\n function pointLineStart(x, y) {\n context.moveTo(x, y);\n stream.point = pointLine;\n }\n function pointLine(x, y) {\n context.lineTo(x, y);\n }\n function lineEnd() {\n stream.point = point;\n }\n function lineEndPolygon() {\n context.closePath();\n }\n return stream;\n }\n function d3_geo_resample(project) {\n var δ2 = .5, cosMinDistance = Math.cos(30 * d3_radians), maxDepth = 16;\n function resample(stream) {\n return (maxDepth ? resampleRecursive : resampleNone)(stream);\n }\n function resampleNone(stream) {\n return d3_geo_transformPoint(stream, function(x, y) {\n x = project(x, y);\n stream.point(x[0], x[1]);\n });\n }\n function resampleRecursive(stream) {\n var λ00, φ00, x00, y00, a00, b00, c00, λ0, x0, y0, a0, b0, c0;\n var resample = {\n point: point,\n lineStart: lineStart,\n lineEnd: lineEnd,\n polygonStart: function() {\n stream.polygonStart();\n resample.lineStart = ringStart;\n },\n polygonEnd: function() {\n stream.polygonEnd();\n resample.lineStart = lineStart;\n }\n };\n function point(x, y) {\n x = project(x, y);\n stream.point(x[0], x[1]);\n }\n function lineStart() {\n x0 = NaN;\n resample.point = linePoint;\n stream.lineStart();\n }\n function linePoint(λ, φ) {\n var c = d3_geo_cartesian([ λ, φ ]), p = project(λ, φ);\n resampleLineTo(x0, y0, λ0, a0, b0, c0, x0 = p[0], y0 = p[1], λ0 = λ, a0 = c[0], b0 = c[1], c0 = c[2], maxDepth, stream);\n stream.point(x0, y0);\n }\n function lineEnd() {\n resample.point = point;\n stream.lineEnd();\n }\n function ringStart() {\n lineStart();\n resample.point = ringPoint;\n resample.lineEnd = ringEnd;\n }\n function ringPoint(λ, φ) {\n linePoint(λ00 = λ, φ00 = φ), x00 = x0, y00 = y0, a00 = a0, b00 = b0, c00 = c0;\n resample.point = linePoint;\n }\n function ringEnd() {\n resampleLineTo(x0, y0, λ0, a0, b0, c0, x00, y00, λ00, a00, b00, c00, maxDepth, stream);\n resample.lineEnd = lineEnd;\n lineEnd();\n }\n return resample;\n }\n function resampleLineTo(x0, y0, λ0, a0, b0, c0, x1, y1, λ1, a1, b1, c1, depth, stream) {\n var dx = x1 - x0, dy = y1 - y0, d2 = dx * dx + dy * dy;\n if (d2 > 4 * δ2 && depth--) {\n var a = a0 + a1, b = b0 + b1, c = c0 + c1, m = Math.sqrt(a * a + b * b + c * c), φ2 = Math.asin(c /= m), λ2 = abs(abs(c) - 1) < ε || abs(λ0 - λ1) < ε ? (λ0 + λ1) / 2 : Math.atan2(b, a), p = project(λ2, φ2), x2 = p[0], y2 = p[1], dx2 = x2 - x0, dy2 = y2 - y0, dz = dy * dx2 - dx * dy2;\n if (dz * dz / d2 > δ2 || abs((dx * dx2 + dy * dy2) / d2 - .5) > .3 || a0 * a1 + b0 * b1 + c0 * c1 < cosMinDistance) {\n resampleLineTo(x0, y0, λ0, a0, b0, c0, x2, y2, λ2, a /= m, b /= m, c, depth, stream);\n stream.point(x2, y2);\n resampleLineTo(x2, y2, λ2, a, b, c, x1, y1, λ1, a1, b1, c1, depth, stream);\n }\n }\n }\n resample.precision = function(_) {\n if (!arguments.length) return Math.sqrt(δ2);\n maxDepth = (δ2 = _ * _) > 0 && 16;\n return resample;\n };\n return resample;\n }\n d3.geo.path = function() {\n var pointRadius = 4.5, projection, context, projectStream, contextStream, cacheStream;\n function path(object) {\n if (object) {\n if (typeof pointRadius === \"function\") contextStream.pointRadius(+pointRadius.apply(this, arguments));\n if (!cacheStream || !cacheStream.valid) cacheStream = projectStream(contextStream);\n d3.geo.stream(object, cacheStream);\n }\n return contextStream.result();\n }\n path.area = function(object) {\n d3_geo_pathAreaSum = 0;\n d3.geo.stream(object, projectStream(d3_geo_pathArea));\n return d3_geo_pathAreaSum;\n };\n path.centroid = function(object) {\n d3_geo_centroidX0 = d3_geo_centroidY0 = d3_geo_centroidZ0 = d3_geo_centroidX1 = d3_geo_centroidY1 = d3_geo_centroidZ1 = d3_geo_centroidX2 = d3_geo_centroidY2 = d3_geo_centroidZ2 = 0;\n d3.geo.stream(object, projectStream(d3_geo_pathCentroid));\n return d3_geo_centroidZ2 ? [ d3_geo_centroidX2 / d3_geo_centroidZ2, d3_geo_centroidY2 / d3_geo_centroidZ2 ] : d3_geo_centroidZ1 ? [ d3_geo_centroidX1 / d3_geo_centroidZ1, d3_geo_centroidY1 / d3_geo_centroidZ1 ] : d3_geo_centroidZ0 ? [ d3_geo_centroidX0 / d3_geo_centroidZ0, d3_geo_centroidY0 / d3_geo_centroidZ0 ] : [ NaN, NaN ];\n };\n path.bounds = function(object) {\n d3_geo_pathBoundsX1 = d3_geo_pathBoundsY1 = -(d3_geo_pathBoundsX0 = d3_geo_pathBoundsY0 = Infinity);\n d3.geo.stream(object, projectStream(d3_geo_pathBounds));\n return [ [ d3_geo_pathBoundsX0, d3_geo_pathBoundsY0 ], [ d3_geo_pathBoundsX1, d3_geo_pathBoundsY1 ] ];\n };\n path.projection = function(_) {\n if (!arguments.length) return projection;\n projectStream = (projection = _) ? _.stream || d3_geo_pathProjectStream(_) : d3_identity;\n return reset();\n };\n path.context = function(_) {\n if (!arguments.length) return context;\n contextStream = (context = _) == null ? new d3_geo_pathBuffer() : new d3_geo_pathContext(_);\n if (typeof pointRadius !== \"function\") contextStream.pointRadius(pointRadius);\n return reset();\n };\n path.pointRadius = function(_) {\n if (!arguments.length) return pointRadius;\n pointRadius = typeof _ === \"function\" ? _ : (contextStream.pointRadius(+_), +_);\n return path;\n };\n function reset() {\n cacheStream = null;\n return path;\n }\n return path.projection(d3.geo.albersUsa()).context(null);\n };\n function d3_geo_pathProjectStream(project) {\n var resample = d3_geo_resample(function(x, y) {\n return project([ x * d3_degrees, y * d3_degrees ]);\n });\n return function(stream) {\n return d3_geo_projectionRadians(resample(stream));\n };\n }\n d3.geo.transform = function(methods) {\n return {\n stream: function(stream) {\n var transform = new d3_geo_transform(stream);\n for (var k in methods) transform[k] = methods[k];\n return transform;\n }\n };\n };\n function d3_geo_transform(stream) {\n this.stream = stream;\n }\n d3_geo_transform.prototype = {\n point: function(x, y) {\n this.stream.point(x, y);\n },\n sphere: function() {\n this.stream.sphere();\n },\n lineStart: function() {\n this.stream.lineStart();\n },\n lineEnd: function() {\n this.stream.lineEnd();\n },\n polygonStart: function() {\n this.stream.polygonStart();\n },\n polygonEnd: function() {\n this.stream.polygonEnd();\n }\n };\n function d3_geo_transformPoint(stream, point) {\n return {\n point: point,\n sphere: function() {\n stream.sphere();\n },\n lineStart: function() {\n stream.lineStart();\n },\n lineEnd: function() {\n stream.lineEnd();\n },\n polygonStart: function() {\n stream.polygonStart();\n },\n polygonEnd: function() {\n stream.polygonEnd();\n }\n };\n }\n d3.geo.projection = d3_geo_projection;\n d3.geo.projectionMutator = d3_geo_projectionMutator;\n function d3_geo_projection(project) {\n return d3_geo_projectionMutator(function() {\n return project;\n })();\n }\n function d3_geo_projectionMutator(projectAt) {\n var project, rotate, projectRotate, projectResample = d3_geo_resample(function(x, y) {\n x = project(x, y);\n return [ x[0] * k + δx, δy - x[1] * k ];\n }), k = 150, x = 480, y = 250, λ = 0, φ = 0, δλ = 0, δφ = 0, δγ = 0, δx, δy, preclip = d3_geo_clipAntimeridian, postclip = d3_identity, clipAngle = null, clipExtent = null, stream;\n function projection(point) {\n point = projectRotate(point[0] * d3_radians, point[1] * d3_radians);\n return [ point[0] * k + δx, δy - point[1] * k ];\n }\n function invert(point) {\n point = projectRotate.invert((point[0] - δx) / k, (δy - point[1]) / k);\n return point && [ point[0] * d3_degrees, point[1] * d3_degrees ];\n }\n projection.stream = function(output) {\n if (stream) stream.valid = false;\n stream = d3_geo_projectionRadians(preclip(rotate, projectResample(postclip(output))));\n stream.valid = true;\n return stream;\n };\n projection.clipAngle = function(_) {\n if (!arguments.length) return clipAngle;\n preclip = _ == null ? (clipAngle = _, d3_geo_clipAntimeridian) : d3_geo_clipCircle((clipAngle = +_) * d3_radians);\n return invalidate();\n };\n projection.clipExtent = function(_) {\n if (!arguments.length) return clipExtent;\n clipExtent = _;\n postclip = _ ? d3_geo_clipExtent(_[0][0], _[0][1], _[1][0], _[1][1]) : d3_identity;\n return invalidate();\n };\n projection.scale = function(_) {\n if (!arguments.length) return k;\n k = +_;\n return reset();\n };\n projection.translate = function(_) {\n if (!arguments.length) return [ x, y ];\n x = +_[0];\n y = +_[1];\n return reset();\n };\n projection.center = function(_) {\n if (!arguments.length) return [ λ * d3_degrees, φ * d3_degrees ];\n λ = _[0] % 360 * d3_radians;\n φ = _[1] % 360 * d3_radians;\n return reset();\n };\n projection.rotate = function(_) {\n if (!arguments.length) return [ δλ * d3_degrees, δφ * d3_degrees, δγ * d3_degrees ];\n δλ = _[0] % 360 * d3_radians;\n δφ = _[1] % 360 * d3_radians;\n δγ = _.length > 2 ? _[2] % 360 * d3_radians : 0;\n return reset();\n };\n d3.rebind(projection, projectResample, \"precision\");\n function reset() {\n projectRotate = d3_geo_compose(rotate = d3_geo_rotation(δλ, δφ, δγ), project);\n var center = project(λ, φ);\n δx = x - center[0] * k;\n δy = y + center[1] * k;\n return invalidate();\n }\n function invalidate() {\n if (stream) stream.valid = false, stream = null;\n return projection;\n }\n return function() {\n project = projectAt.apply(this, arguments);\n projection.invert = project.invert && invert;\n return reset();\n };\n }\n function d3_geo_projectionRadians(stream) {\n return d3_geo_transformPoint(stream, function(x, y) {\n stream.point(x * d3_radians, y * d3_radians);\n });\n }\n function d3_geo_equirectangular(λ, φ) {\n return [ λ, φ ];\n }\n (d3.geo.equirectangular = function() {\n return d3_geo_projection(d3_geo_equirectangular);\n }).raw = d3_geo_equirectangular.invert = d3_geo_equirectangular;\n d3.geo.rotation = function(rotate) {\n rotate = d3_geo_rotation(rotate[0] % 360 * d3_radians, rotate[1] * d3_radians, rotate.length > 2 ? rotate[2] * d3_radians : 0);\n function forward(coordinates) {\n coordinates = rotate(coordinates[0] * d3_radians, coordinates[1] * d3_radians);\n return coordinates[0] *= d3_degrees, coordinates[1] *= d3_degrees, coordinates;\n }\n forward.invert = function(coordinates) {\n coordinates = rotate.invert(coordinates[0] * d3_radians, coordinates[1] * d3_radians);\n return coordinates[0] *= d3_degrees, coordinates[1] *= d3_degrees, coordinates;\n };\n return forward;\n };\n function d3_geo_identityRotation(λ, φ) {\n return [ λ > π ? λ - τ : λ < -π ? λ + τ : λ, φ ];\n }\n d3_geo_identityRotation.invert = d3_geo_equirectangular;\n function d3_geo_rotation(δλ, δφ, δγ) {\n return δλ ? δφ || δγ ? d3_geo_compose(d3_geo_rotationλ(δλ), d3_geo_rotationφγ(δφ, δγ)) : d3_geo_rotationλ(δλ) : δφ || δγ ? d3_geo_rotationφγ(δφ, δγ) : d3_geo_identityRotation;\n }\n function d3_geo_forwardRotationλ(δλ) {\n return function(λ, φ) {\n return λ += δλ, [ λ > π ? λ - τ : λ < -π ? λ + τ : λ, φ ];\n };\n }\n function d3_geo_rotationλ(δλ) {\n var rotation = d3_geo_forwardRotationλ(δλ);\n rotation.invert = d3_geo_forwardRotationλ(-δλ);\n return rotation;\n }\n function d3_geo_rotationφγ(δφ, δγ) {\n var cosδφ = Math.cos(δφ), sinδφ = Math.sin(δφ), cosδγ = Math.cos(δγ), sinδγ = Math.sin(δγ);\n function rotation(λ, φ) {\n var cosφ = Math.cos(φ), x = Math.cos(λ) * cosφ, y = Math.sin(λ) * cosφ, z = Math.sin(φ), k = z * cosδφ + x * sinδφ;\n return [ Math.atan2(y * cosδγ - k * sinδγ, x * cosδφ - z * sinδφ), d3_asin(k * cosδγ + y * sinδγ) ];\n }\n rotation.invert = function(λ, φ) {\n var cosφ = Math.cos(φ), x = Math.cos(λ) * cosφ, y = Math.sin(λ) * cosφ, z = Math.sin(φ), k = z * cosδγ - y * sinδγ;\n return [ Math.atan2(y * cosδγ + z * sinδγ, x * cosδφ + k * sinδφ), d3_asin(k * cosδφ - x * sinδφ) ];\n };\n return rotation;\n }\n d3.geo.circle = function() {\n var origin = [ 0, 0 ], angle, precision = 6, interpolate;\n function circle() {\n var center = typeof origin === \"function\" ? origin.apply(this, arguments) : origin, rotate = d3_geo_rotation(-center[0] * d3_radians, -center[1] * d3_radians, 0).invert, ring = [];\n interpolate(null, null, 1, {\n point: function(x, y) {\n ring.push(x = rotate(x, y));\n x[0] *= d3_degrees, x[1] *= d3_degrees;\n }\n });\n return {\n type: \"Polygon\",\n coordinates: [ ring ]\n };\n }\n circle.origin = function(x) {\n if (!arguments.length) return origin;\n origin = x;\n return circle;\n };\n circle.angle = function(x) {\n if (!arguments.length) return angle;\n interpolate = d3_geo_circleInterpolate((angle = +x) * d3_radians, precision * d3_radians);\n return circle;\n };\n circle.precision = function(_) {\n if (!arguments.length) return precision;\n interpolate = d3_geo_circleInterpolate(angle * d3_radians, (precision = +_) * d3_radians);\n return circle;\n };\n return circle.angle(90);\n };\n function d3_geo_circleInterpolate(radius, precision) {\n var cr = Math.cos(radius), sr = Math.sin(radius);\n return function(from, to, direction, listener) {\n var step = direction * precision;\n if (from != null) {\n from = d3_geo_circleAngle(cr, from);\n to = d3_geo_circleAngle(cr, to);\n if (direction > 0 ? from < to : from > to) from += direction * τ;\n } else {\n from = radius + direction * τ;\n to = radius - .5 * step;\n }\n for (var point, t = from; direction > 0 ? t > to : t < to; t -= step) {\n listener.point((point = d3_geo_spherical([ cr, -sr * Math.cos(t), -sr * Math.sin(t) ]))[0], point[1]);\n }\n };\n }\n function d3_geo_circleAngle(cr, point) {\n var a = d3_geo_cartesian(point);\n a[0] -= cr;\n d3_geo_cartesianNormalize(a);\n var angle = d3_acos(-a[1]);\n return ((-a[2] < 0 ? -angle : angle) + 2 * Math.PI - ε) % (2 * Math.PI);\n }\n d3.geo.distance = function(a, b) {\n var Δλ = (b[0] - a[0]) * d3_radians, φ0 = a[1] * d3_radians, φ1 = b[1] * d3_radians, sinΔλ = Math.sin(Δλ), cosΔλ = Math.cos(Δλ), sinφ0 = Math.sin(φ0), cosφ0 = Math.cos(φ0), sinφ1 = Math.sin(φ1), cosφ1 = Math.cos(φ1), t;\n return Math.atan2(Math.sqrt((t = cosφ1 * sinΔλ) * t + (t = cosφ0 * sinφ1 - sinφ0 * cosφ1 * cosΔλ) * t), sinφ0 * sinφ1 + cosφ0 * cosφ1 * cosΔλ);\n };\n d3.geo.graticule = function() {\n var x1, x0, X1, X0, y1, y0, Y1, Y0, dx = 10, dy = dx, DX = 90, DY = 360, x, y, X, Y, precision = 2.5;\n function graticule() {\n return {\n type: \"MultiLineString\",\n coordinates: lines()\n };\n }\n function lines() {\n return d3.range(Math.ceil(X0 / DX) * DX, X1, DX).map(X).concat(d3.range(Math.ceil(Y0 / DY) * DY, Y1, DY).map(Y)).concat(d3.range(Math.ceil(x0 / dx) * dx, x1, dx).filter(function(x) {\n return abs(x % DX) > ε;\n }).map(x)).concat(d3.range(Math.ceil(y0 / dy) * dy, y1, dy).filter(function(y) {\n return abs(y % DY) > ε;\n }).map(y));\n }\n graticule.lines = function() {\n return lines().map(function(coordinates) {\n return {\n type: \"LineString\",\n coordinates: coordinates\n };\n });\n };\n graticule.outline = function() {\n return {\n type: \"Polygon\",\n coordinates: [ X(X0).concat(Y(Y1).slice(1), X(X1).reverse().slice(1), Y(Y0).reverse().slice(1)) ]\n };\n };\n graticule.extent = function(_) {\n if (!arguments.length) return graticule.minorExtent();\n return graticule.majorExtent(_).minorExtent(_);\n };\n graticule.majorExtent = function(_) {\n if (!arguments.length) return [ [ X0, Y0 ], [ X1, Y1 ] ];\n X0 = +_[0][0], X1 = +_[1][0];\n Y0 = +_[0][1], Y1 = +_[1][1];\n if (X0 > X1) _ = X0, X0 = X1, X1 = _;\n if (Y0 > Y1) _ = Y0, Y0 = Y1, Y1 = _;\n return graticule.precision(precision);\n };\n graticule.minorExtent = function(_) {\n if (!arguments.length) return [ [ x0, y0 ], [ x1, y1 ] ];\n x0 = +_[0][0], x1 = +_[1][0];\n y0 = +_[0][1], y1 = +_[1][1];\n if (x0 > x1) _ = x0, x0 = x1, x1 = _;\n if (y0 > y1) _ = y0, y0 = y1, y1 = _;\n return graticule.precision(precision);\n };\n graticule.step = function(_) {\n if (!arguments.length) return graticule.minorStep();\n return graticule.majorStep(_).minorStep(_);\n };\n graticule.majorStep = function(_) {\n if (!arguments.length) return [ DX, DY ];\n DX = +_[0], DY = +_[1];\n return graticule;\n };\n graticule.minorStep = function(_) {\n if (!arguments.length) return [ dx, dy ];\n dx = +_[0], dy = +_[1];\n return graticule;\n };\n graticule.precision = function(_) {\n if (!arguments.length) return precision;\n precision = +_;\n x = d3_geo_graticuleX(y0, y1, 90);\n y = d3_geo_graticuleY(x0, x1, precision);\n X = d3_geo_graticuleX(Y0, Y1, 90);\n Y = d3_geo_graticuleY(X0, X1, precision);\n return graticule;\n };\n return graticule.majorExtent([ [ -180, -90 + ε ], [ 180, 90 - ε ] ]).minorExtent([ [ -180, -80 - ε ], [ 180, 80 + ε ] ]);\n };\n function d3_geo_graticuleX(y0, y1, dy) {\n var y = d3.range(y0, y1 - ε, dy).concat(y1);\n return function(x) {\n return y.map(function(y) {\n return [ x, y ];\n });\n };\n }\n function d3_geo_graticuleY(x0, x1, dx) {\n var x = d3.range(x0, x1 - ε, dx).concat(x1);\n return function(y) {\n return x.map(function(x) {\n return [ x, y ];\n });\n };\n }\n function d3_source(d) {\n return d.source;\n }\n function d3_target(d) {\n return d.target;\n }\n d3.geo.greatArc = function() {\n var source = d3_source, source_, target = d3_target, target_;\n function greatArc() {\n return {\n type: \"LineString\",\n coordinates: [ source_ || source.apply(this, arguments), target_ || target.apply(this, arguments) ]\n };\n }\n greatArc.distance = function() {\n return d3.geo.distance(source_ || source.apply(this, arguments), target_ || target.apply(this, arguments));\n };\n greatArc.source = function(_) {\n if (!arguments.length) return source;\n source = _, source_ = typeof _ === \"function\" ? null : _;\n return greatArc;\n };\n greatArc.target = function(_) {\n if (!arguments.length) return target;\n target = _, target_ = typeof _ === \"function\" ? null : _;\n return greatArc;\n };\n greatArc.precision = function() {\n return arguments.length ? greatArc : 0;\n };\n return greatArc;\n };\n d3.geo.interpolate = function(source, target) {\n return d3_geo_interpolate(source[0] * d3_radians, source[1] * d3_radians, target[0] * d3_radians, target[1] * d3_radians);\n };\n function d3_geo_interpolate(x0, y0, x1, y1) {\n var cy0 = Math.cos(y0), sy0 = Math.sin(y0), cy1 = Math.cos(y1), sy1 = Math.sin(y1), kx0 = cy0 * Math.cos(x0), ky0 = cy0 * Math.sin(x0), kx1 = cy1 * Math.cos(x1), ky1 = cy1 * Math.sin(x1), d = 2 * Math.asin(Math.sqrt(d3_haversin(y1 - y0) + cy0 * cy1 * d3_haversin(x1 - x0))), k = 1 / Math.sin(d);\n var interpolate = d ? function(t) {\n var B = Math.sin(t *= d) * k, A = Math.sin(d - t) * k, x = A * kx0 + B * kx1, y = A * ky0 + B * ky1, z = A * sy0 + B * sy1;\n return [ Math.atan2(y, x) * d3_degrees, Math.atan2(z, Math.sqrt(x * x + y * y)) * d3_degrees ];\n } : function() {\n return [ x0 * d3_degrees, y0 * d3_degrees ];\n };\n interpolate.distance = d;\n return interpolate;\n }\n d3.geo.length = function(object) {\n d3_geo_lengthSum = 0;\n d3.geo.stream(object, d3_geo_length);\n return d3_geo_lengthSum;\n };\n var d3_geo_lengthSum;\n var d3_geo_length = {\n sphere: d3_noop,\n point: d3_noop,\n lineStart: d3_geo_lengthLineStart,\n lineEnd: d3_noop,\n polygonStart: d3_noop,\n polygonEnd: d3_noop\n };\n function d3_geo_lengthLineStart() {\n var λ0, sinφ0, cosφ0;\n d3_geo_length.point = function(λ, φ) {\n λ0 = λ * d3_radians, sinφ0 = Math.sin(φ *= d3_radians), cosφ0 = Math.cos(φ);\n d3_geo_length.point = nextPoint;\n };\n d3_geo_length.lineEnd = function() {\n d3_geo_length.point = d3_geo_length.lineEnd = d3_noop;\n };\n function nextPoint(λ, φ) {\n var sinφ = Math.sin(φ *= d3_radians), cosφ = Math.cos(φ), t = abs((λ *= d3_radians) - λ0), cosΔλ = Math.cos(t);\n d3_geo_lengthSum += Math.atan2(Math.sqrt((t = cosφ * Math.sin(t)) * t + (t = cosφ0 * sinφ - sinφ0 * cosφ * cosΔλ) * t), sinφ0 * sinφ + cosφ0 * cosφ * cosΔλ);\n λ0 = λ, sinφ0 = sinφ, cosφ0 = cosφ;\n }\n }\n function d3_geo_azimuthal(scale, angle) {\n function azimuthal(λ, φ) {\n var cosλ = Math.cos(λ), cosφ = Math.cos(φ), k = scale(cosλ * cosφ);\n return [ k * cosφ * Math.sin(λ), k * Math.sin(φ) ];\n }\n azimuthal.invert = function(x, y) {\n var ρ = Math.sqrt(x * x + y * y), c = angle(ρ), sinc = Math.sin(c), cosc = Math.cos(c);\n return [ Math.atan2(x * sinc, ρ * cosc), Math.asin(ρ && y * sinc / ρ) ];\n };\n return azimuthal;\n }\n var d3_geo_azimuthalEqualArea = d3_geo_azimuthal(function(cosλcosφ) {\n return Math.sqrt(2 / (1 + cosλcosφ));\n }, function(ρ) {\n return 2 * Math.asin(ρ / 2);\n });\n (d3.geo.azimuthalEqualArea = function() {\n return d3_geo_projection(d3_geo_azimuthalEqualArea);\n }).raw = d3_geo_azimuthalEqualArea;\n var d3_geo_azimuthalEquidistant = d3_geo_azimuthal(function(cosλcosφ) {\n var c = Math.acos(cosλcosφ);\n return c && c / Math.sin(c);\n }, d3_identity);\n (d3.geo.azimuthalEquidistant = function() {\n return d3_geo_projection(d3_geo_azimuthalEquidistant);\n }).raw = d3_geo_azimuthalEquidistant;\n function d3_geo_conicConformal(φ0, φ1) {\n var cosφ0 = Math.cos(φ0), t = function(φ) {\n return Math.tan(π / 4 + φ / 2);\n }, n = φ0 === φ1 ? Math.sin(φ0) : Math.log(cosφ0 / Math.cos(φ1)) / Math.log(t(φ1) / t(φ0)), F = cosφ0 * Math.pow(t(φ0), n) / n;\n if (!n) return d3_geo_mercator;\n function forward(λ, φ) {\n if (F > 0) {\n if (φ < -halfπ + ε) φ = -halfπ + ε;\n } else {\n if (φ > halfπ - ε) φ = halfπ - ε;\n }\n var ρ = F / Math.pow(t(φ), n);\n return [ ρ * Math.sin(n * λ), F - ρ * Math.cos(n * λ) ];\n }\n forward.invert = function(x, y) {\n var ρ0_y = F - y, ρ = d3_sgn(n) * Math.sqrt(x * x + ρ0_y * ρ0_y);\n return [ Math.atan2(x, ρ0_y) / n, 2 * Math.atan(Math.pow(F / ρ, 1 / n)) - halfπ ];\n };\n return forward;\n }\n (d3.geo.conicConformal = function() {\n return d3_geo_conic(d3_geo_conicConformal);\n }).raw = d3_geo_conicConformal;\n function d3_geo_conicEquidistant(φ0, φ1) {\n var cosφ0 = Math.cos(φ0), n = φ0 === φ1 ? Math.sin(φ0) : (cosφ0 - Math.cos(φ1)) / (φ1 - φ0), G = cosφ0 / n + φ0;\n if (abs(n) < ε) return d3_geo_equirectangular;\n function forward(λ, φ) {\n var ρ = G - φ;\n return [ ρ * Math.sin(n * λ), G - ρ * Math.cos(n * λ) ];\n }\n forward.invert = function(x, y) {\n var ρ0_y = G - y;\n return [ Math.atan2(x, ρ0_y) / n, G - d3_sgn(n) * Math.sqrt(x * x + ρ0_y * ρ0_y) ];\n };\n return forward;\n }\n (d3.geo.conicEquidistant = function() {\n return d3_geo_conic(d3_geo_conicEquidistant);\n }).raw = d3_geo_conicEquidistant;\n var d3_geo_gnomonic = d3_geo_azimuthal(function(cosλcosφ) {\n return 1 / cosλcosφ;\n }, Math.atan);\n (d3.geo.gnomonic = function() {\n return d3_geo_projection(d3_geo_gnomonic);\n }).raw = d3_geo_gnomonic;\n function d3_geo_mercator(λ, φ) {\n return [ λ, Math.log(Math.tan(π / 4 + φ / 2)) ];\n }\n d3_geo_mercator.invert = function(x, y) {\n return [ x, 2 * Math.atan(Math.exp(y)) - halfπ ];\n };\n function d3_geo_mercatorProjection(project) {\n var m = d3_geo_projection(project), scale = m.scale, translate = m.translate, clipExtent = m.clipExtent, clipAuto;\n m.scale = function() {\n var v = scale.apply(m, arguments);\n return v === m ? clipAuto ? m.clipExtent(null) : m : v;\n };\n m.translate = function() {\n var v = translate.apply(m, arguments);\n return v === m ? clipAuto ? m.clipExtent(null) : m : v;\n };\n m.clipExtent = function(_) {\n var v = clipExtent.apply(m, arguments);\n if (v === m) {\n if (clipAuto = _ == null) {\n var k = π * scale(), t = translate();\n clipExtent([ [ t[0] - k, t[1] - k ], [ t[0] + k, t[1] + k ] ]);\n }\n } else if (clipAuto) {\n v = null;\n }\n return v;\n };\n return m.clipExtent(null);\n }\n (d3.geo.mercator = function() {\n return d3_geo_mercatorProjection(d3_geo_mercator);\n }).raw = d3_geo_mercator;\n var d3_geo_orthographic = d3_geo_azimuthal(function() {\n return 1;\n }, Math.asin);\n (d3.geo.orthographic = function() {\n return d3_geo_projection(d3_geo_orthographic);\n }).raw = d3_geo_orthographic;\n var d3_geo_stereographic = d3_geo_azimuthal(function(cosλcosφ) {\n return 1 / (1 + cosλcosφ);\n }, function(ρ) {\n return 2 * Math.atan(ρ);\n });\n (d3.geo.stereographic = function() {\n return d3_geo_projection(d3_geo_stereographic);\n }).raw = d3_geo_stereographic;\n function d3_geo_transverseMercator(λ, φ) {\n return [ Math.log(Math.tan(π / 4 + φ / 2)), -λ ];\n }\n d3_geo_transverseMercator.invert = function(x, y) {\n return [ -y, 2 * Math.atan(Math.exp(x)) - halfπ ];\n };\n (d3.geo.transverseMercator = function() {\n var projection = d3_geo_mercatorProjection(d3_geo_transverseMercator), center = projection.center, rotate = projection.rotate;\n projection.center = function(_) {\n return _ ? center([ -_[1], _[0] ]) : (_ = center(), [ _[1], -_[0] ]);\n };\n projection.rotate = function(_) {\n return _ ? rotate([ _[0], _[1], _.length > 2 ? _[2] + 90 : 90 ]) : (_ = rotate(), \n [ _[0], _[1], _[2] - 90 ]);\n };\n return rotate([ 0, 0, 90 ]);\n }).raw = d3_geo_transverseMercator;\n d3.geom = {};\n function d3_geom_pointX(d) {\n return d[0];\n }\n function d3_geom_pointY(d) {\n return d[1];\n }\n d3.geom.hull = function(vertices) {\n var x = d3_geom_pointX, y = d3_geom_pointY;\n if (arguments.length) return hull(vertices);\n function hull(data) {\n if (data.length < 3) return [];\n var fx = d3_functor(x), fy = d3_functor(y), i, n = data.length, points = [], flippedPoints = [];\n for (i = 0; i < n; i++) {\n points.push([ +fx.call(this, data[i], i), +fy.call(this, data[i], i), i ]);\n }\n points.sort(d3_geom_hullOrder);\n for (i = 0; i < n; i++) flippedPoints.push([ points[i][0], -points[i][1] ]);\n var upper = d3_geom_hullUpper(points), lower = d3_geom_hullUpper(flippedPoints);\n var skipLeft = lower[0] === upper[0], skipRight = lower[lower.length - 1] === upper[upper.length - 1], polygon = [];\n for (i = upper.length - 1; i >= 0; --i) polygon.push(data[points[upper[i]][2]]);\n for (i = +skipLeft; i < lower.length - skipRight; ++i) polygon.push(data[points[lower[i]][2]]);\n return polygon;\n }\n hull.x = function(_) {\n return arguments.length ? (x = _, hull) : x;\n };\n hull.y = function(_) {\n return arguments.length ? (y = _, hull) : y;\n };\n return hull;\n };\n function d3_geom_hullUpper(points) {\n var n = points.length, hull = [ 0, 1 ], hs = 2;\n for (var i = 2; i < n; i++) {\n while (hs > 1 && d3_cross2d(points[hull[hs - 2]], points[hull[hs - 1]], points[i]) <= 0) --hs;\n hull[hs++] = i;\n }\n return hull.slice(0, hs);\n }\n function d3_geom_hullOrder(a, b) {\n return a[0] - b[0] || a[1] - b[1];\n }\n d3.geom.polygon = function(coordinates) {\n d3_subclass(coordinates, d3_geom_polygonPrototype);\n return coordinates;\n };\n var d3_geom_polygonPrototype = d3.geom.polygon.prototype = [];\n d3_geom_polygonPrototype.area = function() {\n var i = -1, n = this.length, a, b = this[n - 1], area = 0;\n while (++i < n) {\n a = b;\n b = this[i];\n area += a[1] * b[0] - a[0] * b[1];\n }\n return area * .5;\n };\n d3_geom_polygonPrototype.centroid = function(k) {\n var i = -1, n = this.length, x = 0, y = 0, a, b = this[n - 1], c;\n if (!arguments.length) k = -1 / (6 * this.area());\n while (++i < n) {\n a = b;\n b = this[i];\n c = a[0] * b[1] - b[0] * a[1];\n x += (a[0] + b[0]) * c;\n y += (a[1] + b[1]) * c;\n }\n return [ x * k, y * k ];\n };\n d3_geom_polygonPrototype.clip = function(subject) {\n var input, closed = d3_geom_polygonClosed(subject), i = -1, n = this.length - d3_geom_polygonClosed(this), j, m, a = this[n - 1], b, c, d;\n while (++i < n) {\n input = subject.slice();\n subject.length = 0;\n b = this[i];\n c = input[(m = input.length - closed) - 1];\n j = -1;\n while (++j < m) {\n d = input[j];\n if (d3_geom_polygonInside(d, a, b)) {\n if (!d3_geom_polygonInside(c, a, b)) {\n subject.push(d3_geom_polygonIntersect(c, d, a, b));\n }\n subject.push(d);\n } else if (d3_geom_polygonInside(c, a, b)) {\n subject.push(d3_geom_polygonIntersect(c, d, a, b));\n }\n c = d;\n }\n if (closed) subject.push(subject[0]);\n a = b;\n }\n return subject;\n };\n function d3_geom_polygonInside(p, a, b) {\n return (b[0] - a[0]) * (p[1] - a[1]) < (b[1] - a[1]) * (p[0] - a[0]);\n }\n function d3_geom_polygonIntersect(c, d, a, b) {\n var x1 = c[0], x3 = a[0], x21 = d[0] - x1, x43 = b[0] - x3, y1 = c[1], y3 = a[1], y21 = d[1] - y1, y43 = b[1] - y3, ua = (x43 * (y1 - y3) - y43 * (x1 - x3)) / (y43 * x21 - x43 * y21);\n return [ x1 + ua * x21, y1 + ua * y21 ];\n }\n function d3_geom_polygonClosed(coordinates) {\n var a = coordinates[0], b = coordinates[coordinates.length - 1];\n return !(a[0] - b[0] || a[1] - b[1]);\n }\n var d3_geom_voronoiEdges, d3_geom_voronoiCells, d3_geom_voronoiBeaches, d3_geom_voronoiBeachPool = [], d3_geom_voronoiFirstCircle, d3_geom_voronoiCircles, d3_geom_voronoiCirclePool = [];\n function d3_geom_voronoiBeach() {\n d3_geom_voronoiRedBlackNode(this);\n this.edge = this.site = this.circle = null;\n }\n function d3_geom_voronoiCreateBeach(site) {\n var beach = d3_geom_voronoiBeachPool.pop() || new d3_geom_voronoiBeach();\n beach.site = site;\n return beach;\n }\n function d3_geom_voronoiDetachBeach(beach) {\n d3_geom_voronoiDetachCircle(beach);\n d3_geom_voronoiBeaches.remove(beach);\n d3_geom_voronoiBeachPool.push(beach);\n d3_geom_voronoiRedBlackNode(beach);\n }\n function d3_geom_voronoiRemoveBeach(beach) {\n var circle = beach.circle, x = circle.x, y = circle.cy, vertex = {\n x: x,\n y: y\n }, previous = beach.P, next = beach.N, disappearing = [ beach ];\n d3_geom_voronoiDetachBeach(beach);\n var lArc = previous;\n while (lArc.circle && abs(x - lArc.circle.x) < ε && abs(y - lArc.circle.cy) < ε) {\n previous = lArc.P;\n disappearing.unshift(lArc);\n d3_geom_voronoiDetachBeach(lArc);\n lArc = previous;\n }\n disappearing.unshift(lArc);\n d3_geom_voronoiDetachCircle(lArc);\n var rArc = next;\n while (rArc.circle && abs(x - rArc.circle.x) < ε && abs(y - rArc.circle.cy) < ε) {\n next = rArc.N;\n disappearing.push(rArc);\n d3_geom_voronoiDetachBeach(rArc);\n rArc = next;\n }\n disappearing.push(rArc);\n d3_geom_voronoiDetachCircle(rArc);\n var nArcs = disappearing.length, iArc;\n for (iArc = 1; iArc < nArcs; ++iArc) {\n rArc = disappearing[iArc];\n lArc = disappearing[iArc - 1];\n d3_geom_voronoiSetEdgeEnd(rArc.edge, lArc.site, rArc.site, vertex);\n }\n lArc = disappearing[0];\n rArc = disappearing[nArcs - 1];\n rArc.edge = d3_geom_voronoiCreateEdge(lArc.site, rArc.site, null, vertex);\n d3_geom_voronoiAttachCircle(lArc);\n d3_geom_voronoiAttachCircle(rArc);\n }\n function d3_geom_voronoiAddBeach(site) {\n var x = site.x, directrix = site.y, lArc, rArc, dxl, dxr, node = d3_geom_voronoiBeaches._;\n while (node) {\n dxl = d3_geom_voronoiLeftBreakPoint(node, directrix) - x;\n if (dxl > ε) node = node.L; else {\n dxr = x - d3_geom_voronoiRightBreakPoint(node, directrix);\n if (dxr > ε) {\n if (!node.R) {\n lArc = node;\n break;\n }\n node = node.R;\n } else {\n if (dxl > -ε) {\n lArc = node.P;\n rArc = node;\n } else if (dxr > -ε) {\n lArc = node;\n rArc = node.N;\n } else {\n lArc = rArc = node;\n }\n break;\n }\n }\n }\n var newArc = d3_geom_voronoiCreateBeach(site);\n d3_geom_voronoiBeaches.insert(lArc, newArc);\n if (!lArc && !rArc) return;\n if (lArc === rArc) {\n d3_geom_voronoiDetachCircle(lArc);\n rArc = d3_geom_voronoiCreateBeach(lArc.site);\n d3_geom_voronoiBeaches.insert(newArc, rArc);\n newArc.edge = rArc.edge = d3_geom_voronoiCreateEdge(lArc.site, newArc.site);\n d3_geom_voronoiAttachCircle(lArc);\n d3_geom_voronoiAttachCircle(rArc);\n return;\n }\n if (!rArc) {\n newArc.edge = d3_geom_voronoiCreateEdge(lArc.site, newArc.site);\n return;\n }\n d3_geom_voronoiDetachCircle(lArc);\n d3_geom_voronoiDetachCircle(rArc);\n var lSite = lArc.site, ax = lSite.x, ay = lSite.y, bx = site.x - ax, by = site.y - ay, rSite = rArc.site, cx = rSite.x - ax, cy = rSite.y - ay, d = 2 * (bx * cy - by * cx), hb = bx * bx + by * by, hc = cx * cx + cy * cy, vertex = {\n x: (cy * hb - by * hc) / d + ax,\n y: (bx * hc - cx * hb) / d + ay\n };\n d3_geom_voronoiSetEdgeEnd(rArc.edge, lSite, rSite, vertex);\n newArc.edge = d3_geom_voronoiCreateEdge(lSite, site, null, vertex);\n rArc.edge = d3_geom_voronoiCreateEdge(site, rSite, null, vertex);\n d3_geom_voronoiAttachCircle(lArc);\n d3_geom_voronoiAttachCircle(rArc);\n }\n function d3_geom_voronoiLeftBreakPoint(arc, directrix) {\n var site = arc.site, rfocx = site.x, rfocy = site.y, pby2 = rfocy - directrix;\n if (!pby2) return rfocx;\n var lArc = arc.P;\n if (!lArc) return -Infinity;\n site = lArc.site;\n var lfocx = site.x, lfocy = site.y, plby2 = lfocy - directrix;\n if (!plby2) return lfocx;\n var hl = lfocx - rfocx, aby2 = 1 / pby2 - 1 / plby2, b = hl / plby2;\n if (aby2) return (-b + Math.sqrt(b * b - 2 * aby2 * (hl * hl / (-2 * plby2) - lfocy + plby2 / 2 + rfocy - pby2 / 2))) / aby2 + rfocx;\n return (rfocx + lfocx) / 2;\n }\n function d3_geom_voronoiRightBreakPoint(arc, directrix) {\n var rArc = arc.N;\n if (rArc) return d3_geom_voronoiLeftBreakPoint(rArc, directrix);\n var site = arc.site;\n return site.y === directrix ? site.x : Infinity;\n }\n function d3_geom_voronoiCell(site) {\n this.site = site;\n this.edges = [];\n }\n d3_geom_voronoiCell.prototype.prepare = function() {\n var halfEdges = this.edges, iHalfEdge = halfEdges.length, edge;\n while (iHalfEdge--) {\n edge = halfEdges[iHalfEdge].edge;\n if (!edge.b || !edge.a) halfEdges.splice(iHalfEdge, 1);\n }\n halfEdges.sort(d3_geom_voronoiHalfEdgeOrder);\n return halfEdges.length;\n };\n function d3_geom_voronoiCloseCells(extent) {\n var x0 = extent[0][0], x1 = extent[1][0], y0 = extent[0][1], y1 = extent[1][1], x2, y2, x3, y3, cells = d3_geom_voronoiCells, iCell = cells.length, cell, iHalfEdge, halfEdges, nHalfEdges, start, end;\n while (iCell--) {\n cell = cells[iCell];\n if (!cell || !cell.prepare()) continue;\n halfEdges = cell.edges;\n nHalfEdges = halfEdges.length;\n iHalfEdge = 0;\n while (iHalfEdge < nHalfEdges) {\n end = halfEdges[iHalfEdge].end(), x3 = end.x, y3 = end.y;\n start = halfEdges[++iHalfEdge % nHalfEdges].start(), x2 = start.x, y2 = start.y;\n if (abs(x3 - x2) > ε || abs(y3 - y2) > ε) {\n halfEdges.splice(iHalfEdge, 0, new d3_geom_voronoiHalfEdge(d3_geom_voronoiCreateBorderEdge(cell.site, end, abs(x3 - x0) < ε && y1 - y3 > ε ? {\n x: x0,\n y: abs(x2 - x0) < ε ? y2 : y1\n } : abs(y3 - y1) < ε && x1 - x3 > ε ? {\n x: abs(y2 - y1) < ε ? x2 : x1,\n y: y1\n } : abs(x3 - x1) < ε && y3 - y0 > ε ? {\n x: x1,\n y: abs(x2 - x1) < ε ? y2 : y0\n } : abs(y3 - y0) < ε && x3 - x0 > ε ? {\n x: abs(y2 - y0) < ε ? x2 : x0,\n y: y0\n } : null), cell.site, null));\n ++nHalfEdges;\n }\n }\n }\n }\n function d3_geom_voronoiHalfEdgeOrder(a, b) {\n return b.angle - a.angle;\n }\n function d3_geom_voronoiCircle() {\n d3_geom_voronoiRedBlackNode(this);\n this.x = this.y = this.arc = this.site = this.cy = null;\n }\n function d3_geom_voronoiAttachCircle(arc) {\n var lArc = arc.P, rArc = arc.N;\n if (!lArc || !rArc) return;\n var lSite = lArc.site, cSite = arc.site, rSite = rArc.site;\n if (lSite === rSite) return;\n var bx = cSite.x, by = cSite.y, ax = lSite.x - bx, ay = lSite.y - by, cx = rSite.x - bx, cy = rSite.y - by;\n var d = 2 * (ax * cy - ay * cx);\n if (d >= -ε2) return;\n var ha = ax * ax + ay * ay, hc = cx * cx + cy * cy, x = (cy * ha - ay * hc) / d, y = (ax * hc - cx * ha) / d, cy = y + by;\n var circle = d3_geom_voronoiCirclePool.pop() || new d3_geom_voronoiCircle();\n circle.arc = arc;\n circle.site = cSite;\n circle.x = x + bx;\n circle.y = cy + Math.sqrt(x * x + y * y);\n circle.cy = cy;\n arc.circle = circle;\n var before = null, node = d3_geom_voronoiCircles._;\n while (node) {\n if (circle.y < node.y || circle.y === node.y && circle.x <= node.x) {\n if (node.L) node = node.L; else {\n before = node.P;\n break;\n }\n } else {\n if (node.R) node = node.R; else {\n before = node;\n break;\n }\n }\n }\n d3_geom_voronoiCircles.insert(before, circle);\n if (!before) d3_geom_voronoiFirstCircle = circle;\n }\n function d3_geom_voronoiDetachCircle(arc) {\n var circle = arc.circle;\n if (circle) {\n if (!circle.P) d3_geom_voronoiFirstCircle = circle.N;\n d3_geom_voronoiCircles.remove(circle);\n d3_geom_voronoiCirclePool.push(circle);\n d3_geom_voronoiRedBlackNode(circle);\n arc.circle = null;\n }\n }\n function d3_geom_voronoiClipEdges(extent) {\n var edges = d3_geom_voronoiEdges, clip = d3_geom_clipLine(extent[0][0], extent[0][1], extent[1][0], extent[1][1]), i = edges.length, e;\n while (i--) {\n e = edges[i];\n if (!d3_geom_voronoiConnectEdge(e, extent) || !clip(e) || abs(e.a.x - e.b.x) < ε && abs(e.a.y - e.b.y) < ε) {\n e.a = e.b = null;\n edges.splice(i, 1);\n }\n }\n }\n function d3_geom_voronoiConnectEdge(edge, extent) {\n var vb = edge.b;\n if (vb) return true;\n var va = edge.a, x0 = extent[0][0], x1 = extent[1][0], y0 = extent[0][1], y1 = extent[1][1], lSite = edge.l, rSite = edge.r, lx = lSite.x, ly = lSite.y, rx = rSite.x, ry = rSite.y, fx = (lx + rx) / 2, fy = (ly + ry) / 2, fm, fb;\n if (ry === ly) {\n if (fx < x0 || fx >= x1) return;\n if (lx > rx) {\n if (!va) va = {\n x: fx,\n y: y0\n }; else if (va.y >= y1) return;\n vb = {\n x: fx,\n y: y1\n };\n } else {\n if (!va) va = {\n x: fx,\n y: y1\n }; else if (va.y < y0) return;\n vb = {\n x: fx,\n y: y0\n };\n }\n } else {\n fm = (lx - rx) / (ry - ly);\n fb = fy - fm * fx;\n if (fm < -1 || fm > 1) {\n if (lx > rx) {\n if (!va) va = {\n x: (y0 - fb) / fm,\n y: y0\n }; else if (va.y >= y1) return;\n vb = {\n x: (y1 - fb) / fm,\n y: y1\n };\n } else {\n if (!va) va = {\n x: (y1 - fb) / fm,\n y: y1\n }; else if (va.y < y0) return;\n vb = {\n x: (y0 - fb) / fm,\n y: y0\n };\n }\n } else {\n if (ly < ry) {\n if (!va) va = {\n x: x0,\n y: fm * x0 + fb\n }; else if (va.x >= x1) return;\n vb = {\n x: x1,\n y: fm * x1 + fb\n };\n } else {\n if (!va) va = {\n x: x1,\n y: fm * x1 + fb\n }; else if (va.x < x0) return;\n vb = {\n x: x0,\n y: fm * x0 + fb\n };\n }\n }\n }\n edge.a = va;\n edge.b = vb;\n return true;\n }\n function d3_geom_voronoiEdge(lSite, rSite) {\n this.l = lSite;\n this.r = rSite;\n this.a = this.b = null;\n }\n function d3_geom_voronoiCreateEdge(lSite, rSite, va, vb) {\n var edge = new d3_geom_voronoiEdge(lSite, rSite);\n d3_geom_voronoiEdges.push(edge);\n if (va) d3_geom_voronoiSetEdgeEnd(edge, lSite, rSite, va);\n if (vb) d3_geom_voronoiSetEdgeEnd(edge, rSite, lSite, vb);\n d3_geom_voronoiCells[lSite.i].edges.push(new d3_geom_voronoiHalfEdge(edge, lSite, rSite));\n d3_geom_voronoiCells[rSite.i].edges.push(new d3_geom_voronoiHalfEdge(edge, rSite, lSite));\n return edge;\n }\n function d3_geom_voronoiCreateBorderEdge(lSite, va, vb) {\n var edge = new d3_geom_voronoiEdge(lSite, null);\n edge.a = va;\n edge.b = vb;\n d3_geom_voronoiEdges.push(edge);\n return edge;\n }\n function d3_geom_voronoiSetEdgeEnd(edge, lSite, rSite, vertex) {\n if (!edge.a && !edge.b) {\n edge.a = vertex;\n edge.l = lSite;\n edge.r = rSite;\n } else if (edge.l === rSite) {\n edge.b = vertex;\n } else {\n edge.a = vertex;\n }\n }\n function d3_geom_voronoiHalfEdge(edge, lSite, rSite) {\n var va = edge.a, vb = edge.b;\n this.edge = edge;\n this.site = lSite;\n this.angle = rSite ? Math.atan2(rSite.y - lSite.y, rSite.x - lSite.x) : edge.l === lSite ? Math.atan2(vb.x - va.x, va.y - vb.y) : Math.atan2(va.x - vb.x, vb.y - va.y);\n }\n d3_geom_voronoiHalfEdge.prototype = {\n start: function() {\n return this.edge.l === this.site ? this.edge.a : this.edge.b;\n },\n end: function() {\n return this.edge.l === this.site ? this.edge.b : this.edge.a;\n }\n };\n function d3_geom_voronoiRedBlackTree() {\n this._ = null;\n }\n function d3_geom_voronoiRedBlackNode(node) {\n node.U = node.C = node.L = node.R = node.P = node.N = null;\n }\n d3_geom_voronoiRedBlackTree.prototype = {\n insert: function(after, node) {\n var parent, grandpa, uncle;\n if (after) {\n node.P = after;\n node.N = after.N;\n if (after.N) after.N.P = node;\n after.N = node;\n if (after.R) {\n after = after.R;\n while (after.L) after = after.L;\n after.L = node;\n } else {\n after.R = node;\n }\n parent = after;\n } else if (this._) {\n after = d3_geom_voronoiRedBlackFirst(this._);\n node.P = null;\n node.N = after;\n after.P = after.L = node;\n parent = after;\n } else {\n node.P = node.N = null;\n this._ = node;\n parent = null;\n }\n node.L = node.R = null;\n node.U = parent;\n node.C = true;\n after = node;\n while (parent && parent.C) {\n grandpa = parent.U;\n if (parent === grandpa.L) {\n uncle = grandpa.R;\n if (uncle && uncle.C) {\n parent.C = uncle.C = false;\n grandpa.C = true;\n after = grandpa;\n } else {\n if (after === parent.R) {\n d3_geom_voronoiRedBlackRotateLeft(this, parent);\n after = parent;\n parent = after.U;\n }\n parent.C = false;\n grandpa.C = true;\n d3_geom_voronoiRedBlackRotateRight(this, grandpa);\n }\n } else {\n uncle = grandpa.L;\n if (uncle && uncle.C) {\n parent.C = uncle.C = false;\n grandpa.C = true;\n after = grandpa;\n } else {\n if (after === parent.L) {\n d3_geom_voronoiRedBlackRotateRight(this, parent);\n after = parent;\n parent = after.U;\n }\n parent.C = false;\n grandpa.C = true;\n d3_geom_voronoiRedBlackRotateLeft(this, grandpa);\n }\n }\n parent = after.U;\n }\n this._.C = false;\n },\n remove: function(node) {\n if (node.N) node.N.P = node.P;\n if (node.P) node.P.N = node.N;\n node.N = node.P = null;\n var parent = node.U, sibling, left = node.L, right = node.R, next, red;\n if (!left) next = right; else if (!right) next = left; else next = d3_geom_voronoiRedBlackFirst(right);\n if (parent) {\n if (parent.L === node) parent.L = next; else parent.R = next;\n } else {\n this._ = next;\n }\n if (left && right) {\n red = next.C;\n next.C = node.C;\n next.L = left;\n left.U = next;\n if (next !== right) {\n parent = next.U;\n next.U = node.U;\n node = next.R;\n parent.L = node;\n next.R = right;\n right.U = next;\n } else {\n next.U = parent;\n parent = next;\n node = next.R;\n }\n } else {\n red = node.C;\n node = next;\n }\n if (node) node.U = parent;\n if (red) return;\n if (node && node.C) {\n node.C = false;\n return;\n }\n do {\n if (node === this._) break;\n if (node === parent.L) {\n sibling = parent.R;\n if (sibling.C) {\n sibling.C = false;\n parent.C = true;\n d3_geom_voronoiRedBlackRotateLeft(this, parent);\n sibling = parent.R;\n }\n if (sibling.L && sibling.L.C || sibling.R && sibling.R.C) {\n if (!sibling.R || !sibling.R.C) {\n sibling.L.C = false;\n sibling.C = true;\n d3_geom_voronoiRedBlackRotateRight(this, sibling);\n sibling = parent.R;\n }\n sibling.C = parent.C;\n parent.C = sibling.R.C = false;\n d3_geom_voronoiRedBlackRotateLeft(this, parent);\n node = this._;\n break;\n }\n } else {\n sibling = parent.L;\n if (sibling.C) {\n sibling.C = false;\n parent.C = true;\n d3_geom_voronoiRedBlackRotateRight(this, parent);\n sibling = parent.L;\n }\n if (sibling.L && sibling.L.C || sibling.R && sibling.R.C) {\n if (!sibling.L || !sibling.L.C) {\n sibling.R.C = false;\n sibling.C = true;\n d3_geom_voronoiRedBlackRotateLeft(this, sibling);\n sibling = parent.L;\n }\n sibling.C = parent.C;\n parent.C = sibling.L.C = false;\n d3_geom_voronoiRedBlackRotateRight(this, parent);\n node = this._;\n break;\n }\n }\n sibling.C = true;\n node = parent;\n parent = parent.U;\n } while (!node.C);\n if (node) node.C = false;\n }\n };\n function d3_geom_voronoiRedBlackRotateLeft(tree, node) {\n var p = node, q = node.R, parent = p.U;\n if (parent) {\n if (parent.L === p) parent.L = q; else parent.R = q;\n } else {\n tree._ = q;\n }\n q.U = parent;\n p.U = q;\n p.R = q.L;\n if (p.R) p.R.U = p;\n q.L = p;\n }\n function d3_geom_voronoiRedBlackRotateRight(tree, node) {\n var p = node, q = node.L, parent = p.U;\n if (parent) {\n if (parent.L === p) parent.L = q; else parent.R = q;\n } else {\n tree._ = q;\n }\n q.U = parent;\n p.U = q;\n p.L = q.R;\n if (p.L) p.L.U = p;\n q.R = p;\n }\n function d3_geom_voronoiRedBlackFirst(node) {\n while (node.L) node = node.L;\n return node;\n }\n function d3_geom_voronoi(sites, bbox) {\n var site = sites.sort(d3_geom_voronoiVertexOrder).pop(), x0, y0, circle;\n d3_geom_voronoiEdges = [];\n d3_geom_voronoiCells = new Array(sites.length);\n d3_geom_voronoiBeaches = new d3_geom_voronoiRedBlackTree();\n d3_geom_voronoiCircles = new d3_geom_voronoiRedBlackTree();\n while (true) {\n circle = d3_geom_voronoiFirstCircle;\n if (site && (!circle || site.y < circle.y || site.y === circle.y && site.x < circle.x)) {\n if (site.x !== x0 || site.y !== y0) {\n d3_geom_voronoiCells[site.i] = new d3_geom_voronoiCell(site);\n d3_geom_voronoiAddBeach(site);\n x0 = site.x, y0 = site.y;\n }\n site = sites.pop();\n } else if (circle) {\n d3_geom_voronoiRemoveBeach(circle.arc);\n } else {\n break;\n }\n }\n if (bbox) d3_geom_voronoiClipEdges(bbox), d3_geom_voronoiCloseCells(bbox);\n var diagram = {\n cells: d3_geom_voronoiCells,\n edges: d3_geom_voronoiEdges\n };\n d3_geom_voronoiBeaches = d3_geom_voronoiCircles = d3_geom_voronoiEdges = d3_geom_voronoiCells = null;\n return diagram;\n }\n function d3_geom_voronoiVertexOrder(a, b) {\n return b.y - a.y || b.x - a.x;\n }\n d3.geom.voronoi = function(points) {\n var x = d3_geom_pointX, y = d3_geom_pointY, fx = x, fy = y, clipExtent = d3_geom_voronoiClipExtent;\n if (points) return voronoi(points);\n function voronoi(data) {\n var polygons = new Array(data.length), x0 = clipExtent[0][0], y0 = clipExtent[0][1], x1 = clipExtent[1][0], y1 = clipExtent[1][1];\n d3_geom_voronoi(sites(data), clipExtent).cells.forEach(function(cell, i) {\n var edges = cell.edges, site = cell.site, polygon = polygons[i] = edges.length ? edges.map(function(e) {\n var s = e.start();\n return [ s.x, s.y ];\n }) : site.x >= x0 && site.x <= x1 && site.y >= y0 && site.y <= y1 ? [ [ x0, y1 ], [ x1, y1 ], [ x1, y0 ], [ x0, y0 ] ] : [];\n polygon.point = data[i];\n });\n return polygons;\n }\n function sites(data) {\n return data.map(function(d, i) {\n return {\n x: Math.round(fx(d, i) / ε) * ε,\n y: Math.round(fy(d, i) / ε) * ε,\n i: i\n };\n });\n }\n voronoi.links = function(data) {\n return d3_geom_voronoi(sites(data)).edges.filter(function(edge) {\n return edge.l && edge.r;\n }).map(function(edge) {\n return {\n source: data[edge.l.i],\n target: data[edge.r.i]\n };\n });\n };\n voronoi.triangles = function(data) {\n var triangles = [];\n d3_geom_voronoi(sites(data)).cells.forEach(function(cell, i) {\n var site = cell.site, edges = cell.edges.sort(d3_geom_voronoiHalfEdgeOrder), j = -1, m = edges.length, e0, s0, e1 = edges[m - 1].edge, s1 = e1.l === site ? e1.r : e1.l;\n while (++j < m) {\n e0 = e1;\n s0 = s1;\n e1 = edges[j].edge;\n s1 = e1.l === site ? e1.r : e1.l;\n if (i < s0.i && i < s1.i && d3_geom_voronoiTriangleArea(site, s0, s1) < 0) {\n triangles.push([ data[i], data[s0.i], data[s1.i] ]);\n }\n }\n });\n return triangles;\n };\n voronoi.x = function(_) {\n return arguments.length ? (fx = d3_functor(x = _), voronoi) : x;\n };\n voronoi.y = function(_) {\n return arguments.length ? (fy = d3_functor(y = _), voronoi) : y;\n };\n voronoi.clipExtent = function(_) {\n if (!arguments.length) return clipExtent === d3_geom_voronoiClipExtent ? null : clipExtent;\n clipExtent = _ == null ? d3_geom_voronoiClipExtent : _;\n return voronoi;\n };\n voronoi.size = function(_) {\n if (!arguments.length) return clipExtent === d3_geom_voronoiClipExtent ? null : clipExtent && clipExtent[1];\n return voronoi.clipExtent(_ && [ [ 0, 0 ], _ ]);\n };\n return voronoi;\n };\n var d3_geom_voronoiClipExtent = [ [ -1e6, -1e6 ], [ 1e6, 1e6 ] ];\n function d3_geom_voronoiTriangleArea(a, b, c) {\n return (a.x - c.x) * (b.y - a.y) - (a.x - b.x) * (c.y - a.y);\n }\n d3.geom.delaunay = function(vertices) {\n return d3.geom.voronoi().triangles(vertices);\n };\n d3.geom.quadtree = function(points, x1, y1, x2, y2) {\n var x = d3_geom_pointX, y = d3_geom_pointY, compat;\n if (compat = arguments.length) {\n x = d3_geom_quadtreeCompatX;\n y = d3_geom_quadtreeCompatY;\n if (compat === 3) {\n y2 = y1;\n x2 = x1;\n y1 = x1 = 0;\n }\n return quadtree(points);\n }\n function quadtree(data) {\n var d, fx = d3_functor(x), fy = d3_functor(y), xs, ys, i, n, x1_, y1_, x2_, y2_;\n if (x1 != null) {\n x1_ = x1, y1_ = y1, x2_ = x2, y2_ = y2;\n } else {\n x2_ = y2_ = -(x1_ = y1_ = Infinity);\n xs = [], ys = [];\n n = data.length;\n if (compat) for (i = 0; i < n; ++i) {\n d = data[i];\n if (d.x < x1_) x1_ = d.x;\n if (d.y < y1_) y1_ = d.y;\n if (d.x > x2_) x2_ = d.x;\n if (d.y > y2_) y2_ = d.y;\n xs.push(d.x);\n ys.push(d.y);\n } else for (i = 0; i < n; ++i) {\n var x_ = +fx(d = data[i], i), y_ = +fy(d, i);\n if (x_ < x1_) x1_ = x_;\n if (y_ < y1_) y1_ = y_;\n if (x_ > x2_) x2_ = x_;\n if (y_ > y2_) y2_ = y_;\n xs.push(x_);\n ys.push(y_);\n }\n }\n var dx = x2_ - x1_, dy = y2_ - y1_;\n if (dx > dy) y2_ = y1_ + dx; else x2_ = x1_ + dy;\n function insert(n, d, x, y, x1, y1, x2, y2) {\n if (isNaN(x) || isNaN(y)) return;\n if (n.leaf) {\n var nx = n.x, ny = n.y;\n if (nx != null) {\n if (abs(nx - x) + abs(ny - y) < .01) {\n insertChild(n, d, x, y, x1, y1, x2, y2);\n } else {\n var nPoint = n.point;\n n.x = n.y = n.point = null;\n insertChild(n, nPoint, nx, ny, x1, y1, x2, y2);\n insertChild(n, d, x, y, x1, y1, x2, y2);\n }\n } else {\n n.x = x, n.y = y, n.point = d;\n }\n } else {\n insertChild(n, d, x, y, x1, y1, x2, y2);\n }\n }\n function insertChild(n, d, x, y, x1, y1, x2, y2) {\n var xm = (x1 + x2) * .5, ym = (y1 + y2) * .5, right = x >= xm, below = y >= ym, i = below << 1 | right;\n n.leaf = false;\n n = n.nodes[i] || (n.nodes[i] = d3_geom_quadtreeNode());\n if (right) x1 = xm; else x2 = xm;\n if (below) y1 = ym; else y2 = ym;\n insert(n, d, x, y, x1, y1, x2, y2);\n }\n var root = d3_geom_quadtreeNode();\n root.add = function(d) {\n insert(root, d, +fx(d, ++i), +fy(d, i), x1_, y1_, x2_, y2_);\n };\n root.visit = function(f) {\n d3_geom_quadtreeVisit(f, root, x1_, y1_, x2_, y2_);\n };\n root.find = function(point) {\n return d3_geom_quadtreeFind(root, point[0], point[1], x1_, y1_, x2_, y2_);\n };\n i = -1;\n if (x1 == null) {\n while (++i < n) {\n insert(root, data[i], xs[i], ys[i], x1_, y1_, x2_, y2_);\n }\n --i;\n } else data.forEach(root.add);\n xs = ys = data = d = null;\n return root;\n }\n quadtree.x = function(_) {\n return arguments.length ? (x = _, quadtree) : x;\n };\n quadtree.y = function(_) {\n return arguments.length ? (y = _, quadtree) : y;\n };\n quadtree.extent = function(_) {\n if (!arguments.length) return x1 == null ? null : [ [ x1, y1 ], [ x2, y2 ] ];\n if (_ == null) x1 = y1 = x2 = y2 = null; else x1 = +_[0][0], y1 = +_[0][1], x2 = +_[1][0], \n y2 = +_[1][1];\n return quadtree;\n };\n quadtree.size = function(_) {\n if (!arguments.length) return x1 == null ? null : [ x2 - x1, y2 - y1 ];\n if (_ == null) x1 = y1 = x2 = y2 = null; else x1 = y1 = 0, x2 = +_[0], y2 = +_[1];\n return quadtree;\n };\n return quadtree;\n };\n function d3_geom_quadtreeCompatX(d) {\n return d.x;\n }\n function d3_geom_quadtreeCompatY(d) {\n return d.y;\n }\n function d3_geom_quadtreeNode() {\n return {\n leaf: true,\n nodes: [],\n point: null,\n x: null,\n y: null\n };\n }\n function d3_geom_quadtreeVisit(f, node, x1, y1, x2, y2) {\n if (!f(node, x1, y1, x2, y2)) {\n var sx = (x1 + x2) * .5, sy = (y1 + y2) * .5, children = node.nodes;\n if (children[0]) d3_geom_quadtreeVisit(f, children[0], x1, y1, sx, sy);\n if (children[1]) d3_geom_quadtreeVisit(f, children[1], sx, y1, x2, sy);\n if (children[2]) d3_geom_quadtreeVisit(f, children[2], x1, sy, sx, y2);\n if (children[3]) d3_geom_quadtreeVisit(f, children[3], sx, sy, x2, y2);\n }\n }\n function d3_geom_quadtreeFind(root, x, y, x0, y0, x3, y3) {\n var minDistance2 = Infinity, closestPoint;\n (function find(node, x1, y1, x2, y2) {\n if (x1 > x3 || y1 > y3 || x2 < x0 || y2 < y0) return;\n if (point = node.point) {\n var point, dx = x - node.x, dy = y - node.y, distance2 = dx * dx + dy * dy;\n if (distance2 < minDistance2) {\n var distance = Math.sqrt(minDistance2 = distance2);\n x0 = x - distance, y0 = y - distance;\n x3 = x + distance, y3 = y + distance;\n closestPoint = point;\n }\n }\n var children = node.nodes, xm = (x1 + x2) * .5, ym = (y1 + y2) * .5, right = x >= xm, below = y >= ym;\n for (var i = below << 1 | right, j = i + 4; i < j; ++i) {\n if (node = children[i & 3]) switch (i & 3) {\n case 0:\n find(node, x1, y1, xm, ym);\n break;\n\n case 1:\n find(node, xm, y1, x2, ym);\n break;\n\n case 2:\n find(node, x1, ym, xm, y2);\n break;\n\n case 3:\n find(node, xm, ym, x2, y2);\n break;\n }\n }\n })(root, x0, y0, x3, y3);\n return closestPoint;\n }\n d3.interpolateRgb = d3_interpolateRgb;\n function d3_interpolateRgb(a, b) {\n a = d3.rgb(a);\n b = d3.rgb(b);\n var ar = a.r, ag = a.g, ab = a.b, br = b.r - ar, bg = b.g - ag, bb = b.b - ab;\n return function(t) {\n return \"#\" + d3_rgb_hex(Math.round(ar + br * t)) + d3_rgb_hex(Math.round(ag + bg * t)) + d3_rgb_hex(Math.round(ab + bb * t));\n };\n }\n d3.interpolateObject = d3_interpolateObject;\n function d3_interpolateObject(a, b) {\n var i = {}, c = {}, k;\n for (k in a) {\n if (k in b) {\n i[k] = d3_interpolate(a[k], b[k]);\n } else {\n c[k] = a[k];\n }\n }\n for (k in b) {\n if (!(k in a)) {\n c[k] = b[k];\n }\n }\n return function(t) {\n for (k in i) c[k] = i[k](t);\n return c;\n };\n }\n d3.interpolateNumber = d3_interpolateNumber;\n function d3_interpolateNumber(a, b) {\n a = +a, b = +b;\n return function(t) {\n return a * (1 - t) + b * t;\n };\n }\n d3.interpolateString = d3_interpolateString;\n function d3_interpolateString(a, b) {\n var bi = d3_interpolate_numberA.lastIndex = d3_interpolate_numberB.lastIndex = 0, am, bm, bs, i = -1, s = [], q = [];\n a = a + \"\", b = b + \"\";\n while ((am = d3_interpolate_numberA.exec(a)) && (bm = d3_interpolate_numberB.exec(b))) {\n if ((bs = bm.index) > bi) {\n bs = b.slice(bi, bs);\n if (s[i]) s[i] += bs; else s[++i] = bs;\n }\n if ((am = am[0]) === (bm = bm[0])) {\n if (s[i]) s[i] += bm; else s[++i] = bm;\n } else {\n s[++i] = null;\n q.push({\n i: i,\n x: d3_interpolateNumber(am, bm)\n });\n }\n bi = d3_interpolate_numberB.lastIndex;\n }\n if (bi < b.length) {\n bs = b.slice(bi);\n if (s[i]) s[i] += bs; else s[++i] = bs;\n }\n return s.length < 2 ? q[0] ? (b = q[0].x, function(t) {\n return b(t) + \"\";\n }) : function() {\n return b;\n } : (b = q.length, function(t) {\n for (var i = 0, o; i < b; ++i) s[(o = q[i]).i] = o.x(t);\n return s.join(\"\");\n });\n }\n var d3_interpolate_numberA = /[-+]?(?:\\d+\\.?\\d*|\\.?\\d+)(?:[eE][-+]?\\d+)?/g, d3_interpolate_numberB = new RegExp(d3_interpolate_numberA.source, \"g\");\n d3.interpolate = d3_interpolate;\n function d3_interpolate(a, b) {\n var i = d3.interpolators.length, f;\n while (--i >= 0 && !(f = d3.interpolators[i](a, b))) ;\n return f;\n }\n d3.interpolators = [ function(a, b) {\n var t = typeof b;\n return (t === \"string\" ? d3_rgb_names.has(b.toLowerCase()) || /^(#|rgb\\(|hsl\\()/i.test(b) ? d3_interpolateRgb : d3_interpolateString : b instanceof d3_color ? d3_interpolateRgb : Array.isArray(b) ? d3_interpolateArray : t === \"object\" && isNaN(b) ? d3_interpolateObject : d3_interpolateNumber)(a, b);\n } ];\n d3.interpolateArray = d3_interpolateArray;\n function d3_interpolateArray(a, b) {\n var x = [], c = [], na = a.length, nb = b.length, n0 = Math.min(a.length, b.length), i;\n for (i = 0; i < n0; ++i) x.push(d3_interpolate(a[i], b[i]));\n for (;i < na; ++i) c[i] = a[i];\n for (;i < nb; ++i) c[i] = b[i];\n return function(t) {\n for (i = 0; i < n0; ++i) c[i] = x[i](t);\n return c;\n };\n }\n var d3_ease_default = function() {\n return d3_identity;\n };\n var d3_ease = d3.map({\n linear: d3_ease_default,\n poly: d3_ease_poly,\n quad: function() {\n return d3_ease_quad;\n },\n cubic: function() {\n return d3_ease_cubic;\n },\n sin: function() {\n return d3_ease_sin;\n },\n exp: function() {\n return d3_ease_exp;\n },\n circle: function() {\n return d3_ease_circle;\n },\n elastic: d3_ease_elastic,\n back: d3_ease_back,\n bounce: function() {\n return d3_ease_bounce;\n }\n });\n var d3_ease_mode = d3.map({\n \"in\": d3_identity,\n out: d3_ease_reverse,\n \"in-out\": d3_ease_reflect,\n \"out-in\": function(f) {\n return d3_ease_reflect(d3_ease_reverse(f));\n }\n });\n d3.ease = function(name) {\n var i = name.indexOf(\"-\"), t = i >= 0 ? name.slice(0, i) : name, m = i >= 0 ? name.slice(i + 1) : \"in\";\n t = d3_ease.get(t) || d3_ease_default;\n m = d3_ease_mode.get(m) || d3_identity;\n return d3_ease_clamp(m(t.apply(null, d3_arraySlice.call(arguments, 1))));\n };\n function d3_ease_clamp(f) {\n return function(t) {\n return t <= 0 ? 0 : t >= 1 ? 1 : f(t);\n };\n }\n function d3_ease_reverse(f) {\n return function(t) {\n return 1 - f(1 - t);\n };\n }\n function d3_ease_reflect(f) {\n return function(t) {\n return .5 * (t < .5 ? f(2 * t) : 2 - f(2 - 2 * t));\n };\n }\n function d3_ease_quad(t) {\n return t * t;\n }\n function d3_ease_cubic(t) {\n return t * t * t;\n }\n function d3_ease_cubicInOut(t) {\n if (t <= 0) return 0;\n if (t >= 1) return 1;\n var t2 = t * t, t3 = t2 * t;\n return 4 * (t < .5 ? t3 : 3 * (t - t2) + t3 - .75);\n }\n function d3_ease_poly(e) {\n return function(t) {\n return Math.pow(t, e);\n };\n }\n function d3_ease_sin(t) {\n return 1 - Math.cos(t * halfπ);\n }\n function d3_ease_exp(t) {\n return Math.pow(2, 10 * (t - 1));\n }\n function d3_ease_circle(t) {\n return 1 - Math.sqrt(1 - t * t);\n }\n function d3_ease_elastic(a, p) {\n var s;\n if (arguments.length < 2) p = .45;\n if (arguments.length) s = p / τ * Math.asin(1 / a); else a = 1, s = p / 4;\n return function(t) {\n return 1 + a * Math.pow(2, -10 * t) * Math.sin((t - s) * τ / p);\n };\n }\n function d3_ease_back(s) {\n if (!s) s = 1.70158;\n return function(t) {\n return t * t * ((s + 1) * t - s);\n };\n }\n function d3_ease_bounce(t) {\n return t < 1 / 2.75 ? 7.5625 * t * t : t < 2 / 2.75 ? 7.5625 * (t -= 1.5 / 2.75) * t + .75 : t < 2.5 / 2.75 ? 7.5625 * (t -= 2.25 / 2.75) * t + .9375 : 7.5625 * (t -= 2.625 / 2.75) * t + .984375;\n }\n d3.interpolateHcl = d3_interpolateHcl;\n function d3_interpolateHcl(a, b) {\n a = d3.hcl(a);\n b = d3.hcl(b);\n var ah = a.h, ac = a.c, al = a.l, bh = b.h - ah, bc = b.c - ac, bl = b.l - al;\n if (isNaN(bc)) bc = 0, ac = isNaN(ac) ? b.c : ac;\n if (isNaN(bh)) bh = 0, ah = isNaN(ah) ? b.h : ah; else if (bh > 180) bh -= 360; else if (bh < -180) bh += 360;\n return function(t) {\n return d3_hcl_lab(ah + bh * t, ac + bc * t, al + bl * t) + \"\";\n };\n }\n d3.interpolateHsl = d3_interpolateHsl;\n function d3_interpolateHsl(a, b) {\n a = d3.hsl(a);\n b = d3.hsl(b);\n var ah = a.h, as = a.s, al = a.l, bh = b.h - ah, bs = b.s - as, bl = b.l - al;\n if (isNaN(bs)) bs = 0, as = isNaN(as) ? b.s : as;\n if (isNaN(bh)) bh = 0, ah = isNaN(ah) ? b.h : ah; else if (bh > 180) bh -= 360; else if (bh < -180) bh += 360;\n return function(t) {\n return d3_hsl_rgb(ah + bh * t, as + bs * t, al + bl * t) + \"\";\n };\n }\n d3.interpolateLab = d3_interpolateLab;\n function d3_interpolateLab(a, b) {\n a = d3.lab(a);\n b = d3.lab(b);\n var al = a.l, aa = a.a, ab = a.b, bl = b.l - al, ba = b.a - aa, bb = b.b - ab;\n return function(t) {\n return d3_lab_rgb(al + bl * t, aa + ba * t, ab + bb * t) + \"\";\n };\n }\n d3.interpolateRound = d3_interpolateRound;\n function d3_interpolateRound(a, b) {\n b -= a;\n return function(t) {\n return Math.round(a + b * t);\n };\n }\n d3.transform = function(string) {\n var g = d3_document.createElementNS(d3.ns.prefix.svg, \"g\");\n return (d3.transform = function(string) {\n if (string != null) {\n g.setAttribute(\"transform\", string);\n var t = g.transform.baseVal.consolidate();\n }\n return new d3_transform(t ? t.matrix : d3_transformIdentity);\n })(string);\n };\n function d3_transform(m) {\n var r0 = [ m.a, m.b ], r1 = [ m.c, m.d ], kx = d3_transformNormalize(r0), kz = d3_transformDot(r0, r1), ky = d3_transformNormalize(d3_transformCombine(r1, r0, -kz)) || 0;\n if (r0[0] * r1[1] < r1[0] * r0[1]) {\n r0[0] *= -1;\n r0[1] *= -1;\n kx *= -1;\n kz *= -1;\n }\n this.rotate = (kx ? Math.atan2(r0[1], r0[0]) : Math.atan2(-r1[0], r1[1])) * d3_degrees;\n this.translate = [ m.e, m.f ];\n this.scale = [ kx, ky ];\n this.skew = ky ? Math.atan2(kz, ky) * d3_degrees : 0;\n }\n d3_transform.prototype.toString = function() {\n return \"translate(\" + this.translate + \")rotate(\" + this.rotate + \")skewX(\" + this.skew + \")scale(\" + this.scale + \")\";\n };\n function d3_transformDot(a, b) {\n return a[0] * b[0] + a[1] * b[1];\n }\n function d3_transformNormalize(a) {\n var k = Math.sqrt(d3_transformDot(a, a));\n if (k) {\n a[0] /= k;\n a[1] /= k;\n }\n return k;\n }\n function d3_transformCombine(a, b, k) {\n a[0] += k * b[0];\n a[1] += k * b[1];\n return a;\n }\n var d3_transformIdentity = {\n a: 1,\n b: 0,\n c: 0,\n d: 1,\n e: 0,\n f: 0\n };\n d3.interpolateTransform = d3_interpolateTransform;\n function d3_interpolateTransformPop(s) {\n return s.length ? s.pop() + \",\" : \"\";\n }\n function d3_interpolateTranslate(ta, tb, s, q) {\n if (ta[0] !== tb[0] || ta[1] !== tb[1]) {\n var i = s.push(\"translate(\", null, \",\", null, \")\");\n q.push({\n i: i - 4,\n x: d3_interpolateNumber(ta[0], tb[0])\n }, {\n i: i - 2,\n x: d3_interpolateNumber(ta[1], tb[1])\n });\n } else if (tb[0] || tb[1]) {\n s.push(\"translate(\" + tb + \")\");\n }\n }\n function d3_interpolateRotate(ra, rb, s, q) {\n if (ra !== rb) {\n if (ra - rb > 180) rb += 360; else if (rb - ra > 180) ra += 360;\n q.push({\n i: s.push(d3_interpolateTransformPop(s) + \"rotate(\", null, \")\") - 2,\n x: d3_interpolateNumber(ra, rb)\n });\n } else if (rb) {\n s.push(d3_interpolateTransformPop(s) + \"rotate(\" + rb + \")\");\n }\n }\n function d3_interpolateSkew(wa, wb, s, q) {\n if (wa !== wb) {\n q.push({\n i: s.push(d3_interpolateTransformPop(s) + \"skewX(\", null, \")\") - 2,\n x: d3_interpolateNumber(wa, wb)\n });\n } else if (wb) {\n s.push(d3_interpolateTransformPop(s) + \"skewX(\" + wb + \")\");\n }\n }\n function d3_interpolateScale(ka, kb, s, q) {\n if (ka[0] !== kb[0] || ka[1] !== kb[1]) {\n var i = s.push(d3_interpolateTransformPop(s) + \"scale(\", null, \",\", null, \")\");\n q.push({\n i: i - 4,\n x: d3_interpolateNumber(ka[0], kb[0])\n }, {\n i: i - 2,\n x: d3_interpolateNumber(ka[1], kb[1])\n });\n } else if (kb[0] !== 1 || kb[1] !== 1) {\n s.push(d3_interpolateTransformPop(s) + \"scale(\" + kb + \")\");\n }\n }\n function d3_interpolateTransform(a, b) {\n var s = [], q = [];\n a = d3.transform(a), b = d3.transform(b);\n d3_interpolateTranslate(a.translate, b.translate, s, q);\n d3_interpolateRotate(a.rotate, b.rotate, s, q);\n d3_interpolateSkew(a.skew, b.skew, s, q);\n d3_interpolateScale(a.scale, b.scale, s, q);\n a = b = null;\n return function(t) {\n var i = -1, n = q.length, o;\n while (++i < n) s[(o = q[i]).i] = o.x(t);\n return s.join(\"\");\n };\n }\n function d3_uninterpolateNumber(a, b) {\n b = (b -= a = +a) || 1 / b;\n return function(x) {\n return (x - a) / b;\n };\n }\n function d3_uninterpolateClamp(a, b) {\n b = (b -= a = +a) || 1 / b;\n return function(x) {\n return Math.max(0, Math.min(1, (x - a) / b));\n };\n }\n d3.layout = {};\n d3.layout.bundle = function() {\n return function(links) {\n var paths = [], i = -1, n = links.length;\n while (++i < n) paths.push(d3_layout_bundlePath(links[i]));\n return paths;\n };\n };\n function d3_layout_bundlePath(link) {\n var start = link.source, end = link.target, lca = d3_layout_bundleLeastCommonAncestor(start, end), points = [ start ];\n while (start !== lca) {\n start = start.parent;\n points.push(start);\n }\n var k = points.length;\n while (end !== lca) {\n points.splice(k, 0, end);\n end = end.parent;\n }\n return points;\n }\n function d3_layout_bundleAncestors(node) {\n var ancestors = [], parent = node.parent;\n while (parent != null) {\n ancestors.push(node);\n node = parent;\n parent = parent.parent;\n }\n ancestors.push(node);\n return ancestors;\n }\n function d3_layout_bundleLeastCommonAncestor(a, b) {\n if (a === b) return a;\n var aNodes = d3_layout_bundleAncestors(a), bNodes = d3_layout_bundleAncestors(b), aNode = aNodes.pop(), bNode = bNodes.pop(), sharedNode = null;\n while (aNode === bNode) {\n sharedNode = aNode;\n aNode = aNodes.pop();\n bNode = bNodes.pop();\n }\n return sharedNode;\n }\n d3.layout.chord = function() {\n var chord = {}, chords, groups, matrix, n, padding = 0, sortGroups, sortSubgroups, sortChords;\n function relayout() {\n var subgroups = {}, groupSums = [], groupIndex = d3.range(n), subgroupIndex = [], k, x, x0, i, j;\n chords = [];\n groups = [];\n k = 0, i = -1;\n while (++i < n) {\n x = 0, j = -1;\n while (++j < n) {\n x += matrix[i][j];\n }\n groupSums.push(x);\n subgroupIndex.push(d3.range(n));\n k += x;\n }\n if (sortGroups) {\n groupIndex.sort(function(a, b) {\n return sortGroups(groupSums[a], groupSums[b]);\n });\n }\n if (sortSubgroups) {\n subgroupIndex.forEach(function(d, i) {\n d.sort(function(a, b) {\n return sortSubgroups(matrix[i][a], matrix[i][b]);\n });\n });\n }\n k = (τ - padding * n) / k;\n x = 0, i = -1;\n while (++i < n) {\n x0 = x, j = -1;\n while (++j < n) {\n var di = groupIndex[i], dj = subgroupIndex[di][j], v = matrix[di][dj], a0 = x, a1 = x += v * k;\n subgroups[di + \"-\" + dj] = {\n index: di,\n subindex: dj,\n startAngle: a0,\n endAngle: a1,\n value: v\n };\n }\n groups[di] = {\n index: di,\n startAngle: x0,\n endAngle: x,\n value: groupSums[di]\n };\n x += padding;\n }\n i = -1;\n while (++i < n) {\n j = i - 1;\n while (++j < n) {\n var source = subgroups[i + \"-\" + j], target = subgroups[j + \"-\" + i];\n if (source.value || target.value) {\n chords.push(source.value < target.value ? {\n source: target,\n target: source\n } : {\n source: source,\n target: target\n });\n }\n }\n }\n if (sortChords) resort();\n }\n function resort() {\n chords.sort(function(a, b) {\n return sortChords((a.source.value + a.target.value) / 2, (b.source.value + b.target.value) / 2);\n });\n }\n chord.matrix = function(x) {\n if (!arguments.length) return matrix;\n n = (matrix = x) && matrix.length;\n chords = groups = null;\n return chord;\n };\n chord.padding = function(x) {\n if (!arguments.length) return padding;\n padding = x;\n chords = groups = null;\n return chord;\n };\n chord.sortGroups = function(x) {\n if (!arguments.length) return sortGroups;\n sortGroups = x;\n chords = groups = null;\n return chord;\n };\n chord.sortSubgroups = function(x) {\n if (!arguments.length) return sortSubgroups;\n sortSubgroups = x;\n chords = null;\n return chord;\n };\n chord.sortChords = function(x) {\n if (!arguments.length) return sortChords;\n sortChords = x;\n if (chords) resort();\n return chord;\n };\n chord.chords = function() {\n if (!chords) relayout();\n return chords;\n };\n chord.groups = function() {\n if (!groups) relayout();\n return groups;\n };\n return chord;\n };\n d3.layout.force = function() {\n var force = {}, event = d3.dispatch(\"start\", \"tick\", \"end\"), timer, size = [ 1, 1 ], drag, alpha, friction = .9, linkDistance = d3_layout_forceLinkDistance, linkStrength = d3_layout_forceLinkStrength, charge = -30, chargeDistance2 = d3_layout_forceChargeDistance2, gravity = .1, theta2 = .64, nodes = [], links = [], distances, strengths, charges;\n function repulse(node) {\n return function(quad, x1, _, x2) {\n if (quad.point !== node) {\n var dx = quad.cx - node.x, dy = quad.cy - node.y, dw = x2 - x1, dn = dx * dx + dy * dy;\n if (dw * dw / theta2 < dn) {\n if (dn < chargeDistance2) {\n var k = quad.charge / dn;\n node.px -= dx * k;\n node.py -= dy * k;\n }\n return true;\n }\n if (quad.point && dn && dn < chargeDistance2) {\n var k = quad.pointCharge / dn;\n node.px -= dx * k;\n node.py -= dy * k;\n }\n }\n return !quad.charge;\n };\n }\n force.tick = function() {\n if ((alpha *= .99) < .005) {\n timer = null;\n event.end({\n type: \"end\",\n alpha: alpha = 0\n });\n return true;\n }\n var n = nodes.length, m = links.length, q, i, o, s, t, l, k, x, y;\n for (i = 0; i < m; ++i) {\n o = links[i];\n s = o.source;\n t = o.target;\n x = t.x - s.x;\n y = t.y - s.y;\n if (l = x * x + y * y) {\n l = alpha * strengths[i] * ((l = Math.sqrt(l)) - distances[i]) / l;\n x *= l;\n y *= l;\n t.x -= x * (k = s.weight + t.weight ? s.weight / (s.weight + t.weight) : .5);\n t.y -= y * k;\n s.x += x * (k = 1 - k);\n s.y += y * k;\n }\n }\n if (k = alpha * gravity) {\n x = size[0] / 2;\n y = size[1] / 2;\n i = -1;\n if (k) while (++i < n) {\n o = nodes[i];\n o.x += (x - o.x) * k;\n o.y += (y - o.y) * k;\n }\n }\n if (charge) {\n d3_layout_forceAccumulate(q = d3.geom.quadtree(nodes), alpha, charges);\n i = -1;\n while (++i < n) {\n if (!(o = nodes[i]).fixed) {\n q.visit(repulse(o));\n }\n }\n }\n i = -1;\n while (++i < n) {\n o = nodes[i];\n if (o.fixed) {\n o.x = o.px;\n o.y = o.py;\n } else {\n o.x -= (o.px - (o.px = o.x)) * friction;\n o.y -= (o.py - (o.py = o.y)) * friction;\n }\n }\n event.tick({\n type: \"tick\",\n alpha: alpha\n });\n };\n force.nodes = function(x) {\n if (!arguments.length) return nodes;\n nodes = x;\n return force;\n };\n force.links = function(x) {\n if (!arguments.length) return links;\n links = x;\n return force;\n };\n force.size = function(x) {\n if (!arguments.length) return size;\n size = x;\n return force;\n };\n force.linkDistance = function(x) {\n if (!arguments.length) return linkDistance;\n linkDistance = typeof x === \"function\" ? x : +x;\n return force;\n };\n force.distance = force.linkDistance;\n force.linkStrength = function(x) {\n if (!arguments.length) return linkStrength;\n linkStrength = typeof x === \"function\" ? x : +x;\n return force;\n };\n force.friction = function(x) {\n if (!arguments.length) return friction;\n friction = +x;\n return force;\n };\n force.charge = function(x) {\n if (!arguments.length) return charge;\n charge = typeof x === \"function\" ? x : +x;\n return force;\n };\n force.chargeDistance = function(x) {\n if (!arguments.length) return Math.sqrt(chargeDistance2);\n chargeDistance2 = x * x;\n return force;\n };\n force.gravity = function(x) {\n if (!arguments.length) return gravity;\n gravity = +x;\n return force;\n };\n force.theta = function(x) {\n if (!arguments.length) return Math.sqrt(theta2);\n theta2 = x * x;\n return force;\n };\n force.alpha = function(x) {\n if (!arguments.length) return alpha;\n x = +x;\n if (alpha) {\n if (x > 0) {\n alpha = x;\n } else {\n timer.c = null, timer.t = NaN, timer = null;\n event.end({\n type: \"end\",\n alpha: alpha = 0\n });\n }\n } else if (x > 0) {\n event.start({\n type: \"start\",\n alpha: alpha = x\n });\n timer = d3_timer(force.tick);\n }\n return force;\n };\n force.start = function() {\n var i, n = nodes.length, m = links.length, w = size[0], h = size[1], neighbors, o;\n for (i = 0; i < n; ++i) {\n (o = nodes[i]).index = i;\n o.weight = 0;\n }\n for (i = 0; i < m; ++i) {\n o = links[i];\n if (typeof o.source == \"number\") o.source = nodes[o.source];\n if (typeof o.target == \"number\") o.target = nodes[o.target];\n ++o.source.weight;\n ++o.target.weight;\n }\n for (i = 0; i < n; ++i) {\n o = nodes[i];\n if (isNaN(o.x)) o.x = position(\"x\", w);\n if (isNaN(o.y)) o.y = position(\"y\", h);\n if (isNaN(o.px)) o.px = o.x;\n if (isNaN(o.py)) o.py = o.y;\n }\n distances = [];\n if (typeof linkDistance === \"function\") for (i = 0; i < m; ++i) distances[i] = +linkDistance.call(this, links[i], i); else for (i = 0; i < m; ++i) distances[i] = linkDistance;\n strengths = [];\n if (typeof linkStrength === \"function\") for (i = 0; i < m; ++i) strengths[i] = +linkStrength.call(this, links[i], i); else for (i = 0; i < m; ++i) strengths[i] = linkStrength;\n charges = [];\n if (typeof charge === \"function\") for (i = 0; i < n; ++i) charges[i] = +charge.call(this, nodes[i], i); else for (i = 0; i < n; ++i) charges[i] = charge;\n function position(dimension, size) {\n if (!neighbors) {\n neighbors = new Array(n);\n for (j = 0; j < n; ++j) {\n neighbors[j] = [];\n }\n for (j = 0; j < m; ++j) {\n var o = links[j];\n neighbors[o.source.index].push(o.target);\n neighbors[o.target.index].push(o.source);\n }\n }\n var candidates = neighbors[i], j = -1, l = candidates.length, x;\n while (++j < l) if (!isNaN(x = candidates[j][dimension])) return x;\n return Math.random() * size;\n }\n return force.resume();\n };\n force.resume = function() {\n return force.alpha(.1);\n };\n force.stop = function() {\n return force.alpha(0);\n };\n force.drag = function() {\n if (!drag) drag = d3.behavior.drag().origin(d3_identity).on(\"dragstart.force\", d3_layout_forceDragstart).on(\"drag.force\", dragmove).on(\"dragend.force\", d3_layout_forceDragend);\n if (!arguments.length) return drag;\n this.on(\"mouseover.force\", d3_layout_forceMouseover).on(\"mouseout.force\", d3_layout_forceMouseout).call(drag);\n };\n function dragmove(d) {\n d.px = d3.event.x, d.py = d3.event.y;\n force.resume();\n }\n return d3.rebind(force, event, \"on\");\n };\n function d3_layout_forceDragstart(d) {\n d.fixed |= 2;\n }\n function d3_layout_forceDragend(d) {\n d.fixed &= ~6;\n }\n function d3_layout_forceMouseover(d) {\n d.fixed |= 4;\n d.px = d.x, d.py = d.y;\n }\n function d3_layout_forceMouseout(d) {\n d.fixed &= ~4;\n }\n function d3_layout_forceAccumulate(quad, alpha, charges) {\n var cx = 0, cy = 0;\n quad.charge = 0;\n if (!quad.leaf) {\n var nodes = quad.nodes, n = nodes.length, i = -1, c;\n while (++i < n) {\n c = nodes[i];\n if (c == null) continue;\n d3_layout_forceAccumulate(c, alpha, charges);\n quad.charge += c.charge;\n cx += c.charge * c.cx;\n cy += c.charge * c.cy;\n }\n }\n if (quad.point) {\n if (!quad.leaf) {\n quad.point.x += Math.random() - .5;\n quad.point.y += Math.random() - .5;\n }\n var k = alpha * charges[quad.point.index];\n quad.charge += quad.pointCharge = k;\n cx += k * quad.point.x;\n cy += k * quad.point.y;\n }\n quad.cx = cx / quad.charge;\n quad.cy = cy / quad.charge;\n }\n var d3_layout_forceLinkDistance = 20, d3_layout_forceLinkStrength = 1, d3_layout_forceChargeDistance2 = Infinity;\n d3.layout.hierarchy = function() {\n var sort = d3_layout_hierarchySort, children = d3_layout_hierarchyChildren, value = d3_layout_hierarchyValue;\n function hierarchy(root) {\n var stack = [ root ], nodes = [], node;\n root.depth = 0;\n while ((node = stack.pop()) != null) {\n nodes.push(node);\n if ((childs = children.call(hierarchy, node, node.depth)) && (n = childs.length)) {\n var n, childs, child;\n while (--n >= 0) {\n stack.push(child = childs[n]);\n child.parent = node;\n child.depth = node.depth + 1;\n }\n if (value) node.value = 0;\n node.children = childs;\n } else {\n if (value) node.value = +value.call(hierarchy, node, node.depth) || 0;\n delete node.children;\n }\n }\n d3_layout_hierarchyVisitAfter(root, function(node) {\n var childs, parent;\n if (sort && (childs = node.children)) childs.sort(sort);\n if (value && (parent = node.parent)) parent.value += node.value;\n });\n return nodes;\n }\n hierarchy.sort = function(x) {\n if (!arguments.length) return sort;\n sort = x;\n return hierarchy;\n };\n hierarchy.children = function(x) {\n if (!arguments.length) return children;\n children = x;\n return hierarchy;\n };\n hierarchy.value = function(x) {\n if (!arguments.length) return value;\n value = x;\n return hierarchy;\n };\n hierarchy.revalue = function(root) {\n if (value) {\n d3_layout_hierarchyVisitBefore(root, function(node) {\n if (node.children) node.value = 0;\n });\n d3_layout_hierarchyVisitAfter(root, function(node) {\n var parent;\n if (!node.children) node.value = +value.call(hierarchy, node, node.depth) || 0;\n if (parent = node.parent) parent.value += node.value;\n });\n }\n return root;\n };\n return hierarchy;\n };\n function d3_layout_hierarchyRebind(object, hierarchy) {\n d3.rebind(object, hierarchy, \"sort\", \"children\", \"value\");\n object.nodes = object;\n object.links = d3_layout_hierarchyLinks;\n return object;\n }\n function d3_layout_hierarchyVisitBefore(node, callback) {\n var nodes = [ node ];\n while ((node = nodes.pop()) != null) {\n callback(node);\n if ((children = node.children) && (n = children.length)) {\n var n, children;\n while (--n >= 0) nodes.push(children[n]);\n }\n }\n }\n function d3_layout_hierarchyVisitAfter(node, callback) {\n var nodes = [ node ], nodes2 = [];\n while ((node = nodes.pop()) != null) {\n nodes2.push(node);\n if ((children = node.children) && (n = children.length)) {\n var i = -1, n, children;\n while (++i < n) nodes.push(children[i]);\n }\n }\n while ((node = nodes2.pop()) != null) {\n callback(node);\n }\n }\n function d3_layout_hierarchyChildren(d) {\n return d.children;\n }\n function d3_layout_hierarchyValue(d) {\n return d.value;\n }\n function d3_layout_hierarchySort(a, b) {\n return b.value - a.value;\n }\n function d3_layout_hierarchyLinks(nodes) {\n return d3.merge(nodes.map(function(parent) {\n return (parent.children || []).map(function(child) {\n return {\n source: parent,\n target: child\n };\n });\n }));\n }\n d3.layout.partition = function() {\n var hierarchy = d3.layout.hierarchy(), size = [ 1, 1 ];\n function position(node, x, dx, dy) {\n var children = node.children;\n node.x = x;\n node.y = node.depth * dy;\n node.dx = dx;\n node.dy = dy;\n if (children && (n = children.length)) {\n var i = -1, n, c, d;\n dx = node.value ? dx / node.value : 0;\n while (++i < n) {\n position(c = children[i], x, d = c.value * dx, dy);\n x += d;\n }\n }\n }\n function depth(node) {\n var children = node.children, d = 0;\n if (children && (n = children.length)) {\n var i = -1, n;\n while (++i < n) d = Math.max(d, depth(children[i]));\n }\n return 1 + d;\n }\n function partition(d, i) {\n var nodes = hierarchy.call(this, d, i);\n position(nodes[0], 0, size[0], size[1] / depth(nodes[0]));\n return nodes;\n }\n partition.size = function(x) {\n if (!arguments.length) return size;\n size = x;\n return partition;\n };\n return d3_layout_hierarchyRebind(partition, hierarchy);\n };\n d3.layout.pie = function() {\n var value = Number, sort = d3_layout_pieSortByValue, startAngle = 0, endAngle = τ, padAngle = 0;\n function pie(data) {\n var n = data.length, values = data.map(function(d, i) {\n return +value.call(pie, d, i);\n }), a = +(typeof startAngle === \"function\" ? startAngle.apply(this, arguments) : startAngle), da = (typeof endAngle === \"function\" ? endAngle.apply(this, arguments) : endAngle) - a, p = Math.min(Math.abs(da) / n, +(typeof padAngle === \"function\" ? padAngle.apply(this, arguments) : padAngle)), pa = p * (da < 0 ? -1 : 1), sum = d3.sum(values), k = sum ? (da - n * pa) / sum : 0, index = d3.range(n), arcs = [], v;\n if (sort != null) index.sort(sort === d3_layout_pieSortByValue ? function(i, j) {\n return values[j] - values[i];\n } : function(i, j) {\n return sort(data[i], data[j]);\n });\n index.forEach(function(i) {\n arcs[i] = {\n data: data[i],\n value: v = values[i],\n startAngle: a,\n endAngle: a += v * k + pa,\n padAngle: p\n };\n });\n return arcs;\n }\n pie.value = function(_) {\n if (!arguments.length) return value;\n value = _;\n return pie;\n };\n pie.sort = function(_) {\n if (!arguments.length) return sort;\n sort = _;\n return pie;\n };\n pie.startAngle = function(_) {\n if (!arguments.length) return startAngle;\n startAngle = _;\n return pie;\n };\n pie.endAngle = function(_) {\n if (!arguments.length) return endAngle;\n endAngle = _;\n return pie;\n };\n pie.padAngle = function(_) {\n if (!arguments.length) return padAngle;\n padAngle = _;\n return pie;\n };\n return pie;\n };\n var d3_layout_pieSortByValue = {};\n d3.layout.stack = function() {\n var values = d3_identity, order = d3_layout_stackOrderDefault, offset = d3_layout_stackOffsetZero, out = d3_layout_stackOut, x = d3_layout_stackX, y = d3_layout_stackY;\n function stack(data, index) {\n if (!(n = data.length)) return data;\n var series = data.map(function(d, i) {\n return values.call(stack, d, i);\n });\n var points = series.map(function(d) {\n return d.map(function(v, i) {\n return [ x.call(stack, v, i), y.call(stack, v, i) ];\n });\n });\n var orders = order.call(stack, points, index);\n series = d3.permute(series, orders);\n points = d3.permute(points, orders);\n var offsets = offset.call(stack, points, index);\n var m = series[0].length, n, i, j, o;\n for (j = 0; j < m; ++j) {\n out.call(stack, series[0][j], o = offsets[j], points[0][j][1]);\n for (i = 1; i < n; ++i) {\n out.call(stack, series[i][j], o += points[i - 1][j][1], points[i][j][1]);\n }\n }\n return data;\n }\n stack.values = function(x) {\n if (!arguments.length) return values;\n values = x;\n return stack;\n };\n stack.order = function(x) {\n if (!arguments.length) return order;\n order = typeof x === \"function\" ? x : d3_layout_stackOrders.get(x) || d3_layout_stackOrderDefault;\n return stack;\n };\n stack.offset = function(x) {\n if (!arguments.length) return offset;\n offset = typeof x === \"function\" ? x : d3_layout_stackOffsets.get(x) || d3_layout_stackOffsetZero;\n return stack;\n };\n stack.x = function(z) {\n if (!arguments.length) return x;\n x = z;\n return stack;\n };\n stack.y = function(z) {\n if (!arguments.length) return y;\n y = z;\n return stack;\n };\n stack.out = function(z) {\n if (!arguments.length) return out;\n out = z;\n return stack;\n };\n return stack;\n };\n function d3_layout_stackX(d) {\n return d.x;\n }\n function d3_layout_stackY(d) {\n return d.y;\n }\n function d3_layout_stackOut(d, y0, y) {\n d.y0 = y0;\n d.y = y;\n }\n var d3_layout_stackOrders = d3.map({\n \"inside-out\": function(data) {\n var n = data.length, i, j, max = data.map(d3_layout_stackMaxIndex), sums = data.map(d3_layout_stackReduceSum), index = d3.range(n).sort(function(a, b) {\n return max[a] - max[b];\n }), top = 0, bottom = 0, tops = [], bottoms = [];\n for (i = 0; i < n; ++i) {\n j = index[i];\n if (top < bottom) {\n top += sums[j];\n tops.push(j);\n } else {\n bottom += sums[j];\n bottoms.push(j);\n }\n }\n return bottoms.reverse().concat(tops);\n },\n reverse: function(data) {\n return d3.range(data.length).reverse();\n },\n \"default\": d3_layout_stackOrderDefault\n });\n var d3_layout_stackOffsets = d3.map({\n silhouette: function(data) {\n var n = data.length, m = data[0].length, sums = [], max = 0, i, j, o, y0 = [];\n for (j = 0; j < m; ++j) {\n for (i = 0, o = 0; i < n; i++) o += data[i][j][1];\n if (o > max) max = o;\n sums.push(o);\n }\n for (j = 0; j < m; ++j) {\n y0[j] = (max - sums[j]) / 2;\n }\n return y0;\n },\n wiggle: function(data) {\n var n = data.length, x = data[0], m = x.length, i, j, k, s1, s2, s3, dx, o, o0, y0 = [];\n y0[0] = o = o0 = 0;\n for (j = 1; j < m; ++j) {\n for (i = 0, s1 = 0; i < n; ++i) s1 += data[i][j][1];\n for (i = 0, s2 = 0, dx = x[j][0] - x[j - 1][0]; i < n; ++i) {\n for (k = 0, s3 = (data[i][j][1] - data[i][j - 1][1]) / (2 * dx); k < i; ++k) {\n s3 += (data[k][j][1] - data[k][j - 1][1]) / dx;\n }\n s2 += s3 * data[i][j][1];\n }\n y0[j] = o -= s1 ? s2 / s1 * dx : 0;\n if (o < o0) o0 = o;\n }\n for (j = 0; j < m; ++j) y0[j] -= o0;\n return y0;\n },\n expand: function(data) {\n var n = data.length, m = data[0].length, k = 1 / n, i, j, o, y0 = [];\n for (j = 0; j < m; ++j) {\n for (i = 0, o = 0; i < n; i++) o += data[i][j][1];\n if (o) for (i = 0; i < n; i++) data[i][j][1] /= o; else for (i = 0; i < n; i++) data[i][j][1] = k;\n }\n for (j = 0; j < m; ++j) y0[j] = 0;\n return y0;\n },\n zero: d3_layout_stackOffsetZero\n });\n function d3_layout_stackOrderDefault(data) {\n return d3.range(data.length);\n }\n function d3_layout_stackOffsetZero(data) {\n var j = -1, m = data[0].length, y0 = [];\n while (++j < m) y0[j] = 0;\n return y0;\n }\n function d3_layout_stackMaxIndex(array) {\n var i = 1, j = 0, v = array[0][1], k, n = array.length;\n for (;i < n; ++i) {\n if ((k = array[i][1]) > v) {\n j = i;\n v = k;\n }\n }\n return j;\n }\n function d3_layout_stackReduceSum(d) {\n return d.reduce(d3_layout_stackSum, 0);\n }\n function d3_layout_stackSum(p, d) {\n return p + d[1];\n }\n d3.layout.histogram = function() {\n var frequency = true, valuer = Number, ranger = d3_layout_histogramRange, binner = d3_layout_histogramBinSturges;\n function histogram(data, i) {\n var bins = [], values = data.map(valuer, this), range = ranger.call(this, values, i), thresholds = binner.call(this, range, values, i), bin, i = -1, n = values.length, m = thresholds.length - 1, k = frequency ? 1 : 1 / n, x;\n while (++i < m) {\n bin = bins[i] = [];\n bin.dx = thresholds[i + 1] - (bin.x = thresholds[i]);\n bin.y = 0;\n }\n if (m > 0) {\n i = -1;\n while (++i < n) {\n x = values[i];\n if (x >= range[0] && x <= range[1]) {\n bin = bins[d3.bisect(thresholds, x, 1, m) - 1];\n bin.y += k;\n bin.push(data[i]);\n }\n }\n }\n return bins;\n }\n histogram.value = function(x) {\n if (!arguments.length) return valuer;\n valuer = x;\n return histogram;\n };\n histogram.range = function(x) {\n if (!arguments.length) return ranger;\n ranger = d3_functor(x);\n return histogram;\n };\n histogram.bins = function(x) {\n if (!arguments.length) return binner;\n binner = typeof x === \"number\" ? function(range) {\n return d3_layout_histogramBinFixed(range, x);\n } : d3_functor(x);\n return histogram;\n };\n histogram.frequency = function(x) {\n if (!arguments.length) return frequency;\n frequency = !!x;\n return histogram;\n };\n return histogram;\n };\n function d3_layout_histogramBinSturges(range, values) {\n return d3_layout_histogramBinFixed(range, Math.ceil(Math.log(values.length) / Math.LN2 + 1));\n }\n function d3_layout_histogramBinFixed(range, n) {\n var x = -1, b = +range[0], m = (range[1] - b) / n, f = [];\n while (++x <= n) f[x] = m * x + b;\n return f;\n }\n function d3_layout_histogramRange(values) {\n return [ d3.min(values), d3.max(values) ];\n }\n d3.layout.pack = function() {\n var hierarchy = d3.layout.hierarchy().sort(d3_layout_packSort), padding = 0, size = [ 1, 1 ], radius;\n function pack(d, i) {\n var nodes = hierarchy.call(this, d, i), root = nodes[0], w = size[0], h = size[1], r = radius == null ? Math.sqrt : typeof radius === \"function\" ? radius : function() {\n return radius;\n };\n root.x = root.y = 0;\n d3_layout_hierarchyVisitAfter(root, function(d) {\n d.r = +r(d.value);\n });\n d3_layout_hierarchyVisitAfter(root, d3_layout_packSiblings);\n if (padding) {\n var dr = padding * (radius ? 1 : Math.max(2 * root.r / w, 2 * root.r / h)) / 2;\n d3_layout_hierarchyVisitAfter(root, function(d) {\n d.r += dr;\n });\n d3_layout_hierarchyVisitAfter(root, d3_layout_packSiblings);\n d3_layout_hierarchyVisitAfter(root, function(d) {\n d.r -= dr;\n });\n }\n d3_layout_packTransform(root, w / 2, h / 2, radius ? 1 : 1 / Math.max(2 * root.r / w, 2 * root.r / h));\n return nodes;\n }\n pack.size = function(_) {\n if (!arguments.length) return size;\n size = _;\n return pack;\n };\n pack.radius = function(_) {\n if (!arguments.length) return radius;\n radius = _ == null || typeof _ === \"function\" ? _ : +_;\n return pack;\n };\n pack.padding = function(_) {\n if (!arguments.length) return padding;\n padding = +_;\n return pack;\n };\n return d3_layout_hierarchyRebind(pack, hierarchy);\n };\n function d3_layout_packSort(a, b) {\n return a.value - b.value;\n }\n function d3_layout_packInsert(a, b) {\n var c = a._pack_next;\n a._pack_next = b;\n b._pack_prev = a;\n b._pack_next = c;\n c._pack_prev = b;\n }\n function d3_layout_packSplice(a, b) {\n a._pack_next = b;\n b._pack_prev = a;\n }\n function d3_layout_packIntersects(a, b) {\n var dx = b.x - a.x, dy = b.y - a.y, dr = a.r + b.r;\n return .999 * dr * dr > dx * dx + dy * dy;\n }\n function d3_layout_packSiblings(node) {\n if (!(nodes = node.children) || !(n = nodes.length)) return;\n var nodes, xMin = Infinity, xMax = -Infinity, yMin = Infinity, yMax = -Infinity, a, b, c, i, j, k, n;\n function bound(node) {\n xMin = Math.min(node.x - node.r, xMin);\n xMax = Math.max(node.x + node.r, xMax);\n yMin = Math.min(node.y - node.r, yMin);\n yMax = Math.max(node.y + node.r, yMax);\n }\n nodes.forEach(d3_layout_packLink);\n a = nodes[0];\n a.x = -a.r;\n a.y = 0;\n bound(a);\n if (n > 1) {\n b = nodes[1];\n b.x = b.r;\n b.y = 0;\n bound(b);\n if (n > 2) {\n c = nodes[2];\n d3_layout_packPlace(a, b, c);\n bound(c);\n d3_layout_packInsert(a, c);\n a._pack_prev = c;\n d3_layout_packInsert(c, b);\n b = a._pack_next;\n for (i = 3; i < n; i++) {\n d3_layout_packPlace(a, b, c = nodes[i]);\n var isect = 0, s1 = 1, s2 = 1;\n for (j = b._pack_next; j !== b; j = j._pack_next, s1++) {\n if (d3_layout_packIntersects(j, c)) {\n isect = 1;\n break;\n }\n }\n if (isect == 1) {\n for (k = a._pack_prev; k !== j._pack_prev; k = k._pack_prev, s2++) {\n if (d3_layout_packIntersects(k, c)) {\n break;\n }\n }\n }\n if (isect) {\n if (s1 < s2 || s1 == s2 && b.r < a.r) d3_layout_packSplice(a, b = j); else d3_layout_packSplice(a = k, b);\n i--;\n } else {\n d3_layout_packInsert(a, c);\n b = c;\n bound(c);\n }\n }\n }\n }\n var cx = (xMin + xMax) / 2, cy = (yMin + yMax) / 2, cr = 0;\n for (i = 0; i < n; i++) {\n c = nodes[i];\n c.x -= cx;\n c.y -= cy;\n cr = Math.max(cr, c.r + Math.sqrt(c.x * c.x + c.y * c.y));\n }\n node.r = cr;\n nodes.forEach(d3_layout_packUnlink);\n }\n function d3_layout_packLink(node) {\n node._pack_next = node._pack_prev = node;\n }\n function d3_layout_packUnlink(node) {\n delete node._pack_next;\n delete node._pack_prev;\n }\n function d3_layout_packTransform(node, x, y, k) {\n var children = node.children;\n node.x = x += k * node.x;\n node.y = y += k * node.y;\n node.r *= k;\n if (children) {\n var i = -1, n = children.length;\n while (++i < n) d3_layout_packTransform(children[i], x, y, k);\n }\n }\n function d3_layout_packPlace(a, b, c) {\n var db = a.r + c.r, dx = b.x - a.x, dy = b.y - a.y;\n if (db && (dx || dy)) {\n var da = b.r + c.r, dc = dx * dx + dy * dy;\n da *= da;\n db *= db;\n var x = .5 + (db - da) / (2 * dc), y = Math.sqrt(Math.max(0, 2 * da * (db + dc) - (db -= dc) * db - da * da)) / (2 * dc);\n c.x = a.x + x * dx + y * dy;\n c.y = a.y + x * dy - y * dx;\n } else {\n c.x = a.x + db;\n c.y = a.y;\n }\n }\n d3.layout.tree = function() {\n var hierarchy = d3.layout.hierarchy().sort(null).value(null), separation = d3_layout_treeSeparation, size = [ 1, 1 ], nodeSize = null;\n function tree(d, i) {\n var nodes = hierarchy.call(this, d, i), root0 = nodes[0], root1 = wrapTree(root0);\n d3_layout_hierarchyVisitAfter(root1, firstWalk), root1.parent.m = -root1.z;\n d3_layout_hierarchyVisitBefore(root1, secondWalk);\n if (nodeSize) d3_layout_hierarchyVisitBefore(root0, sizeNode); else {\n var left = root0, right = root0, bottom = root0;\n d3_layout_hierarchyVisitBefore(root0, function(node) {\n if (node.x < left.x) left = node;\n if (node.x > right.x) right = node;\n if (node.depth > bottom.depth) bottom = node;\n });\n var tx = separation(left, right) / 2 - left.x, kx = size[0] / (right.x + separation(right, left) / 2 + tx), ky = size[1] / (bottom.depth || 1);\n d3_layout_hierarchyVisitBefore(root0, function(node) {\n node.x = (node.x + tx) * kx;\n node.y = node.depth * ky;\n });\n }\n return nodes;\n }\n function wrapTree(root0) {\n var root1 = {\n A: null,\n children: [ root0 ]\n }, queue = [ root1 ], node1;\n while ((node1 = queue.pop()) != null) {\n for (var children = node1.children, child, i = 0, n = children.length; i < n; ++i) {\n queue.push((children[i] = child = {\n _: children[i],\n parent: node1,\n children: (child = children[i].children) && child.slice() || [],\n A: null,\n a: null,\n z: 0,\n m: 0,\n c: 0,\n s: 0,\n t: null,\n i: i\n }).a = child);\n }\n }\n return root1.children[0];\n }\n function firstWalk(v) {\n var children = v.children, siblings = v.parent.children, w = v.i ? siblings[v.i - 1] : null;\n if (children.length) {\n d3_layout_treeShift(v);\n var midpoint = (children[0].z + children[children.length - 1].z) / 2;\n if (w) {\n v.z = w.z + separation(v._, w._);\n v.m = v.z - midpoint;\n } else {\n v.z = midpoint;\n }\n } else if (w) {\n v.z = w.z + separation(v._, w._);\n }\n v.parent.A = apportion(v, w, v.parent.A || siblings[0]);\n }\n function secondWalk(v) {\n v._.x = v.z + v.parent.m;\n v.m += v.parent.m;\n }\n function apportion(v, w, ancestor) {\n if (w) {\n var vip = v, vop = v, vim = w, vom = vip.parent.children[0], sip = vip.m, sop = vop.m, sim = vim.m, som = vom.m, shift;\n while (vim = d3_layout_treeRight(vim), vip = d3_layout_treeLeft(vip), vim && vip) {\n vom = d3_layout_treeLeft(vom);\n vop = d3_layout_treeRight(vop);\n vop.a = v;\n shift = vim.z + sim - vip.z - sip + separation(vim._, vip._);\n if (shift > 0) {\n d3_layout_treeMove(d3_layout_treeAncestor(vim, v, ancestor), v, shift);\n sip += shift;\n sop += shift;\n }\n sim += vim.m;\n sip += vip.m;\n som += vom.m;\n sop += vop.m;\n }\n if (vim && !d3_layout_treeRight(vop)) {\n vop.t = vim;\n vop.m += sim - sop;\n }\n if (vip && !d3_layout_treeLeft(vom)) {\n vom.t = vip;\n vom.m += sip - som;\n ancestor = v;\n }\n }\n return ancestor;\n }\n function sizeNode(node) {\n node.x *= size[0];\n node.y = node.depth * size[1];\n }\n tree.separation = function(x) {\n if (!arguments.length) return separation;\n separation = x;\n return tree;\n };\n tree.size = function(x) {\n if (!arguments.length) return nodeSize ? null : size;\n nodeSize = (size = x) == null ? sizeNode : null;\n return tree;\n };\n tree.nodeSize = function(x) {\n if (!arguments.length) return nodeSize ? size : null;\n nodeSize = (size = x) == null ? null : sizeNode;\n return tree;\n };\n return d3_layout_hierarchyRebind(tree, hierarchy);\n };\n function d3_layout_treeSeparation(a, b) {\n return a.parent == b.parent ? 1 : 2;\n }\n function d3_layout_treeLeft(v) {\n var children = v.children;\n return children.length ? children[0] : v.t;\n }\n function d3_layout_treeRight(v) {\n var children = v.children, n;\n return (n = children.length) ? children[n - 1] : v.t;\n }\n function d3_layout_treeMove(wm, wp, shift) {\n var change = shift / (wp.i - wm.i);\n wp.c -= change;\n wp.s += shift;\n wm.c += change;\n wp.z += shift;\n wp.m += shift;\n }\n function d3_layout_treeShift(v) {\n var shift = 0, change = 0, children = v.children, i = children.length, w;\n while (--i >= 0) {\n w = children[i];\n w.z += shift;\n w.m += shift;\n shift += w.s + (change += w.c);\n }\n }\n function d3_layout_treeAncestor(vim, v, ancestor) {\n return vim.a.parent === v.parent ? vim.a : ancestor;\n }\n d3.layout.cluster = function() {\n var hierarchy = d3.layout.hierarchy().sort(null).value(null), separation = d3_layout_treeSeparation, size = [ 1, 1 ], nodeSize = false;\n function cluster(d, i) {\n var nodes = hierarchy.call(this, d, i), root = nodes[0], previousNode, x = 0;\n d3_layout_hierarchyVisitAfter(root, function(node) {\n var children = node.children;\n if (children && children.length) {\n node.x = d3_layout_clusterX(children);\n node.y = d3_layout_clusterY(children);\n } else {\n node.x = previousNode ? x += separation(node, previousNode) : 0;\n node.y = 0;\n previousNode = node;\n }\n });\n var left = d3_layout_clusterLeft(root), right = d3_layout_clusterRight(root), x0 = left.x - separation(left, right) / 2, x1 = right.x + separation(right, left) / 2;\n d3_layout_hierarchyVisitAfter(root, nodeSize ? function(node) {\n node.x = (node.x - root.x) * size[0];\n node.y = (root.y - node.y) * size[1];\n } : function(node) {\n node.x = (node.x - x0) / (x1 - x0) * size[0];\n node.y = (1 - (root.y ? node.y / root.y : 1)) * size[1];\n });\n return nodes;\n }\n cluster.separation = function(x) {\n if (!arguments.length) return separation;\n separation = x;\n return cluster;\n };\n cluster.size = function(x) {\n if (!arguments.length) return nodeSize ? null : size;\n nodeSize = (size = x) == null;\n return cluster;\n };\n cluster.nodeSize = function(x) {\n if (!arguments.length) return nodeSize ? size : null;\n nodeSize = (size = x) != null;\n return cluster;\n };\n return d3_layout_hierarchyRebind(cluster, hierarchy);\n };\n function d3_layout_clusterY(children) {\n return 1 + d3.max(children, function(child) {\n return child.y;\n });\n }\n function d3_layout_clusterX(children) {\n return children.reduce(function(x, child) {\n return x + child.x;\n }, 0) / children.length;\n }\n function d3_layout_clusterLeft(node) {\n var children = node.children;\n return children && children.length ? d3_layout_clusterLeft(children[0]) : node;\n }\n function d3_layout_clusterRight(node) {\n var children = node.children, n;\n return children && (n = children.length) ? d3_layout_clusterRight(children[n - 1]) : node;\n }\n d3.layout.treemap = function() {\n var hierarchy = d3.layout.hierarchy(), round = Math.round, size = [ 1, 1 ], padding = null, pad = d3_layout_treemapPadNull, sticky = false, stickies, mode = \"squarify\", ratio = .5 * (1 + Math.sqrt(5));\n function scale(children, k) {\n var i = -1, n = children.length, child, area;\n while (++i < n) {\n area = (child = children[i]).value * (k < 0 ? 0 : k);\n child.area = isNaN(area) || area <= 0 ? 0 : area;\n }\n }\n function squarify(node) {\n var children = node.children;\n if (children && children.length) {\n var rect = pad(node), row = [], remaining = children.slice(), child, best = Infinity, score, u = mode === \"slice\" ? rect.dx : mode === \"dice\" ? rect.dy : mode === \"slice-dice\" ? node.depth & 1 ? rect.dy : rect.dx : Math.min(rect.dx, rect.dy), n;\n scale(remaining, rect.dx * rect.dy / node.value);\n row.area = 0;\n while ((n = remaining.length) > 0) {\n row.push(child = remaining[n - 1]);\n row.area += child.area;\n if (mode !== \"squarify\" || (score = worst(row, u)) <= best) {\n remaining.pop();\n best = score;\n } else {\n row.area -= row.pop().area;\n position(row, u, rect, false);\n u = Math.min(rect.dx, rect.dy);\n row.length = row.area = 0;\n best = Infinity;\n }\n }\n if (row.length) {\n position(row, u, rect, true);\n row.length = row.area = 0;\n }\n children.forEach(squarify);\n }\n }\n function stickify(node) {\n var children = node.children;\n if (children && children.length) {\n var rect = pad(node), remaining = children.slice(), child, row = [];\n scale(remaining, rect.dx * rect.dy / node.value);\n row.area = 0;\n while (child = remaining.pop()) {\n row.push(child);\n row.area += child.area;\n if (child.z != null) {\n position(row, child.z ? rect.dx : rect.dy, rect, !remaining.length);\n row.length = row.area = 0;\n }\n }\n children.forEach(stickify);\n }\n }\n function worst(row, u) {\n var s = row.area, r, rmax = 0, rmin = Infinity, i = -1, n = row.length;\n while (++i < n) {\n if (!(r = row[i].area)) continue;\n if (r < rmin) rmin = r;\n if (r > rmax) rmax = r;\n }\n s *= s;\n u *= u;\n return s ? Math.max(u * rmax * ratio / s, s / (u * rmin * ratio)) : Infinity;\n }\n function position(row, u, rect, flush) {\n var i = -1, n = row.length, x = rect.x, y = rect.y, v = u ? round(row.area / u) : 0, o;\n if (u == rect.dx) {\n if (flush || v > rect.dy) v = rect.dy;\n while (++i < n) {\n o = row[i];\n o.x = x;\n o.y = y;\n o.dy = v;\n x += o.dx = Math.min(rect.x + rect.dx - x, v ? round(o.area / v) : 0);\n }\n o.z = true;\n o.dx += rect.x + rect.dx - x;\n rect.y += v;\n rect.dy -= v;\n } else {\n if (flush || v > rect.dx) v = rect.dx;\n while (++i < n) {\n o = row[i];\n o.x = x;\n o.y = y;\n o.dx = v;\n y += o.dy = Math.min(rect.y + rect.dy - y, v ? round(o.area / v) : 0);\n }\n o.z = false;\n o.dy += rect.y + rect.dy - y;\n rect.x += v;\n rect.dx -= v;\n }\n }\n function treemap(d) {\n var nodes = stickies || hierarchy(d), root = nodes[0];\n root.x = root.y = 0;\n if (root.value) root.dx = size[0], root.dy = size[1]; else root.dx = root.dy = 0;\n if (stickies) hierarchy.revalue(root);\n scale([ root ], root.dx * root.dy / root.value);\n (stickies ? stickify : squarify)(root);\n if (sticky) stickies = nodes;\n return nodes;\n }\n treemap.size = function(x) {\n if (!arguments.length) return size;\n size = x;\n return treemap;\n };\n treemap.padding = function(x) {\n if (!arguments.length) return padding;\n function padFunction(node) {\n var p = x.call(treemap, node, node.depth);\n return p == null ? d3_layout_treemapPadNull(node) : d3_layout_treemapPad(node, typeof p === \"number\" ? [ p, p, p, p ] : p);\n }\n function padConstant(node) {\n return d3_layout_treemapPad(node, x);\n }\n var type;\n pad = (padding = x) == null ? d3_layout_treemapPadNull : (type = typeof x) === \"function\" ? padFunction : type === \"number\" ? (x = [ x, x, x, x ], \n padConstant) : padConstant;\n return treemap;\n };\n treemap.round = function(x) {\n if (!arguments.length) return round != Number;\n round = x ? Math.round : Number;\n return treemap;\n };\n treemap.sticky = function(x) {\n if (!arguments.length) return sticky;\n sticky = x;\n stickies = null;\n return treemap;\n };\n treemap.ratio = function(x) {\n if (!arguments.length) return ratio;\n ratio = x;\n return treemap;\n };\n treemap.mode = function(x) {\n if (!arguments.length) return mode;\n mode = x + \"\";\n return treemap;\n };\n return d3_layout_hierarchyRebind(treemap, hierarchy);\n };\n function d3_layout_treemapPadNull(node) {\n return {\n x: node.x,\n y: node.y,\n dx: node.dx,\n dy: node.dy\n };\n }\n function d3_layout_treemapPad(node, padding) {\n var x = node.x + padding[3], y = node.y + padding[0], dx = node.dx - padding[1] - padding[3], dy = node.dy - padding[0] - padding[2];\n if (dx < 0) {\n x += dx / 2;\n dx = 0;\n }\n if (dy < 0) {\n y += dy / 2;\n dy = 0;\n }\n return {\n x: x,\n y: y,\n dx: dx,\n dy: dy\n };\n }\n d3.random = {\n normal: function(µ, σ) {\n var n = arguments.length;\n if (n < 2) σ = 1;\n if (n < 1) µ = 0;\n return function() {\n var x, y, r;\n do {\n x = Math.random() * 2 - 1;\n y = Math.random() * 2 - 1;\n r = x * x + y * y;\n } while (!r || r > 1);\n return µ + σ * x * Math.sqrt(-2 * Math.log(r) / r);\n };\n },\n logNormal: function() {\n var random = d3.random.normal.apply(d3, arguments);\n return function() {\n return Math.exp(random());\n };\n },\n bates: function(m) {\n var random = d3.random.irwinHall(m);\n return function() {\n return random() / m;\n };\n },\n irwinHall: function(m) {\n return function() {\n for (var s = 0, j = 0; j < m; j++) s += Math.random();\n return s;\n };\n }\n };\n d3.scale = {};\n function d3_scaleExtent(domain) {\n var start = domain[0], stop = domain[domain.length - 1];\n return start < stop ? [ start, stop ] : [ stop, start ];\n }\n function d3_scaleRange(scale) {\n return scale.rangeExtent ? scale.rangeExtent() : d3_scaleExtent(scale.range());\n }\n function d3_scale_bilinear(domain, range, uninterpolate, interpolate) {\n var u = uninterpolate(domain[0], domain[1]), i = interpolate(range[0], range[1]);\n return function(x) {\n return i(u(x));\n };\n }\n function d3_scale_nice(domain, nice) {\n var i0 = 0, i1 = domain.length - 1, x0 = domain[i0], x1 = domain[i1], dx;\n if (x1 < x0) {\n dx = i0, i0 = i1, i1 = dx;\n dx = x0, x0 = x1, x1 = dx;\n }\n domain[i0] = nice.floor(x0);\n domain[i1] = nice.ceil(x1);\n return domain;\n }\n function d3_scale_niceStep(step) {\n return step ? {\n floor: function(x) {\n return Math.floor(x / step) * step;\n },\n ceil: function(x) {\n return Math.ceil(x / step) * step;\n }\n } : d3_scale_niceIdentity;\n }\n var d3_scale_niceIdentity = {\n floor: d3_identity,\n ceil: d3_identity\n };\n function d3_scale_polylinear(domain, range, uninterpolate, interpolate) {\n var u = [], i = [], j = 0, k = Math.min(domain.length, range.length) - 1;\n if (domain[k] < domain[0]) {\n domain = domain.slice().reverse();\n range = range.slice().reverse();\n }\n while (++j <= k) {\n u.push(uninterpolate(domain[j - 1], domain[j]));\n i.push(interpolate(range[j - 1], range[j]));\n }\n return function(x) {\n var j = d3.bisect(domain, x, 1, k) - 1;\n return i[j](u[j](x));\n };\n }\n d3.scale.linear = function() {\n return d3_scale_linear([ 0, 1 ], [ 0, 1 ], d3_interpolate, false);\n };\n function d3_scale_linear(domain, range, interpolate, clamp) {\n var output, input;\n function rescale() {\n var linear = Math.min(domain.length, range.length) > 2 ? d3_scale_polylinear : d3_scale_bilinear, uninterpolate = clamp ? d3_uninterpolateClamp : d3_uninterpolateNumber;\n output = linear(domain, range, uninterpolate, interpolate);\n input = linear(range, domain, uninterpolate, d3_interpolate);\n return scale;\n }\n function scale(x) {\n return output(x);\n }\n scale.invert = function(y) {\n return input(y);\n };\n scale.domain = function(x) {\n if (!arguments.length) return domain;\n domain = x.map(Number);\n return rescale();\n };\n scale.range = function(x) {\n if (!arguments.length) return range;\n range = x;\n return rescale();\n };\n scale.rangeRound = function(x) {\n return scale.range(x).interpolate(d3_interpolateRound);\n };\n scale.clamp = function(x) {\n if (!arguments.length) return clamp;\n clamp = x;\n return rescale();\n };\n scale.interpolate = function(x) {\n if (!arguments.length) return interpolate;\n interpolate = x;\n return rescale();\n };\n scale.ticks = function(m) {\n return d3_scale_linearTicks(domain, m);\n };\n scale.tickFormat = function(m, format) {\n return d3_scale_linearTickFormat(domain, m, format);\n };\n scale.nice = function(m) {\n d3_scale_linearNice(domain, m);\n return rescale();\n };\n scale.copy = function() {\n return d3_scale_linear(domain, range, interpolate, clamp);\n };\n return rescale();\n }\n function d3_scale_linearRebind(scale, linear) {\n return d3.rebind(scale, linear, \"range\", \"rangeRound\", \"interpolate\", \"clamp\");\n }\n function d3_scale_linearNice(domain, m) {\n d3_scale_nice(domain, d3_scale_niceStep(d3_scale_linearTickRange(domain, m)[2]));\n d3_scale_nice(domain, d3_scale_niceStep(d3_scale_linearTickRange(domain, m)[2]));\n return domain;\n }\n function d3_scale_linearTickRange(domain, m) {\n if (m == null) m = 10;\n var extent = d3_scaleExtent(domain), span = extent[1] - extent[0], step = Math.pow(10, Math.floor(Math.log(span / m) / Math.LN10)), err = m / span * step;\n if (err <= .15) step *= 10; else if (err <= .35) step *= 5; else if (err <= .75) step *= 2;\n extent[0] = Math.ceil(extent[0] / step) * step;\n extent[1] = Math.floor(extent[1] / step) * step + step * .5;\n extent[2] = step;\n return extent;\n }\n function d3_scale_linearTicks(domain, m) {\n return d3.range.apply(d3, d3_scale_linearTickRange(domain, m));\n }\n function d3_scale_linearTickFormat(domain, m, format) {\n var range = d3_scale_linearTickRange(domain, m);\n if (format) {\n var match = d3_format_re.exec(format);\n match.shift();\n if (match[8] === \"s\") {\n var prefix = d3.formatPrefix(Math.max(abs(range[0]), abs(range[1])));\n if (!match[7]) match[7] = \".\" + d3_scale_linearPrecision(prefix.scale(range[2]));\n match[8] = \"f\";\n format = d3.format(match.join(\"\"));\n return function(d) {\n return format(prefix.scale(d)) + prefix.symbol;\n };\n }\n if (!match[7]) match[7] = \".\" + d3_scale_linearFormatPrecision(match[8], range);\n format = match.join(\"\");\n } else {\n format = \",.\" + d3_scale_linearPrecision(range[2]) + \"f\";\n }\n return d3.format(format);\n }\n var d3_scale_linearFormatSignificant = {\n s: 1,\n g: 1,\n p: 1,\n r: 1,\n e: 1\n };\n function d3_scale_linearPrecision(value) {\n return -Math.floor(Math.log(value) / Math.LN10 + .01);\n }\n function d3_scale_linearFormatPrecision(type, range) {\n var p = d3_scale_linearPrecision(range[2]);\n return type in d3_scale_linearFormatSignificant ? Math.abs(p - d3_scale_linearPrecision(Math.max(abs(range[0]), abs(range[1])))) + +(type !== \"e\") : p - (type === \"%\") * 2;\n }\n d3.scale.log = function() {\n return d3_scale_log(d3.scale.linear().domain([ 0, 1 ]), 10, true, [ 1, 10 ]);\n };\n function d3_scale_log(linear, base, positive, domain) {\n function log(x) {\n return (positive ? Math.log(x < 0 ? 0 : x) : -Math.log(x > 0 ? 0 : -x)) / Math.log(base);\n }\n function pow(x) {\n return positive ? Math.pow(base, x) : -Math.pow(base, -x);\n }\n function scale(x) {\n return linear(log(x));\n }\n scale.invert = function(x) {\n return pow(linear.invert(x));\n };\n scale.domain = function(x) {\n if (!arguments.length) return domain;\n positive = x[0] >= 0;\n linear.domain((domain = x.map(Number)).map(log));\n return scale;\n };\n scale.base = function(_) {\n if (!arguments.length) return base;\n base = +_;\n linear.domain(domain.map(log));\n return scale;\n };\n scale.nice = function() {\n var niced = d3_scale_nice(domain.map(log), positive ? Math : d3_scale_logNiceNegative);\n linear.domain(niced);\n domain = niced.map(pow);\n return scale;\n };\n scale.ticks = function() {\n var extent = d3_scaleExtent(domain), ticks = [], u = extent[0], v = extent[1], i = Math.floor(log(u)), j = Math.ceil(log(v)), n = base % 1 ? 2 : base;\n if (isFinite(j - i)) {\n if (positive) {\n for (;i < j; i++) for (var k = 1; k < n; k++) ticks.push(pow(i) * k);\n ticks.push(pow(i));\n } else {\n ticks.push(pow(i));\n for (;i++ < j; ) for (var k = n - 1; k > 0; k--) ticks.push(pow(i) * k);\n }\n for (i = 0; ticks[i] < u; i++) {}\n for (j = ticks.length; ticks[j - 1] > v; j--) {}\n ticks = ticks.slice(i, j);\n }\n return ticks;\n };\n scale.tickFormat = function(n, format) {\n if (!arguments.length) return d3_scale_logFormat;\n if (arguments.length < 2) format = d3_scale_logFormat; else if (typeof format !== \"function\") format = d3.format(format);\n var k = Math.max(1, base * n / scale.ticks().length);\n return function(d) {\n var i = d / pow(Math.round(log(d)));\n if (i * base < base - .5) i *= base;\n return i <= k ? format(d) : \"\";\n };\n };\n scale.copy = function() {\n return d3_scale_log(linear.copy(), base, positive, domain);\n };\n return d3_scale_linearRebind(scale, linear);\n }\n var d3_scale_logFormat = d3.format(\".0e\"), d3_scale_logNiceNegative = {\n floor: function(x) {\n return -Math.ceil(-x);\n },\n ceil: function(x) {\n return -Math.floor(-x);\n }\n };\n d3.scale.pow = function() {\n return d3_scale_pow(d3.scale.linear(), 1, [ 0, 1 ]);\n };\n function d3_scale_pow(linear, exponent, domain) {\n var powp = d3_scale_powPow(exponent), powb = d3_scale_powPow(1 / exponent);\n function scale(x) {\n return linear(powp(x));\n }\n scale.invert = function(x) {\n return powb(linear.invert(x));\n };\n scale.domain = function(x) {\n if (!arguments.length) return domain;\n linear.domain((domain = x.map(Number)).map(powp));\n return scale;\n };\n scale.ticks = function(m) {\n return d3_scale_linearTicks(domain, m);\n };\n scale.tickFormat = function(m, format) {\n return d3_scale_linearTickFormat(domain, m, format);\n };\n scale.nice = function(m) {\n return scale.domain(d3_scale_linearNice(domain, m));\n };\n scale.exponent = function(x) {\n if (!arguments.length) return exponent;\n powp = d3_scale_powPow(exponent = x);\n powb = d3_scale_powPow(1 / exponent);\n linear.domain(domain.map(powp));\n return scale;\n };\n scale.copy = function() {\n return d3_scale_pow(linear.copy(), exponent, domain);\n };\n return d3_scale_linearRebind(scale, linear);\n }\n function d3_scale_powPow(e) {\n return function(x) {\n return x < 0 ? -Math.pow(-x, e) : Math.pow(x, e);\n };\n }\n d3.scale.sqrt = function() {\n return d3.scale.pow().exponent(.5);\n };\n d3.scale.ordinal = function() {\n return d3_scale_ordinal([], {\n t: \"range\",\n a: [ [] ]\n });\n };\n function d3_scale_ordinal(domain, ranger) {\n var index, range, rangeBand;\n function scale(x) {\n return range[((index.get(x) || (ranger.t === \"range\" ? index.set(x, domain.push(x)) : NaN)) - 1) % range.length];\n }\n function steps(start, step) {\n return d3.range(domain.length).map(function(i) {\n return start + step * i;\n });\n }\n scale.domain = function(x) {\n if (!arguments.length) return domain;\n domain = [];\n index = new d3_Map();\n var i = -1, n = x.length, xi;\n while (++i < n) if (!index.has(xi = x[i])) index.set(xi, domain.push(xi));\n return scale[ranger.t].apply(scale, ranger.a);\n };\n scale.range = function(x) {\n if (!arguments.length) return range;\n range = x;\n rangeBand = 0;\n ranger = {\n t: \"range\",\n a: arguments\n };\n return scale;\n };\n scale.rangePoints = function(x, padding) {\n if (arguments.length < 2) padding = 0;\n var start = x[0], stop = x[1], step = domain.length < 2 ? (start = (start + stop) / 2, \n 0) : (stop - start) / (domain.length - 1 + padding);\n range = steps(start + step * padding / 2, step);\n rangeBand = 0;\n ranger = {\n t: \"rangePoints\",\n a: arguments\n };\n return scale;\n };\n scale.rangeRoundPoints = function(x, padding) {\n if (arguments.length < 2) padding = 0;\n var start = x[0], stop = x[1], step = domain.length < 2 ? (start = stop = Math.round((start + stop) / 2), \n 0) : (stop - start) / (domain.length - 1 + padding) | 0;\n range = steps(start + Math.round(step * padding / 2 + (stop - start - (domain.length - 1 + padding) * step) / 2), step);\n rangeBand = 0;\n ranger = {\n t: \"rangeRoundPoints\",\n a: arguments\n };\n return scale;\n };\n scale.rangeBands = function(x, padding, outerPadding) {\n if (arguments.length < 2) padding = 0;\n if (arguments.length < 3) outerPadding = padding;\n var reverse = x[1] < x[0], start = x[reverse - 0], stop = x[1 - reverse], step = (stop - start) / (domain.length - padding + 2 * outerPadding);\n range = steps(start + step * outerPadding, step);\n if (reverse) range.reverse();\n rangeBand = step * (1 - padding);\n ranger = {\n t: \"rangeBands\",\n a: arguments\n };\n return scale;\n };\n scale.rangeRoundBands = function(x, padding, outerPadding) {\n if (arguments.length < 2) padding = 0;\n if (arguments.length < 3) outerPadding = padding;\n var reverse = x[1] < x[0], start = x[reverse - 0], stop = x[1 - reverse], step = Math.floor((stop - start) / (domain.length - padding + 2 * outerPadding));\n range = steps(start + Math.round((stop - start - (domain.length - padding) * step) / 2), step);\n if (reverse) range.reverse();\n rangeBand = Math.round(step * (1 - padding));\n ranger = {\n t: \"rangeRoundBands\",\n a: arguments\n };\n return scale;\n };\n scale.rangeBand = function() {\n return rangeBand;\n };\n scale.rangeExtent = function() {\n return d3_scaleExtent(ranger.a[0]);\n };\n scale.copy = function() {\n return d3_scale_ordinal(domain, ranger);\n };\n return scale.domain(domain);\n }\n d3.scale.category10 = function() {\n return d3.scale.ordinal().range(d3_category10);\n };\n d3.scale.category20 = function() {\n return d3.scale.ordinal().range(d3_category20);\n };\n d3.scale.category20b = function() {\n return d3.scale.ordinal().range(d3_category20b);\n };\n d3.scale.category20c = function() {\n return d3.scale.ordinal().range(d3_category20c);\n };\n var d3_category10 = [ 2062260, 16744206, 2924588, 14034728, 9725885, 9197131, 14907330, 8355711, 12369186, 1556175 ].map(d3_rgbString);\n var d3_category20 = [ 2062260, 11454440, 16744206, 16759672, 2924588, 10018698, 14034728, 16750742, 9725885, 12955861, 9197131, 12885140, 14907330, 16234194, 8355711, 13092807, 12369186, 14408589, 1556175, 10410725 ].map(d3_rgbString);\n var d3_category20b = [ 3750777, 5395619, 7040719, 10264286, 6519097, 9216594, 11915115, 13556636, 9202993, 12426809, 15186514, 15190932, 8666169, 11356490, 14049643, 15177372, 8077683, 10834324, 13528509, 14589654 ].map(d3_rgbString);\n var d3_category20c = [ 3244733, 7057110, 10406625, 13032431, 15095053, 16616764, 16625259, 16634018, 3253076, 7652470, 10607003, 13101504, 7695281, 10394312, 12369372, 14342891, 6513507, 9868950, 12434877, 14277081 ].map(d3_rgbString);\n d3.scale.quantile = function() {\n return d3_scale_quantile([], []);\n };\n function d3_scale_quantile(domain, range) {\n var thresholds;\n function rescale() {\n var k = 0, q = range.length;\n thresholds = [];\n while (++k < q) thresholds[k - 1] = d3.quantile(domain, k / q);\n return scale;\n }\n function scale(x) {\n if (!isNaN(x = +x)) return range[d3.bisect(thresholds, x)];\n }\n scale.domain = function(x) {\n if (!arguments.length) return domain;\n domain = x.map(d3_number).filter(d3_numeric).sort(d3_ascending);\n return rescale();\n };\n scale.range = function(x) {\n if (!arguments.length) return range;\n range = x;\n return rescale();\n };\n scale.quantiles = function() {\n return thresholds;\n };\n scale.invertExtent = function(y) {\n y = range.indexOf(y);\n return y < 0 ? [ NaN, NaN ] : [ y > 0 ? thresholds[y - 1] : domain[0], y < thresholds.length ? thresholds[y] : domain[domain.length - 1] ];\n };\n scale.copy = function() {\n return d3_scale_quantile(domain, range);\n };\n return rescale();\n }\n d3.scale.quantize = function() {\n return d3_scale_quantize(0, 1, [ 0, 1 ]);\n };\n function d3_scale_quantize(x0, x1, range) {\n var kx, i;\n function scale(x) {\n return range[Math.max(0, Math.min(i, Math.floor(kx * (x - x0))))];\n }\n function rescale() {\n kx = range.length / (x1 - x0);\n i = range.length - 1;\n return scale;\n }\n scale.domain = function(x) {\n if (!arguments.length) return [ x0, x1 ];\n x0 = +x[0];\n x1 = +x[x.length - 1];\n return rescale();\n };\n scale.range = function(x) {\n if (!arguments.length) return range;\n range = x;\n return rescale();\n };\n scale.invertExtent = function(y) {\n y = range.indexOf(y);\n y = y < 0 ? NaN : y / kx + x0;\n return [ y, y + 1 / kx ];\n };\n scale.copy = function() {\n return d3_scale_quantize(x0, x1, range);\n };\n return rescale();\n }\n d3.scale.threshold = function() {\n return d3_scale_threshold([ .5 ], [ 0, 1 ]);\n };\n function d3_scale_threshold(domain, range) {\n function scale(x) {\n if (x <= x) return range[d3.bisect(domain, x)];\n }\n scale.domain = function(_) {\n if (!arguments.length) return domain;\n domain = _;\n return scale;\n };\n scale.range = function(_) {\n if (!arguments.length) return range;\n range = _;\n return scale;\n };\n scale.invertExtent = function(y) {\n y = range.indexOf(y);\n return [ domain[y - 1], domain[y] ];\n };\n scale.copy = function() {\n return d3_scale_threshold(domain, range);\n };\n return scale;\n }\n d3.scale.identity = function() {\n return d3_scale_identity([ 0, 1 ]);\n };\n function d3_scale_identity(domain) {\n function identity(x) {\n return +x;\n }\n identity.invert = identity;\n identity.domain = identity.range = function(x) {\n if (!arguments.length) return domain;\n domain = x.map(identity);\n return identity;\n };\n identity.ticks = function(m) {\n return d3_scale_linearTicks(domain, m);\n };\n identity.tickFormat = function(m, format) {\n return d3_scale_linearTickFormat(domain, m, format);\n };\n identity.copy = function() {\n return d3_scale_identity(domain);\n };\n return identity;\n }\n d3.svg = {};\n function d3_zero() {\n return 0;\n }\n d3.svg.arc = function() {\n var innerRadius = d3_svg_arcInnerRadius, outerRadius = d3_svg_arcOuterRadius, cornerRadius = d3_zero, padRadius = d3_svg_arcAuto, startAngle = d3_svg_arcStartAngle, endAngle = d3_svg_arcEndAngle, padAngle = d3_svg_arcPadAngle;\n function arc() {\n var r0 = Math.max(0, +innerRadius.apply(this, arguments)), r1 = Math.max(0, +outerRadius.apply(this, arguments)), a0 = startAngle.apply(this, arguments) - halfπ, a1 = endAngle.apply(this, arguments) - halfπ, da = Math.abs(a1 - a0), cw = a0 > a1 ? 0 : 1;\n if (r1 < r0) rc = r1, r1 = r0, r0 = rc;\n if (da >= τε) return circleSegment(r1, cw) + (r0 ? circleSegment(r0, 1 - cw) : \"\") + \"Z\";\n var rc, cr, rp, ap, p0 = 0, p1 = 0, x0, y0, x1, y1, x2, y2, x3, y3, path = [];\n if (ap = (+padAngle.apply(this, arguments) || 0) / 2) {\n rp = padRadius === d3_svg_arcAuto ? Math.sqrt(r0 * r0 + r1 * r1) : +padRadius.apply(this, arguments);\n if (!cw) p1 *= -1;\n if (r1) p1 = d3_asin(rp / r1 * Math.sin(ap));\n if (r0) p0 = d3_asin(rp / r0 * Math.sin(ap));\n }\n if (r1) {\n x0 = r1 * Math.cos(a0 + p1);\n y0 = r1 * Math.sin(a0 + p1);\n x1 = r1 * Math.cos(a1 - p1);\n y1 = r1 * Math.sin(a1 - p1);\n var l1 = Math.abs(a1 - a0 - 2 * p1) <= π ? 0 : 1;\n if (p1 && d3_svg_arcSweep(x0, y0, x1, y1) === cw ^ l1) {\n var h1 = (a0 + a1) / 2;\n x0 = r1 * Math.cos(h1);\n y0 = r1 * Math.sin(h1);\n x1 = y1 = null;\n }\n } else {\n x0 = y0 = 0;\n }\n if (r0) {\n x2 = r0 * Math.cos(a1 - p0);\n y2 = r0 * Math.sin(a1 - p0);\n x3 = r0 * Math.cos(a0 + p0);\n y3 = r0 * Math.sin(a0 + p0);\n var l0 = Math.abs(a0 - a1 + 2 * p0) <= π ? 0 : 1;\n if (p0 && d3_svg_arcSweep(x2, y2, x3, y3) === 1 - cw ^ l0) {\n var h0 = (a0 + a1) / 2;\n x2 = r0 * Math.cos(h0);\n y2 = r0 * Math.sin(h0);\n x3 = y3 = null;\n }\n } else {\n x2 = y2 = 0;\n }\n if (da > ε && (rc = Math.min(Math.abs(r1 - r0) / 2, +cornerRadius.apply(this, arguments))) > .001) {\n cr = r0 < r1 ^ cw ? 0 : 1;\n var rc1 = rc, rc0 = rc;\n if (da < π) {\n var oc = x3 == null ? [ x2, y2 ] : x1 == null ? [ x0, y0 ] : d3_geom_polygonIntersect([ x0, y0 ], [ x3, y3 ], [ x1, y1 ], [ x2, y2 ]), ax = x0 - oc[0], ay = y0 - oc[1], bx = x1 - oc[0], by = y1 - oc[1], kc = 1 / Math.sin(Math.acos((ax * bx + ay * by) / (Math.sqrt(ax * ax + ay * ay) * Math.sqrt(bx * bx + by * by))) / 2), lc = Math.sqrt(oc[0] * oc[0] + oc[1] * oc[1]);\n rc0 = Math.min(rc, (r0 - lc) / (kc - 1));\n rc1 = Math.min(rc, (r1 - lc) / (kc + 1));\n }\n if (x1 != null) {\n var t30 = d3_svg_arcCornerTangents(x3 == null ? [ x2, y2 ] : [ x3, y3 ], [ x0, y0 ], r1, rc1, cw), t12 = d3_svg_arcCornerTangents([ x1, y1 ], [ x2, y2 ], r1, rc1, cw);\n if (rc === rc1) {\n path.push(\"M\", t30[0], \"A\", rc1, \",\", rc1, \" 0 0,\", cr, \" \", t30[1], \"A\", r1, \",\", r1, \" 0 \", 1 - cw ^ d3_svg_arcSweep(t30[1][0], t30[1][1], t12[1][0], t12[1][1]), \",\", cw, \" \", t12[1], \"A\", rc1, \",\", rc1, \" 0 0,\", cr, \" \", t12[0]);\n } else {\n path.push(\"M\", t30[0], \"A\", rc1, \",\", rc1, \" 0 1,\", cr, \" \", t12[0]);\n }\n } else {\n path.push(\"M\", x0, \",\", y0);\n }\n if (x3 != null) {\n var t03 = d3_svg_arcCornerTangents([ x0, y0 ], [ x3, y3 ], r0, -rc0, cw), t21 = d3_svg_arcCornerTangents([ x2, y2 ], x1 == null ? [ x0, y0 ] : [ x1, y1 ], r0, -rc0, cw);\n if (rc === rc0) {\n path.push(\"L\", t21[0], \"A\", rc0, \",\", rc0, \" 0 0,\", cr, \" \", t21[1], \"A\", r0, \",\", r0, \" 0 \", cw ^ d3_svg_arcSweep(t21[1][0], t21[1][1], t03[1][0], t03[1][1]), \",\", 1 - cw, \" \", t03[1], \"A\", rc0, \",\", rc0, \" 0 0,\", cr, \" \", t03[0]);\n } else {\n path.push(\"L\", t21[0], \"A\", rc0, \",\", rc0, \" 0 0,\", cr, \" \", t03[0]);\n }\n } else {\n path.push(\"L\", x2, \",\", y2);\n }\n } else {\n path.push(\"M\", x0, \",\", y0);\n if (x1 != null) path.push(\"A\", r1, \",\", r1, \" 0 \", l1, \",\", cw, \" \", x1, \",\", y1);\n path.push(\"L\", x2, \",\", y2);\n if (x3 != null) path.push(\"A\", r0, \",\", r0, \" 0 \", l0, \",\", 1 - cw, \" \", x3, \",\", y3);\n }\n path.push(\"Z\");\n return path.join(\"\");\n }\n function circleSegment(r1, cw) {\n return \"M0,\" + r1 + \"A\" + r1 + \",\" + r1 + \" 0 1,\" + cw + \" 0,\" + -r1 + \"A\" + r1 + \",\" + r1 + \" 0 1,\" + cw + \" 0,\" + r1;\n }\n arc.innerRadius = function(v) {\n if (!arguments.length) return innerRadius;\n innerRadius = d3_functor(v);\n return arc;\n };\n arc.outerRadius = function(v) {\n if (!arguments.length) return outerRadius;\n outerRadius = d3_functor(v);\n return arc;\n };\n arc.cornerRadius = function(v) {\n if (!arguments.length) return cornerRadius;\n cornerRadius = d3_functor(v);\n return arc;\n };\n arc.padRadius = function(v) {\n if (!arguments.length) return padRadius;\n padRadius = v == d3_svg_arcAuto ? d3_svg_arcAuto : d3_functor(v);\n return arc;\n };\n arc.startAngle = function(v) {\n if (!arguments.length) return startAngle;\n startAngle = d3_functor(v);\n return arc;\n };\n arc.endAngle = function(v) {\n if (!arguments.length) return endAngle;\n endAngle = d3_functor(v);\n return arc;\n };\n arc.padAngle = function(v) {\n if (!arguments.length) return padAngle;\n padAngle = d3_functor(v);\n return arc;\n };\n arc.centroid = function() {\n var r = (+innerRadius.apply(this, arguments) + +outerRadius.apply(this, arguments)) / 2, a = (+startAngle.apply(this, arguments) + +endAngle.apply(this, arguments)) / 2 - halfπ;\n return [ Math.cos(a) * r, Math.sin(a) * r ];\n };\n return arc;\n };\n var d3_svg_arcAuto = \"auto\";\n function d3_svg_arcInnerRadius(d) {\n return d.innerRadius;\n }\n function d3_svg_arcOuterRadius(d) {\n return d.outerRadius;\n }\n function d3_svg_arcStartAngle(d) {\n return d.startAngle;\n }\n function d3_svg_arcEndAngle(d) {\n return d.endAngle;\n }\n function d3_svg_arcPadAngle(d) {\n return d && d.padAngle;\n }\n function d3_svg_arcSweep(x0, y0, x1, y1) {\n return (x0 - x1) * y0 - (y0 - y1) * x0 > 0 ? 0 : 1;\n }\n function d3_svg_arcCornerTangents(p0, p1, r1, rc, cw) {\n var x01 = p0[0] - p1[0], y01 = p0[1] - p1[1], lo = (cw ? rc : -rc) / Math.sqrt(x01 * x01 + y01 * y01), ox = lo * y01, oy = -lo * x01, x1 = p0[0] + ox, y1 = p0[1] + oy, x2 = p1[0] + ox, y2 = p1[1] + oy, x3 = (x1 + x2) / 2, y3 = (y1 + y2) / 2, dx = x2 - x1, dy = y2 - y1, d2 = dx * dx + dy * dy, r = r1 - rc, D = x1 * y2 - x2 * y1, d = (dy < 0 ? -1 : 1) * Math.sqrt(Math.max(0, r * r * d2 - D * D)), cx0 = (D * dy - dx * d) / d2, cy0 = (-D * dx - dy * d) / d2, cx1 = (D * dy + dx * d) / d2, cy1 = (-D * dx + dy * d) / d2, dx0 = cx0 - x3, dy0 = cy0 - y3, dx1 = cx1 - x3, dy1 = cy1 - y3;\n if (dx0 * dx0 + dy0 * dy0 > dx1 * dx1 + dy1 * dy1) cx0 = cx1, cy0 = cy1;\n return [ [ cx0 - ox, cy0 - oy ], [ cx0 * r1 / r, cy0 * r1 / r ] ];\n }\n function d3_svg_line(projection) {\n var x = d3_geom_pointX, y = d3_geom_pointY, defined = d3_true, interpolate = d3_svg_lineLinear, interpolateKey = interpolate.key, tension = .7;\n function line(data) {\n var segments = [], points = [], i = -1, n = data.length, d, fx = d3_functor(x), fy = d3_functor(y);\n function segment() {\n segments.push(\"M\", interpolate(projection(points), tension));\n }\n while (++i < n) {\n if (defined.call(this, d = data[i], i)) {\n points.push([ +fx.call(this, d, i), +fy.call(this, d, i) ]);\n } else if (points.length) {\n segment();\n points = [];\n }\n }\n if (points.length) segment();\n return segments.length ? segments.join(\"\") : null;\n }\n line.x = function(_) {\n if (!arguments.length) return x;\n x = _;\n return line;\n };\n line.y = function(_) {\n if (!arguments.length) return y;\n y = _;\n return line;\n };\n line.defined = function(_) {\n if (!arguments.length) return defined;\n defined = _;\n return line;\n };\n line.interpolate = function(_) {\n if (!arguments.length) return interpolateKey;\n if (typeof _ === \"function\") interpolateKey = interpolate = _; else interpolateKey = (interpolate = d3_svg_lineInterpolators.get(_) || d3_svg_lineLinear).key;\n return line;\n };\n line.tension = function(_) {\n if (!arguments.length) return tension;\n tension = _;\n return line;\n };\n return line;\n }\n d3.svg.line = function() {\n return d3_svg_line(d3_identity);\n };\n var d3_svg_lineInterpolators = d3.map({\n linear: d3_svg_lineLinear,\n \"linear-closed\": d3_svg_lineLinearClosed,\n step: d3_svg_lineStep,\n \"step-before\": d3_svg_lineStepBefore,\n \"step-after\": d3_svg_lineStepAfter,\n basis: d3_svg_lineBasis,\n \"basis-open\": d3_svg_lineBasisOpen,\n \"basis-closed\": d3_svg_lineBasisClosed,\n bundle: d3_svg_lineBundle,\n cardinal: d3_svg_lineCardinal,\n \"cardinal-open\": d3_svg_lineCardinalOpen,\n \"cardinal-closed\": d3_svg_lineCardinalClosed,\n monotone: d3_svg_lineMonotone\n });\n d3_svg_lineInterpolators.forEach(function(key, value) {\n value.key = key;\n value.closed = /-closed$/.test(key);\n });\n function d3_svg_lineLinear(points) {\n return points.length > 1 ? points.join(\"L\") : points + \"Z\";\n }\n function d3_svg_lineLinearClosed(points) {\n return points.join(\"L\") + \"Z\";\n }\n function d3_svg_lineStep(points) {\n var i = 0, n = points.length, p = points[0], path = [ p[0], \",\", p[1] ];\n while (++i < n) path.push(\"H\", (p[0] + (p = points[i])[0]) / 2, \"V\", p[1]);\n if (n > 1) path.push(\"H\", p[0]);\n return path.join(\"\");\n }\n function d3_svg_lineStepBefore(points) {\n var i = 0, n = points.length, p = points[0], path = [ p[0], \",\", p[1] ];\n while (++i < n) path.push(\"V\", (p = points[i])[1], \"H\", p[0]);\n return path.join(\"\");\n }\n function d3_svg_lineStepAfter(points) {\n var i = 0, n = points.length, p = points[0], path = [ p[0], \",\", p[1] ];\n while (++i < n) path.push(\"H\", (p = points[i])[0], \"V\", p[1]);\n return path.join(\"\");\n }\n function d3_svg_lineCardinalOpen(points, tension) {\n return points.length < 4 ? d3_svg_lineLinear(points) : points[1] + d3_svg_lineHermite(points.slice(1, -1), d3_svg_lineCardinalTangents(points, tension));\n }\n function d3_svg_lineCardinalClosed(points, tension) {\n return points.length < 3 ? d3_svg_lineLinearClosed(points) : points[0] + d3_svg_lineHermite((points.push(points[0]), \n points), d3_svg_lineCardinalTangents([ points[points.length - 2] ].concat(points, [ points[1] ]), tension));\n }\n function d3_svg_lineCardinal(points, tension) {\n return points.length < 3 ? d3_svg_lineLinear(points) : points[0] + d3_svg_lineHermite(points, d3_svg_lineCardinalTangents(points, tension));\n }\n function d3_svg_lineHermite(points, tangents) {\n if (tangents.length < 1 || points.length != tangents.length && points.length != tangents.length + 2) {\n return d3_svg_lineLinear(points);\n }\n var quad = points.length != tangents.length, path = \"\", p0 = points[0], p = points[1], t0 = tangents[0], t = t0, pi = 1;\n if (quad) {\n path += \"Q\" + (p[0] - t0[0] * 2 / 3) + \",\" + (p[1] - t0[1] * 2 / 3) + \",\" + p[0] + \",\" + p[1];\n p0 = points[1];\n pi = 2;\n }\n if (tangents.length > 1) {\n t = tangents[1];\n p = points[pi];\n pi++;\n path += \"C\" + (p0[0] + t0[0]) + \",\" + (p0[1] + t0[1]) + \",\" + (p[0] - t[0]) + \",\" + (p[1] - t[1]) + \",\" + p[0] + \",\" + p[1];\n for (var i = 2; i < tangents.length; i++, pi++) {\n p = points[pi];\n t = tangents[i];\n path += \"S\" + (p[0] - t[0]) + \",\" + (p[1] - t[1]) + \",\" + p[0] + \",\" + p[1];\n }\n }\n if (quad) {\n var lp = points[pi];\n path += \"Q\" + (p[0] + t[0] * 2 / 3) + \",\" + (p[1] + t[1] * 2 / 3) + \",\" + lp[0] + \",\" + lp[1];\n }\n return path;\n }\n function d3_svg_lineCardinalTangents(points, tension) {\n var tangents = [], a = (1 - tension) / 2, p0, p1 = points[0], p2 = points[1], i = 1, n = points.length;\n while (++i < n) {\n p0 = p1;\n p1 = p2;\n p2 = points[i];\n tangents.push([ a * (p2[0] - p0[0]), a * (p2[1] - p0[1]) ]);\n }\n return tangents;\n }\n function d3_svg_lineBasis(points) {\n if (points.length < 3) return d3_svg_lineLinear(points);\n var i = 1, n = points.length, pi = points[0], x0 = pi[0], y0 = pi[1], px = [ x0, x0, x0, (pi = points[1])[0] ], py = [ y0, y0, y0, pi[1] ], path = [ x0, \",\", y0, \"L\", d3_svg_lineDot4(d3_svg_lineBasisBezier3, px), \",\", d3_svg_lineDot4(d3_svg_lineBasisBezier3, py) ];\n points.push(points[n - 1]);\n while (++i <= n) {\n pi = points[i];\n px.shift();\n px.push(pi[0]);\n py.shift();\n py.push(pi[1]);\n d3_svg_lineBasisBezier(path, px, py);\n }\n points.pop();\n path.push(\"L\", pi);\n return path.join(\"\");\n }\n function d3_svg_lineBasisOpen(points) {\n if (points.length < 4) return d3_svg_lineLinear(points);\n var path = [], i = -1, n = points.length, pi, px = [ 0 ], py = [ 0 ];\n while (++i < 3) {\n pi = points[i];\n px.push(pi[0]);\n py.push(pi[1]);\n }\n path.push(d3_svg_lineDot4(d3_svg_lineBasisBezier3, px) + \",\" + d3_svg_lineDot4(d3_svg_lineBasisBezier3, py));\n --i;\n while (++i < n) {\n pi = points[i];\n px.shift();\n px.push(pi[0]);\n py.shift();\n py.push(pi[1]);\n d3_svg_lineBasisBezier(path, px, py);\n }\n return path.join(\"\");\n }\n function d3_svg_lineBasisClosed(points) {\n var path, i = -1, n = points.length, m = n + 4, pi, px = [], py = [];\n while (++i < 4) {\n pi = points[i % n];\n px.push(pi[0]);\n py.push(pi[1]);\n }\n path = [ d3_svg_lineDot4(d3_svg_lineBasisBezier3, px), \",\", d3_svg_lineDot4(d3_svg_lineBasisBezier3, py) ];\n --i;\n while (++i < m) {\n pi = points[i % n];\n px.shift();\n px.push(pi[0]);\n py.shift();\n py.push(pi[1]);\n d3_svg_lineBasisBezier(path, px, py);\n }\n return path.join(\"\");\n }\n function d3_svg_lineBundle(points, tension) {\n var n = points.length - 1;\n if (n) {\n var x0 = points[0][0], y0 = points[0][1], dx = points[n][0] - x0, dy = points[n][1] - y0, i = -1, p, t;\n while (++i <= n) {\n p = points[i];\n t = i / n;\n p[0] = tension * p[0] + (1 - tension) * (x0 + t * dx);\n p[1] = tension * p[1] + (1 - tension) * (y0 + t * dy);\n }\n }\n return d3_svg_lineBasis(points);\n }\n function d3_svg_lineDot4(a, b) {\n return a[0] * b[0] + a[1] * b[1] + a[2] * b[2] + a[3] * b[3];\n }\n var d3_svg_lineBasisBezier1 = [ 0, 2 / 3, 1 / 3, 0 ], d3_svg_lineBasisBezier2 = [ 0, 1 / 3, 2 / 3, 0 ], d3_svg_lineBasisBezier3 = [ 0, 1 / 6, 2 / 3, 1 / 6 ];\n function d3_svg_lineBasisBezier(path, x, y) {\n path.push(\"C\", d3_svg_lineDot4(d3_svg_lineBasisBezier1, x), \",\", d3_svg_lineDot4(d3_svg_lineBasisBezier1, y), \",\", d3_svg_lineDot4(d3_svg_lineBasisBezier2, x), \",\", d3_svg_lineDot4(d3_svg_lineBasisBezier2, y), \",\", d3_svg_lineDot4(d3_svg_lineBasisBezier3, x), \",\", d3_svg_lineDot4(d3_svg_lineBasisBezier3, y));\n }\n function d3_svg_lineSlope(p0, p1) {\n return (p1[1] - p0[1]) / (p1[0] - p0[0]);\n }\n function d3_svg_lineFiniteDifferences(points) {\n var i = 0, j = points.length - 1, m = [], p0 = points[0], p1 = points[1], d = m[0] = d3_svg_lineSlope(p0, p1);\n while (++i < j) {\n m[i] = (d + (d = d3_svg_lineSlope(p0 = p1, p1 = points[i + 1]))) / 2;\n }\n m[i] = d;\n return m;\n }\n function d3_svg_lineMonotoneTangents(points) {\n var tangents = [], d, a, b, s, m = d3_svg_lineFiniteDifferences(points), i = -1, j = points.length - 1;\n while (++i < j) {\n d = d3_svg_lineSlope(points[i], points[i + 1]);\n if (abs(d) < ε) {\n m[i] = m[i + 1] = 0;\n } else {\n a = m[i] / d;\n b = m[i + 1] / d;\n s = a * a + b * b;\n if (s > 9) {\n s = d * 3 / Math.sqrt(s);\n m[i] = s * a;\n m[i + 1] = s * b;\n }\n }\n }\n i = -1;\n while (++i <= j) {\n s = (points[Math.min(j, i + 1)][0] - points[Math.max(0, i - 1)][0]) / (6 * (1 + m[i] * m[i]));\n tangents.push([ s || 0, m[i] * s || 0 ]);\n }\n return tangents;\n }\n function d3_svg_lineMonotone(points) {\n return points.length < 3 ? d3_svg_lineLinear(points) : points[0] + d3_svg_lineHermite(points, d3_svg_lineMonotoneTangents(points));\n }\n d3.svg.line.radial = function() {\n var line = d3_svg_line(d3_svg_lineRadial);\n line.radius = line.x, delete line.x;\n line.angle = line.y, delete line.y;\n return line;\n };\n function d3_svg_lineRadial(points) {\n var point, i = -1, n = points.length, r, a;\n while (++i < n) {\n point = points[i];\n r = point[0];\n a = point[1] - halfπ;\n point[0] = r * Math.cos(a);\n point[1] = r * Math.sin(a);\n }\n return points;\n }\n function d3_svg_area(projection) {\n var x0 = d3_geom_pointX, x1 = d3_geom_pointX, y0 = 0, y1 = d3_geom_pointY, defined = d3_true, interpolate = d3_svg_lineLinear, interpolateKey = interpolate.key, interpolateReverse = interpolate, L = \"L\", tension = .7;\n function area(data) {\n var segments = [], points0 = [], points1 = [], i = -1, n = data.length, d, fx0 = d3_functor(x0), fy0 = d3_functor(y0), fx1 = x0 === x1 ? function() {\n return x;\n } : d3_functor(x1), fy1 = y0 === y1 ? function() {\n return y;\n } : d3_functor(y1), x, y;\n function segment() {\n segments.push(\"M\", interpolate(projection(points1), tension), L, interpolateReverse(projection(points0.reverse()), tension), \"Z\");\n }\n while (++i < n) {\n if (defined.call(this, d = data[i], i)) {\n points0.push([ x = +fx0.call(this, d, i), y = +fy0.call(this, d, i) ]);\n points1.push([ +fx1.call(this, d, i), +fy1.call(this, d, i) ]);\n } else if (points0.length) {\n segment();\n points0 = [];\n points1 = [];\n }\n }\n if (points0.length) segment();\n return segments.length ? segments.join(\"\") : null;\n }\n area.x = function(_) {\n if (!arguments.length) return x1;\n x0 = x1 = _;\n return area;\n };\n area.x0 = function(_) {\n if (!arguments.length) return x0;\n x0 = _;\n return area;\n };\n area.x1 = function(_) {\n if (!arguments.length) return x1;\n x1 = _;\n return area;\n };\n area.y = function(_) {\n if (!arguments.length) return y1;\n y0 = y1 = _;\n return area;\n };\n area.y0 = function(_) {\n if (!arguments.length) return y0;\n y0 = _;\n return area;\n };\n area.y1 = function(_) {\n if (!arguments.length) return y1;\n y1 = _;\n return area;\n };\n area.defined = function(_) {\n if (!arguments.length) return defined;\n defined = _;\n return area;\n };\n area.interpolate = function(_) {\n if (!arguments.length) return interpolateKey;\n if (typeof _ === \"function\") interpolateKey = interpolate = _; else interpolateKey = (interpolate = d3_svg_lineInterpolators.get(_) || d3_svg_lineLinear).key;\n interpolateReverse = interpolate.reverse || interpolate;\n L = interpolate.closed ? \"M\" : \"L\";\n return area;\n };\n area.tension = function(_) {\n if (!arguments.length) return tension;\n tension = _;\n return area;\n };\n return area;\n }\n d3_svg_lineStepBefore.reverse = d3_svg_lineStepAfter;\n d3_svg_lineStepAfter.reverse = d3_svg_lineStepBefore;\n d3.svg.area = function() {\n return d3_svg_area(d3_identity);\n };\n d3.svg.area.radial = function() {\n var area = d3_svg_area(d3_svg_lineRadial);\n area.radius = area.x, delete area.x;\n area.innerRadius = area.x0, delete area.x0;\n area.outerRadius = area.x1, delete area.x1;\n area.angle = area.y, delete area.y;\n area.startAngle = area.y0, delete area.y0;\n area.endAngle = area.y1, delete area.y1;\n return area;\n };\n d3.svg.chord = function() {\n var source = d3_source, target = d3_target, radius = d3_svg_chordRadius, startAngle = d3_svg_arcStartAngle, endAngle = d3_svg_arcEndAngle;\n function chord(d, i) {\n var s = subgroup(this, source, d, i), t = subgroup(this, target, d, i);\n return \"M\" + s.p0 + arc(s.r, s.p1, s.a1 - s.a0) + (equals(s, t) ? curve(s.r, s.p1, s.r, s.p0) : curve(s.r, s.p1, t.r, t.p0) + arc(t.r, t.p1, t.a1 - t.a0) + curve(t.r, t.p1, s.r, s.p0)) + \"Z\";\n }\n function subgroup(self, f, d, i) {\n var subgroup = f.call(self, d, i), r = radius.call(self, subgroup, i), a0 = startAngle.call(self, subgroup, i) - halfπ, a1 = endAngle.call(self, subgroup, i) - halfπ;\n return {\n r: r,\n a0: a0,\n a1: a1,\n p0: [ r * Math.cos(a0), r * Math.sin(a0) ],\n p1: [ r * Math.cos(a1), r * Math.sin(a1) ]\n };\n }\n function equals(a, b) {\n return a.a0 == b.a0 && a.a1 == b.a1;\n }\n function arc(r, p, a) {\n return \"A\" + r + \",\" + r + \" 0 \" + +(a > π) + \",1 \" + p;\n }\n function curve(r0, p0, r1, p1) {\n return \"Q 0,0 \" + p1;\n }\n chord.radius = function(v) {\n if (!arguments.length) return radius;\n radius = d3_functor(v);\n return chord;\n };\n chord.source = function(v) {\n if (!arguments.length) return source;\n source = d3_functor(v);\n return chord;\n };\n chord.target = function(v) {\n if (!arguments.length) return target;\n target = d3_functor(v);\n return chord;\n };\n chord.startAngle = function(v) {\n if (!arguments.length) return startAngle;\n startAngle = d3_functor(v);\n return chord;\n };\n chord.endAngle = function(v) {\n if (!arguments.length) return endAngle;\n endAngle = d3_functor(v);\n return chord;\n };\n return chord;\n };\n function d3_svg_chordRadius(d) {\n return d.radius;\n }\n d3.svg.diagonal = function() {\n var source = d3_source, target = d3_target, projection = d3_svg_diagonalProjection;\n function diagonal(d, i) {\n var p0 = source.call(this, d, i), p3 = target.call(this, d, i), m = (p0.y + p3.y) / 2, p = [ p0, {\n x: p0.x,\n y: m\n }, {\n x: p3.x,\n y: m\n }, p3 ];\n p = p.map(projection);\n return \"M\" + p[0] + \"C\" + p[1] + \" \" + p[2] + \" \" + p[3];\n }\n diagonal.source = function(x) {\n if (!arguments.length) return source;\n source = d3_functor(x);\n return diagonal;\n };\n diagonal.target = function(x) {\n if (!arguments.length) return target;\n target = d3_functor(x);\n return diagonal;\n };\n diagonal.projection = function(x) {\n if (!arguments.length) return projection;\n projection = x;\n return diagonal;\n };\n return diagonal;\n };\n function d3_svg_diagonalProjection(d) {\n return [ d.x, d.y ];\n }\n d3.svg.diagonal.radial = function() {\n var diagonal = d3.svg.diagonal(), projection = d3_svg_diagonalProjection, projection_ = diagonal.projection;\n diagonal.projection = function(x) {\n return arguments.length ? projection_(d3_svg_diagonalRadialProjection(projection = x)) : projection;\n };\n return diagonal;\n };\n function d3_svg_diagonalRadialProjection(projection) {\n return function() {\n var d = projection.apply(this, arguments), r = d[0], a = d[1] - halfπ;\n return [ r * Math.cos(a), r * Math.sin(a) ];\n };\n }\n d3.svg.symbol = function() {\n var type = d3_svg_symbolType, size = d3_svg_symbolSize;\n function symbol(d, i) {\n return (d3_svg_symbols.get(type.call(this, d, i)) || d3_svg_symbolCircle)(size.call(this, d, i));\n }\n symbol.type = function(x) {\n if (!arguments.length) return type;\n type = d3_functor(x);\n return symbol;\n };\n symbol.size = function(x) {\n if (!arguments.length) return size;\n size = d3_functor(x);\n return symbol;\n };\n return symbol;\n };\n function d3_svg_symbolSize() {\n return 64;\n }\n function d3_svg_symbolType() {\n return \"circle\";\n }\n function d3_svg_symbolCircle(size) {\n var r = Math.sqrt(size / π);\n return \"M0,\" + r + \"A\" + r + \",\" + r + \" 0 1,1 0,\" + -r + \"A\" + r + \",\" + r + \" 0 1,1 0,\" + r + \"Z\";\n }\n var d3_svg_symbols = d3.map({\n circle: d3_svg_symbolCircle,\n cross: function(size) {\n var r = Math.sqrt(size / 5) / 2;\n return \"M\" + -3 * r + \",\" + -r + \"H\" + -r + \"V\" + -3 * r + \"H\" + r + \"V\" + -r + \"H\" + 3 * r + \"V\" + r + \"H\" + r + \"V\" + 3 * r + \"H\" + -r + \"V\" + r + \"H\" + -3 * r + \"Z\";\n },\n diamond: function(size) {\n var ry = Math.sqrt(size / (2 * d3_svg_symbolTan30)), rx = ry * d3_svg_symbolTan30;\n return \"M0,\" + -ry + \"L\" + rx + \",0\" + \" 0,\" + ry + \" \" + -rx + \",0\" + \"Z\";\n },\n square: function(size) {\n var r = Math.sqrt(size) / 2;\n return \"M\" + -r + \",\" + -r + \"L\" + r + \",\" + -r + \" \" + r + \",\" + r + \" \" + -r + \",\" + r + \"Z\";\n },\n \"triangle-down\": function(size) {\n var rx = Math.sqrt(size / d3_svg_symbolSqrt3), ry = rx * d3_svg_symbolSqrt3 / 2;\n return \"M0,\" + ry + \"L\" + rx + \",\" + -ry + \" \" + -rx + \",\" + -ry + \"Z\";\n },\n \"triangle-up\": function(size) {\n var rx = Math.sqrt(size / d3_svg_symbolSqrt3), ry = rx * d3_svg_symbolSqrt3 / 2;\n return \"M0,\" + -ry + \"L\" + rx + \",\" + ry + \" \" + -rx + \",\" + ry + \"Z\";\n }\n });\n d3.svg.symbolTypes = d3_svg_symbols.keys();\n var d3_svg_symbolSqrt3 = Math.sqrt(3), d3_svg_symbolTan30 = Math.tan(30 * d3_radians);\n d3_selectionPrototype.transition = function(name) {\n var id = d3_transitionInheritId || ++d3_transitionId, ns = d3_transitionNamespace(name), subgroups = [], subgroup, node, transition = d3_transitionInherit || {\n time: Date.now(),\n ease: d3_ease_cubicInOut,\n delay: 0,\n duration: 250\n };\n for (var j = -1, m = this.length; ++j < m; ) {\n subgroups.push(subgroup = []);\n for (var group = this[j], i = -1, n = group.length; ++i < n; ) {\n if (node = group[i]) d3_transitionNode(node, i, ns, id, transition);\n subgroup.push(node);\n }\n }\n return d3_transition(subgroups, ns, id);\n };\n d3_selectionPrototype.interrupt = function(name) {\n return this.each(name == null ? d3_selection_interrupt : d3_selection_interruptNS(d3_transitionNamespace(name)));\n };\n var d3_selection_interrupt = d3_selection_interruptNS(d3_transitionNamespace());\n function d3_selection_interruptNS(ns) {\n return function() {\n var lock, activeId, active;\n if ((lock = this[ns]) && (active = lock[activeId = lock.active])) {\n active.timer.c = null;\n active.timer.t = NaN;\n if (--lock.count) delete lock[activeId]; else delete this[ns];\n lock.active += .5;\n active.event && active.event.interrupt.call(this, this.__data__, active.index);\n }\n };\n }\n function d3_transition(groups, ns, id) {\n d3_subclass(groups, d3_transitionPrototype);\n groups.namespace = ns;\n groups.id = id;\n return groups;\n }\n var d3_transitionPrototype = [], d3_transitionId = 0, d3_transitionInheritId, d3_transitionInherit;\n d3_transitionPrototype.call = d3_selectionPrototype.call;\n d3_transitionPrototype.empty = d3_selectionPrototype.empty;\n d3_transitionPrototype.node = d3_selectionPrototype.node;\n d3_transitionPrototype.size = d3_selectionPrototype.size;\n d3.transition = function(selection, name) {\n return selection && selection.transition ? d3_transitionInheritId ? selection.transition(name) : selection : d3.selection().transition(selection);\n };\n d3.transition.prototype = d3_transitionPrototype;\n d3_transitionPrototype.select = function(selector) {\n var id = this.id, ns = this.namespace, subgroups = [], subgroup, subnode, node;\n selector = d3_selection_selector(selector);\n for (var j = -1, m = this.length; ++j < m; ) {\n subgroups.push(subgroup = []);\n for (var group = this[j], i = -1, n = group.length; ++i < n; ) {\n if ((node = group[i]) && (subnode = selector.call(node, node.__data__, i, j))) {\n if (\"__data__\" in node) subnode.__data__ = node.__data__;\n d3_transitionNode(subnode, i, ns, id, node[ns][id]);\n subgroup.push(subnode);\n } else {\n subgroup.push(null);\n }\n }\n }\n return d3_transition(subgroups, ns, id);\n };\n d3_transitionPrototype.selectAll = function(selector) {\n var id = this.id, ns = this.namespace, subgroups = [], subgroup, subnodes, node, subnode, transition;\n selector = d3_selection_selectorAll(selector);\n for (var j = -1, m = this.length; ++j < m; ) {\n for (var group = this[j], i = -1, n = group.length; ++i < n; ) {\n if (node = group[i]) {\n transition = node[ns][id];\n subnodes = selector.call(node, node.__data__, i, j);\n subgroups.push(subgroup = []);\n for (var k = -1, o = subnodes.length; ++k < o; ) {\n if (subnode = subnodes[k]) d3_transitionNode(subnode, k, ns, id, transition);\n subgroup.push(subnode);\n }\n }\n }\n }\n return d3_transition(subgroups, ns, id);\n };\n d3_transitionPrototype.filter = function(filter) {\n var subgroups = [], subgroup, group, node;\n if (typeof filter !== \"function\") filter = d3_selection_filter(filter);\n for (var j = 0, m = this.length; j < m; j++) {\n subgroups.push(subgroup = []);\n for (var group = this[j], i = 0, n = group.length; i < n; i++) {\n if ((node = group[i]) && filter.call(node, node.__data__, i, j)) {\n subgroup.push(node);\n }\n }\n }\n return d3_transition(subgroups, this.namespace, this.id);\n };\n d3_transitionPrototype.tween = function(name, tween) {\n var id = this.id, ns = this.namespace;\n if (arguments.length < 2) return this.node()[ns][id].tween.get(name);\n return d3_selection_each(this, tween == null ? function(node) {\n node[ns][id].tween.remove(name);\n } : function(node) {\n node[ns][id].tween.set(name, tween);\n });\n };\n function d3_transition_tween(groups, name, value, tween) {\n var id = groups.id, ns = groups.namespace;\n return d3_selection_each(groups, typeof value === \"function\" ? function(node, i, j) {\n node[ns][id].tween.set(name, tween(value.call(node, node.__data__, i, j)));\n } : (value = tween(value), function(node) {\n node[ns][id].tween.set(name, value);\n }));\n }\n d3_transitionPrototype.attr = function(nameNS, value) {\n if (arguments.length < 2) {\n for (value in nameNS) this.attr(value, nameNS[value]);\n return this;\n }\n var interpolate = nameNS == \"transform\" ? d3_interpolateTransform : d3_interpolate, name = d3.ns.qualify(nameNS);\n function attrNull() {\n this.removeAttribute(name);\n }\n function attrNullNS() {\n this.removeAttributeNS(name.space, name.local);\n }\n function attrTween(b) {\n return b == null ? attrNull : (b += \"\", function() {\n var a = this.getAttribute(name), i;\n return a !== b && (i = interpolate(a, b), function(t) {\n this.setAttribute(name, i(t));\n });\n });\n }\n function attrTweenNS(b) {\n return b == null ? attrNullNS : (b += \"\", function() {\n var a = this.getAttributeNS(name.space, name.local), i;\n return a !== b && (i = interpolate(a, b), function(t) {\n this.setAttributeNS(name.space, name.local, i(t));\n });\n });\n }\n return d3_transition_tween(this, \"attr.\" + nameNS, value, name.local ? attrTweenNS : attrTween);\n };\n d3_transitionPrototype.attrTween = function(nameNS, tween) {\n var name = d3.ns.qualify(nameNS);\n function attrTween(d, i) {\n var f = tween.call(this, d, i, this.getAttribute(name));\n return f && function(t) {\n this.setAttribute(name, f(t));\n };\n }\n function attrTweenNS(d, i) {\n var f = tween.call(this, d, i, this.getAttributeNS(name.space, name.local));\n return f && function(t) {\n this.setAttributeNS(name.space, name.local, f(t));\n };\n }\n return this.tween(\"attr.\" + nameNS, name.local ? attrTweenNS : attrTween);\n };\n d3_transitionPrototype.style = function(name, value, priority) {\n var n = arguments.length;\n if (n < 3) {\n if (typeof name !== \"string\") {\n if (n < 2) value = \"\";\n for (priority in name) this.style(priority, name[priority], value);\n return this;\n }\n priority = \"\";\n }\n function styleNull() {\n this.style.removeProperty(name);\n }\n function styleString(b) {\n return b == null ? styleNull : (b += \"\", function() {\n var a = d3_window(this).getComputedStyle(this, null).getPropertyValue(name), i;\n return a !== b && (i = d3_interpolate(a, b), function(t) {\n this.style.setProperty(name, i(t), priority);\n });\n });\n }\n return d3_transition_tween(this, \"style.\" + name, value, styleString);\n };\n d3_transitionPrototype.styleTween = function(name, tween, priority) {\n if (arguments.length < 3) priority = \"\";\n function styleTween(d, i) {\n var f = tween.call(this, d, i, d3_window(this).getComputedStyle(this, null).getPropertyValue(name));\n return f && function(t) {\n this.style.setProperty(name, f(t), priority);\n };\n }\n return this.tween(\"style.\" + name, styleTween);\n };\n d3_transitionPrototype.text = function(value) {\n return d3_transition_tween(this, \"text\", value, d3_transition_text);\n };\n function d3_transition_text(b) {\n if (b == null) b = \"\";\n return function() {\n this.textContent = b;\n };\n }\n d3_transitionPrototype.remove = function() {\n var ns = this.namespace;\n return this.each(\"end.transition\", function() {\n var p;\n if (this[ns].count < 2 && (p = this.parentNode)) p.removeChild(this);\n });\n };\n d3_transitionPrototype.ease = function(value) {\n var id = this.id, ns = this.namespace;\n if (arguments.length < 1) return this.node()[ns][id].ease;\n if (typeof value !== \"function\") value = d3.ease.apply(d3, arguments);\n return d3_selection_each(this, function(node) {\n node[ns][id].ease = value;\n });\n };\n d3_transitionPrototype.delay = function(value) {\n var id = this.id, ns = this.namespace;\n if (arguments.length < 1) return this.node()[ns][id].delay;\n return d3_selection_each(this, typeof value === \"function\" ? function(node, i, j) {\n node[ns][id].delay = +value.call(node, node.__data__, i, j);\n } : (value = +value, function(node) {\n node[ns][id].delay = value;\n }));\n };\n d3_transitionPrototype.duration = function(value) {\n var id = this.id, ns = this.namespace;\n if (arguments.length < 1) return this.node()[ns][id].duration;\n return d3_selection_each(this, typeof value === \"function\" ? function(node, i, j) {\n node[ns][id].duration = Math.max(1, value.call(node, node.__data__, i, j));\n } : (value = Math.max(1, value), function(node) {\n node[ns][id].duration = value;\n }));\n };\n d3_transitionPrototype.each = function(type, listener) {\n var id = this.id, ns = this.namespace;\n if (arguments.length < 2) {\n var inherit = d3_transitionInherit, inheritId = d3_transitionInheritId;\n try {\n d3_transitionInheritId = id;\n d3_selection_each(this, function(node, i, j) {\n d3_transitionInherit = node[ns][id];\n type.call(node, node.__data__, i, j);\n });\n } finally {\n d3_transitionInherit = inherit;\n d3_transitionInheritId = inheritId;\n }\n } else {\n d3_selection_each(this, function(node) {\n var transition = node[ns][id];\n (transition.event || (transition.event = d3.dispatch(\"start\", \"end\", \"interrupt\"))).on(type, listener);\n });\n }\n return this;\n };\n d3_transitionPrototype.transition = function() {\n var id0 = this.id, id1 = ++d3_transitionId, ns = this.namespace, subgroups = [], subgroup, group, node, transition;\n for (var j = 0, m = this.length; j < m; j++) {\n subgroups.push(subgroup = []);\n for (var group = this[j], i = 0, n = group.length; i < n; i++) {\n if (node = group[i]) {\n transition = node[ns][id0];\n d3_transitionNode(node, i, ns, id1, {\n time: transition.time,\n ease: transition.ease,\n delay: transition.delay + transition.duration,\n duration: transition.duration\n });\n }\n subgroup.push(node);\n }\n }\n return d3_transition(subgroups, ns, id1);\n };\n function d3_transitionNamespace(name) {\n return name == null ? \"__transition__\" : \"__transition_\" + name + \"__\";\n }\n function d3_transitionNode(node, i, ns, id, inherit) {\n var lock = node[ns] || (node[ns] = {\n active: 0,\n count: 0\n }), transition = lock[id], time, timer, duration, ease, tweens;\n function schedule(elapsed) {\n var delay = transition.delay;\n timer.t = delay + time;\n if (delay <= elapsed) return start(elapsed - delay);\n timer.c = start;\n }\n function start(elapsed) {\n var activeId = lock.active, active = lock[activeId];\n if (active) {\n active.timer.c = null;\n active.timer.t = NaN;\n --lock.count;\n delete lock[activeId];\n active.event && active.event.interrupt.call(node, node.__data__, active.index);\n }\n for (var cancelId in lock) {\n if (+cancelId < id) {\n var cancel = lock[cancelId];\n cancel.timer.c = null;\n cancel.timer.t = NaN;\n --lock.count;\n delete lock[cancelId];\n }\n }\n timer.c = tick;\n d3_timer(function() {\n if (timer.c && tick(elapsed || 1)) {\n timer.c = null;\n timer.t = NaN;\n }\n return 1;\n }, 0, time);\n lock.active = id;\n transition.event && transition.event.start.call(node, node.__data__, i);\n tweens = [];\n transition.tween.forEach(function(key, value) {\n if (value = value.call(node, node.__data__, i)) {\n tweens.push(value);\n }\n });\n ease = transition.ease;\n duration = transition.duration;\n }\n function tick(elapsed) {\n var t = elapsed / duration, e = ease(t), n = tweens.length;\n while (n > 0) {\n tweens[--n].call(node, e);\n }\n if (t >= 1) {\n transition.event && transition.event.end.call(node, node.__data__, i);\n if (--lock.count) delete lock[id]; else delete node[ns];\n return 1;\n }\n }\n if (!transition) {\n time = inherit.time;\n timer = d3_timer(schedule, 0, time);\n transition = lock[id] = {\n tween: new d3_Map(),\n time: time,\n timer: timer,\n delay: inherit.delay,\n duration: inherit.duration,\n ease: inherit.ease,\n index: i\n };\n inherit = null;\n ++lock.count;\n }\n }\n d3.svg.axis = function() {\n var scale = d3.scale.linear(), orient = d3_svg_axisDefaultOrient, innerTickSize = 6, outerTickSize = 6, tickPadding = 3, tickArguments_ = [ 10 ], tickValues = null, tickFormat_;\n function axis(g) {\n g.each(function() {\n var g = d3.select(this);\n var scale0 = this.__chart__ || scale, scale1 = this.__chart__ = scale.copy();\n var ticks = tickValues == null ? scale1.ticks ? scale1.ticks.apply(scale1, tickArguments_) : scale1.domain() : tickValues, tickFormat = tickFormat_ == null ? scale1.tickFormat ? scale1.tickFormat.apply(scale1, tickArguments_) : d3_identity : tickFormat_, tick = g.selectAll(\".tick\").data(ticks, scale1), tickEnter = tick.enter().insert(\"g\", \".domain\").attr(\"class\", \"tick\").style(\"opacity\", ε), tickExit = d3.transition(tick.exit()).style(\"opacity\", ε).remove(), tickUpdate = d3.transition(tick.order()).style(\"opacity\", 1), tickSpacing = Math.max(innerTickSize, 0) + tickPadding, tickTransform;\n var range = d3_scaleRange(scale1), path = g.selectAll(\".domain\").data([ 0 ]), pathUpdate = (path.enter().append(\"path\").attr(\"class\", \"domain\"), \n d3.transition(path));\n tickEnter.append(\"line\");\n tickEnter.append(\"text\");\n var lineEnter = tickEnter.select(\"line\"), lineUpdate = tickUpdate.select(\"line\"), text = tick.select(\"text\").text(tickFormat), textEnter = tickEnter.select(\"text\"), textUpdate = tickUpdate.select(\"text\"), sign = orient === \"top\" || orient === \"left\" ? -1 : 1, x1, x2, y1, y2;\n if (orient === \"bottom\" || orient === \"top\") {\n tickTransform = d3_svg_axisX, x1 = \"x\", y1 = \"y\", x2 = \"x2\", y2 = \"y2\";\n text.attr(\"dy\", sign < 0 ? \"0em\" : \".71em\").style(\"text-anchor\", \"middle\");\n pathUpdate.attr(\"d\", \"M\" + range[0] + \",\" + sign * outerTickSize + \"V0H\" + range[1] + \"V\" + sign * outerTickSize);\n } else {\n tickTransform = d3_svg_axisY, x1 = \"y\", y1 = \"x\", x2 = \"y2\", y2 = \"x2\";\n text.attr(\"dy\", \".32em\").style(\"text-anchor\", sign < 0 ? \"end\" : \"start\");\n pathUpdate.attr(\"d\", \"M\" + sign * outerTickSize + \",\" + range[0] + \"H0V\" + range[1] + \"H\" + sign * outerTickSize);\n }\n lineEnter.attr(y2, sign * innerTickSize);\n textEnter.attr(y1, sign * tickSpacing);\n lineUpdate.attr(x2, 0).attr(y2, sign * innerTickSize);\n textUpdate.attr(x1, 0).attr(y1, sign * tickSpacing);\n if (scale1.rangeBand) {\n var x = scale1, dx = x.rangeBand() / 2;\n scale0 = scale1 = function(d) {\n return x(d) + dx;\n };\n } else if (scale0.rangeBand) {\n scale0 = scale1;\n } else {\n tickExit.call(tickTransform, scale1, scale0);\n }\n tickEnter.call(tickTransform, scale0, scale1);\n tickUpdate.call(tickTransform, scale1, scale1);\n });\n }\n axis.scale = function(x) {\n if (!arguments.length) return scale;\n scale = x;\n return axis;\n };\n axis.orient = function(x) {\n if (!arguments.length) return orient;\n orient = x in d3_svg_axisOrients ? x + \"\" : d3_svg_axisDefaultOrient;\n return axis;\n };\n axis.ticks = function() {\n if (!arguments.length) return tickArguments_;\n tickArguments_ = d3_array(arguments);\n return axis;\n };\n axis.tickValues = function(x) {\n if (!arguments.length) return tickValues;\n tickValues = x;\n return axis;\n };\n axis.tickFormat = function(x) {\n if (!arguments.length) return tickFormat_;\n tickFormat_ = x;\n return axis;\n };\n axis.tickSize = function(x) {\n var n = arguments.length;\n if (!n) return innerTickSize;\n innerTickSize = +x;\n outerTickSize = +arguments[n - 1];\n return axis;\n };\n axis.innerTickSize = function(x) {\n if (!arguments.length) return innerTickSize;\n innerTickSize = +x;\n return axis;\n };\n axis.outerTickSize = function(x) {\n if (!arguments.length) return outerTickSize;\n outerTickSize = +x;\n return axis;\n };\n axis.tickPadding = function(x) {\n if (!arguments.length) return tickPadding;\n tickPadding = +x;\n return axis;\n };\n axis.tickSubdivide = function() {\n return arguments.length && axis;\n };\n return axis;\n };\n var d3_svg_axisDefaultOrient = \"bottom\", d3_svg_axisOrients = {\n top: 1,\n right: 1,\n bottom: 1,\n left: 1\n };\n function d3_svg_axisX(selection, x0, x1) {\n selection.attr(\"transform\", function(d) {\n var v0 = x0(d);\n return \"translate(\" + (isFinite(v0) ? v0 : x1(d)) + \",0)\";\n });\n }\n function d3_svg_axisY(selection, y0, y1) {\n selection.attr(\"transform\", function(d) {\n var v0 = y0(d);\n return \"translate(0,\" + (isFinite(v0) ? v0 : y1(d)) + \")\";\n });\n }\n d3.svg.brush = function() {\n var event = d3_eventDispatch(brush, \"brushstart\", \"brush\", \"brushend\"), x = null, y = null, xExtent = [ 0, 0 ], yExtent = [ 0, 0 ], xExtentDomain, yExtentDomain, xClamp = true, yClamp = true, resizes = d3_svg_brushResizes[0];\n function brush(g) {\n g.each(function() {\n var g = d3.select(this).style(\"pointer-events\", \"all\").style(\"-webkit-tap-highlight-color\", \"rgba(0,0,0,0)\").on(\"mousedown.brush\", brushstart).on(\"touchstart.brush\", brushstart);\n var background = g.selectAll(\".background\").data([ 0 ]);\n background.enter().append(\"rect\").attr(\"class\", \"background\").style(\"visibility\", \"hidden\").style(\"cursor\", \"crosshair\");\n g.selectAll(\".extent\").data([ 0 ]).enter().append(\"rect\").attr(\"class\", \"extent\").style(\"cursor\", \"move\");\n var resize = g.selectAll(\".resize\").data(resizes, d3_identity);\n resize.exit().remove();\n resize.enter().append(\"g\").attr(\"class\", function(d) {\n return \"resize \" + d;\n }).style(\"cursor\", function(d) {\n return d3_svg_brushCursor[d];\n }).append(\"rect\").attr(\"x\", function(d) {\n return /[ew]$/.test(d) ? -3 : null;\n }).attr(\"y\", function(d) {\n return /^[ns]/.test(d) ? -3 : null;\n }).attr(\"width\", 6).attr(\"height\", 6).style(\"visibility\", \"hidden\");\n resize.style(\"display\", brush.empty() ? \"none\" : null);\n var gUpdate = d3.transition(g), backgroundUpdate = d3.transition(background), range;\n if (x) {\n range = d3_scaleRange(x);\n backgroundUpdate.attr(\"x\", range[0]).attr(\"width\", range[1] - range[0]);\n redrawX(gUpdate);\n }\n if (y) {\n range = d3_scaleRange(y);\n backgroundUpdate.attr(\"y\", range[0]).attr(\"height\", range[1] - range[0]);\n redrawY(gUpdate);\n }\n redraw(gUpdate);\n });\n }\n brush.event = function(g) {\n g.each(function() {\n var event_ = event.of(this, arguments), extent1 = {\n x: xExtent,\n y: yExtent,\n i: xExtentDomain,\n j: yExtentDomain\n }, extent0 = this.__chart__ || extent1;\n this.__chart__ = extent1;\n if (d3_transitionInheritId) {\n d3.select(this).transition().each(\"start.brush\", function() {\n xExtentDomain = extent0.i;\n yExtentDomain = extent0.j;\n xExtent = extent0.x;\n yExtent = extent0.y;\n event_({\n type: \"brushstart\"\n });\n }).tween(\"brush:brush\", function() {\n var xi = d3_interpolateArray(xExtent, extent1.x), yi = d3_interpolateArray(yExtent, extent1.y);\n xExtentDomain = yExtentDomain = null;\n return function(t) {\n xExtent = extent1.x = xi(t);\n yExtent = extent1.y = yi(t);\n event_({\n type: \"brush\",\n mode: \"resize\"\n });\n };\n }).each(\"end.brush\", function() {\n xExtentDomain = extent1.i;\n yExtentDomain = extent1.j;\n event_({\n type: \"brush\",\n mode: \"resize\"\n });\n event_({\n type: \"brushend\"\n });\n });\n } else {\n event_({\n type: \"brushstart\"\n });\n event_({\n type: \"brush\",\n mode: \"resize\"\n });\n event_({\n type: \"brushend\"\n });\n }\n });\n };\n function redraw(g) {\n g.selectAll(\".resize\").attr(\"transform\", function(d) {\n return \"translate(\" + xExtent[+/e$/.test(d)] + \",\" + yExtent[+/^s/.test(d)] + \")\";\n });\n }\n function redrawX(g) {\n g.select(\".extent\").attr(\"x\", xExtent[0]);\n g.selectAll(\".extent,.n>rect,.s>rect\").attr(\"width\", xExtent[1] - xExtent[0]);\n }\n function redrawY(g) {\n g.select(\".extent\").attr(\"y\", yExtent[0]);\n g.selectAll(\".extent,.e>rect,.w>rect\").attr(\"height\", yExtent[1] - yExtent[0]);\n }\n function brushstart() {\n var target = this, eventTarget = d3.select(d3.event.target), event_ = event.of(target, arguments), g = d3.select(target), resizing = eventTarget.datum(), resizingX = !/^(n|s)$/.test(resizing) && x, resizingY = !/^(e|w)$/.test(resizing) && y, dragging = eventTarget.classed(\"extent\"), dragRestore = d3_event_dragSuppress(target), center, origin = d3.mouse(target), offset;\n var w = d3.select(d3_window(target)).on(\"keydown.brush\", keydown).on(\"keyup.brush\", keyup);\n if (d3.event.changedTouches) {\n w.on(\"touchmove.brush\", brushmove).on(\"touchend.brush\", brushend);\n } else {\n w.on(\"mousemove.brush\", brushmove).on(\"mouseup.brush\", brushend);\n }\n g.interrupt().selectAll(\"*\").interrupt();\n if (dragging) {\n origin[0] = xExtent[0] - origin[0];\n origin[1] = yExtent[0] - origin[1];\n } else if (resizing) {\n var ex = +/w$/.test(resizing), ey = +/^n/.test(resizing);\n offset = [ xExtent[1 - ex] - origin[0], yExtent[1 - ey] - origin[1] ];\n origin[0] = xExtent[ex];\n origin[1] = yExtent[ey];\n } else if (d3.event.altKey) center = origin.slice();\n g.style(\"pointer-events\", \"none\").selectAll(\".resize\").style(\"display\", null);\n d3.select(\"body\").style(\"cursor\", eventTarget.style(\"cursor\"));\n event_({\n type: \"brushstart\"\n });\n brushmove();\n function keydown() {\n if (d3.event.keyCode == 32) {\n if (!dragging) {\n center = null;\n origin[0] -= xExtent[1];\n origin[1] -= yExtent[1];\n dragging = 2;\n }\n d3_eventPreventDefault();\n }\n }\n function keyup() {\n if (d3.event.keyCode == 32 && dragging == 2) {\n origin[0] += xExtent[1];\n origin[1] += yExtent[1];\n dragging = 0;\n d3_eventPreventDefault();\n }\n }\n function brushmove() {\n var point = d3.mouse(target), moved = false;\n if (offset) {\n point[0] += offset[0];\n point[1] += offset[1];\n }\n if (!dragging) {\n if (d3.event.altKey) {\n if (!center) center = [ (xExtent[0] + xExtent[1]) / 2, (yExtent[0] + yExtent[1]) / 2 ];\n origin[0] = xExtent[+(point[0] < center[0])];\n origin[1] = yExtent[+(point[1] < center[1])];\n } else center = null;\n }\n if (resizingX && move1(point, x, 0)) {\n redrawX(g);\n moved = true;\n }\n if (resizingY && move1(point, y, 1)) {\n redrawY(g);\n moved = true;\n }\n if (moved) {\n redraw(g);\n event_({\n type: \"brush\",\n mode: dragging ? \"move\" : \"resize\"\n });\n }\n }\n function move1(point, scale, i) {\n var range = d3_scaleRange(scale), r0 = range[0], r1 = range[1], position = origin[i], extent = i ? yExtent : xExtent, size = extent[1] - extent[0], min, max;\n if (dragging) {\n r0 -= position;\n r1 -= size + position;\n }\n min = (i ? yClamp : xClamp) ? Math.max(r0, Math.min(r1, point[i])) : point[i];\n if (dragging) {\n max = (min += position) + size;\n } else {\n if (center) position = Math.max(r0, Math.min(r1, 2 * center[i] - min));\n if (position < min) {\n max = min;\n min = position;\n } else {\n max = position;\n }\n }\n if (extent[0] != min || extent[1] != max) {\n if (i) yExtentDomain = null; else xExtentDomain = null;\n extent[0] = min;\n extent[1] = max;\n return true;\n }\n }\n function brushend() {\n brushmove();\n g.style(\"pointer-events\", \"all\").selectAll(\".resize\").style(\"display\", brush.empty() ? \"none\" : null);\n d3.select(\"body\").style(\"cursor\", null);\n w.on(\"mousemove.brush\", null).on(\"mouseup.brush\", null).on(\"touchmove.brush\", null).on(\"touchend.brush\", null).on(\"keydown.brush\", null).on(\"keyup.brush\", null);\n dragRestore();\n event_({\n type: \"brushend\"\n });\n }\n }\n brush.x = function(z) {\n if (!arguments.length) return x;\n x = z;\n resizes = d3_svg_brushResizes[!x << 1 | !y];\n return brush;\n };\n brush.y = function(z) {\n if (!arguments.length) return y;\n y = z;\n resizes = d3_svg_brushResizes[!x << 1 | !y];\n return brush;\n };\n brush.clamp = function(z) {\n if (!arguments.length) return x && y ? [ xClamp, yClamp ] : x ? xClamp : y ? yClamp : null;\n if (x && y) xClamp = !!z[0], yClamp = !!z[1]; else if (x) xClamp = !!z; else if (y) yClamp = !!z;\n return brush;\n };\n brush.extent = function(z) {\n var x0, x1, y0, y1, t;\n if (!arguments.length) {\n if (x) {\n if (xExtentDomain) {\n x0 = xExtentDomain[0], x1 = xExtentDomain[1];\n } else {\n x0 = xExtent[0], x1 = xExtent[1];\n if (x.invert) x0 = x.invert(x0), x1 = x.invert(x1);\n if (x1 < x0) t = x0, x0 = x1, x1 = t;\n }\n }\n if (y) {\n if (yExtentDomain) {\n y0 = yExtentDomain[0], y1 = yExtentDomain[1];\n } else {\n y0 = yExtent[0], y1 = yExtent[1];\n if (y.invert) y0 = y.invert(y0), y1 = y.invert(y1);\n if (y1 < y0) t = y0, y0 = y1, y1 = t;\n }\n }\n return x && y ? [ [ x0, y0 ], [ x1, y1 ] ] : x ? [ x0, x1 ] : y && [ y0, y1 ];\n }\n if (x) {\n x0 = z[0], x1 = z[1];\n if (y) x0 = x0[0], x1 = x1[0];\n xExtentDomain = [ x0, x1 ];\n if (x.invert) x0 = x(x0), x1 = x(x1);\n if (x1 < x0) t = x0, x0 = x1, x1 = t;\n if (x0 != xExtent[0] || x1 != xExtent[1]) xExtent = [ x0, x1 ];\n }\n if (y) {\n y0 = z[0], y1 = z[1];\n if (x) y0 = y0[1], y1 = y1[1];\n yExtentDomain = [ y0, y1 ];\n if (y.invert) y0 = y(y0), y1 = y(y1);\n if (y1 < y0) t = y0, y0 = y1, y1 = t;\n if (y0 != yExtent[0] || y1 != yExtent[1]) yExtent = [ y0, y1 ];\n }\n return brush;\n };\n brush.clear = function() {\n if (!brush.empty()) {\n xExtent = [ 0, 0 ], yExtent = [ 0, 0 ];\n xExtentDomain = yExtentDomain = null;\n }\n return brush;\n };\n brush.empty = function() {\n return !!x && xExtent[0] == xExtent[1] || !!y && yExtent[0] == yExtent[1];\n };\n return d3.rebind(brush, event, \"on\");\n };\n var d3_svg_brushCursor = {\n n: \"ns-resize\",\n e: \"ew-resize\",\n s: \"ns-resize\",\n w: \"ew-resize\",\n nw: \"nwse-resize\",\n ne: \"nesw-resize\",\n se: \"nwse-resize\",\n sw: \"nesw-resize\"\n };\n var d3_svg_brushResizes = [ [ \"n\", \"e\", \"s\", \"w\", \"nw\", \"ne\", \"se\", \"sw\" ], [ \"e\", \"w\" ], [ \"n\", \"s\" ], [] ];\n var d3_time_format = d3_time.format = d3_locale_enUS.timeFormat;\n var d3_time_formatUtc = d3_time_format.utc;\n var d3_time_formatIso = d3_time_formatUtc(\"%Y-%m-%dT%H:%M:%S.%LZ\");\n d3_time_format.iso = Date.prototype.toISOString && +new Date(\"2000-01-01T00:00:00.000Z\") ? d3_time_formatIsoNative : d3_time_formatIso;\n function d3_time_formatIsoNative(date) {\n return date.toISOString();\n }\n d3_time_formatIsoNative.parse = function(string) {\n var date = new Date(string);\n return isNaN(date) ? null : date;\n };\n d3_time_formatIsoNative.toString = d3_time_formatIso.toString;\n d3_time.second = d3_time_interval(function(date) {\n return new d3_date(Math.floor(date / 1e3) * 1e3);\n }, function(date, offset) {\n date.setTime(date.getTime() + Math.floor(offset) * 1e3);\n }, function(date) {\n return date.getSeconds();\n });\n d3_time.seconds = d3_time.second.range;\n d3_time.seconds.utc = d3_time.second.utc.range;\n d3_time.minute = d3_time_interval(function(date) {\n return new d3_date(Math.floor(date / 6e4) * 6e4);\n }, function(date, offset) {\n date.setTime(date.getTime() + Math.floor(offset) * 6e4);\n }, function(date) {\n return date.getMinutes();\n });\n d3_time.minutes = d3_time.minute.range;\n d3_time.minutes.utc = d3_time.minute.utc.range;\n d3_time.hour = d3_time_interval(function(date) {\n var timezone = date.getTimezoneOffset() / 60;\n return new d3_date((Math.floor(date / 36e5 - timezone) + timezone) * 36e5);\n }, function(date, offset) {\n date.setTime(date.getTime() + Math.floor(offset) * 36e5);\n }, function(date) {\n return date.getHours();\n });\n d3_time.hours = d3_time.hour.range;\n d3_time.hours.utc = d3_time.hour.utc.range;\n d3_time.month = d3_time_interval(function(date) {\n date = d3_time.day(date);\n date.setDate(1);\n return date;\n }, function(date, offset) {\n date.setMonth(date.getMonth() + offset);\n }, function(date) {\n return date.getMonth();\n });\n d3_time.months = d3_time.month.range;\n d3_time.months.utc = d3_time.month.utc.range;\n function d3_time_scale(linear, methods, format) {\n function scale(x) {\n return linear(x);\n }\n scale.invert = function(x) {\n return d3_time_scaleDate(linear.invert(x));\n };\n scale.domain = function(x) {\n if (!arguments.length) return linear.domain().map(d3_time_scaleDate);\n linear.domain(x);\n return scale;\n };\n function tickMethod(extent, count) {\n var span = extent[1] - extent[0], target = span / count, i = d3.bisect(d3_time_scaleSteps, target);\n return i == d3_time_scaleSteps.length ? [ methods.year, d3_scale_linearTickRange(extent.map(function(d) {\n return d / 31536e6;\n }), count)[2] ] : !i ? [ d3_time_scaleMilliseconds, d3_scale_linearTickRange(extent, count)[2] ] : methods[target / d3_time_scaleSteps[i - 1] < d3_time_scaleSteps[i] / target ? i - 1 : i];\n }\n scale.nice = function(interval, skip) {\n var domain = scale.domain(), extent = d3_scaleExtent(domain), method = interval == null ? tickMethod(extent, 10) : typeof interval === \"number\" && tickMethod(extent, interval);\n if (method) interval = method[0], skip = method[1];\n function skipped(date) {\n return !isNaN(date) && !interval.range(date, d3_time_scaleDate(+date + 1), skip).length;\n }\n return scale.domain(d3_scale_nice(domain, skip > 1 ? {\n floor: function(date) {\n while (skipped(date = interval.floor(date))) date = d3_time_scaleDate(date - 1);\n return date;\n },\n ceil: function(date) {\n while (skipped(date = interval.ceil(date))) date = d3_time_scaleDate(+date + 1);\n return date;\n }\n } : interval));\n };\n scale.ticks = function(interval, skip) {\n var extent = d3_scaleExtent(scale.domain()), method = interval == null ? tickMethod(extent, 10) : typeof interval === \"number\" ? tickMethod(extent, interval) : !interval.range && [ {\n range: interval\n }, skip ];\n if (method) interval = method[0], skip = method[1];\n return interval.range(extent[0], d3_time_scaleDate(+extent[1] + 1), skip < 1 ? 1 : skip);\n };\n scale.tickFormat = function() {\n return format;\n };\n scale.copy = function() {\n return d3_time_scale(linear.copy(), methods, format);\n };\n return d3_scale_linearRebind(scale, linear);\n }\n function d3_time_scaleDate(t) {\n return new Date(t);\n }\n var d3_time_scaleSteps = [ 1e3, 5e3, 15e3, 3e4, 6e4, 3e5, 9e5, 18e5, 36e5, 108e5, 216e5, 432e5, 864e5, 1728e5, 6048e5, 2592e6, 7776e6, 31536e6 ];\n var d3_time_scaleLocalMethods = [ [ d3_time.second, 1 ], [ d3_time.second, 5 ], [ d3_time.second, 15 ], [ d3_time.second, 30 ], [ d3_time.minute, 1 ], [ d3_time.minute, 5 ], [ d3_time.minute, 15 ], [ d3_time.minute, 30 ], [ d3_time.hour, 1 ], [ d3_time.hour, 3 ], [ d3_time.hour, 6 ], [ d3_time.hour, 12 ], [ d3_time.day, 1 ], [ d3_time.day, 2 ], [ d3_time.week, 1 ], [ d3_time.month, 1 ], [ d3_time.month, 3 ], [ d3_time.year, 1 ] ];\n var d3_time_scaleLocalFormat = d3_time_format.multi([ [ \".%L\", function(d) {\n return d.getMilliseconds();\n } ], [ \":%S\", function(d) {\n return d.getSeconds();\n } ], [ \"%I:%M\", function(d) {\n return d.getMinutes();\n } ], [ \"%I %p\", function(d) {\n return d.getHours();\n } ], [ \"%a %d\", function(d) {\n return d.getDay() && d.getDate() != 1;\n } ], [ \"%b %d\", function(d) {\n return d.getDate() != 1;\n } ], [ \"%B\", function(d) {\n return d.getMonth();\n } ], [ \"%Y\", d3_true ] ]);\n var d3_time_scaleMilliseconds = {\n range: function(start, stop, step) {\n return d3.range(Math.ceil(start / step) * step, +stop, step).map(d3_time_scaleDate);\n },\n floor: d3_identity,\n ceil: d3_identity\n };\n d3_time_scaleLocalMethods.year = d3_time.year;\n d3_time.scale = function() {\n return d3_time_scale(d3.scale.linear(), d3_time_scaleLocalMethods, d3_time_scaleLocalFormat);\n };\n var d3_time_scaleUtcMethods = d3_time_scaleLocalMethods.map(function(m) {\n return [ m[0].utc, m[1] ];\n });\n var d3_time_scaleUtcFormat = d3_time_formatUtc.multi([ [ \".%L\", function(d) {\n return d.getUTCMilliseconds();\n } ], [ \":%S\", function(d) {\n return d.getUTCSeconds();\n } ], [ \"%I:%M\", function(d) {\n return d.getUTCMinutes();\n } ], [ \"%I %p\", function(d) {\n return d.getUTCHours();\n } ], [ \"%a %d\", function(d) {\n return d.getUTCDay() && d.getUTCDate() != 1;\n } ], [ \"%b %d\", function(d) {\n return d.getUTCDate() != 1;\n } ], [ \"%B\", function(d) {\n return d.getUTCMonth();\n } ], [ \"%Y\", d3_true ] ]);\n d3_time_scaleUtcMethods.year = d3_time.year.utc;\n d3_time.scale.utc = function() {\n return d3_time_scale(d3.scale.linear(), d3_time_scaleUtcMethods, d3_time_scaleUtcFormat);\n };\n d3.text = d3_xhrType(function(request) {\n return request.responseText;\n });\n d3.json = function(url, callback) {\n return d3_xhr(url, \"application/json\", d3_json, callback);\n };\n function d3_json(request) {\n return JSON.parse(request.responseText);\n }\n d3.html = function(url, callback) {\n return d3_xhr(url, \"text/html\", d3_html, callback);\n };\n function d3_html(request) {\n var range = d3_document.createRange();\n range.selectNode(d3_document.body);\n return range.createContextualFragment(request.responseText);\n }\n d3.xml = d3_xhrType(function(request) {\n return request.responseXML;\n });\n if (typeof define === \"function\" && define.amd) this.d3 = d3, define(d3); else if (typeof module === \"object\" && module.exports) module.exports = d3; else this.d3 = d3;\n}();","var SetCache = require('./_SetCache'),\n arrayIncludes = require('./_arrayIncludes'),\n arrayIncludesWith = require('./_arrayIncludesWith'),\n arrayMap = require('./_arrayMap'),\n baseUnary = require('./_baseUnary'),\n cacheHas = require('./_cacheHas');\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeMin = Math.min;\n\n/**\n * The base implementation of methods like `_.intersection`, without support\n * for iteratee shorthands, that accepts an array of arrays to inspect.\n *\n * @private\n * @param {Array} arrays The arrays to inspect.\n * @param {Function} [iteratee] The iteratee invoked per element.\n * @param {Function} [comparator] The comparator invoked per element.\n * @returns {Array} Returns the new array of shared values.\n */\nfunction baseIntersection(arrays, iteratee, comparator) {\n var includes = comparator ? arrayIncludesWith : arrayIncludes,\n length = arrays[0].length,\n othLength = arrays.length,\n othIndex = othLength,\n caches = Array(othLength),\n maxLength = Infinity,\n result = [];\n\n while (othIndex--) {\n var array = arrays[othIndex];\n if (othIndex && iteratee) {\n array = arrayMap(array, baseUnary(iteratee));\n }\n maxLength = nativeMin(array.length, maxLength);\n caches[othIndex] = !comparator && (iteratee || (length >= 120 && array.length >= 120))\n ? new SetCache(othIndex && array)\n : undefined;\n }\n array = arrays[0];\n\n var index = -1,\n seen = caches[0];\n\n outer:\n while (++index < length && result.length < maxLength) {\n var value = array[index],\n computed = iteratee ? iteratee(value) : value;\n\n value = (comparator || value !== 0) ? value : 0;\n if (!(seen\n ? cacheHas(seen, computed)\n : includes(result, computed, comparator)\n )) {\n othIndex = othLength;\n while (--othIndex) {\n var cache = caches[othIndex];\n if (!(cache\n ? cacheHas(cache, computed)\n : includes(arrays[othIndex], computed, comparator))\n ) {\n continue outer;\n }\n }\n if (seen) {\n seen.push(computed);\n }\n result.push(value);\n }\n }\n return result;\n}\n\nmodule.exports = baseIntersection;\n","// An attribute in which the DOM/SVG standard name is the same as the React prop name (e.g., 'accept').\nvar SAME = 0;\nexports.SAME = SAME;\n\n// An attribute in which the React prop name is the camelcased version of the DOM/SVG standard name (e.g., 'acceptCharset').\nvar CAMELCASE = 1;\nexports.CAMELCASE = CAMELCASE;\n\nexports.possibleStandardNames = {\n accept: 0,\n acceptCharset: 1,\n 'accept-charset': 'acceptCharset',\n accessKey: 1,\n action: 0,\n allowFullScreen: 1,\n alt: 0,\n as: 0,\n async: 0,\n autoCapitalize: 1,\n autoComplete: 1,\n autoCorrect: 1,\n autoFocus: 1,\n autoPlay: 1,\n autoSave: 1,\n capture: 0,\n cellPadding: 1,\n cellSpacing: 1,\n challenge: 0,\n charSet: 1,\n checked: 0,\n children: 0,\n cite: 0,\n class: 'className',\n classID: 1,\n className: 1,\n cols: 0,\n colSpan: 1,\n content: 0,\n contentEditable: 1,\n contextMenu: 1,\n controls: 0,\n controlsList: 1,\n coords: 0,\n crossOrigin: 1,\n dangerouslySetInnerHTML: 1,\n data: 0,\n dateTime: 1,\n default: 0,\n defaultChecked: 1,\n defaultValue: 1,\n defer: 0,\n dir: 0,\n disabled: 0,\n disablePictureInPicture: 1,\n disableRemotePlayback: 1,\n download: 0,\n draggable: 0,\n encType: 1,\n enterKeyHint: 1,\n for: 'htmlFor',\n form: 0,\n formMethod: 1,\n formAction: 1,\n formEncType: 1,\n formNoValidate: 1,\n formTarget: 1,\n frameBorder: 1,\n headers: 0,\n height: 0,\n hidden: 0,\n high: 0,\n href: 0,\n hrefLang: 1,\n htmlFor: 1,\n httpEquiv: 1,\n 'http-equiv': 'httpEquiv',\n icon: 0,\n id: 0,\n innerHTML: 1,\n inputMode: 1,\n integrity: 0,\n is: 0,\n itemID: 1,\n itemProp: 1,\n itemRef: 1,\n itemScope: 1,\n itemType: 1,\n keyParams: 1,\n keyType: 1,\n kind: 0,\n label: 0,\n lang: 0,\n list: 0,\n loop: 0,\n low: 0,\n manifest: 0,\n marginWidth: 1,\n marginHeight: 1,\n max: 0,\n maxLength: 1,\n media: 0,\n mediaGroup: 1,\n method: 0,\n min: 0,\n minLength: 1,\n multiple: 0,\n muted: 0,\n name: 0,\n noModule: 1,\n nonce: 0,\n noValidate: 1,\n open: 0,\n optimum: 0,\n pattern: 0,\n placeholder: 0,\n playsInline: 1,\n poster: 0,\n preload: 0,\n profile: 0,\n radioGroup: 1,\n readOnly: 1,\n referrerPolicy: 1,\n rel: 0,\n required: 0,\n reversed: 0,\n role: 0,\n rows: 0,\n rowSpan: 1,\n sandbox: 0,\n scope: 0,\n scoped: 0,\n scrolling: 0,\n seamless: 0,\n selected: 0,\n shape: 0,\n size: 0,\n sizes: 0,\n span: 0,\n spellCheck: 1,\n src: 0,\n srcDoc: 1,\n srcLang: 1,\n srcSet: 1,\n start: 0,\n step: 0,\n style: 0,\n summary: 0,\n tabIndex: 1,\n target: 0,\n title: 0,\n type: 0,\n useMap: 1,\n value: 0,\n width: 0,\n wmode: 0,\n wrap: 0,\n about: 0,\n accentHeight: 1,\n 'accent-height': 'accentHeight',\n accumulate: 0,\n additive: 0,\n alignmentBaseline: 1,\n 'alignment-baseline': 'alignmentBaseline',\n allowReorder: 1,\n alphabetic: 0,\n amplitude: 0,\n arabicForm: 1,\n 'arabic-form': 'arabicForm',\n ascent: 0,\n attributeName: 1,\n attributeType: 1,\n autoReverse: 1,\n azimuth: 0,\n baseFrequency: 1,\n baselineShift: 1,\n 'baseline-shift': 'baselineShift',\n baseProfile: 1,\n bbox: 0,\n begin: 0,\n bias: 0,\n by: 0,\n calcMode: 1,\n capHeight: 1,\n 'cap-height': 'capHeight',\n clip: 0,\n clipPath: 1,\n 'clip-path': 'clipPath',\n clipPathUnits: 1,\n clipRule: 1,\n 'clip-rule': 'clipRule',\n color: 0,\n colorInterpolation: 1,\n 'color-interpolation': 'colorInterpolation',\n colorInterpolationFilters: 1,\n 'color-interpolation-filters': 'colorInterpolationFilters',\n colorProfile: 1,\n 'color-profile': 'colorProfile',\n colorRendering: 1,\n 'color-rendering': 'colorRendering',\n contentScriptType: 1,\n contentStyleType: 1,\n cursor: 0,\n cx: 0,\n cy: 0,\n d: 0,\n datatype: 0,\n decelerate: 0,\n descent: 0,\n diffuseConstant: 1,\n direction: 0,\n display: 0,\n divisor: 0,\n dominantBaseline: 1,\n 'dominant-baseline': 'dominantBaseline',\n dur: 0,\n dx: 0,\n dy: 0,\n edgeMode: 1,\n elevation: 0,\n enableBackground: 1,\n 'enable-background': 'enableBackground',\n end: 0,\n exponent: 0,\n externalResourcesRequired: 1,\n fill: 0,\n fillOpacity: 1,\n 'fill-opacity': 'fillOpacity',\n fillRule: 1,\n 'fill-rule': 'fillRule',\n filter: 0,\n filterRes: 1,\n filterUnits: 1,\n floodOpacity: 1,\n 'flood-opacity': 'floodOpacity',\n floodColor: 1,\n 'flood-color': 'floodColor',\n focusable: 0,\n fontFamily: 1,\n 'font-family': 'fontFamily',\n fontSize: 1,\n 'font-size': 'fontSize',\n fontSizeAdjust: 1,\n 'font-size-adjust': 'fontSizeAdjust',\n fontStretch: 1,\n 'font-stretch': 'fontStretch',\n fontStyle: 1,\n 'font-style': 'fontStyle',\n fontVariant: 1,\n 'font-variant': 'fontVariant',\n fontWeight: 1,\n 'font-weight': 'fontWeight',\n format: 0,\n from: 0,\n fx: 0,\n fy: 0,\n g1: 0,\n g2: 0,\n glyphName: 1,\n 'glyph-name': 'glyphName',\n glyphOrientationHorizontal: 1,\n 'glyph-orientation-horizontal': 'glyphOrientationHorizontal',\n glyphOrientationVertical: 1,\n 'glyph-orientation-vertical': 'glyphOrientationVertical',\n glyphRef: 1,\n gradientTransform: 1,\n gradientUnits: 1,\n hanging: 0,\n horizAdvX: 1,\n 'horiz-adv-x': 'horizAdvX',\n horizOriginX: 1,\n 'horiz-origin-x': 'horizOriginX',\n ideographic: 0,\n imageRendering: 1,\n 'image-rendering': 'imageRendering',\n in2: 0,\n in: 0,\n inlist: 0,\n intercept: 0,\n k1: 0,\n k2: 0,\n k3: 0,\n k4: 0,\n k: 0,\n kernelMatrix: 1,\n kernelUnitLength: 1,\n kerning: 0,\n keyPoints: 1,\n keySplines: 1,\n keyTimes: 1,\n lengthAdjust: 1,\n letterSpacing: 1,\n 'letter-spacing': 'letterSpacing',\n lightingColor: 1,\n 'lighting-color': 'lightingColor',\n limitingConeAngle: 1,\n local: 0,\n markerEnd: 1,\n 'marker-end': 'markerEnd',\n markerHeight: 1,\n markerMid: 1,\n 'marker-mid': 'markerMid',\n markerStart: 1,\n 'marker-start': 'markerStart',\n markerUnits: 1,\n markerWidth: 1,\n mask: 0,\n maskContentUnits: 1,\n maskUnits: 1,\n mathematical: 0,\n mode: 0,\n numOctaves: 1,\n offset: 0,\n opacity: 0,\n operator: 0,\n order: 0,\n orient: 0,\n orientation: 0,\n origin: 0,\n overflow: 0,\n overlinePosition: 1,\n 'overline-position': 'overlinePosition',\n overlineThickness: 1,\n 'overline-thickness': 'overlineThickness',\n paintOrder: 1,\n 'paint-order': 'paintOrder',\n panose1: 0,\n 'panose-1': 'panose1',\n pathLength: 1,\n patternContentUnits: 1,\n patternTransform: 1,\n patternUnits: 1,\n pointerEvents: 1,\n 'pointer-events': 'pointerEvents',\n points: 0,\n pointsAtX: 1,\n pointsAtY: 1,\n pointsAtZ: 1,\n prefix: 0,\n preserveAlpha: 1,\n preserveAspectRatio: 1,\n primitiveUnits: 1,\n property: 0,\n r: 0,\n radius: 0,\n refX: 1,\n refY: 1,\n renderingIntent: 1,\n 'rendering-intent': 'renderingIntent',\n repeatCount: 1,\n repeatDur: 1,\n requiredExtensions: 1,\n requiredFeatures: 1,\n resource: 0,\n restart: 0,\n result: 0,\n results: 0,\n rotate: 0,\n rx: 0,\n ry: 0,\n scale: 0,\n security: 0,\n seed: 0,\n shapeRendering: 1,\n 'shape-rendering': 'shapeRendering',\n slope: 0,\n spacing: 0,\n specularConstant: 1,\n specularExponent: 1,\n speed: 0,\n spreadMethod: 1,\n startOffset: 1,\n stdDeviation: 1,\n stemh: 0,\n stemv: 0,\n stitchTiles: 1,\n stopColor: 1,\n 'stop-color': 'stopColor',\n stopOpacity: 1,\n 'stop-opacity': 'stopOpacity',\n strikethroughPosition: 1,\n 'strikethrough-position': 'strikethroughPosition',\n strikethroughThickness: 1,\n 'strikethrough-thickness': 'strikethroughThickness',\n string: 0,\n stroke: 0,\n strokeDasharray: 1,\n 'stroke-dasharray': 'strokeDasharray',\n strokeDashoffset: 1,\n 'stroke-dashoffset': 'strokeDashoffset',\n strokeLinecap: 1,\n 'stroke-linecap': 'strokeLinecap',\n strokeLinejoin: 1,\n 'stroke-linejoin': 'strokeLinejoin',\n strokeMiterlimit: 1,\n 'stroke-miterlimit': 'strokeMiterlimit',\n strokeWidth: 1,\n 'stroke-width': 'strokeWidth',\n strokeOpacity: 1,\n 'stroke-opacity': 'strokeOpacity',\n suppressContentEditableWarning: 1,\n suppressHydrationWarning: 1,\n surfaceScale: 1,\n systemLanguage: 1,\n tableValues: 1,\n targetX: 1,\n targetY: 1,\n textAnchor: 1,\n 'text-anchor': 'textAnchor',\n textDecoration: 1,\n 'text-decoration': 'textDecoration',\n textLength: 1,\n textRendering: 1,\n 'text-rendering': 'textRendering',\n to: 0,\n transform: 0,\n typeof: 0,\n u1: 0,\n u2: 0,\n underlinePosition: 1,\n 'underline-position': 'underlinePosition',\n underlineThickness: 1,\n 'underline-thickness': 'underlineThickness',\n unicode: 0,\n unicodeBidi: 1,\n 'unicode-bidi': 'unicodeBidi',\n unicodeRange: 1,\n 'unicode-range': 'unicodeRange',\n unitsPerEm: 1,\n 'units-per-em': 'unitsPerEm',\n unselectable: 0,\n vAlphabetic: 1,\n 'v-alphabetic': 'vAlphabetic',\n values: 0,\n vectorEffect: 1,\n 'vector-effect': 'vectorEffect',\n version: 0,\n vertAdvY: 1,\n 'vert-adv-y': 'vertAdvY',\n vertOriginX: 1,\n 'vert-origin-x': 'vertOriginX',\n vertOriginY: 1,\n 'vert-origin-y': 'vertOriginY',\n vHanging: 1,\n 'v-hanging': 'vHanging',\n vIdeographic: 1,\n 'v-ideographic': 'vIdeographic',\n viewBox: 1,\n viewTarget: 1,\n visibility: 0,\n vMathematical: 1,\n 'v-mathematical': 'vMathematical',\n vocab: 0,\n widths: 0,\n wordSpacing: 1,\n 'word-spacing': 'wordSpacing',\n writingMode: 1,\n 'writing-mode': 'writingMode',\n x1: 0,\n x2: 0,\n x: 0,\n xChannelSelector: 1,\n xHeight: 1,\n 'x-height': 'xHeight',\n xlinkActuate: 1,\n 'xlink:actuate': 'xlinkActuate',\n xlinkArcrole: 1,\n 'xlink:arcrole': 'xlinkArcrole',\n xlinkHref: 1,\n 'xlink:href': 'xlinkHref',\n xlinkRole: 1,\n 'xlink:role': 'xlinkRole',\n xlinkShow: 1,\n 'xlink:show': 'xlinkShow',\n xlinkTitle: 1,\n 'xlink:title': 'xlinkTitle',\n xlinkType: 1,\n 'xlink:type': 'xlinkType',\n xmlBase: 1,\n 'xml:base': 'xmlBase',\n xmlLang: 1,\n 'xml:lang': 'xmlLang',\n xmlns: 0,\n 'xml:space': 'xmlSpace',\n xmlnsXlink: 1,\n 'xmlns:xlink': 'xmlnsXlink',\n xmlSpace: 1,\n y1: 0,\n y2: 0,\n y: 0,\n yChannelSelector: 1,\n z: 0,\n zoomAndPan: 1\n};\n","var root = require('./_root');\n\n/** Built-in value references. */\nvar Symbol = root.Symbol;\n\nmodule.exports = Symbol;\n","!function(e,t){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=t():\"function\"==typeof define&&define.amd?define(t):(e.ReactIntlLocaleData=e.ReactIntlLocaleData||{},e.ReactIntlLocaleData.yav=t())}(this,function(){\"use strict\";return[{locale:\"yav\",pluralRuleFunction:function(e,t){return\"other\"},fields:{year:{displayName:\"yɔɔŋ\",relative:{0:\"this year\",1:\"next year\",\"-1\":\"last year\"},relativeTime:{future:{other:\"+{0} y\"},past:{other:\"-{0} y\"}}},\"year-short\":{displayName:\"yɔɔŋ\",relative:{0:\"this year\",1:\"next year\",\"-1\":\"last year\"},relativeTime:{future:{other:\"+{0} y\"},past:{other:\"-{0} y\"}}},month:{displayName:\"oóli\",relative:{0:\"this month\",1:\"next month\",\"-1\":\"last month\"},relativeTime:{future:{other:\"+{0} m\"},past:{other:\"-{0} m\"}}},\"month-short\":{displayName:\"oóli\",relative:{0:\"this month\",1:\"next month\",\"-1\":\"last month\"},relativeTime:{future:{other:\"+{0} m\"},past:{other:\"-{0} m\"}}},day:{displayName:\"puɔ́sɛ́\",relative:{0:\"ínaan\",1:\"nakinyám\",\"-1\":\"púyoó\"},relativeTime:{future:{other:\"+{0} d\"},past:{other:\"-{0} d\"}}},\"day-short\":{displayName:\"puɔ́sɛ́\",relative:{0:\"ínaan\",1:\"nakinyám\",\"-1\":\"púyoó\"},relativeTime:{future:{other:\"+{0} d\"},past:{other:\"-{0} d\"}}},hour:{displayName:\"kisikɛl,\",relative:{0:\"this hour\"},relativeTime:{future:{other:\"+{0} h\"},past:{other:\"-{0} h\"}}},\"hour-short\":{displayName:\"kisikɛl,\",relative:{0:\"this hour\"},relativeTime:{future:{other:\"+{0} h\"},past:{other:\"-{0} h\"}}},minute:{displayName:\"minít\",relative:{0:\"this minute\"},relativeTime:{future:{other:\"+{0} min\"},past:{other:\"-{0} min\"}}},\"minute-short\":{displayName:\"minít\",relative:{0:\"this minute\"},relativeTime:{future:{other:\"+{0} min\"},past:{other:\"-{0} min\"}}},second:{displayName:\"síkɛn\",relative:{0:\"now\"},relativeTime:{future:{other:\"+{0} s\"},past:{other:\"-{0} s\"}}},\"second-short\":{displayName:\"síkɛn\",relative:{0:\"now\"},relativeTime:{future:{other:\"+{0} s\"},past:{other:\"-{0} s\"}}}}}]});\n","'use strict';\n\nvar implementation = require('./implementation');\n\nvar supportsDescriptors = require('define-properties').supportsDescriptors;\nvar $gOPD = Object.getOwnPropertyDescriptor;\n\nmodule.exports = function getPolyfill() {\n\tif (supportsDescriptors && (/a/mig).flags === 'gim') {\n\t\tvar descriptor = $gOPD(RegExp.prototype, 'flags');\n\t\tif (\n\t\t\tdescriptor\n\t\t\t&& typeof descriptor.get === 'function'\n\t\t\t&& 'dotAll' in RegExp.prototype\n\t\t\t&& 'hasIndices' in RegExp.prototype\n\t\t) {\n\t\t\t/* eslint getter-return: 0 */\n\t\t\tvar calls = '';\n\t\t\tvar o = {};\n\t\t\tObject.defineProperty(o, 'hasIndices', {\n\t\t\t\tget: function () {\n\t\t\t\t\tcalls += 'd';\n\t\t\t\t}\n\t\t\t});\n\t\t\tObject.defineProperty(o, 'sticky', {\n\t\t\t\tget: function () {\n\t\t\t\t\tcalls += 'y';\n\t\t\t\t}\n\t\t\t});\n\n\t\t\tdescriptor.get.call(o);\n\n\t\t\tif (calls === 'dy') {\n\t\t\t\treturn descriptor.get;\n\t\t\t}\n\t\t}\n\t}\n\treturn implementation;\n};\n","import {\n isIdentifier,\n isMemberExpression,\n isStringLiteral,\n isThisExpression,\n} from \"./generated/index.ts\";\nimport type * as t from \"../index.ts\";\n\n/**\n * Determines whether or not the input node `member` matches the\n * input `match`.\n *\n * For example, given the match `React.createClass` it would match the\n * parsed nodes of `React.createClass` and `React[\"createClass\"]`.\n */\nexport default function matchesPattern(\n member: t.Node | null | undefined,\n match: string | string[],\n allowPartial?: boolean,\n): boolean {\n // not a member expression\n if (!isMemberExpression(member)) return false;\n\n const parts = Array.isArray(match) ? match : match.split(\".\");\n const nodes = [];\n\n let node;\n for (node = member; isMemberExpression(node); node = node.object) {\n nodes.push(node.property);\n }\n nodes.push(node);\n\n if (nodes.length < parts.length) return false;\n if (!allowPartial && nodes.length > parts.length) return false;\n\n for (let i = 0, j = nodes.length - 1; i < parts.length; i++, j--) {\n const node = nodes[j];\n let value;\n if (isIdentifier(node)) {\n value = node.name;\n } else if (isStringLiteral(node)) {\n value = node.value;\n } else if (isThisExpression(node)) {\n value = \"this\";\n } else {\n return false;\n }\n\n if (parts[i] !== value) return false;\n }\n\n return true;\n}\n","!function(e,a){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=a():\"function\"==typeof define&&define.amd?define(a):(e.ReactIntlLocaleData=e.ReactIntlLocaleData||{},e.ReactIntlLocaleData.tk=a())}(this,function(){\"use strict\";return[{locale:\"tk\",pluralRuleFunction:function(e,a){var t=String(e).split(\".\"),n=Number(t[0])==e&&t[0].slice(-1);return a?6==n||9==n||10==e?\"few\":\"other\":1==e?\"one\":\"other\"},fields:{year:{displayName:\"ýyl\",relative:{0:\"şu ýyl\",1:\"indiki ýyl\",\"-1\":\"geçen ýyl\"},relativeTime:{future:{one:\"{0} ýyldan\",other:\"{0} ýyldan\"},past:{one:\"{0} ýyl öň\",other:\"{0} ýyl öň\"}}},\"year-short\":{displayName:\"ý.\",relative:{0:\"şu ýyl\",1:\"indiki ýyl\",\"-1\":\"geçen ýyl\"},relativeTime:{future:{one:\"{0} ý-dan\",other:\"{0} ý-dan\"},past:{one:\"{0} ý. öň\",other:\"{0} ý. öň\"}}},month:{displayName:\"aý\",relative:{0:\"şu aý\",1:\"indiki aý\",\"-1\":\"geçen aý\"},relativeTime:{future:{one:\"{0} aýdan\",other:\"{0} aýdan\"},past:{one:\"{0} aý öň\",other:\"{0} aý öň\"}}},\"month-short\":{displayName:\"aý\",relative:{0:\"şu aý\",1:\"indiki aý\",\"-1\":\"geçen aý\"},relativeTime:{future:{one:\"{0} aýdan\",other:\"{0} aýdan\"},past:{one:\"{0} aý öň\",other:\"{0} aý öň\"}}},day:{displayName:\"gün\",relative:{0:\"şu gün\",1:\"ertir\",\"-1\":\"düýn\"},relativeTime:{future:{one:\"{0} günden\",other:\"{0} günden\"},past:{one:\"{0} gün öň\",other:\"{0} gün öň\"}}},\"day-short\":{displayName:\"gün\",relative:{0:\"şu gün\",1:\"ertir\",\"-1\":\"düýn\"},relativeTime:{future:{one:\"{0} g-den\",other:\"{0} g-den\"},past:{one:\"{0} g. öň\",other:\"{0} g. öň\"}}},hour:{displayName:\"sagat\",relative:{0:\"şu sagat\"},relativeTime:{future:{one:\"{0} sagatdan\",other:\"{0} sagatdan\"},past:{one:\"{0} sagat öň\",other:\"{0} sagat öň\"}}},\"hour-short\":{displayName:\"sag.\",relative:{0:\"şu sagat\"},relativeTime:{future:{one:\"{0} sag-dan\",other:\"{0} sag-dan\"},past:{one:\"{0} sag. öň\",other:\"{0} sag. öň\"}}},minute:{displayName:\"minut\",relative:{0:\"şu minut\"},relativeTime:{future:{one:\"{0} minutdan\",other:\"{0} minutdan\"},past:{one:\"{0} minut öň\",other:\"{0} minut öň\"}}},\"minute-short\":{displayName:\"min.\",relative:{0:\"şu minut\"},relativeTime:{future:{one:\"{0} min-dan\",other:\"{0} min-dan\"},past:{one:\"{0} min. öň\",other:\"{0} min. öň\"}}},second:{displayName:\"sekunt\",relative:{0:\"häzir\"},relativeTime:{future:{one:\"{0} sekuntdan\",other:\"{0} sekuntdan\"},past:{one:\"{0} sekunt öň\",other:\"{0} sekunt öň\"}}},\"second-short\":{displayName:\"sek.\",relative:{0:\"häzir\"},relativeTime:{future:{one:\"{0} sek-dan\",other:\"{0} sek-dan\"},past:{one:\"{0} sek. öň\",other:\"{0} sek. öň\"}}}}}]});\n","'use strict';\n\nexports.__esModule = true;\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\nvar _isDisposable2 = require('./isDisposable');\n\nvar _isDisposable3 = _interopRequireDefault(_isDisposable2);\n\nexports.isDisposable = _isDisposable3['default'];\n\nvar _Disposable2 = require('./Disposable');\n\nvar _Disposable3 = _interopRequireDefault(_Disposable2);\n\nexports.Disposable = _Disposable3['default'];\n\nvar _CompositeDisposable2 = require('./CompositeDisposable');\n\nvar _CompositeDisposable3 = _interopRequireDefault(_CompositeDisposable2);\n\nexports.CompositeDisposable = _CompositeDisposable3['default'];\n\nvar _SerialDisposable2 = require('./SerialDisposable');\n\nvar _SerialDisposable3 = _interopRequireDefault(_SerialDisposable2);\n\nexports.SerialDisposable = _SerialDisposable3['default'];","!function(e,t){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=t():\"function\"==typeof define&&define.amd?define(t):(e.ReactIntlLocaleData=e.ReactIntlLocaleData||{},e.ReactIntlLocaleData.bm=t())}(this,function(){\"use strict\";return[{locale:\"bm\",pluralRuleFunction:function(e,t){return\"other\"},fields:{year:{displayName:\"san\",relative:{0:\"this year\",1:\"next year\",\"-1\":\"last year\"},relativeTime:{future:{other:\"+{0} y\"},past:{other:\"-{0} y\"}}},\"year-short\":{displayName:\"san\",relative:{0:\"this year\",1:\"next year\",\"-1\":\"last year\"},relativeTime:{future:{other:\"+{0} y\"},past:{other:\"-{0} y\"}}},month:{displayName:\"kalo\",relative:{0:\"this month\",1:\"next month\",\"-1\":\"last month\"},relativeTime:{future:{other:\"+{0} m\"},past:{other:\"-{0} m\"}}},\"month-short\":{displayName:\"kalo\",relative:{0:\"this month\",1:\"next month\",\"-1\":\"last month\"},relativeTime:{future:{other:\"+{0} m\"},past:{other:\"-{0} m\"}}},day:{displayName:\"don\",relative:{0:\"bi\",1:\"sini\",\"-1\":\"kunu\"},relativeTime:{future:{other:\"+{0} d\"},past:{other:\"-{0} d\"}}},\"day-short\":{displayName:\"don\",relative:{0:\"bi\",1:\"sini\",\"-1\":\"kunu\"},relativeTime:{future:{other:\"+{0} d\"},past:{other:\"-{0} d\"}}},hour:{displayName:\"lɛrɛ\",relative:{0:\"this hour\"},relativeTime:{future:{other:\"+{0} h\"},past:{other:\"-{0} h\"}}},\"hour-short\":{displayName:\"lɛrɛ\",relative:{0:\"this hour\"},relativeTime:{future:{other:\"+{0} h\"},past:{other:\"-{0} h\"}}},minute:{displayName:\"miniti\",relative:{0:\"this minute\"},relativeTime:{future:{other:\"+{0} min\"},past:{other:\"-{0} min\"}}},\"minute-short\":{displayName:\"miniti\",relative:{0:\"this minute\"},relativeTime:{future:{other:\"+{0} min\"},past:{other:\"-{0} min\"}}},second:{displayName:\"sekondi\",relative:{0:\"now\"},relativeTime:{future:{other:\"+{0} s\"},past:{other:\"-{0} s\"}}},\"second-short\":{displayName:\"sekondi\",relative:{0:\"now\"},relativeTime:{future:{other:\"+{0} s\"},past:{other:\"-{0} s\"}}}}},{locale:\"bm-Nkoo\",pluralRuleFunction:function(e,t){return\"other\"},fields:{year:{displayName:\"Year\",relative:{0:\"this year\",1:\"next year\",\"-1\":\"last year\"},relativeTime:{future:{other:\"+{0} y\"},past:{other:\"-{0} y\"}}},\"year-short\":{displayName:\"Year\",relative:{0:\"this year\",1:\"next year\",\"-1\":\"last year\"},relativeTime:{future:{other:\"+{0} y\"},past:{other:\"-{0} y\"}}},month:{displayName:\"Month\",relative:{0:\"this month\",1:\"next month\",\"-1\":\"last month\"},relativeTime:{future:{other:\"+{0} m\"},past:{other:\"-{0} m\"}}},\"month-short\":{displayName:\"Month\",relative:{0:\"this month\",1:\"next month\",\"-1\":\"last month\"},relativeTime:{future:{other:\"+{0} m\"},past:{other:\"-{0} m\"}}},day:{displayName:\"Day\",relative:{0:\"today\",1:\"tomorrow\",\"-1\":\"yesterday\"},relativeTime:{future:{other:\"+{0} d\"},past:{other:\"-{0} d\"}}},\"day-short\":{displayName:\"Day\",relative:{0:\"today\",1:\"tomorrow\",\"-1\":\"yesterday\"},relativeTime:{future:{other:\"+{0} d\"},past:{other:\"-{0} d\"}}},hour:{displayName:\"Hour\",relative:{0:\"this hour\"},relativeTime:{future:{other:\"+{0} h\"},past:{other:\"-{0} h\"}}},\"hour-short\":{displayName:\"Hour\",relative:{0:\"this hour\"},relativeTime:{future:{other:\"+{0} h\"},past:{other:\"-{0} h\"}}},minute:{displayName:\"Minute\",relative:{0:\"this minute\"},relativeTime:{future:{other:\"+{0} min\"},past:{other:\"-{0} min\"}}},\"minute-short\":{displayName:\"Minute\",relative:{0:\"this minute\"},relativeTime:{future:{other:\"+{0} min\"},past:{other:\"-{0} min\"}}},second:{displayName:\"Second\",relative:{0:\"now\"},relativeTime:{future:{other:\"+{0} s\"},past:{other:\"-{0} s\"}}},\"second-short\":{displayName:\"Second\",relative:{0:\"now\"},relativeTime:{future:{other:\"+{0} s\"},past:{other:\"-{0} s\"}}}}}]});\n","// eslint-disable-next-line import/no-unresolved\nmodule.exports = require('./build/OutsideClickHandler');\n","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n\tvalue: true\n});\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nexports.default = DragLayer;\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _propTypes = require('prop-types');\n\nvar _propTypes2 = _interopRequireDefault(_propTypes);\n\nvar _hoistNonReactStatics = require('hoist-non-react-statics');\n\nvar _hoistNonReactStatics2 = _interopRequireDefault(_hoistNonReactStatics);\n\nvar _isPlainObject = require('lodash/isPlainObject');\n\nvar _isPlainObject2 = _interopRequireDefault(_isPlainObject);\n\nvar _invariant = require('invariant');\n\nvar _invariant2 = _interopRequireDefault(_invariant);\n\nvar _shallowEqual = require('./utils/shallowEqual');\n\nvar _shallowEqual2 = _interopRequireDefault(_shallowEqual);\n\nvar _shallowEqualScalar = require('./utils/shallowEqualScalar');\n\nvar _shallowEqualScalar2 = _interopRequireDefault(_shallowEqualScalar);\n\nvar _checkDecoratorArguments = require('./utils/checkDecoratorArguments');\n\nvar _checkDecoratorArguments2 = _interopRequireDefault(_checkDecoratorArguments);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nfunction DragLayer(collect) {\n\tvar options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n\t_checkDecoratorArguments2.default.apply(undefined, ['DragLayer', 'collect[, options]'].concat(Array.prototype.slice.call(arguments))); // eslint-disable-line prefer-rest-params\n\t(0, _invariant2.default)(typeof collect === 'function', 'Expected \"collect\" provided as the first argument to DragLayer to be a function that collects props to inject into the component. ', 'Instead, received %s. Read more: http://react-dnd.github.io/react-dnd/docs-drag-layer.html', collect);\n\t(0, _invariant2.default)((0, _isPlainObject2.default)(options), 'Expected \"options\" provided as the second argument to DragLayer to be a plain object when specified. ' + 'Instead, received %s. Read more: http://react-dnd.github.io/react-dnd/docs-drag-layer.html', options);\n\n\treturn function decorateLayer(DecoratedComponent) {\n\t\tvar _class, _temp;\n\n\t\tvar _options$arePropsEqua = options.arePropsEqual,\n\t\t arePropsEqual = _options$arePropsEqua === undefined ? _shallowEqualScalar2.default : _options$arePropsEqua;\n\n\t\tvar displayName = DecoratedComponent.displayName || DecoratedComponent.name || 'Component';\n\n\t\tvar DragLayerContainer = (_temp = _class = function (_Component) {\n\t\t\t_inherits(DragLayerContainer, _Component);\n\n\t\t\t_createClass(DragLayerContainer, [{\n\t\t\t\tkey: 'getDecoratedComponentInstance',\n\t\t\t\tvalue: function getDecoratedComponentInstance() {\n\t\t\t\t\t(0, _invariant2.default)(this.child, 'In order to access an instance of the decorated component it can not be a stateless component.');\n\t\t\t\t\treturn this.child;\n\t\t\t\t}\n\t\t\t}, {\n\t\t\t\tkey: 'shouldComponentUpdate',\n\t\t\t\tvalue: function shouldComponentUpdate(nextProps, nextState) {\n\t\t\t\t\treturn !arePropsEqual(nextProps, this.props) || !(0, _shallowEqual2.default)(nextState, this.state);\n\t\t\t\t}\n\t\t\t}]);\n\n\t\t\tfunction DragLayerContainer(props, context) {\n\t\t\t\t_classCallCheck(this, DragLayerContainer);\n\n\t\t\t\tvar _this = _possibleConstructorReturn(this, (DragLayerContainer.__proto__ || Object.getPrototypeOf(DragLayerContainer)).call(this, props));\n\n\t\t\t\t_this.handleChange = _this.handleChange.bind(_this);\n\n\t\t\t\t_this.manager = context.dragDropManager;\n\t\t\t\t(0, _invariant2.default)(_typeof(_this.manager) === 'object', 'Could not find the drag and drop manager in the context of %s. ' + 'Make sure to wrap the top-level component of your app with DragDropContext. ' + 'Read more: http://react-dnd.github.io/react-dnd/docs-troubleshooting.html#could-not-find-the-drag-and-drop-manager-in-the-context', displayName, displayName);\n\n\t\t\t\t_this.state = _this.getCurrentState();\n\t\t\t\treturn _this;\n\t\t\t}\n\n\t\t\t_createClass(DragLayerContainer, [{\n\t\t\t\tkey: 'componentDidMount',\n\t\t\t\tvalue: function componentDidMount() {\n\t\t\t\t\tthis.isCurrentlyMounted = true;\n\n\t\t\t\t\tvar monitor = this.manager.getMonitor();\n\t\t\t\t\tthis.unsubscribeFromOffsetChange = monitor.subscribeToOffsetChange(this.handleChange);\n\t\t\t\t\tthis.unsubscribeFromStateChange = monitor.subscribeToStateChange(this.handleChange);\n\n\t\t\t\t\tthis.handleChange();\n\t\t\t\t}\n\t\t\t}, {\n\t\t\t\tkey: 'componentWillUnmount',\n\t\t\t\tvalue: function componentWillUnmount() {\n\t\t\t\t\tthis.isCurrentlyMounted = false;\n\n\t\t\t\t\tthis.unsubscribeFromOffsetChange();\n\t\t\t\t\tthis.unsubscribeFromStateChange();\n\t\t\t\t}\n\t\t\t}, {\n\t\t\t\tkey: 'handleChange',\n\t\t\t\tvalue: function handleChange() {\n\t\t\t\t\tif (!this.isCurrentlyMounted) {\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\n\t\t\t\t\tvar nextState = this.getCurrentState();\n\t\t\t\t\tif (!(0, _shallowEqual2.default)(nextState, this.state)) {\n\t\t\t\t\t\tthis.setState(nextState);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}, {\n\t\t\t\tkey: 'getCurrentState',\n\t\t\t\tvalue: function getCurrentState() {\n\t\t\t\t\tvar monitor = this.manager.getMonitor();\n\t\t\t\t\treturn collect(monitor, this.props);\n\t\t\t\t}\n\t\t\t}, {\n\t\t\t\tkey: 'render',\n\t\t\t\tvalue: function render() {\n\t\t\t\t\tvar _this2 = this;\n\n\t\t\t\t\treturn _react2.default.createElement(DecoratedComponent, _extends({}, this.props, this.state, {\n\t\t\t\t\t\tref: function ref(child) {\n\t\t\t\t\t\t\t_this2.child = child;\n\t\t\t\t\t\t}\n\t\t\t\t\t}));\n\t\t\t\t}\n\t\t\t}]);\n\n\t\t\treturn DragLayerContainer;\n\t\t}(_react.Component), _class.DecoratedComponent = DecoratedComponent, _class.displayName = 'DragLayer(' + displayName + ')', _class.contextTypes = {\n\t\t\tdragDropManager: _propTypes2.default.object.isRequired\n\t\t}, _temp);\n\n\n\t\treturn (0, _hoistNonReactStatics2.default)(DragLayerContainer, DecoratedComponent);\n\t};\n}","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _raf2 = require('raf');\n\nvar _raf3 = _interopRequireDefault(_raf2);\n\nvar _domCss = require('dom-css');\n\nvar _domCss2 = _interopRequireDefault(_domCss);\n\nvar _react = require('react');\n\nvar _propTypes = require('prop-types');\n\nvar _propTypes2 = _interopRequireDefault(_propTypes);\n\nvar _isString = require('../utils/isString');\n\nvar _isString2 = _interopRequireDefault(_isString);\n\nvar _getScrollbarWidth = require('../utils/getScrollbarWidth');\n\nvar _getScrollbarWidth2 = _interopRequireDefault(_getScrollbarWidth);\n\nvar _returnFalse = require('../utils/returnFalse');\n\nvar _returnFalse2 = _interopRequireDefault(_returnFalse);\n\nvar _getInnerWidth = require('../utils/getInnerWidth');\n\nvar _getInnerWidth2 = _interopRequireDefault(_getInnerWidth);\n\nvar _getInnerHeight = require('../utils/getInnerHeight');\n\nvar _getInnerHeight2 = _interopRequireDefault(_getInnerHeight);\n\nvar _styles = require('./styles');\n\nvar _defaultRenderElements = require('./defaultRenderElements');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction _objectWithoutProperties(obj, keys) { var target = {}; for (var i in obj) { if (keys.indexOf(i) >= 0) continue; if (!Object.prototype.hasOwnProperty.call(obj, i)) continue; target[i] = obj[i]; } return target; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar Scrollbars = function (_Component) {\n _inherits(Scrollbars, _Component);\n\n function Scrollbars(props) {\n var _ref;\n\n _classCallCheck(this, Scrollbars);\n\n for (var _len = arguments.length, rest = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n rest[_key - 1] = arguments[_key];\n }\n\n var _this = _possibleConstructorReturn(this, (_ref = Scrollbars.__proto__ || Object.getPrototypeOf(Scrollbars)).call.apply(_ref, [this, props].concat(rest)));\n\n _this.getScrollLeft = _this.getScrollLeft.bind(_this);\n _this.getScrollTop = _this.getScrollTop.bind(_this);\n _this.getScrollWidth = _this.getScrollWidth.bind(_this);\n _this.getScrollHeight = _this.getScrollHeight.bind(_this);\n _this.getClientWidth = _this.getClientWidth.bind(_this);\n _this.getClientHeight = _this.getClientHeight.bind(_this);\n _this.getValues = _this.getValues.bind(_this);\n _this.getThumbHorizontalWidth = _this.getThumbHorizontalWidth.bind(_this);\n _this.getThumbVerticalHeight = _this.getThumbVerticalHeight.bind(_this);\n _this.getScrollLeftForOffset = _this.getScrollLeftForOffset.bind(_this);\n _this.getScrollTopForOffset = _this.getScrollTopForOffset.bind(_this);\n\n _this.scrollLeft = _this.scrollLeft.bind(_this);\n _this.scrollTop = _this.scrollTop.bind(_this);\n _this.scrollToLeft = _this.scrollToLeft.bind(_this);\n _this.scrollToTop = _this.scrollToTop.bind(_this);\n _this.scrollToRight = _this.scrollToRight.bind(_this);\n _this.scrollToBottom = _this.scrollToBottom.bind(_this);\n\n _this.handleTrackMouseEnter = _this.handleTrackMouseEnter.bind(_this);\n _this.handleTrackMouseLeave = _this.handleTrackMouseLeave.bind(_this);\n _this.handleHorizontalTrackMouseDown = _this.handleHorizontalTrackMouseDown.bind(_this);\n _this.handleVerticalTrackMouseDown = _this.handleVerticalTrackMouseDown.bind(_this);\n _this.handleHorizontalThumbMouseDown = _this.handleHorizontalThumbMouseDown.bind(_this);\n _this.handleVerticalThumbMouseDown = _this.handleVerticalThumbMouseDown.bind(_this);\n _this.handleWindowResize = _this.handleWindowResize.bind(_this);\n _this.handleScroll = _this.handleScroll.bind(_this);\n _this.handleDrag = _this.handleDrag.bind(_this);\n _this.handleDragEnd = _this.handleDragEnd.bind(_this);\n\n _this.state = {\n didMountUniversal: false\n };\n return _this;\n }\n\n _createClass(Scrollbars, [{\n key: 'componentDidMount',\n value: function componentDidMount() {\n this.addListeners();\n this.update();\n this.componentDidMountUniversal();\n }\n }, {\n key: 'componentDidMountUniversal',\n value: function componentDidMountUniversal() {\n // eslint-disable-line react/sort-comp\n var universal = this.props.universal;\n\n if (!universal) return;\n this.setState({ didMountUniversal: true });\n }\n }, {\n key: 'componentDidUpdate',\n value: function componentDidUpdate() {\n this.update();\n }\n }, {\n key: 'componentWillUnmount',\n value: function componentWillUnmount() {\n this.removeListeners();\n (0, _raf2.cancel)(this.requestFrame);\n clearTimeout(this.hideTracksTimeout);\n clearInterval(this.detectScrollingInterval);\n }\n }, {\n key: 'getScrollLeft',\n value: function getScrollLeft() {\n if (!this.view) return 0;\n return this.view.scrollLeft;\n }\n }, {\n key: 'getScrollTop',\n value: function getScrollTop() {\n if (!this.view) return 0;\n return this.view.scrollTop;\n }\n }, {\n key: 'getScrollWidth',\n value: function getScrollWidth() {\n if (!this.view) return 0;\n return this.view.scrollWidth;\n }\n }, {\n key: 'getScrollHeight',\n value: function getScrollHeight() {\n if (!this.view) return 0;\n return this.view.scrollHeight;\n }\n }, {\n key: 'getClientWidth',\n value: function getClientWidth() {\n if (!this.view) return 0;\n return this.view.clientWidth;\n }\n }, {\n key: 'getClientHeight',\n value: function getClientHeight() {\n if (!this.view) return 0;\n return this.view.clientHeight;\n }\n }, {\n key: 'getValues',\n value: function getValues() {\n var _ref2 = this.view || {},\n _ref2$scrollLeft = _ref2.scrollLeft,\n scrollLeft = _ref2$scrollLeft === undefined ? 0 : _ref2$scrollLeft,\n _ref2$scrollTop = _ref2.scrollTop,\n scrollTop = _ref2$scrollTop === undefined ? 0 : _ref2$scrollTop,\n _ref2$scrollWidth = _ref2.scrollWidth,\n scrollWidth = _ref2$scrollWidth === undefined ? 0 : _ref2$scrollWidth,\n _ref2$scrollHeight = _ref2.scrollHeight,\n scrollHeight = _ref2$scrollHeight === undefined ? 0 : _ref2$scrollHeight,\n _ref2$clientWidth = _ref2.clientWidth,\n clientWidth = _ref2$clientWidth === undefined ? 0 : _ref2$clientWidth,\n _ref2$clientHeight = _ref2.clientHeight,\n clientHeight = _ref2$clientHeight === undefined ? 0 : _ref2$clientHeight;\n\n return {\n left: scrollLeft / (scrollWidth - clientWidth) || 0,\n top: scrollTop / (scrollHeight - clientHeight) || 0,\n scrollLeft: scrollLeft,\n scrollTop: scrollTop,\n scrollWidth: scrollWidth,\n scrollHeight: scrollHeight,\n clientWidth: clientWidth,\n clientHeight: clientHeight\n };\n }\n }, {\n key: 'getThumbHorizontalWidth',\n value: function getThumbHorizontalWidth() {\n var _props = this.props,\n thumbSize = _props.thumbSize,\n thumbMinSize = _props.thumbMinSize;\n var _view = this.view,\n scrollWidth = _view.scrollWidth,\n clientWidth = _view.clientWidth;\n\n var trackWidth = (0, _getInnerWidth2[\"default\"])(this.trackHorizontal);\n var width = Math.ceil(clientWidth / scrollWidth * trackWidth);\n if (trackWidth === width) return 0;\n if (thumbSize) return thumbSize;\n return Math.max(width, thumbMinSize);\n }\n }, {\n key: 'getThumbVerticalHeight',\n value: function getThumbVerticalHeight() {\n var _props2 = this.props,\n thumbSize = _props2.thumbSize,\n thumbMinSize = _props2.thumbMinSize;\n var _view2 = this.view,\n scrollHeight = _view2.scrollHeight,\n clientHeight = _view2.clientHeight;\n\n var trackHeight = (0, _getInnerHeight2[\"default\"])(this.trackVertical);\n var height = Math.ceil(clientHeight / scrollHeight * trackHeight);\n if (trackHeight === height) return 0;\n if (thumbSize) return thumbSize;\n return Math.max(height, thumbMinSize);\n }\n }, {\n key: 'getScrollLeftForOffset',\n value: function getScrollLeftForOffset(offset) {\n var _view3 = this.view,\n scrollWidth = _view3.scrollWidth,\n clientWidth = _view3.clientWidth;\n\n var trackWidth = (0, _getInnerWidth2[\"default\"])(this.trackHorizontal);\n var thumbWidth = this.getThumbHorizontalWidth();\n return offset / (trackWidth - thumbWidth) * (scrollWidth - clientWidth);\n }\n }, {\n key: 'getScrollTopForOffset',\n value: function getScrollTopForOffset(offset) {\n var _view4 = this.view,\n scrollHeight = _view4.scrollHeight,\n clientHeight = _view4.clientHeight;\n\n var trackHeight = (0, _getInnerHeight2[\"default\"])(this.trackVertical);\n var thumbHeight = this.getThumbVerticalHeight();\n return offset / (trackHeight - thumbHeight) * (scrollHeight - clientHeight);\n }\n }, {\n key: 'scrollLeft',\n value: function scrollLeft() {\n var left = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;\n\n if (!this.view) return;\n this.view.scrollLeft = left;\n }\n }, {\n key: 'scrollTop',\n value: function scrollTop() {\n var top = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;\n\n if (!this.view) return;\n this.view.scrollTop = top;\n }\n }, {\n key: 'scrollToLeft',\n value: function scrollToLeft() {\n if (!this.view) return;\n this.view.scrollLeft = 0;\n }\n }, {\n key: 'scrollToTop',\n value: function scrollToTop() {\n if (!this.view) return;\n this.view.scrollTop = 0;\n }\n }, {\n key: 'scrollToRight',\n value: function scrollToRight() {\n if (!this.view) return;\n this.view.scrollLeft = this.view.scrollWidth;\n }\n }, {\n key: 'scrollToBottom',\n value: function scrollToBottom() {\n if (!this.view) return;\n this.view.scrollTop = this.view.scrollHeight;\n }\n }, {\n key: 'addListeners',\n value: function addListeners() {\n /* istanbul ignore if */\n if (typeof document === 'undefined' || !this.view) return;\n var view = this.view,\n trackHorizontal = this.trackHorizontal,\n trackVertical = this.trackVertical,\n thumbHorizontal = this.thumbHorizontal,\n thumbVertical = this.thumbVertical;\n\n view.addEventListener('scroll', this.handleScroll);\n if (!(0, _getScrollbarWidth2[\"default\"])()) return;\n trackHorizontal.addEventListener('mouseenter', this.handleTrackMouseEnter);\n trackHorizontal.addEventListener('mouseleave', this.handleTrackMouseLeave);\n trackHorizontal.addEventListener('mousedown', this.handleHorizontalTrackMouseDown);\n trackVertical.addEventListener('mouseenter', this.handleTrackMouseEnter);\n trackVertical.addEventListener('mouseleave', this.handleTrackMouseLeave);\n trackVertical.addEventListener('mousedown', this.handleVerticalTrackMouseDown);\n thumbHorizontal.addEventListener('mousedown', this.handleHorizontalThumbMouseDown);\n thumbVertical.addEventListener('mousedown', this.handleVerticalThumbMouseDown);\n window.addEventListener('resize', this.handleWindowResize);\n }\n }, {\n key: 'removeListeners',\n value: function removeListeners() {\n /* istanbul ignore if */\n if (typeof document === 'undefined' || !this.view) return;\n var view = this.view,\n trackHorizontal = this.trackHorizontal,\n trackVertical = this.trackVertical,\n thumbHorizontal = this.thumbHorizontal,\n thumbVertical = this.thumbVertical;\n\n view.removeEventListener('scroll', this.handleScroll);\n if (!(0, _getScrollbarWidth2[\"default\"])()) return;\n trackHorizontal.removeEventListener('mouseenter', this.handleTrackMouseEnter);\n trackHorizontal.removeEventListener('mouseleave', this.handleTrackMouseLeave);\n trackHorizontal.removeEventListener('mousedown', this.handleHorizontalTrackMouseDown);\n trackVertical.removeEventListener('mouseenter', this.handleTrackMouseEnter);\n trackVertical.removeEventListener('mouseleave', this.handleTrackMouseLeave);\n trackVertical.removeEventListener('mousedown', this.handleVerticalTrackMouseDown);\n thumbHorizontal.removeEventListener('mousedown', this.handleHorizontalThumbMouseDown);\n thumbVertical.removeEventListener('mousedown', this.handleVerticalThumbMouseDown);\n window.removeEventListener('resize', this.handleWindowResize);\n // Possibly setup by `handleDragStart`\n this.teardownDragging();\n }\n }, {\n key: 'handleScroll',\n value: function handleScroll(event) {\n var _this2 = this;\n\n var _props3 = this.props,\n onScroll = _props3.onScroll,\n onScrollFrame = _props3.onScrollFrame;\n\n if (onScroll) onScroll(event);\n this.update(function (values) {\n var scrollLeft = values.scrollLeft,\n scrollTop = values.scrollTop;\n\n _this2.viewScrollLeft = scrollLeft;\n _this2.viewScrollTop = scrollTop;\n if (onScrollFrame) onScrollFrame(values);\n });\n this.detectScrolling();\n }\n }, {\n key: 'handleScrollStart',\n value: function handleScrollStart() {\n var onScrollStart = this.props.onScrollStart;\n\n if (onScrollStart) onScrollStart();\n this.handleScrollStartAutoHide();\n }\n }, {\n key: 'handleScrollStartAutoHide',\n value: function handleScrollStartAutoHide() {\n var autoHide = this.props.autoHide;\n\n if (!autoHide) return;\n this.showTracks();\n }\n }, {\n key: 'handleScrollStop',\n value: function handleScrollStop() {\n var onScrollStop = this.props.onScrollStop;\n\n if (onScrollStop) onScrollStop();\n this.handleScrollStopAutoHide();\n }\n }, {\n key: 'handleScrollStopAutoHide',\n value: function handleScrollStopAutoHide() {\n var autoHide = this.props.autoHide;\n\n if (!autoHide) return;\n this.hideTracks();\n }\n }, {\n key: 'handleWindowResize',\n value: function handleWindowResize() {\n this.update();\n }\n }, {\n key: 'handleHorizontalTrackMouseDown',\n value: function handleHorizontalTrackMouseDown(event) {\n event.preventDefault();\n var target = event.target,\n clientX = event.clientX;\n\n var _target$getBoundingCl = target.getBoundingClientRect(),\n targetLeft = _target$getBoundingCl.left;\n\n var thumbWidth = this.getThumbHorizontalWidth();\n var offset = Math.abs(targetLeft - clientX) - thumbWidth / 2;\n this.view.scrollLeft = this.getScrollLeftForOffset(offset);\n }\n }, {\n key: 'handleVerticalTrackMouseDown',\n value: function handleVerticalTrackMouseDown(event) {\n event.preventDefault();\n var target = event.target,\n clientY = event.clientY;\n\n var _target$getBoundingCl2 = target.getBoundingClientRect(),\n targetTop = _target$getBoundingCl2.top;\n\n var thumbHeight = this.getThumbVerticalHeight();\n var offset = Math.abs(targetTop - clientY) - thumbHeight / 2;\n this.view.scrollTop = this.getScrollTopForOffset(offset);\n }\n }, {\n key: 'handleHorizontalThumbMouseDown',\n value: function handleHorizontalThumbMouseDown(event) {\n event.preventDefault();\n this.handleDragStart(event);\n var target = event.target,\n clientX = event.clientX;\n var offsetWidth = target.offsetWidth;\n\n var _target$getBoundingCl3 = target.getBoundingClientRect(),\n left = _target$getBoundingCl3.left;\n\n this.prevPageX = offsetWidth - (clientX - left);\n }\n }, {\n key: 'handleVerticalThumbMouseDown',\n value: function handleVerticalThumbMouseDown(event) {\n event.preventDefault();\n this.handleDragStart(event);\n var target = event.target,\n clientY = event.clientY;\n var offsetHeight = target.offsetHeight;\n\n var _target$getBoundingCl4 = target.getBoundingClientRect(),\n top = _target$getBoundingCl4.top;\n\n this.prevPageY = offsetHeight - (clientY - top);\n }\n }, {\n key: 'setupDragging',\n value: function setupDragging() {\n (0, _domCss2[\"default\"])(document.body, _styles.disableSelectStyle);\n document.addEventListener('mousemove', this.handleDrag);\n document.addEventListener('mouseup', this.handleDragEnd);\n document.onselectstart = _returnFalse2[\"default\"];\n }\n }, {\n key: 'teardownDragging',\n value: function teardownDragging() {\n (0, _domCss2[\"default\"])(document.body, _styles.disableSelectStyleReset);\n document.removeEventListener('mousemove', this.handleDrag);\n document.removeEventListener('mouseup', this.handleDragEnd);\n document.onselectstart = undefined;\n }\n }, {\n key: 'handleDragStart',\n value: function handleDragStart(event) {\n this.dragging = true;\n event.stopImmediatePropagation();\n this.setupDragging();\n }\n }, {\n key: 'handleDrag',\n value: function handleDrag(event) {\n if (this.prevPageX) {\n var clientX = event.clientX;\n\n var _trackHorizontal$getB = this.trackHorizontal.getBoundingClientRect(),\n trackLeft = _trackHorizontal$getB.left;\n\n var thumbWidth = this.getThumbHorizontalWidth();\n var clickPosition = thumbWidth - this.prevPageX;\n var offset = -trackLeft + clientX - clickPosition;\n this.view.scrollLeft = this.getScrollLeftForOffset(offset);\n }\n if (this.prevPageY) {\n var clientY = event.clientY;\n\n var _trackVertical$getBou = this.trackVertical.getBoundingClientRect(),\n trackTop = _trackVertical$getBou.top;\n\n var thumbHeight = this.getThumbVerticalHeight();\n var _clickPosition = thumbHeight - this.prevPageY;\n var _offset = -trackTop + clientY - _clickPosition;\n this.view.scrollTop = this.getScrollTopForOffset(_offset);\n }\n return false;\n }\n }, {\n key: 'handleDragEnd',\n value: function handleDragEnd() {\n this.dragging = false;\n this.prevPageX = this.prevPageY = 0;\n this.teardownDragging();\n this.handleDragEndAutoHide();\n }\n }, {\n key: 'handleDragEndAutoHide',\n value: function handleDragEndAutoHide() {\n var autoHide = this.props.autoHide;\n\n if (!autoHide) return;\n this.hideTracks();\n }\n }, {\n key: 'handleTrackMouseEnter',\n value: function handleTrackMouseEnter() {\n this.trackMouseOver = true;\n this.handleTrackMouseEnterAutoHide();\n }\n }, {\n key: 'handleTrackMouseEnterAutoHide',\n value: function handleTrackMouseEnterAutoHide() {\n var autoHide = this.props.autoHide;\n\n if (!autoHide) return;\n this.showTracks();\n }\n }, {\n key: 'handleTrackMouseLeave',\n value: function handleTrackMouseLeave() {\n this.trackMouseOver = false;\n this.handleTrackMouseLeaveAutoHide();\n }\n }, {\n key: 'handleTrackMouseLeaveAutoHide',\n value: function handleTrackMouseLeaveAutoHide() {\n var autoHide = this.props.autoHide;\n\n if (!autoHide) return;\n this.hideTracks();\n }\n }, {\n key: 'showTracks',\n value: function showTracks() {\n clearTimeout(this.hideTracksTimeout);\n (0, _domCss2[\"default\"])(this.trackHorizontal, { opacity: 1 });\n (0, _domCss2[\"default\"])(this.trackVertical, { opacity: 1 });\n }\n }, {\n key: 'hideTracks',\n value: function hideTracks() {\n var _this3 = this;\n\n if (this.dragging) return;\n if (this.scrolling) return;\n if (this.trackMouseOver) return;\n var autoHideTimeout = this.props.autoHideTimeout;\n\n clearTimeout(this.hideTracksTimeout);\n this.hideTracksTimeout = setTimeout(function () {\n (0, _domCss2[\"default\"])(_this3.trackHorizontal, { opacity: 0 });\n (0, _domCss2[\"default\"])(_this3.trackVertical, { opacity: 0 });\n }, autoHideTimeout);\n }\n }, {\n key: 'detectScrolling',\n value: function detectScrolling() {\n var _this4 = this;\n\n if (this.scrolling) return;\n this.scrolling = true;\n this.handleScrollStart();\n this.detectScrollingInterval = setInterval(function () {\n if (_this4.lastViewScrollLeft === _this4.viewScrollLeft && _this4.lastViewScrollTop === _this4.viewScrollTop) {\n clearInterval(_this4.detectScrollingInterval);\n _this4.scrolling = false;\n _this4.handleScrollStop();\n }\n _this4.lastViewScrollLeft = _this4.viewScrollLeft;\n _this4.lastViewScrollTop = _this4.viewScrollTop;\n }, 100);\n }\n }, {\n key: 'raf',\n value: function raf(callback) {\n var _this5 = this;\n\n if (this.requestFrame) _raf3[\"default\"].cancel(this.requestFrame);\n this.requestFrame = (0, _raf3[\"default\"])(function () {\n _this5.requestFrame = undefined;\n callback();\n });\n }\n }, {\n key: 'update',\n value: function update(callback) {\n var _this6 = this;\n\n this.raf(function () {\n return _this6._update(callback);\n });\n }\n }, {\n key: '_update',\n value: function _update(callback) {\n var _props4 = this.props,\n onUpdate = _props4.onUpdate,\n hideTracksWhenNotNeeded = _props4.hideTracksWhenNotNeeded;\n\n var values = this.getValues();\n if ((0, _getScrollbarWidth2[\"default\"])()) {\n var scrollLeft = values.scrollLeft,\n clientWidth = values.clientWidth,\n scrollWidth = values.scrollWidth;\n\n var trackHorizontalWidth = (0, _getInnerWidth2[\"default\"])(this.trackHorizontal);\n var thumbHorizontalWidth = this.getThumbHorizontalWidth();\n var thumbHorizontalX = scrollLeft / (scrollWidth - clientWidth) * (trackHorizontalWidth - thumbHorizontalWidth);\n var thumbHorizontalStyle = {\n width: thumbHorizontalWidth,\n transform: 'translateX(' + thumbHorizontalX + 'px)'\n };\n var scrollTop = values.scrollTop,\n clientHeight = values.clientHeight,\n scrollHeight = values.scrollHeight;\n\n var trackVerticalHeight = (0, _getInnerHeight2[\"default\"])(this.trackVertical);\n var thumbVerticalHeight = this.getThumbVerticalHeight();\n var thumbVerticalY = scrollTop / (scrollHeight - clientHeight) * (trackVerticalHeight - thumbVerticalHeight);\n var thumbVerticalStyle = {\n height: thumbVerticalHeight,\n transform: 'translateY(' + thumbVerticalY + 'px)'\n };\n if (hideTracksWhenNotNeeded) {\n var trackHorizontalStyle = {\n visibility: scrollWidth > clientWidth ? 'visible' : 'hidden'\n };\n var trackVerticalStyle = {\n visibility: scrollHeight > clientHeight ? 'visible' : 'hidden'\n };\n (0, _domCss2[\"default\"])(this.trackHorizontal, trackHorizontalStyle);\n (0, _domCss2[\"default\"])(this.trackVertical, trackVerticalStyle);\n }\n (0, _domCss2[\"default\"])(this.thumbHorizontal, thumbHorizontalStyle);\n (0, _domCss2[\"default\"])(this.thumbVertical, thumbVerticalStyle);\n }\n if (onUpdate) onUpdate(values);\n if (typeof callback !== 'function') return;\n callback(values);\n }\n }, {\n key: 'render',\n value: function render() {\n var _this7 = this;\n\n var scrollbarWidth = (0, _getScrollbarWidth2[\"default\"])();\n /* eslint-disable no-unused-vars */\n\n var _props5 = this.props,\n onScroll = _props5.onScroll,\n onScrollFrame = _props5.onScrollFrame,\n onScrollStart = _props5.onScrollStart,\n onScrollStop = _props5.onScrollStop,\n onUpdate = _props5.onUpdate,\n renderView = _props5.renderView,\n renderTrackHorizontal = _props5.renderTrackHorizontal,\n renderTrackVertical = _props5.renderTrackVertical,\n renderThumbHorizontal = _props5.renderThumbHorizontal,\n renderThumbVertical = _props5.renderThumbVertical,\n tagName = _props5.tagName,\n hideTracksWhenNotNeeded = _props5.hideTracksWhenNotNeeded,\n autoHide = _props5.autoHide,\n autoHideTimeout = _props5.autoHideTimeout,\n autoHideDuration = _props5.autoHideDuration,\n thumbSize = _props5.thumbSize,\n thumbMinSize = _props5.thumbMinSize,\n universal = _props5.universal,\n autoHeight = _props5.autoHeight,\n autoHeightMin = _props5.autoHeightMin,\n autoHeightMax = _props5.autoHeightMax,\n style = _props5.style,\n children = _props5.children,\n props = _objectWithoutProperties(_props5, ['onScroll', 'onScrollFrame', 'onScrollStart', 'onScrollStop', 'onUpdate', 'renderView', 'renderTrackHorizontal', 'renderTrackVertical', 'renderThumbHorizontal', 'renderThumbVertical', 'tagName', 'hideTracksWhenNotNeeded', 'autoHide', 'autoHideTimeout', 'autoHideDuration', 'thumbSize', 'thumbMinSize', 'universal', 'autoHeight', 'autoHeightMin', 'autoHeightMax', 'style', 'children']);\n /* eslint-enable no-unused-vars */\n\n var didMountUniversal = this.state.didMountUniversal;\n\n\n var containerStyle = _extends({}, _styles.containerStyleDefault, autoHeight && _extends({}, _styles.containerStyleAutoHeight, {\n minHeight: autoHeightMin,\n maxHeight: autoHeightMax\n }), style);\n\n var viewStyle = _extends({}, _styles.viewStyleDefault, {\n // Hide scrollbars by setting a negative margin\n marginRight: scrollbarWidth ? -scrollbarWidth : 0,\n marginBottom: scrollbarWidth ? -scrollbarWidth : 0\n }, autoHeight && _extends({}, _styles.viewStyleAutoHeight, {\n // Add scrollbarWidth to autoHeight in order to compensate negative margins\n minHeight: (0, _isString2[\"default\"])(autoHeightMin) ? 'calc(' + autoHeightMin + ' + ' + scrollbarWidth + 'px)' : autoHeightMin + scrollbarWidth,\n maxHeight: (0, _isString2[\"default\"])(autoHeightMax) ? 'calc(' + autoHeightMax + ' + ' + scrollbarWidth + 'px)' : autoHeightMax + scrollbarWidth\n }), autoHeight && universal && !didMountUniversal && {\n minHeight: autoHeightMin,\n maxHeight: autoHeightMax\n }, universal && !didMountUniversal && _styles.viewStyleUniversalInitial);\n\n var trackAutoHeightStyle = {\n transition: 'opacity ' + autoHideDuration + 'ms',\n opacity: 0\n };\n\n var trackHorizontalStyle = _extends({}, _styles.trackHorizontalStyleDefault, autoHide && trackAutoHeightStyle, (!scrollbarWidth || universal && !didMountUniversal) && {\n display: 'none'\n });\n\n var trackVerticalStyle = _extends({}, _styles.trackVerticalStyleDefault, autoHide && trackAutoHeightStyle, (!scrollbarWidth || universal && !didMountUniversal) && {\n display: 'none'\n });\n\n return (0, _react.createElement)(tagName, _extends({}, props, { style: containerStyle, ref: function ref(_ref3) {\n _this7.container = _ref3;\n } }), [(0, _react.cloneElement)(renderView({ style: viewStyle }), { key: 'view', ref: function ref(_ref4) {\n _this7.view = _ref4;\n } }, children), (0, _react.cloneElement)(renderTrackHorizontal({ style: trackHorizontalStyle }), { key: 'trackHorizontal', ref: function ref(_ref5) {\n _this7.trackHorizontal = _ref5;\n } }, (0, _react.cloneElement)(renderThumbHorizontal({ style: _styles.thumbHorizontalStyleDefault }), { ref: function ref(_ref6) {\n _this7.thumbHorizontal = _ref6;\n } })), (0, _react.cloneElement)(renderTrackVertical({ style: trackVerticalStyle }), { key: 'trackVertical', ref: function ref(_ref7) {\n _this7.trackVertical = _ref7;\n } }, (0, _react.cloneElement)(renderThumbVertical({ style: _styles.thumbVerticalStyleDefault }), { ref: function ref(_ref8) {\n _this7.thumbVertical = _ref8;\n } }))]);\n }\n }]);\n\n return Scrollbars;\n}(_react.Component);\n\nexports[\"default\"] = Scrollbars;\n\n\nScrollbars.propTypes = {\n onScroll: _propTypes2[\"default\"].func,\n onScrollFrame: _propTypes2[\"default\"].func,\n onScrollStart: _propTypes2[\"default\"].func,\n onScrollStop: _propTypes2[\"default\"].func,\n onUpdate: _propTypes2[\"default\"].func,\n renderView: _propTypes2[\"default\"].func,\n renderTrackHorizontal: _propTypes2[\"default\"].func,\n renderTrackVertical: _propTypes2[\"default\"].func,\n renderThumbHorizontal: _propTypes2[\"default\"].func,\n renderThumbVertical: _propTypes2[\"default\"].func,\n tagName: _propTypes2[\"default\"].string,\n thumbSize: _propTypes2[\"default\"].number,\n thumbMinSize: _propTypes2[\"default\"].number,\n hideTracksWhenNotNeeded: _propTypes2[\"default\"].bool,\n autoHide: _propTypes2[\"default\"].bool,\n autoHideTimeout: _propTypes2[\"default\"].number,\n autoHideDuration: _propTypes2[\"default\"].number,\n autoHeight: _propTypes2[\"default\"].bool,\n autoHeightMin: _propTypes2[\"default\"].oneOfType([_propTypes2[\"default\"].number, _propTypes2[\"default\"].string]),\n autoHeightMax: _propTypes2[\"default\"].oneOfType([_propTypes2[\"default\"].number, _propTypes2[\"default\"].string]),\n universal: _propTypes2[\"default\"].bool,\n style: _propTypes2[\"default\"].object,\n children: _propTypes2[\"default\"].node\n};\n\nScrollbars.defaultProps = {\n renderView: _defaultRenderElements.renderViewDefault,\n renderTrackHorizontal: _defaultRenderElements.renderTrackHorizontalDefault,\n renderTrackVertical: _defaultRenderElements.renderTrackVerticalDefault,\n renderThumbHorizontal: _defaultRenderElements.renderThumbHorizontalDefault,\n renderThumbVertical: _defaultRenderElements.renderThumbVerticalDefault,\n tagName: 'div',\n thumbMinSize: 30,\n hideTracksWhenNotNeeded: false,\n autoHide: false,\n autoHideTimeout: 1000,\n autoHideDuration: 200,\n autoHeight: false,\n autoHeightMin: 0,\n autoHeightMax: 200,\n universal: false\n};","!function(e,t){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=t():\"function\"==typeof define&&define.amd?define(t):(e.ReactIntlLocaleData=e.ReactIntlLocaleData||{},e.ReactIntlLocaleData.el=t())}(this,function(){\"use strict\";return[{locale:\"el\",pluralRuleFunction:function(e,t){return t?\"other\":1==e?\"one\":\"other\"},fields:{year:{displayName:\"έτος\",relative:{0:\"φέτος\",1:\"επόμενο έτος\",\"-1\":\"πέρσι\"},relativeTime:{future:{one:\"σε {0} έτος\",other:\"σε {0} έτη\"},past:{one:\"πριν από {0} έτος\",other:\"πριν από {0} έτη\"}}},\"year-short\":{displayName:\"έτ.\",relative:{0:\"φέτος\",1:\"επόμενο έτος\",\"-1\":\"πέρσι\"},relativeTime:{future:{one:\"σε {0} έτος\",other:\"σε {0} έτη\"},past:{one:\"πριν από {0} έτος\",other:\"πριν από {0} έτη\"}}},month:{displayName:\"μήνας\",relative:{0:\"τρέχων μήνας\",1:\"επόμενος μήνας\",\"-1\":\"προηγούμενος μήνας\"},relativeTime:{future:{one:\"σε {0} μήνα\",other:\"σε {0} μήνες\"},past:{one:\"πριν από {0} μήνα\",other:\"πριν από {0} μήνες\"}}},\"month-short\":{displayName:\"μήν.\",relative:{0:\"τρέχων μήνας\",1:\"επόμενος μήνας\",\"-1\":\"προηγούμενος μήνας\"},relativeTime:{future:{one:\"σε {0} μήνα\",other:\"σε {0} μήνες\"},past:{one:\"πριν από {0} μήνα\",other:\"πριν από {0} μήνες\"}}},day:{displayName:\"ημέρα\",relative:{0:\"σήμερα\",1:\"αύριο\",2:\"μεθαύριο\",\"-2\":\"προχθές\",\"-1\":\"χθες\"},relativeTime:{future:{one:\"σε {0} ημέρα\",other:\"σε {0} ημέρες\"},past:{one:\"πριν από {0} ημέρα\",other:\"πριν από {0} ημέρες\"}}},\"day-short\":{displayName:\"ημ.\",relative:{0:\"σήμερα\",1:\"αύριο\",2:\"μεθαύριο\",\"-2\":\"προχθές\",\"-1\":\"χθες\"},relativeTime:{future:{one:\"σε {0} ημ.\",other:\"σε {0} ημ.\"},past:{one:\"πριν από {0} ημ.\",other:\"πριν από {0} ημ.\"}}},hour:{displayName:\"ώρα\",relative:{0:\"τρέχουσα ώρα\"},relativeTime:{future:{one:\"σε {0} ώρα\",other:\"σε {0} ώρες\"},past:{one:\"πριν από {0} ώρα\",other:\"πριν από {0} ώρες\"}}},\"hour-short\":{displayName:\"ώ.\",relative:{0:\"τρέχουσα ώρα\"},relativeTime:{future:{one:\"σε {0} ώ.\",other:\"σε {0} ώ.\"},past:{one:\"πριν από {0} ώ.\",other:\"πριν από {0} ώ.\"}}},minute:{displayName:\"λεπτό\",relative:{0:\"τρέχον λεπτό\"},relativeTime:{future:{one:\"σε {0} λεπτό\",other:\"σε {0} λεπτά\"},past:{one:\"πριν από {0} λεπτό\",other:\"πριν από {0} λεπτά\"}}},\"minute-short\":{displayName:\"λεπ.\",relative:{0:\"τρέχον λεπτό\"},relativeTime:{future:{one:\"σε {0} λεπ.\",other:\"σε {0} λεπ.\"},past:{one:\"πριν από {0} λεπ.\",other:\"πριν από {0} λεπ.\"}}},second:{displayName:\"δευτερόλεπτο\",relative:{0:\"τώρα\"},relativeTime:{future:{one:\"σε {0} δευτερόλεπτο\",other:\"σε {0} δευτερόλεπτα\"},past:{one:\"πριν από {0} δευτερόλεπτο\",other:\"πριν από {0} δευτερόλεπτα\"}}},\"second-short\":{displayName:\"δευτ.\",relative:{0:\"τώρα\"},relativeTime:{future:{one:\"σε {0} δευτ.\",other:\"σε {0} δευτ.\"},past:{one:\"πριν από {0} δευτ.\",other:\"πριν από {0} δευτ.\"}}}}},{locale:\"el-CY\",parentLocale:\"el\"}]});\n","import {\n defineAliasedType,\n assertNodeType,\n assertValueType,\n validateArrayOfType,\n} from \"./utils.ts\";\n\nconst defineType = defineAliasedType(\"JSX\");\n\ndefineType(\"JSXAttribute\", {\n visitor: [\"name\", \"value\"],\n aliases: [\"Immutable\"],\n fields: {\n name: {\n validate: assertNodeType(\"JSXIdentifier\", \"JSXNamespacedName\"),\n },\n value: {\n optional: true,\n validate: assertNodeType(\n \"JSXElement\",\n \"JSXFragment\",\n \"StringLiteral\",\n \"JSXExpressionContainer\",\n ),\n },\n },\n});\n\ndefineType(\"JSXClosingElement\", {\n visitor: [\"name\"],\n aliases: [\"Immutable\"],\n fields: {\n name: {\n validate: assertNodeType(\n \"JSXIdentifier\",\n \"JSXMemberExpression\",\n \"JSXNamespacedName\",\n ),\n },\n },\n});\n\ndefineType(\"JSXElement\", {\n builder: process.env.BABEL_8_BREAKING\n ? [\"openingElement\", \"closingElement\", \"children\"]\n : [\"openingElement\", \"closingElement\", \"children\", \"selfClosing\"],\n visitor: [\"openingElement\", \"children\", \"closingElement\"],\n aliases: [\"Immutable\", \"Expression\"],\n fields: {\n openingElement: {\n validate: assertNodeType(\"JSXOpeningElement\"),\n },\n closingElement: {\n optional: true,\n validate: assertNodeType(\"JSXClosingElement\"),\n },\n children: validateArrayOfType(\n \"JSXText\",\n \"JSXExpressionContainer\",\n \"JSXSpreadChild\",\n \"JSXElement\",\n \"JSXFragment\",\n ),\n ...(process.env.BABEL_8_BREAKING\n ? {}\n : {\n selfClosing: {\n validate: assertValueType(\"boolean\"),\n optional: true,\n },\n }),\n },\n});\n\ndefineType(\"JSXEmptyExpression\", {});\n\ndefineType(\"JSXExpressionContainer\", {\n visitor: [\"expression\"],\n aliases: [\"Immutable\"],\n fields: {\n expression: {\n validate: assertNodeType(\"Expression\", \"JSXEmptyExpression\"),\n },\n },\n});\n\ndefineType(\"JSXSpreadChild\", {\n visitor: [\"expression\"],\n aliases: [\"Immutable\"],\n fields: {\n expression: {\n validate: assertNodeType(\"Expression\"),\n },\n },\n});\n\ndefineType(\"JSXIdentifier\", {\n builder: [\"name\"],\n fields: {\n name: {\n validate: assertValueType(\"string\"),\n },\n },\n});\n\ndefineType(\"JSXMemberExpression\", {\n visitor: [\"object\", \"property\"],\n fields: {\n object: {\n validate: assertNodeType(\"JSXMemberExpression\", \"JSXIdentifier\"),\n },\n property: {\n validate: assertNodeType(\"JSXIdentifier\"),\n },\n },\n});\n\ndefineType(\"JSXNamespacedName\", {\n visitor: [\"namespace\", \"name\"],\n fields: {\n namespace: {\n validate: assertNodeType(\"JSXIdentifier\"),\n },\n name: {\n validate: assertNodeType(\"JSXIdentifier\"),\n },\n },\n});\n\ndefineType(\"JSXOpeningElement\", {\n builder: [\"name\", \"attributes\", \"selfClosing\"],\n visitor: process.env.BABEL_8_BREAKING\n ? [\"name\", \"typeArguments\", \"attributes\"]\n : [\"name\", \"typeParameters\", \"typeArguments\", \"attributes\"],\n aliases: [\"Immutable\"],\n fields: {\n name: {\n validate: assertNodeType(\n \"JSXIdentifier\",\n \"JSXMemberExpression\",\n \"JSXNamespacedName\",\n ),\n },\n selfClosing: {\n default: false,\n },\n attributes: validateArrayOfType(\"JSXAttribute\", \"JSXSpreadAttribute\"),\n typeArguments: {\n validate: process.env.BABEL_8_BREAKING\n ? assertNodeType(\n \"TypeParameterInstantiation\",\n \"TSTypeParameterInstantiation\",\n )\n : assertNodeType(\"TypeParameterInstantiation\"),\n optional: true,\n },\n ...(process.env.BABEL_8_BREAKING\n ? {}\n : {\n typeParameters: {\n validate: assertNodeType(\"TSTypeParameterInstantiation\"),\n optional: true,\n },\n }),\n },\n});\n\ndefineType(\"JSXSpreadAttribute\", {\n visitor: [\"argument\"],\n fields: {\n argument: {\n validate: assertNodeType(\"Expression\"),\n },\n },\n});\n\ndefineType(\"JSXText\", {\n aliases: [\"Immutable\"],\n builder: [\"value\"],\n fields: {\n value: {\n validate: assertValueType(\"string\"),\n },\n },\n});\n\ndefineType(\"JSXFragment\", {\n builder: [\"openingFragment\", \"closingFragment\", \"children\"],\n visitor: [\"openingFragment\", \"children\", \"closingFragment\"],\n aliases: [\"Immutable\", \"Expression\"],\n fields: {\n openingFragment: {\n validate: assertNodeType(\"JSXOpeningFragment\"),\n },\n closingFragment: {\n validate: assertNodeType(\"JSXClosingFragment\"),\n },\n children: validateArrayOfType(\n \"JSXText\",\n \"JSXExpressionContainer\",\n \"JSXSpreadChild\",\n \"JSXElement\",\n \"JSXFragment\",\n ),\n },\n});\n\ndefineType(\"JSXOpeningFragment\", {\n aliases: [\"Immutable\"],\n});\n\ndefineType(\"JSXClosingFragment\", {\n aliases: [\"Immutable\"],\n});\n","var baseGetTag = require('./_baseGetTag'),\n isObject = require('./isObject');\n\n/** `Object#toString` result references. */\nvar asyncTag = '[object AsyncFunction]',\n funcTag = '[object Function]',\n genTag = '[object GeneratorFunction]',\n proxyTag = '[object Proxy]';\n\n/**\n * Checks if `value` is classified as a `Function` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a function, else `false`.\n * @example\n *\n * _.isFunction(_);\n * // => true\n *\n * _.isFunction(/abc/);\n * // => false\n */\nfunction isFunction(value) {\n if (!isObject(value)) {\n return false;\n }\n // The use of `Object#toString` avoids issues with the `typeof` operator\n // in Safari 9 which returns 'object' for typed arrays and other constructors.\n var tag = baseGetTag(value);\n return tag == funcTag || tag == genTag || tag == asyncTag || tag == proxyTag;\n}\n\nmodule.exports = isFunction;\n","import { isVariableDeclaration } from \"./generated/index.ts\";\nimport type * as t from \"../index.ts\";\n\nif (!process.env.BABEL_8_BREAKING) {\n // eslint-disable-next-line no-var\n var BLOCK_SCOPED_SYMBOL = Symbol.for(\"var used to be block scoped\");\n}\n\n/**\n * Check if the input `node` is a variable declaration.\n */\nexport default function isVar(node: t.Node): boolean {\n if (process.env.BABEL_8_BREAKING) {\n return isVariableDeclaration(node) && node.kind === \"var\";\n } else {\n return (\n isVariableDeclaration(node, { kind: \"var\" }) &&\n !(\n // @ts-expect-error document private properties\n node[BLOCK_SCOPED_SYMBOL]\n )\n );\n }\n}\n","'use strict';\n\nvar keys = require('object-keys');\nvar hasSymbols = typeof Symbol === 'function' && typeof Symbol('foo') === 'symbol';\n\nvar toStr = Object.prototype.toString;\nvar concat = Array.prototype.concat;\nvar defineDataProperty = require('define-data-property');\n\nvar isFunction = function (fn) {\n\treturn typeof fn === 'function' && toStr.call(fn) === '[object Function]';\n};\n\nvar supportsDescriptors = require('has-property-descriptors')();\n\nvar defineProperty = function (object, name, value, predicate) {\n\tif (name in object) {\n\t\tif (predicate === true) {\n\t\t\tif (object[name] === value) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t} else if (!isFunction(predicate) || !predicate()) {\n\t\t\treturn;\n\t\t}\n\t}\n\n\tif (supportsDescriptors) {\n\t\tdefineDataProperty(object, name, value, true);\n\t} else {\n\t\tdefineDataProperty(object, name, value);\n\t}\n};\n\nvar defineProperties = function (object, map) {\n\tvar predicates = arguments.length > 2 ? arguments[2] : {};\n\tvar props = keys(map);\n\tif (hasSymbols) {\n\t\tprops = concat.call(props, Object.getOwnPropertySymbols(map));\n\t}\n\tfor (var i = 0; i < props.length; i += 1) {\n\t\tdefineProperty(object, props[i], map[props[i]], predicates[props[i]]);\n\t}\n};\n\ndefineProperties.supportsDescriptors = !!supportsDescriptors;\n\nmodule.exports = defineProperties;\n","\"use strict\";\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }, _typeof(obj); }\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = void 0;\n\nvar _react = _interopRequireWildcard(require(\"react\"));\n\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\n\nvar _makeEventProps = _interopRequireDefault(require(\"make-event-props\"));\n\nvar _mergeClassNames = _interopRequireDefault(require(\"merge-class-names\"));\n\nvar _reactCalendar = _interopRequireDefault(require(\"react-calendar\"));\n\nvar _reactFit = _interopRequireDefault(require(\"react-fit\"));\n\nvar _reactClock = _interopRequireDefault(require(\"react-clock\"));\n\nvar _DateTimeInput = _interopRequireDefault(require(\"./DateTimeInput\"));\n\nvar _propTypes2 = require(\"./shared/propTypes\");\n\nvar _excluded = [\"calendarClassName\", \"className\", \"maxDetail\", \"onChange\", \"value\"],\n _excluded2 = [\"clockClassName\", \"className\", \"maxDetail\", \"onChange\", \"value\"],\n _excluded3 = [\"onChange\"];\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== \"function\") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }\n\nfunction _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== \"object\" && typeof obj !== \"function\") { return { \"default\": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== \"default\" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj[\"default\"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }\n\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nfunction _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== \"undefined\" && arr[Symbol.iterator] || arr[\"@@iterator\"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"] != null) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; }\n\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, \"prototype\", { writable: false }); return Constructor; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, \"prototype\", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } else if (call !== void 0) { throw new TypeError(\"Derived constructors may only return object or undefined\"); } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nvar allViews = ['hour', 'minute', 'second'];\nvar baseClassName = 'react-datetime-picker';\nvar outsideActionEvents = ['mousedown', 'focusin', 'touchstart'];\n\nvar DateTimePicker = /*#__PURE__*/function (_PureComponent) {\n _inherits(DateTimePicker, _PureComponent);\n\n var _super = _createSuper(DateTimePicker);\n\n function DateTimePicker() {\n var _this;\n\n _classCallCheck(this, DateTimePicker);\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n _this = _super.call.apply(_super, [this].concat(args));\n\n _defineProperty(_assertThisInitialized(_this), \"state\", {});\n\n _defineProperty(_assertThisInitialized(_this), \"onOutsideAction\", function (event) {\n // Try event.composedPath first to handle clicks inside a Shadow DOM.\n var target = 'composedPath' in event ? event.composedPath()[0] : event.target;\n\n if (_this.wrapper && !_this.wrapper.contains(target)) {\n _this.closeWidgets();\n }\n });\n\n _defineProperty(_assertThisInitialized(_this), \"onDateChange\", function (value, closeWidgets) {\n var prevValue = _this.props.value;\n\n if (prevValue) {\n var valueWithHour = new Date(value);\n valueWithHour.setHours(prevValue.getHours(), prevValue.getMinutes(), prevValue.getSeconds(), prevValue.getMilliseconds());\n\n _this.onChange(valueWithHour, closeWidgets);\n } else {\n _this.onChange(value, closeWidgets);\n }\n });\n\n _defineProperty(_assertThisInitialized(_this), \"onChange\", function (value) {\n var closeWidgets = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : _this.props.closeWidgets;\n var onChange = _this.props.onChange;\n\n if (closeWidgets) {\n _this.closeWidgets();\n }\n\n if (onChange) {\n onChange(value);\n }\n });\n\n _defineProperty(_assertThisInitialized(_this), \"onFocus\", function (event) {\n var _this$props = _this.props,\n disabled = _this$props.disabled,\n onFocus = _this$props.onFocus,\n openWidgetsOnFocus = _this$props.openWidgetsOnFocus;\n\n if (onFocus) {\n onFocus(event);\n } // Internet Explorer still fires onFocus on disabled elements\n\n\n if (disabled) {\n return;\n }\n\n if (openWidgetsOnFocus) {\n if (event.target.getAttribute('data-select') === 'true') {\n return;\n }\n\n switch (event.target.name) {\n case 'day':\n case 'month':\n case 'year':\n _this.openCalendar();\n\n break;\n\n case 'hour12':\n case 'hour24':\n case 'minute':\n case 'second':\n _this.openClock();\n\n break;\n\n default:\n }\n }\n });\n\n _defineProperty(_assertThisInitialized(_this), \"onKeyDown\", function (event) {\n if (event.key === 'Escape') {\n _this.closeWidgets();\n }\n });\n\n _defineProperty(_assertThisInitialized(_this), \"openClock\", function () {\n _this.setState({\n isCalendarOpen: false,\n isClockOpen: true\n });\n });\n\n _defineProperty(_assertThisInitialized(_this), \"openCalendar\", function () {\n _this.setState({\n isCalendarOpen: true,\n isClockOpen: false\n });\n });\n\n _defineProperty(_assertThisInitialized(_this), \"toggleCalendar\", function () {\n _this.setState(function (prevState) {\n return {\n isCalendarOpen: !prevState.isCalendarOpen,\n isClockOpen: false\n };\n });\n });\n\n _defineProperty(_assertThisInitialized(_this), \"closeWidgets\", function () {\n _this.setState(function (prevState) {\n if (!prevState.isCalendarOpen && !prevState.isClockOpen) {\n return null;\n }\n\n return {\n isCalendarOpen: false,\n isClockOpen: false\n };\n });\n });\n\n _defineProperty(_assertThisInitialized(_this), \"stopPropagation\", function (event) {\n return event.stopPropagation();\n });\n\n _defineProperty(_assertThisInitialized(_this), \"clear\", function () {\n return _this.onChange(null);\n });\n\n return _this;\n }\n\n _createClass(DateTimePicker, [{\n key: \"componentDidMount\",\n value: function componentDidMount() {\n this.handleOutsideActionListeners();\n }\n }, {\n key: \"componentDidUpdate\",\n value: function componentDidUpdate(prevProps, prevState) {\n var _this$state = this.state,\n isCalendarOpen = _this$state.isCalendarOpen,\n isClockOpen = _this$state.isClockOpen;\n var _this$props2 = this.props,\n onCalendarClose = _this$props2.onCalendarClose,\n onCalendarOpen = _this$props2.onCalendarOpen,\n onClockClose = _this$props2.onClockClose,\n onClockOpen = _this$props2.onClockOpen;\n var isWidgetOpen = isCalendarOpen || isClockOpen;\n var prevIsWidgetOpen = prevState.isCalendarOpen || prevState.isClockOpen;\n\n if (isWidgetOpen !== prevIsWidgetOpen) {\n this.handleOutsideActionListeners();\n }\n\n if (isCalendarOpen !== prevState.isCalendarOpen) {\n var callback = isCalendarOpen ? onCalendarOpen : onCalendarClose;\n if (callback) callback();\n }\n\n if (isClockOpen !== prevState.isClockOpen) {\n var _callback = isClockOpen ? onClockOpen : onClockClose;\n\n if (_callback) _callback();\n }\n }\n }, {\n key: \"componentWillUnmount\",\n value: function componentWillUnmount() {\n this.handleOutsideActionListeners(false);\n }\n }, {\n key: \"eventProps\",\n get: function get() {\n return (0, _makeEventProps[\"default\"])(this.props);\n }\n }, {\n key: \"handleOutsideActionListeners\",\n value: function handleOutsideActionListeners(shouldListen) {\n var _this2 = this;\n\n var _this$state2 = this.state,\n isCalendarOpen = _this$state2.isCalendarOpen,\n isClockOpen = _this$state2.isClockOpen;\n var isWidgetOpen = isCalendarOpen || isClockOpen;\n var shouldListenWithFallback = typeof shouldListen !== 'undefined' ? shouldListen : isWidgetOpen;\n var fnName = shouldListenWithFallback ? 'addEventListener' : 'removeEventListener';\n outsideActionEvents.forEach(function (eventName) {\n return document[fnName](eventName, _this2.onOutsideAction);\n });\n document[fnName]('keydown', this.onKeyDown);\n }\n }, {\n key: \"renderInputs\",\n value: function renderInputs() {\n var _this$props3 = this.props,\n amPmAriaLabel = _this$props3.amPmAriaLabel,\n autoFocus = _this$props3.autoFocus,\n calendarAriaLabel = _this$props3.calendarAriaLabel,\n calendarIcon = _this$props3.calendarIcon,\n clearAriaLabel = _this$props3.clearAriaLabel,\n clearIcon = _this$props3.clearIcon,\n dayAriaLabel = _this$props3.dayAriaLabel,\n dayPlaceholder = _this$props3.dayPlaceholder,\n disableCalendar = _this$props3.disableCalendar,\n disabled = _this$props3.disabled,\n format = _this$props3.format,\n hourAriaLabel = _this$props3.hourAriaLabel,\n hourPlaceholder = _this$props3.hourPlaceholder,\n locale = _this$props3.locale,\n maxDate = _this$props3.maxDate,\n maxDetail = _this$props3.maxDetail,\n minDate = _this$props3.minDate,\n minuteAriaLabel = _this$props3.minuteAriaLabel,\n minutePlaceholder = _this$props3.minutePlaceholder,\n monthAriaLabel = _this$props3.monthAriaLabel,\n monthPlaceholder = _this$props3.monthPlaceholder,\n name = _this$props3.name,\n nativeInputAriaLabel = _this$props3.nativeInputAriaLabel,\n required = _this$props3.required,\n secondAriaLabel = _this$props3.secondAriaLabel,\n secondPlaceholder = _this$props3.secondPlaceholder,\n showLeadingZeros = _this$props3.showLeadingZeros,\n value = _this$props3.value,\n yearAriaLabel = _this$props3.yearAriaLabel,\n yearPlaceholder = _this$props3.yearPlaceholder;\n var _this$state3 = this.state,\n isCalendarOpen = _this$state3.isCalendarOpen,\n isClockOpen = _this$state3.isClockOpen;\n\n var _concat = [].concat(value),\n _concat2 = _slicedToArray(_concat, 1),\n valueFrom = _concat2[0];\n\n var ariaLabelProps = {\n amPmAriaLabel: amPmAriaLabel,\n dayAriaLabel: dayAriaLabel,\n hourAriaLabel: hourAriaLabel,\n minuteAriaLabel: minuteAriaLabel,\n monthAriaLabel: monthAriaLabel,\n nativeInputAriaLabel: nativeInputAriaLabel,\n secondAriaLabel: secondAriaLabel,\n yearAriaLabel: yearAriaLabel\n };\n var placeholderProps = {\n dayPlaceholder: dayPlaceholder,\n hourPlaceholder: hourPlaceholder,\n minutePlaceholder: minutePlaceholder,\n monthPlaceholder: monthPlaceholder,\n secondPlaceholder: secondPlaceholder,\n yearPlaceholder: yearPlaceholder\n };\n return /*#__PURE__*/_react[\"default\"].createElement(\"div\", {\n className: \"\".concat(baseClassName, \"__wrapper\")\n }, /*#__PURE__*/_react[\"default\"].createElement(_DateTimeInput[\"default\"], _extends({}, ariaLabelProps, placeholderProps, {\n // eslint-disable-next-line jsx-a11y/no-autofocus\n autoFocus: autoFocus,\n className: \"\".concat(baseClassName, \"__inputGroup\"),\n disabled: disabled,\n format: format,\n isWidgetOpen: isCalendarOpen || isClockOpen,\n locale: locale,\n maxDate: maxDate,\n maxDetail: maxDetail,\n minDate: minDate,\n name: name,\n onChange: this.onChange,\n placeholder: this.placeholder,\n required: required,\n showLeadingZeros: showLeadingZeros,\n value: valueFrom\n })), clearIcon !== null && /*#__PURE__*/_react[\"default\"].createElement(\"button\", {\n \"aria-label\": clearAriaLabel,\n className: \"\".concat(baseClassName, \"__clear-button \").concat(baseClassName, \"__button\"),\n disabled: disabled,\n onClick: this.clear,\n onFocus: this.stopPropagation,\n type: \"button\"\n }, clearIcon), calendarIcon !== null && !disableCalendar && /*#__PURE__*/_react[\"default\"].createElement(\"button\", {\n \"aria-label\": calendarAriaLabel,\n className: \"\".concat(baseClassName, \"__calendar-button \").concat(baseClassName, \"__button\"),\n disabled: disabled,\n onBlur: this.resetValue,\n onClick: this.toggleCalendar,\n onFocus: this.stopPropagation,\n type: \"button\"\n }, calendarIcon));\n }\n }, {\n key: \"renderCalendar\",\n value: function renderCalendar() {\n var disableCalendar = this.props.disableCalendar;\n var isCalendarOpen = this.state.isCalendarOpen;\n\n if (isCalendarOpen === null || disableCalendar) {\n return null;\n }\n\n var _this$props4 = this.props,\n calendarClassName = _this$props4.calendarClassName,\n dateTimePickerClassName = _this$props4.className,\n dateTimePickerMaxDetail = _this$props4.maxDetail,\n onChange = _this$props4.onChange,\n value = _this$props4.value,\n calendarProps = _objectWithoutProperties(_this$props4, _excluded);\n\n var className = \"\".concat(baseClassName, \"__calendar\");\n return /*#__PURE__*/_react[\"default\"].createElement(_reactFit[\"default\"], null, /*#__PURE__*/_react[\"default\"].createElement(\"div\", {\n ref: function ref(_ref) {\n if (_ref && !isCalendarOpen) {\n _ref.removeAttribute('style');\n }\n },\n className: (0, _mergeClassNames[\"default\"])(className, \"\".concat(className, \"--\").concat(isCalendarOpen ? 'open' : 'closed'))\n }, /*#__PURE__*/_react[\"default\"].createElement(_reactCalendar[\"default\"], _extends({\n className: calendarClassName,\n onChange: this.onDateChange,\n value: value || null\n }, calendarProps))));\n }\n }, {\n key: \"renderClock\",\n value: function renderClock() {\n var disableClock = this.props.disableClock;\n var isClockOpen = this.state.isClockOpen;\n\n if (isClockOpen === null || disableClock) {\n return null;\n }\n\n var _this$props5 = this.props,\n clockClassName = _this$props5.clockClassName,\n dateTimePickerClassName = _this$props5.className,\n maxDetail = _this$props5.maxDetail,\n onChange = _this$props5.onChange,\n value = _this$props5.value,\n clockProps = _objectWithoutProperties(_this$props5, _excluded2);\n\n var className = \"\".concat(baseClassName, \"__clock\");\n\n var _concat3 = [].concat(value),\n _concat4 = _slicedToArray(_concat3, 1),\n valueFrom = _concat4[0];\n\n var maxDetailIndex = allViews.indexOf(maxDetail);\n return /*#__PURE__*/_react[\"default\"].createElement(_reactFit[\"default\"], null, /*#__PURE__*/_react[\"default\"].createElement(\"div\", {\n ref: function ref(_ref2) {\n if (_ref2 && !isClockOpen) {\n _ref2.removeAttribute('style');\n }\n },\n className: (0, _mergeClassNames[\"default\"])(className, \"\".concat(className, \"--\").concat(isClockOpen ? 'open' : 'closed'))\n }, /*#__PURE__*/_react[\"default\"].createElement(_reactClock[\"default\"], _extends({\n className: clockClassName,\n renderMinuteHand: maxDetailIndex > 0,\n renderSecondHand: maxDetailIndex > 1,\n value: valueFrom\n }, clockProps))));\n }\n }, {\n key: \"render\",\n value: function render() {\n var _this3 = this;\n\n var eventProps = this.eventProps;\n var _this$props6 = this.props,\n className = _this$props6.className,\n disabled = _this$props6.disabled;\n var isOpen = this.state.isOpen;\n\n var onChange = eventProps.onChange,\n eventPropsWithoutOnChange = _objectWithoutProperties(eventProps, _excluded3);\n\n return /*#__PURE__*/_react[\"default\"].createElement(\"div\", _extends({\n className: (0, _mergeClassNames[\"default\"])(baseClassName, \"\".concat(baseClassName, \"--\").concat(isOpen ? 'open' : 'closed'), \"\".concat(baseClassName, \"--\").concat(disabled ? 'disabled' : 'enabled'), className)\n }, eventPropsWithoutOnChange, {\n onFocus: this.onFocus,\n ref: function ref(_ref3) {\n if (!_ref3) {\n return;\n }\n\n _this3.wrapper = _ref3;\n }\n }), this.renderInputs(), this.renderCalendar(), this.renderClock());\n }\n }], [{\n key: \"getDerivedStateFromProps\",\n value: function getDerivedStateFromProps(nextProps, prevState) {\n var nextState = {};\n\n if (nextProps.isCalendarOpen !== prevState.isCalendarOpenProps) {\n nextState.isCalendarOpen = nextProps.isCalendarOpen;\n nextState.isCalendarOpenProps = nextProps.isCalendarOpen;\n }\n\n if (nextProps.isClockOpen !== prevState.isClockOpenProps) {\n nextState.isClockOpen = nextProps.isClockOpen;\n nextState.isClockOpenProps = nextProps.isClockOpen;\n }\n\n return nextState;\n }\n }]);\n\n return DateTimePicker;\n}(_react.PureComponent);\n\nexports[\"default\"] = DateTimePicker;\nvar iconProps = {\n xmlns: 'http://www.w3.org/2000/svg',\n width: 19,\n height: 19,\n viewBox: '0 0 19 19',\n stroke: 'black',\n strokeWidth: 2\n};\n\nvar CalendarIcon = /*#__PURE__*/_react[\"default\"].createElement(\"svg\", _extends({}, iconProps, {\n className: \"\".concat(baseClassName, \"__calendar-button__icon \").concat(baseClassName, \"__button__icon\")\n}), /*#__PURE__*/_react[\"default\"].createElement(\"rect\", {\n fill: \"none\",\n height: \"15\",\n width: \"15\",\n x: \"2\",\n y: \"2\"\n}), /*#__PURE__*/_react[\"default\"].createElement(\"line\", {\n x1: \"6\",\n x2: \"6\",\n y1: \"0\",\n y2: \"4\"\n}), /*#__PURE__*/_react[\"default\"].createElement(\"line\", {\n x1: \"13\",\n x2: \"13\",\n y1: \"0\",\n y2: \"4\"\n}));\n\nvar ClearIcon = /*#__PURE__*/_react[\"default\"].createElement(\"svg\", _extends({}, iconProps, {\n className: \"\".concat(baseClassName, \"__clear-button__icon \").concat(baseClassName, \"__button__icon\")\n}), /*#__PURE__*/_react[\"default\"].createElement(\"line\", {\n x1: \"4\",\n x2: \"15\",\n y1: \"4\",\n y2: \"15\"\n}), /*#__PURE__*/_react[\"default\"].createElement(\"line\", {\n x1: \"15\",\n x2: \"4\",\n y1: \"4\",\n y2: \"15\"\n}));\n\nDateTimePicker.defaultProps = {\n calendarIcon: CalendarIcon,\n clearIcon: ClearIcon,\n closeWidgets: true,\n isCalendarOpen: null,\n isClockOpen: null,\n maxDetail: 'minute',\n openWidgetsOnFocus: true\n};\n\nvar isValue = _propTypes[\"default\"].oneOfType([_propTypes[\"default\"].string, _propTypes[\"default\"].instanceOf(Date)]);\n\nDateTimePicker.propTypes = {\n amPmAriaLabel: _propTypes[\"default\"].string,\n autoFocus: _propTypes[\"default\"].bool,\n calendarAriaLabel: _propTypes[\"default\"].string,\n calendarClassName: _propTypes[\"default\"].oneOfType([_propTypes[\"default\"].string, _propTypes[\"default\"].arrayOf(_propTypes[\"default\"].string)]),\n calendarIcon: _propTypes[\"default\"].node,\n className: _propTypes[\"default\"].oneOfType([_propTypes[\"default\"].string, _propTypes[\"default\"].arrayOf(_propTypes[\"default\"].string)]),\n clearAriaLabel: _propTypes[\"default\"].string,\n clearIcon: _propTypes[\"default\"].node,\n clockClassName: _propTypes[\"default\"].oneOfType([_propTypes[\"default\"].string, _propTypes[\"default\"].arrayOf(_propTypes[\"default\"].string)]),\n closeWidgets: _propTypes[\"default\"].bool,\n dayAriaLabel: _propTypes[\"default\"].string,\n dayPlaceholder: _propTypes[\"default\"].string,\n disableCalendar: _propTypes[\"default\"].bool,\n disableClock: _propTypes[\"default\"].bool,\n disabled: _propTypes[\"default\"].bool,\n format: _propTypes[\"default\"].string,\n hourAriaLabel: _propTypes[\"default\"].string,\n hourPlaceholder: _propTypes[\"default\"].string,\n isCalendarOpen: _propTypes[\"default\"].bool,\n isClockOpen: _propTypes[\"default\"].bool,\n locale: _propTypes[\"default\"].string,\n maxDate: _propTypes2.isMaxDate,\n maxDetail: _propTypes[\"default\"].oneOf(allViews),\n minDate: _propTypes2.isMinDate,\n minuteAriaLabel: _propTypes[\"default\"].string,\n minutePlaceholder: _propTypes[\"default\"].string,\n monthAriaLabel: _propTypes[\"default\"].string,\n monthPlaceholder: _propTypes[\"default\"].string,\n name: _propTypes[\"default\"].string,\n nativeInputAriaLabel: _propTypes[\"default\"].string,\n onCalendarClose: _propTypes[\"default\"].func,\n onCalendarOpen: _propTypes[\"default\"].func,\n onChange: _propTypes[\"default\"].func,\n onClockClose: _propTypes[\"default\"].func,\n onClockOpen: _propTypes[\"default\"].func,\n onFocus: _propTypes[\"default\"].func,\n openWidgetsOnFocus: _propTypes[\"default\"].bool,\n required: _propTypes[\"default\"].bool,\n secondAriaLabel: _propTypes[\"default\"].string,\n secondPlaceholder: _propTypes[\"default\"].string,\n showLeadingZeros: _propTypes[\"default\"].bool,\n value: _propTypes[\"default\"].oneOfType([isValue, _propTypes[\"default\"].arrayOf(isValue)]),\n yearAriaLabel: _propTypes[\"default\"].string,\n yearPlaceholder: _propTypes[\"default\"].string\n};","// We inline this package\n// eslint-disable-next-line import/no-extraneous-dependencies\nimport * as charCodes from \"charcodes\";\n\n// The following character codes are forbidden from being\n// an immediate sibling of NumericLiteralSeparator _\nconst forbiddenNumericSeparatorSiblings = {\n decBinOct: new Set([\n charCodes.dot,\n charCodes.uppercaseB,\n charCodes.uppercaseE,\n charCodes.uppercaseO,\n charCodes.underscore, // multiple separators are not allowed\n charCodes.lowercaseB,\n charCodes.lowercaseE,\n charCodes.lowercaseO,\n ]),\n hex: new Set([\n charCodes.dot,\n charCodes.uppercaseX,\n charCodes.underscore, // multiple separators are not allowed\n charCodes.lowercaseX,\n ]),\n};\n\nconst isAllowedNumericSeparatorSibling = {\n // 0 - 1\n bin: (ch: number) => ch === charCodes.digit0 || ch === charCodes.digit1,\n\n // 0 - 7\n oct: (ch: number) => ch >= charCodes.digit0 && ch <= charCodes.digit7,\n\n // 0 - 9\n dec: (ch: number) => ch >= charCodes.digit0 && ch <= charCodes.digit9,\n\n // 0 - 9, A - F, a - f,\n hex: (ch: number) =>\n (ch >= charCodes.digit0 && ch <= charCodes.digit9) ||\n (ch >= charCodes.uppercaseA && ch <= charCodes.uppercaseF) ||\n (ch >= charCodes.lowercaseA && ch <= charCodes.lowercaseF),\n};\n\nexport type StringContentsErrorHandlers = EscapedCharErrorHandlers & {\n unterminated(\n initialPos: number,\n initialLineStart: number,\n initialCurLine: number,\n ): void;\n};\n\nexport function readStringContents(\n type: \"single\" | \"double\" | \"template\",\n input: string,\n pos: number,\n lineStart: number,\n curLine: number,\n errors: StringContentsErrorHandlers,\n) {\n const initialPos = pos;\n const initialLineStart = lineStart;\n const initialCurLine = curLine;\n\n let out = \"\";\n let firstInvalidLoc = null;\n let chunkStart = pos;\n const { length } = input;\n for (;;) {\n if (pos >= length) {\n errors.unterminated(initialPos, initialLineStart, initialCurLine);\n out += input.slice(chunkStart, pos);\n break;\n }\n const ch = input.charCodeAt(pos);\n if (isStringEnd(type, ch, input, pos)) {\n out += input.slice(chunkStart, pos);\n break;\n }\n if (ch === charCodes.backslash) {\n out += input.slice(chunkStart, pos);\n const res = readEscapedChar(\n input,\n pos,\n lineStart,\n curLine,\n type === \"template\",\n errors,\n );\n if (res.ch === null && !firstInvalidLoc) {\n firstInvalidLoc = { pos, lineStart, curLine };\n } else {\n out += res.ch;\n }\n ({ pos, lineStart, curLine } = res);\n chunkStart = pos;\n } else if (\n ch === charCodes.lineSeparator ||\n ch === charCodes.paragraphSeparator\n ) {\n ++pos;\n ++curLine;\n lineStart = pos;\n } else if (ch === charCodes.lineFeed || ch === charCodes.carriageReturn) {\n if (type === \"template\") {\n out += input.slice(chunkStart, pos) + \"\\n\";\n ++pos;\n if (\n ch === charCodes.carriageReturn &&\n input.charCodeAt(pos) === charCodes.lineFeed\n ) {\n ++pos;\n }\n ++curLine;\n chunkStart = lineStart = pos;\n } else {\n errors.unterminated(initialPos, initialLineStart, initialCurLine);\n }\n } else {\n ++pos;\n }\n }\n return process.env.BABEL_8_BREAKING\n ? { pos, str: out, firstInvalidLoc, lineStart, curLine }\n : {\n pos,\n str: out,\n firstInvalidLoc,\n lineStart,\n curLine,\n containsInvalid: !!firstInvalidLoc,\n };\n}\n\nfunction isStringEnd(\n type: \"single\" | \"double\" | \"template\",\n ch: number,\n input: string,\n pos: number,\n) {\n if (type === \"template\") {\n return (\n ch === charCodes.graveAccent ||\n (ch === charCodes.dollarSign &&\n input.charCodeAt(pos + 1) === charCodes.leftCurlyBrace)\n );\n }\n return (\n ch === (type === \"double\" ? charCodes.quotationMark : charCodes.apostrophe)\n );\n}\n\ntype EscapedCharErrorHandlers = HexCharErrorHandlers &\n CodePointErrorHandlers & {\n strictNumericEscape(pos: number, lineStart: number, curLine: number): void;\n };\n\nfunction readEscapedChar(\n input: string,\n pos: number,\n lineStart: number,\n curLine: number,\n inTemplate: boolean,\n errors: EscapedCharErrorHandlers,\n) {\n const throwOnInvalid = !inTemplate;\n pos++; // skip '\\'\n\n const res = (ch: string | null) => ({ pos, ch, lineStart, curLine });\n\n const ch = input.charCodeAt(pos++);\n switch (ch) {\n case charCodes.lowercaseN:\n return res(\"\\n\");\n case charCodes.lowercaseR:\n return res(\"\\r\");\n case charCodes.lowercaseX: {\n let code;\n ({ code, pos } = readHexChar(\n input,\n pos,\n lineStart,\n curLine,\n 2,\n false,\n throwOnInvalid,\n errors,\n ));\n return res(code === null ? null : String.fromCharCode(code));\n }\n case charCodes.lowercaseU: {\n let code;\n ({ code, pos } = readCodePoint(\n input,\n pos,\n lineStart,\n curLine,\n throwOnInvalid,\n errors,\n ));\n return res(code === null ? null : String.fromCodePoint(code));\n }\n case charCodes.lowercaseT:\n return res(\"\\t\");\n case charCodes.lowercaseB:\n return res(\"\\b\");\n case charCodes.lowercaseV:\n return res(\"\\u000b\");\n case charCodes.lowercaseF:\n return res(\"\\f\");\n case charCodes.carriageReturn:\n if (input.charCodeAt(pos) === charCodes.lineFeed) {\n ++pos;\n }\n // fall through\n case charCodes.lineFeed:\n lineStart = pos;\n ++curLine;\n // fall through\n case charCodes.lineSeparator:\n case charCodes.paragraphSeparator:\n return res(\"\");\n case charCodes.digit8:\n case charCodes.digit9:\n if (inTemplate) {\n return res(null);\n } else {\n errors.strictNumericEscape(pos - 1, lineStart, curLine);\n }\n // fall through\n default:\n if (ch >= charCodes.digit0 && ch <= charCodes.digit7) {\n const startPos = pos - 1;\n const match = /^[0-7]+/.exec(input.slice(startPos, pos + 2));\n\n let octalStr = match[0];\n\n let octal = parseInt(octalStr, 8);\n if (octal > 255) {\n octalStr = octalStr.slice(0, -1);\n octal = parseInt(octalStr, 8);\n }\n pos += octalStr.length - 1;\n const next = input.charCodeAt(pos);\n if (\n octalStr !== \"0\" ||\n next === charCodes.digit8 ||\n next === charCodes.digit9\n ) {\n if (inTemplate) {\n return res(null);\n } else {\n errors.strictNumericEscape(startPos, lineStart, curLine);\n }\n }\n\n return res(String.fromCharCode(octal));\n }\n\n return res(String.fromCharCode(ch));\n }\n}\n\ntype HexCharErrorHandlers = IntErrorHandlers & {\n invalidEscapeSequence(pos: number, lineStart: number, curLine: number): void;\n};\n\n// Used to read character escape sequences ('\\x', '\\u').\nfunction readHexChar(\n input: string,\n pos: number,\n lineStart: number,\n curLine: number,\n len: number,\n forceLen: boolean,\n throwOnInvalid: boolean,\n errors: HexCharErrorHandlers,\n) {\n const initialPos = pos;\n let n;\n ({ n, pos } = readInt(\n input,\n pos,\n lineStart,\n curLine,\n 16,\n len,\n forceLen,\n false,\n errors,\n /* bailOnError */ !throwOnInvalid,\n ));\n if (n === null) {\n if (throwOnInvalid) {\n errors.invalidEscapeSequence(initialPos, lineStart, curLine);\n } else {\n pos = initialPos - 1;\n }\n }\n return { code: n, pos };\n}\n\nexport type IntErrorHandlers = {\n numericSeparatorInEscapeSequence(\n pos: number,\n lineStart: number,\n curLine: number,\n ): void;\n unexpectedNumericSeparator(\n pos: number,\n lineStart: number,\n curLine: number,\n ): void;\n // It can return \"true\" to indicate that the error was handled\n // and the int parsing should continue.\n invalidDigit(\n pos: number,\n lineStart: number,\n curLine: number,\n radix: number,\n ): boolean;\n};\n\nexport function readInt(\n input: string,\n pos: number,\n lineStart: number,\n curLine: number,\n radix: number,\n len: number | undefined,\n forceLen: boolean,\n allowNumSeparator: boolean | \"bail\",\n errors: IntErrorHandlers,\n bailOnError: boolean,\n) {\n const start = pos;\n const forbiddenSiblings =\n radix === 16\n ? forbiddenNumericSeparatorSiblings.hex\n : forbiddenNumericSeparatorSiblings.decBinOct;\n const isAllowedSibling =\n radix === 16\n ? isAllowedNumericSeparatorSibling.hex\n : radix === 10\n ? isAllowedNumericSeparatorSibling.dec\n : radix === 8\n ? isAllowedNumericSeparatorSibling.oct\n : isAllowedNumericSeparatorSibling.bin;\n\n let invalid = false;\n let total = 0;\n\n for (let i = 0, e = len == null ? Infinity : len; i < e; ++i) {\n const code = input.charCodeAt(pos);\n let val;\n\n if (code === charCodes.underscore && allowNumSeparator !== \"bail\") {\n const prev = input.charCodeAt(pos - 1);\n const next = input.charCodeAt(pos + 1);\n\n if (!allowNumSeparator) {\n if (bailOnError) return { n: null, pos };\n errors.numericSeparatorInEscapeSequence(pos, lineStart, curLine);\n } else if (\n Number.isNaN(next) ||\n !isAllowedSibling(next) ||\n forbiddenSiblings.has(prev) ||\n forbiddenSiblings.has(next)\n ) {\n if (bailOnError) return { n: null, pos };\n errors.unexpectedNumericSeparator(pos, lineStart, curLine);\n }\n\n // Ignore this _ character\n ++pos;\n continue;\n }\n\n if (code >= charCodes.lowercaseA) {\n val = code - charCodes.lowercaseA + charCodes.lineFeed;\n } else if (code >= charCodes.uppercaseA) {\n val = code - charCodes.uppercaseA + charCodes.lineFeed;\n } else if (charCodes.isDigit(code)) {\n val = code - charCodes.digit0; // 0-9\n } else {\n val = Infinity;\n }\n if (val >= radix) {\n // If we found a digit which is too big, errors.invalidDigit can return true to avoid\n // breaking the loop (this is used for error recovery).\n if (val <= 9 && bailOnError) {\n return { n: null, pos };\n } else if (\n val <= 9 &&\n errors.invalidDigit(pos, lineStart, curLine, radix)\n ) {\n val = 0;\n } else if (forceLen) {\n val = 0;\n invalid = true;\n } else {\n break;\n }\n }\n ++pos;\n total = total * radix + val;\n }\n if (pos === start || (len != null && pos - start !== len) || invalid) {\n return { n: null, pos };\n }\n\n return { n: total, pos };\n}\n\nexport type CodePointErrorHandlers = HexCharErrorHandlers & {\n invalidCodePoint(pos: number, lineStart: number, curLine: number): void;\n};\n\nexport function readCodePoint(\n input: string,\n pos: number,\n lineStart: number,\n curLine: number,\n throwOnInvalid: boolean,\n errors: CodePointErrorHandlers,\n) {\n const ch = input.charCodeAt(pos);\n let code;\n\n if (ch === charCodes.leftCurlyBrace) {\n ++pos;\n ({ code, pos } = readHexChar(\n input,\n pos,\n lineStart,\n curLine,\n input.indexOf(\"}\", pos) - pos,\n true,\n throwOnInvalid,\n errors,\n ));\n ++pos;\n if (code !== null && code > 0x10ffff) {\n if (throwOnInvalid) {\n errors.invalidCodePoint(pos, lineStart, curLine);\n } else {\n return { code: null, pos };\n }\n }\n } else {\n ({ code, pos } = readHexChar(\n input,\n pos,\n lineStart,\n curLine,\n 4,\n false,\n throwOnInvalid,\n errors,\n ));\n }\n return { code, pos };\n}\n","'use strict';\n\nvar $defineProperty = require('es-define-property');\n\nvar hasPropertyDescriptors = function hasPropertyDescriptors() {\n\treturn !!$defineProperty;\n};\n\nhasPropertyDescriptors.hasArrayLengthDefineBug = function hasArrayLengthDefineBug() {\n\t// node v0.6 has a bug where array lengths can be Set but not Defined\n\tif (!$defineProperty) {\n\t\treturn null;\n\t}\n\ttry {\n\t\treturn $defineProperty([], 'length', { value: 1 }).length !== 1;\n\t} catch (e) {\n\t\t// In Firefox 4-22, defining length on an array throws an exception.\n\t\treturn true;\n\t}\n};\n\nmodule.exports = hasPropertyDescriptors;\n","var baseGetTag = require('./_baseGetTag'),\n getPrototype = require('./_getPrototype'),\n isObjectLike = require('./isObjectLike');\n\n/** `Object#toString` result references. */\nvar objectTag = '[object Object]';\n\n/** Used for built-in method references. */\nvar funcProto = Function.prototype,\n objectProto = Object.prototype;\n\n/** Used to resolve the decompiled source of functions. */\nvar funcToString = funcProto.toString;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/** Used to infer the `Object` constructor. */\nvar objectCtorString = funcToString.call(Object);\n\n/**\n * Checks if `value` is a plain object, that is, an object created by the\n * `Object` constructor or one with a `[[Prototype]]` of `null`.\n *\n * @static\n * @memberOf _\n * @since 0.8.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a plain object, else `false`.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * }\n *\n * _.isPlainObject(new Foo);\n * // => false\n *\n * _.isPlainObject([1, 2, 3]);\n * // => false\n *\n * _.isPlainObject({ 'x': 0, 'y': 0 });\n * // => true\n *\n * _.isPlainObject(Object.create(null));\n * // => true\n */\nfunction isPlainObject(value) {\n if (!isObjectLike(value) || baseGetTag(value) != objectTag) {\n return false;\n }\n var proto = getPrototype(value);\n if (proto === null) {\n return true;\n }\n var Ctor = hasOwnProperty.call(proto, 'constructor') && proto.constructor;\n return typeof Ctor == 'function' && Ctor instanceof Ctor &&\n funcToString.call(Ctor) == objectCtorString;\n}\n\nmodule.exports = isPlainObject;\n","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = AmPm;\n\nvar _react = _interopRequireDefault(require(\"react\"));\n\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\n\nvar _mergeClassNames = _interopRequireDefault(require(\"merge-class-names\"));\n\nvar _dateUtils = require(\"@wojtekmaj/date-utils\");\n\nvar _dates = require(\"../shared/dates\");\n\nvar _propTypes2 = require(\"../shared/propTypes\");\n\nvar _utils = require(\"../shared/utils\");\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }\n\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nfunction _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== \"undefined\" && arr[Symbol.iterator] || arr[\"@@iterator\"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"] != null) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; }\n\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\n\nfunction AmPm(_ref) {\n var ariaLabel = _ref.ariaLabel,\n className = _ref.className,\n disabled = _ref.disabled,\n inputRef = _ref.inputRef,\n locale = _ref.locale,\n maxTime = _ref.maxTime,\n minTime = _ref.minTime,\n onChange = _ref.onChange,\n required = _ref.required,\n value = _ref.value;\n var amDisabled = minTime && (0, _dates.convert24to12)((0, _dateUtils.getHours)(minTime))[1] === 'pm';\n var pmDisabled = maxTime && (0, _dates.convert24to12)((0, _dateUtils.getHours)(maxTime))[1] === 'am';\n var name = 'amPm';\n\n var _getAmPmLabels = (0, _utils.getAmPmLabels)(locale),\n _getAmPmLabels2 = _slicedToArray(_getAmPmLabels, 2),\n amLabel = _getAmPmLabels2[0],\n pmLabel = _getAmPmLabels2[1];\n\n return /*#__PURE__*/_react[\"default\"].createElement(\"select\", {\n \"aria-label\": ariaLabel,\n className: (0, _mergeClassNames[\"default\"])(\"\".concat(className, \"__input\"), \"\".concat(className, \"__\").concat(name)),\n \"data-input\": \"true\",\n \"data-select\": \"true\",\n disabled: disabled,\n name: name,\n onChange: onChange,\n ref: inputRef,\n required: required,\n value: value !== null ? value : ''\n }, !value && /*#__PURE__*/_react[\"default\"].createElement(\"option\", {\n value: \"\"\n }, \"--\"), /*#__PURE__*/_react[\"default\"].createElement(\"option\", {\n disabled: amDisabled,\n value: \"am\"\n }, amLabel), /*#__PURE__*/_react[\"default\"].createElement(\"option\", {\n disabled: pmDisabled,\n value: \"pm\"\n }, pmLabel));\n}\n\nAmPm.propTypes = {\n ariaLabel: _propTypes[\"default\"].string,\n className: _propTypes[\"default\"].string.isRequired,\n disabled: _propTypes[\"default\"].bool,\n inputRef: _propTypes2.isRef,\n locale: _propTypes[\"default\"].string,\n maxTime: _propTypes2.isTime,\n minTime: _propTypes2.isTime,\n onChange: _propTypes[\"default\"].func,\n required: _propTypes[\"default\"].bool,\n value: _propTypes[\"default\"].oneOf(['am', 'pm'])\n};","!function(e,t){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=t():\"function\"==typeof define&&define.amd?define(t):(e.ReactIntlLocaleData=e.ReactIntlLocaleData||{},e.ReactIntlLocaleData.brx=t())}(this,function(){\"use strict\";return[{locale:\"brx\",pluralRuleFunction:function(e,t){return t?\"other\":1==e?\"one\":\"other\"},fields:{year:{displayName:\"बोसोर\",relative:{0:\"this year\",1:\"next year\",\"-1\":\"last year\"},relativeTime:{future:{other:\"+{0} y\"},past:{other:\"-{0} y\"}}},\"year-short\":{displayName:\"बोसोर\",relative:{0:\"this year\",1:\"next year\",\"-1\":\"last year\"},relativeTime:{future:{other:\"+{0} y\"},past:{other:\"-{0} y\"}}},month:{displayName:\"दान\",relative:{0:\"this month\",1:\"next month\",\"-1\":\"last month\"},relativeTime:{future:{other:\"+{0} m\"},past:{other:\"-{0} m\"}}},\"month-short\":{displayName:\"दान\",relative:{0:\"this month\",1:\"next month\",\"-1\":\"last month\"},relativeTime:{future:{other:\"+{0} m\"},past:{other:\"-{0} m\"}}},day:{displayName:\"सान\",relative:{0:\"दिनै\",1:\"गाबोन\",\"-1\":\"मैया\"},relativeTime:{future:{other:\"+{0} d\"},past:{other:\"-{0} d\"}}},\"day-short\":{displayName:\"सान\",relative:{0:\"दिनै\",1:\"गाबोन\",\"-1\":\"मैया\"},relativeTime:{future:{other:\"+{0} d\"},past:{other:\"-{0} d\"}}},hour:{displayName:\"रिंगा\",relative:{0:\"this hour\"},relativeTime:{future:{other:\"+{0} h\"},past:{other:\"-{0} h\"}}},\"hour-short\":{displayName:\"रिंगा\",relative:{0:\"this hour\"},relativeTime:{future:{other:\"+{0} h\"},past:{other:\"-{0} h\"}}},minute:{displayName:\"मिनिथ\",relative:{0:\"this minute\"},relativeTime:{future:{other:\"+{0} min\"},past:{other:\"-{0} min\"}}},\"minute-short\":{displayName:\"मिनिथ\",relative:{0:\"this minute\"},relativeTime:{future:{other:\"+{0} min\"},past:{other:\"-{0} min\"}}},second:{displayName:\"सेखेन्द\",relative:{0:\"now\"},relativeTime:{future:{other:\"+{0} s\"},past:{other:\"-{0} s\"}}},\"second-short\":{displayName:\"सेखेन्द\",relative:{0:\"now\"},relativeTime:{future:{other:\"+{0} s\"},past:{other:\"-{0} s\"}}}}}]});\n","var isKeyable = require('./_isKeyable');\n\n/**\n * Gets the data for `map`.\n *\n * @private\n * @param {Object} map The map to query.\n * @param {string} key The reference key.\n * @returns {*} Returns the map data.\n */\nfunction getMapData(map, key) {\n var data = map.__data__;\n return isKeyable(key)\n ? data[typeof key == 'string' ? 'string' : 'hash']\n : data.map;\n}\n\nmodule.exports = getMapData;\n","/**\n * Creates a unary function that invokes `func` with its argument transformed.\n *\n * @private\n * @param {Function} func The function to wrap.\n * @param {Function} transform The argument transform.\n * @returns {Function} Returns the new function.\n */\nfunction overArg(func, transform) {\n return function(arg) {\n return func(transform(arg));\n };\n}\n\nmodule.exports = overArg;\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nvar ReactPropTypesSecret = 'SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED';\n\nmodule.exports = ReactPropTypesSecret;\n","var root = require('./_root');\n\n/** Used to detect overreaching core-js shims. */\nvar coreJsData = root['__core-js_shared__'];\n\nmodule.exports = coreJsData;\n","'use strict';\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar React = require('react');\nvar PropTypes = require('prop-types');\nvar createManager = require('./createManager');\nvar ManagerContext = require('./ManagerContext');\n\nvar _require = require(\"./propTypes\"),\n refType = _require.refType;\n\nvar specialAssign = require('./specialAssign');\n\nvar checkedProps = {\n children: PropTypes.node.isRequired,\n forwardedRef: refType,\n onMenuToggle: PropTypes.func,\n onSelection: PropTypes.func,\n closeOnSelection: PropTypes.bool,\n closeOnBlur: PropTypes.bool,\n tag: PropTypes.string\n};\n\nvar managerOptionsFromProps = function managerOptionsFromProps(props) {\n return {\n onMenuToggle: props.onMenuToggle,\n onSelection: props.onSelection,\n closeOnSelection: props.closeOnSelection,\n closeOnBlur: props.closeOnBlur,\n id: props.id\n };\n};\n\nvar AriaMenuButtonWrapper = function (_React$Component) {\n _inherits(AriaMenuButtonWrapper, _React$Component);\n\n function AriaMenuButtonWrapper(props) {\n _classCallCheck(this, AriaMenuButtonWrapper);\n\n var _this = _possibleConstructorReturn(this, _React$Component.call(this, props));\n\n _this.manager = createManager(managerOptionsFromProps(props));\n return _this;\n }\n\n AriaMenuButtonWrapper.prototype.componentDidUpdate = function componentDidUpdate() {\n this.manager.updateOptions(managerOptionsFromProps(this.props));\n };\n\n AriaMenuButtonWrapper.prototype.render = function render() {\n var wrapperProps = {};\n specialAssign(wrapperProps, this.props, checkedProps);\n\n return React.createElement(ManagerContext.Provider, { value: this.manager }, React.createElement(this.props.tag, wrapperProps, this.props.children));\n };\n\n return AriaMenuButtonWrapper;\n}(React.Component);\n\nAriaMenuButtonWrapper.propTypes = checkedProps;\nAriaMenuButtonWrapper.defaultProps = { tag: 'div' };\n\n\nmodule.exports = React.forwardRef(function (props, ref) {\n var wrapperProps = { forwardedRef: ref };\n specialAssign(wrapperProps, props, { children: checkedProps.children, forwardedRef: checkedProps.forwardedRef });\n specialAssign(wrapperProps, { forwardedRef: ref });\n return React.createElement(AriaMenuButtonWrapper, wrapperProps, props.children);\n});","import { importAttributes } from \"./core.ts\";\nimport {\n defineAliasedType,\n arrayOfType,\n assertOneOf,\n assertValueType,\n validate,\n validateArrayOfType,\n validateOptional,\n validateOptionalType,\n validateType,\n} from \"./utils.ts\";\n\nconst defineType = defineAliasedType(\"Flow\");\n\nconst defineInterfaceishType = (\n name: \"DeclareClass\" | \"DeclareInterface\" | \"InterfaceDeclaration\",\n) => {\n const isDeclareClass = name === \"DeclareClass\";\n\n defineType(name, {\n builder: [\"id\", \"typeParameters\", \"extends\", \"body\"],\n visitor: [\n \"id\",\n \"typeParameters\",\n \"extends\",\n ...(isDeclareClass ? [\"mixins\", \"implements\"] : []),\n \"body\",\n ],\n aliases: [\"FlowDeclaration\", \"Statement\", \"Declaration\"],\n fields: {\n id: validateType(\"Identifier\"),\n typeParameters: validateOptionalType(\"TypeParameterDeclaration\"),\n extends: validateOptional(arrayOfType(\"InterfaceExtends\")),\n ...(isDeclareClass\n ? {\n mixins: validateOptional(arrayOfType(\"InterfaceExtends\")),\n implements: validateOptional(arrayOfType(\"ClassImplements\")),\n }\n : {}),\n body: validateType(\"ObjectTypeAnnotation\"),\n },\n });\n};\n\ndefineType(\"AnyTypeAnnotation\", {\n aliases: [\"FlowType\", \"FlowBaseAnnotation\"],\n});\n\ndefineType(\"ArrayTypeAnnotation\", {\n visitor: [\"elementType\"],\n aliases: [\"FlowType\"],\n fields: {\n elementType: validateType(\"FlowType\"),\n },\n});\n\ndefineType(\"BooleanTypeAnnotation\", {\n aliases: [\"FlowType\", \"FlowBaseAnnotation\"],\n});\n\ndefineType(\"BooleanLiteralTypeAnnotation\", {\n builder: [\"value\"],\n aliases: [\"FlowType\"],\n fields: {\n value: validate(assertValueType(\"boolean\")),\n },\n});\n\ndefineType(\"NullLiteralTypeAnnotation\", {\n aliases: [\"FlowType\", \"FlowBaseAnnotation\"],\n});\n\ndefineType(\"ClassImplements\", {\n visitor: [\"id\", \"typeParameters\"],\n fields: {\n id: validateType(\"Identifier\"),\n typeParameters: validateOptionalType(\"TypeParameterInstantiation\"),\n },\n});\n\ndefineInterfaceishType(\"DeclareClass\");\n\ndefineType(\"DeclareFunction\", {\n builder: [\"id\"],\n visitor: [\"id\", \"predicate\"],\n aliases: [\"FlowDeclaration\", \"Statement\", \"Declaration\"],\n fields: {\n id: validateType(\"Identifier\"),\n predicate: validateOptionalType(\"DeclaredPredicate\"),\n },\n});\n\ndefineInterfaceishType(\"DeclareInterface\");\n\ndefineType(\"DeclareModule\", {\n builder: [\"id\", \"body\", \"kind\"],\n visitor: [\"id\", \"body\"],\n aliases: [\"FlowDeclaration\", \"Statement\", \"Declaration\"],\n fields: {\n id: validateType(\"Identifier\", \"StringLiteral\"),\n body: validateType(\"BlockStatement\"),\n kind: validateOptional(assertOneOf(\"CommonJS\", \"ES\")),\n },\n});\n\ndefineType(\"DeclareModuleExports\", {\n visitor: [\"typeAnnotation\"],\n aliases: [\"FlowDeclaration\", \"Statement\", \"Declaration\"],\n fields: {\n typeAnnotation: validateType(\"TypeAnnotation\"),\n },\n});\n\ndefineType(\"DeclareTypeAlias\", {\n visitor: [\"id\", \"typeParameters\", \"right\"],\n aliases: [\"FlowDeclaration\", \"Statement\", \"Declaration\"],\n fields: {\n id: validateType(\"Identifier\"),\n typeParameters: validateOptionalType(\"TypeParameterDeclaration\"),\n right: validateType(\"FlowType\"),\n },\n});\n\ndefineType(\"DeclareOpaqueType\", {\n visitor: [\"id\", \"typeParameters\", \"supertype\"],\n aliases: [\"FlowDeclaration\", \"Statement\", \"Declaration\"],\n fields: {\n id: validateType(\"Identifier\"),\n typeParameters: validateOptionalType(\"TypeParameterDeclaration\"),\n supertype: validateOptionalType(\"FlowType\"),\n impltype: validateOptionalType(\"FlowType\"),\n },\n});\n\ndefineType(\"DeclareVariable\", {\n visitor: [\"id\"],\n aliases: [\"FlowDeclaration\", \"Statement\", \"Declaration\"],\n fields: {\n id: validateType(\"Identifier\"),\n },\n});\n\ndefineType(\"DeclareExportDeclaration\", {\n visitor: [\"declaration\", \"specifiers\", \"source\", \"attributes\"],\n aliases: [\"FlowDeclaration\", \"Statement\", \"Declaration\"],\n fields: {\n declaration: validateOptionalType(\"Flow\"),\n specifiers: validateOptional(\n arrayOfType(\"ExportSpecifier\", \"ExportNamespaceSpecifier\"),\n ),\n source: validateOptionalType(\"StringLiteral\"),\n default: validateOptional(assertValueType(\"boolean\")),\n ...importAttributes,\n },\n});\n\ndefineType(\"DeclareExportAllDeclaration\", {\n visitor: [\"source\", \"attributes\"],\n aliases: [\"FlowDeclaration\", \"Statement\", \"Declaration\"],\n fields: {\n source: validateType(\"StringLiteral\"),\n exportKind: validateOptional(assertOneOf(\"type\", \"value\")),\n ...importAttributes,\n },\n});\n\ndefineType(\"DeclaredPredicate\", {\n visitor: [\"value\"],\n aliases: [\"FlowPredicate\"],\n fields: {\n value: validateType(\"Flow\"),\n },\n});\n\ndefineType(\"ExistsTypeAnnotation\", {\n aliases: [\"FlowType\"],\n});\n\ndefineType(\"FunctionTypeAnnotation\", {\n builder: [\"typeParameters\", \"params\", \"rest\", \"returnType\"],\n visitor: [\"typeParameters\", \"this\", \"params\", \"rest\", \"returnType\"],\n aliases: [\"FlowType\"],\n fields: {\n typeParameters: validateOptionalType(\"TypeParameterDeclaration\"),\n params: validateArrayOfType(\"FunctionTypeParam\"),\n rest: validateOptionalType(\"FunctionTypeParam\"),\n this: validateOptionalType(\"FunctionTypeParam\"),\n returnType: validateType(\"FlowType\"),\n },\n});\n\ndefineType(\"FunctionTypeParam\", {\n visitor: [\"name\", \"typeAnnotation\"],\n fields: {\n name: validateOptionalType(\"Identifier\"),\n typeAnnotation: validateType(\"FlowType\"),\n optional: validateOptional(assertValueType(\"boolean\")),\n },\n});\n\ndefineType(\"GenericTypeAnnotation\", {\n visitor: [\"id\", \"typeParameters\"],\n aliases: [\"FlowType\"],\n fields: {\n id: validateType(\"Identifier\", \"QualifiedTypeIdentifier\"),\n typeParameters: validateOptionalType(\"TypeParameterInstantiation\"),\n },\n});\n\ndefineType(\"InferredPredicate\", {\n aliases: [\"FlowPredicate\"],\n});\n\ndefineType(\"InterfaceExtends\", {\n visitor: [\"id\", \"typeParameters\"],\n fields: {\n id: validateType(\"Identifier\", \"QualifiedTypeIdentifier\"),\n typeParameters: validateOptionalType(\"TypeParameterInstantiation\"),\n },\n});\n\ndefineInterfaceishType(\"InterfaceDeclaration\");\n\ndefineType(\"InterfaceTypeAnnotation\", {\n visitor: [\"extends\", \"body\"],\n aliases: [\"FlowType\"],\n fields: {\n extends: validateOptional(arrayOfType(\"InterfaceExtends\")),\n body: validateType(\"ObjectTypeAnnotation\"),\n },\n});\n\ndefineType(\"IntersectionTypeAnnotation\", {\n visitor: [\"types\"],\n aliases: [\"FlowType\"],\n fields: {\n types: validate(arrayOfType(\"FlowType\")),\n },\n});\n\ndefineType(\"MixedTypeAnnotation\", {\n aliases: [\"FlowType\", \"FlowBaseAnnotation\"],\n});\n\ndefineType(\"EmptyTypeAnnotation\", {\n aliases: [\"FlowType\", \"FlowBaseAnnotation\"],\n});\n\ndefineType(\"NullableTypeAnnotation\", {\n visitor: [\"typeAnnotation\"],\n aliases: [\"FlowType\"],\n fields: {\n typeAnnotation: validateType(\"FlowType\"),\n },\n});\n\ndefineType(\"NumberLiteralTypeAnnotation\", {\n builder: [\"value\"],\n aliases: [\"FlowType\"],\n fields: {\n value: validate(assertValueType(\"number\")),\n },\n});\n\ndefineType(\"NumberTypeAnnotation\", {\n aliases: [\"FlowType\", \"FlowBaseAnnotation\"],\n});\n\ndefineType(\"ObjectTypeAnnotation\", {\n visitor: [\"properties\", \"indexers\", \"callProperties\", \"internalSlots\"],\n aliases: [\"FlowType\"],\n builder: [\n \"properties\",\n \"indexers\",\n \"callProperties\",\n \"internalSlots\",\n \"exact\",\n ],\n fields: {\n properties: validate(\n arrayOfType(\"ObjectTypeProperty\", \"ObjectTypeSpreadProperty\"),\n ),\n indexers: {\n validate: arrayOfType(\"ObjectTypeIndexer\"),\n optional: process.env.BABEL_8_BREAKING ? false : true,\n default: [],\n },\n callProperties: {\n validate: arrayOfType(\"ObjectTypeCallProperty\"),\n optional: process.env.BABEL_8_BREAKING ? false : true,\n default: [],\n },\n internalSlots: {\n validate: arrayOfType(\"ObjectTypeInternalSlot\"),\n optional: process.env.BABEL_8_BREAKING ? false : true,\n default: [],\n },\n exact: {\n validate: assertValueType(\"boolean\"),\n default: false,\n },\n // If the inexact flag is present then this is an object type, and not a\n // declare class, declare interface, or interface. If it is true, the\n // object uses ... to express that it is inexact.\n inexact: validateOptional(assertValueType(\"boolean\")),\n },\n});\n\ndefineType(\"ObjectTypeInternalSlot\", {\n visitor: [\"id\", \"value\"],\n builder: [\"id\", \"value\", \"optional\", \"static\", \"method\"],\n aliases: [\"UserWhitespacable\"],\n fields: {\n id: validateType(\"Identifier\"),\n value: validateType(\"FlowType\"),\n optional: validate(assertValueType(\"boolean\")),\n static: validate(assertValueType(\"boolean\")),\n method: validate(assertValueType(\"boolean\")),\n },\n});\n\ndefineType(\"ObjectTypeCallProperty\", {\n visitor: [\"value\"],\n aliases: [\"UserWhitespacable\"],\n fields: {\n value: validateType(\"FlowType\"),\n static: validate(assertValueType(\"boolean\")),\n },\n});\n\ndefineType(\"ObjectTypeIndexer\", {\n visitor: [\"variance\", \"id\", \"key\", \"value\"],\n builder: [\"id\", \"key\", \"value\", \"variance\"],\n aliases: [\"UserWhitespacable\"],\n fields: {\n id: validateOptionalType(\"Identifier\"),\n key: validateType(\"FlowType\"),\n value: validateType(\"FlowType\"),\n static: validate(assertValueType(\"boolean\")),\n variance: validateOptionalType(\"Variance\"),\n },\n});\n\ndefineType(\"ObjectTypeProperty\", {\n visitor: [\"key\", \"value\", \"variance\"],\n aliases: [\"UserWhitespacable\"],\n fields: {\n key: validateType(\"Identifier\", \"StringLiteral\"),\n value: validateType(\"FlowType\"),\n kind: validate(assertOneOf(\"init\", \"get\", \"set\")),\n static: validate(assertValueType(\"boolean\")),\n proto: validate(assertValueType(\"boolean\")),\n optional: validate(assertValueType(\"boolean\")),\n variance: validateOptionalType(\"Variance\"),\n method: validate(assertValueType(\"boolean\")),\n },\n});\n\ndefineType(\"ObjectTypeSpreadProperty\", {\n visitor: [\"argument\"],\n aliases: [\"UserWhitespacable\"],\n fields: {\n argument: validateType(\"FlowType\"),\n },\n});\n\ndefineType(\"OpaqueType\", {\n visitor: [\"id\", \"typeParameters\", \"supertype\", \"impltype\"],\n aliases: [\"FlowDeclaration\", \"Statement\", \"Declaration\"],\n fields: {\n id: validateType(\"Identifier\"),\n typeParameters: validateOptionalType(\"TypeParameterDeclaration\"),\n supertype: validateOptionalType(\"FlowType\"),\n impltype: validateType(\"FlowType\"),\n },\n});\n\ndefineType(\"QualifiedTypeIdentifier\", {\n visitor: [\"qualification\", \"id\"],\n builder: [\"id\", \"qualification\"],\n fields: {\n id: validateType(\"Identifier\"),\n qualification: validateType(\"Identifier\", \"QualifiedTypeIdentifier\"),\n },\n});\n\ndefineType(\"StringLiteralTypeAnnotation\", {\n builder: [\"value\"],\n aliases: [\"FlowType\"],\n fields: {\n value: validate(assertValueType(\"string\")),\n },\n});\n\ndefineType(\"StringTypeAnnotation\", {\n aliases: [\"FlowType\", \"FlowBaseAnnotation\"],\n});\n\ndefineType(\"SymbolTypeAnnotation\", {\n aliases: [\"FlowType\", \"FlowBaseAnnotation\"],\n});\n\ndefineType(\"ThisTypeAnnotation\", {\n aliases: [\"FlowType\", \"FlowBaseAnnotation\"],\n});\n\ndefineType(\"TupleTypeAnnotation\", {\n visitor: [\"types\"],\n aliases: [\"FlowType\"],\n fields: {\n types: validate(arrayOfType(\"FlowType\")),\n },\n});\n\ndefineType(\"TypeofTypeAnnotation\", {\n visitor: [\"argument\"],\n aliases: [\"FlowType\"],\n fields: {\n argument: validateType(\"FlowType\"),\n },\n});\n\ndefineType(\"TypeAlias\", {\n visitor: [\"id\", \"typeParameters\", \"right\"],\n aliases: [\"FlowDeclaration\", \"Statement\", \"Declaration\"],\n fields: {\n id: validateType(\"Identifier\"),\n typeParameters: validateOptionalType(\"TypeParameterDeclaration\"),\n right: validateType(\"FlowType\"),\n },\n});\n\ndefineType(\"TypeAnnotation\", {\n visitor: [\"typeAnnotation\"],\n fields: {\n typeAnnotation: validateType(\"FlowType\"),\n },\n});\n\ndefineType(\"TypeCastExpression\", {\n visitor: [\"expression\", \"typeAnnotation\"],\n aliases: [\"ExpressionWrapper\", \"Expression\"],\n fields: {\n expression: validateType(\"Expression\"),\n typeAnnotation: validateType(\"TypeAnnotation\"),\n },\n});\n\ndefineType(\"TypeParameter\", {\n visitor: [\"bound\", \"default\", \"variance\"],\n fields: {\n name: validate(assertValueType(\"string\")),\n bound: validateOptionalType(\"TypeAnnotation\"),\n default: validateOptionalType(\"FlowType\"),\n variance: validateOptionalType(\"Variance\"),\n },\n});\n\ndefineType(\"TypeParameterDeclaration\", {\n visitor: [\"params\"],\n fields: {\n params: validate(arrayOfType(\"TypeParameter\")),\n },\n});\n\ndefineType(\"TypeParameterInstantiation\", {\n visitor: [\"params\"],\n fields: {\n params: validate(arrayOfType(\"FlowType\")),\n },\n});\n\ndefineType(\"UnionTypeAnnotation\", {\n visitor: [\"types\"],\n aliases: [\"FlowType\"],\n fields: {\n types: validate(arrayOfType(\"FlowType\")),\n },\n});\n\ndefineType(\"Variance\", {\n builder: [\"kind\"],\n fields: {\n kind: validate(assertOneOf(\"minus\", \"plus\")),\n },\n});\n\ndefineType(\"VoidTypeAnnotation\", {\n aliases: [\"FlowType\", \"FlowBaseAnnotation\"],\n});\n\n// Enums\ndefineType(\"EnumDeclaration\", {\n aliases: [\"Statement\", \"Declaration\"],\n visitor: [\"id\", \"body\"],\n fields: {\n id: validateType(\"Identifier\"),\n body: validateType(\n \"EnumBooleanBody\",\n \"EnumNumberBody\",\n \"EnumStringBody\",\n \"EnumSymbolBody\",\n ),\n },\n});\n\ndefineType(\"EnumBooleanBody\", {\n aliases: [\"EnumBody\"],\n visitor: [\"members\"],\n fields: {\n explicitType: validate(assertValueType(\"boolean\")),\n members: validateArrayOfType(\"EnumBooleanMember\"),\n hasUnknownMembers: validate(assertValueType(\"boolean\")),\n },\n});\n\ndefineType(\"EnumNumberBody\", {\n aliases: [\"EnumBody\"],\n visitor: [\"members\"],\n fields: {\n explicitType: validate(assertValueType(\"boolean\")),\n members: validateArrayOfType(\"EnumNumberMember\"),\n hasUnknownMembers: validate(assertValueType(\"boolean\")),\n },\n});\n\ndefineType(\"EnumStringBody\", {\n aliases: [\"EnumBody\"],\n visitor: [\"members\"],\n fields: {\n explicitType: validate(assertValueType(\"boolean\")),\n members: validateArrayOfType(\"EnumStringMember\", \"EnumDefaultedMember\"),\n hasUnknownMembers: validate(assertValueType(\"boolean\")),\n },\n});\n\ndefineType(\"EnumSymbolBody\", {\n aliases: [\"EnumBody\"],\n visitor: [\"members\"],\n fields: {\n members: validateArrayOfType(\"EnumDefaultedMember\"),\n hasUnknownMembers: validate(assertValueType(\"boolean\")),\n },\n});\n\ndefineType(\"EnumBooleanMember\", {\n aliases: [\"EnumMember\"],\n builder: [\"id\"],\n visitor: [\"id\", \"init\"],\n fields: {\n id: validateType(\"Identifier\"),\n init: validateType(\"BooleanLiteral\"),\n },\n});\n\ndefineType(\"EnumNumberMember\", {\n aliases: [\"EnumMember\"],\n visitor: [\"id\", \"init\"],\n fields: {\n id: validateType(\"Identifier\"),\n init: validateType(\"NumericLiteral\"),\n },\n});\n\ndefineType(\"EnumStringMember\", {\n aliases: [\"EnumMember\"],\n visitor: [\"id\", \"init\"],\n fields: {\n id: validateType(\"Identifier\"),\n init: validateType(\"StringLiteral\"),\n },\n});\n\ndefineType(\"EnumDefaultedMember\", {\n aliases: [\"EnumMember\"],\n visitor: [\"id\"],\n fields: {\n id: validateType(\"Identifier\"),\n },\n});\n\ndefineType(\"IndexedAccessType\", {\n visitor: [\"objectType\", \"indexType\"],\n aliases: [\"FlowType\"],\n fields: {\n objectType: validateType(\"FlowType\"),\n indexType: validateType(\"FlowType\"),\n },\n});\n\ndefineType(\"OptionalIndexedAccessType\", {\n visitor: [\"objectType\", \"indexType\"],\n aliases: [\"FlowType\"],\n fields: {\n objectType: validateType(\"FlowType\"),\n indexType: validateType(\"FlowType\"),\n optional: validate(assertValueType(\"boolean\")),\n },\n});\n","import {\n isIdentifierName,\n isStrictReservedWord,\n isKeyword,\n} from \"@babel/helper-validator-identifier\";\n\n/**\n * Check if the input `name` is a valid identifier name\n * and isn't a reserved word.\n */\nexport default function isValidIdentifier(\n name: string,\n reserved: boolean = true,\n): boolean {\n if (typeof name !== \"string\") return false;\n\n if (reserved) {\n // \"await\" is invalid in module, valid in script; better be safe (see #4952)\n if (isKeyword(name) || isStrictReservedWord(name, true)) {\n return false;\n }\n }\n\n return isIdentifierName(name);\n}\n","!function(e,i){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=i():\"function\"==typeof define&&define.amd?define(i):(e.ReactIntlLocaleData=e.ReactIntlLocaleData||{},e.ReactIntlLocaleData.lt=i())}(this,function(){\"use strict\";return[{locale:\"lt\",pluralRuleFunction:function(e,i){var a=String(e).split(\".\"),n=a[1]||\"\",r=Number(a[0])==e,t=r&&a[0].slice(-1),o=r&&a[0].slice(-2);return i?\"other\":1==t&&(o<11||o>19)?\"one\":t>=2&&t<=9&&(o<11||o>19)?\"few\":0!=n?\"many\":\"other\"},fields:{year:{displayName:\"metai\",relative:{0:\"šiais metais\",1:\"kitais metais\",\"-1\":\"praėjusiais metais\"},relativeTime:{future:{one:\"po {0} metų\",few:\"po {0} metų\",many:\"po {0} metų\",other:\"po {0} metų\"},past:{one:\"prieš {0} metus\",few:\"prieš {0} metus\",many:\"prieš {0} metų\",other:\"prieš {0} metų\"}}},\"year-short\":{displayName:\"m.\",relative:{0:\"šiais metais\",1:\"kitais metais\",\"-1\":\"praėjusiais metais\"},relativeTime:{future:{one:\"po {0} m.\",few:\"po {0} m.\",many:\"po {0} m.\",other:\"po {0} m.\"},past:{one:\"prieš {0} m.\",few:\"prieš {0} m.\",many:\"prieš {0} m.\",other:\"prieš {0} m.\"}}},month:{displayName:\"mėnuo\",relative:{0:\"šį mėnesį\",1:\"kitą mėnesį\",\"-1\":\"praėjusį mėnesį\"},relativeTime:{future:{one:\"po {0} mėnesio\",few:\"po {0} mėnesių\",many:\"po {0} mėnesio\",other:\"po {0} mėnesių\"},past:{one:\"prieš {0} mėnesį\",few:\"prieš {0} mėnesius\",many:\"prieš {0} mėnesio\",other:\"prieš {0} mėnesių\"}}},\"month-short\":{displayName:\"mėn.\",relative:{0:\"šį mėnesį\",1:\"kitą mėnesį\",\"-1\":\"praėjusį mėnesį\"},relativeTime:{future:{one:\"po {0} mėn.\",few:\"po {0} mėn.\",many:\"po {0} mėn.\",other:\"po {0} mėn.\"},past:{one:\"prieš {0} mėn.\",few:\"prieš {0} mėn.\",many:\"prieš {0} mėn.\",other:\"prieš {0} mėn.\"}}},day:{displayName:\"diena\",relative:{0:\"šiandien\",1:\"rytoj\",2:\"poryt\",\"-2\":\"užvakar\",\"-1\":\"vakar\"},relativeTime:{future:{one:\"po {0} dienos\",few:\"po {0} dienų\",many:\"po {0} dienos\",other:\"po {0} dienų\"},past:{one:\"prieš {0} dieną\",few:\"prieš {0} dienas\",many:\"prieš {0} dienos\",other:\"prieš {0} dienų\"}}},\"day-short\":{displayName:\"d.\",relative:{0:\"šiandien\",1:\"rytoj\",2:\"poryt\",\"-2\":\"užvakar\",\"-1\":\"vakar\"},relativeTime:{future:{one:\"po {0} d.\",few:\"po {0} d.\",many:\"po {0} d.\",other:\"po {0} d.\"},past:{one:\"prieš {0} d.\",few:\"prieš {0} d.\",many:\"prieš {0} d.\",other:\"prieš {0} d.\"}}},hour:{displayName:\"valanda\",relative:{0:\"šią valandą\"},relativeTime:{future:{one:\"po {0} valandos\",few:\"po {0} valandų\",many:\"po {0} valandos\",other:\"po {0} valandų\"},past:{one:\"prieš {0} valandą\",few:\"prieš {0} valandas\",many:\"prieš {0} valandos\",other:\"prieš {0} valandų\"}}},\"hour-short\":{displayName:\"val.\",relative:{0:\"šią valandą\"},relativeTime:{future:{one:\"po {0} val.\",few:\"po {0} val.\",many:\"po {0} val.\",other:\"po {0} val.\"},past:{one:\"prieš {0} val.\",few:\"prieš {0} val.\",many:\"prieš {0} val.\",other:\"prieš {0} val.\"}}},minute:{displayName:\"minutė\",relative:{0:\"šią minutę\"},relativeTime:{future:{one:\"po {0} minutės\",few:\"po {0} minučių\",many:\"po {0} minutės\",other:\"po {0} minučių\"},past:{one:\"prieš {0} minutę\",few:\"prieš {0} minutes\",many:\"prieš {0} minutės\",other:\"prieš {0} minučių\"}}},\"minute-short\":{displayName:\"min.\",relative:{0:\"šią minutę\"},relativeTime:{future:{one:\"po {0} min.\",few:\"po {0} min.\",many:\"po {0} min.\",other:\"po {0} min.\"},past:{one:\"prieš {0} min.\",few:\"prieš {0} min.\",many:\"prieš {0} min.\",other:\"prieš {0} min.\"}}},second:{displayName:\"sekundė\",relative:{0:\"dabar\"},relativeTime:{future:{one:\"po {0} sekundės\",few:\"po {0} sekundžių\",many:\"po {0} sekundės\",other:\"po {0} sekundžių\"},past:{one:\"prieš {0} sekundę\",few:\"prieš {0} sekundes\",many:\"prieš {0} sekundės\",other:\"prieš {0} sekundžių\"}}},\"second-short\":{displayName:\"sek.\",relative:{0:\"dabar\"},relativeTime:{future:{one:\"po {0} sek.\",few:\"po {0} sek.\",many:\"po {0} sek.\",other:\"po {0} sek.\"},past:{one:\"prieš {0} sek.\",few:\"prieš {0} sek.\",many:\"prieš {0} sek.\",other:\"prieš {0} sek.\"}}}}}]});\n","/**\n * @license React\n * react.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict';var l=Symbol.for(\"react.element\"),n=Symbol.for(\"react.portal\"),p=Symbol.for(\"react.fragment\"),q=Symbol.for(\"react.strict_mode\"),r=Symbol.for(\"react.profiler\"),t=Symbol.for(\"react.provider\"),u=Symbol.for(\"react.context\"),v=Symbol.for(\"react.forward_ref\"),w=Symbol.for(\"react.suspense\"),x=Symbol.for(\"react.memo\"),y=Symbol.for(\"react.lazy\"),z=Symbol.iterator;function A(a){if(null===a||\"object\"!==typeof a)return null;a=z&&a[z]||a[\"@@iterator\"];return\"function\"===typeof a?a:null}\nvar B={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},C=Object.assign,D={};function E(a,b,e){this.props=a;this.context=b;this.refs=D;this.updater=e||B}E.prototype.isReactComponent={};\nE.prototype.setState=function(a,b){if(\"object\"!==typeof a&&\"function\"!==typeof a&&null!=a)throw Error(\"setState(...): takes an object of state variables to update or a function which returns an object of state variables.\");this.updater.enqueueSetState(this,a,b,\"setState\")};E.prototype.forceUpdate=function(a){this.updater.enqueueForceUpdate(this,a,\"forceUpdate\")};function F(){}F.prototype=E.prototype;function G(a,b,e){this.props=a;this.context=b;this.refs=D;this.updater=e||B}var H=G.prototype=new F;\nH.constructor=G;C(H,E.prototype);H.isPureReactComponent=!0;var I=Array.isArray,J=Object.prototype.hasOwnProperty,K={current:null},L={key:!0,ref:!0,__self:!0,__source:!0};\nfunction M(a,b,e){var d,c={},k=null,h=null;if(null!=b)for(d in void 0!==b.ref&&(h=b.ref),void 0!==b.key&&(k=\"\"+b.key),b)J.call(b,d)&&!L.hasOwnProperty(d)&&(c[d]=b[d]);var g=arguments.length-2;if(1===g)c.children=e;else if(1= 20 ? 'ste' : 'de')\n ); // Thanks to Joris Röling : https://github.com/jjupiter\n },\n week: {\n dow: 1, // Maandag is die eerste dag van die week.\n doy: 4, // Die week wat die 4de Januarie bevat is die eerste week van die jaar.\n },\n });\n\n //! moment.js locale configuration\n\n var pluralForm = function (n) {\n return n === 0\n ? 0\n : n === 1\n ? 1\n : n === 2\n ? 2\n : n % 100 >= 3 && n % 100 <= 10\n ? 3\n : n % 100 >= 11\n ? 4\n : 5;\n },\n plurals = {\n s: [\n 'أقل من ثانية',\n 'ثانية واحدة',\n ['ثانيتان', 'ثانيتين'],\n '%d ثوان',\n '%d ثانية',\n '%d ثانية',\n ],\n m: [\n 'أقل من دقيقة',\n 'دقيقة واحدة',\n ['دقيقتان', 'دقيقتين'],\n '%d دقائق',\n '%d دقيقة',\n '%d دقيقة',\n ],\n h: [\n 'أقل من ساعة',\n 'ساعة واحدة',\n ['ساعتان', 'ساعتين'],\n '%d ساعات',\n '%d ساعة',\n '%d ساعة',\n ],\n d: [\n 'أقل من يوم',\n 'يوم واحد',\n ['يومان', 'يومين'],\n '%d أيام',\n '%d يومًا',\n '%d يوم',\n ],\n M: [\n 'أقل من شهر',\n 'شهر واحد',\n ['شهران', 'شهرين'],\n '%d أشهر',\n '%d شهرا',\n '%d شهر',\n ],\n y: [\n 'أقل من عام',\n 'عام واحد',\n ['عامان', 'عامين'],\n '%d أعوام',\n '%d عامًا',\n '%d عام',\n ],\n },\n pluralize = function (u) {\n return function (number, withoutSuffix, string, isFuture) {\n var f = pluralForm(number),\n str = plurals[u][pluralForm(number)];\n if (f === 2) {\n str = str[withoutSuffix ? 0 : 1];\n }\n return str.replace(/%d/i, number);\n };\n },\n months = [\n 'جانفي',\n 'فيفري',\n 'مارس',\n 'أفريل',\n 'ماي',\n 'جوان',\n 'جويلية',\n 'أوت',\n 'سبتمبر',\n 'أكتوبر',\n 'نوفمبر',\n 'ديسمبر',\n ];\n\n moment.defineLocale('ar-dz', {\n months: months,\n monthsShort: months,\n weekdays: 'الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'),\n weekdaysShort: 'أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت'.split('_'),\n weekdaysMin: 'ح_ن_ث_ر_خ_ج_س'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'D/\\u200FM/\\u200FYYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd D MMMM YYYY HH:mm',\n },\n meridiemParse: /ص|م/,\n isPM: function (input) {\n return 'م' === input;\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 12) {\n return 'ص';\n } else {\n return 'م';\n }\n },\n calendar: {\n sameDay: '[اليوم عند الساعة] LT',\n nextDay: '[غدًا عند الساعة] LT',\n nextWeek: 'dddd [عند الساعة] LT',\n lastDay: '[أمس عند الساعة] LT',\n lastWeek: 'dddd [عند الساعة] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'بعد %s',\n past: 'منذ %s',\n s: pluralize('s'),\n ss: pluralize('s'),\n m: pluralize('m'),\n mm: pluralize('m'),\n h: pluralize('h'),\n hh: pluralize('h'),\n d: pluralize('d'),\n dd: pluralize('d'),\n M: pluralize('M'),\n MM: pluralize('M'),\n y: pluralize('y'),\n yy: pluralize('y'),\n },\n postformat: function (string) {\n return string.replace(/,/g, '،');\n },\n week: {\n dow: 0, // Sunday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n //! moment.js locale configuration\n\n moment.defineLocale('ar-kw', {\n months: 'يناير_فبراير_مارس_أبريل_ماي_يونيو_يوليوز_غشت_شتنبر_أكتوبر_نونبر_دجنبر'.split(\n '_'\n ),\n monthsShort:\n 'يناير_فبراير_مارس_أبريل_ماي_يونيو_يوليوز_غشت_شتنبر_أكتوبر_نونبر_دجنبر'.split(\n '_'\n ),\n weekdays: 'الأحد_الإتنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'),\n weekdaysShort: 'احد_اتنين_ثلاثاء_اربعاء_خميس_جمعة_سبت'.split('_'),\n weekdaysMin: 'ح_ن_ث_ر_خ_ج_س'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd D MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[اليوم على الساعة] LT',\n nextDay: '[غدا على الساعة] LT',\n nextWeek: 'dddd [على الساعة] LT',\n lastDay: '[أمس على الساعة] LT',\n lastWeek: 'dddd [على الساعة] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'في %s',\n past: 'منذ %s',\n s: 'ثوان',\n ss: '%d ثانية',\n m: 'دقيقة',\n mm: '%d دقائق',\n h: 'ساعة',\n hh: '%d ساعات',\n d: 'يوم',\n dd: '%d أيام',\n M: 'شهر',\n MM: '%d أشهر',\n y: 'سنة',\n yy: '%d سنوات',\n },\n week: {\n dow: 0, // Sunday is the first day of the week.\n doy: 12, // The week that contains Jan 12th is the first week of the year.\n },\n });\n\n //! moment.js locale configuration\n\n var symbolMap = {\n 1: '1',\n 2: '2',\n 3: '3',\n 4: '4',\n 5: '5',\n 6: '6',\n 7: '7',\n 8: '8',\n 9: '9',\n 0: '0',\n },\n pluralForm$1 = function (n) {\n return n === 0\n ? 0\n : n === 1\n ? 1\n : n === 2\n ? 2\n : n % 100 >= 3 && n % 100 <= 10\n ? 3\n : n % 100 >= 11\n ? 4\n : 5;\n },\n plurals$1 = {\n s: [\n 'أقل من ثانية',\n 'ثانية واحدة',\n ['ثانيتان', 'ثانيتين'],\n '%d ثوان',\n '%d ثانية',\n '%d ثانية',\n ],\n m: [\n 'أقل من دقيقة',\n 'دقيقة واحدة',\n ['دقيقتان', 'دقيقتين'],\n '%d دقائق',\n '%d دقيقة',\n '%d دقيقة',\n ],\n h: [\n 'أقل من ساعة',\n 'ساعة واحدة',\n ['ساعتان', 'ساعتين'],\n '%d ساعات',\n '%d ساعة',\n '%d ساعة',\n ],\n d: [\n 'أقل من يوم',\n 'يوم واحد',\n ['يومان', 'يومين'],\n '%d أيام',\n '%d يومًا',\n '%d يوم',\n ],\n M: [\n 'أقل من شهر',\n 'شهر واحد',\n ['شهران', 'شهرين'],\n '%d أشهر',\n '%d شهرا',\n '%d شهر',\n ],\n y: [\n 'أقل من عام',\n 'عام واحد',\n ['عامان', 'عامين'],\n '%d أعوام',\n '%d عامًا',\n '%d عام',\n ],\n },\n pluralize$1 = function (u) {\n return function (number, withoutSuffix, string, isFuture) {\n var f = pluralForm$1(number),\n str = plurals$1[u][pluralForm$1(number)];\n if (f === 2) {\n str = str[withoutSuffix ? 0 : 1];\n }\n return str.replace(/%d/i, number);\n };\n },\n months$1 = [\n 'يناير',\n 'فبراير',\n 'مارس',\n 'أبريل',\n 'مايو',\n 'يونيو',\n 'يوليو',\n 'أغسطس',\n 'سبتمبر',\n 'أكتوبر',\n 'نوفمبر',\n 'ديسمبر',\n ];\n\n moment.defineLocale('ar-ly', {\n months: months$1,\n monthsShort: months$1,\n weekdays: 'الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'),\n weekdaysShort: 'أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت'.split('_'),\n weekdaysMin: 'ح_ن_ث_ر_خ_ج_س'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'D/\\u200FM/\\u200FYYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd D MMMM YYYY HH:mm',\n },\n meridiemParse: /ص|م/,\n isPM: function (input) {\n return 'م' === input;\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 12) {\n return 'ص';\n } else {\n return 'م';\n }\n },\n calendar: {\n sameDay: '[اليوم عند الساعة] LT',\n nextDay: '[غدًا عند الساعة] LT',\n nextWeek: 'dddd [عند الساعة] LT',\n lastDay: '[أمس عند الساعة] LT',\n lastWeek: 'dddd [عند الساعة] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'بعد %s',\n past: 'منذ %s',\n s: pluralize$1('s'),\n ss: pluralize$1('s'),\n m: pluralize$1('m'),\n mm: pluralize$1('m'),\n h: pluralize$1('h'),\n hh: pluralize$1('h'),\n d: pluralize$1('d'),\n dd: pluralize$1('d'),\n M: pluralize$1('M'),\n MM: pluralize$1('M'),\n y: pluralize$1('y'),\n yy: pluralize$1('y'),\n },\n preparse: function (string) {\n return string.replace(/،/g, ',');\n },\n postformat: function (string) {\n return string\n .replace(/\\d/g, function (match) {\n return symbolMap[match];\n })\n .replace(/,/g, '،');\n },\n week: {\n dow: 6, // Saturday is the first day of the week.\n doy: 12, // The week that contains Jan 12th is the first week of the year.\n },\n });\n\n //! moment.js locale configuration\n\n moment.defineLocale('ar-ma', {\n months: 'يناير_فبراير_مارس_أبريل_ماي_يونيو_يوليوز_غشت_شتنبر_أكتوبر_نونبر_دجنبر'.split(\n '_'\n ),\n monthsShort:\n 'يناير_فبراير_مارس_أبريل_ماي_يونيو_يوليوز_غشت_شتنبر_أكتوبر_نونبر_دجنبر'.split(\n '_'\n ),\n weekdays: 'الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'),\n weekdaysShort: 'احد_اثنين_ثلاثاء_اربعاء_خميس_جمعة_سبت'.split('_'),\n weekdaysMin: 'ح_ن_ث_ر_خ_ج_س'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd D MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[اليوم على الساعة] LT',\n nextDay: '[غدا على الساعة] LT',\n nextWeek: 'dddd [على الساعة] LT',\n lastDay: '[أمس على الساعة] LT',\n lastWeek: 'dddd [على الساعة] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'في %s',\n past: 'منذ %s',\n s: 'ثوان',\n ss: '%d ثانية',\n m: 'دقيقة',\n mm: '%d دقائق',\n h: 'ساعة',\n hh: '%d ساعات',\n d: 'يوم',\n dd: '%d أيام',\n M: 'شهر',\n MM: '%d أشهر',\n y: 'سنة',\n yy: '%d سنوات',\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n //! moment.js locale configuration\n\n var symbolMap$1 = {\n 1: '١',\n 2: '٢',\n 3: '٣',\n 4: '٤',\n 5: '٥',\n 6: '٦',\n 7: '٧',\n 8: '٨',\n 9: '٩',\n 0: '٠',\n },\n numberMap = {\n '١': '1',\n '٢': '2',\n '٣': '3',\n '٤': '4',\n '٥': '5',\n '٦': '6',\n '٧': '7',\n '٨': '8',\n '٩': '9',\n '٠': '0',\n };\n\n moment.defineLocale('ar-ps', {\n months: 'كانون الثاني_شباط_آذار_نيسان_أيّار_حزيران_تمّوز_آب_أيلول_تشري الأوّل_تشرين الثاني_كانون الأوّل'.split(\n '_'\n ),\n monthsShort:\n 'ك٢_شباط_آذار_نيسان_أيّار_حزيران_تمّوز_آب_أيلول_ت١_ت٢_ك١'.split('_'),\n weekdays: 'الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'),\n weekdaysShort: 'أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت'.split('_'),\n weekdaysMin: 'ح_ن_ث_ر_خ_ج_س'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd D MMMM YYYY HH:mm',\n },\n meridiemParse: /ص|م/,\n isPM: function (input) {\n return 'م' === input;\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 12) {\n return 'ص';\n } else {\n return 'م';\n }\n },\n calendar: {\n sameDay: '[اليوم على الساعة] LT',\n nextDay: '[غدا على الساعة] LT',\n nextWeek: 'dddd [على الساعة] LT',\n lastDay: '[أمس على الساعة] LT',\n lastWeek: 'dddd [على الساعة] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'في %s',\n past: 'منذ %s',\n s: 'ثوان',\n ss: '%d ثانية',\n m: 'دقيقة',\n mm: '%d دقائق',\n h: 'ساعة',\n hh: '%d ساعات',\n d: 'يوم',\n dd: '%d أيام',\n M: 'شهر',\n MM: '%d أشهر',\n y: 'سنة',\n yy: '%d سنوات',\n },\n preparse: function (string) {\n return string\n .replace(/[٣٤٥٦٧٨٩٠]/g, function (match) {\n return numberMap[match];\n })\n .split('') // reversed since negative lookbehind not supported everywhere\n .reverse()\n .join('')\n .replace(/[١٢](?![\\u062a\\u0643])/g, function (match) {\n return numberMap[match];\n })\n .split('')\n .reverse()\n .join('')\n .replace(/،/g, ',');\n },\n postformat: function (string) {\n return string\n .replace(/\\d/g, function (match) {\n return symbolMap$1[match];\n })\n .replace(/,/g, '،');\n },\n week: {\n dow: 0, // Sunday is the first day of the week.\n doy: 6, // The week that contains Jan 6th is the first week of the year.\n },\n });\n\n //! moment.js locale configuration\n\n var symbolMap$2 = {\n 1: '١',\n 2: '٢',\n 3: '٣',\n 4: '٤',\n 5: '٥',\n 6: '٦',\n 7: '٧',\n 8: '٨',\n 9: '٩',\n 0: '٠',\n },\n numberMap$1 = {\n '١': '1',\n '٢': '2',\n '٣': '3',\n '٤': '4',\n '٥': '5',\n '٦': '6',\n '٧': '7',\n '٨': '8',\n '٩': '9',\n '٠': '0',\n };\n\n moment.defineLocale('ar-sa', {\n months: 'يناير_فبراير_مارس_أبريل_مايو_يونيو_يوليو_أغسطس_سبتمبر_أكتوبر_نوفمبر_ديسمبر'.split(\n '_'\n ),\n monthsShort:\n 'يناير_فبراير_مارس_أبريل_مايو_يونيو_يوليو_أغسطس_سبتمبر_أكتوبر_نوفمبر_ديسمبر'.split(\n '_'\n ),\n weekdays: 'الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'),\n weekdaysShort: 'أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت'.split('_'),\n weekdaysMin: 'ح_ن_ث_ر_خ_ج_س'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd D MMMM YYYY HH:mm',\n },\n meridiemParse: /ص|م/,\n isPM: function (input) {\n return 'م' === input;\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 12) {\n return 'ص';\n } else {\n return 'م';\n }\n },\n calendar: {\n sameDay: '[اليوم على الساعة] LT',\n nextDay: '[غدا على الساعة] LT',\n nextWeek: 'dddd [على الساعة] LT',\n lastDay: '[أمس على الساعة] LT',\n lastWeek: 'dddd [على الساعة] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'في %s',\n past: 'منذ %s',\n s: 'ثوان',\n ss: '%d ثانية',\n m: 'دقيقة',\n mm: '%d دقائق',\n h: 'ساعة',\n hh: '%d ساعات',\n d: 'يوم',\n dd: '%d أيام',\n M: 'شهر',\n MM: '%d أشهر',\n y: 'سنة',\n yy: '%d سنوات',\n },\n preparse: function (string) {\n return string\n .replace(/[١٢٣٤٥٦٧٨٩٠]/g, function (match) {\n return numberMap$1[match];\n })\n .replace(/،/g, ',');\n },\n postformat: function (string) {\n return string\n .replace(/\\d/g, function (match) {\n return symbolMap$2[match];\n })\n .replace(/,/g, '،');\n },\n week: {\n dow: 0, // Sunday is the first day of the week.\n doy: 6, // The week that contains Jan 6th is the first week of the year.\n },\n });\n\n //! moment.js locale configuration\n\n moment.defineLocale('ar-tn', {\n months: 'جانفي_فيفري_مارس_أفريل_ماي_جوان_جويلية_أوت_سبتمبر_أكتوبر_نوفمبر_ديسمبر'.split(\n '_'\n ),\n monthsShort:\n 'جانفي_فيفري_مارس_أفريل_ماي_جوان_جويلية_أوت_سبتمبر_أكتوبر_نوفمبر_ديسمبر'.split(\n '_'\n ),\n weekdays: 'الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'),\n weekdaysShort: 'أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت'.split('_'),\n weekdaysMin: 'ح_ن_ث_ر_خ_ج_س'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd D MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[اليوم على الساعة] LT',\n nextDay: '[غدا على الساعة] LT',\n nextWeek: 'dddd [على الساعة] LT',\n lastDay: '[أمس على الساعة] LT',\n lastWeek: 'dddd [على الساعة] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'في %s',\n past: 'منذ %s',\n s: 'ثوان',\n ss: '%d ثانية',\n m: 'دقيقة',\n mm: '%d دقائق',\n h: 'ساعة',\n hh: '%d ساعات',\n d: 'يوم',\n dd: '%d أيام',\n M: 'شهر',\n MM: '%d أشهر',\n y: 'سنة',\n yy: '%d سنوات',\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n //! moment.js locale configuration\n\n var symbolMap$3 = {\n 1: '١',\n 2: '٢',\n 3: '٣',\n 4: '٤',\n 5: '٥',\n 6: '٦',\n 7: '٧',\n 8: '٨',\n 9: '٩',\n 0: '٠',\n },\n numberMap$2 = {\n '١': '1',\n '٢': '2',\n '٣': '3',\n '٤': '4',\n '٥': '5',\n '٦': '6',\n '٧': '7',\n '٨': '8',\n '٩': '9',\n '٠': '0',\n },\n pluralForm$2 = function (n) {\n return n === 0\n ? 0\n : n === 1\n ? 1\n : n === 2\n ? 2\n : n % 100 >= 3 && n % 100 <= 10\n ? 3\n : n % 100 >= 11\n ? 4\n : 5;\n },\n plurals$2 = {\n s: [\n 'أقل من ثانية',\n 'ثانية واحدة',\n ['ثانيتان', 'ثانيتين'],\n '%d ثوان',\n '%d ثانية',\n '%d ثانية',\n ],\n m: [\n 'أقل من دقيقة',\n 'دقيقة واحدة',\n ['دقيقتان', 'دقيقتين'],\n '%d دقائق',\n '%d دقيقة',\n '%d دقيقة',\n ],\n h: [\n 'أقل من ساعة',\n 'ساعة واحدة',\n ['ساعتان', 'ساعتين'],\n '%d ساعات',\n '%d ساعة',\n '%d ساعة',\n ],\n d: [\n 'أقل من يوم',\n 'يوم واحد',\n ['يومان', 'يومين'],\n '%d أيام',\n '%d يومًا',\n '%d يوم',\n ],\n M: [\n 'أقل من شهر',\n 'شهر واحد',\n ['شهران', 'شهرين'],\n '%d أشهر',\n '%d شهرا',\n '%d شهر',\n ],\n y: [\n 'أقل من عام',\n 'عام واحد',\n ['عامان', 'عامين'],\n '%d أعوام',\n '%d عامًا',\n '%d عام',\n ],\n },\n pluralize$2 = function (u) {\n return function (number, withoutSuffix, string, isFuture) {\n var f = pluralForm$2(number),\n str = plurals$2[u][pluralForm$2(number)];\n if (f === 2) {\n str = str[withoutSuffix ? 0 : 1];\n }\n return str.replace(/%d/i, number);\n };\n },\n months$2 = [\n 'يناير',\n 'فبراير',\n 'مارس',\n 'أبريل',\n 'مايو',\n 'يونيو',\n 'يوليو',\n 'أغسطس',\n 'سبتمبر',\n 'أكتوبر',\n 'نوفمبر',\n 'ديسمبر',\n ];\n\n moment.defineLocale('ar', {\n months: months$2,\n monthsShort: months$2,\n weekdays: 'الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'),\n weekdaysShort: 'أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت'.split('_'),\n weekdaysMin: 'ح_ن_ث_ر_خ_ج_س'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'D/\\u200FM/\\u200FYYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd D MMMM YYYY HH:mm',\n },\n meridiemParse: /ص|م/,\n isPM: function (input) {\n return 'م' === input;\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 12) {\n return 'ص';\n } else {\n return 'م';\n }\n },\n calendar: {\n sameDay: '[اليوم عند الساعة] LT',\n nextDay: '[غدًا عند الساعة] LT',\n nextWeek: 'dddd [عند الساعة] LT',\n lastDay: '[أمس عند الساعة] LT',\n lastWeek: 'dddd [عند الساعة] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'بعد %s',\n past: 'منذ %s',\n s: pluralize$2('s'),\n ss: pluralize$2('s'),\n m: pluralize$2('m'),\n mm: pluralize$2('m'),\n h: pluralize$2('h'),\n hh: pluralize$2('h'),\n d: pluralize$2('d'),\n dd: pluralize$2('d'),\n M: pluralize$2('M'),\n MM: pluralize$2('M'),\n y: pluralize$2('y'),\n yy: pluralize$2('y'),\n },\n preparse: function (string) {\n return string\n .replace(/[١٢٣٤٥٦٧٨٩٠]/g, function (match) {\n return numberMap$2[match];\n })\n .replace(/،/g, ',');\n },\n postformat: function (string) {\n return string\n .replace(/\\d/g, function (match) {\n return symbolMap$3[match];\n })\n .replace(/,/g, '،');\n },\n week: {\n dow: 6, // Saturday is the first day of the week.\n doy: 12, // The week that contains Jan 12th is the first week of the year.\n },\n });\n\n //! moment.js locale configuration\n\n var suffixes = {\n 1: '-inci',\n 5: '-inci',\n 8: '-inci',\n 70: '-inci',\n 80: '-inci',\n 2: '-nci',\n 7: '-nci',\n 20: '-nci',\n 50: '-nci',\n 3: '-üncü',\n 4: '-üncü',\n 100: '-üncü',\n 6: '-ncı',\n 9: '-uncu',\n 10: '-uncu',\n 30: '-uncu',\n 60: '-ıncı',\n 90: '-ıncı',\n };\n\n moment.defineLocale('az', {\n months: 'yanvar_fevral_mart_aprel_may_iyun_iyul_avqust_sentyabr_oktyabr_noyabr_dekabr'.split(\n '_'\n ),\n monthsShort: 'yan_fev_mar_apr_may_iyn_iyl_avq_sen_okt_noy_dek'.split('_'),\n weekdays:\n 'Bazar_Bazar ertəsi_Çərşənbə axşamı_Çərşənbə_Cümə axşamı_Cümə_Şənbə'.split(\n '_'\n ),\n weekdaysShort: 'Baz_BzE_ÇAx_Çər_CAx_Cüm_Şən'.split('_'),\n weekdaysMin: 'Bz_BE_ÇA_Çə_CA_Cü_Şə'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd, D MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[bugün saat] LT',\n nextDay: '[sabah saat] LT',\n nextWeek: '[gələn həftə] dddd [saat] LT',\n lastDay: '[dünən] LT',\n lastWeek: '[keçən həftə] dddd [saat] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: '%s sonra',\n past: '%s əvvəl',\n s: 'bir neçə saniyə',\n ss: '%d saniyə',\n m: 'bir dəqiqə',\n mm: '%d dəqiqə',\n h: 'bir saat',\n hh: '%d saat',\n d: 'bir gün',\n dd: '%d gün',\n M: 'bir ay',\n MM: '%d ay',\n y: 'bir il',\n yy: '%d il',\n },\n meridiemParse: /gecə|səhər|gündüz|axşam/,\n isPM: function (input) {\n return /^(gündüz|axşam)$/.test(input);\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 4) {\n return 'gecə';\n } else if (hour < 12) {\n return 'səhər';\n } else if (hour < 17) {\n return 'gündüz';\n } else {\n return 'axşam';\n }\n },\n dayOfMonthOrdinalParse: /\\d{1,2}-(ıncı|inci|nci|üncü|ncı|uncu)/,\n ordinal: function (number) {\n if (number === 0) {\n // special case for zero\n return number + '-ıncı';\n }\n var a = number % 10,\n b = (number % 100) - a,\n c = number >= 100 ? 100 : null;\n return number + (suffixes[a] || suffixes[b] || suffixes[c]);\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 7, // The week that contains Jan 7th is the first week of the year.\n },\n });\n\n //! moment.js locale configuration\n\n function plural(word, num) {\n var forms = word.split('_');\n return num % 10 === 1 && num % 100 !== 11\n ? forms[0]\n : num % 10 >= 2 && num % 10 <= 4 && (num % 100 < 10 || num % 100 >= 20)\n ? forms[1]\n : forms[2];\n }\n function relativeTimeWithPlural(number, withoutSuffix, key) {\n var format = {\n ss: withoutSuffix ? 'секунда_секунды_секунд' : 'секунду_секунды_секунд',\n mm: withoutSuffix ? 'хвіліна_хвіліны_хвілін' : 'хвіліну_хвіліны_хвілін',\n hh: withoutSuffix ? 'гадзіна_гадзіны_гадзін' : 'гадзіну_гадзіны_гадзін',\n dd: 'дзень_дні_дзён',\n MM: 'месяц_месяцы_месяцаў',\n yy: 'год_гады_гадоў',\n };\n if (key === 'm') {\n return withoutSuffix ? 'хвіліна' : 'хвіліну';\n } else if (key === 'h') {\n return withoutSuffix ? 'гадзіна' : 'гадзіну';\n } else {\n return number + ' ' + plural(format[key], +number);\n }\n }\n\n moment.defineLocale('be', {\n months: {\n format: 'студзеня_лютага_сакавіка_красавіка_траўня_чэрвеня_ліпеня_жніўня_верасня_кастрычніка_лістапада_снежня'.split(\n '_'\n ),\n standalone:\n 'студзень_люты_сакавік_красавік_травень_чэрвень_ліпень_жнівень_верасень_кастрычнік_лістапад_снежань'.split(\n '_'\n ),\n },\n monthsShort:\n 'студ_лют_сак_крас_трав_чэрв_ліп_жнів_вер_каст_ліст_снеж'.split('_'),\n weekdays: {\n format: 'нядзелю_панядзелак_аўторак_сераду_чацвер_пятніцу_суботу'.split(\n '_'\n ),\n standalone:\n 'нядзеля_панядзелак_аўторак_серада_чацвер_пятніца_субота'.split(\n '_'\n ),\n isFormat: /\\[ ?[Ууў] ?(?:мінулую|наступную)? ?\\] ?dddd/,\n },\n weekdaysShort: 'нд_пн_ат_ср_чц_пт_сб'.split('_'),\n weekdaysMin: 'нд_пн_ат_ср_чц_пт_сб'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D MMMM YYYY г.',\n LLL: 'D MMMM YYYY г., HH:mm',\n LLLL: 'dddd, D MMMM YYYY г., HH:mm',\n },\n calendar: {\n sameDay: '[Сёння ў] LT',\n nextDay: '[Заўтра ў] LT',\n lastDay: '[Учора ў] LT',\n nextWeek: function () {\n return '[У] dddd [ў] LT';\n },\n lastWeek: function () {\n switch (this.day()) {\n case 0:\n case 3:\n case 5:\n case 6:\n return '[У мінулую] dddd [ў] LT';\n case 1:\n case 2:\n case 4:\n return '[У мінулы] dddd [ў] LT';\n }\n },\n sameElse: 'L',\n },\n relativeTime: {\n future: 'праз %s',\n past: '%s таму',\n s: 'некалькі секунд',\n m: relativeTimeWithPlural,\n mm: relativeTimeWithPlural,\n h: relativeTimeWithPlural,\n hh: relativeTimeWithPlural,\n d: 'дзень',\n dd: relativeTimeWithPlural,\n M: 'месяц',\n MM: relativeTimeWithPlural,\n y: 'год',\n yy: relativeTimeWithPlural,\n },\n meridiemParse: /ночы|раніцы|дня|вечара/,\n isPM: function (input) {\n return /^(дня|вечара)$/.test(input);\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 4) {\n return 'ночы';\n } else if (hour < 12) {\n return 'раніцы';\n } else if (hour < 17) {\n return 'дня';\n } else {\n return 'вечара';\n }\n },\n dayOfMonthOrdinalParse: /\\d{1,2}-(і|ы|га)/,\n ordinal: function (number, period) {\n switch (period) {\n case 'M':\n case 'd':\n case 'DDD':\n case 'w':\n case 'W':\n return (number % 10 === 2 || number % 10 === 3) &&\n number % 100 !== 12 &&\n number % 100 !== 13\n ? number + '-і'\n : number + '-ы';\n case 'D':\n return number + '-га';\n default:\n return number;\n }\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 7, // The week that contains Jan 7th is the first week of the year.\n },\n });\n\n //! moment.js locale configuration\n\n moment.defineLocale('bg', {\n months: 'януари_февруари_март_април_май_юни_юли_август_септември_октомври_ноември_декември'.split(\n '_'\n ),\n monthsShort: 'яну_фев_мар_апр_май_юни_юли_авг_сеп_окт_ное_дек'.split('_'),\n weekdays: 'неделя_понеделник_вторник_сряда_четвъртък_петък_събота'.split(\n '_'\n ),\n weekdaysShort: 'нед_пон_вто_сря_чет_пет_съб'.split('_'),\n weekdaysMin: 'нд_пн_вт_ср_чт_пт_сб'.split('_'),\n longDateFormat: {\n LT: 'H:mm',\n LTS: 'H:mm:ss',\n L: 'D.MM.YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY H:mm',\n LLLL: 'dddd, D MMMM YYYY H:mm',\n },\n calendar: {\n sameDay: '[Днес в] LT',\n nextDay: '[Утре в] LT',\n nextWeek: 'dddd [в] LT',\n lastDay: '[Вчера в] LT',\n lastWeek: function () {\n switch (this.day()) {\n case 0:\n case 3:\n case 6:\n return '[Миналата] dddd [в] LT';\n case 1:\n case 2:\n case 4:\n case 5:\n return '[Миналия] dddd [в] LT';\n }\n },\n sameElse: 'L',\n },\n relativeTime: {\n future: 'след %s',\n past: 'преди %s',\n s: 'няколко секунди',\n ss: '%d секунди',\n m: 'минута',\n mm: '%d минути',\n h: 'час',\n hh: '%d часа',\n d: 'ден',\n dd: '%d дена',\n w: 'седмица',\n ww: '%d седмици',\n M: 'месец',\n MM: '%d месеца',\n y: 'година',\n yy: '%d години',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}-(ев|ен|ти|ви|ри|ми)/,\n ordinal: function (number) {\n var lastDigit = number % 10,\n last2Digits = number % 100;\n if (number === 0) {\n return number + '-ев';\n } else if (last2Digits === 0) {\n return number + '-ен';\n } else if (last2Digits > 10 && last2Digits < 20) {\n return number + '-ти';\n } else if (lastDigit === 1) {\n return number + '-ви';\n } else if (lastDigit === 2) {\n return number + '-ри';\n } else if (lastDigit === 7 || lastDigit === 8) {\n return number + '-ми';\n } else {\n return number + '-ти';\n }\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 7, // The week that contains Jan 7th is the first week of the year.\n },\n });\n\n //! moment.js locale configuration\n\n moment.defineLocale('bm', {\n months: 'Zanwuyekalo_Fewuruyekalo_Marisikalo_Awirilikalo_Mɛkalo_Zuwɛnkalo_Zuluyekalo_Utikalo_Sɛtanburukalo_ɔkutɔburukalo_Nowanburukalo_Desanburukalo'.split(\n '_'\n ),\n monthsShort: 'Zan_Few_Mar_Awi_Mɛ_Zuw_Zul_Uti_Sɛt_ɔku_Now_Des'.split('_'),\n weekdays: 'Kari_Ntɛnɛn_Tarata_Araba_Alamisa_Juma_Sibiri'.split('_'),\n weekdaysShort: 'Kar_Ntɛ_Tar_Ara_Ala_Jum_Sib'.split('_'),\n weekdaysMin: 'Ka_Nt_Ta_Ar_Al_Ju_Si'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'MMMM [tile] D [san] YYYY',\n LLL: 'MMMM [tile] D [san] YYYY [lɛrɛ] HH:mm',\n LLLL: 'dddd MMMM [tile] D [san] YYYY [lɛrɛ] HH:mm',\n },\n calendar: {\n sameDay: '[Bi lɛrɛ] LT',\n nextDay: '[Sini lɛrɛ] LT',\n nextWeek: 'dddd [don lɛrɛ] LT',\n lastDay: '[Kunu lɛrɛ] LT',\n lastWeek: 'dddd [tɛmɛnen lɛrɛ] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: '%s kɔnɔ',\n past: 'a bɛ %s bɔ',\n s: 'sanga dama dama',\n ss: 'sekondi %d',\n m: 'miniti kelen',\n mm: 'miniti %d',\n h: 'lɛrɛ kelen',\n hh: 'lɛrɛ %d',\n d: 'tile kelen',\n dd: 'tile %d',\n M: 'kalo kelen',\n MM: 'kalo %d',\n y: 'san kelen',\n yy: 'san %d',\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n //! moment.js locale configuration\n\n var symbolMap$4 = {\n 1: '১',\n 2: '২',\n 3: '৩',\n 4: '৪',\n 5: '৫',\n 6: '৬',\n 7: '৭',\n 8: '৮',\n 9: '৯',\n 0: '০',\n },\n numberMap$3 = {\n '১': '1',\n '২': '2',\n '৩': '3',\n '৪': '4',\n '৫': '5',\n '৬': '6',\n '৭': '7',\n '৮': '8',\n '৯': '9',\n '০': '0',\n };\n\n moment.defineLocale('bn-bd', {\n months: 'জানুয়ারি_ফেব্রুয়ারি_মার্চ_এপ্রিল_মে_জুন_জুলাই_আগস্ট_সেপ্টেম্বর_অক্টোবর_নভেম্বর_ডিসেম্বর'.split(\n '_'\n ),\n monthsShort:\n 'জানু_ফেব্রু_মার্চ_এপ্রিল_মে_জুন_জুলাই_আগস্ট_সেপ্ট_অক্টো_নভে_ডিসে'.split(\n '_'\n ),\n weekdays: 'রবিবার_সোমবার_মঙ্গলবার_বুধবার_বৃহস্পতিবার_শুক্রবার_শনিবার'.split(\n '_'\n ),\n weekdaysShort: 'রবি_সোম_মঙ্গল_বুধ_বৃহস্পতি_শুক্র_শনি'.split('_'),\n weekdaysMin: 'রবি_সোম_মঙ্গল_বুধ_বৃহ_শুক্র_শনি'.split('_'),\n longDateFormat: {\n LT: 'A h:mm সময়',\n LTS: 'A h:mm:ss সময়',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY, A h:mm সময়',\n LLLL: 'dddd, D MMMM YYYY, A h:mm সময়',\n },\n calendar: {\n sameDay: '[আজ] LT',\n nextDay: '[আগামীকাল] LT',\n nextWeek: 'dddd, LT',\n lastDay: '[গতকাল] LT',\n lastWeek: '[গত] dddd, LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: '%s পরে',\n past: '%s আগে',\n s: 'কয়েক সেকেন্ড',\n ss: '%d সেকেন্ড',\n m: 'এক মিনিট',\n mm: '%d মিনিট',\n h: 'এক ঘন্টা',\n hh: '%d ঘন্টা',\n d: 'এক দিন',\n dd: '%d দিন',\n M: 'এক মাস',\n MM: '%d মাস',\n y: 'এক বছর',\n yy: '%d বছর',\n },\n preparse: function (string) {\n return string.replace(/[১২৩৪৫৬৭৮৯০]/g, function (match) {\n return numberMap$3[match];\n });\n },\n postformat: function (string) {\n return string.replace(/\\d/g, function (match) {\n return symbolMap$4[match];\n });\n },\n\n meridiemParse: /রাত|ভোর|সকাল|দুপুর|বিকাল|সন্ধ্যা|রাত/,\n meridiemHour: function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === 'রাত') {\n return hour < 4 ? hour : hour + 12;\n } else if (meridiem === 'ভোর') {\n return hour;\n } else if (meridiem === 'সকাল') {\n return hour;\n } else if (meridiem === 'দুপুর') {\n return hour >= 3 ? hour : hour + 12;\n } else if (meridiem === 'বিকাল') {\n return hour + 12;\n } else if (meridiem === 'সন্ধ্যা') {\n return hour + 12;\n }\n },\n\n meridiem: function (hour, minute, isLower) {\n if (hour < 4) {\n return 'রাত';\n } else if (hour < 6) {\n return 'ভোর';\n } else if (hour < 12) {\n return 'সকাল';\n } else if (hour < 15) {\n return 'দুপুর';\n } else if (hour < 18) {\n return 'বিকাল';\n } else if (hour < 20) {\n return 'সন্ধ্যা';\n } else {\n return 'রাত';\n }\n },\n week: {\n dow: 0, // Sunday is the first day of the week.\n doy: 6, // The week that contains Jan 6th is the first week of the year.\n },\n });\n\n //! moment.js locale configuration\n\n var symbolMap$5 = {\n 1: '১',\n 2: '২',\n 3: '৩',\n 4: '৪',\n 5: '৫',\n 6: '৬',\n 7: '৭',\n 8: '৮',\n 9: '৯',\n 0: '০',\n },\n numberMap$4 = {\n '১': '1',\n '২': '2',\n '৩': '3',\n '৪': '4',\n '৫': '5',\n '৬': '6',\n '৭': '7',\n '৮': '8',\n '৯': '9',\n '০': '0',\n };\n\n moment.defineLocale('bn', {\n months: 'জানুয়ারি_ফেব্রুয়ারি_মার্চ_এপ্রিল_মে_জুন_জুলাই_আগস্ট_সেপ্টেম্বর_অক্টোবর_নভেম্বর_ডিসেম্বর'.split(\n '_'\n ),\n monthsShort:\n 'জানু_ফেব্রু_মার্চ_এপ্রিল_মে_জুন_জুলাই_আগস্ট_সেপ্ট_অক্টো_নভে_ডিসে'.split(\n '_'\n ),\n weekdays: 'রবিবার_সোমবার_মঙ্গলবার_বুধবার_বৃহস্পতিবার_শুক্রবার_শনিবার'.split(\n '_'\n ),\n weekdaysShort: 'রবি_সোম_মঙ্গল_বুধ_বৃহস্পতি_শুক্র_শনি'.split('_'),\n weekdaysMin: 'রবি_সোম_মঙ্গল_বুধ_বৃহ_শুক্র_শনি'.split('_'),\n longDateFormat: {\n LT: 'A h:mm সময়',\n LTS: 'A h:mm:ss সময়',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY, A h:mm সময়',\n LLLL: 'dddd, D MMMM YYYY, A h:mm সময়',\n },\n calendar: {\n sameDay: '[আজ] LT',\n nextDay: '[আগামীকাল] LT',\n nextWeek: 'dddd, LT',\n lastDay: '[গতকাল] LT',\n lastWeek: '[গত] dddd, LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: '%s পরে',\n past: '%s আগে',\n s: 'কয়েক সেকেন্ড',\n ss: '%d সেকেন্ড',\n m: 'এক মিনিট',\n mm: '%d মিনিট',\n h: 'এক ঘন্টা',\n hh: '%d ঘন্টা',\n d: 'এক দিন',\n dd: '%d দিন',\n M: 'এক মাস',\n MM: '%d মাস',\n y: 'এক বছর',\n yy: '%d বছর',\n },\n preparse: function (string) {\n return string.replace(/[১২৩৪৫৬৭৮৯০]/g, function (match) {\n return numberMap$4[match];\n });\n },\n postformat: function (string) {\n return string.replace(/\\d/g, function (match) {\n return symbolMap$5[match];\n });\n },\n meridiemParse: /রাত|সকাল|দুপুর|বিকাল|রাত/,\n meridiemHour: function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (\n (meridiem === 'রাত' && hour >= 4) ||\n (meridiem === 'দুপুর' && hour < 5) ||\n meridiem === 'বিকাল'\n ) {\n return hour + 12;\n } else {\n return hour;\n }\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 4) {\n return 'রাত';\n } else if (hour < 10) {\n return 'সকাল';\n } else if (hour < 17) {\n return 'দুপুর';\n } else if (hour < 20) {\n return 'বিকাল';\n } else {\n return 'রাত';\n }\n },\n week: {\n dow: 0, // Sunday is the first day of the week.\n doy: 6, // The week that contains Jan 6th is the first week of the year.\n },\n });\n\n //! moment.js locale configuration\n\n var symbolMap$6 = {\n 1: '༡',\n 2: '༢',\n 3: '༣',\n 4: '༤',\n 5: '༥',\n 6: '༦',\n 7: '༧',\n 8: '༨',\n 9: '༩',\n 0: '༠',\n },\n numberMap$5 = {\n '༡': '1',\n '༢': '2',\n '༣': '3',\n '༤': '4',\n '༥': '5',\n '༦': '6',\n '༧': '7',\n '༨': '8',\n '༩': '9',\n '༠': '0',\n };\n\n moment.defineLocale('bo', {\n months: 'ཟླ་བ་དང་པོ_ཟླ་བ་གཉིས་པ_ཟླ་བ་གསུམ་པ_ཟླ་བ་བཞི་པ_ཟླ་བ་ལྔ་པ_ཟླ་བ་དྲུག་པ_ཟླ་བ་བདུན་པ_ཟླ་བ་བརྒྱད་པ_ཟླ་བ་དགུ་པ_ཟླ་བ་བཅུ་པ_ཟླ་བ་བཅུ་གཅིག་པ_ཟླ་བ་བཅུ་གཉིས་པ'.split(\n '_'\n ),\n monthsShort:\n 'ཟླ་1_ཟླ་2_ཟླ་3_ཟླ་4_ཟླ་5_ཟླ་6_ཟླ་7_ཟླ་8_ཟླ་9_ཟླ་10_ཟླ་11_ཟླ་12'.split(\n '_'\n ),\n monthsShortRegex: /^(ཟླ་\\d{1,2})/,\n monthsParseExact: true,\n weekdays:\n 'གཟའ་ཉི་མ་_གཟའ་ཟླ་བ་_གཟའ་མིག་དམར་_གཟའ་ལྷག་པ་_གཟའ་ཕུར་བུ_གཟའ་པ་སངས་_གཟའ་སྤེན་པ་'.split(\n '_'\n ),\n weekdaysShort: 'ཉི་མ་_ཟླ་བ་_མིག་དམར་_ལྷག་པ་_ཕུར་བུ_པ་སངས་_སྤེན་པ་'.split(\n '_'\n ),\n weekdaysMin: 'ཉི_ཟླ_མིག_ལྷག_ཕུར_སངས_སྤེན'.split('_'),\n longDateFormat: {\n LT: 'A h:mm',\n LTS: 'A h:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY, A h:mm',\n LLLL: 'dddd, D MMMM YYYY, A h:mm',\n },\n calendar: {\n sameDay: '[དི་རིང] LT',\n nextDay: '[སང་ཉིན] LT',\n nextWeek: '[བདུན་ཕྲག་རྗེས་མ], LT',\n lastDay: '[ཁ་སང] LT',\n lastWeek: '[བདུན་ཕྲག་མཐའ་མ] dddd, LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: '%s ལ་',\n past: '%s སྔན་ལ',\n s: 'ལམ་སང',\n ss: '%d སྐར་ཆ།',\n m: 'སྐར་མ་གཅིག',\n mm: '%d སྐར་མ',\n h: 'ཆུ་ཚོད་གཅིག',\n hh: '%d ཆུ་ཚོད',\n d: 'ཉིན་གཅིག',\n dd: '%d ཉིན་',\n M: 'ཟླ་བ་གཅིག',\n MM: '%d ཟླ་བ',\n y: 'ལོ་གཅིག',\n yy: '%d ལོ',\n },\n preparse: function (string) {\n return string.replace(/[༡༢༣༤༥༦༧༨༩༠]/g, function (match) {\n return numberMap$5[match];\n });\n },\n postformat: function (string) {\n return string.replace(/\\d/g, function (match) {\n return symbolMap$6[match];\n });\n },\n meridiemParse: /མཚན་མོ|ཞོགས་ཀས|ཉིན་གུང|དགོང་དག|མཚན་མོ/,\n meridiemHour: function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (\n (meridiem === 'མཚན་མོ' && hour >= 4) ||\n (meridiem === 'ཉིན་གུང' && hour < 5) ||\n meridiem === 'དགོང་དག'\n ) {\n return hour + 12;\n } else {\n return hour;\n }\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 4) {\n return 'མཚན་མོ';\n } else if (hour < 10) {\n return 'ཞོགས་ཀས';\n } else if (hour < 17) {\n return 'ཉིན་གུང';\n } else if (hour < 20) {\n return 'དགོང་དག';\n } else {\n return 'མཚན་མོ';\n }\n },\n week: {\n dow: 0, // Sunday is the first day of the week.\n doy: 6, // The week that contains Jan 6th is the first week of the year.\n },\n });\n\n //! moment.js locale configuration\n\n function relativeTimeWithMutation(number, withoutSuffix, key) {\n var format = {\n mm: 'munutenn',\n MM: 'miz',\n dd: 'devezh',\n };\n return number + ' ' + mutation(format[key], number);\n }\n function specialMutationForYears(number) {\n switch (lastNumber(number)) {\n case 1:\n case 3:\n case 4:\n case 5:\n case 9:\n return number + ' bloaz';\n default:\n return number + ' vloaz';\n }\n }\n function lastNumber(number) {\n if (number > 9) {\n return lastNumber(number % 10);\n }\n return number;\n }\n function mutation(text, number) {\n if (number === 2) {\n return softMutation(text);\n }\n return text;\n }\n function softMutation(text) {\n var mutationTable = {\n m: 'v',\n b: 'v',\n d: 'z',\n };\n if (mutationTable[text.charAt(0)] === undefined) {\n return text;\n }\n return mutationTable[text.charAt(0)] + text.substring(1);\n }\n\n var monthsParse = [\n /^gen/i,\n /^c[ʼ\\']hwe/i,\n /^meu/i,\n /^ebr/i,\n /^mae/i,\n /^(mez|eve)/i,\n /^gou/i,\n /^eos/i,\n /^gwe/i,\n /^her/i,\n /^du/i,\n /^ker/i,\n ],\n monthsRegex =\n /^(genver|c[ʼ\\']hwevrer|meurzh|ebrel|mae|mezheven|gouere|eost|gwengolo|here|du|kerzu|gen|c[ʼ\\']hwe|meu|ebr|mae|eve|gou|eos|gwe|her|du|ker)/i,\n monthsStrictRegex =\n /^(genver|c[ʼ\\']hwevrer|meurzh|ebrel|mae|mezheven|gouere|eost|gwengolo|here|du|kerzu)/i,\n monthsShortStrictRegex =\n /^(gen|c[ʼ\\']hwe|meu|ebr|mae|eve|gou|eos|gwe|her|du|ker)/i,\n fullWeekdaysParse = [\n /^sul/i,\n /^lun/i,\n /^meurzh/i,\n /^merc[ʼ\\']her/i,\n /^yaou/i,\n /^gwener/i,\n /^sadorn/i,\n ],\n shortWeekdaysParse = [\n /^Sul/i,\n /^Lun/i,\n /^Meu/i,\n /^Mer/i,\n /^Yao/i,\n /^Gwe/i,\n /^Sad/i,\n ],\n minWeekdaysParse = [\n /^Su/i,\n /^Lu/i,\n /^Me([^r]|$)/i,\n /^Mer/i,\n /^Ya/i,\n /^Gw/i,\n /^Sa/i,\n ];\n\n moment.defineLocale('br', {\n months: 'Genver_Cʼhwevrer_Meurzh_Ebrel_Mae_Mezheven_Gouere_Eost_Gwengolo_Here_Du_Kerzu'.split(\n '_'\n ),\n monthsShort: 'Gen_Cʼhwe_Meu_Ebr_Mae_Eve_Gou_Eos_Gwe_Her_Du_Ker'.split('_'),\n weekdays: 'Sul_Lun_Meurzh_Mercʼher_Yaou_Gwener_Sadorn'.split('_'),\n weekdaysShort: 'Sul_Lun_Meu_Mer_Yao_Gwe_Sad'.split('_'),\n weekdaysMin: 'Su_Lu_Me_Mer_Ya_Gw_Sa'.split('_'),\n weekdaysParse: minWeekdaysParse,\n fullWeekdaysParse: fullWeekdaysParse,\n shortWeekdaysParse: shortWeekdaysParse,\n minWeekdaysParse: minWeekdaysParse,\n\n monthsRegex: monthsRegex,\n monthsShortRegex: monthsRegex,\n monthsStrictRegex: monthsStrictRegex,\n monthsShortStrictRegex: monthsShortStrictRegex,\n monthsParse: monthsParse,\n longMonthsParse: monthsParse,\n shortMonthsParse: monthsParse,\n\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D [a viz] MMMM YYYY',\n LLL: 'D [a viz] MMMM YYYY HH:mm',\n LLLL: 'dddd, D [a viz] MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[Hiziv da] LT',\n nextDay: '[Warcʼhoazh da] LT',\n nextWeek: 'dddd [da] LT',\n lastDay: '[Decʼh da] LT',\n lastWeek: 'dddd [paset da] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'a-benn %s',\n past: '%s ʼzo',\n s: 'un nebeud segondennoù',\n ss: '%d eilenn',\n m: 'ur vunutenn',\n mm: relativeTimeWithMutation,\n h: 'un eur',\n hh: '%d eur',\n d: 'un devezh',\n dd: relativeTimeWithMutation,\n M: 'ur miz',\n MM: relativeTimeWithMutation,\n y: 'ur bloaz',\n yy: specialMutationForYears,\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(añ|vet)/,\n ordinal: function (number) {\n var output = number === 1 ? 'añ' : 'vet';\n return number + output;\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n meridiemParse: /a.m.|g.m./, // goude merenn | a-raok merenn\n isPM: function (token) {\n return token === 'g.m.';\n },\n meridiem: function (hour, minute, isLower) {\n return hour < 12 ? 'a.m.' : 'g.m.';\n },\n });\n\n //! moment.js locale configuration\n\n function processRelativeTime(number, withoutSuffix, key, isFuture) {\n switch (key) {\n case 'm':\n return withoutSuffix\n ? 'jedna minuta'\n : isFuture\n ? 'jednu minutu'\n : 'jedne minute';\n }\n }\n\n function translate(number, withoutSuffix, key) {\n var result = number + ' ';\n switch (key) {\n case 'ss':\n if (number === 1) {\n result += 'sekunda';\n } else if (number === 2 || number === 3 || number === 4) {\n result += 'sekunde';\n } else {\n result += 'sekundi';\n }\n return result;\n case 'mm':\n if (number === 1) {\n result += 'minuta';\n } else if (number === 2 || number === 3 || number === 4) {\n result += 'minute';\n } else {\n result += 'minuta';\n }\n return result;\n case 'h':\n return withoutSuffix ? 'jedan sat' : 'jedan sat';\n case 'hh':\n if (number === 1) {\n result += 'sat';\n } else if (number === 2 || number === 3 || number === 4) {\n result += 'sata';\n } else {\n result += 'sati';\n }\n return result;\n case 'dd':\n if (number === 1) {\n result += 'dan';\n } else {\n result += 'dana';\n }\n return result;\n case 'MM':\n if (number === 1) {\n result += 'mjesec';\n } else if (number === 2 || number === 3 || number === 4) {\n result += 'mjeseca';\n } else {\n result += 'mjeseci';\n }\n return result;\n case 'yy':\n if (number === 1) {\n result += 'godina';\n } else if (number === 2 || number === 3 || number === 4) {\n result += 'godine';\n } else {\n result += 'godina';\n }\n return result;\n }\n }\n\n moment.defineLocale('bs', {\n months: 'januar_februar_mart_april_maj_juni_juli_august_septembar_oktobar_novembar_decembar'.split(\n '_'\n ),\n monthsShort:\n 'jan._feb._mar._apr._maj._jun._jul._aug._sep._okt._nov._dec.'.split(\n '_'\n ),\n monthsParseExact: true,\n weekdays: 'nedjelja_ponedjeljak_utorak_srijeda_četvrtak_petak_subota'.split(\n '_'\n ),\n weekdaysShort: 'ned._pon._uto._sri._čet._pet._sub.'.split('_'),\n weekdaysMin: 'ne_po_ut_sr_če_pe_su'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'H:mm',\n LTS: 'H:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D. MMMM YYYY',\n LLL: 'D. MMMM YYYY H:mm',\n LLLL: 'dddd, D. MMMM YYYY H:mm',\n },\n calendar: {\n sameDay: '[danas u] LT',\n nextDay: '[sutra u] LT',\n nextWeek: function () {\n switch (this.day()) {\n case 0:\n return '[u] [nedjelju] [u] LT';\n case 3:\n return '[u] [srijedu] [u] LT';\n case 6:\n return '[u] [subotu] [u] LT';\n case 1:\n case 2:\n case 4:\n case 5:\n return '[u] dddd [u] LT';\n }\n },\n lastDay: '[jučer u] LT',\n lastWeek: function () {\n switch (this.day()) {\n case 0:\n case 3:\n return '[prošlu] dddd [u] LT';\n case 6:\n return '[prošle] [subote] [u] LT';\n case 1:\n case 2:\n case 4:\n case 5:\n return '[prošli] dddd [u] LT';\n }\n },\n sameElse: 'L',\n },\n relativeTime: {\n future: 'za %s',\n past: 'prije %s',\n s: 'par sekundi',\n ss: translate,\n m: processRelativeTime,\n mm: translate,\n h: translate,\n hh: translate,\n d: 'dan',\n dd: translate,\n M: 'mjesec',\n MM: translate,\n y: 'godinu',\n yy: translate,\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 7, // The week that contains Jan 7th is the first week of the year.\n },\n });\n\n //! moment.js locale configuration\n\n moment.defineLocale('ca', {\n months: {\n standalone:\n 'gener_febrer_març_abril_maig_juny_juliol_agost_setembre_octubre_novembre_desembre'.split(\n '_'\n ),\n format: \"de gener_de febrer_de març_d'abril_de maig_de juny_de juliol_d'agost_de setembre_d'octubre_de novembre_de desembre\".split(\n '_'\n ),\n isFormat: /D[oD]?(\\s)+MMMM/,\n },\n monthsShort:\n 'gen._febr._març_abr._maig_juny_jul._ag._set._oct._nov._des.'.split(\n '_'\n ),\n monthsParseExact: true,\n weekdays:\n 'diumenge_dilluns_dimarts_dimecres_dijous_divendres_dissabte'.split(\n '_'\n ),\n weekdaysShort: 'dg._dl._dt._dc._dj._dv._ds.'.split('_'),\n weekdaysMin: 'dg_dl_dt_dc_dj_dv_ds'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'H:mm',\n LTS: 'H:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM [de] YYYY',\n ll: 'D MMM YYYY',\n LLL: 'D MMMM [de] YYYY [a les] H:mm',\n lll: 'D MMM YYYY, H:mm',\n LLLL: 'dddd D MMMM [de] YYYY [a les] H:mm',\n llll: 'ddd D MMM YYYY, H:mm',\n },\n calendar: {\n sameDay: function () {\n return '[avui a ' + (this.hours() !== 1 ? 'les' : 'la') + '] LT';\n },\n nextDay: function () {\n return '[demà a ' + (this.hours() !== 1 ? 'les' : 'la') + '] LT';\n },\n nextWeek: function () {\n return 'dddd [a ' + (this.hours() !== 1 ? 'les' : 'la') + '] LT';\n },\n lastDay: function () {\n return '[ahir a ' + (this.hours() !== 1 ? 'les' : 'la') + '] LT';\n },\n lastWeek: function () {\n return (\n '[el] dddd [passat a ' +\n (this.hours() !== 1 ? 'les' : 'la') +\n '] LT'\n );\n },\n sameElse: 'L',\n },\n relativeTime: {\n future: \"d'aquí %s\",\n past: 'fa %s',\n s: 'uns segons',\n ss: '%d segons',\n m: 'un minut',\n mm: '%d minuts',\n h: 'una hora',\n hh: '%d hores',\n d: 'un dia',\n dd: '%d dies',\n M: 'un mes',\n MM: '%d mesos',\n y: 'un any',\n yy: '%d anys',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(r|n|t|è|a)/,\n ordinal: function (number, period) {\n var output =\n number === 1\n ? 'r'\n : number === 2\n ? 'n'\n : number === 3\n ? 'r'\n : number === 4\n ? 't'\n : 'è';\n if (period === 'w' || period === 'W') {\n output = 'a';\n }\n return number + output;\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n //! moment.js locale configuration\n\n var months$3 = {\n standalone:\n 'leden_únor_březen_duben_květen_červen_červenec_srpen_září_říjen_listopad_prosinec'.split(\n '_'\n ),\n format: 'ledna_února_března_dubna_května_června_července_srpna_září_října_listopadu_prosince'.split(\n '_'\n ),\n isFormat: /DD?[o.]?(\\[[^\\[\\]]*\\]|\\s)+MMMM/,\n },\n monthsShort = 'led_úno_bře_dub_kvě_čvn_čvc_srp_zář_říj_lis_pro'.split('_'),\n monthsParse$1 = [\n /^led/i,\n /^úno/i,\n /^bře/i,\n /^dub/i,\n /^kvě/i,\n /^(čvn|červen$|června)/i,\n /^(čvc|červenec|července)/i,\n /^srp/i,\n /^zář/i,\n /^říj/i,\n /^lis/i,\n /^pro/i,\n ],\n // NOTE: 'červen' is substring of 'červenec'; therefore 'červenec' must precede 'červen' in the regex to be fully matched.\n // Otherwise parser matches '1. červenec' as '1. červen' + 'ec'.\n monthsRegex$1 =\n /^(leden|únor|březen|duben|květen|červenec|července|červen|června|srpen|září|říjen|listopad|prosinec|led|úno|bře|dub|kvě|čvn|čvc|srp|zář|říj|lis|pro)/i;\n\n function plural$1(n) {\n return n > 1 && n < 5 && ~~(n / 10) !== 1;\n }\n function translate$1(number, withoutSuffix, key, isFuture) {\n var result = number + ' ';\n switch (key) {\n case 's': // a few seconds / in a few seconds / a few seconds ago\n return withoutSuffix || isFuture ? 'pár sekund' : 'pár sekundami';\n case 'ss': // 9 seconds / in 9 seconds / 9 seconds ago\n if (withoutSuffix || isFuture) {\n return result + (plural$1(number) ? 'sekundy' : 'sekund');\n } else {\n return result + 'sekundami';\n }\n case 'm': // a minute / in a minute / a minute ago\n return withoutSuffix ? 'minuta' : isFuture ? 'minutu' : 'minutou';\n case 'mm': // 9 minutes / in 9 minutes / 9 minutes ago\n if (withoutSuffix || isFuture) {\n return result + (plural$1(number) ? 'minuty' : 'minut');\n } else {\n return result + 'minutami';\n }\n case 'h': // an hour / in an hour / an hour ago\n return withoutSuffix ? 'hodina' : isFuture ? 'hodinu' : 'hodinou';\n case 'hh': // 9 hours / in 9 hours / 9 hours ago\n if (withoutSuffix || isFuture) {\n return result + (plural$1(number) ? 'hodiny' : 'hodin');\n } else {\n return result + 'hodinami';\n }\n case 'd': // a day / in a day / a day ago\n return withoutSuffix || isFuture ? 'den' : 'dnem';\n case 'dd': // 9 days / in 9 days / 9 days ago\n if (withoutSuffix || isFuture) {\n return result + (plural$1(number) ? 'dny' : 'dní');\n } else {\n return result + 'dny';\n }\n case 'M': // a month / in a month / a month ago\n return withoutSuffix || isFuture ? 'měsíc' : 'měsícem';\n case 'MM': // 9 months / in 9 months / 9 months ago\n if (withoutSuffix || isFuture) {\n return result + (plural$1(number) ? 'měsíce' : 'měsíců');\n } else {\n return result + 'měsíci';\n }\n case 'y': // a year / in a year / a year ago\n return withoutSuffix || isFuture ? 'rok' : 'rokem';\n case 'yy': // 9 years / in 9 years / 9 years ago\n if (withoutSuffix || isFuture) {\n return result + (plural$1(number) ? 'roky' : 'let');\n } else {\n return result + 'lety';\n }\n }\n }\n\n moment.defineLocale('cs', {\n months: months$3,\n monthsShort: monthsShort,\n monthsRegex: monthsRegex$1,\n monthsShortRegex: monthsRegex$1,\n // NOTE: 'červen' is substring of 'červenec'; therefore 'červenec' must precede 'červen' in the regex to be fully matched.\n // Otherwise parser matches '1. červenec' as '1. červen' + 'ec'.\n monthsStrictRegex:\n /^(leden|ledna|února|únor|březen|března|duben|dubna|květen|května|červenec|července|červen|června|srpen|srpna|září|říjen|října|listopadu|listopad|prosinec|prosince)/i,\n monthsShortStrictRegex:\n /^(led|úno|bře|dub|kvě|čvn|čvc|srp|zář|říj|lis|pro)/i,\n monthsParse: monthsParse$1,\n longMonthsParse: monthsParse$1,\n shortMonthsParse: monthsParse$1,\n weekdays: 'neděle_pondělí_úterý_středa_čtvrtek_pátek_sobota'.split('_'),\n weekdaysShort: 'ne_po_út_st_čt_pá_so'.split('_'),\n weekdaysMin: 'ne_po_út_st_čt_pá_so'.split('_'),\n longDateFormat: {\n LT: 'H:mm',\n LTS: 'H:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D. MMMM YYYY',\n LLL: 'D. MMMM YYYY H:mm',\n LLLL: 'dddd D. MMMM YYYY H:mm',\n l: 'D. M. YYYY',\n },\n calendar: {\n sameDay: '[dnes v] LT',\n nextDay: '[zítra v] LT',\n nextWeek: function () {\n switch (this.day()) {\n case 0:\n return '[v neděli v] LT';\n case 1:\n case 2:\n return '[v] dddd [v] LT';\n case 3:\n return '[ve středu v] LT';\n case 4:\n return '[ve čtvrtek v] LT';\n case 5:\n return '[v pátek v] LT';\n case 6:\n return '[v sobotu v] LT';\n }\n },\n lastDay: '[včera v] LT',\n lastWeek: function () {\n switch (this.day()) {\n case 0:\n return '[minulou neděli v] LT';\n case 1:\n case 2:\n return '[minulé] dddd [v] LT';\n case 3:\n return '[minulou středu v] LT';\n case 4:\n case 5:\n return '[minulý] dddd [v] LT';\n case 6:\n return '[minulou sobotu v] LT';\n }\n },\n sameElse: 'L',\n },\n relativeTime: {\n future: 'za %s',\n past: 'před %s',\n s: translate$1,\n ss: translate$1,\n m: translate$1,\n mm: translate$1,\n h: translate$1,\n hh: translate$1,\n d: translate$1,\n dd: translate$1,\n M: translate$1,\n MM: translate$1,\n y: translate$1,\n yy: translate$1,\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n //! moment.js locale configuration\n\n moment.defineLocale('cv', {\n months: 'кӑрлач_нарӑс_пуш_ака_май_ҫӗртме_утӑ_ҫурла_авӑн_юпа_чӳк_раштав'.split(\n '_'\n ),\n monthsShort: 'кӑр_нар_пуш_ака_май_ҫӗр_утӑ_ҫур_авн_юпа_чӳк_раш'.split('_'),\n weekdays:\n 'вырсарникун_тунтикун_ытларикун_юнкун_кӗҫнерникун_эрнекун_шӑматкун'.split(\n '_'\n ),\n weekdaysShort: 'выр_тун_ытл_юн_кӗҫ_эрн_шӑм'.split('_'),\n weekdaysMin: 'вр_тн_ыт_юн_кҫ_эр_шм'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD-MM-YYYY',\n LL: 'YYYY [ҫулхи] MMMM [уйӑхӗн] D[-мӗшӗ]',\n LLL: 'YYYY [ҫулхи] MMMM [уйӑхӗн] D[-мӗшӗ], HH:mm',\n LLLL: 'dddd, YYYY [ҫулхи] MMMM [уйӑхӗн] D[-мӗшӗ], HH:mm',\n },\n calendar: {\n sameDay: '[Паян] LT [сехетре]',\n nextDay: '[Ыран] LT [сехетре]',\n lastDay: '[Ӗнер] LT [сехетре]',\n nextWeek: '[Ҫитес] dddd LT [сехетре]',\n lastWeek: '[Иртнӗ] dddd LT [сехетре]',\n sameElse: 'L',\n },\n relativeTime: {\n future: function (output) {\n var affix = /сехет$/i.exec(output)\n ? 'рен'\n : /ҫул$/i.exec(output)\n ? 'тан'\n : 'ран';\n return output + affix;\n },\n past: '%s каялла',\n s: 'пӗр-ик ҫеккунт',\n ss: '%d ҫеккунт',\n m: 'пӗр минут',\n mm: '%d минут',\n h: 'пӗр сехет',\n hh: '%d сехет',\n d: 'пӗр кун',\n dd: '%d кун',\n M: 'пӗр уйӑх',\n MM: '%d уйӑх',\n y: 'пӗр ҫул',\n yy: '%d ҫул',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}-мӗш/,\n ordinal: '%d-мӗш',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 7, // The week that contains Jan 7th is the first week of the year.\n },\n });\n\n //! moment.js locale configuration\n\n moment.defineLocale('cy', {\n months: 'Ionawr_Chwefror_Mawrth_Ebrill_Mai_Mehefin_Gorffennaf_Awst_Medi_Hydref_Tachwedd_Rhagfyr'.split(\n '_'\n ),\n monthsShort: 'Ion_Chwe_Maw_Ebr_Mai_Meh_Gor_Aws_Med_Hyd_Tach_Rhag'.split(\n '_'\n ),\n weekdays:\n 'Dydd Sul_Dydd Llun_Dydd Mawrth_Dydd Mercher_Dydd Iau_Dydd Gwener_Dydd Sadwrn'.split(\n '_'\n ),\n weekdaysShort: 'Sul_Llun_Maw_Mer_Iau_Gwe_Sad'.split('_'),\n weekdaysMin: 'Su_Ll_Ma_Me_Ia_Gw_Sa'.split('_'),\n weekdaysParseExact: true,\n // time formats are the same as en-gb\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd, D MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[Heddiw am] LT',\n nextDay: '[Yfory am] LT',\n nextWeek: 'dddd [am] LT',\n lastDay: '[Ddoe am] LT',\n lastWeek: 'dddd [diwethaf am] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'mewn %s',\n past: '%s yn ôl',\n s: 'ychydig eiliadau',\n ss: '%d eiliad',\n m: 'munud',\n mm: '%d munud',\n h: 'awr',\n hh: '%d awr',\n d: 'diwrnod',\n dd: '%d diwrnod',\n M: 'mis',\n MM: '%d mis',\n y: 'blwyddyn',\n yy: '%d flynedd',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(fed|ain|af|il|ydd|ed|eg)/,\n // traditional ordinal numbers above 31 are not commonly used in colloquial Welsh\n ordinal: function (number) {\n var b = number,\n output = '',\n lookup = [\n '',\n 'af',\n 'il',\n 'ydd',\n 'ydd',\n 'ed',\n 'ed',\n 'ed',\n 'fed',\n 'fed',\n 'fed', // 1af to 10fed\n 'eg',\n 'fed',\n 'eg',\n 'eg',\n 'fed',\n 'eg',\n 'eg',\n 'fed',\n 'eg',\n 'fed', // 11eg to 20fed\n ];\n if (b > 20) {\n if (b === 40 || b === 50 || b === 60 || b === 80 || b === 100) {\n output = 'fed'; // not 30ain, 70ain or 90ain\n } else {\n output = 'ain';\n }\n } else if (b > 0) {\n output = lookup[b];\n }\n return number + output;\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n //! moment.js locale configuration\n\n moment.defineLocale('da', {\n months: 'januar_februar_marts_april_maj_juni_juli_august_september_oktober_november_december'.split(\n '_'\n ),\n monthsShort: 'jan_feb_mar_apr_maj_jun_jul_aug_sep_okt_nov_dec'.split('_'),\n weekdays: 'søndag_mandag_tirsdag_onsdag_torsdag_fredag_lørdag'.split('_'),\n weekdaysShort: 'søn_man_tir_ons_tor_fre_lør'.split('_'),\n weekdaysMin: 'sø_ma_ti_on_to_fr_lø'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D. MMMM YYYY',\n LLL: 'D. MMMM YYYY HH:mm',\n LLLL: 'dddd [d.] D. MMMM YYYY [kl.] HH:mm',\n },\n calendar: {\n sameDay: '[i dag kl.] LT',\n nextDay: '[i morgen kl.] LT',\n nextWeek: 'på dddd [kl.] LT',\n lastDay: '[i går kl.] LT',\n lastWeek: '[i] dddd[s kl.] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'om %s',\n past: '%s siden',\n s: 'få sekunder',\n ss: '%d sekunder',\n m: 'et minut',\n mm: '%d minutter',\n h: 'en time',\n hh: '%d timer',\n d: 'en dag',\n dd: '%d dage',\n M: 'en måned',\n MM: '%d måneder',\n y: 'et år',\n yy: '%d år',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n //! moment.js locale configuration\n\n function processRelativeTime$1(number, withoutSuffix, key, isFuture) {\n var format = {\n m: ['eine Minute', 'einer Minute'],\n h: ['eine Stunde', 'einer Stunde'],\n d: ['ein Tag', 'einem Tag'],\n dd: [number + ' Tage', number + ' Tagen'],\n w: ['eine Woche', 'einer Woche'],\n M: ['ein Monat', 'einem Monat'],\n MM: [number + ' Monate', number + ' Monaten'],\n y: ['ein Jahr', 'einem Jahr'],\n yy: [number + ' Jahre', number + ' Jahren'],\n };\n return withoutSuffix ? format[key][0] : format[key][1];\n }\n\n moment.defineLocale('de-at', {\n months: 'Jänner_Februar_März_April_Mai_Juni_Juli_August_September_Oktober_November_Dezember'.split(\n '_'\n ),\n monthsShort:\n 'Jän._Feb._März_Apr._Mai_Juni_Juli_Aug._Sep._Okt._Nov._Dez.'.split('_'),\n monthsParseExact: true,\n weekdays:\n 'Sonntag_Montag_Dienstag_Mittwoch_Donnerstag_Freitag_Samstag'.split(\n '_'\n ),\n weekdaysShort: 'So._Mo._Di._Mi._Do._Fr._Sa.'.split('_'),\n weekdaysMin: 'So_Mo_Di_Mi_Do_Fr_Sa'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D. MMMM YYYY',\n LLL: 'D. MMMM YYYY HH:mm',\n LLLL: 'dddd, D. MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[heute um] LT [Uhr]',\n sameElse: 'L',\n nextDay: '[morgen um] LT [Uhr]',\n nextWeek: 'dddd [um] LT [Uhr]',\n lastDay: '[gestern um] LT [Uhr]',\n lastWeek: '[letzten] dddd [um] LT [Uhr]',\n },\n relativeTime: {\n future: 'in %s',\n past: 'vor %s',\n s: 'ein paar Sekunden',\n ss: '%d Sekunden',\n m: processRelativeTime$1,\n mm: '%d Minuten',\n h: processRelativeTime$1,\n hh: '%d Stunden',\n d: processRelativeTime$1,\n dd: processRelativeTime$1,\n w: processRelativeTime$1,\n ww: '%d Wochen',\n M: processRelativeTime$1,\n MM: processRelativeTime$1,\n y: processRelativeTime$1,\n yy: processRelativeTime$1,\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n //! moment.js locale configuration\n\n function processRelativeTime$2(number, withoutSuffix, key, isFuture) {\n var format = {\n m: ['eine Minute', 'einer Minute'],\n h: ['eine Stunde', 'einer Stunde'],\n d: ['ein Tag', 'einem Tag'],\n dd: [number + ' Tage', number + ' Tagen'],\n w: ['eine Woche', 'einer Woche'],\n M: ['ein Monat', 'einem Monat'],\n MM: [number + ' Monate', number + ' Monaten'],\n y: ['ein Jahr', 'einem Jahr'],\n yy: [number + ' Jahre', number + ' Jahren'],\n };\n return withoutSuffix ? format[key][0] : format[key][1];\n }\n\n moment.defineLocale('de-ch', {\n months: 'Januar_Februar_März_April_Mai_Juni_Juli_August_September_Oktober_November_Dezember'.split(\n '_'\n ),\n monthsShort:\n 'Jan._Feb._März_Apr._Mai_Juni_Juli_Aug._Sep._Okt._Nov._Dez.'.split('_'),\n monthsParseExact: true,\n weekdays:\n 'Sonntag_Montag_Dienstag_Mittwoch_Donnerstag_Freitag_Samstag'.split(\n '_'\n ),\n weekdaysShort: 'So_Mo_Di_Mi_Do_Fr_Sa'.split('_'),\n weekdaysMin: 'So_Mo_Di_Mi_Do_Fr_Sa'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D. MMMM YYYY',\n LLL: 'D. MMMM YYYY HH:mm',\n LLLL: 'dddd, D. MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[heute um] LT [Uhr]',\n sameElse: 'L',\n nextDay: '[morgen um] LT [Uhr]',\n nextWeek: 'dddd [um] LT [Uhr]',\n lastDay: '[gestern um] LT [Uhr]',\n lastWeek: '[letzten] dddd [um] LT [Uhr]',\n },\n relativeTime: {\n future: 'in %s',\n past: 'vor %s',\n s: 'ein paar Sekunden',\n ss: '%d Sekunden',\n m: processRelativeTime$2,\n mm: '%d Minuten',\n h: processRelativeTime$2,\n hh: '%d Stunden',\n d: processRelativeTime$2,\n dd: processRelativeTime$2,\n w: processRelativeTime$2,\n ww: '%d Wochen',\n M: processRelativeTime$2,\n MM: processRelativeTime$2,\n y: processRelativeTime$2,\n yy: processRelativeTime$2,\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n //! moment.js locale configuration\n\n function processRelativeTime$3(number, withoutSuffix, key, isFuture) {\n var format = {\n m: ['eine Minute', 'einer Minute'],\n h: ['eine Stunde', 'einer Stunde'],\n d: ['ein Tag', 'einem Tag'],\n dd: [number + ' Tage', number + ' Tagen'],\n w: ['eine Woche', 'einer Woche'],\n M: ['ein Monat', 'einem Monat'],\n MM: [number + ' Monate', number + ' Monaten'],\n y: ['ein Jahr', 'einem Jahr'],\n yy: [number + ' Jahre', number + ' Jahren'],\n };\n return withoutSuffix ? format[key][0] : format[key][1];\n }\n\n moment.defineLocale('de', {\n months: 'Januar_Februar_März_April_Mai_Juni_Juli_August_September_Oktober_November_Dezember'.split(\n '_'\n ),\n monthsShort:\n 'Jan._Feb._März_Apr._Mai_Juni_Juli_Aug._Sep._Okt._Nov._Dez.'.split('_'),\n monthsParseExact: true,\n weekdays:\n 'Sonntag_Montag_Dienstag_Mittwoch_Donnerstag_Freitag_Samstag'.split(\n '_'\n ),\n weekdaysShort: 'So._Mo._Di._Mi._Do._Fr._Sa.'.split('_'),\n weekdaysMin: 'So_Mo_Di_Mi_Do_Fr_Sa'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D. MMMM YYYY',\n LLL: 'D. MMMM YYYY HH:mm',\n LLLL: 'dddd, D. MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[heute um] LT [Uhr]',\n sameElse: 'L',\n nextDay: '[morgen um] LT [Uhr]',\n nextWeek: 'dddd [um] LT [Uhr]',\n lastDay: '[gestern um] LT [Uhr]',\n lastWeek: '[letzten] dddd [um] LT [Uhr]',\n },\n relativeTime: {\n future: 'in %s',\n past: 'vor %s',\n s: 'ein paar Sekunden',\n ss: '%d Sekunden',\n m: processRelativeTime$3,\n mm: '%d Minuten',\n h: processRelativeTime$3,\n hh: '%d Stunden',\n d: processRelativeTime$3,\n dd: processRelativeTime$3,\n w: processRelativeTime$3,\n ww: '%d Wochen',\n M: processRelativeTime$3,\n MM: processRelativeTime$3,\n y: processRelativeTime$3,\n yy: processRelativeTime$3,\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n //! moment.js locale configuration\n\n var months$4 = [\n 'ޖެނުއަރީ',\n 'ފެބްރުއަރީ',\n 'މާރިޗު',\n 'އޭޕްރީލު',\n 'މޭ',\n 'ޖޫން',\n 'ޖުލައި',\n 'އޯގަސްޓު',\n 'ސެޕްޓެމްބަރު',\n 'އޮކްޓޯބަރު',\n 'ނޮވެމްބަރު',\n 'ޑިސެމްބަރު',\n ],\n weekdays = [\n 'އާދިއްތަ',\n 'ހޯމަ',\n 'އަންގާރަ',\n 'ބުދަ',\n 'ބުރާސްފަތި',\n 'ހުކުރު',\n 'ހޮނިހިރު',\n ];\n\n moment.defineLocale('dv', {\n months: months$4,\n monthsShort: months$4,\n weekdays: weekdays,\n weekdaysShort: weekdays,\n weekdaysMin: 'އާދި_ހޯމަ_އަން_ބުދަ_ބުރާ_ހުކު_ހޮނި'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'D/M/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd D MMMM YYYY HH:mm',\n },\n meridiemParse: /މކ|މފ/,\n isPM: function (input) {\n return 'މފ' === input;\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 12) {\n return 'މކ';\n } else {\n return 'މފ';\n }\n },\n calendar: {\n sameDay: '[މިއަދު] LT',\n nextDay: '[މާދަމާ] LT',\n nextWeek: 'dddd LT',\n lastDay: '[އިއްޔެ] LT',\n lastWeek: '[ފާއިތުވި] dddd LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'ތެރޭގައި %s',\n past: 'ކުރިން %s',\n s: 'ސިކުންތުކޮޅެއް',\n ss: 'd% ސިކުންތު',\n m: 'މިނިޓެއް',\n mm: 'މިނިޓު %d',\n h: 'ގަޑިއިރެއް',\n hh: 'ގަޑިއިރު %d',\n d: 'ދުވަހެއް',\n dd: 'ދުވަސް %d',\n M: 'މަހެއް',\n MM: 'މަސް %d',\n y: 'އަހަރެއް',\n yy: 'އަހަރު %d',\n },\n preparse: function (string) {\n return string.replace(/،/g, ',');\n },\n postformat: function (string) {\n return string.replace(/,/g, '،');\n },\n week: {\n dow: 7, // Sunday is the first day of the week.\n doy: 12, // The week that contains Jan 12th is the first week of the year.\n },\n });\n\n //! moment.js locale configuration\n\n function isFunction(input) {\n return (\n (typeof Function !== 'undefined' && input instanceof Function) ||\n Object.prototype.toString.call(input) === '[object Function]'\n );\n }\n\n moment.defineLocale('el', {\n monthsNominativeEl:\n 'Ιανουάριος_Φεβρουάριος_Μάρτιος_Απρίλιος_Μάιος_Ιούνιος_Ιούλιος_Αύγουστος_Σεπτέμβριος_Οκτώβριος_Νοέμβριος_Δεκέμβριος'.split(\n '_'\n ),\n monthsGenitiveEl:\n 'Ιανουαρίου_Φεβρουαρίου_Μαρτίου_Απριλίου_Μαΐου_Ιουνίου_Ιουλίου_Αυγούστου_Σεπτεμβρίου_Οκτωβρίου_Νοεμβρίου_Δεκεμβρίου'.split(\n '_'\n ),\n months: function (momentToFormat, format) {\n if (!momentToFormat) {\n return this._monthsNominativeEl;\n } else if (\n typeof format === 'string' &&\n /D/.test(format.substring(0, format.indexOf('MMMM')))\n ) {\n // if there is a day number before 'MMMM'\n return this._monthsGenitiveEl[momentToFormat.month()];\n } else {\n return this._monthsNominativeEl[momentToFormat.month()];\n }\n },\n monthsShort: 'Ιαν_Φεβ_Μαρ_Απρ_Μαϊ_Ιουν_Ιουλ_Αυγ_Σεπ_Οκτ_Νοε_Δεκ'.split('_'),\n weekdays: 'Κυριακή_Δευτέρα_Τρίτη_Τετάρτη_Πέμπτη_Παρασκευή_Σάββατο'.split(\n '_'\n ),\n weekdaysShort: 'Κυρ_Δευ_Τρι_Τετ_Πεμ_Παρ_Σαβ'.split('_'),\n weekdaysMin: 'Κυ_Δε_Τρ_Τε_Πε_Πα_Σα'.split('_'),\n meridiem: function (hours, minutes, isLower) {\n if (hours > 11) {\n return isLower ? 'μμ' : 'ΜΜ';\n } else {\n return isLower ? 'πμ' : 'ΠΜ';\n }\n },\n isPM: function (input) {\n return (input + '').toLowerCase()[0] === 'μ';\n },\n meridiemParse: /[ΠΜ]\\.?Μ?\\.?/i,\n longDateFormat: {\n LT: 'h:mm A',\n LTS: 'h:mm:ss A',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY h:mm A',\n LLLL: 'dddd, D MMMM YYYY h:mm A',\n },\n calendarEl: {\n sameDay: '[Σήμερα {}] LT',\n nextDay: '[Αύριο {}] LT',\n nextWeek: 'dddd [{}] LT',\n lastDay: '[Χθες {}] LT',\n lastWeek: function () {\n switch (this.day()) {\n case 6:\n return '[το προηγούμενο] dddd [{}] LT';\n default:\n return '[την προηγούμενη] dddd [{}] LT';\n }\n },\n sameElse: 'L',\n },\n calendar: function (key, mom) {\n var output = this._calendarEl[key],\n hours = mom && mom.hours();\n if (isFunction(output)) {\n output = output.apply(mom);\n }\n return output.replace('{}', hours % 12 === 1 ? 'στη' : 'στις');\n },\n relativeTime: {\n future: 'σε %s',\n past: '%s πριν',\n s: 'λίγα δευτερόλεπτα',\n ss: '%d δευτερόλεπτα',\n m: 'ένα λεπτό',\n mm: '%d λεπτά',\n h: 'μία ώρα',\n hh: '%d ώρες',\n d: 'μία μέρα',\n dd: '%d μέρες',\n M: 'ένας μήνας',\n MM: '%d μήνες',\n y: 'ένας χρόνος',\n yy: '%d χρόνια',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}η/,\n ordinal: '%dη',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4st is the first week of the year.\n },\n });\n\n //! moment.js locale configuration\n\n moment.defineLocale('en-au', {\n months: 'January_February_March_April_May_June_July_August_September_October_November_December'.split(\n '_'\n ),\n monthsShort: 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'),\n weekdays: 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split(\n '_'\n ),\n weekdaysShort: 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),\n weekdaysMin: 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'),\n longDateFormat: {\n LT: 'h:mm A',\n LTS: 'h:mm:ss A',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY h:mm A',\n LLLL: 'dddd, D MMMM YYYY h:mm A',\n },\n calendar: {\n sameDay: '[Today at] LT',\n nextDay: '[Tomorrow at] LT',\n nextWeek: 'dddd [at] LT',\n lastDay: '[Yesterday at] LT',\n lastWeek: '[Last] dddd [at] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'in %s',\n past: '%s ago',\n s: 'a few seconds',\n ss: '%d seconds',\n m: 'a minute',\n mm: '%d minutes',\n h: 'an hour',\n hh: '%d hours',\n d: 'a day',\n dd: '%d days',\n M: 'a month',\n MM: '%d months',\n y: 'a year',\n yy: '%d years',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(st|nd|rd|th)/,\n ordinal: function (number) {\n var b = number % 10,\n output =\n ~~((number % 100) / 10) === 1\n ? 'th'\n : b === 1\n ? 'st'\n : b === 2\n ? 'nd'\n : b === 3\n ? 'rd'\n : 'th';\n return number + output;\n },\n week: {\n dow: 0, // Sunday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n //! moment.js locale configuration\n\n moment.defineLocale('en-ca', {\n months: 'January_February_March_April_May_June_July_August_September_October_November_December'.split(\n '_'\n ),\n monthsShort: 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'),\n weekdays: 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split(\n '_'\n ),\n weekdaysShort: 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),\n weekdaysMin: 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'),\n longDateFormat: {\n LT: 'h:mm A',\n LTS: 'h:mm:ss A',\n L: 'YYYY-MM-DD',\n LL: 'MMMM D, YYYY',\n LLL: 'MMMM D, YYYY h:mm A',\n LLLL: 'dddd, MMMM D, YYYY h:mm A',\n },\n calendar: {\n sameDay: '[Today at] LT',\n nextDay: '[Tomorrow at] LT',\n nextWeek: 'dddd [at] LT',\n lastDay: '[Yesterday at] LT',\n lastWeek: '[Last] dddd [at] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'in %s',\n past: '%s ago',\n s: 'a few seconds',\n ss: '%d seconds',\n m: 'a minute',\n mm: '%d minutes',\n h: 'an hour',\n hh: '%d hours',\n d: 'a day',\n dd: '%d days',\n M: 'a month',\n MM: '%d months',\n y: 'a year',\n yy: '%d years',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(st|nd|rd|th)/,\n ordinal: function (number) {\n var b = number % 10,\n output =\n ~~((number % 100) / 10) === 1\n ? 'th'\n : b === 1\n ? 'st'\n : b === 2\n ? 'nd'\n : b === 3\n ? 'rd'\n : 'th';\n return number + output;\n },\n });\n\n //! moment.js locale configuration\n\n moment.defineLocale('en-gb', {\n months: 'January_February_March_April_May_June_July_August_September_October_November_December'.split(\n '_'\n ),\n monthsShort: 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'),\n weekdays: 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split(\n '_'\n ),\n weekdaysShort: 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),\n weekdaysMin: 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd, D MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[Today at] LT',\n nextDay: '[Tomorrow at] LT',\n nextWeek: 'dddd [at] LT',\n lastDay: '[Yesterday at] LT',\n lastWeek: '[Last] dddd [at] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'in %s',\n past: '%s ago',\n s: 'a few seconds',\n ss: '%d seconds',\n m: 'a minute',\n mm: '%d minutes',\n h: 'an hour',\n hh: '%d hours',\n d: 'a day',\n dd: '%d days',\n M: 'a month',\n MM: '%d months',\n y: 'a year',\n yy: '%d years',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(st|nd|rd|th)/,\n ordinal: function (number) {\n var b = number % 10,\n output =\n ~~((number % 100) / 10) === 1\n ? 'th'\n : b === 1\n ? 'st'\n : b === 2\n ? 'nd'\n : b === 3\n ? 'rd'\n : 'th';\n return number + output;\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n //! moment.js locale configuration\n\n moment.defineLocale('en-ie', {\n months: 'January_February_March_April_May_June_July_August_September_October_November_December'.split(\n '_'\n ),\n monthsShort: 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'),\n weekdays: 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split(\n '_'\n ),\n weekdaysShort: 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),\n weekdaysMin: 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd D MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[Today at] LT',\n nextDay: '[Tomorrow at] LT',\n nextWeek: 'dddd [at] LT',\n lastDay: '[Yesterday at] LT',\n lastWeek: '[Last] dddd [at] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'in %s',\n past: '%s ago',\n s: 'a few seconds',\n ss: '%d seconds',\n m: 'a minute',\n mm: '%d minutes',\n h: 'an hour',\n hh: '%d hours',\n d: 'a day',\n dd: '%d days',\n M: 'a month',\n MM: '%d months',\n y: 'a year',\n yy: '%d years',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(st|nd|rd|th)/,\n ordinal: function (number) {\n var b = number % 10,\n output =\n ~~((number % 100) / 10) === 1\n ? 'th'\n : b === 1\n ? 'st'\n : b === 2\n ? 'nd'\n : b === 3\n ? 'rd'\n : 'th';\n return number + output;\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n //! moment.js locale configuration\n\n moment.defineLocale('en-il', {\n months: 'January_February_March_April_May_June_July_August_September_October_November_December'.split(\n '_'\n ),\n monthsShort: 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'),\n weekdays: 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split(\n '_'\n ),\n weekdaysShort: 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),\n weekdaysMin: 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd, D MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[Today at] LT',\n nextDay: '[Tomorrow at] LT',\n nextWeek: 'dddd [at] LT',\n lastDay: '[Yesterday at] LT',\n lastWeek: '[Last] dddd [at] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'in %s',\n past: '%s ago',\n s: 'a few seconds',\n ss: '%d seconds',\n m: 'a minute',\n mm: '%d minutes',\n h: 'an hour',\n hh: '%d hours',\n d: 'a day',\n dd: '%d days',\n M: 'a month',\n MM: '%d months',\n y: 'a year',\n yy: '%d years',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(st|nd|rd|th)/,\n ordinal: function (number) {\n var b = number % 10,\n output =\n ~~((number % 100) / 10) === 1\n ? 'th'\n : b === 1\n ? 'st'\n : b === 2\n ? 'nd'\n : b === 3\n ? 'rd'\n : 'th';\n return number + output;\n },\n });\n\n //! moment.js locale configuration\n\n moment.defineLocale('en-in', {\n months: 'January_February_March_April_May_June_July_August_September_October_November_December'.split(\n '_'\n ),\n monthsShort: 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'),\n weekdays: 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split(\n '_'\n ),\n weekdaysShort: 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),\n weekdaysMin: 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'),\n longDateFormat: {\n LT: 'h:mm A',\n LTS: 'h:mm:ss A',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY h:mm A',\n LLLL: 'dddd, D MMMM YYYY h:mm A',\n },\n calendar: {\n sameDay: '[Today at] LT',\n nextDay: '[Tomorrow at] LT',\n nextWeek: 'dddd [at] LT',\n lastDay: '[Yesterday at] LT',\n lastWeek: '[Last] dddd [at] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'in %s',\n past: '%s ago',\n s: 'a few seconds',\n ss: '%d seconds',\n m: 'a minute',\n mm: '%d minutes',\n h: 'an hour',\n hh: '%d hours',\n d: 'a day',\n dd: '%d days',\n M: 'a month',\n MM: '%d months',\n y: 'a year',\n yy: '%d years',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(st|nd|rd|th)/,\n ordinal: function (number) {\n var b = number % 10,\n output =\n ~~((number % 100) / 10) === 1\n ? 'th'\n : b === 1\n ? 'st'\n : b === 2\n ? 'nd'\n : b === 3\n ? 'rd'\n : 'th';\n return number + output;\n },\n week: {\n dow: 0, // Sunday is the first day of the week.\n doy: 6, // The week that contains Jan 1st is the first week of the year.\n },\n });\n\n //! moment.js locale configuration\n\n moment.defineLocale('en-nz', {\n months: 'January_February_March_April_May_June_July_August_September_October_November_December'.split(\n '_'\n ),\n monthsShort: 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'),\n weekdays: 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split(\n '_'\n ),\n weekdaysShort: 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),\n weekdaysMin: 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'),\n longDateFormat: {\n LT: 'h:mm A',\n LTS: 'h:mm:ss A',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY h:mm A',\n LLLL: 'dddd, D MMMM YYYY h:mm A',\n },\n calendar: {\n sameDay: '[Today at] LT',\n nextDay: '[Tomorrow at] LT',\n nextWeek: 'dddd [at] LT',\n lastDay: '[Yesterday at] LT',\n lastWeek: '[Last] dddd [at] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'in %s',\n past: '%s ago',\n s: 'a few seconds',\n ss: '%d seconds',\n m: 'a minute',\n mm: '%d minutes',\n h: 'an hour',\n hh: '%d hours',\n d: 'a day',\n dd: '%d days',\n M: 'a month',\n MM: '%d months',\n y: 'a year',\n yy: '%d years',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(st|nd|rd|th)/,\n ordinal: function (number) {\n var b = number % 10,\n output =\n ~~((number % 100) / 10) === 1\n ? 'th'\n : b === 1\n ? 'st'\n : b === 2\n ? 'nd'\n : b === 3\n ? 'rd'\n : 'th';\n return number + output;\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n //! moment.js locale configuration\n\n moment.defineLocale('en-sg', {\n months: 'January_February_March_April_May_June_July_August_September_October_November_December'.split(\n '_'\n ),\n monthsShort: 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'),\n weekdays: 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split(\n '_'\n ),\n weekdaysShort: 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),\n weekdaysMin: 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd, D MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[Today at] LT',\n nextDay: '[Tomorrow at] LT',\n nextWeek: 'dddd [at] LT',\n lastDay: '[Yesterday at] LT',\n lastWeek: '[Last] dddd [at] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'in %s',\n past: '%s ago',\n s: 'a few seconds',\n ss: '%d seconds',\n m: 'a minute',\n mm: '%d minutes',\n h: 'an hour',\n hh: '%d hours',\n d: 'a day',\n dd: '%d days',\n M: 'a month',\n MM: '%d months',\n y: 'a year',\n yy: '%d years',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(st|nd|rd|th)/,\n ordinal: function (number) {\n var b = number % 10,\n output =\n ~~((number % 100) / 10) === 1\n ? 'th'\n : b === 1\n ? 'st'\n : b === 2\n ? 'nd'\n : b === 3\n ? 'rd'\n : 'th';\n return number + output;\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n //! moment.js locale configuration\n\n moment.defineLocale('eo', {\n months: 'januaro_februaro_marto_aprilo_majo_junio_julio_aŭgusto_septembro_oktobro_novembro_decembro'.split(\n '_'\n ),\n monthsShort: 'jan_feb_mart_apr_maj_jun_jul_aŭg_sept_okt_nov_dec'.split('_'),\n weekdays: 'dimanĉo_lundo_mardo_merkredo_ĵaŭdo_vendredo_sabato'.split('_'),\n weekdaysShort: 'dim_lun_mard_merk_ĵaŭ_ven_sab'.split('_'),\n weekdaysMin: 'di_lu_ma_me_ĵa_ve_sa'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'YYYY-MM-DD',\n LL: '[la] D[-an de] MMMM, YYYY',\n LLL: '[la] D[-an de] MMMM, YYYY HH:mm',\n LLLL: 'dddd[n], [la] D[-an de] MMMM, YYYY HH:mm',\n llll: 'ddd, [la] D[-an de] MMM, YYYY HH:mm',\n },\n meridiemParse: /[ap]\\.t\\.m/i,\n isPM: function (input) {\n return input.charAt(0).toLowerCase() === 'p';\n },\n meridiem: function (hours, minutes, isLower) {\n if (hours > 11) {\n return isLower ? 'p.t.m.' : 'P.T.M.';\n } else {\n return isLower ? 'a.t.m.' : 'A.T.M.';\n }\n },\n calendar: {\n sameDay: '[Hodiaŭ je] LT',\n nextDay: '[Morgaŭ je] LT',\n nextWeek: 'dddd[n je] LT',\n lastDay: '[Hieraŭ je] LT',\n lastWeek: '[pasintan] dddd[n je] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'post %s',\n past: 'antaŭ %s',\n s: 'kelkaj sekundoj',\n ss: '%d sekundoj',\n m: 'unu minuto',\n mm: '%d minutoj',\n h: 'unu horo',\n hh: '%d horoj',\n d: 'unu tago', //ne 'diurno', ĉar estas uzita por proksimumo\n dd: '%d tagoj',\n M: 'unu monato',\n MM: '%d monatoj',\n y: 'unu jaro',\n yy: '%d jaroj',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}a/,\n ordinal: '%da',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 7, // The week that contains Jan 7th is the first week of the year.\n },\n });\n\n //! moment.js locale configuration\n\n var monthsShortDot =\n 'ene._feb._mar._abr._may._jun._jul._ago._sep._oct._nov._dic.'.split(\n '_'\n ),\n monthsShort$1 = 'ene_feb_mar_abr_may_jun_jul_ago_sep_oct_nov_dic'.split('_'),\n monthsParse$2 = [\n /^ene/i,\n /^feb/i,\n /^mar/i,\n /^abr/i,\n /^may/i,\n /^jun/i,\n /^jul/i,\n /^ago/i,\n /^sep/i,\n /^oct/i,\n /^nov/i,\n /^dic/i,\n ],\n monthsRegex$2 =\n /^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre|ene\\.?|feb\\.?|mar\\.?|abr\\.?|may\\.?|jun\\.?|jul\\.?|ago\\.?|sep\\.?|oct\\.?|nov\\.?|dic\\.?)/i;\n\n moment.defineLocale('es-do', {\n months: 'enero_febrero_marzo_abril_mayo_junio_julio_agosto_septiembre_octubre_noviembre_diciembre'.split(\n '_'\n ),\n monthsShort: function (m, format) {\n if (!m) {\n return monthsShortDot;\n } else if (/-MMM-/.test(format)) {\n return monthsShort$1[m.month()];\n } else {\n return monthsShortDot[m.month()];\n }\n },\n monthsRegex: monthsRegex$2,\n monthsShortRegex: monthsRegex$2,\n monthsStrictRegex:\n /^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre)/i,\n monthsShortStrictRegex:\n /^(ene\\.?|feb\\.?|mar\\.?|abr\\.?|may\\.?|jun\\.?|jul\\.?|ago\\.?|sep\\.?|oct\\.?|nov\\.?|dic\\.?)/i,\n monthsParse: monthsParse$2,\n longMonthsParse: monthsParse$2,\n shortMonthsParse: monthsParse$2,\n weekdays: 'domingo_lunes_martes_miércoles_jueves_viernes_sábado'.split('_'),\n weekdaysShort: 'dom._lun._mar._mié._jue._vie._sáb.'.split('_'),\n weekdaysMin: 'do_lu_ma_mi_ju_vi_sá'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'h:mm A',\n LTS: 'h:mm:ss A',\n L: 'DD/MM/YYYY',\n LL: 'D [de] MMMM [de] YYYY',\n LLL: 'D [de] MMMM [de] YYYY h:mm A',\n LLLL: 'dddd, D [de] MMMM [de] YYYY h:mm A',\n },\n calendar: {\n sameDay: function () {\n return '[hoy a la' + (this.hours() !== 1 ? 's' : '') + '] LT';\n },\n nextDay: function () {\n return '[mañana a la' + (this.hours() !== 1 ? 's' : '') + '] LT';\n },\n nextWeek: function () {\n return 'dddd [a la' + (this.hours() !== 1 ? 's' : '') + '] LT';\n },\n lastDay: function () {\n return '[ayer a la' + (this.hours() !== 1 ? 's' : '') + '] LT';\n },\n lastWeek: function () {\n return (\n '[el] dddd [pasado a la' +\n (this.hours() !== 1 ? 's' : '') +\n '] LT'\n );\n },\n sameElse: 'L',\n },\n relativeTime: {\n future: 'en %s',\n past: 'hace %s',\n s: 'unos segundos',\n ss: '%d segundos',\n m: 'un minuto',\n mm: '%d minutos',\n h: 'una hora',\n hh: '%d horas',\n d: 'un día',\n dd: '%d días',\n w: 'una semana',\n ww: '%d semanas',\n M: 'un mes',\n MM: '%d meses',\n y: 'un año',\n yy: '%d años',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}º/,\n ordinal: '%dº',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n //! moment.js locale configuration\n\n var monthsShortDot$1 =\n 'ene._feb._mar._abr._may._jun._jul._ago._sep._oct._nov._dic.'.split(\n '_'\n ),\n monthsShort$2 = 'ene_feb_mar_abr_may_jun_jul_ago_sep_oct_nov_dic'.split('_'),\n monthsParse$3 = [\n /^ene/i,\n /^feb/i,\n /^mar/i,\n /^abr/i,\n /^may/i,\n /^jun/i,\n /^jul/i,\n /^ago/i,\n /^sep/i,\n /^oct/i,\n /^nov/i,\n /^dic/i,\n ],\n monthsRegex$3 =\n /^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre|ene\\.?|feb\\.?|mar\\.?|abr\\.?|may\\.?|jun\\.?|jul\\.?|ago\\.?|sep\\.?|oct\\.?|nov\\.?|dic\\.?)/i;\n\n moment.defineLocale('es-mx', {\n months: 'enero_febrero_marzo_abril_mayo_junio_julio_agosto_septiembre_octubre_noviembre_diciembre'.split(\n '_'\n ),\n monthsShort: function (m, format) {\n if (!m) {\n return monthsShortDot$1;\n } else if (/-MMM-/.test(format)) {\n return monthsShort$2[m.month()];\n } else {\n return monthsShortDot$1[m.month()];\n }\n },\n monthsRegex: monthsRegex$3,\n monthsShortRegex: monthsRegex$3,\n monthsStrictRegex:\n /^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre)/i,\n monthsShortStrictRegex:\n /^(ene\\.?|feb\\.?|mar\\.?|abr\\.?|may\\.?|jun\\.?|jul\\.?|ago\\.?|sep\\.?|oct\\.?|nov\\.?|dic\\.?)/i,\n monthsParse: monthsParse$3,\n longMonthsParse: monthsParse$3,\n shortMonthsParse: monthsParse$3,\n weekdays: 'domingo_lunes_martes_miércoles_jueves_viernes_sábado'.split('_'),\n weekdaysShort: 'dom._lun._mar._mié._jue._vie._sáb.'.split('_'),\n weekdaysMin: 'do_lu_ma_mi_ju_vi_sá'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'H:mm',\n LTS: 'H:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D [de] MMMM [de] YYYY',\n LLL: 'D [de] MMMM [de] YYYY H:mm',\n LLLL: 'dddd, D [de] MMMM [de] YYYY H:mm',\n },\n calendar: {\n sameDay: function () {\n return '[hoy a la' + (this.hours() !== 1 ? 's' : '') + '] LT';\n },\n nextDay: function () {\n return '[mañana a la' + (this.hours() !== 1 ? 's' : '') + '] LT';\n },\n nextWeek: function () {\n return 'dddd [a la' + (this.hours() !== 1 ? 's' : '') + '] LT';\n },\n lastDay: function () {\n return '[ayer a la' + (this.hours() !== 1 ? 's' : '') + '] LT';\n },\n lastWeek: function () {\n return (\n '[el] dddd [pasado a la' +\n (this.hours() !== 1 ? 's' : '') +\n '] LT'\n );\n },\n sameElse: 'L',\n },\n relativeTime: {\n future: 'en %s',\n past: 'hace %s',\n s: 'unos segundos',\n ss: '%d segundos',\n m: 'un minuto',\n mm: '%d minutos',\n h: 'una hora',\n hh: '%d horas',\n d: 'un día',\n dd: '%d días',\n w: 'una semana',\n ww: '%d semanas',\n M: 'un mes',\n MM: '%d meses',\n y: 'un año',\n yy: '%d años',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}º/,\n ordinal: '%dº',\n week: {\n dow: 0, // Sunday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n invalidDate: 'Fecha inválida',\n });\n\n //! moment.js locale configuration\n\n var monthsShortDot$2 =\n 'ene._feb._mar._abr._may._jun._jul._ago._sep._oct._nov._dic.'.split(\n '_'\n ),\n monthsShort$3 = 'ene_feb_mar_abr_may_jun_jul_ago_sep_oct_nov_dic'.split('_'),\n monthsParse$4 = [\n /^ene/i,\n /^feb/i,\n /^mar/i,\n /^abr/i,\n /^may/i,\n /^jun/i,\n /^jul/i,\n /^ago/i,\n /^sep/i,\n /^oct/i,\n /^nov/i,\n /^dic/i,\n ],\n monthsRegex$4 =\n /^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre|ene\\.?|feb\\.?|mar\\.?|abr\\.?|may\\.?|jun\\.?|jul\\.?|ago\\.?|sep\\.?|oct\\.?|nov\\.?|dic\\.?)/i;\n\n moment.defineLocale('es-us', {\n months: 'enero_febrero_marzo_abril_mayo_junio_julio_agosto_septiembre_octubre_noviembre_diciembre'.split(\n '_'\n ),\n monthsShort: function (m, format) {\n if (!m) {\n return monthsShortDot$2;\n } else if (/-MMM-/.test(format)) {\n return monthsShort$3[m.month()];\n } else {\n return monthsShortDot$2[m.month()];\n }\n },\n monthsRegex: monthsRegex$4,\n monthsShortRegex: monthsRegex$4,\n monthsStrictRegex:\n /^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre)/i,\n monthsShortStrictRegex:\n /^(ene\\.?|feb\\.?|mar\\.?|abr\\.?|may\\.?|jun\\.?|jul\\.?|ago\\.?|sep\\.?|oct\\.?|nov\\.?|dic\\.?)/i,\n monthsParse: monthsParse$4,\n longMonthsParse: monthsParse$4,\n shortMonthsParse: monthsParse$4,\n weekdays: 'domingo_lunes_martes_miércoles_jueves_viernes_sábado'.split('_'),\n weekdaysShort: 'dom._lun._mar._mié._jue._vie._sáb.'.split('_'),\n weekdaysMin: 'do_lu_ma_mi_ju_vi_sá'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'h:mm A',\n LTS: 'h:mm:ss A',\n L: 'MM/DD/YYYY',\n LL: 'D [de] MMMM [de] YYYY',\n LLL: 'D [de] MMMM [de] YYYY h:mm A',\n LLLL: 'dddd, D [de] MMMM [de] YYYY h:mm A',\n },\n calendar: {\n sameDay: function () {\n return '[hoy a la' + (this.hours() !== 1 ? 's' : '') + '] LT';\n },\n nextDay: function () {\n return '[mañana a la' + (this.hours() !== 1 ? 's' : '') + '] LT';\n },\n nextWeek: function () {\n return 'dddd [a la' + (this.hours() !== 1 ? 's' : '') + '] LT';\n },\n lastDay: function () {\n return '[ayer a la' + (this.hours() !== 1 ? 's' : '') + '] LT';\n },\n lastWeek: function () {\n return (\n '[el] dddd [pasado a la' +\n (this.hours() !== 1 ? 's' : '') +\n '] LT'\n );\n },\n sameElse: 'L',\n },\n relativeTime: {\n future: 'en %s',\n past: 'hace %s',\n s: 'unos segundos',\n ss: '%d segundos',\n m: 'un minuto',\n mm: '%d minutos',\n h: 'una hora',\n hh: '%d horas',\n d: 'un día',\n dd: '%d días',\n w: 'una semana',\n ww: '%d semanas',\n M: 'un mes',\n MM: '%d meses',\n y: 'un año',\n yy: '%d años',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}º/,\n ordinal: '%dº',\n week: {\n dow: 0, // Sunday is the first day of the week.\n doy: 6, // The week that contains Jan 6th is the first week of the year.\n },\n });\n\n //! moment.js locale configuration\n\n var monthsShortDot$3 =\n 'ene._feb._mar._abr._may._jun._jul._ago._sep._oct._nov._dic.'.split(\n '_'\n ),\n monthsShort$4 = 'ene_feb_mar_abr_may_jun_jul_ago_sep_oct_nov_dic'.split('_'),\n monthsParse$5 = [\n /^ene/i,\n /^feb/i,\n /^mar/i,\n /^abr/i,\n /^may/i,\n /^jun/i,\n /^jul/i,\n /^ago/i,\n /^sep/i,\n /^oct/i,\n /^nov/i,\n /^dic/i,\n ],\n monthsRegex$5 =\n /^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre|ene\\.?|feb\\.?|mar\\.?|abr\\.?|may\\.?|jun\\.?|jul\\.?|ago\\.?|sep\\.?|oct\\.?|nov\\.?|dic\\.?)/i;\n\n moment.defineLocale('es', {\n months: 'enero_febrero_marzo_abril_mayo_junio_julio_agosto_septiembre_octubre_noviembre_diciembre'.split(\n '_'\n ),\n monthsShort: function (m, format) {\n if (!m) {\n return monthsShortDot$3;\n } else if (/-MMM-/.test(format)) {\n return monthsShort$4[m.month()];\n } else {\n return monthsShortDot$3[m.month()];\n }\n },\n monthsRegex: monthsRegex$5,\n monthsShortRegex: monthsRegex$5,\n monthsStrictRegex:\n /^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre)/i,\n monthsShortStrictRegex:\n /^(ene\\.?|feb\\.?|mar\\.?|abr\\.?|may\\.?|jun\\.?|jul\\.?|ago\\.?|sep\\.?|oct\\.?|nov\\.?|dic\\.?)/i,\n monthsParse: monthsParse$5,\n longMonthsParse: monthsParse$5,\n shortMonthsParse: monthsParse$5,\n weekdays: 'domingo_lunes_martes_miércoles_jueves_viernes_sábado'.split('_'),\n weekdaysShort: 'dom._lun._mar._mié._jue._vie._sáb.'.split('_'),\n weekdaysMin: 'do_lu_ma_mi_ju_vi_sá'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'H:mm',\n LTS: 'H:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D [de] MMMM [de] YYYY',\n LLL: 'D [de] MMMM [de] YYYY H:mm',\n LLLL: 'dddd, D [de] MMMM [de] YYYY H:mm',\n },\n calendar: {\n sameDay: function () {\n return '[hoy a la' + (this.hours() !== 1 ? 's' : '') + '] LT';\n },\n nextDay: function () {\n return '[mañana a la' + (this.hours() !== 1 ? 's' : '') + '] LT';\n },\n nextWeek: function () {\n return 'dddd [a la' + (this.hours() !== 1 ? 's' : '') + '] LT';\n },\n lastDay: function () {\n return '[ayer a la' + (this.hours() !== 1 ? 's' : '') + '] LT';\n },\n lastWeek: function () {\n return (\n '[el] dddd [pasado a la' +\n (this.hours() !== 1 ? 's' : '') +\n '] LT'\n );\n },\n sameElse: 'L',\n },\n relativeTime: {\n future: 'en %s',\n past: 'hace %s',\n s: 'unos segundos',\n ss: '%d segundos',\n m: 'un minuto',\n mm: '%d minutos',\n h: 'una hora',\n hh: '%d horas',\n d: 'un día',\n dd: '%d días',\n w: 'una semana',\n ww: '%d semanas',\n M: 'un mes',\n MM: '%d meses',\n y: 'un año',\n yy: '%d años',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}º/,\n ordinal: '%dº',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n invalidDate: 'Fecha inválida',\n });\n\n //! moment.js locale configuration\n\n function processRelativeTime$4(number, withoutSuffix, key, isFuture) {\n var format = {\n s: ['mõne sekundi', 'mõni sekund', 'paar sekundit'],\n ss: [number + 'sekundi', number + 'sekundit'],\n m: ['ühe minuti', 'üks minut'],\n mm: [number + ' minuti', number + ' minutit'],\n h: ['ühe tunni', 'tund aega', 'üks tund'],\n hh: [number + ' tunni', number + ' tundi'],\n d: ['ühe päeva', 'üks päev'],\n M: ['kuu aja', 'kuu aega', 'üks kuu'],\n MM: [number + ' kuu', number + ' kuud'],\n y: ['ühe aasta', 'aasta', 'üks aasta'],\n yy: [number + ' aasta', number + ' aastat'],\n };\n if (withoutSuffix) {\n return format[key][2] ? format[key][2] : format[key][1];\n }\n return isFuture ? format[key][0] : format[key][1];\n }\n\n moment.defineLocale('et', {\n months: 'jaanuar_veebruar_märts_aprill_mai_juuni_juuli_august_september_oktoober_november_detsember'.split(\n '_'\n ),\n monthsShort:\n 'jaan_veebr_märts_apr_mai_juuni_juuli_aug_sept_okt_nov_dets'.split('_'),\n weekdays:\n 'pühapäev_esmaspäev_teisipäev_kolmapäev_neljapäev_reede_laupäev'.split(\n '_'\n ),\n weekdaysShort: 'P_E_T_K_N_R_L'.split('_'),\n weekdaysMin: 'P_E_T_K_N_R_L'.split('_'),\n longDateFormat: {\n LT: 'H:mm',\n LTS: 'H:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D. MMMM YYYY',\n LLL: 'D. MMMM YYYY H:mm',\n LLLL: 'dddd, D. MMMM YYYY H:mm',\n },\n calendar: {\n sameDay: '[Täna,] LT',\n nextDay: '[Homme,] LT',\n nextWeek: '[Järgmine] dddd LT',\n lastDay: '[Eile,] LT',\n lastWeek: '[Eelmine] dddd LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: '%s pärast',\n past: '%s tagasi',\n s: processRelativeTime$4,\n ss: processRelativeTime$4,\n m: processRelativeTime$4,\n mm: processRelativeTime$4,\n h: processRelativeTime$4,\n hh: processRelativeTime$4,\n d: processRelativeTime$4,\n dd: '%d päeva',\n M: processRelativeTime$4,\n MM: processRelativeTime$4,\n y: processRelativeTime$4,\n yy: processRelativeTime$4,\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n //! moment.js locale configuration\n\n moment.defineLocale('eu', {\n months: 'urtarrila_otsaila_martxoa_apirila_maiatza_ekaina_uztaila_abuztua_iraila_urria_azaroa_abendua'.split(\n '_'\n ),\n monthsShort:\n 'urt._ots._mar._api._mai._eka._uzt._abu._ira._urr._aza._abe.'.split(\n '_'\n ),\n monthsParseExact: true,\n weekdays:\n 'igandea_astelehena_asteartea_asteazkena_osteguna_ostirala_larunbata'.split(\n '_'\n ),\n weekdaysShort: 'ig._al._ar._az._og._ol._lr.'.split('_'),\n weekdaysMin: 'ig_al_ar_az_og_ol_lr'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'YYYY-MM-DD',\n LL: 'YYYY[ko] MMMM[ren] D[a]',\n LLL: 'YYYY[ko] MMMM[ren] D[a] HH:mm',\n LLLL: 'dddd, YYYY[ko] MMMM[ren] D[a] HH:mm',\n l: 'YYYY-M-D',\n ll: 'YYYY[ko] MMM D[a]',\n lll: 'YYYY[ko] MMM D[a] HH:mm',\n llll: 'ddd, YYYY[ko] MMM D[a] HH:mm',\n },\n calendar: {\n sameDay: '[gaur] LT[etan]',\n nextDay: '[bihar] LT[etan]',\n nextWeek: 'dddd LT[etan]',\n lastDay: '[atzo] LT[etan]',\n lastWeek: '[aurreko] dddd LT[etan]',\n sameElse: 'L',\n },\n relativeTime: {\n future: '%s barru',\n past: 'duela %s',\n s: 'segundo batzuk',\n ss: '%d segundo',\n m: 'minutu bat',\n mm: '%d minutu',\n h: 'ordu bat',\n hh: '%d ordu',\n d: 'egun bat',\n dd: '%d egun',\n M: 'hilabete bat',\n MM: '%d hilabete',\n y: 'urte bat',\n yy: '%d urte',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 7, // The week that contains Jan 7th is the first week of the year.\n },\n });\n\n //! moment.js locale configuration\n\n var symbolMap$7 = {\n 1: '۱',\n 2: '۲',\n 3: '۳',\n 4: '۴',\n 5: '۵',\n 6: '۶',\n 7: '۷',\n 8: '۸',\n 9: '۹',\n 0: '۰',\n },\n numberMap$6 = {\n '۱': '1',\n '۲': '2',\n '۳': '3',\n '۴': '4',\n '۵': '5',\n '۶': '6',\n '۷': '7',\n '۸': '8',\n '۹': '9',\n '۰': '0',\n };\n\n moment.defineLocale('fa', {\n months: 'ژانویه_فوریه_مارس_آوریل_مه_ژوئن_ژوئیه_اوت_سپتامبر_اکتبر_نوامبر_دسامبر'.split(\n '_'\n ),\n monthsShort:\n 'ژانویه_فوریه_مارس_آوریل_مه_ژوئن_ژوئیه_اوت_سپتامبر_اکتبر_نوامبر_دسامبر'.split(\n '_'\n ),\n weekdays:\n 'یک\\u200cشنبه_دوشنبه_سه\\u200cشنبه_چهارشنبه_پنج\\u200cشنبه_جمعه_شنبه'.split(\n '_'\n ),\n weekdaysShort:\n 'یک\\u200cشنبه_دوشنبه_سه\\u200cشنبه_چهارشنبه_پنج\\u200cشنبه_جمعه_شنبه'.split(\n '_'\n ),\n weekdaysMin: 'ی_د_س_چ_پ_ج_ش'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd, D MMMM YYYY HH:mm',\n },\n meridiemParse: /قبل از ظهر|بعد از ظهر/,\n isPM: function (input) {\n return /بعد از ظهر/.test(input);\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 12) {\n return 'قبل از ظهر';\n } else {\n return 'بعد از ظهر';\n }\n },\n calendar: {\n sameDay: '[امروز ساعت] LT',\n nextDay: '[فردا ساعت] LT',\n nextWeek: 'dddd [ساعت] LT',\n lastDay: '[دیروز ساعت] LT',\n lastWeek: 'dddd [پیش] [ساعت] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'در %s',\n past: '%s پیش',\n s: 'چند ثانیه',\n ss: '%d ثانیه',\n m: 'یک دقیقه',\n mm: '%d دقیقه',\n h: 'یک ساعت',\n hh: '%d ساعت',\n d: 'یک روز',\n dd: '%d روز',\n M: 'یک ماه',\n MM: '%d ماه',\n y: 'یک سال',\n yy: '%d سال',\n },\n preparse: function (string) {\n return string\n .replace(/[۰-۹]/g, function (match) {\n return numberMap$6[match];\n })\n .replace(/،/g, ',');\n },\n postformat: function (string) {\n return string\n .replace(/\\d/g, function (match) {\n return symbolMap$7[match];\n })\n .replace(/,/g, '،');\n },\n dayOfMonthOrdinalParse: /\\d{1,2}م/,\n ordinal: '%dم',\n week: {\n dow: 6, // Saturday is the first day of the week.\n doy: 12, // The week that contains Jan 12th is the first week of the year.\n },\n });\n\n //! moment.js locale configuration\n\n var numbersPast =\n 'nolla yksi kaksi kolme neljä viisi kuusi seitsemän kahdeksan yhdeksän'.split(\n ' '\n ),\n numbersFuture = [\n 'nolla',\n 'yhden',\n 'kahden',\n 'kolmen',\n 'neljän',\n 'viiden',\n 'kuuden',\n numbersPast[7],\n numbersPast[8],\n numbersPast[9],\n ];\n function translate$2(number, withoutSuffix, key, isFuture) {\n var result = '';\n switch (key) {\n case 's':\n return isFuture ? 'muutaman sekunnin' : 'muutama sekunti';\n case 'ss':\n result = isFuture ? 'sekunnin' : 'sekuntia';\n break;\n case 'm':\n return isFuture ? 'minuutin' : 'minuutti';\n case 'mm':\n result = isFuture ? 'minuutin' : 'minuuttia';\n break;\n case 'h':\n return isFuture ? 'tunnin' : 'tunti';\n case 'hh':\n result = isFuture ? 'tunnin' : 'tuntia';\n break;\n case 'd':\n return isFuture ? 'päivän' : 'päivä';\n case 'dd':\n result = isFuture ? 'päivän' : 'päivää';\n break;\n case 'M':\n return isFuture ? 'kuukauden' : 'kuukausi';\n case 'MM':\n result = isFuture ? 'kuukauden' : 'kuukautta';\n break;\n case 'y':\n return isFuture ? 'vuoden' : 'vuosi';\n case 'yy':\n result = isFuture ? 'vuoden' : 'vuotta';\n break;\n }\n result = verbalNumber(number, isFuture) + ' ' + result;\n return result;\n }\n function verbalNumber(number, isFuture) {\n return number < 10\n ? isFuture\n ? numbersFuture[number]\n : numbersPast[number]\n : number;\n }\n\n moment.defineLocale('fi', {\n months: 'tammikuu_helmikuu_maaliskuu_huhtikuu_toukokuu_kesäkuu_heinäkuu_elokuu_syyskuu_lokakuu_marraskuu_joulukuu'.split(\n '_'\n ),\n monthsShort:\n 'tammi_helmi_maalis_huhti_touko_kesä_heinä_elo_syys_loka_marras_joulu'.split(\n '_'\n ),\n weekdays:\n 'sunnuntai_maanantai_tiistai_keskiviikko_torstai_perjantai_lauantai'.split(\n '_'\n ),\n weekdaysShort: 'su_ma_ti_ke_to_pe_la'.split('_'),\n weekdaysMin: 'su_ma_ti_ke_to_pe_la'.split('_'),\n longDateFormat: {\n LT: 'HH.mm',\n LTS: 'HH.mm.ss',\n L: 'DD.MM.YYYY',\n LL: 'Do MMMM[ta] YYYY',\n LLL: 'Do MMMM[ta] YYYY, [klo] HH.mm',\n LLLL: 'dddd, Do MMMM[ta] YYYY, [klo] HH.mm',\n l: 'D.M.YYYY',\n ll: 'Do MMM YYYY',\n lll: 'Do MMM YYYY, [klo] HH.mm',\n llll: 'ddd, Do MMM YYYY, [klo] HH.mm',\n },\n calendar: {\n sameDay: '[tänään] [klo] LT',\n nextDay: '[huomenna] [klo] LT',\n nextWeek: 'dddd [klo] LT',\n lastDay: '[eilen] [klo] LT',\n lastWeek: '[viime] dddd[na] [klo] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: '%s päästä',\n past: '%s sitten',\n s: translate$2,\n ss: translate$2,\n m: translate$2,\n mm: translate$2,\n h: translate$2,\n hh: translate$2,\n d: translate$2,\n dd: translate$2,\n M: translate$2,\n MM: translate$2,\n y: translate$2,\n yy: translate$2,\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n //! moment.js locale configuration\n\n moment.defineLocale('fil', {\n months: 'Enero_Pebrero_Marso_Abril_Mayo_Hunyo_Hulyo_Agosto_Setyembre_Oktubre_Nobyembre_Disyembre'.split(\n '_'\n ),\n monthsShort: 'Ene_Peb_Mar_Abr_May_Hun_Hul_Ago_Set_Okt_Nob_Dis'.split('_'),\n weekdays: 'Linggo_Lunes_Martes_Miyerkules_Huwebes_Biyernes_Sabado'.split(\n '_'\n ),\n weekdaysShort: 'Lin_Lun_Mar_Miy_Huw_Biy_Sab'.split('_'),\n weekdaysMin: 'Li_Lu_Ma_Mi_Hu_Bi_Sab'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'MM/D/YYYY',\n LL: 'MMMM D, YYYY',\n LLL: 'MMMM D, YYYY HH:mm',\n LLLL: 'dddd, MMMM DD, YYYY HH:mm',\n },\n calendar: {\n sameDay: 'LT [ngayong araw]',\n nextDay: '[Bukas ng] LT',\n nextWeek: 'LT [sa susunod na] dddd',\n lastDay: 'LT [kahapon]',\n lastWeek: 'LT [noong nakaraang] dddd',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'sa loob ng %s',\n past: '%s ang nakalipas',\n s: 'ilang segundo',\n ss: '%d segundo',\n m: 'isang minuto',\n mm: '%d minuto',\n h: 'isang oras',\n hh: '%d oras',\n d: 'isang araw',\n dd: '%d araw',\n M: 'isang buwan',\n MM: '%d buwan',\n y: 'isang taon',\n yy: '%d taon',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}/,\n ordinal: function (number) {\n return number;\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n //! moment.js locale configuration\n\n moment.defineLocale('fo', {\n months: 'januar_februar_mars_apríl_mai_juni_juli_august_september_oktober_november_desember'.split(\n '_'\n ),\n monthsShort: 'jan_feb_mar_apr_mai_jun_jul_aug_sep_okt_nov_des'.split('_'),\n weekdays:\n 'sunnudagur_mánadagur_týsdagur_mikudagur_hósdagur_fríggjadagur_leygardagur'.split(\n '_'\n ),\n weekdaysShort: 'sun_mán_týs_mik_hós_frí_ley'.split('_'),\n weekdaysMin: 'su_má_tý_mi_hó_fr_le'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd D. MMMM, YYYY HH:mm',\n },\n calendar: {\n sameDay: '[Í dag kl.] LT',\n nextDay: '[Í morgin kl.] LT',\n nextWeek: 'dddd [kl.] LT',\n lastDay: '[Í gjár kl.] LT',\n lastWeek: '[síðstu] dddd [kl] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'um %s',\n past: '%s síðani',\n s: 'fá sekund',\n ss: '%d sekundir',\n m: 'ein minuttur',\n mm: '%d minuttir',\n h: 'ein tími',\n hh: '%d tímar',\n d: 'ein dagur',\n dd: '%d dagar',\n M: 'ein mánaður',\n MM: '%d mánaðir',\n y: 'eitt ár',\n yy: '%d ár',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n //! moment.js locale configuration\n\n moment.defineLocale('fr-ca', {\n months: 'janvier_février_mars_avril_mai_juin_juillet_août_septembre_octobre_novembre_décembre'.split(\n '_'\n ),\n monthsShort:\n 'janv._févr._mars_avr._mai_juin_juil._août_sept._oct._nov._déc.'.split(\n '_'\n ),\n monthsParseExact: true,\n weekdays: 'dimanche_lundi_mardi_mercredi_jeudi_vendredi_samedi'.split('_'),\n weekdaysShort: 'dim._lun._mar._mer._jeu._ven._sam.'.split('_'),\n weekdaysMin: 'di_lu_ma_me_je_ve_sa'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'YYYY-MM-DD',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd D MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[Aujourd’hui à] LT',\n nextDay: '[Demain à] LT',\n nextWeek: 'dddd [à] LT',\n lastDay: '[Hier à] LT',\n lastWeek: 'dddd [dernier à] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'dans %s',\n past: 'il y a %s',\n s: 'quelques secondes',\n ss: '%d secondes',\n m: 'une minute',\n mm: '%d minutes',\n h: 'une heure',\n hh: '%d heures',\n d: 'un jour',\n dd: '%d jours',\n M: 'un mois',\n MM: '%d mois',\n y: 'un an',\n yy: '%d ans',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(er|e)/,\n ordinal: function (number, period) {\n switch (period) {\n // Words with masculine grammatical gender: mois, trimestre, jour\n default:\n case 'M':\n case 'Q':\n case 'D':\n case 'DDD':\n case 'd':\n return number + (number === 1 ? 'er' : 'e');\n\n // Words with feminine grammatical gender: semaine\n case 'w':\n case 'W':\n return number + (number === 1 ? 're' : 'e');\n }\n },\n });\n\n //! moment.js locale configuration\n\n moment.defineLocale('fr-ch', {\n months: 'janvier_février_mars_avril_mai_juin_juillet_août_septembre_octobre_novembre_décembre'.split(\n '_'\n ),\n monthsShort:\n 'janv._févr._mars_avr._mai_juin_juil._août_sept._oct._nov._déc.'.split(\n '_'\n ),\n monthsParseExact: true,\n weekdays: 'dimanche_lundi_mardi_mercredi_jeudi_vendredi_samedi'.split('_'),\n weekdaysShort: 'dim._lun._mar._mer._jeu._ven._sam.'.split('_'),\n weekdaysMin: 'di_lu_ma_me_je_ve_sa'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd D MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[Aujourd’hui à] LT',\n nextDay: '[Demain à] LT',\n nextWeek: 'dddd [à] LT',\n lastDay: '[Hier à] LT',\n lastWeek: 'dddd [dernier à] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'dans %s',\n past: 'il y a %s',\n s: 'quelques secondes',\n ss: '%d secondes',\n m: 'une minute',\n mm: '%d minutes',\n h: 'une heure',\n hh: '%d heures',\n d: 'un jour',\n dd: '%d jours',\n M: 'un mois',\n MM: '%d mois',\n y: 'un an',\n yy: '%d ans',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(er|e)/,\n ordinal: function (number, period) {\n switch (period) {\n // Words with masculine grammatical gender: mois, trimestre, jour\n default:\n case 'M':\n case 'Q':\n case 'D':\n case 'DDD':\n case 'd':\n return number + (number === 1 ? 'er' : 'e');\n\n // Words with feminine grammatical gender: semaine\n case 'w':\n case 'W':\n return number + (number === 1 ? 're' : 'e');\n }\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n //! moment.js locale configuration\n\n var monthsStrictRegex$1 =\n /^(janvier|février|mars|avril|mai|juin|juillet|août|septembre|octobre|novembre|décembre)/i,\n monthsShortStrictRegex$1 =\n /(janv\\.?|févr\\.?|mars|avr\\.?|mai|juin|juil\\.?|août|sept\\.?|oct\\.?|nov\\.?|déc\\.?)/i,\n monthsRegex$6 =\n /(janv\\.?|févr\\.?|mars|avr\\.?|mai|juin|juil\\.?|août|sept\\.?|oct\\.?|nov\\.?|déc\\.?|janvier|février|mars|avril|mai|juin|juillet|août|septembre|octobre|novembre|décembre)/i,\n monthsParse$6 = [\n /^janv/i,\n /^févr/i,\n /^mars/i,\n /^avr/i,\n /^mai/i,\n /^juin/i,\n /^juil/i,\n /^août/i,\n /^sept/i,\n /^oct/i,\n /^nov/i,\n /^déc/i,\n ];\n\n moment.defineLocale('fr', {\n months: 'janvier_février_mars_avril_mai_juin_juillet_août_septembre_octobre_novembre_décembre'.split(\n '_'\n ),\n monthsShort:\n 'janv._févr._mars_avr._mai_juin_juil._août_sept._oct._nov._déc.'.split(\n '_'\n ),\n monthsRegex: monthsRegex$6,\n monthsShortRegex: monthsRegex$6,\n monthsStrictRegex: monthsStrictRegex$1,\n monthsShortStrictRegex: monthsShortStrictRegex$1,\n monthsParse: monthsParse$6,\n longMonthsParse: monthsParse$6,\n shortMonthsParse: monthsParse$6,\n weekdays: 'dimanche_lundi_mardi_mercredi_jeudi_vendredi_samedi'.split('_'),\n weekdaysShort: 'dim._lun._mar._mer._jeu._ven._sam.'.split('_'),\n weekdaysMin: 'di_lu_ma_me_je_ve_sa'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd D MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[Aujourd’hui à] LT',\n nextDay: '[Demain à] LT',\n nextWeek: 'dddd [à] LT',\n lastDay: '[Hier à] LT',\n lastWeek: 'dddd [dernier à] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'dans %s',\n past: 'il y a %s',\n s: 'quelques secondes',\n ss: '%d secondes',\n m: 'une minute',\n mm: '%d minutes',\n h: 'une heure',\n hh: '%d heures',\n d: 'un jour',\n dd: '%d jours',\n w: 'une semaine',\n ww: '%d semaines',\n M: 'un mois',\n MM: '%d mois',\n y: 'un an',\n yy: '%d ans',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(er|)/,\n ordinal: function (number, period) {\n switch (period) {\n // TODO: Return 'e' when day of month > 1. Move this case inside\n // block for masculine words below.\n // See https://github.com/moment/moment/issues/3375\n case 'D':\n return number + (number === 1 ? 'er' : '');\n\n // Words with masculine grammatical gender: mois, trimestre, jour\n default:\n case 'M':\n case 'Q':\n case 'DDD':\n case 'd':\n return number + (number === 1 ? 'er' : 'e');\n\n // Words with feminine grammatical gender: semaine\n case 'w':\n case 'W':\n return number + (number === 1 ? 're' : 'e');\n }\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n //! moment.js locale configuration\n\n var monthsShortWithDots =\n 'jan._feb._mrt._apr._mai_jun._jul._aug._sep._okt._nov._des.'.split('_'),\n monthsShortWithoutDots =\n 'jan_feb_mrt_apr_mai_jun_jul_aug_sep_okt_nov_des'.split('_');\n\n moment.defineLocale('fy', {\n months: 'jannewaris_febrewaris_maart_april_maaie_juny_july_augustus_septimber_oktober_novimber_desimber'.split(\n '_'\n ),\n monthsShort: function (m, format) {\n if (!m) {\n return monthsShortWithDots;\n } else if (/-MMM-/.test(format)) {\n return monthsShortWithoutDots[m.month()];\n } else {\n return monthsShortWithDots[m.month()];\n }\n },\n monthsParseExact: true,\n weekdays: 'snein_moandei_tiisdei_woansdei_tongersdei_freed_sneon'.split(\n '_'\n ),\n weekdaysShort: 'si._mo._ti._wo._to._fr._so.'.split('_'),\n weekdaysMin: 'Si_Mo_Ti_Wo_To_Fr_So'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD-MM-YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd D MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[hjoed om] LT',\n nextDay: '[moarn om] LT',\n nextWeek: 'dddd [om] LT',\n lastDay: '[juster om] LT',\n lastWeek: '[ôfrûne] dddd [om] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'oer %s',\n past: '%s lyn',\n s: 'in pear sekonden',\n ss: '%d sekonden',\n m: 'ien minút',\n mm: '%d minuten',\n h: 'ien oere',\n hh: '%d oeren',\n d: 'ien dei',\n dd: '%d dagen',\n M: 'ien moanne',\n MM: '%d moannen',\n y: 'ien jier',\n yy: '%d jierren',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(ste|de)/,\n ordinal: function (number) {\n return (\n number +\n (number === 1 || number === 8 || number >= 20 ? 'ste' : 'de')\n );\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n //! moment.js locale configuration\n\n var months$5 = [\n 'Eanáir',\n 'Feabhra',\n 'Márta',\n 'Aibreán',\n 'Bealtaine',\n 'Meitheamh',\n 'Iúil',\n 'Lúnasa',\n 'Meán Fómhair',\n 'Deireadh Fómhair',\n 'Samhain',\n 'Nollaig',\n ],\n monthsShort$5 = [\n 'Ean',\n 'Feabh',\n 'Márt',\n 'Aib',\n 'Beal',\n 'Meith',\n 'Iúil',\n 'Lún',\n 'M.F.',\n 'D.F.',\n 'Samh',\n 'Noll',\n ],\n weekdays$1 = [\n 'Dé Domhnaigh',\n 'Dé Luain',\n 'Dé Máirt',\n 'Dé Céadaoin',\n 'Déardaoin',\n 'Dé hAoine',\n 'Dé Sathairn',\n ],\n weekdaysShort = ['Domh', 'Luan', 'Máirt', 'Céad', 'Déar', 'Aoine', 'Sath'],\n weekdaysMin = ['Do', 'Lu', 'Má', 'Cé', 'Dé', 'A', 'Sa'];\n\n moment.defineLocale('ga', {\n months: months$5,\n monthsShort: monthsShort$5,\n monthsParseExact: true,\n weekdays: weekdays$1,\n weekdaysShort: weekdaysShort,\n weekdaysMin: weekdaysMin,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd, D MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[Inniu ag] LT',\n nextDay: '[Amárach ag] LT',\n nextWeek: 'dddd [ag] LT',\n lastDay: '[Inné ag] LT',\n lastWeek: 'dddd [seo caite] [ag] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'i %s',\n past: '%s ó shin',\n s: 'cúpla soicind',\n ss: '%d soicind',\n m: 'nóiméad',\n mm: '%d nóiméad',\n h: 'uair an chloig',\n hh: '%d uair an chloig',\n d: 'lá',\n dd: '%d lá',\n M: 'mí',\n MM: '%d míonna',\n y: 'bliain',\n yy: '%d bliain',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(d|na|mh)/,\n ordinal: function (number) {\n var output = number === 1 ? 'd' : number % 10 === 2 ? 'na' : 'mh';\n return number + output;\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n //! moment.js locale configuration\n\n var months$6 = [\n 'Am Faoilleach',\n 'An Gearran',\n 'Am Màrt',\n 'An Giblean',\n 'An Cèitean',\n 'An t-Ògmhios',\n 'An t-Iuchar',\n 'An Lùnastal',\n 'An t-Sultain',\n 'An Dàmhair',\n 'An t-Samhain',\n 'An Dùbhlachd',\n ],\n monthsShort$6 = [\n 'Faoi',\n 'Gear',\n 'Màrt',\n 'Gibl',\n 'Cèit',\n 'Ògmh',\n 'Iuch',\n 'Lùn',\n 'Sult',\n 'Dàmh',\n 'Samh',\n 'Dùbh',\n ],\n weekdays$2 = [\n 'Didòmhnaich',\n 'Diluain',\n 'Dimàirt',\n 'Diciadain',\n 'Diardaoin',\n 'Dihaoine',\n 'Disathairne',\n ],\n weekdaysShort$1 = ['Did', 'Dil', 'Dim', 'Dic', 'Dia', 'Dih', 'Dis'],\n weekdaysMin$1 = ['Dò', 'Lu', 'Mà', 'Ci', 'Ar', 'Ha', 'Sa'];\n\n moment.defineLocale('gd', {\n months: months$6,\n monthsShort: monthsShort$6,\n monthsParseExact: true,\n weekdays: weekdays$2,\n weekdaysShort: weekdaysShort$1,\n weekdaysMin: weekdaysMin$1,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd, D MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[An-diugh aig] LT',\n nextDay: '[A-màireach aig] LT',\n nextWeek: 'dddd [aig] LT',\n lastDay: '[An-dè aig] LT',\n lastWeek: 'dddd [seo chaidh] [aig] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'ann an %s',\n past: 'bho chionn %s',\n s: 'beagan diogan',\n ss: '%d diogan',\n m: 'mionaid',\n mm: '%d mionaidean',\n h: 'uair',\n hh: '%d uairean',\n d: 'latha',\n dd: '%d latha',\n M: 'mìos',\n MM: '%d mìosan',\n y: 'bliadhna',\n yy: '%d bliadhna',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(d|na|mh)/,\n ordinal: function (number) {\n var output = number === 1 ? 'd' : number % 10 === 2 ? 'na' : 'mh';\n return number + output;\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n //! moment.js locale configuration\n\n moment.defineLocale('gl', {\n months: 'xaneiro_febreiro_marzo_abril_maio_xuño_xullo_agosto_setembro_outubro_novembro_decembro'.split(\n '_'\n ),\n monthsShort:\n 'xan._feb._mar._abr._mai._xuñ._xul._ago._set._out._nov._dec.'.split(\n '_'\n ),\n monthsParseExact: true,\n weekdays: 'domingo_luns_martes_mércores_xoves_venres_sábado'.split('_'),\n weekdaysShort: 'dom._lun._mar._mér._xov._ven._sáb.'.split('_'),\n weekdaysMin: 'do_lu_ma_mé_xo_ve_sá'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'H:mm',\n LTS: 'H:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D [de] MMMM [de] YYYY',\n LLL: 'D [de] MMMM [de] YYYY H:mm',\n LLLL: 'dddd, D [de] MMMM [de] YYYY H:mm',\n },\n calendar: {\n sameDay: function () {\n return '[hoxe ' + (this.hours() !== 1 ? 'ás' : 'á') + '] LT';\n },\n nextDay: function () {\n return '[mañá ' + (this.hours() !== 1 ? 'ás' : 'á') + '] LT';\n },\n nextWeek: function () {\n return 'dddd [' + (this.hours() !== 1 ? 'ás' : 'a') + '] LT';\n },\n lastDay: function () {\n return '[onte ' + (this.hours() !== 1 ? 'á' : 'a') + '] LT';\n },\n lastWeek: function () {\n return (\n '[o] dddd [pasado ' + (this.hours() !== 1 ? 'ás' : 'a') + '] LT'\n );\n },\n sameElse: 'L',\n },\n relativeTime: {\n future: function (str) {\n if (str.indexOf('un') === 0) {\n return 'n' + str;\n }\n return 'en ' + str;\n },\n past: 'hai %s',\n s: 'uns segundos',\n ss: '%d segundos',\n m: 'un minuto',\n mm: '%d minutos',\n h: 'unha hora',\n hh: '%d horas',\n d: 'un día',\n dd: '%d días',\n M: 'un mes',\n MM: '%d meses',\n y: 'un ano',\n yy: '%d anos',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}º/,\n ordinal: '%dº',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n //! moment.js locale configuration\n\n function processRelativeTime$5(number, withoutSuffix, key, isFuture) {\n var format = {\n s: ['थोडया सॅकंडांनी', 'थोडे सॅकंड'],\n ss: [number + ' सॅकंडांनी', number + ' सॅकंड'],\n m: ['एका मिणटान', 'एक मिनूट'],\n mm: [number + ' मिणटांनी', number + ' मिणटां'],\n h: ['एका वरान', 'एक वर'],\n hh: [number + ' वरांनी', number + ' वरां'],\n d: ['एका दिसान', 'एक दीस'],\n dd: [number + ' दिसांनी', number + ' दीस'],\n M: ['एका म्हयन्यान', 'एक म्हयनो'],\n MM: [number + ' म्हयन्यानी', number + ' म्हयने'],\n y: ['एका वर्सान', 'एक वर्स'],\n yy: [number + ' वर्सांनी', number + ' वर्सां'],\n };\n return isFuture ? format[key][0] : format[key][1];\n }\n\n moment.defineLocale('gom-deva', {\n months: {\n standalone:\n 'जानेवारी_फेब्रुवारी_मार्च_एप्रील_मे_जून_जुलय_ऑगस्ट_सप्टेंबर_ऑक्टोबर_नोव्हेंबर_डिसेंबर'.split(\n '_'\n ),\n format: 'जानेवारीच्या_फेब्रुवारीच्या_मार्चाच्या_एप्रीलाच्या_मेयाच्या_जूनाच्या_जुलयाच्या_ऑगस्टाच्या_सप्टेंबराच्या_ऑक्टोबराच्या_नोव्हेंबराच्या_डिसेंबराच्या'.split(\n '_'\n ),\n isFormat: /MMMM(\\s)+D[oD]?/,\n },\n monthsShort:\n 'जाने._फेब्रु._मार्च_एप्री._मे_जून_जुल._ऑग._सप्टें._ऑक्टो._नोव्हें._डिसें.'.split(\n '_'\n ),\n monthsParseExact: true,\n weekdays: 'आयतार_सोमार_मंगळार_बुधवार_बिरेस्तार_सुक्रार_शेनवार'.split('_'),\n weekdaysShort: 'आयत._सोम._मंगळ._बुध._ब्रेस्त._सुक्र._शेन.'.split('_'),\n weekdaysMin: 'आ_सो_मं_बु_ब्रे_सु_शे'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'A h:mm [वाजतां]',\n LTS: 'A h:mm:ss [वाजतां]',\n L: 'DD-MM-YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY A h:mm [वाजतां]',\n LLLL: 'dddd, MMMM Do, YYYY, A h:mm [वाजतां]',\n llll: 'ddd, D MMM YYYY, A h:mm [वाजतां]',\n },\n calendar: {\n sameDay: '[आयज] LT',\n nextDay: '[फाल्यां] LT',\n nextWeek: '[फुडलो] dddd[,] LT',\n lastDay: '[काल] LT',\n lastWeek: '[फाटलो] dddd[,] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: '%s',\n past: '%s आदीं',\n s: processRelativeTime$5,\n ss: processRelativeTime$5,\n m: processRelativeTime$5,\n mm: processRelativeTime$5,\n h: processRelativeTime$5,\n hh: processRelativeTime$5,\n d: processRelativeTime$5,\n dd: processRelativeTime$5,\n M: processRelativeTime$5,\n MM: processRelativeTime$5,\n y: processRelativeTime$5,\n yy: processRelativeTime$5,\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(वेर)/,\n ordinal: function (number, period) {\n switch (period) {\n // the ordinal 'वेर' only applies to day of the month\n case 'D':\n return number + 'वेर';\n default:\n case 'M':\n case 'Q':\n case 'DDD':\n case 'd':\n case 'w':\n case 'W':\n return number;\n }\n },\n week: {\n dow: 0, // Sunday is the first day of the week\n doy: 3, // The week that contains Jan 4th is the first week of the year (7 + 0 - 4)\n },\n meridiemParse: /राती|सकाळीं|दनपारां|सांजे/,\n meridiemHour: function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === 'राती') {\n return hour < 4 ? hour : hour + 12;\n } else if (meridiem === 'सकाळीं') {\n return hour;\n } else if (meridiem === 'दनपारां') {\n return hour > 12 ? hour : hour + 12;\n } else if (meridiem === 'सांजे') {\n return hour + 12;\n }\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 4) {\n return 'राती';\n } else if (hour < 12) {\n return 'सकाळीं';\n } else if (hour < 16) {\n return 'दनपारां';\n } else if (hour < 20) {\n return 'सांजे';\n } else {\n return 'राती';\n }\n },\n });\n\n //! moment.js locale configuration\n\n function processRelativeTime$6(number, withoutSuffix, key, isFuture) {\n var format = {\n s: ['thoddea sekondamni', 'thodde sekond'],\n ss: [number + ' sekondamni', number + ' sekond'],\n m: ['eka mintan', 'ek minut'],\n mm: [number + ' mintamni', number + ' mintam'],\n h: ['eka voran', 'ek vor'],\n hh: [number + ' voramni', number + ' voram'],\n d: ['eka disan', 'ek dis'],\n dd: [number + ' disamni', number + ' dis'],\n M: ['eka mhoinean', 'ek mhoino'],\n MM: [number + ' mhoineamni', number + ' mhoine'],\n y: ['eka vorsan', 'ek voros'],\n yy: [number + ' vorsamni', number + ' vorsam'],\n };\n return isFuture ? format[key][0] : format[key][1];\n }\n\n moment.defineLocale('gom-latn', {\n months: {\n standalone:\n 'Janer_Febrer_Mars_Abril_Mai_Jun_Julai_Agost_Setembr_Otubr_Novembr_Dezembr'.split(\n '_'\n ),\n format: 'Janerachea_Febrerachea_Marsachea_Abrilachea_Maiachea_Junachea_Julaiachea_Agostachea_Setembrachea_Otubrachea_Novembrachea_Dezembrachea'.split(\n '_'\n ),\n isFormat: /MMMM(\\s)+D[oD]?/,\n },\n monthsShort:\n 'Jan._Feb._Mars_Abr._Mai_Jun_Jul._Ago._Set._Otu._Nov._Dez.'.split('_'),\n monthsParseExact: true,\n weekdays: \"Aitar_Somar_Mongllar_Budhvar_Birestar_Sukrar_Son'var\".split('_'),\n weekdaysShort: 'Ait._Som._Mon._Bud._Bre._Suk._Son.'.split('_'),\n weekdaysMin: 'Ai_Sm_Mo_Bu_Br_Su_Sn'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'A h:mm [vazta]',\n LTS: 'A h:mm:ss [vazta]',\n L: 'DD-MM-YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY A h:mm [vazta]',\n LLLL: 'dddd, MMMM Do, YYYY, A h:mm [vazta]',\n llll: 'ddd, D MMM YYYY, A h:mm [vazta]',\n },\n calendar: {\n sameDay: '[Aiz] LT',\n nextDay: '[Faleam] LT',\n nextWeek: '[Fuddlo] dddd[,] LT',\n lastDay: '[Kal] LT',\n lastWeek: '[Fattlo] dddd[,] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: '%s',\n past: '%s adim',\n s: processRelativeTime$6,\n ss: processRelativeTime$6,\n m: processRelativeTime$6,\n mm: processRelativeTime$6,\n h: processRelativeTime$6,\n hh: processRelativeTime$6,\n d: processRelativeTime$6,\n dd: processRelativeTime$6,\n M: processRelativeTime$6,\n MM: processRelativeTime$6,\n y: processRelativeTime$6,\n yy: processRelativeTime$6,\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(er)/,\n ordinal: function (number, period) {\n switch (period) {\n // the ordinal 'er' only applies to day of the month\n case 'D':\n return number + 'er';\n default:\n case 'M':\n case 'Q':\n case 'DDD':\n case 'd':\n case 'w':\n case 'W':\n return number;\n }\n },\n week: {\n dow: 0, // Sunday is the first day of the week\n doy: 3, // The week that contains Jan 4th is the first week of the year (7 + 0 - 4)\n },\n meridiemParse: /rati|sokallim|donparam|sanje/,\n meridiemHour: function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === 'rati') {\n return hour < 4 ? hour : hour + 12;\n } else if (meridiem === 'sokallim') {\n return hour;\n } else if (meridiem === 'donparam') {\n return hour > 12 ? hour : hour + 12;\n } else if (meridiem === 'sanje') {\n return hour + 12;\n }\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 4) {\n return 'rati';\n } else if (hour < 12) {\n return 'sokallim';\n } else if (hour < 16) {\n return 'donparam';\n } else if (hour < 20) {\n return 'sanje';\n } else {\n return 'rati';\n }\n },\n });\n\n //! moment.js locale configuration\n\n var symbolMap$8 = {\n 1: '૧',\n 2: '૨',\n 3: '૩',\n 4: '૪',\n 5: '૫',\n 6: '૬',\n 7: '૭',\n 8: '૮',\n 9: '૯',\n 0: '૦',\n },\n numberMap$7 = {\n '૧': '1',\n '૨': '2',\n '૩': '3',\n '૪': '4',\n '૫': '5',\n '૬': '6',\n '૭': '7',\n '૮': '8',\n '૯': '9',\n '૦': '0',\n };\n\n moment.defineLocale('gu', {\n months: 'જાન્યુઆરી_ફેબ્રુઆરી_માર્ચ_એપ્રિલ_મે_જૂન_જુલાઈ_ઑગસ્ટ_સપ્ટેમ્બર_ઑક્ટ્બર_નવેમ્બર_ડિસેમ્બર'.split(\n '_'\n ),\n monthsShort:\n 'જાન્યુ._ફેબ્રુ._માર્ચ_એપ્રિ._મે_જૂન_જુલા._ઑગ._સપ્ટે._ઑક્ટ્._નવે._ડિસે.'.split(\n '_'\n ),\n monthsParseExact: true,\n weekdays: 'રવિવાર_સોમવાર_મંગળવાર_બુધ્વાર_ગુરુવાર_શુક્રવાર_શનિવાર'.split(\n '_'\n ),\n weekdaysShort: 'રવિ_સોમ_મંગળ_બુધ્_ગુરુ_શુક્ર_શનિ'.split('_'),\n weekdaysMin: 'ર_સો_મં_બુ_ગુ_શુ_શ'.split('_'),\n longDateFormat: {\n LT: 'A h:mm વાગ્યે',\n LTS: 'A h:mm:ss વાગ્યે',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY, A h:mm વાગ્યે',\n LLLL: 'dddd, D MMMM YYYY, A h:mm વાગ્યે',\n },\n calendar: {\n sameDay: '[આજ] LT',\n nextDay: '[કાલે] LT',\n nextWeek: 'dddd, LT',\n lastDay: '[ગઇકાલે] LT',\n lastWeek: '[પાછલા] dddd, LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: '%s મા',\n past: '%s પહેલા',\n s: 'અમુક પળો',\n ss: '%d સેકંડ',\n m: 'એક મિનિટ',\n mm: '%d મિનિટ',\n h: 'એક કલાક',\n hh: '%d કલાક',\n d: 'એક દિવસ',\n dd: '%d દિવસ',\n M: 'એક મહિનો',\n MM: '%d મહિનો',\n y: 'એક વર્ષ',\n yy: '%d વર્ષ',\n },\n preparse: function (string) {\n return string.replace(/[૧૨૩૪૫૬૭૮૯૦]/g, function (match) {\n return numberMap$7[match];\n });\n },\n postformat: function (string) {\n return string.replace(/\\d/g, function (match) {\n return symbolMap$8[match];\n });\n },\n // Gujarati notation for meridiems are quite fuzzy in practice. While there exists\n // a rigid notion of a 'Pahar' it is not used as rigidly in modern Gujarati.\n meridiemParse: /રાત|બપોર|સવાર|સાંજ/,\n meridiemHour: function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === 'રાત') {\n return hour < 4 ? hour : hour + 12;\n } else if (meridiem === 'સવાર') {\n return hour;\n } else if (meridiem === 'બપોર') {\n return hour >= 10 ? hour : hour + 12;\n } else if (meridiem === 'સાંજ') {\n return hour + 12;\n }\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 4) {\n return 'રાત';\n } else if (hour < 10) {\n return 'સવાર';\n } else if (hour < 17) {\n return 'બપોર';\n } else if (hour < 20) {\n return 'સાંજ';\n } else {\n return 'રાત';\n }\n },\n week: {\n dow: 0, // Sunday is the first day of the week.\n doy: 6, // The week that contains Jan 6th is the first week of the year.\n },\n });\n\n //! moment.js locale configuration\n\n moment.defineLocale('he', {\n months: 'ינואר_פברואר_מרץ_אפריל_מאי_יוני_יולי_אוגוסט_ספטמבר_אוקטובר_נובמבר_דצמבר'.split(\n '_'\n ),\n monthsShort:\n 'ינו׳_פבר׳_מרץ_אפר׳_מאי_יוני_יולי_אוג׳_ספט׳_אוק׳_נוב׳_דצמ׳'.split('_'),\n weekdays: 'ראשון_שני_שלישי_רביעי_חמישי_שישי_שבת'.split('_'),\n weekdaysShort: 'א׳_ב׳_ג׳_ד׳_ה׳_ו׳_ש׳'.split('_'),\n weekdaysMin: 'א_ב_ג_ד_ה_ו_ש'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D [ב]MMMM YYYY',\n LLL: 'D [ב]MMMM YYYY HH:mm',\n LLLL: 'dddd, D [ב]MMMM YYYY HH:mm',\n l: 'D/M/YYYY',\n ll: 'D MMM YYYY',\n lll: 'D MMM YYYY HH:mm',\n llll: 'ddd, D MMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[היום ב־]LT',\n nextDay: '[מחר ב־]LT',\n nextWeek: 'dddd [בשעה] LT',\n lastDay: '[אתמול ב־]LT',\n lastWeek: '[ביום] dddd [האחרון בשעה] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'בעוד %s',\n past: 'לפני %s',\n s: 'מספר שניות',\n ss: '%d שניות',\n m: 'דקה',\n mm: '%d דקות',\n h: 'שעה',\n hh: function (number) {\n if (number === 2) {\n return 'שעתיים';\n }\n return number + ' שעות';\n },\n d: 'יום',\n dd: function (number) {\n if (number === 2) {\n return 'יומיים';\n }\n return number + ' ימים';\n },\n M: 'חודש',\n MM: function (number) {\n if (number === 2) {\n return 'חודשיים';\n }\n return number + ' חודשים';\n },\n y: 'שנה',\n yy: function (number) {\n if (number === 2) {\n return 'שנתיים';\n } else if (number % 10 === 0 && number !== 10) {\n return number + ' שנה';\n }\n return number + ' שנים';\n },\n },\n meridiemParse:\n /אחה\"צ|לפנה\"צ|אחרי הצהריים|לפני הצהריים|לפנות בוקר|בבוקר|בערב/i,\n isPM: function (input) {\n return /^(אחה\"צ|אחרי הצהריים|בערב)$/.test(input);\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 5) {\n return 'לפנות בוקר';\n } else if (hour < 10) {\n return 'בבוקר';\n } else if (hour < 12) {\n return isLower ? 'לפנה\"צ' : 'לפני הצהריים';\n } else if (hour < 18) {\n return isLower ? 'אחה\"צ' : 'אחרי הצהריים';\n } else {\n return 'בערב';\n }\n },\n });\n\n //! moment.js locale configuration\n\n var symbolMap$9 = {\n 1: '१',\n 2: '२',\n 3: '३',\n 4: '४',\n 5: '५',\n 6: '६',\n 7: '७',\n 8: '८',\n 9: '९',\n 0: '०',\n },\n numberMap$8 = {\n '१': '1',\n '२': '2',\n '३': '3',\n '४': '4',\n '५': '5',\n '६': '6',\n '७': '7',\n '८': '8',\n '९': '9',\n '०': '0',\n },\n monthsParse$7 = [\n /^जन/i,\n /^फ़र|फर/i,\n /^मार्च/i,\n /^अप्रै/i,\n /^मई/i,\n /^जून/i,\n /^जुल/i,\n /^अग/i,\n /^सितं|सित/i,\n /^अक्टू/i,\n /^नव|नवं/i,\n /^दिसं|दिस/i,\n ],\n shortMonthsParse = [\n /^जन/i,\n /^फ़र/i,\n /^मार्च/i,\n /^अप्रै/i,\n /^मई/i,\n /^जून/i,\n /^जुल/i,\n /^अग/i,\n /^सित/i,\n /^अक्टू/i,\n /^नव/i,\n /^दिस/i,\n ];\n\n moment.defineLocale('hi', {\n months: {\n format: 'जनवरी_फ़रवरी_मार्च_अप्रैल_मई_जून_जुलाई_अगस्त_सितम्बर_अक्टूबर_नवम्बर_दिसम्बर'.split(\n '_'\n ),\n standalone:\n 'जनवरी_फरवरी_मार्च_अप्रैल_मई_जून_जुलाई_अगस्त_सितंबर_अक्टूबर_नवंबर_दिसंबर'.split(\n '_'\n ),\n },\n monthsShort:\n 'जन._फ़र._मार्च_अप्रै._मई_जून_जुल._अग._सित._अक्टू._नव._दिस.'.split('_'),\n weekdays: 'रविवार_सोमवार_मंगलवार_बुधवार_गुरूवार_शुक्रवार_शनिवार'.split('_'),\n weekdaysShort: 'रवि_सोम_मंगल_बुध_गुरू_शुक्र_शनि'.split('_'),\n weekdaysMin: 'र_सो_मं_बु_गु_शु_श'.split('_'),\n longDateFormat: {\n LT: 'A h:mm बजे',\n LTS: 'A h:mm:ss बजे',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY, A h:mm बजे',\n LLLL: 'dddd, D MMMM YYYY, A h:mm बजे',\n },\n\n monthsParse: monthsParse$7,\n longMonthsParse: monthsParse$7,\n shortMonthsParse: shortMonthsParse,\n\n monthsRegex:\n /^(जनवरी|जन\\.?|फ़रवरी|फरवरी|फ़र\\.?|मार्च?|अप्रैल|अप्रै\\.?|मई?|जून?|जुलाई|जुल\\.?|अगस्त|अग\\.?|सितम्बर|सितंबर|सित\\.?|अक्टूबर|अक्टू\\.?|नवम्बर|नवंबर|नव\\.?|दिसम्बर|दिसंबर|दिस\\.?)/i,\n\n monthsShortRegex:\n /^(जनवरी|जन\\.?|फ़रवरी|फरवरी|फ़र\\.?|मार्च?|अप्रैल|अप्रै\\.?|मई?|जून?|जुलाई|जुल\\.?|अगस्त|अग\\.?|सितम्बर|सितंबर|सित\\.?|अक्टूबर|अक्टू\\.?|नवम्बर|नवंबर|नव\\.?|दिसम्बर|दिसंबर|दिस\\.?)/i,\n\n monthsStrictRegex:\n /^(जनवरी?|फ़रवरी|फरवरी?|मार्च?|अप्रैल?|मई?|जून?|जुलाई?|अगस्त?|सितम्बर|सितंबर|सित?\\.?|अक्टूबर|अक्टू\\.?|नवम्बर|नवंबर?|दिसम्बर|दिसंबर?)/i,\n\n monthsShortStrictRegex:\n /^(जन\\.?|फ़र\\.?|मार्च?|अप्रै\\.?|मई?|जून?|जुल\\.?|अग\\.?|सित\\.?|अक्टू\\.?|नव\\.?|दिस\\.?)/i,\n\n calendar: {\n sameDay: '[आज] LT',\n nextDay: '[कल] LT',\n nextWeek: 'dddd, LT',\n lastDay: '[कल] LT',\n lastWeek: '[पिछले] dddd, LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: '%s में',\n past: '%s पहले',\n s: 'कुछ ही क्षण',\n ss: '%d सेकंड',\n m: 'एक मिनट',\n mm: '%d मिनट',\n h: 'एक घंटा',\n hh: '%d घंटे',\n d: 'एक दिन',\n dd: '%d दिन',\n M: 'एक महीने',\n MM: '%d महीने',\n y: 'एक वर्ष',\n yy: '%d वर्ष',\n },\n preparse: function (string) {\n return string.replace(/[१२३४५६७८९०]/g, function (match) {\n return numberMap$8[match];\n });\n },\n postformat: function (string) {\n return string.replace(/\\d/g, function (match) {\n return symbolMap$9[match];\n });\n },\n // Hindi notation for meridiems are quite fuzzy in practice. While there exists\n // a rigid notion of a 'Pahar' it is not used as rigidly in modern Hindi.\n meridiemParse: /रात|सुबह|दोपहर|शाम/,\n meridiemHour: function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === 'रात') {\n return hour < 4 ? hour : hour + 12;\n } else if (meridiem === 'सुबह') {\n return hour;\n } else if (meridiem === 'दोपहर') {\n return hour >= 10 ? hour : hour + 12;\n } else if (meridiem === 'शाम') {\n return hour + 12;\n }\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 4) {\n return 'रात';\n } else if (hour < 10) {\n return 'सुबह';\n } else if (hour < 17) {\n return 'दोपहर';\n } else if (hour < 20) {\n return 'शाम';\n } else {\n return 'रात';\n }\n },\n week: {\n dow: 0, // Sunday is the first day of the week.\n doy: 6, // The week that contains Jan 6th is the first week of the year.\n },\n });\n\n //! moment.js locale configuration\n\n function translate$3(number, withoutSuffix, key) {\n var result = number + ' ';\n switch (key) {\n case 'ss':\n if (number === 1) {\n result += 'sekunda';\n } else if (number === 2 || number === 3 || number === 4) {\n result += 'sekunde';\n } else {\n result += 'sekundi';\n }\n return result;\n case 'm':\n return withoutSuffix ? 'jedna minuta' : 'jedne minute';\n case 'mm':\n if (number === 1) {\n result += 'minuta';\n } else if (number === 2 || number === 3 || number === 4) {\n result += 'minute';\n } else {\n result += 'minuta';\n }\n return result;\n case 'h':\n return withoutSuffix ? 'jedan sat' : 'jednog sata';\n case 'hh':\n if (number === 1) {\n result += 'sat';\n } else if (number === 2 || number === 3 || number === 4) {\n result += 'sata';\n } else {\n result += 'sati';\n }\n return result;\n case 'dd':\n if (number === 1) {\n result += 'dan';\n } else {\n result += 'dana';\n }\n return result;\n case 'MM':\n if (number === 1) {\n result += 'mjesec';\n } else if (number === 2 || number === 3 || number === 4) {\n result += 'mjeseca';\n } else {\n result += 'mjeseci';\n }\n return result;\n case 'yy':\n if (number === 1) {\n result += 'godina';\n } else if (number === 2 || number === 3 || number === 4) {\n result += 'godine';\n } else {\n result += 'godina';\n }\n return result;\n }\n }\n\n moment.defineLocale('hr', {\n months: {\n format: 'siječnja_veljače_ožujka_travnja_svibnja_lipnja_srpnja_kolovoza_rujna_listopada_studenoga_prosinca'.split(\n '_'\n ),\n standalone:\n 'siječanj_veljača_ožujak_travanj_svibanj_lipanj_srpanj_kolovoz_rujan_listopad_studeni_prosinac'.split(\n '_'\n ),\n },\n monthsShort:\n 'sij._velj._ožu._tra._svi._lip._srp._kol._ruj._lis._stu._pro.'.split(\n '_'\n ),\n monthsParseExact: true,\n weekdays: 'nedjelja_ponedjeljak_utorak_srijeda_četvrtak_petak_subota'.split(\n '_'\n ),\n weekdaysShort: 'ned._pon._uto._sri._čet._pet._sub.'.split('_'),\n weekdaysMin: 'ne_po_ut_sr_če_pe_su'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'H:mm',\n LTS: 'H:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'Do MMMM YYYY',\n LLL: 'Do MMMM YYYY H:mm',\n LLLL: 'dddd, Do MMMM YYYY H:mm',\n },\n calendar: {\n sameDay: '[danas u] LT',\n nextDay: '[sutra u] LT',\n nextWeek: function () {\n switch (this.day()) {\n case 0:\n return '[u] [nedjelju] [u] LT';\n case 3:\n return '[u] [srijedu] [u] LT';\n case 6:\n return '[u] [subotu] [u] LT';\n case 1:\n case 2:\n case 4:\n case 5:\n return '[u] dddd [u] LT';\n }\n },\n lastDay: '[jučer u] LT',\n lastWeek: function () {\n switch (this.day()) {\n case 0:\n return '[prošlu] [nedjelju] [u] LT';\n case 3:\n return '[prošlu] [srijedu] [u] LT';\n case 6:\n return '[prošle] [subote] [u] LT';\n case 1:\n case 2:\n case 4:\n case 5:\n return '[prošli] dddd [u] LT';\n }\n },\n sameElse: 'L',\n },\n relativeTime: {\n future: 'za %s',\n past: 'prije %s',\n s: 'par sekundi',\n ss: translate$3,\n m: translate$3,\n mm: translate$3,\n h: translate$3,\n hh: translate$3,\n d: 'dan',\n dd: translate$3,\n M: 'mjesec',\n MM: translate$3,\n y: 'godinu',\n yy: translate$3,\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 7, // The week that contains Jan 7th is the first week of the year.\n },\n });\n\n //! moment.js locale configuration\n\n var weekEndings =\n 'vasárnap hétfőn kedden szerdán csütörtökön pénteken szombaton'.split(' ');\n function translate$4(number, withoutSuffix, key, isFuture) {\n var num = number;\n switch (key) {\n case 's':\n return isFuture || withoutSuffix\n ? 'néhány másodperc'\n : 'néhány másodperce';\n case 'ss':\n return num + (isFuture || withoutSuffix)\n ? ' másodperc'\n : ' másodperce';\n case 'm':\n return 'egy' + (isFuture || withoutSuffix ? ' perc' : ' perce');\n case 'mm':\n return num + (isFuture || withoutSuffix ? ' perc' : ' perce');\n case 'h':\n return 'egy' + (isFuture || withoutSuffix ? ' óra' : ' órája');\n case 'hh':\n return num + (isFuture || withoutSuffix ? ' óra' : ' órája');\n case 'd':\n return 'egy' + (isFuture || withoutSuffix ? ' nap' : ' napja');\n case 'dd':\n return num + (isFuture || withoutSuffix ? ' nap' : ' napja');\n case 'M':\n return 'egy' + (isFuture || withoutSuffix ? ' hónap' : ' hónapja');\n case 'MM':\n return num + (isFuture || withoutSuffix ? ' hónap' : ' hónapja');\n case 'y':\n return 'egy' + (isFuture || withoutSuffix ? ' év' : ' éve');\n case 'yy':\n return num + (isFuture || withoutSuffix ? ' év' : ' éve');\n }\n return '';\n }\n function week(isFuture) {\n return (\n (isFuture ? '' : '[múlt] ') +\n '[' +\n weekEndings[this.day()] +\n '] LT[-kor]'\n );\n }\n\n moment.defineLocale('hu', {\n months: 'január_február_március_április_május_június_július_augusztus_szeptember_október_november_december'.split(\n '_'\n ),\n monthsShort:\n 'jan._feb._márc._ápr._máj._jún._júl._aug._szept._okt._nov._dec.'.split(\n '_'\n ),\n monthsParseExact: true,\n weekdays: 'vasárnap_hétfő_kedd_szerda_csütörtök_péntek_szombat'.split('_'),\n weekdaysShort: 'vas_hét_kedd_sze_csüt_pén_szo'.split('_'),\n weekdaysMin: 'v_h_k_sze_cs_p_szo'.split('_'),\n longDateFormat: {\n LT: 'H:mm',\n LTS: 'H:mm:ss',\n L: 'YYYY.MM.DD.',\n LL: 'YYYY. MMMM D.',\n LLL: 'YYYY. MMMM D. H:mm',\n LLLL: 'YYYY. MMMM D., dddd H:mm',\n },\n meridiemParse: /de|du/i,\n isPM: function (input) {\n return input.charAt(1).toLowerCase() === 'u';\n },\n meridiem: function (hours, minutes, isLower) {\n if (hours < 12) {\n return isLower === true ? 'de' : 'DE';\n } else {\n return isLower === true ? 'du' : 'DU';\n }\n },\n calendar: {\n sameDay: '[ma] LT[-kor]',\n nextDay: '[holnap] LT[-kor]',\n nextWeek: function () {\n return week.call(this, true);\n },\n lastDay: '[tegnap] LT[-kor]',\n lastWeek: function () {\n return week.call(this, false);\n },\n sameElse: 'L',\n },\n relativeTime: {\n future: '%s múlva',\n past: '%s',\n s: translate$4,\n ss: translate$4,\n m: translate$4,\n mm: translate$4,\n h: translate$4,\n hh: translate$4,\n d: translate$4,\n dd: translate$4,\n M: translate$4,\n MM: translate$4,\n y: translate$4,\n yy: translate$4,\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n //! moment.js locale configuration\n\n moment.defineLocale('hy-am', {\n months: {\n format: 'հունվարի_փետրվարի_մարտի_ապրիլի_մայիսի_հունիսի_հուլիսի_օգոստոսի_սեպտեմբերի_հոկտեմբերի_նոյեմբերի_դեկտեմբերի'.split(\n '_'\n ),\n standalone:\n 'հունվար_փետրվար_մարտ_ապրիլ_մայիս_հունիս_հուլիս_օգոստոս_սեպտեմբեր_հոկտեմբեր_նոյեմբեր_դեկտեմբեր'.split(\n '_'\n ),\n },\n monthsShort: 'հնվ_փտր_մրտ_ապր_մյս_հնս_հլս_օգս_սպտ_հկտ_նմբ_դկտ'.split('_'),\n weekdays:\n 'կիրակի_երկուշաբթի_երեքշաբթի_չորեքշաբթի_հինգշաբթի_ուրբաթ_շաբաթ'.split(\n '_'\n ),\n weekdaysShort: 'կրկ_երկ_երք_չրք_հնգ_ուրբ_շբթ'.split('_'),\n weekdaysMin: 'կրկ_երկ_երք_չրք_հնգ_ուրբ_շբթ'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D MMMM YYYY թ.',\n LLL: 'D MMMM YYYY թ., HH:mm',\n LLLL: 'dddd, D MMMM YYYY թ., HH:mm',\n },\n calendar: {\n sameDay: '[այսօր] LT',\n nextDay: '[վաղը] LT',\n lastDay: '[երեկ] LT',\n nextWeek: function () {\n return 'dddd [օրը ժամը] LT';\n },\n lastWeek: function () {\n return '[անցած] dddd [օրը ժամը] LT';\n },\n sameElse: 'L',\n },\n relativeTime: {\n future: '%s հետո',\n past: '%s առաջ',\n s: 'մի քանի վայրկյան',\n ss: '%d վայրկյան',\n m: 'րոպե',\n mm: '%d րոպե',\n h: 'ժամ',\n hh: '%d ժամ',\n d: 'օր',\n dd: '%d օր',\n M: 'ամիս',\n MM: '%d ամիս',\n y: 'տարի',\n yy: '%d տարի',\n },\n meridiemParse: /գիշերվա|առավոտվա|ցերեկվա|երեկոյան/,\n isPM: function (input) {\n return /^(ցերեկվա|երեկոյան)$/.test(input);\n },\n meridiem: function (hour) {\n if (hour < 4) {\n return 'գիշերվա';\n } else if (hour < 12) {\n return 'առավոտվա';\n } else if (hour < 17) {\n return 'ցերեկվա';\n } else {\n return 'երեկոյան';\n }\n },\n dayOfMonthOrdinalParse: /\\d{1,2}|\\d{1,2}-(ին|րդ)/,\n ordinal: function (number, period) {\n switch (period) {\n case 'DDD':\n case 'w':\n case 'W':\n case 'DDDo':\n if (number === 1) {\n return number + '-ին';\n }\n return number + '-րդ';\n default:\n return number;\n }\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 7, // The week that contains Jan 7th is the first week of the year.\n },\n });\n\n //! moment.js locale configuration\n\n moment.defineLocale('id', {\n months: 'Januari_Februari_Maret_April_Mei_Juni_Juli_Agustus_September_Oktober_November_Desember'.split(\n '_'\n ),\n monthsShort: 'Jan_Feb_Mar_Apr_Mei_Jun_Jul_Agt_Sep_Okt_Nov_Des'.split('_'),\n weekdays: 'Minggu_Senin_Selasa_Rabu_Kamis_Jumat_Sabtu'.split('_'),\n weekdaysShort: 'Min_Sen_Sel_Rab_Kam_Jum_Sab'.split('_'),\n weekdaysMin: 'Mg_Sn_Sl_Rb_Km_Jm_Sb'.split('_'),\n longDateFormat: {\n LT: 'HH.mm',\n LTS: 'HH.mm.ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY [pukul] HH.mm',\n LLLL: 'dddd, D MMMM YYYY [pukul] HH.mm',\n },\n meridiemParse: /pagi|siang|sore|malam/,\n meridiemHour: function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === 'pagi') {\n return hour;\n } else if (meridiem === 'siang') {\n return hour >= 11 ? hour : hour + 12;\n } else if (meridiem === 'sore' || meridiem === 'malam') {\n return hour + 12;\n }\n },\n meridiem: function (hours, minutes, isLower) {\n if (hours < 11) {\n return 'pagi';\n } else if (hours < 15) {\n return 'siang';\n } else if (hours < 19) {\n return 'sore';\n } else {\n return 'malam';\n }\n },\n calendar: {\n sameDay: '[Hari ini pukul] LT',\n nextDay: '[Besok pukul] LT',\n nextWeek: 'dddd [pukul] LT',\n lastDay: '[Kemarin pukul] LT',\n lastWeek: 'dddd [lalu pukul] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'dalam %s',\n past: '%s yang lalu',\n s: 'beberapa detik',\n ss: '%d detik',\n m: 'semenit',\n mm: '%d menit',\n h: 'sejam',\n hh: '%d jam',\n d: 'sehari',\n dd: '%d hari',\n M: 'sebulan',\n MM: '%d bulan',\n y: 'setahun',\n yy: '%d tahun',\n },\n week: {\n dow: 0, // Sunday is the first day of the week.\n doy: 6, // The week that contains Jan 6th is the first week of the year.\n },\n });\n\n //! moment.js locale configuration\n\n function plural$2(n) {\n if (n % 100 === 11) {\n return true;\n } else if (n % 10 === 1) {\n return false;\n }\n return true;\n }\n function translate$5(number, withoutSuffix, key, isFuture) {\n var result = number + ' ';\n switch (key) {\n case 's':\n return withoutSuffix || isFuture\n ? 'nokkrar sekúndur'\n : 'nokkrum sekúndum';\n case 'ss':\n if (plural$2(number)) {\n return (\n result +\n (withoutSuffix || isFuture ? 'sekúndur' : 'sekúndum')\n );\n }\n return result + 'sekúnda';\n case 'm':\n return withoutSuffix ? 'mínúta' : 'mínútu';\n case 'mm':\n if (plural$2(number)) {\n return (\n result + (withoutSuffix || isFuture ? 'mínútur' : 'mínútum')\n );\n } else if (withoutSuffix) {\n return result + 'mínúta';\n }\n return result + 'mínútu';\n case 'hh':\n if (plural$2(number)) {\n return (\n result +\n (withoutSuffix || isFuture\n ? 'klukkustundir'\n : 'klukkustundum')\n );\n }\n return result + 'klukkustund';\n case 'd':\n if (withoutSuffix) {\n return 'dagur';\n }\n return isFuture ? 'dag' : 'degi';\n case 'dd':\n if (plural$2(number)) {\n if (withoutSuffix) {\n return result + 'dagar';\n }\n return result + (isFuture ? 'daga' : 'dögum');\n } else if (withoutSuffix) {\n return result + 'dagur';\n }\n return result + (isFuture ? 'dag' : 'degi');\n case 'M':\n if (withoutSuffix) {\n return 'mánuður';\n }\n return isFuture ? 'mánuð' : 'mánuði';\n case 'MM':\n if (plural$2(number)) {\n if (withoutSuffix) {\n return result + 'mánuðir';\n }\n return result + (isFuture ? 'mánuði' : 'mánuðum');\n } else if (withoutSuffix) {\n return result + 'mánuður';\n }\n return result + (isFuture ? 'mánuð' : 'mánuði');\n case 'y':\n return withoutSuffix || isFuture ? 'ár' : 'ári';\n case 'yy':\n if (plural$2(number)) {\n return result + (withoutSuffix || isFuture ? 'ár' : 'árum');\n }\n return result + (withoutSuffix || isFuture ? 'ár' : 'ári');\n }\n }\n\n moment.defineLocale('is', {\n months: 'janúar_febrúar_mars_apríl_maí_júní_júlí_ágúst_september_október_nóvember_desember'.split(\n '_'\n ),\n monthsShort: 'jan_feb_mar_apr_maí_jún_júl_ágú_sep_okt_nóv_des'.split('_'),\n weekdays:\n 'sunnudagur_mánudagur_þriðjudagur_miðvikudagur_fimmtudagur_föstudagur_laugardagur'.split(\n '_'\n ),\n weekdaysShort: 'sun_mán_þri_mið_fim_fös_lau'.split('_'),\n weekdaysMin: 'Su_Má_Þr_Mi_Fi_Fö_La'.split('_'),\n longDateFormat: {\n LT: 'H:mm',\n LTS: 'H:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D. MMMM YYYY',\n LLL: 'D. MMMM YYYY [kl.] H:mm',\n LLLL: 'dddd, D. MMMM YYYY [kl.] H:mm',\n },\n calendar: {\n sameDay: '[í dag kl.] LT',\n nextDay: '[á morgun kl.] LT',\n nextWeek: 'dddd [kl.] LT',\n lastDay: '[í gær kl.] LT',\n lastWeek: '[síðasta] dddd [kl.] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'eftir %s',\n past: 'fyrir %s síðan',\n s: translate$5,\n ss: translate$5,\n m: translate$5,\n mm: translate$5,\n h: 'klukkustund',\n hh: translate$5,\n d: translate$5,\n dd: translate$5,\n M: translate$5,\n MM: translate$5,\n y: translate$5,\n yy: translate$5,\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n //! moment.js locale configuration\n\n moment.defineLocale('it-ch', {\n months: 'gennaio_febbraio_marzo_aprile_maggio_giugno_luglio_agosto_settembre_ottobre_novembre_dicembre'.split(\n '_'\n ),\n monthsShort: 'gen_feb_mar_apr_mag_giu_lug_ago_set_ott_nov_dic'.split('_'),\n weekdays: 'domenica_lunedì_martedì_mercoledì_giovedì_venerdì_sabato'.split(\n '_'\n ),\n weekdaysShort: 'dom_lun_mar_mer_gio_ven_sab'.split('_'),\n weekdaysMin: 'do_lu_ma_me_gi_ve_sa'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd D MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[Oggi alle] LT',\n nextDay: '[Domani alle] LT',\n nextWeek: 'dddd [alle] LT',\n lastDay: '[Ieri alle] LT',\n lastWeek: function () {\n switch (this.day()) {\n case 0:\n return '[la scorsa] dddd [alle] LT';\n default:\n return '[lo scorso] dddd [alle] LT';\n }\n },\n sameElse: 'L',\n },\n relativeTime: {\n future: function (s) {\n return (/^[0-9].+$/.test(s) ? 'tra' : 'in') + ' ' + s;\n },\n past: '%s fa',\n s: 'alcuni secondi',\n ss: '%d secondi',\n m: 'un minuto',\n mm: '%d minuti',\n h: \"un'ora\",\n hh: '%d ore',\n d: 'un giorno',\n dd: '%d giorni',\n M: 'un mese',\n MM: '%d mesi',\n y: 'un anno',\n yy: '%d anni',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}º/,\n ordinal: '%dº',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n //! moment.js locale configuration\n\n moment.defineLocale('it', {\n months: 'gennaio_febbraio_marzo_aprile_maggio_giugno_luglio_agosto_settembre_ottobre_novembre_dicembre'.split(\n '_'\n ),\n monthsShort: 'gen_feb_mar_apr_mag_giu_lug_ago_set_ott_nov_dic'.split('_'),\n weekdays: 'domenica_lunedì_martedì_mercoledì_giovedì_venerdì_sabato'.split(\n '_'\n ),\n weekdaysShort: 'dom_lun_mar_mer_gio_ven_sab'.split('_'),\n weekdaysMin: 'do_lu_ma_me_gi_ve_sa'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd D MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: function () {\n return (\n '[Oggi a' +\n (this.hours() > 1 ? 'lle ' : this.hours() === 0 ? ' ' : \"ll'\") +\n ']LT'\n );\n },\n nextDay: function () {\n return (\n '[Domani a' +\n (this.hours() > 1 ? 'lle ' : this.hours() === 0 ? ' ' : \"ll'\") +\n ']LT'\n );\n },\n nextWeek: function () {\n return (\n 'dddd [a' +\n (this.hours() > 1 ? 'lle ' : this.hours() === 0 ? ' ' : \"ll'\") +\n ']LT'\n );\n },\n lastDay: function () {\n return (\n '[Ieri a' +\n (this.hours() > 1 ? 'lle ' : this.hours() === 0 ? ' ' : \"ll'\") +\n ']LT'\n );\n },\n lastWeek: function () {\n switch (this.day()) {\n case 0:\n return (\n '[La scorsa] dddd [a' +\n (this.hours() > 1\n ? 'lle '\n : this.hours() === 0\n ? ' '\n : \"ll'\") +\n ']LT'\n );\n default:\n return (\n '[Lo scorso] dddd [a' +\n (this.hours() > 1\n ? 'lle '\n : this.hours() === 0\n ? ' '\n : \"ll'\") +\n ']LT'\n );\n }\n },\n sameElse: 'L',\n },\n relativeTime: {\n future: 'tra %s',\n past: '%s fa',\n s: 'alcuni secondi',\n ss: '%d secondi',\n m: 'un minuto',\n mm: '%d minuti',\n h: \"un'ora\",\n hh: '%d ore',\n d: 'un giorno',\n dd: '%d giorni',\n w: 'una settimana',\n ww: '%d settimane',\n M: 'un mese',\n MM: '%d mesi',\n y: 'un anno',\n yy: '%d anni',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}º/,\n ordinal: '%dº',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n //! moment.js locale configuration\n\n moment.defineLocale('ja', {\n eras: [\n {\n since: '2019-05-01',\n offset: 1,\n name: '令和',\n narrow: '㋿',\n abbr: 'R',\n },\n {\n since: '1989-01-08',\n until: '2019-04-30',\n offset: 1,\n name: '平成',\n narrow: '㍻',\n abbr: 'H',\n },\n {\n since: '1926-12-25',\n until: '1989-01-07',\n offset: 1,\n name: '昭和',\n narrow: '㍼',\n abbr: 'S',\n },\n {\n since: '1912-07-30',\n until: '1926-12-24',\n offset: 1,\n name: '大正',\n narrow: '㍽',\n abbr: 'T',\n },\n {\n since: '1873-01-01',\n until: '1912-07-29',\n offset: 6,\n name: '明治',\n narrow: '㍾',\n abbr: 'M',\n },\n {\n since: '0001-01-01',\n until: '1873-12-31',\n offset: 1,\n name: '西暦',\n narrow: 'AD',\n abbr: 'AD',\n },\n {\n since: '0000-12-31',\n until: -Infinity,\n offset: 1,\n name: '紀元前',\n narrow: 'BC',\n abbr: 'BC',\n },\n ],\n eraYearOrdinalRegex: /(元|\\d+)年/,\n eraYearOrdinalParse: function (input, match) {\n return match[1] === '元' ? 1 : parseInt(match[1] || input, 10);\n },\n months: '1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月'.split('_'),\n monthsShort: '1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月'.split(\n '_'\n ),\n weekdays: '日曜日_月曜日_火曜日_水曜日_木曜日_金曜日_土曜日'.split('_'),\n weekdaysShort: '日_月_火_水_木_金_土'.split('_'),\n weekdaysMin: '日_月_火_水_木_金_土'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'YYYY/MM/DD',\n LL: 'YYYY年M月D日',\n LLL: 'YYYY年M月D日 HH:mm',\n LLLL: 'YYYY年M月D日 dddd HH:mm',\n l: 'YYYY/MM/DD',\n ll: 'YYYY年M月D日',\n lll: 'YYYY年M月D日 HH:mm',\n llll: 'YYYY年M月D日(ddd) HH:mm',\n },\n meridiemParse: /午前|午後/i,\n isPM: function (input) {\n return input === '午後';\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 12) {\n return '午前';\n } else {\n return '午後';\n }\n },\n calendar: {\n sameDay: '[今日] LT',\n nextDay: '[明日] LT',\n nextWeek: function (now) {\n if (now.week() !== this.week()) {\n return '[来週]dddd LT';\n } else {\n return 'dddd LT';\n }\n },\n lastDay: '[昨日] LT',\n lastWeek: function (now) {\n if (this.week() !== now.week()) {\n return '[先週]dddd LT';\n } else {\n return 'dddd LT';\n }\n },\n sameElse: 'L',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}日/,\n ordinal: function (number, period) {\n switch (period) {\n case 'y':\n return number === 1 ? '元年' : number + '年';\n case 'd':\n case 'D':\n case 'DDD':\n return number + '日';\n default:\n return number;\n }\n },\n relativeTime: {\n future: '%s後',\n past: '%s前',\n s: '数秒',\n ss: '%d秒',\n m: '1分',\n mm: '%d分',\n h: '1時間',\n hh: '%d時間',\n d: '1日',\n dd: '%d日',\n M: '1ヶ月',\n MM: '%dヶ月',\n y: '1年',\n yy: '%d年',\n },\n });\n\n //! moment.js locale configuration\n\n moment.defineLocale('jv', {\n months: 'Januari_Februari_Maret_April_Mei_Juni_Juli_Agustus_September_Oktober_Nopember_Desember'.split(\n '_'\n ),\n monthsShort: 'Jan_Feb_Mar_Apr_Mei_Jun_Jul_Ags_Sep_Okt_Nop_Des'.split('_'),\n weekdays: 'Minggu_Senen_Seloso_Rebu_Kemis_Jemuwah_Septu'.split('_'),\n weekdaysShort: 'Min_Sen_Sel_Reb_Kem_Jem_Sep'.split('_'),\n weekdaysMin: 'Mg_Sn_Sl_Rb_Km_Jm_Sp'.split('_'),\n longDateFormat: {\n LT: 'HH.mm',\n LTS: 'HH.mm.ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY [pukul] HH.mm',\n LLLL: 'dddd, D MMMM YYYY [pukul] HH.mm',\n },\n meridiemParse: /enjing|siyang|sonten|ndalu/,\n meridiemHour: function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === 'enjing') {\n return hour;\n } else if (meridiem === 'siyang') {\n return hour >= 11 ? hour : hour + 12;\n } else if (meridiem === 'sonten' || meridiem === 'ndalu') {\n return hour + 12;\n }\n },\n meridiem: function (hours, minutes, isLower) {\n if (hours < 11) {\n return 'enjing';\n } else if (hours < 15) {\n return 'siyang';\n } else if (hours < 19) {\n return 'sonten';\n } else {\n return 'ndalu';\n }\n },\n calendar: {\n sameDay: '[Dinten puniko pukul] LT',\n nextDay: '[Mbenjang pukul] LT',\n nextWeek: 'dddd [pukul] LT',\n lastDay: '[Kala wingi pukul] LT',\n lastWeek: 'dddd [kepengker pukul] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'wonten ing %s',\n past: '%s ingkang kepengker',\n s: 'sawetawis detik',\n ss: '%d detik',\n m: 'setunggal menit',\n mm: '%d menit',\n h: 'setunggal jam',\n hh: '%d jam',\n d: 'sedinten',\n dd: '%d dinten',\n M: 'sewulan',\n MM: '%d wulan',\n y: 'setaun',\n yy: '%d taun',\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 7, // The week that contains Jan 7th is the first week of the year.\n },\n });\n\n //! moment.js locale configuration\n\n moment.defineLocale('ka', {\n months: 'იანვარი_თებერვალი_მარტი_აპრილი_მაისი_ივნისი_ივლისი_აგვისტო_სექტემბერი_ოქტომბერი_ნოემბერი_დეკემბერი'.split(\n '_'\n ),\n monthsShort: 'იან_თებ_მარ_აპრ_მაი_ივნ_ივლ_აგვ_სექ_ოქტ_ნოე_დეკ'.split('_'),\n weekdays: {\n standalone:\n 'კვირა_ორშაბათი_სამშაბათი_ოთხშაბათი_ხუთშაბათი_პარასკევი_შაბათი'.split(\n '_'\n ),\n format: 'კვირას_ორშაბათს_სამშაბათს_ოთხშაბათს_ხუთშაბათს_პარასკევს_შაბათს'.split(\n '_'\n ),\n isFormat: /(წინა|შემდეგ)/,\n },\n weekdaysShort: 'კვი_ორშ_სამ_ოთხ_ხუთ_პარ_შაბ'.split('_'),\n weekdaysMin: 'კვ_ორ_სა_ოთ_ხუ_პა_შა'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd, D MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[დღეს] LT[-ზე]',\n nextDay: '[ხვალ] LT[-ზე]',\n lastDay: '[გუშინ] LT[-ზე]',\n nextWeek: '[შემდეგ] dddd LT[-ზე]',\n lastWeek: '[წინა] dddd LT-ზე',\n sameElse: 'L',\n },\n relativeTime: {\n future: function (s) {\n return s.replace(\n /(წამ|წუთ|საათ|წელ|დღ|თვ)(ი|ე)/,\n function ($0, $1, $2) {\n return $2 === 'ი' ? $1 + 'ში' : $1 + $2 + 'ში';\n }\n );\n },\n past: function (s) {\n if (/(წამი|წუთი|საათი|დღე|თვე)/.test(s)) {\n return s.replace(/(ი|ე)$/, 'ის წინ');\n }\n if (/წელი/.test(s)) {\n return s.replace(/წელი$/, 'წლის წინ');\n }\n return s;\n },\n s: 'რამდენიმე წამი',\n ss: '%d წამი',\n m: 'წუთი',\n mm: '%d წუთი',\n h: 'საათი',\n hh: '%d საათი',\n d: 'დღე',\n dd: '%d დღე',\n M: 'თვე',\n MM: '%d თვე',\n y: 'წელი',\n yy: '%d წელი',\n },\n dayOfMonthOrdinalParse: /0|1-ლი|მე-\\d{1,2}|\\d{1,2}-ე/,\n ordinal: function (number) {\n if (number === 0) {\n return number;\n }\n if (number === 1) {\n return number + '-ლი';\n }\n if (\n number < 20 ||\n (number <= 100 && number % 20 === 0) ||\n number % 100 === 0\n ) {\n return 'მე-' + number;\n }\n return number + '-ე';\n },\n week: {\n dow: 1,\n doy: 7,\n },\n });\n\n //! moment.js locale configuration\n\n var suffixes$1 = {\n 0: '-ші',\n 1: '-ші',\n 2: '-ші',\n 3: '-ші',\n 4: '-ші',\n 5: '-ші',\n 6: '-шы',\n 7: '-ші',\n 8: '-ші',\n 9: '-шы',\n 10: '-шы',\n 20: '-шы',\n 30: '-шы',\n 40: '-шы',\n 50: '-ші',\n 60: '-шы',\n 70: '-ші',\n 80: '-ші',\n 90: '-шы',\n 100: '-ші',\n };\n\n moment.defineLocale('kk', {\n months: 'қаңтар_ақпан_наурыз_сәуір_мамыр_маусым_шілде_тамыз_қыркүйек_қазан_қараша_желтоқсан'.split(\n '_'\n ),\n monthsShort: 'қаң_ақп_нау_сәу_мам_мау_шіл_там_қыр_қаз_қар_жел'.split('_'),\n weekdays: 'жексенбі_дүйсенбі_сейсенбі_сәрсенбі_бейсенбі_жұма_сенбі'.split(\n '_'\n ),\n weekdaysShort: 'жек_дүй_сей_сәр_бей_жұм_сен'.split('_'),\n weekdaysMin: 'жк_дй_сй_ср_бй_жм_сн'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd, D MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[Бүгін сағат] LT',\n nextDay: '[Ертең сағат] LT',\n nextWeek: 'dddd [сағат] LT',\n lastDay: '[Кеше сағат] LT',\n lastWeek: '[Өткен аптаның] dddd [сағат] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: '%s ішінде',\n past: '%s бұрын',\n s: 'бірнеше секунд',\n ss: '%d секунд',\n m: 'бір минут',\n mm: '%d минут',\n h: 'бір сағат',\n hh: '%d сағат',\n d: 'бір күн',\n dd: '%d күн',\n M: 'бір ай',\n MM: '%d ай',\n y: 'бір жыл',\n yy: '%d жыл',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}-(ші|шы)/,\n ordinal: function (number) {\n var a = number % 10,\n b = number >= 100 ? 100 : null;\n return number + (suffixes$1[number] || suffixes$1[a] || suffixes$1[b]);\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 7, // The week that contains Jan 7th is the first week of the year.\n },\n });\n\n //! moment.js locale configuration\n\n var symbolMap$a = {\n 1: '១',\n 2: '២',\n 3: '៣',\n 4: '៤',\n 5: '៥',\n 6: '៦',\n 7: '៧',\n 8: '៨',\n 9: '៩',\n 0: '០',\n },\n numberMap$9 = {\n '១': '1',\n '២': '2',\n '៣': '3',\n '៤': '4',\n '៥': '5',\n '៦': '6',\n '៧': '7',\n '៨': '8',\n '៩': '9',\n '០': '0',\n };\n\n moment.defineLocale('km', {\n months: 'មករា_កុម្ភៈ_មីនា_មេសា_ឧសភា_មិថុនា_កក្កដា_សីហា_កញ្ញា_តុលា_វិច្ឆិកា_ធ្នូ'.split(\n '_'\n ),\n monthsShort:\n 'មករា_កុម្ភៈ_មីនា_មេសា_ឧសភា_មិថុនា_កក្កដា_សីហា_កញ្ញា_តុលា_វិច្ឆិកា_ធ្នូ'.split(\n '_'\n ),\n weekdays: 'អាទិត្យ_ច័ន្ទ_អង្គារ_ពុធ_ព្រហស្បតិ៍_សុក្រ_សៅរ៍'.split('_'),\n weekdaysShort: 'អា_ច_អ_ព_ព្រ_សុ_ស'.split('_'),\n weekdaysMin: 'អា_ច_អ_ព_ព្រ_សុ_ស'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd, D MMMM YYYY HH:mm',\n },\n meridiemParse: /ព្រឹក|ល្ងាច/,\n isPM: function (input) {\n return input === 'ល្ងាច';\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 12) {\n return 'ព្រឹក';\n } else {\n return 'ល្ងាច';\n }\n },\n calendar: {\n sameDay: '[ថ្ងៃនេះ ម៉ោង] LT',\n nextDay: '[ស្អែក ម៉ោង] LT',\n nextWeek: 'dddd [ម៉ោង] LT',\n lastDay: '[ម្សិលមិញ ម៉ោង] LT',\n lastWeek: 'dddd [សប្តាហ៍មុន] [ម៉ោង] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: '%sទៀត',\n past: '%sមុន',\n s: 'ប៉ុន្មានវិនាទី',\n ss: '%d វិនាទី',\n m: 'មួយនាទី',\n mm: '%d នាទី',\n h: 'មួយម៉ោង',\n hh: '%d ម៉ោង',\n d: 'មួយថ្ងៃ',\n dd: '%d ថ្ងៃ',\n M: 'មួយខែ',\n MM: '%d ខែ',\n y: 'មួយឆ្នាំ',\n yy: '%d ឆ្នាំ',\n },\n dayOfMonthOrdinalParse: /ទី\\d{1,2}/,\n ordinal: 'ទី%d',\n preparse: function (string) {\n return string.replace(/[១២៣៤៥៦៧៨៩០]/g, function (match) {\n return numberMap$9[match];\n });\n },\n postformat: function (string) {\n return string.replace(/\\d/g, function (match) {\n return symbolMap$a[match];\n });\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n //! moment.js locale configuration\n\n var symbolMap$b = {\n 1: '೧',\n 2: '೨',\n 3: '೩',\n 4: '೪',\n 5: '೫',\n 6: '೬',\n 7: '೭',\n 8: '೮',\n 9: '೯',\n 0: '೦',\n },\n numberMap$a = {\n '೧': '1',\n '೨': '2',\n '೩': '3',\n '೪': '4',\n '೫': '5',\n '೬': '6',\n '೭': '7',\n '೮': '8',\n '೯': '9',\n '೦': '0',\n };\n\n moment.defineLocale('kn', {\n months: 'ಜನವರಿ_ಫೆಬ್ರವರಿ_ಮಾರ್ಚ್_ಏಪ್ರಿಲ್_ಮೇ_ಜೂನ್_ಜುಲೈ_ಆಗಸ್ಟ್_ಸೆಪ್ಟೆಂಬರ್_ಅಕ್ಟೋಬರ್_ನವೆಂಬರ್_ಡಿಸೆಂಬರ್'.split(\n '_'\n ),\n monthsShort:\n 'ಜನ_ಫೆಬ್ರ_ಮಾರ್ಚ್_ಏಪ್ರಿಲ್_ಮೇ_ಜೂನ್_ಜುಲೈ_ಆಗಸ್ಟ್_ಸೆಪ್ಟೆಂ_ಅಕ್ಟೋ_ನವೆಂ_ಡಿಸೆಂ'.split(\n '_'\n ),\n monthsParseExact: true,\n weekdays: 'ಭಾನುವಾರ_ಸೋಮವಾರ_ಮಂಗಳವಾರ_ಬುಧವಾರ_ಗುರುವಾರ_ಶುಕ್ರವಾರ_ಶನಿವಾರ'.split(\n '_'\n ),\n weekdaysShort: 'ಭಾನು_ಸೋಮ_ಮಂಗಳ_ಬುಧ_ಗುರು_ಶುಕ್ರ_ಶನಿ'.split('_'),\n weekdaysMin: 'ಭಾ_ಸೋ_ಮಂ_ಬು_ಗು_ಶು_ಶ'.split('_'),\n longDateFormat: {\n LT: 'A h:mm',\n LTS: 'A h:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY, A h:mm',\n LLLL: 'dddd, D MMMM YYYY, A h:mm',\n },\n calendar: {\n sameDay: '[ಇಂದು] LT',\n nextDay: '[ನಾಳೆ] LT',\n nextWeek: 'dddd, LT',\n lastDay: '[ನಿನ್ನೆ] LT',\n lastWeek: '[ಕೊನೆಯ] dddd, LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: '%s ನಂತರ',\n past: '%s ಹಿಂದೆ',\n s: 'ಕೆಲವು ಕ್ಷಣಗಳು',\n ss: '%d ಸೆಕೆಂಡುಗಳು',\n m: 'ಒಂದು ನಿಮಿಷ',\n mm: '%d ನಿಮಿಷ',\n h: 'ಒಂದು ಗಂಟೆ',\n hh: '%d ಗಂಟೆ',\n d: 'ಒಂದು ದಿನ',\n dd: '%d ದಿನ',\n M: 'ಒಂದು ತಿಂಗಳು',\n MM: '%d ತಿಂಗಳು',\n y: 'ಒಂದು ವರ್ಷ',\n yy: '%d ವರ್ಷ',\n },\n preparse: function (string) {\n return string.replace(/[೧೨೩೪೫೬೭೮೯೦]/g, function (match) {\n return numberMap$a[match];\n });\n },\n postformat: function (string) {\n return string.replace(/\\d/g, function (match) {\n return symbolMap$b[match];\n });\n },\n meridiemParse: /ರಾತ್ರಿ|ಬೆಳಿಗ್ಗೆ|ಮಧ್ಯಾಹ್ನ|ಸಂಜೆ/,\n meridiemHour: function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === 'ರಾತ್ರಿ') {\n return hour < 4 ? hour : hour + 12;\n } else if (meridiem === 'ಬೆಳಿಗ್ಗೆ') {\n return hour;\n } else if (meridiem === 'ಮಧ್ಯಾಹ್ನ') {\n return hour >= 10 ? hour : hour + 12;\n } else if (meridiem === 'ಸಂಜೆ') {\n return hour + 12;\n }\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 4) {\n return 'ರಾತ್ರಿ';\n } else if (hour < 10) {\n return 'ಬೆಳಿಗ್ಗೆ';\n } else if (hour < 17) {\n return 'ಮಧ್ಯಾಹ್ನ';\n } else if (hour < 20) {\n return 'ಸಂಜೆ';\n } else {\n return 'ರಾತ್ರಿ';\n }\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(ನೇ)/,\n ordinal: function (number) {\n return number + 'ನೇ';\n },\n week: {\n dow: 0, // Sunday is the first day of the week.\n doy: 6, // The week that contains Jan 6th is the first week of the year.\n },\n });\n\n //! moment.js locale configuration\n\n moment.defineLocale('ko', {\n months: '1월_2월_3월_4월_5월_6월_7월_8월_9월_10월_11월_12월'.split('_'),\n monthsShort: '1월_2월_3월_4월_5월_6월_7월_8월_9월_10월_11월_12월'.split(\n '_'\n ),\n weekdays: '일요일_월요일_화요일_수요일_목요일_금요일_토요일'.split('_'),\n weekdaysShort: '일_월_화_수_목_금_토'.split('_'),\n weekdaysMin: '일_월_화_수_목_금_토'.split('_'),\n longDateFormat: {\n LT: 'A h:mm',\n LTS: 'A h:mm:ss',\n L: 'YYYY.MM.DD.',\n LL: 'YYYY년 MMMM D일',\n LLL: 'YYYY년 MMMM D일 A h:mm',\n LLLL: 'YYYY년 MMMM D일 dddd A h:mm',\n l: 'YYYY.MM.DD.',\n ll: 'YYYY년 MMMM D일',\n lll: 'YYYY년 MMMM D일 A h:mm',\n llll: 'YYYY년 MMMM D일 dddd A h:mm',\n },\n calendar: {\n sameDay: '오늘 LT',\n nextDay: '내일 LT',\n nextWeek: 'dddd LT',\n lastDay: '어제 LT',\n lastWeek: '지난주 dddd LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: '%s 후',\n past: '%s 전',\n s: '몇 초',\n ss: '%d초',\n m: '1분',\n mm: '%d분',\n h: '한 시간',\n hh: '%d시간',\n d: '하루',\n dd: '%d일',\n M: '한 달',\n MM: '%d달',\n y: '일 년',\n yy: '%d년',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(일|월|주)/,\n ordinal: function (number, period) {\n switch (period) {\n case 'd':\n case 'D':\n case 'DDD':\n return number + '일';\n case 'M':\n return number + '월';\n case 'w':\n case 'W':\n return number + '주';\n default:\n return number;\n }\n },\n meridiemParse: /오전|오후/,\n isPM: function (token) {\n return token === '오후';\n },\n meridiem: function (hour, minute, isUpper) {\n return hour < 12 ? '오전' : '오후';\n },\n });\n\n //! moment.js locale configuration\n\n function processRelativeTime$7(num, withoutSuffix, key, isFuture) {\n var format = {\n s: ['çend sanîye', 'çend sanîyeyan'],\n ss: [num + ' sanîye', num + ' sanîyeyan'],\n m: ['deqîqeyek', 'deqîqeyekê'],\n mm: [num + ' deqîqe', num + ' deqîqeyan'],\n h: ['saetek', 'saetekê'],\n hh: [num + ' saet', num + ' saetan'],\n d: ['rojek', 'rojekê'],\n dd: [num + ' roj', num + ' rojan'],\n w: ['hefteyek', 'hefteyekê'],\n ww: [num + ' hefte', num + ' hefteyan'],\n M: ['mehek', 'mehekê'],\n MM: [num + ' meh', num + ' mehan'],\n y: ['salek', 'salekê'],\n yy: [num + ' sal', num + ' salan'],\n };\n return withoutSuffix ? format[key][0] : format[key][1];\n }\n // function obliqueNumSuffix(num) {\n // if(num.includes(':'))\n // num = parseInt(num.split(':')[0]);\n // else\n // num = parseInt(num);\n // return num == 0 || num % 10 == 1 ? 'ê'\n // : (num > 10 && num % 10 == 0 ? 'î' : 'an');\n // }\n function ezafeNumSuffix(num) {\n num = '' + num;\n var l = num.substring(num.length - 1),\n ll = num.length > 1 ? num.substring(num.length - 2) : '';\n if (\n !(ll == 12 || ll == 13) &&\n (l == '2' || l == '3' || ll == '50' || l == '70' || l == '80')\n )\n return 'yê';\n return 'ê';\n }\n\n moment.defineLocale('ku-kmr', {\n // According to the spelling rules defined by the work group of Weqfa Mezopotamyayê (Mesopotamia Foundation)\n // this should be: 'Kanûna Paşîn_Sibat_Adar_Nîsan_Gulan_Hezîran_Tîrmeh_Tebax_Îlon_Çirîya Pêşîn_Çirîya Paşîn_Kanûna Pêşîn'\n // But the names below are more well known and handy\n months: 'Rêbendan_Sibat_Adar_Nîsan_Gulan_Hezîran_Tîrmeh_Tebax_Îlon_Cotmeh_Mijdar_Berfanbar'.split(\n '_'\n ),\n monthsShort: 'Rêb_Sib_Ada_Nîs_Gul_Hez_Tîr_Teb_Îlo_Cot_Mij_Ber'.split('_'),\n monthsParseExact: true,\n weekdays: 'Yekşem_Duşem_Sêşem_Çarşem_Pêncşem_În_Şemî'.split('_'),\n weekdaysShort: 'Yek_Du_Sê_Çar_Pên_În_Şem'.split('_'),\n weekdaysMin: 'Ye_Du_Sê_Ça_Pê_În_Şe'.split('_'),\n meridiem: function (hours, minutes, isLower) {\n if (hours < 12) {\n return isLower ? 'bn' : 'BN';\n } else {\n return isLower ? 'pn' : 'PN';\n }\n },\n meridiemParse: /bn|BN|pn|PN/,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'Do MMMM[a] YYYY[an]',\n LLL: 'Do MMMM[a] YYYY[an] HH:mm',\n LLLL: 'dddd, Do MMMM[a] YYYY[an] HH:mm',\n ll: 'Do MMM[.] YYYY[an]',\n lll: 'Do MMM[.] YYYY[an] HH:mm',\n llll: 'ddd[.], Do MMM[.] YYYY[an] HH:mm',\n },\n calendar: {\n sameDay: '[Îro di saet] LT [de]',\n nextDay: '[Sibê di saet] LT [de]',\n nextWeek: 'dddd [di saet] LT [de]',\n lastDay: '[Duh di saet] LT [de]',\n lastWeek: 'dddd[a borî di saet] LT [de]',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'di %s de',\n past: 'berî %s',\n s: processRelativeTime$7,\n ss: processRelativeTime$7,\n m: processRelativeTime$7,\n mm: processRelativeTime$7,\n h: processRelativeTime$7,\n hh: processRelativeTime$7,\n d: processRelativeTime$7,\n dd: processRelativeTime$7,\n w: processRelativeTime$7,\n ww: processRelativeTime$7,\n M: processRelativeTime$7,\n MM: processRelativeTime$7,\n y: processRelativeTime$7,\n yy: processRelativeTime$7,\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(?:yê|ê|\\.)/,\n ordinal: function (num, period) {\n var p = period.toLowerCase();\n if (p.includes('w') || p.includes('m')) return num + '.';\n\n return num + ezafeNumSuffix(num);\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n //! moment.js locale configuration\n\n var symbolMap$c = {\n 1: '١',\n 2: '٢',\n 3: '٣',\n 4: '٤',\n 5: '٥',\n 6: '٦',\n 7: '٧',\n 8: '٨',\n 9: '٩',\n 0: '٠',\n },\n numberMap$b = {\n '١': '1',\n '٢': '2',\n '٣': '3',\n '٤': '4',\n '٥': '5',\n '٦': '6',\n '٧': '7',\n '٨': '8',\n '٩': '9',\n '٠': '0',\n },\n months$7 = [\n 'کانونی دووەم',\n 'شوبات',\n 'ئازار',\n 'نیسان',\n 'ئایار',\n 'حوزەیران',\n 'تەمموز',\n 'ئاب',\n 'ئەیلوول',\n 'تشرینی یەكەم',\n 'تشرینی دووەم',\n 'كانونی یەکەم',\n ];\n\n moment.defineLocale('ku', {\n months: months$7,\n monthsShort: months$7,\n weekdays:\n 'یه‌كشه‌ممه‌_دووشه‌ممه‌_سێشه‌ممه‌_چوارشه‌ممه‌_پێنجشه‌ممه‌_هه‌ینی_شه‌ممه‌'.split(\n '_'\n ),\n weekdaysShort:\n 'یه‌كشه‌م_دووشه‌م_سێشه‌م_چوارشه‌م_پێنجشه‌م_هه‌ینی_شه‌ممه‌'.split('_'),\n weekdaysMin: 'ی_د_س_چ_پ_ه_ش'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd, D MMMM YYYY HH:mm',\n },\n meridiemParse: /ئێواره‌|به‌یانی/,\n isPM: function (input) {\n return /ئێواره‌/.test(input);\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 12) {\n return 'به‌یانی';\n } else {\n return 'ئێواره‌';\n }\n },\n calendar: {\n sameDay: '[ئه‌مرۆ كاتژمێر] LT',\n nextDay: '[به‌یانی كاتژمێر] LT',\n nextWeek: 'dddd [كاتژمێر] LT',\n lastDay: '[دوێنێ كاتژمێر] LT',\n lastWeek: 'dddd [كاتژمێر] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'له‌ %s',\n past: '%s',\n s: 'چه‌ند چركه‌یه‌ك',\n ss: 'چركه‌ %d',\n m: 'یه‌ك خوله‌ك',\n mm: '%d خوله‌ك',\n h: 'یه‌ك كاتژمێر',\n hh: '%d كاتژمێر',\n d: 'یه‌ك ڕۆژ',\n dd: '%d ڕۆژ',\n M: 'یه‌ك مانگ',\n MM: '%d مانگ',\n y: 'یه‌ك ساڵ',\n yy: '%d ساڵ',\n },\n preparse: function (string) {\n return string\n .replace(/[١٢٣٤٥٦٧٨٩٠]/g, function (match) {\n return numberMap$b[match];\n })\n .replace(/،/g, ',');\n },\n postformat: function (string) {\n return string\n .replace(/\\d/g, function (match) {\n return symbolMap$c[match];\n })\n .replace(/,/g, '،');\n },\n week: {\n dow: 6, // Saturday is the first day of the week.\n doy: 12, // The week that contains Jan 12th is the first week of the year.\n },\n });\n\n //! moment.js locale configuration\n\n var suffixes$2 = {\n 0: '-чү',\n 1: '-чи',\n 2: '-чи',\n 3: '-чү',\n 4: '-чү',\n 5: '-чи',\n 6: '-чы',\n 7: '-чи',\n 8: '-чи',\n 9: '-чу',\n 10: '-чу',\n 20: '-чы',\n 30: '-чу',\n 40: '-чы',\n 50: '-чү',\n 60: '-чы',\n 70: '-чи',\n 80: '-чи',\n 90: '-чу',\n 100: '-чү',\n };\n\n moment.defineLocale('ky', {\n months: 'январь_февраль_март_апрель_май_июнь_июль_август_сентябрь_октябрь_ноябрь_декабрь'.split(\n '_'\n ),\n monthsShort: 'янв_фев_март_апр_май_июнь_июль_авг_сен_окт_ноя_дек'.split(\n '_'\n ),\n weekdays: 'Жекшемби_Дүйшөмбү_Шейшемби_Шаршемби_Бейшемби_Жума_Ишемби'.split(\n '_'\n ),\n weekdaysShort: 'Жек_Дүй_Шей_Шар_Бей_Жум_Ише'.split('_'),\n weekdaysMin: 'Жк_Дй_Шй_Шр_Бй_Жм_Иш'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd, D MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[Бүгүн саат] LT',\n nextDay: '[Эртең саат] LT',\n nextWeek: 'dddd [саат] LT',\n lastDay: '[Кечээ саат] LT',\n lastWeek: '[Өткөн аптанын] dddd [күнү] [саат] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: '%s ичинде',\n past: '%s мурун',\n s: 'бирнече секунд',\n ss: '%d секунд',\n m: 'бир мүнөт',\n mm: '%d мүнөт',\n h: 'бир саат',\n hh: '%d саат',\n d: 'бир күн',\n dd: '%d күн',\n M: 'бир ай',\n MM: '%d ай',\n y: 'бир жыл',\n yy: '%d жыл',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}-(чи|чы|чү|чу)/,\n ordinal: function (number) {\n var a = number % 10,\n b = number >= 100 ? 100 : null;\n return number + (suffixes$2[number] || suffixes$2[a] || suffixes$2[b]);\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 7, // The week that contains Jan 7th is the first week of the year.\n },\n });\n\n //! moment.js locale configuration\n\n function processRelativeTime$8(number, withoutSuffix, key, isFuture) {\n var format = {\n m: ['eng Minutt', 'enger Minutt'],\n h: ['eng Stonn', 'enger Stonn'],\n d: ['een Dag', 'engem Dag'],\n M: ['ee Mount', 'engem Mount'],\n y: ['ee Joer', 'engem Joer'],\n };\n return withoutSuffix ? format[key][0] : format[key][1];\n }\n function processFutureTime(string) {\n var number = string.substr(0, string.indexOf(' '));\n if (eifelerRegelAppliesToNumber(number)) {\n return 'a ' + string;\n }\n return 'an ' + string;\n }\n function processPastTime(string) {\n var number = string.substr(0, string.indexOf(' '));\n if (eifelerRegelAppliesToNumber(number)) {\n return 'viru ' + string;\n }\n return 'virun ' + string;\n }\n /**\n * Returns true if the word before the given number loses the '-n' ending.\n * e.g. 'an 10 Deeg' but 'a 5 Deeg'\n *\n * @param number {integer}\n * @returns {boolean}\n */\n function eifelerRegelAppliesToNumber(number) {\n number = parseInt(number, 10);\n if (isNaN(number)) {\n return false;\n }\n if (number < 0) {\n // Negative Number --> always true\n return true;\n } else if (number < 10) {\n // Only 1 digit\n if (4 <= number && number <= 7) {\n return true;\n }\n return false;\n } else if (number < 100) {\n // 2 digits\n var lastDigit = number % 10,\n firstDigit = number / 10;\n if (lastDigit === 0) {\n return eifelerRegelAppliesToNumber(firstDigit);\n }\n return eifelerRegelAppliesToNumber(lastDigit);\n } else if (number < 10000) {\n // 3 or 4 digits --> recursively check first digit\n while (number >= 10) {\n number = number / 10;\n }\n return eifelerRegelAppliesToNumber(number);\n } else {\n // Anything larger than 4 digits: recursively check first n-3 digits\n number = number / 1000;\n return eifelerRegelAppliesToNumber(number);\n }\n }\n\n moment.defineLocale('lb', {\n months: 'Januar_Februar_Mäerz_Abrëll_Mee_Juni_Juli_August_September_Oktober_November_Dezember'.split(\n '_'\n ),\n monthsShort:\n 'Jan._Febr._Mrz._Abr._Mee_Jun._Jul._Aug._Sept._Okt._Nov._Dez.'.split(\n '_'\n ),\n monthsParseExact: true,\n weekdays:\n 'Sonndeg_Méindeg_Dënschdeg_Mëttwoch_Donneschdeg_Freideg_Samschdeg'.split(\n '_'\n ),\n weekdaysShort: 'So._Mé._Dë._Më._Do._Fr._Sa.'.split('_'),\n weekdaysMin: 'So_Mé_Dë_Më_Do_Fr_Sa'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'H:mm [Auer]',\n LTS: 'H:mm:ss [Auer]',\n L: 'DD.MM.YYYY',\n LL: 'D. MMMM YYYY',\n LLL: 'D. MMMM YYYY H:mm [Auer]',\n LLLL: 'dddd, D. MMMM YYYY H:mm [Auer]',\n },\n calendar: {\n sameDay: '[Haut um] LT',\n sameElse: 'L',\n nextDay: '[Muer um] LT',\n nextWeek: 'dddd [um] LT',\n lastDay: '[Gëschter um] LT',\n lastWeek: function () {\n // Different date string for 'Dënschdeg' (Tuesday) and 'Donneschdeg' (Thursday) due to phonological rule\n switch (this.day()) {\n case 2:\n case 4:\n return '[Leschten] dddd [um] LT';\n default:\n return '[Leschte] dddd [um] LT';\n }\n },\n },\n relativeTime: {\n future: processFutureTime,\n past: processPastTime,\n s: 'e puer Sekonnen',\n ss: '%d Sekonnen',\n m: processRelativeTime$8,\n mm: '%d Minutten',\n h: processRelativeTime$8,\n hh: '%d Stonnen',\n d: processRelativeTime$8,\n dd: '%d Deeg',\n M: processRelativeTime$8,\n MM: '%d Méint',\n y: processRelativeTime$8,\n yy: '%d Joer',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n //! moment.js locale configuration\n\n moment.defineLocale('lo', {\n months: 'ມັງກອນ_ກຸມພາ_ມີນາ_ເມສາ_ພຶດສະພາ_ມິຖຸນາ_ກໍລະກົດ_ສິງຫາ_ກັນຍາ_ຕຸລາ_ພະຈິກ_ທັນວາ'.split(\n '_'\n ),\n monthsShort:\n 'ມັງກອນ_ກຸມພາ_ມີນາ_ເມສາ_ພຶດສະພາ_ມິຖຸນາ_ກໍລະກົດ_ສິງຫາ_ກັນຍາ_ຕຸລາ_ພະຈິກ_ທັນວາ'.split(\n '_'\n ),\n weekdays: 'ອາທິດ_ຈັນ_ອັງຄານ_ພຸດ_ພະຫັດ_ສຸກ_ເສົາ'.split('_'),\n weekdaysShort: 'ທິດ_ຈັນ_ອັງຄານ_ພຸດ_ພະຫັດ_ສຸກ_ເສົາ'.split('_'),\n weekdaysMin: 'ທ_ຈ_ອຄ_ພ_ພຫ_ສກ_ສ'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'ວັນdddd D MMMM YYYY HH:mm',\n },\n meridiemParse: /ຕອນເຊົ້າ|ຕອນແລງ/,\n isPM: function (input) {\n return input === 'ຕອນແລງ';\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 12) {\n return 'ຕອນເຊົ້າ';\n } else {\n return 'ຕອນແລງ';\n }\n },\n calendar: {\n sameDay: '[ມື້ນີ້ເວລາ] LT',\n nextDay: '[ມື້ອື່ນເວລາ] LT',\n nextWeek: '[ວັນ]dddd[ໜ້າເວລາ] LT',\n lastDay: '[ມື້ວານນີ້ເວລາ] LT',\n lastWeek: '[ວັນ]dddd[ແລ້ວນີ້ເວລາ] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'ອີກ %s',\n past: '%sຜ່ານມາ',\n s: 'ບໍ່ເທົ່າໃດວິນາທີ',\n ss: '%d ວິນາທີ',\n m: '1 ນາທີ',\n mm: '%d ນາທີ',\n h: '1 ຊົ່ວໂມງ',\n hh: '%d ຊົ່ວໂມງ',\n d: '1 ມື້',\n dd: '%d ມື້',\n M: '1 ເດືອນ',\n MM: '%d ເດືອນ',\n y: '1 ປີ',\n yy: '%d ປີ',\n },\n dayOfMonthOrdinalParse: /(ທີ່)\\d{1,2}/,\n ordinal: function (number) {\n return 'ທີ່' + number;\n },\n });\n\n //! moment.js locale configuration\n\n var units = {\n ss: 'sekundė_sekundžių_sekundes',\n m: 'minutė_minutės_minutę',\n mm: 'minutės_minučių_minutes',\n h: 'valanda_valandos_valandą',\n hh: 'valandos_valandų_valandas',\n d: 'diena_dienos_dieną',\n dd: 'dienos_dienų_dienas',\n M: 'mėnuo_mėnesio_mėnesį',\n MM: 'mėnesiai_mėnesių_mėnesius',\n y: 'metai_metų_metus',\n yy: 'metai_metų_metus',\n };\n function translateSeconds(number, withoutSuffix, key, isFuture) {\n if (withoutSuffix) {\n return 'kelios sekundės';\n } else {\n return isFuture ? 'kelių sekundžių' : 'kelias sekundes';\n }\n }\n function translateSingular(number, withoutSuffix, key, isFuture) {\n return withoutSuffix\n ? forms(key)[0]\n : isFuture\n ? forms(key)[1]\n : forms(key)[2];\n }\n function special(number) {\n return number % 10 === 0 || (number > 10 && number < 20);\n }\n function forms(key) {\n return units[key].split('_');\n }\n function translate$6(number, withoutSuffix, key, isFuture) {\n var result = number + ' ';\n if (number === 1) {\n return (\n result + translateSingular(number, withoutSuffix, key[0], isFuture)\n );\n } else if (withoutSuffix) {\n return result + (special(number) ? forms(key)[1] : forms(key)[0]);\n } else {\n if (isFuture) {\n return result + forms(key)[1];\n } else {\n return result + (special(number) ? forms(key)[1] : forms(key)[2]);\n }\n }\n }\n moment.defineLocale('lt', {\n months: {\n format: 'sausio_vasario_kovo_balandžio_gegužės_birželio_liepos_rugpjūčio_rugsėjo_spalio_lapkričio_gruodžio'.split(\n '_'\n ),\n standalone:\n 'sausis_vasaris_kovas_balandis_gegužė_birželis_liepa_rugpjūtis_rugsėjis_spalis_lapkritis_gruodis'.split(\n '_'\n ),\n isFormat: /D[oD]?(\\[[^\\[\\]]*\\]|\\s)+MMMM?|MMMM?(\\[[^\\[\\]]*\\]|\\s)+D[oD]?/,\n },\n monthsShort: 'sau_vas_kov_bal_geg_bir_lie_rgp_rgs_spa_lap_grd'.split('_'),\n weekdays: {\n format: 'sekmadienį_pirmadienį_antradienį_trečiadienį_ketvirtadienį_penktadienį_šeštadienį'.split(\n '_'\n ),\n standalone:\n 'sekmadienis_pirmadienis_antradienis_trečiadienis_ketvirtadienis_penktadienis_šeštadienis'.split(\n '_'\n ),\n isFormat: /dddd HH:mm/,\n },\n weekdaysShort: 'Sek_Pir_Ant_Tre_Ket_Pen_Šeš'.split('_'),\n weekdaysMin: 'S_P_A_T_K_Pn_Š'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'YYYY-MM-DD',\n LL: 'YYYY [m.] MMMM D [d.]',\n LLL: 'YYYY [m.] MMMM D [d.], HH:mm [val.]',\n LLLL: 'YYYY [m.] MMMM D [d.], dddd, HH:mm [val.]',\n l: 'YYYY-MM-DD',\n ll: 'YYYY [m.] MMMM D [d.]',\n lll: 'YYYY [m.] MMMM D [d.], HH:mm [val.]',\n llll: 'YYYY [m.] MMMM D [d.], ddd, HH:mm [val.]',\n },\n calendar: {\n sameDay: '[Šiandien] LT',\n nextDay: '[Rytoj] LT',\n nextWeek: 'dddd LT',\n lastDay: '[Vakar] LT',\n lastWeek: '[Praėjusį] dddd LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'po %s',\n past: 'prieš %s',\n s: translateSeconds,\n ss: translate$6,\n m: translateSingular,\n mm: translate$6,\n h: translateSingular,\n hh: translate$6,\n d: translateSingular,\n dd: translate$6,\n M: translateSingular,\n MM: translate$6,\n y: translateSingular,\n yy: translate$6,\n },\n dayOfMonthOrdinalParse: /\\d{1,2}-oji/,\n ordinal: function (number) {\n return number + '-oji';\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n //! moment.js locale configuration\n\n var units$1 = {\n ss: 'sekundes_sekundēm_sekunde_sekundes'.split('_'),\n m: 'minūtes_minūtēm_minūte_minūtes'.split('_'),\n mm: 'minūtes_minūtēm_minūte_minūtes'.split('_'),\n h: 'stundas_stundām_stunda_stundas'.split('_'),\n hh: 'stundas_stundām_stunda_stundas'.split('_'),\n d: 'dienas_dienām_diena_dienas'.split('_'),\n dd: 'dienas_dienām_diena_dienas'.split('_'),\n M: 'mēneša_mēnešiem_mēnesis_mēneši'.split('_'),\n MM: 'mēneša_mēnešiem_mēnesis_mēneši'.split('_'),\n y: 'gada_gadiem_gads_gadi'.split('_'),\n yy: 'gada_gadiem_gads_gadi'.split('_'),\n };\n /**\n * @param withoutSuffix boolean true = a length of time; false = before/after a period of time.\n */\n function format(forms, number, withoutSuffix) {\n if (withoutSuffix) {\n // E.g. \"21 minūte\", \"3 minūtes\".\n return number % 10 === 1 && number % 100 !== 11 ? forms[2] : forms[3];\n } else {\n // E.g. \"21 minūtes\" as in \"pēc 21 minūtes\".\n // E.g. \"3 minūtēm\" as in \"pēc 3 minūtēm\".\n return number % 10 === 1 && number % 100 !== 11 ? forms[0] : forms[1];\n }\n }\n function relativeTimeWithPlural$1(number, withoutSuffix, key) {\n return number + ' ' + format(units$1[key], number, withoutSuffix);\n }\n function relativeTimeWithSingular(number, withoutSuffix, key) {\n return format(units$1[key], number, withoutSuffix);\n }\n function relativeSeconds(number, withoutSuffix) {\n return withoutSuffix ? 'dažas sekundes' : 'dažām sekundēm';\n }\n\n moment.defineLocale('lv', {\n months: 'janvāris_februāris_marts_aprīlis_maijs_jūnijs_jūlijs_augusts_septembris_oktobris_novembris_decembris'.split(\n '_'\n ),\n monthsShort: 'jan_feb_mar_apr_mai_jūn_jūl_aug_sep_okt_nov_dec'.split('_'),\n weekdays:\n 'svētdiena_pirmdiena_otrdiena_trešdiena_ceturtdiena_piektdiena_sestdiena'.split(\n '_'\n ),\n weekdaysShort: 'Sv_P_O_T_C_Pk_S'.split('_'),\n weekdaysMin: 'Sv_P_O_T_C_Pk_S'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD.MM.YYYY.',\n LL: 'YYYY. [gada] D. MMMM',\n LLL: 'YYYY. [gada] D. MMMM, HH:mm',\n LLLL: 'YYYY. [gada] D. MMMM, dddd, HH:mm',\n },\n calendar: {\n sameDay: '[Šodien pulksten] LT',\n nextDay: '[Rīt pulksten] LT',\n nextWeek: 'dddd [pulksten] LT',\n lastDay: '[Vakar pulksten] LT',\n lastWeek: '[Pagājušā] dddd [pulksten] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'pēc %s',\n past: 'pirms %s',\n s: relativeSeconds,\n ss: relativeTimeWithPlural$1,\n m: relativeTimeWithSingular,\n mm: relativeTimeWithPlural$1,\n h: relativeTimeWithSingular,\n hh: relativeTimeWithPlural$1,\n d: relativeTimeWithSingular,\n dd: relativeTimeWithPlural$1,\n M: relativeTimeWithSingular,\n MM: relativeTimeWithPlural$1,\n y: relativeTimeWithSingular,\n yy: relativeTimeWithPlural$1,\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n //! moment.js locale configuration\n\n var translator = {\n words: {\n //Different grammatical cases\n ss: ['sekund', 'sekunda', 'sekundi'],\n m: ['jedan minut', 'jednog minuta'],\n mm: ['minut', 'minuta', 'minuta'],\n h: ['jedan sat', 'jednog sata'],\n hh: ['sat', 'sata', 'sati'],\n dd: ['dan', 'dana', 'dana'],\n MM: ['mjesec', 'mjeseca', 'mjeseci'],\n yy: ['godina', 'godine', 'godina'],\n },\n correctGrammaticalCase: function (number, wordKey) {\n return number === 1\n ? wordKey[0]\n : number >= 2 && number <= 4\n ? wordKey[1]\n : wordKey[2];\n },\n translate: function (number, withoutSuffix, key) {\n var wordKey = translator.words[key];\n if (key.length === 1) {\n return withoutSuffix ? wordKey[0] : wordKey[1];\n } else {\n return (\n number +\n ' ' +\n translator.correctGrammaticalCase(number, wordKey)\n );\n }\n },\n };\n\n moment.defineLocale('me', {\n months: 'januar_februar_mart_april_maj_jun_jul_avgust_septembar_oktobar_novembar_decembar'.split(\n '_'\n ),\n monthsShort:\n 'jan._feb._mar._apr._maj_jun_jul_avg._sep._okt._nov._dec.'.split('_'),\n monthsParseExact: true,\n weekdays: 'nedjelja_ponedjeljak_utorak_srijeda_četvrtak_petak_subota'.split(\n '_'\n ),\n weekdaysShort: 'ned._pon._uto._sri._čet._pet._sub.'.split('_'),\n weekdaysMin: 'ne_po_ut_sr_če_pe_su'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'H:mm',\n LTS: 'H:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D. MMMM YYYY',\n LLL: 'D. MMMM YYYY H:mm',\n LLLL: 'dddd, D. MMMM YYYY H:mm',\n },\n calendar: {\n sameDay: '[danas u] LT',\n nextDay: '[sjutra u] LT',\n\n nextWeek: function () {\n switch (this.day()) {\n case 0:\n return '[u] [nedjelju] [u] LT';\n case 3:\n return '[u] [srijedu] [u] LT';\n case 6:\n return '[u] [subotu] [u] LT';\n case 1:\n case 2:\n case 4:\n case 5:\n return '[u] dddd [u] LT';\n }\n },\n lastDay: '[juče u] LT',\n lastWeek: function () {\n var lastWeekDays = [\n '[prošle] [nedjelje] [u] LT',\n '[prošlog] [ponedjeljka] [u] LT',\n '[prošlog] [utorka] [u] LT',\n '[prošle] [srijede] [u] LT',\n '[prošlog] [četvrtka] [u] LT',\n '[prošlog] [petka] [u] LT',\n '[prošle] [subote] [u] LT',\n ];\n return lastWeekDays[this.day()];\n },\n sameElse: 'L',\n },\n relativeTime: {\n future: 'za %s',\n past: 'prije %s',\n s: 'nekoliko sekundi',\n ss: translator.translate,\n m: translator.translate,\n mm: translator.translate,\n h: translator.translate,\n hh: translator.translate,\n d: 'dan',\n dd: translator.translate,\n M: 'mjesec',\n MM: translator.translate,\n y: 'godinu',\n yy: translator.translate,\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 7, // The week that contains Jan 7th is the first week of the year.\n },\n });\n\n //! moment.js locale configuration\n\n moment.defineLocale('mi', {\n months: 'Kohi-tāte_Hui-tanguru_Poutū-te-rangi_Paenga-whāwhā_Haratua_Pipiri_Hōngoingoi_Here-turi-kōkā_Mahuru_Whiringa-ā-nuku_Whiringa-ā-rangi_Hakihea'.split(\n '_'\n ),\n monthsShort:\n 'Kohi_Hui_Pou_Pae_Hara_Pipi_Hōngoi_Here_Mahu_Whi-nu_Whi-ra_Haki'.split(\n '_'\n ),\n monthsRegex: /(?:['a-z\\u0101\\u014D\\u016B]+\\-?){1,3}/i,\n monthsStrictRegex: /(?:['a-z\\u0101\\u014D\\u016B]+\\-?){1,3}/i,\n monthsShortRegex: /(?:['a-z\\u0101\\u014D\\u016B]+\\-?){1,3}/i,\n monthsShortStrictRegex: /(?:['a-z\\u0101\\u014D\\u016B]+\\-?){1,2}/i,\n weekdays: 'Rātapu_Mane_Tūrei_Wenerei_Tāite_Paraire_Hātarei'.split('_'),\n weekdaysShort: 'Ta_Ma_Tū_We_Tāi_Pa_Hā'.split('_'),\n weekdaysMin: 'Ta_Ma_Tū_We_Tāi_Pa_Hā'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY [i] HH:mm',\n LLLL: 'dddd, D MMMM YYYY [i] HH:mm',\n },\n calendar: {\n sameDay: '[i teie mahana, i] LT',\n nextDay: '[apopo i] LT',\n nextWeek: 'dddd [i] LT',\n lastDay: '[inanahi i] LT',\n lastWeek: 'dddd [whakamutunga i] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'i roto i %s',\n past: '%s i mua',\n s: 'te hēkona ruarua',\n ss: '%d hēkona',\n m: 'he meneti',\n mm: '%d meneti',\n h: 'te haora',\n hh: '%d haora',\n d: 'he ra',\n dd: '%d ra',\n M: 'he marama',\n MM: '%d marama',\n y: 'he tau',\n yy: '%d tau',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}º/,\n ordinal: '%dº',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n //! moment.js locale configuration\n\n moment.defineLocale('mk', {\n months: 'јануари_февруари_март_април_мај_јуни_јули_август_септември_октомври_ноември_декември'.split(\n '_'\n ),\n monthsShort: 'јан_фев_мар_апр_мај_јун_јул_авг_сеп_окт_ное_дек'.split('_'),\n weekdays: 'недела_понеделник_вторник_среда_четврток_петок_сабота'.split(\n '_'\n ),\n weekdaysShort: 'нед_пон_вто_сре_чет_пет_саб'.split('_'),\n weekdaysMin: 'нe_пo_вт_ср_че_пе_сa'.split('_'),\n longDateFormat: {\n LT: 'H:mm',\n LTS: 'H:mm:ss',\n L: 'D.MM.YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY H:mm',\n LLLL: 'dddd, D MMMM YYYY H:mm',\n },\n calendar: {\n sameDay: '[Денес во] LT',\n nextDay: '[Утре во] LT',\n nextWeek: '[Во] dddd [во] LT',\n lastDay: '[Вчера во] LT',\n lastWeek: function () {\n switch (this.day()) {\n case 0:\n case 3:\n case 6:\n return '[Изминатата] dddd [во] LT';\n case 1:\n case 2:\n case 4:\n case 5:\n return '[Изминатиот] dddd [во] LT';\n }\n },\n sameElse: 'L',\n },\n relativeTime: {\n future: 'за %s',\n past: 'пред %s',\n s: 'неколку секунди',\n ss: '%d секунди',\n m: 'една минута',\n mm: '%d минути',\n h: 'еден час',\n hh: '%d часа',\n d: 'еден ден',\n dd: '%d дена',\n M: 'еден месец',\n MM: '%d месеци',\n y: 'една година',\n yy: '%d години',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}-(ев|ен|ти|ви|ри|ми)/,\n ordinal: function (number) {\n var lastDigit = number % 10,\n last2Digits = number % 100;\n if (number === 0) {\n return number + '-ев';\n } else if (last2Digits === 0) {\n return number + '-ен';\n } else if (last2Digits > 10 && last2Digits < 20) {\n return number + '-ти';\n } else if (lastDigit === 1) {\n return number + '-ви';\n } else if (lastDigit === 2) {\n return number + '-ри';\n } else if (lastDigit === 7 || lastDigit === 8) {\n return number + '-ми';\n } else {\n return number + '-ти';\n }\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 7, // The week that contains Jan 7th is the first week of the year.\n },\n });\n\n //! moment.js locale configuration\n\n moment.defineLocale('ml', {\n months: 'ജനുവരി_ഫെബ്രുവരി_മാർച്ച്_ഏപ്രിൽ_മേയ്_ജൂൺ_ജൂലൈ_ഓഗസ്റ്റ്_സെപ്റ്റംബർ_ഒക്ടോബർ_നവംബർ_ഡിസംബർ'.split(\n '_'\n ),\n monthsShort:\n 'ജനു._ഫെബ്രു._മാർ._ഏപ്രി._മേയ്_ജൂൺ_ജൂലൈ._ഓഗ._സെപ്റ്റ._ഒക്ടോ._നവം._ഡിസം.'.split(\n '_'\n ),\n monthsParseExact: true,\n weekdays:\n 'ഞായറാഴ്ച_തിങ്കളാഴ്ച_ചൊവ്വാഴ്ച_ബുധനാഴ്ച_വ്യാഴാഴ്ച_വെള്ളിയാഴ്ച_ശനിയാഴ്ച'.split(\n '_'\n ),\n weekdaysShort: 'ഞായർ_തിങ്കൾ_ചൊവ്വ_ബുധൻ_വ്യാഴം_വെള്ളി_ശനി'.split('_'),\n weekdaysMin: 'ഞാ_തി_ചൊ_ബു_വ്യാ_വെ_ശ'.split('_'),\n longDateFormat: {\n LT: 'A h:mm -നു',\n LTS: 'A h:mm:ss -നു',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY, A h:mm -നു',\n LLLL: 'dddd, D MMMM YYYY, A h:mm -നു',\n },\n calendar: {\n sameDay: '[ഇന്ന്] LT',\n nextDay: '[നാളെ] LT',\n nextWeek: 'dddd, LT',\n lastDay: '[ഇന്നലെ] LT',\n lastWeek: '[കഴിഞ്ഞ] dddd, LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: '%s കഴിഞ്ഞ്',\n past: '%s മുൻപ്',\n s: 'അൽപ നിമിഷങ്ങൾ',\n ss: '%d സെക്കൻഡ്',\n m: 'ഒരു മിനിറ്റ്',\n mm: '%d മിനിറ്റ്',\n h: 'ഒരു മണിക്കൂർ',\n hh: '%d മണിക്കൂർ',\n d: 'ഒരു ദിവസം',\n dd: '%d ദിവസം',\n M: 'ഒരു മാസം',\n MM: '%d മാസം',\n y: 'ഒരു വർഷം',\n yy: '%d വർഷം',\n },\n meridiemParse: /രാത്രി|രാവിലെ|ഉച്ച കഴിഞ്ഞ്|വൈകുന്നേരം|രാത്രി/i,\n meridiemHour: function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (\n (meridiem === 'രാത്രി' && hour >= 4) ||\n meridiem === 'ഉച്ച കഴിഞ്ഞ്' ||\n meridiem === 'വൈകുന്നേരം'\n ) {\n return hour + 12;\n } else {\n return hour;\n }\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 4) {\n return 'രാത്രി';\n } else if (hour < 12) {\n return 'രാവിലെ';\n } else if (hour < 17) {\n return 'ഉച്ച കഴിഞ്ഞ്';\n } else if (hour < 20) {\n return 'വൈകുന്നേരം';\n } else {\n return 'രാത്രി';\n }\n },\n });\n\n //! moment.js locale configuration\n\n function translate$7(number, withoutSuffix, key, isFuture) {\n switch (key) {\n case 's':\n return withoutSuffix ? 'хэдхэн секунд' : 'хэдхэн секундын';\n case 'ss':\n return number + (withoutSuffix ? ' секунд' : ' секундын');\n case 'm':\n case 'mm':\n return number + (withoutSuffix ? ' минут' : ' минутын');\n case 'h':\n case 'hh':\n return number + (withoutSuffix ? ' цаг' : ' цагийн');\n case 'd':\n case 'dd':\n return number + (withoutSuffix ? ' өдөр' : ' өдрийн');\n case 'M':\n case 'MM':\n return number + (withoutSuffix ? ' сар' : ' сарын');\n case 'y':\n case 'yy':\n return number + (withoutSuffix ? ' жил' : ' жилийн');\n default:\n return number;\n }\n }\n\n moment.defineLocale('mn', {\n months: 'Нэгдүгээр сар_Хоёрдугаар сар_Гуравдугаар сар_Дөрөвдүгээр сар_Тавдугаар сар_Зургадугаар сар_Долдугаар сар_Наймдугаар сар_Есдүгээр сар_Аравдугаар сар_Арван нэгдүгээр сар_Арван хоёрдугаар сар'.split(\n '_'\n ),\n monthsShort:\n '1 сар_2 сар_3 сар_4 сар_5 сар_6 сар_7 сар_8 сар_9 сар_10 сар_11 сар_12 сар'.split(\n '_'\n ),\n monthsParseExact: true,\n weekdays: 'Ням_Даваа_Мягмар_Лхагва_Пүрэв_Баасан_Бямба'.split('_'),\n weekdaysShort: 'Ням_Дав_Мяг_Лха_Пүр_Баа_Бям'.split('_'),\n weekdaysMin: 'Ня_Да_Мя_Лх_Пү_Ба_Бя'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'YYYY-MM-DD',\n LL: 'YYYY оны MMMMын D',\n LLL: 'YYYY оны MMMMын D HH:mm',\n LLLL: 'dddd, YYYY оны MMMMын D HH:mm',\n },\n meridiemParse: /ҮӨ|ҮХ/i,\n isPM: function (input) {\n return input === 'ҮХ';\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 12) {\n return 'ҮӨ';\n } else {\n return 'ҮХ';\n }\n },\n calendar: {\n sameDay: '[Өнөөдөр] LT',\n nextDay: '[Маргааш] LT',\n nextWeek: '[Ирэх] dddd LT',\n lastDay: '[Өчигдөр] LT',\n lastWeek: '[Өнгөрсөн] dddd LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: '%s дараа',\n past: '%s өмнө',\n s: translate$7,\n ss: translate$7,\n m: translate$7,\n mm: translate$7,\n h: translate$7,\n hh: translate$7,\n d: translate$7,\n dd: translate$7,\n M: translate$7,\n MM: translate$7,\n y: translate$7,\n yy: translate$7,\n },\n dayOfMonthOrdinalParse: /\\d{1,2} өдөр/,\n ordinal: function (number, period) {\n switch (period) {\n case 'd':\n case 'D':\n case 'DDD':\n return number + ' өдөр';\n default:\n return number;\n }\n },\n });\n\n //! moment.js locale configuration\n\n var symbolMap$d = {\n 1: '१',\n 2: '२',\n 3: '३',\n 4: '४',\n 5: '५',\n 6: '६',\n 7: '७',\n 8: '८',\n 9: '९',\n 0: '०',\n },\n numberMap$c = {\n '१': '1',\n '२': '2',\n '३': '3',\n '४': '4',\n '५': '5',\n '६': '6',\n '७': '7',\n '८': '8',\n '९': '9',\n '०': '0',\n };\n\n function relativeTimeMr(number, withoutSuffix, string, isFuture) {\n var output = '';\n if (withoutSuffix) {\n switch (string) {\n case 's':\n output = 'काही सेकंद';\n break;\n case 'ss':\n output = '%d सेकंद';\n break;\n case 'm':\n output = 'एक मिनिट';\n break;\n case 'mm':\n output = '%d मिनिटे';\n break;\n case 'h':\n output = 'एक तास';\n break;\n case 'hh':\n output = '%d तास';\n break;\n case 'd':\n output = 'एक दिवस';\n break;\n case 'dd':\n output = '%d दिवस';\n break;\n case 'M':\n output = 'एक महिना';\n break;\n case 'MM':\n output = '%d महिने';\n break;\n case 'y':\n output = 'एक वर्ष';\n break;\n case 'yy':\n output = '%d वर्षे';\n break;\n }\n } else {\n switch (string) {\n case 's':\n output = 'काही सेकंदां';\n break;\n case 'ss':\n output = '%d सेकंदां';\n break;\n case 'm':\n output = 'एका मिनिटा';\n break;\n case 'mm':\n output = '%d मिनिटां';\n break;\n case 'h':\n output = 'एका तासा';\n break;\n case 'hh':\n output = '%d तासां';\n break;\n case 'd':\n output = 'एका दिवसा';\n break;\n case 'dd':\n output = '%d दिवसां';\n break;\n case 'M':\n output = 'एका महिन्या';\n break;\n case 'MM':\n output = '%d महिन्यां';\n break;\n case 'y':\n output = 'एका वर्षा';\n break;\n case 'yy':\n output = '%d वर्षां';\n break;\n }\n }\n return output.replace(/%d/i, number);\n }\n\n moment.defineLocale('mr', {\n months: 'जानेवारी_फेब्रुवारी_मार्च_एप्रिल_मे_जून_जुलै_ऑगस्ट_सप्टेंबर_ऑक्टोबर_नोव्हेंबर_डिसेंबर'.split(\n '_'\n ),\n monthsShort:\n 'जाने._फेब्रु._मार्च._एप्रि._मे._जून._जुलै._ऑग._सप्टें._ऑक्टो._नोव्हें._डिसें.'.split(\n '_'\n ),\n monthsParseExact: true,\n weekdays: 'रविवार_सोमवार_मंगळवार_बुधवार_गुरूवार_शुक्रवार_शनिवार'.split('_'),\n weekdaysShort: 'रवि_सोम_मंगळ_बुध_गुरू_शुक्र_शनि'.split('_'),\n weekdaysMin: 'र_सो_मं_बु_गु_शु_श'.split('_'),\n longDateFormat: {\n LT: 'A h:mm वाजता',\n LTS: 'A h:mm:ss वाजता',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY, A h:mm वाजता',\n LLLL: 'dddd, D MMMM YYYY, A h:mm वाजता',\n },\n calendar: {\n sameDay: '[आज] LT',\n nextDay: '[उद्या] LT',\n nextWeek: 'dddd, LT',\n lastDay: '[काल] LT',\n lastWeek: '[मागील] dddd, LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: '%sमध्ये',\n past: '%sपूर्वी',\n s: relativeTimeMr,\n ss: relativeTimeMr,\n m: relativeTimeMr,\n mm: relativeTimeMr,\n h: relativeTimeMr,\n hh: relativeTimeMr,\n d: relativeTimeMr,\n dd: relativeTimeMr,\n M: relativeTimeMr,\n MM: relativeTimeMr,\n y: relativeTimeMr,\n yy: relativeTimeMr,\n },\n preparse: function (string) {\n return string.replace(/[१२३४५६७८९०]/g, function (match) {\n return numberMap$c[match];\n });\n },\n postformat: function (string) {\n return string.replace(/\\d/g, function (match) {\n return symbolMap$d[match];\n });\n },\n meridiemParse: /पहाटे|सकाळी|दुपारी|सायंकाळी|रात्री/,\n meridiemHour: function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === 'पहाटे' || meridiem === 'सकाळी') {\n return hour;\n } else if (\n meridiem === 'दुपारी' ||\n meridiem === 'सायंकाळी' ||\n meridiem === 'रात्री'\n ) {\n return hour >= 12 ? hour : hour + 12;\n }\n },\n meridiem: function (hour, minute, isLower) {\n if (hour >= 0 && hour < 6) {\n return 'पहाटे';\n } else if (hour < 12) {\n return 'सकाळी';\n } else if (hour < 17) {\n return 'दुपारी';\n } else if (hour < 20) {\n return 'सायंकाळी';\n } else {\n return 'रात्री';\n }\n },\n week: {\n dow: 0, // Sunday is the first day of the week.\n doy: 6, // The week that contains Jan 6th is the first week of the year.\n },\n });\n\n //! moment.js locale configuration\n\n moment.defineLocale('ms-my', {\n months: 'Januari_Februari_Mac_April_Mei_Jun_Julai_Ogos_September_Oktober_November_Disember'.split(\n '_'\n ),\n monthsShort: 'Jan_Feb_Mac_Apr_Mei_Jun_Jul_Ogs_Sep_Okt_Nov_Dis'.split('_'),\n weekdays: 'Ahad_Isnin_Selasa_Rabu_Khamis_Jumaat_Sabtu'.split('_'),\n weekdaysShort: 'Ahd_Isn_Sel_Rab_Kha_Jum_Sab'.split('_'),\n weekdaysMin: 'Ah_Is_Sl_Rb_Km_Jm_Sb'.split('_'),\n longDateFormat: {\n LT: 'HH.mm',\n LTS: 'HH.mm.ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY [pukul] HH.mm',\n LLLL: 'dddd, D MMMM YYYY [pukul] HH.mm',\n },\n meridiemParse: /pagi|tengahari|petang|malam/,\n meridiemHour: function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === 'pagi') {\n return hour;\n } else if (meridiem === 'tengahari') {\n return hour >= 11 ? hour : hour + 12;\n } else if (meridiem === 'petang' || meridiem === 'malam') {\n return hour + 12;\n }\n },\n meridiem: function (hours, minutes, isLower) {\n if (hours < 11) {\n return 'pagi';\n } else if (hours < 15) {\n return 'tengahari';\n } else if (hours < 19) {\n return 'petang';\n } else {\n return 'malam';\n }\n },\n calendar: {\n sameDay: '[Hari ini pukul] LT',\n nextDay: '[Esok pukul] LT',\n nextWeek: 'dddd [pukul] LT',\n lastDay: '[Kelmarin pukul] LT',\n lastWeek: 'dddd [lepas pukul] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'dalam %s',\n past: '%s yang lepas',\n s: 'beberapa saat',\n ss: '%d saat',\n m: 'seminit',\n mm: '%d minit',\n h: 'sejam',\n hh: '%d jam',\n d: 'sehari',\n dd: '%d hari',\n M: 'sebulan',\n MM: '%d bulan',\n y: 'setahun',\n yy: '%d tahun',\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 7, // The week that contains Jan 7th is the first week of the year.\n },\n });\n\n //! moment.js locale configuration\n\n moment.defineLocale('ms', {\n months: 'Januari_Februari_Mac_April_Mei_Jun_Julai_Ogos_September_Oktober_November_Disember'.split(\n '_'\n ),\n monthsShort: 'Jan_Feb_Mac_Apr_Mei_Jun_Jul_Ogs_Sep_Okt_Nov_Dis'.split('_'),\n weekdays: 'Ahad_Isnin_Selasa_Rabu_Khamis_Jumaat_Sabtu'.split('_'),\n weekdaysShort: 'Ahd_Isn_Sel_Rab_Kha_Jum_Sab'.split('_'),\n weekdaysMin: 'Ah_Is_Sl_Rb_Km_Jm_Sb'.split('_'),\n longDateFormat: {\n LT: 'HH.mm',\n LTS: 'HH.mm.ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY [pukul] HH.mm',\n LLLL: 'dddd, D MMMM YYYY [pukul] HH.mm',\n },\n meridiemParse: /pagi|tengahari|petang|malam/,\n meridiemHour: function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === 'pagi') {\n return hour;\n } else if (meridiem === 'tengahari') {\n return hour >= 11 ? hour : hour + 12;\n } else if (meridiem === 'petang' || meridiem === 'malam') {\n return hour + 12;\n }\n },\n meridiem: function (hours, minutes, isLower) {\n if (hours < 11) {\n return 'pagi';\n } else if (hours < 15) {\n return 'tengahari';\n } else if (hours < 19) {\n return 'petang';\n } else {\n return 'malam';\n }\n },\n calendar: {\n sameDay: '[Hari ini pukul] LT',\n nextDay: '[Esok pukul] LT',\n nextWeek: 'dddd [pukul] LT',\n lastDay: '[Kelmarin pukul] LT',\n lastWeek: 'dddd [lepas pukul] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'dalam %s',\n past: '%s yang lepas',\n s: 'beberapa saat',\n ss: '%d saat',\n m: 'seminit',\n mm: '%d minit',\n h: 'sejam',\n hh: '%d jam',\n d: 'sehari',\n dd: '%d hari',\n M: 'sebulan',\n MM: '%d bulan',\n y: 'setahun',\n yy: '%d tahun',\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 7, // The week that contains Jan 7th is the first week of the year.\n },\n });\n\n //! moment.js locale configuration\n\n moment.defineLocale('mt', {\n months: 'Jannar_Frar_Marzu_April_Mejju_Ġunju_Lulju_Awwissu_Settembru_Ottubru_Novembru_Diċembru'.split(\n '_'\n ),\n monthsShort: 'Jan_Fra_Mar_Apr_Mej_Ġun_Lul_Aww_Set_Ott_Nov_Diċ'.split('_'),\n weekdays:\n 'Il-Ħadd_It-Tnejn_It-Tlieta_L-Erbgħa_Il-Ħamis_Il-Ġimgħa_Is-Sibt'.split(\n '_'\n ),\n weekdaysShort: 'Ħad_Tne_Tli_Erb_Ħam_Ġim_Sib'.split('_'),\n weekdaysMin: 'Ħa_Tn_Tl_Er_Ħa_Ġi_Si'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd, D MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[Illum fil-]LT',\n nextDay: '[Għada fil-]LT',\n nextWeek: 'dddd [fil-]LT',\n lastDay: '[Il-bieraħ fil-]LT',\n lastWeek: 'dddd [li għadda] [fil-]LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'f’ %s',\n past: '%s ilu',\n s: 'ftit sekondi',\n ss: '%d sekondi',\n m: 'minuta',\n mm: '%d minuti',\n h: 'siegħa',\n hh: '%d siegħat',\n d: 'ġurnata',\n dd: '%d ġranet',\n M: 'xahar',\n MM: '%d xhur',\n y: 'sena',\n yy: '%d sni',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}º/,\n ordinal: '%dº',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n //! moment.js locale configuration\n\n var symbolMap$e = {\n 1: '၁',\n 2: '၂',\n 3: '၃',\n 4: '၄',\n 5: '၅',\n 6: '၆',\n 7: '၇',\n 8: '၈',\n 9: '၉',\n 0: '၀',\n },\n numberMap$d = {\n '၁': '1',\n '၂': '2',\n '၃': '3',\n '၄': '4',\n '၅': '5',\n '၆': '6',\n '၇': '7',\n '၈': '8',\n '၉': '9',\n '၀': '0',\n };\n\n moment.defineLocale('my', {\n months: 'ဇန်နဝါရီ_ဖေဖော်ဝါရီ_မတ်_ဧပြီ_မေ_ဇွန်_ဇူလိုင်_သြဂုတ်_စက်တင်ဘာ_အောက်တိုဘာ_နိုဝင်ဘာ_ဒီဇင်ဘာ'.split(\n '_'\n ),\n monthsShort: 'ဇန်_ဖေ_မတ်_ပြီ_မေ_ဇွန်_လိုင်_သြ_စက်_အောက်_နို_ဒီ'.split('_'),\n weekdays: 'တနင်္ဂနွေ_တနင်္လာ_အင်္ဂါ_ဗုဒ္ဓဟူး_ကြာသပတေး_သောကြာ_စနေ'.split(\n '_'\n ),\n weekdaysShort: 'နွေ_လာ_ဂါ_ဟူး_ကြာ_သော_နေ'.split('_'),\n weekdaysMin: 'နွေ_လာ_ဂါ_ဟူး_ကြာ_သော_နေ'.split('_'),\n\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd D MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[ယနေ.] LT [မှာ]',\n nextDay: '[မနက်ဖြန်] LT [မှာ]',\n nextWeek: 'dddd LT [မှာ]',\n lastDay: '[မနေ.က] LT [မှာ]',\n lastWeek: '[ပြီးခဲ့သော] dddd LT [မှာ]',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'လာမည့် %s မှာ',\n past: 'လွန်ခဲ့သော %s က',\n s: 'စက္ကန်.အနည်းငယ်',\n ss: '%d စက္ကန့်',\n m: 'တစ်မိနစ်',\n mm: '%d မိနစ်',\n h: 'တစ်နာရီ',\n hh: '%d နာရီ',\n d: 'တစ်ရက်',\n dd: '%d ရက်',\n M: 'တစ်လ',\n MM: '%d လ',\n y: 'တစ်နှစ်',\n yy: '%d နှစ်',\n },\n preparse: function (string) {\n return string.replace(/[၁၂၃၄၅၆၇၈၉၀]/g, function (match) {\n return numberMap$d[match];\n });\n },\n postformat: function (string) {\n return string.replace(/\\d/g, function (match) {\n return symbolMap$e[match];\n });\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n //! moment.js locale configuration\n\n moment.defineLocale('nb', {\n months: 'januar_februar_mars_april_mai_juni_juli_august_september_oktober_november_desember'.split(\n '_'\n ),\n monthsShort:\n 'jan._feb._mars_apr._mai_juni_juli_aug._sep._okt._nov._des.'.split('_'),\n monthsParseExact: true,\n weekdays: 'søndag_mandag_tirsdag_onsdag_torsdag_fredag_lørdag'.split('_'),\n weekdaysShort: 'sø._ma._ti._on._to._fr._lø.'.split('_'),\n weekdaysMin: 'sø_ma_ti_on_to_fr_lø'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D. MMMM YYYY',\n LLL: 'D. MMMM YYYY [kl.] HH:mm',\n LLLL: 'dddd D. MMMM YYYY [kl.] HH:mm',\n },\n calendar: {\n sameDay: '[i dag kl.] LT',\n nextDay: '[i morgen kl.] LT',\n nextWeek: 'dddd [kl.] LT',\n lastDay: '[i går kl.] LT',\n lastWeek: '[forrige] dddd [kl.] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'om %s',\n past: '%s siden',\n s: 'noen sekunder',\n ss: '%d sekunder',\n m: 'ett minutt',\n mm: '%d minutter',\n h: 'én time',\n hh: '%d timer',\n d: 'én dag',\n dd: '%d dager',\n w: 'én uke',\n ww: '%d uker',\n M: 'én måned',\n MM: '%d måneder',\n y: 'ett år',\n yy: '%d år',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n //! moment.js locale configuration\n\n var symbolMap$f = {\n 1: '१',\n 2: '२',\n 3: '३',\n 4: '४',\n 5: '५',\n 6: '६',\n 7: '७',\n 8: '८',\n 9: '९',\n 0: '०',\n },\n numberMap$e = {\n '१': '1',\n '२': '2',\n '३': '3',\n '४': '4',\n '५': '5',\n '६': '6',\n '७': '7',\n '८': '8',\n '९': '9',\n '०': '0',\n };\n\n moment.defineLocale('ne', {\n months: 'जनवरी_फेब्रुवरी_मार्च_अप्रिल_मई_जुन_जुलाई_अगष्ट_सेप्टेम्बर_अक्टोबर_नोभेम्बर_डिसेम्बर'.split(\n '_'\n ),\n monthsShort:\n 'जन._फेब्रु._मार्च_अप्रि._मई_जुन_जुलाई._अग._सेप्ट._अक्टो._नोभे._डिसे.'.split(\n '_'\n ),\n monthsParseExact: true,\n weekdays: 'आइतबार_सोमबार_मङ्गलबार_बुधबार_बिहिबार_शुक्रबार_शनिबार'.split(\n '_'\n ),\n weekdaysShort: 'आइत._सोम._मङ्गल._बुध._बिहि._शुक्र._शनि.'.split('_'),\n weekdaysMin: 'आ._सो._मं._बु._बि._शु._श.'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'Aको h:mm बजे',\n LTS: 'Aको h:mm:ss बजे',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY, Aको h:mm बजे',\n LLLL: 'dddd, D MMMM YYYY, Aको h:mm बजे',\n },\n preparse: function (string) {\n return string.replace(/[१२३४५६७८९०]/g, function (match) {\n return numberMap$e[match];\n });\n },\n postformat: function (string) {\n return string.replace(/\\d/g, function (match) {\n return symbolMap$f[match];\n });\n },\n meridiemParse: /राति|बिहान|दिउँसो|साँझ/,\n meridiemHour: function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === 'राति') {\n return hour < 4 ? hour : hour + 12;\n } else if (meridiem === 'बिहान') {\n return hour;\n } else if (meridiem === 'दिउँसो') {\n return hour >= 10 ? hour : hour + 12;\n } else if (meridiem === 'साँझ') {\n return hour + 12;\n }\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 3) {\n return 'राति';\n } else if (hour < 12) {\n return 'बिहान';\n } else if (hour < 16) {\n return 'दिउँसो';\n } else if (hour < 20) {\n return 'साँझ';\n } else {\n return 'राति';\n }\n },\n calendar: {\n sameDay: '[आज] LT',\n nextDay: '[भोलि] LT',\n nextWeek: '[आउँदो] dddd[,] LT',\n lastDay: '[हिजो] LT',\n lastWeek: '[गएको] dddd[,] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: '%sमा',\n past: '%s अगाडि',\n s: 'केही क्षण',\n ss: '%d सेकेण्ड',\n m: 'एक मिनेट',\n mm: '%d मिनेट',\n h: 'एक घण्टा',\n hh: '%d घण्टा',\n d: 'एक दिन',\n dd: '%d दिन',\n M: 'एक महिना',\n MM: '%d महिना',\n y: 'एक बर्ष',\n yy: '%d बर्ष',\n },\n week: {\n dow: 0, // Sunday is the first day of the week.\n doy: 6, // The week that contains Jan 6th is the first week of the year.\n },\n });\n\n //! moment.js locale configuration\n\n var monthsShortWithDots$1 =\n 'jan._feb._mrt._apr._mei_jun._jul._aug._sep._okt._nov._dec.'.split('_'),\n monthsShortWithoutDots$1 =\n 'jan_feb_mrt_apr_mei_jun_jul_aug_sep_okt_nov_dec'.split('_'),\n monthsParse$8 = [\n /^jan/i,\n /^feb/i,\n /^(maart|mrt\\.?)$/i,\n /^apr/i,\n /^mei$/i,\n /^jun[i.]?$/i,\n /^jul[i.]?$/i,\n /^aug/i,\n /^sep/i,\n /^okt/i,\n /^nov/i,\n /^dec/i,\n ],\n monthsRegex$7 =\n /^(januari|februari|maart|april|mei|ju[nl]i|augustus|september|oktober|november|december|jan\\.?|feb\\.?|mrt\\.?|apr\\.?|ju[nl]\\.?|aug\\.?|sep\\.?|okt\\.?|nov\\.?|dec\\.?)/i;\n\n moment.defineLocale('nl-be', {\n months: 'januari_februari_maart_april_mei_juni_juli_augustus_september_oktober_november_december'.split(\n '_'\n ),\n monthsShort: function (m, format) {\n if (!m) {\n return monthsShortWithDots$1;\n } else if (/-MMM-/.test(format)) {\n return monthsShortWithoutDots$1[m.month()];\n } else {\n return monthsShortWithDots$1[m.month()];\n }\n },\n\n monthsRegex: monthsRegex$7,\n monthsShortRegex: monthsRegex$7,\n monthsStrictRegex:\n /^(januari|februari|maart|april|mei|ju[nl]i|augustus|september|oktober|november|december)/i,\n monthsShortStrictRegex:\n /^(jan\\.?|feb\\.?|mrt\\.?|apr\\.?|mei|ju[nl]\\.?|aug\\.?|sep\\.?|okt\\.?|nov\\.?|dec\\.?)/i,\n\n monthsParse: monthsParse$8,\n longMonthsParse: monthsParse$8,\n shortMonthsParse: monthsParse$8,\n\n weekdays:\n 'zondag_maandag_dinsdag_woensdag_donderdag_vrijdag_zaterdag'.split('_'),\n weekdaysShort: 'zo._ma._di._wo._do._vr._za.'.split('_'),\n weekdaysMin: 'zo_ma_di_wo_do_vr_za'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd D MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[vandaag om] LT',\n nextDay: '[morgen om] LT',\n nextWeek: 'dddd [om] LT',\n lastDay: '[gisteren om] LT',\n lastWeek: '[afgelopen] dddd [om] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'over %s',\n past: '%s geleden',\n s: 'een paar seconden',\n ss: '%d seconden',\n m: 'één minuut',\n mm: '%d minuten',\n h: 'één uur',\n hh: '%d uur',\n d: 'één dag',\n dd: '%d dagen',\n M: 'één maand',\n MM: '%d maanden',\n y: 'één jaar',\n yy: '%d jaar',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(ste|de)/,\n ordinal: function (number) {\n return (\n number +\n (number === 1 || number === 8 || number >= 20 ? 'ste' : 'de')\n );\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n //! moment.js locale configuration\n\n var monthsShortWithDots$2 =\n 'jan._feb._mrt._apr._mei_jun._jul._aug._sep._okt._nov._dec.'.split('_'),\n monthsShortWithoutDots$2 =\n 'jan_feb_mrt_apr_mei_jun_jul_aug_sep_okt_nov_dec'.split('_'),\n monthsParse$9 = [\n /^jan/i,\n /^feb/i,\n /^(maart|mrt\\.?)$/i,\n /^apr/i,\n /^mei$/i,\n /^jun[i.]?$/i,\n /^jul[i.]?$/i,\n /^aug/i,\n /^sep/i,\n /^okt/i,\n /^nov/i,\n /^dec/i,\n ],\n monthsRegex$8 =\n /^(januari|februari|maart|april|mei|ju[nl]i|augustus|september|oktober|november|december|jan\\.?|feb\\.?|mrt\\.?|apr\\.?|ju[nl]\\.?|aug\\.?|sep\\.?|okt\\.?|nov\\.?|dec\\.?)/i;\n\n moment.defineLocale('nl', {\n months: 'januari_februari_maart_april_mei_juni_juli_augustus_september_oktober_november_december'.split(\n '_'\n ),\n monthsShort: function (m, format) {\n if (!m) {\n return monthsShortWithDots$2;\n } else if (/-MMM-/.test(format)) {\n return monthsShortWithoutDots$2[m.month()];\n } else {\n return monthsShortWithDots$2[m.month()];\n }\n },\n\n monthsRegex: monthsRegex$8,\n monthsShortRegex: monthsRegex$8,\n monthsStrictRegex:\n /^(januari|februari|maart|april|mei|ju[nl]i|augustus|september|oktober|november|december)/i,\n monthsShortStrictRegex:\n /^(jan\\.?|feb\\.?|mrt\\.?|apr\\.?|mei|ju[nl]\\.?|aug\\.?|sep\\.?|okt\\.?|nov\\.?|dec\\.?)/i,\n\n monthsParse: monthsParse$9,\n longMonthsParse: monthsParse$9,\n shortMonthsParse: monthsParse$9,\n\n weekdays:\n 'zondag_maandag_dinsdag_woensdag_donderdag_vrijdag_zaterdag'.split('_'),\n weekdaysShort: 'zo._ma._di._wo._do._vr._za.'.split('_'),\n weekdaysMin: 'zo_ma_di_wo_do_vr_za'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD-MM-YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd D MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[vandaag om] LT',\n nextDay: '[morgen om] LT',\n nextWeek: 'dddd [om] LT',\n lastDay: '[gisteren om] LT',\n lastWeek: '[afgelopen] dddd [om] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'over %s',\n past: '%s geleden',\n s: 'een paar seconden',\n ss: '%d seconden',\n m: 'één minuut',\n mm: '%d minuten',\n h: 'één uur',\n hh: '%d uur',\n d: 'één dag',\n dd: '%d dagen',\n w: 'één week',\n ww: '%d weken',\n M: 'één maand',\n MM: '%d maanden',\n y: 'één jaar',\n yy: '%d jaar',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(ste|de)/,\n ordinal: function (number) {\n return (\n number +\n (number === 1 || number === 8 || number >= 20 ? 'ste' : 'de')\n );\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n //! moment.js locale configuration\n\n moment.defineLocale('nn', {\n months: 'januar_februar_mars_april_mai_juni_juli_august_september_oktober_november_desember'.split(\n '_'\n ),\n monthsShort:\n 'jan._feb._mars_apr._mai_juni_juli_aug._sep._okt._nov._des.'.split('_'),\n monthsParseExact: true,\n weekdays: 'sundag_måndag_tysdag_onsdag_torsdag_fredag_laurdag'.split('_'),\n weekdaysShort: 'su._må._ty._on._to._fr._lau.'.split('_'),\n weekdaysMin: 'su_må_ty_on_to_fr_la'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D. MMMM YYYY',\n LLL: 'D. MMMM YYYY [kl.] H:mm',\n LLLL: 'dddd D. MMMM YYYY [kl.] HH:mm',\n },\n calendar: {\n sameDay: '[I dag klokka] LT',\n nextDay: '[I morgon klokka] LT',\n nextWeek: 'dddd [klokka] LT',\n lastDay: '[I går klokka] LT',\n lastWeek: '[Føregåande] dddd [klokka] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'om %s',\n past: '%s sidan',\n s: 'nokre sekund',\n ss: '%d sekund',\n m: 'eit minutt',\n mm: '%d minutt',\n h: 'ein time',\n hh: '%d timar',\n d: 'ein dag',\n dd: '%d dagar',\n w: 'ei veke',\n ww: '%d veker',\n M: 'ein månad',\n MM: '%d månader',\n y: 'eit år',\n yy: '%d år',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n //! moment.js locale configuration\n\n moment.defineLocale('oc-lnc', {\n months: {\n standalone:\n 'genièr_febrièr_març_abril_mai_junh_julhet_agost_setembre_octòbre_novembre_decembre'.split(\n '_'\n ),\n format: \"de genièr_de febrièr_de març_d'abril_de mai_de junh_de julhet_d'agost_de setembre_d'octòbre_de novembre_de decembre\".split(\n '_'\n ),\n isFormat: /D[oD]?(\\s)+MMMM/,\n },\n monthsShort:\n 'gen._febr._març_abr._mai_junh_julh._ago._set._oct._nov._dec.'.split(\n '_'\n ),\n monthsParseExact: true,\n weekdays: 'dimenge_diluns_dimars_dimècres_dijòus_divendres_dissabte'.split(\n '_'\n ),\n weekdaysShort: 'dg._dl._dm._dc._dj._dv._ds.'.split('_'),\n weekdaysMin: 'dg_dl_dm_dc_dj_dv_ds'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'H:mm',\n LTS: 'H:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM [de] YYYY',\n ll: 'D MMM YYYY',\n LLL: 'D MMMM [de] YYYY [a] H:mm',\n lll: 'D MMM YYYY, H:mm',\n LLLL: 'dddd D MMMM [de] YYYY [a] H:mm',\n llll: 'ddd D MMM YYYY, H:mm',\n },\n calendar: {\n sameDay: '[uèi a] LT',\n nextDay: '[deman a] LT',\n nextWeek: 'dddd [a] LT',\n lastDay: '[ièr a] LT',\n lastWeek: 'dddd [passat a] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: \"d'aquí %s\",\n past: 'fa %s',\n s: 'unas segondas',\n ss: '%d segondas',\n m: 'una minuta',\n mm: '%d minutas',\n h: 'una ora',\n hh: '%d oras',\n d: 'un jorn',\n dd: '%d jorns',\n M: 'un mes',\n MM: '%d meses',\n y: 'un an',\n yy: '%d ans',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(r|n|t|è|a)/,\n ordinal: function (number, period) {\n var output =\n number === 1\n ? 'r'\n : number === 2\n ? 'n'\n : number === 3\n ? 'r'\n : number === 4\n ? 't'\n : 'è';\n if (period === 'w' || period === 'W') {\n output = 'a';\n }\n return number + output;\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4,\n },\n });\n\n //! moment.js locale configuration\n\n var symbolMap$g = {\n 1: '੧',\n 2: '੨',\n 3: '੩',\n 4: '੪',\n 5: '੫',\n 6: '੬',\n 7: '੭',\n 8: '੮',\n 9: '੯',\n 0: '੦',\n },\n numberMap$f = {\n '੧': '1',\n '੨': '2',\n '੩': '3',\n '੪': '4',\n '੫': '5',\n '੬': '6',\n '੭': '7',\n '੮': '8',\n '੯': '9',\n '੦': '0',\n };\n\n moment.defineLocale('pa-in', {\n // There are months name as per Nanakshahi Calendar but they are not used as rigidly in modern Punjabi.\n months: 'ਜਨਵਰੀ_ਫ਼ਰਵਰੀ_ਮਾਰਚ_ਅਪ੍ਰੈਲ_ਮਈ_ਜੂਨ_ਜੁਲਾਈ_ਅਗਸਤ_ਸਤੰਬਰ_ਅਕਤੂਬਰ_ਨਵੰਬਰ_ਦਸੰਬਰ'.split(\n '_'\n ),\n monthsShort:\n 'ਜਨਵਰੀ_ਫ਼ਰਵਰੀ_ਮਾਰਚ_ਅਪ੍ਰੈਲ_ਮਈ_ਜੂਨ_ਜੁਲਾਈ_ਅਗਸਤ_ਸਤੰਬਰ_ਅਕਤੂਬਰ_ਨਵੰਬਰ_ਦਸੰਬਰ'.split(\n '_'\n ),\n weekdays: 'ਐਤਵਾਰ_ਸੋਮਵਾਰ_ਮੰਗਲਵਾਰ_ਬੁਧਵਾਰ_ਵੀਰਵਾਰ_ਸ਼ੁੱਕਰਵਾਰ_ਸ਼ਨੀਚਰਵਾਰ'.split(\n '_'\n ),\n weekdaysShort: 'ਐਤ_ਸੋਮ_ਮੰਗਲ_ਬੁਧ_ਵੀਰ_ਸ਼ੁਕਰ_ਸ਼ਨੀ'.split('_'),\n weekdaysMin: 'ਐਤ_ਸੋਮ_ਮੰਗਲ_ਬੁਧ_ਵੀਰ_ਸ਼ੁਕਰ_ਸ਼ਨੀ'.split('_'),\n longDateFormat: {\n LT: 'A h:mm ਵਜੇ',\n LTS: 'A h:mm:ss ਵਜੇ',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY, A h:mm ਵਜੇ',\n LLLL: 'dddd, D MMMM YYYY, A h:mm ਵਜੇ',\n },\n calendar: {\n sameDay: '[ਅਜ] LT',\n nextDay: '[ਕਲ] LT',\n nextWeek: '[ਅਗਲਾ] dddd, LT',\n lastDay: '[ਕਲ] LT',\n lastWeek: '[ਪਿਛਲੇ] dddd, LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: '%s ਵਿੱਚ',\n past: '%s ਪਿਛਲੇ',\n s: 'ਕੁਝ ਸਕਿੰਟ',\n ss: '%d ਸਕਿੰਟ',\n m: 'ਇਕ ਮਿੰਟ',\n mm: '%d ਮਿੰਟ',\n h: 'ਇੱਕ ਘੰਟਾ',\n hh: '%d ਘੰਟੇ',\n d: 'ਇੱਕ ਦਿਨ',\n dd: '%d ਦਿਨ',\n M: 'ਇੱਕ ਮਹੀਨਾ',\n MM: '%d ਮਹੀਨੇ',\n y: 'ਇੱਕ ਸਾਲ',\n yy: '%d ਸਾਲ',\n },\n preparse: function (string) {\n return string.replace(/[੧੨੩੪੫੬੭੮੯੦]/g, function (match) {\n return numberMap$f[match];\n });\n },\n postformat: function (string) {\n return string.replace(/\\d/g, function (match) {\n return symbolMap$g[match];\n });\n },\n // Punjabi notation for meridiems are quite fuzzy in practice. While there exists\n // a rigid notion of a 'Pahar' it is not used as rigidly in modern Punjabi.\n meridiemParse: /ਰਾਤ|ਸਵੇਰ|ਦੁਪਹਿਰ|ਸ਼ਾਮ/,\n meridiemHour: function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === 'ਰਾਤ') {\n return hour < 4 ? hour : hour + 12;\n } else if (meridiem === 'ਸਵੇਰ') {\n return hour;\n } else if (meridiem === 'ਦੁਪਹਿਰ') {\n return hour >= 10 ? hour : hour + 12;\n } else if (meridiem === 'ਸ਼ਾਮ') {\n return hour + 12;\n }\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 4) {\n return 'ਰਾਤ';\n } else if (hour < 10) {\n return 'ਸਵੇਰ';\n } else if (hour < 17) {\n return 'ਦੁਪਹਿਰ';\n } else if (hour < 20) {\n return 'ਸ਼ਾਮ';\n } else {\n return 'ਰਾਤ';\n }\n },\n week: {\n dow: 0, // Sunday is the first day of the week.\n doy: 6, // The week that contains Jan 6th is the first week of the year.\n },\n });\n\n //! moment.js locale configuration\n\n var monthsNominative =\n 'styczeń_luty_marzec_kwiecień_maj_czerwiec_lipiec_sierpień_wrzesień_październik_listopad_grudzień'.split(\n '_'\n ),\n monthsSubjective =\n 'stycznia_lutego_marca_kwietnia_maja_czerwca_lipca_sierpnia_września_października_listopada_grudnia'.split(\n '_'\n ),\n monthsParse$a = [\n /^sty/i,\n /^lut/i,\n /^mar/i,\n /^kwi/i,\n /^maj/i,\n /^cze/i,\n /^lip/i,\n /^sie/i,\n /^wrz/i,\n /^paź/i,\n /^lis/i,\n /^gru/i,\n ];\n function plural$3(n) {\n return n % 10 < 5 && n % 10 > 1 && ~~(n / 10) % 10 !== 1;\n }\n function translate$8(number, withoutSuffix, key) {\n var result = number + ' ';\n switch (key) {\n case 'ss':\n return result + (plural$3(number) ? 'sekundy' : 'sekund');\n case 'm':\n return withoutSuffix ? 'minuta' : 'minutę';\n case 'mm':\n return result + (plural$3(number) ? 'minuty' : 'minut');\n case 'h':\n return withoutSuffix ? 'godzina' : 'godzinę';\n case 'hh':\n return result + (plural$3(number) ? 'godziny' : 'godzin');\n case 'ww':\n return result + (plural$3(number) ? 'tygodnie' : 'tygodni');\n case 'MM':\n return result + (plural$3(number) ? 'miesiące' : 'miesięcy');\n case 'yy':\n return result + (plural$3(number) ? 'lata' : 'lat');\n }\n }\n\n moment.defineLocale('pl', {\n months: function (momentToFormat, format) {\n if (!momentToFormat) {\n return monthsNominative;\n } else if (/D MMMM/.test(format)) {\n return monthsSubjective[momentToFormat.month()];\n } else {\n return monthsNominative[momentToFormat.month()];\n }\n },\n monthsShort: 'sty_lut_mar_kwi_maj_cze_lip_sie_wrz_paź_lis_gru'.split('_'),\n monthsParse: monthsParse$a,\n longMonthsParse: monthsParse$a,\n shortMonthsParse: monthsParse$a,\n weekdays:\n 'niedziela_poniedziałek_wtorek_środa_czwartek_piątek_sobota'.split('_'),\n weekdaysShort: 'ndz_pon_wt_śr_czw_pt_sob'.split('_'),\n weekdaysMin: 'Nd_Pn_Wt_Śr_Cz_Pt_So'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd, D MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[Dziś o] LT',\n nextDay: '[Jutro o] LT',\n nextWeek: function () {\n switch (this.day()) {\n case 0:\n return '[W niedzielę o] LT';\n\n case 2:\n return '[We wtorek o] LT';\n\n case 3:\n return '[W środę o] LT';\n\n case 6:\n return '[W sobotę o] LT';\n\n default:\n return '[W] dddd [o] LT';\n }\n },\n lastDay: '[Wczoraj o] LT',\n lastWeek: function () {\n switch (this.day()) {\n case 0:\n return '[W zeszłą niedzielę o] LT';\n case 3:\n return '[W zeszłą środę o] LT';\n case 6:\n return '[W zeszłą sobotę o] LT';\n default:\n return '[W zeszły] dddd [o] LT';\n }\n },\n sameElse: 'L',\n },\n relativeTime: {\n future: 'za %s',\n past: '%s temu',\n s: 'kilka sekund',\n ss: translate$8,\n m: translate$8,\n mm: translate$8,\n h: translate$8,\n hh: translate$8,\n d: '1 dzień',\n dd: '%d dni',\n w: 'tydzień',\n ww: translate$8,\n M: 'miesiąc',\n MM: translate$8,\n y: 'rok',\n yy: translate$8,\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n //! moment.js locale configuration\n\n moment.defineLocale('pt-br', {\n months: 'janeiro_fevereiro_março_abril_maio_junho_julho_agosto_setembro_outubro_novembro_dezembro'.split(\n '_'\n ),\n monthsShort: 'jan_fev_mar_abr_mai_jun_jul_ago_set_out_nov_dez'.split('_'),\n weekdays:\n 'domingo_segunda-feira_terça-feira_quarta-feira_quinta-feira_sexta-feira_sábado'.split(\n '_'\n ),\n weekdaysShort: 'dom_seg_ter_qua_qui_sex_sáb'.split('_'),\n weekdaysMin: 'do_2ª_3ª_4ª_5ª_6ª_sá'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D [de] MMMM [de] YYYY',\n LLL: 'D [de] MMMM [de] YYYY [às] HH:mm',\n LLLL: 'dddd, D [de] MMMM [de] YYYY [às] HH:mm',\n },\n calendar: {\n sameDay: '[Hoje às] LT',\n nextDay: '[Amanhã às] LT',\n nextWeek: 'dddd [às] LT',\n lastDay: '[Ontem às] LT',\n lastWeek: function () {\n return this.day() === 0 || this.day() === 6\n ? '[Último] dddd [às] LT' // Saturday + Sunday\n : '[Última] dddd [às] LT'; // Monday - Friday\n },\n sameElse: 'L',\n },\n relativeTime: {\n future: 'em %s',\n past: 'há %s',\n s: 'poucos segundos',\n ss: '%d segundos',\n m: 'um minuto',\n mm: '%d minutos',\n h: 'uma hora',\n hh: '%d horas',\n d: 'um dia',\n dd: '%d dias',\n M: 'um mês',\n MM: '%d meses',\n y: 'um ano',\n yy: '%d anos',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}º/,\n ordinal: '%dº',\n invalidDate: 'Data inválida',\n });\n\n //! moment.js locale configuration\n\n moment.defineLocale('pt', {\n months: 'janeiro_fevereiro_março_abril_maio_junho_julho_agosto_setembro_outubro_novembro_dezembro'.split(\n '_'\n ),\n monthsShort: 'jan_fev_mar_abr_mai_jun_jul_ago_set_out_nov_dez'.split('_'),\n weekdays:\n 'Domingo_Segunda-feira_Terça-feira_Quarta-feira_Quinta-feira_Sexta-feira_Sábado'.split(\n '_'\n ),\n weekdaysShort: 'Dom_Seg_Ter_Qua_Qui_Sex_Sáb'.split('_'),\n weekdaysMin: 'Do_2ª_3ª_4ª_5ª_6ª_Sá'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D [de] MMMM [de] YYYY',\n LLL: 'D [de] MMMM [de] YYYY HH:mm',\n LLLL: 'dddd, D [de] MMMM [de] YYYY HH:mm',\n },\n calendar: {\n sameDay: '[Hoje às] LT',\n nextDay: '[Amanhã às] LT',\n nextWeek: 'dddd [às] LT',\n lastDay: '[Ontem às] LT',\n lastWeek: function () {\n return this.day() === 0 || this.day() === 6\n ? '[Último] dddd [às] LT' // Saturday + Sunday\n : '[Última] dddd [às] LT'; // Monday - Friday\n },\n sameElse: 'L',\n },\n relativeTime: {\n future: 'em %s',\n past: 'há %s',\n s: 'segundos',\n ss: '%d segundos',\n m: 'um minuto',\n mm: '%d minutos',\n h: 'uma hora',\n hh: '%d horas',\n d: 'um dia',\n dd: '%d dias',\n w: 'uma semana',\n ww: '%d semanas',\n M: 'um mês',\n MM: '%d meses',\n y: 'um ano',\n yy: '%d anos',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}º/,\n ordinal: '%dº',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n //! moment.js locale configuration\n\n function relativeTimeWithPlural$2(number, withoutSuffix, key) {\n var format = {\n ss: 'secunde',\n mm: 'minute',\n hh: 'ore',\n dd: 'zile',\n ww: 'săptămâni',\n MM: 'luni',\n yy: 'ani',\n },\n separator = ' ';\n if (number % 100 >= 20 || (number >= 100 && number % 100 === 0)) {\n separator = ' de ';\n }\n return number + separator + format[key];\n }\n\n moment.defineLocale('ro', {\n months: 'ianuarie_februarie_martie_aprilie_mai_iunie_iulie_august_septembrie_octombrie_noiembrie_decembrie'.split(\n '_'\n ),\n monthsShort:\n 'ian._feb._mart._apr._mai_iun._iul._aug._sept._oct._nov._dec.'.split(\n '_'\n ),\n monthsParseExact: true,\n weekdays: 'duminică_luni_marți_miercuri_joi_vineri_sâmbătă'.split('_'),\n weekdaysShort: 'Dum_Lun_Mar_Mie_Joi_Vin_Sâm'.split('_'),\n weekdaysMin: 'Du_Lu_Ma_Mi_Jo_Vi_Sâ'.split('_'),\n longDateFormat: {\n LT: 'H:mm',\n LTS: 'H:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY H:mm',\n LLLL: 'dddd, D MMMM YYYY H:mm',\n },\n calendar: {\n sameDay: '[azi la] LT',\n nextDay: '[mâine la] LT',\n nextWeek: 'dddd [la] LT',\n lastDay: '[ieri la] LT',\n lastWeek: '[fosta] dddd [la] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'peste %s',\n past: '%s în urmă',\n s: 'câteva secunde',\n ss: relativeTimeWithPlural$2,\n m: 'un minut',\n mm: relativeTimeWithPlural$2,\n h: 'o oră',\n hh: relativeTimeWithPlural$2,\n d: 'o zi',\n dd: relativeTimeWithPlural$2,\n w: 'o săptămână',\n ww: relativeTimeWithPlural$2,\n M: 'o lună',\n MM: relativeTimeWithPlural$2,\n y: 'un an',\n yy: relativeTimeWithPlural$2,\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 7, // The week that contains Jan 7th is the first week of the year.\n },\n });\n\n //! moment.js locale configuration\n\n function plural$4(word, num) {\n var forms = word.split('_');\n return num % 10 === 1 && num % 100 !== 11\n ? forms[0]\n : num % 10 >= 2 && num % 10 <= 4 && (num % 100 < 10 || num % 100 >= 20)\n ? forms[1]\n : forms[2];\n }\n function relativeTimeWithPlural$3(number, withoutSuffix, key) {\n var format = {\n ss: withoutSuffix ? 'секунда_секунды_секунд' : 'секунду_секунды_секунд',\n mm: withoutSuffix ? 'минута_минуты_минут' : 'минуту_минуты_минут',\n hh: 'час_часа_часов',\n dd: 'день_дня_дней',\n ww: 'неделя_недели_недель',\n MM: 'месяц_месяца_месяцев',\n yy: 'год_года_лет',\n };\n if (key === 'm') {\n return withoutSuffix ? 'минута' : 'минуту';\n } else {\n return number + ' ' + plural$4(format[key], +number);\n }\n }\n var monthsParse$b = [\n /^янв/i,\n /^фев/i,\n /^мар/i,\n /^апр/i,\n /^ма[йя]/i,\n /^июн/i,\n /^июл/i,\n /^авг/i,\n /^сен/i,\n /^окт/i,\n /^ноя/i,\n /^дек/i,\n ];\n\n // http://new.gramota.ru/spravka/rules/139-prop : § 103\n // Сокращения месяцев: http://new.gramota.ru/spravka/buro/search-answer?s=242637\n // CLDR data: http://www.unicode.org/cldr/charts/28/summary/ru.html#1753\n moment.defineLocale('ru', {\n months: {\n format: 'января_февраля_марта_апреля_мая_июня_июля_августа_сентября_октября_ноября_декабря'.split(\n '_'\n ),\n standalone:\n 'январь_февраль_март_апрель_май_июнь_июль_август_сентябрь_октябрь_ноябрь_декабрь'.split(\n '_'\n ),\n },\n monthsShort: {\n // по CLDR именно \"июл.\" и \"июн.\", но какой смысл менять букву на точку?\n format: 'янв._февр._мар._апр._мая_июня_июля_авг._сент._окт._нояб._дек.'.split(\n '_'\n ),\n standalone:\n 'янв._февр._март_апр._май_июнь_июль_авг._сент._окт._нояб._дек.'.split(\n '_'\n ),\n },\n weekdays: {\n standalone:\n 'воскресенье_понедельник_вторник_среда_четверг_пятница_суббота'.split(\n '_'\n ),\n format: 'воскресенье_понедельник_вторник_среду_четверг_пятницу_субботу'.split(\n '_'\n ),\n isFormat: /\\[ ?[Вв] ?(?:прошлую|следующую|эту)? ?] ?dddd/,\n },\n weekdaysShort: 'вс_пн_вт_ср_чт_пт_сб'.split('_'),\n weekdaysMin: 'вс_пн_вт_ср_чт_пт_сб'.split('_'),\n monthsParse: monthsParse$b,\n longMonthsParse: monthsParse$b,\n shortMonthsParse: monthsParse$b,\n\n // полные названия с падежами, по три буквы, для некоторых, по 4 буквы, сокращения с точкой и без точки\n monthsRegex:\n /^(январ[ья]|янв\\.?|феврал[ья]|февр?\\.?|марта?|мар\\.?|апрел[ья]|апр\\.?|ма[йя]|июн[ья]|июн\\.?|июл[ья]|июл\\.?|августа?|авг\\.?|сентябр[ья]|сент?\\.?|октябр[ья]|окт\\.?|ноябр[ья]|нояб?\\.?|декабр[ья]|дек\\.?)/i,\n\n // копия предыдущего\n monthsShortRegex:\n /^(январ[ья]|янв\\.?|феврал[ья]|февр?\\.?|марта?|мар\\.?|апрел[ья]|апр\\.?|ма[йя]|июн[ья]|июн\\.?|июл[ья]|июл\\.?|августа?|авг\\.?|сентябр[ья]|сент?\\.?|октябр[ья]|окт\\.?|ноябр[ья]|нояб?\\.?|декабр[ья]|дек\\.?)/i,\n\n // полные названия с падежами\n monthsStrictRegex:\n /^(январ[яь]|феврал[яь]|марта?|апрел[яь]|ма[яй]|июн[яь]|июл[яь]|августа?|сентябр[яь]|октябр[яь]|ноябр[яь]|декабр[яь])/i,\n\n // Выражение, которое соответствует только сокращённым формам\n monthsShortStrictRegex:\n /^(янв\\.|февр?\\.|мар[т.]|апр\\.|ма[яй]|июн[ья.]|июл[ья.]|авг\\.|сент?\\.|окт\\.|нояб?\\.|дек\\.)/i,\n longDateFormat: {\n LT: 'H:mm',\n LTS: 'H:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D MMMM YYYY г.',\n LLL: 'D MMMM YYYY г., H:mm',\n LLLL: 'dddd, D MMMM YYYY г., H:mm',\n },\n calendar: {\n sameDay: '[Сегодня, в] LT',\n nextDay: '[Завтра, в] LT',\n lastDay: '[Вчера, в] LT',\n nextWeek: function (now) {\n if (now.week() !== this.week()) {\n switch (this.day()) {\n case 0:\n return '[В следующее] dddd, [в] LT';\n case 1:\n case 2:\n case 4:\n return '[В следующий] dddd, [в] LT';\n case 3:\n case 5:\n case 6:\n return '[В следующую] dddd, [в] LT';\n }\n } else {\n if (this.day() === 2) {\n return '[Во] dddd, [в] LT';\n } else {\n return '[В] dddd, [в] LT';\n }\n }\n },\n lastWeek: function (now) {\n if (now.week() !== this.week()) {\n switch (this.day()) {\n case 0:\n return '[В прошлое] dddd, [в] LT';\n case 1:\n case 2:\n case 4:\n return '[В прошлый] dddd, [в] LT';\n case 3:\n case 5:\n case 6:\n return '[В прошлую] dddd, [в] LT';\n }\n } else {\n if (this.day() === 2) {\n return '[Во] dddd, [в] LT';\n } else {\n return '[В] dddd, [в] LT';\n }\n }\n },\n sameElse: 'L',\n },\n relativeTime: {\n future: 'через %s',\n past: '%s назад',\n s: 'несколько секунд',\n ss: relativeTimeWithPlural$3,\n m: relativeTimeWithPlural$3,\n mm: relativeTimeWithPlural$3,\n h: 'час',\n hh: relativeTimeWithPlural$3,\n d: 'день',\n dd: relativeTimeWithPlural$3,\n w: 'неделя',\n ww: relativeTimeWithPlural$3,\n M: 'месяц',\n MM: relativeTimeWithPlural$3,\n y: 'год',\n yy: relativeTimeWithPlural$3,\n },\n meridiemParse: /ночи|утра|дня|вечера/i,\n isPM: function (input) {\n return /^(дня|вечера)$/.test(input);\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 4) {\n return 'ночи';\n } else if (hour < 12) {\n return 'утра';\n } else if (hour < 17) {\n return 'дня';\n } else {\n return 'вечера';\n }\n },\n dayOfMonthOrdinalParse: /\\d{1,2}-(й|го|я)/,\n ordinal: function (number, period) {\n switch (period) {\n case 'M':\n case 'd':\n case 'DDD':\n return number + '-й';\n case 'D':\n return number + '-го';\n case 'w':\n case 'W':\n return number + '-я';\n default:\n return number;\n }\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n //! moment.js locale configuration\n\n var months$8 = [\n 'جنوري',\n 'فيبروري',\n 'مارچ',\n 'اپريل',\n 'مئي',\n 'جون',\n 'جولاءِ',\n 'آگسٽ',\n 'سيپٽمبر',\n 'آڪٽوبر',\n 'نومبر',\n 'ڊسمبر',\n ],\n days = ['آچر', 'سومر', 'اڱارو', 'اربع', 'خميس', 'جمع', 'ڇنڇر'];\n\n moment.defineLocale('sd', {\n months: months$8,\n monthsShort: months$8,\n weekdays: days,\n weekdaysShort: days,\n weekdaysMin: days,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd، D MMMM YYYY HH:mm',\n },\n meridiemParse: /صبح|شام/,\n isPM: function (input) {\n return 'شام' === input;\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 12) {\n return 'صبح';\n }\n return 'شام';\n },\n calendar: {\n sameDay: '[اڄ] LT',\n nextDay: '[سڀاڻي] LT',\n nextWeek: 'dddd [اڳين هفتي تي] LT',\n lastDay: '[ڪالهه] LT',\n lastWeek: '[گزريل هفتي] dddd [تي] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: '%s پوء',\n past: '%s اڳ',\n s: 'چند سيڪنڊ',\n ss: '%d سيڪنڊ',\n m: 'هڪ منٽ',\n mm: '%d منٽ',\n h: 'هڪ ڪلاڪ',\n hh: '%d ڪلاڪ',\n d: 'هڪ ڏينهن',\n dd: '%d ڏينهن',\n M: 'هڪ مهينو',\n MM: '%d مهينا',\n y: 'هڪ سال',\n yy: '%d سال',\n },\n preparse: function (string) {\n return string.replace(/،/g, ',');\n },\n postformat: function (string) {\n return string.replace(/,/g, '،');\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n //! moment.js locale configuration\n\n moment.defineLocale('se', {\n months: 'ođđajagemánnu_guovvamánnu_njukčamánnu_cuoŋománnu_miessemánnu_geassemánnu_suoidnemánnu_borgemánnu_čakčamánnu_golggotmánnu_skábmamánnu_juovlamánnu'.split(\n '_'\n ),\n monthsShort:\n 'ođđj_guov_njuk_cuo_mies_geas_suoi_borg_čakč_golg_skáb_juov'.split('_'),\n weekdays:\n 'sotnabeaivi_vuossárga_maŋŋebárga_gaskavahkku_duorastat_bearjadat_lávvardat'.split(\n '_'\n ),\n weekdaysShort: 'sotn_vuos_maŋ_gask_duor_bear_láv'.split('_'),\n weekdaysMin: 's_v_m_g_d_b_L'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'MMMM D. [b.] YYYY',\n LLL: 'MMMM D. [b.] YYYY [ti.] HH:mm',\n LLLL: 'dddd, MMMM D. [b.] YYYY [ti.] HH:mm',\n },\n calendar: {\n sameDay: '[otne ti] LT',\n nextDay: '[ihttin ti] LT',\n nextWeek: 'dddd [ti] LT',\n lastDay: '[ikte ti] LT',\n lastWeek: '[ovddit] dddd [ti] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: '%s geažes',\n past: 'maŋit %s',\n s: 'moadde sekunddat',\n ss: '%d sekunddat',\n m: 'okta minuhta',\n mm: '%d minuhtat',\n h: 'okta diimmu',\n hh: '%d diimmut',\n d: 'okta beaivi',\n dd: '%d beaivvit',\n M: 'okta mánnu',\n MM: '%d mánut',\n y: 'okta jahki',\n yy: '%d jagit',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n //! moment.js locale configuration\n\n /*jshint -W100*/\n moment.defineLocale('si', {\n months: 'ජනවාරි_පෙබරවාරි_මාර්තු_අප්‍රේල්_මැයි_ජූනි_ජූලි_අගෝස්තු_සැප්තැම්බර්_ඔක්තෝබර්_නොවැම්බර්_දෙසැම්බර්'.split(\n '_'\n ),\n monthsShort: 'ජන_පෙබ_මාර්_අප්_මැයි_ජූනි_ජූලි_අගෝ_සැප්_ඔක්_නොවැ_දෙසැ'.split(\n '_'\n ),\n weekdays:\n 'ඉරිදා_සඳුදා_අඟහරුවාදා_බදාදා_බ්‍රහස්පතින්දා_සිකුරාදා_සෙනසුරාදා'.split(\n '_'\n ),\n weekdaysShort: 'ඉරි_සඳු_අඟ_බදා_බ්‍රහ_සිකු_සෙන'.split('_'),\n weekdaysMin: 'ඉ_ස_අ_බ_බ්‍ර_සි_සෙ'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'a h:mm',\n LTS: 'a h:mm:ss',\n L: 'YYYY/MM/DD',\n LL: 'YYYY MMMM D',\n LLL: 'YYYY MMMM D, a h:mm',\n LLLL: 'YYYY MMMM D [වැනි] dddd, a h:mm:ss',\n },\n calendar: {\n sameDay: '[අද] LT[ට]',\n nextDay: '[හෙට] LT[ට]',\n nextWeek: 'dddd LT[ට]',\n lastDay: '[ඊයේ] LT[ට]',\n lastWeek: '[පසුගිය] dddd LT[ට]',\n sameElse: 'L',\n },\n relativeTime: {\n future: '%sකින්',\n past: '%sකට පෙර',\n s: 'තත්පර කිහිපය',\n ss: 'තත්පර %d',\n m: 'මිනිත්තුව',\n mm: 'මිනිත්තු %d',\n h: 'පැය',\n hh: 'පැය %d',\n d: 'දිනය',\n dd: 'දින %d',\n M: 'මාසය',\n MM: 'මාස %d',\n y: 'වසර',\n yy: 'වසර %d',\n },\n dayOfMonthOrdinalParse: /\\d{1,2} වැනි/,\n ordinal: function (number) {\n return number + ' වැනි';\n },\n meridiemParse: /පෙර වරු|පස් වරු|පෙ.ව|ප.ව./,\n isPM: function (input) {\n return input === 'ප.ව.' || input === 'පස් වරු';\n },\n meridiem: function (hours, minutes, isLower) {\n if (hours > 11) {\n return isLower ? 'ප.ව.' : 'පස් වරු';\n } else {\n return isLower ? 'පෙ.ව.' : 'පෙර වරු';\n }\n },\n });\n\n //! moment.js locale configuration\n\n var months$9 =\n 'január_február_marec_apríl_máj_jún_júl_august_september_október_november_december'.split(\n '_'\n ),\n monthsShort$7 = 'jan_feb_mar_apr_máj_jún_júl_aug_sep_okt_nov_dec'.split('_');\n function plural$5(n) {\n return n > 1 && n < 5;\n }\n function translate$9(number, withoutSuffix, key, isFuture) {\n var result = number + ' ';\n switch (key) {\n case 's': // a few seconds / in a few seconds / a few seconds ago\n return withoutSuffix || isFuture ? 'pár sekúnd' : 'pár sekundami';\n case 'ss': // 9 seconds / in 9 seconds / 9 seconds ago\n if (withoutSuffix || isFuture) {\n return result + (plural$5(number) ? 'sekundy' : 'sekúnd');\n } else {\n return result + 'sekundami';\n }\n case 'm': // a minute / in a minute / a minute ago\n return withoutSuffix ? 'minúta' : isFuture ? 'minútu' : 'minútou';\n case 'mm': // 9 minutes / in 9 minutes / 9 minutes ago\n if (withoutSuffix || isFuture) {\n return result + (plural$5(number) ? 'minúty' : 'minút');\n } else {\n return result + 'minútami';\n }\n case 'h': // an hour / in an hour / an hour ago\n return withoutSuffix ? 'hodina' : isFuture ? 'hodinu' : 'hodinou';\n case 'hh': // 9 hours / in 9 hours / 9 hours ago\n if (withoutSuffix || isFuture) {\n return result + (plural$5(number) ? 'hodiny' : 'hodín');\n } else {\n return result + 'hodinami';\n }\n case 'd': // a day / in a day / a day ago\n return withoutSuffix || isFuture ? 'deň' : 'dňom';\n case 'dd': // 9 days / in 9 days / 9 days ago\n if (withoutSuffix || isFuture) {\n return result + (plural$5(number) ? 'dni' : 'dní');\n } else {\n return result + 'dňami';\n }\n case 'M': // a month / in a month / a month ago\n return withoutSuffix || isFuture ? 'mesiac' : 'mesiacom';\n case 'MM': // 9 months / in 9 months / 9 months ago\n if (withoutSuffix || isFuture) {\n return result + (plural$5(number) ? 'mesiace' : 'mesiacov');\n } else {\n return result + 'mesiacmi';\n }\n case 'y': // a year / in a year / a year ago\n return withoutSuffix || isFuture ? 'rok' : 'rokom';\n case 'yy': // 9 years / in 9 years / 9 years ago\n if (withoutSuffix || isFuture) {\n return result + (plural$5(number) ? 'roky' : 'rokov');\n } else {\n return result + 'rokmi';\n }\n }\n }\n\n moment.defineLocale('sk', {\n months: months$9,\n monthsShort: monthsShort$7,\n weekdays: 'nedeľa_pondelok_utorok_streda_štvrtok_piatok_sobota'.split('_'),\n weekdaysShort: 'ne_po_ut_st_št_pi_so'.split('_'),\n weekdaysMin: 'ne_po_ut_st_št_pi_so'.split('_'),\n longDateFormat: {\n LT: 'H:mm',\n LTS: 'H:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D. MMMM YYYY',\n LLL: 'D. MMMM YYYY H:mm',\n LLLL: 'dddd D. MMMM YYYY H:mm',\n },\n calendar: {\n sameDay: '[dnes o] LT',\n nextDay: '[zajtra o] LT',\n nextWeek: function () {\n switch (this.day()) {\n case 0:\n return '[v nedeľu o] LT';\n case 1:\n case 2:\n return '[v] dddd [o] LT';\n case 3:\n return '[v stredu o] LT';\n case 4:\n return '[vo štvrtok o] LT';\n case 5:\n return '[v piatok o] LT';\n case 6:\n return '[v sobotu o] LT';\n }\n },\n lastDay: '[včera o] LT',\n lastWeek: function () {\n switch (this.day()) {\n case 0:\n return '[minulú nedeľu o] LT';\n case 1:\n case 2:\n return '[minulý] dddd [o] LT';\n case 3:\n return '[minulú stredu o] LT';\n case 4:\n case 5:\n return '[minulý] dddd [o] LT';\n case 6:\n return '[minulú sobotu o] LT';\n }\n },\n sameElse: 'L',\n },\n relativeTime: {\n future: 'za %s',\n past: 'pred %s',\n s: translate$9,\n ss: translate$9,\n m: translate$9,\n mm: translate$9,\n h: translate$9,\n hh: translate$9,\n d: translate$9,\n dd: translate$9,\n M: translate$9,\n MM: translate$9,\n y: translate$9,\n yy: translate$9,\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n //! moment.js locale configuration\n\n function processRelativeTime$9(number, withoutSuffix, key, isFuture) {\n var result = number + ' ';\n switch (key) {\n case 's':\n return withoutSuffix || isFuture\n ? 'nekaj sekund'\n : 'nekaj sekundami';\n case 'ss':\n if (number === 1) {\n result += withoutSuffix ? 'sekundo' : 'sekundi';\n } else if (number === 2) {\n result += withoutSuffix || isFuture ? 'sekundi' : 'sekundah';\n } else if (number < 5) {\n result += withoutSuffix || isFuture ? 'sekunde' : 'sekundah';\n } else {\n result += 'sekund';\n }\n return result;\n case 'm':\n return withoutSuffix ? 'ena minuta' : 'eno minuto';\n case 'mm':\n if (number === 1) {\n result += withoutSuffix ? 'minuta' : 'minuto';\n } else if (number === 2) {\n result += withoutSuffix || isFuture ? 'minuti' : 'minutama';\n } else if (number < 5) {\n result += withoutSuffix || isFuture ? 'minute' : 'minutami';\n } else {\n result += withoutSuffix || isFuture ? 'minut' : 'minutami';\n }\n return result;\n case 'h':\n return withoutSuffix ? 'ena ura' : 'eno uro';\n case 'hh':\n if (number === 1) {\n result += withoutSuffix ? 'ura' : 'uro';\n } else if (number === 2) {\n result += withoutSuffix || isFuture ? 'uri' : 'urama';\n } else if (number < 5) {\n result += withoutSuffix || isFuture ? 'ure' : 'urami';\n } else {\n result += withoutSuffix || isFuture ? 'ur' : 'urami';\n }\n return result;\n case 'd':\n return withoutSuffix || isFuture ? 'en dan' : 'enim dnem';\n case 'dd':\n if (number === 1) {\n result += withoutSuffix || isFuture ? 'dan' : 'dnem';\n } else if (number === 2) {\n result += withoutSuffix || isFuture ? 'dni' : 'dnevoma';\n } else {\n result += withoutSuffix || isFuture ? 'dni' : 'dnevi';\n }\n return result;\n case 'M':\n return withoutSuffix || isFuture ? 'en mesec' : 'enim mesecem';\n case 'MM':\n if (number === 1) {\n result += withoutSuffix || isFuture ? 'mesec' : 'mesecem';\n } else if (number === 2) {\n result += withoutSuffix || isFuture ? 'meseca' : 'mesecema';\n } else if (number < 5) {\n result += withoutSuffix || isFuture ? 'mesece' : 'meseci';\n } else {\n result += withoutSuffix || isFuture ? 'mesecev' : 'meseci';\n }\n return result;\n case 'y':\n return withoutSuffix || isFuture ? 'eno leto' : 'enim letom';\n case 'yy':\n if (number === 1) {\n result += withoutSuffix || isFuture ? 'leto' : 'letom';\n } else if (number === 2) {\n result += withoutSuffix || isFuture ? 'leti' : 'letoma';\n } else if (number < 5) {\n result += withoutSuffix || isFuture ? 'leta' : 'leti';\n } else {\n result += withoutSuffix || isFuture ? 'let' : 'leti';\n }\n return result;\n }\n }\n\n moment.defineLocale('sl', {\n months: 'januar_februar_marec_april_maj_junij_julij_avgust_september_oktober_november_december'.split(\n '_'\n ),\n monthsShort:\n 'jan._feb._mar._apr._maj._jun._jul._avg._sep._okt._nov._dec.'.split(\n '_'\n ),\n monthsParseExact: true,\n weekdays: 'nedelja_ponedeljek_torek_sreda_četrtek_petek_sobota'.split('_'),\n weekdaysShort: 'ned._pon._tor._sre._čet._pet._sob.'.split('_'),\n weekdaysMin: 'ne_po_to_sr_če_pe_so'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'H:mm',\n LTS: 'H:mm:ss',\n L: 'DD. MM. YYYY',\n LL: 'D. MMMM YYYY',\n LLL: 'D. MMMM YYYY H:mm',\n LLLL: 'dddd, D. MMMM YYYY H:mm',\n },\n calendar: {\n sameDay: '[danes ob] LT',\n nextDay: '[jutri ob] LT',\n\n nextWeek: function () {\n switch (this.day()) {\n case 0:\n return '[v] [nedeljo] [ob] LT';\n case 3:\n return '[v] [sredo] [ob] LT';\n case 6:\n return '[v] [soboto] [ob] LT';\n case 1:\n case 2:\n case 4:\n case 5:\n return '[v] dddd [ob] LT';\n }\n },\n lastDay: '[včeraj ob] LT',\n lastWeek: function () {\n switch (this.day()) {\n case 0:\n return '[prejšnjo] [nedeljo] [ob] LT';\n case 3:\n return '[prejšnjo] [sredo] [ob] LT';\n case 6:\n return '[prejšnjo] [soboto] [ob] LT';\n case 1:\n case 2:\n case 4:\n case 5:\n return '[prejšnji] dddd [ob] LT';\n }\n },\n sameElse: 'L',\n },\n relativeTime: {\n future: 'čez %s',\n past: 'pred %s',\n s: processRelativeTime$9,\n ss: processRelativeTime$9,\n m: processRelativeTime$9,\n mm: processRelativeTime$9,\n h: processRelativeTime$9,\n hh: processRelativeTime$9,\n d: processRelativeTime$9,\n dd: processRelativeTime$9,\n M: processRelativeTime$9,\n MM: processRelativeTime$9,\n y: processRelativeTime$9,\n yy: processRelativeTime$9,\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 7, // The week that contains Jan 7th is the first week of the year.\n },\n });\n\n //! moment.js locale configuration\n\n moment.defineLocale('sq', {\n months: 'Janar_Shkurt_Mars_Prill_Maj_Qershor_Korrik_Gusht_Shtator_Tetor_Nëntor_Dhjetor'.split(\n '_'\n ),\n monthsShort: 'Jan_Shk_Mar_Pri_Maj_Qer_Kor_Gus_Sht_Tet_Nën_Dhj'.split('_'),\n weekdays: 'E Diel_E Hënë_E Martë_E Mërkurë_E Enjte_E Premte_E Shtunë'.split(\n '_'\n ),\n weekdaysShort: 'Die_Hën_Mar_Mër_Enj_Pre_Sht'.split('_'),\n weekdaysMin: 'D_H_Ma_Më_E_P_Sh'.split('_'),\n weekdaysParseExact: true,\n meridiemParse: /PD|MD/,\n isPM: function (input) {\n return input.charAt(0) === 'M';\n },\n meridiem: function (hours, minutes, isLower) {\n return hours < 12 ? 'PD' : 'MD';\n },\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd, D MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[Sot në] LT',\n nextDay: '[Nesër në] LT',\n nextWeek: 'dddd [në] LT',\n lastDay: '[Dje në] LT',\n lastWeek: 'dddd [e kaluar në] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'në %s',\n past: '%s më parë',\n s: 'disa sekonda',\n ss: '%d sekonda',\n m: 'një minutë',\n mm: '%d minuta',\n h: 'një orë',\n hh: '%d orë',\n d: 'një ditë',\n dd: '%d ditë',\n M: 'një muaj',\n MM: '%d muaj',\n y: 'një vit',\n yy: '%d vite',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n //! moment.js locale configuration\n\n var translator$1 = {\n words: {\n //Different grammatical cases\n ss: ['секунда', 'секунде', 'секунди'],\n m: ['један минут', 'једног минута'],\n mm: ['минут', 'минута', 'минута'],\n h: ['један сат', 'једног сата'],\n hh: ['сат', 'сата', 'сати'],\n d: ['један дан', 'једног дана'],\n dd: ['дан', 'дана', 'дана'],\n M: ['један месец', 'једног месеца'],\n MM: ['месец', 'месеца', 'месеци'],\n y: ['једну годину', 'једне године'],\n yy: ['годину', 'године', 'година'],\n },\n correctGrammaticalCase: function (number, wordKey) {\n if (\n number % 10 >= 1 &&\n number % 10 <= 4 &&\n (number % 100 < 10 || number % 100 >= 20)\n ) {\n return number % 10 === 1 ? wordKey[0] : wordKey[1];\n }\n return wordKey[2];\n },\n translate: function (number, withoutSuffix, key, isFuture) {\n var wordKey = translator$1.words[key],\n word;\n\n if (key.length === 1) {\n // Nominativ\n if (key === 'y' && withoutSuffix) return 'једна година';\n return isFuture || withoutSuffix ? wordKey[0] : wordKey[1];\n }\n\n word = translator$1.correctGrammaticalCase(number, wordKey);\n // Nominativ\n if (key === 'yy' && withoutSuffix && word === 'годину') {\n return number + ' година';\n }\n\n return number + ' ' + word;\n },\n };\n\n moment.defineLocale('sr-cyrl', {\n months: 'јануар_фебруар_март_април_мај_јун_јул_август_септембар_октобар_новембар_децембар'.split(\n '_'\n ),\n monthsShort:\n 'јан._феб._мар._апр._мај_јун_јул_авг._сеп._окт._нов._дец.'.split('_'),\n monthsParseExact: true,\n weekdays: 'недеља_понедељак_уторак_среда_четвртак_петак_субота'.split('_'),\n weekdaysShort: 'нед._пон._уто._сре._чет._пет._суб.'.split('_'),\n weekdaysMin: 'не_по_ут_ср_че_пе_су'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'H:mm',\n LTS: 'H:mm:ss',\n L: 'D. M. YYYY.',\n LL: 'D. MMMM YYYY.',\n LLL: 'D. MMMM YYYY. H:mm',\n LLLL: 'dddd, D. MMMM YYYY. H:mm',\n },\n calendar: {\n sameDay: '[данас у] LT',\n nextDay: '[сутра у] LT',\n nextWeek: function () {\n switch (this.day()) {\n case 0:\n return '[у] [недељу] [у] LT';\n case 3:\n return '[у] [среду] [у] LT';\n case 6:\n return '[у] [суботу] [у] LT';\n case 1:\n case 2:\n case 4:\n case 5:\n return '[у] dddd [у] LT';\n }\n },\n lastDay: '[јуче у] LT',\n lastWeek: function () {\n var lastWeekDays = [\n '[прошле] [недеље] [у] LT',\n '[прошлог] [понедељка] [у] LT',\n '[прошлог] [уторка] [у] LT',\n '[прошле] [среде] [у] LT',\n '[прошлог] [четвртка] [у] LT',\n '[прошлог] [петка] [у] LT',\n '[прошле] [суботе] [у] LT',\n ];\n return lastWeekDays[this.day()];\n },\n sameElse: 'L',\n },\n relativeTime: {\n future: 'за %s',\n past: 'пре %s',\n s: 'неколико секунди',\n ss: translator$1.translate,\n m: translator$1.translate,\n mm: translator$1.translate,\n h: translator$1.translate,\n hh: translator$1.translate,\n d: translator$1.translate,\n dd: translator$1.translate,\n M: translator$1.translate,\n MM: translator$1.translate,\n y: translator$1.translate,\n yy: translator$1.translate,\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 7, // The week that contains Jan 1st is the first week of the year.\n },\n });\n\n //! moment.js locale configuration\n\n var translator$2 = {\n words: {\n //Different grammatical cases\n ss: ['sekunda', 'sekunde', 'sekundi'],\n m: ['jedan minut', 'jednog minuta'],\n mm: ['minut', 'minuta', 'minuta'],\n h: ['jedan sat', 'jednog sata'],\n hh: ['sat', 'sata', 'sati'],\n d: ['jedan dan', 'jednog dana'],\n dd: ['dan', 'dana', 'dana'],\n M: ['jedan mesec', 'jednog meseca'],\n MM: ['mesec', 'meseca', 'meseci'],\n y: ['jednu godinu', 'jedne godine'],\n yy: ['godinu', 'godine', 'godina'],\n },\n correctGrammaticalCase: function (number, wordKey) {\n if (\n number % 10 >= 1 &&\n number % 10 <= 4 &&\n (number % 100 < 10 || number % 100 >= 20)\n ) {\n return number % 10 === 1 ? wordKey[0] : wordKey[1];\n }\n return wordKey[2];\n },\n translate: function (number, withoutSuffix, key, isFuture) {\n var wordKey = translator$2.words[key],\n word;\n\n if (key.length === 1) {\n // Nominativ\n if (key === 'y' && withoutSuffix) return 'jedna godina';\n return isFuture || withoutSuffix ? wordKey[0] : wordKey[1];\n }\n\n word = translator$2.correctGrammaticalCase(number, wordKey);\n // Nominativ\n if (key === 'yy' && withoutSuffix && word === 'godinu') {\n return number + ' godina';\n }\n\n return number + ' ' + word;\n },\n };\n\n moment.defineLocale('sr', {\n months: 'januar_februar_mart_april_maj_jun_jul_avgust_septembar_oktobar_novembar_decembar'.split(\n '_'\n ),\n monthsShort:\n 'jan._feb._mar._apr._maj_jun_jul_avg._sep._okt._nov._dec.'.split('_'),\n monthsParseExact: true,\n weekdays: 'nedelja_ponedeljak_utorak_sreda_četvrtak_petak_subota'.split(\n '_'\n ),\n weekdaysShort: 'ned._pon._uto._sre._čet._pet._sub.'.split('_'),\n weekdaysMin: 'ne_po_ut_sr_če_pe_su'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'H:mm',\n LTS: 'H:mm:ss',\n L: 'D. M. YYYY.',\n LL: 'D. MMMM YYYY.',\n LLL: 'D. MMMM YYYY. H:mm',\n LLLL: 'dddd, D. MMMM YYYY. H:mm',\n },\n calendar: {\n sameDay: '[danas u] LT',\n nextDay: '[sutra u] LT',\n nextWeek: function () {\n switch (this.day()) {\n case 0:\n return '[u] [nedelju] [u] LT';\n case 3:\n return '[u] [sredu] [u] LT';\n case 6:\n return '[u] [subotu] [u] LT';\n case 1:\n case 2:\n case 4:\n case 5:\n return '[u] dddd [u] LT';\n }\n },\n lastDay: '[juče u] LT',\n lastWeek: function () {\n var lastWeekDays = [\n '[prošle] [nedelje] [u] LT',\n '[prošlog] [ponedeljka] [u] LT',\n '[prošlog] [utorka] [u] LT',\n '[prošle] [srede] [u] LT',\n '[prošlog] [četvrtka] [u] LT',\n '[prošlog] [petka] [u] LT',\n '[prošle] [subote] [u] LT',\n ];\n return lastWeekDays[this.day()];\n },\n sameElse: 'L',\n },\n relativeTime: {\n future: 'za %s',\n past: 'pre %s',\n s: 'nekoliko sekundi',\n ss: translator$2.translate,\n m: translator$2.translate,\n mm: translator$2.translate,\n h: translator$2.translate,\n hh: translator$2.translate,\n d: translator$2.translate,\n dd: translator$2.translate,\n M: translator$2.translate,\n MM: translator$2.translate,\n y: translator$2.translate,\n yy: translator$2.translate,\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 7, // The week that contains Jan 7th is the first week of the year.\n },\n });\n\n //! moment.js locale configuration\n\n moment.defineLocale('ss', {\n months: \"Bhimbidvwane_Indlovana_Indlov'lenkhulu_Mabasa_Inkhwekhweti_Inhlaba_Kholwane_Ingci_Inyoni_Imphala_Lweti_Ingongoni\".split(\n '_'\n ),\n monthsShort: 'Bhi_Ina_Inu_Mab_Ink_Inh_Kho_Igc_Iny_Imp_Lwe_Igo'.split('_'),\n weekdays:\n 'Lisontfo_Umsombuluko_Lesibili_Lesitsatfu_Lesine_Lesihlanu_Umgcibelo'.split(\n '_'\n ),\n weekdaysShort: 'Lis_Umb_Lsb_Les_Lsi_Lsh_Umg'.split('_'),\n weekdaysMin: 'Li_Us_Lb_Lt_Ls_Lh_Ug'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'h:mm A',\n LTS: 'h:mm:ss A',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY h:mm A',\n LLLL: 'dddd, D MMMM YYYY h:mm A',\n },\n calendar: {\n sameDay: '[Namuhla nga] LT',\n nextDay: '[Kusasa nga] LT',\n nextWeek: 'dddd [nga] LT',\n lastDay: '[Itolo nga] LT',\n lastWeek: 'dddd [leliphelile] [nga] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'nga %s',\n past: 'wenteka nga %s',\n s: 'emizuzwana lomcane',\n ss: '%d mzuzwana',\n m: 'umzuzu',\n mm: '%d emizuzu',\n h: 'lihora',\n hh: '%d emahora',\n d: 'lilanga',\n dd: '%d emalanga',\n M: 'inyanga',\n MM: '%d tinyanga',\n y: 'umnyaka',\n yy: '%d iminyaka',\n },\n meridiemParse: /ekuseni|emini|entsambama|ebusuku/,\n meridiem: function (hours, minutes, isLower) {\n if (hours < 11) {\n return 'ekuseni';\n } else if (hours < 15) {\n return 'emini';\n } else if (hours < 19) {\n return 'entsambama';\n } else {\n return 'ebusuku';\n }\n },\n meridiemHour: function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === 'ekuseni') {\n return hour;\n } else if (meridiem === 'emini') {\n return hour >= 11 ? hour : hour + 12;\n } else if (meridiem === 'entsambama' || meridiem === 'ebusuku') {\n if (hour === 0) {\n return 0;\n }\n return hour + 12;\n }\n },\n dayOfMonthOrdinalParse: /\\d{1,2}/,\n ordinal: '%d',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n //! moment.js locale configuration\n\n moment.defineLocale('sv', {\n months: 'januari_februari_mars_april_maj_juni_juli_augusti_september_oktober_november_december'.split(\n '_'\n ),\n monthsShort: 'jan_feb_mar_apr_maj_jun_jul_aug_sep_okt_nov_dec'.split('_'),\n weekdays: 'söndag_måndag_tisdag_onsdag_torsdag_fredag_lördag'.split('_'),\n weekdaysShort: 'sön_mån_tis_ons_tor_fre_lör'.split('_'),\n weekdaysMin: 'sö_må_ti_on_to_fr_lö'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'YYYY-MM-DD',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY [kl.] HH:mm',\n LLLL: 'dddd D MMMM YYYY [kl.] HH:mm',\n lll: 'D MMM YYYY HH:mm',\n llll: 'ddd D MMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[Idag] LT',\n nextDay: '[Imorgon] LT',\n lastDay: '[Igår] LT',\n nextWeek: '[På] dddd LT',\n lastWeek: '[I] dddd[s] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'om %s',\n past: 'för %s sedan',\n s: 'några sekunder',\n ss: '%d sekunder',\n m: 'en minut',\n mm: '%d minuter',\n h: 'en timme',\n hh: '%d timmar',\n d: 'en dag',\n dd: '%d dagar',\n M: 'en månad',\n MM: '%d månader',\n y: 'ett år',\n yy: '%d år',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(\\:e|\\:a)/,\n ordinal: function (number) {\n var b = number % 10,\n output =\n ~~((number % 100) / 10) === 1\n ? ':e'\n : b === 1\n ? ':a'\n : b === 2\n ? ':a'\n : b === 3\n ? ':e'\n : ':e';\n return number + output;\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n //! moment.js locale configuration\n\n moment.defineLocale('sw', {\n months: 'Januari_Februari_Machi_Aprili_Mei_Juni_Julai_Agosti_Septemba_Oktoba_Novemba_Desemba'.split(\n '_'\n ),\n monthsShort: 'Jan_Feb_Mac_Apr_Mei_Jun_Jul_Ago_Sep_Okt_Nov_Des'.split('_'),\n weekdays:\n 'Jumapili_Jumatatu_Jumanne_Jumatano_Alhamisi_Ijumaa_Jumamosi'.split(\n '_'\n ),\n weekdaysShort: 'Jpl_Jtat_Jnne_Jtan_Alh_Ijm_Jmos'.split('_'),\n weekdaysMin: 'J2_J3_J4_J5_Al_Ij_J1'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'hh:mm A',\n LTS: 'HH:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd, D MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[leo saa] LT',\n nextDay: '[kesho saa] LT',\n nextWeek: '[wiki ijayo] dddd [saat] LT',\n lastDay: '[jana] LT',\n lastWeek: '[wiki iliyopita] dddd [saat] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: '%s baadaye',\n past: 'tokea %s',\n s: 'hivi punde',\n ss: 'sekunde %d',\n m: 'dakika moja',\n mm: 'dakika %d',\n h: 'saa limoja',\n hh: 'masaa %d',\n d: 'siku moja',\n dd: 'siku %d',\n M: 'mwezi mmoja',\n MM: 'miezi %d',\n y: 'mwaka mmoja',\n yy: 'miaka %d',\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 7, // The week that contains Jan 7th is the first week of the year.\n },\n });\n\n //! moment.js locale configuration\n\n var symbolMap$h = {\n 1: '௧',\n 2: '௨',\n 3: '௩',\n 4: '௪',\n 5: '௫',\n 6: '௬',\n 7: '௭',\n 8: '௮',\n 9: '௯',\n 0: '௦',\n },\n numberMap$g = {\n '௧': '1',\n '௨': '2',\n '௩': '3',\n '௪': '4',\n '௫': '5',\n '௬': '6',\n '௭': '7',\n '௮': '8',\n '௯': '9',\n '௦': '0',\n };\n\n moment.defineLocale('ta', {\n months: 'ஜனவரி_பிப்ரவரி_மார்ச்_ஏப்ரல்_மே_ஜூன்_ஜூலை_ஆகஸ்ட்_செப்டெம்பர்_அக்டோபர்_நவம்பர்_டிசம்பர்'.split(\n '_'\n ),\n monthsShort:\n 'ஜனவரி_பிப்ரவரி_மார்ச்_ஏப்ரல்_மே_ஜூன்_ஜூலை_ஆகஸ்ட்_செப்டெம்பர்_அக்டோபர்_நவம்பர்_டிசம்பர்'.split(\n '_'\n ),\n weekdays:\n 'ஞாயிற்றுக்கிழமை_திங்கட்கிழமை_செவ்வாய்கிழமை_புதன்கிழமை_வியாழக்கிழமை_வெள்ளிக்கிழமை_சனிக்கிழமை'.split(\n '_'\n ),\n weekdaysShort: 'ஞாயிறு_திங்கள்_செவ்வாய்_புதன்_வியாழன்_வெள்ளி_சனி'.split(\n '_'\n ),\n weekdaysMin: 'ஞா_தி_செ_பு_வி_வெ_ச'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY, HH:mm',\n LLLL: 'dddd, D MMMM YYYY, HH:mm',\n },\n calendar: {\n sameDay: '[இன்று] LT',\n nextDay: '[நாளை] LT',\n nextWeek: 'dddd, LT',\n lastDay: '[நேற்று] LT',\n lastWeek: '[கடந்த வாரம்] dddd, LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: '%s இல்',\n past: '%s முன்',\n s: 'ஒரு சில விநாடிகள்',\n ss: '%d விநாடிகள்',\n m: 'ஒரு நிமிடம்',\n mm: '%d நிமிடங்கள்',\n h: 'ஒரு மணி நேரம்',\n hh: '%d மணி நேரம்',\n d: 'ஒரு நாள்',\n dd: '%d நாட்கள்',\n M: 'ஒரு மாதம்',\n MM: '%d மாதங்கள்',\n y: 'ஒரு வருடம்',\n yy: '%d ஆண்டுகள்',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}வது/,\n ordinal: function (number) {\n return number + 'வது';\n },\n preparse: function (string) {\n return string.replace(/[௧௨௩௪௫௬௭௮௯௦]/g, function (match) {\n return numberMap$g[match];\n });\n },\n postformat: function (string) {\n return string.replace(/\\d/g, function (match) {\n return symbolMap$h[match];\n });\n },\n // refer http://ta.wikipedia.org/s/1er1\n meridiemParse: /யாமம்|வைகறை|காலை|நண்பகல்|எற்பாடு|மாலை/,\n meridiem: function (hour, minute, isLower) {\n if (hour < 2) {\n return ' யாமம்';\n } else if (hour < 6) {\n return ' வைகறை'; // வைகறை\n } else if (hour < 10) {\n return ' காலை'; // காலை\n } else if (hour < 14) {\n return ' நண்பகல்'; // நண்பகல்\n } else if (hour < 18) {\n return ' எற்பாடு'; // எற்பாடு\n } else if (hour < 22) {\n return ' மாலை'; // மாலை\n } else {\n return ' யாமம்';\n }\n },\n meridiemHour: function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === 'யாமம்') {\n return hour < 2 ? hour : hour + 12;\n } else if (meridiem === 'வைகறை' || meridiem === 'காலை') {\n return hour;\n } else if (meridiem === 'நண்பகல்') {\n return hour >= 10 ? hour : hour + 12;\n } else {\n return hour + 12;\n }\n },\n week: {\n dow: 0, // Sunday is the first day of the week.\n doy: 6, // The week that contains Jan 6th is the first week of the year.\n },\n });\n\n //! moment.js locale configuration\n\n moment.defineLocale('te', {\n months: 'జనవరి_ఫిబ్రవరి_మార్చి_ఏప్రిల్_మే_జూన్_జులై_ఆగస్టు_సెప్టెంబర్_అక్టోబర్_నవంబర్_డిసెంబర్'.split(\n '_'\n ),\n monthsShort:\n 'జన._ఫిబ్ర._మార్చి_ఏప్రి._మే_జూన్_జులై_ఆగ._సెప్._అక్టో._నవ._డిసె.'.split(\n '_'\n ),\n monthsParseExact: true,\n weekdays:\n 'ఆదివారం_సోమవారం_మంగళవారం_బుధవారం_గురువారం_శుక్రవారం_శనివారం'.split(\n '_'\n ),\n weekdaysShort: 'ఆది_సోమ_మంగళ_బుధ_గురు_శుక్ర_శని'.split('_'),\n weekdaysMin: 'ఆ_సో_మం_బు_గు_శు_శ'.split('_'),\n longDateFormat: {\n LT: 'A h:mm',\n LTS: 'A h:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY, A h:mm',\n LLLL: 'dddd, D MMMM YYYY, A h:mm',\n },\n calendar: {\n sameDay: '[నేడు] LT',\n nextDay: '[రేపు] LT',\n nextWeek: 'dddd, LT',\n lastDay: '[నిన్న] LT',\n lastWeek: '[గత] dddd, LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: '%s లో',\n past: '%s క్రితం',\n s: 'కొన్ని క్షణాలు',\n ss: '%d సెకన్లు',\n m: 'ఒక నిమిషం',\n mm: '%d నిమిషాలు',\n h: 'ఒక గంట',\n hh: '%d గంటలు',\n d: 'ఒక రోజు',\n dd: '%d రోజులు',\n M: 'ఒక నెల',\n MM: '%d నెలలు',\n y: 'ఒక సంవత్సరం',\n yy: '%d సంవత్సరాలు',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}వ/,\n ordinal: '%dవ',\n meridiemParse: /రాత్రి|ఉదయం|మధ్యాహ్నం|సాయంత్రం/,\n meridiemHour: function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === 'రాత్రి') {\n return hour < 4 ? hour : hour + 12;\n } else if (meridiem === 'ఉదయం') {\n return hour;\n } else if (meridiem === 'మధ్యాహ్నం') {\n return hour >= 10 ? hour : hour + 12;\n } else if (meridiem === 'సాయంత్రం') {\n return hour + 12;\n }\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 4) {\n return 'రాత్రి';\n } else if (hour < 10) {\n return 'ఉదయం';\n } else if (hour < 17) {\n return 'మధ్యాహ్నం';\n } else if (hour < 20) {\n return 'సాయంత్రం';\n } else {\n return 'రాత్రి';\n }\n },\n week: {\n dow: 0, // Sunday is the first day of the week.\n doy: 6, // The week that contains Jan 6th is the first week of the year.\n },\n });\n\n //! moment.js locale configuration\n\n moment.defineLocale('tet', {\n months: 'Janeiru_Fevereiru_Marsu_Abril_Maiu_Juñu_Jullu_Agustu_Setembru_Outubru_Novembru_Dezembru'.split(\n '_'\n ),\n monthsShort: 'Jan_Fev_Mar_Abr_Mai_Jun_Jul_Ago_Set_Out_Nov_Dez'.split('_'),\n weekdays: 'Domingu_Segunda_Tersa_Kuarta_Kinta_Sesta_Sabadu'.split('_'),\n weekdaysShort: 'Dom_Seg_Ters_Kua_Kint_Sest_Sab'.split('_'),\n weekdaysMin: 'Do_Seg_Te_Ku_Ki_Ses_Sa'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd, D MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[Ohin iha] LT',\n nextDay: '[Aban iha] LT',\n nextWeek: 'dddd [iha] LT',\n lastDay: '[Horiseik iha] LT',\n lastWeek: 'dddd [semana kotuk] [iha] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'iha %s',\n past: '%s liuba',\n s: 'segundu balun',\n ss: 'segundu %d',\n m: 'minutu ida',\n mm: 'minutu %d',\n h: 'oras ida',\n hh: 'oras %d',\n d: 'loron ida',\n dd: 'loron %d',\n M: 'fulan ida',\n MM: 'fulan %d',\n y: 'tinan ida',\n yy: 'tinan %d',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(st|nd|rd|th)/,\n ordinal: function (number) {\n var b = number % 10,\n output =\n ~~((number % 100) / 10) === 1\n ? 'th'\n : b === 1\n ? 'st'\n : b === 2\n ? 'nd'\n : b === 3\n ? 'rd'\n : 'th';\n return number + output;\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n //! moment.js locale configuration\n\n var suffixes$3 = {\n 0: '-ум',\n 1: '-ум',\n 2: '-юм',\n 3: '-юм',\n 4: '-ум',\n 5: '-ум',\n 6: '-ум',\n 7: '-ум',\n 8: '-ум',\n 9: '-ум',\n 10: '-ум',\n 12: '-ум',\n 13: '-ум',\n 20: '-ум',\n 30: '-юм',\n 40: '-ум',\n 50: '-ум',\n 60: '-ум',\n 70: '-ум',\n 80: '-ум',\n 90: '-ум',\n 100: '-ум',\n };\n\n moment.defineLocale('tg', {\n months: {\n format: 'январи_феврали_марти_апрели_майи_июни_июли_августи_сентябри_октябри_ноябри_декабри'.split(\n '_'\n ),\n standalone:\n 'январ_феврал_март_апрел_май_июн_июл_август_сентябр_октябр_ноябр_декабр'.split(\n '_'\n ),\n },\n monthsShort: 'янв_фев_мар_апр_май_июн_июл_авг_сен_окт_ноя_дек'.split('_'),\n weekdays: 'якшанбе_душанбе_сешанбе_чоршанбе_панҷшанбе_ҷумъа_шанбе'.split(\n '_'\n ),\n weekdaysShort: 'яшб_дшб_сшб_чшб_пшб_ҷум_шнб'.split('_'),\n weekdaysMin: 'яш_дш_сш_чш_пш_ҷм_шб'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd, D MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[Имрӯз соати] LT',\n nextDay: '[Фардо соати] LT',\n lastDay: '[Дирӯз соати] LT',\n nextWeek: 'dddd[и] [ҳафтаи оянда соати] LT',\n lastWeek: 'dddd[и] [ҳафтаи гузашта соати] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'баъди %s',\n past: '%s пеш',\n s: 'якчанд сония',\n m: 'як дақиқа',\n mm: '%d дақиқа',\n h: 'як соат',\n hh: '%d соат',\n d: 'як рӯз',\n dd: '%d рӯз',\n M: 'як моҳ',\n MM: '%d моҳ',\n y: 'як сол',\n yy: '%d сол',\n },\n meridiemParse: /шаб|субҳ|рӯз|бегоҳ/,\n meridiemHour: function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === 'шаб') {\n return hour < 4 ? hour : hour + 12;\n } else if (meridiem === 'субҳ') {\n return hour;\n } else if (meridiem === 'рӯз') {\n return hour >= 11 ? hour : hour + 12;\n } else if (meridiem === 'бегоҳ') {\n return hour + 12;\n }\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 4) {\n return 'шаб';\n } else if (hour < 11) {\n return 'субҳ';\n } else if (hour < 16) {\n return 'рӯз';\n } else if (hour < 19) {\n return 'бегоҳ';\n } else {\n return 'шаб';\n }\n },\n dayOfMonthOrdinalParse: /\\d{1,2}-(ум|юм)/,\n ordinal: function (number) {\n var a = number % 10,\n b = number >= 100 ? 100 : null;\n return number + (suffixes$3[number] || suffixes$3[a] || suffixes$3[b]);\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 7, // The week that contains Jan 1th is the first week of the year.\n },\n });\n\n //! moment.js locale configuration\n\n moment.defineLocale('th', {\n months: 'มกราคม_กุมภาพันธ์_มีนาคม_เมษายน_พฤษภาคม_มิถุนายน_กรกฎาคม_สิงหาคม_กันยายน_ตุลาคม_พฤศจิกายน_ธันวาคม'.split(\n '_'\n ),\n monthsShort:\n 'ม.ค._ก.พ._มี.ค._เม.ย._พ.ค._มิ.ย._ก.ค._ส.ค._ก.ย._ต.ค._พ.ย._ธ.ค.'.split(\n '_'\n ),\n monthsParseExact: true,\n weekdays: 'อาทิตย์_จันทร์_อังคาร_พุธ_พฤหัสบดี_ศุกร์_เสาร์'.split('_'),\n weekdaysShort: 'อาทิตย์_จันทร์_อังคาร_พุธ_พฤหัส_ศุกร์_เสาร์'.split('_'), // yes, three characters difference\n weekdaysMin: 'อา._จ._อ._พ._พฤ._ศ._ส.'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'H:mm',\n LTS: 'H:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY เวลา H:mm',\n LLLL: 'วันddddที่ D MMMM YYYY เวลา H:mm',\n },\n meridiemParse: /ก่อนเที่ยง|หลังเที่ยง/,\n isPM: function (input) {\n return input === 'หลังเที่ยง';\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 12) {\n return 'ก่อนเที่ยง';\n } else {\n return 'หลังเที่ยง';\n }\n },\n calendar: {\n sameDay: '[วันนี้ เวลา] LT',\n nextDay: '[พรุ่งนี้ เวลา] LT',\n nextWeek: 'dddd[หน้า เวลา] LT',\n lastDay: '[เมื่อวานนี้ เวลา] LT',\n lastWeek: '[วัน]dddd[ที่แล้ว เวลา] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'อีก %s',\n past: '%sที่แล้ว',\n s: 'ไม่กี่วินาที',\n ss: '%d วินาที',\n m: '1 นาที',\n mm: '%d นาที',\n h: '1 ชั่วโมง',\n hh: '%d ชั่วโมง',\n d: '1 วัน',\n dd: '%d วัน',\n w: '1 สัปดาห์',\n ww: '%d สัปดาห์',\n M: '1 เดือน',\n MM: '%d เดือน',\n y: '1 ปี',\n yy: '%d ปี',\n },\n });\n\n //! moment.js locale configuration\n\n var suffixes$4 = {\n 1: \"'inji\",\n 5: \"'inji\",\n 8: \"'inji\",\n 70: \"'inji\",\n 80: \"'inji\",\n 2: \"'nji\",\n 7: \"'nji\",\n 20: \"'nji\",\n 50: \"'nji\",\n 3: \"'ünji\",\n 4: \"'ünji\",\n 100: \"'ünji\",\n 6: \"'njy\",\n 9: \"'unjy\",\n 10: \"'unjy\",\n 30: \"'unjy\",\n 60: \"'ynjy\",\n 90: \"'ynjy\",\n };\n\n moment.defineLocale('tk', {\n months: 'Ýanwar_Fewral_Mart_Aprel_Maý_Iýun_Iýul_Awgust_Sentýabr_Oktýabr_Noýabr_Dekabr'.split(\n '_'\n ),\n monthsShort: 'Ýan_Few_Mar_Apr_Maý_Iýn_Iýl_Awg_Sen_Okt_Noý_Dek'.split('_'),\n weekdays: 'Ýekşenbe_Duşenbe_Sişenbe_Çarşenbe_Penşenbe_Anna_Şenbe'.split(\n '_'\n ),\n weekdaysShort: 'Ýek_Duş_Siş_Çar_Pen_Ann_Şen'.split('_'),\n weekdaysMin: 'Ýk_Dş_Sş_Çr_Pn_An_Şn'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd, D MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[bugün sagat] LT',\n nextDay: '[ertir sagat] LT',\n nextWeek: '[indiki] dddd [sagat] LT',\n lastDay: '[düýn] LT',\n lastWeek: '[geçen] dddd [sagat] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: '%s soň',\n past: '%s öň',\n s: 'birnäçe sekunt',\n m: 'bir minut',\n mm: '%d minut',\n h: 'bir sagat',\n hh: '%d sagat',\n d: 'bir gün',\n dd: '%d gün',\n M: 'bir aý',\n MM: '%d aý',\n y: 'bir ýyl',\n yy: '%d ýyl',\n },\n ordinal: function (number, period) {\n switch (period) {\n case 'd':\n case 'D':\n case 'Do':\n case 'DD':\n return number;\n default:\n if (number === 0) {\n // special case for zero\n return number + \"'unjy\";\n }\n var a = number % 10,\n b = (number % 100) - a,\n c = number >= 100 ? 100 : null;\n return number + (suffixes$4[a] || suffixes$4[b] || suffixes$4[c]);\n }\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 7, // The week that contains Jan 7th is the first week of the year.\n },\n });\n\n //! moment.js locale configuration\n\n moment.defineLocale('tl-ph', {\n months: 'Enero_Pebrero_Marso_Abril_Mayo_Hunyo_Hulyo_Agosto_Setyembre_Oktubre_Nobyembre_Disyembre'.split(\n '_'\n ),\n monthsShort: 'Ene_Peb_Mar_Abr_May_Hun_Hul_Ago_Set_Okt_Nob_Dis'.split('_'),\n weekdays: 'Linggo_Lunes_Martes_Miyerkules_Huwebes_Biyernes_Sabado'.split(\n '_'\n ),\n weekdaysShort: 'Lin_Lun_Mar_Miy_Huw_Biy_Sab'.split('_'),\n weekdaysMin: 'Li_Lu_Ma_Mi_Hu_Bi_Sab'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'MM/D/YYYY',\n LL: 'MMMM D, YYYY',\n LLL: 'MMMM D, YYYY HH:mm',\n LLLL: 'dddd, MMMM DD, YYYY HH:mm',\n },\n calendar: {\n sameDay: 'LT [ngayong araw]',\n nextDay: '[Bukas ng] LT',\n nextWeek: 'LT [sa susunod na] dddd',\n lastDay: 'LT [kahapon]',\n lastWeek: 'LT [noong nakaraang] dddd',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'sa loob ng %s',\n past: '%s ang nakalipas',\n s: 'ilang segundo',\n ss: '%d segundo',\n m: 'isang minuto',\n mm: '%d minuto',\n h: 'isang oras',\n hh: '%d oras',\n d: 'isang araw',\n dd: '%d araw',\n M: 'isang buwan',\n MM: '%d buwan',\n y: 'isang taon',\n yy: '%d taon',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}/,\n ordinal: function (number) {\n return number;\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n //! moment.js locale configuration\n\n var numbersNouns = 'pagh_wa’_cha’_wej_loS_vagh_jav_Soch_chorgh_Hut'.split('_');\n\n function translateFuture(output) {\n var time = output;\n time =\n output.indexOf('jaj') !== -1\n ? time.slice(0, -3) + 'leS'\n : output.indexOf('jar') !== -1\n ? time.slice(0, -3) + 'waQ'\n : output.indexOf('DIS') !== -1\n ? time.slice(0, -3) + 'nem'\n : time + ' pIq';\n return time;\n }\n\n function translatePast(output) {\n var time = output;\n time =\n output.indexOf('jaj') !== -1\n ? time.slice(0, -3) + 'Hu’'\n : output.indexOf('jar') !== -1\n ? time.slice(0, -3) + 'wen'\n : output.indexOf('DIS') !== -1\n ? time.slice(0, -3) + 'ben'\n : time + ' ret';\n return time;\n }\n\n function translate$a(number, withoutSuffix, string, isFuture) {\n var numberNoun = numberAsNoun(number);\n switch (string) {\n case 'ss':\n return numberNoun + ' lup';\n case 'mm':\n return numberNoun + ' tup';\n case 'hh':\n return numberNoun + ' rep';\n case 'dd':\n return numberNoun + ' jaj';\n case 'MM':\n return numberNoun + ' jar';\n case 'yy':\n return numberNoun + ' DIS';\n }\n }\n\n function numberAsNoun(number) {\n var hundred = Math.floor((number % 1000) / 100),\n ten = Math.floor((number % 100) / 10),\n one = number % 10,\n word = '';\n if (hundred > 0) {\n word += numbersNouns[hundred] + 'vatlh';\n }\n if (ten > 0) {\n word += (word !== '' ? ' ' : '') + numbersNouns[ten] + 'maH';\n }\n if (one > 0) {\n word += (word !== '' ? ' ' : '') + numbersNouns[one];\n }\n return word === '' ? 'pagh' : word;\n }\n\n moment.defineLocale('tlh', {\n months: 'tera’ jar wa’_tera’ jar cha’_tera’ jar wej_tera’ jar loS_tera’ jar vagh_tera’ jar jav_tera’ jar Soch_tera’ jar chorgh_tera’ jar Hut_tera’ jar wa’maH_tera’ jar wa’maH wa’_tera’ jar wa’maH cha’'.split(\n '_'\n ),\n monthsShort:\n 'jar wa’_jar cha’_jar wej_jar loS_jar vagh_jar jav_jar Soch_jar chorgh_jar Hut_jar wa’maH_jar wa’maH wa’_jar wa’maH cha’'.split(\n '_'\n ),\n monthsParseExact: true,\n weekdays: 'lojmItjaj_DaSjaj_povjaj_ghItlhjaj_loghjaj_buqjaj_ghInjaj'.split(\n '_'\n ),\n weekdaysShort:\n 'lojmItjaj_DaSjaj_povjaj_ghItlhjaj_loghjaj_buqjaj_ghInjaj'.split('_'),\n weekdaysMin:\n 'lojmItjaj_DaSjaj_povjaj_ghItlhjaj_loghjaj_buqjaj_ghInjaj'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd, D MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[DaHjaj] LT',\n nextDay: '[wa’leS] LT',\n nextWeek: 'LLL',\n lastDay: '[wa’Hu’] LT',\n lastWeek: 'LLL',\n sameElse: 'L',\n },\n relativeTime: {\n future: translateFuture,\n past: translatePast,\n s: 'puS lup',\n ss: translate$a,\n m: 'wa’ tup',\n mm: translate$a,\n h: 'wa’ rep',\n hh: translate$a,\n d: 'wa’ jaj',\n dd: translate$a,\n M: 'wa’ jar',\n MM: translate$a,\n y: 'wa’ DIS',\n yy: translate$a,\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n //! moment.js locale configuration\n\n var suffixes$5 = {\n 1: \"'inci\",\n 5: \"'inci\",\n 8: \"'inci\",\n 70: \"'inci\",\n 80: \"'inci\",\n 2: \"'nci\",\n 7: \"'nci\",\n 20: \"'nci\",\n 50: \"'nci\",\n 3: \"'üncü\",\n 4: \"'üncü\",\n 100: \"'üncü\",\n 6: \"'ncı\",\n 9: \"'uncu\",\n 10: \"'uncu\",\n 30: \"'uncu\",\n 60: \"'ıncı\",\n 90: \"'ıncı\",\n };\n\n moment.defineLocale('tr', {\n months: 'Ocak_Şubat_Mart_Nisan_Mayıs_Haziran_Temmuz_Ağustos_Eylül_Ekim_Kasım_Aralık'.split(\n '_'\n ),\n monthsShort: 'Oca_Şub_Mar_Nis_May_Haz_Tem_Ağu_Eyl_Eki_Kas_Ara'.split('_'),\n weekdays: 'Pazar_Pazartesi_Salı_Çarşamba_Perşembe_Cuma_Cumartesi'.split(\n '_'\n ),\n weekdaysShort: 'Paz_Pzt_Sal_Çar_Per_Cum_Cmt'.split('_'),\n weekdaysMin: 'Pz_Pt_Sa_Ça_Pe_Cu_Ct'.split('_'),\n meridiem: function (hours, minutes, isLower) {\n if (hours < 12) {\n return isLower ? 'öö' : 'ÖÖ';\n } else {\n return isLower ? 'ös' : 'ÖS';\n }\n },\n meridiemParse: /öö|ÖÖ|ös|ÖS/,\n isPM: function (input) {\n return input === 'ös' || input === 'ÖS';\n },\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd, D MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[bugün saat] LT',\n nextDay: '[yarın saat] LT',\n nextWeek: '[gelecek] dddd [saat] LT',\n lastDay: '[dün] LT',\n lastWeek: '[geçen] dddd [saat] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: '%s sonra',\n past: '%s önce',\n s: 'birkaç saniye',\n ss: '%d saniye',\n m: 'bir dakika',\n mm: '%d dakika',\n h: 'bir saat',\n hh: '%d saat',\n d: 'bir gün',\n dd: '%d gün',\n w: 'bir hafta',\n ww: '%d hafta',\n M: 'bir ay',\n MM: '%d ay',\n y: 'bir yıl',\n yy: '%d yıl',\n },\n ordinal: function (number, period) {\n switch (period) {\n case 'd':\n case 'D':\n case 'Do':\n case 'DD':\n return number;\n default:\n if (number === 0) {\n // special case for zero\n return number + \"'ıncı\";\n }\n var a = number % 10,\n b = (number % 100) - a,\n c = number >= 100 ? 100 : null;\n return number + (suffixes$5[a] || suffixes$5[b] || suffixes$5[c]);\n }\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 7, // The week that contains Jan 7th is the first week of the year.\n },\n });\n\n //! moment.js locale configuration\n\n // After the year there should be a slash and the amount of years since December 26, 1979 in Roman numerals.\n // This is currently too difficult (maybe even impossible) to add.\n moment.defineLocale('tzl', {\n months: 'Januar_Fevraglh_Març_Avrïu_Mai_Gün_Julia_Guscht_Setemvar_Listopäts_Noemvar_Zecemvar'.split(\n '_'\n ),\n monthsShort: 'Jan_Fev_Mar_Avr_Mai_Gün_Jul_Gus_Set_Lis_Noe_Zec'.split('_'),\n weekdays: 'Súladi_Lúneçi_Maitzi_Márcuri_Xhúadi_Viénerçi_Sáturi'.split('_'),\n weekdaysShort: 'Súl_Lún_Mai_Már_Xhú_Vié_Sát'.split('_'),\n weekdaysMin: 'Sú_Lú_Ma_Má_Xh_Vi_Sá'.split('_'),\n longDateFormat: {\n LT: 'HH.mm',\n LTS: 'HH.mm.ss',\n L: 'DD.MM.YYYY',\n LL: 'D. MMMM [dallas] YYYY',\n LLL: 'D. MMMM [dallas] YYYY HH.mm',\n LLLL: 'dddd, [li] D. MMMM [dallas] YYYY HH.mm',\n },\n meridiemParse: /d\\'o|d\\'a/i,\n isPM: function (input) {\n return \"d'o\" === input.toLowerCase();\n },\n meridiem: function (hours, minutes, isLower) {\n if (hours > 11) {\n return isLower ? \"d'o\" : \"D'O\";\n } else {\n return isLower ? \"d'a\" : \"D'A\";\n }\n },\n calendar: {\n sameDay: '[oxhi à] LT',\n nextDay: '[demà à] LT',\n nextWeek: 'dddd [à] LT',\n lastDay: '[ieiri à] LT',\n lastWeek: '[sür el] dddd [lasteu à] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'osprei %s',\n past: 'ja%s',\n s: processRelativeTime$a,\n ss: processRelativeTime$a,\n m: processRelativeTime$a,\n mm: processRelativeTime$a,\n h: processRelativeTime$a,\n hh: processRelativeTime$a,\n d: processRelativeTime$a,\n dd: processRelativeTime$a,\n M: processRelativeTime$a,\n MM: processRelativeTime$a,\n y: processRelativeTime$a,\n yy: processRelativeTime$a,\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n function processRelativeTime$a(number, withoutSuffix, key, isFuture) {\n var format = {\n s: ['viensas secunds', \"'iensas secunds\"],\n ss: [number + ' secunds', '' + number + ' secunds'],\n m: [\"'n míut\", \"'iens míut\"],\n mm: [number + ' míuts', '' + number + ' míuts'],\n h: [\"'n þora\", \"'iensa þora\"],\n hh: [number + ' þoras', '' + number + ' þoras'],\n d: [\"'n ziua\", \"'iensa ziua\"],\n dd: [number + ' ziuas', '' + number + ' ziuas'],\n M: [\"'n mes\", \"'iens mes\"],\n MM: [number + ' mesen', '' + number + ' mesen'],\n y: [\"'n ar\", \"'iens ar\"],\n yy: [number + ' ars', '' + number + ' ars'],\n };\n return isFuture\n ? format[key][0]\n : withoutSuffix\n ? format[key][0]\n : format[key][1];\n }\n\n //! moment.js locale configuration\n\n moment.defineLocale('tzm-latn', {\n months: 'innayr_brˤayrˤ_marˤsˤ_ibrir_mayyw_ywnyw_ywlywz_ɣwšt_šwtanbir_ktˤwbrˤ_nwwanbir_dwjnbir'.split(\n '_'\n ),\n monthsShort:\n 'innayr_brˤayrˤ_marˤsˤ_ibrir_mayyw_ywnyw_ywlywz_ɣwšt_šwtanbir_ktˤwbrˤ_nwwanbir_dwjnbir'.split(\n '_'\n ),\n weekdays: 'asamas_aynas_asinas_akras_akwas_asimwas_asiḍyas'.split('_'),\n weekdaysShort: 'asamas_aynas_asinas_akras_akwas_asimwas_asiḍyas'.split('_'),\n weekdaysMin: 'asamas_aynas_asinas_akras_akwas_asimwas_asiḍyas'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd D MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[asdkh g] LT',\n nextDay: '[aska g] LT',\n nextWeek: 'dddd [g] LT',\n lastDay: '[assant g] LT',\n lastWeek: 'dddd [g] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'dadkh s yan %s',\n past: 'yan %s',\n s: 'imik',\n ss: '%d imik',\n m: 'minuḍ',\n mm: '%d minuḍ',\n h: 'saɛa',\n hh: '%d tassaɛin',\n d: 'ass',\n dd: '%d ossan',\n M: 'ayowr',\n MM: '%d iyyirn',\n y: 'asgas',\n yy: '%d isgasn',\n },\n week: {\n dow: 6, // Saturday is the first day of the week.\n doy: 12, // The week that contains Jan 12th is the first week of the year.\n },\n });\n\n //! moment.js locale configuration\n\n moment.defineLocale('tzm', {\n months: 'ⵉⵏⵏⴰⵢⵔ_ⴱⵕⴰⵢⵕ_ⵎⴰⵕⵚ_ⵉⴱⵔⵉⵔ_ⵎⴰⵢⵢⵓ_ⵢⵓⵏⵢⵓ_ⵢⵓⵍⵢⵓⵣ_ⵖⵓⵛⵜ_ⵛⵓⵜⴰⵏⴱⵉⵔ_ⴽⵟⵓⴱⵕ_ⵏⵓⵡⴰⵏⴱⵉⵔ_ⴷⵓⵊⵏⴱⵉⵔ'.split(\n '_'\n ),\n monthsShort:\n 'ⵉⵏⵏⴰⵢⵔ_ⴱⵕⴰⵢⵕ_ⵎⴰⵕⵚ_ⵉⴱⵔⵉⵔ_ⵎⴰⵢⵢⵓ_ⵢⵓⵏⵢⵓ_ⵢⵓⵍⵢⵓⵣ_ⵖⵓⵛⵜ_ⵛⵓⵜⴰⵏⴱⵉⵔ_ⴽⵟⵓⴱⵕ_ⵏⵓⵡⴰⵏⴱⵉⵔ_ⴷⵓⵊⵏⴱⵉⵔ'.split(\n '_'\n ),\n weekdays: 'ⴰⵙⴰⵎⴰⵙ_ⴰⵢⵏⴰⵙ_ⴰⵙⵉⵏⴰⵙ_ⴰⴽⵔⴰⵙ_ⴰⴽⵡⴰⵙ_ⴰⵙⵉⵎⵡⴰⵙ_ⴰⵙⵉⴹⵢⴰⵙ'.split('_'),\n weekdaysShort: 'ⴰⵙⴰⵎⴰⵙ_ⴰⵢⵏⴰⵙ_ⴰⵙⵉⵏⴰⵙ_ⴰⴽⵔⴰⵙ_ⴰⴽⵡⴰⵙ_ⴰⵙⵉⵎⵡⴰⵙ_ⴰⵙⵉⴹⵢⴰⵙ'.split('_'),\n weekdaysMin: 'ⴰⵙⴰⵎⴰⵙ_ⴰⵢⵏⴰⵙ_ⴰⵙⵉⵏⴰⵙ_ⴰⴽⵔⴰⵙ_ⴰⴽⵡⴰⵙ_ⴰⵙⵉⵎⵡⴰⵙ_ⴰⵙⵉⴹⵢⴰⵙ'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd D MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[ⴰⵙⴷⵅ ⴴ] LT',\n nextDay: '[ⴰⵙⴽⴰ ⴴ] LT',\n nextWeek: 'dddd [ⴴ] LT',\n lastDay: '[ⴰⵚⴰⵏⵜ ⴴ] LT',\n lastWeek: 'dddd [ⴴ] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'ⴷⴰⴷⵅ ⵙ ⵢⴰⵏ %s',\n past: 'ⵢⴰⵏ %s',\n s: 'ⵉⵎⵉⴽ',\n ss: '%d ⵉⵎⵉⴽ',\n m: 'ⵎⵉⵏⵓⴺ',\n mm: '%d ⵎⵉⵏⵓⴺ',\n h: 'ⵙⴰⵄⴰ',\n hh: '%d ⵜⴰⵙⵙⴰⵄⵉⵏ',\n d: 'ⴰⵙⵙ',\n dd: '%d oⵙⵙⴰⵏ',\n M: 'ⴰⵢoⵓⵔ',\n MM: '%d ⵉⵢⵢⵉⵔⵏ',\n y: 'ⴰⵙⴳⴰⵙ',\n yy: '%d ⵉⵙⴳⴰⵙⵏ',\n },\n week: {\n dow: 6, // Saturday is the first day of the week.\n doy: 12, // The week that contains Jan 12th is the first week of the year.\n },\n });\n\n //! moment.js locale configuration\n\n moment.defineLocale('ug-cn', {\n months: 'يانۋار_فېۋرال_مارت_ئاپرېل_ماي_ئىيۇن_ئىيۇل_ئاۋغۇست_سېنتەبىر_ئۆكتەبىر_نويابىر_دېكابىر'.split(\n '_'\n ),\n monthsShort:\n 'يانۋار_فېۋرال_مارت_ئاپرېل_ماي_ئىيۇن_ئىيۇل_ئاۋغۇست_سېنتەبىر_ئۆكتەبىر_نويابىر_دېكابىر'.split(\n '_'\n ),\n weekdays: 'يەكشەنبە_دۈشەنبە_سەيشەنبە_چارشەنبە_پەيشەنبە_جۈمە_شەنبە'.split(\n '_'\n ),\n weekdaysShort: 'يە_دۈ_سە_چا_پە_جۈ_شە'.split('_'),\n weekdaysMin: 'يە_دۈ_سە_چا_پە_جۈ_شە'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'YYYY-MM-DD',\n LL: 'YYYY-يىلىM-ئاينىڭD-كۈنى',\n LLL: 'YYYY-يىلىM-ئاينىڭD-كۈنى، HH:mm',\n LLLL: 'dddd، YYYY-يىلىM-ئاينىڭD-كۈنى، HH:mm',\n },\n meridiemParse: /يېرىم كېچە|سەھەر|چۈشتىن بۇرۇن|چۈش|چۈشتىن كېيىن|كەچ/,\n meridiemHour: function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (\n meridiem === 'يېرىم كېچە' ||\n meridiem === 'سەھەر' ||\n meridiem === 'چۈشتىن بۇرۇن'\n ) {\n return hour;\n } else if (meridiem === 'چۈشتىن كېيىن' || meridiem === 'كەچ') {\n return hour + 12;\n } else {\n return hour >= 11 ? hour : hour + 12;\n }\n },\n meridiem: function (hour, minute, isLower) {\n var hm = hour * 100 + minute;\n if (hm < 600) {\n return 'يېرىم كېچە';\n } else if (hm < 900) {\n return 'سەھەر';\n } else if (hm < 1130) {\n return 'چۈشتىن بۇرۇن';\n } else if (hm < 1230) {\n return 'چۈش';\n } else if (hm < 1800) {\n return 'چۈشتىن كېيىن';\n } else {\n return 'كەچ';\n }\n },\n calendar: {\n sameDay: '[بۈگۈن سائەت] LT',\n nextDay: '[ئەتە سائەت] LT',\n nextWeek: '[كېلەركى] dddd [سائەت] LT',\n lastDay: '[تۆنۈگۈن] LT',\n lastWeek: '[ئالدىنقى] dddd [سائەت] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: '%s كېيىن',\n past: '%s بۇرۇن',\n s: 'نەچچە سېكونت',\n ss: '%d سېكونت',\n m: 'بىر مىنۇت',\n mm: '%d مىنۇت',\n h: 'بىر سائەت',\n hh: '%d سائەت',\n d: 'بىر كۈن',\n dd: '%d كۈن',\n M: 'بىر ئاي',\n MM: '%d ئاي',\n y: 'بىر يىل',\n yy: '%d يىل',\n },\n\n dayOfMonthOrdinalParse: /\\d{1,2}(-كۈنى|-ئاي|-ھەپتە)/,\n ordinal: function (number, period) {\n switch (period) {\n case 'd':\n case 'D':\n case 'DDD':\n return number + '-كۈنى';\n case 'w':\n case 'W':\n return number + '-ھەپتە';\n default:\n return number;\n }\n },\n preparse: function (string) {\n return string.replace(/،/g, ',');\n },\n postformat: function (string) {\n return string.replace(/,/g, '،');\n },\n week: {\n // GB/T 7408-1994《数据元和交换格式·信息交换·日期和时间表示法》与ISO 8601:1988等效\n dow: 1, // Monday is the first day of the week.\n doy: 7, // The week that contains Jan 1st is the first week of the year.\n },\n });\n\n //! moment.js locale configuration\n\n function plural$6(word, num) {\n var forms = word.split('_');\n return num % 10 === 1 && num % 100 !== 11\n ? forms[0]\n : num % 10 >= 2 && num % 10 <= 4 && (num % 100 < 10 || num % 100 >= 20)\n ? forms[1]\n : forms[2];\n }\n function relativeTimeWithPlural$4(number, withoutSuffix, key) {\n var format = {\n ss: withoutSuffix ? 'секунда_секунди_секунд' : 'секунду_секунди_секунд',\n mm: withoutSuffix ? 'хвилина_хвилини_хвилин' : 'хвилину_хвилини_хвилин',\n hh: withoutSuffix ? 'година_години_годин' : 'годину_години_годин',\n dd: 'день_дні_днів',\n MM: 'місяць_місяці_місяців',\n yy: 'рік_роки_років',\n };\n if (key === 'm') {\n return withoutSuffix ? 'хвилина' : 'хвилину';\n } else if (key === 'h') {\n return withoutSuffix ? 'година' : 'годину';\n } else {\n return number + ' ' + plural$6(format[key], +number);\n }\n }\n function weekdaysCaseReplace(m, format) {\n var weekdays = {\n nominative:\n 'неділя_понеділок_вівторок_середа_четвер_п’ятниця_субота'.split(\n '_'\n ),\n accusative:\n 'неділю_понеділок_вівторок_середу_четвер_п’ятницю_суботу'.split(\n '_'\n ),\n genitive:\n 'неділі_понеділка_вівторка_середи_четверга_п’ятниці_суботи'.split(\n '_'\n ),\n },\n nounCase;\n\n if (m === true) {\n return weekdays['nominative']\n .slice(1, 7)\n .concat(weekdays['nominative'].slice(0, 1));\n }\n if (!m) {\n return weekdays['nominative'];\n }\n\n nounCase = /(\\[[ВвУу]\\]) ?dddd/.test(format)\n ? 'accusative'\n : /\\[?(?:минулої|наступної)? ?\\] ?dddd/.test(format)\n ? 'genitive'\n : 'nominative';\n return weekdays[nounCase][m.day()];\n }\n function processHoursFunction(str) {\n return function () {\n return str + 'о' + (this.hours() === 11 ? 'б' : '') + '] LT';\n };\n }\n\n moment.defineLocale('uk', {\n months: {\n format: 'січня_лютого_березня_квітня_травня_червня_липня_серпня_вересня_жовтня_листопада_грудня'.split(\n '_'\n ),\n standalone:\n 'січень_лютий_березень_квітень_травень_червень_липень_серпень_вересень_жовтень_листопад_грудень'.split(\n '_'\n ),\n },\n monthsShort: 'січ_лют_бер_квіт_трав_черв_лип_серп_вер_жовт_лист_груд'.split(\n '_'\n ),\n weekdays: weekdaysCaseReplace,\n weekdaysShort: 'нд_пн_вт_ср_чт_пт_сб'.split('_'),\n weekdaysMin: 'нд_пн_вт_ср_чт_пт_сб'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D MMMM YYYY р.',\n LLL: 'D MMMM YYYY р., HH:mm',\n LLLL: 'dddd, D MMMM YYYY р., HH:mm',\n },\n calendar: {\n sameDay: processHoursFunction('[Сьогодні '),\n nextDay: processHoursFunction('[Завтра '),\n lastDay: processHoursFunction('[Вчора '),\n nextWeek: processHoursFunction('[У] dddd ['),\n lastWeek: function () {\n switch (this.day()) {\n case 0:\n case 3:\n case 5:\n case 6:\n return processHoursFunction('[Минулої] dddd [').call(this);\n case 1:\n case 2:\n case 4:\n return processHoursFunction('[Минулого] dddd [').call(this);\n }\n },\n sameElse: 'L',\n },\n relativeTime: {\n future: 'за %s',\n past: '%s тому',\n s: 'декілька секунд',\n ss: relativeTimeWithPlural$4,\n m: relativeTimeWithPlural$4,\n mm: relativeTimeWithPlural$4,\n h: 'годину',\n hh: relativeTimeWithPlural$4,\n d: 'день',\n dd: relativeTimeWithPlural$4,\n M: 'місяць',\n MM: relativeTimeWithPlural$4,\n y: 'рік',\n yy: relativeTimeWithPlural$4,\n },\n // M. E.: those two are virtually unused but a user might want to implement them for his/her website for some reason\n meridiemParse: /ночі|ранку|дня|вечора/,\n isPM: function (input) {\n return /^(дня|вечора)$/.test(input);\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 4) {\n return 'ночі';\n } else if (hour < 12) {\n return 'ранку';\n } else if (hour < 17) {\n return 'дня';\n } else {\n return 'вечора';\n }\n },\n dayOfMonthOrdinalParse: /\\d{1,2}-(й|го)/,\n ordinal: function (number, period) {\n switch (period) {\n case 'M':\n case 'd':\n case 'DDD':\n case 'w':\n case 'W':\n return number + '-й';\n case 'D':\n return number + '-го';\n default:\n return number;\n }\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 7, // The week that contains Jan 7th is the first week of the year.\n },\n });\n\n //! moment.js locale configuration\n\n var months$a = [\n 'جنوری',\n 'فروری',\n 'مارچ',\n 'اپریل',\n 'مئی',\n 'جون',\n 'جولائی',\n 'اگست',\n 'ستمبر',\n 'اکتوبر',\n 'نومبر',\n 'دسمبر',\n ],\n days$1 = ['اتوار', 'پیر', 'منگل', 'بدھ', 'جمعرات', 'جمعہ', 'ہفتہ'];\n\n moment.defineLocale('ur', {\n months: months$a,\n monthsShort: months$a,\n weekdays: days$1,\n weekdaysShort: days$1,\n weekdaysMin: days$1,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd، D MMMM YYYY HH:mm',\n },\n meridiemParse: /صبح|شام/,\n isPM: function (input) {\n return 'شام' === input;\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 12) {\n return 'صبح';\n }\n return 'شام';\n },\n calendar: {\n sameDay: '[آج بوقت] LT',\n nextDay: '[کل بوقت] LT',\n nextWeek: 'dddd [بوقت] LT',\n lastDay: '[گذشتہ روز بوقت] LT',\n lastWeek: '[گذشتہ] dddd [بوقت] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: '%s بعد',\n past: '%s قبل',\n s: 'چند سیکنڈ',\n ss: '%d سیکنڈ',\n m: 'ایک منٹ',\n mm: '%d منٹ',\n h: 'ایک گھنٹہ',\n hh: '%d گھنٹے',\n d: 'ایک دن',\n dd: '%d دن',\n M: 'ایک ماہ',\n MM: '%d ماہ',\n y: 'ایک سال',\n yy: '%d سال',\n },\n preparse: function (string) {\n return string.replace(/،/g, ',');\n },\n postformat: function (string) {\n return string.replace(/,/g, '،');\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n //! moment.js locale configuration\n\n moment.defineLocale('uz-latn', {\n months: 'Yanvar_Fevral_Mart_Aprel_May_Iyun_Iyul_Avgust_Sentabr_Oktabr_Noyabr_Dekabr'.split(\n '_'\n ),\n monthsShort: 'Yan_Fev_Mar_Apr_May_Iyun_Iyul_Avg_Sen_Okt_Noy_Dek'.split('_'),\n weekdays:\n 'Yakshanba_Dushanba_Seshanba_Chorshanba_Payshanba_Juma_Shanba'.split(\n '_'\n ),\n weekdaysShort: 'Yak_Dush_Sesh_Chor_Pay_Jum_Shan'.split('_'),\n weekdaysMin: 'Ya_Du_Se_Cho_Pa_Ju_Sha'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'D MMMM YYYY, dddd HH:mm',\n },\n calendar: {\n sameDay: '[Bugun soat] LT [da]',\n nextDay: '[Ertaga] LT [da]',\n nextWeek: 'dddd [kuni soat] LT [da]',\n lastDay: '[Kecha soat] LT [da]',\n lastWeek: \"[O'tgan] dddd [kuni soat] LT [da]\",\n sameElse: 'L',\n },\n relativeTime: {\n future: 'Yaqin %s ichida',\n past: 'Bir necha %s oldin',\n s: 'soniya',\n ss: '%d soniya',\n m: 'bir daqiqa',\n mm: '%d daqiqa',\n h: 'bir soat',\n hh: '%d soat',\n d: 'bir kun',\n dd: '%d kun',\n M: 'bir oy',\n MM: '%d oy',\n y: 'bir yil',\n yy: '%d yil',\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 7, // The week that contains Jan 7th is the first week of the year.\n },\n });\n\n //! moment.js locale configuration\n\n moment.defineLocale('uz', {\n months: 'январ_феврал_март_апрел_май_июн_июл_август_сентябр_октябр_ноябр_декабр'.split(\n '_'\n ),\n monthsShort: 'янв_фев_мар_апр_май_июн_июл_авг_сен_окт_ноя_дек'.split('_'),\n weekdays: 'Якшанба_Душанба_Сешанба_Чоршанба_Пайшанба_Жума_Шанба'.split('_'),\n weekdaysShort: 'Якш_Душ_Сеш_Чор_Пай_Жум_Шан'.split('_'),\n weekdaysMin: 'Як_Ду_Се_Чо_Па_Жу_Ша'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'D MMMM YYYY, dddd HH:mm',\n },\n calendar: {\n sameDay: '[Бугун соат] LT [да]',\n nextDay: '[Эртага] LT [да]',\n nextWeek: 'dddd [куни соат] LT [да]',\n lastDay: '[Кеча соат] LT [да]',\n lastWeek: '[Утган] dddd [куни соат] LT [да]',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'Якин %s ичида',\n past: 'Бир неча %s олдин',\n s: 'фурсат',\n ss: '%d фурсат',\n m: 'бир дакика',\n mm: '%d дакика',\n h: 'бир соат',\n hh: '%d соат',\n d: 'бир кун',\n dd: '%d кун',\n M: 'бир ой',\n MM: '%d ой',\n y: 'бир йил',\n yy: '%d йил',\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 7, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n //! moment.js locale configuration\n\n moment.defineLocale('vi', {\n months: 'tháng 1_tháng 2_tháng 3_tháng 4_tháng 5_tháng 6_tháng 7_tháng 8_tháng 9_tháng 10_tháng 11_tháng 12'.split(\n '_'\n ),\n monthsShort:\n 'Thg 01_Thg 02_Thg 03_Thg 04_Thg 05_Thg 06_Thg 07_Thg 08_Thg 09_Thg 10_Thg 11_Thg 12'.split(\n '_'\n ),\n monthsParseExact: true,\n weekdays: 'chủ nhật_thứ hai_thứ ba_thứ tư_thứ năm_thứ sáu_thứ bảy'.split(\n '_'\n ),\n weekdaysShort: 'CN_T2_T3_T4_T5_T6_T7'.split('_'),\n weekdaysMin: 'CN_T2_T3_T4_T5_T6_T7'.split('_'),\n weekdaysParseExact: true,\n meridiemParse: /sa|ch/i,\n isPM: function (input) {\n return /^ch$/i.test(input);\n },\n meridiem: function (hours, minutes, isLower) {\n if (hours < 12) {\n return isLower ? 'sa' : 'SA';\n } else {\n return isLower ? 'ch' : 'CH';\n }\n },\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM [năm] YYYY',\n LLL: 'D MMMM [năm] YYYY HH:mm',\n LLLL: 'dddd, D MMMM [năm] YYYY HH:mm',\n l: 'DD/M/YYYY',\n ll: 'D MMM YYYY',\n lll: 'D MMM YYYY HH:mm',\n llll: 'ddd, D MMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[Hôm nay lúc] LT',\n nextDay: '[Ngày mai lúc] LT',\n nextWeek: 'dddd [tuần tới lúc] LT',\n lastDay: '[Hôm qua lúc] LT',\n lastWeek: 'dddd [tuần trước lúc] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: '%s tới',\n past: '%s trước',\n s: 'vài giây',\n ss: '%d giây',\n m: 'một phút',\n mm: '%d phút',\n h: 'một giờ',\n hh: '%d giờ',\n d: 'một ngày',\n dd: '%d ngày',\n w: 'một tuần',\n ww: '%d tuần',\n M: 'một tháng',\n MM: '%d tháng',\n y: 'một năm',\n yy: '%d năm',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}/,\n ordinal: function (number) {\n return number;\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n //! moment.js locale configuration\n\n moment.defineLocale('x-pseudo', {\n months: 'J~áñúá~rý_F~ébrú~árý_~Márc~h_Áp~ríl_~Máý_~Júñé~_Júl~ý_Áú~gúst~_Sép~témb~ér_Ó~ctób~ér_Ñ~óvém~bér_~Décé~mbér'.split(\n '_'\n ),\n monthsShort:\n 'J~áñ_~Féb_~Már_~Ápr_~Máý_~Júñ_~Júl_~Áúg_~Sép_~Óct_~Ñóv_~Déc'.split(\n '_'\n ),\n monthsParseExact: true,\n weekdays:\n 'S~úñdá~ý_Mó~ñdáý~_Túé~sdáý~_Wéd~ñésd~áý_T~húrs~dáý_~Fríd~áý_S~átúr~dáý'.split(\n '_'\n ),\n weekdaysShort: 'S~úñ_~Móñ_~Túé_~Wéd_~Thú_~Frí_~Sát'.split('_'),\n weekdaysMin: 'S~ú_Mó~_Tú_~Wé_T~h_Fr~_Sá'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd, D MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[T~ódá~ý át] LT',\n nextDay: '[T~ómó~rró~w át] LT',\n nextWeek: 'dddd [át] LT',\n lastDay: '[Ý~ést~érdá~ý át] LT',\n lastWeek: '[L~ást] dddd [át] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'í~ñ %s',\n past: '%s á~gó',\n s: 'á ~féw ~sécó~ñds',\n ss: '%d s~écóñ~ds',\n m: 'á ~míñ~úté',\n mm: '%d m~íñú~tés',\n h: 'á~ñ hó~úr',\n hh: '%d h~óúrs',\n d: 'á ~dáý',\n dd: '%d d~áýs',\n M: 'á ~móñ~th',\n MM: '%d m~óñt~hs',\n y: 'á ~ýéár',\n yy: '%d ý~éárs',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(th|st|nd|rd)/,\n ordinal: function (number) {\n var b = number % 10,\n output =\n ~~((number % 100) / 10) === 1\n ? 'th'\n : b === 1\n ? 'st'\n : b === 2\n ? 'nd'\n : b === 3\n ? 'rd'\n : 'th';\n return number + output;\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n //! moment.js locale configuration\n\n moment.defineLocale('yo', {\n months: 'Sẹ́rẹ́_Èrèlè_Ẹrẹ̀nà_Ìgbé_Èbibi_Òkùdu_Agẹmo_Ògún_Owewe_Ọ̀wàrà_Bélú_Ọ̀pẹ̀̀'.split(\n '_'\n ),\n monthsShort: 'Sẹ́r_Èrl_Ẹrn_Ìgb_Èbi_Òkù_Agẹ_Ògú_Owe_Ọ̀wà_Bél_Ọ̀pẹ̀̀'.split('_'),\n weekdays: 'Àìkú_Ajé_Ìsẹ́gun_Ọjọ́rú_Ọjọ́bọ_Ẹtì_Àbámẹ́ta'.split('_'),\n weekdaysShort: 'Àìk_Ajé_Ìsẹ́_Ọjr_Ọjb_Ẹtì_Àbá'.split('_'),\n weekdaysMin: 'Àì_Aj_Ìs_Ọr_Ọb_Ẹt_Àb'.split('_'),\n longDateFormat: {\n LT: 'h:mm A',\n LTS: 'h:mm:ss A',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY h:mm A',\n LLLL: 'dddd, D MMMM YYYY h:mm A',\n },\n calendar: {\n sameDay: '[Ònì ni] LT',\n nextDay: '[Ọ̀la ni] LT',\n nextWeek: \"dddd [Ọsẹ̀ tón'bọ] [ni] LT\",\n lastDay: '[Àna ni] LT',\n lastWeek: 'dddd [Ọsẹ̀ tólọ́] [ni] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'ní %s',\n past: '%s kọjá',\n s: 'ìsẹjú aayá die',\n ss: 'aayá %d',\n m: 'ìsẹjú kan',\n mm: 'ìsẹjú %d',\n h: 'wákati kan',\n hh: 'wákati %d',\n d: 'ọjọ́ kan',\n dd: 'ọjọ́ %d',\n M: 'osù kan',\n MM: 'osù %d',\n y: 'ọdún kan',\n yy: 'ọdún %d',\n },\n dayOfMonthOrdinalParse: /ọjọ́\\s\\d{1,2}/,\n ordinal: 'ọjọ́ %d',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n //! moment.js locale configuration\n\n moment.defineLocale('zh-cn', {\n months: '一月_二月_三月_四月_五月_六月_七月_八月_九月_十月_十一月_十二月'.split(\n '_'\n ),\n monthsShort: '1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月'.split(\n '_'\n ),\n weekdays: '星期日_星期一_星期二_星期三_星期四_星期五_星期六'.split('_'),\n weekdaysShort: '周日_周一_周二_周三_周四_周五_周六'.split('_'),\n weekdaysMin: '日_一_二_三_四_五_六'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'YYYY/MM/DD',\n LL: 'YYYY年M月D日',\n LLL: 'YYYY年M月D日Ah点mm分',\n LLLL: 'YYYY年M月D日ddddAh点mm分',\n l: 'YYYY/M/D',\n ll: 'YYYY年M月D日',\n lll: 'YYYY年M月D日 HH:mm',\n llll: 'YYYY年M月D日dddd HH:mm',\n },\n meridiemParse: /凌晨|早上|上午|中午|下午|晚上/,\n meridiemHour: function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === '凌晨' || meridiem === '早上' || meridiem === '上午') {\n return hour;\n } else if (meridiem === '下午' || meridiem === '晚上') {\n return hour + 12;\n } else {\n // '中午'\n return hour >= 11 ? hour : hour + 12;\n }\n },\n meridiem: function (hour, minute, isLower) {\n var hm = hour * 100 + minute;\n if (hm < 600) {\n return '凌晨';\n } else if (hm < 900) {\n return '早上';\n } else if (hm < 1130) {\n return '上午';\n } else if (hm < 1230) {\n return '中午';\n } else if (hm < 1800) {\n return '下午';\n } else {\n return '晚上';\n }\n },\n calendar: {\n sameDay: '[今天]LT',\n nextDay: '[明天]LT',\n nextWeek: function (now) {\n if (now.week() !== this.week()) {\n return '[下]dddLT';\n } else {\n return '[本]dddLT';\n }\n },\n lastDay: '[昨天]LT',\n lastWeek: function (now) {\n if (this.week() !== now.week()) {\n return '[上]dddLT';\n } else {\n return '[本]dddLT';\n }\n },\n sameElse: 'L',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(日|月|周)/,\n ordinal: function (number, period) {\n switch (period) {\n case 'd':\n case 'D':\n case 'DDD':\n return number + '日';\n case 'M':\n return number + '月';\n case 'w':\n case 'W':\n return number + '周';\n default:\n return number;\n }\n },\n relativeTime: {\n future: '%s后',\n past: '%s前',\n s: '几秒',\n ss: '%d 秒',\n m: '1 分钟',\n mm: '%d 分钟',\n h: '1 小时',\n hh: '%d 小时',\n d: '1 天',\n dd: '%d 天',\n w: '1 周',\n ww: '%d 周',\n M: '1 个月',\n MM: '%d 个月',\n y: '1 年',\n yy: '%d 年',\n },\n week: {\n // GB/T 7408-1994《数据元和交换格式·信息交换·日期和时间表示法》与ISO 8601:1988等效\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n //! moment.js locale configuration\n\n moment.defineLocale('zh-hk', {\n months: '一月_二月_三月_四月_五月_六月_七月_八月_九月_十月_十一月_十二月'.split(\n '_'\n ),\n monthsShort: '1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月'.split(\n '_'\n ),\n weekdays: '星期日_星期一_星期二_星期三_星期四_星期五_星期六'.split('_'),\n weekdaysShort: '週日_週一_週二_週三_週四_週五_週六'.split('_'),\n weekdaysMin: '日_一_二_三_四_五_六'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'YYYY/MM/DD',\n LL: 'YYYY年M月D日',\n LLL: 'YYYY年M月D日 HH:mm',\n LLLL: 'YYYY年M月D日dddd HH:mm',\n l: 'YYYY/M/D',\n ll: 'YYYY年M月D日',\n lll: 'YYYY年M月D日 HH:mm',\n llll: 'YYYY年M月D日dddd HH:mm',\n },\n meridiemParse: /凌晨|早上|上午|中午|下午|晚上/,\n meridiemHour: function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === '凌晨' || meridiem === '早上' || meridiem === '上午') {\n return hour;\n } else if (meridiem === '中午') {\n return hour >= 11 ? hour : hour + 12;\n } else if (meridiem === '下午' || meridiem === '晚上') {\n return hour + 12;\n }\n },\n meridiem: function (hour, minute, isLower) {\n var hm = hour * 100 + minute;\n if (hm < 600) {\n return '凌晨';\n } else if (hm < 900) {\n return '早上';\n } else if (hm < 1200) {\n return '上午';\n } else if (hm === 1200) {\n return '中午';\n } else if (hm < 1800) {\n return '下午';\n } else {\n return '晚上';\n }\n },\n calendar: {\n sameDay: '[今天]LT',\n nextDay: '[明天]LT',\n nextWeek: '[下]ddddLT',\n lastDay: '[昨天]LT',\n lastWeek: '[上]ddddLT',\n sameElse: 'L',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(日|月|週)/,\n ordinal: function (number, period) {\n switch (period) {\n case 'd':\n case 'D':\n case 'DDD':\n return number + '日';\n case 'M':\n return number + '月';\n case 'w':\n case 'W':\n return number + '週';\n default:\n return number;\n }\n },\n relativeTime: {\n future: '%s後',\n past: '%s前',\n s: '幾秒',\n ss: '%d 秒',\n m: '1 分鐘',\n mm: '%d 分鐘',\n h: '1 小時',\n hh: '%d 小時',\n d: '1 天',\n dd: '%d 天',\n M: '1 個月',\n MM: '%d 個月',\n y: '1 年',\n yy: '%d 年',\n },\n });\n\n //! moment.js locale configuration\n\n moment.defineLocale('zh-mo', {\n months: '一月_二月_三月_四月_五月_六月_七月_八月_九月_十月_十一月_十二月'.split(\n '_'\n ),\n monthsShort: '1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月'.split(\n '_'\n ),\n weekdays: '星期日_星期一_星期二_星期三_星期四_星期五_星期六'.split('_'),\n weekdaysShort: '週日_週一_週二_週三_週四_週五_週六'.split('_'),\n weekdaysMin: '日_一_二_三_四_五_六'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'YYYY年M月D日',\n LLL: 'YYYY年M月D日 HH:mm',\n LLLL: 'YYYY年M月D日dddd HH:mm',\n l: 'D/M/YYYY',\n ll: 'YYYY年M月D日',\n lll: 'YYYY年M月D日 HH:mm',\n llll: 'YYYY年M月D日dddd HH:mm',\n },\n meridiemParse: /凌晨|早上|上午|中午|下午|晚上/,\n meridiemHour: function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === '凌晨' || meridiem === '早上' || meridiem === '上午') {\n return hour;\n } else if (meridiem === '中午') {\n return hour >= 11 ? hour : hour + 12;\n } else if (meridiem === '下午' || meridiem === '晚上') {\n return hour + 12;\n }\n },\n meridiem: function (hour, minute, isLower) {\n var hm = hour * 100 + minute;\n if (hm < 600) {\n return '凌晨';\n } else if (hm < 900) {\n return '早上';\n } else if (hm < 1130) {\n return '上午';\n } else if (hm < 1230) {\n return '中午';\n } else if (hm < 1800) {\n return '下午';\n } else {\n return '晚上';\n }\n },\n calendar: {\n sameDay: '[今天] LT',\n nextDay: '[明天] LT',\n nextWeek: '[下]dddd LT',\n lastDay: '[昨天] LT',\n lastWeek: '[上]dddd LT',\n sameElse: 'L',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(日|月|週)/,\n ordinal: function (number, period) {\n switch (period) {\n case 'd':\n case 'D':\n case 'DDD':\n return number + '日';\n case 'M':\n return number + '月';\n case 'w':\n case 'W':\n return number + '週';\n default:\n return number;\n }\n },\n relativeTime: {\n future: '%s內',\n past: '%s前',\n s: '幾秒',\n ss: '%d 秒',\n m: '1 分鐘',\n mm: '%d 分鐘',\n h: '1 小時',\n hh: '%d 小時',\n d: '1 天',\n dd: '%d 天',\n M: '1 個月',\n MM: '%d 個月',\n y: '1 年',\n yy: '%d 年',\n },\n });\n\n //! moment.js locale configuration\n\n moment.defineLocale('zh-tw', {\n months: '一月_二月_三月_四月_五月_六月_七月_八月_九月_十月_十一月_十二月'.split(\n '_'\n ),\n monthsShort: '1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月'.split(\n '_'\n ),\n weekdays: '星期日_星期一_星期二_星期三_星期四_星期五_星期六'.split('_'),\n weekdaysShort: '週日_週一_週二_週三_週四_週五_週六'.split('_'),\n weekdaysMin: '日_一_二_三_四_五_六'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'YYYY/MM/DD',\n LL: 'YYYY年M月D日',\n LLL: 'YYYY年M月D日 HH:mm',\n LLLL: 'YYYY年M月D日dddd HH:mm',\n l: 'YYYY/M/D',\n ll: 'YYYY年M月D日',\n lll: 'YYYY年M月D日 HH:mm',\n llll: 'YYYY年M月D日dddd HH:mm',\n },\n meridiemParse: /凌晨|早上|上午|中午|下午|晚上/,\n meridiemHour: function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === '凌晨' || meridiem === '早上' || meridiem === '上午') {\n return hour;\n } else if (meridiem === '中午') {\n return hour >= 11 ? hour : hour + 12;\n } else if (meridiem === '下午' || meridiem === '晚上') {\n return hour + 12;\n }\n },\n meridiem: function (hour, minute, isLower) {\n var hm = hour * 100 + minute;\n if (hm < 600) {\n return '凌晨';\n } else if (hm < 900) {\n return '早上';\n } else if (hm < 1130) {\n return '上午';\n } else if (hm < 1230) {\n return '中午';\n } else if (hm < 1800) {\n return '下午';\n } else {\n return '晚上';\n }\n },\n calendar: {\n sameDay: '[今天] LT',\n nextDay: '[明天] LT',\n nextWeek: '[下]dddd LT',\n lastDay: '[昨天] LT',\n lastWeek: '[上]dddd LT',\n sameElse: 'L',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(日|月|週)/,\n ordinal: function (number, period) {\n switch (period) {\n case 'd':\n case 'D':\n case 'DDD':\n return number + '日';\n case 'M':\n return number + '月';\n case 'w':\n case 'W':\n return number + '週';\n default:\n return number;\n }\n },\n relativeTime: {\n future: '%s後',\n past: '%s前',\n s: '幾秒',\n ss: '%d 秒',\n m: '1 分鐘',\n mm: '%d 分鐘',\n h: '1 小時',\n hh: '%d 小時',\n d: '1 天',\n dd: '%d 天',\n M: '1 個月',\n MM: '%d 個月',\n y: '1 年',\n yy: '%d 年',\n },\n });\n\n moment.locale('en');\n\n return moment;\n\n})));\n","'use strict';\n\nvar bind = require('function-bind');\n\nvar $apply = require('./functionApply');\nvar $call = require('./functionCall');\nvar $reflectApply = require('./reflectApply');\n\n/** @type {import('./actualApply')} */\nmodule.exports = $reflectApply || bind.call($call, $apply);\n","/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar nativeObjectToString = objectProto.toString;\n\n/**\n * Converts `value` to a string using `Object.prototype.toString`.\n *\n * @private\n * @param {*} value The value to convert.\n * @returns {string} Returns the converted string.\n */\nfunction objectToString(value) {\n return nativeObjectToString.call(value);\n}\n\nmodule.exports = objectToString;\n","!function(e,t){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=t():\"function\"==typeof define&&define.amd?define(t):(e.ReactIntlLocaleData=e.ReactIntlLocaleData||{},e.ReactIntlLocaleData.bh=t())}(this,function(){\"use strict\";return[{locale:\"bh\",pluralRuleFunction:function(e,t){return t?\"other\":0==e||1==e?\"one\":\"other\"},fields:{year:{displayName:\"Year\",relative:{0:\"this year\",1:\"next year\",\"-1\":\"last year\"},relativeTime:{future:{other:\"+{0} y\"},past:{other:\"-{0} y\"}}},\"year-short\":{displayName:\"Year\",relative:{0:\"this year\",1:\"next year\",\"-1\":\"last year\"},relativeTime:{future:{other:\"+{0} y\"},past:{other:\"-{0} y\"}}},month:{displayName:\"Month\",relative:{0:\"this month\",1:\"next month\",\"-1\":\"last month\"},relativeTime:{future:{other:\"+{0} m\"},past:{other:\"-{0} m\"}}},\"month-short\":{displayName:\"Month\",relative:{0:\"this month\",1:\"next month\",\"-1\":\"last month\"},relativeTime:{future:{other:\"+{0} m\"},past:{other:\"-{0} m\"}}},day:{displayName:\"Day\",relative:{0:\"today\",1:\"tomorrow\",\"-1\":\"yesterday\"},relativeTime:{future:{other:\"+{0} d\"},past:{other:\"-{0} d\"}}},\"day-short\":{displayName:\"Day\",relative:{0:\"today\",1:\"tomorrow\",\"-1\":\"yesterday\"},relativeTime:{future:{other:\"+{0} d\"},past:{other:\"-{0} d\"}}},hour:{displayName:\"Hour\",relative:{0:\"this hour\"},relativeTime:{future:{other:\"+{0} h\"},past:{other:\"-{0} h\"}}},\"hour-short\":{displayName:\"Hour\",relative:{0:\"this hour\"},relativeTime:{future:{other:\"+{0} h\"},past:{other:\"-{0} h\"}}},minute:{displayName:\"Minute\",relative:{0:\"this minute\"},relativeTime:{future:{other:\"+{0} min\"},past:{other:\"-{0} min\"}}},\"minute-short\":{displayName:\"Minute\",relative:{0:\"this minute\"},relativeTime:{future:{other:\"+{0} min\"},past:{other:\"-{0} min\"}}},second:{displayName:\"Second\",relative:{0:\"now\"},relativeTime:{future:{other:\"+{0} s\"},past:{other:\"-{0} s\"}}},\"second-short\":{displayName:\"Second\",relative:{0:\"now\"},relativeTime:{future:{other:\"+{0} s\"},past:{other:\"-{0} s\"}}}}}]});\n","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n\tvalue: true\n});\nexports.default = reduce;\n\nvar _dragOffset = require('./dragOffset');\n\nvar _dragOffset2 = _interopRequireDefault(_dragOffset);\n\nvar _dragOperation = require('./dragOperation');\n\nvar _dragOperation2 = _interopRequireDefault(_dragOperation);\n\nvar _refCount = require('./refCount');\n\nvar _refCount2 = _interopRequireDefault(_refCount);\n\nvar _dirtyHandlerIds = require('./dirtyHandlerIds');\n\nvar _dirtyHandlerIds2 = _interopRequireDefault(_dirtyHandlerIds);\n\nvar _stateId = require('./stateId');\n\nvar _stateId2 = _interopRequireDefault(_stateId);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction reduce() {\n\tvar state = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\tvar action = arguments[1];\n\n\treturn {\n\t\tdirtyHandlerIds: (0, _dirtyHandlerIds2.default)(state.dirtyHandlerIds, action, state.dragOperation),\n\t\tdragOffset: (0, _dragOffset2.default)(state.dragOffset, action),\n\t\trefCount: (0, _refCount2.default)(state.refCount, action),\n\t\tdragOperation: (0, _dragOperation2.default)(state.dragOperation, action),\n\t\tstateId: (0, _stateId2.default)(state.stateId)\n\t};\n}","\"use strict\";\n\nexports.__esModule = true;\n\nvar _createClass = (function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; })();\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nvar noop = function noop() {};\n\n/**\n * The basic disposable.\n */\n\nvar Disposable = (function () {\n _createClass(Disposable, null, [{\n key: \"empty\",\n value: { dispose: noop },\n enumerable: true\n }]);\n\n function Disposable(action) {\n _classCallCheck(this, Disposable);\n\n this.isDisposed = false;\n this.action = action || noop;\n }\n\n Disposable.prototype.dispose = function dispose() {\n if (!this.isDisposed) {\n this.action.call(null);\n this.isDisposed = true;\n }\n };\n\n return Disposable;\n})();\n\nexports[\"default\"] = Disposable;\nmodule.exports = exports[\"default\"];","var baseDifference = require('./_baseDifference'),\n baseRest = require('./_baseRest'),\n isArrayLikeObject = require('./isArrayLikeObject');\n\n/**\n * Creates an array excluding all given values using\n * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * for equality comparisons.\n *\n * **Note:** Unlike `_.pull`, this method returns a new array.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Array\n * @param {Array} array The array to inspect.\n * @param {...*} [values] The values to exclude.\n * @returns {Array} Returns the new array of filtered values.\n * @see _.difference, _.xor\n * @example\n *\n * _.without([2, 1, 2, 3], 1, 2);\n * // => [3]\n */\nvar without = baseRest(function(array, values) {\n return isArrayLikeObject(array)\n ? baseDifference(array, values)\n : [];\n});\n\nmodule.exports = without;\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react-is.production.min.js');\n} else {\n module.exports = require('./cjs/react-is.development.js');\n}\n","var Symbol = require('./_Symbol'),\n getRawTag = require('./_getRawTag'),\n objectToString = require('./_objectToString');\n\n/** `Object#toString` result references. */\nvar nullTag = '[object Null]',\n undefinedTag = '[object Undefined]';\n\n/** Built-in value references. */\nvar symToStringTag = Symbol ? Symbol.toStringTag : undefined;\n\n/**\n * The base implementation of `getTag` without fallbacks for buggy environments.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the `toStringTag`.\n */\nfunction baseGetTag(value) {\n if (value == null) {\n return value === undefined ? undefinedTag : nullTag;\n }\n return (symToStringTag && symToStringTag in Object(value))\n ? getRawTag(value)\n : objectToString(value);\n}\n\nmodule.exports = baseGetTag;\n","/**\n * A specialized version of `_.filter` for arrays without support for\n * iteratee shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} predicate The function invoked per iteration.\n * @returns {Array} Returns the new filtered array.\n */\nfunction arrayFilter(array, predicate) {\n var index = -1,\n length = array == null ? 0 : array.length,\n resIndex = 0,\n result = [];\n\n while (++index < length) {\n var value = array[index];\n if (predicate(value, index, array)) {\n result[resIndex++] = value;\n }\n }\n return result;\n}\n\nmodule.exports = arrayFilter;\n","'use strict';\n\n/* eslint no-invalid-this: 1 */\n\nvar ERROR_MESSAGE = 'Function.prototype.bind called on incompatible ';\nvar toStr = Object.prototype.toString;\nvar max = Math.max;\nvar funcType = '[object Function]';\n\nvar concatty = function concatty(a, b) {\n var arr = [];\n\n for (var i = 0; i < a.length; i += 1) {\n arr[i] = a[i];\n }\n for (var j = 0; j < b.length; j += 1) {\n arr[j + a.length] = b[j];\n }\n\n return arr;\n};\n\nvar slicy = function slicy(arrLike, offset) {\n var arr = [];\n for (var i = offset || 0, j = 0; i < arrLike.length; i += 1, j += 1) {\n arr[j] = arrLike[i];\n }\n return arr;\n};\n\nvar joiny = function (arr, joiner) {\n var str = '';\n for (var i = 0; i < arr.length; i += 1) {\n str += arr[i];\n if (i + 1 < arr.length) {\n str += joiner;\n }\n }\n return str;\n};\n\nmodule.exports = function bind(that) {\n var target = this;\n if (typeof target !== 'function' || toStr.apply(target) !== funcType) {\n throw new TypeError(ERROR_MESSAGE + target);\n }\n var args = slicy(arguments, 1);\n\n var bound;\n var binder = function () {\n if (this instanceof bound) {\n var result = target.apply(\n this,\n concatty(args, arguments)\n );\n if (Object(result) === result) {\n return result;\n }\n return this;\n }\n return target.apply(\n that,\n concatty(args, arguments)\n );\n\n };\n\n var boundLength = max(0, target.length - args.length);\n var boundArgs = [];\n for (var i = 0; i < boundLength; i++) {\n boundArgs[i] = '$' + i;\n }\n\n bound = Function('binder', 'return function (' + joiny(boundArgs, ',') + '){ return binder.apply(this,arguments); }')(binder);\n\n if (target.prototype) {\n var Empty = function Empty() {};\n Empty.prototype = target.prototype;\n bound.prototype = new Empty();\n Empty.prototype = null;\n }\n\n return bound;\n};\n","'use strict';\n\nvar GetIntrinsic = require('get-intrinsic');\nvar callBound = require('call-bound');\nvar inspect = require('object-inspect');\n\nvar $TypeError = require('es-errors/type');\nvar $Map = GetIntrinsic('%Map%', true);\n\n/** @type {(thisArg: Map, key: K) => V} */\nvar $mapGet = callBound('Map.prototype.get', true);\n/** @type {(thisArg: Map, key: K, value: V) => void} */\nvar $mapSet = callBound('Map.prototype.set', true);\n/** @type {(thisArg: Map, key: K) => boolean} */\nvar $mapHas = callBound('Map.prototype.has', true);\n/** @type {(thisArg: Map, key: K) => boolean} */\nvar $mapDelete = callBound('Map.prototype.delete', true);\n/** @type {(thisArg: Map) => number} */\nvar $mapSize = callBound('Map.prototype.size', true);\n\n/** @type {import('.')} */\nmodule.exports = !!$Map && /** @type {Exclude} */ function getSideChannelMap() {\n\t/** @typedef {ReturnType} Channel */\n\t/** @typedef {Parameters[0]} K */\n\t/** @typedef {Parameters[1]} V */\n\n\t/** @type {Map | undefined} */ var $m;\n\n\t/** @type {Channel} */\n\tvar channel = {\n\t\tassert: function (key) {\n\t\t\tif (!channel.has(key)) {\n\t\t\t\tthrow new $TypeError('Side channel does not contain ' + inspect(key));\n\t\t\t}\n\t\t},\n\t\t'delete': function (key) {\n\t\t\tif ($m) {\n\t\t\t\tvar result = $mapDelete($m, key);\n\t\t\t\tif ($mapSize($m) === 0) {\n\t\t\t\t\t$m = void undefined;\n\t\t\t\t}\n\t\t\t\treturn result;\n\t\t\t}\n\t\t\treturn false;\n\t\t},\n\t\tget: function (key) { // eslint-disable-line consistent-return\n\t\t\tif ($m) {\n\t\t\t\treturn $mapGet($m, key);\n\t\t\t}\n\t\t},\n\t\thas: function (key) {\n\t\t\tif ($m) {\n\t\t\t\treturn $mapHas($m, key);\n\t\t\t}\n\t\t\treturn false;\n\t\t},\n\t\tset: function (key, value) {\n\t\t\tif (!$m) {\n\t\t\t\t// @ts-expect-error TS can't handle narrowing a variable inside a closure\n\t\t\t\t$m = new $Map();\n\t\t\t}\n\t\t\t$mapSet($m, key, value);\n\t\t}\n\t};\n\n\t// @ts-expect-error TODO: figure out why TS is erroring here\n\treturn channel;\n};\n","import type * as t from \"../index.ts\";\n\n/**\n * Add comments of certain type to a node.\n */\nexport default function addComments(\n node: T,\n type: t.CommentTypeShorthand,\n comments: Array,\n): T {\n if (!comments || !node) return node;\n\n const key = `${type}Comments` as const;\n\n if (node[key]) {\n if (type === \"leading\") {\n node[key] = comments.concat(node[key]);\n } else {\n node[key].push(...comments);\n }\n } else {\n node[key] = comments;\n }\n\n return node;\n}\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Doctype = exports.CDATA = exports.Tag = exports.Style = exports.Script = exports.Comment = exports.Directive = exports.Text = exports.Root = exports.isTag = exports.ElementType = void 0;\n/** Types of elements found in htmlparser2's DOM */\nvar ElementType;\n(function (ElementType) {\n /** Type for the root element of a document */\n ElementType[\"Root\"] = \"root\";\n /** Type for Text */\n ElementType[\"Text\"] = \"text\";\n /** Type for */\n ElementType[\"Directive\"] = \"directive\";\n /** Type for */\n ElementType[\"Comment\"] = \"comment\";\n /** Type for \"); // \"<script src="javascript:alert('Hello');"></script>\"\r\n * ```\r\n */\r\n/*#__NO_SIDE_EFFECTS__*/\r\nexport function encodeAsHtml(value: string) {\r\n !_htmlEntityCache && (_htmlEntityCache = {\r\n \"&\": \"amp\",\r\n \"<\": \"lt\",\r\n \">\": \"gt\",\r\n \"\\\"\": \"quot\",\r\n \"'\": \"#39\"\r\n });\r\n \r\n return asString(value).replace(/[&<>\"']/g, match => \"&\" + _htmlEntityCache[match] + \";\");\r\n}\r\n","/*\r\n * @nevware21/ts-utils\r\n * https://github.com/nevware21/ts-utils\r\n *\r\n * Copyright (c) 2022 NevWare21 Solutions LLC\r\n * Licensed under the MIT license.\r\n */\r\n\r\nimport { getWindow, hasWindow } from \"../helpers/environment\";\r\nimport { CALL, CONSTRUCTOR, FUNCTION, ObjClass, OBJECT, PROTOTYPE, TO_STRING } from \"../internal/constants\";\r\nimport { objHasOwnProperty } from \"./has_own_prop\";\r\nimport { objGetPrototypeOf } from \"./object\";\r\n\r\n// Use to cache the result of Object.cont\r\nlet _fnToString: () => string;\r\nlet _objCtrFnString: string;\r\nlet _gblWindow: Window;\r\n\r\n/**\r\n * Checks to see if the past value is a plain object (not a class/array) value.\r\n * Object are considered to be \"plain\" if they are created with no prototype `Object.create(null)`\r\n * or by using the Object global (native) function, all other \"objects\" ar\r\n * @since 0.4.4\r\n * @group Type Identity\r\n * @group Object\r\n * @param value - The value to check\r\n * @returns true if `value` is a normal plain object\r\n * @example\r\n * ```ts\r\n * console.log(isPlainObject({ 0: 'a', 1: 'b', 2: 'c' })); // true\r\n * console.log(isPlainObject({ 100: 'a', 2: 'b', 7: 'c' })); // true\r\n * console.log(isPlainObject(objCreate(null))); // true\r\n *\r\n * const myObj = objCreate({}, {\r\n * getFoo: {\r\n * value() { return this.foo; }\r\n * }\r\n * });\r\n * myObj.foo = 1;\r\n * console.log(isPlainObject(myObj)); // true\r\n *\r\n * console.log(isPlainObject(['a', 'b', 'c'])); // false\r\n * console.log(isPlainObject(new Date())); // false\r\n * console.log(isPlainObject(new Error(\"An Error\"))); // false\r\n * console.log(isPlainObject(null)); // false\r\n * console.log(isPlainObject(undefined)); // false\r\n * console.log(isPlainObject(\"null\")); // false\r\n * console.log(isPlainObject(\"undefined\")); // false\r\n * console.log(isPlainObject(\"1\")); // false\r\n * console.log(isPlainObject(\"aa\")); // false\r\n * ```\r\n */\r\n/*#__NO_SIDE_EFFECTS__*/\r\nexport function isPlainObject(value: any): value is object {\r\n if (!value || typeof value !== OBJECT) {\r\n return false;\r\n }\r\n\r\n if (!_gblWindow) {\r\n // Lazily cache the current global window value and default it to \"true\" (so we bypass this check in the future)\r\n _gblWindow = hasWindow() ? getWindow() : (true as any);\r\n }\r\n\r\n let result = false;\r\n if (value !== _gblWindow) {\r\n\r\n if (!_objCtrFnString) {\r\n // Lazily caching what the runtime reports as the object function constructor (as a string)\r\n // Using an current function lookup to find what this runtime calls a \"native\" function\r\n _fnToString = Function[PROTOTYPE][TO_STRING];\r\n _objCtrFnString = _fnToString[CALL](ObjClass);\r\n }\r\n\r\n try {\r\n let proto = objGetPrototypeOf(value);\r\n\r\n // No prototype so looks like an object created with Object.create(null)\r\n result = !proto;\r\n if (!result) {\r\n if (objHasOwnProperty(proto, CONSTRUCTOR)) {\r\n proto = proto[CONSTRUCTOR]\r\n }\r\n \r\n result = !!(proto && typeof proto === FUNCTION && _fnToString[CALL](proto) === _objCtrFnString);\r\n }\r\n } catch (ex) {\r\n // Something went wrong, so it's not an object we are playing with\r\n }\r\n }\r\n\r\n return result;\r\n}\r\n","/*\r\n * @nevware21/ts-utils\r\n * https://github.com/nevware21/ts-utils\r\n *\r\n * Copyright (c) 2023 NevWare21 Solutions LLC\r\n * Licensed under the MIT license.\r\n */\r\n\r\nimport { NULL_VALUE, StrProto } from \"../internal/constants\";\r\nimport { _unwrapFunction, _unwrapFunctionWithPoly } from \"../internal/unwrapFunction\";\r\nimport { polyStrSymSplit } from \"../polyfills/split\";\r\nimport { hasSymbol } from \"../symbol/symbol\";\r\n\r\n/**\r\n * The `strSplit()` splits a string into substrings using the pattern and divides a String\r\n * into an ordered list of substrings by searching for the pattern, puts these substrings\r\n * into an array, and returns the array.\r\n * @since 0.9.1\r\n * @group String\r\n * @param value - The string value to be split into substrings.\r\n * @param separator - The pattern describing where each split should occur. Can be undefined, a\r\n * string, or an object with a [`Symbol.split`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Symbol/split)\r\n * method (if supported) — the typical example being a regular expression. Omitting separator or\r\n * passing undefined causes strSplit() to return an array with the calling string as a single\r\n * element. All values that are not undefined or objects with a `@@split` method are coerced to strings.\r\n * @param limit - A non-negative integer specifying a limit on the number of substrings to be\r\n * included in the array. If provided, splits the string at each occurrence of the specified\r\n * separator, but stops when limit entries have been placed in the array. Any leftover text is\r\n * not included in the array at all.\r\n * - The array may contain fewer entries than limit if the end of the string is reached before\r\n * the limit is reached.\r\n * - If limit is 0, [] is returned.\r\n * @return An Array of strings, split at each point where the separator occurs in the given string.\r\n * @example\r\n * ```ts\r\n * strSplit(\"Oh brave new world that has such people in it.\", \" \");\r\n * // [ \"Oh\", \"brave\", \"new\", \"world\", \"that\", \"has\", \"such\", \"people\", \"in\", \"it.\" ]\r\n *\r\n * strSplit(\"Jan,Feb,Mar,Apr,May,Jun,Jul,Aug,Sep,Oct,Nov,Dec\", \",\");\r\n * // [ \"Jan\", \"Feb\", \"Mar\", \"Apr\", \"May\", \"Jun\", \"Jul\", \"Aug\", \"Sep\", \"Oct\", \"Nov\", \"Dec\" ]\r\n * ```\r\n */\r\nexport const strSplit: (value: string, separator: string | RegExp, limit?: number) => string[] = (/*#__PURE__*/_unwrapFunction(\"split\", StrProto));\r\n\r\n/**\r\n * The `strSymSplit()` splits a string into substrings using the [`Symbol.split`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Symbol/split)\r\n * method from the splitter object to provide custom behavior. If the runtime supports symbols\r\n * then the default runtime `split` method will be called, It will use {@link getKnownSymbol}\r\n * to get the {@link WellKnownSymbols.split} symbol which will return the runtime symbol or the\r\n * polyfill symbol when not supported by the runtime.\r\n * @since 0.9.1\r\n * @group String\r\n * @param value - The string value to be split into substrings.\r\n * @param splitter - The object which contains a Symbol.split method, Omitting splitter or passing\r\n * an object that doesn't contain a Symbol.split causes it to return an array with the calling\r\n * string as a single element.\r\n * @param limit - A non-negative integer specifying a limit on the number of substrings to be\r\n * included in the array. If provided, splits the string at each occurrence of the specified\r\n * separator, but stops when limit entries have been placed in the array. Any leftover text is\r\n * not included in the array at all.\r\n * - The array may contain fewer entries than limit if the end of the string is reached before\r\n * the limit is reached.\r\n * - If limit is 0, [] is returned.\r\n * @return An Array of strings, split at each point where the separator occurs in the given string.\r\n * @example\r\n * ```ts\r\n * const splitByNumber = {\r\n * [Symbol.split]: (str: string) => {\r\n * let num = 1;\r\n * let pos = 0;\r\n * const result = [];\r\n * while (pos < str.length) {\r\n * const matchPos = strIndexOf(str, asString(num), pos);\r\n * if (matchPos === -1) {\r\n * result.push(strSubstring(str, pos));\r\n * break;\r\n * }\r\n * result.push(strSubstring(str, pos, matchPos));\r\n * pos = matchPos + asString(num).length;\r\n * num++;\r\n * }\r\n * return result;\r\n * }\r\n * };\r\n *\r\n * const myString = \"a1bc2c5d3e4f\";\r\n * console.log(strSymSplit(myString, splitByNumber)); // [ \"a\", \"bc\", \"c5d\", \"e\", \"f\" ]\r\n * ```\r\n */\r\nexport const strSymSplit: (value: string, splitter: { [Symbol.split](string: string, limit?: number): string[]; }, limit?: number) => string[] = (/*#__PURE__*/_unwrapFunctionWithPoly(\"split\", StrProto, !hasSymbol() ? polyStrSymSplit : NULL_VALUE));\r\n","/*\r\n * @nevware21/ts-utils\r\n * https://github.com/nevware21/ts-utils\r\n *\r\n * Copyright (c) 2022 NevWare21 Solutions LLC\r\n * Licensed under the MIT license.\r\n */\r\n\r\nimport { isString, isUndefined } from \"../helpers/base\";\r\nimport { dumpObj } from \"../helpers/diagnostics\";\r\nimport { throwTypeError } from \"../helpers/throw\";\r\nimport { LENGTH, StrProto } from \"../internal/constants\";\r\nimport { _unwrapFunctionWithPoly } from \"../internal/unwrapFunction\";\r\nimport { asString } from \"./as_string\";\r\nimport { strSubstring } from \"./substring\";\r\n\r\n/**\r\n * This method lets you determine whether or not a string ends with another string. This method is case-sensitive.\r\n * @group String\r\n * @param value - The value to be checked\r\n * @param searchString - The characters to be searched for at the end of `value` string.\r\n * @param length - If provided, it is used as the length of `value`. Defaults to value.length.\r\n */\r\nexport const strEndsWith: (value: string, searchString: string, length?: number) => boolean = (/*#__PURE__*/_unwrapFunctionWithPoly(\"endsWith\", StrProto, polyStrEndsWith));\r\n\r\n/**\r\n * This method lets you determine whether or not a string ends with another string. This method is case-sensitive.\r\n * @group Polyfill\r\n * @group String\r\n * @param value - The value to be checked\r\n * @param searchString - The characters to be searched for at the end of `value` string.\r\n * @param length - If provided, it is used as the length of `value`. Defaults to value.length.\r\n */\r\n/*#__NO_SIDE_EFFECTS__*/\r\nexport function polyStrEndsWith(value: string, searchString: string, length?: number): boolean {\r\n if (!isString(value)) {\r\n throwTypeError(\"'\" + dumpObj(value) + \"' is not a string\");\r\n }\r\n\r\n let searchValue = isString(searchString) ? searchString : asString(searchString);\r\n let end = (!isUndefined(length) && length < value[LENGTH]) ? length : value[LENGTH];\r\n\r\n return strSubstring(value, end - searchValue[LENGTH], end) === searchValue;\r\n}\r\n","/*\r\n * @nevware21/ts-utils\r\n * https://github.com/nevware21/ts-utils\r\n *\r\n * Copyright (c) 2022 NevWare21 Solutions LLC\r\n * Licensed under the MIT license.\r\n */\r\n\r\nimport { StrProto } from \"../internal/constants\";\r\nimport { _unwrapFunction } from \"../internal/unwrapFunction\";\r\n\r\n/**\r\n * The `strIndexOf()` method, given two arguments: the string and a substring to search for, searches\r\n * the entire calling string, and returns the index of the first occurrence of the specified substring.\r\n * Given a thrid argument: a number, the method returns the first occurrence of the specified substring\r\n * at an index greater than or equal to the specified number.\r\n * @group String\r\n * @param value - The value to be checked for the seeach string\r\n * @param searchString - The substring to search for in the value\r\n * @param position - The starting position to search from\r\n * @example\r\n * ```ts\r\n * strIndexOf('hello world', '') // returns 0\r\n * strIndexOf('hello world', '', 0) // returns 0\r\n * strIndexOf('hello world', '', 3) // returns 3\r\n * strIndexOf('hello world', '', 8) // returns 8\r\n *\r\n * // However, if the thrid argument is greater than the length of the string\r\n * strIndexOf('hello world', '', 11) // returns 11\r\n * strIndexOf('hello world', '', 13) // returns 11\r\n * strIndexOf('hello world', '', 22) // returns 11\r\n *\r\n * strIndexOf('Blue Whale', 'Blue') // returns 0\r\n * strIndexOf('Blue Whale', 'Blute') // returns -1\r\n * strIndexOf('Blue Whale', 'Whale', 0) // returns 5\r\n * strIndexOf('Blue Whale', 'Whale', 5) // returns 5\r\n * strIndexOf('Blue Whale', 'Whale', 7) // returns -1\r\n * strIndexOf('Blue Whale', '') // returns 0\r\n * strIndexOf('Blue Whale', '', 9) // returns 9\r\n * strIndexOf('Blue Whale', '', 10) // returns 10\r\n * strIndexOf('Blue Whale', '', 11) // returns 10\r\n * ```\r\n */\r\nexport const strIndexOf: (value: string, searchString: string, position?: number) => number = (/*#__PURE__*/_unwrapFunction(\"indexOf\", StrProto));\r\n\r\n/**\r\n * The `strLastIndexOf()` method, given two arguments: the string and a substring to search for, searches\r\n * the entire calling string, and returns the index of the last occurrence of the specified substring.\r\n * Given a third argument: a number, the method returns the last occurrence of the specified substring\r\n * at an index less than or equal to the specified number.\r\n * @group String\r\n * @param value - The value to be checked for the seeach string\r\n * @param searchString - The substring to search for in the value\r\n * @param position - The starting position to search from\r\n * @example\r\n * ```ts\r\n * strLastIndexOf('canal', 'a'); // returns 3\r\n * strLastIndexOf('canal', 'a', 2); // returns 1\r\n * strLastIndexOf('canal', 'a', 0); // returns -1\r\n * strLastIndexOf('canal', 'x'); // returns -1\r\n * strLastIndexOf('canal', 'c', -5); // returns 0\r\n * strLastIndexOf('canal', 'c', 0); // returns 0\r\n * strLastIndexOf('canal', ''); // returns 5\r\n * strLastIndexOf('canal', '', 2); // returns 2\r\n * ```\r\n */\r\nexport const strLastIndexOf: (value: string, searchString: string, position?: number) => number = (/*#__PURE__*/_unwrapFunction(\"lastIndexOf\", StrProto));\r\n","/*\r\n * @nevware21/ts-utils\r\n * https://github.com/nevware21/ts-utils\r\n *\r\n * Copyright (c) 2022 NevWare21 Solutions LLC\r\n * Licensed under the MIT license.\r\n */\r\n\r\nimport { NULL_VALUE } from \"../internal/constants\";\r\nimport { objDefineProp } from \"../object/define\";\r\n\r\nconst REF = \"ref\";\r\nconst UNREF = \"unref\";\r\nconst HAS_REF = \"hasRef\";\r\nconst ENABLED = \"enabled\";\r\n\r\n/**\r\n * A Timer handler which is returned from {@link scheduleTimeout} which contains functions to\r\n * cancel or restart (refresh) the timeout function.\r\n *\r\n * @since 0.4.4\r\n * @group Timer\r\n */\r\nexport interface ITimerHandler {\r\n /**\r\n * Cancels a timeout that was previously scheduled, after calling this function any previously\r\n * scheduled timer will not execute.\r\n * @example\r\n * ```ts\r\n * let theTimer = scheduleTimeout(...);\r\n * theTimer.cancel();\r\n * ```\r\n */\r\n cancel(): void;\r\n\r\n /**\r\n * Reschedules the timer to call its callback at the previously specified duration\r\n * adjusted to the current time. This is useful for refreshing a timer without allocating\r\n * a new JavaScript object.\r\n *\r\n * Using this on a timer that has already called its callback will reactivate the timer.\r\n * Calling on a timer that has not yet executed will just reschedule the current timer.\r\n * @example\r\n * ```ts\r\n * let theTimer = scheduleTimeout(...);\r\n * // The timer will be restarted (if already executed) or rescheduled (if it has not yet executed)\r\n * theTimer.refresh();\r\n * ```\r\n */\r\n refresh(): ITimerHandler;\r\n\r\n /**\r\n * When called, requests that the event loop not exit so long when the ITimerHandler is active.\r\n * Calling timer.ref() multiple times will have no effect. By default, all ITimerHandler objects\r\n * will create \"ref'ed\" instances, making it normally unnecessary to call timer.ref() unless\r\n * timer.unref() had been called previously.\r\n * @since 0.7.0\r\n * @returns the ITimerHandler instance\r\n * @example\r\n * ```ts\r\n * let theTimer = createTimeout(...);\r\n *\r\n * // Make sure the timer is referenced (the default) so that the runtime (Node) does not terminate\r\n * // if there is a waiting referenced timer.\r\n * theTimer.ref();\r\n * ```\r\n */\r\n ref(): this;\r\n\r\n /**\r\n * When called, the any active ITimerHandler instance will not require the event loop to remain\r\n * active (Node.js). If there is no other activity keeping the event loop running, the process may\r\n * exit before the ITimerHandler instance callback is invoked. Calling timer.unref() multiple times\r\n * will have no effect.\r\n * @since 0.7.0\r\n * @returns the ITimerHandler instance\r\n * @example\r\n * ```ts\r\n * let theTimer = createTimeout(...);\r\n *\r\n * // Unreference the timer so that the runtime (Node) may terminate if nothing else is running.\r\n * theTimer.unref();\r\n * ```\r\n */\r\n unref(): this;\r\n\r\n /**\r\n * If true, any running referenced `ITimerHandler` instance will keep the Node.js event loop active.\r\n * @since 0.7.0\r\n * @example\r\n * ```ts\r\n * let theTimer = createTimeout(...);\r\n *\r\n * // Unreference the timer so that the runtime (Node) may terminate if nothing else is running.\r\n * theTimer.unref();\r\n * let hasRef = theTimer.hasRef(); // false\r\n *\r\n * theTimer.ref();\r\n * hasRef = theTimer.hasRef(); // true\r\n * ```\r\n */\r\n hasRef(): boolean;\r\n\r\n /**\r\n * Gets or Sets a flag indicating if the underlying timer is currently enabled and running.\r\n * Setting the enabled flag to the same as it's current value has no effect, setting to `true`\r\n * when already `true` will not {@link ITimerHandler.refresh | refresh}() the timer.\r\n * And setting to `false` will {@link ITimerHandler.cancel | cancel}() the timer.\r\n * @since 0.8.1\r\n * @example\r\n * ```ts\r\n * let theTimer = createTimeout(...);\r\n *\r\n * // Check if enabled\r\n * theTimer.enabled; // false\r\n *\r\n * // Start the timer\r\n * theTimer.enabled = true; // Same as calling refresh()\r\n * theTimer.enabled; //true\r\n *\r\n * // Has no effect as it's already running\r\n * theTimer.enabled = true;\r\n *\r\n * // Will refresh / restart the time\r\n * theTimer.refresh()\r\n *\r\n * let theTimer = scheduleTimeout(...);\r\n *\r\n * // Check if enabled\r\n * theTimer.enabled; // true\r\n * ```\r\n */\r\n enabled: boolean;\r\n}\r\n\r\n/**\r\n * @ignore\r\n * @internal\r\n */\r\nexport interface _TimerHandler {\r\n /**\r\n * The public handler to return to the caller\r\n */\r\n h: ITimerHandler,\r\n\r\n /**\r\n * The callback function that should be called when the timer operation\r\n * has completed and will not automatically rescheduled\r\n * @returns\r\n */\r\n dn: () => void\r\n}\r\n\r\n/**\r\n * @ignore\r\n * @internal\r\n * Internal function to create and manage an ITimerHandler implementation, the object returned from this function\r\n * it directly used / returned by the pulic functions used to create timers (idle, interval and timeout)\r\n * @param startTimer - Should the timer be started as part of creating the handler\r\n * @param refreshFn - The function used to create/start or refresh the timer\r\n * @param cancelFn - The function used to cancel the timer.\r\n * @returns The new ITimerHandler instance\r\n */\r\n/*#__NO_SIDE_EFFECTS__*/\r\nexport function _createTimerHandler(startTimer: boolean, refreshFn: (timerId: T) => T, cancelFn: (timerId: T) => void): _TimerHandler {\r\n let ref = true;\r\n let timerId: T = startTimer ? refreshFn(NULL_VALUE) : NULL_VALUE;\r\n let theTimerHandler: ITimerHandler;\r\n\r\n function _unref() {\r\n ref = false;\r\n timerId && timerId[UNREF] && timerId[UNREF]();\r\n return theTimerHandler;\r\n }\r\n\r\n function _cancel() {\r\n timerId && cancelFn(timerId);\r\n timerId = NULL_VALUE;\r\n }\r\n\r\n function _refresh() {\r\n timerId = refreshFn(timerId);\r\n if (!ref) {\r\n _unref();\r\n }\r\n\r\n return theTimerHandler;\r\n }\r\n\r\n function _setEnabled(value: boolean) {\r\n !value && timerId && _cancel();\r\n value && !timerId && _refresh();\r\n }\r\n\r\n theTimerHandler = {\r\n cancel: _cancel,\r\n refresh: _refresh\r\n } as any;\r\n\r\n theTimerHandler[HAS_REF] = () => {\r\n if (timerId && timerId[HAS_REF]) {\r\n return timerId[HAS_REF]();\r\n }\r\n\r\n return ref;\r\n };\r\n\r\n theTimerHandler[REF] = () => {\r\n ref = true;\r\n timerId && timerId[REF] && timerId[REF]();\r\n return theTimerHandler;\r\n };\r\n\r\n theTimerHandler[UNREF] = _unref;\r\n\r\n theTimerHandler = objDefineProp(theTimerHandler, ENABLED, {\r\n get: () => !!timerId,\r\n set: _setEnabled\r\n });\r\n\r\n return {\r\n h: theTimerHandler,\r\n dn: () => {\r\n timerId = NULL_VALUE;\r\n }\r\n };\r\n}\r\n","/*\r\n * @nevware21/ts-utils\r\n * https://github.com/nevware21/ts-utils\r\n *\r\n * Copyright (c) 2022 NevWare21 Solutions LLC\r\n * Licensed under the MIT license.\r\n */\r\n\r\nimport { fnApply } from \"../funcs/funcs\";\r\nimport { isArray } from \"../helpers/base\";\r\nimport { ArrSlice, CALL, UNDEF_VALUE } from \"../internal/constants\";\r\nimport { ITimerHandler, _createTimerHandler } from \"./handler\";\r\n\r\nfunction _createTimeoutWith(startTimer: boolean, overrideFn: TimeoutOverrideFn | TimeoutOverrideFuncs, theArgs: any[]): ITimerHandler {\r\n let isArr = isArray(overrideFn);\r\n let len = isArr ? overrideFn.length : 0;\r\n let setFn: TimeoutOverrideFn = (len > 0 ? overrideFn[0] : (!isArr ? overrideFn : UNDEF_VALUE)) || setTimeout;\r\n let clearFn: ClearTimeoutOverrideFn = (len > 1 ? overrideFn[1] : UNDEF_VALUE) || clearTimeout;\r\n\r\n let timerFn = theArgs[0];\r\n theArgs[0] = function () {\r\n handler.dn();\r\n fnApply(timerFn, UNDEF_VALUE, ArrSlice[CALL](arguments));\r\n };\r\n \r\n let handler = _createTimerHandler(startTimer, (timerId?: any) => {\r\n if (timerId) {\r\n if (timerId.refresh) {\r\n timerId.refresh();\r\n return timerId;\r\n }\r\n\r\n fnApply(clearFn, UNDEF_VALUE, [ timerId ]);\r\n }\r\n\r\n return fnApply(setFn, UNDEF_VALUE, theArgs);\r\n }, function (timerId: any) {\r\n fnApply(clearFn, UNDEF_VALUE, [ timerId ]);\r\n });\r\n\r\n return handler.h;\r\n}\r\n\r\n/**\r\n * The signature of the override timeout function used to create a new timeout instance, it follows the same signature as\r\n * the native `setTimeout` API.\r\n * @since 0.4.4\r\n * @group Timer\r\n * @param callback - A function to be executed after the timer expires.\r\n * @param ms - The time, in milliseconds that the timer should wait before the specified function or code is executed.\r\n * If this parameter is omitted, a value of 0 is used, meaning execute \"immediately\", or more accurately, the next event cycle.\r\n * @param args - Additional arguments which are passed through to the function specified by callback.\r\n * @return The returned timeoutID is a positive integer value which identifies the timer created by the call to setTimeout().\r\n * This value can be passed to clearTimeout() to cancel the timeout.\r\n */\r\nexport type TimeoutOverrideFn = (callback: (...args: TArgs) => void, ms?: number, ...args: TArgs) => number | any;\r\n\r\n/**\r\n * The signatire of the function to override clearing a previous timeout created with the {@link TimeoutOverrideFn}, it will be passed\r\n * the result returned from the {@link TimeoutOverrideFn} call.\r\n * @since 0.4.5\r\n * @group Timer\r\n * @param timeoutId - The value returned from the previous {@link TimeoutOverrideFn}.\r\n */\r\nexport type ClearTimeoutOverrideFn = (timeoutId: number | any) => void;\r\n\r\n/**\r\n * Defines the array signature used to pass the override set and clean functions for creating a timeout.\r\n * The first index [0] is the set function to be used and the second index [1] is the clear function to be used.\r\n * @since 0.4.5\r\n * @group Timer\r\n */\r\nexport type TimeoutOverrideFuncs = [ TimeoutOverrideFn | null, ClearTimeoutOverrideFn | null ];\r\n\r\n/**\r\n * Creates and starts a timer which executes a function or specified piece of code once the timer expires, this is simular\r\n * to using `setTimeout` but provides a return object for cancelling and restarting (refresh) the timer.\r\n *\r\n * The timer may be cancelled (cleared) by calling the `cancel()` function on the returned {@link ITimerHandler}, or\r\n * you can \"reschedule\" and/or \"restart\" the timer by calling the `refresh()` function on the returned {@link ITimerHandler}\r\n * instance\r\n *\r\n * @since 0.4.4\r\n * @group Timer\r\n *\r\n * @param callback - The function to be executed after the timer expires.\r\n * @param timeout - The time, in milliseconds that the timer should wait before the specified\r\n * function or code is executed. If this parameter is omitted, a value of 0 is used, meaning\r\n * execute \"immediately\", or more accurately, the next event cycle.\r\n * @param args - Additional arguments which are passed through to the function specified by `callback`.\r\n * @returns A {@link ITimerHandler} instance which can be used to cancel the timeout.\r\n * @example\r\n * ```ts\r\n * let timeoutCalled = false;\r\n * let theTimeout = scheduleTimeout(() => {\r\n * // This callback will be called after 100ms as this uses setTimeout()\r\n * timeoutCalled = true;\r\n * }, 100);\r\n *\r\n * // Instead of calling clearTimeout() with the returned value from setTimeout() the returned\r\n * // handler instance can be used instead to cancel the timer\r\n * theTimeout.cancel();\r\n * theTimeout.enabled; // false\r\n *\r\n * // You can start the timer via enabled\r\n * theTimeout.enabled = true;\r\n *\r\n * // You can also \"restart\" the timer, whether it has previously triggered not not via the `refresh()`\r\n * theTimeout.refresh();\r\n * ```\r\n */\r\nexport function scheduleTimeout(callback: (...args: A) => void, timeout: number, ...args: A): ITimerHandler;\r\n\r\n/**\r\n * Creates and starts a timer which executes a function or specified piece of code once the timer expires, this is simular\r\n * to using `setTimeout` but provides a return object for cancelling and restarting (refresh) the timer.\r\n *\r\n * The timer may be cancelled (cleared) by calling the `cancel()` function on the returned {@link ITimerHandler}, or\r\n * you can \"reschedule\" and/or \"restart\" the timer by calling the `refresh()` function on the returned {@link ITimerHandler}\r\n * instance\r\n *\r\n * @since 0.4.4\r\n * @group Timer\r\n *\r\n * @param callback - The function to be executed after the timer expires.\r\n * @param timeout - The time, in milliseconds that the timer should wait before the specified\r\n * function or code is executed. If this parameter is omitted, a value of 0 is used, meaning\r\n * execute \"immediately\", or more accurately, the next event cycle.\r\n * @param args - Additional arguments which are passed through to the function specified by `callback`.\r\n * @returns A {@link ITimerHandler} instance which can be used to cancel the timeout.\r\n * @example\r\n * ```ts\r\n * let timeoutCalled = false;\r\n * let theTimeout = scheduleTimeout(() => {\r\n * // This callback will be called after 100ms as this uses setTimeout()\r\n * timeoutCalled = true;\r\n * }, 100);\r\n *\r\n * // Instead of calling clearTimeout() with the returned value from setTimeout() the returned\r\n * // handler instance can be used instead to cancel the timer\r\n * theTimeout.cancel();\r\n * theTimeout.enabled; // false\r\n *\r\n * // You can start the timer via enabled\r\n * theTimeout.enabled = true;\r\n *\r\n * // You can also \"restart\" the timer, whether it has previously triggered not not via the `refresh()`\r\n * theTimeout.refresh();\r\n * ```\r\n */\r\nexport function scheduleTimeout(callback: (...args: A) => void, timeout: number): ITimerHandler {\r\n return _createTimeoutWith(true, UNDEF_VALUE, ArrSlice[CALL](arguments));\r\n}\r\n\r\n/**\r\n * Creates and starts a timer which executes a function or specified piece of code once the timer expires. The overrideFn will be\r\n * used to create the timer, this is simular to using `setTimeout` but provides a return object for cancelling and restarting\r\n * (refresh) the timer.\r\n *\r\n * The timer may be cancelled (cleared) by calling the `cancel()` function on the returned {@link ITimerHandler}, or\r\n * you can \"reschedule\" and/or \"restart\" the timer by calling the `refresh()` function on the returned {@link ITimerHandler}\r\n * instance\r\n *\r\n * @since 0.4.4\r\n * @group Timer\r\n *\r\n * @param overrideFn - setTimeout override function this will be called instead of the `setTimeout`, if the value\r\n * of `overrideFn` is null or undefined it will revert back to the native `setTimeout`. May also be an array with contains\r\n * both the setTimeout and clearTimeout override functions, if either is not provided the default native functions will be used\r\n * @param callback - The function to be executed after the timer expires.\r\n * @param timeout - The time, in milliseconds that the timer should wait before the specified\r\n * function or code is executed. If this parameter is omitted, a value of 0 is used, meaning\r\n * execute \"immediately\", or more accurately, the next event cycle.\r\n * @param args - Additional arguments which are passed through to the function specified by `callback`.\r\n * @returns A {@link ITimerHandler} instance which can be used to cancel the timeout.\r\n * @example\r\n * ```ts\r\n * let timeoutCalled = false;\r\n * // Your own \"setTimeout\" implementation to allow you to perform additional operations or possible wrap\r\n * // the callback to add timings.\r\n * function newSetTimeoutFn(callback: TimeoutOverrideFn) {\r\n * overrideCalled ++;\r\n * return setTimeout(callback, timeout);\r\n * }\r\n *\r\n * let theTimeout = scheduleTimeoutWith(newSetTimeoutFn, () => {\r\n * // This callback will be called after 100ms as this uses setTimeout()\r\n * timeoutCalled = true;\r\n * }, 100);\r\n *\r\n * // Instead of calling clearTimeout() with the returned value from setTimeout() the returned\r\n * // handler instance can be used instead to cancel the timer\r\n * theTimeout.cancel();\r\n * theTimeout.enabled; // false\r\n *\r\n * // You can start the timer via enabled\r\n * theTimeout.enabled = true;\r\n *\r\n * // You can also \"restart\" the timer, whether it has previously triggered not not via the `refresh()`\r\n * theTimeout.refresh();\r\n * ```\r\n * @example\r\n * ```ts\r\n * let timeoutCalled = false;\r\n * // Your own \"setTimeout\" implementation to allow you to perform additional operations or possible wrap\r\n * // the callback to add timings.\r\n * function newSetTimeoutFn(callback: TimeoutOverrideFn) {\r\n * overrideCalled ++;\r\n * return setTimeout(callback, timeout);\r\n * }\r\n *\r\n * // Your own \"clearTimeout\" implementation to allow you to perform additional operations or possible wrap\r\n * // the callback to add timings.\r\n * function newClearTimeoutFn(timeoutId: number) {\r\n * overrideCalled ++;\r\n * return clearTimeout( timeout);\r\n * }\r\n *\r\n * let theTimeout = scheduleTimeoutWith([newSetTimeoutFn, newClearTimeoutFn], () => {\r\n * // This callback will be called after 100ms as this uses setTimeout()\r\n * timeoutCalled = true;\r\n * }, 100);\r\n *\r\n * // Instead of calling clearTimeout() with the returned value from setTimeout() the returned\r\n * // handler instance can be used instead to cancel the timer, internally this will call the newClearTimeoutFn\r\n * theTimeout.cancel();\r\n * theTimeout.enabled; // false\r\n *\r\n * // You can start the timer via enabled\r\n * theTimeout.enabled = true;\r\n *\r\n * // You can also \"restart\" the timer, whether it has previously triggered not not via the `refresh()`\r\n * theTimeout.refresh();\r\n * ```\r\n */\r\nexport function scheduleTimeoutWith(overrideFn: TimeoutOverrideFn | TimeoutOverrideFuncs, callback: (...args: A) => void, timeout: number, ...args: A): ITimerHandler;\r\n\r\n/**\r\n * Creates and starts a timer which executes a function or specified piece of code once the timer expires. The overrideFn will be\r\n * used to create the timer, this is simular to using `setTimeout` but provides a return object for cancelling and restarting\r\n * (refresh) the timer.\r\n *\r\n * The timer may be cancelled (cleared) by calling the `cancel()` function on the returned {@link ITimerHandler}, or\r\n * you can \"reschedule\" and/or \"restart\" the timer by calling the `refresh()` function on the returned {@link ITimerHandler}\r\n * instance\r\n *\r\n * @since 0.4.4\r\n * @group Timer\r\n *\r\n * @param overrideFn - setTimeout override function this will be called instead of the `setTimeout`, if the value\r\n * of `overrideFn` is null or undefined it will revert back to the native `setTimeout`. May also be an array with contains\r\n * both the setTimeout and clearTimeout override functions, if either is not provided the default native functions will be used\r\n * @param callback - The function to be executed after the timer expires.\r\n * @param timeout - The time, in milliseconds that the timer should wait before the specified\r\n * function or code is executed. If this parameter is omitted, a value of 0 is used, meaning\r\n * execute \"immediately\", or more accurately, the next event cycle.\r\n * @param args - Additional arguments which are passed through to the function specified by `callback`.\r\n * @returns A {@link ITimerHandler} instance which can be used to cancel the timeout.\r\n * @example\r\n * ```ts\r\n * let timeoutCalled = false;\r\n * // Your own \"setTimeout\" implementation to allow you to perform additional operations or possible wrap\r\n * // the callback to add timings.\r\n * function newSetTimeoutFn(callback: TimeoutOverrideFn) {\r\n * overrideCalled ++;\r\n * return setTimeout(callback, timeout);\r\n * }\r\n *\r\n * let theTimeout = scheduleTimeoutWith(newSetTimeoutFn, () => {\r\n * // This callback will be called after 100ms as this uses setTimeout()\r\n * timeoutCalled = true;\r\n * }, 100);\r\n *\r\n * // Instead of calling clearTimeout() with the returned value from setTimeout() the returned\r\n * // handler instance can be used instead to cancel the timer\r\n * theTimeout.cancel();\r\n * theTimeout.enabled; // false\r\n *\r\n * // You can start the timer via enabled\r\n * theTimeout.enabled = true;\r\n *\r\n * // You can also \"restart\" the timer, whether it has previously triggered not not via the `refresh()`\r\n * theTimeout.refresh();\r\n * ```\r\n * @example\r\n * ```ts\r\n * let timeoutCalled = false;\r\n * // Your own \"setTimeout\" implementation to allow you to perform additional operations or possible wrap\r\n * // the callback to add timings.\r\n * function newSetTimeoutFn(callback: TimeoutOverrideFn) {\r\n * overrideCalled ++;\r\n * return setTimeout(callback, timeout);\r\n * }\r\n *\r\n * // Your own \"clearTimeout\" implementation to allow you to perform additional operations or possible wrap\r\n * // the callback to add timings.\r\n * function newClearTimeoutFn(timeoutId: number) {\r\n * overrideCalled ++;\r\n * return clearTimeout( timeout);\r\n * }\r\n *\r\n * let theTimeout = scheduleTimeoutWith([newSetTimeoutFn, newClearTimeoutFn], () => {\r\n * // This callback will be called after 100ms as this uses setTimeout()\r\n * timeoutCalled = true;\r\n * }, 100);\r\n *\r\n * // Instead of calling clearTimeout() with the returned value from setTimeout() the returned\r\n * // handler instance can be used instead to cancel the timer, internally this will call the newClearTimeoutFn\r\n * theTimeout.cancel();\r\n * theTimeout.enabled; // false\r\n *\r\n * // You can start the timer via enabled\r\n * theTimeout.enabled = true;\r\n *\r\n * // You can also \"restart\" the timer, whether it has previously triggered not not via the `refresh()`\r\n * theTimeout.refresh();\r\n * ```\r\n */\r\nexport function scheduleTimeoutWith(overrideFn: TimeoutOverrideFn | TimeoutOverrideFuncs, callback: (...args: A) => void, timeout: number): ITimerHandler {\r\n return _createTimeoutWith(true, overrideFn, ArrSlice[CALL](arguments, 1));\r\n}\r\n\r\n/**\r\n * Creates a non-running (paused) timer which will execute a function or specified piece of code when enabled and the timer expires,\r\n * this is simular to using `scheduleTimeout` but the timer is not enabled (running) and you MUST call `refresh` to start the timer.\r\n *\r\n * The timer may be cancelled (cleared) by calling the `cancel()` function on the returned {@link ITimerHandler}, or\r\n * you can \"reschedule\" and/or \"restart\" the timer by calling the `refresh()` function on the returned {@link ITimerHandler}\r\n * instance\r\n *\r\n * @since 0.7.0\r\n * @group Timer\r\n *\r\n * @param callback - The function to be executed after the timer expires.\r\n * @param timeout - The time, in milliseconds that the timer should wait before the specified\r\n * function or code is executed. If this parameter is omitted, a value of 0 is used, meaning\r\n * execute \"immediately\", or more accurately, the next event cycle.\r\n * @param args - Additional arguments which are passed through to the function specified by `callback`.\r\n * @returns A {@link ITimerHandler} instance which can be used to cancel the timeout.\r\n * @example\r\n * ```ts\r\n * let timeoutCalled = false;\r\n * let theTimeout = createTimeout(() => {\r\n * // This callback will be called after 100ms as this uses setTimeout()\r\n * timeoutCalled = true;\r\n * }, 100);\r\n *\r\n * // As the timer is not started you will need to call \"refresh\" to start the timer\r\n * theTimeout.refresh();\r\n *\r\n * // or set enabled to true\r\n * theTimeout.enabled = true;\r\n * ```\r\n */\r\nexport function createTimeout(callback: (...args: A) => void, timeout: number, ...args: A): ITimerHandler;\r\n\r\n/**\r\n * Creates a non-running (paused) timer which will execute a function or specified piece of code when enabled and the timer expires,\r\n * this is simular to using `scheduleTimeout` but the timer is not enabled (running) and you MUST call `refresh` to start the timer.\r\n *\r\n * The timer may be cancelled (cleared) by calling the `cancel()` function on the returned {@link ITimerHandler}, or\r\n * you can \"reschedule\" and/or \"restart\" the timer by calling the `refresh()` function on the returned {@link ITimerHandler}\r\n * instance\r\n *\r\n * @since 0.7.0\r\n * @group Timer\r\n *\r\n * @param callback - The function to be executed after the timer expires.\r\n * @param timeout - The time, in milliseconds that the timer should wait before the specified\r\n * function or code is executed. If this parameter is omitted, a value of 0 is used, meaning\r\n * execute \"immediately\", or more accurately, the next event cycle.\r\n * @param args - Additional arguments which are passed through to the function specified by `callback`.\r\n * @returns A {@link ITimerHandler} instance which can be used to cancel the timeout.\r\n * @example\r\n * ```ts\r\n * let timeoutCalled = false;\r\n * let theTimeout = createTimeout(() => {\r\n * // This callback will be called after 100ms as this uses setTimeout()\r\n * timeoutCalled = true;\r\n * }, 100);\r\n *\r\n * // As the timer is not started you will need to call \"refresh\" to start the timer\r\n * theTimeout.refresh();\r\n *\r\n * // or set enabled to true\r\n * theTimeout.enabled = true;\r\n * ```\r\n */\r\nexport function createTimeout(callback: (...args: A) => void, timeout: number): ITimerHandler {\r\n return _createTimeoutWith(false, UNDEF_VALUE, ArrSlice[CALL](arguments));\r\n}\r\n\r\n/**\r\n * Creates a non-running (paused) timer which will execute a function or specified piece of code when enabled once the timer expires.\r\n * The overrideFn will be used to create the timer, this is simular to using `scheduleTimeoutWith` but the timer is not enabled (running)\r\n * and you MUST call `refresh` to start the timer.\r\n *\r\n * The timer may be cancelled (cleared) by calling the `cancel()` function on the returned {@link ITimerHandler}, or\r\n * you can \"reschedule\" and/or \"restart\" the timer by calling the `refresh()` function on the returned {@link ITimerHandler}\r\n * instance\r\n *\r\n * @since 0.7.0\r\n * @group Timer\r\n *\r\n * @param overrideFn - setTimeout override function this will be called instead of the `setTimeout`, if the value\r\n * of `overrideFn` is null or undefined it will revert back to the native `setTimeout`. May also be an array with contains\r\n * both the setTimeout and clearTimeout override functions, if either is not provided the default native functions will be used\r\n * @param callback - The function to be executed after the timer expires.\r\n * @param timeout - The time, in milliseconds that the timer should wait before the specified\r\n * function or code is executed. If this parameter is omitted, a value of 0 is used, meaning\r\n * execute \"immediately\", or more accurately, the next event cycle.\r\n * @param args - Additional arguments which are passed through to the function specified by `callback`.\r\n * @returns A {@link ITimerHandler} instance which can be used to cancel the timeout.\r\n * @example\r\n * ```ts\r\n * let timeoutCalled = false;\r\n * // Your own \"setTimeout\" implementation to allow you to perform additional operations or possible wrap\r\n * // the callback to add timings.\r\n * function newSetTimeoutFn(callback: TimeoutOverrideFn) {\r\n * overrideCalled ++;\r\n * return setTimeout(callback, timeout);\r\n * }\r\n *\r\n * let theTimeout = createTimeoutWith(newSetTimeoutFn, () => {\r\n * // This callback will be called after 100ms as this uses setTimeout()\r\n * timeoutCalled = true;\r\n * }, 100);\r\n *\r\n * // As the timer is not started you will need to call \"refresh\" to start the timer\r\n * theTimeout.refresh();\r\n *\r\n * // or set enabled to true\r\n * theTimeout.enabled = true;\r\n * ```\r\n * @example\r\n * ```ts\r\n * let timeoutCalled = false;\r\n * // Your own \"setTimeout\" implementation to allow you to perform additional operations or possible wrap\r\n * // the callback to add timings.\r\n * function newSetTimeoutFn(callback: TimeoutOverrideFn) {\r\n * overrideCalled ++;\r\n * return setTimeout(callback, timeout);\r\n * }\r\n *\r\n * // Your own \"clearTimeout\" implementation to allow you to perform additional operations or possible wrap\r\n * // the callback to add timings.\r\n * function newClearTimeoutFn(timeoutId: number) {\r\n * overrideCalled ++;\r\n * return clearTimeout( timeout);\r\n * }\r\n *\r\n * let theTimeout = createTimeoutWith([newSetTimeoutFn, newClearTimeoutFn], () => {\r\n * // This callback will be called after 100ms as this uses setTimeout()\r\n * timeoutCalled = true;\r\n * }, 100);\r\n *\r\n * // As the timer is not started you will need to call \"refresh\" to start the timer\r\n * theTimeout.refresh();\r\n *\r\n * // or set enabled to true\r\n * theTimeout.enabled = true;\r\n * ```\r\n */\r\nexport function createTimeoutWith(overrideFn: TimeoutOverrideFn | TimeoutOverrideFuncs, callback: (...args: A) => void, timeout: number, ...args: A): ITimerHandler;\r\n\r\n/**\r\n * Creates a non-running (paused) timer which will execute a function or specified piece of code when enabled once the timer expires.\r\n * The overrideFn will be used to create the timer, this is simular to using `scheduleTimeoutWith` but the timer is not enabled (running)\r\n * and you MUST call `refresh` to start the timer.\r\n *\r\n * The timer may be cancelled (cleared) by calling the `cancel()` function on the returned {@link ITimerHandler}, or\r\n * you can \"reschedule\" and/or \"restart\" the timer by calling the `refresh()` function on the returned {@link ITimerHandler}\r\n * instance\r\n *\r\n * @since 0.7.0\r\n * @group Timer\r\n *\r\n * @param overrideFn - setTimeout override function this will be called instead of the `setTimeout`, if the value\r\n * of `overrideFn` is null or undefined it will revert back to the native `setTimeout`. May also be an array with contains\r\n * both the setTimeout and clearTimeout override functions, if either is not provided the default native functions will be used\r\n * @param callback - The function to be executed after the timer expires.\r\n * @param timeout - The time, in milliseconds that the timer should wait before the specified\r\n * function or code is executed. If this parameter is omitted, a value of 0 is used, meaning\r\n * execute \"immediately\", or more accurately, the next event cycle.\r\n * @param args - Additional arguments which are passed through to the function specified by `callback`.\r\n * @returns A {@link ITimerHandler} instance which can be used to cancel the timeout.\r\n * @example\r\n * ```ts\r\n * let timeoutCalled = false;\r\n * // Your own \"setTimeout\" implementation to allow you to perform additional operations or possible wrap\r\n * // the callback to add timings.\r\n * function newSetTimeoutFn(callback: TimeoutOverrideFn) {\r\n * overrideCalled ++;\r\n * return setTimeout(callback, timeout);\r\n * }\r\n *\r\n * let theTimeout = createTimeoutWith(newSetTimeoutFn, () => {\r\n * // This callback will be called after 100ms as this uses setTimeout()\r\n * timeoutCalled = true;\r\n * }, 100);\r\n *\r\n * // As the timer is not started you will need to call \"refresh\" to start the timer\r\n * theTimeout.refresh();\r\n *\r\n * // or set enabled to true\r\n * theTimeout.enabled = true;\r\n * ```\r\n * @example\r\n * ```ts\r\n * let timeoutCalled = false;\r\n * // Your own \"setTimeout\" implementation to allow you to perform additional operations or possible wrap\r\n * // the callback to add timings.\r\n * function newSetTimeoutFn(callback: TimeoutOverrideFn) {\r\n * overrideCalled ++;\r\n * return setTimeout(callback, timeout);\r\n * }\r\n *\r\n * // Your own \"clearTimeout\" implementation to allow you to perform additional operations or possible wrap\r\n * // the callback to add timings.\r\n * function newClearTimeoutFn(timeoutId: number) {\r\n * overrideCalled ++;\r\n * return clearTimeout( timeout);\r\n * }\r\n *\r\n * let theTimeout = createTimeoutWith([newSetTimeoutFn, newClearTimeoutFn], () => {\r\n * // This callback will be called after 100ms as this uses setTimeout()\r\n * timeoutCalled = true;\r\n * }, 100);\r\n *\r\n * // As the timer is not started you will need to call \"refresh\" to start the timer\r\n * theTimeout.refresh();\r\n *\r\n * // or set enabled to true\r\n * theTimeout.enabled = true;\r\n * ```\r\n */\r\nexport function createTimeoutWith(overrideFn: TimeoutOverrideFn | TimeoutOverrideFuncs, callback: (...args: A) => void, timeout: number): ITimerHandler {\r\n return _createTimeoutWith(false, overrideFn, ArrSlice[CALL](arguments, 1));\r\n}\r\n","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT License.\r\n\r\nexport const strShimFunction = \"function\";\r\nexport const strShimObject = \"object\";\r\nexport const strShimUndefined = \"undefined\";\r\nexport const strShimPrototype = \"prototype\";\r\nexport const strDefault = \"default\";\r\n\r\nexport const ObjClass = Object;\r\nexport const ObjProto = ObjClass[strShimPrototype];\r\n","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT License.\r\n\r\nimport { getGlobal, objAssign, objCreate, objDefineProp, objHasOwnProperty, throwTypeError } from \"@nevware21/ts-utils\";\r\nimport {\r\n ObjClass, ObjProto,\r\n strDefault, strShimFunction, strShimPrototype\r\n} from \"./Constants\";\r\n\r\n// Most of these functions have been directly shamelessly \"lifted\" from the https://github.com/@microsoft/tslib and\r\n// modified to be ES5 compatible and applying several minification and tree-shaking techniques so that Application Insights\r\n// can successfully use TypeScript \"importHelpers\" which imports tslib during compilation but it will use these at runtime\r\n// Which is also why all of the functions have not been included as Application Insights currently doesn't use or require\r\n// them.\r\n\r\nexport const SymbolObj = (getGlobal()||{})[\"Symbol\"];\r\nexport const ReflectObj = (getGlobal()||{})[\"Reflect\"];\r\nexport const __hasReflect = !!ReflectObj;\r\n\r\nconst strDecorate = \"decorate\";\r\nconst strMetadata = \"metadata\";\r\nconst strGetOwnPropertySymbols = \"getOwnPropertySymbols\";\r\nconst strIterator = \"iterator\";\r\nconst strHasOwnProperty = \"hasOwnProperty\";\r\n\r\nexport declare type ObjAssignFunc = (t: any, ...sources:any[]) => any;\r\n\r\nexport var __objAssignFnImpl: ObjAssignFunc = function(t: any): any {\r\n // tslint:disable-next-line: ban-comma-operator\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) {\r\n if (ObjProto[strHasOwnProperty].call(s, p)) {\r\n (t as any)[p] = s[p];\r\n }\r\n }\r\n }\r\n return t;\r\n};\r\n\r\nexport var __assignFn: ObjAssignFunc = objAssign || __objAssignFnImpl;\r\n\r\n// tslint:disable-next-line: only-arrow-functions\r\nvar extendStaticsFn = function(d: any, b: any): any {\r\n extendStaticsFn = ObjClass[\"setPrototypeOf\"] ||\r\n // tslint:disable-next-line: only-arrow-functions\r\n ({ __proto__: [] } instanceof Array && function (d: any, b: any) {\r\n d.__proto__ = b;\r\n }) ||\r\n // tslint:disable-next-line: only-arrow-functions\r\n function (d: any, b: any) {\r\n for (var p in b) {\r\n if (b[strHasOwnProperty](p)) {\r\n d[p] = b[p];\r\n }\r\n }\r\n };\r\n return extendStaticsFn(d, b);\r\n};\r\n\r\nexport function __extendsFn(d: any, b: any) {\r\n if (typeof b !== strShimFunction && b !== null) {\r\n throwTypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n }\r\n extendStaticsFn(d, b);\r\n function __(this: any) {\r\n this.constructor = d;\r\n }\r\n // tslint:disable-next-line: ban-comma-operator\r\n d[strShimPrototype] = b === null ? objCreate(b) : (__[strShimPrototype] = b[strShimPrototype], new (__ as any)());\r\n}\r\n\r\nexport function __restFn(s: any, e: any) {\r\n var t = {};\r\n for (var k in s) {\r\n if (objHasOwnProperty(s, k) && e.indexOf(k) < 0) {\r\n t[k] = s[k];\r\n }\r\n }\r\n if (s != null && typeof ObjClass[strGetOwnPropertySymbols] === strShimFunction) {\r\n for (var i = 0, p = ObjClass[strGetOwnPropertySymbols](s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && ObjProto[\"propertyIsEnumerable\"].call(s, p[i])) {\r\n t[p[i]] = s[p[i]];\r\n }\r\n }\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorateFn(decorators: any, target: any, key: any, desc: any) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = ObjClass[\"getOwnPropertyDescriptor\"](target, key) : desc, d;\r\n if (__hasReflect && typeof ReflectObj[strDecorate] === strShimFunction) {\r\n r = ReflectObj[strDecorate](decorators, target, key, desc);\r\n } else {\r\n for (var i = decorators.length - 1; i >= 0; i--) {\r\n // eslint-disable-next-line no-cond-assign\r\n if (d = decorators[i]) {\r\n r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n }\r\n }\r\n }\r\n\r\n // tslint:disable-next-line:ban-comma-operator\r\n return c > 3 && r && objDefineProp(target, key, r), r;\r\n}\r\n\r\nexport function __paramFn(paramIndex: number, decorator: Function) {\r\n return function (target: any, key: any) {\r\n decorator(target, key, paramIndex);\r\n }\r\n}\r\n\r\nexport function __metadataFn(metadataKey: any, metadataValue: any) {\r\n if (__hasReflect && ReflectObj[strMetadata] === strShimFunction) {\r\n return ReflectObj[strMetadata](metadataKey, metadataValue);\r\n }\r\n}\r\n\r\nexport function __exportStarFn(m: any, o: any) {\r\n for (var p in m) {\r\n if (p !== strDefault && !objHasOwnProperty(o, p)) {\r\n __createBindingFn(o, m, p);\r\n }\r\n }\r\n}\r\n\r\nexport function __createBindingFn(o: any, m: any, k: any, k2?: any) {\r\n if (k2 === undefined) {\r\n k2 = k;\r\n }\r\n \r\n if (!!objDefineProp) {\r\n objDefineProp(o, k2, {\r\n enumerable: true,\r\n get() {\r\n return m[k];\r\n }\r\n });\r\n } else {\r\n o[k2] = m[k];\r\n }\r\n}\r\n\r\nexport function __valuesFn(o: any) {\r\n var s = typeof SymbolObj === strShimFunction && SymbolObj[strIterator], m = s && o[s], i = 0;\r\n if (m) {\r\n return m.call(o);\r\n }\r\n\r\n if (o && typeof o.length === \"number\") {\r\n return {\r\n next () {\r\n if (o && i >= o.length) {\r\n o = void 0;\r\n }\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n }\r\n\r\n throwTypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __readFn(o: any, n: any) {\r\n var m = typeof SymbolObj === strShimFunction && o[SymbolObj[strIterator]];\r\n if (!m) {\r\n return o;\r\n }\r\n\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) {\r\n ar.push(r.value);\r\n }\r\n } catch (error) {\r\n e = {\r\n error\r\n };\r\n } finally {\r\n try {\r\n // tslint:disable-next-line:no-conditional-assignment\r\n if (r && !r.done && (m = i[\"return\"])) {\r\n m.call(i);\r\n }\r\n } finally {\r\n if (e) {\r\n // eslint-disable-next-line no-unsafe-finally\r\n throw e.error;\r\n }\r\n }\r\n }\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArraysFn() {\r\n var theArgs = arguments;\r\n // Calculate new total size\r\n for (var s = 0, i = 0, il = theArgs.length; i < il; i++) {\r\n s += theArgs[i].length;\r\n }\r\n\r\n // Create new full array\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++) {\r\n for (var a = theArgs[i], j = 0, jl = a.length; j < jl; j++, k++) {\r\n r[k] = a[j];\r\n }\r\n }\r\n\r\n return r;\r\n}\r\n\r\nexport function __spreadArrayFn(to: any, from: any) {\r\n for (var i = 0, il = from.length, j = to.length; i < il; i++, j++) {\r\n to[j] = from[i];\r\n }\r\n\r\n return to;\r\n}\r\n\r\nexport function __makeTemplateObjectFn(cooked: any, raw: any) {\r\n if (objDefineProp) {\r\n objDefineProp(cooked, \"raw\", { value: raw });\r\n } else {\r\n cooked.raw = raw;\r\n }\r\n\r\n return cooked;\r\n}\r\n\r\nexport function __importStarFn(mod: any) {\r\n if (mod && mod.__esModule) {\r\n return mod;\r\n }\r\n\r\n var result = {};\r\n if (mod != null) {\r\n for (var k in mod) {\r\n if (k !== strDefault && Object.prototype.hasOwnProperty.call(mod, k)) {\r\n __createBindingFn(result, mod, k);\r\n }\r\n }\r\n }\r\n\r\n // Set default module\r\n if (!!objDefineProp) {\r\n objDefineProp( result, strDefault, { enumerable: true, value: mod });\r\n } else {\r\n result[strDefault] = mod;\r\n }\r\n\r\n return result;\r\n}\r\n\r\nexport function __importDefaultFn(mod:any) {\r\n return (mod && mod.__esModule) ? mod : { strDefault: mod };\r\n}\r\n","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT License.\r\n\r\nimport { getGlobal, objCreate, objHasOwnProperty, throwTypeError } from \"@nevware21/ts-utils\";\r\n\r\ninterface DynamicGlobalSettings {\r\n /**\r\n * Stores the global options which will also be exposed on the runtime global\r\n */\r\n o: IDynamicProtoOpts,\r\n\r\n /**\r\n * Internal Global used to generate a unique dynamic class name, every new class will increase this value\r\n * @ignore\r\n */ \r\n n: number\r\n};\r\n\r\nconst UNDEFINED = \"undefined\";\r\n\r\n/**\r\n * Constant string defined to support minimization\r\n * @ignore\r\n */ \r\nconst Constructor = 'constructor';\r\n\r\n/**\r\n * Constant string defined to support minimization\r\n * @ignore\r\n */ \r\nconst Prototype = 'prototype';\r\n \r\n/**\r\n * Constant string defined to support minimization\r\n * @ignore\r\n */\r\nconst strFunction = 'function';\r\n\r\n/**\r\n * Used to define the name of the instance function lookup table\r\n * @ignore\r\n */ \r\nconst DynInstFuncTable = '_dynInstFuncs';\r\n \r\n/**\r\n * Name used to tag the dynamic prototype function\r\n * @ignore\r\n */ \r\nconst DynProxyTag = '_isDynProxy';\r\n \r\n/**\r\n * Name added to a prototype to define the dynamic prototype \"class\" name used to lookup the function table\r\n * @ignore\r\n */ \r\nconst DynClassName = '_dynClass';\r\n \r\n/**\r\n * Prefix added to the classname to avoid any name clashes with other instance level properties\r\n * @ignore\r\n */ \r\nconst DynClassNamePrefix = '_dynCls$';\r\n \r\n/**\r\n * A tag which is used to check if we have already to attempted to set the instance function if one is not present\r\n * @ignore\r\n */\r\nconst DynInstChkTag = '_dynInstChk';\r\n \r\n/**\r\n * A tag which is used to check if we are allows to try and set an instance function is one is not present. Using the same \r\n * tag name as the function level but a different const name for readability only.\r\n */\r\nconst DynAllowInstChkTag = DynInstChkTag;\r\n \r\n/**\r\n * The global (imported) instances where the global performance options are stored\r\n */\r\nconst DynProtoDefaultOptions = '_dfOpts';\r\n \r\n/**\r\n * Value used as the name of a class when it cannot be determined\r\n * @ignore\r\n */ \r\nconst UnknownValue = '_unknown_';\r\n \r\n/**\r\n * Constant string defined to support minimization\r\n * @ignore\r\n */\r\nconst str__Proto = \"__proto__\";\r\n \r\n/**\r\n * The polyfill version of __proto__ so that it doesn't cause issues for anyone not expecting it to exist\r\n */\r\nconst DynProtoBaseProto = \"_dyn\" + str__Proto;\r\n\r\n/**\r\n * Runtime Global holder for dynamicProto settings\r\n */\r\nconst DynProtoGlobalSettings = \"__dynProto$Gbl\";\r\n\r\n/**\r\n * Track the current prototype for IE8 as you can't look back to get the prototype\r\n */\r\nconst DynProtoCurrent = \"_dynInstProto\";\r\n \r\n/**\r\n * Constant string defined to support minimization\r\n * @ignore\r\n */\r\nconst strUseBaseInst = 'useBaseInst';\r\n \r\n/**\r\n * Constant string defined to support minimization\r\n * @ignore\r\n */\r\nconst strSetInstFuncs = 'setInstFuncs';\r\n \r\nconst Obj = Object;\r\n\r\n/**\r\n * Pre-lookup to check if we are running on a modern browser (i.e. not IE8)\r\n * @ignore\r\n */\r\nlet _objGetPrototypeOf = Obj[\"getPrototypeOf\"];\r\n\r\n/**\r\n * Pre-lookup to check for the existence of this function\r\n */\r\nlet _objGetOwnProps = Obj[\"getOwnPropertyNames\"];\r\n\r\n// Since 1.1.7 moving these to the runtime global to work around mixed version and module issues\r\n// See Issue https://github.com/microsoft/DynamicProto-JS/issues/57 for details\r\nlet _gbl = getGlobal();\r\nlet _gblInst: DynamicGlobalSettings = _gbl[DynProtoGlobalSettings] || (_gbl[DynProtoGlobalSettings] = {\r\n o: {\r\n [strSetInstFuncs]: true,\r\n [strUseBaseInst]: true\r\n },\r\n n: 1000 // Start new global index @ 1000 so we \"fix\" some cases when mixed with 1.1.6 or earlier\r\n});\r\n\r\n/**\r\n * Helper used to check whether the target is an Object prototype or Array prototype\r\n * @ignore\r\n */ \r\nfunction _isObjectOrArrayPrototype(target:any) {\r\n return target && (target === Obj[Prototype] || target === Array[Prototype]);\r\n}\r\n\r\n/**\r\n * Helper used to check whether the target is an Object prototype, Array prototype or Function prototype\r\n * @ignore\r\n */ \r\nfunction _isObjectArrayOrFunctionPrototype(target:any) {\r\n return _isObjectOrArrayPrototype(target) || target === Function[Prototype];\r\n}\r\n\r\n/**\r\n * Helper used to get the prototype of the target object as getPrototypeOf is not available in an ES3 environment.\r\n * @ignore\r\n */ \r\nfunction _getObjProto(target:any) {\r\n let newProto;\r\n\r\n if (target) {\r\n // This method doesn't exist in older browsers (e.g. IE8)\r\n if (_objGetPrototypeOf) {\r\n return _objGetPrototypeOf(target);\r\n }\r\n\r\n let curProto = target[str__Proto] || target[Prototype] || (target[Constructor] ? target[Constructor][Prototype] : null);\r\n\r\n // Using the pre-calculated value as IE8 doesn't support looking up the prototype of a prototype and thus fails for more than 1 base class\r\n newProto = target[DynProtoBaseProto] || curProto;\r\n if (!objHasOwnProperty(target, DynProtoBaseProto)) {\r\n // As this prototype doesn't have this property then this is from an inherited class so newProto is the base to return so save it\r\n // so we can look it up value (which for a multiple hierarchy dynamicProto will be the base class)\r\n delete target[DynProtoCurrent]; // Delete any current value allocated to this instance so we pick up the value from prototype hierarchy\r\n newProto = target[DynProtoBaseProto] = target[DynProtoCurrent] || target[DynProtoBaseProto];\r\n target[DynProtoCurrent] = curProto;\r\n }\r\n }\r\n\r\n return newProto;\r\n}\r\n\r\n/**\r\n * Helper to get the properties of an object, including none enumerable ones as functions on a prototype in ES6\r\n * are not enumerable.\r\n * @param target \r\n */\r\nfunction _forEachProp(target: any, func: (name: string) => void) {\r\n let props: string[] = [];\r\n if (_objGetOwnProps) {\r\n props = _objGetOwnProps(target);\r\n } else {\r\n for (let name in target) {\r\n if (typeof name === \"string\" && objHasOwnProperty(target, name)) {\r\n props.push(name);\r\n }\r\n }\r\n }\r\n\r\n if (props && props.length > 0) {\r\n for (let lp = 0; lp < props.length; lp++) {\r\n func(props[lp]);\r\n }\r\n }\r\n}\r\n\r\n/**\r\n * Helper function to check whether the provided function name is a potential candidate for dynamic\r\n * callback and prototype generation.\r\n * @param target The target object, may be a prototype or class object\r\n * @param funcName The function name\r\n * @param skipOwn Skips the check for own property\r\n * @ignore\r\n */\r\nfunction _isDynamicCandidate(target:any, funcName:string, skipOwn:boolean) {\r\n return (funcName !== Constructor && typeof target[funcName] === strFunction && (skipOwn || objHasOwnProperty(target, funcName)) && funcName !== str__Proto && funcName !== Prototype);\r\n}\r\n\r\n/**\r\n * Helper to throw a TypeError exception\r\n * @param message the message\r\n * @ignore\r\n */\r\nfunction _throwTypeError(message:string) {\r\n throwTypeError(\"DynamicProto: \" + message);\r\n}\r\n\r\n/**\r\n * Returns a collection of the instance functions that are defined directly on the thisTarget object, it does \r\n * not return any inherited functions\r\n * @param thisTarget The object to get the instance functions from\r\n * @ignore\r\n */\r\nfunction _getInstanceFuncs(thisTarget:any): any {\r\n // Get the base proto\r\n var instFuncs = objCreate(null);\r\n\r\n // Save any existing instance functions\r\n _forEachProp(thisTarget, (name) => {\r\n // Don't include any dynamic prototype instances - as we only want the real functions\r\n if (!instFuncs[name] && _isDynamicCandidate(thisTarget, name, false)) {\r\n // Create an instance callback for passing the base function to the caller\r\n instFuncs[name] = thisTarget[name];\r\n }\r\n });\r\n\r\n return instFuncs;\r\n}\r\n\r\n/**\r\n * Returns whether the value is included in the array\r\n * @param values The array of values\r\n * @param value The value\r\n */\r\nfunction _hasVisited(values:any[], value:any) {\r\n for (let lp = values.length - 1; lp >= 0; lp--) {\r\n if (values[lp] === value) {\r\n return true;\r\n }\r\n }\r\n\r\n return false;\r\n}\r\n\r\n/**\r\n * Returns an object that contains callback functions for all \"base/super\" functions, this is used to \"save\"\r\n * enabling calling super.xxx() functions without requiring that the base \"class\" has defined a prototype references\r\n * @param target The current instance\r\n * @ignore\r\n */\r\nfunction _getBaseFuncs(classProto:any, thisTarget:any, instFuncs:any, useBaseInst:boolean): any {\r\n function _instFuncProxy(target:any, funcHost: any, funcName: string) {\r\n let theFunc = funcHost[funcName];\r\n if (theFunc[DynProxyTag] && useBaseInst) {\r\n // grab and reuse the hosted looking function (if available) otherwise the original passed function\r\n let instFuncTable = target[DynInstFuncTable] || {};\r\n if (instFuncTable[DynAllowInstChkTag] !== false) {\r\n theFunc = (instFuncTable[funcHost[DynClassName]] || {})[funcName] || theFunc;\r\n }\r\n }\r\n\r\n return function() {\r\n // eslint-disable-next-line prefer-rest-params\r\n return theFunc.apply(target, arguments);\r\n };\r\n }\r\n\r\n // Start creating a new baseFuncs by creating proxies for the instance functions (as they may get replaced)\r\n var baseFuncs = objCreate(null);\r\n _forEachProp(instFuncs, (name) => {\r\n // Create an instance callback for passing the base function to the caller\r\n baseFuncs[name] = _instFuncProxy(thisTarget, instFuncs, name);\r\n });\r\n \r\n // Get the base prototype functions\r\n var baseProto = _getObjProto(classProto);\r\n let visited:any[] = [];\r\n\r\n // Don't include base object functions for Object, Array or Function\r\n while (baseProto && !_isObjectArrayOrFunctionPrototype(baseProto) && !_hasVisited(visited, baseProto)) {\r\n // look for prototype functions\r\n _forEachProp(baseProto, (name) => {\r\n // Don't include any dynamic prototype instances - as we only want the real functions\r\n // For IE 7/8 the prototype lookup doesn't provide the full chain so we need to bypass the \r\n // hasOwnProperty check we get all of the methods, main difference is that IE7/8 doesn't return\r\n // the Object prototype methods while bypassing the check\r\n if (!baseFuncs[name] && _isDynamicCandidate(baseProto, name, !_objGetPrototypeOf)) {\r\n // Create an instance callback for passing the base function to the caller\r\n baseFuncs[name] = _instFuncProxy(thisTarget, baseProto, name);\r\n }\r\n });\r\n\r\n // We need to find all possible functions that might be overloaded by walking the entire prototype chain\r\n // This avoids the caller from needing to check whether it's direct base class implements the function or not\r\n // by walking the entire chain it simplifies the usage and issues from upgrading any of the base classes.\r\n visited.push(baseProto);\r\n baseProto = _getObjProto(baseProto);\r\n }\r\n\r\n return baseFuncs;\r\n}\r\n\r\nfunction _getInstFunc(target: any, funcName: string, proto: any, currentDynProtoProxy: any) {\r\n let instFunc = null;\r\n\r\n // We need to check whether the class name is defined directly on this prototype otherwise\r\n // it will walk the proto chain and return any parent proto classname.\r\n if (target && objHasOwnProperty(proto, DynClassName)) {\r\n\r\n let instFuncTable = target[DynInstFuncTable] || objCreate(null);\r\n instFunc = (instFuncTable[proto[DynClassName]] || objCreate(null))[funcName];\r\n\r\n if (!instFunc) {\r\n // Avoid stack overflow from recursive calling the same function\r\n _throwTypeError(\"Missing [\" + funcName + \"] \" + strFunction);\r\n }\r\n\r\n // We have the instance function, lets check it we can speed up further calls\r\n // by adding the instance function back directly on the instance (avoiding the dynamic func lookup)\r\n if (!instFunc[DynInstChkTag] && instFuncTable[DynAllowInstChkTag] !== false) {\r\n // If the instance already has an instance function we can't replace it\r\n let canAddInst = !objHasOwnProperty(target, funcName);\r\n\r\n // Get current prototype\r\n let objProto = _getObjProto(target);\r\n let visited:any[] = [];\r\n\r\n // Lookup the function starting at the top (instance level prototype) and traverse down, if the first matching function\r\n // if nothing is found or if the first hit is a dynamic proto instance then we can safely add an instance shortcut\r\n while (canAddInst && objProto && !_isObjectArrayOrFunctionPrototype(objProto) && !_hasVisited(visited, objProto)) {\r\n let protoFunc = objProto[funcName];\r\n if (protoFunc) {\r\n canAddInst = (protoFunc === currentDynProtoProxy);\r\n break;\r\n }\r\n\r\n // We need to find all possible initial functions to ensure that we don't bypass a valid override function\r\n visited.push(objProto);\r\n objProto = _getObjProto(objProto);\r\n }\r\n\r\n try {\r\n if (canAddInst) {\r\n // This instance doesn't have an instance func and the class hierarchy does have a higher level prototype version\r\n // so it's safe to directly assign for any subsequent calls (for better performance)\r\n target[funcName] = instFunc;\r\n }\r\n\r\n // Block further attempts to set the instance function for any\r\n instFunc[DynInstChkTag] = 1;\r\n } catch (e) {\r\n // Don't crash if the object is readonly or the runtime doesn't allow changing this\r\n // And set a flag so we don't try again for any function\r\n instFuncTable[DynAllowInstChkTag] = false;\r\n }\r\n }\r\n }\r\n\r\n return instFunc;\r\n}\r\n\r\nfunction _getProtoFunc(funcName: string, proto: any, currentDynProtoProxy: any) {\r\n let protoFunc = proto[funcName];\r\n\r\n // Check that the prototype function is not a self reference -- try to avoid stack overflow!\r\n if (protoFunc === currentDynProtoProxy) {\r\n // It is so lookup the base prototype\r\n protoFunc = _getObjProto(proto)[funcName];\r\n }\r\n\r\n if (typeof protoFunc !== strFunction) {\r\n _throwTypeError(\"[\" + funcName + \"] is not a \" + strFunction);\r\n }\r\n\r\n return protoFunc;\r\n}\r\n\r\n/**\r\n * Add the required dynamic prototype methods to the the class prototype\r\n * @param proto - The class prototype\r\n * @param className - The instance classname \r\n * @param target - The target instance\r\n * @param baseInstFuncs - The base instance functions\r\n * @param setInstanceFunc - Flag to allow prototype function to reset the instance function if one does not exist\r\n * @ignore\r\n */\r\nfunction _populatePrototype(proto:any, className:string, target:any, baseInstFuncs:any, setInstanceFunc:boolean) {\r\n function _createDynamicPrototype(proto:any, funcName:string) {\r\n let dynProtoProxy = function() {\r\n // Use the instance or prototype function\r\n let instFunc = _getInstFunc(this, funcName, proto, dynProtoProxy) || _getProtoFunc(funcName, proto, dynProtoProxy);\r\n // eslint-disable-next-line prefer-rest-params\r\n return instFunc.apply(this, arguments);\r\n };\r\n \r\n // Tag this function as a proxy to support replacing dynamic proxy elements (primary use case is for unit testing\r\n // via which can dynamically replace the prototype function reference)\r\n (dynProtoProxy as any)[DynProxyTag] = 1;\r\n return dynProtoProxy;\r\n }\r\n \r\n if (!_isObjectOrArrayPrototype(proto)) {\r\n let instFuncTable = target[DynInstFuncTable] = target[DynInstFuncTable] || objCreate(null);\r\n if (!_isObjectOrArrayPrototype(instFuncTable)) {\r\n let instFuncs = instFuncTable[className] = (instFuncTable[className] || objCreate(null)); // fetch and assign if as it may not exist yet\r\n\r\n // Set whether we are allow to lookup instances, if someone has set to false then do not re-enable\r\n if (instFuncTable[DynAllowInstChkTag] !== false) {\r\n instFuncTable[DynAllowInstChkTag] = !!setInstanceFunc;\r\n }\r\n\r\n if (!_isObjectOrArrayPrototype(instFuncs)) {\r\n _forEachProp(target, (name) => {\r\n // Only add overridden functions\r\n if (_isDynamicCandidate(target, name, false) && target[name] !== baseInstFuncs[name] ) {\r\n // Save the instance Function to the lookup table and remove it from the instance as it's not a dynamic proto function\r\n instFuncs[name] = target[name];\r\n delete target[name];\r\n \r\n // Add a dynamic proto if one doesn't exist or if a prototype function exists and it's not a dynamic one\r\n if (!objHasOwnProperty(proto, name) || (proto[name] && !proto[name][DynProxyTag])) {\r\n proto[name] = _createDynamicPrototype(proto, name);\r\n }\r\n }\r\n });\r\n }\r\n }\r\n }\r\n}\r\n\r\n/**\r\n * Checks whether the passed prototype object appears to be correct by walking the prototype hierarchy of the instance\r\n * @param classProto The class prototype instance\r\n * @param thisTarget The current instance that will be checked whether the passed prototype instance is in the hierarchy\r\n * @ignore\r\n */\r\nfunction _checkPrototype(classProto:any, thisTarget:any) {\r\n // This method doesn't existing in older browsers (e.g. IE8)\r\n if (_objGetPrototypeOf) {\r\n // As this is primarily a coding time check, don't bother checking if running in IE8 or lower\r\n let visited:any[] = [];\r\n let thisProto = _getObjProto(thisTarget);\r\n while (thisProto && !_isObjectArrayOrFunctionPrototype(thisProto) && !_hasVisited(visited, thisProto)) {\r\n if (thisProto === classProto) {\r\n return true;\r\n }\r\n\r\n // This avoids the caller from needing to check whether it's direct base class implements the function or not\r\n // by walking the entire chain it simplifies the usage and issues from upgrading any of the base classes.\r\n visited.push(thisProto);\r\n thisProto = _getObjProto(thisProto);\r\n }\r\n\r\n return false;\r\n }\r\n\r\n // If objGetPrototypeOf doesn't exist then just assume everything is ok.\r\n return true;\r\n}\r\n\r\n/**\r\n * Gets the current prototype name using the ES6 name if available otherwise falling back to a use unknown as the name.\r\n * It's not critical for this to return a name, it's used to decorate the generated unique name for easier debugging only.\r\n * @param target \r\n * @param unknownValue \r\n * @ignore\r\n */\r\nfunction _getObjName(target:any, unknownValue?:string) {\r\n if (objHasOwnProperty(target, Prototype)) {\r\n // Look like a prototype\r\n return target.name || unknownValue || UnknownValue\r\n }\r\n\r\n return (((target || {})[Constructor]) || {}).name || unknownValue || UnknownValue;\r\n}\r\n\r\n/**\r\n * Interface to define additional configuration options to control how the dynamic prototype functions operate.\r\n */\r\nexport interface IDynamicProtoOpts {\r\n\r\n /**\r\n * Should the dynamic prototype attempt to set an instance function for instances that do not already have an\r\n * function of the same name or have been extended by a class with a (non-dynamic proto) prototype function.\r\n */\r\n setInstFuncs: boolean,\r\n\r\n /**\r\n * When looking for base (super) functions if it finds a dynamic proto instances can it use the instance functions\r\n * and bypass the prototype lookups. Defaults to true.\r\n */\r\n useBaseInst?: boolean\r\n}\r\n\r\n/**\r\n * The delegate signature for the function used as the callback for dynamicProto() \r\n * @typeparam DPType This is the generic type of the class, used to keep intellisense valid for the proxy instance, even \r\n * though it is only a proxy that only contains the functions \r\n * @param theTarget This is the real \"this\" of the current target object\r\n * @param baseFuncProxy The is a proxy object which ONLY contains this function that existed on the \"this\" instance before\r\n * calling dynamicProto, it does NOT contain properties of this. This is basically equivalent to using the \"super\" keyword.\r\n */\r\nexport type DynamicProtoDelegate = (theTarget:DPType, baseFuncProxy?:DPType) => void;\r\n\r\n/**\r\n * Helper function when creating dynamic (inline) functions for classes, this helper performs the following tasks :-\r\n * - Saves references to all defined base class functions\r\n * - Calls the delegateFunc with the current target (this) and a base object reference that can be used to call all \"super\" functions.\r\n * - Will populate the class prototype for all overridden functions to support class extension that call the prototype instance.\r\n * Callers should use this helper when declaring all function within the constructor of a class, as mentioned above the delegateFunc is \r\n * passed both the target \"this\" and an object that can be used to call any base (super) functions, using this based object in place of\r\n * super.XXX() (which gets expanded to _super.prototype.XXX()) provides a better minification outcome and also ensures the correct \"this\"\r\n * context is maintained as TypeScript creates incorrect references using super.XXXX() for dynamically defined functions i.e. Functions\r\n * defined in the constructor or some other function (rather than declared as complete typescript functions).\r\n * ### Usage\r\n * ```typescript\r\n * import dynamicProto from \"@microsoft/dynamicproto-js\";\r\n * class ExampleClass extends BaseClass {\r\n * constructor() {\r\n * dynamicProto(ExampleClass, this, (_self, base) => {\r\n * // This will define a function that will be converted to a prototype function\r\n * _self.newFunc = () => {\r\n * // Access any \"this\" instance property \r\n * if (_self.someProperty) {\r\n * ...\r\n * }\r\n * }\r\n * // This will define a function that will be converted to a prototype function\r\n * _self.myFunction = () => {\r\n * // Access any \"this\" instance property\r\n * if (_self.someProperty) {\r\n * // Call the base version of the function that we are overriding\r\n * base.myFunction();\r\n * }\r\n * ...\r\n * }\r\n * _self.initialize = () => {\r\n * ...\r\n * }\r\n * // Warnings: While the following will work as _self is simply a reference to\r\n * // this, if anyone overrides myFunction() the overridden will be called first\r\n * // as the normal JavaScript method resolution will occur and the defined\r\n * // _self.initialize() function is actually gets removed from the instance and\r\n * // a proxy prototype version is created to reference the created method.\r\n * _self.initialize();\r\n * });\r\n * }\r\n * }\r\n * ```\r\n * @typeparam DPType This is the generic type of the class, used to keep intellisense valid\r\n * @typeparam DPCls The type that contains the prototype of the current class\r\n * @param theClass - This is the current class instance which contains the prototype for the current class\r\n * @param target - The current \"this\" (target) reference, when the class has been extended this.prototype will not be the 'theClass' value.\r\n * @param delegateFunc - The callback function (closure) that will create the dynamic function\r\n * @param options - Additional options to configure how the dynamic prototype operates\r\n */\r\nexport default function dynamicProto(theClass:DPCls, target:DPType, delegateFunc: DynamicProtoDelegate, options?:IDynamicProtoOpts): void {\r\n // Make sure that the passed theClass argument looks correct\r\n if (!objHasOwnProperty(theClass, Prototype)) {\r\n _throwTypeError(\"theClass is an invalid class definition.\");\r\n }\r\n\r\n // Quick check to make sure that the passed theClass argument looks correct (this is a common copy/paste error)\r\n let classProto = theClass[Prototype];\r\n if (!_checkPrototype(classProto, target)) {\r\n _throwTypeError(\"[\" + _getObjName(theClass) + \"] not in hierarchy of [\" + _getObjName(target) + \"]\");\r\n }\r\n\r\n let className = null;\r\n if (objHasOwnProperty(classProto, DynClassName)) {\r\n // Only grab the class name if it's defined on this prototype (i.e. don't walk the prototype chain)\r\n className = classProto[DynClassName];\r\n } else {\r\n // As not all browser support name on the prototype creating a unique dynamic one if we have not already\r\n // assigned one, so we can use a simple string as the lookup rather than an object for the dynamic instance\r\n // function table lookup.\r\n className = DynClassNamePrefix + _getObjName(theClass, \"_\") + \"$\" + _gblInst.n ;\r\n _gblInst.n++;\r\n classProto[DynClassName] = className;\r\n }\r\n\r\n let perfOptions = dynamicProto[DynProtoDefaultOptions];\r\n let useBaseInst = !!perfOptions[strUseBaseInst];\r\n if (useBaseInst && options && options[strUseBaseInst] !== undefined) {\r\n useBaseInst = !!options[strUseBaseInst];\r\n }\r\n\r\n // Get the current instance functions\r\n let instFuncs = _getInstanceFuncs(target);\r\n\r\n // Get all of the functions for any base instance (before they are potentially overridden)\r\n let baseFuncs = _getBaseFuncs(classProto, target, instFuncs, useBaseInst);\r\n\r\n // Execute the delegate passing in both the current target \"this\" and \"base\" function references\r\n // Note casting the same type as we don't actually have the base class here and this will provide some intellisense support\r\n delegateFunc(target, baseFuncs as DPType);\r\n\r\n // Don't allow setting instance functions for older IE instances\r\n let setInstanceFunc = !!_objGetPrototypeOf && !!perfOptions[strSetInstFuncs];\r\n if (setInstanceFunc && options) {\r\n setInstanceFunc = !!options[strSetInstFuncs];\r\n }\r\n\r\n // Populate the Prototype for any overridden instance functions\r\n _populatePrototype(classProto, className, target, instFuncs, setInstanceFunc !== false);\r\n}\r\n\r\n/**\r\n * Exposes the default global options to allow global configuration, if the global values are disabled these will override\r\n * any passed values. This is primarily exposed to support unit-testing without the need for individual classes to expose\r\n * their internal usage of dynamic proto.\r\n */\r\ndynamicProto[DynProtoDefaultOptions] = _gblInst.o;\r\n","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the\r\nexport { correlationIdSetPrefix, correlationIdGetPrefix, correlationIdCanIncludeCorrelationHeader, correlationIdGetCorrelationContext, correlationIdGetCorrelationContextValue, dateTimeUtilsNow, dateTimeUtilsDuration, isInternalApplicationInsightsEndpoint, createDistributedTraceContextFromTrace } from \"./Util\";\r\nexport { ThrottleMgr } from \"./ThrottleMgr\";\r\nexport { parseConnectionString, ConnectionStringParser } from \"./ConnectionStringParser\";\r\nexport { RequestHeaders } from \"./RequestResponseHeaders\";\r\nexport { DisabledPropertyName, ProcessLegacy, SampleRate, HttpMethod, DEFAULT_BREEZE_ENDPOINT, DEFAULT_BREEZE_PATH, strNotSpecified } from \"./Constants\";\r\nexport { Envelope } from \"./Telemetry/Common/Envelope\";\r\nexport { Event } from \"./Telemetry/Event\";\r\nexport { Exception } from \"./Telemetry/Exception\";\r\nexport { Metric } from \"./Telemetry/Metric\";\r\nexport { PageView } from \"./Telemetry/PageView\";\r\nexport { RemoteDependencyData } from \"./Telemetry/RemoteDependencyData\";\r\nexport { Trace } from \"./Telemetry/Trace\";\r\nexport { PageViewPerformance } from \"./Telemetry/PageViewPerformance\";\r\nexport { Data } from \"./Telemetry/Common/Data\";\r\nexport { SeverityLevel } from \"./Interfaces/Contracts/SeverityLevel\";\r\nexport { ConfigurationManager } from \"./Interfaces/IConfig\";\r\nexport { ContextTagKeys } from \"./Interfaces/Contracts/ContextTagKeys\";\r\nexport { dataSanitizeKeyAndAddUniqueness, dataSanitizeKey, dataSanitizeString, dataSanitizeUrl, dataSanitizeMessage, dataSanitizeException, dataSanitizeProperties, dataSanitizeMeasurements, dataSanitizeId, dataSanitizeInput, dsPadNumber } from \"./Telemetry/Common/DataSanitizer\";\r\nexport { TelemetryItemCreator, createTelemetryItem } from \"./TelemetryItemCreator\";\r\nexport { CtxTagKeys, Extensions } from \"./Interfaces/PartAExtensions\";\r\nexport { DistributedTracingModes, EventPersistence } from \"./Enums\";\r\nexport { stringToBoolOrDefault, msToTimeSpan, getExtensionByName, isCrossOriginError } from \"./HelperFuncs\";\r\nexport { isBeaconsSupported as isBeaconApiSupported, createTraceParent, parseTraceParent, isValidTraceId, isValidSpanId, isValidTraceParent, isSampledFlag, formatTraceParent, findW3cTraceParent, findAllScripts } from \"@microsoft/applicationinsights-core-js\";\r\nexport { createDomEvent } from \"./DomHelperFuncs\";\r\nexport { utlDisableStorage, utlEnableStorage, utlCanUseLocalStorage, utlGetLocalStorage, utlSetLocalStorage, utlRemoveStorage, utlCanUseSessionStorage, utlGetSessionStorageKeys, utlGetSessionStorage, utlSetSessionStorage, utlRemoveSessionStorage, utlSetStoragePrefix } from \"./StorageHelperFuncs\";\r\nexport { urlParseUrl, urlGetAbsoluteUrl, urlGetPathName, urlGetCompleteUrl, urlParseHost, urlParseFullHost } from \"./UrlHelperFuncs\";\r\nexport { createOfflineListener } from \"./Offline\";\r\nexport var PropertiesPluginIdentifier = \"AppInsightsPropertiesPlugin\";\r\nexport var BreezeChannelIdentifier = \"AppInsightsChannelPlugin\";\r\nexport var AnalyticsPluginIdentifier = \"ApplicationInsightsAnalytics\";\r\n//# sourceMappingURL=applicationinsights-common.js.map","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT License.\r\n// @skip-file-minify\r\n// ##############################################################\r\n// AUTO GENERATED FILE: This file is Auto Generated during build.\r\n// ##############################################################\r\n// !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!\r\n// Note: DON'T Export these const from the package as we are still targeting ES5 which can result in a mutable variables that someone could change!!!\r\n// !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!\r\nexport var _DYN_TO_LOWER_CASE = \"toLowerCase\"; // Count: 11\r\nexport var _DYN_LENGTH = \"length\"; // Count: 55\r\nexport var _DYN_WARN_TO_CONSOLE = \"warnToConsole\"; // Count: 4\r\nexport var _DYN_THROW_INTERNAL = \"throwInternal\"; // Count: 5\r\nexport var _DYN_WATCH = \"watch\"; // Count: 7\r\nexport var _DYN_APPLY = \"apply\"; // Count: 7\r\nexport var _DYN_PUSH = \"push\"; // Count: 35\r\nexport var _DYN_SPLICE = \"splice\"; // Count: 8\r\nexport var _DYN_LOGGER = \"logger\"; // Count: 20\r\nexport var _DYN_CANCEL = \"cancel\"; // Count: 6\r\nexport var _DYN_INITIALIZE = \"initialize\"; // Count: 5\r\nexport var _DYN_IDENTIFIER = \"identifier\"; // Count: 8\r\nexport var _DYN_REMOVE_NOTIFICATION_0 = \"removeNotificationListener\"; // Count: 4\r\nexport var _DYN_ADD_NOTIFICATION_LIS1 = \"addNotificationListener\"; // Count: 4\r\nexport var _DYN_IS_INITIALIZED = \"isInitialized\"; // Count: 10\r\nexport var _DYN_VALUE = \"value\"; // Count: 5\r\nexport var _DYN_GET_NOTIFY_MGR = \"getNotifyMgr\"; // Count: 5\r\nexport var _DYN_GET_PLUGIN = \"getPlugin\"; // Count: 5\r\nexport var _DYN_NAME = \"name\"; // Count: 9\r\nexport var _DYN_PROCESS_NEXT = \"processNext\"; // Count: 15\r\nexport var _DYN_GET_PROCESS_TEL_CONT2 = \"getProcessTelContext\"; // Count: 2\r\nexport var _DYN_ENABLED = \"enabled\"; // Count: 6\r\nexport var _DYN_STOP_POLLING_INTERNA3 = \"stopPollingInternalLogs\"; // Count: 2\r\nexport var _DYN_UNLOAD = \"unload\"; // Count: 7\r\nexport var _DYN_ON_COMPLETE = \"onComplete\"; // Count: 4\r\nexport var _DYN_VERSION = \"version\"; // Count: 4\r\nexport var _DYN_LOGGING_LEVEL_CONSOL4 = \"loggingLevelConsole\"; // Count: 2\r\nexport var _DYN_CREATE_NEW = \"createNew\"; // Count: 7\r\nexport var _DYN_TEARDOWN = \"teardown\"; // Count: 9\r\nexport var _DYN_MESSAGE_ID = \"messageId\"; // Count: 4\r\nexport var _DYN_MESSAGE = \"message\"; // Count: 7\r\nexport var _DYN_DIAG_LOG = \"diagLog\"; // Count: 9\r\nexport var _DYN__DO_TEARDOWN = \"_doTeardown\"; // Count: 5\r\nexport var _DYN_UPDATE = \"update\"; // Count: 5\r\nexport var _DYN_GET_NEXT = \"getNext\"; // Count: 10\r\nexport var _DYN_SET_NEXT_PLUGIN = \"setNextPlugin\"; // Count: 5\r\nexport var _DYN_USER_AGENT = \"userAgent\"; // Count: 5\r\nexport var _DYN_SPLIT = \"split\"; // Count: 7\r\nexport var _DYN_REPLACE = \"replace\"; // Count: 9\r\nexport var _DYN_TYPE = \"type\"; // Count: 13\r\nexport var _DYN_EVT_NAME = \"evtName\"; // Count: 4\r\nexport var _DYN_STATUS = \"status\"; // Count: 5\r\nexport var _DYN_GET_ALL_RESPONSE_HEA5 = \"getAllResponseHeaders\"; // Count: 2\r\nexport var _DYN_IS_CHILD_EVT = \"isChildEvt\"; // Count: 3\r\nexport var _DYN_DATA = \"data\"; // Count: 6\r\nexport var _DYN_GET_CTX = \"getCtx\"; // Count: 6\r\nexport var _DYN_SET_CTX = \"setCtx\"; // Count: 10\r\nexport var _DYN_ITEMS_RECEIVED = \"itemsReceived\"; // Count: 3\r\nexport var _DYN_URL_STRING = \"urlString\"; // Count: 5\r\nexport var _DYN_HEADERS = \"headers\"; // Count: 5\r\nexport var _DYN_TIMEOUT = \"timeout\"; // Count: 6\r\nexport var _DYN_TRACE_FLAGS = \"traceFlags\"; // Count: 5\r\nexport var _DYN_GET_ATTRIBUTE = \"getAttribute\"; // Count: 3\r\n//# sourceMappingURL=__DynamicConstants.js.map","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT License.\r\n// ###################################################################################################################################################\r\n// Note: DON'T Export these const from the package as we are still targeting IE/ES5 this will export a mutable variables that someone could change ###\r\n// ###################################################################################################################################################\r\nexport var UNDEFINED_VALUE = undefined;\r\nexport var STR_EMPTY = \"\";\r\nexport var STR_CHANNELS = \"channels\";\r\nexport var STR_CORE = \"core\";\r\nexport var STR_CREATE_PERF_MGR = \"createPerfMgr\";\r\nexport var STR_DISABLED = \"disabled\";\r\nexport var STR_EXTENSION_CONFIG = \"extensionConfig\";\r\nexport var STR_EXTENSIONS = \"extensions\";\r\nexport var STR_PROCESS_TELEMETRY = \"processTelemetry\";\r\nexport var STR_PRIORITY = \"priority\";\r\nexport var STR_EVENTS_SENT = \"eventsSent\";\r\nexport var STR_EVENTS_DISCARDED = \"eventsDiscarded\";\r\nexport var STR_EVENTS_SEND_REQUEST = \"eventsSendRequest\";\r\nexport var STR_PERF_EVENT = \"perfEvent\";\r\nexport var STR_OFFLINE_STORE = \"offlineEventsStored\";\r\nexport var STR_OFFLINE_SENT = \"offlineBatchSent\";\r\nexport var STR_OFFLINE_DROP = \"offlineBatchDrop\";\r\nexport var STR_GET_PERF_MGR = \"getPerfMgr\";\r\nexport var STR_DOMAIN = \"domain\";\r\nexport var STR_PATH = \"path\";\r\nexport var STR_NOT_DYNAMIC_ERROR = \"Not dynamic - \";\r\n//# sourceMappingURL=InternalConstants.js.map","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT License.\r\nimport { ObjAssign, ObjClass } from \"@microsoft/applicationinsights-shims\";\r\nimport { arrForEach, asString as asString21, isArray, isBoolean, isError, isFunction, isNullOrUndefined, isNumber, isObject, isPlainObject, isString, isUndefined, objDeepFreeze, objDefine, objForEachKey, objHasOwn, strIndexOf, strTrim } from \"@nevware21/ts-utils\";\r\nimport { _DYN_APPLY, _DYN_GET_ALL_RESPONSE_HEA5, _DYN_LENGTH, _DYN_NAME, _DYN_REPLACE, _DYN_SPLIT, _DYN_STATUS, _DYN_TO_LOWER_CASE } from \"../__DynamicConstants\";\r\nimport { STR_EMPTY } from \"./InternalConstants\";\r\n// RESTRICT and AVOID circular dependencies you should not import other contained modules or export the contents of this file directly\r\n// Added to help with minification\r\nvar strGetPrototypeOf = \"getPrototypeOf\";\r\nvar rCamelCase = /-([a-z])/g;\r\nvar rNormalizeInvalid = /([^\\w\\d_$])/g;\r\nvar rLeadingNumeric = /^(\\d+[\\w\\d_$])/;\r\nexport var _getObjProto = Object[strGetPrototypeOf];\r\nexport function isNotUndefined(value) {\r\n return !isUndefined(value);\r\n}\r\nexport function isNotNullOrUndefined(value) {\r\n return !isNullOrUndefined(value);\r\n}\r\n/**\r\n * Validates that the string name conforms to the JS IdentifierName specification and if not\r\n * normalizes the name so that it would. This method does not identify or change any keywords\r\n * meaning that if you pass in a known keyword the same value will be returned.\r\n * This is a simplified version\r\n * @param name - The name to validate\r\n */\r\nexport function normalizeJsName(name) {\r\n var value = name;\r\n if (value && isString(value)) {\r\n // CamelCase everything after the \"-\" and remove the dash\r\n value = value[_DYN_REPLACE /* @min:%2ereplace */](rCamelCase, function (_all, letter) {\r\n return letter.toUpperCase();\r\n });\r\n value = value[_DYN_REPLACE /* @min:%2ereplace */](rNormalizeInvalid, \"_\");\r\n value = value[_DYN_REPLACE /* @min:%2ereplace */](rLeadingNumeric, function (_all, match) {\r\n return \"_\" + match;\r\n });\r\n }\r\n return value;\r\n}\r\n/**\r\n * A simple wrapper (for minification support) to check if the value contains the search string.\r\n * @param value - The string value to check for the existence of the search value\r\n * @param search - The value search within the value\r\n */\r\nexport function strContains(value, search) {\r\n if (value && search) {\r\n return strIndexOf(value, search) !== -1;\r\n }\r\n return false;\r\n}\r\n/**\r\n * Convert a date to I.S.O. format in IE8\r\n */\r\nexport function toISOString(date) {\r\n return date && date.toISOString() || \"\";\r\n}\r\nexport var deepFreeze = objDeepFreeze;\r\n/**\r\n * Returns the name of object if it's an Error. Otherwise, returns empty string.\r\n */\r\nexport function getExceptionName(object) {\r\n if (isError(object)) {\r\n return object[_DYN_NAME /* @min:%2ename */];\r\n }\r\n return STR_EMPTY;\r\n}\r\n/**\r\n * Sets the provided value on the target instance using the field name when the provided chk function returns true, the chk\r\n * function will only be called if the new value is no equal to the original value.\r\n * @param target - The target object\r\n * @param field - The key of the target\r\n * @param value - The value to set\r\n * @param valChk - [Optional] Callback to check the value that if supplied will be called check if the new value can be set\r\n * @param srcChk - [Optional] Callback to check to original value that if supplied will be called if the new value should be set (if allowed)\r\n * @returns The existing or new value, depending what was set\r\n */\r\nexport function setValue(target, field, value, valChk, srcChk) {\r\n var theValue = value;\r\n if (target) {\r\n theValue = target[field];\r\n if (theValue !== value && (!srcChk || srcChk(theValue)) && (!valChk || valChk(value))) {\r\n theValue = value;\r\n target[field] = theValue;\r\n }\r\n }\r\n return theValue;\r\n}\r\n/**\r\n * Returns the current value from the target object if not null or undefined otherwise sets the new value and returns it\r\n * @param target - The target object to return or set the default value\r\n * @param field - The key for the field to set on the target\r\n * @param defValue - [Optional] The value to set if not already present, when not provided a empty object will be added\r\n */\r\nexport function getSetValue(target, field, defValue) {\r\n var theValue;\r\n if (target) {\r\n theValue = target[field];\r\n if (!theValue && isNullOrUndefined(theValue)) {\r\n // Supports having the default as null\r\n theValue = !isUndefined(defValue) ? defValue : {};\r\n target[field] = theValue;\r\n }\r\n }\r\n else {\r\n // Expanded for performance so we only check defValue if required\r\n theValue = !isUndefined(defValue) ? defValue : {};\r\n }\r\n return theValue;\r\n}\r\nfunction _createProxyFunction(source, funcName) {\r\n var srcFunc = null;\r\n var src = null;\r\n if (isFunction(source)) {\r\n srcFunc = source;\r\n }\r\n else {\r\n src = source;\r\n }\r\n return function () {\r\n // Capture the original arguments passed to the method\r\n var originalArguments = arguments;\r\n if (srcFunc) {\r\n src = srcFunc();\r\n }\r\n if (src) {\r\n return src[funcName][_DYN_APPLY /* @min:%2eapply */](src, originalArguments);\r\n }\r\n };\r\n}\r\n/**\r\n * Effectively assigns all enumerable properties (not just own properties) and functions (including inherited prototype) from\r\n * the source object to the target, it attempts to use proxy getters / setters (if possible) and proxy functions to avoid potential\r\n * implementation issues by assigning prototype functions as instance ones\r\n *\r\n * This method is the primary method used to \"update\" the snippet proxy with the ultimate implementations.\r\n *\r\n * Special ES3 Notes:\r\n * Updates (setting) of direct property values on the target or indirectly on the source object WILL NOT WORK PROPERLY, updates to the\r\n * properties of \"referenced\" object will work (target.context.newValue = 10 =\\> will be reflected in the source.context as it's the\r\n * same object). ES3 Failures: assigning target.myProp = 3 -\\> Won't change source.myProp = 3, likewise the reverse would also fail.\r\n * @param target - The target object to be assigned with the source properties and functions\r\n * @param source - The source object which will be assigned / called by setting / calling the targets proxies\r\n * @param chkSet - An optional callback to determine whether a specific property/function should be proxied\r\n */\r\nexport function proxyAssign(target, source, chkSet) {\r\n if (target && source && isObject(target) && isObject(source)) {\r\n var _loop_1 = function (field) {\r\n if (isString(field)) {\r\n var value = source[field];\r\n if (isFunction(value)) {\r\n if (!chkSet || chkSet(field, true, source, target)) {\r\n // Create a proxy function rather than just copying the (possible) prototype to the new object as an instance function\r\n target[field] = _createProxyFunction(source, field);\r\n }\r\n }\r\n else if (!chkSet || chkSet(field, false, source, target)) {\r\n if (objHasOwn(target, field)) {\r\n // Remove any previous instance property\r\n delete target[field];\r\n }\r\n objDefine(target, field, {\r\n g: function () {\r\n return source[field];\r\n },\r\n s: function (theValue) {\r\n source[field] = theValue;\r\n }\r\n });\r\n }\r\n }\r\n };\r\n // effectively apply/proxy full source to the target instance\r\n for (var field in source) {\r\n _loop_1(field);\r\n }\r\n }\r\n return target;\r\n}\r\n/**\r\n * Creates a proxy function on the target which internally will call the source version with all arguments passed to the target method.\r\n *\r\n * @param target - The target object to be assigned with the source properties and functions\r\n * @param name - The function name that will be added on the target\r\n * @param source - The source object which will be assigned / called by setting / calling the targets proxies\r\n * @param theFunc - The function name on the source that will be proxied on the target\r\n * @param overwriteTarget - If `false` this will not replace any pre-existing name otherwise (the default) it will overwrite any existing name\r\n */\r\nexport function proxyFunctionAs(target, name, source, theFunc, overwriteTarget) {\r\n if (target && name && source) {\r\n if (overwriteTarget !== false || isUndefined(target[name])) {\r\n target[name] = _createProxyFunction(source, theFunc);\r\n }\r\n }\r\n}\r\n/**\r\n * Creates proxy functions on the target which internally will call the source version with all arguments passed to the target method.\r\n *\r\n * @param target - The target object to be assigned with the source properties and functions\r\n * @param source - The source object which will be assigned / called by setting / calling the targets proxies\r\n * @param functionsToProxy - An array of function names that will be proxied on the target\r\n * @param overwriteTarget - If false this will not replace any pre-existing name otherwise (the default) it will overwrite any existing name\r\n */\r\nexport function proxyFunctions(target, source, functionsToProxy, overwriteTarget) {\r\n if (target && source && isObject(target) && isArray(functionsToProxy)) {\r\n arrForEach(functionsToProxy, function (theFuncName) {\r\n if (isString(theFuncName)) {\r\n proxyFunctionAs(target, theFuncName, source, theFuncName, overwriteTarget);\r\n }\r\n });\r\n }\r\n return target;\r\n}\r\n/**\r\n * Simpler helper to create a dynamic class that implements the interface and populates the values with the defaults.\r\n * Only instance properties (hasOwnProperty) values are copied from the defaults to the new instance\r\n * @param defaults - Simple helper\r\n */\r\nexport function createClassFromInterface(defaults) {\r\n return /** @class */ (function () {\r\n function class_1() {\r\n var _this = this;\r\n if (defaults) {\r\n objForEachKey(defaults, function (field, value) {\r\n _this[field] = value;\r\n });\r\n }\r\n }\r\n return class_1;\r\n }());\r\n}\r\n/**\r\n * A helper function to assist with JIT performance for objects that have properties added / removed dynamically\r\n * this is primarily for chromium based browsers and has limited effects on Firefox and none of IE. Only call this\r\n * function after you have finished \"updating\" the object, calling this within loops reduces or defeats the benefits.\r\n * This helps when iterating using for..in, objKeys() and objForEach()\r\n * @param theObject - The object to be optimized if possible\r\n */\r\nexport function optimizeObject(theObject) {\r\n // V8 Optimization to cause the JIT compiler to create a new optimized object for looking up the own properties\r\n // primarily for object with <= 19 properties for >= 20 the effect is reduced or non-existent\r\n if (theObject && ObjAssign) {\r\n theObject = ObjClass(ObjAssign({}, theObject));\r\n }\r\n return theObject;\r\n}\r\nexport function objExtend(obj1, obj2, obj3, obj4, obj5, obj6) {\r\n // Variables\r\n var theArgs = arguments;\r\n var extended = theArgs[0] || {};\r\n var argLen = theArgs[_DYN_LENGTH /* @min:%2elength */];\r\n var deep = false;\r\n var idx = 1;\r\n // Check for \"Deep\" flag\r\n if (argLen > 0 && isBoolean(extended)) {\r\n deep = extended;\r\n extended = theArgs[idx] || {};\r\n idx++;\r\n }\r\n // Handle case when target is a string or something (possible in deep copy)\r\n if (!isObject(extended)) {\r\n extended = {};\r\n }\r\n // Loop through each remaining object and conduct a merge\r\n for (; idx < argLen; idx++) {\r\n var arg = theArgs[idx];\r\n var isArgArray = isArray(arg);\r\n var isArgObj = isObject(arg);\r\n for (var prop in arg) {\r\n var propOk = (isArgArray && (prop in arg)) || (isArgObj && objHasOwn(arg, prop));\r\n if (!propOk) {\r\n continue;\r\n }\r\n var newValue = arg[prop];\r\n var isNewArray = void 0;\r\n // If deep merge and property is an object, merge properties\r\n if (deep && newValue && ((isNewArray = isArray(newValue)) || isPlainObject(newValue))) {\r\n // Grab the current value of the extended object\r\n var clone = extended[prop];\r\n if (isNewArray) {\r\n if (!isArray(clone)) {\r\n // We can't \"merge\" an array with a non-array so overwrite the original\r\n clone = [];\r\n }\r\n }\r\n else if (!isPlainObject(clone)) {\r\n // We can't \"merge\" an object with a non-object\r\n clone = {};\r\n }\r\n // Never move the original objects always clone them\r\n newValue = objExtend(deep, clone, newValue);\r\n }\r\n // Assign the new (or previous) value (unless undefined)\r\n if (newValue !== undefined) {\r\n extended[prop] = newValue;\r\n }\r\n }\r\n }\r\n return extended;\r\n}\r\nexport var asString = asString21;\r\nexport function isFeatureEnabled(feature, cfg) {\r\n var rlt = false;\r\n var ft = cfg && cfg.featureOptIn && cfg.featureOptIn[feature];\r\n if (feature && ft) {\r\n var mode = ft.mode;\r\n // NOTE: None will be considered as true\r\n rlt = (mode == 3 /* FeatureOptInMode.enable */) || (mode == 1 /* FeatureOptInMode.none */);\r\n }\r\n return rlt;\r\n}\r\nexport function getResponseText(xhr) {\r\n try {\r\n return xhr.responseText;\r\n }\r\n catch (e) {\r\n // Best effort, as XHR may throw while XDR wont so just ignore\r\n }\r\n return null;\r\n}\r\nexport function formatErrorMessageXdr(xdr, message) {\r\n if (xdr) {\r\n return \"XDomainRequest,Response:\" + getResponseText(xdr) || \"\";\r\n }\r\n return message;\r\n}\r\nexport function formatErrorMessageXhr(xhr, message) {\r\n if (xhr) {\r\n return \"XMLHttpRequest,Status:\" + xhr[_DYN_STATUS /* @min:%2estatus */] + \",Response:\" + getResponseText(xhr) || xhr.response || \"\";\r\n }\r\n return message;\r\n}\r\nexport function prependTransports(theTransports, newTransports) {\r\n if (newTransports) {\r\n if (isNumber(newTransports)) {\r\n theTransports = [newTransports].concat(theTransports);\r\n }\r\n else if (isArray(newTransports)) {\r\n theTransports = newTransports.concat(theTransports);\r\n }\r\n }\r\n return theTransports;\r\n}\r\nvar strDisabledPropertyName = \"Microsoft_ApplicationInsights_BypassAjaxInstrumentation\";\r\nvar strWithCredentials = \"withCredentials\";\r\nvar strTimeout = \"timeout\";\r\n/**\r\n * Create and open an XMLHttpRequest object\r\n * @param method - The request method\r\n * @param urlString - The url\r\n * @param withCredentials - Option flag indicating that credentials should be sent\r\n * @param disabled - Optional flag indicating that the XHR object should be marked as disabled and not tracked (default is false)\r\n * @param isSync - Optional flag indicating if the instance should be a synchronous request (defaults to false)\r\n * @param timeout - Optional value identifying the timeout value that should be assigned to the XHR request\r\n * @returns A new opened XHR request\r\n */\r\nexport function openXhr(method, urlString, withCredentials, disabled, isSync, timeout) {\r\n if (disabled === void 0) { disabled = false; }\r\n if (isSync === void 0) { isSync = false; }\r\n function _wrapSetXhrProp(xhr, prop, value) {\r\n try {\r\n xhr[prop] = value;\r\n }\r\n catch (e) {\r\n // - Wrapping as depending on the environment setting the property may fail (non-terminally)\r\n }\r\n }\r\n var xhr = new XMLHttpRequest();\r\n if (disabled) {\r\n // Tag the instance so it's not tracked (trackDependency)\r\n // If the environment has locked down the XMLHttpRequest (preventExtensions and/or freeze), this would\r\n // cause the request to fail and we no telemetry would be sent\r\n _wrapSetXhrProp(xhr, strDisabledPropertyName, disabled);\r\n }\r\n if (withCredentials) {\r\n // Some libraries require that the withCredentials flag is set \"before\" open and\r\n // - Wrapping as IE 10 has started throwing when setting before open\r\n _wrapSetXhrProp(xhr, strWithCredentials, withCredentials);\r\n }\r\n xhr.open(method, urlString, !isSync);\r\n if (withCredentials) {\r\n // withCredentials should be set AFTER open (https://xhr.spec.whatwg.org/#the-withcredentials-attribute)\r\n // And older firefox instances from 11+ will throw for sync events (current versions don't) which happens during unload processing\r\n _wrapSetXhrProp(xhr, strWithCredentials, withCredentials);\r\n }\r\n // Only set the timeout for asynchronous requests as\r\n // \"Timeout shouldn't be used for synchronous XMLHttpRequests requests used in a document environment or it will throw an InvalidAccessError exception.\"\"\r\n // https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest/timeout\r\n if (!isSync && timeout) {\r\n _wrapSetXhrProp(xhr, strTimeout, timeout);\r\n }\r\n return xhr;\r\n}\r\n/**\r\n* Converts the XHR getAllResponseHeaders to a map containing the header key and value.\r\n* @internal\r\n*/\r\n// tslint:disable-next-line: align\r\nexport function convertAllHeadersToMap(headersString) {\r\n var headers = {};\r\n if (isString(headersString)) {\r\n var headersArray = strTrim(headersString)[_DYN_SPLIT /* @min:%2esplit */](/[\\r\\n]+/);\r\n arrForEach(headersArray, function (headerEntry) {\r\n if (headerEntry) {\r\n var idx = headerEntry.indexOf(\": \");\r\n if (idx !== -1) {\r\n // The new spec has the headers returning all as lowercase -- but not all browsers do this yet\r\n var header = strTrim(headerEntry.substring(0, idx))[_DYN_TO_LOWER_CASE /* @min:%2etoLowerCase */]();\r\n var value = strTrim(headerEntry.substring(idx + 1));\r\n headers[header] = value;\r\n }\r\n else {\r\n headers[strTrim(headerEntry)] = 1;\r\n }\r\n }\r\n });\r\n }\r\n return headers;\r\n}\r\n/**\r\n* append the XHR headers.\r\n* @internal\r\n*/\r\nexport function _appendHeader(theHeaders, xhr, name) {\r\n if (!theHeaders[name] && xhr && xhr.getResponseHeader) {\r\n var value = xhr.getResponseHeader(name);\r\n if (value) {\r\n theHeaders[name] = strTrim(value);\r\n }\r\n }\r\n return theHeaders;\r\n}\r\nvar STR_KILL_DURATION_HEADER = \"kill-duration\";\r\nvar STR_KILL_DURATION_SECONDS_HEADER = \"kill-duration-seconds\";\r\nvar STR_TIME_DELTA_HEADER = \"time-delta-millis\";\r\n/**\r\n* get the XHR getAllResponseHeaders.\r\n* @internal\r\n*/\r\nexport function _getAllResponseHeaders(xhr, isOneDs) {\r\n var theHeaders = {};\r\n if (!xhr[_DYN_GET_ALL_RESPONSE_HEA5 /* @min:%2egetAllResponseHeaders */]) {\r\n // Firefox 2-63 doesn't have getAllResponseHeaders function but it does have getResponseHeader\r\n // Only call these if getAllResponseHeaders doesn't exist, otherwise we can get invalid response errors\r\n // as collector is not currently returning the correct header to allow JS to access these headers\r\n if (!!isOneDs) {\r\n theHeaders = _appendHeader(theHeaders, xhr, STR_TIME_DELTA_HEADER);\r\n theHeaders = _appendHeader(theHeaders, xhr, STR_KILL_DURATION_HEADER);\r\n theHeaders = _appendHeader(theHeaders, xhr, STR_KILL_DURATION_SECONDS_HEADER);\r\n }\r\n }\r\n else {\r\n theHeaders = convertAllHeadersToMap(xhr[_DYN_GET_ALL_RESPONSE_HEA5 /* @min:%2egetAllResponseHeaders */]());\r\n }\r\n return theHeaders;\r\n}\r\n//# sourceMappingURL=HelperFuncs.js.map","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT License.\r\n\"use strict\";\r\nimport { getGlobal, strShimObject, strShimPrototype, strShimUndefined } from \"@microsoft/applicationinsights-shims\";\r\nimport { getDocument, getInst, getNavigator, getPerformance, hasNavigator, isFunction, isString, isUndefined, mathMax, strIndexOf } from \"@nevware21/ts-utils\";\r\nimport { _DYN_LENGTH, _DYN_NAME, _DYN_SPLIT, _DYN_TO_LOWER_CASE, _DYN_USER_AGENT } from \"../__DynamicConstants\";\r\nimport { strContains } from \"./HelperFuncs\";\r\nimport { STR_EMPTY } from \"./InternalConstants\";\r\n/**\r\n * This file exists to hold environment utilities that are required to check and\r\n * validate the current operating environment. Unless otherwise required, please\r\n * only use defined methods (functions) in this class so that users of these\r\n * functions/properties only need to include those that are used within their own modules.\r\n */\r\nvar strDocumentMode = \"documentMode\";\r\nvar strLocation = \"location\";\r\nvar strConsole = \"console\";\r\nvar strJSON = \"JSON\";\r\nvar strCrypto = \"crypto\";\r\nvar strMsCrypto = \"msCrypto\";\r\nvar strReactNative = \"ReactNative\";\r\nvar strMsie = \"msie\";\r\nvar strTrident = \"trident/\";\r\nvar strXMLHttpRequest = \"XMLHttpRequest\";\r\nvar _isTrident = null;\r\nvar _navUserAgentCheck = null;\r\nvar _enableMocks = false;\r\nvar _useXDomainRequest = null;\r\nvar _beaconsSupported = null;\r\nfunction _hasProperty(theClass, property) {\r\n var supported = false;\r\n if (theClass) {\r\n try {\r\n supported = property in theClass;\r\n if (!supported) {\r\n var proto = theClass[strShimPrototype];\r\n if (proto) {\r\n supported = property in proto;\r\n }\r\n }\r\n }\r\n catch (e) {\r\n // Do Nothing\r\n }\r\n if (!supported) {\r\n try {\r\n var tmp = new theClass();\r\n supported = !isUndefined(tmp[property]);\r\n }\r\n catch (e) {\r\n // Do Nothing\r\n }\r\n }\r\n }\r\n return supported;\r\n}\r\n/**\r\n * Enable the lookup of test mock objects if requested\r\n * @param enabled - A flag to enable or disable the mock\r\n */\r\nexport function setEnableEnvMocks(enabled) {\r\n _enableMocks = enabled;\r\n}\r\n/**\r\n * Returns the global location object if it is present otherwise null.\r\n * This helper is used to access the location object without causing an exception\r\n * \"Uncaught ReferenceError: location is not defined\"\r\n */\r\nexport function getLocation(checkForMock) {\r\n if (checkForMock && _enableMocks) {\r\n var mockLocation = getInst(\"__mockLocation\");\r\n if (mockLocation) {\r\n return mockLocation;\r\n }\r\n }\r\n if (typeof location === strShimObject && location) {\r\n return location;\r\n }\r\n return getInst(strLocation);\r\n}\r\n/**\r\n * Returns the global console object\r\n */\r\nexport function getConsole() {\r\n if (typeof console !== strShimUndefined) {\r\n return console;\r\n }\r\n return getInst(strConsole);\r\n}\r\n/**\r\n * Checks if JSON object is available, this is required as we support the API running without a\r\n * window /document (eg. Node server, electron webworkers) and if we attempt to assign a history\r\n * object to a local variable or pass as an argument an \"Uncaught ReferenceError: JSON is not defined\"\r\n * exception will be thrown.\r\n * Defined as a function to support lazy / late binding environments.\r\n */\r\nexport function hasJSON() {\r\n return Boolean((typeof JSON === strShimObject && JSON) || getInst(strJSON) !== null);\r\n}\r\n/**\r\n * Returns the global JSON object if it is present otherwise null.\r\n * This helper is used to access the JSON object without causing an exception\r\n * \"Uncaught ReferenceError: JSON is not defined\"\r\n */\r\nexport function getJSON() {\r\n if (hasJSON()) {\r\n return JSON || getInst(strJSON);\r\n }\r\n return null;\r\n}\r\n/**\r\n * Returns the crypto object if it is present otherwise null.\r\n * This helper is used to access the crypto object from the current\r\n * global instance which could be window or globalThis for a web worker\r\n */\r\nexport function getCrypto() {\r\n return getInst(strCrypto);\r\n}\r\n/**\r\n * Returns the crypto object if it is present otherwise null.\r\n * This helper is used to access the crypto object from the current\r\n * global instance which could be window or globalThis for a web worker\r\n */\r\nexport function getMsCrypto() {\r\n return getInst(strMsCrypto);\r\n}\r\n/**\r\n * Returns whether the environment is reporting that we are running in a React Native Environment\r\n */\r\nexport function isReactNative() {\r\n // If running in React Native, navigator.product will be populated\r\n var nav = getNavigator();\r\n if (nav && nav.product) {\r\n return nav.product === strReactNative;\r\n }\r\n return false;\r\n}\r\n/**\r\n * Identifies whether the current environment appears to be IE\r\n */\r\nexport function isIE() {\r\n var nav = getNavigator();\r\n if (nav && (nav[_DYN_USER_AGENT /* @min:%2euserAgent */] !== _navUserAgentCheck || _isTrident === null)) {\r\n // Added to support test mocking of the user agent\r\n _navUserAgentCheck = nav[_DYN_USER_AGENT /* @min:%2euserAgent */];\r\n var userAgent = (_navUserAgentCheck || STR_EMPTY)[_DYN_TO_LOWER_CASE /* @min:%2etoLowerCase */]();\r\n _isTrident = (strContains(userAgent, strMsie) || strContains(userAgent, strTrident));\r\n }\r\n return _isTrident;\r\n}\r\n/**\r\n * Gets IE version returning the document emulation mode if we are running on IE, or null otherwise\r\n */\r\nexport function getIEVersion(userAgentStr) {\r\n if (userAgentStr === void 0) { userAgentStr = null; }\r\n if (!userAgentStr) {\r\n var navigator_1 = getNavigator() || {};\r\n userAgentStr = navigator_1 ? (navigator_1.userAgent || STR_EMPTY)[_DYN_TO_LOWER_CASE /* @min:%2etoLowerCase */]() : STR_EMPTY;\r\n }\r\n var ua = (userAgentStr || STR_EMPTY)[_DYN_TO_LOWER_CASE /* @min:%2etoLowerCase */]();\r\n // Also check for documentMode in case X-UA-Compatible meta tag was included in HTML.\r\n if (strContains(ua, strMsie)) {\r\n var doc = getDocument() || {};\r\n return mathMax(parseInt(ua[_DYN_SPLIT /* @min:%2esplit */](strMsie)[1]), (doc[strDocumentMode] || 0));\r\n }\r\n else if (strContains(ua, strTrident)) {\r\n var tridentVer = parseInt(ua[_DYN_SPLIT /* @min:%2esplit */](strTrident)[1]);\r\n if (tridentVer) {\r\n return tridentVer + 4;\r\n }\r\n }\r\n return null;\r\n}\r\nexport function isSafari(userAgentStr) {\r\n if (!userAgentStr || !isString(userAgentStr)) {\r\n var navigator_2 = getNavigator() || {};\r\n userAgentStr = navigator_2 ? (navigator_2.userAgent || STR_EMPTY)[_DYN_TO_LOWER_CASE /* @min:%2etoLowerCase */]() : STR_EMPTY;\r\n }\r\n var ua = (userAgentStr || STR_EMPTY)[_DYN_TO_LOWER_CASE /* @min:%2etoLowerCase */]();\r\n return (strIndexOf(ua, \"safari\") >= 0);\r\n}\r\n/**\r\n * Checks if HTML5 Beacons are supported in the current environment.\r\n * @param useCached - [Optional] used for testing to bypass the cached lookup, when `true` this will\r\n * cause the cached global to be reset.\r\n * @returns True if supported, false otherwise.\r\n */\r\nexport function isBeaconsSupported(useCached) {\r\n if (_beaconsSupported === null || useCached === false) {\r\n _beaconsSupported = hasNavigator() && Boolean(getNavigator().sendBeacon);\r\n }\r\n return _beaconsSupported;\r\n}\r\n/**\r\n * Checks if the Fetch API is supported in the current environment.\r\n * @param withKeepAlive - [Optional] If True, check if fetch is available and it supports the keepalive feature, otherwise only check if fetch is supported\r\n * @returns True if supported, otherwise false\r\n */\r\nexport function isFetchSupported(withKeepAlive) {\r\n var isSupported = false;\r\n try {\r\n isSupported = !!getInst(\"fetch\");\r\n var request = getInst(\"Request\");\r\n if (isSupported && withKeepAlive && request) {\r\n isSupported = _hasProperty(request, \"keepalive\");\r\n }\r\n }\r\n catch (e) {\r\n // Just Swallow any failure during availability checks\r\n }\r\n return isSupported;\r\n}\r\nexport function useXDomainRequest() {\r\n if (_useXDomainRequest === null) {\r\n _useXDomainRequest = (typeof XDomainRequest !== strShimUndefined);\r\n if (_useXDomainRequest && isXhrSupported()) {\r\n _useXDomainRequest = _useXDomainRequest && !_hasProperty(getInst(strXMLHttpRequest), \"withCredentials\");\r\n }\r\n }\r\n return _useXDomainRequest;\r\n}\r\n/**\r\n * Checks if XMLHttpRequest is supported\r\n * @returns True if supported, otherwise false\r\n */\r\nexport function isXhrSupported() {\r\n var isSupported = false;\r\n try {\r\n var xmlHttpRequest = getInst(strXMLHttpRequest);\r\n isSupported = !!xmlHttpRequest;\r\n }\r\n catch (e) {\r\n // Just Swallow any failure during availability checks\r\n }\r\n return isSupported;\r\n}\r\nfunction _getNamedValue(values, name) {\r\n if (values) {\r\n for (var i = 0; i < values[_DYN_LENGTH /* @min:%2elength */]; i++) {\r\n var value = values[i];\r\n if (value[_DYN_NAME /* @min:%2ename */]) {\r\n if (value[_DYN_NAME /* @min:%2ename */] === name) {\r\n return value;\r\n }\r\n }\r\n }\r\n }\r\n return {};\r\n}\r\n/**\r\n * Helper function to fetch the named meta-tag from the page.\r\n * @param name - The name of the meta-tag to find.\r\n */\r\nexport function findMetaTag(name) {\r\n var doc = getDocument();\r\n if (doc && name) {\r\n // Look for a meta-tag\r\n return _getNamedValue(doc.querySelectorAll(\"meta\"), name).content;\r\n }\r\n return null;\r\n}\r\n/**\r\n * Helper function to fetch the named server timing value from the page response (first navigation event).\r\n * @param name - The name of the server timing value to find.\r\n */\r\nexport function findNamedServerTiming(name) {\r\n var value;\r\n var perf = getPerformance();\r\n if (perf) {\r\n // Try looking for a server-timing header\r\n var navPerf = perf.getEntriesByType(\"navigation\") || [];\r\n value = _getNamedValue((navPerf[_DYN_LENGTH /* @min:%2elength */] > 0 ? navPerf[0] : {}).serverTiming, name).description;\r\n }\r\n return value;\r\n}\r\n// TODO: should reuse this method for analytics plugin\r\nexport function dispatchEvent(target, evnt) {\r\n if (target && target.dispatchEvent && evnt) {\r\n target.dispatchEvent(evnt);\r\n return true;\r\n }\r\n return false;\r\n}\r\nexport function createCustomDomEvent(eventName, details) {\r\n var event = null;\r\n var detail = { detail: details || null };\r\n if (isFunction(CustomEvent)) { // Use CustomEvent constructor when available\r\n event = new CustomEvent(eventName, detail);\r\n }\r\n else { // CustomEvent has no constructor in IE\r\n var doc = getDocument();\r\n if (doc && doc.createEvent) {\r\n event = doc.createEvent(\"CustomEvent\");\r\n event.initCustomEvent(eventName, true, true, detail);\r\n }\r\n }\r\n return event;\r\n}\r\nexport function sendCustomEvent(evtName, cfg, customDetails) {\r\n var global = getGlobal();\r\n if (global && global.CustomEvent) {\r\n try {\r\n var details = { cfg: cfg || null, customDetails: customDetails || null };\r\n return dispatchEvent(global, createCustomDomEvent(evtName, details));\r\n }\r\n catch (e) {\r\n // eslint-disable-next-line no-empty\r\n }\r\n }\r\n return false;\r\n}\r\n//# sourceMappingURL=EnvUtils.js.map","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT License.\r\nimport { mathFloor, utcNow } from \"@nevware21/ts-utils\";\r\nimport { _DYN_LENGTH } from \"../__DynamicConstants\";\r\nimport { getCrypto, getMsCrypto, isIE } from \"./EnvUtils\";\r\nimport { STR_EMPTY } from \"./InternalConstants\";\r\nvar UInt32Mask = 0x100000000;\r\nvar MaxUInt32 = 0xffffffff;\r\nvar SEED1 = 123456789;\r\nvar SEED2 = 987654321;\r\n// MWC based Random generator (for IE)\r\nvar _mwcSeeded = false;\r\nvar _mwcW = SEED1;\r\nvar _mwcZ = SEED2;\r\n// Takes any integer\r\nfunction _mwcSeed(seedValue) {\r\n if (seedValue < 0) {\r\n // Make sure we end up with a positive number and not -ve one.\r\n seedValue >>>= 0;\r\n }\r\n _mwcW = (SEED1 + seedValue) & MaxUInt32;\r\n _mwcZ = (SEED2 - seedValue) & MaxUInt32;\r\n _mwcSeeded = true;\r\n}\r\nfunction _autoSeedMwc() {\r\n // Simple initialization using default Math.random() - So we inherit any entropy from the browser\r\n // and bitwise XOR with the current milliseconds\r\n try {\r\n var now = utcNow() & 0x7fffffff;\r\n _mwcSeed(((Math.random() * UInt32Mask) ^ now) + now);\r\n }\r\n catch (e) {\r\n // Don't crash if something goes wrong\r\n }\r\n}\r\n/**\r\n * Generate a random value between 0 and maxValue, max value should be limited to a 32-bit maximum.\r\n * So maxValue(16) will produce a number from 0..16 (range of 17)\r\n * @param maxValue - The max value for the range\r\n */\r\nexport function randomValue(maxValue) {\r\n if (maxValue > 0) {\r\n return mathFloor((random32() / MaxUInt32) * (maxValue + 1)) >>> 0;\r\n }\r\n return 0;\r\n}\r\n/**\r\n * generate a random 32-bit number (0x000000..0xFFFFFFFF) or (-0x80000000..0x7FFFFFFF), defaults un-unsigned.\r\n * @param signed - True to return a signed 32-bit number (-0x80000000..0x7FFFFFFF) otherwise an unsigned one (0x000000..0xFFFFFFFF)\r\n */\r\nexport function random32(signed) {\r\n var value = 0;\r\n var c = getCrypto() || getMsCrypto();\r\n if (c && c.getRandomValues) {\r\n // Make sure the number is converted into the specified range (-0x80000000..0x7FFFFFFF)\r\n value = c.getRandomValues(new Uint32Array(1))[0] & MaxUInt32;\r\n }\r\n if (value === 0 && isIE()) {\r\n // For IE 6, 7, 8 (especially on XP) Math.random is not very random\r\n if (!_mwcSeeded) {\r\n // Set the seed for the Mwc algorithm\r\n _autoSeedMwc();\r\n }\r\n // Don't use Math.random for IE\r\n // Make sure the number is converted into the specified range (-0x80000000..0x7FFFFFFF)\r\n value = mwcRandom32() & MaxUInt32;\r\n }\r\n if (value === 0) {\r\n // Make sure the number is converted into the specified range (-0x80000000..0x7FFFFFFF)\r\n value = mathFloor((UInt32Mask * Math.random()) | 0);\r\n }\r\n if (!signed) {\r\n // Make sure we end up with a positive number and not -ve one.\r\n value >>>= 0;\r\n }\r\n return value;\r\n}\r\n/**\r\n * Seed the MWC random number generator with the specified seed or a random value\r\n * @param value - optional the number to used as the seed, if undefined, null or zero a random value will be chosen\r\n */\r\nexport function mwcRandomSeed(value) {\r\n if (!value) {\r\n _autoSeedMwc();\r\n }\r\n else {\r\n _mwcSeed(value);\r\n }\r\n}\r\n/**\r\n * Generate a random 32-bit number between (0x000000..0xFFFFFFFF) or (-0x80000000..0x7FFFFFFF), using MWC (Multiply with carry)\r\n * instead of Math.random() defaults to un-signed.\r\n * Used as a replacement random generator for IE to avoid issues with older IE instances.\r\n * @param signed - True to return a signed 32-bit number (-0x80000000..0x7FFFFFFF) otherwise an unsigned one (0x000000..0xFFFFFFFF)\r\n */\r\nexport function mwcRandom32(signed) {\r\n _mwcZ = (36969 * (_mwcZ & 0xFFFF) + (_mwcZ >> 16)) & MaxUInt32;\r\n _mwcW = (18000 * (_mwcW & 0xFFFF) + (_mwcW >> 16)) & MaxUInt32;\r\n var value = (((_mwcZ << 16) + (_mwcW & 0xFFFF)) >>> 0) & MaxUInt32 | 0;\r\n if (!signed) {\r\n // Make sure we end up with a positive number and not -ve one.\r\n value >>>= 0;\r\n }\r\n return value;\r\n}\r\n/**\r\n * Generate random base64 id string.\r\n * The default length is 22 which is 132-bits so almost the same as a GUID but as base64 (the previous default was 5)\r\n * @param maxLength - Optional value to specify the length of the id to be generated, defaults to 22\r\n */\r\nexport function newId(maxLength) {\r\n if (maxLength === void 0) { maxLength = 22; }\r\n var base64chars = \"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/\";\r\n // Start with an initial random number, consuming the value in reverse byte order\r\n var number = random32() >>> 0; // Make sure it's a +ve number\r\n var chars = 0;\r\n var result = STR_EMPTY;\r\n while (result[_DYN_LENGTH /* @min:%2elength */] < maxLength) {\r\n chars++;\r\n result += base64chars.charAt(number & 0x3F);\r\n number >>>= 6; // Zero fill with right shift\r\n if (chars === 5) {\r\n // 5 base64 characters === 30 bits so we don't have enough bits for another base64 char\r\n // So add on another 30 bits and make sure it's +ve\r\n number = (((random32() << 2) & 0xFFFFFFFF) | (number & 0x03)) >>> 0;\r\n chars = 0; // We need to reset the number every 5 chars (30 bits)\r\n }\r\n }\r\n return result;\r\n}\r\n//# sourceMappingURL=RandomHelper.js.map","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT License.\r\nimport { objDefine } from \"@nevware21/ts-utils\";\r\nimport { normalizeJsName } from \"./HelperFuncs\";\r\nimport { STR_EMPTY } from \"./InternalConstants\";\r\nimport { newId } from \"./RandomHelper\";\r\nvar version = '3.3.6';\r\nvar instanceName = \".\" + newId(6);\r\nvar _dataUid = 0;\r\n// Accepts only:\r\n// - Node\r\n// - Node.ELEMENT_NODE\r\n// - Node.DOCUMENT_NODE\r\n// - Object\r\n// - Any\r\nfunction _canAcceptData(target) {\r\n return target.nodeType === 1 || target.nodeType === 9 || !(+target.nodeType);\r\n}\r\nfunction _getCache(data, target) {\r\n var theCache = target[data.id];\r\n if (!theCache) {\r\n theCache = {};\r\n try {\r\n if (_canAcceptData(target)) {\r\n objDefine(target, data.id, {\r\n e: false,\r\n v: theCache\r\n });\r\n }\r\n }\r\n catch (e) {\r\n // Not all environments allow extending all objects, so just ignore the cache in those cases\r\n }\r\n }\r\n return theCache;\r\n}\r\nexport function createUniqueNamespace(name, includeVersion) {\r\n if (includeVersion === void 0) { includeVersion = false; }\r\n return normalizeJsName(name + (_dataUid++) + (includeVersion ? \".\" + version : STR_EMPTY) + instanceName);\r\n}\r\nexport function createElmNodeData(name) {\r\n var data = {\r\n id: createUniqueNamespace(\"_aiData-\" + (name || STR_EMPTY) + \".\" + version),\r\n accept: function (target) {\r\n return _canAcceptData(target);\r\n },\r\n get: function (target, name, defValue, addDefault) {\r\n var theCache = target[data.id];\r\n if (!theCache) {\r\n if (addDefault) {\r\n // Side effect is adds the cache\r\n theCache = _getCache(data, target);\r\n theCache[normalizeJsName(name)] = defValue;\r\n }\r\n return defValue;\r\n }\r\n return theCache[normalizeJsName(name)];\r\n },\r\n kill: function (target, name) {\r\n if (target && target[name]) {\r\n try {\r\n delete target[name];\r\n }\r\n catch (e) {\r\n // Just cleaning up, so if this fails -- ignore\r\n }\r\n }\r\n }\r\n };\r\n return data;\r\n}\r\n//# sourceMappingURL=DataCacheHelper.js.map","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT License.\r\nimport { asString, isArray, isDefined, isNullOrUndefined, isObject, isPlainObject, isUndefined, objForEachKey, objHasOwn } from \"@nevware21/ts-utils\";\r\nimport { _DYN_LENGTH } from \"../__DynamicConstants\";\r\nfunction _isConfigDefaults(value) {\r\n return (value && isObject(value) && (value.isVal || value.fb || objHasOwn(value, \"v\") || objHasOwn(value, \"mrg\") || objHasOwn(value, \"ref\") || value.set));\r\n}\r\nfunction _getDefault(dynamicHandler, theConfig, cfgDefaults) {\r\n var defValue;\r\n var isDefaultValid = cfgDefaults.dfVal || isDefined;\r\n // There is a fallback config key so try and grab that first\r\n if (theConfig && cfgDefaults.fb) {\r\n var fallbacks = cfgDefaults.fb;\r\n if (!isArray(fallbacks)) {\r\n fallbacks = [fallbacks];\r\n }\r\n for (var lp = 0; lp < fallbacks[_DYN_LENGTH /* @min:%2elength */]; lp++) {\r\n var fallback = fallbacks[lp];\r\n var fbValue = theConfig[fallback];\r\n if (isDefaultValid(fbValue)) {\r\n defValue = fbValue;\r\n }\r\n else if (dynamicHandler) {\r\n // Needed to ensure that the fallback value (and potentially) new field is also dynamic even if null/undefined\r\n fbValue = dynamicHandler.cfg[fallback];\r\n if (isDefaultValid(fbValue)) {\r\n defValue = fbValue;\r\n }\r\n // Needed to ensure that the fallback value (and potentially) new field is also dynamic even if null/undefined\r\n dynamicHandler.set(dynamicHandler.cfg, asString(fallback), fbValue);\r\n }\r\n if (isDefaultValid(defValue)) {\r\n // We have a valid default so break out of the look\r\n break;\r\n }\r\n }\r\n }\r\n // If the value is still not defined and we have a default value then use that\r\n if (!isDefaultValid(defValue) && isDefaultValid(cfgDefaults.v)) {\r\n defValue = cfgDefaults.v;\r\n }\r\n return defValue;\r\n}\r\n/**\r\n * Recursively resolve the default value\r\n * @param dynamicHandler\r\n * @param theConfig\r\n * @param cfgDefaults\r\n * @returns\r\n */\r\nfunction _resolveDefaultValue(dynamicHandler, theConfig, cfgDefaults) {\r\n var theValue = cfgDefaults;\r\n if (cfgDefaults && _isConfigDefaults(cfgDefaults)) {\r\n theValue = _getDefault(dynamicHandler, theConfig, cfgDefaults);\r\n }\r\n if (theValue) {\r\n if (_isConfigDefaults(theValue)) {\r\n theValue = _resolveDefaultValue(dynamicHandler, theConfig, theValue);\r\n }\r\n var newValue_1;\r\n if (isArray(theValue)) {\r\n newValue_1 = [];\r\n newValue_1[_DYN_LENGTH /* @min:%2elength */] = theValue[_DYN_LENGTH /* @min:%2elength */];\r\n }\r\n else if (isPlainObject(theValue)) {\r\n newValue_1 = {};\r\n }\r\n if (newValue_1) {\r\n objForEachKey(theValue, function (key, value) {\r\n if (value && _isConfigDefaults(value)) {\r\n value = _resolveDefaultValue(dynamicHandler, theConfig, value);\r\n }\r\n newValue_1[key] = value;\r\n });\r\n theValue = newValue_1;\r\n }\r\n }\r\n return theValue;\r\n}\r\n/**\r\n * Applies the default value on the config property and makes sure that it's dynamic\r\n * @param theConfig\r\n * @param name\r\n * @param defaultValue\r\n */\r\nexport function _applyDefaultValue(dynamicHandler, theConfig, name, defaultValue) {\r\n // Resolve the initial config value from the provided value or use the defined default\r\n var isValid;\r\n var setFn;\r\n var defValue;\r\n var cfgDefaults = defaultValue;\r\n var mergeDf;\r\n var reference;\r\n var readOnly;\r\n var blkDynamicValue;\r\n if (_isConfigDefaults(cfgDefaults)) {\r\n // looks like a IConfigDefault\r\n isValid = cfgDefaults.isVal;\r\n setFn = cfgDefaults.set;\r\n readOnly = cfgDefaults.rdOnly;\r\n blkDynamicValue = cfgDefaults.blkVal;\r\n mergeDf = cfgDefaults.mrg;\r\n reference = cfgDefaults.ref;\r\n if (!reference && isUndefined(reference)) {\r\n reference = !!mergeDf;\r\n }\r\n defValue = _getDefault(dynamicHandler, theConfig, cfgDefaults);\r\n }\r\n else {\r\n defValue = defaultValue;\r\n }\r\n if (blkDynamicValue) {\r\n // Mark the property so that any value assigned will be blocked from conversion, we need to do this\r\n // before assigning or fetching the value to ensure it's not converted\r\n dynamicHandler.blkVal(theConfig, name);\r\n }\r\n // Set the value to the default value;\r\n var theValue;\r\n var usingDefault = true;\r\n var cfgValue = theConfig[name];\r\n // try and get and user provided values\r\n if (cfgValue || !isNullOrUndefined(cfgValue)) {\r\n // Use the defined theConfig[name] value\r\n theValue = cfgValue;\r\n usingDefault = false;\r\n // The values are different and we have a special default value check, which is used to\r\n // override config values like empty strings to continue using the default\r\n if (isValid && theValue !== defValue && !isValid(theValue)) {\r\n theValue = defValue;\r\n usingDefault = true;\r\n }\r\n if (setFn) {\r\n theValue = setFn(theValue, defValue, theConfig);\r\n usingDefault = theValue === defValue;\r\n }\r\n }\r\n if (!usingDefault) {\r\n if (isPlainObject(theValue) || isArray(defValue)) {\r\n // we are using the user supplied value and it's an object\r\n if (mergeDf && defValue && (isPlainObject(defValue) || isArray(defValue))) {\r\n // Resolve/apply the defaults\r\n objForEachKey(defValue, function (dfName, dfValue) {\r\n // Sets the value and makes it dynamic (if it doesn't already exist)\r\n _applyDefaultValue(dynamicHandler, theValue, dfName, dfValue);\r\n });\r\n }\r\n }\r\n }\r\n else if (defValue) {\r\n // Just resolve the default\r\n theValue = _resolveDefaultValue(dynamicHandler, theConfig, defValue);\r\n }\r\n else {\r\n theValue = defValue;\r\n }\r\n // if (theValue && usingDefault && (isPlainObject(theValue) || isArray(theValue))) {\r\n // theValue = _cfgDeepCopy(theValue);\r\n // }\r\n // Needed to ensure that the (potentially) new field is dynamic even if null/undefined\r\n dynamicHandler.set(theConfig, name, theValue);\r\n if (reference) {\r\n dynamicHandler.ref(theConfig, name);\r\n }\r\n if (readOnly) {\r\n dynamicHandler.rdOnly(theConfig, name);\r\n }\r\n}\r\n//# sourceMappingURL=ConfigDefaults.js.map","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT License.\r\nimport { isArray, isPlainObject, objForEachKey, symbolFor, throwTypeError } from \"@nevware21/ts-utils\";\r\nimport { _DYN_LENGTH } from \"../__DynamicConstants\";\r\n// Using Symbol.for so that if the same symbol was already created it would be returned\r\n// To handle multiple instances using potentially different versions we are not using\r\n// createUniqueNamespace()\r\nexport var CFG_HANDLER_LINK = symbolFor(\"[[ai_dynCfg_1]]\");\r\n/**\r\n * @internal\r\n * @ignore\r\n * The symbol to tag objects / arrays with if they should not be converted\r\n */\r\nvar BLOCK_DYNAMIC = symbolFor(\"[[ai_blkDynCfg_1]]\");\r\n/**\r\n * @internal\r\n * @ignore\r\n * The symbol to tag objects to indicate that when included into the configuration that\r\n * they should be converted into a trackable dynamic object.\r\n */\r\nvar FORCE_DYNAMIC = symbolFor(\"[[ai_frcDynCfg_1]]\");\r\nexport function _cfgDeepCopy(source) {\r\n if (source) {\r\n var target_1;\r\n if (isArray(source)) {\r\n target_1 = [];\r\n target_1[_DYN_LENGTH /* @min:%2elength */] = source[_DYN_LENGTH /* @min:%2elength */];\r\n }\r\n else if (isPlainObject(source)) {\r\n target_1 = {};\r\n }\r\n if (target_1) {\r\n // Copying index values by property name as the extensionConfig can be an array or object\r\n objForEachKey(source, function (key, value) {\r\n // Perform a deep copy of the object\r\n target_1[key] = _cfgDeepCopy(value);\r\n });\r\n return target_1;\r\n }\r\n }\r\n return source;\r\n}\r\n/**\r\n * @internal\r\n * Get the dynamic config handler if the value is already dynamic\r\n * @returns\r\n */\r\nexport function getDynamicConfigHandler(value) {\r\n if (value) {\r\n var handler = value[CFG_HANDLER_LINK] || value;\r\n if (handler.cfg && (handler.cfg === value || handler.cfg[CFG_HANDLER_LINK] === handler)) {\r\n return handler;\r\n }\r\n }\r\n return null;\r\n}\r\n/**\r\n * Mark the provided value so that if it's included into the configuration it will NOT have\r\n * its properties converted into a dynamic (reactive) object. If the object is not a plain object\r\n * or an array (ie. a class) this function has not affect as only Objects and Arrays are converted\r\n * into dynamic objects in the dynamic configuration.\r\n *\r\n * When you have tagged a value as both {@link forceDynamicConversion} and blocked force will take precedence.\r\n *\r\n * You should only need to use this function, if you are creating dynamic \"classes\" from objects\r\n * which confirm to the require interface. A common case for this is during unit testing where it's\r\n * easier to create mock extensions.\r\n *\r\n * If `value` is falsy (null / undefined / 0 / empty string etc) it will not be tagged and\r\n * if there is an exception adding the property to the value (because its frozen etc) the\r\n * exception will be swallowed\r\n *\r\n * @example\r\n * ```ts\r\n * // This is a valid \"extension\", but it is technically an object\r\n * // So when included in the config.extensions it WILL be cloned and then\r\n * // converted into a dynamic object, where all of its properties will become\r\n * // get/set object properties and will be tracked. While this WILL still\r\n * // function, when attempt to use a mocking framework on top of this the\r\n * // functions are now technically get accessors which return a function\r\n * // and this can cause some mocking frameworks to fail.\r\n * let mockChannel = {\r\n * pause: () => { },\r\n* resume: () => { },\r\n* teardown: () => { },\r\n* flush: (async: any, callBack: any) => { },\r\n* processTelemetry: (env: any) => { },\r\n* setNextPlugin: (next: any) => { },\r\n* initialize: (config: any, core: any, extensions: any) => { },\r\n* identifier: \"testChannel\",\r\n* priority: 1003\r\n* };\r\n * ```\r\n * @param value - The object that you want to block from being converted into a\r\n * trackable dynamic object\r\n * @returns The original value\r\n */\r\nexport function blockDynamicConversion(value) {\r\n if (value && (isPlainObject(value) || isArray(value))) {\r\n try {\r\n value[BLOCK_DYNAMIC] = true;\r\n }\r\n catch (e) {\r\n // Don't throw for this case as it's an ask only\r\n }\r\n }\r\n return value;\r\n}\r\n/**\r\n * This is the reverse case of {@link blockDynamicConversion} in that this will tag an\r\n * object to indicate that it should always be converted into a dynamic trackable object\r\n * even when not an object or array. So all properties of this object will become\r\n * get / set accessor functions.\r\n *\r\n * When you have tagged a value as both {@link forceDynamicConversion} and blocked force will take precedence.\r\n *\r\n * If `value` is falsy (null / undefined / 0 / empty string etc) it will not be tagged and\r\n * if there is an exception adding the property to the value (because its frozen etc) the\r\n * exception will be swallowed.\r\n * @param value - The object that should be tagged and converted if included into a dynamic\r\n * configuration.\r\n * @returns The original value\r\n */\r\nexport function forceDynamicConversion(value) {\r\n if (value) {\r\n try {\r\n value[FORCE_DYNAMIC] = true;\r\n }\r\n catch (e) {\r\n // Don't throw for this case as it's an ask only\r\n }\r\n }\r\n return value;\r\n}\r\n/**\r\n * @internal\r\n * @ignore\r\n * Helper function to check whether an object can or should be converted into a dynamic\r\n * object.\r\n * @param value - The object to check whether it should be converted\r\n * @returns `true` if the value should be converted otherwise `false`.\r\n */\r\nexport function _canMakeDynamic(getFunc, state, value) {\r\n var result = false;\r\n // Object must exist and be truthy\r\n if (value && !getFunc[state.blkVal]) {\r\n // Tagged as always convert\r\n result = value[FORCE_DYNAMIC];\r\n // Check that it's not explicitly tagged as blocked\r\n if (!result && !value[BLOCK_DYNAMIC]) {\r\n // Only convert plain objects or arrays by default\r\n result = isPlainObject(value) || isArray(value);\r\n }\r\n }\r\n return result;\r\n}\r\n/**\r\n * Throws an invalid access exception\r\n * @param message - The message to include in the exception\r\n */\r\nexport function throwInvalidAccess(message) {\r\n throwTypeError(\"InvalidAccess:\" + message);\r\n}\r\n//# sourceMappingURL=DynamicSupport.js.map","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT License.\r\nimport { arrForEach, arrIndexOf, dumpObj, isArray, objDefine, objDefineProp, objForEachKey, objGetOwnPropertyDescriptor } from \"@nevware21/ts-utils\";\r\nimport { UNDEFINED_VALUE } from \"../JavaScriptSDK/InternalConstants\";\r\nimport { _DYN_APPLY, _DYN_LOGGER, _DYN_PUSH, _DYN_SPLICE, _DYN_THROW_INTERNAL } from \"../__DynamicConstants\";\r\nimport { CFG_HANDLER_LINK, _canMakeDynamic, blockDynamicConversion, throwInvalidAccess } from \"./DynamicSupport\";\r\nvar arrayMethodsToPatch = [\r\n \"push\",\r\n \"pop\",\r\n \"shift\",\r\n \"unshift\",\r\n \"splice\"\r\n];\r\nexport var _throwDynamicError = function (logger, name, desc, e) {\r\n logger && logger[_DYN_THROW_INTERNAL /* @min:%2ethrowInternal */](3 /* eLoggingSeverity.DEBUG */, 108 /* _eInternalMessageId.DynamicConfigException */, \"\".concat(desc, \" [\").concat(name, \"] failed - \") + dumpObj(e));\r\n};\r\nfunction _patchArray(state, target, name) {\r\n if (isArray(target)) {\r\n // Monkey Patch the methods that might change the array\r\n arrForEach(arrayMethodsToPatch, function (method) {\r\n var orgMethod = target[method];\r\n target[method] = function () {\r\n var args = [];\r\n for (var _i = 0; _i < arguments.length; _i++) {\r\n args[_i] = arguments[_i];\r\n }\r\n var result = orgMethod[_DYN_APPLY /* @min:%2eapply */](this, args);\r\n // items may be added, removed or moved so need to make some new dynamic properties\r\n _makeDynamicObject(state, target, name, \"Patching\");\r\n return result;\r\n };\r\n });\r\n }\r\n}\r\nfunction _getOwnPropGetter(target, name) {\r\n var propDesc = objGetOwnPropertyDescriptor(target, name);\r\n return propDesc && propDesc.get;\r\n}\r\nfunction _createDynamicProperty(state, theConfig, name, value) {\r\n // Does not appear to be dynamic so lets make it so\r\n var detail = {\r\n n: name,\r\n h: [],\r\n trk: function (handler) {\r\n if (handler && handler.fn) {\r\n if (arrIndexOf(detail.h, handler) === -1) {\r\n // Add this handler to the collection that should be notified when the value changes\r\n detail.h[_DYN_PUSH /* @min:%2epush */](handler);\r\n }\r\n state.trk(handler, detail);\r\n }\r\n },\r\n clr: function (handler) {\r\n var idx = arrIndexOf(detail.h, handler);\r\n if (idx !== -1) {\r\n detail.h[_DYN_SPLICE /* @min:%2esplice */](idx, 1);\r\n }\r\n }\r\n };\r\n // Flag to optimize lookup response time by avoiding additional function calls\r\n var checkDynamic = true;\r\n var isObjectOrArray = false;\r\n function _getProperty() {\r\n if (checkDynamic) {\r\n isObjectOrArray = isObjectOrArray || _canMakeDynamic(_getProperty, state, value);\r\n // Make sure that if it's an object that we make it dynamic\r\n if (value && !value[CFG_HANDLER_LINK] && isObjectOrArray) {\r\n // It doesn't look like it's already dynamic so lets make sure it's converted the object into a dynamic Config as well\r\n value = _makeDynamicObject(state, value, name, \"Converting\");\r\n }\r\n // If it needed to be converted it now has been\r\n checkDynamic = false;\r\n }\r\n // If there is an active handler then add it to the tracking set of handlers\r\n var activeHandler = state.act;\r\n if (activeHandler) {\r\n detail.trk(activeHandler);\r\n }\r\n return value;\r\n }\r\n // Tag this getter as our dynamic property and provide shortcut for notifying a change\r\n _getProperty[state.prop] = {\r\n chng: function () {\r\n state.add(detail);\r\n }\r\n };\r\n function _setProperty(newValue) {\r\n if (value !== newValue) {\r\n if (!!_getProperty[state.ro] && !state.upd) {\r\n // field is marked as readonly so return false\r\n throwInvalidAccess(\"[\" + name + \"] is read-only:\" + dumpObj(theConfig));\r\n }\r\n if (checkDynamic) {\r\n isObjectOrArray = isObjectOrArray || _canMakeDynamic(_getProperty, state, value);\r\n checkDynamic = false;\r\n }\r\n // The value must be a plain object or an array to enforce the reference (in-place updates)\r\n var isReferenced = isObjectOrArray && _getProperty[state.rf];\r\n if (isObjectOrArray) {\r\n // We are about to replace a plain object or an array\r\n if (isReferenced) {\r\n // Reassign the properties from the current value to the same properties from the newValue\r\n // This will set properties not in the newValue to undefined\r\n objForEachKey(value, function (key) {\r\n value[key] = newValue ? newValue[key] : UNDEFINED_VALUE;\r\n });\r\n // Now assign / re-assign value with all of the keys from newValue\r\n try {\r\n objForEachKey(newValue, function (key, theValue) {\r\n _setDynamicProperty(state, value, key, theValue);\r\n });\r\n // Now drop newValue so when we assign value later it keeps the existing reference\r\n newValue = value;\r\n }\r\n catch (e) {\r\n // Unable to convert to dynamic property so just leave as non-dynamic\r\n _throwDynamicError((state.hdlr || {})[_DYN_LOGGER /* @min:%2elogger */], name, \"Assigning\", e);\r\n // Mark as not an object or array so we don't try and do this again\r\n isObjectOrArray = false;\r\n }\r\n }\r\n else if (value && value[CFG_HANDLER_LINK]) {\r\n // As we are replacing the value, if it's already dynamic then we need to notify the listeners\r\n // for every property it has already\r\n objForEachKey(value, function (key) {\r\n // Check if the value is dynamic\r\n var getter = _getOwnPropGetter(value, key);\r\n if (getter) {\r\n // And if it is tell it's listeners that the value has changed\r\n var valueState = getter[state.prop];\r\n valueState && valueState.chng();\r\n }\r\n });\r\n }\r\n }\r\n if (newValue !== value) {\r\n var newIsObjectOrArray = newValue && _canMakeDynamic(_getProperty, state, newValue);\r\n if (!isReferenced && newIsObjectOrArray) {\r\n // As the newValue is an object/array lets preemptively make it dynamic\r\n newValue = _makeDynamicObject(state, newValue, name, \"Converting\");\r\n }\r\n // Now assign the internal \"value\" to the newValue\r\n value = newValue;\r\n isObjectOrArray = newIsObjectOrArray;\r\n }\r\n // Cause any listeners to be scheduled for notification\r\n state.add(detail);\r\n }\r\n }\r\n objDefine(theConfig, detail.n, { g: _getProperty, s: _setProperty });\r\n}\r\nexport function _setDynamicProperty(state, target, name, value) {\r\n if (target) {\r\n // To be a dynamic property it needs to have a get function\r\n var getter = _getOwnPropGetter(target, name);\r\n var isDynamic = getter && !!getter[state.prop];\r\n if (!isDynamic) {\r\n _createDynamicProperty(state, target, name, value);\r\n }\r\n else {\r\n // Looks like it's already dynamic just assign the new value\r\n target[name] = value;\r\n }\r\n }\r\n return target;\r\n}\r\nexport function _setDynamicPropertyState(state, target, name, flags) {\r\n if (target) {\r\n // To be a dynamic property it needs to have a get function\r\n var getter = _getOwnPropGetter(target, name);\r\n var isDynamic = getter && !!getter[state.prop];\r\n var inPlace = flags && flags[0 /* _eSetDynamicPropertyFlags.inPlace */];\r\n var rdOnly = flags && flags[1 /* _eSetDynamicPropertyFlags.readOnly */];\r\n var blkProp = flags && flags[2 /* _eSetDynamicPropertyFlags.blockDynamicProperty */];\r\n if (!isDynamic) {\r\n if (blkProp) {\r\n try {\r\n // Attempt to mark the target as blocked from conversion\r\n blockDynamicConversion(target);\r\n }\r\n catch (e) {\r\n _throwDynamicError((state.hdlr || {})[_DYN_LOGGER /* @min:%2elogger */], name, \"Blocking\", e);\r\n }\r\n }\r\n try {\r\n // Make sure it's dynamic so that we can tag the property as per the state\r\n _setDynamicProperty(state, target, name, target[name]);\r\n getter = _getOwnPropGetter(target, name);\r\n }\r\n catch (e) {\r\n // Unable to convert to dynamic property so just leave as non-dynamic\r\n _throwDynamicError((state.hdlr || {})[_DYN_LOGGER /* @min:%2elogger */], name, \"State\", e);\r\n }\r\n }\r\n // Assign the optional flags if true\r\n if (inPlace) {\r\n getter[state.rf] = inPlace;\r\n }\r\n if (rdOnly) {\r\n getter[state.ro] = rdOnly;\r\n }\r\n if (blkProp) {\r\n getter[state.blkVal] = true;\r\n }\r\n }\r\n return target;\r\n}\r\nexport function _makeDynamicObject(state, target, name, desc) {\r\n try {\r\n // Assign target with new value properties (converting into dynamic properties in the process)\r\n objForEachKey(target, function (key, value) {\r\n // Assign and/or make the property dynamic\r\n _setDynamicProperty(state, target, key, value);\r\n });\r\n if (!target[CFG_HANDLER_LINK]) {\r\n // Link the config back to the dynamic config details\r\n objDefineProp(target, CFG_HANDLER_LINK, {\r\n get: function () {\r\n return state.hdlr;\r\n }\r\n });\r\n _patchArray(state, target, name);\r\n }\r\n }\r\n catch (e) {\r\n // Unable to convert to dynamic property so just leave as non-dynamic\r\n _throwDynamicError((state.hdlr || {})[_DYN_LOGGER /* @min:%2elogger */], name, desc, e);\r\n }\r\n return target;\r\n}\r\n//# sourceMappingURL=DynamicProperty.js.map","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT License.\r\nimport { arrForEach, createCustomError, dumpObj } from \"@nevware21/ts-utils\";\r\nimport { _DYN_LENGTH } from \"../__DynamicConstants\";\r\nvar aggregationErrorType;\r\n/**\r\n * Throws an Aggregation Error which includes all of the errors that led to this error occurring\r\n * @param message - The message describing the aggregation error (the sourceError details are added to this)\r\n * @param sourceErrors - An array of the errors that caused this situation\r\n */\r\nexport function throwAggregationError(message, sourceErrors) {\r\n if (!aggregationErrorType) {\r\n aggregationErrorType = createCustomError(\"AggregationError\", function (self, args) {\r\n if (args[_DYN_LENGTH /* @min:%2elength */] > 1) {\r\n // Save the provided errors\r\n self.errors = args[1];\r\n }\r\n });\r\n }\r\n var theMessage = message || \"One or more errors occurred.\";\r\n arrForEach(sourceErrors, function (srcError, idx) {\r\n theMessage += \"\\n\".concat(idx, \" > \").concat(dumpObj(srcError));\r\n });\r\n throw new aggregationErrorType(theMessage, sourceErrors || []);\r\n}\r\n//# sourceMappingURL=AggregationError.js.map","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT License.\r\nimport { arrForEach, arrIndexOf, dumpObj, newSymbol, scheduleTimeout } from \"@nevware21/ts-utils\";\r\nimport { throwAggregationError } from \"../JavaScriptSDK/AggregationError\";\r\nimport { _DYN_CANCEL, _DYN_LENGTH, _DYN_LOGGER, _DYN_PUSH, _DYN_THROW_INTERNAL } from \"../__DynamicConstants\";\r\nvar symPrefix = \"[[ai_\";\r\nvar symPostfix = \"]]\";\r\nexport function _createState(cfgHandler) {\r\n var dynamicPropertySymbol = newSymbol(symPrefix + \"get\" + cfgHandler.uid + symPostfix);\r\n var dynamicPropertyReadOnly = newSymbol(symPrefix + \"ro\" + cfgHandler.uid + symPostfix);\r\n var dynamicPropertyReferenced = newSymbol(symPrefix + \"rf\" + cfgHandler.uid + symPostfix);\r\n var dynamicPropertyBlockValue = newSymbol(symPrefix + \"blkVal\" + cfgHandler.uid + symPostfix);\r\n var dynamicPropertyDetail = newSymbol(symPrefix + \"dtl\" + cfgHandler.uid + symPostfix);\r\n var _waitingHandlers = null;\r\n var _watcherTimer = null;\r\n var theState;\r\n function _useHandler(activeHandler, callback) {\r\n var prevWatcher = theState.act;\r\n try {\r\n theState.act = activeHandler;\r\n if (activeHandler && activeHandler[dynamicPropertyDetail]) {\r\n // Clear out the previously tracked details for this handler, so that access are re-evaluated\r\n arrForEach(activeHandler[dynamicPropertyDetail], function (detail) {\r\n detail.clr(activeHandler);\r\n });\r\n activeHandler[dynamicPropertyDetail] = [];\r\n }\r\n callback({\r\n cfg: cfgHandler.cfg,\r\n set: cfgHandler.set.bind(cfgHandler),\r\n setDf: cfgHandler.setDf.bind(cfgHandler),\r\n ref: cfgHandler.ref.bind(cfgHandler),\r\n rdOnly: cfgHandler.rdOnly.bind(cfgHandler)\r\n });\r\n }\r\n catch (e) {\r\n var logger = cfgHandler[_DYN_LOGGER /* @min:%2elogger */];\r\n if (logger) {\r\n // Don't let one individual failure break everyone\r\n logger[_DYN_THROW_INTERNAL /* @min:%2ethrowInternal */](1 /* eLoggingSeverity.CRITICAL */, 107 /* _eInternalMessageId.ConfigWatcherException */, dumpObj(e));\r\n }\r\n // Re-throw the exception so that any true \"error\" is reported back to the called\r\n throw e;\r\n }\r\n finally {\r\n theState.act = prevWatcher || null;\r\n }\r\n }\r\n function _notifyWatchers() {\r\n if (_waitingHandlers) {\r\n var notifyHandlers = _waitingHandlers;\r\n _waitingHandlers = null;\r\n // Stop any timer as we are running them now anyway\r\n _watcherTimer && _watcherTimer[_DYN_CANCEL /* @min:%2ecancel */]();\r\n _watcherTimer = null;\r\n var watcherFailures_1 = [];\r\n // Now run the handlers\r\n arrForEach(notifyHandlers, function (handler) {\r\n if (handler) {\r\n if (handler[dynamicPropertyDetail]) {\r\n arrForEach(handler[dynamicPropertyDetail], function (detail) {\r\n // Clear out this handler from previously tracked details, so that access are re-evaluated\r\n detail.clr(handler);\r\n });\r\n handler[dynamicPropertyDetail] = null;\r\n }\r\n // The handler may have self removed as part of another handler so re-check\r\n if (handler.fn) {\r\n try {\r\n _useHandler(handler, handler.fn);\r\n }\r\n catch (e) {\r\n // Don't let a single failing watcher cause other watches to fail\r\n watcherFailures_1[_DYN_PUSH /* @min:%2epush */](e);\r\n }\r\n }\r\n }\r\n });\r\n // During notification we may have had additional updates -- so notify those updates as well\r\n if (_waitingHandlers) {\r\n try {\r\n _notifyWatchers();\r\n }\r\n catch (e) {\r\n watcherFailures_1[_DYN_PUSH /* @min:%2epush */](e);\r\n }\r\n }\r\n if (watcherFailures_1[_DYN_LENGTH /* @min:%2elength */] > 0) {\r\n throwAggregationError(\"Watcher error(s): \", watcherFailures_1);\r\n }\r\n }\r\n }\r\n function _addWatcher(detail) {\r\n if (detail && detail.h[_DYN_LENGTH /* @min:%2elength */] > 0) {\r\n if (!_waitingHandlers) {\r\n _waitingHandlers = [];\r\n }\r\n if (!_watcherTimer) {\r\n _watcherTimer = scheduleTimeout(function () {\r\n _watcherTimer = null;\r\n _notifyWatchers();\r\n }, 0);\r\n }\r\n // Add all of the handlers for this detail (if not already present) - using normal for-loop for performance\r\n for (var idx = 0; idx < detail.h[_DYN_LENGTH /* @min:%2elength */]; idx++) {\r\n var handler = detail.h[idx];\r\n // Add this handler to the collection of handlers to re-execute\r\n if (handler && arrIndexOf(_waitingHandlers, handler) === -1) {\r\n _waitingHandlers[_DYN_PUSH /* @min:%2epush */](handler);\r\n }\r\n }\r\n }\r\n }\r\n function _trackHandler(handler, detail) {\r\n if (handler) {\r\n var details = handler[dynamicPropertyDetail] = handler[dynamicPropertyDetail] || [];\r\n if (arrIndexOf(details, detail) === -1) {\r\n // If this detail is not already listed as tracked then add it so that we re-evaluate it's usage\r\n details[_DYN_PUSH /* @min:%2epush */](detail);\r\n }\r\n }\r\n }\r\n theState = {\r\n prop: dynamicPropertySymbol,\r\n ro: dynamicPropertyReadOnly,\r\n rf: dynamicPropertyReferenced,\r\n blkVal: dynamicPropertyBlockValue,\r\n hdlr: cfgHandler,\r\n add: _addWatcher,\r\n notify: _notifyWatchers,\r\n use: _useHandler,\r\n trk: _trackHandler\r\n };\r\n return theState;\r\n}\r\n//# sourceMappingURL=DynamicState.js.map","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT License.\r\nimport { dumpObj, isUndefined, objDefine, objForEachKey } from \"@nevware21/ts-utils\";\r\nimport { createUniqueNamespace } from \"../JavaScriptSDK/DataCacheHelper\";\r\nimport { STR_NOT_DYNAMIC_ERROR } from \"../JavaScriptSDK/InternalConstants\";\r\nimport { _DYN_THROW_INTERNAL, _DYN_WARN_TO_CONSOLE, _DYN_WATCH } from \"../__DynamicConstants\";\r\nimport { _applyDefaultValue } from \"./ConfigDefaults\";\r\nimport { _makeDynamicObject, _setDynamicProperty, _setDynamicPropertyState, _throwDynamicError } from \"./DynamicProperty\";\r\nimport { _createState } from \"./DynamicState\";\r\nimport { CFG_HANDLER_LINK, _cfgDeepCopy, getDynamicConfigHandler, throwInvalidAccess } from \"./DynamicSupport\";\r\n/**\r\n * Identifies a function which will be re-called whenever any of it's accessed configuration values\r\n * change.\r\n * @param configHandler - The callback that will be called for the initial request and then whenever any\r\n * accessed configuration changes are identified.\r\n */\r\nfunction _createAndUseHandler(state, configHandler) {\r\n var handler = {\r\n fn: configHandler,\r\n rm: function () {\r\n // Clear all references to the handler so it can be garbage collected\r\n // This will also cause this handler to never get called and eventually removed\r\n handler.fn = null;\r\n state = null;\r\n configHandler = null;\r\n }\r\n };\r\n objDefine(handler, \"toJSON\", { v: function () { return \"WatcherHandler\" + (handler.fn ? \"\" : \"[X]\"); } });\r\n state.use(handler, configHandler);\r\n return handler;\r\n}\r\n/**\r\n * Creates the dynamic config handler and associates with the target config as the root object\r\n * @param target - The config that you want to be root of the dynamic config\r\n * @param inPlace - Should the passed config be converted in-place or a new proxy returned\r\n * @returns The existing dynamic handler or a new instance with the provided config values\r\n */\r\nfunction _createDynamicHandler(logger, target, inPlace) {\r\n var dynamicHandler = getDynamicConfigHandler(target);\r\n if (dynamicHandler) {\r\n // The passed config is already dynamic so return it's tracker\r\n return dynamicHandler;\r\n }\r\n var uid = createUniqueNamespace(\"dyncfg\", true);\r\n var newTarget = (target && inPlace !== false) ? target : _cfgDeepCopy(target);\r\n var theState;\r\n function _notifyWatchers() {\r\n theState.notify();\r\n }\r\n function _setValue(target, name, value) {\r\n try {\r\n target = _setDynamicProperty(theState, target, name, value);\r\n }\r\n catch (e) {\r\n // Unable to convert to dynamic property so just leave as non-dynamic\r\n _throwDynamicError(logger, name, \"Setting value\", e);\r\n }\r\n return target[name];\r\n }\r\n function _watch(configHandler) {\r\n return _createAndUseHandler(theState, configHandler);\r\n }\r\n function _block(configHandler, allowUpdate) {\r\n theState.use(null, function (details) {\r\n var prevUpd = theState.upd;\r\n try {\r\n if (!isUndefined(allowUpdate)) {\r\n theState.upd = allowUpdate;\r\n }\r\n configHandler(details);\r\n }\r\n finally {\r\n theState.upd = prevUpd;\r\n }\r\n });\r\n }\r\n function _ref(target, name) {\r\n var _a;\r\n // Make sure it's dynamic and mark as referenced with it's current value\r\n return _setDynamicPropertyState(theState, target, name, (_a = {}, _a[0 /* _eSetDynamicPropertyFlags.inPlace */] = true, _a))[name];\r\n }\r\n function _rdOnly(target, name) {\r\n var _a;\r\n // Make sure it's dynamic and mark as readonly with it's current value\r\n return _setDynamicPropertyState(theState, target, name, (_a = {}, _a[1 /* _eSetDynamicPropertyFlags.readOnly */] = true, _a))[name];\r\n }\r\n function _blkPropValue(target, name) {\r\n var _a;\r\n // Make sure it's dynamic and mark as readonly with it's current value\r\n return _setDynamicPropertyState(theState, target, name, (_a = {}, _a[2 /* _eSetDynamicPropertyFlags.blockDynamicProperty */] = true, _a))[name];\r\n }\r\n function _applyDefaults(theConfig, defaultValues) {\r\n if (defaultValues) {\r\n // Resolve/apply the defaults\r\n objForEachKey(defaultValues, function (name, value) {\r\n // Sets the value and makes it dynamic (if it doesn't already exist)\r\n _applyDefaultValue(cfgHandler, theConfig, name, value);\r\n });\r\n }\r\n return theConfig;\r\n }\r\n var cfgHandler = {\r\n uid: null,\r\n cfg: newTarget,\r\n logger: logger,\r\n notify: _notifyWatchers,\r\n set: _setValue,\r\n setDf: _applyDefaults,\r\n watch: _watch,\r\n ref: _ref,\r\n rdOnly: _rdOnly,\r\n blkVal: _blkPropValue,\r\n _block: _block\r\n };\r\n objDefine(cfgHandler, \"uid\", {\r\n c: false,\r\n e: false,\r\n w: false,\r\n v: uid\r\n });\r\n theState = _createState(cfgHandler);\r\n // Setup tracking for all defined default keys\r\n _makeDynamicObject(theState, newTarget, \"config\", \"Creating\");\r\n return cfgHandler;\r\n}\r\n/**\r\n * Log an invalid access message to the console\r\n */\r\nfunction _logInvalidAccess(logger, message) {\r\n if (logger) {\r\n logger[_DYN_WARN_TO_CONSOLE /* @min:%2ewarnToConsole */](message);\r\n logger[_DYN_THROW_INTERNAL /* @min:%2ethrowInternal */](2 /* eLoggingSeverity.WARNING */, 108 /* _eInternalMessageId.DynamicConfigException */, message);\r\n }\r\n else {\r\n // We don't have a logger so just throw an exception\r\n throwInvalidAccess(message);\r\n }\r\n}\r\n/**\r\n * Create or return a dynamic version of the passed config, if it is not already dynamic\r\n * @param config - The config to be converted into a dynamic config\r\n * @param defaultConfig - The default values to apply on the config if the properties don't already exist\r\n * @param inPlace - Should the config be converted in-place into a dynamic config or a new instance returned, defaults to true\r\n * @returns The dynamic config handler for the config (whether new or existing)\r\n */\r\nexport function createDynamicConfig(config, defaultConfig, logger, inPlace) {\r\n var dynamicHandler = _createDynamicHandler(logger, config || {}, inPlace);\r\n if (defaultConfig) {\r\n dynamicHandler.setDf(dynamicHandler.cfg, defaultConfig);\r\n }\r\n return dynamicHandler;\r\n}\r\n/**\r\n * Watch and track changes for accesses to the current config, the provided config MUST already be\r\n * a dynamic config or a child accessed via the dynamic config\r\n * @param logger - The logger instance to use if there is no existing handler\r\n * @returns A watcher handler instance that can be used to remove itself when being unloaded\r\n * @throws TypeError if the provided config is not a dynamic config instance\r\n */\r\nexport function onConfigChange(config, configHandler, logger) {\r\n var handler = config[CFG_HANDLER_LINK] || config;\r\n if (handler.cfg && (handler.cfg === config || handler.cfg[CFG_HANDLER_LINK] === handler)) {\r\n return handler[_DYN_WATCH /* @min:%2ewatch */](configHandler);\r\n }\r\n _logInvalidAccess(logger, STR_NOT_DYNAMIC_ERROR + dumpObj(config));\r\n return createDynamicConfig(config, null, logger)[_DYN_WATCH /* @min:%2ewatch */](configHandler);\r\n}\r\n//# sourceMappingURL=DynamicConfig.js.map","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT License.\r\nimport { getInst } from \"@nevware21/ts-utils\";\r\nimport { _DYN_APPLY, _DYN_LENGTH } from \"../__DynamicConstants\";\r\nimport { STR_EVENTS_DISCARDED, STR_EVENTS_SEND_REQUEST, STR_EVENTS_SENT, STR_PERF_EVENT } from \"./InternalConstants\";\r\nvar listenerFuncs = [STR_EVENTS_SENT, STR_EVENTS_DISCARDED, STR_EVENTS_SEND_REQUEST, STR_PERF_EVENT];\r\nvar _aiNamespace = null;\r\nvar _debugListener;\r\nfunction _listenerProxyFunc(name, config) {\r\n return function () {\r\n var args = arguments;\r\n var dbgExt = getDebugExt(config);\r\n if (dbgExt) {\r\n var listener = dbgExt.listener;\r\n if (listener && listener[name]) {\r\n listener[name][_DYN_APPLY /* @min:%2eapply */](listener, args);\r\n }\r\n }\r\n };\r\n}\r\nfunction _getExtensionNamespace() {\r\n // Cache the lookup of the global namespace object\r\n var target = getInst(\"Microsoft\");\r\n if (target) {\r\n _aiNamespace = target[\"ApplicationInsights\"];\r\n }\r\n return _aiNamespace;\r\n}\r\nexport function getDebugExt(config) {\r\n var ns = _aiNamespace;\r\n if (!ns && config.disableDbgExt !== true) {\r\n ns = _aiNamespace || _getExtensionNamespace();\r\n }\r\n return ns ? ns[\"ChromeDbgExt\"] : null;\r\n}\r\nexport function getDebugListener(config) {\r\n if (!_debugListener) {\r\n _debugListener = {};\r\n for (var lp = 0; lp < listenerFuncs[_DYN_LENGTH /* @min:%2elength */]; lp++) {\r\n _debugListener[listenerFuncs[lp]] = _listenerProxyFunc(listenerFuncs[lp], config);\r\n }\r\n }\r\n return _debugListener;\r\n}\r\n//# sourceMappingURL=DbgExtensionUtils.js.map","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT License.\r\n\"use strict\";\r\nvar _a;\r\nimport dynamicProto from \"@microsoft/dynamicproto-js\";\r\nimport { dumpObj, isFunction, isUndefined } from \"@nevware21/ts-utils\";\r\nimport { createDynamicConfig, onConfigChange } from \"../Config/DynamicConfig\";\r\nimport { _DYN_DIAG_LOG, _DYN_LOGGER, _DYN_LOGGING_LEVEL_CONSOL4, _DYN_MESSAGE, _DYN_MESSAGE_ID, _DYN_PUSH, _DYN_REPLACE, _DYN_THROW_INTERNAL, _DYN_UNLOAD, _DYN_WARN_TO_CONSOLE } from \"../__DynamicConstants\";\r\nimport { getDebugExt } from \"./DbgExtensionUtils\";\r\nimport { getConsole, getJSON, hasJSON } from \"./EnvUtils\";\r\nimport { STR_EMPTY } from \"./InternalConstants\";\r\nvar STR_WARN_TO_CONSOLE = \"warnToConsole\";\r\n/**\r\n * For user non actionable traces use AI Internal prefix.\r\n */\r\nvar AiNonUserActionablePrefix = \"AI (Internal): \";\r\n/**\r\n * Prefix of the traces in portal.\r\n */\r\nvar AiUserActionablePrefix = \"AI: \";\r\n/**\r\n * Session storage key for the prefix for the key indicating message type already logged\r\n */\r\nvar AIInternalMessagePrefix = \"AITR_\";\r\nvar defaultValues = {\r\n loggingLevelConsole: 0,\r\n loggingLevelTelemetry: 1,\r\n maxMessageLimit: 25,\r\n enableDebug: false\r\n};\r\nvar _logFuncs = (_a = {},\r\n _a[0 /* eLoggingSeverity.DISABLED */] = null,\r\n _a[1 /* eLoggingSeverity.CRITICAL */] = \"errorToConsole\",\r\n _a[2 /* eLoggingSeverity.WARNING */] = STR_WARN_TO_CONSOLE,\r\n _a[3 /* eLoggingSeverity.DEBUG */] = \"debugToConsole\",\r\n _a);\r\nfunction _sanitizeDiagnosticText(text) {\r\n if (text) {\r\n return \"\\\"\" + text[_DYN_REPLACE /* @min:%2ereplace */](/\\\"/g, STR_EMPTY) + \"\\\"\";\r\n }\r\n return STR_EMPTY;\r\n}\r\nfunction _logToConsole(func, message) {\r\n var theConsole = getConsole();\r\n if (!!theConsole) {\r\n var logFunc = \"log\";\r\n if (theConsole[func]) {\r\n logFunc = func;\r\n }\r\n if (isFunction(theConsole[logFunc])) {\r\n theConsole[logFunc](message);\r\n }\r\n }\r\n}\r\nvar _InternalLogMessage = /** @class */ (function () {\r\n function _InternalLogMessage(msgId, msg, isUserAct, properties) {\r\n if (isUserAct === void 0) { isUserAct = false; }\r\n var _self = this;\r\n _self[_DYN_MESSAGE_ID /* @min:%2emessageId */] = msgId;\r\n _self[_DYN_MESSAGE /* @min:%2emessage */] =\r\n (isUserAct ? AiUserActionablePrefix : AiNonUserActionablePrefix) +\r\n msgId;\r\n var strProps = STR_EMPTY;\r\n if (hasJSON()) {\r\n strProps = getJSON().stringify(properties);\r\n }\r\n var diagnosticText = (msg ? \" message:\" + _sanitizeDiagnosticText(msg) : STR_EMPTY) +\r\n (properties ? \" props:\" + _sanitizeDiagnosticText(strProps) : STR_EMPTY);\r\n _self[_DYN_MESSAGE /* @min:%2emessage */] += diagnosticText;\r\n }\r\n _InternalLogMessage.dataType = \"MessageData\";\r\n return _InternalLogMessage;\r\n}());\r\nexport { _InternalLogMessage };\r\nexport function safeGetLogger(core, config) {\r\n return (core || {})[_DYN_LOGGER /* @min:%2elogger */] || new DiagnosticLogger(config);\r\n}\r\nvar DiagnosticLogger = /** @class */ (function () {\r\n function DiagnosticLogger(config) {\r\n this.identifier = \"DiagnosticLogger\";\r\n /**\r\n * The internal logging queue\r\n */\r\n this.queue = [];\r\n /**\r\n * Count of internal messages sent\r\n */\r\n var _messageCount = 0;\r\n /**\r\n * Holds information about what message types were already logged to console or sent to server.\r\n */\r\n var _messageLogged = {};\r\n var _loggingLevelConsole;\r\n var _loggingLevelTelemetry;\r\n var _maxInternalMessageLimit;\r\n var _enableDebug;\r\n var _unloadHandler;\r\n dynamicProto(DiagnosticLogger, this, function (_self) {\r\n _unloadHandler = _setDefaultsFromConfig(config || {});\r\n _self.consoleLoggingLevel = function () { return _loggingLevelConsole; };\r\n /**\r\n * This method will throw exceptions in debug mode or attempt to log the error as a console warning.\r\n * @param severity - The severity of the log message\r\n * @param message - The log message.\r\n */\r\n _self[_DYN_THROW_INTERNAL /* @min:%2ethrowInternal */] = function (severity, msgId, msg, properties, isUserAct) {\r\n if (isUserAct === void 0) { isUserAct = false; }\r\n var message = new _InternalLogMessage(msgId, msg, isUserAct, properties);\r\n if (_enableDebug) {\r\n throw dumpObj(message);\r\n }\r\n else {\r\n // Get the logging function and fallback to warnToConsole of for some reason errorToConsole doesn't exist\r\n var logFunc = _logFuncs[severity] || STR_WARN_TO_CONSOLE;\r\n if (!isUndefined(message[_DYN_MESSAGE /* @min:%2emessage */])) {\r\n if (isUserAct) {\r\n // check if this message type was already logged to console for this page view and if so, don't log it again\r\n var messageKey = +message[_DYN_MESSAGE_ID /* @min:%2emessageId */];\r\n if (!_messageLogged[messageKey] && _loggingLevelConsole >= severity) {\r\n _self[logFunc](message[_DYN_MESSAGE /* @min:%2emessage */]);\r\n _messageLogged[messageKey] = true;\r\n }\r\n }\r\n else {\r\n // Only log traces if the console Logging Level is >= the throwInternal severity level\r\n if (_loggingLevelConsole >= severity) {\r\n _self[logFunc](message[_DYN_MESSAGE /* @min:%2emessage */]);\r\n }\r\n }\r\n _logInternalMessage(severity, message);\r\n }\r\n else {\r\n _debugExtMsg(\"throw\" + (severity === 1 /* eLoggingSeverity.CRITICAL */ ? \"Critical\" : \"Warning\"), message);\r\n }\r\n }\r\n };\r\n _self.debugToConsole = function (message) {\r\n _logToConsole(\"debug\", message);\r\n _debugExtMsg(\"warning\", message);\r\n };\r\n _self[_DYN_WARN_TO_CONSOLE /* @min:%2ewarnToConsole */] = function (message) {\r\n _logToConsole(\"warn\", message);\r\n _debugExtMsg(\"warning\", message);\r\n };\r\n _self.errorToConsole = function (message) {\r\n _logToConsole(\"error\", message);\r\n _debugExtMsg(\"error\", message);\r\n };\r\n _self.resetInternalMessageCount = function () {\r\n _messageCount = 0;\r\n _messageLogged = {};\r\n };\r\n _self.logInternalMessage = _logInternalMessage;\r\n _self[_DYN_UNLOAD /* @min:%2eunload */] = function (isAsync) {\r\n _unloadHandler && _unloadHandler.rm();\r\n _unloadHandler = null;\r\n };\r\n function _logInternalMessage(severity, message) {\r\n if (_areInternalMessagesThrottled()) {\r\n return;\r\n }\r\n // check if this message type was already logged for this session and if so, don't log it again\r\n var logMessage = true;\r\n var messageKey = AIInternalMessagePrefix + message[_DYN_MESSAGE_ID /* @min:%2emessageId */];\r\n // if the session storage is not available, limit to only one message type per page view\r\n if (_messageLogged[messageKey]) {\r\n logMessage = false;\r\n }\r\n else {\r\n _messageLogged[messageKey] = true;\r\n }\r\n if (logMessage) {\r\n // Push the event in the internal queue\r\n if (severity <= _loggingLevelTelemetry) {\r\n _self.queue[_DYN_PUSH /* @min:%2epush */](message);\r\n _messageCount++;\r\n _debugExtMsg((severity === 1 /* eLoggingSeverity.CRITICAL */ ? \"error\" : \"warn\"), message);\r\n }\r\n // When throttle limit reached, send a special event\r\n if (_messageCount === _maxInternalMessageLimit) {\r\n var throttleLimitMessage = \"Internal events throttle limit per PageView reached for this app.\";\r\n var throttleMessage = new _InternalLogMessage(23 /* _eInternalMessageId.MessageLimitPerPVExceeded */, throttleLimitMessage, false);\r\n _self.queue[_DYN_PUSH /* @min:%2epush */](throttleMessage);\r\n if (severity === 1 /* eLoggingSeverity.CRITICAL */) {\r\n _self.errorToConsole(throttleLimitMessage);\r\n }\r\n else {\r\n _self[_DYN_WARN_TO_CONSOLE /* @min:%2ewarnToConsole */](throttleLimitMessage);\r\n }\r\n }\r\n }\r\n }\r\n function _setDefaultsFromConfig(config) {\r\n // make sure the config is dynamic\r\n return onConfigChange(createDynamicConfig(config, defaultValues, _self).cfg, function (details) {\r\n var config = details.cfg;\r\n _loggingLevelConsole = config[_DYN_LOGGING_LEVEL_CONSOL4 /* @min:%2eloggingLevelConsole */];\r\n _loggingLevelTelemetry = config.loggingLevelTelemetry;\r\n _maxInternalMessageLimit = config.maxMessageLimit;\r\n _enableDebug = config.enableDebug;\r\n });\r\n }\r\n function _areInternalMessagesThrottled() {\r\n return _messageCount >= _maxInternalMessageLimit;\r\n }\r\n function _debugExtMsg(name, data) {\r\n var dbgExt = getDebugExt(config || {});\r\n if (dbgExt && dbgExt[_DYN_DIAG_LOG /* @min:%2ediagLog */]) {\r\n dbgExt[_DYN_DIAG_LOG /* @min:%2ediagLog */](name, data);\r\n }\r\n }\r\n });\r\n }\r\n /**\r\n * 0: OFF (default)\r\n * 1: CRITICAL\r\n * 2: \\>= WARNING\r\n */\r\n DiagnosticLogger.prototype.consoleLoggingLevel = function () {\r\n // @DynamicProtoStub -- DO NOT add any code as this will be removed during packaging\r\n return 0;\r\n };\r\n /**\r\n * This method will throw exceptions in debug mode or attempt to log the error as a console warning.\r\n * @param severity - The severity of the log message\r\n * @param message - The log message.\r\n */\r\n DiagnosticLogger.prototype.throwInternal = function (severity, msgId, msg, properties, isUserAct) {\r\n if (isUserAct === void 0) { isUserAct = false; }\r\n // @DynamicProtoStub -- DO NOT add any code as this will be removed during packaging\r\n };\r\n /**\r\n * This will write a debug message to the console if possible\r\n * @param message - The debug message\r\n */\r\n DiagnosticLogger.prototype.debugToConsole = function (message) {\r\n // @DynamicProtoStub -- DO NOT add any code as this will be removed during packaging\r\n };\r\n /**\r\n * This will write a warning to the console if possible\r\n * @param message - The warning message\r\n */\r\n DiagnosticLogger.prototype.warnToConsole = function (message) {\r\n // @DynamicProtoStub -- DO NOT add any code as this will be removed during packaging\r\n };\r\n /**\r\n * This will write an error to the console if possible\r\n * @param message - The warning message\r\n */\r\n DiagnosticLogger.prototype.errorToConsole = function (message) {\r\n // @DynamicProtoStub -- DO NOT add any code as this will be removed during packaging\r\n };\r\n /**\r\n * Resets the internal message count\r\n */\r\n DiagnosticLogger.prototype.resetInternalMessageCount = function () {\r\n // @DynamicProtoStub -- DO NOT add any code as this will be removed during packaging\r\n };\r\n /**\r\n * Logs a message to the internal queue.\r\n * @param severity - The severity of the log message\r\n * @param message - The message to log.\r\n */\r\n DiagnosticLogger.prototype.logInternalMessage = function (severity, message) {\r\n // @DynamicProtoStub -- DO NOT add any code as this will be removed during packaging\r\n };\r\n /**\r\n * Unload and remove any state that this IDiagnosticLogger may be holding, this is generally called when the\r\n * owning SDK is being unloaded.\r\n * @param isAsync - Can the unload be performed asynchronously (default)\r\n * @returns If the unload occurs synchronously then nothing should be returned, if happening asynchronously then\r\n * the function should return an [IPromise](https://nevware21.github.io/ts-async/typedoc/interfaces/IPromise.html)\r\n * / Promise to allow any listeners to wait for the operation to complete.\r\n */\r\n DiagnosticLogger.prototype.unload = function (isAsync) {\r\n // @DynamicProtoStub -- DO NOT add any code as this will be removed during packaging\r\n };\r\n return DiagnosticLogger;\r\n}());\r\nexport { DiagnosticLogger };\r\nfunction _getLogger(logger) {\r\n return (logger || new DiagnosticLogger());\r\n}\r\n/**\r\n * This is a helper method which will call throwInternal on the passed logger, will throw exceptions in\r\n * debug mode or attempt to log the error as a console warning. This helper is provided mostly to better\r\n * support minification as logger.throwInternal() will not compress the publish \"throwInternal\" used throughout\r\n * the code.\r\n * @param logger - The Diagnostic Logger instance to use.\r\n * @param severity - The severity of the log message\r\n * @param message - The log message.\r\n */\r\nexport function _throwInternal(logger, severity, msgId, msg, properties, isUserAct) {\r\n if (isUserAct === void 0) { isUserAct = false; }\r\n _getLogger(logger)[_DYN_THROW_INTERNAL /* @min:%2ethrowInternal */](severity, msgId, msg, properties, isUserAct);\r\n}\r\n/**\r\n * This is a helper method which will call warnToConsole on the passed logger with the provided message.\r\n * @param logger - The Diagnostic Logger instance to use.\r\n * @param message - The log message.\r\n */\r\nexport function _warnToConsole(logger, message) {\r\n _getLogger(logger)[_DYN_WARN_TO_CONSOLE /* @min:%2ewarnToConsole */](message);\r\n}\r\n/**\r\n * Logs a message to the internal queue.\r\n * @param logger - The Diagnostic Logger instance to use.\r\n * @param severity - The severity of the log message\r\n * @param message - The message to log.\r\n */\r\nexport function _logInternalMessage(logger, severity, message) {\r\n _getLogger(logger).logInternalMessage(severity, message);\r\n}\r\n//# sourceMappingURL=DiagnosticLogger.js.map","var _a, _b;\r\nimport { arrForEach, arrIndexOf, dumpObj, getDocument, getLazy, getNavigator, isArray, isFunction, isNullOrUndefined, isString, isTruthy, isUndefined, objForEachKey, strEndsWith, strIndexOf, strLeft, strSubstring, strTrim, utcNow } from \"@nevware21/ts-utils\";\r\nimport { cfgDfMerge } from \"../Config/ConfigDefaultHelpers\";\r\nimport { createDynamicConfig, onConfigChange } from \"../Config/DynamicConfig\";\r\nimport { _DYN_ENABLED, _DYN_LENGTH, _DYN_LOGGER, _DYN_SPLIT, _DYN_USER_AGENT } from \"../__DynamicConstants\";\r\nimport { _throwInternal } from \"./DiagnosticLogger\";\r\nimport { getLocation, isIE } from \"./EnvUtils\";\r\nimport { getExceptionName, isNotNullOrUndefined, setValue, strContains } from \"./HelperFuncs\";\r\nimport { STR_DOMAIN, STR_EMPTY, STR_PATH, UNDEFINED_VALUE } from \"./InternalConstants\";\r\nvar strToGMTString = \"toGMTString\";\r\nvar strToUTCString = \"toUTCString\";\r\nvar strCookie = \"cookie\";\r\nvar strExpires = \"expires\";\r\nvar strIsCookieUseDisabled = \"isCookieUseDisabled\";\r\nvar strDisableCookiesUsage = \"disableCookiesUsage\";\r\nvar strConfigCookieMgr = \"_ckMgr\";\r\nvar _supportsCookies = null;\r\nvar _allowUaSameSite = null;\r\nvar _parsedCookieValue = null;\r\nvar _doc;\r\nvar _cookieCache = {};\r\nvar _globalCookieConfig = {};\r\n// // `isCookieUseDisabled` is deprecated, so explicitly casting as a key of IConfiguration to avoid typing error\r\n// // when both isCookieUseDisabled and disableCookiesUsage are used disableCookiesUsage will take precedent, which is\r\n// // why its listed first\r\n/**\r\n * Set the supported dynamic config values as undefined (or an empty object) so that\r\n * any listeners will be informed of any changes.\r\n * Explicitly NOT including the deprecated `isCookieUseDisabled` as we don't want to support\r\n * the v1 deprecated field as dynamic for updates\r\n */\r\nvar rootDefaultConfig = (_a = {\r\n cookieCfg: cfgDfMerge((_b = {},\r\n _b[STR_DOMAIN] = { fb: \"cookieDomain\", dfVal: isNotNullOrUndefined },\r\n _b.path = { fb: \"cookiePath\", dfVal: isNotNullOrUndefined },\r\n _b.enabled = UNDEFINED_VALUE,\r\n _b.ignoreCookies = UNDEFINED_VALUE,\r\n _b.blockedCookies = UNDEFINED_VALUE,\r\n _b)),\r\n cookieDomain: UNDEFINED_VALUE,\r\n cookiePath: UNDEFINED_VALUE\r\n },\r\n _a[strDisableCookiesUsage] = UNDEFINED_VALUE,\r\n _a);\r\nfunction _getDoc() {\r\n !_doc && (_doc = getLazy(function () { return getDocument(); }));\r\n}\r\n/**\r\n * @ignore\r\n * DO NOT USE or export from the module, this is exposed as public to support backward compatibility of previous static utility methods only.\r\n * If you want to manager cookies either use the ICookieMgr available from the core instance via getCookieMgr() or create\r\n * your own instance of the CookieMgr and use that.\r\n * Using this directly for enabling / disabling cookie handling will not only affect your usage but EVERY user of cookies.\r\n * Example, if you are using a shared component that is also using Application Insights you will affect their cookie handling.\r\n * @param logger - The DiagnosticLogger to use for reporting errors.\r\n */\r\nfunction _gblCookieMgr(config, logger) {\r\n // Stash the global instance against the BaseCookieMgr class\r\n var inst = createCookieMgr[strConfigCookieMgr] || _globalCookieConfig[strConfigCookieMgr];\r\n if (!inst) {\r\n // Note: not using the getSetValue() helper as that would require always creating a temporary cookieMgr\r\n // that ultimately is never used\r\n inst = createCookieMgr[strConfigCookieMgr] = createCookieMgr(config, logger);\r\n _globalCookieConfig[strConfigCookieMgr] = inst;\r\n }\r\n return inst;\r\n}\r\nfunction _isMgrEnabled(cookieMgr) {\r\n if (cookieMgr) {\r\n return cookieMgr.isEnabled();\r\n }\r\n return true;\r\n}\r\nfunction _isIgnoredCookie(cookieMgrCfg, name) {\r\n if (name && cookieMgrCfg && isArray(cookieMgrCfg.ignoreCookies)) {\r\n return arrIndexOf(cookieMgrCfg.ignoreCookies, name) !== -1;\r\n }\r\n return false;\r\n}\r\nfunction _isBlockedCookie(cookieMgrCfg, name) {\r\n if (name && cookieMgrCfg && isArray(cookieMgrCfg.blockedCookies)) {\r\n if (arrIndexOf(cookieMgrCfg.blockedCookies, name) !== -1) {\r\n return true;\r\n }\r\n }\r\n return _isIgnoredCookie(cookieMgrCfg, name);\r\n}\r\nfunction _isCfgEnabled(rootConfig, cookieMgrConfig) {\r\n var isCfgEnabled = cookieMgrConfig[_DYN_ENABLED /* @min:%2eenabled */];\r\n if (isNullOrUndefined(isCfgEnabled)) {\r\n // Set the enabled from the provided setting or the legacy root values\r\n var cookieEnabled = void 0;\r\n // This field is deprecated and dynamic updates will not be fully supported\r\n if (!isUndefined(rootConfig[strIsCookieUseDisabled])) {\r\n cookieEnabled = !rootConfig[strIsCookieUseDisabled];\r\n }\r\n // If this value is defined it takes precedent over the above\r\n if (!isUndefined(rootConfig[strDisableCookiesUsage])) {\r\n cookieEnabled = !rootConfig[strDisableCookiesUsage];\r\n }\r\n // Not setting the cookieMgrConfig.enabled as that will update (set) the global dynamic config\r\n // So future \"updates\" then may not be as expected\r\n isCfgEnabled = cookieEnabled;\r\n }\r\n return isCfgEnabled;\r\n}\r\n/**\r\n * Helper to return the ICookieMgr from the core (if not null/undefined) or a default implementation\r\n * associated with the configuration or a legacy default.\r\n * @param core - The AppInsightsCore instance to get the cookie manager from\r\n * @param config - The config to use if the core is not available\r\n * @returns\r\n */\r\nexport function safeGetCookieMgr(core, config) {\r\n var cookieMgr;\r\n if (core) {\r\n // Always returns an instance\r\n cookieMgr = core.getCookieMgr();\r\n }\r\n else if (config) {\r\n var cookieCfg = config.cookieCfg;\r\n if (cookieCfg && cookieCfg[strConfigCookieMgr]) {\r\n cookieMgr = cookieCfg[strConfigCookieMgr];\r\n }\r\n else {\r\n cookieMgr = createCookieMgr(config);\r\n }\r\n }\r\n if (!cookieMgr) {\r\n // Get or initialize the default global (legacy) cookie manager if we couldn't find one\r\n cookieMgr = _gblCookieMgr(config, (core || {})[_DYN_LOGGER /* @min:%2elogger */]);\r\n }\r\n return cookieMgr;\r\n}\r\nexport function createCookieMgr(rootConfig, logger) {\r\n var cookieMgrConfig;\r\n var _path;\r\n var _domain;\r\n var unloadHandler;\r\n // Explicitly checking against false, so that setting to undefined will === true\r\n var _enabled;\r\n var _getCookieFn;\r\n var _setCookieFn;\r\n var _delCookieFn;\r\n // Make sure the root config is dynamic as it may be the global config\r\n rootConfig = createDynamicConfig(rootConfig || _globalCookieConfig, null, logger).cfg;\r\n // Will get recalled if the referenced configuration is changed\r\n unloadHandler = onConfigChange(rootConfig, function (details) {\r\n // Make sure the root config has all of the the defaults to the root config to ensure they are dynamic\r\n details.setDf(details.cfg, rootDefaultConfig);\r\n // Create and apply the defaults to the cookieCfg element\r\n cookieMgrConfig = details.ref(details.cfg, \"cookieCfg\"); // details.setDf(details.cfg.cookieCfg, defaultConfig);\r\n _path = cookieMgrConfig[STR_PATH /* @min:%2epath */] || \"/\";\r\n _domain = cookieMgrConfig[STR_DOMAIN /* @min:%2edomain */];\r\n // Explicitly checking against false, so that setting to undefined will === true\r\n _enabled = _isCfgEnabled(rootConfig, cookieMgrConfig) !== false;\r\n _getCookieFn = cookieMgrConfig.getCookie || _getCookieValue;\r\n _setCookieFn = cookieMgrConfig.setCookie || _setCookieValue;\r\n _delCookieFn = cookieMgrConfig.delCookie || _setCookieValue;\r\n }, logger);\r\n var cookieMgr = {\r\n isEnabled: function () {\r\n var enabled = _isCfgEnabled(rootConfig, cookieMgrConfig) !== false && _enabled && areCookiesSupported(logger);\r\n // Using an indirect lookup for any global cookie manager to support tree shaking for SDK's\r\n // that don't use the \"applicationinsights-core\" version of the default cookie function\r\n var gblManager = _globalCookieConfig[strConfigCookieMgr];\r\n if (enabled && gblManager && cookieMgr !== gblManager) {\r\n // Make sure the GlobalCookie Manager instance (if not this instance) is also enabled.\r\n // As the global (deprecated) functions may have been called (for backward compatibility)\r\n enabled = _isMgrEnabled(gblManager);\r\n }\r\n return enabled;\r\n },\r\n setEnabled: function (value) {\r\n // Explicitly checking against false, so that setting to undefined will === true\r\n _enabled = value !== false;\r\n cookieMgrConfig[_DYN_ENABLED /* @min:%2eenabled */] = value;\r\n },\r\n set: function (name, value, maxAgeSec, domain, path) {\r\n var result = false;\r\n if (_isMgrEnabled(cookieMgr) && !_isBlockedCookie(cookieMgrConfig, name)) {\r\n var values = {};\r\n var theValue = strTrim(value || STR_EMPTY);\r\n var idx = strIndexOf(theValue, \";\");\r\n if (idx !== -1) {\r\n theValue = strTrim(strLeft(value, idx));\r\n values = _extractParts(strSubstring(value, idx + 1));\r\n }\r\n // Only update domain if not already present (isUndefined) and the value is truthy (not null, undefined or empty string)\r\n setValue(values, STR_DOMAIN, domain || _domain, isTruthy, isUndefined);\r\n if (!isNullOrUndefined(maxAgeSec)) {\r\n var _isIE = isIE();\r\n if (isUndefined(values[strExpires])) {\r\n var nowMs = utcNow();\r\n // Only add expires if not already present\r\n var expireMs = nowMs + (maxAgeSec * 1000);\r\n // Sanity check, if zero or -ve then ignore\r\n if (expireMs > 0) {\r\n var expiry = new Date();\r\n expiry.setTime(expireMs);\r\n setValue(values, strExpires, _formatDate(expiry, !_isIE ? strToUTCString : strToGMTString) || _formatDate(expiry, _isIE ? strToGMTString : strToUTCString) || STR_EMPTY, isTruthy);\r\n }\r\n }\r\n if (!_isIE) {\r\n // Only replace if not already present\r\n setValue(values, \"max-age\", STR_EMPTY + maxAgeSec, null, isUndefined);\r\n }\r\n }\r\n var location_1 = getLocation();\r\n if (location_1 && location_1.protocol === \"https:\") {\r\n setValue(values, \"secure\", null, null, isUndefined);\r\n // Only set same site if not also secure\r\n if (_allowUaSameSite === null) {\r\n _allowUaSameSite = !uaDisallowsSameSiteNone((getNavigator() || {})[_DYN_USER_AGENT /* @min:%2euserAgent */]);\r\n }\r\n if (_allowUaSameSite) {\r\n setValue(values, \"SameSite\", \"None\", null, isUndefined);\r\n }\r\n }\r\n setValue(values, STR_PATH, path || _path, null, isUndefined);\r\n //let setCookieFn = cookieMgrConfig.setCookie || _setCookieValue;\r\n _setCookieFn(name, _formatCookieValue(theValue, values));\r\n result = true;\r\n }\r\n return result;\r\n },\r\n get: function (name) {\r\n var value = STR_EMPTY;\r\n if (_isMgrEnabled(cookieMgr) && !_isIgnoredCookie(cookieMgrConfig, name)) {\r\n value = _getCookieFn(name);\r\n }\r\n return value;\r\n },\r\n del: function (name, path) {\r\n var result = false;\r\n if (_isMgrEnabled(cookieMgr)) {\r\n // Only remove the cookie if the manager and cookie support has not been disabled\r\n result = cookieMgr.purge(name, path);\r\n }\r\n return result;\r\n },\r\n purge: function (name, path) {\r\n var _a;\r\n var result = false;\r\n if (areCookiesSupported(logger)) {\r\n // Setting the expiration date in the past immediately removes the cookie\r\n var values = (_a = {},\r\n _a[STR_PATH] = path ? path : \"/\",\r\n _a[strExpires] = \"Thu, 01 Jan 1970 00:00:01 GMT\",\r\n _a);\r\n if (!isIE()) {\r\n // Set max age to expire now\r\n values[\"max-age\"] = \"0\";\r\n }\r\n // let delCookie = cookieMgrConfig.delCookie || _setCookieValue;\r\n _delCookieFn(name, _formatCookieValue(STR_EMPTY, values));\r\n result = true;\r\n }\r\n return result;\r\n },\r\n unload: function (isAsync) {\r\n unloadHandler && unloadHandler.rm();\r\n unloadHandler = null;\r\n }\r\n };\r\n // Associated this cookie manager with the config\r\n cookieMgr[strConfigCookieMgr] = cookieMgr;\r\n return cookieMgr;\r\n}\r\n/*\r\n* Helper method to tell if document.cookie object is supported by the runtime\r\n*/\r\nexport function areCookiesSupported(logger) {\r\n if (_supportsCookies === null) {\r\n _supportsCookies = false;\r\n !_doc && _getDoc();\r\n try {\r\n var doc = _doc.v || {};\r\n _supportsCookies = doc[strCookie] !== undefined;\r\n }\r\n catch (e) {\r\n _throwInternal(logger, 2 /* eLoggingSeverity.WARNING */, 68 /* _eInternalMessageId.CannotAccessCookie */, \"Cannot access document.cookie - \" + getExceptionName(e), { exception: dumpObj(e) });\r\n }\r\n }\r\n return _supportsCookies;\r\n}\r\nfunction _extractParts(theValue) {\r\n var values = {};\r\n if (theValue && theValue[_DYN_LENGTH /* @min:%2elength */]) {\r\n var parts = strTrim(theValue)[_DYN_SPLIT /* @min:%2esplit */](\";\");\r\n arrForEach(parts, function (thePart) {\r\n thePart = strTrim(thePart || STR_EMPTY);\r\n if (thePart) {\r\n var idx = strIndexOf(thePart, \"=\");\r\n if (idx === -1) {\r\n values[thePart] = null;\r\n }\r\n else {\r\n values[strTrim(strLeft(thePart, idx))] = strTrim(strSubstring(thePart, idx + 1));\r\n }\r\n }\r\n });\r\n }\r\n return values;\r\n}\r\nfunction _formatDate(theDate, func) {\r\n if (isFunction(theDate[func])) {\r\n return theDate[func]();\r\n }\r\n return null;\r\n}\r\nfunction _formatCookieValue(value, values) {\r\n var cookieValue = value || STR_EMPTY;\r\n objForEachKey(values, function (name, theValue) {\r\n cookieValue += \"; \" + name + (!isNullOrUndefined(theValue) ? \"=\" + theValue : STR_EMPTY);\r\n });\r\n return cookieValue;\r\n}\r\nfunction _getCookieValue(name) {\r\n var cookieValue = STR_EMPTY;\r\n !_doc && _getDoc();\r\n if (_doc.v) {\r\n var theCookie = _doc.v[strCookie] || STR_EMPTY;\r\n if (_parsedCookieValue !== theCookie) {\r\n _cookieCache = _extractParts(theCookie);\r\n _parsedCookieValue = theCookie;\r\n }\r\n cookieValue = strTrim(_cookieCache[name] || STR_EMPTY);\r\n }\r\n return cookieValue;\r\n}\r\nfunction _setCookieValue(name, cookieValue) {\r\n !_doc && _getDoc();\r\n if (_doc.v) {\r\n _doc.v[strCookie] = name + \"=\" + cookieValue;\r\n }\r\n}\r\nexport function uaDisallowsSameSiteNone(userAgent) {\r\n if (!isString(userAgent)) {\r\n return false;\r\n }\r\n // Cover all iOS based browsers here. This includes:\r\n // - Safari on iOS 12 for iPhone, iPod Touch, iPad\r\n // - WkWebview on iOS 12 for iPhone, iPod Touch, iPad\r\n // - Chrome on iOS 12 for iPhone, iPod Touch, iPad\r\n // All of which are broken by SameSite=None, because they use the iOS networking stack\r\n if (strContains(userAgent, \"CPU iPhone OS 12\") || strContains(userAgent, \"iPad; CPU OS 12\")) {\r\n return true;\r\n }\r\n // Cover Mac OS X based browsers that use the Mac OS networking stack. This includes:\r\n // - Safari on Mac OS X\r\n // This does not include:\r\n // - Internal browser on Mac OS X\r\n // - Chrome on Mac OS X\r\n // - Chromium on Mac OS X\r\n // Because they do not use the Mac OS networking stack.\r\n if (strContains(userAgent, \"Macintosh; Intel Mac OS X 10_14\") && strContains(userAgent, \"Version/\") && strContains(userAgent, \"Safari\")) {\r\n return true;\r\n }\r\n // Cover Mac OS X internal browsers that use the Mac OS networking stack. This includes:\r\n // - Internal browser on Mac OS X\r\n // This does not include:\r\n // - Safari on Mac OS X\r\n // - Chrome on Mac OS X\r\n // - Chromium on Mac OS X\r\n // Because they do not use the Mac OS networking stack.\r\n if (strContains(userAgent, \"Macintosh; Intel Mac OS X 10_14\") && strEndsWith(userAgent, \"AppleWebKit/605.1.15 (KHTML, like Gecko)\")) {\r\n return true;\r\n }\r\n // Cover Chrome 50-69, because some versions are broken by SameSite=None, and none in this range require it.\r\n // Note: this covers some pre-Chromium Edge versions, but pre-Chromim Edge does not require SameSite=None, so this is fine.\r\n // Note: this regex applies to Windows, Mac OS X, and Linux, deliberately.\r\n if (strContains(userAgent, \"Chrome/5\") || strContains(userAgent, \"Chrome/6\")) {\r\n return true;\r\n }\r\n // Unreal Engine runs Chromium 59, but does not advertise as Chrome until 4.23. Treat versions of Unreal\r\n // that don't specify their Chrome version as lacking support for SameSite=None.\r\n if (strContains(userAgent, \"UnrealEngine\") && !strContains(userAgent, \"Chrome\")) {\r\n return true;\r\n }\r\n // UCBrowser < 12.13.2 ignores Set-Cookie headers with SameSite=None\r\n // NB: this rule isn't complete - you need regex to make a complete rule.\r\n // See: https://www.chromium.org/updates/same-site/incompatible-clients\r\n if (strContains(userAgent, \"UCBrowser/12\") || strContains(userAgent, \"UCBrowser/11\")) {\r\n return true;\r\n }\r\n return false;\r\n}\r\n//# sourceMappingURL=CookieMgr.js.map","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT License.\r\nimport { asString, isBoolean, isFunction, isNullOrUndefined, isString } from \"@nevware21/ts-utils\";\r\nimport { STR_EMPTY } from \"../JavaScriptSDK/InternalConstants\";\r\nimport { _DYN_TO_LOWER_CASE } from \"../__DynamicConstants\";\r\n/**\r\n * @internal\r\n * @ignore\r\n * @param str\r\n * @param defaultValue\r\n * @returns\r\n */\r\nfunction _stringToBoolOrDefault(theValue, defaultValue, theConfig) {\r\n if (!theValue && isNullOrUndefined(theValue)) {\r\n return defaultValue;\r\n }\r\n if (isBoolean(theValue)) {\r\n return theValue;\r\n }\r\n return asString(theValue)[_DYN_TO_LOWER_CASE /* @min:%2etoLowerCase */]() === \"true\";\r\n}\r\n/**\r\n * Helper which returns an IConfigDefaultCheck instance with the field defined as an object\r\n * that should be merged\r\n * @param defaultValue - The default value to apply it not provided or it's not valid\r\n * @returns a new IConfigDefaultCheck structure\r\n */\r\nexport function cfgDfMerge(defaultValue) {\r\n return {\r\n mrg: true,\r\n v: defaultValue\r\n };\r\n}\r\n/**\r\n * Helper which returns an IConfigDefaultCheck instance with the provided field set function\r\n * @param setter - The IConfigCheckFn function to validate the user provided value\r\n * @param defaultValue - The default value to apply it not provided or it's not valid\r\n * @returns a new IConfigDefaultCheck structure\r\n */\r\nexport function cfgDfSet(setter, defaultValue) {\r\n return {\r\n set: setter,\r\n v: defaultValue\r\n };\r\n}\r\n/**\r\n * Helper which returns an IConfigDefaultCheck instance with the provided field validator\r\n * @param validator - The IConfigCheckFn function to validate the user provided value\r\n * @param defaultValue - The default value to apply it not provided or it's not valid\r\n * @param fallBackName - The fallback configuration name if the current value is not available\r\n * @returns a new IConfigDefaultCheck structure\r\n */\r\nexport function cfgDfValidate(validator, defaultValue, fallBackName) {\r\n return {\r\n fb: fallBackName,\r\n isVal: validator,\r\n v: defaultValue\r\n };\r\n}\r\n/**\r\n * Helper which returns an IConfigDefaultCheck instance that will validate and convert the user\r\n * provided value to a boolean from a string or boolean value\r\n * @param defaultValue - The default value to apply it not provided or it's not valid\r\n * @param fallBackName - The fallback configuration name if the current value is not available\r\n * @returns a new IConfigDefaultCheck structure\r\n */\r\nexport function cfgDfBoolean(defaultValue, fallBackName) {\r\n return {\r\n fb: fallBackName,\r\n set: _stringToBoolOrDefault,\r\n v: !!defaultValue\r\n };\r\n}\r\n/**\r\n * Helper which returns an IConfigDefaultCheck instance that will validate that the user\r\n * provided value is a function.\r\n * @param defaultValue - The default value to apply it not provided or it's not valid\r\n * @returns a new IConfigDefaultCheck structure\r\n */\r\nexport function cfgDfFunc(defaultValue) {\r\n return {\r\n isVal: isFunction,\r\n v: defaultValue || null\r\n };\r\n}\r\n/**\r\n * Helper which returns an IConfigDefaultCheck instance that will validate that the user\r\n * provided value is a function.\r\n * @param defaultValue - The default string value to apply it not provided or it's not valid, defaults to an empty string\r\n * @returns a new IConfigDefaultCheck structure\r\n */\r\nexport function cfgDfString(defaultValue) {\r\n return {\r\n isVal: isString,\r\n v: asString(defaultValue || STR_EMPTY)\r\n };\r\n}\r\n/**\r\n * Helper which returns an IConfigDefaultCheck instance identifying that value associated with this property\r\n * should not have it's properties converted into a dynamic config properties.\r\n * @param defaultValue - The default value to apply it not provided or it's not valid\r\n * @returns a new IConfigDefaultCheck structure\r\n */\r\nexport function cfgDfBlockPropValue(defaultValue) {\r\n return {\r\n blkVal: true,\r\n v: defaultValue\r\n };\r\n}\r\n//# sourceMappingURL=ConfigDefaultHelpers.js.map","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT License.\r\nimport dynamicProto from \"@microsoft/dynamicproto-js\";\r\nimport { isArray, isFunction, objDefine, utcNow } from \"@nevware21/ts-utils\";\r\nimport { _DYN_GET_CTX, _DYN_IS_CHILD_EVT, _DYN_LENGTH, _DYN_NAME, _DYN_PUSH, _DYN_SET_CTX } from \"../__DynamicConstants\";\r\nimport { STR_GET_PERF_MGR, STR_PERF_EVENT } from \"./InternalConstants\";\r\nvar strExecutionContextKey = \"ctx\";\r\nvar strParentContextKey = \"ParentContextKey\";\r\nvar strChildrenContextKey = \"ChildrenContextKey\";\r\nvar _defaultPerfManager = null;\r\nvar PerfEvent = /** @class */ (function () {\r\n function PerfEvent(name, payloadDetails, isAsync) {\r\n var _self = this;\r\n _self.start = utcNow();\r\n _self[_DYN_NAME /* @min:%2ename */] = name;\r\n _self.isAsync = isAsync;\r\n _self[_DYN_IS_CHILD_EVT /* @min:%2eisChildEvt */] = function () { return false; };\r\n if (isFunction(payloadDetails)) {\r\n // Create an accessor to minimize the potential performance impact of executing the payloadDetails callback\r\n var theDetails_1;\r\n objDefine(_self, \"payload\", {\r\n g: function () {\r\n // Delay the execution of the payloadDetails until needed\r\n if (!theDetails_1 && isFunction(payloadDetails)) {\r\n theDetails_1 = payloadDetails();\r\n // clear it out now so the referenced objects can be garbage collected\r\n payloadDetails = null;\r\n }\r\n return theDetails_1;\r\n }\r\n });\r\n }\r\n _self[_DYN_GET_CTX /* @min:%2egetCtx */] = function (key) {\r\n if (key) {\r\n // The parent and child links are located directly on the object (for better viewing in the DebugPlugin)\r\n if (key === PerfEvent[strParentContextKey] || key === PerfEvent[strChildrenContextKey]) {\r\n return _self[key];\r\n }\r\n return (_self[strExecutionContextKey] || {})[key];\r\n }\r\n return null;\r\n };\r\n _self[_DYN_SET_CTX /* @min:%2esetCtx */] = function (key, value) {\r\n if (key) {\r\n // Put the parent and child links directly on the object (for better viewing in the DebugPlugin)\r\n if (key === PerfEvent[strParentContextKey]) {\r\n // Simple assumption, if we are setting a parent then we must be a child\r\n if (!_self[key]) {\r\n _self[_DYN_IS_CHILD_EVT /* @min:%2eisChildEvt */] = function () { return true; };\r\n }\r\n _self[key] = value;\r\n }\r\n else if (key === PerfEvent[strChildrenContextKey]) {\r\n _self[key] = value;\r\n }\r\n else {\r\n var ctx = _self[strExecutionContextKey] = _self[strExecutionContextKey] || {};\r\n ctx[key] = value;\r\n }\r\n }\r\n };\r\n _self.complete = function () {\r\n var childTime = 0;\r\n var childEvts = _self[_DYN_GET_CTX /* @min:%2egetCtx */](PerfEvent[strChildrenContextKey]);\r\n if (isArray(childEvts)) {\r\n for (var lp = 0; lp < childEvts[_DYN_LENGTH /* @min:%2elength */]; lp++) {\r\n var childEvt = childEvts[lp];\r\n if (childEvt) {\r\n childTime += childEvt.time;\r\n }\r\n }\r\n }\r\n _self.time = utcNow() - _self.start;\r\n _self.exTime = _self.time - childTime;\r\n _self.complete = function () { };\r\n };\r\n }\r\n PerfEvent.ParentContextKey = \"parent\";\r\n PerfEvent.ChildrenContextKey = \"childEvts\";\r\n return PerfEvent;\r\n}());\r\nexport { PerfEvent };\r\nvar PerfManager = /** @class */ (function () {\r\n function PerfManager(manager) {\r\n /**\r\n * General bucket used for execution context set and retrieved via setCtx() and getCtx.\r\n * Defined as private so it can be visualized via the DebugPlugin\r\n */\r\n this.ctx = {};\r\n dynamicProto(PerfManager, this, function (_self) {\r\n _self.create = function (src, payloadDetails, isAsync) {\r\n // TODO (@MSNev): at some point we will want to add additional configuration to \"select\" which events to instrument\r\n // for now this is just a simple do everything.\r\n return new PerfEvent(src, payloadDetails, isAsync);\r\n };\r\n _self.fire = function (perfEvent) {\r\n if (perfEvent) {\r\n perfEvent.complete();\r\n if (manager && isFunction(manager[STR_PERF_EVENT /* @min:%2eperfEvent */])) {\r\n manager[STR_PERF_EVENT /* @min:%2eperfEvent */](perfEvent);\r\n }\r\n }\r\n };\r\n _self[_DYN_SET_CTX /* @min:%2esetCtx */] = function (key, value) {\r\n if (key) {\r\n var ctx = _self[strExecutionContextKey] = _self[strExecutionContextKey] || {};\r\n ctx[key] = value;\r\n }\r\n };\r\n _self[_DYN_GET_CTX /* @min:%2egetCtx */] = function (key) {\r\n return (_self[strExecutionContextKey] || {})[key];\r\n };\r\n });\r\n }\r\n /**\r\n * Create a new event and start timing, the manager may return null/undefined to indicate that it does not\r\n * want to monitor this source event.\r\n * @param src - The source name of the event\r\n * @param payloadDetails - An optional callback function to fetch the payload details for the event.\r\n * @param isAsync - Is the event occurring from a async event\r\n */\r\n PerfManager.prototype.create = function (src, payload, isAsync) {\r\n // @DynamicProtoStub -- DO NOT add any code as this will be removed during packaging\r\n return null;\r\n };\r\n /**\r\n * Complete the perfEvent and fire any notifications.\r\n * @param perfEvent - Fire the event which will also complete the passed event\r\n */\r\n PerfManager.prototype.fire = function (perfEvent) {\r\n // @DynamicProtoStub -- DO NOT add any code as this will be removed during packaging\r\n };\r\n /**\r\n * Set an execution context value\r\n * @param key - The context key name\r\n * @param value - The value\r\n */\r\n PerfManager.prototype.setCtx = function (key, value) {\r\n // @DynamicProtoStub -- DO NOT add any code as this will be removed during packaging\r\n };\r\n /**\r\n * Get the execution context value\r\n * @param key - The context key\r\n */\r\n PerfManager.prototype.getCtx = function (key) {\r\n // @DynamicProtoStub -- DO NOT add any code as this will be removed during packaging\r\n };\r\n return PerfManager;\r\n}());\r\nexport { PerfManager };\r\nvar doPerfActiveKey = \"CoreUtils.doPerf\";\r\n/**\r\n * Helper function to wrap a function with a perf event\r\n * @param mgrSource - The Performance Manager or a Performance provider source (may be null)\r\n * @param getSource - The callback to create the source name for the event (if perf monitoring is enabled)\r\n * @param func - The function to call and measure\r\n * @param details - A function to return the payload details\r\n * @param isAsync - Is the event / function being call asynchronously or synchronously\r\n */\r\nexport function doPerf(mgrSource, getSource, func, details, isAsync) {\r\n if (mgrSource) {\r\n var perfMgr = mgrSource;\r\n if (perfMgr[STR_GET_PERF_MGR]) {\r\n // Looks like a perf manager provider object\r\n perfMgr = perfMgr[STR_GET_PERF_MGR]();\r\n }\r\n if (perfMgr) {\r\n var perfEvt = void 0;\r\n var currentActive = perfMgr[_DYN_GET_CTX /* @min:%2egetCtx */](doPerfActiveKey);\r\n try {\r\n perfEvt = perfMgr.create(getSource(), details, isAsync);\r\n if (perfEvt) {\r\n if (currentActive && perfEvt[_DYN_SET_CTX /* @min:%2esetCtx */]) {\r\n perfEvt[_DYN_SET_CTX /* @min:%2esetCtx */](PerfEvent[strParentContextKey], currentActive);\r\n if (currentActive[_DYN_GET_CTX /* @min:%2egetCtx */] && currentActive[_DYN_SET_CTX /* @min:%2esetCtx */]) {\r\n var children = currentActive[_DYN_GET_CTX /* @min:%2egetCtx */](PerfEvent[strChildrenContextKey]);\r\n if (!children) {\r\n children = [];\r\n currentActive[_DYN_SET_CTX /* @min:%2esetCtx */](PerfEvent[strChildrenContextKey], children);\r\n }\r\n children[_DYN_PUSH /* @min:%2epush */](perfEvt);\r\n }\r\n }\r\n // Set this event as the active event now\r\n perfMgr[_DYN_SET_CTX /* @min:%2esetCtx */](doPerfActiveKey, perfEvt);\r\n return func(perfEvt);\r\n }\r\n }\r\n catch (ex) {\r\n if (perfEvt && perfEvt[_DYN_SET_CTX /* @min:%2esetCtx */]) {\r\n perfEvt[_DYN_SET_CTX /* @min:%2esetCtx */](\"exception\", ex);\r\n }\r\n }\r\n finally {\r\n // fire the perf event\r\n if (perfEvt) {\r\n perfMgr.fire(perfEvt);\r\n }\r\n // Reset the active event to the previous value\r\n perfMgr[_DYN_SET_CTX /* @min:%2esetCtx */](doPerfActiveKey, currentActive);\r\n }\r\n }\r\n }\r\n return func();\r\n}\r\n/**\r\n * Set the global performance manager to use when there is no core instance or it has not been initialized yet.\r\n * @param perfManager - The IPerfManager instance to use when no performance manager is supplied.\r\n */\r\nexport function setGblPerfMgr(perfManager) {\r\n _defaultPerfManager = perfManager;\r\n}\r\n/**\r\n * Get the current global performance manager that will be used with no performance manager is supplied.\r\n * @returns - The current default manager\r\n */\r\nexport function getGblPerfMgr() {\r\n return _defaultPerfManager;\r\n}\r\n//# sourceMappingURL=PerfManager.js.map","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT License.\r\n\"use strict\";\r\nimport { arrForEach, isFunction } from \"@nevware21/ts-utils\";\r\nimport { _DYN_GET_NEXT, _DYN_GET_PLUGIN, _DYN_INITIALIZE, _DYN_IS_INITIALIZED, _DYN_LENGTH, _DYN_NAME, _DYN_PUSH, _DYN_SET_NEXT_PLUGIN, _DYN_TEARDOWN, _DYN_TRACE_FLAGS, _DYN__DO_TEARDOWN } from \"../__DynamicConstants\";\r\nimport { createElmNodeData } from \"./DataCacheHelper\";\r\nimport { STR_CORE, STR_PRIORITY, STR_PROCESS_TELEMETRY } from \"./InternalConstants\";\r\nimport { isValidSpanId, isValidTraceId } from \"./W3cTraceParent\";\r\nvar pluginStateData = createElmNodeData(\"plugin\");\r\nexport function _getPluginState(plugin) {\r\n return pluginStateData.get(plugin, \"state\", {}, true);\r\n}\r\n/**\r\n * Initialize the queue of plugins\r\n * @param plugins - The array of plugins to initialize and setting of the next plugin\r\n * @param config - The current config for the instance\r\n * @param core - THe current core instance\r\n * @param extensions - The extensions\r\n */\r\nexport function initializePlugins(processContext, extensions) {\r\n // Set the next plugin and identified the uninitialized plugins\r\n var initPlugins = [];\r\n var lastPlugin = null;\r\n var proxy = processContext[_DYN_GET_NEXT /* @min:%2egetNext */]();\r\n var pluginState;\r\n while (proxy) {\r\n var thePlugin = proxy[_DYN_GET_PLUGIN /* @min:%2egetPlugin */]();\r\n if (thePlugin) {\r\n if (lastPlugin && lastPlugin[_DYN_SET_NEXT_PLUGIN /* @min:%2esetNextPlugin */] && thePlugin[STR_PROCESS_TELEMETRY /* @min:%2eprocessTelemetry */]) {\r\n // Set this plugin as the next for the previous one\r\n lastPlugin[_DYN_SET_NEXT_PLUGIN /* @min:%2esetNextPlugin */](thePlugin);\r\n }\r\n pluginState = _getPluginState(thePlugin);\r\n var isInitialized = !!pluginState[_DYN_IS_INITIALIZED /* @min:%2eisInitialized */];\r\n if (thePlugin[_DYN_IS_INITIALIZED /* @min:%2eisInitialized */]) {\r\n isInitialized = thePlugin[_DYN_IS_INITIALIZED /* @min:%2eisInitialized */]();\r\n }\r\n if (!isInitialized) {\r\n initPlugins[_DYN_PUSH /* @min:%2epush */](thePlugin);\r\n }\r\n lastPlugin = thePlugin;\r\n proxy = proxy[_DYN_GET_NEXT /* @min:%2egetNext */]();\r\n }\r\n }\r\n // Now initialize the plugins\r\n arrForEach(initPlugins, function (thePlugin) {\r\n var core = processContext[STR_CORE /* @min:%2ecore */]();\r\n thePlugin[_DYN_INITIALIZE /* @min:%2einitialize */](processContext.getCfg(), core, extensions, processContext[_DYN_GET_NEXT /* @min:%2egetNext */]());\r\n pluginState = _getPluginState(thePlugin);\r\n // Only add the core to the state if the plugin didn't set it (doesn't extend from BaseTelemetryPlugin)\r\n if (!thePlugin[STR_CORE] && !pluginState[STR_CORE]) {\r\n pluginState[STR_CORE] = core;\r\n }\r\n pluginState[_DYN_IS_INITIALIZED /* @min:%2eisInitialized */] = true;\r\n delete pluginState[_DYN_TEARDOWN /* @min:%2eteardown */];\r\n });\r\n}\r\nexport function sortPlugins(plugins) {\r\n // Sort by priority\r\n return plugins.sort(function (extA, extB) {\r\n var result = 0;\r\n if (extB) {\r\n var bHasProcess = extB[STR_PROCESS_TELEMETRY];\r\n if (extA[STR_PROCESS_TELEMETRY]) {\r\n result = bHasProcess ? extA[STR_PRIORITY] - extB[STR_PRIORITY] : 1;\r\n }\r\n else if (bHasProcess) {\r\n result = -1;\r\n }\r\n }\r\n else {\r\n result = extA ? 1 : -1;\r\n }\r\n return result;\r\n });\r\n // sort complete\r\n}\r\n/**\r\n * Teardown / Unload helper to perform teardown/unloading operations for the provided components synchronously or asynchronously, this will call any\r\n * _doTeardown() or _doUnload() functions on the provided components to allow them to finish removal.\r\n * @param components - The components you want to unload\r\n * @param unloadCtx - This is the context that should be used during unloading.\r\n * @param unloadState - The details / state of the unload process, it holds details like whether it should be unloaded synchronously or asynchronously and the reason for the unload.\r\n * @param asyncCallback - An optional callback that the plugin must call if it returns true to inform the caller that it has completed any async unload/teardown operations.\r\n * @returns boolean - true if the plugin has or will call asyncCallback, this allows the plugin to perform any asynchronous operations.\r\n */\r\nexport function unloadComponents(components, unloadCtx, unloadState, asyncCallback) {\r\n var idx = 0;\r\n function _doUnload() {\r\n while (idx < components[_DYN_LENGTH /* @min:%2elength */]) {\r\n var component = components[idx++];\r\n if (component) {\r\n var func = component._doUnload || component[_DYN__DO_TEARDOWN /* @min:%2e_doTeardown */];\r\n if (isFunction(func)) {\r\n if (func.call(component, unloadCtx, unloadState, _doUnload) === true) {\r\n return true;\r\n }\r\n }\r\n }\r\n }\r\n }\r\n return _doUnload();\r\n}\r\n/**\r\n * Creates a IDistributedTraceContext which optionally also \"sets\" the value on a parent\r\n * @param parentCtx - An optional parent distributed trace instance\r\n * @returns A new IDistributedTraceContext instance that uses an internal temporary object\r\n */\r\nexport function createDistributedTraceContext(parentCtx) {\r\n var trace = {};\r\n return {\r\n getName: function () {\r\n return trace[_DYN_NAME /* @min:%2ename */];\r\n },\r\n setName: function (newValue) {\r\n parentCtx && parentCtx.setName(newValue);\r\n trace[_DYN_NAME /* @min:%2ename */] = newValue;\r\n },\r\n getTraceId: function () {\r\n return trace.traceId;\r\n },\r\n setTraceId: function (newValue) {\r\n parentCtx && parentCtx.setTraceId(newValue);\r\n if (isValidTraceId(newValue)) {\r\n trace.traceId = newValue;\r\n }\r\n },\r\n getSpanId: function () {\r\n return trace.spanId;\r\n },\r\n setSpanId: function (newValue) {\r\n parentCtx && parentCtx.setSpanId(newValue);\r\n if (isValidSpanId(newValue)) {\r\n trace.spanId = newValue;\r\n }\r\n },\r\n getTraceFlags: function () {\r\n return trace[_DYN_TRACE_FLAGS /* @min:%2etraceFlags */];\r\n },\r\n setTraceFlags: function (newTraceFlags) {\r\n parentCtx && parentCtx.setTraceFlags(newTraceFlags);\r\n trace[_DYN_TRACE_FLAGS /* @min:%2etraceFlags */] = newTraceFlags;\r\n }\r\n };\r\n}\r\n//# sourceMappingURL=TelemetryHelpers.js.map","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT License.\r\n\"use strict\";\r\nimport { arrForEach, dumpObj, isArray, isFunction, isNullOrUndefined, isUndefined, objForEachKey, objFreeze, objKeys } from \"@nevware21/ts-utils\";\r\nimport { _applyDefaultValue } from \"../Config/ConfigDefaults\";\r\nimport { createDynamicConfig } from \"../Config/DynamicConfig\";\r\nimport { _DYN_CREATE_NEW, _DYN_DIAG_LOG, _DYN_GET_NEXT, _DYN_GET_PLUGIN, _DYN_IDENTIFIER, _DYN_IS_INITIALIZED, _DYN_LENGTH, _DYN_LOGGER, _DYN_PROCESS_NEXT, _DYN_PUSH, _DYN_SET_NEXT_PLUGIN, _DYN_TEARDOWN, _DYN_UNLOAD, _DYN_UPDATE } from \"../__DynamicConstants\";\r\nimport { _throwInternal, safeGetLogger } from \"./DiagnosticLogger\";\r\nimport { proxyFunctions } from \"./HelperFuncs\";\r\nimport { STR_CORE, STR_DISABLED, STR_EMPTY, STR_EXTENSION_CONFIG, STR_PRIORITY, STR_PROCESS_TELEMETRY } from \"./InternalConstants\";\r\nimport { doPerf } from \"./PerfManager\";\r\nimport { _getPluginState } from \"./TelemetryHelpers\";\r\nvar strTelemetryPluginChain = \"TelemetryPluginChain\";\r\nvar strHasRunFlags = \"_hasRun\";\r\nvar strGetTelCtx = \"_getTelCtx\";\r\nvar _chainId = 0;\r\nfunction _getNextProxyStart(proxy, core, startAt) {\r\n while (proxy) {\r\n if (proxy[_DYN_GET_PLUGIN /* @min:%2egetPlugin */]() === startAt) {\r\n return proxy;\r\n }\r\n proxy = proxy[_DYN_GET_NEXT /* @min:%2egetNext */]();\r\n }\r\n // This wasn't found in the existing chain so create an isolated one with just this plugin\r\n return createTelemetryProxyChain([startAt], core.config || {}, core);\r\n}\r\n/**\r\n * @ignore\r\n * @param telemetryChain\r\n * @param dynamicHandler\r\n * @param core\r\n * @param startAt - Identifies the next plugin to execute, if null there is no \"next\" plugin and if undefined it should assume the start of the chain\r\n * @returns\r\n */\r\nfunction _createInternalContext(telemetryChain, dynamicHandler, core, startAt) {\r\n // We have a special case where we want to start execution from this specific plugin\r\n // or we simply reuse the existing telemetry plugin chain (normal execution case)\r\n var _nextProxy = null; // By Default set as no next plugin\r\n var _onComplete = [];\r\n if (!dynamicHandler) {\r\n dynamicHandler = createDynamicConfig({}, null, core[_DYN_LOGGER /* @min:%2elogger */]);\r\n }\r\n if (startAt !== null) {\r\n // There is no next element (null) vs not defined (undefined) so use the full chain\r\n _nextProxy = startAt ? _getNextProxyStart(telemetryChain, core, startAt) : telemetryChain;\r\n }\r\n var context = {\r\n _next: _moveNext,\r\n ctx: {\r\n core: function () {\r\n return core;\r\n },\r\n diagLog: function () {\r\n return safeGetLogger(core, dynamicHandler.cfg);\r\n },\r\n getCfg: function () {\r\n return dynamicHandler.cfg;\r\n },\r\n getExtCfg: _resolveExtCfg,\r\n getConfig: _getConfig,\r\n hasNext: function () {\r\n return !!_nextProxy;\r\n },\r\n getNext: function () {\r\n return _nextProxy;\r\n },\r\n setNext: function (nextPlugin) {\r\n _nextProxy = nextPlugin;\r\n },\r\n iterate: _iterateChain,\r\n onComplete: _addOnComplete\r\n }\r\n };\r\n function _addOnComplete(onComplete, that) {\r\n var args = [];\r\n for (var _i = 2; _i < arguments.length; _i++) {\r\n args[_i - 2] = arguments[_i];\r\n }\r\n if (onComplete) {\r\n _onComplete[_DYN_PUSH /* @min:%2epush */]({\r\n func: onComplete,\r\n self: !isUndefined(that) ? that : context.ctx,\r\n args: args\r\n });\r\n }\r\n }\r\n function _moveNext() {\r\n var nextProxy = _nextProxy;\r\n // Automatically move to the next plugin\r\n _nextProxy = nextProxy ? nextProxy[_DYN_GET_NEXT /* @min:%2egetNext */]() : null;\r\n if (!nextProxy) {\r\n var onComplete = _onComplete;\r\n if (onComplete && onComplete[_DYN_LENGTH /* @min:%2elength */] > 0) {\r\n arrForEach(onComplete, function (completeDetails) {\r\n try {\r\n completeDetails.func.call(completeDetails.self, completeDetails.args);\r\n }\r\n catch (e) {\r\n _throwInternal(core[_DYN_LOGGER /* @min:%2elogger */], 2 /* eLoggingSeverity.WARNING */, 73 /* _eInternalMessageId.PluginException */, \"Unexpected Exception during onComplete - \" + dumpObj(e));\r\n }\r\n });\r\n _onComplete = [];\r\n }\r\n }\r\n return nextProxy;\r\n }\r\n function _getExtCfg(identifier, createIfMissing) {\r\n var idCfg = null;\r\n var cfg = dynamicHandler.cfg;\r\n if (cfg && identifier) {\r\n var extCfg = cfg[STR_EXTENSION_CONFIG /* @min:%2eextensionConfig */];\r\n if (!extCfg && createIfMissing) {\r\n extCfg = {};\r\n }\r\n // Always set the value so that the property always exists\r\n cfg[STR_EXTENSION_CONFIG] = extCfg; // Note: it is valid for the \"value\" to be undefined\r\n // Calling `ref()` has a side effect of causing the referenced property to become dynamic (if not already)\r\n extCfg = dynamicHandler.ref(cfg, STR_EXTENSION_CONFIG);\r\n if (extCfg) {\r\n idCfg = extCfg[identifier];\r\n if (!idCfg && createIfMissing) {\r\n idCfg = {};\r\n }\r\n // Always set the value so that the property always exists\r\n extCfg[identifier] = idCfg; // Note: it is valid for the \"value\" to be undefined\r\n // Calling `ref()` has a side effect of causing the referenced property to become dynamic (if not already)\r\n idCfg = dynamicHandler.ref(extCfg, identifier);\r\n }\r\n }\r\n return idCfg;\r\n }\r\n function _resolveExtCfg(identifier, defaultValues) {\r\n var newConfig = _getExtCfg(identifier, true);\r\n if (defaultValues) {\r\n // Enumerate over the defaultValues and if not already populated attempt to\r\n // find a value from the root config or use the default value\r\n objForEachKey(defaultValues, function (field, defaultValue) {\r\n // for each unspecified field, set the default value\r\n if (isNullOrUndefined(newConfig[field])) {\r\n var cfgValue = dynamicHandler.cfg[field];\r\n if (cfgValue || !isNullOrUndefined(cfgValue)) {\r\n newConfig[field] = cfgValue;\r\n }\r\n }\r\n _applyDefaultValue(dynamicHandler, newConfig, field, defaultValue);\r\n });\r\n }\r\n return dynamicHandler.setDf(newConfig, defaultValues);\r\n }\r\n function _getConfig(identifier, field, defaultValue) {\r\n if (defaultValue === void 0) { defaultValue = false; }\r\n var theValue;\r\n var extConfig = _getExtCfg(identifier, false);\r\n var rootConfig = dynamicHandler.cfg;\r\n if (extConfig && (extConfig[field] || !isNullOrUndefined(extConfig[field]))) {\r\n theValue = extConfig[field];\r\n }\r\n else if (rootConfig[field] || !isNullOrUndefined(rootConfig[field])) {\r\n theValue = rootConfig[field];\r\n }\r\n return (theValue || !isNullOrUndefined(theValue)) ? theValue : defaultValue;\r\n }\r\n function _iterateChain(cb) {\r\n // Keep processing until we reach the end of the chain\r\n var nextPlugin;\r\n while (!!(nextPlugin = context._next())) {\r\n var plugin = nextPlugin[_DYN_GET_PLUGIN /* @min:%2egetPlugin */]();\r\n if (plugin) {\r\n // callback with the current on\r\n cb(plugin);\r\n }\r\n }\r\n }\r\n return context;\r\n}\r\n/**\r\n * Creates a new Telemetry Item context with the current config, core and plugin execution chain\r\n * @param plugins - The plugin instances that will be executed\r\n * @param config - The current config\r\n * @param core - The current core instance\r\n * @param startAt - Identifies the next plugin to execute, if null there is no \"next\" plugin and if undefined it should assume the start of the chain\r\n */\r\nexport function createProcessTelemetryContext(telemetryChain, cfg, core, startAt) {\r\n var config = createDynamicConfig(cfg);\r\n var internalContext = _createInternalContext(telemetryChain, config, core, startAt);\r\n var context = internalContext.ctx;\r\n function _processNext(env) {\r\n var nextPlugin = internalContext._next();\r\n if (nextPlugin) {\r\n // Run the next plugin which will call \"processNext()\"\r\n nextPlugin[STR_PROCESS_TELEMETRY /* @min:%2eprocessTelemetry */](env, context);\r\n }\r\n return !nextPlugin;\r\n }\r\n function _createNew(plugins, startAt) {\r\n if (plugins === void 0) { plugins = null; }\r\n if (isArray(plugins)) {\r\n plugins = createTelemetryProxyChain(plugins, config.cfg, core, startAt);\r\n }\r\n return createProcessTelemetryContext(plugins || context[_DYN_GET_NEXT /* @min:%2egetNext */](), config.cfg, core, startAt);\r\n }\r\n context[_DYN_PROCESS_NEXT /* @min:%2eprocessNext */] = _processNext;\r\n context[_DYN_CREATE_NEW /* @min:%2ecreateNew */] = _createNew;\r\n return context;\r\n}\r\n/**\r\n * Creates a new Telemetry Item context with the current config, core and plugin execution chain for handling the unloading of the chain\r\n * @param plugins - The plugin instances that will be executed\r\n * @param config - The current config\r\n * @param core - The current core instance\r\n * @param startAt - Identifies the next plugin to execute, if null there is no \"next\" plugin and if undefined it should assume the start of the chain\r\n */\r\nexport function createProcessTelemetryUnloadContext(telemetryChain, core, startAt) {\r\n var config = createDynamicConfig(core.config);\r\n var internalContext = _createInternalContext(telemetryChain, config, core, startAt);\r\n var context = internalContext.ctx;\r\n function _processNext(unloadState) {\r\n var nextPlugin = internalContext._next();\r\n nextPlugin && nextPlugin[_DYN_UNLOAD /* @min:%2eunload */](context, unloadState);\r\n return !nextPlugin;\r\n }\r\n function _createNew(plugins, startAt) {\r\n if (plugins === void 0) { plugins = null; }\r\n if (isArray(plugins)) {\r\n plugins = createTelemetryProxyChain(plugins, config.cfg, core, startAt);\r\n }\r\n return createProcessTelemetryUnloadContext(plugins || context[_DYN_GET_NEXT /* @min:%2egetNext */](), core, startAt);\r\n }\r\n context[_DYN_PROCESS_NEXT /* @min:%2eprocessNext */] = _processNext;\r\n context[_DYN_CREATE_NEW /* @min:%2ecreateNew */] = _createNew;\r\n return context;\r\n}\r\n/**\r\n * Creates a new Telemetry Item context with the current config, core and plugin execution chain for updating the configuration\r\n * @param plugins - The plugin instances that will be executed\r\n * @param config - The current config\r\n * @param core - The current core instance\r\n * @param startAt - Identifies the next plugin to execute, if null there is no \"next\" plugin and if undefined it should assume the start of the chain\r\n */\r\nexport function createProcessTelemetryUpdateContext(telemetryChain, core, startAt) {\r\n var config = createDynamicConfig(core.config);\r\n var internalContext = _createInternalContext(telemetryChain, config, core, startAt);\r\n var context = internalContext.ctx;\r\n function _processNext(updateState) {\r\n return context.iterate(function (plugin) {\r\n if (isFunction(plugin[_DYN_UPDATE /* @min:%2eupdate */])) {\r\n plugin[_DYN_UPDATE /* @min:%2eupdate */](context, updateState);\r\n }\r\n });\r\n }\r\n function _createNew(plugins, startAt) {\r\n if (plugins === void 0) { plugins = null; }\r\n if (isArray(plugins)) {\r\n plugins = createTelemetryProxyChain(plugins, config.cfg, core, startAt);\r\n }\r\n return createProcessTelemetryUpdateContext(plugins || context[_DYN_GET_NEXT /* @min:%2egetNext */](), core, startAt);\r\n }\r\n context[_DYN_PROCESS_NEXT /* @min:%2eprocessNext */] = _processNext;\r\n context[_DYN_CREATE_NEW /* @min:%2ecreateNew */] = _createNew;\r\n return context;\r\n}\r\n/**\r\n * Creates an execution chain from the array of plugins\r\n * @param plugins - The array of plugins that will be executed in this order\r\n * @param defItemCtx - The default execution context to use when no telemetry context is passed to processTelemetry(), this\r\n * should be for legacy plugins only. Currently, only used for passing the current core instance and to provide better error\r\n * reporting (hasRun) when errors occur.\r\n */\r\nexport function createTelemetryProxyChain(plugins, config, core, startAt) {\r\n var firstProxy = null;\r\n var add = startAt ? false : true;\r\n if (isArray(plugins) && plugins[_DYN_LENGTH /* @min:%2elength */] > 0) {\r\n // Create the proxies and wire up the next plugin chain\r\n var lastProxy_1 = null;\r\n arrForEach(plugins, function (thePlugin) {\r\n if (!add && startAt === thePlugin) {\r\n add = true;\r\n }\r\n if (add && thePlugin && isFunction(thePlugin[STR_PROCESS_TELEMETRY /* @min:%2eprocessTelemetry */])) {\r\n // Only add plugins that are processors\r\n var newProxy = createTelemetryPluginProxy(thePlugin, config, core);\r\n if (!firstProxy) {\r\n firstProxy = newProxy;\r\n }\r\n if (lastProxy_1) {\r\n // Set this new proxy as the next for the previous one\r\n lastProxy_1._setNext(newProxy);\r\n }\r\n lastProxy_1 = newProxy;\r\n }\r\n });\r\n }\r\n if (startAt && !firstProxy) {\r\n // Special case where the \"startAt\" was not in the original list of plugins\r\n return createTelemetryProxyChain([startAt], config, core);\r\n }\r\n return firstProxy;\r\n}\r\n/**\r\n * Create the processing telemetry proxy instance, the proxy is used to abstract the current plugin to allow monitoring and\r\n * execution plugins while passing around the dynamic execution state (IProcessTelemetryContext), the proxy instance no longer\r\n * contains any execution state and can be reused between requests (this was not the case for 2.7.2 and earlier with the\r\n * TelemetryPluginChain class).\r\n * @param plugin - The plugin instance to proxy\r\n * @param config - The default execution context to use when no telemetry context is passed to processTelemetry(), this\r\n * should be for legacy plugins only. Currently, only used for passing the current core instance and to provide better error\r\n * reporting (hasRun) when errors occur.\r\n * @returns\r\n */\r\nexport function createTelemetryPluginProxy(plugin, config, core) {\r\n var nextProxy = null;\r\n var hasProcessTelemetry = isFunction(plugin[STR_PROCESS_TELEMETRY /* @min:%2eprocessTelemetry */]);\r\n var hasSetNext = isFunction(plugin[_DYN_SET_NEXT_PLUGIN /* @min:%2esetNextPlugin */]);\r\n var chainId;\r\n if (plugin) {\r\n chainId = plugin[_DYN_IDENTIFIER /* @min:%2eidentifier */] + \"-\" + plugin[STR_PRIORITY /* @min:%2epriority */] + \"-\" + _chainId++;\r\n }\r\n else {\r\n chainId = \"Unknown-0-\" + _chainId++;\r\n }\r\n var proxyChain = {\r\n getPlugin: function () {\r\n return plugin;\r\n },\r\n getNext: function () {\r\n return nextProxy;\r\n },\r\n processTelemetry: _processTelemetry,\r\n unload: _unloadPlugin,\r\n update: _updatePlugin,\r\n _id: chainId,\r\n _setNext: function (nextPlugin) {\r\n nextProxy = nextPlugin;\r\n }\r\n };\r\n function _getTelCtx() {\r\n var itemCtx;\r\n // Looks like a plugin didn't pass the (optional) context, so create a new one\r\n if (plugin && isFunction(plugin[strGetTelCtx])) {\r\n // This plugin extends from the BaseTelemetryPlugin so lets use it\r\n itemCtx = plugin[strGetTelCtx]();\r\n }\r\n if (!itemCtx) {\r\n // Create a temporary one\r\n itemCtx = createProcessTelemetryContext(proxyChain, config, core);\r\n }\r\n return itemCtx;\r\n }\r\n function _processChain(itemCtx, processPluginFn, name, details, isAsync) {\r\n var hasRun = false;\r\n var identifier = plugin ? plugin[_DYN_IDENTIFIER /* @min:%2eidentifier */] : strTelemetryPluginChain;\r\n var hasRunContext = itemCtx[strHasRunFlags];\r\n if (!hasRunContext) {\r\n // Assign and populate\r\n hasRunContext = itemCtx[strHasRunFlags] = {};\r\n }\r\n // Ensure that we keep the context in sync\r\n itemCtx.setNext(nextProxy);\r\n if (plugin) {\r\n doPerf(itemCtx[STR_CORE /* @min:%2ecore */](), function () { return identifier + \":\" + name; }, function () {\r\n // Mark this component as having run\r\n hasRunContext[chainId] = true;\r\n try {\r\n // Set a flag on the next plugin so we know if it was attempted to be executed\r\n var nextId = nextProxy ? nextProxy._id : STR_EMPTY;\r\n if (nextId) {\r\n hasRunContext[nextId] = false;\r\n }\r\n hasRun = processPluginFn(itemCtx);\r\n }\r\n catch (error) {\r\n var hasNextRun = nextProxy ? hasRunContext[nextProxy._id] : true;\r\n if (hasNextRun) {\r\n // The next plugin after us has already run so set this one as complete\r\n hasRun = true;\r\n }\r\n if (!nextProxy || !hasNextRun) {\r\n // Either we have no next plugin or the current one did not attempt to call the next plugin\r\n // Which means the current one is the root of the failure so log/report this failure\r\n _throwInternal(itemCtx[_DYN_DIAG_LOG /* @min:%2ediagLog */](), 1 /* eLoggingSeverity.CRITICAL */, 73 /* _eInternalMessageId.PluginException */, \"Plugin [\" + identifier + \"] failed during \" + name + \" - \" + dumpObj(error) + \", run flags: \" + dumpObj(hasRunContext));\r\n }\r\n }\r\n }, details, isAsync);\r\n }\r\n return hasRun;\r\n }\r\n function _processTelemetry(env, itemCtx) {\r\n itemCtx = itemCtx || _getTelCtx();\r\n function _callProcessTelemetry(itemCtx) {\r\n if (!plugin || !hasProcessTelemetry) {\r\n return false;\r\n }\r\n var pluginState = _getPluginState(plugin);\r\n if (pluginState[_DYN_TEARDOWN /* @min:%2eteardown */] || pluginState[STR_DISABLED]) {\r\n return false;\r\n }\r\n // Ensure that we keep the context in sync (for processNext()), just in case a plugin\r\n // doesn't calls processTelemetry() instead of itemContext.processNext() or some\r\n // other form of error occurred\r\n if (hasSetNext) {\r\n // Backward compatibility setting the next plugin on the instance\r\n plugin[_DYN_SET_NEXT_PLUGIN /* @min:%2esetNextPlugin */](nextProxy);\r\n }\r\n plugin[STR_PROCESS_TELEMETRY /* @min:%2eprocessTelemetry */](env, itemCtx);\r\n // Process Telemetry is expected to call itemCtx.processNext() or nextPlugin.processTelemetry()\r\n return true;\r\n }\r\n if (!_processChain(itemCtx, _callProcessTelemetry, \"processTelemetry\", function () { return ({ item: env }); }, !(env.sync))) {\r\n // The underlying plugin is either not defined, not enabled or does not have a processTelemetry implementation\r\n // so we still want the next plugin to be executed.\r\n itemCtx[_DYN_PROCESS_NEXT /* @min:%2eprocessNext */](env);\r\n }\r\n }\r\n function _unloadPlugin(unloadCtx, unloadState) {\r\n function _callTeardown() {\r\n // Setting default of hasRun as false so the proxyProcessFn() is called as teardown() doesn't have to exist or call unloadNext().\r\n var hasRun = false;\r\n if (plugin) {\r\n var pluginState = _getPluginState(plugin);\r\n var pluginCore = plugin[STR_CORE] || pluginState[STR_CORE /* @min:%2ecore */];\r\n // Only teardown the plugin if it was initialized by the current core (i.e. It's not a shared plugin)\r\n if (plugin && (!pluginCore || pluginCore === unloadCtx.core()) && !pluginState[_DYN_TEARDOWN /* @min:%2eteardown */]) {\r\n // Handle plugins that don't extend from the BaseTelemetryPlugin\r\n pluginState[STR_CORE /* @min:%2ecore */] = null;\r\n pluginState[_DYN_TEARDOWN /* @min:%2eteardown */] = true;\r\n pluginState[_DYN_IS_INITIALIZED /* @min:%2eisInitialized */] = false;\r\n if (plugin[_DYN_TEARDOWN /* @min:%2eteardown */] && plugin[_DYN_TEARDOWN /* @min:%2eteardown */](unloadCtx, unloadState) === true) {\r\n // plugin told us that it was going to (or has) call unloadCtx.processNext()\r\n hasRun = true;\r\n }\r\n }\r\n }\r\n return hasRun;\r\n }\r\n if (!_processChain(unloadCtx, _callTeardown, \"unload\", function () { }, unloadState.isAsync)) {\r\n // Only called if we hasRun was not true\r\n unloadCtx[_DYN_PROCESS_NEXT /* @min:%2eprocessNext */](unloadState);\r\n }\r\n }\r\n function _updatePlugin(updateCtx, updateState) {\r\n function _callUpdate() {\r\n // Setting default of hasRun as false so the proxyProcessFn() is called as teardown() doesn't have to exist or call unloadNext().\r\n var hasRun = false;\r\n if (plugin) {\r\n var pluginState = _getPluginState(plugin);\r\n var pluginCore = plugin[STR_CORE] || pluginState[STR_CORE /* @min:%2ecore */];\r\n // Only update the plugin if it was initialized by the current core (i.e. It's not a shared plugin)\r\n if (plugin && (!pluginCore || pluginCore === updateCtx.core()) && !pluginState[_DYN_TEARDOWN /* @min:%2eteardown */]) {\r\n if (plugin[_DYN_UPDATE /* @min:%2eupdate */] && plugin[_DYN_UPDATE /* @min:%2eupdate */](updateCtx, updateState) === true) {\r\n // plugin told us that it was going to (or has) call unloadCtx.processNext()\r\n hasRun = true;\r\n }\r\n }\r\n }\r\n return hasRun;\r\n }\r\n if (!_processChain(updateCtx, _callUpdate, \"update\", function () { }, false)) {\r\n // Only called if we hasRun was not true\r\n updateCtx[_DYN_PROCESS_NEXT /* @min:%2eprocessNext */](updateState);\r\n }\r\n }\r\n return objFreeze(proxyChain);\r\n}\r\n/**\r\n * This class will be removed!\r\n * @deprecated use createProcessTelemetryContext() instead\r\n */\r\nvar ProcessTelemetryContext = /** @class */ (function () {\r\n /**\r\n * Creates a new Telemetry Item context with the current config, core and plugin execution chain\r\n * @param plugins - The plugin instances that will be executed\r\n * @param config - The current config\r\n * @param core - The current core instance\r\n */\r\n function ProcessTelemetryContext(pluginChain, config, core, startAt) {\r\n var _self = this;\r\n var context = createProcessTelemetryContext(pluginChain, config, core, startAt);\r\n // Proxy all functions of the context to this object\r\n proxyFunctions(_self, context, objKeys(context));\r\n }\r\n return ProcessTelemetryContext;\r\n}());\r\nexport { ProcessTelemetryContext };\r\n//# sourceMappingURL=ProcessTelemetryContext.js.map","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT License.\r\nimport { arrAppend, arrForEach, dumpObj } from \"@nevware21/ts-utils\";\r\nimport { _DYN_LENGTH } from \"../__DynamicConstants\";\r\nimport { _throwInternal } from \"./DiagnosticLogger\";\r\nvar _maxHooks;\r\nvar _hookAddMonitor;\r\n/**\r\n * Test hook for setting the maximum number of unload hooks and calling a monitor function when the hooks are added or removed\r\n * This allows for automatic test failure when the maximum number of unload hooks is exceeded\r\n * @param maxHooks - The maximum number of unload hooks\r\n * @param addMonitor - The monitor function to call when hooks are added or removed\r\n */\r\nexport function _testHookMaxUnloadHooksCb(maxHooks, addMonitor) {\r\n _maxHooks = maxHooks;\r\n _hookAddMonitor = addMonitor;\r\n}\r\n/**\r\n * Create a IUnloadHookContainer which can be used to remember unload hook functions to be executed during the component unloading\r\n * process.\r\n * @returns A new IUnloadHookContainer instance\r\n */\r\nexport function createUnloadHookContainer() {\r\n var _hooks = [];\r\n function _doUnload(logger) {\r\n var oldHooks = _hooks;\r\n _hooks = [];\r\n // Remove all registered unload hooks\r\n arrForEach(oldHooks, function (fn) {\r\n // allow either rm or remove callback function\r\n try {\r\n (fn.rm || fn.remove).call(fn);\r\n }\r\n catch (e) {\r\n _throwInternal(logger, 2 /* eLoggingSeverity.WARNING */, 73 /* _eInternalMessageId.PluginException */, \"Unloading:\" + dumpObj(e));\r\n }\r\n });\r\n if (_maxHooks && oldHooks[_DYN_LENGTH /* @min:%2elength */] > _maxHooks) {\r\n _hookAddMonitor ? _hookAddMonitor(\"doUnload\", oldHooks) : _throwInternal(null, 1 /* eLoggingSeverity.CRITICAL */, 48 /* _eInternalMessageId.MaxUnloadHookExceeded */, \"Max unload hooks exceeded. An excessive number of unload hooks has been detected.\");\r\n }\r\n }\r\n function _addHook(hooks) {\r\n if (hooks) {\r\n arrAppend(_hooks, hooks);\r\n if (_maxHooks && _hooks[_DYN_LENGTH /* @min:%2elength */] > _maxHooks) {\r\n _hookAddMonitor ? _hookAddMonitor(\"Add\", _hooks) : _throwInternal(null, 1 /* eLoggingSeverity.CRITICAL */, 48 /* _eInternalMessageId.MaxUnloadHookExceeded */, \"Max unload hooks exceeded. An excessive number of unload hooks has been detected.\");\r\n }\r\n }\r\n }\r\n return {\r\n run: _doUnload,\r\n add: _addHook\r\n };\r\n}\r\n//# sourceMappingURL=UnloadHookContainer.js.map","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT License.\r\n\"use strict\";\r\nvar _a;\r\nimport dynamicProto from \"@microsoft/dynamicproto-js\";\r\nimport { isFunction, objDefine } from \"@nevware21/ts-utils\";\r\nimport { createDynamicConfig } from \"../Config/DynamicConfig\";\r\nimport { _DYN_CREATE_NEW, _DYN_DIAG_LOG, _DYN_GET_NEXT, _DYN_GET_PROCESS_TEL_CONT2, _DYN_INITIALIZE, _DYN_IS_INITIALIZED, _DYN_PROCESS_NEXT, _DYN_SET_NEXT_PLUGIN, _DYN_TEARDOWN, _DYN_UPDATE, _DYN__DO_TEARDOWN } from \"../__DynamicConstants\";\r\nimport { safeGetLogger } from \"./DiagnosticLogger\";\r\nimport { isNotNullOrUndefined, proxyFunctionAs } from \"./HelperFuncs\";\r\nimport { STR_CORE, STR_EXTENSION_CONFIG, STR_PROCESS_TELEMETRY } from \"./InternalConstants\";\r\nimport { createProcessTelemetryContext, createProcessTelemetryUnloadContext, createProcessTelemetryUpdateContext } from \"./ProcessTelemetryContext\";\r\nimport { createUnloadHandlerContainer } from \"./UnloadHandlerContainer\";\r\nimport { createUnloadHookContainer } from \"./UnloadHookContainer\";\r\nvar strGetPlugin = \"getPlugin\";\r\nvar defaultValues = (_a = {},\r\n _a[STR_EXTENSION_CONFIG] = { isVal: isNotNullOrUndefined, v: {} },\r\n _a);\r\n/**\r\n * BaseTelemetryPlugin provides a basic implementation of the ITelemetryPlugin interface so that plugins\r\n * can avoid implementation the same set of boiler plate code as well as provide a base\r\n * implementation so that new default implementations can be added without breaking all plugins.\r\n */\r\nvar BaseTelemetryPlugin = /** @class */ (function () {\r\n function BaseTelemetryPlugin() {\r\n var _self = this; // Setting _self here as it's used outside of the dynamicProto as well\r\n // NOTE!: DON'T set default values here, instead set them in the _initDefaults() function as it is also called during teardown()\r\n var _isinitialized;\r\n var _rootCtx; // Used as the root context, holding the current config and initialized core\r\n var _nextPlugin; // Used for backward compatibility where plugins don't call the main pipeline\r\n var _unloadHandlerContainer;\r\n var _hookContainer;\r\n _initDefaults();\r\n dynamicProto(BaseTelemetryPlugin, _self, function (_self) {\r\n _self[_DYN_INITIALIZE /* @min:%2einitialize */] = function (config, core, extensions, pluginChain) {\r\n _setDefaults(config, core, pluginChain);\r\n _isinitialized = true;\r\n };\r\n _self[_DYN_TEARDOWN /* @min:%2eteardown */] = function (unloadCtx, unloadState) {\r\n // If this plugin has already been torn down (not operational) or is not initialized (core is not set)\r\n // or the core being used for unload was not the same core used for initialization.\r\n var core = _self[STR_CORE /* @min:%2ecore */];\r\n if (!core || (unloadCtx && core !== unloadCtx[STR_CORE /* @min:%2ecore */]())) {\r\n // Do Nothing as either the plugin is not initialized or was not initialized by the current core\r\n return;\r\n }\r\n var result;\r\n var unloadDone = false;\r\n var theUnloadCtx = unloadCtx || createProcessTelemetryUnloadContext(null, core, _nextPlugin && _nextPlugin[strGetPlugin] ? _nextPlugin[strGetPlugin]() : _nextPlugin);\r\n var theUnloadState = unloadState || {\r\n reason: 0 /* TelemetryUnloadReason.ManualTeardown */,\r\n isAsync: false\r\n };\r\n function _unloadCallback() {\r\n if (!unloadDone) {\r\n unloadDone = true;\r\n _unloadHandlerContainer.run(theUnloadCtx, unloadState);\r\n _hookContainer.run(theUnloadCtx[_DYN_DIAG_LOG /* @min:%2ediagLog */]());\r\n if (result === true) {\r\n theUnloadCtx[_DYN_PROCESS_NEXT /* @min:%2eprocessNext */](theUnloadState);\r\n }\r\n _initDefaults();\r\n }\r\n }\r\n if (!_self[_DYN__DO_TEARDOWN /* @min:%2e_doTeardown */] || _self[_DYN__DO_TEARDOWN /* @min:%2e_doTeardown */](theUnloadCtx, theUnloadState, _unloadCallback) !== true) {\r\n _unloadCallback();\r\n }\r\n else {\r\n // Tell the caller that we will be calling processNext()\r\n result = true;\r\n }\r\n return result;\r\n };\r\n _self[_DYN_UPDATE /* @min:%2eupdate */] = function (updateCtx, updateState) {\r\n // If this plugin has already been torn down (not operational) or is not initialized (core is not set)\r\n // or the core being used for unload was not the same core used for initialization.\r\n var core = _self[STR_CORE /* @min:%2ecore */];\r\n if (!core || (updateCtx && core !== updateCtx[STR_CORE /* @min:%2ecore */]())) {\r\n // Do Nothing\r\n return;\r\n }\r\n var result;\r\n var updateDone = false;\r\n var theUpdateCtx = updateCtx || createProcessTelemetryUpdateContext(null, core, _nextPlugin && _nextPlugin[strGetPlugin] ? _nextPlugin[strGetPlugin]() : _nextPlugin);\r\n var theUpdateState = updateState || {\r\n reason: 0 /* TelemetryUpdateReason.Unknown */\r\n };\r\n function _updateCallback() {\r\n if (!updateDone) {\r\n updateDone = true;\r\n _setDefaults(theUpdateCtx.getCfg(), theUpdateCtx.core(), theUpdateCtx[_DYN_GET_NEXT /* @min:%2egetNext */]());\r\n }\r\n }\r\n if (!_self._doUpdate || _self._doUpdate(theUpdateCtx, theUpdateState, _updateCallback) !== true) {\r\n _updateCallback();\r\n }\r\n else {\r\n result = true;\r\n }\r\n return result;\r\n };\r\n proxyFunctionAs(_self, \"_addUnloadCb\", function () { return _unloadHandlerContainer; }, \"add\");\r\n proxyFunctionAs(_self, \"_addHook\", function () { return _hookContainer; }, \"add\");\r\n objDefine(_self, \"_unloadHooks\", { g: function () { return _hookContainer; } });\r\n });\r\n // These are added after the dynamicProto so that are not moved to the prototype\r\n _self[_DYN_DIAG_LOG /* @min:%2ediagLog */] = function (itemCtx) {\r\n return _getTelCtx(itemCtx)[_DYN_DIAG_LOG /* @min:%2ediagLog */]();\r\n };\r\n _self[_DYN_IS_INITIALIZED /* @min:%2eisInitialized */] = function () {\r\n return _isinitialized;\r\n };\r\n _self.setInitialized = function (isInitialized) {\r\n _isinitialized = isInitialized;\r\n };\r\n // _self.getNextPlugin = () => DO NOT IMPLEMENT\r\n // Sub-classes of this base class *should* not be relying on this value and instead\r\n // should use processNext() function. If you require access to the plugin use the\r\n // IProcessTelemetryContext.getNext().getPlugin() while in the pipeline, Note getNext() may return null.\r\n _self[_DYN_SET_NEXT_PLUGIN /* @min:%2esetNextPlugin */] = function (next) {\r\n _nextPlugin = next;\r\n };\r\n _self[_DYN_PROCESS_NEXT /* @min:%2eprocessNext */] = function (env, itemCtx) {\r\n if (itemCtx) {\r\n // Normal core execution sequence\r\n itemCtx[_DYN_PROCESS_NEXT /* @min:%2eprocessNext */](env);\r\n }\r\n else if (_nextPlugin && isFunction(_nextPlugin[STR_PROCESS_TELEMETRY /* @min:%2eprocessTelemetry */])) {\r\n // Looks like backward compatibility or out of band processing. And as it looks\r\n // like a ITelemetryPlugin or ITelemetryPluginChain, just call processTelemetry\r\n _nextPlugin[STR_PROCESS_TELEMETRY /* @min:%2eprocessTelemetry */](env, null);\r\n }\r\n };\r\n _self._getTelCtx = _getTelCtx;\r\n function _getTelCtx(currentCtx) {\r\n if (currentCtx === void 0) { currentCtx = null; }\r\n var itemCtx = currentCtx;\r\n if (!itemCtx) {\r\n var rootCtx = _rootCtx || createProcessTelemetryContext(null, {}, _self[STR_CORE /* @min:%2ecore */]);\r\n // tslint:disable-next-line: prefer-conditional-expression\r\n if (_nextPlugin && _nextPlugin[strGetPlugin]) {\r\n // Looks like a chain object\r\n itemCtx = rootCtx[_DYN_CREATE_NEW /* @min:%2ecreateNew */](null, _nextPlugin[strGetPlugin]);\r\n }\r\n else {\r\n itemCtx = rootCtx[_DYN_CREATE_NEW /* @min:%2ecreateNew */](null, _nextPlugin);\r\n }\r\n }\r\n return itemCtx;\r\n }\r\n function _setDefaults(config, core, pluginChain) {\r\n // Make sure the extensionConfig exists and the config is dynamic\r\n createDynamicConfig(config, defaultValues, safeGetLogger(core));\r\n if (!pluginChain && core) {\r\n // Get the first plugin from the core\r\n pluginChain = core[_DYN_GET_PROCESS_TEL_CONT2 /* @min:%2egetProcessTelContext */]()[_DYN_GET_NEXT /* @min:%2egetNext */]();\r\n }\r\n var nextPlugin = _nextPlugin;\r\n if (_nextPlugin && _nextPlugin[strGetPlugin]) {\r\n // If it looks like a proxy/chain then get the plugin\r\n nextPlugin = _nextPlugin[strGetPlugin]();\r\n }\r\n // Support legacy plugins where core was defined as a property\r\n _self[STR_CORE /* @min:%2ecore */] = core;\r\n _rootCtx = createProcessTelemetryContext(pluginChain, config, core, nextPlugin);\r\n }\r\n function _initDefaults() {\r\n _isinitialized = false;\r\n _self[STR_CORE /* @min:%2ecore */] = null;\r\n _rootCtx = null;\r\n _nextPlugin = null;\r\n _hookContainer = createUnloadHookContainer();\r\n _unloadHandlerContainer = createUnloadHandlerContainer();\r\n }\r\n }\r\n BaseTelemetryPlugin.prototype.initialize = function (config, core, extensions, pluginChain) {\r\n // @DynamicProtoStub -- DO NOT add any code as this will be removed during packaging\r\n };\r\n /**\r\n * Tear down the plugin and remove any hooked value, the plugin should be removed so that it is no longer initialized and\r\n * therefore could be re-initialized after being torn down. The plugin should ensure that once this has been called any further\r\n * processTelemetry calls are ignored and it just calls the processNext() with the provided context.\r\n * @param unloadCtx - This is the context that should be used during unloading.\r\n * @param unloadState - The details / state of the unload process, it holds details like whether it should be unloaded synchronously or asynchronously and the reason for the unload.\r\n * @returns boolean - true if the plugin has or will call processNext(), this for backward compatibility as previously teardown was synchronous and returned nothing.\r\n */\r\n BaseTelemetryPlugin.prototype.teardown = function (unloadCtx, unloadState) {\r\n // @DynamicProtoStub -- DO NOT add any code as this will be removed during packaging\r\n return false;\r\n };\r\n /**\r\n * The the plugin should re-evaluate configuration and update any cached configuration settings.\r\n * @param updateCtx - This is the context that should be used during updating.\r\n * @param updateState - The details / state of the update process, it holds details like the current and previous configuration.\r\n * @returns boolean - true if the plugin has or will call updateCtx.processNext(), this allows the plugin to perform any asynchronous operations.\r\n */\r\n BaseTelemetryPlugin.prototype.update = function (updateCtx, updateState) {\r\n // @DynamicProtoStub -- DO NOT add any code as this will be removed during packaging\r\n };\r\n /**\r\n * Add an unload handler that will be called when the SDK is being unloaded\r\n * @param handler - the handler\r\n */\r\n BaseTelemetryPlugin.prototype._addUnloadCb = function (handler) {\r\n // @DynamicProtoStub -- DO NOT add any code as this will be removed during packaging\r\n };\r\n /**\r\n * Add this hook so that it is automatically removed during unloading\r\n * @param hooks - The single hook or an array of IInstrumentHook objects\r\n */\r\n BaseTelemetryPlugin.prototype._addHook = function (hooks) {\r\n // @DynamicProtoStub -- DO NOT add any code as this will be removed during packaging\r\n };\r\n return BaseTelemetryPlugin;\r\n}());\r\nexport { BaseTelemetryPlugin };\r\n//# sourceMappingURL=BaseTelemetryPlugin.js.map","/*\r\n * @nevware21/ts-utils\r\n * https://github.com/nevware21/ts-utils\r\n *\r\n * Copyright (c) 2022 NevWare21 Solutions LLC\r\n * Licensed under the MIT license.\r\n */\r\n\r\nimport { isArray, isUndefined } from \"../helpers/base\";\r\nimport { isIterable, isIterator } from \"../iterator/iterator\";\r\nimport { iterForOf } from \"../iterator/forOf\";\r\nimport { fnApply } from \"../funcs/funcs\";\r\n\r\n/**\r\n * Appends the `elms` to the `target` where the elms may be an array, a single object\r\n * or an iterator object\r\n * @group Array\r\n * @group Iterator\r\n * @example\r\n * ```ts\r\n * let theArray = arrAppend([], 1);\r\n * arrAppend(theArray, [ 2, 3, 4 ]);\r\n * arrAppend(theArray, [ \"a\", \"b\", \"c\" ]);\r\n * // theArray is now [ 1, 2, 3, 4, \"a\", \"b\", \"c\" ]\r\n * ```\r\n * @param target - The target array\r\n * @param elms - The item, array of items an iterable or iterator object of items to add to the target\r\n * @returns The passed in target array\r\n * @example\r\n * ```ts\r\n * // Adding a single value\r\n * arrAppend([], undefined); // []\r\n * arrAppend([], 0); // [ 0 ]\r\n * arrAppend([1], undefined); // [ 1 ]\r\n * arrAppend([1], 2); // [ 1, 2 ]\r\n *\r\n * // Adding an array\r\n * arrAppend([], [] as number[]); // []\r\n * arrAppend([], [0]); // [ 0 ]\r\n * arrAppend([1], []); // [ 1 ]\r\n * arrAppend([1], [2]); // [ 1, 2 ]\r\n *\r\n * // Adding with an iterator\r\n * arrAppend([], ([] as number[]).values()); // []\r\n * arrAppend([], [0].values()); // [ 0 ]\r\n * arrAppend([1], [].keys()); // [ 1 ]\r\n * arrAppend([1], [2].values()); // [ 1, 2 ]\r\n * arrAppend([1], [2].keys()); // [ 1, 0 ] - 0 is from the index from the first element\r\n * ```\r\n */\r\nexport function arrAppend(target: T[], elms: T | T[] | Iterator): T[] {\r\n if (!isUndefined(elms) && target) {\r\n if (isArray(elms)) {\r\n // This is not just \"target.push(elms)\" but becomes effectively \"target.push(elms[0], elms[1], ...)\"\r\n fnApply(target.push, target, elms);\r\n } else if (isIterator(elms) || isIterable(elms)) {\r\n iterForOf(elms, (elm) => {\r\n target.push(elm);\r\n });\r\n } else {\r\n target.push(elms);\r\n }\r\n }\r\n\r\n return target;\r\n}\r\n","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT License.\r\nimport { arrForEach, dumpObj } from \"@nevware21/ts-utils\";\r\nimport { _DYN_DIAG_LOG, _DYN_PUSH } from \"../__DynamicConstants\";\r\nimport { _throwInternal } from \"./DiagnosticLogger\";\r\nexport function createUnloadHandlerContainer() {\r\n var handlers = [];\r\n function _addHandler(handler) {\r\n if (handler) {\r\n handlers[_DYN_PUSH /* @min:%2epush */](handler);\r\n }\r\n }\r\n function _runHandlers(unloadCtx, unloadState) {\r\n arrForEach(handlers, function (handler) {\r\n try {\r\n handler(unloadCtx, unloadState);\r\n }\r\n catch (e) {\r\n _throwInternal(unloadCtx[_DYN_DIAG_LOG /* @min:%2ediagLog */](), 2 /* eLoggingSeverity.WARNING */, 73 /* _eInternalMessageId.PluginException */, \"Unexpected error calling unload handler - \" + dumpObj(e));\r\n }\r\n });\r\n handlers = [];\r\n }\r\n return {\r\n add: _addHandler,\r\n run: _runHandlers\r\n };\r\n}\r\n//# sourceMappingURL=UnloadHandlerContainer.js.map","/**\r\n* ReactPlugin.ts\r\n* @copyright Microsoft 2019\r\n*/\r\nimport { __extends } from \"tslib\";\r\nimport dynamicProto from \"@microsoft/dynamicproto-js\";\r\nimport { AnalyticsPluginIdentifier } from \"@microsoft/applicationinsights-common\";\r\nimport { BaseTelemetryPlugin, _throwInternal, isFunction, proxyFunctions, safeGetCookieMgr, onConfigChange, objDefineAccessors } from \"@microsoft/applicationinsights-core-js\";\r\nimport { objDeepFreeze } from \"@nevware21/ts-utils\";\r\nvar defaultReactExtensionConfig = objDeepFreeze({\r\n history: { blkVal: true, v: undefined }\r\n});\r\nvar ReactPlugin = /** @class */ (function (_super) {\r\n __extends(ReactPlugin, _super);\r\n function ReactPlugin() {\r\n var _this = _super.call(this) || this;\r\n _this.priority = 185;\r\n _this.identifier = 'ReactPlugin';\r\n var _analyticsPlugin;\r\n var _extensionConfig;\r\n var _unlisten;\r\n var _pageViewTimer;\r\n var _pageViewTracked;\r\n dynamicProto(ReactPlugin, _this, function (_self, _base) {\r\n _initDefaults();\r\n _self.initialize = function (config, core, extensions, pluginChain) {\r\n _super.prototype.initialize.call(_this, config, core, extensions, pluginChain);\r\n _self._addHook(onConfigChange(config, function (details) {\r\n var _a;\r\n var ctx = _self._getTelCtx();\r\n _extensionConfig = ctx.getExtCfg(_this.identifier, defaultReactExtensionConfig);\r\n _analyticsPlugin = (_a = core.getPlugin(AnalyticsPluginIdentifier)) === null || _a === void 0 ? void 0 : _a.plugin;\r\n if (isFunction(_unlisten)) {\r\n _unlisten();\r\n _unlisten = null;\r\n }\r\n if (_extensionConfig.history) {\r\n _addHistoryListener(_extensionConfig.history);\r\n if (!_pageViewTracked) {\r\n var pageViewTelemetry = {\r\n uri: _extensionConfig.history.location.pathname\r\n };\r\n _self.trackPageView(pageViewTelemetry);\r\n _pageViewTracked = true;\r\n }\r\n }\r\n }));\r\n };\r\n _self.getCookieMgr = function () {\r\n return safeGetCookieMgr(_self.core);\r\n };\r\n _self.getAppInsights = _getAnalytics;\r\n _self.processTelemetry = function (event, itemCtx) {\r\n _self.processNext(event, itemCtx);\r\n };\r\n _self._doTeardown = function (unloadCtx, unloadState, asyncCallback) {\r\n if (isFunction(_unlisten)) {\r\n _unlisten();\r\n }\r\n if (_pageViewTimer) {\r\n clearTimeout(_pageViewTimer);\r\n }\r\n _initDefaults();\r\n };\r\n // Proxy the analytics functions\r\n proxyFunctions(_self, _getAnalytics, [\r\n \"trackMetric\",\r\n \"trackPageView\",\r\n \"trackEvent\",\r\n \"trackException\",\r\n \"trackTrace\",\r\n ]);\r\n function _initDefaults() {\r\n _analyticsPlugin = null;\r\n _extensionConfig = null;\r\n _unlisten = null;\r\n _pageViewTimer = null;\r\n _pageViewTracked = false;\r\n }\r\n function _getAnalytics() {\r\n if (!_analyticsPlugin) {\r\n _throwInternal(_self.diagLog(), 1 /* eLoggingSeverity.CRITICAL */, 64 /* _eInternalMessageId.TelemetryInitializerFailed */, \"Analytics plugin is not available, React plugin telemetry will not be sent: \");\r\n }\r\n return _analyticsPlugin;\r\n }\r\n function _addHistoryListener(history) {\r\n var locationListener = function (arg) {\r\n // v4 of the history API passes \"location\" as the first argument, while v5 passes an object that contains location and action \r\n var locn = null;\r\n if (\"location\" in arg) {\r\n // Looks like v5\r\n locn = arg[\"location\"];\r\n }\r\n else {\r\n locn = arg;\r\n }\r\n // Timeout to ensure any changes to the DOM made by route changes get included in pageView telemetry\r\n _pageViewTimer = setTimeout(function () {\r\n _pageViewTimer = null;\r\n var pageViewTelemetry = { uri: locn.pathname };\r\n _self.trackPageView(pageViewTelemetry);\r\n }, 500);\r\n };\r\n _unlisten = history.listen(locationListener);\r\n }\r\n objDefineAccessors(_self, \"_extensionConfig\", function () { return _extensionConfig; });\r\n });\r\n return _this;\r\n }\r\n ReactPlugin.prototype.initialize = function (config, core, extensions, pluginChain) {\r\n // @DynamicProtoStub -- DO NOT add any code as this will be removed during packaging\r\n };\r\n /**\r\n * Get the current cookie manager for this instance\r\n */\r\n ReactPlugin.prototype.getCookieMgr = function () {\r\n // @DynamicProtoStub -- DO NOT add any code as this will be removed during packaging\r\n return null;\r\n };\r\n /**\r\n * Get application insights instance.\r\n */\r\n ReactPlugin.prototype.getAppInsights = function () {\r\n // @DynamicProtoStub -- DO NOT add any code as this will be removed during packaging\r\n return null;\r\n };\r\n /**\r\n * Add Part A fields to the event\r\n * @param event The event that needs to be processed\r\n */\r\n ReactPlugin.prototype.processTelemetry = function (event, itemCtx) {\r\n // @DynamicProtoStub -- DO NOT add any code as this will be removed during packaging\r\n };\r\n ReactPlugin.prototype.trackMetric = function (metric, customProperties) {\r\n // @DynamicProtoStub -- DO NOT add any code as this will be removed during packaging\r\n };\r\n ReactPlugin.prototype.trackPageView = function (pageView) {\r\n // @DynamicProtoStub -- DO NOT add any code as this will be removed during packaging\r\n };\r\n ReactPlugin.prototype.trackEvent = function (event, customProperties) {\r\n // @DynamicProtoStub -- DO NOT add any code as this will be removed during packaging\r\n };\r\n ReactPlugin.prototype.trackException = function (exception, customProperties) {\r\n // @DynamicProtoStub -- DO NOT add any code as this will be removed during packaging\r\n };\r\n ReactPlugin.prototype.trackTrace = function (trace, customProperties) {\r\n // @DynamicProtoStub -- DO NOT add any code as this will be removed during packaging\r\n };\r\n return ReactPlugin;\r\n}(BaseTelemetryPlugin));\r\nexport default ReactPlugin;\r\n//# sourceMappingURL=ReactPlugin.js.map","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT License.\r\nimport { __assign, __extends } from \"tslib\";\r\nimport { dateNow } from '@microsoft/applicationinsights-core-js';\r\nimport * as React from 'react';\r\n/**\r\n * Higher-order component base class to hook Application Insights tracking\r\n * in a React component's lifecycle.\r\n */\r\nvar AITrackedComponentBase = /** @class */ (function (_super) {\r\n __extends(AITrackedComponentBase, _super);\r\n function AITrackedComponentBase(props, reactPlugin, componentName) {\r\n var _this = _super.call(this, props) || this;\r\n _this._mountTimestamp = 0;\r\n _this._firstActiveTimestamp = 0;\r\n _this._idleStartTimestamp = 0;\r\n _this._lastActiveTimestamp = 0;\r\n _this._totalIdleTime = 0;\r\n _this._idleCount = 0;\r\n _this._idleTimeout = 5000;\r\n _this.trackActivity = function (e) {\r\n if (_this._firstActiveTimestamp === 0) {\r\n _this._firstActiveTimestamp = dateNow();\r\n _this._lastActiveTimestamp = _this._firstActiveTimestamp;\r\n }\r\n else {\r\n _this._lastActiveTimestamp = dateNow();\r\n }\r\n if (_this._idleStartTimestamp > 0) {\r\n var lastIdleTime = _this._lastActiveTimestamp - _this._idleStartTimestamp;\r\n _this._totalIdleTime += lastIdleTime;\r\n _this._idleStartTimestamp = 0;\r\n }\r\n };\r\n _this._reactPlugin = reactPlugin;\r\n _this._componentName = componentName;\r\n return _this;\r\n }\r\n AITrackedComponentBase.prototype.componentDidMount = function () {\r\n var _this = this;\r\n this._mountTimestamp = dateNow();\r\n this._firstActiveTimestamp = 0;\r\n this._totalIdleTime = 0;\r\n this._lastActiveTimestamp = 0;\r\n this._idleStartTimestamp = 0;\r\n this._idleCount = 0;\r\n this._intervalId = setInterval(function () {\r\n if (_this._lastActiveTimestamp > 0 && _this._idleStartTimestamp === 0 && dateNow() - _this._lastActiveTimestamp >= _this._idleTimeout) {\r\n _this._idleStartTimestamp = dateNow();\r\n _this._idleCount++;\r\n }\r\n }, 100);\r\n };\r\n AITrackedComponentBase.prototype.componentWillUnmount = function () {\r\n if (this._mountTimestamp === 0) {\r\n throw new Error('withAITracking:componentWillUnmount: mountTimestamp is not initialized.');\r\n }\r\n if (this._intervalId) {\r\n clearInterval(this._intervalId);\r\n }\r\n if (this._firstActiveTimestamp === 0) {\r\n return;\r\n }\r\n var engagementTime = this.getEngagementTimeSeconds();\r\n var metricData = {\r\n average: engagementTime,\r\n name: 'React Component Engaged Time (seconds)',\r\n sampleCount: 1\r\n };\r\n var additionalProperties = { 'Component Name': this._componentName };\r\n this._reactPlugin.trackMetric(metricData, additionalProperties);\r\n };\r\n AITrackedComponentBase.prototype.getEngagementTimeSeconds = function () {\r\n return (dateNow() - this._firstActiveTimestamp - this._totalIdleTime - this._idleCount * this._idleTimeout) / 1000;\r\n };\r\n return AITrackedComponentBase;\r\n}(React.Component));\r\nexport { AITrackedComponentBase };\r\n/**\r\n * Higher-order component function to hook Application Insights tracking\r\n * in a React component's lifecycle.\r\n *\r\n * @param reactPlugin ReactPlugin instance\r\n * @param Component the React component to be instrumented\r\n * @param componentName (optional) component name\r\n * @param className (optional) className of the HOC div\r\n */\r\nexport default function withAITracking(reactPlugin, Component, componentName, className) {\r\n if (componentName === undefined || componentName === null || typeof componentName !== 'string') {\r\n componentName = Component.prototype &&\r\n Component.prototype.constructor &&\r\n Component.prototype.constructor.name ||\r\n 'Unknown';\r\n }\r\n if (className === undefined || className === null || typeof className !== 'string') {\r\n className = '';\r\n }\r\n return /** @class */ (function (_super) {\r\n __extends(class_1, _super);\r\n function class_1(props) {\r\n return _super.call(this, props, reactPlugin, componentName) || this;\r\n }\r\n class_1.prototype.render = function () {\r\n return (React.createElement(\"div\", { onKeyDown: this.trackActivity, onMouseMove: this.trackActivity, onScroll: this.trackActivity, onMouseDown: this.trackActivity, onTouchStart: this.trackActivity, onTouchMove: this.trackActivity, className: className },\r\n React.createElement(Component, __assign({}, this.props))));\r\n };\r\n return class_1;\r\n }(AITrackedComponentBase));\r\n}\r\n//# sourceMappingURL=withAITracking.js.map","import { createBrowserHistory } from 'history';\r\n\r\nconst history = createBrowserHistory();\r\n\r\nexport default history;\r\n","import React from 'react';\nexport var ReactReduxContext = /*#__PURE__*/React.createContext(null);\n\nif (process.env.NODE_ENV !== 'production') {\n ReactReduxContext.displayName = 'ReactRedux';\n}\n\nexport default ReactReduxContext;","// Default to a dummy \"batch\" implementation that just runs the callback\nfunction defaultNoopBatch(callback) {\n callback();\n}\n\nvar batch = defaultNoopBatch; // Allow injecting another batching function later\n\nexport var setBatch = function setBatch(newBatch) {\n return batch = newBatch;\n}; // Supply a getter just to skip dealing with ESM bindings\n\nexport var getBatch = function getBatch() {\n return batch;\n};","import { getBatch } from './batch'; // encapsulates the subscription logic for connecting a component to the redux store, as\n// well as nesting subscriptions of descendant components, so that we can ensure the\n// ancestor components re-render before descendants\n\nfunction createListenerCollection() {\n var batch = getBatch();\n var first = null;\n var last = null;\n return {\n clear: function clear() {\n first = null;\n last = null;\n },\n notify: function notify() {\n batch(function () {\n var listener = first;\n\n while (listener) {\n listener.callback();\n listener = listener.next;\n }\n });\n },\n get: function get() {\n var listeners = [];\n var listener = first;\n\n while (listener) {\n listeners.push(listener);\n listener = listener.next;\n }\n\n return listeners;\n },\n subscribe: function subscribe(callback) {\n var isSubscribed = true;\n var listener = last = {\n callback: callback,\n next: null,\n prev: last\n };\n\n if (listener.prev) {\n listener.prev.next = listener;\n } else {\n first = listener;\n }\n\n return function unsubscribe() {\n if (!isSubscribed || first === null) return;\n isSubscribed = false;\n\n if (listener.next) {\n listener.next.prev = listener.prev;\n } else {\n last = listener.prev;\n }\n\n if (listener.prev) {\n listener.prev.next = listener.next;\n } else {\n first = listener.next;\n }\n };\n }\n };\n}\n\nvar nullListeners = {\n notify: function notify() {},\n get: function get() {\n return [];\n }\n};\nexport function createSubscription(store, parentSub) {\n var unsubscribe;\n var listeners = nullListeners;\n\n function addNestedSub(listener) {\n trySubscribe();\n return listeners.subscribe(listener);\n }\n\n function notifyNestedSubs() {\n listeners.notify();\n }\n\n function handleChangeWrapper() {\n if (subscription.onStateChange) {\n subscription.onStateChange();\n }\n }\n\n function isSubscribed() {\n return Boolean(unsubscribe);\n }\n\n function trySubscribe() {\n if (!unsubscribe) {\n unsubscribe = parentSub ? parentSub.addNestedSub(handleChangeWrapper) : store.subscribe(handleChangeWrapper);\n listeners = createListenerCollection();\n }\n }\n\n function tryUnsubscribe() {\n if (unsubscribe) {\n unsubscribe();\n unsubscribe = undefined;\n listeners.clear();\n listeners = nullListeners;\n }\n }\n\n var subscription = {\n addNestedSub: addNestedSub,\n notifyNestedSubs: notifyNestedSubs,\n handleChangeWrapper: handleChangeWrapper,\n isSubscribed: isSubscribed,\n trySubscribe: trySubscribe,\n tryUnsubscribe: tryUnsubscribe,\n getListeners: function getListeners() {\n return listeners;\n }\n };\n return subscription;\n}","import { useEffect, useLayoutEffect } from 'react'; // React currently throws a warning when using useLayoutEffect on the server.\n// To get around it, we can conditionally useEffect on the server (no-op) and\n// useLayoutEffect in the browser. We need useLayoutEffect to ensure the store\n// subscription callback always has the selector from the latest render commit\n// available, otherwise a store update may happen between render and the effect,\n// which may cause missed updates; we also must ensure the store subscription\n// is created synchronously, otherwise a store update may occur before the\n// subscription is created and an inconsistent state may be observed\n\nexport var useIsomorphicLayoutEffect = typeof window !== 'undefined' && typeof window.document !== 'undefined' && typeof window.document.createElement !== 'undefined' ? useLayoutEffect : useEffect;","import React, { useMemo } from 'react';\nimport PropTypes from 'prop-types';\nimport { ReactReduxContext } from './Context';\nimport { createSubscription } from '../utils/Subscription';\nimport { useIsomorphicLayoutEffect } from '../utils/useIsomorphicLayoutEffect';\n\nfunction Provider(_ref) {\n var store = _ref.store,\n context = _ref.context,\n children = _ref.children;\n var contextValue = useMemo(function () {\n var subscription = createSubscription(store);\n return {\n store: store,\n subscription: subscription\n };\n }, [store]);\n var previousState = useMemo(function () {\n return store.getState();\n }, [store]);\n useIsomorphicLayoutEffect(function () {\n var subscription = contextValue.subscription;\n subscription.onStateChange = subscription.notifyNestedSubs;\n subscription.trySubscribe();\n\n if (previousState !== store.getState()) {\n subscription.notifyNestedSubs();\n }\n\n return function () {\n subscription.tryUnsubscribe();\n subscription.onStateChange = null;\n };\n }, [contextValue, previousState]);\n var Context = context || ReactReduxContext;\n return /*#__PURE__*/React.createElement(Context.Provider, {\n value: contextValue\n }, children);\n}\n\nif (process.env.NODE_ENV !== 'production') {\n Provider.propTypes = {\n store: PropTypes.shape({\n subscribe: PropTypes.func.isRequired,\n dispatch: PropTypes.func.isRequired,\n getState: PropTypes.func.isRequired\n }),\n context: PropTypes.object,\n children: PropTypes.any\n };\n}\n\nexport default Provider;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nvar _excluded = [\"getDisplayName\", \"methodName\", \"renderCountProp\", \"shouldHandleStateChanges\", \"storeKey\", \"withRef\", \"forwardRef\", \"context\"],\n _excluded2 = [\"reactReduxForwardedRef\"];\nimport hoistStatics from 'hoist-non-react-statics';\nimport React, { useContext, useMemo, useRef, useReducer } from 'react';\nimport { isValidElementType, isContextConsumer } from 'react-is';\nimport { createSubscription } from '../utils/Subscription';\nimport { useIsomorphicLayoutEffect } from '../utils/useIsomorphicLayoutEffect';\nimport { ReactReduxContext } from './Context'; // Define some constant arrays just to avoid re-creating these\n\nvar EMPTY_ARRAY = [];\nvar NO_SUBSCRIPTION_ARRAY = [null, null];\n\nvar stringifyComponent = function stringifyComponent(Comp) {\n try {\n return JSON.stringify(Comp);\n } catch (err) {\n return String(Comp);\n }\n};\n\nfunction storeStateUpdatesReducer(state, action) {\n var updateCount = state[1];\n return [action.payload, updateCount + 1];\n}\n\nfunction useIsomorphicLayoutEffectWithArgs(effectFunc, effectArgs, dependencies) {\n useIsomorphicLayoutEffect(function () {\n return effectFunc.apply(void 0, effectArgs);\n }, dependencies);\n}\n\nfunction captureWrapperProps(lastWrapperProps, lastChildProps, renderIsScheduled, wrapperProps, actualChildProps, childPropsFromStoreUpdate, notifyNestedSubs) {\n // We want to capture the wrapper props and child props we used for later comparisons\n lastWrapperProps.current = wrapperProps;\n lastChildProps.current = actualChildProps;\n renderIsScheduled.current = false; // If the render was from a store update, clear out that reference and cascade the subscriber update\n\n if (childPropsFromStoreUpdate.current) {\n childPropsFromStoreUpdate.current = null;\n notifyNestedSubs();\n }\n}\n\nfunction subscribeUpdates(shouldHandleStateChanges, store, subscription, childPropsSelector, lastWrapperProps, lastChildProps, renderIsScheduled, childPropsFromStoreUpdate, notifyNestedSubs, forceComponentUpdateDispatch) {\n // If we're not subscribed to the store, nothing to do here\n if (!shouldHandleStateChanges) return; // Capture values for checking if and when this component unmounts\n\n var didUnsubscribe = false;\n var lastThrownError = null; // We'll run this callback every time a store subscription update propagates to this component\n\n var checkForUpdates = function checkForUpdates() {\n if (didUnsubscribe) {\n // Don't run stale listeners.\n // Redux doesn't guarantee unsubscriptions happen until next dispatch.\n return;\n }\n\n var latestStoreState = store.getState();\n var newChildProps, error;\n\n try {\n // Actually run the selector with the most recent store state and wrapper props\n // to determine what the child props should be\n newChildProps = childPropsSelector(latestStoreState, lastWrapperProps.current);\n } catch (e) {\n error = e;\n lastThrownError = e;\n }\n\n if (!error) {\n lastThrownError = null;\n } // If the child props haven't changed, nothing to do here - cascade the subscription update\n\n\n if (newChildProps === lastChildProps.current) {\n if (!renderIsScheduled.current) {\n notifyNestedSubs();\n }\n } else {\n // Save references to the new child props. Note that we track the \"child props from store update\"\n // as a ref instead of a useState/useReducer because we need a way to determine if that value has\n // been processed. If this went into useState/useReducer, we couldn't clear out the value without\n // forcing another re-render, which we don't want.\n lastChildProps.current = newChildProps;\n childPropsFromStoreUpdate.current = newChildProps;\n renderIsScheduled.current = true; // If the child props _did_ change (or we caught an error), this wrapper component needs to re-render\n\n forceComponentUpdateDispatch({\n type: 'STORE_UPDATED',\n payload: {\n error: error\n }\n });\n }\n }; // Actually subscribe to the nearest connected ancestor (or store)\n\n\n subscription.onStateChange = checkForUpdates;\n subscription.trySubscribe(); // Pull data from the store after first render in case the store has\n // changed since we began.\n\n checkForUpdates();\n\n var unsubscribeWrapper = function unsubscribeWrapper() {\n didUnsubscribe = true;\n subscription.tryUnsubscribe();\n subscription.onStateChange = null;\n\n if (lastThrownError) {\n // It's possible that we caught an error due to a bad mapState function, but the\n // parent re-rendered without this component and we're about to unmount.\n // This shouldn't happen as long as we do top-down subscriptions correctly, but\n // if we ever do those wrong, this throw will surface the error in our tests.\n // In that case, throw the error from here so it doesn't get lost.\n throw lastThrownError;\n }\n };\n\n return unsubscribeWrapper;\n}\n\nvar initStateUpdates = function initStateUpdates() {\n return [null, 0];\n};\n\nexport default function connectAdvanced(\n/*\r\n selectorFactory is a func that is responsible for returning the selector function used to\r\n compute new props from state, props, and dispatch. For example:\r\n export default connectAdvanced((dispatch, options) => (state, props) => ({\r\n thing: state.things[props.thingId],\r\n saveThing: fields => dispatch(actionCreators.saveThing(props.thingId, fields)),\r\n }))(YourComponent)\r\n Access to dispatch is provided to the factory so selectorFactories can bind actionCreators\r\n outside of their selector as an optimization. Options passed to connectAdvanced are passed to\r\n the selectorFactory, along with displayName and WrappedComponent, as the second argument.\r\n Note that selectorFactory is responsible for all caching/memoization of inbound and outbound\r\n props. Do not use connectAdvanced directly without memoizing results between calls to your\r\n selector, otherwise the Connect component will re-render on every state or props change.\r\n*/\nselectorFactory, // options object:\n_ref) {\n if (_ref === void 0) {\n _ref = {};\n }\n\n var _ref2 = _ref,\n _ref2$getDisplayName = _ref2.getDisplayName,\n getDisplayName = _ref2$getDisplayName === void 0 ? function (name) {\n return \"ConnectAdvanced(\" + name + \")\";\n } : _ref2$getDisplayName,\n _ref2$methodName = _ref2.methodName,\n methodName = _ref2$methodName === void 0 ? 'connectAdvanced' : _ref2$methodName,\n _ref2$renderCountProp = _ref2.renderCountProp,\n renderCountProp = _ref2$renderCountProp === void 0 ? undefined : _ref2$renderCountProp,\n _ref2$shouldHandleSta = _ref2.shouldHandleStateChanges,\n shouldHandleStateChanges = _ref2$shouldHandleSta === void 0 ? true : _ref2$shouldHandleSta,\n _ref2$storeKey = _ref2.storeKey,\n storeKey = _ref2$storeKey === void 0 ? 'store' : _ref2$storeKey,\n _ref2$withRef = _ref2.withRef,\n withRef = _ref2$withRef === void 0 ? false : _ref2$withRef,\n _ref2$forwardRef = _ref2.forwardRef,\n forwardRef = _ref2$forwardRef === void 0 ? false : _ref2$forwardRef,\n _ref2$context = _ref2.context,\n context = _ref2$context === void 0 ? ReactReduxContext : _ref2$context,\n connectOptions = _objectWithoutPropertiesLoose(_ref2, _excluded);\n\n if (process.env.NODE_ENV !== 'production') {\n if (renderCountProp !== undefined) {\n throw new Error(\"renderCountProp is removed. render counting is built into the latest React Dev Tools profiling extension\");\n }\n\n if (withRef) {\n throw new Error('withRef is removed. To access the wrapped instance, use a ref on the connected component');\n }\n\n var customStoreWarningMessage = 'To use a custom Redux store for specific components, create a custom React context with ' + \"React.createContext(), and pass the context object to React Redux's Provider and specific components\" + ' like: . ' + 'You may also pass a {context : MyContext} option to connect';\n\n if (storeKey !== 'store') {\n throw new Error('storeKey has been removed and does not do anything. ' + customStoreWarningMessage);\n }\n }\n\n var Context = context;\n return function wrapWithConnect(WrappedComponent) {\n if (process.env.NODE_ENV !== 'production' && !isValidElementType(WrappedComponent)) {\n throw new Error(\"You must pass a component to the function returned by \" + (methodName + \". Instead received \" + stringifyComponent(WrappedComponent)));\n }\n\n var wrappedComponentName = WrappedComponent.displayName || WrappedComponent.name || 'Component';\n var displayName = getDisplayName(wrappedComponentName);\n\n var selectorFactoryOptions = _extends({}, connectOptions, {\n getDisplayName: getDisplayName,\n methodName: methodName,\n renderCountProp: renderCountProp,\n shouldHandleStateChanges: shouldHandleStateChanges,\n storeKey: storeKey,\n displayName: displayName,\n wrappedComponentName: wrappedComponentName,\n WrappedComponent: WrappedComponent\n });\n\n var pure = connectOptions.pure;\n\n function createChildSelector(store) {\n return selectorFactory(store.dispatch, selectorFactoryOptions);\n } // If we aren't running in \"pure\" mode, we don't want to memoize values.\n // To avoid conditionally calling hooks, we fall back to a tiny wrapper\n // that just executes the given callback immediately.\n\n\n var usePureOnlyMemo = pure ? useMemo : function (callback) {\n return callback();\n };\n\n function ConnectFunction(props) {\n var _useMemo = useMemo(function () {\n // Distinguish between actual \"data\" props that were passed to the wrapper component,\n // and values needed to control behavior (forwarded refs, alternate context instances).\n // To maintain the wrapperProps object reference, memoize this destructuring.\n var reactReduxForwardedRef = props.reactReduxForwardedRef,\n wrapperProps = _objectWithoutPropertiesLoose(props, _excluded2);\n\n return [props.context, reactReduxForwardedRef, wrapperProps];\n }, [props]),\n propsContext = _useMemo[0],\n reactReduxForwardedRef = _useMemo[1],\n wrapperProps = _useMemo[2];\n\n var ContextToUse = useMemo(function () {\n // Users may optionally pass in a custom context instance to use instead of our ReactReduxContext.\n // Memoize the check that determines which context instance we should use.\n return propsContext && propsContext.Consumer && isContextConsumer( /*#__PURE__*/React.createElement(propsContext.Consumer, null)) ? propsContext : Context;\n }, [propsContext, Context]); // Retrieve the store and ancestor subscription via context, if available\n\n var contextValue = useContext(ContextToUse); // The store _must_ exist as either a prop or in context.\n // We'll check to see if it _looks_ like a Redux store first.\n // This allows us to pass through a `store` prop that is just a plain value.\n\n var didStoreComeFromProps = Boolean(props.store) && Boolean(props.store.getState) && Boolean(props.store.dispatch);\n var didStoreComeFromContext = Boolean(contextValue) && Boolean(contextValue.store);\n\n if (process.env.NODE_ENV !== 'production' && !didStoreComeFromProps && !didStoreComeFromContext) {\n throw new Error(\"Could not find \\\"store\\\" in the context of \" + (\"\\\"\" + displayName + \"\\\". Either wrap the root component in a , \") + \"or pass a custom React context provider to and the corresponding \" + (\"React context consumer to \" + displayName + \" in connect options.\"));\n } // Based on the previous check, one of these must be true\n\n\n var store = didStoreComeFromProps ? props.store : contextValue.store;\n var childPropsSelector = useMemo(function () {\n // The child props selector needs the store reference as an input.\n // Re-create this selector whenever the store changes.\n return createChildSelector(store);\n }, [store]);\n\n var _useMemo2 = useMemo(function () {\n if (!shouldHandleStateChanges) return NO_SUBSCRIPTION_ARRAY; // This Subscription's source should match where store came from: props vs. context. A component\n // connected to the store via props shouldn't use subscription from context, or vice versa.\n\n // This Subscription's source should match where store came from: props vs. context. A component\n // connected to the store via props shouldn't use subscription from context, or vice versa.\n var subscription = createSubscription(store, didStoreComeFromProps ? null : contextValue.subscription); // `notifyNestedSubs` is duplicated to handle the case where the component is unmounted in\n // the middle of the notification loop, where `subscription` will then be null. This can\n // probably be avoided if Subscription's listeners logic is changed to not call listeners\n // that have been unsubscribed in the middle of the notification loop.\n\n // `notifyNestedSubs` is duplicated to handle the case where the component is unmounted in\n // the middle of the notification loop, where `subscription` will then be null. This can\n // probably be avoided if Subscription's listeners logic is changed to not call listeners\n // that have been unsubscribed in the middle of the notification loop.\n var notifyNestedSubs = subscription.notifyNestedSubs.bind(subscription);\n return [subscription, notifyNestedSubs];\n }, [store, didStoreComeFromProps, contextValue]),\n subscription = _useMemo2[0],\n notifyNestedSubs = _useMemo2[1]; // Determine what {store, subscription} value should be put into nested context, if necessary,\n // and memoize that value to avoid unnecessary context updates.\n\n\n var overriddenContextValue = useMemo(function () {\n if (didStoreComeFromProps) {\n // This component is directly subscribed to a store from props.\n // We don't want descendants reading from this store - pass down whatever\n // the existing context value is from the nearest connected ancestor.\n return contextValue;\n } // Otherwise, put this component's subscription instance into context, so that\n // connected descendants won't update until after this component is done\n\n\n return _extends({}, contextValue, {\n subscription: subscription\n });\n }, [didStoreComeFromProps, contextValue, subscription]); // We need to force this wrapper component to re-render whenever a Redux store update\n // causes a change to the calculated child component props (or we caught an error in mapState)\n\n var _useReducer = useReducer(storeStateUpdatesReducer, EMPTY_ARRAY, initStateUpdates),\n _useReducer$ = _useReducer[0],\n previousStateUpdateResult = _useReducer$[0],\n forceComponentUpdateDispatch = _useReducer[1]; // Propagate any mapState/mapDispatch errors upwards\n\n\n if (previousStateUpdateResult && previousStateUpdateResult.error) {\n throw previousStateUpdateResult.error;\n } // Set up refs to coordinate values between the subscription effect and the render logic\n\n\n var lastChildProps = useRef();\n var lastWrapperProps = useRef(wrapperProps);\n var childPropsFromStoreUpdate = useRef();\n var renderIsScheduled = useRef(false);\n var actualChildProps = usePureOnlyMemo(function () {\n // Tricky logic here:\n // - This render may have been triggered by a Redux store update that produced new child props\n // - However, we may have gotten new wrapper props after that\n // If we have new child props, and the same wrapper props, we know we should use the new child props as-is.\n // But, if we have new wrapper props, those might change the child props, so we have to recalculate things.\n // So, we'll use the child props from store update only if the wrapper props are the same as last time.\n if (childPropsFromStoreUpdate.current && wrapperProps === lastWrapperProps.current) {\n return childPropsFromStoreUpdate.current;\n } // TODO We're reading the store directly in render() here. Bad idea?\n // This will likely cause Bad Things (TM) to happen in Concurrent Mode.\n // Note that we do this because on renders _not_ caused by store updates, we need the latest store state\n // to determine what the child props should be.\n\n\n return childPropsSelector(store.getState(), wrapperProps);\n }, [store, previousStateUpdateResult, wrapperProps]); // We need this to execute synchronously every time we re-render. However, React warns\n // about useLayoutEffect in SSR, so we try to detect environment and fall back to\n // just useEffect instead to avoid the warning, since neither will run anyway.\n\n useIsomorphicLayoutEffectWithArgs(captureWrapperProps, [lastWrapperProps, lastChildProps, renderIsScheduled, wrapperProps, actualChildProps, childPropsFromStoreUpdate, notifyNestedSubs]); // Our re-subscribe logic only runs when the store/subscription setup changes\n\n useIsomorphicLayoutEffectWithArgs(subscribeUpdates, [shouldHandleStateChanges, store, subscription, childPropsSelector, lastWrapperProps, lastChildProps, renderIsScheduled, childPropsFromStoreUpdate, notifyNestedSubs, forceComponentUpdateDispatch], [store, subscription, childPropsSelector]); // Now that all that's done, we can finally try to actually render the child component.\n // We memoize the elements for the rendered child component as an optimization.\n\n var renderedWrappedComponent = useMemo(function () {\n return /*#__PURE__*/React.createElement(WrappedComponent, _extends({}, actualChildProps, {\n ref: reactReduxForwardedRef\n }));\n }, [reactReduxForwardedRef, WrappedComponent, actualChildProps]); // If React sees the exact same element reference as last time, it bails out of re-rendering\n // that child, same as if it was wrapped in React.memo() or returned false from shouldComponentUpdate.\n\n var renderedChild = useMemo(function () {\n if (shouldHandleStateChanges) {\n // If this component is subscribed to store updates, we need to pass its own\n // subscription instance down to our descendants. That means rendering the same\n // Context instance, and putting a different value into the context.\n return /*#__PURE__*/React.createElement(ContextToUse.Provider, {\n value: overriddenContextValue\n }, renderedWrappedComponent);\n }\n\n return renderedWrappedComponent;\n }, [ContextToUse, renderedWrappedComponent, overriddenContextValue]);\n return renderedChild;\n } // If we're in \"pure\" mode, ensure our wrapper component only re-renders when incoming props have changed.\n\n\n var Connect = pure ? React.memo(ConnectFunction) : ConnectFunction;\n Connect.WrappedComponent = WrappedComponent;\n Connect.displayName = ConnectFunction.displayName = displayName;\n\n if (forwardRef) {\n var forwarded = React.forwardRef(function forwardConnectRef(props, ref) {\n return /*#__PURE__*/React.createElement(Connect, _extends({}, props, {\n reactReduxForwardedRef: ref\n }));\n });\n forwarded.displayName = displayName;\n forwarded.WrappedComponent = WrappedComponent;\n return hoistStatics(forwarded, WrappedComponent);\n }\n\n return hoistStatics(Connect, WrappedComponent);\n };\n}","function is(x, y) {\n if (x === y) {\n return x !== 0 || y !== 0 || 1 / x === 1 / y;\n } else {\n return x !== x && y !== y;\n }\n}\n\nexport default function shallowEqual(objA, objB) {\n if (is(objA, objB)) return true;\n\n if (typeof objA !== 'object' || objA === null || typeof objB !== 'object' || objB === null) {\n return false;\n }\n\n var keysA = Object.keys(objA);\n var keysB = Object.keys(objB);\n if (keysA.length !== keysB.length) return false;\n\n for (var i = 0; i < keysA.length; i++) {\n if (!Object.prototype.hasOwnProperty.call(objB, keysA[i]) || !is(objA[keysA[i]], objB[keysA[i]])) {\n return false;\n }\n }\n\n return true;\n}","import verifyPlainObject from '../utils/verifyPlainObject';\nexport function wrapMapToPropsConstant(getConstant) {\n return function initConstantSelector(dispatch, options) {\n var constant = getConstant(dispatch, options);\n\n function constantSelector() {\n return constant;\n }\n\n constantSelector.dependsOnOwnProps = false;\n return constantSelector;\n };\n} // dependsOnOwnProps is used by createMapToPropsProxy to determine whether to pass props as args\n// to the mapToProps function being wrapped. It is also used by makePurePropsSelector to determine\n// whether mapToProps needs to be invoked when props have changed.\n//\n// A length of one signals that mapToProps does not depend on props from the parent component.\n// A length of zero is assumed to mean mapToProps is getting args via arguments or ...args and\n// therefore not reporting its length accurately..\n\nexport function getDependsOnOwnProps(mapToProps) {\n return mapToProps.dependsOnOwnProps !== null && mapToProps.dependsOnOwnProps !== undefined ? Boolean(mapToProps.dependsOnOwnProps) : mapToProps.length !== 1;\n} // Used by whenMapStateToPropsIsFunction and whenMapDispatchToPropsIsFunction,\n// this function wraps mapToProps in a proxy function which does several things:\n//\n// * Detects whether the mapToProps function being called depends on props, which\n// is used by selectorFactory to decide if it should reinvoke on props changes.\n//\n// * On first call, handles mapToProps if returns another function, and treats that\n// new function as the true mapToProps for subsequent calls.\n//\n// * On first call, verifies the first result is a plain object, in order to warn\n// the developer that their mapToProps function is not returning a valid result.\n//\n\nexport function wrapMapToPropsFunc(mapToProps, methodName) {\n return function initProxySelector(dispatch, _ref) {\n var displayName = _ref.displayName;\n\n var proxy = function mapToPropsProxy(stateOrDispatch, ownProps) {\n return proxy.dependsOnOwnProps ? proxy.mapToProps(stateOrDispatch, ownProps) : proxy.mapToProps(stateOrDispatch);\n }; // allow detectFactoryAndVerify to get ownProps\n\n\n proxy.dependsOnOwnProps = true;\n\n proxy.mapToProps = function detectFactoryAndVerify(stateOrDispatch, ownProps) {\n proxy.mapToProps = mapToProps;\n proxy.dependsOnOwnProps = getDependsOnOwnProps(mapToProps);\n var props = proxy(stateOrDispatch, ownProps);\n\n if (typeof props === 'function') {\n proxy.mapToProps = props;\n proxy.dependsOnOwnProps = getDependsOnOwnProps(props);\n props = proxy(stateOrDispatch, ownProps);\n }\n\n if (process.env.NODE_ENV !== 'production') verifyPlainObject(props, displayName, methodName);\n return props;\n };\n\n return proxy;\n };\n}","import bindActionCreators from '../utils/bindActionCreators';\nimport { wrapMapToPropsConstant, wrapMapToPropsFunc } from './wrapMapToProps';\nexport function whenMapDispatchToPropsIsFunction(mapDispatchToProps) {\n return typeof mapDispatchToProps === 'function' ? wrapMapToPropsFunc(mapDispatchToProps, 'mapDispatchToProps') : undefined;\n}\nexport function whenMapDispatchToPropsIsMissing(mapDispatchToProps) {\n return !mapDispatchToProps ? wrapMapToPropsConstant(function (dispatch) {\n return {\n dispatch: dispatch\n };\n }) : undefined;\n}\nexport function whenMapDispatchToPropsIsObject(mapDispatchToProps) {\n return mapDispatchToProps && typeof mapDispatchToProps === 'object' ? wrapMapToPropsConstant(function (dispatch) {\n return bindActionCreators(mapDispatchToProps, dispatch);\n }) : undefined;\n}\nexport default [whenMapDispatchToPropsIsFunction, whenMapDispatchToPropsIsMissing, whenMapDispatchToPropsIsObject];","export default function bindActionCreators(actionCreators, dispatch) {\n var boundActionCreators = {};\n\n var _loop = function _loop(key) {\n var actionCreator = actionCreators[key];\n\n if (typeof actionCreator === 'function') {\n boundActionCreators[key] = function () {\n return dispatch(actionCreator.apply(void 0, arguments));\n };\n }\n };\n\n for (var key in actionCreators) {\n _loop(key);\n }\n\n return boundActionCreators;\n}","import { wrapMapToPropsConstant, wrapMapToPropsFunc } from './wrapMapToProps';\nexport function whenMapStateToPropsIsFunction(mapStateToProps) {\n return typeof mapStateToProps === 'function' ? wrapMapToPropsFunc(mapStateToProps, 'mapStateToProps') : undefined;\n}\nexport function whenMapStateToPropsIsMissing(mapStateToProps) {\n return !mapStateToProps ? wrapMapToPropsConstant(function () {\n return {};\n }) : undefined;\n}\nexport default [whenMapStateToPropsIsFunction, whenMapStateToPropsIsMissing];","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport verifyPlainObject from '../utils/verifyPlainObject';\nexport function defaultMergeProps(stateProps, dispatchProps, ownProps) {\n return _extends({}, ownProps, stateProps, dispatchProps);\n}\nexport function wrapMergePropsFunc(mergeProps) {\n return function initMergePropsProxy(dispatch, _ref) {\n var displayName = _ref.displayName,\n pure = _ref.pure,\n areMergedPropsEqual = _ref.areMergedPropsEqual;\n var hasRunOnce = false;\n var mergedProps;\n return function mergePropsProxy(stateProps, dispatchProps, ownProps) {\n var nextMergedProps = mergeProps(stateProps, dispatchProps, ownProps);\n\n if (hasRunOnce) {\n if (!pure || !areMergedPropsEqual(nextMergedProps, mergedProps)) mergedProps = nextMergedProps;\n } else {\n hasRunOnce = true;\n mergedProps = nextMergedProps;\n if (process.env.NODE_ENV !== 'production') verifyPlainObject(mergedProps, displayName, 'mergeProps');\n }\n\n return mergedProps;\n };\n };\n}\nexport function whenMergePropsIsFunction(mergeProps) {\n return typeof mergeProps === 'function' ? wrapMergePropsFunc(mergeProps) : undefined;\n}\nexport function whenMergePropsIsOmitted(mergeProps) {\n return !mergeProps ? function () {\n return defaultMergeProps;\n } : undefined;\n}\nexport default [whenMergePropsIsFunction, whenMergePropsIsOmitted];","import _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nvar _excluded = [\"initMapStateToProps\", \"initMapDispatchToProps\", \"initMergeProps\"];\nimport verifySubselectors from './verifySubselectors';\nexport function impureFinalPropsSelectorFactory(mapStateToProps, mapDispatchToProps, mergeProps, dispatch) {\n return function impureFinalPropsSelector(state, ownProps) {\n return mergeProps(mapStateToProps(state, ownProps), mapDispatchToProps(dispatch, ownProps), ownProps);\n };\n}\nexport function pureFinalPropsSelectorFactory(mapStateToProps, mapDispatchToProps, mergeProps, dispatch, _ref) {\n var areStatesEqual = _ref.areStatesEqual,\n areOwnPropsEqual = _ref.areOwnPropsEqual,\n areStatePropsEqual = _ref.areStatePropsEqual;\n var hasRunAtLeastOnce = false;\n var state;\n var ownProps;\n var stateProps;\n var dispatchProps;\n var mergedProps;\n\n function handleFirstCall(firstState, firstOwnProps) {\n state = firstState;\n ownProps = firstOwnProps;\n stateProps = mapStateToProps(state, ownProps);\n dispatchProps = mapDispatchToProps(dispatch, ownProps);\n mergedProps = mergeProps(stateProps, dispatchProps, ownProps);\n hasRunAtLeastOnce = true;\n return mergedProps;\n }\n\n function handleNewPropsAndNewState() {\n stateProps = mapStateToProps(state, ownProps);\n if (mapDispatchToProps.dependsOnOwnProps) dispatchProps = mapDispatchToProps(dispatch, ownProps);\n mergedProps = mergeProps(stateProps, dispatchProps, ownProps);\n return mergedProps;\n }\n\n function handleNewProps() {\n if (mapStateToProps.dependsOnOwnProps) stateProps = mapStateToProps(state, ownProps);\n if (mapDispatchToProps.dependsOnOwnProps) dispatchProps = mapDispatchToProps(dispatch, ownProps);\n mergedProps = mergeProps(stateProps, dispatchProps, ownProps);\n return mergedProps;\n }\n\n function handleNewState() {\n var nextStateProps = mapStateToProps(state, ownProps);\n var statePropsChanged = !areStatePropsEqual(nextStateProps, stateProps);\n stateProps = nextStateProps;\n if (statePropsChanged) mergedProps = mergeProps(stateProps, dispatchProps, ownProps);\n return mergedProps;\n }\n\n function handleSubsequentCalls(nextState, nextOwnProps) {\n var propsChanged = !areOwnPropsEqual(nextOwnProps, ownProps);\n var stateChanged = !areStatesEqual(nextState, state, nextOwnProps, ownProps);\n state = nextState;\n ownProps = nextOwnProps;\n if (propsChanged && stateChanged) return handleNewPropsAndNewState();\n if (propsChanged) return handleNewProps();\n if (stateChanged) return handleNewState();\n return mergedProps;\n }\n\n return function pureFinalPropsSelector(nextState, nextOwnProps) {\n return hasRunAtLeastOnce ? handleSubsequentCalls(nextState, nextOwnProps) : handleFirstCall(nextState, nextOwnProps);\n };\n} // TODO: Add more comments\n// If pure is true, the selector returned by selectorFactory will memoize its results,\n// allowing connectAdvanced's shouldComponentUpdate to return false if final\n// props have not changed. If false, the selector will always return a new\n// object and shouldComponentUpdate will always return true.\n\nexport default function finalPropsSelectorFactory(dispatch, _ref2) {\n var initMapStateToProps = _ref2.initMapStateToProps,\n initMapDispatchToProps = _ref2.initMapDispatchToProps,\n initMergeProps = _ref2.initMergeProps,\n options = _objectWithoutPropertiesLoose(_ref2, _excluded);\n\n var mapStateToProps = initMapStateToProps(dispatch, options);\n var mapDispatchToProps = initMapDispatchToProps(dispatch, options);\n var mergeProps = initMergeProps(dispatch, options);\n\n if (process.env.NODE_ENV !== 'production') {\n verifySubselectors(mapStateToProps, mapDispatchToProps, mergeProps, options.displayName);\n }\n\n var selectorFactory = options.pure ? pureFinalPropsSelectorFactory : impureFinalPropsSelectorFactory;\n return selectorFactory(mapStateToProps, mapDispatchToProps, mergeProps, dispatch, options);\n}","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nvar _excluded = [\"pure\", \"areStatesEqual\", \"areOwnPropsEqual\", \"areStatePropsEqual\", \"areMergedPropsEqual\"];\nimport connectAdvanced from '../components/connectAdvanced';\nimport shallowEqual from '../utils/shallowEqual';\nimport defaultMapDispatchToPropsFactories from './mapDispatchToProps';\nimport defaultMapStateToPropsFactories from './mapStateToProps';\nimport defaultMergePropsFactories from './mergeProps';\nimport defaultSelectorFactory from './selectorFactory';\n/*\r\n connect is a facade over connectAdvanced. It turns its args into a compatible\r\n selectorFactory, which has the signature:\r\n\r\n (dispatch, options) => (nextState, nextOwnProps) => nextFinalProps\r\n \r\n connect passes its args to connectAdvanced as options, which will in turn pass them to\r\n selectorFactory each time a Connect component instance is instantiated or hot reloaded.\r\n\r\n selectorFactory returns a final props selector from its mapStateToProps,\r\n mapStateToPropsFactories, mapDispatchToProps, mapDispatchToPropsFactories, mergeProps,\r\n mergePropsFactories, and pure args.\r\n\r\n The resulting final props selector is called by the Connect component instance whenever\r\n it receives new props or store state.\r\n */\n\nfunction match(arg, factories, name) {\n for (var i = factories.length - 1; i >= 0; i--) {\n var result = factories[i](arg);\n if (result) return result;\n }\n\n return function (dispatch, options) {\n throw new Error(\"Invalid value of type \" + typeof arg + \" for \" + name + \" argument when connecting component \" + options.wrappedComponentName + \".\");\n };\n}\n\nfunction strictEqual(a, b) {\n return a === b;\n} // createConnect with default args builds the 'official' connect behavior. Calling it with\n// different options opens up some testing and extensibility scenarios\n\n\nexport function createConnect(_temp) {\n var _ref = _temp === void 0 ? {} : _temp,\n _ref$connectHOC = _ref.connectHOC,\n connectHOC = _ref$connectHOC === void 0 ? connectAdvanced : _ref$connectHOC,\n _ref$mapStateToPropsF = _ref.mapStateToPropsFactories,\n mapStateToPropsFactories = _ref$mapStateToPropsF === void 0 ? defaultMapStateToPropsFactories : _ref$mapStateToPropsF,\n _ref$mapDispatchToPro = _ref.mapDispatchToPropsFactories,\n mapDispatchToPropsFactories = _ref$mapDispatchToPro === void 0 ? defaultMapDispatchToPropsFactories : _ref$mapDispatchToPro,\n _ref$mergePropsFactor = _ref.mergePropsFactories,\n mergePropsFactories = _ref$mergePropsFactor === void 0 ? defaultMergePropsFactories : _ref$mergePropsFactor,\n _ref$selectorFactory = _ref.selectorFactory,\n selectorFactory = _ref$selectorFactory === void 0 ? defaultSelectorFactory : _ref$selectorFactory;\n\n return function connect(mapStateToProps, mapDispatchToProps, mergeProps, _ref2) {\n if (_ref2 === void 0) {\n _ref2 = {};\n }\n\n var _ref3 = _ref2,\n _ref3$pure = _ref3.pure,\n pure = _ref3$pure === void 0 ? true : _ref3$pure,\n _ref3$areStatesEqual = _ref3.areStatesEqual,\n areStatesEqual = _ref3$areStatesEqual === void 0 ? strictEqual : _ref3$areStatesEqual,\n _ref3$areOwnPropsEqua = _ref3.areOwnPropsEqual,\n areOwnPropsEqual = _ref3$areOwnPropsEqua === void 0 ? shallowEqual : _ref3$areOwnPropsEqua,\n _ref3$areStatePropsEq = _ref3.areStatePropsEqual,\n areStatePropsEqual = _ref3$areStatePropsEq === void 0 ? shallowEqual : _ref3$areStatePropsEq,\n _ref3$areMergedPropsE = _ref3.areMergedPropsEqual,\n areMergedPropsEqual = _ref3$areMergedPropsE === void 0 ? shallowEqual : _ref3$areMergedPropsE,\n extraOptions = _objectWithoutPropertiesLoose(_ref3, _excluded);\n\n var initMapStateToProps = match(mapStateToProps, mapStateToPropsFactories, 'mapStateToProps');\n var initMapDispatchToProps = match(mapDispatchToProps, mapDispatchToPropsFactories, 'mapDispatchToProps');\n var initMergeProps = match(mergeProps, mergePropsFactories, 'mergeProps');\n return connectHOC(selectorFactory, _extends({\n // used in error messages\n methodName: 'connect',\n // used to compute Connect's displayName from the wrapped component's displayName.\n getDisplayName: function getDisplayName(name) {\n return \"Connect(\" + name + \")\";\n },\n // if mapStateToProps is falsy, the Connect component doesn't subscribe to store state changes\n shouldHandleStateChanges: Boolean(mapStateToProps),\n // passed through to selectorFactory\n initMapStateToProps: initMapStateToProps,\n initMapDispatchToProps: initMapDispatchToProps,\n initMergeProps: initMergeProps,\n pure: pure,\n areStatesEqual: areStatesEqual,\n areOwnPropsEqual: areOwnPropsEqual,\n areStatePropsEqual: areStatePropsEqual,\n areMergedPropsEqual: areMergedPropsEqual\n }, extraOptions));\n };\n}\nexport default /*#__PURE__*/createConnect();","import { useReducer, useRef, useMemo, useContext, useDebugValue } from 'react';\nimport { useReduxContext as useDefaultReduxContext } from './useReduxContext';\nimport { createSubscription } from '../utils/Subscription';\nimport { useIsomorphicLayoutEffect } from '../utils/useIsomorphicLayoutEffect';\nimport { ReactReduxContext } from '../components/Context';\n\nvar refEquality = function refEquality(a, b) {\n return a === b;\n};\n\nfunction useSelectorWithStoreAndSubscription(selector, equalityFn, store, contextSub) {\n var _useReducer = useReducer(function (s) {\n return s + 1;\n }, 0),\n forceRender = _useReducer[1];\n\n var subscription = useMemo(function () {\n return createSubscription(store, contextSub);\n }, [store, contextSub]);\n var latestSubscriptionCallbackError = useRef();\n var latestSelector = useRef();\n var latestStoreState = useRef();\n var latestSelectedState = useRef();\n var storeState = store.getState();\n var selectedState;\n\n try {\n if (selector !== latestSelector.current || storeState !== latestStoreState.current || latestSubscriptionCallbackError.current) {\n var newSelectedState = selector(storeState); // ensure latest selected state is reused so that a custom equality function can result in identical references\n\n if (latestSelectedState.current === undefined || !equalityFn(newSelectedState, latestSelectedState.current)) {\n selectedState = newSelectedState;\n } else {\n selectedState = latestSelectedState.current;\n }\n } else {\n selectedState = latestSelectedState.current;\n }\n } catch (err) {\n if (latestSubscriptionCallbackError.current) {\n err.message += \"\\nThe error may be correlated with this previous error:\\n\" + latestSubscriptionCallbackError.current.stack + \"\\n\\n\";\n }\n\n throw err;\n }\n\n useIsomorphicLayoutEffect(function () {\n latestSelector.current = selector;\n latestStoreState.current = storeState;\n latestSelectedState.current = selectedState;\n latestSubscriptionCallbackError.current = undefined;\n });\n useIsomorphicLayoutEffect(function () {\n function checkForUpdates() {\n try {\n var newStoreState = store.getState(); // Avoid calling selector multiple times if the store's state has not changed\n\n if (newStoreState === latestStoreState.current) {\n return;\n }\n\n var _newSelectedState = latestSelector.current(newStoreState);\n\n if (equalityFn(_newSelectedState, latestSelectedState.current)) {\n return;\n }\n\n latestSelectedState.current = _newSelectedState;\n latestStoreState.current = newStoreState;\n } catch (err) {\n // we ignore all errors here, since when the component\n // is re-rendered, the selectors are called again, and\n // will throw again, if neither props nor store state\n // changed\n latestSubscriptionCallbackError.current = err;\n }\n\n forceRender();\n }\n\n subscription.onStateChange = checkForUpdates;\n subscription.trySubscribe();\n checkForUpdates();\n return function () {\n return subscription.tryUnsubscribe();\n };\n }, [store, subscription]);\n return selectedState;\n}\n/**\r\n * Hook factory, which creates a `useSelector` hook bound to a given context.\r\n *\r\n * @param {React.Context} [context=ReactReduxContext] Context passed to your ``.\r\n * @returns {Function} A `useSelector` hook bound to the specified context.\r\n */\n\n\nexport function createSelectorHook(context) {\n if (context === void 0) {\n context = ReactReduxContext;\n }\n\n var useReduxContext = context === ReactReduxContext ? useDefaultReduxContext : function () {\n return useContext(context);\n };\n return function useSelector(selector, equalityFn) {\n if (equalityFn === void 0) {\n equalityFn = refEquality;\n }\n\n if (process.env.NODE_ENV !== 'production') {\n if (!selector) {\n throw new Error(\"You must pass a selector to useSelector\");\n }\n\n if (typeof selector !== 'function') {\n throw new Error(\"You must pass a function as a selector to useSelector\");\n }\n\n if (typeof equalityFn !== 'function') {\n throw new Error(\"You must pass a function as an equality function to useSelector\");\n }\n }\n\n var _useReduxContext = useReduxContext(),\n store = _useReduxContext.store,\n contextSub = _useReduxContext.subscription;\n\n var selectedState = useSelectorWithStoreAndSubscription(selector, equalityFn, store, contextSub);\n useDebugValue(selectedState);\n return selectedState;\n };\n}\n/**\r\n * A hook to access the redux store's state. This hook takes a selector function\r\n * as an argument. The selector is called with the store state.\r\n *\r\n * This hook takes an optional equality comparison function as the second parameter\r\n * that allows you to customize the way the selected state is compared to determine\r\n * whether the component needs to be re-rendered.\r\n *\r\n * @param {Function} selector the selector function\r\n * @param {Function=} equalityFn the function that will be used to determine equality\r\n *\r\n * @returns {any} the selected state\r\n *\r\n * @example\r\n *\r\n * import React from 'react'\r\n * import { useSelector } from 'react-redux'\r\n *\r\n * export const CounterComponent = () => {\r\n * const counter = useSelector(state => state.counter)\r\n * return
{counter}
\r\n * }\r\n */\n\nexport var useSelector = /*#__PURE__*/createSelectorHook();","export * from './exports';\nimport { unstable_batchedUpdates as batch } from './utils/reactBatchedUpdates';\nimport { setBatch } from './utils/batch'; // Enable batched updates in our subscriptions for use\n// with standard React renderers (ReactDOM, React Native)\n\nsetBatch(batch);\nexport { batch };","/**\n * This action type will be dispatched when your history\n * receives a location change.\n */\nexport var LOCATION_CHANGE = '@@router/LOCATION_CHANGE';\nexport var onLocationChanged = function onLocationChanged(location, action) {\n var isFirstRendering = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n return {\n type: LOCATION_CHANGE,\n payload: {\n location: location,\n action: action,\n isFirstRendering: isFirstRendering\n }\n };\n};\n/**\n * This action type will be dispatched by the history actions below.\n * If you're writing a middleware to watch for navigation events, be sure to\n * look for actions of this type.\n */\n\nexport var CALL_HISTORY_METHOD = '@@router/CALL_HISTORY_METHOD';\n\nvar updateLocation = function updateLocation(method) {\n return function () {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return {\n type: CALL_HISTORY_METHOD,\n payload: {\n method: method,\n args: args\n }\n };\n };\n};\n/**\n * These actions correspond to the history API.\n * The associated routerMiddleware will capture these events before they get to\n * your reducer and reissue them as the matching function on your history.\n */\n\n\nexport var push = updateLocation('push');\nexport var replace = updateLocation('replace');\nexport var go = updateLocation('go');\nexport var goBack = updateLocation('goBack');\nexport var goForward = updateLocation('goForward');\nexport var routerActions = {\n push: push,\n replace: replace,\n go: go,\n goBack: goBack,\n goForward: goForward\n};","function _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nimport { matchPath } from \"react-router\";\n\nvar createSelectors = function createSelectors(structure) {\n var getIn = structure.getIn,\n toJS = structure.toJS;\n\n var isRouter = function isRouter(value) {\n return value != null && _typeof(value) === 'object' && getIn(value, ['location']) && getIn(value, ['action']);\n };\n\n var getRouter = function getRouter(state) {\n var router = toJS(getIn(state, ['router']));\n\n if (!isRouter(router)) {\n throw 'Could not find router reducer in state tree, it must be mounted under \"router\"';\n }\n\n return router;\n };\n\n var getLocation = function getLocation(state) {\n return toJS(getIn(getRouter(state), ['location']));\n };\n\n var getAction = function getAction(state) {\n return toJS(getIn(getRouter(state), ['action']));\n };\n\n var getSearch = function getSearch(state) {\n return toJS(getIn(getRouter(state), ['location', 'search']));\n };\n\n var getHash = function getHash(state) {\n return toJS(getIn(getRouter(state), ['location', 'hash']));\n }; // It only makes sense to recalculate the `matchPath` whenever the pathname\n // of the location changes. That's why `createMatchSelector` memoizes\n // the latest result based on the location's pathname.\n\n\n var createMatchSelector = function createMatchSelector(path) {\n var lastPathname = null;\n var lastMatch = null;\n return function (state) {\n var _ref = getLocation(state) || {},\n pathname = _ref.pathname;\n\n if (pathname === lastPathname) {\n return lastMatch;\n }\n\n lastPathname = pathname;\n var match = matchPath(pathname, path);\n\n if (!match || !lastMatch || match.url !== lastMatch.url // When URL matched for nested routes, URL is the same but isExact is not.\n || match.isExact !== lastMatch.isExact) {\n lastMatch = match;\n }\n\n return lastMatch;\n };\n };\n\n return {\n getLocation: getLocation,\n getAction: getAction,\n getRouter: getRouter,\n getSearch: getSearch,\n getHash: getHash,\n createMatchSelector: createMatchSelector\n };\n};\n\nexport default createSelectors;","function _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _createSuper(Derived) { return function () { var Super = _getPrototypeOf(Derived), result; if (_isNativeReflectConstruct()) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nimport React, { PureComponent } from 'react';\nimport PropTypes from 'prop-types';\nimport { connect, ReactReduxContext } from 'react-redux';\nimport { Router } from 'react-router';\nimport isEqualWith from 'lodash.isequalwith';\nimport { onLocationChanged as _onLocationChanged } from './actions';\nimport createSelectors from './selectors';\n\nvar createConnectedRouter = function createConnectedRouter(structure) {\n var _createSelectors = createSelectors(structure),\n getLocation = _createSelectors.getLocation;\n /*\n * ConnectedRouter listens to a history object passed from props.\n * When history is changed, it dispatches action to redux store.\n * Then, store will pass props to component to render.\n * This creates uni-directional flow from history->store->router->components.\n */\n\n\n var ConnectedRouter = /*#__PURE__*/function (_PureComponent) {\n _inherits(ConnectedRouter, _PureComponent);\n\n var _super = _createSuper(ConnectedRouter);\n\n function ConnectedRouter(props) {\n var _this;\n\n _classCallCheck(this, ConnectedRouter);\n\n _this = _super.call(this, props);\n var store = props.store,\n history = props.history,\n onLocationChanged = props.onLocationChanged,\n stateCompareFunction = props.stateCompareFunction;\n _this.inTimeTravelling = false; // Subscribe to store changes to check if we are in time travelling\n\n _this.unsubscribe = store.subscribe(function () {\n // Allow time travel debugging compatibility to be turned off\n // as the detection for this (below) is error prone in apps where the\n // store may be unmounted, a navigation occurs, and then the store is re-mounted\n // during the app's lifetime. Detection could be much improved if Redux DevTools\n // simply set a global variable like `REDUX_DEVTOOLS_IS_TIME_TRAVELLING=true`.\n var isTimeTravelDebuggingAllowed = !props.noTimeTravelDebugging; // Extract store's location\n\n var _getLocation = getLocation(store.getState()),\n pathnameInStore = _getLocation.pathname,\n searchInStore = _getLocation.search,\n hashInStore = _getLocation.hash,\n stateInStore = _getLocation.state; // Extract history's location\n\n\n var _history$location = history.location,\n pathnameInHistory = _history$location.pathname,\n searchInHistory = _history$location.search,\n hashInHistory = _history$location.hash,\n stateInHistory = _history$location.state; // If we do time travelling, the location in store is changed but location in history is not changed\n\n if (isTimeTravelDebuggingAllowed && props.history.action === 'PUSH' && (pathnameInHistory !== pathnameInStore || searchInHistory !== searchInStore || hashInHistory !== hashInStore || !isEqualWith(stateInStore, stateInHistory, stateCompareFunction))) {\n _this.inTimeTravelling = true; // Update history's location to match store's location\n\n history.push({\n pathname: pathnameInStore,\n search: searchInStore,\n hash: hashInStore,\n state: stateInStore\n });\n }\n });\n\n var handleLocationChange = function handleLocationChange(location, action) {\n var isFirstRendering = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n\n // Dispatch onLocationChanged except when we're in time travelling\n if (!_this.inTimeTravelling) {\n onLocationChanged(location, action, isFirstRendering);\n } else {\n _this.inTimeTravelling = false;\n }\n }; // Listen to history changes\n\n\n _this.unlisten = history.listen(handleLocationChange);\n\n if (!props.noInitialPop) {\n // Dispatch a location change action for the initial location.\n // This makes it backward-compatible with react-router-redux.\n // But, we add `isFirstRendering` to `true` to prevent double-rendering.\n handleLocationChange(history.location, history.action, true);\n }\n\n return _this;\n }\n\n _createClass(ConnectedRouter, [{\n key: \"componentWillUnmount\",\n value: function componentWillUnmount() {\n this.unlisten();\n this.unsubscribe();\n }\n }, {\n key: \"render\",\n value: function render() {\n var _this$props = this.props,\n omitRouter = _this$props.omitRouter,\n history = _this$props.history,\n children = _this$props.children; // The `omitRouter` option is available for applications that must\n // have a Router instance higher in the component tree but still desire\n // to use connected-react-router for its Redux integration.\n\n if (omitRouter) {\n return /*#__PURE__*/React.createElement(React.Fragment, null, children);\n }\n\n return /*#__PURE__*/React.createElement(Router, {\n history: history\n }, children);\n }\n }]);\n\n return ConnectedRouter;\n }(PureComponent);\n\n ConnectedRouter.propTypes = {\n store: PropTypes.shape({\n getState: PropTypes.func.isRequired,\n subscribe: PropTypes.func.isRequired\n }).isRequired,\n history: PropTypes.shape({\n action: PropTypes.string.isRequired,\n listen: PropTypes.func.isRequired,\n location: PropTypes.object.isRequired,\n push: PropTypes.func.isRequired\n }).isRequired,\n basename: PropTypes.string,\n children: PropTypes.oneOfType([PropTypes.func, PropTypes.node]),\n onLocationChanged: PropTypes.func.isRequired,\n noInitialPop: PropTypes.bool,\n noTimeTravelDebugging: PropTypes.bool,\n stateCompareFunction: PropTypes.func,\n omitRouter: PropTypes.bool\n };\n\n var mapDispatchToProps = function mapDispatchToProps(dispatch) {\n return {\n onLocationChanged: function onLocationChanged(location, action, isFirstRendering) {\n return dispatch(_onLocationChanged(location, action, isFirstRendering));\n }\n };\n };\n\n var ConnectedRouterWithContext = function ConnectedRouterWithContext(props) {\n var Context = props.context || ReactReduxContext;\n\n if (Context == null) {\n throw 'Please upgrade to react-redux v6';\n }\n\n return /*#__PURE__*/React.createElement(Context.Consumer, null, function (_ref) {\n var store = _ref.store;\n return /*#__PURE__*/React.createElement(ConnectedRouter, _extends({\n store: store\n }, props));\n });\n };\n\n ConnectedRouterWithContext.propTypes = {\n context: PropTypes.object\n };\n return connect(null, mapDispatchToProps)(ConnectedRouterWithContext);\n};\n\nexport default createConnectedRouter;","function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }\n\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(n); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nfunction _iterableToArrayLimit(arr, i) { if (typeof Symbol === \"undefined\" || !(Symbol.iterator in Object(arr))) return; var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"] != null) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; }\n\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { LOCATION_CHANGE } from './actions';\n/**\n * Adds query to location.\n * Utilises the search prop of location to construct query.\n */\n\nvar injectQuery = function injectQuery(location) {\n if (location && location.query) {\n // Don't inject query if it already exists in history\n return location;\n }\n\n var searchQuery = location && location.search;\n\n if (typeof searchQuery !== 'string' || searchQuery.length === 0) {\n return _objectSpread({}, location, {\n query: {}\n });\n } // Ignore the `?` part of the search string e.g. ?username=codejockie\n\n\n var search = searchQuery.substring(1); // Split the query string on `&` e.g. ?username=codejockie&name=Kennedy\n\n var queries = search.split('&'); // Contruct query\n\n var query = queries.reduce(function (acc, currentQuery) {\n // Split on `=`, to get key and value\n var _currentQuery$split = currentQuery.split('='),\n _currentQuery$split2 = _slicedToArray(_currentQuery$split, 2),\n queryKey = _currentQuery$split2[0],\n queryValue = _currentQuery$split2[1];\n\n return _objectSpread({}, acc, _defineProperty({}, queryKey, queryValue));\n }, {});\n return _objectSpread({}, location, {\n query: query\n });\n};\n\nvar createConnectRouter = function createConnectRouter(structure) {\n var fromJS = structure.fromJS,\n merge = structure.merge;\n\n var createRouterReducer = function createRouterReducer(history) {\n var initialRouterState = fromJS({\n location: injectQuery(history.location),\n action: history.action\n });\n /*\n * This reducer will update the state with the most recent location history\n * has transitioned to.\n */\n\n return function () {\n var state = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : initialRouterState;\n\n var _ref = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},\n type = _ref.type,\n payload = _ref.payload;\n\n if (type === LOCATION_CHANGE) {\n var location = payload.location,\n action = payload.action,\n isFirstRendering = payload.isFirstRendering; // Don't update the state ref for the first rendering\n // to prevent the double-rendering issue on initilization\n\n return isFirstRendering ? state : merge(state, {\n location: fromJS(injectQuery(location)),\n action: action\n });\n }\n\n return state;\n };\n };\n\n return createRouterReducer;\n};\n\nexport default createConnectRouter;","function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport getIn from './getIn';\nvar structure = {\n fromJS: function fromJS(value) {\n return value;\n },\n getIn: getIn,\n merge: function merge(state, payload) {\n return _objectSpread({}, state, {}, payload);\n },\n toJS: function toJS(value) {\n return value;\n }\n};\nexport default structure;","/* Code from github.com/erikras/redux-form by Erik Rasmussen */\nvar getIn = function getIn(state, path) {\n if (!state) {\n return state;\n }\n\n var length = path.length;\n\n if (!length) {\n return undefined;\n }\n\n var result = state;\n\n for (var i = 0; i < length && !!result; ++i) {\n result = result[path[i]];\n }\n\n return result;\n};\n\nexport default getIn;","import createConnectedRouter from \"./ConnectedRouter\";\nimport createConnectRouter from \"./reducer\";\nimport createSelectors from \"./selectors\";\nimport plainStructure from \"./structure/plain\";\nexport { LOCATION_CHANGE, CALL_HISTORY_METHOD, onLocationChanged, push, replace, go, goBack, goForward, routerActions } from \"./actions\";\nexport { default as routerMiddleware } from \"./middleware\";\nexport var ConnectedRouter = /*#__PURE__*/createConnectedRouter(plainStructure);\nexport var connectRouter = /*#__PURE__*/createConnectRouter(plainStructure);\n\nvar _createSelectors = /*#__PURE__*/createSelectors(plainStructure),\n getLocation = _createSelectors.getLocation,\n getAction = _createSelectors.getAction,\n getHash = _createSelectors.getHash,\n getRouter = _createSelectors.getRouter,\n getSearch = _createSelectors.getSearch,\n createMatchSelector = _createSelectors.createMatchSelector;\n\nexport { getLocation, getAction, getHash, getRouter, getSearch, createMatchSelector };","export default function model(defaultProps = {}) {\r\n return class BaseModel {\r\n constructor(props) {\r\n // Merge in the props and default props\r\n Object.assign(this, defaultProps, props);\r\n }\r\n\r\n // Return a new instance of the Model, with the new props merged in\r\n merge(mergeProps) {\r\n return new this.constructor({\r\n ...this,\r\n ...mergeProps\r\n });\r\n }\r\n };\r\n}\r\n","import model from 'models/base-model';\r\n\r\nexport const ROLES = {\r\n ADMIN_GENERAL: 1,\r\n ADMIN_SYSTEM: 2,\r\n ADMIN_ACCESS: 3,\r\n PROJECT_VISITOR: 4,\r\n PROJECT_CONTRIBUTOR: 5,\r\n PROJECT_OWNER: 6,\r\n // PROJECT_PPMD: 7, //PPMD role was removed in favour of ppd flag on user\r\n PROJECT_CREATOR: 8,\r\n EXTRACTION_FIELD_OWNER: 9,\r\n EXTRACTION_FIELD_CONTRIBUTOR: 10\r\n};\r\n\r\nexport const ROLE_DISPLAY_NAMES = {\r\n [ROLES.EXTRACTION_FIELD_OWNER]: 'global.roles.owner',\r\n [ROLES.EXTRACTION_FIELD_CONTRIBUTOR]: 'global.roles.contributor'\r\n};\r\n\r\nexport class Role extends model({\r\n containerCode: null,\r\n geoCode: null,\r\n memberFirmCode: null,\r\n roleId: null\r\n}) {\r\n static fromData(model) {\r\n return new Role({\r\n ...model\r\n });\r\n }\r\n}\r\n\r\nexport class User extends model({\r\n isLoading: false,\r\n isLoaded: false,\r\n error: null,\r\n displayName: null,\r\n email: null,\r\n externalSystemId: null,\r\n firstName: null,\r\n isAccessActivated: null,\r\n isDisabled: null,\r\n lastName: null,\r\n lastUpdatedDate: null,\r\n lastUpdatedBy: null,\r\n roles: null,\r\n userId: null,\r\n geoCode: null,\r\n memberFirmCode: null,\r\n containerCode: null,\r\n adminContainers: []\r\n}) {\r\n setLoading() {\r\n return new User({\r\n error: null,\r\n isLoaded: false,\r\n isLoading: true\r\n });\r\n }\r\n\r\n setError(error) {\r\n return this.merge({\r\n error: error,\r\n isLoaded: false,\r\n isLoading: false\r\n });\r\n }\r\n\r\n invalidate() {\r\n return this.merge({\r\n error: null,\r\n isLoaded: false,\r\n isLoading: false\r\n });\r\n }\r\n\r\n setLoaded(data) {\r\n return User.fromData(data);\r\n }\r\n\r\n static fromData(model) {\r\n return new User({\r\n error: null,\r\n isLoaded: true,\r\n isLoading: false,\r\n ...model,\r\n roles: model ? model.roles.map(role => new Role(role)) : [],\r\n internalUpdateTimestamp: new Date().getTime()\r\n });\r\n }\r\n}\r\n","import moment from 'moment';\r\n\r\nclass DateUtil {\r\n fromServerDate(dateStr) {\r\n return dateStr ? moment.utc(dateStr).local() : undefined;\r\n }\r\n\r\n formatTimestamp(momentDate) {\r\n if (!momentDate || !momentDate.format) return '';\r\n\r\n return momentDate.format('YYYY-MM-DD HH:mm:ss');\r\n }\r\n\r\n formatDateTime(momentDate) {\r\n if (!momentDate || !momentDate.format) return '';\r\n\r\n return momentDate.format('MMM D, YYYY h:mm A');\r\n }\r\n\r\n formatDate(momentDate) {\r\n if (!momentDate || !momentDate.format) return '';\r\n\r\n return momentDate.format('MMM D, YYYY');\r\n }\r\n\r\n formatDateShort(momentDate) {\r\n if (!momentDate || !momentDate.format) return '';\r\n\r\n return momentDate.format('YYYY-MM-DD');\r\n }\r\n\r\n formatTime(momentDate) {\r\n if (!momentDate || !momentDate.format) return '';\r\n\r\n return momentDate.format('HH:mm:ss');\r\n }\r\n\r\n toServerDate(momentDate) {\r\n if (!momentDate || !momentDate.format) return '';\r\n\r\n return momentDate.toISOString();\r\n }\r\n\r\n getElapsedTime(momentDate) {\r\n if (!momentDate || !momentDate.format) return '';\r\n\r\n if (!momentDate) {\r\n return null;\r\n }\r\n\r\n if (typeof momentDate === 'string') {\r\n return moment().diff(moment.utc(momentDate).local(), 'seconds');\r\n }\r\n\r\n return moment().diff(momentDate, 'seconds');\r\n }\r\n}\r\n\r\nexport default new DateUtil();\r\n","import model from 'models/base-model';\r\nimport { User } from 'models/user';\r\nimport dateUtil from 'utils/dateUtil';\r\n\r\nexport const ITEM_STATUSES = {\r\n //Item status/state 1 seems to be reserved for folders\r\n PREUPLOAD: 2,\r\n UPLOADED: 3,\r\n PROCESSED: 4,\r\n BADFILETYPE: 5,\r\n BLOBSTORAGEERROR: 6,\r\n PROCESSINGERROR: 7,\r\n SYSTEMERROR: 8,\r\n DELETED: 9,\r\n PROCESSING: 10,\r\n CONTENTPROCESSINGCOMPLETE: 11,\r\n PARTIALLYEXTRACTED: 12,\r\n ALLEXTRACTIONERROR: 13,\r\n PENDINGDELETION: 14,\r\n REPROCESSINGREQUIRED: 15,\r\n READYFORVERIFICATION: 16\r\n};\r\n\r\nexport const ITEM_TYPES = {\r\n FOLDER: 1,\r\n DOCUMENT: 2\r\n};\r\n\r\nexport const TAG_TYPES = {\r\n SYSTEM_DUPLICATE: 1,\r\n USER: 2\r\n};\r\n\r\nexport class ProjectItem extends model({\r\n children: null,\r\n error: null,\r\n extractionFieldInstanceDetails: null,\r\n isLoaded: false,\r\n isLoading: false,\r\n itemName: null,\r\n itemStateId: null,\r\n itemTypeId: null,\r\n lastUpdatedBy: null,\r\n lastUpdatedDate: null,\r\n lastProcessedDate: null,\r\n pagination: null,\r\n parentHierarchy: null,\r\n parentId: null,\r\n projectId: null,\r\n projectItemId: null,\r\n projectItemStatus: null,\r\n projectTemplate: null,\r\n projectTemplates: null,\r\n reviewers: null,\r\n tags: null,\r\n templateCategoryId: null,\r\n dateFormatPreference: null,\r\n autoDeleteDays: null\r\n}) {\r\n setLoading() {\r\n return this.merge({\r\n error: null,\r\n isLoaded: false,\r\n isLoading: true\r\n });\r\n }\r\n\r\n setError(error) {\r\n return this.merge({\r\n error: error,\r\n isLoaded: true,\r\n isLoading: false\r\n });\r\n }\r\n\r\n invalidate() {\r\n return this.merge({\r\n error: null,\r\n isLoaded: false,\r\n isLoading: false\r\n });\r\n }\r\n\r\n setChildName({ projectItemId, itemName }) {\r\n const children = this.children.map(child => {\r\n if (child.projectItemId === projectItemId) {\r\n return child.merge({\r\n itemName\r\n });\r\n } else {\r\n return child;\r\n }\r\n });\r\n\r\n return this.merge({\r\n children: children\r\n });\r\n }\r\n\r\n deleteChildren(deletedChildren) {\r\n const children = this.children.filter(child => {\r\n return !deletedChildren.find(\r\n deletedChild =>\r\n parseInt(deletedChild.folderId, 10) === child.projectItemId ||\r\n parseInt(deletedChild.projectItemId, 10) === child.projectItemId\r\n );\r\n });\r\n\r\n return this.merge({\r\n children: children\r\n });\r\n }\r\n\r\n updateChildren(updatedChildren) {\r\n const children = this.children.map(child => {\r\n const updatedChild =\r\n updatedChildren.find(\r\n updatedChild =>\r\n updatedChild.projectItemId === child.projectItemId ||\r\n updatedChild.documentId === child.projectItemId ||\r\n updatedChild.folderId === child.projectItemId\r\n ) || {};\r\n return child.merge(updatedChild);\r\n });\r\n\r\n return this.merge({\r\n children: children\r\n });\r\n }\r\n\r\n addChildTag(projectItemId, tag) {\r\n var children = this.children;\r\n var child = children.find(currentChild => currentChild.projectItemId === projectItemId);\r\n if (child && child.tags.findIndex(currentTag => currentTag.tagId === tag.tagId) === -1) {\r\n child.tags.push(tag);\r\n }\r\n return this.merge({\r\n children: children\r\n });\r\n }\r\n\r\n removeChildTag(projectItemId, tagId) {\r\n var children = this.children;\r\n var child = children.find(currentChild => currentChild.projectItemId === projectItemId);\r\n if (child) {\r\n var tagIndex = child.tags.findIndex(currentTag => currentTag.tagId === tagId);\r\n if (tagIndex !== -1) {\r\n child.tags.splice(tagIndex, 1);\r\n }\r\n }\r\n return this.merge({\r\n children: children\r\n });\r\n }\r\n\r\n addChildReviewer(projectId, projectItemId, reviewer) {\r\n var children = this.children;\r\n var child = children.find(currentChild => currentChild.projectItemId === projectItemId);\r\n if (child && child.reviewers.findIndex(currentReviewer => currentReviewer.userId === reviewer.userId) === -1) {\r\n child.reviewers.push({\r\n projectId: projectId,\r\n projectItemId: projectItemId,\r\n userId: reviewer.userId,\r\n username: reviewer.displayName,\r\n user: reviewer\r\n });\r\n }\r\n return this.merge({\r\n children: children\r\n });\r\n }\r\n\r\n removeChildReviewer(projectItemId, userId) {\r\n var children = this.children;\r\n var child = children.find(currentChild => currentChild.projectItemId === projectItemId);\r\n if (child) {\r\n var reviewerIndex = child.reviewers.findIndex(currentReviewer => currentReviewer.userId === userId);\r\n if (reviewerIndex !== -1) {\r\n child.reviewers.splice(reviewerIndex, 1);\r\n }\r\n }\r\n return this.merge({\r\n children: children\r\n });\r\n }\r\n\r\n setLoaded(model) {\r\n return ProjectItem.fromData(model);\r\n }\r\n\r\n static fromData(model) {\r\n const data = model.data;\r\n const pagination = model.pageInfo;\r\n\r\n return new ProjectItem({\r\n ...data,\r\n error: null,\r\n isLoaded: true,\r\n isLoading: false,\r\n extractionFieldInstanceDetails: data.extractionFieldInstanceDetails\r\n ? data.extractionFieldInstanceDetails.map(model => ExtractionFieldInstanceDetails.fromData({ data: model }))\r\n : [],\r\n children: data.children ? data.children.map(model => ProjectItem.fromData({ data: model })) : [],\r\n lastUpdatedDate: dateUtil.fromServerDate(data.lastUpdatedDate),\r\n lastProcessedDate: dateUtil.fromServerDate(data.lastProcessedDate),\r\n pagination,\r\n parentHierarchy: data.parentHierarchy ? data.parentHierarchy.map(model => ParentItem.fromData(model)) : [],\r\n projectTemplates: data.projectTemplates ? data.projectTemplates.map(model => Template.fromData(model)) : [],\r\n reviewers: data.reviewers ? data.reviewers.map(model => Reviewer.fromData(model)) : [],\r\n tags: data.tags ? data.tags.map(model => Tag.fromData(model)) : [],\r\n templateCategoryId: data.templateCategoryID,\r\n dateformatpreference: data.dateFormatPreference,\r\n autoDeleteDays: data.autoDeleteDays\r\n });\r\n }\r\n}\r\n\r\nexport class ParentItem extends model({\r\n itemTypeId: null,\r\n parentId: null,\r\n projectId: null,\r\n projectItemId: null\r\n}) {\r\n static fromData(model) {\r\n return new ParentItem({\r\n ...model\r\n });\r\n }\r\n}\r\n\r\nexport class Reviewer extends model({\r\n projectId: null,\r\n projectItemId: null,\r\n user: null,\r\n lastUpdatedDate: null,\r\n lastUpdatedBy: null\r\n}) {\r\n static fromData(model) {\r\n return new Reviewer({\r\n ...model,\r\n user: User.fromData(model.user),\r\n lastUpdatedDate: dateUtil.fromServerDate(model.lastUpdatedDate)\r\n });\r\n }\r\n}\r\n\r\nexport class Tag extends model({\r\n projectId: null,\r\n tagId: null,\r\n createdBy: null,\r\n tagName: null,\r\n lastUpdatedDate: null,\r\n lastUpdatedBy: null\r\n}) {\r\n static fromData(model) {\r\n return new Tag({\r\n ...model,\r\n lastUpdatedDate: dateUtil.fromServerDate(model.lastUpdatedDate)\r\n });\r\n }\r\n}\r\n\r\nexport class Template extends model({\r\n projectTemplateId: null,\r\n name: null,\r\n lastUpdatedDate: null,\r\n lastUpdatedBy: null\r\n}) {\r\n static fromData(model) {\r\n return new Template({\r\n ...model,\r\n lastUpdatedDate: dateUtil.fromServerDate(model.lastUpdatedDate)\r\n });\r\n }\r\n}\r\n\r\nexport class ExtractionFieldInstanceDetails extends model({\r\n extractionFieldId: null,\r\n extractionFieldName: null,\r\n accessType: null,\r\n isTrained: null,\r\n projectItemId: null,\r\n documentExtractionFieldInstanceId: null,\r\n extractFieldInstanceData: null,\r\n pageNumber: null,\r\n tagName: null\r\n}) {\r\n static fromData(model) {\r\n return new ExtractionFieldInstanceDetails({\r\n ...model\r\n });\r\n }\r\n}\r\n","'use strict';\n\nexport default function bind(fn, thisArg) {\n return function wrap() {\n return fn.apply(thisArg, arguments);\n };\n}\n","'use strict';\n\nimport bind from './helpers/bind.js';\n\n// utils is a library of generic helper functions non-specific to axios\n\nconst {toString} = Object.prototype;\nconst {getPrototypeOf} = Object;\n\nconst kindOf = (cache => thing => {\n const str = toString.call(thing);\n return cache[str] || (cache[str] = str.slice(8, -1).toLowerCase());\n})(Object.create(null));\n\nconst kindOfTest = (type) => {\n type = type.toLowerCase();\n return (thing) => kindOf(thing) === type\n}\n\nconst typeOfTest = type => thing => typeof thing === type;\n\n/**\n * Determine if a value is an Array\n *\n * @param {Object} val The value to test\n *\n * @returns {boolean} True if value is an Array, otherwise false\n */\nconst {isArray} = Array;\n\n/**\n * Determine if a value is undefined\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if the value is undefined, otherwise false\n */\nconst isUndefined = typeOfTest('undefined');\n\n/**\n * Determine if a value is a Buffer\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Buffer, otherwise false\n */\nfunction isBuffer(val) {\n return val !== null && !isUndefined(val) && val.constructor !== null && !isUndefined(val.constructor)\n && isFunction(val.constructor.isBuffer) && val.constructor.isBuffer(val);\n}\n\n/**\n * Determine if a value is an ArrayBuffer\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is an ArrayBuffer, otherwise false\n */\nconst isArrayBuffer = kindOfTest('ArrayBuffer');\n\n\n/**\n * Determine if a value is a view on an ArrayBuffer\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a view on an ArrayBuffer, otherwise false\n */\nfunction isArrayBufferView(val) {\n let result;\n if ((typeof ArrayBuffer !== 'undefined') && (ArrayBuffer.isView)) {\n result = ArrayBuffer.isView(val);\n } else {\n result = (val) && (val.buffer) && (isArrayBuffer(val.buffer));\n }\n return result;\n}\n\n/**\n * Determine if a value is a String\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a String, otherwise false\n */\nconst isString = typeOfTest('string');\n\n/**\n * Determine if a value is a Function\n *\n * @param {*} val The value to test\n * @returns {boolean} True if value is a Function, otherwise false\n */\nconst isFunction = typeOfTest('function');\n\n/**\n * Determine if a value is a Number\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Number, otherwise false\n */\nconst isNumber = typeOfTest('number');\n\n/**\n * Determine if a value is an Object\n *\n * @param {*} thing The value to test\n *\n * @returns {boolean} True if value is an Object, otherwise false\n */\nconst isObject = (thing) => thing !== null && typeof thing === 'object';\n\n/**\n * Determine if a value is a Boolean\n *\n * @param {*} thing The value to test\n * @returns {boolean} True if value is a Boolean, otherwise false\n */\nconst isBoolean = thing => thing === true || thing === false;\n\n/**\n * Determine if a value is a plain Object\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a plain Object, otherwise false\n */\nconst isPlainObject = (val) => {\n if (kindOf(val) !== 'object') {\n return false;\n }\n\n const prototype = getPrototypeOf(val);\n return (prototype === null || prototype === Object.prototype || Object.getPrototypeOf(prototype) === null) && !(Symbol.toStringTag in val) && !(Symbol.iterator in val);\n}\n\n/**\n * Determine if a value is a Date\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Date, otherwise false\n */\nconst isDate = kindOfTest('Date');\n\n/**\n * Determine if a value is a File\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a File, otherwise false\n */\nconst isFile = kindOfTest('File');\n\n/**\n * Determine if a value is a Blob\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Blob, otherwise false\n */\nconst isBlob = kindOfTest('Blob');\n\n/**\n * Determine if a value is a FileList\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a File, otherwise false\n */\nconst isFileList = kindOfTest('FileList');\n\n/**\n * Determine if a value is a Stream\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Stream, otherwise false\n */\nconst isStream = (val) => isObject(val) && isFunction(val.pipe);\n\n/**\n * Determine if a value is a FormData\n *\n * @param {*} thing The value to test\n *\n * @returns {boolean} True if value is an FormData, otherwise false\n */\nconst isFormData = (thing) => {\n let kind;\n return thing && (\n (typeof FormData === 'function' && thing instanceof FormData) || (\n isFunction(thing.append) && (\n (kind = kindOf(thing)) === 'formdata' ||\n // detect form-data instance\n (kind === 'object' && isFunction(thing.toString) && thing.toString() === '[object FormData]')\n )\n )\n )\n}\n\n/**\n * Determine if a value is a URLSearchParams object\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a URLSearchParams object, otherwise false\n */\nconst isURLSearchParams = kindOfTest('URLSearchParams');\n\nconst [isReadableStream, isRequest, isResponse, isHeaders] = ['ReadableStream', 'Request', 'Response', 'Headers'].map(kindOfTest);\n\n/**\n * Trim excess whitespace off the beginning and end of a string\n *\n * @param {String} str The String to trim\n *\n * @returns {String} The String freed of excess whitespace\n */\nconst trim = (str) => str.trim ?\n str.trim() : str.replace(/^[\\s\\uFEFF\\xA0]+|[\\s\\uFEFF\\xA0]+$/g, '');\n\n/**\n * Iterate over an Array or an Object invoking a function for each item.\n *\n * If `obj` is an Array callback will be called passing\n * the value, index, and complete array for each item.\n *\n * If 'obj' is an Object callback will be called passing\n * the value, key, and complete object for each property.\n *\n * @param {Object|Array} obj The object to iterate\n * @param {Function} fn The callback to invoke for each item\n *\n * @param {Boolean} [allOwnKeys = false]\n * @returns {any}\n */\nfunction forEach(obj, fn, {allOwnKeys = false} = {}) {\n // Don't bother if no value provided\n if (obj === null || typeof obj === 'undefined') {\n return;\n }\n\n let i;\n let l;\n\n // Force an array if not already something iterable\n if (typeof obj !== 'object') {\n /*eslint no-param-reassign:0*/\n obj = [obj];\n }\n\n if (isArray(obj)) {\n // Iterate over array values\n for (i = 0, l = obj.length; i < l; i++) {\n fn.call(null, obj[i], i, obj);\n }\n } else {\n // Iterate over object keys\n const keys = allOwnKeys ? Object.getOwnPropertyNames(obj) : Object.keys(obj);\n const len = keys.length;\n let key;\n\n for (i = 0; i < len; i++) {\n key = keys[i];\n fn.call(null, obj[key], key, obj);\n }\n }\n}\n\nfunction findKey(obj, key) {\n key = key.toLowerCase();\n const keys = Object.keys(obj);\n let i = keys.length;\n let _key;\n while (i-- > 0) {\n _key = keys[i];\n if (key === _key.toLowerCase()) {\n return _key;\n }\n }\n return null;\n}\n\nconst _global = (() => {\n /*eslint no-undef:0*/\n if (typeof globalThis !== \"undefined\") return globalThis;\n return typeof self !== \"undefined\" ? self : (typeof window !== 'undefined' ? window : global)\n})();\n\nconst isContextDefined = (context) => !isUndefined(context) && context !== _global;\n\n/**\n * Accepts varargs expecting each argument to be an object, then\n * immutably merges the properties of each object and returns result.\n *\n * When multiple objects contain the same key the later object in\n * the arguments list will take precedence.\n *\n * Example:\n *\n * ```js\n * var result = merge({foo: 123}, {foo: 456});\n * console.log(result.foo); // outputs 456\n * ```\n *\n * @param {Object} obj1 Object to merge\n *\n * @returns {Object} Result of all merge properties\n */\nfunction merge(/* obj1, obj2, obj3, ... */) {\n const {caseless} = isContextDefined(this) && this || {};\n const result = {};\n const assignValue = (val, key) => {\n const targetKey = caseless && findKey(result, key) || key;\n if (isPlainObject(result[targetKey]) && isPlainObject(val)) {\n result[targetKey] = merge(result[targetKey], val);\n } else if (isPlainObject(val)) {\n result[targetKey] = merge({}, val);\n } else if (isArray(val)) {\n result[targetKey] = val.slice();\n } else {\n result[targetKey] = val;\n }\n }\n\n for (let i = 0, l = arguments.length; i < l; i++) {\n arguments[i] && forEach(arguments[i], assignValue);\n }\n return result;\n}\n\n/**\n * Extends object a by mutably adding to it the properties of object b.\n *\n * @param {Object} a The object to be extended\n * @param {Object} b The object to copy properties from\n * @param {Object} thisArg The object to bind function to\n *\n * @param {Boolean} [allOwnKeys]\n * @returns {Object} The resulting value of object a\n */\nconst extend = (a, b, thisArg, {allOwnKeys}= {}) => {\n forEach(b, (val, key) => {\n if (thisArg && isFunction(val)) {\n a[key] = bind(val, thisArg);\n } else {\n a[key] = val;\n }\n }, {allOwnKeys});\n return a;\n}\n\n/**\n * Remove byte order marker. This catches EF BB BF (the UTF-8 BOM)\n *\n * @param {string} content with BOM\n *\n * @returns {string} content value without BOM\n */\nconst stripBOM = (content) => {\n if (content.charCodeAt(0) === 0xFEFF) {\n content = content.slice(1);\n }\n return content;\n}\n\n/**\n * Inherit the prototype methods from one constructor into another\n * @param {function} constructor\n * @param {function} superConstructor\n * @param {object} [props]\n * @param {object} [descriptors]\n *\n * @returns {void}\n */\nconst inherits = (constructor, superConstructor, props, descriptors) => {\n constructor.prototype = Object.create(superConstructor.prototype, descriptors);\n constructor.prototype.constructor = constructor;\n Object.defineProperty(constructor, 'super', {\n value: superConstructor.prototype\n });\n props && Object.assign(constructor.prototype, props);\n}\n\n/**\n * Resolve object with deep prototype chain to a flat object\n * @param {Object} sourceObj source object\n * @param {Object} [destObj]\n * @param {Function|Boolean} [filter]\n * @param {Function} [propFilter]\n *\n * @returns {Object}\n */\nconst toFlatObject = (sourceObj, destObj, filter, propFilter) => {\n let props;\n let i;\n let prop;\n const merged = {};\n\n destObj = destObj || {};\n // eslint-disable-next-line no-eq-null,eqeqeq\n if (sourceObj == null) return destObj;\n\n do {\n props = Object.getOwnPropertyNames(sourceObj);\n i = props.length;\n while (i-- > 0) {\n prop = props[i];\n if ((!propFilter || propFilter(prop, sourceObj, destObj)) && !merged[prop]) {\n destObj[prop] = sourceObj[prop];\n merged[prop] = true;\n }\n }\n sourceObj = filter !== false && getPrototypeOf(sourceObj);\n } while (sourceObj && (!filter || filter(sourceObj, destObj)) && sourceObj !== Object.prototype);\n\n return destObj;\n}\n\n/**\n * Determines whether a string ends with the characters of a specified string\n *\n * @param {String} str\n * @param {String} searchString\n * @param {Number} [position= 0]\n *\n * @returns {boolean}\n */\nconst endsWith = (str, searchString, position) => {\n str = String(str);\n if (position === undefined || position > str.length) {\n position = str.length;\n }\n position -= searchString.length;\n const lastIndex = str.indexOf(searchString, position);\n return lastIndex !== -1 && lastIndex === position;\n}\n\n\n/**\n * Returns new array from array like object or null if failed\n *\n * @param {*} [thing]\n *\n * @returns {?Array}\n */\nconst toArray = (thing) => {\n if (!thing) return null;\n if (isArray(thing)) return thing;\n let i = thing.length;\n if (!isNumber(i)) return null;\n const arr = new Array(i);\n while (i-- > 0) {\n arr[i] = thing[i];\n }\n return arr;\n}\n\n/**\n * Checking if the Uint8Array exists and if it does, it returns a function that checks if the\n * thing passed in is an instance of Uint8Array\n *\n * @param {TypedArray}\n *\n * @returns {Array}\n */\n// eslint-disable-next-line func-names\nconst isTypedArray = (TypedArray => {\n // eslint-disable-next-line func-names\n return thing => {\n return TypedArray && thing instanceof TypedArray;\n };\n})(typeof Uint8Array !== 'undefined' && getPrototypeOf(Uint8Array));\n\n/**\n * For each entry in the object, call the function with the key and value.\n *\n * @param {Object} obj - The object to iterate over.\n * @param {Function} fn - The function to call for each entry.\n *\n * @returns {void}\n */\nconst forEachEntry = (obj, fn) => {\n const generator = obj && obj[Symbol.iterator];\n\n const iterator = generator.call(obj);\n\n let result;\n\n while ((result = iterator.next()) && !result.done) {\n const pair = result.value;\n fn.call(obj, pair[0], pair[1]);\n }\n}\n\n/**\n * It takes a regular expression and a string, and returns an array of all the matches\n *\n * @param {string} regExp - The regular expression to match against.\n * @param {string} str - The string to search.\n *\n * @returns {Array}\n */\nconst matchAll = (regExp, str) => {\n let matches;\n const arr = [];\n\n while ((matches = regExp.exec(str)) !== null) {\n arr.push(matches);\n }\n\n return arr;\n}\n\n/* Checking if the kindOfTest function returns true when passed an HTMLFormElement. */\nconst isHTMLForm = kindOfTest('HTMLFormElement');\n\nconst toCamelCase = str => {\n return str.toLowerCase().replace(/[-_\\s]([a-z\\d])(\\w*)/g,\n function replacer(m, p1, p2) {\n return p1.toUpperCase() + p2;\n }\n );\n};\n\n/* Creating a function that will check if an object has a property. */\nconst hasOwnProperty = (({hasOwnProperty}) => (obj, prop) => hasOwnProperty.call(obj, prop))(Object.prototype);\n\n/**\n * Determine if a value is a RegExp object\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a RegExp object, otherwise false\n */\nconst isRegExp = kindOfTest('RegExp');\n\nconst reduceDescriptors = (obj, reducer) => {\n const descriptors = Object.getOwnPropertyDescriptors(obj);\n const reducedDescriptors = {};\n\n forEach(descriptors, (descriptor, name) => {\n let ret;\n if ((ret = reducer(descriptor, name, obj)) !== false) {\n reducedDescriptors[name] = ret || descriptor;\n }\n });\n\n Object.defineProperties(obj, reducedDescriptors);\n}\n\n/**\n * Makes all methods read-only\n * @param {Object} obj\n */\n\nconst freezeMethods = (obj) => {\n reduceDescriptors(obj, (descriptor, name) => {\n // skip restricted props in strict mode\n if (isFunction(obj) && ['arguments', 'caller', 'callee'].indexOf(name) !== -1) {\n return false;\n }\n\n const value = obj[name];\n\n if (!isFunction(value)) return;\n\n descriptor.enumerable = false;\n\n if ('writable' in descriptor) {\n descriptor.writable = false;\n return;\n }\n\n if (!descriptor.set) {\n descriptor.set = () => {\n throw Error('Can not rewrite read-only method \\'' + name + '\\'');\n };\n }\n });\n}\n\nconst toObjectSet = (arrayOrString, delimiter) => {\n const obj = {};\n\n const define = (arr) => {\n arr.forEach(value => {\n obj[value] = true;\n });\n }\n\n isArray(arrayOrString) ? define(arrayOrString) : define(String(arrayOrString).split(delimiter));\n\n return obj;\n}\n\nconst noop = () => {}\n\nconst toFiniteNumber = (value, defaultValue) => {\n return value != null && Number.isFinite(value = +value) ? value : defaultValue;\n}\n\n/**\n * If the thing is a FormData object, return true, otherwise return false.\n *\n * @param {unknown} thing - The thing to check.\n *\n * @returns {boolean}\n */\nfunction isSpecCompliantForm(thing) {\n return !!(thing && isFunction(thing.append) && thing[Symbol.toStringTag] === 'FormData' && thing[Symbol.iterator]);\n}\n\nconst toJSONObject = (obj) => {\n const stack = new Array(10);\n\n const visit = (source, i) => {\n\n if (isObject(source)) {\n if (stack.indexOf(source) >= 0) {\n return;\n }\n\n if(!('toJSON' in source)) {\n stack[i] = source;\n const target = isArray(source) ? [] : {};\n\n forEach(source, (value, key) => {\n const reducedValue = visit(value, i + 1);\n !isUndefined(reducedValue) && (target[key] = reducedValue);\n });\n\n stack[i] = undefined;\n\n return target;\n }\n }\n\n return source;\n }\n\n return visit(obj, 0);\n}\n\nconst isAsyncFn = kindOfTest('AsyncFunction');\n\nconst isThenable = (thing) =>\n thing && (isObject(thing) || isFunction(thing)) && isFunction(thing.then) && isFunction(thing.catch);\n\n// original code\n// https://github.com/DigitalBrainJS/AxiosPromise/blob/16deab13710ec09779922131f3fa5954320f83ab/lib/utils.js#L11-L34\n\nconst _setImmediate = ((setImmediateSupported, postMessageSupported) => {\n if (setImmediateSupported) {\n return setImmediate;\n }\n\n return postMessageSupported ? ((token, callbacks) => {\n _global.addEventListener(\"message\", ({source, data}) => {\n if (source === _global && data === token) {\n callbacks.length && callbacks.shift()();\n }\n }, false);\n\n return (cb) => {\n callbacks.push(cb);\n _global.postMessage(token, \"*\");\n }\n })(`axios@${Math.random()}`, []) : (cb) => setTimeout(cb);\n})(\n typeof setImmediate === 'function',\n isFunction(_global.postMessage)\n);\n\nconst asap = typeof queueMicrotask !== 'undefined' ?\n queueMicrotask.bind(_global) : ( typeof process !== 'undefined' && process.nextTick || _setImmediate);\n\n// *********************\n\nexport default {\n isArray,\n isArrayBuffer,\n isBuffer,\n isFormData,\n isArrayBufferView,\n isString,\n isNumber,\n isBoolean,\n isObject,\n isPlainObject,\n isReadableStream,\n isRequest,\n isResponse,\n isHeaders,\n isUndefined,\n isDate,\n isFile,\n isBlob,\n isRegExp,\n isFunction,\n isStream,\n isURLSearchParams,\n isTypedArray,\n isFileList,\n forEach,\n merge,\n extend,\n trim,\n stripBOM,\n inherits,\n toFlatObject,\n kindOf,\n kindOfTest,\n endsWith,\n toArray,\n forEachEntry,\n matchAll,\n isHTMLForm,\n hasOwnProperty,\n hasOwnProp: hasOwnProperty, // an alias to avoid ESLint no-prototype-builtins detection\n reduceDescriptors,\n freezeMethods,\n toObjectSet,\n toCamelCase,\n noop,\n toFiniteNumber,\n findKey,\n global: _global,\n isContextDefined,\n isSpecCompliantForm,\n toJSONObject,\n isAsyncFn,\n isThenable,\n setImmediate: _setImmediate,\n asap\n};\n","'use strict';\n\nimport utils from '../utils.js';\n\n/**\n * Create an Error with the specified message, config, error code, request and response.\n *\n * @param {string} message The error message.\n * @param {string} [code] The error code (for example, 'ECONNABORTED').\n * @param {Object} [config] The config.\n * @param {Object} [request] The request.\n * @param {Object} [response] The response.\n *\n * @returns {Error} The created error.\n */\nfunction AxiosError(message, code, config, request, response) {\n Error.call(this);\n\n if (Error.captureStackTrace) {\n Error.captureStackTrace(this, this.constructor);\n } else {\n this.stack = (new Error()).stack;\n }\n\n this.message = message;\n this.name = 'AxiosError';\n code && (this.code = code);\n config && (this.config = config);\n request && (this.request = request);\n if (response) {\n this.response = response;\n this.status = response.status ? response.status : null;\n }\n}\n\nutils.inherits(AxiosError, Error, {\n toJSON: function toJSON() {\n return {\n // Standard\n message: this.message,\n name: this.name,\n // Microsoft\n description: this.description,\n number: this.number,\n // Mozilla\n fileName: this.fileName,\n lineNumber: this.lineNumber,\n columnNumber: this.columnNumber,\n stack: this.stack,\n // Axios\n config: utils.toJSONObject(this.config),\n code: this.code,\n status: this.status\n };\n }\n});\n\nconst prototype = AxiosError.prototype;\nconst descriptors = {};\n\n[\n 'ERR_BAD_OPTION_VALUE',\n 'ERR_BAD_OPTION',\n 'ECONNABORTED',\n 'ETIMEDOUT',\n 'ERR_NETWORK',\n 'ERR_FR_TOO_MANY_REDIRECTS',\n 'ERR_DEPRECATED',\n 'ERR_BAD_RESPONSE',\n 'ERR_BAD_REQUEST',\n 'ERR_CANCELED',\n 'ERR_NOT_SUPPORT',\n 'ERR_INVALID_URL'\n// eslint-disable-next-line func-names\n].forEach(code => {\n descriptors[code] = {value: code};\n});\n\nObject.defineProperties(AxiosError, descriptors);\nObject.defineProperty(prototype, 'isAxiosError', {value: true});\n\n// eslint-disable-next-line func-names\nAxiosError.from = (error, code, config, request, response, customProps) => {\n const axiosError = Object.create(prototype);\n\n utils.toFlatObject(error, axiosError, function filter(obj) {\n return obj !== Error.prototype;\n }, prop => {\n return prop !== 'isAxiosError';\n });\n\n AxiosError.call(axiosError, error.message, code, config, request, response);\n\n axiosError.cause = error;\n\n axiosError.name = error.name;\n\n customProps && Object.assign(axiosError, customProps);\n\n return axiosError;\n};\n\nexport default AxiosError;\n","'use strict';\n\nimport utils from '../utils.js';\nimport AxiosError from '../core/AxiosError.js';\n// temporary hotfix to avoid circular references until AxiosURLSearchParams is refactored\nimport PlatformFormData from '../platform/node/classes/FormData.js';\n\n/**\n * Determines if the given thing is a array or js object.\n *\n * @param {string} thing - The object or array to be visited.\n *\n * @returns {boolean}\n */\nfunction isVisitable(thing) {\n return utils.isPlainObject(thing) || utils.isArray(thing);\n}\n\n/**\n * It removes the brackets from the end of a string\n *\n * @param {string} key - The key of the parameter.\n *\n * @returns {string} the key without the brackets.\n */\nfunction removeBrackets(key) {\n return utils.endsWith(key, '[]') ? key.slice(0, -2) : key;\n}\n\n/**\n * It takes a path, a key, and a boolean, and returns a string\n *\n * @param {string} path - The path to the current key.\n * @param {string} key - The key of the current object being iterated over.\n * @param {string} dots - If true, the key will be rendered with dots instead of brackets.\n *\n * @returns {string} The path to the current key.\n */\nfunction renderKey(path, key, dots) {\n if (!path) return key;\n return path.concat(key).map(function each(token, i) {\n // eslint-disable-next-line no-param-reassign\n token = removeBrackets(token);\n return !dots && i ? '[' + token + ']' : token;\n }).join(dots ? '.' : '');\n}\n\n/**\n * If the array is an array and none of its elements are visitable, then it's a flat array.\n *\n * @param {Array} arr - The array to check\n *\n * @returns {boolean}\n */\nfunction isFlatArray(arr) {\n return utils.isArray(arr) && !arr.some(isVisitable);\n}\n\nconst predicates = utils.toFlatObject(utils, {}, null, function filter(prop) {\n return /^is[A-Z]/.test(prop);\n});\n\n/**\n * Convert a data object to FormData\n *\n * @param {Object} obj\n * @param {?Object} [formData]\n * @param {?Object} [options]\n * @param {Function} [options.visitor]\n * @param {Boolean} [options.metaTokens = true]\n * @param {Boolean} [options.dots = false]\n * @param {?Boolean} [options.indexes = false]\n *\n * @returns {Object}\n **/\n\n/**\n * It converts an object into a FormData object\n *\n * @param {Object} obj - The object to convert to form data.\n * @param {string} formData - The FormData object to append to.\n * @param {Object} options\n *\n * @returns\n */\nfunction toFormData(obj, formData, options) {\n if (!utils.isObject(obj)) {\n throw new TypeError('target must be an object');\n }\n\n // eslint-disable-next-line no-param-reassign\n formData = formData || new (PlatformFormData || FormData)();\n\n // eslint-disable-next-line no-param-reassign\n options = utils.toFlatObject(options, {\n metaTokens: true,\n dots: false,\n indexes: false\n }, false, function defined(option, source) {\n // eslint-disable-next-line no-eq-null,eqeqeq\n return !utils.isUndefined(source[option]);\n });\n\n const metaTokens = options.metaTokens;\n // eslint-disable-next-line no-use-before-define\n const visitor = options.visitor || defaultVisitor;\n const dots = options.dots;\n const indexes = options.indexes;\n const _Blob = options.Blob || typeof Blob !== 'undefined' && Blob;\n const useBlob = _Blob && utils.isSpecCompliantForm(formData);\n\n if (!utils.isFunction(visitor)) {\n throw new TypeError('visitor must be a function');\n }\n\n function convertValue(value) {\n if (value === null) return '';\n\n if (utils.isDate(value)) {\n return value.toISOString();\n }\n\n if (!useBlob && utils.isBlob(value)) {\n throw new AxiosError('Blob is not supported. Use a Buffer instead.');\n }\n\n if (utils.isArrayBuffer(value) || utils.isTypedArray(value)) {\n return useBlob && typeof Blob === 'function' ? new Blob([value]) : Buffer.from(value);\n }\n\n return value;\n }\n\n /**\n * Default visitor.\n *\n * @param {*} value\n * @param {String|Number} key\n * @param {Array} path\n * @this {FormData}\n *\n * @returns {boolean} return true to visit the each prop of the value recursively\n */\n function defaultVisitor(value, key, path) {\n let arr = value;\n\n if (value && !path && typeof value === 'object') {\n if (utils.endsWith(key, '{}')) {\n // eslint-disable-next-line no-param-reassign\n key = metaTokens ? key : key.slice(0, -2);\n // eslint-disable-next-line no-param-reassign\n value = JSON.stringify(value);\n } else if (\n (utils.isArray(value) && isFlatArray(value)) ||\n ((utils.isFileList(value) || utils.endsWith(key, '[]')) && (arr = utils.toArray(value))\n )) {\n // eslint-disable-next-line no-param-reassign\n key = removeBrackets(key);\n\n arr.forEach(function each(el, index) {\n !(utils.isUndefined(el) || el === null) && formData.append(\n // eslint-disable-next-line no-nested-ternary\n indexes === true ? renderKey([key], index, dots) : (indexes === null ? key : key + '[]'),\n convertValue(el)\n );\n });\n return false;\n }\n }\n\n if (isVisitable(value)) {\n return true;\n }\n\n formData.append(renderKey(path, key, dots), convertValue(value));\n\n return false;\n }\n\n const stack = [];\n\n const exposedHelpers = Object.assign(predicates, {\n defaultVisitor,\n convertValue,\n isVisitable\n });\n\n function build(value, path) {\n if (utils.isUndefined(value)) return;\n\n if (stack.indexOf(value) !== -1) {\n throw Error('Circular reference detected in ' + path.join('.'));\n }\n\n stack.push(value);\n\n utils.forEach(value, function each(el, key) {\n const result = !(utils.isUndefined(el) || el === null) && visitor.call(\n formData, el, utils.isString(key) ? key.trim() : key, path, exposedHelpers\n );\n\n if (result === true) {\n build(el, path ? path.concat(key) : [key]);\n }\n });\n\n stack.pop();\n }\n\n if (!utils.isObject(obj)) {\n throw new TypeError('data must be an object');\n }\n\n build(obj);\n\n return formData;\n}\n\nexport default toFormData;\n","'use strict';\n\nimport toFormData from './toFormData.js';\n\n/**\n * It encodes a string by replacing all characters that are not in the unreserved set with\n * their percent-encoded equivalents\n *\n * @param {string} str - The string to encode.\n *\n * @returns {string} The encoded string.\n */\nfunction encode(str) {\n const charMap = {\n '!': '%21',\n \"'\": '%27',\n '(': '%28',\n ')': '%29',\n '~': '%7E',\n '%20': '+',\n '%00': '\\x00'\n };\n return encodeURIComponent(str).replace(/[!'()~]|%20|%00/g, function replacer(match) {\n return charMap[match];\n });\n}\n\n/**\n * It takes a params object and converts it to a FormData object\n *\n * @param {Object} params - The parameters to be converted to a FormData object.\n * @param {Object} options - The options object passed to the Axios constructor.\n *\n * @returns {void}\n */\nfunction AxiosURLSearchParams(params, options) {\n this._pairs = [];\n\n params && toFormData(params, this, options);\n}\n\nconst prototype = AxiosURLSearchParams.prototype;\n\nprototype.append = function append(name, value) {\n this._pairs.push([name, value]);\n};\n\nprototype.toString = function toString(encoder) {\n const _encode = encoder ? function(value) {\n return encoder.call(this, value, encode);\n } : encode;\n\n return this._pairs.map(function each(pair) {\n return _encode(pair[0]) + '=' + _encode(pair[1]);\n }, '').join('&');\n};\n\nexport default AxiosURLSearchParams;\n","'use strict';\n\nimport utils from '../utils.js';\nimport AxiosURLSearchParams from '../helpers/AxiosURLSearchParams.js';\n\n/**\n * It replaces all instances of the characters `:`, `$`, `,`, `+`, `[`, and `]` with their\n * URI encoded counterparts\n *\n * @param {string} val The value to be encoded.\n *\n * @returns {string} The encoded value.\n */\nfunction encode(val) {\n return encodeURIComponent(val).\n replace(/%3A/gi, ':').\n replace(/%24/g, '$').\n replace(/%2C/gi, ',').\n replace(/%20/g, '+').\n replace(/%5B/gi, '[').\n replace(/%5D/gi, ']');\n}\n\n/**\n * Build a URL by appending params to the end\n *\n * @param {string} url The base of the url (e.g., http://www.google.com)\n * @param {object} [params] The params to be appended\n * @param {?(object|Function)} options\n *\n * @returns {string} The formatted url\n */\nexport default function buildURL(url, params, options) {\n /*eslint no-param-reassign:0*/\n if (!params) {\n return url;\n }\n \n const _encode = options && options.encode || encode;\n\n if (utils.isFunction(options)) {\n options = {\n serialize: options\n };\n } \n\n const serializeFn = options && options.serialize;\n\n let serializedParams;\n\n if (serializeFn) {\n serializedParams = serializeFn(params, options);\n } else {\n serializedParams = utils.isURLSearchParams(params) ?\n params.toString() :\n new AxiosURLSearchParams(params, options).toString(_encode);\n }\n\n if (serializedParams) {\n const hashmarkIndex = url.indexOf(\"#\");\n\n if (hashmarkIndex !== -1) {\n url = url.slice(0, hashmarkIndex);\n }\n url += (url.indexOf('?') === -1 ? '?' : '&') + serializedParams;\n }\n\n return url;\n}\n","'use strict';\n\nimport utils from './../utils.js';\n\nclass InterceptorManager {\n constructor() {\n this.handlers = [];\n }\n\n /**\n * Add a new interceptor to the stack\n *\n * @param {Function} fulfilled The function to handle `then` for a `Promise`\n * @param {Function} rejected The function to handle `reject` for a `Promise`\n *\n * @return {Number} An ID used to remove interceptor later\n */\n use(fulfilled, rejected, options) {\n this.handlers.push({\n fulfilled,\n rejected,\n synchronous: options ? options.synchronous : false,\n runWhen: options ? options.runWhen : null\n });\n return this.handlers.length - 1;\n }\n\n /**\n * Remove an interceptor from the stack\n *\n * @param {Number} id The ID that was returned by `use`\n *\n * @returns {Boolean} `true` if the interceptor was removed, `false` otherwise\n */\n eject(id) {\n if (this.handlers[id]) {\n this.handlers[id] = null;\n }\n }\n\n /**\n * Clear all interceptors from the stack\n *\n * @returns {void}\n */\n clear() {\n if (this.handlers) {\n this.handlers = [];\n }\n }\n\n /**\n * Iterate over all the registered interceptors\n *\n * This method is particularly useful for skipping over any\n * interceptors that may have become `null` calling `eject`.\n *\n * @param {Function} fn The function to call for each interceptor\n *\n * @returns {void}\n */\n forEach(fn) {\n utils.forEach(this.handlers, function forEachHandler(h) {\n if (h !== null) {\n fn(h);\n }\n });\n }\n}\n\nexport default InterceptorManager;\n","'use strict';\n\nexport default {\n silentJSONParsing: true,\n forcedJSONParsing: true,\n clarifyTimeoutError: false\n};\n","import URLSearchParams from './classes/URLSearchParams.js'\nimport FormData from './classes/FormData.js'\nimport Blob from './classes/Blob.js'\n\nexport default {\n isBrowser: true,\n classes: {\n URLSearchParams,\n FormData,\n Blob\n },\n protocols: ['http', 'https', 'file', 'blob', 'url', 'data']\n};\n","'use strict';\n\nimport AxiosURLSearchParams from '../../../helpers/AxiosURLSearchParams.js';\nexport default typeof URLSearchParams !== 'undefined' ? URLSearchParams : AxiosURLSearchParams;\n","'use strict';\n\nexport default typeof FormData !== 'undefined' ? FormData : null;\n","'use strict'\n\nexport default typeof Blob !== 'undefined' ? Blob : null\n","const hasBrowserEnv = typeof window !== 'undefined' && typeof document !== 'undefined';\n\nconst _navigator = typeof navigator === 'object' && navigator || undefined;\n\n/**\n * Determine if we're running in a standard browser environment\n *\n * This allows axios to run in a web worker, and react-native.\n * Both environments support XMLHttpRequest, but not fully standard globals.\n *\n * web workers:\n * typeof window -> undefined\n * typeof document -> undefined\n *\n * react-native:\n * navigator.product -> 'ReactNative'\n * nativescript\n * navigator.product -> 'NativeScript' or 'NS'\n *\n * @returns {boolean}\n */\nconst hasStandardBrowserEnv = hasBrowserEnv &&\n (!_navigator || ['ReactNative', 'NativeScript', 'NS'].indexOf(_navigator.product) < 0);\n\n/**\n * Determine if we're running in a standard browser webWorker environment\n *\n * Although the `isStandardBrowserEnv` method indicates that\n * `allows axios to run in a web worker`, the WebWorker will still be\n * filtered out due to its judgment standard\n * `typeof window !== 'undefined' && typeof document !== 'undefined'`.\n * This leads to a problem when axios post `FormData` in webWorker\n */\nconst hasStandardBrowserWebWorkerEnv = (() => {\n return (\n typeof WorkerGlobalScope !== 'undefined' &&\n // eslint-disable-next-line no-undef\n self instanceof WorkerGlobalScope &&\n typeof self.importScripts === 'function'\n );\n})();\n\nconst origin = hasBrowserEnv && window.location.href || 'http://localhost';\n\nexport {\n hasBrowserEnv,\n hasStandardBrowserWebWorkerEnv,\n hasStandardBrowserEnv,\n _navigator as navigator,\n origin\n}\n","import platform from './node/index.js';\nimport * as utils from './common/utils.js';\n\nexport default {\n ...utils,\n ...platform\n}\n","'use strict';\n\nimport utils from '../utils.js';\n\n/**\n * It takes a string like `foo[x][y][z]` and returns an array like `['foo', 'x', 'y', 'z']\n *\n * @param {string} name - The name of the property to get.\n *\n * @returns An array of strings.\n */\nfunction parsePropPath(name) {\n // foo[x][y][z]\n // foo.x.y.z\n // foo-x-y-z\n // foo x y z\n return utils.matchAll(/\\w+|\\[(\\w*)]/g, name).map(match => {\n return match[0] === '[]' ? '' : match[1] || match[0];\n });\n}\n\n/**\n * Convert an array to an object.\n *\n * @param {Array} arr - The array to convert to an object.\n *\n * @returns An object with the same keys and values as the array.\n */\nfunction arrayToObject(arr) {\n const obj = {};\n const keys = Object.keys(arr);\n let i;\n const len = keys.length;\n let key;\n for (i = 0; i < len; i++) {\n key = keys[i];\n obj[key] = arr[key];\n }\n return obj;\n}\n\n/**\n * It takes a FormData object and returns a JavaScript object\n *\n * @param {string} formData The FormData object to convert to JSON.\n *\n * @returns {Object | null} The converted object.\n */\nfunction formDataToJSON(formData) {\n function buildPath(path, value, target, index) {\n let name = path[index++];\n\n if (name === '__proto__') return true;\n\n const isNumericKey = Number.isFinite(+name);\n const isLast = index >= path.length;\n name = !name && utils.isArray(target) ? target.length : name;\n\n if (isLast) {\n if (utils.hasOwnProp(target, name)) {\n target[name] = [target[name], value];\n } else {\n target[name] = value;\n }\n\n return !isNumericKey;\n }\n\n if (!target[name] || !utils.isObject(target[name])) {\n target[name] = [];\n }\n\n const result = buildPath(path, value, target[name], index);\n\n if (result && utils.isArray(target[name])) {\n target[name] = arrayToObject(target[name]);\n }\n\n return !isNumericKey;\n }\n\n if (utils.isFormData(formData) && utils.isFunction(formData.entries)) {\n const obj = {};\n\n utils.forEachEntry(formData, (name, value) => {\n buildPath(parsePropPath(name), value, obj, 0);\n });\n\n return obj;\n }\n\n return null;\n}\n\nexport default formDataToJSON;\n","'use strict';\n\nimport utils from '../utils.js';\nimport AxiosError from '../core/AxiosError.js';\nimport transitionalDefaults from './transitional.js';\nimport toFormData from '../helpers/toFormData.js';\nimport toURLEncodedForm from '../helpers/toURLEncodedForm.js';\nimport platform from '../platform/index.js';\nimport formDataToJSON from '../helpers/formDataToJSON.js';\n\n/**\n * It takes a string, tries to parse it, and if it fails, it returns the stringified version\n * of the input\n *\n * @param {any} rawValue - The value to be stringified.\n * @param {Function} parser - A function that parses a string into a JavaScript object.\n * @param {Function} encoder - A function that takes a value and returns a string.\n *\n * @returns {string} A stringified version of the rawValue.\n */\nfunction stringifySafely(rawValue, parser, encoder) {\n if (utils.isString(rawValue)) {\n try {\n (parser || JSON.parse)(rawValue);\n return utils.trim(rawValue);\n } catch (e) {\n if (e.name !== 'SyntaxError') {\n throw e;\n }\n }\n }\n\n return (encoder || JSON.stringify)(rawValue);\n}\n\nconst defaults = {\n\n transitional: transitionalDefaults,\n\n adapter: ['xhr', 'http', 'fetch'],\n\n transformRequest: [function transformRequest(data, headers) {\n const contentType = headers.getContentType() || '';\n const hasJSONContentType = contentType.indexOf('application/json') > -1;\n const isObjectPayload = utils.isObject(data);\n\n if (isObjectPayload && utils.isHTMLForm(data)) {\n data = new FormData(data);\n }\n\n const isFormData = utils.isFormData(data);\n\n if (isFormData) {\n return hasJSONContentType ? JSON.stringify(formDataToJSON(data)) : data;\n }\n\n if (utils.isArrayBuffer(data) ||\n utils.isBuffer(data) ||\n utils.isStream(data) ||\n utils.isFile(data) ||\n utils.isBlob(data) ||\n utils.isReadableStream(data)\n ) {\n return data;\n }\n if (utils.isArrayBufferView(data)) {\n return data.buffer;\n }\n if (utils.isURLSearchParams(data)) {\n headers.setContentType('application/x-www-form-urlencoded;charset=utf-8', false);\n return data.toString();\n }\n\n let isFileList;\n\n if (isObjectPayload) {\n if (contentType.indexOf('application/x-www-form-urlencoded') > -1) {\n return toURLEncodedForm(data, this.formSerializer).toString();\n }\n\n if ((isFileList = utils.isFileList(data)) || contentType.indexOf('multipart/form-data') > -1) {\n const _FormData = this.env && this.env.FormData;\n\n return toFormData(\n isFileList ? {'files[]': data} : data,\n _FormData && new _FormData(),\n this.formSerializer\n );\n }\n }\n\n if (isObjectPayload || hasJSONContentType ) {\n headers.setContentType('application/json', false);\n return stringifySafely(data);\n }\n\n return data;\n }],\n\n transformResponse: [function transformResponse(data) {\n const transitional = this.transitional || defaults.transitional;\n const forcedJSONParsing = transitional && transitional.forcedJSONParsing;\n const JSONRequested = this.responseType === 'json';\n\n if (utils.isResponse(data) || utils.isReadableStream(data)) {\n return data;\n }\n\n if (data && utils.isString(data) && ((forcedJSONParsing && !this.responseType) || JSONRequested)) {\n const silentJSONParsing = transitional && transitional.silentJSONParsing;\n const strictJSONParsing = !silentJSONParsing && JSONRequested;\n\n try {\n return JSON.parse(data);\n } catch (e) {\n if (strictJSONParsing) {\n if (e.name === 'SyntaxError') {\n throw AxiosError.from(e, AxiosError.ERR_BAD_RESPONSE, this, null, this.response);\n }\n throw e;\n }\n }\n }\n\n return data;\n }],\n\n /**\n * A timeout in milliseconds to abort a request. If set to 0 (default) a\n * timeout is not created.\n */\n timeout: 0,\n\n xsrfCookieName: 'XSRF-TOKEN',\n xsrfHeaderName: 'X-XSRF-TOKEN',\n\n maxContentLength: -1,\n maxBodyLength: -1,\n\n env: {\n FormData: platform.classes.FormData,\n Blob: platform.classes.Blob\n },\n\n validateStatus: function validateStatus(status) {\n return status >= 200 && status < 300;\n },\n\n headers: {\n common: {\n 'Accept': 'application/json, text/plain, */*',\n 'Content-Type': undefined\n }\n }\n};\n\nutils.forEach(['delete', 'get', 'head', 'post', 'put', 'patch'], (method) => {\n defaults.headers[method] = {};\n});\n\nexport default defaults;\n","'use strict';\n\nimport utils from '../utils.js';\nimport toFormData from './toFormData.js';\nimport platform from '../platform/index.js';\n\nexport default function toURLEncodedForm(data, options) {\n return toFormData(data, new platform.classes.URLSearchParams(), Object.assign({\n visitor: function(value, key, path, helpers) {\n if (platform.isNode && utils.isBuffer(value)) {\n this.append(key, value.toString('base64'));\n return false;\n }\n\n return helpers.defaultVisitor.apply(this, arguments);\n }\n }, options));\n}\n","'use strict';\n\nimport utils from './../utils.js';\n\n// RawAxiosHeaders whose duplicates are ignored by node\n// c.f. https://nodejs.org/api/http.html#http_message_headers\nconst ignoreDuplicateOf = utils.toObjectSet([\n 'age', 'authorization', 'content-length', 'content-type', 'etag',\n 'expires', 'from', 'host', 'if-modified-since', 'if-unmodified-since',\n 'last-modified', 'location', 'max-forwards', 'proxy-authorization',\n 'referer', 'retry-after', 'user-agent'\n]);\n\n/**\n * Parse headers into an object\n *\n * ```\n * Date: Wed, 27 Aug 2014 08:58:49 GMT\n * Content-Type: application/json\n * Connection: keep-alive\n * Transfer-Encoding: chunked\n * ```\n *\n * @param {String} rawHeaders Headers needing to be parsed\n *\n * @returns {Object} Headers parsed into an object\n */\nexport default rawHeaders => {\n const parsed = {};\n let key;\n let val;\n let i;\n\n rawHeaders && rawHeaders.split('\\n').forEach(function parser(line) {\n i = line.indexOf(':');\n key = line.substring(0, i).trim().toLowerCase();\n val = line.substring(i + 1).trim();\n\n if (!key || (parsed[key] && ignoreDuplicateOf[key])) {\n return;\n }\n\n if (key === 'set-cookie') {\n if (parsed[key]) {\n parsed[key].push(val);\n } else {\n parsed[key] = [val];\n }\n } else {\n parsed[key] = parsed[key] ? parsed[key] + ', ' + val : val;\n }\n });\n\n return parsed;\n};\n","'use strict';\n\nimport utils from '../utils.js';\nimport parseHeaders from '../helpers/parseHeaders.js';\n\nconst $internals = Symbol('internals');\n\nfunction normalizeHeader(header) {\n return header && String(header).trim().toLowerCase();\n}\n\nfunction normalizeValue(value) {\n if (value === false || value == null) {\n return value;\n }\n\n return utils.isArray(value) ? value.map(normalizeValue) : String(value);\n}\n\nfunction parseTokens(str) {\n const tokens = Object.create(null);\n const tokensRE = /([^\\s,;=]+)\\s*(?:=\\s*([^,;]+))?/g;\n let match;\n\n while ((match = tokensRE.exec(str))) {\n tokens[match[1]] = match[2];\n }\n\n return tokens;\n}\n\nconst isValidHeaderName = (str) => /^[-_a-zA-Z0-9^`|~,!#$%&'*+.]+$/.test(str.trim());\n\nfunction matchHeaderValue(context, value, header, filter, isHeaderNameFilter) {\n if (utils.isFunction(filter)) {\n return filter.call(this, value, header);\n }\n\n if (isHeaderNameFilter) {\n value = header;\n }\n\n if (!utils.isString(value)) return;\n\n if (utils.isString(filter)) {\n return value.indexOf(filter) !== -1;\n }\n\n if (utils.isRegExp(filter)) {\n return filter.test(value);\n }\n}\n\nfunction formatHeader(header) {\n return header.trim()\n .toLowerCase().replace(/([a-z\\d])(\\w*)/g, (w, char, str) => {\n return char.toUpperCase() + str;\n });\n}\n\nfunction buildAccessors(obj, header) {\n const accessorName = utils.toCamelCase(' ' + header);\n\n ['get', 'set', 'has'].forEach(methodName => {\n Object.defineProperty(obj, methodName + accessorName, {\n value: function(arg1, arg2, arg3) {\n return this[methodName].call(this, header, arg1, arg2, arg3);\n },\n configurable: true\n });\n });\n}\n\nclass AxiosHeaders {\n constructor(headers) {\n headers && this.set(headers);\n }\n\n set(header, valueOrRewrite, rewrite) {\n const self = this;\n\n function setHeader(_value, _header, _rewrite) {\n const lHeader = normalizeHeader(_header);\n\n if (!lHeader) {\n throw new Error('header name must be a non-empty string');\n }\n\n const key = utils.findKey(self, lHeader);\n\n if(!key || self[key] === undefined || _rewrite === true || (_rewrite === undefined && self[key] !== false)) {\n self[key || _header] = normalizeValue(_value);\n }\n }\n\n const setHeaders = (headers, _rewrite) =>\n utils.forEach(headers, (_value, _header) => setHeader(_value, _header, _rewrite));\n\n if (utils.isPlainObject(header) || header instanceof this.constructor) {\n setHeaders(header, valueOrRewrite)\n } else if(utils.isString(header) && (header = header.trim()) && !isValidHeaderName(header)) {\n setHeaders(parseHeaders(header), valueOrRewrite);\n } else if (utils.isHeaders(header)) {\n for (const [key, value] of header.entries()) {\n setHeader(value, key, rewrite);\n }\n } else {\n header != null && setHeader(valueOrRewrite, header, rewrite);\n }\n\n return this;\n }\n\n get(header, parser) {\n header = normalizeHeader(header);\n\n if (header) {\n const key = utils.findKey(this, header);\n\n if (key) {\n const value = this[key];\n\n if (!parser) {\n return value;\n }\n\n if (parser === true) {\n return parseTokens(value);\n }\n\n if (utils.isFunction(parser)) {\n return parser.call(this, value, key);\n }\n\n if (utils.isRegExp(parser)) {\n return parser.exec(value);\n }\n\n throw new TypeError('parser must be boolean|regexp|function');\n }\n }\n }\n\n has(header, matcher) {\n header = normalizeHeader(header);\n\n if (header) {\n const key = utils.findKey(this, header);\n\n return !!(key && this[key] !== undefined && (!matcher || matchHeaderValue(this, this[key], key, matcher)));\n }\n\n return false;\n }\n\n delete(header, matcher) {\n const self = this;\n let deleted = false;\n\n function deleteHeader(_header) {\n _header = normalizeHeader(_header);\n\n if (_header) {\n const key = utils.findKey(self, _header);\n\n if (key && (!matcher || matchHeaderValue(self, self[key], key, matcher))) {\n delete self[key];\n\n deleted = true;\n }\n }\n }\n\n if (utils.isArray(header)) {\n header.forEach(deleteHeader);\n } else {\n deleteHeader(header);\n }\n\n return deleted;\n }\n\n clear(matcher) {\n const keys = Object.keys(this);\n let i = keys.length;\n let deleted = false;\n\n while (i--) {\n const key = keys[i];\n if(!matcher || matchHeaderValue(this, this[key], key, matcher, true)) {\n delete this[key];\n deleted = true;\n }\n }\n\n return deleted;\n }\n\n normalize(format) {\n const self = this;\n const headers = {};\n\n utils.forEach(this, (value, header) => {\n const key = utils.findKey(headers, header);\n\n if (key) {\n self[key] = normalizeValue(value);\n delete self[header];\n return;\n }\n\n const normalized = format ? formatHeader(header) : String(header).trim();\n\n if (normalized !== header) {\n delete self[header];\n }\n\n self[normalized] = normalizeValue(value);\n\n headers[normalized] = true;\n });\n\n return this;\n }\n\n concat(...targets) {\n return this.constructor.concat(this, ...targets);\n }\n\n toJSON(asStrings) {\n const obj = Object.create(null);\n\n utils.forEach(this, (value, header) => {\n value != null && value !== false && (obj[header] = asStrings && utils.isArray(value) ? value.join(', ') : value);\n });\n\n return obj;\n }\n\n [Symbol.iterator]() {\n return Object.entries(this.toJSON())[Symbol.iterator]();\n }\n\n toString() {\n return Object.entries(this.toJSON()).map(([header, value]) => header + ': ' + value).join('\\n');\n }\n\n get [Symbol.toStringTag]() {\n return 'AxiosHeaders';\n }\n\n static from(thing) {\n return thing instanceof this ? thing : new this(thing);\n }\n\n static concat(first, ...targets) {\n const computed = new this(first);\n\n targets.forEach((target) => computed.set(target));\n\n return computed;\n }\n\n static accessor(header) {\n const internals = this[$internals] = (this[$internals] = {\n accessors: {}\n });\n\n const accessors = internals.accessors;\n const prototype = this.prototype;\n\n function defineAccessor(_header) {\n const lHeader = normalizeHeader(_header);\n\n if (!accessors[lHeader]) {\n buildAccessors(prototype, _header);\n accessors[lHeader] = true;\n }\n }\n\n utils.isArray(header) ? header.forEach(defineAccessor) : defineAccessor(header);\n\n return this;\n }\n}\n\nAxiosHeaders.accessor(['Content-Type', 'Content-Length', 'Accept', 'Accept-Encoding', 'User-Agent', 'Authorization']);\n\n// reserved names hotfix\nutils.reduceDescriptors(AxiosHeaders.prototype, ({value}, key) => {\n let mapped = key[0].toUpperCase() + key.slice(1); // map `set` => `Set`\n return {\n get: () => value,\n set(headerValue) {\n this[mapped] = headerValue;\n }\n }\n});\n\nutils.freezeMethods(AxiosHeaders);\n\nexport default AxiosHeaders;\n","'use strict';\n\nimport utils from './../utils.js';\nimport defaults from '../defaults/index.js';\nimport AxiosHeaders from '../core/AxiosHeaders.js';\n\n/**\n * Transform the data for a request or a response\n *\n * @param {Array|Function} fns A single function or Array of functions\n * @param {?Object} response The response object\n *\n * @returns {*} The resulting transformed data\n */\nexport default function transformData(fns, response) {\n const config = this || defaults;\n const context = response || config;\n const headers = AxiosHeaders.from(context.headers);\n let data = context.data;\n\n utils.forEach(fns, function transform(fn) {\n data = fn.call(config, data, headers.normalize(), response ? response.status : undefined);\n });\n\n headers.normalize();\n\n return data;\n}\n","'use strict';\n\nexport default function isCancel(value) {\n return !!(value && value.__CANCEL__);\n}\n","'use strict';\n\nimport AxiosError from '../core/AxiosError.js';\nimport utils from '../utils.js';\n\n/**\n * A `CanceledError` is an object that is thrown when an operation is canceled.\n *\n * @param {string=} message The message.\n * @param {Object=} config The config.\n * @param {Object=} request The request.\n *\n * @returns {CanceledError} The created error.\n */\nfunction CanceledError(message, config, request) {\n // eslint-disable-next-line no-eq-null,eqeqeq\n AxiosError.call(this, message == null ? 'canceled' : message, AxiosError.ERR_CANCELED, config, request);\n this.name = 'CanceledError';\n}\n\nutils.inherits(CanceledError, AxiosError, {\n __CANCEL__: true\n});\n\nexport default CanceledError;\n","'use strict';\n\nimport AxiosError from './AxiosError.js';\n\n/**\n * Resolve or reject a Promise based on response status.\n *\n * @param {Function} resolve A function that resolves the promise.\n * @param {Function} reject A function that rejects the promise.\n * @param {object} response The response.\n *\n * @returns {object} The response.\n */\nexport default function settle(resolve, reject, response) {\n const validateStatus = response.config.validateStatus;\n if (!response.status || !validateStatus || validateStatus(response.status)) {\n resolve(response);\n } else {\n reject(new AxiosError(\n 'Request failed with status code ' + response.status,\n [AxiosError.ERR_BAD_REQUEST, AxiosError.ERR_BAD_RESPONSE][Math.floor(response.status / 100) - 4],\n response.config,\n response.request,\n response\n ));\n }\n}\n","'use strict';\n\n/**\n * Calculate data maxRate\n * @param {Number} [samplesCount= 10]\n * @param {Number} [min= 1000]\n * @returns {Function}\n */\nfunction speedometer(samplesCount, min) {\n samplesCount = samplesCount || 10;\n const bytes = new Array(samplesCount);\n const timestamps = new Array(samplesCount);\n let head = 0;\n let tail = 0;\n let firstSampleTS;\n\n min = min !== undefined ? min : 1000;\n\n return function push(chunkLength) {\n const now = Date.now();\n\n const startedAt = timestamps[tail];\n\n if (!firstSampleTS) {\n firstSampleTS = now;\n }\n\n bytes[head] = chunkLength;\n timestamps[head] = now;\n\n let i = tail;\n let bytesCount = 0;\n\n while (i !== head) {\n bytesCount += bytes[i++];\n i = i % samplesCount;\n }\n\n head = (head + 1) % samplesCount;\n\n if (head === tail) {\n tail = (tail + 1) % samplesCount;\n }\n\n if (now - firstSampleTS < min) {\n return;\n }\n\n const passed = startedAt && now - startedAt;\n\n return passed ? Math.round(bytesCount * 1000 / passed) : undefined;\n };\n}\n\nexport default speedometer;\n","/**\n * Throttle decorator\n * @param {Function} fn\n * @param {Number} freq\n * @return {Function}\n */\nfunction throttle(fn, freq) {\n let timestamp = 0;\n let threshold = 1000 / freq;\n let lastArgs;\n let timer;\n\n const invoke = (args, now = Date.now()) => {\n timestamp = now;\n lastArgs = null;\n if (timer) {\n clearTimeout(timer);\n timer = null;\n }\n fn.apply(null, args);\n }\n\n const throttled = (...args) => {\n const now = Date.now();\n const passed = now - timestamp;\n if ( passed >= threshold) {\n invoke(args, now);\n } else {\n lastArgs = args;\n if (!timer) {\n timer = setTimeout(() => {\n timer = null;\n invoke(lastArgs)\n }, threshold - passed);\n }\n }\n }\n\n const flush = () => lastArgs && invoke(lastArgs);\n\n return [throttled, flush];\n}\n\nexport default throttle;\n","import speedometer from \"./speedometer.js\";\nimport throttle from \"./throttle.js\";\nimport utils from \"../utils.js\";\n\nexport const progressEventReducer = (listener, isDownloadStream, freq = 3) => {\n let bytesNotified = 0;\n const _speedometer = speedometer(50, 250);\n\n return throttle(e => {\n const loaded = e.loaded;\n const total = e.lengthComputable ? e.total : undefined;\n const progressBytes = loaded - bytesNotified;\n const rate = _speedometer(progressBytes);\n const inRange = loaded <= total;\n\n bytesNotified = loaded;\n\n const data = {\n loaded,\n total,\n progress: total ? (loaded / total) : undefined,\n bytes: progressBytes,\n rate: rate ? rate : undefined,\n estimated: rate && total && inRange ? (total - loaded) / rate : undefined,\n event: e,\n lengthComputable: total != null,\n [isDownloadStream ? 'download' : 'upload']: true\n };\n\n listener(data);\n }, freq);\n}\n\nexport const progressEventDecorator = (total, throttled) => {\n const lengthComputable = total != null;\n\n return [(loaded) => throttled[0]({\n lengthComputable,\n total,\n loaded\n }), throttled[1]];\n}\n\nexport const asyncDecorator = (fn) => (...args) => utils.asap(() => fn(...args));\n","import platform from '../platform/index.js';\n\nexport default platform.hasStandardBrowserEnv ? ((origin, isMSIE) => (url) => {\n url = new URL(url, platform.origin);\n\n return (\n origin.protocol === url.protocol &&\n origin.host === url.host &&\n (isMSIE || origin.port === url.port)\n );\n})(\n new URL(platform.origin),\n platform.navigator && /(msie|trident)/i.test(platform.navigator.userAgent)\n) : () => true;\n","import utils from './../utils.js';\nimport platform from '../platform/index.js';\n\nexport default platform.hasStandardBrowserEnv ?\n\n // Standard browser envs support document.cookie\n {\n write(name, value, expires, path, domain, secure) {\n const cookie = [name + '=' + encodeURIComponent(value)];\n\n utils.isNumber(expires) && cookie.push('expires=' + new Date(expires).toGMTString());\n\n utils.isString(path) && cookie.push('path=' + path);\n\n utils.isString(domain) && cookie.push('domain=' + domain);\n\n secure === true && cookie.push('secure');\n\n document.cookie = cookie.join('; ');\n },\n\n read(name) {\n const match = document.cookie.match(new RegExp('(^|;\\\\s*)(' + name + ')=([^;]*)'));\n return (match ? decodeURIComponent(match[3]) : null);\n },\n\n remove(name) {\n this.write(name, '', Date.now() - 86400000);\n }\n }\n\n :\n\n // Non-standard browser env (web workers, react-native) lack needed support.\n {\n write() {},\n read() {\n return null;\n },\n remove() {}\n };\n\n","'use strict';\n\nimport isAbsoluteURL from '../helpers/isAbsoluteURL.js';\nimport combineURLs from '../helpers/combineURLs.js';\n\n/**\n * Creates a new URL by combining the baseURL with the requestedURL,\n * only when the requestedURL is not already an absolute URL.\n * If the requestURL is absolute, this function returns the requestedURL untouched.\n *\n * @param {string} baseURL The base URL\n * @param {string} requestedURL Absolute or relative URL to combine\n *\n * @returns {string} The combined full path\n */\nexport default function buildFullPath(baseURL, requestedURL, allowAbsoluteUrls) {\n let isRelativeUrl = !isAbsoluteURL(requestedURL);\n if (baseURL && (isRelativeUrl || allowAbsoluteUrls == false)) {\n return combineURLs(baseURL, requestedURL);\n }\n return requestedURL;\n}\n","'use strict';\n\n/**\n * Determines whether the specified URL is absolute\n *\n * @param {string} url The URL to test\n *\n * @returns {boolean} True if the specified URL is absolute, otherwise false\n */\nexport default function isAbsoluteURL(url) {\n // A URL is considered absolute if it begins with \"://\" or \"//\" (protocol-relative URL).\n // RFC 3986 defines scheme name as a sequence of characters beginning with a letter and followed\n // by any combination of letters, digits, plus, period, or hyphen.\n return /^([a-z][a-z\\d+\\-.]*:)?\\/\\//i.test(url);\n}\n","'use strict';\n\n/**\n * Creates a new URL by combining the specified URLs\n *\n * @param {string} baseURL The base URL\n * @param {string} relativeURL The relative URL\n *\n * @returns {string} The combined URL\n */\nexport default function combineURLs(baseURL, relativeURL) {\n return relativeURL\n ? baseURL.replace(/\\/?\\/$/, '') + '/' + relativeURL.replace(/^\\/+/, '')\n : baseURL;\n}\n","'use strict';\n\nimport utils from '../utils.js';\nimport AxiosHeaders from \"./AxiosHeaders.js\";\n\nconst headersToObject = (thing) => thing instanceof AxiosHeaders ? { ...thing } : thing;\n\n/**\n * Config-specific merge-function which creates a new config-object\n * by merging two configuration objects together.\n *\n * @param {Object} config1\n * @param {Object} config2\n *\n * @returns {Object} New object resulting from merging config2 to config1\n */\nexport default function mergeConfig(config1, config2) {\n // eslint-disable-next-line no-param-reassign\n config2 = config2 || {};\n const config = {};\n\n function getMergedValue(target, source, prop, caseless) {\n if (utils.isPlainObject(target) && utils.isPlainObject(source)) {\n return utils.merge.call({caseless}, target, source);\n } else if (utils.isPlainObject(source)) {\n return utils.merge({}, source);\n } else if (utils.isArray(source)) {\n return source.slice();\n }\n return source;\n }\n\n // eslint-disable-next-line consistent-return\n function mergeDeepProperties(a, b, prop , caseless) {\n if (!utils.isUndefined(b)) {\n return getMergedValue(a, b, prop , caseless);\n } else if (!utils.isUndefined(a)) {\n return getMergedValue(undefined, a, prop , caseless);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function valueFromConfig2(a, b) {\n if (!utils.isUndefined(b)) {\n return getMergedValue(undefined, b);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function defaultToConfig2(a, b) {\n if (!utils.isUndefined(b)) {\n return getMergedValue(undefined, b);\n } else if (!utils.isUndefined(a)) {\n return getMergedValue(undefined, a);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function mergeDirectKeys(a, b, prop) {\n if (prop in config2) {\n return getMergedValue(a, b);\n } else if (prop in config1) {\n return getMergedValue(undefined, a);\n }\n }\n\n const mergeMap = {\n url: valueFromConfig2,\n method: valueFromConfig2,\n data: valueFromConfig2,\n baseURL: defaultToConfig2,\n transformRequest: defaultToConfig2,\n transformResponse: defaultToConfig2,\n paramsSerializer: defaultToConfig2,\n timeout: defaultToConfig2,\n timeoutMessage: defaultToConfig2,\n withCredentials: defaultToConfig2,\n withXSRFToken: defaultToConfig2,\n adapter: defaultToConfig2,\n responseType: defaultToConfig2,\n xsrfCookieName: defaultToConfig2,\n xsrfHeaderName: defaultToConfig2,\n onUploadProgress: defaultToConfig2,\n onDownloadProgress: defaultToConfig2,\n decompress: defaultToConfig2,\n maxContentLength: defaultToConfig2,\n maxBodyLength: defaultToConfig2,\n beforeRedirect: defaultToConfig2,\n transport: defaultToConfig2,\n httpAgent: defaultToConfig2,\n httpsAgent: defaultToConfig2,\n cancelToken: defaultToConfig2,\n socketPath: defaultToConfig2,\n responseEncoding: defaultToConfig2,\n validateStatus: mergeDirectKeys,\n headers: (a, b , prop) => mergeDeepProperties(headersToObject(a), headersToObject(b),prop, true)\n };\n\n utils.forEach(Object.keys(Object.assign({}, config1, config2)), function computeConfigValue(prop) {\n const merge = mergeMap[prop] || mergeDeepProperties;\n const configValue = merge(config1[prop], config2[prop], prop);\n (utils.isUndefined(configValue) && merge !== mergeDirectKeys) || (config[prop] = configValue);\n });\n\n return config;\n}\n","import platform from \"../platform/index.js\";\nimport utils from \"../utils.js\";\nimport isURLSameOrigin from \"./isURLSameOrigin.js\";\nimport cookies from \"./cookies.js\";\nimport buildFullPath from \"../core/buildFullPath.js\";\nimport mergeConfig from \"../core/mergeConfig.js\";\nimport AxiosHeaders from \"../core/AxiosHeaders.js\";\nimport buildURL from \"./buildURL.js\";\n\nexport default (config) => {\n const newConfig = mergeConfig({}, config);\n\n let {data, withXSRFToken, xsrfHeaderName, xsrfCookieName, headers, auth} = newConfig;\n\n newConfig.headers = headers = AxiosHeaders.from(headers);\n\n newConfig.url = buildURL(buildFullPath(newConfig.baseURL, newConfig.url, newConfig.allowAbsoluteUrls), config.params, config.paramsSerializer);\n\n // HTTP basic authentication\n if (auth) {\n headers.set('Authorization', 'Basic ' +\n btoa((auth.username || '') + ':' + (auth.password ? unescape(encodeURIComponent(auth.password)) : ''))\n );\n }\n\n let contentType;\n\n if (utils.isFormData(data)) {\n if (platform.hasStandardBrowserEnv || platform.hasStandardBrowserWebWorkerEnv) {\n headers.setContentType(undefined); // Let the browser set it\n } else if ((contentType = headers.getContentType()) !== false) {\n // fix semicolon duplication issue for ReactNative FormData implementation\n const [type, ...tokens] = contentType ? contentType.split(';').map(token => token.trim()).filter(Boolean) : [];\n headers.setContentType([type || 'multipart/form-data', ...tokens].join('; '));\n }\n }\n\n // Add xsrf header\n // This is only done if running in a standard browser environment.\n // Specifically not if we're in a web worker, or react-native.\n\n if (platform.hasStandardBrowserEnv) {\n withXSRFToken && utils.isFunction(withXSRFToken) && (withXSRFToken = withXSRFToken(newConfig));\n\n if (withXSRFToken || (withXSRFToken !== false && isURLSameOrigin(newConfig.url))) {\n // Add xsrf header\n const xsrfValue = xsrfHeaderName && xsrfCookieName && cookies.read(xsrfCookieName);\n\n if (xsrfValue) {\n headers.set(xsrfHeaderName, xsrfValue);\n }\n }\n }\n\n return newConfig;\n}\n\n","import utils from './../utils.js';\nimport settle from './../core/settle.js';\nimport transitionalDefaults from '../defaults/transitional.js';\nimport AxiosError from '../core/AxiosError.js';\nimport CanceledError from '../cancel/CanceledError.js';\nimport parseProtocol from '../helpers/parseProtocol.js';\nimport platform from '../platform/index.js';\nimport AxiosHeaders from '../core/AxiosHeaders.js';\nimport {progressEventReducer} from '../helpers/progressEventReducer.js';\nimport resolveConfig from \"../helpers/resolveConfig.js\";\n\nconst isXHRAdapterSupported = typeof XMLHttpRequest !== 'undefined';\n\nexport default isXHRAdapterSupported && function (config) {\n return new Promise(function dispatchXhrRequest(resolve, reject) {\n const _config = resolveConfig(config);\n let requestData = _config.data;\n const requestHeaders = AxiosHeaders.from(_config.headers).normalize();\n let {responseType, onUploadProgress, onDownloadProgress} = _config;\n let onCanceled;\n let uploadThrottled, downloadThrottled;\n let flushUpload, flushDownload;\n\n function done() {\n flushUpload && flushUpload(); // flush events\n flushDownload && flushDownload(); // flush events\n\n _config.cancelToken && _config.cancelToken.unsubscribe(onCanceled);\n\n _config.signal && _config.signal.removeEventListener('abort', onCanceled);\n }\n\n let request = new XMLHttpRequest();\n\n request.open(_config.method.toUpperCase(), _config.url, true);\n\n // Set the request timeout in MS\n request.timeout = _config.timeout;\n\n function onloadend() {\n if (!request) {\n return;\n }\n // Prepare the response\n const responseHeaders = AxiosHeaders.from(\n 'getAllResponseHeaders' in request && request.getAllResponseHeaders()\n );\n const responseData = !responseType || responseType === 'text' || responseType === 'json' ?\n request.responseText : request.response;\n const response = {\n data: responseData,\n status: request.status,\n statusText: request.statusText,\n headers: responseHeaders,\n config,\n request\n };\n\n settle(function _resolve(value) {\n resolve(value);\n done();\n }, function _reject(err) {\n reject(err);\n done();\n }, response);\n\n // Clean up request\n request = null;\n }\n\n if ('onloadend' in request) {\n // Use onloadend if available\n request.onloadend = onloadend;\n } else {\n // Listen for ready state to emulate onloadend\n request.onreadystatechange = function handleLoad() {\n if (!request || request.readyState !== 4) {\n return;\n }\n\n // The request errored out and we didn't get a response, this will be\n // handled by onerror instead\n // With one exception: request that using file: protocol, most browsers\n // will return status as 0 even though it's a successful request\n if (request.status === 0 && !(request.responseURL && request.responseURL.indexOf('file:') === 0)) {\n return;\n }\n // readystate handler is calling before onerror or ontimeout handlers,\n // so we should call onloadend on the next 'tick'\n setTimeout(onloadend);\n };\n }\n\n // Handle browser request cancellation (as opposed to a manual cancellation)\n request.onabort = function handleAbort() {\n if (!request) {\n return;\n }\n\n reject(new AxiosError('Request aborted', AxiosError.ECONNABORTED, config, request));\n\n // Clean up request\n request = null;\n };\n\n // Handle low level network errors\n request.onerror = function handleError() {\n // Real errors are hidden from us by the browser\n // onerror should only fire if it's a network error\n reject(new AxiosError('Network Error', AxiosError.ERR_NETWORK, config, request));\n\n // Clean up request\n request = null;\n };\n\n // Handle timeout\n request.ontimeout = function handleTimeout() {\n let timeoutErrorMessage = _config.timeout ? 'timeout of ' + _config.timeout + 'ms exceeded' : 'timeout exceeded';\n const transitional = _config.transitional || transitionalDefaults;\n if (_config.timeoutErrorMessage) {\n timeoutErrorMessage = _config.timeoutErrorMessage;\n }\n reject(new AxiosError(\n timeoutErrorMessage,\n transitional.clarifyTimeoutError ? AxiosError.ETIMEDOUT : AxiosError.ECONNABORTED,\n config,\n request));\n\n // Clean up request\n request = null;\n };\n\n // Remove Content-Type if data is undefined\n requestData === undefined && requestHeaders.setContentType(null);\n\n // Add headers to the request\n if ('setRequestHeader' in request) {\n utils.forEach(requestHeaders.toJSON(), function setRequestHeader(val, key) {\n request.setRequestHeader(key, val);\n });\n }\n\n // Add withCredentials to request if needed\n if (!utils.isUndefined(_config.withCredentials)) {\n request.withCredentials = !!_config.withCredentials;\n }\n\n // Add responseType to request if needed\n if (responseType && responseType !== 'json') {\n request.responseType = _config.responseType;\n }\n\n // Handle progress if needed\n if (onDownloadProgress) {\n ([downloadThrottled, flushDownload] = progressEventReducer(onDownloadProgress, true));\n request.addEventListener('progress', downloadThrottled);\n }\n\n // Not all browsers support upload events\n if (onUploadProgress && request.upload) {\n ([uploadThrottled, flushUpload] = progressEventReducer(onUploadProgress));\n\n request.upload.addEventListener('progress', uploadThrottled);\n\n request.upload.addEventListener('loadend', flushUpload);\n }\n\n if (_config.cancelToken || _config.signal) {\n // Handle cancellation\n // eslint-disable-next-line func-names\n onCanceled = cancel => {\n if (!request) {\n return;\n }\n reject(!cancel || cancel.type ? new CanceledError(null, config, request) : cancel);\n request.abort();\n request = null;\n };\n\n _config.cancelToken && _config.cancelToken.subscribe(onCanceled);\n if (_config.signal) {\n _config.signal.aborted ? onCanceled() : _config.signal.addEventListener('abort', onCanceled);\n }\n }\n\n const protocol = parseProtocol(_config.url);\n\n if (protocol && platform.protocols.indexOf(protocol) === -1) {\n reject(new AxiosError('Unsupported protocol ' + protocol + ':', AxiosError.ERR_BAD_REQUEST, config));\n return;\n }\n\n\n // Send the request\n request.send(requestData || null);\n });\n}\n","'use strict';\n\nexport default function parseProtocol(url) {\n const match = /^([-+\\w]{1,25})(:?\\/\\/|:)/.exec(url);\n return match && match[1] || '';\n}\n","import CanceledError from \"../cancel/CanceledError.js\";\nimport AxiosError from \"../core/AxiosError.js\";\nimport utils from '../utils.js';\n\nconst composeSignals = (signals, timeout) => {\n const {length} = (signals = signals ? signals.filter(Boolean) : []);\n\n if (timeout || length) {\n let controller = new AbortController();\n\n let aborted;\n\n const onabort = function (reason) {\n if (!aborted) {\n aborted = true;\n unsubscribe();\n const err = reason instanceof Error ? reason : this.reason;\n controller.abort(err instanceof AxiosError ? err : new CanceledError(err instanceof Error ? err.message : err));\n }\n }\n\n let timer = timeout && setTimeout(() => {\n timer = null;\n onabort(new AxiosError(`timeout ${timeout} of ms exceeded`, AxiosError.ETIMEDOUT))\n }, timeout)\n\n const unsubscribe = () => {\n if (signals) {\n timer && clearTimeout(timer);\n timer = null;\n signals.forEach(signal => {\n signal.unsubscribe ? signal.unsubscribe(onabort) : signal.removeEventListener('abort', onabort);\n });\n signals = null;\n }\n }\n\n signals.forEach((signal) => signal.addEventListener('abort', onabort));\n\n const {signal} = controller;\n\n signal.unsubscribe = () => utils.asap(unsubscribe);\n\n return signal;\n }\n}\n\nexport default composeSignals;\n","\nexport const streamChunk = function* (chunk, chunkSize) {\n let len = chunk.byteLength;\n\n if (!chunkSize || len < chunkSize) {\n yield chunk;\n return;\n }\n\n let pos = 0;\n let end;\n\n while (pos < len) {\n end = pos + chunkSize;\n yield chunk.slice(pos, end);\n pos = end;\n }\n}\n\nexport const readBytes = async function* (iterable, chunkSize) {\n for await (const chunk of readStream(iterable)) {\n yield* streamChunk(chunk, chunkSize);\n }\n}\n\nconst readStream = async function* (stream) {\n if (stream[Symbol.asyncIterator]) {\n yield* stream;\n return;\n }\n\n const reader = stream.getReader();\n try {\n for (;;) {\n const {done, value} = await reader.read();\n if (done) {\n break;\n }\n yield value;\n }\n } finally {\n await reader.cancel();\n }\n}\n\nexport const trackStream = (stream, chunkSize, onProgress, onFinish) => {\n const iterator = readBytes(stream, chunkSize);\n\n let bytes = 0;\n let done;\n let _onFinish = (e) => {\n if (!done) {\n done = true;\n onFinish && onFinish(e);\n }\n }\n\n return new ReadableStream({\n async pull(controller) {\n try {\n const {done, value} = await iterator.next();\n\n if (done) {\n _onFinish();\n controller.close();\n return;\n }\n\n let len = value.byteLength;\n if (onProgress) {\n let loadedBytes = bytes += len;\n onProgress(loadedBytes);\n }\n controller.enqueue(new Uint8Array(value));\n } catch (err) {\n _onFinish(err);\n throw err;\n }\n },\n cancel(reason) {\n _onFinish(reason);\n return iterator.return();\n }\n }, {\n highWaterMark: 2\n })\n}\n","import platform from \"../platform/index.js\";\nimport utils from \"../utils.js\";\nimport AxiosError from \"../core/AxiosError.js\";\nimport composeSignals from \"../helpers/composeSignals.js\";\nimport {trackStream} from \"../helpers/trackStream.js\";\nimport AxiosHeaders from \"../core/AxiosHeaders.js\";\nimport {progressEventReducer, progressEventDecorator, asyncDecorator} from \"../helpers/progressEventReducer.js\";\nimport resolveConfig from \"../helpers/resolveConfig.js\";\nimport settle from \"../core/settle.js\";\n\nconst isFetchSupported = typeof fetch === 'function' && typeof Request === 'function' && typeof Response === 'function';\nconst isReadableStreamSupported = isFetchSupported && typeof ReadableStream === 'function';\n\n// used only inside the fetch adapter\nconst encodeText = isFetchSupported && (typeof TextEncoder === 'function' ?\n ((encoder) => (str) => encoder.encode(str))(new TextEncoder()) :\n async (str) => new Uint8Array(await new Response(str).arrayBuffer())\n);\n\nconst test = (fn, ...args) => {\n try {\n return !!fn(...args);\n } catch (e) {\n return false\n }\n}\n\nconst supportsRequestStream = isReadableStreamSupported && test(() => {\n let duplexAccessed = false;\n\n const hasContentType = new Request(platform.origin, {\n body: new ReadableStream(),\n method: 'POST',\n get duplex() {\n duplexAccessed = true;\n return 'half';\n },\n }).headers.has('Content-Type');\n\n return duplexAccessed && !hasContentType;\n});\n\nconst DEFAULT_CHUNK_SIZE = 64 * 1024;\n\nconst supportsResponseStream = isReadableStreamSupported &&\n test(() => utils.isReadableStream(new Response('').body));\n\n\nconst resolvers = {\n stream: supportsResponseStream && ((res) => res.body)\n};\n\nisFetchSupported && (((res) => {\n ['text', 'arrayBuffer', 'blob', 'formData', 'stream'].forEach(type => {\n !resolvers[type] && (resolvers[type] = utils.isFunction(res[type]) ? (res) => res[type]() :\n (_, config) => {\n throw new AxiosError(`Response type '${type}' is not supported`, AxiosError.ERR_NOT_SUPPORT, config);\n })\n });\n})(new Response));\n\nconst getBodyLength = async (body) => {\n if (body == null) {\n return 0;\n }\n\n if(utils.isBlob(body)) {\n return body.size;\n }\n\n if(utils.isSpecCompliantForm(body)) {\n const _request = new Request(platform.origin, {\n method: 'POST',\n body,\n });\n return (await _request.arrayBuffer()).byteLength;\n }\n\n if(utils.isArrayBufferView(body) || utils.isArrayBuffer(body)) {\n return body.byteLength;\n }\n\n if(utils.isURLSearchParams(body)) {\n body = body + '';\n }\n\n if(utils.isString(body)) {\n return (await encodeText(body)).byteLength;\n }\n}\n\nconst resolveBodyLength = async (headers, body) => {\n const length = utils.toFiniteNumber(headers.getContentLength());\n\n return length == null ? getBodyLength(body) : length;\n}\n\nexport default isFetchSupported && (async (config) => {\n let {\n url,\n method,\n data,\n signal,\n cancelToken,\n timeout,\n onDownloadProgress,\n onUploadProgress,\n responseType,\n headers,\n withCredentials = 'same-origin',\n fetchOptions\n } = resolveConfig(config);\n\n responseType = responseType ? (responseType + '').toLowerCase() : 'text';\n\n let composedSignal = composeSignals([signal, cancelToken && cancelToken.toAbortSignal()], timeout);\n\n let request;\n\n const unsubscribe = composedSignal && composedSignal.unsubscribe && (() => {\n composedSignal.unsubscribe();\n });\n\n let requestContentLength;\n\n try {\n if (\n onUploadProgress && supportsRequestStream && method !== 'get' && method !== 'head' &&\n (requestContentLength = await resolveBodyLength(headers, data)) !== 0\n ) {\n let _request = new Request(url, {\n method: 'POST',\n body: data,\n duplex: \"half\"\n });\n\n let contentTypeHeader;\n\n if (utils.isFormData(data) && (contentTypeHeader = _request.headers.get('content-type'))) {\n headers.setContentType(contentTypeHeader)\n }\n\n if (_request.body) {\n const [onProgress, flush] = progressEventDecorator(\n requestContentLength,\n progressEventReducer(asyncDecorator(onUploadProgress))\n );\n\n data = trackStream(_request.body, DEFAULT_CHUNK_SIZE, onProgress, flush);\n }\n }\n\n if (!utils.isString(withCredentials)) {\n withCredentials = withCredentials ? 'include' : 'omit';\n }\n\n // Cloudflare Workers throws when credentials are defined\n // see https://github.com/cloudflare/workerd/issues/902\n const isCredentialsSupported = \"credentials\" in Request.prototype;\n request = new Request(url, {\n ...fetchOptions,\n signal: composedSignal,\n method: method.toUpperCase(),\n headers: headers.normalize().toJSON(),\n body: data,\n duplex: \"half\",\n credentials: isCredentialsSupported ? withCredentials : undefined\n });\n\n let response = await fetch(request);\n\n const isStreamResponse = supportsResponseStream && (responseType === 'stream' || responseType === 'response');\n\n if (supportsResponseStream && (onDownloadProgress || (isStreamResponse && unsubscribe))) {\n const options = {};\n\n ['status', 'statusText', 'headers'].forEach(prop => {\n options[prop] = response[prop];\n });\n\n const responseContentLength = utils.toFiniteNumber(response.headers.get('content-length'));\n\n const [onProgress, flush] = onDownloadProgress && progressEventDecorator(\n responseContentLength,\n progressEventReducer(asyncDecorator(onDownloadProgress), true)\n ) || [];\n\n response = new Response(\n trackStream(response.body, DEFAULT_CHUNK_SIZE, onProgress, () => {\n flush && flush();\n unsubscribe && unsubscribe();\n }),\n options\n );\n }\n\n responseType = responseType || 'text';\n\n let responseData = await resolvers[utils.findKey(resolvers, responseType) || 'text'](response, config);\n\n !isStreamResponse && unsubscribe && unsubscribe();\n\n return await new Promise((resolve, reject) => {\n settle(resolve, reject, {\n data: responseData,\n headers: AxiosHeaders.from(response.headers),\n status: response.status,\n statusText: response.statusText,\n config,\n request\n })\n })\n } catch (err) {\n unsubscribe && unsubscribe();\n\n if (err && err.name === 'TypeError' && /fetch/i.test(err.message)) {\n throw Object.assign(\n new AxiosError('Network Error', AxiosError.ERR_NETWORK, config, request),\n {\n cause: err.cause || err\n }\n )\n }\n\n throw AxiosError.from(err, err && err.code, config, request);\n }\n});\n\n\n","import utils from '../utils.js';\nimport httpAdapter from './http.js';\nimport xhrAdapter from './xhr.js';\nimport fetchAdapter from './fetch.js';\nimport AxiosError from \"../core/AxiosError.js\";\n\nconst knownAdapters = {\n http: httpAdapter,\n xhr: xhrAdapter,\n fetch: fetchAdapter\n}\n\nutils.forEach(knownAdapters, (fn, value) => {\n if (fn) {\n try {\n Object.defineProperty(fn, 'name', {value});\n } catch (e) {\n // eslint-disable-next-line no-empty\n }\n Object.defineProperty(fn, 'adapterName', {value});\n }\n});\n\nconst renderReason = (reason) => `- ${reason}`;\n\nconst isResolvedHandle = (adapter) => utils.isFunction(adapter) || adapter === null || adapter === false;\n\nexport default {\n getAdapter: (adapters) => {\n adapters = utils.isArray(adapters) ? adapters : [adapters];\n\n const {length} = adapters;\n let nameOrAdapter;\n let adapter;\n\n const rejectedReasons = {};\n\n for (let i = 0; i < length; i++) {\n nameOrAdapter = adapters[i];\n let id;\n\n adapter = nameOrAdapter;\n\n if (!isResolvedHandle(nameOrAdapter)) {\n adapter = knownAdapters[(id = String(nameOrAdapter)).toLowerCase()];\n\n if (adapter === undefined) {\n throw new AxiosError(`Unknown adapter '${id}'`);\n }\n }\n\n if (adapter) {\n break;\n }\n\n rejectedReasons[id || '#' + i] = adapter;\n }\n\n if (!adapter) {\n\n const reasons = Object.entries(rejectedReasons)\n .map(([id, state]) => `adapter ${id} ` +\n (state === false ? 'is not supported by the environment' : 'is not available in the build')\n );\n\n let s = length ?\n (reasons.length > 1 ? 'since :\\n' + reasons.map(renderReason).join('\\n') : ' ' + renderReason(reasons[0])) :\n 'as no adapter specified';\n\n throw new AxiosError(\n `There is no suitable adapter to dispatch the request ` + s,\n 'ERR_NOT_SUPPORT'\n );\n }\n\n return adapter;\n },\n adapters: knownAdapters\n}\n","// eslint-disable-next-line strict\nexport default null;\n","'use strict';\n\nimport transformData from './transformData.js';\nimport isCancel from '../cancel/isCancel.js';\nimport defaults from '../defaults/index.js';\nimport CanceledError from '../cancel/CanceledError.js';\nimport AxiosHeaders from '../core/AxiosHeaders.js';\nimport adapters from \"../adapters/adapters.js\";\n\n/**\n * Throws a `CanceledError` if cancellation has been requested.\n *\n * @param {Object} config The config that is to be used for the request\n *\n * @returns {void}\n */\nfunction throwIfCancellationRequested(config) {\n if (config.cancelToken) {\n config.cancelToken.throwIfRequested();\n }\n\n if (config.signal && config.signal.aborted) {\n throw new CanceledError(null, config);\n }\n}\n\n/**\n * Dispatch a request to the server using the configured adapter.\n *\n * @param {object} config The config that is to be used for the request\n *\n * @returns {Promise} The Promise to be fulfilled\n */\nexport default function dispatchRequest(config) {\n throwIfCancellationRequested(config);\n\n config.headers = AxiosHeaders.from(config.headers);\n\n // Transform request data\n config.data = transformData.call(\n config,\n config.transformRequest\n );\n\n if (['post', 'put', 'patch'].indexOf(config.method) !== -1) {\n config.headers.setContentType('application/x-www-form-urlencoded', false);\n }\n\n const adapter = adapters.getAdapter(config.adapter || defaults.adapter);\n\n return adapter(config).then(function onAdapterResolution(response) {\n throwIfCancellationRequested(config);\n\n // Transform response data\n response.data = transformData.call(\n config,\n config.transformResponse,\n response\n );\n\n response.headers = AxiosHeaders.from(response.headers);\n\n return response;\n }, function onAdapterRejection(reason) {\n if (!isCancel(reason)) {\n throwIfCancellationRequested(config);\n\n // Transform response data\n if (reason && reason.response) {\n reason.response.data = transformData.call(\n config,\n config.transformResponse,\n reason.response\n );\n reason.response.headers = AxiosHeaders.from(reason.response.headers);\n }\n }\n\n return Promise.reject(reason);\n });\n}\n","export const VERSION = \"1.8.4\";","'use strict';\n\nimport {VERSION} from '../env/data.js';\nimport AxiosError from '../core/AxiosError.js';\n\nconst validators = {};\n\n// eslint-disable-next-line func-names\n['object', 'boolean', 'number', 'function', 'string', 'symbol'].forEach((type, i) => {\n validators[type] = function validator(thing) {\n return typeof thing === type || 'a' + (i < 1 ? 'n ' : ' ') + type;\n };\n});\n\nconst deprecatedWarnings = {};\n\n/**\n * Transitional option validator\n *\n * @param {function|boolean?} validator - set to false if the transitional option has been removed\n * @param {string?} version - deprecated version / removed since version\n * @param {string?} message - some message with additional info\n *\n * @returns {function}\n */\nvalidators.transitional = function transitional(validator, version, message) {\n function formatMessage(opt, desc) {\n return '[Axios v' + VERSION + '] Transitional option \\'' + opt + '\\'' + desc + (message ? '. ' + message : '');\n }\n\n // eslint-disable-next-line func-names\n return (value, opt, opts) => {\n if (validator === false) {\n throw new AxiosError(\n formatMessage(opt, ' has been removed' + (version ? ' in ' + version : '')),\n AxiosError.ERR_DEPRECATED\n );\n }\n\n if (version && !deprecatedWarnings[opt]) {\n deprecatedWarnings[opt] = true;\n // eslint-disable-next-line no-console\n console.warn(\n formatMessage(\n opt,\n ' has been deprecated since v' + version + ' and will be removed in the near future'\n )\n );\n }\n\n return validator ? validator(value, opt, opts) : true;\n };\n};\n\nvalidators.spelling = function spelling(correctSpelling) {\n return (value, opt) => {\n // eslint-disable-next-line no-console\n console.warn(`${opt} is likely a misspelling of ${correctSpelling}`);\n return true;\n }\n};\n\n/**\n * Assert object's properties type\n *\n * @param {object} options\n * @param {object} schema\n * @param {boolean?} allowUnknown\n *\n * @returns {object}\n */\n\nfunction assertOptions(options, schema, allowUnknown) {\n if (typeof options !== 'object') {\n throw new AxiosError('options must be an object', AxiosError.ERR_BAD_OPTION_VALUE);\n }\n const keys = Object.keys(options);\n let i = keys.length;\n while (i-- > 0) {\n const opt = keys[i];\n const validator = schema[opt];\n if (validator) {\n const value = options[opt];\n const result = value === undefined || validator(value, opt, options);\n if (result !== true) {\n throw new AxiosError('option ' + opt + ' must be ' + result, AxiosError.ERR_BAD_OPTION_VALUE);\n }\n continue;\n }\n if (allowUnknown !== true) {\n throw new AxiosError('Unknown option ' + opt, AxiosError.ERR_BAD_OPTION);\n }\n }\n}\n\nexport default {\n assertOptions,\n validators\n};\n","'use strict';\n\nimport utils from './../utils.js';\nimport buildURL from '../helpers/buildURL.js';\nimport InterceptorManager from './InterceptorManager.js';\nimport dispatchRequest from './dispatchRequest.js';\nimport mergeConfig from './mergeConfig.js';\nimport buildFullPath from './buildFullPath.js';\nimport validator from '../helpers/validator.js';\nimport AxiosHeaders from './AxiosHeaders.js';\n\nconst validators = validator.validators;\n\n/**\n * Create a new instance of Axios\n *\n * @param {Object} instanceConfig The default config for the instance\n *\n * @return {Axios} A new instance of Axios\n */\nclass Axios {\n constructor(instanceConfig) {\n this.defaults = instanceConfig;\n this.interceptors = {\n request: new InterceptorManager(),\n response: new InterceptorManager()\n };\n }\n\n /**\n * Dispatch a request\n *\n * @param {String|Object} configOrUrl The config specific for this request (merged with this.defaults)\n * @param {?Object} config\n *\n * @returns {Promise} The Promise to be fulfilled\n */\n async request(configOrUrl, config) {\n try {\n return await this._request(configOrUrl, config);\n } catch (err) {\n if (err instanceof Error) {\n let dummy = {};\n\n Error.captureStackTrace ? Error.captureStackTrace(dummy) : (dummy = new Error());\n\n // slice off the Error: ... line\n const stack = dummy.stack ? dummy.stack.replace(/^.+\\n/, '') : '';\n try {\n if (!err.stack) {\n err.stack = stack;\n // match without the 2 top stack lines\n } else if (stack && !String(err.stack).endsWith(stack.replace(/^.+\\n.+\\n/, ''))) {\n err.stack += '\\n' + stack\n }\n } catch (e) {\n // ignore the case where \"stack\" is an un-writable property\n }\n }\n\n throw err;\n }\n }\n\n _request(configOrUrl, config) {\n /*eslint no-param-reassign:0*/\n // Allow for axios('example/url'[, config]) a la fetch API\n if (typeof configOrUrl === 'string') {\n config = config || {};\n config.url = configOrUrl;\n } else {\n config = configOrUrl || {};\n }\n\n config = mergeConfig(this.defaults, config);\n\n const {transitional, paramsSerializer, headers} = config;\n\n if (transitional !== undefined) {\n validator.assertOptions(transitional, {\n silentJSONParsing: validators.transitional(validators.boolean),\n forcedJSONParsing: validators.transitional(validators.boolean),\n clarifyTimeoutError: validators.transitional(validators.boolean)\n }, false);\n }\n\n if (paramsSerializer != null) {\n if (utils.isFunction(paramsSerializer)) {\n config.paramsSerializer = {\n serialize: paramsSerializer\n }\n } else {\n validator.assertOptions(paramsSerializer, {\n encode: validators.function,\n serialize: validators.function\n }, true);\n }\n }\n\n // Set config.allowAbsoluteUrls\n if (config.allowAbsoluteUrls !== undefined) {\n // do nothing\n } else if (this.defaults.allowAbsoluteUrls !== undefined) {\n config.allowAbsoluteUrls = this.defaults.allowAbsoluteUrls;\n } else {\n config.allowAbsoluteUrls = true;\n }\n\n validator.assertOptions(config, {\n baseUrl: validators.spelling('baseURL'),\n withXsrfToken: validators.spelling('withXSRFToken')\n }, true);\n\n // Set config.method\n config.method = (config.method || this.defaults.method || 'get').toLowerCase();\n\n // Flatten headers\n let contextHeaders = headers && utils.merge(\n headers.common,\n headers[config.method]\n );\n\n headers && utils.forEach(\n ['delete', 'get', 'head', 'post', 'put', 'patch', 'common'],\n (method) => {\n delete headers[method];\n }\n );\n\n config.headers = AxiosHeaders.concat(contextHeaders, headers);\n\n // filter out skipped interceptors\n const requestInterceptorChain = [];\n let synchronousRequestInterceptors = true;\n this.interceptors.request.forEach(function unshiftRequestInterceptors(interceptor) {\n if (typeof interceptor.runWhen === 'function' && interceptor.runWhen(config) === false) {\n return;\n }\n\n synchronousRequestInterceptors = synchronousRequestInterceptors && interceptor.synchronous;\n\n requestInterceptorChain.unshift(interceptor.fulfilled, interceptor.rejected);\n });\n\n const responseInterceptorChain = [];\n this.interceptors.response.forEach(function pushResponseInterceptors(interceptor) {\n responseInterceptorChain.push(interceptor.fulfilled, interceptor.rejected);\n });\n\n let promise;\n let i = 0;\n let len;\n\n if (!synchronousRequestInterceptors) {\n const chain = [dispatchRequest.bind(this), undefined];\n chain.unshift.apply(chain, requestInterceptorChain);\n chain.push.apply(chain, responseInterceptorChain);\n len = chain.length;\n\n promise = Promise.resolve(config);\n\n while (i < len) {\n promise = promise.then(chain[i++], chain[i++]);\n }\n\n return promise;\n }\n\n len = requestInterceptorChain.length;\n\n let newConfig = config;\n\n i = 0;\n\n while (i < len) {\n const onFulfilled = requestInterceptorChain[i++];\n const onRejected = requestInterceptorChain[i++];\n try {\n newConfig = onFulfilled(newConfig);\n } catch (error) {\n onRejected.call(this, error);\n break;\n }\n }\n\n try {\n promise = dispatchRequest.call(this, newConfig);\n } catch (error) {\n return Promise.reject(error);\n }\n\n i = 0;\n len = responseInterceptorChain.length;\n\n while (i < len) {\n promise = promise.then(responseInterceptorChain[i++], responseInterceptorChain[i++]);\n }\n\n return promise;\n }\n\n getUri(config) {\n config = mergeConfig(this.defaults, config);\n const fullPath = buildFullPath(config.baseURL, config.url, config.allowAbsoluteUrls);\n return buildURL(fullPath, config.params, config.paramsSerializer);\n }\n}\n\n// Provide aliases for supported request methods\nutils.forEach(['delete', 'get', 'head', 'options'], function forEachMethodNoData(method) {\n /*eslint func-names:0*/\n Axios.prototype[method] = function(url, config) {\n return this.request(mergeConfig(config || {}, {\n method,\n url,\n data: (config || {}).data\n }));\n };\n});\n\nutils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) {\n /*eslint func-names:0*/\n\n function generateHTTPMethod(isForm) {\n return function httpMethod(url, data, config) {\n return this.request(mergeConfig(config || {}, {\n method,\n headers: isForm ? {\n 'Content-Type': 'multipart/form-data'\n } : {},\n url,\n data\n }));\n };\n }\n\n Axios.prototype[method] = generateHTTPMethod();\n\n Axios.prototype[method + 'Form'] = generateHTTPMethod(true);\n});\n\nexport default Axios;\n","'use strict';\n\nimport CanceledError from './CanceledError.js';\n\n/**\n * A `CancelToken` is an object that can be used to request cancellation of an operation.\n *\n * @param {Function} executor The executor function.\n *\n * @returns {CancelToken}\n */\nclass CancelToken {\n constructor(executor) {\n if (typeof executor !== 'function') {\n throw new TypeError('executor must be a function.');\n }\n\n let resolvePromise;\n\n this.promise = new Promise(function promiseExecutor(resolve) {\n resolvePromise = resolve;\n });\n\n const token = this;\n\n // eslint-disable-next-line func-names\n this.promise.then(cancel => {\n if (!token._listeners) return;\n\n let i = token._listeners.length;\n\n while (i-- > 0) {\n token._listeners[i](cancel);\n }\n token._listeners = null;\n });\n\n // eslint-disable-next-line func-names\n this.promise.then = onfulfilled => {\n let _resolve;\n // eslint-disable-next-line func-names\n const promise = new Promise(resolve => {\n token.subscribe(resolve);\n _resolve = resolve;\n }).then(onfulfilled);\n\n promise.cancel = function reject() {\n token.unsubscribe(_resolve);\n };\n\n return promise;\n };\n\n executor(function cancel(message, config, request) {\n if (token.reason) {\n // Cancellation has already been requested\n return;\n }\n\n token.reason = new CanceledError(message, config, request);\n resolvePromise(token.reason);\n });\n }\n\n /**\n * Throws a `CanceledError` if cancellation has been requested.\n */\n throwIfRequested() {\n if (this.reason) {\n throw this.reason;\n }\n }\n\n /**\n * Subscribe to the cancel signal\n */\n\n subscribe(listener) {\n if (this.reason) {\n listener(this.reason);\n return;\n }\n\n if (this._listeners) {\n this._listeners.push(listener);\n } else {\n this._listeners = [listener];\n }\n }\n\n /**\n * Unsubscribe from the cancel signal\n */\n\n unsubscribe(listener) {\n if (!this._listeners) {\n return;\n }\n const index = this._listeners.indexOf(listener);\n if (index !== -1) {\n this._listeners.splice(index, 1);\n }\n }\n\n toAbortSignal() {\n const controller = new AbortController();\n\n const abort = (err) => {\n controller.abort(err);\n };\n\n this.subscribe(abort);\n\n controller.signal.unsubscribe = () => this.unsubscribe(abort);\n\n return controller.signal;\n }\n\n /**\n * Returns an object that contains a new `CancelToken` and a function that, when called,\n * cancels the `CancelToken`.\n */\n static source() {\n let cancel;\n const token = new CancelToken(function executor(c) {\n cancel = c;\n });\n return {\n token,\n cancel\n };\n }\n}\n\nexport default CancelToken;\n","const HttpStatusCode = {\n Continue: 100,\n SwitchingProtocols: 101,\n Processing: 102,\n EarlyHints: 103,\n Ok: 200,\n Created: 201,\n Accepted: 202,\n NonAuthoritativeInformation: 203,\n NoContent: 204,\n ResetContent: 205,\n PartialContent: 206,\n MultiStatus: 207,\n AlreadyReported: 208,\n ImUsed: 226,\n MultipleChoices: 300,\n MovedPermanently: 301,\n Found: 302,\n SeeOther: 303,\n NotModified: 304,\n UseProxy: 305,\n Unused: 306,\n TemporaryRedirect: 307,\n PermanentRedirect: 308,\n BadRequest: 400,\n Unauthorized: 401,\n PaymentRequired: 402,\n Forbidden: 403,\n NotFound: 404,\n MethodNotAllowed: 405,\n NotAcceptable: 406,\n ProxyAuthenticationRequired: 407,\n RequestTimeout: 408,\n Conflict: 409,\n Gone: 410,\n LengthRequired: 411,\n PreconditionFailed: 412,\n PayloadTooLarge: 413,\n UriTooLong: 414,\n UnsupportedMediaType: 415,\n RangeNotSatisfiable: 416,\n ExpectationFailed: 417,\n ImATeapot: 418,\n MisdirectedRequest: 421,\n UnprocessableEntity: 422,\n Locked: 423,\n FailedDependency: 424,\n TooEarly: 425,\n UpgradeRequired: 426,\n PreconditionRequired: 428,\n TooManyRequests: 429,\n RequestHeaderFieldsTooLarge: 431,\n UnavailableForLegalReasons: 451,\n InternalServerError: 500,\n NotImplemented: 501,\n BadGateway: 502,\n ServiceUnavailable: 503,\n GatewayTimeout: 504,\n HttpVersionNotSupported: 505,\n VariantAlsoNegotiates: 506,\n InsufficientStorage: 507,\n LoopDetected: 508,\n NotExtended: 510,\n NetworkAuthenticationRequired: 511,\n};\n\nObject.entries(HttpStatusCode).forEach(([key, value]) => {\n HttpStatusCode[value] = key;\n});\n\nexport default HttpStatusCode;\n","'use strict';\n\nimport utils from './utils.js';\nimport bind from './helpers/bind.js';\nimport Axios from './core/Axios.js';\nimport mergeConfig from './core/mergeConfig.js';\nimport defaults from './defaults/index.js';\nimport formDataToJSON from './helpers/formDataToJSON.js';\nimport CanceledError from './cancel/CanceledError.js';\nimport CancelToken from './cancel/CancelToken.js';\nimport isCancel from './cancel/isCancel.js';\nimport {VERSION} from './env/data.js';\nimport toFormData from './helpers/toFormData.js';\nimport AxiosError from './core/AxiosError.js';\nimport spread from './helpers/spread.js';\nimport isAxiosError from './helpers/isAxiosError.js';\nimport AxiosHeaders from \"./core/AxiosHeaders.js\";\nimport adapters from './adapters/adapters.js';\nimport HttpStatusCode from './helpers/HttpStatusCode.js';\n\n/**\n * Create an instance of Axios\n *\n * @param {Object} defaultConfig The default config for the instance\n *\n * @returns {Axios} A new instance of Axios\n */\nfunction createInstance(defaultConfig) {\n const context = new Axios(defaultConfig);\n const instance = bind(Axios.prototype.request, context);\n\n // Copy axios.prototype to instance\n utils.extend(instance, Axios.prototype, context, {allOwnKeys: true});\n\n // Copy context to instance\n utils.extend(instance, context, null, {allOwnKeys: true});\n\n // Factory for creating new instances\n instance.create = function create(instanceConfig) {\n return createInstance(mergeConfig(defaultConfig, instanceConfig));\n };\n\n return instance;\n}\n\n// Create the default instance to be exported\nconst axios = createInstance(defaults);\n\n// Expose Axios class to allow class inheritance\naxios.Axios = Axios;\n\n// Expose Cancel & CancelToken\naxios.CanceledError = CanceledError;\naxios.CancelToken = CancelToken;\naxios.isCancel = isCancel;\naxios.VERSION = VERSION;\naxios.toFormData = toFormData;\n\n// Expose AxiosError class\naxios.AxiosError = AxiosError;\n\n// alias for CanceledError for backward compatibility\naxios.Cancel = axios.CanceledError;\n\n// Expose all/spread\naxios.all = function all(promises) {\n return Promise.all(promises);\n};\n\naxios.spread = spread;\n\n// Expose isAxiosError\naxios.isAxiosError = isAxiosError;\n\n// Expose mergeConfig\naxios.mergeConfig = mergeConfig;\n\naxios.AxiosHeaders = AxiosHeaders;\n\naxios.formToJSON = thing => formDataToJSON(utils.isHTMLForm(thing) ? new FormData(thing) : thing);\n\naxios.getAdapter = adapters.getAdapter;\n\naxios.HttpStatusCode = HttpStatusCode;\n\naxios.default = axios;\n\n// this module should only have a default export\nexport default axios\n","'use strict';\n\n/**\n * Syntactic sugar for invoking a function and expanding an array for arguments.\n *\n * Common use case would be to use `Function.prototype.apply`.\n *\n * ```js\n * function f(x, y, z) {}\n * var args = [1, 2, 3];\n * f.apply(null, args);\n * ```\n *\n * With `spread` this example can be re-written.\n *\n * ```js\n * spread(function(x, y, z) {})([1, 2, 3]);\n * ```\n *\n * @param {Function} callback\n *\n * @returns {Function}\n */\nexport default function spread(callback) {\n return function wrap(arr) {\n return callback.apply(null, arr);\n };\n}\n","'use strict';\n\nimport utils from './../utils.js';\n\n/**\n * Determines whether the payload is an error thrown by Axios\n *\n * @param {*} payload The value to test\n *\n * @returns {boolean} True if the payload is an error thrown by Axios, otherwise false\n */\nexport default function isAxiosError(payload) {\n return utils.isObject(payload) && (payload.isAxiosError === true);\n}\n","const PACKET_TYPES = Object.create(null); // no Map = no polyfill\nPACKET_TYPES[\"open\"] = \"0\";\nPACKET_TYPES[\"close\"] = \"1\";\nPACKET_TYPES[\"ping\"] = \"2\";\nPACKET_TYPES[\"pong\"] = \"3\";\nPACKET_TYPES[\"message\"] = \"4\";\nPACKET_TYPES[\"upgrade\"] = \"5\";\nPACKET_TYPES[\"noop\"] = \"6\";\nconst PACKET_TYPES_REVERSE = Object.create(null);\nObject.keys(PACKET_TYPES).forEach((key) => {\n PACKET_TYPES_REVERSE[PACKET_TYPES[key]] = key;\n});\nconst ERROR_PACKET = { type: \"error\", data: \"parser error\" };\nexport { PACKET_TYPES, PACKET_TYPES_REVERSE, ERROR_PACKET };\n","import { PACKET_TYPES } from \"./commons.js\";\nconst withNativeBlob = typeof Blob === \"function\" ||\n (typeof Blob !== \"undefined\" &&\n Object.prototype.toString.call(Blob) === \"[object BlobConstructor]\");\nconst withNativeArrayBuffer = typeof ArrayBuffer === \"function\";\n// ArrayBuffer.isView method is not defined in IE10\nconst isView = (obj) => {\n return typeof ArrayBuffer.isView === \"function\"\n ? ArrayBuffer.isView(obj)\n : obj && obj.buffer instanceof ArrayBuffer;\n};\nconst encodePacket = ({ type, data }, supportsBinary, callback) => {\n if (withNativeBlob && data instanceof Blob) {\n if (supportsBinary) {\n return callback(data);\n }\n else {\n return encodeBlobAsBase64(data, callback);\n }\n }\n else if (withNativeArrayBuffer &&\n (data instanceof ArrayBuffer || isView(data))) {\n if (supportsBinary) {\n return callback(data);\n }\n else {\n return encodeBlobAsBase64(new Blob([data]), callback);\n }\n }\n // plain string\n return callback(PACKET_TYPES[type] + (data || \"\"));\n};\nconst encodeBlobAsBase64 = (data, callback) => {\n const fileReader = new FileReader();\n fileReader.onload = function () {\n const content = fileReader.result.split(\",\")[1];\n callback(\"b\" + (content || \"\"));\n };\n return fileReader.readAsDataURL(data);\n};\nfunction toArray(data) {\n if (data instanceof Uint8Array) {\n return data;\n }\n else if (data instanceof ArrayBuffer) {\n return new Uint8Array(data);\n }\n else {\n return new Uint8Array(data.buffer, data.byteOffset, data.byteLength);\n }\n}\nlet TEXT_ENCODER;\nexport function encodePacketToBinary(packet, callback) {\n if (withNativeBlob && packet.data instanceof Blob) {\n return packet.data.arrayBuffer().then(toArray).then(callback);\n }\n else if (withNativeArrayBuffer &&\n (packet.data instanceof ArrayBuffer || isView(packet.data))) {\n return callback(toArray(packet.data));\n }\n encodePacket(packet, false, (encoded) => {\n if (!TEXT_ENCODER) {\n TEXT_ENCODER = new TextEncoder();\n }\n callback(TEXT_ENCODER.encode(encoded));\n });\n}\nexport { encodePacket };\n","// imported from https://github.com/socketio/base64-arraybuffer\nconst chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/';\n// Use a lookup table to find the index.\nconst lookup = typeof Uint8Array === 'undefined' ? [] : new Uint8Array(256);\nfor (let i = 0; i < chars.length; i++) {\n lookup[chars.charCodeAt(i)] = i;\n}\nexport const encode = (arraybuffer) => {\n let bytes = new Uint8Array(arraybuffer), i, len = bytes.length, base64 = '';\n for (i = 0; i < len; i += 3) {\n base64 += chars[bytes[i] >> 2];\n base64 += chars[((bytes[i] & 3) << 4) | (bytes[i + 1] >> 4)];\n base64 += chars[((bytes[i + 1] & 15) << 2) | (bytes[i + 2] >> 6)];\n base64 += chars[bytes[i + 2] & 63];\n }\n if (len % 3 === 2) {\n base64 = base64.substring(0, base64.length - 1) + '=';\n }\n else if (len % 3 === 1) {\n base64 = base64.substring(0, base64.length - 2) + '==';\n }\n return base64;\n};\nexport const decode = (base64) => {\n let bufferLength = base64.length * 0.75, len = base64.length, i, p = 0, encoded1, encoded2, encoded3, encoded4;\n if (base64[base64.length - 1] === '=') {\n bufferLength--;\n if (base64[base64.length - 2] === '=') {\n bufferLength--;\n }\n }\n const arraybuffer = new ArrayBuffer(bufferLength), bytes = new Uint8Array(arraybuffer);\n for (i = 0; i < len; i += 4) {\n encoded1 = lookup[base64.charCodeAt(i)];\n encoded2 = lookup[base64.charCodeAt(i + 1)];\n encoded3 = lookup[base64.charCodeAt(i + 2)];\n encoded4 = lookup[base64.charCodeAt(i + 3)];\n bytes[p++] = (encoded1 << 2) | (encoded2 >> 4);\n bytes[p++] = ((encoded2 & 15) << 4) | (encoded3 >> 2);\n bytes[p++] = ((encoded3 & 3) << 6) | (encoded4 & 63);\n }\n return arraybuffer;\n};\n","import { ERROR_PACKET, PACKET_TYPES_REVERSE, } from \"./commons.js\";\nimport { decode } from \"./contrib/base64-arraybuffer.js\";\nconst withNativeArrayBuffer = typeof ArrayBuffer === \"function\";\nexport const decodePacket = (encodedPacket, binaryType) => {\n if (typeof encodedPacket !== \"string\") {\n return {\n type: \"message\",\n data: mapBinary(encodedPacket, binaryType),\n };\n }\n const type = encodedPacket.charAt(0);\n if (type === \"b\") {\n return {\n type: \"message\",\n data: decodeBase64Packet(encodedPacket.substring(1), binaryType),\n };\n }\n const packetType = PACKET_TYPES_REVERSE[type];\n if (!packetType) {\n return ERROR_PACKET;\n }\n return encodedPacket.length > 1\n ? {\n type: PACKET_TYPES_REVERSE[type],\n data: encodedPacket.substring(1),\n }\n : {\n type: PACKET_TYPES_REVERSE[type],\n };\n};\nconst decodeBase64Packet = (data, binaryType) => {\n if (withNativeArrayBuffer) {\n const decoded = decode(data);\n return mapBinary(decoded, binaryType);\n }\n else {\n return { base64: true, data }; // fallback for old browsers\n }\n};\nconst mapBinary = (data, binaryType) => {\n switch (binaryType) {\n case \"blob\":\n if (data instanceof Blob) {\n // from WebSocket + binaryType \"blob\"\n return data;\n }\n else {\n // from HTTP long-polling or WebTransport\n return new Blob([data]);\n }\n case \"arraybuffer\":\n default:\n if (data instanceof ArrayBuffer) {\n // from HTTP long-polling (base64) or WebSocket + binaryType \"arraybuffer\"\n return data;\n }\n else {\n // from WebTransport (Uint8Array)\n return data.buffer;\n }\n }\n};\n","import { encodePacket, encodePacketToBinary } from \"./encodePacket.js\";\nimport { decodePacket } from \"./decodePacket.js\";\nimport { ERROR_PACKET, } from \"./commons.js\";\nconst SEPARATOR = String.fromCharCode(30); // see https://en.wikipedia.org/wiki/Delimiter#ASCII_delimited_text\nconst encodePayload = (packets, callback) => {\n // some packets may be added to the array while encoding, so the initial length must be saved\n const length = packets.length;\n const encodedPackets = new Array(length);\n let count = 0;\n packets.forEach((packet, i) => {\n // force base64 encoding for binary packets\n encodePacket(packet, false, (encodedPacket) => {\n encodedPackets[i] = encodedPacket;\n if (++count === length) {\n callback(encodedPackets.join(SEPARATOR));\n }\n });\n });\n};\nconst decodePayload = (encodedPayload, binaryType) => {\n const encodedPackets = encodedPayload.split(SEPARATOR);\n const packets = [];\n for (let i = 0; i < encodedPackets.length; i++) {\n const decodedPacket = decodePacket(encodedPackets[i], binaryType);\n packets.push(decodedPacket);\n if (decodedPacket.type === \"error\") {\n break;\n }\n }\n return packets;\n};\nexport function createPacketEncoderStream() {\n return new TransformStream({\n transform(packet, controller) {\n encodePacketToBinary(packet, (encodedPacket) => {\n const payloadLength = encodedPacket.length;\n let header;\n // inspired by the WebSocket format: https://developer.mozilla.org/en-US/docs/Web/API/WebSockets_API/Writing_WebSocket_servers#decoding_payload_length\n if (payloadLength < 126) {\n header = new Uint8Array(1);\n new DataView(header.buffer).setUint8(0, payloadLength);\n }\n else if (payloadLength < 65536) {\n header = new Uint8Array(3);\n const view = new DataView(header.buffer);\n view.setUint8(0, 126);\n view.setUint16(1, payloadLength);\n }\n else {\n header = new Uint8Array(9);\n const view = new DataView(header.buffer);\n view.setUint8(0, 127);\n view.setBigUint64(1, BigInt(payloadLength));\n }\n // first bit indicates whether the payload is plain text (0) or binary (1)\n if (packet.data && typeof packet.data !== \"string\") {\n header[0] |= 0x80;\n }\n controller.enqueue(header);\n controller.enqueue(encodedPacket);\n });\n },\n });\n}\nlet TEXT_DECODER;\nfunction totalLength(chunks) {\n return chunks.reduce((acc, chunk) => acc + chunk.length, 0);\n}\nfunction concatChunks(chunks, size) {\n if (chunks[0].length === size) {\n return chunks.shift();\n }\n const buffer = new Uint8Array(size);\n let j = 0;\n for (let i = 0; i < size; i++) {\n buffer[i] = chunks[0][j++];\n if (j === chunks[0].length) {\n chunks.shift();\n j = 0;\n }\n }\n if (chunks.length && j < chunks[0].length) {\n chunks[0] = chunks[0].slice(j);\n }\n return buffer;\n}\nexport function createPacketDecoderStream(maxPayload, binaryType) {\n if (!TEXT_DECODER) {\n TEXT_DECODER = new TextDecoder();\n }\n const chunks = [];\n let state = 0 /* State.READ_HEADER */;\n let expectedLength = -1;\n let isBinary = false;\n return new TransformStream({\n transform(chunk, controller) {\n chunks.push(chunk);\n while (true) {\n if (state === 0 /* State.READ_HEADER */) {\n if (totalLength(chunks) < 1) {\n break;\n }\n const header = concatChunks(chunks, 1);\n isBinary = (header[0] & 0x80) === 0x80;\n expectedLength = header[0] & 0x7f;\n if (expectedLength < 126) {\n state = 3 /* State.READ_PAYLOAD */;\n }\n else if (expectedLength === 126) {\n state = 1 /* State.READ_EXTENDED_LENGTH_16 */;\n }\n else {\n state = 2 /* State.READ_EXTENDED_LENGTH_64 */;\n }\n }\n else if (state === 1 /* State.READ_EXTENDED_LENGTH_16 */) {\n if (totalLength(chunks) < 2) {\n break;\n }\n const headerArray = concatChunks(chunks, 2);\n expectedLength = new DataView(headerArray.buffer, headerArray.byteOffset, headerArray.length).getUint16(0);\n state = 3 /* State.READ_PAYLOAD */;\n }\n else if (state === 2 /* State.READ_EXTENDED_LENGTH_64 */) {\n if (totalLength(chunks) < 8) {\n break;\n }\n const headerArray = concatChunks(chunks, 8);\n const view = new DataView(headerArray.buffer, headerArray.byteOffset, headerArray.length);\n const n = view.getUint32(0);\n if (n > Math.pow(2, 53 - 32) - 1) {\n // the maximum safe integer in JavaScript is 2^53 - 1\n controller.enqueue(ERROR_PACKET);\n break;\n }\n expectedLength = n * Math.pow(2, 32) + view.getUint32(4);\n state = 3 /* State.READ_PAYLOAD */;\n }\n else {\n if (totalLength(chunks) < expectedLength) {\n break;\n }\n const data = concatChunks(chunks, expectedLength);\n controller.enqueue(decodePacket(isBinary ? data : TEXT_DECODER.decode(data), binaryType));\n state = 0 /* State.READ_HEADER */;\n }\n if (expectedLength === 0 || expectedLength > maxPayload) {\n controller.enqueue(ERROR_PACKET);\n break;\n }\n }\n },\n });\n}\nexport const protocol = 4;\nexport { encodePacket, encodePayload, decodePacket, decodePayload, };\n","/**\n * Initialize a new `Emitter`.\n *\n * @api public\n */\n\nexport function Emitter(obj) {\n if (obj) return mixin(obj);\n}\n\n/**\n * Mixin the emitter properties.\n *\n * @param {Object} obj\n * @return {Object}\n * @api private\n */\n\nfunction mixin(obj) {\n for (var key in Emitter.prototype) {\n obj[key] = Emitter.prototype[key];\n }\n return obj;\n}\n\n/**\n * Listen on the given `event` with `fn`.\n *\n * @param {String} event\n * @param {Function} fn\n * @return {Emitter}\n * @api public\n */\n\nEmitter.prototype.on =\nEmitter.prototype.addEventListener = function(event, fn){\n this._callbacks = this._callbacks || {};\n (this._callbacks['$' + event] = this._callbacks['$' + event] || [])\n .push(fn);\n return this;\n};\n\n/**\n * Adds an `event` listener that will be invoked a single\n * time then automatically removed.\n *\n * @param {String} event\n * @param {Function} fn\n * @return {Emitter}\n * @api public\n */\n\nEmitter.prototype.once = function(event, fn){\n function on() {\n this.off(event, on);\n fn.apply(this, arguments);\n }\n\n on.fn = fn;\n this.on(event, on);\n return this;\n};\n\n/**\n * Remove the given callback for `event` or all\n * registered callbacks.\n *\n * @param {String} event\n * @param {Function} fn\n * @return {Emitter}\n * @api public\n */\n\nEmitter.prototype.off =\nEmitter.prototype.removeListener =\nEmitter.prototype.removeAllListeners =\nEmitter.prototype.removeEventListener = function(event, fn){\n this._callbacks = this._callbacks || {};\n\n // all\n if (0 == arguments.length) {\n this._callbacks = {};\n return this;\n }\n\n // specific event\n var callbacks = this._callbacks['$' + event];\n if (!callbacks) return this;\n\n // remove all handlers\n if (1 == arguments.length) {\n delete this._callbacks['$' + event];\n return this;\n }\n\n // remove specific handler\n var cb;\n for (var i = 0; i < callbacks.length; i++) {\n cb = callbacks[i];\n if (cb === fn || cb.fn === fn) {\n callbacks.splice(i, 1);\n break;\n }\n }\n\n // Remove event specific arrays for event types that no\n // one is subscribed for to avoid memory leak.\n if (callbacks.length === 0) {\n delete this._callbacks['$' + event];\n }\n\n return this;\n};\n\n/**\n * Emit `event` with the given args.\n *\n * @param {String} event\n * @param {Mixed} ...\n * @return {Emitter}\n */\n\nEmitter.prototype.emit = function(event){\n this._callbacks = this._callbacks || {};\n\n var args = new Array(arguments.length - 1)\n , callbacks = this._callbacks['$' + event];\n\n for (var i = 1; i < arguments.length; i++) {\n args[i - 1] = arguments[i];\n }\n\n if (callbacks) {\n callbacks = callbacks.slice(0);\n for (var i = 0, len = callbacks.length; i < len; ++i) {\n callbacks[i].apply(this, args);\n }\n }\n\n return this;\n};\n\n// alias used for reserved events (protected method)\nEmitter.prototype.emitReserved = Emitter.prototype.emit;\n\n/**\n * Return array of callbacks for `event`.\n *\n * @param {String} event\n * @return {Array}\n * @api public\n */\n\nEmitter.prototype.listeners = function(event){\n this._callbacks = this._callbacks || {};\n return this._callbacks['$' + event] || [];\n};\n\n/**\n * Check if this emitter has `event` handlers.\n *\n * @param {String} event\n * @return {Boolean}\n * @api public\n */\n\nEmitter.prototype.hasListeners = function(event){\n return !! this.listeners(event).length;\n};\n","export const nextTick = (() => {\n const isPromiseAvailable = typeof Promise === \"function\" && typeof Promise.resolve === \"function\";\n if (isPromiseAvailable) {\n return (cb) => Promise.resolve().then(cb);\n }\n else {\n return (cb, setTimeoutFn) => setTimeoutFn(cb, 0);\n }\n})();\nexport const globalThisShim = (() => {\n if (typeof self !== \"undefined\") {\n return self;\n }\n else if (typeof window !== \"undefined\") {\n return window;\n }\n else {\n return Function(\"return this\")();\n }\n})();\nexport const defaultBinaryType = \"arraybuffer\";\nexport function createCookieJar() { }\n","import { globalThisShim as globalThis } from \"./globals.node.js\";\nexport function pick(obj, ...attr) {\n return attr.reduce((acc, k) => {\n if (obj.hasOwnProperty(k)) {\n acc[k] = obj[k];\n }\n return acc;\n }, {});\n}\n// Keep a reference to the real timeout functions so they can be used when overridden\nconst NATIVE_SET_TIMEOUT = globalThis.setTimeout;\nconst NATIVE_CLEAR_TIMEOUT = globalThis.clearTimeout;\nexport function installTimerFunctions(obj, opts) {\n if (opts.useNativeTimers) {\n obj.setTimeoutFn = NATIVE_SET_TIMEOUT.bind(globalThis);\n obj.clearTimeoutFn = NATIVE_CLEAR_TIMEOUT.bind(globalThis);\n }\n else {\n obj.setTimeoutFn = globalThis.setTimeout.bind(globalThis);\n obj.clearTimeoutFn = globalThis.clearTimeout.bind(globalThis);\n }\n}\n// base64 encoded buffers are about 33% bigger (https://en.wikipedia.org/wiki/Base64)\nconst BASE64_OVERHEAD = 1.33;\n// we could also have used `new Blob([obj]).size`, but it isn't supported in IE9\nexport function byteLength(obj) {\n if (typeof obj === \"string\") {\n return utf8Length(obj);\n }\n // arraybuffer or blob\n return Math.ceil((obj.byteLength || obj.size) * BASE64_OVERHEAD);\n}\nfunction utf8Length(str) {\n let c = 0, length = 0;\n for (let i = 0, l = str.length; i < l; i++) {\n c = str.charCodeAt(i);\n if (c < 0x80) {\n length += 1;\n }\n else if (c < 0x800) {\n length += 2;\n }\n else if (c < 0xd800 || c >= 0xe000) {\n length += 3;\n }\n else {\n i++;\n length += 4;\n }\n }\n return length;\n}\n/**\n * Generates a random 8-characters string.\n */\nexport function randomString() {\n return (Date.now().toString(36).substring(3) +\n Math.random().toString(36).substring(2, 5));\n}\n","import { decodePacket } from \"engine.io-parser\";\nimport { Emitter } from \"@socket.io/component-emitter\";\nimport { installTimerFunctions } from \"./util.js\";\nimport { encode } from \"./contrib/parseqs.js\";\nexport class TransportError extends Error {\n constructor(reason, description, context) {\n super(reason);\n this.description = description;\n this.context = context;\n this.type = \"TransportError\";\n }\n}\nexport class Transport extends Emitter {\n /**\n * Transport abstract constructor.\n *\n * @param {Object} opts - options\n * @protected\n */\n constructor(opts) {\n super();\n this.writable = false;\n installTimerFunctions(this, opts);\n this.opts = opts;\n this.query = opts.query;\n this.socket = opts.socket;\n this.supportsBinary = !opts.forceBase64;\n }\n /**\n * Emits an error.\n *\n * @param {String} reason\n * @param description\n * @param context - the error context\n * @return {Transport} for chaining\n * @protected\n */\n onError(reason, description, context) {\n super.emitReserved(\"error\", new TransportError(reason, description, context));\n return this;\n }\n /**\n * Opens the transport.\n */\n open() {\n this.readyState = \"opening\";\n this.doOpen();\n return this;\n }\n /**\n * Closes the transport.\n */\n close() {\n if (this.readyState === \"opening\" || this.readyState === \"open\") {\n this.doClose();\n this.onClose();\n }\n return this;\n }\n /**\n * Sends multiple packets.\n *\n * @param {Array} packets\n */\n send(packets) {\n if (this.readyState === \"open\") {\n this.write(packets);\n }\n else {\n // this might happen if the transport was silently closed in the beforeunload event handler\n }\n }\n /**\n * Called upon open\n *\n * @protected\n */\n onOpen() {\n this.readyState = \"open\";\n this.writable = true;\n super.emitReserved(\"open\");\n }\n /**\n * Called with data.\n *\n * @param {String} data\n * @protected\n */\n onData(data) {\n const packet = decodePacket(data, this.socket.binaryType);\n this.onPacket(packet);\n }\n /**\n * Called with a decoded packet.\n *\n * @protected\n */\n onPacket(packet) {\n super.emitReserved(\"packet\", packet);\n }\n /**\n * Called upon close.\n *\n * @protected\n */\n onClose(details) {\n this.readyState = \"closed\";\n super.emitReserved(\"close\", details);\n }\n /**\n * Pauses the transport, in order not to lose packets during an upgrade.\n *\n * @param onPause\n */\n pause(onPause) { }\n createUri(schema, query = {}) {\n return (schema +\n \"://\" +\n this._hostname() +\n this._port() +\n this.opts.path +\n this._query(query));\n }\n _hostname() {\n const hostname = this.opts.hostname;\n return hostname.indexOf(\":\") === -1 ? hostname : \"[\" + hostname + \"]\";\n }\n _port() {\n if (this.opts.port &&\n ((this.opts.secure && Number(this.opts.port !== 443)) ||\n (!this.opts.secure && Number(this.opts.port) !== 80))) {\n return \":\" + this.opts.port;\n }\n else {\n return \"\";\n }\n }\n _query(query) {\n const encodedQuery = encode(query);\n return encodedQuery.length ? \"?\" + encodedQuery : \"\";\n }\n}\n","// imported from https://github.com/galkn/querystring\n/**\n * Compiles a querystring\n * Returns string representation of the object\n *\n * @param {Object}\n * @api private\n */\nexport function encode(obj) {\n let str = '';\n for (let i in obj) {\n if (obj.hasOwnProperty(i)) {\n if (str.length)\n str += '&';\n str += encodeURIComponent(i) + '=' + encodeURIComponent(obj[i]);\n }\n }\n return str;\n}\n/**\n * Parses a simple querystring into an object\n *\n * @param {String} qs\n * @api private\n */\nexport function decode(qs) {\n let qry = {};\n let pairs = qs.split('&');\n for (let i = 0, l = pairs.length; i < l; i++) {\n let pair = pairs[i].split('=');\n qry[decodeURIComponent(pair[0])] = decodeURIComponent(pair[1]);\n }\n return qry;\n}\n","import { Transport } from \"../transport.js\";\nimport { randomString } from \"../util.js\";\nimport { encodePayload, decodePayload } from \"engine.io-parser\";\nexport class Polling extends Transport {\n constructor() {\n super(...arguments);\n this._polling = false;\n }\n get name() {\n return \"polling\";\n }\n /**\n * Opens the socket (triggers polling). We write a PING message to determine\n * when the transport is open.\n *\n * @protected\n */\n doOpen() {\n this._poll();\n }\n /**\n * Pauses polling.\n *\n * @param {Function} onPause - callback upon buffers are flushed and transport is paused\n * @package\n */\n pause(onPause) {\n this.readyState = \"pausing\";\n const pause = () => {\n this.readyState = \"paused\";\n onPause();\n };\n if (this._polling || !this.writable) {\n let total = 0;\n if (this._polling) {\n total++;\n this.once(\"pollComplete\", function () {\n --total || pause();\n });\n }\n if (!this.writable) {\n total++;\n this.once(\"drain\", function () {\n --total || pause();\n });\n }\n }\n else {\n pause();\n }\n }\n /**\n * Starts polling cycle.\n *\n * @private\n */\n _poll() {\n this._polling = true;\n this.doPoll();\n this.emitReserved(\"poll\");\n }\n /**\n * Overloads onData to detect payloads.\n *\n * @protected\n */\n onData(data) {\n const callback = (packet) => {\n // if its the first message we consider the transport open\n if (\"opening\" === this.readyState && packet.type === \"open\") {\n this.onOpen();\n }\n // if its a close packet, we close the ongoing requests\n if (\"close\" === packet.type) {\n this.onClose({ description: \"transport closed by the server\" });\n return false;\n }\n // otherwise bypass onData and handle the message\n this.onPacket(packet);\n };\n // decode payload\n decodePayload(data, this.socket.binaryType).forEach(callback);\n // if an event did not trigger closing\n if (\"closed\" !== this.readyState) {\n // if we got data we're not polling\n this._polling = false;\n this.emitReserved(\"pollComplete\");\n if (\"open\" === this.readyState) {\n this._poll();\n }\n else {\n }\n }\n }\n /**\n * For polling, send a close packet.\n *\n * @protected\n */\n doClose() {\n const close = () => {\n this.write([{ type: \"close\" }]);\n };\n if (\"open\" === this.readyState) {\n close();\n }\n else {\n // in case we're trying to close while\n // handshaking is in progress (GH-164)\n this.once(\"open\", close);\n }\n }\n /**\n * Writes a packets payload.\n *\n * @param {Array} packets - data packets\n * @protected\n */\n write(packets) {\n this.writable = false;\n encodePayload(packets, (data) => {\n this.doWrite(data, () => {\n this.writable = true;\n this.emitReserved(\"drain\");\n });\n });\n }\n /**\n * Generates uri for connection.\n *\n * @private\n */\n uri() {\n const schema = this.opts.secure ? \"https\" : \"http\";\n const query = this.query || {};\n // cache busting is forced\n if (false !== this.opts.timestampRequests) {\n query[this.opts.timestampParam] = randomString();\n }\n if (!this.supportsBinary && !query.sid) {\n query.b64 = 1;\n }\n return this.createUri(schema, query);\n }\n}\n","// imported from https://github.com/component/has-cors\nlet value = false;\ntry {\n value = typeof XMLHttpRequest !== 'undefined' &&\n 'withCredentials' in new XMLHttpRequest();\n}\ncatch (err) {\n // if XMLHttp support is disabled in IE then it will throw\n // when trying to create\n}\nexport const hasCORS = value;\n","import { Polling } from \"./polling.js\";\nimport { Emitter } from \"@socket.io/component-emitter\";\nimport { installTimerFunctions, pick } from \"../util.js\";\nimport { globalThisShim as globalThis } from \"../globals.node.js\";\nimport { hasCORS } from \"../contrib/has-cors.js\";\nfunction empty() { }\nexport class BaseXHR extends Polling {\n /**\n * XHR Polling constructor.\n *\n * @param {Object} opts\n * @package\n */\n constructor(opts) {\n super(opts);\n if (typeof location !== \"undefined\") {\n const isSSL = \"https:\" === location.protocol;\n let port = location.port;\n // some user agents have empty `location.port`\n if (!port) {\n port = isSSL ? \"443\" : \"80\";\n }\n this.xd =\n (typeof location !== \"undefined\" &&\n opts.hostname !== location.hostname) ||\n port !== opts.port;\n }\n }\n /**\n * Sends data.\n *\n * @param {String} data to send.\n * @param {Function} called upon flush.\n * @private\n */\n doWrite(data, fn) {\n const req = this.request({\n method: \"POST\",\n data: data,\n });\n req.on(\"success\", fn);\n req.on(\"error\", (xhrStatus, context) => {\n this.onError(\"xhr post error\", xhrStatus, context);\n });\n }\n /**\n * Starts a poll cycle.\n *\n * @private\n */\n doPoll() {\n const req = this.request();\n req.on(\"data\", this.onData.bind(this));\n req.on(\"error\", (xhrStatus, context) => {\n this.onError(\"xhr poll error\", xhrStatus, context);\n });\n this.pollXhr = req;\n }\n}\nexport class Request extends Emitter {\n /**\n * Request constructor\n *\n * @param {Object} options\n * @package\n */\n constructor(createRequest, uri, opts) {\n super();\n this.createRequest = createRequest;\n installTimerFunctions(this, opts);\n this._opts = opts;\n this._method = opts.method || \"GET\";\n this._uri = uri;\n this._data = undefined !== opts.data ? opts.data : null;\n this._create();\n }\n /**\n * Creates the XHR object and sends the request.\n *\n * @private\n */\n _create() {\n var _a;\n const opts = pick(this._opts, \"agent\", \"pfx\", \"key\", \"passphrase\", \"cert\", \"ca\", \"ciphers\", \"rejectUnauthorized\", \"autoUnref\");\n opts.xdomain = !!this._opts.xd;\n const xhr = (this._xhr = this.createRequest(opts));\n try {\n xhr.open(this._method, this._uri, true);\n try {\n if (this._opts.extraHeaders) {\n // @ts-ignore\n xhr.setDisableHeaderCheck && xhr.setDisableHeaderCheck(true);\n for (let i in this._opts.extraHeaders) {\n if (this._opts.extraHeaders.hasOwnProperty(i)) {\n xhr.setRequestHeader(i, this._opts.extraHeaders[i]);\n }\n }\n }\n }\n catch (e) { }\n if (\"POST\" === this._method) {\n try {\n xhr.setRequestHeader(\"Content-type\", \"text/plain;charset=UTF-8\");\n }\n catch (e) { }\n }\n try {\n xhr.setRequestHeader(\"Accept\", \"*/*\");\n }\n catch (e) { }\n (_a = this._opts.cookieJar) === null || _a === void 0 ? void 0 : _a.addCookies(xhr);\n // ie6 check\n if (\"withCredentials\" in xhr) {\n xhr.withCredentials = this._opts.withCredentials;\n }\n if (this._opts.requestTimeout) {\n xhr.timeout = this._opts.requestTimeout;\n }\n xhr.onreadystatechange = () => {\n var _a;\n if (xhr.readyState === 3) {\n (_a = this._opts.cookieJar) === null || _a === void 0 ? void 0 : _a.parseCookies(\n // @ts-ignore\n xhr.getResponseHeader(\"set-cookie\"));\n }\n if (4 !== xhr.readyState)\n return;\n if (200 === xhr.status || 1223 === xhr.status) {\n this._onLoad();\n }\n else {\n // make sure the `error` event handler that's user-set\n // does not throw in the same tick and gets caught here\n this.setTimeoutFn(() => {\n this._onError(typeof xhr.status === \"number\" ? xhr.status : 0);\n }, 0);\n }\n };\n xhr.send(this._data);\n }\n catch (e) {\n // Need to defer since .create() is called directly from the constructor\n // and thus the 'error' event can only be only bound *after* this exception\n // occurs. Therefore, also, we cannot throw here at all.\n this.setTimeoutFn(() => {\n this._onError(e);\n }, 0);\n return;\n }\n if (typeof document !== \"undefined\") {\n this._index = Request.requestsCount++;\n Request.requests[this._index] = this;\n }\n }\n /**\n * Called upon error.\n *\n * @private\n */\n _onError(err) {\n this.emitReserved(\"error\", err, this._xhr);\n this._cleanup(true);\n }\n /**\n * Cleans up house.\n *\n * @private\n */\n _cleanup(fromError) {\n if (\"undefined\" === typeof this._xhr || null === this._xhr) {\n return;\n }\n this._xhr.onreadystatechange = empty;\n if (fromError) {\n try {\n this._xhr.abort();\n }\n catch (e) { }\n }\n if (typeof document !== \"undefined\") {\n delete Request.requests[this._index];\n }\n this._xhr = null;\n }\n /**\n * Called upon load.\n *\n * @private\n */\n _onLoad() {\n const data = this._xhr.responseText;\n if (data !== null) {\n this.emitReserved(\"data\", data);\n this.emitReserved(\"success\");\n this._cleanup();\n }\n }\n /**\n * Aborts the request.\n *\n * @package\n */\n abort() {\n this._cleanup();\n }\n}\nRequest.requestsCount = 0;\nRequest.requests = {};\n/**\n * Aborts pending requests when unloading the window. This is needed to prevent\n * memory leaks (e.g. when using IE) and to ensure that no spurious error is\n * emitted.\n */\nif (typeof document !== \"undefined\") {\n // @ts-ignore\n if (typeof attachEvent === \"function\") {\n // @ts-ignore\n attachEvent(\"onunload\", unloadHandler);\n }\n else if (typeof addEventListener === \"function\") {\n const terminationEvent = \"onpagehide\" in globalThis ? \"pagehide\" : \"unload\";\n addEventListener(terminationEvent, unloadHandler, false);\n }\n}\nfunction unloadHandler() {\n for (let i in Request.requests) {\n if (Request.requests.hasOwnProperty(i)) {\n Request.requests[i].abort();\n }\n }\n}\nconst hasXHR2 = (function () {\n const xhr = newRequest({\n xdomain: false,\n });\n return xhr && xhr.responseType !== null;\n})();\n/**\n * HTTP long-polling based on the built-in `XMLHttpRequest` object.\n *\n * Usage: browser\n *\n * @see https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest\n */\nexport class XHR extends BaseXHR {\n constructor(opts) {\n super(opts);\n const forceBase64 = opts && opts.forceBase64;\n this.supportsBinary = hasXHR2 && !forceBase64;\n }\n request(opts = {}) {\n Object.assign(opts, { xd: this.xd }, this.opts);\n return new Request(newRequest, this.uri(), opts);\n }\n}\nfunction newRequest(opts) {\n const xdomain = opts.xdomain;\n // XMLHttpRequest can be disabled on IE\n try {\n if (\"undefined\" !== typeof XMLHttpRequest && (!xdomain || hasCORS)) {\n return new XMLHttpRequest();\n }\n }\n catch (e) { }\n if (!xdomain) {\n try {\n return new globalThis[[\"Active\"].concat(\"Object\").join(\"X\")](\"Microsoft.XMLHTTP\");\n }\n catch (e) { }\n }\n}\n","import { Transport } from \"../transport.js\";\nimport { pick, randomString } from \"../util.js\";\nimport { encodePacket } from \"engine.io-parser\";\nimport { globalThisShim as globalThis, nextTick } from \"../globals.node.js\";\n// detect ReactNative environment\nconst isReactNative = typeof navigator !== \"undefined\" &&\n typeof navigator.product === \"string\" &&\n navigator.product.toLowerCase() === \"reactnative\";\nexport class BaseWS extends Transport {\n get name() {\n return \"websocket\";\n }\n doOpen() {\n const uri = this.uri();\n const protocols = this.opts.protocols;\n // React Native only supports the 'headers' option, and will print a warning if anything else is passed\n const opts = isReactNative\n ? {}\n : pick(this.opts, \"agent\", \"perMessageDeflate\", \"pfx\", \"key\", \"passphrase\", \"cert\", \"ca\", \"ciphers\", \"rejectUnauthorized\", \"localAddress\", \"protocolVersion\", \"origin\", \"maxPayload\", \"family\", \"checkServerIdentity\");\n if (this.opts.extraHeaders) {\n opts.headers = this.opts.extraHeaders;\n }\n try {\n this.ws = this.createSocket(uri, protocols, opts);\n }\n catch (err) {\n return this.emitReserved(\"error\", err);\n }\n this.ws.binaryType = this.socket.binaryType;\n this.addEventListeners();\n }\n /**\n * Adds event listeners to the socket\n *\n * @private\n */\n addEventListeners() {\n this.ws.onopen = () => {\n if (this.opts.autoUnref) {\n this.ws._socket.unref();\n }\n this.onOpen();\n };\n this.ws.onclose = (closeEvent) => this.onClose({\n description: \"websocket connection closed\",\n context: closeEvent,\n });\n this.ws.onmessage = (ev) => this.onData(ev.data);\n this.ws.onerror = (e) => this.onError(\"websocket error\", e);\n }\n write(packets) {\n this.writable = false;\n // encodePacket efficient as it uses WS framing\n // no need for encodePayload\n for (let i = 0; i < packets.length; i++) {\n const packet = packets[i];\n const lastPacket = i === packets.length - 1;\n encodePacket(packet, this.supportsBinary, (data) => {\n // Sometimes the websocket has already been closed but the browser didn't\n // have a chance of informing us about it yet, in that case send will\n // throw an error\n try {\n this.doWrite(packet, data);\n }\n catch (e) {\n }\n if (lastPacket) {\n // fake drain\n // defer to next tick to allow Socket to clear writeBuffer\n nextTick(() => {\n this.writable = true;\n this.emitReserved(\"drain\");\n }, this.setTimeoutFn);\n }\n });\n }\n }\n doClose() {\n if (typeof this.ws !== \"undefined\") {\n this.ws.onerror = () => { };\n this.ws.close();\n this.ws = null;\n }\n }\n /**\n * Generates uri for connection.\n *\n * @private\n */\n uri() {\n const schema = this.opts.secure ? \"wss\" : \"ws\";\n const query = this.query || {};\n // append timestamp to URI\n if (this.opts.timestampRequests) {\n query[this.opts.timestampParam] = randomString();\n }\n // communicate binary support capabilities\n if (!this.supportsBinary) {\n query.b64 = 1;\n }\n return this.createUri(schema, query);\n }\n}\nconst WebSocketCtor = globalThis.WebSocket || globalThis.MozWebSocket;\n/**\n * WebSocket transport based on the built-in `WebSocket` object.\n *\n * Usage: browser, Node.js (since v21), Deno, Bun\n *\n * @see https://developer.mozilla.org/en-US/docs/Web/API/WebSocket\n * @see https://caniuse.com/mdn-api_websocket\n * @see https://nodejs.org/api/globals.html#websocket\n */\nexport class WS extends BaseWS {\n createSocket(uri, protocols, opts) {\n return !isReactNative\n ? protocols\n ? new WebSocketCtor(uri, protocols)\n : new WebSocketCtor(uri)\n : new WebSocketCtor(uri, protocols, opts);\n }\n doWrite(_packet, data) {\n this.ws.send(data);\n }\n}\n","import { XHR } from \"./polling-xhr.node.js\";\nimport { WS } from \"./websocket.node.js\";\nimport { WT } from \"./webtransport.js\";\nexport const transports = {\n websocket: WS,\n webtransport: WT,\n polling: XHR,\n};\n","import { Transport } from \"../transport.js\";\nimport { nextTick } from \"../globals.node.js\";\nimport { createPacketDecoderStream, createPacketEncoderStream, } from \"engine.io-parser\";\n/**\n * WebTransport transport based on the built-in `WebTransport` object.\n *\n * Usage: browser, Node.js (with the `@fails-components/webtransport` package)\n *\n * @see https://developer.mozilla.org/en-US/docs/Web/API/WebTransport\n * @see https://caniuse.com/webtransport\n */\nexport class WT extends Transport {\n get name() {\n return \"webtransport\";\n }\n doOpen() {\n try {\n // @ts-ignore\n this._transport = new WebTransport(this.createUri(\"https\"), this.opts.transportOptions[this.name]);\n }\n catch (err) {\n return this.emitReserved(\"error\", err);\n }\n this._transport.closed\n .then(() => {\n this.onClose();\n })\n .catch((err) => {\n this.onError(\"webtransport error\", err);\n });\n // note: we could have used async/await, but that would require some additional polyfills\n this._transport.ready.then(() => {\n this._transport.createBidirectionalStream().then((stream) => {\n const decoderStream = createPacketDecoderStream(Number.MAX_SAFE_INTEGER, this.socket.binaryType);\n const reader = stream.readable.pipeThrough(decoderStream).getReader();\n const encoderStream = createPacketEncoderStream();\n encoderStream.readable.pipeTo(stream.writable);\n this._writer = encoderStream.writable.getWriter();\n const read = () => {\n reader\n .read()\n .then(({ done, value }) => {\n if (done) {\n return;\n }\n this.onPacket(value);\n read();\n })\n .catch((err) => {\n });\n };\n read();\n const packet = { type: \"open\" };\n if (this.query.sid) {\n packet.data = `{\"sid\":\"${this.query.sid}\"}`;\n }\n this._writer.write(packet).then(() => this.onOpen());\n });\n });\n }\n write(packets) {\n this.writable = false;\n for (let i = 0; i < packets.length; i++) {\n const packet = packets[i];\n const lastPacket = i === packets.length - 1;\n this._writer.write(packet).then(() => {\n if (lastPacket) {\n nextTick(() => {\n this.writable = true;\n this.emitReserved(\"drain\");\n }, this.setTimeoutFn);\n }\n });\n }\n }\n doClose() {\n var _a;\n (_a = this._transport) === null || _a === void 0 ? void 0 : _a.close();\n }\n}\n","// imported from https://github.com/galkn/parseuri\n/**\n * Parses a URI\n *\n * Note: we could also have used the built-in URL object, but it isn't supported on all platforms.\n *\n * See:\n * - https://developer.mozilla.org/en-US/docs/Web/API/URL\n * - https://caniuse.com/url\n * - https://www.rfc-editor.org/rfc/rfc3986#appendix-B\n *\n * History of the parse() method:\n * - first commit: https://github.com/socketio/socket.io-client/commit/4ee1d5d94b3906a9c052b459f1a818b15f38f91c\n * - export into its own module: https://github.com/socketio/engine.io-client/commit/de2c561e4564efeb78f1bdb1ba39ef81b2822cb3\n * - reimport: https://github.com/socketio/engine.io-client/commit/df32277c3f6d622eec5ed09f493cae3f3391d242\n *\n * @author Steven Levithan (MIT license)\n * @api private\n */\nconst re = /^(?:(?![^:@\\/?#]+:[^:@\\/]*@)(http|https|ws|wss):\\/\\/)?((?:(([^:@\\/?#]*)(?::([^:@\\/?#]*))?)?@)?((?:[a-f0-9]{0,4}:){2,7}[a-f0-9]{0,4}|[^:\\/?#]*)(?::(\\d*))?)(((\\/(?:[^?#](?![^?#\\/]*\\.[^?#\\/.]+(?:[?#]|$)))*\\/?)?([^?#\\/]*))(?:\\?([^#]*))?(?:#(.*))?)/;\nconst parts = [\n 'source', 'protocol', 'authority', 'userInfo', 'user', 'password', 'host', 'port', 'relative', 'path', 'directory', 'file', 'query', 'anchor'\n];\nexport function parse(str) {\n if (str.length > 8000) {\n throw \"URI too long\";\n }\n const src = str, b = str.indexOf('['), e = str.indexOf(']');\n if (b != -1 && e != -1) {\n str = str.substring(0, b) + str.substring(b, e).replace(/:/g, ';') + str.substring(e, str.length);\n }\n let m = re.exec(str || ''), uri = {}, i = 14;\n while (i--) {\n uri[parts[i]] = m[i] || '';\n }\n if (b != -1 && e != -1) {\n uri.source = src;\n uri.host = uri.host.substring(1, uri.host.length - 1).replace(/;/g, ':');\n uri.authority = uri.authority.replace('[', '').replace(']', '').replace(/;/g, ':');\n uri.ipv6uri = true;\n }\n uri.pathNames = pathNames(uri, uri['path']);\n uri.queryKey = queryKey(uri, uri['query']);\n return uri;\n}\nfunction pathNames(obj, path) {\n const regx = /\\/{2,9}/g, names = path.replace(regx, \"/\").split(\"/\");\n if (path.slice(0, 1) == '/' || path.length === 0) {\n names.splice(0, 1);\n }\n if (path.slice(-1) == '/') {\n names.splice(names.length - 1, 1);\n }\n return names;\n}\nfunction queryKey(uri, query) {\n const data = {};\n query.replace(/(?:^|&)([^&=]*)=?([^&]*)/g, function ($0, $1, $2) {\n if ($1) {\n data[$1] = $2;\n }\n });\n return data;\n}\n","import { transports as DEFAULT_TRANSPORTS } from \"./transports/index.js\";\nimport { installTimerFunctions, byteLength } from \"./util.js\";\nimport { decode } from \"./contrib/parseqs.js\";\nimport { parse } from \"./contrib/parseuri.js\";\nimport { Emitter } from \"@socket.io/component-emitter\";\nimport { protocol } from \"engine.io-parser\";\nimport { createCookieJar, defaultBinaryType, nextTick, } from \"./globals.node.js\";\nconst withEventListeners = typeof addEventListener === \"function\" &&\n typeof removeEventListener === \"function\";\nconst OFFLINE_EVENT_LISTENERS = [];\nif (withEventListeners) {\n // within a ServiceWorker, any event handler for the 'offline' event must be added on the initial evaluation of the\n // script, so we create one single event listener here which will forward the event to the socket instances\n addEventListener(\"offline\", () => {\n OFFLINE_EVENT_LISTENERS.forEach((listener) => listener());\n }, false);\n}\n/**\n * This class provides a WebSocket-like interface to connect to an Engine.IO server. The connection will be established\n * with one of the available low-level transports, like HTTP long-polling, WebSocket or WebTransport.\n *\n * This class comes without upgrade mechanism, which means that it will keep the first low-level transport that\n * successfully establishes the connection.\n *\n * In order to allow tree-shaking, there are no transports included, that's why the `transports` option is mandatory.\n *\n * @example\n * import { SocketWithoutUpgrade, WebSocket } from \"engine.io-client\";\n *\n * const socket = new SocketWithoutUpgrade({\n * transports: [WebSocket]\n * });\n *\n * socket.on(\"open\", () => {\n * socket.send(\"hello\");\n * });\n *\n * @see SocketWithUpgrade\n * @see Socket\n */\nexport class SocketWithoutUpgrade extends Emitter {\n /**\n * Socket constructor.\n *\n * @param {String|Object} uri - uri or options\n * @param {Object} opts - options\n */\n constructor(uri, opts) {\n super();\n this.binaryType = defaultBinaryType;\n this.writeBuffer = [];\n this._prevBufferLen = 0;\n this._pingInterval = -1;\n this._pingTimeout = -1;\n this._maxPayload = -1;\n /**\n * The expiration timestamp of the {@link _pingTimeoutTimer} object is tracked, in case the timer is throttled and the\n * callback is not fired on time. This can happen for example when a laptop is suspended or when a phone is locked.\n */\n this._pingTimeoutTime = Infinity;\n if (uri && \"object\" === typeof uri) {\n opts = uri;\n uri = null;\n }\n if (uri) {\n const parsedUri = parse(uri);\n opts.hostname = parsedUri.host;\n opts.secure =\n parsedUri.protocol === \"https\" || parsedUri.protocol === \"wss\";\n opts.port = parsedUri.port;\n if (parsedUri.query)\n opts.query = parsedUri.query;\n }\n else if (opts.host) {\n opts.hostname = parse(opts.host).host;\n }\n installTimerFunctions(this, opts);\n this.secure =\n null != opts.secure\n ? opts.secure\n : typeof location !== \"undefined\" && \"https:\" === location.protocol;\n if (opts.hostname && !opts.port) {\n // if no port is specified manually, use the protocol default\n opts.port = this.secure ? \"443\" : \"80\";\n }\n this.hostname =\n opts.hostname ||\n (typeof location !== \"undefined\" ? location.hostname : \"localhost\");\n this.port =\n opts.port ||\n (typeof location !== \"undefined\" && location.port\n ? location.port\n : this.secure\n ? \"443\"\n : \"80\");\n this.transports = [];\n this._transportsByName = {};\n opts.transports.forEach((t) => {\n const transportName = t.prototype.name;\n this.transports.push(transportName);\n this._transportsByName[transportName] = t;\n });\n this.opts = Object.assign({\n path: \"/engine.io\",\n agent: false,\n withCredentials: false,\n upgrade: true,\n timestampParam: \"t\",\n rememberUpgrade: false,\n addTrailingSlash: true,\n rejectUnauthorized: true,\n perMessageDeflate: {\n threshold: 1024,\n },\n transportOptions: {},\n closeOnBeforeunload: false,\n }, opts);\n this.opts.path =\n this.opts.path.replace(/\\/$/, \"\") +\n (this.opts.addTrailingSlash ? \"/\" : \"\");\n if (typeof this.opts.query === \"string\") {\n this.opts.query = decode(this.opts.query);\n }\n if (withEventListeners) {\n if (this.opts.closeOnBeforeunload) {\n // Firefox closes the connection when the \"beforeunload\" event is emitted but not Chrome. This event listener\n // ensures every browser behaves the same (no \"disconnect\" event at the Socket.IO level when the page is\n // closed/reloaded)\n this._beforeunloadEventListener = () => {\n if (this.transport) {\n // silently close the transport\n this.transport.removeAllListeners();\n this.transport.close();\n }\n };\n addEventListener(\"beforeunload\", this._beforeunloadEventListener, false);\n }\n if (this.hostname !== \"localhost\") {\n this._offlineEventListener = () => {\n this._onClose(\"transport close\", {\n description: \"network connection lost\",\n });\n };\n OFFLINE_EVENT_LISTENERS.push(this._offlineEventListener);\n }\n }\n if (this.opts.withCredentials) {\n this._cookieJar = createCookieJar();\n }\n this._open();\n }\n /**\n * Creates transport of the given type.\n *\n * @param {String} name - transport name\n * @return {Transport}\n * @private\n */\n createTransport(name) {\n const query = Object.assign({}, this.opts.query);\n // append engine.io protocol identifier\n query.EIO = protocol;\n // transport name\n query.transport = name;\n // session id if we already have one\n if (this.id)\n query.sid = this.id;\n const opts = Object.assign({}, this.opts, {\n query,\n socket: this,\n hostname: this.hostname,\n secure: this.secure,\n port: this.port,\n }, this.opts.transportOptions[name]);\n return new this._transportsByName[name](opts);\n }\n /**\n * Initializes transport to use and starts probe.\n *\n * @private\n */\n _open() {\n if (this.transports.length === 0) {\n // Emit error on next tick so it can be listened to\n this.setTimeoutFn(() => {\n this.emitReserved(\"error\", \"No transports available\");\n }, 0);\n return;\n }\n const transportName = this.opts.rememberUpgrade &&\n SocketWithoutUpgrade.priorWebsocketSuccess &&\n this.transports.indexOf(\"websocket\") !== -1\n ? \"websocket\"\n : this.transports[0];\n this.readyState = \"opening\";\n const transport = this.createTransport(transportName);\n transport.open();\n this.setTransport(transport);\n }\n /**\n * Sets the current transport. Disables the existing one (if any).\n *\n * @private\n */\n setTransport(transport) {\n if (this.transport) {\n this.transport.removeAllListeners();\n }\n // set up transport\n this.transport = transport;\n // set up transport listeners\n transport\n .on(\"drain\", this._onDrain.bind(this))\n .on(\"packet\", this._onPacket.bind(this))\n .on(\"error\", this._onError.bind(this))\n .on(\"close\", (reason) => this._onClose(\"transport close\", reason));\n }\n /**\n * Called when connection is deemed open.\n *\n * @private\n */\n onOpen() {\n this.readyState = \"open\";\n SocketWithoutUpgrade.priorWebsocketSuccess =\n \"websocket\" === this.transport.name;\n this.emitReserved(\"open\");\n this.flush();\n }\n /**\n * Handles a packet.\n *\n * @private\n */\n _onPacket(packet) {\n if (\"opening\" === this.readyState ||\n \"open\" === this.readyState ||\n \"closing\" === this.readyState) {\n this.emitReserved(\"packet\", packet);\n // Socket is live - any packet counts\n this.emitReserved(\"heartbeat\");\n switch (packet.type) {\n case \"open\":\n this.onHandshake(JSON.parse(packet.data));\n break;\n case \"ping\":\n this._sendPacket(\"pong\");\n this.emitReserved(\"ping\");\n this.emitReserved(\"pong\");\n this._resetPingTimeout();\n break;\n case \"error\":\n const err = new Error(\"server error\");\n // @ts-ignore\n err.code = packet.data;\n this._onError(err);\n break;\n case \"message\":\n this.emitReserved(\"data\", packet.data);\n this.emitReserved(\"message\", packet.data);\n break;\n }\n }\n else {\n }\n }\n /**\n * Called upon handshake completion.\n *\n * @param {Object} data - handshake obj\n * @private\n */\n onHandshake(data) {\n this.emitReserved(\"handshake\", data);\n this.id = data.sid;\n this.transport.query.sid = data.sid;\n this._pingInterval = data.pingInterval;\n this._pingTimeout = data.pingTimeout;\n this._maxPayload = data.maxPayload;\n this.onOpen();\n // In case open handler closes socket\n if (\"closed\" === this.readyState)\n return;\n this._resetPingTimeout();\n }\n /**\n * Sets and resets ping timeout timer based on server pings.\n *\n * @private\n */\n _resetPingTimeout() {\n this.clearTimeoutFn(this._pingTimeoutTimer);\n const delay = this._pingInterval + this._pingTimeout;\n this._pingTimeoutTime = Date.now() + delay;\n this._pingTimeoutTimer = this.setTimeoutFn(() => {\n this._onClose(\"ping timeout\");\n }, delay);\n if (this.opts.autoUnref) {\n this._pingTimeoutTimer.unref();\n }\n }\n /**\n * Called on `drain` event\n *\n * @private\n */\n _onDrain() {\n this.writeBuffer.splice(0, this._prevBufferLen);\n // setting prevBufferLen = 0 is very important\n // for example, when upgrading, upgrade packet is sent over,\n // and a nonzero prevBufferLen could cause problems on `drain`\n this._prevBufferLen = 0;\n if (0 === this.writeBuffer.length) {\n this.emitReserved(\"drain\");\n }\n else {\n this.flush();\n }\n }\n /**\n * Flush write buffers.\n *\n * @private\n */\n flush() {\n if (\"closed\" !== this.readyState &&\n this.transport.writable &&\n !this.upgrading &&\n this.writeBuffer.length) {\n const packets = this._getWritablePackets();\n this.transport.send(packets);\n // keep track of current length of writeBuffer\n // splice writeBuffer and callbackBuffer on `drain`\n this._prevBufferLen = packets.length;\n this.emitReserved(\"flush\");\n }\n }\n /**\n * Ensure the encoded size of the writeBuffer is below the maxPayload value sent by the server (only for HTTP\n * long-polling)\n *\n * @private\n */\n _getWritablePackets() {\n const shouldCheckPayloadSize = this._maxPayload &&\n this.transport.name === \"polling\" &&\n this.writeBuffer.length > 1;\n if (!shouldCheckPayloadSize) {\n return this.writeBuffer;\n }\n let payloadSize = 1; // first packet type\n for (let i = 0; i < this.writeBuffer.length; i++) {\n const data = this.writeBuffer[i].data;\n if (data) {\n payloadSize += byteLength(data);\n }\n if (i > 0 && payloadSize > this._maxPayload) {\n return this.writeBuffer.slice(0, i);\n }\n payloadSize += 2; // separator + packet type\n }\n return this.writeBuffer;\n }\n /**\n * Checks whether the heartbeat timer has expired but the socket has not yet been notified.\n *\n * Note: this method is private for now because it does not really fit the WebSocket API, but if we put it in the\n * `write()` method then the message would not be buffered by the Socket.IO client.\n *\n * @return {boolean}\n * @private\n */\n /* private */ _hasPingExpired() {\n if (!this._pingTimeoutTime)\n return true;\n const hasExpired = Date.now() > this._pingTimeoutTime;\n if (hasExpired) {\n this._pingTimeoutTime = 0;\n nextTick(() => {\n this._onClose(\"ping timeout\");\n }, this.setTimeoutFn);\n }\n return hasExpired;\n }\n /**\n * Sends a message.\n *\n * @param {String} msg - message.\n * @param {Object} options.\n * @param {Function} fn - callback function.\n * @return {Socket} for chaining.\n */\n write(msg, options, fn) {\n this._sendPacket(\"message\", msg, options, fn);\n return this;\n }\n /**\n * Sends a message. Alias of {@link Socket#write}.\n *\n * @param {String} msg - message.\n * @param {Object} options.\n * @param {Function} fn - callback function.\n * @return {Socket} for chaining.\n */\n send(msg, options, fn) {\n this._sendPacket(\"message\", msg, options, fn);\n return this;\n }\n /**\n * Sends a packet.\n *\n * @param {String} type: packet type.\n * @param {String} data.\n * @param {Object} options.\n * @param {Function} fn - callback function.\n * @private\n */\n _sendPacket(type, data, options, fn) {\n if (\"function\" === typeof data) {\n fn = data;\n data = undefined;\n }\n if (\"function\" === typeof options) {\n fn = options;\n options = null;\n }\n if (\"closing\" === this.readyState || \"closed\" === this.readyState) {\n return;\n }\n options = options || {};\n options.compress = false !== options.compress;\n const packet = {\n type: type,\n data: data,\n options: options,\n };\n this.emitReserved(\"packetCreate\", packet);\n this.writeBuffer.push(packet);\n if (fn)\n this.once(\"flush\", fn);\n this.flush();\n }\n /**\n * Closes the connection.\n */\n close() {\n const close = () => {\n this._onClose(\"forced close\");\n this.transport.close();\n };\n const cleanupAndClose = () => {\n this.off(\"upgrade\", cleanupAndClose);\n this.off(\"upgradeError\", cleanupAndClose);\n close();\n };\n const waitForUpgrade = () => {\n // wait for upgrade to finish since we can't send packets while pausing a transport\n this.once(\"upgrade\", cleanupAndClose);\n this.once(\"upgradeError\", cleanupAndClose);\n };\n if (\"opening\" === this.readyState || \"open\" === this.readyState) {\n this.readyState = \"closing\";\n if (this.writeBuffer.length) {\n this.once(\"drain\", () => {\n if (this.upgrading) {\n waitForUpgrade();\n }\n else {\n close();\n }\n });\n }\n else if (this.upgrading) {\n waitForUpgrade();\n }\n else {\n close();\n }\n }\n return this;\n }\n /**\n * Called upon transport error\n *\n * @private\n */\n _onError(err) {\n SocketWithoutUpgrade.priorWebsocketSuccess = false;\n if (this.opts.tryAllTransports &&\n this.transports.length > 1 &&\n this.readyState === \"opening\") {\n this.transports.shift();\n return this._open();\n }\n this.emitReserved(\"error\", err);\n this._onClose(\"transport error\", err);\n }\n /**\n * Called upon transport close.\n *\n * @private\n */\n _onClose(reason, description) {\n if (\"opening\" === this.readyState ||\n \"open\" === this.readyState ||\n \"closing\" === this.readyState) {\n // clear timers\n this.clearTimeoutFn(this._pingTimeoutTimer);\n // stop event from firing again for transport\n this.transport.removeAllListeners(\"close\");\n // ensure transport won't stay open\n this.transport.close();\n // ignore further transport communication\n this.transport.removeAllListeners();\n if (withEventListeners) {\n if (this._beforeunloadEventListener) {\n removeEventListener(\"beforeunload\", this._beforeunloadEventListener, false);\n }\n if (this._offlineEventListener) {\n const i = OFFLINE_EVENT_LISTENERS.indexOf(this._offlineEventListener);\n if (i !== -1) {\n OFFLINE_EVENT_LISTENERS.splice(i, 1);\n }\n }\n }\n // set ready state\n this.readyState = \"closed\";\n // clear session id\n this.id = null;\n // emit close event\n this.emitReserved(\"close\", reason, description);\n // clean buffers after, so users can still\n // grab the buffers on `close` event\n this.writeBuffer = [];\n this._prevBufferLen = 0;\n }\n }\n}\nSocketWithoutUpgrade.protocol = protocol;\n/**\n * This class provides a WebSocket-like interface to connect to an Engine.IO server. The connection will be established\n * with one of the available low-level transports, like HTTP long-polling, WebSocket or WebTransport.\n *\n * This class comes with an upgrade mechanism, which means that once the connection is established with the first\n * low-level transport, it will try to upgrade to a better transport.\n *\n * In order to allow tree-shaking, there are no transports included, that's why the `transports` option is mandatory.\n *\n * @example\n * import { SocketWithUpgrade, WebSocket } from \"engine.io-client\";\n *\n * const socket = new SocketWithUpgrade({\n * transports: [WebSocket]\n * });\n *\n * socket.on(\"open\", () => {\n * socket.send(\"hello\");\n * });\n *\n * @see SocketWithoutUpgrade\n * @see Socket\n */\nexport class SocketWithUpgrade extends SocketWithoutUpgrade {\n constructor() {\n super(...arguments);\n this._upgrades = [];\n }\n onOpen() {\n super.onOpen();\n if (\"open\" === this.readyState && this.opts.upgrade) {\n for (let i = 0; i < this._upgrades.length; i++) {\n this._probe(this._upgrades[i]);\n }\n }\n }\n /**\n * Probes a transport.\n *\n * @param {String} name - transport name\n * @private\n */\n _probe(name) {\n let transport = this.createTransport(name);\n let failed = false;\n SocketWithoutUpgrade.priorWebsocketSuccess = false;\n const onTransportOpen = () => {\n if (failed)\n return;\n transport.send([{ type: \"ping\", data: \"probe\" }]);\n transport.once(\"packet\", (msg) => {\n if (failed)\n return;\n if (\"pong\" === msg.type && \"probe\" === msg.data) {\n this.upgrading = true;\n this.emitReserved(\"upgrading\", transport);\n if (!transport)\n return;\n SocketWithoutUpgrade.priorWebsocketSuccess =\n \"websocket\" === transport.name;\n this.transport.pause(() => {\n if (failed)\n return;\n if (\"closed\" === this.readyState)\n return;\n cleanup();\n this.setTransport(transport);\n transport.send([{ type: \"upgrade\" }]);\n this.emitReserved(\"upgrade\", transport);\n transport = null;\n this.upgrading = false;\n this.flush();\n });\n }\n else {\n const err = new Error(\"probe error\");\n // @ts-ignore\n err.transport = transport.name;\n this.emitReserved(\"upgradeError\", err);\n }\n });\n };\n function freezeTransport() {\n if (failed)\n return;\n // Any callback called by transport should be ignored since now\n failed = true;\n cleanup();\n transport.close();\n transport = null;\n }\n // Handle any error that happens while probing\n const onerror = (err) => {\n const error = new Error(\"probe error: \" + err);\n // @ts-ignore\n error.transport = transport.name;\n freezeTransport();\n this.emitReserved(\"upgradeError\", error);\n };\n function onTransportClose() {\n onerror(\"transport closed\");\n }\n // When the socket is closed while we're probing\n function onclose() {\n onerror(\"socket closed\");\n }\n // When the socket is upgraded while we're probing\n function onupgrade(to) {\n if (transport && to.name !== transport.name) {\n freezeTransport();\n }\n }\n // Remove all listeners on the transport and on self\n const cleanup = () => {\n transport.removeListener(\"open\", onTransportOpen);\n transport.removeListener(\"error\", onerror);\n transport.removeListener(\"close\", onTransportClose);\n this.off(\"close\", onclose);\n this.off(\"upgrading\", onupgrade);\n };\n transport.once(\"open\", onTransportOpen);\n transport.once(\"error\", onerror);\n transport.once(\"close\", onTransportClose);\n this.once(\"close\", onclose);\n this.once(\"upgrading\", onupgrade);\n if (this._upgrades.indexOf(\"webtransport\") !== -1 &&\n name !== \"webtransport\") {\n // favor WebTransport\n this.setTimeoutFn(() => {\n if (!failed) {\n transport.open();\n }\n }, 200);\n }\n else {\n transport.open();\n }\n }\n onHandshake(data) {\n this._upgrades = this._filterUpgrades(data.upgrades);\n super.onHandshake(data);\n }\n /**\n * Filters upgrades, returning only those matching client transports.\n *\n * @param {Array} upgrades - server upgrades\n * @private\n */\n _filterUpgrades(upgrades) {\n const filteredUpgrades = [];\n for (let i = 0; i < upgrades.length; i++) {\n if (~this.transports.indexOf(upgrades[i]))\n filteredUpgrades.push(upgrades[i]);\n }\n return filteredUpgrades;\n }\n}\n/**\n * This class provides a WebSocket-like interface to connect to an Engine.IO server. The connection will be established\n * with one of the available low-level transports, like HTTP long-polling, WebSocket or WebTransport.\n *\n * This class comes with an upgrade mechanism, which means that once the connection is established with the first\n * low-level transport, it will try to upgrade to a better transport.\n *\n * @example\n * import { Socket } from \"engine.io-client\";\n *\n * const socket = new Socket();\n *\n * socket.on(\"open\", () => {\n * socket.send(\"hello\");\n * });\n *\n * @see SocketWithoutUpgrade\n * @see SocketWithUpgrade\n */\nexport class Socket extends SocketWithUpgrade {\n constructor(uri, opts = {}) {\n const o = typeof uri === \"object\" ? uri : opts;\n if (!o.transports ||\n (o.transports && typeof o.transports[0] === \"string\")) {\n o.transports = (o.transports || [\"polling\", \"websocket\", \"webtransport\"])\n .map((transportName) => DEFAULT_TRANSPORTS[transportName])\n .filter((t) => !!t);\n }\n super(uri, o);\n }\n}\n","const withNativeArrayBuffer = typeof ArrayBuffer === \"function\";\nconst isView = (obj) => {\n return typeof ArrayBuffer.isView === \"function\"\n ? ArrayBuffer.isView(obj)\n : obj.buffer instanceof ArrayBuffer;\n};\nconst toString = Object.prototype.toString;\nconst withNativeBlob = typeof Blob === \"function\" ||\n (typeof Blob !== \"undefined\" &&\n toString.call(Blob) === \"[object BlobConstructor]\");\nconst withNativeFile = typeof File === \"function\" ||\n (typeof File !== \"undefined\" &&\n toString.call(File) === \"[object FileConstructor]\");\n/**\n * Returns true if obj is a Buffer, an ArrayBuffer, a Blob or a File.\n *\n * @private\n */\nexport function isBinary(obj) {\n return ((withNativeArrayBuffer && (obj instanceof ArrayBuffer || isView(obj))) ||\n (withNativeBlob && obj instanceof Blob) ||\n (withNativeFile && obj instanceof File));\n}\nexport function hasBinary(obj, toJSON) {\n if (!obj || typeof obj !== \"object\") {\n return false;\n }\n if (Array.isArray(obj)) {\n for (let i = 0, l = obj.length; i < l; i++) {\n if (hasBinary(obj[i])) {\n return true;\n }\n }\n return false;\n }\n if (isBinary(obj)) {\n return true;\n }\n if (obj.toJSON &&\n typeof obj.toJSON === \"function\" &&\n arguments.length === 1) {\n return hasBinary(obj.toJSON(), true);\n }\n for (const key in obj) {\n if (Object.prototype.hasOwnProperty.call(obj, key) && hasBinary(obj[key])) {\n return true;\n }\n }\n return false;\n}\n","import { isBinary } from \"./is-binary.js\";\n/**\n * Replaces every Buffer | ArrayBuffer | Blob | File in packet with a numbered placeholder.\n *\n * @param {Object} packet - socket.io event packet\n * @return {Object} with deconstructed packet and list of buffers\n * @public\n */\nexport function deconstructPacket(packet) {\n const buffers = [];\n const packetData = packet.data;\n const pack = packet;\n pack.data = _deconstructPacket(packetData, buffers);\n pack.attachments = buffers.length; // number of binary 'attachments'\n return { packet: pack, buffers: buffers };\n}\nfunction _deconstructPacket(data, buffers) {\n if (!data)\n return data;\n if (isBinary(data)) {\n const placeholder = { _placeholder: true, num: buffers.length };\n buffers.push(data);\n return placeholder;\n }\n else if (Array.isArray(data)) {\n const newData = new Array(data.length);\n for (let i = 0; i < data.length; i++) {\n newData[i] = _deconstructPacket(data[i], buffers);\n }\n return newData;\n }\n else if (typeof data === \"object\" && !(data instanceof Date)) {\n const newData = {};\n for (const key in data) {\n if (Object.prototype.hasOwnProperty.call(data, key)) {\n newData[key] = _deconstructPacket(data[key], buffers);\n }\n }\n return newData;\n }\n return data;\n}\n/**\n * Reconstructs a binary packet from its placeholder packet and buffers\n *\n * @param {Object} packet - event packet with placeholders\n * @param {Array} buffers - binary buffers to put in placeholder positions\n * @return {Object} reconstructed packet\n * @public\n */\nexport function reconstructPacket(packet, buffers) {\n packet.data = _reconstructPacket(packet.data, buffers);\n delete packet.attachments; // no longer useful\n return packet;\n}\nfunction _reconstructPacket(data, buffers) {\n if (!data)\n return data;\n if (data && data._placeholder === true) {\n const isIndexValid = typeof data.num === \"number\" &&\n data.num >= 0 &&\n data.num < buffers.length;\n if (isIndexValid) {\n return buffers[data.num]; // appropriate buffer (should be natural order anyway)\n }\n else {\n throw new Error(\"illegal attachments\");\n }\n }\n else if (Array.isArray(data)) {\n for (let i = 0; i < data.length; i++) {\n data[i] = _reconstructPacket(data[i], buffers);\n }\n }\n else if (typeof data === \"object\") {\n for (const key in data) {\n if (Object.prototype.hasOwnProperty.call(data, key)) {\n data[key] = _reconstructPacket(data[key], buffers);\n }\n }\n }\n return data;\n}\n","import { Emitter } from \"@socket.io/component-emitter\";\nimport { deconstructPacket, reconstructPacket } from \"./binary.js\";\nimport { isBinary, hasBinary } from \"./is-binary.js\";\n/**\n * These strings must not be used as event names, as they have a special meaning.\n */\nconst RESERVED_EVENTS = [\n \"connect\",\n \"connect_error\",\n \"disconnect\",\n \"disconnecting\",\n \"newListener\",\n \"removeListener\", // used by the Node.js EventEmitter\n];\n/**\n * Protocol version.\n *\n * @public\n */\nexport const protocol = 5;\nexport var PacketType;\n(function (PacketType) {\n PacketType[PacketType[\"CONNECT\"] = 0] = \"CONNECT\";\n PacketType[PacketType[\"DISCONNECT\"] = 1] = \"DISCONNECT\";\n PacketType[PacketType[\"EVENT\"] = 2] = \"EVENT\";\n PacketType[PacketType[\"ACK\"] = 3] = \"ACK\";\n PacketType[PacketType[\"CONNECT_ERROR\"] = 4] = \"CONNECT_ERROR\";\n PacketType[PacketType[\"BINARY_EVENT\"] = 5] = \"BINARY_EVENT\";\n PacketType[PacketType[\"BINARY_ACK\"] = 6] = \"BINARY_ACK\";\n})(PacketType || (PacketType = {}));\n/**\n * A socket.io Encoder instance\n */\nexport class Encoder {\n /**\n * Encoder constructor\n *\n * @param {function} replacer - custom replacer to pass down to JSON.parse\n */\n constructor(replacer) {\n this.replacer = replacer;\n }\n /**\n * Encode a packet as a single string if non-binary, or as a\n * buffer sequence, depending on packet type.\n *\n * @param {Object} obj - packet object\n */\n encode(obj) {\n if (obj.type === PacketType.EVENT || obj.type === PacketType.ACK) {\n if (hasBinary(obj)) {\n return this.encodeAsBinary({\n type: obj.type === PacketType.EVENT\n ? PacketType.BINARY_EVENT\n : PacketType.BINARY_ACK,\n nsp: obj.nsp,\n data: obj.data,\n id: obj.id,\n });\n }\n }\n return [this.encodeAsString(obj)];\n }\n /**\n * Encode packet as string.\n */\n encodeAsString(obj) {\n // first is type\n let str = \"\" + obj.type;\n // attachments if we have them\n if (obj.type === PacketType.BINARY_EVENT ||\n obj.type === PacketType.BINARY_ACK) {\n str += obj.attachments + \"-\";\n }\n // if we have a namespace other than `/`\n // we append it followed by a comma `,`\n if (obj.nsp && \"/\" !== obj.nsp) {\n str += obj.nsp + \",\";\n }\n // immediately followed by the id\n if (null != obj.id) {\n str += obj.id;\n }\n // json data\n if (null != obj.data) {\n str += JSON.stringify(obj.data, this.replacer);\n }\n return str;\n }\n /**\n * Encode packet as 'buffer sequence' by removing blobs, and\n * deconstructing packet into object with placeholders and\n * a list of buffers.\n */\n encodeAsBinary(obj) {\n const deconstruction = deconstructPacket(obj);\n const pack = this.encodeAsString(deconstruction.packet);\n const buffers = deconstruction.buffers;\n buffers.unshift(pack); // add packet info to beginning of data list\n return buffers; // write all the buffers\n }\n}\n// see https://stackoverflow.com/questions/8511281/check-if-a-value-is-an-object-in-javascript\nfunction isObject(value) {\n return Object.prototype.toString.call(value) === \"[object Object]\";\n}\n/**\n * A socket.io Decoder instance\n *\n * @return {Object} decoder\n */\nexport class Decoder extends Emitter {\n /**\n * Decoder constructor\n *\n * @param {function} reviver - custom reviver to pass down to JSON.stringify\n */\n constructor(reviver) {\n super();\n this.reviver = reviver;\n }\n /**\n * Decodes an encoded packet string into packet JSON.\n *\n * @param {String} obj - encoded packet\n */\n add(obj) {\n let packet;\n if (typeof obj === \"string\") {\n if (this.reconstructor) {\n throw new Error(\"got plaintext data when reconstructing a packet\");\n }\n packet = this.decodeString(obj);\n const isBinaryEvent = packet.type === PacketType.BINARY_EVENT;\n if (isBinaryEvent || packet.type === PacketType.BINARY_ACK) {\n packet.type = isBinaryEvent ? PacketType.EVENT : PacketType.ACK;\n // binary packet's json\n this.reconstructor = new BinaryReconstructor(packet);\n // no attachments, labeled binary but no binary data to follow\n if (packet.attachments === 0) {\n super.emitReserved(\"decoded\", packet);\n }\n }\n else {\n // non-binary full packet\n super.emitReserved(\"decoded\", packet);\n }\n }\n else if (isBinary(obj) || obj.base64) {\n // raw binary data\n if (!this.reconstructor) {\n throw new Error(\"got binary data when not reconstructing a packet\");\n }\n else {\n packet = this.reconstructor.takeBinaryData(obj);\n if (packet) {\n // received final buffer\n this.reconstructor = null;\n super.emitReserved(\"decoded\", packet);\n }\n }\n }\n else {\n throw new Error(\"Unknown type: \" + obj);\n }\n }\n /**\n * Decode a packet String (JSON data)\n *\n * @param {String} str\n * @return {Object} packet\n */\n decodeString(str) {\n let i = 0;\n // look up type\n const p = {\n type: Number(str.charAt(0)),\n };\n if (PacketType[p.type] === undefined) {\n throw new Error(\"unknown packet type \" + p.type);\n }\n // look up attachments if type binary\n if (p.type === PacketType.BINARY_EVENT ||\n p.type === PacketType.BINARY_ACK) {\n const start = i + 1;\n while (str.charAt(++i) !== \"-\" && i != str.length) { }\n const buf = str.substring(start, i);\n if (buf != Number(buf) || str.charAt(i) !== \"-\") {\n throw new Error(\"Illegal attachments\");\n }\n p.attachments = Number(buf);\n }\n // look up namespace (if any)\n if (\"/\" === str.charAt(i + 1)) {\n const start = i + 1;\n while (++i) {\n const c = str.charAt(i);\n if (\",\" === c)\n break;\n if (i === str.length)\n break;\n }\n p.nsp = str.substring(start, i);\n }\n else {\n p.nsp = \"/\";\n }\n // look up id\n const next = str.charAt(i + 1);\n if (\"\" !== next && Number(next) == next) {\n const start = i + 1;\n while (++i) {\n const c = str.charAt(i);\n if (null == c || Number(c) != c) {\n --i;\n break;\n }\n if (i === str.length)\n break;\n }\n p.id = Number(str.substring(start, i + 1));\n }\n // look up json data\n if (str.charAt(++i)) {\n const payload = this.tryParse(str.substr(i));\n if (Decoder.isPayloadValid(p.type, payload)) {\n p.data = payload;\n }\n else {\n throw new Error(\"invalid payload\");\n }\n }\n return p;\n }\n tryParse(str) {\n try {\n return JSON.parse(str, this.reviver);\n }\n catch (e) {\n return false;\n }\n }\n static isPayloadValid(type, payload) {\n switch (type) {\n case PacketType.CONNECT:\n return isObject(payload);\n case PacketType.DISCONNECT:\n return payload === undefined;\n case PacketType.CONNECT_ERROR:\n return typeof payload === \"string\" || isObject(payload);\n case PacketType.EVENT:\n case PacketType.BINARY_EVENT:\n return (Array.isArray(payload) &&\n (typeof payload[0] === \"number\" ||\n (typeof payload[0] === \"string\" &&\n RESERVED_EVENTS.indexOf(payload[0]) === -1)));\n case PacketType.ACK:\n case PacketType.BINARY_ACK:\n return Array.isArray(payload);\n }\n }\n /**\n * Deallocates a parser's resources\n */\n destroy() {\n if (this.reconstructor) {\n this.reconstructor.finishedReconstruction();\n this.reconstructor = null;\n }\n }\n}\n/**\n * A manager of a binary event's 'buffer sequence'. Should\n * be constructed whenever a packet of type BINARY_EVENT is\n * decoded.\n *\n * @param {Object} packet\n * @return {BinaryReconstructor} initialized reconstructor\n */\nclass BinaryReconstructor {\n constructor(packet) {\n this.packet = packet;\n this.buffers = [];\n this.reconPack = packet;\n }\n /**\n * Method to be called when binary data received from connection\n * after a BINARY_EVENT packet.\n *\n * @param {Buffer | ArrayBuffer} binData - the raw binary data received\n * @return {null | Object} returns null if more binary data is expected or\n * a reconstructed packet object if all buffers have been received.\n */\n takeBinaryData(binData) {\n this.buffers.push(binData);\n if (this.buffers.length === this.reconPack.attachments) {\n // done with buffer list\n const packet = reconstructPacket(this.reconPack, this.buffers);\n this.finishedReconstruction();\n return packet;\n }\n return null;\n }\n /**\n * Cleans up binary packet reconstruction variables.\n */\n finishedReconstruction() {\n this.reconPack = null;\n this.buffers = [];\n }\n}\n","export function on(obj, ev, fn) {\n obj.on(ev, fn);\n return function subDestroy() {\n obj.off(ev, fn);\n };\n}\n","import { PacketType } from \"socket.io-parser\";\nimport { on } from \"./on.js\";\nimport { Emitter, } from \"@socket.io/component-emitter\";\n/**\n * Internal events.\n * These events can't be emitted by the user.\n */\nconst RESERVED_EVENTS = Object.freeze({\n connect: 1,\n connect_error: 1,\n disconnect: 1,\n disconnecting: 1,\n // EventEmitter reserved events: https://nodejs.org/api/events.html#events_event_newlistener\n newListener: 1,\n removeListener: 1,\n});\n/**\n * A Socket is the fundamental class for interacting with the server.\n *\n * A Socket belongs to a certain Namespace (by default /) and uses an underlying {@link Manager} to communicate.\n *\n * @example\n * const socket = io();\n *\n * socket.on(\"connect\", () => {\n * console.log(\"connected\");\n * });\n *\n * // send an event to the server\n * socket.emit(\"foo\", \"bar\");\n *\n * socket.on(\"foobar\", () => {\n * // an event was received from the server\n * });\n *\n * // upon disconnection\n * socket.on(\"disconnect\", (reason) => {\n * console.log(`disconnected due to ${reason}`);\n * });\n */\nexport class Socket extends Emitter {\n /**\n * `Socket` constructor.\n */\n constructor(io, nsp, opts) {\n super();\n /**\n * Whether the socket is currently connected to the server.\n *\n * @example\n * const socket = io();\n *\n * socket.on(\"connect\", () => {\n * console.log(socket.connected); // true\n * });\n *\n * socket.on(\"disconnect\", () => {\n * console.log(socket.connected); // false\n * });\n */\n this.connected = false;\n /**\n * Whether the connection state was recovered after a temporary disconnection. In that case, any missed packets will\n * be transmitted by the server.\n */\n this.recovered = false;\n /**\n * Buffer for packets received before the CONNECT packet\n */\n this.receiveBuffer = [];\n /**\n * Buffer for packets that will be sent once the socket is connected\n */\n this.sendBuffer = [];\n /**\n * The queue of packets to be sent with retry in case of failure.\n *\n * Packets are sent one by one, each waiting for the server acknowledgement, in order to guarantee the delivery order.\n * @private\n */\n this._queue = [];\n /**\n * A sequence to generate the ID of the {@link QueuedPacket}.\n * @private\n */\n this._queueSeq = 0;\n this.ids = 0;\n /**\n * A map containing acknowledgement handlers.\n *\n * The `withError` attribute is used to differentiate handlers that accept an error as first argument:\n *\n * - `socket.emit(\"test\", (err, value) => { ... })` with `ackTimeout` option\n * - `socket.timeout(5000).emit(\"test\", (err, value) => { ... })`\n * - `const value = await socket.emitWithAck(\"test\")`\n *\n * From those that don't:\n *\n * - `socket.emit(\"test\", (value) => { ... });`\n *\n * In the first case, the handlers will be called with an error when:\n *\n * - the timeout is reached\n * - the socket gets disconnected\n *\n * In the second case, the handlers will be simply discarded upon disconnection, since the client will never receive\n * an acknowledgement from the server.\n *\n * @private\n */\n this.acks = {};\n this.flags = {};\n this.io = io;\n this.nsp = nsp;\n if (opts && opts.auth) {\n this.auth = opts.auth;\n }\n this._opts = Object.assign({}, opts);\n if (this.io._autoConnect)\n this.open();\n }\n /**\n * Whether the socket is currently disconnected\n *\n * @example\n * const socket = io();\n *\n * socket.on(\"connect\", () => {\n * console.log(socket.disconnected); // false\n * });\n *\n * socket.on(\"disconnect\", () => {\n * console.log(socket.disconnected); // true\n * });\n */\n get disconnected() {\n return !this.connected;\n }\n /**\n * Subscribe to open, close and packet events\n *\n * @private\n */\n subEvents() {\n if (this.subs)\n return;\n const io = this.io;\n this.subs = [\n on(io, \"open\", this.onopen.bind(this)),\n on(io, \"packet\", this.onpacket.bind(this)),\n on(io, \"error\", this.onerror.bind(this)),\n on(io, \"close\", this.onclose.bind(this)),\n ];\n }\n /**\n * Whether the Socket will try to reconnect when its Manager connects or reconnects.\n *\n * @example\n * const socket = io();\n *\n * console.log(socket.active); // true\n *\n * socket.on(\"disconnect\", (reason) => {\n * if (reason === \"io server disconnect\") {\n * // the disconnection was initiated by the server, you need to manually reconnect\n * console.log(socket.active); // false\n * }\n * // else the socket will automatically try to reconnect\n * console.log(socket.active); // true\n * });\n */\n get active() {\n return !!this.subs;\n }\n /**\n * \"Opens\" the socket.\n *\n * @example\n * const socket = io({\n * autoConnect: false\n * });\n *\n * socket.connect();\n */\n connect() {\n if (this.connected)\n return this;\n this.subEvents();\n if (!this.io[\"_reconnecting\"])\n this.io.open(); // ensure open\n if (\"open\" === this.io._readyState)\n this.onopen();\n return this;\n }\n /**\n * Alias for {@link connect()}.\n */\n open() {\n return this.connect();\n }\n /**\n * Sends a `message` event.\n *\n * This method mimics the WebSocket.send() method.\n *\n * @see https://developer.mozilla.org/en-US/docs/Web/API/WebSocket/send\n *\n * @example\n * socket.send(\"hello\");\n *\n * // this is equivalent to\n * socket.emit(\"message\", \"hello\");\n *\n * @return self\n */\n send(...args) {\n args.unshift(\"message\");\n this.emit.apply(this, args);\n return this;\n }\n /**\n * Override `emit`.\n * If the event is in `events`, it's emitted normally.\n *\n * @example\n * socket.emit(\"hello\", \"world\");\n *\n * // all serializable datastructures are supported (no need to call JSON.stringify)\n * socket.emit(\"hello\", 1, \"2\", { 3: [\"4\"], 5: Uint8Array.from([6]) });\n *\n * // with an acknowledgement from the server\n * socket.emit(\"hello\", \"world\", (val) => {\n * // ...\n * });\n *\n * @return self\n */\n emit(ev, ...args) {\n var _a, _b, _c;\n if (RESERVED_EVENTS.hasOwnProperty(ev)) {\n throw new Error('\"' + ev.toString() + '\" is a reserved event name');\n }\n args.unshift(ev);\n if (this._opts.retries && !this.flags.fromQueue && !this.flags.volatile) {\n this._addToQueue(args);\n return this;\n }\n const packet = {\n type: PacketType.EVENT,\n data: args,\n };\n packet.options = {};\n packet.options.compress = this.flags.compress !== false;\n // event ack callback\n if (\"function\" === typeof args[args.length - 1]) {\n const id = this.ids++;\n const ack = args.pop();\n this._registerAckCallback(id, ack);\n packet.id = id;\n }\n const isTransportWritable = (_b = (_a = this.io.engine) === null || _a === void 0 ? void 0 : _a.transport) === null || _b === void 0 ? void 0 : _b.writable;\n const isConnected = this.connected && !((_c = this.io.engine) === null || _c === void 0 ? void 0 : _c._hasPingExpired());\n const discardPacket = this.flags.volatile && !isTransportWritable;\n if (discardPacket) {\n }\n else if (isConnected) {\n this.notifyOutgoingListeners(packet);\n this.packet(packet);\n }\n else {\n this.sendBuffer.push(packet);\n }\n this.flags = {};\n return this;\n }\n /**\n * @private\n */\n _registerAckCallback(id, ack) {\n var _a;\n const timeout = (_a = this.flags.timeout) !== null && _a !== void 0 ? _a : this._opts.ackTimeout;\n if (timeout === undefined) {\n this.acks[id] = ack;\n return;\n }\n // @ts-ignore\n const timer = this.io.setTimeoutFn(() => {\n delete this.acks[id];\n for (let i = 0; i < this.sendBuffer.length; i++) {\n if (this.sendBuffer[i].id === id) {\n this.sendBuffer.splice(i, 1);\n }\n }\n ack.call(this, new Error(\"operation has timed out\"));\n }, timeout);\n const fn = (...args) => {\n // @ts-ignore\n this.io.clearTimeoutFn(timer);\n ack.apply(this, args);\n };\n fn.withError = true;\n this.acks[id] = fn;\n }\n /**\n * Emits an event and waits for an acknowledgement\n *\n * @example\n * // without timeout\n * const response = await socket.emitWithAck(\"hello\", \"world\");\n *\n * // with a specific timeout\n * try {\n * const response = await socket.timeout(1000).emitWithAck(\"hello\", \"world\");\n * } catch (err) {\n * // the server did not acknowledge the event in the given delay\n * }\n *\n * @return a Promise that will be fulfilled when the server acknowledges the event\n */\n emitWithAck(ev, ...args) {\n return new Promise((resolve, reject) => {\n const fn = (arg1, arg2) => {\n return arg1 ? reject(arg1) : resolve(arg2);\n };\n fn.withError = true;\n args.push(fn);\n this.emit(ev, ...args);\n });\n }\n /**\n * Add the packet to the queue.\n * @param args\n * @private\n */\n _addToQueue(args) {\n let ack;\n if (typeof args[args.length - 1] === \"function\") {\n ack = args.pop();\n }\n const packet = {\n id: this._queueSeq++,\n tryCount: 0,\n pending: false,\n args,\n flags: Object.assign({ fromQueue: true }, this.flags),\n };\n args.push((err, ...responseArgs) => {\n if (packet !== this._queue[0]) {\n // the packet has already been acknowledged\n return;\n }\n const hasError = err !== null;\n if (hasError) {\n if (packet.tryCount > this._opts.retries) {\n this._queue.shift();\n if (ack) {\n ack(err);\n }\n }\n }\n else {\n this._queue.shift();\n if (ack) {\n ack(null, ...responseArgs);\n }\n }\n packet.pending = false;\n return this._drainQueue();\n });\n this._queue.push(packet);\n this._drainQueue();\n }\n /**\n * Send the first packet of the queue, and wait for an acknowledgement from the server.\n * @param force - whether to resend a packet that has not been acknowledged yet\n *\n * @private\n */\n _drainQueue(force = false) {\n if (!this.connected || this._queue.length === 0) {\n return;\n }\n const packet = this._queue[0];\n if (packet.pending && !force) {\n return;\n }\n packet.pending = true;\n packet.tryCount++;\n this.flags = packet.flags;\n this.emit.apply(this, packet.args);\n }\n /**\n * Sends a packet.\n *\n * @param packet\n * @private\n */\n packet(packet) {\n packet.nsp = this.nsp;\n this.io._packet(packet);\n }\n /**\n * Called upon engine `open`.\n *\n * @private\n */\n onopen() {\n if (typeof this.auth == \"function\") {\n this.auth((data) => {\n this._sendConnectPacket(data);\n });\n }\n else {\n this._sendConnectPacket(this.auth);\n }\n }\n /**\n * Sends a CONNECT packet to initiate the Socket.IO session.\n *\n * @param data\n * @private\n */\n _sendConnectPacket(data) {\n this.packet({\n type: PacketType.CONNECT,\n data: this._pid\n ? Object.assign({ pid: this._pid, offset: this._lastOffset }, data)\n : data,\n });\n }\n /**\n * Called upon engine or manager `error`.\n *\n * @param err\n * @private\n */\n onerror(err) {\n if (!this.connected) {\n this.emitReserved(\"connect_error\", err);\n }\n }\n /**\n * Called upon engine `close`.\n *\n * @param reason\n * @param description\n * @private\n */\n onclose(reason, description) {\n this.connected = false;\n delete this.id;\n this.emitReserved(\"disconnect\", reason, description);\n this._clearAcks();\n }\n /**\n * Clears the acknowledgement handlers upon disconnection, since the client will never receive an acknowledgement from\n * the server.\n *\n * @private\n */\n _clearAcks() {\n Object.keys(this.acks).forEach((id) => {\n const isBuffered = this.sendBuffer.some((packet) => String(packet.id) === id);\n if (!isBuffered) {\n // note: handlers that do not accept an error as first argument are ignored here\n const ack = this.acks[id];\n delete this.acks[id];\n if (ack.withError) {\n ack.call(this, new Error(\"socket has been disconnected\"));\n }\n }\n });\n }\n /**\n * Called with socket packet.\n *\n * @param packet\n * @private\n */\n onpacket(packet) {\n const sameNamespace = packet.nsp === this.nsp;\n if (!sameNamespace)\n return;\n switch (packet.type) {\n case PacketType.CONNECT:\n if (packet.data && packet.data.sid) {\n this.onconnect(packet.data.sid, packet.data.pid);\n }\n else {\n this.emitReserved(\"connect_error\", new Error(\"It seems you are trying to reach a Socket.IO server in v2.x with a v3.x client, but they are not compatible (more information here: https://socket.io/docs/v3/migrating-from-2-x-to-3-0/)\"));\n }\n break;\n case PacketType.EVENT:\n case PacketType.BINARY_EVENT:\n this.onevent(packet);\n break;\n case PacketType.ACK:\n case PacketType.BINARY_ACK:\n this.onack(packet);\n break;\n case PacketType.DISCONNECT:\n this.ondisconnect();\n break;\n case PacketType.CONNECT_ERROR:\n this.destroy();\n const err = new Error(packet.data.message);\n // @ts-ignore\n err.data = packet.data.data;\n this.emitReserved(\"connect_error\", err);\n break;\n }\n }\n /**\n * Called upon a server event.\n *\n * @param packet\n * @private\n */\n onevent(packet) {\n const args = packet.data || [];\n if (null != packet.id) {\n args.push(this.ack(packet.id));\n }\n if (this.connected) {\n this.emitEvent(args);\n }\n else {\n this.receiveBuffer.push(Object.freeze(args));\n }\n }\n emitEvent(args) {\n if (this._anyListeners && this._anyListeners.length) {\n const listeners = this._anyListeners.slice();\n for (const listener of listeners) {\n listener.apply(this, args);\n }\n }\n super.emit.apply(this, args);\n if (this._pid && args.length && typeof args[args.length - 1] === \"string\") {\n this._lastOffset = args[args.length - 1];\n }\n }\n /**\n * Produces an ack callback to emit with an event.\n *\n * @private\n */\n ack(id) {\n const self = this;\n let sent = false;\n return function (...args) {\n // prevent double callbacks\n if (sent)\n return;\n sent = true;\n self.packet({\n type: PacketType.ACK,\n id: id,\n data: args,\n });\n };\n }\n /**\n * Called upon a server acknowledgement.\n *\n * @param packet\n * @private\n */\n onack(packet) {\n const ack = this.acks[packet.id];\n if (typeof ack !== \"function\") {\n return;\n }\n delete this.acks[packet.id];\n // @ts-ignore FIXME ack is incorrectly inferred as 'never'\n if (ack.withError) {\n packet.data.unshift(null);\n }\n // @ts-ignore\n ack.apply(this, packet.data);\n }\n /**\n * Called upon server connect.\n *\n * @private\n */\n onconnect(id, pid) {\n this.id = id;\n this.recovered = pid && this._pid === pid;\n this._pid = pid; // defined only if connection state recovery is enabled\n this.connected = true;\n this.emitBuffered();\n this.emitReserved(\"connect\");\n this._drainQueue(true);\n }\n /**\n * Emit buffered events (received and emitted).\n *\n * @private\n */\n emitBuffered() {\n this.receiveBuffer.forEach((args) => this.emitEvent(args));\n this.receiveBuffer = [];\n this.sendBuffer.forEach((packet) => {\n this.notifyOutgoingListeners(packet);\n this.packet(packet);\n });\n this.sendBuffer = [];\n }\n /**\n * Called upon server disconnect.\n *\n * @private\n */\n ondisconnect() {\n this.destroy();\n this.onclose(\"io server disconnect\");\n }\n /**\n * Called upon forced client/server side disconnections,\n * this method ensures the manager stops tracking us and\n * that reconnections don't get triggered for this.\n *\n * @private\n */\n destroy() {\n if (this.subs) {\n // clean subscriptions to avoid reconnections\n this.subs.forEach((subDestroy) => subDestroy());\n this.subs = undefined;\n }\n this.io[\"_destroy\"](this);\n }\n /**\n * Disconnects the socket manually. In that case, the socket will not try to reconnect.\n *\n * If this is the last active Socket instance of the {@link Manager}, the low-level connection will be closed.\n *\n * @example\n * const socket = io();\n *\n * socket.on(\"disconnect\", (reason) => {\n * // console.log(reason); prints \"io client disconnect\"\n * });\n *\n * socket.disconnect();\n *\n * @return self\n */\n disconnect() {\n if (this.connected) {\n this.packet({ type: PacketType.DISCONNECT });\n }\n // remove socket from pool\n this.destroy();\n if (this.connected) {\n // fire events\n this.onclose(\"io client disconnect\");\n }\n return this;\n }\n /**\n * Alias for {@link disconnect()}.\n *\n * @return self\n */\n close() {\n return this.disconnect();\n }\n /**\n * Sets the compress flag.\n *\n * @example\n * socket.compress(false).emit(\"hello\");\n *\n * @param compress - if `true`, compresses the sending data\n * @return self\n */\n compress(compress) {\n this.flags.compress = compress;\n return this;\n }\n /**\n * Sets a modifier for a subsequent event emission that the event message will be dropped when this socket is not\n * ready to send messages.\n *\n * @example\n * socket.volatile.emit(\"hello\"); // the server may or may not receive it\n *\n * @returns self\n */\n get volatile() {\n this.flags.volatile = true;\n return this;\n }\n /**\n * Sets a modifier for a subsequent event emission that the callback will be called with an error when the\n * given number of milliseconds have elapsed without an acknowledgement from the server:\n *\n * @example\n * socket.timeout(5000).emit(\"my-event\", (err) => {\n * if (err) {\n * // the server did not acknowledge the event in the given delay\n * }\n * });\n *\n * @returns self\n */\n timeout(timeout) {\n this.flags.timeout = timeout;\n return this;\n }\n /**\n * Adds a listener that will be fired when any event is emitted. The event name is passed as the first argument to the\n * callback.\n *\n * @example\n * socket.onAny((event, ...args) => {\n * console.log(`got ${event}`);\n * });\n *\n * @param listener\n */\n onAny(listener) {\n this._anyListeners = this._anyListeners || [];\n this._anyListeners.push(listener);\n return this;\n }\n /**\n * Adds a listener that will be fired when any event is emitted. The event name is passed as the first argument to the\n * callback. The listener is added to the beginning of the listeners array.\n *\n * @example\n * socket.prependAny((event, ...args) => {\n * console.log(`got event ${event}`);\n * });\n *\n * @param listener\n */\n prependAny(listener) {\n this._anyListeners = this._anyListeners || [];\n this._anyListeners.unshift(listener);\n return this;\n }\n /**\n * Removes the listener that will be fired when any event is emitted.\n *\n * @example\n * const catchAllListener = (event, ...args) => {\n * console.log(`got event ${event}`);\n * }\n *\n * socket.onAny(catchAllListener);\n *\n * // remove a specific listener\n * socket.offAny(catchAllListener);\n *\n * // or remove all listeners\n * socket.offAny();\n *\n * @param listener\n */\n offAny(listener) {\n if (!this._anyListeners) {\n return this;\n }\n if (listener) {\n const listeners = this._anyListeners;\n for (let i = 0; i < listeners.length; i++) {\n if (listener === listeners[i]) {\n listeners.splice(i, 1);\n return this;\n }\n }\n }\n else {\n this._anyListeners = [];\n }\n return this;\n }\n /**\n * Returns an array of listeners that are listening for any event that is specified. This array can be manipulated,\n * e.g. to remove listeners.\n */\n listenersAny() {\n return this._anyListeners || [];\n }\n /**\n * Adds a listener that will be fired when any event is emitted. The event name is passed as the first argument to the\n * callback.\n *\n * Note: acknowledgements sent to the server are not included.\n *\n * @example\n * socket.onAnyOutgoing((event, ...args) => {\n * console.log(`sent event ${event}`);\n * });\n *\n * @param listener\n */\n onAnyOutgoing(listener) {\n this._anyOutgoingListeners = this._anyOutgoingListeners || [];\n this._anyOutgoingListeners.push(listener);\n return this;\n }\n /**\n * Adds a listener that will be fired when any event is emitted. The event name is passed as the first argument to the\n * callback. The listener is added to the beginning of the listeners array.\n *\n * Note: acknowledgements sent to the server are not included.\n *\n * @example\n * socket.prependAnyOutgoing((event, ...args) => {\n * console.log(`sent event ${event}`);\n * });\n *\n * @param listener\n */\n prependAnyOutgoing(listener) {\n this._anyOutgoingListeners = this._anyOutgoingListeners || [];\n this._anyOutgoingListeners.unshift(listener);\n return this;\n }\n /**\n * Removes the listener that will be fired when any event is emitted.\n *\n * @example\n * const catchAllListener = (event, ...args) => {\n * console.log(`sent event ${event}`);\n * }\n *\n * socket.onAnyOutgoing(catchAllListener);\n *\n * // remove a specific listener\n * socket.offAnyOutgoing(catchAllListener);\n *\n * // or remove all listeners\n * socket.offAnyOutgoing();\n *\n * @param [listener] - the catch-all listener (optional)\n */\n offAnyOutgoing(listener) {\n if (!this._anyOutgoingListeners) {\n return this;\n }\n if (listener) {\n const listeners = this._anyOutgoingListeners;\n for (let i = 0; i < listeners.length; i++) {\n if (listener === listeners[i]) {\n listeners.splice(i, 1);\n return this;\n }\n }\n }\n else {\n this._anyOutgoingListeners = [];\n }\n return this;\n }\n /**\n * Returns an array of listeners that are listening for any event that is specified. This array can be manipulated,\n * e.g. to remove listeners.\n */\n listenersAnyOutgoing() {\n return this._anyOutgoingListeners || [];\n }\n /**\n * Notify the listeners for each packet sent\n *\n * @param packet\n *\n * @private\n */\n notifyOutgoingListeners(packet) {\n if (this._anyOutgoingListeners && this._anyOutgoingListeners.length) {\n const listeners = this._anyOutgoingListeners.slice();\n for (const listener of listeners) {\n listener.apply(this, packet.data);\n }\n }\n }\n}\n","/**\n * Initialize backoff timer with `opts`.\n *\n * - `min` initial timeout in milliseconds [100]\n * - `max` max timeout [10000]\n * - `jitter` [0]\n * - `factor` [2]\n *\n * @param {Object} opts\n * @api public\n */\nexport function Backoff(opts) {\n opts = opts || {};\n this.ms = opts.min || 100;\n this.max = opts.max || 10000;\n this.factor = opts.factor || 2;\n this.jitter = opts.jitter > 0 && opts.jitter <= 1 ? opts.jitter : 0;\n this.attempts = 0;\n}\n/**\n * Return the backoff duration.\n *\n * @return {Number}\n * @api public\n */\nBackoff.prototype.duration = function () {\n var ms = this.ms * Math.pow(this.factor, this.attempts++);\n if (this.jitter) {\n var rand = Math.random();\n var deviation = Math.floor(rand * this.jitter * ms);\n ms = (Math.floor(rand * 10) & 1) == 0 ? ms - deviation : ms + deviation;\n }\n return Math.min(ms, this.max) | 0;\n};\n/**\n * Reset the number of attempts.\n *\n * @api public\n */\nBackoff.prototype.reset = function () {\n this.attempts = 0;\n};\n/**\n * Set the minimum duration\n *\n * @api public\n */\nBackoff.prototype.setMin = function (min) {\n this.ms = min;\n};\n/**\n * Set the maximum duration\n *\n * @api public\n */\nBackoff.prototype.setMax = function (max) {\n this.max = max;\n};\n/**\n * Set the jitter\n *\n * @api public\n */\nBackoff.prototype.setJitter = function (jitter) {\n this.jitter = jitter;\n};\n","import { Socket as Engine, installTimerFunctions, nextTick, } from \"engine.io-client\";\nimport { Socket } from \"./socket.js\";\nimport * as parser from \"socket.io-parser\";\nimport { on } from \"./on.js\";\nimport { Backoff } from \"./contrib/backo2.js\";\nimport { Emitter, } from \"@socket.io/component-emitter\";\nexport class Manager extends Emitter {\n constructor(uri, opts) {\n var _a;\n super();\n this.nsps = {};\n this.subs = [];\n if (uri && \"object\" === typeof uri) {\n opts = uri;\n uri = undefined;\n }\n opts = opts || {};\n opts.path = opts.path || \"/socket.io\";\n this.opts = opts;\n installTimerFunctions(this, opts);\n this.reconnection(opts.reconnection !== false);\n this.reconnectionAttempts(opts.reconnectionAttempts || Infinity);\n this.reconnectionDelay(opts.reconnectionDelay || 1000);\n this.reconnectionDelayMax(opts.reconnectionDelayMax || 5000);\n this.randomizationFactor((_a = opts.randomizationFactor) !== null && _a !== void 0 ? _a : 0.5);\n this.backoff = new Backoff({\n min: this.reconnectionDelay(),\n max: this.reconnectionDelayMax(),\n jitter: this.randomizationFactor(),\n });\n this.timeout(null == opts.timeout ? 20000 : opts.timeout);\n this._readyState = \"closed\";\n this.uri = uri;\n const _parser = opts.parser || parser;\n this.encoder = new _parser.Encoder();\n this.decoder = new _parser.Decoder();\n this._autoConnect = opts.autoConnect !== false;\n if (this._autoConnect)\n this.open();\n }\n reconnection(v) {\n if (!arguments.length)\n return this._reconnection;\n this._reconnection = !!v;\n if (!v) {\n this.skipReconnect = true;\n }\n return this;\n }\n reconnectionAttempts(v) {\n if (v === undefined)\n return this._reconnectionAttempts;\n this._reconnectionAttempts = v;\n return this;\n }\n reconnectionDelay(v) {\n var _a;\n if (v === undefined)\n return this._reconnectionDelay;\n this._reconnectionDelay = v;\n (_a = this.backoff) === null || _a === void 0 ? void 0 : _a.setMin(v);\n return this;\n }\n randomizationFactor(v) {\n var _a;\n if (v === undefined)\n return this._randomizationFactor;\n this._randomizationFactor = v;\n (_a = this.backoff) === null || _a === void 0 ? void 0 : _a.setJitter(v);\n return this;\n }\n reconnectionDelayMax(v) {\n var _a;\n if (v === undefined)\n return this._reconnectionDelayMax;\n this._reconnectionDelayMax = v;\n (_a = this.backoff) === null || _a === void 0 ? void 0 : _a.setMax(v);\n return this;\n }\n timeout(v) {\n if (!arguments.length)\n return this._timeout;\n this._timeout = v;\n return this;\n }\n /**\n * Starts trying to reconnect if reconnection is enabled and we have not\n * started reconnecting yet\n *\n * @private\n */\n maybeReconnectOnOpen() {\n // Only try to reconnect if it's the first time we're connecting\n if (!this._reconnecting &&\n this._reconnection &&\n this.backoff.attempts === 0) {\n // keeps reconnection from firing twice for the same reconnection loop\n this.reconnect();\n }\n }\n /**\n * Sets the current transport `socket`.\n *\n * @param {Function} fn - optional, callback\n * @return self\n * @public\n */\n open(fn) {\n if (~this._readyState.indexOf(\"open\"))\n return this;\n this.engine = new Engine(this.uri, this.opts);\n const socket = this.engine;\n const self = this;\n this._readyState = \"opening\";\n this.skipReconnect = false;\n // emit `open`\n const openSubDestroy = on(socket, \"open\", function () {\n self.onopen();\n fn && fn();\n });\n const onError = (err) => {\n this.cleanup();\n this._readyState = \"closed\";\n this.emitReserved(\"error\", err);\n if (fn) {\n fn(err);\n }\n else {\n // Only do this if there is no fn to handle the error\n this.maybeReconnectOnOpen();\n }\n };\n // emit `error`\n const errorSub = on(socket, \"error\", onError);\n if (false !== this._timeout) {\n const timeout = this._timeout;\n // set timer\n const timer = this.setTimeoutFn(() => {\n openSubDestroy();\n onError(new Error(\"timeout\"));\n socket.close();\n }, timeout);\n if (this.opts.autoUnref) {\n timer.unref();\n }\n this.subs.push(() => {\n this.clearTimeoutFn(timer);\n });\n }\n this.subs.push(openSubDestroy);\n this.subs.push(errorSub);\n return this;\n }\n /**\n * Alias for open()\n *\n * @return self\n * @public\n */\n connect(fn) {\n return this.open(fn);\n }\n /**\n * Called upon transport open.\n *\n * @private\n */\n onopen() {\n // clear old subs\n this.cleanup();\n // mark as open\n this._readyState = \"open\";\n this.emitReserved(\"open\");\n // add new subs\n const socket = this.engine;\n this.subs.push(on(socket, \"ping\", this.onping.bind(this)), on(socket, \"data\", this.ondata.bind(this)), on(socket, \"error\", this.onerror.bind(this)), on(socket, \"close\", this.onclose.bind(this)), \n // @ts-ignore\n on(this.decoder, \"decoded\", this.ondecoded.bind(this)));\n }\n /**\n * Called upon a ping.\n *\n * @private\n */\n onping() {\n this.emitReserved(\"ping\");\n }\n /**\n * Called with data.\n *\n * @private\n */\n ondata(data) {\n try {\n this.decoder.add(data);\n }\n catch (e) {\n this.onclose(\"parse error\", e);\n }\n }\n /**\n * Called when parser fully decodes a packet.\n *\n * @private\n */\n ondecoded(packet) {\n // the nextTick call prevents an exception in a user-provided event listener from triggering a disconnection due to a \"parse error\"\n nextTick(() => {\n this.emitReserved(\"packet\", packet);\n }, this.setTimeoutFn);\n }\n /**\n * Called upon socket error.\n *\n * @private\n */\n onerror(err) {\n this.emitReserved(\"error\", err);\n }\n /**\n * Creates a new socket for the given `nsp`.\n *\n * @return {Socket}\n * @public\n */\n socket(nsp, opts) {\n let socket = this.nsps[nsp];\n if (!socket) {\n socket = new Socket(this, nsp, opts);\n this.nsps[nsp] = socket;\n }\n else if (this._autoConnect && !socket.active) {\n socket.connect();\n }\n return socket;\n }\n /**\n * Called upon a socket close.\n *\n * @param socket\n * @private\n */\n _destroy(socket) {\n const nsps = Object.keys(this.nsps);\n for (const nsp of nsps) {\n const socket = this.nsps[nsp];\n if (socket.active) {\n return;\n }\n }\n this._close();\n }\n /**\n * Writes a packet.\n *\n * @param packet\n * @private\n */\n _packet(packet) {\n const encodedPackets = this.encoder.encode(packet);\n for (let i = 0; i < encodedPackets.length; i++) {\n this.engine.write(encodedPackets[i], packet.options);\n }\n }\n /**\n * Clean up transport subscriptions and packet buffer.\n *\n * @private\n */\n cleanup() {\n this.subs.forEach((subDestroy) => subDestroy());\n this.subs.length = 0;\n this.decoder.destroy();\n }\n /**\n * Close the current socket.\n *\n * @private\n */\n _close() {\n this.skipReconnect = true;\n this._reconnecting = false;\n this.onclose(\"forced close\");\n }\n /**\n * Alias for close()\n *\n * @private\n */\n disconnect() {\n return this._close();\n }\n /**\n * Called when:\n *\n * - the low-level engine is closed\n * - the parser encountered a badly formatted packet\n * - all sockets are disconnected\n *\n * @private\n */\n onclose(reason, description) {\n var _a;\n this.cleanup();\n (_a = this.engine) === null || _a === void 0 ? void 0 : _a.close();\n this.backoff.reset();\n this._readyState = \"closed\";\n this.emitReserved(\"close\", reason, description);\n if (this._reconnection && !this.skipReconnect) {\n this.reconnect();\n }\n }\n /**\n * Attempt a reconnection.\n *\n * @private\n */\n reconnect() {\n if (this._reconnecting || this.skipReconnect)\n return this;\n const self = this;\n if (this.backoff.attempts >= this._reconnectionAttempts) {\n this.backoff.reset();\n this.emitReserved(\"reconnect_failed\");\n this._reconnecting = false;\n }\n else {\n const delay = this.backoff.duration();\n this._reconnecting = true;\n const timer = this.setTimeoutFn(() => {\n if (self.skipReconnect)\n return;\n this.emitReserved(\"reconnect_attempt\", self.backoff.attempts);\n // check again for the case socket closed in above events\n if (self.skipReconnect)\n return;\n self.open((err) => {\n if (err) {\n self._reconnecting = false;\n self.reconnect();\n this.emitReserved(\"reconnect_error\", err);\n }\n else {\n self.onreconnect();\n }\n });\n }, delay);\n if (this.opts.autoUnref) {\n timer.unref();\n }\n this.subs.push(() => {\n this.clearTimeoutFn(timer);\n });\n }\n }\n /**\n * Called upon successful reconnect.\n *\n * @private\n */\n onreconnect() {\n const attempt = this.backoff.attempts;\n this._reconnecting = false;\n this.backoff.reset();\n this.emitReserved(\"reconnect\", attempt);\n }\n}\n","import { url } from \"./url.js\";\nimport { Manager } from \"./manager.js\";\nimport { Socket } from \"./socket.js\";\n/**\n * Managers cache.\n */\nconst cache = {};\nfunction lookup(uri, opts) {\n if (typeof uri === \"object\") {\n opts = uri;\n uri = undefined;\n }\n opts = opts || {};\n const parsed = url(uri, opts.path || \"/socket.io\");\n const source = parsed.source;\n const id = parsed.id;\n const path = parsed.path;\n const sameNamespace = cache[id] && path in cache[id][\"nsps\"];\n const newConnection = opts.forceNew ||\n opts[\"force new connection\"] ||\n false === opts.multiplex ||\n sameNamespace;\n let io;\n if (newConnection) {\n io = new Manager(source, opts);\n }\n else {\n if (!cache[id]) {\n cache[id] = new Manager(source, opts);\n }\n io = cache[id];\n }\n if (parsed.query && !opts.query) {\n opts.query = parsed.queryKey;\n }\n return io.socket(parsed.path, opts);\n}\n// so that \"lookup\" can be used both as a function (e.g. `io(...)`) and as a\n// namespace (e.g. `io.connect(...)`), for backward compatibility\nObject.assign(lookup, {\n Manager,\n Socket,\n io: lookup,\n connect: lookup,\n});\n/**\n * Protocol version.\n *\n * @public\n */\nexport { protocol } from \"socket.io-parser\";\n/**\n * Expose constructors for standalone build.\n *\n * @public\n */\nexport { Manager, Socket, lookup as io, lookup as connect, lookup as default, };\nexport { Fetch, NodeXHR, XHR, NodeWebSocket, WebSocket, WebTransport, } from \"engine.io-client\";\n","import { parse } from \"engine.io-client\";\n/**\n * URL parser.\n *\n * @param uri - url\n * @param path - the request path of the connection\n * @param loc - An object meant to mimic window.location.\n * Defaults to window.location.\n * @public\n */\nexport function url(uri, path = \"\", loc) {\n let obj = uri;\n // default to window.location\n loc = loc || (typeof location !== \"undefined\" && location);\n if (null == uri)\n uri = loc.protocol + \"//\" + loc.host;\n // relative path support\n if (typeof uri === \"string\") {\n if (\"/\" === uri.charAt(0)) {\n if (\"/\" === uri.charAt(1)) {\n uri = loc.protocol + uri;\n }\n else {\n uri = loc.host + uri;\n }\n }\n if (!/^(https?|wss?):\\/\\//.test(uri)) {\n if (\"undefined\" !== typeof loc) {\n uri = loc.protocol + \"//\" + uri;\n }\n else {\n uri = \"https://\" + uri;\n }\n }\n // parse\n obj = parse(uri);\n }\n // make sure we treat `localhost:80` and `localhost` equally\n if (!obj.port) {\n if (/^(http|ws)$/.test(obj.protocol)) {\n obj.port = \"80\";\n }\n else if (/^(http|ws)s$/.test(obj.protocol)) {\n obj.port = \"443\";\n }\n }\n obj.path = obj.path || \"/\";\n const ipv6 = obj.host.indexOf(\":\") !== -1;\n const host = ipv6 ? \"[\" + obj.host + \"]\" : obj.host;\n // define unique id\n obj.id = obj.protocol + \"://\" + host + \":\" + obj.port + path;\n // define href\n obj.href =\n obj.protocol +\n \"://\" +\n host +\n (loc && loc.port === obj.port ? \"\" : \":\" + obj.port);\n return obj;\n}\n","export function isNumeric(n) {\r\n return !isNaN(parseFloat(n)) && isFinite(n);\r\n}\r\n","import io from 'socket.io-client';\r\n\r\nimport { isNumeric } from 'utils/number-utils';\r\n\r\nexport const rooms = {\r\n user(userId) {\r\n return `users/${userId}`;\r\n },\r\n globalExports(userId) {\r\n return `users/${userId}/exports`;\r\n },\r\n exports(projectId, userId) {\r\n return `projects/${projectId}/users/${userId}/exports`;\r\n },\r\n project(projectId) {\r\n return `projects/${projectId}`;\r\n },\r\n folder(projectId, folderId) {\r\n return `projects/${projectId}/folders/${folderId}`;\r\n },\r\n document(projectId, documentId) {\r\n return `projects/${projectId}/documents/${documentId}`;\r\n },\r\n templates(projectId) {\r\n return `projects/${projectId}/templates`;\r\n },\r\n templateExtractionFields(projectId, templateId) {\r\n return `projects/${projectId}/templates/${templateId}/extractionfields`;\r\n },\r\n extractionField(extractionFieldId) {\r\n return `extractionFields/${extractionFieldId}`;\r\n },\r\n extractionFields() {\r\n return `extractionFields`;\r\n },\r\n extractionFieldGroups() {\r\n return `extractionFieldGroups`;\r\n },\r\n extractionFieldImports(userId) {\r\n return `extractionFields/${userId}/import`;\r\n },\r\n comparisons(projectId) {\r\n return `projects/${projectId}/documentcomparisons`;\r\n },\r\n comparison(projectId, comparisonId) {\r\n return `projects/${projectId}/documentcomparisons/${comparisonId}`;\r\n },\r\n extractionFieldComparisons(projectId) {\r\n return `projects/${projectId}/extractionfieldcomparisons`;\r\n },\r\n extractionFieldComparison(projectId, comparisonId) {\r\n return `projects/${projectId}/extractionfieldcomparisons/${comparisonId}`;\r\n },\r\n visuals(projectId) {\r\n return `projects/${projectId}/visuals`;\r\n },\r\n translationStatus(userId) {\r\n return `users/${userId}/contentTranslations`;\r\n }\r\n};\r\n\r\nexport class Socket {\r\n // User access token from Azure AD\r\n accessToken = null;\r\n\r\n // If set, initiate a connection once an access token is set\r\n autoConnect = false;\r\n\r\n // Socket connection is establised\r\n isConnected = false;\r\n\r\n // Queue of callbacks to run once authenticated and connected\r\n readyStateCallbacks = [];\r\n\r\n // Socket object\r\n socket = null;\r\n\r\n // URL to connect to\r\n url = null;\r\n\r\n // Container code\r\n containerCode = null;\r\n\r\n // Member firm code\r\n memberFirmCode = null;\r\n\r\n // Rooms this socket has joined\r\n rooms = new Map();\r\n\r\n constructor(config) {\r\n Object.assign(this, config);\r\n\r\n if (this.autoConnect) {\r\n this.tryReconnect();\r\n }\r\n }\r\n\r\n // Inititate the socket connection\r\n tryConnect() {\r\n // Not ready to connect\r\n if (!this.url || !this.accessToken) {\r\n return false;\r\n }\r\n\r\n this.socket = io.connect(this.url, {\r\n //withCredentials: true,\r\n transports: ['websocket'],\r\n transportOptions: {\r\n polling: {\r\n extraHeaders: {\r\n Authorization: `Bearer ${this.accessToken}`\r\n }\r\n }\r\n }\r\n });\r\n this.socket.on('connect', () => {\r\n this.isConnected = true;\r\n this.tryRunCallbacks();\r\n });\r\n\r\n this.socket.on('connect_error', err => {\r\n // the reason of the error, for example \"xhr poll error\"\r\n console.log(err.message);\r\n\r\n // some additional description, for example the status code of the initial HTTP response\r\n console.log(err.description);\r\n\r\n // some additional context, for example the XMLHttpRequest object\r\n console.log(err.context);\r\n });\r\n\r\n return true;\r\n }\r\n\r\n tryReconnect() {\r\n // If already connected disconnect first\r\n if (this.isConnected) {\r\n this.disconnect();\r\n }\r\n\r\n this.tryConnect();\r\n }\r\n\r\n disconnect() {\r\n if (!this.socket) {\r\n return;\r\n }\r\n\r\n this.socket.close();\r\n this.rooms = new Map();\r\n }\r\n\r\n setRegion(url, containerCode, memberFirmCode) {\r\n this.containerCode = containerCode;\r\n this.memberFirmCode = memberFirmCode;\r\n\r\n if (this.url === url + '/argus') {\r\n return;\r\n }\r\n\r\n this.url = url + '/argus';\r\n\r\n if (this.autoConnect) {\r\n this.tryReconnect();\r\n }\r\n }\r\n\r\n setAccessToken(accessToken) {\r\n if (this.accessToken === accessToken) {\r\n return;\r\n }\r\n\r\n this.accessToken = accessToken;\r\n\r\n if (this.autoConnect) {\r\n this.tryReconnect();\r\n }\r\n }\r\n\r\n on(event, callback) {\r\n this.whenReady(() => this.socket.on(event, callback));\r\n }\r\n\r\n off(event, callback) {\r\n this.whenReady(() => this.socket.off(event, callback));\r\n }\r\n\r\n join(room) {\r\n this.whenReady(() => {\r\n const refs = this.rooms.get(room);\r\n\r\n // If the room has already been joined, just increment the reference counter\r\n if (isNumeric(refs)) {\r\n this.rooms.set(room, refs + 1);\r\n return;\r\n }\r\n\r\n // If the room has not been joined, set refs to 1 and join\r\n this.rooms.set(room, 1);\r\n this.socket.emit('join', {\r\n accessToken: this.accessToken,\r\n //room: `${this.containerCode}/${this.memberFirmCode}/${room}` // TODO: uncomment for globalization\r\n room\r\n });\r\n });\r\n }\r\n\r\n leave(room) {\r\n this.whenReady(() => {\r\n let refs = this.rooms.get(room);\r\n\r\n // Don't leave a room before joining it\r\n if (!isNumeric(refs)) {\r\n return;\r\n }\r\n\r\n // Decrement the reference counter\r\n if (refs > 0) {\r\n refs = refs - 1;\r\n this.rooms.set(room, refs);\r\n }\r\n\r\n // If there's no more references, leave the room\r\n if (refs === 0) {\r\n this.rooms.delete(room);\r\n this.socket.emit('leave', {\r\n accessToken: this.accessToken,\r\n //room: `${this.containerCode}/${this.memberFirmCode}/${room}` // TODO: uncomment for globalization\r\n room\r\n });\r\n }\r\n });\r\n }\r\n\r\n /*\r\n If not yet connected and authenticated, queue the callback until ready\r\n Otherwise invoke the callback immediately\r\n */\r\n whenReady(callback) {\r\n if (this.isConnected && this.accessToken) {\r\n callback();\r\n } else {\r\n this.readyStateCallbacks.push(callback);\r\n }\r\n }\r\n\r\n /*\r\n After connecting and authenticating, run all pending callbacks\r\n */\r\n tryRunCallbacks() {\r\n if (this.isConnected && this.accessToken) {\r\n while (this.readyStateCallbacks.length) {\r\n this.readyStateCallbacks.shift()();\r\n }\r\n }\r\n }\r\n}\r\n\r\nconst socket = new Socket({\r\n autoConnect: true\r\n});\r\n\r\nexport default socket;\r\n","export function createAction(type) {\r\n return function(payload) {\r\n return {\r\n type: type,\r\n payload: payload\r\n };\r\n };\r\n}\r\n\r\nexport function createReducer(initialState, handlers) {\r\n return function reducer(state = initialState, action) {\r\n if (handlers.hasOwnProperty(action.type)) {\r\n return handlers[action.type](state, action);\r\n } else {\r\n return state;\r\n }\r\n };\r\n}\r\n","import { createAction, createReducer } from 'utils/redux-utils';\r\n\r\nexport const ACTIONS = {\r\n SET_COMPARE_TYPE: 'argus/ui/SET_COMPARE_TYPE'\r\n};\r\n\r\nexport const setCompareType = createAction(ACTIONS.SET_COMPARE_TYPE);\r\n\r\n/*\r\n * Reducer\r\n */\r\nexport const INITIAL_STATE = sessionStorage.getItem('compareType')\r\n ? JSON.parse(sessionStorage.getItem('compareType'))\r\n : 'document';\r\n\r\nexport default createReducer(INITIAL_STATE, {\r\n [ACTIONS.SET_COMPARE_TYPE]: (state, action) => {\r\n return action.payload;\r\n }\r\n});\r\n\r\nexport function persistSelectedCompareType({ ui: { compareType } }) {\r\n sessionStorage.setItem('compareType', JSON.stringify(compareType));\r\n}\r\n","/** Redux actions in the applications to intercept and track */\r\nconst TRACKING_ACTIONS = {\r\n '@@router/LOCATION_CHANGE': {\r\n type: '@@router/LOCATION_CHANGE',\r\n dcr: 'page_load'\r\n },\r\n 'argus/ui/CREATE_CURRENT_PROJECT_LOADED': {\r\n type: 'argus/ui/CREATE_CURRENT_PROJECT_LOADED',\r\n dcr: 'create_project'\r\n },\r\n 'argus/ui/ITEMS_UPDATED': {\r\n type: 'argus/ui/ITEMS_UPDATED',\r\n dcr: 'document_processed'\r\n }\r\n};\r\nexport default TRACKING_ACTIONS;\r\n","import TRACKING_ACTIONS from './actions';\r\n\r\n// Main satellite function that updates the digital data layer and calls the DCRs\r\nconst satelliteTrack = eventType => {\r\n // ensure the variable is set\r\n if (window._satellite) {\r\n window._satellite.track(TRACKING_ACTIONS[eventType].dcr);\r\n }\r\n};\r\n\r\nconst track = (...args) => {\r\n satelliteTrack(...args);\r\n};\r\n\r\nexport default track;\r\n","const constants = {\r\n //Access states for extraction fields\r\n ExtractionAccessTypeIds: {\r\n public: 1,\r\n private: 2,\r\n shared: 3\r\n },\r\n\r\n //Extraction field group Names\r\n ExtractionFieldGroupNames: {\r\n GENERAL_TERMS: 'General Terms',\r\n LEASES: 'Leases',\r\n INTEREST_RATE_DERIVATIVES: 'Interest Rate Derivatives',\r\n PREFERRED_STOCK_AGREEMENTS: 'Preferred Stock Agreements',\r\n REINSURANCE_AGREEMENTS: 'Reinsurance Agreements',\r\n DEBT_AGREEMENTS: 'Debt Agreements',\r\n PRIVATE_EXTRACTION_FIELDS: 'Private Extraction Fields'\r\n },\r\n\r\n // Document Tag Types\r\n DocumentTagTypes: {\r\n USER_CREATED: 2,\r\n OCR_QUALITY: 3,\r\n LANGUAGE: 4,\r\n DOCUMENT_TYPE: 5\r\n },\r\n\r\n // Local Storage Keys\r\n LocalStorageKeys: {\r\n FILE_LIST_PAGE_SIZE: 'file-list-page-size'\r\n },\r\n\r\n // Project state mappings\r\n ProjectStateIds: {\r\n inCreation: 1,\r\n started: 2,\r\n legalHold: 3,\r\n softDelete: 4,\r\n pendingArchive: 6,\r\n archived: 7,\r\n copying: 8\r\n },\r\n\r\n // Translation state mappings\r\n TranslationStatus: {\r\n preUpload: 1,\r\n uploaded: 2,\r\n queued: 3,\r\n inProgress: 4,\r\n completed: 5,\r\n uploadError: 6,\r\n processingFailed: 7,\r\n canceled: 8\r\n },\r\n\r\n TRANSLATION_TABS: {\r\n 0: 'translate-document',\r\n 1: 'translate-text',\r\n 2: 'translation-queue'\r\n },\r\n\r\n ProjectSourceTypes: {\r\n UserEntered: 'UserEntered',\r\n MAT: 'MAT',\r\n MATCloud: 'MATCloud'\r\n },\r\n\r\n // Search types used in search bar\r\n SearchTypes: {\r\n FILE_LIST_SEARCH: 'FILE_LIST_SEARCH',\r\n COMPARE_VIEWER_SEARCH: 'COMPARE_VIEWER_SEARCH',\r\n DOCUMENT_VIEWER_SEARCH: 'DOCUMENT_VIEWER_SEARCH',\r\n PROJECT_LIST_SEARCH: 'PROJECT_LIST_SEARCH',\r\n GROUPS_SEARCH: 'GROUPS_SEARCH',\r\n USERS_SEARCH: 'USERS_SEARCH',\r\n ANALYTICS_SEARCH: 'ANALYTICS_SEARCH'\r\n },\r\n\r\n // Types of errors in document viewer\r\n Document_Error_States: {\r\n REMOVED: 0,\r\n UNPROCESSED: 1,\r\n METADATA404: 2,\r\n LAYOUT404: 3,\r\n DOCUMENTDELETED: 4\r\n },\r\n\r\n // Permission levels\r\n UserRoles: {\r\n ADMIN_GENERAL: 1,\r\n ADMIN_SYSTEM: 2,\r\n ADMIN_ACCESS: 3,\r\n PROJECT_VISITOR: 4,\r\n PROJECT_CONTRIBUTOR: 5,\r\n PROJECT_OWNER: 6,\r\n // PROJECT_PPMD: 7, //PPMD role was removed in favour of PPM flag on user\r\n PROJECT_CREATOR: 8,\r\n EXTRACTION_FIELD_OWNER: 9,\r\n EXTRACTION_FIELD_CONTRIBUTOR: 10\r\n },\r\n\r\n // Adobe Analytics DCRs\r\n EventTypes: {\r\n PAGE_CHANGE: 'page_load',\r\n CREATE_PROJECT: 'create_project',\r\n ITEM_PROCESSED: 'document_processed'\r\n },\r\n\r\n // Page Names used to map for analytics\r\n Pages: {\r\n HOMEPAGE: 'Argus Homepage',\r\n DOCUMENT_LIST: 'Document List',\r\n DOCUMENT_VIEWER: 'Document Viewer',\r\n COMPARISON_LIST: 'Comparison list',\r\n COMPARISON_VIEWER: 'Comparison Viewer',\r\n EDIT_EXTRACTIONS: 'Edit Extractions',\r\n PROJECT_SETTINGS: 'Project Settings',\r\n PROJECT_CREATION: 'Project Creation',\r\n PROJECT_COPY: 'Project Copy',\r\n VISUALS: 'Visuals',\r\n ANALYTICS: 'Analytics',\r\n USER_ACTIVATION: 'User Activation',\r\n USER_MANAGEMENT: 'User Management',\r\n ADMIN: 'Admin',\r\n REPORTS: 'Reports',\r\n TRANSLATION: 'Argus Translate Document',\r\n TRANSLATE_TEXT: 'Argus Translate Text',\r\n TRANSLATION_QUEUE: 'Argus Translation queue',\r\n PROJECT_LIST: 'Argus Extraction',\r\n EXTRACTION_OVERVIEW: 'Extraction Overview',\r\n REVIEW_STATUS: 'Review Status',\r\n TAGS: 'Tags'\r\n },\r\n\r\n TemplateSteps: {\r\n SELECT_TEMPLATE_TYPE: 0,\r\n SELECT_DOC_TYPE: 1,\r\n CREATE_TEMPLATE: 2,\r\n ADD_EF: 3,\r\n TEMPLATE_LIST: 4,\r\n CUSTOMIZE_TEMPLATE: 5,\r\n ADD_EF_CUSTOM_TEMPLATE: 6\r\n },\r\n\r\n TemplateCategories: {\r\n NON_DETAIL_TESTING: 0,\r\n NON_EDITABLE_DETAIL_TESTING: 1,\r\n DETAIL_TESTING: 2,\r\n NON_EDITABLE_GENAI_DETAIL_TESTING: 3,\r\n NON_EDITABLE_GENAI_NONDETAIL_TESTING: 4,\r\n Custom_GENAI_NONDETAIL_TESTING: 5\r\n },\r\n\r\n ExternalSystemIds: {\r\n KIRA: 0,\r\n ABBY: 1,\r\n GenAI: 2\r\n },\r\n\r\n SessionTimeout: {\r\n IDLE_WAIT_TIME_MS: 1500000,\r\n IDLE_CHECK_INTERVAL_MS: 5000,\r\n WARNING_TIME_MS: 300000,\r\n WARNING_COUNTDOWN_INTERVAL_MS: 100\r\n },\r\n\r\n DateFormats: {\r\n MMDDYYYY: 'MM/dd/yyyy',\r\n DDMMYYYY: 'dd/MM/yyyy',\r\n YYYYMMDD: 'yyyy/MM/dd'\r\n },\r\n\r\n CustomExtractionFieldGroups: {\r\n GENAI_CUSTOM_GROUP_SYSTEMNAME: 'GenAI05_Custom'\r\n },\r\n\r\n TextSelectionBreakCharacters: [32],\r\n\r\n Features: {\r\n Extraction: 0,\r\n Translation: 1\r\n },\r\n\r\n ProjectTypes: {\r\n EXTRACTION_PROJECT: 1,\r\n WORKSPACE_PROJECT: 2\r\n },\r\n\r\n RestrictDateFormatForSpecificContainer: ['JP', 'IL'],\r\n\r\n MyWorkspace: 'My Workspace'\r\n};\r\n\r\nexport default constants;\r\n","import constants from 'utils/constants';\r\nimport { ITEM_STATUSES } from 'models/project-item';\r\nimport dateUtil from 'utils/dateUtil';\r\nimport track from './track';\r\nimport updateDataLayer from './data-layer';\r\n\r\n/** Utils to scrap and clean up data to send to analytics */\r\nconst PAGE = constants.Pages;\r\n\r\n/** Object table listing the different pages on Argus to be displayed on Analytics Page */\r\nconst LOCATION_METADATA = {\r\n extractionfield: {\r\n pathTemplate: '/region/:regionId/project/:projectId/extractionfield',\r\n pageName: PAGE.EDIT_EXTRACTIONS\r\n },\r\n\r\n creation: {\r\n pathTemplate: '/region/:regionId/project/:projectId?/creation',\r\n pageName: PAGE.PROJECT_CREATION\r\n },\r\n\r\n settings: {\r\n pathTemplate: 'region/:regionId/project/:projectId/settings',\r\n pageName: PAGE.PROJECT_SETTINGS\r\n },\r\n\r\n copy: {\r\n pathTemplate: '/region/:regionId/project/:projectId/copy',\r\n pageName: PAGE.PROJECT_COPY\r\n },\r\n\r\n folder: {\r\n pathTemplate: '/region/:regionId/project/:projectId/folder/:folderId',\r\n pageName: PAGE.DOCUMENT_LIST\r\n },\r\n\r\n document: {\r\n pathTemplate: '/region/:regionId/project/:projectId/document/:documentId',\r\n pageName: PAGE.DOCUMENT_VIEWER\r\n },\r\n\r\n visuals: {\r\n pathTemplate: '/region/:regionId/project/:projectId/visuals',\r\n pageName: PAGE.VISUALS\r\n },\r\n\r\n analytics: {\r\n pathTemplate: '/region/:regionId/project/:projectId/analytics',\r\n pageName: PAGE.ANALYTICS\r\n },\r\n\r\n 'user-management': {\r\n pathTemplate: '/region/:regionId/user-management',\r\n pageName: PAGE.USER_MANAGEMENT\r\n },\r\n\r\n 'activation-settings': {\r\n pathTemplate: '/region/:regionId/activation-settings',\r\n pageName: PAGE.USER_ACTIVATION\r\n },\r\n\r\n reports: {\r\n pathTemplate: '/region/:regionId/reports',\r\n pageName: PAGE.REPORTS\r\n },\r\n\r\n compare: {\r\n pathTemplate: '/region/:regionId/project/:projectId/compare/:compareId/:documentId?',\r\n pageName: PAGE.COMPARISON_VIEWER\r\n },\r\n\r\n groups: {\r\n pathTemplate: '/region/:regionId/groups',\r\n pageName: PAGE.ADMIN\r\n },\r\n\r\n translation: {\r\n pathTemplate: '/translation',\r\n pageName: PAGE.TRANSLATION\r\n },\r\n\r\n 'translation#translate-document': {\r\n pathTemplate: 'translation#translate-document',\r\n pageName: PAGE.TRANSLATION\r\n },\r\n\r\n 'translation#translate-text': {\r\n pathTemplate: '/translation#translate-text',\r\n pageName: PAGE.TRANSLATE_TEXT\r\n },\r\n\r\n 'translation#translation-queue': {\r\n pathTemplate: '/translation#translation-queue',\r\n pageName: PAGE.TRANSLATION_QUEUE\r\n },\r\n\r\n 'project-list': {\r\n pathTemplate: '/project-list',\r\n pageName: PAGE.PROJECT_LIST\r\n },\r\n\r\n 'extraction-overview': {\r\n pathTemplate: '/region/:regionId/project/:projectId/extraction-overview',\r\n pageName: PAGE.EXTRACTION_OVERVIEW\r\n },\r\n\r\n 'review-status': {\r\n pathTemplate: '/region/:regionId/project/:projectId/review-status',\r\n pageName: PAGE.REVIEW_STATUS\r\n },\r\n\r\n tags: {\r\n pathTemplate: '/region/:regionId/project/:projectId/tags',\r\n pageName: PAGE.TAGS\r\n }\r\n};\r\n\r\n/** Convert the pathname to the corresponding page name */\r\nconst checkInput = (path, hash = '') => {\r\n let match = null;\r\n const input = path + hash;\r\n Object.keys(LOCATION_METADATA).forEach(keyword => {\r\n if (input.includes(keyword)) {\r\n match = LOCATION_METADATA[keyword];\r\n }\r\n });\r\n\r\n if (!match && input === '/') {\r\n match = { pageName: PAGE.HOMEPAGE };\r\n }\r\n\r\n return match ? match : { pageName: 'Argus' };\r\n};\r\n\r\n/** Clean up email helper, removed '@deloitte.com' */\r\nexport const cleanEmail = email => {\r\n if (typeof email === 'string') {\r\n return { email: email.slice(0, -13) };\r\n }\r\n return { email: '' };\r\n};\r\n\r\n/** Get project id from the url path */\r\nexport const getProjectId = pathname => {\r\n let id = null;\r\n if (pathname.includes('/project')) {\r\n id = pathname.substring(pathname.indexOf('/project')).split('/')[2];\r\n }\r\n return id ? { projectId: parseInt(id, 10) } : null;\r\n};\r\n\r\n/** Get location page name helper function to be merged into data layer */\r\nexport const getLocation = (path, obj) => {\r\n const copy = obj;\r\n return Object.assign(copy, checkInput(path, obj.hash));\r\n};\r\n\r\n/** Get project helper function to be merged into data layer */\r\nexport const getProject = obj => {\r\n return { projectId: obj.projectId, projectName: obj.projectName, clientId: obj.engagementId };\r\n};\r\n\r\n/** Get document helper function to be merged into data layer */\r\nexport const getDocument = doc => {\r\n return {\r\n documentId: doc.projectItemId,\r\n documentStatus: doc.time ? getDocumentStatusGroup(doc.time) : doc.status\r\n };\r\n};\r\n\r\n/** Get document status timing group, depending on the elapsed time from the moment it was uploaded */\r\nconst getDocumentStatusGroup = time => {\r\n if (time <= 60) {\r\n return 'processed <= 1Min';\r\n } else if (time <= 600) {\r\n return 'processed <= 10Min';\r\n } else {\r\n return 'processed >= 15Min';\r\n }\r\n};\r\n\r\n/** Status Id to status group name converter helper function */\r\nconst getDocumentStatus = statusId => {\r\n if (statusId === ITEM_STATUSES.UPLOADED) {\r\n return 'uploaded';\r\n }\r\n if (statusId === ITEM_STATUSES.PREUPLOAD || statusId === ITEM_STATUSES.CONTENTPROCESSINGCOMPLETE) {\r\n return 'pre-processing';\r\n }\r\n\r\n if (statusId === ITEM_STATUSES.PROCESSING) {\r\n return 'processing';\r\n }\r\n\r\n if (statusId === ITEM_STATUSES.PROCESSED) {\r\n return 'processed';\r\n }\r\n\r\n if (statusId === ITEM_STATUSES.PENDINGDELETION || statusId === ITEM_STATUSES.DELETED) {\r\n return 'deleted';\r\n }\r\n\r\n if (statusId === ITEM_STATUSES.PARTIALLYEXTRACTED || statusId === ITEM_STATUSES.ALLEXTRACTIONERROR) {\r\n return 'extraction error';\r\n }\r\n\r\n if (statusId === ITEM_STATUSES.REPROCESSINGREQUIRED) {\r\n return 'reprocessing required';\r\n }\r\n\r\n if (statusId === ITEM_STATUSES.READYFORVERIFICATION) {\r\n return 'ready for verification';\r\n }\r\n \r\n return 'general error';\r\n};\r\n\r\n/** Status tracking class that basically tracks and calculates elapsed time from uploaded state to processed state */\r\nexport class StatusTracker {\r\n constructor() {\r\n this.reduxState = {};\r\n this.documents = [];\r\n this.actionType = 'argus/ui/ITEMS_UPDATED';\r\n\r\n // Time tiers are set to 1Min, 10Min, 15Min in seconds\r\n this.timeTiers = {\r\n first: 60,\r\n second: 600,\r\n third: 900\r\n };\r\n }\r\n\r\n /** Private function to get the file's dto */\r\n _getFileItem(data) {\r\n return this.documents.find(doc => doc.projectItemId === data.projectItemId);\r\n }\r\n\r\n /** Private function to send DCR to Adobe Analytics */\r\n _trackStatus(data) {\r\n updateDataLayer(this.actionType, data, this.reduxState);\r\n track(this.actionType);\r\n }\r\n\r\n /** Redux state is populated, as well as the documents inside the current folder */\r\n initialize(data, state) {\r\n this.reduxState = state;\r\n this.documents = data.children;\r\n }\r\n\r\n /** It receives an action in order determine the elapsed time and track it */\r\n checkStatus(action) {\r\n const id = action.payload[0].projectItemId;\r\n const status = getDocumentStatus(action.payload[0].itemStateId);\r\n\r\n if (status === 'processed') {\r\n return this.trackProcessed(action);\r\n }\r\n\r\n if (status === 'processing' || status === 'pre-processing') {\r\n return this.checkElapsedTime();\r\n }\r\n\r\n return this._trackStatus({ projectItemId: id, status });\r\n }\r\n\r\n /** When a file is processed, the elapsed time is calculated and sent to AA with the corresponding time group */\r\n trackProcessed(action) {\r\n const startTime =\r\n action.payload[0] && action.payload[0].lastUpdatedDate\r\n ? this._getFileItem(action.payload[0]).lastUpdatedDate\r\n : null;\r\n return this._trackStatus({\r\n projectItemId: action.payload[0].projectItemId,\r\n status: 'processed',\r\n time: dateUtil.getElapsedTime(startTime)\r\n });\r\n }\r\n\r\n /** This checks the elapsed time of the documents and determines if files are still in processing state after the third time tier */\r\n checkElapsedTime() {\r\n if (!this.documents || !this.documents.length) {\r\n return;\r\n }\r\n\r\n this.documents.forEach(file => {\r\n const status = getDocumentStatus(file.itemStateId);\r\n const elapsed = dateUtil.getElapsedTime(file.lastUpdatedDate);\r\n\r\n // If the third tier time has passed and files are still in processing state, we track it as unfinished\r\n if (elapsed >= this.timeTiers.third && (status === 'processing' || status === 'pre-processing')) {\r\n return this._trackStatus({ projectItemId: file.projectItemId, status: 'processing unfinished > 15Min' });\r\n }\r\n });\r\n }\r\n}\r\n\r\nexport const statusTrack = new StatusTracker();\r\n","import { getProject, getDocument, getLocation, cleanEmail } from './utils';\r\n\r\n/** Digtial data layer to update and send to analytics */\r\nwindow.digitalData = window.digitalData || {};\r\n\r\nconst getDataLayer = ({ pageName, pathname, email }) => {\r\n return {\r\n meta: {\r\n projectId: 'default',\r\n clientId: 'default',\r\n documentId: 'default',\r\n documentStatus: 'default'\r\n },\r\n page: {\r\n pageInfo: { pageName: pageName },\r\n category: { primaryCategory: pathname }\r\n },\r\n user: [\r\n {\r\n profile: [\r\n {\r\n profileInfo: { userName: email }\r\n }\r\n ]\r\n }\r\n ]\r\n };\r\n};\r\n\r\nclass DataLayer {\r\n constructor() {\r\n this._data = getDataLayer({});\r\n }\r\n\r\n // Assign a fresh data layer to this data with specified merge props\r\n set(mergeProps) {\r\n this._data = getDataLayer(mergeProps);\r\n }\r\n\r\n // Clear existing digital data\r\n clear() {\r\n window.digitalData = getDataLayer({});\r\n }\r\n\r\n // Merge in props to existing data layer\r\n merge(...props) {\r\n Object.assign(this._data, ...props);\r\n }\r\n\r\n // Update the global digital data to this data\r\n update() {\r\n window.digitalData = this._data;\r\n }\r\n}\r\n\r\nconst dl = new DataLayer();\r\n// Update digital data based on the event action and paylaod\r\nconst updateDataLayer = (eventType, eventPayload, reduxState) => {\r\n const user = reduxState.data.currentUser.email;\r\n const page = getLocation(reduxState.router.location.pathname, reduxState.router.location);\r\n\r\n // User info and location will always be available on the data layer\r\n dl.merge({ user: [{ profile: [{ profileInfo: { userName: user } }] }] });\r\n dl.merge({\r\n page: { pageInfo: { pageName: page.pageName }, category: { primaryCategory: page.pathname } }\r\n });\r\n\r\n // When a new project is loaded, track it\r\n if (eventType === 'argus/ui/CREATE_CURRENT_PROJECT_LOADED') {\r\n dl.merge({ meta: getProject(eventPayload) });\r\n }\r\n\r\n // When a document is processed, track it\r\n if (eventType === 'argus/ui/ITEMS_UPDATED') {\r\n dl.merge({ meta: Object.assign(getProject(reduxState.data.currentProject), getDocument(eventPayload)) });\r\n }\r\n\r\n return dl.update();\r\n};\r\n\r\nexport default updateDataLayer;\r\n","import track from './track';\r\nimport updateDataLayer from './data-layer';\r\nimport TRACKING_ACTIONS from './actions';\r\nimport { statusTrack } from './utils';\r\n\r\n/** A redux middleware component to see if we're tracking that action\r\n * and send to Adobe for tracking\r\n */\r\nlet DEFER = [];\r\n\r\nexport const AnalyticsMiddleware = store => next => action => {\r\n const returnValue = next(action);\r\n const state = store.getState();\r\n\r\n // Don't track un authenticated routes\r\n if (action.type === '@@router/LOCATION_CHANGE' && action.payload.location.pathname.includes('authsuccess')) {\r\n return returnValue;\r\n }\r\n\r\n // Always wait until user data is loaded, before tracking, since we need to send user info for every track\r\n if (!state.data.currentUser.isLoaded) {\r\n if (TRACKING_ACTIONS[action.type]) {\r\n DEFER.push({ type: action.type, payload: action.payload });\r\n }\r\n return returnValue;\r\n }\r\n\r\n if (DEFER.length > 0) {\r\n DEFER.forEach(event => {\r\n updateDataLayer(event.type, event.payload, state);\r\n track(event.type);\r\n });\r\n DEFER = [];\r\n }\r\n\r\n if (action.type === 'argus/ui/CURRENT_FOLDER_LOADED') {\r\n return statusTrack.initialize(action.payload.data, state);\r\n }\r\n\r\n if (TRACKING_ACTIONS[action.type]) {\r\n if (action.type === 'argus/ui/ITEMS_UPDATED') {\r\n // Don't track unrelated to document status item updates\r\n if (!action.payload[0].itemStateId) {\r\n return returnValue;\r\n }\r\n return statusTrack.checkStatus(action);\r\n }\r\n\r\n updateDataLayer(action.type, action.payload, state);\r\n track(action.type);\r\n }\r\n\r\n return returnValue;\r\n};\r\n","function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }\n\nfunction _nonIterableSpread() { throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(n); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _iterableToArray(iter) { if (typeof Symbol !== \"undefined\" && Symbol.iterator in Object(iter)) return Array.from(iter); }\n\nfunction _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nimport { CALL_HISTORY_METHOD } from './actions';\n/**\n * This middleware captures CALL_HISTORY_METHOD actions to redirect to the\n * provided history object. This will prevent these actions from reaching your\n * reducer or any middleware that comes after this one.\n */\n\nvar routerMiddleware = function routerMiddleware(history) {\n return function (store) {\n return function (next) {\n return function (action) {\n // eslint-disable-line no-unused-vars\n if (action.type !== CALL_HISTORY_METHOD) {\n return next(action);\n }\n\n var _action$payload = action.payload,\n method = _action$payload.method,\n args = _action$payload.args;\n history[method].apply(history, _toConsumableArray(args));\n };\n };\n };\n};\n\nexport default routerMiddleware;","function _typeof(o) {\n \"@babel/helpers - typeof\";\n\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) {\n return typeof o;\n } : function (o) {\n return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o;\n }, _typeof(o);\n}\nexport { _typeof as default };","import _typeof from \"./typeof.js\";\nimport toPrimitive from \"./toPrimitive.js\";\nfunction toPropertyKey(t) {\n var i = toPrimitive(t, \"string\");\n return \"symbol\" == _typeof(i) ? i : i + \"\";\n}\nexport { toPropertyKey as default };","import _typeof from \"./typeof.js\";\nfunction toPrimitive(t, r) {\n if (\"object\" != _typeof(t) || !t) return t;\n var e = t[Symbol.toPrimitive];\n if (void 0 !== e) {\n var i = e.call(t, r || \"default\");\n if (\"object\" != _typeof(i)) return i;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return (\"string\" === r ? String : Number)(t);\n}\nexport { toPrimitive as default };","import toPropertyKey from \"./toPropertyKey.js\";\nfunction _defineProperty(e, r, t) {\n return (r = toPropertyKey(r)) in e ? Object.defineProperty(e, r, {\n value: t,\n enumerable: !0,\n configurable: !0,\n writable: !0\n }) : e[r] = t, e;\n}\nexport { _defineProperty as default };","import defineProperty from \"./defineProperty.js\";\nfunction ownKeys(e, r) {\n var t = Object.keys(e);\n if (Object.getOwnPropertySymbols) {\n var o = Object.getOwnPropertySymbols(e);\n r && (o = o.filter(function (r) {\n return Object.getOwnPropertyDescriptor(e, r).enumerable;\n })), t.push.apply(t, o);\n }\n return t;\n}\nfunction _objectSpread2(e) {\n for (var r = 1; r < arguments.length; r++) {\n var t = null != arguments[r] ? arguments[r] : {};\n r % 2 ? ownKeys(Object(t), !0).forEach(function (r) {\n defineProperty(e, r, t[r]);\n }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) {\n Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r));\n });\n }\n return e;\n}\nexport { _objectSpread2 as default };","import _objectSpread from '@babel/runtime/helpers/esm/objectSpread2';\n\n/**\n * Adapted from React: https://github.com/facebook/react/blob/master/packages/shared/formatProdErrorMessage.js\n *\n * Do not require this module directly! Use normal throw error calls. These messages will be replaced with error codes\n * during build.\n * @param {number} code\n */\nfunction formatProdErrorMessage(code) {\n return \"Minified Redux error #\" + code + \"; visit https://redux.js.org/Errors?code=\" + code + \" for the full message or \" + 'use the non-minified dev environment for full errors. ';\n}\n\n// Inlined version of the `symbol-observable` polyfill\nvar $$observable = (function () {\n return typeof Symbol === 'function' && Symbol.observable || '@@observable';\n})();\n\n/**\n * These are private action types reserved by Redux.\n * For any unknown actions, you must return the current state.\n * If the current state is undefined, you must return the initial state.\n * Do not reference these action types directly in your code.\n */\nvar randomString = function randomString() {\n return Math.random().toString(36).substring(7).split('').join('.');\n};\n\nvar ActionTypes = {\n INIT: \"@@redux/INIT\" + randomString(),\n REPLACE: \"@@redux/REPLACE\" + randomString(),\n PROBE_UNKNOWN_ACTION: function PROBE_UNKNOWN_ACTION() {\n return \"@@redux/PROBE_UNKNOWN_ACTION\" + randomString();\n }\n};\n\n/**\n * @param {any} obj The object to inspect.\n * @returns {boolean} True if the argument appears to be a plain object.\n */\nfunction isPlainObject(obj) {\n if (typeof obj !== 'object' || obj === null) return false;\n var proto = obj;\n\n while (Object.getPrototypeOf(proto) !== null) {\n proto = Object.getPrototypeOf(proto);\n }\n\n return Object.getPrototypeOf(obj) === proto;\n}\n\n// Inlined / shortened version of `kindOf` from https://github.com/jonschlinkert/kind-of\nfunction miniKindOf(val) {\n if (val === void 0) return 'undefined';\n if (val === null) return 'null';\n var type = typeof val;\n\n switch (type) {\n case 'boolean':\n case 'string':\n case 'number':\n case 'symbol':\n case 'function':\n {\n return type;\n }\n }\n\n if (Array.isArray(val)) return 'array';\n if (isDate(val)) return 'date';\n if (isError(val)) return 'error';\n var constructorName = ctorName(val);\n\n switch (constructorName) {\n case 'Symbol':\n case 'Promise':\n case 'WeakMap':\n case 'WeakSet':\n case 'Map':\n case 'Set':\n return constructorName;\n } // other\n\n\n return type.slice(8, -1).toLowerCase().replace(/\\s/g, '');\n}\n\nfunction ctorName(val) {\n return typeof val.constructor === 'function' ? val.constructor.name : null;\n}\n\nfunction isError(val) {\n return val instanceof Error || typeof val.message === 'string' && val.constructor && typeof val.constructor.stackTraceLimit === 'number';\n}\n\nfunction isDate(val) {\n if (val instanceof Date) return true;\n return typeof val.toDateString === 'function' && typeof val.getDate === 'function' && typeof val.setDate === 'function';\n}\n\nfunction kindOf(val) {\n var typeOfVal = typeof val;\n\n if (process.env.NODE_ENV !== 'production') {\n typeOfVal = miniKindOf(val);\n }\n\n return typeOfVal;\n}\n\n/**\n * @deprecated\n *\n * **We recommend using the `configureStore` method\n * of the `@reduxjs/toolkit` package**, which replaces `createStore`.\n *\n * Redux Toolkit is our recommended approach for writing Redux logic today,\n * including store setup, reducers, data fetching, and more.\n *\n * **For more details, please read this Redux docs page:**\n * **https://redux.js.org/introduction/why-rtk-is-redux-today**\n *\n * `configureStore` from Redux Toolkit is an improved version of `createStore` that\n * simplifies setup and helps avoid common bugs.\n *\n * You should not be using the `redux` core package by itself today, except for learning purposes.\n * The `createStore` method from the core `redux` package will not be removed, but we encourage\n * all users to migrate to using Redux Toolkit for all Redux code.\n *\n * If you want to use `createStore` without this visual deprecation warning, use\n * the `legacy_createStore` import instead:\n *\n * `import { legacy_createStore as createStore} from 'redux'`\n *\n */\n\nfunction createStore(reducer, preloadedState, enhancer) {\n var _ref2;\n\n if (typeof preloadedState === 'function' && typeof enhancer === 'function' || typeof enhancer === 'function' && typeof arguments[3] === 'function') {\n throw new Error(process.env.NODE_ENV === \"production\" ? formatProdErrorMessage(0) : 'It looks like you are passing several store enhancers to ' + 'createStore(). This is not supported. Instead, compose them ' + 'together to a single function. See https://redux.js.org/tutorials/fundamentals/part-4-store#creating-a-store-with-enhancers for an example.');\n }\n\n if (typeof preloadedState === 'function' && typeof enhancer === 'undefined') {\n enhancer = preloadedState;\n preloadedState = undefined;\n }\n\n if (typeof enhancer !== 'undefined') {\n if (typeof enhancer !== 'function') {\n throw new Error(process.env.NODE_ENV === \"production\" ? formatProdErrorMessage(1) : \"Expected the enhancer to be a function. Instead, received: '\" + kindOf(enhancer) + \"'\");\n }\n\n return enhancer(createStore)(reducer, preloadedState);\n }\n\n if (typeof reducer !== 'function') {\n throw new Error(process.env.NODE_ENV === \"production\" ? formatProdErrorMessage(2) : \"Expected the root reducer to be a function. Instead, received: '\" + kindOf(reducer) + \"'\");\n }\n\n var currentReducer = reducer;\n var currentState = preloadedState;\n var currentListeners = [];\n var nextListeners = currentListeners;\n var isDispatching = false;\n /**\n * This makes a shallow copy of currentListeners so we can use\n * nextListeners as a temporary list while dispatching.\n *\n * This prevents any bugs around consumers calling\n * subscribe/unsubscribe in the middle of a dispatch.\n */\n\n function ensureCanMutateNextListeners() {\n if (nextListeners === currentListeners) {\n nextListeners = currentListeners.slice();\n }\n }\n /**\n * Reads the state tree managed by the store.\n *\n * @returns {any} The current state tree of your application.\n */\n\n\n function getState() {\n if (isDispatching) {\n throw new Error(process.env.NODE_ENV === \"production\" ? formatProdErrorMessage(3) : 'You may not call store.getState() while the reducer is executing. ' + 'The reducer has already received the state as an argument. ' + 'Pass it down from the top reducer instead of reading it from the store.');\n }\n\n return currentState;\n }\n /**\n * Adds a change listener. It will be called any time an action is dispatched,\n * and some part of the state tree may potentially have changed. You may then\n * call `getState()` to read the current state tree inside the callback.\n *\n * You may call `dispatch()` from a change listener, with the following\n * caveats:\n *\n * 1. The subscriptions are snapshotted just before every `dispatch()` call.\n * If you subscribe or unsubscribe while the listeners are being invoked, this\n * will not have any effect on the `dispatch()` that is currently in progress.\n * However, the next `dispatch()` call, whether nested or not, will use a more\n * recent snapshot of the subscription list.\n *\n * 2. The listener should not expect to see all state changes, as the state\n * might have been updated multiple times during a nested `dispatch()` before\n * the listener is called. It is, however, guaranteed that all subscribers\n * registered before the `dispatch()` started will be called with the latest\n * state by the time it exits.\n *\n * @param {Function} listener A callback to be invoked on every dispatch.\n * @returns {Function} A function to remove this change listener.\n */\n\n\n function subscribe(listener) {\n if (typeof listener !== 'function') {\n throw new Error(process.env.NODE_ENV === \"production\" ? formatProdErrorMessage(4) : \"Expected the listener to be a function. Instead, received: '\" + kindOf(listener) + \"'\");\n }\n\n if (isDispatching) {\n throw new Error(process.env.NODE_ENV === \"production\" ? formatProdErrorMessage(5) : 'You may not call store.subscribe() while the reducer is executing. ' + 'If you would like to be notified after the store has been updated, subscribe from a ' + 'component and invoke store.getState() in the callback to access the latest state. ' + 'See https://redux.js.org/api/store#subscribelistener for more details.');\n }\n\n var isSubscribed = true;\n ensureCanMutateNextListeners();\n nextListeners.push(listener);\n return function unsubscribe() {\n if (!isSubscribed) {\n return;\n }\n\n if (isDispatching) {\n throw new Error(process.env.NODE_ENV === \"production\" ? formatProdErrorMessage(6) : 'You may not unsubscribe from a store listener while the reducer is executing. ' + 'See https://redux.js.org/api/store#subscribelistener for more details.');\n }\n\n isSubscribed = false;\n ensureCanMutateNextListeners();\n var index = nextListeners.indexOf(listener);\n nextListeners.splice(index, 1);\n currentListeners = null;\n };\n }\n /**\n * Dispatches an action. It is the only way to trigger a state change.\n *\n * The `reducer` function, used to create the store, will be called with the\n * current state tree and the given `action`. Its return value will\n * be considered the **next** state of the tree, and the change listeners\n * will be notified.\n *\n * The base implementation only supports plain object actions. If you want to\n * dispatch a Promise, an Observable, a thunk, or something else, you need to\n * wrap your store creating function into the corresponding middleware. For\n * example, see the documentation for the `redux-thunk` package. Even the\n * middleware will eventually dispatch plain object actions using this method.\n *\n * @param {Object} action A plain object representing “what changed”. It is\n * a good idea to keep actions serializable so you can record and replay user\n * sessions, or use the time travelling `redux-devtools`. An action must have\n * a `type` property which may not be `undefined`. It is a good idea to use\n * string constants for action types.\n *\n * @returns {Object} For convenience, the same action object you dispatched.\n *\n * Note that, if you use a custom middleware, it may wrap `dispatch()` to\n * return something else (for example, a Promise you can await).\n */\n\n\n function dispatch(action) {\n if (!isPlainObject(action)) {\n throw new Error(process.env.NODE_ENV === \"production\" ? formatProdErrorMessage(7) : \"Actions must be plain objects. Instead, the actual type was: '\" + kindOf(action) + \"'. You may need to add middleware to your store setup to handle dispatching other values, such as 'redux-thunk' to handle dispatching functions. See https://redux.js.org/tutorials/fundamentals/part-4-store#middleware and https://redux.js.org/tutorials/fundamentals/part-6-async-logic#using-the-redux-thunk-middleware for examples.\");\n }\n\n if (typeof action.type === 'undefined') {\n throw new Error(process.env.NODE_ENV === \"production\" ? formatProdErrorMessage(8) : 'Actions may not have an undefined \"type\" property. You may have misspelled an action type string constant.');\n }\n\n if (isDispatching) {\n throw new Error(process.env.NODE_ENV === \"production\" ? formatProdErrorMessage(9) : 'Reducers may not dispatch actions.');\n }\n\n try {\n isDispatching = true;\n currentState = currentReducer(currentState, action);\n } finally {\n isDispatching = false;\n }\n\n var listeners = currentListeners = nextListeners;\n\n for (var i = 0; i < listeners.length; i++) {\n var listener = listeners[i];\n listener();\n }\n\n return action;\n }\n /**\n * Replaces the reducer currently used by the store to calculate the state.\n *\n * You might need this if your app implements code splitting and you want to\n * load some of the reducers dynamically. You might also need this if you\n * implement a hot reloading mechanism for Redux.\n *\n * @param {Function} nextReducer The reducer for the store to use instead.\n * @returns {void}\n */\n\n\n function replaceReducer(nextReducer) {\n if (typeof nextReducer !== 'function') {\n throw new Error(process.env.NODE_ENV === \"production\" ? formatProdErrorMessage(10) : \"Expected the nextReducer to be a function. Instead, received: '\" + kindOf(nextReducer));\n }\n\n currentReducer = nextReducer; // This action has a similiar effect to ActionTypes.INIT.\n // Any reducers that existed in both the new and old rootReducer\n // will receive the previous state. This effectively populates\n // the new state tree with any relevant data from the old one.\n\n dispatch({\n type: ActionTypes.REPLACE\n });\n }\n /**\n * Interoperability point for observable/reactive libraries.\n * @returns {observable} A minimal observable of state changes.\n * For more information, see the observable proposal:\n * https://github.com/tc39/proposal-observable\n */\n\n\n function observable() {\n var _ref;\n\n var outerSubscribe = subscribe;\n return _ref = {\n /**\n * The minimal observable subscription method.\n * @param {Object} observer Any object that can be used as an observer.\n * The observer object should have a `next` method.\n * @returns {subscription} An object with an `unsubscribe` method that can\n * be used to unsubscribe the observable from the store, and prevent further\n * emission of values from the observable.\n */\n subscribe: function subscribe(observer) {\n if (typeof observer !== 'object' || observer === null) {\n throw new Error(process.env.NODE_ENV === \"production\" ? formatProdErrorMessage(11) : \"Expected the observer to be an object. Instead, received: '\" + kindOf(observer) + \"'\");\n }\n\n function observeState() {\n if (observer.next) {\n observer.next(getState());\n }\n }\n\n observeState();\n var unsubscribe = outerSubscribe(observeState);\n return {\n unsubscribe: unsubscribe\n };\n }\n }, _ref[$$observable] = function () {\n return this;\n }, _ref;\n } // When a store is created, an \"INIT\" action is dispatched so that every\n // reducer returns their initial state. This effectively populates\n // the initial state tree.\n\n\n dispatch({\n type: ActionTypes.INIT\n });\n return _ref2 = {\n dispatch: dispatch,\n subscribe: subscribe,\n getState: getState,\n replaceReducer: replaceReducer\n }, _ref2[$$observable] = observable, _ref2;\n}\n/**\n * Creates a Redux store that holds the state tree.\n *\n * **We recommend using `configureStore` from the\n * `@reduxjs/toolkit` package**, which replaces `createStore`:\n * **https://redux.js.org/introduction/why-rtk-is-redux-today**\n *\n * The only way to change the data in the store is to call `dispatch()` on it.\n *\n * There should only be a single store in your app. To specify how different\n * parts of the state tree respond to actions, you may combine several reducers\n * into a single reducer function by using `combineReducers`.\n *\n * @param {Function} reducer A function that returns the next state tree, given\n * the current state tree and the action to handle.\n *\n * @param {any} [preloadedState] The initial state. You may optionally specify it\n * to hydrate the state from the server in universal apps, or to restore a\n * previously serialized user session.\n * If you use `combineReducers` to produce the root reducer function, this must be\n * an object with the same shape as `combineReducers` keys.\n *\n * @param {Function} [enhancer] The store enhancer. You may optionally specify it\n * to enhance the store with third-party capabilities such as middleware,\n * time travel, persistence, etc. The only store enhancer that ships with Redux\n * is `applyMiddleware()`.\n *\n * @returns {Store} A Redux store that lets you read the state, dispatch actions\n * and subscribe to changes.\n */\n\nvar legacy_createStore = createStore;\n\n/**\n * Prints a warning in the console if it exists.\n *\n * @param {String} message The warning message.\n * @returns {void}\n */\nfunction warning(message) {\n /* eslint-disable no-console */\n if (typeof console !== 'undefined' && typeof console.error === 'function') {\n console.error(message);\n }\n /* eslint-enable no-console */\n\n\n try {\n // This error was thrown as a convenience so that if you enable\n // \"break on all exceptions\" in your console,\n // it would pause the execution at this line.\n throw new Error(message);\n } catch (e) {} // eslint-disable-line no-empty\n\n}\n\nfunction getUnexpectedStateShapeWarningMessage(inputState, reducers, action, unexpectedKeyCache) {\n var reducerKeys = Object.keys(reducers);\n var argumentName = action && action.type === ActionTypes.INIT ? 'preloadedState argument passed to createStore' : 'previous state received by the reducer';\n\n if (reducerKeys.length === 0) {\n return 'Store does not have a valid reducer. Make sure the argument passed ' + 'to combineReducers is an object whose values are reducers.';\n }\n\n if (!isPlainObject(inputState)) {\n return \"The \" + argumentName + \" has unexpected type of \\\"\" + kindOf(inputState) + \"\\\". Expected argument to be an object with the following \" + (\"keys: \\\"\" + reducerKeys.join('\", \"') + \"\\\"\");\n }\n\n var unexpectedKeys = Object.keys(inputState).filter(function (key) {\n return !reducers.hasOwnProperty(key) && !unexpectedKeyCache[key];\n });\n unexpectedKeys.forEach(function (key) {\n unexpectedKeyCache[key] = true;\n });\n if (action && action.type === ActionTypes.REPLACE) return;\n\n if (unexpectedKeys.length > 0) {\n return \"Unexpected \" + (unexpectedKeys.length > 1 ? 'keys' : 'key') + \" \" + (\"\\\"\" + unexpectedKeys.join('\", \"') + \"\\\" found in \" + argumentName + \". \") + \"Expected to find one of the known reducer keys instead: \" + (\"\\\"\" + reducerKeys.join('\", \"') + \"\\\". Unexpected keys will be ignored.\");\n }\n}\n\nfunction assertReducerShape(reducers) {\n Object.keys(reducers).forEach(function (key) {\n var reducer = reducers[key];\n var initialState = reducer(undefined, {\n type: ActionTypes.INIT\n });\n\n if (typeof initialState === 'undefined') {\n throw new Error(process.env.NODE_ENV === \"production\" ? formatProdErrorMessage(12) : \"The slice reducer for key \\\"\" + key + \"\\\" returned undefined during initialization. \" + \"If the state passed to the reducer is undefined, you must \" + \"explicitly return the initial state. The initial state may \" + \"not be undefined. If you don't want to set a value for this reducer, \" + \"you can use null instead of undefined.\");\n }\n\n if (typeof reducer(undefined, {\n type: ActionTypes.PROBE_UNKNOWN_ACTION()\n }) === 'undefined') {\n throw new Error(process.env.NODE_ENV === \"production\" ? formatProdErrorMessage(13) : \"The slice reducer for key \\\"\" + key + \"\\\" returned undefined when probed with a random type. \" + (\"Don't try to handle '\" + ActionTypes.INIT + \"' or other actions in \\\"redux/*\\\" \") + \"namespace. They are considered private. Instead, you must return the \" + \"current state for any unknown actions, unless it is undefined, \" + \"in which case you must return the initial state, regardless of the \" + \"action type. The initial state may not be undefined, but can be null.\");\n }\n });\n}\n/**\n * Turns an object whose values are different reducer functions, into a single\n * reducer function. It will call every child reducer, and gather their results\n * into a single state object, whose keys correspond to the keys of the passed\n * reducer functions.\n *\n * @param {Object} reducers An object whose values correspond to different\n * reducer functions that need to be combined into one. One handy way to obtain\n * it is to use ES6 `import * as reducers` syntax. The reducers may never return\n * undefined for any action. Instead, they should return their initial state\n * if the state passed to them was undefined, and the current state for any\n * unrecognized action.\n *\n * @returns {Function} A reducer function that invokes every reducer inside the\n * passed object, and builds a state object with the same shape.\n */\n\n\nfunction combineReducers(reducers) {\n var reducerKeys = Object.keys(reducers);\n var finalReducers = {};\n\n for (var i = 0; i < reducerKeys.length; i++) {\n var key = reducerKeys[i];\n\n if (process.env.NODE_ENV !== 'production') {\n if (typeof reducers[key] === 'undefined') {\n warning(\"No reducer provided for key \\\"\" + key + \"\\\"\");\n }\n }\n\n if (typeof reducers[key] === 'function') {\n finalReducers[key] = reducers[key];\n }\n }\n\n var finalReducerKeys = Object.keys(finalReducers); // This is used to make sure we don't warn about the same\n // keys multiple times.\n\n var unexpectedKeyCache;\n\n if (process.env.NODE_ENV !== 'production') {\n unexpectedKeyCache = {};\n }\n\n var shapeAssertionError;\n\n try {\n assertReducerShape(finalReducers);\n } catch (e) {\n shapeAssertionError = e;\n }\n\n return function combination(state, action) {\n if (state === void 0) {\n state = {};\n }\n\n if (shapeAssertionError) {\n throw shapeAssertionError;\n }\n\n if (process.env.NODE_ENV !== 'production') {\n var warningMessage = getUnexpectedStateShapeWarningMessage(state, finalReducers, action, unexpectedKeyCache);\n\n if (warningMessage) {\n warning(warningMessage);\n }\n }\n\n var hasChanged = false;\n var nextState = {};\n\n for (var _i = 0; _i < finalReducerKeys.length; _i++) {\n var _key = finalReducerKeys[_i];\n var reducer = finalReducers[_key];\n var previousStateForKey = state[_key];\n var nextStateForKey = reducer(previousStateForKey, action);\n\n if (typeof nextStateForKey === 'undefined') {\n var actionType = action && action.type;\n throw new Error(process.env.NODE_ENV === \"production\" ? formatProdErrorMessage(14) : \"When called with an action of type \" + (actionType ? \"\\\"\" + String(actionType) + \"\\\"\" : '(unknown type)') + \", the slice reducer for key \\\"\" + _key + \"\\\" returned undefined. \" + \"To ignore an action, you must explicitly return the previous state. \" + \"If you want this reducer to hold no value, you can return null instead of undefined.\");\n }\n\n nextState[_key] = nextStateForKey;\n hasChanged = hasChanged || nextStateForKey !== previousStateForKey;\n }\n\n hasChanged = hasChanged || finalReducerKeys.length !== Object.keys(state).length;\n return hasChanged ? nextState : state;\n };\n}\n\nfunction bindActionCreator(actionCreator, dispatch) {\n return function () {\n return dispatch(actionCreator.apply(this, arguments));\n };\n}\n/**\n * Turns an object whose values are action creators, into an object with the\n * same keys, but with every function wrapped into a `dispatch` call so they\n * may be invoked directly. This is just a convenience method, as you can call\n * `store.dispatch(MyActionCreators.doSomething())` yourself just fine.\n *\n * For convenience, you can also pass an action creator as the first argument,\n * and get a dispatch wrapped function in return.\n *\n * @param {Function|Object} actionCreators An object whose values are action\n * creator functions. One handy way to obtain it is to use ES6 `import * as`\n * syntax. You may also pass a single function.\n *\n * @param {Function} dispatch The `dispatch` function available on your Redux\n * store.\n *\n * @returns {Function|Object} The object mimicking the original object, but with\n * every action creator wrapped into the `dispatch` call. If you passed a\n * function as `actionCreators`, the return value will also be a single\n * function.\n */\n\n\nfunction bindActionCreators(actionCreators, dispatch) {\n if (typeof actionCreators === 'function') {\n return bindActionCreator(actionCreators, dispatch);\n }\n\n if (typeof actionCreators !== 'object' || actionCreators === null) {\n throw new Error(process.env.NODE_ENV === \"production\" ? formatProdErrorMessage(16) : \"bindActionCreators expected an object or a function, but instead received: '\" + kindOf(actionCreators) + \"'. \" + \"Did you write \\\"import ActionCreators from\\\" instead of \\\"import * as ActionCreators from\\\"?\");\n }\n\n var boundActionCreators = {};\n\n for (var key in actionCreators) {\n var actionCreator = actionCreators[key];\n\n if (typeof actionCreator === 'function') {\n boundActionCreators[key] = bindActionCreator(actionCreator, dispatch);\n }\n }\n\n return boundActionCreators;\n}\n\n/**\n * Composes single-argument functions from right to left. The rightmost\n * function can take multiple arguments as it provides the signature for\n * the resulting composite function.\n *\n * @param {...Function} funcs The functions to compose.\n * @returns {Function} A function obtained by composing the argument functions\n * from right to left. For example, compose(f, g, h) is identical to doing\n * (...args) => f(g(h(...args))).\n */\nfunction compose() {\n for (var _len = arguments.length, funcs = new Array(_len), _key = 0; _key < _len; _key++) {\n funcs[_key] = arguments[_key];\n }\n\n if (funcs.length === 0) {\n return function (arg) {\n return arg;\n };\n }\n\n if (funcs.length === 1) {\n return funcs[0];\n }\n\n return funcs.reduce(function (a, b) {\n return function () {\n return a(b.apply(void 0, arguments));\n };\n });\n}\n\n/**\n * Creates a store enhancer that applies middleware to the dispatch method\n * of the Redux store. This is handy for a variety of tasks, such as expressing\n * asynchronous actions in a concise manner, or logging every action payload.\n *\n * See `redux-thunk` package as an example of the Redux middleware.\n *\n * Because middleware is potentially asynchronous, this should be the first\n * store enhancer in the composition chain.\n *\n * Note that each middleware will be given the `dispatch` and `getState` functions\n * as named arguments.\n *\n * @param {...Function} middlewares The middleware chain to be applied.\n * @returns {Function} A store enhancer applying the middleware.\n */\n\nfunction applyMiddleware() {\n for (var _len = arguments.length, middlewares = new Array(_len), _key = 0; _key < _len; _key++) {\n middlewares[_key] = arguments[_key];\n }\n\n return function (createStore) {\n return function () {\n var store = createStore.apply(void 0, arguments);\n\n var _dispatch = function dispatch() {\n throw new Error(process.env.NODE_ENV === \"production\" ? formatProdErrorMessage(15) : 'Dispatching while constructing your middleware is not allowed. ' + 'Other middleware would not be applied to this dispatch.');\n };\n\n var middlewareAPI = {\n getState: store.getState,\n dispatch: function dispatch() {\n return _dispatch.apply(void 0, arguments);\n }\n };\n var chain = middlewares.map(function (middleware) {\n return middleware(middlewareAPI);\n });\n _dispatch = compose.apply(void 0, chain)(store.dispatch);\n return _objectSpread(_objectSpread({}, store), {}, {\n dispatch: _dispatch\n });\n };\n };\n}\n\nexport { ActionTypes as __DO_NOT_USE__ActionTypes, applyMiddleware, bindActionCreators, combineReducers, compose, createStore, legacy_createStore };\n","/** A function that accepts a potential \"extra argument\" value to be injected later,\r\n * and returns an instance of the thunk middleware that uses that value\r\n */\nfunction createThunkMiddleware(extraArgument) {\n // Standard Redux middleware definition pattern:\n // See: https://redux.js.org/tutorials/fundamentals/part-4-store#writing-custom-middleware\n var middleware = function middleware(_ref) {\n var dispatch = _ref.dispatch,\n getState = _ref.getState;\n return function (next) {\n return function (action) {\n // The thunk middleware looks for any functions that were passed to `store.dispatch`.\n // If this \"action\" is really a function, call it and return the result.\n if (typeof action === 'function') {\n // Inject the store's `dispatch` and `getState` methods, as well as any \"extra arg\"\n return action(dispatch, getState, extraArgument);\n } // Otherwise, pass the action down the middleware chain as usual\n\n\n return next(action);\n };\n };\n };\n\n return middleware;\n}\n\nvar thunk = createThunkMiddleware(); // Attach the factory function so users can create a customized version\n// with whatever \"extra arg\" they want to inject into their thunks\n\nthunk.withExtraArgument = createThunkMiddleware;\nexport default thunk;","import { createReducer } from 'utils/redux-utils';\r\nimport { getDocumentListColumnOptions, setDocumentListColumnOptions } from 'store/api';\r\n\r\nexport const COLUMN_OPTIONS = {\r\n ID: 'ID',\r\n NAME: 'NAME',\r\n PAGES: 'PAGES',\r\n ASSIGNEES: 'ASSIGNEES',\r\n REVIEWERS: 'REVIEWERS',\r\n TAGS: 'TAGS',\r\n TEMPLATE: 'TEMPLATE',\r\n STATUS: 'STATUS',\r\n PROCESSED_DATE: 'PROCESSED_DATE',\r\n DATEFORMATPREFERENCE: 'DATEFORMATPREFERENCE',\r\n AUTO_DELETE: 'AUTO_DELETE',\r\n LASTUPDATED_DATE: 'LASTUPDATED_DATE'\r\n};\r\n\r\nexport const COLUMN_OPTION_DEFAULTS = {\r\n [COLUMN_OPTIONS.ID]: {\r\n displayName: 'file-list.heading.id',\r\n alwaysVisible: false\r\n },\r\n [COLUMN_OPTIONS.NAME]: {\r\n displayName: 'file-list.heading.name',\r\n alwaysVisible: true\r\n },\r\n [COLUMN_OPTIONS.PAGES]: {\r\n displayName: 'file-list.heading.pages',\r\n alwaysVisible: false\r\n },\r\n [COLUMN_OPTIONS.ASSIGNEES]: {\r\n displayName: 'file-list.heading.assignees',\r\n alwaysVisible: false\r\n },\r\n [COLUMN_OPTIONS.REVIEWERS]: {\r\n displayName: 'file-list.heading.finalizedby',\r\n alwaysVisible: false\r\n },\r\n [COLUMN_OPTIONS.TAGS]: {\r\n displayName: 'file-list.heading.tags',\r\n alwaysVisible: false\r\n },\r\n [COLUMN_OPTIONS.TEMPLATE]: {\r\n displayName: 'file-list.heading.template',\r\n alwaysVisible: false\r\n },\r\n [COLUMN_OPTIONS.STATUS]: {\r\n displayName: 'file-list.heading.status',\r\n alwaysVisible: false\r\n },\r\n [COLUMN_OPTIONS.PROCESSED_DATE]: {\r\n displayName: 'file-list.heading.processed-date',\r\n alwaysVisible: false\r\n },\r\n [COLUMN_OPTIONS.LASTUPDATED_DATE]: {\r\n displayName: 'file-list.heading.lastupdated-date',\r\n alwaysVisible: false\r\n },\r\n [COLUMN_OPTIONS.AUTO_DELETE]: {\r\n displayName: 'file-list.heading.auto-delete',\r\n alwaysVisible: false\r\n },\r\n [COLUMN_OPTIONS.DATEFORMATPREFERENCE]: {\r\n displayName: 'file-list.heading.date-format',\r\n alwaysVisible: false\r\n }\r\n};\r\n\r\nexport const DEFAULT_COLUMN_VISIBILITY = {\r\n [COLUMN_OPTIONS.ID]: false,\r\n [COLUMN_OPTIONS.NAME]: true,\r\n [COLUMN_OPTIONS.PAGES]: false,\r\n [COLUMN_OPTIONS.ASSIGNEES]: true,\r\n [COLUMN_OPTIONS.REVIEWERS]: true,\r\n [COLUMN_OPTIONS.TAGS]: true,\r\n [COLUMN_OPTIONS.TEMPLATE]: true,\r\n [COLUMN_OPTIONS.STATUS]: true,\r\n [COLUMN_OPTIONS.PROCESSED_DATE]: true,\r\n [COLUMN_OPTIONS.DATEFORMATPREFERENCE]: true,\r\n [COLUMN_OPTIONS.AUTO_DELETE]: true\r\n};\r\n\r\nexport const DEFAULT_COLUMN_ORDER = [\r\n COLUMN_OPTIONS.ID,\r\n COLUMN_OPTIONS.NAME,\r\n COLUMN_OPTIONS.PAGES,\r\n COLUMN_OPTIONS.ASSIGNEES,\r\n COLUMN_OPTIONS.REVIEWERS,\r\n COLUMN_OPTIONS.TAGS,\r\n COLUMN_OPTIONS.TEMPLATE,\r\n COLUMN_OPTIONS.STATUS,\r\n COLUMN_OPTIONS.DATEFORMATPREFERENCE,\r\n COLUMN_OPTIONS.PROCESSED_DATE,\r\n COLUMN_OPTIONS.AUTO_DELETE\r\n];\r\n\r\nexport const DEFAULT_COLUMN_ROOTSHOW = [\r\n COLUMN_OPTIONS.ID,\r\n COLUMN_OPTIONS.NAME,\r\n COLUMN_OPTIONS.DATEFORMATPREFERENCE,\r\n COLUMN_OPTIONS.PROCESSED_DATE,\r\n COLUMN_OPTIONS.AUTO_DELETE\r\n];\r\n\r\nexport const DEFAULT_COLUMN_ROOTSHOWForProjects = [\r\n COLUMN_OPTIONS.ID,\r\n COLUMN_OPTIONS.NAME,\r\n COLUMN_OPTIONS.DATEFORMATPREFERENCE,\r\n COLUMN_OPTIONS.PROCESSED_DATE\r\n];\r\n\r\nexport const COLUMN_OPTIONS_DOCSHOW = [\r\n COLUMN_OPTIONS.ID,\r\n COLUMN_OPTIONS.NAME,\r\n COLUMN_OPTIONS.PAGES,\r\n COLUMN_OPTIONS.ASSIGNEES,\r\n COLUMN_OPTIONS.REVIEWERS,\r\n COLUMN_OPTIONS.TAGS,\r\n COLUMN_OPTIONS.TEMPLATE,\r\n COLUMN_OPTIONS.STATUS,\r\n COLUMN_OPTIONS.PROCESSED_DATE\r\n];\r\n\r\nexport const ACTIONS = {\r\n COLUMN_OPTIONS_UPDATE: 'argus/ui/FILE_BROWSER_COLUMN_OPTIONS_UPDATE'\r\n};\r\n\r\nconst fromAPIFormat = fields => {\r\n const order = [];\r\n const visibility = {};\r\n\r\n fields.forEach(field => {\r\n order[field.fieldOrder] = field.fieldName;\r\n visibility[field.fieldName] = field.visible;\r\n });\r\n\r\n return {\r\n order: order.filter(f => !!f),\r\n visibility\r\n };\r\n};\r\n\r\nconst toAPIFormat = ({ visibility, order }) => {\r\n return order.map((fieldName, index) => ({\r\n fieldName,\r\n fieldOrder: index,\r\n visible: visibility[fieldName]\r\n }));\r\n};\r\n\r\nconst migrateOptions = fields => {\r\n //Used to migrate user column options from older version to new versions. User preferences are kept for visibility, but order gets reset\r\n var visibility = { ...DEFAULT_COLUMN_VISIBILITY };\r\n var order = [...DEFAULT_COLUMN_ORDER];\r\n\r\n for (let key in visibility) {\r\n if (visibility.hasOwnProperty(key) && fields.some(f => f.fieldName === key)) {\r\n visibility[key] = fields.find(f => f.fieldName === key).visible;\r\n }\r\n }\r\n\r\n const payload = toAPIFormat({ visibility, order });\r\n setDocumentListColumnOptions(payload);\r\n\r\n return { visibility, order };\r\n};\r\n\r\nexport const getColumnOptions = () => dispatch => {\r\n getDocumentListColumnOptions().then(response => {\r\n if (response.fields) {\r\n var formattedData =\r\n response.fields.length === DEFAULT_COLUMN_ORDER.length\r\n ? fromAPIFormat(response.fields)\r\n : migrateOptions(response.fields);\r\n\r\n dispatch({\r\n type: ACTIONS.COLUMN_OPTIONS_UPDATE,\r\n payload: formattedData\r\n });\r\n } else {\r\n dispatch({\r\n type: ACTIONS.COLUMN_OPTIONS_UPDATE,\r\n payload: {\r\n visibility: { ...DEFAULT_COLUMN_VISIBILITY },\r\n order: [...DEFAULT_COLUMN_ORDER]\r\n }\r\n });\r\n }\r\n });\r\n};\r\n\r\nexport const updateColumnOptions = ({ visibility, order }) => dispatch => {\r\n const payload = toAPIFormat({ visibility, order });\r\n\r\n dispatch({\r\n type: ACTIONS.COLUMN_OPTIONS_UPDATE,\r\n payload: {\r\n visibility,\r\n order\r\n }\r\n });\r\n\r\n setDocumentListColumnOptions(payload);\r\n};\r\n\r\nexport default createReducer(null, {\r\n [ACTIONS.COLUMN_OPTIONS_UPDATE]: (state, action) => {\r\n const { visibility, order } = action.payload;\r\n\r\n return {\r\n visibility: { ...visibility },\r\n order: [...order]\r\n };\r\n }\r\n});\r\n","// Current version.\nexport var VERSION = '1.13.7';\n\n// Establish the root object, `window` (`self`) in the browser, `global`\n// on the server, or `this` in some virtual machines. We use `self`\n// instead of `window` for `WebWorker` support.\nexport var root = (typeof self == 'object' && self.self === self && self) ||\n (typeof global == 'object' && global.global === global && global) ||\n Function('return this')() ||\n {};\n\n// Save bytes in the minified (but not gzipped) version:\nexport var ArrayProto = Array.prototype, ObjProto = Object.prototype;\nexport var SymbolProto = typeof Symbol !== 'undefined' ? Symbol.prototype : null;\n\n// Create quick reference variables for speed access to core prototypes.\nexport var push = ArrayProto.push,\n slice = ArrayProto.slice,\n toString = ObjProto.toString,\n hasOwnProperty = ObjProto.hasOwnProperty;\n\n// Modern feature detection.\nexport var supportsArrayBuffer = typeof ArrayBuffer !== 'undefined',\n supportsDataView = typeof DataView !== 'undefined';\n\n// All **ECMAScript 5+** native function implementations that we hope to use\n// are declared here.\nexport var nativeIsArray = Array.isArray,\n nativeKeys = Object.keys,\n nativeCreate = Object.create,\n nativeIsView = supportsArrayBuffer && ArrayBuffer.isView;\n\n// Create references to these builtin functions because we override them.\nexport var _isNaN = isNaN,\n _isFinite = isFinite;\n\n// Keys in IE < 9 that won't be iterated by `for key in ...` and thus missed.\nexport var hasEnumBug = !{toString: null}.propertyIsEnumerable('toString');\nexport var nonEnumerableProps = ['valueOf', 'isPrototypeOf', 'toString',\n 'propertyIsEnumerable', 'hasOwnProperty', 'toLocaleString'];\n\n// The largest integer that can be represented exactly.\nexport var MAX_ARRAY_INDEX = Math.pow(2, 53) - 1;\n","// Some functions take a variable number of arguments, or a few expected\n// arguments at the beginning and then a variable number of values to operate\n// on. This helper accumulates all remaining arguments past the function’s\n// argument length (or an explicit `startIndex`), into an array that becomes\n// the last argument. Similar to ES6’s \"rest parameter\".\nexport default function restArguments(func, startIndex) {\n startIndex = startIndex == null ? func.length - 1 : +startIndex;\n return function() {\n var length = Math.max(arguments.length - startIndex, 0),\n rest = Array(length),\n index = 0;\n for (; index < length; index++) {\n rest[index] = arguments[index + startIndex];\n }\n switch (startIndex) {\n case 0: return func.call(this, rest);\n case 1: return func.call(this, arguments[0], rest);\n case 2: return func.call(this, arguments[0], arguments[1], rest);\n }\n var args = Array(startIndex + 1);\n for (index = 0; index < startIndex; index++) {\n args[index] = arguments[index];\n }\n args[startIndex] = rest;\n return func.apply(this, args);\n };\n}\n","// Is a given variable an object?\nexport default function isObject(obj) {\n var type = typeof obj;\n return type === 'function' || (type === 'object' && !!obj);\n}\n","// Is a given value equal to null?\nexport default function isNull(obj) {\n return obj === null;\n}\n","// Is a given variable undefined?\nexport default function isUndefined(obj) {\n return obj === void 0;\n}\n","import { toString } from './_setup.js';\n\n// Is a given value a boolean?\nexport default function isBoolean(obj) {\n return obj === true || obj === false || toString.call(obj) === '[object Boolean]';\n}\n","// Is a given value a DOM element?\nexport default function isElement(obj) {\n return !!(obj && obj.nodeType === 1);\n}\n","import { toString } from './_setup.js';\n\n// Internal function for creating a `toString`-based type tester.\nexport default function tagTester(name) {\n var tag = '[object ' + name + ']';\n return function(obj) {\n return toString.call(obj) === tag;\n };\n}\n","import tagTester from './_tagTester.js';\n\nexport default tagTester('String');\n","import tagTester from './_tagTester.js';\n\nexport default tagTester('Number');\n","import tagTester from './_tagTester.js';\n\nexport default tagTester('Date');\n","import tagTester from './_tagTester.js';\n\nexport default tagTester('RegExp');\n","import tagTester from './_tagTester.js';\n\nexport default tagTester('Error');\n","import tagTester from './_tagTester.js';\n\nexport default tagTester('Symbol');\n","import tagTester from './_tagTester.js';\n\nexport default tagTester('ArrayBuffer');\n","import tagTester from './_tagTester.js';\nimport { root } from './_setup.js';\n\nvar isFunction = tagTester('Function');\n\n// Optimize `isFunction` if appropriate. Work around some `typeof` bugs in old\n// v8, IE 11 (#1621), Safari 8 (#1929), and PhantomJS (#2236).\nvar nodelist = root.document && root.document.childNodes;\nif (typeof /./ != 'function' && typeof Int8Array != 'object' && typeof nodelist != 'function') {\n isFunction = function(obj) {\n return typeof obj == 'function' || false;\n };\n}\n\nexport default isFunction;\n","import tagTester from './_tagTester.js';\n\nexport default tagTester('Object');\n","import { supportsDataView } from './_setup.js';\nimport hasObjectTag from './_hasObjectTag.js';\n\n// In IE 10 - Edge 13, `DataView` has string tag `'[object Object]'`.\n// In IE 11, the most common among them, this problem also applies to\n// `Map`, `WeakMap` and `Set`.\n// Also, there are cases where an application can override the native\n// `DataView` object, in cases like that we can't use the constructor\n// safely and should just rely on alternate `DataView` checks\nexport var hasDataViewBug = (\n supportsDataView && (!/\\[native code\\]/.test(String(DataView)) || hasObjectTag(new DataView(new ArrayBuffer(8))))\n ),\n isIE11 = (typeof Map !== 'undefined' && hasObjectTag(new Map));\n","import tagTester from './_tagTester.js';\nimport isFunction from './isFunction.js';\nimport isArrayBuffer from './isArrayBuffer.js';\nimport { hasDataViewBug } from './_stringTagBug.js';\n\nvar isDataView = tagTester('DataView');\n\n// In IE 10 - Edge 13, we need a different heuristic\n// to determine whether an object is a `DataView`.\n// Also, in cases where the native `DataView` is\n// overridden we can't rely on the tag itself.\nfunction alternateIsDataView(obj) {\n return obj != null && isFunction(obj.getInt8) && isArrayBuffer(obj.buffer);\n}\n\nexport default (hasDataViewBug ? alternateIsDataView : isDataView);\n","import { nativeIsArray } from './_setup.js';\nimport tagTester from './_tagTester.js';\n\n// Is a given value an array?\n// Delegates to ECMA5's native `Array.isArray`.\nexport default nativeIsArray || tagTester('Array');\n","import { hasOwnProperty } from './_setup.js';\n\n// Internal function to check whether `key` is an own property name of `obj`.\nexport default function has(obj, key) {\n return obj != null && hasOwnProperty.call(obj, key);\n}\n","import tagTester from './_tagTester.js';\nimport has from './_has.js';\n\nvar isArguments = tagTester('Arguments');\n\n// Define a fallback version of the method in browsers (ahem, IE < 9), where\n// there isn't any inspectable \"Arguments\" type.\n(function() {\n if (!isArguments(arguments)) {\n isArguments = function(obj) {\n return has(obj, 'callee');\n };\n }\n}());\n\nexport default isArguments;\n","import { _isFinite } from './_setup.js';\nimport isSymbol from './isSymbol.js';\n\n// Is a given object a finite number?\nexport default function isFinite(obj) {\n return !isSymbol(obj) && _isFinite(obj) && !isNaN(parseFloat(obj));\n}\n","import { _isNaN } from './_setup.js';\nimport isNumber from './isNumber.js';\n\n// Is the given value `NaN`?\nexport default function isNaN(obj) {\n return isNumber(obj) && _isNaN(obj);\n}\n","// Predicate-generating function. Often useful outside of Underscore.\nexport default function constant(value) {\n return function() {\n return value;\n };\n}\n","import { MAX_ARRAY_INDEX } from './_setup.js';\n\n// Common internal logic for `isArrayLike` and `isBufferLike`.\nexport default function createSizePropertyCheck(getSizeProperty) {\n return function(collection) {\n var sizeProperty = getSizeProperty(collection);\n return typeof sizeProperty == 'number' && sizeProperty >= 0 && sizeProperty <= MAX_ARRAY_INDEX;\n }\n}\n","// Internal helper to generate a function to obtain property `key` from `obj`.\nexport default function shallowProperty(key) {\n return function(obj) {\n return obj == null ? void 0 : obj[key];\n };\n}\n","import shallowProperty from './_shallowProperty.js';\n\n// Internal helper to obtain the `byteLength` property of an object.\nexport default shallowProperty('byteLength');\n","import createSizePropertyCheck from './_createSizePropertyCheck.js';\nimport getByteLength from './_getByteLength.js';\n\n// Internal helper to determine whether we should spend extensive checks against\n// `ArrayBuffer` et al.\nexport default createSizePropertyCheck(getByteLength);\n","import { supportsArrayBuffer, nativeIsView, toString } from './_setup.js';\nimport isDataView from './isDataView.js';\nimport constant from './constant.js';\nimport isBufferLike from './_isBufferLike.js';\n\n// Is a given value a typed array?\nvar typedArrayPattern = /\\[object ((I|Ui)nt(8|16|32)|Float(32|64)|Uint8Clamped|Big(I|Ui)nt64)Array\\]/;\nfunction isTypedArray(obj) {\n // `ArrayBuffer.isView` is the most future-proof, so use it when available.\n // Otherwise, fall back on the above regular expression.\n return nativeIsView ? (nativeIsView(obj) && !isDataView(obj)) :\n isBufferLike(obj) && typedArrayPattern.test(toString.call(obj));\n}\n\nexport default supportsArrayBuffer ? isTypedArray : constant(false);\n","import shallowProperty from './_shallowProperty.js';\n\n// Internal helper to obtain the `length` property of an object.\nexport default shallowProperty('length');\n","import { nonEnumerableProps, ObjProto } from './_setup.js';\nimport isFunction from './isFunction.js';\nimport has from './_has.js';\n\n// Internal helper to create a simple lookup structure.\n// `collectNonEnumProps` used to depend on `_.contains`, but this led to\n// circular imports. `emulatedSet` is a one-off solution that only works for\n// arrays of strings.\nfunction emulatedSet(keys) {\n var hash = {};\n for (var l = keys.length, i = 0; i < l; ++i) hash[keys[i]] = true;\n return {\n contains: function(key) { return hash[key] === true; },\n push: function(key) {\n hash[key] = true;\n return keys.push(key);\n }\n };\n}\n\n// Internal helper. Checks `keys` for the presence of keys in IE < 9 that won't\n// be iterated by `for key in ...` and thus missed. Extends `keys` in place if\n// needed.\nexport default function collectNonEnumProps(obj, keys) {\n keys = emulatedSet(keys);\n var nonEnumIdx = nonEnumerableProps.length;\n var constructor = obj.constructor;\n var proto = (isFunction(constructor) && constructor.prototype) || ObjProto;\n\n // Constructor is a special case.\n var prop = 'constructor';\n if (has(obj, prop) && !keys.contains(prop)) keys.push(prop);\n\n while (nonEnumIdx--) {\n prop = nonEnumerableProps[nonEnumIdx];\n if (prop in obj && obj[prop] !== proto[prop] && !keys.contains(prop)) {\n keys.push(prop);\n }\n }\n}\n","import isObject from './isObject.js';\nimport { nativeKeys, hasEnumBug } from './_setup.js';\nimport has from './_has.js';\nimport collectNonEnumProps from './_collectNonEnumProps.js';\n\n// Retrieve the names of an object's own properties.\n// Delegates to **ECMAScript 5**'s native `Object.keys`.\nexport default function keys(obj) {\n if (!isObject(obj)) return [];\n if (nativeKeys) return nativeKeys(obj);\n var keys = [];\n for (var key in obj) if (has(obj, key)) keys.push(key);\n // Ahem, IE < 9.\n if (hasEnumBug) collectNonEnumProps(obj, keys);\n return keys;\n}\n","import getLength from './_getLength.js';\nimport isArray from './isArray.js';\nimport isString from './isString.js';\nimport isArguments from './isArguments.js';\nimport keys from './keys.js';\n\n// Is a given array, string, or object empty?\n// An \"empty\" object has no enumerable own-properties.\nexport default function isEmpty(obj) {\n if (obj == null) return true;\n // Skip the more expensive `toString`-based type checks if `obj` has no\n // `.length`.\n var length = getLength(obj);\n if (typeof length == 'number' && (\n isArray(obj) || isString(obj) || isArguments(obj)\n )) return length === 0;\n return getLength(keys(obj)) === 0;\n}\n","import keys from './keys.js';\n\n// Returns whether an object has a given set of `key:value` pairs.\nexport default function isMatch(object, attrs) {\n var _keys = keys(attrs), length = _keys.length;\n if (object == null) return !length;\n var obj = Object(object);\n for (var i = 0; i < length; i++) {\n var key = _keys[i];\n if (attrs[key] !== obj[key] || !(key in obj)) return false;\n }\n return true;\n}\n","import { VERSION } from './_setup.js';\n\n// If Underscore is called as a function, it returns a wrapped object that can\n// be used OO-style. This wrapper holds altered versions of all functions added\n// through `_.mixin`. Wrapped objects may be chained.\nexport default function _(obj) {\n if (obj instanceof _) return obj;\n if (!(this instanceof _)) return new _(obj);\n this._wrapped = obj;\n}\n\n_.VERSION = VERSION;\n\n// Extracts the result from a wrapped and chained object.\n_.prototype.value = function() {\n return this._wrapped;\n};\n\n// Provide unwrapping proxies for some methods used in engine operations\n// such as arithmetic and JSON stringification.\n_.prototype.valueOf = _.prototype.toJSON = _.prototype.value;\n\n_.prototype.toString = function() {\n return String(this._wrapped);\n};\n","import getByteLength from './_getByteLength.js';\n\n// Internal function to wrap or shallow-copy an ArrayBuffer,\n// typed array or DataView to a new view, reusing the buffer.\nexport default function toBufferView(bufferSource) {\n return new Uint8Array(\n bufferSource.buffer || bufferSource,\n bufferSource.byteOffset || 0,\n getByteLength(bufferSource)\n );\n}\n","import _ from './underscore.js';\nimport { toString, SymbolProto } from './_setup.js';\nimport getByteLength from './_getByteLength.js';\nimport isTypedArray from './isTypedArray.js';\nimport isFunction from './isFunction.js';\nimport { hasDataViewBug } from './_stringTagBug.js';\nimport isDataView from './isDataView.js';\nimport keys from './keys.js';\nimport has from './_has.js';\nimport toBufferView from './_toBufferView.js';\n\n// We use this string twice, so give it a name for minification.\nvar tagDataView = '[object DataView]';\n\n// Internal recursive comparison function for `_.isEqual`.\nfunction eq(a, b, aStack, bStack) {\n // Identical objects are equal. `0 === -0`, but they aren't identical.\n // See the [Harmony `egal` proposal](https://wiki.ecmascript.org/doku.php?id=harmony:egal).\n if (a === b) return a !== 0 || 1 / a === 1 / b;\n // `null` or `undefined` only equal to itself (strict comparison).\n if (a == null || b == null) return false;\n // `NaN`s are equivalent, but non-reflexive.\n if (a !== a) return b !== b;\n // Exhaust primitive checks\n var type = typeof a;\n if (type !== 'function' && type !== 'object' && typeof b != 'object') return false;\n return deepEq(a, b, aStack, bStack);\n}\n\n// Internal recursive comparison function for `_.isEqual`.\nfunction deepEq(a, b, aStack, bStack) {\n // Unwrap any wrapped objects.\n if (a instanceof _) a = a._wrapped;\n if (b instanceof _) b = b._wrapped;\n // Compare `[[Class]]` names.\n var className = toString.call(a);\n if (className !== toString.call(b)) return false;\n // Work around a bug in IE 10 - Edge 13.\n if (hasDataViewBug && className == '[object Object]' && isDataView(a)) {\n if (!isDataView(b)) return false;\n className = tagDataView;\n }\n switch (className) {\n // These types are compared by value.\n case '[object RegExp]':\n // RegExps are coerced to strings for comparison (Note: '' + /a/i === '/a/i')\n case '[object String]':\n // Primitives and their corresponding object wrappers are equivalent; thus, `\"5\"` is\n // equivalent to `new String(\"5\")`.\n return '' + a === '' + b;\n case '[object Number]':\n // `NaN`s are equivalent, but non-reflexive.\n // Object(NaN) is equivalent to NaN.\n if (+a !== +a) return +b !== +b;\n // An `egal` comparison is performed for other numeric values.\n return +a === 0 ? 1 / +a === 1 / b : +a === +b;\n case '[object Date]':\n case '[object Boolean]':\n // Coerce dates and booleans to numeric primitive values. Dates are compared by their\n // millisecond representations. Note that invalid dates with millisecond representations\n // of `NaN` are not equivalent.\n return +a === +b;\n case '[object Symbol]':\n return SymbolProto.valueOf.call(a) === SymbolProto.valueOf.call(b);\n case '[object ArrayBuffer]':\n case tagDataView:\n // Coerce to typed array so we can fall through.\n return deepEq(toBufferView(a), toBufferView(b), aStack, bStack);\n }\n\n var areArrays = className === '[object Array]';\n if (!areArrays && isTypedArray(a)) {\n var byteLength = getByteLength(a);\n if (byteLength !== getByteLength(b)) return false;\n if (a.buffer === b.buffer && a.byteOffset === b.byteOffset) return true;\n areArrays = true;\n }\n if (!areArrays) {\n if (typeof a != 'object' || typeof b != 'object') return false;\n\n // Objects with different constructors are not equivalent, but `Object`s or `Array`s\n // from different frames are.\n var aCtor = a.constructor, bCtor = b.constructor;\n if (aCtor !== bCtor && !(isFunction(aCtor) && aCtor instanceof aCtor &&\n isFunction(bCtor) && bCtor instanceof bCtor)\n && ('constructor' in a && 'constructor' in b)) {\n return false;\n }\n }\n // Assume equality for cyclic structures. The algorithm for detecting cyclic\n // structures is adapted from ES 5.1 section 15.12.3, abstract operation `JO`.\n\n // Initializing stack of traversed objects.\n // It's done here since we only need them for objects and arrays comparison.\n aStack = aStack || [];\n bStack = bStack || [];\n var length = aStack.length;\n while (length--) {\n // Linear search. Performance is inversely proportional to the number of\n // unique nested structures.\n if (aStack[length] === a) return bStack[length] === b;\n }\n\n // Add the first object to the stack of traversed objects.\n aStack.push(a);\n bStack.push(b);\n\n // Recursively compare objects and arrays.\n if (areArrays) {\n // Compare array lengths to determine if a deep comparison is necessary.\n length = a.length;\n if (length !== b.length) return false;\n // Deep compare the contents, ignoring non-numeric properties.\n while (length--) {\n if (!eq(a[length], b[length], aStack, bStack)) return false;\n }\n } else {\n // Deep compare objects.\n var _keys = keys(a), key;\n length = _keys.length;\n // Ensure that both objects contain the same number of properties before comparing deep equality.\n if (keys(b).length !== length) return false;\n while (length--) {\n // Deep compare each member\n key = _keys[length];\n if (!(has(b, key) && eq(a[key], b[key], aStack, bStack))) return false;\n }\n }\n // Remove the first object from the stack of traversed objects.\n aStack.pop();\n bStack.pop();\n return true;\n}\n\n// Perform a deep comparison to check if two objects are equal.\nexport default function isEqual(a, b) {\n return eq(a, b);\n}\n","import isObject from './isObject.js';\nimport { hasEnumBug } from './_setup.js';\nimport collectNonEnumProps from './_collectNonEnumProps.js';\n\n// Retrieve all the enumerable property names of an object.\nexport default function allKeys(obj) {\n if (!isObject(obj)) return [];\n var keys = [];\n for (var key in obj) keys.push(key);\n // Ahem, IE < 9.\n if (hasEnumBug) collectNonEnumProps(obj, keys);\n return keys;\n}\n","import getLength from './_getLength.js';\nimport isFunction from './isFunction.js';\nimport allKeys from './allKeys.js';\n\n// Since the regular `Object.prototype.toString` type tests don't work for\n// some types in IE 11, we use a fingerprinting heuristic instead, based\n// on the methods. It's not great, but it's the best we got.\n// The fingerprint method lists are defined below.\nexport function ie11fingerprint(methods) {\n var length = getLength(methods);\n return function(obj) {\n if (obj == null) return false;\n // `Map`, `WeakMap` and `Set` have no enumerable keys.\n var keys = allKeys(obj);\n if (getLength(keys)) return false;\n for (var i = 0; i < length; i++) {\n if (!isFunction(obj[methods[i]])) return false;\n }\n // If we are testing against `WeakMap`, we need to ensure that\n // `obj` doesn't have a `forEach` method in order to distinguish\n // it from a regular `Map`.\n return methods !== weakMapMethods || !isFunction(obj[forEachName]);\n };\n}\n\n// In the interest of compact minification, we write\n// each string in the fingerprints only once.\nvar forEachName = 'forEach',\n hasName = 'has',\n commonInit = ['clear', 'delete'],\n mapTail = ['get', hasName, 'set'];\n\n// `Map`, `WeakMap` and `Set` each have slightly different\n// combinations of the above sublists.\nexport var mapMethods = commonInit.concat(forEachName, mapTail),\n weakMapMethods = commonInit.concat(mapTail),\n setMethods = ['add'].concat(commonInit, forEachName, hasName);\n","import tagTester from './_tagTester.js';\nimport { isIE11 } from './_stringTagBug.js';\nimport { ie11fingerprint, mapMethods } from './_methodFingerprint.js';\n\nexport default isIE11 ? ie11fingerprint(mapMethods) : tagTester('Map');\n","import tagTester from './_tagTester.js';\nimport { isIE11 } from './_stringTagBug.js';\nimport { ie11fingerprint, weakMapMethods } from './_methodFingerprint.js';\n\nexport default isIE11 ? ie11fingerprint(weakMapMethods) : tagTester('WeakMap');\n","import tagTester from './_tagTester.js';\nimport { isIE11 } from './_stringTagBug.js';\nimport { ie11fingerprint, setMethods } from './_methodFingerprint.js';\n\nexport default isIE11 ? ie11fingerprint(setMethods) : tagTester('Set');\n","import tagTester from './_tagTester.js';\n\nexport default tagTester('WeakSet');\n","import keys from './keys.js';\n\n// Retrieve the values of an object's properties.\nexport default function values(obj) {\n var _keys = keys(obj);\n var length = _keys.length;\n var values = Array(length);\n for (var i = 0; i < length; i++) {\n values[i] = obj[_keys[i]];\n }\n return values;\n}\n","import keys from './keys.js';\n\n// Convert an object into a list of `[key, value]` pairs.\n// The opposite of `_.object` with one argument.\nexport default function pairs(obj) {\n var _keys = keys(obj);\n var length = _keys.length;\n var pairs = Array(length);\n for (var i = 0; i < length; i++) {\n pairs[i] = [_keys[i], obj[_keys[i]]];\n }\n return pairs;\n}\n","import keys from './keys.js';\n\n// Invert the keys and values of an object. The values must be serializable.\nexport default function invert(obj) {\n var result = {};\n var _keys = keys(obj);\n for (var i = 0, length = _keys.length; i < length; i++) {\n result[obj[_keys[i]]] = _keys[i];\n }\n return result;\n}\n","import isFunction from './isFunction.js';\n\n// Return a sorted list of the function names available on the object.\nexport default function functions(obj) {\n var names = [];\n for (var key in obj) {\n if (isFunction(obj[key])) names.push(key);\n }\n return names.sort();\n}\n","// An internal function for creating assigner functions.\nexport default function createAssigner(keysFunc, defaults) {\n return function(obj) {\n var length = arguments.length;\n if (defaults) obj = Object(obj);\n if (length < 2 || obj == null) return obj;\n for (var index = 1; index < length; index++) {\n var source = arguments[index],\n keys = keysFunc(source),\n l = keys.length;\n for (var i = 0; i < l; i++) {\n var key = keys[i];\n if (!defaults || obj[key] === void 0) obj[key] = source[key];\n }\n }\n return obj;\n };\n}\n","import createAssigner from './_createAssigner.js';\nimport allKeys from './allKeys.js';\n\n// Extend a given object with all the properties in passed-in object(s).\nexport default createAssigner(allKeys);\n","import createAssigner from './_createAssigner.js';\nimport keys from './keys.js';\n\n// Assigns a given object with all the own properties in the passed-in\n// object(s).\n// (https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Object/assign)\nexport default createAssigner(keys);\n","import createAssigner from './_createAssigner.js';\nimport allKeys from './allKeys.js';\n\n// Fill in a given object with default properties.\nexport default createAssigner(allKeys, true);\n","import isObject from './isObject.js';\nimport { nativeCreate } from './_setup.js';\n\n// Create a naked function reference for surrogate-prototype-swapping.\nfunction ctor() {\n return function(){};\n}\n\n// An internal function for creating a new object that inherits from another.\nexport default function baseCreate(prototype) {\n if (!isObject(prototype)) return {};\n if (nativeCreate) return nativeCreate(prototype);\n var Ctor = ctor();\n Ctor.prototype = prototype;\n var result = new Ctor;\n Ctor.prototype = null;\n return result;\n}\n","import baseCreate from './_baseCreate.js';\nimport extendOwn from './extendOwn.js';\n\n// Creates an object that inherits from the given prototype object.\n// If additional properties are provided then they will be added to the\n// created object.\nexport default function create(prototype, props) {\n var result = baseCreate(prototype);\n if (props) extendOwn(result, props);\n return result;\n}\n","import isObject from './isObject.js';\nimport isArray from './isArray.js';\nimport extend from './extend.js';\n\n// Create a (shallow-cloned) duplicate of an object.\nexport default function clone(obj) {\n if (!isObject(obj)) return obj;\n return isArray(obj) ? obj.slice() : extend({}, obj);\n}\n","// Invokes `interceptor` with the `obj` and then returns `obj`.\n// The primary purpose of this method is to \"tap into\" a method chain, in\n// order to perform operations on intermediate results within the chain.\nexport default function tap(obj, interceptor) {\n interceptor(obj);\n return obj;\n}\n","import _ from './underscore.js';\nimport isArray from './isArray.js';\n\n// Normalize a (deep) property `path` to array.\n// Like `_.iteratee`, this function can be customized.\nexport default function toPath(path) {\n return isArray(path) ? path : [path];\n}\n_.toPath = toPath;\n","import _ from './underscore.js';\nimport './toPath.js';\n\n// Internal wrapper for `_.toPath` to enable minification.\n// Similar to `cb` for `_.iteratee`.\nexport default function toPath(path) {\n return _.toPath(path);\n}\n","// Internal function to obtain a nested property in `obj` along `path`.\nexport default function deepGet(obj, path) {\n var length = path.length;\n for (var i = 0; i < length; i++) {\n if (obj == null) return void 0;\n obj = obj[path[i]];\n }\n return length ? obj : void 0;\n}\n","import toPath from './_toPath.js';\nimport deepGet from './_deepGet.js';\nimport isUndefined from './isUndefined.js';\n\n// Get the value of the (deep) property on `path` from `object`.\n// If any property in `path` does not exist or if the value is\n// `undefined`, return `defaultValue` instead.\n// The `path` is normalized through `_.toPath`.\nexport default function get(object, path, defaultValue) {\n var value = deepGet(object, toPath(path));\n return isUndefined(value) ? defaultValue : value;\n}\n","import _has from './_has.js';\nimport toPath from './_toPath.js';\n\n// Shortcut function for checking if an object has a given property directly on\n// itself (in other words, not on a prototype). Unlike the internal `has`\n// function, this public version can also traverse nested properties.\nexport default function has(obj, path) {\n path = toPath(path);\n var length = path.length;\n for (var i = 0; i < length; i++) {\n var key = path[i];\n if (!_has(obj, key)) return false;\n obj = obj[key];\n }\n return !!length;\n}\n","// Keep the identity function around for default iteratees.\nexport default function identity(value) {\n return value;\n}\n","import extendOwn from './extendOwn.js';\nimport isMatch from './isMatch.js';\n\n// Returns a predicate for checking whether an object has a given set of\n// `key:value` pairs.\nexport default function matcher(attrs) {\n attrs = extendOwn({}, attrs);\n return function(obj) {\n return isMatch(obj, attrs);\n };\n}\n","import deepGet from './_deepGet.js';\nimport toPath from './_toPath.js';\n\n// Creates a function that, when passed an object, will traverse that object’s\n// properties down the given `path`, specified as an array of keys or indices.\nexport default function property(path) {\n path = toPath(path);\n return function(obj) {\n return deepGet(obj, path);\n };\n}\n","// Internal function that returns an efficient (for current engines) version\n// of the passed-in callback, to be repeatedly applied in other Underscore\n// functions.\nexport default function optimizeCb(func, context, argCount) {\n if (context === void 0) return func;\n switch (argCount == null ? 3 : argCount) {\n case 1: return function(value) {\n return func.call(context, value);\n };\n // The 2-argument case is omitted because we’re not using it.\n case 3: return function(value, index, collection) {\n return func.call(context, value, index, collection);\n };\n case 4: return function(accumulator, value, index, collection) {\n return func.call(context, accumulator, value, index, collection);\n };\n }\n return function() {\n return func.apply(context, arguments);\n };\n}\n","import identity from './identity.js';\nimport isFunction from './isFunction.js';\nimport isObject from './isObject.js';\nimport isArray from './isArray.js';\nimport matcher from './matcher.js';\nimport property from './property.js';\nimport optimizeCb from './_optimizeCb.js';\n\n// An internal function to generate callbacks that can be applied to each\n// element in a collection, returning the desired result — either `_.identity`,\n// an arbitrary callback, a property matcher, or a property accessor.\nexport default function baseIteratee(value, context, argCount) {\n if (value == null) return identity;\n if (isFunction(value)) return optimizeCb(value, context, argCount);\n if (isObject(value) && !isArray(value)) return matcher(value);\n return property(value);\n}\n","import _ from './underscore.js';\nimport baseIteratee from './_baseIteratee.js';\n\n// External wrapper for our callback generator. Users may customize\n// `_.iteratee` if they want additional predicate/iteratee shorthand styles.\n// This abstraction hides the internal-only `argCount` argument.\nexport default function iteratee(value, context) {\n return baseIteratee(value, context, Infinity);\n}\n_.iteratee = iteratee;\n","import _ from './underscore.js';\nimport baseIteratee from './_baseIteratee.js';\nimport iteratee from './iteratee.js';\n\n// The function we call internally to generate a callback. It invokes\n// `_.iteratee` if overridden, otherwise `baseIteratee`.\nexport default function cb(value, context, argCount) {\n if (_.iteratee !== iteratee) return _.iteratee(value, context);\n return baseIteratee(value, context, argCount);\n}\n","import cb from './_cb.js';\nimport keys from './keys.js';\n\n// Returns the results of applying the `iteratee` to each element of `obj`.\n// In contrast to `_.map` it returns an object.\nexport default function mapObject(obj, iteratee, context) {\n iteratee = cb(iteratee, context);\n var _keys = keys(obj),\n length = _keys.length,\n results = {};\n for (var index = 0; index < length; index++) {\n var currentKey = _keys[index];\n results[currentKey] = iteratee(obj[currentKey], currentKey, obj);\n }\n return results;\n}\n","// Predicate-generating function. Often useful outside of Underscore.\nexport default function noop(){}\n","import noop from './noop.js';\nimport get from './get.js';\n\n// Generates a function for a given object that returns a given property.\nexport default function propertyOf(obj) {\n if (obj == null) return noop;\n return function(path) {\n return get(obj, path);\n };\n}\n","import optimizeCb from './_optimizeCb.js';\n\n// Run a function **n** times.\nexport default function times(n, iteratee, context) {\n var accum = Array(Math.max(0, n));\n iteratee = optimizeCb(iteratee, context, 1);\n for (var i = 0; i < n; i++) accum[i] = iteratee(i);\n return accum;\n}\n","// Return a random integer between `min` and `max` (inclusive).\nexport default function random(min, max) {\n if (max == null) {\n max = min;\n min = 0;\n }\n return min + Math.floor(Math.random() * (max - min + 1));\n}\n","// A (possibly faster) way to get the current timestamp as an integer.\nexport default Date.now || function() {\n return new Date().getTime();\n};\n","import keys from './keys.js';\n\n// Internal helper to generate functions for escaping and unescaping strings\n// to/from HTML interpolation.\nexport default function createEscaper(map) {\n var escaper = function(match) {\n return map[match];\n };\n // Regexes for identifying a key that needs to be escaped.\n var source = '(?:' + keys(map).join('|') + ')';\n var testRegexp = RegExp(source);\n var replaceRegexp = RegExp(source, 'g');\n return function(string) {\n string = string == null ? '' : '' + string;\n return testRegexp.test(string) ? string.replace(replaceRegexp, escaper) : string;\n };\n}\n","// Internal list of HTML entities for escaping.\nexport default {\n '&': '&',\n '<': '<',\n '>': '>',\n '\"': '"',\n \"'\": ''',\n '`': '`'\n};\n","import createEscaper from './_createEscaper.js';\nimport escapeMap from './_escapeMap.js';\n\n// Function for escaping strings to HTML interpolation.\nexport default createEscaper(escapeMap);\n","import createEscaper from './_createEscaper.js';\nimport unescapeMap from './_unescapeMap.js';\n\n// Function for unescaping strings from HTML interpolation.\nexport default createEscaper(unescapeMap);\n","import invert from './invert.js';\nimport escapeMap from './_escapeMap.js';\n\n// Internal list of HTML entities for unescaping.\nexport default invert(escapeMap);\n","import _ from './underscore.js';\n\n// By default, Underscore uses ERB-style template delimiters. Change the\n// following template settings to use alternative delimiters.\nexport default _.templateSettings = {\n evaluate: /<%([\\s\\S]+?)%>/g,\n interpolate: /<%=([\\s\\S]+?)%>/g,\n escape: /<%-([\\s\\S]+?)%>/g\n};\n","import defaults from './defaults.js';\nimport _ from './underscore.js';\nimport './templateSettings.js';\n\n// When customizing `_.templateSettings`, if you don't want to define an\n// interpolation, evaluation or escaping regex, we need one that is\n// guaranteed not to match.\nvar noMatch = /(.)^/;\n\n// Certain characters need to be escaped so that they can be put into a\n// string literal.\nvar escapes = {\n \"'\": \"'\",\n '\\\\': '\\\\',\n '\\r': 'r',\n '\\n': 'n',\n '\\u2028': 'u2028',\n '\\u2029': 'u2029'\n};\n\nvar escapeRegExp = /\\\\|'|\\r|\\n|\\u2028|\\u2029/g;\n\nfunction escapeChar(match) {\n return '\\\\' + escapes[match];\n}\n\n// In order to prevent third-party code injection through\n// `_.templateSettings.variable`, we test it against the following regular\n// expression. It is intentionally a bit more liberal than just matching valid\n// identifiers, but still prevents possible loopholes through defaults or\n// destructuring assignment.\nvar bareIdentifier = /^\\s*(\\w|\\$)+\\s*$/;\n\n// JavaScript micro-templating, similar to John Resig's implementation.\n// Underscore templating handles arbitrary delimiters, preserves whitespace,\n// and correctly escapes quotes within interpolated code.\n// NB: `oldSettings` only exists for backwards compatibility.\nexport default function template(text, settings, oldSettings) {\n if (!settings && oldSettings) settings = oldSettings;\n settings = defaults({}, settings, _.templateSettings);\n\n // Combine delimiters into one regular expression via alternation.\n var matcher = RegExp([\n (settings.escape || noMatch).source,\n (settings.interpolate || noMatch).source,\n (settings.evaluate || noMatch).source\n ].join('|') + '|$', 'g');\n\n // Compile the template source, escaping string literals appropriately.\n var index = 0;\n var source = \"__p+='\";\n text.replace(matcher, function(match, escape, interpolate, evaluate, offset) {\n source += text.slice(index, offset).replace(escapeRegExp, escapeChar);\n index = offset + match.length;\n\n if (escape) {\n source += \"'+\\n((__t=(\" + escape + \"))==null?'':_.escape(__t))+\\n'\";\n } else if (interpolate) {\n source += \"'+\\n((__t=(\" + interpolate + \"))==null?'':__t)+\\n'\";\n } else if (evaluate) {\n source += \"';\\n\" + evaluate + \"\\n__p+='\";\n }\n\n // Adobe VMs need the match returned to produce the correct offset.\n return match;\n });\n source += \"';\\n\";\n\n var argument = settings.variable;\n if (argument) {\n // Insure against third-party code injection. (CVE-2021-23358)\n if (!bareIdentifier.test(argument)) throw new Error(\n 'variable is not a bare identifier: ' + argument\n );\n } else {\n // If a variable is not specified, place data values in local scope.\n source = 'with(obj||{}){\\n' + source + '}\\n';\n argument = 'obj';\n }\n\n source = \"var __t,__p='',__j=Array.prototype.join,\" +\n \"print=function(){__p+=__j.call(arguments,'');};\\n\" +\n source + 'return __p;\\n';\n\n var render;\n try {\n render = new Function(argument, '_', source);\n } catch (e) {\n e.source = source;\n throw e;\n }\n\n var template = function(data) {\n return render.call(this, data, _);\n };\n\n // Provide the compiled source as a convenience for precompilation.\n template.source = 'function(' + argument + '){\\n' + source + '}';\n\n return template;\n}\n","import isFunction from './isFunction.js';\nimport toPath from './_toPath.js';\n\n// Traverses the children of `obj` along `path`. If a child is a function, it\n// is invoked with its parent as context. Returns the value of the final\n// child, or `fallback` if any child is undefined.\nexport default function result(obj, path, fallback) {\n path = toPath(path);\n var length = path.length;\n if (!length) {\n return isFunction(fallback) ? fallback.call(obj) : fallback;\n }\n for (var i = 0; i < length; i++) {\n var prop = obj == null ? void 0 : obj[path[i]];\n if (prop === void 0) {\n prop = fallback;\n i = length; // Ensure we don't continue iterating.\n }\n obj = isFunction(prop) ? prop.call(obj) : prop;\n }\n return obj;\n}\n","// Generate a unique integer id (unique within the entire client session).\n// Useful for temporary DOM ids.\nvar idCounter = 0;\nexport default function uniqueId(prefix) {\n var id = ++idCounter + '';\n return prefix ? prefix + id : id;\n}\n","import _ from './underscore.js';\n\n// Start chaining a wrapped Underscore object.\nexport default function chain(obj) {\n var instance = _(obj);\n instance._chain = true;\n return instance;\n}\n","import baseCreate from './_baseCreate.js';\nimport isObject from './isObject.js';\n\n// Internal function to execute `sourceFunc` bound to `context` with optional\n// `args`. Determines whether to execute a function as a constructor or as a\n// normal function.\nexport default function executeBound(sourceFunc, boundFunc, context, callingContext, args) {\n if (!(callingContext instanceof boundFunc)) return sourceFunc.apply(context, args);\n var self = baseCreate(sourceFunc.prototype);\n var result = sourceFunc.apply(self, args);\n if (isObject(result)) return result;\n return self;\n}\n","import restArguments from './restArguments.js';\nimport executeBound from './_executeBound.js';\nimport _ from './underscore.js';\n\n// Partially apply a function by creating a version that has had some of its\n// arguments pre-filled, without changing its dynamic `this` context. `_` acts\n// as a placeholder by default, allowing any combination of arguments to be\n// pre-filled. Set `_.partial.placeholder` for a custom placeholder argument.\nvar partial = restArguments(function(func, boundArgs) {\n var placeholder = partial.placeholder;\n var bound = function() {\n var position = 0, length = boundArgs.length;\n var args = Array(length);\n for (var i = 0; i < length; i++) {\n args[i] = boundArgs[i] === placeholder ? arguments[position++] : boundArgs[i];\n }\n while (position < arguments.length) args.push(arguments[position++]);\n return executeBound(func, bound, this, this, args);\n };\n return bound;\n});\n\npartial.placeholder = _;\nexport default partial;\n","import restArguments from './restArguments.js';\nimport isFunction from './isFunction.js';\nimport executeBound from './_executeBound.js';\n\n// Create a function bound to a given object (assigning `this`, and arguments,\n// optionally).\nexport default restArguments(function(func, context, args) {\n if (!isFunction(func)) throw new TypeError('Bind must be called on a function');\n var bound = restArguments(function(callArgs) {\n return executeBound(func, bound, context, this, args.concat(callArgs));\n });\n return bound;\n});\n","import createSizePropertyCheck from './_createSizePropertyCheck.js';\nimport getLength from './_getLength.js';\n\n// Internal helper for collection methods to determine whether a collection\n// should be iterated as an array or as an object.\n// Related: https://people.mozilla.org/~jorendorff/es6-draft.html#sec-tolength\n// Avoids a very nasty iOS 8 JIT bug on ARM-64. #2094\nexport default createSizePropertyCheck(getLength);\n","import getLength from './_getLength.js';\nimport isArrayLike from './_isArrayLike.js';\nimport isArray from './isArray.js';\nimport isArguments from './isArguments.js';\n\n// Internal implementation of a recursive `flatten` function.\nexport default function flatten(input, depth, strict, output) {\n output = output || [];\n if (!depth && depth !== 0) {\n depth = Infinity;\n } else if (depth <= 0) {\n return output.concat(input);\n }\n var idx = output.length;\n for (var i = 0, length = getLength(input); i < length; i++) {\n var value = input[i];\n if (isArrayLike(value) && (isArray(value) || isArguments(value))) {\n // Flatten current level of array or arguments object.\n if (depth > 1) {\n flatten(value, depth - 1, strict, output);\n idx = output.length;\n } else {\n var j = 0, len = value.length;\n while (j < len) output[idx++] = value[j++];\n }\n } else if (!strict) {\n output[idx++] = value;\n }\n }\n return output;\n}\n","import restArguments from './restArguments.js';\nimport flatten from './_flatten.js';\nimport bind from './bind.js';\n\n// Bind a number of an object's methods to that object. Remaining arguments\n// are the method names to be bound. Useful for ensuring that all callbacks\n// defined on an object belong to it.\nexport default restArguments(function(obj, keys) {\n keys = flatten(keys, false, false);\n var index = keys.length;\n if (index < 1) throw new Error('bindAll must be passed function names');\n while (index--) {\n var key = keys[index];\n obj[key] = bind(obj[key], obj);\n }\n return obj;\n});\n","import has from './_has.js';\n\n// Memoize an expensive function by storing its results.\nexport default function memoize(func, hasher) {\n var memoize = function(key) {\n var cache = memoize.cache;\n var address = '' + (hasher ? hasher.apply(this, arguments) : key);\n if (!has(cache, address)) cache[address] = func.apply(this, arguments);\n return cache[address];\n };\n memoize.cache = {};\n return memoize;\n}\n","import restArguments from './restArguments.js';\n\n// Delays a function for the given number of milliseconds, and then calls\n// it with the arguments supplied.\nexport default restArguments(function(func, wait, args) {\n return setTimeout(function() {\n return func.apply(null, args);\n }, wait);\n});\n","import partial from './partial.js';\nimport delay from './delay.js';\nimport _ from './underscore.js';\n\n// Defers a function, scheduling it to run after the current call stack has\n// cleared.\nexport default partial(delay, _, 1);\n","import now from './now.js';\n\n// Returns a function, that, when invoked, will only be triggered at most once\n// during a given window of time. Normally, the throttled function will run\n// as much as it can, without ever going more than once per `wait` duration;\n// but if you'd like to disable the execution on the leading edge, pass\n// `{leading: false}`. To disable execution on the trailing edge, ditto.\nexport default function throttle(func, wait, options) {\n var timeout, context, args, result;\n var previous = 0;\n if (!options) options = {};\n\n var later = function() {\n previous = options.leading === false ? 0 : now();\n timeout = null;\n result = func.apply(context, args);\n if (!timeout) context = args = null;\n };\n\n var throttled = function() {\n var _now = now();\n if (!previous && options.leading === false) previous = _now;\n var remaining = wait - (_now - previous);\n context = this;\n args = arguments;\n if (remaining <= 0 || remaining > wait) {\n if (timeout) {\n clearTimeout(timeout);\n timeout = null;\n }\n previous = _now;\n result = func.apply(context, args);\n if (!timeout) context = args = null;\n } else if (!timeout && options.trailing !== false) {\n timeout = setTimeout(later, remaining);\n }\n return result;\n };\n\n throttled.cancel = function() {\n clearTimeout(timeout);\n previous = 0;\n timeout = context = args = null;\n };\n\n return throttled;\n}\n","import restArguments from './restArguments.js';\nimport now from './now.js';\n\n// When a sequence of calls of the returned function ends, the argument\n// function is triggered. The end of a sequence is defined by the `wait`\n// parameter. If `immediate` is passed, the argument function will be\n// triggered at the beginning of the sequence instead of at the end.\nexport default function debounce(func, wait, immediate) {\n var timeout, previous, args, result, context;\n\n var later = function() {\n var passed = now() - previous;\n if (wait > passed) {\n timeout = setTimeout(later, wait - passed);\n } else {\n timeout = null;\n if (!immediate) result = func.apply(context, args);\n // This check is needed because `func` can recursively invoke `debounced`.\n if (!timeout) args = context = null;\n }\n };\n\n var debounced = restArguments(function(_args) {\n context = this;\n args = _args;\n previous = now();\n if (!timeout) {\n timeout = setTimeout(later, wait);\n if (immediate) result = func.apply(context, args);\n }\n return result;\n });\n\n debounced.cancel = function() {\n clearTimeout(timeout);\n timeout = args = context = null;\n };\n\n return debounced;\n}\n","import partial from './partial.js';\n\n// Returns the first function passed as an argument to the second,\n// allowing you to adjust arguments, run code before and after, and\n// conditionally execute the original function.\nexport default function wrap(func, wrapper) {\n return partial(wrapper, func);\n}\n","// Returns a negated version of the passed-in predicate.\nexport default function negate(predicate) {\n return function() {\n return !predicate.apply(this, arguments);\n };\n}\n","// Returns a function that is the composition of a list of functions, each\n// consuming the return value of the function that follows.\nexport default function compose() {\n var args = arguments;\n var start = args.length - 1;\n return function() {\n var i = start;\n var result = args[start].apply(this, arguments);\n while (i--) result = args[i].call(this, result);\n return result;\n };\n}\n","// Returns a function that will only be executed on and after the Nth call.\nexport default function after(times, func) {\n return function() {\n if (--times < 1) {\n return func.apply(this, arguments);\n }\n };\n}\n","// Returns a function that will only be executed up to (but not including) the\n// Nth call.\nexport default function before(times, func) {\n var memo;\n return function() {\n if (--times > 0) {\n memo = func.apply(this, arguments);\n }\n if (times <= 1) func = null;\n return memo;\n };\n}\n","import partial from './partial.js';\nimport before from './before.js';\n\n// Returns a function that will be executed at most one time, no matter how\n// often you call it. Useful for lazy initialization.\nexport default partial(before, 2);\n","import cb from './_cb.js';\nimport keys from './keys.js';\n\n// Returns the first key on an object that passes a truth test.\nexport default function findKey(obj, predicate, context) {\n predicate = cb(predicate, context);\n var _keys = keys(obj), key;\n for (var i = 0, length = _keys.length; i < length; i++) {\n key = _keys[i];\n if (predicate(obj[key], key, obj)) return key;\n }\n}\n","import cb from './_cb.js';\nimport getLength from './_getLength.js';\n\n// Internal function to generate `_.findIndex` and `_.findLastIndex`.\nexport default function createPredicateIndexFinder(dir) {\n return function(array, predicate, context) {\n predicate = cb(predicate, context);\n var length = getLength(array);\n var index = dir > 0 ? 0 : length - 1;\n for (; index >= 0 && index < length; index += dir) {\n if (predicate(array[index], index, array)) return index;\n }\n return -1;\n };\n}\n","import createPredicateIndexFinder from './_createPredicateIndexFinder.js';\n\n// Returns the first index on an array-like that passes a truth test.\nexport default createPredicateIndexFinder(1);\n","import createPredicateIndexFinder from './_createPredicateIndexFinder.js';\n\n// Returns the last index on an array-like that passes a truth test.\nexport default createPredicateIndexFinder(-1);\n","import cb from './_cb.js';\nimport getLength from './_getLength.js';\n\n// Use a comparator function to figure out the smallest index at which\n// an object should be inserted so as to maintain order. Uses binary search.\nexport default function sortedIndex(array, obj, iteratee, context) {\n iteratee = cb(iteratee, context, 1);\n var value = iteratee(obj);\n var low = 0, high = getLength(array);\n while (low < high) {\n var mid = Math.floor((low + high) / 2);\n if (iteratee(array[mid]) < value) low = mid + 1; else high = mid;\n }\n return low;\n}\n","import getLength from './_getLength.js';\nimport { slice } from './_setup.js';\nimport isNaN from './isNaN.js';\n\n// Internal function to generate the `_.indexOf` and `_.lastIndexOf` functions.\nexport default function createIndexFinder(dir, predicateFind, sortedIndex) {\n return function(array, item, idx) {\n var i = 0, length = getLength(array);\n if (typeof idx == 'number') {\n if (dir > 0) {\n i = idx >= 0 ? idx : Math.max(idx + length, i);\n } else {\n length = idx >= 0 ? Math.min(idx + 1, length) : idx + length + 1;\n }\n } else if (sortedIndex && idx && length) {\n idx = sortedIndex(array, item);\n return array[idx] === item ? idx : -1;\n }\n if (item !== item) {\n idx = predicateFind(slice.call(array, i, length), isNaN);\n return idx >= 0 ? idx + i : -1;\n }\n for (idx = dir > 0 ? i : length - 1; idx >= 0 && idx < length; idx += dir) {\n if (array[idx] === item) return idx;\n }\n return -1;\n };\n}\n","import sortedIndex from './sortedIndex.js';\nimport findIndex from './findIndex.js';\nimport createIndexFinder from './_createIndexFinder.js';\n\n// Return the position of the first occurrence of an item in an array,\n// or -1 if the item is not included in the array.\n// If the array is large and already in sort order, pass `true`\n// for **isSorted** to use binary search.\nexport default createIndexFinder(1, findIndex, sortedIndex);\n","import findLastIndex from './findLastIndex.js';\nimport createIndexFinder from './_createIndexFinder.js';\n\n// Return the position of the last occurrence of an item in an array,\n// or -1 if the item is not included in the array.\nexport default createIndexFinder(-1, findLastIndex);\n","import isArrayLike from './_isArrayLike.js';\nimport findIndex from './findIndex.js';\nimport findKey from './findKey.js';\n\n// Return the first value which passes a truth test.\nexport default function find(obj, predicate, context) {\n var keyFinder = isArrayLike(obj) ? findIndex : findKey;\n var key = keyFinder(obj, predicate, context);\n if (key !== void 0 && key !== -1) return obj[key];\n}\n","import find from './find.js';\nimport matcher from './matcher.js';\n\n// Convenience version of a common use case of `_.find`: getting the first\n// object containing specific `key:value` pairs.\nexport default function findWhere(obj, attrs) {\n return find(obj, matcher(attrs));\n}\n","import optimizeCb from './_optimizeCb.js';\nimport isArrayLike from './_isArrayLike.js';\nimport keys from './keys.js';\n\n// The cornerstone for collection functions, an `each`\n// implementation, aka `forEach`.\n// Handles raw objects in addition to array-likes. Treats all\n// sparse array-likes as if they were dense.\nexport default function each(obj, iteratee, context) {\n iteratee = optimizeCb(iteratee, context);\n var i, length;\n if (isArrayLike(obj)) {\n for (i = 0, length = obj.length; i < length; i++) {\n iteratee(obj[i], i, obj);\n }\n } else {\n var _keys = keys(obj);\n for (i = 0, length = _keys.length; i < length; i++) {\n iteratee(obj[_keys[i]], _keys[i], obj);\n }\n }\n return obj;\n}\n","import cb from './_cb.js';\nimport isArrayLike from './_isArrayLike.js';\nimport keys from './keys.js';\n\n// Return the results of applying the iteratee to each element.\nexport default function map(obj, iteratee, context) {\n iteratee = cb(iteratee, context);\n var _keys = !isArrayLike(obj) && keys(obj),\n length = (_keys || obj).length,\n results = Array(length);\n for (var index = 0; index < length; index++) {\n var currentKey = _keys ? _keys[index] : index;\n results[index] = iteratee(obj[currentKey], currentKey, obj);\n }\n return results;\n}\n","import isArrayLike from './_isArrayLike.js';\nimport keys from './keys.js';\nimport optimizeCb from './_optimizeCb.js';\n\n// Internal helper to create a reducing function, iterating left or right.\nexport default function createReduce(dir) {\n // Wrap code that reassigns argument variables in a separate function than\n // the one that accesses `arguments.length` to avoid a perf hit. (#1991)\n var reducer = function(obj, iteratee, memo, initial) {\n var _keys = !isArrayLike(obj) && keys(obj),\n length = (_keys || obj).length,\n index = dir > 0 ? 0 : length - 1;\n if (!initial) {\n memo = obj[_keys ? _keys[index] : index];\n index += dir;\n }\n for (; index >= 0 && index < length; index += dir) {\n var currentKey = _keys ? _keys[index] : index;\n memo = iteratee(memo, obj[currentKey], currentKey, obj);\n }\n return memo;\n };\n\n return function(obj, iteratee, memo, context) {\n var initial = arguments.length >= 3;\n return reducer(obj, optimizeCb(iteratee, context, 4), memo, initial);\n };\n}\n","import createReduce from './_createReduce.js';\n\n// **Reduce** builds up a single result from a list of values, aka `inject`,\n// or `foldl`.\nexport default createReduce(1);\n","import createReduce from './_createReduce.js';\n\n// The right-associative version of reduce, also known as `foldr`.\nexport default createReduce(-1);\n","import cb from './_cb.js';\nimport each from './each.js';\n\n// Return all the elements that pass a truth test.\nexport default function filter(obj, predicate, context) {\n var results = [];\n predicate = cb(predicate, context);\n each(obj, function(value, index, list) {\n if (predicate(value, index, list)) results.push(value);\n });\n return results;\n}\n","import filter from './filter.js';\nimport negate from './negate.js';\nimport cb from './_cb.js';\n\n// Return all the elements for which a truth test fails.\nexport default function reject(obj, predicate, context) {\n return filter(obj, negate(cb(predicate)), context);\n}\n","import cb from './_cb.js';\nimport isArrayLike from './_isArrayLike.js';\nimport keys from './keys.js';\n\n// Determine whether all of the elements pass a truth test.\nexport default function every(obj, predicate, context) {\n predicate = cb(predicate, context);\n var _keys = !isArrayLike(obj) && keys(obj),\n length = (_keys || obj).length;\n for (var index = 0; index < length; index++) {\n var currentKey = _keys ? _keys[index] : index;\n if (!predicate(obj[currentKey], currentKey, obj)) return false;\n }\n return true;\n}\n","import cb from './_cb.js';\nimport isArrayLike from './_isArrayLike.js';\nimport keys from './keys.js';\n\n// Determine if at least one element in the object passes a truth test.\nexport default function some(obj, predicate, context) {\n predicate = cb(predicate, context);\n var _keys = !isArrayLike(obj) && keys(obj),\n length = (_keys || obj).length;\n for (var index = 0; index < length; index++) {\n var currentKey = _keys ? _keys[index] : index;\n if (predicate(obj[currentKey], currentKey, obj)) return true;\n }\n return false;\n}\n","import isArrayLike from './_isArrayLike.js';\nimport values from './values.js';\nimport indexOf from './indexOf.js';\n\n// Determine if the array or object contains a given item (using `===`).\nexport default function contains(obj, item, fromIndex, guard) {\n if (!isArrayLike(obj)) obj = values(obj);\n if (typeof fromIndex != 'number' || guard) fromIndex = 0;\n return indexOf(obj, item, fromIndex) >= 0;\n}\n","import restArguments from './restArguments.js';\nimport isFunction from './isFunction.js';\nimport map from './map.js';\nimport deepGet from './_deepGet.js';\nimport toPath from './_toPath.js';\n\n// Invoke a method (with arguments) on every item in a collection.\nexport default restArguments(function(obj, path, args) {\n var contextPath, func;\n if (isFunction(path)) {\n func = path;\n } else {\n path = toPath(path);\n contextPath = path.slice(0, -1);\n path = path[path.length - 1];\n }\n return map(obj, function(context) {\n var method = func;\n if (!method) {\n if (contextPath && contextPath.length) {\n context = deepGet(context, contextPath);\n }\n if (context == null) return void 0;\n method = context[path];\n }\n return method == null ? method : method.apply(context, args);\n });\n});\n","import map from './map.js';\nimport property from './property.js';\n\n// Convenience version of a common use case of `_.map`: fetching a property.\nexport default function pluck(obj, key) {\n return map(obj, property(key));\n}\n","import filter from './filter.js';\nimport matcher from './matcher.js';\n\n// Convenience version of a common use case of `_.filter`: selecting only\n// objects containing specific `key:value` pairs.\nexport default function where(obj, attrs) {\n return filter(obj, matcher(attrs));\n}\n","import isArrayLike from './_isArrayLike.js';\nimport values from './values.js';\nimport cb from './_cb.js';\nimport each from './each.js';\n\n// Return the maximum element (or element-based computation).\nexport default function max(obj, iteratee, context) {\n var result = -Infinity, lastComputed = -Infinity,\n value, computed;\n if (iteratee == null || (typeof iteratee == 'number' && typeof obj[0] != 'object' && obj != null)) {\n obj = isArrayLike(obj) ? obj : values(obj);\n for (var i = 0, length = obj.length; i < length; i++) {\n value = obj[i];\n if (value != null && value > result) {\n result = value;\n }\n }\n } else {\n iteratee = cb(iteratee, context);\n each(obj, function(v, index, list) {\n computed = iteratee(v, index, list);\n if (computed > lastComputed || (computed === -Infinity && result === -Infinity)) {\n result = v;\n lastComputed = computed;\n }\n });\n }\n return result;\n}\n","import isArrayLike from './_isArrayLike.js';\nimport values from './values.js';\nimport cb from './_cb.js';\nimport each from './each.js';\n\n// Return the minimum element (or element-based computation).\nexport default function min(obj, iteratee, context) {\n var result = Infinity, lastComputed = Infinity,\n value, computed;\n if (iteratee == null || (typeof iteratee == 'number' && typeof obj[0] != 'object' && obj != null)) {\n obj = isArrayLike(obj) ? obj : values(obj);\n for (var i = 0, length = obj.length; i < length; i++) {\n value = obj[i];\n if (value != null && value < result) {\n result = value;\n }\n }\n } else {\n iteratee = cb(iteratee, context);\n each(obj, function(v, index, list) {\n computed = iteratee(v, index, list);\n if (computed < lastComputed || (computed === Infinity && result === Infinity)) {\n result = v;\n lastComputed = computed;\n }\n });\n }\n return result;\n}\n","import isArray from './isArray.js';\nimport { slice } from './_setup.js';\nimport isString from './isString.js';\nimport isArrayLike from './_isArrayLike.js';\nimport map from './map.js';\nimport identity from './identity.js';\nimport values from './values.js';\n\n// Safely create a real, live array from anything iterable.\nvar reStrSymbol = /[^\\ud800-\\udfff]|[\\ud800-\\udbff][\\udc00-\\udfff]|[\\ud800-\\udfff]/g;\nexport default function toArray(obj) {\n if (!obj) return [];\n if (isArray(obj)) return slice.call(obj);\n if (isString(obj)) {\n // Keep surrogate pair characters together.\n return obj.match(reStrSymbol);\n }\n if (isArrayLike(obj)) return map(obj, identity);\n return values(obj);\n}\n","import isArrayLike from './_isArrayLike.js';\nimport values from './values.js';\nimport getLength from './_getLength.js';\nimport random from './random.js';\nimport toArray from './toArray.js';\n\n// Sample **n** random values from a collection using the modern version of the\n// [Fisher-Yates shuffle](https://en.wikipedia.org/wiki/Fisher–Yates_shuffle).\n// If **n** is not specified, returns a single random element.\n// The internal `guard` argument allows it to work with `_.map`.\nexport default function sample(obj, n, guard) {\n if (n == null || guard) {\n if (!isArrayLike(obj)) obj = values(obj);\n return obj[random(obj.length - 1)];\n }\n var sample = toArray(obj);\n var length = getLength(sample);\n n = Math.max(Math.min(n, length), 0);\n var last = length - 1;\n for (var index = 0; index < n; index++) {\n var rand = random(index, last);\n var temp = sample[index];\n sample[index] = sample[rand];\n sample[rand] = temp;\n }\n return sample.slice(0, n);\n}\n","import sample from './sample.js';\n\n// Shuffle a collection.\nexport default function shuffle(obj) {\n return sample(obj, Infinity);\n}\n","import cb from './_cb.js';\nimport pluck from './pluck.js';\nimport map from './map.js';\n\n// Sort the object's values by a criterion produced by an iteratee.\nexport default function sortBy(obj, iteratee, context) {\n var index = 0;\n iteratee = cb(iteratee, context);\n return pluck(map(obj, function(value, key, list) {\n return {\n value: value,\n index: index++,\n criteria: iteratee(value, key, list)\n };\n }).sort(function(left, right) {\n var a = left.criteria;\n var b = right.criteria;\n if (a !== b) {\n if (a > b || a === void 0) return 1;\n if (a < b || b === void 0) return -1;\n }\n return left.index - right.index;\n }), 'value');\n}\n","import cb from './_cb.js';\nimport each from './each.js';\n\n// An internal function used for aggregate \"group by\" operations.\nexport default function group(behavior, partition) {\n return function(obj, iteratee, context) {\n var result = partition ? [[], []] : {};\n iteratee = cb(iteratee, context);\n each(obj, function(value, index) {\n var key = iteratee(value, index, obj);\n behavior(result, value, key);\n });\n return result;\n };\n}\n","import group from './_group.js';\nimport has from './_has.js';\n\n// Groups the object's values by a criterion. Pass either a string attribute\n// to group by, or a function that returns the criterion.\nexport default group(function(result, value, key) {\n if (has(result, key)) result[key].push(value); else result[key] = [value];\n});\n","import group from './_group.js';\n\n// Indexes the object's values by a criterion, similar to `_.groupBy`, but for\n// when you know that your index values will be unique.\nexport default group(function(result, value, key) {\n result[key] = value;\n});\n","import group from './_group.js';\nimport has from './_has.js';\n\n// Counts instances of an object that group by a certain criterion. Pass\n// either a string attribute to count by, or a function that returns the\n// criterion.\nexport default group(function(result, value, key) {\n if (has(result, key)) result[key]++; else result[key] = 1;\n});\n","import group from './_group.js';\n\n// Split a collection into two arrays: one whose elements all pass the given\n// truth test, and one whose elements all do not pass the truth test.\nexport default group(function(result, value, pass) {\n result[pass ? 0 : 1].push(value);\n}, true);\n","import isArrayLike from './_isArrayLike.js';\nimport keys from './keys.js';\n\n// Return the number of elements in a collection.\nexport default function size(obj) {\n if (obj == null) return 0;\n return isArrayLike(obj) ? obj.length : keys(obj).length;\n}\n","// Internal `_.pick` helper function to determine whether `key` is an enumerable\n// property name of `obj`.\nexport default function keyInObj(value, key, obj) {\n return key in obj;\n}\n","import restArguments from './restArguments.js';\nimport isFunction from './isFunction.js';\nimport optimizeCb from './_optimizeCb.js';\nimport allKeys from './allKeys.js';\nimport keyInObj from './_keyInObj.js';\nimport flatten from './_flatten.js';\n\n// Return a copy of the object only containing the allowed properties.\nexport default restArguments(function(obj, keys) {\n var result = {}, iteratee = keys[0];\n if (obj == null) return result;\n if (isFunction(iteratee)) {\n if (keys.length > 1) iteratee = optimizeCb(iteratee, keys[1]);\n keys = allKeys(obj);\n } else {\n iteratee = keyInObj;\n keys = flatten(keys, false, false);\n obj = Object(obj);\n }\n for (var i = 0, length = keys.length; i < length; i++) {\n var key = keys[i];\n var value = obj[key];\n if (iteratee(value, key, obj)) result[key] = value;\n }\n return result;\n});\n","import restArguments from './restArguments.js';\nimport isFunction from './isFunction.js';\nimport negate from './negate.js';\nimport map from './map.js';\nimport flatten from './_flatten.js';\nimport contains from './contains.js';\nimport pick from './pick.js';\n\n// Return a copy of the object without the disallowed properties.\nexport default restArguments(function(obj, keys) {\n var iteratee = keys[0], context;\n if (isFunction(iteratee)) {\n iteratee = negate(iteratee);\n if (keys.length > 1) context = keys[1];\n } else {\n keys = map(flatten(keys, false, false), String);\n iteratee = function(value, key) {\n return !contains(keys, key);\n };\n }\n return pick(obj, iteratee, context);\n});\n","import { slice } from './_setup.js';\n\n// Returns everything but the last entry of the array. Especially useful on\n// the arguments object. Passing **n** will return all the values in\n// the array, excluding the last N.\nexport default function initial(array, n, guard) {\n return slice.call(array, 0, Math.max(0, array.length - (n == null || guard ? 1 : n)));\n}\n","import initial from './initial.js';\n\n// Get the first element of an array. Passing **n** will return the first N\n// values in the array. The **guard** check allows it to work with `_.map`.\nexport default function first(array, n, guard) {\n if (array == null || array.length < 1) return n == null || guard ? void 0 : [];\n if (n == null || guard) return array[0];\n return initial(array, array.length - n);\n}\n","import { slice } from './_setup.js';\n\n// Returns everything but the first entry of the `array`. Especially useful on\n// the `arguments` object. Passing an **n** will return the rest N values in the\n// `array`.\nexport default function rest(array, n, guard) {\n return slice.call(array, n == null || guard ? 1 : n);\n}\n","import rest from './rest.js';\n\n// Get the last element of an array. Passing **n** will return the last N\n// values in the array.\nexport default function last(array, n, guard) {\n if (array == null || array.length < 1) return n == null || guard ? void 0 : [];\n if (n == null || guard) return array[array.length - 1];\n return rest(array, Math.max(0, array.length - n));\n}\n","import filter from './filter.js';\n\n// Trim out all falsy values from an array.\nexport default function compact(array) {\n return filter(array, Boolean);\n}\n","import _flatten from './_flatten.js';\n\n// Flatten out an array, either recursively (by default), or up to `depth`.\n// Passing `true` or `false` as `depth` means `1` or `Infinity`, respectively.\nexport default function flatten(array, depth) {\n return _flatten(array, depth, false);\n}\n","import restArguments from './restArguments.js';\nimport flatten from './_flatten.js';\nimport filter from './filter.js';\nimport contains from './contains.js';\n\n// Take the difference between one array and a number of other arrays.\n// Only the elements present in just the first array will remain.\nexport default restArguments(function(array, rest) {\n rest = flatten(rest, true, true);\n return filter(array, function(value){\n return !contains(rest, value);\n });\n});\n","import restArguments from './restArguments.js';\nimport difference from './difference.js';\n\n// Return a version of the array that does not contain the specified value(s).\nexport default restArguments(function(array, otherArrays) {\n return difference(array, otherArrays);\n});\n","import isBoolean from './isBoolean.js';\nimport cb from './_cb.js';\nimport getLength from './_getLength.js';\nimport contains from './contains.js';\n\n// Produce a duplicate-free version of the array. If the array has already\n// been sorted, you have the option of using a faster algorithm.\n// The faster algorithm will not work with an iteratee if the iteratee\n// is not a one-to-one function, so providing an iteratee will disable\n// the faster algorithm.\nexport default function uniq(array, isSorted, iteratee, context) {\n if (!isBoolean(isSorted)) {\n context = iteratee;\n iteratee = isSorted;\n isSorted = false;\n }\n if (iteratee != null) iteratee = cb(iteratee, context);\n var result = [];\n var seen = [];\n for (var i = 0, length = getLength(array); i < length; i++) {\n var value = array[i],\n computed = iteratee ? iteratee(value, i, array) : value;\n if (isSorted && !iteratee) {\n if (!i || seen !== computed) result.push(value);\n seen = computed;\n } else if (iteratee) {\n if (!contains(seen, computed)) {\n seen.push(computed);\n result.push(value);\n }\n } else if (!contains(result, value)) {\n result.push(value);\n }\n }\n return result;\n}\n","import restArguments from './restArguments.js';\nimport uniq from './uniq.js';\nimport flatten from './_flatten.js';\n\n// Produce an array that contains the union: each distinct element from all of\n// the passed-in arrays.\nexport default restArguments(function(arrays) {\n return uniq(flatten(arrays, true, true));\n});\n","import getLength from './_getLength.js';\nimport contains from './contains.js';\n\n// Produce an array that contains every item shared between all the\n// passed-in arrays.\nexport default function intersection(array) {\n var result = [];\n var argsLength = arguments.length;\n for (var i = 0, length = getLength(array); i < length; i++) {\n var item = array[i];\n if (contains(result, item)) continue;\n var j;\n for (j = 1; j < argsLength; j++) {\n if (!contains(arguments[j], item)) break;\n }\n if (j === argsLength) result.push(item);\n }\n return result;\n}\n","import max from './max.js';\nimport getLength from './_getLength.js';\nimport pluck from './pluck.js';\n\n// Complement of zip. Unzip accepts an array of arrays and groups\n// each array's elements on shared indices.\nexport default function unzip(array) {\n var length = (array && max(array, getLength).length) || 0;\n var result = Array(length);\n\n for (var index = 0; index < length; index++) {\n result[index] = pluck(array, index);\n }\n return result;\n}\n","import restArguments from './restArguments.js';\nimport unzip from './unzip.js';\n\n// Zip together multiple lists into a single array -- elements that share\n// an index go together.\nexport default restArguments(unzip);\n","import getLength from './_getLength.js';\n\n// Converts lists into objects. Pass either a single array of `[key, value]`\n// pairs, or two parallel arrays of the same length -- one of keys, and one of\n// the corresponding values. Passing by pairs is the reverse of `_.pairs`.\nexport default function object(list, values) {\n var result = {};\n for (var i = 0, length = getLength(list); i < length; i++) {\n if (values) {\n result[list[i]] = values[i];\n } else {\n result[list[i][0]] = list[i][1];\n }\n }\n return result;\n}\n","// Generate an integer Array containing an arithmetic progression. A port of\n// the native Python `range()` function. See\n// [the Python documentation](https://docs.python.org/library/functions.html#range).\nexport default function range(start, stop, step) {\n if (stop == null) {\n stop = start || 0;\n start = 0;\n }\n if (!step) {\n step = stop < start ? -1 : 1;\n }\n\n var length = Math.max(Math.ceil((stop - start) / step), 0);\n var range = Array(length);\n\n for (var idx = 0; idx < length; idx++, start += step) {\n range[idx] = start;\n }\n\n return range;\n}\n","import { slice } from './_setup.js';\n\n// Chunk a single array into multiple arrays, each containing `count` or fewer\n// items.\nexport default function chunk(array, count) {\n if (count == null || count < 1) return [];\n var result = [];\n var i = 0, length = array.length;\n while (i < length) {\n result.push(slice.call(array, i, i += count));\n }\n return result;\n}\n","import _ from './underscore.js';\n\n// Helper function to continue chaining intermediate results.\nexport default function chainResult(instance, obj) {\n return instance._chain ? _(obj).chain() : obj;\n}\n","import _ from './underscore.js';\nimport each from './each.js';\nimport functions from './functions.js';\nimport { push } from './_setup.js';\nimport chainResult from './_chainResult.js';\n\n// Add your own custom functions to the Underscore object.\nexport default function mixin(obj) {\n each(functions(obj), function(name) {\n var func = _[name] = obj[name];\n _.prototype[name] = function() {\n var args = [this._wrapped];\n push.apply(args, arguments);\n return chainResult(this, func.apply(_, args));\n };\n });\n return _;\n}\n","import _ from './underscore.js';\nimport each from './each.js';\nimport { ArrayProto } from './_setup.js';\nimport chainResult from './_chainResult.js';\n\n// Add all mutator `Array` functions to the wrapper.\neach(['pop', 'push', 'reverse', 'shift', 'sort', 'splice', 'unshift'], function(name) {\n var method = ArrayProto[name];\n _.prototype[name] = function() {\n var obj = this._wrapped;\n if (obj != null) {\n method.apply(obj, arguments);\n if ((name === 'shift' || name === 'splice') && obj.length === 0) {\n delete obj[0];\n }\n }\n return chainResult(this, obj);\n };\n});\n\n// Add all accessor `Array` functions to the wrapper.\neach(['concat', 'join', 'slice'], function(name) {\n var method = ArrayProto[name];\n _.prototype[name] = function() {\n var obj = this._wrapped;\n if (obj != null) obj = method.apply(obj, arguments);\n return chainResult(this, obj);\n };\n});\n\nexport default _;\n","// Default Export\n// ==============\n// In this module, we mix our bundled exports into the `_` object and export\n// the result. This is analogous to setting `module.exports = _` in CommonJS.\n// Hence, this module is also the entry point of our UMD bundle and the package\n// entry point for CommonJS and AMD users. In other words, this is (the source\n// of) the module you are interfacing with when you do any of the following:\n//\n// ```js\n// // CommonJS\n// var _ = require('underscore');\n//\n// // AMD\n// define(['underscore'], function(_) {...});\n//\n// // UMD in the browser\n// // _ is available as a global variable\n// ```\nimport * as allExports from './index.js';\nimport { mixin } from './index.js';\n\n// Add all of the Underscore functions to the wrapper object.\nvar _ = mixin(allExports);\n// Legacy Node.js API.\n_._ = _;\n// Export the Underscore API.\nexport default _;\n","import model from 'models/base-model';\r\nimport dateUtil from 'utils/dateUtil';\r\nimport CONSTANTS from 'utils/constants';\r\n\r\nexport class Project extends model({\r\n isLoading: false,\r\n isLoaded: false,\r\n error: null,\r\n projectId: null,\r\n projectKey: null,\r\n projectName: null,\r\n projectStateId: null,\r\n engagementId: null,\r\n containerCode: null,\r\n lastUpdatedDate: null,\r\n lastUpdatedBy: null,\r\n createdDate: null,\r\n createdBy: null\r\n}) {\r\n setLoading() {\r\n return this.merge({\r\n isLoading: true,\r\n isLoaded: false,\r\n error: null\r\n });\r\n }\r\n\r\n setError(error) {\r\n return this.merge({\r\n isLoading: false,\r\n isLoaded: true,\r\n error: error,\r\n projects: null\r\n });\r\n }\r\n\r\n // Get data returned from the API\r\n setLoaded(project) {\r\n return Project.fromData(project);\r\n }\r\n\r\n setCreated(state, project) {\r\n return this.merge({\r\n isLoaded: true\r\n });\r\n }\r\n\r\n STATES = {\r\n Archived: () => {\r\n return this.projectStateId === CONSTANTS.ProjectStateIds.archived;\r\n },\r\n Copy: () => {\r\n return this.projectStateId === CONSTANTS.ProjectStateIds.copying;\r\n },\r\n Creation: () => {\r\n return this.projectStateId === CONSTANTS.ProjectStateIds.inCreation;\r\n },\r\n CopyInCreation: () => {\r\n return this.projectStateId === CONSTANTS.ProjectStateIds.copying && this.sourceProjectId !== null;\r\n },\r\n InProgress: () => {\r\n //This means creation is in progress\r\n return this.projectStateId === CONSTANTS.ProjectStateIds.inCreation && this.sourceProjectId === null;\r\n },\r\n Loaded: () => {\r\n return this.projectId ? true : false;\r\n },\r\n ReadOnly: () => {\r\n return (\r\n this.projectStateId === CONSTANTS.ProjectStateIds.pendingArchive ||\r\n this.projectStateId === CONSTANTS.ProjectStateIds.archived\r\n );\r\n },\r\n Started: () => {\r\n return this.projectStateId === CONSTANTS.ProjectStateIds.started;\r\n }\r\n };\r\n\r\n setUpdated(state, action) {\r\n return this.merge({\r\n ...state,\r\n isLoading: false,\r\n isLoaded: true,\r\n projectName: action.payload.projectName ? action.payload.projectName : null,\r\n projectStateId: action.payload.projectStateId ? action.payload.projectStateId : null,\r\n engagementId: action.payload.engagementId ? action.payload.engagementId : null\r\n });\r\n }\r\n\r\n setUpdatedName(state, action) {\r\n return this.merge({\r\n ...state,\r\n isLoading: false,\r\n isLoaded: true,\r\n projectName: action.payload.projectName ? action.payload.projectName : null\r\n });\r\n }\r\n\r\n setUpdatedEngagement(state, action) {\r\n return this.merge({\r\n ...state,\r\n isLoading: false,\r\n isLoaded: true,\r\n engagementId: action.payload.engagementId ? action.payload.engagementId : null,\r\n engagementName: action.payload.engagementName ? action.payload.engagementName : null\r\n });\r\n }\r\n\r\n setUpdatedState(state, action) {\r\n return this.merge({\r\n ...state,\r\n isLoading: false,\r\n isLoaded: true,\r\n projectStateId: action.payload.projectStateId ? action.payload.projectStateId : null\r\n });\r\n }\r\n\r\n setUpdatedRole(state, action) {\r\n const { data, updateMyRole } = action.payload;\r\n\r\n const myRole = updateMyRole\r\n ? {\r\n ...state.myRole,\r\n roleId: data.roleId\r\n }\r\n : state.myRole;\r\n\r\n return this.merge({\r\n ...state,\r\n isLoading: false,\r\n isLoaded: true,\r\n myRole,\r\n users: state.users.map(user => {\r\n return user.userId === data.userId\r\n ? {\r\n ...user,\r\n role: {\r\n ...user.role,\r\n roleId: data.roleId\r\n }\r\n }\r\n : user;\r\n })\r\n });\r\n }\r\n\r\n socketUpdate(model) {\r\n return this.merge({\r\n projectName: model.projectName,\r\n projectStateId: model.projectStateId,\r\n engagementId: model.engagementId,\r\n legalHold: model.legalHold\r\n });\r\n }\r\n\r\n toggleSupportAccess(state, action) {\r\n return this.merge({\r\n ...state,\r\n isAdminAccessEnabled: action.payload.allowAccess\r\n });\r\n }\r\n\r\n static fromData(model) {\r\n return new Project({\r\n ...model,\r\n isLoading: false,\r\n isLoaded: true,\r\n error: null,\r\n lastUpdatedDate: model.lastUpdatedDate ? dateUtil.fromServerDate(model.lastUpdatedDate) : null,\r\n createdDate: model.createdDate ? dateUtil.fromServerDate(model.createdDate) : null\r\n });\r\n }\r\n}\r\n","/*\nCopyright (c) 2014, Yahoo! Inc. All rights reserved.\nCopyrights licensed under the New BSD License.\nSee the accompanying LICENSE file for terms.\n*/\n\n// -----------------------------------------------------------------------------\n\n// TODO: Remove this once Intl.RelativeTimeFormat is no longer a draft\ninterface RelativeTimeFormat {\n format(value: number, unit: string): string;\n formatToParts(value: number, unit: string): { value: string }[];\n resolvedOptions(): ResolvedRelativeTimeFormatOptions;\n}\ninterface ResolvedRelativeTimeFormatOptions\n extends Pick {\n locale: string;\n}\ninterface RelativeTimeFormatOptions {\n localeMatcher: 'best fit' | 'lookup';\n numeric: 'always' | 'auto';\n style: 'long' | 'short' | 'narrow';\n}\nlet RelativeTimeFormat: {\n new (\n locales?: string | string[],\n opts?: RelativeTimeFormatOptions\n ): RelativeTimeFormat;\n (\n locales?: string | string[],\n opts?: RelativeTimeFormatOptions\n ): RelativeTimeFormat;\n supportedLocalesOf(\n locales: string | string[],\n opts?: Pick\n ): string[];\n};\n\n// -- Utilities ----------------------------------------------------------------\n\nfunction getCacheId(inputs: any[]) {\n return JSON.stringify(\n inputs.map(input =>\n input && typeof input === 'object' ? orderedProps(input) : input\n )\n );\n}\n\nfunction orderedProps(obj: Record) {\n return Object.keys(obj)\n .sort()\n .map(k => ({ [k]: obj[k] }));\n}\n\ninterface MemoizeFormatConstructorFn {\n (constructor: typeof Intl.NumberFormat): (\n ...args: ConstructorParameters\n ) => Intl.NumberFormat;\n (constructor: typeof Intl.DateTimeFormat): (\n ...args: ConstructorParameters\n ) => Intl.DateTimeFormat;\n (constructor: typeof RelativeTimeFormat): (\n ...args: ConstructorParameters\n ) => RelativeTimeFormat;\n (constructor: any): (...args: any[]) => any;\n}\n\nconst memoizeFormatConstructor: MemoizeFormatConstructorFn = (\n FormatConstructor: any,\n cache: Record = {}\n) => (...args: any[]) => {\n const cacheId = getCacheId(args);\n let format = cacheId && cache[cacheId];\n if (!format) {\n format = new (FormatConstructor as any)(...args);\n if (cacheId) {\n cache[cacheId] = format;\n }\n }\n\n return format;\n};\n\nexport default memoizeFormatConstructor;\n","/*\n * Copyright 2019, Yahoo Inc.\n * Copyrights licensed under the New BSD License.\n * See the accompanying LICENSE file for terms.\n */\n\nimport allLocaleData from '../locale-data/index.js';\nimport IntlMessageFormat from 'intl-messageformat';\nimport IntlRelativeFormat from 'intl-relativeformat';\nimport PropTypes from 'prop-types';\nimport React, { Children, Component, createElement, isValidElement } from 'react';\nimport hoistNonReactStatics from 'hoist-non-react-statics';\nimport invariant from 'invariant';\nimport memoizeIntlConstructor from 'intl-format-cache';\n\n// GENERATED FILE\nvar defaultLocaleData = { \"locale\": \"en\", \"pluralRuleFunction\": function pluralRuleFunction(n, ord) {\n var s = String(n).split(\".\"),\n v0 = !s[1],\n t0 = Number(s[0]) == n,\n n10 = t0 && s[0].slice(-1),\n n100 = t0 && s[0].slice(-2);if (ord) return n10 == 1 && n100 != 11 ? \"one\" : n10 == 2 && n100 != 12 ? \"two\" : n10 == 3 && n100 != 13 ? \"few\" : \"other\";return n == 1 && v0 ? \"one\" : \"other\";\n }, \"fields\": { \"year\": { \"displayName\": \"year\", \"relative\": { \"0\": \"this year\", \"1\": \"next year\", \"-1\": \"last year\" }, \"relativeTime\": { \"future\": { \"one\": \"in {0} year\", \"other\": \"in {0} years\" }, \"past\": { \"one\": \"{0} year ago\", \"other\": \"{0} years ago\" } } }, \"year-short\": { \"displayName\": \"yr.\", \"relative\": { \"0\": \"this yr.\", \"1\": \"next yr.\", \"-1\": \"last yr.\" }, \"relativeTime\": { \"future\": { \"one\": \"in {0} yr.\", \"other\": \"in {0} yr.\" }, \"past\": { \"one\": \"{0} yr. ago\", \"other\": \"{0} yr. ago\" } } }, \"month\": { \"displayName\": \"month\", \"relative\": { \"0\": \"this month\", \"1\": \"next month\", \"-1\": \"last month\" }, \"relativeTime\": { \"future\": { \"one\": \"in {0} month\", \"other\": \"in {0} months\" }, \"past\": { \"one\": \"{0} month ago\", \"other\": \"{0} months ago\" } } }, \"month-short\": { \"displayName\": \"mo.\", \"relative\": { \"0\": \"this mo.\", \"1\": \"next mo.\", \"-1\": \"last mo.\" }, \"relativeTime\": { \"future\": { \"one\": \"in {0} mo.\", \"other\": \"in {0} mo.\" }, \"past\": { \"one\": \"{0} mo. ago\", \"other\": \"{0} mo. ago\" } } }, \"day\": { \"displayName\": \"day\", \"relative\": { \"0\": \"today\", \"1\": \"tomorrow\", \"-1\": \"yesterday\" }, \"relativeTime\": { \"future\": { \"one\": \"in {0} day\", \"other\": \"in {0} days\" }, \"past\": { \"one\": \"{0} day ago\", \"other\": \"{0} days ago\" } } }, \"day-short\": { \"displayName\": \"day\", \"relative\": { \"0\": \"today\", \"1\": \"tomorrow\", \"-1\": \"yesterday\" }, \"relativeTime\": { \"future\": { \"one\": \"in {0} day\", \"other\": \"in {0} days\" }, \"past\": { \"one\": \"{0} day ago\", \"other\": \"{0} days ago\" } } }, \"hour\": { \"displayName\": \"hour\", \"relative\": { \"0\": \"this hour\" }, \"relativeTime\": { \"future\": { \"one\": \"in {0} hour\", \"other\": \"in {0} hours\" }, \"past\": { \"one\": \"{0} hour ago\", \"other\": \"{0} hours ago\" } } }, \"hour-short\": { \"displayName\": \"hr.\", \"relative\": { \"0\": \"this hour\" }, \"relativeTime\": { \"future\": { \"one\": \"in {0} hr.\", \"other\": \"in {0} hr.\" }, \"past\": { \"one\": \"{0} hr. ago\", \"other\": \"{0} hr. ago\" } } }, \"minute\": { \"displayName\": \"minute\", \"relative\": { \"0\": \"this minute\" }, \"relativeTime\": { \"future\": { \"one\": \"in {0} minute\", \"other\": \"in {0} minutes\" }, \"past\": { \"one\": \"{0} minute ago\", \"other\": \"{0} minutes ago\" } } }, \"minute-short\": { \"displayName\": \"min.\", \"relative\": { \"0\": \"this minute\" }, \"relativeTime\": { \"future\": { \"one\": \"in {0} min.\", \"other\": \"in {0} min.\" }, \"past\": { \"one\": \"{0} min. ago\", \"other\": \"{0} min. ago\" } } }, \"second\": { \"displayName\": \"second\", \"relative\": { \"0\": \"now\" }, \"relativeTime\": { \"future\": { \"one\": \"in {0} second\", \"other\": \"in {0} seconds\" }, \"past\": { \"one\": \"{0} second ago\", \"other\": \"{0} seconds ago\" } } }, \"second-short\": { \"displayName\": \"sec.\", \"relative\": { \"0\": \"now\" }, \"relativeTime\": { \"future\": { \"one\": \"in {0} sec.\", \"other\": \"in {0} sec.\" }, \"past\": { \"one\": \"{0} sec. ago\", \"other\": \"{0} sec. ago\" } } } } };\n\n/*\n * Copyright 2015, Yahoo Inc.\n * Copyrights licensed under the New BSD License.\n * See the accompanying LICENSE file for terms.\n */\n\nfunction addLocaleData() {\n var data = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n\n var locales = Array.isArray(data) ? data : [data];\n\n locales.forEach(function (localeData) {\n if (localeData && localeData.locale) {\n IntlMessageFormat.__addLocaleData(localeData);\n IntlRelativeFormat.__addLocaleData(localeData);\n }\n });\n}\n\nfunction hasLocaleData(locale) {\n var localeParts = (locale || '').split('-');\n\n while (localeParts.length > 0) {\n if (hasIMFAndIRFLocaleData(localeParts.join('-'))) {\n return true;\n }\n\n localeParts.pop();\n }\n\n return false;\n}\n\nfunction hasIMFAndIRFLocaleData(locale) {\n var normalizedLocale = locale && locale.toLowerCase();\n\n return !!(IntlMessageFormat.__localeData__[normalizedLocale] && IntlRelativeFormat.__localeData__[normalizedLocale]);\n}\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) {\n return typeof obj;\n} : function (obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n};\n\n\n\n\n\nvar asyncGenerator = function () {\n function AwaitValue(value) {\n this.value = value;\n }\n\n function AsyncGenerator(gen) {\n var front, back;\n\n function send(key, arg) {\n return new Promise(function (resolve, reject) {\n var request = {\n key: key,\n arg: arg,\n resolve: resolve,\n reject: reject,\n next: null\n };\n\n if (back) {\n back = back.next = request;\n } else {\n front = back = request;\n resume(key, arg);\n }\n });\n }\n\n function resume(key, arg) {\n try {\n var result = gen[key](arg);\n var value = result.value;\n\n if (value instanceof AwaitValue) {\n Promise.resolve(value.value).then(function (arg) {\n resume(\"next\", arg);\n }, function (arg) {\n resume(\"throw\", arg);\n });\n } else {\n settle(result.done ? \"return\" : \"normal\", result.value);\n }\n } catch (err) {\n settle(\"throw\", err);\n }\n }\n\n function settle(type, value) {\n switch (type) {\n case \"return\":\n front.resolve({\n value: value,\n done: true\n });\n break;\n\n case \"throw\":\n front.reject(value);\n break;\n\n default:\n front.resolve({\n value: value,\n done: false\n });\n break;\n }\n\n front = front.next;\n\n if (front) {\n resume(front.key, front.arg);\n } else {\n back = null;\n }\n }\n\n this._invoke = send;\n\n if (typeof gen.return !== \"function\") {\n this.return = undefined;\n }\n }\n\n if (typeof Symbol === \"function\" && Symbol.asyncIterator) {\n AsyncGenerator.prototype[Symbol.asyncIterator] = function () {\n return this;\n };\n }\n\n AsyncGenerator.prototype.next = function (arg) {\n return this._invoke(\"next\", arg);\n };\n\n AsyncGenerator.prototype.throw = function (arg) {\n return this._invoke(\"throw\", arg);\n };\n\n AsyncGenerator.prototype.return = function (arg) {\n return this._invoke(\"return\", arg);\n };\n\n return {\n wrap: function (fn) {\n return function () {\n return new AsyncGenerator(fn.apply(this, arguments));\n };\n },\n await: function (value) {\n return new AwaitValue(value);\n }\n };\n}();\n\n\n\n\n\nvar classCallCheck = function (instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n};\n\nvar createClass = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n\n return function (Constructor, protoProps, staticProps) {\n if (protoProps) defineProperties(Constructor.prototype, protoProps);\n if (staticProps) defineProperties(Constructor, staticProps);\n return Constructor;\n };\n}();\n\n\n\n\n\nvar defineProperty = function (obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n};\n\nvar _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n};\n\n\n\nvar inherits = function (subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass);\n }\n\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass;\n};\n\n\n\n\n\n\n\n\n\nvar objectWithoutProperties = function (obj, keys) {\n var target = {};\n\n for (var i in obj) {\n if (keys.indexOf(i) >= 0) continue;\n if (!Object.prototype.hasOwnProperty.call(obj, i)) continue;\n target[i] = obj[i];\n }\n\n return target;\n};\n\nvar possibleConstructorReturn = function (self, call) {\n if (!self) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self;\n};\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nvar toConsumableArray = function (arr) {\n if (Array.isArray(arr)) {\n for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) arr2[i] = arr[i];\n\n return arr2;\n } else {\n return Array.from(arr);\n }\n};\n\n/*\n * Copyright 2015, Yahoo Inc.\n * Copyrights licensed under the New BSD License.\n * See the accompanying LICENSE file for terms.\n */\n\nvar bool = PropTypes.bool;\nvar number = PropTypes.number;\nvar string = PropTypes.string;\nvar func = PropTypes.func;\nvar object = PropTypes.object;\nvar oneOf = PropTypes.oneOf;\nvar shape = PropTypes.shape;\nvar any = PropTypes.any;\nvar oneOfType = PropTypes.oneOfType;\n\nvar localeMatcher = oneOf(['best fit', 'lookup']);\nvar narrowShortLong = oneOf(['narrow', 'short', 'long']);\nvar numeric2digit = oneOf(['numeric', '2-digit']);\nvar funcReq = func.isRequired;\n\nvar intlConfigPropTypes = {\n locale: string,\n timeZone: string,\n formats: object,\n messages: object,\n textComponent: any,\n\n defaultLocale: string,\n defaultFormats: object,\n\n onError: func\n};\n\nvar intlFormatPropTypes = {\n formatDate: funcReq,\n formatTime: funcReq,\n formatRelative: funcReq,\n formatNumber: funcReq,\n formatPlural: funcReq,\n formatMessage: funcReq,\n formatHTMLMessage: funcReq\n};\n\nvar intlShape = shape(_extends({}, intlConfigPropTypes, intlFormatPropTypes, {\n formatters: object,\n now: funcReq\n}));\n\nvar messageDescriptorPropTypes = {\n id: string.isRequired,\n description: oneOfType([string, object]),\n defaultMessage: string\n};\n\nvar dateTimeFormatPropTypes = {\n localeMatcher: localeMatcher,\n formatMatcher: oneOf(['basic', 'best fit']),\n\n timeZone: string,\n hour12: bool,\n\n weekday: narrowShortLong,\n era: narrowShortLong,\n year: numeric2digit,\n month: oneOf(['numeric', '2-digit', 'narrow', 'short', 'long']),\n day: numeric2digit,\n hour: numeric2digit,\n minute: numeric2digit,\n second: numeric2digit,\n timeZoneName: oneOf(['short', 'long'])\n};\n\nvar numberFormatPropTypes = {\n localeMatcher: localeMatcher,\n\n style: oneOf(['decimal', 'currency', 'percent']),\n currency: string,\n currencyDisplay: oneOf(['symbol', 'code', 'name']),\n useGrouping: bool,\n\n minimumIntegerDigits: number,\n minimumFractionDigits: number,\n maximumFractionDigits: number,\n minimumSignificantDigits: number,\n maximumSignificantDigits: number\n};\n\nvar relativeFormatPropTypes = {\n style: oneOf(['best fit', 'numeric']),\n units: oneOf(['second', 'minute', 'hour', 'day', 'month', 'year', 'second-short', 'minute-short', 'hour-short', 'day-short', 'month-short', 'year-short'])\n};\n\nvar pluralFormatPropTypes = {\n style: oneOf(['cardinal', 'ordinal'])\n};\n\n/*\nHTML escaping and shallow-equals implementations are the same as React's\n(on purpose.) Therefore, it has the following Copyright and Licensing:\n\nCopyright 2013-2014, Facebook, Inc.\nAll rights reserved.\n\nThis source code is licensed under the BSD-style license found in the LICENSE\nfile in the root directory of React's source tree.\n*/\n\nvar intlConfigPropNames = Object.keys(intlConfigPropTypes);\n\nvar ESCAPED_CHARS = {\n '&': '&',\n '>': '>',\n '<': '<',\n '\"': '"',\n \"'\": '''\n};\n\nvar UNSAFE_CHARS_REGEX = /[&><\"']/g;\n\nfunction escape(str) {\n return ('' + str).replace(UNSAFE_CHARS_REGEX, function (match) {\n return ESCAPED_CHARS[match];\n });\n}\n\nfunction filterProps(props, whitelist) {\n var defaults$$1 = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n\n return whitelist.reduce(function (filtered, name) {\n if (props.hasOwnProperty(name)) {\n filtered[name] = props[name];\n } else if (defaults$$1.hasOwnProperty(name)) {\n filtered[name] = defaults$$1[name];\n }\n\n return filtered;\n }, {});\n}\n\nfunction invariantIntlContext() {\n var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n intl = _ref.intl;\n\n invariant(intl, '[React Intl] Could not find required `intl` object. ' + ' needs to exist in the component ancestry.');\n}\n\nfunction shallowEquals(objA, objB) {\n if (objA === objB) {\n return true;\n }\n\n if ((typeof objA === 'undefined' ? 'undefined' : _typeof(objA)) !== 'object' || objA === null || (typeof objB === 'undefined' ? 'undefined' : _typeof(objB)) !== 'object' || objB === null) {\n return false;\n }\n\n var keysA = Object.keys(objA);\n var keysB = Object.keys(objB);\n\n if (keysA.length !== keysB.length) {\n return false;\n }\n\n // Test for A's keys different from B.\n var bHasOwnProperty = Object.prototype.hasOwnProperty.bind(objB);\n for (var i = 0; i < keysA.length; i++) {\n if (!bHasOwnProperty(keysA[i]) || objA[keysA[i]] !== objB[keysA[i]]) {\n return false;\n }\n }\n\n return true;\n}\n\nfunction shouldIntlComponentUpdate(_ref2, nextProps, nextState) {\n var props = _ref2.props,\n state = _ref2.state,\n _ref2$context = _ref2.context,\n context = _ref2$context === undefined ? {} : _ref2$context;\n var nextContext = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};\n var _context$intl = context.intl,\n intl = _context$intl === undefined ? {} : _context$intl;\n var _nextContext$intl = nextContext.intl,\n nextIntl = _nextContext$intl === undefined ? {} : _nextContext$intl;\n\n\n return !shallowEquals(nextProps, props) || !shallowEquals(nextState, state) || !(nextIntl === intl || shallowEquals(filterProps(nextIntl, intlConfigPropNames), filterProps(intl, intlConfigPropNames)));\n}\n\nfunction createError(message, exception) {\n var eMsg = exception ? '\\n' + exception : '';\n return '[React Intl] ' + message + eMsg;\n}\n\nfunction defaultErrorHandler(error) {\n if (process.env.NODE_ENV !== 'production') {\n console.error(error);\n }\n}\n\n/*\n * Copyright 2015, Yahoo Inc.\n * Copyrights licensed under the New BSD License.\n * See the accompanying LICENSE file for terms.\n */\n\n// Inspired by react-redux's `connect()` HOC factory function implementation:\n// https://github.com/rackt/react-redux\n\nfunction getDisplayName(Component$$1) {\n return Component$$1.displayName || Component$$1.name || 'Component';\n}\n\nfunction injectIntl(WrappedComponent) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var _options$intlPropName = options.intlPropName,\n intlPropName = _options$intlPropName === undefined ? 'intl' : _options$intlPropName,\n _options$withRef = options.withRef,\n withRef = _options$withRef === undefined ? false : _options$withRef;\n\n var InjectIntl = function (_Component) {\n inherits(InjectIntl, _Component);\n\n function InjectIntl(props, context) {\n classCallCheck(this, InjectIntl);\n\n var _this = possibleConstructorReturn(this, (InjectIntl.__proto__ || Object.getPrototypeOf(InjectIntl)).call(this, props, context));\n\n invariantIntlContext(context);\n return _this;\n }\n\n createClass(InjectIntl, [{\n key: 'getWrappedInstance',\n value: function getWrappedInstance() {\n invariant(withRef, '[React Intl] To access the wrapped instance, ' + 'the `{withRef: true}` option must be set when calling: ' + '`injectIntl()`');\n\n return this._wrappedInstance;\n }\n }, {\n key: 'render',\n value: function render() {\n var _this2 = this;\n\n return React.createElement(WrappedComponent, _extends({}, this.props, defineProperty({}, intlPropName, this.context.intl), {\n ref: withRef ? /* istanbul ignore next */function (ref) {\n return _this2._wrappedInstance = ref;\n } : null\n }));\n }\n }]);\n return InjectIntl;\n }(Component);\n\n InjectIntl.displayName = 'InjectIntl(' + getDisplayName(WrappedComponent) + ')';\n InjectIntl.contextTypes = {\n intl: intlShape\n };\n InjectIntl.WrappedComponent = WrappedComponent;\n\n\n return hoistNonReactStatics(InjectIntl, WrappedComponent);\n}\n\n/*\n * Copyright 2015, Yahoo Inc.\n * Copyrights licensed under the New BSD License.\n * See the accompanying LICENSE file for terms.\n */\n\nfunction defineMessages(messageDescriptors) {\n // This simply returns what's passed-in because it's meant to be a hook for\n // babel-plugin-react-intl.\n return messageDescriptors;\n}\n\n/*\n * Copyright 2015, Yahoo Inc.\n * Copyrights licensed under the New BSD License.\n * See the accompanying LICENSE file for terms.\n */\n\n// This is a \"hack\" until a proper `intl-pluralformat` package is created.\n\nfunction resolveLocale(locales) {\n // IntlMessageFormat#_resolveLocale() does not depend on `this`.\n return IntlMessageFormat.prototype._resolveLocale(locales);\n}\n\nfunction findPluralFunction(locale) {\n // IntlMessageFormat#_findPluralFunction() does not depend on `this`.\n return IntlMessageFormat.prototype._findPluralRuleFunction(locale);\n}\n\nvar IntlPluralFormat = function IntlPluralFormat(locales) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n classCallCheck(this, IntlPluralFormat);\n\n var useOrdinal = options.style === 'ordinal';\n var pluralFn = findPluralFunction(resolveLocale(locales));\n\n this.format = function (value) {\n return pluralFn(value, useOrdinal);\n };\n};\n\n/*\n * Copyright 2015, Yahoo Inc.\n * Copyrights licensed under the New BSD License.\n * See the accompanying LICENSE file for terms.\n */\n\nvar DATE_TIME_FORMAT_OPTIONS = Object.keys(dateTimeFormatPropTypes);\nvar NUMBER_FORMAT_OPTIONS = Object.keys(numberFormatPropTypes);\nvar RELATIVE_FORMAT_OPTIONS = Object.keys(relativeFormatPropTypes);\nvar PLURAL_FORMAT_OPTIONS = Object.keys(pluralFormatPropTypes);\n\nvar RELATIVE_FORMAT_THRESHOLDS = {\n second: 60, // seconds to minute\n minute: 60, // minutes to hour\n hour: 24, // hours to day\n day: 30, // days to month\n month: 12 };\n\nfunction updateRelativeFormatThresholds(newThresholds) {\n var thresholds = IntlRelativeFormat.thresholds;\n thresholds.second = newThresholds.second;\n thresholds.minute = newThresholds.minute;\n thresholds.hour = newThresholds.hour;\n thresholds.day = newThresholds.day;\n thresholds.month = newThresholds.month;\n thresholds['second-short'] = newThresholds['second-short'];\n thresholds['minute-short'] = newThresholds['minute-short'];\n thresholds['hour-short'] = newThresholds['hour-short'];\n thresholds['day-short'] = newThresholds['day-short'];\n thresholds['month-short'] = newThresholds['month-short'];\n}\n\nfunction getNamedFormat(formats, type, name, onError) {\n var format = formats && formats[type] && formats[type][name];\n if (format) {\n return format;\n }\n\n onError(createError('No ' + type + ' format named: ' + name));\n}\n\nfunction formatDate(config, state, value) {\n var options = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};\n var locale = config.locale,\n formats = config.formats,\n timeZone = config.timeZone;\n var format = options.format;\n\n\n var onError = config.onError || defaultErrorHandler;\n var date = new Date(value);\n var defaults$$1 = _extends({}, timeZone && { timeZone: timeZone }, format && getNamedFormat(formats, 'date', format, onError));\n var filteredOptions = filterProps(options, DATE_TIME_FORMAT_OPTIONS, defaults$$1);\n\n try {\n return state.getDateTimeFormat(locale, filteredOptions).format(date);\n } catch (e) {\n onError(createError('Error formatting date.', e));\n }\n\n return String(date);\n}\n\nfunction formatTime(config, state, value) {\n var options = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};\n var locale = config.locale,\n formats = config.formats,\n timeZone = config.timeZone;\n var format = options.format;\n\n\n var onError = config.onError || defaultErrorHandler;\n var date = new Date(value);\n var defaults$$1 = _extends({}, timeZone && { timeZone: timeZone }, format && getNamedFormat(formats, 'time', format, onError));\n var filteredOptions = filterProps(options, DATE_TIME_FORMAT_OPTIONS, defaults$$1);\n\n if (!filteredOptions.hour && !filteredOptions.minute && !filteredOptions.second) {\n // Add default formatting options if hour, minute, or second isn't defined.\n filteredOptions = _extends({}, filteredOptions, { hour: 'numeric', minute: 'numeric' });\n }\n\n try {\n return state.getDateTimeFormat(locale, filteredOptions).format(date);\n } catch (e) {\n onError(createError('Error formatting time.', e));\n }\n\n return String(date);\n}\n\nfunction formatRelative(config, state, value) {\n var options = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};\n var locale = config.locale,\n formats = config.formats;\n var format = options.format;\n\n\n var onError = config.onError || defaultErrorHandler;\n var date = new Date(value);\n var now = new Date(options.now);\n var defaults$$1 = format && getNamedFormat(formats, 'relative', format, onError);\n var filteredOptions = filterProps(options, RELATIVE_FORMAT_OPTIONS, defaults$$1);\n\n // Capture the current threshold values, then temporarily override them with\n // specific values just for this render.\n var oldThresholds = _extends({}, IntlRelativeFormat.thresholds);\n updateRelativeFormatThresholds(RELATIVE_FORMAT_THRESHOLDS);\n\n try {\n return state.getRelativeFormat(locale, filteredOptions).format(date, {\n now: isFinite(now) ? now : state.now()\n });\n } catch (e) {\n onError(createError('Error formatting relative time.', e));\n } finally {\n updateRelativeFormatThresholds(oldThresholds);\n }\n\n return String(date);\n}\n\nfunction formatNumber(config, state, value) {\n var options = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};\n var locale = config.locale,\n formats = config.formats;\n var format = options.format;\n\n\n var onError = config.onError || defaultErrorHandler;\n var defaults$$1 = format && getNamedFormat(formats, 'number', format, onError);\n var filteredOptions = filterProps(options, NUMBER_FORMAT_OPTIONS, defaults$$1);\n\n try {\n return state.getNumberFormat(locale, filteredOptions).format(value);\n } catch (e) {\n onError(createError('Error formatting number.', e));\n }\n\n return String(value);\n}\n\nfunction formatPlural(config, state, value) {\n var options = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};\n var locale = config.locale;\n\n\n var filteredOptions = filterProps(options, PLURAL_FORMAT_OPTIONS);\n var onError = config.onError || defaultErrorHandler;\n\n try {\n return state.getPluralFormat(locale, filteredOptions).format(value);\n } catch (e) {\n onError(createError('Error formatting plural.', e));\n }\n\n return 'other';\n}\n\nfunction formatMessage(config, state) {\n var messageDescriptor = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n var values = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};\n var locale = config.locale,\n formats = config.formats,\n messages = config.messages,\n defaultLocale = config.defaultLocale,\n defaultFormats = config.defaultFormats;\n var id = messageDescriptor.id,\n defaultMessage = messageDescriptor.defaultMessage;\n\n // Produce a better error if the user calls `intl.formatMessage(element)`\n\n if (process.env.NODE_ENV !== 'production') {\n invariant(!isValidElement(config), '[React Intl] Don\\'t pass React elements to ' + 'formatMessage(), pass `.props`.');\n }\n\n // `id` is a required field of a Message Descriptor.\n invariant(id, '[React Intl] An `id` must be provided to format a message.');\n\n var message = messages && messages[id];\n var hasValues = Object.keys(values).length > 0;\n\n // Avoid expensive message formatting for simple messages without values. In\n // development messages will always be formatted in case of missing values.\n if (!hasValues && process.env.NODE_ENV === 'production') {\n return message || defaultMessage || id;\n }\n\n var formattedMessage = void 0;\n var onError = config.onError || defaultErrorHandler;\n\n if (message) {\n try {\n var formatter = state.getMessageFormat(message, locale, formats);\n\n formattedMessage = formatter.format(values);\n } catch (e) {\n onError(createError('Error formatting message: \"' + id + '\" for locale: \"' + locale + '\"' + (defaultMessage ? ', using default message as fallback.' : ''), e));\n }\n } else {\n // This prevents warnings from littering the console in development\n // when no `messages` are passed into the for the\n // default locale, and a default message is in the source.\n if (!defaultMessage || locale && locale.toLowerCase() !== defaultLocale.toLowerCase()) {\n onError(createError('Missing message: \"' + id + '\" for locale: \"' + locale + '\"' + (defaultMessage ? ', using default message as fallback.' : '')));\n }\n }\n\n if (!formattedMessage && defaultMessage) {\n try {\n var _formatter = state.getMessageFormat(defaultMessage, defaultLocale, defaultFormats);\n\n formattedMessage = _formatter.format(values);\n } catch (e) {\n onError(createError('Error formatting the default message for: \"' + id + '\"', e));\n }\n }\n\n if (!formattedMessage) {\n onError(createError('Cannot format message: \"' + id + '\", ' + ('using message ' + (message || defaultMessage ? 'source' : 'id') + ' as fallback.')));\n }\n\n return formattedMessage || message || defaultMessage || id;\n}\n\nfunction formatHTMLMessage(config, state, messageDescriptor) {\n var rawValues = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};\n\n // Process all the values before they are used when formatting the ICU\n // Message string. Since the formatted message might be injected via\n // `innerHTML`, all String-based values need to be HTML-escaped.\n var escapedValues = Object.keys(rawValues).reduce(function (escaped, name) {\n var value = rawValues[name];\n escaped[name] = typeof value === 'string' ? escape(value) : value;\n return escaped;\n }, {});\n\n return formatMessage(config, state, messageDescriptor, escapedValues);\n}\n\n\n\nvar format = Object.freeze({\n\tformatDate: formatDate,\n\tformatTime: formatTime,\n\tformatRelative: formatRelative,\n\tformatNumber: formatNumber,\n\tformatPlural: formatPlural,\n\tformatMessage: formatMessage,\n\tformatHTMLMessage: formatHTMLMessage\n});\n\n/*\n * Copyright 2015, Yahoo Inc.\n * Copyrights licensed under the New BSD License.\n * See the accompanying LICENSE file for terms.\n */\n\nvar intlConfigPropNames$1 = Object.keys(intlConfigPropTypes);\nvar intlFormatPropNames = Object.keys(intlFormatPropTypes);\n\n// These are not a static property on the `IntlProvider` class so the intl\n// config values can be inherited from an ancestor.\nvar defaultProps = {\n formats: {},\n messages: {},\n timeZone: null,\n textComponent: 'span',\n\n defaultLocale: 'en',\n defaultFormats: {},\n\n onError: defaultErrorHandler\n};\n\nvar IntlProvider = function (_Component) {\n inherits(IntlProvider, _Component);\n\n function IntlProvider(props) {\n var context = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n classCallCheck(this, IntlProvider);\n\n var _this = possibleConstructorReturn(this, (IntlProvider.__proto__ || Object.getPrototypeOf(IntlProvider)).call(this, props, context));\n\n invariant(typeof Intl !== 'undefined', '[React Intl] The `Intl` APIs must be available in the runtime, ' + 'and do not appear to be built-in. An `Intl` polyfill should be loaded.\\n' + 'See: http://formatjs.io/guides/runtime-environments/');\n\n var intlContext = context.intl;\n\n // Used to stabilize time when performing an initial rendering so that\n // all relative times use the same reference \"now\" time.\n\n var initialNow = void 0;\n if (isFinite(props.initialNow)) {\n initialNow = Number(props.initialNow);\n } else {\n // When an `initialNow` isn't provided via `props`, look to see an\n // exists in the ancestry and call its `now()`\n // function to propagate its value for \"now\".\n initialNow = intlContext ? intlContext.now() : Date.now();\n }\n\n // Creating `Intl*` formatters is expensive. If there's a parent\n // ``, then its formatters will be used. Otherwise, this\n // memoize the `Intl*` constructors and cache them for the lifecycle of\n // this IntlProvider instance.\n\n var _ref = intlContext || {},\n _ref$formatters = _ref.formatters,\n formatters = _ref$formatters === undefined ? {\n getDateTimeFormat: memoizeIntlConstructor(Intl.DateTimeFormat),\n getNumberFormat: memoizeIntlConstructor(Intl.NumberFormat),\n getMessageFormat: memoizeIntlConstructor(IntlMessageFormat),\n getRelativeFormat: memoizeIntlConstructor(IntlRelativeFormat),\n getPluralFormat: memoizeIntlConstructor(IntlPluralFormat)\n } : _ref$formatters;\n\n _this.state = _extends({}, formatters, {\n\n // Wrapper to provide stable \"now\" time for initial render.\n now: function now() {\n return _this._didDisplay ? Date.now() : initialNow;\n }\n });\n return _this;\n }\n\n createClass(IntlProvider, [{\n key: 'getConfig',\n value: function getConfig() {\n var intlContext = this.context.intl;\n\n // Build a whitelisted config object from `props`, defaults, and\n // `context.intl`, if an exists in the ancestry.\n\n var config = filterProps(this.props, intlConfigPropNames$1, intlContext);\n\n // Apply default props. This must be applied last after the props have\n // been resolved and inherited from any in the ancestry.\n // This matches how React resolves `defaultProps`.\n for (var propName in defaultProps) {\n if (config[propName] === undefined) {\n config[propName] = defaultProps[propName];\n }\n }\n\n if (!hasLocaleData(config.locale)) {\n var _config = config,\n locale = _config.locale,\n defaultLocale = _config.defaultLocale,\n defaultFormats = _config.defaultFormats,\n onError = _config.onError;\n\n\n onError(createError('Missing locale data for locale: \"' + locale + '\". ' + ('Using default locale: \"' + defaultLocale + '\" as fallback.')));\n\n // Since there's no registered locale data for `locale`, this will\n // fallback to the `defaultLocale` to make sure things can render.\n // The `messages` are overridden to the `defaultProps` empty object\n // to maintain referential equality across re-renders. It's assumed\n // each contains a `defaultMessage` prop.\n config = _extends({}, config, {\n locale: defaultLocale,\n formats: defaultFormats,\n messages: defaultProps.messages\n });\n }\n\n return config;\n }\n }, {\n key: 'getBoundFormatFns',\n value: function getBoundFormatFns(config, state) {\n return intlFormatPropNames.reduce(function (boundFormatFns, name) {\n boundFormatFns[name] = format[name].bind(null, config, state);\n return boundFormatFns;\n }, {});\n }\n }, {\n key: 'getChildContext',\n value: function getChildContext() {\n var config = this.getConfig();\n\n // Bind intl factories and current config to the format functions.\n var boundFormatFns = this.getBoundFormatFns(config, this.state);\n\n var _state = this.state,\n now = _state.now,\n formatters = objectWithoutProperties(_state, ['now']);\n\n\n return {\n intl: _extends({}, config, boundFormatFns, {\n formatters: formatters,\n now: now\n })\n };\n }\n }, {\n key: 'shouldComponentUpdate',\n value: function shouldComponentUpdate() {\n for (var _len = arguments.length, next = Array(_len), _key = 0; _key < _len; _key++) {\n next[_key] = arguments[_key];\n }\n\n return shouldIntlComponentUpdate.apply(undefined, [this].concat(next));\n }\n }, {\n key: 'componentDidMount',\n value: function componentDidMount() {\n this._didDisplay = true;\n }\n }, {\n key: 'render',\n value: function render() {\n return Children.only(this.props.children);\n }\n }]);\n return IntlProvider;\n}(Component);\n\nIntlProvider.displayName = 'IntlProvider';\nIntlProvider.contextTypes = {\n intl: intlShape\n};\nIntlProvider.childContextTypes = {\n intl: intlShape.isRequired\n};\nprocess.env.NODE_ENV !== \"production\" ? IntlProvider.propTypes = _extends({}, intlConfigPropTypes, {\n children: PropTypes.element.isRequired,\n initialNow: PropTypes.any\n}) : void 0;\n\n/*\n * Copyright 2015, Yahoo Inc.\n * Copyrights licensed under the New BSD License.\n * See the accompanying LICENSE file for terms.\n */\n\nvar FormattedDate = function (_Component) {\n inherits(FormattedDate, _Component);\n\n function FormattedDate(props, context) {\n classCallCheck(this, FormattedDate);\n\n var _this = possibleConstructorReturn(this, (FormattedDate.__proto__ || Object.getPrototypeOf(FormattedDate)).call(this, props, context));\n\n invariantIntlContext(context);\n return _this;\n }\n\n createClass(FormattedDate, [{\n key: 'shouldComponentUpdate',\n value: function shouldComponentUpdate() {\n for (var _len = arguments.length, next = Array(_len), _key = 0; _key < _len; _key++) {\n next[_key] = arguments[_key];\n }\n\n return shouldIntlComponentUpdate.apply(undefined, [this].concat(next));\n }\n }, {\n key: 'render',\n value: function render() {\n var _context$intl = this.context.intl,\n formatDate = _context$intl.formatDate,\n Text = _context$intl.textComponent;\n var _props = this.props,\n value = _props.value,\n children = _props.children;\n\n\n var formattedDate = formatDate(value, this.props);\n\n if (typeof children === 'function') {\n return children(formattedDate);\n }\n\n return React.createElement(\n Text,\n null,\n formattedDate\n );\n }\n }]);\n return FormattedDate;\n}(Component);\n\nFormattedDate.displayName = 'FormattedDate';\nFormattedDate.contextTypes = {\n intl: intlShape\n};\nprocess.env.NODE_ENV !== \"production\" ? FormattedDate.propTypes = _extends({}, dateTimeFormatPropTypes, {\n value: PropTypes.any.isRequired,\n format: PropTypes.string,\n children: PropTypes.func\n}) : void 0;\n\n/*\n * Copyright 2015, Yahoo Inc.\n * Copyrights licensed under the New BSD License.\n * See the accompanying LICENSE file for terms.\n */\n\nvar FormattedTime = function (_Component) {\n inherits(FormattedTime, _Component);\n\n function FormattedTime(props, context) {\n classCallCheck(this, FormattedTime);\n\n var _this = possibleConstructorReturn(this, (FormattedTime.__proto__ || Object.getPrototypeOf(FormattedTime)).call(this, props, context));\n\n invariantIntlContext(context);\n return _this;\n }\n\n createClass(FormattedTime, [{\n key: 'shouldComponentUpdate',\n value: function shouldComponentUpdate() {\n for (var _len = arguments.length, next = Array(_len), _key = 0; _key < _len; _key++) {\n next[_key] = arguments[_key];\n }\n\n return shouldIntlComponentUpdate.apply(undefined, [this].concat(next));\n }\n }, {\n key: 'render',\n value: function render() {\n var _context$intl = this.context.intl,\n formatTime = _context$intl.formatTime,\n Text = _context$intl.textComponent;\n var _props = this.props,\n value = _props.value,\n children = _props.children;\n\n\n var formattedTime = formatTime(value, this.props);\n\n if (typeof children === 'function') {\n return children(formattedTime);\n }\n\n return React.createElement(\n Text,\n null,\n formattedTime\n );\n }\n }]);\n return FormattedTime;\n}(Component);\n\nFormattedTime.displayName = 'FormattedTime';\nFormattedTime.contextTypes = {\n intl: intlShape\n};\nprocess.env.NODE_ENV !== \"production\" ? FormattedTime.propTypes = _extends({}, dateTimeFormatPropTypes, {\n value: PropTypes.any.isRequired,\n format: PropTypes.string,\n children: PropTypes.func\n}) : void 0;\n\n/*\n * Copyright 2015, Yahoo Inc.\n * Copyrights licensed under the New BSD License.\n * See the accompanying LICENSE file for terms.\n */\n\nvar SECOND = 1000;\nvar MINUTE = 1000 * 60;\nvar HOUR = 1000 * 60 * 60;\nvar DAY = 1000 * 60 * 60 * 24;\n\n// The maximum timer delay value is a 32-bit signed integer.\n// See: https://mdn.io/setTimeout\nvar MAX_TIMER_DELAY = 2147483647;\n\nfunction selectUnits(delta) {\n var absDelta = Math.abs(delta);\n\n if (absDelta < MINUTE) {\n return 'second';\n }\n\n if (absDelta < HOUR) {\n return 'minute';\n }\n\n if (absDelta < DAY) {\n return 'hour';\n }\n\n // The maximum scheduled delay will be measured in days since the maximum\n // timer delay is less than the number of milliseconds in 25 days.\n return 'day';\n}\n\nfunction getUnitDelay(units) {\n switch (units) {\n case 'second':\n return SECOND;\n case 'minute':\n return MINUTE;\n case 'hour':\n return HOUR;\n case 'day':\n return DAY;\n default:\n return MAX_TIMER_DELAY;\n }\n}\n\nfunction isSameDate(a, b) {\n if (a === b) {\n return true;\n }\n\n var aTime = new Date(a).getTime();\n var bTime = new Date(b).getTime();\n\n return isFinite(aTime) && isFinite(bTime) && aTime === bTime;\n}\n\nvar FormattedRelative = function (_Component) {\n inherits(FormattedRelative, _Component);\n\n function FormattedRelative(props, context) {\n classCallCheck(this, FormattedRelative);\n\n var _this = possibleConstructorReturn(this, (FormattedRelative.__proto__ || Object.getPrototypeOf(FormattedRelative)).call(this, props, context));\n\n invariantIntlContext(context);\n\n var now = isFinite(props.initialNow) ? Number(props.initialNow) : context.intl.now();\n\n // `now` is stored as state so that `render()` remains a function of\n // props + state, instead of accessing `Date.now()` inside `render()`.\n _this.state = { now: now };\n return _this;\n }\n\n createClass(FormattedRelative, [{\n key: 'scheduleNextUpdate',\n value: function scheduleNextUpdate(props, state) {\n var _this2 = this;\n\n // Cancel and pending update because we're scheduling a new update.\n clearTimeout(this._timer);\n\n var value = props.value,\n units = props.units,\n updateInterval = props.updateInterval;\n\n var time = new Date(value).getTime();\n\n // If the `updateInterval` is falsy, including `0` or we don't have a\n // valid date, then auto updates have been turned off, so we bail and\n // skip scheduling an update.\n if (!updateInterval || !isFinite(time)) {\n return;\n }\n\n var delta = time - state.now;\n var unitDelay = getUnitDelay(units || selectUnits(delta));\n var unitRemainder = Math.abs(delta % unitDelay);\n\n // We want the largest possible timer delay which will still display\n // accurate information while reducing unnecessary re-renders. The delay\n // should be until the next \"interesting\" moment, like a tick from\n // \"1 minute ago\" to \"2 minutes ago\" when the delta is 120,000ms.\n var delay = delta < 0 ? Math.max(updateInterval, unitDelay - unitRemainder) : Math.max(updateInterval, unitRemainder);\n\n this._timer = setTimeout(function () {\n _this2.setState({ now: _this2.context.intl.now() });\n }, delay);\n }\n }, {\n key: 'componentDidMount',\n value: function componentDidMount() {\n this.scheduleNextUpdate(this.props, this.state);\n }\n }, {\n key: 'componentWillReceiveProps',\n value: function componentWillReceiveProps(_ref) {\n var nextValue = _ref.value;\n\n // When the `props.value` date changes, `state.now` needs to be updated,\n // and the next update can be rescheduled.\n if (!isSameDate(nextValue, this.props.value)) {\n this.setState({ now: this.context.intl.now() });\n }\n }\n }, {\n key: 'shouldComponentUpdate',\n value: function shouldComponentUpdate() {\n for (var _len = arguments.length, next = Array(_len), _key = 0; _key < _len; _key++) {\n next[_key] = arguments[_key];\n }\n\n return shouldIntlComponentUpdate.apply(undefined, [this].concat(next));\n }\n }, {\n key: 'componentWillUpdate',\n value: function componentWillUpdate(nextProps, nextState) {\n this.scheduleNextUpdate(nextProps, nextState);\n }\n }, {\n key: 'componentWillUnmount',\n value: function componentWillUnmount() {\n clearTimeout(this._timer);\n }\n }, {\n key: 'render',\n value: function render() {\n var _context$intl = this.context.intl,\n formatRelative = _context$intl.formatRelative,\n Text = _context$intl.textComponent;\n var _props = this.props,\n value = _props.value,\n children = _props.children;\n\n\n var formattedRelative = formatRelative(value, _extends({}, this.props, this.state));\n\n if (typeof children === 'function') {\n return children(formattedRelative);\n }\n\n return React.createElement(\n Text,\n null,\n formattedRelative\n );\n }\n }]);\n return FormattedRelative;\n}(Component);\n\nFormattedRelative.displayName = 'FormattedRelative';\nFormattedRelative.contextTypes = {\n intl: intlShape\n};\nFormattedRelative.defaultProps = {\n updateInterval: 1000 * 10\n};\nprocess.env.NODE_ENV !== \"production\" ? FormattedRelative.propTypes = _extends({}, relativeFormatPropTypes, {\n value: PropTypes.any.isRequired,\n format: PropTypes.string,\n updateInterval: PropTypes.number,\n initialNow: PropTypes.any,\n children: PropTypes.func\n}) : void 0;\n\n/*\n * Copyright 2015, Yahoo Inc.\n * Copyrights licensed under the New BSD License.\n * See the accompanying LICENSE file for terms.\n */\n\nvar FormattedNumber = function (_Component) {\n inherits(FormattedNumber, _Component);\n\n function FormattedNumber(props, context) {\n classCallCheck(this, FormattedNumber);\n\n var _this = possibleConstructorReturn(this, (FormattedNumber.__proto__ || Object.getPrototypeOf(FormattedNumber)).call(this, props, context));\n\n invariantIntlContext(context);\n return _this;\n }\n\n createClass(FormattedNumber, [{\n key: 'shouldComponentUpdate',\n value: function shouldComponentUpdate() {\n for (var _len = arguments.length, next = Array(_len), _key = 0; _key < _len; _key++) {\n next[_key] = arguments[_key];\n }\n\n return shouldIntlComponentUpdate.apply(undefined, [this].concat(next));\n }\n }, {\n key: 'render',\n value: function render() {\n var _context$intl = this.context.intl,\n formatNumber = _context$intl.formatNumber,\n Text = _context$intl.textComponent;\n var _props = this.props,\n value = _props.value,\n children = _props.children;\n\n\n var formattedNumber = formatNumber(value, this.props);\n\n if (typeof children === 'function') {\n return children(formattedNumber);\n }\n\n return React.createElement(\n Text,\n null,\n formattedNumber\n );\n }\n }]);\n return FormattedNumber;\n}(Component);\n\nFormattedNumber.displayName = 'FormattedNumber';\nFormattedNumber.contextTypes = {\n intl: intlShape\n};\nprocess.env.NODE_ENV !== \"production\" ? FormattedNumber.propTypes = _extends({}, numberFormatPropTypes, {\n value: PropTypes.any.isRequired,\n format: PropTypes.string,\n children: PropTypes.func\n}) : void 0;\n\n/*\n * Copyright 2015, Yahoo Inc.\n * Copyrights licensed under the New BSD License.\n * See the accompanying LICENSE file for terms.\n */\n\nvar FormattedPlural = function (_Component) {\n inherits(FormattedPlural, _Component);\n\n function FormattedPlural(props, context) {\n classCallCheck(this, FormattedPlural);\n\n var _this = possibleConstructorReturn(this, (FormattedPlural.__proto__ || Object.getPrototypeOf(FormattedPlural)).call(this, props, context));\n\n invariantIntlContext(context);\n return _this;\n }\n\n createClass(FormattedPlural, [{\n key: 'shouldComponentUpdate',\n value: function shouldComponentUpdate() {\n for (var _len = arguments.length, next = Array(_len), _key = 0; _key < _len; _key++) {\n next[_key] = arguments[_key];\n }\n\n return shouldIntlComponentUpdate.apply(undefined, [this].concat(next));\n }\n }, {\n key: 'render',\n value: function render() {\n var _context$intl = this.context.intl,\n formatPlural = _context$intl.formatPlural,\n Text = _context$intl.textComponent;\n var _props = this.props,\n value = _props.value,\n other = _props.other,\n children = _props.children;\n\n\n var pluralCategory = formatPlural(value, this.props);\n var formattedPlural = this.props[pluralCategory] || other;\n\n if (typeof children === 'function') {\n return children(formattedPlural);\n }\n\n return React.createElement(\n Text,\n null,\n formattedPlural\n );\n }\n }]);\n return FormattedPlural;\n}(Component);\n\nFormattedPlural.displayName = 'FormattedPlural';\nFormattedPlural.contextTypes = {\n intl: intlShape\n};\nFormattedPlural.defaultProps = {\n style: 'cardinal'\n};\nprocess.env.NODE_ENV !== \"production\" ? FormattedPlural.propTypes = _extends({}, pluralFormatPropTypes, {\n value: PropTypes.any.isRequired,\n\n other: PropTypes.node.isRequired,\n zero: PropTypes.node,\n one: PropTypes.node,\n two: PropTypes.node,\n few: PropTypes.node,\n many: PropTypes.node,\n\n children: PropTypes.func\n}) : void 0;\n\n/*\n * Copyright 2015, Yahoo Inc.\n * Copyrights licensed under the New BSD License.\n * See the accompanying LICENSE file for terms.\n */\n\nvar defaultFormatMessage = function defaultFormatMessage(descriptor, values) {\n if (process.env.NODE_ENV !== 'production') {\n console.error('[React Intl] Could not find required `intl` object. needs to exist in the component ancestry. Using default message as fallback.');\n }\n return formatMessage({}, { getMessageFormat: memoizeIntlConstructor(IntlMessageFormat) }, descriptor, values);\n};\n\nvar FormattedMessage = function (_Component) {\n inherits(FormattedMessage, _Component);\n\n function FormattedMessage(props, context) {\n classCallCheck(this, FormattedMessage);\n\n var _this = possibleConstructorReturn(this, (FormattedMessage.__proto__ || Object.getPrototypeOf(FormattedMessage)).call(this, props, context));\n\n if (!props.defaultMessage) {\n invariantIntlContext(context);\n }\n return _this;\n }\n\n createClass(FormattedMessage, [{\n key: 'shouldComponentUpdate',\n value: function shouldComponentUpdate(nextProps) {\n var values = this.props.values;\n var nextValues = nextProps.values;\n\n\n if (!shallowEquals(nextValues, values)) {\n return true;\n }\n\n // Since `values` has already been checked, we know they're not\n // different, so the current `values` are carried over so the shallow\n // equals comparison on the other props isn't affected by the `values`.\n var nextPropsToCheck = _extends({}, nextProps, {\n values: values\n });\n\n for (var _len = arguments.length, next = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n next[_key - 1] = arguments[_key];\n }\n\n return shouldIntlComponentUpdate.apply(undefined, [this, nextPropsToCheck].concat(next));\n }\n }, {\n key: 'render',\n value: function render() {\n var _ref = this.context.intl || {},\n _ref$formatMessage = _ref.formatMessage,\n formatMessage$$1 = _ref$formatMessage === undefined ? defaultFormatMessage : _ref$formatMessage,\n _ref$textComponent = _ref.textComponent,\n Text = _ref$textComponent === undefined ? 'span' : _ref$textComponent;\n\n var _props = this.props,\n id = _props.id,\n description = _props.description,\n defaultMessage = _props.defaultMessage,\n values = _props.values,\n _props$tagName = _props.tagName,\n Component$$1 = _props$tagName === undefined ? Text : _props$tagName,\n children = _props.children;\n\n\n var tokenDelimiter = void 0;\n var tokenizedValues = void 0;\n var elements = void 0;\n\n var hasValues = values && Object.keys(values).length > 0;\n if (hasValues) {\n // Creates a token with a random UID that should not be guessable or\n // conflict with other parts of the `message` string.\n var uid = Math.floor(Math.random() * 0x10000000000).toString(16);\n\n var generateToken = function () {\n var counter = 0;\n return function () {\n return 'ELEMENT-' + uid + '-' + (counter += 1);\n };\n }();\n\n // Splitting with a delimiter to support IE8. When using a regex\n // with a capture group IE8 does not include the capture group in\n // the resulting array.\n tokenDelimiter = '@__' + uid + '__@';\n tokenizedValues = {};\n elements = {};\n\n // Iterates over the `props` to keep track of any React Element\n // values so they can be represented by the `token` as a placeholder\n // when the `message` is formatted. This allows the formatted\n // message to then be broken-up into parts with references to the\n // React Elements inserted back in.\n Object.keys(values).forEach(function (name) {\n var value = values[name];\n\n if (isValidElement(value)) {\n var token = generateToken();\n tokenizedValues[name] = tokenDelimiter + token + tokenDelimiter;\n elements[token] = value;\n } else {\n tokenizedValues[name] = value;\n }\n });\n }\n\n var descriptor = { id: id, description: description, defaultMessage: defaultMessage };\n var formattedMessage = formatMessage$$1(descriptor, tokenizedValues || values);\n\n var nodes = void 0;\n\n var hasElements = elements && Object.keys(elements).length > 0;\n if (hasElements) {\n // Split the message into parts so the React Element values captured\n // above can be inserted back into the rendered message. This\n // approach allows messages to render with React Elements while\n // keeping React's virtual diffing working properly.\n nodes = formattedMessage.split(tokenDelimiter).filter(function (part) {\n return !!part;\n }).map(function (part) {\n return elements[part] || part;\n });\n } else {\n nodes = [formattedMessage];\n }\n\n if (typeof children === 'function') {\n return children.apply(undefined, toConsumableArray(nodes));\n }\n\n // Needs to use `createElement()` instead of JSX, otherwise React will\n // warn about a missing `key` prop with rich-text message formatting.\n return createElement.apply(undefined, [Component$$1, null].concat(toConsumableArray(nodes)));\n }\n }]);\n return FormattedMessage;\n}(Component);\n\nFormattedMessage.displayName = 'FormattedMessage';\nFormattedMessage.contextTypes = {\n intl: intlShape\n};\nFormattedMessage.defaultProps = {\n values: {}\n};\nprocess.env.NODE_ENV !== \"production\" ? FormattedMessage.propTypes = _extends({}, messageDescriptorPropTypes, {\n values: PropTypes.object,\n tagName: PropTypes.oneOfType([PropTypes.string, PropTypes.element]),\n children: PropTypes.func\n}) : void 0;\n\n/*\n * Copyright 2015, Yahoo Inc.\n * Copyrights licensed under the New BSD License.\n * See the accompanying LICENSE file for terms.\n */\n\nvar FormattedHTMLMessage = function (_Component) {\n inherits(FormattedHTMLMessage, _Component);\n\n function FormattedHTMLMessage(props, context) {\n classCallCheck(this, FormattedHTMLMessage);\n\n var _this = possibleConstructorReturn(this, (FormattedHTMLMessage.__proto__ || Object.getPrototypeOf(FormattedHTMLMessage)).call(this, props, context));\n\n invariantIntlContext(context);\n return _this;\n }\n\n createClass(FormattedHTMLMessage, [{\n key: 'shouldComponentUpdate',\n value: function shouldComponentUpdate(nextProps) {\n var values = this.props.values;\n var nextValues = nextProps.values;\n\n\n if (!shallowEquals(nextValues, values)) {\n return true;\n }\n\n // Since `values` has already been checked, we know they're not\n // different, so the current `values` are carried over so the shallow\n // equals comparison on the other props isn't affected by the `values`.\n var nextPropsToCheck = _extends({}, nextProps, {\n values: values\n });\n\n for (var _len = arguments.length, next = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n next[_key - 1] = arguments[_key];\n }\n\n return shouldIntlComponentUpdate.apply(undefined, [this, nextPropsToCheck].concat(next));\n }\n }, {\n key: 'render',\n value: function render() {\n var _context$intl = this.context.intl,\n formatHTMLMessage = _context$intl.formatHTMLMessage,\n Text = _context$intl.textComponent;\n var _props = this.props,\n id = _props.id,\n description = _props.description,\n defaultMessage = _props.defaultMessage,\n rawValues = _props.values,\n _props$tagName = _props.tagName,\n Component$$1 = _props$tagName === undefined ? Text : _props$tagName,\n children = _props.children;\n\n\n var descriptor = { id: id, description: description, defaultMessage: defaultMessage };\n var formattedHTMLMessage = formatHTMLMessage(descriptor, rawValues);\n\n if (typeof children === 'function') {\n return children(formattedHTMLMessage);\n }\n\n // Since the message presumably has HTML in it, we need to set\n // `innerHTML` in order for it to be rendered and not escaped by React.\n // To be safe, all string prop values were escaped when formatting the\n // message. It is assumed that the message is not UGC, and came from the\n // developer making it more like a template.\n //\n // Note: There's a perf impact of using this component since there's no\n // way for React to do its virtual DOM diffing.\n var html = { __html: formattedHTMLMessage };\n return React.createElement(Component$$1, { dangerouslySetInnerHTML: html });\n }\n }]);\n return FormattedHTMLMessage;\n}(Component);\n\nFormattedHTMLMessage.displayName = 'FormattedHTMLMessage';\nFormattedHTMLMessage.contextTypes = {\n intl: intlShape\n};\nFormattedHTMLMessage.defaultProps = {\n values: {}\n};\nprocess.env.NODE_ENV !== \"production\" ? FormattedHTMLMessage.propTypes = _extends({}, messageDescriptorPropTypes, {\n values: PropTypes.object,\n tagName: PropTypes.string,\n children: PropTypes.func\n}) : void 0;\n\n/*\n * Copyright 2015, Yahoo Inc.\n * Copyrights licensed under the New BSD License.\n * See the accompanying LICENSE file for terms.\n */\n\naddLocaleData(defaultLocaleData);\n\n/*\n * Copyright 2015, Yahoo Inc.\n * Copyrights licensed under the New BSD License.\n * See the accompanying LICENSE file for terms.\n */\n\naddLocaleData(allLocaleData);\n\nexport { addLocaleData, intlShape, injectIntl, defineMessages, IntlProvider, FormattedDate, FormattedTime, FormattedRelative, FormattedNumber, FormattedPlural, FormattedMessage, FormattedHTMLMessage };\n","import React from 'react';\r\n\r\nimport { createAction, createReducer } from 'utils/redux-utils';\r\nimport socket, { rooms } from 'utils/socket';\r\n\r\nimport { Project } from 'models/project';\r\nimport { FormattedMessage } from 'react-intl';\r\nimport history from 'utils/history';\r\nimport * as api from 'store/api';\r\n\r\nexport const ACTIONS = {\r\n CURRENT_PROJECT_LOADING: 'argus/ui/CURRENT_PROJECT_LOADING',\r\n CURRENT_PROJECT_LOADED: 'argus/ui/CURRENT_PROJECT_LOADED',\r\n CURRENT_PROJECT_ERROR: 'argus/ui/CURRENT_PROJECT_ERROR',\r\n CURRENT_PROJECT_UPDATED: 'argus/ui/CURRENT_PROJECT_UPDATED',\r\n\r\n CREATE_CURRENT_PROJECT_LOADING: 'argus/ui/CREATE_CURRENT_PROJECT_LOADING',\r\n CREATE_CURRENT_PROJECT_LOADED: 'argus/ui/CREATE_CURRENT_PROJECT_LOADED',\r\n UPDATE_CURRENT_PROJECT_NAME: 'argus/ui/UPDATE_CURRENT_PROJECT_NAME',\r\n UPDATE_CURRENT_PROJECT_ENGAGEMENT: 'argus/ui/UPDATE_CURRENT_PROJECT_ENGAGEMENT',\r\n UPDATE_CURRENT_PROJECT_STATE: 'argus/ui/UPDATE_CURRENT_PROJECT_STATE',\r\n UPDATE_CURRENT_PROJECT_UPDATE_ROLE: 'argus/ui/UPDATE_CURRENT_PROJECT_UPDATE_ROLE',\r\n\r\n CLEAR_PROJECT_DATA: 'argus/ui/CLEAR_PROJECT_DATA',\r\n NOTIFICATION_ADD: 'argus/ui/NOTIFICATION_ADD',\r\n // Enable support team access\r\n TOGGLE_SUPPORT_ACCESS: 'argus/ui/TOGGLE_SUPPORT_ACCESS'\r\n};\r\n\r\nexport const currentProjectLoading = createAction(ACTIONS.CURRENT_PROJECT_LOADING);\r\nexport const currentProjectLoaded = createAction(ACTIONS.CURRENT_PROJECT_LOADED);\r\nexport const currentProjectError = createAction(ACTIONS.CURRENT_PROJECT_ERROR);\r\nexport const currentProjectUpdated = createAction(ACTIONS.CURRENT_PROJECT_UPDATED);\r\n\r\nexport const currentProjectCreateLoading = createAction(ACTIONS.CREATE_CURRENT_PROJECT_LOADING);\r\nexport const currentProjectCreateLoaded = createAction(ACTIONS.CREATE_CURRENT_PROJECT_LOADED);\r\n\r\nexport const currentProjectUpdateName = createAction(ACTIONS.UPDATE_CURRENT_PROJECT_NAME);\r\nexport const currentProjectUpdateEngagement = createAction(ACTIONS.UPDATE_CURRENT_PROJECT_ENGAGEMENT);\r\nexport const currentProjectUpdateState = createAction(ACTIONS.UPDATE_CURRENT_PROJECT_STATE);\r\nexport const currentProjectUpdateRole = createAction(ACTIONS.UPDATE_CURRENT_PROJECT_UPDATE_ROLE);\r\nexport const currentProjectClear = createAction(ACTIONS.CLEAR_PROJECT_DATA);\r\n\r\nexport const addNotification = createAction(ACTIONS.NOTIFICATION_ADD);\r\nexport const projectToggleAccess = createAction(ACTIONS.TOGGLE_SUPPORT_ACCESS);\r\n\r\nexport const createProjectTrack = data => dispatch => {\r\n dispatch(currentProjectCreateLoaded(data));\r\n};\r\n\r\nexport const getCurrentProject = ({ projectId }) => (dispatch, getState) => {\r\n if (!projectId) return;\r\n\r\n dispatch(currentProjectLoading());\r\n\r\n unsubscribe();\r\n dispatch(subscribe(projectId));\r\n\r\n return api\r\n .getProject({ projectId })\r\n .then(response => {\r\n localStorage.setItem('isDateFormatSelected', response.data.isDateFormatSelected);\r\n localStorage.setItem('userSelectedDateFormat', response.data.dateFormatPreference);\r\n //if by mistake dateformat was selected as true but preference was still null then below case will help to display the popup\r\n if (response.data.dateFormatPreference == '' || response.data.dateFormatPreference == null) {\r\n localStorage.setItem('isDateFormatSelected', false);\r\n }\r\n // response.data.myRole.roleId = 4;\r\n dispatch(currentProjectLoaded(response.data));\r\n dispatch(subscribe(projectId));\r\n })\r\n .catch(error => {\r\n if (error.response.status === 404 && error.response.data.messages[0].code === 'Unauthorized') {\r\n history.push('/');\r\n } else if (error.response.status === 404) {\r\n const message = ;\r\n dispatch(addNotification({ message, clearOnPageChange: false, autohide: 10 }));\r\n history.push('/');\r\n }\r\n\r\n dispatch(currentProjectError(error));\r\n unsubscribe();\r\n });\r\n};\r\n\r\nexport const refreshCurrentProject = ({ projectId }) => (dispatch, getState) => {\r\n return api\r\n .getProject({ projectId })\r\n .then(response => {\r\n dispatch(currentProjectLoaded(response.data));\r\n })\r\n .catch(error => {\r\n if (error.response.status === 404) {\r\n const message = ;\r\n dispatch(addNotification({ message, clearOnPageChange: false, autohide: 10 }));\r\n history.push('/');\r\n }\r\n\r\n dispatch(currentProjectError(error));\r\n unsubscribe();\r\n });\r\n};\r\n\r\nexport const updateProjectName = data => dispatch => {\r\n return api.updateProjectName(data).then(res => {\r\n dispatch(currentProjectUpdateName(data));\r\n });\r\n};\r\n\r\nexport const updateEngagementManually = data => dispatch => {\r\n return api.updateEngagementManually(data);\r\n};\r\n\r\nexport const updateProjectEngagementManually = data => dispatch => {\r\n return api.updateProjectEngagementManually(data);\r\n};\r\n\r\nexport const updateProjectEngagement = data => dispatch => {\r\n return api.updateProjectEngagement(data).then(res => {\r\n dispatch(currentProjectUpdateEngagement(data));\r\n });\r\n};\r\n\r\nexport const updateProjectState = data => dispatch => {\r\n return api.updateProjectState(data).then(res => {\r\n dispatch(currentProjectUpdateState(data));\r\n });\r\n};\r\n\r\nexport const projectUserRoleChanged = data => (dispatch, getState) => {\r\n const currentProject = getState().data.currentProject;\r\n const currentUser = getState().data.currentUser;\r\n\r\n if (!currentProject.isLoaded || currentProject.projectId !== data.projectId) {\r\n return;\r\n }\r\n\r\n dispatch(\r\n currentProjectUpdateRole({\r\n data,\r\n updateMyRole: currentUser.userId === data.userId\r\n })\r\n );\r\n};\r\n\r\n// Enabling support team access\r\nexport const toggleSupportAccess = data => dispatch => {\r\n return api.enableSupportAccess(data).then(res => {\r\n dispatch(projectToggleAccess({ projectId: data.projectId, allowAccess: data.allowAccess }));\r\n return res;\r\n });\r\n};\r\n\r\nexport const clearProjectData = () => dispatch => {\r\n unsubscribe();\r\n dispatch(currentProjectClear());\r\n};\r\n\r\n/*\r\n * Reducer\r\n */\r\nexport const INITIAL_STATE = new Project();\r\n\r\nexport default createReducer(INITIAL_STATE, {\r\n [ACTIONS.CURRENT_PROJECT_LOADING]: (state, action) => {\r\n return state.setLoading();\r\n },\r\n\r\n [ACTIONS.CURRENT_PROJECT_LOADED]: (state, action) => {\r\n return state.setLoaded(action.payload);\r\n },\r\n\r\n [ACTIONS.CREATE_CURRENT_PROJECT_LOADING]: (state, action) => {\r\n return state.setLoading();\r\n },\r\n\r\n [ACTIONS.CREATE_CURRENT_PROJECT_LOADED]: (state, action) => {\r\n return state.setCreated(state, action);\r\n },\r\n\r\n [ACTIONS.CURRENT_PROJECT_ERROR]: (state, action) => {\r\n return state.setError(action.payload);\r\n },\r\n\r\n [ACTIONS.CURRENT_PROJECT_UPDATED]: (state, action) => {\r\n return state.socketUpdate(action.payload);\r\n },\r\n\r\n [ACTIONS.UPDATE_CURRENT_PROJECT_NAME]: (state, action) => {\r\n return state.setUpdatedName(state, action);\r\n },\r\n\r\n [ACTIONS.UPDATE_CURRENT_PROJECT_ENGAGEMENT]: (state, action) => {\r\n return state.setUpdatedEngagement(state, action);\r\n },\r\n\r\n [ACTIONS.UPDATE_CURRENT_PROJECT_STATE]: (state, action) => {\r\n return state.setUpdatedState(state, action);\r\n },\r\n\r\n [ACTIONS.UPDATE_CURRENT_PROJECT_UPDATE_ROLE]: (state, action) => {\r\n return state.setUpdatedRole(state, action);\r\n },\r\n\r\n [ACTIONS.CLEAR_PROJECT_DATA]: (state, action) => {\r\n return INITIAL_STATE;\r\n },\r\n [ACTIONS.TOGGLE_SUPPORT_ACCESS]: (state, action) => {\r\n return state.toggleSupportAccess(state, action);\r\n }\r\n});\r\n\r\n/*\r\n * SOCKETS\r\n */\r\nconst { subscribe, unsubscribe } = (socket => {\r\n let projectRoom = null;\r\n let onProjectUpdated = null;\r\n let onProjectUserRoleChanged = null;\r\n let onProjectDeleted = null;\r\n\r\n const subscribe = projectId => dispatch => {\r\n if (!projectId) {\r\n return;\r\n }\r\n\r\n const nextProjectRoom = rooms.project(projectId);\r\n\r\n if (projectRoom !== nextProjectRoom) {\r\n socket.leave(projectRoom);\r\n projectRoom = nextProjectRoom;\r\n socket.join(projectRoom);\r\n }\r\n\r\n if (!onProjectUpdated) {\r\n onProjectUpdated = response => {\r\n if (response.room === projectRoom) {\r\n dispatch(refreshCurrentProject({ projectId: response.data.project.projectId }));\r\n }\r\n };\r\n socket.on('update', onProjectUpdated);\r\n }\r\n\r\n if (!onProjectUserRoleChanged) {\r\n onProjectUserRoleChanged = event => {\r\n dispatch(projectUserRoleChanged(event.data));\r\n };\r\n socket.on('project.user.role.updated', onProjectUserRoleChanged);\r\n }\r\n\r\n if (!onProjectDeleted) {\r\n onProjectDeleted = event => {\r\n const message = ;\r\n dispatch(addNotification({ message, clearOnPageChange: false, autohide: 10 }));\r\n history.push('/');\r\n };\r\n socket.on('project.deleted', onProjectDeleted);\r\n }\r\n };\r\n\r\n const unsubscribe = () => {\r\n socket.leave(projectRoom);\r\n projectRoom = null;\r\n\r\n if (onProjectUpdated) {\r\n socket.off('update', onProjectUpdated);\r\n onProjectUpdated = null;\r\n }\r\n\r\n if (onProjectUserRoleChanged) {\r\n socket.off('project.user.role.updated', onProjectUserRoleChanged);\r\n onProjectUserRoleChanged = null;\r\n }\r\n\r\n if (onProjectDeleted) {\r\n socket.off('project.deleted', onProjectDeleted);\r\n onProjectDeleted = null;\r\n }\r\n };\r\n\r\n return {\r\n subscribe,\r\n unsubscribe\r\n };\r\n})(socket);\r\n","import { ITEM_TYPES, TAG_TYPES } from 'models/project-item';\r\n//import AuthContext from 'adal-angular';\r\nimport axios from 'axios';\r\nimport dateUtil from 'utils/dateUtil';\r\nimport EventTarget from 'utils/event-target';\r\nimport moment from 'moment';\r\nimport socket from 'utils/socket';\r\nimport Permissions from 'permissions/permissions';\r\nimport { cleanQuery } from 'utils/string-utils';\r\nimport { AuthenticationResult } from \"@azure/msal-common\";\r\nimport { PublicClientApplication } from \"@azure/msal-browser\";\r\n\r\nconst DEFAULT_PAGE_SIZE = 50;\r\nconst DEFAULT_CACHE_CONTROL = 'no-store';\r\n\r\nconst PROJECT_ITEM_TYPE_NAMES = {\r\n [ITEM_TYPES.FOLDER]: 'folders',\r\n [ITEM_TYPES.DOCUMENT]: 'documents'\r\n};\r\n\r\n\r\nexport const eventTarget = new EventTarget();\r\n\r\nlet accessToken = \"\";\r\n// Define the msal object for authentication\r\nconst scopes = [window.ARGUS.ENV.AD_CLIENT + \"/.default\"];//['openid']\r\nconst port = window.location.port ? `:${window.location.port}` : \"\";\r\nconst authority = `${window.ARGUS.ENV.AD_INSTANCE}/${window.ARGUS.ENV.AD_TENANT}/`;\r\n//const redirectUri = `${window.location.protocol}//${window.location.hostname}${port}/`;\r\nconst redirectUri = `${window.location.protocol}//${window.location.hostname}${port}/authsuccess`;\r\n\r\nconst handleLoginResponse = async () => {\r\n let tokenResponse = await msalInstance.handleRedirectPromise();\r\n let accountObj;\r\n\r\n if (tokenResponse) {\r\n accountObj = tokenResponse.account;\r\n } else {\r\n accountObj = msalInstance.getAllAccounts()[0];\r\n }\r\n\r\n if (accountObj && tokenResponse) {\r\n } else if (accountObj) {\r\n try {\r\n tokenResponse = await msalInstance.acquireTokenSilent({\r\n account: msalInstance.getAllAccounts()[0],\r\n scopes,\r\n });\r\n } catch (err) {\r\n await msalInstance.acquireTokenRedirect({ scopes });\r\n }\r\n } else {\r\n await msalInstance.loginRedirect();\r\n }\r\n\r\n return tokenResponse;\r\n};\r\n/////////////////////////////////////////////////////////////////////////////////////////////////////////////////\r\n//////////////////////////////// API Initialization and Authentication STARTS ///////////////////////////////////\r\n/////////////////////////////////////////////////////////////////////////////////////////////////////////////////\r\n\r\nvar initializeRegionalAPI = geo => {\r\n var newAPI = {\r\n geoCode: geo.GEO_CODE,\r\n api: axios.create({\r\n baseURL: geo.API_BASE_URL\r\n }),\r\n socketURL: geo.HUB_BASE_URL,\r\n label: geo.LABEL,\r\n geo: geo,\r\n flags: {\r\n authenticated: false\r\n },\r\n region: null\r\n };\r\n\r\n newAPI.api.defaults.timeout = 0;\r\n newAPI.api.defaults.headers.common['X-LANG-CTX'] = 'en-US';\r\n\r\n msalInstance = new PublicClientApplication({\r\n auth: {\r\n clientId: window.ARGUS.ENV.AD_CLIENT,\r\n authority: authority,\r\n redirectUri: redirectUri,\r\n knownAuthorities: [authority],\r\n },\r\n cache: {\r\n cacheLocation: \"memoryStorage\",\r\n storeAuthStateInCookie: true,\r\n },\r\n });\r\n\r\n // newAPI.api.interceptors.request.use(\r\n // async (config) => {\r\n // if (accessToken === \"\") {\r\n // const scopeKey = [geo.AD_AUD + \"/.default\"];\r\n // const tokenResponse = await msalInstance.acquireTokenSilent({\r\n // account: msalInstance.getAllAccounts()[0],\r\n // scopes: scopeKey,\r\n // });\r\n // accessToken = tokenResponse ? tokenResponse.accessToken : \"\";\r\n // config.headers.Authorization = `Bearer ${accessToken}`;\r\n // socket.setAccessToken(accessToken);\r\n // }\r\n \r\n // // config.headers.Authorization = `Bearer ${accessToken}`;\r\n // // socket.setAccessToken(accessToken);\r\n // return config;\r\n // },\r\n // (err) => Promise.reject(err)\r\n // );\r\n\r\n // Interceptor for catching errors when response type is blob\r\n newAPI.api.interceptors.response.use(undefined, err => {\r\n const { response, request } = err;\r\n\r\n if (\r\n request.responseType === 'blob' &&\r\n response.data instanceof Blob &&\r\n response.data.type &&\r\n response.data.type.toLowerCase().indexOf('json' !== -1)\r\n ) {\r\n return new Promise((resolve, reject) => {\r\n const reader = new FileReader();\r\n reader.onload = () => {\r\n try {\r\n response.data = JSON.parse(reader.result);\r\n resolve(Promise.reject(err));\r\n } catch (error) {\r\n reject(error);\r\n }\r\n };\r\n\r\n reader.onerror = () => {\r\n reject(err);\r\n };\r\n\r\n reader.readAsText(response.data);\r\n });\r\n }\r\n\r\n throw err;\r\n });\r\n\r\n // Interceptor for catching 401s and handling token refresh\r\n newAPI.api.interceptors.response.use(undefined, err => {\r\n const { response } = err;\r\n\r\n if (response && response.status === 401 && response.config && !response.config.__isRetryRequest) {\r\n response.config.__isRetryRequest = true;\r\n \r\n return new Promise(async (resolve, reject) => {\r\n const tokenResponse = await msalInstance.acquireTokenSilent({\r\n account: msalInstance.getAllAccounts()[0],\r\n scopes: [geo.AD_AUD + \"/.default\"]\r\n });\r\n \r\n if (tokenResponse) {\r\n accessToken = tokenResponse.accessToken;\r\n newAPI.api.defaults.headers.common['Authorization'] = `Bearer ${accessToken}`;\r\n newAPI.flags.authenticated = true;\r\n newAPI.token = accessToken;\r\n err.config.headers.Authorization = `Bearer ${accessToken}`;\r\n socket.setAccessToken(accessToken);\r\n axios(err.config).then(resolve, reject);\r\n }\r\n resolve(tokenResponse ? true : false);\r\n });\r\n }\r\n\r\n if (response) {\r\n eventTarget.dispatchEvent(new CustomEvent('error', { detail: err }));\r\n }\r\n\r\n throw err;\r\n });\r\n\r\n return newAPI;\r\n};\r\n\r\n\r\n\r\n// Log in if not already authenticated, otherwise try to acquire a token\r\nexport function authenticate() {\r\n return new Promise(async (resolve, reject) => {\r\n // If loading in an iframe, don't try to authenticate\r\n // See https://github.com/AzureAD/azure-activedirectory-library-for-js/wiki/FAQs\r\n // Azure AD loads the app in an iframe during the token refresh process, we don't want this\r\n // iframe version of the app to authenticate and start making requests.\r\n if (window !== window.parent) {\r\n return;\r\n }\r\n\r\n // If we are not logged in, redirect to the login page\r\n const tokenResponse = await handleLoginResponse();\r\n\r\n if (APIS && APIS.length > 0) {\r\n authenticateAPIS(APIS[0], 0, () => {\r\n setInitialRegion();\r\n resolve();\r\n //resolve(tokenResponse ? true : false);\r\n });\r\n }\r\n });\r\n}\r\n\r\n// Recursive function to chain API token aquire\r\nfunction authenticateAPIS(API, currentIndex, callback) {\r\n if (currentIndex >= APIS.length) {\r\n callback();\r\n return;\r\n }\r\n\r\n if (!API.flags.authenticated) {\r\n return new Promise(async (resolve, reject) => {\r\n const tokenResponse = await msalInstance.acquireTokenSilent({\r\n account: msalInstance.getAllAccounts()[0],\r\n scopes: [API.geo.AD_AUD + \"/.default\"]\r\n });\r\n if (tokenResponse) {\r\n API.token = tokenResponse ? tokenResponse.accessToken : \"\";\r\n API.flags.authenticated = true;\r\n }\r\n \r\n authenticateAPIS(APIS[currentIndex + 1], currentIndex + 1, callback);\r\n });\r\n \r\n \r\n \r\n } else {\r\n authenticateAPIS(APIS[currentIndex + 1], currentIndex + 1, callback);\r\n }\r\n}\r\n\r\n// Handle authentication success\r\nexport function authenticateSuccess() {\r\n msalInstance.handleRedirectPromise().then(handleLoginResponse);\r\n}\r\n\r\n// Handle logging out\r\nexport function userLogOut() {\r\n sessionStorage.clear();\r\n api\r\n .post(`/users/me/logout`).then(res =>{\r\n if(res.status)\r\n msalInstance.logoutRedirect({\r\n account: msalInstance.getAllAccounts()[0],\r\n })\r\n });\r\n}\r\n\r\n// Ensure logged out from aad (in response from socket logout event)\r\nexport function authContextLogout() {\r\n authContext.logOut();\r\n}\r\n\r\n/////////////////////////////////////////////////////////////////////////////////////////////////////////////////\r\n///////////////////////////////// API Initialization and Authentication ENDS ////////////////////////////////////\r\n/////////////////////////////////////////////////////////////////////////////////////////////////////////////////\r\n\r\n// API Globalization is controlled by 3 properties\r\n// Geo: This maps to the URL for the regional API that we connect to\r\n// Memember Firm: This gets set as a header to help us connect to the correct database\r\n// Container: This also gets set as a header to connect to the correct database\r\n\r\nexport function setAxiosLanguageHeaders(localeCode) {\r\n APIS.forEach(API => {\r\n API.api.defaults.headers.common['X-LANG-CTX'] = localeCode;\r\n });\r\n}\r\n\r\n// Initialize APIs for each GEO\r\nexport const APIS = window.ARGUS.ENV.GEOS\r\n // Filter out the disabled GEOs\r\n .filter(\r\n geo =>\r\n geo.GEO_CODE &&\r\n geo.GEO_CODE !== 'NONE' &&\r\n geo.API_BASE_URL &&\r\n geo.API_BASE_URL !== 'NONE' &&\r\n geo.HUB_BASE_URL &&\r\n geo.HUB_BASE_URL !== 'NONE'\r\n )\r\n .map(geo => initializeRegionalAPI(geo));\r\n\r\nvar authContext;\r\nvar msalInstance;\r\nvar homeAPI = null;\r\nvar currentAPI = null;\r\nvar crossGEOAPI = null;\r\nvar api = null;\r\n\r\nsetInitialRegion();\r\n\r\nfunction setInitialRegion() {\r\n if (!currentAPI || (currentAPI && currentAPI.region === null)) {\r\n const currGeoCode = window.ARGUS.ENV.CURRENT_GEO;\r\n\r\n var apiIndex = currGeoCode ? APIS.findIndex(currAPI => currAPI.geoCode === currGeoCode) : 0;\r\n apiIndex = apiIndex > -1 ? apiIndex : 0;\r\n\r\n if (APIS[apiIndex].token) {\r\n APIS[apiIndex].api.defaults.headers.common['Authorization'] = `Bearer ${APIS[apiIndex].token}`;\r\n socket.setAccessToken(APIS[apiIndex].token);\r\n }\r\n\r\n currentAPI = APIS[apiIndex];\r\n api = currentAPI.api;\r\n } else if (currentAPI && currentAPI.token) {\r\n currentAPI.api.defaults.headers.common['Authorization'] = `Bearer ${currentAPI.token}`;\r\n socket.setAccessToken(currentAPI.token);\r\n api = currentAPI.api;\r\n }\r\n}\r\n\r\n// Home Region is used for some pages UI such as project creation, and admin pages\r\nfunction setHomeRegion(geoCode, memberFirmCode, containerCode) {\r\n homeAPI = {\r\n api: APIS.filter(API => API.geoCode === geoCode),\r\n region: {\r\n geoCode: geoCode,\r\n memberFirmCode: memberFirmCode,\r\n containerCode: containerCode\r\n },\r\n\r\n //TODO Remove references to these direct properties in the application\r\n geoCode: geoCode,\r\n memberFirmCode: memberFirmCode,\r\n containerCode: containerCode\r\n };\r\n}\r\n\r\n// Used to set current region based on region code\r\n// Region codes are GEOCODE_MEMBERFIRMCODE_CONTAINERCODE eg. AME_US_US\r\nexport function setCurrentRegion(combinedCode) {\r\n var codes = combinedCode.split('_');\r\n\r\n if (codes.length === 3 || codes.length === 4) {\r\n var targetRegion =\r\n codes.length === 3\r\n ? {\r\n geoCode: codes[0],\r\n memberFirmCode: codes[1],\r\n containerCode: codes[2]\r\n }\r\n : {\r\n geoCode: codes[0],\r\n memberFirmCode: codes[1],\r\n containerCode: codes[2],\r\n countryCode: codes[3]\r\n };\r\n\r\n APIS.forEach(API => {\r\n if (API.geoCode === targetRegion.geoCode) {\r\n API.region = targetRegion;\r\n\r\n API.api.defaults.headers.common['Authorization'] = `Bearer ${API.token}`;\r\n API.api.defaults.headers.common['X-MF-CTX'] = targetRegion.memberFirmCode;\r\n API.api.defaults.headers.common['X-CNTR-CTX'] = targetRegion.containerCode;\r\n API.api.defaults.headers.common['Cache-Control'] = DEFAULT_CACHE_CONTROL;\r\n\r\n //Set socket server\r\n socket.setRegion(API.geo.HUB_BASE_URL, codes[2], codes[1]);\r\n socket.setAccessToken(API.token);\r\n\r\n //Set API\r\n currentAPI = API;\r\n api = currentAPI.api; // API is a convenience so that all of the API calls below can use it directly\r\n }\r\n });\r\n }\r\n}\r\n\r\nexport function getCurrentApiInfo() {\r\n return currentAPI.region;\r\n}\r\n\r\nexport function getCurrentBaseAdminUrl() {\r\n const containerCode = sessionStorage.getItem('selected-container');\r\n const memberfirm = sessionStorage.getItem('selected-memberfirm');\r\n const selectedGeoCode = sessionStorage.getItem('selected-GEOCode');\r\n\r\n var apiIndex = selectedGeoCode ? APIS.findIndex(currAPI => currAPI.geoCode === selectedGeoCode) : 0;\r\n apiIndex = apiIndex > -1 ? apiIndex : 0;\r\n\r\n if (APIS[apiIndex].token) {\r\n APIS[apiIndex].api.defaults.headers.common['Authorization'] = `Bearer ${APIS[apiIndex].token}`;\r\n socket.setAccessToken(APIS[apiIndex].token);\r\n }\r\n\r\n var adminapi = APIS[apiIndex].api;\r\n adminapi.defaults.headers.common['X-MF-CTX'] = memberfirm;\r\n adminapi.defaults.headers.common['X-ADMCNTR-CTX'] = containerCode;\r\n return adminapi.defaults.baseURL;\r\n}\r\n\r\nexport function getCurrentBaseUrl() {\r\n return currentAPI.region\r\n ? window.ARGUS.ENV.GEOS.filter(geo => geo.GEO_CODE === currentAPI.region.geoCode)[0].API_BASE_URL\r\n : '';\r\n}\r\n\r\nexport function getCurrentGeoCode() {\r\n return currentAPI.region !== null ? currentAPI.region.geoCode : '';\r\n}\r\n\r\nexport function getCurrentRegion() {\r\n return currentAPI.region !== null\r\n ? `${currentAPI.region.geoCode}_${currentAPI.region.memberFirmCode}_${currentAPI.region.containerCode}`\r\n : '';\r\n}\r\n\r\nexport function getHomeRegion() {\r\n return homeAPI !== null ? `${homeAPI.geoCode}_${homeAPI.memberFirmCode}_${homeAPI.containerCode}` : '';\r\n}\r\n\r\nexport function getCurrentAPI() {\r\n return currentAPI.region;\r\n}\r\n\r\n/********************************************************************************\r\n\r\nLocalization (Translation)\r\n\r\n********************************************************************************/\r\n\r\nexport function getLanguages() {\r\n return api.get('/translations/languages').then(response => {\r\n return response.data;\r\n });\r\n}\r\n\r\nexport function getLanguageData(localeCode) {\r\n return api.get(`/translations/languages/${localeCode}`).then(response => {\r\n return response.data;\r\n });\r\n}\r\n\r\n/********************************************************************************\r\n\r\nUser\r\n\r\n********************************************************************************/\r\n\r\nexport function getCurrentUser() {\r\n return api.get('/users/me').then(response => {\r\n var { geoCode, memberFirmCode, containerCode } = response.data.data;\r\n setHomeRegion(geoCode, memberFirmCode, containerCode);\r\n return response.data;\r\n });\r\n}\r\n\r\nexport function getUser({ userId }) {\r\n return api.get(`/users/${userId}`, null, true).then(response => response.data);\r\n}\r\n\r\nexport function getUsers(keyword, memberFirmOnly = false, adminOnly = false, adminContainer = false) {\r\n const containerCode = sessionStorage.getItem('selected-container');\r\n const memberfirm = sessionStorage.getItem('selected-memberfirm');\r\n const selectedGeoCode = sessionStorage.getItem('selected-GEOCode');\r\n\r\n var apiIndex = selectedGeoCode ? APIS.findIndex(currAPI => currAPI.geoCode === selectedGeoCode) : 0;\r\n apiIndex = apiIndex > -1 ? apiIndex : 0;\r\n\r\n if (APIS[apiIndex].token) {\r\n APIS[apiIndex].api.defaults.headers.common['Authorization'] = `Bearer ${APIS[apiIndex].token}`;\r\n socket.setAccessToken(APIS[apiIndex].token);\r\n }\r\n\r\n var adminapi = APIS[apiIndex].api;\r\n adminapi.defaults.headers.common['X-MF-CTX'] = memberfirm;\r\n if(containerCode != null && Permissions.Global.canViewAdminContainerDropdown())\r\n {\r\n return adminapi\r\n .post(`users/get?memberfirmonly=${memberFirmOnly}&adminOnly=${adminOnly}&adminContainer=${adminContainer}`,\r\n {keyword:keyword}, \r\n {\r\n headers: {\r\n ...(containerCode && { 'X-ADMCNTR-CTX': containerCode })\r\n }\r\n })\r\n .then(response => response.data);\r\n }\r\n\r\n else\r\n {\r\n return api\r\n .post(`users/get?memberfirmonly=${memberFirmOnly}&adminOnly=${adminOnly}`,{keyword:keyword})\r\n .then(response => response.data);\r\n } \r\n}\r\n\r\nexport function getDocumentListColumnOptions() {\r\n return api.get('/users/me/preferences/documentListPage').then(response => response.data);\r\n}\r\n\r\nexport function setDocumentListColumnOptions(columnOptions) {\r\n return api.put('/users/me/preferences/documentListPage', columnOptions).then(response => response.data);\r\n}\r\n\r\nexport function getExtractionOverviewColumnOptions() {\r\n return api.get('/users/me/preferences/extractionOverviewPage').then(response => response.data);\r\n}\r\n\r\nexport function setExtractionOverviewColumnOptions(columnOptions) {\r\n return api.put('/users/me/preferences/extractionOverviewPage', columnOptions).then(response => response.data);\r\n}\r\nexport function saveGridView(projectId,templateId,extObj) {\r\n let extractionFieldOverviewId=extObj.extractionFieldOverviewId;\r\n let extractionFieldOverviewName=extObj.extractionFieldOverviewName;\r\n let fields=extObj.fields\r\n \r\n return api.post(`/projects/${projectId}/templates/${templateId}/extractionfieldoverview`,\r\n {extractionFieldOverviewId,extractionFieldOverviewName,fields}).then(response => response.data);\r\n}\r\n\r\nexport function deleteGridView(projectId,templateId,gridId) { \r\n return api.delete(`/projects/${projectId}/templates/${templateId}/extractionfieldoverview/${gridId}`).then(response => response.data);\r\n}\r\n\r\n\r\n\r\nexport function validateGridViewName(name,projectId) {\r\n return api.get(`/projects/${projectId}/validateoverviewname?extractionOverviewName=${name}`).then(response => response.data);\r\n}\r\n\r\nexport function getGridViewDropdownData(projectId,templateId) {\r\n return api.get(`/projects/${projectId}/templates/${templateId}/extractionOverviewNames`).then(response => response.data);\r\n}\r\n\r\nexport function getSavedExtractionField(projectId,templateId,gridId) {\r\n return api.get(`/projects/${projectId}/templates/${templateId}/extractionFieldOverview/${gridId}`).then(response => response.data);\r\n }\r\n \r\n\r\n\r\n\r\n/********************************************************************************\r\n\r\nCurrent Folder and File Upload\r\n\r\n********************************************************************************/\r\nexport function getFolder({\r\n folderId = 'root',\r\n foldersFirst = true,\r\n includeFolders = true,\r\n pageNum = 1,\r\n pageSize = DEFAULT_PAGE_SIZE,\r\n projectId,\r\n recursive = false,\r\n sortBy = 'name',\r\n sortOrder = 'ascending',\r\n filterBy = '',\r\n filterString = '',\r\n filterIds = [],\r\n filterKiraFolders = false\r\n} = {}) {\r\n var payload = {\r\n params: {\r\n options: `recursive:${recursive};flatten:${recursive};includefolders:${includeFolders}`,\r\n pagination: `pagenum:${pageNum};pagesize:${pageSize};sortby:${sortBy};foldersfirst:${foldersFirst};sortorder:${sortOrder}`,\r\n filterKiraFolders : filterKiraFolders\r\n }\r\n };\r\n\r\n // Filter Array\r\n if (filterBy.length > 0 && filterIds.length > 0) {\r\n payload.params.filter = `fieldname:${filterBy};ids:${filterIds.join()}`;\r\n }\r\n\r\n // Search Filter\r\n if (filterBy.length > 0 && filterString.length > 0) {\r\n payload.params.filter = `fieldname:${filterBy};text:${cleanQuery(filterString)}`;\r\n }\r\n\r\n return api.get(`projects/${projectId}/folders/${folderId}`, payload).then(response => response.data);\r\n}\r\n\r\nexport function getFolderSummary({ folderId = 'root', projectId } = {}) {\r\n return api.get(`projects/${projectId}/folders/${folderId}/summary`).then(response => response.data.data);\r\n}\r\n\r\nexport function getFolderFilterTagOptions({ folderId = 'root', projectId } = {}) {\r\n return api.get(`projects/${projectId}/folders/${folderId}/filters/tags`).then(response => response.data);\r\n}\r\n\r\nexport function getFolderFilterTemplateOptions({ folderId = 'root', projectId } = {}) {\r\n return api.get(`projects/${projectId}/folders/${folderId}/filters/templates`).then(response => response.data);\r\n}\r\n\r\nexport function getFolderFilterReviewerOptions({ folderId = 'root', projectId } = {}) {\r\n return api.get(`projects/${projectId}/folders/${folderId}/filters/reviewers`).then(response => response.data);\r\n}\r\n\r\nexport function getFolderFilterAssigneeOptions({ folderId = 'root', projectId } = {}) {\r\n return api.get(`projects/${projectId}/folders/${folderId}/filters/assignees`).then(response => response.data);\r\n}\r\n\r\nexport function moveItems({ folderId, projectId, projectItemsIdList, templateId }) { \r\n return api.put(`/projects/${projectId}/documents/${folderId}/movedocuments`, { \r\n Items:projectItemsIdList.map(items => items.projectItemId) \r\n })\r\n .then(response => response.data);\r\n}\r\n\r\nexport function renameItem({ projectId, itemName, itemTypeId, projectItemId }) {\r\n return api\r\n .put(`projects/${projectId}/${PROJECT_ITEM_TYPE_NAMES[itemTypeId]}/${projectItemId}?options=action:rename`, {\r\n itemName\r\n })\r\n .then(response => response.data);\r\n}\r\n\r\nexport function reprocessItem({ projectId, items = [], templates }) {\r\n return api\r\n .put(`/projects/${projectId}/documents/batchreprocess`, { Items: items, templates })\r\n .then(response => response.data);\r\n}\r\n\r\nexport function getItemTemplates({ projectId, items = [], templateID }) {\r\n \r\n return api\r\n .post(`projects/${projectId}/templates/get`, {\r\n Items: Array.isArray(items) ? items : [items] \r\n },\r\n {\r\n params: {\r\n templateID: templateID\r\n }\r\n })\r\n .then(response => response.data)\r\n .catch(response => response.data);\r\n}\r\n\r\nexport function assignTemplates({ projectId, templateId, items = [] }) {\r\n return Promise.all(\r\n items.map(projectItem => {\r\n return api\r\n .put(\r\n `projects/${projectId}/${PROJECT_ITEM_TYPE_NAMES[projectItem.itemTypeId]}/${\r\n projectItem.projectItemId\r\n }/templates/${templateId}`\r\n )\r\n .then(response => response.data);\r\n })\r\n );\r\n}\r\n\r\nexport function getProjectItemAssignments({ projectId, projectItemIds = [] }) {\r\n return api\r\n .post(`projects/${projectId}/assignments/get`, { Items: projectItemIds })\r\n .then(response => response.data)\r\n .catch(response => response.data);\r\n}\r\n\r\nexport function createProjectItemAssignments({ projectId, projectItemIds = [], userId }) {\r\n return api\r\n .post(\r\n `projects/${projectId}/assignments`,\r\n { Items: projectItemIds },\r\n {\r\n params: {\r\n globalPersonId: userId\r\n }\r\n }\r\n )\r\n .then(response => response.data)\r\n .catch(response => response.data);\r\n}\r\n\r\nexport function deleteProjectItemAssignments({ projectId, projectItemIds = [], userId }) {\r\n return api\r\n .post(\r\n `projects/${projectId}/assignments/delete`,\r\n { Items: projectItemIds },\r\n {\r\n params: {\r\n globalPersonId: userId\r\n }\r\n }\r\n )\r\n .then(response => response.data)\r\n .catch(response => response.data);\r\n}\r\n\r\n// Individual delete\r\n// Todo: change this to single api call\r\nexport function deleteItems({ projectId, items = [] }) {\r\n return Promise.all(\r\n items.map(projectItem => {\r\n return api\r\n .delete(`projects/${projectId}/${PROJECT_ITEM_TYPE_NAMES[projectItem.itemTypeId]}/${projectItem.projectItemId}`)\r\n .then(response => response);\r\n })\r\n );\r\n}\r\n\r\n// Batch delete job\r\nexport function deleteAllItems({ projectId, ids = [] }) {\r\n return api.post(`projects/${projectId}/documents/batchdelete`, { Items: ids }).then(response => response);\r\n}\r\n\r\nexport function upload({\r\n cancelToken,\r\n file,\r\n onCancel,\r\n onFail,\r\n onProgress,\r\n onSuccess,\r\n parentId,\r\n path,\r\n projectId,\r\n projectTemplateId\r\n}) {\r\n const formData = new FormData();\r\n formData.append('path', path);\r\n formData.append('parentId', parentId);\r\n formData.append('file', file);\r\n formData.append('projectTemplateId', projectTemplateId);\r\n\r\n return api\r\n .post(`projects/${projectId}/documents`,formData,{\r\n cancelToken,\r\n onUploadProgress: onProgress\r\n })\r\n .then(response => {\r\n onSuccess(response.data.data);\r\n })\r\n .catch(thrown => {\r\n if (axios.isCancel(thrown)) {\r\n onCancel(thrown);\r\n } else {\r\n onFail(thrown);\r\n }\r\n });\r\n\r\n}\r\n\r\nexport function createFolder({ folderName, projectId, parentId }) {\r\n const payload = {\r\n projectId: parseInt(projectId, 10),\r\n projectItemId: 0,\r\n itemTypeId: 1,\r\n itemName: folderName,\r\n projectItemStatus: '',\r\n projectTemplate: '',\r\n parentId: folderIdToApiFormat(parentId),\r\n itemStateId: 0,\r\n reviewers: [],\r\n tags: [],\r\n projectTemplates: [],\r\n lastUpdatedDate: dateUtil.toServerDate(moment()),\r\n lastUpdatedBy: 0,\r\n createdDate: dateUtil.toServerDate(moment()),\r\n createdBy: 0\r\n };\r\n\r\n return api.post(`projects/${projectId}/folders`, payload).then(response => response.data);\r\n}\r\n\r\nfunction folderIdToApiFormat(folderId) {\r\n if (folderId === 'root') {\r\n return null;\r\n } else {\r\n return parseInt(folderId, 10);\r\n }\r\n}\r\n\r\n/********************************************************************************\r\n\r\nExport\r\n\r\n********************************************************************************/\r\n\r\nexport function getExports({ projectId, exportType }) {\r\n return api.get(`projects/${projectId}/exports`, { params: { exportType } }).then(response => response.data);\r\n}\r\n\r\n/*\r\n Example payload for createExport\r\n\r\n{\r\n exportFileName = \"Export-1\"\r\n exportStateDate = \"2018-02-21 10:11:47.2833333 +00:00\"\r\n exportOption: '0' (0 = excel; 1 = pdf; 2 = word),\r\n layout: '0' (0 = row, 1 = column),\r\n tagsOptions: '0' (0 = all; 1 = documenttag; 2 = extractionfieldtag),\r\n templates: [\r\n {\r\n projectTemplateId: 9,\r\n extractionFields: [\r\n {\r\n extractionFieldId: 28\r\n }\r\n ]\r\n }\r\n ],\r\n items: [\r\n {\r\n projectItemId: '1',\r\n itemTypeId: '1' (1 = folder; 2 = document)\r\n }\r\n ]\r\n};\r\n*/\r\nexport function createExport({ projectId, exportOptions }) {\r\n return api.post(`projects/${projectId}/exports`, exportOptions).then(response => response.data);\r\n}\r\n\r\nexport function deleteExport({ projectId, exportId }) {\r\n return api.delete(`projects/${projectId}/exports/${exportId}`).then(response => response.data);\r\n}\r\n\r\nexport function getExportBinary({ projectId, exportId }) {\r\n return api.get(`projects/${projectId}/exports/${exportId}/binary`,{ responseType: 'blob' });\r\n}\r\n\r\nexport function getExportToken({ projectId, exportId }) {\r\n return api.get(`projects/${projectId}/exports/${exportId}/token`).then(response => response.data);\r\n}\r\n\r\n/********************************************************************************\r\n\r\nTags\r\n\r\n********************************************************************************/\r\n\r\nexport function getProjectTags({ projectId }) {\r\n return api.post(`projects/${projectId}/tags/get`).then(response => response.data);\r\n}\r\n\r\nexport function createProjectTag({ projectId, tagName, tagTypeId = TAG_TYPES.USER }) {\r\n return api.post(`projects/${projectId}/tags`, { tagName, tagTypeId }).then(response => response.data);\r\n}\r\n\r\nexport function getItemTags({ projectId, items = [] }) {\r\n return api\r\n .post(`/projects/${projectId}/tags/get`, { Items: items })\r\n .then(response => response.data)\r\n .catch(response => response.data);\r\n}\r\n\r\nexport function addItemTag({ projectId, items = [], tag }) {\r\n return api\r\n .post(`/projects/${projectId}/tags/${tag.tagId}/projectitems/batchassign`, {\r\n Items: items\r\n })\r\n .then(response => response.data)\r\n .catch(response => response.data);\r\n}\r\n\r\nexport function removeItemTag({ projectId, items = [], tag }) {\r\n return api\r\n .post(`/projects/${projectId}/tags/${tag.tagId}/projectitems/batchdelete`, { Items: items })\r\n .then(response => response.data)\r\n .catch(response => response.data);\r\n}\r\n\r\nexport function addExtractionFieldRecordTag(projectId, documentId, extractionFieldRecordId, tagId) {\r\n return api\r\n .post(\r\n `projects/${projectId}/documents/${documentId}/extractionfieldrecords/${extractionFieldRecordId}/tags/${tagId}`,\r\n {}\r\n )\r\n .then(response => response.data);\r\n}\r\n\r\nexport function removeExtractionFieldRecordTag(projectId, documentId, extractionFieldRecordId, tagId) {\r\n return api\r\n .delete(\r\n `projects/${projectId}/documents/${documentId}/extractionfieldrecords/${extractionFieldRecordId}/tags/${tagId}`\r\n )\r\n .then(response => response.data);\r\n}\r\n\r\nexport function organizeDocuments(projectId, documentId, method, start, length) {\r\n const payload = {\r\n start: start,\r\n length: length\r\n };\r\n return api\r\n .request({ url: `projects/${projectId}/documents/${documentId}/organize`, method: method, data: payload })\r\n .then(response => response.data);\r\n}\r\n\r\nexport function updateSampleNumber(projectId, documentId, start, sampleNumber) {\r\n const payload = {\r\n sample: sampleNumber\r\n };\r\n return api\r\n .put(`projects/${projectId}/documents/${documentId}/organize/${start}`, payload)\r\n .then(response => response.data);\r\n}\r\n\r\nexport function removeDocType(projectId, documentId, sectionStart) {\r\n return api\r\n .delete(`projects/${projectId}/documents/${documentId}/organize/${sectionStart}`)\r\n .then(response => response.data);\r\n}\r\n\r\n/********************************************************************************\r\n\r\nDocument Viewer and Extraction Fields\r\n\r\n********************************************************************************/\r\n\r\nexport function getDocument(projectId, documentId) {\r\n return api.get(`projects/${projectId}/documents/${documentId}`).then(response => response.data);\r\n}\r\n\r\nexport function getDocumentLayout(projectId, documentId) {\r\n return api.get(`projects/${projectId}/documents/${documentId}/layout`).then(response => response.data);\r\n}\r\n\r\nexport function getDocumentLayoutMetadata(projectId, documentId) {\r\n return api.get(`projects/${projectId}/documents/${documentId}/layout/metadata`).then(response => response.data);\r\n}\r\n\r\nexport function getDocumentCharacters(projectId, documentId) {\r\n return api.get(`projects/${projectId}/documents/${documentId}/layout/data`).then(response => response.data);\r\n}\r\n\r\nexport function getDocumentPageCharacters(projectId, documentId, pageNumber) {\r\n return api\r\n .get(`projects/${projectId}/documents/${documentId}/layout/data?start=${pageNumber}&count=1`)\r\n .then(response => response.data);\r\n}\r\n\r\nexport function getDocumentBinary(projectId, documentId) {\r\n \r\n return api\r\n .get(`projects/${projectId}/documents/${documentId}/binary`,{responseType: 'arraybuffer'})\r\n .then(response => response.data);\r\n}\r\n\r\nexport function getDocumentPageBinary(projectId, documentId, pageNumber, thumbnail = false) {\r\n \r\n return api\r\n .get(`projects/${projectId}/documents/${documentId}/binary/${pageNumber}${thumbnail ? '?thumbnail=true' : ''}`\r\n ,{\r\n responseType: 'arraybuffer'\r\n })\r\n .then(response => response.data);\r\n}\r\n\r\nexport function getNextDocument(projectId, documentId) {\r\n return api.get(`projects/${projectId}/documents/${documentId}/next`).then(response => response.data);\r\n}\r\n\r\nexport function getPreviousDocument(projectId, documentId) {\r\n return api.get(`projects/${projectId}/documents/${documentId}/prev`).then(response => response.data);\r\n}\r\n\r\nexport function getDocumentsInFolder(projectId, folderId, pageNum, pageSize) {\r\n return api\r\n .get(`projects/${projectId}/folders/${folderId}`, {\r\n params: {\r\n options: `recursive:false;flatten:false;includefolders:false`,\r\n pagination: `pagenum:${pageNum};pagesize:${pageSize};sortby:name;foldersfirst:false;sortorder:ascending`\r\n }\r\n })\r\n .then(response => response.data.data);\r\n}\r\n\r\nexport function markDocumentAsReviewed(projectId, documentId) {\r\n return api.post(`projects/${projectId}/documents/${documentId}/review`).then(response => response.data.data);\r\n}\r\n\r\nexport function markDocumentAsNotReviewed(projectId, documentId) {\r\n return api.delete(`projects/${projectId}/documents/${documentId}/review`).then(response => response.data.data);\r\n}\r\n\r\nexport function markAllDocumentsAsReviewed({ projectId, documentIds = [] }) {\r\n return api\r\n .post(`projects/${projectId}/documents/batchreview`, { Items: documentIds })\r\n .then(response => response.data);\r\n}\r\n\r\nexport function getExtractionFields() { \r\n return api.get(`extractionfields?includepublicfields=true`).then(response => response.data); \r\n}\r\n\r\nexport function getExtractionFieldsByCategoryID(templateCategoryID, projectId) { \r\n return api.get(`extractionfields?templateCategoryID=${templateCategoryID}&projectId=${projectId}&includepublicfields=true`).then(response => response.data); \r\n}\r\n\r\nexport function startExtractionFieldTraining(extractionFieldId, projectIds) {\r\n return api\r\n .post(`trainingrequests/${extractionFieldId}/trainrequest`, { ProjectIds: projectIds })\r\n .then(response => response.data);\r\n}\r\n\r\nexport function getProjectExtractionFields(projectId) {\r\n return api.get(`projects/${projectId}/extractionsummary`).then(response => response.data);\r\n}\r\n\r\nexport function getProjectTemplateExtractionFields(projectId, templateId) {\r\n return api.get(`projects/${projectId}/templates/${templateId}/extractionfields`).then(response => {\r\n response.data.projectId = projectId;\r\n response.data.templateId = templateId;\r\n return response.data;\r\n });\r\n}\r\n\r\nexport function createExtractionField(name, description) {\r\n const payload = {\r\n extractionFieldName: name,\r\n extractionFieldDescription: description\r\n };\r\n \r\n const containerCode = sessionStorage.getItem('selected-container');\r\n const memberfirm = sessionStorage.getItem('selected-memberfirm');\r\n const selectedGeoCode = sessionStorage.getItem('selected-GEOCode');\r\n\r\n var apiIndex = selectedGeoCode ? APIS.findIndex(currAPI => currAPI.geoCode === selectedGeoCode) : 0;\r\n apiIndex = apiIndex > -1 ? apiIndex : 0;\r\n\r\n if (APIS[apiIndex].token) {\r\n APIS[apiIndex].api.defaults.headers.common['Authorization'] = `Bearer ${APIS[apiIndex].token}`;\r\n socket.setAccessToken(APIS[apiIndex].token);\r\n }\r\n\r\n var adminapi = APIS[apiIndex].api;\r\n adminapi.defaults.headers.common['X-MF-CTX'] = memberfirm;\r\n\r\n if(containerCode != null && Permissions.Global.canViewAdminContainerDropdown())\r\n {\r\n return adminapi.post(`extractionfields`, payload,\r\n {\r\n headers: {\r\n ...(containerCode && { 'X-ADMCNTR-CTX': containerCode })\r\n }\r\n }).then(response => response.data);\r\n }\r\n else\r\n {\r\n return api.post(`extractionfields`, payload).then(response => response.data);\r\n }\r\n \r\n}\r\n\r\nexport function createProjectExtractionField(projectId, name, description) {\r\n const payload = {\r\n extractionFieldName: name,\r\n extractionFieldDescription: description\r\n };\r\n\r\n return api.post(`projects/${projectId}/extractionfields`, payload).then(response => response.data);\r\n}\r\n\r\nexport function createExtractionFieldAndAddToTemplate(name, description, templateId, projectId) {\r\n const payload = {\r\n extractionFieldName: name,\r\n extractionFieldDescription: description\r\n };\r\n\r\n return api\r\n .post(`projects/${projectId}/templates/${templateId}/extractionfields`, payload)\r\n .then(response => response.data);\r\n}\r\n\r\nexport function addExtractionFieldToTemplate(projectId, templateId, extractionFieldId, groupId) {\r\n const groupMapping = groupId ? `/groups/${groupId}` : '';\r\n return api\r\n .post(`projects/${projectId}/templates/${templateId}/extractionfields/${extractionFieldId}${groupMapping}`)\r\n .then(response => response.data);\r\n}\r\n\r\n//6.0.1 Create extraction field, associate to template, and create extraction field record\r\nexport function combinedCreate({\r\n name,\r\n description,\r\n templateId,\r\n projectId,\r\n documentId,\r\n location,\r\n text,\r\n pageNumber,\r\n extractionFieldGroupId = null\r\n}) {\r\n const payload = {\r\n templateId: templateId,\r\n documentId: documentId,\r\n extractionFieldName: name,\r\n extractionFieldDescription: description,\r\n ...(extractionFieldGroupId && { extractionFieldGroupId: extractionFieldGroupId }),\r\n location: location!=null ? location.sort((a, b) => (a < b ? -1 : b < a ? 1 : 0)) : null,\r\n extractFieldInstanceData: text,\r\n pageNumber: pageNumber\r\n };\r\n\r\n return api.post(`projects/${projectId}/extractionfieldrecords/create`, payload).then(response => response.data);\r\n}\r\n\r\n//6.0.1 Associate existing extraction field to template, and create extraction field record\r\nexport function combinedAssociate({\r\n extractionFieldId,\r\n templateId,\r\n projectId,\r\n documentId,\r\n location,\r\n text,\r\n pageNumber,\r\n extractionFieldGroupId\r\n}) {\r\n const payload = {\r\n templateId: templateId,\r\n documentId: documentId,\r\n extractionFieldId: extractionFieldId,\r\n location: location!=null ? location.sort((a, b) => (a < b ? -1 : b < a ? 1 : 0)) : null,\r\n extractFieldInstanceData: text,\r\n pageNumber: pageNumber,\r\n extractionFieldGroupId: extractionFieldGroupId\r\n };\r\n\r\n return api.post(`projects/${projectId}/extractionfieldrecords/create`, payload).then(response => response.data);\r\n}\r\n\r\nexport function createExtractionFieldRecord(projectId, documentId, extractionFieldId, location, text, page) {\r\n const payload = {\r\n extractionFieldId: extractionFieldId,\r\n location: location.sort((a, b) => (a < b ? -1 : b < a ? 1 : 0)),\r\n extractFieldInstanceData: text,\r\n pageNumber: page\r\n };\r\n\r\n return api\r\n .post(`projects/${projectId}/documents/${documentId}/extractionfieldrecords`, payload)\r\n .then(response => response.data);\r\n}\r\n\r\nexport function editExtractionFieldRecord(projectId, documentId, fieldId, recordId, text) {\r\n return api\r\n .put(`projects/${projectId}/documents/${documentId}/extractionfieldrecords/${recordId}`, {\r\n extractFieldInstanceData: text,\r\n extractionFieldId: fieldId\r\n })\r\n .then(response => response.data);\r\n}\r\n\r\nexport function markFieldAsVerified(projectId, documentId, fieldId) {\r\n return api\r\n .delete(`projects/${projectId}/documents/${documentId}/extractionfields/${fieldId}/markasverifyfield`)\r\n .then(response => response.data);\r\n}\r\n\r\nexport function deleteExtractionFieldRecord(projectId, documentId, recordId) {\r\n return api\r\n .delete(`projects/${projectId}/documents/${documentId}/extractionfieldrecords/${recordId}`)\r\n .then(response => response.data);\r\n}\r\n\r\nexport function deleteAllExtractionFieldRecordsForField(projectId, documentId, fieldId) {\r\n return api\r\n .delete(`projects/${projectId}/documents/${documentId}/extractionfields/${fieldId}`)\r\n .then(response => response.data);\r\n}\r\n\r\nexport function moveExtractionRecord(projectId, documentId, fieldId, ids) {\r\n return api\r\n .put(`projects/${projectId}/documents/${documentId}/extractionfields/${fieldId}/recorddisplayorder`, {\r\n extractionFieldRecordIds: ids\r\n })\r\n .then(response => response.data);\r\n}\r\n\r\nexport function undoDocumentActions(undoId) {\r\n return api.post(`undo/${undoId}`).then(response => response.data);\r\n}\r\n\r\n/********************************************************************************\r\n\r\nGroups Admin\r\n\r\n********************************************************************************/\r\n\r\nexport function getExtractionFieldGroups({\r\n pageNum = 1,\r\n pageSize = DEFAULT_PAGE_SIZE,\r\n sortBy = 'name',\r\n sortOrder = 'ascending',\r\n filterBy = '',\r\n filterString = '',\r\n fields = 'Exclude:extractionfields'\r\n} = {}) {\r\n let filter;\r\n // Search Filter\r\n if (filterBy.length > 0 && filterString.length > 0) {\r\n filter = `fieldname:${filterBy};text:${cleanQuery(filterString)}`;\r\n }\r\n const containerCode = sessionStorage.getItem('selected-container');\r\n const memberfirm = sessionStorage.getItem('selected-memberfirm');\r\n const selectedGeoCode = sessionStorage.getItem('selected-GEOCode');\r\n\r\n var apiIndex = selectedGeoCode ? APIS.findIndex(currAPI => currAPI.geoCode === selectedGeoCode) : 0;\r\n apiIndex = apiIndex > -1 ? apiIndex : 0;\r\n\r\n if (APIS[apiIndex].token) {\r\n APIS[apiIndex].api.defaults.headers.common['Authorization'] = `Bearer ${APIS[apiIndex].token}`;\r\n socket.setAccessToken(APIS[apiIndex].token);\r\n }\r\n\r\n var adminapi = APIS[apiIndex].api;\r\n adminapi.defaults.headers.common['X-MF-CTX'] = memberfirm;\r\n \r\nif(containerCode != null && Permissions.Global.canViewAdminContainerDropdown())\r\n{\r\n return adminapi\r\n .get('extractionfields/groups', {\r\n params: {\r\n pagination: `pagenum:${pageNum};pagesize:${pageSize};sortby:${sortBy};sortorder:${sortOrder}`,\r\n filter,\r\n fields\r\n },\r\n headers: {\r\n ...(containerCode && { 'X-ADMCNTR-CTX': containerCode })\r\n }\r\n })\r\n .then(response => response.data);\r\n}\r\nelse\r\n{return api\r\n .get('extractionfields/groups', {\r\n params: {\r\n pagination: `pagenum:${pageNum};pagesize:${pageSize};sortby:${sortBy};sortorder:${sortOrder}`,\r\n filter,\r\n fields\r\n }\r\n })\r\n .then(response => response.data);\r\n\r\n}\r\n \r\n}\r\n\r\nexport function createExtractionFieldGroup({ name }) {\r\n\r\n const containerCode = sessionStorage.getItem('selected-container');\r\n const memberfirm = sessionStorage.getItem('selected-memberfirm');\r\n const selectedGeoCode = sessionStorage.getItem('selected-GEOCode');\r\n\r\n var apiIndex = selectedGeoCode ? APIS.findIndex(currAPI => currAPI.geoCode === selectedGeoCode) : 0;\r\n apiIndex = apiIndex > -1 ? apiIndex : 0;\r\n\r\n if (APIS[apiIndex].token) {\r\n APIS[apiIndex].api.defaults.headers.common['Authorization'] = `Bearer ${APIS[apiIndex].token}`;\r\n socket.setAccessToken(APIS[apiIndex].token);\r\n }\r\n\r\n var adminapi = APIS[apiIndex].api;\r\n adminapi.defaults.headers.common['X-MF-CTX'] = memberfirm;\r\n\r\nif(containerCode != null && Permissions.Global.canViewAdminContainerDropdown())\r\n{\r\n return adminapi\r\n .post('extractionfields/groups', {\r\n extractionFieldGroupName: name\r\n },\r\n {\r\n headers: {\r\n ...(containerCode && { 'X-ADMCNTR-CTX': containerCode })\r\n }\r\n }\r\n )\r\n .then(response => response.data);\r\n}\r\nelse\r\n{\r\n return api\r\n .post('extractionfields/groups', {\r\n extractionFieldGroupName: name\r\n }\r\n )\r\n .then(response => response.data);\r\n}\r\n \r\n}\r\n\r\nexport function updateExtractionFieldGroup({ groupId, groupName }) {\r\n\r\n const containerCode = sessionStorage.getItem('selected-container');\r\n const memberfirm = sessionStorage.getItem('selected-memberfirm');\r\n const selectedGeoCode = sessionStorage.getItem('selected-GEOCode');\r\n\r\n var apiIndex = selectedGeoCode ? APIS.findIndex(currAPI => currAPI.geoCode === selectedGeoCode) : 0;\r\n apiIndex = apiIndex > -1 ? apiIndex : 0;\r\n\r\n if (APIS[apiIndex].token) {\r\n APIS[apiIndex].api.defaults.headers.common['Authorization'] = `Bearer ${APIS[apiIndex].token}`;\r\n socket.setAccessToken(APIS[apiIndex].token);\r\n }\r\n\r\n var adminapi = APIS[apiIndex].api;\r\n adminapi.defaults.headers.common['X-MF-CTX'] = memberfirm;\r\n\r\nif(containerCode != null && Permissions.Global.canViewAdminContainerDropdown())\r\n{\r\n return adminapi\r\n .put(`extractionfields/groups/${groupId}`, {\r\n extractionFieldGroupName: groupName\r\n },\r\n {\r\n headers: {\r\n ...(containerCode && { 'X-ADMCNTR-CTX': containerCode })\r\n }\r\n })\r\n .then(response => response.data);\r\n}\r\nelse\r\n{\r\n return api\r\n .put(`extractionfields/groups/${groupId}`, {\r\n extractionFieldGroupName: groupName\r\n })\r\n .then(response => response.data);\r\n}\r\n \r\n}\r\n\r\nexport function getAllExtractionFields({\r\n pageNum = 1,\r\n pageSize = DEFAULT_PAGE_SIZE,\r\n sortBy = 'name',\r\n sortOrder = 'ascending',\r\n filterBy = '',\r\n filterString = ''\r\n} = {}) {\r\n let filter;\r\n // Search Filter\r\n if (filterBy.length > 0 && filterString.length > 0) {\r\n filter = `fieldname:${filterBy};text:${cleanQuery(filterString)}`;\r\n }\r\n\r\n const containerCode = sessionStorage.getItem('selected-container');\r\n const memberfirm = sessionStorage.getItem('selected-memberfirm');\r\n const selectedGeoCode = sessionStorage.getItem('selected-GEOCode');\r\n\r\n var apiIndex = selectedGeoCode ? APIS.findIndex(currAPI => currAPI.geoCode === selectedGeoCode) : 0;\r\n apiIndex = apiIndex > -1 ? apiIndex : 0;\r\n\r\n if (APIS[apiIndex].token) {\r\n APIS[apiIndex].api.defaults.headers.common['Authorization'] = `Bearer ${APIS[apiIndex].token}`;\r\n socket.setAccessToken(APIS[apiIndex].token);\r\n }\r\n\r\n var adminapi = APIS[apiIndex].api;\r\n adminapi.defaults.headers.common['X-MF-CTX'] = memberfirm;\r\nif(containerCode != null && Permissions.Global.canViewAdminContainerDropdown())\r\n{\r\n return adminapi\r\n .get(`extractionfields/`, {\r\n params: {\r\n pagination: `pagenum:${pageNum};pagesize:${pageSize};sortby:${sortBy};sortorder:${sortOrder}`,\r\n filter\r\n },\r\n headers: {\r\n ...(containerCode && { 'X-ADMCNTR-CTX': containerCode })\r\n }\r\n })\r\n .then(response => response.data);\r\n}\r\nelse\r\n{\r\n return api\r\n .get(`extractionfields/`, {\r\n params: {\r\n pagination: `pagenum:${pageNum};pagesize:${pageSize};sortby:${sortBy};sortorder:${sortOrder}`,\r\n filter\r\n }\r\n })\r\n .then(response => response.data);\r\n}\r\n\r\n \r\n}\r\n\r\nexport function getExtractionFieldsForGroup(\r\n groupId,\r\n {\r\n pageNum = 1,\r\n pageSize = DEFAULT_PAGE_SIZE,\r\n sortBy = 'name',\r\n sortOrder = 'ascending',\r\n filterBy = '',\r\n filterString = ''\r\n } = {}\r\n) {\r\n let filter;\r\n // Search Filter\r\n if (filterBy.length > 0 && filterString.length > 0) {\r\n filter = `fieldname:${filterBy};text:${cleanQuery(filterString)}`;\r\n }\r\n\r\n const containerCode = sessionStorage.getItem('selected-container');\r\n const memberfirm = sessionStorage.getItem('selected-memberfirm');\r\n const selectedGeoCode = sessionStorage.getItem('selected-GEOCode');\r\n\r\n var apiIndex = selectedGeoCode ? APIS.findIndex(currAPI => currAPI.geoCode === selectedGeoCode) : 0;\r\n apiIndex = apiIndex > -1 ? apiIndex : 0;\r\n\r\n if (APIS[apiIndex].token) {\r\n APIS[apiIndex].api.defaults.headers.common['Authorization'] = `Bearer ${APIS[apiIndex].token}`;\r\n socket.setAccessToken(APIS[apiIndex].token);\r\n }\r\n\r\n var adminapi = APIS[apiIndex].api;\r\n adminapi.defaults.headers.common['X-MF-CTX'] = memberfirm;\r\n \r\nif(containerCode != null && Permissions.Global.canViewAdminContainerDropdown())\r\n{\r\n return adminapi\r\n .get(`extractionfields/groups/${groupId}`, {\r\n params: {\r\n pagination: `pagenum:${pageNum};pagesize:${pageSize};sortby:${sortBy};sortorder:${sortOrder}`,\r\n filter\r\n },\r\n headers: {\r\n ...(containerCode && { 'X-ADMCNTR-CTX': containerCode })\r\n }\r\n\r\n })\r\n .then(response => response.data);\r\n}\r\nelse\r\n{\r\n return api\r\n .get(`extractionfields/groups/${groupId}`, {\r\n params: {\r\n pagination: `pagenum:${pageNum};pagesize:${pageSize};sortby:${sortBy};sortorder:${sortOrder}`,\r\n filter\r\n }\r\n })\r\n .then(response => response.data);\r\n} \r\n}\r\n\r\nexport function deleteExtractionFieldGroup(groupId) {\r\n const containerCode = sessionStorage.getItem('selected-container');\r\n const memberfirm = sessionStorage.getItem('selected-memberfirm');\r\n const selectedGeoCode = sessionStorage.getItem('selected-GEOCode');\r\n\r\n var apiIndex = selectedGeoCode ? APIS.findIndex(currAPI => currAPI.geoCode === selectedGeoCode) : 0;\r\n apiIndex = apiIndex > -1 ? apiIndex : 0;\r\n\r\n if (APIS[apiIndex].token) {\r\n APIS[apiIndex].api.defaults.headers.common['Authorization'] = `Bearer ${APIS[apiIndex].token}`;\r\n socket.setAccessToken(APIS[apiIndex].token);\r\n }\r\n\r\n var adminapi = APIS[apiIndex].api;\r\n adminapi.defaults.headers.common['X-MF-CTX'] = memberfirm;\r\n\r\nif(containerCode != null && Permissions.Global.canViewAdminContainerDropdown())\r\n{\r\n return adminapi.delete(`extractionfields/groups/${groupId}`,{\r\n headers: {\r\n ...(containerCode && { 'X-ADMCNTR-CTX': containerCode })\r\n }\r\n }).then(response => response.data);\r\n}\r\nelse\r\n{\r\n return api.delete(`extractionfields/groups/${groupId}`).then(response => response.data);\r\n \r\n}\r\n \r\n}\r\n\r\nexport function addGroupToGroup({ fromGroupId, toGroupId }) {\r\n const containerCode = sessionStorage.getItem('selected-container');\r\n const memberfirm = sessionStorage.getItem('selected-memberfirm');\r\n const selectedGeoCode = sessionStorage.getItem('selected-GEOCode');\r\n\r\n var apiIndex = selectedGeoCode ? APIS.findIndex(currAPI => currAPI.geoCode === selectedGeoCode) : 0;\r\n apiIndex = apiIndex > -1 ? apiIndex : 0;\r\n\r\n if (APIS[apiIndex].token) {\r\n APIS[apiIndex].api.defaults.headers.common['Authorization'] = `Bearer ${APIS[apiIndex].token}`;\r\n socket.setAccessToken(APIS[apiIndex].token);\r\n }\r\n\r\n var adminapi = APIS[apiIndex].api;\r\n adminapi.defaults.headers.common['X-MF-CTX'] = memberfirm;\r\n\r\nif(containerCode != null && Permissions.Global.canViewAdminContainerDropdown())\r\n{\r\n return adminapi\r\n .post(`extractionfields/groups/${fromGroupId}`, {\r\n extractionFieldGroupId: toGroupId\r\n },\r\n {\r\n headers: {\r\n ...(containerCode && { 'X-ADMCNTR-CTX': containerCode })\r\n }\r\n \r\n })\r\n .then(response => response.data);\r\n}\r\nelse\r\n{\r\n return api\r\n .post(`extractionfields/groups/${fromGroupId}`, {\r\n extractionFieldGroupId: toGroupId\r\n })\r\n .then(response => response.data);\r\n}\r\n \r\n}\r\n\r\nexport function addUserToGroup({ groupId, userId, roleId }) {\r\n const containerCode = sessionStorage.getItem('selected-container');\r\n const memberfirm = sessionStorage.getItem('selected-memberfirm');\r\n const selectedGeoCode = sessionStorage.getItem('selected-GEOCode');\r\n\r\n var apiIndex = selectedGeoCode ? APIS.findIndex(currAPI => currAPI.geoCode === selectedGeoCode) : 0;\r\n apiIndex = apiIndex > -1 ? apiIndex : 0;\r\n\r\n if (APIS[apiIndex].token) {\r\n APIS[apiIndex].api.defaults.headers.common['Authorization'] = `Bearer ${APIS[apiIndex].token}`;\r\n socket.setAccessToken(APIS[apiIndex].token);\r\n }\r\n\r\n var adminapi = APIS[apiIndex].api;\r\n adminapi.defaults.headers.common['X-MF-CTX'] = memberfirm;\r\n\r\nif(containerCode != null && Permissions.Global.canViewAdminContainerDropdown())\r\n{\r\n return adminapi\r\n .post(`extractionfields/groups/${groupId}/users`, {\r\n userId,\r\n roles: [{ roleId }]\r\n },\r\n {\r\n headers: {\r\n ...(containerCode && { 'X-ADMCNTR-CTX': containerCode })\r\n }\r\n })\r\n .then(response => response.data);\r\n}\r\nelse\r\n{\r\n return api\r\n .post(`extractionfields/groups/${groupId}/users`, {\r\n userId,\r\n roles: [{ roleId }]\r\n })\r\n .then(response => response.data);\r\n}\r\n \r\n}\r\n\r\nexport function addExtractionFieldToGroup({ extractionFieldId, groupId }) {\r\n const containerCode = sessionStorage.getItem('selected-container');\r\n const memberfirm = sessionStorage.getItem('selected-memberfirm');\r\n const selectedGeoCode = sessionStorage.getItem('selected-GEOCode');\r\n\r\n var apiIndex = selectedGeoCode ? APIS.findIndex(currAPI => currAPI.geoCode === selectedGeoCode) : 0;\r\n apiIndex = apiIndex > -1 ? apiIndex : 0;\r\n\r\n if (APIS[apiIndex].token) {\r\n APIS[apiIndex].api.defaults.headers.common['Authorization'] = `Bearer ${APIS[apiIndex].token}`;\r\n socket.setAccessToken(APIS[apiIndex].token);\r\n }\r\n\r\n var adminapi = APIS[apiIndex].api;\r\n adminapi.defaults.headers.common['X-MF-CTX'] = memberfirm;\r\n\r\nif(containerCode != null && Permissions.Global.canViewAdminContainerDropdown())\r\n{\r\n return adminapi\r\n .post(`extractionfields/${extractionFieldId}/groups`, {\r\n extractionFieldGroupId: groupId\r\n },\r\n {\r\n headers: {\r\n ...(containerCode && { 'X-ADMCNTR-CTX': containerCode })\r\n }\r\n })\r\n .then(response => response.data);\r\n}\r\nelse\r\n{\r\n return api\r\n .post(`extractionfields/${extractionFieldId}/groups`, {\r\n extractionFieldGroupId: groupId\r\n })\r\n .then(response => response.data);\r\n}\r\n \r\n}\r\n\r\nexport function removeExtractionFieldFromGroup({ extractionFieldId, groupId }) {\r\n const containerCode = sessionStorage.getItem('selected-container');\r\n const memberfirm = sessionStorage.getItem('selected-memberfirm');\r\n const selectedGeoCode = sessionStorage.getItem('selected-GEOCode');\r\n\r\n var apiIndex = selectedGeoCode ? APIS.findIndex(currAPI => currAPI.geoCode === selectedGeoCode) : 0;\r\n apiIndex = apiIndex > -1 ? apiIndex : 0;\r\n\r\n if (APIS[apiIndex].token) {\r\n APIS[apiIndex].api.defaults.headers.common['Authorization'] = `Bearer ${APIS[apiIndex].token}`;\r\n socket.setAccessToken(APIS[apiIndex].token);\r\n }\r\n\r\n var adminapi = APIS[apiIndex].api;\r\n adminapi.defaults.headers.common['X-MF-CTX'] = memberfirm;\r\n\r\nif(containerCode != null && Permissions.Global.canViewAdminContainerDropdown())\r\n{\r\n return adminapi.delete(`extractionfields/${extractionFieldId}/groups/${groupId}`,{\r\n headers: {\r\n ...(containerCode && { 'X-ADMCNTR-CTX': containerCode })\r\n }\r\n }).then(response => response.data);\r\n}\r\nelse\r\n{\r\n return api.delete(`extractionfields/${extractionFieldId}/groups/${groupId}`).then(response => response.data);\r\n}\r\n \r\n}\r\n\r\nexport function addUserToExtractionField({ extractionFieldId, userId, roleId }) {\r\n const containerCode = sessionStorage.getItem('selected-container');\r\n const memberfirm = sessionStorage.getItem('selected-memberfirm');\r\n const selectedGeoCode = sessionStorage.getItem('selected-GEOCode');\r\n\r\n var apiIndex = selectedGeoCode ? APIS.findIndex(currAPI => currAPI.geoCode === selectedGeoCode) : 0;\r\n apiIndex = apiIndex > -1 ? apiIndex : 0;\r\n\r\n if (APIS[apiIndex].token) {\r\n APIS[apiIndex].api.defaults.headers.common['Authorization'] = `Bearer ${APIS[apiIndex].token}`;\r\n socket.setAccessToken(APIS[apiIndex].token);\r\n }\r\n\r\n var adminapi = APIS[apiIndex].api;\r\n adminapi.defaults.headers.common['X-MF-CTX'] = memberfirm;\r\n\r\nif(containerCode != null && Permissions.Global.canViewAdminContainerDropdown())\r\n{\r\n return adminapi\r\n .post(`extractionfields/${extractionFieldId}/users`, {\r\n userId,\r\n roles: [{ roleId }]\r\n },\r\n {\r\n headers: {\r\n ...(containerCode && { 'X-ADMCNTR-CTX': containerCode })\r\n }\r\n })\r\n .then(response => response.data);\r\n}\r\nelse\r\n{\r\n return api\r\n .post(`extractionfields/${extractionFieldId}/users`, {\r\n userId,\r\n roles: [{ roleId }]\r\n })\r\n .then(response => response.data);\r\n}\r\n \r\n}\r\n\r\nexport function removeUserFromExtractionField({ extractionFieldId, userId }) {\r\n \r\n const containerCode = sessionStorage.getItem('selected-container');\r\n const memberfirm = sessionStorage.getItem('selected-memberfirm');\r\n const selectedGeoCode = sessionStorage.getItem('selected-GEOCode');\r\n\r\n var apiIndex = selectedGeoCode ? APIS.findIndex(currAPI => currAPI.geoCode === selectedGeoCode) : 0;\r\n apiIndex = apiIndex > -1 ? apiIndex : 0;\r\n\r\n if (APIS[apiIndex].token) {\r\n APIS[apiIndex].api.defaults.headers.common['Authorization'] = `Bearer ${APIS[apiIndex].token}`;\r\n socket.setAccessToken(APIS[apiIndex].token);\r\n }\r\n\r\n var adminapi = APIS[apiIndex].api;\r\n adminapi.defaults.headers.common['X-MF-CTX'] = memberfirm;\r\n\r\nif(containerCode != null && Permissions.Global.canViewAdminContainerDropdown())\r\n{\r\n return adminapi.delete(`extractionfields/${extractionFieldId}/users/${userId}`,{\r\n headers: {\r\n ...(containerCode && { 'X-ADMCNTR-CTX': containerCode })\r\n }\r\n }).then(response => response.data);\r\n}\r\nelse\r\n{\r\n return api.delete(`extractionfields/${extractionFieldId}/users/${userId}`).then(response => response.data);\r\n}\r\n}\r\n\r\nexport function updateExtractionFieldUser({ extractionFieldId, userId, roleId }) {\r\n const containerCode = sessionStorage.getItem('selected-container');\r\n const memberfirm = sessionStorage.getItem('selected-memberfirm');\r\n const selectedGeoCode = sessionStorage.getItem('selected-GEOCode');\r\n\r\n var apiIndex = selectedGeoCode ? APIS.findIndex(currAPI => currAPI.geoCode === selectedGeoCode) : 0;\r\n apiIndex = apiIndex > -1 ? apiIndex : 0;\r\n\r\n if (APIS[apiIndex].token) {\r\n APIS[apiIndex].api.defaults.headers.common['Authorization'] = `Bearer ${APIS[apiIndex].token}`;\r\n socket.setAccessToken(APIS[apiIndex].token);\r\n }\r\n\r\n var adminapi = APIS[apiIndex].api;\r\n adminapi.defaults.headers.common['X-MF-CTX'] = memberfirm;\r\n\r\nif(containerCode != null && Permissions.Global.canViewAdminContainerDropdown())\r\n{\r\n return adminapi\r\n .put(`extractionfields/${extractionFieldId}/users`, {\r\n userId,\r\n roles: [{ roleId }]\r\n },\r\n {\r\n headers: {\r\n ...(containerCode && { 'X-ADMCNTR-CTX': containerCode })\r\n }\r\n })\r\n .then(response => response.data);\r\n}\r\nelse\r\n{\r\n return api\r\n .put(`extractionfields/${extractionFieldId}/users`, {\r\n userId,\r\n roles: [{ roleId }]\r\n })\r\n .then(response => response.data);\r\n}\r\n \r\n}\r\n\r\nexport function getExtractionFieldDetails(extractionFieldId) {\r\n const containerCode = sessionStorage.getItem('selected-container');\r\n const memberfirm = sessionStorage.getItem('selected-memberfirm');\r\n const selectedGeoCode = sessionStorage.getItem('selected-GEOCode');\r\n\r\n var apiIndex = selectedGeoCode ? APIS.findIndex(currAPI => currAPI.geoCode === selectedGeoCode) : 0;\r\n apiIndex = apiIndex > -1 ? apiIndex : 0;\r\n\r\n if (APIS[apiIndex].token) {\r\n APIS[apiIndex].api.defaults.headers.common['Authorization'] = `Bearer ${APIS[apiIndex].token}`;\r\n socket.setAccessToken(APIS[apiIndex].token);\r\n }\r\n\r\n var adminapi = APIS[apiIndex].api;\r\n adminapi.defaults.headers.common['X-MF-CTX'] = memberfirm;\r\n\r\nif(containerCode != null && Permissions.Global.canViewAdminContainerDropdown())\r\n{\r\n return adminapi.get(`extractionfields/${extractionFieldId}`,{\r\n headers: {\r\n ...(containerCode && { 'X-ADMCNTR-CTX': containerCode })\r\n }\r\n }).then(response => response.data);\r\n}\r\nelse\r\n{\r\n return api.get(`extractionfields/${extractionFieldId}`).then(response => response.data);\r\n}\r\n \r\n}\r\n\r\nexport function deleteExtractionField(extractionFieldId) {\r\n const containerCode = sessionStorage.getItem('selected-container');\r\n const memberfirm = sessionStorage.getItem('selected-memberfirm');\r\n const selectedGeoCode = sessionStorage.getItem('selected-GEOCode');\r\n\r\n var apiIndex = selectedGeoCode ? APIS.findIndex(currAPI => currAPI.geoCode === selectedGeoCode) : 0;\r\n apiIndex = apiIndex > -1 ? apiIndex : 0;\r\n\r\n if (APIS[apiIndex].token) {\r\n APIS[apiIndex].api.defaults.headers.common['Authorization'] = `Bearer ${APIS[apiIndex].token}`;\r\n socket.setAccessToken(APIS[apiIndex].token);\r\n }\r\n\r\n var adminapi = APIS[apiIndex].api;\r\n adminapi.defaults.headers.common['X-MF-CTX'] = memberfirm;\r\n\r\nif(containerCode != null && Permissions.Global.canViewAdminContainerDropdown())\r\n{\r\n return adminapi.delete(`extractionfields/${extractionFieldId}`,{\r\n headers: {\r\n ...(containerCode && { 'X-ADMCNTR-CTX': containerCode })\r\n }\r\n }).then(response => response.data);\r\n}\r\nelse\r\n{\r\n return api.delete(`extractionfields/${extractionFieldId}`).then(response => response.data);\r\n}\r\n \r\n}\r\n\r\nexport function getExtractionFieldProjects(extractionFieldId) {\r\n const containerCode = sessionStorage.getItem('selected-container');\r\n const memberfirm = sessionStorage.getItem('selected-memberfirm');\r\n const selectedGeoCode = sessionStorage.getItem('selected-GEOCode');\r\n\r\n var apiIndex = selectedGeoCode ? APIS.findIndex(currAPI => currAPI.geoCode === selectedGeoCode) : 0;\r\n apiIndex = apiIndex > -1 ? apiIndex : 0;\r\n\r\n if (APIS[apiIndex].token) {\r\n APIS[apiIndex].api.defaults.headers.common['Authorization'] = `Bearer ${APIS[apiIndex].token}`;\r\n socket.setAccessToken(APIS[apiIndex].token);\r\n }\r\n\r\n var adminapi = APIS[apiIndex].api;\r\n adminapi.defaults.headers.common['X-MF-CTX'] = memberfirm;\r\n\r\nif(containerCode != null && Permissions.Global.canViewAdminContainerDropdown())\r\n{\r\n return adminapi.get(`extractionfields/${extractionFieldId}/projects`,\r\n {\r\n headers: {\r\n ...(containerCode && { 'X-ADMCNTR-CTX': containerCode })\r\n }\r\n }).then(response => response.data);\r\n}\r\nelse\r\n{\r\n return api.get(`extractionfields/${extractionFieldId}/projects`).then(response => response.data);\r\n} \r\n}\r\n\r\nexport function getExtractionFieldHistory(extractionFieldId) {\r\n const containerCode = sessionStorage.getItem('selected-container');\r\n const memberfirm = sessionStorage.getItem('selected-memberfirm');\r\n const selectedGeoCode = sessionStorage.getItem('selected-GEOCode');\r\n\r\n var apiIndex = selectedGeoCode ? APIS.findIndex(currAPI => currAPI.geoCode === selectedGeoCode) : 0;\r\n apiIndex = apiIndex > -1 ? apiIndex : 0;\r\n\r\n if (APIS[apiIndex].token) {\r\n APIS[apiIndex].api.defaults.headers.common['Authorization'] = `Bearer ${APIS[apiIndex].token}`;\r\n socket.setAccessToken(APIS[apiIndex].token);\r\n }\r\n\r\n var adminapi = APIS[apiIndex].api;\r\n adminapi.defaults.headers.common['X-MF-CTX'] = memberfirm;\r\n\r\nif(containerCode != null && Permissions.Global.canViewAdminContainerDropdown())\r\n{\r\n return adminapi.get(`extractionfields/${extractionFieldId}/history`,\r\n {\r\n headers: {\r\n ...(containerCode && { 'X-ADMCNTR-CTX': containerCode })\r\n }\r\n }).then(response => response.data);\r\n}\r\nelse\r\n{\r\n return api.get(`extractionfields/${extractionFieldId}/history`).then(response => response.data);\r\n} \r\n}\r\n\r\nexport function updateExtractionField({ extractionFieldId, extractionFieldName, extractionFieldDescription, externalSystemId }) {\r\n const payload = extractionFieldDescription\r\n ? {\r\n extractionFieldName,\r\n extractionFieldDescription,\r\n externalSystemId\r\n }\r\n : {\r\n extractionFieldName,\r\n updateNameOnly: true\r\n };\r\n const containerCode = sessionStorage.getItem('selected-container');\r\n const memberfirm = sessionStorage.getItem('selected-memberfirm');\r\n const selectedGeoCode = sessionStorage.getItem('selected-GEOCode');\r\n \r\n var apiIndex = selectedGeoCode ? APIS.findIndex(currAPI => currAPI.geoCode === selectedGeoCode) : 0;\r\n apiIndex = apiIndex > -1 ? apiIndex : 0;\r\n \r\n if (APIS[apiIndex].token) {\r\n APIS[apiIndex].api.defaults.headers.common['Authorization'] = `Bearer ${APIS[apiIndex].token}`;\r\n socket.setAccessToken(APIS[apiIndex].token);\r\n }\r\n \r\n var adminapi = APIS[apiIndex].api;\r\n adminapi.defaults.headers.common['X-MF-CTX'] = memberfirm;\r\n\r\n if(containerCode != null && Permissions.Global.canViewAdminContainerDropdown())\r\n {\r\n return adminapi.put(`extractionfields/${extractionFieldId}`, payload,\r\n {\r\n headers: {\r\n ...(containerCode && { 'X-ADMCNTR-CTX': containerCode })\r\n }\r\n }).then(response => response.data);\r\n }\r\n else\r\n {\r\n return api.put(`extractionfields/${extractionFieldId}`, payload).then(response => response.data);\r\n }\r\n \r\n}\r\n\r\nexport function trainExtractionFields({ extractionFieldIds, isGroup }) {\r\n const containerCode = sessionStorage.getItem('selected-container');\r\n const memberfirm = sessionStorage.getItem('selected-memberfirm');\r\n const selectedGeoCode = sessionStorage.getItem('selected-GEOCode');\r\n\r\n var apiIndex = selectedGeoCode ? APIS.findIndex(currAPI => currAPI.geoCode === selectedGeoCode) : 0;\r\n apiIndex = apiIndex > -1 ? apiIndex : 0;\r\n\r\n if (APIS[apiIndex].token) {\r\n APIS[apiIndex].api.defaults.headers.common['Authorization'] = `Bearer ${APIS[apiIndex].token}`;\r\n socket.setAccessToken(APIS[apiIndex].token);\r\n }\r\n\r\n var adminapi = APIS[apiIndex].api;\r\n adminapi.defaults.headers.common['X-MF-CTX'] = memberfirm;\r\n\r\nif(containerCode != null && Permissions.Global.canViewAdminContainerDropdown())\r\n{\r\n return adminapi\r\n .put(`extractionfields/train`, {\r\n extractionFields: extractionFieldIds,\r\n isGroup\r\n },\r\n {\r\n headers: {\r\n ...(containerCode && { 'X-ADMCNTR-CTX': containerCode })\r\n }\r\n })\r\n .then(response => response.data);\r\n}\r\nelse\r\n{\r\n return api\r\n .put(`extractionfields/train`, {\r\n extractionFields: extractionFieldIds,\r\n isGroup\r\n })\r\n .then(response => response.data);\r\n} \r\n}\r\n\r\nexport function trainExtractionField({ extractionFieldId, projectIds, includePermanent }) {\r\n const containerCode = sessionStorage.getItem('selected-container');\r\n const memberfirm = sessionStorage.getItem('selected-memberfirm');\r\n const selectedGeoCode = sessionStorage.getItem('selected-GEOCode');\r\n\r\n var apiIndex = selectedGeoCode ? APIS.findIndex(currAPI => currAPI.geoCode === selectedGeoCode) : 0;\r\n apiIndex = apiIndex > -1 ? apiIndex : 0;\r\n\r\n if (APIS[apiIndex].token) {\r\n APIS[apiIndex].api.defaults.headers.common['Authorization'] = `Bearer ${APIS[apiIndex].token}`;\r\n socket.setAccessToken(APIS[apiIndex].token);\r\n }\r\n\r\n var adminapi = APIS[apiIndex].api;\r\n adminapi.defaults.headers.common['X-MF-CTX'] = memberfirm;\r\n\r\nif(containerCode != null && Permissions.Global.canViewAdminContainerDropdown())\r\n{\r\n return adminapi\r\n .put(`extractionfields/${extractionFieldId}/train`, {\r\n includePermanent,\r\n extractionFieldProjects: projectIds.map(projectId => ({\r\n projectId\r\n }))\r\n },\r\n {\r\n headers: {\r\n ...(containerCode && { 'X-ADMCNTR-CTX': containerCode })\r\n }\r\n }\r\n )\r\n .then(response => response.data);\r\n}\r\nelse\r\n{\r\n return api\r\n .put(`extractionfields/${extractionFieldId}/train`, {\r\n includePermanent,\r\n extractionFieldProjects: projectIds.map(projectId => ({\r\n projectId\r\n }))\r\n }\r\n )\r\n .then(response => response.data);\r\n} \r\n}\r\n\r\nexport function getExtractionFieldValidation(extractionFieldId) {\r\n const containerCode = sessionStorage.getItem('selected-container'); \r\n const memberfirm = sessionStorage.getItem('selected-memberfirm');\r\n const selectedGeoCode = sessionStorage.getItem('selected-GEOCode');\r\n\r\n var apiIndex = selectedGeoCode ? APIS.findIndex(currAPI => currAPI.geoCode === selectedGeoCode) : 0;\r\n apiIndex = apiIndex > -1 ? apiIndex : 0;\r\n\r\n if (APIS[apiIndex].token) {\r\n APIS[apiIndex].api.defaults.headers.common['Authorization'] = `Bearer ${APIS[apiIndex].token}`;\r\n socket.setAccessToken(APIS[apiIndex].token);\r\n }\r\n\r\n var adminapi = APIS[apiIndex].api;\r\n adminapi.defaults.headers.common['X-MF-CTX'] = memberfirm;\r\n\r\nif(containerCode != null && Permissions.Global.canViewAdminContainerDropdown())\r\n{\r\n return adminapi.get(`extractionfields/${extractionFieldId}/validation`,\r\n {\r\n headers: {\r\n ...(containerCode && { 'X-ADMCNTR-CTX': containerCode })\r\n }\r\n }).then(response => response.data);\r\n}\r\nelse\r\n{\r\n return api.get(`extractionfields/${extractionFieldId}/validation`).then(response => response.data);\r\n}\r\n \r\n}\r\n\r\nexport function importExtractionFieldModel({ groupId, file }) {\r\n const formData = new FormData();\r\n formData.append('file', file);\r\n\r\n if (groupId) {\r\n formData.append('extractionfieldgroupid', groupId);\r\n }\r\n\r\n return api.post(`extractionfields/imports`,formData);\r\n \r\n}\r\n\r\nexport function createExtractionFieldExport(ids) {\r\n const currentDate = moment();\r\n const containerCode = sessionStorage.getItem('selected-container');\r\n const memberfirm = sessionStorage.getItem('selected-memberfirm');\r\n const selectedGeoCode = sessionStorage.getItem('selected-GEOCode');\r\n\r\n var apiIndex = selectedGeoCode ? APIS.findIndex(currAPI => currAPI.geoCode === selectedGeoCode) : 0;\r\n apiIndex = apiIndex > -1 ? apiIndex : 0;\r\n\r\n if (APIS[apiIndex].token) {\r\n APIS[apiIndex].api.defaults.headers.common['Authorization'] = `Bearer ${APIS[apiIndex].token}`;\r\n socket.setAccessToken(APIS[apiIndex].token);\r\n }\r\n\r\n var adminapi = APIS[apiIndex].api;\r\n adminapi.defaults.headers.common['X-MF-CTX'] = memberfirm;\r\n\r\nif(containerCode != null && Permissions.Global.canViewAdminContainerDropdown())\r\n{\r\n return adminapi\r\n .post('extractionfields/exports', {\r\n exportEntityIDs: ids,\r\n exportFileName: `ExtractionField ${dateUtil.formatTimestamp(currentDate)}`,\r\n exportType: 3,\r\n fileExtension: '.zip'\r\n },\r\n {\r\n headers: {\r\n ...(containerCode && { 'X-ADMCNTR-CTX': containerCode })\r\n }\r\n })\r\n .then(response => response.data);\r\n}\r\nelse\r\n{\r\n return api\r\n .post('extractionfields/exports', {\r\n exportEntityIDs: ids,\r\n exportFileName: `ExtractionField ${dateUtil.formatTimestamp(currentDate)}`,\r\n exportType: 3,\r\n fileExtension: '.zip'\r\n })\r\n .then(response => response.data);\r\n} \r\n}\r\n\r\nexport function createExtractionFieldGroupExport(ids) {\r\n const currentDate = moment();\r\n const containerCode = sessionStorage.getItem('selected-container');\r\n const memberfirm = sessionStorage.getItem('selected-memberfirm');\r\n const selectedGeoCode = sessionStorage.getItem('selected-GEOCode');\r\n\r\n var apiIndex = selectedGeoCode ? APIS.findIndex(currAPI => currAPI.geoCode === selectedGeoCode) : 0;\r\n apiIndex = apiIndex > -1 ? apiIndex : 0;\r\n\r\n if (APIS[apiIndex].token) {\r\n APIS[apiIndex].api.defaults.headers.common['Authorization'] = `Bearer ${APIS[apiIndex].token}`;\r\n socket.setAccessToken(APIS[apiIndex].token);\r\n }\r\n\r\n var adminapi = APIS[apiIndex].api;\r\n adminapi.defaults.headers.common['X-MF-CTX'] = memberfirm;\r\n\r\nif(containerCode != null && Permissions.Global.canViewAdminContainerDropdown())\r\n{\r\n return adminapi\r\n .post('extractionfields/groups/exports', {\r\n exportEntityIDs: ids,\r\n exportFileName: `ExtractionField ${dateUtil.formatTimestamp(currentDate)}`,\r\n exportType: 3,\r\n fileExtension: '.zip'\r\n },\r\n {\r\n headers: {\r\n ...(containerCode && { 'X-ADMCNTR-CTX': containerCode })\r\n }\r\n })\r\n .then(response => response.data);\r\n}\r\nelse\r\n{\r\n return api\r\n .post('extractionfields/groups/exports', {\r\n exportEntityIDs: ids,\r\n exportFileName: `ExtractionField ${dateUtil.formatTimestamp(currentDate)}`,\r\n exportType: 3,\r\n fileExtension: '.zip'\r\n })\r\n .then(response => response.data);\r\n}\r\n}\r\n\r\nexport function getExtractionFieldExports() {\r\n const containerCode = sessionStorage.getItem('selected-container');\r\n const memberfirm = sessionStorage.getItem('selected-memberfirm');\r\n const selectedGeoCode = sessionStorage.getItem('selected-GEOCode');\r\n\r\n var apiIndex = selectedGeoCode ? APIS.findIndex(currAPI => currAPI.geoCode === selectedGeoCode) : 0;\r\n apiIndex = apiIndex > -1 ? apiIndex : 0;\r\n\r\n if (APIS[apiIndex].token) {\r\n APIS[apiIndex].api.defaults.headers.common['Authorization'] = `Bearer ${APIS[apiIndex].token}`;\r\n socket.setAccessToken(APIS[apiIndex].token);\r\n }\r\n\r\n var adminapi = APIS[apiIndex].api;\r\n adminapi.defaults.headers.common['X-MF-CTX'] = memberfirm;\r\n\r\nif(containerCode != null && Permissions.Global.canViewAdminContainerDropdown())\r\n{\r\n return adminapi.get(`extractionfields/exports`,\r\n {\r\n headers: {\r\n ...(containerCode && { 'X-ADMCNTR-CTX': containerCode })\r\n }\r\n }).then(response => response.data);\r\n}\r\nelse\r\n{\r\n return api.get(`extractionfields/exports`).then(response => response.data);\r\n}\r\n \r\n}\r\n\r\nexport function deleteExtractionFieldExport(exportDetailId) {\r\n const containerCode = sessionStorage.getItem('selected-container');\r\n const memberfirm = sessionStorage.getItem('selected-memberfirm');\r\n const selectedGeoCode = sessionStorage.getItem('selected-GEOCode');\r\n\r\n var apiIndex = selectedGeoCode ? APIS.findIndex(currAPI => currAPI.geoCode === selectedGeoCode) : 0;\r\n apiIndex = apiIndex > -1 ? apiIndex : 0;\r\n\r\n if (APIS[apiIndex].token) {\r\n APIS[apiIndex].api.defaults.headers.common['Authorization'] = `Bearer ${APIS[apiIndex].token}`;\r\n socket.setAccessToken(APIS[apiIndex].token);\r\n }\r\n\r\n var adminapi = APIS[apiIndex].api;\r\n adminapi.defaults.headers.common['X-MF-CTX'] = memberfirm;\r\n\r\nif(containerCode != null && Permissions.Global.canViewAdminContainerDropdown())\r\n{\r\n return adminapi.delete(`extractionfields/exports/${exportDetailId}`,\r\n {\r\n headers: {\r\n ...(containerCode && { 'X-ADMCNTR-CTX': containerCode })\r\n }\r\n }).then(response => response.data);\r\n}\r\nelse\r\n{\r\n return api.delete(`extractionfields/exports/${exportDetailId}`).then(response => response.data);\r\n}\r\n \r\n}\r\n\r\nexport function getExtractionFieldExportBinary(exportDetailId) {\r\n const containerCode = sessionStorage.getItem('selected-container');\r\n const memberfirm = sessionStorage.getItem('selected-memberfirm');\r\n const selectedGeoCode = sessionStorage.getItem('selected-GEOCode');\r\n\r\n var apiIndex = selectedGeoCode ? APIS.findIndex(currAPI => currAPI.geoCode === selectedGeoCode) : 0;\r\n apiIndex = apiIndex > -1 ? apiIndex : 0;\r\n\r\n if (APIS[apiIndex].token) {\r\n APIS[apiIndex].api.defaults.headers.common['Authorization'] = `Bearer ${APIS[apiIndex].token}`;\r\n socket.setAccessToken(APIS[apiIndex].token);\r\n }\r\n\r\n var adminapi = APIS[apiIndex].api;\r\n adminapi.defaults.headers.common['X-MF-CTX'] = memberfirm;\r\n\r\nif(containerCode != null && Permissions.Global.canViewAdminContainerDropdown())\r\n{\r\n return adminapi.get(`extractionfields/exports/${exportDetailId}/binary`,{ headers: {\r\n ...(containerCode && { 'X-ADMCNTR-CTX': containerCode })\r\n }, responseType: 'blob', });\r\n}\r\nelse\r\n{\r\n return api.get(`extractionfields/exports/${exportDetailId}/binary`,{ responseType: 'blob' });\r\n}\r\n \r\n}\r\n\r\nexport function getExtractionFieldExportToken(exportDetailId) {\r\n const containerCode = sessionStorage.getItem('selected-container');\r\n const memberfirm = sessionStorage.getItem('selected-memberfirm');\r\n const selectedGeoCode = sessionStorage.getItem('selected-GEOCode');\r\n\r\n var apiIndex = selectedGeoCode ? APIS.findIndex(currAPI => currAPI.geoCode === selectedGeoCode) : 0;\r\n apiIndex = apiIndex > -1 ? apiIndex : 0;\r\n\r\n if (APIS[apiIndex].token) {\r\n APIS[apiIndex].api.defaults.headers.common['Authorization'] = `Bearer ${APIS[apiIndex].token}`;\r\n socket.setAccessToken(APIS[apiIndex].token);\r\n }\r\n\r\n var adminapi = APIS[apiIndex].api;\r\n adminapi.defaults.headers.common['X-MF-CTX'] = memberfirm;\r\n\r\nif(containerCode != null && Permissions.Global.canViewAdminContainerDropdown())\r\n{\r\n return adminapi.get(`extractionfields/exports/${exportDetailId}/token`,\r\n {\r\n headers: {\r\n ...(containerCode && { 'X-ADMCNTR-CTX': containerCode })\r\n }\r\n }).then(response => response.data);\r\n}\r\nelse\r\n{\r\n return api.get(`extractionfields/exports/${exportDetailId}/token`).then(response => response.data);\r\n}\r\n \r\n}\r\n\r\nexport function revertHistoryModel({ extractionFieldId, trainingDetailId }) {\r\n const containerCode = sessionStorage.getItem('selected-container');\r\n const memberfirm = sessionStorage.getItem('selected-memberfirm');\r\n const selectedGeoCode = sessionStorage.getItem('selected-GEOCode');\r\n\r\n var apiIndex = selectedGeoCode ? APIS.findIndex(currAPI => currAPI.geoCode === selectedGeoCode) : 0;\r\n apiIndex = apiIndex > -1 ? apiIndex : 0;\r\n\r\n if (APIS[apiIndex].token) {\r\n APIS[apiIndex].api.defaults.headers.common['Authorization'] = `Bearer ${APIS[apiIndex].token}`;\r\n socket.setAccessToken(APIS[apiIndex].token);\r\n }\r\n\r\n var adminapi = APIS[apiIndex].api;\r\n adminapi.defaults.headers.common['X-MF-CTX'] = memberfirm;\r\n\r\nif(containerCode != null && Permissions.Global.canViewAdminContainerDropdown())\r\n{\r\n return adminapi.put(`extractionfields/${extractionFieldId}/revert/${trainingDetailId}`,null,\r\n {\r\n headers: {\r\n ...(containerCode && { 'X-ADMCNTR-CTX': containerCode })\r\n }\r\n }).then(response => response.data);\r\n}\r\nelse\r\n{\r\n return api.put(`extractionfields/${extractionFieldId}/revert/${trainingDetailId}`).then(response => response.data);\r\n}\r\n \r\n}\r\n\r\nexport function setAutomaticExtraction({ extractionFieldId, isAutomaticExtraction }) {\r\n const containerCode = sessionStorage.getItem('selected-container');\r\n const memberfirm = sessionStorage.getItem('selected-memberfirm');\r\n const selectedGeoCode = sessionStorage.getItem('selected-GEOCode');\r\n\r\n var apiIndex = selectedGeoCode ? APIS.findIndex(currAPI => currAPI.geoCode === selectedGeoCode) : 0;\r\n apiIndex = apiIndex > -1 ? apiIndex : 0;\r\n\r\n if (APIS[apiIndex].token) {\r\n APIS[apiIndex].api.defaults.headers.common['Authorization'] = `Bearer ${APIS[apiIndex].token}`;\r\n socket.setAccessToken(APIS[apiIndex].token);\r\n }\r\n\r\n var adminapi = APIS[apiIndex].api;\r\n adminapi.defaults.headers.common['X-MF-CTX'] = memberfirm;\r\n\r\nif(containerCode != null && Permissions.Global.canViewAdminContainerDropdown())\r\n{\r\n return adminapi\r\n .put(`extractionfields/${extractionFieldId}/autoextract/${isAutomaticExtraction}`,null,\r\n {\r\n headers: {\r\n ...(containerCode && { 'X-ADMCNTR-CTX': containerCode })\r\n }\r\n })\r\n .then(response => response.data);\r\n}\r\nelse\r\n{\r\n return api\r\n .put(`extractionfields/${extractionFieldId}/autoextract/${isAutomaticExtraction}`)\r\n .then(response => response.data);\r\n}\r\n \r\n}\r\n\r\nexport function publishExtractionField({ extractionFieldId, publish }) {\r\n const containerCode = sessionStorage.getItem('selected-container');\r\n const memberfirm = sessionStorage.getItem('selected-memberfirm');\r\n const selectedGeoCode = sessionStorage.getItem('selected-GEOCode');\r\n\r\n var apiIndex = selectedGeoCode ? APIS.findIndex(currAPI => currAPI.geoCode === selectedGeoCode) : 0;\r\n apiIndex = apiIndex > -1 ? apiIndex : 0;\r\n\r\n if (APIS[apiIndex].token) {\r\n APIS[apiIndex].api.defaults.headers.common['Authorization'] = `Bearer ${APIS[apiIndex].token}`;\r\n socket.setAccessToken(APIS[apiIndex].token);\r\n }\r\n\r\n var adminapi = APIS[apiIndex].api;\r\n adminapi.defaults.headers.common['X-MF-CTX'] = memberfirm;\r\n\r\nif(containerCode != null && Permissions.Global.canViewAdminContainerDropdown())\r\n{\r\n return adminapi.put(`extractionfields/${extractionFieldId}/publish/${publish}`,null,\r\n {\r\n headers: {\r\n ...(containerCode && { 'X-ADMCNTR-CTX': containerCode })\r\n }\r\n }).then(response => response.data);\r\n}\r\nelse\r\n{\r\n return api.put(`extractionfields/${extractionFieldId}/publish/${publish}`).then(response => response.data);\r\n}\r\n \r\n}\r\n\r\nexport function makeExtractionModelPermanent({ extractionFieldId }) {\r\n const containerCode = sessionStorage.getItem('selected-container');\r\n const memberfirm = sessionStorage.getItem('selected-memberfirm');\r\n const selectedGeoCode = sessionStorage.getItem('selected-GEOCode');\r\n\r\n var apiIndex = selectedGeoCode ? APIS.findIndex(currAPI => currAPI.geoCode === selectedGeoCode) : 0;\r\n apiIndex = apiIndex > -1 ? apiIndex : 0;\r\n\r\n if (APIS[apiIndex].token) {\r\n APIS[apiIndex].api.defaults.headers.common['Authorization'] = `Bearer ${APIS[apiIndex].token}`;\r\n socket.setAccessToken(APIS[apiIndex].token);\r\n }\r\n\r\n var adminapi = APIS[apiIndex].api;\r\n adminapi.defaults.headers.common['X-MF-CTX'] = memberfirm;\r\n\r\nif(containerCode != null && Permissions.Global.canViewAdminContainerDropdown())\r\n{\r\n return adminapi.put(`extractionfields/${extractionFieldId}/markpermanent`,null,\r\n {\r\n headers: {\r\n ...(containerCode && { 'X-ADMCNTR-CTX': containerCode })\r\n }\r\n }).then(response => response.data);\r\n}\r\nelse\r\n{\r\n return api.put(`extractionfields/${extractionFieldId}/markpermanent`).then(response => response.data);\r\n} \r\n}\r\n\r\nexport function getTrainingRequestsSummary() {\r\n const containerCode = sessionStorage.getItem('selected-container'); \r\n const memberfirm = sessionStorage.getItem('selected-memberfirm');\r\n const selectedGeoCode = sessionStorage.getItem('selected-GEOCode');\r\n \r\n var apiIndex = selectedGeoCode ? APIS.findIndex(currAPI => currAPI.geoCode === selectedGeoCode) : 0;\r\n apiIndex = apiIndex > -1 ? apiIndex : 0;\r\n\r\n if (APIS[apiIndex].token) {\r\n APIS[apiIndex].api.defaults.headers.common['Authorization'] = `Bearer ${APIS[apiIndex].token}`;\r\n socket.setAccessToken(APIS[apiIndex].token);\r\n }\r\n\r\n var adminapi = APIS[apiIndex].api;\r\n adminapi.defaults.headers.common['X-MF-CTX'] = memberfirm;\r\n\r\n if(containerCode != null)\r\n {\r\n return adminapi.get(`trainingrequests/summary`, {\r\n headers: {\r\n ...(containerCode && { 'X-ADMCNTR-CTX': containerCode })\r\n }\r\n }).then(response => response.data);\r\n }\r\n else\r\n {\r\n return api.get(`trainingrequests/summary`).then(response => response.data);\r\n }\r\n \r\n}\r\n\r\nexport function getTrainingRequestsList({\r\n trainingRequestType = '',\r\n pageNum = 1,\r\n pageSize = DEFAULT_PAGE_SIZE,\r\n sortBy = 'name',\r\n sortOrder = 'ascending',\r\n filterBy = '',\r\n filterString = ''\r\n} = {}) {\r\n let filter;\r\n // Search Filter\r\n if (filterBy.length > 0 && filterString.length > 0) {\r\n filter = `fieldname:${filterBy};text:${cleanQuery(filterString)}`;\r\n }\r\n const containerCode = sessionStorage.getItem('selected-container');\r\n const memberfirm = sessionStorage.getItem('selected-memberfirm');\r\n const selectedGeoCode = sessionStorage.getItem('selected-GEOCode');\r\n \r\n var apiIndex = selectedGeoCode ? APIS.findIndex(currAPI => currAPI.geoCode === selectedGeoCode) : 0;\r\n apiIndex = apiIndex > -1 ? apiIndex : 0;\r\n\r\n if (APIS[apiIndex].token) {\r\n APIS[apiIndex].api.defaults.headers.common['Authorization'] = `Bearer ${APIS[apiIndex].token}`;\r\n socket.setAccessToken(APIS[apiIndex].token);\r\n }\r\n\r\n var adminapi = APIS[apiIndex].api;\r\n adminapi.defaults.headers.common['X-MF-CTX'] = memberfirm;\r\n\r\n if(containerCode != null){\r\n return adminapi\r\n .get(`trainingrequests/list`, {\r\n params: {\r\n trainingRequestType: `${trainingRequestType}`,\r\n pagination: `pagenum:${pageNum};pagesize:${pageSize};sortby:${sortBy};sortorder:${sortOrder}`,\r\n filter\r\n },\r\n headers: {\r\n ...(containerCode && { 'X-ADMCNTR-CTX': containerCode })\r\n }\r\n })\r\n .then(response => response.data);\r\n }\r\n else{\r\n return adminapi\r\n .get(`trainingrequests/list`, {\r\n params: {\r\n trainingRequestType: `${trainingRequestType}`,\r\n pagination: `pagenum:${pageNum};pagesize:${pageSize};sortby:${sortBy};sortorder:${sortOrder}`,\r\n filter\r\n }\r\n })\r\n .then(response => response.data);\r\n }\r\n}\r\n\r\n/********************************************************************************\r\n\r\nComparisons\r\n\r\n********************************************************************************/\r\n\r\nexport function getComparisonSets({\r\n projectId,\r\n pageNum,\r\n sortBy = 'name',\r\n sortOrder = 'ascending',\r\n filterBy = '',\r\n filterString = '',\r\n filterIds = [],\r\n compareType = 'document'\r\n}) {\r\n var payload = {\r\n params: {\r\n compareType: compareType\r\n }\r\n };\r\n\r\n // Pagination\r\n if (pageNum !== undefined) {\r\n payload.params.pagination = `pagenum:${pageNum};pagesize:${DEFAULT_PAGE_SIZE};sortby:${sortBy};sortorder:${sortOrder}`;\r\n }\r\n\r\n // Filter Array\r\n if (filterBy.length > 0 && filterIds.length > 0) {\r\n payload.params.filter = `fieldname:${filterBy};ids:${filterIds.join()}`;\r\n }\r\n\r\n // Search Filter\r\n if (filterBy.length > 0 && filterString.length > 0) {\r\n payload.params.filter = `fieldname:${filterBy};text:${cleanQuery(filterString)}`;\r\n }\r\n\r\n return api.get(`projects/${projectId}/comparisons`, payload).then(response => response.data);\r\n}\r\n\r\nexport function getComparisonSetFilterBaseDocumentOptions({ projectId, compareType = 'document' } = {}) {\r\n return api\r\n .get(`projects/${projectId}/comparisons/filters/basenames?compareType=${compareType}`)\r\n .then(response => response.data);\r\n}\r\n\r\nexport function getComparisonSetDetails({ projectId, compareId, compareType = 'document' }) {\r\n return api\r\n .get(`projects/${projectId}/comparisons/${compareId}?compareType=${compareType}`)\r\n .then(response => response.data);\r\n}\r\n\r\nexport function deleteComparisonSet({ projectId, compareId, compareType = 'document' }) {\r\n return api\r\n .delete(`projects/${projectId}/comparisons/${compareId}?compareType=${compareType}`)\r\n .then(response => response.data);\r\n}\r\n\r\nexport function removeDocumentFromComparison({ projectId, compareId, documentId, compareType = 'document' }) {\r\n return api\r\n .delete(`projects/${projectId}/comparisons/${compareId}/${documentId}?compareType=${compareType}`)\r\n .then(response => response.data);\r\n}\r\n\r\nexport function getComparisonBaseDocument({ projectId, compareId, compareType = 'document' }) {\r\n return api\r\n .get(`projects/${projectId}/comparisons/${compareId}/base?compareType=${compareType}`)\r\n .then(response => response.data);\r\n}\r\n\r\nexport function getComparisonSummary({ projectId, compareId, compareType = 'document' }) {\r\n return api\r\n .get(`projects/${projectId}/comparisons/${compareId}/summary?compareType=${compareType}`)\r\n .then(response => response.data);\r\n}\r\n\r\nexport function getComparisonDocument({ projectId, compareId, documentId, compareType = 'document' }) {\r\n return api\r\n .get(`projects/${projectId}/comparisons/${compareId}/${documentId}?compareType=${compareType}`)\r\n .then(response => response.data);\r\n}\r\n\r\nexport function validateComparisonName({ projectId, comparisonName, compareType = 'document' }) {\r\n return api\r\n .get(`projects/${projectId}/comparisons/validatename?comparisonname=${comparisonName}&compareType=${compareType}`)\r\n .then(response => response.data);\r\n}\r\n\r\nexport function createComparison({\r\n projectId,\r\n comparisonName,\r\n baseEntityId,\r\n documentIds = [],\r\n compareType = 'document'\r\n}) {\r\n const payload = {\r\n baseEntityId: baseEntityId,\r\n comparisonName: comparisonName,\r\n comparisonDetails: documentIds.map(id => ({\r\n compareEntity: {\r\n entityId: id\r\n }\r\n })),\r\n projectId\r\n };\r\n\r\n return api\r\n .post(`projects/${projectId}/comparisons?compareType=${compareType}`, payload)\r\n .then(response => response.data);\r\n}\r\n\r\nexport function updateComparison({ projectId, comparison, comparedDocuments, compareType = 'document' }) {\r\n const existingCompareDocuments = {\r\n [comparison.baseEntityId]: true\r\n };\r\n comparison.comparisonDetails.forEach(details => {\r\n existingCompareDocuments[details.compareEntity.referenceId] = true;\r\n });\r\n\r\n const payload = {\r\n ...comparison,\r\n comparisonDetails: [\r\n ...comparison.comparisonDetails,\r\n ...comparedDocuments\r\n // Don't send documents that are already in the comparisonDetails list\r\n .filter(document => !existingCompareDocuments[document.projectItemId])\r\n .map(document => ({\r\n compareEntity: {\r\n entityId: document.projectItemId\r\n }\r\n }))\r\n ]\r\n };\r\n\r\n return api\r\n .put(`projects/${projectId}/comparisons?compareType=${compareType}`, payload)\r\n .then(response => response.data);\r\n}\r\n\r\n/********************************************************************************\r\n\r\nProject List\r\n\r\n********************************************************************************/\r\nexport function getProjects(geo) {\r\n geo.api.defaults.headers.common['Authorization'] = `Bearer ${geo.token}`;\r\n const containerCode = sessionStorage.getItem('selected-container');\r\n const memberfirm = sessionStorage.getItem('selected-memberfirm');\r\n geo.api.defaults.headers.common['X-MF-CTX'] = memberfirm;\r\n\r\nif(containerCode != null)\r\n{\r\n return geo.api.get(`projects`,{\r\n headers: {\r\n ...(containerCode && { 'X-ADMCNTR-CTX': containerCode })\r\n }\r\n }).then(r => {\r\n r.data.data.forEach(p => {\r\n // Add server label for list of documents page\r\n p.geoCode = geo.geoCode;\r\n p.label = geo.geoCode;\r\n });\r\n return r;\r\n });\r\n}\r\n\r\nelse\r\n{\r\n return geo.api.get(`projects`).then(r => {\r\n r.data.data.forEach(p => {\r\n // Add server label for list of documents page\r\n p.geoCode = geo.geoCode;\r\n p.label = geo.geoCode;\r\n });\r\n return r;\r\n });\r\n}\r\n}\r\n\r\nexport function getProject({ projectId }) { \r\n return api.get(`projects/${projectId}`).then(response => response.data);\r\n}\r\n\r\nexport function deleteProject({ projectId }) {\r\n return api.delete(`projects/${projectId}`).then(response => response.data);\r\n}\r\n\r\nexport function enableSupportAccess({ projectId, allowAccess }) {\r\n return api.put(`projects/${projectId}/projectaccess`, { allowAccess: allowAccess }).then(response => response.data);\r\n}\r\n\r\nexport function restoreProject({ projectId }) {\r\n return api.post(`projects/${projectId}/undelete`).then(response => response.data);\r\n}\r\n\r\nexport function createProject({ projectName, countryCode, engagementId, projectTypeId, sourceType, allowAccess, users }) {\r\n return api\r\n .post(`projects`, { projectName, countryCode, engagementId, projectTypeId, sourceType, allowAccess, users })\r\n .then(response => response.data);\r\n}\r\n\r\nexport function saveProjectTemplateDocType(projectId, templateId, docTypeName) {\r\n return api.put(`projects/${projectId}/templates/${templateId}/docType`, { DocTypeName : docTypeName }).then(response => response.data);\r\n}\r\n\r\nexport function createProjectManually({\r\n projectName,\r\n countryCode,\r\n engagementName,\r\n externalEngagementId,\r\n clientName,\r\n clientId,\r\n fiscalYearEnd,\r\n sourceType,\r\n wbsCode,\r\n projectTypeId,\r\n allowAccess, \r\n users\r\n}) {\r\n return api\r\n .post(`projects`, {\r\n projectName,\r\n countryCode,\r\n engagementName,\r\n externalEngagementId,\r\n clientName,\r\n clientId,\r\n fiscalYearEnd,\r\n sourceType,\r\n wbsCode,\r\n projectTypeId,\r\n allowAccess, \r\n users \r\n })\r\n .then(response => response.data);\r\n}\r\n\r\nexport function copyProject({ projectId, includeDocuments }) {\r\n return api.post(`projects/${projectId}/copy?excludeDocuments=${!includeDocuments}`).then(response => response.data);\r\n}\r\n\r\nexport function carryProject({ projectId, includeDocuments }) {\r\n return api\r\n .post(`projects/${projectId}/carryforward?excludeDocuments=${!includeDocuments}`)\r\n .then(response => response.data);\r\n}\r\n\r\nexport function changeFlagNonClientService({ projectId, isClientService }) {\r\n return api\r\n .put(`projects/${projectId}/isClientService`, { isClientService: isClientService })\r\n .then(response => response.data);\r\n}\r\n\r\nexport function archiveRequestProject({ projectId, approverId }) {\r\n return api.post(`projects/${projectId}/archive`, { approverId }).then(response => response.data);\r\n}\r\n\r\nexport function archiveCancelRequest({ projectId }) {\r\n return api.delete(`projects/${projectId}/archive`).then(response => response.data);\r\n}\r\n\r\nexport function respondArchiveRequest({ projectId, isApprove }) {\r\n return api.put(`projects/${projectId}/archive?approve=${isApprove}`).then(response => response.data);\r\n}\r\n\r\nexport function updateProject({ projectId, projectStateId, projectName, engagementId }) {\r\n const payload = {\r\n projectStateId,\r\n projectName,\r\n engagementId\r\n };\r\n return api.put(`projects/${projectId}`, payload).then(response => response.data);\r\n}\r\n\r\nexport function legalHoldProject({ projectId, isLegalHold }) {\r\n return api.put(`projects/${projectId}/legalhold`, { legalHold: isLegalHold }).then(response => response.data);\r\n}\r\n\r\nexport function updateProjectName({ projectId, projectName }) {\r\n const payload = {\r\n projectName\r\n };\r\n return api.put(`projects/${projectId}/projectname`, payload).then(response => response.data);\r\n}\r\n\r\nexport function updateProjectEngagementManually({\r\n projectId,\r\n projectName, \r\n engagementName,\r\n externalEngagementId,\r\n clientName,\r\n clientId,\r\n fiscalYearEnd,\r\n countryCode,\r\n sourceType,\r\n wbsCode\r\n}) {\r\n const payload = {\r\n projectName,\r\n engagementName,\r\n externalEngagementId,\r\n clientName,\r\n clientId,\r\n fiscalYearEnd,\r\n countryCode,\r\n sourceType,\r\n wbsCode\r\n };\r\n return api.put(`projects/${projectId}`, payload).then(response => response.data);\r\n}\r\n\r\nexport function updateProjectEngagement({ projectId, engagementId }) {\r\n const payload = {\r\n engagementId\r\n };\r\n return api.put(`projects/${projectId}/engagementid`, payload).then(response => response.data);\r\n}\r\n\r\nexport function updateEngagementManually({\r\n projectId,\r\n engagementId,\r\n engagementName,\r\n externalEngagementId,\r\n clientName,\r\n clientId,\r\n fiscalYearEnd,\r\n wbsCode\r\n}) {\r\n const payload = {\r\n projectId,\r\n engagementName,\r\n externalEngagementId,\r\n clientName,\r\n clientId,\r\n fiscalYearEnd,\r\n wbsCode\r\n };\r\n return api.put(`engagements/${engagementId}`, payload).then(response => response.data);\r\n}\r\n\r\nexport function updateProjectState({ projectId, projectStateId }) {\r\n const payload = {\r\n projectStateId\r\n };\r\n return api.put(`projects/${projectId}/projectstateid`, payload).then(response => response.data);\r\n}\r\n\r\n/********************************************************************************\r\n\r\nTranslations\r\n\r\n********************************************************************************/\r\n\r\nexport function getTranslations() {\r\n return api.get('content/translations').then(response => response.data);\r\n}\r\n\r\nexport function getLanguagePairs() {\r\n return api.get('content/translations/languagepairs').then(response => response.data);\r\n}\r\n\r\nexport function deleteTranslation(translationId, memberFirmCode, containerCode) {\r\n return api\r\n .delete(`content/translations/${translationId}`, {\r\n headers: {\r\n ...(containerCode && { 'X-CNTR-CTX': containerCode }),\r\n ...(memberFirmCode && { 'X-MF-CTX': memberFirmCode })\r\n }\r\n })\r\n .then(response => response.data);\r\n}\r\n\r\nexport function translateDocuments({\r\n sourceLanguageId,\r\n targetLanguageId,\r\n translationType,\r\n document,\r\n onUploadProgress,\r\n onUploadError,\r\n memberFirmCode,\r\n containerCode\r\n}) {\r\n const formData = new FormData();\r\n formData.append(`file`, document);\r\n\r\n api.defaults.headers.common['X-MF-CTX'] = memberFirmCode;\r\n api.defaults.headers.common['X-CNTR-CTX'] = containerCode;\r\n\r\n return api\r\n .post(`content/translations?sourceLanguageId=${sourceLanguageId}&targetLanguageId=${targetLanguageId}&translationType=${translationType}`,formData, {onUploadProgress: onUploadProgress})\r\n .then(response => response.data)\r\n .catch(onUploadError);\r\n\r\n}\r\n\r\nexport function translateText({ sourceLanguageId, targetLanguageId,translationType, text }) {\r\n const payload = {\r\n sourceLanguageId: sourceLanguageId,\r\n targetLanguageId: targetLanguageId,\r\n translationType: translationType,\r\n text: text\r\n };\r\n return api.post('content/translations/text', payload).then(response => response.data);\r\n}\r\n\r\n/********************************************************************************\r\n\r\nEdit Extractions & Project Creation Template View\r\n\r\n********************************************************************************/\r\n\r\nexport function createTemplate({ projectId, templateName, templateCategoryId, templateTypeID, extractionFields }) {\r\n const payload = {\r\n name: templateName,\r\n templateCategoryId,\r\n templateTypeID,\r\n extractionFields\r\n };\r\n return api.post(`projects/${projectId}/templates`, payload).then(response => response.data);\r\n}\r\n\r\nexport function getTemplates({ projectId }) {\r\n return api.post(`projects/${projectId}/templates/get`).then(response => response.data);\r\n}\r\n\r\nexport function getTemplateExtractions({ projectId, templateId }) {\r\n return api\r\n .get(`projects/${projectId}/templates/${templateId}/extractionfieldoverview`)\r\n .then(response => response.data);\r\n}\r\n\r\nexport function deleteExtraction({ projectId, templateId, extractionFieldId }) {\r\n return api\r\n .delete(`projects/${projectId}/templates/${templateId}/extractionfields/${extractionFieldId}`)\r\n .then(response => response.data);\r\n}\r\n\r\nexport function getProjectCreationTemplateTypes() {\r\n return api.get(`templatetypes`).then(response => response.data);\r\n}\r\n\r\nexport function getProjectCreationExtractionGroups() {\r\n return api\r\n .get(`extractionfields/groups?options=accesstype:public&fields=exclude:ExtractionFields`)\r\n .then(response => response.data);\r\n}\r\n\r\nexport function getProjectCreationExtractionForGroup(groupId) {\r\n return api.get(`extractionfields?groupId=${groupId}&includePublicFields=true`).then(response => response.data);\r\n}\r\n\r\nexport function deleteTemplate( projectId, templateId ) {\r\n return api\r\n .delete(`projects/${projectId}/templates/${templateId}`)\r\n .then(response => response.data);\r\n}\r\n\r\nexport function updateTemplate({ projectId, templateId, templateName, extractionFields }) {\r\n const payload = {\r\n name: templateName,\r\n extractionFields: extractionFields\r\n };\r\n return api.put(`projects/${projectId}/templates/${templateId}`, payload).then(response => response.data);\r\n}\r\n\r\n\r\nexport function updateProjectDatePreference(projectId,formatSelected) {\r\n const payload = {\r\n DateFormatPreference: formatSelected\r\n };\r\n return api.put(`projects/${projectId}/dateformat`, payload).then(response => response.data);\r\n}\r\n\r\nexport function updateTemplateDatePreference(projectId, templateId, formatSelected) {\r\n const payload = {\r\n DateFormatPreference: formatSelected\r\n };\r\n return api.put(`projects/${projectId}/templates/${templateId}/dateformat`, payload).then(response => response.data);\r\n}\r\n/********************************************************************************\r\n\r\nProject Details View\r\n\r\n********************************************************************************/\r\nexport function getProjectNameValidation() {\r\n return api.get(`projects/nameValidationRules`).then(response => response.data);\r\n}\r\n\r\nexport function validateProjectName({ name }) {\r\n return api.get(`projects/validatename?projectname=${name}`).then(response => response.data);\r\n}\r\n\r\nexport function validateProjectNameWithId({ name, projectId }) {\r\n return api.get(`projects/${projectId}/validatename?projectname=${name}`).then(response => response.data);\r\n}\r\n\r\nexport function getAllEngagements() {\r\n return api.get(`engagements`).then(response => response.data);\r\n}\r\n\r\nexport function getEngagementDetails(engagementId) {\r\n return api.get(`engagements/${engagementId}`).then(response => response.data);\r\n}\r\n\r\nexport function getEngagementSearchResults(keyword, clientId) {\r\n return api.get(`engagements/all/${clientId}?keyword=${keyword}`).then(response => response.data);\r\n}\r\n\r\nexport function getClientSearchResults(keyword) {\r\n return api.get(`engagements/clients?keyword=${keyword}`).then(response => response.data);\r\n}\r\n\r\n/********************************************************************************\r\n\r\nTeam Members View\r\n\r\n********************************************************************************/\r\nexport function getProjectUsers({ projectId }) {\r\n return api.get(`projects/${projectId}/users`).then(response => response.data);\r\n}\r\n\r\nexport function addProjectUser({ projectId, userId, roleId, roleName }) {\r\n const payload = {\r\n projectId,\r\n userId: userId,\r\n role: {\r\n roleId: roleId,\r\n roleDisplayName: roleName\r\n },\r\n userDetail: {\r\n userId: userId\r\n }\r\n };\r\n return api.post(`projects/${projectId}/users`, payload).then(response => response.data);\r\n}\r\n\r\nexport function updateProjectUser({ projectId, userId, roleId, roleName }) {\r\n const payload = {\r\n projectId,\r\n userId: userId,\r\n role: {\r\n roleId: roleId,\r\n roleDisplayName: roleName\r\n },\r\n userDetail: {\r\n userId: userId\r\n }\r\n };\r\n return api.put(`projects/${projectId}/users/${userId}`, payload).then(response => response.data);\r\n}\r\n\r\nexport function deleteProjectUser({ projectId, userId }) {\r\n return api.delete(`projects/${projectId}/users/${userId}`).then(response => response.data);\r\n}\r\n\r\n/********************************************************************************\r\n\r\n Visuals Page\r\n\r\n ********************************************************************************/\r\n\r\nexport function getClusterDocuments(projectId) {\r\n return api.get(`projects/${projectId}/clusters`).then(response => response.data.data);\r\n}\r\n\r\nexport function processCluster(projectId) {\r\n return api.post(`projects/${projectId}/clusters/process`).then(response => response.data);\r\n}\r\n\r\n/********************************************************************************\r\n\r\nSearch Page\r\n\r\n ********************************************************************************/\r\nexport function getSearchDocuments({ projectId, keyword, pageNum }) {\r\n return api.get(\r\n `projects/${projectId}/search/documents?keyword=${keyword}&pagination=pagenum:${pageNum}%3Bpagesize:100`\r\n );\r\n}\r\n\r\nexport function getSearchExtractions({ projectId, keyword, pageNum }) {\r\n return api.get(\r\n `projects/${projectId}/search/extractionfields?keyword=${keyword}&pagination=pagenum:${pageNum}%3Bpagesize:100`\r\n );\r\n}\r\n\r\nexport function getSearchFolders({ projectId, keyword, pageNum }) {\r\n return api.get(\r\n `projects/${projectId}/search/folders?keyword=${keyword}&pagination=pagenum:${pageNum}%3Bpagesize:100`\r\n );\r\n}\r\n\r\nexport function getSearchReviewers({ projectId, keyword, pageNum }) {\r\n return api.get(\r\n `projects/${projectId}/search/reviewers?keyword=${keyword}&pagination=pagenum:${pageNum}%3Bpagesize:100`\r\n );\r\n}\r\n\r\nexport function getSearchDocumentTags({ projectId, keyword, pageNum }) {\r\n return api.get(\r\n `projects/${projectId}/search/documenttags?keyword=${keyword}&pagination=pagenum:${pageNum}%3Bpagesize:100`\r\n );\r\n}\r\n\r\nexport function getSearchExtractionFieldInstanceTags({ projectId, keyword, pageNum }) {\r\n return api.get(\r\n `projects/${projectId}/search/extractionfieldinstancetags?keyword=${keyword}&pagination=pagenum:${pageNum}%3Bpagesize:100`\r\n );\r\n}\r\n\r\nexport function getSearchTemplates({ projectId, keyword, pageNum }) {\r\n return api.get(\r\n `projects/${projectId}/search/templates?keyword=${keyword}&pagination=pagenum:${pageNum}%3Bpagesize:100`\r\n );\r\n}\r\n\r\nexport function createAdvancedSearch({\r\n payload,\r\n pageNum = 1,\r\n pageSize = DEFAULT_PAGE_SIZE,\r\n projectId,\r\n sortBy = 'name',\r\n sortOrder = 'ascending',\r\n filterBy = '',\r\n filterString = ''\r\n} = {}) {\r\n let filter = '';\r\n // Search Filter\r\n if (filterBy.length > 0 && filterString.length > 0) {\r\n filter = `&filter=fieldname:${filterBy};text:${cleanQuery(filterString)}`;\r\n }\r\n\r\n return api\r\n .post(\r\n `projects/${projectId}/search/advanced?pagination=pagenum:${pageNum};pagesize:${pageSize};sortby:${sortBy};sortorder:${sortOrder}${filter}`,\r\n payload\r\n )\r\n .then(response => response.data);\r\n}\r\n\r\nexport function getSearchResultsDocuments({\r\n projectId,\r\n pageNum = 1,\r\n pageSize = DEFAULT_PAGE_SIZE,\r\n documentTagId = [],\r\n extractionFieldInstanceTagId = [],\r\n documentId = [],\r\n documentStateIds = [],\r\n extractionFieldId = [],\r\n extractionFieldIds = [],\r\n userId = [],\r\n reviewerUserIds = [],\r\n templateId = [],\r\n templateIds = [],\r\n sortBy = 'name',\r\n sortOrder = 'ascending',\r\n filterBy = '',\r\n filterString = '',\r\n isReviewed = null,\r\n isAssigned = null\r\n} = {}) {\r\n // Helpers\r\n let convertToArray = v => {\r\n return Array.isArray(v) ? v : [v];\r\n };\r\n\r\n let getCombinedArray = (a, b) => {\r\n const _a = convertToArray(a);\r\n const _b = convertToArray(b);\r\n return _a.concat(_b);\r\n };\r\n\r\n // Search Filter\r\n let filter;\r\n if (filterBy.length > 0 && filterString.length > 0) {\r\n filter = `fieldname:${filterBy};text:${cleanQuery(filterString)}`;\r\n }\r\n\r\n // Query String\r\n const query = {\r\n params: {\r\n pagination: `pagenum:${pageNum};pagesize:${pageSize};sortby:${sortBy};sortorder:${sortOrder}`,\r\n filter\r\n }\r\n };\r\n\r\n // Combine / convert search values to api formats\r\n const _documentIds = convertToArray(documentId);\r\n const _extractionFieldIds = getCombinedArray(extractionFieldIds, extractionFieldId);\r\n const _reviewerUserIds = getCombinedArray(reviewerUserIds, userId);\r\n const _documentTagIds = convertToArray(documentTagId);\r\n const _extractionFieldInstanceTagIds = convertToArray(extractionFieldInstanceTagId);\r\n const _templateIds = getCombinedArray(templateIds, templateId);\r\n const _documentStateIds = convertToArray(documentStateIds);\r\n\r\n // Post Body\r\n const body = {\r\n DocumentIds: _documentIds,\r\n ExtractionFieldIds: _extractionFieldIds,\r\n ReviewerUserIds: _reviewerUserIds,\r\n DocumentTagIds: _documentTagIds,\r\n ExtractionFieldInstanceTagIds: _extractionFieldInstanceTagIds,\r\n TemplateIds: _templateIds,\r\n DocumentStateIds: _documentStateIds,\r\n IsReviewed: isReviewed,\r\n IsAssigned: isAssigned\r\n };\r\n\r\n return api.post(`projects/${projectId}/search/results/get`, body, query);\r\n}\r\n\r\nexport function getSearchResultsDocumentsByAssignee({\r\n assigneeUserId, //In this API call this value needs to be a user ID (required) + at least 1 other filter.\r\n projectId,\r\n pageNum = 1,\r\n pageSize = DEFAULT_PAGE_SIZE,\r\n documentTagId = [],\r\n extractionFieldInstanceTagId = [],\r\n documentId = [],\r\n documentStateIds = [],\r\n extractionFieldId = [],\r\n userId = [],\r\n reviewerUserIds = [],\r\n templateId = [],\r\n sortBy = 'name',\r\n sortOrder = 'ascending',\r\n filterBy = '',\r\n filterString = '',\r\n isReviewed = null,\r\n isAssigned = null\r\n} = {}) {\r\n // Helpers\r\n let convertToArray = v => {\r\n return Array.isArray(v) ? v : [v];\r\n };\r\n\r\n let getCombinedArray = (a, b) => {\r\n const _a = convertToArray(a);\r\n const _b = convertToArray(b);\r\n return _a.concat(_b);\r\n };\r\n\r\n // Search Filter\r\n let filter;\r\n if (filterBy.length > 0 && filterString.length > 0) {\r\n filter = `fieldname:${filterBy};text:${cleanQuery(filterString)}`;\r\n }\r\n\r\n // Query String\r\n const query = {\r\n params: {\r\n pagination: `pagenum:${pageNum};pagesize:${pageSize};sortby:${sortBy};sortorder:${sortOrder}`,\r\n filter\r\n }\r\n };\r\n\r\n // Combine / convert search values to api formats\r\n const _documentIds = convertToArray(documentId);\r\n const _extractionFieldIds = convertToArray(extractionFieldId);\r\n const _reviewerUserIds = getCombinedArray(reviewerUserIds, userId);\r\n const _documentTagIds = convertToArray(documentTagId);\r\n const _extractionFieldInstanceTagIds = convertToArray(extractionFieldInstanceTagId);\r\n const _templateIds = convertToArray(templateId);\r\n // const _documentStateIds = convertToArray(documentStateIds);\r\n\r\n // Post Body\r\n const body = {\r\n AssigneeUserId: assigneeUserId,\r\n DocumentIds: _documentIds,\r\n ExtractionFieldIds: _extractionFieldIds,\r\n ReviewerUserIds: _reviewerUserIds,\r\n DocumentTagIds: _documentTagIds,\r\n ExtractionFieldInstanceTagIds: _extractionFieldInstanceTagIds,\r\n TemplateIds: _templateIds,\r\n DocumentStateIds: documentStateIds,\r\n IsReviewed: isReviewed,\r\n IsAssigned: isAssigned\r\n };\r\n\r\n return api.post(`projects/${projectId}/search/resultsbyassignee/get`, body, query);\r\n}\r\n\r\nexport function getSearchResultsFolders({\r\n projectId,\r\n pageNum = 1,\r\n pageSize = DEFAULT_PAGE_SIZE,\r\n folderId = {},\r\n sortBy = 'name',\r\n sortOrder = 'ascending',\r\n filterBy = '',\r\n filterString = ''\r\n} = {}) {\r\n let filter;\r\n // Search Filter\r\n if (filterBy.length > 0 && filterString.length > 0) {\r\n filter = `fieldname:${filterBy};text:${cleanQuery(filterString)}`;\r\n }\r\n const payload = {\r\n params: {\r\n pagination: `pagenum:${pageNum};pagesize:${pageSize};sortby:${sortBy};sortorder:${sortOrder}`,\r\n filter\r\n }\r\n };\r\n\r\n const body = {\r\n Items: Array.isArray(folderId) ? folderId : [folderId]\r\n };\r\n\r\n return api.post(`projects/${projectId}/folders/get`, body, payload);\r\n}\r\n\r\n/********************************************************************************\r\n\r\n Analytics chart\r\n\r\n ********************************************************************************/\r\n\r\nexport function getAnalyticsReport({ projectId }) {\r\n return api.get(`projects/${projectId}/reports`).then(response => response.data.data);\r\n}\r\n\r\nexport function getExtractionRecordMetadata({ projectId, documentId, extractionFieldId }) {\r\n return api\r\n .get(`projects/${projectId}/documents/${documentId}/extractionfields/${extractionFieldId}`)\r\n .then(response => response.data);\r\n}\r\n\r\n/********************************************************************************\r\n\r\n User Management\r\n\r\n ********************************************************************************/\r\n\r\n export function getAllUsers({ pageNum = 1, keyword = '', memberFirmOnly = false } = {}) {\r\n let searchPayload = '';\r\n\r\n if (keyword.length > 0) {\r\n searchPayload = `keyword=${keyword}`;\r\n }\r\n const containerCode = sessionStorage.getItem('selected-container');\r\n const memberfirm = sessionStorage.getItem('selected-memberfirm');\r\n const selectedGeoCode = sessionStorage.getItem('selected-GEOCode');\r\n\r\n var apiIndex = selectedGeoCode ? APIS.findIndex(currAPI => currAPI.geoCode === selectedGeoCode) : 0;\r\n apiIndex = apiIndex > -1 ? apiIndex : 0;\r\n\r\n if (APIS[apiIndex].token) {\r\n APIS[apiIndex].api.defaults.headers.common['Authorization'] = `Bearer ${APIS[apiIndex].token}`;\r\n socket.setAccessToken(APIS[apiIndex].token);\r\n }\r\n\r\n var adminapi = APIS[apiIndex].api;\r\n adminapi.defaults.headers.common['X-MF-CTX'] = memberfirm;\r\n if(containerCode != null && Permissions.Global.canViewAdminContainerDropdown())\r\n {\r\n return adminapi\r\n .post(\r\n `users/get?memberfirmonly=${memberFirmOnly}&returnDisabledUser=true&pagination=pagenum:${pageNum};pagesize:${DEFAULT_PAGE_SIZE}`, \r\n {keyword:keyword} \r\n , \r\n {\r\n headers: {\r\n ...(containerCode && { 'X-ADMCNTR-CTX': containerCode })\r\n }\r\n })\r\n .then(response => {\r\n let data = response.data.data.map(user => adminUserFromApiFormat(user));\r\n\r\n return { data, pageInfo: response.data.pageInfo };\r\n });\r\n\r\n }\r\n else\r\n {\r\n\r\n return api\r\n .post(\r\n `users/get?memberfirmonly=${memberFirmOnly}&returnDisabledUser=true&pagination=pagenum:${pageNum};pagesize:${DEFAULT_PAGE_SIZE}`,\r\n {keyword:keyword} \r\n )\r\n .then(response => {\r\n let data = response.data.data.map(user => adminUserFromApiFormat(user));\r\n\r\n return { data, pageInfo: response.data.pageInfo };\r\n });\r\n\r\n }\r\n \r\n}\r\n\r\nexport function adminUserFromApiFormat(apiUser) {\r\n return {\r\n ...apiUser,\r\n lastUpdatedDate: dateUtil.fromServerDate(apiUser.lastUpdatedDate),\r\n createdDate: dateUtil.fromServerDate(apiUser.createdDate),\r\n accessActivatedDate: dateUtil.fromServerDate(apiUser.accessActivatedDate)\r\n };\r\n}\r\n\r\nexport const ADMIN_USER_ACTIONS = {\r\n Activate: 0,\r\n Deactivate: 1,\r\n Enable: 2,\r\n Disable: 3,\r\n GrantSystemAdminAccess: 4,\r\n GrantGeneralAdminAccess: 5,\r\n RemoveAdminAccess: 6\r\n};\r\n\r\nexport function adminUpdateUser(userId, action) {\r\n const memberfirm = sessionStorage.getItem('selected-memberfirm');\r\n const selectedGeoCode = sessionStorage.getItem('selected-GEOCode');\r\n\r\n var apiIndex = selectedGeoCode ? APIS.findIndex(currAPI => currAPI.geoCode === selectedGeoCode) : 0;\r\n apiIndex = apiIndex > -1 ? apiIndex : 0;\r\n\r\n if (APIS[apiIndex].token) {\r\n APIS[apiIndex].api.defaults.headers.common['Authorization'] = `Bearer ${APIS[apiIndex].token}`;\r\n socket.setAccessToken(APIS[apiIndex].token);\r\n }\r\n\r\n var adminapi = APIS[apiIndex].api;\r\n adminapi.defaults.headers.common['X-MF-CTX'] = memberfirm;\r\n\r\n return adminapi.put(`users/${userId}`, { action }).then(res => res.data.data);\r\n}\r\n\r\nexport function updateUserAccess(userId, updateUserObj) {\r\n const memberfirm = sessionStorage.getItem('selected-memberfirm');\r\n const selectedGeoCode = sessionStorage.getItem('selected-GEOCode');\r\n\r\n var apiIndex = selectedGeoCode ? APIS.findIndex(currAPI => currAPI.geoCode === selectedGeoCode) : 0;\r\n apiIndex = apiIndex > -1 ? apiIndex : 0;\r\n\r\n if (APIS[apiIndex].token) {\r\n APIS[apiIndex].api.defaults.headers.common['Authorization'] = `Bearer ${APIS[apiIndex].token}`;\r\n socket.setAccessToken(APIS[apiIndex].token);\r\n }\r\n\r\n var adminapi = APIS[apiIndex].api;\r\n adminapi.defaults.headers.common['X-MF-CTX'] = memberfirm;\r\n\r\n return adminapi.put(`users/${userId}`, { \r\n IsExtractionAccess: updateUserObj.IsExtractionAccess,\r\n IsTranslationAccess: updateUserObj.IsTranslationAccess, \r\n IsAdminAccess : updateUserObj.IsAdminAccess, \r\n ServicenowTicketNumber: updateUserObj.ServicenowTicketNumber\r\n }).then(res => res.data.data);\r\n}\r\n\r\nexport function getOrganizationCodes(memberFirmCode) {\r\n const containerCode = sessionStorage.getItem('selected-container');\r\n const memberfirm = sessionStorage.getItem('selected-memberfirm');\r\n const selectedGeoCode = sessionStorage.getItem('selected-GEOCode');\r\n\r\n var apiIndex = selectedGeoCode ? APIS.findIndex(currAPI => currAPI.geoCode === selectedGeoCode) : 0;\r\n apiIndex = apiIndex > -1 ? apiIndex : 0;\r\n\r\n if (APIS[apiIndex].token) {\r\n APIS[apiIndex].api.defaults.headers.common['Authorization'] = `Bearer ${APIS[apiIndex].token}`;\r\n socket.setAccessToken(APIS[apiIndex].token);\r\n }\r\n\r\n var adminapi = APIS[apiIndex].api;\r\n adminapi.defaults.headers.common['X-MF-CTX'] = memberfirm;\r\n adminapi.defaults.headers.common['X-ADMCNTR-CTX'] = containerCode;\r\n \r\n return adminapi.get(`memberfirm/${memberfirm}/organizationtypes`).then(res => res.data.data);\r\n}\r\n\r\nexport function getEnabledOrganizationCodes(memberFirmCode) {\r\n const containerCode = sessionStorage.getItem('selected-container');\r\n const memberfirm = sessionStorage.getItem('selected-memberfirm');\r\n const selectedGeoCode = sessionStorage.getItem('selected-GEOCode');\r\n\r\n var apiIndex = selectedGeoCode ? APIS.findIndex(currAPI => currAPI.geoCode === selectedGeoCode) : 0;\r\n apiIndex = apiIndex > -1 ? apiIndex : 0;\r\n\r\n if (APIS[apiIndex].token) {\r\n APIS[apiIndex].api.defaults.headers.common['Authorization'] = `Bearer ${APIS[apiIndex].token}`;\r\n socket.setAccessToken(APIS[apiIndex].token);\r\n }\r\n\r\n var adminapi = APIS[apiIndex].api;\r\n adminapi.defaults.headers.common['X-MF-CTX'] = memberfirm;\r\n adminapi.defaults.headers.common['X-ADMCNTR-CTX'] = containerCode;\r\n return adminapi.get(`memberfirm/${memberfirm}/organizations`).then(res => res.data.data);\r\n}\r\n\r\nexport function enableOrganizationCode(organization) {\r\n const containerCode = sessionStorage.getItem('selected-container');\r\n const memberfirm = sessionStorage.getItem('selected-memberfirm');\r\n const selectedGeoCode = sessionStorage.getItem('selected-GEOCode');\r\n\r\n var apiIndex = selectedGeoCode ? APIS.findIndex(currAPI => currAPI.geoCode === selectedGeoCode) : 0;\r\n apiIndex = apiIndex > -1 ? apiIndex : 0;\r\n\r\n if (APIS[apiIndex].token) {\r\n APIS[apiIndex].api.defaults.headers.common['Authorization'] = `Bearer ${APIS[apiIndex].token}`;\r\n socket.setAccessToken(APIS[apiIndex].token);\r\n }\r\n\r\n var adminapi = APIS[apiIndex].api;\r\n adminapi.defaults.headers.common['X-MF-CTX'] = memberfirm;\r\n adminapi.defaults.headers.common['X-ADMCNTR-CTX'] = containerCode;\r\n\r\n return adminapi\r\n .post(`memberfirm/${memberfirm}/organizations`, {\r\n containerCode: containerCode,\r\n organizationCode: organization.organizationCode\r\n })\r\n .then(res => res.data.data);\r\n}\r\n\r\nexport function disableOrganizationCode(organization) {\r\n const containerCode = sessionStorage.getItem('selected-container');\r\n const memberfirm = sessionStorage.getItem('selected-memberfirm');\r\n const selectedGeoCode = sessionStorage.getItem('selected-GEOCode');\r\n\r\n var apiIndex = selectedGeoCode ? APIS.findIndex(currAPI => currAPI.geoCode === selectedGeoCode) : 0;\r\n apiIndex = apiIndex > -1 ? apiIndex : 0;\r\n\r\n if (APIS[apiIndex].token) {\r\n APIS[apiIndex].api.defaults.headers.common['Authorization'] = `Bearer ${APIS[apiIndex].token}`;\r\n socket.setAccessToken(APIS[apiIndex].token);\r\n }\r\n\r\n var adminapi = APIS[apiIndex].api;\r\n adminapi.defaults.headers.common['X-MF-CTX'] = memberfirm;\r\n adminapi.defaults.headers.common['X-ADMCNTR-CTX'] = containerCode;\r\n return adminapi\r\n .delete(\r\n `memberfirm/${memberfirm}/organizations/${organization.organizationCode}/containers/${containerCode}`\r\n )\r\n .then(res => res.data.data);\r\n}\r\n\r\n/********************************************************************************\r\n\r\nAbout and Privacy Links\r\n\r\n ********************************************************************************/\r\n\r\nexport function getAboutInfo() {\r\n return api.get(`/about`).then(res => res.data);\r\n}\r\n\r\nexport function getHelpDocument(document, selectedLanguage) {\r\n return api.get(document, {\r\n responseType: 'blob',\r\n headers: {\r\n 'X-LANG-CTX': selectedLanguage\r\n }\r\n });\r\n}\r\n\r\nexport function postNewRating(userId, rating, feedback, page, userEmail) {\r\n return api.post('/about/rating', {\r\n globalPersonID: userId,\r\n rating: rating,\r\n feedback: feedback,\r\n PageMetaData: page,\r\n EmailID: userEmail\r\n });\r\n}\r\n\r\n/********************************************************************************\r\n\r\nReports\r\n\r\n********************************************************************************/\r\nexport function getReports() {\r\n const containerCode = sessionStorage.getItem('selected-container');\r\n const memberfirm = sessionStorage.getItem('selected-memberfirm');\r\n const selectedGeoCode = sessionStorage.getItem('selected-GEOCode');\r\n\r\n var apiIndex = selectedGeoCode ? APIS.findIndex(currAPI => currAPI.geoCode === selectedGeoCode) : 0;\r\n apiIndex = apiIndex > -1 ? apiIndex : 0;\r\n\r\n if (APIS[apiIndex].token) {\r\n APIS[apiIndex].api.defaults.headers.common['Authorization'] = `Bearer ${APIS[apiIndex].token}`;\r\n socket.setAccessToken(APIS[apiIndex].token);\r\n }\r\n\r\n var adminapi = APIS[apiIndex].api;\r\n adminapi.defaults.headers.common['X-MF-CTX'] = memberfirm;\r\n if(containerCode != null){\r\n return adminapi.get(`reports`,\r\n {\r\n headers: {\r\n ...(containerCode && { 'X-ADMCNTR-CTX': containerCode })\r\n }\r\n }\r\n ).then(res => res.data);\r\n }\r\n else\r\n return api.get(`reports`).then(res => res.data);\r\n}\r\n\r\nexport function getScheduledReports() {\r\n const containerCode = sessionStorage.getItem('selected-container');\r\n const memberFirmCode = sessionStorage.getItem('selected-memberfirm');\r\n const selectedGeoCode = sessionStorage.getItem('selected-GEOCode');\r\n\r\n var apiIndex = selectedGeoCode ? APIS.findIndex(currAPI => currAPI.geoCode === selectedGeoCode) : 0;\r\n apiIndex = apiIndex > -1 ? apiIndex : 0;\r\n\r\n if (APIS[apiIndex].token) {\r\n APIS[apiIndex].api.defaults.headers.common['Authorization'] = `Bearer ${APIS[apiIndex].token}`;\r\n socket.setAccessToken(APIS[apiIndex].token);\r\n }\r\n\r\n var adminapi = APIS[apiIndex].api;\r\n adminapi.defaults.headers.common['X-MF-CTX'] = memberFirmCode;\r\n\r\n if(containerCode != null){\r\n return adminapi.get(`reports/scheduled`,\r\n {\r\n headers: {\r\n ...(containerCode && { 'X-ADMCNTR-CTX': containerCode })\r\n }\r\n }\r\n ).then(res => res.data);\r\n }\r\n else\r\n return api.get(`reports/scheduled`).then(res => res.data);\r\n}\r\n\r\nexport function getReport(reportId) {\r\n const containerCode = sessionStorage.getItem('selected-container');\r\n const memberFirmCode = sessionStorage.getItem('selected-memberfirm');\r\n const selectedGeoCode = sessionStorage.getItem('selected-GEOCode');\r\n\r\n var apiIndex = selectedGeoCode ? APIS.findIndex(currAPI => currAPI.geoCode === selectedGeoCode) : 0;\r\n apiIndex = apiIndex > -1 ? apiIndex : 0;\r\n\r\n if (APIS[apiIndex].token) {\r\n APIS[apiIndex].api.defaults.headers.common['Authorization'] = `Bearer ${APIS[apiIndex].token}`;\r\n socket.setAccessToken(APIS[apiIndex].token);\r\n }\r\n\r\n var adminapi = APIS[apiIndex].api;\r\n adminapi.defaults.headers.common['X-MF-CTX'] = memberFirmCode;\r\n\r\n if(containerCode != null){\r\n return adminapi.get(`reports/${reportId}`,\r\n {\r\n headers: {\r\n ...(containerCode && { 'X-ADMCNTR-CTX': containerCode })\r\n }\r\n }\r\n ).then(res => res.data);\r\n }\r\n else\r\n return api.get(`reports/${reportId}`).then(res => res.data);\r\n}\r\n\r\nexport function deleteReport(reportId) {\r\n const containerCode = sessionStorage.getItem('selected-container');\r\n const memberFirmCode = sessionStorage.getItem('selected-memberfirm');\r\n const selectedGeoCode = sessionStorage.getItem('selected-GEOCode');\r\n\r\n var apiIndex = selectedGeoCode ? APIS.findIndex(currAPI => currAPI.geoCode === selectedGeoCode) : 0;\r\n apiIndex = apiIndex > -1 ? apiIndex : 0;\r\n\r\n if (APIS[apiIndex].token) {\r\n APIS[apiIndex].api.defaults.headers.common['Authorization'] = `Bearer ${APIS[apiIndex].token}`;\r\n socket.setAccessToken(APIS[apiIndex].token);\r\n }\r\n\r\n var adminapi = APIS[apiIndex].api;\r\n adminapi.defaults.headers.common['X-MF-CTX'] = memberFirmCode;\r\n\r\n if(containerCode != null){\r\n return adminapi.delete(`reports/scheduled/${reportId}`,\r\n {\r\n headers: {\r\n ...(containerCode && { 'X-ADMCNTR-CTX': containerCode })\r\n }\r\n }\r\n ).then(res => res.data);\r\n }\r\n else \r\n return api.delete(`reports/scheduled/${reportId}`).then(res => res.data);\r\n}\r\n\r\nexport function editReport(reportId, reportData) {\r\n const containerCode = sessionStorage.getItem('selected-container');\r\n const memberFirmCode = sessionStorage.getItem('selected-memberfirm');\r\n const selectedGeoCode = sessionStorage.getItem('selected-GEOCode');\r\n\r\n var apiIndex = selectedGeoCode ? APIS.findIndex(currAPI => currAPI.geoCode === selectedGeoCode) : 0;\r\n apiIndex = apiIndex > -1 ? apiIndex : 0;\r\n\r\n if (APIS[apiIndex].token) {\r\n APIS[apiIndex].api.defaults.headers.common['Authorization'] = `Bearer ${APIS[apiIndex].token}`;\r\n socket.setAccessToken(APIS[apiIndex].token);\r\n }\r\n\r\n var adminapi = APIS[apiIndex].api;\r\n adminapi.defaults.headers.common['X-MF-CTX'] = memberFirmCode;\r\n\r\n if(containerCode != null){\r\n return adminapi.put(`reports/scheduled/${reportId}`,reportData,\r\n {\r\n headers: {\r\n ...(containerCode && { 'X-ADMCNTR-CTX': containerCode })\r\n }\r\n }\r\n ).then(res => res.data);\r\n }\r\n else\r\n return api.put(`reports/scheduled/${reportId}`, reportData).then(res => res.data);\r\n}\r\n\r\nexport function createReport(reportData) {\r\n const containerCode = sessionStorage.getItem('selected-container');\r\n const memberFirmCode = sessionStorage.getItem('selected-memberfirm');\r\n const selectedGeoCode = sessionStorage.getItem('selected-GEOCode');\r\n\r\n var apiIndex = selectedGeoCode ? APIS.findIndex(currAPI => currAPI.geoCode === selectedGeoCode) : 0;\r\n apiIndex = apiIndex > -1 ? apiIndex : 0;\r\n\r\n if (APIS[apiIndex].token) {\r\n APIS[apiIndex].api.defaults.headers.common['Authorization'] = `Bearer ${APIS[apiIndex].token}`;\r\n socket.setAccessToken(APIS[apiIndex].token);\r\n }\r\n\r\n var adminapi = APIS[apiIndex].api;\r\n adminapi.defaults.headers.common['X-MF-CTX'] = memberFirmCode;\r\n if(containerCode != null){\r\n return adminapi.post(`reports/scheduled`,reportData,\r\n {\r\n headers: {\r\n ...(containerCode && { 'X-ADMCNTR-CTX': containerCode })\r\n }\r\n }\r\n ).then(res => res.data);\r\n }\r\n else\r\n return api.post(`reports/scheduled`, reportData).then(res => res.data);\r\n}\r\n\r\nexport function generateReport(reportId) {\r\n const containerCode = sessionStorage.getItem('selected-container');\r\n const memberFirmCode = sessionStorage.getItem('selected-memberfirm');\r\n const selectedGeoCode = sessionStorage.getItem('selected-GEOCode');\r\n\r\n var apiIndex = selectedGeoCode ? APIS.findIndex(currAPI => currAPI.geoCode === selectedGeoCode) : 0;\r\n apiIndex = apiIndex > -1 ? apiIndex : 0;\r\n\r\n if (APIS[apiIndex].token) {\r\n APIS[apiIndex].api.defaults.headers.common['Authorization'] = `Bearer ${APIS[apiIndex].token}`;\r\n socket.setAccessToken(APIS[apiIndex].token);\r\n }\r\n\r\n var adminapi = APIS[apiIndex].api;\r\n adminapi.defaults.headers.common['X-MF-CTX'] = memberFirmCode;\r\n if(containerCode != null){\r\n \r\n return adminapi.get(`reports/${reportId}/binary`,{responseType: 'blob',\r\n headers: {\r\n ...(containerCode && { 'X-ADMCNTR-CTX': containerCode })\r\n }\r\n });\r\n \r\n }\r\n else\r\n return api.get(`reports/${reportId}/binary`,{responseType: 'blob' });\r\n \r\n}\r\n\r\nexport function getReportDownloadToken(reportId) {\r\n const containerCode = sessionStorage.getItem('selected-container');\r\n const memberfirm = sessionStorage.getItem('selected-memberfirm');\r\n const selectedGeoCode = sessionStorage.getItem('selected-GEOCode');\r\n\r\n var apiIndex = selectedGeoCode ? APIS.findIndex(currAPI => currAPI.geoCode === selectedGeoCode) : 0;\r\n apiIndex = apiIndex > -1 ? apiIndex : 0;\r\n\r\n if (APIS[apiIndex].token) {\r\n APIS[apiIndex].api.defaults.headers.common['Authorization'] = `Bearer ${APIS[apiIndex].token}`;\r\n socket.setAccessToken(APIS[apiIndex].token);\r\n }\r\n\r\n var adminapi = APIS[apiIndex].api;\r\n adminapi.defaults.headers.common['X-MF-CTX'] = memberfirm;\r\n adminapi.defaults.headers.common['X-ADMCNTR-CTX'] = containerCode;\r\n return adminapi.get(`reports/${reportId}/token`).then(res => res.data);\r\n}\r\n\r\nexport function downloadDocument(document, headers = null) {\r\n const containerCode = sessionStorage.getItem('selected-container');\r\n const memberfirm = sessionStorage.getItem('selected-memberfirm');\r\n const selectedGeoCode = sessionStorage.getItem('selected-GEOCode');\r\n\r\n var apiIndex = selectedGeoCode ? APIS.findIndex(currAPI => currAPI.geoCode === selectedGeoCode) : 0;\r\n apiIndex = apiIndex > -1 ? apiIndex : 0;\r\n\r\n if (APIS[apiIndex].token) {\r\n APIS[apiIndex].api.defaults.headers.common['Authorization'] = `Bearer ${APIS[apiIndex].token}`;\r\n socket.setAccessToken(APIS[apiIndex].token);\r\n }\r\n\r\n var adminapi = APIS[apiIndex].api;\r\n adminapi.defaults.headers.common['X-MF-CTX'] = memberfirm;\r\n if(containerCode != null && !document.includes(\"translations\") && !document.includes(\"projects\")){\r\n return adminapi\r\n .get(document, {\r\n responseType: 'blob',\r\n headers: {\r\n ...(containerCode && { 'X-ADMCNTR-CTX': containerCode })\r\n }\r\n })\r\n .then(res => {\r\n const file = new Blob([res.data], { type: res.headers['content-type'] });\r\n const fileURL = URL.createObjectURL(file);\r\n\r\n return fileURL;\r\n });\r\n }\r\n else{\r\n return api\r\n .get(document, {\r\n responseType: 'blob',\r\n ...(headers && { headers })\r\n })\r\n .then(res => {\r\n const file = new Blob([res.data], { type: res.headers['content-type'] });\r\n const fileURL = URL.createObjectURL(file);\r\n\r\n return fileURL;\r\n });\r\n }\r\n \r\n}\r\n\r\n/********************************************************************************\r\n\r\nTags Page\r\n\r\n********************************************************************************/\r\n\r\nexport function getDocumentTags(projectId) {\r\n return api.get(`projects/${projectId}/tags/documentcounts`).then(res => res.data);\r\n}\r\n\r\nexport function getDocumentTypeTags(projectId) {\r\n return api\r\n .get(`projects/${projectId}/tags/documentcounts?tagtype=systemdocumentclassification`)\r\n .then(res => res.data);\r\n}\r\n\r\nexport function getOCRQualityTags(projectId) {\r\n return api.get(`projects/${projectId}/tags/documentcounts?tagtype=systemocrquality`).then(res => res.data);\r\n}\r\n\r\nexport function getLanguageTags(projectId) {\r\n return api.get(`projects/${projectId}/tags/documentcounts?tagtype=systemdocumentlanguage`).then(res => res.data);\r\n}\r\n\r\nexport function getExtractionFieldRecordTags(projectId) {\r\n return api.get(`projects/${projectId}/tags/extractionfieldrecordcounts`).then(res => res.data);\r\n}\r\n\r\n/********************************************************************************\r\n\r\nReview Status Page\r\n\r\n********************************************************************************/\r\n\r\nexport function getDocumentProcessingStatus(projectId) {\r\n return api.get(`projects/${projectId}/status/documentprocessing`).then(res => res.data);\r\n}\r\n\r\nexport function getProjectStatus(projectId) {\r\n return api.get(`projects/${projectId}/status/documentprogress`).then(res => res.data);\r\n}\r\n\r\nexport function getUserProgress(projectId) {\r\n return api.get(`projects/${projectId}/status/usersprogress`).then(res => res.data);\r\n}\r\n\r\n\r\nexport function getUserSelectedFormat() {\r\n return api.get('/users/me/preferences/numberFormatPreference').then(response => {\r\n return response.data;\r\n });\r\n}\r\n\r\nexport function getUserSelectedDateFormat() {\r\n return api.get('/users/me/preferences/dateFormatPreference').then(response => {\r\n return response.data;\r\n });\r\n}\r\n\r\nexport function getDataSnipperEnableforUser() {\r\n return api.get('/users/me/preferences/enableDataSnipperForUser').then(response => {\r\n return response.data;\r\n });\r\n}\r\n\r\nexport function getExtendedFeaturesforContainer(isFromAdmin) {\r\n const containerCode = sessionStorage.getItem('selected-container');\r\n const memberfirm = sessionStorage.getItem('selected-memberfirm');\r\n const selectedGeoCode = sessionStorage.getItem('selected-GEOCode');\r\n\r\n var apiIndex = selectedGeoCode ? APIS.findIndex(currAPI => currAPI.geoCode === selectedGeoCode) : 0;\r\n apiIndex = apiIndex > -1 ? apiIndex : 0;\r\n\r\n if (APIS[apiIndex].token) {\r\n APIS[apiIndex].api.defaults.headers.common['Authorization'] = `Bearer ${APIS[apiIndex].token}`;\r\n socket.setAccessToken(APIS[apiIndex].token);\r\n }\r\n\r\n if (isFromAdmin == true) {\r\n var adminapi = APIS[apiIndex].api;\r\n adminapi.defaults.headers.common['X-MF-CTX'] = memberfirm;\r\n adminapi.defaults.headers.common['X-ADMCNTR-CTX'] = containerCode;\r\n\r\n return adminapi.get(`memberfirm/${memberfirm}/extendedfeaturesactivation?isFromAdmin=${isFromAdmin}`).then(res => res.data.data);\r\n } \r\n else {\r\n return api.get(`memberfirm/${memberfirm}/extendedfeaturesactivation?isFromAdmin=${isFromAdmin}`).then(res => res.data.data);\r\n }\r\n}\r\n\r\nexport function postExtendedFeaturesforContainer(IsWorkspaceEnabled, IsDataSnipperEnabled, IsGenAIProcessingEnabled){\r\n const containerCode = sessionStorage.getItem('selected-container');\r\n const memberfirm = sessionStorage.getItem('selected-memberfirm');\r\n const selectedGeoCode = sessionStorage.getItem('selected-GEOCode');\r\n\r\n var apiIndex = selectedGeoCode ? APIS.findIndex(currAPI => currAPI.geoCode === selectedGeoCode) : 0;\r\n apiIndex = apiIndex > -1 ? apiIndex : 0;\r\n\r\n if (APIS[apiIndex].token) {\r\n APIS[apiIndex].api.defaults.headers.common['Authorization'] = `Bearer ${APIS[apiIndex].token}`;\r\n socket.setAccessToken(APIS[apiIndex].token);\r\n }\r\n\r\n var adminapi = APIS[apiIndex].api;\r\n adminapi.defaults.headers.common['X-MF-CTX'] = memberfirm;\r\n adminapi.defaults.headers.common['X-ADMCNTR-CTX'] = containerCode;\r\n return adminapi.post(`/memberfirm/${memberfirm}/extendedfeaturesactivation`, {\r\n IsWorkspaceEnabled: IsWorkspaceEnabled,\r\n IsDataSnipperEnabled: IsDataSnipperEnabled,\r\n IsGenAIProcessingEnabled : IsGenAIProcessingEnabled\r\n })\r\n}\r\n\r\n\r\nexport function getFormats() { \r\n return api.get('/settings/23').then(response => {\r\n return response.data;\r\n });\r\n}\r\n\r\nexport function getDateFormats() { \r\n return api.get('/settings/28').then(response => {\r\n return response.data;\r\n });\r\n}\r\n\r\nexport function postPrefferedFormat(PreferenceName, userSelectedFormat, userId) {\r\n\r\n return api.post('/users/me/preferences/', {\r\n PreferenceName: PreferenceName,\r\n CurrentPreference: userSelectedFormat,\r\n UserId: userId\r\n });\r\n}\r\n\r\nexport function postPrefferedDateFormat(PreferenceName, userSelectedDateFormat, userId) {\r\n\r\n return api.post('/users/me/preferences/', {\r\n PreferenceName: PreferenceName,\r\n CurrentPreference: userSelectedDateFormat,\r\n UserId: userId\r\n });\r\n}\r\n\r\nexport function postDsEnabledForUser(PreferenceName, IsDsEnabled, userId){\r\n return api.post('/users/me/preferences/', {\r\n PreferenceName: PreferenceName,\r\n CurrentPreference: IsDsEnabled,\r\n UserId: userId\r\n })\r\n}\r\n\r\nexport function getMaintenanceMessages() {\r\n return api.get('/maintenanceMessages').then(response => {\r\n return response.data;\r\n });\r\n}\r\n\r\nexport function getMaintenanceBannerMessages() {\r\n return api.get(`/maintenanceMessages/banner`).then(response => {\r\n return response.data;\r\n });\r\n}\r\n\r\n export function getTimeZones() {\r\n\r\n return api.get('/maintenanceMessages/timezones').then(response => {\r\n return response.data;\r\n });\r\n }\r\n export function saveMaintenanceMessages(maintenanceObj) { \r\n\r\n return api.post(`/maintenanceMessages/InsertMaintenanceMessage`,maintenanceObj).then(res => res.data);\r\n}\r\n\r\nexport function updateMaintenanceMessages(messageId,maintenanceObj) {\r\n return api.put(`/maintenanceMessages/updateMessage/${messageId}`,maintenanceObj).then(res => res.data);\r\n}\r\n\r\nexport function deleteMaintenanceMessage(messageId) {\r\n \r\n return api.delete(`/maintenanceMessages/${messageId}`).then(res => res.data);\r\n}\r\n\r\n","import { createAction, createReducer } from 'utils/redux-utils';\r\nimport { throttle } from 'underscore';\r\n\r\nimport { ACTIONS as PROJECT_ACTIONS } from 'store/current-project';\r\nimport { ProjectItem } from 'models/project-item';\r\nimport * as api from 'store/api';\r\nimport socket, { rooms } from 'utils/socket';\r\n\r\nexport const ACTIONS = {\r\n CURRENT_FOLDER_INVALIDATED: 'argus/ui/CURRENT_FOLDER_INVALIDATED',\r\n CURRENT_FOLDER_LOADED: 'argus/ui/CURRENT_FOLDER_LOADED',\r\n CURRENT_FOLDER_LOADING: 'argus/ui/CURRENT_FOLDER_LOADING',\r\n ITEM_NAME_UPDATED: 'argus/ui/ITEM_NAME_UPDATED',\r\n ITEMS_DELETED: 'argus/ui/ITEMS_DELETED',\r\n ITEMS_UPDATED: 'argus/ui/ITEMS_UPDATED',\r\n TAG_ADDED: 'argus/ui/TAG_ADDED',\r\n TAG_REMOVED: 'argus/ui/TAG_REMOVED',\r\n REVIEWER_ADDED: 'argus/ui/REVIEWER_ADDED',\r\n REVIEWER_REMOVED: 'argus/ui/REVIEWER_REMOVED'\r\n};\r\n\r\nexport const currentFolderInvalidated = createAction(ACTIONS.CURRENT_FOLDER_INVALIDATED);\r\nexport const currentFolderLoaded = createAction(ACTIONS.CURRENT_FOLDER_LOADED);\r\nexport const currentFolderLoading = createAction(ACTIONS.CURRENT_FOLDER_LOADING);\r\nexport const itemNameUpdated = createAction(ACTIONS.ITEM_NAME_UPDATED);\r\nexport const itemsDeleted = createAction(ACTIONS.ITEMS_DELETED);\r\nexport const itemsUpdated = createAction(ACTIONS.ITEMS_UPDATED);\r\nexport const tagAdded = createAction(ACTIONS.TAG_ADDED);\r\nexport const tagRemoved = createAction(ACTIONS.TAG_REMOVED);\r\nexport const reviewerAdded = createAction(ACTIONS.REVIEWER_ADDED);\r\nexport const reviewerRemoved = createAction(ACTIONS.REVIEWER_REMOVED);\r\n\r\n// Closure for abstracting the logic of subscribing/unsubscribing to updates from the socket\r\nconst { subscribe, unsubscribe } = (socket => {\r\n let projectRoom = null;\r\n let folderRoom = null;\r\n let onDelete = null;\r\n let onUpdateState = null;\r\n let onDocumentRenamed = null;\r\n let onFolderRenamed = null;\r\n let onUpdatePageCount = null;\r\n let onDocumentTagAdded = null;\r\n let onDocumentTagRemoved = null;\r\n let onDocumentReviewerAdded = null;\r\n let onDocumentReviewerRemoved = null;\r\n let onDocumentTemplateUpdated = null;\r\n\r\n const subscribe = (projectId, folderId) => dispatch => {\r\n if (!projectId || !folderId) {\r\n return;\r\n }\r\n\r\n const nextProjectRoom = rooms.project(projectId);\r\n const nextFolderRoom = rooms.folder(projectId, folderId);\r\n\r\n if (projectRoom !== nextProjectRoom) {\r\n socket.leave(projectRoom);\r\n projectRoom = nextProjectRoom;\r\n socket.join(projectRoom);\r\n }\r\n\r\n if (folderRoom !== nextFolderRoom) {\r\n socket.leave(folderRoom);\r\n folderRoom = nextFolderRoom;\r\n socket.join(folderRoom);\r\n }\r\n\r\n if (!onDelete) {\r\n onDelete = response => {\r\n dispatch(itemsDeleted([response.data]));\r\n dispatch(currentFolderInvalidate());\r\n };\r\n socket.on('document.delete', onDelete);\r\n socket.on('folder.delete', onDelete);\r\n }\r\n\r\n if (!onUpdateState) {\r\n onUpdateState = response => {\r\n dispatch(itemsUpdated([{ ...response.data }]));\r\n };\r\n\r\n socket.on('document.update.state', onUpdateState);\r\n }\r\n\r\n if (!onDocumentRenamed) {\r\n onDocumentRenamed = response => {\r\n dispatch(itemsUpdated([{ ...response.data }]));\r\n };\r\n socket.on('document.renamed', onDocumentRenamed);\r\n }\r\n\r\n if (!onFolderRenamed) {\r\n onFolderRenamed = response => {\r\n dispatch(itemsUpdated([{ ...response.data }]));\r\n };\r\n socket.on('folder.renamed', onFolderRenamed);\r\n }\r\n\r\n if (!onUpdatePageCount) {\r\n onUpdatePageCount = response => {\r\n dispatch(itemsUpdated([{ ...response.data }]));\r\n };\r\n socket.on('document.page.count.updated', onUpdatePageCount);\r\n }\r\n\r\n if (!onDocumentTagAdded) {\r\n onDocumentTagAdded = response => {\r\n dispatch(tagAdded(response.data));\r\n };\r\n socket.on('document.tag.added', onDocumentTagAdded);\r\n }\r\n\r\n if (!onDocumentTagRemoved) {\r\n onDocumentTagRemoved = response => {\r\n dispatch(tagRemoved(response.data));\r\n };\r\n socket.on('document.tag.removed', onDocumentTagRemoved);\r\n }\r\n\r\n if (!onDocumentReviewerAdded) {\r\n onDocumentReviewerAdded = response => {\r\n dispatch(reviewerAdded(response.data));\r\n };\r\n socket.on('document.reviewer.added', onDocumentReviewerAdded);\r\n }\r\n\r\n if (!onDocumentReviewerRemoved) {\r\n onDocumentReviewerRemoved = response => {\r\n dispatch(reviewerRemoved(response.data));\r\n };\r\n socket.on('document.reviewer.removed', onDocumentReviewerRemoved);\r\n }\r\n\r\n if (!onDocumentTemplateUpdated) {\r\n onDocumentTemplateUpdated = response => {\r\n dispatch(\r\n itemsUpdated([\r\n {\r\n projectItemId: response.data.document.projectItemId,\r\n projectTemplates: response.data.templates\r\n }\r\n ])\r\n );\r\n };\r\n socket.on('document.template.updated', onDocumentTemplateUpdated);\r\n }\r\n };\r\n\r\n const unsubscribe = () => {\r\n socket.leave(projectRoom);\r\n socket.leave(folderRoom);\r\n projectRoom = null;\r\n folderRoom = null;\r\n\r\n if (onDelete) {\r\n socket.off('document.delete', onDelete);\r\n socket.off('folder.delete', onDelete);\r\n onDelete = null;\r\n }\r\n\r\n if (onUpdateState) {\r\n socket.off('document.update.state', onUpdateState);\r\n onUpdateState = null;\r\n }\r\n\r\n if (onUpdatePageCount) {\r\n socket.off('document.page.count.updated', onUpdatePageCount);\r\n onUpdatePageCount = null;\r\n }\r\n\r\n if (onDocumentRenamed) {\r\n socket.off('document.renamed', onDocumentRenamed);\r\n onDocumentRenamed = null;\r\n }\r\n\r\n if (onFolderRenamed) {\r\n socket.off('folder.renamed', onFolderRenamed);\r\n onFolderRenamed = null;\r\n }\r\n\r\n if (onDocumentTagAdded) {\r\n socket.off('document.tag.added', onDocumentTagAdded);\r\n onDocumentTagAdded = null;\r\n }\r\n\r\n if (onDocumentTagRemoved) {\r\n socket.off('document.tag.removed', onDocumentTagRemoved);\r\n onDocumentTagRemoved = null;\r\n }\r\n\r\n if (onDocumentReviewerAdded) {\r\n socket.off('document.reviewer.added', onDocumentReviewerAdded);\r\n onDocumentReviewerAdded = null;\r\n }\r\n\r\n if (onDocumentReviewerAdded) {\r\n socket.off('document.reviewer.removed', onDocumentReviewerAdded);\r\n onDocumentReviewerAdded = null;\r\n }\r\n\r\n if (onDocumentTemplateUpdated) {\r\n socket.off('document.template.changed', onDocumentTemplateUpdated);\r\n onDocumentTemplateUpdated = null;\r\n }\r\n };\r\n\r\n return {\r\n subscribe,\r\n unsubscribe\r\n };\r\n})(socket);\r\n\r\nexport const loadCurrentFolder = ({\r\n projectId,\r\n folderId,\r\n pageNum = 1,\r\n pageSize,\r\n forceFetch = false,\r\n sortBy = 'name',\r\n sortOrder = 'ascending',\r\n filterBy = '',\r\n filterString = '',\r\n filterIds = ''\r\n}) => (dispatch, getState) => {\r\n const currentState = getState().data.currentFolder;\r\n if (forceFetch || (!currentState.isLoading && !currentState.isLoaded)) {\r\n dispatch(currentFolderLoading());\r\n return api\r\n .getFolder({ projectId, folderId, pageNum, pageSize, sortBy, sortOrder, filterBy, filterString, filterIds })\r\n .then(response => {\r\n localStorage.setItem('templateCategoryId', response.data.templateCategoryID);\r\n // Subscribe to updates on this folder\r\n dispatch(subscribe(projectId, folderId));\r\n // Update the state\r\n dispatch(currentFolderLoaded(response));\r\n });\r\n }\r\n\r\n return Promise.resolve(currentState);\r\n};\r\n\r\nexport const createFolder = ({ folderName, projectId, parentId }) => dispatch => {\r\n return api.createFolder({ folderName, projectId, parentId }).then(() => {\r\n dispatch(currentFolderInvalidated());\r\n });\r\n};\r\n\r\nexport const renameItem = ({ projectId, newName, oldName, itemTypeId, projectItemId }) => (dispatch, getState) => {\r\n // Set the name of the item immediately\r\n dispatch(itemNameUpdated({ projectItemId, itemName: newName }));\r\n return api.renameItem({ projectId, itemName: newName, itemTypeId, projectItemId }).catch(error => {\r\n dispatch(itemNameUpdated({ projectItemId, itemName: oldName }));\r\n throw error;\r\n });\r\n};\r\n\r\nexport const moveItems = ({ projectId, folderId, itemIds, projectItemsIdList, templateId }) => dispatch => {\r\n return api.moveItems({ projectId, folderId, itemIds, projectItemsIdList, templateId });\r\n};\r\n\r\nexport const deleteItems = ({ projectId, items }) => dispatch => {\r\n // Separate folders and documents since they rely on different API calls\r\n // Todo: discuss to combine them into a single API\r\n const folders = items.filter(child => child.itemTypeId === 1);\r\n const documents = items.filter(child => child.itemTypeId === 2);\r\n\r\n const promises = [];\r\n\r\n if (documents.length) {\r\n promises.push(api.deleteAllItems({ projectId, ids: documents.map(e => e.projectItemId) }));\r\n }\r\n\r\n if (folders.length) {\r\n promises.push(api.deleteItems({ projectId, items: folders }));\r\n }\r\n\r\n return Promise.all(promises);\r\n};\r\n\r\nexport const assignTemplates = ({ projectId, items, templateId }) => dispatch => {\r\n return api.assignTemplates({ projectId, templateId, items });\r\n};\r\n\r\nconst throttledFolderInvalidate = throttle(dispatch => {\r\n // Invalidate the data\r\n dispatch(currentFolderInvalidated());\r\n}, 10000);\r\n\r\nexport const currentFolderInvalidate = () => throttledFolderInvalidate;\r\n\r\nexport const unsubscribeCurrentFolder = () => dispatch => {\r\n unsubscribe();\r\n};\r\n\r\n/*\r\n * Reducer\r\n */\r\nexport const INITIAL_STATE = new ProjectItem();\r\n\r\nexport default createReducer(INITIAL_STATE, {\r\n [ACTIONS.CURRENT_FOLDER_LOADING]: (state, action) => {\r\n return state.setLoading();\r\n },\r\n\r\n [ACTIONS.CURRENT_FOLDER_LOADED]: (state, action) => {\r\n return state.setLoaded(action.payload);\r\n },\r\n\r\n [ACTIONS.CURRENT_FOLDER_INVALIDATED]: (state, action) => {\r\n return state.invalidate();\r\n },\r\n\r\n [ACTIONS.ITEM_NAME_UPDATED]: (state, action) => {\r\n return state.setChildName(action.payload);\r\n },\r\n\r\n [ACTIONS.ITEMS_DELETED]: (state, action) => {\r\n if (action.payload.find(item => item.projectItemId === state.projectItemId)) {\r\n return state.invalidate();\r\n } else {\r\n return state.deleteChildren(action.payload);\r\n }\r\n },\r\n\r\n [ACTIONS.ITEMS_UPDATED]: (state, action) => {\r\n return state.updateChildren(action.payload);\r\n },\r\n\r\n [ACTIONS.TAG_ADDED]: (state, action) => {\r\n return state.addChildTag(action.payload.documentId, action.payload.tag);\r\n },\r\n\r\n [ACTIONS.TAG_REMOVED]: (state, action) => {\r\n return state.removeChildTag(action.payload.documentId, action.payload.tagId);\r\n },\r\n\r\n [ACTIONS.TAGS_UPDATED]: (state, action) => {\r\n return state.invalidate();\r\n },\r\n\r\n [ACTIONS.REVIEWER_ADDED]: (state, action) => {\r\n return state.addChildReviewer(action.payload.projectId, action.payload.documentId, action.payload.reviewer);\r\n },\r\n\r\n [ACTIONS.REVIEWER_REMOVED]: (state, action) => {\r\n return state.removeChildReviewer(action.payload.documentId, action.payload.reviewerId);\r\n },\r\n\r\n [PROJECT_ACTIONS.CLEAR_PROJECT_DATA]: (state, action) => {\r\n return INITIAL_STATE;\r\n }\r\n});\r\n","import model from 'models/base-model';\r\nimport { ProjectItem, ParentItem, Tag, Reviewer, Template } from 'models/project-item';\r\nimport dateUtil from 'utils/dateUtil';\r\n\r\nexport class SearchCategory extends model({\r\n isLoading: false,\r\n isLoaded: false,\r\n isNullResults: false,\r\n error: null,\r\n categories: {\r\n documents: {\r\n data: []\r\n },\r\n extractions: {\r\n data: []\r\n },\r\n folders: {\r\n data: []\r\n },\r\n reviewers: {\r\n data: []\r\n },\r\n documentTags: {\r\n data: []\r\n },\r\n extractionFieldInstanceTags: {\r\n data: []\r\n },\r\n templates: {\r\n data: []\r\n }\r\n },\r\n query: '',\r\n payload: [],\r\n filters: [],\r\n trackingQuery: '',\r\n selectedCategory: '',\r\n sortOrder: '',\r\n sortBy: ''\r\n}) {\r\n setLoading(state) {\r\n return this.merge({\r\n ...state,\r\n isLoading: true,\r\n isLoaded: false,\r\n error: null,\r\n categories: {\r\n ...state.categories\r\n }\r\n });\r\n }\r\n\r\n setError(state, error) {\r\n return this.merge({\r\n isLoading: false,\r\n isLoaded: false,\r\n error: error,\r\n categories: {\r\n ...state.categories\r\n }\r\n });\r\n }\r\n\r\n setQueryChange(state, action) {\r\n return this.merge({\r\n ...state,\r\n isLoading: false,\r\n error: null,\r\n query: action.payload\r\n });\r\n }\r\n\r\n setAdvancedSearchChange(state, action) {\r\n return this.merge({\r\n ...state,\r\n isLoading: false,\r\n error: null,\r\n filters: action.payload.filter,\r\n payload: action.payload.payload\r\n });\r\n }\r\n\r\n setQueryTrack(state, action) {\r\n return this.merge({\r\n ...state,\r\n isLoading: false,\r\n error: null,\r\n trackingQuery: action.payload\r\n });\r\n }\r\n\r\n setCategorySelected(state, action) {\r\n return this.merge({\r\n ...state,\r\n isLoading: false,\r\n error: null,\r\n selectedCategory: action.payload.key,\r\n selectedData: action.payload.data\r\n });\r\n }\r\n\r\n setSorting(state, action) {\r\n return this.merge({\r\n ...state,\r\n isLoading: false,\r\n error: null,\r\n sortOrder: action.payload.sortOrder,\r\n sortBy: action.payload.sortBy\r\n });\r\n }\r\n\r\n setLoaded(state, action) {\r\n // This is to ensure that the results are always displayed for the query that the user types in\r\n if (state.trackingQuery === action.payload.resolvedQuery) {\r\n return this.merge({\r\n ...state,\r\n isLoading: false,\r\n isLoaded: true,\r\n error: null,\r\n isNullResults:\r\n action.payload.documents.data.data.length <= 0 &&\r\n action.payload.extractions.data.data.length <= 0 &&\r\n action.payload.folders.data.data.length <= 0 &&\r\n action.payload.reviewers.data.data.length <= 0 &&\r\n action.payload.documentTags.data.data.length <= 0 &&\r\n action.payload.extractionFieldInstanceTags.data.data.length <= 0 &&\r\n action.payload.templates.data.data.length <= 0,\r\n categories: {\r\n ...state.categories,\r\n documents: action.payload.documents ? action.payload.documents.data : { data: [] },\r\n extractions: action.payload.extractions ? action.payload.extractions.data : { data: [] },\r\n folders: action.payload.folders ? action.payload.folders.data : { data: [] },\r\n reviewers: action.payload.reviewers ? action.payload.reviewers.data : { data: [] },\r\n documentTags: action.payload.documentTags ? action.payload.documentTags.data : { data: [] },\r\n extractionFieldInstanceTags: action.payload.extractionFieldInstanceTags\r\n ? action.payload.extractionFieldInstanceTags.data\r\n : { data: [] },\r\n templates: action.payload.templates ? action.payload.templates.data : { data: [] }\r\n }\r\n });\r\n }\r\n }\r\n}\r\n\r\nexport class SearchResults extends ProjectItem {\r\n setLoading() {\r\n return this.merge({\r\n error: null,\r\n isLoaded: false,\r\n isLoading: true\r\n });\r\n }\r\n\r\n setCurrentFolderLoaded(state, data) {\r\n return SearchResults.fromData(data);\r\n }\r\n\r\n setDocumentsLoaded(state, data) {\r\n return this.merge({\r\n ...state,\r\n isLoaded: true,\r\n isLoading: false,\r\n children: data && data.data.length > 0 ? data.data.map(model => SearchResults.fromData({ data: model })) : [],\r\n pagination: data.pageInfo,\r\n parentHierarchy: data.parentHierarchy ? data.parentHierarchy : []\r\n });\r\n }\r\n\r\n setFoldersLoaded(state, data) {\r\n return this.merge({\r\n ...state,\r\n isLoaded: true,\r\n isLoading: false,\r\n children: data && data.data.length > 0 ? data.data.map(model => SearchResults.fromData({ data: model })) : [],\r\n pagination: data.pageInfo\r\n });\r\n }\r\n\r\n setAdvancedLoaded(state, data) {\r\n return this.merge({\r\n ...state,\r\n isLoaded: true,\r\n isLoading: false,\r\n children: data && data.data.length > 0 ? data.data.map(model => SearchResults.fromData({ data: model })) : [],\r\n pagination: data.pageInfo\r\n });\r\n }\r\n\r\n invalidate() {\r\n return this.merge({\r\n error: null,\r\n isLoaded: false,\r\n isLoading: false\r\n });\r\n }\r\n\r\n static fromData(model) {\r\n const data = model.data;\r\n const pagination = model.pageInfo;\r\n\r\n return new SearchResults({\r\n ...data,\r\n error: null,\r\n isLoaded: true,\r\n isLoading: false,\r\n children: data.children ? data.children.map(model => SearchResults.fromData({ data: model })) : [],\r\n lastUpdatedDate: dateUtil.fromServerDate(data.lastUpdatedDate),\r\n lastProcessedDate: dateUtil.fromServerDate(data.lastProcessedDate),\r\n pagination,\r\n parentHierarchy: data.parentHierarchy ? data.parentHierarchy.map(model => ParentItem.fromData(model)) : [],\r\n projectTemplates: data.projectTemplates ? data.projectTemplates.map(model => Template.fromData(model)) : [],\r\n reviewers: data.reviewers ? data.reviewers.map(model => Reviewer.fromData(model)) : [],\r\n tags: data.tags ? data.tags.map(model => Tag.fromData(model)) : []\r\n });\r\n }\r\n}\r\n","import { createAction, createReducer } from 'utils/redux-utils';\r\n\r\nimport {\r\n getSearchResultsDocuments,\r\n getSearchResultsDocumentsByAssignee,\r\n getSearchResultsFolders,\r\n getFolder,\r\n createAdvancedSearch\r\n} from 'store/api';\r\n\r\nimport { SearchResults } from 'models/search';\r\n\r\nexport const ACTIONS = {\r\n // Shallow results content inside a folder\r\n SHALLOW_RESULTS_CURRENT_FOLDER_LOADING: 'argus/ui/SHALLOW_RESULTS_CURRENT_FOLDER_LOADING',\r\n SHALLOW_RESULTS_CURRENT_FOLDER_LOADED: 'argus/ui/SHALLOW_RESULTS_CURRENT_FOLDER_LOADED',\r\n // Shallow results in documents & folders\r\n SHALLOW_RESULTS_DOCUMENTS_LOADING: 'argus/ui/SHALLOW_RESULTS_DOCUMENTS_LOADING',\r\n SHALLOW_RESULTS_DOCUMENTS_LOADED: 'argus/ui/SHALLOW_RESULTS_DOCUMENTS_LOADED',\r\n SHALLOW_RESULTS_FOLDERS_LOADING: 'argus/ui/SHALLOW_RESULTS_FOLDERS_LOADING',\r\n SHALLOW_RESULTS_FOLDERS_LOADED: 'argus/ui/SHALLOW_RESULTS_FOLDERS_LOADED',\r\n // When a user doesnt specify the category to search on, perform search globally\r\n GLOBAL_SEARCH_LOADING: 'argus/ui/GLOBAL_SEARCH_LOADING',\r\n GLOBAL_SEARCH_LOADED: 'argus/ui/GLOBAL_SEARCH_LOADED',\r\n // Advanced search results\r\n ADVANCED_RESULTS_LOADING: 'argus/ui/ADVANCED_RESULTS_LOADING',\r\n ADVANCED_RESULTS_LOADED: 'argus/ui/ADVANCED_RESULTS_LOADED',\r\n SEARCH_RESULTS_CLEAR: 'argus/ui/SEARCH_RESULTS_CLEAR',\r\n SEARCH_RESULTS_INVALIDATE: 'argus/ui/SEARCH_RESULTS_INVALIDATE'\r\n};\r\n\r\n// Search Results\r\nexport const shallowResultsCurrentFolderLoading = createAction(ACTIONS.SHALLOW_RESULTS_CURRENT_FOLDER_LOADING);\r\nexport const shallowResultsCurrentFolderLoaded = createAction(ACTIONS.SHALLOW_RESULTS_CURRENT_FOLDER_LOADED);\r\nexport const shallowSearchResultsDocumentsLoading = createAction(ACTIONS.SHALLOW_RESULTS_DOCUMENTS_LOADING);\r\nexport const shallowSearchResultsDocumentsLoaded = createAction(ACTIONS.SHALLOW_RESULTS_DOCUMENTS_LOADED);\r\nexport const shallowSearchResultsFoldersLoading = createAction(ACTIONS.SHALLOW_RESULTS_FOLDERS_LOADING);\r\nexport const shallowSearchResultsFoldersLoaded = createAction(ACTIONS.SHALLOW_RESULTS_FOLDERS_LOADED);\r\nexport const globalSearchLoading = createAction(ACTIONS.GLOBAL_SEARCH_LOADING);\r\nexport const globalSearchLoaded = createAction(ACTIONS.GLOBAL_SEARCH_LOADED);\r\nexport const advancedResultsLoading = createAction(ACTIONS.ADVANCED_RESULTS_LOADING);\r\nexport const advancedResultsLoaded = createAction(ACTIONS.ADVANCED_RESULTS_LOADED);\r\n\r\nexport const searchResultsClear = createAction(ACTIONS.SEARCH_RESULTS_CLEAR);\r\nexport const searchResultsInvalidate = createAction(ACTIONS.SEARCH_RESULTS_INVALIDATE);\r\n\r\n// Search Results\r\n// This is used when user clicks on a folder result returned from search folder api\r\nexport const getCurrentSearchFolder = data => dispatch => {\r\n dispatch(shallowResultsCurrentFolderLoading());\r\n return getFolder(data).then(response => dispatch(shallowResultsCurrentFolderLoaded(response)));\r\n};\r\n\r\nexport const getDocumentResults = data => dispatch => {\r\n dispatch(shallowSearchResultsDocumentsLoading());\r\n\r\n if (data.assigneeUserId) {\r\n return getSearchResultsDocumentsByAssignee(data).then(res =>\r\n dispatch(shallowSearchResultsDocumentsLoaded(res.data))\r\n );\r\n } else {\r\n return getSearchResultsDocuments(data).then(res => dispatch(shallowSearchResultsDocumentsLoaded(res.data)));\r\n }\r\n};\r\n\r\nexport const getFolderResults = data => dispatch => {\r\n dispatch(shallowSearchResultsFoldersLoading());\r\n return getSearchResultsFolders(data).then(res => dispatch(shallowSearchResultsFoldersLoaded(res.data)));\r\n};\r\n\r\nexport const getAdvancedSearchResults = data => dispatch => {\r\n dispatch(advancedResultsLoading());\r\n return createAdvancedSearch(data).then(res => dispatch(advancedResultsLoaded(res)));\r\n};\r\n\r\nexport const clearResultsData = data => dispatch => {\r\n dispatch(searchResultsClear());\r\n};\r\n\r\nexport const resultsInvalidate = () => dispatch => {\r\n dispatch(searchResultsInvalidate());\r\n};\r\n\r\nexport const INITIAL_STATE = new SearchResults();\r\n\r\nexport default createReducer(INITIAL_STATE, {\r\n [ACTIONS.SHALLOW_RESULTS_CURRENT_FOLDER_LOADING]: (state, action) => {\r\n return state.setLoading(state, action.payload);\r\n },\r\n\r\n [ACTIONS.SHALLOW_RESULTS_CURRENT_FOLDER_LOADED]: (state, action) => {\r\n return state.setCurrentFolderLoaded(state, action.payload);\r\n },\r\n\r\n [ACTIONS.SHALLOW_RESULTS_DOCUMENTS_LOADING]: (state, action) => {\r\n return state.setLoading(state, action.payload);\r\n },\r\n\r\n [ACTIONS.SHALLOW_RESULTS_DOCUMENTS_LOADED]: (state, action) => {\r\n return state.setDocumentsLoaded(state, action.payload);\r\n },\r\n\r\n [ACTIONS.SHALLOW_RESULTS_FOLDERS_LOADING]: (state, action) => {\r\n return state.setLoading(state, action.payload);\r\n },\r\n\r\n [ACTIONS.SHALLOW_RESULTS_FOLDERS_LOADED]: (state, action) => {\r\n return state.setFoldersLoaded(state, action.payload);\r\n },\r\n\r\n [ACTIONS.GLOBAL_SEARCH_LOADING]: (state, action) => {\r\n return state.setLoading(state, action.payload);\r\n },\r\n\r\n [ACTIONS.GLOBAL_SEARCH_LOADED]: (state, action) => {\r\n return state.setGlobalLoaded(state, action.payload);\r\n },\r\n\r\n [ACTIONS.ADVANCED_RESULTS_LOADING]: (state, action) => {\r\n return state.setLoading(state, action.payload);\r\n },\r\n\r\n [ACTIONS.ADVANCED_RESULTS_LOADED]: (state, action) => {\r\n return state.setAdvancedLoaded(state, action.payload);\r\n },\r\n\r\n [ACTIONS.SEARCH_RESULTS_CLEAR]: (state, action) => {\r\n return INITIAL_STATE;\r\n },\r\n\r\n [ACTIONS.SEARCH_RESULTS_INVALIDATE]: (state, action) => {\r\n return state.invalidate();\r\n }\r\n});\r\n","import { createAction, createReducer } from 'utils/redux-utils';\r\n\r\nimport { ACTIONS as CURRENT_FOLDER_ACTIONS } from 'store/current-folder';\r\nimport { ACTIONS as SEARCH_FOLDER_ACTIONS } from 'store/search/search-results';\r\n\r\nexport const ACTIONS = {\r\n FILE_BROWSER_SELECT_ITEM: 'argus/ui/FILE_BROWSER_SELECT_ITEM',\r\n FILE_BROWSER_DESELECT_ITEM: 'argus/ui/FILE_BROWSER_DESELECT_ITEM',\r\n FILE_BROWSER_SELECT_ALL_ITEMS: 'argus/ui/FILE_BROWSER_SELECT_ALL_ITEMS',\r\n FILE_BROWSER_DESELECT_ALL_ITEMS: 'argus/ui/FILE_BROWSER_DESELECT_ALL_ITEMS',\r\n FILE_BROWSER_MOUSE_DOWN_ITEM: 'argus/ui/FILE_BROWSER_MOUSE_DOWN_ITEM'\r\n};\r\n\r\nexport const fileBrowserSelectItem = createAction(ACTIONS.FILE_BROWSER_SELECT_ITEM);\r\nexport const fileBrowserDeselectItem = createAction(ACTIONS.FILE_BROWSER_DESELECT_ITEM);\r\nexport const fileBrowserSelectAllItems = createAction(ACTIONS.FILE_BROWSER_SELECT_ALL_ITEMS);\r\nexport const fileBrowserDeselectAllItems = createAction(ACTIONS.FILE_BROWSER_DESELECT_ALL_ITEMS);\r\nexport const fileBrowserMouseDownItem = createAction(ACTIONS.FILE_BROWSER_MOUSE_DOWN_ITEM);\r\n\r\n/*\r\n * Reducer\r\n */\r\nexport const INITIAL_STATE = {};\r\n\r\nexport default createReducer(INITIAL_STATE, {\r\n [CURRENT_FOLDER_ACTIONS.CURRENT_FOLDER_LOADED]: (state, action) => {\r\n return action.payload.data.children.reduce((selectedItems, item) => {\r\n selectedItems[item.projectItemId] = state[item.projectItemId] || false;\r\n return selectedItems;\r\n }, {});\r\n },\r\n\r\n // When an item is deleted it must be removed from the set of selected items\r\n [CURRENT_FOLDER_ACTIONS.ITEMS_DELETED]: (state, action) => {\r\n const updatedState = {\r\n ...state\r\n };\r\n\r\n const getId = deletedItem => (deletedItem.projectItemId ? deletedItem.projectItemId : deletedItem.folderId);\r\n\r\n action.payload.forEach(deletedItem => {\r\n delete updatedState[getId(deletedItem)];\r\n });\r\n\r\n return updatedState;\r\n },\r\n\r\n [SEARCH_FOLDER_ACTIONS.SHALLOW_RESULTS_DOCUMENTS_LOADED]: (state, action) => {\r\n return action.payload.data.reduce((selectedItems, item) => {\r\n selectedItems[item.projectItemId] = state[item.projectItemId] || false;\r\n return selectedItems;\r\n }, {});\r\n },\r\n\r\n [SEARCH_FOLDER_ACTIONS.SHALLOW_RESULTS_FOLDERS_LOADED]: (state, action) => {\r\n return action.payload.data.reduce((selectedItems, item) => {\r\n selectedItems[item.projectItemId] = state[item.projectItemId] || false;\r\n return selectedItems;\r\n }, {});\r\n },\r\n\r\n [SEARCH_FOLDER_ACTIONS.SHALLOW_RESULTS_CURRENT_FOLDER_LOADED]: (state, action) => {\r\n return action.payload.data.children.reduce((selectedItems, item) => {\r\n selectedItems[item.projectItemId] = state[item.projectItemId] || false;\r\n return selectedItems;\r\n }, {});\r\n },\r\n\r\n [SEARCH_FOLDER_ACTIONS.ADVANCED_RESULTS_LOADED]: (state, action) => {\r\n return action.payload.data.reduce((selectedItems, item) => {\r\n selectedItems[item.projectItemId] = state[item.projectItemId] || false;\r\n return selectedItems;\r\n }, {});\r\n },\r\n\r\n // Logic for mousedown of a row of the file browser\r\n // If the row is already selected do nothing\r\n // If the row is not yet selected, it becomes the only row selected\r\n [ACTIONS.FILE_BROWSER_MOUSE_DOWN_ITEM]: (state, action) => {\r\n if (state[action.payload]) {\r\n return state;\r\n }\r\n\r\n const updatedState = Object.keys(state).reduce((selectedItems, id) => {\r\n selectedItems[id] = false;\r\n return selectedItems;\r\n }, {});\r\n\r\n updatedState[action.payload] = true;\r\n\r\n return updatedState;\r\n },\r\n\r\n [ACTIONS.FILE_BROWSER_SELECT_ITEM]: (state, action) => {\r\n return {\r\n ...state,\r\n [action.payload]: true\r\n };\r\n },\r\n\r\n [ACTIONS.FILE_BROWSER_DESELECT_ITEM]: (state, action) => {\r\n return {\r\n ...state,\r\n [action.payload]: false\r\n };\r\n },\r\n\r\n [ACTIONS.FILE_BROWSER_SELECT_ALL_ITEMS]: (state, action) => {\r\n return Object.keys(action.payload ? action.payload : state).reduce((selectedItems, id) => {\r\n selectedItems[id] = true;\r\n return selectedItems;\r\n }, {});\r\n },\r\n\r\n [ACTIONS.FILE_BROWSER_DESELECT_ALL_ITEMS]: (state, action) => {\r\n return Object.keys(state).reduce((selectedItems, id) => {\r\n selectedItems[id] = false;\r\n return selectedItems;\r\n }, {});\r\n }\r\n});\r\n","import { createAction, createReducer } from 'utils/redux-utils';\r\n\r\nexport const ACTIONS = {\r\n ADD_OPTION_TO_TOOLBAR: 'argus/ui/ADD_OPTION_TO_TOOLBAR'\r\n};\r\n\r\nexport const addOptionToToolbar = createAction(ACTIONS.ADD_OPTION_TO_TOOLBAR);\r\n\r\nconst getCachedOptions = () => {\r\n const cachedOptions = JSON.parse(sessionStorage.getItem('fileBrowserToolbarOptions'));\r\n if (\r\n cachedOptions &&\r\n Array.isArray(cachedOptions.quickOptions) &&\r\n Array.isArray(cachedOptions.kebabOptions) &&\r\n Array.isArray(cachedOptions.staticOptions)\r\n ) {\r\n return cachedOptions;\r\n } else {\r\n throw new Error('Invalid data from session storage');\r\n }\r\n};\r\n\r\nexport const TOOLBAR_OPTIONS = {\r\n ASSIGN: 'ASSIGN',\r\n REVIEW: 'REVIEW',\r\n COMPARE: 'COMPARE',\r\n CREATE_FOLDER: 'CREATE_FOLDER',\r\n CREATE_WORKFLOW: 'CREATE_WORKFLOW',\r\n DELETE: 'DELETE',\r\n EXPORT: 'EXPORT',\r\n MOVE: 'MOVE',\r\n REPROCESS: 'REPROCESS',\r\n TAG: 'TAG',\r\n // TEMPLATES: 'TEMPLATES',\r\n TEMPLATE_CURRENT_FOLDER_LABEL: 'TEMPLATE_CURRENT_FOLDER_LABEL',\r\n TEMPLATE_CURRENT_FOLDER_DESCRIPTION: 'TEMPLATE_CURRENT_FOLDER_DESCRIPTION',\r\n EDIT_CURRENT_FOLDER_TEMPLATE: 'EDIT_CURRENT_FOLDER_TEMPLATE'\r\n};\r\n\r\nexport const TOOLBAR_LABELS = {\r\n [TOOLBAR_OPTIONS.ASSIGN]: 'file-browser.toolbar.assign-button',\r\n [TOOLBAR_OPTIONS.COMPARE]: 'file-browser.toolbar.compare-button',\r\n [TOOLBAR_OPTIONS.CREATE_FOLDER]: 'file-browser.toolbar.create-folder-button',\r\n [TOOLBAR_OPTIONS.CREATE_WORKFLOW]: 'file-browser.toolbar.create-workflow-button',\r\n [TOOLBAR_OPTIONS.DELETE]: 'file-browser.toolbar.delete-option',\r\n [TOOLBAR_OPTIONS.EXPORT]: 'file-browser.toolbar.export-option',\r\n [TOOLBAR_OPTIONS.MOVE]: 'file-browser.toolbar.move-option',\r\n [TOOLBAR_OPTIONS.REPROCESS]: 'file-browser.toolbar.reprocess-option',\r\n [TOOLBAR_OPTIONS.REVIEW]: 'file-browser.toolbar.finalize-option',\r\n [TOOLBAR_OPTIONS.TAG]: 'file-browser.toolbar.tags-option',\r\n // [TOOLBAR_OPTIONS.TEMPLATES]: 'file-browser.toolbar.templates-option',\r\n [TOOLBAR_OPTIONS.TEMPLATE_CURRENT_FOLDER_LABEL]: 'file-browser.toolbar.template-current-folder.label',\r\n [TOOLBAR_OPTIONS.TEMPLATE_CURRENT_FOLDER_DESCRIPTION]: 'file-browser.toolbar.template-current-folder.description'\r\n};\r\n\r\nexport const TOOLBAR_ICONS = {\r\n [TOOLBAR_OPTIONS.ASSIGN]: 'assign',\r\n [TOOLBAR_OPTIONS.DELETE]: 'bin',\r\n [TOOLBAR_OPTIONS.EXPORT]: 'export',\r\n [TOOLBAR_OPTIONS.MOVE]: 'move',\r\n [TOOLBAR_OPTIONS.REPROCESS]: 'reprocess',\r\n [TOOLBAR_OPTIONS.REVIEW]: 'review',\r\n [TOOLBAR_OPTIONS.TAG]: 'tag',\r\n // [TOOLBAR_OPTIONS.TEMPLATES]: 'template',\r\n [TOOLBAR_OPTIONS.EDIT_CURRENT_FOLDER_TEMPLATE]: 'edit'\r\n};\r\n\r\n/*\r\n * Reducer\r\n */\r\nexport const DEFAULT_INITIAL_STATE = {\r\n // Quick options are visible when a file or folder is selected\r\n quickOptions: ['DELETE'],\r\n // Kebab options are visible in the dropdown menu when a file or folder is selected\r\n kebabOptions: ['ASSIGN', 'TAG', 'REPROCESS', 'MOVE', 'REVIEW'],\r\n // Static options are always visible\r\n staticOptions: ['EXPORT']\r\n};\r\n\r\n//Lazily create the reducer so that unit tests can prefill sessionStorage with the initial state\r\nexport default function() {\r\n let state;\r\n\r\n try {\r\n state = getCachedOptions() || DEFAULT_INITIAL_STATE;\r\n } catch (e) {\r\n state = DEFAULT_INITIAL_STATE;\r\n }\r\n\r\n return createReducer(state, {\r\n [ACTIONS.ADD_OPTION_TO_TOOLBAR]: (state, action) => {\r\n if (state.kebabOptions.includes(action.payload)) {\r\n return {\r\n quickOptions: [action.payload, ...state.quickOptions],\r\n kebabOptions: state.kebabOptions.filter(o => o !== action.payload),\r\n staticOptions: state.staticOptions\r\n };\r\n } else {\r\n return state;\r\n }\r\n }\r\n });\r\n}\r\n\r\nexport function persistFileBrowserToolbarOptions({ ui: { fileBrowserToolbarOptions } }) {\r\n sessionStorage.setItem('fileBrowserToolbarOptions', JSON.stringify(fileBrowserToolbarOptions));\r\n}\r\n","import { createAction, createReducer } from 'utils/redux-utils';\r\n\r\nexport const ACTIONS = {\r\n SET_LOCALE: 'argus/ui/SET_LOCALE'\r\n};\r\n\r\nexport const setLocale = createAction(ACTIONS.SET_LOCALE);\r\n\r\n/*\r\n * Reducer\r\n */\r\nexport const INITIAL_STATE = 'en';\r\n\r\nexport default createReducer(INITIAL_STATE, {\r\n [ACTIONS.SET_LOCALE]: (state, action) => {\r\n return action.payload;\r\n }\r\n});\r\n","var randomUUID = typeof crypto !== 'undefined' && crypto.randomUUID && crypto.randomUUID.bind(crypto);\nexport default {\n randomUUID\n};","// Unique ID creation requires a high quality random # generator. In the browser we therefore\n// require the crypto API and do not support built-in fallback to lower quality random number\n// generators (like Math.random()).\n\nvar getRandomValues;\nvar rnds8 = new Uint8Array(16);\nexport default function rng() {\n // lazy load so that environments that need to polyfill have a chance to do so\n if (!getRandomValues) {\n // getRandomValues needs to be invoked in a context where \"this\" is a Crypto implementation.\n getRandomValues = typeof crypto !== 'undefined' && crypto.getRandomValues && crypto.getRandomValues.bind(crypto);\n if (!getRandomValues) {\n throw new Error('crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported');\n }\n }\n return getRandomValues(rnds8);\n}","import validate from './validate.js';\n\n/**\n * Convert array of 16 byte values to UUID string format of the form:\n * XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX\n */\nvar byteToHex = [];\nfor (var i = 0; i < 256; ++i) {\n byteToHex.push((i + 0x100).toString(16).slice(1));\n}\nexport function unsafeStringify(arr, offset = 0) {\n // Note: Be careful editing this code! It's been tuned for performance\n // and works in ways you may not expect. See https://github.com/uuidjs/uuid/pull/434\n //\n // Note to future-self: No, you can't remove the `toLowerCase()` call.\n // REF: https://github.com/uuidjs/uuid/pull/677#issuecomment-1757351351\n return (byteToHex[arr[offset + 0]] + byteToHex[arr[offset + 1]] + byteToHex[arr[offset + 2]] + byteToHex[arr[offset + 3]] + '-' + byteToHex[arr[offset + 4]] + byteToHex[arr[offset + 5]] + '-' + byteToHex[arr[offset + 6]] + byteToHex[arr[offset + 7]] + '-' + byteToHex[arr[offset + 8]] + byteToHex[arr[offset + 9]] + '-' + byteToHex[arr[offset + 10]] + byteToHex[arr[offset + 11]] + byteToHex[arr[offset + 12]] + byteToHex[arr[offset + 13]] + byteToHex[arr[offset + 14]] + byteToHex[arr[offset + 15]]).toLowerCase();\n}\nfunction stringify(arr, offset = 0) {\n var uuid = unsafeStringify(arr, offset);\n // Consistency check for valid UUID. If this throws, it's likely due to one\n // of the following:\n // - One or more input array values don't map to a hex octet (leading to\n // \"undefined\" in the uuid)\n // - Invalid input values for the RFC `version` or `variant` fields\n if (!validate(uuid)) {\n throw TypeError('Stringified UUID is invalid');\n }\n return uuid;\n}\nexport default stringify;","import native from './native.js';\nimport rng from './rng.js';\nimport { unsafeStringify } from './stringify.js';\nfunction v4(options, buf, offset) {\n if (native.randomUUID && !buf && !options) {\n return native.randomUUID();\n }\n options = options || {};\n var rnds = options.random || (options.rng || rng)();\n\n // Per 4.4, set bits for version and `clock_seq_hi_and_reserved`\n rnds[6] = rnds[6] & 0x0f | 0x40;\n rnds[8] = rnds[8] & 0x3f | 0x80;\n\n // Copy bytes to buffer, if provided\n if (buf) {\n offset = offset || 0;\n for (var i = 0; i < 16; ++i) {\n buf[offset + i] = rnds[i];\n }\n return buf;\n }\n return unsafeStringify(rnds);\n}\nexport default v4;","import translationKeys from 'containers/intl/messages/ui-errors.json';\r\n\r\nexport const ERROR_CODES = {\r\n DEFAULT_USER_PREFERENCES: 'Default.User.Preferences',\r\n DOCUMENT_INVALID: 'Document.Invalid',\r\n DOCUMENT_TYPE_INVALID: 'Document.Type.Invalid',\r\n DOCUMENT_NAME_DUPLICATE: 'Document.Name.Duplicate',\r\n ERROR_UNEXPECTED: 'Error.Unexpected',\r\n ERROR_PAUSED_PROCESSING: 'Error.ReprocessingDisabled',\r\n FILE_FORMAT_NOT_SUPPORTED: 'File.Format.Not.Supported',\r\n FILE_NOT_FOUND: 'File.Not.Found',\r\n FOLDER_DUPLICATE: 'Folder.Duplicate',\r\n FOLDER_NAME_DUPLICATE: 'Folder.Name.Duplicate',\r\n FOLDERFILE_NAME_INVALID: 'FolderFile.Name.Invalid',\r\n INPUT_INVALID: 'Input.Invalid',\r\n INVALID_NAME: 'Invalid.Name',\r\n INVALID_ROLE: 'Invalid.Role',\r\n MAX_SIZE_EXCEEDED: 'Max.Size.Exceeded',\r\n NO_RECORDS_FOUND: 'No.Records.Found',\r\n NOT_FOUND_ERROR: 'Not.Found.Error',\r\n PROJECT_DUPLICATENAME: 'Project.DuplicateName',\r\n PROJECT_INVALID: 'Project.Invalid',\r\n TAG_INVALID: 'Tag.Invalid',\r\n TEMPLATE_INVALID: 'Template.Invalid',\r\n UNAUTHORIZED: 'Unauthorized',\r\n USER_TYPE_INVALID: 'User.Type.Invalid',\r\n XF_INVALID: 'Xf.Invalid',\r\n XFGROUP_INVALID: 'XfGroup.Invalid',\r\n XFGROUP_NAME_DUPLICATE: 'ExtractionFieldGroup.Name.Duplicate',\r\n XFGROUP_NOTFOUND: 'XfGroup.NotFound',\r\n DOCUMENT_INFECTED: 'Document.Infected'\r\n};\r\n\r\n// These errors are handled at the component level rather than globally, so don't show a global notification for them\r\nexport const NON_GLOBAL_ERRORS = [\r\n ERROR_CODES.ERROR_PAUSED_PROCESSING,\r\n ERROR_CODES.FOLDER_DUPLICATE,\r\n ERROR_CODES.DOCUMENT_NAME_DUPLICATE,\r\n ERROR_CODES.FOLDER_NAME_DUPLICATE,\r\n ERROR_CODES.PROJECT_DUPLICATENAME,\r\n ERROR_CODES.PROJECT_INVALID,\r\n ERROR_CODES.INPUT_INVALID\r\n];\r\n\r\n// Takes a standard API error response and returns the messages\r\nexport const getMessages = error =>\r\n (error && error.response && error.response.data && error.response.data.messages) || [];\r\n\r\n// Takes a standard API error response and returns true if the response contains an given error code\r\nexport const hasError = (error, errorCode) => {\r\n const messages = getMessages(error);\r\n if (messages) {\r\n return messages.find(message => message.code === errorCode);\r\n }\r\n\r\n return false;\r\n};\r\n\r\n// Takes a standard API error response and returns true if the message list has a global error\r\nexport const hasGlobalError = error => {\r\n const messages = getMessages(error);\r\n return messages.some(message => !NON_GLOBAL_ERRORS.includes(message.code));\r\n};\r\n\r\n// Takes a standard API error response and returns a list of i18n keys for all the error messages\r\nexport const getErrorIntlKeys = error => {\r\n const messages = getMessages(error);\r\n if (messages) {\r\n return messages.map(message => getIntlKeyForCode(message.code)).filter(key => key);\r\n }\r\n\r\n return [];\r\n};\r\n\r\n// Takes a standard API error response and returns a list of i18n keys for the global errors\r\nexport const getGlobalErrorIntlKeys = error => {\r\n const messages = getMessages(error);\r\n if (messages) {\r\n return messages\r\n .filter(message => !NON_GLOBAL_ERRORS.includes(message.code))\r\n .map(message => getIntlKeyForCode(message.code))\r\n .filter(key => key);\r\n }\r\n\r\n return [];\r\n};\r\n\r\nexport const getIntlKeyForCode = errorCode => {\r\n return (errorCode && translationKeys['global.error.' + errorCode] && `global.error.${errorCode}`) || null;\r\n};\r\n","import { LOCATION_CHANGE } from 'connected-react-router';\r\nimport { v4 as uuidv4 } from 'uuid';\r\nimport { createAction, createReducer } from 'utils/redux-utils';\r\nimport { eventTarget as apiEventTarget } from 'store/api';\r\nimport { getGlobalErrorIntlKeys, hasGlobalError } from 'utils/errors';\r\n\r\nexport const ACTIONS = {\r\n NOTIFICATION_ADD: 'argus/ui/NOTIFICATION_ADD',\r\n NOTIFICATION_DELETE: 'argus/ui/NOTIFICATION_DELETE',\r\n NOTIFICATION_CLEAR: 'argus/ui/NOTIFICATION_CLEAR'\r\n};\r\n\r\nexport const _addNotification = createAction(ACTIONS.NOTIFICATION_ADD);\r\nexport const deleteNotification = createAction(ACTIONS.NOTIFICATION_DELETE);\r\nexport const clearNotification = createAction(ACTIONS.NOTIFICATION_CLEAR);\r\n\r\nexport const addNotification = notification => dispatch => {\r\n const _notification = {\r\n id: uuidv4(),\r\n ...notification\r\n };\r\n dispatch(_addNotification(_notification));\r\n if (_notification.autohide) {\r\n //Check for autohide parameter (notification lifespan in seconds)\r\n setTimeout(() => dispatch(deleteNotification(_notification)), _notification.autohide * 1000);\r\n }\r\n};\r\n\r\nexport const { subscribeToGlobalErrors, unSubscribeToGlobalErrors } = (() => {\r\n let handleError = null;\r\n\r\n const subscribeToGlobalErrors = () => dispatch => {\r\n handleError = event => {\r\n const error = event.detail;\r\n\r\n if (!hasGlobalError(error)) {\r\n return;\r\n }\r\n\r\n const errorIntlKeys = getGlobalErrorIntlKeys(error);\r\n\r\n if (errorIntlKeys.length) {\r\n errorIntlKeys.forEach(intlKey => {\r\n dispatch(\r\n addNotification({\r\n intlKey,\r\n clearOnPageChange: true\r\n })\r\n );\r\n });\r\n } else {\r\n dispatch(\r\n addNotification({\r\n intlKey: 'global.error.default',\r\n intlProps: { status: error.response.status, statusText: error.response.statusText },\r\n clearOnPageChange: true\r\n })\r\n );\r\n }\r\n };\r\n\r\n apiEventTarget.addEventListener('error', handleError);\r\n };\r\n\r\n const unSubscribeToGlobalErrors = () => dispatch => {\r\n apiEventTarget.removeEventListener('error', handleError);\r\n };\r\n\r\n return {\r\n subscribeToGlobalErrors,\r\n unSubscribeToGlobalErrors\r\n };\r\n})();\r\n\r\n/*\r\n * Reducer\r\n */\r\nexport const INITIAL_STATE = [];\r\n\r\nexport default createReducer(INITIAL_STATE, {\r\n [ACTIONS.NOTIFICATION_ADD]: (state, action) => {\r\n return [...state, { ...action.payload }];\r\n },\r\n\r\n [ACTIONS.NOTIFICATION_DELETE]: (state, action) => {\r\n return state.filter(notification => notification.id !== action.payload.id);\r\n },\r\n\r\n [ACTIONS.NOTIFICATION_CLEAR]: (state, action) => {\r\n return INITIAL_STATE;\r\n },\r\n\r\n [LOCATION_CHANGE]: (state, action) => {\r\n return state.filter(notification => !notification.clearOnPageChange);\r\n }\r\n});\r\n","import { createAction, createReducer } from 'utils/redux-utils';\r\nimport { getAboutInfo } from 'store/api';\r\n\r\n// About argus links, ie privacy, terms of use, etc...\r\nexport const ACTIONS = {\r\n ABOUT_ARGUS_LOADING: 'argus/ui/ABOUT_ARGUS_LOADING',\r\n ABOUT_ARGUS_LOADED: 'argus/ui/ABOUT_ARGUS_LOADED',\r\n ABOUT_ARGUS_ERROR: 'argus/ui/ABOUT_ARGUS_ERROR'\r\n};\r\n\r\nexport const aboutArgusLoading = createAction(ACTIONS.ABOUT_ARGUS_LOADING);\r\nexport const aboutArgusLoaded = createAction(ACTIONS.ABOUT_ARGUS_LOADED);\r\nexport const aboutArgusError = createAction(ACTIONS.ABOUT_ARGUS_ERROR);\r\n\r\nexport const loadAboutInfo = () => dispatch => {\r\n dispatch(aboutArgusLoading());\r\n return getAboutInfo()\r\n .then(res => {\r\n dispatch(aboutArgusLoaded(res));\r\n })\r\n .catch(err => {\r\n dispatch(aboutArgusError(err));\r\n });\r\n};\r\n\r\n/*\r\n * Reducer\r\n */\r\nexport const INITIAL_STATE = {\r\n isLoading: false,\r\n isLoaded: false\r\n};\r\n\r\nexport default createReducer(INITIAL_STATE, {\r\n [ACTIONS.ABOUT_ARGUS_LOADING]: (state, action) => {\r\n return {\r\n isLoading: true,\r\n isLoaded: false\r\n };\r\n },\r\n\r\n [ACTIONS.ABOUT_ARGUS_LOADED]: (state, action) => {\r\n return {\r\n isLoading: false,\r\n isLoaded: true,\r\n data: action.payload.data\r\n };\r\n },\r\n\r\n [ACTIONS.ABOUT_ARGUS_ERROR]: (state, action) => {\r\n return {\r\n isLoading: false,\r\n isLoaded: false,\r\n error: action.payload\r\n };\r\n }\r\n});\r\n","import { createAction, createReducer } from 'utils/redux-utils';\r\nimport { getMaintenanceBannerMessages } from 'store/api';\r\n\r\nexport const ACTIONS = {\r\n MAINTENANCE_BANNERMESSAGES_LOADING: 'argus/ui/MAINTENANCE_BANNERMESSAGES_LOADING',\r\n MAINTENANCE_BANNERMESSAGES_LOADED: 'argus/ui/MAINTENANCE_BANNERMESSAGES_LOADED',\r\n MAINTENANCE_BANNERMESSAGES_ERROR: 'argus/ui/MAINTENANCE_BANNERMESSAGES_ERROR'\r\n};\r\n\r\nexport const maintenanaceBannerMessageLoading = createAction(ACTIONS.MAINTENANCE_BANNERMESSAGES_LOADING);\r\nexport const maintenanaceBannerMessageLoaded = createAction(ACTIONS.MAINTENANCE_BANNERMESSAGES_LOADED);\r\nexport const maintenanaceBannerMessageError = createAction(ACTIONS.MAINTENANCE_BANNERMESSAGES_ERROR);\r\n\r\nexport const loadMaintenanceBannerMessage = () => dispatch => {\r\n dispatch(maintenanaceBannerMessageLoading());\r\n return getMaintenanceBannerMessages()\r\n .then(res => {\r\n dispatch(maintenanaceBannerMessageLoaded(res));\r\n })\r\n .catch(err => {\r\n dispatch(maintenanaceBannerMessageError(err));\r\n });\r\n};\r\n\r\n/*\r\n * Reducer\r\n */\r\nexport const INITIAL_STATE = {\r\n isLoading: false,\r\n isLoaded: false\r\n};\r\n\r\nexport default createReducer(INITIAL_STATE, {\r\n [ACTIONS.MAINTENANCE_BANNERMESSAGES_LOADING]: (state, action) => {\r\n return {\r\n isLoading: true,\r\n isLoaded: false\r\n };\r\n },\r\n\r\n [ACTIONS.MAINTENANCE_BANNERMESSAGES_LOADED]: (state, action) => {\r\n return {\r\n isLoading: false,\r\n isLoaded: true,\r\n data: action.payload.data\r\n };\r\n },\r\n\r\n [ACTIONS.MAINTENANCE_BANNERMESSAGES_ERROR]: (state, action) => {\r\n return {\r\n isLoading: false,\r\n isLoaded: false,\r\n error: action.payload\r\n };\r\n }\r\n});\r\n","import model from 'models/base-model';\r\nimport dateUtil from 'utils/dateUtil';\r\nimport { isNumeric } from 'utils/number-utils';\r\n\r\nexport const COMPARISON_STATUSES = {\r\n INITIATED: 1,\r\n IN_PROGRESS: 2,\r\n AGGREGATING: 3,\r\n COMPLETED: 4,\r\n DELETED: 5,\r\n REPROCRESS: 6,\r\n ERROR: 7\r\n};\r\n\r\nexport class ComparisonSets extends model({\r\n isLoading: false,\r\n error: null,\r\n comparisons: null,\r\n pagination: null\r\n}) {\r\n setLoading() {\r\n return this.merge({\r\n isLoading: true,\r\n error: null,\r\n pagination: null\r\n });\r\n }\r\n\r\n setError(error) {\r\n return this.merge({\r\n isLoading: false,\r\n error: error,\r\n comparisons: null,\r\n pagination: null\r\n });\r\n }\r\n\r\n setLoaded(response) {\r\n return ComparisonSets.fromData(response);\r\n }\r\n\r\n updateComparison(updatedComparison) {\r\n if (!this.comparisons) {\r\n return this;\r\n }\r\n\r\n const comparisons = this.comparisons.map(comparison => {\r\n return comparison.comparisonId === updatedComparison.comparisonId\r\n ? comparison.merge({\r\n comparisonStateId: updatedComparison.comparisonStateId,\r\n totalEntities: isNumeric(updatedComparison.totalEntities)\r\n ? updatedComparison.totalEntities\r\n : comparison.totalEntities\r\n })\r\n : comparison;\r\n });\r\n\r\n return this.merge({\r\n comparisons\r\n });\r\n }\r\n\r\n deleteComparison(deletedComparison) {\r\n if (!this.comparisons) {\r\n return this;\r\n }\r\n\r\n const comparisons = this.comparisons.filter(\r\n comparison => comparison.comparisonId !== deletedComparison.comparisonId\r\n );\r\n return this.merge({\r\n comparisons\r\n });\r\n }\r\n\r\n static fromData(response) {\r\n return new ComparisonSets({\r\n isLoading: false,\r\n error: null,\r\n pageInfo: response.pageInfo,\r\n comparisons: response.data.map(data => ComparisonSet.fromData(data))\r\n });\r\n }\r\n}\r\n\r\nexport class ComparisonSet extends model({\r\n isLoading: false,\r\n error: null,\r\n baseEntity: null,\r\n baseEntityId: null,\r\n comparisonName: null,\r\n comparisonStateId: null,\r\n completedDate: null,\r\n createdBy: null,\r\n createdDate: null,\r\n comparisonDetails: null,\r\n comparisonId: null,\r\n lastUpdatedBy: null,\r\n lastUpdatedDate: null,\r\n projectId: null,\r\n startedDate: null,\r\n totalEntities: null\r\n}) {\r\n setLoading() {\r\n return this.merge({\r\n isLoading: true,\r\n error: null\r\n });\r\n }\r\n\r\n setError(error) {\r\n return this.merge({\r\n isLoading: false,\r\n error: error,\r\n comparisons: null\r\n });\r\n }\r\n\r\n setLoaded(model) {\r\n return ComparisonSet.fromData(model);\r\n }\r\n\r\n static fromData(model) {\r\n return new ComparisonSet({\r\n ...model,\r\n isLoading: false,\r\n error: null,\r\n baseDocument: model.baseDocument,\r\n completedDate: dateUtil.fromServerDate(model.completedDate),\r\n createdDate: dateUtil.fromServerDate(model.createdDate),\r\n lastUpdatedDate: dateUtil.fromServerDate(model.lastUpdatedDate),\r\n startedDate: dateUtil.fromServerDate(model.startedDate)\r\n });\r\n }\r\n}\r\n","import { createAction, createReducer } from 'utils/redux-utils';\r\n\r\nimport * as api from 'store/api';\r\nimport { ComparisonSet } from 'models/comparison-sets';\r\n\r\nexport const ACTIONS = {\r\n ACTIVE_COMPARISON_SET_LOADING: 'argus/ui/ACTIVE_COMPARISON_SET_LOADING',\r\n ACTIVE_COMPARISON_SET_LOADED: 'argus/ui/ACTIVE_COMPARISON_SET_LOADED',\r\n ACTIVE_COMPARISON_SET_ERROR: 'argus/ui/ACTIVE_COMPARISON_SET_ERROR'\r\n};\r\n\r\nexport const activeComparisonSetLoading = createAction(ACTIONS.ACTIVE_COMPARISON_SET_LOADING);\r\nexport const activeComparisonSetLoaded = createAction(ACTIONS.ACTIVE_COMPARISON_SET_LOADED);\r\nexport const activeComparisonSetError = createAction(ACTIONS.ACTIVE_COMPARISON_SET_ERROR);\r\n\r\nexport const loadActiveComparisonSet = ({ projectId, compareId, compareType }) => dispatch => {\r\n dispatch(activeComparisonSetLoading());\r\n return Promise.all([\r\n api.getComparisonSetDetails({ projectId, compareId, compareType }),\r\n api.getComparisonBaseDocument({ projectId, compareId, compareType }),\r\n api.getComparisonSummary({ projectId, compareId, compareType })\r\n ])\r\n .then(([comparisonResponse, baseDocumentResponse, comparisonSummary]) =>\r\n enhanceComparisonSummary({\r\n comparison: comparisonResponse.data,\r\n baseDocument: baseDocumentResponse.data,\r\n comparisonSummary: comparisonSummary.data\r\n })\r\n )\r\n .then(response => dispatch(activeComparisonSetLoaded(response)))\r\n .catch(err => {\r\n dispatch(activeComparisonSetError({ err }));\r\n });\r\n};\r\n\r\nconst enhanceComparisonSummary = response => {\r\n const { comparison, baseDocument, comparisonSummary } = response;\r\n\r\n if (\r\n !baseDocument ||\r\n !Array.isArray(baseDocument) ||\r\n !comparison ||\r\n !comparison.comparisonDetails ||\r\n !comparison.comparisonDetails.length\r\n ) {\r\n return response;\r\n }\r\n\r\n const enhancedComparisonSummary = comparison.comparisonDetails.map(currentDocument => {\r\n const { compareEntity } = currentDocument;\r\n\r\n let currentSummary = comparisonSummary.find(filt => filt.projectItemId === compareEntity.projectItemId);\r\n\r\n return {\r\n documentId: compareEntity.projectItemId,\r\n documentName: compareEntity.itemName,\r\n projectItemId: compareEntity.projectItemId,\r\n\r\n adds: currentSummary ? currentSummary.adds : null,\r\n deletes: currentSummary ? currentSummary.deletes : null,\r\n edits: currentSummary ? currentSummary.edits : null,\r\n documentChanges: currentSummary ? currentSummary.documentChanges : null,\r\n totalChanges: currentSummary ? currentSummary.documentChanges : null\r\n };\r\n });\r\n\r\n return { ...response, comparisonSummary: enhancedComparisonSummary };\r\n};\r\n\r\n/*\r\n * Reducer\r\n */\r\nexport const INITIAL_STATE = new ComparisonSet();\r\n\r\nexport default createReducer(INITIAL_STATE, {\r\n [ACTIONS.ACTIVE_COMPARISON_SET_LOADING]: (state, action) => {\r\n return state.setLoading();\r\n },\r\n\r\n [ACTIONS.ACTIVE_COMPARISON_SET_LOADED]: (state, action) => {\r\n return state.setLoaded(action.payload);\r\n },\r\n\r\n [ACTIONS.ACTIVE_COMPARISON_SET_ERROR]: (state, action) => {\r\n return state.setError(action.payload.err);\r\n }\r\n});\r\n","import { createAction, createReducer } from 'utils/redux-utils';\r\n\r\nimport { ACTIONS as PROJECT_ACTIONS } from 'store/current-project';\r\nimport { ComparisonSets } from 'models/comparison-sets';\r\nimport * as api from 'store/api';\r\nimport socket, { rooms } from 'utils/socket';\r\n\r\nexport const ACTIONS = {\r\n COMPARISON_SETS_LOADING: 'argus/ui/COMPARISON_SETS_LOADING',\r\n COMPARISON_SETS_LOADED: 'argus/ui/COMPARISON_SETS_LOADED',\r\n COMPARISON_SET_UPDATED: 'argus/ui/COMPARISON_SET_UPDATED',\r\n COMPARISON_SET_DELETED: 'argus/ui/COMPARISON_SET_DELETED',\r\n EXTRACTION_FIELD_COMPARISON_SETS_LOADING: 'argus/ui/EXTRACTION_FIELD_COMPARISON_SETS_LOADING',\r\n EXTRACTION_FIELD_COMPARISON_SETS_LOADED: 'argus/ui/EXTRACTION_FIELD_COMPARISON_SETS_LOADED',\r\n EXTRACTION_FIELD_COMPARISON_SET_UPDATED: 'argus/ui/EXTRACTION_FIELD_COMPARISON_SET_UPDATED',\r\n EXTRACTION_FIELD_COMPARISON_SET_DELETED: 'argus/ui/EXTRACTION_FIELD_COMPARISON_SET_DELETED'\r\n};\r\n\r\nexport const comparisonSetsLoading = createAction(ACTIONS.COMPARISON_SETS_LOADING);\r\nexport const comparisonSetsLoaded = createAction(ACTIONS.COMPARISON_SETS_LOADED);\r\nexport const comparisonSetUpdated = createAction(ACTIONS.COMPARISON_SET_UPDATED);\r\nexport const comparisonSetDeleted = createAction(ACTIONS.COMPARISON_SET_DELETED);\r\nexport const extractionFieldComparisonSetUpdated = createAction(ACTIONS.EXTRACTION_FIELD_COMPARISON_SET_UPDATED);\r\n\r\n// Contains the logic for subscribing/unsubscribing to updates from the socket\r\nexport const { subscribe, unsubscribe } = (socket => {\r\n let documentRoom = null;\r\n let extractionFieldRoom = null;\r\n let onComparisonDocumentRemoved = null;\r\n let onComparisonRecordRemoved = null;\r\n let onComparisonUpdated = null;\r\n let onExtractionFieldComparisonUpdated = null;\r\n let onComparisonDeleted = null;\r\n\r\n const subscribe = projectId => dispatch => {\r\n if (!projectId) {\r\n return;\r\n }\r\n\r\n const documentComparisonRoom = rooms.comparisons(projectId);\r\n const extractionFieldComparisonRoom = rooms.extractionFieldComparisons(projectId);\r\n\r\n if (documentRoom !== documentComparisonRoom || extractionFieldRoom !== extractionFieldComparisonRoom) {\r\n socket.leave(documentRoom);\r\n socket.leave(extractionFieldRoom);\r\n documentRoom = documentComparisonRoom;\r\n extractionFieldRoom = extractionFieldComparisonRoom;\r\n socket.join(documentComparisonRoom);\r\n socket.join(extractionFieldComparisonRoom);\r\n }\r\n\r\n // Handle event when a document is removed from a comparison\r\n if (!onComparisonDocumentRemoved) {\r\n onComparisonDocumentRemoved = response => {\r\n dispatch(comparisonSetUpdated(response.data));\r\n };\r\n\r\n socket.on('document.comparisons.removed', onComparisonDocumentRemoved);\r\n }\r\n\r\n // Handle event when a document is removed from a comparison\r\n if (!onComparisonRecordRemoved) {\r\n onComparisonRecordRemoved = response => {\r\n dispatch(extractionFieldComparisonSetUpdated(response.data));\r\n };\r\n\r\n socket.on('extractionfield.comparisons.record.removed', onComparisonRecordRemoved);\r\n }\r\n\r\n // Handle a document comparison update\r\n if (!onComparisonUpdated) {\r\n onComparisonUpdated = response => {\r\n dispatch(comparisonSetUpdated(response.data));\r\n };\r\n\r\n socket.on('document.comparisons.update', onComparisonUpdated);\r\n }\r\n\r\n // Handle an extraction field record comparison update\r\n if (!onExtractionFieldComparisonUpdated) {\r\n onExtractionFieldComparisonUpdated = response => {\r\n dispatch(extractionFieldComparisonSetUpdated(response.data));\r\n };\r\n\r\n socket.on('extractionfield.comparisons.update', onExtractionFieldComparisonUpdated);\r\n }\r\n\r\n // Handle a comparison being deleted\r\n if (!onComparisonDeleted) {\r\n onComparisonDeleted = response => {\r\n dispatch(comparisonSetDeleted(response.data));\r\n };\r\n\r\n socket.on('comparisons.removed', onComparisonDeleted);\r\n }\r\n };\r\n\r\n const unsubscribe = () => {\r\n socket.leave(documentRoom);\r\n socket.leave(extractionFieldRoom);\r\n documentRoom = null;\r\n extractionFieldRoom = null;\r\n\r\n if (onComparisonDocumentRemoved) {\r\n socket.off('document.comparisons.removed', onComparisonDocumentRemoved);\r\n onComparisonDocumentRemoved = null;\r\n }\r\n\r\n if (onComparisonRecordRemoved) {\r\n socket.off('extractionfield.comparisons.record.removed', onComparisonRecordRemoved);\r\n onComparisonRecordRemoved = null;\r\n }\r\n\r\n if (onComparisonUpdated) {\r\n socket.off('document.comparisons.update', onComparisonUpdated);\r\n onComparisonUpdated = null;\r\n }\r\n\r\n if (onExtractionFieldComparisonUpdated) {\r\n socket.off('extractionfield.comparisons.record.update', onExtractionFieldComparisonUpdated);\r\n onExtractionFieldComparisonUpdated = null;\r\n }\r\n\r\n if (onComparisonDeleted) {\r\n socket.off('comparisons.removed', onComparisonDeleted);\r\n onComparisonDeleted = null;\r\n }\r\n };\r\n\r\n return {\r\n subscribe,\r\n unsubscribe\r\n };\r\n})(socket);\r\n\r\nexport const loadComparisonSets = ({\r\n projectId,\r\n pageNum,\r\n sortBy,\r\n sortOrder,\r\n filterBy,\r\n filterString,\r\n filterIds,\r\n compareType = 'document'\r\n}) => dispatch => {\r\n dispatch(subscribe(projectId));\r\n dispatch(comparisonSetsLoading());\r\n return loadComparisonSetsRecursive({\r\n projectId,\r\n pageNum,\r\n sortBy,\r\n sortOrder,\r\n filterBy,\r\n filterString,\r\n filterIds,\r\n compareType\r\n }).then(response => dispatch(comparisonSetsLoaded(response)));\r\n};\r\n\r\n//If the page has no items on it and it is not the first page then load the previous page.\r\nconst loadComparisonSetsRecursive = ({\r\n projectId,\r\n pageNum,\r\n sortBy,\r\n sortOrder,\r\n filterBy,\r\n filterString,\r\n filterIds,\r\n compareType\r\n}) => {\r\n return api\r\n .getComparisonSets({ projectId, pageNum, sortBy, sortOrder, filterBy, filterString, filterIds, compareType })\r\n .then(response => {\r\n if (response.data && response.data.length === 0 && response.pageInfo && response.pageInfo.pageNumber > 1) {\r\n return loadComparisonSetsRecursive({\r\n projectId,\r\n pageNum: pageNum - 1,\r\n sortBy,\r\n sortOrder,\r\n filterBy,\r\n filterString,\r\n filterIds,\r\n compareType\r\n });\r\n } else {\r\n return response;\r\n }\r\n });\r\n};\r\n\r\n/*\r\n * Reducer\r\n */\r\nexport const INITIAL_STATE = new ComparisonSets();\r\n\r\nexport default createReducer(INITIAL_STATE, {\r\n [ACTIONS.COMPARISON_SETS_LOADING]: (state, action) => {\r\n return state.setLoading();\r\n },\r\n\r\n [ACTIONS.EXTRACTION_FIELD_COMPARISON_SETS_LOADING]: (state, action) => {\r\n return state.setLoading();\r\n },\r\n\r\n [ACTIONS.COMPARISON_SETS_LOADED]: (state, action) => {\r\n return state.setLoaded(action.payload);\r\n },\r\n\r\n [ACTIONS.EXTRACTION_FIELD_COMPARISON_SETS_LOADED]: (state, action) => {\r\n return state.setLoaded(action.payload);\r\n },\r\n\r\n [ACTIONS.COMPARISON_SET_UPDATED]: (state, action) => {\r\n return state.updateComparison(action.payload);\r\n },\r\n\r\n [ACTIONS.EXTRACTION_FIELD_COMPARISON_SET_UPDATED]: (state, action) => {\r\n return state.updateComparison(action.payload);\r\n },\r\n\r\n [ACTIONS.COMPARISON_SET_DELETED]: (state, action) => {\r\n return state.deleteComparison(action.payload);\r\n },\r\n\r\n [ACTIONS.EXTRACTION_FIELD_COMPARISON_SET_DELETED]: (state, action) => {\r\n return state.deleteComparison(action.payload);\r\n },\r\n\r\n [PROJECT_ACTIONS.CLEAR_PROJECT_DATA]: (state, action) => {\r\n return INITIAL_STATE;\r\n }\r\n});\r\n","import model from 'models/base-model';\r\n\r\nexport class Document extends model({\r\n // Control Properties\r\n isLoading: false,\r\n isLoaded: false,\r\n error: null,\r\n\r\n // Usefull Properties\r\n assignments: null,\r\n characters: null,\r\n documentId: null,\r\n extractionFieldRecords: null,\r\n extractionFields: null,\r\n itemName: null,\r\n itemStateId: null,\r\n next: null,\r\n pageCount: null,\r\n pages: null,\r\n parentHierarchy: null,\r\n prev: null,\r\n projectId: null,\r\n projectItemId: null,\r\n projectItemStatus: null,\r\n projectTemplate: null, // I don't think this one is used\r\n projectTemplates: null,\r\n reviewers: null,\r\n tags: null,\r\n\r\n // Unnessesary Properties\r\n createdBy: null,\r\n createdDate: null,\r\n entityUrl: null,\r\n fileExtension: null,\r\n itemType: null,\r\n itemTypeId: null, // Check this one\r\n lastUpdatedBy: null,\r\n lastUpdatedData: null,\r\n parentFolderDocumentCount: null, // Check this one\r\n parentId: null, // Check this one\r\n\r\n // File organizer\r\n sections: null,\r\n filterById: null,\r\n sectionLoading: null,\r\n selectedSection: null,\r\n isSelectedSectionClassified: false\r\n}) {\r\n setLoading() {\r\n return this.merge({\r\n error: null,\r\n isLoaded: false,\r\n isLoading: true\r\n });\r\n }\r\n\r\n setError(error) {\r\n return this.merge({\r\n error: error,\r\n isLoaded: false,\r\n isLoading: false\r\n });\r\n }\r\n\r\n setDeleted() {\r\n return this.merge({\r\n extractionFields: [],\r\n extractionFieldRecords: [],\r\n reviewers: [],\r\n projectTemplates: []\r\n });\r\n }\r\n\r\n clear() {\r\n return new Document({\r\n error: null,\r\n isLoaded: false,\r\n isLoading: false\r\n });\r\n }\r\n\r\n invalidate() {\r\n return this.merge({\r\n error: null,\r\n isLoaded: false,\r\n isLoading: false\r\n });\r\n }\r\n\r\n setLoaded(data) {\r\n return Document.fromData(data);\r\n }\r\n\r\n static fromData(data) {\r\n var enhanced = enhanceRecords(data);\r\n\r\n return new Document({\r\n error: null,\r\n isLoaded: true,\r\n isLoading: false,\r\n filterById: {\r\n extractionFieldGroupIds: [],\r\n selectedSection: null,\r\n isSelectedSectionClassified: false,\r\n isPage: true\r\n },\r\n ...enhanced\r\n });\r\n }\r\n\r\n // Manipulation functions\r\n tagAdd(data) {\r\n var tags = this.tags.slice(0);\r\n if (!tags.find(tag => tag.tagId === data.tagId)) {\r\n tags.push(data);\r\n }\r\n return this.merge({ tags });\r\n }\r\n\r\n tagRemove(data) {\r\n var tags = this.tags.slice(0);\r\n tags = tags.filter(tag => tag.tagId !== data.tagId);\r\n return this.merge({ tags });\r\n }\r\n\r\n reviewerAdd(data) {\r\n var reviewers = this.reviewers.slice(0);\r\n if (!reviewers.find(reviewer => reviewer.userId === data.userId)) {\r\n reviewers.push(data);\r\n }\r\n return this.merge({ reviewers });\r\n }\r\n\r\n reviewerRemove(data) {\r\n var reviewers = this.reviewers.slice(0);\r\n reviewers = reviewers.filter(reviewer => reviewer.userId !== data.userId);\r\n return this.merge({ reviewers });\r\n }\r\n\r\n efAllRecordsRemove(extractionFieldId) {\r\n var extractionFieldRecords = this.extractionFieldRecords.slice(0);\r\n extractionFieldRecords = extractionFieldRecords.filter(efr => efr.extractionFieldId !== extractionFieldId);\r\n\r\n // If the current document is reviewed when this action happens, decrement the reviewDocumentCount\r\n if (this.reviewers.length > 0) {\r\n var fields = this.extractionFields.slice(0);\r\n\r\n fields.forEach(field => {\r\n if (field.extractionFieldId === extractionFieldId && field.reviewDocumentCount > 0) {\r\n field.reviewDocumentCount--;\r\n }\r\n });\r\n\r\n this.merge({ extractionFields: fields });\r\n }\r\n\r\n return this.merge({ extractionFieldRecords });\r\n }\r\n\r\n efAdd(data) {\r\n const extractionField = this.extractionFields.find(ef => ef.extractionFieldId === data.extractionFieldId);\r\n if (!extractionField) {\r\n const extractionFields = this.extractionFields.slice(0);\r\n const extractionFieldGroups = this.extractionFieldGroups.slice(0);\r\n if (data?.groups?.length) {\r\n const extractionFieldGroup = {\r\n groupId: data.groups[0].extractionFieldGroupId,\r\n groupName: data.groups[0].extractionFieldGroupName,\r\n groupDisplayOrder: data.groups[0].groupDisplayOrder\r\n };\r\n const exists = extractionFieldGroups.find(efg => efg.groupId === extractionFieldGroup.groupId);\r\n\r\n if (!exists) extractionFieldGroups.push(extractionFieldGroup);\r\n }\r\n\r\n extractionFields.push(data);\r\n\r\n return this.merge({ extractionFields, extractionFieldGroups });\r\n }\r\n\r\n if (!extractionField.extractionFieldGroupId && data.extractionFieldGroupId) {\r\n extractionField.extractionFieldGroupId = data.extractionFieldGroupId;\r\n }\r\n\r\n return this;\r\n }\r\n\r\n efUpdate(data) {\r\n const extractionField = this.extractionFields.find(ef => ef.extractionFieldId === data.extractionFieldId);\r\n \r\n if (extractionField) {\r\n extractionField.extractionFieldName = data.extractionFieldName;\r\n extractionField.extractionFieldDescription = data.extractionFieldDescription;\r\n \r\n return this.merge({ extractionFields: this.extractionFields });\r\n } else {\r\n const extractionFields = this.extractionFields.slice(0);\r\n extractionFields.push(data);\r\n \r\n return this.merge({ extractionFields });\r\n }\r\n }\r\n\r\n efrAdd(data) {\r\n //Prevent still pending efr creations from being added to documents after switching documents\r\n if (!data.documentId || (data.documentId && data.documentId === this.documentId)) {\r\n if (data.documentExtractionFieldInstanceId) data = fixSocketFormatEFR(data);\r\n\r\n if (\r\n !this.extractionFieldRecords.some(efr => efr.extractionFieldRecordId === data.extractionFieldRecordId) &&\r\n this.extractionFields.some(ef => ef.extractionFieldId === data.extractionFieldId)\r\n ) {\r\n var enhanced = enhanceRecord(data, this.extractionFields);\r\n var extractionFieldRecords = this.extractionFieldRecords.slice(0);\r\n\r\n enhanced.tags = data.tags ?? [];\r\n\r\n extractionFieldRecords.push(enhanced);\r\n\r\n // Check if document is already reviewed, and if so set the reviewedDocumentCount to 1 if this is the first efr added for that field.\r\n var count = extractionFieldRecords.filter(efr => efr.extractionFieldId === data.extractionFieldId).length;\r\n\r\n if (count === 1 && this.reviewers.length > 0) {\r\n var fields = this.extractionFields.slice(0);\r\n\r\n fields.forEach(field => {\r\n if (field.extractionFieldId === data.extractionFieldId && field.reviewDocumentCount === 0) {\r\n field.reviewDocumentCount = 1;\r\n }\r\n });\r\n\r\n this.merge({ extractionFields: fields });\r\n }\r\n\r\n return this.merge({\r\n extractionFieldRecords\r\n });\r\n }\r\n }\r\n\r\n return this;\r\n }\r\n\r\n efrEdit(data) {\r\n var extractionFieldRecords = this.extractionFieldRecords.slice(0);\r\n\r\n if (data.extractionFieldRecordId) {\r\n var index = extractionFieldRecords.findIndex(efr => efr.extractionFieldRecordId === data.extractionFieldRecordId);\r\n\r\n if (index !== -1) {\r\n extractionFieldRecords[index].extractFieldInstanceData = data.extractFieldInstanceData;\r\n }\r\n }\r\n\r\n return this.merge({\r\n extractionFieldRecords\r\n });\r\n }\r\n\r\n efVerify(data) {\r\n var extractionFields = this.extractionFields.slice(0);\r\n\r\n if (data.extractionFieldId) {\r\n var index = extractionFields.findIndex(ef => ef.extractionFieldId === data.extractionFieldId);\r\n\r\n if (index !== -1) {\r\n extractionFields[index].isReadyForVerification = false\r\n }\r\n }\r\n\r\n return this.merge({\r\n extractionFields\r\n });\r\n \r\n}\r\n\r\n efrRemove(extractionFieldRecordId) {\r\n var extractionFieldRecords = this.extractionFieldRecords.slice(0);\r\n\r\n extractionFieldRecords = extractionFieldRecords.filter(\r\n efr => efr.extractionFieldRecordId !== extractionFieldRecordId\r\n );\r\n\r\n return this.merge({\r\n extractionFieldRecords\r\n });\r\n }\r\n\r\n efrTagAdd(data) {\r\n var extractionFieldRecords = this.extractionFieldRecords.slice(0);\r\n\r\n if (data.extractionFieldRecordId && data.tag) {\r\n var index = extractionFieldRecords.findIndex(efr => efr.extractionFieldRecordId === data.extractionFieldRecordId);\r\n\r\n if (!extractionFieldRecords[index].tags.find(tag => tag.tagId === data.tag.tagId)) {\r\n extractionFieldRecords[index].tags = [\r\n ...extractionFieldRecords[index].tags,\r\n {\r\n projectId: data.tag.projectId,\r\n tagId: data.tag.tagId,\r\n tagName: data.tag.tagName,\r\n tagTypeId: data.tag.tagTypeId\r\n }\r\n ];\r\n }\r\n }\r\n\r\n return this.merge({\r\n extractionFieldRecords\r\n });\r\n }\r\n\r\n efrTagRemove(data) {\r\n var extractionFieldRecords = this.extractionFieldRecords.slice(0);\r\n var index = extractionFieldRecords.findIndex(efr => efr.extractionFieldRecordId === data.extractionFieldRecordId);\r\n\r\n if (index !== -1) {\r\n extractionFieldRecords[index].tags = extractionFieldRecords[index].tags.filter(tag => tag.tagId !== data.tagId);\r\n }\r\n\r\n return this.merge({\r\n extractionFieldRecords\r\n });\r\n }\r\n\r\n updateSections({ sections }) {\r\n const selectedSection = sections.find(section => section.start === this.filterById.selectedSection);\r\n if (selectedSection) {\r\n const filter = {\r\n extractionFieldGroupIds: selectedSection.extractionFieldGroupIds,\r\n selectedSection: this.filterById.selectedSection,\r\n isSelectedSectionClassified: selectedSection.isClassified,\r\n currentPage: this.filterById.currentPage,\r\n isPage: this.filterById.isPage,\r\n sectionLength: this.filterById.sectionLength\r\n };\r\n return this.merge({ sections: sections, filterById: filter });\r\n }\r\n\r\n return this.merge({ sections: sections });\r\n }\r\n\r\n sampleNumberLoaded(data) {\r\n return this.merge({ sections: data.sections, sectionLoading: null });\r\n }\r\n\r\n sampleNumberLoading(data) {\r\n return this.merge({ sectionLoading: data });\r\n }\r\n\r\n DocTypeRemove(data) {\r\n return this.merge({ sections: data });\r\n }\r\n\r\n setEfFilter(selectedSection) {\r\n const filter = {\r\n extractionFieldGroupIds: selectedSection.extractionFieldGroupIds,\r\n selectedSection: selectedSection.sectionId ? selectedSection.sectionId : selectedSection.start,\r\n isSelectedSectionClassified: selectedSection.isClassified,\r\n currentPage: selectedSection.currentPage,\r\n isPage: selectedSection.isPage,\r\n sectionLength: selectedSection.length\r\n };\r\n return this.merge({ filterById: filter });\r\n }\r\n}\r\n\r\n// Helper Functions\r\nfunction enhanceRecords(data) {\r\n if (data.extractionFieldRecords && data.extractionFieldRecords.length > 0) {\r\n data.extractionFieldRecords.forEach(efr => {\r\n enhanceRecord(efr, data.extractionFields);\r\n });\r\n }\r\n\r\n return data;\r\n}\r\n\r\nfunction enhanceRecord(efr, extractionFields) {\r\n var matchingExtractionFeild = extractionFields.find(ef => ef.extractionFieldId === efr.extractionFieldId);\r\n\r\n if (matchingExtractionFeild) {\r\n efr.colorIndex = matchingExtractionFeild.colorIndex;\r\n efr.extractionFieldName = matchingExtractionFeild.extractionFieldName;\r\n } else {\r\n efr.colorIndex = 0;\r\n efr.extractionFieldName = '';\r\n }\r\n\r\n return efr;\r\n}\r\n\r\nfunction fixSocketFormatEFR(data) {\r\n return {\r\n extractFieldInstanceData: data.extractFieldInstanceData,\r\n extractionFieldId: data.extractionFieldId,\r\n extractionFieldRecordId: data.documentExtractionFieldInstanceId,\r\n location: data.location,\r\n pageNumber: data.pageNumber,\r\n tags: data.tags\r\n };\r\n}\r\n","import { createAction, createReducer } from 'utils/redux-utils';\r\n\r\n//import * as api from 'store/api';\r\n\r\nexport const ACTIONS = {\r\n DOCUMENT_UNDO_PUSH: 'argus/ui/DOCUMENT_UNDO_PUSH',\r\n DOCUMENT_UNDO_POP: 'argus/ui/DOCUMENT_UNDO_POP',\r\n DOCUMENT_UNDO_CLEAR: 'argus/ui/DOCUMENT_UNDO_CLEAR'\r\n};\r\n\r\nexport const docUndoPush = createAction(ACTIONS.DOCUMENT_UNDO_PUSH);\r\nexport const docUndoPop = createAction(ACTIONS.DOCUMENT_UNDO_POP);\r\nexport const docUndoClear = createAction(ACTIONS.DOCUMENT_UNDO_CLEAR);\r\n\r\nexport const pushUndoStack = data => dispatch => {\r\n return dispatch(docUndoPush(data));\r\n};\r\n\r\nexport const popUndoStack = () => dispatch => {\r\n return dispatch(docUndoPop());\r\n};\r\n\r\nexport const clearUndoStack = () => dispatch => {\r\n return dispatch(docUndoClear());\r\n};\r\n\r\n/*\r\n * Reducer\r\n */\r\nexport const INITIAL_STATE = {\r\n stack: []\r\n};\r\n\r\nexport default createReducer(INITIAL_STATE, {\r\n [ACTIONS.DOCUMENT_UNDO_PUSH]: (state, action) => {\r\n const { stack } = state;\r\n\r\n return {\r\n stack: stack.concat(action.payload).slice(-3)\r\n };\r\n },\r\n\r\n [ACTIONS.DOCUMENT_UNDO_POP]: (state, action) => {\r\n const { stack } = state;\r\n\r\n const newStack = stack.slice(0, stack.length - 1);\r\n\r\n return {\r\n stack: newStack\r\n };\r\n },\r\n\r\n [ACTIONS.DOCUMENT_UNDO_CLEAR]: (state, action) => {\r\n return INITIAL_STATE;\r\n }\r\n});\r\n","import model from 'models/base-model';\r\n\r\nexport class DocumentLayout extends model({\r\n // Control Properties\r\n isLoading: false,\r\n isLoaded: false,\r\n error: null,\r\n loadedPages: [],\r\n layout: null,\r\n characters: null\r\n}) {\r\n setLoading() {\r\n return this.merge({\r\n error: null,\r\n isLoaded: false,\r\n isLoading: true\r\n });\r\n }\r\n\r\n setError(error) {\r\n return this.merge({\r\n error: error,\r\n isLoaded: false,\r\n isLoading: false\r\n });\r\n }\r\n\r\n invalidate() {\r\n return this.merge({\r\n error: null,\r\n isLoaded: false,\r\n isLoading: false\r\n });\r\n }\r\n\r\n //Called when the document layout metadata call is returned\r\n setLoaded(data) {\r\n return DocumentLayout.fromData(data);\r\n }\r\n\r\n //Expects metadata object\r\n static fromData(data) {\r\n var layout = data.slice(0);\r\n var loadedPages = this.loadedPages ? this.loadedPages.slice(0) : [];\r\n // var enhancedLayout = enhanceLayout(data);\r\n\r\n layout.forEach(layoutPage => {\r\n if (layoutPage.characters) {\r\n layoutPage.gridmap = generateGridmap(layoutPage);\r\n layoutPage.characterDataLoaded = true;\r\n if (loadedPages.indexOf(layoutPage.pageNumber) === -1) loadedPages.push(layoutPage.pageNumber);\r\n } else {\r\n layoutPage.gridmap = {};\r\n layoutPage.characterDataLoaded = false;\r\n }\r\n });\r\n\r\n var characters = getAllCharacters(layout);\r\n\r\n var documentLayout = new DocumentLayout({\r\n error: null,\r\n isLoaded: true,\r\n isLoading: false,\r\n layout: layout,\r\n loadedPages: loadedPages,\r\n characters: characters\r\n });\r\n\r\n return documentLayout;\r\n }\r\n\r\n //Lazy loads a specific page of character data into the model\r\n setPagesLoaded(pages) {\r\n var layout = this.layout.slice(0);\r\n var loadedPages = this.loadedPages ? this.loadedPages.slice(0) : [];\r\n\r\n pages.forEach(page => {\r\n var matchingIndex = layout.findIndex(p => p.pageNumber === page.pageNumber);\r\n var matchingPage = layout[matchingIndex];\r\n\r\n if (!matchingPage.characterDataLoaded) {\r\n layout[matchingIndex].characters = page.characters;\r\n layout[matchingIndex].characterDataLoaded = true;\r\n layout[matchingIndex].gridMap = generateGridmap(matchingPage);\r\n if (loadedPages.indexOf(page.pageNumber) === -1) loadedPages.push(page.pageNumber);\r\n }\r\n });\r\n\r\n var allCharacters = getAllCharacters(layout);\r\n\r\n return this.merge({\r\n layout: layout,\r\n loadedPages: loadedPages,\r\n characters: allCharacters\r\n });\r\n }\r\n}\r\n\r\n//Generates a more digestable object for highlight interaction for character data\r\nfunction generateGridmap(page) {\r\n var gridMap = {};\r\n\r\n if (page.characters) {\r\n page.characters.forEach(character => {\r\n var gx1 = Math.floor(character.x1 / 100);\r\n var gx2 = Math.floor(character.x2 / 100);\r\n var gy1 = Math.floor(character.y1 / 100);\r\n var gy2 = Math.floor(character.y2 / 100);\r\n\r\n if (!gridMap[gx1]) gridMap[gx1] = {};\r\n if (!gridMap[gx1][gy1]) gridMap[gx1][gy1] = {};\r\n if (!gridMap[gx1][gy2]) gridMap[gx1][gy2] = {};\r\n\r\n if (!gridMap[gx2]) gridMap[gx2] = {};\r\n if (!gridMap[gx2][gy1]) gridMap[gx2][gy1] = {};\r\n if (!gridMap[gx2][gy2]) gridMap[gx2][gy2] = {};\r\n\r\n gridMap[gx1][gy1][character.i] = character;\r\n gridMap[gx1][gy2][character.i] = character;\r\n gridMap[gx2][gy1][character.i] = character;\r\n gridMap[gx2][gy2][character.i] = character;\r\n });\r\n }\r\n\r\n return gridMap;\r\n}\r\n\r\n//Creates a flat collection of all characters in a document (used for search)\r\nfunction getAllCharacters(pages) {\r\n var allCharacters = [];\r\n\r\n pages.forEach((page, pageIndex) => {\r\n if (page.characters) {\r\n page.characters.forEach(character => {\r\n character.page = page.pageNumber;\r\n allCharacters.push(character);\r\n });\r\n }\r\n });\r\n\r\n return allCharacters;\r\n}\r\n","import { createAction, createReducer } from 'utils/redux-utils';\r\nimport { getDocumentCharacters, getDocumentLayoutMetadata, getDocumentPageCharacters } from 'store/api';\r\nimport { DocumentLayout } from 'models/document-viewer/layout';\r\n\r\nexport const ACTIONS = {\r\n CURRENT_DOCUMENT_LAYOUT_LOADING: 'argus/ui/CURRENT_DOCUMENT_LAYOUT_LOADING',\r\n CURRENT_DOCUMENT_LAYOUT_LOADED: 'argus/ui/CURRENT_DOCUMENT_LAYOUT_LOADED',\r\n CURRENT_DOCUMENT_LAYOUT_ERROR: 'argus/ui/CURRENT_DOCUMENT_LAYOUT_ERROR',\r\n CURRENT_DOCUMENT_LAYOUT_PAGES_LOADED: 'argus/ui/CURRENT_DOCUMENT_LAYOUT_PAGES_LOADED'\r\n};\r\n\r\nexport const currentDocumentLayoutLoading = createAction(ACTIONS.CURRENT_DOCUMENT_LAYOUT_LOADING);\r\nexport const currentDocumentLayoutLoaded = createAction(ACTIONS.CURRENT_DOCUMENT_LAYOUT_LOADED);\r\nexport const currentDocumentLayoutError = createAction(ACTIONS.CURRENT_DOCUMENT_LAYOUT_ERROR);\r\n\r\nexport const currentDocumentLayoutPagesLoaded = createAction(ACTIONS.CURRENT_DOCUMENT_LAYOUT_PAGES_LOADED);\r\n\r\nexport const getCurrentDocumentLayout = (projectId, documentId) => dispatch => {\r\n dispatch(currentDocumentLayoutLoading());\r\n return getDocumentLayoutMetadata(projectId, documentId)\r\n .then(response => {\r\n dispatch(currentDocumentLayoutLoaded(response.data));\r\n })\r\n .catch(error => {\r\n dispatch(currentDocumentLayoutError(error));\r\n });\r\n};\r\n\r\nexport const getCurrentDocumentLayoutPage = (projectId, documentId, pageNumber) => dispatch => {\r\n return getDocumentPageCharacters(projectId, documentId, pageNumber)\r\n .then(response => {\r\n dispatch(currentDocumentLayoutPagesLoaded(response.data));\r\n })\r\n .catch(error => {\r\n dispatch(currentDocumentLayoutError(error));\r\n });\r\n};\r\n\r\nexport const getCurrentDocumentCompleteLayout = (projectId, documentId) => dispatch => {\r\n return getDocumentCharacters(projectId, documentId)\r\n .then(response => {\r\n dispatch(currentDocumentLayoutPagesLoaded(response.data));\r\n })\r\n .catch(error => {\r\n dispatch(currentDocumentLayoutError(error));\r\n });\r\n};\r\n\r\n/*\r\n * Reducer\r\n */\r\nexport const INITIAL_STATE = new DocumentLayout();\r\n\r\nexport default createReducer(INITIAL_STATE, {\r\n [ACTIONS.CURRENT_DOCUMENT_LAYOUT_LOADING]: (state, action) => {\r\n return state.setLoading();\r\n },\r\n\r\n [ACTIONS.CURRENT_DOCUMENT_LAYOUT_LOADED]: (state, action) => {\r\n return state.setLoaded(action.payload);\r\n },\r\n\r\n [ACTIONS.CURRENT_DOCUMENT_LAYOUT_ERROR]: (state, action) => {\r\n return state.setError(action.payload);\r\n },\r\n\r\n [ACTIONS.CURRENT_DOCUMENT_LAYOUT_PAGES_LOADED]: (state, action) => {\r\n return state.setPagesLoaded(action.payload);\r\n }\r\n});\r\n","import { createAction, createReducer } from 'utils/redux-utils';\r\nimport { Document } from 'models/document-viewer/document';\r\nimport socket, { rooms } from 'utils/socket';\r\nimport store from 'store/store';\r\n\r\nimport { pushUndoStack, clearUndoStack } from 'store/document-viewer-undo';\r\nimport { getCurrentDocumentLayout } from 'store/current-document-layout';\r\n//API Calls\r\nimport * as API from 'store/api';\r\n\r\nexport const ACTIONS = {\r\n CURRENT_DOCUMENT_LOADING: 'argus/ui/CURRENT_DOCUMENT_LOADING',\r\n CURRENT_DOCUMENT_LOADED: 'argus/ui/CURRENT_DOCUMENT_LOADED',\r\n CURRENT_DOCUMENT_ERROR: 'argus/ui/CURRENT_DOCUMENT_ERROR',\r\n CURRENT_DOCUMENT_DELETED: 'argus/ui/CURRENT_DOCUMENT_DELETED',\r\n CURRENT_DOCUMENT_CLEAR: 'argus/ui/CURRENT_DOCUMENT_CLEAR',\r\n CURRENT_DOCUMENT_TAG_ADD: 'argus/ui/CURRENT_DOCUMENT_TAG_ADD',\r\n CURRENT_DOCUMENT_TAG_REMOVE: 'argus/ui/CURRENT_DOCUMENT_TAG_REMOVE',\r\n CURRENT_DOCUMENT_REVIEWER_ADD: 'argus/ui/CURRENT_DOCUMENT_REVIEWER_ADD',\r\n CURRENT_DOCUMENT_REVIEWER_REMOVE: 'argus/ui/CURRENT_DOCUMENT_REVIEWER_REMOVE',\r\n CURRENT_DOCUMENT_EF_ADD: 'argus/ui/CURRENT_DOCUMENT_EF_ADD',\r\n CURRENT_DOCUMENT_EF_UPDATE: 'argus/ui/CURRENT_DOCUMENT_EF_UPDATE',\r\n CURRENT_DOCUMENT_EF_ALL_RECORDS_REMOVE: 'argus/ui/CURRENT_DOCUMENT_EF_ALL_RECORDS_REMOVE',\r\n CURRENT_DOCUMENT_EFR_ADD: 'argus/ui/CURRENT_DOCUMENT_EFR_ADD',\r\n CURRENT_DOCUMENT_EFR_EDIT: 'argus/ui/CURRENT_DOCUMENT_EFR_EDIT',\r\n CURRENT_DOCUMENT_EFR_REMOVE: 'argus/ui/CURRENT_DOCUMENT_EFR_REMOVE',\r\n CURRENT_DOCUMENT_EFR_TAG_ADD: 'argus/ui/CURRENT_DOCUMENT_EFR_TAG_ADD',\r\n CURRENT_DOCUMENT_EFR_TAG_REMOVE: 'argus/ui/CURRENT_DOCUMENT_EFR_TAG_REMOVE',\r\n CURRENT_DOCUMENT_ORGANIZE_FILES: 'argus/ui/CURRENT_DOCUMENT_ORGANIZE_FILES',\r\n CURRENT_DOCUMENT_SAMPLE_NUMBER_LOADING: 'argus/ui/CURRENT_DOCUMENT_SAMPLE_NUMBER_LOADING',\r\n CURRENT_DOCUMENT_SAMPLE_NUMBER_LOADED: 'argus/ui/CURRENT_DOCUMENT_SAMPLE_NUMBER_LOADED',\r\n CURRENT_DOCUMENT_SET_EF_FILTER: 'argus/ui/CURRENT_DOCUMENT_SET_EF_FILTER',\r\n CURRET_DOCUMENT_DOC_TYPE_REMOVE_LOADED: 'argus/ui/CURRET_DOCUMENT_DOC_TYPE_REMOVE_LOADED',\r\n CURRENT_DOCUMENT_EFR_REV: 'argus/ui/CURRENT_DOCUMENT_EFR_REV'\r\n};\r\n\r\nexport const currentDocumentLoading = createAction(ACTIONS.CURRENT_DOCUMENT_LOADING);\r\nexport const currentDocumentLoaded = createAction(ACTIONS.CURRENT_DOCUMENT_LOADED);\r\nexport const currentDocumentError = createAction(ACTIONS.CURRENT_DOCUMENT_ERROR);\r\nexport const currentDocumentDeleted = createAction(ACTIONS.CURRENT_DOCUMENT_DELETED);\r\nexport const currentDocumentClear = createAction(ACTIONS.CURRENT_DOCUMENT_CLEAR);\r\nexport const currentDocumentTagAdd = createAction(ACTIONS.CURRENT_DOCUMENT_TAG_ADD);\r\nexport const currentDocumentTagRemove = createAction(ACTIONS.CURRENT_DOCUMENT_TAG_REMOVE);\r\nexport const currentDocumentReviewerAdd = createAction(ACTIONS.CURRENT_DOCUMENT_REVIEWER_ADD);\r\nexport const currentDocumentReviewerRemove = createAction(ACTIONS.CURRENT_DOCUMENT_REVIEWER_REMOVE);\r\nexport const currentDocumentEFAdd = createAction(ACTIONS.CURRENT_DOCUMENT_EF_ADD);\r\nexport const currentDocumentEFUpdate = createAction(ACTIONS.CURRENT_DOCUMENT_EF_UPDATE);\r\nexport const currentDocumentEFAllRecordsRemove = createAction(ACTIONS.CURRENT_DOCUMENT_EF_ALL_RECORDS_REMOVE);\r\nexport const currentDocumentEFRAdd = createAction(ACTIONS.CURRENT_DOCUMENT_EFR_ADD);\r\nexport const currentDocumentEFREdit = createAction(ACTIONS.CURRENT_DOCUMENT_EFR_EDIT);\r\nexport const currentDocumentEFRRemove = createAction(ACTIONS.CURRENT_DOCUMENT_EFR_REMOVE);\r\nexport const currentDocumentEFRTagAdd = createAction(ACTIONS.CURRENT_DOCUMENT_EFR_TAG_ADD);\r\nexport const currentDocumentEFRTagRemove = createAction(ACTIONS.CURRENT_DOCUMENT_EFR_TAG_REMOVE);\r\nexport const currentDocumentOrganizeFiles = createAction(ACTIONS.CURRENT_DOCUMENT_ORGANIZE_FILES);\r\nexport const currentDocumentSampleNumberLoading = createAction(ACTIONS.CURRENT_DOCUMENT_SAMPLE_NUMBER_LOADING);\r\nexport const currentDocumentSampleNumberLoaded = createAction(ACTIONS.CURRENT_DOCUMENT_SAMPLE_NUMBER_LOADED);\r\nexport const currentDocumentSetEFFilter = createAction(ACTIONS.CURRENT_DOCUMENT_SET_EF_FILTER);\r\nexport const removeDocTypeLoaded = createAction(ACTIONS.CURRET_DOCUMENT_DOC_TYPE_REMOVE_LOADED);\r\nexport const currentDocumentEFRRev = createAction(ACTIONS.CURRENT_DOCUMENT_EFR_REV);\r\n\r\nexport const getCurrentDocument = (projectId, documentId) => dispatch => {\r\n dispatch(currentDocumentLoading());\r\n unsubscribe();\r\n\r\n return API.getDocument(projectId, documentId)\r\n .then(response => {\r\n dispatch(getCurrentDocumentLayout(response.data.projectId, response.data.documentId));\r\n dispatch(currentDocumentLoaded(response.data));\r\n dispatch(subscribe(projectId, documentId, response.data.projectTemplates[0].projectTemplateId));\r\n })\r\n .catch(error => {\r\n dispatch(currentDocumentError(error));\r\n });\r\n};\r\n\r\nexport const getNextDocument = (projectId, documentId) => dispatch => {\r\n dispatch(currentDocumentLoading());\r\n unsubscribe();\r\n\r\n const request = API.getNextDocument(projectId, documentId);\r\n\r\n return request\r\n .then(response => {\r\n dispatch(getCurrentDocumentLayout(response.data.projectId, response.data.documentId));\r\n dispatch(currentDocumentLoaded(response.data));\r\n dispatch(clearUndoStack());\r\n dispatch(\r\n subscribe(\r\n response.data.projectId,\r\n response.data.documentId,\r\n response.data.projectTemplates[0].projectTemplateId\r\n )\r\n );\r\n return response;\r\n })\r\n .catch(error => {\r\n dispatch(currentDocumentError(error));\r\n });\r\n};\r\n\r\nexport const getPreviousDocument = (projectId, documentId) => dispatch => {\r\n dispatch(currentDocumentLoading());\r\n unsubscribe();\r\n\r\n const request = API.getPreviousDocument(projectId, documentId);\r\n\r\n return request\r\n .then(response => {\r\n dispatch(getCurrentDocumentLayout(response.data.projectId, response.data.documentId));\r\n dispatch(currentDocumentLoaded(response.data));\r\n dispatch(clearUndoStack());\r\n dispatch(\r\n subscribe(\r\n response.data.projectId,\r\n response.data.documentId,\r\n response.data.projectTemplates[0].projectTemplateId\r\n )\r\n );\r\n return response;\r\n })\r\n .catch(error => {\r\n dispatch(currentDocumentError(error));\r\n });\r\n};\r\n\r\nexport const refreshCurrentDocument = (projectId, documentId) => dispatch => {\r\n if (!projectId) projectId = store.getState().data.currentDocument.projectId;\r\n if (!documentId) documentId = store.getState().data.currentDocument.documentId;\r\n\r\n return API.getDocument(projectId, documentId)\r\n .then(response => {\r\n dispatch(currentDocumentLoaded(response.data));\r\n })\r\n .catch(error => {\r\n dispatch(currentDocumentError(error));\r\n });\r\n};\r\n\r\nexport const clearCurrentDocument = () => dispatch => {\r\n dispatch(currentDocumentClear());\r\n};\r\n\r\nexport const unsubscribeCurrentDocument = () => dispatch => {\r\n unsubscribe();\r\n};\r\n\r\nexport const createDocumentTag = () => dispatch => {\r\n //TODO: Evaluate if this function is needed\r\n};\r\n\r\nexport const removeDocumentTag = () => dispatch => {\r\n //TODO: Evaluate if this function is needed\r\n};\r\n\r\n\r\nexport const markEfVerified = (projectId, documentId, extractionFieldId) => dispatch => {\r\n return API.markFieldAsVerified(projectId, documentId, extractionFieldId)\r\n .then(() => {\r\n dispatch(currentDocumentEFRRev({\r\n projectId,\r\n documentId,\r\n extractionFieldId \r\n })); \r\n })\r\n .catch(error => { \r\n dispatch(currentDocumentError(error));\r\n });\r\n};\r\n\r\nexport const markDocumentAsReviewed = (projectId, documentId, currentUser) => dispatch => {\r\n dispatch(\r\n currentDocumentReviewerAdd({\r\n projectId,\r\n projectItemId: documentId,\r\n user: currentUser,\r\n userId: currentUser.userId,\r\n username: currentUser.displayName\r\n })\r\n );\r\n return API.markDocumentAsReviewed(projectId, documentId, currentUser)\r\n .then(() => {\r\n dispatch(clearUndoStack());\r\n })\r\n .catch(error => {\r\n dispatch(\r\n currentDocumentReviewerRemove({\r\n projectId,\r\n projectItemId: documentId,\r\n user: currentUser,\r\n userId: currentUser.userId,\r\n username: currentUser.displayName\r\n })\r\n );\r\n throw error;\r\n });\r\n};\r\n\r\nexport const markDocumentAsNotReviewed = (projectId, documentId, currentUser) => dispatch => {\r\n dispatch(\r\n currentDocumentReviewerRemove({\r\n projectId,\r\n projectItemId: documentId,\r\n user: currentUser,\r\n userId: currentUser.userId,\r\n username: currentUser.displayName\r\n })\r\n );\r\n return API.markDocumentAsNotReviewed(projectId, documentId, currentUser)\r\n .then(() => {\r\n dispatch(clearUndoStack());\r\n })\r\n .catch(error => {\r\n dispatch(\r\n currentDocumentReviewerAdd({\r\n projectId,\r\n projectItemId: documentId,\r\n user: currentUser,\r\n userId: currentUser.userId,\r\n username: currentUser.displayName\r\n })\r\n );\r\n throw error;\r\n });\r\n};\r\n\r\n//Create extraction field + associate extraction field to template + create extraction field recordsort\r\nexport const createExtractionField = ({\r\n projectId,\r\n documentId,\r\n templateId,\r\n extractionFieldName,\r\n extractionFieldDescription,\r\n extractionFieldNegation,\r\n extractionFieldGroupId = null,\r\n selection\r\n}) => dispatch => {\r\n return API.combinedCreate({\r\n projectId: projectId,\r\n documentId: documentId,\r\n templateId: templateId,\r\n name: extractionFieldName,\r\n description: extractionFieldDescription,\r\n negation: extractionFieldNegation,\r\n ...(extractionFieldGroupId && { extractionFieldGroupId: extractionFieldGroupId }),\r\n location: selection != null? [selection.firstIndex, selection.lastIndex] : null,\r\n text: selection !=null ? selection.text : null,\r\n pageNumber: selection !=null ? selection.page : null\r\n }).then(response => {\r\n dispatch(currentDocumentEFAdd(response.data.field));\r\n if(selection != null){\r\n response.data.record.data.documentId = documentId;\r\n response.data.record.data.extractFieldInstanceData = selection !=null ? selection.text : null;\r\n dispatch(currentDocumentEFRAdd(response.data.record.data));\r\n dispatch(\r\n pushUndoStack({\r\n type: 'ADD_RECORD',\r\n ids: {\r\n projectId,\r\n documentId,\r\n pageNumber: response.data.record.data.pageNumber,\r\n undoId: response.data.record.data.undoId\r\n }\r\n })\r\n );\r\n }\r\n return response;\r\n });\r\n};\r\n\r\n//Associate extraction field to template + create extraction field recordsort\r\nexport const addExtractionField = ({\r\n projectId,\r\n documentId,\r\n templateId,\r\n extractionField,\r\n selection,\r\n groupId\r\n}) => dispatch => {\r\n return API.combinedAssociate({\r\n projectId: projectId,\r\n documentId: documentId,\r\n templateId: templateId,\r\n extractionFieldId: extractionField.extractionFieldId,\r\n location: selection != null? [selection.firstIndex, selection.lastIndex] : null,\r\n text: selection !=null ? selection.text : null,\r\n pageNumber: selection !=null ? selection.page : null,\r\n extractionFieldGroupId: extractionField.extractionFieldGroupId\r\n }).then(response => {\r\n response.data.documentId = documentId;\r\n response.data.extractFieldInstanceData =null;\r\n \r\n dispatch(currentDocumentEFAdd(extractionField));\r\n if(selection!=null){\r\n response.data.extractFieldInstanceData = selection.text;\r\n dispatch(currentDocumentEFRAdd(response.data));\r\n }\r\n dispatch(\r\n pushUndoStack({\r\n type: 'ADD_RECORD',\r\n ids: { projectId, documentId, pageNumber: response.data.pageNumber, undoId: response.data.undoId }\r\n })\r\n );\r\n \r\n return response;\r\n });\r\n};\r\n\r\nexport const editExtractionField = ({\r\n extractionField,\r\n}) => dispatch => {\r\n return API.updateExtractionField({\r\n extractionFieldId: extractionField.extractionFieldId,\r\n extractionFieldName: extractionField.extractionFieldName,\r\n extractionFieldDescription: extractionField.extractionFieldDescription,\r\n externalSystemId: extractionField.externalSystemId\r\n }).then(response => {\r\n const updatedExtractionField = {\r\n extractionFieldId: response.data.extractionFieldId,\r\n extractionFieldName: response.data.extractionFieldName,\r\n extractionFieldDescription: response.data.extractionFieldDescription,\r\n externalSystemId: response.data.externalSystemId\r\n };\r\n\r\n dispatch(currentDocumentEFUpdate(updatedExtractionField));\r\n \r\n return updatedExtractionField;\r\n });\r\n};\r\n\r\nexport const createExtractionFieldRecord = (\r\n projectId,\r\n documentId,\r\n extractionFieldId,\r\n selection,\r\n isNewExtraction\r\n) => dispatch => {\r\n return API.createExtractionFieldRecord(\r\n projectId,\r\n documentId,\r\n extractionFieldId,\r\n [selection.firstIndex, selection.lastIndex],\r\n selection.text,\r\n selection.page\r\n )\r\n .then(response => {\r\n dispatch(\r\n pushUndoStack({\r\n type: 'ADD_RECORD',\r\n ids: { projectId, documentId, pageNumber: response.data.pageNumber, undoId: response.data.undoId }\r\n })\r\n );\r\n\r\n //Adding documentId to response data to ensure that efr is being added to the right document in store\r\n response.data.documentId = documentId;\r\n response.data.extractFieldInstanceData = selection.text;\r\n\r\n dispatch(currentDocumentEFRAdd(response.data));\r\n return response;\r\n })\r\n .catch(error => error);\r\n};\r\n\r\nexport const editExtractionFieldRecord = (\r\n projectId,\r\n documentId,\r\n extractionFieldId,\r\n extractionFieldRecordId,\r\n extractFieldInstanceData\r\n) => dispatch => {\r\n return API.editExtractionFieldRecord(\r\n projectId,\r\n documentId,\r\n extractionFieldId,\r\n extractionFieldRecordId,\r\n extractFieldInstanceData\r\n ).then(response => {\r\n dispatch(currentDocumentEFREdit({ extractionFieldRecordId, extractFieldInstanceData }));\r\n return response;\r\n });\r\n};\r\n\r\nexport const removeExtractionFieldRecord = (projectId, documentId, extractionFieldRecordId, pageNumber) => dispatch => {\r\n return API.deleteExtractionFieldRecord(projectId, documentId, extractionFieldRecordId).then(response => {\r\n dispatch(currentDocumentEFRRemove(extractionFieldRecordId));\r\n dispatch(\r\n pushUndoStack({\r\n type: 'DELETE_SINGLE',\r\n ids: {\r\n projectId,\r\n documentId,\r\n pageNumber,\r\n undoId: response.data.undoId\r\n }\r\n })\r\n );\r\n return response;\r\n });\r\n};\r\n\r\nexport const removeAllExtractionFieldRecords = (projectId, documentId, extractionFieldId) => dispatch => {\r\n return API.deleteAllExtractionFieldRecordsForField(projectId, documentId, extractionFieldId).then(response => {\r\n dispatch(currentDocumentEFAllRecordsRemove({ extractionFieldId }));\r\n dispatch(\r\n pushUndoStack({\r\n type: 'DELETE_ALL',\r\n ids: { projectId, documentId, undoId: response.data.undoId }\r\n })\r\n );\r\n return response;\r\n });\r\n};\r\n\r\nexport const addExtractionFieldRecordTag = (projectId, documentId, extractionFieldRecordId, tag) => dispatch => {\r\n dispatch(\r\n currentDocumentEFRTagAdd({\r\n extractionFieldRecordId,\r\n tag: tag\r\n })\r\n );\r\n API.addExtractionFieldRecordTag(projectId, documentId, extractionFieldRecordId, tag.tagId)\r\n .then(response => {\r\n dispatch(clearUndoStack());\r\n return response;\r\n })\r\n .catch(error => {\r\n dispatch(currentDocumentEFRTagRemove({ extractionFieldRecordId, tagId: tag.tagId }));\r\n throw error;\r\n });\r\n};\r\n\r\nexport const removeExtractionFieldRecordTag = (projectId, documentId, extractionFieldRecordId, tag) => dispatch => {\r\n dispatch(currentDocumentEFRTagRemove({ extractionFieldRecordId, tagId: tag.tagId }));\r\n API.removeExtractionFieldRecordTag(projectId, documentId, extractionFieldRecordId, tag.tagId)\r\n .then(response => {\r\n dispatch(clearUndoStack());\r\n return response;\r\n })\r\n .catch(error => {\r\n currentDocumentEFRTagAdd({\r\n extractionFieldRecordId,\r\n tag: tag\r\n });\r\n throw error;\r\n });\r\n};\r\n\r\nexport const organizeDocuments = ({ projectId, documentId, method, start, length }) => dispatch => {\r\n return API.organizeDocuments(projectId, documentId, method, start, length).then(({ data }) =>\r\n dispatch(currentDocumentOrganizeFiles(data))\r\n );\r\n};\r\n\r\nexport const updateSampleNumber = ({ projectId, documentId, start, sampleNumber }) => dispatch => {\r\n dispatch(currentDocumentSampleNumberLoading(start));\r\n return API.updateSampleNumber(projectId, documentId, start, sampleNumber).then(({ data }) =>\r\n dispatch(currentDocumentSampleNumberLoaded(data))\r\n );\r\n};\r\n\r\nexport const setExtractionFieldFilter = selectedSection => dispatch => {\r\n return dispatch(currentDocumentSetEFFilter(selectedSection));\r\n};\r\n\r\nexport const removeDocType = (projectId, documentId, sectionStart) => dispatch => {\r\n return API.removeDocType(projectId, documentId, sectionStart).then(response => {\r\n dispatch(removeDocTypeLoaded(response.data));\r\n });\r\n};\r\n\r\n/*\r\n * Reducer\r\n */\r\nexport const INITIAL_STATE = new Document();\r\n\r\nexport default createReducer(INITIAL_STATE, {\r\n [ACTIONS.CURRENT_DOCUMENT_LOADING]: (state, action) => {\r\n return state.setLoading();\r\n },\r\n\r\n [ACTIONS.CURRENT_DOCUMENT_LOADED]: (state, action) => {\r\n return state.setLoaded(action.payload);\r\n },\r\n\r\n [ACTIONS.CURRENT_DOCUMENT_ERROR]: (state, action) => {\r\n return state.setError(action.payload);\r\n },\r\n\r\n [ACTIONS.CURRENT_DOCUMENT_DELETED]: (state, action) => {\r\n return state.setDeleted();\r\n },\r\n\r\n [ACTIONS.CURRENT_DOCUMENT_CLEAR]: (state, action) => {\r\n return state.clear();\r\n },\r\n\r\n [ACTIONS.CURRENT_DOCUMENT_TAG_ADD]: (state, action) => {\r\n return state.tagAdd(action.payload);\r\n },\r\n\r\n [ACTIONS.CURRENT_DOCUMENT_TAG_REMOVE]: (state, action) => {\r\n return state.tagRemove(action.payload);\r\n },\r\n\r\n [ACTIONS.CURRENT_DOCUMENT_REVIEWER_ADD]: (state, action) => {\r\n if (state.documentId === action.payload.projectItemId) {\r\n return state.reviewerAdd(action.payload);\r\n } else {\r\n return state;\r\n }\r\n },\r\n\r\n [ACTIONS.CURRENT_DOCUMENT_REVIEWER_REMOVE]: (state, action) => {\r\n if (state.documentId === action.payload.projectItemId) {\r\n return state.reviewerRemove(action.payload);\r\n } else {\r\n return state;\r\n }\r\n },\r\n\r\n [ACTIONS.CURRENT_DOCUMENT_EF_ADD]: (state, action) => {\r\n return state.efAdd(action.payload);\r\n },\r\n\r\n [ACTIONS.CURRENT_DOCUMENT_EF_UPDATE]: (state, action) => {\r\n return state.efUpdate(action.payload);\r\n },\r\n\r\n [ACTIONS.CURRENT_DOCUMENT_EF_ALL_RECORDS_REMOVE]: (state, action) => {\r\n return state.efAllRecordsRemove(action.payload.extractionFieldId);\r\n },\r\n\r\n [ACTIONS.CURRENT_DOCUMENT_EFR_ADD]: (state, action) => {\r\n return state.efrAdd(action.payload);\r\n },\r\n\r\n [ACTIONS.CURRENT_DOCUMENT_EFR_EDIT]: (state, action) => {\r\n return state.efrEdit(action.payload);\r\n },\r\n [ACTIONS.CURRENT_DOCUMENT_EFR_REV]: (state, action) => {\r\n return state.efVerify(action.payload);\r\n },\r\n\r\n [ACTIONS.CURRENT_DOCUMENT_EFR_REMOVE]: (state, action) => {\r\n return state.efrRemove(action.payload);\r\n },\r\n\r\n [ACTIONS.CURRENT_DOCUMENT_EFR_TAG_ADD]: (state, action) => {\r\n return state.efrTagAdd(action.payload);\r\n },\r\n\r\n [ACTIONS.CURRENT_DOCUMENT_EFR_TAG_REMOVE]: (state, action) => {\r\n return state.efrTagRemove(action.payload);\r\n },\r\n\r\n [ACTIONS.CURRENT_DOCUMENT_ORGANIZE_FILES]: (state, action) => {\r\n return state.updateSections(action.payload);\r\n },\r\n\r\n [ACTIONS.CURRENT_DOCUMENT_SAMPLE_NUMBER_LOADED]: (state, action) => {\r\n return state.sampleNumberLoaded(action.payload);\r\n },\r\n\r\n [ACTIONS.CURRENT_DOCUMENT_SAMPLE_NUMBER_LOADING]: (state, action) => {\r\n return state.sampleNumberLoading(action.payload);\r\n },\r\n\r\n [ACTIONS.CURRENT_DOCUMENT_SET_EF_FILTER]: (state, action) => {\r\n return state.setEfFilter(action.payload);\r\n },\r\n\r\n [ACTIONS.CURRET_DOCUMENT_DOC_TYPE_REMOVE_LOADED]: (state, action) => {\r\n return state.DocTypeRemove(action.payload);\r\n }\r\n});\r\n\r\n/*\r\n * SOCKETS\r\n */\r\nconst { subscribe, unsubscribe } = (socket => {\r\n let documentRoom = null;\r\n let templateRoom = null;\r\n let onGeneric = null;\r\n let onDocumentDeleted = null;\r\n let onTagAdd = null;\r\n let onTagRemove = null;\r\n let onReviewerAdd = null;\r\n let onReviewerRemove = null;\r\n let onEFAllRecordsRemove = null;\r\n let onEFRAdded = null;\r\n let onEFRRemoved = null;\r\n let onEFRTagAdded = null;\r\n let onEFRTagRemoved = null;\r\n let onEFAdded = null;\r\n let onEFandEFRAdded = null;\r\n let onClassify = null;\r\n let onFieldVerified = null;\r\n\r\n const subscribe = (projectId, documentId, projectTemplateId) => dispatch => {\r\n if (!projectId || !documentId || !projectTemplateId) {\r\n return;\r\n }\r\n\r\n const nextDocumentRoom = rooms.document(projectId, documentId);\r\n const nextTemplateRoom = rooms.templateExtractionFields(projectId, projectTemplateId);\r\n\r\n if (documentRoom !== nextDocumentRoom) {\r\n socket.leave(documentRoom);\r\n documentRoom = nextDocumentRoom;\r\n socket.join(documentRoom);\r\n }\r\n\r\n if (templateRoom !== nextTemplateRoom) {\r\n socket.leave(templateRoom);\r\n templateRoom = nextTemplateRoom;\r\n socket.join(templateRoom);\r\n }\r\n\r\n if (!onDocumentDeleted) {\r\n onDocumentDeleted = response => {\r\n dispatch(currentDocumentDeleted());\r\n };\r\n socket.on('document.delete', onDocumentDeleted);\r\n }\r\n\r\n // Generic socket messages are those that need to trigger a refresh\r\n if (!onGeneric) {\r\n onGeneric = response => {\r\n if (documentRoom || templateRoom) {\r\n dispatch(refreshCurrentDocument());\r\n }\r\n };\r\n socket.on('update', onGeneric);\r\n socket.on('delete', onGeneric);\r\n socket.on('document.template.changed', onGeneric);\r\n socket.on('document.template.updated', onGeneric);\r\n socket.on('extractionfield.recordsort.updated', onGeneric);\r\n socket.on('extractionfieldrecord.updated', onGeneric);\r\n }\r\n\r\n if (!onTagAdd) {\r\n onTagAdd = response => {\r\n dispatch(currentDocumentTagAdd(response.data.tag));\r\n };\r\n socket.on('document.tag.added', onTagAdd);\r\n }\r\n\r\n if (!onTagRemove) {\r\n onTagRemove = response => {\r\n dispatch(currentDocumentTagRemove(response.data));\r\n };\r\n socket.on('document.tag.removed', onTagRemove);\r\n }\r\n\r\n if (!onReviewerAdd) {\r\n onReviewerAdd = response => {\r\n dispatch(\r\n currentDocumentReviewerAdd({\r\n projectId: response.data.projectId,\r\n projectItemId: response.data.documentId,\r\n user: response.data.reviewer,\r\n userId: response.data.reviewer.userId,\r\n username: response.data.reviewer.displayName\r\n })\r\n );\r\n dispatch(refreshCurrentDocument());\r\n };\r\n socket.on('document.reviewer.added', onReviewerAdd);\r\n }\r\n\r\n if (!onReviewerRemove) {\r\n onReviewerRemove = response => {\r\n dispatch(\r\n currentDocumentReviewerRemove({\r\n projectId: response.data.projectId,\r\n projectItemId: response.data.documentId,\r\n userId: response.data.reviewerId\r\n })\r\n );\r\n };\r\n socket.on('document.reviewer.removed', onReviewerRemove);\r\n }\r\n\r\n if (!onEFAllRecordsRemove) {\r\n onEFAllRecordsRemove = response => {\r\n dispatch(currentDocumentEFAllRecordsRemove({ extractionFieldId: response.data.extractionFieldId }));\r\n };\r\n socket.on('all.extractionfieldrecords.deleted', onEFAllRecordsRemove);\r\n }\r\n\r\n if (!onEFRAdded) {\r\n onEFRAdded = response => {\r\n dispatch(currentDocumentEFRAdd(response.data.extractionFieldRecord));\r\n };\r\n socket.on('extractionfieldrecord.added', onEFRAdded);\r\n }\r\n\r\n if (!onEFRRemoved) {\r\n onEFRRemoved = response => {\r\n dispatch(currentDocumentEFRRemove(response.data.documentExtractionFieldInstanceId));\r\n };\r\n socket.on('extractionfieldrecord.removed', onEFRRemoved);\r\n }\r\n\r\n if (!onEFRTagAdded) {\r\n onEFRTagAdded = response => {\r\n dispatch(currentDocumentEFRTagAdd(response.data));\r\n };\r\n socket.on('extractionfieldrecord.tag.added', onEFRTagAdded);\r\n }\r\n\r\n if (!onEFRTagRemoved) {\r\n onEFRTagRemoved = response => {\r\n dispatch(currentDocumentEFRTagRemove(response.data));\r\n };\r\n socket.on('extractionfieldrecord.tag.removed', onEFRTagRemoved);\r\n }\r\n\r\n if (!onEFAdded) {\r\n onEFAdded = response => {\r\n if ((response.room = templateRoom)) {\r\n dispatch(currentDocumentEFAdd(response.data.extractionFieldDTO));\r\n }\r\n };\r\n socket.on('create', onEFAdded);\r\n }\r\n\r\n if (!onEFandEFRAdded) {\r\n onEFandEFRAdded = response => {\r\n const field = response.data.extractionFieldDTO;\r\n const record = response.data.extractionFieldRecord;\r\n\r\n record.documentId = response.data.documentId;\r\n\r\n dispatch(currentDocumentEFAdd(field));\r\n dispatch(currentDocumentEFRAdd(record));\r\n\r\n return response;\r\n };\r\n socket.on('extraction.field.and.record.added', onEFandEFRAdded);\r\n }\r\n\r\n if (!onClassify) {\r\n onClassify = response => {\r\n dispatch(currentDocumentOrganizeFiles(response.data));\r\n return response;\r\n };\r\n socket.on('document.sections.updated', onClassify);\r\n }\r\n\r\n // Add the new event listener for field verification\r\n if (!onFieldVerified) {\r\n onFieldVerified = response => {\r\n const state = store.getState();\r\n const projectId = state.data.currentDocument.projectId;\r\n const documentId = state.data.currentDocument.documentId;\r\n const extractionFieldId = response.data.extractionFieldId; \r\n dispatch(currentDocumentEFRRev({\r\n projectId,\r\n documentId,\r\n extractionFieldId, \r\n }));\r\n dispatch(refreshCurrentDocument(projectId, documentId));\r\n return response;\r\n };\r\n socket.on('extractionfield.verified', onFieldVerified);\r\n socket.on('document.update.state', onFieldVerified);\r\n }\r\n };\r\n\r\n const unsubscribe = () => {\r\n socket.leave(documentRoom);\r\n socket.leave(templateRoom);\r\n documentRoom = null;\r\n templateRoom = null;\r\n\r\n if (onDocumentDeleted) {\r\n socket.off('document.deleted', onTagAdd);\r\n onDocumentDeleted = null;\r\n }\r\n\r\n if (onGeneric) {\r\n socket.off('document.template.changed', onGeneric);\r\n socket.off('document.template.updated', onGeneric);\r\n socket.off('extractionfield.recordsort.updated', onGeneric);\r\n socket.off('extractionfieldrecord.updated', onGeneric);\r\n onGeneric = null;\r\n }\r\n\r\n if (onTagAdd) {\r\n socket.off('document.tag.added', onTagAdd);\r\n onTagAdd = null;\r\n }\r\n\r\n if (onTagRemove) {\r\n socket.off('document.tag.removed', onTagRemove);\r\n onTagRemove = null;\r\n }\r\n\r\n if (onReviewerAdd) {\r\n socket.off('document.reviewer.added', onReviewerAdd);\r\n onReviewerAdd = null;\r\n }\r\n\r\n if (onReviewerRemove) {\r\n socket.off('document.reviewer.removed', onReviewerRemove);\r\n onReviewerRemove = null;\r\n }\r\n\r\n if (onEFAllRecordsRemove) {\r\n socket.off('all.extractionfieldrecords.deleted', onEFAllRecordsRemove);\r\n onEFAllRecordsRemove = null;\r\n }\r\n\r\n if (onEFRAdded) {\r\n socket.off('extractionfieldrecord.added', onEFRAdded);\r\n onEFRAdded = null;\r\n }\r\n\r\n if (onEFRRemoved) {\r\n socket.off('extractionfieldrecord.removed', onEFRRemoved);\r\n onEFRRemoved = null;\r\n }\r\n\r\n if (onEFRTagAdded) {\r\n socket.off('extractionfieldrecord.tag.added', onEFRTagAdded);\r\n onEFRTagAdded = null;\r\n }\r\n\r\n if (onEFRTagRemoved) {\r\n socket.off('extractionfieldrecord.tag.removed', onEFRTagRemoved);\r\n onEFRTagRemoved = null;\r\n }\r\n\r\n if (onEFAdded) {\r\n // do not leave this room as it overlaps with other rooms\r\n // socket.off('create', onEFAdded);\r\n onEFAdded = null;\r\n }\r\n\r\n if (onEFandEFRAdded) {\r\n socket.off('extraction.field.and.record.added', onEFandEFRAdded);\r\n onEFandEFRAdded = null;\r\n }\r\n\r\n if (onClassify) {\r\n socket.off('document.sections.updated', onClassify);\r\n onClassify = null;\r\n }\r\n\r\n // Remove the new event listener for field verification\r\n if (onFieldVerified) {\r\n socket.off('extractionfield.verified', onFieldVerified);\r\n socket.off('document.update.state', onFieldVerified);\r\n onFieldVerified = null;\r\n }\r\n };\r\n\r\n return {\r\n subscribe,\r\n unsubscribe\r\n };\r\n})(socket);\r\n","import model from 'models/base-model';\r\n\r\nexport class CurrentLanguage extends model({\r\n //Default in case of fallback scenario\r\n englishCountryName: 'United States',\r\n englishName: 'English (United State)',\r\n language: 'English (United States)',\r\n localeCode: 'en-US',\r\n nativeCountryName: 'United States',\r\n nativeName: 'English (United States)'\r\n}) {\r\n setLanguage(state, action) {\r\n var fields = Object.assign({}, state, action.payload);\r\n\r\n return this.merge({\r\n ...fields\r\n });\r\n }\r\n}\r\n","import { createAction, createReducer } from 'utils/redux-utils';\r\n\r\nimport * as api from 'store/api';\r\nimport { CurrentLanguage } from 'models/intl/currentLanguage';\r\n\r\nexport const ACTIONS = {\r\n CURRENT_LANGUAGE_SET: 'argus/ui/CURRENT_LANGUAGE_SET'\r\n};\r\n\r\nexport const currentLanguageSet = createAction(ACTIONS.CURRENT_LANGUAGE_SET);\r\nexport const setLanguage = language => dispatch => {\r\n api.setAxiosLanguageHeaders(language.localeCode);\r\n dispatch(currentLanguageSet(language));\r\n localStorage.setItem('language', JSON.stringify(language));\r\n return language;\r\n};\r\n\r\n/*\r\n * Reducer\r\n */\r\nexport const INITIAL_STATE = new CurrentLanguage();\r\n\r\nexport default createReducer(INITIAL_STATE, {\r\n [ACTIONS.CURRENT_LANGUAGE_SET]: (state, action) => {\r\n return state.setLanguage(state, action);\r\n }\r\n});\r\n","import { createAction, createReducer } from 'utils/redux-utils';\r\nimport socket, { rooms } from 'utils/socket';\r\n\r\nimport { User } from 'models/user';\r\nimport * as api from 'store/api';\r\nimport history from 'utils/history';\r\n\r\nexport const ACTIONS = {\r\n CURRENT_USER_LOADING: 'argus/ui/CURRENT_USER_LOADING',\r\n CURRENT_USER_LOADED: 'argus/ui/CURRENT_USER_LOADED',\r\n CURRENT_USER_ERROR: 'argus/ui/CURRENT_USER_ERROR'\r\n};\r\n\r\nexport const currentUserLoading = createAction(ACTIONS.CURRENT_USER_LOADING);\r\nexport const currentUserLoaded = createAction(ACTIONS.CURRENT_USER_LOADED);\r\nexport const currentUserError = createAction(ACTIONS.CURRENT_USER_ERROR);\r\n\r\n// Contains the logic for subscribing/unsubscribing to updates from the socket\r\nexport const { subscribe, unsubscribe } = (socket => {\r\n let room = null;\r\n let onUserLogout = null;\r\n let onUserUpdate = null;\r\n\r\n const subscribe = userId => dispatch => {\r\n if (!userId) {\r\n return;\r\n }\r\n\r\n const nextRoom = rooms.user(userId);\r\n\r\n if (room !== nextRoom) {\r\n socket.leave(room);\r\n room = nextRoom;\r\n socket.join(nextRoom);\r\n }\r\n\r\n // Handle user log out event\r\n if (!onUserLogout) {\r\n onUserLogout = response => {\r\n api.authContextLogout();\r\n };\r\n\r\n socket.on('user.logout', onUserLogout);\r\n }\r\n\r\n // Handle user updated event\r\n if (!onUserUpdate) {\r\n onUserUpdate = response => {\r\n if (response.room === room) {\r\n //The user reponse object here is often incomplete. Perform a refresh to get the correct object\r\n dispatch(getCurrentUser());\r\n }\r\n };\r\n\r\n socket.on('update', onUserUpdate);\r\n }\r\n };\r\n\r\n const unsubscribe = () => {\r\n socket.leave(room);\r\n room = null;\r\n\r\n if (onUserLogout) {\r\n socket.off('user.logout', onUserLogout);\r\n onUserLogout = null;\r\n }\r\n\r\n if (onUserUpdate) {\r\n socket.off('update', onUserUpdate);\r\n onUserUpdate = null;\r\n }\r\n };\r\n\r\n return {\r\n subscribe,\r\n unsubscribe\r\n };\r\n})(socket);\r\n\r\nexport const getCurrentUser = () => dispatch => {\r\n dispatch(currentUserLoading());\r\n return api\r\n .getCurrentUser()\r\n .then(response => {\r\n dispatch(subscribe(response.data.userId));\r\n dispatch(currentUserLoaded(response.data));\r\n })\r\n .catch(error => {\r\n if (error.request && error.request.status === 403) history.push('/unauthorized');\r\n dispatch(currentUserError(error));\r\n });\r\n};\r\n\r\n/*\r\n * Reducer\r\n */\r\nexport const INITIAL_STATE = new User();\r\n\r\nexport default createReducer(INITIAL_STATE, {\r\n [ACTIONS.CURRENT_USER_LOADING]: (state, action) => {\r\n return state.setLoading();\r\n },\r\n\r\n [ACTIONS.CURRENT_USER_LOADED]: (state, action) => {\r\n return state.setLoaded(action.payload);\r\n },\r\n\r\n [ACTIONS.CURRENT_USER_ERROR]: (state, action) => {\r\n return state.setError(action.payload);\r\n }\r\n});\r\n","import model from 'models/base-model';\r\n\r\nexport class DocumentProcessing extends model({\r\n isLoading: false,\r\n isLoaded: false,\r\n error: false,\r\n data: []\r\n}) {\r\n setLoading() {\r\n return this.merge({\r\n isLoading: true,\r\n error: null\r\n });\r\n }\r\n\r\n /* ERROR */\r\n setError(error) {\r\n return this.merge({\r\n isLoading: false,\r\n error: error\r\n });\r\n }\r\n\r\n /* LOADED */\r\n setLoaded(state, action) {\r\n return this.merge({\r\n ...state,\r\n isLoading: false,\r\n isLoaded: true,\r\n data: fromApiModel(action.payload)\r\n });\r\n }\r\n\r\n clear() {\r\n return new DocumentProcessing();\r\n }\r\n}\r\n\r\nfunction fromApiModel(data) {\r\n const mapping = [\r\n {\r\n key: 'uploaded',\r\n ids: [2, 3],\r\n names: ['preUpload', 'uploaded'],\r\n count: 0\r\n },\r\n {\r\n key: 'processing',\r\n ids: [10, 11],\r\n names: ['processing', 'contentProcessingComplete'],\r\n count: 0\r\n },\r\n {\r\n key: 'complete',\r\n ids: [4],\r\n names: ['processed'],\r\n count: 0\r\n },\r\n {\r\n key: 'errorUploading',\r\n ids: [6],\r\n names: ['uploadError'],\r\n count: 0\r\n },\r\n {\r\n key: 'errorOCR',\r\n ids: [7],\r\n names: ['processingError'],\r\n count: 0\r\n },\r\n {\r\n key: 'reprocessingRequired',\r\n ids: [15],\r\n names: ['reprocessingRequired'],\r\n count: 0\r\n },\r\n {\r\n key: 'readyForVerification',\r\n ids: [16],\r\n names: ['readyForVerification'],\r\n count: 0\r\n }\r\n ];\r\n\r\n mapping.forEach(item => {\r\n item.names.forEach(name => {\r\n if (data?.hasOwnProperty(name)) {\r\n item.count += data[name].count;\r\n }\r\n });\r\n });\r\n\r\n return mapping;\r\n}\r\n","import { createAction, createReducer } from 'utils/redux-utils';\r\n\r\nimport * as api from 'store/api';\r\nimport { DocumentProcessing } from 'models/review-status/document-processing';\r\n\r\n// used to hook onto clear call from search results store\r\nimport { ACTIONS as SearchResultsActions } from 'store/search/search-results';\r\n\r\nexport const ACTIONS = {\r\n DOCUMENT_PROCESSING_LOADING: 'argus/ui/DOCUMENT_PROCESSING_LOADING',\r\n DOCUMENT_PROCESSING_LOADED: 'argus/ui/DOCUMENT_PROCESSING_LOADED',\r\n DOCUMENT_PROCESSING_CLEAR: 'argus/ui/DOCUMENT_PROCESSING_CLEAR'\r\n};\r\n\r\nexport const documentProcessingLoading = createAction(ACTIONS.DOCUMENT_PROCESSING_LOADING);\r\nexport const documentProcessingLoaded = createAction(ACTIONS.DOCUMENT_PROCESSING_LOADED);\r\nexport const documentProcessingClear = createAction(ACTIONS.DOCUMENT_PROCESSING_CLEAR);\r\n\r\nexport const getData = projectId => dispatch => {\r\n dispatch(documentProcessingLoading());\r\n return api.getDocumentProcessingStatus(projectId).then(res => {\r\n dispatch(documentProcessingLoaded(res.data));\r\n });\r\n};\r\n\r\nexport const clear = () => dispatch => {\r\n dispatch(documentProcessingClear());\r\n};\r\n\r\n/*\r\n * Reducer\r\n */\r\nexport const INITIAL_STATE = new DocumentProcessing();\r\n\r\nexport default createReducer(INITIAL_STATE, {\r\n [ACTIONS.DOCUMENT_PROCESSING_LOADING]: (state, action) => {\r\n return state.setLoading();\r\n },\r\n\r\n [ACTIONS.DOCUMENT_PROCESSING_LOADED]: (state, action) => {\r\n return state.setLoaded(state, action);\r\n },\r\n\r\n [ACTIONS.DOCUMENT_PROCESSING_CLEAR]: (state, action) => {\r\n return state.clear();\r\n },\r\n\r\n [SearchResultsActions.SEARCH_RESULTS_CLEAR]: (state, action) => {\r\n return state.clear();\r\n }\r\n});\r\n","import model from 'models/base-model';\r\n\r\nexport class DocumentTags extends model({\r\n isLoading: false,\r\n isLoaded: false,\r\n error: false,\r\n tags: []\r\n}) {\r\n setLoading() {\r\n return this.merge({\r\n isLoading: true,\r\n error: null\r\n });\r\n }\r\n\r\n /* ERROR */\r\n setError(error) {\r\n return this.merge({\r\n isLoading: false,\r\n error: error\r\n });\r\n }\r\n\r\n /* LOADED */\r\n setLoaded(state, action) {\r\n return this.merge({\r\n ...state,\r\n isLoading: false,\r\n isLoaded: true,\r\n tags: action.payload ?? []\r\n });\r\n }\r\n}\r\n","import { createAction, createReducer } from 'utils/redux-utils';\r\n\r\nimport * as api from 'store/api';\r\nimport { DocumentTags } from 'models/tags/document-tags';\r\nimport { ACTIONS as PROJECT_ACTIONS } from 'store/current-project';\r\n\r\nexport const ACTIONS = {\r\n DOCUMENT_TAGS_LOADING: 'argus/ui/DOCUMENT_TAGS_LOADING',\r\n DOCUMENT_TAGS_LOADED: 'argus/ui/DOCUMENT_TAGS_LOADED'\r\n};\r\n\r\nexport const documentTagsLoading = createAction(ACTIONS.DOCUMENT_TAGS_LOADING);\r\nexport const documentTagsLoaded = createAction(ACTIONS.DOCUMENT_TAGS_LOADED);\r\n\r\nexport const getData = projectId => dispatch => {\r\n dispatch(documentTagsLoading());\r\n return api.getDocumentTags(projectId).then(res => {\r\n dispatch(documentTagsLoaded(res.data));\r\n });\r\n};\r\n\r\n/*\r\n * Reducer\r\n */\r\nexport const INITIAL_STATE = new DocumentTags();\r\n\r\nexport default createReducer(INITIAL_STATE, {\r\n [ACTIONS.DOCUMENT_TAGS_LOADING]: (state, action) => {\r\n return state.setLoading();\r\n },\r\n\r\n [ACTIONS.DOCUMENT_TAGS_LOADED]: (state, action) => {\r\n return state.setLoaded(state, action);\r\n },\r\n\r\n [PROJECT_ACTIONS.CLEAR_PROJECT_DATA]: (state, action) => {\r\n return INITIAL_STATE;\r\n }\r\n});\r\n","import model from 'models/base-model';\r\n\r\nexport class DocumentTypeTags extends model({\r\n isLoading: false,\r\n isLoaded: false,\r\n error: false,\r\n tags: []\r\n}) {\r\n setLoading() {\r\n return this.merge({\r\n isLoading: true,\r\n error: null\r\n });\r\n }\r\n\r\n /* ERROR */\r\n setError(error) {\r\n return this.merge({\r\n isLoading: false,\r\n error: error\r\n });\r\n }\r\n\r\n /* LOADED */\r\n setLoaded(state, action) {\r\n return this.merge({\r\n ...state,\r\n isLoading: false,\r\n isLoaded: true,\r\n tags: action.payload ?? []\r\n });\r\n }\r\n}\r\n","import { createAction, createReducer } from 'utils/redux-utils';\r\n\r\nimport * as api from 'store/api';\r\nimport { DocumentTypeTags } from 'models/tags/document-type-tags';\r\nimport { ACTIONS as PROJECT_ACTIONS } from 'store/current-project';\r\n\r\nexport const ACTIONS = {\r\n DOCUMENT_TYPE_TAGS_LOADING: 'argus/ui/DOCUMENT_TYPE_TAGS_LOADING',\r\n DOCUMENT_TYPE_TAGS_LOADED: 'argus/ui/DOCUMENT_TYPE_TAGS_LOADED'\r\n};\r\n\r\nexport const documentTypeTagsLoading = createAction(ACTIONS.DOCUMENT_TYPE_TAGS_LOADING);\r\nexport const documentTypeTagsLoaded = createAction(ACTIONS.DOCUMENT_TYPE_TAGS_LOADED);\r\n\r\nexport const getData = projectId => dispatch => {\r\n dispatch(documentTypeTagsLoading());\r\n return api.getDocumentTypeTags(projectId).then(res => {\r\n dispatch(documentTypeTagsLoaded(res.data));\r\n });\r\n};\r\n\r\n/*\r\n * Reducer\r\n */\r\nexport const INITIAL_STATE = new DocumentTypeTags();\r\n\r\nexport default createReducer(INITIAL_STATE, {\r\n [ACTIONS.DOCUMENT_TYPE_TAGS_LOADING]: (state, action) => {\r\n return state.setLoading();\r\n },\r\n\r\n [ACTIONS.DOCUMENT_TYPE_TAGS_LOADED]: (state, action) => {\r\n return state.setLoaded(state, action);\r\n },\r\n\r\n [PROJECT_ACTIONS.CLEAR_PROJECT_DATA]: (state, action) => {\r\n return INITIAL_STATE;\r\n }\r\n});\r\n","/* Data clean up helper for redux models */\r\n/* Basically takes an array or object, and determines whether it exists in the other array, and if\r\nnot, push it to the new array, to make a unique list of data */\r\n\r\nfunction checkIfArrayHasValue(item, array) {\r\n return array.includes(item);\r\n}\r\n\r\nfunction getUniqueValues(array1, array2, key) {\r\n return array1.filter(v => !array2.includes(v[key]));\r\n}\r\n\r\nfunction getNewValues(original, array1, array2, filterKey) {\r\n let arr = original;\r\n\r\n array1.forEach(value => {\r\n if (!checkIfArrayHasValue(value[filterKey], array2)) {\r\n arr.push(value);\r\n }\r\n });\r\n\r\n return arr;\r\n}\r\n\r\nfunction updateOriginalArray(array1, array2, filterKey) {\r\n return array1.map(item => {\r\n if (\r\n !checkIfArrayHasValue(\r\n item[filterKey],\r\n array2.map(e => e[filterKey])\r\n )\r\n ) {\r\n // This isn't the item we care about - keep it as-is\r\n return item;\r\n }\r\n\r\n // Otherwise, this is the one we want - return an updated value\r\n return {\r\n ...item,\r\n disabled: true\r\n };\r\n });\r\n}\r\n\r\nexport function getTransformedValues(selectionArray, addedElement, filterKey, cleanFunction) {\r\n const data = Array.isArray(addedElement) ? addedElement : [addedElement];\r\n const ids = selectionArray.map(e => e[filterKey]);\r\n const uniqueValues = getUniqueValues(data, ids, filterKey);\r\n\r\n const cleanedData =\r\n uniqueValues.length > 0 ? uniqueValues.map(e => cleanFunction(e)) : data.map(e => cleanFunction(e));\r\n const newValues = getNewValues(selectionArray, cleanedData, ids, filterKey); // For original array\r\n\r\n return {\r\n original: updateOriginalArray(newValues, data, filterKey),\r\n addedElement: cleanedData\r\n };\r\n}\r\n","export function flattenAddExtractionData(extractionFields, currentExtractionIds) {\r\n var flatArray = [];\r\n\r\n extractionFields.forEach(extractionField => {\r\n if (extractionField.groups && extractionField.groups.length > 0) {\r\n //Grouped extraction field\r\n extractionField.groups.forEach(group => {\r\n flatArray.push({\r\n id: extractionField.extractionFieldId,\r\n disabled: currentExtractionIds.indexOf(extractionField.extractionFieldId) !== -1,\r\n externalSystemId: extractionField.externalSystemId,\r\n group: group.extractionFieldGroupName,\r\n groupId: group.extractionFieldGroupId,\r\n groupMapping: extractionField.extractionFieldDisplayOrderMappings,\r\n name: extractionField.extractionFieldName,\r\n description: extractionField.extractionFieldDescription,\r\n color: extractionField.colorIndex,\r\n trainingCount: extractionField.reviewDocumentCount,\r\n trainingTarget: extractionField.minDocumentsToBeConsideredTrained,\r\n isTrained: extractionField.isTrained,\r\n isAutomaticExtraction: extractionField.isAutomaticExtraction,\r\n AccessTypeId: extractionField.accessTypeId\r\n });\r\n });\r\n } else {\r\n //Ungrouped Extraction Field\r\n flatArray.push({\r\n id: extractionField.extractionFieldId,\r\n disabled: currentExtractionIds.indexOf(extractionField.extractionFieldId) !== -1,\r\n externalSystemId: extractionField.externalSystemId,\r\n group: null,\r\n groupId: null,\r\n groupMapping: [],\r\n name: extractionField.extractionFieldName,\r\n description: extractionField.extractionFieldDescription,\r\n color: extractionField.colorIndex,\r\n trainingCount: extractionField.reviewDocumentCount,\r\n trainingTarget: extractionField.minDocumentsToBeConsideredTrained,\r\n isTrained: extractionField.isTrained,\r\n isAutomaticExtraction: extractionField.isAutomaticExtraction,\r\n AccessTypeId: extractionField.accessTypeId\r\n });\r\n }\r\n });\r\n\r\n return flatArray;\r\n}\r\n\r\nexport function processAddExtractionData(rawData, currentExtractionIds) {\r\n var flatArray = [];\r\n var ids = [];\r\n\r\n rawData.groups.forEach(group => {\r\n group.extractionFields.forEach(extractionField => {\r\n ids.push(extractionField.extractionFieldId);\r\n\r\n flatArray.push({\r\n id: extractionField.extractionFieldId,\r\n disabled: currentExtractionIds.indexOf(extractionField.extractionFieldId) !== -1,\r\n group: group.extractionFieldGroupName,\r\n name: extractionField.extractionFieldName,\r\n description: extractionField.extractionFieldDescription,\r\n color: extractionField.colorIndex,\r\n trainingCount: extractionField.reviewDocumentCount,\r\n trainingTarget: extractionField.minDocumentsToBeConsideredTrained,\r\n isTrained: extractionField.isTrained,\r\n isAutomaticExtraction: extractionField.isAutomaticExtraction,\r\n AccessTypeId: extractionField.accessTypeId\r\n });\r\n });\r\n });\r\n\r\n rawData.fields.forEach(field => {\r\n if (ids.indexOf(field.extractionFieldId) === -1) {\r\n ids.push(field.extractionFieldId);\r\n flatArray.push({\r\n id: field.extractionFieldId,\r\n disabled: currentExtractionIds.indexOf(field.extractionFieldId) !== -1,\r\n group: null,\r\n name: field.extractionFieldName,\r\n description: field.extractionFieldDescription,\r\n color: field.colorIndex,\r\n trainingCount: field.reviewDocumentCount,\r\n trainingTarget: field.minDocumentsToBeConsideredTrained,\r\n isTrained: field.isTrained,\r\n isAutomaticExtraction: field.isAutomaticExtraction,\r\n AccessTypeId: field.accessTypeId\r\n });\r\n }\r\n });\r\n\r\n return flatArray;\r\n}\r\n\r\n// Used for data clean up of group based add extraction component\r\nexport function processGroupAddExtraction(data, ids) {\r\n if (!data || data.length <= 0) return [];\r\n const modifiedData = data =>\r\n data.map(group => {\r\n return group.extractionFields.map(value => {\r\n return {\r\n id: value.extractionFieldId,\r\n disabled: ids.indexOf(value.extractionFieldId) !== -1,\r\n group: group.extractionFieldGroupName,\r\n name: value.extractionFieldName,\r\n description: value.extractionFieldDescription,\r\n color: value.colorIndex,\r\n trainingCount: value.reviewDocumentCount,\r\n trainingTarget: value.minDocumentsToBeConsideredTrained,\r\n isTrained: value.isTrained,\r\n isAutomaticExtraction: value.isAutomaticExtraction,\r\n AccessTypeId: value.accessTypeId\r\n };\r\n });\r\n });\r\n\r\n // Let's flatten the modfied arr\r\n return [].concat.apply([], modifiedData(data));\r\n}\r\n","import Constants from 'utils/constants';\r\n\r\nexport function processTemplateExtractionFields(template, groups) {\r\n var processedFields = [];\r\n groups.forEach(group => {\r\n group.extractionFields.forEach(field =>\r\n processedFields.push({\r\n id: field.extractionFieldId,\r\n externalSystemId: field.externalSystemId,\r\n group:\r\n template.templateCategoryId == Constants.TemplateCategories.Custom_GENAI_NONDETAIL_TESTING &&\r\n group.groupSystemName == Constants.CustomExtractionFieldGroups.GENAI_CUSTOM_GROUP_SYSTEMNAME\r\n ? template.customDocTypeName\r\n : group.extractionFieldGroupName,\r\n groupId: group.extractionFieldGroupId,\r\n groupDisplayOrder: group.displayOrder,\r\n template: template.name,\r\n templateId: template.projectTemplateId,\r\n templateTypeID: template.templateTypeID,\r\n name: field.extractionFieldName,\r\n description: field.extractionFieldDescription,\r\n color: field.colorIndex,\r\n trainingCount: field.reviewDocumentCount,\r\n trainingTarget: field.minDocumentsToBeConsideredTrained,\r\n isTrained: field.isTrained,\r\n isAutomaticExtraction: field.isAutomaticExtraction,\r\n AccessTypeId: field.accessTypeId,\r\n isSelected: field.isSelected || false\r\n })\r\n );\r\n });\r\n return processedFields;\r\n}\r\n\r\nexport function getExtractionFieldIds(fields) {\r\n var ids = [];\r\n if (!fields || fields.length === 0) return ids;\r\n fields.forEach(extraction => ids.push(extraction.id));\r\n return ids;\r\n}\r\n\r\nexport function processGroupExtractions(data) {\r\n if (!data || data.length <= 0) return [];\r\n return data.map(value => {\r\n return {\r\n id: value.extractionFieldId,\r\n groupId: value.extractionFieldGroupId,\r\n name: value.extractionFieldName,\r\n color: value.colorIndex,\r\n trainingCount: value.reviewDocumentCount,\r\n trainingTarget: value.minDocumentsToBeConsideredTrained,\r\n isTrained: value.isTrained,\r\n isAutomaticExtraction: value.isAutomaticExtraction,\r\n AccessTypeId: value.accessTypeId,\r\n ...(value.externalSystemId && { externalSystemId: value.externalSystemId })\r\n };\r\n });\r\n}\r\n","import model from 'models/base-model';\r\n\r\nimport { getTransformedValues } from 'utils/data-utils';\r\nimport { flattenAddExtractionData } from 'components/extractions/helpers/add-extraction';\r\nimport { processTemplateExtractionFields } from 'components/extractions/helpers/extraction-picker';\r\nimport dateUtil from 'utils/dateUtil';\r\n\r\nexport class EditExtractions extends model({\r\n isAllExtLoading: false,\r\n isTemplateExtLoading: false,\r\n isTemplatesLoading: false,\r\n projectId: null,\r\n selectedId: null,\r\n selectedName: '',\r\n selectedTemplateCategoryId: null,\r\n templates: [],\r\n allExtractions: [],\r\n templateExtractions: [],\r\n untitled: 'Enter the name of the template', // Fallback for when there is no untitled intl prop\r\n templateSuffix: 'Template' // Fallback for when there is no untitled intl prop\r\n}) {\r\n /* LOADERS */\r\n setTemplatesLoading() {\r\n return this.merge({\r\n isTemplatesLoading: true,\r\n error: null\r\n });\r\n }\r\n\r\n setAllExtLoading() {\r\n return this.merge({\r\n isAllExtLoading: true,\r\n error: null\r\n });\r\n }\r\n\r\n setTemplateExtLoading() {\r\n return this.merge({\r\n isTemplateExtLoading: true,\r\n error: null\r\n });\r\n }\r\n\r\n /* EXTRACTIONS LOADED */\r\n setAllExtLoaded(state, action) {\r\n return this.merge({\r\n ...state,\r\n isAllExtLoading: false,\r\n allExtractions: flattenAddExtractionData(\r\n action.payload,\r\n state.templateExtractions.length > 0 ? state.templateExtractions.map(v => v.id) : []\r\n )\r\n });\r\n }\r\n\r\n // When template specific extractions have loaded\r\n setTemplateExtLoaded(state, action) {\r\n return this.merge({\r\n ...state,\r\n isTemplateExtLoading: false,\r\n templateExtractions: processTemplateExtractionFields(action.payload.templates[0], action.payload.groups)\r\n });\r\n }\r\n\r\n // When a user moves the position of extractions\r\n setExtMoved(state, action) {\r\n return this.merge({\r\n ...state,\r\n templateExtractions: action.payload\r\n });\r\n }\r\n\r\n // If user has deleted the extractions\r\n setExtDeleted(state, action) {\r\n if (state.allExtractions.length > 0) {\r\n const deletedId = state.allExtractions\r\n .map((e, i) => (e.id === action.payload.extractionFieldId ? i : ''))\r\n .filter(String);\r\n // We have to update the group view so it now becomes enabled\r\n if (deletedId.length > 0) {\r\n deletedId.forEach(index => (state.allExtractions[index].disabled = false));\r\n }\r\n }\r\n\r\n return this.merge({\r\n ...state,\r\n isTemplateExtLoading: false,\r\n error: null,\r\n templateExtractions: state.templateExtractions.filter(v => v.id !== action.payload.extractionFieldId),\r\n allExtractions: state.allExtractions ?? []\r\n });\r\n }\r\n\r\n cleanExtraction(data) {\r\n // If it's already clean, no need to re-clean\r\n if (data.trainingTarget) {\r\n return data;\r\n }\r\n return {\r\n id: data.extractionFieldId,\r\n group:\r\n data.groups.length > 0\r\n ? (data.extractionFieldGroupId\r\n ? data.groups.find(gr => gr.extractionFieldGroupId === data.extractionFieldGroupId)\r\n : data.groups[0]\r\n ).extractionFieldGroupName\r\n : null,\r\n groupId:\r\n data.groups.length > 0\r\n ? (data.extractionFieldGroupId\r\n ? data.groups.find(gr => gr.extractionFieldGroupId === data.extractionFieldGroupId)\r\n : data.groups[0]\r\n ).extractionFieldGroupId\r\n : 0,\r\n name: data.extractionFieldName,\r\n description: data.extractionFieldDescription,\r\n color: data.colorIndex,\r\n trainingCount: data.reviewDocumentCount,\r\n trainingTarget: data.minDocumentsToBeConsideredTrained,\r\n isTrained: data.isTrained,\r\n AccessTypeId: data.accessTypeId,\r\n isAutomaticExtraction: data.isAutomaticExtraction\r\n };\r\n }\r\n\r\n // Update the all extractions when user clicks on adding a field\r\n setExtAllUpdate(state, action) {\r\n const data = getTransformedValues([...state.allExtractions], action.payload, 'id', this.cleanExtraction);\r\n\r\n return this.merge({\r\n ...state,\r\n allExtractions: data.original ?? [],\r\n templateExtractions: state.templateExtractions.concat(data.addedElement)\r\n });\r\n }\r\n\r\n // When a user adds an extraction => this is needed to improve performance when user is adding\r\n // A lot of extractions at once\r\n setExtAdded(state, action) {\r\n const data = getTransformedValues([...state.allExtractions], action.payload.data, 'id', this.cleanExtraction);\r\n\r\n return this.merge({\r\n ...state,\r\n templateExtractions: state.templateExtractions.concat(data.addedElement),\r\n allExtractions: data.original ?? []\r\n });\r\n }\r\n\r\n /* PROJECT TEMPLATES */\r\n setTempSelected(state, action) {\r\n return this.merge({\r\n ...state,\r\n selectedId: action.payload.projectTemplateId,\r\n selectedName: action.payload.name,\r\n selectedTemplateCategoryId: action.payload.templateCategoryId\r\n });\r\n }\r\n\r\n // Handle adding or updating a template\r\n setAddedOrUpdated(state, action) {\r\n const id = action.payload.templateId || action.payload.projectTemplateId;\r\n const name = action.payload.projectTemplateName || action.payload.name;\r\n\r\n const updatedIndex = state.templates.findIndex(template => template.projectTemplateId === id);\r\n if (updatedIndex >= 0) {\r\n state.templates[updatedIndex].name = name || action.payload.templateName;\r\n return this.merge({\r\n selectedName: name || action.payload.templateName,\r\n selectedTemplateCategoryId: action.payload.templateCategoryId\r\n ? action.payload.templateCategoryId\r\n : state.selectedTemplateCategoryId,\r\n selectedId: id,\r\n templates: [...state.templates]\r\n });\r\n }\r\n\r\n return this.merge({\r\n ...state,\r\n selectedId: id,\r\n selectedName: name,\r\n selectedTemplateCategoryId: action.payload.templateCategoryId\r\n ? action.payload.templateCategoryId\r\n : state.selectedTemplateCategoryId,\r\n templates: state.templates.concat({\r\n name: name,\r\n projectTemplateId: action.payload.projectTemplateId\r\n })\r\n });\r\n }\r\n\r\n // When a user duplicates a template\r\n setDuplicated(state, action) {\r\n return this.merge({\r\n ...state,\r\n selectedId: action.payload.projectTemplateId,\r\n selectedName: action.payload.name,\r\n selectedTemplateCategoryId: action.payload.templateCategoryId\r\n });\r\n }\r\n\r\n // When a user deletes a selected template\r\n setDeleted(state, action) {\r\n const filtered = state.templates.filter(v => v.projectTemplateId !== action.payload.projectTemplateId);\r\n if (state.selectedId === action.payload.projectTemplateId) {\r\n return this.merge({\r\n ...state,\r\n isTemplatesLoading: false,\r\n error: null,\r\n templates: filtered,\r\n selectedId: filtered.length > 0 ? filtered[0].projectTemplateId : null,\r\n selectedName: filtered.length > 0 ? filtered[0].name : null,\r\n selectedTemplateCategoryId: filtered.length > 0 ? filtered[0].templateCategoryId : null\r\n });\r\n } else {\r\n return this.merge({\r\n ...state,\r\n isTemplatesLoading: false,\r\n error: null,\r\n templates: filtered\r\n });\r\n }\r\n }\r\n\r\n // When a user changes a template name\r\n setChangedName(state, action) {\r\n return this.merge({\r\n ...state,\r\n selectedName: action.payload\r\n });\r\n }\r\n\r\n // Get data returned from the API\r\n setTemplatesLoaded(state, action) {\r\n const { data, defaultTemplate } = action.payload;\r\n\r\n let selectedTemplate = {\r\n projectTemplateId: null,\r\n name: null,\r\n templateCategoryId: null\r\n };\r\n\r\n if (data && data.length > 0) {\r\n selectedTemplate =\r\n data.find(({ projectTemplateId }) => projectTemplateId === defaultTemplate) ?? data[data.length - 1];\r\n }\r\n\r\n return this.merge({\r\n ...state,\r\n isTemplatesLoading: false,\r\n selectedId: selectedTemplate.projectTemplateId,\r\n selectedName: selectedTemplate.name,\r\n selectedTemplateCategoryId: selectedTemplate.templateCategoryId,\r\n templates: data && data.length > 0 ? data.map(templates => Templates.fromData(templates)) : []\r\n });\r\n }\r\n}\r\n\r\nexport class Templates extends model({\r\n isLoading: false,\r\n error: null,\r\n lastUpdatedDate: null,\r\n lastUpdatedBy: null,\r\n createdDate: null,\r\n createdBy: null\r\n}) {\r\n setLoading() {\r\n return this.merge({\r\n isLoading: true,\r\n error: null\r\n });\r\n }\r\n\r\n setError(error) {\r\n return this.merge({\r\n isLoading: false,\r\n error: error\r\n });\r\n }\r\n\r\n // Get data returned from the API\r\n setLoaded(templates) {\r\n return Templates.fromData(templates);\r\n }\r\n\r\n static fromData(model) {\r\n return new Templates({\r\n ...model,\r\n isLoading: false,\r\n error: null,\r\n createdDate: dateUtil.fromServerDate(model.createdDate)\r\n });\r\n }\r\n}\r\n","import { createAction, createReducer } from 'utils/redux-utils';\r\n\r\nimport * as api from 'store/api';\r\nimport { EditExtractions } from 'models/edit-extractions';\r\nimport socket, { rooms } from 'utils/socket';\r\nimport { itemsDeleted } from './current-folder';\r\nimport { currentFolderInvalidate } from './current-folder';\r\n\r\nexport const ACTIONS = {\r\n // Extractions\r\n PROJECT_EXTRACTIONS_LOADING: 'argus/ui/PROJECT_EXTRACTIONS_LOADING',\r\n PROJECT_EXTRACTIONS_LOADED: 'argus/ui/PROJECT_EXTRACTIONS_LOADED',\r\n UPDATE_ALL_EXTRACTIONS: 'argus/ui/UPDATE_ALL_EXTRACTIONS',\r\n PROJECT_TEMPLATE_EXTRACTIONS_LOADING: 'argus/ui/PROJECT_TEMPLATE_EXTRACTIONS_LOADING',\r\n PROJECT_TEMPLATE_EXTRACTIONS_LOADED: 'argus/ui/PROJECT_TEMPLATE_EXTRACTIONS_LOADED',\r\n PROJECT_DELETE_EXTRACTION: 'argus/ui/PROJECT_DELETE_EXTRACTION',\r\n PROJECT_MOVE_EXTRACTION: 'argus/ui/PROJECT_MOVE_EXTRACTION',\r\n PROJECT_ADD_EXTRACTION: 'argus/ui/PROJECT_ADD_EXTRACTION',\r\n // Data fetching\r\n TEMPLATES_LOADING: 'argus/ui/TEMPLATES_LOADING',\r\n TEMPLATES_LOADED: 'argus/ui/TEMPLATES_LOADED',\r\n ADD_OR_UPDATE_PROJECT_TEMPLATE: 'argus/ui/ADD_OR_UPDATE_PROJECT_TEMPLATE',\r\n // Data duplicating\r\n DUPLICATE_PROJECT_TEMPLATE: 'argus/ui/DUPLICATE_PROJECT_TEMPLATE',\r\n // Data select\r\n SELECTED_PROJECT_TEMPLATE: 'argus/ui/SELECTED_PROJECT_TEMPLATE',\r\n // Data delete\r\n DELETE_PROJECT_TEMPLATE: 'argus/ui/DELETE_PROJECT_TEMPLATE',\r\n // User change template name\r\n RENAME_TEMPLATE_NAME: 'argus/ui/RENAME_TEMPLATE_NAME',\r\n EDIT_EXTRACTIONS_RESET_STATE: 'argus/ui/EDIT_EXTRACTIONS_RESET_STATE'\r\n};\r\n\r\nexport const allExtractionsLoading = createAction(ACTIONS.PROJECT_EXTRACTIONS_LOADING);\r\nexport const allExtractionsLoaded = createAction(ACTIONS.PROJECT_EXTRACTIONS_LOADED);\r\nexport const modifyAllExtractions = createAction(ACTIONS.UPDATE_ALL_EXTRACTIONS);\r\nexport const templateExtractionsLoading = createAction(ACTIONS.PROJECT_TEMPLATE_EXTRACTIONS_LOADING);\r\nexport const templateExtractionsLoaded = createAction(ACTIONS.PROJECT_TEMPLATE_EXTRACTIONS_LOADED);\r\nexport const delExtractionsTemplate = createAction(ACTIONS.PROJECT_DELETE_EXTRACTION);\r\nexport const moveExtractionsTemplate = createAction(ACTIONS.PROJECT_MOVE_EXTRACTION);\r\nexport const addExtractionsTemplate = createAction(ACTIONS.PROJECT_ADD_EXTRACTION);\r\n\r\nexport const projectTemplatesLoading = createAction(ACTIONS.TEMPLATES_LOADING);\r\nexport const projectTemplatesLoaded = createAction(ACTIONS.TEMPLATES_LOADED);\r\n\r\nexport const addOrUpdateProjectTemplate = createAction(ACTIONS.ADD_OR_UPDATE_PROJECT_TEMPLATE);\r\n\r\nexport const dupeProjectTemplate = createAction(ACTIONS.DUPLICATE_PROJECT_TEMPLATE);\r\n\r\nexport const selProjectTemplate = createAction(ACTIONS.SELECTED_PROJECT_TEMPLATE);\r\n\r\nexport const delProjectTemplate = createAction(ACTIONS.DELETE_PROJECT_TEMPLATE);\r\n\r\nexport const modifyTemplateName = createAction(ACTIONS.RENAME_TEMPLATE_NAME);\r\n\r\nexport const resetState = createAction(ACTIONS.EDIT_EXTRACTIONS_RESET_STATE);\r\n\r\n// Contains the logic for subscribing/unsubscribing to template create/updated/delete updates\r\nconst { subscribeToTemplates, unsubscribeToTemplates } = (socket => {\r\n let room = null;\r\n let onTemplateAdded = null;\r\n let onTemplateUpdated = null;\r\n let onTemplateDeleted = null;\r\n let onFieldPublished = null;\r\n\r\n const subscribeToTemplates = projectId => dispatch => {\r\n if (!projectId) {\r\n return;\r\n }\r\n\r\n const nextRoom = rooms.templates(projectId);\r\n\r\n if (room !== nextRoom) {\r\n socket.leave(room);\r\n room = nextRoom;\r\n socket.join(nextRoom);\r\n }\r\n\r\n // Join the extraction fields room since we bind to\r\n // publish/unpublish updates\r\n socket.join(rooms.extractionFields());\r\n\r\n if (!onTemplateAdded) {\r\n onTemplateAdded = response => {\r\n dispatch(addOrUpdateProjectTemplate(response.data));\r\n };\r\n socket.on('project.template.added', onTemplateAdded);\r\n }\r\n\r\n if (!onTemplateUpdated) {\r\n onTemplateUpdated = response => {\r\n dispatch(addOrUpdateProjectTemplate(response.data));\r\n };\r\n socket.on('project.template.update', onTemplateUpdated);\r\n }\r\n\r\n if (!onTemplateDeleted) {\r\n onTemplateDeleted = response => {\r\n dispatch(delProjectTemplate(response.data));\r\n };\r\n socket.on('project.template.deleted', onTemplateDeleted);\r\n }\r\n\r\n if (!onFieldPublished) {\r\n onFieldPublished = response => {\r\n api.getExtractionFields().then(res => dispatch(allExtractionsLoaded(res.data)));\r\n };\r\n socket.on('extractionfield.publish', onFieldPublished);\r\n }\r\n };\r\n\r\n const unsubscribeToTemplates = () => {\r\n socket.leave(room);\r\n room = null;\r\n socket.leave(rooms.extractionFields());\r\n\r\n if (onTemplateAdded) {\r\n socket.off('project.template.added', onTemplateAdded);\r\n onTemplateAdded = null;\r\n }\r\n\r\n if (onTemplateUpdated) {\r\n socket.off('project.template.update', onTemplateUpdated);\r\n onTemplateUpdated = null;\r\n }\r\n\r\n if (onTemplateDeleted) {\r\n socket.off('project.template.deleted', onTemplateDeleted);\r\n onTemplateDeleted = null;\r\n }\r\n\r\n if (onFieldPublished) {\r\n socket.off('extractionfield.publish', onFieldPublished);\r\n onFieldPublished = null;\r\n }\r\n };\r\n\r\n return {\r\n subscribeToTemplates,\r\n unsubscribeToTemplates\r\n };\r\n})(socket);\r\n\r\n//Contains the logic for subscribing/unsubscribing to folder delete when template delete\r\nconst { subscribeToFolder, unsubscribeToFolder } = (socket => {\r\n let projectRoom = null;\r\n let folderRoom = null;\r\n let onDelete = null;\r\n\r\n const subscribeToFolder = (projectId, folderId) => dispatch => {\r\n if (!projectId || !folderId) {\r\n return;\r\n }\r\n\r\n const nextProjectRoom = rooms.project(projectId);\r\n const nextFolderRoom = rooms.folder(projectId, folderId);\r\n\r\n if (projectRoom !== nextProjectRoom) {\r\n socket.leave(projectRoom);\r\n projectRoom = nextProjectRoom;\r\n socket.join(projectRoom);\r\n }\r\n\r\n if (folderRoom !== nextFolderRoom) {\r\n socket.leave(folderRoom);\r\n folderRoom = nextFolderRoom;\r\n socket.join(folderRoom);\r\n }\r\n\r\n if (!onDelete) {\r\n onDelete = response => {\r\n dispatch(itemsDeleted([response.data]));\r\n dispatch(currentFolderInvalidate());\r\n };\r\n socket.on('document.delete', onDelete);\r\n socket.on('folder.delete', onDelete);\r\n }\r\n };\r\n\r\n const unsubscribeToFolder = () => {\r\n socket.leave(projectRoom);\r\n socket.leave(folderRoom);\r\n projectRoom = null;\r\n folderRoom = null;\r\n\r\n if (onDelete) {\r\n socket.off('document.delete', onDelete);\r\n socket.off('folder.delete', onDelete);\r\n onDelete = null;\r\n }\r\n };\r\n\r\n return {\r\n subscribeToFolder,\r\n unsubscribeToFolder\r\n };\r\n})(socket);\r\n\r\n// Contains the logic for subscribing/unsubscribing to xf added/removed from template updates\r\nconst { subscribeToTemplateFields, unsubscribeToTemplateFields } = (socket => {\r\n let room = null;\r\n let onFieldAdded = null;\r\n let onFieldRemoved = null;\r\n\r\n const subscribeToTemplateFields = (projectId, templateId) => dispatch => {\r\n if (!projectId) {\r\n return;\r\n }\r\n\r\n const nextRoom = rooms.templateExtractionFields(projectId, templateId);\r\n\r\n if (room !== nextRoom) {\r\n socket.leave(room);\r\n room = nextRoom;\r\n socket.join(nextRoom);\r\n }\r\n\r\n if (!onFieldRemoved) {\r\n onFieldRemoved = response => {\r\n dispatch(delExtractionsTemplate(response.data.extractionField));\r\n };\r\n socket.on('delete', onFieldRemoved);\r\n }\r\n };\r\n\r\n const unsubscribeToTemplateFields = () => {\r\n socket.leave(room);\r\n room = null;\r\n\r\n if (onFieldAdded) {\r\n socket.off('create', onFieldAdded);\r\n onFieldAdded = null;\r\n }\r\n\r\n if (onFieldRemoved) {\r\n socket.off('remove', onFieldRemoved);\r\n onFieldRemoved = null;\r\n }\r\n };\r\n\r\n return {\r\n subscribeToTemplateFields,\r\n unsubscribeToTemplateFields\r\n };\r\n})(socket);\r\n\r\n/* EXTRACTIONS */\r\nexport const loadAllExtraction = (projectId, templateCategoryId) => dispatch => {\r\n dispatch(allExtractionsLoading());\r\n return api.getExtractionFieldsByCategoryID(templateCategoryId, projectId).then(res => dispatch(allExtractionsLoaded(res.data)));\r\n};\r\n\r\nexport const loadTemplateExtraction = (projectId, templateId) => dispatch => {\r\n dispatch(templateExtractionsLoading());\r\n return api\r\n .getProjectTemplateExtractionFields(projectId, templateId)\r\n .then(res => {\r\n dispatch(templateExtractionsLoaded(res.data));\r\n dispatch(subscribeToTemplateFields(projectId, templateId));\r\n return res;\r\n })\r\n .catch(err => err);\r\n};\r\n\r\nexport const moveExtraction = data => dispatch => {\r\n return dispatch(moveExtractionsTemplate(data));\r\n};\r\n\r\nexport const deleteExtraction = data => dispatch => {\r\n return api.deleteExtraction(data);\r\n};\r\n\r\nexport const updateAllExtractions = data => dispatch => {\r\n return dispatch(modifyAllExtractions(data));\r\n};\r\n\r\n/* PROJECT TEMPLATES */\r\n// Load project templates\r\nexport const loadProjectTemplates = (data, defaultTemplate = null) => dispatch => {\r\n dispatch(projectTemplatesLoading());\r\n return api.getTemplates(data).then(res => {\r\n dispatch(projectTemplatesLoaded({ data: res.data, defaultTemplate }));\r\n dispatch(subscribeToTemplates(data.projectId));\r\n return res;\r\n });\r\n};\r\n\r\n// Create project template for first time\r\nexport const addProjectTemplate = data => dispatch => {\r\n return api.createTemplate(data).then(res => {\r\n dispatch(addOrUpdateProjectTemplate(res.data));\r\n dispatch(selProjectTemplate(res.data));\r\n return res;\r\n });\r\n};\r\n\r\n// Create a duplicate of project template\r\nexport const duplicateProjectTemplate = data => (dispatch, getState) => {\r\n return api.createTemplate(data).then(res => {\r\n dispatch(dupeProjectTemplate(res.data));\r\n return res;\r\n });\r\n};\r\n\r\n// Update exisiting project template\r\nexport const updateProjectTemplate = data => dispatch => {\r\n return api.updateTemplate(data).then(res => {\r\n dispatch(addOrUpdateProjectTemplate(data));\r\n });\r\n};\r\n\r\n// User selects a project template\r\nexport const selectProjectTemplate = data => dispatch => {\r\n dispatch(selProjectTemplate(data));\r\n};\r\n\r\n// Delete Project Template\r\nexport const deleteProjectTemplate = data => dispatch => {\r\n dispatch(subscribeToFolder(data.projectId, data.projectItemId));\r\n return api.deleteTemplate(data.projectId, data.templateId).then(res => {\r\n dispatch(loadProjectTemplates(data));\r\n });\r\n};\r\n\r\n// User changes template name\r\nexport const changeTemplateName = data => dispatch => {\r\n return dispatch(modifyTemplateName(data));\r\n};\r\n\r\nexport const clearTemplatesData = () => dispatch => {\r\n unsubscribeToTemplates();\r\n unsubscribeToTemplateFields();\r\n unsubscribeToFolder();\r\n dispatch(resetState());\r\n};\r\n\r\n/*\r\n * Reducer\r\n */\r\nexport const INITIAL_STATE = new EditExtractions();\r\n\r\nexport default createReducer(INITIAL_STATE, {\r\n [ACTIONS.PROJECT_TEMPLATE_EXTRACTIONS_LOADING]: (state, action) => {\r\n return state.setTemplateExtLoading();\r\n },\r\n\r\n [ACTIONS.PROJECT_TEMPLATE_EXTRACTIONS_LOADED]: (state, action) => {\r\n return state.setTemplateExtLoaded(state, action);\r\n },\r\n\r\n [ACTIONS.PROJECT_EXTRACTIONS_LOADING]: (state, action) => {\r\n return state.setAllExtLoading();\r\n },\r\n\r\n [ACTIONS.PROJECT_EXTRACTIONS_LOADED]: (state, action) => {\r\n return state.setAllExtLoaded(state, action);\r\n },\r\n\r\n [ACTIONS.PROJECT_DELETE_EXTRACTION]: (state, action) => {\r\n return state.setExtDeleted(state, action);\r\n },\r\n\r\n [ACTIONS.PROJECT_MOVE_EXTRACTION]: (state, action) => {\r\n return state.setExtMoved(state, action);\r\n },\r\n\r\n [ACTIONS.UPDATE_ALL_EXTRACTIONS]: (state, action) => {\r\n return state.setExtAllUpdate(state, action);\r\n },\r\n\r\n [ACTIONS.PROJECT_ADD_EXTRACTION]: (state, action) => {\r\n return state.setExtAdded(state, action);\r\n },\r\n\r\n [ACTIONS.TEMPLATES_LOADING]: (state, action) => {\r\n return state.setTemplatesLoading();\r\n },\r\n\r\n [ACTIONS.TEMPLATES_LOADED]: (state, action) => {\r\n return state.setTemplatesLoaded(state, action);\r\n },\r\n\r\n [ACTIONS.ADD_OR_UPDATE_PROJECT_TEMPLATE]: (state, action) => {\r\n return state.setAddedOrUpdated(state, action);\r\n },\r\n\r\n [ACTIONS.DUPLICATE_PROJECT_TEMPLATE]: (state, action) => {\r\n return state.setDuplicated(state, action);\r\n },\r\n\r\n [ACTIONS.SELECTED_PROJECT_TEMPLATE]: (state, action) => {\r\n return state.setTempSelected(state, action);\r\n },\r\n\r\n [ACTIONS.DELETE_PROJECT_TEMPLATE]: (state, action) => {\r\n return state.setDeleted(state, action);\r\n },\r\n\r\n [ACTIONS.RENAME_TEMPLATE_NAME]: (state, action) => {\r\n return state.setChangedName(state, action);\r\n },\r\n\r\n [ACTIONS.EDIT_EXTRACTIONS_RESET_STATE]: (state, action) => {\r\n return INITIAL_STATE;\r\n }\r\n});\r\n","import model from 'models/base-model';\r\n\r\nexport class ExtractionFieldRecordTags extends model({\r\n isLoading: false,\r\n isLoaded: false,\r\n error: false,\r\n tags: []\r\n}) {\r\n setLoading() {\r\n return this.merge({\r\n isLoading: true,\r\n error: null\r\n });\r\n }\r\n\r\n /* ERROR */\r\n setError(error) {\r\n return this.merge({\r\n isLoading: false,\r\n error: error\r\n });\r\n }\r\n\r\n /* LOADED */\r\n setLoaded(state, action) {\r\n return this.merge({\r\n ...state,\r\n isLoading: false,\r\n isLoaded: true,\r\n tags: action.payload ?? []\r\n });\r\n }\r\n}\r\n","import { createAction, createReducer } from 'utils/redux-utils';\r\n\r\nimport * as api from 'store/api';\r\nimport { ExtractionFieldRecordTags } from 'models/tags/extraction-field-record-tags';\r\nimport { ACTIONS as PROJECT_ACTIONS } from 'store/current-project';\r\n\r\nexport const ACTIONS = {\r\n EFR_TAGS_LOADING: 'argus/ui/EFR_TAGS_LOADING',\r\n EFR_TAGS_LOADED: 'argus/ui/EFR_TAGS_LOADED'\r\n};\r\n\r\nexport const efrTagsLoading = createAction(ACTIONS.EFR_TAGS_LOADING);\r\nexport const efrTagsLoaded = createAction(ACTIONS.EFR_TAGS_LOADED);\r\n\r\nexport const getData = projectId => dispatch => {\r\n dispatch(efrTagsLoading());\r\n return api.getExtractionFieldRecordTags(projectId).then(res => {\r\n dispatch(efrTagsLoaded(res.data));\r\n });\r\n};\r\n\r\n/*\r\n * Reducer\r\n */\r\nexport const INITIAL_STATE = new ExtractionFieldRecordTags();\r\n\r\nexport default createReducer(INITIAL_STATE, {\r\n [ACTIONS.EFR_TAGS_LOADING]: (state, action) => {\r\n return state.setLoading();\r\n },\r\n\r\n [ACTIONS.EFR_TAGS_LOADED]: (state, action) => {\r\n return state.setLoaded(state, action);\r\n },\r\n\r\n [PROJECT_ACTIONS.CLEAR_PROJECT_DATA]: (state, action) => {\r\n return INITIAL_STATE;\r\n }\r\n});\r\n","import model from 'models/base-model';\r\n\r\nexport class ExtractionOverviewTemplates extends model({\r\n error: null,\r\n isTemplatesLoading: false,\r\n selectedTemplate: {},\r\n templateExtractions: [],\r\n templateExtractionFields: [],\r\n templates: [],\r\n columnOptions: {}\r\n}) {\r\n /* LOADERS */\r\n setTemplatesLoading() {\r\n return this.merge({\r\n isTemplatesLoading: true,\r\n error: null\r\n });\r\n }\r\n\r\n /* ERROR */\r\n setError(error) {\r\n return this.merge({\r\n error: error\r\n });\r\n }\r\n\r\n /* TEMPLATES LOADED */\r\n setTemplatesLoaded(state, action) {\r\n var storedTemplateID = Number(sessionStorage.getItem('selected-template'));\r\n var storedTemplate = action.payload?.templates?.[0];\r\n if (storedTemplateID) {\r\n if (action.payload.templates?.find(temp => temp.projectTemplateId == storedTemplateID)) {\r\n storedTemplate = action.payload.templates.find(temp => temp.projectTemplateId == storedTemplateID);\r\n }\r\n }\r\n\r\n return this.merge({\r\n ...state,\r\n isTemplatesLoading: false,\r\n templates: action.payload.templates,\r\n selectedTemplate: storedTemplate,\r\n templateExtractionFields: action.payload.templateExtractionFields?.groups\r\n .sort((a, b) => a.displayOrder - b.displayOrder)\r\n .flatMap(({ extractionFields }) => extractionFields),\r\n templateExtractionGroups: action.payload.templateExtractionFields?.groups\r\n .sort((a, b) => a.displayOrder - b.displayOrder)\r\n .map(({ extractionFieldGroupId, extractionFieldGroupName, extractionFields }) => ({\r\n extractionFieldGroupId,\r\n extractionFieldGroupName,\r\n extractionFieldsCount: extractionFields.length,\r\n extractionFieldIds: extractionFields.map(ef => ef.extractionFieldId)\r\n })),\r\n templateExtractions: action.payload.templateExtractions,\r\n columnOptions: action.payload.columnOptions\r\n });\r\n }\r\n\r\n setColumnOptions(state, action) {\r\n return this.merge({\r\n columnOptions: action.payload\r\n });\r\n }\r\n\r\n setSelectedTemplateLoaded(state, action) {\r\n return this.merge({\r\n ...state,\r\n isTemplatesLoading: false,\r\n selectedTemplate: action.payload.selectedTemplate,\r\n templateExtractionFields: action.payload.templateExtractionFields.groups\r\n .sort((a, b) => a.displayOrder - b.displayOrder)\r\n .flatMap(({ extractionFields }) => extractionFields),\r\n templateExtractionGroups: action.payload.templateExtractionFields.groups\r\n .sort((a, b) => a.displayOrder - b.displayOrder)\r\n .map(({ extractionFieldGroupId, extractionFieldGroupName, extractionFields }) => ({\r\n extractionFieldGroupId,\r\n extractionFieldGroupName,\r\n extractionFieldsCount: extractionFields.length,\r\n extractionFieldIds: extractionFields.map(ef => ef.extractionFieldId)\r\n })),\r\n templateExtractions: action.payload.templateExtractions\r\n });\r\n }\r\n}\r\n","import { createAction, createReducer } from 'utils/redux-utils';\r\nimport { ExtractionOverviewTemplates } from 'models/extraction-overview';\r\nimport * as api from 'store/api';\r\n\r\nexport const ACTIONS = {\r\n EXTRACTION_OVERVIEW_TEMPLATES_LOADING: 'argus/ui/EXTRACTION_OVERVIEW_TEMPLATES_LOADING',\r\n EXTRACTION_OVERVIEW_TEMPLATES_LOADED: 'argus/ui/EXTRACTION_OVERVIEW_TEMPLATES_LOADED',\r\n EXTRACTION_OVERVIEW_SELECT_TEMPLATE_LOADING: 'argus/ui/EXTRACTION_OVERVIEW_SELECT_TEMPLATE_LOADING',\r\n EXTRACTION_OVERVIEW_SELECT_TEMPLATE_LOADED: 'argus/ui/EXTRACTION_OVERVIEW_SELECT_TEMPLATE_LOADED',\r\n EXTRACTION_OVERVIEW_UPDATE_COLUMN_OPTIONS: 'argus/ui/EXTRACTION_OVERVIEW_UPDATE_COLUMN_OPTIONS'\r\n};\r\n\r\nexport const COLUMN_OPTIONS = {\r\n DOCUMENT_NAME: 'DOCUMENT_NAME',\r\n SAMPLE_NUMBER: 'SAMPLE_NUMBER'\r\n};\r\n\r\nexport const COLUMN_OPTION_DEFAULTS = {\r\n [COLUMN_OPTIONS.DOCUMENT_NAME]: {\r\n displayName: 'extraction-overview.document-column'\r\n },\r\n [COLUMN_OPTIONS.SAMPLE_NUMBER]: {\r\n displayName: 'extraction-overview.sample-column'\r\n }\r\n};\r\n\r\nexport const DEFAULT_COLUMN_FROZEN = {\r\n [COLUMN_OPTIONS.DOCUMENT_NAME]: false,\r\n [COLUMN_OPTIONS.SAMPLE_NUMBER]: false\r\n};\r\n\r\nexport const DEFAULT_COLUMN_VISIBILITY = {\r\n [COLUMN_OPTIONS.DOCUMENT_NAME]: true,\r\n [COLUMN_OPTIONS.SAMPLE_NUMBER]: true\r\n};\r\n\r\nexport const projectTemplatesLoading = createAction(ACTIONS.EXTRACTION_OVERVIEW_TEMPLATES_LOADING);\r\nexport const projectTemplatesLoaded = createAction(ACTIONS.EXTRACTION_OVERVIEW_TEMPLATES_LOADED);\r\nexport const selectProjectTemplateLoading = createAction(ACTIONS.EXTRACTION_OVERVIEW_SELECT_TEMPLATE_LOADING);\r\nexport const selectProjectTemplateLoaded = createAction(ACTIONS.EXTRACTION_OVERVIEW_SELECT_TEMPLATE_LOADED);\r\nexport const updateColumnOptions = createAction(ACTIONS.EXTRACTION_OVERVIEW_UPDATE_COLUMN_OPTIONS);\r\n\r\nexport const loadProjectTemplates = data => dispatch => {\r\n dispatch(projectTemplatesLoading());\r\n return api.getTemplates(data)?.then(templates => {\r\n let storedTemplate = Number(sessionStorage.getItem('selected-template'));\r\n let storedTemplateProject = Number(sessionStorage.getItem('selected-template-projectId'));\r\n let templateToFetch = templates.data[0]?.projectTemplateId;\r\n if (storedTemplateProject && storedTemplate) {\r\n if (storedTemplateProject == data.projectId) {\r\n templateToFetch = storedTemplate;\r\n }\r\n }\r\n\r\n if (templates.data.length) {\r\n return Promise.all([\r\n api.getProjectTemplateExtractionFields(data.projectId, templateToFetch),\r\n api.getTemplateExtractions({ projectId: data.projectId, templateId: templateToFetch }),\r\n api.getExtractionOverviewColumnOptions()\r\n ]).then(([templateExtractionFieldsResponse, templateExtractionsResponse, columnOptionsResponse]) =>\r\n dispatch(\r\n projectTemplatesLoaded({\r\n templates: templates.data,\r\n templateExtractionFields: templateExtractionFieldsResponse.data,\r\n templateExtractions: templateExtractionsResponse.data,\r\n columnOptions: columnOptionsResponse.fields\r\n ? fromAPIFormat(columnOptionsResponse.fields)\r\n : { visibility: { ...DEFAULT_COLUMN_VISIBILITY }, frozen: { ...DEFAULT_COLUMN_FROZEN } }\r\n })\r\n )\r\n );\r\n }\r\n dispatch(projectTemplatesLoaded(templates.data));\r\n });\r\n};\r\n\r\nconst fromAPIFormat = fields => {\r\n const visibility = {};\r\n const frozen = {};\r\n\r\n fields.forEach(field => {\r\n visibility[field.fieldName] = field.visible;\r\n frozen[field.fieldName] = field.frozen;\r\n });\r\n\r\n return { visibility, frozen };\r\n};\r\n\r\nconst toAPIFormat = columnOptions => {\r\n return Object.values(COLUMN_OPTIONS).map(fieldName => ({\r\n fieldName,\r\n visible: columnOptions.visibility[fieldName],\r\n frozen: columnOptions.frozen[fieldName]\r\n }));\r\n};\r\n\r\nexport const updateExtractionOverviewColumnOptions = columnOptions => dispatch => {\r\n const payload = toAPIFormat(columnOptions);\r\n dispatch(updateColumnOptions(columnOptions));\r\n\r\n api.setExtractionOverviewColumnOptions(payload);\r\n};\r\n\r\nexport const setTemplate = data => dispatch => {\r\n dispatch(selectProjectTemplateLoading());\r\n return Promise.all([\r\n api.getProjectTemplateExtractionFields(data.projectId, data.template.projectTemplateId),\r\n api.getTemplateExtractions({ projectId: data.projectId, templateId: data.template.projectTemplateId })\r\n ]).then(([templateExtractionFieldsResponse, templateExtractionsResponse]) =>\r\n dispatch(\r\n selectProjectTemplateLoaded({\r\n selectedTemplate: data.template,\r\n templateExtractionFields: templateExtractionFieldsResponse.data,\r\n templateExtractions: templateExtractionsResponse.data\r\n })\r\n )\r\n );\r\n};\r\n\r\nexport const INITIAL_STATE = new ExtractionOverviewTemplates();\r\n\r\nexport default createReducer(INITIAL_STATE, {\r\n [ACTIONS.EXTRACTION_OVERVIEW_TEMPLATES_LOADING]: (state, action) => {\r\n return state.setTemplatesLoading();\r\n },\r\n\r\n [ACTIONS.EXTRACTION_OVERVIEW_TEMPLATES_LOADED]: (state, action) => {\r\n return state.setTemplatesLoaded(state, action);\r\n },\r\n\r\n [ACTIONS.EXTRACTION_OVERVIEW_SELECT_TEMPLATE_LOADING]: (state, action) => {\r\n return state.setTemplatesLoading();\r\n },\r\n\r\n [ACTIONS.EXTRACTION_OVERVIEW_SELECT_TEMPLATE_LOADED]: (state, action) => {\r\n return state.setSelectedTemplateLoaded(state, action);\r\n },\r\n\r\n [ACTIONS.EXTRACTION_OVERVIEW_UPDATE_COLUMN_OPTIONS]: (state, action) => {\r\n return state.setColumnOptions(state, action);\r\n }\r\n});\r\n","import model from 'models/base-model';\r\nimport moment from 'moment';\r\n\r\nvar storedLanguages = localStorage.getItem('languages');\r\nvar lastListUpdate = localStorage.getItem('language-list-last-updated');\r\n\r\nexport class Languages extends model({\r\n isLoading: false,\r\n isLoaded: false,\r\n error: null,\r\n languages: storedLanguages ? JSON.parse(storedLanguages) : [],\r\n timestamp: lastListUpdate\r\n}) {\r\n setLoading() {\r\n return this.merge({\r\n isLoading: true,\r\n error: null\r\n });\r\n }\r\n /* ERROR */\r\n setError(error) {\r\n return this.merge({\r\n isLoading: false,\r\n isLoaded: false,\r\n error: error\r\n });\r\n }\r\n\r\n /* LOADED */\r\n setLoaded(state, action) {\r\n var timestamp = moment().toISOString();\r\n var languages = action.payload;\r\n\r\n localStorage.setItem('language-list-last-updated', timestamp);\r\n localStorage.setItem('languages', JSON.stringify(languages));\r\n\r\n return this.merge({\r\n ...state,\r\n isLoading: false,\r\n isLoaded: true,\r\n languages: languages,\r\n timestamp: timestamp\r\n });\r\n }\r\n}\r\n","import { createAction, createReducer } from 'utils/redux-utils';\r\n\r\nimport * as api from 'store/api';\r\nimport { Languages } from 'models/intl/languages';\r\n\r\nexport const ACTIONS = {\r\n // Extractions\r\n LANGUAGES_LOADING: 'argus/ui/LANGUAGES_LOADING',\r\n LANGUAGES_LOADED: 'argus/ui/LANGUAGES_LOADED',\r\n LANGUAGES_ERROR: 'argus/ui/LANGUAGES_ERROR'\r\n};\r\n\r\nexport const languagesLoading = createAction(ACTIONS.LANGUAGES_LOADING);\r\nexport const languagesLoaded = createAction(ACTIONS.LANGUAGES_LOADED);\r\nexport const languagesError = createAction(ACTIONS.LANGUAGES_ERROR);\r\n\r\nexport const loadLanguages = () => dispatch => {\r\n dispatch(languagesLoading());\r\n return api\r\n .getLanguages()\r\n .then(res => {\r\n dispatch(languagesLoaded(res.data));\r\n })\r\n .catch(error => {\r\n dispatch(languagesError(error));\r\n });\r\n};\r\n\r\n/*\r\n * Reducer\r\n */\r\nexport const INITIAL_STATE = new Languages();\r\n\r\nexport default createReducer(INITIAL_STATE, {\r\n [ACTIONS.LANGUAGES_LOADING]: (state, action) => {\r\n return state.setLoading();\r\n },\r\n\r\n [ACTIONS.LANGUAGES_LOADED]: (state, action) => {\r\n return state.setLoaded(state, action);\r\n },\r\n\r\n [ACTIONS.LANGUAGES_ERROR]: (state, action) => {\r\n return state.setError(state, action);\r\n }\r\n});\r\n","import model from 'models/base-model';\r\nimport moment from 'moment';\r\n\r\nvar storedLanguageData = localStorage.getItem('languageData');\r\n\r\nexport class LanguageData extends model({\r\n isLoading: false,\r\n isLoaded: false,\r\n error: null,\r\n languageData: storedLanguageData ? JSON.parse(storedLanguageData) : {}\r\n}) {\r\n setLoading() {\r\n return this.merge({\r\n isLoading: true,\r\n error: null\r\n });\r\n }\r\n\r\n /* ERROR */\r\n setError(error) {\r\n return this.merge({\r\n isLoading: false,\r\n isLoaded: false,\r\n error: error\r\n });\r\n }\r\n\r\n /* LOADED */\r\n setLoaded(state, action) {\r\n var _languageData = Object.assign({}, this.languageData);\r\n const messages = processLanguage(action.payload.values);\r\n\r\n _languageData[action.payload.localeCode] = messages;\r\n\r\n localStorage.setItem('languageData', JSON.stringify(_languageData));\r\n\r\n return this.merge({\r\n ...state,\r\n isLoading: false,\r\n isLoaded: true,\r\n languageData: _languageData\r\n });\r\n }\r\n}\r\n\r\nfunction processLanguage(values) {\r\n var _values = Object.assign({}, values);\r\n\r\n for (var key in _values) {\r\n _values[key] = _values[key].replace(/\\$\\{/g, '{');\r\n }\r\n\r\n _values.timestamp = moment().toISOString();\r\n\r\n return _values;\r\n}\r\n","import { createAction, createReducer } from 'utils/redux-utils';\r\n\r\nimport * as api from 'store/api';\r\nimport { LanguageData } from 'models/intl/languageData';\r\n\r\nexport const ACTIONS = {\r\n // Extractions\r\n LANGUAGE_DATA_LOADING: 'argus/ui/LANGUAGE_DATA_LOADING',\r\n LANGUAGE_DATA_LOADED: 'argus/ui/LANGUAGE_DATA_LOADED',\r\n LANGUAGE_DATA_ERROR: 'argus/ui/LANGUAGE_DATA_ERROR'\r\n};\r\n\r\nexport const languageDataLoading = createAction(ACTIONS.LANGUAGE_DATA_LOADING);\r\nexport const languageDataLoaded = createAction(ACTIONS.LANGUAGE_DATA_LOADED);\r\nexport const languageDataError = createAction(ACTIONS.LANGUAGE_DATA_ERROR);\r\n\r\nexport const loadLanguageData = localeCode => dispatch => {\r\n dispatch(languageDataLoading());\r\n return api\r\n .getLanguageData(localeCode)\r\n .then(res => {\r\n dispatch(languageDataLoaded(res.data));\r\n })\r\n .catch(error => {\r\n dispatch(languageDataError(error));\r\n });\r\n};\r\n\r\n/*\r\n * Reducer\r\n */\r\nexport const INITIAL_STATE = new LanguageData();\r\n\r\nexport default createReducer(INITIAL_STATE, {\r\n [ACTIONS.LANGUAGE_DATA_LOADING]: (state, action) => {\r\n return state.setLoading();\r\n },\r\n\r\n [ACTIONS.LANGUAGE_DATA_LOADED]: (state, action) => {\r\n return state.setLoaded(state, action);\r\n },\r\n\r\n [ACTIONS.LANGUAGE_DATA_ERROR]: (state, action) => {\r\n return state.setError(state, action);\r\n }\r\n});\r\n","import model from 'models/base-model';\r\n\r\nexport class LanguageTags extends model({\r\n isLoading: false,\r\n isLoaded: false,\r\n error: false,\r\n tags: []\r\n}) {\r\n setLoading() {\r\n return this.merge({\r\n isLoading: true,\r\n error: null\r\n });\r\n }\r\n\r\n /* ERROR */\r\n setError(error) {\r\n return this.merge({\r\n isLoading: false,\r\n error: error\r\n });\r\n }\r\n\r\n /* LOADED */\r\n setLoaded(state, action) {\r\n return this.merge({\r\n ...state,\r\n isLoading: false,\r\n isLoaded: true,\r\n tags: action.payload ?? []\r\n });\r\n }\r\n}\r\n","import { createAction, createReducer } from 'utils/redux-utils';\r\n\r\nimport * as api from 'store/api';\r\nimport { LanguageTags } from 'models/tags/language-tags';\r\nimport { ACTIONS as PROJECT_ACTIONS } from 'store/current-project';\r\n\r\nexport const ACTIONS = {\r\n LANGUAGE_TAGS_LOADING: 'argus/ui/LANGUAGE_TAGS_LOADING',\r\n LANGUAGE_TAGS_LOADED: 'argus/ui/LANGUAGE_TAGS_LOADED'\r\n};\r\n\r\nexport const languageTagsLoading = createAction(ACTIONS.LANGUAGE_TAGS_LOADING);\r\nexport const languageTagsLoaded = createAction(ACTIONS.LANGUAGE_TAGS_LOADED);\r\n\r\nexport const getData = projectId => dispatch => {\r\n dispatch(languageTagsLoading());\r\n return api.getLanguageTags(projectId).then(res => {\r\n dispatch(languageTagsLoaded(res.data));\r\n });\r\n};\r\n\r\n/*\r\n * Reducer\r\n */\r\nexport const INITIAL_STATE = new LanguageTags();\r\n\r\nexport default createReducer(INITIAL_STATE, {\r\n [ACTIONS.LANGUAGE_TAGS_LOADING]: (state, action) => {\r\n return state.setLoading();\r\n },\r\n\r\n [ACTIONS.LANGUAGE_TAGS_LOADED]: (state, action) => {\r\n return state.setLoaded(state, action);\r\n },\r\n\r\n [PROJECT_ACTIONS.CLEAR_PROJECT_DATA]: (state, action) => {\r\n return INITIAL_STATE;\r\n }\r\n});\r\n","import model from 'models/base-model';\r\n\r\nexport class OCRQualityTags extends model({\r\n isLoading: false,\r\n isLoaded: false,\r\n error: false,\r\n tags: []\r\n}) {\r\n setLoading() {\r\n return this.merge({\r\n isLoading: true,\r\n error: null\r\n });\r\n }\r\n\r\n /* ERROR */\r\n setError(error) {\r\n return this.merge({\r\n isLoading: false,\r\n error: error\r\n });\r\n }\r\n\r\n /* LOADED */\r\n setLoaded(state, action) {\r\n return this.merge({\r\n ...state,\r\n isLoading: false,\r\n isLoaded: true,\r\n tags: action.payload ?? []\r\n });\r\n }\r\n}\r\n","import { createAction, createReducer } from 'utils/redux-utils';\r\n\r\nimport * as api from 'store/api';\r\nimport { OCRQualityTags } from 'models/tags/ocr-quality-tags';\r\nimport { ACTIONS as PROJECT_ACTIONS } from 'store/current-project';\r\n\r\nexport const ACTIONS = {\r\n OCR_QUALITY_TAGS_LOADING: 'argus/ui/OCR_QUALITY_TAGS_LOADING',\r\n OCR_QUALITY_TAGS_LOADED: 'argus/ui/OCR_QUALITY_TAGS_LOADED'\r\n};\r\n\r\nexport const ocrQualityTagsLoading = createAction(ACTIONS.OCR_QUALITY_TAGS_LOADING);\r\nexport const ocrQualityTagsLoaded = createAction(ACTIONS.OCR_QUALITY_TAGS_LOADED);\r\n\r\nexport const getData = projectId => dispatch => {\r\n dispatch(ocrQualityTagsLoading());\r\n return api.getOCRQualityTags(projectId).then(res => {\r\n dispatch(ocrQualityTagsLoaded(res.data));\r\n });\r\n};\r\n\r\n/*\r\n * Reducer\r\n */\r\nexport const INITIAL_STATE = new OCRQualityTags();\r\n\r\nexport default createReducer(INITIAL_STATE, {\r\n [ACTIONS.OCR_QUALITY_TAGS_LOADING]: (state, action) => {\r\n return state.setLoading();\r\n },\r\n\r\n [ACTIONS.OCR_QUALITY_TAGS_LOADED]: (state, action) => {\r\n return state.setLoaded(state, action);\r\n },\r\n\r\n [PROJECT_ACTIONS.CLEAR_PROJECT_DATA]: (state, action) => {\r\n return INITIAL_STATE;\r\n }\r\n});\r\n","import model from 'models/base-model';\r\nimport dateUtil from 'utils/dateUtil';\r\nimport { Project } from 'models/project';\r\nimport { flatten } from 'underscore';\r\nimport constants from 'utils/constants';\r\n\r\nexport class ProjectList extends model({\r\n isLoading: false,\r\n isPartialLoading: false,\r\n isLoaded: false,\r\n error: null,\r\n partialError: null,\r\n isSearching: false,\r\n isEmptySearch: false,\r\n projects: null\r\n}) {\r\n setLoading(state) {\r\n return this.merge({\r\n ...state,\r\n isLoading: true,\r\n isLoaded: false,\r\n error: null,\r\n unfilteredProjects: null,\r\n projects: null,\r\n partialError: null\r\n });\r\n }\r\n\r\n setError(state, action) {\r\n const errLength = action.payload.err.length;\r\n\r\n return this.merge({\r\n ...state,\r\n isLoading: false,\r\n isLoaded: true,\r\n isPartialLoading: false,\r\n error:\r\n state.partialError && state.partialError.length === errLength\r\n ? action.payload\r\n : state.partialError\r\n ? null\r\n : action.payload,\r\n projects: state.projects && state.projects.length > 0 ? state.projects : [],\r\n unfilteredProjects:\r\n state.unfilteredProjects && state.unfilteredProjects.length > 0 ? state.unfilteredProjects : []\r\n });\r\n }\r\n\r\n setPartialError(state, action) {\r\n return this.merge({\r\n ...state,\r\n isLoading: false,\r\n isLoaded: true,\r\n error: null,\r\n partialError: state.partialError ? state.partialError.concat(action.payload.geo) : [].concat(action.payload.geo),\r\n projects: state.projects && state.projects.length > 0 ? state.projects : []\r\n });\r\n }\r\n\r\n setPartialLoad(state, action) {\r\n const data = action.payload.data.map(project => Project.fromData(project));\r\n\r\n const getProjects = p => (p && p.length > 0 ? p.concat(data) : [].concat(data));\r\n return this.merge({\r\n isLoading: false,\r\n isPartialLoading: true,\r\n isLoaded: true,\r\n error: null,\r\n unfilteredProjects: getProjects(state.unfilteredProjects),\r\n projects: getProjects(state.projects)\r\n });\r\n }\r\n\r\n // Get data returned from the API\r\n setLoaded(state, action) {\r\n const allProjects = flatten(action.payload.map(geoProject => geoProject.data.data.map(p => Project.fromData(p))));\r\n\r\n return this.merge({\r\n ...state,\r\n isLoading: false,\r\n isPartialLoading: false,\r\n isLoaded: true,\r\n isSearching: false,\r\n error: null,\r\n unfilteredProjects: allProjects,\r\n projects: allProjects\r\n });\r\n }\r\n\r\n // Filter projects based on search query\r\n setSearched(state, action) {\r\n const projects = [...state.unfilteredProjects];\r\n const query = action.payload\r\n .toString()\r\n .toLowerCase()\r\n .trim();\r\n const searchKeys = ['projectName', 'clientName', 'engagementName'];\r\n const filteredProjects = projects.filter(project => {\r\n // Make sure the props we're filtering based on is non null value\r\n const nonNullKeys = searchKeys.filter(key => project[key] !== null);\r\n const creator = project.creator.userDetail.displayName !== null ? project.creator.userDetail.displayName : '';\r\n return (\r\n nonNullKeys.some(key =>\r\n String(project[key])\r\n .toLowerCase()\r\n .includes(query)\r\n ) || creator.toLowerCase().includes(query)\r\n );\r\n });\r\n\r\n return this.merge({\r\n ...state,\r\n isLoading: false,\r\n isLoaded: true,\r\n isSearching: query.length > 0 ? true : false,\r\n error: null,\r\n isEmptySearch: filteredProjects.length <= 0 ? true : false,\r\n projects: query.length > 0 ? filteredProjects : state.unfilteredProjects\r\n });\r\n }\r\n\r\n setSoftDeleted(state, action) {\r\n const updateSoftDeleted = data =>\r\n data.map(item => {\r\n if (item.projectId === action.payload.projectId) {\r\n return {\r\n ...item,\r\n projectStateId: 4\r\n };\r\n }\r\n return item;\r\n });\r\n return this.merge({\r\n ...state,\r\n isLoading: false,\r\n isLoaded: true,\r\n error: null,\r\n unfilteredProjects: updateSoftDeleted(state.unfilteredProjects),\r\n projects: updateSoftDeleted(state.projects)\r\n });\r\n }\r\n\r\n setDeleted(state, action) {\r\n const updateDeleted = data => data.filter(item => item.projectId !== action.payload.projectId);\r\n\r\n return this.merge({\r\n ...state,\r\n isLoading: false,\r\n isLoaded: true,\r\n error: null,\r\n unfilteredProjects: updateDeleted(state.unfilteredProjects),\r\n projects: updateDeleted(state.projects)\r\n });\r\n }\r\n\r\n setFlagClientService(state, action) {\r\n const updateClientService = data =>\r\n data.map(item => {\r\n if (item.projectId === action.payload.projectId) {\r\n return {\r\n ...item,\r\n isClientService: action.payload.newValue\r\n };\r\n }\r\n return item;\r\n });\r\n return this.merge({\r\n ...state,\r\n isLoading: false,\r\n isLoaded: true,\r\n error: null,\r\n unfilteredProjects: updateClientService(state.unfilteredProjects),\r\n projects: updateClientService(state.projects)\r\n });\r\n }\r\n\r\n setRestored(state, action) {\r\n const updateRestored = data =>\r\n data.map(item => {\r\n if (item.projectId !== action.payload.data.projectId) {\r\n // This isn't the item we care about - keep it as-is\r\n return item;\r\n }\r\n // Otherwise, this is the one we want - return an updated value for ADMIN only\r\n return {\r\n ...action.payload.res.data,\r\n lastUpdatedDate: dateUtil.fromServerDate(action.payload.res.data.lastUpdatedDate),\r\n createdDate: dateUtil.fromServerDate(action.payload.res.data.createdDate)\r\n };\r\n });\r\n return this.merge({\r\n ...state,\r\n isLoading: false,\r\n isLoaded: true,\r\n error: null,\r\n unfilteredProjects: updateRestored(state.unfilteredProjects),\r\n projects: updateRestored(state.projects)\r\n });\r\n }\r\n\r\n setCopied(state, action) {\r\n const copied = Project.fromData(action.payload.res.data);\r\n copied.myRole = { roleId: constants.UserRoles.PROJECT_CREATOR };\r\n const updateCopied = data =>\r\n data.map(item => {\r\n if (item.projectId !== action.payload.original) {\r\n // This isn't the item we care about - keep it as-is\r\n return item;\r\n }\r\n if (item.projectId === copied.projectId) {\r\n // This isn't the item we care about - keep it as-is\r\n return {\r\n ...item,\r\n projectStateId: 8\r\n };\r\n }\r\n // Otherwise, this is the one we want - return an updated value for ADMIN only\r\n return {\r\n ...item\r\n //projectStateId: 8\r\n };\r\n });\r\n return this.merge({\r\n ...state,\r\n isLoading: false,\r\n isLoaded: true,\r\n error: null,\r\n unfilteredProjects: updateCopied(state.unfilteredProjects.concat(copied)),\r\n projects: updateCopied(state.projects.concat(copied))\r\n });\r\n }\r\n\r\n setProjectUpdatedStatus(state, action) {\r\n const sourceProject = action;\r\n const updateCopied = data =>\r\n data.map(item => {\r\n if (item.projectId !== action.payload.projectId) {\r\n // This isn't the item we care about - keep it as-is\r\n return item;\r\n }\r\n // Otherwise, this is the one we want - return an updated value for ADMIN only\r\n if (item.geoCode !== action.payload.geoCode) {\r\n return item;\r\n }\r\n return {\r\n ...item,\r\n projectStateId: action.payload.projectStateId\r\n };\r\n });\r\n return this.merge({\r\n ...state,\r\n projects: updateCopied(state.projects),\r\n unfilteredProjects: updateCopied(state.unfilteredProjects)\r\n });\r\n }\r\n\r\n setEnabledAccess(state, action) {\r\n const updateEnabledAccess = data =>\r\n data.map(item => {\r\n if (item.projectId === action.payload.projectId) {\r\n item.isAdminAccessEnabled = action.payload.allowAccess;\r\n }\r\n return item;\r\n });\r\n return this.merge({\r\n ...state,\r\n isLoading: false,\r\n isLoaded: true,\r\n error: null,\r\n unfilteredProjects: updateEnabledAccess(state.unfilteredProjects),\r\n projects: updateEnabledAccess(state.projects)\r\n });\r\n }\r\n\r\n setArchived(state, action) {\r\n const approverId = action.payload.update.approverId;\r\n const updateArchived = data =>\r\n data.map(item => {\r\n if (item.projectId !== action.payload.data.projectId) {\r\n // This isn't the item we care about - keep it as-is\r\n return item;\r\n }\r\n // Otherwise, this is the one we want - return an updated value for ADMIN only\r\n return {\r\n ...item,\r\n archivalRequest: {\r\n requestorId: action.payload.update.requestorId,\r\n approverIdList: state.archivalRequest\r\n ? state.archivalRequest.approverIdList.push(parseInt(approverId, 10))\r\n : [].concat(approverId)\r\n },\r\n projectStateId: 6\r\n };\r\n });\r\n return this.merge({\r\n ...state,\r\n isLoading: false,\r\n isLoaded: true,\r\n error: null,\r\n unfilteredProjects: updateArchived(state.unfilteredProjects),\r\n projects: updateArchived(state.projects)\r\n });\r\n }\r\n\r\n setCancelArchived(state, action) {\r\n const updateCancelArchived = data =>\r\n data.map(item => {\r\n if (item.projectId === action.payload.original) {\r\n return { ...item, projectStateId: 2 };\r\n }\r\n return item;\r\n });\r\n return this.merge({\r\n ...state,\r\n isLoading: false,\r\n isLoaded: true,\r\n error: null,\r\n unfilteredProjects: updateCancelArchived(state.unfilteredProjects),\r\n projects: updateCancelArchived(state.projects)\r\n });\r\n }\r\n\r\n setCarried(state, action) {\r\n const carried = Project.fromData(action.payload.res.data);\r\n carried.myRole = { roleId: constants.UserRoles.PROJECT_CREATOR };\r\n const updateCarried = data =>\r\n data.map(item => {\r\n if (item.projectId === action.payload.original) {\r\n return { ...item, projectStateId: 8 };\r\n }\r\n return item;\r\n });\r\n return this.merge({\r\n ...state,\r\n isLoading: false,\r\n isLoaded: true,\r\n error: null,\r\n unfilteredProjects: updateCarried(state.unfilteredProjects.concat(carried)),\r\n projects: updateCarried(state.projects.concat(carried))\r\n });\r\n }\r\n\r\n setLegalHold(state, action) {\r\n const updateLegalHold = data =>\r\n data.map(item => {\r\n if (item.projectId === action.payload.projectId) {\r\n return { ...item, legalHold: action.payload.isLegalHold };\r\n }\r\n return item;\r\n });\r\n return this.merge({\r\n ...state,\r\n isLoading: false,\r\n isLoaded: true,\r\n error: null,\r\n projects: updateLegalHold(state.projects),\r\n unfilteredProjects: updateLegalHold(state.unfilteredProjects)\r\n });\r\n }\r\n}\r\n","import { createAction, createReducer } from 'utils/redux-utils';\r\n\r\nimport {\r\n getProjects,\r\n deleteProject as _deleteProject,\r\n enableSupportAccess as _enableSupportAccess,\r\n restoreProject,\r\n copyProject,\r\n carryProject,\r\n archiveRequestProject,\r\n archiveCancelRequest,\r\n legalHoldProject,\r\n changeFlagNonClientService\r\n} from 'store/api';\r\nimport { ProjectList } from 'models/project-list';\r\nimport { APIS as GEO_APIS } from 'store/api';\r\nimport socket, { rooms } from 'utils/socket';\r\n\r\nexport const ACTIONS = {\r\n PROJECT_LIST_PARTIAL_LOAD: 'argus/ui/PROJECT_LIST_PARTIAL_LOAD',\r\n PROJECT_LIST_PARTIAL_ERROR: 'argus/ui/PROJECT_LIST_PARTIAL_ERROR',\r\n PROJECT_LIST_LOADING: 'argus/ui/PROJECT_LIST_LOADING',\r\n PROJECT_LIST_LOADED: 'argus/ui/PROJECT_LIST_LOADED',\r\n PROJECT_LIST_SEARCHED: 'argus/ui/PROJECT_LIST_SEARCHED',\r\n PROJECT_LIST_ERROR: 'argus/ui/PROJECT_LIST_ERROR',\r\n\r\n CARRY_PROJECT: 'argus/ui/CARRY_PROJECT',\r\n COPY_PROJECT: 'argus/ui/COPY_PROJECT',\r\n ENABLE_SUPPORT_ACCESS: 'argus/ui/ENABLE_SUPPORT_ACCESS',\r\n HARD_DELETE_PROJECT: 'argus/ui/HARD_DELETE_PROJECT',\r\n SOFT_DELETE_PROJECT: 'argus/ui/SOFT_DELETE_PROJECT',\r\n CHG_FLAG_NON_CLIENT_SERVICE: 'argus/ui/CHG_FLAG_NON_CLIENT_SERVICE',\r\n RESTORE_PROJECT: 'argus/ui/RESTORE_PROJECT',\r\n REQUEST_ARCHIVE_PROJECT: 'argus/ui/REQUEST_ARCHIVE_PROJECT',\r\n CANCEL_ARCHIVE_PROJECT: 'argus/ui/CANCEL_ARCHIVE_PROJECT',\r\n LEGAL_HOLD_PROJECT: 'argus/ui/LEGAL_HOLD_PROJECT',\r\n COPY_STATUS_UPDATE: 'argus/ui/COPY_STATUS_UPDATE'\r\n};\r\n\r\nexport const projectListPartialLoad = createAction(ACTIONS.PROJECT_LIST_PARTIAL_LOAD);\r\nexport const projectListPartialErr = createAction(ACTIONS.PROJECT_LIST_PARTIAL_ERROR);\r\nexport const projectListLoading = createAction(ACTIONS.PROJECT_LIST_LOADING);\r\nexport const projectListLoaded = createAction(ACTIONS.PROJECT_LIST_LOADED);\r\nexport const projectListSearched = createAction(ACTIONS.PROJECT_LIST_SEARCHED);\r\nexport const projectListError = createAction(ACTIONS.PROJECT_LIST_ERROR);\r\n\r\nexport const projectCarry = createAction(ACTIONS.CARRY_PROJECT);\r\nexport const projectCopy = createAction(ACTIONS.COPY_PROJECT);\r\nexport const projectEnableAccess = createAction(ACTIONS.ENABLE_SUPPORT_ACCESS);\r\nexport const hardDelProject = createAction(ACTIONS.HARD_DELETE_PROJECT);\r\nexport const softDelProject = createAction(ACTIONS.SOFT_DELETE_PROJECT);\r\nexport const chgFlagNonClientService = createAction(ACTIONS.CHG_FLAG_NON_CLIENT_SERVICE);\r\nexport const restoreDelProject = createAction(ACTIONS.RESTORE_PROJECT);\r\nexport const projectRequestArchive = createAction(ACTIONS.REQUEST_ARCHIVE_PROJECT);\r\nexport const projectArchiveCancel = createAction(ACTIONS.CANCEL_ARCHIVE_PROJECT);\r\nexport const projectLegalHold = createAction(ACTIONS.LEGAL_HOLD_PROJECT);\r\nexport const projectCopyStatusUpdate = createAction(ACTIONS.COPY_STATUS_UPDATE);\r\n\r\n// Contains the logic for subscribing/unsubscribing to updates from the socket\r\nexport const { subscribe, unsubscribe } = (socket => {\r\n let room = null;\r\n let onProjectStatusUpdate = null;\r\n\r\n const subscribe = projectId => dispatch => {\r\n if (!projectId) {\r\n return;\r\n }\r\n\r\n const nextRoom = rooms.project(projectId);\r\n\r\n if (room !== nextRoom) {\r\n socket.leave(room);\r\n room = nextRoom;\r\n socket.join(nextRoom);\r\n }\r\n\r\n // Handle project user role changed\r\n if (!onProjectStatusUpdate) {\r\n onProjectStatusUpdate = event => {\r\n dispatch(projectCopyStatusUpdate(event.data.project));\r\n };\r\n socket.on('update', onProjectStatusUpdate);\r\n }\r\n };\r\n\r\n const unsubscribe = () => {\r\n socket.leave(room);\r\n room = null;\r\n\r\n if (onProjectStatusUpdate) {\r\n socket.off('update', onProjectStatusUpdate);\r\n onProjectStatusUpdate = null;\r\n }\r\n };\r\n\r\n return {\r\n subscribe,\r\n unsubscribe\r\n };\r\n})(socket);\r\n\r\n// Initial load data\r\nexport const loadProjectList = () => dispatch => {\r\n dispatch(projectListLoading());\r\n // If there is no geo data to read from, make sure to not make any geo calls\r\n if (!Array.isArray(GEO_APIS)) {\r\n dispatch(projectListError({ err: { length: null, finalError: 'Project API unavailable' } }));\r\n }\r\n\r\n // Make geo calls and display the projects in order they're resolved\r\n const promises = GEO_APIS.map(geo => {\r\n return getProjects(geo)\r\n .then(res => {\r\n dispatch(projectListPartialLoad(res.data));\r\n return res;\r\n })\r\n .catch(err => dispatch(projectListPartialErr({ geo, err })));\r\n });\r\n\r\n // Make sure to call the final promise and catch final erro\r\n return Promise.all(promises)\r\n .then(res => dispatch(projectListLoaded(res)))\r\n .catch(err => dispatch(projectListError({ err: { length: GEO_APIS.length, finalError: err } })));\r\n};\r\nexport const searchProjectList = data => dispatch => {\r\n return dispatch(projectListSearched(data));\r\n};\r\n\r\nexport const deleteProject = data => dispatch => {\r\n return _deleteProject({ projectId: data.selected }).then(res => {\r\n if (data.soft) {\r\n return dispatch(softDelProject({ res, projectId: data.selected }));\r\n }\r\n return dispatch(hardDelProject({ projectId: data.selected }));\r\n });\r\n};\r\n\r\nexport const restoreDeletedProject = data => dispatch => {\r\n return restoreProject(data).then(res => dispatch(restoreDelProject({ res, data })));\r\n};\r\n\r\nexport const copySourceProject = data => dispatch => {\r\n return copyProject(data).then(res => {\r\n dispatch(projectCopy({ res, original: data.projectId }));\r\n dispatch(subscribe(res.data.projectId));\r\n return res;\r\n });\r\n};\r\n\r\nexport const enableSupportAccess = data => dispatch => {\r\n return _enableSupportAccess(data).then(res => {\r\n dispatch(projectEnableAccess({ projectId: data.projectId, allowAccess: data.allowAccess }));\r\n return res;\r\n });\r\n};\r\n\r\nexport const carrySourceProject = data => dispatch => {\r\n return carryProject(data).then(res => {\r\n dispatch(projectCarry({ res, original: data.projectId }));\r\n dispatch(subscribe(res.data.projectId));\r\n return res;\r\n });\r\n};\r\n\r\nexport const archiveReqProject = data => dispatch => {\r\n return archiveRequestProject(data.data).then(res => dispatch(projectRequestArchive(data)));\r\n};\r\n\r\nexport const cancelArchiveProject = data => dispatch => {\r\n return archiveCancelRequest(data).then(res => dispatch(projectArchiveCancel({ res, original: data.projectId })));\r\n};\r\n\r\nexport const initiateLegalHold = data => dispatch => {\r\n return legalHoldProject(data).then(res => dispatch(projectLegalHold(data)));\r\n};\r\n\r\nexport const flagNonClientService = data => dispatch => {\r\n return changeFlagNonClientService({ projectId: data.projectId, isClientService: data.newValue }).then(() =>\r\n dispatch(chgFlagNonClientService(data))\r\n );\r\n};\r\n\r\nexport const updateProjectState = data => dispatch => {\r\n return dispatch(projectCopyStatusUpdate(data));\r\n};\r\n\r\n/*\r\n * Reducer\r\n */\r\nexport const INITIAL_STATE = new ProjectList();\r\n\r\nexport default createReducer(INITIAL_STATE, {\r\n [ACTIONS.PROJECT_LIST_LOADING]: (state, action) => {\r\n return state.setLoading(state);\r\n },\r\n\r\n [ACTIONS.PROJECT_LIST_LOADED]: (state, action) => {\r\n return state.setLoaded(state, action);\r\n },\r\n\r\n [ACTIONS.PROJECT_LIST_PARTIAL_LOAD]: (state, action) => {\r\n return state.setPartialLoad(state, action);\r\n },\r\n\r\n [ACTIONS.PROJECT_LIST_PARTIAL_ERROR]: (state, action) => {\r\n return state.setPartialError(state, action);\r\n },\r\n\r\n [ACTIONS.PROJECT_LIST_SEARCHED]: (state, action) => {\r\n return state.setSearched(state, action);\r\n },\r\n\r\n [ACTIONS.PROJECT_LIST_ERROR]: (state, action) => {\r\n return state.setError(state, action);\r\n },\r\n\r\n [ACTIONS.HARD_DELETE_PROJECT]: (state, action) => {\r\n return state.setDeleted(state, action);\r\n },\r\n\r\n [ACTIONS.SOFT_DELETE_PROJECT]: (state, action) => {\r\n return state.setSoftDeleted(state, action);\r\n },\r\n\r\n [ACTIONS.CHG_FLAG_NON_CLIENT_SERVICE]: (state, action) => {\r\n return state.setFlagClientService(state, action);\r\n },\r\n\r\n [ACTIONS.RESTORE_PROJECT]: (state, action) => {\r\n return state.setRestored(state, action);\r\n },\r\n\r\n [ACTIONS.COPY_PROJECT]: (state, action) => {\r\n return state.setCopied(state, action);\r\n },\r\n\r\n [ACTIONS.COPY_STATUS_UPDATE]: (state, action) => {\r\n return state.setProjectUpdatedStatus(state, action);\r\n },\r\n\r\n [ACTIONS.ENABLE_SUPPORT_ACCESS]: (state, action) => {\r\n return state.setEnabledAccess(state, action);\r\n },\r\n\r\n [ACTIONS.CARRY_PROJECT]: (state, action) => {\r\n return state.setCarried(state, action);\r\n },\r\n\r\n [ACTIONS.REQUEST_ARCHIVE_PROJECT]: (state, action) => {\r\n return state.setArchived(state, action);\r\n },\r\n\r\n [ACTIONS.CANCEL_ARCHIVE_PROJECT]: (state, action) => {\r\n return state.setCancelArchived(state, action);\r\n },\r\n\r\n [ACTIONS.LEGAL_HOLD_PROJECT]: (state, action) => {\r\n return state.setLegalHold(state, action);\r\n }\r\n});\r\n","import model from 'models/base-model';\r\n\r\nexport class Translations extends model({\r\n error: null,\r\n isTranslationsLoading: false,\r\n translations: [],\r\n isLanguagePairsLoading: false,\r\n languagePairs: [],\r\n isMachineTranslationAvailable: true,\r\n machineTranslationDownTimeDuration: '',\r\n machineTranslationDownTimeDurationUnitKey: ''\r\n}) {\r\n /* LOADERS */\r\n setTranslationsListLoading() {\r\n return this.merge({\r\n isTranslationsLoading: true,\r\n error: null\r\n });\r\n }\r\n\r\n setLanguagePairsLoading() {\r\n return this.merge({\r\n isLanguagePairsLoading: true,\r\n error: null\r\n });\r\n }\r\n\r\n /* ERROR */\r\n setTranslationsListError(error) {\r\n return this.merge({\r\n error: error\r\n });\r\n }\r\n\r\n setLanguagePairsError(error) {\r\n return this.merge({\r\n error: error\r\n });\r\n }\r\n\r\n /* TEMPLATES LOADED */\r\n setTranslationsListLoaded(state, action) {\r\n return this.merge({\r\n ...state,\r\n isTranslationsLoading: false,\r\n translations: action.payload ?? []\r\n });\r\n }\r\n\r\n setLanguagePairsLoaded(state, action) {\r\n return this.merge({\r\n ...state,\r\n isLanguagePairsLoading: false,\r\n languagePairs: action.payload ?? []\r\n });\r\n }\r\n\r\n setServiceDown(state, action) {\r\n return this.merge({\r\n ...state,\r\n isLanguagePairsLoading: false,\r\n isTranslationsLoading: false,\r\n languagePairs: []\r\n });\r\n }\r\n}\r\n","import { createAction, createReducer } from 'utils/redux-utils';\r\nimport * as api from 'store/api';\r\nimport { Translations } from 'models/translations';\r\n\r\nexport const ACTIONS = {\r\n // Translations list\r\n TRANSLATIONS_LIST_LOADING: 'argus/ui/TRANSLATIONS_LIST_LOADING',\r\n TRANSLATIONS_LIST_LOADED: 'argus/ui/TRANSLATIONS_LIST_LOADED',\r\n TRANSLATIONS_LIST_ERROR: 'argus/ui/TRANSLATIONS_LIST_ERROR',\r\n // Language pairs\r\n LANGUAGE_PAIRS_LOADING: 'argus/ui/LANGUAGE_PAIRS_LOADING',\r\n LANGUAGE_PAIRS_LOADED: 'argus/ui/LANGUAGE_PAIRS_LOADED',\r\n LANGUAGE_PAIRS_ERROR: 'argus/ui/LANGUAGE_PAIRS_ERROR',\r\n SERVICE_DOWN: 'argus/ui/SERVICE_DOWN',\r\n // Document translation\r\n DOCUMENT_TRANSLATION_LOADING: 'argus/ui/DOCUMENT_TRANSLATION_LOADING',\r\n DOCUMENT_TRANSLATION_LOADED: 'argus/ui/DOCUMENT_TRANSLATION_LOADED',\r\n DOCUMENT_TRANSLATION_ERROR: 'argus/ui/DOCUMENT_TRANSLATION_ERROR',\r\n // Text translation\r\n TEXT_TRANSLATION_LOADING: 'argus/ui/TEXT_TRANSLATION_LOADING',\r\n TEXT_TRANSLATION_LOADED: 'argus/ui/TEXT_TRANSLATION_LOADED',\r\n TEXT_TRANSLATION_ERROR: 'argus/ui/TEXT_TRANSLATION_ERROR'\r\n};\r\n\r\n// Translations: Document list\r\nexport const translationsListLoading = createAction(ACTIONS.TRANSLATIONS_LIST_LOADING);\r\nexport const translationsListLoaded = createAction(ACTIONS.TRANSLATIONS_LIST_LOADED);\r\nexport const translationsListError = createAction(ACTIONS.TRANSLATIONS_LIST_ERROR);\r\n\r\nexport const loadTranslationsList = () => dispatch => {\r\n dispatch(translationsListLoading());\r\n return api.getTranslations().then(response => {\r\n dispatch(translationsListLoaded(response.data));\r\n });\r\n};\r\n\r\nexport const loadTranslationListLocal = data => dispatch => {\r\n return dispatch(translationsListLoaded(data));\r\n};\r\n\r\n// Translations: Language pairs\r\nexport const languagePairsLoading = createAction(ACTIONS.LANGUAGE_PAIRS_LOADING);\r\nexport const languagePairsLoaded = createAction(ACTIONS.LANGUAGE_PAIRS_LOADED);\r\nexport const languagePairsError = createAction(ACTIONS.LANGUAGE_PAIRS_ERROR);\r\nexport const serviceDown = createAction(ACTIONS.SERVICE_DOWN);\r\n\r\nexport const loadTranslationLanguagePairs = () => dispatch => {\r\n dispatch(languagePairsLoading());\r\n return api.getLanguagePairs().then(response => {\r\n response.data.machineTranslationSettings.isMachineTranslationAvailable\r\n ? dispatch(languagePairsLoaded(response.data.languagePairs))\r\n : dispatch(serviceDown(response.data.machineTranslationSettings));\r\n });\r\n};\r\n\r\n// Translations: Translate document\r\nexport const documentTranslationLoading = createAction(ACTIONS.DOCUMENT_TRANSLATION_LOADING);\r\nexport const documentTranslationLoaded = createAction(ACTIONS.DOCUMENT_TRANSLATION_LOADED);\r\nexport const documentTranslationError = createAction(ACTIONS.DOCUMENT_TRANSLATION_ERROR);\r\n\r\nexport const translateDocuments = data => dispatch => {\r\n dispatch(documentTranslationLoading());\r\n return api.translateDocuments(data).then(response => dispatch(documentTranslationLoaded(response.data)));\r\n};\r\n\r\n// Translations: Translate text\r\nexport const textTranslationLoading = createAction(ACTIONS.TEXT_TRANSLATION_LOADING);\r\nexport const textTranslationLoaded = createAction(ACTIONS.TEXT_TRANSLATION_LOADED);\r\nexport const textTranslationError = createAction(ACTIONS.TEXT_TRANSLATION_ERROR);\r\n\r\nexport const translateText = data => dispatch => {\r\n dispatch(textTranslationLoading());\r\n return api.translateText(data).then(response => dispatch(textTranslationLoaded(response.data)));\r\n};\r\n\r\n/*\r\n * Reducer\r\n */\r\nexport const INITIAL_STATE = new Translations();\r\n\r\nexport default createReducer(INITIAL_STATE, {\r\n [ACTIONS.TRANSLATIONS_LIST_LOADING]: (state, action) => {\r\n return state.setTranslationsListLoading();\r\n },\r\n\r\n [ACTIONS.TRANSLATIONS_LIST_LOADED]: (state, action) => {\r\n return state.setTranslationsListLoaded(state, action);\r\n },\r\n\r\n [ACTIONS.TRANSLATIONS_LIST_ERROR]: (state, action) => {\r\n return state.setTranslationsListError(action.payload);\r\n },\r\n\r\n [ACTIONS.LANGUAGE_PAIRS_LOADING]: (state, action) => {\r\n return state.setLanguagePairsLoading();\r\n },\r\n\r\n [ACTIONS.LANGUAGE_PAIRS_LOADED]: (state, action) => {\r\n return state.setLanguagePairsLoaded(state, action);\r\n },\r\n\r\n [ACTIONS.LANGUAGE_PAIRS_ERROR]: (state, action) => {\r\n return state.setLanguagePairsError(action.payload);\r\n },\r\n\r\n [ACTIONS.SERVICE_DOWN]: (state, action) => {\r\n return state.setServiceDown(action.payload);\r\n }\r\n});\r\n","import model from 'models/base-model';\r\nimport { sortBy } from 'underscore';\r\nimport dateUtil from 'utils/dateUtil';\r\n\r\nexport class ProjectMembers extends model({\r\n isLoading: false,\r\n isLoaded: false,\r\n error: null,\r\n members: null\r\n}) {\r\n setLoading() {\r\n return this.merge({\r\n isLoading: true,\r\n isLoaded: false,\r\n error: null\r\n });\r\n }\r\n\r\n setError(error) {\r\n return this.merge({\r\n isLoading: false,\r\n isLoaded: false,\r\n error: error,\r\n members: null\r\n });\r\n }\r\n\r\n // Get data returned from the API\r\n setLoaded(members) {\r\n return ProjectMembers.fromData(members);\r\n }\r\n\r\n setAdded(state, action) {\r\n return this.merge({\r\n ...state,\r\n isLoading: false,\r\n isLoaded: true,\r\n error: null,\r\n members:\r\n state.members !== null\r\n ? state.members.concat(Member.fromData(action.payload))\r\n : Member.fromData(action.payload),\r\n added: Member.fromData(action.payload)\r\n });\r\n }\r\n\r\n setUpdated(state, action) {\r\n return this.merge({\r\n ...state,\r\n isLoading: false,\r\n error: null,\r\n members: state.members.map(item => {\r\n if (item.userId !== action.payload.userId) {\r\n // This isn't the item we care about - keep it as-is\r\n return item;\r\n }\r\n\r\n // Otherwise, this is the one we want - return an updated value\r\n return {\r\n ...item,\r\n role: {\r\n ...item.role,\r\n roleDisplayName: action.payload.roleDisplayName,\r\n roleId: action.payload.roleId\r\n }\r\n };\r\n })\r\n });\r\n }\r\n\r\n setDeleted(state, action) {\r\n return this.merge({\r\n ...state,\r\n isLoading: false,\r\n error: null,\r\n members: state.members.filter(v => v.userId !== action.payload.userId)\r\n });\r\n }\r\n\r\n static fromData(model) {\r\n const data = model.map(member => Member.fromData(member));\r\n const creator = data.filter(v => v.role.roleId === 8);\r\n const other = data.filter(v => v.role.roleId !== 8);\r\n\r\n return new ProjectMembers({\r\n isLoading: false,\r\n error: null,\r\n members: creator.concat(sortBy(other, v => !v.userDetail.isPPD))\r\n });\r\n }\r\n}\r\n\r\nexport class Member extends model({\r\n isLoading: false,\r\n error: null,\r\n projectId: null,\r\n role: null,\r\n userDetail: null,\r\n userId: null,\r\n lastUpdatedDate: null,\r\n lastUpdatedBy: null,\r\n createdDate: null,\r\n createdBy: null\r\n}) {\r\n setLoading() {\r\n return this.merge({\r\n isLoading: true,\r\n error: null\r\n });\r\n }\r\n\r\n setError(error) {\r\n return this.merge({\r\n isLoading: false,\r\n error: error\r\n });\r\n }\r\n\r\n // Get data returned from the API\r\n setLoaded(members) {\r\n return Member.fromData(members);\r\n }\r\n\r\n static fromData(model) {\r\n return new Member({\r\n ...model,\r\n isLoading: false,\r\n error: null,\r\n createdDate: dateUtil.fromServerDate(model.createdDate)\r\n });\r\n }\r\n}\r\n","import { createAction, createReducer } from 'utils/redux-utils';\r\n\r\nimport { ProjectMembers } from 'models/project-members';\r\nimport * as api from 'store/api';\r\nimport socket, { rooms } from 'utils/socket';\r\n\r\nexport const ACTIONS = {\r\n // Data fetching\r\n PROJECT_MEMBERS_LOADING: 'argus/ui/PROJECT_MEMBERS_LOADING',\r\n PROJECT_MEMBERS_LOADED: 'argus/ui/PROJECT_MEMBERS_LOADED',\r\n PROJECT_MEMBERS_ERROR: 'argus/ui/PROJECT_MEMBERS_ERROR',\r\n CLEAR_PROJECT_MEMBER: 'argus/ui/CLEAR_PROJECT_MEMBER',\r\n // Data posting\r\n ADD_PROJECT_MEMBER: 'argus/ui/ADD_PROJECT_MEMBER',\r\n // Data update\r\n UPDATE_PROJECT_MEMBER: 'argus/ui/UPDATE_PROJECT_MEMBER',\r\n // Data delete\r\n DELETE_PROJECT_MEMBER: 'argus/ui/DELETE_PROJECT_MEMBER'\r\n};\r\n\r\nexport const projectMembersLoading = createAction(ACTIONS.PROJECT_MEMBERS_LOADING);\r\nexport const projectMembersLoaded = createAction(ACTIONS.PROJECT_MEMBERS_LOADED);\r\nexport const projectMembersError = createAction(ACTIONS.PROJECT_MEMBERS_ERROR);\r\nexport const projectMembersClear = createAction(ACTIONS.CLEAR_PROJECT_MEMBER);\r\n\r\nexport const postProjectMember = createAction(ACTIONS.ADD_PROJECT_MEMBER);\r\n\r\nexport const modifyProjectMember = createAction(ACTIONS.UPDATE_PROJECT_MEMBER);\r\n\r\nexport const delProjectMember = createAction(ACTIONS.DELETE_PROJECT_MEMBER);\r\n\r\n// Contains the logic for subscribing/unsubscribing to updates from the socket\r\nexport const { subscribe, unsubscribe } = (socket => {\r\n let room = null;\r\n let onProjectUserRoleChanged = null;\r\n\r\n const subscribe = projectId => dispatch => {\r\n if (!projectId) {\r\n return;\r\n }\r\n\r\n const nextRoom = rooms.project(projectId);\r\n\r\n if (room !== nextRoom) {\r\n socket.leave(room);\r\n room = nextRoom;\r\n socket.join(nextRoom);\r\n }\r\n\r\n // Handle project user role changed\r\n if (!onProjectUserRoleChanged) {\r\n onProjectUserRoleChanged = event => {\r\n dispatch(modifyProjectMember(event.data));\r\n };\r\n socket.on('project.user.role.updated', onProjectUserRoleChanged);\r\n }\r\n };\r\n\r\n const unsubscribe = () => {\r\n socket.leave(room);\r\n room = null;\r\n\r\n if (onProjectUserRoleChanged) {\r\n socket.off('project.user.role.updated', onProjectUserRoleChanged);\r\n onProjectUserRoleChanged = null;\r\n }\r\n };\r\n\r\n return {\r\n subscribe,\r\n unsubscribe\r\n };\r\n})(socket);\r\n\r\n// Data fetching\r\nexport const loadProjectMembers = ({ projectId }) => dispatch => {\r\n dispatch(projectMembersLoading());\r\n return api\r\n .getProjectUsers({ projectId })\r\n .then(response => {\r\n dispatch(projectMembersLoaded(response.data));\r\n dispatch(subscribe(projectId));\r\n return response;\r\n })\r\n .catch(err => dispatch(projectMembersError({ err })));\r\n};\r\n\r\n// Data posting\r\nexport const addProjectMember = data => dispatch => {\r\n dispatch(projectMembersLoading());\r\n api.addProjectUser(data).then(response => dispatch(postProjectMember(response.data)));\r\n};\r\n\r\n// Data updating\r\nexport const updateProjectMember = data => dispatch => {\r\n api.updateProjectUser(data);\r\n dispatch(modifyProjectMember(data));\r\n};\r\n\r\n// Data deleting\r\nexport const deleteProjectMember = data => dispatch => {\r\n dispatch(projectMembersLoading());\r\n api.deleteProjectUser(data).then(() => dispatch(delProjectMember(data)));\r\n};\r\n\r\n// Data clearing\r\nexport const clearProjectMember = data => dispatch => {\r\n unsubscribe();\r\n return dispatch(projectMembersClear());\r\n};\r\n\r\n/*\r\n * Reducer\r\n */\r\nexport const INITIAL_STATE = new ProjectMembers();\r\n\r\nexport default createReducer(INITIAL_STATE, {\r\n [ACTIONS.PROJECT_MEMBERS_LOADING]: (state, action) => {\r\n return state.setLoading();\r\n },\r\n\r\n [ACTIONS.PROJECT_MEMBERS_LOADED]: (state, action) => {\r\n return state.setLoaded(action.payload);\r\n },\r\n\r\n [ACTIONS.PROJECT_MEMBERS_ERROR]: (state, action) => {\r\n return state.setError(action.payload.err);\r\n },\r\n\r\n [ACTIONS.ADD_PROJECT_MEMBER]: (state, action) => {\r\n return state.setAdded(state, action);\r\n },\r\n\r\n [ACTIONS.UPDATE_PROJECT_MEMBER]: (state, action) => {\r\n return state.setUpdated(state, action);\r\n },\r\n\r\n [ACTIONS.DELETE_PROJECT_MEMBER]: (state, action) => {\r\n return state.setDeleted(state, action);\r\n },\r\n\r\n [ACTIONS.CLEAR_PROJECT_MEMBER]: (state, action) => {\r\n return INITIAL_STATE;\r\n }\r\n});\r\n","import model from 'models/base-model';\r\n\r\nconst fromApiModel = data => {\r\n const _totalDocumentCount = data.totalDocumentCount || 0;\r\n const _reviewedCount = data.reviewedCount || 0;\r\n const _notReviewedCount = data.notReviewedCount || 0;\r\n const _assignedCount = data.assignedCount || 0;\r\n const _notAssignedCount = data.notAssignedCount || 0;\r\n const mapping = [\r\n {\r\n key: 'total-documents',\r\n apiKey: null,\r\n apiValue: null,\r\n isChartRow: false,\r\n count: _totalDocumentCount,\r\n totalCount: _totalDocumentCount\r\n },\r\n {\r\n key: 'finalized-documents',\r\n apiKey: 'isReviewed',\r\n apiValue: 'true',\r\n isChartRow: true,\r\n count: _reviewedCount,\r\n totalCount: _totalDocumentCount\r\n },\r\n {\r\n key: 'not-finalized-documents',\r\n apiKey: 'isReviewed',\r\n apiValue: 'false',\r\n isChartRow: false,\r\n count: _notReviewedCount,\r\n totalCount: _totalDocumentCount\r\n },\r\n {\r\n key: 'assigned-documents',\r\n apiKey: 'isAssigned',\r\n apiValue: 'true',\r\n isChartRow: true,\r\n count: _assignedCount,\r\n totalCount: _totalDocumentCount\r\n },\r\n {\r\n key: 'not-assigned-documents',\r\n apiKey: 'isAssigned',\r\n apiValue: 'false',\r\n isChartRow: false,\r\n count: _notAssignedCount,\r\n totalCount: _totalDocumentCount\r\n }\r\n ];\r\n return mapping;\r\n};\r\n\r\nexport class ProjectStatus extends model({\r\n isLoading: false,\r\n isLoaded: false,\r\n error: false,\r\n data: fromApiModel({})\r\n}) {\r\n setLoading() {\r\n return this.merge({\r\n isLoading: true,\r\n error: null\r\n });\r\n }\r\n\r\n /* ERROR */\r\n setError(error) {\r\n return this.merge({\r\n isLoading: false,\r\n error: error\r\n });\r\n }\r\n\r\n /* LOADED */\r\n setLoaded(state, action) {\r\n return this.merge({\r\n ...state,\r\n isLoading: false,\r\n isLoaded: true,\r\n data: fromApiModel(action.payload)\r\n });\r\n }\r\n\r\n clear() {\r\n return new ProjectStatus();\r\n }\r\n}\r\n","import { createAction, createReducer } from 'utils/redux-utils';\r\n\r\nimport { getProjectStatus } from 'store/api';\r\nimport { ProjectStatus } from 'models/review-status/project-status';\r\n\r\n// used to hook onto clear call from search results store\r\nimport { ACTIONS as SearchResultsActions } from 'store/search/search-results';\r\n\r\nexport const ACTIONS = {\r\n PROJECT_STATUS_LOADING: 'argus/ui/PROJECT_STATUS_LOADING',\r\n PROJECT_STATUS_LOADED: 'argus/ui/PROJECT_STATUS_LOADED',\r\n PROJECT_STATUS_CLEAR: 'argus/ui/PROJECT_STATUS_CLEAR'\r\n};\r\n\r\nexport const projectStatusLoading = createAction(ACTIONS.PROJECT_STATUS_LOADING);\r\nexport const projectStatusLoaded = createAction(ACTIONS.PROJECT_STATUS_LOADED);\r\nexport const projectStatusClear = createAction(ACTIONS.PROJECT_STATUS_CLEAR);\r\n\r\nexport const getData = projectId => dispatch => {\r\n dispatch(projectStatusLoading());\r\n return getProjectStatus(projectId).then(res => {\r\n dispatch(projectStatusLoaded(res.data));\r\n });\r\n};\r\n\r\nexport const clear = () => dispatch => {\r\n dispatch(projectStatusClear());\r\n};\r\n\r\n/*\r\n * Reducer\r\n */\r\nexport const INITIAL_STATE = new ProjectStatus();\r\n\r\nexport default createReducer(INITIAL_STATE, {\r\n [ACTIONS.PROJECT_STATUS_LOADING]: (state, action) => {\r\n return state.setLoading();\r\n },\r\n\r\n [ACTIONS.PROJECT_STATUS_LOADED]: (state, action) => {\r\n return state.setLoaded(state, action);\r\n },\r\n\r\n [ACTIONS.PROJECT_STATUS_CLEAR]: (state, action) => {\r\n return state.clear();\r\n },\r\n\r\n [SearchResultsActions.SEARCH_RESULTS_CLEAR]: (state, action) => {\r\n return state.clear();\r\n }\r\n});\r\n","import model from 'models/base-model';\r\n\r\nimport { getTransformedValues } from 'utils/data-utils';\r\nimport { flattenAddExtractionData } from 'components/extractions/helpers/add-extraction';\r\nimport { processTemplateExtractionFields } from 'components/extractions/helpers/extraction-picker';\r\nimport { Templates } from 'models/edit-extractions';\r\n\r\nexport class ProjectTemplates extends model({\r\n isGroupsLoading: false,\r\n isGroupExtLoading: false,\r\n isAllExtLoading: false,\r\n isTemplateExtLoading: false,\r\n isTemplatesLoading: false,\r\n failedExtraction: false,\r\n error: null,\r\n projectId: null,\r\n templateCategoryId: null,\r\n templateId: null,\r\n templateName: '', // Template name is not the same as selected name\r\n templates: null,\r\n groups: [],\r\n selectedGroup: null,\r\n allExtractions: [],\r\n templateExtractions: [],\r\n untitled: 'Enter the name of the template', // Fallback for when there is no untitled intl prop\r\n templateSuffix: 'Template' // Fallback for when there is no untitled intl prop\r\n}) {\r\n /* LOADERS */\r\n setTemplatesLoading() {\r\n return this.merge({\r\n isTemplatesLoading: true,\r\n error: null\r\n });\r\n }\r\n\r\n setGroupsLoading() {\r\n return this.merge({\r\n isGroupsLoading: true,\r\n error: null\r\n });\r\n }\r\n\r\n setGroupsExtLoading() {\r\n return this.merge({\r\n isGroupExtLoading: true,\r\n error: null\r\n });\r\n }\r\n\r\n setAllExtLoading() {\r\n return this.merge({\r\n isAllExtLoading: true,\r\n error: null\r\n });\r\n }\r\n\r\n setTemplateExtLoading() {\r\n return this.merge({\r\n isTemplateExtLoading: true,\r\n error: null\r\n });\r\n }\r\n\r\n /* ERROR */\r\n setError(error) {\r\n return this.merge({\r\n error: error\r\n });\r\n }\r\n\r\n /* EXTRACTIONS LOADED */\r\n setGroupsLoaded(state, action) {\r\n return this.merge({\r\n ...state,\r\n isGroupsLoading: false,\r\n groups: action.payload ?? []\r\n });\r\n }\r\n\r\n setAllExtLoaded(state, action) {\r\n return this.merge({\r\n ...state,\r\n isAllExtLoading: false,\r\n allExtractions: flattenAddExtractionData(\r\n action.payload,\r\n state.templateExtractions?.length > 0 ? state.templateExtractions.map(v => v.isSelected && v.id) : []\r\n ),\r\n originalExtractionData: action.payload\r\n });\r\n }\r\n\r\n enableAllExtractons(state) {\r\n return this.merge({\r\n allExtractions: state.allExtractions.map(e => ({ ...e, disabled: false }))\r\n });\r\n }\r\n\r\n // When template specific extractions have loaded\r\n setTemplateExtLoaded(state, action) {\r\n let templateExtractions = processTemplateExtractionFields(action.payload.templates[0], action.payload.groups);\r\n templateExtractions.forEach(extractionField => (extractionField.isSelected = true));\r\n return this.merge({\r\n ...state,\r\n isTemplateExtLoading: false,\r\n templateExtractions: templateExtractions,\r\n allExtractions: state.originalExtractionData\r\n ? flattenAddExtractionData(\r\n state.originalExtractionData,\r\n templateExtractions.length > 0 ? templateExtractions.map(v => v.id) : []\r\n )\r\n : state.allExtractions\r\n });\r\n }\r\n\r\n setGroupsExtLoaded(state, action) {\r\n const templateExtractions =\r\n state.selectedGroup.Id !== 'Other' ? action.payload.map(value => this.cleanExtraction(value)) : [];\r\n\r\n return this.merge({\r\n ...state,\r\n isGroupExtLoading: false,\r\n error: null,\r\n templateExtractions: templateExtractions\r\n });\r\n }\r\n\r\n // When a user moves the position of extractions\r\n setMoved(state, action) {\r\n return this.merge({\r\n ...state,\r\n isTemplateExtLoading: false,\r\n error: null,\r\n templateExtractions: action.payload\r\n });\r\n }\r\n\r\n // If user has deleted the extractions\r\n setDeleted(state, action) {\r\n if (state.allExtractions.length > 0) {\r\n const deletedId = state.allExtractions\r\n .map((e, i) => (e.id === action.payload.extractionFieldId ? i : ''))\r\n .filter(String);\r\n // We have to update the group view so it now becomes enabled\r\n if (deletedId.length > 0) {\r\n deletedId.forEach(index => (state.allExtractions[index].disabled = false));\r\n }\r\n }\r\n\r\n return this.merge({\r\n ...state,\r\n isTemplateExtLoading: false,\r\n error: null,\r\n templateExtractions: state.templateExtractions.filter(v => v.id !== action.payload.extractionFieldId),\r\n allExtractions: state.allExtractions\r\n });\r\n }\r\n\r\n // If user select/deselect an extraction\r\n toggleSelected(state, action) {\r\n return this.merge({\r\n ...state,\r\n templateExtractions: state.templateExtractions.map(ext => {\r\n if (ext.id === action.payload) {\r\n ext.isSelected = !ext.isSelected;\r\n }\r\n return ext;\r\n }),\r\n allExtractions: state.allExtractions.map(ext => {\r\n if (ext.id === action.payload) {\r\n ext.disabled = !ext.disabled;\r\n }\r\n return ext;\r\n })\r\n });\r\n }\r\n\r\n cleanExtraction(data) {\r\n // If it's already clean, no need to re-clean\r\n if (data.trainingTarget) {\r\n return data;\r\n }\r\n return {\r\n id: data.extractionFieldId,\r\n failed: data.failedExtraction,\r\n group:\r\n data.groups.length > 0\r\n ? (data.extractionFieldGroupId\r\n ? data.groups.find(gr => gr.extractionFieldGroupId === data.extractionFieldGroupId)\r\n : data.groups[0]\r\n ).extractionFieldGroupName\r\n : null,\r\n groupMapping: data.extractionFieldDisplayOrderMappings,\r\n groupId:\r\n data.groups.length > 0\r\n ? (data.extractionFieldGroupId\r\n ? data.groups.find(gr => gr.extractionFieldGroupId === data.extractionFieldGroupId)\r\n : data.groups[0]\r\n ).extractionFieldGroupId\r\n : 0,\r\n name: data.extractionFieldName,\r\n description: data.extractionFieldDescription,\r\n color: data.colorIndex,\r\n trainingCount: data.reviewDocumentCount,\r\n trainingTarget: data.minDocumentsToBeConsideredTrained,\r\n isTrained: data.isTrained,\r\n AccessTypeId: data.accessTypeId,\r\n isAutomaticExtraction: data.isAutomaticExtraction,\r\n isSelected: data.isSelected || false\r\n };\r\n }\r\n\r\n // When a user adds an extraction => this is needed to improve performance when user is adding\r\n // A lot of extractions at once\r\n setAdded(state, action) {\r\n const data = getTransformedValues([...state.allExtractions], action.payload.data, 'id', this.cleanExtraction);\r\n const tempExt = data.addedElement.reduce(\r\n (acc, cur) => {\r\n let index = acc.findIndex(ext => ext.id === cur.id);\r\n if (index >= 0) {\r\n acc[index].isSelected = true;\r\n } else {\r\n cur.isSelected = true;\r\n acc.push(cur);\r\n }\r\n return acc;\r\n },\r\n [...state.templateExtractions]\r\n );\r\n return this.merge({\r\n ...state,\r\n templateExtractions: tempExt,\r\n allExtractions: data.original\r\n });\r\n }\r\n\r\n /* PROJECT TEMPLATES */\r\n setCreated(state, action) {\r\n return this.merge({\r\n ...state,\r\n error: null,\r\n selectedGroup: null,\r\n templateName: '',\r\n templateId: null,\r\n templateCategoryId: null\r\n });\r\n }\r\n\r\n setUpdated(state, action) {\r\n return this.merge({\r\n ...state,\r\n error: null,\r\n selectedGroup: null,\r\n templateName: '',\r\n templateId: null,\r\n templateCategoryId: null\r\n });\r\n }\r\n\r\n // When a user has selected a certain template\r\n setTempSelected(state, action) {\r\n return this.merge({\r\n ...state,\r\n isTemplatesLoading: false,\r\n error: null,\r\n selectedGroup: null,\r\n templateName: action.payload.name,\r\n templateId: action.payload.projectTemplateId,\r\n templateCategoryId: action.payload.templateCategoryId\r\n });\r\n }\r\n\r\n // When a user selects on a group based document type\r\n setSelectedGroup(state, action) {\r\n return this.merge({\r\n ...state,\r\n templateName:\r\n action.payload.Id === 'Other'\r\n ? action.payload.untitled\r\n : `${action.payload.name} ${action.payload.templateSuffix}`,\r\n templateCategoryId: action.payload.templateCategoryId,\r\n templateTypeID: action.payload.templateTypeID,\r\n selectedGroup: {\r\n name: action.payload.name,\r\n Id: action.payload.Id\r\n },\r\n untitled: action.payload.untitled,\r\n templateSuffix: action.payload.templateSuffix\r\n });\r\n }\r\n\r\n // When a user changes a template name\r\n setChangedName(state, action) {\r\n return this.merge({\r\n ...state,\r\n templateName: action.payload\r\n });\r\n }\r\n\r\n // Get data returned from the API\r\n setTemplatesLoaded(state, action) {\r\n return this.merge({\r\n ...state,\r\n isTemplatesLoading: false,\r\n selectedGroup: null,\r\n templateName: null,\r\n templateCategoryId: null,\r\n templateId: null,\r\n templates:\r\n action.payload && action.payload.length > 0\r\n ? action.payload.map(templates => Templates.fromData(templates))\r\n : []\r\n });\r\n }\r\n}\r\n","import { createAction, createReducer } from 'utils/redux-utils';\r\n\r\nimport * as api from 'store/api';\r\nimport { ProjectTemplates } from 'models/project-templates';\r\n\r\nexport const ACTIONS = {\r\n // Extractions\r\n ENABLE_EXTRACTIONS: 'argus/ui/ENABLE_EXTRACTIONS',\r\n GROUPS_LOADING: 'argus/ui/GROUPS_LOADING',\r\n GROUPS_LOADED: 'argus/ui/GROUPS_LOADED',\r\n GROUPS_EXTRACTIONS_LOADING: 'argus/ui/GROUPS_EXTRACTIONS_LOADING',\r\n GROUPS_EXTRACTIONS_LOADED: 'argus/ui/GROUPS_EXTRACTIONS_LOADED',\r\n ALL_EXTRACTIONS_LOADING: 'argus/ui/ALL_EXTRACTIONS_LOADING',\r\n ALL_EXTRACTIONS_LOADED: 'argus/ui/ALL_EXTRACTIONS_LOADED',\r\n TEMPLATE_EXTRACTIONS_LOADING: 'argus/ui/TEMPLATE_EXTRACTIONS_LOADING',\r\n TEMPLATE_EXTRACTIONS_LOADED: 'argus/ui/TEMPLATE_EXTRACTIONS_LOADED',\r\n MOVE_EXTRACTION: 'argus/ui/MOVE_EXTRACTION',\r\n ADD_EXTRACTION: 'argus/ui/ADD_EXTRACTION',\r\n DELETE_EXTRACTION: 'argus/ui/DELETE_EXTRACTION',\r\n SELECT_EXTRACTION: 'argus/ui/SELECT_EXTRACTION',\r\n // Data fetching\r\n PROJECT_TEMPLATES_LOADING: 'argus/ui/PROJECT_TEMPLATES_LOADING',\r\n PROJECT_TEMPLATES_LOADED: 'argus/ui/PROJECT_TEMPLATES_LOADED',\r\n // Data posting\r\n ADD_PROJECT_TEMPLATE: 'argus/ui/ADD_PROJECT_TEMPLATE',\r\n // Data update\r\n UPDATE_PROJECT_TEMPLATE: 'argus/ui/UPDATE_PROJECT_TEMPLATE',\r\n // Data select\r\n SELECT_PROJECT_TEMPLATE: 'argus/ui/SELECT_PROJECT_TEMPLATE',\r\n // User selected group\r\n SELECT_PROJECT_GROUP: 'argus/ui/SELECT_PROJECT_GROUP',\r\n // User change template name\r\n CHANGE_TEMPLATE_NAME: 'argus/ui/CHANGE_TEMPLATE_NAME',\r\n PROJECT_TEMPLATES_RESET_STATE: 'argus/ui/PROJECT_TEMPLATES_RESET_STATE'\r\n};\r\n\r\nexport const enableExtractonsAction = createAction(ACTIONS.ENABLE_EXTRACTIONS);\r\nexport const groupsLoading = createAction(ACTIONS.GROUPS_LOADING);\r\nexport const groupsLoaded = createAction(ACTIONS.GROUPS_LOADED);\r\nexport const groupExtractionsLoading = createAction(ACTIONS.GROUPS_EXTRACTIONS_LOADING);\r\nexport const groupExtractionsLoaded = createAction(ACTIONS.GROUPS_EXTRACTIONS_LOADED);\r\nexport const allExtractionsLoading = createAction(ACTIONS.ALL_EXTRACTIONS_LOADING);\r\nexport const allExtractionsLoaded = createAction(ACTIONS.ALL_EXTRACTIONS_LOADED);\r\nexport const templateExtractionsLoading = createAction(ACTIONS.TEMPLATE_EXTRACTIONS_LOADING);\r\nexport const templateExtractionsLoaded = createAction(ACTIONS.TEMPLATE_EXTRACTIONS_LOADED);\r\n\r\nexport const moveExtractionsTemplate = createAction(ACTIONS.MOVE_EXTRACTION);\r\nexport const addExtractionsTemplate = createAction(ACTIONS.ADD_EXTRACTION);\r\nexport const deleteExtractionsTemplate = createAction(ACTIONS.DELETE_EXTRACTION);\r\nexport const selectExtractionFromTemplate = createAction(ACTIONS.SELECT_EXTRACTION);\r\n\r\nexport const projectTemplatesLoading = createAction(ACTIONS.PROJECT_TEMPLATES_LOADING);\r\nexport const projectTemplatesLoaded = createAction(ACTIONS.PROJECT_TEMPLATES_LOADED);\r\n\r\nexport const addProjectTemplate = createAction(ACTIONS.ADD_PROJECT_TEMPLATE);\r\n\r\nexport const modifyProjectTemplate = createAction(ACTIONS.UPDATE_PROJECT_TEMPLATE);\r\n\r\nexport const selProjectTemplate = createAction(ACTIONS.SELECT_PROJECT_TEMPLATE);\r\n\r\nexport const selectProjectGroup = createAction(ACTIONS.SELECT_PROJECT_GROUP);\r\n\r\nexport const modifyTemplateName = createAction(ACTIONS.CHANGE_TEMPLATE_NAME);\r\n\r\nexport const resetState = createAction(ACTIONS.PROJECT_TEMPLATES_RESET_STATE);\r\n\r\n/* EXTRACTIONS */\r\nexport const enableExtractons = () => dispatch => {\r\n return dispatch(enableExtractonsAction());\r\n};\r\n\r\nexport const loadGroups = () => dispatch => {\r\n dispatch(groupsLoading());\r\n return api.getProjectCreationExtractionGroups().then(res => {\r\n dispatch(groupsLoaded(res.data));\r\n });\r\n};\r\n\r\nexport const loadGroupExtraction = (groupId, templateTypeId = null) => dispatch => {\r\n dispatch(groupExtractionsLoading());\r\n if (groupId !== 'Other') {\r\n return api.getProjectCreationExtractionForGroup(groupId).then(res => {\r\n const response = templateTypeId\r\n ? res.data\r\n .filter(ef => ef.templateTypeIdDisplayOrders.filter(tt => tt.templateTypeId === templateTypeId).length)\r\n .sort((ef1, ef2) => {\r\n const templateTypeDisplayOrder1 = ef1.templateTypeIdDisplayOrders.find(\r\n tt => tt.templateTypeId === templateTypeId\r\n );\r\n const templateTypeDisplayOrder2 = ef2.templateTypeIdDisplayOrders.find(\r\n tt => tt.templateTypeId === templateTypeId\r\n );\r\n\r\n return (\r\n templateTypeDisplayOrder1.templateExtractionFieldDisplayorder -\r\n templateTypeDisplayOrder2.templateExtractionFieldDisplayorder\r\n );\r\n })\r\n : res.data;\r\n dispatch(groupExtractionsLoaded(response.map(ef => ({ ...ef, extractionFieldGroupId: groupId }))));\r\n });\r\n }\r\n return dispatch(groupExtractionsLoaded([]));\r\n};\r\n\r\nexport const loadAllExtraction = (projectId, templateCategoryID) => dispatch => {\r\n dispatch(allExtractionsLoading(templateCategoryID));\r\n return api.getExtractionFieldsByCategoryID(templateCategoryID, projectId).then(res => dispatch(allExtractionsLoaded(res.data)));\r\n};\r\n\r\nexport const loadTemplateExtraction = (projectId, templateId) => dispatch => {\r\n dispatch(templateExtractionsLoading());\r\n return api\r\n .getProjectTemplateExtractionFields(projectId, templateId)\r\n .then(res => {\r\n return dispatch(templateExtractionsLoaded(res.data));\r\n })\r\n .catch(err => err);\r\n};\r\n\r\nexport const moveExtraction = data => dispatch => {\r\n return dispatch(moveExtractionsTemplate(data));\r\n};\r\n\r\nexport const deleteExtraction = data => dispatch => {\r\n return data.callAPI\r\n ? api.deleteExtraction(data).then(() => dispatch(deleteExtractionsTemplate(data)))\r\n : dispatch(deleteExtractionsTemplate(data));\r\n};\r\n\r\nexport const addExtraction = data => dispatch => {\r\n return dispatch(addExtractionsTemplate(data));\r\n};\r\n\r\nexport const selectExtraction = data => dispatch => {\r\n return dispatch(selectExtractionFromTemplate(data));\r\n};\r\n\r\n/* PROJECT TEMPLATES */\r\n// Load project templates\r\nexport const loadProjectTemplates = data => dispatch => {\r\n dispatch(projectTemplatesLoading());\r\n return api.getTemplates(data).then(res => dispatch(projectTemplatesLoaded(res.data)));\r\n};\r\n\r\n// Create project template for first time\r\nexport const createProjectTemplate = data => dispatch => {\r\n return api.createTemplate(data).then(res => dispatch(addProjectTemplate(res.data)));\r\n};\r\n\r\n// Update exisiting project template\r\nexport const updateProjectTemplate = data => dispatch => {\r\n return api.updateTemplate(data).then(res => dispatch(modifyProjectTemplate(res.data)));\r\n};\r\n\r\n// User selects a project template\r\nexport const selectProjectTemplate = data => dispatch => {\r\n dispatch(selProjectTemplate(data));\r\n};\r\n\r\n// Selection of template group\r\nexport const selectGroup = data => dispatch => {\r\n return dispatch(selectProjectGroup(data));\r\n};\r\n\r\n// User changes template name\r\nexport const changeTemplateName = data => dispatch => {\r\n return dispatch(modifyTemplateName(data));\r\n};\r\n\r\nexport const clearTemplatesData = () => dispatch => {\r\n return dispatch(resetState());\r\n};\r\n\r\n/*\r\n * Reducer\r\n */\r\nexport const INITIAL_STATE = new ProjectTemplates();\r\n\r\nexport default createReducer(INITIAL_STATE, {\r\n [ACTIONS.ENABLE_EXTRACTIONS]: (state, action) => {\r\n return state.enableAllExtractons(state);\r\n },\r\n\r\n [ACTIONS.GROUPS_LOADING]: (state, action) => {\r\n return state.setGroupsLoading();\r\n },\r\n\r\n [ACTIONS.GROUPS_EXTRACTIONS_LOADING]: (state, action) => {\r\n return state.setGroupsExtLoading();\r\n },\r\n\r\n [ACTIONS.TEMPLATE_EXTRACTIONS_LOADING]: (state, action) => {\r\n return state.setTemplateExtLoading();\r\n },\r\n\r\n [ACTIONS.ALL_EXTRACTIONS_LOADING]: (state, action) => {\r\n return state.setAllExtLoading();\r\n },\r\n\r\n [ACTIONS.GROUPS_LOADED]: (state, action) => {\r\n return state.setGroupsLoaded(state, action);\r\n },\r\n\r\n [ACTIONS.GROUPS_EXTRACTIONS_LOADED]: (state, action) => {\r\n return state.setGroupsExtLoaded(state, action);\r\n },\r\n\r\n [ACTIONS.TEMPLATE_EXTRACTIONS_LOADED]: (state, action) => {\r\n return state.setTemplateExtLoaded(state, action);\r\n },\r\n\r\n [ACTIONS.ALL_EXTRACTIONS_LOADED]: (state, action) => {\r\n return state.setAllExtLoaded(state, action);\r\n },\r\n\r\n [ACTIONS.DELETE_EXTRACTION]: (state, action) => {\r\n return state.setDeleted(state, action);\r\n },\r\n\r\n [ACTIONS.SELECT_EXTRACTION]: (state, action) => {\r\n return state.toggleSelected(state, action);\r\n },\r\n\r\n [ACTIONS.MOVE_EXTRACTION]: (state, action) => {\r\n return state.setMoved(state, action);\r\n },\r\n\r\n [ACTIONS.ADD_EXTRACTION]: (state, action) => {\r\n return state.setAdded(state, action);\r\n },\r\n\r\n [ACTIONS.PROJECT_TEMPLATES_LOADING]: (state, action) => {\r\n return state.setTemplatesLoading();\r\n },\r\n\r\n [ACTIONS.PROJECT_TEMPLATES_LOADED]: (state, action) => {\r\n return state.setTemplatesLoaded(state, action);\r\n },\r\n\r\n [ACTIONS.ADD_PROJECT_TEMPLATE]: (state, action) => {\r\n return state.setCreated(state, action);\r\n },\r\n\r\n [ACTIONS.UPDATE_PROJECT_TEMPLATE]: (state, action) => {\r\n return state.setUpdated(state, action);\r\n },\r\n\r\n [ACTIONS.ADD_OR_UPDATE_PROJECT_TEMPLATE]: (state, action) => {\r\n return state.addOrUpdate(state, action);\r\n },\r\n\r\n [ACTIONS.SELECT_PROJECT_TEMPLATE]: (state, action) => {\r\n return state.setTempSelected(state, action);\r\n },\r\n\r\n [ACTIONS.NEW_PROJECT_TEMPLATE]: (state, action) => {\r\n return state.setNewTemplate(state, action);\r\n },\r\n\r\n [ACTIONS.SELECT_PROJECT_GROUP]: (state, action) => {\r\n return state.setSelectedGroup(state, action);\r\n },\r\n\r\n [ACTIONS.CHANGE_TEMPLATE_NAME]: (state, action) => {\r\n return state.setChangedName(state, action);\r\n },\r\n\r\n [ACTIONS.PROJECT_TEMPLATES_RESET_STATE]: (state, action) => {\r\n return INITIAL_STATE;\r\n }\r\n});\r\n","import model from 'models/base-model';\r\n\r\nexport class TemplateTypes extends model({\r\n isLoading: false,\r\n isLoaded: false,\r\n error: null,\r\n types: []\r\n}) {\r\n setLoading() {\r\n return this.merge({\r\n isLoading: true,\r\n error: null\r\n });\r\n }\r\n\r\n /* ERROR */\r\n setError(error) {\r\n return this.merge({\r\n error: error\r\n });\r\n }\r\n\r\n /* LOADED */\r\n setLoaded(state, action) {\r\n return this.merge({\r\n ...state,\r\n isLoading: false,\r\n isLoaded: true,\r\n types: action.payload ?? []\r\n });\r\n }\r\n}\r\n","import { createAction, createReducer } from 'utils/redux-utils';\r\n\r\nimport * as api from 'store/api';\r\nimport { TemplateTypes } from 'models/project-creation/template-types';\r\n\r\nexport const ACTIONS = {\r\n // Extractions\r\n TYPES_LOADING: 'argus/ui/TYPES_LOADING',\r\n TYPES_LOADED: 'argus/ui/TYPES_LOADED'\r\n};\r\n\r\nexport const typesLoading = createAction(ACTIONS.TYPES_LOADING);\r\nexport const typesLoaded = createAction(ACTIONS.TYPES_LOADED);\r\n\r\nexport const loadTypes = () => dispatch => {\r\n dispatch(typesLoading());\r\n return api.getProjectCreationTemplateTypes()?.then(res => {\r\n dispatch(typesLoaded(res.data));\r\n });\r\n};\r\n\r\n/*\r\n * Reducer\r\n */\r\nexport const INITIAL_STATE = new TemplateTypes();\r\n\r\nexport default createReducer(INITIAL_STATE, {\r\n [ACTIONS.TYPES_LOADING]: (state, action) => {\r\n return state.setLoading();\r\n },\r\n\r\n [ACTIONS.TYPES_LOADED]: (state, action) => {\r\n return state.setLoaded(state, action);\r\n }\r\n});\r\n","import model from 'models/base-model';\r\n\r\nexport class UserProgress extends model({\r\n isLoading: false,\r\n isLoaded: false,\r\n error: false,\r\n users: []\r\n}) {\r\n setLoading() {\r\n return this.merge({\r\n isLoading: true,\r\n error: null\r\n });\r\n }\r\n\r\n /* ERROR */\r\n setError(error) {\r\n return this.merge({\r\n isLoading: false,\r\n error: error\r\n });\r\n }\r\n\r\n clear() {\r\n return new UserProgress();\r\n }\r\n\r\n /* LOADED */\r\n setLoaded(state, action) {\r\n return this.merge({\r\n ...state,\r\n isLoading: false,\r\n isLoaded: true,\r\n users: action.payload ?? []\r\n });\r\n }\r\n}\r\n","import { createAction, createReducer } from 'utils/redux-utils';\r\n\r\nimport { getUserProgress } from 'store/api';\r\nimport { UserProgress } from 'models/review-status/user-progress';\r\n\r\n// used to hook onto clear call from search results store\r\nimport { ACTIONS as SearchResultsActions } from 'store/search/search-results';\r\n\r\nexport const ACTIONS = {\r\n USER_PROGRESS_LOADING: 'argus/ui/USER_PROGRESS_LOADING',\r\n USER_PROGRESS_LOADED: 'argus/ui/USER_PROGRESS_LOADED',\r\n USER_PROGRESS_CLEAR: 'argus/ui/USER_PROGRESS_CLEAR'\r\n};\r\n\r\nexport const userProgressLoading = createAction(ACTIONS.USER_PROGRESS_LOADING);\r\nexport const userProgressLoaded = createAction(ACTIONS.USER_PROGRESS_LOADED);\r\nexport const userProgressClear = createAction(ACTIONS.USER_PROGRESS_CLEAR);\r\n\r\nexport const getData = projectId => dispatch => {\r\n dispatch(userProgressLoading());\r\n return getUserProgress(projectId).then(res => {\r\n dispatch(userProgressLoaded(res.data));\r\n });\r\n};\r\n\r\nexport const clear = () => dispatch => {\r\n dispatch(userProgressClear());\r\n};\r\n\r\n/*\r\n * Reducer\r\n */\r\nexport const INITIAL_STATE = new UserProgress();\r\n\r\nexport default createReducer(INITIAL_STATE, {\r\n [ACTIONS.USER_PROGRESS_LOADING]: (state, action) => {\r\n return state.setLoading();\r\n },\r\n\r\n [ACTIONS.USER_PROGRESS_LOADED]: (state, action) => {\r\n return state.setLoaded(state, action);\r\n },\r\n\r\n [ACTIONS.USER_PROGRESS_CLEAR]: (state, action) => {\r\n return state.clear();\r\n },\r\n\r\n [SearchResultsActions.SEARCH_RESULTS_CLEAR]: (state, action) => {\r\n return state.clear();\r\n }\r\n});\r\n","/**\r\n * Natural (alphanumeric) sort a list of items by a key\r\n * @param {string} key - the key to sort the items by\r\n * @param {array} items - list of items to sort\r\n * @returns {array} - sorted list of items\r\n */\r\nexport function sortByKey(key, items) {\r\n const collator = new Intl.Collator(undefined, { numeric: true, sensitivity: 'base' });\r\n return items.sort((a, b) => collator.compare(a[key], b[key]));\r\n}\r\n\r\n/**\r\n * Escape delimiters in filter strings to avoid errors\r\n * @param {string} query - search query string\r\n * @returns {string} - escaped search query string\r\n */\r\nexport function cleanQuery(query) {\r\n // List of delimiters to escape in a string\r\n const DELIMITERS = ['\\\\', ';', '&', ':', '='];\r\n if (!query) {\r\n return '';\r\n }\r\n DELIMITERS.forEach(d => {\r\n // replace the query containing a delimiter with a backslash\r\n query = query.replace(d, '\\\\' + d);\r\n });\r\n return query;\r\n}\r\n","import model from 'models/base-model';\r\nimport dateUtil from 'utils/dateUtil';\r\nimport { sortByKey } from 'utils/string-utils';\r\n\r\nexport default class Reports extends model({\r\n isReportsLoading: false,\r\n isScheduledLoading: false,\r\n regular: null,\r\n scheduled: null,\r\n error: null\r\n}) {\r\n setReportsLoading() {\r\n return this.merge({\r\n isReportsLoading: true\r\n });\r\n }\r\n\r\n setScheduledLoading() {\r\n return this.merge({\r\n isScheduledLoading: true\r\n });\r\n }\r\n\r\n setError(error) {\r\n return this.merge({\r\n isReportsLoading: false,\r\n isScheduledLoading: false,\r\n error: error,\r\n regular: [],\r\n scheduled: []\r\n });\r\n }\r\n\r\n // Get data returned from the API\r\n setReportsLoaded(state, action) {\r\n return this.merge({\r\n ...state,\r\n isReportsLoading: false,\r\n regular: action.payload.map(value => Regular.fromData(value))\r\n });\r\n }\r\n\r\n setScheduledLoaded(state, action) {\r\n return this.merge({\r\n ...state,\r\n isScheduledLoading: false,\r\n scheduled: sortByKey(\r\n 'reportName',\r\n action.payload.map(value => Scheduled.fromData(value))\r\n )\r\n });\r\n }\r\n}\r\n\r\n// Regular reports\r\nexport class Regular extends model({\r\n reportId: null,\r\n reportName: null,\r\n exportFileName: null,\r\n reportDescription: null\r\n}) {\r\n static fromData(model) {\r\n return new Regular({\r\n reportId: model.reportId ? model.reportId : null,\r\n reportName: model.reportName ? model.reportName : null,\r\n exportFileName: model.exportFileName ? model.exportFileName : null,\r\n reportDescription: model.reportDescription ? model.reportDescription : null\r\n });\r\n }\r\n}\r\n// Scheduled reports\r\nexport class Scheduled extends model({\r\n scheduledReportId: null,\r\n recipients: [],\r\n reportId: null,\r\n reportName: null,\r\n reportDescription: null,\r\n frequencyInterval: null,\r\n frequencyIntervalUnits: null,\r\n startDate: null,\r\n lastRunDate: null,\r\n containerCode: null,\r\n memberFirmCode: null\r\n}) {\r\n static fromData(model) {\r\n return new Scheduled({\r\n ...model,\r\n startDate: model.startDate ? dateUtil.fromServerDate(model.startDate) : null,\r\n lastRunDate: model.lastRunDate ? dateUtil.fromServerDate(model.lastRunDate) : null,\r\n recipients: model.recipients ?? []\r\n });\r\n }\r\n}\r\n","import { createAction, createReducer } from 'utils/redux-utils';\r\nimport * as api from 'store/api';\r\nimport Reports from 'models/reports';\r\n\r\nexport const ACTIONS = {\r\n REGULAR_REPORTS_LOADING: 'argus/ui/REGULAR_REPORTS_LOADING',\r\n REGULAR_REPORTS_LOADED: 'argus/ui/REGULAR_REPORTS_LOADED',\r\n SCHEDULED_REPORTS_LOADING: 'argus/ui/SCHEDULED_REPORTS_LOADING',\r\n SCHEDULED_REPORTS_LOADED: 'argus/ui/SCHEDULED_REPORTS_LOADED',\r\n REPORTS_ERROR: 'argus/ui/REPORTS_ERROR'\r\n};\r\n\r\nexport const regularReportsLoading = createAction(ACTIONS.REGULAR_REPORTS_LOADING);\r\nexport const regularReportsLoaded = createAction(ACTIONS.REGULAR_REPORTS_LOADED);\r\nexport const scheduledReportsLoading = createAction(ACTIONS.SCHEDULED_REPORTS_LOADING);\r\nexport const scheduledReportsLoaded = createAction(ACTIONS.SCHEDULED_REPORTS_LOADED);\r\nexport const reportsError = createAction(ACTIONS.REPORTS_ERROR);\r\n\r\nexport const loadReports = () => dispatch => {\r\n dispatch(regularReportsLoading());\r\n return api\r\n .getReports()\r\n .then(res => {\r\n dispatch(regularReportsLoaded(res.data));\r\n })\r\n .catch(err => {\r\n dispatch(reportsError(err));\r\n });\r\n};\r\n\r\nexport const loadScheduledReports = () => dispatch => {\r\n dispatch(scheduledReportsLoading());\r\n return api\r\n .getScheduledReports()\r\n .then(res => {\r\n dispatch(scheduledReportsLoaded(res.data));\r\n })\r\n .catch(err => {\r\n dispatch(reportsError(err));\r\n });\r\n};\r\n\r\nexport const createReport = payload => dispatch => {\r\n return api.createReport(payload).then(() => invalidate(dispatch));\r\n};\r\n\r\nexport const editReport = (reportId, payload) => dispatch => {\r\n return api.editReport(reportId, payload).then(() => invalidate(dispatch));\r\n};\r\n\r\nexport const deleteReport = reportId => dispatch => {\r\n return api.deleteReport(reportId).then(() => invalidate(dispatch));\r\n};\r\n\r\nexport const generateReport = reportId => dispatch => {\r\n return api.generateReport(reportId);\r\n};\r\n\r\nconst invalidate = dispatch => {\r\n return api\r\n .getScheduledReports()\r\n .then(res => {\r\n dispatch(scheduledReportsLoaded(res.data));\r\n })\r\n .catch(err => {\r\n dispatch(reportsError(err));\r\n });\r\n};\r\n\r\n/*\r\n * Reducer\r\n */\r\nexport const INITIAL_STATE = new Reports();\r\n\r\nexport default createReducer(INITIAL_STATE, {\r\n [ACTIONS.REGULAR_REPORTS_LOADING]: (state, action) => {\r\n return state.setReportsLoading();\r\n },\r\n\r\n [ACTIONS.REGULAR_REPORTS_LOADED]: (state, action) => {\r\n return state.setReportsLoaded(state, action);\r\n },\r\n\r\n [ACTIONS.SCHEDULED_REPORTS_LOADING]: (state, action) => {\r\n return state.setScheduledLoading();\r\n },\r\n\r\n [ACTIONS.SCHEDULED_REPORTS_LOADED]: (state, action) => {\r\n return state.setScheduledLoaded(state, action);\r\n },\r\n\r\n [ACTIONS.REPORTS_ERROR]: (state, action) => {\r\n return state.setError(action);\r\n }\r\n});\r\n","import { createAction, createReducer } from 'utils/redux-utils';\r\n\r\nimport {\r\n getSearchDocuments,\r\n getSearchExtractions,\r\n getSearchFolders,\r\n getSearchReviewers,\r\n getSearchDocumentTags,\r\n getSearchExtractionFieldInstanceTags,\r\n getSearchTemplates,\r\n createAdvancedSearch\r\n} from 'store/api';\r\nimport { SearchCategory } from 'models/search';\r\n\r\nexport const ACTIONS = {\r\n ADVANCED_SEARCH_CHANGE: 'argus/ui/ADVANCED_SEARCH_CHANGE',\r\n SEARCH_QUERY_CHANGE: 'argus/ui/SEARCH_QUERY_CHANGE',\r\n // Shallow search refers to search that is NOT advanced\r\n SHALLOW_SEARCH_LOADING: 'argus/ui/SHALLOW_SEARCH_LOADING',\r\n SHALLOW_SEARCH_LOADED: 'argus/ui/SHALLOW_SEARCH_LOADED',\r\n SHALLOW_SEARCH_ERROR: 'argus/ui/SHALLOW_SEARCH_ERROR',\r\n CLEAR_SEARCH_DATA: 'argus/ui/CLEAR_SEARCH_DATA',\r\n // Advanced Search\r\n CREATE_ADVANCED_SEARCH: 'argus/ui/CREATE_ADVANCED_SEARCH',\r\n // Track current query, so that we know which results to display from debouncing\r\n TRACK_CURRENT_QUERY: 'argus/ui/TRACK_CURRENT_QUERY',\r\n // Set the selected search category so we know which API call to refresh\r\n SET_SELECT_CATEGORY: 'argus/ui/SET_SELECT_CATEGORY',\r\n // Set sort order of search results\r\n SET_SORT_ORDER: 'argus/ui/SET_SORT_ORDER'\r\n};\r\n// Search Query\r\nexport const advancedSearchQueryChange = createAction(ACTIONS.ADVANCED_SEARCH_CHANGE);\r\nexport const searchQueryChange = createAction(ACTIONS.SEARCH_QUERY_CHANGE);\r\nexport const trackQuery = createAction(ACTIONS.TRACK_CURRENT_QUERY);\r\nexport const setSelectCategory = createAction(ACTIONS.SET_SELECT_CATEGORY);\r\nexport const setSortOrder = createAction(ACTIONS.SET_SORT_ORDER);\r\n\r\n// Search Categories\r\nexport const shallowSearchLoading = createAction(ACTIONS.SHALLOW_SEARCH_LOADING);\r\nexport const shallowSearchLoaded = createAction(ACTIONS.SHALLOW_SEARCH_LOADED);\r\nexport const shallowSearchError = createAction(ACTIONS.SHALLOW_SEARCH_ERROR);\r\nexport const searchDataClear = createAction(ACTIONS.CLEAR_SEARCH_DATA);\r\n\r\nexport const postAdvancedSearch = createAction(ACTIONS.CREATE_ADVANCED_SEARCH);\r\n\r\nexport const searchAll = data => dispatch => {\r\n dispatch(shallowSearchLoading());\r\n // Set tracking query so we know that the results that gets resolved matches the tracking query the user typed in\r\n dispatch(trackQuery(data.keyword));\r\n return Promise.all([\r\n getSearchDocuments(data),\r\n getSearchExtractions(data),\r\n getSearchFolders(data),\r\n getSearchReviewers(data),\r\n getSearchDocumentTags(data),\r\n getSearchExtractionFieldInstanceTags(data),\r\n getSearchTemplates(data)\r\n ])\r\n .then(([documents, extractions, folders, reviewers, documentTags, extractionFieldInstanceTags, templates]) =>\r\n dispatch(\r\n shallowSearchLoaded({\r\n documents,\r\n extractions,\r\n folders,\r\n reviewers,\r\n documentTags,\r\n extractionFieldInstanceTags,\r\n templates,\r\n resolvedQuery: data.keyword\r\n })\r\n )\r\n )\r\n .catch(err => dispatch(shallowSearchError(err)));\r\n};\r\n\r\nexport const onSearchChange = data => dispatch => {\r\n dispatch(searchQueryChange(data));\r\n};\r\n\r\nexport const onAdvancedSearchChange = data => dispatch => {\r\n dispatch(advancedSearchQueryChange(data));\r\n};\r\n\r\nexport const onAdvancedSearch = data => dispatch => {\r\n return createAdvancedSearch(data).then(res => dispatch(postAdvancedSearch(res)));\r\n};\r\n\r\nexport const onSelectCategory = data => dispatch => {\r\n return dispatch(setSelectCategory(data));\r\n};\r\n\r\nexport const onSortOrder = data => dispatch => {\r\n return dispatch(setSortOrder(data));\r\n};\r\n\r\nexport const clearSearchData = () => dispatch => {\r\n return dispatch(searchDataClear());\r\n};\r\n\r\n/*\r\n * Reducer\r\n */\r\nexport const INITIAL_STATE = new SearchCategory();\r\n\r\nexport default createReducer(INITIAL_STATE, {\r\n [ACTIONS.SHALLOW_SEARCH_LOADING]: (state, action) => {\r\n return state.setLoading(state);\r\n },\r\n\r\n [ACTIONS.SHALLOW_SEARCH_LOADED]: (state, action) => {\r\n return state.setLoaded(state, action);\r\n },\r\n\r\n [ACTIONS.SHALLOW_SEARCH_ERROR]: (state, action) => {\r\n return state.setError(state, action.payload);\r\n },\r\n\r\n [ACTIONS.SEARCH_QUERY_CHANGE]: (state, action) => {\r\n return state.setQueryChange(state, action);\r\n },\r\n\r\n [ACTIONS.ADVANCED_SEARCH_CHANGE]: (state, action) => {\r\n return state.setAdvancedSearchChange(state, action);\r\n },\r\n\r\n [ACTIONS.TRACK_CURRENT_QUERY]: (state, action) => {\r\n return state.setQueryTrack(state, action);\r\n },\r\n\r\n [ACTIONS.SET_SELECT_CATEGORY]: (state, action) => {\r\n return state.setCategorySelected(state, action);\r\n },\r\n\r\n [ACTIONS.SET_SORT_ORDER]: (state, action) => {\r\n return state.setSorting(state, action);\r\n },\r\n\r\n [ACTIONS.CLEAR_SEARCH_DATA]: (state, action) => {\r\n return INITIAL_STATE;\r\n }\r\n});\r\n","// Taken from: https://github.com/sindresorhus/p-queue/blob/master/index.js\r\n// Added to the project source because the uncompiled non ES5 features in this module were causing build errors when imported as an npm package\r\n\r\n// Port of lower_bound from http://en.cppreference.com/w/cpp/algorithm/lower_bound\r\n// Used to compute insertion index to keep queue sorted after insertion\r\nfunction lowerBound(array, value, comp) {\r\n let first = 0;\r\n let count = array.length;\r\n\r\n while (count > 0) {\r\n const step = (count / 2) | 0;\r\n let it = first + step;\r\n\r\n if (comp(array[it], value) <= 0) {\r\n first = ++it;\r\n count -= step + 1;\r\n } else {\r\n count = step;\r\n }\r\n }\r\n\r\n return first;\r\n}\r\n\r\nclass PriorityQueue {\r\n constructor() {\r\n this._queue = [];\r\n }\r\n\r\n enqueue(run, opts) {\r\n opts = Object.assign(\r\n {\r\n priority: 0\r\n },\r\n opts\r\n );\r\n\r\n const element = { priority: opts.priority, run };\r\n\r\n if (this.size && this._queue[this.size - 1].priority >= opts.priority) {\r\n this._queue.push(element);\r\n return;\r\n }\r\n\r\n const index = lowerBound(this._queue, element, (a, b) => b.priority - a.priority);\r\n this._queue.splice(index, 0, element);\r\n }\r\n\r\n dequeue() {\r\n return this._queue.shift().run;\r\n }\r\n\r\n get size() {\r\n return this._queue.length;\r\n }\r\n}\r\n\r\nclass PQueue {\r\n constructor(opts) {\r\n opts = Object.assign(\r\n {\r\n concurrency: Infinity,\r\n autoStart: true,\r\n queueClass: PriorityQueue\r\n },\r\n opts\r\n );\r\n\r\n if (!(typeof opts.concurrency === 'number' && opts.concurrency >= 1)) {\r\n throw new TypeError(\r\n `Expected \\`concurrency\\` to be a number from 1 and up, got \\`${\r\n opts.concurrency\r\n }\\` (${typeof opts.concurrency})`\r\n );\r\n }\r\n\r\n this.queue = new opts.queueClass(); // eslint-disable-line new-cap\r\n this._queueClass = opts.queueClass;\r\n this._pendingCount = 0;\r\n this._concurrency = opts.concurrency;\r\n this._isPaused = opts.autoStart === false;\r\n this._resolveEmpty = () => {};\r\n this._resolveIdle = () => {};\r\n }\r\n\r\n _next() {\r\n this._pendingCount--;\r\n\r\n if (!this._isPaused && this.queue.size > 0) {\r\n this.queue.dequeue()();\r\n } else {\r\n this._resolveEmpty();\r\n this._resolveEmpty = () => {};\r\n\r\n if (this._pendingCount === 0) {\r\n this._resolveIdle();\r\n this._resolveIdle = () => {};\r\n }\r\n }\r\n }\r\n\r\n add(fn, opts) {\r\n return new Promise((resolve, reject) => {\r\n const run = () => {\r\n this._pendingCount++;\r\n\r\n try {\r\n Promise.resolve(fn()).then(\r\n val => {\r\n resolve(val);\r\n this._next();\r\n },\r\n err => {\r\n reject(err);\r\n this._next();\r\n }\r\n );\r\n } catch (err) {\r\n reject(err);\r\n this._next();\r\n }\r\n };\r\n\r\n if (!this._isPaused && this._pendingCount < this._concurrency) {\r\n run();\r\n } else {\r\n this.queue.enqueue(run, opts);\r\n }\r\n });\r\n }\r\n\r\n addAll(fns, opts) {\r\n return Promise.all(fns.map(fn => this.add(fn, opts)));\r\n }\r\n\r\n start() {\r\n if (!this._isPaused) {\r\n return;\r\n }\r\n\r\n this._isPaused = false;\r\n while (this.queue.size > 0 && this._pendingCount < this._concurrency) {\r\n this.queue.dequeue()();\r\n }\r\n }\r\n\r\n pause() {\r\n this._isPaused = true;\r\n }\r\n\r\n clear() {\r\n this.queue = new this._queueClass(); // eslint-disable-line new-cap\r\n }\r\n\r\n onEmpty() {\r\n // Instantly resolve if the queue is empty\r\n if (this.queue.size === 0) {\r\n return Promise.resolve();\r\n }\r\n\r\n return new Promise(resolve => {\r\n const existingResolve = this._resolveEmpty;\r\n this._resolveEmpty = () => {\r\n existingResolve();\r\n resolve();\r\n };\r\n });\r\n }\r\n\r\n onIdle() {\r\n // Instantly resolve if none pending\r\n if (this._pendingCount === 0) {\r\n return Promise.resolve();\r\n }\r\n\r\n return new Promise(resolve => {\r\n const existingResolve = this._resolveIdle;\r\n this._resolveIdle = () => {\r\n existingResolve();\r\n resolve();\r\n };\r\n });\r\n }\r\n\r\n get size() {\r\n return this.queue.size;\r\n }\r\n\r\n get pending() {\r\n return this._pendingCount;\r\n }\r\n\r\n get isPaused() {\r\n return this._isPaused;\r\n }\r\n}\r\n\r\nexport default PQueue;\r\n","import axios from './lib/axios.js';\n\n// This module is intended to unwrap Axios default export as named.\n// Keep top-level export same with static properties\n// so that it can keep same with es module or cjs\nconst {\n Axios,\n AxiosError,\n CanceledError,\n isCancel,\n CancelToken,\n VERSION,\n all,\n Cancel,\n isAxiosError,\n spread,\n toFormData,\n AxiosHeaders,\n HttpStatusCode,\n formToJSON,\n getAdapter,\n mergeConfig\n} = axios;\n\nexport {\n axios as default,\n Axios,\n AxiosError,\n CanceledError,\n isCancel,\n CancelToken,\n VERSION,\n all,\n Cancel,\n isAxiosError,\n spread,\n toFormData,\n AxiosHeaders,\n HttpStatusCode,\n formToJSON,\n getAdapter,\n mergeConfig\n}\n","import moment from 'moment';\r\nimport model from 'models/base-model';\r\nimport dateUtil from 'utils/dateUtil';\r\n\r\nexport const UPLOAD_STATES = {\r\n CANCELLED: 'CANCELLED',\r\n COMPLETED: 'COMPLETED',\r\n FAILED: 'FAILED',\r\n PENDING: 'PENDING',\r\n UPLOADING: 'UPLOADING'\r\n};\r\n\r\nexport class Upload extends model({\r\n errorCode: null,\r\n id: null,\r\n loaded: 0,\r\n name: null,\r\n state: UPLOAD_STATES.PENDING,\r\n timestamp: moment(),\r\n total: 0\r\n}) {\r\n setProgress({ loaded, total }) {\r\n return this.merge({\r\n state: UPLOAD_STATES.UPLOADING,\r\n loaded,\r\n total\r\n });\r\n }\r\n\r\n setCompleted() {\r\n return this.merge({\r\n state: UPLOAD_STATES.COMPLETED\r\n });\r\n }\r\n\r\n setFailed(errorCode) {\r\n return this.merge({\r\n errorCode,\r\n state: UPLOAD_STATES.FAILED\r\n });\r\n }\r\n\r\n setCancelled() {\r\n return this.merge({\r\n state: UPLOAD_STATES.CANCELLED\r\n });\r\n }\r\n\r\n static fromData(model) {\r\n return new Upload({\r\n ...model,\r\n timestamp: dateUtil.fromServerDate(model.timestamp)\r\n });\r\n }\r\n}\r\n","import moment from 'moment';\r\nimport PQueue from 'utils/p-queue/p-queue';\r\nimport { CancelToken } from 'axios';\r\n\r\nimport { createReducer } from 'utils/redux-utils';\r\nimport { currentFolderInvalidate } from 'store/current-folder';\r\nimport { LOCATION_CHANGE } from 'connected-react-router';\r\nimport { Upload, UPLOAD_STATES } from 'models/uploads';\r\nimport * as api from 'store/api';\r\nimport { ERROR_CODES, hasError } from 'utils/errors';\r\n\r\nconst requestQueue = new PQueue({ concurrency: 5 });\r\n\r\nexport const ACTIONS = {\r\n UPLOAD_START: 'argus/ui/UPLOAD_START',\r\n UPLOAD_PROGRESS: 'argus/ui/UPLOAD_PROGRESS',\r\n UPLOAD_SUCCESS: 'argus/ui/UPLOAD_SUCCESS',\r\n UPLOAD_FAIL: 'argus/ui/UPLOAD_FAIL',\r\n UPLOAD_CANCEL: 'argus/ui/UPLOAD_CANCEL',\r\n UPLOAD_REMOVE: 'argus/ui/UPLOAD_REMOVE'\r\n};\r\n\r\n/*\r\n * This is a cache for storing references to the cancellable of each upload request\r\n * This allows for the upload to be cancelled at a later time\r\n */\r\nconst uploadCancellables = {};\r\n\r\nconst fileExtensionValidationRegex = /\\.(zip|doc|docx|dotx|pdf|bmp|jpg|jpeg|png|tif|tiff|txt)$/i;\r\n\r\nconst validateFile = file => {\r\n const isInvalidExtension = !fileExtensionValidationRegex.test(file.name);\r\n const isFileTooLarge = file.size >= 1024 ** 3;\r\n\r\n if (isInvalidExtension) {\r\n return {\r\n errorCode: ERROR_CODES.FILE_FORMAT_NOT_SUPPORTED,\r\n isValid: false\r\n };\r\n }\r\n\r\n if (isFileTooLarge) {\r\n return {\r\n errorCode: ERROR_CODES.MAX_SIZE_EXCEEDED,\r\n isValid: false\r\n };\r\n }\r\n\r\n return { isValid: true, errorCode: null };\r\n};\r\n\r\nexport const cancelUpload = ({ id }) => (dispatch, getState) => {\r\n const upload = getState().data.uploads[id];\r\n\r\n if (upload.state === UPLOAD_STATES.PENDING || upload.state === UPLOAD_STATES.UPLOADING) {\r\n // If the upload is in progress, cancel it\r\n uploadCancellables[id].cancel();\r\n } else {\r\n // If the upload had already failed, completed, or been canceled, remove it\r\n dispatch({ type: ACTIONS.UPLOAD_REMOVE, payload: { id } });\r\n }\r\n};\r\n\r\nexport const upload = ({ projectId, parentId, name, path, file, projectTemplateId }) => (dispatch, getState) => {\r\n const timestamp = moment().format();\r\n const id = `${path}-${timestamp}`;\r\n\r\n const onSuccess = data => {\r\n delete uploadCancellables[id];\r\n\r\n //Mark the Docuement as Infected\r\n if (data.isInfected) {\r\n var errorCode = 'Document.Infected';\r\n if (data.infectedDocumentList && data.infectedDocumentList.length >= 1) {\r\n dispatch({ type: ACTIONS.UPLOAD_SUCCESS, payload: { id, projectId, folderId: parentId } });\r\n dispatch(currentFolderInvalidate());\r\n data.infectedDocumentList.forEach(file => {\r\n var id = `${file}-${timestamp}`;\r\n name = file;\r\n dispatch({\r\n type: ACTIONS.UPLOAD_START,\r\n payload: {\r\n id,\r\n timestamp,\r\n name\r\n }\r\n });\r\n dispatch({ type: ACTIONS.UPLOAD_FAIL, payload: { id, errorCode } });\r\n });\r\n } else {\r\n dispatch({ type: ACTIONS.UPLOAD_FAIL, payload: { id, errorCode } });\r\n }\r\n } else {\r\n // Set the upload state to success\r\n dispatch({ type: ACTIONS.UPLOAD_SUCCESS, payload: { id, projectId, folderId: parentId } });\r\n\r\n // Mark the current folder as invalidated\r\n dispatch(currentFolderInvalidate());\r\n }\r\n\r\n // Remove the upload after a timeout\r\n setTimeout(() => {\r\n dispatch({ type: ACTIONS.UPLOAD_REMOVE, payload: { id } });\r\n }, 15000);\r\n };\r\n\r\n const onFail = error => {\r\n delete uploadCancellables[id];\r\n\r\n const hasErrorCode = [ERROR_CODES.MAX_SIZE_EXCEEDED, ERROR_CODES.FILE_FORMAT_NOT_SUPPORTED].some(errorCode => {\r\n if (hasError(error, errorCode)) {\r\n dispatch({ type: ACTIONS.UPLOAD_FAIL, payload: { id, errorCode } });\r\n return true;\r\n }\r\n\r\n return false;\r\n });\r\n\r\n if (!hasErrorCode) {\r\n dispatch({ type: ACTIONS.UPLOAD_FAIL, payload: { id } });\r\n }\r\n };\r\n\r\n const onCancel = () => {\r\n delete uploadCancellables[id];\r\n\r\n // Set the upload state to cancelled\r\n dispatch({ type: ACTIONS.UPLOAD_CANCEL, payload: { id } });\r\n\r\n // Remove the upload after a timeout\r\n setTimeout(() => {\r\n dispatch({ type: ACTIONS.UPLOAD_REMOVE, payload: { id } });\r\n }, 10000);\r\n };\r\n\r\n const onProgress = ({ loaded, total }) => {\r\n window.dispatchEvent(new Event('argus.upload.progress'));\r\n dispatch({ type: ACTIONS.UPLOAD_PROGRESS, payload: { id, loaded, total } });\r\n };\r\n\r\n // Add the pending upload to the state\r\n dispatch({\r\n type: ACTIONS.UPLOAD_START,\r\n payload: {\r\n id,\r\n timestamp,\r\n name\r\n }\r\n });\r\n\r\n const { isValid, errorCode } = validateFile(file);\r\n\r\n if (isValid) {\r\n var cancellable = CancelToken.source();\r\n uploadCancellables[id] = cancellable;\r\n\r\n // Send the upload request\r\n requestQueue.add(() =>\r\n api.upload({\r\n cancelToken: cancellable.token,\r\n file,\r\n onCancel,\r\n onFail,\r\n onProgress,\r\n onSuccess,\r\n parentId,\r\n path,\r\n projectId,\r\n projectTemplateId\r\n })\r\n );\r\n } else {\r\n // The file is not valid, so set the upload to failed\r\n dispatch({ type: ACTIONS.UPLOAD_FAIL, payload: { id, errorCode } });\r\n }\r\n};\r\n\r\n/*\r\n * Reducer\r\n */\r\nexport const INITIAL_STATE = {};\r\n\r\nexport default createReducer(INITIAL_STATE, {\r\n [ACTIONS.UPLOAD_START]: (state, action) => {\r\n return {\r\n ...state,\r\n [action.payload.id]: Upload.fromData(action.payload)\r\n };\r\n },\r\n\r\n [ACTIONS.UPLOAD_PROGRESS]: (state, action) => {\r\n return {\r\n ...state,\r\n [action.payload.id]: state[action.payload.id].setProgress(action.payload)\r\n };\r\n },\r\n\r\n [ACTIONS.UPLOAD_SUCCESS]: (state, action) => {\r\n return {\r\n ...state,\r\n [action.payload.id]: state[action.payload.id].setCompleted()\r\n };\r\n },\r\n\r\n [ACTIONS.UPLOAD_FAIL]: (state, action) => {\r\n return {\r\n ...state,\r\n [action.payload.id]: state[action.payload.id].setFailed(action.payload.errorCode)\r\n };\r\n },\r\n\r\n [ACTIONS.UPLOAD_CANCEL]: (state, action) => {\r\n return {\r\n ...state,\r\n [action.payload.id]: state[action.payload.id].setCancelled()\r\n };\r\n },\r\n\r\n [ACTIONS.UPLOAD_REMOVE]: (state, action) => {\r\n const nextState = {\r\n ...state\r\n };\r\n\r\n delete nextState[action.payload.id];\r\n\r\n return nextState;\r\n },\r\n\r\n [LOCATION_CHANGE]: (state, action) => {\r\n const nextState = {\r\n ...state\r\n };\r\n Object.entries(nextState).forEach(([key, value]) => {\r\n if (value.state === UPLOAD_STATES.FAILED || value.state === UPLOAD_STATES.CANCELLED) {\r\n delete nextState[key];\r\n }\r\n });\r\n\r\n return nextState;\r\n }\r\n});\r\n","import model from 'models/base-model';\r\nimport moment from 'moment';\r\n\r\nvar storedFormat = localStorage.getItem('format');\r\nvar lastListUpdate = localStorage.getItem('format-list-last-updated');\r\n\r\nexport class LoadFormat extends model({\r\n isLoading: false,\r\n isLoaded: false,\r\n error: null,\r\n formats: storedFormat ? JSON.parse(storedFormat) : [],\r\n timestamp: lastListUpdate\r\n}) {\r\n setLoading() {\r\n return this.merge({\r\n isLoading: true,\r\n error: null\r\n });\r\n }\r\n\r\n /* ERROR */\r\n setError(error) {\r\n return this.merge({\r\n isLoading: false,\r\n isLoaded: false,\r\n error: error\r\n });\r\n }\r\n\r\n /* LOADED */\r\n setLoaded(state, action) {\r\n var timestamp = moment().toISOString();\r\n var formats = JSON.parse(action.payload);\r\n\r\n localStorage.setItem('format-list-last-updated', timestamp);\r\n localStorage.setItem('format', action.payload);\r\n\r\n return this.merge({\r\n ...state,\r\n isLoading: false,\r\n isLoaded: true,\r\n formats: formats,\r\n timestamp: timestamp\r\n });\r\n }\r\n}\r\n","import { createAction, createReducer } from 'utils/redux-utils';\r\n\r\nimport * as api from 'store/api';\r\nimport { LoadFormat } from 'models/intl/loadFormat';\r\n\r\nexport const ACTIONS = {\r\n // Extractions\r\n FORMATS_LOADING: 'argus/ui/FORMATS_LOADING',\r\n FORMATS_LOADED: 'argus/ui/FORMATS_LOADED',\r\n FORMATS_ERROR: 'argus/ui/FORMATS_ERROR'\r\n};\r\n\r\nexport const formatsLoading = createAction(ACTIONS.FORMATS_LOADING);\r\nexport const formatsLoaded = createAction(ACTIONS.FORMATS_LOADED);\r\nexport const formatsError = createAction(ACTIONS.FORMATS_ERROR);\r\n\r\nexport const loadFormatData = () => dispatch => {\r\n dispatch(formatsLoading());\r\n return api\r\n .getFormats()\r\n .then(res => {\r\n dispatch(formatsLoaded(res.data.value));\r\n })\r\n .catch(error => {\r\n dispatch(formatsError(error));\r\n });\r\n};\r\n\r\n/*\r\n * Reducer\r\n */\r\nexport const INITIAL_STATE = new LoadFormat();\r\n\r\nexport default createReducer(INITIAL_STATE, {\r\n [ACTIONS.FORMATS_LOADING]: (state, action) => {\r\n return state.setLoading();\r\n },\r\n\r\n [ACTIONS.FORMATS_LOADED]: (state, action) => {\r\n return state.setLoaded(state, action);\r\n },\r\n\r\n [ACTIONS.FORMATS_ERROR]: (state, action) => {\r\n return state.setError(state, action);\r\n }\r\n});\r\n","import model from 'models/base-model';\r\n\r\nvar currentFormatFromDB = localStorage.getItem('currentFormat');\r\nexport class CurrentFormat extends model({\r\n currentFormat: currentFormatFromDB ? currentFormatFromDB : ''\r\n}) {\r\n currentSelectedFormat(state, action) {\r\n var currentFormat = action.payload;\r\n localStorage.setItem('currentFormat', currentFormat);\r\n\r\n return this.merge({\r\n ...state,\r\n currentFormat\r\n });\r\n }\r\n}\r\n","import { createAction, createReducer } from 'utils/redux-utils';\r\n\r\nimport * as api from 'store/api';\r\nimport { CurrentFormat } from 'models/intl/currentFormat';\r\n\r\nexport const ACTIONS = {\r\n CURRENT_FORMAT_SET: 'argus/ui/CURRENT_FORMAT_SET'\r\n};\r\n\r\nexport const currentFormatSet = createAction(ACTIONS.CURRENT_FORMAT_SET);\r\n\r\nexport const setFormat = () => dispatch => {\r\n api.getUserSelectedFormat().then(res => {\r\n dispatch(currentFormatSet(res.userPreferencesString));\r\n return res.userPreferencesString;\r\n });\r\n};\r\n\r\n/*\r\n * Reducer\r\n */\r\nexport const INITIAL_STATE = new CurrentFormat();\r\n\r\nexport default createReducer(INITIAL_STATE, {\r\n [ACTIONS.CURRENT_FORMAT_SET]: (state, action) => {\r\n return state.currentSelectedFormat(state, action);\r\n }\r\n});\r\n","import model from 'models/base-model';\r\nimport moment from 'moment';\r\n\r\nvar storedFormat = localStorage.getItem('Dateformat');\r\nvar lastListUpdate = localStorage.getItem('Dateformat-list-last-updated');\r\n\r\nexport class LoadDateFormat extends model({\r\n isLoading: false,\r\n isLoaded: false,\r\n error: null,\r\n Dateformats: storedFormat ? JSON.parse(storedFormat) : [],\r\n timestamp: lastListUpdate\r\n}) {\r\n setLoading() {\r\n return this.merge({\r\n isLoading: true,\r\n error: null\r\n });\r\n }\r\n\r\n /* ERROR */\r\n setError(error) {\r\n return this.merge({\r\n isLoading: false,\r\n isLoaded: false,\r\n error: error\r\n });\r\n }\r\n\r\n /* LOADED */\r\n setLoaded(state, action) {\r\n var timestamp = moment().toISOString();\r\n var Dateformats = JSON.parse(action.payload);\r\n\r\n localStorage.setItem('Dateformat-list-last-updated', timestamp);\r\n localStorage.setItem('Dateformat', action.payload);\r\n\r\n return this.merge({\r\n ...state,\r\n isLoading: false,\r\n isLoaded: true,\r\n Dateformats: Dateformats,\r\n timestamp: timestamp\r\n });\r\n }\r\n}\r\n","import { createAction, createReducer } from 'utils/redux-utils';\r\n\r\nimport * as api from 'store/api';\r\nimport { LoadDateFormat } from 'models/intl/loadDateFormat';\r\n\r\nexport const ACTIONS = {\r\n // Extractions\r\n DATE_FORMATS_LOADING: 'argus/ui/DATE_FORMATS_LOADING',\r\n DATE_FORMATS_LOADED: 'argus/ui/DATE_FORMATS_LOADED',\r\n DATE_FORMATS_ERROR: 'argus/ui/DATE_FORMATS_ERROR'\r\n};\r\n\r\nexport const DateformatsLoading = createAction(ACTIONS.DATE_FORMATS_LOADING);\r\nexport const DateformatsLoaded = createAction(ACTIONS.DATE_FORMATS_LOADED);\r\nexport const DateformatsError = createAction(ACTIONS.DATE_FORMATS_ERROR);\r\n\r\nexport const loadDateFormat = () => dispatch => {\r\n dispatch(DateformatsLoading());\r\n return api\r\n .getDateFormats()\r\n .then(res => {\r\n dispatch(DateformatsLoaded(res.data.value));\r\n })\r\n .catch(error => {\r\n dispatch(DateformatsError(error));\r\n });\r\n};\r\n\r\n/*\r\n * Reducer\r\n */\r\nexport const INITIAL_STATE = new LoadDateFormat();\r\n\r\nexport default createReducer(INITIAL_STATE, {\r\n [ACTIONS.DATE_FORMATS_LOADING]: (state, action) => {\r\n return state.setLoading();\r\n },\r\n\r\n [ACTIONS.DATE_FORMATS_LOADED]: (state, action) => {\r\n return state.setLoaded(state, action);\r\n },\r\n\r\n [ACTIONS.DATE_FORMATS_ERROR]: (state, action) => {\r\n return state.setError(state, action);\r\n }\r\n});\r\n","import model from 'models/base-model';\r\n\r\nvar currentDateFormatFromDB = localStorage.getItem('currentDateFormat');\r\nexport class CurrentDateFormat extends model({\r\n currentDateFormat: currentDateFormatFromDB ? currentDateFormatFromDB : ''\r\n}) {\r\n currentSelectedDateFormat(state, action) {\r\n var currentDateFormat = action.payload;\r\n localStorage.setItem('currentDateFormat', currentDateFormat);\r\n\r\n return this.merge({\r\n ...state,\r\n currentDateFormat\r\n });\r\n }\r\n}\r\n","import { createAction, createReducer } from 'utils/redux-utils';\r\n\r\nimport * as api from 'store/api';\r\nimport { CurrentDateFormat } from 'models/intl/currentDateFormat';\r\n\r\nexport const ACTIONS = {\r\n CURRENT_DATE_FORMAT_SET: 'argus/ui/CURRENT_DATE_FORMAT_SET'\r\n};\r\n\r\nexport const currentDateFormatSet = createAction(ACTIONS.CURRENT_DATE_FORMAT_SET);\r\n\r\nexport const setDateFormat = () => dispatch => {\r\n api.getUserSelectedDateFormat().then(res => {\r\n dispatch(currentDateFormatSet(res.userPreferencesString));\r\n return res.userPreferencesString;\r\n });\r\n};\r\n\r\n/*\r\n * Reducer\r\n */\r\nexport const INITIAL_STATE = new CurrentDateFormat();\r\n\r\nexport default createReducer(INITIAL_STATE, {\r\n [ACTIONS.CURRENT_DATE_FORMAT_SET]: (state, action) => {\r\n return state.currentSelectedDateFormat(state, action);\r\n }\r\n});\r\n","import { persistSelectedCompareType } from 'store/compare-type';\r\nimport { AnalyticsMiddleware } from 'adobe-analytics/middleware';\r\nimport { connectRouter, routerMiddleware } from 'connected-react-router';\r\nimport { createStore, combineReducers, applyMiddleware, compose } from 'redux';\r\nimport _ from 'lodash';\r\nimport thunk from 'redux-thunk';\r\n\r\n// UI reducers\r\nimport compareType from 'store/compare-type';\r\nimport fileBrowserColumnOptions from 'store/file-browser-column-options';\r\nimport fileBrowserSelectedItems from 'store/file-browser-selected-items';\r\nimport createToolbarOptionsReducer, { persistFileBrowserToolbarOptions } from 'store/file-browser-toolbar-options';\r\nimport locale from 'store/locale';\r\nimport notifications from 'store/notifications';\r\n// Data reducers\r\nimport aboutArgus from 'store/about-argus';\r\nimport maintenanaceBannerMessage from 'store/maintenance-message-banner';\r\nimport activeComparisonSet from 'store/active-comparison-set';\r\nimport comparisonSets from 'store/comparison-sets';\r\nimport currentDocument from 'store/current-document';\r\nimport currentDocumentLayout from 'store/current-document-layout';\r\nimport currentProject from 'store/current-project';\r\nimport currentLanguage from 'store/intl/currentLanguage';\r\nimport currentUser from 'store/current-user';\r\nimport currentFolder from 'store/current-folder';\r\nimport currentSearchFolder from 'store/search/search-results';\r\nimport documentProcessing from 'store/review-status/document-processing';\r\nimport documentTags from 'store/tags/document-tags';\r\nimport documentTypeTags from 'store/tags/document-type-tags';\r\nimport documentViewerUndo from 'store/document-viewer-undo';\r\nimport editExtractions from 'store/edit-extractions';\r\nimport extractionFieldRecordTags from 'store/tags/extraction-field-record-tags';\r\nimport extractionOverview from 'store/extraction-overview';\r\nimport languages from 'store/intl/languages';\r\nimport languageData from 'store/intl/languageData';\r\nimport languageTags from 'store/tags/language-tags';\r\nimport ocrQualityTags from 'store/tags/ocr-quality-tags';\r\nimport projectList from 'store/project-list';\r\nimport translations from 'store/translations';\r\nimport projectMembers from 'store/project-members';\r\nimport projectStatus from 'store/review-status/project-status';\r\nimport projectTemplates from 'store/project-templates';\r\nimport templateTypes from 'store/project-creation/template-types';\r\nimport userProgress from 'store/review-status/user-progress';\r\nimport reports from 'store/reports';\r\nimport search from 'store/search/search-category';\r\nimport uploads from 'store/uploads';\r\nimport history from 'utils/history';\r\nimport loadFormat from 'store/intl/loadFormat';\r\nimport currentFormat from 'store/intl/currentFormat';\r\nimport loadDateFormat from 'store/intl/loadDateFormat';\r\nimport currentDateFormat from 'store/intl/currentDateFormat';\r\n\r\n// Needed for redux dev tools\r\nconst composeEnhancers = window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__ || compose;\r\n\r\nconst store = createStore(\r\n combineReducers({\r\n data: combineReducers({\r\n aboutArgus,\r\n maintenanaceBannerMessage,\r\n activeComparisonSet,\r\n comparisonSets,\r\n currentDocument,\r\n currentDocumentLayout,\r\n currentUser,\r\n currentLanguage,\r\n currentProject,\r\n currentSearchFolder,\r\n currentFolder,\r\n documentProcessing,\r\n documentTags,\r\n documentTypeTags,\r\n editExtractions,\r\n extractionFieldRecordTags,\r\n extractionOverview,\r\n languages,\r\n languageData,\r\n languageTags,\r\n ocrQualityTags,\r\n projectList,\r\n projectMembers,\r\n projectStatus,\r\n projectTemplates,\r\n templateTypes,\r\n translations,\r\n userProgress,\r\n reports,\r\n search,\r\n uploads,\r\n loadFormat,\r\n currentFormat,\r\n loadDateFormat,\r\n currentDateFormat\r\n }),\r\n ui: combineReducers({\r\n compareType,\r\n documentViewerUndo,\r\n fileBrowserColumnOptions,\r\n fileBrowserSelectedItems,\r\n fileBrowserToolbarOptions: createToolbarOptionsReducer(),\r\n locale,\r\n notifications\r\n }),\r\n router: connectRouter(history)\r\n }),\r\n composeEnhancers(applyMiddleware(AnalyticsMiddleware, routerMiddleware(history), thunk))\r\n);\r\n\r\nstore.subscribe(\r\n _.throttle(() => {\r\n persistFileBrowserToolbarOptions(store.getState());\r\n persistSelectedCompareType(store.getState());\r\n }, 1000)\r\n);\r\n\r\nexport default store;\r\n","import store from 'store/store';\r\nimport { getCurrentApiInfo } from 'store/api';\r\n\r\nconst RolesHelper = {\r\n doesProjectContainRole: (project, roleId) => {\r\n if (!project || project === 'current') project = store.getState().data.currentProject;\r\n return project && project.myRole && project.myRole !== null && project.myRole.roleId === roleId;\r\n },\r\n\r\n doesUserContainExtractionFieldRole: (user, extractionField, roleId) => {\r\n if (!user) user = store.getState().data.currentUser;\r\n const fieldUser = extractionField.users.find(fieldUser => fieldUser.userId === user.userId);\r\n\r\n return (\r\n fieldUser && fieldUser.roles && fieldUser.roles.some(role => role.projectId === null && role.roleId === roleId)\r\n );\r\n },\r\n\r\n doesUserHaveRegionalRole: (region, roleId) => {\r\n const currentUser = store.getState().data.currentUser;\r\n\r\n const homeRegion = {\r\n geoCode: currentUser.geoCode,\r\n memberFirmCode: currentUser.memberFirmCode,\r\n containerCode: currentUser.containerCode\r\n };\r\n\r\n var currentRegion;\r\n\r\n if (!region || region === 'current') {\r\n currentRegion = getCurrentApiInfo();\r\n } else if (region === 'home') {\r\n currentRegion = homeRegion;\r\n } else {\r\n currentRegion = region;\r\n }\r\n\r\n const currentRegionRoles = (currentUser.roles || []).filter(\r\n role =>\r\n role.geoCode === currentRegion.geoCode &&\r\n role.memberFirmCode === currentRegion.memberFirmCode &&\r\n role.containerCode === currentRegion.containerCode\r\n );\r\n\r\n return currentRegionRoles.some(role => role.roleId === roleId);\r\n },\r\n\r\n isUserPPMD: user => {\r\n if (!user) user = store.getState().data.currentUser;\r\n return user.isPPD;\r\n },\r\n\r\n isUserArchiveRequestor: (project, user) => {\r\n if (!project) project = store.getState().data.currentProject;\r\n if (!user) user = store.getState().data.currentUser;\r\n return (\r\n project &&\r\n project.archivalRequest &&\r\n project.archivalRequest.requestorId &&\r\n project.archivalRequest.requestorId === user.userId\r\n );\r\n },\r\n\r\n isUserSelectedApprover: (project, user) => {\r\n if (!project) project = store.getState().data.currentProject;\r\n if (!user) user = store.getState().data.currentUser;\r\n return (\r\n project &&\r\n project.archivalRequest &&\r\n project.archivalRequest.approverIdList &&\r\n project.archivalRequest.approverIdList.some(approver => approver === user.userId)\r\n );\r\n },\r\n\r\n isUserFromProjectRegion: region => {\r\n const currentUser = store.getState().data.currentUser;\r\n\r\n if (!region || region === 'current') {\r\n region = getCurrentApiInfo();\r\n }\r\n\r\n return (\r\n region.geoCode === currentUser.geoCode &&\r\n region.memberFirmCode === currentUser.memberFirmCode &&\r\n region.containerCode === currentUser.containerCode\r\n );\r\n }\r\n};\r\n\r\nexport default RolesHelper;\r\n","import store from 'store/store';\r\nimport constants from 'utils/constants';\r\n\r\nconst StatesHelper = {\r\n isProjectReadOnly: project => {\r\n if (!project) project = store.getState().data.currentProject;\r\n return (\r\n project &&\r\n //Project is pending archive, archived or my project role is visitor (read only)\r\n (project.projectStateId === constants.ProjectStateIds.pendingArchive ||\r\n project.projectStateId === constants.ProjectStateIds.archived ||\r\n (project.myRole && project.myRole !== null && project.myRole.roleId === constants.UserRoles.PROJECT_VISITOR))\r\n );\r\n },\r\n isProjectArchived: project => {\r\n if (!project) project = store.getState().data.currentProject;\r\n return (\r\n project &&\r\n //Project is pending archive, archived or my project role is visitor (read only)\r\n (project.projectStateId === constants.ProjectStateIds.pendingArchive ||\r\n project.projectStateId === constants.ProjectStateIds.archived)\r\n );\r\n }\r\n};\r\n\r\nexport default StatesHelper;\r\n","import Global from 'permissions/sections/global';\r\nimport Project from 'permissions/sections/project';\r\n\r\n// All user permissions should be contained in the sections folder\r\n\r\nconst Permissions = {\r\n Global: Global,\r\n Project: Project\r\n};\r\n\r\nexport default Permissions;\r\n","import RolesHelper from 'permissions/helpers/roles';\r\nimport constants from 'utils/constants';\r\n\r\nimport GlobalExtractionField from 'permissions/sections/global-extraction-field';\r\nimport GlobalUser from 'permissions/sections/global-user';\r\n\r\nconst GlobalPermissions = {\r\n ExtractionField: GlobalExtractionField,\r\n User: GlobalUser,\r\n\r\n canViewProjects: () => {\r\n return true;\r\n },\r\n\r\n canViewLogs: () => {\r\n return RolesHelper.doesUserHaveRegionalRole('home', constants.UserRoles.ADMIN_SYSTEM);\r\n },\r\n\r\n canViewTrainingRequests: () => {\r\n return (\r\n RolesHelper.doesUserHaveRegionalRole('home', constants.UserRoles.ADMIN_GENERAL) ||\r\n RolesHelper.doesUserHaveRegionalRole('home', constants.UserRoles.ADMIN_SYSTEM)\r\n );\r\n },\r\n\r\n canViewReports: () => {\r\n return (\r\n RolesHelper.doesUserHaveRegionalRole('home', constants.UserRoles.ADMIN_GENERAL) ||\r\n RolesHelper.doesUserHaveRegionalRole('home', constants.UserRoles.ADMIN_SYSTEM)\r\n );\r\n },\r\n\r\n canViewAdminAccess: () => {\r\n return (\r\n RolesHelper.doesUserHaveRegionalRole('home', constants.UserRoles.ADMIN_GENERAL) ||\r\n RolesHelper.doesUserHaveRegionalRole('home', constants.UserRoles.ADMIN_SYSTEM)\r\n );\r\n },\r\n\r\n canToggleAdmin: () => {\r\n return (\r\n RolesHelper.doesUserHaveRegionalRole('home', constants.UserRoles.ADMIN_GENERAL) ||\r\n RolesHelper.doesUserHaveRegionalRole('home', constants.UserRoles.ADMIN_SYSTEM)\r\n );\r\n },\r\n\r\n canViewAdminContainerDropdown: () => {\r\n return (\r\n RolesHelper.doesUserHaveRegionalRole('home', constants.UserRoles.ADMIN_GENERAL) ||\r\n RolesHelper.doesUserHaveRegionalRole('home', constants.UserRoles.ADMIN_SYSTEM)\r\n );\r\n },\r\n\r\n canViewGenAIBannerMessage: () => {\r\n return (\r\n RolesHelper.doesUserHaveRegionalRole('home', constants.UserRoles.ADMIN_GENERAL) ||\r\n RolesHelper.doesUserHaveRegionalRole('home', constants.UserRoles.ADMIN_SYSTEM)\r\n );\r\n },\r\n\r\n canHaveGlobalAdminAccess: () => {\r\n return RolesHelper.doesUserHaveRegionalRole('home', constants.UserRoles.ADMIN_SYSTEM);\r\n }\r\n};\r\n\r\nexport default GlobalPermissions;\r\n","import RolesHelper from 'permissions/helpers/roles';\r\nimport constants from 'utils/constants';\r\n\r\nimport GlobalExtractionFieldGroup from 'permissions/sections/global-extraction-field-group';\r\n\r\nconst GlobalExtractionFieldPermissions = {\r\n ExtractionFieldGroup: GlobalExtractionFieldGroup,\r\n\r\n canViewQuickStudyPageLink: () => {\r\n return true;\r\n },\r\n\r\n canViewQuickStudyPageRegion: () => {\r\n return RolesHelper.isUserFromProjectRegion('current');\r\n },\r\n\r\n canView: extractionField => {\r\n return (\r\n RolesHelper.doesUserHaveRegionalRole('home', constants.UserRoles.ADMIN_GENERAL) ||\r\n RolesHelper.doesUserHaveRegionalRole('home', constants.UserRoles.ADMIN_SYSTEM) ||\r\n RolesHelper.doesUserContainExtractionFieldRole(\r\n undefined,\r\n extractionField,\r\n constants.UserRoles.EXTRACTION_FIELD_CONTRIBUTOR\r\n ) ||\r\n RolesHelper.doesUserContainExtractionFieldRole(\r\n undefined,\r\n extractionField,\r\n constants.UserRoles.EXTRACTION_FIELD_OWNER\r\n )\r\n );\r\n },\r\n\r\n canCreate: () => {\r\n return (\r\n RolesHelper.doesUserHaveRegionalRole('home', constants.UserRoles.ADMIN_GENERAL) ||\r\n RolesHelper.doesUserHaveRegionalRole('home', constants.UserRoles.ADMIN_SYSTEM)\r\n );\r\n },\r\n\r\n canDelete: extractionField => {\r\n return (\r\n RolesHelper.doesUserHaveRegionalRole('home', constants.UserRoles.ADMIN_GENERAL) ||\r\n RolesHelper.doesUserHaveRegionalRole('home', constants.UserRoles.ADMIN_SYSTEM) ||\r\n RolesHelper.doesUserContainExtractionFieldRole(\r\n undefined,\r\n extractionField,\r\n constants.UserRoles.EXTRACTION_FIELD_OWNER\r\n )\r\n );\r\n },\r\n\r\n canEdit: () => {\r\n return (\r\n RolesHelper.doesUserHaveRegionalRole('home', constants.UserRoles.ADMIN_GENERAL) ||\r\n RolesHelper.doesUserHaveRegionalRole('home', constants.UserRoles.ADMIN_SYSTEM)\r\n );\r\n },\r\n\r\n canRename: extractionField => {\r\n return (\r\n RolesHelper.doesUserHaveRegionalRole('home', constants.UserRoles.ADMIN_GENERAL) ||\r\n RolesHelper.doesUserHaveRegionalRole('home', constants.UserRoles.ADMIN_SYSTEM) ||\r\n RolesHelper.doesUserContainExtractionFieldRole(\r\n undefined,\r\n extractionField,\r\n constants.UserRoles.EXTRACTION_FIELD_OWNER\r\n )\r\n );\r\n },\r\n\r\n canEditField: extractionField => {\r\n return (\r\n RolesHelper.doesUserContainExtractionFieldRole(\r\n undefined,\r\n extractionField,\r\n constants.UserRoles.EXTRACTION_FIELD_OWNER\r\n )\r\n );\r\n },\r\n\r\n canAddRemoveGroup: extractionField => {\r\n return (\r\n RolesHelper.doesUserHaveRegionalRole('home', constants.UserRoles.ADMIN_GENERAL) ||\r\n RolesHelper.doesUserHaveRegionalRole('home', constants.UserRoles.ADMIN_SYSTEM) ||\r\n RolesHelper.doesUserContainExtractionFieldRole(\r\n undefined,\r\n extractionField,\r\n constants.UserRoles.EXTRACTION_FIELD_OWNER\r\n )\r\n );\r\n },\r\n\r\n canAddRemoveUser: extractionField => {\r\n return (\r\n RolesHelper.doesUserHaveRegionalRole('home', constants.UserRoles.ADMIN_GENERAL) ||\r\n RolesHelper.doesUserHaveRegionalRole('home', constants.UserRoles.ADMIN_SYSTEM) ||\r\n RolesHelper.doesUserContainExtractionFieldRole(\r\n undefined,\r\n extractionField,\r\n constants.UserRoles.EXTRACTION_FIELD_OWNER\r\n )\r\n );\r\n },\r\n\r\n canViewLearningTab: extractionField => {\r\n return (\r\n RolesHelper.doesUserHaveRegionalRole('home', constants.UserRoles.ADMIN_GENERAL) ||\r\n RolesHelper.doesUserHaveRegionalRole('home', constants.UserRoles.ADMIN_SYSTEM)\r\n );\r\n },\r\n\r\n canViewGroupsAndUsersTab: extractionField => {\r\n return (\r\n RolesHelper.doesUserHaveRegionalRole('home', constants.UserRoles.ADMIN_GENERAL) ||\r\n RolesHelper.doesUserHaveRegionalRole('home', constants.UserRoles.ADMIN_SYSTEM) ||\r\n RolesHelper.doesUserContainExtractionFieldRole(\r\n undefined,\r\n extractionField,\r\n constants.UserRoles.EXTRACTION_FIELD_CONTRIBUTOR\r\n ) ||\r\n RolesHelper.doesUserContainExtractionFieldRole(\r\n undefined,\r\n extractionField,\r\n constants.UserRoles.EXTRACTION_FIELD_OWNER\r\n )\r\n );\r\n },\r\n\r\n canViewMeasuresTab: extractionField => {\r\n return (\r\n RolesHelper.doesUserHaveRegionalRole('home', constants.UserRoles.ADMIN_GENERAL) ||\r\n RolesHelper.doesUserHaveRegionalRole('home', constants.UserRoles.ADMIN_SYSTEM)\r\n );\r\n },\r\n\r\n canViewHistoryTab: extractionField => {\r\n return (\r\n RolesHelper.doesUserHaveRegionalRole('home', constants.UserRoles.ADMIN_GENERAL) ||\r\n RolesHelper.doesUserHaveRegionalRole('home', constants.UserRoles.ADMIN_SYSTEM)\r\n );\r\n },\r\n canViewVendorTag: () => {\r\n return (\r\n RolesHelper.doesUserHaveRegionalRole('home', constants.UserRoles.ADMIN_GENERAL) ||\r\n RolesHelper.doesUserHaveRegionalRole('home', constants.UserRoles.ADMIN_SYSTEM)\r\n );\r\n }\r\n};\r\n\r\nexport default GlobalExtractionFieldPermissions;\r\n","import RolesHelper from 'permissions/helpers/roles';\r\nimport constants from 'utils/constants';\r\n\r\nconst GlobalExtractionFieldGroupPermissions = {\r\n canView: extractionField => {\r\n return (\r\n RolesHelper.doesUserHaveRegionalRole('home', constants.UserRoles.ADMIN_GENERAL) ||\r\n RolesHelper.doesUserHaveRegionalRole('home', constants.UserRoles.ADMIN_SYSTEM)\r\n );\r\n },\r\n\r\n canCreate: extractionField => {\r\n return (\r\n RolesHelper.doesUserHaveRegionalRole('home', constants.UserRoles.ADMIN_GENERAL) ||\r\n RolesHelper.doesUserHaveRegionalRole('home', constants.UserRoles.ADMIN_SYSTEM)\r\n );\r\n },\r\n\r\n canDelete: extractionField => {\r\n return (\r\n RolesHelper.doesUserHaveRegionalRole('home', constants.UserRoles.ADMIN_GENERAL) ||\r\n RolesHelper.doesUserHaveRegionalRole('home', constants.UserRoles.ADMIN_SYSTEM)\r\n );\r\n },\r\n\r\n canEdit: extractionField => {\r\n return (\r\n RolesHelper.doesUserHaveRegionalRole('home', constants.UserRoles.ADMIN_GENERAL) ||\r\n RolesHelper.doesUserHaveRegionalRole('home', constants.UserRoles.ADMIN_SYSTEM)\r\n );\r\n }\r\n};\r\n\r\nexport default GlobalExtractionFieldGroupPermissions;\r\n","import RolesHelper from 'permissions/helpers/roles';\r\nimport constants from 'utils/constants';\r\n\r\nconst GlobalUserPermissions = {\r\n canViewTab: () => {\r\n return (\r\n RolesHelper.doesUserHaveRegionalRole('home', constants.UserRoles.ADMIN_GENERAL) ||\r\n RolesHelper.doesUserHaveRegionalRole('home', constants.UserRoles.ADMIN_SYSTEM)\r\n );\r\n },\r\n\r\n canViewUserManagementLink: () => {\r\n return (\r\n RolesHelper.doesUserHaveRegionalRole('home', constants.UserRoles.ADMIN_GENERAL) ||\r\n RolesHelper.doesUserHaveRegionalRole('home', constants.UserRoles.ADMIN_SYSTEM)\r\n );\r\n },\r\n\r\n canViewMaintenanceMessagesLink: () => {\r\n return RolesHelper.doesUserHaveRegionalRole('home', constants.UserRoles.ADMIN_SYSTEM);\r\n },\r\n\r\n canViewUserManagementPageRegion: () => {\r\n return (\r\n (RolesHelper.doesUserHaveRegionalRole('home', constants.UserRoles.ADMIN_GENERAL) ||\r\n RolesHelper.doesUserHaveRegionalRole('home', constants.UserRoles.ADMIN_SYSTEM)) &&\r\n RolesHelper.isUserFromProjectRegion('current')\r\n );\r\n },\r\n\r\n canEnable: () => {\r\n return (\r\n RolesHelper.doesUserHaveRegionalRole('home', constants.UserRoles.ADMIN_GENERAL) ||\r\n RolesHelper.doesUserHaveRegionalRole('home', constants.UserRoles.ADMIN_SYSTEM)\r\n );\r\n },\r\n\r\n canDisable: () => {\r\n return (\r\n RolesHelper.doesUserHaveRegionalRole('home', constants.UserRoles.ADMIN_GENERAL) ||\r\n RolesHelper.doesUserHaveRegionalRole('home', constants.UserRoles.ADMIN_SYSTEM)\r\n );\r\n },\r\n\r\n canPromoteToSystemAdmin: () => {\r\n return RolesHelper.doesUserHaveRegionalRole('home', constants.UserRoles.ADMIN_SYSTEM);\r\n },\r\n\r\n canPromoteToGeneralAdmin: () => {\r\n return (\r\n RolesHelper.doesUserHaveRegionalRole('home', constants.UserRoles.ADMIN_GENERAL) ||\r\n RolesHelper.doesUserHaveRegionalRole('home', constants.UserRoles.ADMIN_SYSTEM)\r\n );\r\n },\r\n\r\n canviewAdminDashboard: () => {\r\n return (\r\n RolesHelper.doesUserHaveRegionalRole('home', constants.UserRoles.ADMIN_GENERAL) ||\r\n RolesHelper.doesUserHaveRegionalRole('home', constants.UserRoles.ADMIN_SYSTEM)\r\n );\r\n }\r\n};\r\n\r\nexport default GlobalUserPermissions;\r\n","import RolesHelper from 'permissions/helpers/roles';\r\nimport StatesHelper from 'permissions/helpers/states';\r\nimport constants from 'utils/constants';\r\n\r\nimport ProjectAnalytics from 'permissions/sections/project-analytics';\r\nimport ProjectComparison from 'permissions/sections/project-comparison';\r\nimport ProjectDocument from 'permissions/sections/project-document';\r\nimport ProjectExtractionField from 'permissions/sections/project-extraction-field';\r\nimport ProjectFolder from 'permissions/sections/project-folder';\r\nimport ProjectSettings from 'permissions/sections/project-settings';\r\nimport ProjectTemplate from 'permissions/sections/project-template';\r\nimport ProjectUser from 'permissions/sections/project-user';\r\nimport ProjectVisualization from 'permissions/sections/project-visualization';\r\nimport ProjectTags from 'permissions/sections/project-tags';\r\nimport ProjectReviewStatus from 'permissions/sections/project-review-status';\r\n\r\nconst ProjectPermissions = {\r\n Analytics: ProjectAnalytics,\r\n Comparison: ProjectComparison,\r\n Document: ProjectDocument,\r\n ExtractionField: ProjectExtractionField,\r\n Folder: ProjectFolder,\r\n ReviewStatus: ProjectReviewStatus,\r\n Settings: ProjectSettings,\r\n Tags: ProjectTags,\r\n Template: ProjectTemplate,\r\n User: ProjectUser,\r\n Visualization: ProjectVisualization,\r\n\r\n _States: {\r\n isReadOnly: project => {\r\n return StatesHelper.isProjectReadOnly(project);\r\n },\r\n isProjectArchived: project => {\r\n return StatesHelper.isProjectArchived(project);\r\n }\r\n },\r\n\r\n canViewApprovalBanner: project => {\r\n return (\r\n RolesHelper.doesProjectContainRole(project, constants.UserRoles.PROJECT_CONTRIBUTOR) ||\r\n RolesHelper.doesProjectContainRole(project, constants.UserRoles.PROJECT_OWNER) ||\r\n RolesHelper.doesProjectContainRole(project, constants.UserRoles.PROJECT_CREATOR)\r\n );\r\n },\r\n\r\n canViewProjectDropdownMenu: (region, project) => {\r\n return (\r\n RolesHelper.doesProjectContainRole(project, constants.UserRoles.PROJECT_CONTRIBUTOR) ||\r\n RolesHelper.doesProjectContainRole(project, constants.UserRoles.PROJECT_OWNER) ||\r\n RolesHelper.doesProjectContainRole(project, constants.UserRoles.PROJECT_CREATOR) ||\r\n RolesHelper.doesUserHaveRegionalRole(region, constants.UserRoles.ADMIN_GENERAL) ||\r\n RolesHelper.doesUserHaveRegionalRole(region, constants.UserRoles.ADMIN_SYSTEM)\r\n );\r\n },\r\n\r\n canView: project => {\r\n return (\r\n RolesHelper.doesProjectContainRole(project, constants.UserRoles.PROJECT_VISITOR) ||\r\n RolesHelper.doesProjectContainRole(project, constants.UserRoles.PROJECT_CONTRIBUTOR) ||\r\n RolesHelper.doesProjectContainRole(project, constants.UserRoles.PROJECT_OWNER) ||\r\n RolesHelper.doesProjectContainRole(project, constants.UserRoles.PROJECT_CREATOR)\r\n );\r\n },\r\n\r\n canViewDeletedProjects: region => {\r\n return (\r\n RolesHelper.doesUserHaveRegionalRole(region, constants.UserRoles.ADMIN_GENERAL) ||\r\n RolesHelper.doesUserHaveRegionalRole(region, constants.UserRoles.ADMIN_SYSTEM)\r\n );\r\n },\r\n\r\n canViewStatus: project => {\r\n return (\r\n RolesHelper.doesProjectContainRole(project, constants.UserRoles.PROJECT_VISITOR) ||\r\n RolesHelper.doesProjectContainRole(project, constants.UserRoles.PROJECT_CONTRIBUTOR) ||\r\n RolesHelper.doesProjectContainRole(project, constants.UserRoles.PROJECT_OWNER) ||\r\n RolesHelper.doesProjectContainRole(project, constants.UserRoles.PROJECT_CREATOR)\r\n );\r\n },\r\n\r\n canCreate: () => {\r\n return true;\r\n },\r\n\r\n canDelete: (project, region) => {\r\n return (\r\n project.projectTypeId != constants.ProjectTypes.WORKSPACE_PROJECT &&\r\n (RolesHelper.doesProjectContainRole(project, constants.UserRoles.PROJECT_OWNER) ||\r\n RolesHelper.doesProjectContainRole(project, constants.UserRoles.PROJECT_CREATOR) ||\r\n RolesHelper.doesUserHaveRegionalRole(region, constants.UserRoles.ADMIN_GENERAL) ||\r\n RolesHelper.doesUserHaveRegionalRole(region, constants.UserRoles.ADMIN_SYSTEM))\r\n );\r\n },\r\n\r\n canRestore: (project, region) => {\r\n return (\r\n RolesHelper.doesUserHaveRegionalRole(region, constants.UserRoles.ADMIN_GENERAL) ||\r\n RolesHelper.doesUserHaveRegionalRole(region, constants.UserRoles.ADMIN_SYSTEM)\r\n );\r\n },\r\n\r\n canCopy: (project, region) => {\r\n return (\r\n project.projectTypeId != constants.ProjectTypes.WORKSPACE_PROJECT &&\r\n (RolesHelper.doesProjectContainRole(project, constants.UserRoles.PROJECT_OWNER) ||\r\n RolesHelper.doesProjectContainRole(project, constants.UserRoles.PROJECT_CREATOR) ||\r\n RolesHelper.doesUserHaveRegionalRole(region, constants.UserRoles.ADMIN_GENERAL) ||\r\n RolesHelper.doesUserHaveRegionalRole(region, constants.UserRoles.ADMIN_SYSTEM))\r\n );\r\n },\r\n\r\n canEnableSupportAccess: project =>\r\n RolesHelper.doesProjectContainRole(project, constants.UserRoles.PROJECT_OWNER) ||\r\n RolesHelper.doesProjectContainRole(project, constants.UserRoles.PROJECT_CREATOR),\r\n\r\n canCarryForward: (project, region) => {\r\n return (\r\n RolesHelper.doesProjectContainRole(project, constants.UserRoles.PROJECT_OWNER) ||\r\n RolesHelper.doesProjectContainRole(project, constants.UserRoles.PROJECT_CREATOR) ||\r\n RolesHelper.doesUserHaveRegionalRole(region, constants.UserRoles.ADMIN_GENERAL) ||\r\n RolesHelper.doesUserHaveRegionalRole(region, constants.UserRoles.ADMIN_SYSTEM)\r\n );\r\n },\r\n\r\n canRequestArchive: (project, region) => {\r\n return (\r\n project.projectTypeId != constants.ProjectTypes.WORKSPACE_PROJECT &&\r\n (RolesHelper.doesProjectContainRole(project, constants.UserRoles.PROJECT_CONTRIBUTOR) ||\r\n RolesHelper.doesProjectContainRole(project, constants.UserRoles.PROJECT_OWNER) ||\r\n RolesHelper.doesProjectContainRole(project, constants.UserRoles.PROJECT_CREATOR) ||\r\n RolesHelper.doesUserHaveRegionalRole(region, constants.UserRoles.ADMIN_GENERAL) ||\r\n RolesHelper.doesUserHaveRegionalRole(region, constants.UserRoles.ADMIN_SYSTEM))\r\n );\r\n },\r\n\r\n canCancelArchiveRequest: (project, user) => {\r\n return RolesHelper.isUserArchiveRequestor(project, user);\r\n },\r\n\r\n canApproveArchive: (project, user) => {\r\n return RolesHelper.isUserSelectedApprover(project, user);\r\n },\r\n\r\n canRejectArchive: (project, user) => {\r\n return RolesHelper.isUserSelectedApprover(project, user);\r\n },\r\n\r\n canFlagNonClientService: region => {\r\n return (\r\n RolesHelper.doesUserHaveRegionalRole(region, constants.UserRoles.ADMIN_GENERAL) ||\r\n RolesHelper.doesUserHaveRegionalRole(region, constants.UserRoles.ADMIN_SYSTEM)\r\n );\r\n },\r\n\r\n canInitiateLegalHold: (project, region) => {\r\n return (\r\n RolesHelper.doesProjectContainRole(project, constants.UserRoles.PROJECT_OWNER) ||\r\n RolesHelper.doesProjectContainRole(project, constants.UserRoles.PROJECT_CREATOR) ||\r\n RolesHelper.doesUserHaveRegionalRole(region, constants.UserRoles.ADMIN_GENERAL) ||\r\n RolesHelper.doesUserHaveRegionalRole(region, constants.UserRoles.ADMIN_SYSTEM)\r\n );\r\n },\r\n\r\n canLiftLegalHold: region => {\r\n return (\r\n RolesHelper.doesUserHaveRegionalRole(region, constants.UserRoles.ADMIN_GENERAL) ||\r\n RolesHelper.doesUserHaveRegionalRole(region, constants.UserRoles.ADMIN_SYSTEM)\r\n );\r\n },\r\n\r\n canTag: project => {\r\n return (\r\n RolesHelper.doesProjectContainRole(project, constants.UserRoles.PROJECT_CONTRIBUTOR) ||\r\n RolesHelper.doesProjectContainRole(project, constants.UserRoles.PROJECT_OWNER) ||\r\n RolesHelper.doesProjectContainRole(project, constants.UserRoles.PROJECT_CREATOR)\r\n );\r\n },\r\n\r\n canViewTag: project => {\r\n return (\r\n RolesHelper.doesProjectContainRole(project, constants.UserRoles.PROJECT_VISITOR) ||\r\n RolesHelper.doesProjectContainRole(project, constants.UserRoles.PROJECT_CONTRIBUTOR) ||\r\n RolesHelper.doesProjectContainRole(project, constants.UserRoles.PROJECT_OWNER) ||\r\n RolesHelper.doesProjectContainRole(project, constants.UserRoles.PROJECT_CREATOR)\r\n );\r\n },\r\n\r\n canUndo: project => {\r\n return (\r\n RolesHelper.doesProjectContainRole(project, constants.UserRoles.PROJECT_CONTRIBUTOR) ||\r\n RolesHelper.doesProjectContainRole(project, constants.UserRoles.PROJECT_OWNER) ||\r\n RolesHelper.doesProjectContainRole(project, constants.UserRoles.PROJECT_CREATOR)\r\n );\r\n }\r\n};\r\n\r\nexport default ProjectPermissions;\r\n","import RolesHelper from 'permissions/helpers/roles';\r\nimport constants from 'utils/constants';\r\n\r\nconst ProjectAnalyticsPermissions = {\r\n canView: project => {\r\n return (\r\n RolesHelper.doesProjectContainRole(project, constants.UserRoles.PROJECT_VISITOR) ||\r\n RolesHelper.doesProjectContainRole(project, constants.UserRoles.PROJECT_CONTRIBUTOR) ||\r\n RolesHelper.doesProjectContainRole(project, constants.UserRoles.PROJECT_OWNER) ||\r\n RolesHelper.doesProjectContainRole(project, constants.UserRoles.PROJECT_CREATOR)\r\n );\r\n },\r\n\r\n canExport: project => {\r\n return (\r\n RolesHelper.doesProjectContainRole(project, constants.UserRoles.PROJECT_VISITOR) ||\r\n RolesHelper.doesProjectContainRole(project, constants.UserRoles.PROJECT_CONTRIBUTOR) ||\r\n RolesHelper.doesProjectContainRole(project, constants.UserRoles.PROJECT_OWNER) ||\r\n RolesHelper.doesProjectContainRole(project, constants.UserRoles.PROJECT_CREATOR)\r\n );\r\n }\r\n};\r\n\r\nexport default ProjectAnalyticsPermissions;\r\n","import RolesHelper from 'permissions/helpers/roles';\r\nimport constants from 'utils/constants';\r\n\r\nconst ProjectComparisonPermissions = {\r\n canCreate: project => {\r\n return (\r\n RolesHelper.doesProjectContainRole(project, constants.UserRoles.PROJECT_CONTRIBUTOR) ||\r\n RolesHelper.doesProjectContainRole(project, constants.UserRoles.PROJECT_OWNER) ||\r\n RolesHelper.doesProjectContainRole(project, constants.UserRoles.PROJECT_CREATOR)\r\n );\r\n },\r\n\r\n canEdit: project => {\r\n return (\r\n RolesHelper.doesProjectContainRole(project, constants.UserRoles.PROJECT_CONTRIBUTOR) ||\r\n RolesHelper.doesProjectContainRole(project, constants.UserRoles.PROJECT_OWNER) ||\r\n RolesHelper.doesProjectContainRole(project, constants.UserRoles.PROJECT_CREATOR)\r\n );\r\n },\r\n\r\n canDelete: project => {\r\n return (\r\n RolesHelper.doesProjectContainRole(project, constants.UserRoles.PROJECT_CONTRIBUTOR) ||\r\n RolesHelper.doesProjectContainRole(project, constants.UserRoles.PROJECT_OWNER) ||\r\n RolesHelper.doesProjectContainRole(project, constants.UserRoles.PROJECT_CREATOR)\r\n );\r\n },\r\n\r\n canView: project => {\r\n return (\r\n RolesHelper.doesProjectContainRole(project, constants.UserRoles.PROJECT_VISITOR) ||\r\n RolesHelper.doesProjectContainRole(project, constants.UserRoles.PROJECT_CONTRIBUTOR) ||\r\n RolesHelper.doesProjectContainRole(project, constants.UserRoles.PROJECT_OWNER) ||\r\n RolesHelper.doesProjectContainRole(project, constants.UserRoles.PROJECT_CREATOR)\r\n );\r\n },\r\n\r\n canExport: project => {\r\n return (\r\n RolesHelper.doesProjectContainRole(project, constants.UserRoles.PROJECT_VISITOR) ||\r\n RolesHelper.doesProjectContainRole(project, constants.UserRoles.PROJECT_CONTRIBUTOR) ||\r\n RolesHelper.doesProjectContainRole(project, constants.UserRoles.PROJECT_OWNER) ||\r\n RolesHelper.doesProjectContainRole(project, constants.UserRoles.PROJECT_CREATOR)\r\n );\r\n },\r\n\r\n canDuplicate: project => {\r\n return (\r\n RolesHelper.doesProjectContainRole(project, constants.UserRoles.PROJECT_OWNER) ||\r\n RolesHelper.doesProjectContainRole(project, constants.UserRoles.PROJECT_CREATOR)\r\n );\r\n },\r\n\r\n};\r\n\r\nexport default ProjectComparisonPermissions;\r\n","import RolesHelper from 'permissions/helpers/roles';\r\nimport constants from 'utils/constants';\r\n\r\nimport ProjectDocumentExtractionField from 'permissions/sections/project-document-extraction-field';\r\n\r\nconst ProjectDocumentPermissions = {\r\n ExtractionField: ProjectDocumentExtractionField,\r\n\r\n canUpload: project => {\r\n return (\r\n RolesHelper.doesProjectContainRole(project, constants.UserRoles.PROJECT_CONTRIBUTOR) ||\r\n RolesHelper.doesProjectContainRole(project, constants.UserRoles.PROJECT_OWNER) ||\r\n RolesHelper.doesProjectContainRole(project, constants.UserRoles.PROJECT_CREATOR)\r\n );\r\n },\r\n\r\n canDelete: project => {\r\n return (\r\n RolesHelper.doesProjectContainRole(project, constants.UserRoles.PROJECT_CONTRIBUTOR) ||\r\n RolesHelper.doesProjectContainRole(project, constants.UserRoles.PROJECT_OWNER) ||\r\n RolesHelper.doesProjectContainRole(project, constants.UserRoles.PROJECT_CREATOR)\r\n );\r\n },\r\n\r\n canModify: project => {\r\n return (\r\n RolesHelper.doesProjectContainRole(project, constants.UserRoles.PROJECT_CONTRIBUTOR) ||\r\n RolesHelper.doesProjectContainRole(project, constants.UserRoles.PROJECT_OWNER) ||\r\n RolesHelper.doesProjectContainRole(project, constants.UserRoles.PROJECT_CREATOR)\r\n );\r\n },\r\n\r\n canMove: project => {\r\n return (\r\n RolesHelper.doesProjectContainRole(project, constants.UserRoles.PROJECT_CONTRIBUTOR) ||\r\n RolesHelper.doesProjectContainRole(project, constants.UserRoles.PROJECT_OWNER) ||\r\n RolesHelper.doesProjectContainRole(project, constants.UserRoles.PROJECT_CREATOR)\r\n );\r\n },\r\n\r\n canTag: project => {\r\n return (\r\n RolesHelper.doesProjectContainRole(project, constants.UserRoles.PROJECT_CONTRIBUTOR) ||\r\n RolesHelper.doesProjectContainRole(project, constants.UserRoles.PROJECT_OWNER) ||\r\n RolesHelper.doesProjectContainRole(project, constants.UserRoles.PROJECT_CREATOR)\r\n );\r\n },\r\n\r\n canUntag: project => {\r\n return (\r\n RolesHelper.doesProjectContainRole(project, constants.UserRoles.PROJECT_CONTRIBUTOR) ||\r\n RolesHelper.doesProjectContainRole(project, constants.UserRoles.PROJECT_OWNER) ||\r\n RolesHelper.doesProjectContainRole(project, constants.UserRoles.PROJECT_CREATOR)\r\n );\r\n },\r\n\r\n canAssign: project => {\r\n return (\r\n RolesHelper.doesProjectContainRole(project, constants.UserRoles.PROJECT_CONTRIBUTOR) ||\r\n RolesHelper.doesProjectContainRole(project, constants.UserRoles.PROJECT_OWNER) ||\r\n RolesHelper.doesProjectContainRole(project, constants.UserRoles.PROJECT_CREATOR)\r\n );\r\n },\r\n\r\n canSetTemplate: project => {\r\n return (\r\n RolesHelper.doesProjectContainRole(project, constants.UserRoles.PROJECT_CONTRIBUTOR) ||\r\n RolesHelper.doesProjectContainRole(project, constants.UserRoles.PROJECT_OWNER) ||\r\n RolesHelper.doesProjectContainRole(project, constants.UserRoles.PROJECT_CREATOR)\r\n );\r\n },\r\n\r\n canReview: project => {\r\n return (\r\n RolesHelper.doesProjectContainRole(project, constants.UserRoles.PROJECT_CONTRIBUTOR) ||\r\n RolesHelper.doesProjectContainRole(project, constants.UserRoles.PROJECT_OWNER) ||\r\n RolesHelper.doesProjectContainRole(project, constants.UserRoles.PROJECT_CREATOR)\r\n );\r\n },\r\n\r\n canHighlight: project => {\r\n return (\r\n RolesHelper.doesProjectContainRole(project, constants.UserRoles.PROJECT_CONTRIBUTOR) ||\r\n RolesHelper.doesProjectContainRole(project, constants.UserRoles.PROJECT_OWNER) ||\r\n RolesHelper.doesProjectContainRole(project, constants.UserRoles.PROJECT_CREATOR)\r\n );\r\n },\r\n\r\n canCompare: project => {\r\n return (\r\n RolesHelper.doesProjectContainRole(project, constants.UserRoles.PROJECT_CONTRIBUTOR) ||\r\n RolesHelper.doesProjectContainRole(project, constants.UserRoles.PROJECT_OWNER) ||\r\n RolesHelper.doesProjectContainRole(project, constants.UserRoles.PROJECT_CREATOR)\r\n );\r\n },\r\n\r\n canReprocess: project => {\r\n return (\r\n RolesHelper.doesProjectContainRole(project, constants.UserRoles.PROJECT_CONTRIBUTOR) ||\r\n RolesHelper.doesProjectContainRole(project, constants.UserRoles.PROJECT_OWNER) ||\r\n RolesHelper.doesProjectContainRole(project, constants.UserRoles.PROJECT_CREATOR)\r\n );\r\n },\r\n\r\n canView: project => {\r\n return (\r\n RolesHelper.doesProjectContainRole(project, constants.UserRoles.PROJECT_VISITOR) ||\r\n RolesHelper.doesProjectContainRole(project, constants.UserRoles.PROJECT_CONTRIBUTOR) ||\r\n RolesHelper.doesProjectContainRole(project, constants.UserRoles.PROJECT_OWNER) ||\r\n RolesHelper.doesProjectContainRole(project, constants.UserRoles.PROJECT_CREATOR)\r\n );\r\n },\r\n\r\n canExport: project => {\r\n return (\r\n RolesHelper.doesProjectContainRole(project, constants.UserRoles.PROJECT_VISITOR) ||\r\n RolesHelper.doesProjectContainRole(project, constants.UserRoles.PROJECT_CONTRIBUTOR) ||\r\n RolesHelper.doesProjectContainRole(project, constants.UserRoles.PROJECT_OWNER) ||\r\n RolesHelper.doesProjectContainRole(project, constants.UserRoles.PROJECT_CREATOR)\r\n );\r\n }\r\n};\r\n\r\nexport default ProjectDocumentPermissions;\r\n","import RolesHelper from 'permissions/helpers/roles';\r\nimport constants from 'utils/constants';\r\n\r\nimport ProjectDocumentExtractionFieldRecord from 'permissions/sections/project-document-extraction-field-record';\r\n\r\nconst ProjectDocumentExtractionFieldPermissions = {\r\n ExtractionFieldRecord: ProjectDocumentExtractionFieldRecord,\r\n\r\n canDelete: project => {\r\n return (\r\n RolesHelper.doesProjectContainRole(project, constants.UserRoles.PROJECT_OWNER) ||\r\n RolesHelper.doesProjectContainRole(project, constants.UserRoles.PROJECT_CREATOR)\r\n );\r\n },\r\n\r\n canView: project => {\r\n return (\r\n RolesHelper.doesProjectContainRole(project, constants.UserRoles.PROJECT_VISITOR) ||\r\n RolesHelper.doesProjectContainRole(project, constants.UserRoles.PROJECT_CONTRIBUTOR) ||\r\n RolesHelper.doesProjectContainRole(project, constants.UserRoles.PROJECT_OWNER) ||\r\n RolesHelper.doesProjectContainRole(project, constants.UserRoles.PROJECT_CREATOR)\r\n );\r\n }\r\n};\r\n\r\nexport default ProjectDocumentExtractionFieldPermissions;\r\n","import RolesHelper from 'permissions/helpers/roles';\r\nimport constants from 'utils/constants';\r\n\r\nconst ProjectDocumentExtractionFieldRecordPermissions = {\r\n canCreate: project => {\r\n return (\r\n RolesHelper.doesProjectContainRole(project, constants.UserRoles.PROJECT_CONTRIBUTOR) ||\r\n RolesHelper.doesProjectContainRole(project, constants.UserRoles.PROJECT_OWNER) ||\r\n RolesHelper.doesProjectContainRole(project, constants.UserRoles.PROJECT_CREATOR)\r\n );\r\n },\r\n\r\n canDelete: project => {\r\n return (\r\n RolesHelper.doesProjectContainRole(project, constants.UserRoles.PROJECT_CONTRIBUTOR) ||\r\n RolesHelper.doesProjectContainRole(project, constants.UserRoles.PROJECT_OWNER) ||\r\n RolesHelper.doesProjectContainRole(project, constants.UserRoles.PROJECT_CREATOR)\r\n );\r\n },\r\n\r\n canEdit: project => {\r\n return (\r\n RolesHelper.doesProjectContainRole(project, constants.UserRoles.PROJECT_CONTRIBUTOR) ||\r\n RolesHelper.doesProjectContainRole(project, constants.UserRoles.PROJECT_OWNER) ||\r\n RolesHelper.doesProjectContainRole(project, constants.UserRoles.PROJECT_CREATOR)\r\n );\r\n },\r\n\r\n canTag: project => {\r\n return (\r\n RolesHelper.doesProjectContainRole(project, constants.UserRoles.PROJECT_CONTRIBUTOR) ||\r\n RolesHelper.doesProjectContainRole(project, constants.UserRoles.PROJECT_OWNER) ||\r\n RolesHelper.doesProjectContainRole(project, constants.UserRoles.PROJECT_CREATOR)\r\n );\r\n },\r\n\r\n canView: project => {\r\n return (\r\n RolesHelper.doesProjectContainRole(project, constants.UserRoles.PROJECT_VISITOR) ||\r\n RolesHelper.doesProjectContainRole(project, constants.UserRoles.PROJECT_CONTRIBUTOR) ||\r\n RolesHelper.doesProjectContainRole(project, constants.UserRoles.PROJECT_OWNER) ||\r\n RolesHelper.doesProjectContainRole(project, constants.UserRoles.PROJECT_CREATOR)\r\n );\r\n }\r\n};\r\n\r\nexport default ProjectDocumentExtractionFieldRecordPermissions;\r\n","import RolesHelper from 'permissions/helpers/roles';\r\nimport constants from 'utils/constants';\r\nimport StatesHelper from 'permissions/helpers/states';\r\n\r\nconst ProjectExtractionFieldPermissions = {\r\n canCreate: project => {\r\n return (\r\n RolesHelper.doesProjectContainRole(project, constants.UserRoles.PROJECT_OWNER) ||\r\n RolesHelper.doesProjectContainRole(project, constants.UserRoles.PROJECT_CREATOR) ||\r\n RolesHelper.doesUserHaveRegionalRole('current', constants.UserRoles.ADMIN_GENERAL) ||\r\n RolesHelper.doesUserHaveRegionalRole('current', constants.UserRoles.ADMIN_SYSTEM)\r\n );\r\n },\r\n\r\n canRequestTraining: project => {\r\n return (\r\n (RolesHelper.doesProjectContainRole(project, constants.UserRoles.PROJECT_OWNER) ||\r\n RolesHelper.doesProjectContainRole(project, constants.UserRoles.PROJECT_CREATOR)) &&\r\n !StatesHelper.isProjectArchived(project)\r\n );\r\n },\r\n\r\n canTag: project => {\r\n return (\r\n RolesHelper.doesProjectContainRole(project, constants.UserRoles.PROJECT_CONTRIBUTOR) ||\r\n RolesHelper.doesProjectContainRole(project, constants.UserRoles.PROJECT_OWNER) ||\r\n RolesHelper.doesProjectContainRole(project, constants.UserRoles.PROJECT_CREATOR)\r\n );\r\n },\r\n\r\n canViewTab: project => {\r\n return (\r\n RolesHelper.doesProjectContainRole(project, constants.UserRoles.PROJECT_VISITOR) ||\r\n RolesHelper.doesProjectContainRole(project, constants.UserRoles.PROJECT_CONTRIBUTOR) ||\r\n RolesHelper.doesProjectContainRole(project, constants.UserRoles.PROJECT_OWNER) ||\r\n RolesHelper.doesProjectContainRole(project, constants.UserRoles.PROJECT_CREATOR) ||\r\n RolesHelper.doesUserHaveRegionalRole('current', constants.UserRoles.ADMIN_GENERAL)||\r\n RolesHelper.doesUserHaveRegionalRole('current', constants.UserRoles.ADMIN_SYSTEM)\r\n );\r\n }\r\n};\r\n\r\nexport default ProjectExtractionFieldPermissions;\r\n","import RolesHelper from 'permissions/helpers/roles';\r\nimport constants from 'utils/constants';\r\n\r\nconst ProjectFolderPermissions = {\r\n canCreate: project => {\r\n return (\r\n RolesHelper.doesProjectContainRole(project, constants.UserRoles.PROJECT_CONTRIBUTOR) ||\r\n RolesHelper.doesProjectContainRole(project, constants.UserRoles.PROJECT_OWNER) ||\r\n RolesHelper.doesProjectContainRole(project, constants.UserRoles.PROJECT_CREATOR)\r\n );\r\n },\r\n\r\n canDelete: project => {\r\n return (\r\n RolesHelper.doesProjectContainRole(project, constants.UserRoles.PROJECT_CONTRIBUTOR) ||\r\n RolesHelper.doesProjectContainRole(project, constants.UserRoles.PROJECT_OWNER) ||\r\n RolesHelper.doesProjectContainRole(project, constants.UserRoles.PROJECT_CREATOR)\r\n );\r\n },\r\n\r\n canEdit: project => {\r\n return (\r\n RolesHelper.doesProjectContainRole(project, constants.UserRoles.PROJECT_CONTRIBUTOR) ||\r\n RolesHelper.doesProjectContainRole(project, constants.UserRoles.PROJECT_OWNER) ||\r\n RolesHelper.doesProjectContainRole(project, constants.UserRoles.PROJECT_CREATOR)\r\n );\r\n },\r\n\r\n canMove: project => {\r\n return (\r\n RolesHelper.doesProjectContainRole(project, constants.UserRoles.PROJECT_CONTRIBUTOR) ||\r\n RolesHelper.doesProjectContainRole(project, constants.UserRoles.PROJECT_OWNER) ||\r\n RolesHelper.doesProjectContainRole(project, constants.UserRoles.PROJECT_CREATOR)\r\n );\r\n },\r\n\r\n canView: project => {\r\n return (\r\n RolesHelper.doesProjectContainRole(project, constants.UserRoles.PROJECT_VISITOR) ||\r\n RolesHelper.doesProjectContainRole(project, constants.UserRoles.PROJECT_CONTRIBUTOR) ||\r\n RolesHelper.doesProjectContainRole(project, constants.UserRoles.PROJECT_OWNER) ||\r\n RolesHelper.doesProjectContainRole(project, constants.UserRoles.PROJECT_CREATOR)\r\n );\r\n },\r\n\r\n canTag: project => {\r\n return (\r\n RolesHelper.doesProjectContainRole(project, constants.UserRoles.PROJECT_CONTRIBUTOR) ||\r\n RolesHelper.doesProjectContainRole(project, constants.UserRoles.PROJECT_OWNER) ||\r\n RolesHelper.doesProjectContainRole(project, constants.UserRoles.PROJECT_CREATOR)\r\n );\r\n }\r\n};\r\n\r\nexport default ProjectFolderPermissions;\r\n","import RolesHelper from 'permissions/helpers/roles';\r\nimport constants from 'utils/constants';\r\n\r\nconst ProjectReviewStatusPermissions = {\r\n canView: (project, region) => {\r\n return (\r\n RolesHelper.doesProjectContainRole(project, constants.UserRoles.PROJECT_VISITOR) ||\r\n RolesHelper.doesProjectContainRole(project, constants.UserRoles.PROJECT_CONTRIBUTOR) ||\r\n RolesHelper.doesProjectContainRole(project, constants.UserRoles.PROJECT_OWNER) ||\r\n RolesHelper.doesProjectContainRole(project, constants.UserRoles.PROJECT_CREATOR)\r\n );\r\n }\r\n};\r\n\r\nexport default ProjectReviewStatusPermissions;\r\n","import RolesHelper from 'permissions/helpers/roles';\r\nimport constants from 'utils/constants';\r\n\r\nconst ProjectSettingsPermissions = {\r\n canCreate: project => {\r\n return (\r\n RolesHelper.doesProjectContainRole(project, constants.UserRoles.PROJECT_OWNER) ||\r\n RolesHelper.doesProjectContainRole(project, constants.UserRoles.PROJECT_CREATOR) ||\r\n RolesHelper.doesUserHaveRegionalRole('current', constants.UserRoles.ADMIN_GENERAL) ||\r\n RolesHelper.doesUserHaveRegionalRole('current', constants.UserRoles.ADMIN_SYSTEM)\r\n );\r\n },\r\n\r\n canRemove: project => {\r\n return (\r\n RolesHelper.doesProjectContainRole(project, constants.UserRoles.PROJECT_OWNER) ||\r\n RolesHelper.doesProjectContainRole(project, constants.UserRoles.PROJECT_CREATOR) ||\r\n RolesHelper.doesUserHaveRegionalRole('current', constants.UserRoles.ADMIN_GENERAL) ||\r\n RolesHelper.doesUserHaveRegionalRole('current', constants.UserRoles.ADMIN_SYSTEM)\r\n );\r\n },\r\n\r\n canEdit: project => {\r\n return (\r\n (RolesHelper.doesProjectContainRole(project, constants.UserRoles.PROJECT_OWNER) ||\r\n RolesHelper.doesProjectContainRole(project, constants.UserRoles.PROJECT_CREATOR) ||\r\n RolesHelper.doesUserHaveRegionalRole('current', constants.UserRoles.ADMIN_GENERAL) ||\r\n RolesHelper.doesUserHaveRegionalRole('current', constants.UserRoles.ADMIN_SYSTEM)) &&\r\n project.projectTypeId != constants.ProjectTypes.WORKSPACE_PROJECT\r\n );\r\n },\r\n\r\n canEditCreationState: project => {\r\n return RolesHelper.doesProjectContainRole(project, constants.UserRoles.PROJECT_CREATOR);\r\n },\r\n\r\n canEditAsAdmin: project => {\r\n // User is admin for the project container, but is not a user on the project\r\n return (\r\n RolesHelper.doesProjectContainRole(project, constants.UserRoles.PROJECT_VISITOR) &&\r\n (RolesHelper.doesUserHaveRegionalRole('current', constants.UserRoles.ADMIN_GENERAL) ||\r\n RolesHelper.doesUserHaveRegionalRole('current', constants.UserRoles.ADMIN_SYSTEM))\r\n );\r\n },\r\n\r\n canView: (project, region) => {\r\n return (\r\n RolesHelper.doesProjectContainRole(project, constants.UserRoles.PROJECT_VISITOR) ||\r\n RolesHelper.doesProjectContainRole(project, constants.UserRoles.PROJECT_CONTRIBUTOR) ||\r\n RolesHelper.doesProjectContainRole(project, constants.UserRoles.PROJECT_OWNER) ||\r\n RolesHelper.doesProjectContainRole(project, constants.UserRoles.PROJECT_CREATOR) ||\r\n RolesHelper.doesUserHaveRegionalRole(region, constants.UserRoles.ADMIN_GENERAL) ||\r\n RolesHelper.doesUserHaveRegionalRole(region, constants.UserRoles.ADMIN_SYSTEM)\r\n );\r\n }\r\n};\r\n\r\nexport default ProjectSettingsPermissions;\r\n","import RolesHelper from 'permissions/helpers/roles';\r\nimport constants from 'utils/constants';\r\n\r\nconst ProjectTagsPermissions = {\r\n canView: (project, region) => {\r\n return (\r\n RolesHelper.doesProjectContainRole(project, constants.UserRoles.PROJECT_VISITOR) ||\r\n RolesHelper.doesProjectContainRole(project, constants.UserRoles.PROJECT_CONTRIBUTOR) ||\r\n RolesHelper.doesProjectContainRole(project, constants.UserRoles.PROJECT_OWNER) ||\r\n RolesHelper.doesProjectContainRole(project, constants.UserRoles.PROJECT_CREATOR)\r\n );\r\n }\r\n};\r\n\r\nexport default ProjectTagsPermissions;\r\n","import RolesHelper from 'permissions/helpers/roles';\r\nimport constants from 'utils/constants';\r\n\r\nimport ProjectTemplateExtractionField from 'permissions/sections/project-template-extraction-field';\r\n\r\nconst ProjectTemplatePermissions = {\r\n TemplateExtractionField: ProjectTemplateExtractionField,\r\n\r\n canCreate: project => {\r\n return (\r\n RolesHelper.doesProjectContainRole(project, constants.UserRoles.PROJECT_OWNER) ||\r\n RolesHelper.doesProjectContainRole(project, constants.UserRoles.PROJECT_CREATOR) ||\r\n RolesHelper.doesUserHaveRegionalRole('current', constants.UserRoles.ADMIN_GENERAL) ||\r\n RolesHelper.doesUserHaveRegionalRole('current', constants.UserRoles.ADMIN_SYSTEM)\r\n );\r\n },\r\n\r\n canDuplicate: project => {\r\n return (\r\n RolesHelper.doesProjectContainRole(project, constants.UserRoles.PROJECT_OWNER) ||\r\n RolesHelper.doesProjectContainRole(project, constants.UserRoles.PROJECT_CREATOR) ||\r\n RolesHelper.doesUserHaveRegionalRole('current', constants.UserRoles.ADMIN_GENERAL) ||\r\n RolesHelper.doesUserHaveRegionalRole('current', constants.UserRoles.ADMIN_SYSTEM)\r\n );\r\n },\r\n\r\n canDelete: project => {\r\n return (\r\n RolesHelper.doesProjectContainRole(project, constants.UserRoles.PROJECT_OWNER) ||\r\n RolesHelper.doesProjectContainRole(project, constants.UserRoles.PROJECT_CREATOR) ||\r\n RolesHelper.doesUserHaveRegionalRole('current', constants.UserRoles.ADMIN_GENERAL) ||\r\n RolesHelper.doesUserHaveRegionalRole('current', constants.UserRoles.ADMIN_SYSTEM)\r\n );\r\n },\r\n\r\n canEdit: project => {\r\n return (\r\n RolesHelper.doesProjectContainRole(project, constants.UserRoles.PROJECT_OWNER) ||\r\n RolesHelper.doesProjectContainRole(project, constants.UserRoles.PROJECT_CREATOR) ||\r\n RolesHelper.doesUserHaveRegionalRole('current', constants.UserRoles.ADMIN_GENERAL) ||\r\n RolesHelper.doesUserHaveRegionalRole('current', constants.UserRoles.ADMIN_SYSTEM)\r\n );\r\n },\r\n\r\n canApply: project => {\r\n return (\r\n RolesHelper.doesProjectContainRole(project, constants.UserRoles.PROJECT_CONTRIBUTOR) ||\r\n RolesHelper.doesProjectContainRole(project, constants.UserRoles.PROJECT_OWNER) ||\r\n RolesHelper.doesProjectContainRole(project, constants.UserRoles.PROJECT_CREATOR) ||\r\n RolesHelper.doesUserHaveRegionalRole('current', constants.UserRoles.ADMIN_GENERAL) ||\r\n RolesHelper.doesUserHaveRegionalRole('current', constants.UserRoles.ADMIN_SYSTEM)\r\n );\r\n },\r\n\r\n canView: project => {\r\n return (\r\n RolesHelper.doesProjectContainRole(project, constants.UserRoles.PROJECT_VISITOR) ||\r\n RolesHelper.doesProjectContainRole(project, constants.UserRoles.PROJECT_CONTRIBUTOR) ||\r\n RolesHelper.doesProjectContainRole(project, constants.UserRoles.PROJECT_OWNER) ||\r\n RolesHelper.doesProjectContainRole(project, constants.UserRoles.PROJECT_CREATOR) ||\r\n RolesHelper.doesUserHaveRegionalRole('current', constants.UserRoles.ADMIN_GENERAL) ||\r\n RolesHelper.doesUserHaveRegionalRole('current', constants.UserRoles.ADMIN_SYSTEM)\r\n );\r\n }\r\n};\r\n\r\nexport default ProjectTemplatePermissions;\r\n","import RolesHelper from 'permissions/helpers/roles';\r\nimport constants from 'utils/constants';\r\n\r\nconst ProjectTemplateExtractionFieldPermissions = {\r\n canCreate: project => {\r\n return (\r\n (RolesHelper.doesProjectContainRole(project, constants.UserRoles.PROJECT_OWNER) ||\r\n RolesHelper.doesProjectContainRole(project, constants.UserRoles.PROJECT_CREATOR) ||\r\n RolesHelper.doesUserHaveRegionalRole('current', constants.UserRoles.ADMIN_GENERAL) ||\r\n RolesHelper.doesUserHaveRegionalRole('current', constants.UserRoles.ADMIN_SYSTEM)) &&\r\n RolesHelper.isUserFromProjectRegion('current')\r\n );\r\n },\r\n\r\n canAssociate: project => {\r\n return (\r\n RolesHelper.doesProjectContainRole(project, constants.UserRoles.PROJECT_OWNER) ||\r\n RolesHelper.doesProjectContainRole(project, constants.UserRoles.PROJECT_CREATOR) ||\r\n RolesHelper.doesUserHaveRegionalRole('current', constants.UserRoles.ADMIN_GENERAL) ||\r\n RolesHelper.doesUserHaveRegionalRole('current', constants.UserRoles.ADMIN_SYSTEM)\r\n );\r\n },\r\n\r\n canDelete: project => {\r\n return (\r\n RolesHelper.doesProjectContainRole(project, constants.UserRoles.PROJECT_OWNER) ||\r\n RolesHelper.doesProjectContainRole(project, constants.UserRoles.PROJECT_CREATOR) ||\r\n RolesHelper.doesUserHaveRegionalRole('current', constants.UserRoles.ADMIN_GENERAL) ||\r\n RolesHelper.doesUserHaveRegionalRole('current', constants.UserRoles.ADMIN_SYSTEM)\r\n );\r\n },\r\n\r\n canView: project => {\r\n return (\r\n RolesHelper.doesProjectContainRole(project, constants.UserRoles.PROJECT_VISITOR) ||\r\n RolesHelper.doesProjectContainRole(project, constants.UserRoles.PROJECT_CONTRIBUTOR) ||\r\n RolesHelper.doesProjectContainRole(project, constants.UserRoles.PROJECT_OWNER) ||\r\n RolesHelper.doesProjectContainRole(project, constants.UserRoles.PROJECT_CREATOR) ||\r\n RolesHelper.doesUserHaveRegionalRole('current', constants.UserRoles.ADMIN_GENERAL) ||\r\n RolesHelper.doesUserHaveRegionalRole('current', constants.UserRoles.ADMIN_SYSTEM)\r\n );\r\n }\r\n};\r\n\r\nexport default ProjectTemplateExtractionFieldPermissions;\r\n","import RolesHelper from 'permissions/helpers/roles';\r\nimport constants from 'utils/constants';\r\n\r\nconst ProjectUserPermissions = {\r\n canAdd: (project, region) => {\r\n return (\r\n RolesHelper.doesProjectContainRole(project, constants.UserRoles.PROJECT_OWNER) ||\r\n RolesHelper.doesProjectContainRole(project, constants.UserRoles.PROJECT_CREATOR) ||\r\n RolesHelper.doesUserHaveRegionalRole(region, constants.UserRoles.ADMIN_GENERAL) ||\r\n RolesHelper.doesUserHaveRegionalRole(region, constants.UserRoles.ADMIN_SYSTEM)\r\n );\r\n },\r\n\r\n canEnableAccess: (project, region) => {\r\n return (\r\n RolesHelper.doesProjectContainRole(project, constants.UserRoles.PROJECT_OWNER) ||\r\n RolesHelper.doesProjectContainRole(project, constants.UserRoles.PROJECT_CREATOR)\r\n );\r\n },\r\n\r\n canEditSelf: (project, region) => {\r\n return (\r\n !RolesHelper.doesProjectContainRole(project, constants.UserRoles.PROJECT_CREATOR) &&\r\n (RolesHelper.doesProjectContainRole(project, constants.UserRoles.PROJECT_OWNER) ||\r\n RolesHelper.doesUserHaveRegionalRole(region, constants.UserRoles.ADMIN_GENERAL) ||\r\n RolesHelper.doesUserHaveRegionalRole(region, constants.UserRoles.ADMIN_SYSTEM))\r\n );\r\n },\r\n\r\n canDelete: (project, region) => {\r\n return (\r\n RolesHelper.doesProjectContainRole(project, constants.UserRoles.PROJECT_OWNER) ||\r\n RolesHelper.doesProjectContainRole(project, constants.UserRoles.PROJECT_CREATOR) ||\r\n RolesHelper.doesUserHaveRegionalRole(region, constants.UserRoles.ADMIN_GENERAL) ||\r\n RolesHelper.doesUserHaveRegionalRole(region, constants.UserRoles.ADMIN_SYSTEM)\r\n );\r\n },\r\n\r\n canEdit: (project, region) => {\r\n return (\r\n (RolesHelper.doesProjectContainRole(project, constants.UserRoles.PROJECT_OWNER) ||\r\n RolesHelper.doesProjectContainRole(project, constants.UserRoles.PROJECT_CREATOR) ||\r\n RolesHelper.doesUserHaveRegionalRole(region, constants.UserRoles.ADMIN_GENERAL) ||\r\n RolesHelper.doesUserHaveRegionalRole(region, constants.UserRoles.ADMIN_SYSTEM)) &&\r\n project.projectTypeId != constants.ProjectTypes.WORKSPACE_PROJECT\r\n );\r\n },\r\n\r\n canView: (project, region) => {\r\n return (\r\n RolesHelper.doesProjectContainRole(project, constants.UserRoles.PROJECT_VISITOR) ||\r\n RolesHelper.doesProjectContainRole(project, constants.UserRoles.PROJECT_CONTRIBUTOR) ||\r\n RolesHelper.doesProjectContainRole(project, constants.UserRoles.PROJECT_OWNER) ||\r\n RolesHelper.doesProjectContainRole(project, constants.UserRoles.PROJECT_CREATOR) ||\r\n RolesHelper.doesUserHaveRegionalRole(region, constants.UserRoles.ADMIN_GENERAL) ||\r\n RolesHelper.doesUserHaveRegionalRole(region, constants.UserRoles.ADMIN_SYSTEM)\r\n );\r\n }\r\n};\r\n\r\nexport default ProjectUserPermissions;\r\n","import constants from 'utils/constants';\r\nimport RolesHelper from 'permissions/helpers/roles';\r\nimport StatesHelper from 'permissions/helpers/states';\r\n\r\nconst ProjectVisualizationPermissions = {\r\n canView: project => {\r\n return (\r\n RolesHelper.doesProjectContainRole(project, constants.UserRoles.PROJECT_VISITOR) ||\r\n RolesHelper.doesProjectContainRole(project, constants.UserRoles.PROJECT_CONTRIBUTOR) ||\r\n RolesHelper.doesProjectContainRole(project, constants.UserRoles.PROJECT_OWNER) ||\r\n RolesHelper.doesProjectContainRole(project, constants.UserRoles.PROJECT_CREATOR)\r\n );\r\n },\r\n\r\n canEdit: project => {\r\n return (\r\n !StatesHelper.isProjectReadOnly(project) &&\r\n (RolesHelper.doesProjectContainRole(project, constants.UserRoles.PROJECT_CONTRIBUTOR) ||\r\n RolesHelper.doesProjectContainRole(project, constants.UserRoles.PROJECT_OWNER) ||\r\n RolesHelper.doesProjectContainRole(project, constants.UserRoles.PROJECT_CREATOR))\r\n );\r\n }\r\n};\r\n\r\nexport default ProjectVisualizationPermissions;\r\n","/*\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License.\n */\n\n/**\n * Enumeration of operations that are instrumented by have their performance measured by the PerformanceClient.\n *\n * @export\n * @enum {number}\n */\nexport enum PerformanceEvents {\n\n /**\n * acquireTokenByCode API (msal-browser and msal-node).\n * Used to acquire tokens by trading an authorization code against the token endpoint.\n */\n AcquireTokenByCode = \"acquireTokenByCode\",\n\n /**\n * acquireTokenByRefreshToken API (msal-browser and msal-node).\n * Used to renew an access token using a refresh token against the token endpoint.\n */\n AcquireTokenByRefreshToken = \"acquireTokenByRefreshToken\",\n\n /**\n * acquireTokenSilent API (msal-browser and msal-node).\n * Used to silently acquire a new access token (from the cache or the network).\n */\n AcquireTokenSilent = \"acquireTokenSilent\",\n\n /**\n * acquireTokenSilentAsync (msal-browser).\n * Internal API for acquireTokenSilent.\n */\n AcquireTokenSilentAsync = \"acquireTokenSilentAsync\",\n\n /**\n * acquireTokenPopup (msal-browser).\n * Used to acquire a new access token interactively through pop ups\n */\n AcquireTokenPopup = \"acquireTokenPopup\",\n\n /**\n * getPublicKeyThumbprint API in CryptoOpts class (msal-browser).\n * Used to generate a public/private keypair and generate a public key thumbprint for pop requests.\n */\n CryptoOptsGetPublicKeyThumbprint = \"cryptoOptsGetPublicKeyThumbprint\",\n\n /**\n * signJwt API in CryptoOpts class (msal-browser).\n * Used to signed a pop token.\n */\n CryptoOptsSignJwt = \"cryptoOptsSignJwt\",\n\n /**\n * acquireToken API in the SilentCacheClient class (msal-browser).\n * Used to read access tokens from the cache.\n */\n SilentCacheClientAcquireToken = \"silentCacheClientAcquireToken\",\n\n /**\n * acquireToken API in the SilentIframeClient class (msal-browser).\n * Used to acquire a new set of tokens from the authorize endpoint in a hidden iframe.\n */\n SilentIframeClientAcquireToken = \"silentIframeClientAcquireToken\",\n\n /**\n * acquireToken API in SilentRereshClient (msal-browser).\n * Used to acquire a new set of tokens from the token endpoint using a refresh token.\n */\n SilentRefreshClientAcquireToken = \"silentRefreshClientAcquireToken\",\n\n /**\n * ssoSilent API (msal-browser).\n * Used to silently acquire an authorization code and set of tokens using a hidden iframe.\n */\n SsoSilent = \"ssoSilent\",\n\n /**\n * getDiscoveredAuthority API in StandardInteractionClient class (msal-browser).\n * Used to load authority metadata for a request.\n */\n StandardInteractionClientGetDiscoveredAuthority = \"standardInteractionClientGetDiscoveredAuthority\",\n\n /**\n * acquireToken APIs in msal-browser.\n * Used to make an /authorize endpoint call with native brokering enabled.\n */\n FetchAccountIdWithNativeBroker = \"fetchAccountIdWithNativeBroker\",\n\n /**\n * acquireToken API in NativeInteractionClient class (msal-browser).\n * Used to acquire a token from Native component when native brokering is enabled.\n */\n NativeInteractionClientAcquireToken = \"nativeInteractionClientAcquireToken\",\n /**\n * Time spent creating default headers for requests to token endpoint\n */\n BaseClientCreateTokenRequestHeaders = \"baseClientCreateTokenRequestHeaders\",\n /**\n * Used to measure the time taken for completing embedded-broker handshake (PW-Broker).\n */\n BrokerHandhshake = \"brokerHandshake\",\n /**\n * acquireTokenByRefreshToken API in BrokerClientApplication (PW-Broker) .\n */\n AcquireTokenByRefreshTokenInBroker = \"acquireTokenByRefreshTokenInBroker\",\n /**\n * Time taken for token acquisition by broker\n */\n AcquireTokenByBroker = \"acquireTokenByBroker\",\n\n /**\n * Time spent on the network for refresh token acquisition\n */\n RefreshTokenClientExecuteTokenRequest = \"refreshTokenClientExecuteTokenRequest\",\n\n /**\n * Time taken for acquiring refresh token , records RT size\n */\n RefreshTokenClientAcquireToken = \"refreshTokenClientAcquireToken\",\n\n /**\n * Time taken for acquiring cached refresh token \n */\n RefreshTokenClientAcquireTokenWithCachedRefreshToken = \"refreshTokenClientAcquireTokenWithCachedRefreshToken\",\n}\n\n/**\n * State of the performance event.\n *\n * @export\n * @enum {number}\n */\nexport enum PerformanceEventStatus {\n NotStarted,\n InProgress,\n Completed\n}\n\n/**\n * Performance measurement taken by the library, including metadata about the request and application.\n *\n * @export\n * @typedef {PerformanceEvent}\n */\nexport type PerformanceEvent = {\n /**\n * Unique id for the event\n *\n * @type {string}\n */\n eventId: string,\n\n /**\n * State of the perforance measure.\n *\n * @type {PerformanceEventStatus}\n */\n status: PerformanceEventStatus,\n\n /**\n * Login authority used for the request\n *\n * @type {string}\n */\n authority: string,\n\n /**\n * Client id for the application\n *\n * @type {string}\n */\n clientId: string\n\n /**\n * Correlation ID used for the request\n *\n * @type {string}\n */\n correlationId: string,\n\n /**\n * End-to-end duration in milliseconds.\n * @date 3/22/2022 - 3:40:05 PM\n *\n * @type {number}\n */\n durationMs?: number,\n\n /**\n * Visibility of the page when the event completed.\n * Read from: https://developer.mozilla.org/docs/Web/API/Page_Visibility_API\n *\n * @type {?(string | null)}\n */\n endPageVisibility?: string | null,\n\n /**\n * Whether the result was retrieved from the cache.\n *\n * @type {(boolean | null)}\n */\n fromCache?: boolean | null,\n\n /**\n * Event name (usually in the form of classNameFunctionName)\n *\n * @type {PerformanceEvents}\n */\n name: PerformanceEvents,\n\n /**\n * Visibility of the page when the event completed.\n * Read from: https://developer.mozilla.org/docs/Web/API/Page_Visibility_API\n *\n * @type {?(string | null)}\n */\n startPageVisibility?: string | null,\n\n /**\n * Unix millisecond timestamp when the event was initiated.\n *\n * @type {number}\n */\n startTimeMs: number,\n\n /**\n * Whether or the operation completed successfully.\n *\n * @type {(boolean | null)}\n */\n success?: boolean | null,\n\n /**\n * Add specific error code in case of failure\n *\n * @type {string}\n */\n errorCode?: string,\n\n /**\n * Add specific sub error code in case of failure\n *\n * @type {string}\n */\n subErrorCode?: string,\n\n /**\n * Name of the library used for the operation.\n *\n * @type {string}\n */\n libraryName: string,\n\n /**\n * Version of the library used for the operation.\n *\n * @type {string}\n */\n libraryVersion: string,\n\n /**\n * Size of the id token\n *\n * @type {number}\n */\n idTokenSize?: number,\n\n /**\n * \n * Size of the access token\n *\n * @type {number}\n */\n\n accessTokenSize?: number,\n\n /**\n * \n * Size of the refresh token\n *\n * @type {number}\n */\n\n refreshTokenSize?: number | undefined,\n\n /**\n * Application name as specified by the app.\n *\n * @type {?string}\n */\n appName?: string,\n\n /**\n * Application version as specified by the app.\n *\n * @type {?string}\n */\n appVersion?: string,\n\n /**\n * Whether the response is from a native component (e.g., WAM)\n *\n * @type {?boolean}\n */\n isNativeBroker?: boolean,\n\n /**\n * The Silent Token Cache Lookup Policy\n *\n * @type {?(number | undefined)}\n */\n cacheLookupPolicy?: number | undefined,\n\n /**\n * Request ID returned from the response\n * \n * @type {?string}\n */\n requestId?: string\n};\n","/*\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License.\n */\n\nexport const Constants = {\n LIBRARY_NAME: \"MSAL.JS\",\n SKU: \"msal.js.common\",\n // Prefix for all library cache entries\n CACHE_PREFIX: \"msal\",\n // default authority\n DEFAULT_AUTHORITY: \"https://login.microsoftonline.com/common/\",\n DEFAULT_AUTHORITY_HOST: \"login.microsoftonline.com\",\n DEFAULT_COMMON_TENANT: \"common\",\n // ADFS String\n ADFS: \"adfs\",\n DSTS: \"dstsv2\",\n // Default AAD Instance Discovery Endpoint\n AAD_INSTANCE_DISCOVERY_ENDPT: \"https://login.microsoftonline.com/common/discovery/instance?api-version=1.1&authorization_endpoint=\",\n // Resource delimiter - used for certain cache entries\n RESOURCE_DELIM: \"|\",\n // Placeholder for non-existent account ids/objects\n NO_ACCOUNT: \"NO_ACCOUNT\",\n // Claims\n CLAIMS: \"claims\",\n // Consumer UTID\n CONSUMER_UTID: \"9188040d-6c67-4c5b-b112-36a304b66dad\",\n // Default scopes\n OPENID_SCOPE: \"openid\",\n PROFILE_SCOPE: \"profile\",\n OFFLINE_ACCESS_SCOPE: \"offline_access\",\n EMAIL_SCOPE: \"email\",\n // Default response type for authorization code flow\n CODE_RESPONSE_TYPE: \"code\",\n CODE_GRANT_TYPE: \"authorization_code\",\n RT_GRANT_TYPE: \"refresh_token\",\n FRAGMENT_RESPONSE_MODE: \"fragment\",\n S256_CODE_CHALLENGE_METHOD: \"S256\",\n URL_FORM_CONTENT_TYPE: \"application/x-www-form-urlencoded;charset=utf-8\",\n AUTHORIZATION_PENDING: \"authorization_pending\",\n NOT_DEFINED: \"not_defined\",\n EMPTY_STRING: \"\",\n FORWARD_SLASH: \"/\",\n IMDS_ENDPOINT: \"http://169.254.169.254/metadata/instance/compute/location\",\n IMDS_VERSION: \"2020-06-01\",\n IMDS_TIMEOUT: 2000,\n AZURE_REGION_AUTO_DISCOVER_FLAG: \"TryAutoDetect\",\n REGIONAL_AUTH_PUBLIC_CLOUD_SUFFIX: \"login.microsoft.com\",\n REGIONAL_AUTH_NON_MSI_QUERY_STRING: \"allowestsrnonmsi=true\",\n KNOWN_PUBLIC_CLOUDS: [\"login.microsoftonline.com\", \"login.windows.net\", \"login.microsoft.com\", \"sts.windows.net\"],\n TOKEN_RESPONSE_TYPE: \"token\",\n ID_TOKEN_RESPONSE_TYPE: \"id_token\",\n SHR_NONCE_VALIDITY: 240\n};\n\nexport const OIDC_DEFAULT_SCOPES = [\n Constants.OPENID_SCOPE,\n Constants.PROFILE_SCOPE,\n Constants.OFFLINE_ACCESS_SCOPE\n];\n\nexport const OIDC_SCOPES = [\n ...OIDC_DEFAULT_SCOPES,\n Constants.EMAIL_SCOPE\n];\n\n/**\n * Request header names\n */\nexport enum HeaderNames {\n CONTENT_TYPE = \"Content-Type\",\n RETRY_AFTER = \"Retry-After\",\n CCS_HEADER = \"X-AnchorMailbox\",\n WWWAuthenticate = \"WWW-Authenticate\",\n AuthenticationInfo = \"Authentication-Info\",\n X_MS_REQUEST_ID = \"x-ms-request-id\"\n}\n\n/**\n * Persistent cache keys MSAL which stay while user is logged in.\n */\nexport enum PersistentCacheKeys {\n ID_TOKEN = \"idtoken\",\n CLIENT_INFO = \"client.info\",\n ADAL_ID_TOKEN = \"adal.idtoken\",\n ERROR = \"error\",\n ERROR_DESC = \"error.description\",\n ACTIVE_ACCOUNT = \"active-account\", // Legacy active-account cache key, use new key instead\n ACTIVE_ACCOUNT_FILTERS = \"active-account-filters\" // new cache entry for active_account for a more robust version for browser\n}\n\n/**\n * String constants related to AAD Authority\n */\nexport enum AADAuthorityConstants {\n COMMON = \"common\",\n ORGANIZATIONS = \"organizations\",\n CONSUMERS = \"consumers\"\n}\n\n/**\n * Keys in the hashParams sent by AAD Server\n */\nexport enum AADServerParamKeys {\n CLIENT_ID = \"client_id\",\n REDIRECT_URI = \"redirect_uri\",\n RESPONSE_TYPE = \"response_type\",\n RESPONSE_MODE = \"response_mode\",\n GRANT_TYPE = \"grant_type\",\n CLAIMS = \"claims\",\n SCOPE = \"scope\",\n ERROR = \"error\",\n ERROR_DESCRIPTION = \"error_description\",\n ACCESS_TOKEN = \"access_token\",\n ID_TOKEN = \"id_token\",\n REFRESH_TOKEN = \"refresh_token\",\n EXPIRES_IN = \"expires_in\",\n STATE = \"state\",\n NONCE = \"nonce\",\n PROMPT = \"prompt\",\n SESSION_STATE = \"session_state\",\n CLIENT_INFO = \"client_info\",\n CODE = \"code\",\n CODE_CHALLENGE = \"code_challenge\",\n CODE_CHALLENGE_METHOD = \"code_challenge_method\",\n CODE_VERIFIER = \"code_verifier\",\n CLIENT_REQUEST_ID = \"client-request-id\",\n X_CLIENT_SKU = \"x-client-SKU\",\n X_CLIENT_VER = \"x-client-VER\",\n X_CLIENT_OS = \"x-client-OS\",\n X_CLIENT_CPU = \"x-client-CPU\",\n X_CLIENT_CURR_TELEM = \"x-client-current-telemetry\",\n X_CLIENT_LAST_TELEM = \"x-client-last-telemetry\",\n X_MS_LIB_CAPABILITY = \"x-ms-lib-capability\",\n X_APP_NAME = \"x-app-name\",\n X_APP_VER = \"x-app-ver\",\n POST_LOGOUT_URI = \"post_logout_redirect_uri\",\n ID_TOKEN_HINT = \"id_token_hint\",\n DEVICE_CODE = \"device_code\",\n CLIENT_SECRET = \"client_secret\",\n CLIENT_ASSERTION = \"client_assertion\",\n CLIENT_ASSERTION_TYPE = \"client_assertion_type\",\n TOKEN_TYPE = \"token_type\",\n REQ_CNF = \"req_cnf\",\n OBO_ASSERTION = \"assertion\",\n REQUESTED_TOKEN_USE = \"requested_token_use\",\n ON_BEHALF_OF = \"on_behalf_of\",\n FOCI = \"foci\",\n CCS_HEADER = \"X-AnchorMailbox\",\n RETURN_SPA_CODE = \"return_spa_code\",\n NATIVE_BROKER = \"nativebroker\",\n LOGOUT_HINT = \"logout_hint\"\n}\n\n/**\n * Claims request keys\n */\nexport enum ClaimsRequestKeys {\n ACCESS_TOKEN = \"access_token\",\n XMS_CC = \"xms_cc\"\n}\n\n/**\n * we considered making this \"enum\" in the request instead of string, however it looks like the allowed list of\n * prompt values kept changing over past couple of years. There are some undocumented prompt values for some\n * internal partners too, hence the choice of generic \"string\" type instead of the \"enum\"\n */\nexport const PromptValue = {\n LOGIN: \"login\",\n SELECT_ACCOUNT: \"select_account\",\n CONSENT: \"consent\",\n NONE: \"none\",\n CREATE: \"create\",\n NO_SESSION: \"no_session\"\n};\n\n/**\n * SSO Types - generated to populate hints\n */\nexport enum SSOTypes {\n ACCOUNT = \"account\",\n SID = \"sid\",\n LOGIN_HINT = \"login_hint\",\n ID_TOKEN = \"id_token\",\n DOMAIN_HINT = \"domain_hint\",\n ORGANIZATIONS = \"organizations\",\n CONSUMERS = \"consumers\",\n ACCOUNT_ID = \"accountIdentifier\",\n HOMEACCOUNT_ID = \"homeAccountIdentifier\"\n}\n\n/**\n * Disallowed extra query parameters.\n */\nexport const BlacklistedEQParams = [\n SSOTypes.SID,\n SSOTypes.LOGIN_HINT\n];\n\n/**\n * allowed values for codeVerifier\n */\nexport const CodeChallengeMethodValues = {\n PLAIN: \"plain\",\n S256: \"S256\"\n};\n\n/**\n * The method used to encode the code verifier for the code challenge parameter. can be one\n * of plain or s256. if excluded, code challenge is assumed to be plaintext. for more\n * information, see the pkce rcf: https://tools.ietf.org/html/rfc7636\n */\nexport const CodeChallengeMethodValuesArray: string[] = [\n CodeChallengeMethodValues.PLAIN,\n CodeChallengeMethodValues.S256\n];\n\n/**\n * allowed values for response_mode\n */\nexport enum ResponseMode {\n QUERY = \"query\",\n FRAGMENT = \"fragment\",\n FORM_POST = \"form_post\"\n}\n\n/**\n * allowed grant_type\n */\nexport enum GrantType {\n IMPLICIT_GRANT = \"implicit\",\n AUTHORIZATION_CODE_GRANT = \"authorization_code\",\n CLIENT_CREDENTIALS_GRANT = \"client_credentials\",\n RESOURCE_OWNER_PASSWORD_GRANT = \"password\",\n REFRESH_TOKEN_GRANT = \"refresh_token\",\n DEVICE_CODE_GRANT = \"device_code\",\n JWT_BEARER = \"urn:ietf:params:oauth:grant-type:jwt-bearer\"\n}\n\n/**\n * Account types in Cache\n */\nexport enum CacheAccountType {\n MSSTS_ACCOUNT_TYPE = \"MSSTS\",\n ADFS_ACCOUNT_TYPE = \"ADFS\",\n MSAV1_ACCOUNT_TYPE = \"MSA\",\n GENERIC_ACCOUNT_TYPE = \"Generic\" // NTLM, Kerberos, FBA, Basic etc\n}\n\n/**\n * Separators used in cache\n */\nexport enum Separators {\n CACHE_KEY_SEPARATOR = \"-\",\n CLIENT_INFO_SEPARATOR = \".\"\n}\n\n/**\n * Credential Type stored in the cache\n */\nexport enum CredentialType {\n ID_TOKEN = \"IdToken\",\n ACCESS_TOKEN = \"AccessToken\",\n ACCESS_TOKEN_WITH_AUTH_SCHEME = \"AccessToken_With_AuthScheme\",\n REFRESH_TOKEN = \"RefreshToken\",\n}\n\n/**\n * Credential Type stored in the cache\n */\nexport enum CacheSchemaType {\n ACCOUNT = \"Account\",\n CREDENTIAL = \"Credential\",\n ID_TOKEN = \"IdToken\",\n ACCESS_TOKEN = \"AccessToken\",\n REFRESH_TOKEN = \"RefreshToken\",\n APP_METADATA = \"AppMetadata\",\n TEMPORARY = \"TempCache\",\n TELEMETRY = \"Telemetry\",\n UNDEFINED = \"Undefined\",\n THROTTLING = \"Throttling\"\n}\n\n/**\n * Combine all cache types\n */\nexport enum CacheType {\n ADFS = 1001,\n MSA = 1002,\n MSSTS = 1003,\n GENERIC = 1004,\n ACCESS_TOKEN = 2001,\n REFRESH_TOKEN = 2002,\n ID_TOKEN = 2003,\n APP_METADATA = 3001,\n UNDEFINED = 9999\n}\n\n/**\n * More Cache related constants\n */\nexport const APP_METADATA = \"appmetadata\";\nexport const CLIENT_INFO = \"client_info\";\nexport const THE_FAMILY_ID = \"1\";\n\nexport const AUTHORITY_METADATA_CONSTANTS = {\n CACHE_KEY: \"authority-metadata\",\n REFRESH_TIME_SECONDS: 3600 * 24 // 24 Hours\n};\n\nexport enum AuthorityMetadataSource {\n CONFIG = \"config\",\n CACHE = \"cache\",\n NETWORK = \"network\",\n HARDCODED_VALUES= \"hardcoded_values\",\n}\n\nexport const SERVER_TELEM_CONSTANTS = {\n SCHEMA_VERSION: 5,\n MAX_CUR_HEADER_BYTES: 80, // ESTS limit is 100B, set to 80 to provide a 20B buffer\n MAX_LAST_HEADER_BYTES: 330, // ESTS limit is 350B, set to 330 to provide a 20B buffer,\n MAX_CACHED_ERRORS: 50, // Limit the number of errors that can be stored to prevent uncontrolled size gains\n CACHE_KEY: \"server-telemetry\",\n CATEGORY_SEPARATOR: \"|\",\n VALUE_SEPARATOR: \",\",\n OVERFLOW_TRUE: \"1\",\n OVERFLOW_FALSE: \"0\",\n UNKNOWN_ERROR: \"unknown_error\"\n};\n\n/**\n * Type of the authentication request\n */\nexport enum AuthenticationScheme {\n BEARER = \"Bearer\",\n POP = \"pop\",\n SSH = \"ssh-cert\"\n}\n\n/**\n * Constants related to throttling\n */\nexport const ThrottlingConstants = {\n // Default time to throttle RequestThumbprint in seconds\n DEFAULT_THROTTLE_TIME_SECONDS: 60,\n // Default maximum time to throttle in seconds, overrides what the server sends back\n DEFAULT_MAX_THROTTLE_TIME_SECONDS: 3600,\n // Prefix for storing throttling entries\n THROTTLING_PREFIX: \"throttling\",\n // Value assigned to the x-ms-lib-capability header to indicate to the server the library supports throttling\n X_MS_LIB_CAPABILITY_VALUE: \"retry-after, h429\"\n};\n\nexport const Errors = {\n INVALID_GRANT_ERROR: \"invalid_grant\",\n CLIENT_MISMATCH_ERROR: \"client_mismatch\",\n};\n\n/**\n * Password grant parameters\n */\nexport enum PasswordGrantConstants {\n username = \"username\",\n password = \"password\"\n}\n\n/**\n * Response codes\n */\nexport enum ResponseCodes {\n httpSuccess = 200,\n httpBadRequest = 400\n}\n\n/**\n * Region Discovery Sources\n */\nexport enum RegionDiscoverySources {\n FAILED_AUTO_DETECTION = \"1\",\n INTERNAL_CACHE = \"2\",\n ENVIRONMENT_VARIABLE = \"3\",\n IMDS = \"4\",\n}\n\n/**\n * Region Discovery Outcomes\n */\nexport enum RegionDiscoveryOutcomes {\n CONFIGURED_MATCHES_DETECTED = \"1\",\n CONFIGURED_NO_AUTO_DETECTION = \"2\",\n CONFIGURED_NOT_DETECTED = \"3\",\n AUTO_DETECTION_REQUESTED_SUCCESSFUL = \"4\",\n AUTO_DETECTION_REQUESTED_FAILED = \"5\"\n}\n\nexport enum CacheOutcome {\n NO_CACHE_HIT = \"0\",\n FORCE_REFRESH = \"1\",\n NO_CACHED_ACCESS_TOKEN = \"2\",\n CACHED_ACCESS_TOKEN_EXPIRED = \"3\",\n REFRESH_CACHED_ACCESS_TOKEN = \"4\"\n}\n\nexport enum JsonTypes {\n Jwt = \"JWT\",\n Jwk = \"JWK\"\n}\n\nexport const ONE_DAY_IN_MS = 86400000;\n","/*\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport { OIDC_DEFAULT_SCOPES } from \"@azure/msal-common\";\nimport { PopupRequest } from \"../request/PopupRequest\";\nimport { RedirectRequest } from \"../request/RedirectRequest\";\n\n/**\n * Constants\n */\nexport const BrowserConstants = {\n /**\n * Interaction in progress cache value\n */\n INTERACTION_IN_PROGRESS_VALUE: \"interaction_in_progress\",\n /**\n * Invalid grant error code\n */\n INVALID_GRANT_ERROR: \"invalid_grant\",\n /**\n * Default popup window width\n */\n POPUP_WIDTH: 483,\n /**\n * Default popup window height\n */\n POPUP_HEIGHT: 600,\n /**\n * Name of the popup window starts with\n */\n POPUP_NAME_PREFIX: \"msal\",\n /**\n * Default popup monitor poll interval in milliseconds\n */\n DEFAULT_POLL_INTERVAL_MS: 30,\n /**\n * Msal-browser SKU\n */\n MSAL_SKU: \"msal.js.browser\",\n};\n\nexport const NativeConstants = {\n CHANNEL_ID: \"53ee284d-920a-4b59-9d30-a60315b26836\",\n PREFERRED_EXTENSION_ID: \"ppnbnpeolgkicgegkbkbjmhlideopiji\",\n MATS_TELEMETRY: \"MATS\"\n};\n\nexport enum NativeExtensionMethod {\n HandshakeRequest = \"Handshake\",\n HandshakeResponse = \"HandshakeResponse\",\n GetToken = \"GetToken\",\n Response = \"Response\"\n}\n\nexport enum BrowserCacheLocation {\n LocalStorage = \"localStorage\",\n SessionStorage = \"sessionStorage\",\n MemoryStorage = \"memoryStorage\"\n}\n\n/**\n * HTTP Request types supported by MSAL.\n */\nexport enum HTTP_REQUEST_TYPE {\n GET = \"GET\",\n POST = \"POST\"\n}\n\n/**\n * Temporary cache keys for MSAL, deleted after any request.\n */\nexport enum TemporaryCacheKeys {\n AUTHORITY = \"authority\",\n ACQUIRE_TOKEN_ACCOUNT = \"acquireToken.account\",\n SESSION_STATE = \"session.state\",\n REQUEST_STATE = \"request.state\",\n NONCE_IDTOKEN = \"nonce.id_token\",\n ORIGIN_URI = \"request.origin\",\n RENEW_STATUS = \"token.renew.status\",\n URL_HASH = \"urlHash\",\n REQUEST_PARAMS = \"request.params\",\n SCOPES = \"scopes\",\n INTERACTION_STATUS_KEY = \"interaction.status\",\n CCS_CREDENTIAL = \"ccs.credential\",\n CORRELATION_ID = \"request.correlationId\",\n NATIVE_REQUEST = \"request.native\"\n}\n\n/**\n * Cache keys stored in-memory\n */\nexport enum InMemoryCacheKeys {\n WRAPPER_SKU = \"wrapper.sku\",\n WRAPPER_VER = \"wrapper.version\"\n}\n\n/**\n * API Codes for Telemetry purposes. \n * Before adding a new code you must claim it in the MSAL Telemetry tracker as these number spaces are shared across all MSALs\n * 0-99 Silent Flow\n * 800-899 Auth Code Flow\n */\nexport enum ApiId {\n acquireTokenRedirect = 861,\n acquireTokenPopup = 862,\n ssoSilent = 863,\n acquireTokenSilent_authCode = 864,\n handleRedirectPromise = 865,\n acquireTokenByCode = 866,\n acquireTokenSilent_silentFlow = 61,\n logout = 961,\n logoutPopup = 962\n}\n\n/*\n * Interaction type of the API - used for state and telemetry\n */\nexport enum InteractionType {\n Redirect = \"redirect\",\n Popup = \"popup\",\n Silent = \"silent\",\n None = \"none\"\n}\n\n/**\n * Types of interaction currently in progress.\n * Used in events in wrapper libraries to invoke functions when certain interaction is in progress or all interactions are complete.\n */\nexport enum InteractionStatus {\n /**\n * Initial status before interaction occurs\n */\n Startup = \"startup\",\n /**\n * Status set when all login calls occuring\n */\n Login = \"login\",\n /**\n * Status set when logout call occuring\n */ \n Logout = \"logout\",\n /**\n * Status set for acquireToken calls\n */\n AcquireToken = \"acquireToken\",\n /**\n * Status set for ssoSilent calls\n */\n SsoSilent = \"ssoSilent\",\n /**\n * Status set when handleRedirect in progress\n */\n HandleRedirect = \"handleRedirect\",\n /**\n * Status set when interaction is complete\n */\n None = \"none\"\n}\n\nexport const DEFAULT_REQUEST: RedirectRequest|PopupRequest = {\n scopes: OIDC_DEFAULT_SCOPES\n};\n\n/**\n * JWK Key Format string (Type MUST be defined for window crypto APIs)\n */\nexport const KEY_FORMAT_JWK = \"jwk\";\n\n// Supported wrapper SKUs\nexport enum WrapperSKU {\n React = \"@azure/msal-react\",\n Angular = \"@azure/msal-angular\"\n}\n\n// DatabaseStorage Constants\nexport const DB_NAME = \"msal.db\";\nexport const DB_VERSION = 1;\nexport const DB_TABLE_NAME = `${DB_NAME}.keys`;\n\nexport enum CacheLookupPolicy {\n /*\n * acquireTokenSilent will attempt to retrieve an access token from the cache. If the access token is expired\n * or cannot be found the refresh token will be used to acquire a new one. Finally, if the refresh token\n * is expired acquireTokenSilent will attempt to acquire new access and refresh tokens.\n */\n Default = 0, // 0 is falsy, is equivalent to not passing in a CacheLookupPolicy\n /*\n * acquireTokenSilent will only look for access tokens in the cache. It will not attempt to renew access or\n * refresh tokens.\n */\n AccessToken = 1,\n /*\n * acquireTokenSilent will attempt to retrieve an access token from the cache. If the access token is expired or\n * cannot be found, the refresh token will be used to acquire a new one. If the refresh token is expired, it\n * will not be renewed and acquireTokenSilent will fail.\n */\n AccessTokenAndRefreshToken = 2,\n /*\n * acquireTokenSilent will not attempt to retrieve access tokens from the cache and will instead attempt to\n * exchange the cached refresh token for a new access token. If the refresh token is expired, it will not be\n * renewed and acquireTokenSilent will fail.\n */\n RefreshToken = 3,\n /*\n * acquireTokenSilent will not look in the cache for the access token. It will go directly to network with the\n * cached refresh token. If the refresh token is expired an attempt will be made to renew it. This is equivalent to\n * setting \"forceRefresh: true\".\n */\n RefreshTokenAndNetwork = 4,\n /*\n * acquireTokenSilent will attempt to renew both access and refresh tokens. It will not look in the cache. This will\n * always fail if 3rd party cookies are blocked by the browser.\n */\n Skip = 5,\n}\n","/*\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport { Constants } from \"../utils/Constants\";\n\n/**\n * AuthErrorMessage class containing string constants used by error codes and messages.\n */\nexport const AuthErrorMessage = {\n unexpectedError: {\n code: \"unexpected_error\",\n desc: \"Unexpected error in authentication.\"\n },\n postRequestFailed: {\n code: \"post_request_failed\",\n desc: \"Post request failed from the network, could be a 4xx/5xx or a network unavailability. Please check the exact error code for details.\"\n }\n};\n\n/**\n * General error class thrown by the MSAL.js library.\n */\nexport class AuthError extends Error {\n\n /**\n * Short string denoting error\n */\n errorCode: string;\n\n /**\n * Detailed description of error\n */\n errorMessage: string;\n\n /**\n * Describes the subclass of an error\n */\n subError: string;\n\n /**\n * CorrelationId associated with the error\n */\n correlationId: string;\n\n constructor(errorCode?: string, errorMessage?: string, suberror?: string) {\n const errorString = errorMessage ? `${errorCode}: ${errorMessage}` : errorCode;\n super(errorString);\n Object.setPrototypeOf(this, AuthError.prototype);\n\n this.errorCode = errorCode || Constants.EMPTY_STRING;\n this.errorMessage = errorMessage || Constants.EMPTY_STRING;\n this.subError = suberror || Constants.EMPTY_STRING;\n this.name = \"AuthError\";\n }\n\n setCorrelationId(correlationId: string): void {\n this.correlationId = correlationId;\n }\n\n /**\n * Creates an error that is thrown when something unexpected happens in the library.\n * @param errDesc\n */\n static createUnexpectedError(errDesc: string): AuthError {\n return new AuthError(AuthErrorMessage.unexpectedError.code, `${AuthErrorMessage.unexpectedError.desc}: ${errDesc}`);\n }\n\n /**\n * Creates an error for post request failures.\n * @param errDesc \n * @returns \n */\n static createPostRequestFailed(errDesc: string): AuthError {\n return new AuthError(AuthErrorMessage.postRequestFailed.code, `${AuthErrorMessage.postRequestFailed.desc}: ${errDesc}`);\n }\n}\n","/*\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport { AuthError } from \"./AuthError\";\n\n/**\n * Error thrown when there is an error with the server code, for example, unavailability.\n */\nexport class ServerError extends AuthError {\n\n constructor(errorCode?: string, errorMessage?: string, subError?: string) {\n super(errorCode, errorMessage, subError);\n this.name = \"ServerError\";\n\n Object.setPrototypeOf(this, ServerError.prototype);\n }\n}\n","/*\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport { AuthError } from \"./AuthError\";\n\n/**\n * InteractionRequiredServerErrorMessage contains string constants used by error codes and messages returned by the server indicating interaction is required\n */\nexport const InteractionRequiredServerErrorMessage = [\n \"interaction_required\",\n \"consent_required\",\n \"login_required\"\n];\n\nexport const InteractionRequiredAuthSubErrorMessage = [\n \"message_only\",\n \"additional_action\",\n \"basic_action\",\n \"user_password_expired\",\n \"consent_required\"\n];\n\n/**\n * Interaction required errors defined by the SDK\n */\nexport const InteractionRequiredAuthErrorMessage = {\n noTokensFoundError: {\n code: \"no_tokens_found\",\n desc: \"No refresh token found in the cache. Please sign-in.\"\n },\n native_account_unavailable: {\n code: \"native_account_unavailable\",\n desc: \"The requested account is not available in the native broker. It may have been deleted or logged out. Please sign-in again using an interactive API.\"\n }\n};\n\n/**\n * Error thrown when user interaction is required.\n */\nexport class InteractionRequiredAuthError extends AuthError {\n\n constructor(errorCode?: string, errorMessage?: string, subError?: string) {\n super(errorCode, errorMessage, subError);\n this.name = \"InteractionRequiredAuthError\";\n\n Object.setPrototypeOf(this, InteractionRequiredAuthError.prototype);\n }\n\n /**\n * Helper function used to determine if an error thrown by the server requires interaction to resolve\n * @param errorCode \n * @param errorString \n * @param subError \n */\n static isInteractionRequiredError(errorCode?: string, errorString?: string, subError?: string): boolean {\n const isInteractionRequiredErrorCode = !!errorCode && InteractionRequiredServerErrorMessage.indexOf(errorCode) > -1;\n const isInteractionRequiredSubError = !!subError && InteractionRequiredAuthSubErrorMessage.indexOf(subError) > -1;\n const isInteractionRequiredErrorDesc = !!errorString && InteractionRequiredServerErrorMessage.some((irErrorCode) => {\n return errorString.indexOf(irErrorCode) > -1;\n });\n\n return isInteractionRequiredErrorCode || isInteractionRequiredErrorDesc || isInteractionRequiredSubError;\n }\n\n /**\n * Creates an error thrown when the authorization code required for a token request is null or empty.\n */\n static createNoTokensFoundError(): InteractionRequiredAuthError {\n return new InteractionRequiredAuthError(InteractionRequiredAuthErrorMessage.noTokensFoundError.code, InteractionRequiredAuthErrorMessage.noTokensFoundError.desc);\n }\n\n /**\n * Creates an error thrown when the native broker returns ACCOUNT_UNAVAILABLE status, indicating that the account was removed and interactive sign-in is required\n * @returns \n */\n static createNativeAccountUnavailableError(): InteractionRequiredAuthError {\n return new InteractionRequiredAuthError(InteractionRequiredAuthErrorMessage.native_account_unavailable.code, InteractionRequiredAuthErrorMessage.native_account_unavailable.desc);\n }\n}\n","/*\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport { AuthError } from \"./AuthError\";\n\n/**\n * ClientAuthErrorMessage class containing string constants used by error codes and messages.\n */\nexport const JoseHeaderErrorMessage = {\n missingKidError: {\n code: \"missing_kid_error\",\n desc: \"The JOSE Header for the requested JWT, JWS or JWK object requires a keyId to be configured as the 'kid' header claim. No 'kid' value was provided.\"\n },\n missingAlgError: {\n code: \"missing_alg_error\",\n desc: \"The JOSE Header for the requested JWT, JWS or JWK object requires an algorithm to be specified as the 'alg' header claim. No 'alg' value was provided.\"\n },\n};\n\n/**\n * Error thrown when there is an error in the client code running on the browser.\n */\nexport class JoseHeaderError extends AuthError {\n constructor(errorCode: string, errorMessage?: string) {\n super(errorCode, errorMessage);\n this.name = \"JoseHeaderError\";\n\n Object.setPrototypeOf(this, JoseHeaderError.prototype);\n }\n\n /**\n * Creates an error thrown when keyId isn't set on JOSE header.\n */\n static createMissingKidError(): JoseHeaderError {\n return new JoseHeaderError(JoseHeaderErrorMessage.missingKidError.code, JoseHeaderErrorMessage.missingKidError.desc);\n }\n\n /**\n * Creates an error thrown when algorithm isn't set on JOSE header.\n */\n static createMissingAlgError(): JoseHeaderError {\n return new JoseHeaderError(JoseHeaderErrorMessage.missingAlgError.code, JoseHeaderErrorMessage.missingAlgError.desc);\n }\n}\n","/*\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport { Logger } from \"@azure/msal-common\";\nimport { CachedKeyPair } from \"../crypto/CryptoOps\";\nimport { AsyncMemoryStorage } from \"./AsyncMemoryStorage\";\n\nexport enum CryptoKeyStoreNames {\n asymmetricKeys = \"asymmetricKeys\",\n symmetricKeys = \"symmetricKeys\"\n}\n/**\n * MSAL CryptoKeyStore DB Version 2\n */\nexport class CryptoKeyStore {\n public asymmetricKeys: AsyncMemoryStorage;\n public symmetricKeys: AsyncMemoryStorage;\n public logger: Logger;\n\n constructor(logger: Logger){\n this.logger = logger;\n this.asymmetricKeys = new AsyncMemoryStorage(this.logger, CryptoKeyStoreNames.asymmetricKeys);\n this.symmetricKeys = new AsyncMemoryStorage(this.logger, CryptoKeyStoreNames.symmetricKeys);\n }\n\n async clear(): Promise {\n // Delete in-memory keystores\n this.asymmetricKeys.clearInMemory();\n\t this.symmetricKeys.clearInMemory();\n\t\t\n /**\n * There is only one database, so calling clearPersistent on asymmetric keystore takes care of\n * every persistent keystore\n */\n try {\n await this.asymmetricKeys.clearPersistent();\n return true;\n } catch (e) {\n if (e instanceof Error) {\n this.logger.error(`Clearing keystore failed with error: ${e.message}`);\n } else {\n this.logger.error(\"Clearing keystore failed with unknown error\");\n }\n \n return false;\n }\n }\n}\n","/*\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport { JoseHeaderError } from \"../error/JoseHeaderError\";\nimport { JsonTypes } from \"../utils/Constants\";\n\nexport type JoseHeaderOptions = {\n typ?: JsonTypes,\n alg?: string,\n kid?: string\n};\n\nexport class JoseHeader {\n public typ?: JsonTypes;\n public alg?: string;\n public kid?: string;\n\n constructor (options: JoseHeaderOptions) {\n this.typ = options.typ;\n this.alg = options.alg;\n this.kid = options.kid;\n }\n\n /**\n * Builds SignedHttpRequest formatted JOSE Header from the\n * JOSE Header options provided or previously set on the object and returns\n * the stringified header object.\n * Throws if keyId or algorithm aren't provided since they are required for Access Token Binding.\n * @param shrHeaderOptions \n * @returns \n */\n static getShrHeaderString(shrHeaderOptions: JoseHeaderOptions): string {\n // KeyID is required on the SHR header\n if (!shrHeaderOptions.kid) {\n throw JoseHeaderError.createMissingKidError();\n }\n\n // Alg is required on the SHR header\n if (!shrHeaderOptions.alg) {\n throw JoseHeaderError.createMissingAlgError();\n }\n\n const shrHeader = new JoseHeader({\n // Access Token PoP headers must have type JWT, but the type header can be overriden for special cases\n typ: shrHeaderOptions.typ || JsonTypes.Jwt,\n kid: shrHeaderOptions.kid,\n alg: shrHeaderOptions.alg\n });\n\n return JSON.stringify(shrHeader);\n }\n}\n","/*\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License.\n */\n\n/**\n * Utility class for math specific functions in browser.\n */\nexport class MathUtils {\n\n /**\n * Decimal to Hex\n *\n * @param num\n */\n static decimalToHex(num: number): string {\n let hex: string = num.toString(16);\n while (hex.length < 2) {\n hex = \"0\" + hex;\n }\n return hex;\n }\n}\n","/*\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport { Constants , IGuidGenerator } from \"@azure/msal-common\";\nimport { MathUtils } from \"../utils/MathUtils\";\nimport { BrowserCrypto } from \"./BrowserCrypto\";\nexport class GuidGenerator implements IGuidGenerator {\n\n // browser crypto object used to generate random values\n private cryptoObj: BrowserCrypto;\n\n constructor(cryptoObj: BrowserCrypto) {\n this.cryptoObj = cryptoObj;\n }\n\n /*\n * RFC4122: The version 4 UUID is meant for generating UUIDs from truly-random or\n * pseudo-random numbers.\n * The algorithm is as follows:\n * Set the two most significant bits (bits 6 and 7) of the\n * clock_seq_hi_and_reserved to zero and one, respectively.\n * Set the four most significant bits (bits 12 through 15) of the\n * time_hi_and_version field to the 4-bit version number from\n * Section 4.1.3. Version4\n * Set all the other bits to randomly (or pseudo-randomly) chosen\n * values.\n * UUID = time-low \"-\" time-mid \"-\"time-high-and-version \"-\"clock-seq-reserved and low(2hexOctet)\"-\" node\n * time-low = 4hexOctet\n * time-mid = 2hexOctet\n * time-high-and-version = 2hexOctet\n * clock-seq-and-reserved = hexOctet:\n * clock-seq-low = hexOctet\n * node = 6hexOctet\n * Format: xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx\n * y could be 1000, 1001, 1010, 1011 since most significant two bits needs to be 10\n * y values are 8, 9, A, B\n */\n generateGuid(): string {\n try {\n const buffer: Uint8Array = new Uint8Array(16);\n this.cryptoObj.getRandomValues(buffer);\n\n // buffer[6] and buffer[7] represents the time_hi_and_version field. We will set the four most significant bits (4 through 7) of buffer[6] to represent decimal number 4 (UUID version number).\n buffer[6] |= 0x40; // buffer[6] | 01000000 will set the 6 bit to 1.\n buffer[6] &= 0x4f; // buffer[6] & 01001111 will set the 4, 5, and 7 bit to 0 such that bits 4-7 == 0100 = \"4\".\n\n // buffer[8] represents the clock_seq_hi_and_reserved field. We will set the two most significant bits (6 and 7) of the clock_seq_hi_and_reserved to zero and one, respectively.\n buffer[8] |= 0x80; // buffer[8] | 10000000 will set the 7 bit to 1.\n buffer[8] &= 0xbf; // buffer[8] & 10111111 will set the 6 bit to 0.\n\n return MathUtils.decimalToHex(buffer[0]) + MathUtils.decimalToHex(buffer[1])\n + MathUtils.decimalToHex(buffer[2]) + MathUtils.decimalToHex(buffer[3])\n + \"-\" + MathUtils.decimalToHex(buffer[4]) + MathUtils.decimalToHex(buffer[5])\n + \"-\" + MathUtils.decimalToHex(buffer[6]) + MathUtils.decimalToHex(buffer[7])\n + \"-\" + MathUtils.decimalToHex(buffer[8]) + MathUtils.decimalToHex(buffer[9])\n + \"-\" + MathUtils.decimalToHex(buffer[10]) + MathUtils.decimalToHex(buffer[11])\n + MathUtils.decimalToHex(buffer[12]) + MathUtils.decimalToHex(buffer[13])\n + MathUtils.decimalToHex(buffer[14]) + MathUtils.decimalToHex(buffer[15]);\n }\n catch (err) {\n const guidHolder: string = \"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx\";\n const hex: string = \"0123456789abcdef\";\n let r: number = 0;\n let guidResponse: string = Constants.EMPTY_STRING;\n for (let i: number = 0; i < 36; i++) {\n if (guidHolder[i] !== \"-\" && guidHolder[i] !== \"4\") {\n // each x and y needs to be random\n r = Math.random() * 16 | 0;\n }\n if (guidHolder[i] === \"x\") {\n guidResponse += hex[r];\n } else if (guidHolder[i] === \"y\") {\n // clock-seq-and-reserved first hex is filtered and remaining hex values are random\n r &= 0x3; // bit and with 0011 to set pos 2 to zero ?0??\n r |= 0x8; // set pos 3 to 1 as 1???\n guidResponse += hex[r];\n } else {\n guidResponse += guidHolder[i];\n }\n }\n return guidResponse;\n }\n }\n\n /**\n * verifies if a string is GUID\n * @param guid\n */\n isGuid(guid: string): boolean {\n const regexGuid = /^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i;\n return regexGuid.test(guid);\n }\n}\n","/*\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport { Constants } from \"@azure/msal-common\";\n\n/**\n * Utility functions for strings in a browser. See here for implementation details:\n * https://developer.mozilla.org/en-US/docs/Web/API/WindowBase64/Base64_encoding_and_decoding#Solution_2_%E2%80%93_JavaScript's_UTF-16_%3E_UTF-8_%3E_base64\n */\nexport class BrowserStringUtils {\n\n /**\n * Converts string to Uint8Array\n * @param sDOMStr \n */\n static stringToUtf8Arr (sDOMStr: string): Uint8Array {\n let nChr;\n let nArrLen = 0;\n const nStrLen = sDOMStr.length;\n /* mapping... */\n for (let nMapIdx = 0; nMapIdx < nStrLen; nMapIdx++) {\n nChr = sDOMStr.charCodeAt(nMapIdx);\n nArrLen += nChr < 0x80 ? 1 : nChr < 0x800 ? 2 : nChr < 0x10000 ? 3 : nChr < 0x200000 ? 4 : nChr < 0x4000000 ? 5 : 6;\n }\n\n const aBytes = new Uint8Array(nArrLen);\n\n /* transcription... */\n\n for (let nIdx = 0, nChrIdx = 0; nIdx < nArrLen; nChrIdx++) {\n nChr = sDOMStr.charCodeAt(nChrIdx);\n if (nChr < 128) {\n /* one byte */\n aBytes[nIdx++] = nChr;\n } else if (nChr < 0x800) {\n /* two bytes */\n aBytes[nIdx++] = 192 + (nChr >>> 6);\n aBytes[nIdx++] = 128 + (nChr & 63);\n } else if (nChr < 0x10000) {\n /* three bytes */\n aBytes[nIdx++] = 224 + (nChr >>> 12);\n aBytes[nIdx++] = 128 + (nChr >>> 6 & 63);\n aBytes[nIdx++] = 128 + (nChr & 63);\n } else if (nChr < 0x200000) {\n /* four bytes */\n aBytes[nIdx++] = 240 + (nChr >>> 18);\n aBytes[nIdx++] = 128 + (nChr >>> 12 & 63);\n aBytes[nIdx++] = 128 + (nChr >>> 6 & 63);\n aBytes[nIdx++] = 128 + (nChr & 63);\n } else if (nChr < 0x4000000) {\n /* five bytes */\n aBytes[nIdx++] = 248 + (nChr >>> 24);\n aBytes[nIdx++] = 128 + (nChr >>> 18 & 63);\n aBytes[nIdx++] = 128 + (nChr >>> 12 & 63);\n aBytes[nIdx++] = 128 + (nChr >>> 6 & 63);\n aBytes[nIdx++] = 128 + (nChr & 63);\n } else /* if (nChr <= 0x7fffffff) */ {\n /* six bytes */\n aBytes[nIdx++] = 252 + (nChr >>> 30);\n aBytes[nIdx++] = 128 + (nChr >>> 24 & 63);\n aBytes[nIdx++] = 128 + (nChr >>> 18 & 63);\n aBytes[nIdx++] = 128 + (nChr >>> 12 & 63);\n aBytes[nIdx++] = 128 + (nChr >>> 6 & 63);\n aBytes[nIdx++] = 128 + (nChr & 63);\n }\n }\n\n return aBytes; \n }\n\n /**\n * Converst string to ArrayBuffer\n * @param dataString \n */\n static stringToArrayBuffer(dataString: string): ArrayBuffer {\n const data = new ArrayBuffer(dataString.length);\n const dataView = new Uint8Array(data);\n for (let i: number = 0; i < dataString.length; i++) {\n dataView[i] = dataString.charCodeAt(i);\n }\n return data;\n }\n\n /**\n * Converts Uint8Array to a string\n * @param aBytes \n */\n static utf8ArrToString (aBytes: Uint8Array): string {\n let sView = Constants.EMPTY_STRING;\n for (let nPart, nLen = aBytes.length, nIdx = 0; nIdx < nLen; nIdx++) {\n nPart = aBytes[nIdx];\n sView += String.fromCharCode(\n nPart > 251 && nPart < 254 && nIdx + 5 < nLen ? /* six bytes */\n /* (nPart - 252 << 30) may be not so safe in ECMAScript! So...: */\n (nPart - 252) * 1073741824 + (aBytes[++nIdx] - 128 << 24) + (aBytes[++nIdx] - 128 << 18) + (aBytes[++nIdx] - 128 << 12) + (aBytes[++nIdx] - 128 << 6) + aBytes[++nIdx] - 128\n : nPart > 247 && nPart < 252 && nIdx + 4 < nLen ? /* five bytes */\n (nPart - 248 << 24) + (aBytes[++nIdx] - 128 << 18) + (aBytes[++nIdx] - 128 << 12) + (aBytes[++nIdx] - 128 << 6) + aBytes[++nIdx] - 128\n : nPart > 239 && nPart < 248 && nIdx + 3 < nLen ? /* four bytes */\n (nPart - 240 << 18) + (aBytes[++nIdx] - 128 << 12) + (aBytes[++nIdx] - 128 << 6) + aBytes[++nIdx] - 128\n : nPart > 223 && nPart < 240 && nIdx + 2 < nLen ? /* three bytes */\n (nPart - 224 << 12) + (aBytes[++nIdx] - 128 << 6) + aBytes[++nIdx] - 128\n : nPart > 191 && nPart < 224 && nIdx + 1 < nLen ? /* two bytes */\n (nPart - 192 << 6) + aBytes[++nIdx] - 128\n : /* nPart < 127 ? */ /* one byte */\n nPart\n );\n }\n return sView;\n }\n\n /**\n * Returns stringified jwk.\n * @param jwk \n */\n static getSortedObjectString(obj: object): string {\n return JSON.stringify(obj, Object.keys(obj).sort());\n }\n}\n","/*\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport { Constants } from \"@azure/msal-common\";\nimport { BrowserStringUtils } from \"../utils/BrowserStringUtils\";\n\n/**\n * Class which exposes APIs to encode plaintext to base64 encoded string. See here for implementation details:\n * https://developer.mozilla.org/en-US/docs/Web/API/WindowBase64/Base64_encoding_and_decoding#Solution_2_%E2%80%93_JavaScript's_UTF-16_%3E_UTF-8_%3E_base64\n */\nexport class Base64Encode {\n \n /**\n * Returns URL Safe b64 encoded string from a plaintext string.\n * @param input \n */\n urlEncode(input: string): string {\n return encodeURIComponent(this.encode(input)\n .replace(/=/g, Constants.EMPTY_STRING)\n .replace(/\\+/g, \"-\")\n .replace(/\\//g, \"_\"));\n }\n\n /**\n * Returns URL Safe b64 encoded string from an int8Array.\n * @param inputArr \n */\n urlEncodeArr(inputArr: Uint8Array): string {\n return this.base64EncArr(inputArr)\n .replace(/=/g, Constants.EMPTY_STRING)\n .replace(/\\+/g, \"-\")\n .replace(/\\//g, \"_\");\n }\n\n /**\n * Returns b64 encoded string from plaintext string.\n * @param input \n */\n encode(input: string): string {\n const inputUtf8Arr = BrowserStringUtils.stringToUtf8Arr(input);\n return this.base64EncArr(inputUtf8Arr);\n }\n\n /**\n * Base64 encode byte array\n * @param aBytes \n */\n private base64EncArr(aBytes: Uint8Array): string { \n const eqLen = (3 - (aBytes.length % 3)) % 3;\n let sB64Enc = Constants.EMPTY_STRING;\n \n for (let nMod3, nLen = aBytes.length, nUint24 = 0, nIdx = 0; nIdx < nLen; nIdx++) {\n nMod3 = nIdx % 3;\n /* Uncomment the following line in order to split the output in lines 76-character long: */\n /*\n *if (nIdx > 0 && (nIdx * 4 / 3) % 76 === 0) { sB64Enc += \"\\r\\n\"; }\n */\n nUint24 |= aBytes[nIdx] << (16 >>> nMod3 & 24);\n if (nMod3 === 2 || aBytes.length - nIdx === 1) {\n sB64Enc += String.fromCharCode(\n this.uint6ToB64(nUint24 >>> 18 & 63), \n this.uint6ToB64(nUint24 >>> 12 & 63), \n this.uint6ToB64(nUint24 >>> 6 & 63), \n this.uint6ToB64(nUint24 & 63)\n );\n nUint24 = 0;\n }\n }\n\n return eqLen === 0 ? sB64Enc : sB64Enc.substring(0, sB64Enc.length - eqLen) + (eqLen === 1 ? \"=\" : \"==\");\n }\n\n /**\n * Base64 string to array encoding helper\n * @param nUint6 \n */\n private uint6ToB64 (nUint6: number): number {\n return nUint6 < 26 ?\n nUint6 + 65\n : nUint6 < 52 ?\n nUint6 + 71\n : nUint6 < 62 ?\n nUint6 - 4\n : nUint6 === 62 ?\n 43\n : nUint6 === 63 ?\n 47\n :\n 65;\n }\n}\n","/*\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport { Constants } from \"@azure/msal-common\";\nimport { BrowserStringUtils } from \"../utils/BrowserStringUtils\";\n\n/**\n * Class which exposes APIs to decode base64 strings to plaintext. See here for implementation details:\n * https://developer.mozilla.org/en-US/docs/Web/API/WindowBase64/Base64_encoding_and_decoding#Solution_2_%E2%80%93_JavaScript's_UTF-16_%3E_UTF-8_%3E_base64\n */\nexport class Base64Decode {\n\n /**\n * Returns a URL-safe plaintext decoded string from b64 encoded input.\n * @param input \n */\n decode(input: string): string {\n let encodedString = input.replace(/-/g, \"+\").replace(/_/g, \"/\");\n switch (encodedString.length % 4) {\n case 0:\n break;\n case 2:\n encodedString += \"==\";\n break;\n case 3:\n encodedString += \"=\";\n break;\n default:\n throw new Error(\"Invalid base64 string\");\n }\n\n const inputUtf8Arr = this.base64DecToArr(encodedString);\n return BrowserStringUtils.utf8ArrToString(inputUtf8Arr);\n }\n\n /**\n * Decodes base64 into Uint8Array\n * @param base64String \n * @param nBlockSize \n */\n private base64DecToArr(base64String: string, nBlockSize?: number): Uint8Array {\n const sB64Enc = base64String.replace(/[^A-Za-z0-9\\+\\/]/g, Constants.EMPTY_STRING);\n const nInLen = sB64Enc.length;\n const nOutLen = nBlockSize ? Math.ceil((nInLen * 3 + 1 >>> 2) / nBlockSize) * nBlockSize : nInLen * 3 + 1 >>> 2;\n const aBytes = new Uint8Array(nOutLen);\n\n for (let nMod3, nMod4, nUint24 = 0, nOutIdx = 0, nInIdx = 0; nInIdx < nInLen; nInIdx++) {\n nMod4 = nInIdx & 3;\n nUint24 |= this.b64ToUint6(sB64Enc.charCodeAt(nInIdx)) << 18 - 6 * nMod4;\n if (nMod4 === 3 || nInLen - nInIdx === 1) {\n for (nMod3 = 0; nMod3 < 3 && nOutIdx < nOutLen; nMod3++, nOutIdx++) {\n aBytes[nOutIdx] = nUint24 >>> (16 >>> nMod3 & 24) & 255;\n }\n nUint24 = 0;\n }\n }\n\n return aBytes;\n }\n\n /**\n * Base64 string to array decoding helper\n * @param charNum \n */\n private b64ToUint6(charNum: number): number {\n return charNum > 64 && charNum < 91 ?\n charNum - 65\n : charNum > 96 && charNum < 123 ? \n charNum - 71\n : charNum > 47 && charNum < 58 ?\n charNum + 4\n : charNum === 43 ?\n 62\n : charNum === 47 ?\n 63\n :\n 0;\n }\n}\n","/*\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport { AuthError } from \"./AuthError\";\n\n/**\n * ClientAuthErrorMessage class containing string constants used by error codes and messages.\n */\nexport const ClientAuthErrorMessage = {\n clientInfoDecodingError: {\n code: \"client_info_decoding_error\",\n desc: \"The client info could not be parsed/decoded correctly. Please review the trace to determine the root cause.\"\n },\n clientInfoEmptyError: {\n code: \"client_info_empty_error\",\n desc: \"The client info was empty. Please review the trace to determine the root cause.\"\n },\n tokenParsingError: {\n code: \"token_parsing_error\",\n desc: \"Token cannot be parsed. Please review stack trace to determine root cause.\"\n },\n nullOrEmptyToken: {\n code: \"null_or_empty_token\",\n desc: \"The token is null or empty. Please review the trace to determine the root cause.\"\n },\n endpointResolutionError: {\n code: \"endpoints_resolution_error\",\n desc: \"Error: could not resolve endpoints. Please check network and try again.\"\n },\n networkError: {\n code: \"network_error\",\n desc: \"Network request failed. Please check network trace to determine root cause.\"\n },\n unableToGetOpenidConfigError: {\n code: \"openid_config_error\",\n desc: \"Could not retrieve endpoints. Check your authority and verify the .well-known/openid-configuration endpoint returns the required endpoints.\"\n },\n hashNotDeserialized: {\n code: \"hash_not_deserialized\",\n desc: \"The hash parameters could not be deserialized. Please review the trace to determine the root cause.\"\n },\n blankGuidGenerated: {\n code: \"blank_guid_generated\",\n desc: \"The guid generated was blank. Please review the trace to determine the root cause.\"\n },\n invalidStateError: {\n code: \"invalid_state\",\n desc: \"State was not the expected format. Please check the logs to determine whether the request was sent using ProtocolUtils.setRequestState().\"\n },\n stateMismatchError: {\n code: \"state_mismatch\",\n desc: \"State mismatch error. Please check your network. Continued requests may cause cache overflow.\"\n },\n stateNotFoundError: {\n code: \"state_not_found\",\n desc: \"State not found\"\n },\n nonceMismatchError: {\n code: \"nonce_mismatch\",\n desc: \"Nonce mismatch error. This may be caused by a race condition in concurrent requests.\"\n },\n nonceNotFoundError: {\n code: \"nonce_not_found\",\n desc: \"nonce not found\"\n },\n authTimeNotFoundError: {\n code: \"auth_time_not_found\",\n desc: \"Max Age was requested and the ID token is missing the auth_time variable.\" +\n \" auth_time is an optional claim and is not enabled by default - it must be enabled.\" +\n \" See https://aka.ms/msaljs/optional-claims for more information.\"\n },\n maxAgeTranspiredError: {\n code: \"max_age_transpired\",\n desc: \"Max Age is set to 0, or too much time has elapsed since the last end-user authentication.\"\n },\n noTokensFoundError: {\n code: \"no_tokens_found\",\n desc: \"No tokens were found for the given scopes, and no authorization code was passed to acquireToken. You must retrieve an authorization code before making a call to acquireToken().\"\n },\n multipleMatchingTokens: {\n code: \"multiple_matching_tokens\",\n desc: \"The cache contains multiple tokens satisfying the requirements. \" +\n \"Call AcquireToken again providing more requirements such as authority or account.\"\n },\n multipleMatchingAccounts: {\n code: \"multiple_matching_accounts\",\n desc: \"The cache contains multiple accounts satisfying the given parameters. Please pass more info to obtain the correct account\"\n },\n multipleMatchingAppMetadata: {\n code: \"multiple_matching_appMetadata\",\n desc: \"The cache contains multiple appMetadata satisfying the given parameters. Please pass more info to obtain the correct appMetadata\"\n },\n tokenRequestCannotBeMade: {\n code: \"request_cannot_be_made\",\n desc: \"Token request cannot be made without authorization code or refresh token.\"\n },\n appendEmptyScopeError: {\n code: \"cannot_append_empty_scope\",\n desc: \"Cannot append null or empty scope to ScopeSet. Please check the stack trace for more info.\"\n },\n removeEmptyScopeError: {\n code: \"cannot_remove_empty_scope\",\n desc: \"Cannot remove null or empty scope from ScopeSet. Please check the stack trace for more info.\"\n },\n appendScopeSetError: {\n code: \"cannot_append_scopeset\",\n desc: \"Cannot append ScopeSet due to error.\"\n },\n emptyInputScopeSetError: {\n code: \"empty_input_scopeset\",\n desc: \"Empty input ScopeSet cannot be processed.\"\n },\n DeviceCodePollingCancelled: {\n code: \"device_code_polling_cancelled\",\n desc: \"Caller has cancelled token endpoint polling during device code flow by setting DeviceCodeRequest.cancel = true.\"\n },\n DeviceCodeExpired: {\n code: \"device_code_expired\",\n desc: \"Device code is expired.\"\n },\n DeviceCodeUnknownError: {\n code: \"device_code_unknown_error\",\n desc: \"Device code stopped polling for unknown reasons.\"\n },\n NoAccountInSilentRequest: {\n code: \"no_account_in_silent_request\",\n desc: \"Please pass an account object, silent flow is not supported without account information\"\n },\n invalidCacheRecord: {\n code: \"invalid_cache_record\",\n desc: \"Cache record object was null or undefined.\"\n },\n invalidCacheEnvironment: {\n code: \"invalid_cache_environment\",\n desc: \"Invalid environment when attempting to create cache entry\"\n },\n noAccountFound: {\n code: \"no_account_found\",\n desc: \"No account found in cache for given key.\"\n },\n CachePluginError: {\n code: \"no cache plugin set on CacheManager\",\n desc: \"ICachePlugin needs to be set before using readFromStorage or writeFromStorage\"\n },\n noCryptoObj: {\n code: \"no_crypto_object\",\n desc: \"No crypto object detected. This is required for the following operation: \"\n },\n invalidCacheType: {\n code: \"invalid_cache_type\",\n desc: \"Invalid cache type\"\n },\n unexpectedAccountType: {\n code: \"unexpected_account_type\",\n desc: \"Unexpected account type.\"\n },\n unexpectedCredentialType: {\n code: \"unexpected_credential_type\",\n desc: \"Unexpected credential type.\"\n },\n invalidAssertion: {\n code: \"invalid_assertion\",\n desc: \"Client assertion must meet requirements described in https://tools.ietf.org/html/rfc7515\"\n },\n invalidClientCredential: {\n code: \"invalid_client_credential\",\n desc: \"Client credential (secret, certificate, or assertion) must not be empty when creating a confidential client. An application should at most have one credential\"\n },\n tokenRefreshRequired: {\n code: \"token_refresh_required\",\n desc: \"Cannot return token from cache because it must be refreshed. This may be due to one of the following reasons: forceRefresh parameter is set to true, claims have been requested, there is no cached access token or it is expired.\"\n },\n userTimeoutReached: {\n code: \"user_timeout_reached\",\n desc: \"User defined timeout for device code polling reached\",\n },\n tokenClaimsRequired: {\n code: \"token_claims_cnf_required_for_signedjwt\",\n desc: \"Cannot generate a POP jwt if the token_claims are not populated\"\n },\n noAuthorizationCodeFromServer: {\n code: \"authorization_code_missing_from_server_response\",\n desc: \"Server response does not contain an authorization code to proceed\"\n },\n noAzureRegionDetected: {\n code: \"no_azure_region_detected\",\n desc: \"No azure region was detected and no fallback was made available\"\n },\n accessTokenEntityNullError: {\n code: \"access_token_entity_null\",\n desc: \"Access token entity is null, please check logs and cache to ensure a valid access token is present.\"\n },\n bindingKeyNotRemovedError: {\n code: \"binding_key_not_removed\",\n desc: \"Could not remove the credential's binding key from storage.\"\n },\n logoutNotSupported: {\n code: \"end_session_endpoint_not_supported\",\n desc: \"Provided authority does not support logout.\"\n },\n keyIdMissing: {\n code: \"key_id_missing\",\n desc: \"A keyId value is missing from the requested bound token's cache record and is required to match the token to it's stored binding key.\"\n }\n};\n\n/**\n * Error thrown when there is an error in the client code running on the browser.\n */\nexport class ClientAuthError extends AuthError {\n\n constructor(errorCode: string, errorMessage?: string) {\n super(errorCode, errorMessage);\n this.name = \"ClientAuthError\";\n\n Object.setPrototypeOf(this, ClientAuthError.prototype);\n }\n\n /**\n * Creates an error thrown when client info object doesn't decode correctly.\n * @param caughtError\n */\n static createClientInfoDecodingError(caughtError: string): ClientAuthError {\n return new ClientAuthError(ClientAuthErrorMessage.clientInfoDecodingError.code,\n `${ClientAuthErrorMessage.clientInfoDecodingError.desc} Failed with error: ${caughtError}`);\n }\n\n /**\n * Creates an error thrown if the client info is empty.\n * @param rawClientInfo\n */\n static createClientInfoEmptyError(): ClientAuthError {\n return new ClientAuthError(ClientAuthErrorMessage.clientInfoEmptyError.code,\n `${ClientAuthErrorMessage.clientInfoEmptyError.desc}`);\n }\n\n /**\n * Creates an error thrown when the id token extraction errors out.\n * @param err\n */\n static createTokenParsingError(caughtExtractionError: string): ClientAuthError {\n return new ClientAuthError(ClientAuthErrorMessage.tokenParsingError.code,\n `${ClientAuthErrorMessage.tokenParsingError.desc} Failed with error: ${caughtExtractionError}`);\n }\n\n /**\n * Creates an error thrown when the id token string is null or empty.\n * @param invalidRawTokenString\n */\n static createTokenNullOrEmptyError(invalidRawTokenString: string): ClientAuthError {\n return new ClientAuthError(ClientAuthErrorMessage.nullOrEmptyToken.code,\n `${ClientAuthErrorMessage.nullOrEmptyToken.desc} Raw Token Value: ${invalidRawTokenString}`);\n }\n\n /**\n * Creates an error thrown when the endpoint discovery doesn't complete correctly.\n */\n static createEndpointDiscoveryIncompleteError(errDetail: string): ClientAuthError {\n return new ClientAuthError(ClientAuthErrorMessage.endpointResolutionError.code,\n `${ClientAuthErrorMessage.endpointResolutionError.desc} Detail: ${errDetail}`);\n }\n\n /**\n * Creates an error thrown when the fetch client throws\n */\n static createNetworkError(endpoint: string, errDetail: string): ClientAuthError {\n return new ClientAuthError(ClientAuthErrorMessage.networkError.code,\n `${ClientAuthErrorMessage.networkError.desc} | Fetch client threw: ${errDetail} | Attempted to reach: ${endpoint.split(\"?\")[0]}`);\n }\n\n /**\n * Creates an error thrown when the openid-configuration endpoint cannot be reached or does not contain the required data\n */\n static createUnableToGetOpenidConfigError(errDetail: string): ClientAuthError {\n return new ClientAuthError(ClientAuthErrorMessage.unableToGetOpenidConfigError.code,\n `${ClientAuthErrorMessage.unableToGetOpenidConfigError.desc} Attempted to retrieve endpoints from: ${errDetail}`);\n }\n\n /**\n * Creates an error thrown when the hash cannot be deserialized.\n * @param hashParamObj\n */\n static createHashNotDeserializedError(hashParamObj: string): ClientAuthError {\n return new ClientAuthError(ClientAuthErrorMessage.hashNotDeserialized.code,\n `${ClientAuthErrorMessage.hashNotDeserialized.desc} Given Object: ${hashParamObj}`);\n }\n\n /**\n * Creates an error thrown when the state cannot be parsed.\n * @param invalidState\n */\n static createInvalidStateError(invalidState: string, errorString?: string): ClientAuthError {\n return new ClientAuthError(ClientAuthErrorMessage.invalidStateError.code,\n `${ClientAuthErrorMessage.invalidStateError.desc} Invalid State: ${invalidState}, Root Err: ${errorString}`);\n }\n\n /**\n * Creates an error thrown when two states do not match.\n */\n static createStateMismatchError(): ClientAuthError {\n return new ClientAuthError(ClientAuthErrorMessage.stateMismatchError.code,\n ClientAuthErrorMessage.stateMismatchError.desc);\n }\n\n /**\n * Creates an error thrown when the state is not present\n * @param missingState\n */\n static createStateNotFoundError(missingState: string): ClientAuthError {\n return new ClientAuthError(ClientAuthErrorMessage.stateNotFoundError.code,\n `${ClientAuthErrorMessage.stateNotFoundError.desc}: ${missingState}`);\n }\n\n /**\n * Creates an error thrown when the nonce does not match.\n */\n static createNonceMismatchError(): ClientAuthError {\n return new ClientAuthError(ClientAuthErrorMessage.nonceMismatchError.code,\n ClientAuthErrorMessage.nonceMismatchError.desc);\n }\n\n /**\n * Creates an error thrown when max_age was provided in the request, but auth_time is not in the token claims\n * @param missingNonce\n */\n static createAuthTimeNotFoundError(): ClientAuthError {\n return new ClientAuthError(ClientAuthErrorMessage.authTimeNotFoundError.code,\n ClientAuthErrorMessage.authTimeNotFoundError.desc);\n }\n\n /**\n * Creates an error thrown when too much time has elapsed since the last end-user authentication\n */\n static createMaxAgeTranspiredError(): ClientAuthError {\n return new ClientAuthError(ClientAuthErrorMessage.maxAgeTranspiredError.code,\n ClientAuthErrorMessage.maxAgeTranspiredError.desc);\n }\n\n /**\n * Creates an error thrown when the mnonce is not present\n * @param missingNonce\n */\n static createNonceNotFoundError(missingNonce: string): ClientAuthError {\n return new ClientAuthError(ClientAuthErrorMessage.nonceNotFoundError.code,\n `${ClientAuthErrorMessage.nonceNotFoundError.desc}: ${missingNonce}`);\n }\n\n /**\n * Throws error when multiple tokens are in cache.\n */\n static createMultipleMatchingTokensInCacheError(): ClientAuthError {\n return new ClientAuthError(ClientAuthErrorMessage.multipleMatchingTokens.code,\n `${ClientAuthErrorMessage.multipleMatchingTokens.desc}.`);\n }\n\n /**\n * Throws error when multiple accounts are in cache for the given params\n */\n static createMultipleMatchingAccountsInCacheError(): ClientAuthError {\n return new ClientAuthError(ClientAuthErrorMessage.multipleMatchingAccounts.code,\n ClientAuthErrorMessage.multipleMatchingAccounts.desc);\n }\n\n /**\n * Throws error when multiple appMetada are in cache for the given clientId.\n */\n static createMultipleMatchingAppMetadataInCacheError(): ClientAuthError {\n return new ClientAuthError(ClientAuthErrorMessage.multipleMatchingAppMetadata.code,\n ClientAuthErrorMessage.multipleMatchingAppMetadata.desc);\n }\n\n /**\n * Throws error when no auth code or refresh token is given to ServerTokenRequestParameters.\n */\n static createTokenRequestCannotBeMadeError(): ClientAuthError {\n return new ClientAuthError(ClientAuthErrorMessage.tokenRequestCannotBeMade.code, ClientAuthErrorMessage.tokenRequestCannotBeMade.desc);\n }\n\n /**\n * Throws error when attempting to append a null, undefined or empty scope to a set\n * @param givenScope\n */\n static createAppendEmptyScopeToSetError(givenScope: string): ClientAuthError {\n return new ClientAuthError(ClientAuthErrorMessage.appendEmptyScopeError.code, `${ClientAuthErrorMessage.appendEmptyScopeError.desc} Given Scope: ${givenScope}`);\n }\n\n /**\n * Throws error when attempting to append a null, undefined or empty scope to a set\n * @param givenScope\n */\n static createRemoveEmptyScopeFromSetError(givenScope: string): ClientAuthError {\n return new ClientAuthError(ClientAuthErrorMessage.removeEmptyScopeError.code, `${ClientAuthErrorMessage.removeEmptyScopeError.desc} Given Scope: ${givenScope}`);\n }\n\n /**\n * Throws error when attempting to append null or empty ScopeSet.\n * @param appendError\n */\n static createAppendScopeSetError(appendError: string): ClientAuthError {\n return new ClientAuthError(ClientAuthErrorMessage.appendScopeSetError.code, `${ClientAuthErrorMessage.appendScopeSetError.desc} Detail Error: ${appendError}`);\n }\n\n /**\n * Throws error if ScopeSet is null or undefined.\n * @param givenScopeSet\n */\n static createEmptyInputScopeSetError(): ClientAuthError {\n return new ClientAuthError(ClientAuthErrorMessage.emptyInputScopeSetError.code, `${ClientAuthErrorMessage.emptyInputScopeSetError.desc}`);\n }\n\n /**\n * Throws error if user sets CancellationToken.cancel = true during polling of token endpoint during device code flow\n */\n static createDeviceCodeCancelledError(): ClientAuthError {\n return new ClientAuthError(ClientAuthErrorMessage.DeviceCodePollingCancelled.code, `${ClientAuthErrorMessage.DeviceCodePollingCancelled.desc}`);\n }\n\n /**\n * Throws error if device code is expired\n */\n static createDeviceCodeExpiredError(): ClientAuthError {\n return new ClientAuthError(ClientAuthErrorMessage.DeviceCodeExpired.code, `${ClientAuthErrorMessage.DeviceCodeExpired.desc}`);\n }\n\n /**\n * Throws error if device code is expired\n */\n static createDeviceCodeUnknownError(): ClientAuthError {\n return new ClientAuthError(ClientAuthErrorMessage.DeviceCodeUnknownError.code, `${ClientAuthErrorMessage.DeviceCodeUnknownError.desc}`);\n }\n\n /**\n * Throws error when silent requests are made without an account object\n */\n static createNoAccountInSilentRequestError(): ClientAuthError {\n return new ClientAuthError(ClientAuthErrorMessage.NoAccountInSilentRequest.code, `${ClientAuthErrorMessage.NoAccountInSilentRequest.desc}`);\n }\n\n /**\n * Throws error when cache record is null or undefined.\n */\n static createNullOrUndefinedCacheRecord(): ClientAuthError {\n return new ClientAuthError(ClientAuthErrorMessage.invalidCacheRecord.code, ClientAuthErrorMessage.invalidCacheRecord.desc);\n }\n\n /**\n * Throws error when provided environment is not part of the CloudDiscoveryMetadata object\n */\n static createInvalidCacheEnvironmentError(): ClientAuthError {\n return new ClientAuthError(ClientAuthErrorMessage.invalidCacheEnvironment.code, ClientAuthErrorMessage.invalidCacheEnvironment.desc);\n }\n\n /**\n * Throws error when account is not found in cache.\n */\n static createNoAccountFoundError(): ClientAuthError {\n return new ClientAuthError(ClientAuthErrorMessage.noAccountFound.code, ClientAuthErrorMessage.noAccountFound.desc);\n }\n\n /**\n * Throws error if ICachePlugin not set on CacheManager.\n */\n static createCachePluginError(): ClientAuthError {\n return new ClientAuthError(ClientAuthErrorMessage.CachePluginError.code, `${ClientAuthErrorMessage.CachePluginError.desc}`);\n }\n\n /**\n * Throws error if crypto object not found.\n * @param operationName\n */\n static createNoCryptoObjectError(operationName: string): ClientAuthError {\n return new ClientAuthError(ClientAuthErrorMessage.noCryptoObj.code, `${ClientAuthErrorMessage.noCryptoObj.desc}${operationName}`);\n }\n\n /**\n * Throws error if cache type is invalid.\n */\n static createInvalidCacheTypeError(): ClientAuthError {\n return new ClientAuthError(ClientAuthErrorMessage.invalidCacheType.code, `${ClientAuthErrorMessage.invalidCacheType.desc}`);\n }\n\n /**\n * Throws error if unexpected account type.\n */\n static createUnexpectedAccountTypeError(): ClientAuthError {\n return new ClientAuthError(ClientAuthErrorMessage.unexpectedAccountType.code, `${ClientAuthErrorMessage.unexpectedAccountType.desc}`);\n }\n\n /**\n * Throws error if unexpected credential type.\n */\n static createUnexpectedCredentialTypeError(): ClientAuthError {\n return new ClientAuthError(ClientAuthErrorMessage.unexpectedCredentialType.code, `${ClientAuthErrorMessage.unexpectedCredentialType.desc}`);\n }\n\n /**\n * Throws error if client assertion is not valid.\n */\n static createInvalidAssertionError(): ClientAuthError {\n return new ClientAuthError(ClientAuthErrorMessage.invalidAssertion.code, `${ClientAuthErrorMessage.invalidAssertion.desc}`);\n }\n\n /**\n * Throws error if client assertion is not valid.\n */\n static createInvalidCredentialError(): ClientAuthError {\n return new ClientAuthError(ClientAuthErrorMessage.invalidClientCredential.code, `${ClientAuthErrorMessage.invalidClientCredential.desc}`);\n }\n\n /**\n * Throws error if token cannot be retrieved from cache due to refresh being required.\n */\n static createRefreshRequiredError(): ClientAuthError {\n return new ClientAuthError(ClientAuthErrorMessage.tokenRefreshRequired.code, ClientAuthErrorMessage.tokenRefreshRequired.desc);\n }\n\n /**\n * Throws error if the user defined timeout is reached.\n */\n static createUserTimeoutReachedError(): ClientAuthError {\n return new ClientAuthError(ClientAuthErrorMessage.userTimeoutReached.code, ClientAuthErrorMessage.userTimeoutReached.desc);\n }\n\n /*\n * Throws error if token claims are not populated for a signed jwt generation\n */\n static createTokenClaimsRequiredError(): ClientAuthError {\n return new ClientAuthError(ClientAuthErrorMessage.tokenClaimsRequired.code, ClientAuthErrorMessage.tokenClaimsRequired.desc);\n }\n\n /**\n * Throws error when the authorization code is missing from the server response\n */\n static createNoAuthCodeInServerResponseError(): ClientAuthError {\n return new ClientAuthError(ClientAuthErrorMessage.noAuthorizationCodeFromServer.code, ClientAuthErrorMessage.noAuthorizationCodeFromServer.desc);\n }\n\n static createBindingKeyNotRemovedError(): ClientAuthError {\n return new ClientAuthError(ClientAuthErrorMessage.bindingKeyNotRemovedError.code, ClientAuthErrorMessage.bindingKeyNotRemovedError.desc);\n }\n\n /**\n * Thrown when logout is attempted for an authority that doesnt have an end_session_endpoint\n */\n static createLogoutNotSupportedError(): ClientAuthError {\n return new ClientAuthError(ClientAuthErrorMessage.logoutNotSupported.code, ClientAuthErrorMessage.logoutNotSupported.desc);\n }\n\n /**\n * Create an error when kid attribute is missing from a PoP token's cache record\n */\n static createKeyIdMissingError(): ClientAuthError {\n return new ClientAuthError(ClientAuthErrorMessage.keyIdMissing.code, ClientAuthErrorMessage.keyIdMissing.desc);\n }\n}\n","/*\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport { DecodedAuthToken } from \"../account/DecodedAuthToken\";\nimport { ClientAuthError } from \"../error/ClientAuthError\";\n\n/**\n * @hidden\n */\nexport class StringUtils {\n\n /**\n * decode a JWT\n *\n * @param authToken\n */\n static decodeAuthToken(authToken: string): DecodedAuthToken {\n if (StringUtils.isEmpty(authToken)) {\n throw ClientAuthError.createTokenNullOrEmptyError(authToken);\n }\n const tokenPartsRegex = /^([^\\.\\s]*)\\.([^\\.\\s]+)\\.([^\\.\\s]*)$/;\n const matches = tokenPartsRegex.exec(authToken);\n if (!matches || matches.length < 4) {\n throw ClientAuthError.createTokenParsingError(`Given token is malformed: ${JSON.stringify(authToken)}`);\n }\n const crackedToken: DecodedAuthToken = {\n header: matches[1],\n JWSPayload: matches[2],\n JWSSig: matches[3]\n };\n return crackedToken;\n }\n\n /**\n * Check if a string is empty.\n *\n * @param str\n */\n static isEmpty(str?: string): boolean {\n return (typeof str === \"undefined\" || !str || 0 === str.length);\n }\n\n /**\n * Check if stringified object is empty\n * @param strObj \n */\n static isEmptyObj(strObj?: string): boolean {\n if (strObj && !StringUtils.isEmpty(strObj)) {\n try {\n const obj = JSON.parse(strObj);\n return Object.keys(obj).length === 0;\n } catch (e) {}\n }\n return true;\n }\n\n static startsWith(str: string, search: string): boolean {\n return str.indexOf(search) === 0;\n }\n\n static endsWith(str: string, search: string): boolean {\n return (str.length >= search.length) && (str.lastIndexOf(search) === (str.length - search.length));\n }\n\n /**\n * Parses string into an object.\n *\n * @param query\n */\n static queryStringToObject(query: string): T {\n const obj: {} = {};\n const params = query.split(\"&\");\n const decode = (s: string) => decodeURIComponent(s.replace(/\\+/g, \" \"));\n params.forEach((pair) => {\n if (pair.trim()) {\n const [key, value] = pair.split(/=(.+)/g, 2); // Split on the first occurence of the '=' character\n if (key && value) {\n obj[decode(key)] = decode(value);\n }\n }\n });\n return obj as T;\n }\n\n /**\n * Trims entries in an array.\n *\n * @param arr\n */\n static trimArrayEntries(arr: Array): Array {\n return arr.map(entry => entry.trim());\n }\n\n /**\n * Removes empty strings from array\n * @param arr\n */\n static removeEmptyStringsFromArray(arr: Array): Array {\n return arr.filter(entry => {\n return !StringUtils.isEmpty(entry);\n });\n }\n\n /**\n * Attempts to parse a string into JSON\n * @param str\n */\n static jsonParseHelper(str: string): T | null {\n try {\n return JSON.parse(str) as T;\n } catch (e) {\n return null;\n }\n }\n\n /**\n * Tests if a given string matches a given pattern, with support for wildcards and queries.\n * @param pattern Wildcard pattern to string match. Supports \"*\" for wildcards and \"?\" for queries\n * @param input String to match against\n */\n static matchPattern(pattern: string, input: string): boolean {\n /**\n * Wildcard support: https://stackoverflow.com/a/3117248/4888559\n * Queries: replaces \"?\" in string with escaped \"\\?\" for regex test\n */\n const regex: RegExp = new RegExp(pattern.replace(/\\\\/g, \"\\\\\\\\\").replace(/\\*/g, \"[^ ]*\").replace(/\\?/g, \"\\\\\\?\")); // eslint-disable-line security/detect-non-literal-regexp\n\n return regex.test(input);\n }\n}\n","/*\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport { AuthError, StringUtils } from \"@azure/msal-common\";\n\n/**\n * BrowserAuthErrorMessage class containing string constants used by error codes and messages.\n */\nexport const BrowserAuthErrorMessage = {\n pkceNotGenerated: {\n code: \"pkce_not_created\",\n desc: \"The PKCE code challenge and verifier could not be generated.\"\n },\n cryptoDoesNotExist: {\n code: \"crypto_nonexistent\",\n desc: \"The crypto object or function is not available.\"\n },\n httpMethodNotImplementedError: {\n code: \"http_method_not_implemented\",\n desc: \"The HTTP method given has not been implemented in this library.\"\n },\n emptyNavigateUriError: {\n code: \"empty_navigate_uri\",\n desc: \"Navigation URI is empty. Please check stack trace for more info.\"\n },\n hashEmptyError: {\n code: \"hash_empty_error\",\n desc: \"Hash value cannot be processed because it is empty. Please verify that your redirectUri is not clearing the hash. For more visit: aka.ms/msaljs/browser-errors.\"\n },\n hashDoesNotContainStateError: {\n code: \"no_state_in_hash\",\n desc: \"Hash does not contain state. Please verify that the request originated from msal.\"\n },\n hashDoesNotContainKnownPropertiesError: {\n code: \"hash_does_not_contain_known_properties\",\n desc: \"Hash does not contain known properites. Please verify that your redirectUri is not changing the hash. For more visit: aka.ms/msaljs/browser-errors.\"\n },\n unableToParseStateError: {\n code: \"unable_to_parse_state\",\n desc: \"Unable to parse state. Please verify that the request originated from msal.\"\n },\n stateInteractionTypeMismatchError: {\n code: \"state_interaction_type_mismatch\",\n desc: \"Hash contains state but the interaction type does not match the caller.\"\n },\n interactionInProgress: {\n code: \"interaction_in_progress\",\n desc: \"Interaction is currently in progress. Please ensure that this interaction has been completed before calling an interactive API. For more visit: aka.ms/msaljs/browser-errors.\"\n },\n popupWindowError: {\n code: \"popup_window_error\",\n desc: \"Error opening popup window. This can happen if you are using IE or if popups are blocked in the browser.\"\n },\n emptyWindowError: {\n code: \"empty_window_error\",\n desc: \"window.open returned null or undefined window object.\"\n },\n userCancelledError: {\n code: \"user_cancelled\",\n desc: \"User cancelled the flow.\"\n },\n monitorPopupTimeoutError: {\n code: \"monitor_window_timeout\",\n desc: \"Token acquisition in popup failed due to timeout. For more visit: aka.ms/msaljs/browser-errors.\"\n },\n monitorIframeTimeoutError: {\n code: \"monitor_window_timeout\",\n desc: \"Token acquisition in iframe failed due to timeout. For more visit: aka.ms/msaljs/browser-errors.\"\n },\n redirectInIframeError: {\n code: \"redirect_in_iframe\",\n desc: \"Redirects are not supported for iframed or brokered applications. Please ensure you are using MSAL.js in a top frame of the window if using the redirect APIs, or use the popup APIs.\"\n },\n blockTokenRequestsInHiddenIframeError: {\n code: \"block_iframe_reload\",\n desc: \"Request was blocked inside an iframe because MSAL detected an authentication response. For more visit: aka.ms/msaljs/browser-errors\"\n },\n blockAcquireTokenInPopupsError: {\n code: \"block_nested_popups\",\n desc: \"Request was blocked inside a popup because MSAL detected it was running in a popup.\"\n },\n iframeClosedPrematurelyError: {\n code: \"iframe_closed_prematurely\",\n desc: \"The iframe being monitored was closed prematurely.\"\n },\n silentLogoutUnsupportedError: {\n code: \"silent_logout_unsupported\",\n desc: \"Silent logout not supported. Please call logoutRedirect or logoutPopup instead.\"\n },\n noAccountError: {\n code: \"no_account_error\",\n desc: \"No account object provided to acquireTokenSilent and no active account has been set. Please call setActiveAccount or provide an account on the request.\"\n },\n silentPromptValueError: {\n code: \"silent_prompt_value_error\",\n desc: \"The value given for the prompt value is not valid for silent requests - must be set to 'none' or 'no_session'.\"\n },\n noTokenRequestCacheError: {\n code: \"no_token_request_cache_error\",\n desc: \"No token request found in cache.\"\n },\n unableToParseTokenRequestCacheError: {\n code: \"unable_to_parse_token_request_cache_error\",\n desc: \"The cached token request could not be parsed.\"\n },\n noCachedAuthorityError: {\n code: \"no_cached_authority_error\",\n desc: \"No cached authority found.\"\n },\n authRequestNotSet: {\n code: \"auth_request_not_set_error\",\n desc: \"Auth Request not set. Please ensure initiateAuthRequest was called from the InteractionHandler\"\n },\n invalidCacheType: {\n code: \"invalid_cache_type\",\n desc: \"Invalid cache type\"\n },\n notInBrowserEnvironment: {\n code: \"non_browser_environment\",\n desc: \"Login and token requests are not supported in non-browser environments.\"\n },\n databaseNotOpen: {\n code: \"database_not_open\",\n desc: \"Database is not open!\"\n },\n noNetworkConnectivity: {\n code: \"no_network_connectivity\",\n desc: \"No network connectivity. Check your internet connection.\"\n },\n postRequestFailed: {\n code: \"post_request_failed\",\n desc: \"Network request failed: If the browser threw a CORS error, check that the redirectUri is registered in the Azure App Portal as type 'SPA'\"\n },\n getRequestFailed: {\n code: \"get_request_failed\",\n desc: \"Network request failed. Please check the network trace to determine root cause.\"\n },\n failedToParseNetworkResponse: {\n code: \"failed_to_parse_response\",\n desc: \"Failed to parse network response. Check network trace.\"\n },\n unableToLoadTokenError: {\n code: \"unable_to_load_token\",\n desc: \"Error loading token to cache.\"\n },\n signingKeyNotFoundInStorage: {\n code: \"crypto_key_not_found\",\n desc: \"Cryptographic Key or Keypair not found in browser storage.\"\n },\n authCodeRequired: {\n code: \"auth_code_required\",\n desc: \"An authorization code must be provided (as the `code` property on the request) to this flow.\"\n },\n authCodeOrNativeAccountRequired: {\n code: \"auth_code_or_nativeAccountId_required\",\n desc: \"An authorization code or nativeAccountId must be provided to this flow.\"\n },\n databaseUnavailable: {\n code: \"database_unavailable\",\n desc: \"IndexedDB, which is required for persistent cryptographic key storage, is unavailable. This may be caused by browser privacy features which block persistent storage in third-party contexts.\"\n },\n unableToAcquireTokenFromNativePlatform: {\n code: \"unable_to_acquire_token_from_native_platform\",\n desc: \"Unable to acquire token from native platform. For a list of possible reasons visit aka.ms/msaljs/browser-errors.\"\n },\n nativeHandshakeTimeout: {\n code: \"native_handshake_timeout\",\n desc: \"Timed out while attempting to establish connection to browser extension\"\n },\n nativeExtensionNotInstalled: {\n code: \"native_extension_not_installed\",\n desc: \"Native extension is not installed. If you think this is a mistake call the initialize function.\"\n },\n nativeConnectionNotEstablished: {\n code: \"native_connection_not_established\",\n desc: \"Connection to native platform has not been established. Please install a compatible browser extension and run initialize(). For more please visit aka.ms/msaljs/browser-errors.\"\n },\n nativeBrokerCalledBeforeInitialize: {\n code: \"native_broker_called_before_initialize\",\n desc: \"You must call and await the initialize function before attempting to call any other MSAL API when native brokering is enabled. For more please visit aka.ms/msaljs/browser-errors.\"\n },\n nativePromptNotSupported: {\n code: \"native_prompt_not_supported\",\n desc: \"The provided prompt is not supported by the native platform. This request should be routed to the web based flow.\"\n }\n};\n\n/**\n * Browser library error class thrown by the MSAL.js library for SPAs\n */\nexport class BrowserAuthError extends AuthError {\n\n constructor(errorCode: string, errorMessage?: string) {\n super(errorCode, errorMessage);\n\n Object.setPrototypeOf(this, BrowserAuthError.prototype);\n this.name = \"BrowserAuthError\";\n }\n\n /**\n * Creates an error thrown when PKCE is not implemented.\n * @param errDetail\n */\n static createPkceNotGeneratedError(errDetail: string): BrowserAuthError {\n return new BrowserAuthError(BrowserAuthErrorMessage.pkceNotGenerated.code,\n `${BrowserAuthErrorMessage.pkceNotGenerated.desc} Detail:${errDetail}`);\n }\n\n /**\n * Creates an error thrown when the crypto object is unavailable.\n * @param errDetail\n */\n static createCryptoNotAvailableError(errDetail: string): BrowserAuthError {\n return new BrowserAuthError(BrowserAuthErrorMessage.cryptoDoesNotExist.code,\n `${BrowserAuthErrorMessage.cryptoDoesNotExist.desc} Detail:${errDetail}`);\n }\n\n /**\n * Creates an error thrown when an HTTP method hasn't been implemented by the browser class.\n * @param method\n */\n static createHttpMethodNotImplementedError(method: string): BrowserAuthError {\n return new BrowserAuthError(BrowserAuthErrorMessage.httpMethodNotImplementedError.code,\n `${BrowserAuthErrorMessage.httpMethodNotImplementedError.desc} Given Method: ${method}`);\n }\n\n /**\n * Creates an error thrown when the navigation URI is empty.\n */\n static createEmptyNavigationUriError(): BrowserAuthError {\n return new BrowserAuthError(BrowserAuthErrorMessage.emptyNavigateUriError.code, BrowserAuthErrorMessage.emptyNavigateUriError.desc);\n }\n\n /**\n * Creates an error thrown when the hash string value is unexpectedly empty.\n * @param hashValue\n */\n static createEmptyHashError(hashValue: string): BrowserAuthError {\n return new BrowserAuthError(BrowserAuthErrorMessage.hashEmptyError.code, `${BrowserAuthErrorMessage.hashEmptyError.desc} Given Url: ${hashValue}`);\n }\n\n /**\n * Creates an error thrown when the hash string value is unexpectedly empty.\n */\n static createHashDoesNotContainStateError(): BrowserAuthError {\n return new BrowserAuthError(BrowserAuthErrorMessage.hashDoesNotContainStateError.code, BrowserAuthErrorMessage.hashDoesNotContainStateError.desc);\n }\n\n /**\n * Creates an error thrown when the hash string value does not contain known properties\n */\n static createHashDoesNotContainKnownPropertiesError(): BrowserAuthError {\n return new BrowserAuthError(BrowserAuthErrorMessage.hashDoesNotContainKnownPropertiesError.code, BrowserAuthErrorMessage.hashDoesNotContainKnownPropertiesError.desc);\n }\n\n /**\n * Creates an error thrown when the hash string value is unexpectedly empty.\n */\n static createUnableToParseStateError(): BrowserAuthError {\n return new BrowserAuthError(BrowserAuthErrorMessage.unableToParseStateError.code, BrowserAuthErrorMessage.unableToParseStateError.desc);\n }\n\n /**\n * Creates an error thrown when the state value in the hash does not match the interaction type of the API attempting to consume it.\n */\n static createStateInteractionTypeMismatchError(): BrowserAuthError {\n return new BrowserAuthError(BrowserAuthErrorMessage.stateInteractionTypeMismatchError.code, BrowserAuthErrorMessage.stateInteractionTypeMismatchError.desc);\n }\n\n /**\n * Creates an error thrown when a browser interaction (redirect or popup) is in progress.\n */\n static createInteractionInProgressError(): BrowserAuthError {\n return new BrowserAuthError(BrowserAuthErrorMessage.interactionInProgress.code, BrowserAuthErrorMessage.interactionInProgress.desc);\n }\n\n /**\n * Creates an error thrown when the popup window could not be opened.\n * @param errDetail\n */\n static createPopupWindowError(errDetail?: string): BrowserAuthError {\n let errorMessage = BrowserAuthErrorMessage.popupWindowError.desc;\n errorMessage = !StringUtils.isEmpty(errDetail) ? `${errorMessage} Details: ${errDetail}` : errorMessage;\n return new BrowserAuthError(BrowserAuthErrorMessage.popupWindowError.code, errorMessage);\n }\n\n /**\n * Creates an error thrown when window.open returns an empty window object.\n * @param errDetail\n */\n static createEmptyWindowCreatedError(): BrowserAuthError {\n return new BrowserAuthError(BrowserAuthErrorMessage.emptyWindowError.code, BrowserAuthErrorMessage.emptyWindowError.desc);\n }\n\n /**\n * Creates an error thrown when the user closes a popup.\n */\n static createUserCancelledError(): BrowserAuthError {\n return new BrowserAuthError(BrowserAuthErrorMessage.userCancelledError.code,\n BrowserAuthErrorMessage.userCancelledError.desc);\n }\n\n /**\n * Creates an error thrown when monitorPopupFromHash times out for a given popup.\n */\n static createMonitorPopupTimeoutError(): BrowserAuthError {\n return new BrowserAuthError(BrowserAuthErrorMessage.monitorPopupTimeoutError.code,\n BrowserAuthErrorMessage.monitorPopupTimeoutError.desc);\n }\n\n /**\n * Creates an error thrown when monitorIframeFromHash times out for a given iframe.\n */\n static createMonitorIframeTimeoutError(): BrowserAuthError {\n return new BrowserAuthError(BrowserAuthErrorMessage.monitorIframeTimeoutError.code,\n BrowserAuthErrorMessage.monitorIframeTimeoutError.desc);\n }\n\n /**\n * Creates an error thrown when navigateWindow is called inside an iframe or brokered applications.\n * @param windowParentCheck\n */\n static createRedirectInIframeError(windowParentCheck: boolean): BrowserAuthError {\n return new BrowserAuthError(BrowserAuthErrorMessage.redirectInIframeError.code,\n `${BrowserAuthErrorMessage.redirectInIframeError.desc} (window.parent !== window) => ${windowParentCheck}`);\n }\n\n /**\n * Creates an error thrown when an auth reload is done inside an iframe.\n */\n static createBlockReloadInHiddenIframeError(): BrowserAuthError {\n return new BrowserAuthError(BrowserAuthErrorMessage.blockTokenRequestsInHiddenIframeError.code,\n BrowserAuthErrorMessage.blockTokenRequestsInHiddenIframeError.desc);\n }\n\n /**\n * Creates an error thrown when a popup attempts to call an acquireToken API\n * @returns\n */\n static createBlockAcquireTokenInPopupsError(): BrowserAuthError {\n return new BrowserAuthError(BrowserAuthErrorMessage.blockAcquireTokenInPopupsError.code,\n BrowserAuthErrorMessage.blockAcquireTokenInPopupsError.desc);\n }\n\n /**\n * Creates an error thrown when an iframe is found to be closed before the timeout is reached.\n */\n static createIframeClosedPrematurelyError(): BrowserAuthError {\n return new BrowserAuthError(BrowserAuthErrorMessage.iframeClosedPrematurelyError.code, BrowserAuthErrorMessage.iframeClosedPrematurelyError.desc);\n }\n\n /**\n * Creates an error thrown when the logout API is called on any of the silent interaction clients\n */\n static createSilentLogoutUnsupportedError(): BrowserAuthError {\n return new BrowserAuthError(BrowserAuthErrorMessage.silentLogoutUnsupportedError.code, BrowserAuthErrorMessage.silentLogoutUnsupportedError.desc);\n }\n\n /**\n * Creates an error thrown when the account object is not provided in the acquireTokenSilent API.\n */\n static createNoAccountError(): BrowserAuthError {\n return new BrowserAuthError(BrowserAuthErrorMessage.noAccountError.code, BrowserAuthErrorMessage.noAccountError.desc);\n }\n\n /**\n * Creates an error thrown when a given prompt value is invalid for silent requests.\n */\n static createSilentPromptValueError(givenPrompt: string): BrowserAuthError {\n return new BrowserAuthError(BrowserAuthErrorMessage.silentPromptValueError.code, `${BrowserAuthErrorMessage.silentPromptValueError.desc} Given value: ${givenPrompt}`);\n }\n\n /**\n * Creates an error thrown when the cached token request could not be retrieved from the cache\n */\n static createUnableToParseTokenRequestCacheError(): BrowserAuthError {\n return new BrowserAuthError(BrowserAuthErrorMessage.unableToParseTokenRequestCacheError.code,\n BrowserAuthErrorMessage.unableToParseTokenRequestCacheError.desc);\n }\n\n /**\n * Creates an error thrown when the token request could not be retrieved from the cache\n */\n static createNoTokenRequestCacheError(): BrowserAuthError {\n return new BrowserAuthError(BrowserAuthErrorMessage.noTokenRequestCacheError.code,\n BrowserAuthErrorMessage.noTokenRequestCacheError.desc);\n }\n\n /**\n * Creates an error thrown when handleCodeResponse is called before initiateAuthRequest (InteractionHandler)\n */\n static createAuthRequestNotSetError(): BrowserAuthError {\n return new BrowserAuthError(BrowserAuthErrorMessage.authRequestNotSet.code,\n BrowserAuthErrorMessage.authRequestNotSet.desc);\n }\n\n /**\n * Creates an error thrown when the authority could not be retrieved from the cache\n */\n static createNoCachedAuthorityError(): BrowserAuthError {\n return new BrowserAuthError(BrowserAuthErrorMessage.noCachedAuthorityError.code,\n BrowserAuthErrorMessage.noCachedAuthorityError.desc);\n }\n\n /**\n * Creates an error thrown if cache type is invalid.\n */\n static createInvalidCacheTypeError(): BrowserAuthError {\n return new BrowserAuthError(BrowserAuthErrorMessage.invalidCacheType.code, `${BrowserAuthErrorMessage.invalidCacheType.desc}`);\n }\n\n /**\n * Create an error thrown when login and token requests are made from a non-browser environment\n */\n static createNonBrowserEnvironmentError(): BrowserAuthError {\n return new BrowserAuthError(BrowserAuthErrorMessage.notInBrowserEnvironment.code, BrowserAuthErrorMessage.notInBrowserEnvironment.desc);\n }\n\n /**\n * Create an error thrown when indexDB database is not open\n */\n static createDatabaseNotOpenError(): BrowserAuthError {\n return new BrowserAuthError(BrowserAuthErrorMessage.databaseNotOpen.code, BrowserAuthErrorMessage.databaseNotOpen.desc);\n }\n\n /**\n * Create an error thrown when token fetch fails due to no internet\n */\n static createNoNetworkConnectivityError(): BrowserAuthError {\n return new BrowserAuthError(BrowserAuthErrorMessage.noNetworkConnectivity.code, BrowserAuthErrorMessage.noNetworkConnectivity.desc);\n }\n\n /**\n * Create an error thrown when token fetch fails due to reasons other than internet connectivity\n */\n static createPostRequestFailedError(errorDesc: string, endpoint: string): BrowserAuthError {\n return new BrowserAuthError(BrowserAuthErrorMessage.postRequestFailed.code, `${BrowserAuthErrorMessage.postRequestFailed.desc} | Network client threw: ${errorDesc} | Attempted to reach: ${endpoint.split(\"?\")[0]}`);\n }\n\n /**\n * Create an error thrown when get request fails due to reasons other than internet connectivity\n */\n static createGetRequestFailedError(errorDesc: string, endpoint: string): BrowserAuthError {\n return new BrowserAuthError(BrowserAuthErrorMessage.getRequestFailed.code, `${BrowserAuthErrorMessage.getRequestFailed.desc} | Network client threw: ${errorDesc} | Attempted to reach: ${endpoint.split(\"?\")[0]}`);\n }\n\n /**\n * Create an error thrown when network client fails to parse network response\n */\n static createFailedToParseNetworkResponseError(endpoint: string): BrowserAuthError {\n return new BrowserAuthError(BrowserAuthErrorMessage.failedToParseNetworkResponse.code, `${BrowserAuthErrorMessage.failedToParseNetworkResponse.desc} | Attempted to reach: ${endpoint.split(\"?\")[0]}`);\n }\n\n /**\n * Create an error thrown when the necessary information is not available to sideload tokens\n */\n static createUnableToLoadTokenError(errorDetail: string): BrowserAuthError {\n return new BrowserAuthError(BrowserAuthErrorMessage.unableToLoadTokenError.code, `${BrowserAuthErrorMessage.unableToLoadTokenError.desc} | ${errorDetail}`);\n }\n\n /**\n * Create an error thrown when the queried cryptographic key is not found in IndexedDB\n */\n static createSigningKeyNotFoundInStorageError(keyId: string): BrowserAuthError {\n return new BrowserAuthError(BrowserAuthErrorMessage.signingKeyNotFoundInStorage.code, `${BrowserAuthErrorMessage.signingKeyNotFoundInStorage.desc} | No match found for KeyId: ${keyId}`);\n }\n\n /**\n * Create an error when an authorization code is required but not provided\n */\n static createAuthCodeRequiredError(): BrowserAuthError {\n return new BrowserAuthError(BrowserAuthErrorMessage.authCodeRequired.code, BrowserAuthErrorMessage.authCodeRequired.desc);\n }\n\n /**\n * Create an error when an authorization code or native account ID is required but not provided\n */\n static createAuthCodeOrNativeAccountIdRequiredError(): BrowserAuthError {\n return new BrowserAuthError(BrowserAuthErrorMessage.authCodeOrNativeAccountRequired.code, BrowserAuthErrorMessage.authCodeOrNativeAccountRequired.desc);\n }\n\n /**\n * Create an error when IndexedDB is unavailable\n */\n static createDatabaseUnavailableError(): BrowserAuthError {\n return new BrowserAuthError(BrowserAuthErrorMessage.databaseUnavailable.code, BrowserAuthErrorMessage.databaseUnavailable.desc);\n }\n\n /**\n * Create an error when native token acquisition is not possible\n */\n static createUnableToAcquireTokenFromNativePlatformError(): BrowserAuthError {\n return new BrowserAuthError(BrowserAuthErrorMessage.unableToAcquireTokenFromNativePlatform.code, BrowserAuthErrorMessage.unableToAcquireTokenFromNativePlatform.desc);\n }\n\n /**\n * Create an error thrown when Handshake with browser extension times out\n */\n static createNativeHandshakeTimeoutError(): BrowserAuthError {\n return new BrowserAuthError(BrowserAuthErrorMessage.nativeHandshakeTimeout.code, BrowserAuthErrorMessage.nativeHandshakeTimeout.desc);\n }\n\n /**\n * Create an error thrown when browser extension is not installed\n */\n static createNativeExtensionNotInstalledError(): BrowserAuthError {\n return new BrowserAuthError(BrowserAuthErrorMessage.nativeExtensionNotInstalled.code, BrowserAuthErrorMessage.nativeExtensionNotInstalled.desc);\n }\n\n /**\n * Create an error when native connection has not been established\n * @returns\n */\n static createNativeConnectionNotEstablishedError(): BrowserAuthError {\n return new BrowserAuthError(BrowserAuthErrorMessage.nativeConnectionNotEstablished.code, BrowserAuthErrorMessage.nativeConnectionNotEstablished.desc);\n }\n\n /**\n * Create an error thrown when the initialize function hasn't been called\n */\n static createNativeBrokerCalledBeforeInitialize(): BrowserAuthError {\n return new BrowserAuthError(BrowserAuthErrorMessage.nativeBrokerCalledBeforeInitialize.code, BrowserAuthErrorMessage.nativeBrokerCalledBeforeInitialize.desc);\n }\n\n /**\n * Create an error thrown when requesting a token directly from the native platform with an unsupported prompt parameter e.g. select_account, login or create\n * These requests must go through eSTS to ensure eSTS is aware of the new account\n */\n static createNativePromptParameterNotSupportedError(): BrowserAuthError {\n return new BrowserAuthError(BrowserAuthErrorMessage.nativePromptNotSupported.code, BrowserAuthErrorMessage.nativePromptNotSupported.desc);\n }\n}\n","/*\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport { PkceCodes } from \"@azure/msal-common\";\nimport { BrowserAuthError } from \"../error/BrowserAuthError\";\nimport { Base64Encode } from \"../encode/Base64Encode\";\nimport { BrowserCrypto } from \"./BrowserCrypto\";\n\n// Constant byte array length\nconst RANDOM_BYTE_ARR_LENGTH = 32;\n\n/**\n * Class which exposes APIs to generate PKCE codes and code verifiers.\n */\nexport class PkceGenerator {\n\n private base64Encode: Base64Encode;\n private cryptoObj: BrowserCrypto;\n\n constructor(cryptoObj: BrowserCrypto) {\n this.base64Encode = new Base64Encode();\n this.cryptoObj = cryptoObj;\n }\n\n /**\n * Generates PKCE Codes. See the RFC for more information: https://tools.ietf.org/html/rfc7636\n */\n async generateCodes(): Promise {\n const codeVerifier = this.generateCodeVerifier();\n const codeChallenge = await this.generateCodeChallengeFromVerifier(codeVerifier);\n return {\n verifier: codeVerifier,\n challenge: codeChallenge\n };\n }\n\n /**\n * Generates a random 32 byte buffer and returns the base64\n * encoded string to be used as a PKCE Code Verifier\n */\n private generateCodeVerifier(): string {\n try {\n // Generate random values as utf-8\n const buffer: Uint8Array = new Uint8Array(RANDOM_BYTE_ARR_LENGTH);\n this.cryptoObj.getRandomValues(buffer);\n // encode verifier as base64\n const pkceCodeVerifierB64: string = this.base64Encode.urlEncodeArr(buffer);\n return pkceCodeVerifierB64;\n } catch (e) {\n throw BrowserAuthError.createPkceNotGeneratedError(e);\n }\n }\n\n /**\n * Creates a base64 encoded PKCE Code Challenge string from the\n * hash created from the PKCE Code Verifier supplied\n */\n private async generateCodeChallengeFromVerifier(pkceCodeVerifier: string): Promise {\n try {\n // hashed verifier\n const pkceHashedCodeVerifier = await this.cryptoObj.sha256Digest(pkceCodeVerifier);\n // encode hash as base64\n return this.base64Encode.urlEncodeArr(new Uint8Array(pkceHashedCodeVerifier));\n } catch (e) {\n throw BrowserAuthError.createPkceNotGeneratedError(e);\n }\n }\n}\n","/*\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport { KEY_FORMAT_JWK } from \"../utils/BrowserConstants\";\nimport { ISubtleCrypto } from \"./ISubtleCrypto\";\n\nexport class ModernBrowserCrypto implements ISubtleCrypto {\n getRandomValues(dataBuffer: Uint8Array): Uint8Array {\n return window.crypto.getRandomValues(dataBuffer);\n }\n\n async generateKey(algorithm: RsaHashedKeyGenParams, extractable: boolean, keyUsages: KeyUsage[]): Promise {\n return window.crypto.subtle.generateKey(algorithm, extractable, keyUsages) as Promise;\n }\n\n async exportKey(key: CryptoKey): Promise {\n return window.crypto.subtle.exportKey(KEY_FORMAT_JWK, key) as Promise;\n }\n\n async importKey(keyData: JsonWebKey, algorithm: RsaHashedImportParams, extractable: boolean, keyUsages: KeyUsage[]): Promise {\n return window.crypto.subtle.importKey(KEY_FORMAT_JWK, keyData, algorithm, extractable, keyUsages) as Promise;\n }\n\n async sign(algorithm: AlgorithmIdentifier, key: CryptoKey, data: ArrayBuffer): Promise {\n return window.crypto.subtle.sign(algorithm, key, data) as Promise;\n }\n\n async digest(algorithm: AlgorithmIdentifier, data: Uint8Array): Promise {\n return window.crypto.subtle.digest(algorithm, data) as Promise;\n }\n}\n","/*\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport { KEY_FORMAT_JWK } from \"../utils/BrowserConstants\";\nimport { ISubtleCrypto } from \"./ISubtleCrypto\";\n\ndeclare global {\n interface Window {\n msrCrypto: Crypto & {\n initPrng: (entropy: Uint8Array | number[]) => void\n }\n }\n}\n\nexport class MsrBrowserCrypto implements ISubtleCrypto {\n initPrng(entropy : Uint8Array): void {\n // Turn into array, as initPrng seems to not always like Uint8Array (even though it should support both)\n return window.msrCrypto.initPrng([...entropy]);\n }\n\n getRandomValues(dataBuffer: Uint8Array): Uint8Array {\n return window.msrCrypto.getRandomValues(dataBuffer);\n }\n\n async generateKey(algorithm: RsaHashedKeyGenParams, extractable: boolean, keyUsages: KeyUsage[]): Promise {\n return window.msrCrypto.subtle.generateKey(algorithm, extractable, keyUsages) as Promise;\n }\n\n async exportKey(key: CryptoKey): Promise {\n return window.msrCrypto.subtle.exportKey(KEY_FORMAT_JWK, key) as Promise as Promise;\n }\n\n async importKey(keyData: JsonWebKey, algorithm: RsaHashedImportParams, extractable: boolean, keyUsages: KeyUsage[]): Promise {\n return window.msrCrypto.subtle.importKey(KEY_FORMAT_JWK, keyData, algorithm, extractable, keyUsages) as Promise;\n }\n\n async sign(algorithm: AlgorithmIdentifier, key: CryptoKey, data: ArrayBuffer): Promise {\n return window.msrCrypto.subtle.sign(algorithm, key, data) as Promise;\n }\n\n async digest(algorithm: AlgorithmIdentifier, data: Uint8Array): Promise {\n return window.msrCrypto.subtle.digest(algorithm, data) as Promise; \n }\n}\n","/*\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport { Constants } from \"@azure/msal-common\";\nimport { KEY_FORMAT_JWK } from \"../utils/BrowserConstants\";\nimport { BrowserStringUtils } from \"../utils/BrowserStringUtils\";\nimport { ISubtleCrypto } from \"./ISubtleCrypto\";\n\nexport class MsBrowserCrypto implements ISubtleCrypto {\n getRandomValues(dataBuffer: Uint8Array): Uint8Array {\n return window[\"msCrypto\"].getRandomValues(dataBuffer);\n }\n\n async generateKey(algorithm: RsaHashedKeyGenParams, extractable: boolean, keyUsages: KeyUsage[]): Promise {\n return new Promise((resolve: Function, reject: Function) => {\n const msGenerateKey = window[\"msCrypto\"].subtle.generateKey(algorithm, extractable, keyUsages);\n msGenerateKey.addEventListener(\"complete\", (e: { target: { result: CryptoKeyPair | PromiseLike; }; }) => {\n resolve(e.target.result);\n });\n\n msGenerateKey.addEventListener(\"error\", (error: string) => {\n reject(error);\n });\n });\n }\n\n async exportKey(key: CryptoKey): Promise {\n return new Promise((resolve: Function, reject: Function) => {\n const msExportKey = window[\"msCrypto\"].subtle.exportKey(KEY_FORMAT_JWK, key);\n msExportKey.addEventListener(\"complete\", (e: { target: { result: ArrayBuffer; }; }) => {\n const resultBuffer: ArrayBuffer = e.target.result;\n\n const resultString = BrowserStringUtils.utf8ArrToString(new Uint8Array(resultBuffer))\n .replace(/\\r/g, Constants.EMPTY_STRING)\n .replace(/\\n/g, Constants.EMPTY_STRING)\n .replace(/\\t/g, Constants.EMPTY_STRING)\n .split(\" \").join(Constants.EMPTY_STRING)\n .replace(\"\\u0000\", Constants.EMPTY_STRING);\n\n try {\n resolve(JSON.parse(resultString));\n } catch (e) {\n reject(e);\n }\n });\n\n msExportKey.addEventListener(\"error\", (error: string) => {\n reject(error);\n });\n });\n }\n\n async importKey(keyData: JsonWebKey, algorithm: RsaHashedImportParams, extractable: boolean, keyUsages: KeyUsage[]): Promise {\n const keyString = BrowserStringUtils.getSortedObjectString(keyData);\n const keyBuffer = BrowserStringUtils.stringToArrayBuffer(keyString);\n\n return new Promise((resolve: Function, reject: Function) => {\n const msImportKey = window[\"msCrypto\"].subtle.importKey(KEY_FORMAT_JWK, keyBuffer, algorithm, extractable, keyUsages);\n msImportKey.addEventListener(\"complete\", (e: { target: { result: CryptoKey | PromiseLike; }; }) => {\n resolve(e.target.result);\n });\n\n msImportKey.addEventListener(\"error\", (error: string) => {\n reject(error);\n });\n });\n }\n\n async sign(algorithm: AlgorithmIdentifier, key: CryptoKey, data: ArrayBuffer): Promise {\n return new Promise((resolve: Function, reject: Function) => {\n const msSign = window[\"msCrypto\"].subtle.sign(algorithm, key, data);\n msSign.addEventListener(\"complete\", (e: { target: { result: ArrayBuffer | PromiseLike; }; }) => {\n resolve(e.target.result);\n });\n\n msSign.addEventListener(\"error\", (error: string) => {\n reject(error);\n });\n });\n }\n \n async digest(algorithm: AlgorithmIdentifier, data: Uint8Array): Promise {\n return new Promise((resolve, reject) => {\n const digestOperation = window[\"msCrypto\"].subtle.digest(algorithm, data.buffer);\n digestOperation.addEventListener(\"complete\", (e: { target: { result: ArrayBuffer | PromiseLike; }; }) => {\n resolve(e.target.result);\n });\n digestOperation.addEventListener(\"error\", (error: string) => {\n reject(error);\n });\n });\n }\n}\n","/*\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport { AuthError } from \"@azure/msal-common\";\n\n/**\n * BrowserAuthErrorMessage class containing string constants used by error codes and messages.\n */\nexport const BrowserConfigurationAuthErrorMessage = {\n redirectUriNotSet: {\n code: \"redirect_uri_empty\",\n desc: \"A redirect URI is required for all calls, and none has been set.\"\n },\n postLogoutUriNotSet: {\n code: \"post_logout_uri_empty\",\n desc: \"A post logout redirect has not been set.\"\n },\n storageNotSupportedError: {\n code: \"storage_not_supported\",\n desc: \"Given storage configuration option was not supported.\"\n },\n noRedirectCallbacksSet: {\n code: \"no_redirect_callbacks\",\n desc: \"No redirect callbacks have been set. Please call setRedirectCallbacks() with the appropriate function arguments before continuing. \" +\n \"More information is available here: https://github.com/AzureAD/microsoft-authentication-library-for-js/wiki/MSAL-basics.\"\n },\n invalidCallbackObject: {\n code: \"invalid_callback_object\",\n desc: \"The object passed for the callback was invalid. \" +\n \"More information is available here: https://github.com/AzureAD/microsoft-authentication-library-for-js/wiki/MSAL-basics.\"\n },\n stubPcaInstanceCalled: {\n code: \"stubbed_public_client_application_called\",\n desc: \"Stub instance of Public Client Application was called. If using msal-react, please ensure context is not used without a provider. For more visit: aka.ms/msaljs/browser-errors\"\n },\n inMemRedirectUnavailable: {\n code: \"in_mem_redirect_unavailable\",\n desc: \"Redirect cannot be supported. In-memory storage was selected and storeAuthStateInCookie=false, which would cause the library to be unable to handle the incoming hash. If you would like to use the redirect API, please use session/localStorage or set storeAuthStateInCookie=true.\"\n },\n entropyNotProvided: {\n code: \"entropy_not_provided\",\n desc: \"The available browser crypto interface requires entropy set via system.cryptoOptions.entropy configuration option.\"\n }\n};\n\n/**\n * Browser library error class thrown by the MSAL.js library for SPAs\n */\nexport class BrowserConfigurationAuthError extends AuthError {\n\n constructor(errorCode: string, errorMessage?: string) {\n super(errorCode, errorMessage);\n this.name = \"BrowserConfigurationAuthError\";\n\n Object.setPrototypeOf(this, BrowserConfigurationAuthError.prototype);\n }\n\n /**\n * Creates an error thrown when the redirect uri is empty (not set by caller)\n */\n static createRedirectUriEmptyError(): BrowserConfigurationAuthError {\n return new BrowserConfigurationAuthError(BrowserConfigurationAuthErrorMessage.redirectUriNotSet.code,\n BrowserConfigurationAuthErrorMessage.redirectUriNotSet.desc);\n }\n\n /**\n * Creates an error thrown when the post-logout redirect uri is empty (not set by caller)\n */\n static createPostLogoutRedirectUriEmptyError(): BrowserConfigurationAuthError {\n return new BrowserConfigurationAuthError(BrowserConfigurationAuthErrorMessage.postLogoutUriNotSet.code,\n BrowserConfigurationAuthErrorMessage.postLogoutUriNotSet.desc);\n }\n\n /**\n * Creates error thrown when given storage location is not supported.\n * @param givenStorageLocation \n */\n static createStorageNotSupportedError(givenStorageLocation: string): BrowserConfigurationAuthError {\n return new BrowserConfigurationAuthError(BrowserConfigurationAuthErrorMessage.storageNotSupportedError.code, `${BrowserConfigurationAuthErrorMessage.storageNotSupportedError.desc} Given Location: ${givenStorageLocation}`);\n }\n\n /**\n * Creates error thrown when redirect callbacks are not set before calling loginRedirect() or acquireTokenRedirect().\n */\n static createRedirectCallbacksNotSetError(): BrowserConfigurationAuthError {\n return new BrowserConfigurationAuthError(BrowserConfigurationAuthErrorMessage.noRedirectCallbacksSet.code, \n BrowserConfigurationAuthErrorMessage.noRedirectCallbacksSet.desc);\n }\n\n /**\n * Creates error thrown when the stub instance of PublicClientApplication is called.\n */\n static createStubPcaInstanceCalledError(): BrowserConfigurationAuthError {\n return new BrowserConfigurationAuthError(BrowserConfigurationAuthErrorMessage.stubPcaInstanceCalled.code,\n BrowserConfigurationAuthErrorMessage.stubPcaInstanceCalled.desc);\n }\n\n /*\n * Create an error thrown when in-memory storage is used and storeAuthStateInCookie=false.\n */\n static createInMemoryRedirectUnavailableError(): BrowserConfigurationAuthError {\n return new BrowserConfigurationAuthError(BrowserConfigurationAuthErrorMessage.inMemRedirectUnavailable.code, BrowserConfigurationAuthErrorMessage.inMemRedirectUnavailable.desc);\n }\n \n /**\n * Creates an error thrown when a crypto interface that requires entropy is initialized without entropy\n */\n static createEntropyNotProvided(): BrowserConfigurationAuthError {\n return new BrowserConfigurationAuthError(BrowserConfigurationAuthErrorMessage.entropyNotProvided.code, BrowserConfigurationAuthErrorMessage.entropyNotProvided.desc);\n }\n}\n","/*\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport { BrowserStringUtils } from \"../utils/BrowserStringUtils\";\nimport { BrowserAuthError } from \"../error/BrowserAuthError\";\nimport { ISubtleCrypto } from \"./ISubtleCrypto\";\nimport { ModernBrowserCrypto } from \"./ModernBrowserCrypto\";\nimport { MsrBrowserCrypto } from \"./MsrBrowserCrypto\";\nimport { MsBrowserCrypto } from \"./MsBrowserCrypto\";\nimport { Logger } from \"@azure/msal-common\";\nimport { BrowserConfigurationAuthError } from \"../error/BrowserConfigurationAuthError\";\nimport { CryptoOptions } from \"../config/Configuration\";\n/**\n * See here for more info on RsaHashedKeyGenParams: https://developer.mozilla.org/en-US/docs/Web/API/RsaHashedKeyGenParams\n */\n// RSA KeyGen Algorithm\nconst PKCS1_V15_KEYGEN_ALG = \"RSASSA-PKCS1-v1_5\";\n// SHA-256 hashing algorithm\nconst S256_HASH_ALG = \"SHA-256\";\n// MOD length for PoP tokens\nconst MODULUS_LENGTH = 2048;\n// Public Exponent\nconst PUBLIC_EXPONENT: Uint8Array = new Uint8Array([0x01, 0x00, 0x01]);\n\n/**\n * This class implements functions used by the browser library to perform cryptography operations such as\n * hashing and encoding. It also has helper functions to validate the availability of specific APIs.\n */\nexport class BrowserCrypto {\n\n private keygenAlgorithmOptions: RsaHashedKeyGenParams;\n private subtleCrypto: ISubtleCrypto;\n private logger: Logger;\n private cryptoOptions?: CryptoOptions;\n\n constructor(logger: Logger, cryptoOptions?: CryptoOptions) {\n this.logger = logger;\n this.cryptoOptions = cryptoOptions;\n\n if (this.hasBrowserCrypto()) {\n // Use standard modern web crypto if available\n this.logger.verbose(\"BrowserCrypto: modern crypto interface available\");\n this.subtleCrypto = new ModernBrowserCrypto();\n } else if (this.hasIECrypto()) {\n // For IE11, use msCrypto interface\n this.logger.verbose(\"BrowserCrypto: MS crypto interface available\");\n this.subtleCrypto = new MsBrowserCrypto();\n } else if (this.hasMsrCrypto() && this.cryptoOptions?.useMsrCrypto) {\n // For other browsers, use MSR Crypto if found\n this.logger.verbose(\"BrowserCrypto: MSR crypto interface available\");\n this.subtleCrypto = new MsrBrowserCrypto();\n } else {\n if (this.hasMsrCrypto()) {\n this.logger.info(\"BrowserCrypto: MSR Crypto interface available but system.cryptoOptions.useMsrCrypto not enabled\");\n }\n this.logger.error(\"BrowserCrypto: No crypto interfaces available.\");\n throw BrowserAuthError.createCryptoNotAvailableError(\"Browser crypto, msCrypto, or msrCrypto interfaces not available.\");\n }\n\n // Mainly needed for MSR Crypto: https://github.com/microsoft/MSR-JavaScript-Crypto#random-number-generator-prng\n if (this.subtleCrypto.initPrng) {\n this.logger.verbose(\"BrowserCrypto: Interface requires entropy\");\n\n if (!this.cryptoOptions?.entropy) {\n this.logger.error(\"BrowserCrypto: Interface requires entropy but none provided.\");\n throw BrowserConfigurationAuthError.createEntropyNotProvided();\n }\n\n this.logger.verbose(\"BrowserCrypto: Entropy provided\");\n this.subtleCrypto.initPrng(this.cryptoOptions.entropy);\n }\n\n this.keygenAlgorithmOptions = {\n name: PKCS1_V15_KEYGEN_ALG,\n hash: S256_HASH_ALG,\n modulusLength: MODULUS_LENGTH,\n publicExponent: PUBLIC_EXPONENT\n };\n }\n\n /**\n * Check whether IE crypto or other browser cryptography is available.\n */\n private hasIECrypto(): boolean {\n return \"msCrypto\" in window;\n }\n\n /**\n * Check whether browser crypto is available.\n */\n private hasBrowserCrypto(): boolean {\n return \"crypto\" in window;\n }\n\n /**\n * Check whether MSR crypto polyfill is available\n */\n private hasMsrCrypto(): boolean {\n return \"msrCrypto\" in window;\n }\n\n /**\n * Returns a sha-256 hash of the given dataString as an ArrayBuffer.\n * @param dataString \n */\n async sha256Digest(dataString: string): Promise {\n const data = BrowserStringUtils.stringToUtf8Arr(dataString);\n // MSR Crypto wants object with name property, instead of string\n return this.subtleCrypto.digest({ name: S256_HASH_ALG }, data);\n }\n\n /**\n * Populates buffer with cryptographically random values.\n * @param dataBuffer \n */\n getRandomValues(dataBuffer: Uint8Array): Uint8Array {\n return this.subtleCrypto.getRandomValues(dataBuffer);\n }\n\n /**\n * Generates a keypair based on current keygen algorithm config.\n * @param extractable \n * @param usages \n */\n async generateKeyPair(extractable: boolean, usages: Array): Promise {\n return this.subtleCrypto.generateKey(this.keygenAlgorithmOptions, extractable, usages);\n }\n\n /**\n * Export key as Json Web Key (JWK)\n * @param key \n * @param format \n */\n async exportJwk(key: CryptoKey): Promise {\n return this.subtleCrypto.exportKey(key);\n }\n\n /**\n * Imports key as Json Web Key (JWK), can set extractable and usages.\n * @param key \n * @param format \n * @param extractable \n * @param usages \n */\n async importJwk(key: JsonWebKey, extractable: boolean, usages: Array): Promise {\n return this.subtleCrypto.importKey(key, this.keygenAlgorithmOptions, extractable, usages);\n }\n\n /**\n * Signs given data with given key\n * @param key \n * @param data \n */\n async sign(key: CryptoKey, data: ArrayBuffer): Promise {\n return this.subtleCrypto.sign(this.keygenAlgorithmOptions, key, data);\n }\n}\n","/*\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport { BrowserAuthError } from \"../error/BrowserAuthError\";\nimport { DB_NAME, DB_TABLE_NAME, DB_VERSION } from \"../utils/BrowserConstants\";\nimport { IAsyncStorage } from \"./IAsyncMemoryStorage\";\n\ninterface IDBOpenDBRequestEvent extends Event {\n target: IDBOpenDBRequest & EventTarget;\n}\n\ninterface IDBOpenOnUpgradeNeededEvent extends IDBVersionChangeEvent {\n target: IDBOpenDBRequest & EventTarget;\n}\n\ninterface IDBRequestEvent extends Event {\n target: IDBRequest & EventTarget;\n}\n\n/**\n * Storage wrapper for IndexedDB storage in browsers: https://developer.mozilla.org/en-US/docs/Web/API/IndexedDB_API\n */\nexport class DatabaseStorage implements IAsyncStorage {\n private db: IDBDatabase|undefined;\n private dbName: string;\n private tableName: string;\n private version: number;\n private dbOpen: boolean;\n\n constructor() {\n this.dbName = DB_NAME;\n this.version = DB_VERSION;\n this.tableName = DB_TABLE_NAME;\n this.dbOpen = false;\n }\n\n /**\n * Opens IndexedDB instance.\n */\n async open(): Promise {\n return new Promise((resolve, reject) => {\n const openDB = window.indexedDB.open(this.dbName, this.version);\n openDB.addEventListener(\"upgradeneeded\", (e: IDBVersionChangeEvent) => {\n const event = e as IDBOpenOnUpgradeNeededEvent;\n event.target.result.createObjectStore(this.tableName);\n });\n openDB.addEventListener(\"success\", (e: Event) => {\n const event = e as IDBOpenDBRequestEvent;\n this.db = event.target.result;\n this.dbOpen = true;\n resolve();\n });\n openDB.addEventListener(\"error\", () => reject(BrowserAuthError.createDatabaseUnavailableError()));\n });\n }\n\n /**\n * Closes the connection to IndexedDB database when all pending transactions\n * complete.\n */\n closeConnection(): void {\n const db = this.db;\n if (db && this.dbOpen) {\n db.close();\n this.dbOpen = false;\n }\n }\n\n /**\n * Opens database if it's not already open\n */\n private async validateDbIsOpen(): Promise {\n if (!this.dbOpen) {\n return await this.open();\n }\n }\n\n /**\n * Retrieves item from IndexedDB instance.\n * @param key \n */\n async getItem(key: string): Promise {\n await this.validateDbIsOpen();\n return new Promise((resolve, reject) => {\n // TODO: Add timeouts?\n if (!this.db) {\n return reject(BrowserAuthError.createDatabaseNotOpenError());\n }\n const transaction = this.db.transaction([this.tableName], \"readonly\");\n const objectStore = transaction.objectStore(this.tableName);\n const dbGet = objectStore.get(key);\n \n dbGet.addEventListener(\"success\", (e: Event) => {\n const event = e as IDBRequestEvent;\n this.closeConnection();\n resolve(event.target.result);\n });\n\n dbGet.addEventListener(\"error\", (e: Event) => {\n this.closeConnection();\n reject(e);\n });\n });\n }\n\n /**\n * Adds item to IndexedDB under given key\n * @param key \n * @param payload \n */\n async setItem(key: string, payload: T): Promise {\n await this.validateDbIsOpen();\n return new Promise((resolve: Function, reject: Function) => {\n // TODO: Add timeouts?\n if (!this.db) {\n return reject(BrowserAuthError.createDatabaseNotOpenError());\n }\n const transaction = this.db.transaction([this.tableName], \"readwrite\");\n\n const objectStore = transaction.objectStore(this.tableName);\n\n const dbPut = objectStore.put(payload, key);\n\n dbPut.addEventListener(\"success\", () => {\n this.closeConnection();\n resolve();\n });\n\n dbPut.addEventListener(\"error\", (e) => {\n this.closeConnection();\n reject(e);\n });\n });\n }\n\n /**\n * Removes item from IndexedDB under given key\n * @param key\n */\n async removeItem(key: string): Promise {\n await this.validateDbIsOpen();\n return new Promise((resolve: Function, reject: Function) => {\n if (!this.db) {\n return reject(BrowserAuthError.createDatabaseNotOpenError());\n }\n\n const transaction = this.db.transaction([this.tableName], \"readwrite\");\n const objectStore = transaction.objectStore(this.tableName);\n const dbDelete = objectStore.delete(key);\n\n dbDelete.addEventListener(\"success\", () => {\n this.closeConnection();\n resolve();\n });\n\n dbDelete.addEventListener(\"error\", (e) => {\n this.closeConnection();\n reject(e);\n });\n });\n }\n\n /**\n * Get all the keys from the storage object as an iterable array of strings.\n */\n async getKeys(): Promise {\n await this.validateDbIsOpen();\n return new Promise((resolve: Function, reject: Function) => {\n if (!this.db) {\n return reject(BrowserAuthError.createDatabaseNotOpenError());\n }\n\n const transaction = this.db.transaction([this.tableName], \"readonly\");\n const objectStore = transaction.objectStore(this.tableName);\n const dbGetKeys = objectStore.getAllKeys();\n\n dbGetKeys.addEventListener(\"success\", (e: Event) => {\n const event = e as IDBRequestEvent;\n this.closeConnection();\n resolve(event.target.result);\n });\n\n dbGetKeys.addEventListener(\"error\", (e: Event) => {\n this.closeConnection();\n reject(e);\n });\n });\n }\n\n /**\n * \n * Checks whether there is an object under the search key in the object store\n */\n async containsKey(key: string): Promise {\n await this.validateDbIsOpen();\n\n return new Promise((resolve: Function, reject: Function) => {\n if (!this.db) {\n return reject(BrowserAuthError.createDatabaseNotOpenError());\n }\n\n const transaction = this.db.transaction([this.tableName], \"readonly\");\n const objectStore = transaction.objectStore(this.tableName);\n const dbContainsKey = objectStore.count(key);\n\n dbContainsKey.addEventListener(\"success\", (e: Event) => {\n const event = e as IDBRequestEvent;\n this.closeConnection();\n resolve(event.target.result === 1);\n });\n\n dbContainsKey.addEventListener(\"error\", (e: Event) => {\n this.closeConnection();\n reject(e);\n });\n });\n }\n\n /**\n * Deletes the MSAL database. The database is deleted rather than cleared to make it possible\n * for client applications to downgrade to a previous MSAL version without worrying about forward compatibility issues\n * with IndexedDB database versions.\n */\n async deleteDatabase(): Promise {\n // Check if database being deleted exists\n\n if (this.db && this.dbOpen) {\n this.closeConnection();\n }\n\n return new Promise((resolve: Function, reject: Function) => {\n const deleteDbRequest = window.indexedDB.deleteDatabase(DB_NAME);\n deleteDbRequest.addEventListener(\"success\", () => resolve(true));\n deleteDbRequest.addEventListener(\"blocked\", () => resolve(true));\n deleteDbRequest.addEventListener(\"error\", () => reject(false));\n });\n }\n}\n","/*\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport { IWindowStorage } from \"./IWindowStorage\";\n\nexport class MemoryStorage implements IWindowStorage {\n\n private cache: Map;\n\n constructor() {\n this.cache = new Map();\n }\n\n getItem(key: string): T | null {\n return this.cache.get(key) || null;\n }\n\n setItem(key: string, value: T): void {\n this.cache.set(key, value);\n }\n\n removeItem(key: string): void {\n this.cache.delete(key);\n }\n\n getKeys(): string[] {\n const cacheKeys: string[] = [];\n this.cache.forEach((value: T, key: string) => {\n cacheKeys.push(key);\n });\n return cacheKeys;\n }\n\n containsKey(key: string): boolean {\n return this.cache.has(key);\n }\n\n clear() :void {\n this.cache.clear();\n }\n}\n","/*\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport { Logger } from \"@azure/msal-common\";\nimport { BrowserAuthError, BrowserAuthErrorMessage } from \"../error/BrowserAuthError\";\nimport { DatabaseStorage } from \"./DatabaseStorage\";\nimport { IAsyncStorage } from \"./IAsyncMemoryStorage\";\nimport { MemoryStorage } from \"./MemoryStorage\";\n\n/**\n * This class allows MSAL to store artifacts asynchronously using the DatabaseStorage IndexedDB wrapper,\n * backed up with the more volatile MemoryStorage object for cases in which IndexedDB may be unavailable.\n */\nexport class AsyncMemoryStorage implements IAsyncStorage {\n private inMemoryCache: MemoryStorage;\n private indexedDBCache: DatabaseStorage;\n private logger: Logger;\n private storeName: string;\n\n constructor(logger: Logger, storeName: string) {\n this.inMemoryCache = new MemoryStorage();\n this.indexedDBCache = new DatabaseStorage();\n this.logger = logger;\n this.storeName = storeName;\n }\n\n private handleDatabaseAccessError(error: unknown): void {\n if (error instanceof BrowserAuthError && error.errorCode === BrowserAuthErrorMessage.databaseUnavailable.code) {\n this.logger.error(\"Could not access persistent storage. This may be caused by browser privacy features which block persistent storage in third-party contexts.\");\n } else {\n throw error;\n }\n }\n /**\n * Get the item matching the given key. Tries in-memory cache first, then in the asynchronous\n * storage object if item isn't found in-memory.\n * @param key \n */\n async getItem(key: string): Promise {\n const item = this.inMemoryCache.getItem(key);\n if(!item) {\n try {\n this.logger.verbose(\"Queried item not found in in-memory cache, now querying persistent storage.\");\n return await this.indexedDBCache.getItem(key);\n } catch (e) {\n this.handleDatabaseAccessError(e);\n }\n }\n return item;\n }\n\n /**\n * Sets the item in the in-memory cache and then tries to set it in the asynchronous\n * storage object with the given key.\n * @param key \n * @param value \n */\n async setItem(key: string, value: T): Promise {\n this.inMemoryCache.setItem(key, value);\n try {\n await this.indexedDBCache.setItem(key, value);\n } catch (e) {\n this.handleDatabaseAccessError(e);\n }\n }\n\n /**\n * Removes the item matching the key from the in-memory cache, then tries to remove it from the asynchronous storage object.\n * @param key \n */\n async removeItem(key: string): Promise {\n this.inMemoryCache.removeItem(key);\n try {\n await this.indexedDBCache.removeItem(key);\n } catch (e) {\n this.handleDatabaseAccessError(e);\n }\n }\n\n /**\n * Get all the keys from the in-memory cache as an iterable array of strings. If no keys are found, query the keys in the \n * asynchronous storage object.\n */\n async getKeys(): Promise {\n const cacheKeys = this.inMemoryCache.getKeys();\n if (cacheKeys.length === 0) {\n try {\n this.logger.verbose(\"In-memory cache is empty, now querying persistent storage.\");\n return await this.indexedDBCache.getKeys();\n } catch (e) {\n this.handleDatabaseAccessError(e);\n }\n }\n return cacheKeys;\n }\n\n /**\n * Returns true or false if the given key is present in the cache.\n * @param key \n */\n async containsKey(key: string): Promise {\n const containsKey = this.inMemoryCache.containsKey(key);\n if(!containsKey) {\n try {\n this.logger.verbose(\"Key not found in in-memory cache, now querying persistent storage.\");\n return await this.indexedDBCache.containsKey(key);\n } catch (e) {\n this.handleDatabaseAccessError(e);\n }\n }\n return containsKey;\n }\n\n /**\n * Clears in-memory Map\n */\n clearInMemory(): void {\n // InMemory cache is a Map instance, clear is straightforward\n this.logger.verbose(`Deleting in-memory keystore ${this.storeName}`);\n this.inMemoryCache.clear();\n this.logger.verbose(`In-memory keystore ${this.storeName} deleted`);\n }\n\n /**\n * Tries to delete the IndexedDB database\n * @returns\n */\n async clearPersistent(): Promise {\n try {\n this.logger.verbose(\"Deleting persistent keystore\");\n const dbDeleted = await this.indexedDBCache.deleteDatabase();\n if (dbDeleted) {\n this.logger.verbose(\"Persistent keystore deleted\");\n }\n \n return dbDeleted;\n } catch (e) {\n this.handleDatabaseAccessError(e);\n return false;\n }\n }\n}\n","/*\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport { StringUtils } from \"../utils/StringUtils\";\nimport { LoggerOptions } from \"../config/ClientConfiguration\";\nimport { Constants } from \"../utils/Constants\";\n\n/**\n * Options for logger messages.\n */\nexport type LoggerMessageOptions = {\n logLevel: LogLevel,\n containsPii?: boolean,\n context?: string,\n correlationId?: string\n};\n\n/**\n * Log message level.\n */\nexport enum LogLevel {\n Error,\n Warning,\n Info,\n Verbose,\n Trace\n}\n\n/**\n * Callback to send the messages to.\n */\nexport interface ILoggerCallback {\n (level: LogLevel, message: string, containsPii: boolean): void;\n}\n\n/**\n * Class which facilitates logging of messages to a specific place.\n */\nexport class Logger {\n\n // Correlation ID for request, usually set by user.\n private correlationId: string;\n\n // Current log level, defaults to info.\n private level: LogLevel = LogLevel.Info;\n\n // Boolean describing whether PII logging is allowed.\n private piiLoggingEnabled: boolean;\n\n // Callback to send messages to.\n private localCallback: ILoggerCallback;\n\n // Package name implementing this logger\n private packageName: string;\n\n // Package version implementing this logger\n private packageVersion: string;\n\n constructor(loggerOptions: LoggerOptions, packageName?: string, packageVersion?: string) {\n const defaultLoggerCallback = () => {\n return;\n };\n this.localCallback = loggerOptions.loggerCallback || defaultLoggerCallback;\n this.piiLoggingEnabled = loggerOptions.piiLoggingEnabled || false;\n this.level = typeof(loggerOptions.logLevel) === \"number\" ? loggerOptions.logLevel : LogLevel.Info;\n this.correlationId = loggerOptions.correlationId || Constants.EMPTY_STRING;\n\n this.packageName = packageName || Constants.EMPTY_STRING;\n this.packageVersion = packageVersion || Constants.EMPTY_STRING;\n }\n\n /**\n * Create new Logger with existing configurations.\n */\n public clone(packageName: string, packageVersion: string, correlationId?: string): Logger {\n return new Logger({loggerCallback: this.localCallback, piiLoggingEnabled: this.piiLoggingEnabled, logLevel: this.level, correlationId: correlationId || this.correlationId}, packageName, packageVersion);\n }\n\n /**\n * Log message with required options.\n */\n private logMessage(logMessage: string, options: LoggerMessageOptions): void {\n if ((options.logLevel > this.level) || (!this.piiLoggingEnabled && options.containsPii)) {\n return;\n }\n const timestamp = new Date().toUTCString();\n\n // Add correlationId to logs if set, correlationId provided on log messages take precedence\n let logHeader: string;\n if (!StringUtils.isEmpty(options.correlationId)) {\n logHeader = `[${timestamp}] : [${options.correlationId}]`;\n } else if (!StringUtils.isEmpty(this.correlationId)) {\n logHeader = `[${timestamp}] : [${this.correlationId}]`;\n } else {\n logHeader = `[${timestamp}]`;\n }\n\n const log = `${logHeader} : ${this.packageName}@${this.packageVersion} : ${LogLevel[options.logLevel]} - ${logMessage}`;\n // debug(`msal:${LogLevel[options.logLevel]}${options.containsPii ? \"-Pii\": Constants.EMPTY_STRING}${options.context ? `:${options.context}` : Constants.EMPTY_STRING}`)(logMessage);\n this.executeCallback(options.logLevel, log, options.containsPii || false);\n }\n\n /**\n * Execute callback with message.\n */\n executeCallback(level: LogLevel, message: string, containsPii: boolean): void {\n if (this.localCallback) {\n this.localCallback(level, message, containsPii);\n }\n }\n\n /**\n * Logs error messages.\n */\n error(message: string, correlationId?: string): void {\n this.logMessage(message, {\n logLevel: LogLevel.Error,\n containsPii: false,\n correlationId: correlationId || Constants.EMPTY_STRING\n });\n }\n\n /**\n * Logs error messages with PII.\n */\n errorPii(message: string, correlationId?: string): void {\n this.logMessage(message, {\n logLevel: LogLevel.Error,\n containsPii: true,\n correlationId: correlationId || Constants.EMPTY_STRING\n });\n }\n\n /**\n * Logs warning messages.\n */\n warning(message: string, correlationId?: string): void {\n this.logMessage(message, {\n logLevel: LogLevel.Warning,\n containsPii: false,\n correlationId: correlationId || Constants.EMPTY_STRING\n });\n }\n\n /**\n * Logs warning messages with PII.\n */\n warningPii(message: string, correlationId?: string): void {\n this.logMessage(message, {\n logLevel: LogLevel.Warning,\n containsPii: true,\n correlationId: correlationId || Constants.EMPTY_STRING\n });\n }\n\n /**\n * Logs info messages.\n */\n info(message: string, correlationId?: string): void {\n this.logMessage(message, {\n logLevel: LogLevel.Info,\n containsPii: false,\n correlationId: correlationId || Constants.EMPTY_STRING\n });\n }\n\n /**\n * Logs info messages with PII.\n */\n infoPii(message: string, correlationId?: string): void {\n this.logMessage(message, {\n logLevel: LogLevel.Info,\n containsPii: true,\n correlationId: correlationId || Constants.EMPTY_STRING\n });\n }\n\n /**\n * Logs verbose messages.\n */\n verbose(message: string, correlationId?: string): void {\n this.logMessage(message, {\n logLevel: LogLevel.Verbose,\n containsPii: false,\n correlationId: correlationId || Constants.EMPTY_STRING\n });\n }\n\n /**\n * Logs verbose messages with PII.\n */\n verbosePii(message: string, correlationId?: string): void {\n this.logMessage(message, {\n logLevel: LogLevel.Verbose,\n containsPii: true,\n correlationId: correlationId || Constants.EMPTY_STRING\n });\n }\n\n /**\n * Logs trace messages.\n */\n trace(message: string, correlationId?: string): void {\n this.logMessage(message, {\n logLevel: LogLevel.Trace,\n containsPii: false,\n correlationId: correlationId || Constants.EMPTY_STRING\n });\n }\n\n /**\n * Logs trace messages with PII.\n */\n tracePii(message: string, correlationId?: string): void {\n this.logMessage(message, {\n logLevel: LogLevel.Trace,\n containsPii: true,\n correlationId: correlationId || Constants.EMPTY_STRING\n });\n }\n\n /**\n * Returns whether PII Logging is enabled or not.\n */\n isPiiLoggingEnabled(): boolean {\n return this.piiLoggingEnabled || false;\n }\n}\n","/*\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport { ICrypto, IPerformanceClient, JoseHeader, Logger, PerformanceEvents, PkceCodes, SignedHttpRequest, SignedHttpRequestParameters } from \"@azure/msal-common\";\nimport { GuidGenerator } from \"./GuidGenerator\";\nimport { Base64Encode } from \"../encode/Base64Encode\";\nimport { Base64Decode } from \"../encode/Base64Decode\";\nimport { PkceGenerator } from \"./PkceGenerator\";\nimport { BrowserCrypto } from \"./BrowserCrypto\";\nimport { BrowserStringUtils } from \"../utils/BrowserStringUtils\";\nimport { BrowserAuthError } from \"../error/BrowserAuthError\";\nimport { CryptoKeyStore } from \"../cache/CryptoKeyStore\";\nimport { CryptoOptions } from \"../config/Configuration\";\n\nexport type CachedKeyPair = {\n publicKey: CryptoKey,\n privateKey: CryptoKey,\n requestMethod?: string,\n requestUri?: string\n};\n\n/**\n * This class implements MSAL's crypto interface, which allows it to perform base64 encoding and decoding, generating cryptographically random GUIDs and \n * implementing Proof Key for Code Exchange specs for the OAuth Authorization Code Flow using PKCE (rfc here: https://tools.ietf.org/html/rfc7636).\n */\nexport class CryptoOps implements ICrypto {\n\n private browserCrypto: BrowserCrypto;\n private guidGenerator: GuidGenerator;\n private b64Encode: Base64Encode;\n private b64Decode: Base64Decode;\n private pkceGenerator: PkceGenerator;\n private logger: Logger;\n\n /**\n * CryptoOps can be used in contexts outside a PCA instance,\n * meaning there won't be a performance manager available.\n */\n private performanceClient: IPerformanceClient | undefined;\n\n private static POP_KEY_USAGES: Array = [\"sign\", \"verify\"];\n private static EXTRACTABLE: boolean = true;\n private cache: CryptoKeyStore;\n\n constructor(logger: Logger, performanceClient?: IPerformanceClient, cryptoConfig?: CryptoOptions) {\n this.logger = logger;\n // Browser crypto needs to be validated first before any other classes can be set.\n this.browserCrypto = new BrowserCrypto(this.logger, cryptoConfig);\n this.b64Encode = new Base64Encode();\n this.b64Decode = new Base64Decode();\n this.guidGenerator = new GuidGenerator(this.browserCrypto);\n this.pkceGenerator = new PkceGenerator(this.browserCrypto);\n this.cache = new CryptoKeyStore(this.logger);\n this.performanceClient = performanceClient;\n }\n\n /**\n * Creates a new random GUID - used to populate state and nonce.\n * @returns string (GUID)\n */\n createNewGuid(): string {\n return this.guidGenerator.generateGuid();\n }\n\n /**\n * Encodes input string to base64.\n * @param input \n */\n base64Encode(input: string): string {\n return this.b64Encode.encode(input);\n } \n \n /**\n * Decodes input string from base64.\n * @param input \n */\n base64Decode(input: string): string {\n return this.b64Decode.decode(input);\n }\n\n /**\n * Generates PKCE codes used in Authorization Code Flow.\n */\n async generatePkceCodes(): Promise {\n return this.pkceGenerator.generateCodes();\n }\n\n /**\n * Generates a keypair, stores it and returns a thumbprint\n * @param request\n */\n async getPublicKeyThumbprint(request: SignedHttpRequestParameters): Promise {\n const publicKeyThumbMeasurement = this.performanceClient?.startMeasurement(PerformanceEvents.CryptoOptsGetPublicKeyThumbprint, request.correlationId);\n\n // Generate Keypair\n const keyPair: CryptoKeyPair = await this.browserCrypto.generateKeyPair(CryptoOps.EXTRACTABLE, CryptoOps.POP_KEY_USAGES);\n\n // Generate Thumbprint for Public Key\n const publicKeyJwk: JsonWebKey = await this.browserCrypto.exportJwk(keyPair.publicKey);\n \n const pubKeyThumprintObj: JsonWebKey = {\n e: publicKeyJwk.e,\n kty: publicKeyJwk.kty,\n n: publicKeyJwk.n\n };\n \n const publicJwkString: string = BrowserStringUtils.getSortedObjectString(pubKeyThumprintObj);\n const publicJwkHash = await this.hashString(publicJwkString);\n\n // Generate Thumbprint for Private Key\n const privateKeyJwk: JsonWebKey = await this.browserCrypto.exportJwk(keyPair.privateKey);\n // Re-import private key to make it unextractable\n const unextractablePrivateKey: CryptoKey = await this.browserCrypto.importJwk(privateKeyJwk, false, [\"sign\"]);\n\n // Store Keypair data in keystore\n await this.cache.asymmetricKeys.setItem(\n publicJwkHash, \n {\n privateKey: unextractablePrivateKey,\n publicKey: keyPair.publicKey,\n requestMethod: request.resourceRequestMethod,\n requestUri: request.resourceRequestUri\n }\n );\n\n if (publicKeyThumbMeasurement) {\n publicKeyThumbMeasurement.endMeasurement({\n success: true\n });\n }\n\n return publicJwkHash;\n }\n\n /**\n * Removes cryptographic keypair from key store matching the keyId passed in\n * @param kid \n */\n async removeTokenBindingKey(kid: string): Promise {\n await this.cache.asymmetricKeys.removeItem(kid);\n const keyFound = await this.cache.asymmetricKeys.containsKey(kid);\n return !keyFound;\n }\n\n /**\n * Removes all cryptographic keys from IndexedDB storage\n */\n async clearKeystore(): Promise {\n return await this.cache.clear();\n }\n\n /**\n * Signs the given object as a jwt payload with private key retrieved by given kid.\n * @param payload \n * @param kid \n */\n async signJwt(payload: SignedHttpRequest, kid: string, correlationId?: string): Promise {\n const signJwtMeasurement = this.performanceClient?.startMeasurement(PerformanceEvents.CryptoOptsSignJwt, correlationId);\n const cachedKeyPair = await this.cache.asymmetricKeys.getItem(kid);\n \n if (!cachedKeyPair) {\n throw BrowserAuthError.createSigningKeyNotFoundInStorageError(kid);\n }\n\n // Get public key as JWK\n const publicKeyJwk = await this.browserCrypto.exportJwk(cachedKeyPair.publicKey);\n const publicKeyJwkString = BrowserStringUtils.getSortedObjectString(publicKeyJwk);\n\n // Base64URL encode public key thumbprint with keyId only: BASE64URL({ kid: \"FULL_PUBLIC_KEY_HASH\" })\n const encodedKeyIdThumbprint = this.b64Encode.urlEncode(JSON.stringify({ kid: kid }));\n \n // Generate header\n const shrHeader = JoseHeader.getShrHeaderString({ kid: encodedKeyIdThumbprint, alg: publicKeyJwk.alg });\n const encodedShrHeader = this.b64Encode.urlEncode(shrHeader);\n\n // Generate payload\n payload.cnf = {\n jwk: JSON.parse(publicKeyJwkString)\n };\n const encodedPayload = this.b64Encode.urlEncode(JSON.stringify(payload));\n\n // Form token string\n const tokenString = `${encodedShrHeader}.${encodedPayload}`;\n\n // Sign token\n const tokenBuffer = BrowserStringUtils.stringToArrayBuffer(tokenString);\n const signatureBuffer = await this.browserCrypto.sign(cachedKeyPair.privateKey, tokenBuffer);\n const encodedSignature = this.b64Encode.urlEncodeArr(new Uint8Array(signatureBuffer));\n\n const signedJwt = `${tokenString}.${encodedSignature}`;\n\n if (signJwtMeasurement) {\n signJwtMeasurement.endMeasurement({\n success: true\n });\n }\n\n return signedJwt;\n }\n\n /**\n * Returns the SHA-256 hash of an input string\n * @param plainText\n */\n async hashString(plainText: string): Promise {\n const hashBuffer: ArrayBuffer = await this.browserCrypto.sha256Digest(plainText);\n const hashBytes = new Uint8Array(hashBuffer);\n return this.b64Encode.urlEncodeArr(hashBytes);\n }\n}\n","/*\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License.\n */\n\n/**\n * Authority types supported by MSAL.\n */\nexport enum AuthorityType {\n Default,\n Adfs,\n Dsts\n}\n","/*\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport { ApplicationTelemetry } from \"../../config/ClientConfiguration\";\nimport { Logger } from \"../../logger/Logger\";\nimport { InProgressPerformanceEvent, IPerformanceClient, PerformanceCallbackFunction } from \"./IPerformanceClient\";\nimport { IPerformanceMeasurement } from \"./IPerformanceMeasurement\";\nimport { PerformanceEvent, PerformanceEvents, PerformanceEventStatus } from \"./PerformanceEvent\";\n\nexport abstract class PerformanceClient implements IPerformanceClient {\n protected authority: string;\n protected libraryName: string;\n protected libraryVersion: string;\n protected applicationTelemetry: ApplicationTelemetry;\n protected clientId: string;\n protected logger: Logger;\n protected callbacks: Map;\n\n /**\n * Multiple events with the same correlation id.\n * Double keyed by correlation id and event id.\n * @protected\n * @type {Map>}\n */\n protected eventsByCorrelationId: Map>;\n\n /**\n * Underlying performance measurements for each operation\n *\n * @protected\n * @type {Map}\n */\n protected measurementsById: Map;\n\n /**\n * Creates an instance of PerformanceClient, \n * an abstract class containing core performance telemetry logic.\n *\n * @constructor\n * @param {string} clientId Client ID of the application\n * @param {string} authority Authority used by the application\n * @param {Logger} logger Logger used by the application\n * @param {string} libraryName Name of the library\n * @param {string} libraryVersion Version of the library\n */\n constructor(clientId: string, authority: string, logger: Logger, libraryName: string, libraryVersion: string, applicationTelemetry: ApplicationTelemetry) {\n this.authority = authority;\n this.libraryName = libraryName;\n this.libraryVersion = libraryVersion;\n this.applicationTelemetry = applicationTelemetry;\n this.clientId = clientId;\n this.logger = logger;\n this.callbacks = new Map();\n this.eventsByCorrelationId = new Map();\n this.measurementsById = new Map();\n }\n\n /**\n * Starts and returns an platform-specific implementation of IPerformanceMeasurement.\n *\n * @abstract\n * @param {string} measureName\n * @param {string} correlationId\n * @returns {IPerformanceMeasurement}\n */\n abstract startPerformanceMeasuremeant(measureName: string, correlationId: string): IPerformanceMeasurement;\n\n /**\n * Generates and returns a unique id, typically a guid.\n *\n * @abstract\n * @returns {string}\n */\n abstract generateId(): string;\n\n /**\n * Starts measuring performance for a given operation. Returns a function that should be used to end the measurement.\n *\n * @param {PerformanceEvents} measureName\n * @param {?string} [correlationId]\n * @returns {InProgressPerformanceEvent}\n */\n startMeasurement(measureName: PerformanceEvents, correlationId?: string): InProgressPerformanceEvent {\n // Generate a placeholder correlation if the request does not provide one\n const eventCorrelationId = correlationId || this.generateId();\n if (!correlationId) {\n this.logger.info(`PerformanceClient: No correlation id provided for ${measureName}, generating`, eventCorrelationId);\n }\n\n this.logger.trace(`PerformanceClient: Performance measurement started for ${measureName}`, eventCorrelationId);\n const performanceMeasurement = this.startPerformanceMeasuremeant(measureName, eventCorrelationId);\n performanceMeasurement.startMeasurement();\n\n const inProgressEvent: PerformanceEvent = {\n eventId: this.generateId(),\n status: PerformanceEventStatus.InProgress,\n authority: this.authority,\n libraryName: this.libraryName,\n libraryVersion: this.libraryVersion,\n appName: this.applicationTelemetry?.appName,\n appVersion: this.applicationTelemetry?.appVersion,\n clientId: this.clientId,\n name: measureName,\n startTimeMs: Date.now(),\n correlationId: eventCorrelationId,\n };\n\n // Store in progress events so they can be discarded if not ended properly\n this.cacheEventByCorrelationId(inProgressEvent);\n this.cacheMeasurement(inProgressEvent, performanceMeasurement);\n\n // Return the event and functions the caller can use to properly end/flush the measurement\n return {\n endMeasurement: (event?: Partial): PerformanceEvent | null => {\n const completedEvent = this.endMeasurement({\n // Initial set of event properties\n ...inProgressEvent,\n // Properties set when event ends\n ...event\n });\n\n if (completedEvent) {\n // Cache event so that submeasurements can be added downstream\n this.cacheEventByCorrelationId(completedEvent);\n }\n\n return completedEvent;\n },\n flushMeasurement: () => {\n return this.flushMeasurements(inProgressEvent.name, inProgressEvent.correlationId);\n },\n discardMeasurement: () => {\n return this.discardMeasurements(inProgressEvent.correlationId);\n },\n measurement: performanceMeasurement,\n event: inProgressEvent\n };\n\n }\n\n /**\n * Stops measuring the performance for an operation. Should only be called directly by PerformanceClient classes,\n * as consumers should instead use the function returned by startMeasurement.\n *\n * @param {PerformanceEvent} event\n * @returns {(PerformanceEvent | null)}\n */\n endMeasurement(event: PerformanceEvent): PerformanceEvent | null {\n const performanceMeasurement = this.measurementsById.get(event.eventId);\n if (performanceMeasurement) {\n // Immediately delete so that the same event isnt ended twice\n this.measurementsById.delete(event.eventId);\n performanceMeasurement.endMeasurement();\n const durationMs = performanceMeasurement.flushMeasurement();\n // null indicates no measurement was taken (e.g. needed performance APIs not present)\n if (durationMs !== null) {\n this.logger.trace(`PerformanceClient: Performance measurement ended for ${event.name}: ${durationMs} ms`, event.correlationId);\n\n const completedEvent: PerformanceEvent = {\n // Allow duration to be overwritten when event ends (e.g. testing), but not status\n durationMs: Math.round(durationMs),\n ...event,\n status: PerformanceEventStatus.Completed,\n };\n\n return completedEvent;\n } else {\n this.logger.trace(\"PerformanceClient: Performance measurement not taken\", event.correlationId);\n }\n } else {\n this.logger.trace(`PerformanceClient: Measurement not found for ${event.eventId}`, event.correlationId);\n }\n\n return null;\n }\n\n /**\n * Upserts event into event cache.\n * First key is the correlation id, second key is the event id.\n * Allows for events to be grouped by correlation id,\n * and to easily allow for properties on them to be updated.\n *\n * @private\n * @param {PerformanceEvent} event\n */\n private cacheEventByCorrelationId(event: PerformanceEvent) {\n const existingEvents = this.eventsByCorrelationId.get(event.correlationId);\n if (existingEvents) {\n this.logger.trace(`PerformanceClient: Performance measurement for ${event.name} added/updated`, event.correlationId);\n existingEvents.set(event.eventId, event);\n } else {\n this.logger.trace(`PerformanceClient: Performance measurement for ${event.name} started`, event.correlationId);\n this.eventsByCorrelationId.set(event.correlationId, new Map().set(event.eventId, event));\n }\n }\n\n /**\n * Cache measurements by their id.\n *\n * @private\n * @param {PerformanceEvent} event\n * @param {IPerformanceMeasurement} measurement\n */\n private cacheMeasurement(event: PerformanceEvent, measurement: IPerformanceMeasurement) {\n this.measurementsById.set(event.eventId, measurement);\n }\n\n /**\n * Gathers and emits performance events for measurements taked for the given top-level API and correlation ID.\n *\n * @param {PerformanceEvents} measureName\n * @param {string} correlationId\n */\n flushMeasurements(measureName: PerformanceEvents, correlationId: string): void {\n this.logger.trace(`PerformanceClient: Performance measurements flushed for ${measureName}`, correlationId);\n const eventsForCorrelationId = this.eventsByCorrelationId.get(correlationId);\n if (eventsForCorrelationId) {\n this.discardMeasurements(correlationId);\n\n /*\n * Manually end incomplete submeasurements to ensure there arent orphaned/never ending events.\n * Incomplete submeasurements are likely an instrumentation bug that should be fixed.\n * IE only supports Map.forEach.\n */\n const completedEvents: PerformanceEvent[] = [];\n eventsForCorrelationId.forEach(event => {\n if (event.name !== measureName && event.status !== PerformanceEventStatus.Completed) {\n this.logger.trace(`PerformanceClient: Incomplete submeasurement ${event.name} found for ${measureName}`, correlationId);\n\n const completedEvent = this.endMeasurement(event);\n if (completedEvent) {\n completedEvents.push(completedEvent);\n }\n }\n\n completedEvents.push(event);\n });\n\n // Sort events by start time (earliest first)\n const sortedCompletedEvents = completedEvents.sort((eventA, eventB) => eventA.startTimeMs - eventB.startTimeMs);\n\n // Take completed top level event and add completed submeasurements durations as properties\n const topLevelEvents = sortedCompletedEvents.filter(event => event.name === measureName && event.status === PerformanceEventStatus.Completed);\n if (topLevelEvents.length > 0) {\n /*\n * Only take the first top-level event if there are multiple events with the same correlation id.\n * This greatly simplifies logic for submeasurements.\n */\n if (topLevelEvents.length > 1) {\n this.logger.verbose(\"PerformanceClient: Multiple distinct top-level performance events found, using the first\", correlationId);\n }\n const topLevelEvent = topLevelEvents[0];\n\n this.logger.verbose(`PerformanceClient: Measurement found for ${measureName}`, correlationId);\n\n // Build event object with top level and sub measurements\n const eventToEmit = sortedCompletedEvents.reduce((previous, current) => {\n if (current.name !== measureName) {\n this.logger.trace(`PerformanceClient: Complete submeasurement found for ${current.name}`, correlationId);\n // TODO: Emit additional properties for each subMeasurement\n const subMeasurementName = `${current.name}DurationMs`;\n /*\n * Some code paths, such as resolving an authority, can occur multiple times.\n * Only take the first measurement, since the second could be read from the cache,\n * or due to the same correlation id being used for two distinct requests.\n */\n if (!previous[subMeasurementName]) {\n previous[subMeasurementName] = current.durationMs;\n } else {\n this.logger.verbose(`PerformanceClient: Submeasurement for ${measureName} already exists for ${current.name}, ignoring`, correlationId);\n }\n if (current.accessTokenSize) {\n previous.accessTokenSize = current.accessTokenSize;\n }\n if (current.idTokenSize) {\n previous.idTokenSize = current.idTokenSize;\n }\n if (current.refreshTokenSize) {\n previous.refreshTokenSize = current.refreshTokenSize;\n }\n }\n\n return previous;\n }, topLevelEvent);\n\n this.emitEvents([eventToEmit], eventToEmit.correlationId);\n } else {\n this.logger.verbose(`PerformanceClient: No completed top-level measurements found for ${measureName}`, correlationId);\n }\n } else {\n this.logger.verbose(\"PerformanceClient: No measurements found\", correlationId);\n }\n }\n\n /**\n * Removes measurements for a given correlation id.\n *\n * @param {string} correlationId\n */\n discardMeasurements(correlationId: string): void {\n this.logger.trace(\"PerformanceClient: Performance measurements discarded\", correlationId);\n this.eventsByCorrelationId.delete(correlationId);\n }\n\n /**\n * Registers a callback function to receive performance events.\n *\n * @param {PerformanceCallbackFunction} callback\n * @returns {string}\n */\n addPerformanceCallback(callback: PerformanceCallbackFunction): string {\n const callbackId = this.generateId();\n this.callbacks.set(callbackId, callback);\n this.logger.verbose(`PerformanceClient: Performance callback registered with id: ${callbackId}`);\n\n return callbackId;\n }\n\n /**\n * Removes a callback registered with addPerformanceCallback.\n *\n * @param {string} callbackId\n * @returns {boolean}\n */\n removePerformanceCallback(callbackId: string): boolean {\n const result = this.callbacks.delete(callbackId);\n\n if (result) {\n this.logger.verbose(`PerformanceClient: Performance callback ${callbackId} removed.`);\n } else {\n this.logger.verbose(`PerformanceClient: Performance callback ${callbackId} not removed.`);\n }\n\n return result;\n }\n\n /**\n * Emits events to all registered callbacks.\n *\n * @param {PerformanceEvent[]} events\n * @param {?string} [correlationId]\n */\n emitEvents(events: PerformanceEvent[], correlationId: string): void {\n this.logger.verbose(\"PerformanceClient: Emitting performance events\", correlationId);\n\n this.callbacks.forEach((callback: PerformanceCallbackFunction, callbackId: string) => {\n this.logger.trace(`PerformanceClient: Emitting event to callback ${callbackId}`, correlationId);\n callback.apply(null, [events]);\n });\n }\n\n}\n","/*\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport { IPerformanceClient } from \"./IPerformanceClient\";\nimport { IPerformanceMeasurement } from \"./IPerformanceMeasurement\";\nimport { PerformanceClient } from \"./PerformanceClient\";\n\nexport class StubPerformanceMeasurement implements IPerformanceMeasurement {\n /* eslint-disable-next-line @typescript-eslint/no-empty-function */\n startMeasurement(): void { }\n /* eslint-disable-next-line @typescript-eslint/no-empty-function */\n endMeasurement(): void { }\n flushMeasurement(): number | null {\n return null;\n }\n \n}\n\nexport class StubPerformanceClient extends PerformanceClient implements IPerformanceClient {\n generateId(): string {\n return \"callback-id\";\n }\n \n startPerformanceMeasuremeant(): IPerformanceMeasurement {\n return new StubPerformanceMeasurement();\n }\n}\n","/*\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport { AuthError } from \"../error/AuthError\";\nimport { BaseAuthRequest } from \"../request/BaseAuthRequest\";\nimport { SignedHttpRequest } from \"./SignedHttpRequest\";\n\n/**\n * The PkceCodes type describes the structure\n * of objects that contain PKCE code\n * challenge and verifier pairs\n */\nexport type PkceCodes = {\n verifier: string,\n challenge: string\n};\n\nexport type SignedHttpRequestParameters = Pick & {\n correlationId?: string\n};\n\n/**\n * Interface for crypto functions used by library\n */\nexport interface ICrypto {\n /**\n * Creates a guid randomly.\n */\n createNewGuid(): string;\n /**\n * base64 Encode string\n * @param input \n */\n base64Encode(input: string): string;\n /**\n * base64 decode string\n * @param input \n */\n base64Decode(input: string): string;\n /**\n * Generate PKCE codes for OAuth. See RFC here: https://tools.ietf.org/html/rfc7636\n */\n generatePkceCodes(): Promise;\n /**\n * Generates an JWK RSA S256 Thumbprint\n * @param request\n */\n getPublicKeyThumbprint(request: SignedHttpRequestParameters): Promise;\n /**\n * Removes cryptographic keypair from key store matching the keyId passed in\n * @param kid \n */\n removeTokenBindingKey(kid: string): Promise;\n /**\n * Removes all cryptographic keys from IndexedDB storage\n */\n clearKeystore(): Promise;\n /** \n * Returns a signed proof-of-possession token with a given acces token that contains a cnf claim with the required kid.\n * @param accessToken \n */\n signJwt(payload: SignedHttpRequest, kid: string, correlationId?: string): Promise;\n /**\n * Returns the SHA-256 hash of an input string\n * @param plainText\n */\n hashString(plainText: string): Promise;\n}\n\nexport const DEFAULT_CRYPTO_IMPLEMENTATION: ICrypto = {\n createNewGuid: (): string => {\n const notImplErr = \"Crypto interface - createNewGuid() has not been implemented\";\n throw AuthError.createUnexpectedError(notImplErr);\n },\n base64Decode: (): string => {\n const notImplErr = \"Crypto interface - base64Decode() has not been implemented\";\n throw AuthError.createUnexpectedError(notImplErr);\n },\n base64Encode: (): string => {\n const notImplErr = \"Crypto interface - base64Encode() has not been implemented\";\n throw AuthError.createUnexpectedError(notImplErr);\n },\n async generatePkceCodes(): Promise {\n const notImplErr = \"Crypto interface - generatePkceCodes() has not been implemented\";\n throw AuthError.createUnexpectedError(notImplErr);\n },\n async getPublicKeyThumbprint(): Promise {\n const notImplErr = \"Crypto interface - getPublicKeyThumbprint() has not been implemented\";\n throw AuthError.createUnexpectedError(notImplErr);\n },\n async removeTokenBindingKey(): Promise {\n const notImplErr = \"Crypto interface - removeTokenBindingKey() has not been implemented\";\n throw AuthError.createUnexpectedError(notImplErr);\n },\n async clearKeystore(): Promise {\n const notImplErr = \"Crypto interface - clearKeystore() has not been implemented\";\n throw AuthError.createUnexpectedError(notImplErr);\n },\n async signJwt(): Promise {\n const notImplErr = \"Crypto interface - signJwt() has not been implemented\";\n throw AuthError.createUnexpectedError(notImplErr);\n },\n async hashString(): Promise {\n const notImplErr = \"Crypto interface - hashString() has not been implemented\";\n throw AuthError.createUnexpectedError(notImplErr);\n }\n};\n","/*\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport { ClientAuthError } from \"../error/ClientAuthError\";\nimport { StringUtils } from \"../utils/StringUtils\";\nimport { ICrypto } from \"../crypto/ICrypto\";\nimport { Separators, Constants } from \"../utils/Constants\";\n\n/**\n * Client info object which consists of two IDs. Need to add more info here.\n */\nexport type ClientInfo = {\n uid: string,\n utid: string\n};\n\n/**\n * Function to build a client info object from server clientInfo string\n * @param rawClientInfo\n * @param crypto\n */\nexport function buildClientInfo(rawClientInfo: string, crypto: ICrypto): ClientInfo {\n if (StringUtils.isEmpty(rawClientInfo)) {\n throw ClientAuthError.createClientInfoEmptyError();\n }\n\n try {\n const decodedClientInfo: string = crypto.base64Decode(rawClientInfo);\n return JSON.parse(decodedClientInfo) as ClientInfo;\n } catch (e) {\n throw ClientAuthError.createClientInfoDecodingError((e as ClientAuthError).message);\n }\n}\n\n/**\n * Function to build a client info object from cached homeAccountId string\n * @param homeAccountId \n */\nexport function buildClientInfoFromHomeAccountId(homeAccountId: string): ClientInfo {\n if (StringUtils.isEmpty(homeAccountId)) {\n throw ClientAuthError.createClientInfoDecodingError(\"Home account ID was empty.\");\n }\n const clientInfoParts: string[] = homeAccountId.split(Separators.CLIENT_INFO_SEPARATOR, 2);\n return {\n uid: clientInfoParts[0],\n utid: clientInfoParts.length < 2 ? Constants.EMPTY_STRING : clientInfoParts[1]\n };\n}\n","/*\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport {\n Separators,\n CacheAccountType,\n CacheType,\n Constants,\n} from \"../../utils/Constants\";\nimport { Authority } from \"../../authority/Authority\";\nimport { AuthToken } from \"../../account/AuthToken\";\nimport { ICrypto } from \"../../crypto/ICrypto\";\nimport { buildClientInfo } from \"../../account/ClientInfo\";\nimport { StringUtils } from \"../../utils/StringUtils\";\nimport { AccountInfo } from \"../../account/AccountInfo\";\nimport { ClientAuthError } from \"../../error/ClientAuthError\";\nimport { AuthorityType } from \"../../authority/AuthorityType\";\nimport { Logger } from \"../../logger/Logger\";\nimport { TokenClaims } from \"../../account/TokenClaims\";\n\n/**\n * Type that defines required and optional parameters for an Account field (based on universal cache schema implemented by all MSALs).\n *\n * Key : Value Schema\n *\n * Key: --\n *\n * Value Schema:\n * {\n * homeAccountId: home account identifier for the auth scheme,\n * environment: entity that issued the token, represented as a full host\n * realm: Full tenant or organizational identifier that the account belongs to\n * localAccountId: Original tenant-specific accountID, usually used for legacy cases\n * username: primary username that represents the user, usually corresponds to preferred_username in the v2 endpt\n * authorityType: Accounts authority type as a string\n * name: Full name for the account, including given name and family name,\n * clientInfo: Full base64 encoded client info received from ESTS\n * lastModificationTime: last time this entity was modified in the cache\n * lastModificationApp:\n * idTokenClaims: Object containing claims parsed from ID token\n * nativeAccountId: Account identifier on the native device\n * }\n */\nexport class AccountEntity {\n homeAccountId: string;\n environment: string;\n realm: string;\n localAccountId: string;\n username: string;\n authorityType: string;\n name?: string;\n clientInfo?: string;\n lastModificationTime?: string;\n lastModificationApp?: string;\n cloudGraphHostName?: string;\n msGraphHost?: string;\n idTokenClaims?: TokenClaims;\n nativeAccountId?: string;\n\n /**\n * Generate Account Id key component as per the schema: -\n */\n generateAccountId(): string {\n const accountId: Array = [this.homeAccountId, this.environment];\n return accountId.join(Separators.CACHE_KEY_SEPARATOR).toLowerCase();\n }\n\n /**\n * Generate Account Cache Key as per the schema: --\n */\n generateAccountKey(): string {\n return AccountEntity.generateAccountCacheKey({\n homeAccountId: this.homeAccountId,\n environment: this.environment,\n tenantId: this.realm,\n username: this.username,\n localAccountId: this.localAccountId\n });\n }\n\n /**\n * returns the type of the cache (in this case account)\n */\n generateType(): number {\n switch (this.authorityType) {\n case CacheAccountType.ADFS_ACCOUNT_TYPE:\n return CacheType.ADFS;\n case CacheAccountType.MSAV1_ACCOUNT_TYPE:\n return CacheType.MSA;\n case CacheAccountType.MSSTS_ACCOUNT_TYPE:\n return CacheType.MSSTS;\n case CacheAccountType.GENERIC_ACCOUNT_TYPE:\n return CacheType.GENERIC;\n default: {\n throw ClientAuthError.createUnexpectedAccountTypeError();\n }\n }\n }\n\n /**\n * Returns the AccountInfo interface for this account.\n */\n getAccountInfo(): AccountInfo {\n return {\n homeAccountId: this.homeAccountId,\n environment: this.environment,\n tenantId: this.realm,\n username: this.username,\n localAccountId: this.localAccountId,\n name: this.name,\n idTokenClaims: this.idTokenClaims,\n nativeAccountId: this.nativeAccountId\n };\n }\n\n /**\n * Generates account key from interface\n * @param accountInterface\n */\n static generateAccountCacheKey(accountInterface: AccountInfo): string {\n const accountKey = [\n accountInterface.homeAccountId,\n accountInterface.environment || Constants.EMPTY_STRING,\n accountInterface.tenantId || Constants.EMPTY_STRING,\n ];\n\n return accountKey.join(Separators.CACHE_KEY_SEPARATOR).toLowerCase();\n }\n\n /**\n * Build Account cache from IdToken, clientInfo and authority/policy. Associated with AAD.\n * @param clientInfo\n * @param authority\n * @param idToken\n * @param policy\n */\n static createAccount(\n clientInfo: string,\n homeAccountId: string,\n idToken: AuthToken,\n authority?: Authority,\n cloudGraphHostName?: string,\n msGraphHost?: string,\n environment?: string,\n nativeAccountId?: string\n ): AccountEntity {\n const account: AccountEntity = new AccountEntity();\n\n account.authorityType = CacheAccountType.MSSTS_ACCOUNT_TYPE;\n account.clientInfo = clientInfo;\n account.homeAccountId = homeAccountId;\n account.nativeAccountId = nativeAccountId;\n\n const env = environment || (authority && authority.getPreferredCache());\n\n if (!env) {\n throw ClientAuthError.createInvalidCacheEnvironmentError();\n }\n\n account.environment = env;\n // non AAD scenarios can have empty realm\n account.realm = idToken?.claims?.tid || Constants.EMPTY_STRING;\n\n if (idToken) {\n account.idTokenClaims = idToken.claims;\n\n // How do you account for MSA CID here?\n account.localAccountId = idToken?.claims?.oid || idToken?.claims?.sub || Constants.EMPTY_STRING;\n\n /*\n * In B2C scenarios the emails claim is used instead of preferred_username and it is an array.\n * In most cases it will contain a single email. This field should not be relied upon if a custom \n * policy is configured to return more than 1 email.\n */\n const preferredUsername = idToken?.claims?.preferred_username;\n const email = (idToken?.claims?.emails) ? idToken.claims.emails[0] : null;\n \n account.username = preferredUsername || email || Constants.EMPTY_STRING;\n account.name = idToken?.claims?.name;\n }\n\n account.cloudGraphHostName = cloudGraphHostName;\n account.msGraphHost = msGraphHost;\n\n return account;\n }\n\n /**\n * Builds non-AAD/ADFS account.\n * @param authority\n * @param idToken\n */\n static createGenericAccount(\n homeAccountId: string,\n idToken: AuthToken,\n authority?: Authority,\n cloudGraphHostName?: string,\n msGraphHost?: string,\n environment?: string\n ): AccountEntity {\n const account: AccountEntity = new AccountEntity();\n\n account.authorityType = (\n authority &&\n authority.authorityType === AuthorityType.Adfs\n ) ? CacheAccountType.ADFS_ACCOUNT_TYPE : CacheAccountType.GENERIC_ACCOUNT_TYPE;\n \n account.homeAccountId = homeAccountId;\n // non AAD scenarios can have empty realm\n account.realm = Constants.EMPTY_STRING;\n\n const env = environment || authority && authority.getPreferredCache();\n\n if (!env) {\n throw ClientAuthError.createInvalidCacheEnvironmentError();\n }\n\n if (idToken) {\n // How do you account for MSA CID here?\n account.localAccountId = idToken?.claims?.oid || idToken?.claims?.sub || Constants.EMPTY_STRING;\n // upn claim for most ADFS scenarios\n account.username = idToken?.claims?.upn || Constants.EMPTY_STRING;\n account.name = idToken?.claims?.name || Constants.EMPTY_STRING;\n account.idTokenClaims = idToken?.claims;\n }\n\n account.environment = env;\n\n account.cloudGraphHostName = cloudGraphHostName;\n account.msGraphHost = msGraphHost;\n\n /*\n * add uniqueName to claims\n * account.name = idToken.claims.uniqueName;\n */\n\n return account;\n }\n\n /**\n * Generate HomeAccountId from server response\n * @param serverClientInfo\n * @param authType\n */\n static generateHomeAccountId(\n serverClientInfo: string,\n authType: AuthorityType,\n logger: Logger,\n cryptoObj: ICrypto,\n idToken?: AuthToken\n ): string {\n\n const accountId = idToken?.claims?.sub ? idToken.claims.sub : Constants.EMPTY_STRING;\n\n // since ADFS does not have tid and does not set client_info\n if (authType === AuthorityType.Adfs || authType === AuthorityType.Dsts) {\n return accountId;\n }\n\n // for cases where there is clientInfo\n if (serverClientInfo) {\n try {\n const clientInfo = buildClientInfo(serverClientInfo, cryptoObj);\n if (!StringUtils.isEmpty(clientInfo.uid) && !StringUtils.isEmpty(clientInfo.utid)) {\n return `${clientInfo.uid}${Separators.CLIENT_INFO_SEPARATOR}${clientInfo.utid}`;\n }\n } catch (e) {}\n }\n\n // default to \"sub\" claim\n logger.verbose(\"No client info in response\");\n return accountId;\n }\n\n /**\n * Validates an entity: checks for all expected params\n * @param entity\n */\n static isAccountEntity(entity: object): boolean {\n\n if (!entity) {\n return false;\n }\n\n return (\n entity.hasOwnProperty(\"homeAccountId\") &&\n entity.hasOwnProperty(\"environment\") &&\n entity.hasOwnProperty(\"realm\") &&\n entity.hasOwnProperty(\"localAccountId\") &&\n entity.hasOwnProperty(\"username\") &&\n entity.hasOwnProperty(\"authorityType\")\n );\n }\n\n /**\n * Helper function to determine whether 2 accountInfo objects represent the same account\n * @param accountA\n * @param accountB\n * @param compareClaims - If set to true idTokenClaims will also be compared to determine account equality\n */\n static accountInfoIsEqual(accountA: AccountInfo | null, accountB: AccountInfo | null, compareClaims?: boolean): boolean {\n if (!accountA || !accountB) {\n return false;\n }\n\n let claimsMatch = true; // default to true so as to not fail comparison below if compareClaims: false\n if (compareClaims) {\n const accountAClaims = (accountA.idTokenClaims || {}) as TokenClaims;\n const accountBClaims = (accountB.idTokenClaims || {}) as TokenClaims;\n\n // issued at timestamp and nonce are expected to change each time a new id token is acquired\n claimsMatch = (accountAClaims.iat === accountBClaims.iat) &&\n (accountAClaims.nonce === accountBClaims.nonce);\n }\n\n return (accountA.homeAccountId === accountB.homeAccountId) &&\n (accountA.localAccountId === accountB.localAccountId) &&\n (accountA.username === accountB.username) &&\n (accountA.tenantId === accountB.tenantId) &&\n (accountA.environment === accountB.environment) &&\n (accountA.nativeAccountId === accountB.nativeAccountId) &&\n claimsMatch;\n }\n}\n","/*\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License.\n */\n\nexport type CcsCredential = {\n credential: string,\n type: CcsCredentialType\n};\n\nexport enum CcsCredentialType {\n HOME_ACCOUNT_ID = \"home_account_id\",\n UPN = \"UPN\"\n}\n","/*\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport { Separators, CredentialType, CacheType, Constants, AuthenticationScheme } from \"../../utils/Constants\";\nimport { ClientAuthError } from \"../../error/ClientAuthError\";\n\n/**\n * Base type for credentials to be stored in the cache: eg: ACCESS_TOKEN, ID_TOKEN etc\n *\n * Key:Value Schema:\n *\n * Key: -------\n *\n * Value Schema:\n * {\n * homeAccountId: home account identifier for the auth scheme,\n * environment: entity that issued the token, represented as a full host\n * credentialType: Type of credential as a string, can be one of the following: RefreshToken, AccessToken, IdToken, Password, Cookie, Certificate, Other\n * clientId: client ID of the application\n * secret: Actual credential as a string\n * familyId: Family ID identifier, usually only used for refresh tokens\n * realm: Full tenant or organizational identifier that the account belongs to\n * target: Permissions that are included in the token, or for refresh tokens, the resource identifier.\n * tokenType: Matches the authentication scheme for which the token was issued (i.e. Bearer or pop)\n * requestedClaimsHash: Matches the SHA 256 hash of the claims object included in the token request\n * userAssertionHash: Matches the SHA 256 hash of the obo_assertion for the OBO flow\n * }\n */\nexport class CredentialEntity {\n homeAccountId: string;\n environment: string;\n credentialType: CredentialType;\n clientId: string;\n secret: string;\n familyId?: string;\n realm?: string;\n target?: string;\n userAssertionHash?: string;\n tokenType?: AuthenticationScheme;\n keyId?: string;\n requestedClaimsHash?: string;\n\n /**\n * Generate Account Id key component as per the schema: -\n */\n generateAccountId(): string {\n return CredentialEntity.generateAccountIdForCacheKey(this.homeAccountId, this.environment);\n }\n\n /**\n * Generate Credential Id key component as per the schema: --\n */\n generateCredentialId(): string {\n return CredentialEntity.generateCredentialIdForCacheKey(\n this.credentialType,\n this.clientId,\n this.realm,\n this.familyId\n );\n }\n\n /**\n * Generate target key component as per schema: \n */\n generateTarget(): string {\n return CredentialEntity.generateTargetForCacheKey(this.target);\n }\n\n /**\n * generates credential key\n */\n generateCredentialKey(): string {\n return CredentialEntity.generateCredentialCacheKey(\n this.homeAccountId,\n this.environment,\n this.credentialType,\n this.clientId,\n this.realm,\n this.target,\n this.familyId,\n this.tokenType,\n this.requestedClaimsHash,\n );\n }\n\n /**\n * returns the type of the cache (in this case credential)\n */\n generateType(): number {\n switch (this.credentialType) {\n case CredentialType.ID_TOKEN:\n return CacheType.ID_TOKEN;\n case CredentialType.ACCESS_TOKEN:\n case CredentialType.ACCESS_TOKEN_WITH_AUTH_SCHEME:\n return CacheType.ACCESS_TOKEN;\n case CredentialType.REFRESH_TOKEN:\n return CacheType.REFRESH_TOKEN;\n default: {\n throw ClientAuthError.createUnexpectedCredentialTypeError();\n }\n }\n }\n\n /**\n * helper function to return `CredentialType`\n * @param key\n */\n static getCredentialType(key: string): string {\n // First keyword search will match all \"AccessToken\" and \"AccessToken_With_AuthScheme\" credentials\n if (key.indexOf(CredentialType.ACCESS_TOKEN.toLowerCase()) !== -1) {\n // Perform second search to differentiate between \"AccessToken\" and \"AccessToken_With_AuthScheme\" credential types\n if (key.indexOf(CredentialType.ACCESS_TOKEN_WITH_AUTH_SCHEME.toLowerCase()) !== -1) {\n return CredentialType.ACCESS_TOKEN_WITH_AUTH_SCHEME;\n }\n return CredentialType.ACCESS_TOKEN;\n } else if (key.indexOf(CredentialType.ID_TOKEN.toLowerCase()) !== -1) {\n return CredentialType.ID_TOKEN;\n } else if (key.indexOf(CredentialType.REFRESH_TOKEN.toLowerCase()) !== -1) {\n return CredentialType.REFRESH_TOKEN;\n }\n\n return Constants.NOT_DEFINED;\n }\n\n /**\n * generates credential key\n * -\\-----\n */\n static generateCredentialCacheKey(\n homeAccountId: string,\n environment: string,\n credentialType: CredentialType,\n clientId: string,\n realm?: string,\n target?: string,\n familyId?: string,\n tokenType?: AuthenticationScheme,\n requestedClaimsHash?: string\n ): string {\n const credentialKey = [\n this.generateAccountIdForCacheKey(homeAccountId, environment),\n this.generateCredentialIdForCacheKey(credentialType, clientId, realm, familyId),\n this.generateTargetForCacheKey(target),\n this.generateClaimsHashForCacheKey(requestedClaimsHash),\n this.generateSchemeForCacheKey(tokenType)\n ];\n\n return credentialKey.join(Separators.CACHE_KEY_SEPARATOR).toLowerCase();\n }\n\n /**\n * generates Account Id for keys\n * @param homeAccountId\n * @param environment\n */\n private static generateAccountIdForCacheKey(\n homeAccountId: string,\n environment: string\n ): string {\n const accountId: Array = [homeAccountId, environment];\n return accountId.join(Separators.CACHE_KEY_SEPARATOR).toLowerCase();\n }\n\n /**\n * Generates Credential Id for keys\n * @param credentialType\n * @param realm\n * @param clientId\n * @param familyId\n */\n private static generateCredentialIdForCacheKey(\n credentialType: CredentialType,\n clientId: string,\n realm?: string,\n familyId?: string\n ): string {\n const clientOrFamilyId =\n credentialType === CredentialType.REFRESH_TOKEN\n ? familyId || clientId\n : clientId;\n const credentialId: Array = [\n credentialType,\n clientOrFamilyId,\n realm || Constants.EMPTY_STRING,\n ];\n\n return credentialId.join(Separators.CACHE_KEY_SEPARATOR).toLowerCase();\n }\n\n /**\n * Generate target key component as per schema: \n */\n private static generateTargetForCacheKey(scopes?: string): string {\n return (scopes || Constants.EMPTY_STRING).toLowerCase();\n }\n\n /**\n * Generate requested claims key component as per schema: \n */\n private static generateClaimsHashForCacheKey(requestedClaimsHash?: string): string {\n return(requestedClaimsHash || Constants.EMPTY_STRING).toLowerCase();\n }\n\n /**\n * Generate scheme key componenet as per schema: \n */\n private static generateSchemeForCacheKey(tokenType?: string): string {\n /*\n * PoP Tokens and SSH certs include scheme in cache key\n * Cast to lowercase to handle \"bearer\" from ADFS\n */\n return (tokenType && tokenType.toLowerCase() !== AuthenticationScheme.BEARER.toLowerCase()) ? tokenType.toLowerCase() : Constants.EMPTY_STRING;\n }\n}\n","/*\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport { ClientAuthError } from \"./ClientAuthError\";\n\n/**\n * ClientConfigurationErrorMessage class containing string constants used by error codes and messages.\n */\nexport const ClientConfigurationErrorMessage = {\n redirectUriNotSet: {\n code: \"redirect_uri_empty\",\n desc: \"A redirect URI is required for all calls, and none has been set.\"\n },\n postLogoutUriNotSet: {\n code: \"post_logout_uri_empty\",\n desc: \"A post logout redirect has not been set.\"\n },\n claimsRequestParsingError: {\n code: \"claims_request_parsing_error\",\n desc: \"Could not parse the given claims request object.\"\n },\n authorityUriInsecure: {\n code: \"authority_uri_insecure\",\n desc: \"Authority URIs must use https. Please see here for valid authority configuration options: https://docs.microsoft.com/en-us/azure/active-directory/develop/msal-js-initializing-client-applications#configuration-options\"\n },\n urlParseError: {\n code: \"url_parse_error\",\n desc: \"URL could not be parsed into appropriate segments.\"\n },\n urlEmptyError: {\n code: \"empty_url_error\",\n desc: \"URL was empty or null.\"\n },\n emptyScopesError: {\n code: \"empty_input_scopes_error\",\n desc: \"Scopes cannot be passed as null, undefined or empty array because they are required to obtain an access token.\"\n },\n nonArrayScopesError: {\n code: \"nonarray_input_scopes_error\",\n desc: \"Scopes cannot be passed as non-array.\"\n },\n clientIdSingleScopeError: {\n code: \"clientid_input_scopes_error\",\n desc: \"Client ID can only be provided as a single scope.\"\n },\n invalidPrompt: {\n code: \"invalid_prompt_value\",\n desc: \"Supported prompt values are 'login', 'select_account', 'consent', 'create', 'none' and 'no_session'. Please see here for valid configuration options: https://azuread.github.io/microsoft-authentication-library-for-js/ref/modules/_azure_msal_common.html#commonauthorizationurlrequest\",\n },\n invalidClaimsRequest: {\n code: \"invalid_claims\",\n desc: \"Given claims parameter must be a stringified JSON object.\"\n },\n tokenRequestEmptyError: {\n code: \"token_request_empty\",\n desc: \"Token request was empty and not found in cache.\"\n },\n logoutRequestEmptyError: {\n code: \"logout_request_empty\",\n desc: \"The logout request was null or undefined.\"\n },\n invalidCodeChallengeMethod: {\n code: \"invalid_code_challenge_method\",\n desc: \"code_challenge_method passed is invalid. Valid values are \\\"plain\\\" and \\\"S256\\\".\"\n },\n invalidCodeChallengeParams: {\n code: \"pkce_params_missing\",\n desc: \"Both params: code_challenge and code_challenge_method are to be passed if to be sent in the request\"\n },\n invalidCloudDiscoveryMetadata: {\n code: \"invalid_cloud_discovery_metadata\",\n desc: \"Invalid cloudDiscoveryMetadata provided. Must be a stringified JSON object containing tenant_discovery_endpoint and metadata fields\"\n },\n invalidAuthorityMetadata: {\n code: \"invalid_authority_metadata\",\n desc: \"Invalid authorityMetadata provided. Must by a stringified JSON object containing authorization_endpoint, token_endpoint, issuer fields.\"\n },\n untrustedAuthority: {\n code: \"untrusted_authority\",\n desc: \"The provided authority is not a trusted authority. Please include this authority in the knownAuthorities config parameter.\"\n },\n invalidAzureCloudInstance: {\n code: \"invalid_azure_cloud_instance\",\n desc: \"Invalid AzureCloudInstance provided. Please refer MSAL JS docs: aks.ms/msaljs/azure_cloud_instance for valid values\"\n },\n missingSshJwk: {\n code: \"missing_ssh_jwk\",\n desc: \"Missing sshJwk in SSH certificate request. A stringified JSON Web Key is required when using the SSH authentication scheme.\"\n },\n missingSshKid: {\n code: \"missing_ssh_kid\",\n desc: \"Missing sshKid in SSH certificate request. A string that uniquely identifies the public SSH key is required when using the SSH authentication scheme.\"\n },\n missingNonceAuthenticationHeader: {\n code: \"missing_nonce_authentication_header\",\n desc: \"Unable to find an authentication header containing server nonce. Either the Authentication-Info or WWW-Authenticate headers must be present in order to obtain a server nonce.\"\n },\n invalidAuthenticationHeader: {\n code: \"invalid_authentication_header\",\n desc: \"Invalid authentication header provided\"\n }\n};\n\n/**\n * Error thrown when there is an error in configuration of the MSAL.js library.\n */\nexport class ClientConfigurationError extends ClientAuthError {\n\n constructor(errorCode: string, errorMessage?: string) {\n super(errorCode, errorMessage);\n this.name = \"ClientConfigurationError\";\n Object.setPrototypeOf(this, ClientConfigurationError.prototype);\n }\n\n /**\n * Creates an error thrown when the redirect uri is empty (not set by caller)\n */\n static createRedirectUriEmptyError(): ClientConfigurationError {\n return new ClientConfigurationError(ClientConfigurationErrorMessage.redirectUriNotSet.code,\n ClientConfigurationErrorMessage.redirectUriNotSet.desc);\n }\n\n /**\n * Creates an error thrown when the post-logout redirect uri is empty (not set by caller)\n */\n static createPostLogoutRedirectUriEmptyError(): ClientConfigurationError {\n return new ClientConfigurationError(ClientConfigurationErrorMessage.postLogoutUriNotSet.code,\n ClientConfigurationErrorMessage.postLogoutUriNotSet.desc);\n }\n\n /**\n * Creates an error thrown when the claims request could not be successfully parsed\n */\n static createClaimsRequestParsingError(claimsRequestParseError: string): ClientConfigurationError {\n return new ClientConfigurationError(ClientConfigurationErrorMessage.claimsRequestParsingError.code,\n `${ClientConfigurationErrorMessage.claimsRequestParsingError.desc} Given value: ${claimsRequestParseError}`);\n }\n\n /**\n * Creates an error thrown if authority uri is given an insecure protocol.\n * @param urlString\n */\n static createInsecureAuthorityUriError(urlString: string): ClientConfigurationError {\n return new ClientConfigurationError(ClientConfigurationErrorMessage.authorityUriInsecure.code,\n `${ClientConfigurationErrorMessage.authorityUriInsecure.desc} Given URI: ${urlString}`);\n }\n\n /**\n * Creates an error thrown if URL string does not parse into separate segments.\n * @param urlString\n */\n static createUrlParseError(urlParseError: string): ClientConfigurationError {\n return new ClientConfigurationError(ClientConfigurationErrorMessage.urlParseError.code,\n `${ClientConfigurationErrorMessage.urlParseError.desc} Given Error: ${urlParseError}`);\n }\n\n /**\n * Creates an error thrown if URL string is empty or null.\n * @param urlString\n */\n static createUrlEmptyError(): ClientConfigurationError {\n return new ClientConfigurationError(ClientConfigurationErrorMessage.urlEmptyError.code,\n ClientConfigurationErrorMessage.urlEmptyError.desc);\n }\n\n /**\n * Error thrown when scopes are empty.\n * @param scopesValue\n */\n static createEmptyScopesArrayError(): ClientConfigurationError {\n return new ClientConfigurationError(ClientConfigurationErrorMessage.emptyScopesError.code,\n `${ClientConfigurationErrorMessage.emptyScopesError.desc}`);\n }\n\n /**\n * Error thrown when client id scope is not provided as single scope.\n * @param inputScopes\n */\n static createClientIdSingleScopeError(inputScopes: Array): ClientConfigurationError {\n return new ClientConfigurationError(ClientConfigurationErrorMessage.clientIdSingleScopeError.code,\n `${ClientConfigurationErrorMessage.clientIdSingleScopeError.desc} Given Scopes: ${inputScopes}`);\n }\n\n /**\n * Error thrown when prompt is not an allowed type.\n * @param promptValue\n */\n static createInvalidPromptError(promptValue: string): ClientConfigurationError {\n return new ClientConfigurationError(ClientConfigurationErrorMessage.invalidPrompt.code,\n `${ClientConfigurationErrorMessage.invalidPrompt.desc} Given value: ${promptValue}`);\n }\n\n /**\n * Creates error thrown when claims parameter is not a stringified JSON object\n */\n static createInvalidClaimsRequestError(): ClientConfigurationError {\n return new ClientConfigurationError(ClientConfigurationErrorMessage.invalidClaimsRequest.code,\n ClientConfigurationErrorMessage.invalidClaimsRequest.desc);\n }\n\n /**\n * Throws error when token request is empty and nothing cached in storage.\n */\n static createEmptyLogoutRequestError(): ClientConfigurationError {\n return new ClientConfigurationError(\n ClientConfigurationErrorMessage.logoutRequestEmptyError.code,\n ClientConfigurationErrorMessage.logoutRequestEmptyError.desc\n );\n }\n\n /**\n * Throws error when token request is empty and nothing cached in storage.\n */\n static createEmptyTokenRequestError(): ClientConfigurationError {\n return new ClientConfigurationError(\n ClientConfigurationErrorMessage.tokenRequestEmptyError.code,\n ClientConfigurationErrorMessage.tokenRequestEmptyError.desc\n );\n }\n\n /**\n * Throws error when an invalid code_challenge_method is passed by the user\n */\n static createInvalidCodeChallengeMethodError(): ClientConfigurationError {\n return new ClientConfigurationError(\n ClientConfigurationErrorMessage.invalidCodeChallengeMethod.code,\n ClientConfigurationErrorMessage.invalidCodeChallengeMethod.desc\n );\n }\n\n /**\n * Throws error when both params: code_challenge and code_challenge_method are not passed together\n */\n static createInvalidCodeChallengeParamsError(): ClientConfigurationError {\n return new ClientConfigurationError(\n ClientConfigurationErrorMessage.invalidCodeChallengeParams.code,\n ClientConfigurationErrorMessage.invalidCodeChallengeParams.desc\n );\n }\n\n /**\n * Throws an error when the user passes invalid cloudDiscoveryMetadata\n */\n static createInvalidCloudDiscoveryMetadataError(): ClientConfigurationError {\n return new ClientConfigurationError(ClientConfigurationErrorMessage.invalidCloudDiscoveryMetadata.code,\n ClientConfigurationErrorMessage.invalidCloudDiscoveryMetadata.desc);\n }\n\n /**\n * Throws an error when the user passes invalid cloudDiscoveryMetadata\n */\n static createInvalidAuthorityMetadataError(): ClientConfigurationError {\n return new ClientConfigurationError(ClientConfigurationErrorMessage.invalidAuthorityMetadata.code,\n ClientConfigurationErrorMessage.invalidAuthorityMetadata.desc);\n }\n\n /**\n * Throws error when provided authority is not a member of the trusted host list\n */\n static createUntrustedAuthorityError(): ClientConfigurationError {\n return new ClientConfigurationError(ClientConfigurationErrorMessage.untrustedAuthority.code,\n ClientConfigurationErrorMessage.untrustedAuthority.desc);\n }\n\n /**\n * Throws error when the AzureCloudInstance is set to an invalid value\n */\n static createInvalidAzureCloudInstanceError(): ClientConfigurationError {\n return new ClientConfigurationError(ClientConfigurationErrorMessage.invalidAzureCloudInstance.code,\n ClientConfigurationErrorMessage.invalidAzureCloudInstance.desc);\n }\n\n /**\n * Throws an error when the authentication scheme is set to SSH but the SSH public key is omitted from the request\n */\n static createMissingSshJwkError(): ClientConfigurationError {\n return new ClientConfigurationError(ClientConfigurationErrorMessage.missingSshJwk.code,\n ClientConfigurationErrorMessage.missingSshJwk.desc);\n }\n\n /**\n * Throws an error when the authentication scheme is set to SSH but the SSH public key ID is omitted from the request\n */\n static createMissingSshKidError(): ClientConfigurationError {\n return new ClientConfigurationError(ClientConfigurationErrorMessage.missingSshKid.code,\n ClientConfigurationErrorMessage.missingSshKid.desc);\n }\n\n /**\n * Throws error when provided headers don't contain a header that a server nonce can be extracted from\n */\n static createMissingNonceAuthenticationHeadersError(): ClientConfigurationError {\n return new ClientConfigurationError(ClientConfigurationErrorMessage.missingNonceAuthenticationHeader.code,\n ClientConfigurationErrorMessage.missingNonceAuthenticationHeader.desc);\n }\n\n /**\n * Throws error when a provided header is invalid in any way\n */\n static createInvalidAuthenticationHeaderError(invalidHeaderName: string, details: string): ClientConfigurationError {\n return new ClientConfigurationError(ClientConfigurationErrorMessage.invalidAuthenticationHeader.code,\n `${ClientConfigurationErrorMessage.invalidAuthenticationHeader.desc}. Invalid header: ${invalidHeaderName}. Details: ${details}`);\n }\n}\n","/*\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport { ClientConfigurationError } from \"../error/ClientConfigurationError\";\nimport { StringUtils } from \"../utils/StringUtils\";\nimport { ClientAuthError } from \"../error/ClientAuthError\";\nimport { Constants, OIDC_SCOPES } from \"../utils/Constants\";\n\n/**\n * The ScopeSet class creates a set of scopes. Scopes are case-insensitive, unique values, so the Set object in JS makes\n * the most sense to implement for this class. All scopes are trimmed and converted to lower case strings in intersection and union functions\n * to ensure uniqueness of strings.\n */\nexport class ScopeSet {\n // Scopes as a Set of strings\n private scopes: Set;\n\n constructor(inputScopes: Array) {\n // Filter empty string and null/undefined array items\n const scopeArr = inputScopes ? StringUtils.trimArrayEntries([...inputScopes]) : [];\n const filteredInput = scopeArr ? StringUtils.removeEmptyStringsFromArray(scopeArr) : [];\n\n // Validate and filter scopes (validate function throws if validation fails)\n this.validateInputScopes(filteredInput);\n\n this.scopes = new Set(); // Iterator in constructor not supported by IE11\n filteredInput.forEach(scope => this.scopes.add(scope));\n }\n\n /**\n * Factory method to create ScopeSet from space-delimited string\n * @param inputScopeString\n * @param appClientId\n * @param scopesRequired\n */\n static fromString(inputScopeString: string): ScopeSet {\n const scopeString = inputScopeString || Constants.EMPTY_STRING;\n const inputScopes: Array = scopeString.split(\" \");\n return new ScopeSet(inputScopes);\n }\n\n /**\n * Used to validate the scopes input parameter requested by the developer.\n * @param {Array} inputScopes - Developer requested permissions. Not all scopes are guaranteed to be included in the access token returned.\n * @param {boolean} scopesRequired - Boolean indicating whether the scopes array is required or not\n */\n private validateInputScopes(inputScopes: Array): void {\n // Check if scopes are required but not given or is an empty array\n if (!inputScopes || inputScopes.length < 1) {\n throw ClientConfigurationError.createEmptyScopesArrayError();\n }\n }\n\n /**\n * Check if a given scope is present in this set of scopes.\n * @param scope\n */\n containsScope(scope: string): boolean {\n const lowerCaseScopes = this.printScopesLowerCase().split(\" \");\n const lowerCaseScopesSet = new ScopeSet(lowerCaseScopes);\n // compare lowercase scopes\n return !StringUtils.isEmpty(scope) ? lowerCaseScopesSet.scopes.has(scope.toLowerCase()) : false;\n }\n\n /**\n * Check if a set of scopes is present in this set of scopes.\n * @param scopeSet\n */\n containsScopeSet(scopeSet: ScopeSet): boolean {\n if (!scopeSet || scopeSet.scopes.size <= 0) {\n return false;\n }\n\n return (this.scopes.size >= scopeSet.scopes.size && scopeSet.asArray().every(scope => this.containsScope(scope)));\n }\n\n /**\n * Check if set of scopes contains only the defaults\n */\n containsOnlyOIDCScopes(): boolean {\n let defaultScopeCount = 0;\n OIDC_SCOPES.forEach((defaultScope: string) => {\n if (this.containsScope(defaultScope)) {\n defaultScopeCount += 1;\n }\n });\n\n return this.scopes.size === defaultScopeCount;\n }\n\n /**\n * Appends single scope if passed\n * @param newScope\n */\n appendScope(newScope: string): void {\n if (!StringUtils.isEmpty(newScope)) {\n this.scopes.add(newScope.trim());\n }\n }\n\n /**\n * Appends multiple scopes if passed\n * @param newScopes\n */\n appendScopes(newScopes: Array): void {\n try {\n newScopes.forEach(newScope => this.appendScope(newScope));\n } catch (e) {\n throw ClientAuthError.createAppendScopeSetError(e);\n }\n }\n\n /**\n * Removes element from set of scopes.\n * @param scope\n */\n removeScope(scope: string): void {\n if (StringUtils.isEmpty(scope)) {\n throw ClientAuthError.createRemoveEmptyScopeFromSetError(scope);\n }\n this.scopes.delete(scope.trim());\n }\n\n /**\n * Removes default scopes from set of scopes\n * Primarily used to prevent cache misses if the default scopes are not returned from the server\n */\n removeOIDCScopes(): void {\n OIDC_SCOPES.forEach((defaultScope: string) => {\n this.scopes.delete(defaultScope);\n });\n }\n\n /**\n * Combines an array of scopes with the current set of scopes.\n * @param otherScopes\n */\n unionScopeSets(otherScopes: ScopeSet): Set {\n if (!otherScopes) {\n throw ClientAuthError.createEmptyInputScopeSetError();\n }\n const unionScopes = new Set(); // Iterator in constructor not supported in IE11\n otherScopes.scopes.forEach(scope => unionScopes.add(scope.toLowerCase()));\n this.scopes.forEach(scope => unionScopes.add(scope.toLowerCase()));\n return unionScopes;\n }\n\n /**\n * Check if scopes intersect between this set and another.\n * @param otherScopes\n */\n intersectingScopeSets(otherScopes: ScopeSet): boolean {\n if (!otherScopes) {\n throw ClientAuthError.createEmptyInputScopeSetError();\n }\n \n // Do not allow OIDC scopes to be the only intersecting scopes\n if (!otherScopes.containsOnlyOIDCScopes()) {\n otherScopes.removeOIDCScopes();\n }\n const unionScopes = this.unionScopeSets(otherScopes);\n const sizeOtherScopes = otherScopes.getScopeCount();\n const sizeThisScopes = this.getScopeCount();\n const sizeUnionScopes = unionScopes.size;\n return sizeUnionScopes < (sizeThisScopes + sizeOtherScopes);\n }\n\n /**\n * Returns size of set of scopes.\n */\n getScopeCount(): number {\n return this.scopes.size;\n }\n\n /**\n * Returns the scopes as an array of string values\n */\n asArray(): Array {\n const array: Array = [];\n this.scopes.forEach(val => array.push(val));\n return array;\n }\n\n /**\n * Prints scopes into a space-delimited string\n */\n printScopes(): string {\n if (this.scopes) {\n const scopeArr = this.asArray();\n return scopeArr.join(\" \");\n }\n return Constants.EMPTY_STRING;\n }\n\n /**\n * Prints scopes into a space-delimited lower-case string (used for caching)\n */\n printScopesLowerCase(): string {\n return this.printScopes().toLowerCase();\n }\n}\n","/*\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport { TokenClaims } from \"./TokenClaims\";\nimport { DecodedAuthToken } from \"./DecodedAuthToken\";\nimport { ClientAuthError } from \"../error/ClientAuthError\";\nimport { StringUtils } from \"../utils/StringUtils\";\nimport { ICrypto } from \"../crypto/ICrypto\";\n\n/**\n * JWT Token representation class. Parses token string and generates claims object.\n */\nexport class AuthToken {\n\n // Raw Token string\n rawToken: string;\n // Claims inside token\n claims: TokenClaims;\n constructor(rawToken: string, crypto: ICrypto) {\n if (StringUtils.isEmpty(rawToken)) {\n throw ClientAuthError.createTokenNullOrEmptyError(rawToken);\n }\n\n this.rawToken = rawToken;\n this.claims = AuthToken.extractTokenClaims(rawToken, crypto);\n }\n\n /**\n * Extract token by decoding the rawToken\n *\n * @param encodedToken\n */\n static extractTokenClaims(encodedToken: string, crypto: ICrypto): TokenClaims {\n\n const decodedToken: DecodedAuthToken = StringUtils.decodeAuthToken(encodedToken);\n\n // token will be decoded to get the username\n try {\n const base64TokenPayload = decodedToken.JWSPayload;\n\n // base64Decode() should throw an error if there is an issue\n const base64Decoded = crypto.base64Decode(base64TokenPayload);\n return JSON.parse(base64Decoded) as TokenClaims;\n } catch (err) {\n throw ClientAuthError.createTokenParsingError(err);\n }\n }\n\n /**\n * Determine if the token's max_age has transpired\n */\n static checkMaxAge(authTime: number, maxAge: number): void {\n /*\n * per https://openid.net/specs/openid-connect-core-1_0.html#AuthRequest\n * To force an immediate re-authentication: If an app requires that a user re-authenticate prior to access,\n * provide a value of 0 for the max_age parameter and the AS will force a fresh login.\n */\n const fiveMinuteSkew = 300000; // five minutes in milliseconds\n if ((maxAge === 0) || ((Date.now() - fiveMinuteSkew) > (authTime + maxAge))) {\n throw ClientAuthError.createMaxAgeTranspiredError();\n }\n }\n}\n","/*\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport { AccountCache, AccountFilter, CredentialFilter, CredentialCache, ValidCredentialType, AppMetadataFilter, AppMetadataCache } from \"./utils/CacheTypes\";\nimport { CacheRecord } from \"./entities/CacheRecord\";\nimport { CacheSchemaType, CredentialType, Constants, APP_METADATA, THE_FAMILY_ID, AUTHORITY_METADATA_CONSTANTS, AuthenticationScheme } from \"../utils/Constants\";\nimport { CredentialEntity } from \"./entities/CredentialEntity\";\nimport { ScopeSet } from \"../request/ScopeSet\";\nimport { AccountEntity } from \"./entities/AccountEntity\";\nimport { AccessTokenEntity } from \"./entities/AccessTokenEntity\";\nimport { IdTokenEntity } from \"./entities/IdTokenEntity\";\nimport { RefreshTokenEntity } from \"./entities/RefreshTokenEntity\";\nimport { AuthError } from \"../error/AuthError\";\nimport { ICacheManager } from \"./interface/ICacheManager\";\nimport { ClientAuthError } from \"../error/ClientAuthError\";\nimport { AccountInfo } from \"../account/AccountInfo\";\nimport { AppMetadataEntity } from \"./entities/AppMetadataEntity\";\nimport { ServerTelemetryEntity } from \"./entities/ServerTelemetryEntity\";\nimport { ThrottlingEntity } from \"./entities/ThrottlingEntity\";\nimport { AuthToken } from \"../account/AuthToken\";\nimport { ICrypto } from \"../crypto/ICrypto\";\nimport { AuthorityMetadataEntity } from \"./entities/AuthorityMetadataEntity\";\nimport { BaseAuthRequest } from \"../request/BaseAuthRequest\";\n\n/**\n * Interface class which implement cache storage functions used by MSAL to perform validity checks, and store tokens.\n */\nexport abstract class CacheManager implements ICacheManager {\n protected clientId: string;\n protected cryptoImpl: ICrypto;\n\n constructor(clientId: string, cryptoImpl: ICrypto) {\n this.clientId = clientId;\n this.cryptoImpl = cryptoImpl;\n }\n\n /**\n * fetch the account entity from the platform cache\n * @param accountKey\n */\n abstract getAccount(accountKey: string): AccountEntity | null;\n\n /**\n * set account entity in the platform cache\n * @param account\n */\n abstract setAccount(account: AccountEntity): void;\n\n /**\n * fetch the idToken entity from the platform cache\n * @param idTokenKey\n */\n abstract getIdTokenCredential(idTokenKey: string): IdTokenEntity | null;\n\n /**\n * set idToken entity to the platform cache\n * @param idToken\n */\n abstract setIdTokenCredential(idToken: IdTokenEntity): void;\n\n /**\n * fetch the idToken entity from the platform cache\n * @param accessTokenKey\n */\n abstract getAccessTokenCredential(accessTokenKey: string): AccessTokenEntity | null;\n\n /**\n * set idToken entity to the platform cache\n * @param accessToken\n */\n abstract setAccessTokenCredential(accessToken: AccessTokenEntity): void;\n\n /**\n * fetch the idToken entity from the platform cache\n * @param refreshTokenKey\n */\n abstract getRefreshTokenCredential(refreshTokenKey: string): RefreshTokenEntity | null;\n\n /**\n * set idToken entity to the platform cache\n * @param refreshToken\n */\n abstract setRefreshTokenCredential(refreshToken: RefreshTokenEntity): void;\n\n /**\n * fetch appMetadata entity from the platform cache\n * @param appMetadataKey\n */\n abstract getAppMetadata(appMetadataKey: string): AppMetadataEntity | null;\n\n /**\n * set appMetadata entity to the platform cache\n * @param appMetadata\n */\n abstract setAppMetadata(appMetadata: AppMetadataEntity): void;\n\n /**\n * fetch server telemetry entity from the platform cache\n * @param serverTelemetryKey\n */\n abstract getServerTelemetry(serverTelemetryKey: string): ServerTelemetryEntity | null;\n\n /**\n * set server telemetry entity to the platform cache\n * @param serverTelemetryKey\n * @param serverTelemetry\n */\n abstract setServerTelemetry(serverTelemetryKey: string, serverTelemetry: ServerTelemetryEntity): void;\n\n /**\n * fetch cloud discovery metadata entity from the platform cache\n * @param key\n */\n abstract getAuthorityMetadata(key: string): AuthorityMetadataEntity | null;\n\n /**\n *\n */\n abstract getAuthorityMetadataKeys(): Array;\n\n /**\n * set cloud discovery metadata entity to the platform cache\n * @param key\n * @param value\n */\n abstract setAuthorityMetadata(key: string, value: AuthorityMetadataEntity): void;\n\n /**\n * fetch throttling entity from the platform cache\n * @param throttlingCacheKey\n */\n abstract getThrottlingCache(throttlingCacheKey: string): ThrottlingEntity | null;\n\n /**\n * set throttling entity to the platform cache\n * @param throttlingCacheKey\n * @param throttlingCache\n */\n abstract setThrottlingCache(throttlingCacheKey: string, throttlingCache: ThrottlingEntity): void;;\n\n /**\n * Function to remove an item from cache given its key.\n * @param key\n */\n abstract removeItem(key: string, type?: string): boolean;\n\n /**\n * Function which returns boolean whether cache contains a specific key.\n * @param key\n */\n abstract containsKey(key: string, type?: string): boolean;\n\n /**\n * Function which retrieves all current keys from the cache.\n */\n abstract getKeys(): string[];\n\n /**\n * Function which clears cache.\n */\n abstract clear(): Promise;\n\n /**\n * Function which updates an outdated credential cache key\n */\n abstract updateCredentialCacheKey(currentCacheKey: string, credential: ValidCredentialType): string;\n\n /**\n * Returns all accounts in cache\n */\n getAllAccounts(): AccountInfo[] {\n const currentAccounts: AccountCache = this.getAccountsFilteredBy();\n const accountValues: AccountEntity[] = Object.keys(currentAccounts).map(accountKey => currentAccounts[accountKey]);\n const numAccounts = accountValues.length;\n if (numAccounts < 1) {\n return [];\n } else {\n const allAccounts = accountValues.map((value) => {\n const accountEntity = CacheManager.toObject(new AccountEntity(), value);\n const accountInfo = accountEntity.getAccountInfo();\n const idToken = this.readIdTokenFromCache(this.clientId, accountInfo);\n if (idToken && !accountInfo.idTokenClaims) {\n accountInfo.idToken = idToken.secret;\n accountInfo.idTokenClaims = new AuthToken(idToken.secret, this.cryptoImpl).claims;\n }\n\n return accountInfo;\n\n });\n return allAccounts;\n }\n }\n\n /**\n * saves a cache record\n * @param cacheRecord\n */\n async saveCacheRecord(cacheRecord: CacheRecord): Promise {\n if (!cacheRecord) {\n throw ClientAuthError.createNullOrUndefinedCacheRecord();\n }\n\n if (!!cacheRecord.account) {\n this.setAccount(cacheRecord.account);\n }\n\n if (!!cacheRecord.idToken) {\n this.setIdTokenCredential(cacheRecord.idToken);\n }\n\n if (!!cacheRecord.accessToken) {\n await this.saveAccessToken(cacheRecord.accessToken);\n }\n\n if (!!cacheRecord.refreshToken) {\n this.setRefreshTokenCredential(cacheRecord.refreshToken);\n }\n\n if (!!cacheRecord.appMetadata) {\n this.setAppMetadata(cacheRecord.appMetadata);\n }\n }\n\n /**\n * saves access token credential\n * @param credential\n */\n private async saveAccessToken(credential: AccessTokenEntity): Promise {\n const currentTokenCache = this.getCredentialsFilteredBy({\n clientId: credential.clientId,\n credentialType: credential.credentialType,\n environment: credential.environment,\n homeAccountId: credential.homeAccountId,\n realm: credential.realm,\n tokenType: credential.tokenType,\n requestedClaimsHash: credential.requestedClaimsHash\n });\n\n const currentScopes = ScopeSet.fromString(credential.target);\n const currentAccessTokens: AccessTokenEntity[] = Object.keys(currentTokenCache.accessTokens).map(key => currentTokenCache.accessTokens[key]);\n\n if (currentAccessTokens) {\n const removedAccessTokens: Array> = [];\n currentAccessTokens.forEach((tokenEntity) => {\n const tokenScopeSet = ScopeSet.fromString(tokenEntity.target);\n if (tokenScopeSet.intersectingScopeSets(currentScopes)) {\n removedAccessTokens.push(this.removeCredential(tokenEntity));\n }\n });\n await Promise.all(removedAccessTokens);\n }\n this.setAccessTokenCredential(credential);\n }\n\n /**\n * retrieve accounts matching all provided filters; if no filter is set, get all accounts\n * not checking for casing as keys are all generated in lower case, remember to convert to lower case if object properties are compared\n * @param homeAccountId\n * @param environment\n * @param realm\n */\n getAccountsFilteredBy(accountFilter?: AccountFilter): AccountCache {\n return this.getAccountsFilteredByInternal(\n accountFilter ? accountFilter.homeAccountId : Constants.EMPTY_STRING,\n accountFilter ? accountFilter.environment : Constants.EMPTY_STRING,\n accountFilter ? accountFilter.realm : Constants.EMPTY_STRING,\n accountFilter ? accountFilter.nativeAccountId: Constants.EMPTY_STRING,\n );\n }\n\n /**\n * retrieve accounts matching all provided filters; if no filter is set, get all accounts\n * not checking for casing as keys are all generated in lower case, remember to convert to lower case if object properties are compared\n * @param homeAccountId\n * @param environment\n * @param realm\n */\n private getAccountsFilteredByInternal(\n homeAccountId?: string,\n environment?: string,\n realm?: string,\n nativeAccountId?: string,\n ): AccountCache {\n const allCacheKeys = this.getKeys();\n const matchingAccounts: AccountCache = {};\n\n allCacheKeys.forEach((cacheKey) => {\n const entity: AccountEntity | null = this.getAccount(cacheKey);\n\n if (!entity) {\n return;\n }\n\n if (!!homeAccountId && !this.matchHomeAccountId(entity, homeAccountId)) {\n return;\n }\n\n if (!!environment && !this.matchEnvironment(entity, environment)) {\n return;\n }\n\n if (!!realm && !this.matchRealm(entity, realm)) {\n return;\n }\n\n if (!!nativeAccountId && !this.matchNativeAccountId(entity, nativeAccountId)) {\n return;\n }\n\n matchingAccounts[cacheKey] = entity;\n });\n\n return matchingAccounts;\n }\n\n /**\n * retrieve credentails matching all provided filters; if no filter is set, get all credentials\n * @param homeAccountId\n * @param environment\n * @param credentialType\n * @param clientId\n * @param realm\n * @param target\n */\n getCredentialsFilteredBy(filter: CredentialFilter): CredentialCache {\n return this.getCredentialsFilteredByInternal(\n filter.homeAccountId,\n filter.environment,\n filter.credentialType,\n filter.clientId,\n filter.familyId,\n filter.realm,\n filter.target,\n filter.userAssertionHash,\n filter.tokenType,\n filter.keyId,\n filter.requestedClaimsHash\n );\n }\n\n /**\n * Support function to help match credentials\n * @param homeAccountId\n * @param environment\n * @param credentialType\n * @param clientId\n * @param realm\n * @param target\n * @param userAssertionHash\n * @param tokenType\n */\n private getCredentialsFilteredByInternal(\n homeAccountId?: string,\n environment?: string,\n credentialType?: string,\n clientId?: string,\n familyId?: string,\n realm?: string,\n target?: string,\n userAssertionHash?: string,\n tokenType?: AuthenticationScheme,\n keyId?: string,\n requestedClaimsHash?: string\n ): CredentialCache {\n const allCacheKeys = this.getKeys();\n const matchingCredentials: CredentialCache = {\n idTokens: {},\n accessTokens: {},\n refreshTokens: {},\n };\n\n allCacheKeys.forEach((cacheKey) => {\n // don't parse any non-credential type cache entities\n const credType = CredentialEntity.getCredentialType(cacheKey);\n\n if (credType === Constants.NOT_DEFINED) {\n return;\n }\n\n // Attempt retrieval\n const entity = this.getSpecificCredential(cacheKey, credType);\n\n if (!entity) {\n return;\n }\n\n if (!!userAssertionHash && !this.matchUserAssertionHash(entity, userAssertionHash)) {\n return;\n }\n\n /*\n * homeAccountId can undefined, and we want to filter out cached items that have a homeAccountId of \"\"\n * because we don't want a client_credential request to return a cached token that has a homeAccountId\n */\n if ((typeof homeAccountId === \"string\") && !this.matchHomeAccountId(entity, homeAccountId)) {\n return;\n }\n\n if (!!environment && !this.matchEnvironment(entity, environment)) {\n return;\n }\n\n if (!!realm && !this.matchRealm(entity, realm)) {\n return;\n }\n\n if (!!credentialType && !this.matchCredentialType(entity, credentialType)) {\n return;\n }\n\n if (!!clientId && !this.matchClientId(entity, clientId)) {\n return;\n }\n\n if (!!familyId && !this.matchFamilyId(entity, familyId)) {\n return;\n }\n\n /*\n * idTokens do not have \"target\", target specific refreshTokens do exist for some types of authentication\n * Resource specific refresh tokens case will be added when the support is deemed necessary\n */\n if (!!target && !this.matchTarget(entity, target)) {\n return;\n }\n\n // If request OR cached entity has requested Claims Hash, check if they match\n if (requestedClaimsHash || entity.requestedClaimsHash) {\n // Don't match if either is undefined or they are different\n if (entity.requestedClaimsHash !== requestedClaimsHash) {\n return;\n }\n }\n\n // Access Token with Auth Scheme specific matching\n if (credentialType === CredentialType.ACCESS_TOKEN_WITH_AUTH_SCHEME) {\n if(!!tokenType && !this.matchTokenType(entity, tokenType)) {\n return;\n }\n\n // KeyId (sshKid) in request must match cached SSH certificate keyId because SSH cert is bound to a specific key\n if (tokenType === AuthenticationScheme.SSH) {\n if(keyId && !this.matchKeyId(entity, keyId)) {\n return;\n }\n }\n }\n\n // At this point, the entity matches the request, update cache key if key schema has changed\n const updatedCacheKey = this.updateCredentialCacheKey(cacheKey, entity);\n\n switch (credType) {\n case CredentialType.ID_TOKEN:\n matchingCredentials.idTokens[updatedCacheKey] = entity as IdTokenEntity;\n break;\n case CredentialType.ACCESS_TOKEN:\n case CredentialType.ACCESS_TOKEN_WITH_AUTH_SCHEME:\n matchingCredentials.accessTokens[updatedCacheKey] = entity as AccessTokenEntity;\n break;\n case CredentialType.REFRESH_TOKEN:\n matchingCredentials.refreshTokens[updatedCacheKey] = entity as RefreshTokenEntity;\n break;\n }\n });\n\n return matchingCredentials;\n }\n\n /**\n * retrieve appMetadata matching all provided filters; if no filter is set, get all appMetadata\n * @param filter\n */\n getAppMetadataFilteredBy(filter: AppMetadataFilter): AppMetadataCache {\n return this.getAppMetadataFilteredByInternal(\n filter.environment,\n filter.clientId,\n );\n }\n\n /**\n * Support function to help match appMetadata\n * @param environment\n * @param clientId\n */\n private getAppMetadataFilteredByInternal(\n environment?: string,\n clientId?: string\n ): AppMetadataCache {\n\n const allCacheKeys = this.getKeys();\n const matchingAppMetadata: AppMetadataCache = {};\n\n allCacheKeys.forEach((cacheKey) => {\n // don't parse any non-appMetadata type cache entities\n if (!this.isAppMetadata(cacheKey)) {\n return;\n }\n\n // Attempt retrieval\n const entity = this.getAppMetadata(cacheKey);\n\n if (!entity) {\n return;\n }\n\n if (!!environment && !this.matchEnvironment(entity, environment)) {\n return;\n }\n\n if (!!clientId && !this.matchClientId(entity, clientId)) {\n return;\n }\n\n matchingAppMetadata[cacheKey] = entity;\n\n });\n\n return matchingAppMetadata;\n }\n\n /**\n * retrieve authorityMetadata that contains a matching alias\n * @param filter\n */\n getAuthorityMetadataByAlias(host: string): AuthorityMetadataEntity | null {\n const allCacheKeys = this.getAuthorityMetadataKeys();\n let matchedEntity = null;\n\n allCacheKeys.forEach((cacheKey) => {\n // don't parse any non-authorityMetadata type cache entities\n if (!this.isAuthorityMetadata(cacheKey) || cacheKey.indexOf(this.clientId) === -1) {\n return;\n }\n\n // Attempt retrieval\n const entity = this.getAuthorityMetadata(cacheKey);\n\n if (!entity) {\n return;\n }\n\n if (entity.aliases.indexOf(host) === -1) {\n return;\n }\n\n matchedEntity = entity;\n\n });\n\n return matchedEntity;\n }\n\n /**\n * Removes all accounts and related tokens from cache.\n */\n async removeAllAccounts(): Promise {\n const allCacheKeys = this.getKeys();\n const removedAccounts: Array> = [];\n\n allCacheKeys.forEach((cacheKey) => {\n const entity = this.getAccount(cacheKey);\n if (!entity) {\n return;\n }\n removedAccounts.push(this.removeAccount(cacheKey));\n });\n\n await Promise.all(removedAccounts);\n return true;\n }\n\n /**\n * returns a boolean if the given account is removed\n * @param account\n */\n async removeAccount(accountKey: string): Promise {\n const account = this.getAccount(accountKey);\n if (!account) {\n throw ClientAuthError.createNoAccountFoundError();\n }\n return (await this.removeAccountContext(account) && this.removeItem(accountKey, CacheSchemaType.ACCOUNT));\n }\n\n /**\n * Removes credentials associated with the provided account\n * @param account\n */\n async removeAccountContext(account: AccountEntity): Promise {\n const allCacheKeys = this.getKeys();\n const accountId = account.generateAccountId();\n const removedCredentials: Array> = [];\n\n allCacheKeys.forEach((cacheKey) => {\n // don't parse any non-credential type cache entities\n const credType = CredentialEntity.getCredentialType(cacheKey);\n if (credType === Constants.NOT_DEFINED) {\n return;\n }\n\n const cacheEntity = this.getSpecificCredential(cacheKey, credType);\n if (!!cacheEntity && accountId === cacheEntity.generateAccountId()) {\n removedCredentials.push(this.removeCredential(cacheEntity));\n }\n });\n\n await Promise.all(removedCredentials);\n return true;\n }\n\n /**\n * returns a boolean if the given credential is removed\n * @param credential\n */\n async removeCredential(credential: CredentialEntity): Promise {\n const key = credential.generateCredentialKey();\n\n // Remove Token Binding Key from key store for PoP Tokens Credentials\n if (credential.credentialType.toLowerCase() === CredentialType.ACCESS_TOKEN_WITH_AUTH_SCHEME.toLowerCase()) {\n if(credential.tokenType === AuthenticationScheme.POP) {\n const accessTokenWithAuthSchemeEntity = credential as AccessTokenEntity;\n const kid = accessTokenWithAuthSchemeEntity.keyId;\n\n if (kid) {\n try {\n await this.cryptoImpl.removeTokenBindingKey(kid);\n } catch (error) {\n throw ClientAuthError.createBindingKeyNotRemovedError();\n }\n }\n }\n }\n\n return this.removeItem(key, CacheSchemaType.CREDENTIAL);\n }\n\n /**\n * Removes all app metadata objects from cache.\n */\n removeAppMetadata(): boolean {\n const allCacheKeys = this.getKeys();\n allCacheKeys.forEach((cacheKey) => {\n if (this.isAppMetadata(cacheKey)) {\n this.removeItem(cacheKey, CacheSchemaType.APP_METADATA);\n }\n });\n\n return true;\n }\n\n /**\n * Retrieve the cached credentials into a cacherecord\n * @param account\n * @param clientId\n * @param scopes\n * @param environment\n * @param authScheme\n */\n readCacheRecord(account: AccountInfo, clientId: string, request: BaseAuthRequest, environment: string): CacheRecord {\n\n const cachedAccount = this.readAccountFromCache(account);\n const cachedIdToken = this.readIdTokenFromCache(clientId, account);\n const cachedAccessToken = this.readAccessTokenFromCache(clientId, account, request);\n const cachedRefreshToken = this.readRefreshTokenFromCache(clientId, account, false);\n const cachedAppMetadata = this.readAppMetadataFromCache(environment, clientId);\n\n if (cachedAccount && cachedIdToken) {\n cachedAccount.idTokenClaims = new AuthToken(cachedIdToken.secret, this.cryptoImpl).claims;\n }\n\n return {\n account: cachedAccount,\n idToken: cachedIdToken,\n accessToken: cachedAccessToken,\n refreshToken: cachedRefreshToken,\n appMetadata: cachedAppMetadata,\n };\n }\n\n /**\n * Retrieve AccountEntity from cache\n * @param account\n */\n readAccountFromCache(account: AccountInfo): AccountEntity | null {\n const accountKey: string = AccountEntity.generateAccountCacheKey(account);\n return this.getAccount(accountKey);\n }\n\n /**\n * Retrieve AccountEntity from cache\n * @param nativeAccountId\n * @returns AccountEntity or Null\n */\n readAccountFromCacheWithNativeAccountId(nativeAccountId: string): AccountEntity | null {\n // fetch account from memory\n const accountFilter: AccountFilter = {\n nativeAccountId\n };\n const accountCache: AccountCache = this.getAccountsFilteredBy(accountFilter);\n const accounts = Object.keys(accountCache).map((key) => accountCache[key]);\n\n if (accounts.length < 1) {\n return null;\n } else if (accounts.length > 1) {\n throw ClientAuthError.createMultipleMatchingAccountsInCacheError();\n }\n\n return accountCache[0];\n }\n\n /**\n * Retrieve IdTokenEntity from cache\n * @param clientId\n * @param account\n * @param inputRealm\n */\n readIdTokenFromCache(clientId: string, account: AccountInfo): IdTokenEntity | null {\n const idTokenFilter: CredentialFilter = {\n homeAccountId: account.homeAccountId,\n environment: account.environment,\n credentialType: CredentialType.ID_TOKEN,\n clientId: clientId,\n realm: account.tenantId,\n };\n\n const credentialCache: CredentialCache = this.getCredentialsFilteredBy(idTokenFilter);\n const idTokens = Object.keys(credentialCache.idTokens).map((key) => credentialCache.idTokens[key]);\n const numIdTokens = idTokens.length;\n\n if (numIdTokens < 1) {\n return null;\n } else if (numIdTokens > 1) {\n throw ClientAuthError.createMultipleMatchingTokensInCacheError();\n }\n\n return idTokens[0] as IdTokenEntity;\n }\n\n /**\n * Retrieve AccessTokenEntity from cache\n * @param clientId\n * @param account\n * @param scopes\n * @param authScheme\n */\n readAccessTokenFromCache(clientId: string, account: AccountInfo, request: BaseAuthRequest): AccessTokenEntity | null {\n const scopes = new ScopeSet(request.scopes || []);\n const authScheme = request.authenticationScheme || AuthenticationScheme.BEARER;\n /*\n * Distinguish between Bearer and PoP/SSH token cache types\n * Cast to lowercase to handle \"bearer\" from ADFS\n */\n const credentialType = (authScheme && authScheme.toLowerCase() !== AuthenticationScheme.BEARER.toLowerCase()) ? CredentialType.ACCESS_TOKEN_WITH_AUTH_SCHEME : CredentialType.ACCESS_TOKEN;\n\n const accessTokenFilter: CredentialFilter = {\n homeAccountId: account.homeAccountId,\n environment: account.environment,\n credentialType: credentialType,\n clientId,\n realm: account.tenantId,\n target: scopes.printScopesLowerCase(),\n tokenType: authScheme,\n keyId: request.sshKid,\n requestedClaimsHash: request.requestedClaimsHash,\n };\n\n const credentialCache: CredentialCache = this.getCredentialsFilteredBy(accessTokenFilter);\n\n const accessTokens = Object.keys(credentialCache.accessTokens).map((key) => credentialCache.accessTokens[key]);\n\n const numAccessTokens = accessTokens.length;\n if (numAccessTokens < 1) {\n return null;\n } else if (numAccessTokens > 1) {\n throw ClientAuthError.createMultipleMatchingTokensInCacheError();\n }\n\n return accessTokens[0] as AccessTokenEntity;\n }\n\n /**\n * Helper to retrieve the appropriate refresh token from cache\n * @param clientId\n * @param account\n * @param familyRT\n */\n readRefreshTokenFromCache(clientId: string, account: AccountInfo, familyRT: boolean): RefreshTokenEntity | null {\n const id = familyRT ? THE_FAMILY_ID : undefined;\n const refreshTokenFilter: CredentialFilter = {\n homeAccountId: account.homeAccountId,\n environment: account.environment,\n credentialType: CredentialType.REFRESH_TOKEN,\n clientId: clientId,\n familyId: id,\n };\n\n const credentialCache: CredentialCache = this.getCredentialsFilteredBy(refreshTokenFilter);\n const refreshTokens = Object.keys(credentialCache.refreshTokens).map((key) => credentialCache.refreshTokens[key]);\n\n const numRefreshTokens = refreshTokens.length;\n if (numRefreshTokens < 1) {\n return null;\n }\n // address the else case after remove functions address environment aliases\n\n return refreshTokens[0] as RefreshTokenEntity;\n }\n\n /**\n * Retrieve AppMetadataEntity from cache\n */\n readAppMetadataFromCache(environment: string, clientId: string): AppMetadataEntity | null {\n const appMetadataFilter: AppMetadataFilter = {\n environment,\n clientId,\n };\n\n const appMetadata: AppMetadataCache = this.getAppMetadataFilteredBy(appMetadataFilter);\n const appMetadataEntries: AppMetadataEntity[] = Object.keys(appMetadata).map((key) => appMetadata[key]);\n\n const numAppMetadata = appMetadataEntries.length;\n if (numAppMetadata < 1) {\n return null;\n } else if (numAppMetadata > 1) {\n throw ClientAuthError.createMultipleMatchingAppMetadataInCacheError();\n }\n\n return appMetadataEntries[0] as AppMetadataEntity;\n }\n\n /**\n * Return the family_id value associated with FOCI\n * @param environment\n * @param clientId\n */\n isAppMetadataFOCI(environment: string, clientId: string): boolean {\n const appMetadata = this.readAppMetadataFromCache(environment, clientId);\n return !!(appMetadata && appMetadata.familyId === THE_FAMILY_ID);\n }\n\n /**\n * helper to match account ids\n * @param value\n * @param homeAccountId\n */\n private matchHomeAccountId(entity: AccountEntity | CredentialEntity, homeAccountId: string): boolean {\n return !!((typeof entity.homeAccountId === \"string\") && (homeAccountId === entity.homeAccountId));\n }\n\n /**\n * helper to match assertion\n * @param value\n * @param oboAssertion\n */\n private matchUserAssertionHash(entity: CredentialEntity, userAssertionHash: string): boolean {\n return !!(entity.userAssertionHash && userAssertionHash === entity.userAssertionHash);\n }\n\n /**\n * helper to match environment\n * @param value\n * @param environment\n */\n private matchEnvironment(entity: AccountEntity | CredentialEntity | AppMetadataEntity, environment: string): boolean {\n const cloudMetadata = this.getAuthorityMetadataByAlias(environment);\n if (cloudMetadata && cloudMetadata.aliases.indexOf(entity.environment) > -1) {\n return true;\n }\n\n return false;\n }\n\n /**\n * helper to match credential type\n * @param entity\n * @param credentialType\n */\n private matchCredentialType(entity: CredentialEntity, credentialType: string): boolean {\n return (entity.credentialType && credentialType.toLowerCase() === entity.credentialType.toLowerCase());\n }\n\n /**\n * helper to match client ids\n * @param entity\n * @param clientId\n */\n private matchClientId(entity: CredentialEntity | AppMetadataEntity, clientId: string): boolean {\n return !!(entity.clientId && clientId === entity.clientId);\n }\n\n /**\n * helper to match family ids\n * @param entity\n * @param familyId\n */\n private matchFamilyId(entity: CredentialEntity | AppMetadataEntity, familyId: string): boolean {\n return !!(entity.familyId && familyId === entity.familyId);\n }\n\n /**\n * helper to match realm\n * @param entity\n * @param realm\n */\n private matchRealm(entity: AccountEntity | CredentialEntity, realm: string): boolean {\n return !!(entity.realm && realm === entity.realm);\n }\n\n /**\n * helper to match nativeAccountId\n * @param entity\n * @param nativeAccountId\n * @returns boolean indicating the match result\n */\n private matchNativeAccountId(entity: AccountEntity, nativeAccountId: string): boolean {\n return !!(entity.nativeAccountId && nativeAccountId === entity.nativeAccountId);\n }\n\n /**\n * Returns true if the target scopes are a subset of the current entity's scopes, false otherwise.\n * @param entity\n * @param target\n */\n private matchTarget(entity: CredentialEntity, target: string): boolean {\n const isNotAccessTokenCredential = (entity.credentialType !== CredentialType.ACCESS_TOKEN && entity.credentialType !== CredentialType.ACCESS_TOKEN_WITH_AUTH_SCHEME);\n\n if ( isNotAccessTokenCredential || !entity.target) {\n return false;\n }\n\n const entityScopeSet: ScopeSet = ScopeSet.fromString(entity.target);\n const requestTargetScopeSet: ScopeSet = ScopeSet.fromString(target);\n\n if (!requestTargetScopeSet.containsOnlyOIDCScopes()) {\n requestTargetScopeSet.removeOIDCScopes(); // ignore OIDC scopes\n } else {\n requestTargetScopeSet.removeScope(Constants.OFFLINE_ACCESS_SCOPE);\n }\n return entityScopeSet.containsScopeSet(requestTargetScopeSet);\n }\n\n /**\n * Returns true if the credential's tokenType or Authentication Scheme matches the one in the request, false otherwise\n * @param entity\n * @param tokenType\n */\n private matchTokenType(entity: CredentialEntity, tokenType: AuthenticationScheme): boolean {\n return !!(entity.tokenType && entity.tokenType === tokenType);\n }\n\n /**\n * Returns true if the credential's keyId matches the one in the request, false otherwise\n * @param entity\n * @param tokenType\n */\n private matchKeyId(entity: CredentialEntity, keyId: string): boolean {\n return !!(entity.keyId && entity.keyId === keyId);\n }\n\n /**\n * returns if a given cache entity is of the type appmetadata\n * @param key\n */\n private isAppMetadata(key: string): boolean {\n return key.indexOf(APP_METADATA) !== -1;\n }\n\n /**\n * returns if a given cache entity is of the type authoritymetadata\n * @param key\n */\n protected isAuthorityMetadata(key: string): boolean {\n return key.indexOf(AUTHORITY_METADATA_CONSTANTS.CACHE_KEY) !== -1;\n }\n\n /**\n * returns cache key used for cloud instance metadata\n */\n generateAuthorityMetadataCacheKey(authority: string): string {\n return `${AUTHORITY_METADATA_CONSTANTS.CACHE_KEY}-${this.clientId}-${authority}`;\n }\n\n /**\n * Returns the specific credential (IdToken/AccessToken/RefreshToken) from the cache\n * @param key\n * @param credType\n */\n private getSpecificCredential(key: string, credType: string): ValidCredentialType | null {\n switch (credType) {\n case CredentialType.ID_TOKEN: {\n return this.getIdTokenCredential(key);\n }\n case CredentialType.ACCESS_TOKEN:\n case CredentialType.ACCESS_TOKEN_WITH_AUTH_SCHEME: {\n return this.getAccessTokenCredential(key);\n }\n case CredentialType.REFRESH_TOKEN: {\n return this.getRefreshTokenCredential(key);\n }\n default:\n return null;\n }\n }\n\n /**\n * Helper to convert serialized data to object\n * @param obj\n * @param json\n */\n static toObject(obj: T, json: object): T {\n for (const propertyName in json) {\n obj[propertyName] = json[propertyName];\n }\n return obj;\n }\n}\n\nexport class DefaultStorageClass extends CacheManager {\n setAccount(): void {\n const notImplErr = \"Storage interface - setAccount() has not been implemented for the cacheStorage interface.\";\n throw AuthError.createUnexpectedError(notImplErr);\n }\n getAccount(): AccountEntity {\n const notImplErr = \"Storage interface - getAccount() has not been implemented for the cacheStorage interface.\";\n throw AuthError.createUnexpectedError(notImplErr);\n }\n setIdTokenCredential(): void {\n const notImplErr = \"Storage interface - setIdTokenCredential() has not been implemented for the cacheStorage interface.\";\n throw AuthError.createUnexpectedError(notImplErr);\n }\n getIdTokenCredential(): IdTokenEntity {\n const notImplErr = \"Storage interface - getIdTokenCredential() has not been implemented for the cacheStorage interface.\";\n throw AuthError.createUnexpectedError(notImplErr);\n }\n setAccessTokenCredential(): void {\n const notImplErr = \"Storage interface - setAccessTokenCredential() has not been implemented for the cacheStorage interface.\";\n throw AuthError.createUnexpectedError(notImplErr);\n }\n getAccessTokenCredential(): AccessTokenEntity {\n const notImplErr = \"Storage interface - getAccessTokenCredential() has not been implemented for the cacheStorage interface.\";\n throw AuthError.createUnexpectedError(notImplErr);\n }\n setRefreshTokenCredential(): void {\n const notImplErr = \"Storage interface - setRefreshTokenCredential() has not been implemented for the cacheStorage interface.\";\n throw AuthError.createUnexpectedError(notImplErr);\n }\n getRefreshTokenCredential(): RefreshTokenEntity {\n const notImplErr = \"Storage interface - getRefreshTokenCredential() has not been implemented for the cacheStorage interface.\";\n throw AuthError.createUnexpectedError(notImplErr);\n }\n setAppMetadata(): void {\n const notImplErr = \"Storage interface - setAppMetadata() has not been implemented for the cacheStorage interface.\";\n throw AuthError.createUnexpectedError(notImplErr);\n }\n getAppMetadata(): AppMetadataEntity {\n const notImplErr = \"Storage interface - getAppMetadata() has not been implemented for the cacheStorage interface.\";\n throw AuthError.createUnexpectedError(notImplErr);\n }\n setServerTelemetry(): void {\n const notImplErr = \"Storage interface - setServerTelemetry() has not been implemented for the cacheStorage interface.\";\n throw AuthError.createUnexpectedError(notImplErr);\n }\n getServerTelemetry(): ServerTelemetryEntity {\n const notImplErr = \"Storage interface - getServerTelemetry() has not been implemented for the cacheStorage interface.\";\n throw AuthError.createUnexpectedError(notImplErr);\n }\n setAuthorityMetadata(): void {\n const notImplErr = \"Storage interface - setAuthorityMetadata() has not been implemented for the cacheStorage interface.\";\n throw AuthError.createUnexpectedError(notImplErr);\n }\n getAuthorityMetadata(): AuthorityMetadataEntity | null {\n const notImplErr = \"Storage interface - getAuthorityMetadata() has not been implemented for the cacheStorage interface.\";\n throw AuthError.createUnexpectedError(notImplErr);\n }\n getAuthorityMetadataKeys(): Array {\n const notImplErr = \"Storage interface - getAuthorityMetadataKeys() has not been implemented for the cacheStorage interface.\";\n throw AuthError.createUnexpectedError(notImplErr);\n }\n setThrottlingCache(): void {\n const notImplErr = \"Storage interface - setThrottlingCache() has not been implemented for the cacheStorage interface.\";\n throw AuthError.createUnexpectedError(notImplErr);\n }\n getThrottlingCache(): ThrottlingEntity {\n const notImplErr = \"Storage interface - getThrottlingCache() has not been implemented for the cacheStorage interface.\";\n throw AuthError.createUnexpectedError(notImplErr);\n }\n removeItem(): boolean {\n const notImplErr = \"Storage interface - removeItem() has not been implemented for the cacheStorage interface.\";\n throw AuthError.createUnexpectedError(notImplErr);\n }\n containsKey(): boolean {\n const notImplErr = \"Storage interface - containsKey() has not been implemented for the cacheStorage interface.\";\n throw AuthError.createUnexpectedError(notImplErr);\n }\n getKeys(): string[] {\n const notImplErr = \"Storage interface - getKeys() has not been implemented for the cacheStorage interface.\";\n throw AuthError.createUnexpectedError(notImplErr);\n }\n async clear(): Promise {\n const notImplErr = \"Storage interface - clear() has not been implemented for the cacheStorage interface.\";\n throw AuthError.createUnexpectedError(notImplErr);\n }\n updateCredentialCacheKey(): string {\n const notImplErr = \"Storage interface - updateCredentialCacheKey() has not been implemented for the cacheStorage interface.\";\n throw AuthError.createUnexpectedError(notImplErr);\n }\n}\n","/*\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport { CredentialEntity } from \"./CredentialEntity\";\nimport { CredentialType } from \"../../utils/Constants\";\n\n/**\n * ID_TOKEN Cache\n *\n * Key:Value Schema:\n *\n * Key Example: uid.utid-login.microsoftonline.com-idtoken-clientId-contoso.com-\n *\n * Value Schema:\n * {\n * homeAccountId: home account identifier for the auth scheme,\n * environment: entity that issued the token, represented as a full host\n * credentialType: Type of credential as a string, can be one of the following: RefreshToken, AccessToken, IdToken, Password, Cookie, Certificate, Other\n * clientId: client ID of the application\n * secret: Actual credential as a string\n * realm: Full tenant or organizational identifier that the account belongs to\n * }\n */\nexport class IdTokenEntity extends CredentialEntity {\n realm: string;\n\n /**\n * Create IdTokenEntity\n * @param homeAccountId\n * @param authenticationResult\n * @param clientId\n * @param authority\n */\n static createIdTokenEntity(\n homeAccountId: string,\n environment: string,\n idToken: string,\n clientId: string,\n tenantId: string,\n ): IdTokenEntity {\n const idTokenEntity = new IdTokenEntity();\n\n idTokenEntity.credentialType = CredentialType.ID_TOKEN;\n idTokenEntity.homeAccountId = homeAccountId;\n idTokenEntity.environment = environment;\n idTokenEntity.clientId = clientId;\n idTokenEntity.secret = idToken;\n idTokenEntity.realm = tenantId;\n\n return idTokenEntity;\n }\n\n /**\n * Validates an entity: checks for all expected params\n * @param entity\n */\n static isIdTokenEntity(entity: object): boolean {\n\n if (!entity) {\n return false;\n }\n\n return (\n entity.hasOwnProperty(\"homeAccountId\") &&\n entity.hasOwnProperty(\"environment\") &&\n entity.hasOwnProperty(\"credentialType\") &&\n entity.hasOwnProperty(\"realm\") &&\n entity.hasOwnProperty(\"clientId\") &&\n entity.hasOwnProperty(\"secret\") &&\n entity[\"credentialType\"] === CredentialType.ID_TOKEN\n );\n }\n}\n","/*\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License.\n */\n\n/**\n * Utility class which exposes functions for managing date and time operations.\n */\nexport class TimeUtils {\n\n /**\n * return the current time in Unix time (seconds).\n */\n static nowSeconds(): number {\n // Date.getTime() returns in milliseconds.\n return Math.round(new Date().getTime() / 1000.0);\n }\n \n /**\n * check if a token is expired based on given UTC time in seconds.\n * @param expiresOn\n */\n static isTokenExpired(expiresOn: string, offset: number): boolean {\n // check for access token expiry\n const expirationSec = Number(expiresOn) || 0;\n const offsetCurrentTimeSec = TimeUtils.nowSeconds() + offset;\n\n // If current time + offset is greater than token expiration time, then token is expired.\n return (offsetCurrentTimeSec > expirationSec);\n }\n\n /**\n * If the current time is earlier than the time that a token was cached at, we must discard the token\n * i.e. The system clock was turned back after acquiring the cached token\n * @param cachedAt \n * @param offset \n */\n static wasClockTurnedBack(cachedAt: string): boolean {\n const cachedAtSec = Number(cachedAt);\n\n return cachedAtSec > TimeUtils.nowSeconds();\n }\n\n /**\n * Waits for t number of milliseconds\n * @param t number\n * @param value T\n */\n static delay(t: number, value?: T): Promise {\n return new Promise((resolve) => setTimeout(() => resolve(value), t));\n }\n}\n","/*\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport { CredentialEntity } from \"./CredentialEntity\";\nimport { CredentialType, AuthenticationScheme } from \"../../utils/Constants\";\nimport { TimeUtils } from \"../../utils/TimeUtils\";\nimport { StringUtils } from \"../../utils/StringUtils\";\nimport { ICrypto } from \"../../crypto/ICrypto\";\nimport { TokenClaims } from \"../../account/TokenClaims\";\nimport { AuthToken } from \"../../account/AuthToken\";\nimport { ClientAuthError } from \"../../error/ClientAuthError\";\n\n/**\n * ACCESS_TOKEN Credential Type\n *\n * Key:Value Schema:\n *\n * Key Example: uid.utid-login.microsoftonline.com-accesstoken-clientId-contoso.com-user.read\n *\n * Value Schema:\n * {\n * homeAccountId: home account identifier for the auth scheme,\n * environment: entity that issued the token, represented as a full host\n * credentialType: Type of credential as a string, can be one of the following: RefreshToken, AccessToken, IdToken, Password, Cookie, Certificate, Other\n * clientId: client ID of the application\n * secret: Actual credential as a string\n * familyId: Family ID identifier, usually only used for refresh tokens\n * realm: Full tenant or organizational identifier that the account belongs to\n * target: Permissions that are included in the token, or for refresh tokens, the resource identifier.\n * cachedAt: Absolute device time when entry was created in the cache.\n * expiresOn: Token expiry time, calculated based on current UTC time in seconds. Represented as a string.\n * extendedExpiresOn: Additional extended expiry time until when token is valid in case of server-side outage. Represented as string in UTC seconds.\n * keyId: used for POP and SSH tokenTypes\n * tokenType: Type of the token issued. Usually \"Bearer\"\n * }\n */\nexport class AccessTokenEntity extends CredentialEntity {\n realm: string;\n target: string;\n cachedAt: string;\n expiresOn: string;\n extendedExpiresOn?: string;\n refreshOn?: string;\n keyId?: string; // for POP and SSH tokenTypes\n tokenType?: AuthenticationScheme;\n requestedClaims?: string;\n requestedClaimsHash?: string;\n\n /**\n * Create AccessTokenEntity\n * @param homeAccountId\n * @param environment\n * @param accessToken\n * @param clientId\n * @param tenantId\n * @param scopes\n * @param expiresOn\n * @param extExpiresOn\n */\n static createAccessTokenEntity(\n homeAccountId: string,\n environment: string,\n accessToken: string,\n clientId: string,\n tenantId: string,\n scopes: string,\n expiresOn: number,\n extExpiresOn: number,\n cryptoUtils: ICrypto,\n refreshOn?: number,\n tokenType?: AuthenticationScheme,\n userAssertionHash?:string,\n keyId?: string,\n requestedClaims?: string,\n requestedClaimsHash?: string\n ): AccessTokenEntity {\n const atEntity: AccessTokenEntity = new AccessTokenEntity();\n\n atEntity.homeAccountId = homeAccountId;\n atEntity.credentialType = CredentialType.ACCESS_TOKEN;\n atEntity.secret = accessToken;\n\n const currentTime = TimeUtils.nowSeconds();\n atEntity.cachedAt = currentTime.toString();\n\n /*\n * Token expiry time.\n * This value should be  calculated based on the current UTC time measured locally and the value  expires_in Represented as a string in JSON.\n */\n atEntity.expiresOn = expiresOn.toString();\n atEntity.extendedExpiresOn = extExpiresOn.toString();\n if (refreshOn) {\n atEntity.refreshOn = refreshOn.toString();\n }\n\n atEntity.environment = environment;\n atEntity.clientId = clientId;\n atEntity.realm = tenantId;\n atEntity.target = scopes;\n atEntity.userAssertionHash = userAssertionHash;\n\n atEntity.tokenType = StringUtils.isEmpty(tokenType) ? AuthenticationScheme.BEARER : tokenType;\n\n if (requestedClaims) {\n atEntity.requestedClaims = requestedClaims;\n atEntity.requestedClaimsHash = requestedClaimsHash;\n }\n\n /*\n * Create Access Token With Auth Scheme instead of regular access token\n * Cast to lower to handle \"bearer\" from ADFS\n */\n if (atEntity.tokenType?.toLowerCase() !== AuthenticationScheme.BEARER.toLowerCase()) {\n atEntity.credentialType = CredentialType.ACCESS_TOKEN_WITH_AUTH_SCHEME;\n switch (atEntity.tokenType) {\n case AuthenticationScheme.POP:\n // Make sure keyId is present and add it to credential\n const tokenClaims: TokenClaims | null = AuthToken.extractTokenClaims(accessToken, cryptoUtils);\n if (!tokenClaims?.cnf?.kid) {\n throw ClientAuthError.createTokenClaimsRequiredError();\n }\n atEntity.keyId = tokenClaims.cnf.kid;\n break;\n case AuthenticationScheme.SSH:\n atEntity.keyId = keyId;\n }\n }\n\n return atEntity;\n }\n\n /**\n * Validates an entity: checks for all expected params\n * @param entity\n */\n static isAccessTokenEntity(entity: object): boolean {\n\n if (!entity) {\n return false;\n }\n\n return (\n entity.hasOwnProperty(\"homeAccountId\") &&\n entity.hasOwnProperty(\"environment\") &&\n entity.hasOwnProperty(\"credentialType\") &&\n entity.hasOwnProperty(\"realm\") &&\n entity.hasOwnProperty(\"clientId\") &&\n entity.hasOwnProperty(\"secret\") &&\n entity.hasOwnProperty(\"target\") &&\n (entity[\"credentialType\"] === CredentialType.ACCESS_TOKEN || entity[\"credentialType\"] === CredentialType.ACCESS_TOKEN_WITH_AUTH_SCHEME)\n );\n }\n}\n","/*\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport { CredentialEntity } from \"./CredentialEntity\";\nimport { CredentialType } from \"../../utils/Constants\";\n\n/**\n * REFRESH_TOKEN Cache\n *\n * Key:Value Schema:\n *\n * Key Example: uid.utid-login.microsoftonline.com-refreshtoken-clientId--\n *\n * Value:\n * {\n * homeAccountId: home account identifier for the auth scheme,\n * environment: entity that issued the token, represented as a full host\n * credentialType: Type of credential as a string, can be one of the following: RefreshToken, AccessToken, IdToken, Password, Cookie, Certificate, Other\n * clientId: client ID of the application\n * secret: Actual credential as a string\n * familyId: Family ID identifier, '1' represents Microsoft Family\n * realm: Full tenant or organizational identifier that the account belongs to\n * target: Permissions that are included in the token, or for refresh tokens, the resource identifier.\n * }\n */\nexport class RefreshTokenEntity extends CredentialEntity {\n familyId?: string;\n\n /**\n * Create RefreshTokenEntity\n * @param homeAccountId\n * @param authenticationResult\n * @param clientId\n * @param authority\n */\n static createRefreshTokenEntity(\n homeAccountId: string,\n environment: string,\n refreshToken: string,\n clientId: string,\n familyId?: string,\n userAssertionHash?: string\n ): RefreshTokenEntity {\n const rtEntity = new RefreshTokenEntity();\n\n rtEntity.clientId = clientId;\n rtEntity.credentialType = CredentialType.REFRESH_TOKEN;\n rtEntity.environment = environment;\n rtEntity.homeAccountId = homeAccountId;\n rtEntity.secret = refreshToken;\n rtEntity.userAssertionHash = userAssertionHash;\n\n if (familyId)\n rtEntity.familyId = familyId;\n\n return rtEntity;\n }\n\n /**\n * Validates an entity: checks for all expected params\n * @param entity\n */\n static isRefreshTokenEntity(entity: object): boolean {\n\n if (!entity) {\n return false;\n }\n\n return (\n entity.hasOwnProperty(\"homeAccountId\") &&\n entity.hasOwnProperty(\"environment\") &&\n entity.hasOwnProperty(\"credentialType\") &&\n entity.hasOwnProperty(\"clientId\") &&\n entity.hasOwnProperty(\"secret\") &&\n entity[\"credentialType\"] === CredentialType.REFRESH_TOKEN\n );\n }\n}\n","/*\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport { APP_METADATA, Separators } from \"../../utils/Constants\";\n\n/**\n * APP_METADATA Cache\n *\n * Key:Value Schema:\n *\n * Key: appmetadata--\n *\n * Value:\n * {\n * clientId: client ID of the application\n * environment: entity that issued the token, represented as a full host\n * familyId: Family ID identifier, '1' represents Microsoft Family\n * }\n */\nexport class AppMetadataEntity {\n clientId: string;\n environment: string;\n familyId?: string;\n\n /**\n * Generate AppMetadata Cache Key as per the schema: appmetadata--\n */\n generateAppMetadataKey(): string {\n return AppMetadataEntity.generateAppMetadataCacheKey(this.environment, this.clientId);\n }\n\n /**\n * Generate AppMetadata Cache Key\n */\n static generateAppMetadataCacheKey(environment: string, clientId: string): string {\n const appMetaDataKeyArray: Array = [\n APP_METADATA,\n environment,\n clientId,\n ];\n return appMetaDataKeyArray.join(Separators.CACHE_KEY_SEPARATOR).toLowerCase();\n }\n\n /**\n * Creates AppMetadataEntity\n * @param clientId\n * @param environment\n * @param familyId\n */\n static createAppMetadataEntity(clientId: string, environment: string, familyId?: string): AppMetadataEntity {\n const appMetadata = new AppMetadataEntity();\n\n appMetadata.clientId = clientId;\n appMetadata.environment = environment;\n if (familyId) {\n appMetadata.familyId = familyId;\n }\n\n return appMetadata;\n }\n\n /**\n * Validates an entity: checks for all expected params\n * @param entity\n */\n static isAppMetadataEntity(key: string, entity: object): boolean {\n\n if (!entity) {\n return false;\n }\n\n return (\n key.indexOf(APP_METADATA) === 0 &&\n entity.hasOwnProperty(\"clientId\") &&\n entity.hasOwnProperty(\"environment\")\n );\n }\n}\n","/*\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport { SERVER_TELEM_CONSTANTS } from \"../../utils/Constants\";\n\nexport class ServerTelemetryEntity {\n failedRequests: Array;\n errors: string[];\n cacheHits: number;\n\n constructor() {\n this.failedRequests = [];\n this.errors = [];\n this.cacheHits = 0;\n }\n\n /**\n * validates if a given cache entry is \"Telemetry\", parses \n * @param key\n * @param entity\n */\n static isServerTelemetryEntity(key: string, entity?: object): boolean {\n\n const validateKey: boolean = key.indexOf(SERVER_TELEM_CONSTANTS.CACHE_KEY) === 0;\n let validateEntity: boolean = true;\n\n if (entity) {\n validateEntity =\n entity.hasOwnProperty(\"failedRequests\") &&\n entity.hasOwnProperty(\"errors\") &&\n entity.hasOwnProperty(\"cacheHits\");\n }\n\n return validateKey && validateEntity;\n }\n}\n","/*\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport { CloudDiscoveryMetadata } from \"../../authority/CloudDiscoveryMetadata\";\nimport { OpenIdConfigResponse } from \"../../authority/OpenIdConfigResponse\";\nimport { AUTHORITY_METADATA_CONSTANTS } from \"../../utils/Constants\";\nimport { TimeUtils } from \"../../utils/TimeUtils\";\n\nexport class AuthorityMetadataEntity {\n aliases: Array;\n preferred_cache: string;\n preferred_network: string;\n canonical_authority: string;\n authorization_endpoint: string;\n token_endpoint: string;\n end_session_endpoint?: string;\n issuer: string;\n aliasesFromNetwork: boolean;\n endpointsFromNetwork: boolean;\n expiresAt: number;\n jwks_uri: string;\n\n constructor() {\n this.expiresAt = TimeUtils.nowSeconds() + AUTHORITY_METADATA_CONSTANTS.REFRESH_TIME_SECONDS;\n }\n\n /**\n * Update the entity with new aliases, preferred_cache and preferred_network values\n * @param metadata \n * @param fromNetwork \n */\n updateCloudDiscoveryMetadata(metadata: CloudDiscoveryMetadata, fromNetwork: boolean): void {\n this.aliases = metadata.aliases;\n this.preferred_cache = metadata.preferred_cache;\n this.preferred_network = metadata.preferred_network;\n this.aliasesFromNetwork = fromNetwork;\n }\n\n /**\n * Update the entity with new endpoints\n * @param metadata \n * @param fromNetwork \n */\n updateEndpointMetadata(metadata: OpenIdConfigResponse, fromNetwork: boolean): void {\n this.authorization_endpoint = metadata.authorization_endpoint;\n this.token_endpoint = metadata.token_endpoint;\n this.end_session_endpoint = metadata.end_session_endpoint;\n this.issuer = metadata.issuer;\n this.endpointsFromNetwork = fromNetwork;\n this.jwks_uri = metadata.jwks_uri;\n }\n\n /**\n * Save the authority that was used to create this cache entry\n * @param authority \n */\n updateCanonicalAuthority(authority: string): void {\n this.canonical_authority = authority;\n }\n\n /**\n * Reset the exiresAt value\n */\n resetExpiresAt(): void {\n this.expiresAt = TimeUtils.nowSeconds() + AUTHORITY_METADATA_CONSTANTS.REFRESH_TIME_SECONDS;\n }\n\n /**\n * Returns whether or not the data needs to be refreshed\n */\n isExpired(): boolean {\n return this.expiresAt <= TimeUtils.nowSeconds();\n }\n\n /**\n * Validates an entity: checks for all expected params\n * @param entity\n */\n static isAuthorityMetadataEntity(key: string, entity: object): boolean {\n\n if (!entity) {\n return false;\n }\n\n return (\n key.indexOf(AUTHORITY_METADATA_CONSTANTS.CACHE_KEY) === 0 &&\n entity.hasOwnProperty(\"aliases\") &&\n entity.hasOwnProperty(\"preferred_cache\") &&\n entity.hasOwnProperty(\"preferred_network\") &&\n entity.hasOwnProperty(\"canonical_authority\") &&\n entity.hasOwnProperty(\"authorization_endpoint\") &&\n entity.hasOwnProperty(\"token_endpoint\") &&\n entity.hasOwnProperty(\"issuer\") &&\n entity.hasOwnProperty(\"aliasesFromNetwork\") &&\n entity.hasOwnProperty(\"endpointsFromNetwork\") &&\n entity.hasOwnProperty(\"expiresAt\") &&\n entity.hasOwnProperty(\"jwks_uri\")\n );\n }\n}\n","/*\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport { ThrottlingConstants } from \"../../utils/Constants\";\n\nexport class ThrottlingEntity {\n // Unix-time value representing the expiration of the throttle\n throttleTime: number;\n // Information provided by the server\n error?: string;\n errorCodes?: Array;\n errorMessage?: string;\n subError?: string;\n\n /**\n * validates if a given cache entry is \"Throttling\", parses \n * @param key\n * @param entity\n */\n static isThrottlingEntity(key: string, entity?: object): boolean {\n \n let validateKey: boolean = false;\n if (key) {\n validateKey = key.indexOf(ThrottlingConstants.THROTTLING_PREFIX) === 0;\n }\n \n let validateEntity: boolean = true;\n if (entity) {\n validateEntity = entity.hasOwnProperty(\"throttleTime\");\n }\n\n return validateKey && validateEntity;\n }\n}\n","/*\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport { StringUtils } from \"./StringUtils\";\nimport { Constants } from \"./Constants\";\nimport { ICrypto } from \"../crypto/ICrypto\";\nimport { ClientAuthError } from \"../error/ClientAuthError\";\n\n/**\n * Type which defines the object that is stringified, encoded and sent in the state value.\n * Contains the following:\n * - id - unique identifier for this request\n * - ts - timestamp for the time the request was made. Used to ensure that token expiration is not calculated incorrectly.\n * - platformState - string value sent from the platform.\n */\nexport type LibraryStateObject = {\n id: string,\n meta?: Record\n};\n\n/**\n * Type which defines the stringified and encoded object sent to the service in the authorize request.\n */\nexport type RequestStateObject = {\n userRequestState: string,\n libraryState: LibraryStateObject\n};\n\n/**\n * Class which provides helpers for OAuth 2.0 protocol specific values\n */\nexport class ProtocolUtils {\n\n /**\n * Appends user state with random guid, or returns random guid.\n * @param userState \n * @param randomGuid \n */\n static setRequestState(cryptoObj: ICrypto, userState?: string, meta?: Record): string {\n const libraryState = ProtocolUtils.generateLibraryState(cryptoObj, meta);\n return !StringUtils.isEmpty(userState) ? `${libraryState}${Constants.RESOURCE_DELIM}${userState}` : libraryState;\n }\n\n /**\n * Generates the state value used by the common library.\n * @param randomGuid \n * @param cryptoObj \n */\n static generateLibraryState(cryptoObj: ICrypto, meta?: Record): string {\n if (!cryptoObj) {\n throw ClientAuthError.createNoCryptoObjectError(\"generateLibraryState\");\n }\n\n // Create a state object containing a unique id and the timestamp of the request creation\n const stateObj: LibraryStateObject = {\n id: cryptoObj.createNewGuid()\n };\n\n if (meta) {\n stateObj.meta = meta;\n }\n\n const stateString = JSON.stringify(stateObj);\n\n return cryptoObj.base64Encode(stateString);\n }\n\n /**\n * Parses the state into the RequestStateObject, which contains the LibraryState info and the state passed by the user.\n * @param state \n * @param cryptoObj \n */\n static parseRequestState(cryptoObj: ICrypto, state: string): RequestStateObject {\n if (!cryptoObj) {\n throw ClientAuthError.createNoCryptoObjectError(\"parseRequestState\");\n }\n\n if (StringUtils.isEmpty(state)) {\n throw ClientAuthError.createInvalidStateError(state, \"Null, undefined or empty state\");\n }\n\n try {\n // Split the state between library state and user passed state and decode them separately\n const splitState = state.split(Constants.RESOURCE_DELIM);\n const libraryState = splitState[0];\n const userState = splitState.length > 1 ? splitState.slice(1).join(Constants.RESOURCE_DELIM) : Constants.EMPTY_STRING;\n const libraryStateString = cryptoObj.base64Decode(libraryState);\n const libraryStateObj = JSON.parse(libraryStateString) as LibraryStateObject;\n return {\n userRequestState: !StringUtils.isEmpty(userState) ? userState : Constants.EMPTY_STRING,\n libraryState: libraryStateObj\n };\n } catch(e) {\n throw ClientAuthError.createInvalidStateError(state, e);\n }\n }\n}\n","/*\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License.\n */\n\n/**\n * Protocol modes supported by MSAL.\n */\nexport enum ProtocolMode {\n AAD = \"AAD\",\n OIDC = \"OIDC\"\n}\n","/*\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport { ProtocolMode } from \"./ProtocolMode\";\nimport { AzureRegionConfiguration } from \"./AzureRegionConfiguration\";\n\nexport type AuthorityOptions = {\n protocolMode: ProtocolMode;\n knownAuthorities: Array;\n cloudDiscoveryMetadata: string;\n authorityMetadata: string;\n skipAuthorityMetadataCache?: boolean;\n azureRegionConfiguration?: AzureRegionConfiguration;\n};\n\nexport enum AzureCloudInstance {\n // AzureCloudInstance is not specified.\n None,\n\n // Microsoft Azure public cloud\n AzurePublic = \"https://login.microsoftonline.com\",\n\n // Microsoft PPE\n AzurePpe = \"https://login.windows-ppe.net\",\n\n // Microsoft Chinese national cloud\n AzureChina = \"https://login.chinacloudapi.cn\",\n\n // Microsoft German national cloud (\"Black Forest\")\n AzureGermany = \"https://login.microsoftonline.de\",\n\n // US Government cloud\n AzureUsGovernment = \"https://login.microsoftonline.us\",\n}\n","/*\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport { BrowserConfigurationAuthError } from \"../error/BrowserConfigurationAuthError\";\nimport { BrowserCacheLocation } from \"../utils/BrowserConstants\";\nimport { IWindowStorage } from \"./IWindowStorage\";\n\nexport class BrowserStorage implements IWindowStorage {\n\n private windowStorage: Storage;\n\n constructor(cacheLocation: string) {\n this.validateWindowStorage(cacheLocation);\n this.windowStorage = window[cacheLocation];\n }\n\n private validateWindowStorage(cacheLocation: string): void {\n if (cacheLocation !== BrowserCacheLocation.LocalStorage && cacheLocation !== BrowserCacheLocation.SessionStorage) {\n throw BrowserConfigurationAuthError.createStorageNotSupportedError(cacheLocation);\n }\n const storageSupported = !!window[cacheLocation];\n if (!storageSupported) {\n throw BrowserConfigurationAuthError.createStorageNotSupportedError(cacheLocation);\n }\n }\n\n getItem(key: string): string | null {\n return this.windowStorage.getItem(key);\n }\n\n setItem(key: string, value: string): void {\n this.windowStorage.setItem(key, value);\n }\n\n removeItem(key: string): void {\n this.windowStorage.removeItem(key);\n }\n\n getKeys(): string[] {\n return Object.keys(this.windowStorage);\n }\n\n containsKey(key: string): boolean {\n return this.windowStorage.hasOwnProperty(key);\n }\n}\n","/*\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport { ServerAuthorizationCodeResponse } from \"../response/ServerAuthorizationCodeResponse\";\nimport { ClientConfigurationError } from \"../error/ClientConfigurationError\";\nimport { ClientAuthError } from \"../error/ClientAuthError\";\nimport { StringUtils } from \"../utils/StringUtils\";\nimport { IUri } from \"./IUri\";\nimport { AADAuthorityConstants, Constants } from \"../utils/Constants\";\n\n/**\n * Url object class which can perform various transformations on url strings.\n */\nexport class UrlString {\n\n // internal url string field\n private _urlString: string;\n public get urlString(): string {\n return this._urlString;\n }\n\n constructor(url: string) {\n this._urlString = url;\n if (StringUtils.isEmpty(this._urlString)) {\n // Throws error if url is empty\n throw ClientConfigurationError.createUrlEmptyError();\n }\n\n if (StringUtils.isEmpty(this.getHash())) {\n this._urlString = UrlString.canonicalizeUri(url);\n }\n }\n\n /**\n * Ensure urls are lower case and end with a / character.\n * @param url\n */\n static canonicalizeUri(url: string): string {\n if (url) {\n let lowerCaseUrl = url.toLowerCase();\n\n if (StringUtils.endsWith(lowerCaseUrl, \"?\")) {\n lowerCaseUrl = lowerCaseUrl.slice(0, -1);\n } else if (StringUtils.endsWith(lowerCaseUrl, \"?/\")) {\n lowerCaseUrl = lowerCaseUrl.slice(0, -2);\n }\n\n if (!StringUtils.endsWith(lowerCaseUrl, \"/\")) {\n lowerCaseUrl += \"/\";\n }\n\n return lowerCaseUrl;\n }\n\n return url;\n }\n\n /**\n * Throws if urlString passed is not a valid authority URI string.\n */\n validateAsUri(): void {\n // Attempts to parse url for uri components\n let components;\n try {\n components = this.getUrlComponents();\n } catch (e) {\n throw ClientConfigurationError.createUrlParseError(e);\n }\n\n // Throw error if URI or path segments are not parseable.\n if (!components.HostNameAndPort || !components.PathSegments) {\n throw ClientConfigurationError.createUrlParseError(`Given url string: ${this.urlString}`);\n }\n\n // Throw error if uri is insecure.\n if(!components.Protocol || components.Protocol.toLowerCase() !== \"https:\") {\n throw ClientConfigurationError.createInsecureAuthorityUriError(this.urlString);\n }\n }\n\n /**\n * Given a url and a query string return the url with provided query string appended\n * @param url\n * @param queryString\n */\n static appendQueryString(url: string, queryString: string): string {\n if (StringUtils.isEmpty(queryString)) {\n return url;\n }\n\n return url.indexOf(\"?\") < 0 ? `${url}?${queryString}` : `${url}&${queryString}`;\n }\n\n /**\n * Returns a url with the hash removed\n * @param url\n */\n static removeHashFromUrl(url: string): string {\n return UrlString.canonicalizeUri(url.split(\"#\")[0]);\n }\n\n /**\n * Given a url like https://a:b/common/d?e=f#g, and a tenantId, returns https://a:b/tenantId/d\n * @param href The url\n * @param tenantId The tenant id to replace\n */\n replaceTenantPath(tenantId: string): UrlString {\n const urlObject = this.getUrlComponents();\n const pathArray = urlObject.PathSegments;\n if (tenantId && (pathArray.length !== 0 && (pathArray[0] === AADAuthorityConstants.COMMON || pathArray[0] === AADAuthorityConstants.ORGANIZATIONS))) {\n pathArray[0] = tenantId;\n }\n return UrlString.constructAuthorityUriFromObject(urlObject);\n }\n\n /**\n * Returns the anchor part(#) of the URL\n */\n getHash(): string {\n return UrlString.parseHash(this.urlString);\n }\n\n /**\n * Parses out the components from a url string.\n * @returns An object with the various components. Please cache this value insted of calling this multiple times on the same url.\n */\n getUrlComponents(): IUri {\n // https://gist.github.com/curtisz/11139b2cfcaef4a261e0\n const regEx = RegExp(\"^(([^:/?#]+):)?(//([^/?#]*))?([^?#]*)(\\\\?([^#]*))?(#(.*))?\");\n\n // If url string does not match regEx, we throw an error\n const match = this.urlString.match(regEx);\n if (!match) {\n throw ClientConfigurationError.createUrlParseError(`Given url string: ${this.urlString}`);\n }\n\n // Url component object\n const urlComponents = {\n Protocol: match[1],\n HostNameAndPort: match[4],\n AbsolutePath: match[5],\n QueryString: match[7]\n } as IUri;\n\n let pathSegments = urlComponents.AbsolutePath.split(\"/\");\n pathSegments = pathSegments.filter((val) => val && val.length > 0); // remove empty elements\n urlComponents.PathSegments = pathSegments;\n\n if (!StringUtils.isEmpty(urlComponents.QueryString) && urlComponents.QueryString.endsWith(\"/\")) {\n urlComponents.QueryString = urlComponents.QueryString.substring(0, urlComponents.QueryString.length-1);\n }\n return urlComponents;\n }\n\n static getDomainFromUrl(url: string): string {\n const regEx = RegExp(\"^([^:/?#]+://)?([^/?#]*)\");\n\n const match = url.match(regEx);\n\n if (!match) {\n throw ClientConfigurationError.createUrlParseError(`Given url string: ${url}`);\n }\n\n return match[2];\n }\n\n static getAbsoluteUrl(relativeUrl: string, baseUrl: string): string {\n if (relativeUrl[0] === Constants.FORWARD_SLASH) {\n const url = new UrlString(baseUrl);\n const baseComponents = url.getUrlComponents();\n\n return baseComponents.Protocol + \"//\" + baseComponents.HostNameAndPort + relativeUrl;\n }\n\n return relativeUrl;\n }\n\n /**\n * Parses hash string from given string. Returns empty string if no hash symbol is found.\n * @param hashString\n */\n static parseHash(hashString: string): string {\n const hashIndex1 = hashString.indexOf(\"#\");\n const hashIndex2 = hashString.indexOf(\"#/\");\n if (hashIndex2 > -1) {\n return hashString.substring(hashIndex2 + 2);\n } else if (hashIndex1 > -1) {\n return hashString.substring(hashIndex1 + 1);\n }\n return Constants.EMPTY_STRING;\n }\n\n /**\n * Parses query string from given string. Returns empty string if no query symbol is found.\n * @param queryString\n */\n static parseQueryString(queryString: string): string {\n const queryIndex1 = queryString.indexOf(\"?\");\n const queryIndex2 = queryString.indexOf(\"/?\");\n if (queryIndex2 > -1) {\n return queryString.substring(queryIndex2 + 2);\n } else if (queryIndex1 > -1) {\n return queryString.substring(queryIndex1 + 1);\n }\n return Constants.EMPTY_STRING;\n }\n\n static constructAuthorityUriFromObject(urlObject: IUri): UrlString {\n return new UrlString(urlObject.Protocol + \"//\" + urlObject.HostNameAndPort + \"/\" + urlObject.PathSegments.join(\"/\"));\n }\n\n /**\n * Returns URL hash as server auth code response object.\n */\n static getDeserializedHash(hash: string): ServerAuthorizationCodeResponse {\n // Check if given hash is empty\n if (StringUtils.isEmpty(hash)) {\n return {};\n }\n // Strip the # symbol if present\n const parsedHash = UrlString.parseHash(hash);\n // If # symbol was not present, above will return empty string, so give original hash value\n const deserializedHash: ServerAuthorizationCodeResponse = StringUtils.queryStringToObject(StringUtils.isEmpty(parsedHash) ? hash : parsedHash);\n // Check if deserialization didn't work\n if (!deserializedHash) {\n throw ClientAuthError.createHashNotDeserializedError(JSON.stringify(deserializedHash));\n }\n return deserializedHash;\n }\n\n /**\n * Returns URL query string as server auth code response object.\n */\n static getDeserializedQueryString(query: string): ServerAuthorizationCodeResponse {\n // Check if given query is empty\n if (StringUtils.isEmpty(query)) {\n return {};\n }\n // Strip the ? symbol if present\n const parsedQueryString = UrlString.parseQueryString(query);\n // If ? symbol was not present, above will return empty string, so give original query value\n const deserializedQueryString: ServerAuthorizationCodeResponse = StringUtils.queryStringToObject(StringUtils.isEmpty(parsedQueryString) ? query : parsedQueryString);\n // Check if deserialization didn't work\n if (!deserializedQueryString) {\n throw ClientAuthError.createHashNotDeserializedError(JSON.stringify(deserializedQueryString));\n }\n return deserializedQueryString;\n }\n\n /**\n * Check if the hash of the URL string contains known properties\n */\n static hashContainsKnownProperties(hash: string): boolean {\n if (StringUtils.isEmpty(hash) || hash.indexOf(\"=\") < 0) {\n // Hash doesn't contain key/value pairs\n return false;\n }\n\n const parameters: ServerAuthorizationCodeResponse = UrlString.getDeserializedHash(hash);\n return !!(\n parameters.code ||\n parameters.error_description ||\n parameters.error ||\n parameters.state\n );\n }\n}\n","/*\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport { InteractionType } from \"./BrowserConstants\";\nimport { StringUtils, ClientAuthError, ICrypto, RequestStateObject, ProtocolUtils, ServerAuthorizationCodeResponse, UrlString } from \"@azure/msal-common\";\n\nexport type BrowserStateObject = {\n interactionType: InteractionType\n};\n\nexport class BrowserProtocolUtils {\n\n /**\n * Extracts the BrowserStateObject from the state string.\n * @param browserCrypto \n * @param state \n */\n static extractBrowserRequestState(browserCrypto: ICrypto, state: string): BrowserStateObject | null {\n if (StringUtils.isEmpty(state)) {\n return null;\n }\n\n try {\n const requestStateObj: RequestStateObject = ProtocolUtils.parseRequestState(browserCrypto, state);\n return requestStateObj.libraryState.meta as BrowserStateObject;\n } catch (e) {\n throw ClientAuthError.createInvalidStateError(state, e);\n }\n }\n\n /**\n * Parses properties of server response from url hash\n * @param locationHash Hash from url\n */\n static parseServerResponseFromHash(locationHash: string): ServerAuthorizationCodeResponse {\n if (!locationHash) {\n return {};\n }\n \n const hashUrlString = new UrlString(locationHash);\n return UrlString.getDeserializedHash(hashUrlString.getHash());\n }\n}\n","/*\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport { Constants, PersistentCacheKeys, StringUtils, CommonAuthorizationCodeRequest, ICrypto, AccountEntity, IdTokenEntity, AccessTokenEntity, RefreshTokenEntity, AppMetadataEntity, CacheManager, ServerTelemetryEntity, ThrottlingEntity, ProtocolUtils, Logger, AuthorityMetadataEntity, DEFAULT_CRYPTO_IMPLEMENTATION, AccountInfo, ActiveAccountFilters, CcsCredential, CcsCredentialType, IdToken, ValidCredentialType, ClientAuthError } from \"@azure/msal-common\";\nimport { CacheOptions } from \"../config/Configuration\";\nimport { BrowserAuthError } from \"../error/BrowserAuthError\";\nimport { BrowserCacheLocation, InteractionType, TemporaryCacheKeys, InMemoryCacheKeys } from \"../utils/BrowserConstants\";\nimport { BrowserStorage } from \"./BrowserStorage\";\nimport { MemoryStorage } from \"./MemoryStorage\";\nimport { IWindowStorage } from \"./IWindowStorage\";\nimport { BrowserProtocolUtils } from \"../utils/BrowserProtocolUtils\";\nimport { NativeTokenRequest } from \"../broker/nativeBroker/NativeRequest\";\n\n/**\n * This class implements the cache storage interface for MSAL through browser local or session storage.\n * Cookies are only used if storeAuthStateInCookie is true, and are only used for\n * parameters such as state and nonce, generally.\n */\nexport class BrowserCacheManager extends CacheManager {\n\n // Cache configuration, either set by user or default values.\n protected cacheConfig: Required;\n // Window storage object (either local or sessionStorage)\n protected browserStorage: IWindowStorage;\n // Internal in-memory storage object used for data used by msal that does not need to persist across page loads\n protected internalStorage: MemoryStorage;\n // Temporary cache\n protected temporaryCacheStorage: IWindowStorage;\n // Client id of application. Used in cache keys to partition cache correctly in the case of multiple instances of MSAL.\n protected logger: Logger;\n\n // Cookie life calculation (hours * minutes * seconds * ms)\n protected readonly COOKIE_LIFE_MULTIPLIER = 24 * 60 * 60 * 1000;\n\n constructor(clientId: string, cacheConfig: Required, cryptoImpl: ICrypto, logger: Logger) {\n super(clientId, cryptoImpl);\n\n this.cacheConfig = cacheConfig;\n this.logger = logger;\n this.internalStorage = new MemoryStorage();\n this.browserStorage = this.setupBrowserStorage(this.cacheConfig.cacheLocation);\n this.temporaryCacheStorage = this.setupTemporaryCacheStorage(this.cacheConfig.cacheLocation);\n\n // Migrate any cache entries from older versions of MSAL.\n this.migrateCacheEntries();\n }\n\n /**\n * Returns a window storage class implementing the IWindowStorage interface that corresponds to the configured cacheLocation.\n * @param cacheLocation\n */\n protected setupBrowserStorage(cacheLocation: BrowserCacheLocation | string): IWindowStorage {\n switch (cacheLocation) {\n case BrowserCacheLocation.LocalStorage:\n case BrowserCacheLocation.SessionStorage:\n try {\n // Temporary cache items will always be stored in session storage to mitigate problems caused by multiple tabs\n return new BrowserStorage(cacheLocation);\n } catch (e) {\n this.logger.verbose(e);\n break;\n }\n case BrowserCacheLocation.MemoryStorage:\n default:\n break;\n }\n this.cacheConfig.cacheLocation = BrowserCacheLocation.MemoryStorage;\n return new MemoryStorage();\n }\n\n /**\n *\n * @param cacheLocation\n */\n protected setupTemporaryCacheStorage(cacheLocation: BrowserCacheLocation | string): IWindowStorage {\n switch (cacheLocation) {\n case BrowserCacheLocation.LocalStorage:\n case BrowserCacheLocation.SessionStorage:\n try {\n // Temporary cache items will always be stored in session storage to mitigate problems caused by multiple tabs\n return new BrowserStorage(BrowserCacheLocation.SessionStorage);\n } catch (e) {\n this.logger.verbose(e);\n return this.internalStorage;\n }\n case BrowserCacheLocation.MemoryStorage:\n default:\n return this.internalStorage;\n }\n }\n\n /**\n * Migrate all old cache entries to new schema. No rollback supported.\n * @param storeAuthStateInCookie\n */\n protected migrateCacheEntries(): void {\n const idTokenKey = `${Constants.CACHE_PREFIX}.${PersistentCacheKeys.ID_TOKEN}`;\n const clientInfoKey = `${Constants.CACHE_PREFIX}.${PersistentCacheKeys.CLIENT_INFO}`;\n const errorKey = `${Constants.CACHE_PREFIX}.${PersistentCacheKeys.ERROR}`;\n const errorDescKey = `${Constants.CACHE_PREFIX}.${PersistentCacheKeys.ERROR_DESC}`;\n\n const idTokenValue = this.browserStorage.getItem(idTokenKey);\n const clientInfoValue = this.browserStorage.getItem(clientInfoKey);\n const errorValue = this.browserStorage.getItem(errorKey);\n const errorDescValue = this.browserStorage.getItem(errorDescKey);\n\n const values = [idTokenValue, clientInfoValue, errorValue, errorDescValue];\n const keysToMigrate = [PersistentCacheKeys.ID_TOKEN, PersistentCacheKeys.CLIENT_INFO, PersistentCacheKeys.ERROR, PersistentCacheKeys.ERROR_DESC];\n\n keysToMigrate.forEach((cacheKey:string, index: number) => this.migrateCacheEntry(cacheKey, values[index]));\n }\n\n /**\n * Utility function to help with migration.\n * @param newKey\n * @param value\n * @param storeAuthStateInCookie\n */\n protected migrateCacheEntry(newKey: string, value: string|null): void {\n if (value) {\n this.setTemporaryCache(newKey, value, true);\n }\n }\n\n /**\n * Parses passed value as JSON object, JSON.parse() will throw an error.\n * @param input\n */\n protected validateAndParseJson(jsonValue: string): object | null {\n try {\n const parsedJson = JSON.parse(jsonValue);\n /**\n * There are edge cases in which JSON.parse will successfully parse a non-valid JSON object\n * (e.g. JSON.parse will parse an escaped string into an unescaped string), so adding a type check\n * of the parsed value is necessary in order to be certain that the string represents a valid JSON object.\n *\n */\n return (parsedJson && typeof parsedJson === \"object\") ? parsedJson : null;\n } catch (error) {\n return null;\n }\n }\n\n /**\n * fetches the entry from the browser storage based off the key\n * @param key\n */\n getItem(key: string): string | null {\n return this.browserStorage.getItem(key);\n }\n\n /**\n * sets the entry in the browser storage\n * @param key\n * @param value\n */\n setItem(key: string, value: string): void {\n this.browserStorage.setItem(key, value);\n }\n\n /**\n * fetch the account entity from the platform cache\n * @param accountKey\n */\n getAccount(accountKey: string): AccountEntity | null {\n const account = this.getItem(accountKey);\n if (!account) {\n return null;\n }\n\n const parsedAccount = this.validateAndParseJson(account);\n if (!parsedAccount || !AccountEntity.isAccountEntity(parsedAccount)) {\n return null;\n }\n\n return CacheManager.toObject(new AccountEntity(), parsedAccount);\n }\n\n /**\n * set account entity in the platform cache\n * @param key\n * @param value\n */\n setAccount(account: AccountEntity): void {\n this.logger.trace(\"BrowserCacheManager.setAccount called\");\n const key = account.generateAccountKey();\n this.setItem(key, JSON.stringify(account));\n }\n\n /**\n * generates idToken entity from a string\n * @param idTokenKey\n */\n getIdTokenCredential(idTokenKey: string): IdTokenEntity | null {\n const value = this.getItem(idTokenKey);\n if (!value) {\n this.logger.trace(\"BrowserCacheManager.getIdTokenCredential: called, no cache hit\");\n return null;\n }\n\n const parsedIdToken = this.validateAndParseJson(value);\n if (!parsedIdToken || !IdTokenEntity.isIdTokenEntity(parsedIdToken)) {\n this.logger.trace(\"BrowserCacheManager.getIdTokenCredential: called, no cache hit\");\n return null;\n }\n\n this.logger.trace(\"BrowserCacheManager.getIdTokenCredential: cache hit\");\n return CacheManager.toObject(new IdTokenEntity(), parsedIdToken);\n }\n\n /**\n * set IdToken credential to the platform cache\n * @param idToken\n */\n setIdTokenCredential(idToken: IdTokenEntity): void {\n this.logger.trace(\"BrowserCacheManager.setIdTokenCredential called\");\n const idTokenKey = idToken.generateCredentialKey();\n\n this.setItem(idTokenKey, JSON.stringify(idToken));\n }\n\n /**\n * generates accessToken entity from a string\n * @param key\n */\n getAccessTokenCredential(accessTokenKey: string): AccessTokenEntity | null {\n const value = this.getItem(accessTokenKey);\n if (!value) {\n this.logger.trace(\"BrowserCacheManager.getAccessTokenCredential: called, no cache hit\");\n return null;\n }\n const parsedAccessToken = this.validateAndParseJson(value);\n if (!parsedAccessToken || !AccessTokenEntity.isAccessTokenEntity(parsedAccessToken)) {\n this.logger.trace(\"BrowserCacheManager.getAccessTokenCredential: called, no cache hit\");\n return null;\n }\n\n this.logger.trace(\"BrowserCacheManager.getAccessTokenCredential: cache hit\");\n return CacheManager.toObject(new AccessTokenEntity(), parsedAccessToken);\n }\n\n /**\n * set accessToken credential to the platform cache\n * @param accessToken\n */\n setAccessTokenCredential(accessToken: AccessTokenEntity): void {\n this.logger.trace(\"BrowserCacheManager.setAccessTokenCredential called\");\n const accessTokenKey = accessToken.generateCredentialKey();\n this.setItem(accessTokenKey, JSON.stringify(accessToken));\n }\n\n /**\n * generates refreshToken entity from a string\n * @param refreshTokenKey\n */\n getRefreshTokenCredential(refreshTokenKey: string): RefreshTokenEntity | null {\n const value = this.getItem(refreshTokenKey);\n if (!value) {\n this.logger.trace(\"BrowserCacheManager.getRefreshTokenCredential: called, no cache hit\");\n return null;\n }\n const parsedRefreshToken = this.validateAndParseJson(value);\n if (!parsedRefreshToken || !RefreshTokenEntity.isRefreshTokenEntity(parsedRefreshToken)) {\n this.logger.trace(\"BrowserCacheManager.getRefreshTokenCredential: called, no cache hit\");\n return null;\n }\n\n this.logger.trace(\"BrowserCacheManager.getRefreshTokenCredential: cache hit\");\n return CacheManager.toObject(new RefreshTokenEntity(), parsedRefreshToken);\n }\n\n /**\n * set refreshToken credential to the platform cache\n * @param refreshToken\n */\n setRefreshTokenCredential(refreshToken: RefreshTokenEntity): void {\n this.logger.trace(\"BrowserCacheManager.setRefreshTokenCredential called\");\n const refreshTokenKey = refreshToken.generateCredentialKey();\n this.setItem(refreshTokenKey, JSON.stringify(refreshToken));\n }\n\n /**\n * fetch appMetadata entity from the platform cache\n * @param appMetadataKey\n */\n getAppMetadata(appMetadataKey: string): AppMetadataEntity | null {\n const value = this.getItem(appMetadataKey);\n if (!value) {\n this.logger.trace(\"BrowserCacheManager.getAppMetadata: called, no cache hit\");\n return null;\n }\n\n const parsedMetadata = this.validateAndParseJson(value);\n if (!parsedMetadata || !AppMetadataEntity.isAppMetadataEntity(appMetadataKey, parsedMetadata)) {\n this.logger.trace(\"BrowserCacheManager.getAppMetadata: called, no cache hit\");\n return null;\n }\n\n this.logger.trace(\"BrowserCacheManager.getAppMetadata: cache hit\");\n return CacheManager.toObject(new AppMetadataEntity(), parsedMetadata);\n }\n\n /**\n * set appMetadata entity to the platform cache\n * @param appMetadata\n */\n setAppMetadata(appMetadata: AppMetadataEntity): void {\n this.logger.trace(\"BrowserCacheManager.setAppMetadata called\");\n const appMetadataKey = appMetadata.generateAppMetadataKey();\n this.setItem(appMetadataKey, JSON.stringify(appMetadata));\n }\n\n /**\n * fetch server telemetry entity from the platform cache\n * @param serverTelemetryKey\n */\n getServerTelemetry(serverTelemetryKey: string): ServerTelemetryEntity | null {\n const value = this.getItem(serverTelemetryKey);\n if (!value) {\n this.logger.trace(\"BrowserCacheManager.getServerTelemetry: called, no cache hit\");\n return null;\n }\n const parsedMetadata = this.validateAndParseJson(value);\n if (!parsedMetadata || !ServerTelemetryEntity.isServerTelemetryEntity(serverTelemetryKey, parsedMetadata)) {\n this.logger.trace(\"BrowserCacheManager.getServerTelemetry: called, no cache hit\");\n return null;\n }\n\n this.logger.trace(\"BrowserCacheManager.getServerTelemetry: cache hit\");\n return CacheManager.toObject(new ServerTelemetryEntity(), parsedMetadata);\n }\n\n /**\n * set server telemetry entity to the platform cache\n * @param serverTelemetryKey\n * @param serverTelemetry\n */\n setServerTelemetry(serverTelemetryKey: string, serverTelemetry: ServerTelemetryEntity): void {\n this.logger.trace(\"BrowserCacheManager.setServerTelemetry called\");\n this.setItem(serverTelemetryKey, JSON.stringify(serverTelemetry));\n }\n\n /**\n *\n */\n getAuthorityMetadata(key: string) : AuthorityMetadataEntity | null {\n const value = this.internalStorage.getItem(key);\n if (!value) {\n this.logger.trace(\"BrowserCacheManager.getAuthorityMetadata: called, no cache hit\");\n return null;\n }\n const parsedMetadata = this.validateAndParseJson(value);\n if (parsedMetadata && AuthorityMetadataEntity.isAuthorityMetadataEntity(key, parsedMetadata)) {\n this.logger.trace(\"BrowserCacheManager.getAuthorityMetadata: cache hit\");\n return CacheManager.toObject(new AuthorityMetadataEntity(), parsedMetadata);\n }\n return null;\n }\n\n /**\n *\n */\n getAuthorityMetadataKeys(): Array {\n const allKeys = this.internalStorage.getKeys();\n return allKeys.filter((key) => {\n return this.isAuthorityMetadata(key);\n });\n }\n\n /**\n * Sets wrapper metadata in memory\n * @param wrapperSKU\n * @param wrapperVersion\n */\n setWrapperMetadata(wrapperSKU: string, wrapperVersion: string): void {\n this.internalStorage.setItem(InMemoryCacheKeys.WRAPPER_SKU, wrapperSKU);\n this.internalStorage.setItem(InMemoryCacheKeys.WRAPPER_VER, wrapperVersion);\n }\n\n /**\n * Returns wrapper metadata from in-memory storage\n */\n getWrapperMetadata(): [string, string] {\n const sku = this.internalStorage.getItem(InMemoryCacheKeys.WRAPPER_SKU) || Constants.EMPTY_STRING;\n const version = this.internalStorage.getItem(InMemoryCacheKeys.WRAPPER_VER) || Constants.EMPTY_STRING;\n return [sku, version];\n }\n\n /**\n *\n * @param entity\n */\n setAuthorityMetadata(key: string, entity: AuthorityMetadataEntity): void {\n this.logger.trace(\"BrowserCacheManager.setAuthorityMetadata called\");\n this.internalStorage.setItem(key, JSON.stringify(entity));\n }\n\n /**\n * Gets the active account\n */\n getActiveAccount(): AccountInfo | null {\n const activeAccountKeyFilters = this.generateCacheKey(PersistentCacheKeys.ACTIVE_ACCOUNT_FILTERS);\n const activeAccountValueFilters = this.getItem(activeAccountKeyFilters);\n if (!activeAccountValueFilters) { \n // if new active account cache type isn't found, it's an old version, so look for that instead\n this.logger.trace(\"No active account filters cache schema found, looking for legacy schema\");\n const activeAccountKeyLocal = this.generateCacheKey(PersistentCacheKeys.ACTIVE_ACCOUNT);\n const activeAccountValueLocal = this.getItem(activeAccountKeyLocal);\n if(!activeAccountValueLocal) {\n this.logger.trace(\"No active account found\");\n return null;\n }\n const activeAccount = this.getAccountInfoByFilter({localAccountId: activeAccountValueLocal})[0] || null;\n if(activeAccount) {\n this.logger.trace(\"Legacy active account cache schema found\");\n this.logger.trace(\"Adding active account filters cache schema\");\n this.setActiveAccount(activeAccount);\n return activeAccount;\n }\n return null;\n }\n const activeAccountValueObj = this.validateAndParseJson(activeAccountValueFilters) as AccountInfo;\n if(activeAccountValueObj) {\n this.logger.trace(\"Active account filters schema found\");\n return this.getAccountInfoByFilter({\n homeAccountId: activeAccountValueObj.homeAccountId,\n localAccountId: activeAccountValueObj.localAccountId\n })[0] || null;\n }\n this.logger.trace(\"No active account found\");\n return null;\n }\n\n /**\n * Sets the active account's localAccountId in cache\n * @param account\n */\n setActiveAccount(account: AccountInfo | null): void {\n const activeAccountKey = this.generateCacheKey(PersistentCacheKeys.ACTIVE_ACCOUNT_FILTERS);\n const activeAccountKeyLocal = this.generateCacheKey(PersistentCacheKeys.ACTIVE_ACCOUNT);\n if (account) {\n this.logger.verbose(\"setActiveAccount: Active account set\");\n const activeAccountValue: ActiveAccountFilters = {\n homeAccountId: account.homeAccountId,\n localAccountId: account.localAccountId\n };\n this.browserStorage.setItem(activeAccountKey, JSON.stringify(activeAccountValue));\n this.browserStorage.setItem(activeAccountKeyLocal, account.localAccountId);\n } else {\n this.logger.verbose(\"setActiveAccount: No account passed, active account not set\");\n this.browserStorage.removeItem(activeAccountKey);\n this.browserStorage.removeItem(activeAccountKeyLocal);\n }\n }\n\n /**\n * Gets a list of accounts that match all of the filters provided\n * @param account\n */\n getAccountInfoByFilter(accountFilter: Partial>): AccountInfo[] {\n const allAccounts = this.getAllAccounts();\n return allAccounts.filter((accountObj) => {\n if (accountFilter.username && accountFilter.username.toLowerCase() !== accountObj.username.toLowerCase()) {\n return false;\n }\n\n if (accountFilter.homeAccountId && accountFilter.homeAccountId !== accountObj.homeAccountId) {\n return false;\n }\n\n if (accountFilter.localAccountId && accountFilter.localAccountId !== accountObj.localAccountId) {\n return false;\n }\n\n if (accountFilter.tenantId && accountFilter.tenantId !== accountObj.tenantId) {\n return false;\n }\n\n if (accountFilter.environment && accountFilter.environment !== accountObj.environment) {\n return false;\n }\n\n return true;\n });\n }\n\n /**\n * Checks the cache for accounts matching loginHint or SID\n * @param loginHint\n * @param sid\n */\n getAccountInfoByHints(loginHint?: string, sid?: string): AccountInfo | null {\n const matchingAccounts = this.getAllAccounts().filter((accountInfo) => {\n if (sid) {\n const accountSid = accountInfo.idTokenClaims && accountInfo.idTokenClaims[\"sid\"];\n return sid === accountSid;\n }\n\n if (loginHint) {\n return loginHint === accountInfo.username;\n }\n\n return false;\n });\n\n if (matchingAccounts.length === 1) {\n return matchingAccounts[0];\n } else if (matchingAccounts.length > 1) {\n throw ClientAuthError.createMultipleMatchingAccountsInCacheError();\n }\n\n return null;\n }\n\n /**\n * fetch throttling entity from the platform cache\n * @param throttlingCacheKey\n */\n getThrottlingCache(throttlingCacheKey: string): ThrottlingEntity | null {\n const value = this.getItem(throttlingCacheKey);\n if (!value) {\n this.logger.trace(\"BrowserCacheManager.getThrottlingCache: called, no cache hit\");\n return null;\n }\n\n const parsedThrottlingCache = this.validateAndParseJson(value);\n if (!parsedThrottlingCache || !ThrottlingEntity.isThrottlingEntity(throttlingCacheKey, parsedThrottlingCache)) {\n this.logger.trace(\"BrowserCacheManager.getThrottlingCache: called, no cache hit\");\n return null;\n }\n\n this.logger.trace(\"BrowserCacheManager.getThrottlingCache: cache hit\");\n return CacheManager.toObject(new ThrottlingEntity(), parsedThrottlingCache);\n }\n\n /**\n * set throttling entity to the platform cache\n * @param throttlingCacheKey\n * @param throttlingCache\n */\n setThrottlingCache(throttlingCacheKey: string, throttlingCache: ThrottlingEntity): void {\n this.logger.trace(\"BrowserCacheManager.setThrottlingCache called\");\n this.setItem(throttlingCacheKey, JSON.stringify(throttlingCache));\n }\n\n /**\n * Gets cache item with given key.\n * Will retrieve from cookies if storeAuthStateInCookie is set to true.\n * @param key\n */\n getTemporaryCache(cacheKey: string, generateKey?: boolean): string | null {\n const key = generateKey ? this.generateCacheKey(cacheKey) : cacheKey;\n if (this.cacheConfig.storeAuthStateInCookie) {\n const itemCookie = this.getItemCookie(key);\n if (itemCookie) {\n this.logger.trace(\"BrowserCacheManager.getTemporaryCache: storeAuthStateInCookies set to true, retrieving from cookies\");\n return itemCookie;\n }\n }\n\n const value = this.temporaryCacheStorage.getItem(key);\n if (!value) {\n // If temp cache item not found in session/memory, check local storage for items set by old versions\n if (this.cacheConfig.cacheLocation === BrowserCacheLocation.LocalStorage) {\n const item = this.browserStorage.getItem(key);\n if (item) {\n this.logger.trace(\"BrowserCacheManager.getTemporaryCache: Temporary cache item found in local storage\");\n return item;\n }\n }\n this.logger.trace(\"BrowserCacheManager.getTemporaryCache: No cache item found in local storage\");\n return null;\n }\n this.logger.trace(\"BrowserCacheManager.getTemporaryCache: Temporary cache item returned\");\n return value;\n }\n\n /**\n * Sets the cache item with the key and value given.\n * Stores in cookie if storeAuthStateInCookie is set to true.\n * This can cause cookie overflow if used incorrectly.\n * @param key\n * @param value\n */\n setTemporaryCache(cacheKey: string, value: string, generateKey?: boolean): void {\n const key = generateKey ? this.generateCacheKey(cacheKey) : cacheKey;\n\n this.temporaryCacheStorage.setItem(key, value);\n if (this.cacheConfig.storeAuthStateInCookie) {\n this.logger.trace(\"BrowserCacheManager.setTemporaryCache: storeAuthStateInCookie set to true, setting item cookie\");\n this.setItemCookie(key, value);\n }\n }\n\n /**\n * Removes the cache item with the given key.\n * Will also clear the cookie item if storeAuthStateInCookie is set to true.\n * @param key\n */\n removeItem(key: string): boolean {\n this.browserStorage.removeItem(key);\n this.temporaryCacheStorage.removeItem(key);\n if (this.cacheConfig.storeAuthStateInCookie) {\n this.logger.trace(\"BrowserCacheManager.removeItem: storeAuthStateInCookie is true, clearing item cookie\");\n this.clearItemCookie(key);\n }\n return true;\n }\n\n /**\n * Checks whether key is in cache.\n * @param key\n */\n containsKey(key: string): boolean {\n return this.browserStorage.containsKey(key) || this.temporaryCacheStorage.containsKey(key);\n }\n\n /**\n * Gets all keys in window.\n */\n getKeys(): string[] {\n return [\n ...this.browserStorage.getKeys(),\n ...this.temporaryCacheStorage.getKeys()\n ];\n }\n\n /**\n * Clears all cache entries created by MSAL.\n */\n async clear(): Promise {\n // Removes all accounts and their credentials\n await this.removeAllAccounts();\n this.removeAppMetadata();\n\n // Removes all remaining MSAL cache items\n this.getKeys().forEach((cacheKey: string) => {\n // Check if key contains msal prefix; For now, we are clearing all the cache items created by MSAL.js\n if ((this.browserStorage.containsKey(cacheKey) || this.temporaryCacheStorage.containsKey(cacheKey)) && ((cacheKey.indexOf(Constants.CACHE_PREFIX) !== -1) || (cacheKey.indexOf(this.clientId) !== -1))) {\n this.removeItem(cacheKey);\n }\n });\n\n this.internalStorage.clear();\n }\n\n /**\n * Add value to cookies\n * @param cookieName\n * @param cookieValue\n * @param expires\n */\n setItemCookie(cookieName: string, cookieValue: string, expires?: number): void {\n let cookieStr = `${encodeURIComponent(cookieName)}=${encodeURIComponent(cookieValue)};path=/;SameSite=Lax;`;\n if (expires) {\n const expireTime = this.getCookieExpirationTime(expires);\n cookieStr += `expires=${expireTime};`;\n }\n\n if (this.cacheConfig.secureCookies) {\n cookieStr += \"Secure;\";\n }\n\n document.cookie = cookieStr;\n }\n\n /**\n * Get one item by key from cookies\n * @param cookieName\n */\n getItemCookie(cookieName: string): string {\n const name = `${encodeURIComponent(cookieName)}=`;\n const cookieList = document.cookie.split(\";\");\n for (let i: number = 0; i < cookieList.length; i++) {\n let cookie = cookieList[i];\n while (cookie.charAt(0) === \" \") {\n cookie = cookie.substring(1);\n }\n if (cookie.indexOf(name) === 0) {\n return decodeURIComponent(cookie.substring(name.length, cookie.length));\n }\n }\n return Constants.EMPTY_STRING;\n }\n\n /**\n * Clear all msal-related cookies currently set in the browser. Should only be used to clear temporary cache items.\n */\n clearMsalCookies(): void {\n const cookiePrefix = `${Constants.CACHE_PREFIX}.${this.clientId}`;\n const cookieList = document.cookie.split(\";\");\n cookieList.forEach((cookie: string): void => {\n while (cookie.charAt(0) === \" \") {\n // eslint-disable-next-line no-param-reassign\n cookie = cookie.substring(1);\n }\n if (cookie.indexOf(cookiePrefix) === 0) {\n const cookieKey = cookie.split(\"=\")[0];\n this.clearItemCookie(cookieKey);\n }\n });\n }\n\n /**\n * Clear an item in the cookies by key\n * @param cookieName\n */\n clearItemCookie(cookieName: string): void {\n this.setItemCookie(cookieName, Constants.EMPTY_STRING, -1);\n }\n\n /**\n * Get cookie expiration time\n * @param cookieLifeDays\n */\n getCookieExpirationTime(cookieLifeDays: number): string {\n const today = new Date();\n const expr = new Date(today.getTime() + cookieLifeDays * this.COOKIE_LIFE_MULTIPLIER);\n return expr.toUTCString();\n }\n\n /**\n * Gets the cache object referenced by the browser\n */\n getCache(): object {\n return this.browserStorage;\n }\n\n /**\n * interface compat, we cannot overwrite browser cache; Functionality is supported by individual entities in browser\n */\n setCache(): void {\n // sets nothing\n }\n\n /**\n * Prepend msal. to each key; Skip for any JSON object as Key (defined schemas do not need the key appended: AccessToken Keys or the upcoming schema)\n * @param key\n * @param addInstanceId\n */\n generateCacheKey(key: string): string {\n const generatedKey = this.validateAndParseJson(key);\n if (!generatedKey) {\n if (StringUtils.startsWith(key, Constants.CACHE_PREFIX) || StringUtils.startsWith(key, PersistentCacheKeys.ADAL_ID_TOKEN)) {\n return key;\n }\n return `${Constants.CACHE_PREFIX}.${this.clientId}.${key}`;\n }\n\n return JSON.stringify(key);\n }\n\n /**\n * Create authorityKey to cache authority\n * @param state\n */\n generateAuthorityKey(stateString: string): string {\n const {\n libraryState: {\n id: stateId\n }\n } = ProtocolUtils.parseRequestState(this.cryptoImpl, stateString);\n\n return this.generateCacheKey(`${TemporaryCacheKeys.AUTHORITY}.${stateId}`);\n }\n\n /**\n * Create Nonce key to cache nonce\n * @param state\n */\n generateNonceKey(stateString: string): string {\n const {\n libraryState: {\n id: stateId\n }\n } = ProtocolUtils.parseRequestState(this.cryptoImpl, stateString);\n\n return this.generateCacheKey(`${TemporaryCacheKeys.NONCE_IDTOKEN}.${stateId}`);\n }\n\n /**\n * Creates full cache key for the request state\n * @param stateString State string for the request\n */\n generateStateKey(stateString: string): string {\n // Use the library state id to key temp storage for uniqueness for multiple concurrent requests\n const {\n libraryState: {\n id: stateId\n }\n } = ProtocolUtils.parseRequestState(this.cryptoImpl, stateString);\n return this.generateCacheKey(`${TemporaryCacheKeys.REQUEST_STATE}.${stateId}`);\n }\n\n /**\n * Gets the cached authority based on the cached state. Returns empty if no cached state found.\n */\n getCachedAuthority(cachedState: string): string | null {\n const stateCacheKey = this.generateStateKey(cachedState);\n const state = this.getTemporaryCache(stateCacheKey);\n if (!state) {\n return null;\n }\n\n const authorityCacheKey = this.generateAuthorityKey(state);\n return this.getTemporaryCache(authorityCacheKey);\n }\n\n /**\n * Updates account, authority, and state in cache\n * @param serverAuthenticationRequest\n * @param account\n */\n updateCacheEntries(state: string, nonce: string, authorityInstance: string, loginHint: string, account: AccountInfo|null): void {\n this.logger.trace(\"BrowserCacheManager.updateCacheEntries called\");\n // Cache the request state\n const stateCacheKey = this.generateStateKey(state);\n this.setTemporaryCache(stateCacheKey, state, false);\n\n // Cache the nonce\n const nonceCacheKey = this.generateNonceKey(state);\n this.setTemporaryCache(nonceCacheKey, nonce, false);\n\n // Cache authorityKey\n const authorityCacheKey = this.generateAuthorityKey(state);\n this.setTemporaryCache(authorityCacheKey, authorityInstance, false);\n\n if (account) {\n const ccsCredential: CcsCredential = {\n credential: account.homeAccountId,\n type: CcsCredentialType.HOME_ACCOUNT_ID\n };\n this.setTemporaryCache(TemporaryCacheKeys.CCS_CREDENTIAL, JSON.stringify(ccsCredential), true);\n } else if (!StringUtils.isEmpty(loginHint)) {\n const ccsCredential: CcsCredential = {\n credential: loginHint,\n type: CcsCredentialType.UPN\n };\n this.setTemporaryCache(TemporaryCacheKeys.CCS_CREDENTIAL, JSON.stringify(ccsCredential), true);\n }\n }\n\n /**\n * Reset all temporary cache items\n * @param state\n */\n resetRequestCache(state: string): void {\n this.logger.trace(\"BrowserCacheManager.resetRequestCache called\");\n // check state and remove associated cache items\n if (!StringUtils.isEmpty(state)) {\n this.getKeys().forEach(key => {\n if (key.indexOf(state) !== -1) {\n this.removeItem(key);\n }\n });\n }\n\n // delete generic interactive request parameters\n if (state) {\n this.removeItem(this.generateStateKey(state));\n this.removeItem(this.generateNonceKey(state));\n this.removeItem(this.generateAuthorityKey(state));\n }\n this.removeItem(this.generateCacheKey(TemporaryCacheKeys.REQUEST_PARAMS));\n this.removeItem(this.generateCacheKey(TemporaryCacheKeys.ORIGIN_URI));\n this.removeItem(this.generateCacheKey(TemporaryCacheKeys.URL_HASH));\n this.removeItem(this.generateCacheKey(TemporaryCacheKeys.CORRELATION_ID));\n this.removeItem(this.generateCacheKey(TemporaryCacheKeys.CCS_CREDENTIAL));\n this.removeItem(this.generateCacheKey(TemporaryCacheKeys.NATIVE_REQUEST));\n this.setInteractionInProgress(false);\n }\n\n /**\n * Removes temporary cache for the provided state\n * @param stateString\n */\n cleanRequestByState(stateString: string): void {\n this.logger.trace(\"BrowserCacheManager.cleanRequestByState called\");\n // Interaction is completed - remove interaction status.\n if (stateString) {\n const stateKey = this.generateStateKey(stateString);\n const cachedState = this.temporaryCacheStorage.getItem(stateKey);\n this.logger.infoPii(`BrowserCacheManager.cleanRequestByState: Removing temporary cache items for state: ${cachedState}`);\n this.resetRequestCache(cachedState || Constants.EMPTY_STRING);\n }\n this.clearMsalCookies();\n }\n\n /**\n * Looks in temporary cache for any state values with the provided interactionType and removes all temporary cache items for that state\n * Used in scenarios where temp cache needs to be cleaned but state is not known, such as clicking browser back button.\n * @param interactionType\n */\n cleanRequestByInteractionType(interactionType: InteractionType): void {\n this.logger.trace(\"BrowserCacheManager.cleanRequestByInteractionType called\");\n // Loop through all keys to find state key\n this.getKeys().forEach((key) => {\n // If this key is not the state key, move on\n if (key.indexOf(TemporaryCacheKeys.REQUEST_STATE) === -1) {\n return;\n }\n\n // Retrieve state value, return if not a valid value\n const stateValue = this.temporaryCacheStorage.getItem(key);\n if (!stateValue) {\n return;\n }\n // Extract state and ensure it matches given InteractionType, then clean request cache\n const parsedState = BrowserProtocolUtils.extractBrowserRequestState(this.cryptoImpl, stateValue);\n if (parsedState && parsedState.interactionType === interactionType) {\n this.logger.infoPii(`BrowserCacheManager.cleanRequestByInteractionType: Removing temporary cache items for state: ${stateValue}`);\n this.resetRequestCache(stateValue);\n }\n });\n this.clearMsalCookies();\n this.setInteractionInProgress(false);\n }\n\n cacheCodeRequest(authCodeRequest: CommonAuthorizationCodeRequest, browserCrypto: ICrypto): void {\n this.logger.trace(\"BrowserCacheManager.cacheCodeRequest called\");\n\n const encodedValue = browserCrypto.base64Encode(JSON.stringify(authCodeRequest));\n this.setTemporaryCache(TemporaryCacheKeys.REQUEST_PARAMS, encodedValue, true);\n }\n\n /**\n * Gets the token exchange parameters from the cache. Throws an error if nothing is found.\n */\n getCachedRequest(state: string, browserCrypto: ICrypto): CommonAuthorizationCodeRequest {\n this.logger.trace(\"BrowserCacheManager.getCachedRequest called\");\n // Get token request from cache and parse as TokenExchangeParameters.\n const encodedTokenRequest = this.getTemporaryCache(TemporaryCacheKeys.REQUEST_PARAMS, true);\n if (!encodedTokenRequest) {\n throw BrowserAuthError.createNoTokenRequestCacheError();\n }\n\n const parsedRequest = this.validateAndParseJson(browserCrypto.base64Decode(encodedTokenRequest)) as CommonAuthorizationCodeRequest;\n if (!parsedRequest) {\n throw BrowserAuthError.createUnableToParseTokenRequestCacheError();\n }\n this.removeItem(this.generateCacheKey(TemporaryCacheKeys.REQUEST_PARAMS));\n\n // Get cached authority and use if no authority is cached with request.\n if (StringUtils.isEmpty(parsedRequest.authority)) {\n const authorityCacheKey: string = this.generateAuthorityKey(state);\n const cachedAuthority = this.getTemporaryCache(authorityCacheKey);\n if (!cachedAuthority) {\n throw BrowserAuthError.createNoCachedAuthorityError();\n }\n parsedRequest.authority = cachedAuthority;\n }\n\n return parsedRequest;\n }\n\n /**\n * Gets cached native request for redirect flows\n */\n getCachedNativeRequest(): NativeTokenRequest | null {\n this.logger.trace(\"BrowserCacheManager.getCachedNativeRequest called\");\n const cachedRequest = this.getTemporaryCache(TemporaryCacheKeys.NATIVE_REQUEST, true);\n if (!cachedRequest) {\n this.logger.trace(\"BrowserCacheManager.getCachedNativeRequest: No cached native request found\");\n return null;\n }\n\n const parsedRequest = this.validateAndParseJson(cachedRequest) as NativeTokenRequest;\n if (!parsedRequest) {\n this.logger.error(\"BrowserCacheManager.getCachedNativeRequest: Unable to parse native request\");\n return null;\n }\n\n return parsedRequest;\n }\n\n isInteractionInProgress(matchClientId?: boolean): boolean {\n const clientId = this.getInteractionInProgress();\n\n if (matchClientId) {\n return clientId === this.clientId;\n } else {\n return !!clientId;\n }\n }\n\n getInteractionInProgress(): string | null {\n const key = `${Constants.CACHE_PREFIX}.${TemporaryCacheKeys.INTERACTION_STATUS_KEY}`;\n return this.getTemporaryCache(key, false);\n }\n\n setInteractionInProgress(inProgress: boolean): void {\n // Ensure we don't overwrite interaction in progress for a different clientId\n const key = `${Constants.CACHE_PREFIX}.${TemporaryCacheKeys.INTERACTION_STATUS_KEY}`;\n if (inProgress) {\n if (this.getInteractionInProgress()) {\n throw BrowserAuthError.createInteractionInProgressError();\n } else {\n // No interaction is in progress\n this.setTemporaryCache(key, this.clientId, false);\n }\n } else if (!inProgress && this.getInteractionInProgress() === this.clientId) {\n this.removeItem(key);\n }\n }\n\n /**\n * Returns username retrieved from ADAL or MSAL v1 idToken\n */\n getLegacyLoginHint(): string | null {\n // Only check for adal/msal token if no SSO params are being used\n const adalIdTokenString = this.getTemporaryCache(PersistentCacheKeys.ADAL_ID_TOKEN);\n if (adalIdTokenString) {\n this.browserStorage.removeItem(PersistentCacheKeys.ADAL_ID_TOKEN);\n this.logger.verbose(\"Cached ADAL id token retrieved.\");\n }\n\n // Check for cached MSAL v1 id token\n const msalIdTokenString = this.getTemporaryCache(PersistentCacheKeys.ID_TOKEN, true);\n if (msalIdTokenString) {\n this.removeItem(this.generateCacheKey(PersistentCacheKeys.ID_TOKEN));\n this.logger.verbose(\"Cached MSAL.js v1 id token retrieved\");\n }\n\n const cachedIdTokenString = msalIdTokenString || adalIdTokenString;\n if (cachedIdTokenString) {\n const cachedIdToken = new IdToken(cachedIdTokenString, this.cryptoImpl);\n if (cachedIdToken.claims && cachedIdToken.claims.preferred_username) {\n this.logger.verbose(\"No SSO params used and ADAL/MSAL v1 token retrieved, setting ADAL/MSAL v1 preferred_username as loginHint\");\n return cachedIdToken.claims.preferred_username;\n }\n else if (cachedIdToken.claims && cachedIdToken.claims.upn) {\n this.logger.verbose(\"No SSO params used and ADAL/MSAL v1 token retrieved, setting ADAL/MSAL v1 upn as loginHint\");\n return cachedIdToken.claims.upn;\n }\n else {\n this.logger.verbose(\"No SSO params used and ADAL/MSAL v1 token retrieved, however, no account hint claim found. Enable preferred_username or upn id token claim to get SSO.\");\n }\n }\n\n return null;\n }\n\n /**\n * Updates a credential's cache key if the current cache key is outdated\n */\n updateCredentialCacheKey(currentCacheKey: string, credential: ValidCredentialType): string {\n const updatedCacheKey = credential.generateCredentialKey();\n\n if (currentCacheKey !== updatedCacheKey) {\n const cacheItem = this.getItem(currentCacheKey);\n if (cacheItem) {\n this.removeItem(currentCacheKey);\n this.setItem(updatedCacheKey, cacheItem);\n this.logger.verbose(`Updated an outdated ${credential.credentialType} cache key`);\n return updatedCacheKey;\n } else {\n this.logger.error(`Attempted to update an outdated ${credential.credentialType} cache key but no item matching the outdated key was found in storage`);\n }\n }\n\n return currentCacheKey;\n }\n}\n\nexport const DEFAULT_BROWSER_CACHE_MANAGER = (clientId: string, logger: Logger): BrowserCacheManager => {\n const cacheOptions = {\n cacheLocation: BrowserCacheLocation.MemoryStorage,\n storeAuthStateInCookie: false,\n secureCookies: false\n };\n return new BrowserCacheManager(clientId, cacheOptions, DEFAULT_CRYPTO_IMPLEMENTATION, logger);\n};\n","/* eslint-disable header/header */\nexport const name = \"@azure/msal-common\";\nexport const version = \"7.6.0\";\n","/*\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport { INetworkModule } from \"../network/INetworkModule\";\nimport { DEFAULT_CRYPTO_IMPLEMENTATION, ICrypto } from \"../crypto/ICrypto\";\nimport { AuthError } from \"../error/AuthError\";\nimport { ILoggerCallback, LogLevel } from \"../logger/Logger\";\nimport { Constants } from \"../utils/Constants\";\nimport { version } from \"../packageMetadata\";\nimport { Authority } from \"../authority/Authority\";\nimport { AzureCloudInstance } from \"../authority/AuthorityOptions\";\nimport { CacheManager, DefaultStorageClass } from \"../cache/CacheManager\";\nimport { ServerTelemetryManager } from \"../telemetry/server/ServerTelemetryManager\";\nimport { ICachePlugin } from \"../cache/interface/ICachePlugin\";\nimport { ISerializableTokenCache } from \"../cache/interface/ISerializableTokenCache\";\nimport { ClientCredentials } from \"../account/ClientCredentials\";\n\n// Token renewal offset default in seconds\nconst DEFAULT_TOKEN_RENEWAL_OFFSET_SEC = 300;\n\n/**\n * Use the configuration object to configure MSAL Modules and initialize the base interfaces for MSAL.\n *\n * This object allows you to configure important elements of MSAL functionality:\n * - authOptions - Authentication for application\n * - cryptoInterface - Implementation of crypto functions\n * - libraryInfo - Library metadata\n * - telemetry - Telemetry options and data\n * - loggerOptions - Logging for application\n * - networkInterface - Network implementation\n * - storageInterface - Storage implementation\n * - systemOptions - Additional library options\n * - clientCredentials - Credentials options for confidential clients\n */\nexport type ClientConfiguration = {\n authOptions: AuthOptions,\n systemOptions?: SystemOptions,\n loggerOptions?: LoggerOptions,\n storageInterface?: CacheManager,\n networkInterface?: INetworkModule,\n cryptoInterface?: ICrypto,\n clientCredentials?: ClientCredentials,\n libraryInfo?: LibraryInfo\n telemetry?: TelemetryOptions,\n serverTelemetryManager?: ServerTelemetryManager | null,\n persistencePlugin?: ICachePlugin | null,\n serializableCache?: ISerializableTokenCache | null, \n};\n\nexport type CommonClientConfiguration = {\n authOptions: Required,\n systemOptions: Required,\n loggerOptions : Required,\n storageInterface: CacheManager,\n networkInterface : INetworkModule,\n cryptoInterface : Required,\n libraryInfo : LibraryInfo,\n telemetry: Required,\n serverTelemetryManager: ServerTelemetryManager | null,\n clientCredentials: ClientCredentials,\n persistencePlugin: ICachePlugin | null,\n serializableCache: ISerializableTokenCache | null, \n};\n\n/**\n * Use this to configure the auth options in the ClientConfiguration object\n *\n * - clientId - Client ID of your app registered with our Application registration portal : https://portal.azure.com/#blade/Microsoft_AAD_IAM/ActiveDirectoryMenuBlade/RegisteredAppsPreview in Microsoft Identity Platform\n * - authority - You can configure a specific authority, defaults to \" \" or \"https://login.microsoftonline.com/common\"\n * - knownAuthorities - An array of URIs that are known to be valid. Used in B2C scenarios.\n * - cloudDiscoveryMetadata - A string containing the cloud discovery response. Used in AAD scenarios.\n * - clientCapabilities - Array of capabilities which will be added to the claims.access_token.xms_cc request property on every network request.\n * - protocolMode - Enum that represents the protocol that msal follows. Used for configuring proper endpoints.\n * - skipAuthorityMetadataCache - A flag to choose whether to use or not use the local metadata cache during authority initialization. Defaults to false.\n */\nexport type AuthOptions = {\n clientId: string;\n authority: Authority;\n clientCapabilities?: Array;\n azureCloudOptions?: AzureCloudOptions;\n skipAuthorityMetadataCache?: boolean;\n};\n\n/**\n * Use this to configure token renewal info in the Configuration object\n *\n * - tokenRenewalOffsetSeconds - Sets the window of offset needed to renew the token before expiry\n */\nexport type SystemOptions = {\n tokenRenewalOffsetSeconds?: number;\n preventCorsPreflight?: boolean;\n proxyUrl?: string;\n};\n\n/**\n * Use this to configure the logging that MSAL does, by configuring logger options in the Configuration object\n *\n * - loggerCallback - Callback for logger\n * - piiLoggingEnabled - Sets whether pii logging is enabled\n * - logLevel - Sets the level at which logging happens\n * - correlationId - Sets the correlationId printed by the logger\n */\nexport type LoggerOptions = {\n loggerCallback?: ILoggerCallback,\n piiLoggingEnabled?: boolean,\n logLevel?: LogLevel,\n correlationId?: string\n};\n\n/**\n * Library-specific options\n */\nexport type LibraryInfo = {\n sku: string,\n version: string,\n cpu: string,\n os: string\n};\n\n/**\n * AzureCloudInstance specific options\n *\n * - azureCloudInstance - string enum providing short notation for soverign and public cloud authorities\n * - tenant - provision to provide the tenant info\n */\nexport type AzureCloudOptions = {\n azureCloudInstance: AzureCloudInstance;\n tenant?: string,\n};\n\nexport type TelemetryOptions = {\n application: ApplicationTelemetry;\n};\n\n/**\n * Telemetry information sent on request\n * - appName: Unique string name of an application\n * - appVersion: Version of the application using MSAL\n */\nexport type ApplicationTelemetry = {\n appName: string;\n appVersion: string;\n};\n\nexport const DEFAULT_SYSTEM_OPTIONS: Required = {\n tokenRenewalOffsetSeconds: DEFAULT_TOKEN_RENEWAL_OFFSET_SEC,\n preventCorsPreflight: false,\n proxyUrl: Constants.EMPTY_STRING\n};\n\nconst DEFAULT_LOGGER_IMPLEMENTATION: Required = {\n loggerCallback: () => {\n // allow users to not set loggerCallback\n },\n piiLoggingEnabled: false,\n logLevel: LogLevel.Info,\n correlationId: Constants.EMPTY_STRING\n};\n\nconst DEFAULT_NETWORK_IMPLEMENTATION: INetworkModule = {\n async sendGetRequestAsync(): Promise {\n const notImplErr = \"Network interface - sendGetRequestAsync() has not been implemented\";\n throw AuthError.createUnexpectedError(notImplErr);\n },\n async sendPostRequestAsync(): Promise {\n const notImplErr = \"Network interface - sendPostRequestAsync() has not been implemented\";\n throw AuthError.createUnexpectedError(notImplErr);\n }\n};\n\nconst DEFAULT_LIBRARY_INFO: LibraryInfo = {\n sku: Constants.SKU,\n version: version,\n cpu: Constants.EMPTY_STRING,\n os: Constants.EMPTY_STRING\n};\n\nconst DEFAULT_CLIENT_CREDENTIALS: ClientCredentials = {\n clientSecret: Constants.EMPTY_STRING,\n clientAssertion: undefined\n};\n\nconst DEFAULT_AZURE_CLOUD_OPTIONS: AzureCloudOptions = {\n azureCloudInstance: AzureCloudInstance.None,\n tenant: `${Constants.DEFAULT_COMMON_TENANT}`\n};\n\nconst DEFAULT_TELEMETRY_OPTIONS: Required = {\n application: {\n appName: \"\",\n appVersion: \"\"\n }\n};\n\n/**\n * Function that sets the default options when not explicitly configured from app developer\n *\n * @param Configuration\n *\n * @returns Configuration\n */\nexport function buildClientConfiguration(\n {\n authOptions: userAuthOptions,\n systemOptions: userSystemOptions,\n loggerOptions: userLoggerOption,\n storageInterface: storageImplementation,\n networkInterface: networkImplementation,\n cryptoInterface: cryptoImplementation,\n clientCredentials: clientCredentials,\n libraryInfo: libraryInfo,\n telemetry: telemetry,\n serverTelemetryManager: serverTelemetryManager,\n persistencePlugin: persistencePlugin,\n serializableCache: serializableCache, \n }: ClientConfiguration): CommonClientConfiguration {\n\n const loggerOptions = { ...DEFAULT_LOGGER_IMPLEMENTATION, ...userLoggerOption };\n\n return {\n authOptions: buildAuthOptions(userAuthOptions),\n systemOptions: { ...DEFAULT_SYSTEM_OPTIONS, ...userSystemOptions },\n loggerOptions: loggerOptions,\n storageInterface: storageImplementation || new DefaultStorageClass(userAuthOptions.clientId, DEFAULT_CRYPTO_IMPLEMENTATION),\n networkInterface: networkImplementation || DEFAULT_NETWORK_IMPLEMENTATION,\n cryptoInterface: cryptoImplementation || DEFAULT_CRYPTO_IMPLEMENTATION,\n clientCredentials: clientCredentials || DEFAULT_CLIENT_CREDENTIALS,\n libraryInfo: { ...DEFAULT_LIBRARY_INFO, ...libraryInfo },\n telemetry: { ...DEFAULT_TELEMETRY_OPTIONS, ...telemetry },\n serverTelemetryManager: serverTelemetryManager || null,\n persistencePlugin: persistencePlugin || null,\n serializableCache: serializableCache || null, \n };\n}\n\n/**\n * Construct authoptions from the client and platform passed values\n * @param authOptions\n */\nfunction buildAuthOptions(authOptions: AuthOptions): Required {\n return {\n clientCapabilities: [],\n azureCloudOptions: DEFAULT_AZURE_CLOUD_OPTIONS,\n skipAuthorityMetadataCache: false,\n ...authOptions\n };\n}\n","/*\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport { AuthError } from \"../error/AuthError\";\nimport { NetworkResponse } from \"./NetworkManager\";\n\n/**\n * Options allowed by network request APIs.\n */\nexport type NetworkRequestOptions = {\n headers?: Record,\n body?: string;\n proxyUrl?: string;\n};\n\n/**\n * Client network interface to send backend requests.\n * @interface\n */\nexport interface INetworkModule {\n\n /**\n * Interface function for async network \"GET\" requests. Based on the Fetch standard: https://fetch.spec.whatwg.org/\n * @param url\n * @param requestParams\n * @param enableCaching\n */\n sendGetRequestAsync(url: string, options?: NetworkRequestOptions, cancellationToken?: number): Promise>;\n\n /**\n * Interface function for async network \"POST\" requests. Based on the Fetch standard: https://fetch.spec.whatwg.org/\n * @param url\n * @param requestParams\n * @param enableCaching\n */\n sendPostRequestAsync(url: string, options?: NetworkRequestOptions): Promise>;\n}\n\nexport const StubbedNetworkModule: INetworkModule = {\n sendGetRequestAsync: () => {\n const notImplErr = \"Network interface - sendGetRequestAsync() has not been implemented for the Network interface.\";\n return Promise.reject(AuthError.createUnexpectedError(notImplErr));\n },\n sendPostRequestAsync: () => {\n const notImplErr = \"Network interface - sendPostRequestAsync() has not been implemented for the Network interface.\";\n return Promise.reject(AuthError.createUnexpectedError(notImplErr));\n }\n};\n","/*\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport { Constants, INetworkModule, NetworkRequestOptions, NetworkResponse } from \"@azure/msal-common\";\nimport { BrowserAuthError } from \"../error/BrowserAuthError\";\nimport { HTTP_REQUEST_TYPE } from \"../utils/BrowserConstants\";\n\n/**\n * This class implements the Fetch API for GET and POST requests. See more here: https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API\n */\nexport class FetchClient implements INetworkModule {\n\n /**\n * Fetch Client for REST endpoints - Get request\n * @param url \n * @param headers \n * @param body \n */\n async sendGetRequestAsync(url: string, options?: NetworkRequestOptions): Promise> {\n let response;\n try {\n response = await fetch(url, {\n method: HTTP_REQUEST_TYPE.GET,\n headers: this.getFetchHeaders(options)\n });\n } catch (e) {\n if (window.navigator.onLine) {\n throw BrowserAuthError.createGetRequestFailedError(e, url);\n } else {\n throw BrowserAuthError.createNoNetworkConnectivityError();\n }\n }\n\n try {\n return {\n headers: this.getHeaderDict(response.headers),\n body: await response.json() as T,\n status: response.status\n };\n } catch (e) {\n throw BrowserAuthError.createFailedToParseNetworkResponseError(url);\n }\n }\n\n /**\n * Fetch Client for REST endpoints - Post request\n * @param url \n * @param headers \n * @param body \n */\n async sendPostRequestAsync(url: string, options?: NetworkRequestOptions): Promise> {\n const reqBody = (options && options.body) || Constants.EMPTY_STRING;\n\n let response;\n try {\n response = await fetch(url, {\n method: HTTP_REQUEST_TYPE.POST,\n headers: this.getFetchHeaders(options),\n body: reqBody\n });\n } catch (e) {\n if (window.navigator.onLine) {\n throw BrowserAuthError.createPostRequestFailedError(e, url);\n } else {\n throw BrowserAuthError.createNoNetworkConnectivityError();\n }\n }\n\n try {\n return {\n headers: this.getHeaderDict(response.headers),\n body: await response.json() as T,\n status: response.status\n };\n } catch (e) {\n throw BrowserAuthError.createFailedToParseNetworkResponseError(url);\n }\n }\n\n /**\n * Get Fetch API Headers object from string map\n * @param inputHeaders \n */\n private getFetchHeaders(options?: NetworkRequestOptions): Headers {\n const headers = new Headers();\n if (!(options && options.headers)) {\n return headers;\n }\n const optionsHeaders = options.headers;\n Object.keys(optionsHeaders).forEach((key) => {\n headers.append(key, optionsHeaders[key]);\n });\n return headers;\n }\n\n private getHeaderDict(headers: Headers): Record {\n const headerDict: Record = {};\n headers.forEach((value: string, key: string) => {\n headerDict[key] = value;\n });\n return headerDict;\n }\n}\n","/*\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport { INetworkModule, NetworkRequestOptions, NetworkResponse } from \"@azure/msal-common\";\nimport { BrowserAuthError } from \"../error/BrowserAuthError\";\nimport { HTTP_REQUEST_TYPE } from \"../utils/BrowserConstants\";\n\n/**\n * This client implements the XMLHttpRequest class to send GET and POST requests.\n */\nexport class XhrClient implements INetworkModule {\n\n /**\n * XhrClient for REST endpoints - Get request\n * @param url \n * @param headers \n * @param body \n */\n async sendGetRequestAsync(url: string, options?: NetworkRequestOptions): Promise> {\n return this.sendRequestAsync(url, HTTP_REQUEST_TYPE.GET, options);\n }\n\n /**\n * XhrClient for REST endpoints - Post request\n * @param url \n * @param headers \n * @param body \n */\n async sendPostRequestAsync(url: string, options?: NetworkRequestOptions): Promise> {\n return this.sendRequestAsync(url, HTTP_REQUEST_TYPE.POST, options);\n }\n\n /**\n * Helper for XhrClient requests.\n * @param url \n * @param method \n * @param options \n */\n private sendRequestAsync(url: string, method: HTTP_REQUEST_TYPE, options?: NetworkRequestOptions): Promise> {\n return new Promise>((resolve, reject) => {\n const xhr = new XMLHttpRequest();\n xhr.open(method, url, /* async: */ true);\n this.setXhrHeaders(xhr, options);\n xhr.onload = (): void => {\n if (xhr.status < 200 || xhr.status >= 300) {\n if (method === HTTP_REQUEST_TYPE.POST) {\n reject(BrowserAuthError.createPostRequestFailedError(`Failed with status ${xhr.status}`, url));\n } else {\n reject(BrowserAuthError.createGetRequestFailedError(`Failed with status ${xhr.status}`, url));\n }\n }\n try {\n const jsonResponse = JSON.parse(xhr.responseText) as T;\n const networkResponse: NetworkResponse = {\n headers: this.getHeaderDict(xhr),\n body: jsonResponse,\n status: xhr.status\n };\n resolve(networkResponse);\n } catch (e) {\n reject(BrowserAuthError.createFailedToParseNetworkResponseError(url));\n }\n };\n\n xhr.onerror = (): void => {\n if (window.navigator.onLine) {\n if (method === HTTP_REQUEST_TYPE.POST) {\n reject(BrowserAuthError.createPostRequestFailedError(`Failed with status ${xhr.status}`, url));\n } else {\n reject(BrowserAuthError.createGetRequestFailedError(`Failed with status ${xhr.status}`, url));\n }\n } else {\n reject(BrowserAuthError.createNoNetworkConnectivityError());\n }\n };\n\n if (method === HTTP_REQUEST_TYPE.POST && options && options.body) {\n xhr.send(options.body);\n } else if (method === HTTP_REQUEST_TYPE.GET) {\n xhr.send();\n } else {\n throw BrowserAuthError.createHttpMethodNotImplementedError(method);\n }\n });\n }\n\n /**\n * Helper to set XHR headers for request.\n * @param xhr \n * @param options \n */\n private setXhrHeaders(xhr: XMLHttpRequest, options?: NetworkRequestOptions): void {\n if (options && options.headers) {\n const headers = options.headers;\n Object.keys(headers).forEach((key: string) => {\n xhr.setRequestHeader(key, headers[key]);\n });\n }\n }\n\n /**\n * Gets a string map of the headers received in the response.\n * \n * Algorithm comes from https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest/getAllResponseHeaders\n * @param xhr \n */\n private getHeaderDict(xhr: XMLHttpRequest): Record {\n const headerString = xhr.getAllResponseHeaders();\n const headerArr = headerString.trim().split(/[\\r\\n]+/);\n const headerDict: Record = {};\n headerArr.forEach((value: string) => {\n const parts = value.split(\": \");\n const headerName = parts.shift();\n const headerVal = parts.join(\": \");\n if (headerName && headerVal) {\n headerDict[headerName] = headerVal;\n }\n });\n\n return headerDict;\n }\n}\n","/*\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport { Constants, INetworkModule, UrlString } from \"@azure/msal-common\";\nimport { FetchClient } from \"../network/FetchClient\";\nimport { XhrClient } from \"../network/XhrClient\";\nimport { BrowserAuthError } from \"../error/BrowserAuthError\";\nimport { InteractionType, BrowserConstants } from \"./BrowserConstants\";\n\n/**\n * Utility class for browser specific functions\n */\nexport class BrowserUtils {\n\n // #region Window Navigation and URL management\n\n /**\n * Clears hash from window url.\n */\n static clearHash(contentWindow: Window): void {\n // Office.js sets history.replaceState to null\n contentWindow.location.hash = Constants.EMPTY_STRING;\n if (typeof contentWindow.history.replaceState === \"function\") {\n // Full removes \"#\" from url\n contentWindow.history.replaceState(null, Constants.EMPTY_STRING, `${contentWindow.location.origin}${contentWindow.location.pathname}${contentWindow.location.search}`);\n }\n }\n\n /**\n * Replaces current hash with hash from provided url\n */\n static replaceHash(url: string): void {\n const urlParts = url.split(\"#\");\n urlParts.shift(); // Remove part before the hash\n window.location.hash = urlParts.length > 0 ? urlParts.join(\"#\") : Constants.EMPTY_STRING;\n }\n\n /**\n * Returns boolean of whether the current window is in an iframe or not.\n */\n static isInIframe(): boolean {\n return window.parent !== window;\n }\n\n /**\n * Returns boolean of whether or not the current window is a popup opened by msal\n */\n static isInPopup(): boolean {\n return typeof window !== \"undefined\" && !!window.opener && \n window.opener !== window && \n typeof window.name === \"string\" && \n window.name.indexOf(`${BrowserConstants.POPUP_NAME_PREFIX}.`) === 0;\n }\n\n // #endregion\n\n /**\n * Returns current window URL as redirect uri\n */\n static getCurrentUri(): string {\n return window.location.href.split(\"?\")[0].split(\"#\")[0];\n }\n\n /**\n * Gets the homepage url for the current window location.\n */\n static getHomepage(): string {\n const currentUrl = new UrlString(window.location.href);\n const urlComponents = currentUrl.getUrlComponents();\n return `${urlComponents.Protocol}//${urlComponents.HostNameAndPort}/`;\n }\n\n /**\n * Returns best compatible network client object. \n */\n static getBrowserNetworkClient(): INetworkModule {\n if (window.fetch && window.Headers) {\n return new FetchClient();\n } else {\n return new XhrClient();\n }\n }\n\n /**\n * Throws error if we have completed an auth and are \n * attempting another auth request inside an iframe.\n */\n static blockReloadInHiddenIframes(): void {\n const isResponseHash = UrlString.hashContainsKnownProperties(window.location.hash);\n // return an error if called from the hidden iframe created by the msal js silent calls\n if (isResponseHash && BrowserUtils.isInIframe()) {\n throw BrowserAuthError.createBlockReloadInHiddenIframeError();\n }\n }\n\n /**\n * Block redirect operations in iframes unless explicitly allowed\n * @param interactionType Interaction type for the request\n * @param allowRedirectInIframe Config value to allow redirects when app is inside an iframe\n */\n static blockRedirectInIframe(interactionType: InteractionType, allowRedirectInIframe: boolean): void {\n const isIframedApp = BrowserUtils.isInIframe();\n if (interactionType === InteractionType.Redirect && isIframedApp && !allowRedirectInIframe) {\n // If we are not in top frame, we shouldn't redirect. This is also handled by the service.\n throw BrowserAuthError.createRedirectInIframeError(isIframedApp);\n }\n }\n\n /**\n * Block redirectUri loaded in popup from calling AcquireToken APIs\n */\n static blockAcquireTokenInPopups(): void {\n // Popups opened by msal popup APIs are given a name that starts with \"msal.\"\n if (BrowserUtils.isInPopup()) {\n throw BrowserAuthError.createBlockAcquireTokenInPopupsError();\n }\n }\n\n /**\n * Throws error if token requests are made in non-browser environment\n * @param isBrowserEnvironment Flag indicating if environment is a browser.\n */\n static blockNonBrowserEnvironment(isBrowserEnvironment: boolean): void {\n if (!isBrowserEnvironment) {\n throw BrowserAuthError.createNonBrowserEnvironmentError();\n }\n }\n\n /**\n * Throws error if native brokering is enabled but initialize hasn't been called\n * @param allowNativeBroker \n * @param initialized \n */\n static blockNativeBrokerCalledBeforeInitialized(allowNativeBroker: boolean, initialized: boolean): void {\n if (allowNativeBroker && !initialized) {\n throw BrowserAuthError.createNativeBrokerCalledBeforeInitialize();\n }\n }\n\n /**\n * Returns boolean of whether current browser is an Internet Explorer or Edge browser.\n */\n static detectIEOrEdge(): boolean {\n const ua = window.navigator.userAgent;\n const msie = ua.indexOf(\"MSIE \");\n const msie11 = ua.indexOf(\"Trident/\");\n const msedge = ua.indexOf(\"Edge/\");\n const isIE = msie > 0 || msie11 > 0;\n const isEdge = msedge > 0;\n return isIE || isEdge;\n }\n}\n","/*\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport { INavigationClient } from \"./INavigationClient\";\nimport { NavigationOptions } from \"./NavigationOptions\";\n\nexport class NavigationClient implements INavigationClient {\n /**\n * Navigates to other pages within the same web application\n * @param url \n * @param options \n */\n navigateInternal(url: string, options: NavigationOptions): Promise{\n return NavigationClient.defaultNavigateWindow(url, options);\n }\n\n /**\n * Navigates to other pages outside the web application i.e. the Identity Provider\n * @param url \n * @param options \n */\n navigateExternal(url: string, options: NavigationOptions): Promise {\n return NavigationClient.defaultNavigateWindow(url, options);\n }\n\n /**\n * Default navigation implementation invoked by the internal and external functions\n * @param url \n * @param options \n */\n private static defaultNavigateWindow(url: string, options: NavigationOptions): Promise {\n if (options.noHistory) {\n window.location.replace(url);\n } else {\n window.location.assign(url);\n }\n\n return new Promise((resolve) => {\n setTimeout(() => {\n resolve(true);\n }, options.timeout);\n });\n }\n}\n","/*\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport { SystemOptions, LoggerOptions, INetworkModule, DEFAULT_SYSTEM_OPTIONS, Constants, ProtocolMode, LogLevel, StubbedNetworkModule, AzureCloudInstance, AzureCloudOptions, ApplicationTelemetry } from \"@azure/msal-common\";\nimport { BrowserUtils } from \"../utils/BrowserUtils\";\nimport { BrowserCacheLocation, BrowserConstants } from \"../utils/BrowserConstants\";\nimport { INavigationClient } from \"../navigation/INavigationClient\";\nimport { NavigationClient } from \"../navigation/NavigationClient\";\n\n// Default timeout for popup windows and iframes in milliseconds\nexport const DEFAULT_POPUP_TIMEOUT_MS = 60000;\nexport const DEFAULT_IFRAME_TIMEOUT_MS = 6000;\nexport const DEFAULT_REDIRECT_TIMEOUT_MS = 30000;\nexport const DEFAULT_NATIVE_BROKER_HANDSHAKE_TIMEOUT_MS = 2000;\n\n/**\n * Use this to configure the auth options in the Configuration object\n */\nexport type BrowserAuthOptions = {\n /**\n * Client ID of your app registered with our Application registration portal : https://portal.azure.com/#blade/Microsoft_AAD_IAM/ActiveDirectoryMenuBlade/RegisteredAppsPreview in Microsoft Identity Platform\n */\n clientId: string;\n /**\n * You can configure a specific authority, defaults to \" \" or \"https://login.microsoftonline.com/common\"\n */\n authority?: string;\n /**\n * An array of URIs that are known to be valid. Used in B2C scenarios.\n */\n knownAuthorities?: Array;\n /**\n * A string containing the cloud discovery response. Used in AAD scenarios.\n */\n cloudDiscoveryMetadata?: string;\n /**\n * A string containing the .well-known/openid-configuration endpoint response\n */\n authorityMetadata?: string;\n /**\n * The redirect URI where authentication responses can be received by your application. It must exactly match one of the redirect URIs registered in the Azure portal.\n */\n redirectUri?: string;\n /**\n * The redirect URI where the window navigates after a successful logout.\n */\n postLogoutRedirectUri?: string | null;\n /**\n * Boolean indicating whether to navigate to the original request URL after the auth server navigates to the redirect URL.\n */\n navigateToLoginRequestUrl?: boolean;\n /**\n * Array of capabilities which will be added to the claims.access_token.xms_cc request property on every network request.\n */\n clientCapabilities?: Array;\n /**\n * Enum that represents the protocol that msal follows. Used for configuring proper endpoints.\n */\n protocolMode?: ProtocolMode;\n /**\n * Enum that represents the Azure Cloud to use.\n */\n azureCloudOptions?: AzureCloudOptions;\n /**\n * Flag of whether to use the local metadata cache\n */\n skipAuthorityMetadataCache?: boolean;\n};\n\n/**\n * Use this to configure the below cache configuration options:\n */\nexport type CacheOptions = {\n /**\n * Used to specify the cacheLocation user wants to set. Valid values are \"localStorage\" and \"sessionStorage\"\n */\n cacheLocation?: BrowserCacheLocation | string;\n /**\n * If set, MSAL stores the auth request state required for validation of the auth flows in the browser cookies. By default this flag is set to false.\n */\n storeAuthStateInCookie?: boolean;\n /**\n * If set, MSAL sets the \"Secure\" flag on cookies so they can only be sent over HTTPS. By default this flag is set to false.\n */\n secureCookies?: boolean;\n};\n\nexport type BrowserSystemOptions = SystemOptions & {\n /**\n * Used to initialize the Logger object (See ClientConfiguration.ts)\n */\n loggerOptions?: LoggerOptions;\n /**\n * Network interface implementation\n */\n networkClient?: INetworkModule;\n /**\n * Override the methods used to navigate to other webpages. Particularly useful if you are using a client-side router\n */\n navigationClient?: INavigationClient;\n /**\n * Sets the timeout for waiting for a response hash in a popup. Will take precedence over loadFrameTimeout if both are set.\n */\n windowHashTimeout?: number;\n /**\n * Sets the timeout for waiting for a response hash in an iframe. Will take precedence over loadFrameTimeout if both are set.\n */\n iframeHashTimeout?: number;\n /**\n * Sets the timeout for waiting for a response hash in an iframe or popup\n */\n loadFrameTimeout?: number;\n /**\n * Maximum time the library should wait for a frame to load\n */\n navigateFrameWait?: number;\n /**\n * Time to wait for redirection to occur before resolving promise\n */\n redirectNavigationTimeout?: number;\n /**\n * Sets whether popups are opened asynchronously. By default, this flag is set to false. When set to false, blank popups are opened before anything else happens. When set to true, popups are opened when making the network request.\n */\n asyncPopups?: boolean;\n /**\n * Flag to enable redirect opertaions when the app is rendered in an iframe (to support scenarios such as embedded B2C login).\n */\n allowRedirectInIframe?: boolean;\n /**\n * Flag to enable native broker support (e.g. acquiring tokens from WAM on Windows)\n */\n allowNativeBroker?: boolean;\n /**\n * Sets the timeout for waiting for the native broker handshake to resolve\n */\n nativeBrokerHandshakeTimeout?: number;\n /**\n * Options related to browser crypto APIs\n */\n cryptoOptions?: CryptoOptions;\n /**\n * Sets the interval length in milliseconds for polling the location attribute in popup windows (default is 30ms)\n */\n pollIntervalMilliseconds?: number;\n};\n\nexport type CryptoOptions = {\n \n /**\n * Enables the application to use the MSR Crypto interface, if available (and other interfaces are not)\n * @type {?boolean}\n */\n useMsrCrypto?: boolean;\n \n /**\n * Entropy to seed browser crypto API (needed for MSR Crypto). Must be cryptographically strong random numbers (e.g. crypto.randomBytes(48) from Node)\n * @type {?Uint8Array}\n */\n entropy?: Uint8Array;\n};\n\n/**\n * Telemetry Options\n */\nexport type BrowserTelemetryOptions = {\n /**\n * Telemetry information sent on request\n * - appName: Unique string name of an application\n * - appVersion: Version of the application using MSAL\n */\n application?: ApplicationTelemetry;\n};\n\n/**\n * This object allows you to configure important elements of MSAL functionality and is passed into the constructor of PublicClientApplication\n */\nexport type Configuration = {\n /**\n * This is where you configure auth elements like clientID, authority used for authenticating against the Microsoft Identity Platform\n */\n auth: BrowserAuthOptions,\n /**\n * This is where you configure cache location and whether to store cache in cookies\n */\n cache?: CacheOptions,\n /**\n * This is where you can configure the network client, logger, token renewal offset\n */\n system?: BrowserSystemOptions,\n /**\n * This is where you can configure telemetry data and options\n */\n telemetry?: BrowserTelemetryOptions\n};\n\nexport type BrowserConfiguration = {\n auth: Required,\n cache: Required,\n system: Required,\n telemetry: Required\n};\n\n/**\n * MSAL function that sets the default options when not explicitly configured from app developer\n *\n * @param auth\n * @param cache\n * @param system\n *\n * @returns Configuration object\n */\nexport function buildConfiguration({ auth: userInputAuth, cache: userInputCache, system: userInputSystem, telemetry: userInputTelemetry }: Configuration, isBrowserEnvironment: boolean): BrowserConfiguration {\n\n // Default auth options for browser\n const DEFAULT_AUTH_OPTIONS: Required = {\n clientId: Constants.EMPTY_STRING,\n authority: `${Constants.DEFAULT_AUTHORITY}`,\n knownAuthorities: [],\n cloudDiscoveryMetadata: Constants.EMPTY_STRING,\n authorityMetadata: Constants.EMPTY_STRING,\n redirectUri: Constants.EMPTY_STRING,\n postLogoutRedirectUri: Constants.EMPTY_STRING,\n navigateToLoginRequestUrl: true,\n clientCapabilities: [],\n protocolMode: ProtocolMode.AAD,\n azureCloudOptions: {\n azureCloudInstance: AzureCloudInstance.None,\n tenant: Constants.EMPTY_STRING\n },\n skipAuthorityMetadataCache: false,\n };\n\n // Default cache options for browser\n const DEFAULT_CACHE_OPTIONS: Required = {\n cacheLocation: BrowserCacheLocation.SessionStorage,\n storeAuthStateInCookie: false,\n secureCookies: false\n };\n\n // Default logger options for browser\n const DEFAULT_LOGGER_OPTIONS: LoggerOptions = {\n // eslint-disable-next-line @typescript-eslint/no-empty-function\n loggerCallback: (): void => {},\n logLevel: LogLevel.Info,\n piiLoggingEnabled: false\n };\n\n // Default system options for browser\n const DEFAULT_BROWSER_SYSTEM_OPTIONS: Required = {\n ...DEFAULT_SYSTEM_OPTIONS,\n loggerOptions: DEFAULT_LOGGER_OPTIONS,\n networkClient: isBrowserEnvironment ? BrowserUtils.getBrowserNetworkClient() : StubbedNetworkModule,\n navigationClient: new NavigationClient(),\n loadFrameTimeout: 0,\n // If loadFrameTimeout is provided, use that as default.\n windowHashTimeout: userInputSystem?.loadFrameTimeout || DEFAULT_POPUP_TIMEOUT_MS,\n iframeHashTimeout: userInputSystem?.loadFrameTimeout || DEFAULT_IFRAME_TIMEOUT_MS,\n navigateFrameWait: isBrowserEnvironment && BrowserUtils.detectIEOrEdge() ? 500 : 0,\n redirectNavigationTimeout: DEFAULT_REDIRECT_TIMEOUT_MS,\n asyncPopups: false,\n allowRedirectInIframe: false,\n allowNativeBroker: false,\n nativeBrokerHandshakeTimeout: userInputSystem?.nativeBrokerHandshakeTimeout || DEFAULT_NATIVE_BROKER_HANDSHAKE_TIMEOUT_MS,\n pollIntervalMilliseconds: BrowserConstants.DEFAULT_POLL_INTERVAL_MS,\n cryptoOptions: {\n useMsrCrypto: false,\n entropy: undefined\n }\n };\n\n const DEFAULT_TELEMETRY_OPTIONS: Required = {\n application: {\n appName: Constants.EMPTY_STRING,\n appVersion: Constants.EMPTY_STRING\n }\n };\n\n const overlayedConfig: BrowserConfiguration = {\n auth: { ...DEFAULT_AUTH_OPTIONS, ...userInputAuth },\n cache: { ...DEFAULT_CACHE_OPTIONS, ...userInputCache },\n system: { ...DEFAULT_BROWSER_SYSTEM_OPTIONS, ...userInputSystem },\n telemetry: { ...DEFAULT_TELEMETRY_OPTIONS, ...userInputTelemetry }\n };\n return overlayedConfig;\n}\n\n","/*\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License.\n */\n\nexport enum EventType {\n INITIALIZE_START = \"msal:initializeStart\",\n INITIALIZE_END = \"msal:initializeEnd\",\n ACCOUNT_ADDED = \"msal:accountAdded\",\n ACCOUNT_REMOVED = \"msal:accountRemoved\",\n LOGIN_START = \"msal:loginStart\",\n LOGIN_SUCCESS = \"msal:loginSuccess\",\n LOGIN_FAILURE = \"msal:loginFailure\",\n ACQUIRE_TOKEN_START = \"msal:acquireTokenStart\",\n ACQUIRE_TOKEN_SUCCESS = \"msal:acquireTokenSuccess\",\n ACQUIRE_TOKEN_FAILURE = \"msal:acquireTokenFailure\",\n ACQUIRE_TOKEN_NETWORK_START = \"msal:acquireTokenFromNetworkStart\",\n SSO_SILENT_START = \"msal:ssoSilentStart\",\n SSO_SILENT_SUCCESS = \"msal:ssoSilentSuccess\",\n SSO_SILENT_FAILURE = \"msal:ssoSilentFailure\",\n ACQUIRE_TOKEN_BY_CODE_START = \"msal:acquireTokenByCodeStart\",\n ACQUIRE_TOKEN_BY_CODE_SUCCESS = \"msal:acquireTokenByCodeSuccess\",\n ACQUIRE_TOKEN_BY_CODE_FAILURE = \"msal:acquireTokenByCodeFailure\",\n HANDLE_REDIRECT_START = \"msal:handleRedirectStart\",\n HANDLE_REDIRECT_END = \"msal:handleRedirectEnd\",\n POPUP_OPENED = \"msal:popupOpened\",\n LOGOUT_START = \"msal:logoutStart\",\n LOGOUT_SUCCESS = \"msal:logoutSuccess\",\n LOGOUT_FAILURE = \"msal:logoutFailure\",\n LOGOUT_END = \"msal:logoutEnd\"\n}\n","/* eslint-disable header/header */\nexport const name = \"@azure/msal-browser\";\nexport const version = \"2.30.0\";\n","/*\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport { ICrypto, SignedHttpRequestParameters } from \"./ICrypto\";\nimport { TimeUtils } from \"../utils/TimeUtils\";\nimport { UrlString } from \"../url/UrlString\";\n\n/**\n * See eSTS docs for more info.\n * - A kid element, with the value containing an RFC 7638-compliant JWK thumbprint that is base64 encoded.\n * - xms_ksl element, representing the storage location of the key's secret component on the client device. One of two values:\n * - sw: software storage\n * - uhw: hardware storage\n */\ntype ReqCnf = {\n kid: string;\n xms_ksl: KeyLocation;\n};\n\nexport type ReqCnfData = {\n kid: string;\n reqCnfString: string;\n reqCnfHash: string;\n};\n\nenum KeyLocation {\n SW = \"sw\",\n UHW = \"uhw\"\n}\n\nexport class PopTokenGenerator {\n\n private cryptoUtils: ICrypto;\n\n constructor(cryptoUtils: ICrypto) {\n this.cryptoUtils = cryptoUtils;\n }\n\n /**\n * Generates the req_cnf validated at the RP in the POP protocol for SHR parameters\n * and returns an object containing the keyid, the full req_cnf string and the req_cnf string hash\n * @param request\n * @returns\n */\n async generateCnf(request: SignedHttpRequestParameters): Promise {\n const reqCnf = await this.generateKid(request);\n const reqCnfString: string = this.cryptoUtils.base64Encode(JSON.stringify(reqCnf));\n\n return {\n kid: reqCnf.kid,\n reqCnfString, \n reqCnfHash: await this.cryptoUtils.hashString(reqCnfString) \n };\n }\n\n /**\n * Generates key_id for a SHR token request\n * @param request\n * @returns\n */\n async generateKid(request: SignedHttpRequestParameters): Promise {\n const kidThumbprint = await this.cryptoUtils.getPublicKeyThumbprint(request);\n\n return {\n kid: kidThumbprint,\n xms_ksl: KeyLocation.SW\n };\n }\n\n /**\n * Signs the POP access_token with the local generated key-pair\n * @param accessToken\n * @param request\n * @returns\n */\n async signPopToken(accessToken: string, keyId: string, request: SignedHttpRequestParameters): Promise {\n return this.signPayload(accessToken, keyId, request);\n }\n\n /**\n * Utility function to generate the signed JWT for an access_token\n * @param payload\n * @param kid\n * @param request\n * @param claims\n * @returns\n */\n async signPayload(payload: string, keyId: string, request: SignedHttpRequestParameters, claims?: object): Promise {\n\n // Deconstruct request to extract SHR parameters\n const { resourceRequestMethod, resourceRequestUri, shrClaims, shrNonce } = request;\n\n const resourceUrlString = (resourceRequestUri) ? new UrlString(resourceRequestUri) : undefined;\n const resourceUrlComponents = resourceUrlString?.getUrlComponents();\n return await this.cryptoUtils.signJwt({\n at: payload,\n ts: TimeUtils.nowSeconds(),\n m: resourceRequestMethod?.toUpperCase(),\n u: resourceUrlComponents?.HostNameAndPort,\n nonce: shrNonce || this.cryptoUtils.createNewGuid(),\n p: resourceUrlComponents?.AbsolutePath,\n q: (resourceUrlComponents?.QueryString) ? [[], resourceUrlComponents.QueryString] : undefined,\n client_claims: shrClaims || undefined,\n ...claims\n }, keyId, request.correlationId);\n }\n}\n","/*\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport { ICrypto, Logger, AccountEntity, CacheManager } from \"@azure/msal-common\";\nimport { InteractionType } from \"../utils/BrowserConstants\";\nimport { EventCallbackFunction, EventError, EventMessage, EventPayload } from \"./EventMessage\";\nimport { EventType } from \"./EventType\";\n\nexport class EventHandler {\n // Callback for subscribing to events\n private eventCallbacks: Map;\n private logger: Logger;\n private browserCrypto: ICrypto;\n private listeningToStorageEvents: boolean;\n\n constructor(logger: Logger, browserCrypto: ICrypto) {\n this.eventCallbacks = new Map();\n this.logger = logger;\n this.browserCrypto = browserCrypto;\n this.listeningToStorageEvents = false;\n this.handleAccountCacheChange = this.handleAccountCacheChange.bind(this);\n }\n\n /**\n * Adds event callbacks to array\n * @param callback\n */\n addEventCallback(callback: EventCallbackFunction): string | null {\n if (typeof window !== \"undefined\") {\n const callbackId = this.browserCrypto.createNewGuid();\n this.eventCallbacks.set(callbackId, callback);\n this.logger.verbose(`Event callback registered with id: ${callbackId}`);\n \n return callbackId;\n }\n \n return null;\n }\n\n /**\n * Removes callback with provided id from callback array\n * @param callbackId\n */\n removeEventCallback(callbackId: string): void {\n this.eventCallbacks.delete(callbackId);\n this.logger.verbose(`Event callback ${callbackId} removed.`);\n }\n\n /**\n * Adds event listener that emits an event when a user account is added or removed from localstorage in a different browser tab or window\n */\n enableAccountStorageEvents(): void {\n if (typeof window === \"undefined\") {\n return;\n }\n\n if (!this.listeningToStorageEvents) {\n this.logger.verbose(\"Adding account storage listener.\");\n this.listeningToStorageEvents = true;\n window.addEventListener(\"storage\", this.handleAccountCacheChange);\n } else {\n this.logger.verbose(\"Account storage listener already registered.\");\n }\n }\n\n /**\n * Removes event listener that emits an event when a user account is added or removed from localstorage in a different browser tab or window\n */\n disableAccountStorageEvents(): void {\n if (typeof window === \"undefined\") {\n return;\n }\n\n if (this.listeningToStorageEvents) {\n this.logger.verbose(\"Removing account storage listener.\");\n window.removeEventListener(\"storage\", this.handleAccountCacheChange);\n this.listeningToStorageEvents = false;\n } else {\n this.logger.verbose(\"No account storage listener registered.\");\n }\n }\n\n /**\n * Emits events by calling callback with event message\n * @param eventType\n * @param interactionType\n * @param payload\n * @param error\n */\n emitEvent(eventType: EventType, interactionType?: InteractionType, payload?: EventPayload, error?: EventError): void {\n if (typeof window !== \"undefined\") {\n const message: EventMessage = {\n eventType: eventType,\n interactionType: interactionType || null,\n payload: payload || null,\n error: error || null,\n timestamp: Date.now()\n };\n\n this.logger.info(`Emitting event: ${eventType}`);\n\n this.eventCallbacks.forEach((callback: EventCallbackFunction, callbackId: string) => {\n this.logger.verbose(`Emitting event to callback ${callbackId}: ${eventType}`);\n callback.apply(null, [message]);\n });\n }\n }\n\n /**\n * Emit account added/removed events when cached accounts are changed in a different tab or frame\n */\n private handleAccountCacheChange(e: StorageEvent): void {\n try {\n const cacheValue = e.newValue || e.oldValue;\n if (!cacheValue) {\n return;\n }\n const parsedValue = JSON.parse(cacheValue);\n if (typeof parsedValue !== \"object\" || !AccountEntity.isAccountEntity(parsedValue)) {\n return;\n }\n const accountEntity = CacheManager.toObject(new AccountEntity(), parsedValue);\n const accountInfo = accountEntity.getAccountInfo();\n if (!e.oldValue && e.newValue) {\n this.logger.info(\"Account was added to cache in a different window\");\n this.emitEvent(EventType.ACCOUNT_ADDED, undefined, accountInfo);\n } else if (!e.newValue && e.oldValue) {\n this.logger.info(\"Account was removed from cache in a different window\");\n this.emitEvent(EventType.ACCOUNT_REMOVED, undefined, accountInfo);\n }\n } catch (e) {\n return;\n }\n }\n}\n","/*\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport { NetworkResponse } from \"./NetworkManager\";\nimport { ServerAuthorizationTokenResponse } from \"../response/ServerAuthorizationTokenResponse\";\nimport { HeaderNames, CacheSchemaType, ThrottlingConstants, Constants } from \"../utils/Constants\";\nimport { CacheManager } from \"../cache/CacheManager\";\nimport { ServerError } from \"../error/ServerError\";\nimport { RequestThumbprint } from \"./RequestThumbprint\";\nimport { ThrottlingEntity } from \"../cache/entities/ThrottlingEntity\";\nimport { BaseAuthRequest } from \"../request/BaseAuthRequest\";\n\nexport class ThrottlingUtils {\n\n /**\n * Prepares a RequestThumbprint to be stored as a key.\n * @param thumbprint\n */\n static generateThrottlingStorageKey(thumbprint: RequestThumbprint): string {\n return `${ThrottlingConstants.THROTTLING_PREFIX}.${JSON.stringify(thumbprint)}`;\n }\n\n /**\n * Performs necessary throttling checks before a network request.\n * @param cacheManager\n * @param thumbprint\n */\n static preProcess(cacheManager: CacheManager, thumbprint: RequestThumbprint): void {\n const key = ThrottlingUtils.generateThrottlingStorageKey(thumbprint);\n const value = cacheManager.getThrottlingCache(key);\n\n if (value) {\n if (value.throttleTime < Date.now()) {\n cacheManager.removeItem(key, CacheSchemaType.THROTTLING);\n return;\n }\n throw new ServerError(value.errorCodes?.join(\" \") || Constants.EMPTY_STRING, value.errorMessage, value.subError);\n }\n }\n\n /**\n * Performs necessary throttling checks after a network request.\n * @param cacheManager\n * @param thumbprint\n * @param response\n */\n static postProcess(cacheManager: CacheManager, thumbprint: RequestThumbprint, response: NetworkResponse): void {\n if (ThrottlingUtils.checkResponseStatus(response) || ThrottlingUtils.checkResponseForRetryAfter(response)) {\n const thumbprintValue: ThrottlingEntity = {\n throttleTime: ThrottlingUtils.calculateThrottleTime(parseInt(response.headers[HeaderNames.RETRY_AFTER])),\n error: response.body.error,\n errorCodes: response.body.error_codes,\n errorMessage: response.body.error_description,\n subError: response.body.suberror\n };\n cacheManager.setThrottlingCache(\n ThrottlingUtils.generateThrottlingStorageKey(thumbprint),\n thumbprintValue\n );\n }\n }\n\n /**\n * Checks a NetworkResponse object's status codes against 429 or 5xx\n * @param response\n */\n static checkResponseStatus(response: NetworkResponse): boolean {\n return response.status === 429 || response.status >= 500 && response.status < 600;\n }\n\n /**\n * Checks a NetworkResponse object's RetryAfter header\n * @param response\n */\n static checkResponseForRetryAfter(response: NetworkResponse): boolean {\n if (response.headers) {\n return response.headers.hasOwnProperty(HeaderNames.RETRY_AFTER) && (response.status < 200 || response.status >= 300);\n }\n return false;\n }\n\n /**\n * Calculates the Unix-time value for a throttle to expire given throttleTime in seconds.\n * @param throttleTime\n */\n static calculateThrottleTime(throttleTime: number): number {\n const time = throttleTime <= 0 ? 0 : throttleTime;\n\n const currentSeconds = Date.now() / 1000;\n return Math.floor(Math.min(\n currentSeconds + (time || ThrottlingConstants.DEFAULT_THROTTLE_TIME_SECONDS),\n currentSeconds + ThrottlingConstants.DEFAULT_MAX_THROTTLE_TIME_SECONDS\n ) * 1000);\n }\n\n static removeThrottle(cacheManager: CacheManager, clientId: string, request: BaseAuthRequest, homeAccountIdentifier?: string): boolean {\n const thumbprint: RequestThumbprint = {\n clientId: clientId,\n authority: request.authority,\n scopes: request.scopes,\n homeAccountIdentifier: homeAccountIdentifier,\n claims: request.claims,\n authenticationScheme: request.authenticationScheme,\n resourceRequestMethod: request.resourceRequestMethod,\n resourceRequestUri: request.resourceRequestUri,\n shrClaims: request.shrClaims,\n sshKid: request.sshKid\n };\n\n const key = this.generateThrottlingStorageKey(thumbprint);\n return cacheManager.removeItem(key, CacheSchemaType.THROTTLING);\n }\n}\n","/*\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport { INetworkModule, NetworkRequestOptions } from \"./INetworkModule\";\nimport { RequestThumbprint } from \"./RequestThumbprint\";\nimport { ThrottlingUtils } from \"./ThrottlingUtils\";\nimport { CacheManager } from \"../cache/CacheManager\";\nimport { AuthError } from \"../error/AuthError\";\nimport { ClientAuthError } from \"../error/ClientAuthError\";\n\nexport type NetworkResponse = {\n headers: Record;\n body: T;\n status: number;\n};\n\nexport class NetworkManager {\n private networkClient: INetworkModule;\n private cacheManager: CacheManager;\n\n constructor(networkClient: INetworkModule, cacheManager: CacheManager) {\n this.networkClient = networkClient;\n this.cacheManager = cacheManager;\n }\n\n /**\n * Wraps sendPostRequestAsync with necessary preflight and postflight logic\n * @param thumbprint\n * @param tokenEndpoint\n * @param options\n */\n async sendPostRequest(thumbprint: RequestThumbprint, tokenEndpoint: string, options: NetworkRequestOptions): Promise> {\n ThrottlingUtils.preProcess(this.cacheManager, thumbprint);\n\n let response;\n try {\n response = await this.networkClient.sendPostRequestAsync(tokenEndpoint, options);\n } catch (e) {\n if (e instanceof AuthError) {\n throw e;\n } else {\n throw ClientAuthError.createNetworkError(tokenEndpoint, e);\n }\n }\n\n ThrottlingUtils.postProcess(this.cacheManager, thumbprint, response);\n\n return response;\n }\n}\n","/*\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport { ClientConfiguration, buildClientConfiguration, CommonClientConfiguration } from \"../config/ClientConfiguration\";\nimport { INetworkModule } from \"../network/INetworkModule\";\nimport { NetworkManager, NetworkResponse } from \"../network/NetworkManager\";\nimport { ICrypto } from \"../crypto/ICrypto\";\nimport { Authority } from \"../authority/Authority\";\nimport { Logger } from \"../logger/Logger\";\nimport { Constants, HeaderNames } from \"../utils/Constants\";\nimport { ServerAuthorizationTokenResponse } from \"../response/ServerAuthorizationTokenResponse\";\nimport { CacheManager } from \"../cache/CacheManager\";\nimport { ServerTelemetryManager } from \"../telemetry/server/ServerTelemetryManager\";\nimport { RequestThumbprint } from \"../network/RequestThumbprint\";\nimport { version, name } from \"../packageMetadata\";\nimport { ClientAuthError } from \"../error/ClientAuthError\";\nimport { CcsCredential, CcsCredentialType } from \"../account/CcsCredential\";\nimport { buildClientInfoFromHomeAccountId } from \"../account/ClientInfo\";\nimport { IPerformanceClient } from \"../telemetry/performance/IPerformanceClient\";\n\n/**\n * Base application class which will construct requests to send to and handle responses from the Microsoft STS using the authorization code flow.\n */\nexport abstract class BaseClient {\n // Logger object\n public logger: Logger;\n\n // Application config\n protected config: CommonClientConfiguration;\n\n // Crypto Interface\n protected cryptoUtils: ICrypto;\n\n // Storage Interface\n protected cacheManager: CacheManager;\n\n // Network Interface\n protected networkClient: INetworkModule;\n\n // Server Telemetry Manager\n protected serverTelemetryManager: ServerTelemetryManager | null;\n\n // Network Manager\n protected networkManager: NetworkManager;\n\n // Default authority object\n public authority: Authority;\n\n // Performance telemetry client\n protected performanceClient?: IPerformanceClient;\n\n protected constructor(configuration: ClientConfiguration, performanceClient?: IPerformanceClient) {\n // Set the configuration\n this.config = buildClientConfiguration(configuration);\n\n // Initialize the logger\n this.logger = new Logger(this.config.loggerOptions, name, version);\n\n // Initialize crypto\n this.cryptoUtils = this.config.cryptoInterface;\n\n // Initialize storage interface\n this.cacheManager = this.config.storageInterface;\n\n // Set the network interface\n this.networkClient = this.config.networkInterface;\n\n // Set the NetworkManager\n this.networkManager = new NetworkManager(this.networkClient, this.cacheManager);\n\n // Set TelemetryManager\n this.serverTelemetryManager = this.config.serverTelemetryManager;\n\n // set Authority\n this.authority = this.config.authOptions.authority;\n\n // set performance telemetry client\n this.performanceClient = performanceClient;\n }\n\n /**\n * Creates default headers for requests to token endpoint\n */\n protected createTokenRequestHeaders(ccsCred?: CcsCredential): Record { \n const headers: Record = {};\n headers[HeaderNames.CONTENT_TYPE] = Constants.URL_FORM_CONTENT_TYPE;\n\n if (!this.config.systemOptions.preventCorsPreflight && ccsCred) {\n switch (ccsCred.type) {\n case CcsCredentialType.HOME_ACCOUNT_ID:\n try {\n const clientInfo = buildClientInfoFromHomeAccountId(ccsCred.credential);\n headers[HeaderNames.CCS_HEADER] = `Oid:${clientInfo.uid}@${clientInfo.utid}`;\n } catch (e) {\n this.logger.verbose(\"Could not parse home account ID for CCS Header: \" + e);\n }\n break;\n case CcsCredentialType.UPN:\n headers[HeaderNames.CCS_HEADER] = `UPN: ${ccsCred.credential}`;\n break;\n }\n } \n return headers;\n }\n\n /**\n * Http post to token endpoint\n * @param tokenEndpoint\n * @param queryString\n * @param headers\n * @param thumbprint\n */\n protected async executePostToTokenEndpoint(tokenEndpoint: string, queryString: string, headers: Record, thumbprint: RequestThumbprint): Promise> {\n const response = await this.networkManager.sendPostRequest(\n thumbprint,\n tokenEndpoint,\n { body: queryString, headers: headers, proxyUrl: this.config.systemOptions.proxyUrl }\n );\n\n if (this.config.serverTelemetryManager && response.status < 500 && response.status !== 429) {\n // Telemetry data successfully logged by server, clear Telemetry cache\n this.config.serverTelemetryManager.clearTelemetryCache();\n }\n\n return response;\n }\n\n /**\n * Updates the authority object of the client. Endpoint discovery must be completed.\n * @param updatedAuthority\n */\n updateAuthority(updatedAuthority: Authority): void {\n if (!updatedAuthority.discoveryComplete()) {\n throw ClientAuthError.createEndpointDiscoveryIncompleteError(\"Updated authority has not completed endpoint discovery.\");\n }\n this.authority = updatedAuthority;\n }\n}\n","/*\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport { StringUtils } from \"../utils/StringUtils\";\nimport { ClientConfigurationError } from \"../error/ClientConfigurationError\";\nimport { PromptValue, CodeChallengeMethodValues} from \"../utils/Constants\";\nimport { StringDict } from \"../utils/MsalTypes\";\n\n/**\n * Validates server consumable params from the \"request\" objects\n */\nexport class RequestValidator {\n\n /**\n * Utility to check if the `redirectUri` in the request is a non-null value\n * @param redirectUri\n */\n static validateRedirectUri(redirectUri: string) : void {\n if (StringUtils.isEmpty(redirectUri)) {\n throw ClientConfigurationError.createRedirectUriEmptyError();\n }\n }\n\n /**\n * Utility to validate prompt sent by the user in the request\n * @param prompt\n */\n static validatePrompt(prompt: string) : void {\n const promptValues = [];\n\n for (const value in PromptValue) {\n promptValues.push(PromptValue[value]);\n }\n\n if (promptValues.indexOf(prompt) < 0) {\n throw ClientConfigurationError.createInvalidPromptError(prompt);\n }\n }\n\n static validateClaims(claims: string) : void {\n try {\n JSON.parse(claims);\n } catch(e) {\n throw ClientConfigurationError.createInvalidClaimsRequestError();\n }\n }\n\n /**\n * Utility to validate code_challenge and code_challenge_method\n * @param codeChallenge\n * @param codeChallengeMethod\n */\n static validateCodeChallengeParams(codeChallenge: string, codeChallengeMethod: string) : void {\n if (StringUtils.isEmpty(codeChallenge) || StringUtils.isEmpty(codeChallengeMethod)) {\n throw ClientConfigurationError.createInvalidCodeChallengeParamsError();\n } else {\n this.validateCodeChallengeMethod(codeChallengeMethod);\n }\n }\n\n /**\n * Utility to validate code_challenge_method\n * @param codeChallengeMethod\n */\n static validateCodeChallengeMethod(codeChallengeMethod: string) : void {\n if (\n [\n CodeChallengeMethodValues.PLAIN,\n CodeChallengeMethodValues.S256\n ].indexOf(codeChallengeMethod) < 0\n ) {\n throw ClientConfigurationError.createInvalidCodeChallengeMethodError();\n }\n }\n\n /**\n * Removes unnecessary or duplicate query parameters from extraQueryParameters\n * @param request\n */\n static sanitizeEQParams(eQParams: StringDict, queryParams: Map) : StringDict {\n if (!eQParams) {\n return {};\n }\n\n // Remove any query parameters already included in SSO params\n queryParams.forEach((value, key) => {\n if (eQParams[key]) {\n delete eQParams[key];\n }\n });\n\n return eQParams;\n }\n}\n","/*\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport { AADServerParamKeys, Constants, ResponseMode, SSOTypes, CLIENT_INFO, AuthenticationScheme, ClaimsRequestKeys, PasswordGrantConstants, OIDC_DEFAULT_SCOPES, ThrottlingConstants, HeaderNames} from \"../utils/Constants\";\nimport { ScopeSet } from \"./ScopeSet\";\nimport { ClientConfigurationError } from \"../error/ClientConfigurationError\";\nimport { StringDict } from \"../utils/MsalTypes\";\nimport { RequestValidator } from \"./RequestValidator\";\nimport { ApplicationTelemetry, LibraryInfo } from \"../config/ClientConfiguration\";\nimport { StringUtils } from \"../utils/StringUtils\";\nimport { ServerTelemetryManager } from \"../telemetry/server/ServerTelemetryManager\";\nimport { ClientInfo } from \"../account/ClientInfo\";\n\nexport class RequestParameterBuilder {\n\n private parameters: Map;\n\n constructor() {\n this.parameters = new Map();\n }\n\n /**\n * add response_type = code\n */\n addResponseTypeCode(): void {\n this.parameters.set(\n AADServerParamKeys.RESPONSE_TYPE, encodeURIComponent(Constants.CODE_RESPONSE_TYPE)\n );\n }\n\n /**\n * add response_type = token id_token\n */\n addResponseTypeForTokenAndIdToken(): void {\n this.parameters.set(\n AADServerParamKeys.RESPONSE_TYPE, encodeURIComponent(`${Constants.TOKEN_RESPONSE_TYPE} ${Constants.ID_TOKEN_RESPONSE_TYPE}`)\n );\n }\n\n /**\n * add response_mode. defaults to query.\n * @param responseMode\n */\n addResponseMode(responseMode?: ResponseMode): void {\n this.parameters.set(\n AADServerParamKeys.RESPONSE_MODE,\n encodeURIComponent((responseMode) ? responseMode : ResponseMode.QUERY)\n );\n }\n\n /**\n * Add flag to indicate STS should attempt to use WAM if available\n */\n addNativeBroker(): void {\n this.parameters.set(\n AADServerParamKeys.NATIVE_BROKER,\n encodeURIComponent(\"1\")\n );\n }\n\n /**\n * add scopes. set addOidcScopes to false to prevent default scopes in non-user scenarios\n * @param scopeSet\n * @param addOidcScopes\n */\n addScopes(scopes: string[], addOidcScopes: boolean = true): void {\n const requestScopes = addOidcScopes ? [...scopes || [], ...OIDC_DEFAULT_SCOPES] : scopes || [];\n const scopeSet = new ScopeSet(requestScopes);\n this.parameters.set(AADServerParamKeys.SCOPE, encodeURIComponent(scopeSet.printScopes()));\n }\n\n /**\n * add clientId\n * @param clientId\n */\n addClientId(clientId: string): void {\n this.parameters.set(AADServerParamKeys.CLIENT_ID, encodeURIComponent(clientId));\n }\n\n /**\n * add redirect_uri\n * @param redirectUri\n */\n addRedirectUri(redirectUri: string): void {\n RequestValidator.validateRedirectUri(redirectUri);\n this.parameters.set(AADServerParamKeys.REDIRECT_URI, encodeURIComponent(redirectUri));\n }\n\n /**\n * add post logout redirectUri\n * @param redirectUri\n */\n addPostLogoutRedirectUri(redirectUri: string): void {\n RequestValidator.validateRedirectUri(redirectUri);\n this.parameters.set(AADServerParamKeys.POST_LOGOUT_URI, encodeURIComponent(redirectUri));\n }\n\n /**\n * add id_token_hint to logout request\n * @param idTokenHint\n */\n addIdTokenHint(idTokenHint: string): void {\n this.parameters.set(AADServerParamKeys.ID_TOKEN_HINT, encodeURIComponent(idTokenHint));\n }\n\n /**\n * add domain_hint\n * @param domainHint\n */\n addDomainHint(domainHint: string): void {\n this.parameters.set(SSOTypes.DOMAIN_HINT, encodeURIComponent(domainHint));\n }\n\n /**\n * add login_hint\n * @param loginHint\n */\n addLoginHint(loginHint: string): void {\n this.parameters.set(SSOTypes.LOGIN_HINT, encodeURIComponent(loginHint));\n }\n\n /**\n * Adds the CCS (Cache Credential Service) query parameter for login_hint\n * @param loginHint\n */\n addCcsUpn(loginHint: string): void {\n this.parameters.set(HeaderNames.CCS_HEADER, encodeURIComponent(`UPN:${loginHint}`));\n }\n\n /**\n * Adds the CCS (Cache Credential Service) query parameter for account object\n * @param loginHint\n */\n addCcsOid(clientInfo: ClientInfo): void {\n this.parameters.set(HeaderNames.CCS_HEADER, encodeURIComponent(`Oid:${clientInfo.uid}@${clientInfo.utid}`));\n }\n\n /**\n * add sid\n * @param sid\n */\n addSid(sid: string): void {\n this.parameters.set(SSOTypes.SID, encodeURIComponent(sid));\n }\n\n /**\n * add claims\n * @param claims\n */\n addClaims(claims?: string, clientCapabilities?: Array): void {\n const mergedClaims = this.addClientCapabilitiesToClaims(claims, clientCapabilities);\n RequestValidator.validateClaims(mergedClaims);\n this.parameters.set(AADServerParamKeys.CLAIMS, encodeURIComponent(mergedClaims));\n }\n\n /**\n * add correlationId\n * @param correlationId\n */\n addCorrelationId(correlationId: string): void {\n this.parameters.set(AADServerParamKeys.CLIENT_REQUEST_ID, encodeURIComponent(correlationId));\n }\n\n /**\n * add library info query params\n * @param libraryInfo\n */\n addLibraryInfo(libraryInfo: LibraryInfo): void {\n // Telemetry Info\n this.parameters.set(AADServerParamKeys.X_CLIENT_SKU, libraryInfo.sku);\n this.parameters.set(AADServerParamKeys.X_CLIENT_VER, libraryInfo.version);\n if (libraryInfo.os) {\n this.parameters.set(AADServerParamKeys.X_CLIENT_OS, libraryInfo.os);\n }\n if (libraryInfo.cpu) {\n this.parameters.set(AADServerParamKeys.X_CLIENT_CPU, libraryInfo.cpu);\n }\n }\n\n /**\n * Add client telemetry parameters\n * @param appTelemetry\n */\n addApplicationTelemetry(appTelemetry: ApplicationTelemetry): void {\n if (appTelemetry?.appName) {\n this.parameters.set(AADServerParamKeys.X_APP_NAME, appTelemetry.appName);\n }\n\n if (appTelemetry?.appVersion) {\n this.parameters.set(AADServerParamKeys.X_APP_VER, appTelemetry.appVersion);\n }\n }\n\n /**\n * add prompt\n * @param prompt\n */\n addPrompt(prompt: string): void {\n RequestValidator.validatePrompt(prompt);\n this.parameters.set(`${AADServerParamKeys.PROMPT}`, encodeURIComponent(prompt));\n }\n\n /**\n * add state\n * @param state\n */\n addState(state: string): void {\n if (!StringUtils.isEmpty(state)) {\n this.parameters.set(AADServerParamKeys.STATE, encodeURIComponent(state));\n }\n }\n\n /**\n * add nonce\n * @param nonce\n */\n addNonce(nonce: string): void {\n this.parameters.set(AADServerParamKeys.NONCE, encodeURIComponent(nonce));\n }\n\n /**\n * add code_challenge and code_challenge_method\n * - throw if either of them are not passed\n * @param codeChallenge\n * @param codeChallengeMethod\n */\n addCodeChallengeParams(\n codeChallenge: string,\n codeChallengeMethod: string\n ): void {\n RequestValidator.validateCodeChallengeParams(codeChallenge, codeChallengeMethod);\n if (codeChallenge && codeChallengeMethod) {\n this.parameters.set(AADServerParamKeys.CODE_CHALLENGE, encodeURIComponent(codeChallenge));\n this.parameters.set(AADServerParamKeys.CODE_CHALLENGE_METHOD, encodeURIComponent(codeChallengeMethod));\n } else {\n throw ClientConfigurationError.createInvalidCodeChallengeParamsError();\n }\n }\n\n /**\n * add the `authorization_code` passed by the user to exchange for a token\n * @param code\n */\n addAuthorizationCode(code: string): void {\n this.parameters.set(AADServerParamKeys.CODE, encodeURIComponent(code));\n }\n\n /**\n * add the `authorization_code` passed by the user to exchange for a token\n * @param code\n */\n addDeviceCode(code: string): void {\n this.parameters.set(AADServerParamKeys.DEVICE_CODE, encodeURIComponent(code));\n }\n\n /**\n * add the `refreshToken` passed by the user\n * @param refreshToken\n */\n addRefreshToken(refreshToken: string): void {\n this.parameters.set(AADServerParamKeys.REFRESH_TOKEN, encodeURIComponent(refreshToken));\n }\n\n /**\n * add the `code_verifier` passed by the user to exchange for a token\n * @param codeVerifier\n */\n addCodeVerifier(codeVerifier: string): void {\n this.parameters.set(AADServerParamKeys.CODE_VERIFIER, encodeURIComponent(codeVerifier));\n }\n\n /**\n * add client_secret\n * @param clientSecret\n */\n addClientSecret(clientSecret: string): void {\n this.parameters.set(AADServerParamKeys.CLIENT_SECRET, encodeURIComponent(clientSecret));\n }\n\n /**\n * add clientAssertion for confidential client flows\n * @param clientAssertion\n */\n addClientAssertion(clientAssertion: string): void {\n if (!StringUtils.isEmpty(clientAssertion)) {\n this.parameters.set(AADServerParamKeys.CLIENT_ASSERTION, encodeURIComponent(clientAssertion));\n }\n }\n\n /**\n * add clientAssertionType for confidential client flows\n * @param clientAssertionType\n */\n addClientAssertionType(clientAssertionType: string): void {\n if (!StringUtils.isEmpty(clientAssertionType)) {\n this.parameters.set(AADServerParamKeys.CLIENT_ASSERTION_TYPE, encodeURIComponent(clientAssertionType));\n }\n }\n\n /**\n * add OBO assertion for confidential client flows\n * @param clientAssertion\n */\n addOboAssertion(oboAssertion: string): void {\n this.parameters.set(AADServerParamKeys.OBO_ASSERTION, encodeURIComponent(oboAssertion));\n }\n\n /**\n * add grant type\n * @param grantType\n */\n addRequestTokenUse(tokenUse: string): void {\n this.parameters.set(AADServerParamKeys.REQUESTED_TOKEN_USE, encodeURIComponent(tokenUse));\n }\n\n /**\n * add grant type\n * @param grantType\n */\n addGrantType(grantType: string): void {\n this.parameters.set(AADServerParamKeys.GRANT_TYPE, encodeURIComponent(grantType));\n }\n\n /**\n * add client info\n *\n */\n addClientInfo(): void {\n this.parameters.set(CLIENT_INFO, \"1\");\n }\n\n /**\n * add extraQueryParams\n * @param eQparams\n */\n addExtraQueryParameters(eQparams: StringDict): void {\n RequestValidator.sanitizeEQParams(eQparams, this.parameters);\n Object.keys(eQparams).forEach((key) => {\n this.parameters.set(key, eQparams[key]);\n });\n }\n\n addClientCapabilitiesToClaims(claims?: string, clientCapabilities?: Array): string {\n let mergedClaims: object;\n\n // Parse provided claims into JSON object or initialize empty object\n if (!claims) {\n mergedClaims = {};\n } else {\n try {\n mergedClaims = JSON.parse(claims);\n } catch(e) {\n throw ClientConfigurationError.createInvalidClaimsRequestError();\n }\n }\n\n if (clientCapabilities && clientCapabilities.length > 0) {\n if (!mergedClaims.hasOwnProperty(ClaimsRequestKeys.ACCESS_TOKEN)){\n // Add access_token key to claims object\n mergedClaims[ClaimsRequestKeys.ACCESS_TOKEN] = {};\n }\n\n // Add xms_cc claim with provided clientCapabilities to access_token key\n mergedClaims[ClaimsRequestKeys.ACCESS_TOKEN][ClaimsRequestKeys.XMS_CC] = {\n values: clientCapabilities\n };\n }\n\n return JSON.stringify(mergedClaims);\n }\n\n /**\n * adds `username` for Password Grant flow\n * @param username\n */\n addUsername(username: string): void {\n this.parameters.set(PasswordGrantConstants.username, encodeURIComponent(username));\n }\n\n /**\n * adds `password` for Password Grant flow\n * @param password\n */\n addPassword(password: string): void {\n this.parameters.set(PasswordGrantConstants.password, encodeURIComponent(password));\n }\n\n /**\n * add pop_jwk to query params\n * @param cnfString\n */\n addPopToken(cnfString: string): void {\n if (!StringUtils.isEmpty(cnfString)) {\n this.parameters.set(AADServerParamKeys.TOKEN_TYPE, AuthenticationScheme.POP);\n this.parameters.set(AADServerParamKeys.REQ_CNF, encodeURIComponent(cnfString));\n }\n }\n\n /**\n * add SSH JWK and key ID to query params\n */\n addSshJwk(sshJwkString: string): void {\n if(!StringUtils.isEmpty(sshJwkString)) {\n this.parameters.set(AADServerParamKeys.TOKEN_TYPE, AuthenticationScheme.SSH);\n this.parameters.set(AADServerParamKeys.REQ_CNF, encodeURIComponent(sshJwkString));\n }\n }\n\n /**\n * add server telemetry fields\n * @param serverTelemetryManager\n */\n addServerTelemetry(serverTelemetryManager: ServerTelemetryManager): void {\n this.parameters.set(AADServerParamKeys.X_CLIENT_CURR_TELEM, serverTelemetryManager.generateCurrentRequestHeaderValue());\n this.parameters.set(AADServerParamKeys.X_CLIENT_LAST_TELEM, serverTelemetryManager.generateLastRequestHeaderValue());\n }\n\n /**\n * Adds parameter that indicates to the server that throttling is supported\n */\n addThrottling(): void {\n this.parameters.set(AADServerParamKeys.X_MS_LIB_CAPABILITY, ThrottlingConstants.X_MS_LIB_CAPABILITY_VALUE);\n }\n\n /**\n * Adds logout_hint parameter for \"silent\" logout which prevent server account picker\n */\n addLogoutHint(logoutHint: string): void {\n this.parameters.set(AADServerParamKeys.LOGOUT_HINT, encodeURIComponent(logoutHint));\n }\n\n /**\n * Utility to create a URL from the params map\n */\n createQueryString(): string {\n const queryParameterArray: Array = new Array();\n\n this.parameters.forEach((value, key) => {\n queryParameterArray.push(`${key}=${value}`);\n });\n\n return queryParameterArray.join(\"&\");\n }\n}\n","/*\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport { IdTokenEntity } from \"./IdTokenEntity\";\nimport { AccessTokenEntity } from \"./AccessTokenEntity\";\nimport { RefreshTokenEntity } from \"./RefreshTokenEntity\";\nimport { AccountEntity } from \"./AccountEntity\";\nimport { AppMetadataEntity } from \"./AppMetadataEntity\";\n\nexport class CacheRecord {\n account: AccountEntity | null;\n idToken: IdTokenEntity | null;\n accessToken: AccessTokenEntity | null;\n refreshToken: RefreshTokenEntity | null;\n appMetadata: AppMetadataEntity | null;\n\n constructor(accountEntity?: AccountEntity | null, idTokenEntity?: IdTokenEntity | null, accessTokenEntity?: AccessTokenEntity | null, refreshTokenEntity?: RefreshTokenEntity | null, appMetadataEntity?: AppMetadataEntity | null) {\n this.account = accountEntity || null;\n this.idToken = idTokenEntity || null;\n this.accessToken = accessTokenEntity || null;\n this.refreshToken = refreshTokenEntity || null;\n this.appMetadata = appMetadataEntity || null;\n }\n}\n","/*\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport { ISerializableTokenCache } from \"../interface/ISerializableTokenCache\";\n\n/**\n * This class instance helps track the memory changes facilitating\n * decisions to read from and write to the persistent cache\n */export class TokenCacheContext {\n /**\n * boolean indicating cache change\n */\n hasChanged: boolean;\n /**\n * serializable token cache interface\n */\n cache: ISerializableTokenCache;\n\n constructor(tokenCache: ISerializableTokenCache, hasChanged: boolean) {\n this.cache = tokenCache;\n this.hasChanged = hasChanged;\n }\n\n /**\n * boolean which indicates the changes in cache\n */\n get cacheHasChanged(): boolean {\n return this.hasChanged;\n }\n\n /**\n * function to retrieve the token cache\n */\n get tokenCache(): ISerializableTokenCache {\n return this.cache;\n }\n}\n","/*\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport { ServerAuthorizationTokenResponse } from \"./ServerAuthorizationTokenResponse\";\nimport { buildClientInfo} from \"../account/ClientInfo\";\nimport { ICrypto } from \"../crypto/ICrypto\";\nimport { ClientAuthError } from \"../error/ClientAuthError\";\nimport { StringUtils } from \"../utils/StringUtils\";\nimport { ServerAuthorizationCodeResponse } from \"./ServerAuthorizationCodeResponse\";\nimport { Logger } from \"../logger/Logger\";\nimport { ServerError } from \"../error/ServerError\";\nimport { AuthToken } from \"../account/AuthToken\";\nimport { ScopeSet } from \"../request/ScopeSet\";\nimport { AuthenticationResult } from \"./AuthenticationResult\";\nimport { AccountEntity } from \"../cache/entities/AccountEntity\";\nimport { Authority } from \"../authority/Authority\";\nimport { AuthorityType } from \"../authority/AuthorityType\";\nimport { IdTokenEntity } from \"../cache/entities/IdTokenEntity\";\nimport { AccessTokenEntity } from \"../cache/entities/AccessTokenEntity\";\nimport { RefreshTokenEntity } from \"../cache/entities/RefreshTokenEntity\";\nimport { InteractionRequiredAuthError } from \"../error/InteractionRequiredAuthError\";\nimport { CacheRecord } from \"../cache/entities/CacheRecord\";\nimport { CacheManager } from \"../cache/CacheManager\";\nimport { ProtocolUtils, RequestStateObject } from \"../utils/ProtocolUtils\";\nimport { AuthenticationScheme, Constants, THE_FAMILY_ID } from \"../utils/Constants\";\nimport { PopTokenGenerator } from \"../crypto/PopTokenGenerator\";\nimport { AppMetadataEntity } from \"../cache/entities/AppMetadataEntity\";\nimport { ICachePlugin } from \"../cache/interface/ICachePlugin\";\nimport { TokenCacheContext } from \"../cache/persistence/TokenCacheContext\";\nimport { ISerializableTokenCache } from \"../cache/interface/ISerializableTokenCache\";\nimport { AuthorizationCodePayload } from \"./AuthorizationCodePayload\";\nimport { BaseAuthRequest } from \"../request/BaseAuthRequest\";\n\n/**\n * Class that handles response parsing.\n */\nexport class ResponseHandler {\n private clientId: string;\n private cacheStorage: CacheManager;\n private cryptoObj: ICrypto;\n private logger: Logger;\n private homeAccountIdentifier: string;\n private serializableCache: ISerializableTokenCache | null;\n private persistencePlugin: ICachePlugin | null;\n\n constructor(clientId: string, cacheStorage: CacheManager, cryptoObj: ICrypto, logger: Logger, serializableCache: ISerializableTokenCache | null, persistencePlugin: ICachePlugin | null) {\n this.clientId = clientId;\n this.cacheStorage = cacheStorage;\n this.cryptoObj = cryptoObj;\n this.logger = logger;\n this.serializableCache = serializableCache;\n this.persistencePlugin = persistencePlugin;\n }\n\n /**\n * Function which validates server authorization code response.\n * @param serverResponseHash\n * @param cachedState\n * @param cryptoObj\n */\n validateServerAuthorizationCodeResponse(serverResponseHash: ServerAuthorizationCodeResponse, cachedState: string, cryptoObj: ICrypto): void {\n\n if (!serverResponseHash.state || !cachedState) {\n throw !serverResponseHash.state ? ClientAuthError.createStateNotFoundError(\"Server State\") : ClientAuthError.createStateNotFoundError(\"Cached State\");\n }\n\n if (decodeURIComponent(serverResponseHash.state) !== decodeURIComponent(cachedState)) {\n throw ClientAuthError.createStateMismatchError();\n }\n\n // Check for error\n if (serverResponseHash.error || serverResponseHash.error_description || serverResponseHash.suberror) {\n if (InteractionRequiredAuthError.isInteractionRequiredError(serverResponseHash.error, serverResponseHash.error_description, serverResponseHash.suberror)) {\n throw new InteractionRequiredAuthError(serverResponseHash.error || Constants.EMPTY_STRING, serverResponseHash.error_description, serverResponseHash.suberror);\n }\n\n throw new ServerError(serverResponseHash.error || Constants.EMPTY_STRING, serverResponseHash.error_description, serverResponseHash.suberror);\n }\n\n if (serverResponseHash.client_info) {\n buildClientInfo(serverResponseHash.client_info, cryptoObj);\n }\n }\n\n /**\n * Function which validates server authorization token response.\n * @param serverResponse\n */\n validateTokenResponse(serverResponse: ServerAuthorizationTokenResponse): void {\n // Check for error\n if (serverResponse.error || serverResponse.error_description || serverResponse.suberror) {\n if (InteractionRequiredAuthError.isInteractionRequiredError(serverResponse.error, serverResponse.error_description, serverResponse.suberror)) {\n throw new InteractionRequiredAuthError(serverResponse.error, serverResponse.error_description, serverResponse.suberror);\n }\n\n const errString = `${serverResponse.error_codes} - [${serverResponse.timestamp}]: ${serverResponse.error_description} - Correlation ID: ${serverResponse.correlation_id} - Trace ID: ${serverResponse.trace_id}`;\n throw new ServerError(serverResponse.error, errString, serverResponse.suberror);\n }\n }\n\n /**\n * Returns a constructed token response based on given string. Also manages the cache updates and cleanups.\n * @param serverTokenResponse\n * @param authority\n */\n async handleServerTokenResponse(\n serverTokenResponse: ServerAuthorizationTokenResponse,\n authority: Authority,\n reqTimestamp: number,\n request: BaseAuthRequest,\n authCodePayload?: AuthorizationCodePayload,\n userAssertionHash?: string,\n handlingRefreshTokenResponse?: boolean,\n forceCacheRefreshTokenResponse?: boolean,\n serverRequestId?: string): Promise {\n\n // create an idToken object (not entity)\n let idTokenObj: AuthToken | undefined;\n if (serverTokenResponse.id_token) {\n idTokenObj = new AuthToken(serverTokenResponse.id_token || Constants.EMPTY_STRING, this.cryptoObj);\n\n // token nonce check (TODO: Add a warning if no nonce is given?)\n if (authCodePayload && !StringUtils.isEmpty(authCodePayload.nonce)) {\n if (idTokenObj.claims.nonce !== authCodePayload.nonce) {\n throw ClientAuthError.createNonceMismatchError();\n }\n }\n\n // token max_age check\n if (request.maxAge || (request.maxAge === 0)) {\n const authTime = idTokenObj.claims.auth_time;\n if (!authTime) {\n throw ClientAuthError.createAuthTimeNotFoundError();\n }\n\n AuthToken.checkMaxAge(authTime, request.maxAge);\n }\n }\n\n // generate homeAccountId\n this.homeAccountIdentifier = AccountEntity.generateHomeAccountId(serverTokenResponse.client_info || Constants.EMPTY_STRING, authority.authorityType, this.logger, this.cryptoObj, idTokenObj);\n\n // save the response tokens\n let requestStateObj: RequestStateObject | undefined;\n if (!!authCodePayload && !!authCodePayload.state) {\n requestStateObj = ProtocolUtils.parseRequestState(this.cryptoObj, authCodePayload.state);\n }\n\n // Add keyId from request to serverTokenResponse if defined\n serverTokenResponse.key_id = serverTokenResponse.key_id || request.sshKid || undefined;\n\n const cacheRecord = this.generateCacheRecord(serverTokenResponse, authority, reqTimestamp, request, idTokenObj, userAssertionHash, authCodePayload);\n let cacheContext;\n try {\n if (this.persistencePlugin && this.serializableCache) {\n this.logger.verbose(\"Persistence enabled, calling beforeCacheAccess\");\n cacheContext = new TokenCacheContext(this.serializableCache, true);\n await this.persistencePlugin.beforeCacheAccess(cacheContext);\n }\n /*\n * When saving a refreshed tokens to the cache, it is expected that the account that was used is present in the cache.\n * If not present, we should return null, as it's the case that another application called removeAccount in between\n * the calls to getAllAccounts and acquireTokenSilent. We should not overwrite that removal, unless explicitly flagged by\n * the developer, as in the case of refresh token flow used in ADAL Node to MSAL Node migration.\n */\n if (handlingRefreshTokenResponse && !forceCacheRefreshTokenResponse && cacheRecord.account) {\n const key = cacheRecord.account.generateAccountKey();\n const account = this.cacheStorage.getAccount(key);\n if (!account) {\n this.logger.warning(\"Account used to refresh tokens not in persistence, refreshed tokens will not be stored in the cache\");\n return ResponseHandler.generateAuthenticationResult(this.cryptoObj, authority, cacheRecord, false, request, idTokenObj, requestStateObj, undefined, serverRequestId);\n }\n }\n await this.cacheStorage.saveCacheRecord(cacheRecord);\n } finally {\n if (this.persistencePlugin && this.serializableCache && cacheContext) {\n this.logger.verbose(\"Persistence enabled, calling afterCacheAccess\");\n await this.persistencePlugin.afterCacheAccess(cacheContext);\n }\n }\n return ResponseHandler.generateAuthenticationResult(this.cryptoObj, authority, cacheRecord, false, request, idTokenObj, requestStateObj, serverTokenResponse.spa_code, serverRequestId);\n }\n\n /**\n * Generates CacheRecord\n * @param serverTokenResponse\n * @param idTokenObj\n * @param authority\n */\n private generateCacheRecord(serverTokenResponse: ServerAuthorizationTokenResponse, authority: Authority, reqTimestamp: number, request: BaseAuthRequest, idTokenObj?: AuthToken, userAssertionHash?: string, authCodePayload?: AuthorizationCodePayload): CacheRecord {\n const env = authority.getPreferredCache();\n if (StringUtils.isEmpty(env)) {\n throw ClientAuthError.createInvalidCacheEnvironmentError();\n }\n\n // IdToken: non AAD scenarios can have empty realm\n let cachedIdToken: IdTokenEntity | undefined;\n let cachedAccount: AccountEntity | undefined;\n if (!StringUtils.isEmpty(serverTokenResponse.id_token) && !!idTokenObj) {\n cachedIdToken = IdTokenEntity.createIdTokenEntity(\n this.homeAccountIdentifier,\n env,\n serverTokenResponse.id_token || Constants.EMPTY_STRING,\n this.clientId,\n idTokenObj.claims.tid || Constants.EMPTY_STRING,\n );\n\n cachedAccount = this.generateAccountEntity(\n serverTokenResponse,\n idTokenObj,\n authority,\n authCodePayload\n );\n }\n\n // AccessToken\n let cachedAccessToken: AccessTokenEntity | null = null;\n if (!StringUtils.isEmpty(serverTokenResponse.access_token)) {\n\n // If scopes not returned in server response, use request scopes\n const responseScopes = serverTokenResponse.scope ? ScopeSet.fromString(serverTokenResponse.scope) : new ScopeSet(request.scopes || []);\n\n /*\n * Use timestamp calculated before request\n * Server may return timestamps as strings, parse to numbers if so.\n */\n const expiresIn: number = (typeof serverTokenResponse.expires_in === \"string\" ? parseInt(serverTokenResponse.expires_in, 10) : serverTokenResponse.expires_in) || 0;\n const extExpiresIn: number = (typeof serverTokenResponse.ext_expires_in === \"string\" ? parseInt(serverTokenResponse.ext_expires_in, 10) : serverTokenResponse.ext_expires_in) || 0;\n const refreshIn: number | undefined = (typeof serverTokenResponse.refresh_in === \"string\" ? parseInt(serverTokenResponse.refresh_in, 10) : serverTokenResponse.refresh_in) || undefined;\n const tokenExpirationSeconds = reqTimestamp + expiresIn;\n const extendedTokenExpirationSeconds = tokenExpirationSeconds + extExpiresIn;\n const refreshOnSeconds = refreshIn && refreshIn > 0 ? reqTimestamp + refreshIn : undefined;\n\n // non AAD scenarios can have empty realm\n cachedAccessToken = AccessTokenEntity.createAccessTokenEntity(\n this.homeAccountIdentifier,\n env,\n serverTokenResponse.access_token || Constants.EMPTY_STRING,\n this.clientId,\n idTokenObj ? idTokenObj.claims.tid || Constants.EMPTY_STRING : authority.tenant,\n responseScopes.printScopes(),\n tokenExpirationSeconds,\n extendedTokenExpirationSeconds,\n this.cryptoObj,\n refreshOnSeconds,\n serverTokenResponse.token_type,\n userAssertionHash,\n serverTokenResponse.key_id,\n request.claims,\n request.requestedClaimsHash\n );\n }\n\n // refreshToken\n let cachedRefreshToken: RefreshTokenEntity | null = null;\n if (!StringUtils.isEmpty(serverTokenResponse.refresh_token)) {\n cachedRefreshToken = RefreshTokenEntity.createRefreshTokenEntity(\n this.homeAccountIdentifier,\n env,\n serverTokenResponse.refresh_token || Constants.EMPTY_STRING,\n this.clientId,\n serverTokenResponse.foci,\n userAssertionHash\n );\n }\n\n // appMetadata\n let cachedAppMetadata: AppMetadataEntity | null = null;\n if (!StringUtils.isEmpty(serverTokenResponse.foci)) {\n cachedAppMetadata = AppMetadataEntity.createAppMetadataEntity(this.clientId, env, serverTokenResponse.foci);\n }\n\n return new CacheRecord(cachedAccount, cachedIdToken, cachedAccessToken, cachedRefreshToken, cachedAppMetadata);\n }\n\n /**\n * Generate Account\n * @param serverTokenResponse\n * @param idToken\n * @param authority\n */\n private generateAccountEntity(serverTokenResponse: ServerAuthorizationTokenResponse, idToken: AuthToken, authority: Authority, authCodePayload?: AuthorizationCodePayload): AccountEntity {\n const authorityType = authority.authorityType;\n const cloudGraphHostName = authCodePayload ? authCodePayload.cloud_graph_host_name : Constants.EMPTY_STRING;\n const msGraphhost = authCodePayload ? authCodePayload.msgraph_host : Constants.EMPTY_STRING;\n\n // ADFS does not require client_info in the response\n if (authorityType === AuthorityType.Adfs) {\n this.logger.verbose(\"Authority type is ADFS, creating ADFS account\");\n return AccountEntity.createGenericAccount(this.homeAccountIdentifier, idToken, authority, cloudGraphHostName, msGraphhost);\n }\n\n // This fallback applies to B2C as well as they fall under an AAD account type.\n if (StringUtils.isEmpty(serverTokenResponse.client_info) && authority.protocolMode === \"AAD\") {\n throw ClientAuthError.createClientInfoEmptyError();\n }\n\n return serverTokenResponse.client_info ?\n AccountEntity.createAccount(serverTokenResponse.client_info, this.homeAccountIdentifier, idToken, authority, cloudGraphHostName, msGraphhost) :\n AccountEntity.createGenericAccount(this.homeAccountIdentifier, idToken, authority, cloudGraphHostName, msGraphhost);\n }\n\n /**\n * Creates an @AuthenticationResult from @CacheRecord , @IdToken , and a boolean that states whether or not the result is from cache.\n *\n * Optionally takes a state string that is set as-is in the response.\n *\n * @param cacheRecord\n * @param idTokenObj\n * @param fromTokenCache\n * @param stateString\n */\n static async generateAuthenticationResult(\n cryptoObj: ICrypto,\n authority: Authority,\n cacheRecord: CacheRecord,\n fromTokenCache: boolean,\n request: BaseAuthRequest,\n idTokenObj?: AuthToken,\n requestState?: RequestStateObject,\n code?: string,\n requestId?: string\n ): Promise {\n let accessToken: string = Constants.EMPTY_STRING;\n let responseScopes: Array = [];\n let expiresOn: Date | null = null;\n let extExpiresOn: Date | undefined;\n let familyId: string = Constants.EMPTY_STRING;\n\n if (cacheRecord.accessToken) {\n if (cacheRecord.accessToken.tokenType === AuthenticationScheme.POP) {\n const popTokenGenerator: PopTokenGenerator = new PopTokenGenerator(cryptoObj);\n const { secret, keyId } = cacheRecord.accessToken;\n\n if (!keyId) {\n throw ClientAuthError.createKeyIdMissingError();\n }\n\n accessToken = await popTokenGenerator.signPopToken(secret, keyId, request);\n } else {\n accessToken = cacheRecord.accessToken.secret;\n }\n responseScopes = ScopeSet.fromString(cacheRecord.accessToken.target).asArray();\n expiresOn = new Date(Number(cacheRecord.accessToken.expiresOn) * 1000);\n extExpiresOn = new Date(Number(cacheRecord.accessToken.extendedExpiresOn) * 1000);\n }\n\n if (cacheRecord.appMetadata) {\n familyId = cacheRecord.appMetadata.familyId === THE_FAMILY_ID ? THE_FAMILY_ID : Constants.EMPTY_STRING;\n }\n const uid = idTokenObj?.claims.oid || idTokenObj?.claims.sub || Constants.EMPTY_STRING;\n const tid = idTokenObj?.claims.tid || Constants.EMPTY_STRING;\n\n return {\n authority: authority.canonicalAuthority,\n uniqueId: uid,\n tenantId: tid,\n scopes: responseScopes,\n account: cacheRecord.account ? cacheRecord.account.getAccountInfo() : null,\n idToken: idTokenObj ? idTokenObj.rawToken : Constants.EMPTY_STRING,\n idTokenClaims: idTokenObj ? idTokenObj.claims : {},\n accessToken: accessToken,\n fromCache: fromTokenCache,\n expiresOn: expiresOn,\n correlationId: request.correlationId,\n requestId: requestId || Constants.EMPTY_STRING,\n extExpiresOn: extExpiresOn,\n familyId: familyId,\n tokenType: cacheRecord.accessToken?.tokenType || Constants.EMPTY_STRING,\n state: requestState ? requestState.userRequestState : Constants.EMPTY_STRING,\n cloudGraphHostName: cacheRecord.account?.cloudGraphHostName || Constants.EMPTY_STRING,\n msGraphHost: cacheRecord.account?.msGraphHost || Constants.EMPTY_STRING,\n code,\n fromNativeBroker: false\n };\n }\n}\n","/*\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport { BaseClient } from \"./BaseClient\";\nimport { CommonAuthorizationUrlRequest } from \"../request/CommonAuthorizationUrlRequest\";\nimport { CommonAuthorizationCodeRequest } from \"../request/CommonAuthorizationCodeRequest\";\nimport { Authority } from \"../authority/Authority\";\nimport { RequestParameterBuilder } from \"../request/RequestParameterBuilder\";\nimport { GrantType, AuthenticationScheme, PromptValue, Separators, AADServerParamKeys, HeaderNames } from \"../utils/Constants\";\nimport { ClientConfiguration } from \"../config/ClientConfiguration\";\nimport { ServerAuthorizationTokenResponse } from \"../response/ServerAuthorizationTokenResponse\";\nimport { NetworkResponse } from \"../network/NetworkManager\";\nimport { ResponseHandler } from \"../response/ResponseHandler\";\nimport { AuthenticationResult } from \"../response/AuthenticationResult\";\nimport { StringUtils } from \"../utils/StringUtils\";\nimport { ClientAuthError } from \"../error/ClientAuthError\";\nimport { UrlString } from \"../url/UrlString\";\nimport { ServerAuthorizationCodeResponse } from \"../response/ServerAuthorizationCodeResponse\";\nimport { CommonEndSessionRequest } from \"../request/CommonEndSessionRequest\";\nimport { PopTokenGenerator } from \"../crypto/PopTokenGenerator\";\nimport { RequestThumbprint } from \"../network/RequestThumbprint\";\nimport { AuthorizationCodePayload } from \"../response/AuthorizationCodePayload\";\nimport { TimeUtils } from \"../utils/TimeUtils\";\nimport { AccountInfo } from \"../account/AccountInfo\";\nimport { buildClientInfoFromHomeAccountId, buildClientInfo } from \"../account/ClientInfo\";\nimport { CcsCredentialType, CcsCredential } from \"../account/CcsCredential\";\nimport { ClientConfigurationError } from \"../error/ClientConfigurationError\";\nimport { RequestValidator } from \"../request/RequestValidator\";\n\n/**\n * Oauth2.0 Authorization Code client\n */\nexport class AuthorizationCodeClient extends BaseClient {\n // Flag to indicate if client is for hybrid spa auth code redemption\n protected includeRedirectUri: boolean = true;\n\n constructor(configuration: ClientConfiguration) {\n super(configuration);\n }\n\n /**\n * Creates the URL of the authorization request letting the user input credentials and consent to the\n * application. The URL target the /authorize endpoint of the authority configured in the\n * application object.\n *\n * Once the user inputs their credentials and consents, the authority will send a response to the redirect URI\n * sent in the request and should contain an authorization code, which can then be used to acquire tokens via\n * acquireToken(AuthorizationCodeRequest)\n * @param request\n */\n async getAuthCodeUrl(request: CommonAuthorizationUrlRequest): Promise {\n const queryString = await this.createAuthCodeUrlQueryString(request);\n\n return UrlString.appendQueryString(this.authority.authorizationEndpoint, queryString);\n }\n\n /**\n * API to acquire a token in exchange of 'authorization_code` acquired by the user in the first leg of the\n * authorization_code_grant\n * @param request\n */\n async acquireToken(request: CommonAuthorizationCodeRequest, authCodePayload?: AuthorizationCodePayload): Promise {\n this.logger.info(\"in acquireToken call\");\n if (!request || StringUtils.isEmpty(request.code)) {\n throw ClientAuthError.createTokenRequestCannotBeMadeError();\n }\n\n const reqTimestamp = TimeUtils.nowSeconds();\n const response = await this.executeTokenRequest(this.authority, request);\n\n // Retrieve requestId from response headers\n const requestId = response.headers?.[HeaderNames.X_MS_REQUEST_ID];\n\n const responseHandler = new ResponseHandler(\n this.config.authOptions.clientId,\n this.cacheManager,\n this.cryptoUtils,\n this.logger,\n this.config.serializableCache,\n this.config.persistencePlugin\n );\n\n // Validate response. This function throws a server error if an error is returned by the server.\n responseHandler.validateTokenResponse(response.body);\n return await responseHandler.handleServerTokenResponse(\n response.body, \n this.authority, \n reqTimestamp, \n request, \n authCodePayload,\n undefined,\n undefined,\n undefined,\n requestId\n );\n }\n\n /**\n * Handles the hash fragment response from public client code request. Returns a code response used by\n * the client to exchange for a token in acquireToken.\n * @param hashFragment\n */\n handleFragmentResponse(hashFragment: string, cachedState: string): AuthorizationCodePayload {\n // Handle responses.\n const responseHandler = new ResponseHandler(this.config.authOptions.clientId, this.cacheManager, this.cryptoUtils, this.logger, null, null);\n\n // Deserialize hash fragment response parameters.\n const hashUrlString = new UrlString(hashFragment);\n // Deserialize hash fragment response parameters.\n const serverParams: ServerAuthorizationCodeResponse = UrlString.getDeserializedHash(hashUrlString.getHash());\n\n // Get code response\n responseHandler.validateServerAuthorizationCodeResponse(serverParams, cachedState, this.cryptoUtils);\n\n // throw when there is no auth code in the response\n if (!serverParams.code) {\n throw ClientAuthError.createNoAuthCodeInServerResponseError();\n }\n return {\n ...serverParams,\n // Code param is optional in ServerAuthorizationCodeResponse but required in AuthorizationCodePaylod\n code: serverParams.code\n };\n }\n\n /**\n * Used to log out the current user, and redirect the user to the postLogoutRedirectUri.\n * Default behaviour is to redirect the user to `window.location.href`.\n * @param authorityUri\n */\n getLogoutUri(logoutRequest: CommonEndSessionRequest): string {\n // Throw error if logoutRequest is null/undefined\n if (!logoutRequest) {\n throw ClientConfigurationError.createEmptyLogoutRequestError();\n }\n const queryString = this.createLogoutUrlQueryString(logoutRequest);\n\n // Construct logout URI\n return UrlString.appendQueryString(this.authority.endSessionEndpoint, queryString);\n }\n\n /**\n * Executes POST request to token endpoint\n * @param authority\n * @param request\n */\n private async executeTokenRequest(authority: Authority, request: CommonAuthorizationCodeRequest): Promise> {\n const thumbprint: RequestThumbprint = {\n clientId: this.config.authOptions.clientId,\n authority: authority.canonicalAuthority,\n scopes: request.scopes,\n claims: request.claims,\n authenticationScheme: request.authenticationScheme,\n resourceRequestMethod: request.resourceRequestMethod,\n resourceRequestUri: request.resourceRequestUri,\n shrClaims: request.shrClaims,\n sshKid: request.sshKid\n };\n\n const requestBody = await this.createTokenRequestBody(request);\n const queryParameters = this.createTokenQueryParameters(request);\n let ccsCredential: CcsCredential | undefined = undefined;\n if (request.clientInfo) {\n try {\n const clientInfo = buildClientInfo(request.clientInfo, this.cryptoUtils);\n ccsCredential = {\n credential: `${clientInfo.uid}${Separators.CLIENT_INFO_SEPARATOR}${clientInfo.utid}`,\n type: CcsCredentialType.HOME_ACCOUNT_ID\n };\n } catch (e) {\n this.logger.verbose(\"Could not parse client info for CCS Header: \" + e);\n }\n }\n const headers: Record = this.createTokenRequestHeaders(ccsCredential || request.ccsCredential);\n const endpoint = StringUtils.isEmpty(queryParameters) ? authority.tokenEndpoint : `${authority.tokenEndpoint}?${queryParameters}`;\n\n return this.executePostToTokenEndpoint(endpoint, requestBody, headers, thumbprint);\n }\n\n /**\n * Creates query string for the /token request\n * @param request\n */\n private createTokenQueryParameters(request: CommonAuthorizationCodeRequest): string {\n const parameterBuilder = new RequestParameterBuilder();\n\n if (request.tokenQueryParameters) {\n parameterBuilder.addExtraQueryParameters(request.tokenQueryParameters);\n }\n\n return parameterBuilder.createQueryString();\n }\n\n /**\n * Generates a map for all the params to be sent to the service\n * @param request\n */\n private async createTokenRequestBody(request: CommonAuthorizationCodeRequest): Promise {\n const parameterBuilder = new RequestParameterBuilder();\n\n parameterBuilder.addClientId(this.config.authOptions.clientId);\n\n /*\n * For hybrid spa flow, there will be a code but no verifier\n * In this scenario, don't include redirect uri as auth code will not be bound to redirect URI\n */\n if (!this.includeRedirectUri) {\n // Just validate\n RequestValidator.validateRedirectUri(request.redirectUri);\n } else {\n // Validate and include redirect uri\n parameterBuilder.addRedirectUri(request.redirectUri);\n }\n\n // Add scope array, parameter builder will add default scopes and dedupe\n parameterBuilder.addScopes(request.scopes);\n\n // add code: user set, not validated\n parameterBuilder.addAuthorizationCode(request.code);\n\n // Add library metadata\n parameterBuilder.addLibraryInfo(this.config.libraryInfo);\n parameterBuilder.addApplicationTelemetry(this.config.telemetry.application);\n parameterBuilder.addThrottling();\n\n if (this.serverTelemetryManager) {\n parameterBuilder.addServerTelemetry(this.serverTelemetryManager);\n }\n\n // add code_verifier if passed\n if (request.codeVerifier) {\n parameterBuilder.addCodeVerifier(request.codeVerifier);\n }\n\n if (this.config.clientCredentials.clientSecret) {\n parameterBuilder.addClientSecret(this.config.clientCredentials.clientSecret);\n }\n\n if (this.config.clientCredentials.clientAssertion) {\n const clientAssertion = this.config.clientCredentials.clientAssertion;\n parameterBuilder.addClientAssertion(clientAssertion.assertion);\n parameterBuilder.addClientAssertionType(clientAssertion.assertionType);\n }\n\n parameterBuilder.addGrantType(GrantType.AUTHORIZATION_CODE_GRANT);\n parameterBuilder.addClientInfo();\n\n if (request.authenticationScheme === AuthenticationScheme.POP) {\n const popTokenGenerator = new PopTokenGenerator(this.cryptoUtils);\n const reqCnfData = await popTokenGenerator.generateCnf(request);\n // SPA PoP requires full Base64Url encoded req_cnf string (unhashed)\n parameterBuilder.addPopToken(reqCnfData.reqCnfString);\n } else if (request.authenticationScheme === AuthenticationScheme.SSH) {\n if(request.sshJwk) {\n parameterBuilder.addSshJwk(request.sshJwk);\n } else {\n throw ClientConfigurationError.createMissingSshJwkError();\n }\n }\n\n const correlationId = request.correlationId || this.config.cryptoInterface.createNewGuid();\n parameterBuilder.addCorrelationId(correlationId);\n\n if (!StringUtils.isEmptyObj(request.claims) || this.config.authOptions.clientCapabilities && this.config.authOptions.clientCapabilities.length > 0) {\n parameterBuilder.addClaims(request.claims, this.config.authOptions.clientCapabilities);\n }\n\n let ccsCred: CcsCredential | undefined = undefined;\n if (request.clientInfo) {\n try {\n const clientInfo = buildClientInfo(request.clientInfo, this.cryptoUtils);\n ccsCred = {\n credential: `${clientInfo.uid}${Separators.CLIENT_INFO_SEPARATOR}${clientInfo.utid}`,\n type: CcsCredentialType.HOME_ACCOUNT_ID\n };\n } catch (e) {\n this.logger.verbose(\"Could not parse client info for CCS Header: \" + e);\n }\n } else {\n ccsCred = request.ccsCredential;\n }\n\n // Adds these as parameters in the request instead of headers to prevent CORS preflight request\n if (this.config.systemOptions.preventCorsPreflight && ccsCred) {\n switch (ccsCred.type) {\n case CcsCredentialType.HOME_ACCOUNT_ID:\n try {\n const clientInfo = buildClientInfoFromHomeAccountId(ccsCred.credential);\n parameterBuilder.addCcsOid(clientInfo);\n } catch (e) {\n this.logger.verbose(\"Could not parse home account ID for CCS Header: \" + e);\n }\n break;\n case CcsCredentialType.UPN:\n parameterBuilder.addCcsUpn(ccsCred.credential);\n break;\n }\n }\n\n if (request.tokenBodyParameters) {\n parameterBuilder.addExtraQueryParameters(request.tokenBodyParameters);\n }\n\n // Add hybrid spa parameters if not already provided\n if (request.enableSpaAuthorizationCode && (!request.tokenBodyParameters || !request.tokenBodyParameters[AADServerParamKeys.RETURN_SPA_CODE])) {\n parameterBuilder.addExtraQueryParameters({\n [AADServerParamKeys.RETURN_SPA_CODE]: \"1\"\n });\n }\n\n return parameterBuilder.createQueryString();\n }\n\n /**\n * This API validates the `AuthorizationCodeUrlRequest` and creates a URL\n * @param request\n */\n private async createAuthCodeUrlQueryString(request: CommonAuthorizationUrlRequest): Promise {\n const parameterBuilder = new RequestParameterBuilder();\n\n parameterBuilder.addClientId(this.config.authOptions.clientId);\n\n const requestScopes = [...request.scopes || [], ...request.extraScopesToConsent || []];\n parameterBuilder.addScopes(requestScopes);\n\n // validate the redirectUri (to be a non null value)\n parameterBuilder.addRedirectUri(request.redirectUri);\n\n // generate the correlationId if not set by the user and add\n const correlationId = request.correlationId || this.config.cryptoInterface.createNewGuid();\n parameterBuilder.addCorrelationId(correlationId);\n\n // add response_mode. If not passed in it defaults to query.\n parameterBuilder.addResponseMode(request.responseMode);\n\n // add response_type = code\n parameterBuilder.addResponseTypeCode();\n\n // add library info parameters\n parameterBuilder.addLibraryInfo(this.config.libraryInfo);\n parameterBuilder.addApplicationTelemetry(this.config.telemetry.application);\n\n // add client_info=1\n parameterBuilder.addClientInfo();\n\n if (request.codeChallenge && request.codeChallengeMethod) {\n parameterBuilder.addCodeChallengeParams(request.codeChallenge, request.codeChallengeMethod);\n }\n\n if (request.prompt) {\n parameterBuilder.addPrompt(request.prompt);\n }\n\n if (request.domainHint) {\n parameterBuilder.addDomainHint(request.domainHint);\n }\n\n // Add sid or loginHint with preference for login_hint claim (in request) -> sid -> loginHint (upn/email) -> username of AccountInfo object\n if (request.prompt !== PromptValue.SELECT_ACCOUNT) {\n // AAD will throw if prompt=select_account is passed with an account hint\n if (request.sid && request.prompt === PromptValue.NONE) {\n // SessionID is only used in silent calls\n this.logger.verbose(\"createAuthCodeUrlQueryString: Prompt is none, adding sid from request\");\n parameterBuilder.addSid(request.sid);\n } else if (request.account) {\n const accountSid = this.extractAccountSid(request.account);\n const accountLoginHintClaim = this.extractLoginHint(request.account);\n // If login_hint claim is present, use it over sid/username\n if (accountLoginHintClaim) {\n this.logger.verbose(\"createAuthCodeUrlQueryString: login_hint claim present on account\");\n parameterBuilder.addLoginHint(accountLoginHintClaim);\n try {\n const clientInfo = buildClientInfoFromHomeAccountId(request.account.homeAccountId);\n parameterBuilder.addCcsOid(clientInfo);\n } catch (e) {\n this.logger.verbose(\"createAuthCodeUrlQueryString: Could not parse home account ID for CCS Header\");\n }\n } else if (accountSid && request.prompt === PromptValue.NONE) {\n /*\n * If account and loginHint are provided, we will check account first for sid before adding loginHint\n * SessionId is only used in silent calls\n */\n this.logger.verbose(\"createAuthCodeUrlQueryString: Prompt is none, adding sid from account\");\n parameterBuilder.addSid(accountSid);\n try {\n const clientInfo = buildClientInfoFromHomeAccountId(request.account.homeAccountId);\n parameterBuilder.addCcsOid(clientInfo);\n } catch (e) {\n this.logger.verbose(\"createAuthCodeUrlQueryString: Could not parse home account ID for CCS Header\");\n }\n } else if (request.loginHint) {\n this.logger.verbose(\"createAuthCodeUrlQueryString: Adding login_hint from request\");\n parameterBuilder.addLoginHint(request.loginHint);\n parameterBuilder.addCcsUpn(request.loginHint);\n } else if (request.account.username) {\n // Fallback to account username if provided\n this.logger.verbose(\"createAuthCodeUrlQueryString: Adding login_hint from account\");\n parameterBuilder.addLoginHint(request.account.username);\n try {\n const clientInfo = buildClientInfoFromHomeAccountId(request.account.homeAccountId);\n parameterBuilder.addCcsOid(clientInfo);\n } catch (e) {\n this.logger.verbose(\"createAuthCodeUrlQueryString: Could not parse home account ID for CCS Header\");\n }\n }\n } else if (request.loginHint) {\n this.logger.verbose(\"createAuthCodeUrlQueryString: No account, adding login_hint from request\");\n parameterBuilder.addLoginHint(request.loginHint);\n parameterBuilder.addCcsUpn(request.loginHint);\n }\n } else {\n this.logger.verbose(\"createAuthCodeUrlQueryString: Prompt is select_account, ignoring account hints\");\n }\n\n if (request.nonce) {\n parameterBuilder.addNonce(request.nonce);\n }\n\n if (request.state) {\n parameterBuilder.addState(request.state);\n }\n\n if (!StringUtils.isEmpty(request.claims) || this.config.authOptions.clientCapabilities && this.config.authOptions.clientCapabilities.length > 0) {\n parameterBuilder.addClaims(request.claims, this.config.authOptions.clientCapabilities);\n }\n\n if (request.extraQueryParameters) {\n parameterBuilder.addExtraQueryParameters(request.extraQueryParameters);\n }\n\n if (request.nativeBroker) {\n // signal ests that this is a WAM call\n parameterBuilder.addNativeBroker();\n\n // pass the req_cnf for POP\n if (request.authenticationScheme === AuthenticationScheme.POP) {\n const popTokenGenerator = new PopTokenGenerator(this.cryptoUtils);\n // to reduce the URL length, it is recommended to send the hash of the req_cnf instead of the whole string\n const reqCnfData = await popTokenGenerator.generateCnf(request);\n parameterBuilder.addPopToken(reqCnfData.reqCnfHash);\n }\n }\n\n return parameterBuilder.createQueryString();\n }\n\n /**\n * This API validates the `EndSessionRequest` and creates a URL\n * @param request\n */\n private createLogoutUrlQueryString(request: CommonEndSessionRequest): string {\n const parameterBuilder = new RequestParameterBuilder();\n\n if (request.postLogoutRedirectUri) {\n parameterBuilder.addPostLogoutRedirectUri(request.postLogoutRedirectUri);\n }\n\n if (request.correlationId) {\n parameterBuilder.addCorrelationId(request.correlationId);\n }\n\n if (request.idTokenHint) {\n parameterBuilder.addIdTokenHint(request.idTokenHint);\n }\n\n if(request.state) {\n parameterBuilder.addState(request.state);\n }\n\n if (request.logoutHint) {\n parameterBuilder.addLogoutHint(request.logoutHint);\n }\n\n if (request.extraQueryParameters) {\n parameterBuilder.addExtraQueryParameters(request.extraQueryParameters);\n }\n\n return parameterBuilder.createQueryString();\n }\n\n /**\n * Helper to get sid from account. Returns null if idTokenClaims are not present or sid is not present.\n * @param account\n */\n private extractAccountSid(account: AccountInfo): string | null {\n return account.idTokenClaims?.sid || null;\n }\n\n private extractLoginHint(account: AccountInfo): string | null {\n return account.idTokenClaims?.login_hint || null;\n }\n}\n","/*\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License.\n */\n\n/**\n * Tenant Discovery Response which contains the relevant OAuth endpoints and data needed for authentication and authorization.\n */\nexport type OpenIdConfigResponse = {\n authorization_endpoint: string;\n token_endpoint: string;\n end_session_endpoint?: string;\n issuer: string;\n jwks_uri: string;\n};\n\nexport function isOpenIdConfigResponse(response: object): boolean {\n return (\n response.hasOwnProperty(\"authorization_endpoint\") &&\n response.hasOwnProperty(\"token_endpoint\") && \n response.hasOwnProperty(\"issuer\") &&\n response.hasOwnProperty(\"jwks_uri\")\n );\n}\n","/*\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License.\n */\n\nexport const rawMetdataJSON = {\"endpointMetadata\":{\"https://login.microsoftonline.com/common/\":{\"token_endpoint\":\"https://login.microsoftonline.com/common/oauth2/v2.0/token\",\"token_endpoint_auth_methods_supported\":[\"client_secret_post\",\"private_key_jwt\",\"client_secret_basic\"],\"jwks_uri\":\"https://login.microsoftonline.com/common/discovery/v2.0/keys\",\"response_modes_supported\":[\"query\",\"fragment\",\"form_post\"],\"subject_types_supported\":[\"pairwise\"],\"id_token_signing_alg_values_supported\":[\"RS256\"],\"response_types_supported\":[\"code\",\"id_token\",\"code id_token\",\"id_token token\"],\"scopes_supported\":[\"openid\",\"profile\",\"email\",\"offline_access\"],\"issuer\":\"https://login.microsoftonline.com/{tenantid}/v2.0\",\"request_uri_parameter_supported\":false,\"userinfo_endpoint\":\"https://graph.microsoft.com/oidc/userinfo\",\"authorization_endpoint\":\"https://login.microsoftonline.com/common/oauth2/v2.0/authorize\",\"device_authorization_endpoint\":\"https://login.microsoftonline.com/common/oauth2/v2.0/devicecode\",\"http_logout_supported\":true,\"frontchannel_logout_supported\":true,\"end_session_endpoint\":\"https://login.microsoftonline.com/common/oauth2/v2.0/logout\",\"claims_supported\":[\"sub\",\"iss\",\"cloud_instance_name\",\"cloud_instance_host_name\",\"cloud_graph_host_name\",\"msgraph_host\",\"aud\",\"exp\",\"iat\",\"auth_time\",\"acr\",\"nonce\",\"preferred_username\",\"name\",\"tid\",\"ver\",\"at_hash\",\"c_hash\",\"email\"],\"kerberos_endpoint\":\"https://login.microsoftonline.com/common/kerberos\",\"tenant_region_scope\":null,\"cloud_instance_name\":\"microsoftonline.com\",\"cloud_graph_host_name\":\"graph.windows.net\",\"msgraph_host\":\"graph.microsoft.com\",\"rbac_url\":\"https://pas.windows.net\"},\"https://login.chinacloudapi.cn/common/\":{\"token_endpoint\":\"https://login.chinacloudapi.cn/common/oauth2/v2.0/token\",\"token_endpoint_auth_methods_supported\":[\"client_secret_post\",\"private_key_jwt\",\"client_secret_basic\"],\"jwks_uri\":\"https://login.chinacloudapi.cn/common/discovery/v2.0/keys\",\"response_modes_supported\":[\"query\",\"fragment\",\"form_post\"],\"subject_types_supported\":[\"pairwise\"],\"id_token_signing_alg_values_supported\":[\"RS256\"],\"response_types_supported\":[\"code\",\"id_token\",\"code id_token\",\"id_token token\"],\"scopes_supported\":[\"openid\",\"profile\",\"email\",\"offline_access\"],\"issuer\":\"https://login.partner.microsoftonline.cn/{tenantid}/v2.0\",\"request_uri_parameter_supported\":false,\"userinfo_endpoint\":\"https://microsoftgraph.chinacloudapi.cn/oidc/userinfo\",\"authorization_endpoint\":\"https://login.chinacloudapi.cn/common/oauth2/v2.0/authorize\",\"device_authorization_endpoint\":\"https://login.chinacloudapi.cn/common/oauth2/v2.0/devicecode\",\"http_logout_supported\":true,\"frontchannel_logout_supported\":true,\"end_session_endpoint\":\"https://login.chinacloudapi.cn/common/oauth2/v2.0/logout\",\"claims_supported\":[\"sub\",\"iss\",\"cloud_instance_name\",\"cloud_instance_host_name\",\"cloud_graph_host_name\",\"msgraph_host\",\"aud\",\"exp\",\"iat\",\"auth_time\",\"acr\",\"nonce\",\"preferred_username\",\"name\",\"tid\",\"ver\",\"at_hash\",\"c_hash\",\"email\"],\"kerberos_endpoint\":\"https://login.chinacloudapi.cn/common/kerberos\",\"tenant_region_scope\":null,\"cloud_instance_name\":\"partner.microsoftonline.cn\",\"cloud_graph_host_name\":\"graph.chinacloudapi.cn\",\"msgraph_host\":\"microsoftgraph.chinacloudapi.cn\",\"rbac_url\":\"https://pas.chinacloudapi.cn\"},\"https://login.microsoftonline.us/common/\":{\"token_endpoint\":\"https://login.microsoftonline.us/common/oauth2/v2.0/token\",\"token_endpoint_auth_methods_supported\":[\"client_secret_post\",\"private_key_jwt\",\"client_secret_basic\"],\"jwks_uri\":\"https://login.microsoftonline.us/common/discovery/v2.0/keys\",\"response_modes_supported\":[\"query\",\"fragment\",\"form_post\"],\"subject_types_supported\":[\"pairwise\"],\"id_token_signing_alg_values_supported\":[\"RS256\"],\"response_types_supported\":[\"code\",\"id_token\",\"code id_token\",\"id_token token\"],\"scopes_supported\":[\"openid\",\"profile\",\"email\",\"offline_access\"],\"issuer\":\"https://login.microsoftonline.us/{tenantid}/v2.0\",\"request_uri_parameter_supported\":false,\"userinfo_endpoint\":\"https://graph.microsoft.com/oidc/userinfo\",\"authorization_endpoint\":\"https://login.microsoftonline.us/common/oauth2/v2.0/authorize\",\"device_authorization_endpoint\":\"https://login.microsoftonline.us/common/oauth2/v2.0/devicecode\",\"http_logout_supported\":true,\"frontchannel_logout_supported\":true,\"end_session_endpoint\":\"https://login.microsoftonline.us/common/oauth2/v2.0/logout\",\"claims_supported\":[\"sub\",\"iss\",\"cloud_instance_name\",\"cloud_instance_host_name\",\"cloud_graph_host_name\",\"msgraph_host\",\"aud\",\"exp\",\"iat\",\"auth_time\",\"acr\",\"nonce\",\"preferred_username\",\"name\",\"tid\",\"ver\",\"at_hash\",\"c_hash\",\"email\"],\"kerberos_endpoint\":\"https://login.microsoftonline.us/common/kerberos\",\"tenant_region_scope\":null,\"cloud_instance_name\":\"microsoftonline.us\",\"cloud_graph_host_name\":\"graph.windows.net\",\"msgraph_host\":\"graph.microsoft.com\",\"rbac_url\":\"https://pasff.usgovcloudapi.net\"},\"https://login.microsoftonline.com/consumers/\":{\"token_endpoint\":\"https://login.microsoftonline.com/consumers/oauth2/v2.0/token\",\"token_endpoint_auth_methods_supported\":[\"client_secret_post\",\"private_key_jwt\",\"client_secret_basic\"],\"jwks_uri\":\"https://login.microsoftonline.com/consumers/discovery/v2.0/keys\",\"response_modes_supported\":[\"query\",\"fragment\",\"form_post\"],\"subject_types_supported\":[\"pairwise\"],\"id_token_signing_alg_values_supported\":[\"RS256\"],\"response_types_supported\":[\"code\",\"id_token\",\"code id_token\",\"id_token token\"],\"scopes_supported\":[\"openid\",\"profile\",\"email\",\"offline_access\"],\"issuer\":\"https://login.microsoftonline.com/9188040d-6c67-4c5b-b112-36a304b66dad/v2.0\",\"request_uri_parameter_supported\":false,\"userinfo_endpoint\":\"https://graph.microsoft.com/oidc/userinfo\",\"authorization_endpoint\":\"https://login.microsoftonline.com/consumers/oauth2/v2.0/authorize\",\"device_authorization_endpoint\":\"https://login.microsoftonline.com/consumers/oauth2/v2.0/devicecode\",\"http_logout_supported\":true,\"frontchannel_logout_supported\":true,\"end_session_endpoint\":\"https://login.microsoftonline.com/consumers/oauth2/v2.0/logout\",\"claims_supported\":[\"sub\",\"iss\",\"cloud_instance_name\",\"cloud_instance_host_name\",\"cloud_graph_host_name\",\"msgraph_host\",\"aud\",\"exp\",\"iat\",\"auth_time\",\"acr\",\"nonce\",\"preferred_username\",\"name\",\"tid\",\"ver\",\"at_hash\",\"c_hash\",\"email\"],\"kerberos_endpoint\":\"https://login.microsoftonline.com/consumers/kerberos\",\"tenant_region_scope\":null,\"cloud_instance_name\":\"microsoftonline.com\",\"cloud_graph_host_name\":\"graph.windows.net\",\"msgraph_host\":\"graph.microsoft.com\",\"rbac_url\":\"https://pas.windows.net\"},\"https://login.chinacloudapi.cn/consumers/\":{\"token_endpoint\":\"https://login.chinacloudapi.cn/consumers/oauth2/v2.0/token\",\"token_endpoint_auth_methods_supported\":[\"client_secret_post\",\"private_key_jwt\",\"client_secret_basic\"],\"jwks_uri\":\"https://login.chinacloudapi.cn/consumers/discovery/v2.0/keys\",\"response_modes_supported\":[\"query\",\"fragment\",\"form_post\"],\"subject_types_supported\":[\"pairwise\"],\"id_token_signing_alg_values_supported\":[\"RS256\"],\"response_types_supported\":[\"code\",\"id_token\",\"code id_token\",\"id_token token\"],\"scopes_supported\":[\"openid\",\"profile\",\"email\",\"offline_access\"],\"issuer\":\"https://login.partner.microsoftonline.cn/9188040d-6c67-4c5b-b112-36a304b66dad/v2.0\",\"request_uri_parameter_supported\":false,\"userinfo_endpoint\":\"https://microsoftgraph.chinacloudapi.cn/oidc/userinfo\",\"authorization_endpoint\":\"https://login.chinacloudapi.cn/consumers/oauth2/v2.0/authorize\",\"device_authorization_endpoint\":\"https://login.chinacloudapi.cn/consumers/oauth2/v2.0/devicecode\",\"http_logout_supported\":true,\"frontchannel_logout_supported\":true,\"end_session_endpoint\":\"https://login.chinacloudapi.cn/consumers/oauth2/v2.0/logout\",\"claims_supported\":[\"sub\",\"iss\",\"cloud_instance_name\",\"cloud_instance_host_name\",\"cloud_graph_host_name\",\"msgraph_host\",\"aud\",\"exp\",\"iat\",\"auth_time\",\"acr\",\"nonce\",\"preferred_username\",\"name\",\"tid\",\"ver\",\"at_hash\",\"c_hash\",\"email\"],\"kerberos_endpoint\":\"https://login.chinacloudapi.cn/consumers/kerberos\",\"tenant_region_scope\":null,\"cloud_instance_name\":\"partner.microsoftonline.cn\",\"cloud_graph_host_name\":\"graph.chinacloudapi.cn\",\"msgraph_host\":\"microsoftgraph.chinacloudapi.cn\",\"rbac_url\":\"https://pas.chinacloudapi.cn\"},\"https://login.microsoftonline.us/consumers/\":{\"token_endpoint\":\"https://login.microsoftonline.us/consumers/oauth2/v2.0/token\",\"token_endpoint_auth_methods_supported\":[\"client_secret_post\",\"private_key_jwt\",\"client_secret_basic\"],\"jwks_uri\":\"https://login.microsoftonline.us/consumers/discovery/v2.0/keys\",\"response_modes_supported\":[\"query\",\"fragment\",\"form_post\"],\"subject_types_supported\":[\"pairwise\"],\"id_token_signing_alg_values_supported\":[\"RS256\"],\"response_types_supported\":[\"code\",\"id_token\",\"code id_token\",\"id_token token\"],\"scopes_supported\":[\"openid\",\"profile\",\"email\",\"offline_access\"],\"issuer\":\"https://login.microsoftonline.us/9188040d-6c67-4c5b-b112-36a304b66dad/v2.0\",\"request_uri_parameter_supported\":false,\"userinfo_endpoint\":\"https://graph.microsoft.com/oidc/userinfo\",\"authorization_endpoint\":\"https://login.microsoftonline.us/consumers/oauth2/v2.0/authorize\",\"device_authorization_endpoint\":\"https://login.microsoftonline.us/consumers/oauth2/v2.0/devicecode\",\"http_logout_supported\":true,\"frontchannel_logout_supported\":true,\"end_session_endpoint\":\"https://login.microsoftonline.us/consumers/oauth2/v2.0/logout\",\"claims_supported\":[\"sub\",\"iss\",\"cloud_instance_name\",\"cloud_instance_host_name\",\"cloud_graph_host_name\",\"msgraph_host\",\"aud\",\"exp\",\"iat\",\"auth_time\",\"acr\",\"nonce\",\"preferred_username\",\"name\",\"tid\",\"ver\",\"at_hash\",\"c_hash\",\"email\"],\"kerberos_endpoint\":\"https://login.microsoftonline.us/consumers/kerberos\",\"tenant_region_scope\":null,\"cloud_instance_name\":\"microsoftonline.us\",\"cloud_graph_host_name\":\"graph.windows.net\",\"msgraph_host\":\"graph.microsoft.com\",\"rbac_url\":\"https://pasff.usgovcloudapi.net\"},\"https://login.microsoftonline.com/organizations/\":{\"token_endpoint\":\"https://login.microsoftonline.com/organizations/oauth2/v2.0/token\",\"token_endpoint_auth_methods_supported\":[\"client_secret_post\",\"private_key_jwt\",\"client_secret_basic\"],\"jwks_uri\":\"https://login.microsoftonline.com/organizations/discovery/v2.0/keys\",\"response_modes_supported\":[\"query\",\"fragment\",\"form_post\"],\"subject_types_supported\":[\"pairwise\"],\"id_token_signing_alg_values_supported\":[\"RS256\"],\"response_types_supported\":[\"code\",\"id_token\",\"code id_token\",\"id_token token\"],\"scopes_supported\":[\"openid\",\"profile\",\"email\",\"offline_access\"],\"issuer\":\"https://login.microsoftonline.com/{tenantid}/v2.0\",\"request_uri_parameter_supported\":false,\"userinfo_endpoint\":\"https://graph.microsoft.com/oidc/userinfo\",\"authorization_endpoint\":\"https://login.microsoftonline.com/organizations/oauth2/v2.0/authorize\",\"device_authorization_endpoint\":\"https://login.microsoftonline.com/organizations/oauth2/v2.0/devicecode\",\"http_logout_supported\":true,\"frontchannel_logout_supported\":true,\"end_session_endpoint\":\"https://login.microsoftonline.com/organizations/oauth2/v2.0/logout\",\"claims_supported\":[\"sub\",\"iss\",\"cloud_instance_name\",\"cloud_instance_host_name\",\"cloud_graph_host_name\",\"msgraph_host\",\"aud\",\"exp\",\"iat\",\"auth_time\",\"acr\",\"nonce\",\"preferred_username\",\"name\",\"tid\",\"ver\",\"at_hash\",\"c_hash\",\"email\"],\"kerberos_endpoint\":\"https://login.microsoftonline.com/organizations/kerberos\",\"tenant_region_scope\":null,\"cloud_instance_name\":\"microsoftonline.com\",\"cloud_graph_host_name\":\"graph.windows.net\",\"msgraph_host\":\"graph.microsoft.com\",\"rbac_url\":\"https://pas.windows.net\"},\"https://login.chinacloudapi.cn/organizations/\":{\"token_endpoint\":\"https://login.chinacloudapi.cn/organizations/oauth2/v2.0/token\",\"token_endpoint_auth_methods_supported\":[\"client_secret_post\",\"private_key_jwt\",\"client_secret_basic\"],\"jwks_uri\":\"https://login.chinacloudapi.cn/organizations/discovery/v2.0/keys\",\"response_modes_supported\":[\"query\",\"fragment\",\"form_post\"],\"subject_types_supported\":[\"pairwise\"],\"id_token_signing_alg_values_supported\":[\"RS256\"],\"response_types_supported\":[\"code\",\"id_token\",\"code id_token\",\"id_token token\"],\"scopes_supported\":[\"openid\",\"profile\",\"email\",\"offline_access\"],\"issuer\":\"https://login.partner.microsoftonline.cn/{tenantid}/v2.0\",\"request_uri_parameter_supported\":false,\"userinfo_endpoint\":\"https://microsoftgraph.chinacloudapi.cn/oidc/userinfo\",\"authorization_endpoint\":\"https://login.chinacloudapi.cn/organizations/oauth2/v2.0/authorize\",\"device_authorization_endpoint\":\"https://login.chinacloudapi.cn/organizations/oauth2/v2.0/devicecode\",\"http_logout_supported\":true,\"frontchannel_logout_supported\":true,\"end_session_endpoint\":\"https://login.chinacloudapi.cn/organizations/oauth2/v2.0/logout\",\"claims_supported\":[\"sub\",\"iss\",\"cloud_instance_name\",\"cloud_instance_host_name\",\"cloud_graph_host_name\",\"msgraph_host\",\"aud\",\"exp\",\"iat\",\"auth_time\",\"acr\",\"nonce\",\"preferred_username\",\"name\",\"tid\",\"ver\",\"at_hash\",\"c_hash\",\"email\"],\"kerberos_endpoint\":\"https://login.chinacloudapi.cn/organizations/kerberos\",\"tenant_region_scope\":null,\"cloud_instance_name\":\"partner.microsoftonline.cn\",\"cloud_graph_host_name\":\"graph.chinacloudapi.cn\",\"msgraph_host\":\"microsoftgraph.chinacloudapi.cn\",\"rbac_url\":\"https://pas.chinacloudapi.cn\"},\"https://login.microsoftonline.us/organizations/\":{\"token_endpoint\":\"https://login.microsoftonline.us/organizations/oauth2/v2.0/token\",\"token_endpoint_auth_methods_supported\":[\"client_secret_post\",\"private_key_jwt\",\"client_secret_basic\"],\"jwks_uri\":\"https://login.microsoftonline.us/organizations/discovery/v2.0/keys\",\"response_modes_supported\":[\"query\",\"fragment\",\"form_post\"],\"subject_types_supported\":[\"pairwise\"],\"id_token_signing_alg_values_supported\":[\"RS256\"],\"response_types_supported\":[\"code\",\"id_token\",\"code id_token\",\"id_token token\"],\"scopes_supported\":[\"openid\",\"profile\",\"email\",\"offline_access\"],\"issuer\":\"https://login.microsoftonline.us/{tenantid}/v2.0\",\"request_uri_parameter_supported\":false,\"userinfo_endpoint\":\"https://graph.microsoft.com/oidc/userinfo\",\"authorization_endpoint\":\"https://login.microsoftonline.us/organizations/oauth2/v2.0/authorize\",\"device_authorization_endpoint\":\"https://login.microsoftonline.us/organizations/oauth2/v2.0/devicecode\",\"http_logout_supported\":true,\"frontchannel_logout_supported\":true,\"end_session_endpoint\":\"https://login.microsoftonline.us/organizations/oauth2/v2.0/logout\",\"claims_supported\":[\"sub\",\"iss\",\"cloud_instance_name\",\"cloud_instance_host_name\",\"cloud_graph_host_name\",\"msgraph_host\",\"aud\",\"exp\",\"iat\",\"auth_time\",\"acr\",\"nonce\",\"preferred_username\",\"name\",\"tid\",\"ver\",\"at_hash\",\"c_hash\",\"email\"],\"kerberos_endpoint\":\"https://login.microsoftonline.us/organizations/kerberos\",\"tenant_region_scope\":null,\"cloud_instance_name\":\"microsoftonline.us\",\"cloud_graph_host_name\":\"graph.windows.net\",\"msgraph_host\":\"graph.microsoft.com\",\"rbac_url\":\"https://pasff.usgovcloudapi.net\"}},\"instanceDiscoveryMetadata\":{\"https://login.microsoftonline.com/common/\":{\"tenant_discovery_endpoint\":\"https://login.microsoftonline.com/common/v2.0/.well-known/openid-configuration\",\"api-version\":\"1.1\",\"metadata\":[{\"preferred_network\":\"login.microsoftonline.com\",\"preferred_cache\":\"login.windows.net\",\"aliases\":[\"login.microsoftonline.com\",\"login.windows.net\",\"login.microsoft.com\",\"sts.windows.net\"]},{\"preferred_network\":\"login.partner.microsoftonline.cn\",\"preferred_cache\":\"login.partner.microsoftonline.cn\",\"aliases\":[\"login.partner.microsoftonline.cn\",\"login.chinacloudapi.cn\"]},{\"preferred_network\":\"login.microsoftonline.de\",\"preferred_cache\":\"login.microsoftonline.de\",\"aliases\":[\"login.microsoftonline.de\"]},{\"preferred_network\":\"login.microsoftonline.us\",\"preferred_cache\":\"login.microsoftonline.us\",\"aliases\":[\"login.microsoftonline.us\",\"login.usgovcloudapi.net\"]},{\"preferred_network\":\"login-us.microsoftonline.com\",\"preferred_cache\":\"login-us.microsoftonline.com\",\"aliases\":[\"login-us.microsoftonline.com\"]}]},\"https://login.chinacloudapi.cn/common/\":{\"tenant_discovery_endpoint\":\"https://login.chinacloudapi.cn/common/v2.0/.well-known/openid-configuration\",\"api-version\":\"1.1\",\"metadata\":[{\"preferred_network\":\"login.microsoftonline.com\",\"preferred_cache\":\"login.windows.net\",\"aliases\":[\"login.microsoftonline.com\",\"login.windows.net\",\"login.microsoft.com\",\"sts.windows.net\"]},{\"preferred_network\":\"login.partner.microsoftonline.cn\",\"preferred_cache\":\"login.partner.microsoftonline.cn\",\"aliases\":[\"login.partner.microsoftonline.cn\",\"login.chinacloudapi.cn\"]},{\"preferred_network\":\"login.microsoftonline.de\",\"preferred_cache\":\"login.microsoftonline.de\",\"aliases\":[\"login.microsoftonline.de\"]},{\"preferred_network\":\"login.microsoftonline.us\",\"preferred_cache\":\"login.microsoftonline.us\",\"aliases\":[\"login.microsoftonline.us\",\"login.usgovcloudapi.net\"]},{\"preferred_network\":\"login-us.microsoftonline.com\",\"preferred_cache\":\"login-us.microsoftonline.com\",\"aliases\":[\"login-us.microsoftonline.com\"]}]},\"https://login.microsoftonline.us/common/\":{\"tenant_discovery_endpoint\":\"https://login.microsoftonline.us/common/v2.0/.well-known/openid-configuration\",\"api-version\":\"1.1\",\"metadata\":[{\"preferred_network\":\"login.microsoftonline.com\",\"preferred_cache\":\"login.windows.net\",\"aliases\":[\"login.microsoftonline.com\",\"login.windows.net\",\"login.microsoft.com\",\"sts.windows.net\"]},{\"preferred_network\":\"login.partner.microsoftonline.cn\",\"preferred_cache\":\"login.partner.microsoftonline.cn\",\"aliases\":[\"login.partner.microsoftonline.cn\",\"login.chinacloudapi.cn\"]},{\"preferred_network\":\"login.microsoftonline.de\",\"preferred_cache\":\"login.microsoftonline.de\",\"aliases\":[\"login.microsoftonline.de\"]},{\"preferred_network\":\"login.microsoftonline.us\",\"preferred_cache\":\"login.microsoftonline.us\",\"aliases\":[\"login.microsoftonline.us\",\"login.usgovcloudapi.net\"]},{\"preferred_network\":\"login-us.microsoftonline.com\",\"preferred_cache\":\"login-us.microsoftonline.com\",\"aliases\":[\"login-us.microsoftonline.com\"]}]},\"https://login.microsoftonline.com/consumers/\":{\"tenant_discovery_endpoint\":\"https://login.microsoftonline.com/consumers/v2.0/.well-known/openid-configuration\",\"api-version\":\"1.1\",\"metadata\":[{\"preferred_network\":\"login.microsoftonline.com\",\"preferred_cache\":\"login.windows.net\",\"aliases\":[\"login.microsoftonline.com\",\"login.windows.net\",\"login.microsoft.com\",\"sts.windows.net\"]},{\"preferred_network\":\"login.partner.microsoftonline.cn\",\"preferred_cache\":\"login.partner.microsoftonline.cn\",\"aliases\":[\"login.partner.microsoftonline.cn\",\"login.chinacloudapi.cn\"]},{\"preferred_network\":\"login.microsoftonline.de\",\"preferred_cache\":\"login.microsoftonline.de\",\"aliases\":[\"login.microsoftonline.de\"]},{\"preferred_network\":\"login.microsoftonline.us\",\"preferred_cache\":\"login.microsoftonline.us\",\"aliases\":[\"login.microsoftonline.us\",\"login.usgovcloudapi.net\"]},{\"preferred_network\":\"login-us.microsoftonline.com\",\"preferred_cache\":\"login-us.microsoftonline.com\",\"aliases\":[\"login-us.microsoftonline.com\"]}]},\"https://login.chinacloudapi.cn/consumers/\":{\"tenant_discovery_endpoint\":\"https://login.chinacloudapi.cn/consumers/v2.0/.well-known/openid-configuration\",\"api-version\":\"1.1\",\"metadata\":[{\"preferred_network\":\"login.microsoftonline.com\",\"preferred_cache\":\"login.windows.net\",\"aliases\":[\"login.microsoftonline.com\",\"login.windows.net\",\"login.microsoft.com\",\"sts.windows.net\"]},{\"preferred_network\":\"login.partner.microsoftonline.cn\",\"preferred_cache\":\"login.partner.microsoftonline.cn\",\"aliases\":[\"login.partner.microsoftonline.cn\",\"login.chinacloudapi.cn\"]},{\"preferred_network\":\"login.microsoftonline.de\",\"preferred_cache\":\"login.microsoftonline.de\",\"aliases\":[\"login.microsoftonline.de\"]},{\"preferred_network\":\"login.microsoftonline.us\",\"preferred_cache\":\"login.microsoftonline.us\",\"aliases\":[\"login.microsoftonline.us\",\"login.usgovcloudapi.net\"]},{\"preferred_network\":\"login-us.microsoftonline.com\",\"preferred_cache\":\"login-us.microsoftonline.com\",\"aliases\":[\"login-us.microsoftonline.com\"]}]},\"https://login.microsoftonline.us/consumers/\":{\"tenant_discovery_endpoint\":\"https://login.microsoftonline.us/consumers/v2.0/.well-known/openid-configuration\",\"api-version\":\"1.1\",\"metadata\":[{\"preferred_network\":\"login.microsoftonline.com\",\"preferred_cache\":\"login.windows.net\",\"aliases\":[\"login.microsoftonline.com\",\"login.windows.net\",\"login.microsoft.com\",\"sts.windows.net\"]},{\"preferred_network\":\"login.partner.microsoftonline.cn\",\"preferred_cache\":\"login.partner.microsoftonline.cn\",\"aliases\":[\"login.partner.microsoftonline.cn\",\"login.chinacloudapi.cn\"]},{\"preferred_network\":\"login.microsoftonline.de\",\"preferred_cache\":\"login.microsoftonline.de\",\"aliases\":[\"login.microsoftonline.de\"]},{\"preferred_network\":\"login.microsoftonline.us\",\"preferred_cache\":\"login.microsoftonline.us\",\"aliases\":[\"login.microsoftonline.us\",\"login.usgovcloudapi.net\"]},{\"preferred_network\":\"login-us.microsoftonline.com\",\"preferred_cache\":\"login-us.microsoftonline.com\",\"aliases\":[\"login-us.microsoftonline.com\"]}]},\"https://login.microsoftonline.com/organizations/\":{\"tenant_discovery_endpoint\":\"https://login.microsoftonline.com/organizations/v2.0/.well-known/openid-configuration\",\"api-version\":\"1.1\",\"metadata\":[{\"preferred_network\":\"login.microsoftonline.com\",\"preferred_cache\":\"login.windows.net\",\"aliases\":[\"login.microsoftonline.com\",\"login.windows.net\",\"login.microsoft.com\",\"sts.windows.net\"]},{\"preferred_network\":\"login.partner.microsoftonline.cn\",\"preferred_cache\":\"login.partner.microsoftonline.cn\",\"aliases\":[\"login.partner.microsoftonline.cn\",\"login.chinacloudapi.cn\"]},{\"preferred_network\":\"login.microsoftonline.de\",\"preferred_cache\":\"login.microsoftonline.de\",\"aliases\":[\"login.microsoftonline.de\"]},{\"preferred_network\":\"login.microsoftonline.us\",\"preferred_cache\":\"login.microsoftonline.us\",\"aliases\":[\"login.microsoftonline.us\",\"login.usgovcloudapi.net\"]},{\"preferred_network\":\"login-us.microsoftonline.com\",\"preferred_cache\":\"login-us.microsoftonline.com\",\"aliases\":[\"login-us.microsoftonline.com\"]}]},\"https://login.chinacloudapi.cn/organizations/\":{\"tenant_discovery_endpoint\":\"https://login.chinacloudapi.cn/organizations/v2.0/.well-known/openid-configuration\",\"api-version\":\"1.1\",\"metadata\":[{\"preferred_network\":\"login.microsoftonline.com\",\"preferred_cache\":\"login.windows.net\",\"aliases\":[\"login.microsoftonline.com\",\"login.windows.net\",\"login.microsoft.com\",\"sts.windows.net\"]},{\"preferred_network\":\"login.partner.microsoftonline.cn\",\"preferred_cache\":\"login.partner.microsoftonline.cn\",\"aliases\":[\"login.partner.microsoftonline.cn\",\"login.chinacloudapi.cn\"]},{\"preferred_network\":\"login.microsoftonline.de\",\"preferred_cache\":\"login.microsoftonline.de\",\"aliases\":[\"login.microsoftonline.de\"]},{\"preferred_network\":\"login.microsoftonline.us\",\"preferred_cache\":\"login.microsoftonline.us\",\"aliases\":[\"login.microsoftonline.us\",\"login.usgovcloudapi.net\"]},{\"preferred_network\":\"login-us.microsoftonline.com\",\"preferred_cache\":\"login-us.microsoftonline.com\",\"aliases\":[\"login-us.microsoftonline.com\"]}]},\"https://login.microsoftonline.us/organizations/\":{\"tenant_discovery_endpoint\":\"https://login.microsoftonline.us/organizations/v2.0/.well-known/openid-configuration\",\"api-version\":\"1.1\",\"metadata\":[{\"preferred_network\":\"login.microsoftonline.com\",\"preferred_cache\":\"login.windows.net\",\"aliases\":[\"login.microsoftonline.com\",\"login.windows.net\",\"login.microsoft.com\",\"sts.windows.net\"]},{\"preferred_network\":\"login.partner.microsoftonline.cn\",\"preferred_cache\":\"login.partner.microsoftonline.cn\",\"aliases\":[\"login.partner.microsoftonline.cn\",\"login.chinacloudapi.cn\"]},{\"preferred_network\":\"login.microsoftonline.de\",\"preferred_cache\":\"login.microsoftonline.de\",\"aliases\":[\"login.microsoftonline.de\"]},{\"preferred_network\":\"login.microsoftonline.us\",\"preferred_cache\":\"login.microsoftonline.us\",\"aliases\":[\"login.microsoftonline.us\",\"login.usgovcloudapi.net\"]},{\"preferred_network\":\"login-us.microsoftonline.com\",\"preferred_cache\":\"login-us.microsoftonline.com\",\"aliases\":[\"login-us.microsoftonline.com\"]}]}}};\n\nexport const EndpointMetadata = rawMetdataJSON.endpointMetadata;\nexport const InstanceDiscoveryMetadata = rawMetdataJSON.instanceDiscoveryMetadata;\n\n","/*\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport { INetworkModule } from \"../network/INetworkModule\";\nimport { NetworkResponse } from \"../network/NetworkManager\";\nimport { IMDSBadResponse } from \"../response/IMDSBadResponse\";\nimport { Constants, RegionDiscoverySources, ResponseCodes } from \"../utils/Constants\";\nimport { RegionDiscoveryMetadata } from \"./RegionDiscoveryMetadata\";\nimport { ImdsOptions } from \"./ImdsOptions\";\n\nexport class RegionDiscovery {\n // Network interface to make requests with.\n protected networkInterface: INetworkModule;\n // Options for the IMDS endpoint request\n protected static IMDS_OPTIONS: ImdsOptions = {\n headers: {\n Metadata: \"true\",\n },\n };\n\n constructor(networkInterface: INetworkModule) {\n this.networkInterface = networkInterface;\n }\n\n /**\n * Detect the region from the application's environment.\n * \n * @returns Promise\n */\n public async detectRegion(environmentRegion: string | undefined, regionDiscoveryMetadata: RegionDiscoveryMetadata, proxyUrl: string): Promise {\n // Initialize auto detected region with the region from the envrionment \n let autodetectedRegionName = environmentRegion;\n\n // Check if a region was detected from the environment, if not, attempt to get the region from IMDS \n if (!autodetectedRegionName) {\n const options = RegionDiscovery.IMDS_OPTIONS;\n if (proxyUrl) {\n options.proxyUrl = proxyUrl;\n }\n\n try {\n const localIMDSVersionResponse = await this.getRegionFromIMDS(Constants.IMDS_VERSION, options);\n if (localIMDSVersionResponse.status === ResponseCodes.httpSuccess) {\n autodetectedRegionName = localIMDSVersionResponse.body;\n regionDiscoveryMetadata.region_source = RegionDiscoverySources.IMDS;\n } \n \n // If the response using the local IMDS version failed, try to fetch the current version of IMDS and retry. \n if (localIMDSVersionResponse.status === ResponseCodes.httpBadRequest) {\n const currentIMDSVersion = await this.getCurrentVersion(options);\n if (!currentIMDSVersion) {\n regionDiscoveryMetadata.region_source = RegionDiscoverySources.FAILED_AUTO_DETECTION;\n return null;\n }\n\n const currentIMDSVersionResponse = await this.getRegionFromIMDS(currentIMDSVersion, options);\n if (currentIMDSVersionResponse.status === ResponseCodes.httpSuccess) {\n autodetectedRegionName = currentIMDSVersionResponse.body;\n regionDiscoveryMetadata.region_source = RegionDiscoverySources.IMDS;\n }\n }\n } catch(e) {\n regionDiscoveryMetadata.region_source = RegionDiscoverySources.FAILED_AUTO_DETECTION;\n return null;\n } \n } else {\n regionDiscoveryMetadata.region_source = RegionDiscoverySources.ENVIRONMENT_VARIABLE;\n }\n\n // If no region was auto detected from the environment or from the IMDS endpoint, mark the attempt as a FAILED_AUTO_DETECTION\n if (!autodetectedRegionName) {\n regionDiscoveryMetadata.region_source = RegionDiscoverySources.FAILED_AUTO_DETECTION;\n }\n\n return autodetectedRegionName || null;\n }\n\n /**\n * Make the call to the IMDS endpoint\n * \n * @param imdsEndpointUrl\n * @returns Promise>\n */\n private async getRegionFromIMDS(version: string, options: ImdsOptions): Promise> {\n return this.networkInterface.sendGetRequestAsync(`${Constants.IMDS_ENDPOINT}?api-version=${version}&format=text`, options, Constants.IMDS_TIMEOUT);\n }\n\n /**\n * Get the most recent version of the IMDS endpoint available\n * \n * @returns Promise\n */\n private async getCurrentVersion(options: ImdsOptions): Promise {\n try {\n const response = await this.networkInterface.sendGetRequestAsync(`${Constants.IMDS_ENDPOINT}?format=json`, options);\n\n // When IMDS endpoint is called without the api version query param, bad request response comes back with latest version.\n if (response.status === ResponseCodes.httpBadRequest && response.body && response.body[\"newest-versions\"] && response.body[\"newest-versions\"].length > 0) {\n return response.body[\"newest-versions\"][0];\n }\n\n return null;\n } catch (e) {\n return null;\n }\n }\n}\n","/*\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport { AuthError, InteractionRequiredAuthError } from \"@azure/msal-common\";\nimport { BrowserAuthError } from \"./BrowserAuthError\";\n\nexport type OSError = {\n error: number;\n protocol_error: string;\n properties: object;\n status: string;\n retryable?: boolean;\n};\n\nexport enum NativeStatusCode {\n USER_INTERACTION_REQUIRED = \"USER_INTERACTION_REQUIRED\",\n USER_CANCEL = \"USER_CANCEL\",\n NO_NETWORK = \"NO_NETWORK\",\n TRANSIENT_ERROR = \"TRANSIENT_ERROR\",\n PERSISTENT_ERROR = \"PERSISTENT_ERROR\",\n DISABLED = \"DISABLED\",\n ACCOUNT_UNAVAILABLE = \"ACCOUNT_UNAVAILABLE\"\n}\n\nexport const NativeAuthErrorMessage = {\n extensionError: {\n code: \"ContentError\"\n },\n userSwitch: {\n code: \"user_switch\",\n desc: \"User attempted to switch accounts in the native broker, which is not allowed. All new accounts must sign-in through the standard web flow first, please try again.\"\n },\n tokensNotFoundInCache: {\n code: \"tokens_not_found_in_internal_memory_cache\",\n desc: \"Tokens not cached in MSAL JS internal memory, please make the WAM request\"\n }\n};\n\nexport class NativeAuthError extends AuthError {\n ext: OSError | undefined;\n\n constructor(errorCode: string, description: string, ext?: OSError) {\n super(errorCode, description);\n\n Object.setPrototypeOf(this, NativeAuthError.prototype);\n this.name = \"NativeAuthError\";\n this.ext = ext;\n }\n\n /**\n * These errors should result in a fallback to the 'standard' browser based auth flow.\n */\n isFatal(): boolean {\n if (this.ext && this.ext.status && (this.ext.status === NativeStatusCode.PERSISTENT_ERROR || this.ext.status === NativeStatusCode.DISABLED)) {\n return true;\n }\n\n switch (this.errorCode) {\n case NativeAuthErrorMessage.extensionError.code:\n return true;\n default:\n return false;\n }\n }\n\n /**\n * Create the appropriate error object based on the WAM status code.\n * @param code\n * @param description\n * @param ext\n * @returns\n */\n static createError(code: string, description: string, ext?: OSError): AuthError {\n if (ext && ext.status) {\n switch (ext.status) {\n case NativeStatusCode.ACCOUNT_UNAVAILABLE:\n return InteractionRequiredAuthError.createNativeAccountUnavailableError();\n case NativeStatusCode.USER_INTERACTION_REQUIRED:\n return new InteractionRequiredAuthError(code, description);\n case NativeStatusCode.USER_CANCEL:\n return BrowserAuthError.createUserCancelledError();\n case NativeStatusCode.NO_NETWORK:\n return BrowserAuthError.createNoNetworkConnectivityError();\n }\n }\n\n return new NativeAuthError(code, description, ext);\n }\n\n /**\n * Creates user switch error when the user chooses a different account in the native broker prompt\n * @returns\n */\n static createUserSwitchError(): NativeAuthError {\n return new NativeAuthError(NativeAuthErrorMessage.userSwitch.code, NativeAuthErrorMessage.userSwitch.desc);\n }\n\n /**\n * Creates a tokens not found error when the internal cache look up fails\n * @returns NativeAuthError: tokensNotFoundInCache\n */\n static createTokensNotFoundInCacheError(): NativeAuthError {\n return new NativeAuthError(NativeAuthErrorMessage.tokensNotFoundInCache.code, NativeAuthErrorMessage.tokensNotFoundInCache.desc);\n }\n}\n","/*\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport { AuthorityType } from \"./AuthorityType\";\nimport { isOpenIdConfigResponse, OpenIdConfigResponse } from \"./OpenIdConfigResponse\";\nimport { UrlString } from \"../url/UrlString\";\nimport { IUri } from \"../url/IUri\";\nimport { ClientAuthError } from \"../error/ClientAuthError\";\nimport { INetworkModule } from \"../network/INetworkModule\";\nimport { AuthorityMetadataSource, Constants, RegionDiscoveryOutcomes } from \"../utils/Constants\";\nimport { EndpointMetadata, InstanceDiscoveryMetadata } from \"./AuthorityMetadata\";\nimport { ClientConfigurationError } from \"../error/ClientConfigurationError\";\nimport { ProtocolMode } from \"./ProtocolMode\";\nimport { ICacheManager } from \"../cache/interface/ICacheManager\";\nimport { AuthorityMetadataEntity } from \"../cache/entities/AuthorityMetadataEntity\";\nimport { AuthorityOptions , AzureCloudInstance } from \"./AuthorityOptions\";\nimport { CloudInstanceDiscoveryResponse, isCloudInstanceDiscoveryResponse } from \"./CloudInstanceDiscoveryResponse\";\nimport { CloudDiscoveryMetadata } from \"./CloudDiscoveryMetadata\";\nimport { RegionDiscovery } from \"./RegionDiscovery\";\nimport { RegionDiscoveryMetadata } from \"./RegionDiscoveryMetadata\";\nimport { ImdsOptions } from \"./ImdsOptions\";\nimport { AzureCloudOptions } from \"../config/ClientConfiguration\";\n\n/**\n * The authority class validates the authority URIs used by the user, and retrieves the OpenID Configuration Data from the\n * endpoint. It will store the pertinent config data in this object for use during token calls.\n */\nexport class Authority {\n\n // Canonical authority url string\n private _canonicalAuthority: UrlString;\n // Canonicaly authority url components\n private _canonicalAuthorityUrlComponents: IUri | null;\n // Network interface to make requests with.\n protected networkInterface: INetworkModule;\n // Cache Manager to cache network responses\n protected cacheManager: ICacheManager;\n // Protocol mode to construct endpoints\n private authorityOptions: AuthorityOptions;\n // Authority metadata\n private metadata: AuthorityMetadataEntity;\n // Region discovery service\n private regionDiscovery: RegionDiscovery;\n // Region discovery metadata\n public regionDiscoveryMetadata: RegionDiscoveryMetadata;\n // Proxy url string\n private proxyUrl: string;\n\n constructor(\n authority: string,\n networkInterface: INetworkModule,\n cacheManager: ICacheManager,\n authorityOptions: AuthorityOptions,\n proxyUrl?: string) {\n this.canonicalAuthority = authority;\n this._canonicalAuthority.validateAsUri();\n this.networkInterface = networkInterface;\n this.cacheManager = cacheManager;\n this.authorityOptions = authorityOptions;\n this.regionDiscovery = new RegionDiscovery(networkInterface);\n this.regionDiscoveryMetadata = { region_used: undefined, region_source: undefined, region_outcome: undefined };\n this.proxyUrl = proxyUrl || Constants.EMPTY_STRING;\n }\n\n // See above for AuthorityType\n public get authorityType(): AuthorityType {\n const pathSegments = this.canonicalAuthorityUrlComponents.PathSegments;\n if (pathSegments.length) {\n switch(pathSegments[0].toLowerCase()) {\n case Constants.ADFS:\n return AuthorityType.Adfs;\n case Constants.DSTS:\n return AuthorityType.Dsts;\n default:\n break;\n }\n }\n return AuthorityType.Default;\n }\n\n /**\n * ProtocolMode enum representing the way endpoints are constructed.\n */\n public get protocolMode(): ProtocolMode {\n return this.authorityOptions.protocolMode;\n }\n\n /**\n * Returns authorityOptions which can be used to reinstantiate a new authority instance\n */\n public get options(): AuthorityOptions {\n return this.authorityOptions;\n }\n\n /**\n * A URL that is the authority set by the developer\n */\n public get canonicalAuthority(): string {\n return this._canonicalAuthority.urlString;\n }\n\n /**\n * Sets canonical authority.\n */\n public set canonicalAuthority(url: string) {\n this._canonicalAuthority = new UrlString(url);\n this._canonicalAuthority.validateAsUri();\n this._canonicalAuthorityUrlComponents = null;\n }\n\n /**\n * Get authority components.\n */\n public get canonicalAuthorityUrlComponents(): IUri {\n if (!this._canonicalAuthorityUrlComponents) {\n this._canonicalAuthorityUrlComponents = this._canonicalAuthority.getUrlComponents();\n }\n\n return this._canonicalAuthorityUrlComponents;\n }\n\n /**\n * Get hostname and port i.e. login.microsoftonline.com\n */\n public get hostnameAndPort(): string {\n return this.canonicalAuthorityUrlComponents.HostNameAndPort.toLowerCase();\n }\n\n /**\n * Get tenant for authority.\n */\n public get tenant(): string {\n return this.canonicalAuthorityUrlComponents.PathSegments[0];\n }\n\n /**\n * OAuth /authorize endpoint for requests\n */\n public get authorizationEndpoint(): string {\n if(this.discoveryComplete()) {\n const endpoint = this.replacePath(this.metadata.authorization_endpoint);\n return this.replaceTenant(endpoint);\n } else {\n throw ClientAuthError.createEndpointDiscoveryIncompleteError(\"Discovery incomplete.\");\n }\n }\n\n /**\n * OAuth /token endpoint for requests\n */\n public get tokenEndpoint(): string {\n if(this.discoveryComplete()) {\n const endpoint = this.replacePath(this.metadata.token_endpoint);\n return this.replaceTenant(endpoint);\n } else {\n throw ClientAuthError.createEndpointDiscoveryIncompleteError(\"Discovery incomplete.\");\n }\n }\n\n public get deviceCodeEndpoint(): string {\n if(this.discoveryComplete()) {\n const endpoint = this.replacePath(this.metadata.token_endpoint.replace(\"/token\", \"/devicecode\"));\n return this.replaceTenant(endpoint);\n } else {\n throw ClientAuthError.createEndpointDiscoveryIncompleteError(\"Discovery incomplete.\");\n }\n }\n\n /**\n * OAuth logout endpoint for requests\n */\n public get endSessionEndpoint(): string {\n if(this.discoveryComplete()) {\n // ROPC policies may not have end_session_endpoint set\n if (!this.metadata.end_session_endpoint) {\n throw ClientAuthError.createLogoutNotSupportedError();\n }\n const endpoint = this.replacePath(this.metadata.end_session_endpoint);\n return this.replaceTenant(endpoint);\n } else {\n throw ClientAuthError.createEndpointDiscoveryIncompleteError(\"Discovery incomplete.\");\n }\n }\n\n /**\n * OAuth issuer for requests\n */\n public get selfSignedJwtAudience(): string {\n if(this.discoveryComplete()) {\n const endpoint = this.replacePath(this.metadata.issuer);\n return this.replaceTenant(endpoint);\n } else {\n throw ClientAuthError.createEndpointDiscoveryIncompleteError(\"Discovery incomplete.\");\n }\n }\n\n /**\n * Jwks_uri for token signing keys\n */\n public get jwksUri(): string {\n if(this.discoveryComplete()) {\n const endpoint = this.replacePath(this.metadata.jwks_uri);\n return this.replaceTenant(endpoint);\n } else {\n throw ClientAuthError.createEndpointDiscoveryIncompleteError(\"Discovery incomplete.\");\n }\n }\n\n /**\n * Replaces tenant in url path with current tenant. Defaults to common.\n * @param urlString\n */\n private replaceTenant(urlString: string): string {\n return urlString.replace(/{tenant}|{tenantid}/g, this.tenant);\n }\n\n /**\n * Replaces path such as tenant or policy with the current tenant or policy.\n * @param urlString\n */\n private replacePath(urlString: string): string {\n let endpoint = urlString;\n const cachedAuthorityUrl = new UrlString(this.metadata.canonical_authority);\n const cachedAuthorityParts = cachedAuthorityUrl.getUrlComponents().PathSegments;\n const currentAuthorityParts = this.canonicalAuthorityUrlComponents.PathSegments;\n\n currentAuthorityParts.forEach((currentPart, index) => {\n const cachedPart = cachedAuthorityParts[index];\n if (currentPart !== cachedPart) {\n endpoint = endpoint.replace(`/${cachedPart}/`, `/${currentPart}/`);\n }\n });\n\n return endpoint;\n }\n\n /**\n * The default open id configuration endpoint for any canonical authority.\n */\n protected get defaultOpenIdConfigurationEndpoint(): string {\n if (\n this.authorityType === AuthorityType.Adfs ||\n this.authorityType === AuthorityType.Dsts ||\n this.protocolMode === ProtocolMode.OIDC\n ) {\n return `${this.canonicalAuthority}.well-known/openid-configuration`;\n }\n return `${this.canonicalAuthority}v2.0/.well-known/openid-configuration`;\n }\n\n /**\n * Boolean that returns whethr or not tenant discovery has been completed.\n */\n discoveryComplete(): boolean {\n return !!this.metadata;\n }\n\n /**\n * Perform endpoint discovery to discover aliases, preferred_cache, preferred_network\n * and the /authorize, /token and logout endpoints.\n */\n public async resolveEndpointsAsync(): Promise {\n let metadataEntity = this.cacheManager.getAuthorityMetadataByAlias(this.hostnameAndPort);\n if (!metadataEntity) {\n metadataEntity = new AuthorityMetadataEntity();\n metadataEntity.updateCanonicalAuthority(this.canonicalAuthority);\n }\n\n const cloudDiscoverySource = await this.updateCloudDiscoveryMetadata(metadataEntity);\n this.canonicalAuthority = this.canonicalAuthority.replace(this.hostnameAndPort, metadataEntity.preferred_network);\n const endpointSource = await this.updateEndpointMetadata(metadataEntity);\n\n if (cloudDiscoverySource !== AuthorityMetadataSource.CACHE && endpointSource !== AuthorityMetadataSource.CACHE) {\n // Reset the expiration time unless both values came from a successful cache lookup\n metadataEntity.resetExpiresAt();\n metadataEntity.updateCanonicalAuthority(this.canonicalAuthority);\n }\n\n const cacheKey = this.cacheManager.generateAuthorityMetadataCacheKey(metadataEntity.preferred_cache);\n this.cacheManager.setAuthorityMetadata(cacheKey, metadataEntity);\n this.metadata = metadataEntity;\n }\n\n /**\n * Update AuthorityMetadataEntity with new endpoints and return where the information came from\n * @param metadataEntity\n */\n private async updateEndpointMetadata(metadataEntity: AuthorityMetadataEntity): Promise {\n let metadata = this.getEndpointMetadataFromConfig();\n if (metadata) {\n metadataEntity.updateEndpointMetadata(metadata, false);\n return AuthorityMetadataSource.CONFIG;\n }\n\n if (this.isAuthoritySameType(metadataEntity) && metadataEntity.endpointsFromNetwork && !metadataEntity.isExpired()) {\n // No need to update\n return AuthorityMetadataSource.CACHE;\n }\n\n let harcodedMetadata = this.getEndpointMetadataFromHardcodedValues();\n metadata = await this.getEndpointMetadataFromNetwork();\n if (metadata) {\n // If the user prefers to use an azure region replace the global endpoints with regional information.\n if (this.authorityOptions.azureRegionConfiguration?.azureRegion) {\n metadata = await this.updateMetadataWithRegionalInformation(metadata);\n }\n\n metadataEntity.updateEndpointMetadata(metadata, true);\n return AuthorityMetadataSource.NETWORK;\n } \n\n if (harcodedMetadata && !this.authorityOptions.skipAuthorityMetadataCache) {\n // If the user prefers to use an azure region replace the global endpoints with regional information.\n if (this.authorityOptions.azureRegionConfiguration?.azureRegion) {\n harcodedMetadata = await this.updateMetadataWithRegionalInformation(\n harcodedMetadata\n );\n }\n\n metadataEntity.updateEndpointMetadata(harcodedMetadata, false);\n return AuthorityMetadataSource.HARDCODED_VALUES;\n } else {\n throw ClientAuthError.createUnableToGetOpenidConfigError(\n this.defaultOpenIdConfigurationEndpoint\n );\n }\n }\n\n /**\n * Compares the number of url components after the domain to determine if the cached \n * authority metadata can be used for the requested authority. Protects against same domain different \n * authority such as login.microsoftonline.com/tenant and login.microsoftonline.com/tfp/tenant/policy\n * @param metadataEntity\n */\n private isAuthoritySameType(metadataEntity: AuthorityMetadataEntity): boolean {\n const cachedAuthorityUrl = new UrlString(metadataEntity.canonical_authority);\n const cachedParts = cachedAuthorityUrl.getUrlComponents().PathSegments;\n\n return cachedParts.length === this.canonicalAuthorityUrlComponents.PathSegments.length;\n }\n\n /**\n * Parse authorityMetadata config option\n */\n private getEndpointMetadataFromConfig(): OpenIdConfigResponse | null {\n if (this.authorityOptions.authorityMetadata) {\n try {\n return JSON.parse(this.authorityOptions.authorityMetadata) as OpenIdConfigResponse;\n } catch (e) {\n throw ClientConfigurationError.createInvalidAuthorityMetadataError();\n }\n }\n\n return null;\n }\n\n /**\n * Gets OAuth endpoints from the given OpenID configuration endpoint.\n * \n * @param hasHardcodedMetadata boolean\n */\n private async getEndpointMetadataFromNetwork(): Promise {\n const options: ImdsOptions = {};\n if (this.proxyUrl) {\n options.proxyUrl = this.proxyUrl;\n }\n\n /*\n * TODO: Add a timeout if the authority exists in our library's \n * hardcoded list of metadata\n */\n\n try {\n const response = await this.networkInterface.\n sendGetRequestAsync(this.defaultOpenIdConfigurationEndpoint, options);\n return isOpenIdConfigResponse(response.body) ? response.body : null;\n } catch (e) {\n return null;\n }\n }\n\n /**\n * Get OAuth endpoints for common authorities.\n */\n private getEndpointMetadataFromHardcodedValues(): OpenIdConfigResponse | null {\n if (this.canonicalAuthority in EndpointMetadata) {\n return EndpointMetadata[this.canonicalAuthority];\n }\n\n return null;\n }\n\n /**\n * Update the retrieved metadata with regional information.\n */\n private async updateMetadataWithRegionalInformation(metadata: OpenIdConfigResponse): Promise {\n const autodetectedRegionName = await this.regionDiscovery.detectRegion(\n this.authorityOptions.azureRegionConfiguration?.environmentRegion,\n this.regionDiscoveryMetadata,\n this.proxyUrl\n );\n\n const azureRegion = \n this.authorityOptions.azureRegionConfiguration?.azureRegion === Constants.AZURE_REGION_AUTO_DISCOVER_FLAG\n ? autodetectedRegionName\n : this.authorityOptions.azureRegionConfiguration?.azureRegion;\n\n if (this.authorityOptions.azureRegionConfiguration?.azureRegion === Constants.AZURE_REGION_AUTO_DISCOVER_FLAG) {\n this.regionDiscoveryMetadata.region_outcome = autodetectedRegionName ?\n RegionDiscoveryOutcomes.AUTO_DETECTION_REQUESTED_SUCCESSFUL :\n RegionDiscoveryOutcomes.AUTO_DETECTION_REQUESTED_FAILED;\n } else {\n if (autodetectedRegionName) {\n this.regionDiscoveryMetadata.region_outcome = (\n this.authorityOptions.azureRegionConfiguration?.azureRegion === autodetectedRegionName\n ) ?\n RegionDiscoveryOutcomes.CONFIGURED_MATCHES_DETECTED :\n RegionDiscoveryOutcomes.CONFIGURED_NOT_DETECTED;\n } else {\n this.regionDiscoveryMetadata.region_outcome = RegionDiscoveryOutcomes.CONFIGURED_NO_AUTO_DETECTION;\n }\n }\n\n if (azureRegion) {\n this.regionDiscoveryMetadata.region_used = azureRegion;\n return Authority.replaceWithRegionalInformation(metadata, azureRegion);\n }\n\n return metadata;\n }\n\n /**\n * Updates the AuthorityMetadataEntity with new aliases, preferred_network and preferred_cache\n * and returns where the information was retrieved from\n * @param cachedMetadata\n * @param newMetadata\n */\n private async updateCloudDiscoveryMetadata(metadataEntity: AuthorityMetadataEntity): Promise {\n let metadata = this.getCloudDiscoveryMetadataFromConfig();\n if (metadata) {\n metadataEntity.updateCloudDiscoveryMetadata(metadata, false);\n return AuthorityMetadataSource.CONFIG;\n }\n\n // If The cached metadata came from config but that config was not passed to this instance, we must go to the network\n if (this.isAuthoritySameType(metadataEntity) && metadataEntity.aliasesFromNetwork && !metadataEntity.isExpired()) {\n // No need to update\n return AuthorityMetadataSource.CACHE;\n }\n\n const harcodedMetadata = this.getCloudDiscoveryMetadataFromHarcodedValues();\n\n metadata = await this.getCloudDiscoveryMetadataFromNetwork();\n if (metadata) {\n metadataEntity.updateCloudDiscoveryMetadata(metadata, true);\n return AuthorityMetadataSource.NETWORK;\n }\n \n if (harcodedMetadata && !this.options.skipAuthorityMetadataCache) {\n metadataEntity.updateCloudDiscoveryMetadata(harcodedMetadata, false);\n return AuthorityMetadataSource.HARDCODED_VALUES;\n } else {\n // Metadata could not be obtained from config, cache or network\n throw ClientConfigurationError.createUntrustedAuthorityError();\n }\n }\n\n /**\n * Parse cloudDiscoveryMetadata config or check knownAuthorities\n */\n private getCloudDiscoveryMetadataFromConfig(): CloudDiscoveryMetadata | null {\n // Check if network response was provided in config\n if (this.authorityOptions.cloudDiscoveryMetadata) {\n try {\n const parsedResponse = JSON.parse(this.authorityOptions.cloudDiscoveryMetadata) as CloudInstanceDiscoveryResponse;\n const metadata = Authority.getCloudDiscoveryMetadataFromNetworkResponse(\n parsedResponse.metadata,\n this.hostnameAndPort\n );\n if (metadata) {\n return metadata;\n }\n } catch (e) {\n throw ClientConfigurationError.createInvalidCloudDiscoveryMetadataError();\n }\n }\n // If cloudDiscoveryMetadata is empty or does not contain the host, check knownAuthorities\n if (this.isInKnownAuthorities()) {\n return Authority.createCloudDiscoveryMetadataFromHost(this.hostnameAndPort);\n }\n\n return null;\n }\n\n /**\n * Called to get metadata from network if CloudDiscoveryMetadata was not populated by config\n * \n * @param hasHardcodedMetadata boolean\n */\n private async getCloudDiscoveryMetadataFromNetwork(): Promise {\n const instanceDiscoveryEndpoint =\n `${Constants.AAD_INSTANCE_DISCOVERY_ENDPT}${this.canonicalAuthority}oauth2/v2.0/authorize`;\n const options: ImdsOptions = {};\n if (this.proxyUrl) {\n options.proxyUrl = this.proxyUrl;\n }\n\n /*\n * TODO: Add a timeout if the authority exists in our library's\n * hardcoded list of metadata\n */\n\n let match = null;\n try {\n const response =\n await this.networkInterface.sendGetRequestAsync(\n instanceDiscoveryEndpoint,\n options\n );\n const metadata = isCloudInstanceDiscoveryResponse(response.body)\n ? response.body.metadata\n : [];\n if (metadata.length === 0) {\n // If no metadata is returned, authority is untrusted\n return null;\n }\n match = Authority.getCloudDiscoveryMetadataFromNetworkResponse(\n metadata,\n this.hostnameAndPort\n );\n } catch (e) {\n return null;\n }\n\n if (!match) {\n // Custom Domain scenario, host is trusted because Instance Discovery call succeeded\n match = Authority.createCloudDiscoveryMetadataFromHost(\n this.hostnameAndPort\n );\n }\n return match;\n }\n\n /**\n * Get cloud discovery metadata for common authorities \n */\n private getCloudDiscoveryMetadataFromHarcodedValues(): CloudDiscoveryMetadata | null {\n if (this.canonicalAuthority in InstanceDiscoveryMetadata) {\n return InstanceDiscoveryMetadata[this.canonicalAuthority];\n }\n\n return null;\n }\n\n /**\n * Helper function to determine if this host is included in the knownAuthorities config option\n */\n private isInKnownAuthorities(): boolean {\n const matches = this.authorityOptions.knownAuthorities.filter((authority) => {\n return UrlString.getDomainFromUrl(authority).toLowerCase() === this.hostnameAndPort;\n });\n\n return matches.length > 0;\n }\n\n /**\n * helper function to populate the authority based on azureCloudOptions\n * @param authorityString\n * @param azureCloudOptions\n */\n static generateAuthority(authorityString: string, azureCloudOptions?: AzureCloudOptions): string {\n let authorityAzureCloudInstance;\n\n if (azureCloudOptions && azureCloudOptions.azureCloudInstance !== AzureCloudInstance.None) {\n const tenant = azureCloudOptions.tenant ? azureCloudOptions.tenant : Constants.DEFAULT_COMMON_TENANT;\n authorityAzureCloudInstance = `${azureCloudOptions.azureCloudInstance}/${tenant}/`;\n }\n\n return authorityAzureCloudInstance ? authorityAzureCloudInstance : authorityString;\n }\n\n /**\n * Creates cloud discovery metadata object from a given host\n * @param host\n */\n static createCloudDiscoveryMetadataFromHost(host: string): CloudDiscoveryMetadata {\n return {\n preferred_network: host,\n preferred_cache: host,\n aliases: [host]\n };\n }\n\n /**\n * Searches instance discovery network response for the entry that contains the host in the aliases list\n * @param response\n * @param authority\n */\n static getCloudDiscoveryMetadataFromNetworkResponse(\n response: CloudDiscoveryMetadata[],\n authority: string\n ): CloudDiscoveryMetadata | null {\n for (let i = 0; i < response.length; i++) {\n const metadata = response[i];\n if (metadata.aliases.indexOf(authority) > -1) {\n return metadata;\n }\n }\n\n return null;\n }\n\n /**\n * helper function to generate environment from authority object\n */\n getPreferredCache(): string {\n if(this.discoveryComplete()) {\n return this.metadata.preferred_cache;\n } else {\n throw ClientAuthError.createEndpointDiscoveryIncompleteError(\"Discovery incomplete.\");\n }\n }\n\n /**\n * Returns whether or not the provided host is an alias of this authority instance\n * @param host\n */\n isAlias(host: string): boolean {\n return this.metadata.aliases.indexOf(host) > -1;\n }\n\n /**\n * Checks whether the provided host is that of a public cloud authority\n *\n * @param authority string\n * @returns bool\n */\n static isPublicCloudAuthority(host: string): boolean {\n return Constants.KNOWN_PUBLIC_CLOUDS.indexOf(host) >= 0;\n }\n\n /**\n * Rebuild the authority string with the region\n *\n * @param host string\n * @param region string\n */\n static buildRegionalAuthorityString(host: string, region: string, queryString?: string): string {\n // Create and validate a Url string object with the initial authority string\n const authorityUrlInstance = new UrlString(host);\n authorityUrlInstance.validateAsUri();\n\n const authorityUrlParts = authorityUrlInstance.getUrlComponents();\n\n let hostNameAndPort= `${region}.${authorityUrlParts.HostNameAndPort}`;\n\n if (this.isPublicCloudAuthority(authorityUrlParts.HostNameAndPort)) {\n hostNameAndPort = `${region}.${Constants.REGIONAL_AUTH_PUBLIC_CLOUD_SUFFIX}`;\n }\n\n // Include the query string portion of the url\n const url = UrlString.constructAuthorityUriFromObject({\n ...authorityUrlInstance.getUrlComponents(),\n HostNameAndPort: hostNameAndPort\n }).urlString;\n\n // Add the query string if a query string was provided\n if (queryString) return `${url}?${queryString}`;\n\n return url;\n }\n\n /**\n * Replace the endpoints in the metadata object with their regional equivalents.\n *\n * @param metadata OpenIdConfigResponse\n * @param azureRegion string\n */\n static replaceWithRegionalInformation(metadata: OpenIdConfigResponse, azureRegion: string): OpenIdConfigResponse {\n metadata.authorization_endpoint = Authority.buildRegionalAuthorityString(metadata.authorization_endpoint, azureRegion);\n // TODO: Enquire on whether we should leave the query string or remove it before releasing the feature\n metadata.token_endpoint = Authority.buildRegionalAuthorityString(\n metadata.token_endpoint, azureRegion, Constants.REGIONAL_AUTH_NON_MSI_QUERY_STRING\n );\n\n if (metadata.end_session_endpoint) {\n metadata.end_session_endpoint = Authority.buildRegionalAuthorityString(metadata.end_session_endpoint, azureRegion);\n }\n\n return metadata;\n }\n}\n\n","/*\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport { CloudDiscoveryMetadata } from \"./CloudDiscoveryMetadata\";\n\n/**\n * The OpenID Configuration Endpoint Response type. Used by the authority class to get relevant OAuth endpoints.\n */\nexport type CloudInstanceDiscoveryResponse = {\n tenant_discovery_endpoint: string;\n metadata: Array;\n};\n\nexport function isCloudInstanceDiscoveryResponse(response: object): boolean {\n return (\n response.hasOwnProperty(\"tenant_discovery_endpoint\") &&\n response.hasOwnProperty(\"metadata\")\n );\n}\n","/*\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport { Authority } from \"./Authority\";\nimport { ClientConfigurationError } from \"../error/ClientConfigurationError\";\nimport { INetworkModule } from \"../network/INetworkModule\";\nimport { StringUtils } from \"../utils/StringUtils\";\nimport { ClientAuthError } from \"../error/ClientAuthError\";\nimport { ICacheManager } from \"../cache/interface/ICacheManager\";\nimport { AuthorityOptions } from \"./AuthorityOptions\";\n\nexport class AuthorityFactory {\n\n /**\n * Create an authority object of the correct type based on the url\n * Performs basic authority validation - checks to see if the authority is of a valid type (i.e. aad, b2c, adfs)\n *\n * Also performs endpoint discovery.\n *\n * @param authorityUri\n * @param networkClient\n * @param protocolMode\n */\n static async createDiscoveredInstance(\n authorityUri: string,\n networkClient: INetworkModule,\n cacheManager: ICacheManager,\n authorityOptions: AuthorityOptions,\n proxyUrl?: string\n ): Promise {\n // Initialize authority and perform discovery endpoint check.\n const acquireTokenAuthority: Authority = AuthorityFactory.createInstance(\n authorityUri,\n networkClient,\n cacheManager,\n authorityOptions,\n proxyUrl\n );\n\n try {\n await acquireTokenAuthority.resolveEndpointsAsync();\n return acquireTokenAuthority;\n } catch (e) {\n throw ClientAuthError.createEndpointDiscoveryIncompleteError(e);\n }\n }\n\n /**\n * Create an authority object of the correct type based on the url\n * Performs basic authority validation - checks to see if the authority is of a valid type (i.e. aad, b2c, adfs)\n *\n * Does not perform endpoint discovery.\n *\n * @param authorityUrl\n * @param networkInterface\n * @param protocolMode\n */\n static createInstance(\n authorityUrl: string,\n networkInterface: INetworkModule,\n cacheManager: ICacheManager,\n authorityOptions: AuthorityOptions,\n proxyUrl?: string\n ): Authority {\n // Throw error if authority url is empty\n if (StringUtils.isEmpty(authorityUrl)) {\n throw ClientConfigurationError.createUrlEmptyError();\n }\n\n return new Authority(authorityUrl, networkInterface, cacheManager, authorityOptions, proxyUrl);\n }\n}\n","/*\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport { SERVER_TELEM_CONSTANTS, Separators, CacheOutcome, Constants, RegionDiscoverySources, RegionDiscoveryOutcomes } from \"../../utils/Constants\";\nimport { CacheManager } from \"../../cache/CacheManager\";\nimport { AuthError } from \"../../error/AuthError\";\nimport { ServerTelemetryRequest } from \"./ServerTelemetryRequest\";\nimport { ServerTelemetryEntity } from \"../../cache/entities/ServerTelemetryEntity\";\nimport { StringUtils } from \"../../utils/StringUtils\";\nimport { RegionDiscoveryMetadata } from \"../../authority/RegionDiscoveryMetadata\";\n\nexport class ServerTelemetryManager {\n private cacheManager: CacheManager;\n private apiId: number;\n private correlationId: string;\n private telemetryCacheKey: string;\n private wrapperSKU: String;\n private wrapperVer: String;\n private regionUsed: string | undefined;\n private regionSource: RegionDiscoverySources | undefined;\n private regionOutcome: RegionDiscoveryOutcomes | undefined;\n private cacheOutcome: CacheOutcome = CacheOutcome.NO_CACHE_HIT;\n\n constructor(telemetryRequest: ServerTelemetryRequest, cacheManager: CacheManager) {\n this.cacheManager = cacheManager;\n this.apiId = telemetryRequest.apiId;\n this.correlationId = telemetryRequest.correlationId;\n this.wrapperSKU = telemetryRequest.wrapperSKU || Constants.EMPTY_STRING;\n this.wrapperVer = telemetryRequest.wrapperVer || Constants.EMPTY_STRING;\n\n this.telemetryCacheKey = SERVER_TELEM_CONSTANTS.CACHE_KEY + Separators.CACHE_KEY_SEPARATOR + telemetryRequest.clientId;\n }\n\n /**\n * API to add MSER Telemetry to request\n */\n generateCurrentRequestHeaderValue(): string {\n const request = `${this.apiId}${SERVER_TELEM_CONSTANTS.VALUE_SEPARATOR}${this.cacheOutcome}`;\n const platformFields = [this.wrapperSKU, this.wrapperVer].join(SERVER_TELEM_CONSTANTS.VALUE_SEPARATOR);\n const regionDiscoveryFields = this.getRegionDiscoveryFields();\n const requestWithRegionDiscoveryFields = [request, regionDiscoveryFields].join(SERVER_TELEM_CONSTANTS.VALUE_SEPARATOR);\n\n return [SERVER_TELEM_CONSTANTS.SCHEMA_VERSION, requestWithRegionDiscoveryFields, platformFields].join(SERVER_TELEM_CONSTANTS.CATEGORY_SEPARATOR);\n }\n\n /**\n * API to add MSER Telemetry for the last failed request\n */\n generateLastRequestHeaderValue(): string {\n const lastRequests = this.getLastRequests();\n\n const maxErrors = ServerTelemetryManager.maxErrorsToSend(lastRequests);\n const failedRequests = lastRequests.failedRequests.slice(0, 2*maxErrors).join(SERVER_TELEM_CONSTANTS.VALUE_SEPARATOR);\n const errors = lastRequests.errors.slice(0, maxErrors).join(SERVER_TELEM_CONSTANTS.VALUE_SEPARATOR);\n const errorCount = lastRequests.errors.length;\n\n // Indicate whether this header contains all data or partial data\n const overflow = maxErrors < errorCount ? SERVER_TELEM_CONSTANTS.OVERFLOW_TRUE : SERVER_TELEM_CONSTANTS.OVERFLOW_FALSE;\n const platformFields = [errorCount, overflow].join(SERVER_TELEM_CONSTANTS.VALUE_SEPARATOR);\n\n return [SERVER_TELEM_CONSTANTS.SCHEMA_VERSION, lastRequests.cacheHits, failedRequests, errors, platformFields].join(SERVER_TELEM_CONSTANTS.CATEGORY_SEPARATOR);\n }\n\n /**\n * API to cache token failures for MSER data capture\n * @param error\n */\n cacheFailedRequest(error: AuthError): void {\n const lastRequests = this.getLastRequests();\n if (lastRequests.errors.length >= SERVER_TELEM_CONSTANTS.MAX_CACHED_ERRORS) {\n // Remove a cached error to make room, first in first out\n lastRequests.failedRequests.shift(); // apiId\n lastRequests.failedRequests.shift(); // correlationId\n lastRequests.errors.shift();\n }\n \n lastRequests.failedRequests.push(this.apiId, this.correlationId);\n\n if (!StringUtils.isEmpty(error.subError)) {\n lastRequests.errors.push(error.subError);\n } else if (!StringUtils.isEmpty(error.errorCode)) {\n lastRequests.errors.push(error.errorCode);\n } else if (!!error && error.toString()) {\n lastRequests.errors.push(error.toString());\n } else {\n lastRequests.errors.push(SERVER_TELEM_CONSTANTS.UNKNOWN_ERROR);\n }\n\n this.cacheManager.setServerTelemetry(this.telemetryCacheKey, lastRequests);\n\n return;\n }\n\n /**\n * Update server telemetry cache entry by incrementing cache hit counter\n */\n incrementCacheHits(): number {\n const lastRequests = this.getLastRequests();\n lastRequests.cacheHits += 1;\n\n this.cacheManager.setServerTelemetry(this.telemetryCacheKey, lastRequests);\n return lastRequests.cacheHits;\n }\n\n /**\n * Get the server telemetry entity from cache or initialize a new one\n */\n getLastRequests(): ServerTelemetryEntity {\n const initialValue: ServerTelemetryEntity = new ServerTelemetryEntity();\n const lastRequests = this.cacheManager.getServerTelemetry(this.telemetryCacheKey) as ServerTelemetryEntity;\n\n return lastRequests || initialValue;\n }\n\n /**\n * Remove server telemetry cache entry\n */\n clearTelemetryCache(): void {\n const lastRequests = this.getLastRequests();\n const numErrorsFlushed = ServerTelemetryManager.maxErrorsToSend(lastRequests);\n const errorCount = lastRequests.errors.length;\n if (numErrorsFlushed === errorCount) {\n // All errors were sent on last request, clear Telemetry cache\n this.cacheManager.removeItem(this.telemetryCacheKey);\n } else {\n // Partial data was flushed to server, construct a new telemetry cache item with errors that were not flushed\n const serverTelemEntity = new ServerTelemetryEntity();\n serverTelemEntity.failedRequests = lastRequests.failedRequests.slice(numErrorsFlushed*2); // failedRequests contains 2 items for each error\n serverTelemEntity.errors = lastRequests.errors.slice(numErrorsFlushed);\n\n this.cacheManager.setServerTelemetry(this.telemetryCacheKey, serverTelemEntity);\n }\n }\n\n /**\n * Returns the maximum number of errors that can be flushed to the server in the next network request\n * @param serverTelemetryEntity\n */\n static maxErrorsToSend(serverTelemetryEntity: ServerTelemetryEntity): number {\n let i;\n let maxErrors = 0;\n let dataSize = 0;\n const errorCount = serverTelemetryEntity.errors.length;\n for (i = 0; i < errorCount; i++) {\n // failedRequests parameter contains pairs of apiId and correlationId, multiply index by 2 to preserve pairs\n const apiId = serverTelemetryEntity.failedRequests[2*i] || Constants.EMPTY_STRING;\n const correlationId = serverTelemetryEntity.failedRequests[2*i + 1] || Constants.EMPTY_STRING;\n const errorCode = serverTelemetryEntity.errors[i] || Constants.EMPTY_STRING;\n\n // Count number of characters that would be added to header, each character is 1 byte. Add 3 at the end to account for separators\n dataSize += apiId.toString().length + correlationId.toString().length + errorCode.length + 3;\n\n if (dataSize < SERVER_TELEM_CONSTANTS.MAX_LAST_HEADER_BYTES) {\n // Adding this entry to the header would still keep header size below the limit\n maxErrors += 1;\n } else {\n break;\n }\n }\n\n return maxErrors;\n }\n\n /**\n * Get the region discovery fields\n * \n * @returns string\n */\n getRegionDiscoveryFields(): string {\n const regionDiscoveryFields: string[] = [];\n\n regionDiscoveryFields.push(this.regionUsed || Constants.EMPTY_STRING);\n regionDiscoveryFields.push(this.regionSource || Constants.EMPTY_STRING);\n regionDiscoveryFields.push(this.regionOutcome || Constants.EMPTY_STRING);\n\n return regionDiscoveryFields.join(\",\");\n }\n\n /**\n * Update the region discovery metadata\n * \n * @param regionDiscoveryMetadata\n * @returns void\n */\n updateRegionDiscoveryMetadata(regionDiscoveryMetadata: RegionDiscoveryMetadata): void {\n this.regionUsed = regionDiscoveryMetadata.region_used;\n this.regionSource = regionDiscoveryMetadata.region_source;\n this.regionOutcome = regionDiscoveryMetadata.region_outcome;\n }\n\n /**\n * Set cache outcome \n */\n setCacheOutcome(cacheOutcome: CacheOutcome): void {\n this.cacheOutcome = cacheOutcome;\n }\n}\n","/*\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport { ICrypto, INetworkModule, Logger, AuthenticationResult, AccountInfo, AccountEntity, BaseAuthRequest, AuthenticationScheme, UrlString, ServerTelemetryManager, ServerTelemetryRequest, ClientConfigurationError, StringUtils, Authority, AuthorityOptions, AuthorityFactory, IPerformanceClient } from \"@azure/msal-common\";\nimport { BrowserConfiguration } from \"../config/Configuration\";\nimport { BrowserCacheManager } from \"../cache/BrowserCacheManager\";\nimport { EventHandler } from \"../event/EventHandler\";\nimport { EndSessionRequest } from \"../request/EndSessionRequest\";\nimport { RedirectRequest } from \"../request/RedirectRequest\";\nimport { PopupRequest } from \"../request/PopupRequest\";\nimport { SsoSilentRequest } from \"../request/SsoSilentRequest\";\nimport { version } from \"../packageMetadata\";\nimport { BrowserConstants } from \"../utils/BrowserConstants\";\nimport { BrowserUtils } from \"../utils/BrowserUtils\";\nimport { INavigationClient } from \"../navigation/INavigationClient\";\nimport { NativeMessageHandler } from \"../broker/nativeBroker/NativeMessageHandler\";\n\nexport abstract class BaseInteractionClient {\n\n protected config: BrowserConfiguration;\n protected browserStorage: BrowserCacheManager;\n protected browserCrypto: ICrypto;\n protected networkClient: INetworkModule;\n protected logger: Logger;\n protected eventHandler: EventHandler;\n protected navigationClient: INavigationClient;\n protected nativeMessageHandler: NativeMessageHandler | undefined;\n protected correlationId: string;\n protected performanceClient: IPerformanceClient;\n\n constructor(config: BrowserConfiguration, storageImpl: BrowserCacheManager, browserCrypto: ICrypto, logger: Logger, eventHandler: EventHandler, navigationClient: INavigationClient, performanceClient: IPerformanceClient, nativeMessageHandler?: NativeMessageHandler, correlationId?: string) {\n this.config = config;\n this.browserStorage = storageImpl;\n this.browserCrypto = browserCrypto;\n this.networkClient = this.config.system.networkClient;\n this.eventHandler = eventHandler;\n this.navigationClient = navigationClient;\n this.nativeMessageHandler = nativeMessageHandler;\n this.correlationId = correlationId || this.browserCrypto.createNewGuid();\n this.logger = logger.clone(BrowserConstants.MSAL_SKU, version, this.correlationId);\n this.performanceClient = performanceClient;\n }\n\n abstract acquireToken(request: RedirectRequest|PopupRequest|SsoSilentRequest): Promise;\n\n abstract logout(request: EndSessionRequest): Promise;\n\n protected async clearCacheOnLogout(account?: AccountInfo| null): Promise {\n if (account) {\n if (AccountEntity.accountInfoIsEqual(account, this.browserStorage.getActiveAccount(), false)) {\n this.logger.verbose(\"Setting active account to null\");\n this.browserStorage.setActiveAccount(null);\n }\n // Clear given account.\n try {\n await this.browserStorage.removeAccount(AccountEntity.generateAccountCacheKey(account));\n this.logger.verbose(\"Cleared cache items belonging to the account provided in the logout request.\");\n } catch (error) {\n this.logger.error(\"Account provided in logout request was not found. Local cache unchanged.\");\n }\n } else {\n try {\n this.logger.verbose(\"No account provided in logout request, clearing all cache items.\", this.correlationId);\n // Clear all accounts and tokens\n await this.browserStorage.clear();\n // Clear any stray keys from IndexedDB\n await this.browserCrypto.clearKeystore();\n } catch(e) {\n this.logger.error(\"Attempted to clear all MSAL cache items and failed. Local cache unchanged.\");\n }\n }\n }\n\n /**\n * Initializer function for all request APIs\n * @param request\n */\n protected async initializeBaseRequest(request: Partial): Promise {\n this.logger.verbose(\"Initializing BaseAuthRequest\");\n const authority = request.authority || this.config.auth.authority;\n\n const scopes = [...((request && request.scopes) || [])];\n\n const validatedRequest: BaseAuthRequest = {\n ...request,\n correlationId: this.correlationId,\n authority,\n scopes\n };\n\n // Set authenticationScheme to BEARER if not explicitly set in the request\n if (!validatedRequest.authenticationScheme) {\n validatedRequest.authenticationScheme = AuthenticationScheme.BEARER;\n this.logger.verbose(\"Authentication Scheme wasn't explicitly set in request, defaulting to \\\"Bearer\\\" request\");\n } else {\n if (validatedRequest.authenticationScheme === AuthenticationScheme.SSH) {\n if (!request.sshJwk) {\n throw ClientConfigurationError.createMissingSshJwkError();\n }\n if(!request.sshKid) {\n throw ClientConfigurationError.createMissingSshKidError();\n }\n }\n this.logger.verbose(`Authentication Scheme set to \"${validatedRequest.authenticationScheme}\" as configured in Auth request`);\n }\n\n // Set requested claims hash if claims were requested\n if (request.claims && !StringUtils.isEmpty(request.claims)) {\n validatedRequest.requestedClaimsHash = await this.browserCrypto.hashString(request.claims);\n }\n\n return validatedRequest;\n }\n\n /**\n *\n * Use to get the redirect uri configured in MSAL or null.\n * @param requestRedirectUri\n * @returns Redirect URL\n *\n */\n getRedirectUri(requestRedirectUri?: string): string {\n this.logger.verbose(\"getRedirectUri called\");\n const redirectUri = requestRedirectUri || this.config.auth.redirectUri || BrowserUtils.getCurrentUri();\n return UrlString.getAbsoluteUrl(redirectUri, BrowserUtils.getCurrentUri());\n }\n\n /**\n *\n * @param apiId\n * @param correlationId\n * @param forceRefresh\n */\n protected initializeServerTelemetryManager(apiId: number, forceRefresh?: boolean): ServerTelemetryManager {\n this.logger.verbose(\"initializeServerTelemetryManager called\");\n const telemetryPayload: ServerTelemetryRequest = {\n clientId: this.config.auth.clientId,\n correlationId: this.correlationId,\n apiId: apiId,\n forceRefresh: forceRefresh || false,\n wrapperSKU: this.browserStorage.getWrapperMetadata()[0],\n wrapperVer: this.browserStorage.getWrapperMetadata()[1]\n };\n\n return new ServerTelemetryManager(telemetryPayload, this.browserStorage);\n }\n\n /**\n * Used to get a discovered version of the default authority.\n * @param requestAuthority\n * @param requestCorrelationId\n */\n protected async getDiscoveredAuthority(requestAuthority?: string): Promise {\n this.logger.verbose(\"getDiscoveredAuthority called\");\n const authorityOptions: AuthorityOptions = {\n protocolMode: this.config.auth.protocolMode,\n knownAuthorities: this.config.auth.knownAuthorities,\n cloudDiscoveryMetadata: this.config.auth.cloudDiscoveryMetadata,\n authorityMetadata: this.config.auth.authorityMetadata\n };\n\n if (requestAuthority) {\n this.logger.verbose(\"Creating discovered authority with request authority\");\n return await AuthorityFactory.createDiscoveredInstance(requestAuthority, this.config.system.networkClient, this.browserStorage, authorityOptions);\n }\n\n this.logger.verbose(\"Creating discovered authority with configured authority\");\n return await AuthorityFactory.createDiscoveredInstance(this.config.auth.authority, this.config.system.networkClient, this.browserStorage, authorityOptions);\n }\n}\n","/*\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport { ServerTelemetryManager, CommonAuthorizationCodeRequest, Constants, AuthorizationCodeClient, ClientConfiguration, AuthorityOptions, Authority, AuthorityFactory, ServerAuthorizationCodeResponse, UrlString, CommonEndSessionRequest, ProtocolUtils, ResponseMode, StringUtils, IdTokenClaims, AccountInfo, AzureCloudOptions, PerformanceEvents, AuthError } from \"@azure/msal-common\";\nimport { BaseInteractionClient } from \"./BaseInteractionClient\";\nimport { AuthorizationUrlRequest } from \"../request/AuthorizationUrlRequest\";\nimport { BrowserConstants, InteractionType } from \"../utils/BrowserConstants\";\nimport { version } from \"../packageMetadata\";\nimport { BrowserAuthError } from \"../error/BrowserAuthError\";\nimport { BrowserProtocolUtils, BrowserStateObject } from \"../utils/BrowserProtocolUtils\";\nimport { EndSessionRequest } from \"../request/EndSessionRequest\";\nimport { BrowserUtils } from \"../utils/BrowserUtils\";\nimport { RedirectRequest } from \"../request/RedirectRequest\";\nimport { PopupRequest } from \"../request/PopupRequest\";\nimport { SsoSilentRequest } from \"../request/SsoSilentRequest\";\n\n/**\n * Defines the class structure and helper functions used by the \"standard\", non-brokered auth flows (popup, redirect, silent (RT), silent (iframe))\n */\nexport abstract class StandardInteractionClient extends BaseInteractionClient {\n /**\n * Generates an auth code request tied to the url request.\n * @param request\n */\n protected async initializeAuthorizationCodeRequest(request: AuthorizationUrlRequest): Promise {\n this.logger.verbose(\"initializeAuthorizationRequest called\", request.correlationId);\n const generatedPkceParams = await this.browserCrypto.generatePkceCodes();\n\n const authCodeRequest: CommonAuthorizationCodeRequest = {\n ...request,\n redirectUri: request.redirectUri,\n code: Constants.EMPTY_STRING,\n codeVerifier: generatedPkceParams.verifier\n };\n\n request.codeChallenge = generatedPkceParams.challenge;\n request.codeChallengeMethod = Constants.S256_CODE_CHALLENGE_METHOD;\n\n return authCodeRequest;\n }\n\n /**\n * Initializer for the logout request.\n * @param logoutRequest\n */\n protected initializeLogoutRequest(logoutRequest?: EndSessionRequest): CommonEndSessionRequest {\n this.logger.verbose(\"initializeLogoutRequest called\", logoutRequest?.correlationId);\n\n const validLogoutRequest: CommonEndSessionRequest = {\n correlationId: this.correlationId || this.browserCrypto.createNewGuid(),\n ...logoutRequest\n };\n\n /**\n * Set logout_hint to be login_hint from ID Token Claims if present\n * and logoutHint attribute wasn't manually set in logout request\n */\n if (logoutRequest) {\n // If logoutHint isn't set and an account was passed in, try to extract logoutHint from ID Token Claims\n if (!logoutRequest.logoutHint) {\n if(logoutRequest.account) {\n const logoutHint = this.getLogoutHintFromIdTokenClaims(logoutRequest.account);\n if (logoutHint) {\n this.logger.verbose(\"Setting logoutHint to login_hint ID Token Claim value for the account provided\");\n validLogoutRequest.logoutHint = logoutHint;\n }\n } else {\n this.logger.verbose(\"logoutHint was not set and account was not passed into logout request, logoutHint will not be set\");\n }\n } else {\n this.logger.verbose(\"logoutHint has already been set in logoutRequest\");\n }\n } else {\n this.logger.verbose(\"logoutHint will not be set since no logout request was configured\");\n }\n\n /*\n * Only set redirect uri if logout request isn't provided or the set uri isn't null.\n * Otherwise, use passed uri, config, or current page.\n */\n if (!logoutRequest || logoutRequest.postLogoutRedirectUri !== null) {\n if (logoutRequest && logoutRequest.postLogoutRedirectUri) {\n this.logger.verbose(\"Setting postLogoutRedirectUri to uri set on logout request\", validLogoutRequest.correlationId);\n validLogoutRequest.postLogoutRedirectUri = UrlString.getAbsoluteUrl(logoutRequest.postLogoutRedirectUri, BrowserUtils.getCurrentUri());\n } else if (this.config.auth.postLogoutRedirectUri === null) {\n this.logger.verbose(\"postLogoutRedirectUri configured as null and no uri set on request, not passing post logout redirect\", validLogoutRequest.correlationId);\n } else if (this.config.auth.postLogoutRedirectUri) {\n this.logger.verbose(\"Setting postLogoutRedirectUri to configured uri\", validLogoutRequest.correlationId);\n validLogoutRequest.postLogoutRedirectUri = UrlString.getAbsoluteUrl(this.config.auth.postLogoutRedirectUri, BrowserUtils.getCurrentUri());\n } else {\n this.logger.verbose(\"Setting postLogoutRedirectUri to current page\", validLogoutRequest.correlationId);\n validLogoutRequest.postLogoutRedirectUri = UrlString.getAbsoluteUrl(BrowserUtils.getCurrentUri(), BrowserUtils.getCurrentUri());\n }\n } else {\n this.logger.verbose(\"postLogoutRedirectUri passed as null, not setting post logout redirect uri\", validLogoutRequest.correlationId);\n }\n\n return validLogoutRequest;\n }\n\n /**\n * Parses login_hint ID Token Claim out of AccountInfo object to be used as\n * logout_hint in end session request.\n * @param account\n */\n protected getLogoutHintFromIdTokenClaims(account: AccountInfo): string | null {\n const idTokenClaims: IdTokenClaims | undefined = account.idTokenClaims;\n if (idTokenClaims) {\n if (idTokenClaims.login_hint) {\n return idTokenClaims.login_hint;\n } else {\n this.logger.verbose(\"The ID Token Claims tied to the provided account do not contain a login_hint claim, logoutHint will not be added to logout request\");\n }\n } else {\n this.logger.verbose(\"The provided account does not contain ID Token Claims, logoutHint will not be added to logout request\");\n }\n\n return null;\n }\n\n /**\n * Creates an Authorization Code Client with the given authority, or the default authority.\n * @param serverTelemetryManager\n * @param authorityUrl\n */\n protected async createAuthCodeClient(serverTelemetryManager: ServerTelemetryManager, authorityUrl?: string, requestAzureCloudOptions?: AzureCloudOptions): Promise {\n // Create auth module.\n const clientConfig = await this.getClientConfiguration(serverTelemetryManager, authorityUrl, requestAzureCloudOptions);\n return new AuthorizationCodeClient(clientConfig);\n }\n\n /**\n * Creates a Client Configuration object with the given request authority, or the default authority.\n * @param serverTelemetryManager\n * @param requestAuthority\n * @param requestCorrelationId\n */\n protected async getClientConfiguration(serverTelemetryManager: ServerTelemetryManager, requestAuthority?: string, requestAzureCloudOptions?: AzureCloudOptions): Promise {\n this.logger.verbose(\"getClientConfiguration called\", this.correlationId);\n const discoveredAuthority = await this.getDiscoveredAuthority(requestAuthority, requestAzureCloudOptions);\n\n return {\n authOptions: {\n clientId: this.config.auth.clientId,\n authority: discoveredAuthority,\n clientCapabilities: this.config.auth.clientCapabilities\n },\n systemOptions: {\n tokenRenewalOffsetSeconds: this.config.system.tokenRenewalOffsetSeconds,\n preventCorsPreflight: true\n },\n loggerOptions: {\n loggerCallback: this.config.system.loggerOptions.loggerCallback,\n piiLoggingEnabled: this.config.system.loggerOptions.piiLoggingEnabled,\n logLevel: this.config.system.loggerOptions.logLevel,\n correlationId: this.correlationId\n },\n cryptoInterface: this.browserCrypto,\n networkInterface: this.networkClient,\n storageInterface: this.browserStorage,\n serverTelemetryManager: serverTelemetryManager,\n libraryInfo: {\n sku: BrowserConstants.MSAL_SKU,\n version: version,\n cpu: Constants.EMPTY_STRING,\n os: Constants.EMPTY_STRING\n },\n telemetry: this.config.telemetry\n };\n }\n\n /**\n * @param hash\n * @param interactionType\n */\n protected validateAndExtractStateFromHash(serverParams: ServerAuthorizationCodeResponse, interactionType: InteractionType, requestCorrelationId?: string): string {\n this.logger.verbose(\"validateAndExtractStateFromHash called\", requestCorrelationId);\n if (!serverParams.state) {\n throw BrowserAuthError.createHashDoesNotContainStateError();\n }\n\n const platformStateObj = BrowserProtocolUtils.extractBrowserRequestState(this.browserCrypto, serverParams.state);\n if (!platformStateObj) {\n throw BrowserAuthError.createUnableToParseStateError();\n }\n\n if (platformStateObj.interactionType !== interactionType) {\n throw BrowserAuthError.createStateInteractionTypeMismatchError();\n }\n\n this.logger.verbose(\"Returning state from hash\", requestCorrelationId);\n return serverParams.state;\n }\n\n /**\n * Used to get a discovered version of the default authority.\n * @param requestAuthority\n * @param requestCorrelationId\n */\n protected async getDiscoveredAuthority(requestAuthority?: string, requestAzureCloudOptions?: AzureCloudOptions): Promise {\n this.logger.verbose(\"getDiscoveredAuthority called\", this.correlationId);\n const getAuthorityMeasurement = this.performanceClient.startMeasurement(PerformanceEvents.StandardInteractionClientGetDiscoveredAuthority, this.correlationId);\n const authorityOptions: AuthorityOptions = {\n protocolMode: this.config.auth.protocolMode,\n knownAuthorities: this.config.auth.knownAuthorities,\n cloudDiscoveryMetadata: this.config.auth.cloudDiscoveryMetadata,\n authorityMetadata: this.config.auth.authorityMetadata,\n skipAuthorityMetadataCache: this.config.auth.skipAuthorityMetadataCache\n };\n\n // build authority string based on auth params, precedence - azureCloudInstance + tenant >> authority\n const userAuthority = requestAuthority ? requestAuthority : this.config.auth.authority;\n\n // fall back to the authority from config\n const builtAuthority = Authority.generateAuthority( userAuthority, requestAzureCloudOptions || this.config.auth.azureCloudOptions);\n this.logger.verbose(\"Creating discovered authority with configured authority\", this.correlationId);\n return await AuthorityFactory.createDiscoveredInstance(builtAuthority, this.config.system.networkClient, this.browserStorage, authorityOptions)\n .then((result: Authority) => {\n getAuthorityMeasurement.endMeasurement({\n success: true\n });\n\n return result;\n })\n .catch((error:AuthError) => {\n getAuthorityMeasurement.endMeasurement({\n errorCode: error.errorCode,\n subErrorCode: error.subError,\n success: false\n });\n\n throw error;\n });\n }\n\n /**\n * Helper to initialize required request parameters for interactive APIs and ssoSilent()\n * @param request\n * @param interactionType\n */\n protected async initializeAuthorizationRequest(request: RedirectRequest|PopupRequest|SsoSilentRequest, interactionType: InteractionType): Promise {\n this.logger.verbose(\"initializeAuthorizationRequest called\", this.correlationId);\n const redirectUri = this.getRedirectUri(request.redirectUri);\n const browserState: BrowserStateObject = {\n interactionType: interactionType\n };\n const state = ProtocolUtils.setRequestState(\n this.browserCrypto,\n (request && request.state)|| Constants.EMPTY_STRING,\n browserState\n );\n\n const validatedRequest: AuthorizationUrlRequest = {\n ...await this.initializeBaseRequest(request),\n redirectUri: redirectUri,\n state: state,\n nonce: request.nonce || this.browserCrypto.createNewGuid(),\n responseMode: ResponseMode.FRAGMENT\n };\n\n const account = request.account || this.browserStorage.getActiveAccount();\n if (account) {\n this.logger.verbose(\"Setting validated request account\", this.correlationId);\n this.logger.verbosePii(`Setting validated request account: ${account.homeAccountId}`, this.correlationId);\n validatedRequest.account = account;\n }\n\n // Check for ADAL/MSAL v1 SSO\n if (StringUtils.isEmpty(validatedRequest.loginHint) && !account) {\n const legacyLoginHint = this.browserStorage.getLegacyLoginHint();\n if (legacyLoginHint) {\n validatedRequest.loginHint = legacyLoginHint;\n }\n }\n\n return validatedRequest;\n }\n}\n","/*\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport { ClientConfiguration } from \"../config/ClientConfiguration\";\nimport { BaseClient } from \"./BaseClient\";\nimport { CommonRefreshTokenRequest } from \"../request/CommonRefreshTokenRequest\";\nimport { Authority } from \"../authority/Authority\";\nimport { ServerAuthorizationTokenResponse } from \"../response/ServerAuthorizationTokenResponse\";\nimport { RequestParameterBuilder } from \"../request/RequestParameterBuilder\";\nimport { GrantType, AuthenticationScheme, Errors, HeaderNames } from \"../utils/Constants\";\nimport { ResponseHandler } from \"../response/ResponseHandler\";\nimport { AuthenticationResult } from \"../response/AuthenticationResult\";\nimport { PopTokenGenerator } from \"../crypto/PopTokenGenerator\";\nimport { StringUtils } from \"../utils/StringUtils\";\nimport { RequestThumbprint } from \"../network/RequestThumbprint\";\nimport { NetworkResponse } from \"../network/NetworkManager\";\nimport { CommonSilentFlowRequest } from \"../request/CommonSilentFlowRequest\";\nimport { ClientConfigurationError } from \"../error/ClientConfigurationError\";\nimport { ClientAuthError } from \"../error/ClientAuthError\";\nimport { ServerError } from \"../error/ServerError\";\nimport { TimeUtils } from \"../utils/TimeUtils\";\nimport { UrlString } from \"../url/UrlString\";\nimport { CcsCredentialType } from \"../account/CcsCredential\";\nimport { buildClientInfoFromHomeAccountId } from \"../account/ClientInfo\";\nimport { InteractionRequiredAuthError, InteractionRequiredAuthErrorMessage } from \"../error/InteractionRequiredAuthError\";\nimport { PerformanceEvents } from \"../telemetry/performance/PerformanceEvent\";\nimport { IPerformanceClient } from \"../telemetry/performance/IPerformanceClient\";\n/**\n * OAuth2.0 refresh token client\n */\nexport class RefreshTokenClient extends BaseClient {\n constructor(configuration: ClientConfiguration, performanceClient?: IPerformanceClient) {\n super(configuration, performanceClient);\n\n }\n public async acquireToken(request: CommonRefreshTokenRequest): Promise {\n const atsMeasurement = this.performanceClient?.startMeasurement(PerformanceEvents.RefreshTokenClientAcquireToken, request.correlationId);\n this.logger.verbose(\"RefreshTokenClientAcquireToken called\", request.correlationId);\n const reqTimestamp = TimeUtils.nowSeconds();\n const response = await this.executeTokenRequest(request, this.authority);\n\n // Retrieve requestId from response headers\n const requestId = response.headers?.[HeaderNames.X_MS_REQUEST_ID];\n\n const responseHandler = new ResponseHandler(\n this.config.authOptions.clientId,\n this.cacheManager,\n this.cryptoUtils,\n this.logger,\n this.config.serializableCache,\n this.config.persistencePlugin\n );\n\n responseHandler.validateTokenResponse(response.body);\n\n return responseHandler.handleServerTokenResponse(\n response.body,\n this.authority,\n reqTimestamp,\n request,\n undefined,\n undefined,\n true,\n request.forceCache,\n requestId\n ).then((result: AuthenticationResult) => {\n atsMeasurement?.endMeasurement({\n success: true,\n refreshTokenSize: response.body.refresh_token?.length || 0\n });\n return result;\n })\n .catch((error) => {\n this.logger.verbose(\"Error in fetching refresh token\", request.correlationId);\n atsMeasurement?.endMeasurement({\n errorCode: error.errorCode,\n subErrorCode: error.subError,\n success: false,\n refreshTokenSize: undefined\n });\n throw error;\n });\n }\n\n /**\n * Gets cached refresh token and attaches to request, then calls acquireToken API\n * @param request\n */\n public async acquireTokenByRefreshToken(request: CommonSilentFlowRequest): Promise {\n // Cannot renew token if no request object is given.\n if (!request) {\n throw ClientConfigurationError.createEmptyTokenRequestError();\n }\n\n // We currently do not support silent flow for account === null use cases; This will be revisited for confidential flow usecases\n if (!request.account) {\n throw ClientAuthError.createNoAccountInSilentRequestError();\n }\n\n // try checking if FOCI is enabled for the given application\n const isFOCI = this.cacheManager.isAppMetadataFOCI(request.account.environment, this.config.authOptions.clientId);\n\n // if the app is part of the family, retrive a Family refresh token if present and make a refreshTokenRequest\n if (isFOCI) {\n try {\n return this.acquireTokenWithCachedRefreshToken(request, true);\n } catch (e) {\n const noFamilyRTInCache = e instanceof InteractionRequiredAuthError && e.errorCode === InteractionRequiredAuthErrorMessage.noTokensFoundError.code;\n const clientMismatchErrorWithFamilyRT = e instanceof ServerError && e.errorCode === Errors.INVALID_GRANT_ERROR && e.subError === Errors.CLIENT_MISMATCH_ERROR;\n\n // if family Refresh Token (FRT) cache acquisition fails or if client_mismatch error is seen with FRT, reattempt with application Refresh Token (ART)\n if (noFamilyRTInCache || clientMismatchErrorWithFamilyRT) {\n return this.acquireTokenWithCachedRefreshToken(request, false);\n // throw in all other cases\n } else {\n throw e;\n }\n }\n }\n // fall back to application refresh token acquisition\n return this.acquireTokenWithCachedRefreshToken(request, false);\n\n }\n\n /**\n * makes a network call to acquire tokens by exchanging RefreshToken available in userCache; throws if refresh token is not cached\n * @param request\n */\n private async acquireTokenWithCachedRefreshToken(request: CommonSilentFlowRequest, foci: boolean) {\n // fetches family RT or application RT based on FOCI value\n\n const atsMeasurement = this.performanceClient?.startMeasurement(PerformanceEvents.RefreshTokenClientAcquireTokenWithCachedRefreshToken, request.correlationId);\n this.logger.verbose(\"RefreshTokenClientAcquireTokenWithCachedRefreshToken called\", request.correlationId);\n const refreshToken = this.cacheManager.readRefreshTokenFromCache(this.config.authOptions.clientId, request.account, foci);\n\n if (!refreshToken) {\n atsMeasurement?.discardMeasurement();\n throw InteractionRequiredAuthError.createNoTokensFoundError();\n }\n // attach cached RT size to the current measurement\n atsMeasurement?.endMeasurement({\n success: true\n });\n\n const refreshTokenRequest: CommonRefreshTokenRequest = {\n ...request,\n refreshToken: refreshToken.secret,\n authenticationScheme: request.authenticationScheme || AuthenticationScheme.BEARER,\n ccsCredential: {\n credential: request.account.homeAccountId,\n type: CcsCredentialType.HOME_ACCOUNT_ID\n }\n };\n\n return this.acquireToken(refreshTokenRequest);\n }\n\n /**\n * Constructs the network message and makes a NW call to the underlying secure token service\n * @param request\n * @param authority\n */\n private async executeTokenRequest(request: CommonRefreshTokenRequest, authority: Authority)\n : Promise> {\n const acquireTokenMeasurement = this.performanceClient?.startMeasurement(PerformanceEvents.RefreshTokenClientExecuteTokenRequest, request.correlationId);\n const requestBody = await this.createTokenRequestBody(request);\n const queryParameters = this.createTokenQueryParameters(request);\n const headers: Record = this.createTokenRequestHeaders(request.ccsCredential);\n const thumbprint: RequestThumbprint = {\n clientId: this.config.authOptions.clientId,\n authority: authority.canonicalAuthority,\n scopes: request.scopes,\n claims: request.claims,\n authenticationScheme: request.authenticationScheme,\n resourceRequestMethod: request.resourceRequestMethod,\n resourceRequestUri: request.resourceRequestUri,\n shrClaims: request.shrClaims,\n sshKid: request.sshKid\n };\n\n const endpoint = UrlString.appendQueryString(authority.tokenEndpoint, queryParameters);\n return this.executePostToTokenEndpoint(endpoint, requestBody, headers, thumbprint)\n .then((result) => {\n acquireTokenMeasurement?.endMeasurement({\n success: true\n });\n return result;\n })\n .catch((error) => {\n acquireTokenMeasurement?.endMeasurement({\n success: false\n });\n throw error;\n });\n }\n\n /**\n * Creates query string for the /token request\n * @param request\n */\n private createTokenQueryParameters(request: CommonRefreshTokenRequest): string {\n const parameterBuilder = new RequestParameterBuilder();\n\n if (request.tokenQueryParameters) {\n parameterBuilder.addExtraQueryParameters(request.tokenQueryParameters);\n }\n\n return parameterBuilder.createQueryString();\n }\n\n /**\n * Helper function to create the token request body\n * @param request\n */\n private async createTokenRequestBody(request: CommonRefreshTokenRequest): Promise {\n const correlationId = request.correlationId;\n const acquireTokenMeasurement = this.performanceClient?.startMeasurement(PerformanceEvents.BaseClientCreateTokenRequestHeaders, correlationId);\n const parameterBuilder = new RequestParameterBuilder();\n\n parameterBuilder.addClientId(this.config.authOptions.clientId);\n\n parameterBuilder.addScopes(request.scopes);\n\n parameterBuilder.addGrantType(GrantType.REFRESH_TOKEN_GRANT);\n\n parameterBuilder.addClientInfo();\n\n parameterBuilder.addLibraryInfo(this.config.libraryInfo);\n parameterBuilder.addApplicationTelemetry(this.config.telemetry.application);\n parameterBuilder.addThrottling();\n\n if (this.serverTelemetryManager) {\n parameterBuilder.addServerTelemetry(this.serverTelemetryManager);\n }\n\n parameterBuilder.addCorrelationId(correlationId);\n\n parameterBuilder.addRefreshToken(request.refreshToken);\n\n if (this.config.clientCredentials.clientSecret) {\n parameterBuilder.addClientSecret(this.config.clientCredentials.clientSecret);\n }\n\n if (this.config.clientCredentials.clientAssertion) {\n const clientAssertion = this.config.clientCredentials.clientAssertion;\n parameterBuilder.addClientAssertion(clientAssertion.assertion);\n parameterBuilder.addClientAssertionType(clientAssertion.assertionType);\n }\n\n if (request.authenticationScheme === AuthenticationScheme.POP) {\n const popTokenGenerator = new PopTokenGenerator(this.cryptoUtils);\n const reqCnfData = await popTokenGenerator.generateCnf(request);\n // SPA PoP requires full Base64Url encoded req_cnf string (unhashed)\n parameterBuilder.addPopToken(reqCnfData.reqCnfString);\n } else if (request.authenticationScheme === AuthenticationScheme.SSH) {\n if (request.sshJwk) {\n parameterBuilder.addSshJwk(request.sshJwk);\n } else {\n acquireTokenMeasurement?.endMeasurement({\n success: false\n });\n throw ClientConfigurationError.createMissingSshJwkError();\n }\n }\n\n if (!StringUtils.isEmptyObj(request.claims) || this.config.authOptions.clientCapabilities && this.config.authOptions.clientCapabilities.length > 0) {\n parameterBuilder.addClaims(request.claims, this.config.authOptions.clientCapabilities);\n }\n\n if (this.config.systemOptions.preventCorsPreflight && request.ccsCredential) {\n switch (request.ccsCredential.type) {\n case CcsCredentialType.HOME_ACCOUNT_ID:\n try {\n const clientInfo = buildClientInfoFromHomeAccountId(request.ccsCredential.credential);\n parameterBuilder.addCcsOid(clientInfo);\n } catch (e) {\n this.logger.verbose(\"Could not parse home account ID for CCS Header: \" + e);\n }\n break;\n case CcsCredentialType.UPN:\n parameterBuilder.addCcsUpn(request.ccsCredential.credential);\n break;\n }\n }\n acquireTokenMeasurement?.endMeasurement({\n success: true\n });\n return parameterBuilder.createQueryString();\n }\n}\n","/*\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport { BaseClient } from \"./BaseClient\";\nimport { ClientConfiguration } from \"../config/ClientConfiguration\";\nimport { CommonSilentFlowRequest } from \"../request/CommonSilentFlowRequest\";\nimport { AuthenticationResult } from \"../response/AuthenticationResult\";\nimport { AuthToken } from \"../account/AuthToken\";\nimport { TimeUtils } from \"../utils/TimeUtils\";\nimport { RefreshTokenClient } from \"./RefreshTokenClient\";\nimport { ClientAuthError, ClientAuthErrorMessage } from \"../error/ClientAuthError\";\nimport { ClientConfigurationError } from \"../error/ClientConfigurationError\";\nimport { ResponseHandler } from \"../response/ResponseHandler\";\nimport { CacheRecord } from \"../cache/entities/CacheRecord\";\nimport { CacheOutcome } from \"../utils/Constants\";\nimport { IPerformanceClient } from \"../telemetry/performance/IPerformanceClient\";\n\nexport class SilentFlowClient extends BaseClient {\n \n constructor(configuration: ClientConfiguration, performanceClient?: IPerformanceClient) {\n super(configuration,performanceClient);\n }\n \n /**\n * Retrieves a token from cache if it is still valid, or uses the cached refresh token to renew\n * the given token and returns the renewed token\n * @param request\n */\n async acquireToken(request: CommonSilentFlowRequest): Promise {\n try {\n return await this.acquireCachedToken(request);\n } catch (e) {\n if (e instanceof ClientAuthError && e.errorCode === ClientAuthErrorMessage.tokenRefreshRequired.code) {\n const refreshTokenClient = new RefreshTokenClient(this.config, this.performanceClient);\n return refreshTokenClient.acquireTokenByRefreshToken(request);\n } else {\n throw e;\n }\n }\n }\n \n /**\n * Retrieves token from cache or throws an error if it must be refreshed.\n * @param request\n */\n async acquireCachedToken(request: CommonSilentFlowRequest): Promise {\n // Cannot renew token if no request object is given.\n if (!request) {\n throw ClientConfigurationError.createEmptyTokenRequestError();\n }\n\n if (request.forceRefresh) {\n // Must refresh due to present force_refresh flag.\n this.serverTelemetryManager?.setCacheOutcome(CacheOutcome.FORCE_REFRESH);\n this.logger.info(\"SilentFlowClient:acquireCachedToken - Skipping cache because forceRefresh is true.\");\n throw ClientAuthError.createRefreshRequiredError();\n }\n\n // We currently do not support silent flow for account === null use cases; This will be revisited for confidential flow usecases\n if (!request.account) {\n throw ClientAuthError.createNoAccountInSilentRequestError();\n }\n\n const environment = request.authority || this.authority.getPreferredCache();\n\n const cacheRecord = this.cacheManager.readCacheRecord(request.account, this.config.authOptions.clientId, request, environment);\n\n if (!cacheRecord.accessToken) {\n // Must refresh due to non-existent access_token.\n this.serverTelemetryManager?.setCacheOutcome(CacheOutcome.NO_CACHED_ACCESS_TOKEN);\n this.logger.info(\"SilentFlowClient:acquireCachedToken - No access token found in cache for the given properties.\");\n throw ClientAuthError.createRefreshRequiredError();\n } else if (\n TimeUtils.wasClockTurnedBack(cacheRecord.accessToken.cachedAt) ||\n TimeUtils.isTokenExpired(cacheRecord.accessToken.expiresOn, this.config.systemOptions.tokenRenewalOffsetSeconds)\n ) {\n // Must refresh due to expired access_token.\n this.serverTelemetryManager?.setCacheOutcome(CacheOutcome.CACHED_ACCESS_TOKEN_EXPIRED);\n this.logger.info(`SilentFlowClient:acquireCachedToken - Cached access token is expired or will expire within ${this.config.systemOptions.tokenRenewalOffsetSeconds} seconds.`);\n throw ClientAuthError.createRefreshRequiredError();\n } else if (cacheRecord.accessToken.refreshOn && TimeUtils.isTokenExpired(cacheRecord.accessToken.refreshOn, 0)) {\n // Must refresh due to the refresh_in value.\n this.serverTelemetryManager?.setCacheOutcome(CacheOutcome.REFRESH_CACHED_ACCESS_TOKEN);\n this.logger.info(\"SilentFlowClient:acquireCachedToken - Cached access token's refreshOn property has been exceeded'.\");\n throw ClientAuthError.createRefreshRequiredError();\n }\n\n if (this.config.serverTelemetryManager) {\n this.config.serverTelemetryManager.incrementCacheHits();\n }\n\n return await this.generateResultFromCacheRecord(cacheRecord, request);\n }\n\n /**\n * Helper function to build response object from the CacheRecord\n * @param cacheRecord\n */\n private async generateResultFromCacheRecord(cacheRecord: CacheRecord, request: CommonSilentFlowRequest): Promise {\n let idTokenObj: AuthToken | undefined;\n if (cacheRecord.idToken) {\n idTokenObj = new AuthToken(cacheRecord.idToken.secret, this.config.cryptoInterface);\n }\n\n // token max_age check\n if (request.maxAge || (request.maxAge === 0)) {\n const authTime = idTokenObj?.claims.auth_time;\n if (!authTime) {\n throw ClientAuthError.createAuthTimeNotFoundError();\n }\n\n AuthToken.checkMaxAge(authTime, request.maxAge);\n }\n\n return await ResponseHandler.generateAuthenticationResult(\n this.cryptoUtils,\n this.authority,\n cacheRecord,\n true,\n request,\n idTokenObj\n );\n }\n}\n","/*\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport { StandardInteractionClient } from \"./StandardInteractionClient\";\nimport { CommonSilentFlowRequest, AuthenticationResult, SilentFlowClient, ServerTelemetryManager, AccountInfo, AzureCloudOptions, PerformanceEvents, AuthError } from \"@azure/msal-common\";\nimport { SilentRequest } from \"../request/SilentRequest\";\nimport { ApiId } from \"../utils/BrowserConstants\";\nimport { BrowserAuthError, BrowserAuthErrorMessage } from \"../error/BrowserAuthError\";\n\nexport class SilentCacheClient extends StandardInteractionClient {\n /**\n * Returns unexpired tokens from the cache, if available\n * @param silentRequest\n */\n async acquireToken(silentRequest: CommonSilentFlowRequest): Promise {\n const acquireTokenMeasurement = this.performanceClient.startMeasurement(PerformanceEvents.SilentCacheClientAcquireToken, silentRequest.correlationId);\n // Telemetry manager only used to increment cacheHits here\n const serverTelemetryManager = this.initializeServerTelemetryManager(ApiId.acquireTokenSilent_silentFlow);\n\n const silentAuthClient = await this.createSilentFlowClient(serverTelemetryManager, silentRequest.authority, silentRequest.azureCloudOptions);\n this.logger.verbose(\"Silent auth client created\");\n\n try {\n const cachedToken = await silentAuthClient.acquireCachedToken(silentRequest);\n\n acquireTokenMeasurement.endMeasurement({\n success: true,\n fromCache: true\n });\n return cachedToken;\n } catch (error) {\n if (error instanceof BrowserAuthError && error.errorCode === BrowserAuthErrorMessage.signingKeyNotFoundInStorage.code) {\n this.logger.verbose(\"Signing keypair for bound access token not found. Refreshing bound access token and generating a new crypto keypair.\");\n }\n acquireTokenMeasurement.endMeasurement({\n errorCode: error instanceof AuthError && error.errorCode || undefined,\n subErrorCode: error instanceof AuthError && error.subError || undefined,\n success: false\n });\n throw error;\n }\n }\n\n /**\n * Currently Unsupported\n */\n logout(): Promise {\n // Synchronous so we must reject\n return Promise.reject(BrowserAuthError.createSilentLogoutUnsupportedError());\n }\n\n /**\n * Creates an Silent Flow Client with the given authority, or the default authority.\n * @param serverTelemetryManager\n * @param authorityUrl\n */\n protected async createSilentFlowClient(serverTelemetryManager: ServerTelemetryManager, authorityUrl?: string, azureCloudOptions?: AzureCloudOptions): Promise {\n // Create auth module.\n const clientConfig = await this.getClientConfiguration(serverTelemetryManager, authorityUrl, azureCloudOptions);\n return new SilentFlowClient(clientConfig, this.performanceClient);\n }\n\n async initializeSilentRequest(request: SilentRequest, account: AccountInfo): Promise {\n return {\n ...request,\n ...await this.initializeBaseRequest(request),\n account: account,\n forceRefresh: request.forceRefresh || false\n };\n }\n}\n","/*\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport { AuthenticationResult, Logger, ICrypto, PromptValue, AuthToken, Constants, AccountEntity, AuthorityType, ScopeSet, TimeUtils, AuthenticationScheme, UrlString, OIDC_DEFAULT_SCOPES, PopTokenGenerator, SignedHttpRequestParameters, IPerformanceClient, PerformanceEvents, IdTokenEntity, AccessTokenEntity, ClientAuthError, AuthError, CommonSilentFlowRequest, AccountInfo } from \"@azure/msal-common\";\nimport { BaseInteractionClient } from \"./BaseInteractionClient\";\nimport { BrowserConfiguration } from \"../config/Configuration\";\nimport { BrowserCacheManager } from \"../cache/BrowserCacheManager\";\nimport { EventHandler } from \"../event/EventHandler\";\nimport { PopupRequest } from \"../request/PopupRequest\";\nimport { SilentRequest } from \"../request/SilentRequest\";\nimport { SsoSilentRequest } from \"../request/SsoSilentRequest\";\nimport { NativeMessageHandler } from \"../broker/nativeBroker/NativeMessageHandler\";\nimport { NativeExtensionMethod, ApiId, TemporaryCacheKeys, NativeConstants } from \"../utils/BrowserConstants\";\nimport { NativeExtensionRequestBody, NativeTokenRequest } from \"../broker/nativeBroker/NativeRequest\";\nimport { MATS, NativeResponse } from \"../broker/nativeBroker/NativeResponse\";\nimport { NativeAuthError } from \"../error/NativeAuthError\";\nimport { RedirectRequest } from \"../request/RedirectRequest\";\nimport { NavigationOptions } from \"../navigation/NavigationOptions\";\nimport { INavigationClient } from \"../navigation/INavigationClient\";\nimport { BrowserAuthError } from \"../error/BrowserAuthError\";\nimport { SilentCacheClient } from \"./SilentCacheClient\";\n\nexport class NativeInteractionClient extends BaseInteractionClient {\n protected apiId: ApiId;\n protected accountId: string;\n protected nativeMessageHandler: NativeMessageHandler;\n protected silentCacheClient: SilentCacheClient;\n protected nativeStorageManager: BrowserCacheManager;\n\n constructor(config: BrowserConfiguration, browserStorage: BrowserCacheManager, browserCrypto: ICrypto, logger: Logger, eventHandler: EventHandler, navigationClient: INavigationClient, apiId: ApiId, performanceClient: IPerformanceClient, provider: NativeMessageHandler, accountId: string, nativeStorageImpl: BrowserCacheManager, correlationId?: string) {\n super(config, browserStorage, browserCrypto, logger, eventHandler, navigationClient, performanceClient, provider, correlationId);\n this.apiId = apiId;\n this.accountId = accountId;\n this.nativeMessageHandler = provider;\n this.nativeStorageManager = nativeStorageImpl;\n this.silentCacheClient = new SilentCacheClient(config, this.nativeStorageManager, browserCrypto, logger, eventHandler, navigationClient, performanceClient, provider, correlationId);\n }\n\n /**\n * Acquire token from native platform via browser extension\n * @param request\n */\n async acquireToken(request: PopupRequest|SilentRequest|SsoSilentRequest): Promise {\n this.logger.trace(\"NativeInteractionClient - acquireToken called.\");\n\n // start the perf measurement\n const nativeATMeasurement = this.performanceClient.startMeasurement(PerformanceEvents.NativeInteractionClientAcquireToken, request.correlationId);\n const reqTimestamp = TimeUtils.nowSeconds();\n\n // initialize native request\n const nativeRequest = await this.initializeNativeRequest(request);\n\n // check if the tokens can be retrieved from internal cache\n try {\n const result = await this.acquireTokensFromCache(this.accountId, nativeRequest);\n nativeATMeasurement.endMeasurement({\n success: true,\n isNativeBroker: true,\n fromCache: true\n });\n return result;\n } catch (e) {\n // continue with a native call for any and all errors\n this.logger.info(\"MSAL internal Cache does not contain tokens, proceed to make a native call\");\n }\n\n // fall back to native calls\n const messageBody: NativeExtensionRequestBody = {\n method: NativeExtensionMethod.GetToken,\n request: nativeRequest\n };\n\n const response: object = await this.nativeMessageHandler.sendMessage(messageBody);\n const validatedResponse: NativeResponse = this.validateNativeResponse(response);\n\n return this.handleNativeResponse(validatedResponse, nativeRequest, reqTimestamp)\n .then((result: AuthenticationResult) => {\n nativeATMeasurement.endMeasurement({\n success: true,\n isNativeBroker: true,\n requestId: result.requestId\n });\n return result;\n })\n .catch((error: AuthError) => {\n nativeATMeasurement.endMeasurement({\n success: false,\n errorCode: error.errorCode,\n subErrorCode: error.subError,\n isNativeBroker: true\n });\n throw error;\n });\n }\n\n /**\n * Creates silent flow request\n * @param request\n * @param cachedAccount\n * @returns CommonSilentFlowRequest\n */\n private createSilentCacheRequest(request: NativeTokenRequest, cachedAccount: AccountInfo): CommonSilentFlowRequest {\n return {\n authority: request.authority,\n correlationId: this.correlationId,\n scopes: ScopeSet.fromString(request.scope).asArray(),\n account: cachedAccount,\n forceRefresh: false,\n };\n }\n\n /**\n * Fetches the tokens from the cache if un-expired\n * @param nativeAccountId\n * @param request\n * @returns authenticationResult\n */\n protected async acquireTokensFromCache(nativeAccountId: string, request: NativeTokenRequest): Promise {\n\n // fetch the account from in-memory cache\n const accountEntity = this.browserStorage.readAccountFromCacheWithNativeAccountId(nativeAccountId);\n if (!accountEntity) {\n throw ClientAuthError.createNoAccountFoundError();\n }\n const account = accountEntity.getAccountInfo();\n\n // leverage silent flow for cached tokens retrieval\n try {\n const silentRequest = this.createSilentCacheRequest(request, account);\n const result = await this.silentCacheClient.acquireToken(silentRequest);\n return result;\n } catch (e) {\n throw e;\n }\n }\n\n /**\n * Acquires a token from native platform then redirects to the redirectUri instead of returning the response\n * @param request\n */\n async acquireTokenRedirect(request: RedirectRequest): Promise {\n this.logger.trace(\"NativeInteractionClient - acquireTokenRedirect called.\");\n const nativeRequest = await this.initializeNativeRequest(request);\n\n const messageBody: NativeExtensionRequestBody = {\n method: NativeExtensionMethod.GetToken,\n request: nativeRequest\n };\n\n try {\n const response: object = await this.nativeMessageHandler.sendMessage(messageBody);\n this.validateNativeResponse(response);\n } catch (e) {\n // Only throw fatal errors here to allow application to fallback to regular redirect. Otherwise proceed and the error will be thrown in handleRedirectPromise\n if (e instanceof NativeAuthError && e.isFatal()) {\n throw e;\n }\n }\n this.browserStorage.setTemporaryCache(TemporaryCacheKeys.NATIVE_REQUEST, JSON.stringify(nativeRequest), true);\n\n const navigationOptions: NavigationOptions = {\n apiId: ApiId.acquireTokenRedirect,\n timeout: this.config.system.redirectNavigationTimeout,\n noHistory: false\n };\n const redirectUri = this.config.auth.navigateToLoginRequestUrl ? window.location.href : this.getRedirectUri(request.redirectUri);\n await this.navigationClient.navigateExternal(redirectUri, navigationOptions); // Need to treat this as external to ensure handleRedirectPromise is run again\n }\n\n /**\n * If the previous page called native platform for a token using redirect APIs, send the same request again and return the response\n */\n async handleRedirectPromise(): Promise {\n this.logger.trace(\"NativeInteractionClient - handleRedirectPromise called.\");\n if (!this.browserStorage.isInteractionInProgress(true)) {\n this.logger.info(\"handleRedirectPromise called but there is no interaction in progress, returning null.\");\n return null;\n }\n\n const cachedRequest = this.browserStorage.getCachedNativeRequest();\n if (!cachedRequest) {\n this.logger.verbose(\"NativeInteractionClient - handleRedirectPromise called but there is no cached request, returning null.\");\n return null;\n }\n\n this.browserStorage.removeItem(this.browserStorage.generateCacheKey(TemporaryCacheKeys.NATIVE_REQUEST));\n\n const messageBody: NativeExtensionRequestBody = {\n method: NativeExtensionMethod.GetToken,\n request: cachedRequest\n };\n\n const reqTimestamp = TimeUtils.nowSeconds();\n\n try {\n this.logger.verbose(\"NativeInteractionClient - handleRedirectPromise sending message to native broker.\");\n const response: object = await this.nativeMessageHandler.sendMessage(messageBody);\n this.validateNativeResponse(response);\n const result = this.handleNativeResponse(response as NativeResponse, cachedRequest, reqTimestamp);\n this.browserStorage.setInteractionInProgress(false);\n return result;\n } catch (e) {\n this.browserStorage.setInteractionInProgress(false);\n throw e;\n }\n }\n\n /**\n * Logout from native platform via browser extension\n * @param request\n */\n logout(): Promise {\n this.logger.trace(\"NativeInteractionClient - logout called.\");\n return Promise.reject(\"Logout not implemented yet\");\n }\n\n /**\n * Transform response from native platform into AuthenticationResult object which will be returned to the end user\n * @param response\n * @param request\n * @param reqTimestamp\n */\n protected async handleNativeResponse(response: NativeResponse, request: NativeTokenRequest, reqTimestamp: number): Promise {\n this.logger.trace(\"NativeInteractionClient - handleNativeResponse called.\");\n\n if (response.account.id !== request.accountId) {\n // User switch in native broker prompt is not supported. All users must first sign in through web flow to ensure server state is in sync\n throw NativeAuthError.createUserSwitchError();\n }\n\n // create an idToken object (not entity)\n const idTokenObj = new AuthToken(response.id_token || Constants.EMPTY_STRING, this.browserCrypto);\n\n // Get the preferred_cache domain for the given authority\n const authority = await this.getDiscoveredAuthority(request.authority);\n const authorityPreferredCache = authority.getPreferredCache();\n\n // Save account in browser storage\n const homeAccountIdentifier = AccountEntity.generateHomeAccountId(response.client_info || Constants.EMPTY_STRING, AuthorityType.Default, this.logger, this.browserCrypto, idTokenObj);\n const accountEntity = AccountEntity.createAccount(response.client_info, homeAccountIdentifier, idTokenObj, undefined, undefined, undefined, authorityPreferredCache, response.account.id);\n this.browserStorage.setAccount(accountEntity);\n\n // If scopes not returned in server response, use request scopes\n const responseScopes = response.scope ? ScopeSet.fromString(response.scope) : ScopeSet.fromString(request.scope);\n\n const accountProperties = response.account.properties || {};\n const uid = accountProperties[\"UID\"] || idTokenObj.claims.oid || idTokenObj.claims.sub || Constants.EMPTY_STRING;\n const tid = accountProperties[\"TenantId\"] || idTokenObj.claims.tid || Constants.EMPTY_STRING;\n\n // This code prioritizes SHR returned from the native layer. In case of error/SHR not calculated from WAM and the AT is still received, SHR is calculated locally\n let responseAccessToken;\n let responseTokenType: AuthenticationScheme = AuthenticationScheme.BEARER;\n switch (request.tokenType) {\n case AuthenticationScheme.POP: {\n // Set the token type to POP in the response\n responseTokenType = AuthenticationScheme.POP;\n\n // Check if native layer returned an SHR token\n if (response.shr) {\n this.logger.trace(\"handleNativeServerResponse: SHR is enabled in native layer\");\n responseAccessToken = response.shr;\n break;\n }\n\n // Generate SHR in msal js if WAM does not compute it when POP is enabled\n const popTokenGenerator: PopTokenGenerator = new PopTokenGenerator(this.browserCrypto);\n const shrParameters: SignedHttpRequestParameters = {\n resourceRequestMethod: request.resourceRequestMethod,\n resourceRequestUri: request.resourceRequestUri,\n shrClaims: request.shrClaims,\n shrNonce: request.shrNonce\n };\n\n /**\n * KeyID must be present in the native request from when the PoP key was generated in order for\n * PopTokenGenerator to query the full key for signing\n */\n if (!request.keyId) {\n throw ClientAuthError.createKeyIdMissingError();\n }\n\n responseAccessToken = await popTokenGenerator.signPopToken(response.access_token, request.keyId, shrParameters);\n break;\n\n }\n // assign the access token to the response for all non-POP cases (Should be Bearer only today)\n default: {\n responseAccessToken = response.access_token;\n }\n }\n\n const mats = this.getMATSFromResponse(response);\n\n const result: AuthenticationResult = {\n authority: authority.canonicalAuthority,\n uniqueId: uid,\n tenantId: tid,\n scopes: responseScopes.asArray(),\n account: accountEntity.getAccountInfo(),\n idToken: response.id_token,\n idTokenClaims: idTokenObj.claims,\n accessToken: responseAccessToken,\n fromCache: mats ? this.isResponseFromCache(mats) : false,\n expiresOn: new Date(Number(reqTimestamp + response.expires_in) * 1000),\n tokenType: responseTokenType,\n correlationId: this.correlationId,\n state: response.state,\n fromNativeBroker: true\n };\n\n // cache idToken in inmemory storage\n const idTokenEntity = IdTokenEntity.createIdTokenEntity(\n homeAccountIdentifier,\n request.authority,\n response.id_token || Constants.EMPTY_STRING,\n request.clientId,\n idTokenObj.claims.tid || Constants.EMPTY_STRING,\n );\n this.nativeStorageManager.setIdTokenCredential(idTokenEntity);\n\n // cache accessToken in inmemory storage\n const expiresIn: number = (responseTokenType === AuthenticationScheme.POP)\n ? Constants.SHR_NONCE_VALIDITY\n : (\n typeof response.expires_in === \"string\"\n ? parseInt(response.expires_in, 10)\n : response.expires_in\n ) || 0;\n const tokenExpirationSeconds = reqTimestamp + expiresIn;\n const accessTokenEntity = AccessTokenEntity.createAccessTokenEntity(\n homeAccountIdentifier,\n request.authority,\n responseAccessToken,\n request.clientId,\n tid,\n responseScopes.printScopes(),\n tokenExpirationSeconds,\n 0,\n this.browserCrypto\n );\n this.nativeStorageManager.setAccessTokenCredential(accessTokenEntity);\n\n // Remove any existing cached tokens for this account in browser storage\n this.browserStorage.removeAccountContext(accountEntity).catch((e) => {\n this.logger.error(`Error occurred while removing account context from browser storage. ${e}`);\n });\n\n return result;\n }\n\n /**\n * Validates native platform response before processing\n * @param response\n */\n private validateNativeResponse(response: object): NativeResponse {\n if (\n response.hasOwnProperty(\"access_token\") &&\n response.hasOwnProperty(\"id_token\") &&\n response.hasOwnProperty(\"client_info\") &&\n response.hasOwnProperty(\"account\") &&\n response.hasOwnProperty(\"scope\") &&\n response.hasOwnProperty(\"expires_in\")\n ) {\n return response as NativeResponse;\n } else {\n throw NativeAuthError.createUnexpectedError(\"Response missing expected properties.\");\n }\n }\n\n /**\n * Gets MATS telemetry from native response\n * @param response\n * @returns\n */\n private getMATSFromResponse(response: NativeResponse): MATS|null {\n if (response.properties.MATS) {\n try {\n return JSON.parse(response.properties.MATS);\n } catch (e) {\n this.logger.error(\"NativeInteractionClient - Error parsing MATS telemetry, returning null instead\");\n }\n }\n\n return null;\n }\n\n /**\n * Returns whether or not response came from native cache\n * @param response\n * @returns\n */\n private isResponseFromCache(mats: MATS): boolean {\n if (typeof mats.is_cached === \"undefined\") {\n this.logger.verbose(\"NativeInteractionClient - MATS telemetry does not contain field indicating if response was served from cache. Returning false.\");\n return false;\n }\n\n return !!mats.is_cached;\n }\n\n /**\n * Translates developer provided request object into NativeRequest object\n * @param request\n */\n protected async initializeNativeRequest(request: PopupRequest|SsoSilentRequest): Promise {\n this.logger.trace(\"NativeInteractionClient - initializeNativeRequest called\");\n\n const authority = request.authority || this.config.auth.authority;\n const canonicalAuthority = new UrlString(authority);\n canonicalAuthority.validateAsUri();\n\n // scopes are expected to be received by the native broker as \"scope\" and will be added to the request below. Other properties that should be dropped from the request to the native broker can be included in the object destructuring here.\n const { scopes, ...remainingProperties } = request; \n const scopeSet = new ScopeSet(scopes || []);\n scopeSet.appendScopes(OIDC_DEFAULT_SCOPES);\n\n const getPrompt = () => {\n // If request is silent, prompt is always none\n switch (this.apiId) {\n case ApiId.ssoSilent:\n case ApiId.acquireTokenSilent_silentFlow:\n this.logger.trace(\"initializeNativeRequest: silent request sets prompt to none\");\n return PromptValue.NONE;\n default:\n break;\n }\n\n // Prompt not provided, request may proceed and native broker decides if it needs to prompt\n if (!request.prompt) {\n this.logger.trace(\"initializeNativeRequest: prompt was not provided\");\n return undefined;\n }\n\n // If request is interactive, check if prompt provided is allowed to go directly to native broker\n switch (request.prompt) {\n case PromptValue.NONE:\n case PromptValue.CONSENT:\n case PromptValue.LOGIN:\n this.logger.trace(\"initializeNativeRequest: prompt is compatible with native flow\");\n return request.prompt;\n default:\n this.logger.trace(`initializeNativeRequest: prompt = ${request.prompt} is not compatible with native flow`);\n throw BrowserAuthError.createNativePromptParameterNotSupportedError();\n }\n };\n \n const validatedRequest: NativeTokenRequest = {\n ...remainingProperties,\n accountId: this.accountId,\n clientId: this.config.auth.clientId,\n authority: canonicalAuthority.urlString,\n scope: scopeSet.printScopes(),\n redirectUri: this.getRedirectUri(request.redirectUri),\n prompt: getPrompt(),\n correlationId: this.correlationId,\n tokenType: request.authenticationScheme,\n windowTitleSubstring: document.title,\n extraParameters: {\n ...request.extraQueryParameters,\n ...request.tokenQueryParameters,\n telemetry: NativeConstants.MATS_TELEMETRY\n },\n extendedExpiryToken: false // Make this configurable?\n };\n\n if (request.authenticationScheme === AuthenticationScheme.POP) {\n\n // add POP request type\n const shrParameters: SignedHttpRequestParameters = {\n resourceRequestUri: request.resourceRequestUri,\n resourceRequestMethod: request.resourceRequestMethod,\n shrClaims: request.shrClaims,\n shrNonce: request.shrNonce\n };\n\n const popTokenGenerator = new PopTokenGenerator(this.browserCrypto);\n const reqCnfData = await popTokenGenerator.generateCnf(shrParameters);\n\n // to reduce the URL length, it is recommended to send the hash of the req_cnf instead of the whole string\n validatedRequest.reqCnf = reqCnfData.reqCnfHash;\n validatedRequest.keyId = reqCnfData.kid;\n }\n\n return validatedRequest;\n }\n}\n","/*\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport { NativeConstants, NativeExtensionMethod } from \"../../utils/BrowserConstants\";\nimport { Logger, AuthError, AuthenticationScheme } from \"@azure/msal-common\";\nimport { NativeExtensionRequest, NativeExtensionRequestBody } from \"./NativeRequest\";\nimport { NativeAuthError } from \"../../error/NativeAuthError\";\nimport { BrowserAuthError } from \"../../error/BrowserAuthError\";\nimport { BrowserConfiguration } from \"../../config/Configuration\";\n\ntype ResponseResolvers = {\n resolve: (value:T|PromiseLike) => void;\n reject: (value:AuthError|Error|PromiseLike|PromiseLike) => void;\n};\n\nexport class NativeMessageHandler {\n private extensionId: string | undefined;\n private logger: Logger;\n private handshakeTimeoutMs: number;\n private responseId: number;\n private timeoutId: number | undefined;\n private resolvers: Map>;\n private handshakeResolvers: Map>;\n private messageChannel: MessageChannel;\n private windowListener: (event: MessageEvent) => void;\n\n constructor(logger: Logger, handshakeTimeoutMs: number, extensionId?: string) {\n this.logger = logger;\n this.handshakeTimeoutMs = handshakeTimeoutMs;\n this.extensionId = extensionId;\n this.resolvers = new Map(); // Used for non-handshake messages\n this.handshakeResolvers = new Map(); // Used for handshake messages\n this.responseId = 0;\n this.messageChannel = new MessageChannel();\n this.windowListener = this.onWindowMessage.bind(this); // Window event callback doesn't have access to 'this' unless it's bound\n }\n\n /**\n * Sends a given message to the extension and resolves with the extension response\n * @param body \n */\n async sendMessage(body: NativeExtensionRequestBody): Promise {\n this.logger.trace(\"NativeMessageHandler - sendMessage called.\");\n const req: NativeExtensionRequest = {\n channel: NativeConstants.CHANNEL_ID,\n extensionId: this.extensionId,\n responseId: this.responseId++,\n body: body\n };\n\n this.logger.trace(\"NativeMessageHandler - Sending request to browser extension\");\n this.logger.tracePii(`NativeMessageHandler - Sending request to browser extension: ${JSON.stringify(req)}`);\n this.messageChannel.port1.postMessage(req);\n\n return new Promise((resolve, reject) => {\n this.resolvers.set(req.responseId, {resolve, reject});\n });\n }\n\n /**\n * Returns an instance of the MessageHandler that has successfully established a connection with an extension\n * @param logger \n * @param handshakeTimeoutMs\n */\n static async createProvider(logger: Logger, handshakeTimeoutMs: number): Promise {\n logger.trace(\"NativeMessageHandler - createProvider called.\");\n try {\n const preferredProvider = new NativeMessageHandler(logger, handshakeTimeoutMs, NativeConstants.PREFERRED_EXTENSION_ID);\n await preferredProvider.sendHandshakeRequest();\n return preferredProvider;\n } catch (e) {\n // If preferred extension fails for whatever reason, fallback to using any installed extension\n const backupProvider = new NativeMessageHandler(logger, handshakeTimeoutMs);\n await backupProvider.sendHandshakeRequest();\n return backupProvider;\n }\n }\n\n /**\n * Send handshake request helper.\n */\n private async sendHandshakeRequest(): Promise {\n this.logger.trace(\"NativeMessageHandler - sendHandshakeRequest called.\");\n // Register this event listener before sending handshake\n window.addEventListener(\"message\", this.windowListener, false); // false is important, because content script message processing should work first\n\n const req: NativeExtensionRequest = {\n channel: NativeConstants.CHANNEL_ID,\n extensionId: this.extensionId,\n responseId: this.responseId++,\n\n body: {\n method: NativeExtensionMethod.HandshakeRequest\n }\n };\n\n this.messageChannel.port1.onmessage = (event) => {\n this.onChannelMessage(event);\n };\n\n window.postMessage(req, window.origin, [this.messageChannel.port2]);\n\n return new Promise((resolve, reject) => {\n this.handshakeResolvers.set(req.responseId, {resolve, reject});\n this.timeoutId = window.setTimeout(() => {\n /*\n * Throw an error if neither HandshakeResponse nor original Handshake request are received in a reasonable timeframe.\n * This typically suggests an event handler stopped propagation of the Handshake request but did not respond to it on the MessageChannel port\n */\n window.removeEventListener(\"message\", this.windowListener, false);\n this.messageChannel.port1.close();\n this.messageChannel.port2.close();\n reject(BrowserAuthError.createNativeHandshakeTimeoutError());\n this.handshakeResolvers.delete(req.responseId);\n }, this.handshakeTimeoutMs); // Use a reasonable timeout in milliseconds here\n });\n }\n\n /**\n * Invoked when a message is posted to the window. If a handshake request is received it means the extension is not installed.\n * @param event \n */\n private onWindowMessage(event: MessageEvent): void {\n this.logger.trace(\"NativeMessageHandler - onWindowMessage called\");\n // We only accept messages from ourselves\n if (event.source !== window) {\n return;\n }\n\n const request = event.data;\n\n if (!request.channel || request.channel !== NativeConstants.CHANNEL_ID) {\n return;\n }\n\n if (request.extensionId && request.extensionId !== this.extensionId) {\n return;\n }\n\n if (request.body.method === NativeExtensionMethod.HandshakeRequest) {\n // If we receive this message back it means no extension intercepted the request, meaning no extension supporting handshake protocol is installed\n this.logger.verbose(request.extensionId ? `Extension with id: ${request.extensionId} not installed` : \"No extension installed\");\n clearTimeout(this.timeoutId);\n this.messageChannel.port1.close();\n this.messageChannel.port2.close();\n window.removeEventListener(\"message\", this.windowListener, false);\n const handshakeResolver = this.handshakeResolvers.get(request.responseId);\n if (handshakeResolver) {\n handshakeResolver.reject(BrowserAuthError.createNativeExtensionNotInstalledError());\n }\n }\n }\n\n /**\n * Invoked when a message is received from the extension on the MessageChannel port\n * @param event \n */\n private onChannelMessage(event: MessageEvent): void {\n this.logger.trace(\"NativeMessageHandler - onChannelMessage called.\");\n const request = event.data;\n \n const resolver = this.resolvers.get(request.responseId);\n const handshakeResolver = this.handshakeResolvers.get(request.responseId);\n\n try {\n const method = request.body.method;\n \n if (method === NativeExtensionMethod.Response) {\n if (!resolver) {\n return;\n }\n const response = request.body.response;\n this.logger.trace(\"NativeMessageHandler - Received response from browser extension\");\n this.logger.tracePii(`NativeMessageHandler - Received response from browser extension: ${JSON.stringify(response)}`);\n if (response.status !== \"Success\") {\n resolver.reject(NativeAuthError.createError(response.code, response.description, response.ext));\n } else if (response.result) {\n if (response.result[\"code\"] && response.result[\"description\"]) {\n resolver.reject(NativeAuthError.createError(response.result[\"code\"], response.result[\"description\"], response.result[\"ext\"]));\n } else {\n resolver.resolve(response.result);\n }\n } else {\n throw AuthError.createUnexpectedError(\"Event does not contain result.\");\n }\n this.resolvers.delete(request.responseId);\n } else if (method === NativeExtensionMethod.HandshakeResponse) {\n if (!handshakeResolver) {\n return;\n }\n clearTimeout(this.timeoutId); // Clear setTimeout\n window.removeEventListener(\"message\", this.windowListener, false); // Remove 'No extension' listener\n this.extensionId = request.extensionId;\n this.logger.verbose(`NativeMessageHandler - Received HandshakeResponse from extension: ${this.extensionId}`);\n\n handshakeResolver.resolve();\n this.handshakeResolvers.delete(request.responseId);\n } \n // Do nothing if method is not Response or HandshakeResponse\n } catch (err) {\n this.logger.error(\"Error parsing response from WAM Extension\");\n this.logger.errorPii(`Error parsing response from WAM Extension: ${err.toString()}`);\n this.logger.errorPii(`Unable to parse ${event}`);\n\n if (resolver) {\n resolver.reject(err as AuthError);\n } else if (handshakeResolver) {\n handshakeResolver.reject(err as AuthError);\n }\n }\n }\n \n /**\n * Returns boolean indicating whether or not the request should attempt to use native broker\n * @param logger\n * @param config\n * @param nativeExtensionProvider\n * @param authenticationScheme \n */\n static isNativeAvailable(config: BrowserConfiguration, logger: Logger, nativeExtensionProvider?: NativeMessageHandler, authenticationScheme?: AuthenticationScheme): boolean {\n logger.trace(\"isNativeAvailable called\");\n if (!config.system.allowNativeBroker) {\n logger.trace(\"isNativeAvailable: allowNativeBroker is not enabled, returning false\");\n // Developer disabled WAM\n return false;\n }\n\n if (!nativeExtensionProvider) {\n logger.trace(\"isNativeAvailable: WAM extension provider is not initialized, returning false\");\n // Extension is not available\n return false;\n }\n\n if (authenticationScheme) {\n switch(authenticationScheme) {\n case AuthenticationScheme.BEARER:\n case AuthenticationScheme.POP:\n logger.trace(\"isNativeAvailable: authenticationScheme is supported, returning true\");\n return true;\n default:\n logger.trace(\"isNativeAvailable: authenticationScheme is not supported, returning false\");\n return false;\n }\n }\n\n return true;\n }\n} \n","/*\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport { AuthorizationCodePayload , StringUtils, CommonAuthorizationCodeRequest, AuthenticationResult, AuthorizationCodeClient, AuthorityFactory, Authority, INetworkModule, ClientAuthError, CcsCredential, Logger, ServerError } from \"@azure/msal-common\";\n\nimport { BrowserCacheManager } from \"../cache/BrowserCacheManager\";\nimport { BrowserAuthError, BrowserAuthErrorMessage } from \"../error/BrowserAuthError\";\nimport { TemporaryCacheKeys } from \"../utils/BrowserConstants\";\n\nexport type InteractionParams = {};\n\n/**\n * Abstract class which defines operations for a browser interaction handling class.\n */\nexport class InteractionHandler {\n\n protected authModule: AuthorizationCodeClient;\n protected browserStorage: BrowserCacheManager;\n protected authCodeRequest: CommonAuthorizationCodeRequest;\n protected logger: Logger;\n\n constructor(authCodeModule: AuthorizationCodeClient, storageImpl: BrowserCacheManager, authCodeRequest: CommonAuthorizationCodeRequest, logger: Logger) {\n this.authModule = authCodeModule;\n this.browserStorage = storageImpl;\n this.authCodeRequest = authCodeRequest;\n this.logger = logger;\n }\n\n /**\n * Function to handle response parameters from hash.\n * @param locationHash\n */\n async handleCodeResponseFromHash(locationHash: string, state: string, authority: Authority, networkModule: INetworkModule): Promise {\n this.logger.verbose(\"InteractionHandler.handleCodeResponse called\");\n // Check that location hash isn't empty.\n if (StringUtils.isEmpty(locationHash)) {\n throw BrowserAuthError.createEmptyHashError(locationHash);\n }\n\n // Handle code response.\n const stateKey = this.browserStorage.generateStateKey(state);\n const requestState = this.browserStorage.getTemporaryCache(stateKey);\n if (!requestState) {\n throw ClientAuthError.createStateNotFoundError(\"Cached State\");\n }\n\n let authCodeResponse;\n try {\n authCodeResponse = this.authModule.handleFragmentResponse(locationHash, requestState);\n } catch (e) {\n if (e instanceof ServerError && e.subError === BrowserAuthErrorMessage.userCancelledError.code) {\n // Translate server error caused by user closing native prompt to corresponding first class MSAL error\n throw BrowserAuthError.createUserCancelledError();\n } else {\n throw e;\n }\n }\n\n return this.handleCodeResponseFromServer(authCodeResponse, state, authority, networkModule);\n }\n\n /**\n * Process auth code response from AAD\n * @param authCodeResponse \n * @param state \n * @param authority \n * @param networkModule \n * @returns \n */\n async handleCodeResponseFromServer(authCodeResponse: AuthorizationCodePayload, state: string, authority: Authority, networkModule: INetworkModule, validateNonce: boolean = true): Promise {\n this.logger.trace(\"InteractionHandler.handleCodeResponseFromServer called\");\n\n // Handle code response.\n const stateKey = this.browserStorage.generateStateKey(state);\n const requestState = this.browserStorage.getTemporaryCache(stateKey);\n if (!requestState) {\n throw ClientAuthError.createStateNotFoundError(\"Cached State\");\n }\n \n // Get cached items\n const nonceKey = this.browserStorage.generateNonceKey(requestState);\n const cachedNonce = this.browserStorage.getTemporaryCache(nonceKey);\n\n // Assign code to request\n this.authCodeRequest.code = authCodeResponse.code;\n\n // Check for new cloud instance\n if (authCodeResponse.cloud_instance_host_name) {\n await this.updateTokenEndpointAuthority(authCodeResponse.cloud_instance_host_name, authority, networkModule);\n }\n\n // Nonce validation not needed when redirect not involved (e.g. hybrid spa, renewing token via rt)\n if (validateNonce) {\n authCodeResponse.nonce = cachedNonce || undefined;\n }\n \n authCodeResponse.state = requestState;\n\n // Add CCS parameters if available\n if (authCodeResponse.client_info) {\n this.authCodeRequest.clientInfo = authCodeResponse.client_info;\n } else {\n const cachedCcsCred = this.checkCcsCredentials();\n if (cachedCcsCred) {\n this.authCodeRequest.ccsCredential = cachedCcsCred;\n }\n }\n\n // Acquire token with retrieved code.\n const tokenResponse = await this.authModule.acquireToken(this.authCodeRequest, authCodeResponse);\n this.browserStorage.cleanRequestByState(state);\n return tokenResponse;\n }\n\n /**\n * Updates authority based on cloudInstanceHostname\n * @param cloudInstanceHostname \n * @param authority \n * @param networkModule \n */\n protected async updateTokenEndpointAuthority(cloudInstanceHostname: string, authority: Authority, networkModule: INetworkModule): Promise {\n const cloudInstanceAuthorityUri = `https://${cloudInstanceHostname}/${authority.tenant}/`;\n const cloudInstanceAuthority = await AuthorityFactory.createDiscoveredInstance(cloudInstanceAuthorityUri, networkModule, this.browserStorage, authority.options);\n this.authModule.updateAuthority(cloudInstanceAuthority);\n }\n\n /**\n * Looks up ccs creds in the cache\n */\n protected checkCcsCredentials(): CcsCredential | null {\n // Look up ccs credential in temp cache\n const cachedCcsCred = this.browserStorage.getTemporaryCache(TemporaryCacheKeys.CCS_CREDENTIAL, true);\n if (cachedCcsCred) {\n try {\n return JSON.parse(cachedCcsCred) as CcsCredential;\n } catch (e) {\n this.authModule.logger.error(\"Cache credential could not be parsed\");\n this.authModule.logger.errorPii(`Cache credential could not be parsed: ${cachedCcsCred}`);\n }\n }\n return null;\n }\n}\n","/*\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport { AuthenticationResult, CommonAuthorizationCodeRequest, AuthorizationCodeClient, ThrottlingUtils, CommonEndSessionRequest, UrlString, AuthError, OIDC_DEFAULT_SCOPES, Constants, ProtocolUtils, ServerAuthorizationCodeResponse, PerformanceEvents, StringUtils, IPerformanceClient, Logger, ICrypto } from \"@azure/msal-common\";\nimport { StandardInteractionClient } from \"./StandardInteractionClient\";\nimport { EventType } from \"../event/EventType\";\nimport { InteractionType, ApiId, BrowserConstants } from \"../utils/BrowserConstants\";\nimport { EndSessionPopupRequest } from \"../request/EndSessionPopupRequest\";\nimport { NavigationOptions } from \"../navigation/NavigationOptions\";\nimport { BrowserUtils } from \"../utils/BrowserUtils\";\nimport { PopupRequest } from \"../request/PopupRequest\";\nimport { NativeInteractionClient } from \"./NativeInteractionClient\";\nimport { NativeMessageHandler } from \"../broker/nativeBroker/NativeMessageHandler\";\nimport { BrowserAuthError } from \"../error/BrowserAuthError\";\nimport { INavigationClient } from \"../navigation/INavigationClient\";\nimport { EventHandler } from \"../event/EventHandler\";\nimport { BrowserCacheManager } from \"../cache/BrowserCacheManager\";\nimport { BrowserConfiguration } from \"../config/Configuration\";\nimport { InteractionHandler, InteractionParams } from \"../interaction_handler/InteractionHandler\";\nimport { PopupWindowAttributes } from \"../request/PopupWindowAttributes\";\n\nexport type PopupParams = InteractionParams & {\n popup?: Window|null;\n popupName: string;\n popupWindowAttributes: PopupWindowAttributes\n};\n\nexport class PopupClient extends StandardInteractionClient {\n private currentWindow: Window | undefined;\n protected nativeStorage: BrowserCacheManager;\n\n constructor(config: BrowserConfiguration, storageImpl: BrowserCacheManager, browserCrypto: ICrypto, logger: Logger, eventHandler: EventHandler, navigationClient: INavigationClient, performanceClient: IPerformanceClient, nativeStorageImpl: BrowserCacheManager, nativeMessageHandler?: NativeMessageHandler, correlationId?: string) {\n super(config, storageImpl, browserCrypto, logger, eventHandler, navigationClient, performanceClient, nativeMessageHandler, correlationId);\n // Properly sets this reference for the unload event.\n this.unloadWindow = this.unloadWindow.bind(this);\n this.nativeStorage = nativeStorageImpl;\n }\n\n /**\n * Acquires tokens by opening a popup window to the /authorize endpoint of the authority\n * @param request\n */\n acquireToken(request: PopupRequest): Promise {\n try {\n const popupName = this.generatePopupName(request.scopes || OIDC_DEFAULT_SCOPES, request.authority || this.config.auth.authority);\n const popupWindowAttributes = request.popupWindowAttributes || {};\n\n // asyncPopups flag is true. Acquires token without first opening popup. Popup will be opened later asynchronously.\n if (this.config.system.asyncPopups) {\n this.logger.verbose(\"asyncPopups set to true, acquiring token\");\n // Passes on popup position and dimensions if in request\n return this.acquireTokenPopupAsync(request, popupName, popupWindowAttributes);\n } else {\n // asyncPopups flag is set to false. Opens popup before acquiring token.\n this.logger.verbose(\"asyncPopup set to false, opening popup before acquiring token\");\n const popup = this.openSizedPopup(\"about:blank\", popupName, popupWindowAttributes);\n return this.acquireTokenPopupAsync(request, popupName, popupWindowAttributes, popup);\n }\n } catch (e) {\n return Promise.reject(e);\n }\n }\n\n /**\n * Clears local cache for the current user then opens a popup window prompting the user to sign-out of the server\n * @param logoutRequest\n */\n logout(logoutRequest?: EndSessionPopupRequest): Promise {\n try {\n this.logger.verbose(\"logoutPopup called\");\n const validLogoutRequest = this.initializeLogoutRequest(logoutRequest);\n\n const popupName = this.generateLogoutPopupName(validLogoutRequest);\n const authority = logoutRequest && logoutRequest.authority;\n const mainWindowRedirectUri = logoutRequest && logoutRequest.mainWindowRedirectUri;\n const popupWindowAttributes = logoutRequest?.popupWindowAttributes || {};\n\n // asyncPopups flag is true. Acquires token without first opening popup. Popup will be opened later asynchronously.\n if (this.config.system.asyncPopups) {\n this.logger.verbose(\"asyncPopups set to true\");\n // Passes on popup position and dimensions if in request\n return this.logoutPopupAsync(validLogoutRequest, popupName, popupWindowAttributes, authority, undefined, mainWindowRedirectUri);\n } else {\n // asyncPopups flag is set to false. Opens popup before logging out.\n this.logger.verbose(\"asyncPopup set to false, opening popup\");\n const popup = this.openSizedPopup(\"about:blank\", popupName, popupWindowAttributes);\n return this.logoutPopupAsync(validLogoutRequest, popupName, popupWindowAttributes, authority, popup, mainWindowRedirectUri);\n }\n } catch (e) {\n // Since this function is synchronous we need to reject\n return Promise.reject(e);\n }\n }\n\n /**\n * Helper which obtains an access_token for your API via opening a popup window in the user's browser\n * @param validRequest\n * @param popupName\n * @param popup\n * @param popupWindowAttributes\n *\n * @returns A promise that is fulfilled when this function has completed, or rejected if an error was raised.\n */\n protected async acquireTokenPopupAsync(request: PopupRequest, popupName: string, popupWindowAttributes: PopupWindowAttributes, popup?: Window|null): Promise {\n this.logger.verbose(\"acquireTokenPopupAsync called\");\n const serverTelemetryManager = this.initializeServerTelemetryManager(ApiId.acquireTokenPopup);\n const validRequest = await this.initializeAuthorizationRequest(request, InteractionType.Popup);\n this.browserStorage.updateCacheEntries(validRequest.state, validRequest.nonce, validRequest.authority, validRequest.loginHint || Constants.EMPTY_STRING, validRequest.account || null);\n\n try {\n // Create auth code request and generate PKCE params\n const authCodeRequest: CommonAuthorizationCodeRequest = await this.initializeAuthorizationCodeRequest(validRequest);\n\n // Initialize the client\n const authClient: AuthorizationCodeClient = await this.createAuthCodeClient(serverTelemetryManager, validRequest.authority, validRequest.azureCloudOptions);\n this.logger.verbose(\"Auth code client created\");\n\n const isNativeBroker = NativeMessageHandler.isNativeAvailable(this.config, this.logger, this.nativeMessageHandler, request.authenticationScheme);\n // Start measurement for server calls with native brokering enabled\n let fetchNativeAccountIdMeasurement;\n if (isNativeBroker) {\n fetchNativeAccountIdMeasurement = this.performanceClient.startMeasurement(PerformanceEvents.FetchAccountIdWithNativeBroker, request.correlationId);\n }\n\n // Create acquire token url.\n const navigateUrl = await authClient.getAuthCodeUrl({\n ...validRequest,\n nativeBroker: isNativeBroker\n });\n\n // Create popup interaction handler.\n const interactionHandler = new InteractionHandler(authClient, this.browserStorage, authCodeRequest, this.logger);\n\n // Show the UI once the url has been created. Get the window handle for the popup.\n const popupParameters: PopupParams = {\n popup,\n popupName,\n popupWindowAttributes\n };\n const popupWindow: Window = this.initiateAuthRequest(navigateUrl, popupParameters);\n this.eventHandler.emitEvent(EventType.POPUP_OPENED, InteractionType.Popup, {popupWindow}, null);\n\n // Monitor the window for the hash. Return the string value and close the popup when the hash is received. Default timeout is 60 seconds.\n const hash = await this.monitorPopupForHash(popupWindow);\n // Deserialize hash fragment response parameters.\n const serverParams: ServerAuthorizationCodeResponse = UrlString.getDeserializedHash(hash);\n const state = this.validateAndExtractStateFromHash(serverParams, InteractionType.Popup, validRequest.correlationId);\n // Remove throttle if it exists\n ThrottlingUtils.removeThrottle(this.browserStorage, this.config.auth.clientId, authCodeRequest);\n\n if (serverParams.accountId) {\n this.logger.verbose(\"Account id found in hash, calling WAM for token\");\n // end measurement for server call with native brokering enabled\n if (fetchNativeAccountIdMeasurement) {\n fetchNativeAccountIdMeasurement.endMeasurement({\n success: true,\n isNativeBroker: true\n });\n }\n\n if (!this.nativeMessageHandler) {\n throw BrowserAuthError.createNativeConnectionNotEstablishedError();\n }\n const nativeInteractionClient = new NativeInteractionClient(this.config, this.browserStorage, this.browserCrypto, this.logger, this.eventHandler, this.navigationClient, ApiId.acquireTokenPopup, this.performanceClient, this.nativeMessageHandler, serverParams.accountId, this.nativeStorage, validRequest.correlationId);\n const { userRequestState } = ProtocolUtils.parseRequestState(this.browserCrypto, state);\n return nativeInteractionClient.acquireToken({\n ...validRequest,\n state: userRequestState,\n prompt: undefined // Server should handle the prompt, ideally native broker can do this part silently\n }).finally(() => {\n this.browserStorage.cleanRequestByState(state);\n });\n }\n\n // Handle response from hash string.\n const result = await interactionHandler.handleCodeResponseFromHash(hash, state, authClient.authority, this.networkClient);\n\n return result;\n } catch (e) {\n if (popup) {\n // Close the synchronous popup if an error is thrown before the window unload event is registered\n popup.close();\n }\n\n if (e instanceof AuthError) {\n (e as AuthError).setCorrelationId(this.correlationId);\n }\n\n serverTelemetryManager.cacheFailedRequest(e);\n this.browserStorage.cleanRequestByState(validRequest.state);\n throw e;\n }\n }\n\n /**\n *\n * @param validRequest\n * @param popupName\n * @param requestAuthority\n * @param popup\n * @param mainWindowRedirectUri\n * @param popupWindowAttributes\n */\n protected async logoutPopupAsync(validRequest: CommonEndSessionRequest, popupName: string, popupWindowAttributes: PopupWindowAttributes, requestAuthority?: string, popup?: Window|null, mainWindowRedirectUri?: string): Promise {\n this.logger.verbose(\"logoutPopupAsync called\");\n this.eventHandler.emitEvent(EventType.LOGOUT_START, InteractionType.Popup, validRequest);\n\n const serverTelemetryManager = this.initializeServerTelemetryManager(ApiId.logoutPopup);\n\n try {\n // Clear cache on logout\n await this.clearCacheOnLogout(validRequest.account);\n\n // Initialize the client\n const authClient = await this.createAuthCodeClient(serverTelemetryManager, requestAuthority);\n this.logger.verbose(\"Auth code client created\");\n\n // Create logout string and navigate user window to logout.\n const logoutUri: string = authClient.getLogoutUri(validRequest);\n\n this.eventHandler.emitEvent(EventType.LOGOUT_SUCCESS, InteractionType.Popup, validRequest);\n\n // Open the popup window to requestUrl.\n const popupWindow = this.openPopup(logoutUri, {popupName, popupWindowAttributes, popup});\n this.eventHandler.emitEvent(EventType.POPUP_OPENED, InteractionType.Popup, {popupWindow}, null);\n\n await this.waitForLogoutPopup(popupWindow);\n\n if (mainWindowRedirectUri) {\n const navigationOptions: NavigationOptions = {\n apiId: ApiId.logoutPopup,\n timeout: this.config.system.redirectNavigationTimeout,\n noHistory: false\n };\n const absoluteUrl = UrlString.getAbsoluteUrl(mainWindowRedirectUri, BrowserUtils.getCurrentUri());\n\n this.logger.verbose(\"Redirecting main window to url specified in the request\");\n this.logger.verbosePii(`Redirecting main window to: ${absoluteUrl}`);\n this.navigationClient.navigateInternal(absoluteUrl, navigationOptions);\n } else {\n this.logger.verbose(\"No main window navigation requested\");\n }\n } catch (e) {\n if (popup) {\n // Close the synchronous popup if an error is thrown before the window unload event is registered\n popup.close();\n }\n\n if (e instanceof AuthError) {\n (e as AuthError).setCorrelationId(this.correlationId);\n }\n\n this.browserStorage.setInteractionInProgress(false);\n this.eventHandler.emitEvent(EventType.LOGOUT_FAILURE, InteractionType.Popup, null, e);\n this.eventHandler.emitEvent(EventType.LOGOUT_END, InteractionType.Popup);\n serverTelemetryManager.cacheFailedRequest(e);\n throw e;\n }\n\n this.eventHandler.emitEvent(EventType.LOGOUT_END, InteractionType.Popup);\n }\n\n /**\n * Opens a popup window with given request Url.\n * @param requestUrl\n */\n initiateAuthRequest(requestUrl: string, params: PopupParams): Window {\n // Check that request url is not empty.\n if (!StringUtils.isEmpty(requestUrl)) {\n this.logger.infoPii(`Navigate to: ${requestUrl}`);\n // Open the popup window to requestUrl.\n return this.openPopup(requestUrl, params);\n } else {\n // Throw error if request URL is empty.\n this.logger.error(\"Navigate url is empty\");\n throw BrowserAuthError.createEmptyNavigationUriError();\n }\n }\n\n /**\n * Monitors a window until it loads a url with the same origin.\n * @param popupWindow - window that is being monitored\n * @param timeout - timeout for processing hash once popup is redirected back to application\n */\n monitorPopupForHash(popupWindow: Window): Promise {\n return new Promise((resolve, reject) => {\n /*\n * Polling for popups needs to be tick-based,\n * since a non-trivial amount of time can be spent on interaction (which should not count against the timeout).\n */\n const maxTicks = this.config.system.windowHashTimeout / this.config.system.pollIntervalMilliseconds;\n let ticks = 0;\n\n this.logger.verbose(\"PopupHandler.monitorPopupForHash - polling started\");\n\n const intervalId = setInterval(() => {\n // Window is closed\n if (popupWindow.closed) {\n this.logger.error(\"PopupHandler.monitorPopupForHash - window closed\");\n this.cleanPopup();\n clearInterval(intervalId);\n reject(BrowserAuthError.createUserCancelledError());\n return;\n }\n\n let href: string = Constants.EMPTY_STRING;\n let hash: string = Constants.EMPTY_STRING;\n try {\n /*\n * Will throw if cross origin,\n * which should be caught and ignored\n * since we need the interval to keep running while on STS UI.\n */\n href = popupWindow.location.href;\n hash = popupWindow.location.hash;\n } catch (e) {}\n\n // Don't process blank pages or cross domain\n if (StringUtils.isEmpty(href) || href === \"about:blank\") {\n return;\n }\n\n this.logger.verbose(\"PopupHandler.monitorPopupForHash - popup window is on same origin as caller\");\n\n /*\n * Only run clock when we are on same domain for popups\n * as popup operations can take a long time.\n */\n ticks++;\n\n if (hash) {\n this.logger.verbose(\"PopupHandler.monitorPopupForHash - found hash in url\");\n clearInterval(intervalId);\n this.cleanPopup(popupWindow);\n\n if (UrlString.hashContainsKnownProperties(hash)) {\n this.logger.verbose(\"PopupHandler.monitorPopupForHash - hash contains known properties, returning.\");\n resolve(hash);\n } else {\n this.logger.error(\"PopupHandler.monitorPopupForHash - found hash in url but it does not contain known properties. Check that your router is not changing the hash prematurely.\");\n this.logger.errorPii(`PopupHandler.monitorPopupForHash - hash found: ${hash}`);\n reject(BrowserAuthError.createHashDoesNotContainKnownPropertiesError());\n }\n } else if (ticks > maxTicks) {\n this.logger.error(\"PopupHandler.monitorPopupForHash - unable to find hash in url, timing out\");\n clearInterval(intervalId);\n reject(BrowserAuthError.createMonitorPopupTimeoutError());\n }\n }, this.config.system.pollIntervalMilliseconds);\n });\n }\n\n /**\n * Waits for user interaction in logout popup window\n * @param popupWindow\n * @returns\n */\n waitForLogoutPopup(popupWindow: Window): Promise {\n return new Promise((resolve) => {\n this.logger.verbose(\"PopupHandler.waitForLogoutPopup - polling started\");\n\n const intervalId = setInterval(() => {\n // Window is closed\n if (popupWindow.closed) {\n this.logger.error(\"PopupHandler.waitForLogoutPopup - window closed\");\n this.cleanPopup();\n clearInterval(intervalId);\n resolve();\n }\n\n let href: string = Constants.EMPTY_STRING;\n try {\n /*\n * Will throw if cross origin,\n * which should be caught and ignored\n * since we need the interval to keep running while on STS UI.\n */\n href = popupWindow.location.href;\n } catch (e) {}\n\n // Don't process blank pages or cross domain\n if (StringUtils.isEmpty(href) || href === \"about:blank\") {\n return;\n }\n\n this.logger.verbose(\"PopupHandler.waitForLogoutPopup - popup window is on same origin as caller, closing.\");\n\n clearInterval(intervalId);\n this.cleanPopup(popupWindow);\n resolve();\n }, this.config.system.pollIntervalMilliseconds);\n });\n }\n\n /**\n * @hidden\n *\n * Configures popup window for login.\n *\n * @param urlNavigate\n * @param title\n * @param popUpWidth\n * @param popUpHeight\n * @param popupWindowAttributes\n * @ignore\n * @hidden\n */\n openPopup(urlNavigate: string, popupParams: PopupParams): Window {\n try {\n let popupWindow;\n // Popup window passed in, setting url to navigate to\n if (popupParams.popup) {\n popupWindow = popupParams.popup;\n this.logger.verbosePii(`Navigating popup window to: ${urlNavigate}`);\n popupWindow.location.assign(urlNavigate);\n } else if (typeof popupParams.popup === \"undefined\") {\n // Popup will be undefined if it was not passed in\n this.logger.verbosePii(`Opening popup window to: ${urlNavigate}`);\n popupWindow = this.openSizedPopup(urlNavigate, popupParams.popupName, popupParams.popupWindowAttributes);\n }\n\n // Popup will be null if popups are blocked\n if (!popupWindow) {\n throw BrowserAuthError.createEmptyWindowCreatedError();\n }\n if (popupWindow.focus) {\n popupWindow.focus();\n }\n this.currentWindow = popupWindow;\n window.addEventListener(\"beforeunload\", this.unloadWindow);\n\n return popupWindow;\n } catch (e) {\n this.logger.error(\"error opening popup \" + (e as AuthError).message);\n this.browserStorage.setInteractionInProgress(false);\n throw BrowserAuthError.createPopupWindowError((e as AuthError).toString());\n }\n }\n\n /**\n * Helper function to set popup window dimensions and position\n * @param urlNavigate\n * @param popupName\n * @param popupWindowAttributes\n * @returns\n */\n openSizedPopup(urlNavigate: string, popupName: string, popupWindowAttributes: PopupWindowAttributes): Window|null {\n /**\n * adding winLeft and winTop to account for dual monitor\n * using screenLeft and screenTop for IE8 and earlier\n */\n const winLeft = window.screenLeft ? window.screenLeft : window.screenX;\n const winTop = window.screenTop ? window.screenTop : window.screenY;\n /**\n * window.innerWidth displays browser window\"s height and width excluding toolbars\n * using document.documentElement.clientWidth for IE8 and earlier\n */\n const winWidth = window.innerWidth || document.documentElement.clientWidth || document.body.clientWidth;\n const winHeight = window.innerHeight || document.documentElement.clientHeight || document.body.clientHeight;\n\n let width = popupWindowAttributes.popupSize?.width;\n let height = popupWindowAttributes.popupSize?.height;\n let top = popupWindowAttributes.popupPosition?.top;\n let left = popupWindowAttributes.popupPosition?.left;\n\n if (!width || width < 0 || width > winWidth) {\n this.logger.verbose(\"Default popup window width used. Window width not configured or invalid.\");\n width = BrowserConstants.POPUP_WIDTH;\n }\n\n if (!height || height < 0 || height > winHeight) {\n this.logger.verbose(\"Default popup window height used. Window height not configured or invalid.\");\n height = BrowserConstants.POPUP_HEIGHT;\n }\n\n if (!top || top < 0 || top > winHeight) {\n this.logger.verbose(\"Default popup window top position used. Window top not configured or invalid.\");\n top = Math.max(0, ((winHeight / 2) - (BrowserConstants.POPUP_HEIGHT / 2)) + winTop);\n }\n\n if (!left || left < 0 || left > winWidth) {\n this.logger.verbose(\"Default popup window left position used. Window left not configured or invalid.\");\n left = Math.max(0, ((winWidth / 2) - (BrowserConstants.POPUP_WIDTH / 2)) + winLeft);\n }\n\n return window.open(urlNavigate, popupName, `width=${width}, height=${height}, top=${top}, left=${left}, scrollbars=yes`);\n }\n\n /**\n * Event callback to unload main window.\n */\n unloadWindow(e: Event): void {\n this.browserStorage.cleanRequestByInteractionType(InteractionType.Popup);\n if (this.currentWindow) {\n this.currentWindow.close();\n }\n // Guarantees browser unload will happen, so no other errors will be thrown.\n e.preventDefault();\n }\n\n /**\n * Closes popup, removes any state vars created during popup calls.\n * @param popupWindow\n */\n cleanPopup(popupWindow?: Window): void {\n if (popupWindow) {\n // Close window.\n popupWindow.close();\n }\n // Remove window unload function\n window.removeEventListener(\"beforeunload\", this.unloadWindow);\n\n // Interaction is completed - remove interaction status.\n this.browserStorage.setInteractionInProgress(false);\n }\n\n /**\n * Generates the name for the popup based on the client id and request\n * @param clientId\n * @param request\n */\n generatePopupName(scopes: Array, authority: string): string {\n return `${BrowserConstants.POPUP_NAME_PREFIX}.${this.config.auth.clientId}.${scopes.join(\"-\")}.${authority}.${this.correlationId}`;\n }\n\n /**\n * Generates the name for the popup based on the client id and request for logouts\n * @param clientId\n * @param request\n */\n generateLogoutPopupName(request: CommonEndSessionRequest): string {\n const homeAccountId = request.account && request.account.homeAccountId;\n return `${BrowserConstants.POPUP_NAME_PREFIX}.${this.config.auth.clientId}.${homeAccountId}.${this.correlationId}`;\n }\n}\n","/*\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport { AuthorizationCodeClient, StringUtils, CommonAuthorizationCodeRequest, ICrypto, AuthenticationResult, Authority, INetworkModule, ClientAuthError, Logger, ServerError } from \"@azure/msal-common\";\nimport { BrowserAuthError, BrowserAuthErrorMessage } from \"../error/BrowserAuthError\";\nimport { ApiId, TemporaryCacheKeys } from \"../utils/BrowserConstants\";\nimport { BrowserCacheManager } from \"../cache/BrowserCacheManager\";\nimport { InteractionHandler, InteractionParams } from \"./InteractionHandler\";\nimport { INavigationClient } from \"../navigation/INavigationClient\";\nimport { NavigationOptions } from \"../navigation/NavigationOptions\";\n\nexport type RedirectParams = InteractionParams & {\n navigationClient: INavigationClient;\n redirectTimeout: number;\n redirectStartPage: string;\n onRedirectNavigate?: (url: string) => void | boolean;\n};\n\nexport class RedirectHandler extends InteractionHandler {\n\n private browserCrypto: ICrypto;\n\n constructor(authCodeModule: AuthorizationCodeClient, storageImpl: BrowserCacheManager, authCodeRequest: CommonAuthorizationCodeRequest, logger: Logger, browserCrypto: ICrypto) {\n super(authCodeModule, storageImpl, authCodeRequest, logger);\n this.browserCrypto = browserCrypto;\n }\n\n /**\n * Redirects window to given URL.\n * @param urlNavigate\n */\n async initiateAuthRequest(requestUrl: string, params: RedirectParams): Promise {\n this.logger.verbose(\"RedirectHandler.initiateAuthRequest called\");\n // Navigate if valid URL\n if (!StringUtils.isEmpty(requestUrl)) {\n // Cache start page, returns to this page after redirectUri if navigateToLoginRequestUrl is true\n if (params.redirectStartPage) {\n this.logger.verbose(\"RedirectHandler.initiateAuthRequest: redirectStartPage set, caching start page\");\n this.browserStorage.setTemporaryCache(TemporaryCacheKeys.ORIGIN_URI, params.redirectStartPage, true);\n }\n\n // Set interaction status in the library.\n this.browserStorage.setTemporaryCache(TemporaryCacheKeys.CORRELATION_ID, this.authCodeRequest.correlationId, true);\n this.browserStorage.cacheCodeRequest(this.authCodeRequest, this.browserCrypto);\n this.logger.infoPii(`RedirectHandler.initiateAuthRequest: Navigate to: ${requestUrl}`);\n const navigationOptions: NavigationOptions = {\n apiId: ApiId.acquireTokenRedirect,\n timeout: params.redirectTimeout,\n noHistory: false\n };\n \n // If onRedirectNavigate is implemented, invoke it and provide requestUrl\n if (typeof params.onRedirectNavigate === \"function\") {\n this.logger.verbose(\"RedirectHandler.initiateAuthRequest: Invoking onRedirectNavigate callback\");\n const navigate = params.onRedirectNavigate(requestUrl);\n\n // Returning false from onRedirectNavigate will stop navigation\n if (navigate !== false) {\n this.logger.verbose(\"RedirectHandler.initiateAuthRequest: onRedirectNavigate did not return false, navigating\");\n await params.navigationClient.navigateExternal(requestUrl, navigationOptions);\n return;\n } else {\n this.logger.verbose(\"RedirectHandler.initiateAuthRequest: onRedirectNavigate returned false, stopping navigation\");\n return;\n }\n } else {\n // Navigate window to request URL\n this.logger.verbose(\"RedirectHandler.initiateAuthRequest: Navigating window to navigate url\");\n await params.navigationClient.navigateExternal(requestUrl, navigationOptions);\n return;\n }\n } else {\n // Throw error if request URL is empty.\n this.logger.info(\"RedirectHandler.initiateAuthRequest: Navigate url is empty\");\n throw BrowserAuthError.createEmptyNavigationUriError();\n }\n }\n\n /**\n * Handle authorization code response in the window.\n * @param hash\n */\n async handleCodeResponseFromHash(locationHash: string, state: string, authority: Authority, networkModule: INetworkModule): Promise {\n this.logger.verbose(\"RedirectHandler.handleCodeResponse called\");\n\n // Check that location hash isn't empty.\n if (StringUtils.isEmpty(locationHash)) {\n throw BrowserAuthError.createEmptyHashError(locationHash);\n }\n\n // Interaction is completed - remove interaction status.\n this.browserStorage.setInteractionInProgress(false);\n\n // Handle code response.\n const stateKey = this.browserStorage.generateStateKey(state);\n const requestState = this.browserStorage.getTemporaryCache(stateKey);\n if (!requestState) {\n throw ClientAuthError.createStateNotFoundError(\"Cached State\");\n }\n\n let authCodeResponse;\n try {\n authCodeResponse = this.authModule.handleFragmentResponse(locationHash, requestState);\n } catch (e) {\n if (e instanceof ServerError && e.subError === BrowserAuthErrorMessage.userCancelledError.code) {\n // Translate server error caused by user closing native prompt to corresponding first class MSAL error\n throw BrowserAuthError.createUserCancelledError();\n } else {\n throw e;\n }\n }\n\n // Get cached items\n const nonceKey = this.browserStorage.generateNonceKey(requestState);\n const cachedNonce = this.browserStorage.getTemporaryCache(nonceKey);\n\n // Assign code to request\n this.authCodeRequest.code = authCodeResponse.code;\n\n // Check for new cloud instance\n if (authCodeResponse.cloud_instance_host_name) {\n await this.updateTokenEndpointAuthority(authCodeResponse.cloud_instance_host_name, authority, networkModule);\n }\n\n authCodeResponse.nonce = cachedNonce || undefined;\n authCodeResponse.state = requestState;\n\n // Add CCS parameters if available\n if (authCodeResponse.client_info) {\n this.authCodeRequest.clientInfo = authCodeResponse.client_info;\n } else {\n const cachedCcsCred = this.checkCcsCredentials();\n if (cachedCcsCred) {\n this.authCodeRequest.ccsCredential = cachedCcsCred;\n }\n }\n\n // Acquire token with retrieved code.\n const tokenResponse = await this.authModule.acquireToken(this.authCodeRequest, authCodeResponse);\n\n this.browserStorage.cleanRequestByState(state);\n return tokenResponse;\n }\n}\n","/*\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport { AuthenticationResult, CommonAuthorizationCodeRequest, AuthorizationCodeClient, UrlString, AuthError, ServerTelemetryManager, Constants, ProtocolUtils, ServerAuthorizationCodeResponse, ThrottlingUtils, ICrypto, Logger, IPerformanceClient } from \"@azure/msal-common\";\nimport { StandardInteractionClient } from \"./StandardInteractionClient\";\nimport { ApiId, InteractionType, TemporaryCacheKeys } from \"../utils/BrowserConstants\";\nimport { RedirectHandler } from \"../interaction_handler/RedirectHandler\";\nimport { BrowserUtils } from \"../utils/BrowserUtils\";\nimport { EndSessionRequest } from \"../request/EndSessionRequest\";\nimport { EventType } from \"../event/EventType\";\nimport { NavigationOptions } from \"../navigation/NavigationOptions\";\nimport { BrowserAuthError } from \"../error/BrowserAuthError\";\nimport { RedirectRequest } from \"../request/RedirectRequest\";\nimport { NativeInteractionClient } from \"./NativeInteractionClient\";\nimport { NativeMessageHandler } from \"../broker/nativeBroker/NativeMessageHandler\";\nimport { BrowserConfiguration } from \"../config/Configuration\";\nimport { BrowserCacheManager } from \"../cache/BrowserCacheManager\";\nimport { EventHandler } from \"../event/EventHandler\";\nimport { INavigationClient } from \"../navigation/INavigationClient\";\n\nexport class RedirectClient extends StandardInteractionClient {\n protected nativeStorage: BrowserCacheManager;\n\n constructor(config: BrowserConfiguration, storageImpl: BrowserCacheManager, browserCrypto: ICrypto, logger: Logger, eventHandler: EventHandler, navigationClient: INavigationClient, performanceClient: IPerformanceClient, nativeStorageImpl: BrowserCacheManager, nativeMessageHandler?: NativeMessageHandler, correlationId?: string) {\n super(config, storageImpl, browserCrypto, logger, eventHandler, navigationClient, performanceClient, nativeMessageHandler, correlationId);\n this.nativeStorage = nativeStorageImpl;\n }\n\n /**\n * Redirects the page to the /authorize endpoint of the IDP\n * @param request\n */\n async acquireToken(request: RedirectRequest): Promise {\n const validRequest = await this.initializeAuthorizationRequest(request, InteractionType.Redirect);\n this.browserStorage.updateCacheEntries(validRequest.state, validRequest.nonce, validRequest.authority, validRequest.loginHint || Constants.EMPTY_STRING, validRequest.account || null);\n const serverTelemetryManager = this.initializeServerTelemetryManager(ApiId.acquireTokenRedirect);\n\n const handleBackButton = (event: PageTransitionEvent) => {\n // Clear temporary cache if the back button is clicked during the redirect flow.\n if (event.persisted) {\n this.logger.verbose(\"Page was restored from back/forward cache. Clearing temporary cache.\");\n this.browserStorage.cleanRequestByState(validRequest.state);\n }\n };\n\n try {\n // Create auth code request and generate PKCE params\n const authCodeRequest: CommonAuthorizationCodeRequest = await this.initializeAuthorizationCodeRequest(validRequest);\n\n // Initialize the client\n const authClient: AuthorizationCodeClient = await this.createAuthCodeClient(serverTelemetryManager, validRequest.authority, validRequest.azureCloudOptions);\n this.logger.verbose(\"Auth code client created\");\n\n // Create redirect interaction handler.\n const interactionHandler = new RedirectHandler(authClient, this.browserStorage, authCodeRequest, this.logger, this.browserCrypto);\n\n // Create acquire token url.\n const navigateUrl = await authClient.getAuthCodeUrl({\n ...validRequest,\n nativeBroker: NativeMessageHandler.isNativeAvailable(this.config, this.logger, this.nativeMessageHandler, request.authenticationScheme)\n });\n\n const redirectStartPage = this.getRedirectStartPage(request.redirectStartPage);\n this.logger.verbosePii(`Redirect start page: ${redirectStartPage}`);\n\n // Clear temporary cache if the back button is clicked during the redirect flow.\n window.addEventListener(\"pageshow\", handleBackButton);\n\n // Show the UI once the url has been created. Response will come back in the hash, which will be handled in the handleRedirectCallback function.\n return await interactionHandler.initiateAuthRequest(navigateUrl, {\n navigationClient: this.navigationClient,\n redirectTimeout: this.config.system.redirectNavigationTimeout,\n redirectStartPage: redirectStartPage,\n onRedirectNavigate: request.onRedirectNavigate\n });\n } catch (e) {\n if (e instanceof AuthError) {\n e.setCorrelationId(this.correlationId);\n }\n window.removeEventListener(\"pageshow\", handleBackButton);\n serverTelemetryManager.cacheFailedRequest(e);\n this.browserStorage.cleanRequestByState(validRequest.state);\n throw e;\n }\n }\n\n /**\n * Checks if navigateToLoginRequestUrl is set, and:\n * - if true, performs logic to cache and navigate\n * - if false, handles hash string and parses response\n * @param hash\n */\n async handleRedirectPromise(hash?: string): Promise {\n const serverTelemetryManager = this.initializeServerTelemetryManager(ApiId.handleRedirectPromise);\n try {\n if (!this.browserStorage.isInteractionInProgress(true)) {\n this.logger.info(\"handleRedirectPromise called but there is no interaction in progress, returning null.\");\n return null;\n }\n\n const responseHash = this.getRedirectResponseHash(hash || window.location.hash);\n if (!responseHash) {\n // Not a recognized server response hash or hash not associated with a redirect request\n this.logger.info(\"handleRedirectPromise did not detect a response hash as a result of a redirect. Cleaning temporary cache.\");\n this.browserStorage.cleanRequestByInteractionType(InteractionType.Redirect);\n return null;\n }\n\n let state: string;\n try {\n // Deserialize hash fragment response parameters.\n const serverParams: ServerAuthorizationCodeResponse = UrlString.getDeserializedHash(responseHash);\n state = this.validateAndExtractStateFromHash(serverParams, InteractionType.Redirect);\n this.logger.verbose(\"State extracted from hash\");\n } catch (e) {\n this.logger.info(`handleRedirectPromise was unable to extract state due to: ${e}`);\n this.browserStorage.cleanRequestByInteractionType(InteractionType.Redirect);\n return null;\n }\n\n // If navigateToLoginRequestUrl is true, get the url where the redirect request was initiated\n const loginRequestUrl = this.browserStorage.getTemporaryCache(TemporaryCacheKeys.ORIGIN_URI, true) || Constants.EMPTY_STRING;\n const loginRequestUrlNormalized = UrlString.removeHashFromUrl(loginRequestUrl);\n const currentUrlNormalized = UrlString.removeHashFromUrl(window.location.href);\n\n if (loginRequestUrlNormalized === currentUrlNormalized && this.config.auth.navigateToLoginRequestUrl) {\n // We are on the page we need to navigate to - handle hash\n this.logger.verbose(\"Current page is loginRequestUrl, handling hash\");\n const handleHashResult = await this.handleHash(responseHash, state, serverTelemetryManager);\n\n if (loginRequestUrl.indexOf(\"#\") > -1) {\n // Replace current hash with non-msal hash, if present\n BrowserUtils.replaceHash(loginRequestUrl);\n }\n\n return handleHashResult;\n } else if (!this.config.auth.navigateToLoginRequestUrl) {\n this.logger.verbose(\"NavigateToLoginRequestUrl set to false, handling hash\");\n return this.handleHash(responseHash, state, serverTelemetryManager);\n } else if (!BrowserUtils.isInIframe() || this.config.system.allowRedirectInIframe) {\n /*\n * Returned from authority using redirect - need to perform navigation before processing response\n * Cache the hash to be retrieved after the next redirect\n */\n this.browserStorage.setTemporaryCache(TemporaryCacheKeys.URL_HASH, responseHash, true);\n const navigationOptions: NavigationOptions = {\n apiId: ApiId.handleRedirectPromise,\n timeout: this.config.system.redirectNavigationTimeout,\n noHistory: true\n };\n\n /**\n * Default behavior is to redirect to the start page and not process the hash now.\n * The start page is expected to also call handleRedirectPromise which will process the hash in one of the checks above.\n */\n let processHashOnRedirect: boolean = true;\n if (!loginRequestUrl || loginRequestUrl === \"null\") {\n // Redirect to home page if login request url is null (real null or the string null)\n const homepage = BrowserUtils.getHomepage();\n // Cache the homepage under ORIGIN_URI to ensure cached hash is processed on homepage\n this.browserStorage.setTemporaryCache(TemporaryCacheKeys.ORIGIN_URI, homepage, true);\n this.logger.warning(\"Unable to get valid login request url from cache, redirecting to home page\");\n processHashOnRedirect = await this.navigationClient.navigateInternal(homepage, navigationOptions);\n } else {\n // Navigate to page that initiated the redirect request\n this.logger.verbose(`Navigating to loginRequestUrl: ${loginRequestUrl}`);\n processHashOnRedirect = await this.navigationClient.navigateInternal(loginRequestUrl, navigationOptions);\n }\n\n // If navigateInternal implementation returns false, handle the hash now\n if (!processHashOnRedirect) {\n return this.handleHash(responseHash, state, serverTelemetryManager);\n }\n }\n\n return null;\n } catch (e) {\n if (e instanceof AuthError) {\n (e as AuthError).setCorrelationId(this.correlationId);\n }\n serverTelemetryManager.cacheFailedRequest(e);\n this.browserStorage.cleanRequestByInteractionType(InteractionType.Redirect);\n throw e;\n }\n }\n\n /**\n * Gets the response hash for a redirect request\n * Returns null if interactionType in the state value is not \"redirect\" or the hash does not contain known properties\n * @param hash\n */\n protected getRedirectResponseHash(hash: string): string | null {\n this.logger.verbose(\"getRedirectResponseHash called\");\n // Get current location hash from window or cache.\n const isResponseHash: boolean = UrlString.hashContainsKnownProperties(hash);\n\n if (isResponseHash) {\n BrowserUtils.clearHash(window);\n this.logger.verbose(\"Hash contains known properties, returning response hash\");\n return hash;\n }\n\n const cachedHash = this.browserStorage.getTemporaryCache(TemporaryCacheKeys.URL_HASH, true);\n this.browserStorage.removeItem(this.browserStorage.generateCacheKey(TemporaryCacheKeys.URL_HASH));\n\n this.logger.verbose(\"Hash does not contain known properties, returning cached hash\");\n return cachedHash;\n }\n\n /**\n * Checks if hash exists and handles in window.\n * @param hash\n * @param state\n */\n protected async handleHash(hash: string, state: string, serverTelemetryManager: ServerTelemetryManager): Promise {\n const cachedRequest = this.browserStorage.getCachedRequest(state, this.browserCrypto);\n this.logger.verbose(\"handleHash called, retrieved cached request\");\n\n const serverParams: ServerAuthorizationCodeResponse = UrlString.getDeserializedHash(hash);\n\n if (serverParams.accountId) {\n this.logger.verbose(\"Account id found in hash, calling WAM for token\");\n if (!this.nativeMessageHandler) {\n throw BrowserAuthError.createNativeConnectionNotEstablishedError();\n }\n const nativeInteractionClient = new NativeInteractionClient(this.config, this.browserStorage, this.browserCrypto, this.logger, this.eventHandler, this.navigationClient, ApiId.acquireTokenPopup, this.performanceClient, this.nativeMessageHandler, serverParams.accountId, this.browserStorage, cachedRequest.correlationId);\n const { userRequestState } = ProtocolUtils.parseRequestState(this.browserCrypto, state);\n return nativeInteractionClient.acquireToken({\n ...cachedRequest,\n state: userRequestState,\n prompt: undefined // Server should handle the prompt, ideally native broker can do this part silently\n }).finally(() => {\n this.browserStorage.cleanRequestByState(state);\n });\n }\n\n // Hash contains known properties - handle and return in callback\n const currentAuthority = this.browserStorage.getCachedAuthority(state);\n if (!currentAuthority) {\n throw BrowserAuthError.createNoCachedAuthorityError();\n }\n\n const authClient = await this.createAuthCodeClient(serverTelemetryManager, currentAuthority);\n this.logger.verbose(\"Auth code client created\");\n ThrottlingUtils.removeThrottle(this.browserStorage, this.config.auth.clientId, cachedRequest);\n const interactionHandler = new RedirectHandler(authClient, this.browserStorage, cachedRequest, this.logger, this.browserCrypto);\n return await interactionHandler.handleCodeResponseFromHash(hash, state, authClient.authority, this.networkClient);\n }\n\n /**\n * Use to log out the current user, and redirect the user to the postLogoutRedirectUri.\n * Default behaviour is to redirect the user to `window.location.href`.\n * @param logoutRequest\n */\n async logout(logoutRequest?: EndSessionRequest): Promise {\n this.logger.verbose(\"logoutRedirect called\");\n const validLogoutRequest = this.initializeLogoutRequest(logoutRequest);\n const serverTelemetryManager = this.initializeServerTelemetryManager(ApiId.logout);\n\n try {\n this.eventHandler.emitEvent(EventType.LOGOUT_START, InteractionType.Redirect, logoutRequest);\n\n // Clear cache on logout\n await this.clearCacheOnLogout(validLogoutRequest.account);\n\n const navigationOptions: NavigationOptions = {\n apiId: ApiId.logout,\n timeout: this.config.system.redirectNavigationTimeout,\n noHistory: false\n };\n const authClient = await this.createAuthCodeClient(serverTelemetryManager, logoutRequest && logoutRequest.authority);\n this.logger.verbose(\"Auth code client created\");\n\n // Create logout string and navigate user window to logout.\n const logoutUri: string = authClient.getLogoutUri(validLogoutRequest);\n\n this.eventHandler.emitEvent(EventType.LOGOUT_SUCCESS, InteractionType.Redirect, validLogoutRequest);\n // Check if onRedirectNavigate is implemented, and invoke it if so\n if (logoutRequest && typeof logoutRequest.onRedirectNavigate === \"function\") {\n const navigate = logoutRequest.onRedirectNavigate(logoutUri);\n\n if (navigate !== false) {\n this.logger.verbose(\"Logout onRedirectNavigate did not return false, navigating\");\n // Ensure interaction is in progress\n if (!this.browserStorage.getInteractionInProgress()) {\n this.browserStorage.setInteractionInProgress(true);\n }\n await this.navigationClient.navigateExternal(logoutUri, navigationOptions);\n return;\n } else {\n // Ensure interaction is not in progress\n this.browserStorage.setInteractionInProgress(false);\n this.logger.verbose(\"Logout onRedirectNavigate returned false, stopping navigation\");\n }\n } else {\n // Ensure interaction is in progress\n if (!this.browserStorage.getInteractionInProgress()) {\n this.browserStorage.setInteractionInProgress(true);\n }\n await this.navigationClient.navigateExternal(logoutUri, navigationOptions);\n return;\n }\n } catch(e) {\n if (e instanceof AuthError) {\n (e as AuthError).setCorrelationId(this.correlationId);\n }\n serverTelemetryManager.cacheFailedRequest(e);\n this.eventHandler.emitEvent(EventType.LOGOUT_FAILURE, InteractionType.Redirect, null, e);\n this.eventHandler.emitEvent(EventType.LOGOUT_END, InteractionType.Redirect);\n throw e;\n }\n\n this.eventHandler.emitEvent(EventType.LOGOUT_END, InteractionType.Redirect);\n }\n\n /**\n * Use to get the redirectStartPage either from request or use current window\n * @param requestStartPage\n */\n protected getRedirectStartPage(requestStartPage?: string): string {\n const redirectStartPage = requestStartPage || window.location.href;\n return UrlString.getAbsoluteUrl(redirectStartPage, BrowserUtils.getCurrentUri());\n }\n}\n","/*\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport { UrlString, StringUtils, CommonAuthorizationCodeRequest, AuthorizationCodeClient, Constants, Logger } from \"@azure/msal-common\";\nimport { InteractionHandler } from \"./InteractionHandler\";\nimport { BrowserAuthError } from \"../error/BrowserAuthError\";\nimport { BrowserCacheManager } from \"../cache/BrowserCacheManager\";\nimport { BrowserSystemOptions, DEFAULT_IFRAME_TIMEOUT_MS } from \"../config/Configuration\";\n\nexport class SilentHandler extends InteractionHandler {\n\n private navigateFrameWait: number;\n private pollIntervalMilliseconds: number;\n\n constructor(authCodeModule: AuthorizationCodeClient, storageImpl: BrowserCacheManager, authCodeRequest: CommonAuthorizationCodeRequest, logger: Logger, systemOptions: Required>) {\n super(authCodeModule, storageImpl, authCodeRequest, logger);\n this.navigateFrameWait = systemOptions.navigateFrameWait;\n this.pollIntervalMilliseconds = systemOptions.pollIntervalMilliseconds;\n }\n\n /**\n * Creates a hidden iframe to given URL using user-requested scopes as an id.\n * @param urlNavigate\n * @param userRequestScopes\n */\n async initiateAuthRequest(requestUrl: string): Promise {\n if (StringUtils.isEmpty(requestUrl)) {\n // Throw error if request URL is empty.\n this.logger.info(\"Navigate url is empty\");\n throw BrowserAuthError.createEmptyNavigationUriError();\n }\n\n return this.navigateFrameWait ? await this.loadFrame(requestUrl) : this.loadFrameSync(requestUrl);\n }\n\n /**\n * Monitors an iframe content window until it loads a url with a known hash, or hits a specified timeout.\n * @param iframe\n * @param timeout\n */\n monitorIframeForHash(iframe: HTMLIFrameElement, timeout: number): Promise {\n return new Promise((resolve, reject) => {\n if (timeout < DEFAULT_IFRAME_TIMEOUT_MS) {\n this.logger.warning(`system.loadFrameTimeout or system.iframeHashTimeout set to lower (${timeout}ms) than the default (${DEFAULT_IFRAME_TIMEOUT_MS}ms). This may result in timeouts.`);\n }\n\n /*\n * Polling for iframes can be purely timing based,\n * since we don't need to account for interaction.\n */\n const nowMark = window.performance.now();\n const timeoutMark = nowMark + timeout;\n\n const intervalId = setInterval(() => {\n if (window.performance.now() > timeoutMark) {\n this.removeHiddenIframe(iframe);\n clearInterval(intervalId);\n reject(BrowserAuthError.createMonitorIframeTimeoutError());\n return;\n }\n\n let href: string = Constants.EMPTY_STRING;\n const contentWindow = iframe.contentWindow;\n try {\n /*\n * Will throw if cross origin,\n * which should be caught and ignored\n * since we need the interval to keep running while on STS UI.\n */\n href = contentWindow ? contentWindow.location.href : Constants.EMPTY_STRING;\n } catch (e) {}\n\n if (StringUtils.isEmpty(href)) {\n return;\n }\n\n const contentHash = contentWindow ? contentWindow.location.hash: Constants.EMPTY_STRING;\n if (UrlString.hashContainsKnownProperties(contentHash)) {\n // Success case\n this.removeHiddenIframe(iframe);\n clearInterval(intervalId);\n resolve(contentHash);\n return;\n }\n }, this.pollIntervalMilliseconds);\n });\n }\n\n /**\n * @hidden\n * Loads iframe with authorization endpoint URL\n * @ignore\n */\n private loadFrame(urlNavigate: string): Promise {\n /*\n * This trick overcomes iframe navigation in IE\n * IE does not load the page consistently in iframe\n */\n\n return new Promise((resolve, reject) => {\n const frameHandle = this.createHiddenIframe();\n\n setTimeout(() => {\n if (!frameHandle) {\n reject(\"Unable to load iframe\");\n return;\n }\n\n frameHandle.src = urlNavigate;\n\n resolve(frameHandle);\n }, this.navigateFrameWait);\n });\n }\n\n /**\n * @hidden\n * Loads the iframe synchronously when the navigateTimeFrame is set to `0`\n * @param urlNavigate\n * @param frameName\n * @param logger\n */\n private loadFrameSync(urlNavigate: string): HTMLIFrameElement{\n const frameHandle = this.createHiddenIframe();\n\n frameHandle.src = urlNavigate;\n\n return frameHandle;\n }\n\n /**\n * @hidden\n * Creates a new hidden iframe or gets an existing one for silent token renewal.\n * @ignore\n */\n private createHiddenIframe(): HTMLIFrameElement {\n const authFrame = document.createElement(\"iframe\");\n\n authFrame.style.visibility = \"hidden\";\n authFrame.style.position = \"absolute\";\n authFrame.style.width = authFrame.style.height = \"0\";\n authFrame.style.border = \"0\";\n authFrame.setAttribute(\"sandbox\", \"allow-scripts allow-same-origin allow-forms\");\n document.getElementsByTagName(\"body\")[0].appendChild(authFrame);\n\n return authFrame;\n }\n\n /**\n * @hidden\n * Removes a hidden iframe from the page.\n * @ignore\n */\n private removeHiddenIframe(iframe: HTMLIFrameElement): void {\n if (document.body === iframe.parentNode) {\n document.body.removeChild(iframe);\n }\n }\n}\n","/*\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport { AuthenticationResult, ICrypto, Logger, StringUtils, PromptValue, CommonAuthorizationCodeRequest, AuthorizationCodeClient, AuthError, Constants, UrlString, ServerAuthorizationCodeResponse, ProtocolUtils, IPerformanceClient, PerformanceEvents } from \"@azure/msal-common\";\nimport { StandardInteractionClient } from \"./StandardInteractionClient\";\nimport { AuthorizationUrlRequest } from \"../request/AuthorizationUrlRequest\";\nimport { BrowserConfiguration } from \"../config/Configuration\";\nimport { BrowserCacheManager } from \"../cache/BrowserCacheManager\";\nimport { EventHandler } from \"../event/EventHandler\";\nimport { INavigationClient } from \"../navigation/INavigationClient\";\nimport { BrowserAuthError } from \"../error/BrowserAuthError\";\nimport { InteractionType, ApiId } from \"../utils/BrowserConstants\";\nimport { SilentHandler } from \"../interaction_handler/SilentHandler\";\nimport { SsoSilentRequest } from \"../request/SsoSilentRequest\";\nimport { NativeMessageHandler } from \"../broker/nativeBroker/NativeMessageHandler\";\nimport { NativeInteractionClient } from \"./NativeInteractionClient\";\n\nexport class SilentIframeClient extends StandardInteractionClient {\n protected apiId: ApiId;\n protected nativeStorage: BrowserCacheManager;\n\n constructor(config: BrowserConfiguration, storageImpl: BrowserCacheManager, browserCrypto: ICrypto, logger: Logger, eventHandler: EventHandler, navigationClient: INavigationClient, apiId: ApiId, performanceClient: IPerformanceClient, nativeStorageImpl: BrowserCacheManager, nativeMessageHandler?: NativeMessageHandler, correlationId?: string) {\n super(config, storageImpl, browserCrypto, logger, eventHandler, navigationClient, performanceClient, nativeMessageHandler, correlationId);\n this.apiId = apiId;\n this.nativeStorage = nativeStorageImpl;\n }\n\n /**\n * Acquires a token silently by opening a hidden iframe to the /authorize endpoint with prompt=none or prompt=no_session\n * @param request\n */\n async acquireToken(request: SsoSilentRequest): Promise {\n this.logger.verbose(\"acquireTokenByIframe called\");\n const acquireTokenMeasurement = this.performanceClient.startMeasurement(PerformanceEvents.SilentIframeClientAcquireToken, request.correlationId);\n // Check that we have some SSO data\n if (StringUtils.isEmpty(request.loginHint) && StringUtils.isEmpty(request.sid) && (!request.account || StringUtils.isEmpty(request.account.username))) {\n this.logger.warning(\"No user hint provided. The authorization server may need more information to complete this request.\");\n }\n\n // Check that prompt is set to none or no_session, throw error if it is set to anything else.\n if (request.prompt && (request.prompt !== PromptValue.NONE) && (request.prompt !== PromptValue.NO_SESSION)) {\n acquireTokenMeasurement.endMeasurement({\n success: false\n });\n throw BrowserAuthError.createSilentPromptValueError(request.prompt);\n }\n\n // Create silent request\n const silentRequest: AuthorizationUrlRequest = await this.initializeAuthorizationRequest({\n ...request,\n prompt: request.prompt || PromptValue.NONE\n }, InteractionType.Silent);\n this.browserStorage.updateCacheEntries(silentRequest.state, silentRequest.nonce, silentRequest.authority, silentRequest.loginHint || Constants.EMPTY_STRING, silentRequest.account || null);\n\n const serverTelemetryManager = this.initializeServerTelemetryManager(this.apiId);\n\n try {\n // Initialize the client\n const authClient: AuthorizationCodeClient = await this.createAuthCodeClient(serverTelemetryManager, silentRequest.authority, silentRequest.azureCloudOptions);\n this.logger.verbose(\"Auth code client created\");\n\n return await this.silentTokenHelper(authClient, silentRequest).then((result: AuthenticationResult) => {\n acquireTokenMeasurement.endMeasurement({\n success: true,\n fromCache: false,\n requestId: result.requestId\n });\n return result;\n });\n } catch (e) {\n if (e instanceof AuthError) {\n (e as AuthError).setCorrelationId(this.correlationId);\n }\n serverTelemetryManager.cacheFailedRequest(e);\n this.browserStorage.cleanRequestByState(silentRequest.state);\n acquireTokenMeasurement.endMeasurement({\n errorCode: e instanceof AuthError && e.errorCode || undefined,\n subErrorCode: e instanceof AuthError && e.subError || undefined,\n success: false\n });\n throw e;\n }\n }\n\n /**\n * Currently Unsupported\n */\n logout(): Promise {\n // Synchronous so we must reject\n return Promise.reject(BrowserAuthError.createSilentLogoutUnsupportedError());\n }\n\n /**\n * Helper which acquires an authorization code silently using a hidden iframe from given url\n * using the scopes requested as part of the id, and exchanges the code for a set of OAuth tokens.\n * @param navigateUrl\n * @param userRequestScopes\n */\n protected async silentTokenHelper(authClient: AuthorizationCodeClient, silentRequest: AuthorizationUrlRequest): Promise {\n // Create auth code request and generate PKCE params\n const authCodeRequest: CommonAuthorizationCodeRequest = await this.initializeAuthorizationCodeRequest(silentRequest);\n // Create authorize request url\n const navigateUrl = await authClient.getAuthCodeUrl({\n ...silentRequest,\n nativeBroker: NativeMessageHandler.isNativeAvailable(this.config, this.logger, this.nativeMessageHandler, silentRequest.authenticationScheme)\n });\n // Create silent handler\n const silentHandler = new SilentHandler(authClient, this.browserStorage, authCodeRequest, this.logger, this.config.system);\n // Get the frame handle for the silent request\n const msalFrame = await silentHandler.initiateAuthRequest(navigateUrl);\n // Monitor the window for the hash. Return the string value and close the popup when the hash is received. Default timeout is 60 seconds.\n const hash = await silentHandler.monitorIframeForHash(msalFrame, this.config.system.iframeHashTimeout);\n // Deserialize hash fragment response parameters.\n const serverParams: ServerAuthorizationCodeResponse = UrlString.getDeserializedHash(hash);\n const state = this.validateAndExtractStateFromHash(serverParams, InteractionType.Silent, authCodeRequest.correlationId);\n\n if (serverParams.accountId) {\n this.logger.verbose(\"Account id found in hash, calling WAM for token\");\n if (!this.nativeMessageHandler) {\n throw BrowserAuthError.createNativeConnectionNotEstablishedError();\n }\n const nativeInteractionClient = new NativeInteractionClient(this.config, this.browserStorage, this.browserCrypto, this.logger, this.eventHandler, this.navigationClient, this.apiId, this.performanceClient, this.nativeMessageHandler, serverParams.accountId, this.browserStorage, this.correlationId);\n const { userRequestState } = ProtocolUtils.parseRequestState(this.browserCrypto, state);\n return nativeInteractionClient.acquireToken({\n ...silentRequest,\n state: userRequestState,\n prompt: silentRequest.prompt || PromptValue.NONE\n }).finally(() => {\n this.browserStorage.cleanRequestByState(state);\n });\n }\n\n // Handle response from hash string\n return silentHandler.handleCodeResponseFromHash(hash, state, authClient.authority, this.networkClient);\n }\n}\n","/*\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport { StandardInteractionClient } from \"./StandardInteractionClient\";\nimport { CommonSilentFlowRequest, AuthenticationResult, ServerTelemetryManager, RefreshTokenClient, AuthError, AzureCloudOptions, PerformanceEvents } from \"@azure/msal-common\";\nimport { ApiId } from \"../utils/BrowserConstants\";\nimport { BrowserAuthError } from \"../error/BrowserAuthError\";\n\nexport class SilentRefreshClient extends StandardInteractionClient {\n /**\n * Exchanges the refresh token for new tokens\n * @param request\n */\n async acquireToken(request: CommonSilentFlowRequest): Promise {\n const silentRequest: CommonSilentFlowRequest = {\n ...request,\n ...await this.initializeBaseRequest(request)\n };\n const acquireTokenMeasurement = this.performanceClient.startMeasurement(PerformanceEvents.SilentRefreshClientAcquireToken, silentRequest.correlationId);\n const serverTelemetryManager = this.initializeServerTelemetryManager(ApiId.acquireTokenSilent_silentFlow);\n\n const refreshTokenClient = await this.createRefreshTokenClient(serverTelemetryManager, silentRequest.authority, silentRequest.azureCloudOptions);\n this.logger.verbose(\"Refresh token client created\");\n // Send request to renew token. Auth module will throw errors if token cannot be renewed.\n return refreshTokenClient.acquireTokenByRefreshToken(silentRequest)\n .then((result: AuthenticationResult) => {\n acquireTokenMeasurement.endMeasurement({\n success: true,\n fromCache: result.fromCache,\n requestId: result.requestId\n });\n\n return result;\n })\n .catch((e: AuthError) => {\n if (e instanceof AuthError) {\n (e as AuthError).setCorrelationId(this.correlationId);\n }\n serverTelemetryManager.cacheFailedRequest(e);\n acquireTokenMeasurement.endMeasurement({\n errorCode: e.errorCode,\n subErrorCode: e.subError,\n success: false\n });\n throw e;\n });\n }\n\n /**\n * Currently Unsupported\n */\n logout(): Promise {\n // Synchronous so we must reject\n return Promise.reject(BrowserAuthError.createSilentLogoutUnsupportedError());\n }\n\n /**\n * Creates a Refresh Client with the given authority, or the default authority.\n * @param serverTelemetryManager\n * @param authorityUrl\n */\n protected async createRefreshTokenClient(serverTelemetryManager: ServerTelemetryManager, authorityUrl?: string, azureCloudOptions?: AzureCloudOptions): Promise {\n // Create auth module.\n const clientConfig = await this.getClientConfiguration(serverTelemetryManager, authorityUrl, azureCloudOptions);\n return new RefreshTokenClient(clientConfig, this.performanceClient);\n }\n}\n","/*\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport { AccessTokenEntity, ICrypto, IdTokenEntity, Logger, ScopeSet, Authority, AuthorityOptions, ExternalTokenResponse, AccountEntity, AuthToken, RefreshTokenEntity , AuthorityType, CacheRecord, AuthenticationResult, Constants } from \"@azure/msal-common\";\nimport { BrowserConfiguration } from \"../config/Configuration\";\nimport { SilentRequest } from \"../request/SilentRequest\";\nimport { BrowserCacheManager } from \"./BrowserCacheManager\";\nimport { ITokenCache } from \"./ITokenCache\";\nimport { BrowserAuthError } from \"../error/BrowserAuthError\";\n\nexport type LoadTokenOptions = {\n clientInfo?: string,\n expiresOn?: number,\n extendedExpiresOn?: number\n};\n\n/**\n * Token cache manager\n */\nexport class TokenCache implements ITokenCache {\n // Flag to indicate if in browser environment\n public isBrowserEnvironment: boolean;\n // Input configuration by developer/user\n protected config: BrowserConfiguration;\n // Browser cache storage\n private storage: BrowserCacheManager;\n // Logger\n private logger: Logger;\n // Crypto class\n private cryptoObj: ICrypto;\n\n constructor(configuration: BrowserConfiguration, storage: BrowserCacheManager, logger: Logger, cryptoObj: ICrypto) {\n this.isBrowserEnvironment = typeof window !== \"undefined\";\n this.config = configuration;\n this.storage = storage;\n this.logger = logger;\n this.cryptoObj = cryptoObj;\n }\n\n // Move getAllAccounts here and cache utility APIs\n\n /**\n * API to load tokens to msal-browser cache.\n * @param request\n * @param response\n * @param options\n * @returns `AuthenticationResult` for the response that was loaded.\n */\n loadExternalTokens(request: SilentRequest, response: ExternalTokenResponse, options: LoadTokenOptions): AuthenticationResult {\n this.logger.info(\"TokenCache - loadExternalTokens called\");\n\n if (!response.id_token) {\n throw BrowserAuthError.createUnableToLoadTokenError(\"Please ensure server response includes id token.\");\n }\n\n const idToken = new AuthToken(response.id_token, this.cryptoObj);\n\n let cacheRecord: CacheRecord | undefined;\n let authority: Authority | undefined;\n\n if (request.account) {\n const cacheRecordAccount = this.loadAccount(idToken, request.account.environment, undefined, undefined, request.account.homeAccountId);\n cacheRecord = new CacheRecord(\n cacheRecordAccount,\n this.loadIdToken(idToken, cacheRecordAccount.homeAccountId, request.account.environment, request.account.tenantId),\n this.loadAccessToken(request, response, cacheRecordAccount.homeAccountId, request.account.environment, request.account.tenantId, options),\n this.loadRefreshToken(request, response, cacheRecordAccount.homeAccountId, request.account.environment)\n );\n } else if (request.authority) {\n\n const authorityUrl = Authority.generateAuthority(request.authority, request.azureCloudOptions);\n const authorityOptions: AuthorityOptions = {\n protocolMode: this.config.auth.protocolMode,\n knownAuthorities: this.config.auth.knownAuthorities,\n cloudDiscoveryMetadata: this.config.auth.cloudDiscoveryMetadata,\n authorityMetadata: this.config.auth.authorityMetadata,\n skipAuthorityMetadataCache: this.config.auth.skipAuthorityMetadataCache,\n };\n authority = new Authority(authorityUrl, this.config.system.networkClient, this.storage, authorityOptions);\n\n // \"clientInfo\" from options takes precedence over \"clientInfo\" in response\n if (options.clientInfo) {\n this.logger.trace(\"TokenCache - homeAccountId from options\");\n const cacheRecordAccount = this.loadAccount(idToken, authority.hostnameAndPort, options.clientInfo, authority.authorityType);\n cacheRecord = new CacheRecord(\n cacheRecordAccount,\n this.loadIdToken(idToken, cacheRecordAccount.homeAccountId, authority.hostnameAndPort, authority.tenant),\n this.loadAccessToken(request, response, cacheRecordAccount.homeAccountId, authority.hostnameAndPort, authority.tenant, options),\n this.loadRefreshToken(request, response, cacheRecordAccount.homeAccountId, authority.hostnameAndPort)\n );\n } else if (response.client_info) {\n this.logger.trace(\"TokenCache - homeAccountId from response\");\n const cacheRecordAccount = this.loadAccount(idToken, authority.hostnameAndPort, response.client_info, authority.authorityType);\n cacheRecord = new CacheRecord(\n cacheRecordAccount,\n this.loadIdToken(idToken, cacheRecordAccount.homeAccountId, authority.hostnameAndPort, authority.tenant),\n this.loadAccessToken(request, response, cacheRecordAccount.homeAccountId, authority.hostnameAndPort, authority.tenant, options),\n this.loadRefreshToken(request, response, cacheRecordAccount.homeAccountId, authority.hostnameAndPort)\n );\n } else {\n throw BrowserAuthError.createUnableToLoadTokenError(\"Please provide clientInfo in the response or options.\");\n }\n } else {\n throw BrowserAuthError.createUnableToLoadTokenError(\"Please provide a request with an account or a request with authority.\");\n }\n\n return this.generateAuthenticationResult(request, idToken, cacheRecord, authority);\n }\n\n /**\n * Helper function to load account to msal-browser cache\n * @param idToken\n * @param environment\n * @param clientInfo\n * @param authorityType\n * @param requestHomeAccountId\n * @returns `AccountEntity`\n */\n private loadAccount(idToken: AuthToken, environment: string, clientInfo?: string, authorityType?: AuthorityType, requestHomeAccountId?: string): AccountEntity {\n\n let homeAccountId;\n if (requestHomeAccountId) {\n homeAccountId = requestHomeAccountId;\n } else if (authorityType !== undefined && clientInfo) {\n homeAccountId = AccountEntity.generateHomeAccountId(clientInfo, authorityType, this.logger, this.cryptoObj, idToken);\n }\n\n if (!homeAccountId) {\n throw BrowserAuthError.createUnableToLoadTokenError(\"Unexpected missing homeAccountId\");\n }\n\n const accountEntity = clientInfo ?\n AccountEntity.createAccount(clientInfo, homeAccountId, idToken, undefined, undefined, undefined, environment) :\n AccountEntity.createGenericAccount(homeAccountId, idToken, undefined, undefined, undefined, environment);\n\n if (this.isBrowserEnvironment) {\n this.logger.verbose(\"TokenCache - loading account\");\n\n this.storage.setAccount(accountEntity);\n return accountEntity;\n } else {\n throw BrowserAuthError.createUnableToLoadTokenError(\"loadExternalTokens is designed to work in browser environments only.\");\n }\n }\n\n /**\n * Helper function to load id tokens to msal-browser cache\n * @param idToken\n * @param homeAccountId\n * @param environment\n * @param tenantId\n * @returns `IdTokenEntity`\n */\n private loadIdToken(idToken: AuthToken, homeAccountId: string, environment: string, tenantId: string): IdTokenEntity {\n\n const idTokenEntity = IdTokenEntity.createIdTokenEntity(homeAccountId, environment, idToken.rawToken, this.config.auth.clientId, tenantId);\n\n if (this.isBrowserEnvironment) {\n this.logger.verbose(\"TokenCache - loading id token\");\n this.storage.setIdTokenCredential(idTokenEntity);\n return idTokenEntity;\n } else {\n throw BrowserAuthError.createUnableToLoadTokenError(\"loadExternalTokens is designed to work in browser environments only.\");\n }\n }\n\n /**\n * Helper function to load access tokens to msal-browser cache\n * @param request\n * @param response\n * @param homeAccountId\n * @param environment\n * @param tenantId\n * @returns `AccessTokenEntity`\n */\n private loadAccessToken(request: SilentRequest, response: ExternalTokenResponse, homeAccountId: string, environment: string, tenantId: string, options: LoadTokenOptions): AccessTokenEntity | null {\n\n if (!response.access_token) {\n this.logger.verbose(\"TokenCache - No access token provided for caching\");\n return null;\n }\n\n if (!response.expires_in) {\n throw BrowserAuthError.createUnableToLoadTokenError(\"Please ensure server response includes expires_in value.\");\n }\n\n if (!options.extendedExpiresOn) {\n throw BrowserAuthError.createUnableToLoadTokenError(\"Please provide an extendedExpiresOn value in the options.\");\n }\n\n const scopes = new ScopeSet(request.scopes).printScopes();\n const expiresOn = options.expiresOn || (response.expires_in + new Date().getTime() / 1000);\n const extendedExpiresOn = options.extendedExpiresOn;\n\n const accessTokenEntity = AccessTokenEntity.createAccessTokenEntity(homeAccountId, environment, response.access_token, this.config.auth.clientId, tenantId, scopes, expiresOn, extendedExpiresOn, this.cryptoObj);\n\n if (this.isBrowserEnvironment) {\n this.logger.verbose(\"TokenCache - loading access token\");\n this.storage.setAccessTokenCredential(accessTokenEntity);\n return accessTokenEntity;\n } else {\n throw BrowserAuthError.createUnableToLoadTokenError(\"loadExternalTokens is designed to work in browser environments only.\");\n }\n }\n\n /**\n * Helper function to load refresh tokens to msal-browser cache\n * @param request\n * @param response\n * @param homeAccountId\n * @param environment\n * @returns `RefreshTokenEntity`\n */\n private loadRefreshToken(request: SilentRequest, response: ExternalTokenResponse, homeAccountId: string, environment: string): RefreshTokenEntity | null {\n\n if (!response.refresh_token) {\n this.logger.verbose(\"TokenCache - No refresh token provided for caching\");\n return null;\n }\n\n const refreshTokenEntity = RefreshTokenEntity.createRefreshTokenEntity(homeAccountId, environment, response.refresh_token, this.config.auth.clientId);\n\n if (this.isBrowserEnvironment) {\n this.logger.verbose(\"TokenCache - loading refresh token\");\n this.storage.setRefreshTokenCredential(refreshTokenEntity);\n return refreshTokenEntity;\n } else {\n throw BrowserAuthError.createUnableToLoadTokenError(\"loadExternalTokens is designed to work in browser environments only.\");\n }\n }\n\n /**\n * Helper function to generate an `AuthenticationResult` for the result.\n * @param request\n * @param idTokenObj\n * @param cacheRecord\n * @param authority\n * @returns `AuthenticationResult`\n */\n private generateAuthenticationResult(\n request: SilentRequest,\n idTokenObj: AuthToken,\n cacheRecord?: CacheRecord,\n authority?: Authority,\n ): AuthenticationResult {\n let accessToken: string = Constants.EMPTY_STRING;\n let responseScopes: Array = [];\n let expiresOn: Date | null = null;\n let extExpiresOn: Date | undefined;\n\n if (cacheRecord?.accessToken) {\n accessToken = cacheRecord.accessToken.secret;\n responseScopes = ScopeSet.fromString(cacheRecord.accessToken.target).asArray();\n expiresOn = new Date(Number(cacheRecord.accessToken.expiresOn) * 1000);\n extExpiresOn = new Date(Number(cacheRecord.accessToken.extendedExpiresOn) * 1000);\n }\n\n const uid = idTokenObj?.claims.oid || idTokenObj?.claims.sub || Constants.EMPTY_STRING;\n const tid = idTokenObj?.claims.tid || Constants.EMPTY_STRING;\n\n return {\n authority: authority ? authority.canonicalAuthority : Constants.EMPTY_STRING,\n uniqueId: uid,\n tenantId: tid,\n scopes: responseScopes,\n account: cacheRecord?.account ? cacheRecord.account.getAccountInfo() : null,\n idToken: idTokenObj ? idTokenObj.rawToken : Constants.EMPTY_STRING,\n idTokenClaims: idTokenObj ? idTokenObj.claims : {},\n accessToken: accessToken,\n fromCache: true,\n expiresOn: expiresOn,\n correlationId: request.correlationId || Constants.EMPTY_STRING,\n requestId: Constants.EMPTY_STRING,\n extExpiresOn: extExpiresOn,\n familyId: Constants.EMPTY_STRING,\n tokenType: cacheRecord?.accessToken?.tokenType || Constants.EMPTY_STRING,\n state: Constants.EMPTY_STRING,\n cloudGraphHostName: cacheRecord?.account?.cloudGraphHostName || Constants.EMPTY_STRING,\n msGraphHost: cacheRecord?.account?.msGraphHost || Constants.EMPTY_STRING,\n code: undefined,\n fromNativeBroker: false\n };\n }\n}\n\n","/*\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport { AuthorizationCodeClient, ClientConfiguration } from \"@azure/msal-common\";\n\nexport class HybridSpaAuthorizationCodeClient extends AuthorizationCodeClient {\n constructor(config: ClientConfiguration) {\n super(config);\n this.includeRedirectUri = false;\n }\n}\n","/*\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport { AuthenticationResult, ICrypto, Logger, CommonAuthorizationCodeRequest, AuthError, Constants, IPerformanceClient } from \"@azure/msal-common\";\nimport { StandardInteractionClient } from \"./StandardInteractionClient\";\nimport { AuthorizationUrlRequest } from \"../request/AuthorizationUrlRequest\";\nimport { BrowserConfiguration } from \"../config/Configuration\";\nimport { BrowserCacheManager } from \"../cache/BrowserCacheManager\";\nimport { EventHandler } from \"../event/EventHandler\";\nimport { INavigationClient } from \"../navigation/INavigationClient\";\nimport { BrowserAuthError } from \"../error/BrowserAuthError\";\nimport { InteractionType, ApiId } from \"../utils/BrowserConstants\";\nimport { SilentHandler } from \"../interaction_handler/SilentHandler\";\nimport { AuthorizationCodeRequest } from \"../request/AuthorizationCodeRequest\";\nimport { HybridSpaAuthorizationCodeClient } from \"./HybridSpaAuthorizationCodeClient\";\nimport { NativeMessageHandler } from \"../broker/nativeBroker/NativeMessageHandler\";\n\nexport class SilentAuthCodeClient extends StandardInteractionClient {\n private apiId: ApiId;\n\n constructor(config: BrowserConfiguration, storageImpl: BrowserCacheManager, browserCrypto: ICrypto, logger: Logger, eventHandler: EventHandler, navigationClient: INavigationClient, apiId: ApiId, performanceClient: IPerformanceClient, nativeMessageHandler?: NativeMessageHandler, correlationId?: string) {\n super(config, storageImpl, browserCrypto, logger, eventHandler, navigationClient, performanceClient, nativeMessageHandler, correlationId);\n this.apiId = apiId;\n }\n\n /**\n * Acquires a token silently by redeeming an authorization code against the /token endpoint\n * @param request\n */\n async acquireToken(request: AuthorizationCodeRequest): Promise {\n this.logger.trace(\"SilentAuthCodeClient.acquireToken called\");\n\n // Auth code payload is required\n if (!request.code) {\n throw BrowserAuthError.createAuthCodeRequiredError();\n\n }\n\n // Create silent request\n const silentRequest: AuthorizationUrlRequest = await this.initializeAuthorizationRequest(request, InteractionType.Silent);\n this.browserStorage.updateCacheEntries(silentRequest.state, silentRequest.nonce, silentRequest.authority, silentRequest.loginHint || Constants.EMPTY_STRING, silentRequest.account || null);\n\n const serverTelemetryManager = this.initializeServerTelemetryManager(this.apiId);\n\n try {\n\n // Create auth code request (PKCE not needed)\n const authCodeRequest: CommonAuthorizationCodeRequest = {\n ...silentRequest,\n code: request.code\n };\n\n // Initialize the client\n const clientConfig = await this.getClientConfiguration(serverTelemetryManager, silentRequest.authority);\n const authClient: HybridSpaAuthorizationCodeClient = new HybridSpaAuthorizationCodeClient(clientConfig);\n this.logger.verbose(\"Auth code client created\");\n\n // Create silent handler\n const silentHandler = new SilentHandler(authClient, this.browserStorage, authCodeRequest, this.logger, this.config.system);\n\n // Handle auth code parameters from request\n return silentHandler.handleCodeResponseFromServer(\n {\n code: request.code,\n msgraph_host: request.msGraphHost,\n cloud_graph_host_name: request.cloudGraphHostName,\n cloud_instance_host_name: request.cloudInstanceHostName\n },\n silentRequest.state,\n authClient.authority,\n this.networkClient,\n false\n );\n } catch (e) {\n if (e instanceof AuthError) {\n (e as AuthError).setCorrelationId(this.correlationId);\n }\n serverTelemetryManager.cacheFailedRequest(e);\n this.browserStorage.cleanRequestByState(silentRequest.state);\n throw e;\n }\n }\n\n /**\n * Currently Unsupported\n */\n logout(): Promise {\n // Synchronous so we must reject\n return Promise.reject(BrowserAuthError.createSilentLogoutUnsupportedError());\n }\n}\n","/*\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport { IPerformanceMeasurement } from \"@azure/msal-common\";\n\nexport class BrowserPerformanceMeasurement implements IPerformanceMeasurement {\n private measureName: string;\n private correlationId: string;\n private startMark: string;\n private endMark: string;\n\n constructor(name: string, correlationId: string) {\n this.correlationId = correlationId;\n this.measureName = `msal.measure.${name}.${this.correlationId}`;\n this.startMark = `msal.start.${name}.${this.correlationId}`;\n this.endMark = `msal.end.${name}.${this.correlationId}`;\n }\n\n static supportsBrowserPerformance(): boolean {\n return typeof window !== \"undefined\" &&\n typeof window.performance !== \"undefined\" &&\n typeof window.performance.mark === \"function\" && \n typeof window.performance.measure === \"function\" &&\n typeof window.performance.clearMarks === \"function\" &&\n typeof window.performance.clearMeasures === \"function\" &&\n typeof window.performance.getEntriesByName === \"function\";\n }\n\n startMeasurement(): void {\n if (BrowserPerformanceMeasurement.supportsBrowserPerformance()) {\n try {\n window.performance.mark(this.startMark);\n } catch (e) {\n // Silently catch\n }\n }\n }\n\n endMeasurement():void {\n if (BrowserPerformanceMeasurement.supportsBrowserPerformance()) {\n try {\n window.performance.mark(this.endMark);\n window.performance.measure(this.measureName, this.startMark, this.endMark);\n } catch (e) {\n // Silently catch\n }\n }\n }\n\n flushMeasurement(): number | null {\n if (BrowserPerformanceMeasurement.supportsBrowserPerformance()) {\n try {\n const entriesForMeasurement = window.performance.getEntriesByName(this.measureName, \"measure\");\n if (entriesForMeasurement.length > 0) {\n const durationMs = entriesForMeasurement[0].duration;\n window.performance.clearMeasures(this.measureName);\n window.performance.clearMarks(this.startMark);\n window.performance.clearMarks(this.endMark);\n return durationMs;\n }\n } catch (e) {\n // Silently catch and return null\n }\n }\n return null;\n }\n}\n","/*\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport { Logger, PerformanceEvent, PerformanceEvents, IPerformanceClient, PerformanceClient, IPerformanceMeasurement, InProgressPerformanceEvent, ApplicationTelemetry } from \"@azure/msal-common\";\nimport { CryptoOptions } from \"../config/Configuration\";\nimport { BrowserCrypto } from \"../crypto/BrowserCrypto\";\nimport { GuidGenerator } from \"../crypto/GuidGenerator\";\nimport { BrowserPerformanceMeasurement } from \"./BrowserPerformanceMeasurement\";\n\nexport class BrowserPerformanceClient extends PerformanceClient implements IPerformanceClient {\n private browserCrypto: BrowserCrypto;\n private guidGenerator: GuidGenerator;\n \n constructor(clientId: string, authority: string, logger: Logger, libraryName: string, libraryVersion: string, applicationTelemetry: ApplicationTelemetry, cryptoOptions: CryptoOptions) {\n super(clientId, authority, logger, libraryName, libraryVersion, applicationTelemetry);\n this.browserCrypto = new BrowserCrypto(this.logger, cryptoOptions);\n this.guidGenerator = new GuidGenerator(this.browserCrypto);\n }\n \n startPerformanceMeasuremeant(measureName: string, correlationId: string): IPerformanceMeasurement {\n return new BrowserPerformanceMeasurement(measureName, correlationId);\n }\n\n generateId() : string {\n return this.guidGenerator.generateGuid();\n }\n\n private getPageVisibility(): string | null {\n return document.visibilityState?.toString() || null;\n }\n \n /**\n * Starts measuring performance for a given operation. Returns a function that should be used to end the measurement.\n * Also captures browser page visibilityState.\n *\n * @param {PerformanceEvents} measureName\n * @param {?string} [correlationId]\n * @returns {((event?: Partial) => PerformanceEvent| null)}\n */\n startMeasurement(measureName: PerformanceEvents, correlationId?: string): InProgressPerformanceEvent {\n // Capture page visibilityState and then invoke start/end measurement\n const startPageVisibility = this.getPageVisibility();\n \n const inProgressEvent = super.startMeasurement(measureName, correlationId);\n\n return {\n ...inProgressEvent,\n endMeasurement: (event?: Partial): PerformanceEvent | null => {\n return inProgressEvent.endMeasurement({\n startPageVisibility,\n endPageVisibility: this.getPageVisibility(),\n ...event\n });\n }\n };\n }\n}\n","/*\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport { AccountInfo, AuthenticationResult, Constants, RequestThumbprint, AuthError, PerformanceEvents, ServerError, InteractionRequiredAuthError } from \"@azure/msal-common\";\nimport { Configuration } from \"../config/Configuration\";\nimport { DEFAULT_REQUEST, InteractionType, ApiId, CacheLookupPolicy, BrowserConstants } from \"../utils/BrowserConstants\";\nimport { IPublicClientApplication } from \"./IPublicClientApplication\";\nimport { RedirectRequest } from \"../request/RedirectRequest\";\nimport { PopupRequest } from \"../request/PopupRequest\";\nimport { ClientApplication } from \"./ClientApplication\";\nimport { SilentRequest } from \"../request/SilentRequest\";\nimport { EventType } from \"../event/EventType\";\nimport { BrowserAuthError } from \"../error/BrowserAuthError\";\nimport { NativeAuthError } from \"../error/NativeAuthError\";\nimport { NativeMessageHandler } from \"../broker/nativeBroker/NativeMessageHandler\";\nimport { BrowserUtils } from \"../utils/BrowserUtils\";\n\n/**\n * The PublicClientApplication class is the object exposed by the library to perform authentication and authorization functions in Single Page Applications\n * to obtain JWT tokens as described in the OAuth 2.0 Authorization Code Flow with PKCE specification.\n */\nexport class PublicClientApplication extends ClientApplication implements IPublicClientApplication {\n\n // Active requests\n private activeSilentTokenRequests: Map>;\n\n /**\n * @constructor\n * Constructor for the PublicClientApplication used to instantiate the PublicClientApplication object\n *\n * Important attributes in the Configuration object for auth are:\n * - clientID: the application ID of your application. You can obtain one by registering your application with our Application registration portal : https://portal.azure.com/#blade/Microsoft_AAD_IAM/ActiveDirectoryMenuBlade/RegisteredAppsPreview\n * - authority: the authority URL for your application.\n * - redirect_uri: the uri of your application registered in the portal.\n *\n * In Azure AD, authority is a URL indicating the Azure active directory that MSAL uses to obtain tokens.\n * It is of the form https://login.microsoftonline.com/{Enter_the_Tenant_Info_Here}\n * If your application supports Accounts in one organizational directory, replace \"Enter_the_Tenant_Info_Here\" value with the Tenant Id or Tenant name (for example, contoso.microsoft.com).\n * If your application supports Accounts in any organizational directory, replace \"Enter_the_Tenant_Info_Here\" value with organizations.\n * If your application supports Accounts in any organizational directory and personal Microsoft accounts, replace \"Enter_the_Tenant_Info_Here\" value with common.\n * To restrict support to Personal Microsoft accounts only, replace \"Enter_the_Tenant_Info_Here\" value with consumers.\n *\n * In Azure B2C, authority is of the form https://{instance}/tfp/{tenant}/{policyName}/\n * Full B2C functionality will be available in this library in future versions.\n *\n * @param configuration object for the MSAL PublicClientApplication instance\n */\n constructor(configuration: Configuration) {\n super(configuration);\n\n this.activeSilentTokenRequests = new Map();\n }\n\n /**\n * Use when initiating the login process by redirecting the user's browser to the authorization endpoint. This function redirects the page, so\n * any code that follows this function will not execute.\n *\n * IMPORTANT: It is NOT recommended to have code that is dependent on the resolution of the Promise. This function will navigate away from the current\n * browser window. It currently returns a Promise in order to reflect the asynchronous nature of the code running in this function.\n *\n * @param request\n */\n async loginRedirect(request?: RedirectRequest): Promise {\n const correlationId: string = this.getRequestCorrelationId(request);\n this.logger.verbose(\"loginRedirect called\", correlationId);\n return this.acquireTokenRedirect({\n correlationId,\n ...(request || DEFAULT_REQUEST)\n });\n }\n\n /**\n * Use when initiating the login process via opening a popup window in the user's browser\n *\n * @param request\n *\n * @returns A promise that is fulfilled when this function has completed, or rejected if an error was raised.\n */\n loginPopup(request?: PopupRequest): Promise {\n const correlationId: string = this.getRequestCorrelationId(request);\n this.logger.verbose(\"loginPopup called\", correlationId);\n return this.acquireTokenPopup({\n correlationId,\n ...(request || DEFAULT_REQUEST)\n });\n }\n\n /**\n * Silently acquire an access token for a given set of scopes. Returns currently processing promise if parallel requests are made.\n *\n * @param {@link (SilentRequest:type)}\n * @returns {Promise.} - a promise that is fulfilled when this function has completed, or rejected if an error was raised. Returns the {@link AuthResponse} object\n */\n async acquireTokenSilent(request: SilentRequest): Promise {\n const correlationId = this.getRequestCorrelationId(request);\n const atsMeasurement = this.performanceClient.startMeasurement(PerformanceEvents.AcquireTokenSilent, correlationId);\n \n this.preflightBrowserEnvironmentCheck(InteractionType.Silent);\n this.logger.verbose(\"acquireTokenSilent called\", correlationId);\n\n const account = request.account || this.getActiveAccount();\n if (!account) {\n throw BrowserAuthError.createNoAccountError();\n }\n\n const thumbprint: RequestThumbprint = {\n clientId: this.config.auth.clientId,\n authority: request.authority || Constants.EMPTY_STRING,\n scopes: request.scopes,\n homeAccountIdentifier: account.homeAccountId,\n claims: request.claims,\n authenticationScheme: request.authenticationScheme,\n resourceRequestMethod: request.resourceRequestMethod,\n resourceRequestUri: request.resourceRequestUri,\n shrClaims: request.shrClaims,\n sshKid: request.sshKid\n };\n const silentRequestKey = JSON.stringify(thumbprint);\n\n const cachedResponse = this.activeSilentTokenRequests.get(silentRequestKey);\n if (typeof cachedResponse === \"undefined\") {\n this.logger.verbose(\"acquireTokenSilent called for the first time, storing active request\", correlationId);\n\n const response = this.acquireTokenSilentAsync({\n ...request,\n correlationId\n }, account)\n .then((result) => {\n this.activeSilentTokenRequests.delete(silentRequestKey);\n atsMeasurement.endMeasurement({\n success: true,\n fromCache: result.fromCache,\n accessTokenSize: result.accessToken.length,\n idTokenSize: result.idToken.length,\n isNativeBroker: result.fromNativeBroker,\n cacheLookupPolicy: request.cacheLookupPolicy,\n requestId: result.requestId\n });\n atsMeasurement.flushMeasurement();\n return result;\n })\n .catch((error: AuthError) => {\n this.activeSilentTokenRequests.delete(silentRequestKey);\n atsMeasurement.endMeasurement({\n errorCode: error.errorCode,\n subErrorCode: error.subError,\n success: false\n });\n atsMeasurement.flushMeasurement();\n throw error;\n });\n this.activeSilentTokenRequests.set(silentRequestKey, response);\n return response;\n } else {\n this.logger.verbose(\"acquireTokenSilent has been called previously, returning the result from the first call\", correlationId);\n atsMeasurement.endMeasurement({\n success: true\n });\n // Discard measurements for memoized calls, as they are usually only a couple of ms and will artificially deflate metrics\n atsMeasurement.discardMeasurement();\n return cachedResponse;\n }\n }\n\n /**\n * Silently acquire an access token for a given set of scopes. Will use cached token if available, otherwise will attempt to acquire a new token from the network via refresh token.\n * @param {@link (SilentRequest:type)}\n * @param {@link (AccountInfo:type)}\n * @returns {Promise.} - a promise that is fulfilled when this function has completed, or rejected if an error was raised. Returns the {@link AuthResponse} \n */\n protected async acquireTokenSilentAsync(request: SilentRequest, account: AccountInfo): Promise{\n this.eventHandler.emitEvent(EventType.ACQUIRE_TOKEN_START, InteractionType.Silent, request);\n const astsAsyncMeasurement = this.performanceClient.startMeasurement(PerformanceEvents.AcquireTokenSilentAsync, request.correlationId);\n\n let result: Promise;\n if (NativeMessageHandler.isNativeAvailable(this.config, this.logger, this.nativeExtensionProvider, request.authenticationScheme) && account.nativeAccountId) {\n this.logger.verbose(\"acquireTokenSilent - attempting to acquire token from native platform\");\n const silentRequest: SilentRequest = {\n ...request,\n account\n };\n result = this.acquireTokenNative(silentRequest, ApiId.acquireTokenSilent_silentFlow).catch(async (e: AuthError) => {\n // If native token acquisition fails for availability reasons fallback to web flow\n if (e instanceof NativeAuthError && e.isFatal()) {\n this.logger.verbose(\"acquireTokenSilent - native platform unavailable, falling back to web flow\");\n this.nativeExtensionProvider = undefined; // Prevent future requests from continuing to attempt \n\n // Cache will not contain tokens, given that previous WAM requests succeeded. Skip cache and RT renewal and go straight to iframe renewal\n const silentIframeClient = this.createSilentIframeClient(request.correlationId);\n return silentIframeClient.acquireToken(request);\n }\n throw e;\n }); \n } else {\n this.logger.verbose(\"acquireTokenSilent - attempting to acquire token from web flow\");\n\n const silentCacheClient = this.createSilentCacheClient(request.correlationId);\n const silentRequest = await silentCacheClient.initializeSilentRequest(request, account);\n \n const requestWithCLP = {\n ...request,\n // set the request's CacheLookupPolicy to Default if it was not optionally passed in\n cacheLookupPolicy: request.cacheLookupPolicy || CacheLookupPolicy.Default\n };\n\n result = this.acquireTokenFromCache(silentCacheClient, silentRequest, requestWithCLP).catch((cacheError: AuthError) => {\n if (requestWithCLP.cacheLookupPolicy === CacheLookupPolicy.AccessToken) {\n throw cacheError;\n }\n\n // block the reload if it occurred inside a hidden iframe\n BrowserUtils.blockReloadInHiddenIframes();\n this.eventHandler.emitEvent(EventType.ACQUIRE_TOKEN_NETWORK_START, InteractionType.Silent, silentRequest);\n\n return this.acquireTokenByRefreshToken(silentRequest, requestWithCLP).catch((refreshTokenError: AuthError) => {\n const isServerError = refreshTokenError instanceof ServerError;\n const isInteractionRequiredError = refreshTokenError instanceof InteractionRequiredAuthError;\n const isInvalidGrantError = (refreshTokenError.errorCode === BrowserConstants.INVALID_GRANT_ERROR);\n\n if ((!isServerError ||\n !isInvalidGrantError ||\n isInteractionRequiredError ||\n requestWithCLP.cacheLookupPolicy === CacheLookupPolicy.AccessTokenAndRefreshToken ||\n requestWithCLP.cacheLookupPolicy === CacheLookupPolicy.RefreshToken)\n && (requestWithCLP.cacheLookupPolicy !== CacheLookupPolicy.Skip)\n ) {\n throw refreshTokenError;\n }\n \n this.logger.verbose(\"Refresh token expired/invalid or CacheLookupPolicy is set to Skip, attempting acquire token by iframe.\", request.correlationId);\n return this.acquireTokenBySilentIframe(silentRequest);\n });\n });\n }\n\n return result.then((response) => {\n this.eventHandler.emitEvent(EventType.ACQUIRE_TOKEN_SUCCESS, InteractionType.Silent, response);\n astsAsyncMeasurement.endMeasurement({\n success: true,\n fromCache: response.fromCache,\n accessTokenSize: response.accessToken.length,\n idTokenSize: response.idToken.length,\n isNativeBroker: response.fromNativeBroker,\n requestId: response.requestId\n });\n return response;\n }).catch((tokenRenewalError: AuthError) => {\n this.eventHandler.emitEvent(EventType.ACQUIRE_TOKEN_FAILURE, InteractionType.Silent, null, tokenRenewalError);\n astsAsyncMeasurement.endMeasurement({\n errorCode: tokenRenewalError.errorCode,\n subErrorCode: tokenRenewalError.subError,\n success: false\n });\n throw tokenRenewalError;\n });\n }\n}\n","/*\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport { CryptoOps } from \"../crypto/CryptoOps\";\nimport { StringUtils, InteractionRequiredAuthError, AccountInfo, Constants, INetworkModule, AuthenticationResult, Logger, CommonSilentFlowRequest, ICrypto, DEFAULT_CRYPTO_IMPLEMENTATION, AuthError, PerformanceEvents, PerformanceCallbackFunction, StubPerformanceClient, IPerformanceClient, BaseAuthRequest, PromptValue, ClientAuthError } from \"@azure/msal-common\";\nimport { BrowserCacheManager, DEFAULT_BROWSER_CACHE_MANAGER } from \"../cache/BrowserCacheManager\";\nimport { BrowserConfiguration, buildConfiguration, CacheOptions, Configuration } from \"../config/Configuration\";\nimport { InteractionType, ApiId, BrowserCacheLocation, WrapperSKU, TemporaryCacheKeys, CacheLookupPolicy } from \"../utils/BrowserConstants\";\nimport { BrowserUtils } from \"../utils/BrowserUtils\";\nimport { RedirectRequest } from \"../request/RedirectRequest\";\nimport { PopupRequest } from \"../request/PopupRequest\";\nimport { SsoSilentRequest } from \"../request/SsoSilentRequest\";\nimport { version, name } from \"../packageMetadata\";\nimport { EventCallbackFunction } from \"../event/EventMessage\";\nimport { EventType } from \"../event/EventType\";\nimport { EndSessionRequest } from \"../request/EndSessionRequest\";\nimport { BrowserConfigurationAuthError } from \"../error/BrowserConfigurationAuthError\";\nimport { EndSessionPopupRequest } from \"../request/EndSessionPopupRequest\";\nimport { INavigationClient } from \"../navigation/INavigationClient\";\nimport { EventHandler } from \"../event/EventHandler\";\nimport { PopupClient } from \"../interaction_client/PopupClient\";\nimport { RedirectClient } from \"../interaction_client/RedirectClient\";\nimport { SilentIframeClient } from \"../interaction_client/SilentIframeClient\";\nimport { SilentRefreshClient } from \"../interaction_client/SilentRefreshClient\";\nimport { TokenCache } from \"../cache/TokenCache\";\nimport { ITokenCache } from \"../cache/ITokenCache\";\nimport { NativeInteractionClient } from \"../interaction_client/NativeInteractionClient\";\nimport { NativeMessageHandler } from \"../broker/nativeBroker/NativeMessageHandler\";\nimport { SilentRequest } from \"../request/SilentRequest\";\nimport { NativeAuthError } from \"../error/NativeAuthError\";\nimport { SilentCacheClient } from \"../interaction_client/SilentCacheClient\";\nimport { SilentAuthCodeClient } from \"../interaction_client/SilentAuthCodeClient\";\nimport { BrowserAuthError } from \"../error/BrowserAuthError\";\nimport { AuthorizationCodeRequest } from \"../request/AuthorizationCodeRequest\";\nimport { NativeTokenRequest } from \"../broker/nativeBroker/NativeRequest\";\nimport { BrowserPerformanceClient } from \"../telemetry/BrowserPerformanceClient\";\n\nexport abstract class ClientApplication {\n\n // Crypto interface implementation\n protected readonly browserCrypto: ICrypto;\n\n // Storage interface implementation\n protected readonly browserStorage: BrowserCacheManager;\n\n // Native Cache in memory storage implementation\n protected readonly nativeInternalStorage: BrowserCacheManager;\n\n // Network interface implementation\n protected readonly networkClient: INetworkModule;\n\n // Navigation interface implementation\n protected navigationClient: INavigationClient;\n\n // Input configuration by developer/user\n protected config: BrowserConfiguration;\n\n // Token cache implementation\n private tokenCache: TokenCache;\n\n // Logger\n protected logger: Logger;\n\n // Flag to indicate if in browser environment\n protected isBrowserEnvironment: boolean;\n\n protected eventHandler: EventHandler;\n\n // Redirect Response Object\n protected redirectResponse: Map>;\n\n // Native Extension Provider\n protected nativeExtensionProvider: NativeMessageHandler | undefined;\n\n // Hybrid auth code responses\n private hybridAuthCodeResponses: Map>;\n\n // Performance telemetry client\n protected performanceClient: IPerformanceClient;\n\n // Flag representing whether or not the initialize API has been called and completed\n protected initialized: boolean;\n\n /**\n * @constructor\n * Constructor for the PublicClientApplication used to instantiate the PublicClientApplication object\n *\n * Important attributes in the Configuration object for auth are:\n * - clientID: the application ID of your application. You can obtain one by registering your application with our Application registration portal : https://portal.azure.com/#blade/Microsoft_AAD_IAM/ActiveDirectoryMenuBlade/RegisteredAppsPreview\n * - authority: the authority URL for your application.\n * - redirect_uri: the uri of your application registered in the portal.\n *\n * In Azure AD, authority is a URL indicating the Azure active directory that MSAL uses to obtain tokens.\n * It is of the form https://login.microsoftonline.com/{Enter_the_Tenant_Info_Here}\n * If your application supports Accounts in one organizational directory, replace \"Enter_the_Tenant_Info_Here\" value with the Tenant Id or Tenant name (for example, contoso.microsoft.com).\n * If your application supports Accounts in any organizational directory, replace \"Enter_the_Tenant_Info_Here\" value with organizations.\n * If your application supports Accounts in any organizational directory and personal Microsoft accounts, replace \"Enter_the_Tenant_Info_Here\" value with common.\n * To restrict support to Personal Microsoft accounts only, replace \"Enter_the_Tenant_Info_Here\" value with consumers.\n *\n * In Azure B2C, authority is of the form https://{instance}/tfp/{tenant}/{policyName}/\n * Full B2C functionality will be available in this library in future versions.\n *\n * @param configuration Object for the MSAL PublicClientApplication instance\n */\n constructor(configuration: Configuration) {\n /*\n * If loaded in an environment where window is not available,\n * set internal flag to false so that further requests fail.\n * This is to support server-side rendering environments.\n */\n this.isBrowserEnvironment = typeof window !== \"undefined\";\n // Set the configuration.\n this.config = buildConfiguration(configuration, this.isBrowserEnvironment);\n this.initialized = false;\n\n // Initialize logger\n this.logger = new Logger(this.config.system.loggerOptions, name, version);\n\n // Initialize the network module class.\n this.networkClient = this.config.system.networkClient;\n\n // Initialize the navigation client class.\n this.navigationClient = this.config.system.navigationClient;\n\n // Initialize redirectResponse Map\n this.redirectResponse = new Map();\n\n // Initial hybrid spa map\n this.hybridAuthCodeResponses = new Map();\n\n // Initialize performance client\n this.performanceClient = this.isBrowserEnvironment ?\n new BrowserPerformanceClient(this.config.auth.clientId, this.config.auth.authority, this.logger, name, version, this.config.telemetry.application, this.config.system.cryptoOptions) :\n new StubPerformanceClient(this.config.auth.clientId, this.config.auth.authority, this.logger, name, version, this.config.telemetry.application);\n\n // Initialize the crypto class.\n this.browserCrypto = this.isBrowserEnvironment ? new CryptoOps(this.logger, this.performanceClient, this.config.system.cryptoOptions) : DEFAULT_CRYPTO_IMPLEMENTATION;\n\n this.eventHandler = new EventHandler(this.logger, this.browserCrypto);\n\n // Initialize the browser storage class.\n this.browserStorage = this.isBrowserEnvironment ?\n new BrowserCacheManager(this.config.auth.clientId, this.config.cache, this.browserCrypto, this.logger) :\n DEFAULT_BROWSER_CACHE_MANAGER(this.config.auth.clientId, this.logger);\n\n // initialize in memory storage for native flows\n const nativeCacheOptions: Required = {\n cacheLocation: BrowserCacheLocation.MemoryStorage,\n storeAuthStateInCookie: false,\n secureCookies: false\n };\n this.nativeInternalStorage = new BrowserCacheManager(this.config.auth.clientId, nativeCacheOptions, this.browserCrypto, this.logger);\n\n // Initialize the token cache\n this.tokenCache = new TokenCache(this.config, this.browserStorage, this.logger, this.browserCrypto);\n }\n\n /**\n * Initializer function to perform async startup tasks such as connecting to WAM extension\n */\n async initialize(): Promise {\n this.logger.trace(\"initialize called\");\n if (this.initialized) {\n this.logger.info(\"initialize has already been called, exiting early.\");\n return;\n }\n this.eventHandler.emitEvent(EventType.INITIALIZE_START);\n if (this.config.system.allowNativeBroker) {\n try {\n this.nativeExtensionProvider = await NativeMessageHandler.createProvider(this.logger, this.config.system.nativeBrokerHandshakeTimeout);\n } catch (e) {\n this.logger.verbose(e);\n }\n }\n this.initialized = true;\n this.eventHandler.emitEvent(EventType.INITIALIZE_END);\n }\n\n // #region Redirect Flow\n\n /**\n * Event handler function which allows users to fire events after the PublicClientApplication object\n * has loaded during redirect flows. This should be invoked on all page loads involved in redirect\n * auth flows.\n * @param hash Hash to process. Defaults to the current value of window.location.hash. Only needs to be provided explicitly if the response to be handled is not contained in the current value.\n * @returns Token response or null. If the return value is null, then no auth redirect was detected.\n */\n async handleRedirectPromise(hash?: string): Promise {\n this.logger.verbose(\"handleRedirectPromise called\");\n // Block token acquisition before initialize has been called if native brokering is enabled\n BrowserUtils.blockNativeBrokerCalledBeforeInitialized(this.config.system.allowNativeBroker, this.initialized);\n\n const loggedInAccounts = this.getAllAccounts();\n if (this.isBrowserEnvironment) {\n /**\n * Store the promise on the PublicClientApplication instance if this is the first invocation of handleRedirectPromise,\n * otherwise return the promise from the first invocation. Prevents race conditions when handleRedirectPromise is called\n * several times concurrently.\n */\n const redirectResponseKey = hash || Constants.EMPTY_STRING;\n let response = this.redirectResponse.get(redirectResponseKey);\n if (typeof response === \"undefined\") {\n this.eventHandler.emitEvent(EventType.HANDLE_REDIRECT_START, InteractionType.Redirect);\n this.logger.verbose(\"handleRedirectPromise has been called for the first time, storing the promise\");\n\n const request: NativeTokenRequest | null = this.browserStorage.getCachedNativeRequest();\n let redirectResponse: Promise;\n if (request && NativeMessageHandler.isNativeAvailable(this.config, this.logger, this.nativeExtensionProvider) && this.nativeExtensionProvider && !hash) {\n this.logger.trace(\"handleRedirectPromise - acquiring token from native platform\");\n const nativeClient = new NativeInteractionClient(this.config, this.browserStorage, this.browserCrypto, this.logger, this.eventHandler, this.navigationClient, ApiId.handleRedirectPromise, this.performanceClient, this.nativeExtensionProvider, request.accountId, this.nativeInternalStorage, request.correlationId);\n redirectResponse = nativeClient.handleRedirectPromise();\n } else {\n this.logger.trace(\"handleRedirectPromise - acquiring token from web flow\");\n const correlationId = this.browserStorage.getTemporaryCache(TemporaryCacheKeys.CORRELATION_ID, true) || Constants.EMPTY_STRING;\n const redirectClient = this.createRedirectClient(correlationId);\n redirectResponse = redirectClient.handleRedirectPromise(hash);\n }\n\n response = redirectResponse.then((result: AuthenticationResult | null) => {\n if (result) {\n // Emit login event if number of accounts change\n\n const isLoggingIn = loggedInAccounts.length < this.getAllAccounts().length;\n if (isLoggingIn) {\n this.eventHandler.emitEvent(EventType.LOGIN_SUCCESS, InteractionType.Redirect, result);\n this.logger.verbose(\"handleRedirectResponse returned result, login success\");\n } else {\n this.eventHandler.emitEvent(EventType.ACQUIRE_TOKEN_SUCCESS, InteractionType.Redirect, result);\n this.logger.verbose(\"handleRedirectResponse returned result, acquire token success\");\n }\n }\n this.eventHandler.emitEvent(EventType.HANDLE_REDIRECT_END, InteractionType.Redirect);\n\n return result;\n }).catch((e) => {\n // Emit login event if there is an account\n if (loggedInAccounts.length > 0) {\n this.eventHandler.emitEvent(EventType.ACQUIRE_TOKEN_FAILURE, InteractionType.Redirect, null, e);\n } else {\n this.eventHandler.emitEvent(EventType.LOGIN_FAILURE, InteractionType.Redirect, null, e);\n }\n this.eventHandler.emitEvent(EventType.HANDLE_REDIRECT_END, InteractionType.Redirect);\n\n throw e;\n });\n this.redirectResponse.set(redirectResponseKey, response);\n } else {\n this.logger.verbose(\"handleRedirectPromise has been called previously, returning the result from the first call\");\n }\n\n return response;\n }\n this.logger.verbose(\"handleRedirectPromise returns null, not browser environment\");\n return null;\n }\n\n /**\n * Use when you want to obtain an access_token for your API by redirecting the user's browser window to the authorization endpoint. This function redirects\n * the page, so any code that follows this function will not execute.\n *\n * IMPORTANT: It is NOT recommended to have code that is dependent on the resolution of the Promise. This function will navigate away from the current\n * browser window. It currently returns a Promise in order to reflect the asynchronous nature of the code running in this function.\n *\n * @param request\n */\n async acquireTokenRedirect(request: RedirectRequest): Promise {\n // Preflight request\n const correlationId = this.getRequestCorrelationId(request);\n this.logger.verbose(\"acquireTokenRedirect called\", correlationId);\n this.preflightBrowserEnvironmentCheck(InteractionType.Redirect);\n\n // If logged in, emit acquire token events\n const isLoggedIn = this.getAllAccounts().length > 0;\n if (isLoggedIn) {\n this.eventHandler.emitEvent(EventType.ACQUIRE_TOKEN_START, InteractionType.Redirect, request);\n } else {\n this.eventHandler.emitEvent(EventType.LOGIN_START, InteractionType.Redirect, request);\n }\n\n let result: Promise;\n\n if (this.nativeExtensionProvider && this.canUseNative(request)) {\n const nativeClient = new NativeInteractionClient(this.config, this.browserStorage, this.browserCrypto, this.logger, this.eventHandler, this.navigationClient, ApiId.acquireTokenRedirect, this.performanceClient, this.nativeExtensionProvider, this.getNativeAccountId(request), this.nativeInternalStorage, request.correlationId);\n result = nativeClient.acquireTokenRedirect(request).catch((e: AuthError) => {\n if (e instanceof NativeAuthError && e.isFatal()) {\n this.nativeExtensionProvider = undefined; // If extension gets uninstalled during session prevent future requests from continuing to attempt\n const redirectClient = this.createRedirectClient(request.correlationId);\n return redirectClient.acquireToken(request);\n } else if (e instanceof InteractionRequiredAuthError) {\n this.logger.verbose(\"acquireTokenRedirect - Resolving interaction required error thrown by native broker by falling back to web flow\");\n const redirectClient = this.createRedirectClient(request.correlationId);\n return redirectClient.acquireToken(request);\n }\n this.browserStorage.setInteractionInProgress(false);\n throw e;\n });\n } else {\n const redirectClient = this.createRedirectClient(request.correlationId);\n result = redirectClient.acquireToken(request);\n }\n\n return result.catch((e) => {\n // If logged in, emit acquire token events\n if (isLoggedIn) {\n this.eventHandler.emitEvent(EventType.ACQUIRE_TOKEN_FAILURE, InteractionType.Redirect, null, e);\n } else {\n this.eventHandler.emitEvent(EventType.LOGIN_FAILURE, InteractionType.Redirect, null, e);\n }\n throw e;\n });\n }\n\n // #endregion\n\n // #region Popup Flow\n\n /**\n * Use when you want to obtain an access_token for your API via opening a popup window in the user's browser\n *\n * @param request\n *\n * @returns A promise that is fulfilled when this function has completed, or rejected if an error was raised.\n */\n acquireTokenPopup(request: PopupRequest): Promise {\n const correlationId = this.getRequestCorrelationId(request);\n const atPopupMeasurement = this.performanceClient.startMeasurement(PerformanceEvents.AcquireTokenPopup, correlationId);\n\n try {\n this.logger.verbose(\"acquireTokenPopup called\", correlationId);\n this.preflightBrowserEnvironmentCheck(InteractionType.Popup);\n } catch (e) {\n // Since this function is syncronous we need to reject\n return Promise.reject(e);\n }\n\n // If logged in, emit acquire token events\n const loggedInAccounts = this.getAllAccounts();\n if (loggedInAccounts.length > 0) {\n this.eventHandler.emitEvent(EventType.ACQUIRE_TOKEN_START, InteractionType.Popup, request);\n } else {\n this.eventHandler.emitEvent(EventType.LOGIN_START, InteractionType.Popup, request);\n }\n\n let result: Promise;\n\n if (this.canUseNative(request)) {\n result = this.acquireTokenNative(request, ApiId.acquireTokenPopup).then((response) => {\n this.browserStorage.setInteractionInProgress(false);\n atPopupMeasurement.endMeasurement({\n success: true,\n isNativeBroker: true,\n accessTokenSize: response.accessToken.length,\n idTokenSize: response.idToken.length,\n requestId: response.requestId\n });\n atPopupMeasurement.flushMeasurement();\n return response;\n }).catch((e: AuthError) => {\n if (e instanceof NativeAuthError && e.isFatal()) {\n this.nativeExtensionProvider = undefined; // If extension gets uninstalled during session prevent future requests from continuing to attempt\n const popupClient = this.createPopupClient(request.correlationId);\n return popupClient.acquireToken(request);\n } else if (e instanceof InteractionRequiredAuthError) {\n this.logger.verbose(\"acquireTokenPopup - Resolving interaction required error thrown by native broker by falling back to web flow\");\n const popupClient = this.createPopupClient(request.correlationId);\n return popupClient.acquireToken(request);\n }\n this.browserStorage.setInteractionInProgress(false);\n throw e;\n });\n } else {\n const popupClient = this.createPopupClient(request.correlationId);\n result = popupClient.acquireToken(request);\n }\n\n return result.then((result) => {\n\n /*\n * If logged in, emit acquire token events\n */\n const isLoggingIn = loggedInAccounts.length < this.getAllAccounts().length;\n if (isLoggingIn) {\n this.eventHandler.emitEvent(EventType.LOGIN_SUCCESS, InteractionType.Popup, result);\n } else {\n this.eventHandler.emitEvent(EventType.ACQUIRE_TOKEN_SUCCESS, InteractionType.Popup, result);\n }\n\n atPopupMeasurement.endMeasurement({\n success: true,\n accessTokenSize: result.accessToken.length,\n idTokenSize: result.idToken.length,\n requestId: result.requestId\n });\n\n atPopupMeasurement.flushMeasurement();\n return result;\n }).catch((e: AuthError) => {\n if (loggedInAccounts.length > 0) {\n this.eventHandler.emitEvent(EventType.ACQUIRE_TOKEN_FAILURE, InteractionType.Popup, null, e);\n } else {\n this.eventHandler.emitEvent(EventType.LOGIN_FAILURE, InteractionType.Popup, null, e);\n }\n\n atPopupMeasurement.endMeasurement({\n errorCode: e.errorCode,\n subErrorCode: e.subError,\n success: false\n });\n atPopupMeasurement.flushMeasurement();\n\n // Since this function is syncronous we need to reject\n return Promise.reject(e);\n });\n }\n\n // #endregion\n\n // #region Silent Flow\n\n /**\n * This function uses a hidden iframe to fetch an authorization code from the eSTS. There are cases where this may not work:\n * - Any browser using a form of Intelligent Tracking Prevention\n * - If there is not an established session with the service\n *\n * In these cases, the request must be done inside a popup or full frame redirect.\n *\n * For the cases where interaction is required, you cannot send a request with prompt=none.\n *\n * If your refresh token has expired, you can use this function to fetch a new set of tokens silently as long as\n * you session on the server still exists.\n * @param request {@link SsoSilentRequest}\n *\n * @returns A promise that is fulfilled when this function has completed, or rejected if an error was raised.\n */\n async ssoSilent(request: SsoSilentRequest): Promise {\n const correlationId = this.getRequestCorrelationId(request);\n const validRequest = {\n ...request,\n // will be PromptValue.NONE or PromptValue.NO_SESSION\n prompt: request.prompt,\n correlationId: correlationId\n };\n this.preflightBrowserEnvironmentCheck(InteractionType.Silent);\n const ssoSilentMeasurement = this.performanceClient.startMeasurement(PerformanceEvents.SsoSilent, correlationId);\n this.logger.verbose(\"ssoSilent called\", correlationId);\n this.eventHandler.emitEvent(EventType.SSO_SILENT_START, InteractionType.Silent, validRequest);\n\n let result: Promise;\n\n if (this.canUseNative(validRequest)) {\n result = this.acquireTokenNative(validRequest, ApiId.ssoSilent).catch((e: AuthError) => {\n // If native token acquisition fails for availability reasons fallback to standard flow\n if (e instanceof NativeAuthError && e.isFatal()) {\n this.nativeExtensionProvider = undefined; // If extension gets uninstalled during session prevent future requests from continuing to attempt\n const silentIframeClient = this.createSilentIframeClient(validRequest.correlationId);\n return silentIframeClient.acquireToken(validRequest);\n }\n throw e;\n });\n } else {\n const silentIframeClient = this.createSilentIframeClient(validRequest.correlationId);\n result = silentIframeClient.acquireToken(validRequest);\n }\n\n return result.then((response) => {\n this.eventHandler.emitEvent(EventType.SSO_SILENT_SUCCESS, InteractionType.Silent, response);\n ssoSilentMeasurement.endMeasurement({\n success: true,\n isNativeBroker: response.fromNativeBroker,\n accessTokenSize: response.accessToken.length,\n idTokenSize: response.idToken.length,\n requestId: response.requestId\n });\n ssoSilentMeasurement.flushMeasurement();\n return response;\n }).catch((e: AuthError) => {\n this.eventHandler.emitEvent(EventType.SSO_SILENT_FAILURE, InteractionType.Silent, null, e);\n ssoSilentMeasurement.endMeasurement({\n errorCode: e.errorCode,\n subErrorCode: e.subError,\n success: false\n });\n ssoSilentMeasurement.flushMeasurement();\n throw e;\n });\n }\n\n /**\n * This function redeems an authorization code (passed as code) from the eSTS token endpoint.\n * This authorization code should be acquired server-side using a confidential client to acquire a spa_code.\n * This API is not indended for normal authorization code acquisition and redemption.\n *\n * Redemption of this authorization code will not require PKCE, as it was acquired by a confidential client.\n *\n * @param request {@link AuthorizationCodeRequest}\n * @returns A promise that is fulfilled when this function has completed, or rejected if an error was raised.\n */\n async acquireTokenByCode(request: AuthorizationCodeRequest): Promise {\n const correlationId = this.getRequestCorrelationId(request);\n this.preflightBrowserEnvironmentCheck(InteractionType.Silent);\n this.logger.trace(\"acquireTokenByCode called\", correlationId);\n this.eventHandler.emitEvent(EventType.ACQUIRE_TOKEN_BY_CODE_START, InteractionType.Silent, request);\n const atbcMeasurement = this.performanceClient.startMeasurement(PerformanceEvents.AcquireTokenByCode, request.correlationId);\n\n try {\n if (request.code) {\n const hybridAuthCode = request.code;\n let response = this.hybridAuthCodeResponses.get(hybridAuthCode);\n if (!response) {\n this.logger.verbose(\"Initiating new acquireTokenByCode request\", correlationId);\n response = this.acquireTokenByCodeAsync({\n ...request,\n correlationId\n })\n .then((result: AuthenticationResult) => {\n this.eventHandler.emitEvent(EventType.ACQUIRE_TOKEN_BY_CODE_SUCCESS, InteractionType.Silent, result);\n this.hybridAuthCodeResponses.delete(hybridAuthCode);\n atbcMeasurement.endMeasurement({\n success: true,\n accessTokenSize: result.accessToken.length,\n idTokenSize: result.idToken.length,\n isNativeBroker: result.fromNativeBroker,\n requestId: result.requestId\n });\n atbcMeasurement.flushMeasurement();\n return result;\n })\n .catch((error: AuthError) => {\n this.hybridAuthCodeResponses.delete(hybridAuthCode);\n this.eventHandler.emitEvent(EventType.ACQUIRE_TOKEN_BY_CODE_FAILURE, InteractionType.Silent, null, error);\n atbcMeasurement.endMeasurement({\n errorCode: error.errorCode,\n subErrorCode: error.subError,\n success: false\n });\n atbcMeasurement.flushMeasurement();\n throw error;\n });\n this.hybridAuthCodeResponses.set(hybridAuthCode, response);\n } else {\n this.logger.verbose(\"Existing acquireTokenByCode request found\", request.correlationId);\n atbcMeasurement.endMeasurement({\n success: true\n });\n atbcMeasurement.discardMeasurement();\n }\n return response;\n } else if (request.nativeAccountId) {\n if (this.canUseNative(request, request.nativeAccountId)) {\n return this.acquireTokenNative(request, ApiId.acquireTokenByCode, request.nativeAccountId).catch((e: AuthError) => {\n // If native token acquisition fails for availability reasons fallback to standard flow\n if (e instanceof NativeAuthError && e.isFatal()) {\n this.nativeExtensionProvider = undefined; // If extension gets uninstalled during session prevent future requests from continuing to attempt\n }\n throw e;\n });\n } else {\n throw BrowserAuthError.createUnableToAcquireTokenFromNativePlatformError();\n }\n } else {\n throw BrowserAuthError.createAuthCodeOrNativeAccountIdRequiredError();\n }\n\n } catch (e) {\n this.eventHandler.emitEvent(EventType.ACQUIRE_TOKEN_BY_CODE_FAILURE, InteractionType.Silent, null, e);\n atbcMeasurement.endMeasurement({\n errorCode: e instanceof AuthError && e.errorCode || undefined,\n subErrorCode: e instanceof AuthError && e.subError || undefined,\n success: false\n });\n throw e;\n }\n }\n\n /**\n * Creates a SilentAuthCodeClient to redeem an authorization code.\n * @param request\n * @returns Result of the operation to redeem the authorization code\n */\n private async acquireTokenByCodeAsync(request: AuthorizationCodeRequest): Promise {\n this.logger.trace(\"acquireTokenByCodeAsync called\", request.correlationId);\n const silentAuthCodeClient = this.createSilentAuthCodeClient(request.correlationId);\n const silentTokenResult = await silentAuthCodeClient.acquireToken(request);\n return silentTokenResult;\n }\n\n /**\n * Attempt to acquire an access token from the cache\n * @param silentCacheClient SilentCacheClient\n * @param commonRequest CommonSilentFlowRequest\n * @param silentRequest SilentRequest\n * @returns A promise that, when resolved, returns the access token\n */\n protected async acquireTokenFromCache(\n silentCacheClient: SilentCacheClient,\n commonRequest: CommonSilentFlowRequest,\n silentRequest: SilentRequest\n ): Promise {\n switch(silentRequest.cacheLookupPolicy) {\n case CacheLookupPolicy.Default:\n case CacheLookupPolicy.AccessToken:\n case CacheLookupPolicy.AccessTokenAndRefreshToken:\n return silentCacheClient.acquireToken(commonRequest);\n default:\n throw ClientAuthError.createRefreshRequiredError();\n }\n }\n\n /**\n * Attempt to acquire an access token via a refresh token\n * @param commonRequest CommonSilentFlowRequest\n * @param silentRequest SilentRequest\n * @returns A promise that, when resolved, returns the access token\n */\n protected async acquireTokenByRefreshToken(\n commonRequest: CommonSilentFlowRequest,\n silentRequest: SilentRequest\n ): Promise {\n switch(silentRequest.cacheLookupPolicy) {\n case CacheLookupPolicy.Default:\n case CacheLookupPolicy.AccessTokenAndRefreshToken:\n case CacheLookupPolicy.RefreshToken:\n case CacheLookupPolicy.RefreshTokenAndNetwork:\n const silentRefreshClient = this.createSilentRefreshClient(commonRequest.correlationId);\n return silentRefreshClient.acquireToken(commonRequest);\n default:\n throw ClientAuthError.createRefreshRequiredError();\n }\n }\n\n /**\n * Attempt to acquire an access token via an iframe\n * @param request CommonSilentFlowRequest\n * @returns A promise that, when resolved, returns the access token\n */\n protected async acquireTokenBySilentIframe(\n request: CommonSilentFlowRequest\n ): Promise {\n const silentIframeClient = this.createSilentIframeClient(request.correlationId);\n return silentIframeClient.acquireToken(request);\n }\n\n // #endregion\n\n // #region Logout\n\n /**\n * Deprecated logout function. Use logoutRedirect or logoutPopup instead\n * @param logoutRequest\n * @deprecated\n */\n async logout(logoutRequest?: EndSessionRequest): Promise {\n const correlationId = this.getRequestCorrelationId(logoutRequest);\n this.logger.warning(\"logout API is deprecated and will be removed in msal-browser v3.0.0. Use logoutRedirect instead.\", correlationId);\n return this.logoutRedirect({\n correlationId,\n ...logoutRequest\n });\n }\n\n /**\n * Use to log out the current user, and redirect the user to the postLogoutRedirectUri.\n * Default behaviour is to redirect the user to `window.location.href`.\n * @param logoutRequest\n */\n async logoutRedirect(logoutRequest?: EndSessionRequest): Promise {\n const correlationId = this.getRequestCorrelationId(logoutRequest);\n this.preflightBrowserEnvironmentCheck(InteractionType.Redirect);\n\n const redirectClient = this.createRedirectClient(correlationId);\n return redirectClient.logout(logoutRequest);\n }\n\n /**\n * Clears local cache for the current user then opens a popup window prompting the user to sign-out of the server\n * @param logoutRequest\n */\n logoutPopup(logoutRequest?: EndSessionPopupRequest): Promise {\n try {\n const correlationId = this.getRequestCorrelationId(logoutRequest);\n this.preflightBrowserEnvironmentCheck(InteractionType.Popup);\n const popupClient = this.createPopupClient(correlationId);\n return popupClient.logout(logoutRequest);\n } catch (e) {\n // Since this function is syncronous we need to reject\n return Promise.reject(e);\n }\n }\n\n // #endregion\n\n // #region Account APIs\n\n /**\n * Returns all accounts that MSAL currently has data for.\n * (the account object is created at the time of successful login)\n * or empty array when no accounts are found\n * @returns Array of account objects in cache\n */\n getAllAccounts(): AccountInfo[] {\n this.logger.verbose(\"getAllAccounts called\");\n return this.isBrowserEnvironment ? this.browserStorage.getAllAccounts() : [];\n }\n\n /**\n * Returns the signed in account matching username.\n * (the account object is created at the time of successful login)\n * or null when no matching account is found.\n * This API is provided for convenience but getAccountById should be used for best reliability\n * @param userName\n * @returns The account object stored in MSAL\n */\n getAccountByUsername(userName: string): AccountInfo | null {\n const allAccounts = this.getAllAccounts();\n if (!StringUtils.isEmpty(userName) && allAccounts && allAccounts.length) {\n this.logger.verbose(\"Account matching username found, returning\");\n this.logger.verbosePii(`Returning signed-in accounts matching username: ${userName}`);\n return allAccounts.filter(accountObj => accountObj.username.toLowerCase() === userName.toLowerCase())[0] || null;\n } else {\n this.logger.verbose(\"getAccountByUsername: No matching account found, returning null\");\n return null;\n }\n }\n\n /**\n * Returns the signed in account matching homeAccountId.\n * (the account object is created at the time of successful login)\n * or null when no matching account is found\n * @param homeAccountId\n * @returns The account object stored in MSAL\n */\n getAccountByHomeId(homeAccountId: string): AccountInfo | null {\n const allAccounts = this.getAllAccounts();\n if (!StringUtils.isEmpty(homeAccountId) && allAccounts && allAccounts.length) {\n this.logger.verbose(\"Account matching homeAccountId found, returning\");\n this.logger.verbosePii(`Returning signed-in accounts matching homeAccountId: ${homeAccountId}`);\n return allAccounts.filter(accountObj => accountObj.homeAccountId === homeAccountId)[0] || null;\n } else {\n this.logger.verbose(\"getAccountByHomeId: No matching account found, returning null\");\n return null;\n }\n }\n\n /**\n * Returns the signed in account matching localAccountId.\n * (the account object is created at the time of successful login)\n * or null when no matching account is found\n * @param localAccountId\n * @returns The account object stored in MSAL\n */\n getAccountByLocalId(localAccountId: string): AccountInfo | null {\n const allAccounts = this.getAllAccounts();\n if (!StringUtils.isEmpty(localAccountId) && allAccounts && allAccounts.length) {\n this.logger.verbose(\"Account matching localAccountId found, returning\");\n this.logger.verbosePii(`Returning signed-in accounts matching localAccountId: ${localAccountId}`);\n return allAccounts.filter(accountObj => accountObj.localAccountId === localAccountId)[0] || null;\n } else {\n this.logger.verbose(\"getAccountByLocalId: No matching account found, returning null\");\n return null;\n }\n }\n\n /**\n * Sets the account to use as the active account. If no account is passed to the acquireToken APIs, then MSAL will use this active account.\n * @param account\n */\n setActiveAccount(account: AccountInfo | null): void {\n this.browserStorage.setActiveAccount(account);\n }\n\n /**\n * Gets the currently active account\n */\n getActiveAccount(): AccountInfo | null {\n return this.browserStorage.getActiveAccount();\n }\n\n // #endregion\n\n // #region Helpers\n\n /**\n * Helper to validate app environment before making an auth request\n *\n * @protected\n * @param {InteractionType} interactionType What kind of interaction is being used\n * @param {boolean} [setInteractionInProgress=true] Whether to set interaction in progress temp cache flag\n */\n protected preflightBrowserEnvironmentCheck(interactionType: InteractionType, setInteractionInProgress: boolean = true): void {\n this.logger.verbose(\"preflightBrowserEnvironmentCheck started\");\n // Block request if not in browser environment\n BrowserUtils.blockNonBrowserEnvironment(this.isBrowserEnvironment);\n\n // Block redirects if in an iframe\n BrowserUtils.blockRedirectInIframe(interactionType, this.config.system.allowRedirectInIframe);\n\n // Block auth requests inside a hidden iframe\n BrowserUtils.blockReloadInHiddenIframes();\n\n // Block redirectUri opened in a popup from calling MSAL APIs\n BrowserUtils.blockAcquireTokenInPopups();\n\n // Block token acquisition before initialize has been called if native brokering is enabled\n BrowserUtils.blockNativeBrokerCalledBeforeInitialized(this.config.system.allowNativeBroker, this.initialized);\n\n // Block redirects if memory storage is enabled but storeAuthStateInCookie is not\n if (interactionType === InteractionType.Redirect &&\n this.config.cache.cacheLocation === BrowserCacheLocation.MemoryStorage &&\n !this.config.cache.storeAuthStateInCookie) {\n throw BrowserConfigurationAuthError.createInMemoryRedirectUnavailableError();\n }\n\n if (interactionType === InteractionType.Redirect || interactionType === InteractionType.Popup) {\n this.preflightInteractiveRequest(setInteractionInProgress);\n }\n }\n\n /**\n * Preflight check for interactive requests\n *\n * @protected\n * @param {boolean} setInteractionInProgress Whether to set interaction in progress temp cache flag\n */\n protected preflightInteractiveRequest(setInteractionInProgress: boolean): void {\n this.logger.verbose(\"preflightInteractiveRequest called, validating app environment\");\n // block the reload if it occurred inside a hidden iframe\n BrowserUtils.blockReloadInHiddenIframes();\n\n // Set interaction in progress temporary cache or throw if alread set.\n if (setInteractionInProgress) {\n this.browserStorage.setInteractionInProgress(true);\n }\n }\n\n /**\n * Acquire a token from native device (e.g. WAM)\n * @param request\n */\n protected async acquireTokenNative(request: PopupRequest | SilentRequest | SsoSilentRequest, apiId: ApiId, accountId?: string): Promise {\n this.logger.trace(\"acquireTokenNative called\");\n if (!this.nativeExtensionProvider) {\n throw BrowserAuthError.createNativeConnectionNotEstablishedError();\n }\n\n const nativeClient = new NativeInteractionClient(this.config, this.browserStorage, this.browserCrypto, this.logger, this.eventHandler, this.navigationClient, apiId, this.performanceClient, this.nativeExtensionProvider, accountId || this.getNativeAccountId(request), this.nativeInternalStorage, request.correlationId);\n\n return nativeClient.acquireToken(request);\n }\n\n /**\n * Returns boolean indicating if this request can use the native broker\n * @param request\n */\n protected canUseNative(request: RedirectRequest | PopupRequest | SsoSilentRequest, accountId?: string): boolean {\n this.logger.trace(\"canUseNative called\");\n if (!NativeMessageHandler.isNativeAvailable(this.config, this.logger, this.nativeExtensionProvider, request.authenticationScheme)) {\n this.logger.trace(\"canUseNative: isNativeAvailable returned false, returning false\");\n return false;\n }\n\n if (request.prompt) {\n switch (request.prompt) {\n case PromptValue.NONE:\n case PromptValue.CONSENT:\n case PromptValue.LOGIN:\n this.logger.trace(\"canUseNative: prompt is compatible with native flow\");\n break;\n default:\n this.logger.trace(`canUseNative: prompt = ${request.prompt} is not compatible with native flow, returning false`);\n return false;\n }\n }\n\n if (!accountId && !this.getNativeAccountId(request)) {\n this.logger.trace(\"canUseNative: nativeAccountId is not available, returning false\");\n return false;\n }\n\n return true;\n }\n\n /**\n * Get the native accountId from the account\n * @param request\n * @returns\n */\n protected getNativeAccountId(request: RedirectRequest | PopupRequest | SsoSilentRequest): string {\n const account = request.account || this.browserStorage.getAccountInfoByHints(request.loginHint, request.sid) || this.getActiveAccount();\n\n return account && account.nativeAccountId || \"\";\n }\n\n /**\n * Returns new instance of the Popup Interaction Client\n * @param correlationId\n */\n protected createPopupClient(correlationId?: string): PopupClient {\n return new PopupClient(this.config, this.browserStorage, this.browserCrypto, this.logger, this.eventHandler, this.navigationClient, this.performanceClient, this.nativeInternalStorage, this.nativeExtensionProvider, correlationId);\n }\n\n /**\n * Returns new instance of the Redirect Interaction Client\n * @param correlationId\n */\n protected createRedirectClient(correlationId?: string): RedirectClient {\n return new RedirectClient(this.config, this.browserStorage, this.browserCrypto, this.logger, this.eventHandler, this.navigationClient, this.performanceClient, this.nativeInternalStorage, this.nativeExtensionProvider, correlationId);\n }\n\n /**\n * Returns new instance of the Silent Iframe Interaction Client\n * @param correlationId\n */\n protected createSilentIframeClient(correlationId?: string): SilentIframeClient {\n return new SilentIframeClient(this.config, this.browserStorage, this.browserCrypto, this.logger, this.eventHandler, this.navigationClient, ApiId.ssoSilent, this.performanceClient, this.nativeInternalStorage, this.nativeExtensionProvider, correlationId);\n }\n\n /**\n * Returns new instance of the Silent Cache Interaction Client\n */\n protected createSilentCacheClient(correlationId?: string): SilentCacheClient {\n return new SilentCacheClient(this.config, this.browserStorage, this.browserCrypto, this.logger, this.eventHandler, this.navigationClient, this.performanceClient, this.nativeExtensionProvider, correlationId);\n }\n\n /**\n * Returns new instance of the Silent Refresh Interaction Client\n */\n protected createSilentRefreshClient(correlationId?: string): SilentRefreshClient {\n return new SilentRefreshClient(this.config, this.browserStorage, this.browserCrypto, this.logger, this.eventHandler, this.navigationClient, this.performanceClient, this.nativeExtensionProvider, correlationId);\n }\n\n /**\n * Returns new instance of the Silent AuthCode Interaction Client\n */\n protected createSilentAuthCodeClient(correlationId?: string): SilentAuthCodeClient {\n return new SilentAuthCodeClient(this.config, this.browserStorage, this.browserCrypto, this.logger, this.eventHandler, this.navigationClient, ApiId.acquireTokenByCode, this.performanceClient, this.nativeExtensionProvider, correlationId);\n }\n\n /**\n * Adds event callbacks to array\n * @param callback\n */\n addEventCallback(callback: EventCallbackFunction): string | null {\n return this.eventHandler.addEventCallback(callback);\n }\n\n /**\n * Removes callback with provided id from callback array\n * @param callbackId\n */\n removeEventCallback(callbackId: string): void {\n this.eventHandler.removeEventCallback(callbackId);\n }\n\n /**\n * Registers a callback to receive performance events.\n *\n * @param {PerformanceCallbackFunction} callback\n * @returns {string}\n */\n addPerformanceCallback(callback: PerformanceCallbackFunction): string {\n return this.performanceClient.addPerformanceCallback(callback);\n }\n\n /**\n * Removes a callback registered with addPerformanceCallback.\n *\n * @param {string} callbackId\n * @returns {boolean}\n */\n removePerformanceCallback(callbackId: string): boolean {\n return this.performanceClient.removePerformanceCallback(callbackId);\n }\n\n /**\n * Adds event listener that emits an event when a user account is added or removed from localstorage in a different browser tab or window\n */\n enableAccountStorageEvents(): void {\n this.eventHandler.enableAccountStorageEvents();\n }\n\n /**\n * Removes event listener that emits an event when a user account is added or removed from localstorage in a different browser tab or window\n */\n disableAccountStorageEvents(): void {\n this.eventHandler.disableAccountStorageEvents();\n }\n\n /**\n * Gets the token cache for the application.\n */\n getTokenCache(): ITokenCache {\n return this.tokenCache;\n }\n\n /**\n * Returns the logger instance\n */\n getLogger(): Logger {\n return this.logger;\n }\n\n /**\n * Replaces the default logger set in configurations with new Logger with new configurations\n * @param logger Logger instance\n */\n setLogger(logger: Logger): void {\n this.logger = logger;\n }\n\n /**\n * Called by wrapper libraries (Angular & React) to set SKU and Version passed down to telemetry, logger, etc.\n * @param sku\n * @param version\n */\n initializeWrapperLibrary(sku: WrapperSKU, version: string): void {\n // Validate the SKU passed in is one we expect\n this.browserStorage.setWrapperMetadata(sku, version);\n }\n\n /**\n * Sets navigation client\n * @param navigationClient\n */\n setNavigationClient(navigationClient: INavigationClient): void {\n this.navigationClient = navigationClient;\n }\n\n /**\n * Returns the configuration object\n */\n getConfiguration(): BrowserConfiguration {\n return this.config;\n }\n\n /**\n * Generates a correlation id for a request if none is provided.\n *\n * @protected\n * @param {?Partial} [request]\n * @returns {string}\n */\n protected getRequestCorrelationId(request?: Partial): string {\n if (request?.correlationId) {\n return request.correlationId;\n }\n\n if (this.isBrowserEnvironment) {\n return this.browserCrypto.createNewGuid();\n }\n\n /*\n * Included for fallback for non-browser environments,\n * and to ensure this method always returns a string.\n */\n return Constants.EMPTY_STRING;\n }\n\n // #endregion\n}\n","/**\r\n * EventTarget\r\n * implements the event target interface https://developer.mozilla.org/en-US/docs/Web/API/EventTarget\r\n * useful for dispatching custom events without involving DOM elements\r\n * */\r\nexport default class EventTarget {\r\n listeners = {};\r\n\r\n addEventListener(type, callback) {\r\n if (!(type in this.listeners)) {\r\n this.listeners[type] = [];\r\n }\r\n this.listeners[type].push(callback);\r\n }\r\n\r\n removeEventListener(type, callback) {\r\n if (!(type in this.listeners)) {\r\n return;\r\n }\r\n var stack = this.listeners[type];\r\n for (var i = 0, l = stack.length; i < l; i++) {\r\n if (stack[i] === callback) {\r\n stack.splice(i, 1);\r\n return;\r\n }\r\n }\r\n }\r\n\r\n dispatchEvent(event) {\r\n if (!(event.type in this.listeners)) {\r\n return true;\r\n }\r\n var stack = this.listeners[event.type].slice();\r\n\r\n for (var i = 0, l = stack.length; i < l; i++) {\r\n stack[i].call(this, event);\r\n }\r\n return !event.defaultPrevented;\r\n }\r\n}\r\n","import React from 'react';\r\nimport { authenticateSuccess } from 'store/api';\r\n\r\nclass AuthSuccess extends React.Component {\r\n componentDidMount() {\r\n authenticateSuccess();\r\n }\r\n\r\n render() {\r\n return null;\r\n }\r\n}\r\n\r\nexport default AuthSuccess;\r\n","import React, { Component } from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport classNames from 'classnames';\r\n\r\nclass EmptyState extends Component {\r\n static propTypes = {\r\n children: PropTypes.node,\r\n customClass: PropTypes.string,\r\n description: PropTypes.oneOfType([PropTypes.string, PropTypes.object]).isRequired,\r\n img: PropTypes.string.isRequired,\r\n title: PropTypes.oneOfType([PropTypes.string, PropTypes.object]).isRequired\r\n };\r\n\r\n render() {\r\n const { children, customClass, description, img, title } = this.props;\r\n\r\n return (\r\n
\r\n \"empty\r\n

{title}

\r\n

{description}

\r\n {children}\r\n
\r\n );\r\n }\r\n}\r\n\r\nexport default EmptyState;\r\n","import classNames from 'classnames';\r\nimport PropTypes from 'prop-types';\r\nimport React, { PureComponent } from 'react';\r\n\r\nclass Icon extends PureComponent {\r\n static propTypes = {\r\n className: PropTypes.string,\r\n height: PropTypes.number,\r\n // Note - the name of the icon corresponds to the filename of the svg with\r\n // the leading '{number}_' removed and all '_' replaced with '-'\r\n name: PropTypes.string.isRequired,\r\n rotate: PropTypes.number,\r\n width: PropTypes.number\r\n };\r\n\r\n render() {\r\n const { className, height, name, width, rotate } = this.props;\r\n\r\n const style = rotate ? { transform: `rotate(${rotate}deg)` } : null;\r\n\r\n return (\r\n \r\n \r\n \r\n );\r\n }\r\n}\r\n\r\nexport default Icon;\r\n","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { debounce } from 'underscore';\r\nimport classNames from 'classnames';\r\n\r\n// A button component that basically makes sure to wrap the onclick fn in\r\n// a debounced one so it doesn't send multiple requests\r\nexport default class Button extends React.PureComponent {\r\n static propTypes = {\r\n className: PropTypes.string,\r\n onClick: PropTypes.func,\r\n size: PropTypes.string\r\n };\r\n\r\n // Debounce function\r\n debouncedOnClick = e => {\r\n this.props.onClick && this.props.onClick(e);\r\n };\r\n\r\n onClick = debounce(e => this.debouncedOnClick(e), 300, { leading: true, trailing: false });\r\n\r\n buttonSize = () => {\r\n const { size } = this.props;\r\n\r\n if (size) {\r\n if (size === 'xsmall') {\r\n return 'btn-xsmall';\r\n }\r\n if (size === 'small') {\r\n return 'btn-small';\r\n }\r\n if (size === 'medium') {\r\n return 'btn-medium';\r\n }\r\n if (size === 'large') {\r\n return 'btn-large';\r\n }\r\n if (size === 'xlarge') {\r\n return 'btn-xlarge';\r\n }\r\n if (size === 'icon') {\r\n return 'btn-nopadding';\r\n }\r\n }\r\n\r\n return 'btn-medium';\r\n };\r\n\r\n render() {\r\n const buttonSize = this.buttonSize();\r\n\r\n return (\r\n \r\n ) : null}\r\n \r\n );\r\n }\r\n}\r\n\r\nexport default PPMDBanner;\r\n","var _path, _path2, _path3, _path4, _path5, _path6, _path7, _path8, _path9, _path10;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport * as React from \"react\";\nfunction SvgDeloitteLogoBlack(_ref, svgRef) {\n let {\n title,\n titleId,\n ...props\n } = _ref;\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 86,\n height: 24,\n viewBox: \"0 0 86 24\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M82 18C82 16.9067 82.9067 16 84 16C85.0933 16 86 16.9067 86 18C86 19.0933 85.0933 20 84 20C82.9067 20 82 19.0933 82 18Z\",\n fill: \"#86BC25\"\n })), _path2 || (_path2 = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M12.8454 11.5774C12.8454 14.2038 12.1584 16.1963 10.7543 17.6152C9.35029 19.034 7.40854 19.7284 4.86932 19.7284H0V4.03027H5.25767C7.6774 4.03027 9.5594 4.66423 10.9037 5.96235C12.1882 7.29065 12.8454 9.13215 12.8454 11.5774ZM8.6035 11.7284C8.6035 10.2793 8.33464 9.22273 7.76705 8.52839C7.22933 7.83405 6.39288 7.50197 5.2577 7.50197H4.06278V16.2869H4.98885C6.24352 16.2869 7.13971 15.9246 7.73717 15.1699C8.30476 14.385 8.6035 13.268 8.6035 11.7284Z\",\n fill: \"black\"\n })), _path3 || (_path3 = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M26.4377 4H30.3511V19.7585H26.4377V4Z\",\n fill: \"black\"\n })), _path4 || (_path4 = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M43.1368 13.8718C43.1368 15.7737 42.6289 17.2831 41.6431 18.3397C40.6573 19.3963 39.2533 19.9397 37.4609 19.9397C35.7581 19.9397 34.3839 19.3963 33.3683 18.3095C32.3526 17.2227 31.8447 15.7435 31.8447 13.8718C31.8447 11.9699 32.3526 10.4907 33.3384 9.43407C34.3242 8.37746 35.7282 7.86426 37.5206 7.86426C38.6259 7.86426 39.6117 8.10577 40.4781 8.58879C41.3444 9.0718 41.9717 9.76614 42.4497 10.702C42.8978 11.5775 43.1368 12.6341 43.1368 13.8718ZM35.8179 13.8718C35.8179 14.868 35.9374 15.6529 36.2062 16.1661C36.4751 16.6793 36.8933 16.951 37.5206 16.951C38.1181 16.951 38.5662 16.6793 38.8052 16.1661C39.0442 15.6529 39.1935 14.868 39.1935 13.8718C39.1935 12.8755 39.074 12.1208 38.8052 11.6076C38.5662 11.0944 38.1181 10.8529 37.5206 10.8529C36.9232 10.8529 36.505 11.0944 36.2361 11.6076C35.9374 12.1208 35.8179 12.8755 35.8179 13.8718Z\",\n fill: \"black\"\n })), _path5 || (_path5 = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M44.6902 8.04492H48.6036V19.7581H44.6902V8.04492Z\",\n fill: \"black\"\n })), _path6 || (_path6 = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M44.6902 4H48.6036V6.62641H44.6902V4Z\",\n fill: \"black\"\n })), _path7 || (_path7 = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M56.4902 16.7698C57.0279 16.7698 57.6552 16.6491 58.3722 16.3774V19.3359C57.8345 19.5774 57.3565 19.7283 56.8785 19.8491C56.4006 19.9396 55.833 20 55.2056 20C53.8912 20 52.9651 19.6679 52.3677 19.0038C51.8001 18.3396 51.5014 17.3132 51.5014 15.9547V11.0642H50.1272V8.04532H51.5014V5.05664L55.4446 4.3623V8.04532H57.9241V11.0642H55.4446V15.6227C55.4446 16.3774 55.7732 16.7698 56.4902 16.7698Z\",\n fill: \"black\"\n })), _path8 || (_path8 = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M65.5117 16.7699C66.0494 16.7699 66.6767 16.6492 67.3937 16.3775V19.336C66.856 19.5775 66.378 19.7284 65.9 19.8492C65.422 19.9397 64.8545 20.0001 64.2271 20.0001C62.9127 20.0001 61.9866 19.668 61.3892 19.0039C60.8216 18.3397 60.5228 17.3133 60.5228 15.9548V11.0643H59.1487V8.0454H60.5228V5.02654L64.4661 4.39258V8.0454H66.9456V11.0643H64.4661V15.6228C64.4661 16.3775 64.8246 16.7699 65.5117 16.7699Z\",\n fill: \"black\"\n })), _path9 || (_path9 = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M77.8195 9.22266C76.8934 8.317 75.579 7.83398 73.8762 7.83398C72.0838 7.83398 70.7097 8.34719 69.7537 9.40379C68.7978 10.4604 68.3198 11.9698 68.3198 13.9623C68.3198 15.8642 68.8277 17.3434 69.8732 18.4C70.9188 19.4264 72.3826 19.9396 74.2646 19.9396C75.1608 19.9396 75.9375 19.8793 76.5947 19.7585C77.2519 19.6377 77.8792 19.4264 78.4767 19.0943L77.8792 16.4679C77.4311 16.6491 77.0129 16.8 76.6246 16.8906C76.057 17.0113 75.4296 17.1019 74.7425 17.1019C73.9957 17.1019 73.3983 16.9208 72.9502 16.5585C72.5021 16.1962 72.293 15.683 72.2631 15.0189H79.2235V13.1774C79.2235 11.4566 78.7455 10.1283 77.8195 9.22266ZM72.3228 12.4529C72.3826 11.8189 72.5618 11.3359 72.8605 11.034C73.1593 10.7321 73.5476 10.5812 74.0256 10.5812C74.5334 10.5812 74.9218 10.7623 75.2205 11.0944C75.5192 11.4264 75.6686 11.8793 75.6985 12.4529H72.3228Z\",\n fill: \"black\"\n })), _path10 || (_path10 = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M23.5399 9.22266C22.6139 8.317 21.2995 7.83398 19.5967 7.83398C17.8043 7.83398 16.4301 8.34719 15.4742 9.40379C14.5183 10.4604 14.0403 11.9698 14.0403 13.9623C14.0403 15.8642 14.5481 17.3434 15.5937 18.4C16.6392 19.4264 18.103 19.9396 19.985 19.9396C20.8812 19.9396 21.6579 19.8793 22.3151 19.7585C22.9724 19.6377 23.5997 19.4264 24.1972 19.0943L23.5997 16.4679C23.1516 16.6491 22.7334 16.8 22.345 16.8906C21.7774 17.0113 21.1501 17.1019 20.463 17.1019C19.7162 17.1019 19.1187 16.9208 18.6706 16.5585C18.2225 16.1962 18.0134 15.683 17.9835 15.0189H24.944V13.1774C24.9141 11.4566 24.466 10.1283 23.5399 9.22266ZM18.0134 12.4529C18.0731 11.8189 18.2524 11.3359 18.5511 11.034C18.8498 10.7321 19.2382 10.5812 19.7162 10.5812C20.224 10.5812 20.6124 10.7623 20.9111 11.0944C21.2098 11.4264 21.3592 11.8793 21.3891 12.4529H18.0134Z\",\n fill: \"black\"\n })));\n}\nconst ForwardRef = /*#__PURE__*/React.forwardRef(SvgDeloitteLogoBlack);\nexport default __webpack_public_path__ + \"static/media/deloitte_logo_black.36ad5f69430b5ea1f3a9c81f4164a6d2.svg\";\nexport { ForwardRef as ReactComponent };","var _path, _path2, _path3, _path4, _path5;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport * as React from \"react\";\nfunction SvgOmnia(_ref, svgRef) {\n let {\n title,\n titleId,\n ...props\n } = _ref;\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 68,\n height: 16,\n viewBox: \"0 0 68 16\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M14.5243 8.31985C14.5243 10.7999 13.8641 12.6399 12.6262 13.9999C11.3883 15.28 9.57281 16 7.26213 16C4.95145 16 3.13591 15.36 1.89805 13.9999C0.660185 12.7199 0 10.7999 0 8.31985C0 5.83982 0.660185 3.99979 1.89805 2.63977C3.13591 1.35975 4.95145 0.719742 7.34466 0.719742C9.73787 0.719742 11.4709 1.35975 12.7087 2.71977C13.8641 3.99979 14.5243 5.83982 14.5243 8.31985ZM3.30097 8.31985C3.30097 9.99988 3.63106 11.1999 4.29125 12.0799C4.95144 12.8799 5.94174 13.3599 7.1796 13.3599C9.73786 13.3599 11.0583 11.6799 11.0583 8.31985C11.0583 4.9598 9.73786 3.27978 7.1796 3.27978C5.85921 3.27978 4.95144 3.67978 4.29125 4.5598C3.63106 5.43981 3.30097 6.63983 3.30097 8.31985Z\",\n fill: \"#86BC25\"\n })), _path2 || (_path2 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M27.7281 15.7598H24.5096V9.11974C24.5096 8.31973 24.3446 7.67972 24.097 7.27971C23.8495 6.87971 23.3543 6.6397 22.7767 6.6397C21.9514 6.6397 21.3737 6.95971 20.9611 7.51972C20.631 8.07973 20.3834 9.03974 20.3834 10.3998V15.7598H17.2475V4.39967H19.7233L20.1359 5.83969H20.3009C20.631 5.27968 21.0436 4.87968 21.6213 4.63968C22.199 4.31967 22.8592 4.15967 23.6844 4.15967C25.4174 4.15967 26.6553 4.71968 27.233 5.83969H27.4805C27.8106 5.27968 28.2232 4.87968 28.8834 4.63968C29.4611 4.31967 30.2038 4.23967 30.9465 4.23967C32.2669 4.23967 33.2572 4.55967 33.9174 5.19968C34.5776 5.83969 34.9077 6.87971 34.9077 8.39973V15.7598H31.6893V9.11974C31.6893 8.31973 31.5242 7.67972 31.2766 7.27971C31.0291 6.87971 30.5339 6.6397 29.9562 6.6397C29.2135 6.6397 28.5533 6.87971 28.2232 7.43972C27.8106 7.99972 27.6456 8.87974 27.6456 9.99975V15.7598H27.7281Z\",\n fill: \"#86BC25\"\n })), _path3 || (_path3 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M48.8546 15.7598H45.6361V9.11974C45.6361 8.31973 45.4711 7.67972 45.2235 7.27971C44.8934 6.87971 44.4808 6.6397 43.8206 6.6397C42.9128 6.6397 42.2526 6.95971 41.9225 7.51972C41.5924 8.07973 41.3449 9.03974 41.3449 10.3998V15.7598H38.1264V4.39967H40.6021L41.0147 5.83969H41.1798C41.5099 5.27968 42.005 4.87968 42.6652 4.55967C43.3254 4.23967 43.9856 4.15967 44.8109 4.15967C46.1313 4.15967 47.2041 4.47967 47.9468 5.19968C48.6895 5.91969 49.0196 6.95971 49.0196 8.31973V15.7598H48.8546Z\",\n fill: \"#86BC25\"\n })), _path4 || (_path4 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M51.8253 1.52002C51.8253 0.480008 52.4029 0 53.5583 0C54.7136 0 55.2913 0.480008 55.2913 1.52002C55.2913 2.00003 55.1262 2.40004 54.8787 2.64004C54.5486 2.88004 54.136 3.04004 53.5583 3.04004C52.4029 3.04004 51.8253 2.48004 51.8253 1.52002ZM55.1262 15.7602H51.9078V4.40006H55.1262V15.7602Z\",\n fill: \"#86BC25\"\n })), _path5 || (_path5 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M65.6893 15.7598L65.1117 14.2398H65.0291C64.4515 14.8798 63.9563 15.3598 63.3786 15.5998C62.801 15.8398 62.0583 15.9998 61.1505 15.9998C59.9952 15.9998 59.1699 15.6798 58.5097 15.0398C57.8495 14.3998 57.5194 13.5198 57.5194 12.3998C57.5194 11.1998 57.9321 10.3198 58.8398 9.75975C59.7476 9.19974 60.9855 8.87974 62.801 8.79973L64.8641 8.71973V8.23973C64.8641 7.11971 64.2864 6.4797 63.0486 6.4797C62.1408 6.4797 60.9855 6.7197 59.7476 7.27971L58.6748 5.19968C59.9952 4.47967 61.4806 4.15967 63.1311 4.15967C64.699 4.15967 65.9369 4.47967 66.7621 5.11968C67.5874 5.75969 68 6.79971 68 8.15973V15.7598H65.6893ZM64.7816 10.4798L63.5437 10.5598C62.6359 10.5598 61.8932 10.7198 61.4806 11.0398C60.9855 11.3598 60.8204 11.7598 60.8204 12.3998C60.8204 13.2798 61.3156 13.6798 62.3884 13.6798C63.1311 13.6798 63.7087 13.4398 64.2039 13.0398C64.6165 12.6398 64.8641 12.0798 64.8641 11.3598V10.4798H64.7816Z\",\n fill: \"#86BC25\"\n })));\n}\nconst ForwardRef = /*#__PURE__*/React.forwardRef(SvgOmnia);\nexport default __webpack_public_path__ + \"static/media/Omnia.38f386599336a71a3c892556c44740a6.svg\";\nexport { ForwardRef as ReactComponent };","import React, { Component } from 'react';\r\nimport ReactDOM from 'react-dom';\r\nimport PropTypes from 'prop-types';\r\nimport enhanceWithClickOutside from 'react-click-outside';\r\n\r\nclass Modal extends Component {\r\n static propTypes = {\r\n children: PropTypes.node,\r\n id: PropTypes.any\r\n };\r\n\r\n state = {\r\n isSettingMenuOpen: false\r\n };\r\n\r\n handleClickOutside = () => {\r\n this.setState({ isSettingMenuOpen: true });\r\n };\r\n\r\n render() {\r\n return ReactDOM.createPortal(\r\n
\r\n {this.props.children}\r\n
,\r\n document.getElementById('modal-root')\r\n );\r\n }\r\n}\r\n\r\nexport default enhanceWithClickOutside(Modal);\r\n","import React, { Component } from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { FormattedMessage } from 'react-intl';\r\nimport { Button as MenuButton, Menu, MenuItem, Wrapper as MenuWrapper } from 'react-aria-menubutton';\r\nimport Icon from 'components/shared/icon';\r\n\r\nclass LanguageSelect extends Component {\r\n static propTypes = {\r\n languages: PropTypes.object,\r\n setLanguage: PropTypes.func,\r\n handlelanguageSubmit: PropTypes.func\r\n };\r\n\r\n state = {\r\n isMenuOpen: false,\r\n selectedLanguage: this.props.currentLanguage\r\n };\r\n\r\n languageSelectedByUser = language => {\r\n this.setState(\r\n {\r\n selectedLanguage: language\r\n },\r\n this.props.handlelanguageSubmit(language)\r\n );\r\n };\r\n\r\n onMenuToggle = () => {\r\n this.setState({ isMenuOpen: !this.state.isMenuOpen });\r\n };\r\n\r\n render() {\r\n const { languages, currentLanguage } = this.props;\r\n const { selectedLanguage } = this.state;\r\n return (\r\n \r\n
\r\n \r\n
\r\n\r\n \r\n
{selectedLanguage.nativeName}
\r\n\r\n
\r\n \r\n
\r\n
\r\n \r\n {languages && languages.languages && languages.languages.length\r\n ? languages.languages.map(language => {\r\n var selected = language.localCode === selectedLanguage.localeCode;\r\n return (\r\n \r\n {language.nativeName}\r\n\r\n {selected ? (\r\n \r\n ) : null}\r\n \r\n );\r\n })\r\n : null}\r\n \r\n \r\n );\r\n }\r\n}\r\n\r\nexport default LanguageSelect;\r\n","import { connect } from 'react-redux';\r\n\r\nimport { loadLanguageData } from 'store/intl/languageData';\r\nimport { setLanguage } from 'store/intl/currentLanguage';\r\nimport LanguageSelect from 'components/header/account-dropdown/language-select/language-select';\r\n\r\nconst mapStateToProps = ({ data: { languages, currentLanguage } }) => ({\r\n languages,\r\n currentLanguage\r\n});\r\n\r\nconst mapDispatchToProps = {\r\n loadLanguageData,\r\n setLanguage\r\n};\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(LanguageSelect);\r\n","import React, { Component } from 'react';\r\nimport { FormattedMessage } from 'react-intl';\r\nimport PropTypes from 'prop-types';\r\nimport Icon from 'components/shared/icon';\r\n\r\nclass FormatSelect extends Component {\r\n state = {\r\n userChangedFormat: ''\r\n };\r\n\r\n componentDidMount() {\r\n this.props.setFormat();\r\n this.props.loadFormatData();\r\n this.props.formats.map(e => {\r\n if (e.IsDefault) {\r\n localStorage.setItem('defaultFormat', e.CultureCode);\r\n }\r\n });\r\n }\r\n\r\n static propTypes = {\r\n selectedFormat: PropTypes.string\r\n };\r\n\r\n formatSelected = e => {\r\n this.setState({\r\n userChangedFormat: e.currentTarget.value\r\n });\r\n this.props.handleSuccessSubmit(e.currentTarget.value);\r\n localStorage.setItem('userSelectedFormat', e.currentTarget.value);\r\n };\r\n\r\n render() {\r\n const { formats, isLoading, currentFormat } = this.props;\r\n\r\n const items = formats.map(e => {\r\n if (currentFormat !== null && currentFormat !== 'null') {\r\n return (\r\n
\r\n {e.CultureCode === currentFormat ? (\r\n \r\n ) : (\r\n \r\n )}\r\n \r\n {e.DisplayText}\r\n {e.IsDefault && ' ('}\r\n {e.IsDefault && }\r\n {e.IsDefault && ')'}\r\n \r\n
\r\n
\r\n );\r\n } else {\r\n return (\r\n
\r\n {e.IsDefault ? (\r\n \r\n ) : (\r\n \r\n )}\r\n \r\n {e.DisplayText}\r\n {e.IsDefault && ' ('}\r\n {e.IsDefault && }\r\n {e.IsDefault && ')'}\r\n \r\n
\r\n
\r\n );\r\n }\r\n });\r\n\r\n return (\r\n
\r\n
\r\n \r\n
\r\n {isLoading ? (\r\n \r\n ) : (\r\n
{items}
\r\n )}\r\n
\r\n );\r\n }\r\n}\r\nexport default FormatSelect;\r\n","import { connect } from 'react-redux';\r\n\r\nimport { loadFormatData } from 'store/intl/loadFormat';\r\nimport { setFormat } from 'store/intl/currentFormat';\r\nimport FormatSelect from 'components/header/account-dropdown/format-select/format-select';\r\n\r\nconst mapStateToProps = ({\r\n data: {\r\n loadFormat: { formats, isLoading },\r\n currentFormat: { currentFormat }\r\n }\r\n}) => ({\r\n formats,\r\n isLoading,\r\n currentFormat\r\n});\r\n\r\nconst mapDispatchToProps = {\r\n loadFormatData,\r\n setFormat\r\n};\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(FormatSelect);\r\n","import React, { Component } from 'react';\r\nimport { FormattedMessage } from 'react-intl';\r\nimport PropTypes from 'prop-types';\r\nimport Icon from 'components/shared/icon';\r\n\r\nclass Dateselect extends Component {\r\n state = {\r\n userChangedDateFormat: ''\r\n };\r\n\r\n componentDidMount() {\r\n this.props.setDateFormat();\r\n this.props.loadDateFormat();\r\n this.props.Dateformats.map(e => {\r\n if (e.IsDefault) {\r\n localStorage.setItem('defaultdateFormat', e.DateCode);\r\n }\r\n });\r\n }\r\n\r\n static propTypes = {\r\n currentDateFormat: PropTypes.string,\r\n Dateformats: PropTypes.object\r\n };\r\n\r\n DateformatSelected = e => {\r\n this.setState({\r\n userChangedDateFormat: e.currentTarget.value\r\n });\r\n this.props.handleSuccessSubmit(e.currentTarget.value);\r\n localStorage.setItem('userSelectedDateFormat', e.currentTarget.value);\r\n };\r\n\r\n render() {\r\n const { Dateformats, isLoading, currentDateFormat } = this.props;\r\n\r\n const items = Dateformats.map(e => {\r\n if (currentDateFormat !== null && currentDateFormat !== 'null') {\r\n return (\r\n
\r\n {e.DateCode.toUpperCase() === currentDateFormat.toUpperCase() ? (\r\n \r\n ) : (\r\n \r\n )}\r\n \r\n {e.DisplayText}\r\n {e.IsDefault && ' ('}\r\n {e.IsDefault && }\r\n {e.IsDefault && ')'}\r\n \r\n
\r\n
\r\n );\r\n } else {\r\n return (\r\n
\r\n {e.IsDefault ? (\r\n \r\n ) : (\r\n \r\n )}\r\n \r\n {e.DisplayText}\r\n {e.IsDefault && ' ('}\r\n {e.IsDefault && }\r\n {e.IsDefault && ')'}\r\n \r\n
\r\n
\r\n );\r\n }\r\n });\r\n\r\n return (\r\n
\r\n
\r\n \r\n
\r\n {isLoading ? (\r\n \r\n ) : (\r\n
{items}
\r\n )}\r\n
\r\n );\r\n }\r\n}\r\nexport default Dateselect;\r\n","import { connect } from 'react-redux';\r\n\r\nimport { loadDateFormat } from 'store/intl/loadDateFormat';\r\nimport { setDateFormat } from 'store/intl/currentDateFormat';\r\nimport Dateselect from 'components/header/account-dropdown/Date-select/Date-select';\r\n\r\nconst mapStateToProps = ({\r\n data: {\r\n loadDateFormat: { Dateformats, isLoading },\r\n currentDateFormat: { currentDateFormat }\r\n }\r\n}) => ({\r\n Dateformats,\r\n isLoading,\r\n currentDateFormat\r\n});\r\n\r\nconst mapDispatchToProps = {\r\n loadDateFormat,\r\n setDateFormat\r\n};\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(Dateselect);\r\n","import classNames from 'classnames';\r\nimport PropTypes from 'prop-types';\r\nimport React from 'react';\r\n\r\nclass Switch extends React.Component {\r\n static propTypes = {\r\n className: PropTypes.string,\r\n disabled: PropTypes.bool,\r\n id: PropTypes.string.isRequired,\r\n isOn: PropTypes.bool,\r\n onChange: PropTypes.func\r\n };\r\n\r\n onChange = event => {\r\n const { id, isOn, onChange } = this.props;\r\n if (onChange) {\r\n onChange(id, !isOn);\r\n }\r\n };\r\n\r\n // Override the label's default click behaviour to prevent bug on Edge where the onChange was sometimes\r\n // not fired after a click\r\n onClick = event => {\r\n const { disabled } = this.props;\r\n if (disabled) {\r\n return;\r\n }\r\n\r\n event.preventDefault();\r\n this.onChange();\r\n };\r\n\r\n render() {\r\n const { id, isOn, className, disabled } = this.props;\r\n\r\n return (\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n );\r\n }\r\n}\r\n\r\nexport default Switch;\r\n","import React, { useState, useEffect } from 'react';\r\nimport { FormattedMessage } from 'react-intl';\r\nimport Icon from 'components/shared/icon';\r\nimport Modal from 'components/shared/modal';\r\nimport LanguageSelect from 'containers/header/language-select';\r\nimport FormatSelect from 'containers/header/format-select';\r\nimport DateSelect from 'containers/header/Date-select';\r\nimport Button from 'components/shared/single-click-button';\r\nimport { postPrefferedFormat } from 'store/api';\r\nimport { postPrefferedDateFormat } from 'store/api';\r\nimport OutsideClickHandler from 'react-outside-click-handler';\r\nimport Switch from 'components/shared/form/switch';\r\nimport { postDsEnabledForUser, getDataSnipperEnableforUser, getExtendedFeaturesforContainer } from 'store/api';\r\n\r\nfunction AccountSettingsPopup({\r\n isOpen,\r\n closePopup,\r\n handleFormatSuccessSubmit,\r\n handleFormatErrorSubmit,\r\n setLanguage,\r\n userId,\r\n IsDsEnabled,\r\n onChangeDSEnabled,\r\n currentUser\r\n}) {\r\n const [userDsValue, setUserDSValue] = useState(false);\r\n const [isDsValueLoading, setisDsValueLoading] = useState(true);\r\n const [isDataSnipperContainerSettingEnable, setDataSnipperContainerSetting] = useState(false);\r\n useEffect(() => {\r\n getDataSnipperEnableforUser().then(res => {\r\n if (res.userPreferencesString == null) {\r\n setUserDSValue(false);\r\n } else {\r\n setUserDSValue(parseStringToBoolean(res.userPreferencesString));\r\n }\r\n setisDsValueLoading(false);\r\n });\r\n\r\n getExtendedFeaturesforContainer(false).then(res => {\r\n var datasnipperresponse = res.find(r => r.containerApplicationSettingName == 'DataSnipperAccess')\r\n .containerApplicationSettingValue;\r\n var dscontainersettingvalue = datasnipperresponse === 'true' ? true : false;\r\n setDataSnipperContainerSetting(dscontainersettingvalue);\r\n });\r\n }, []);\r\n\r\n const changeUserDSValue = () => {\r\n setUserDSValue(!userDsValue);\r\n };\r\n\r\n const parseStringToBoolean = stringValue => {\r\n // Check if the string value is 'true' or 'false'\r\n if (stringValue.toLowerCase() === 'true') {\r\n return true;\r\n } else if (stringValue.toLowerCase() === 'false') {\r\n return false;\r\n } else {\r\n // If the string value is not 'true' or 'false', return null\r\n return null;\r\n }\r\n };\r\n\r\n const formatSelected = data => {\r\n localStorage.setItem('userSelectedFormat', data);\r\n };\r\n\r\n const DateformatSelected = data => {\r\n localStorage.setItem('userSelectedDateFormat', data);\r\n };\r\n\r\n const [language, changeLanguage] = useState(0);\r\n const saveFormatsAndLanguage = () => {\r\n let selectedDateFormat = localStorage.getItem('userSelectedDateFormat');\r\n if (selectedDateFormat == 'MM/DD/YYYY' || selectedDateFormat == 'MM/dd/yyyy') {\r\n selectedDateFormat = 'MM/dd/yyyy';\r\n } else if (selectedDateFormat == 'DD/MM/YYYY' || selectedDateFormat == 'dd/MM/yyyy') {\r\n selectedDateFormat = 'dd/MM/yyyy';\r\n } else if (selectedDateFormat == 'YYYY/MM/DD' || selectedDateFormat == 'yyyy/MM/dd') {\r\n selectedDateFormat = 'yyyy/MM/dd';\r\n }\r\n\r\n closePopup();\r\n if (localStorage.getItem('userSelectedFormat') == null || localStorage.getItem('userSelectedFormat') == 'null') {\r\n localStorage.setItem('userSelectedFormat', localStorage.getItem('defaultFormat'));\r\n }\r\n if (\r\n localStorage.getItem('userSelectedDateFormat') == null ||\r\n localStorage.getItem('userSelectedDateFormat') == 'null'\r\n ) {\r\n localStorage.setItem('userSelectedDateFormat', localStorage.getItem('defaultdateFormat'));\r\n }\r\n postPrefferedFormat('NumberFormatPreference', localStorage.getItem('userSelectedFormat'), userId).then(\r\n response => handleFormatSuccessSubmit?.(response),\r\n error => handleFormatErrorSubmit?.(error)\r\n );\r\n postPrefferedDateFormat('DateFormatPreference', selectedDateFormat, userId).then(\r\n response => handleFormatSuccessSubmit?.(response),\r\n error => handleFormatErrorSubmit?.(error)\r\n );\r\n\r\n postDsEnabledForUser('enableDataSnipperForUser', userDsValue.toString(), userId).then(\r\n response => handleFormatSuccessSubmit?.(response),\r\n error => handleFormatErrorSubmit?.(error)\r\n );\r\n\r\n localStorage.setItem('currentFormat', localStorage.getItem('userSelectedFormat'));\r\n localStorage.setItem('currentDateFormat', localStorage.getItem('userSelectedDateFormat'));\r\n setLanguage(language);\r\n };\r\n\r\n const openCookiePrivacyCenter = () => {\r\n closePopup();\r\n document.getElementById('ot-sdk-btn').click();\r\n };\r\n\r\n return isOpen ? (\r\n \r\n {\r\n closePopup();\r\n }}\r\n >\r\n
\r\n
\r\n

\r\n \r\n

\r\n \r\n
\r\n\r\n
\r\n
\r\n \r\n
\r\n
\r\n\r\n
\r\n changeLanguage(data)} />\r\n
\r\n
\r\n
\r\n
\r\n formatSelected(data)} />\r\n
\r\n
\r\n\r\n
\r\n {/* \r\n
*/}\r\n
\r\n
\r\n DateformatSelected(data)} />\r\n
\r\n
\r\n {currentUser.allowDataSnipper && isDataSnipperContainerSettingEnable ? (\r\n <>\r\n
\r\n \r\n
\r\n
\r\n {isDsValueLoading ? (\r\n \r\n ) : (\r\n \r\n )}\r\n \r\n ) : null}\r\n
\r\n\r\n
\r\n \r\n\r\n \r\n
\r\n
\r\n \r\n
\r\n ) : null;\r\n}\r\n\r\nexport default AccountSettingsPopup;\r\n","import { connect } from 'react-redux';\r\n\r\nimport { setLanguage } from 'store/intl/currentLanguage';\r\nimport AccountSettingsPopup from 'components/header/account-dropdown/account-settings-popup/account-settings-popup';\r\n\r\nconst mapStateToProps = () => {};\r\n\r\nconst mapDispatchToProps = {\r\n setLanguage\r\n};\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(AccountSettingsPopup);\r\n","\"use strict\";\n\n/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n */\n\nfunction makeEmptyFunction(arg) {\n return function () {\n return arg;\n };\n}\n\n/**\n * This function accepts and discards inputs; it has no side effects. This is\n * primarily useful idiomatically for overridable function endpoints which\n * always need to be callable, since JS lacks a null-call idiom ala Cocoa.\n */\nvar emptyFunction = function emptyFunction() {};\n\nemptyFunction.thatReturns = makeEmptyFunction;\nemptyFunction.thatReturnsFalse = makeEmptyFunction(false);\nemptyFunction.thatReturnsTrue = makeEmptyFunction(true);\nemptyFunction.thatReturnsNull = makeEmptyFunction(null);\nemptyFunction.thatReturnsThis = function () {\n return this;\n};\nemptyFunction.thatReturnsArgument = function (arg) {\n return arg;\n};\n\nmodule.exports = emptyFunction;","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n */\n\n'use strict';\n\n/**\n * Use invariant() to assert state which your program assumes to be true.\n *\n * Provide sprintf-style format (only %s is supported) and arguments\n * to provide information about what broke and what you were\n * expecting.\n *\n * The invariant message will be stripped in production, but the invariant\n * will remain to ensure logic does not differ in production.\n */\n\nvar validateFormat = function validateFormat(format) {};\n\nif (process.env.NODE_ENV !== 'production') {\n validateFormat = function validateFormat(format) {\n if (format === undefined) {\n throw new Error('invariant requires an error message argument');\n }\n };\n}\n\nfunction invariant(condition, format, a, b, c, d, e, f) {\n validateFormat(format);\n\n if (!condition) {\n var error;\n if (format === undefined) {\n error = new Error('Minified exception occurred; use the non-minified dev environment ' + 'for the full error message and additional helpful warnings.');\n } else {\n var args = [a, b, c, d, e, f];\n var argIndex = 0;\n error = new Error(format.replace(/%s/g, function () {\n return args[argIndex++];\n }));\n error.name = 'Invariant Violation';\n }\n\n error.framesToPop = 1; // we don't care about invariant's own frame\n throw error;\n }\n}\n\nmodule.exports = invariant;","/*\nobject-assign\n(c) Sindre Sorhus\n@license MIT\n*/\n\n'use strict';\n/* eslint-disable no-unused-vars */\nvar getOwnPropertySymbols = Object.getOwnPropertySymbols;\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\nvar propIsEnumerable = Object.prototype.propertyIsEnumerable;\n\nfunction toObject(val) {\n\tif (val === null || val === undefined) {\n\t\tthrow new TypeError('Object.assign cannot be called with null or undefined');\n\t}\n\n\treturn Object(val);\n}\n\nfunction shouldUseNative() {\n\ttry {\n\t\tif (!Object.assign) {\n\t\t\treturn false;\n\t\t}\n\n\t\t// Detect buggy property enumeration order in older V8 versions.\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=4118\n\t\tvar test1 = new String('abc'); // eslint-disable-line no-new-wrappers\n\t\ttest1[5] = 'de';\n\t\tif (Object.getOwnPropertyNames(test1)[0] === '5') {\n\t\t\treturn false;\n\t\t}\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=3056\n\t\tvar test2 = {};\n\t\tfor (var i = 0; i < 10; i++) {\n\t\t\ttest2['_' + String.fromCharCode(i)] = i;\n\t\t}\n\t\tvar order2 = Object.getOwnPropertyNames(test2).map(function (n) {\n\t\t\treturn test2[n];\n\t\t});\n\t\tif (order2.join('') !== '0123456789') {\n\t\t\treturn false;\n\t\t}\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=3056\n\t\tvar test3 = {};\n\t\t'abcdefghijklmnopqrst'.split('').forEach(function (letter) {\n\t\t\ttest3[letter] = letter;\n\t\t});\n\t\tif (Object.keys(Object.assign({}, test3)).join('') !==\n\t\t\t\t'abcdefghijklmnopqrst') {\n\t\t\treturn false;\n\t\t}\n\n\t\treturn true;\n\t} catch (err) {\n\t\t// We don't expect any of the above to throw, but better to be safe.\n\t\treturn false;\n\t}\n}\n\nmodule.exports = shouldUseNative() ? Object.assign : function (target, source) {\n\tvar from;\n\tvar to = toObject(target);\n\tvar symbols;\n\n\tfor (var s = 1; s < arguments.length; s++) {\n\t\tfrom = Object(arguments[s]);\n\n\t\tfor (var key in from) {\n\t\t\tif (hasOwnProperty.call(from, key)) {\n\t\t\t\tto[key] = from[key];\n\t\t\t}\n\t\t}\n\n\t\tif (getOwnPropertySymbols) {\n\t\t\tsymbols = getOwnPropertySymbols(from);\n\t\t\tfor (var i = 0; i < symbols.length; i++) {\n\t\t\t\tif (propIsEnumerable.call(from, symbols[i])) {\n\t\t\t\t\tto[symbols[i]] = from[symbols[i]];\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\treturn to;\n};\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nvar ReactPropTypesSecret = 'SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED';\n\nmodule.exports = ReactPropTypesSecret;\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nif (process.env.NODE_ENV !== 'production') {\n var invariant = require('fbjs/lib/invariant');\n var warning = require('fbjs/lib/warning');\n var ReactPropTypesSecret = require('./lib/ReactPropTypesSecret');\n var loggedTypeFailures = {};\n}\n\n/**\n * Assert that the values match with the type specs.\n * Error messages are memorized and will only be shown once.\n *\n * @param {object} typeSpecs Map of name to a ReactPropType\n * @param {object} values Runtime values that need to be type-checked\n * @param {string} location e.g. \"prop\", \"context\", \"child context\"\n * @param {string} componentName Name of the component for error messages.\n * @param {?Function} getStack Returns the component stack.\n * @private\n */\nfunction checkPropTypes(typeSpecs, values, location, componentName, getStack) {\n if (process.env.NODE_ENV !== 'production') {\n for (var typeSpecName in typeSpecs) {\n if (typeSpecs.hasOwnProperty(typeSpecName)) {\n var error;\n // Prop type validation may throw. In case they do, we don't want to\n // fail the render phase where it didn't fail before. So we log it.\n // After these have been cleaned up, we'll let them throw.\n try {\n // This is intentionally an invariant that gets caught. It's the same\n // behavior as without this statement except with a better message.\n invariant(typeof typeSpecs[typeSpecName] === 'function', '%s: %s type `%s` is invalid; it must be a function, usually from ' + 'the `prop-types` package, but received `%s`.', componentName || 'React class', location, typeSpecName, typeof typeSpecs[typeSpecName]);\n error = typeSpecs[typeSpecName](values, typeSpecName, componentName, location, null, ReactPropTypesSecret);\n } catch (ex) {\n error = ex;\n }\n warning(!error || error instanceof Error, '%s: type specification of %s `%s` is invalid; the type checker ' + 'function must return `null` or an `Error` but returned a %s. ' + 'You may have forgotten to pass an argument to the type checker ' + 'creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and ' + 'shape all require an argument).', componentName || 'React class', location, typeSpecName, typeof error);\n if (error instanceof Error && !(error.message in loggedTypeFailures)) {\n // Only monitor this failure once because there tends to be a lot of the\n // same error.\n loggedTypeFailures[error.message] = true;\n\n var stack = getStack ? getStack() : '';\n\n warning(false, 'Failed %s type: %s%s', location, error.message, stack != null ? stack : '');\n }\n }\n }\n }\n}\n\nmodule.exports = checkPropTypes;\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nif (process.env.NODE_ENV !== 'production') {\n var REACT_ELEMENT_TYPE = (typeof Symbol === 'function' &&\n Symbol.for &&\n Symbol.for('react.element')) ||\n 0xeac7;\n\n var isValidElement = function(object) {\n return typeof object === 'object' &&\n object !== null &&\n object.$$typeof === REACT_ELEMENT_TYPE;\n };\n\n // By explicitly using `prop-types` you are opting into new development behavior.\n // http://fb.me/prop-types-in-prod\n var throwOnDirectAccess = true;\n module.exports = require('./factoryWithTypeCheckers')(isValidElement, throwOnDirectAccess);\n} else {\n // By explicitly using `prop-types` you are opting into new production behavior.\n // http://fb.me/prop-types-in-prod\n module.exports = require('./factoryWithThrowingShims')();\n}\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nvar emptyFunction = require('fbjs/lib/emptyFunction');\nvar invariant = require('fbjs/lib/invariant');\nvar ReactPropTypesSecret = require('./lib/ReactPropTypesSecret');\n\nmodule.exports = function() {\n function shim(props, propName, componentName, location, propFullName, secret) {\n if (secret === ReactPropTypesSecret) {\n // It is still safe when called from React.\n return;\n }\n invariant(\n false,\n 'Calling PropTypes validators directly is not supported by the `prop-types` package. ' +\n 'Use PropTypes.checkPropTypes() to call them. ' +\n 'Read more at http://fb.me/use-check-prop-types'\n );\n };\n shim.isRequired = shim;\n function getShim() {\n return shim;\n };\n // Important!\n // Keep this list in sync with production version in `./factoryWithTypeCheckers.js`.\n var ReactPropTypes = {\n array: shim,\n bool: shim,\n func: shim,\n number: shim,\n object: shim,\n string: shim,\n symbol: shim,\n\n any: shim,\n arrayOf: getShim,\n element: shim,\n instanceOf: getShim,\n node: shim,\n objectOf: getShim,\n oneOf: getShim,\n oneOfType: getShim,\n shape: getShim,\n exact: getShim\n };\n\n ReactPropTypes.checkPropTypes = emptyFunction;\n ReactPropTypes.PropTypes = ReactPropTypes;\n\n return ReactPropTypes;\n};\n","export default {\n GLOBAL: {\n HIDE: \"__react_tooltip_hide_event\",\n REBUILD: \"__react_tooltip_rebuild_event\",\n SHOW: \"__react_tooltip_show_event\",\n },\n};\n","/**\n * Static methods for react-tooltip\n */\nimport CONSTANT from \"../constant\";\n\nconst dispatchGlobalEvent = (eventName, opts) => {\n // Compatible with IE\n // @see http://stackoverflow.com/questions/26596123/internet-explorer-9-10-11-event-constructor-doesnt-work\n let event;\n\n if (typeof window.CustomEvent === \"function\") {\n event = new window.CustomEvent(eventName, { detail: opts });\n } else {\n event = document.createEvent(\"Event\");\n event.initEvent(eventName, false, true);\n event.detail = opts;\n }\n\n window.dispatchEvent(event);\n};\n\nexport default function(target) {\n /**\n * Hide all tooltip\n * @trigger ReactTooltip.hide()\n */\n target.hide = target => {\n dispatchGlobalEvent(CONSTANT.GLOBAL.HIDE, { target });\n };\n\n /**\n * Rebuild all tooltip\n * @trigger ReactTooltip.rebuild()\n */\n target.rebuild = () => {\n dispatchGlobalEvent(CONSTANT.GLOBAL.REBUILD);\n };\n\n /**\n * Show specific tooltip\n * @trigger ReactTooltip.show()\n */\n target.show = target => {\n dispatchGlobalEvent(CONSTANT.GLOBAL.SHOW, { target });\n };\n\n target.prototype.globalRebuild = function() {\n if (this.mount) {\n this.unbindListener();\n this.bindListener();\n }\n };\n\n target.prototype.globalShow = function(event) {\n if (this.mount) {\n // Create a fake event, specific show will limit the type to `solid`\n // only `float` type cares e.clientX e.clientY\n const e = { currentTarget: event.detail.target };\n this.showTooltip(e, true);\n }\n };\n\n target.prototype.globalHide = function(event) {\n if (this.mount) {\n const hasTarget =\n (event && event.detail && event.detail.target && true) || false;\n this.hideTooltip(\n { currentTarget: hasTarget && event.detail.target },\n hasTarget\n );\n }\n };\n}\n","/**\n * Custom events to control showing and hiding of tooltip\n *\n * @attributes\n * - `event` {String}\n * - `eventOff` {String}\n */\n\nexport const checkStatus = function(dataEventOff, e) {\n const { show } = this.state;\n const { id } = this.props;\n const isCapture = this.isCapture(e.currentTarget);\n const currentItem = e.currentTarget.getAttribute(\"currentItem\");\n\n if (!isCapture) e.stopPropagation();\n if (show && currentItem === \"true\") {\n if (!dataEventOff) this.hideTooltip(e);\n } else {\n e.currentTarget.setAttribute(\"currentItem\", \"true\");\n setUntargetItems(e.currentTarget, this.getTargetArray(id));\n this.showTooltip(e);\n }\n};\n\nconst setUntargetItems = function(currentTarget, targetArray) {\n for (let i = 0; i < targetArray.length; i++) {\n if (currentTarget !== targetArray[i]) {\n targetArray[i].setAttribute(\"currentItem\", \"false\");\n } else {\n targetArray[i].setAttribute(\"currentItem\", \"true\");\n }\n }\n};\n\nconst customListeners = {\n id: \"9b69f92e-d3fe-498b-b1b4-c5e63a51b0cf\",\n set(target, event, listener) {\n if (this.id in target) {\n const map = target[this.id];\n map[event] = listener;\n } else {\n // this is workaround for WeakMap, which is not supported in older browsers, such as IE\n Object.defineProperty(target, this.id, {\n configurable: true,\n value: { [event]: listener },\n });\n }\n },\n get(target, event) {\n const map = target[this.id];\n if (map !== undefined) {\n return map[event];\n }\n },\n};\n\nexport default function(target) {\n target.prototype.isCustomEvent = function(ele) {\n const { event } = this.state;\n return event || !!ele.getAttribute(\"data-event\");\n };\n\n /* Bind listener for custom event */\n target.prototype.customBindListener = function(ele) {\n const { event, eventOff } = this.state;\n const dataEvent = ele.getAttribute(\"data-event\") || event;\n const dataEventOff = ele.getAttribute(\"data-event-off\") || eventOff;\n\n dataEvent.split(\" \").forEach(event => {\n ele.removeEventListener(event, customListeners.get(ele, event));\n const customListener = checkStatus.bind(this, dataEventOff);\n customListeners.set(ele, event, customListener);\n ele.addEventListener(event, customListener, false);\n });\n if (dataEventOff) {\n dataEventOff.split(\" \").forEach(event => {\n ele.removeEventListener(event, this.hideTooltip);\n ele.addEventListener(event, this.hideTooltip, false);\n });\n }\n };\n\n /* Unbind listener for custom event */\n target.prototype.customUnbindListener = function(ele) {\n const { event, eventOff } = this.state;\n const dataEvent = event || ele.getAttribute(\"data-event\");\n const dataEventOff = eventOff || ele.getAttribute(\"data-event-off\");\n\n ele.removeEventListener(dataEvent, customListeners.get(ele, event));\n if (dataEventOff) ele.removeEventListener(dataEventOff, this.hideTooltip);\n };\n}\n","/**\n * Util method to get effect\n */\nimport { checkStatus } from \"./customEvent\";\n\nconst makeProxy = e => {\n const proxy = {};\n for (const key in e) {\n if (typeof e[key] === \"function\") {\n proxy[key] = e[key].bind(e);\n } else {\n proxy[key] = e[key];\n }\n }\n return proxy;\n};\n\nconst bodyListener = function(callback, options, e) {\n const { respectEffect = false, customEvent = false } = options;\n const { id } = this.props;\n\n const tip = e.target.getAttribute(\"data-tip\") || null;\n const forId = e.target.getAttribute(\"data-for\") || null;\n\n const target = e.target;\n if (this.isCustomEvent(target) && !customEvent) {\n return;\n }\n\n const isTargetBelongsToTooltip =\n (id == null && forId == null) || forId === id;\n\n if (\n tip != null &&\n (!respectEffect || this.getEffect(target) === \"float\") &&\n isTargetBelongsToTooltip\n ) {\n const proxy = makeProxy(e);\n proxy.currentTarget = target;\n callback(proxy);\n }\n};\n\nconst findCustomEvents = (targetArray, dataAttribute) => {\n const events = {};\n targetArray.forEach(target => {\n const event = target.getAttribute(dataAttribute);\n if (event) event.split(\" \").forEach(event => (events[event] = true));\n });\n\n return events;\n};\n\nconst getBody = () => document.getElementsByTagName(\"body\")[0];\n\nexport default function(target) {\n target.prototype.isBodyMode = function() {\n return !!this.props.bodyMode;\n };\n\n target.prototype.bindBodyListener = function(targetArray) {\n const {\n event,\n eventOff,\n possibleCustomEvents,\n possibleCustomEventsOff,\n } = this.state;\n const body = getBody();\n\n const customEvents = findCustomEvents(targetArray, \"data-event\");\n const customEventsOff = findCustomEvents(targetArray, \"data-event-off\");\n\n if (event != null) customEvents[event] = true;\n if (eventOff != null) customEventsOff[eventOff] = true;\n possibleCustomEvents\n .split(\" \")\n .forEach(event => (customEvents[event] = true));\n possibleCustomEventsOff\n .split(\" \")\n .forEach(event => (customEventsOff[event] = true));\n\n this.unbindBodyListener(body);\n\n const listeners = (this.bodyModeListeners = {});\n if (event == null) {\n listeners.mouseover = bodyListener.bind(this, this.showTooltip, {});\n listeners.mousemove = bodyListener.bind(this, this.updateTooltip, {\n respectEffect: true,\n });\n listeners.mouseout = bodyListener.bind(this, this.hideTooltip, {});\n }\n\n for (const event in customEvents) {\n listeners[event] = bodyListener.bind(\n this,\n e => {\n const targetEventOff =\n e.currentTarget.getAttribute(\"data-event-off\") || eventOff;\n checkStatus.call(this, targetEventOff, e);\n },\n { customEvent: true }\n );\n }\n for (const event in customEventsOff) {\n listeners[event] = bodyListener.bind(this, this.hideTooltip, {\n customEvent: true,\n });\n }\n for (const event in listeners) {\n body.addEventListener(event, listeners[event]);\n }\n };\n\n target.prototype.unbindBodyListener = function(body) {\n body = body || getBody();\n\n const listeners = this.bodyModeListeners;\n for (const event in listeners) {\n body.removeEventListener(event, listeners[event]);\n }\n };\n}\n","/**\n * Calculate the position of tooltip\n *\n * @params\n * - `e` {Event} the event of current mouse\n * - `target` {Element} the currentTarget of the event\n * - `node` {DOM} the react-tooltip object\n * - `place` {String} top / right / bottom / left\n * - `effect` {String} float / solid\n * - `offset` {Object} the offset to default position\n *\n * @return {Object}\n * - `isNewState` {Bool} required\n * - `newState` {Object}\n * - `position` {Object} {left: {Number}, top: {Number}}\n */\nexport default function(e, target, node, place, desiredPlace, effect, offset) {\n const { width: tipWidth, height: tipHeight } = getDimensions(node);\n\n const { width: targetWidth, height: targetHeight } = getDimensions(target);\n\n const { mouseX, mouseY } = getCurrentOffset(e, target, effect);\n const defaultOffset = getDefaultPosition(\n effect,\n targetWidth,\n targetHeight,\n tipWidth,\n tipHeight\n );\n const { extraOffset_X, extraOffset_Y } = calculateOffset(offset);\n\n const windowWidth = window.innerWidth;\n const windowHeight = window.innerHeight;\n\n const { parentTop, parentLeft } = getParent(node);\n\n // Get the edge offset of the tooltip\n const getTipOffsetLeft = place => {\n const offset_X = defaultOffset[place].l;\n return mouseX + offset_X + extraOffset_X;\n };\n const getTipOffsetRight = place => {\n const offset_X = defaultOffset[place].r;\n return mouseX + offset_X + extraOffset_X;\n };\n const getTipOffsetTop = place => {\n const offset_Y = defaultOffset[place].t;\n return mouseY + offset_Y + extraOffset_Y;\n };\n const getTipOffsetBottom = place => {\n const offset_Y = defaultOffset[place].b;\n return mouseY + offset_Y + extraOffset_Y;\n };\n\n //\n // Functions to test whether the tooltip's sides are inside\n // the client window for a given orientation p\n //\n // _____________\n // | | <-- Right side\n // | p = 'left' |\\\n // | |/ |\\\n // |_____________| |_\\ <-- Mouse\n // / \\ |\n // |\n // |\n // Bottom side\n //\n const outsideLeft = p => getTipOffsetLeft(p) < 0;\n const outsideRight = p => getTipOffsetRight(p) > windowWidth;\n const outsideTop = p => getTipOffsetTop(p) < 0;\n const outsideBottom = p => getTipOffsetBottom(p) > windowHeight;\n\n // Check whether the tooltip with orientation p is completely inside the client window\n const outside = p =>\n outsideLeft(p) || outsideRight(p) || outsideTop(p) || outsideBottom(p);\n const inside = p => !outside(p);\n\n const placesList = [\"top\", \"bottom\", \"left\", \"right\"];\n const insideList = [];\n for (let i = 0; i < 4; i++) {\n const p = placesList[i];\n if (inside(p)) {\n insideList.push(p);\n }\n }\n\n let isNewState = false;\n let newPlace;\n const shouldUpdatePlace = desiredPlace !== place;\n if (inside(desiredPlace) && shouldUpdatePlace) {\n isNewState = true;\n newPlace = desiredPlace;\n } else if (\n insideList.length > 0 &&\n shouldUpdatePlace &&\n outside(desiredPlace) &&\n outside(place)\n ) {\n isNewState = true;\n newPlace = insideList[0];\n }\n\n if (isNewState) {\n return {\n isNewState: true,\n newState: { place: newPlace },\n };\n }\n\n return {\n isNewState: false,\n position: {\n left: parseInt(getTipOffsetLeft(place) - parentLeft, 10),\n top: parseInt(getTipOffsetTop(place) - parentTop, 10),\n },\n };\n}\n\nconst getDimensions = node => {\n const { height, width } = node.getBoundingClientRect();\n return {\n height: parseInt(height, 10),\n width: parseInt(width, 10),\n };\n};\n\n// Get current mouse offset\nconst getCurrentOffset = (e, currentTarget, effect) => {\n const boundingClientRect = currentTarget.getBoundingClientRect();\n const targetTop = boundingClientRect.top;\n const targetLeft = boundingClientRect.left;\n const { width: targetWidth, height: targetHeight } = getDimensions(\n currentTarget\n );\n\n if (effect === \"float\") {\n return {\n mouseX: e.clientX,\n mouseY: e.clientY,\n };\n }\n return {\n mouseX: targetLeft + targetWidth / 2,\n mouseY: targetTop + targetHeight / 2,\n };\n};\n\n// List all possibility of tooltip final offset\n// This is useful in judging if it is necessary for tooltip to switch position when out of window\nconst getDefaultPosition = (\n effect,\n targetWidth,\n targetHeight,\n tipWidth,\n tipHeight\n) => {\n let top;\n let right;\n let bottom;\n let left;\n const disToMouse = 3;\n const triangleHeight = 2;\n const cursorHeight = 12; // Optimize for float bottom only, cause the cursor will hide the tooltip\n\n if (effect === \"float\") {\n top = {\n l: -(tipWidth / 2),\n r: tipWidth / 2,\n t: -(tipHeight + disToMouse + triangleHeight),\n b: -disToMouse,\n };\n bottom = {\n l: -(tipWidth / 2),\n r: tipWidth / 2,\n t: disToMouse + cursorHeight,\n b: tipHeight + disToMouse + triangleHeight + cursorHeight,\n };\n left = {\n l: -(tipWidth + disToMouse + triangleHeight),\n r: -disToMouse,\n t: -(tipHeight / 2),\n b: tipHeight / 2,\n };\n right = {\n l: disToMouse,\n r: tipWidth + disToMouse + triangleHeight,\n t: -(tipHeight / 2),\n b: tipHeight / 2,\n };\n } else if (effect === \"solid\") {\n top = {\n l: -(tipWidth / 2),\n r: tipWidth / 2,\n t: -(targetHeight / 2 + tipHeight + triangleHeight),\n b: -(targetHeight / 2),\n };\n bottom = {\n l: -(tipWidth / 2),\n r: tipWidth / 2,\n t: targetHeight / 2,\n b: targetHeight / 2 + tipHeight + triangleHeight,\n };\n left = {\n l: -(tipWidth + targetWidth / 2 + triangleHeight),\n r: -(targetWidth / 2),\n t: -(tipHeight / 2),\n b: tipHeight / 2,\n };\n right = {\n l: targetWidth / 2,\n r: tipWidth + targetWidth / 2 + triangleHeight,\n t: -(tipHeight / 2),\n b: tipHeight / 2,\n };\n }\n\n return { top, bottom, left, right };\n};\n\n// Consider additional offset into position calculation\nconst calculateOffset = offset => {\n let extraOffset_X = 0;\n let extraOffset_Y = 0;\n\n if (Object.prototype.toString.apply(offset) === \"[object String]\") {\n offset = JSON.parse(offset.toString().replace(/\\'/g, '\"'));\n }\n for (const key in offset) {\n if (key === \"top\") {\n extraOffset_Y -= parseInt(offset[key], 10);\n } else if (key === \"bottom\") {\n extraOffset_Y += parseInt(offset[key], 10);\n } else if (key === \"left\") {\n extraOffset_X -= parseInt(offset[key], 10);\n } else if (key === \"right\") {\n extraOffset_X += parseInt(offset[key], 10);\n }\n }\n\n return { extraOffset_X, extraOffset_Y };\n};\n\n// Get the offset of the parent elements\nconst getParent = currentTarget => {\n let currentParent = currentTarget;\n while (currentParent) {\n if (\n window.getComputedStyle(currentParent).getPropertyValue(\"transform\") !==\n \"none\"\n )\n break;\n currentParent = currentParent.parentElement;\n }\n\n const parentTop =\n (currentParent && currentParent.getBoundingClientRect().top) || 0;\n const parentLeft =\n (currentParent && currentParent.getBoundingClientRect().left) || 0;\n\n return { parentTop, parentLeft };\n};\n","/**\n * To get the tooltip content\n * it may comes from data-tip or this.props.children\n * it should support multiline\n *\n * @params\n * - `tip` {String} value of data-tip\n * - `children` {ReactElement} this.props.children\n * - `multiline` {Any} could be Bool(true/false) or String('true'/'false')\n *\n * @return\n * - String or react component\n */\nimport React from \"react\";\n\nexport default function(tip, children, getContent, multiline) {\n if (children) return children;\n if (getContent !== undefined && getContent !== null) return getContent; // getContent can be 0, '', etc.\n if (getContent === null) return null; // Tip not exist and children is null or undefined\n\n const regexp = //;\n if (!multiline || multiline === \"false\" || !regexp.test(tip)) {\n // No trim(), so that user can keep their input\n return tip;\n }\n\n // Multiline tooltip content\n return tip.split(regexp).map((d, i) => {\n return (\n \n {d}\n \n );\n });\n}\n","/**\n * Support aria- and role in ReactTooltip\n *\n * @params props {Object}\n * @return {Object}\n */\nexport function parseAria(props) {\n const ariaObj = {};\n Object.keys(props)\n .filter(prop => {\n // aria-xxx and role is acceptable\n return /(^aria-\\w+$|^role$)/.test(prop);\n })\n .forEach(prop => {\n ariaObj[prop] = props[prop];\n });\n\n return ariaObj;\n}\n","/**\n * Tracking target removing from DOM.\n * It's necessary to hide tooltip when it's target disappears.\n * Otherwise, the tooltip would be shown forever until another target\n * is triggered.\n *\n * If MutationObserver is not available, this feature just doesn't work.\n */\n\n// https://hacks.mozilla.org/2012/05/dom-mutationobserver-reacting-to-dom-changes-without-killing-browser-performance/\nconst getMutationObserverClass = () => {\n return (\n window.MutationObserver ||\n window.WebKitMutationObserver ||\n window.MozMutationObserver\n );\n};\n\nexport default function(target) {\n target.prototype.bindRemovalTracker = function() {\n const MutationObserver = getMutationObserverClass();\n if (MutationObserver == null) return;\n\n const observer = new MutationObserver(mutations => {\n for (let m1 = 0; m1 < mutations.length; m1++) {\n const mutation = mutations[m1];\n for (let m2 = 0; m2 < mutation.removedNodes.length; m2++) {\n const element = mutation.removedNodes[m2];\n if (element === this.state.currentTarget) {\n this.hideTooltip();\n return;\n }\n }\n }\n });\n\n observer.observe(window.document, { childList: true, subtree: true });\n\n this.removalTracker = observer;\n };\n\n target.prototype.unbindRemovalTracker = function() {\n if (this.removalTracker) {\n this.removalTracker.disconnect();\n this.removalTracker = null;\n }\n };\n}\n","import React from \"react\";\nimport PropTypes from \"prop-types\";\n\n/* Decorators */\nimport staticMethods from \"./decorators/staticMethods\";\nimport windowListener from \"./decorators/windowListener\";\nimport customEvent from \"./decorators/customEvent\";\nimport isCapture from \"./decorators/isCapture\";\nimport getEffect from \"./decorators/getEffect\";\nimport bodyMode from \"./decorators/bodyMode\";\nimport trackRemoval from \"./decorators/trackRemoval\";\n\n/* Utils */\nimport getPosition from \"./utils/getPosition\";\nimport getTipContent from \"./utils/getTipContent\";\nimport { parseAria } from \"./utils/aria\";\nimport nodeListToArray from \"./utils/nodeListToArray\";\n\n/* CSS */\n// import cssStyle from \"./style\";\nimport \"./index.scss\";\n\n@staticMethods\n@windowListener\n@customEvent\n@isCapture\n@getEffect\n@bodyMode\n@trackRemoval\nclass ReactTooltip extends React.Component {\n static propTypes = {\n children: PropTypes.any,\n place: PropTypes.string,\n type: PropTypes.string,\n effect: PropTypes.string,\n offset: PropTypes.object,\n multiline: PropTypes.bool,\n border: PropTypes.bool,\n insecure: PropTypes.bool,\n class: PropTypes.string,\n className: PropTypes.string,\n id: PropTypes.string,\n html: PropTypes.bool,\n delayHide: PropTypes.number,\n delayUpdate: PropTypes.number,\n delayShow: PropTypes.number,\n event: PropTypes.string,\n eventOff: PropTypes.string,\n watchWindow: PropTypes.bool,\n isCapture: PropTypes.bool,\n globalEventOff: PropTypes.string,\n getContent: PropTypes.any,\n afterShow: PropTypes.func,\n afterHide: PropTypes.func,\n overridePosition: PropTypes.func,\n disable: PropTypes.bool,\n scrollHide: PropTypes.bool,\n resizeHide: PropTypes.bool,\n wrapper: PropTypes.string,\n bodyMode: PropTypes.bool,\n possibleCustomEvents: PropTypes.string,\n possibleCustomEventsOff: PropTypes.string,\n clickable: PropTypes.bool,\n };\n\n static defaultProps = {\n insecure: true,\n resizeHide: true,\n wrapper: \"div\",\n clickable: false,\n };\n\n static supportedWrappers = [\"div\", \"span\"];\n\n static displayName = \"ReactTooltip\";\n\n constructor(props) {\n super(props);\n this.state = {\n place: props.place || \"top\", // Direction of tooltip\n desiredPlace: props.place || \"top\",\n type: \"dark\", // Color theme of tooltip\n effect: \"float\", // float or fixed\n show: false,\n border: false,\n offset: {},\n extraClass: \"\",\n html: false,\n delayHide: 0,\n delayShow: 0,\n event: props.event || null,\n eventOff: props.eventOff || null,\n currentEvent: null, // Current mouse event\n currentTarget: null, // Current target of mouse event\n ariaProps: parseAria(props), // aria- and role attributes\n isEmptyTip: false,\n disable: false,\n possibleCustomEvents: props.possibleCustomEvents || \"\",\n possibleCustomEventsOff: props.possibleCustomEventsOff || \"\",\n originTooltip: null,\n isMultiline: false,\n };\n\n this.bind([\n \"showTooltip\",\n \"updateTooltip\",\n \"hideTooltip\",\n \"hideTooltipOnScroll\",\n \"getTooltipContent\",\n \"globalRebuild\",\n \"globalShow\",\n \"globalHide\",\n \"onWindowResize\",\n \"mouseOnToolTip\",\n ]);\n\n this.mount = true;\n this.delayShowLoop = null;\n this.delayHideLoop = null;\n this.delayReshow = null;\n this.intervalUpdateContent = null;\n }\n\n /**\n * For unify the bind and unbind listener\n */\n bind(methodArray) {\n methodArray.forEach(method => {\n this[method] = this[method].bind(this);\n });\n }\n\n componentDidMount() {\n const { insecure, resizeHide } = this.props;\n if (insecure) {\n // this.setStyleHeader(); // Set the style to the \n }\n\n this.bindListener(); // Bind listener for tooltip\n this.bindWindowEvents(resizeHide); // Bind global event for static method\n }\n\n static getDerivedStateFromProps(nextProps, prevState) {\n const { ariaProps } = prevState;\n const newAriaProps = parseAria(nextProps);\n const isChanged = Object.keys(newAriaProps).some(props => {\n return newAriaProps[props] !== ariaProps[props];\n });\n if (!isChanged) {\n return null;\n }\n return {\n ...prevState,\n ariaProps: newAriaProps,\n };\n }\n\n componentWillUnmount() {\n this.mount = false;\n\n this.clearTimer();\n\n this.unbindListener();\n this.removeScrollListener();\n this.unbindWindowEvents();\n }\n\n /**\n * Return if the mouse is on the tooltip.\n * @returns {boolean} true - mouse is on the tooltip\n */\n mouseOnToolTip() {\n const { show } = this.state;\n\n if (show && this.tooltipRef) {\n /* old IE or Firefox work around */\n if (!this.tooltipRef.matches) {\n /* old IE work around */\n if (this.tooltipRef.msMatchesSelector) {\n this.tooltipRef.matches = this.tooltipRef.msMatchesSelector;\n } else {\n /* old Firefox work around */\n this.tooltipRef.matches = this.tooltipRef.mozMatchesSelector;\n }\n }\n return this.tooltipRef.matches(\":hover\");\n }\n return false;\n }\n\n /**\n * Pick out corresponded target elements\n */\n getTargetArray(id) {\n let targetArray;\n if (!id) {\n targetArray = document.querySelectorAll(\"[data-tip]:not([data-for])\");\n } else {\n const escaped = id.replace(/\\\\/g, \"\\\\\\\\\").replace(/\"/g, '\\\\\"');\n targetArray = document.querySelectorAll(\n `[data-tip][data-for=\"${escaped}\"]`\n );\n }\n // targetArray is a NodeList, convert it to a real array\n return nodeListToArray(targetArray);\n }\n\n /**\n * Bind listener to the target elements\n * These listeners used to trigger showing or hiding the tooltip\n */\n bindListener() {\n const { id, globalEventOff, isCapture } = this.props;\n const targetArray = this.getTargetArray(id);\n\n targetArray.forEach(target => {\n if (target.getAttribute(\"currentItem\") === null) {\n target.setAttribute(\"currentItem\", \"false\");\n }\n this.unbindBasicListener(target);\n if (this.isCustomEvent(target)) {\n this.customUnbindListener(target);\n }\n });\n\n if (this.isBodyMode()) {\n this.bindBodyListener(targetArray);\n } else {\n targetArray.forEach(target => {\n const isCaptureMode = this.isCapture(target);\n const effect = this.getEffect(target);\n if (this.isCustomEvent(target)) {\n this.customBindListener(target);\n return;\n }\n\n target.addEventListener(\"mouseenter\", this.showTooltip, isCaptureMode);\n if (effect === \"float\") {\n target.addEventListener(\n \"mousemove\",\n this.updateTooltip,\n isCaptureMode\n );\n }\n target.addEventListener(\"mouseleave\", this.hideTooltip, isCaptureMode);\n });\n }\n\n // Global event to hide tooltip\n if (globalEventOff) {\n window.removeEventListener(globalEventOff, this.hideTooltip);\n window.addEventListener(globalEventOff, this.hideTooltip, isCapture);\n }\n\n // Track removal of targetArray elements from DOM\n this.bindRemovalTracker();\n }\n\n /**\n * Unbind listeners on target elements\n */\n unbindListener() {\n const { id, globalEventOff } = this.props;\n if (this.isBodyMode()) {\n this.unbindBodyListener();\n } else {\n const targetArray = this.getTargetArray(id);\n targetArray.forEach(target => {\n this.unbindBasicListener(target);\n if (this.isCustomEvent(target)) this.customUnbindListener(target);\n });\n }\n\n if (globalEventOff)\n window.removeEventListener(globalEventOff, this.hideTooltip);\n this.unbindRemovalTracker();\n }\n\n /**\n * Invoke this before bind listener and unmount the component\n * it is necessary to invoke this even when binding custom event\n * so that the tooltip can switch between custom and default listener\n */\n unbindBasicListener(target) {\n const isCaptureMode = this.isCapture(target);\n target.removeEventListener(\"mouseenter\", this.showTooltip, isCaptureMode);\n target.removeEventListener(\"mousemove\", this.updateTooltip, isCaptureMode);\n target.removeEventListener(\"mouseleave\", this.hideTooltip, isCaptureMode);\n }\n\n getTooltipContent() {\n const { getContent, children } = this.props;\n\n // Generate tooltip content\n let content;\n if (getContent) {\n if (Array.isArray(getContent)) {\n content = getContent[0] && getContent[0](this.state.originTooltip);\n } else {\n content = getContent(this.state.originTooltip);\n }\n }\n\n return getTipContent(\n this.state.originTooltip,\n children,\n content,\n this.state.isMultiline\n );\n }\n\n isEmptyTip(placeholder) {\n return (\n (typeof placeholder === \"string\" && placeholder === \"\") ||\n placeholder === null\n );\n }\n\n /**\n * When mouse enter, show the tooltip\n */\n showTooltip(e, isGlobalCall) {\n if (isGlobalCall) {\n // Don't trigger other elements belongs to other ReactTooltip\n const targetArray = this.getTargetArray(this.props.id);\n const isMyElement = targetArray.some(ele => ele === e.currentTarget);\n if (!isMyElement) return;\n }\n // Get the tooltip content\n // calculate in this phrase so that tip width height can be detected\n const { multiline, getContent } = this.props;\n const originTooltip = e.currentTarget.getAttribute(\"data-tip\");\n const isMultiline =\n e.currentTarget.getAttribute(\"data-multiline\") || multiline || false;\n\n // If it is focus event or called by ReactTooltip.show, switch to `solid` effect\n const switchToSolid = e instanceof window.FocusEvent || isGlobalCall;\n\n // if it needs to skip adding hide listener to scroll\n let scrollHide = true;\n if (e.currentTarget.getAttribute(\"data-scroll-hide\")) {\n scrollHide = e.currentTarget.getAttribute(\"data-scroll-hide\") === \"true\";\n } else if (this.props.scrollHide != null) {\n scrollHide = this.props.scrollHide;\n }\n\n // Make sure the correct place is set\n const desiredPlace =\n e.currentTarget.getAttribute(\"data-place\") || this.props.place || \"top\";\n const effect =\n (switchToSolid && \"solid\") || this.getEffect(e.currentTarget);\n const offset =\n e.currentTarget.getAttribute(\"data-offset\") || this.props.offset || {};\n const result = getPosition(\n e,\n e.currentTarget,\n this.tooltipRef,\n desiredPlace,\n desiredPlace,\n effect,\n offset\n );\n if (result.position && this.props.overridePosition) {\n result.position = this.props.overridePosition(\n result.position,\n e.currentTarget,\n this.tooltipRef,\n desiredPlace,\n desiredPlace,\n effect,\n offset\n );\n }\n\n const place = result.isNewState ? result.newState.place : desiredPlace;\n\n // To prevent previously created timers from triggering\n this.clearTimer();\n\n var target = e.currentTarget;\n\n var reshowDelay = this.state.show\n ? target.getAttribute(\"data-delay-update\") || this.props.delayUpdate\n : 0;\n\n var self = this;\n\n var updateState = function updateState() {\n self.setState(\n {\n originTooltip: originTooltip,\n isMultiline: isMultiline,\n desiredPlace: desiredPlace,\n place: place,\n type: target.getAttribute(\"data-type\") || self.props.type || \"dark\",\n effect: effect,\n offset: offset,\n html: target.getAttribute(\"data-html\")\n ? target.getAttribute(\"data-html\") === \"true\"\n : self.props.html || false,\n delayShow:\n target.getAttribute(\"data-delay-show\") || self.props.delayShow || 0,\n delayHide:\n target.getAttribute(\"data-delay-hide\") || self.props.delayHide || 0,\n delayUpdate:\n target.getAttribute(\"data-delay-update\") ||\n self.props.delayUpdate ||\n 0,\n border: target.getAttribute(\"data-border\")\n ? target.getAttribute(\"data-border\") === \"true\"\n : self.props.border || false,\n extraClass:\n target.getAttribute(\"data-class\") ||\n self.props.class ||\n self.props.className ||\n \"\",\n disable: target.getAttribute(\"data-tip-disable\")\n ? target.getAttribute(\"data-tip-disable\") === \"true\"\n : self.props.disable || false,\n currentTarget: target,\n },\n () => {\n if (scrollHide) self.addScrollListener(self.state.currentTarget);\n self.updateTooltip(e);\n\n if (getContent && Array.isArray(getContent)) {\n self.intervalUpdateContent = setInterval(() => {\n if (self.mount) {\n const { getContent } = self.props;\n const placeholder = getTipContent(\n originTooltip,\n \"\",\n getContent[0](),\n isMultiline\n );\n const isEmptyTip = self.isEmptyTip(placeholder);\n self.setState({\n isEmptyTip,\n });\n self.updatePosition();\n }\n }, getContent[1]);\n }\n }\n );\n };\n\n // If there is no delay call immediately, don't allow events to get in first.\n if (reshowDelay) {\n this.delayReshow = setTimeout(updateState, reshowDelay);\n } else {\n updateState();\n }\n }\n\n /**\n * When mouse hover, update tool tip\n */\n updateTooltip(e) {\n const { delayShow, disable } = this.state;\n const { afterShow } = this.props;\n const placeholder = this.getTooltipContent();\n const delayTime = parseInt(delayShow, 10);\n const eventTarget = e.currentTarget || e.target;\n\n // Check if the mouse is actually over the tooltip, if so don't hide the tooltip\n if (this.mouseOnToolTip()) {\n return;\n }\n\n if (this.isEmptyTip(placeholder) || disable) return; // if the tooltip is empty, disable the tooltip\n const updateState = () => {\n if (\n (Array.isArray(placeholder) && placeholder.length > 0) ||\n placeholder\n ) {\n const isInvisible = !this.state.show;\n this.setState(\n {\n currentEvent: e,\n currentTarget: eventTarget,\n show: true,\n },\n () => {\n this.updatePosition();\n if (isInvisible && afterShow) afterShow(e);\n }\n );\n }\n };\n\n clearTimeout(this.delayShowLoop);\n if (delayShow) {\n this.delayShowLoop = setTimeout(updateState, delayTime);\n } else {\n updateState();\n }\n }\n\n /*\n * If we're mousing over the tooltip remove it when we leave.\n */\n listenForTooltipExit() {\n const { show } = this.state;\n\n if (show && this.tooltipRef) {\n this.tooltipRef.addEventListener(\"mouseleave\", this.hideTooltip);\n }\n }\n\n removeListenerForTooltipExit() {\n const { show } = this.state;\n\n if (show && this.tooltipRef) {\n this.tooltipRef.removeEventListener(\"mouseleave\", this.hideTooltip);\n }\n }\n\n /**\n * When mouse leave, hide tooltip\n */\n hideTooltip(e, hasTarget, options = { isScroll: false }) {\n const { disable } = this.state;\n const { isScroll } = options;\n const delayHide = isScroll ? 0 : this.state.delayHide;\n const { afterHide } = this.props;\n const placeholder = this.getTooltipContent();\n if (!this.mount) return;\n if (this.isEmptyTip(placeholder) || disable) return; // if the tooltip is empty, disable the tooltip\n if (hasTarget) {\n // Don't trigger other elements belongs to other ReactTooltip\n const targetArray = this.getTargetArray(this.props.id);\n const isMyElement = targetArray.some(ele => ele === e.currentTarget);\n if (!isMyElement || !this.state.show) return;\n }\n\n const resetState = () => {\n const isVisible = this.state.show;\n // Check if the mouse is actually over the tooltip, if so don't hide the tooltip\n if (this.mouseOnToolTip()) {\n this.listenForTooltipExit();\n return;\n }\n this.removeListenerForTooltipExit();\n\n this.setState(\n {\n show: false,\n },\n () => {\n this.removeScrollListener();\n if (isVisible && afterHide) afterHide(e);\n }\n );\n };\n\n this.clearTimer();\n if (delayHide) {\n this.delayHideLoop = setTimeout(resetState, parseInt(delayHide, 10));\n } else {\n resetState();\n }\n }\n\n /**\n * When scroll, hide tooltip\n */\n hideTooltipOnScroll(event, hasTarget) {\n this.hideTooltip(event, hasTarget, { isScroll: true });\n }\n\n /**\n * Add scroll event listener when tooltip show\n * automatically hide the tooltip when scrolling\n */\n addScrollListener(currentTarget) {\n const isCaptureMode = this.isCapture(currentTarget);\n window.addEventListener(\"scroll\", this.hideTooltipOnScroll, isCaptureMode);\n }\n\n removeScrollListener() {\n window.removeEventListener(\"scroll\", this.hideTooltipOnScroll);\n }\n\n // Calculation the position\n updatePosition() {\n const {\n currentEvent,\n currentTarget,\n place,\n desiredPlace,\n effect,\n offset,\n } = this.state;\n const node = this.tooltipRef;\n const result = getPosition(\n currentEvent,\n currentTarget,\n node,\n place,\n desiredPlace,\n effect,\n offset\n );\n if (result.position && this.props.overridePosition) {\n result.position = this.props.overridePosition(\n result.position,\n currentEvent,\n currentTarget,\n node,\n place,\n desiredPlace,\n effect,\n offset\n );\n }\n\n if (result.isNewState) {\n // Switch to reverse placement\n return this.setState(result.newState, () => {\n this.updatePosition();\n });\n }\n // Set tooltip position\n node.style.left = result.position.left + \"px\";\n node.style.top = result.position.top + \"px\";\n }\n\n /**\n * Set style tag in header\n * in this way we can insert default css\n */\n /* setStyleHeader() {\n const head = document.getElementsByTagName(\"head\")[0];\n if (!head.querySelector('style[id=\"react-tooltip\"]')) {\n const tag = document.createElement(\"style\");\n tag.id = \"react-tooltip\";\n tag.innerHTML = cssStyle; */\n /* eslint-disable */\n/* if (typeof __webpack_nonce__ !== 'undefined' && __webpack_nonce__) {\n tag.setAttribute('nonce', __webpack_nonce__)\n }*/\n /* eslint-enable */\n /* head.insertBefore(tag, head.firstChild);\n }\n } */\n\n /**\n * CLear all kinds of timeout of interval\n */\n clearTimer() {\n clearTimeout(this.delayShowLoop);\n clearTimeout(this.delayHideLoop);\n clearTimeout(this.delayReshow);\n clearInterval(this.intervalUpdateContent);\n }\n\n render() {\n const { extraClass, html, ariaProps, disable } = this.state;\n const placeholder = this.getTooltipContent();\n const isEmptyTip = this.isEmptyTip(placeholder);\n const tooltipClass =\n \"__react_component_tooltip\" +\n (this.state.show && !disable && !isEmptyTip ? \" show\" : \"\") +\n (this.state.border ? \" border\" : \"\") +\n ` place-${this.state.place}` + // top, bottom, left, right\n ` type-${this.state.type}` + // dark, success, warning, error, info, light\n (this.props.delayUpdate ? \" allow_hover\" : \"\") +\n (this.props.clickable ? \" allow_click\" : \"\");\n\n let Wrapper = this.props.wrapper;\n if (ReactTooltip.supportedWrappers.indexOf(Wrapper) < 0) {\n Wrapper = ReactTooltip.defaultProps.wrapper;\n }\n const wrapperClassName = [tooltipClass, extraClass]\n .filter(Boolean)\n .join(\" \");\n\n if (html) {\n return (\n (this.tooltipRef = ref)}\n {...ariaProps}\n data-id=\"tooltip\"\n dangerouslySetInnerHTML={{ __html: placeholder }}\n />\n );\n } else {\n return (\n (this.tooltipRef = ref)}\n data-id=\"tooltip\"\n >\n {placeholder}\n \n );\n }\n }\n}\n\nexport default ReactTooltip;\n","/**\n * Events that should be bound to the window\n */\nimport CONSTANT from \"../constant\";\n\nexport default function(target) {\n target.prototype.bindWindowEvents = function(resizeHide) {\n // ReactTooltip.hide\n window.removeEventListener(CONSTANT.GLOBAL.HIDE, this.globalHide);\n window.addEventListener(CONSTANT.GLOBAL.HIDE, this.globalHide, false);\n\n // ReactTooltip.rebuild\n window.removeEventListener(CONSTANT.GLOBAL.REBUILD, this.globalRebuild);\n window.addEventListener(CONSTANT.GLOBAL.REBUILD, this.globalRebuild, false);\n\n // ReactTooltip.show\n window.removeEventListener(CONSTANT.GLOBAL.SHOW, this.globalShow);\n window.addEventListener(CONSTANT.GLOBAL.SHOW, this.globalShow, false);\n\n // Resize\n if (resizeHide) {\n window.removeEventListener(\"resize\", this.onWindowResize);\n window.addEventListener(\"resize\", this.onWindowResize, false);\n }\n };\n\n target.prototype.unbindWindowEvents = function() {\n window.removeEventListener(CONSTANT.GLOBAL.HIDE, this.globalHide);\n window.removeEventListener(CONSTANT.GLOBAL.REBUILD, this.globalRebuild);\n window.removeEventListener(CONSTANT.GLOBAL.SHOW, this.globalShow);\n window.removeEventListener(\"resize\", this.onWindowResize);\n };\n\n /**\n * invoked by resize event of window\n */\n target.prototype.onWindowResize = function() {\n if (!this.mount) return;\n this.hideTooltip();\n };\n}\n","/**\n * Util method to judge if it should follow capture model\n */\n\nexport default function(target) {\n target.prototype.isCapture = function(currentTarget) {\n return (\n (currentTarget &&\n currentTarget.getAttribute(\"data-iscapture\") === \"true\") ||\n this.props.isCapture ||\n false\n );\n };\n}\n","/**\n * Util method to get effect\n */\n\nexport default function(target) {\n target.prototype.getEffect = function(currentTarget) {\n const dataEffect = currentTarget.getAttribute(\"data-effect\");\n return dataEffect || this.props.effect || \"float\";\n };\n}\n","/**\n * Convert nodelist to array\n * @see https://github.com/facebook/fbjs/blob/e66ba20ad5be433eb54423f2b097d829324d9de6/packages/fbjs/src/core/createArrayFromMixed.js#L24\n * NodeLists are functions in Safari\n */\n\nexport default function(nodeList) {\n const length = nodeList.length;\n if (nodeList.hasOwnProperty) {\n return Array.prototype.slice.call(nodeList);\n }\n return new Array(length).fill().map(index => nodeList[index]);\n}\n","import React, { Component } from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { FormattedMessage } from 'react-intl';\r\nimport enhanceWithClickOutside from 'react-click-outside';\r\nimport Button from 'components/shared/single-click-button';\r\nimport { userLogOut } from 'store/api';\r\nimport Icon from 'components/shared/icon';\r\nimport AccountSettingsPopup from 'containers/header/account-settings-popup';\r\nimport ReactTooltip from 'react-tooltip';\r\nimport * as api from 'store/api';\r\n\r\nclass AccountDropdown extends Component {\r\n static propTypes = {\r\n user: PropTypes.object\r\n };\r\n\r\n state = {\r\n disabled: false,\r\n isMenuOpen: false,\r\n isSettingMenuOpen: false,\r\n isDsEnabled: false\r\n };\r\n\r\n handleClickOutside = () => {\r\n this.setState({ isMenuOpen: false });\r\n };\r\n\r\n onLogOut = () => {\r\n this.setState({ disabled: true });\r\n return userLogOut();\r\n };\r\n\r\n closePopup = () => {\r\n this.setState({ isMenuOpen: false });\r\n };\r\n saveFormat = () => {\r\n this.setState({ isMenuOpen: false });\r\n };\r\n closeSettingsPopup = () => {\r\n this.setState({ isSettingMenuOpen: false });\r\n };\r\n onChangeDSEnabled = () => {\r\n localStorage.setItem('IsDsEnabled', !this.state.isDsEnabled);\r\n this.setState({ isDsEnabled: !this.state.isDsEnabled });\r\n };\r\n\r\n render() {\r\n const { isMenuOpen, disabled, isSettingMenuOpen, isDsEnabled } = this.state;\r\n const { user } = this.props;\r\n\r\n return (\r\n
\r\n this.setState({ isMenuOpen: !isMenuOpen, isSettingMenuOpen: false })}\r\n data-tip\r\n data-for=\"account-dropdown__name\"\r\n >\r\n \r\n {user.firstName && user.lastName ? user.firstName + ' ' + user.lastName : ''}\r\n \r\n
\r\n {user.isLoaded && !user.error ? user.firstName[0] + user.lastName[0] : null}\r\n
\r\n \r\n\r\n {isMenuOpen ? (\r\n
\r\n
\r\n
{user.firstName[0] + user.lastName[0]}
\r\n
\r\n {user.firstName && user.lastName ? user.firstName + ' ' + user.lastName : ''}\r\n
\r\n
\r\n\r\n this.setState({ isSettingMenuOpen: !isSettingMenuOpen, isMenuOpen: false })}\r\n >\r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n ) : null}\r\n {isSettingMenuOpen && (\r\n
\r\n \r\n
\r\n )}\r\n
\r\n );\r\n }\r\n}\r\n\r\nexport default enhanceWithClickOutside(AccountDropdown);\r\n","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport CustomScrollbars from 'react-custom-scrollbars';\r\nimport classNames from 'classnames';\r\n\r\n/**\r\n * @group Other\r\n * Custom scrollbars used in Omnia\r\n * */\r\n\r\nconst Scrollbars = ({ children, className, id, showScrollbarWithoutHover }) => (\r\n (\r\n
\r\n )}\r\n renderThumbHorizontal={props =>
}\r\n >\r\n {children}\r\n \r\n);\r\n\r\nScrollbars.defaultProps = {\r\n children: null,\r\n className: ''\r\n};\r\n\r\nScrollbars.propTypes = {\r\n /** Nodes that are transpiled into the Scrollbars */\r\n children: PropTypes.node,\r\n /** A custom className for the scrollable area */\r\n className: PropTypes.string\r\n};\r\n\r\nexport default Scrollbars;\r\n","import React, { Component, useState } from 'react';\r\nimport ReactTooltip from 'react-tooltip';\r\nimport PropTypes from 'prop-types';\r\nimport { FormattedMessage } from 'react-intl';\r\nimport { Link } from 'react-router-dom';\r\nimport Permissions from 'permissions/permissions';\r\n\r\nimport { getCurrentRegion, getHomeRegion } from 'store/api';\r\nimport Button from 'components/shared/single-click-button';\r\nimport { useLocation } from 'react-router-dom';\r\nimport Icon from 'components/shared/icon';\r\nimport Scrollbars from '../../shared/scrollbars/scrollbars';\r\nimport CONSTANTS from 'utils/constants';\r\nimport OutsideClickHandler from 'react-outside-click-handler';\r\n\r\nvar All_TABS = {\r\n ALLPROJECTS: 'project-list',\r\n USERMANAGEMENT: 'user-management',\r\n PROJECTDETAILS: 'project-details',\r\n TEAMMEMBERS: 'team-members',\r\n WORKFLOWS: 'create-template',\r\n EXTRACTIONFIELDS: 'extractionfield',\r\n EXTRACTIONOVERVIEW: 'extraction-overview',\r\n ANALYTICSCHAT: 'analytics',\r\n VISUALS: 'visuals',\r\n TAGS: 'tags',\r\n REVIEWSTATUS: 'review-status',\r\n COMPARE: 'compare',\r\n COUNTRYMANAGERDASHBOARD: 'admin-access',\r\n MANAGEEXTRACTIONFIELDS: 'groups',\r\n REPORTS: 'reports',\r\n ROOT: 'folder',\r\n MAINTENANCEMESSAGE: 'maintenance-messages',\r\n TRANSLATEDOCUMENT: 'translate-document',\r\n TRANSLATETEXT: 'translate-text',\r\n TRANSLATIONQUEUE: 'translation-queue'\r\n};\r\n\r\nconst NavigationItem = ({ title, to, icon, width, selectionTitle, isMenuExpanded }) => {\r\n let curTab = All_TABS.ALLPROJECTS;\r\n let currentTab = All_TABS.ALLPROJECTS;\r\n\r\n const OnMenuSelected = selectionTitle => {\r\n let location = useLocation();\r\n var overallPath = location.pathname.split('/');\r\n\r\n currentTab = overallPath[overallPath.length - 1];\r\n\r\n if (currentTab != All_TABS[selectionTitle]) {\r\n curTab = overallPath[overallPath.length - 2];\r\n if (curTab != All_TABS[selectionTitle]) {\r\n curTab = overallPath[overallPath.length - 3];\r\n if (curTab != All_TABS[selectionTitle]) {\r\n curTab = overallPath[overallPath.length - 4];\r\n }\r\n }\r\n } else {\r\n curTab = currentTab;\r\n }\r\n };\r\n return (\r\n \r\n \r\n \r\n {!isMenuExpanded ? (\r\n \r\n \r\n \r\n ) : null}\r\n \r\n {isMenuExpanded ? (\r\n \r\n \r\n \r\n ) : null}\r\n \r\n );\r\n};\r\n\r\nconst TranslationNavigationItem = ({\r\n title,\r\n to,\r\n icon,\r\n width,\r\n selectionTitle,\r\n selectedTab,\r\n setSelectedTab,\r\n isMenuExpanded\r\n}) => {\r\n const OnMenuSelected = selectionTitle => {\r\n switch (selectionTitle) {\r\n case 'TRANSLATEDOCUMENT':\r\n return setSelectedTab(0);\r\n case 'TRANSLATETEXT':\r\n return setSelectedTab(1);\r\n case 'TRANSLATIONQUEUE':\r\n return setSelectedTab(2);\r\n }\r\n };\r\n\r\n return (\r\n OnMenuSelected(selectionTitle)}\r\n className={\r\n CONSTANTS.TRANSLATION_TABS[selectedTab] == All_TABS[selectionTitle]\r\n ? `project-left-menu__menu-navigation-icon project-left-menu__translation-Tab-button project-left-menu__translation-Tab-button--selected project-left-menu__translation-left-menu-icon-${icon}`\r\n : `project-left-menu__menu-navigation-icon project-left-menu__translation-Tab-button project-left-menu__translation-left-menu-icon-${icon}`\r\n }\r\n >\r\n \r\n \r\n {!isMenuExpanded ? (\r\n \r\n \r\n \r\n ) : null}\r\n \r\n {isMenuExpanded ? (\r\n \r\n \r\n \r\n ) : null}\r\n \r\n );\r\n};\r\n\r\nfunction ProjectsLeftMenu({ currentProject, selectedTab, setSelectedTab }) {\r\n let translationMenu = false;\r\n\r\n let [isMenuExpanded, isMenuOpen] = useState(false);\r\n\r\n const projectCreation = currentProject.STATES.Creation();\r\n const global = currentProject.projectId === null || !currentProject.projectId || projectCreation;\r\n let location = useLocation();\r\n if (location.pathname.includes('translation')) {\r\n translationMenu = true;\r\n }\r\n\r\n return (\r\n
\r\n
\r\n {!isMenuExpanded ? (\r\n \r\n ) : (\r\n \r\n \r\n \r\n )}\r\n
\r\n \r\n {\r\n isMenuOpen(false);\r\n }}\r\n >\r\n {!translationMenu ? (\r\n
\r\n \r\n {!global && Permissions.Project.Settings.canView() ? (\r\n \r\n ) : null}\r\n {!global && Permissions.Project.Settings.canView() ? (\r\n \r\n ) : null}\r\n {!global && Permissions.Project.Template.canCreate() && !Permissions.Project._States.isReadOnly() ? (\r\n \r\n ) : null}\r\n {!global && Permissions.Project.Document.canView() ? (\r\n \r\n ) : null}\r\n {!global && Permissions.Project.Analytics.canView() ? (\r\n \r\n ) : null}\r\n {!global && Permissions.Project.ExtractionField.canViewTab() ? (\r\n \r\n ) : null}\r\n {!global && Permissions.Project.Analytics.canView() ? (\r\n \r\n ) : null}\r\n {!global && Permissions.Project.Visualization.canView() ? (\r\n \r\n ) : null}\r\n {!global && Permissions.Project.Tags.canView() ? (\r\n \r\n ) : null}\r\n {!global && Permissions.Project.ReviewStatus.canView() ? (\r\n \r\n ) : null}\r\n {!global && Permissions.Project.Comparison.canView() ? (\r\n \r\n ) : null}\r\n {!global ?
: null}\r\n {Permissions.Global.canViewAdminAccess() ? (\r\n \r\n ) : null}\r\n {Permissions.Global.User.canViewUserManagementLink() ? (\r\n \r\n ) : null}\r\n {Permissions.Global.canViewReports() ? (\r\n \r\n ) : null}\r\n\r\n {Permissions.Global.User.canViewMaintenanceMessagesLink() ? (\r\n \r\n ) : null}\r\n
\r\n ) : (\r\n
\r\n \r\n \r\n \r\n
\r\n )}\r\n \r\n \r\n
\r\n );\r\n // }\r\n}\r\n\r\nexport default ProjectsLeftMenu;\r\n","import { Link } from 'react-router-dom';\r\nimport classNames from 'classnames';\r\nimport PropTypes from 'prop-types';\r\nimport React, { Component } from 'react';\r\nimport { FormattedMessage, injectIntl } from 'react-intl';\r\n\r\nimport Icon from 'components/shared/icon';\r\nimport { getCurrentRegion, getHomeRegion } from 'store/api';\r\n\r\nimport Permissions from 'permissions/permissions';\r\n\r\nconst NavigationItem = ({ to, title, body, id, bg }) => (\r\n \r\n
\r\n {body}\r\n
\r\n \r\n);\r\n\r\nNavigationItem.propTypes = {\r\n bg: PropTypes.string,\r\n body: PropTypes.node,\r\n id: PropTypes.string,\r\n title: PropTypes.string,\r\n to: PropTypes.string\r\n};\r\n\r\nclass Menu extends Component {\r\n static propTypes = {\r\n currentProject: PropTypes.object.isRequired,\r\n currentUser: PropTypes.object.isRequired,\r\n intl: PropTypes.any,\r\n isShown: PropTypes.bool,\r\n projectCreation: PropTypes.bool,\r\n projectId: PropTypes.string,\r\n toggleMenu: PropTypes.func.isRequired\r\n };\r\n\r\n render() {\r\n const { projectId, isShown, toggleMenu, currentUser, currentProject, projectCreation, intl } = this.props;\r\n\r\n const projectName = currentProject.isLoaded ? currentProject.projectName : '';\r\n\r\n const userName = currentUser.isLoaded ? (\r\n \r\n ) : (\r\n ''\r\n );\r\n\r\n const global = !projectId || projectCreation;\r\n\r\n return (\r\n
\r\n \r\n
\r\n
\r\n

\r\n {projectId ? projectName : userName}\r\n

\r\n
\r\n {!global && Permissions.Project.Document.canView() ? (\r\n }\r\n id=\"documents\"\r\n bg=\"1\"\r\n />\r\n ) : null}\r\n\r\n {!global && Permissions.Project.Comparison.canView() ? (\r\n }\r\n id=\"comparison\"\r\n bg=\"2\"\r\n />\r\n ) : null}\r\n\r\n {!global && Permissions.Project.ExtractionField.canViewTab() ? (\r\n }\r\n id=\"extraction-fields\"\r\n bg=\"3\"\r\n />\r\n ) : null}\r\n\r\n {!global && Permissions.Project.Settings.canView() ? (\r\n }\r\n id=\"settings\"\r\n bg=\"4\"\r\n />\r\n ) : null}\r\n\r\n {!global && Permissions.Project.Visualization.canView() ? (\r\n }\r\n id=\"visuals\"\r\n bg=\"5\"\r\n />\r\n ) : null}\r\n\r\n {!global && Permissions.Project.Analytics.canView() ? (\r\n }\r\n id=\"extraction-overview\"\r\n bg=\"7\"\r\n />\r\n ) : null}\r\n\r\n {!global && Permissions.Project.Analytics.canView() ? (\r\n }\r\n id=\"analytics\"\r\n bg=\"8\"\r\n />\r\n ) : null}\r\n\r\n {!global && Permissions.Project.Tags.canView() ? (\r\n }\r\n id=\"tags\"\r\n bg=\"3\"\r\n />\r\n ) : null}\r\n\r\n {!global && Permissions.Project.ReviewStatus.canView() ? (\r\n }\r\n id=\"review-status\"\r\n bg=\"1\"\r\n />\r\n ) : null}\r\n\r\n {global && Permissions.Global.User.canViewUserManagementLink() ? (\r\n }\r\n id=\"user-management\"\r\n bg=\"4\"\r\n />\r\n ) : null}\r\n\r\n {global && Permissions.Global.ExtractionField.canViewQuickStudyPageLink() ? (\r\n }\r\n id=\"manage-extraction-fields\"\r\n bg=\"3\"\r\n />\r\n ) : null}\r\n\r\n
\r\n {!global && Permissions.Global.User.canViewUserManagementLink() ? (\r\n \r\n \r\n \r\n \r\n ) : null}\r\n\r\n {!global && Permissions.Global.ExtractionField.canViewQuickStudyPageLink() ? (\r\n \r\n \r\n \r\n \r\n ) : null}\r\n\r\n {Permissions.Global.canViewReports() ? (\r\n \r\n \r\n \r\n \r\n ) : null}\r\n
\r\n
\r\n
\r\n\r\n
\r\n

\r\n \r\n

\r\n
\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n );\r\n }\r\n}\r\n\r\nexport default injectIntl(Menu);\r\n","import { FormattedMessage } from 'react-intl';\r\nimport classNames from 'classnames';\r\nimport Icon from 'components/shared/icon';\r\nimport React, { Component } from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { injectIntl, intlShape } from 'react-intl';\r\nimport enhanceWithClickOutside from 'react-click-outside';\r\nimport Constants from 'utils/constants';\r\nimport { isNumeric } from 'utils/number-utils';\r\nimport Button from 'components/shared/single-click-button';\r\n\r\n// Different search menu visibility between search argus and search doc\r\nclass SearchMenu extends Component {\r\n static propTypes = {\r\n customValue: PropTypes.any,\r\n intl: intlShape,\r\n isSearchResultsOpen: PropTypes.bool,\r\n location: PropTypes.object,\r\n match: PropTypes.object,\r\n setType: PropTypes.func,\r\n fromProjectListPage: PropTypes.bool,\r\n fromQuickStudyPage: PropTypes.bool,\r\n fromUserManagementPage: PropTypes.bool\r\n };\r\n\r\n state = {\r\n isDocOrCompareView: false,\r\n isMenuOpen: false,\r\n defaultSearchValue: this.props.intl.formatMessage({ id: 'global.header.search-button' })\r\n };\r\n\r\n onVisibilityChange = (value, id, customValue, isDocOrCompareView) => {\r\n this.props.setType(value);\r\n this.setState({\r\n defaultSearchValue: this.props.intl.formatMessage({ id }, { group: customValue }),\r\n isDocOrCompareView\r\n });\r\n };\r\n\r\n setView = () => {\r\n const { location, customValue, isSearchResultsOpen, fromProjectListPage } = this.props;\r\n const { projectId, documentId, compareId, groupId } = this.props.match.params;\r\n\r\n // Pages with project id\r\n if (projectId) {\r\n if (documentId && !compareId && !isSearchResultsOpen) {\r\n return this.onVisibilityChange('DOCUMENT_VIEWER_SEARCH', 'search-bar.options-document', null, true);\r\n }\r\n if (compareId) {\r\n return this.onVisibilityChange('COMPARE_VIEWER_SEARCH', 'search-bar.options-comparison', null, true);\r\n }\r\n if (location.pathname.includes('creation') || location.pathname.includes('copy')) {\r\n return this.onVisibilityChange('PROJECT_LIST_SEARCH', 'search-bar.options-project', null, false);\r\n }\r\n\r\n if (location.pathname.includes('analytics')) {\r\n return this.onVisibilityChange('ANALYTICS_SEARCH', 'search-bar.options-analytics', null, false);\r\n }\r\n\r\n return this.onVisibilityChange('FILE_LIST_SEARCH', 'global.header.search-button', null, false);\r\n }\r\n\r\n // Pages without project id\r\n if (location.pathname.includes('groups')) {\r\n return this.onVisibilityChange(\r\n 'GROUPS_SEARCH',\r\n isNumeric(groupId) ? 'search-bar.options-group' : 'search-bar.options-group-all',\r\n customValue,\r\n false\r\n );\r\n }\r\n if (location.pathname.includes('user-management')) {\r\n return this.onVisibilityChange('USERS_SEARCH', 'search-bar.options-users', null, false);\r\n }\r\n\r\n if ((location.pathname.includes('project') || fromProjectListPage) && !projectId) {\r\n return this.onVisibilityChange('PROJECT_LIST_SEARCH', 'search-bar.options-project', null, false);\r\n }\r\n };\r\n\r\n componentDidMount() {\r\n this.setView();\r\n }\r\n\r\n componentDidUpdate(prevProps) {\r\n if (\r\n prevProps.match.params !== this.props.match.params ||\r\n this.props.customValue !== prevProps.customValue ||\r\n this.props.isSearchResultsOpen !== prevProps.isSearchResultsOpen\r\n ) {\r\n this.setView();\r\n }\r\n }\r\n\r\n handleClickOutside = () => {\r\n this.setState({ isMenuOpen: false });\r\n };\r\n\r\n onDropdownClick = () => {\r\n if (this.state.isDocOrCompareView) {\r\n this.setState({ isMenuOpen: !this.state.isMenuOpen });\r\n }\r\n };\r\n\r\n onOptionClick = value => {\r\n const { intl, setType, match } = this.props;\r\n\r\n if (value === 'document') {\r\n if (match.params.compareId) {\r\n setType(Constants.SearchTypes.COMPARE_VIEWER_SEARCH);\r\n } else {\r\n setType(Constants.SearchTypes.DOCUMENT_VIEWER_SEARCH);\r\n }\r\n\r\n this.setState({\r\n defaultSearchValue: intl.formatMessage({\r\n id: match.params.compareId ? 'search-bar.options-comparison' : 'search-bar.options-document'\r\n }),\r\n isMenuOpen: false\r\n });\r\n }\r\n if (value === 'argus') {\r\n setType(Constants.SearchTypes.FILE_LIST_SEARCH);\r\n\r\n this.setState({\r\n defaultSearchValue: intl.formatMessage({ id: 'global.header.search-button' }),\r\n isMenuOpen: false\r\n });\r\n }\r\n };\r\n\r\n render() {\r\n const { isDocOrCompareView } = this.state;\r\n const { documentId, compareId } = this.props.match.params;\r\n const { fromProjectListPage, fromQuickStudyPage, fromUserManagementPage } = this.props;\r\n\r\n return (\r\n \r\n \r\n {this.state.defaultSearchValue}\r\n {isDocOrCompareView && (\r\n \r\n )}\r\n \r\n {this.state.isMenuOpen ? (\r\n
\r\n \r\n \r\n
\r\n ) : null}\r\n
\r\n );\r\n }\r\n}\r\n\r\nexport default injectIntl(enhanceWithClickOutside(SearchMenu));\r\n","import React, { Component } from 'react';\r\nimport { debounce } from 'underscore';\r\nimport PropTypes from 'prop-types';\r\nimport enhanceWithClickOutside from 'react-click-outside';\r\nimport Icon from 'components/shared/icon';\r\nimport Button from 'components/shared/single-click-button';\r\nimport { FormattedMessage } from 'react-intl';\r\nimport Constants from 'utils/constants';\r\n\r\nclass DocumentSearch extends Component {\r\n static propTypes = {\r\n currentDocument: PropTypes.object,\r\n currentDocumentLayout: PropTypes.object,\r\n getCurrentDocumentCompleteLayout: PropTypes.func,\r\n match: PropTypes.object,\r\n setSearchResults: PropTypes.func\r\n };\r\n\r\n state = {\r\n results: [],\r\n loadingPageData: false,\r\n searchQuery: '',\r\n emphasis: 0,\r\n isKira: true,\r\n characters: [],\r\n documentChanged: false\r\n };\r\n\r\n PADDING_CHARACTERS_LEAD = 40;\r\n PADDING_CHARACTERS_TRAIL = 70;\r\n\r\n UNSAFE_componentWillReceiveProps(nextProps) {\r\n //Document Id Change\r\n if (this.props.match.params.documentId !== nextProps.match.params.documentId) {\r\n this.setState({ results: [], searchQuery: '', emphasis: 0 });\r\n this.props.setSearchResults([], 0, false);\r\n }\r\n }\r\n\r\n componentDidUpdate(prevProps) {\r\n const {\r\n currentDocument: { documentId }\r\n } = this.props;\r\n if (prevProps.currentDocument.documentId !== documentId) {\r\n this.setState({ documentChanged: true });\r\n }\r\n }\r\n\r\n clearSearch() {\r\n this.setState({ emphasis: 0, results: [], searchQuery: '' });\r\n this.props.setSearchResults();\r\n }\r\n\r\n prepareData() {\r\n var { currentDocument, currentDocumentLayout } = this.props;\r\n var { projectId, documentId } = currentDocument;\r\n var { loadingPageData, documentChanged } = this.state;\r\n\r\n if (\r\n !loadingPageData &&\r\n (currentDocumentLayout.loadedPages.length !== currentDocumentLayout.layout.length || documentChanged)\r\n ) {\r\n this.setState({ loadingPageData: true });\r\n this.props.getCurrentDocumentCompleteLayout(projectId, documentId).then(() => {\r\n this.setState({ loadingPageData: false, documentChanged: false });\r\n this.checkDocumentProcessType();\r\n });\r\n }\r\n }\r\n\r\n setSearchResults(results, emphasis, hide) {\r\n results.forEach((result, i) => (result.emphasis = i === emphasis));\r\n\r\n this.setState({ results: results, emphasis: emphasis }, () => {\r\n this.props.setSearchResults(\r\n results.map(result => {\r\n return { characters: result.characters, emphasis: result.emphasis };\r\n })\r\n );\r\n\r\n if (results && results.length) this.goToPage(results[emphasis].characters[0].page, hide);\r\n });\r\n }\r\n\r\n searchQueryChange = e => {\r\n this.setState({ searchQuery: e.target.value }, this.performSearch(e.target.value));\r\n };\r\n\r\n // used to check if a document was processed by kira or abbyy\r\n checkDocumentProcessType = () => {\r\n var {\r\n currentDocumentLayout: { characters }\r\n } = this.props;\r\n var isKira = true;\r\n\r\n for (let i = 0; i < characters.length; i++) {\r\n if (characters[i].u.length > 1) {\r\n isKira = false;\r\n break;\r\n } else if (Constants.TextSelectionBreakCharacters.indexOf(characters[i].u[0]) !== -1) {\r\n break;\r\n }\r\n }\r\n\r\n this.setState({ isKira }, this.setState({ characters: this.getCharacters(isKira) }));\r\n };\r\n\r\n getCharacters = isKira => {\r\n const {\r\n currentDocumentLayout: { characters }\r\n } = this.props;\r\n\r\n if (isKira) {\r\n return characters;\r\n }\r\n\r\n const formatedCharacters = [];\r\n\r\n characters.forEach(character => {\r\n character.u.forEach((c, j) => {\r\n formatedCharacters.push({\r\n ...character,\r\n u: [c],\r\n i: character.i + j,\r\n start: character.i,\r\n end: character.i + character.u.length - 1\r\n });\r\n });\r\n formatedCharacters.push({\r\n ...character,\r\n u: [32],\r\n i: character.i + character.u.length,\r\n end: character.i + character.u.length\r\n });\r\n });\r\n return formatedCharacters;\r\n };\r\n\r\n performSearch = debounce(query => {\r\n const { characters } = this.state;\r\n var matches = [];\r\n var possibleMatch = false;\r\n\r\n characters.forEach((character, i) => {\r\n //Burndown\r\n if (possibleMatch) {\r\n if (String.fromCharCode(character.u).toLowerCase() === possibleMatch.burndown.slice(0, 1).toLowerCase()) {\r\n if (possibleMatch.burndown.length > 0) {\r\n possibleMatch.burndown = possibleMatch.burndown.substr(1);\r\n }\r\n\r\n if (possibleMatch.burndown.length === 0) {\r\n possibleMatch.lead = characters.slice(\r\n possibleMatch.startIndex - this.PADDING_CHARACTERS_LEAD > 0\r\n ? possibleMatch.startIndex - this.PADDING_CHARACTERS_LEAD\r\n : 0,\r\n possibleMatch.startIndex\r\n );\r\n\r\n possibleMatch.characters = characters.slice(possibleMatch.startIndex, i + 1);\r\n\r\n possibleMatch.trail = characters.slice(\r\n i + 1,\r\n i + 1 + this.PADDING_CHARACTERS_TRAIL < characters.length\r\n ? i + 1 + this.PADDING_CHARACTERS_TRAIL\r\n : characters.length - 1\r\n );\r\n\r\n matches.push(possibleMatch);\r\n possibleMatch = false;\r\n }\r\n } else {\r\n possibleMatch = false;\r\n }\r\n }\r\n\r\n if (!possibleMatch) {\r\n if (String.fromCharCode(character.u).toLowerCase() === query.slice(0, 1).toLowerCase()) {\r\n possibleMatch = {\r\n burndown: query.substr(1),\r\n startIndex: i\r\n };\r\n }\r\n }\r\n });\r\n\r\n this.setSearchResults(matches, 0, false);\r\n }, 500);\r\n\r\n hideDropdown = hide => {\r\n this.setState({ hideDropdown: hide });\r\n };\r\n\r\n handleClickOutside() {\r\n this.hideDropdown(true);\r\n }\r\n\r\n goToPage = (pageNumber, hide) => {\r\n this.setState({ hideDropdown: hide });\r\n window.postMessage({ document_page_change: pageNumber }, window.location.href);\r\n };\r\n\r\n setEmphasis = index => {\r\n this.setSearchResults(this.state.results, index, true);\r\n };\r\n\r\n setEmphasisNext = () => {\r\n var { emphasis, results } = this.state;\r\n this.setEmphasis(emphasis + 1 < results.length ? emphasis + 1 : 0);\r\n };\r\n\r\n setEmphasisPrevious = () => {\r\n var { emphasis, results } = this.state;\r\n this.setEmphasis(emphasis - 1 >= 0 ? emphasis - 1 : results.length - 1);\r\n };\r\n\r\n handleKeyDown = event => {\r\n if (event.keyCode === 27) {\r\n this.hideDropdown(true);\r\n }\r\n };\r\n\r\n render() {\r\n const { currentDocumentLayout } = this.props;\r\n const { results, searchQuery, hideDropdown, emphasis, loadingPageData } = this.state;\r\n\r\n return (\r\n
\r\n
\r\n {loadingPageData ? (\r\n
\r\n \r\n\r\n \r\n \r\n \r\n \r\n
\r\n ) : (\r\n \r\n {placeholder => (\r\n this.searchQueryChange(e)}\r\n onClick={() => {\r\n this.prepareData();\r\n this.hideDropdown(false);\r\n }}\r\n onKeyDown={this.handleKeyDown}\r\n disabled={!currentDocumentLayout.isLoaded}\r\n />\r\n )}\r\n \r\n )}\r\n {results && results.length ? (\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n ) : null}\r\n
\r\n\r\n {results && results.length && !hideDropdown ? (\r\n
\r\n
\r\n
\r\n {results.map((result, k) => (\r\n
this.setEmphasis(k)}>\r\n
\r\n
\r\n {result.startIndex > this.PADDING_CHARACTERS_LEAD ? '...' : ''}\r\n {result.lead.reduce((a, c) => a + String.fromCharCode(c.u), '')}\r\n {result.characters.reduce((a, c) => a + String.fromCharCode(c.u), '')}\r\n {result.trail.reduce((a, c) => a + String.fromCharCode(c.u), '')}\r\n {'...'}\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n ))}\r\n
\r\n
\r\n
\r\n ) : null}\r\n
\r\n );\r\n }\r\n}\r\n\r\nexport default enhanceWithClickOutside(DocumentSearch);\r\n","import { connect } from 'react-redux';\r\n\r\nimport DocumentSearch from 'components/search/document-search/document-search';\r\nimport { getCurrentDocumentCompleteLayout } from 'store/current-document-layout';\r\n\r\nconst mapStateToProps = ({ data: { currentDocument, currentDocumentLayout } }) => ({\r\n currentDocument,\r\n currentDocumentLayout\r\n});\r\n\r\nconst mapDispatchToProps = {\r\n getCurrentDocumentCompleteLayout\r\n};\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(DocumentSearch);\r\n","import React, { Component } from 'react';\r\nimport classNames from 'classnames';\r\nimport { FormattedMessage } from 'react-intl';\r\nimport PropTypes from 'prop-types';\r\nimport Icon from 'components/shared/icon';\r\nimport Button from 'components/shared/single-click-button';\r\n\r\n/* Reusable search input field component across pages */\r\n// Uses search redux component; connects to the store in search\r\nclass SearchInputField extends Component {\r\n static propTypes = {\r\n inputDisabled: PropTypes.bool,\r\n location: PropTypes.object,\r\n onBlur: PropTypes.func,\r\n onEnter: PropTypes.func,\r\n onExit: PropTypes.func,\r\n onKeyUp: PropTypes.func,\r\n onSearchChange: PropTypes.func,\r\n search: PropTypes.object,\r\n fromLandingPage: PropTypes.bool,\r\n fromProjectListPage: PropTypes.bool,\r\n fromUserManagementPage: PropTypes.bool,\r\n fromQuickStudyPage: PropTypes.bool,\r\n intl: PropTypes.any\r\n };\r\n\r\n // Perform enter search\r\n onKeyPress = e => {\r\n const { onEnter, search } = this.props;\r\n if (e.key === 'Enter') {\r\n return search.query.length > 0 ? onEnter : {};\r\n }\r\n };\r\n\r\n onChange = value => {\r\n const { onSearchChange, onExit } = this.props;\r\n onSearchChange(value);\r\n if (value.length <= 0) {\r\n onExit();\r\n }\r\n };\r\n\r\n render() {\r\n const {\r\n search,\r\n location,\r\n onSearchChange,\r\n onKeyUp,\r\n onEnter,\r\n inputDisabled,\r\n onExit,\r\n onBlur,\r\n fromProjectListPage,\r\n fromQuickStudyPage,\r\n fromUserManagementPage,\r\n intl\r\n } = this.props;\r\n const disabled =\r\n location.pathname.includes('creation') ||\r\n location.pathname.includes('copy') ||\r\n location.pathname.includes('visuals');\r\n\r\n return (\r\n \r\n {(fromProjectListPage || fromQuickStudyPage || fromUserManagementPage) && (\r\n
\r\n onEnter()}\r\n >\r\n \r\n \r\n
\r\n )}\r\n
\r\n this.onChange(e.target.value)}\r\n onKeyUp={onKeyUp}\r\n onKeyPress={this.onKeyPress}\r\n onBlur={onBlur}\r\n placeholder={\r\n fromProjectListPage\r\n ? intl?.formatMessage({ id: 'search-Bar.placeholder.project' })\r\n : fromQuickStudyPage\r\n ? intl?.formatMessage({ id: 'search-Bar.placeholder.extraction-field' })\r\n : fromUserManagementPage\r\n ? intl?.formatMessage({ id: 'search-Bar.placeholder.user' })\r\n : null\r\n }\r\n />\r\n {search.query.length > 0 ? (\r\n {\r\n onSearchChange('');\r\n onExit();\r\n }}\r\n >\r\n \r\n \r\n ) : null}\r\n
\r\n {!fromProjectListPage && !fromQuickStudyPage && !fromUserManagementPage && (\r\n
\r\n onEnter()}\r\n >\r\n \r\n \r\n
\r\n )}\r\n
\r\n );\r\n }\r\n}\r\n\r\nexport default SearchInputField;\r\n","import { connect } from 'react-redux';\r\n\r\nimport { onSearchChange } from 'store/search/search-category';\r\nimport SearchInputField from 'components/search/shared/search-inputfield';\r\n\r\nconst mapStateToProps = ({ data: { search } }) => ({\r\n search\r\n});\r\n\r\nconst mapDispatchToProps = {\r\n onSearchChange\r\n};\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(SearchInputField);\r\n","import React, { Component } from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { injectIntl, intlShape } from 'react-intl';\r\nimport { debounce } from 'underscore';\r\nimport SearchInputField from 'containers/search/search-inputfield-container';\r\n\r\n/** Project list page search bar */\r\nclass ProjectListSearch extends Component {\r\n static propTypes = {\r\n location: PropTypes.object,\r\n onSearchChange: PropTypes.func,\r\n projectList: PropTypes.object,\r\n search: PropTypes.object,\r\n searchProjectList: PropTypes.func,\r\n fromLandingPage: PropTypes.bool,\r\n fromProjectListPage: PropTypes.bool,\r\n intl: intlShape.isRequired\r\n };\r\n\r\n componentDidMount() {\r\n if (this.props.search.query.length > 0) {\r\n this.props.onSearchChange('');\r\n }\r\n }\r\n\r\n componentWillUnmount() {\r\n if (this.props.search.query.length > 0) {\r\n this.props.onSearchChange('');\r\n }\r\n }\r\n\r\n // Input bool represents whether we are searching or clearing out the filter\r\n searchProjects = bool => {\r\n const { searchProjectList, search } = this.props;\r\n return searchProjectList(bool ? search.query : '');\r\n };\r\n\r\n onKeyUp = debounce(() => {\r\n this.searchProjects(true);\r\n }, 650);\r\n\r\n render() {\r\n const { location, projectList, fromProjectListPage, intl } = this.props;\r\n\r\n return (\r\n this.searchProjects(true)}\r\n onExit={() => this.searchProjects(false)}\r\n onKeyUp={this.onKeyUp}\r\n fromLandingPage={this.fromLandingPage}\r\n fromProjectListPage={fromProjectListPage}\r\n intl={intl}\r\n />\r\n );\r\n }\r\n}\r\n\r\nexport default injectIntl(ProjectListSearch);\r\n","import { connect } from 'react-redux';\r\n\r\nimport { searchProjectList } from 'store/project-list';\r\nimport { onSearchChange } from 'store/search/search-category';\r\nimport ProjectListSearch from 'components/search/project-list-search/project-list-search';\r\n\r\nconst mapStateToProps = ({ data: { search, projectList } }) => ({\r\n projectList,\r\n search\r\n});\r\n\r\nconst mapDispatchToProps = {\r\n searchProjectList,\r\n onSearchChange\r\n};\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(ProjectListSearch);\r\n","import React, { Component } from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { injectIntl, intlShape } from 'react-intl';\r\nimport { debounce } from 'underscore';\r\nimport SearchInputField from 'containers/search/search-inputfield-container';\r\n\r\n/** Quick study page search bar */\r\nclass GroupsSearch extends Component {\r\n static propTypes = {\r\n inputDisabled: PropTypes.bool,\r\n location: PropTypes.object,\r\n match: PropTypes.object,\r\n onEnter: PropTypes.func,\r\n onExit: PropTypes.func,\r\n onSearchChange: PropTypes.func,\r\n search: PropTypes.object,\r\n fromQuickStudyPage: PropTypes.bool,\r\n intl: intlShape.isRequired\r\n };\r\n\r\n componentDidMount() {\r\n const { groupId } = this.props.match.params;\r\n if (this.props.search.query.length > 0) {\r\n if (groupId !== 'all' || !groupId) {\r\n this.props.onSearchChange('');\r\n }\r\n }\r\n }\r\n\r\n onKeyUp = debounce(() => {\r\n this.onEnter();\r\n }, 500);\r\n\r\n onEnter = () => {\r\n // Search param options\r\n const groupOptions = {\r\n pageNum: 1,\r\n filterBy: 'name',\r\n filterString: this.props.search.query\r\n };\r\n this.props.onEnter(groupOptions);\r\n };\r\n\r\n render() {\r\n const { location, inputDisabled, onExit, fromQuickStudyPage, intl } = this.props;\r\n\r\n return (\r\n \r\n );\r\n }\r\n}\r\n\r\nexport default injectIntl(GroupsSearch);\r\n","import { connect } from 'react-redux';\r\n\r\nimport { onSearchChange } from 'store/search/search-category';\r\nimport GroupsSearch from 'components/search/groups-search/groups-search';\r\n\r\nconst mapStateToProps = ({ data: { search } }) => ({\r\n search\r\n});\r\n\r\nconst mapDispatchToProps = {\r\n onSearchChange\r\n};\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(GroupsSearch);\r\n","import React, { Component } from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { injectIntl, intlShape } from 'react-intl';\r\nimport { debounce } from 'underscore';\r\nimport SearchInputField from 'containers/search/search-inputfield-container';\r\n\r\n/** User management page search bar */\r\nclass UserSearch extends Component {\r\n static propTypes = {\r\n inputDisabled: PropTypes.bool,\r\n location: PropTypes.object,\r\n match: PropTypes.object,\r\n onEnter: PropTypes.func,\r\n onExit: PropTypes.func,\r\n onSearchChange: PropTypes.func,\r\n search: PropTypes.object,\r\n fromUserManagementPage: PropTypes.bool,\r\n intl: intlShape.isRequired\r\n };\r\n\r\n componentDidMount() {\r\n if (this.props.search.query.length > 0) {\r\n this.props.onSearchChange('');\r\n }\r\n }\r\n\r\n onKeyUp = debounce(() => {\r\n this.onEnter();\r\n }, 500);\r\n\r\n onEnter = () => {\r\n // Search param options\r\n this.props.onEnter();\r\n };\r\n\r\n render() {\r\n const { location, inputDisabled, onExit, fromUserManagementPage, intl } = this.props;\r\n\r\n return (\r\n \r\n );\r\n }\r\n}\r\n\r\nexport default injectIntl(UserSearch);\r\n","import { connect } from 'react-redux';\r\n\r\nimport { onSearchChange } from 'store/search/search-category';\r\nimport UserSearch from 'components/search/user-search/user-search';\r\n\r\nconst mapStateToProps = ({ data: { search } }) => ({\r\n search\r\n});\r\nconst mapDispatchToProps = {\r\n onSearchChange\r\n};\r\nexport default connect(mapStateToProps, mapDispatchToProps)(UserSearch);\r\n","export const SEARCH_CATEGORIES = {\r\n DOCUMENT_NAME: 1,\r\n DOCUMENT_CONTENT: 2,\r\n EXTRACTION_FIELD_NAME: 3,\r\n FOLDER_NAME: 4,\r\n TEMPLATE_NAME: 5,\r\n DOCUMENT_TAG: 6,\r\n REVIEWER_NAME: 7,\r\n EXTRACTION_FIELD_GROUP_NAME: 8,\r\n EXTRACTION_FIELD_INSTANCE_TAG: 9,\r\n // This is a virutal category that only exists on the front end\r\n // It will be resolved to either a document tag or extraction field instance tag\r\n TAG: 100\r\n};\r\n\r\nexport const SEARCH_OPERATORS = {\r\n AND: 1,\r\n OR: 2\r\n};\r\n\r\nexport const SEARCH_MODIFIERS = {\r\n INCLUDE: 1,\r\n EXCLUDE: 2\r\n};\r\n\r\nexport const SEARCH_RECORD_MODIFIERS = {\r\n INCLUDE: 3,\r\n EXCLUDE: 4\r\n};\r\n\r\nexport const TAG_TYPE_MODIFIERS = {\r\n DOCUMENT: 6,\r\n RECORD: 9\r\n};\r\n\r\nexport const GLOBAL_SEARCH_CATEGORIES = [\r\n SEARCH_CATEGORIES.DOCUMENT_NAME,\r\n SEARCH_CATEGORIES.EXTRACTION_FIELD_NAME,\r\n SEARCH_CATEGORIES.FOLDER_NAME,\r\n SEARCH_CATEGORIES.TEMPLATE_NAME,\r\n SEARCH_CATEGORIES.DOCUMENT_TAG,\r\n SEARCH_CATEGORIES.REVIEWER_NAME,\r\n SEARCH_CATEGORIES.EXTRACTION_FIELD_GROUP_NAME,\r\n SEARCH_CATEGORIES.EXTRACTION_FIELD_INSTANCE_TAG\r\n];\r\n\r\nexport const SEARCH_CATEGORY_DISPLAY_NAMES = {\r\n [SEARCH_CATEGORIES.DOCUMENT_NAME]: 'search.categories.DocumentTitle',\r\n [SEARCH_CATEGORIES.DOCUMENT_CONTENT]: 'search.categories.DocumentContent',\r\n [SEARCH_CATEGORIES.FOLDER_NAME]: 'search.categories.Folders',\r\n [SEARCH_CATEGORIES.EXTRACTION_FIELD_NAME]: 'search.categories.ExtractionFields',\r\n [SEARCH_CATEGORIES.TEMPLATE_NAME]: 'search.categories.Templates',\r\n [SEARCH_CATEGORIES.DOCUMENT_TAG]: 'search.categories.DocumentTags',\r\n [SEARCH_CATEGORIES.REVIEWER_NAME]: 'search.categories.Finalizedby',\r\n [SEARCH_CATEGORIES.EXTRACTION_FIELD_INSTANCE_TAG]: 'search.categories.ExtractionFieldInstanceTag',\r\n [SEARCH_CATEGORIES.TAG]: 'search.categories.Tags'\r\n};\r\n\r\nexport const SEARCH_CATEGORY_VERBOSE_NAMES = {\r\n [SEARCH_CATEGORIES.DOCUMENT_NAME]: 'search.categories.DocumentTitle',\r\n [SEARCH_CATEGORIES.DOCUMENT_CONTENT]: 'search.categories.DocumentContent',\r\n [SEARCH_CATEGORIES.FOLDER_NAME]: 'search.categories.Folders',\r\n [SEARCH_CATEGORIES.EXTRACTION_FIELD_NAME]: 'search.categories.ExtractionFields',\r\n [SEARCH_CATEGORIES.TEMPLATE_NAME]: 'search.categories.Templates',\r\n [SEARCH_CATEGORIES.DOCUMENT_TAG]: 'search.categories.DocumentTags.verbose',\r\n [SEARCH_CATEGORIES.REVIEWER_NAME]: 'search.categories.Finalizedby',\r\n [SEARCH_CATEGORIES.EXTRACTION_FIELD_INSTANCE_TAG]: 'search.categories.ExtractionFieldInstanceTag.verbose',\r\n [SEARCH_CATEGORIES.TAG]: 'search.categories.Tags'\r\n};\r\n\r\nexport const SEARCH_OPERATOR_DISPLAY_NAMES = {\r\n [SEARCH_OPERATORS.AND]: 'search-filter.and',\r\n [SEARCH_OPERATORS.OR]: 'search-filter.or'\r\n};\r\n\r\nexport const SEARCH_MODIFIER_DISPLAY_NAMES = {\r\n [SEARCH_MODIFIERS.INCLUDE]: 'search-filter.include',\r\n [SEARCH_MODIFIERS.EXCLUDE]: 'search-filter.exclude'\r\n};\r\n\r\nexport const SEARCH_RECORD_MODIFIER_DISPLAY_NAMES = {\r\n [SEARCH_RECORD_MODIFIERS.INCLUDE]: 'search-filter.records',\r\n [SEARCH_RECORD_MODIFIERS.EXCLUDE]: 'search-filter.no-records'\r\n};\r\n\r\nexport const TAG_TYPE_DISPLAY_NAMES = {\r\n [TAG_TYPE_MODIFIERS.DOCUMENT]: 'search-filter.document-tag',\r\n [TAG_TYPE_MODIFIERS.RECORD]: 'search-filter.record-tag'\r\n};\r\n\r\n// Search Categories\r\nexport const RESULT_CATEGORIES = [\r\n SEARCH_CATEGORIES.DOCUMENT_NAME,\r\n SEARCH_CATEGORIES.FOLDER_NAME,\r\n SEARCH_CATEGORIES.EXTRACTION_FIELD_NAME,\r\n SEARCH_CATEGORIES.TEMPLATE_NAME,\r\n SEARCH_CATEGORIES.DOCUMENT_TAG,\r\n SEARCH_CATEGORIES.REVIEWER_NAME,\r\n SEARCH_CATEGORIES.EXTRACTION_FIELD_INSTANCE_TAG\r\n];\r\n\r\nexport const RESULT_CATEGORY_KEYS = {\r\n [SEARCH_CATEGORIES.DOCUMENT_NAME]: 'documents',\r\n [SEARCH_CATEGORIES.FOLDER_NAME]: 'folders',\r\n [SEARCH_CATEGORIES.EXTRACTION_FIELD_NAME]: 'extractions',\r\n [SEARCH_CATEGORIES.TEMPLATE_NAME]: 'templates',\r\n [SEARCH_CATEGORIES.DOCUMENT_TAG]: 'documentTags',\r\n [SEARCH_CATEGORIES.REVIEWER_NAME]: 'reviewers',\r\n [SEARCH_CATEGORIES.EXTRACTION_FIELD_INSTANCE_TAG]: 'extractionFieldInstanceTags'\r\n};\r\n\r\nexport const RESULT_CATEGORY_ID_KEYS = {\r\n [SEARCH_CATEGORIES.DOCUMENT_NAME]: 'documentId',\r\n [SEARCH_CATEGORIES.FOLDER_NAME]: 'folderId',\r\n [SEARCH_CATEGORIES.EXTRACTION_FIELD_NAME]: 'extractionFieldId',\r\n [SEARCH_CATEGORIES.TEMPLATE_NAME]: 'templateId',\r\n [SEARCH_CATEGORIES.DOCUMENT_TAG]: 'documentTagId',\r\n [SEARCH_CATEGORIES.REVIEWER_NAME]: 'userId',\r\n [SEARCH_CATEGORIES.EXTRACTION_FIELD_INSTANCE_TAG]: 'extractionFieldInstanceTagId'\r\n};\r\n","import { Button as MenuButton, Menu, MenuItem, Wrapper as MenuWrapper } from 'react-aria-menubutton';\r\nimport classNames from 'classnames';\r\nimport Icon from 'components/shared/icon';\r\nimport PropTypes from 'prop-types';\r\nimport React, { Component } from 'react';\r\n\r\nexport default class Dropdown extends Component {\r\n static propTypes = {\r\n alwaysShowDefaultMessage: PropTypes.bool,\r\n className: PropTypes.string,\r\n customStyle: PropTypes.string,\r\n defaultMessage: PropTypes.any.isRequired,\r\n onBlur: PropTypes.func,\r\n onSelection: PropTypes.func.isRequired,\r\n options: PropTypes.array.isRequired,\r\n renderOption: PropTypes.func.isRequired,\r\n selectedOption: PropTypes.any\r\n };\r\n\r\n static defaultProps = {\r\n defaultMessage: '',\r\n renderOption: option => option\r\n };\r\n\r\n state = {\r\n isMenuOpen: false\r\n };\r\n\r\n onMenuToggle = () => {\r\n this.setState({ isMenuOpen: !this.state.isMenuOpen });\r\n };\r\n\r\n render() {\r\n const {\r\n alwaysShowDefaultMessage,\r\n className,\r\n options,\r\n selectedOption,\r\n renderOption,\r\n onSelection,\r\n onBlur,\r\n defaultMessage,\r\n customStyle\r\n } = this.props;\r\n const { isMenuOpen } = this.state;\r\n\r\n return (\r\n onSelection(option)}\r\n >\r\n \r\n {selectedOption && !alwaysShowDefaultMessage ? (\r\n renderOption(selectedOption)\r\n ) : (\r\n {defaultMessage}\r\n )}\r\n \r\n \r\n \r\n {options.map((option, index) => (\r\n \r\n {renderOption(option)}\r\n {selectedOption === option && }\r\n \r\n ))}\r\n \r\n \r\n );\r\n }\r\n}\r\n","import { injectIntl, intlShape } from 'react-intl';\r\nimport PropTypes from 'prop-types';\r\nimport React, { Component, Fragment } from 'react';\r\n\r\nimport {\r\n SEARCH_CATEGORIES,\r\n SEARCH_CATEGORY_DISPLAY_NAMES,\r\n SEARCH_MODIFIER_DISPLAY_NAMES,\r\n SEARCH_MODIFIERS,\r\n SEARCH_OPERATOR_DISPLAY_NAMES,\r\n SEARCH_OPERATORS,\r\n SEARCH_RECORD_MODIFIER_DISPLAY_NAMES,\r\n SEARCH_RECORD_MODIFIERS,\r\n TAG_TYPE_MODIFIERS,\r\n TAG_TYPE_DISPLAY_NAMES\r\n} from 'components/search/constants';\r\nimport Button from 'components/shared/single-click-button';\r\nimport Dropdown from 'components/shared/form/dropdown';\r\nimport Icon from 'components/shared/icon';\r\n\r\nconst CATEGORY_OPTIONS = [\r\n SEARCH_CATEGORIES.DOCUMENT_NAME,\r\n SEARCH_CATEGORIES.DOCUMENT_CONTENT,\r\n SEARCH_CATEGORIES.FOLDER_NAME,\r\n SEARCH_CATEGORIES.EXTRACTION_FIELD_NAME,\r\n SEARCH_CATEGORIES.TEMPLATE_NAME,\r\n SEARCH_CATEGORIES.TAG,\r\n SEARCH_CATEGORIES.REVIEWER_NAME\r\n];\r\n\r\nconst AND_OR_OPTIONS = [SEARCH_OPERATORS.AND, SEARCH_OPERATORS.OR];\r\n\r\nconst TAG_TYPE_OPTIONS = [TAG_TYPE_MODIFIERS.DOCUMENT, TAG_TYPE_MODIFIERS.RECORD];\r\n\r\nconst INCLUDE_EXCLUDE_OPTIONS = [SEARCH_MODIFIERS.INCLUDE, SEARCH_MODIFIERS.EXCLUDE];\r\n\r\nconst RECORD_OPTIONS = [SEARCH_RECORD_MODIFIERS.INCLUDE, SEARCH_RECORD_MODIFIERS.EXCLUDE];\r\n\r\n// Advanced Search Item represents a single query row with the required dropdowns\r\nexport class AdvancedSearchFilterItem extends Component {\r\n static propTypes = {\r\n counter: PropTypes.number,\r\n index: PropTypes.number,\r\n inputValue: PropTypes.string,\r\n intl: intlShape,\r\n isFirstItem: PropTypes.bool,\r\n onAndOr: PropTypes.func,\r\n onCancel: PropTypes.func,\r\n onCategorySelect: PropTypes.func,\r\n onIncludeExclude: PropTypes.func,\r\n onQueryChange: PropTypes.func,\r\n onRecord: PropTypes.func,\r\n onTagTypeSelect: PropTypes.func,\r\n values: PropTypes.any\r\n };\r\n\r\n state = {\r\n isFocused: false\r\n };\r\n\r\n onSearchStringChange = event => {\r\n const { index, onQueryChange } = this.props;\r\n onQueryChange(index, event.target.value);\r\n };\r\n\r\n renderPlaceholder = () => {\r\n const { intl } = this.props;\r\n return intl.formatMessage({ id: 'search-filter.placeholder' });\r\n };\r\n\r\n onAndOrOptionSelect = option => {\r\n const { index, onAndOr } = this.props;\r\n return onAndOr(index, option);\r\n };\r\n\r\n renderAndOrOption = option => {\r\n const { intl } = this.props;\r\n return intl.formatMessage({ id: SEARCH_OPERATOR_DISPLAY_NAMES[option] });\r\n };\r\n\r\n renderAndOrDropdown = () => {\r\n const { index, values } = this.props;\r\n const query = values[index] || {};\r\n const andOrValue = query['andOr'];\r\n\r\n return (\r\n \r\n );\r\n };\r\n\r\n onCategoryOptionSelect = option => {\r\n const { index, onCategorySelect } = this.props;\r\n return onCategorySelect(index, option);\r\n };\r\n\r\n renderCategoryOption = option => {\r\n const { intl } = this.props;\r\n return intl.formatMessage({ id: SEARCH_CATEGORY_DISPLAY_NAMES[option] });\r\n };\r\n\r\n renderCategoryDropdown = () => {\r\n const { counter, index, isFirstItem, values } = this.props;\r\n const query = values[index] || {};\r\n const categoryValue = query['category'];\r\n\r\n return (\r\n 1 ? 'padded' : ''}`}\r\n customStyle=\"advanced-search__item-style\"\r\n defaultMessage={this.renderPlaceholder()}\r\n key=\"category\"\r\n onSelection={this.onCategoryOptionSelect}\r\n options={CATEGORY_OPTIONS}\r\n renderOption={this.renderCategoryOption}\r\n selectedOption={categoryValue}\r\n />\r\n );\r\n };\r\n\r\n onTagTypeSelect = option => {\r\n const { index, onTagTypeSelect } = this.props;\r\n return onTagTypeSelect(index, option);\r\n };\r\n\r\n renderTagTypeOption = option => {\r\n const { intl } = this.props;\r\n return intl.formatMessage({ id: TAG_TYPE_DISPLAY_NAMES[option] });\r\n };\r\n\r\n renderTagTypeDropdown = () => {\r\n const { index, values } = this.props;\r\n const query = values[index] || {};\r\n const tagTypeValue = query['tagType'];\r\n\r\n return (\r\n \r\n );\r\n };\r\n\r\n onIncludeExcludeOptionSelect = option => {\r\n const { index, onIncludeExclude } = this.props;\r\n return onIncludeExclude(index, option);\r\n };\r\n\r\n renderIncludeExcludeOption = option => {\r\n const { intl } = this.props;\r\n return intl.formatMessage({ id: SEARCH_MODIFIER_DISPLAY_NAMES[option] });\r\n };\r\n\r\n renderIncludeExcludeDropdown = () => {\r\n const { index, values } = this.props;\r\n const query = values[index] || {};\r\n const includeValue = query['include'];\r\n\r\n return (\r\n \r\n );\r\n };\r\n\r\n onRecordOptionSelect = option => {\r\n const { index, onRecord } = this.props;\r\n return onRecord(index, option);\r\n };\r\n\r\n renderRecordOption = option => {\r\n const { intl } = this.props;\r\n return intl.formatMessage({ id: SEARCH_RECORD_MODIFIER_DISPLAY_NAMES[option] });\r\n };\r\n\r\n renderRecordDropdown = () => {\r\n const { index, values } = this.props;\r\n const query = values[index] || {};\r\n const recordValue = query['record'];\r\n\r\n return (\r\n \r\n );\r\n };\r\n\r\n renderSearchInput = () => {\r\n const { index, values } = this.props;\r\n const query = values[index] || {};\r\n const searchStringValue = query['searchString'] || '';\r\n\r\n return (\r\n \r\n );\r\n };\r\n\r\n render() {\r\n const { index, isFirstItem, onCancel, values } = this.props;\r\n\r\n const query = values[index] || {};\r\n const andOrValue = query['andOr'];\r\n const categoryValue = query['category'];\r\n const includeValue = query['include'];\r\n const recordValue = query['record'];\r\n const tagTypeValue = query['tagType'];\r\n\r\n return (\r\n
\r\n {/* And / Or dropdown (not present on first item) */}\r\n {!isFirstItem && this.renderAndOrDropdown()}\r\n\r\n {/* Category dropdown */}\r\n {(isFirstItem || andOrValue) && this.renderCategoryDropdown()}\r\n\r\n {/* The following options are slightly different depending on the category type */}\r\n {categoryValue === SEARCH_CATEGORIES.TAG ? (\r\n \r\n {this.renderTagTypeDropdown()}\r\n {tagTypeValue && this.renderIncludeExcludeDropdown()}\r\n \r\n ) : categoryValue === SEARCH_CATEGORIES.EXTRACTION_FIELD_NAME ? (\r\n this.renderRecordDropdown()\r\n ) : categoryValue ? (\r\n this.renderIncludeExcludeDropdown()\r\n ) : null}\r\n\r\n {/* Search input */}\r\n {(recordValue || includeValue) && this.renderSearchInput()}\r\n\r\n {/* X icon */}\r\n {!isFirstItem && (\r\n \r\n )}\r\n
\r\n );\r\n }\r\n}\r\n\r\nexport default injectIntl(AdvancedSearchFilterItem);\r\n","import { FormattedMessage } from 'react-intl';\r\nimport PropTypes from 'prop-types';\r\nimport React, { Component } from 'react';\r\n\r\nimport AdvancedSearchItem from 'components/search/file-list-search/advanced-search-filter-item';\r\nimport Button from 'components/shared/single-click-button';\r\n\r\nimport {\r\n SEARCH_CATEGORIES,\r\n SEARCH_MODIFIERS,\r\n SEARCH_RECORD_MODIFIERS,\r\n TAG_TYPE_MODIFIERS\r\n} from 'components/search/constants';\r\n\r\n// Advanced Search Component\r\nexport default class AdvancedSearch extends Component {\r\n static propTypes = {\r\n inputValue: PropTypes.string,\r\n onAdvancedSearch: PropTypes.func,\r\n onAdvancedSearchChange: PropTypes.func,\r\n onReset: PropTypes.func\r\n };\r\n\r\n state = {\r\n searchString: '',\r\n counter: 1, // Counts how many advanced search filters to render\r\n queryValues: [] // The query values for each row of the advanced search\r\n };\r\n\r\n componentDidMount() {\r\n const { inputValue } = this.props;\r\n\r\n // Initialize search row\r\n if (inputValue && inputValue.length) {\r\n this.setState({ queryValues: this.updateData(0, 'searchString', inputValue) });\r\n }\r\n }\r\n\r\n componentDidUpdate(prevProps, prevState) {\r\n const { onAdvancedSearchChange } = this.props;\r\n const { counter, queryValues } = this.state;\r\n\r\n if (counter !== prevState.counter || queryValues !== prevState.queryValues) {\r\n onAdvancedSearchChange({ filter: queryValues, payload: this.getAdvancedSearchPayload() });\r\n this.onAddRow();\r\n }\r\n }\r\n\r\n // Add additional row\r\n onAddRow = () => {\r\n const { queryValues, counter } = this.state;\r\n const previousQuery = queryValues[counter - 1];\r\n\r\n const shouldAddRow =\r\n previousQuery &&\r\n previousQuery['category'] &&\r\n (previousQuery['include'] || previousQuery['record']) &&\r\n previousQuery['searchString'] &&\r\n previousQuery['searchString'].length;\r\n\r\n if (shouldAddRow) {\r\n this.setState({ counter: counter + 1 });\r\n }\r\n };\r\n\r\n onRowDelete = index => {\r\n const { counter, queryValues } = this.state;\r\n\r\n return this.setState({\r\n counter: counter - 1,\r\n queryValues: queryValues.filter((_, i) => i !== index)\r\n });\r\n };\r\n\r\n // Update a query key/value at a certain index\r\n updateData = (index, key, value) => {\r\n const { queryValues } = this.state;\r\n queryValues[index] = { ...queryValues[index], [key]: value };\r\n\r\n // Pre populate the next field with 'include' or 'has records for'\r\n if (key === 'category' && value === SEARCH_CATEGORIES.EXTRACTION_FIELD_NAME) {\r\n queryValues[index].record = SEARCH_RECORD_MODIFIERS.INCLUDE;\r\n } else if (key === 'category' && value === SEARCH_CATEGORIES.TAG) {\r\n queryValues[index].tagType = TAG_TYPE_MODIFIERS.DOCUMENT;\r\n queryValues[index].include = SEARCH_MODIFIERS.INCLUDE;\r\n } else if (key === 'category') {\r\n queryValues[index].include = SEARCH_MODIFIERS.INCLUDE;\r\n }\r\n\r\n return [...queryValues];\r\n };\r\n\r\n onAndOr = (index, option) => {\r\n this.setState({ queryValues: this.updateData(index, 'andOr', option) });\r\n };\r\n\r\n onCategorySelect = (index, option) => {\r\n this.setState({ queryValues: this.updateData(index, 'category', option) });\r\n };\r\n\r\n onTagTypeSelect = (index, option) => {\r\n this.setState({ queryValues: this.updateData(index, 'tagType', option) });\r\n };\r\n\r\n onIncludeExclude = (index, option) => {\r\n this.setState({ queryValues: this.updateData(index, 'include', option) });\r\n };\r\n\r\n onRecord = (index, option) => {\r\n this.setState({ queryValues: this.updateData(index, 'record', option) });\r\n };\r\n\r\n onSearchStringChange = (index, value) => {\r\n this.setState({ queryValues: this.updateData(index, 'searchString', value) });\r\n };\r\n\r\n // Format the query into a payload for advanced search\r\n getAdvancedSearchPayload = () => {\r\n const { queryValues } = this.state;\r\n\r\n return {\r\n filters: queryValues.map(query => ({\r\n andOrId: query.andOr || '',\r\n fieldTypeId: query.tagType || query.category || '',\r\n includeExcludeId: query.include || query.record || '',\r\n keyword: query.searchString || this.props.inputValue || ''\r\n }))\r\n };\r\n };\r\n\r\n // Handle a click on the search button\r\n onSearchClick = () => {\r\n const { onAdvancedSearch, onAdvancedSearchChange } = this.props;\r\n const { queryValues } = this.state;\r\n\r\n onAdvancedSearchChange({ filter: queryValues, payload: this.getAdvancedSearchPayload() });\r\n onAdvancedSearch(this.getAdvancedSearchPayload());\r\n };\r\n\r\n // Handle a click on the reset button\r\n onResetClick = () => {\r\n this.setState({ queryValues: [], counter: 1 });\r\n };\r\n\r\n // Render the rows\r\n renderSearchRows = () => {\r\n const { counter, queryValues } = this.state;\r\n const rows = [];\r\n\r\n for (let index = 0; index < counter; index++) {\r\n rows.push(\r\n \r\n );\r\n }\r\n\r\n return rows;\r\n };\r\n\r\n render() {\r\n const { queryValues } = this.state;\r\n\r\n const isSearchButtonEnabled =\r\n queryValues[0] &&\r\n queryValues[0]['category'] &&\r\n (queryValues[0]['include'] || queryValues[0]['record']) &&\r\n (queryValues[0]['searchString'] || this.props.inputValue.length > 0);\r\n\r\n return (\r\n
\r\n
{this.renderSearchRows()}
\r\n
\r\n {/* Reset Button */}\r\n \r\n {/* Search Button */}\r\n \r\n
\r\n
\r\n );\r\n }\r\n}\r\n","import { FormattedMessage } from 'react-intl';\r\nimport PropTypes from 'prop-types';\r\nimport React, { Component } from 'react';\r\n\r\nimport Button from 'components/shared/single-click-button';\r\nimport Icon from 'components/shared/icon';\r\nimport { getCurrentRegion } from 'store/api';\r\nimport {\r\n RESULT_CATEGORIES,\r\n RESULT_CATEGORY_ID_KEYS,\r\n RESULT_CATEGORY_KEYS,\r\n SEARCH_CATEGORIES,\r\n SEARCH_CATEGORY_DISPLAY_NAMES\r\n} from 'components/search/constants';\r\n\r\n// Displays category results in dropdown\r\nexport default class CategoryContainer extends Component {\r\n static propTypes = {\r\n getSearchDocument: PropTypes.func,\r\n getSearchFolder: PropTypes.func,\r\n history: PropTypes.object,\r\n onBlur: PropTypes.func,\r\n onSearch: PropTypes.func,\r\n onViewMore: PropTypes.func,\r\n projectId: PropTypes.string,\r\n results: PropTypes.oneOfType([PropTypes.object, PropTypes.array]),\r\n showAdvancedSearch: PropTypes.func\r\n };\r\n\r\n onResultClick = (category, res) => {\r\n const { onSearch, history, getSearchDocument, getSearchFolder, onBlur, projectId } = this.props;\r\n\r\n const resultKey = RESULT_CATEGORY_ID_KEYS[category];\r\n const resultValue = res[resultKey];\r\n\r\n if (category === SEARCH_CATEGORIES.DOCUMENT_NAME) {\r\n onBlur();\r\n return history.push({\r\n pathname: `/region/${getCurrentRegion()}/project/${projectId}/document/${res.documentId}`\r\n });\r\n } else if (category === SEARCH_CATEGORIES.FOLDER_NAME) {\r\n onSearch(resultKey, resultValue);\r\n return getSearchFolder({ folderId: res.folderId });\r\n } else {\r\n onSearch(resultKey, resultValue);\r\n return getSearchDocument({ [resultKey]: resultValue });\r\n }\r\n };\r\n\r\n renderResult = (category, result, index) => (\r\n
\r\n this.onResultClick(category, result)}\r\n >\r\n {result.name}\r\n
\r\n
\r\n );\r\n\r\n renderCategories = () => {\r\n const { results, onViewMore } = this.props;\r\n\r\n return RESULT_CATEGORIES.map(categoryId => {\r\n const categoryData = results.categories[RESULT_CATEGORY_KEYS[categoryId]].data;\r\n // Filtered results so we only show first three\r\n const filteredResults = categoryData.length >= 3 ? categoryData.slice(0, 3) : categoryData;\r\n // Numbers to show how many results we are showing\r\n const current = Math.min(3, categoryData.length);\r\n const total = categoryData.length;\r\n\r\n // Show results if there is more than one\r\n if (categoryData && categoryData.length) {\r\n return (\r\n
\r\n \r\n \r\n \r\n
\r\n {/* Results */}\r\n {filteredResults.map((result, index) => this.renderResult(categoryId, result, index))}\r\n\r\n {/* View more Button */}\r\n
\r\n \r\n {categoryData.length >= 2 && (\r\n onViewMore(categoryId)}\r\n >\r\n \r\n \r\n )}\r\n
\r\n
\r\n
\r\n );\r\n }\r\n return null;\r\n });\r\n };\r\n\r\n render() {\r\n const { results, showAdvancedSearch } = this.props;\r\n\r\n let content;\r\n\r\n if (!results.isLoaded) {\r\n content = (\r\n
\r\n \r\n
\r\n );\r\n } else if (results.isNullResults) {\r\n content = (\r\n
\r\n \r\n
\r\n );\r\n } else {\r\n content = this.renderCategories();\r\n }\r\n\r\n return (\r\n
\r\n
{content}
\r\n
\r\n \r\n
\r\n
\r\n );\r\n }\r\n}\r\n","import classNames from 'classnames';\r\nimport PropTypes from 'prop-types';\r\nimport React from 'react';\r\n\r\nimport Icon from 'components/shared/icon';\r\n\r\n/*\r\n * Checkbox\r\n * This is a three state checkbox. The checkbox state is controlled by the 'checked' prop\r\n * The state can be 'checked', 'unchecked' or 'indeterminate'\r\n * When the checkbox state changes, the onChange callback prop is called\r\n * onChange is called with two arguments, the id of the checkbox and the new state\r\n * The id prop should be unique across checkboxes on the page\r\n */\r\nclass Checkbox extends React.Component {\r\n static propTypes = {\r\n checked: PropTypes.oneOf(['checked', 'unchecked', 'indeterminate']),\r\n className: PropTypes.string,\r\n disabled: PropTypes.bool,\r\n id: PropTypes.string.isRequired,\r\n onChange: PropTypes.func,\r\n width: PropTypes.number\r\n };\r\n\r\n static defaultProps = {\r\n width: 18\r\n };\r\n\r\n onClick = event => {\r\n const { disabled, id, checked, onChange } = this.props;\r\n\r\n if (!disabled) {\r\n onChange(id, checked === 'checked' || checked === 'indeterminate' ? 'unchecked' : 'checked');\r\n }\r\n };\r\n\r\n render() {\r\n const { id, checked, className, disabled, width, ...props } = this.props;\r\n let icon;\r\n\r\n if (checked === 'checked') {\r\n icon = disabled ? 'special-checkbox-selected-grey' : 'special-checkbox-selected';\r\n } else if (checked === 'indeterminate') {\r\n icon = disabled ? 'special-checkbox-indeterminated-grey' : 'special-checkbox-indeterminated';\r\n } else {\r\n icon = disabled ? 'special-checkbox-unselected-grey' : 'special-checkbox-unselected';\r\n }\r\n\r\n return (\r\n \r\n \r\n \r\n );\r\n }\r\n}\r\n\r\nexport default Checkbox;\r\n","import { FormattedMessage } from 'react-intl';\r\nimport PropTypes from 'prop-types';\r\nimport React, { Component } from 'react';\r\n\r\nimport Button from 'components/shared/single-click-button';\r\nimport Checkbox from 'components/shared/form/checkbox';\r\nimport { getCurrentRegion } from 'store/api';\r\nimport {\r\n RESULT_CATEGORY_ID_KEYS,\r\n RESULT_CATEGORY_KEYS,\r\n SEARCH_CATEGORIES,\r\n SEARCH_CATEGORY_DISPLAY_NAMES\r\n} from 'components/search/constants';\r\n\r\n// Displays selectable result options\r\nexport default class ResultsContainer extends Component {\r\n static propTypes = {\r\n categoryId: PropTypes.number,\r\n checked: PropTypes.any,\r\n getFoldersSelected: PropTypes.func,\r\n getSearchDocument: PropTypes.func,\r\n getSearchFolder: PropTypes.func,\r\n history: PropTypes.object,\r\n onBlur: PropTypes.func,\r\n onCheckAllChange: PropTypes.func,\r\n onCheckChange: PropTypes.func,\r\n onSearchAll: PropTypes.func,\r\n projectId: PropTypes.string,\r\n results: PropTypes.object\r\n };\r\n\r\n // When a user selects multiple results or a single result\r\n onSearchSelected = () => {\r\n const {\r\n categoryId,\r\n checked,\r\n getFoldersSelected,\r\n getSearchDocument,\r\n getSearchFolder,\r\n onBlur,\r\n onSearchAll,\r\n projectId\r\n } = this.props;\r\n\r\n const selected = [...checked];\r\n const categoryKey = RESULT_CATEGORY_ID_KEYS[categoryId];\r\n\r\n if (categoryId === SEARCH_CATEGORIES.DOCUMENT_NAME) {\r\n // Documents selected\r\n if (selected.length === 1) {\r\n // If one document is selected, go to the document viewer\r\n onBlur();\r\n return this.props.history.push({\r\n pathname: `/region/${getCurrentRegion()}/project/${projectId}/document/${selected[0]}`\r\n });\r\n } else {\r\n onSearchAll(categoryKey, selected);\r\n return getSearchDocument({ documentId: selected });\r\n }\r\n } else if (categoryId === SEARCH_CATEGORIES.FOLDER_NAME) {\r\n if (selected.length === 1) {\r\n // Handle 1 folder selcted\r\n onSearchAll(categoryKey, selected);\r\n return getSearchFolder({ folderId: selected[0] });\r\n } else {\r\n // Handle multiple folders selected\r\n onSearchAll(categoryKey, selected);\r\n // Use the api that returns all the folders in a list and no docs\r\n return getFoldersSelected();\r\n }\r\n } else {\r\n onSearchAll(categoryKey, selected);\r\n return getSearchDocument({ [categoryKey]: selected });\r\n }\r\n };\r\n\r\n render() {\r\n const { categoryId, results, checked, onCheckChange, onCheckAllChange } = this.props;\r\n // Find where user selected view more option from category container\r\n const resultList = results && results[RESULT_CATEGORY_KEYS[categoryId]].data;\r\n\r\n const ids = resultList.map(v => v[RESULT_CATEGORY_ID_KEYS[categoryId]]);\r\n const checkAllState = ids.every(e => checked.has(e)) ? 'checked' : checked.size ? 'indeterminate' : 'unchecked';\r\n\r\n return (\r\n
\r\n
\r\n
\r\n onCheckAllChange(ids)} />\r\n \r\n \r\n \r\n
\r\n
\r\n {resultList &&\r\n resultList.map((result, idx) => {\r\n return (\r\n
\r\n onCheckChange(result[RESULT_CATEGORY_ID_KEYS[categoryId]])}\r\n />\r\n {result.name}\r\n
\r\n );\r\n })}\r\n {resultList.length === 100 && (\r\n
\r\n \r\n
\r\n )}\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n );\r\n }\r\n}\r\n","import { withRouter } from 'react-router';\r\nimport enhanceWithClickOutside from 'react-click-outside';\r\nimport PropTypes from 'prop-types';\r\nimport React, { Component } from 'react';\r\n\r\nimport AdvancedSearch from 'components/search/file-list-search/advanced-search';\r\nimport CategoryContainer from 'components/search/file-list-search/category-container';\r\nimport ResultsContainer from 'components/search/file-list-search/results-container';\r\n\r\nexport class SearchDropdown extends Component {\r\n static propTypes = {\r\n autocomplete: PropTypes.oneOfType([PropTypes.object, PropTypes.array]),\r\n clearResultsData: PropTypes.func,\r\n enableAdvanced: PropTypes.any,\r\n getCurrentSearchFolder: PropTypes.func,\r\n getDocumentResults: PropTypes.func,\r\n getFolderResults: PropTypes.func,\r\n goToAdvancedSearch: PropTypes.func,\r\n history: PropTypes.object,\r\n inputChange: PropTypes.func,\r\n inputValue: PropTypes.string,\r\n isAdvancedSearch: PropTypes.bool,\r\n match: PropTypes.object,\r\n onAdvancedSearch: PropTypes.func,\r\n onAdvancedSearchChange: PropTypes.func,\r\n onBlur: PropTypes.func,\r\n onClickOutside: PropTypes.func,\r\n onReset: PropTypes.func,\r\n onSearch: PropTypes.func,\r\n onSearchAll: PropTypes.func,\r\n projectId: PropTypes.string\r\n };\r\n\r\n static defaultProps = {\r\n onClickOutside: () => {}\r\n };\r\n\r\n state = {\r\n selectedCategory: null,\r\n selectedResults: new Set()\r\n };\r\n\r\n // Making sure we clear out the view more section if a user makes a new search query\r\n UNSAFE_componentWillReceiveProps(nextProps) {\r\n const { autocomplete } = this.props;\r\n\r\n if (autocomplete !== nextProps.autocomplete) {\r\n if (!nextProps.autocomplete.isLoaded) {\r\n this.setState({ selectedCategory: null });\r\n }\r\n }\r\n }\r\n\r\n handleClickOutside = () => {\r\n const { onClickOutside } = this.props;\r\n onClickOutside();\r\n };\r\n\r\n onViewMore = category => {\r\n this.setState({ selectedCategory: category, selectedResults: new Set() });\r\n };\r\n\r\n // When a user selects different results they want to filter on\r\n onCheckChange = result => {\r\n const { selectedResults } = this.state;\r\n\r\n if (selectedResults.has(result)) {\r\n selectedResults.delete(result);\r\n } else {\r\n selectedResults.add(result);\r\n }\r\n\r\n this.setState({ selectedResults });\r\n };\r\n\r\n // When a user wants to select all the options\r\n onCheckAllChange = results => {\r\n const { selectedResults } = this.state;\r\n\r\n if (selectedResults.size === results.length) {\r\n this.setState({ selectedResults: new Set() });\r\n } else {\r\n this.setState({ selectedResults: new Set(results) });\r\n }\r\n };\r\n\r\n // When a user clicks on a single document\r\n getSearchDocument = data => {\r\n const { projectId, getDocumentResults } = this.props;\r\n\r\n return getDocumentResults({ projectId, pageNum: 1, ...data });\r\n };\r\n\r\n // When a user clicks on a single folder\r\n getSearchFolder = data => {\r\n const { projectId, getCurrentSearchFolder } = this.props;\r\n\r\n return getCurrentSearchFolder({\r\n projectId,\r\n pageNum: 1,\r\n forceFetch: true,\r\n ...data\r\n });\r\n };\r\n\r\n getFoldersSelected = () => {\r\n const { projectId, getFolderResults } = this.props;\r\n const { selectedResults } = this.state;\r\n\r\n return getFolderResults({\r\n projectId,\r\n pageNum: 1,\r\n folderId: [...selectedResults]\r\n });\r\n };\r\n\r\n render() {\r\n const { selectedResults, selectedCategory } = this.state;\r\n const {\r\n autocomplete,\r\n goToAdvancedSearch,\r\n history,\r\n inputChange,\r\n inputValue,\r\n isAdvancedSearch,\r\n onAdvancedSearch,\r\n onAdvancedSearchChange,\r\n onBlur,\r\n onClickOutside,\r\n onReset,\r\n onSearch,\r\n onSearchAll,\r\n projectId\r\n } = this.props;\r\n\r\n if (isAdvancedSearch) {\r\n return (\r\n
\r\n \r\n
\r\n );\r\n }\r\n\r\n return (\r\n
\r\n \r\n {selectedCategory && (\r\n \r\n )}\r\n
\r\n );\r\n }\r\n}\r\n\r\nexport default withRouter(enhanceWithClickOutside(SearchDropdown));\r\n","import { connect } from 'react-redux';\r\n\r\nimport { clearSearchData } from 'store/search/search-category';\r\nimport {\r\n getCurrentSearchFolder,\r\n getDocumentResults,\r\n getFolderResults,\r\n clearResultsData\r\n} from 'store/search/search-results';\r\nimport SearchDropdown from 'components/search/file-list-search/search-dropdown';\r\n\r\nconst mapStateToProps = ({ data: { currentSearchFolder, search } }) => ({\r\n currentSearchFolder,\r\n search\r\n});\r\n\r\nconst mapDispatchToProps = {\r\n getDocumentResults,\r\n getFolderResults,\r\n clearResultsData,\r\n clearSearchData,\r\n getCurrentSearchFolder\r\n};\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(SearchDropdown);\r\n","import classNames from 'classnames';\r\nimport PropTypes from 'prop-types';\r\nimport React from 'react';\r\n\r\nimport Icon from 'components/shared/icon';\r\n\r\nexport class Radio extends React.Component {\r\n static propTypes = {\r\n className: PropTypes.string,\r\n id: PropTypes.string,\r\n value: PropTypes.any\r\n };\r\n\r\n static contextTypes = {\r\n radioGroup: PropTypes.object\r\n };\r\n\r\n onChange = () => {\r\n const { onChange } = this.context.radioGroup;\r\n onChange(this.props.value);\r\n };\r\n\r\n // Account for values that have type object\r\n // We cant do simple equality comparison\r\n getIconValue = () => {\r\n const { value } = this.props;\r\n const { selectedValue } = this.context.radioGroup;\r\n\r\n if (typeof value === 'object') {\r\n return JSON.stringify(value) === JSON.stringify(selectedValue);\r\n }\r\n\r\n return value === selectedValue;\r\n };\r\n\r\n render() {\r\n const { className, id } = this.props;\r\n\r\n const { name, onChange, selectedValue } = this.context.radioGroup;\r\n\r\n const optional = {};\r\n const icon = this.getIconValue() ? 'special-radiobutton-selected' : 'special-radiobutton-unselected';\r\n\r\n if (selectedValue !== undefined) {\r\n optional.checked = this.getIconValue();\r\n }\r\n\r\n if (typeof onChange === 'function') {\r\n optional.onChange = this.onChange;\r\n }\r\n\r\n return (\r\n
\r\n \r\n \r\n
\r\n );\r\n }\r\n}\r\n\r\nexport class RadioGroup extends React.Component {\r\n static propTypes = {\r\n Component: PropTypes.oneOfType([PropTypes.string, PropTypes.func, PropTypes.object]),\r\n children: PropTypes.node.isRequired,\r\n name: PropTypes.string,\r\n onChange: PropTypes.func,\r\n selectedValue: PropTypes.any\r\n };\r\n\r\n static childContextTypes = {\r\n radioGroup: PropTypes.object\r\n };\r\n\r\n static defaultProps = {\r\n Component: 'div'\r\n };\r\n\r\n getChildContext() {\r\n const { name, selectedValue, onChange } = this.props;\r\n return {\r\n radioGroup: {\r\n name,\r\n selectedValue,\r\n onChange\r\n }\r\n };\r\n }\r\n\r\n render() {\r\n const { Component, name, selectedValue, onChange, children, ...rest } = this.props;\r\n return {children};\r\n }\r\n}\r\n","var _desc, _defs, _g;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport * as React from \"react\";\nfunction SvgEmptyStateComp03(_ref, svgRef) {\n let {\n title,\n titleId,\n ...props\n } = _ref;\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: \"120px\",\n height: \"120px\",\n viewBox: \"0 0 120 120\",\n xmlns: \"http://www.w3.org/2000/svg\",\n xmlnsXlink: \"http://www.w3.org/1999/xlink\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title === undefined ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, \"Group\") : title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _desc || (_desc = /*#__PURE__*/React.createElement(\"desc\", null, \"Created with Sketch.\")), _defs || (_defs = /*#__PURE__*/React.createElement(\"defs\", null)), _g || (_g = /*#__PURE__*/React.createElement(\"g\", {\n id: \"Comparison\",\n stroke: \"none\",\n strokeWidth: 1,\n fill: \"none\",\n fillRule: \"evenodd\"\n }, /*#__PURE__*/React.createElement(\"g\", {\n id: \"cCOMP-01-02-01\",\n transform: \"translate(-1125.000000, -295.000000)\"\n }, /*#__PURE__*/React.createElement(\"g\", {\n id: \"Group-7\",\n transform: \"translate(1003.000000, 48.000000)\"\n }, /*#__PURE__*/React.createElement(\"g\", {\n id: \"Group\",\n transform: \"translate(134.000000, 257.000000)\"\n }, /*#__PURE__*/React.createElement(\"circle\", {\n id: \"Oval-2-Copy-2\",\n fill: \"#FBFBFD\",\n cx: 48,\n cy: 48,\n r: 48\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M30.048,28.432 C30.5600026,28.432 31.0079981,28.6239981 31.392,29.008 C31.7760019,29.3920019 31.968,29.8399974 31.968,30.352 L31.968,40.432 C31.968,40.9440026 31.7760019,41.3919981 31.392,41.776 C31.0079981,42.1600019 30.5600026,42.352 30.048,42.352 L19.968,42.352 C19.4559974,42.352 19.0080019,42.1600019 18.624,41.776 C18.2399981,41.3919981 18.048,40.9440026 18.048,40.432 L18.048,30.352 C18.048,29.8399974 18.2399981,29.3920019 18.624,29.008 C19.0080019,28.6239981 19.4559974,28.432 19.968,28.432 L30.048,28.432 Z M28.032,32.368 L21.984,32.368 L21.984,38.416 L28.032,38.416 L28.032,32.368 Z M40.032,30.352 C40.032,29.8399974 40.2399979,29.3920019 40.656,29.008 C41.0720021,28.6239981 41.5359974,28.432 42.048,28.432 L76.032,28.432 C76.4800022,28.5600006 76.8479986,28.7999982 77.136,29.152 C77.4240014,29.5040018 77.568,29.9199976 77.568,30.4 C77.568,30.8800024 77.4240014,31.2959982 77.136,31.648 C76.8479986,32.0000018 76.4800022,32.2399994 76.032,32.368 L42.048,32.368 C41.4719971,32.368 40.9920019,32.1760019 40.608,31.792 C40.2239981,31.4079981 40.032,30.9280029 40.032,30.352 Z M78.048,40.432 C78.048,40.9440026 77.8400021,41.3919981 77.424,41.776 C77.0079979,42.1600019 76.5440026,42.352 76.032,42.352 L42.048,42.352 C41.5999978,42.2239994 41.2320014,41.9840018 40.944,41.632 C40.6559986,41.2799982 40.512,40.8640024 40.512,40.384 C40.512,39.9039976 40.6559986,39.4880018 40.944,39.136 C41.2320014,38.7839982 41.5999978,38.5440006 42.048,38.416 L76.032,38.416 C76.6080029,38.416 77.0879981,38.6079981 77.472,38.992 C77.8560019,39.3760019 78.048,39.8559971 78.048,40.432 Z M30.048,54.352 C30.5600026,54.352 31.0079981,54.5599979 31.392,54.976 C31.7760019,55.3920021 31.968,55.8559974 31.968,56.368 L31.968,66.352 C31.968,66.8640026 31.7760019,67.3279979 31.392,67.744 C31.0079981,68.1600021 30.5600026,68.368 30.048,68.368 L19.968,68.368 C19.4559974,68.368 19.0080019,68.1600021 18.624,67.744 C18.2399981,67.3279979 18.048,66.8640026 18.048,66.352 L18.048,56.368 C18.048,55.8559974 18.2399981,55.3920021 18.624,54.976 C19.0080019,54.5599979 19.4559974,54.352 19.968,54.352 L30.048,54.352 Z M28.032,58.384 L21.984,58.384 L21.984,64.432 L28.032,64.432 L28.032,58.384 Z M78.048,56.368 C78.048,56.9440029 77.8560019,57.4239981 77.472,57.808 C77.0879981,58.1920019 76.6080029,58.384 76.032,58.384 L42.048,58.384 C41.4719971,58.384 40.9920019,58.1920019 40.608,57.808 C40.2239981,57.4239981 40.032,56.9440029 40.032,56.368 C40.032,55.7919971 40.2239981,55.3120019 40.608,54.928 C40.9920019,54.5439981 41.4719971,54.352 42.048,54.352 L76.032,54.352 C76.6080029,54.352 77.0879981,54.5439981 77.472,54.928 C77.8560019,55.3120019 78.048,55.7919971 78.048,56.368 Z M78.048,66.352 C78.048,66.9280029 77.8560019,67.4079981 77.472,67.792 C77.0879981,68.1760019 76.6080029,68.368 76.032,68.368 L42.048,68.368 C41.5999978,68.2399994 41.2320014,68.0000018 40.944,67.648 C40.6559986,67.2959982 40.512,66.8800024 40.512,66.4 C40.512,65.9199976 40.6559986,65.5040018 40.944,65.152 C41.2320014,64.7999982 41.5999978,64.5600006 42.048,64.432 L76.032,64.432 C76.5440026,64.432 77.0079979,64.6239981 77.424,65.008 C77.8400021,65.3920019 78.048,65.8399974 78.048,66.352 Z\",\n id: \"\\\\uE858\",\n fill: \"#00A3E0\"\n })))))));\n}\nconst ForwardRef = /*#__PURE__*/React.forwardRef(SvgEmptyStateComp03);\nexport default __webpack_public_path__ + \"static/media/empty_state_comp_03.cf94dd567a3250a3c86b4daff00bb1c6.svg\";\nexport { ForwardRef as ReactComponent };","import { FormattedMessage } from 'react-intl';\r\nimport classNames from 'classnames';\r\nimport PropTypes from 'prop-types';\r\nimport React, { Component } from 'react';\r\nimport { KEYSTROKE_MAX_INTERVAL } from './constants';\r\nimport { debounce } from 'underscore';\r\n\r\n/**\r\n * ValidTextField\r\n * Renders a text area with it's own title and handles the validation to\r\n * display an error message.\r\n * @extends Component\r\n **/\r\nexport default class ValidatedTextField extends Component {\r\n static propTypes = {\r\n autoFocus: PropTypes.bool,\r\n className: PropTypes.string,\r\n debounce: PropTypes.bool,\r\n errors: PropTypes.any,\r\n headingId: PropTypes.string.isRequired,\r\n isValid: PropTypes.any,\r\n maxLength: PropTypes.string.isRequired,\r\n onBlur: PropTypes.func,\r\n onChange: PropTypes.func.isRequired,\r\n onFocus: PropTypes.func,\r\n onKeyDown: PropTypes.func,\r\n onKeyUp: PropTypes.func,\r\n onValid: PropTypes.func,\r\n placeholder: PropTypes.string,\r\n value: PropTypes.string\r\n };\r\n\r\n state = {\r\n value: this.props.value || '',\r\n isFirstTime: !this.props.value,\r\n isDirty: false\r\n };\r\n\r\n /**\r\n * Updates the value if it's valid and triggers the onValid function\r\n */\r\n updateValue = () => {\r\n const { onChange, maxLength, onValid } = this.props;\r\n const currentValue = this.state.value;\r\n if (currentValue && currentValue.length && currentValue.length <= maxLength) {\r\n onChange(currentValue);\r\n }\r\n\r\n onValid();\r\n };\r\n\r\n componentDidUpdate = (prevProps, prevState) => {\r\n if (prevProps.value !== this.props.value) {\r\n this.setState({ value: this.props.value, isFirstTime: false, isDirty: this.props.value !== '' });\r\n } else if (prevState.value !== this.state.value) {\r\n const shouldDebounce = this.props.debounce;\r\n if (shouldDebounce) {\r\n //underscore's debounce returns a debounceable fucntion, that's the one being invoked\r\n debounce(this.updateValue, KEYSTROKE_MAX_INTERVAL)();\r\n } else {\r\n this.updateValue(this.state.value);\r\n }\r\n }\r\n };\r\n\r\n /** Handles the change event of the input\r\n * @param {event} e onChange event\r\n * @param {object} e.target event target\r\n */\r\n onChange = ({ target }) => {\r\n this.setState({ value: target.value, isFirstTime: false, isDirty: target.value !== '' });\r\n };\r\n\r\n onBlur = () => {\r\n this.setState({ isFirstTime: false, isDirty: this.state.value !== '' }, this.updateValue);\r\n };\r\n\r\n onInvalid = e => e.preventDefault();\r\n\r\n render() {\r\n const { id, className, errors, headingId, maxLength, placeholder, isValid } = this.props;\r\n const { isFirstTime, value } = this.state;\r\n const isFieldValid = !errors || isFirstTime || (!isFirstTime && !!value && isValid);\r\n return (\r\n
\r\n \r\n \r\n \r\n \r\n \r\n {!isFieldValid ? errors : ''}\r\n \r\n
\r\n );\r\n }\r\n}\r\n","export const KEYSTROKE_MAX_INTERVAL = 300; //0.3s\r\n","import { chain } from 'underscore';\r\nimport PropTypes from 'prop-types';\r\nimport React, { Component } from 'react';\r\n\r\nimport { createComparison, validateComparisonName } from 'store/api';\r\nimport { FormattedMessage } from 'react-intl';\r\nimport { Radio, RadioGroup } from 'components/shared/form/radio';\r\nimport { withRouter } from 'react-router';\r\nimport createEmptyStateImage from 'images/empty_state_comp_03.svg';\r\nimport Button from 'components/shared/single-click-button';\r\nimport ValidatedTextField from 'components/shared/form/validated-text-field';\r\nimport { addNotification } from 'store/notifications.js';\r\nimport store from 'store/store';\r\n\r\nclass CompareSidebarCreate extends Component {\r\n static propTypes = {\r\n comparedDocumentsList: PropTypes.array.isRequired,\r\n onSubmit: PropTypes.func.isRequired,\r\n projectId: PropTypes.string.isRequired\r\n };\r\n\r\n state = {\r\n baseDocument: null,\r\n comparisonName: '',\r\n isProcessing: false,\r\n isFormValid: false,\r\n isDuplicated: false,\r\n compareType: 'document'\r\n };\r\n\r\n componentDidUpdate(prevProps) {\r\n const { comparedDocumentsList } = this.props;\r\n const { baseDocument, comparisonName } = this.state;\r\n // Need to ensure that the chosen baseDocument is still in the list of\r\n // compared documents.\r\n if (baseDocument && comparedDocumentsList.length && comparedDocumentsList !== prevProps.comparedDocumentsList) {\r\n if (\r\n !chain(comparedDocumentsList)\r\n .findWhere({ projectItemId: baseDocument.projectItemId })\r\n .value()\r\n ) {\r\n this.setState({\r\n baseDocument: null,\r\n comparisonName: this.nameFieldRef.current.state.isDirty ? comparisonName : ''\r\n });\r\n }\r\n }\r\n }\r\n\r\n onComparisonNameChange = newValue => {\r\n this.setState({\r\n isDuplicated: false,\r\n comparisonName: newValue\r\n });\r\n };\r\n\r\n onComparisonNameBlur = event => {\r\n const { baseDocument, comparisonName } = this.state;\r\n\r\n if (!comparisonName || comparisonName.length === 0) {\r\n this.setState({\r\n comparisonName: baseDocument ? baseDocument.itemName : ''\r\n });\r\n }\r\n };\r\n\r\n onBaseDocumentChange = value => {\r\n const { comparisonName } = this.state;\r\n this.setState({\r\n comparisonName: this.nameFieldRef.current.state.isDirty ? comparisonName : value.itemName,\r\n baseDocument: value\r\n });\r\n };\r\n\r\n onSubmit = event => {\r\n const { comparisonName, baseDocument } = this.state;\r\n const { comparedDocumentsList, projectId, onSubmit } = this.props;\r\n\r\n event.preventDefault();\r\n\r\n this.setState({ isProcessing: true });\r\n createComparison({\r\n baseEntityId: baseDocument.projectItemId,\r\n comparisonName,\r\n documentIds: comparedDocumentsList\r\n .map(document => document.projectItemId)\r\n .filter(projectItemId => projectItemId !== baseDocument.projectItemId),\r\n projectId\r\n })\r\n .then(response => {\r\n this.setState({ isProcessing: false });\r\n if (response.data.processingEntitiesCount) {\r\n store.dispatch(\r\n addNotification({\r\n message: ,\r\n clearOnPageChange: true,\r\n autohide: 10\r\n })\r\n );\r\n }\r\n onSubmit(response.data.documentComparisonId);\r\n })\r\n .catch(() => {\r\n this.setState({ isProcessing: false });\r\n });\r\n };\r\n\r\n setFormRef = elem => {\r\n this.formElem = elem;\r\n };\r\n\r\n nameFieldRef = React.createRef();\r\n\r\n validateForm = () => {\r\n if (this.formElem) {\r\n let isFormValid = this.formElem.checkValidity ? this.formElem.checkValidity() : true;\r\n const { projectId } = this.props;\r\n const { comparisonName } = this.state;\r\n if (isFormValid) {\r\n validateComparisonName({ projectId, comparisonName }).then(response => {\r\n const { isNonduplicateName, isValidFormat, isValidLength } = response.data;\r\n const isDuplicated = !isNonduplicateName;\r\n isFormValid = isFormValid && isValidFormat && isValidLength && isNonduplicateName;\r\n this.setState({ isFormValid, isDuplicated });\r\n });\r\n } else {\r\n this.setState({ isFormValid });\r\n }\r\n }\r\n };\r\n\r\n render() {\r\n const { comparedDocumentsList } = this.props;\r\n const { baseDocument, comparisonName, isProcessing, isFormValid, isDuplicated } = this.state;\r\n\r\n if (!comparedDocumentsList.length) {\r\n return (\r\n
\r\n \"no\r\n

\r\n \r\n

\r\n

\r\n \r\n
\r\n \r\n

\r\n
\r\n );\r\n }\r\n\r\n return (\r\n \r\n
\r\n

\r\n \r\n

\r\n
\r\n \r\n }\r\n isValid={!isFormValid && !isDuplicated}\r\n headingId=\"guided-template.template-name\"\r\n maxLength=\"140\"\r\n onChange={this.onComparisonNameChange}\r\n onValid={this.validateForm}\r\n value={comparisonName}\r\n ref={this.nameFieldRef}\r\n />\r\n
\r\n \r\n {comparedDocumentsList.map((document, index) => (\r\n
\r\n \r\n \r\n {document.itemName}\r\n \r\n
\r\n ))}\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n \r\n );\r\n }\r\n}\r\n\r\nexport default withRouter(CompareSidebarCreate);\r\n","var _desc, _g;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport * as React from \"react\";\nfunction SvgEmptyStateComp02(_ref, svgRef) {\n let {\n title,\n titleId,\n ...props\n } = _ref;\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: \"120px\",\n height: \"120px\",\n viewBox: \"0 0 120 120\",\n xmlns: \"http://www.w3.org/2000/svg\",\n xmlnsXlink: \"http://www.w3.org/1999/xlink\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title === undefined ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, \"Group\") : title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _desc || (_desc = /*#__PURE__*/React.createElement(\"desc\", null, \"Created with Sketch.\")), _g || (_g = /*#__PURE__*/React.createElement(\"g\", {\n id: \"Comparison\",\n stroke: \"none\",\n strokeWidth: 1,\n fill: \"none\",\n fillRule: \"evenodd\"\n }, /*#__PURE__*/React.createElement(\"g\", {\n id: \"cCOMP-01-02-04\",\n transform: \"translate(-1125.000000, -295.000000)\"\n }, /*#__PURE__*/React.createElement(\"g\", {\n id: \"Group-15\",\n transform: \"translate(1003.000000, 48.000000)\"\n }, /*#__PURE__*/React.createElement(\"g\", {\n id: \"Group\",\n transform: \"translate(134.000000, 257.000000)\"\n }, /*#__PURE__*/React.createElement(\"circle\", {\n id: \"Oval-2-Copy-2\",\n fill: \"#FBFBFD\",\n cx: 48,\n cy: 48,\n r: 48\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M20.352,37.36 C20.352,36.7839971 20.5119984,36.3200018 20.832,35.968 C21.1520016,35.6159982 21.5999971,35.44 22.176,35.44 L69.408,35.44 L65.184,31.216 C64.7999981,30.8319981 64.608,30.4000024 64.608,29.92 C64.608,29.4399976 64.7999981,29.0080019 65.184,28.624 C65.5680019,28.2399981 65.9999976,28.048 66.48,28.048 C66.9600024,28.048 67.3919981,28.2399981 67.776,28.624 L75.168,36.016 C75.4240013,36.2720013 75.552,36.4639994 75.552,36.592 C75.744001,36.9760019 75.744001,37.4559971 75.552,38.032 L75.168,38.608 L67.776,46 C67.3919981,46.3840019 66.9600024,46.576 66.48,46.576 C65.9999976,46.576 65.5680019,46.3840019 65.184,46 C64.7999981,45.6159981 64.608,45.1840024 64.608,44.704 C64.608,44.2239976 64.7999981,43.7920019 65.184,43.408 L69.408,39.184 L22.176,39.184 C21.5999971,39.184 21.1520016,39.0080018 20.832,38.656 C20.5119984,38.3039982 20.352,37.8720026 20.352,37.36 Z M73.824,57.616 C74.4000029,57.616 74.8639982,57.7759984 75.216,58.096 C75.5680018,58.4160016 75.744,58.8639971 75.744,59.44 C75.744,60.0160029 75.5680018,60.4799982 75.216,60.832 C74.8639982,61.1840018 74.4000029,61.36 73.824,61.36 L26.592,61.36 L30.816,65.584 C31.2000019,65.9040016 31.392,66.3199974 31.392,66.832 C31.392,67.3440026 31.2160018,67.7759982 30.864,68.128 C30.5119982,68.4800018 30.0640027,68.656 29.52,68.656 C28.9759973,68.656 28.5440016,68.4960016 28.224,68.176 L20.832,60.784 C20.7679997,60.7199997 20.7040003,60.6240006 20.64,60.496 L20.544,60.208 C20.351999,59.5679968 20.351999,59.0880016 20.544,58.768 C20.544,58.575999 20.639999,58.384001 20.832,58.192 L28.224,50.8 C28.6080019,50.4159981 29.0399976,50.224 29.52,50.224 C30.0000024,50.224 30.4319981,50.4159981 30.816,50.8 C31.2000019,51.1840019 31.392,51.6159976 31.392,52.096 C31.392,52.5760024 31.2000019,53.0079981 30.816,53.392 L26.592,57.616 L73.824,57.616 Z\",\n id: \"\\\\uEB11\",\n fill: \"#00A3E0\"\n })))))));\n}\nconst ForwardRef = /*#__PURE__*/React.forwardRef(SvgEmptyStateComp02);\nexport default __webpack_public_path__ + \"static/media/empty_state_comp_02.ab3dce7b4d93a79c4563b0c8d35c9afe.svg\";\nexport { ForwardRef as ReactComponent };","import { chain } from 'underscore';\r\nimport { Link } from 'react-router-dom';\r\nimport classNames from 'classnames';\r\nimport PropTypes from 'prop-types';\r\nimport React, { Component } from 'react';\r\n\r\nimport { FormattedMessage } from 'react-intl';\r\nimport { ITEM_TYPES, ITEM_STATUSES } from 'models/project-item';\r\nimport { Radio, RadioGroup } from 'components/shared/form/radio';\r\nimport { updateComparison, getFolder, getCurrentRegion } from 'store/api';\r\nimport CompareSidebarCreate from 'components/file-browser/compare-sidebar/compare-sidebar-create';\r\nimport comparisonsEmptyStateImage from 'images/empty_state_comp_02.svg';\r\nimport Icon from 'components/shared/icon';\r\nimport Button from 'components/shared/single-click-button';\r\nimport { COMPARISON_STATUSES } from 'models/comparison-sets';\r\nimport { addNotification } from 'store/notifications.js';\r\nimport store from 'store/store';\r\n\r\nconst COMPARE_TABS = {\r\n COMPARISONS: 'COMPARISONS',\r\n CREATE: 'CREATE'\r\n};\r\n\r\nclass Comparisons extends Component {\r\n static propTypes = {\r\n comparedDocumentsList: PropTypes.array.isRequired,\r\n comparisons: PropTypes.array.isRequired,\r\n onSubmit: PropTypes.func.isRequired,\r\n projectId: PropTypes.string.isRequired\r\n };\r\n\r\n state = {\r\n selectedComparison: null,\r\n isProcessing: false\r\n };\r\n\r\n onComparisonChange = comparison => {\r\n this.setState({\r\n selectedComparison: comparison\r\n });\r\n };\r\n\r\n onSubmit = event => {\r\n const { selectedComparison } = this.state;\r\n const { comparedDocumentsList, onSubmit, projectId } = this.props;\r\n\r\n event.preventDefault();\r\n\r\n this.setState({ isProcessing: true });\r\n updateComparison({ projectId, comparison: selectedComparison, comparedDocuments: comparedDocumentsList })\r\n .then(response => {\r\n if (response.data.processingEntitiesCount) {\r\n store.dispatch(\r\n addNotification({\r\n message: ,\r\n clearOnPageChange: true,\r\n autohide: 10\r\n })\r\n );\r\n }\r\n onSubmit(selectedComparison.comparisonId);\r\n })\r\n .then(() => {\r\n this.setState({ isProcessing: false });\r\n })\r\n .catch(() => {\r\n this.setState({ isProcessing: false });\r\n });\r\n };\r\n\r\n render() {\r\n const { selectedComparison, isProcessing } = this.state;\r\n const { comparedDocumentsList, comparisons, projectId } = this.props;\r\n\r\n if (!comparisons.length) {\r\n return (\r\n
\r\n \"no\r\n

\r\n \r\n

\r\n

\r\n \r\n
\r\n \r\n

\r\n
\r\n );\r\n }\r\n if (!comparedDocumentsList.length) {\r\n return (\r\n
\r\n {comparisons.map((comparison, index) => (\r\n
\r\n \r\n {comparison.comparisonName}\r\n \r\n
\r\n ))}\r\n
\r\n );\r\n }\r\n\r\n return (\r\n
\r\n
\r\n

\r\n \r\n

\r\n
\r\n
\r\n \r\n {comparisons\r\n .filter(comparison => comparison.comparisonStateId !== COMPARISON_STATUSES.ERROR)\r\n .map((comparison, index) => (\r\n
\r\n \r\n \r\n {comparison.comparisonName}\r\n \r\n
\r\n ))}\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n );\r\n }\r\n}\r\n\r\nclass CompareSidebar extends Component {\r\n static propTypes = {\r\n comparisonSets: PropTypes.object.isRequired,\r\n loadComparisonSets: PropTypes.func.isRequired,\r\n onCloseClick: PropTypes.func.isRequired,\r\n onSubmitAddToComparison: PropTypes.func.isRequired,\r\n onSubmitCreateComparison: PropTypes.func.isRequired,\r\n projectId: PropTypes.string.isRequired,\r\n selectedItems: PropTypes.array.isRequired\r\n };\r\n\r\n state = {\r\n currentTab: COMPARE_TABS.COMPARISONS,\r\n comparedDocuments: {}\r\n };\r\n\r\n componentDidMount() {\r\n const { loadComparisonSets, projectId } = this.props;\r\n loadComparisonSets({ projectId });\r\n this.updateComparedDocuments();\r\n }\r\n\r\n componentDidUpdate(prevProps) {\r\n const { comparisonSets, loadComparisonSets, projectId, selectedItems } = this.props;\r\n\r\n if (!comparisonSets.isLoading && !comparisonSets.error && !comparisonSets.comparisons) {\r\n loadComparisonSets({ projectId });\r\n }\r\n\r\n if (prevProps.selectedItems !== selectedItems) {\r\n this.updateComparedDocuments();\r\n }\r\n }\r\n\r\n updateComparedDocuments = () => {\r\n const { projectId, selectedItems } = this.props;\r\n const { comparedDocuments } = this.state;\r\n\r\n const nextComparedDocuments = {};\r\n\r\n selectedItems.forEach(selectedItem => {\r\n const { projectItemId } = selectedItem;\r\n\r\n // If the entry already exists, use the existing version\r\n // Prevents documents from previously selected folders from disappearing when selecting additional folders\r\n if (comparedDocuments[projectItemId]) {\r\n nextComparedDocuments[projectItemId] = comparedDocuments[projectItemId];\r\n }\r\n\r\n if (selectedItem.itemTypeId === ITEM_TYPES.FOLDER) {\r\n // If the item is a folder, fetch all the documents in the folder\r\n getFolder({\r\n projectId,\r\n folderId: projectItemId,\r\n recursive: true\r\n }).then(response => {\r\n // Merge in the documents from the folder\r\n this.setState({\r\n comparedDocuments: {\r\n ...this.state.comparedDocuments,\r\n [projectItemId]: response.data.filter(\r\n item =>\r\n item.itemStateId === ITEM_STATUSES.PROCESSED ||\r\n item.itemStateId === ITEM_STATUSES.REPROCESSINGREQUIRED ||\r\n item.itemStateId === ITEM_STATUSES.READYFORVERIFICATION\r\n )\r\n }\r\n });\r\n });\r\n } else {\r\n nextComparedDocuments[projectItemId] = selectedItem;\r\n }\r\n });\r\n\r\n this.setState({\r\n comparedDocuments: nextComparedDocuments\r\n });\r\n };\r\n\r\n onComparisonsTabClick = () => {\r\n this.setState({\r\n currentTab: COMPARE_TABS.COMPARISONS\r\n });\r\n };\r\n\r\n onCreateTabClick = () => {\r\n this.setState({\r\n currentTab: COMPARE_TABS.CREATE\r\n });\r\n };\r\n\r\n onSubmitAddToComparison = data => {\r\n const { onSubmitAddToComparison } = this.props;\r\n onSubmitAddToComparison(data);\r\n };\r\n\r\n onSubmitCreateComparison = data => {\r\n const { onSubmitCreateComparison } = this.props;\r\n onSubmitCreateComparison(data);\r\n };\r\n\r\n render() {\r\n const { onCloseClick, comparisonSets, projectId } = this.props;\r\n const { comparedDocuments, currentTab } = this.state;\r\n\r\n const comparedDocumentsList = chain(Object.values(comparedDocuments))\r\n .flatten()\r\n .sort((a, b) => a.itemName.localeCompare(b.itemName))\r\n .value();\r\n\r\n if (comparisonSets.isLoading) {\r\n return (\r\n
\r\n
\r\n \r\n

\r\n \r\n

\r\n
\r\n
\r\n );\r\n }\r\n\r\n if (!Array.isArray(comparisonSets.comparisons) || comparisonSets.error) {\r\n return null;\r\n }\r\n\r\n return (\r\n
\r\n
\r\n

\r\n \r\n

\r\n \r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n {currentTab === COMPARE_TABS.COMPARISONS && (\r\n \r\n )}\r\n {currentTab === COMPARE_TABS.CREATE && (\r\n \r\n )}\r\n
\r\n
\r\n );\r\n }\r\n}\r\n\r\nexport default CompareSidebar;\r\n","import { connect } from 'react-redux';\r\n\r\nimport { loadComparisonSets } from 'store/comparison-sets';\r\nimport CompareSidebar from 'components/file-browser/compare-sidebar/compare-sidebar.js';\r\n\r\nconst mapStateToProps = ({ data: { comparisonSets } }) => ({\r\n comparisonSets\r\n});\r\n\r\nconst mapDispatchToProps = {\r\n loadComparisonSets\r\n};\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(CompareSidebar);\r\n","var _desc, _defs, _g;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport * as React from \"react\";\nfunction SvgEmptyStateNoResultFound(_ref, svgRef) {\n let {\n title,\n titleId,\n ...props\n } = _ref;\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: \"180px\",\n height: \"167px\",\n viewBox: \"0 0 180 167\",\n xmlns: \"http://www.w3.org/2000/svg\",\n xmlnsXlink: \"http://www.w3.org/1999/xlink\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title === undefined ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, \"empty_state_no_result_found\") : title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _desc || (_desc = /*#__PURE__*/React.createElement(\"desc\", null, \"Created with Sketch.\")), _defs || (_defs = /*#__PURE__*/React.createElement(\"defs\", null, /*#__PURE__*/React.createElement(\"rect\", {\n id: \"path-1\",\n x: 0,\n y: 0,\n width: 913,\n height: 373,\n rx: 2\n }), /*#__PURE__*/React.createElement(\"filter\", {\n x: \"-0.8%\",\n y: \"-1.3%\",\n width: \"101.5%\",\n height: \"103.8%\",\n filterUnits: \"objectBoundingBox\",\n id: \"filter-2\"\n }, /*#__PURE__*/React.createElement(\"feOffset\", {\n dx: 0,\n dy: 2,\n in: \"SourceAlpha\",\n result: \"shadowOffsetOuter1\"\n }), /*#__PURE__*/React.createElement(\"feGaussianBlur\", {\n stdDeviation: 2,\n in: \"shadowOffsetOuter1\",\n result: \"shadowBlurOuter1\"\n }), /*#__PURE__*/React.createElement(\"feColorMatrix\", {\n values: \"0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.12 0\",\n type: \"matrix\",\n in: \"shadowBlurOuter1\"\n })), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M5,-0.000189978603 L64.1749175,-0.000189978603 C66.9363413,-0.000189978603 69.1749175,2.23838627 69.1749175,4.99981002 L69.1749175,92.4767541 C69.1749175,95.2381779 66.9363413,97.4767541 64.1749175,97.4767541 L5,97.4767541 C2.23857625,97.4767541 3.38176876e-16,95.2381779 0,92.4767541 L0,4.99981002 C-3.38176876e-16,2.23838627 2.23857625,-0.000189978603 5,-0.000189978603 Z\",\n id: \"path-3\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M4.99998439,-0.000177727707 L57.9273557,1.949374e-11 C60.1364898,6.89695383e-06 61.9273432,1.79086588 61.9273432,4 L61.9273557,21.6821429 C61.9273557,24.4435666 64.1659319,26.6821429 66.9273557,26.6821429 L88,26.6821429 C90.209139,26.6821429 92,28.4730039 92,30.6821429 L92,119 C92,121.761424 89.7614237,124 87,124 L4.99998439,124 C2.23856064,124 -1.56100181e-05,121.761424 -1.56100181e-05,119 L-3.12200336e-05,4.99980666 C-3.12200336e-05,2.23838291 2.23854503,-0.000193337747 4.99996878,-0.000193337747 C4.99997398,-0.000193337747 4.99997919,-0.000193337739 4.99998439,-0.000193337722 Z\",\n id: \"path-4\"\n }), /*#__PURE__*/React.createElement(\"circle\", {\n id: \"path-5\",\n cx: 40,\n cy: 40,\n r: 40\n }), /*#__PURE__*/React.createElement(\"circle\", {\n id: \"path-6\",\n cx: 39.5,\n cy: 39.5,\n r: 28.5\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M71.6370869,65 L95.266657,88.62957 C95.9158373,89.2787503 95.9158373,90.3312796 95.266657,90.9804599 L90.5648773,95.6822395 C89.915697,96.3314198 88.8631678,96.3314198 88.2139875,95.6822395 L65,72.468252 L71.6370869,65 Z\",\n id: \"path-7\"\n }))), _g || (_g = /*#__PURE__*/React.createElement(\"g\", {\n id: \"Search-test\",\n stroke: \"none\",\n strokeWidth: 1,\n fill: \"none\",\n fillRule: \"evenodd\"\n }, /*#__PURE__*/React.createElement(\"g\", {\n id: \"Group-38\",\n transform: \"translate(-360.000000, -35.000000)\"\n }, /*#__PURE__*/React.createElement(\"g\", {\n id: \"Rectangle-8\"\n }, /*#__PURE__*/React.createElement(\"use\", {\n fill: \"black\",\n fillOpacity: 1,\n filter: \"url(#filter-2)\",\n xlinkHref: \"#path-1\"\n }), /*#__PURE__*/React.createElement(\"use\", {\n fill: \"#FFFFFF\",\n fillRule: \"evenodd\",\n xlinkHref: \"#path-1\"\n })), /*#__PURE__*/React.createElement(\"g\", {\n id: \"empty_state_no_result_found\",\n transform: \"translate(359.000000, 34.000000)\"\n }, /*#__PURE__*/React.createElement(\"circle\", {\n id: \"Oval-2-Copy-4\",\n fillOpacity: 0.04,\n fill: \"#00A3E0\",\n cx: 97.5,\n cy: 84.5,\n r: 83.5\n }), /*#__PURE__*/React.createElement(\"g\", {\n id: \"Group-5\",\n transform: \"translate(52.429067, 88.200721) rotate(-25.000000) translate(-52.429067, -88.200721) translate(17.429067, 39.200721)\"\n }, /*#__PURE__*/React.createElement(\"g\", {\n id: \"Rectangle-5-Copy\"\n }, /*#__PURE__*/React.createElement(\"use\", {\n fill: \"#FFFFFF\",\n fillRule: \"evenodd\",\n xlinkHref: \"#path-3\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n stroke: \"#E6E6E6\",\n strokeWidth: 4,\n d: \"M5,1.99981002 C3.34314575,1.99981002 2,3.34295577 2,4.99981002 L2,92.4767541 C2,94.1336084 3.34314575,95.4767541 5,95.4767541 L64.1749175,95.4767541 C65.8317718,95.4767541 67.1749175,94.1336084 67.1749175,92.4767541 L67.1749175,4.99981002 C67.1749175,3.34295577 65.8317718,1.99981002 64.1749175,1.99981002 L5,1.99981002 Z\"\n })), /*#__PURE__*/React.createElement(\"rect\", {\n id: \"Rectangle-8\",\n fill: \"#E6E6E6\",\n x: 7.81637258,\n y: 25.1814166,\n width: 53.1513336,\n height: 4.06151881,\n rx: 2.0307594\n }), /*#__PURE__*/React.createElement(\"rect\", {\n id: \"Rectangle-8-Copy\",\n fill: \"#E6E6E6\",\n x: 7.81637258,\n y: 35.7413655,\n width: 53.1513336,\n height: 4.06151881,\n rx: 2.0307594\n }), /*#__PURE__*/React.createElement(\"rect\", {\n id: \"Rectangle-8-Copy-2\",\n fill: \"#E6E6E6\",\n x: 7.81637258,\n y: 46.3013144,\n width: 53.1513336,\n height: 4.06151881,\n rx: 2.0307594\n }), /*#__PURE__*/React.createElement(\"rect\", {\n id: \"Rectangle-8-Copy-3\",\n fill: \"#E6E6E6\",\n x: 7.81637258,\n y: 56.8612633,\n width: 29.7022158,\n height: 4.06151881,\n rx: 2.0307594\n }), /*#__PURE__*/React.createElement(\"rect\", {\n id: \"Rectangle-8-Copy-5\",\n fill: \"#E6E6E6\",\n x: 7.81637258,\n y: 83.6672874,\n width: 14.8511079,\n height: 4.06151881,\n rx: 2.0307594\n }), /*#__PURE__*/React.createElement(\"rect\", {\n id: \"Rectangle-8-Copy-8\",\n fill: \"#E6E6E6\",\n x: 39.0818629,\n y: 83.6672874,\n width: 21.8858432,\n height: 4.06151881,\n rx: 2.0307594\n }), /*#__PURE__*/React.createElement(\"rect\", {\n id: \"Rectangle-8-Copy-7\",\n fill: \"#E6E6E6\",\n x: 48.46151,\n y: 13.8091639,\n width: 12.5061961,\n height: 4.06151881,\n rx: 2.0307594\n }), /*#__PURE__*/React.createElement(\"rect\", {\n id: \"Rectangle-8-Copy-6\",\n fill: \"#E6E6E6\",\n x: 7.81637258,\n y: 13.8091639,\n width: 34.3920394,\n height: 4.06151881,\n rx: 2.0307594\n })), /*#__PURE__*/React.createElement(\"g\", {\n id: \"Group-Copy-3\",\n transform: \"translate(121.067344, 72.045897) rotate(15.000000) translate(-121.067344, -72.045897) translate(75.067344, 10.045897)\"\n }, /*#__PURE__*/React.createElement(\"g\", {\n id: \"Group-2\"\n }, /*#__PURE__*/React.createElement(\"g\", {\n id: \"Rectangle-5\"\n }, /*#__PURE__*/React.createElement(\"use\", {\n fill: \"#FFFFFF\",\n fillRule: \"evenodd\",\n xlinkHref: \"#path-4\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n stroke: \"#E6E6E6\",\n strokeWidth: 4,\n d: \"M4.99997767,1.99982227 L4.99996878,1.99980666 C3.34311453,1.99980666 1.99996878,3.34295241 1.99996878,4.99980639 L1.99998439,119 C1.99998439,120.656854 3.34313014,122 4.99998439,122 L87,122 C88.6568542,122 90,120.656854 90,119 L90,30.6821429 C90,29.5775734 89.1045695,28.6821429 88,28.6821429 L66.9273557,28.6821429 C63.0613624,28.6821429 59.9273557,25.5481361 59.9273557,21.6821443 L59.9273432,4 C59.9273432,2.89543294 59.0319165,2.00000345 57.927349,2 L4.99997767,1.99982227 Z\"\n })), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M59,2 L90,30\",\n id: \"Line\",\n stroke: \"#E6E6E6\",\n strokeWidth: 4,\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n }), /*#__PURE__*/React.createElement(\"rect\", {\n id: \"Rectangle-8-Copy-4\",\n fill: \"#E6E6E6\",\n x: 11,\n y: 36,\n width: 27,\n height: 5,\n rx: 2.5\n }), /*#__PURE__*/React.createElement(\"rect\", {\n id: \"Rectangle-8-Copy-40\",\n fill: \"#E6E6E6\",\n x: 55,\n y: 36,\n width: 27,\n height: 5,\n rx: 2.5\n }), /*#__PURE__*/React.createElement(\"rect\", {\n id: \"Rectangle-8-Copy-9\",\n fill: \"#E6E6E6\",\n x: 11,\n y: 49,\n width: 45,\n height: 5,\n rx: 2.5\n }), /*#__PURE__*/React.createElement(\"rect\", {\n id: \"Rectangle-8-Copy-49\",\n fill: \"#E6E6E6\",\n x: 64,\n y: 49,\n width: 18,\n height: 5,\n rx: 2.5\n }), /*#__PURE__*/React.createElement(\"rect\", {\n id: \"Rectangle-8-Copy-42\",\n fill: \"#E6E6E6\",\n x: 54,\n y: 62,\n width: 28,\n height: 5,\n rx: 2.5\n }), /*#__PURE__*/React.createElement(\"rect\", {\n id: \"Rectangle-8-Copy-43\",\n fill: \"#E6E6E6\",\n x: 11,\n y: 62,\n width: 37,\n height: 5,\n rx: 2.5\n }), /*#__PURE__*/React.createElement(\"rect\", {\n id: \"Rectangle-8-Copy-15\",\n fill: \"#E6E6E6\",\n x: 31,\n y: 14,\n width: 21,\n height: 5,\n rx: 2.5\n }), /*#__PURE__*/React.createElement(\"rect\", {\n id: \"Rectangle-8-Copy-47\",\n fill: \"#E6E6E6\",\n x: 12,\n y: 11,\n width: 11,\n height: 11,\n rx: 5.5\n })), /*#__PURE__*/React.createElement(\"rect\", {\n id: \"Rectangle-8-Copy-11\",\n fill: \"#E6E6E6\",\n x: 11,\n y: 75,\n width: 49,\n height: 5,\n rx: 2.5\n }), /*#__PURE__*/React.createElement(\"rect\", {\n id: \"Rectangle-8-Copy-12\",\n fill: \"#E6E6E6\",\n x: 11,\n y: 113,\n width: 21,\n height: 5,\n rx: 2.5\n }), /*#__PURE__*/React.createElement(\"rect\", {\n id: \"Rectangle-8-Copy-13\",\n fill: \"#E6E6E6\",\n x: 51,\n y: 113,\n width: 31,\n height: 5,\n rx: 2.5\n })), /*#__PURE__*/React.createElement(\"g\", {\n id: \"Group-36\",\n transform: \"translate(65.000000, 67.000000)\"\n }, /*#__PURE__*/React.createElement(\"g\", {\n id: \"Oval-3\"\n }, /*#__PURE__*/React.createElement(\"use\", {\n fillOpacity: 0.400000006,\n fill: \"#FFFFFF\",\n fillRule: \"evenodd\",\n xlinkHref: \"#path-5\"\n }), /*#__PURE__*/React.createElement(\"circle\", {\n stroke: \"#00A3E0\",\n strokeWidth: 4,\n cx: 40,\n cy: 40,\n r: 38\n })), /*#__PURE__*/React.createElement(\"g\", {\n id: \"Oval-3-Copy-2\"\n }, /*#__PURE__*/React.createElement(\"use\", {\n fillOpacity: 0.400000006,\n fill: \"#FFFFFF\",\n fillRule: \"evenodd\",\n xlinkHref: \"#path-6\"\n }), /*#__PURE__*/React.createElement(\"circle\", {\n stroke: \"#00A3E0\",\n strokeWidth: 4,\n cx: 39.5,\n cy: 39.5,\n r: 26.5\n })), /*#__PURE__*/React.createElement(\"g\", {\n id: \"Rectangle-4\"\n }, /*#__PURE__*/React.createElement(\"use\", {\n fill: \"#FFFFFF\",\n fillRule: \"evenodd\",\n xlinkHref: \"#path-7\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n stroke: \"#00A3E0\",\n strokeWidth: 4,\n d: \"M71.5513005,62.0857864 L96.6808705,87.2153565 C98.1110994,88.6455854 98.1110994,90.9644446 96.6808705,92.3946734 L91.9790909,97.0964531 C90.548862,98.526682 88.2300028,98.526682 86.799774,97.0964531 L62.2524531,72.5491322 L71.5513005,62.0857864 Z\"\n }))))))));\n}\nconst ForwardRef = /*#__PURE__*/React.forwardRef(SvgEmptyStateNoResultFound);\nexport default __webpack_public_path__ + \"static/media/empty_state_no_result_found.7de3b240daea5c8d7eb5fe8a99359cc8.svg\";\nexport { ForwardRef as ReactComponent };","export const EXPORT_FORMATS = {\r\n EXCEL: 0,\r\n PDF: 1,\r\n WORD: 2\r\n};\r\n\r\nexport const EXPORT_LAYOUTS = {\r\n ROW: 0,\r\n COLUMN: 1,\r\n TABLE: 2\r\n};\r\n\r\nexport const EXPORT_QUALITY = {\r\n HIGH: 1,\r\n MEDIUM: 2,\r\n LOW: 3\r\n};\r\n","import PropTypes from 'prop-types';\r\nimport React, { Component } from 'react';\r\nimport { FormattedMessage } from 'react-intl';\r\n\r\nimport Button from 'components/shared/single-click-button';\r\nimport Checkbox from 'components/shared/form/checkbox';\r\nimport Icon from 'components/shared/icon';\r\n\r\nclass TagsList extends Component {\r\n static propTypes = {\r\n onBackClick: PropTypes.func.isRequired,\r\n onCloseClick: PropTypes.func.isRequired,\r\n onSubmit: PropTypes.func.isRequired,\r\n selectedTags: PropTypes.array.isRequired,\r\n tags: PropTypes.array.isRequired\r\n };\r\n\r\n state = {\r\n selectedTags: new Set(this.props.selectedTags)\r\n };\r\n\r\n toggleTagSelection = tag => {\r\n const id = tag.id;\r\n\r\n if (this.state.selectedTags.has(id)) {\r\n this.state.selectedTags.delete(id);\r\n } else {\r\n this.state.selectedTags.add(id);\r\n }\r\n\r\n this.setState({ selectedTags: this.state.selectedTags });\r\n };\r\n\r\n toggleAllTagsSelection = () => {\r\n const { tags } = this.props;\r\n\r\n if (this.state.selectedTags.size === tags.length) {\r\n this.setState({ selectedTags: new Set() });\r\n } else {\r\n const allIds = tags.map(tag => tag.id);\r\n this.setState({ selectedTags: new Set(allIds) });\r\n }\r\n };\r\n\r\n onSubmit = () => {\r\n const { onSubmit } = this.props;\r\n onSubmit(Array.from(this.state.selectedTags.values()));\r\n };\r\n\r\n render() {\r\n const { onBackClick, onCloseClick, tags } = this.props;\r\n const { selectedTags } = this.state;\r\n\r\n let allSelectedStatus;\r\n if (tags.length === selectedTags.size) {\r\n allSelectedStatus = 'checked';\r\n } else if (selectedTags.size === 0) {\r\n allSelectedStatus = 'unchecked';\r\n } else {\r\n allSelectedStatus = 'indeterminate';\r\n }\r\n\r\n return (\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n {tags.map(tag => (\r\n
\r\n \r\n {tag.name}\r\n
\r\n ))}\r\n
\r\n
\r\n \r\n
\r\n
\r\n );\r\n }\r\n}\r\n\r\nexport default TagsList;\r\n","import PropTypes from 'prop-types';\r\nimport React, { Component } from 'react';\r\nimport Icon from 'components/shared/icon';\r\nimport enhanceWithClickOutside from 'react-click-outside';\r\nimport { FormattedMessage } from 'react-intl';\r\n\r\nclass Tooltip extends Component {\r\n static propTypes = {\r\n buttons: PropTypes.any,\r\n closeFunction: PropTypes.func,\r\n confirmFunction: PropTypes.func,\r\n declineFunction: PropTypes.func,\r\n message: PropTypes.oneOfType([PropTypes.string, PropTypes.object]),\r\n title: PropTypes.oneOfType([PropTypes.string, PropTypes.object]),\r\n className: PropTypes.any\r\n };\r\n\r\n componentDidMount() {\r\n if (this.element && this.element.scrollIntoView) {\r\n this.element.scrollIntoView({ behavior: 'smooth', block: 'nearest', inline: 'nearest' });\r\n }\r\n }\r\n\r\n handleClickOutside() {\r\n this.props.closeFunction();\r\n }\r\n\r\n render() {\r\n var { title, message, buttons } = this.props;\r\n var { closeFunction, confirmFunction, declineFunction, className } = this.props;\r\n\r\n return (\r\n
(this.element = e)}>\r\n
\r\n

{title}

\r\n \r\n
\r\n
{message}
\r\n {buttons ? (\r\n
\r\n \r\n \r\n
\r\n ) : null}\r\n
\r\n );\r\n }\r\n}\r\n\r\nexport default enhanceWithClickOutside(Tooltip);\r\n","import PropTypes from 'prop-types';\r\nimport React, { Component } from 'react';\r\nimport Icon from 'components/shared/icon';\r\nimport Constants from 'utils/constants';\r\nimport Tooltip from '../tooltip/tooltip';\r\nimport Button from 'components/shared/single-click-button';\r\nimport { injectIntl, intlShape } from 'react-intl';\r\nimport { startExtractionFieldTraining } from 'store/api';\r\nimport store from 'store/store';\r\nimport { addNotification } from 'store/notifications.js';\r\nimport Permissions from 'permissions/permissions';\r\nimport { FormattedMessage } from 'react-intl';\r\nimport ReactTooltip from 'react-tooltip';\r\n\r\nclass ComplicatedIcon extends Component {\r\n static propTypes = {\r\n accessTypeId: PropTypes.number,\r\n disableInteraction: PropTypes.bool,\r\n extractionId: PropTypes.any,\r\n projectId: PropTypes.any,\r\n iconSize: PropTypes.number,\r\n intl: intlShape.isRequired,\r\n isTrained: PropTypes.any,\r\n isAutomaticExtraction: PropTypes.any,\r\n refreshFunction: PropTypes.func,\r\n trainingCount: PropTypes.number,\r\n trainingTarget: PropTypes.number,\r\n templateCategoryId: PropTypes.number\r\n };\r\n\r\n static defaultProps = {\r\n iconSize: 30\r\n };\r\n\r\n state = {\r\n open: false\r\n };\r\n\r\n toggleFunction = e => {\r\n var { open } = this.state;\r\n var { disableInteraction } = this.props;\r\n\r\n if (disableInteraction) {\r\n return;\r\n }\r\n\r\n this.setState({ open: !open });\r\n };\r\n\r\n closeFunction = e => {\r\n this.setState({ open: false });\r\n };\r\n\r\n confirmFunction = e => {\r\n const { extractionId, projectId } = this.props;\r\n startExtractionFieldTraining(extractionId, [projectId]).then(resp => {\r\n this.props.refreshFunction();\r\n this.showEFTrainingSuccessModal();\r\n });\r\n this.setState({ open: false });\r\n };\r\n\r\n showEFTrainingSuccessModal = () => {\r\n const message = (\r\n \r\n );\r\n store.dispatch(addNotification({ message, clearOnPageChange: true, autohide: 15 }));\r\n };\r\n\r\n isPublic = type => {\r\n return this.props.accessTypeId === Constants.ExtractionAccessTypeIds.public;\r\n };\r\n\r\n getProperties = () => {\r\n var { isTrained, isAutomaticExtraction, trainingCount, trainingTarget, intl, templateCategoryId } = this.props;\r\n\r\n var trainingDiff = trainingTarget - trainingCount;\r\n var isPublic = this.isPublic();\r\n var canRequestTraining = Permissions.Project.ExtractionField.canRequestTraining();\r\n var isGenAITemplates = templateCategoryId == Constants.TemplateCategories.NON_EDITABLE_GENAI_NONDETAIL_TESTING || \r\n templateCategoryId == Constants.TemplateCategories.Custom_GENAI_NONDETAIL_TESTING || \r\n templateCategoryId == Constants.TemplateCategories.NON_EDITABLE_GENAI_DETAIL_TESTING;\r\n\r\n if (isPublic && isTrained && isAutomaticExtraction) {\r\n if (isGenAITemplates) {\r\n return {\r\n state: 1,\r\n title: intl.formatMessage({ id: 'complicated-icon.predefined-field.title' }),\r\n tooltip: intl.formatMessage({ id: 'complicated-icon.predefined-field.title' }),\r\n message: intl.formatMessage({ id: 'complicated-icon.predefined-field.message' }),\r\n icon: 'predefined-field-icon',\r\n buttons: false\r\n };\r\n } else {\r\n //Public Trained Field\r\n return {\r\n state: 1,\r\n title: intl.formatMessage({ id: 'complicated-icon.public-trained.title' }),\r\n tooltip: intl.formatMessage({ id: 'complicated-icon.public-trained.title' }),\r\n message: intl.formatMessage({ id: 'complicated-icon.public-trained.message' }),\r\n icon: 'public-trained',\r\n buttons: false\r\n };\r\n }\r\n } else if (isPublic && (!isTrained || (isTrained && !isAutomaticExtraction))) {\r\n //Public Untrained Field\r\n return {\r\n state: 2,\r\n title: intl.formatMessage({ id: 'complicated-icon.public-untrained.title' }),\r\n tooltip: intl.formatMessage({ id: 'complicated-icon.public-untrained.title' }),\r\n message: intl.formatMessage({ id: 'complicated-icon.public-untrained.updated.message' }),\r\n icon: 'public-grey',\r\n buttons: false\r\n };\r\n } else if (!isPublic && isTrained && isAutomaticExtraction) {\r\n if (isGenAITemplates) \r\n {\r\n return {\r\n state: 3,\r\n title: intl.formatMessage({ id: 'complicated-icon.Custom-Field.title' }),\r\n tooltip: intl.formatMessage({ id: 'complicated-icon.Custom-Field.title' }),\r\n message: intl.formatMessage({ id: 'complicated-icon.Custom-Field.message' }),\r\n icon: 'custom-field-icon',\r\n buttons: false\r\n };\r\n } else {\r\n //Private Trained Field\r\n return {\r\n state: 3,\r\n title: intl.formatMessage({ id: 'complicated-icon.private-trained.title' }),\r\n tooltip: intl.formatMessage({ id: 'complicated-icon.private-trained.title' }),\r\n message:\r\n typeof templateCategoryId !== 'undefined' &&\r\n templateCategoryId != Constants.TemplateCategories.NON_EDITABLE_GENAI_DETAIL_TESTING &&\r\n templateCategoryId != Constants.TemplateCategories.NON_EDITABLE_GENAI_NONDETAIL_TESTING &&\r\n templateCategoryId != Constants.TemplateCategories.Custom_GENAI_NONDETAIL_TESTING\r\n ? canRequestTraining\r\n ? intl.formatMessage({ id: 'complicated-icon.private-trained.message' })\r\n : intl.formatMessage({ id: 'complicated-icon.private-trained-restricted.message' })\r\n : null,\r\n icon: 'private-trained',\r\n buttons: canRequestTraining\r\n };\r\n }\r\n } else if (!isPublic && (!isTrained || (isTrained && !isAutomaticExtraction)) && trainingCount >= trainingTarget) {\r\n //Private Field ready for training\r\n return {\r\n state: 4,\r\n title: intl.formatMessage({ id: 'complicated-icon.private-untrained.title' }),\r\n tooltip: intl.formatMessage({ id: 'complicated-icon.private-untrained.title' }),\r\n message:\r\n typeof templateCategoryId !== 'undefined' && templateCategoryId == 0\r\n ? canRequestTraining\r\n ? intl.formatMessage({ id: 'complicated-icon.private-untrained-no-training.message' })\r\n : intl.formatMessage({ id: 'complicated-icon.private-untrained-restricted.message' })\r\n : null,\r\n icon: 'private-untrained-20',\r\n buttons: false\r\n };\r\n } else if (!isPublic && (!isTrained || (isTrained && !isAutomaticExtraction))) {\r\n //Private Untrained Field\r\n return {\r\n state: 5,\r\n title: intl.formatMessage({ id: 'complicated-icon.private-untrained.title' }),\r\n tooltip: intl.formatMessage({ id: 'complicated-icon.private-untrained.title' }),\r\n message:\r\n typeof templateCategoryId !== 'undefined' && templateCategoryId == 0\r\n ? canRequestTraining\r\n ? intl.formatMessage(\r\n { id: 'complicated-icon.private-untrained-no-training.message' },\r\n { trainingTarget, trainingDiff }\r\n )\r\n : intl.formatMessage({ id: 'complicated-icon.private-untrained-restricted.message' })\r\n : null,\r\n icon: 'private-untrained-' + Math.floor((trainingCount / trainingTarget) * 20),\r\n buttons: false\r\n };\r\n }\r\n };\r\n\r\n render() {\r\n var { open } = this.state;\r\n var { templateCategoryId} = this.props;\r\n\r\n var properties = this.getProperties();\r\n\r\n return (\r\n
e.stopPropagation()}>\r\n \r\n \r\n {templateCategoryId == Constants.TemplateCategories.NON_EDITABLE_GENAI_NONDETAIL_TESTING ? (\r\n \r\n \r\n \r\n ) : null}\r\n \r\n\r\n {open && properties.message != null ? (\r\n \r\n ) : null}\r\n
\r\n );\r\n }\r\n}\r\n\r\nexport default injectIntl(ComplicatedIcon);\r\n","import PropTypes from 'prop-types';\r\nimport React, { Fragment, Component } from 'react';\r\n\r\nimport Checkbox from 'components/shared/form/checkbox';\r\nimport Icon from 'components/shared/icon';\r\nimport ComplicatedIcon from 'components/extractions/complicated-icon/complicated-icon';\r\nimport Button from 'components/shared/single-click-button';\r\n\r\nclass TemplatesList extends Component {\r\n static propTypes = {\r\n selectedFieldsByTemplateId: PropTypes.object.isRequired,\r\n setSelectedFields: PropTypes.func.isRequired,\r\n showTrainingProgress: PropTypes.bool,\r\n templates: PropTypes.array.isRequired\r\n };\r\n\r\n state = {\r\n expandedTemplates: {}\r\n };\r\n\r\n toggleTemplateExpandedState = templateId => {\r\n this.setState({\r\n expandedTemplates: {\r\n ...this.state.expandedTemplates,\r\n [templateId]: !this.state.expandedTemplates[templateId]\r\n }\r\n });\r\n };\r\n\r\n toggleAllFieldsInTemplate = (template, checked) => {\r\n const { selectedFieldsByTemplateId, setSelectedFields } = this.props;\r\n const selectedExtractionFields = selectedFieldsByTemplateId[template.projectTemplateId];\r\n\r\n template.extractionFields.forEach(field => {\r\n if (checked === 'checked') {\r\n selectedExtractionFields.add(field.extractionFieldId);\r\n } else {\r\n selectedExtractionFields.delete(field.extractionFieldId);\r\n }\r\n });\r\n\r\n setSelectedFields(selectedFieldsByTemplateId);\r\n };\r\n\r\n toggleExtractionFieldSelection = (template, extractionFieldId) => {\r\n const { selectedFieldsByTemplateId, setSelectedFields } = this.props;\r\n const selectedExtractionFields = selectedFieldsByTemplateId[template.projectTemplateId];\r\n\r\n if (selectedExtractionFields.has(extractionFieldId)) {\r\n selectedExtractionFields.delete(extractionFieldId);\r\n } else {\r\n selectedExtractionFields.add(extractionFieldId);\r\n }\r\n\r\n setSelectedFields(selectedFieldsByTemplateId);\r\n };\r\n\r\n render() {\r\n const { expandedTemplates } = this.state;\r\n const { selectedFieldsByTemplateId, showTrainingProgress, templates } = this.props;\r\n\r\n return (\r\n
\r\n {templates.map(template => {\r\n const templateId = template.projectTemplateId;\r\n const fields = template.extractionFields || [];\r\n const isExpanded = expandedTemplates[templateId];\r\n const selectedFields = selectedFieldsByTemplateId[templateId] || new Set();\r\n\r\n const checkAllState = !selectedFields.size\r\n ? 'unchecked'\r\n : selectedFields.size === fields.length\r\n ? 'checked'\r\n : 'indeterminate';\r\n\r\n return (\r\n \r\n
\r\n {\r\n this.toggleAllFieldsInTemplate(template, checked);\r\n }}\r\n disabled={!fields.length}\r\n />\r\n
{template.name}
\r\n {!!fields.length && (\r\n this.toggleTemplateExpandedState(templateId)}\r\n >\r\n \r\n \r\n )}\r\n
\r\n {isExpanded &&\r\n fields.map(field => {\r\n return (\r\n
\r\n {\r\n this.toggleExtractionFieldSelection(template, field.extractionFieldId);\r\n }}\r\n />\r\n
{field.extractionFieldName}
\r\n {showTrainingProgress && (\r\n \r\n )}\r\n
\r\n );\r\n })}\r\n
\r\n );\r\n })}\r\n
\r\n );\r\n }\r\n}\r\n\r\nexport default TemplatesList;\r\n","import PropTypes from 'prop-types';\r\nimport React, { Component } from 'react';\r\nimport { FormattedMessage } from 'react-intl';\r\n\r\nimport TemplatesList from 'components/shared/templates-list/templates-list';\r\nimport Icon from 'components/shared/icon';\r\nimport { chain } from 'underscore';\r\nimport Button from 'components/shared/single-click-button';\r\n\r\nclass ExportSidebarTemplatesList extends Component {\r\n static propTypes = {\r\n onBackClick: PropTypes.func.isRequired,\r\n onCloseClick: PropTypes.func.isRequired,\r\n onSubmit: PropTypes.func.isRequired,\r\n selectedFieldsByTemplateId: PropTypes.object.isRequired,\r\n templates: PropTypes.array.isRequired\r\n };\r\n\r\n state = {\r\n selectedFieldsByTemplateId: chain(this.props.selectedFieldsByTemplateId)\r\n .mapObject(val => new Set(val))\r\n .value()\r\n };\r\n\r\n componentDidUpdate(prevProps) {\r\n if (prevProps.templates !== this.props.templates) {\r\n // select all extraction fields in new incoming templates\r\n const selectedFieldsByTemplateId = chain(this.props.templates)\r\n .map(template => {\r\n const { projectTemplateId } = template;\r\n const selectedExtractionFields = this.state.selectedFieldsByTemplateId[projectTemplateId];\r\n\r\n return [\r\n projectTemplateId,\r\n selectedExtractionFields || new Set(template.extractionFields.map(field => field.extractionFieldId))\r\n ];\r\n })\r\n .object()\r\n .value();\r\n\r\n this.setState({ selectedFieldsByTemplateId });\r\n }\r\n }\r\n\r\n setSelectedFields = selectedFieldsByTemplateId => {\r\n this.setState({\r\n selectedFieldsByTemplateId\r\n });\r\n };\r\n\r\n onSubmit = () => {\r\n const { onSubmit } = this.props;\r\n const { selectedFieldsByTemplateId } = this.state;\r\n onSubmit(selectedFieldsByTemplateId);\r\n };\r\n\r\n render() {\r\n const { onBackClick, onCloseClick, templates } = this.props;\r\n const { selectedFieldsByTemplateId } = this.state;\r\n\r\n // Total number of selected extraction fields across all templates\r\n const numSelectedFields = Object.values(selectedFieldsByTemplateId).reduce(\r\n (sum, selectedExtractionFields) => sum + selectedExtractionFields.size,\r\n 0\r\n );\r\n\r\n return (\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n
\r\n {!numSelectedFields && (\r\n
\r\n \r\n
\r\n )}\r\n \r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n );\r\n }\r\n}\r\n\r\nexport default ExportSidebarTemplatesList;\r\n","import { FormattedMessage, injectIntl, intlShape } from 'react-intl';\r\nimport PropTypes from 'prop-types';\r\nimport React, { Component } from 'react';\r\n\r\nimport { EXPORT_FORMATS, EXPORT_LAYOUTS } from 'components/file-browser/export-sidebar/constants';\r\nimport { ITEM_TYPES, ITEM_STATUSES } from 'models/project-item';\r\nimport { RadioGroup, Radio } from 'components/shared/form/radio';\r\nimport emptyStateImage from 'images/empty_state_comp_03.svg';\r\nimport Icon from 'components/shared/icon';\r\nimport Switch from 'components/shared/form/switch';\r\nimport TagsList from 'components/file-browser/export-sidebar/export-sidebar-tags-list';\r\nimport TemplatesList from 'components/file-browser/export-sidebar/export-sidebar-templates-list';\r\nimport Button from 'components/shared/single-click-button';\r\n\r\nclass Create extends Component {\r\n static propTypes = {\r\n currentFolder: PropTypes.object.isRequired,\r\n currentProject: PropTypes.object.isRequired,\r\n format: PropTypes.number.isRequired,\r\n intl: intlShape,\r\n isDownloadPerDocument: PropTypes.bool.isRequired,\r\n layout: PropTypes.number.isRequired,\r\n onCloseClick: PropTypes.func.isRequired,\r\n onFormatChange: PropTypes.func.isRequired,\r\n onLayoutChange: PropTypes.func.isRequired,\r\n onQualityChange: PropTypes.func.isRequired,\r\n onSubmit: PropTypes.func.isRequired,\r\n projectId: PropTypes.string.isRequired,\r\n quality: PropTypes.number.isRequired,\r\n selectedFieldsByTemplateId: PropTypes.object.isRequired,\r\n selectedItems: PropTypes.object.isRequired,\r\n selectedTags: PropTypes.array.isRequired,\r\n setSelectedFieldsByTemplateId: PropTypes.func.isRequired,\r\n setSelectedTags: PropTypes.func.isRequired,\r\n tags: PropTypes.array.isRequired,\r\n templates: PropTypes.array.isRequired,\r\n toggleIsDownloadPerDocument: PropTypes.func.isRequired\r\n };\r\n\r\n state = {\r\n isShowingTagsList: false,\r\n isShowingTemplates: false\r\n };\r\n\r\n onSelectedTagsChange = selectedTags => {\r\n this.props.setSelectedTags(selectedTags);\r\n this.setState({\r\n isShowingTagsList: false\r\n });\r\n };\r\n\r\n onSelectedFieldsChange = selectedFieldsByTemplateId => {\r\n this.props.setSelectedFieldsByTemplateId(selectedFieldsByTemplateId);\r\n this.setState({\r\n isShowingTemplatesList: false\r\n });\r\n };\r\n\r\n toggleIsShowingTagsList = () => {\r\n const { isShowingTagsList } = this.state;\r\n this.setState({\r\n isShowingTagsList: !isShowingTagsList\r\n });\r\n };\r\n\r\n toggleIsShowingTemplatesList = () => {\r\n const { isShowingTemplatesList } = this.state;\r\n this.setState({\r\n isShowingTemplatesList: !isShowingTemplatesList\r\n });\r\n };\r\n\r\n get selectedItems() {\r\n const { currentFolder, selectedItems } = this.props;\r\n return currentFolder.children.filter(\r\n projectItem =>\r\n selectedItems[projectItem.projectItemId] &&\r\n (projectItem.itemTypeId === ITEM_TYPES.FOLDER ||\r\n projectItem.itemStateId === ITEM_STATUSES.PROCESSED ||\r\n projectItem.itemStateId === ITEM_STATUSES.REPROCESSINGREQUIRED ||\r\n projectItem.itemStateId === ITEM_STATUSES.READYFORVERIFICATION)\r\n );\r\n }\r\n\r\n onSubmit = event => {\r\n event.preventDefault();\r\n this.props.onSubmit();\r\n };\r\n\r\n renderFormatSection() {\r\n const { format, onFormatChange } = this.props;\r\n\r\n return (\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n \r\n
\r\n\r\n
\r\n \r\n \r\n
\r\n\r\n
\r\n \r\n \r\n
\r\n \r\n
\r\n );\r\n }\r\n\r\n renderLayoutSection() {\r\n const { format, layout, onLayoutChange } = this.props;\r\n\r\n return (\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n \r\n
\r\n\r\n
\r\n \r\n \r\n
\r\n\r\n {format === EXPORT_FORMATS.WORD && (\r\n
\r\n \r\n \r\n
\r\n )}\r\n \r\n
\r\n );\r\n }\r\n\r\n /*\r\n Commented out until a later release of Argus. See task 184392\r\n\r\n renderQualitySection() {\r\n const { quality, onQualityChange } = this.props;\r\n\r\n return (\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n \r\n
\r\n\r\n
\r\n \r\n \r\n
\r\n\r\n
\r\n \r\n \r\n
\r\n \r\n
\r\n );\r\n }\r\n */\r\n\r\n render() {\r\n const {\r\n format,\r\n onCloseClick,\r\n isDownloadPerDocument,\r\n selectedFieldsByTemplateId,\r\n selectedItems,\r\n selectedTags,\r\n tags,\r\n templates,\r\n toggleIsDownloadPerDocument\r\n } = this.props;\r\n\r\n const { isShowingTagsList, isShowingTemplatesList } = this.state;\r\n\r\n if (isShowingTagsList) {\r\n return (\r\n \r\n );\r\n }\r\n\r\n if (isShowingTemplatesList) {\r\n return (\r\n \r\n );\r\n }\r\n\r\n if (!this.selectedItems.length) {\r\n return (\r\n
\r\n \"no\r\n

\r\n \r\n

\r\n

\r\n \r\n

\r\n
\r\n );\r\n }\r\n\r\n // Total number of selected extraction fields across all templates\r\n const numSelectedFields = Object.values(selectedFieldsByTemplateId).reduce(\r\n (sum, selectedExtractionFields) => sum + selectedExtractionFields.size,\r\n 0\r\n );\r\n\r\n // Total number of extraction fields across all templates\r\n const numExtractionFields = templates.reduce((sum, template) => sum + template.extractionFields.length, 0);\r\n\r\n // Number of templates with all their fields selected\r\n const numFullySelectedTemplates = templates.filter(template => {\r\n const selectedExtractionFields = selectedFieldsByTemplateId[template.projectTemplateId];\r\n return (\r\n selectedExtractionFields &&\r\n selectedExtractionFields.size &&\r\n selectedExtractionFields.size === template.extractionFields.length\r\n );\r\n }).length;\r\n\r\n // Number of templates with none of their fields selected\r\n const numFullyUnSelectedTemplates = templates.filter(template => {\r\n const selectedExtractionFields = selectedFieldsByTemplateId[template.projectTemplateId];\r\n return !selectedExtractionFields || !selectedExtractionFields.size;\r\n }).length;\r\n\r\n const plurality = templates.length === 1 ? 'singular' : 'plural';\r\n\r\n return (\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n {this.renderFormatSection()}\r\n {format === EXPORT_FORMATS.WORD && (\r\n
\r\n \r\n \r\n
\r\n )}\r\n {format === EXPORT_FORMATS.EXCEL && this.renderLayoutSection()}\r\n {/*\r\n Commented out until a later release of Argus. See task 184392\r\n format === EXPORT_FORMATS.PDF && this.renderQualitySection()\r\n */}\r\n {format !== EXPORT_FORMATS.PDF && (\r\n \r\n )}\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n );\r\n }\r\n}\r\n\r\nexport default injectIntl(Create);\r\n","import React, { Component } from 'react';\r\nimport { downloadDocument } from 'store/api';\r\nimport PropTypes from 'prop-types';\r\nimport { FormattedMessage } from 'react-intl';\r\n\r\nimport store from 'store/store';\r\nimport { addNotification } from 'store/notifications.js';\r\n\r\nclass DocumentDownload extends Component {\r\n static propTypes = {\r\n apiCallHeaders: PropTypes.object,\r\n className: PropTypes.string.isRequired,\r\n disable: PropTypes.bool,\r\n documentFilename: PropTypes.string,\r\n documentLoaded: PropTypes.func,\r\n documentLoading: PropTypes.func,\r\n linkBody: PropTypes.object.isRequired,\r\n linkUrl: PropTypes.string.isRequired,\r\n target: PropTypes.string.isRequired,\r\n title: PropTypes.string,\r\n supportEmail: PropTypes.string\r\n };\r\n\r\n getDocument = event => {\r\n const {\r\n apiCallHeaders,\r\n linkUrl,\r\n target,\r\n documentLoading,\r\n documentLoaded,\r\n documentFilename,\r\n supportEmail\r\n } = this.props;\r\n event.preventDefault();\r\n if (documentLoading) {\r\n documentLoading();\r\n }\r\n let newWindows;\r\n if (target === '_blank') {\r\n newWindows = window.open('/loading');\r\n }\r\n\r\n return downloadDocument(linkUrl, apiCallHeaders)\r\n .then(documentUrl => {\r\n if (target === '_blank') {\r\n newWindows.location = documentUrl;\r\n } else {\r\n var downloadLink = document.createElement('a');\r\n downloadLink.href = documentUrl;\r\n downloadLink.download = documentFilename;\r\n document.body.appendChild(downloadLink);\r\n downloadLink.click();\r\n document.body.removeChild(downloadLink);\r\n }\r\n if (documentLoaded) {\r\n documentLoaded();\r\n }\r\n })\r\n .catch(err => {\r\n if (documentLoaded) {\r\n documentLoaded();\r\n }\r\n if (target === '_blank') {\r\n newWindows.close();\r\n store.dispatch(\r\n addNotification({\r\n message: (\r\n <>\r\n \r\n \r\n \r\n
\r\n {supportEmail}\r\n }}\r\n />\r\n \r\n ),\r\n clearOnPageChange: true,\r\n autohide: 10\r\n })\r\n );\r\n }\r\n });\r\n };\r\n\r\n render() {\r\n const { className, disable, linkBody, title } = this.props;\r\n\r\n return (\r\n {\r\n e.preventDefault();\r\n }\r\n : this.getDocument\r\n }\r\n className={className}\r\n rel=\"noopener noreferrer\"\r\n title={title}\r\n >\r\n {linkBody}\r\n \r\n );\r\n }\r\n}\r\n\r\nexport default DocumentDownload;\r\n","import { FormattedMessage } from 'react-intl';\r\nimport classNames from 'classnames';\r\nimport PropTypes from 'prop-types';\r\nimport React, { Component } from 'react';\r\n\r\nimport DocumentDownload from 'components/shared/document-download';\r\nimport Icon from 'components/shared/icon';\r\nimport emptyStateImage from 'images/empty_state_comp_02.svg';\r\nimport dateUtil from 'utils/dateUtil';\r\nimport { getCurrentBaseUrl, getCurrentApiInfo, getExportToken } from 'store/api';\r\n\r\nconst EXPORT_STATUSES = {\r\n STARTED: 1,\r\n PROGRESS: 2,\r\n COMPLETED: 3,\r\n DOWNLOADED: 4,\r\n ERROR: 5\r\n};\r\n\r\nconst EXPORT_STATUS_NAMES = {\r\n [EXPORT_STATUSES.STARTED]: 'started',\r\n [EXPORT_STATUSES.PROGRESS]: 'progress',\r\n [EXPORT_STATUSES.COMPLETED]: 'completed',\r\n [EXPORT_STATUSES.DOWNLOADED]: 'downloaded',\r\n [EXPORT_STATUSES.ERROR]: 'error'\r\n};\r\n\r\nclass Progress extends Component {\r\n static propTypes = {\r\n deleteExport: PropTypes.func.isRequired,\r\n exports: PropTypes.array.isRequired,\r\n projectId: PropTypes.any,\r\n aboutArgus: PropTypes.object\r\n };\r\n\r\n state = {\r\n exports: [],\r\n downloadingDocument: false\r\n };\r\n\r\n componentDidMount() {\r\n this.getExportTokens();\r\n }\r\n\r\n componentDidUpdate(prevProps) {\r\n if (this.props.exports !== prevProps.exports) {\r\n this.getExportTokens();\r\n }\r\n }\r\n\r\n getExportTokens = () => {\r\n var { exports } = this.props;\r\n\r\n //Discarding previous array, but keeping exisiting download tokens\r\n exports.forEach(e => {\r\n var existing = this.state.exports.find(_e => _e.exportDetailID === e.exportDetailID);\r\n e.downloadLink = existing ? existing.downloadLink : null;\r\n });\r\n\r\n this.setState({ exports: exports });\r\n\r\n //Get download tokens for new exports\r\n exports.forEach(e => {\r\n if (e.downloadLink === null) this.getExportToken(e);\r\n });\r\n };\r\n\r\n getExportToken = item => {\r\n getExportToken({\r\n projectId: this.props.projectId,\r\n exportId: item.exportDetailID\r\n }).then(response => {\r\n var { exports } = this.state;\r\n var api = getCurrentApiInfo();\r\n\r\n exports.forEach(e => {\r\n if (e.exportDetailID === item.exportDetailID)\r\n e.downloadLink = `${getCurrentBaseUrl()}/projects/${this.props.projectId}/exports/download/${\r\n response.data\r\n }?X-MF-CTX=${api.memberFirmCode}&X-CNTR-CTX=${api.containerCode}`;\r\n });\r\n\r\n this.setState({ exports });\r\n });\r\n };\r\n\r\n renderErrorMessage = stateId => {\r\n if (stateId === EXPORT_STATUSES.ERROR) {\r\n return ;\r\n }\r\n };\r\n\r\n render() {\r\n const { aboutArgus } = this.props;\r\n const { exports, downloadingDocument } = this.state;\r\n\r\n if (!exports.length) {\r\n return (\r\n
\r\n \"no\r\n

\r\n \r\n

\r\n

\r\n \r\n

\r\n
\r\n );\r\n }\r\n\r\n return (\r\n
\r\n {exports.map(item => {\r\n const statusName = EXPORT_STATUS_NAMES[item.exportStateId];\r\n var enabled =\r\n item.downloadLink !== null &&\r\n (item.exportStateId === EXPORT_STATUSES.COMPLETED || item.exportStateId === EXPORT_STATUSES.DOWNLOADED);\r\n\r\n return (\r\n \r\n
\r\n {enabled ? (\r\n downloadingDocument === item.exportDetailID ? (\r\n <>\r\n
\r\n {item.exportFileName}\r\n
\r\n
\r\n \r\n
\r\n \r\n ) : (\r\n \r\n
{item.exportFileName}
\r\n
\r\n \r\n
\r\n \r\n }\r\n target=\"_self\"\r\n documentFilename={item.exportFileName}\r\n documentLoading={() => this.setState({ downloadingDocument: item.exportDetailID })}\r\n documentLoaded={() => this.setState({ downloadingDocument: false })}\r\n />\r\n )\r\n ) : (\r\n <>\r\n
{item.exportFileName}
\r\n
\r\n \r\n
\r\n \r\n )}\r\n
\r\n
\r\n {dateUtil.formatDateShort(dateUtil.fromServerDate(item.exportStateDate))}\r\n
\r\n {dateUtil.formatTime(dateUtil.fromServerDate(item.exportStateDate))}\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
{this.renderErrorMessage(item.exportStateId)}
\r\n
\r\n );\r\n })}\r\n
\r\n );\r\n }\r\n}\r\n\r\nexport default Progress;\r\n","import { chain } from 'underscore';\r\nimport { FormattedMessage, injectIntl, intlShape } from 'react-intl';\r\nimport classNames from 'classnames';\r\nimport Icon from 'components/shared/icon';\r\nimport moment from 'moment';\r\nimport PropTypes from 'prop-types';\r\nimport React, { Component } from 'react';\r\n\r\nimport { createExport, getExports, getItemTemplates, deleteExport } from 'store/api';\r\nimport { EXPORT_FORMATS, EXPORT_LAYOUTS, EXPORT_QUALITY } from 'components/file-browser/export-sidebar/constants';\r\nimport { ITEM_TYPES, ITEM_STATUSES } from 'models/project-item';\r\nimport { sortByKey } from 'utils/string-utils';\r\nimport Button from 'components/shared/single-click-button';\r\nimport Create from 'components/file-browser/export-sidebar/export-sidebar-create';\r\nimport Progress from 'components/shared/export/export-sidebar-progress';\r\nimport socket, { rooms } from 'utils/socket';\r\nimport dateUtil from 'utils/dateUtil';\r\n\r\nconst TABS = {\r\n CREATE: 'CREATE',\r\n PROGRESS: 'PROGRESS'\r\n};\r\n\r\nconst TAG_OPTIONS = {\r\n NONE: 0,\r\n ALL: 1,\r\n DOCUMENT_TAGS: 2,\r\n EXTRACTION_FIELD_TAGS: 3\r\n};\r\n\r\nclass ExportSidebar extends Component {\r\n static propTypes = {\r\n currentFolder: PropTypes.object.isRequired,\r\n currentProject: PropTypes.object.isRequired,\r\n currentUser: PropTypes.object.isRequired,\r\n intl: intlShape,\r\n onCloseClick: PropTypes.func.isRequired,\r\n projectId: PropTypes.string.isRequired,\r\n selectedItems: PropTypes.object.isRequired,\r\n aboutArgus: PropTypes.object\r\n };\r\n\r\n state = {\r\n currentTab: TABS.CREATE,\r\n exports: [],\r\n format: EXPORT_FORMATS.EXCEL,\r\n isLoadingExports: false,\r\n layout: EXPORT_LAYOUTS.COLUMN,\r\n isDownloadPerDocument: false,\r\n quality: EXPORT_QUALITY.HIGH,\r\n selectedFieldsByTemplateId: {},\r\n selectedTags: [],\r\n tags: [\r\n {\r\n id: TAG_OPTIONS.DOCUMENT_TAGS,\r\n name: this.props.intl.formatMessage({ id: 'export-sidebar.create.tags.type.documents' })\r\n },\r\n {\r\n id: TAG_OPTIONS.EXTRACTION_FIELD_TAGS,\r\n name: this.props.intl.formatMessage({ id: 'export-sidebar.create.tags.type.extractions' })\r\n }\r\n ],\r\n templates: []\r\n };\r\n\r\n componentDidMount() {\r\n const { currentUser, projectId } = this.props;\r\n this.getItemTemplates();\r\n this.getExports('document');\r\n\r\n // Join the exports room on the socket connection\r\n if (currentUser.isLoaded) {\r\n socket.join(rooms.exports(projectId, currentUser.userId));\r\n }\r\n\r\n // Subscribe to export updates from the socket connection\r\n socket.on('export.update', this.onExportUpdate);\r\n }\r\n\r\n componentDidUpdate(prevProps) {\r\n // If the current folder or selected items change, ensure the templates are up to date\r\n if (this.props.currentFolder !== prevProps.currentFolder || this.props.selectedItems !== prevProps.selectedItems) {\r\n this.getItemTemplates();\r\n }\r\n\r\n // If the current user changes, join a new room on the socket connection\r\n if (this.props.currentUser.isLoaded) {\r\n const prevRoom = rooms.exports(prevProps.projectId, prevProps.currentUser.userId);\r\n const currRoom = rooms.exports(this.props.projectId, this.props.currentUser.userId);\r\n if (prevRoom !== currRoom) {\r\n socket.leave(prevRoom);\r\n socket.join(currRoom);\r\n }\r\n }\r\n }\r\n\r\n componentWillUnmount() {\r\n const { currentUser, projectId } = this.props;\r\n socket.off('export.update', this.onExportUpdate);\r\n socket.leave(rooms.exports(projectId, currentUser.userId));\r\n }\r\n\r\n get selectedItems() {\r\n const { currentFolder, selectedItems } = this.props;\r\n return currentFolder.children.filter(\r\n projectItem =>\r\n selectedItems[projectItem.projectItemId] &&\r\n (projectItem.itemTypeId === ITEM_TYPES.FOLDER ||\r\n projectItem.itemStateId === ITEM_STATUSES.PROCESSED ||\r\n projectItem.itemStateId === ITEM_STATUSES.REPROCESSINGREQUIRED ||\r\n projectItem.itemStateId === ITEM_STATUSES.READYFORVERIFICATION)\r\n );\r\n }\r\n\r\n getItemTemplates = () => {\r\n const { projectId } = this.props;\r\n\r\n const selectedItemIds = this.selectedItems.map(i => i.projectItemId);\r\n\r\n if (!selectedItemIds.length) {\r\n return;\r\n }\r\n\r\n getItemTemplates({ projectId, items: selectedItemIds }).then(responses => {\r\n // select all extraction fields in new incoming templates\r\n const selectedFieldsByTemplateId = chain(responses.data)\r\n .map(template => {\r\n const { projectTemplateId } = template;\r\n const selectedExtractionFields = this.state.selectedFieldsByTemplateId[projectTemplateId];\r\n\r\n return [\r\n projectTemplateId,\r\n selectedExtractionFields || new Set(template.extractionFields.map(field => field.extractionFieldId))\r\n ];\r\n })\r\n .object()\r\n .value();\r\n\r\n this.setState({\r\n templates: sortByKey('name', Object.values(responses.data)),\r\n selectedFieldsByTemplateId\r\n });\r\n });\r\n };\r\n\r\n onExportUpdate = event => {\r\n const { exportDetailId, exportStateId } = event.data;\r\n\r\n if (!exportDetailId || !exportStateId) {\r\n return;\r\n }\r\n\r\n const updatedExports = this.state.exports.map(item => {\r\n if (item.exportDetailID === exportDetailId) {\r\n item.exportStateId = exportStateId;\r\n }\r\n return item;\r\n });\r\n\r\n this.setState({\r\n exports: updatedExports\r\n });\r\n };\r\n\r\n showCreateTab = () => {\r\n this.setState({\r\n currentTab: TABS.CREATE\r\n });\r\n };\r\n\r\n showProgressTab = () => {\r\n this.setState({\r\n currentTab: TABS.PROGRESS\r\n });\r\n };\r\n\r\n setSelectedTags = selectedTags => {\r\n this.setState({ selectedTags });\r\n };\r\n\r\n setSelectedFieldsByTemplateId = selectedFieldsByTemplateId => {\r\n this.setState({\r\n selectedFieldsByTemplateId\r\n });\r\n };\r\n\r\n onFormatChange = format => {\r\n this.setState({\r\n format\r\n });\r\n };\r\n\r\n onLayoutChange = layout => {\r\n this.setState({\r\n layout\r\n });\r\n };\r\n\r\n onQualityChange = quality => {\r\n this.setState({\r\n quality\r\n });\r\n };\r\n\r\n toggleIsDownloadPerDocument = (id, isDownloadPerDocument) => {\r\n this.setState({\r\n isDownloadPerDocument\r\n });\r\n };\r\n\r\n getExports = exportType => {\r\n const { projectId } = this.props;\r\n this.setState({ isLoadingExports: true });\r\n getExports({ projectId, exportType }).then(result => {\r\n this.setState({\r\n exports: result.data,\r\n isLoadingExports: false\r\n });\r\n });\r\n };\r\n\r\n createExport = () => {\r\n const { currentProject, projectId } = this.props;\r\n const {\r\n format: type,\r\n isDownloadPerDocument,\r\n layout,\r\n quality: exportQuality,\r\n selectedFieldsByTemplateId,\r\n selectedTags\r\n } = this.state;\r\n\r\n const tagsOptions = selectedTags.length\r\n ? selectedTags.length > 1\r\n ? TAG_OPTIONS.ALL\r\n : selectedTags[0]\r\n : TAG_OPTIONS.NONE;\r\n const currentDate = moment();\r\n const payload = {\r\n projectId,\r\n exportOptions: {\r\n exportFileName: `${currentProject.projectName}_${'|'}_${dateUtil.formatTimestamp(currentDate)}`,\r\n exportOption: type,\r\n exportType: 1, //1: document, 2: comparison\r\n layout,\r\n tagsOptions: tagsOptions,\r\n templates: Object.entries(selectedFieldsByTemplateId).map(([projectTemplateId, selectedExtractionFields]) => ({\r\n projectTemplateId,\r\n extractionFields: Array.from(selectedExtractionFields.keys()).map(id => ({\r\n extractionFieldId: id\r\n }))\r\n })),\r\n items: this.selectedItems.map(({ projectItemId, itemTypeId, itemName }) => ({\r\n projectItemId,\r\n itemTypeId,\r\n itemName\r\n })),\r\n isDownloadPerDocument,\r\n exportQuality\r\n }\r\n };\r\n createExport(payload).then(() => {\r\n this.getExports('document');\r\n this.showProgressTab();\r\n });\r\n };\r\n\r\n deleteExport = exportId => {\r\n const { projectId } = this.props;\r\n // Optimistically delete\r\n this.setState({\r\n exports: this.state.exports.filter(item => item.exportDetailID !== exportId)\r\n });\r\n deleteExport({ projectId, exportId })\r\n // Re fetch on error\r\n .catch(this.getExports('documents'));\r\n };\r\n\r\n render() {\r\n const { currentFolder, currentProject, onCloseClick, projectId, selectedItems, aboutArgus } = this.props;\r\n const {\r\n currentTab,\r\n exports,\r\n format,\r\n isLoadingExports,\r\n layout,\r\n isDownloadPerDocument,\r\n quality,\r\n selectedFieldsByTemplateId,\r\n selectedTags,\r\n tags,\r\n templates\r\n } = this.state;\r\n\r\n if (!currentProject.isLoaded || !currentFolder.isLoaded) {\r\n return null;\r\n }\r\n\r\n return (\r\n
\r\n
\r\n

\r\n \r\n

\r\n \r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n {currentTab === TABS.CREATE && (\r\n \r\n )}\r\n {currentTab === TABS.PROGRESS &&\r\n (isLoadingExports ? (\r\n \r\n ) : (\r\n \r\n ))}\r\n
\r\n
\r\n );\r\n }\r\n}\r\n\r\nexport default injectIntl(ExportSidebar);\r\n","import { connect } from 'react-redux';\r\n\r\nimport ExportSidebar from 'components/file-browser/export-sidebar/export-sidebar';\r\n\r\nconst mapStateToProps = ({\r\n data: { currentFolder, currentProject, currentUser, aboutArgus },\r\n ui: { fileBrowserSelectedItems }\r\n}) => ({\r\n currentProject,\r\n currentUser,\r\n aboutArgus,\r\n selectedItems: fileBrowserSelectedItems\r\n});\r\n\r\nexport default connect(mapStateToProps, null)(ExportSidebar);\r\n","import { FormattedMessage, FormattedNumber } from 'react-intl';\r\nimport PropTypes from 'prop-types';\r\nimport React, { Component } from 'react';\r\n\r\nimport Button from 'components/shared/single-click-button';\r\nimport Icon from 'components/shared/icon';\r\nimport Dropdown from 'components/shared/form/dropdown';\r\n\r\nexport default class Pagination extends Component {\r\n static propTypes = {\r\n onPageChange: PropTypes.func.isRequired,\r\n pagination: PropTypes.shape({\r\n pageSizeStorageKey: PropTypes.string,\r\n pageSizeOptions: PropTypes.array,\r\n pageSizeChangeFunction: PropTypes.func,\r\n pageNumber: PropTypes.number.isRequired,\r\n pageSize: PropTypes.number.isRequired,\r\n totalPageCount: PropTypes.number.isRequired,\r\n totalRecordCount: PropTypes.number.isRequired\r\n }).isRequired\r\n };\r\n\r\n onPrevPageClick = () => {\r\n this.props.onPageChange(this.props.pagination.pageNumber - 1);\r\n };\r\n\r\n onNextPageClick = () => {\r\n this.props.onPageChange(this.props.pagination.pageNumber + 1);\r\n };\r\n\r\n onPageSizeChange = selection => {\r\n const {\r\n pagination: { pageSizeStorageKey, pageSizeChangeFunction }\r\n } = this.props;\r\n\r\n localStorage.setItem(pageSizeStorageKey, selection);\r\n pageSizeChangeFunction(selection);\r\n };\r\n\r\n render() {\r\n const {\r\n pagination: { pageSizeStorageKey, pageSizeOptions, pageNumber, pageSize, totalPageCount, totalRecordCount }\r\n } = this.props;\r\n\r\n if (!totalRecordCount) {\r\n return null;\r\n }\r\n\r\n const userSelection = localStorage.getItem(pageSizeStorageKey);\r\n const userPageSize = userSelection ? parseInt(userSelection, 10) : null;\r\n const calculatedPageStart = (pageNumber - 1) * pageSize + 1;\r\n const currentPageStart = calculatedPageStart < totalRecordCount ? calculatedPageStart : 1;\r\n const currentPageEnd = Math.min(pageNumber * pageSize, totalRecordCount);\r\n\r\n return (\r\n
\r\n
\r\n -{' '}\r\n {pageSizeStorageKey && pageSizeOptions ? (\r\n {option}}\r\n selectedOption={userPageSize}\r\n />\r\n ) : (\r\n \r\n )}{' '}\r\n {' '}\r\n \r\n \r\n \r\n
\r\n \r\n \r\n \r\n \r\n
\r\n );\r\n }\r\n}\r\n","import PropTypes from 'prop-types';\r\nimport React, { Component } from 'react';\r\nimport classNames from 'classnames';\r\n\r\nimport SharedPagination from 'components/shared/pagination/pagination';\r\n\r\n/*\r\n Wrap your regular table element with this and use FixedHeader components\r\n to create a table with a fixed header\r\n*/\r\nexport class FixedTable extends Component {\r\n static propTypes = {\r\n children: PropTypes.node,\r\n className: PropTypes.string,\r\n onPageChange: PropTypes.func,\r\n style: PropTypes.string,\r\n pagination: PropTypes.shape({\r\n pageNumber: PropTypes.number.isRequired,\r\n pageSize: PropTypes.number.isRequired,\r\n totalPageCount: PropTypes.number.isRequired,\r\n totalRecordCount: PropTypes.number.isRequired\r\n }),\r\n setScrollRef: PropTypes.func\r\n };\r\n\r\n static childContextTypes = {\r\n scrollToTop: PropTypes.func.isRequired\r\n };\r\n\r\n getChildContext = () => {\r\n return {\r\n scrollToTop: this.scrollToTop\r\n };\r\n };\r\n\r\n scrollToTop = () => {\r\n if (this.scrollElem) this.scrollElem.scrollTop = 0;\r\n };\r\n\r\n setScrollRef = elem => {\r\n const { setScrollRef } = this.props;\r\n this.scrollElem = elem;\r\n if (setScrollRef) {\r\n setScrollRef(elem);\r\n }\r\n };\r\n\r\n render() {\r\n const { className, children, onPageChange, pagination, style } = this.props;\r\n\r\n return (\r\n
\r\n
\r\n {children}\r\n
\r\n {pagination ? (\r\n
\r\n \r\n
\r\n ) : null}\r\n
\r\n );\r\n }\r\n}\r\n\r\n/*\r\n Use this component instead of regular th elements to have the header fixed\r\n to the top of the table\r\n*/\r\nexport class FixedHeader extends Component {\r\n static propTypes = {\r\n children: PropTypes.node,\r\n className: PropTypes.string\r\n };\r\n\r\n render() {\r\n const { className, children } = this.props;\r\n\r\n return (\r\n \r\n
\r\n
{children}
\r\n
\r\n \r\n );\r\n }\r\n}\r\n\r\n/*\r\n This pagination component extends the regular shared pagination component\r\n with the ability to scroll the table back to the top when the page changes\r\n*/\r\nexport class Pagination extends Component {\r\n static propTypes = {\r\n onPageChange: PropTypes.func.isRequired,\r\n pagination: PropTypes.shape({\r\n pageNumber: PropTypes.number.isRequired,\r\n pageSize: PropTypes.number.isRequired,\r\n totalPageCount: PropTypes.number.isRequired,\r\n totalRecordCount: PropTypes.number.isRequired\r\n }).isRequired\r\n };\r\n\r\n static contextTypes = {\r\n scrollToTop: PropTypes.func.isRequired\r\n };\r\n\r\n componentDidUpdate(prevProps) {\r\n const { scrollToTop } = this.context;\r\n if (this.props.pagination.pageNumber !== prevProps.pagination.pageNumber) {\r\n scrollToTop();\r\n }\r\n }\r\n\r\n render() {\r\n return ;\r\n }\r\n}\r\n\r\nexport default FixedTable;\r\n","import { DragSource, DropTarget } from 'react-dnd';\r\nimport { FormattedMessage, injectIntl } from 'react-intl';\r\nimport classNames from 'classnames';\r\nimport enhanceWithClickOutside from 'react-click-outside';\r\nimport PropTypes from 'prop-types';\r\nimport React, { Component } from 'react';\r\nimport ReactTooltip from 'react-tooltip';\r\n\r\nimport {\r\n COLUMN_OPTIONS,\r\n COLUMN_OPTION_DEFAULTS,\r\n DEFAULT_COLUMN_ROOTSHOW,\r\n COLUMN_OPTIONS_DOCSHOW,\r\n DEFAULT_COLUMN_ORDER,\r\n DEFAULT_COLUMN_ROOTSHOWForProjects\r\n} from 'store/file-browser-column-options';\r\nimport Checkbox from 'components/shared/form/checkbox';\r\nimport Icon from 'components/shared/icon';\r\nimport Button from 'components/shared/single-click-button';\r\nimport constants from 'utils/constants';\r\n\r\nconst cardSource = {\r\n beginDrag(props) {\r\n return {\r\n option: props.option,\r\n index: props.index\r\n };\r\n }\r\n};\r\n\r\n// See https://github.com/react-dnd/react-dnd/blob/master/examples/04%20Sortable/Simple/Card.js#L24\r\nconst cardTarget = {\r\n hover(props, monitor, component) {\r\n const dragIndex = monitor.getItem().index;\r\n const hoverIndex = props.index;\r\n\r\n // Don't replace items with themselves\r\n if (dragIndex === hoverIndex) {\r\n return;\r\n }\r\n\r\n // Perform the action\r\n props.moveOption(dragIndex, hoverIndex);\r\n\r\n // Note: we're mutating the monitor item here!\r\n // Generally it's better to avoid mutations,\r\n // but it's good here for the sake of performance\r\n // to avoid expensive index searches.\r\n monitor.getItem().index = hoverIndex;\r\n }\r\n};\r\n\r\nexport const Option = DropTarget('column-option', cardTarget, connect => ({\r\n connectDropTarget: connect.dropTarget()\r\n}))(\r\n DragSource('column-option', cardSource, (connect, monitor) => ({\r\n connectDragSource: connect.dragSource(),\r\n isDragging: monitor.isDragging()\r\n }))(\r\n class InnerOption extends Component {\r\n static propTypes = {\r\n connectDragSource: PropTypes.func.isRequired,\r\n connectDropTarget: PropTypes.func.isRequired,\r\n displayName: PropTypes.string.isRequired,\r\n index: PropTypes.number.isRequired,\r\n isChecked: PropTypes.bool.isRequired,\r\n isDragging: PropTypes.bool.isRequired,\r\n moveOption: PropTypes.func.isRequired,\r\n onChange: PropTypes.func.isRequired,\r\n option: PropTypes.string.isRequired\r\n };\r\n\r\n onCheckboxChange = () => {\r\n const { onChange, option } = this.props;\r\n onChange(option);\r\n };\r\n\r\n render() {\r\n const { connectDragSource, connectDropTarget, displayName, option, isChecked, isDragging, index } = this.props;\r\n\r\n return connectDropTarget(\r\n \r\n {connectDragSource(\r\n \r\n )}\r\n \r\n \r\n
\r\n );\r\n }\r\n }\r\n )\r\n);\r\n\r\nexport class ColumnOptions extends Component {\r\n static propTypes = {\r\n order: PropTypes.array.isRequired,\r\n updateColumnOptions: PropTypes.func.isRequired,\r\n visibility: PropTypes.object.isRequired,\r\n projectItemId: PropTypes.any,\r\n defaultRootColumnsToShow: PropTypes.any\r\n };\r\n\r\n state = {\r\n order: this.props.order,\r\n visibility: this.props.visibility,\r\n isMenuOpen: false\r\n };\r\n\r\n openMenu = () => {\r\n const { isMenuOpen } = this.state;\r\n\r\n if (isMenuOpen) {\r\n this.onCancel();\r\n } else {\r\n this.setState({ isMenuOpen: true });\r\n }\r\n };\r\n\r\n onCancel = () => {\r\n const { order, visibility } = this.props;\r\n this.setState({ order, visibility, isMenuOpen: false });\r\n };\r\n\r\n onApply = () => {\r\n const { updateColumnOptions } = this.props;\r\n const { order, visibility } = this.state;\r\n this.setState({ isMenuOpen: false });\r\n updateColumnOptions({ order, visibility });\r\n };\r\n\r\n onCheckboxChange = option => {\r\n const { visibility } = this.state;\r\n\r\n this.setState({\r\n visibility: {\r\n ...visibility,\r\n [option]: !visibility[option]\r\n }\r\n });\r\n };\r\n\r\n handleClickOutside = () => {\r\n this.onCancel();\r\n };\r\n\r\n moveOption = (dragIndex, hoverIndex) => {\r\n const { order } = this.state;\r\n const dragOption = order[dragIndex];\r\n const updatedOptions = [...order];\r\n\r\n updatedOptions.splice(dragIndex, 1);\r\n updatedOptions.splice(hoverIndex, 0, dragOption);\r\n\r\n this.setState({\r\n order: updatedOptions\r\n });\r\n };\r\n\r\n render() {\r\n const { order, visibility, isMenuOpen } = this.state;\r\n const { intl, projectItemId, defaultRootColumnsToShow } = this.props;\r\n\r\n return (\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n {isMenuOpen && (\r\n
\r\n

\r\n \r\n

\r\n
\r\n {projectItemId == 0\r\n ? order.map(\r\n (option, index) =>\r\n defaultRootColumnsToShow.indexOf(option) != -1 && (\r\n \r\n )\r\n )\r\n : order.map(\r\n (option, index) =>\r\n COLUMN_OPTIONS_DOCSHOW.indexOf(option) != -1 && (\r\n \r\n )\r\n )}\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n )}\r\n
\r\n );\r\n }\r\n}\r\n\r\nexport default injectIntl(enhanceWithClickOutside(ColumnOptions));\r\n","import { FormattedMessage } from 'react-intl';\r\nimport React from 'react';\r\n\r\nimport { ITEM_TYPES, ITEM_STATUSES } from 'models/project-item';\r\n\r\nexport const ITEM_STATUS_NAMES = {\r\n [ITEM_STATUSES.PREUPLOAD]: ,\r\n [ITEM_STATUSES.UPLOADED]: ,\r\n [ITEM_STATUSES.PROCESSED]: ,\r\n [ITEM_STATUSES.BADFILETYPE]: ,\r\n [ITEM_STATUSES.BLOBSTORAGEERROR]: ,\r\n [ITEM_STATUSES.PROCESSINGERROR]: ,\r\n [ITEM_STATUSES.SYSTEMERROR]: ,\r\n [ITEM_STATUSES.DELETED]: ,\r\n [ITEM_STATUSES.PROCESSING]: ,\r\n [ITEM_STATUSES.CONTENTPROCESSINGCOMPLETE]: ,\r\n [ITEM_STATUSES.PARTIALLYEXTRACTED]: ,\r\n [ITEM_STATUSES.ALLEXTRACTIONERROR]: ,\r\n [ITEM_STATUSES.PENDINGDELETION]: ,\r\n [ITEM_STATUSES.REPROCESSINGREQUIRED]: ,\r\n [ITEM_STATUSES.READYFORVERIFICATION]: \r\n};\r\n\r\nexport const ITEM_STATUS_CLASSNAMES = {\r\n [ITEM_STATUSES.PREUPLOAD]: 'uploaded',\r\n [ITEM_STATUSES.UPLOADED]: 'uploaded',\r\n [ITEM_STATUSES.PROCESSED]: 'complete',\r\n [ITEM_STATUSES.BADFILETYPE]: 'error',\r\n [ITEM_STATUSES.BLOBSTORAGEERROR]: 'error',\r\n [ITEM_STATUSES.PROCESSINGERROR]: 'error',\r\n [ITEM_STATUSES.SYSTEMERROR]: 'error',\r\n [ITEM_STATUSES.DELETED]: 'error',\r\n [ITEM_STATUSES.PROCESSING]: 'processing',\r\n [ITEM_STATUSES.CONTENTPROCESSINGCOMPLETE]: 'processing',\r\n [ITEM_STATUSES.PARTIALLYEXTRACTED]: 'error',\r\n [ITEM_STATUSES.ALLEXTRACTIONERROR]: 'error',\r\n [ITEM_STATUSES.PENDINGDELETION]: 'error',\r\n [ITEM_STATUSES.REPROCESSINGREQUIRED]: 'reprocessing-required',\r\n [ITEM_STATUSES.READYFORVERIFICATION]: 'ready-for-verification'\r\n};\r\n\r\nexport const ITEM_TYPE_ICONS = {\r\n [ITEM_TYPES.FOLDER]: 'special-folder',\r\n [ITEM_TYPES.DOCUMENT]: 'special-doc'\r\n};\r\n","import ReactTooltip from 'react-tooltip';\r\nimport PropTypes from 'prop-types';\r\nimport React, { Component } from 'react';\r\n\r\n/*\r\n Generic component for rendering a list of items in a cell, such as tags or reviwers\r\n\r\n If there are is than one item the additional items are hidden and a 'plus' buttons is used\r\n to reveal the additional items\r\n*/\r\nexport default class ItemList extends Component {\r\n static propTypes = {\r\n expand: PropTypes.func.isRequired,\r\n isExpanded: PropTypes.bool.isRequired,\r\n items: PropTypes.array.isRequired,\r\n name: PropTypes.string.isRequired\r\n };\r\n\r\n render() {\r\n let { items, name, isExpanded, expand } = this.props;\r\n\r\n if (!items.length) {\r\n return '-';\r\n }\r\n\r\n return (\r\n
\r\n {isExpanded ? (\r\n
\r\n {items.map((item, i) => (\r\n
\r\n {item}\r\n
\r\n ))}\r\n
\r\n ) : (\r\n
{items[0]}
\r\n )}\r\n {items.length > 1 && !isExpanded && (\r\n \r\n {items.slice(1).map(item => (\r\n
{item}
\r\n ))}\r\n
\r\n )}\r\n {items.length > 1 && !isExpanded && (\r\n
\r\n +{items.length - 1}\r\n
\r\n )}\r\n
\r\n );\r\n }\r\n}\r\n","import React, { Component } from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport classNames from 'classnames';\r\n\r\n// Material ui default colors for avatar background color\r\n/*const MATERIAL_PALETTE = [\r\n '#E53935',\r\n '#D81B60',\r\n '#8E24AA',\r\n '#5E35B1',\r\n '#3949AB',\r\n '#1E88E5',\r\n '#039BE5',\r\n '#00ACC1',\r\n '#00897B',\r\n '#43A047',\r\n '#7CB342',\r\n '#C0CA33',\r\n '#FDD835',\r\n '#FFB300',\r\n '#FB8C00',\r\n '#F4511E',\r\n '#6D4C41',\r\n '#757575',\r\n '#546E7A'\r\n];*/\r\n\r\nclass Avatar extends Component {\r\n static propTypes = {\r\n className: PropTypes.string,\r\n color: PropTypes.string,\r\n initials: PropTypes.string,\r\n size: PropTypes.number,\r\n src: PropTypes.string // use this prop if there's a profile image\r\n };\r\n\r\n static defaultProps = {\r\n size: 28\r\n };\r\n\r\n render() {\r\n const { className, initials, color, size, src } = this.props;\r\n\r\n if (src) {\r\n return (\r\n
\r\n \"profile\"\r\n
\r\n );\r\n }\r\n\r\n return (\r\n \r\n {initials}\r\n \r\n );\r\n }\r\n}\r\n\r\nexport default Avatar;\r\n","import { debounce } from 'underscore';\r\nimport { intlShape, injectIntl, FormattedMessage } from 'react-intl';\r\nimport Autocomplete from 'react-autocomplete';\r\nimport classNames from 'classnames';\r\nimport PropTypes from 'prop-types';\r\nimport React, { Component } from 'react';\r\n\r\nimport Avatar from 'components/shared/avatar';\r\n\r\nconst WRAPPER_STYLE = {\r\n borderBottom: '1px solid rgb(235, 235, 235)',\r\n position: 'relative',\r\n width: '100%'\r\n};\r\nconst WRAPPER_STYLE_TEAMMEMBERS = {\r\n position: 'relative',\r\n width: '95%',\r\n padding: '5px'\r\n};\r\n\r\nconst INPUT_PROPS = {\r\n autoCapitalize: 'off',\r\n autoComplete: 'off',\r\n autoCorrect: 'off',\r\n className: 'team-members__search-name-input',\r\n maxLength: '80',\r\n spellCheck: 'false',\r\n style: {\r\n width: '100%',\r\n type: 'text'\r\n }\r\n};\r\n\r\nconst INPUT_PROPS_TEAMMEMBERS = {\r\n autoCapitalize: 'off',\r\n autoComplete: 'off',\r\n autoCorrect: 'off',\r\n className: 'team-members__search-name-input',\r\n maxLength: '80',\r\n spellCheck: 'false',\r\n style: {\r\n width: '100%',\r\n type: 'text',\r\n lineHeight: '20px',\r\n fontSize: '14px',\r\n fontWeight: '400',\r\n font: 'Open Sans',\r\n fontWeight: 'normal'\r\n }\r\n};\r\n\r\n// This is auto complete form when user is searching for members\r\nclass UserAutocomplete extends Component {\r\n static propTypes = {\r\n autoFocus: PropTypes.bool,\r\n intl: intlShape,\r\n keyword: PropTypes.string,\r\n maxHeight: PropTypes.string,\r\n onChange: PropTypes.func,\r\n onClose: PropTypes.func,\r\n onKeyDown: PropTypes.func,\r\n onKeyUp: PropTypes.func,\r\n onSelect: PropTypes.func,\r\n placeholder: PropTypes.string,\r\n searchOnFocus: PropTypes.bool,\r\n searchUsers: PropTypes.func.isRequired,\r\n selectedUserName: PropTypes.string,\r\n showAllOnEmptySearch: PropTypes.bool,\r\n teammembersPage: PropTypes.bool\r\n };\r\n\r\n static defaultProps = {\r\n autoFocus: true,\r\n maxHeight: '256px',\r\n searchOnFocus: false,\r\n showAllOnEmptySearch: false\r\n };\r\n\r\n state = {\r\n isOpen: false,\r\n searchUsers: []\r\n };\r\n\r\n // Get props for the input element\r\n getInputProps = () => {\r\n const {\r\n autoFocus,\r\n intl: { formatMessage },\r\n keyword,\r\n onKeyDown,\r\n placeholder,\r\n teammembersPage\r\n } = this.props;\r\n\r\n return teammembersPage\r\n ? {\r\n ...INPUT_PROPS_TEAMMEMBERS,\r\n autoFocus,\r\n value: keyword,\r\n onFocus: this.onInputFocus,\r\n onKeyUp: this.onKeyUp,\r\n onKeyDown: onKeyDown,\r\n placeholder: placeholder || formatMessage({ id: 'team-members.search-placeholder' })\r\n }\r\n : {\r\n ...INPUT_PROPS,\r\n autoFocus,\r\n value: keyword,\r\n onFocus: this.onInputFocus,\r\n onKeyUp: this.onKeyUp,\r\n onKeyDown: onKeyDown,\r\n placeholder: placeholder || formatMessage({ id: 'team-members.search-placeholder' })\r\n };\r\n };\r\n\r\n // Debounced search to prevent excessive calls\r\n searchUsers = debounce(() => {\r\n const { searchUsers, keyword } = this.props;\r\n\r\n searchUsers(keyword).then(searchUsers => {\r\n this.setState({ searchUsers });\r\n });\r\n }, 500);\r\n\r\n // Handle key up\r\n onKeyUp = () => {\r\n if (this.props.keyword.length > 2) {\r\n this.searchUsers();\r\n }\r\n };\r\n\r\n // Handle input focus\r\n onInputFocus = () => {\r\n const { searchOnFocus } = this.props;\r\n\r\n if (!searchOnFocus) {\r\n return;\r\n }\r\n\r\n this.setState({ isOpen: true });\r\n this.searchUsers();\r\n };\r\n\r\n // Handle toggling the menu visibility\r\n onMenuVisibilityChange = isOpen => {\r\n this.setState({ searchUsers: [], isOpen });\r\n };\r\n\r\n // Handle onChange from the input element\r\n onChange = event => {\r\n const { onChange } = this.props;\r\n onChange(event);\r\n };\r\n\r\n // Handle selecting a search result\r\n onSelect = (val, item) => {\r\n const { onSelect } = this.props;\r\n onSelect(val, item);\r\n };\r\n\r\n // Filter items by search value\r\n shouldItemRender = (item, value) => {\r\n const { showAllOnEmptySearch } = this.props;\r\n if (!value) {\r\n return showAllOnEmptySearch;\r\n } else {\r\n return (\r\n item.displayName.toLowerCase().indexOf(value.trim().toLowerCase()) > -1 ||\r\n item.email.toLowerCase().indexOf(value.trim().toLowerCase()) > -1 ||\r\n item.lastName.toLowerCase().indexOf(value.trim().toLowerCase()) > -1 ||\r\n item.firstName.toLowerCase().indexOf(value.trim().toLowerCase()) > -1\r\n );\r\n }\r\n };\r\n\r\n renderAutocompleteMenu = items => {\r\n const { maxHeight } = this.props;\r\n return
;\r\n };\r\n\r\n renderAutocompleteItem = (item, isHighlighted) => (\r\n \r\n \r\n \r\n
{item.displayName}
\r\n
{item.email}
\r\n
\r\n
\r\n );\r\n\r\n render() {\r\n const { selectedUserName, teammembersPage } = this.props;\r\n\r\n return (\r\n item.displayName}\r\n inputProps={this.getInputProps()}\r\n items={this.state.searchUsers}\r\n onChange={this.onChange}\r\n onMenuVisibilityChange={this.onMenuVisibilityChange}\r\n onSelect={this.onSelect}\r\n renderItem={this.renderAutocompleteItem}\r\n renderMenu={this.renderAutocompleteMenu}\r\n shouldItemRender={this.shouldItemRender}\r\n value={selectedUserName}\r\n wrapperStyle={teammembersPage ? WRAPPER_STYLE_TEAMMEMBERS : WRAPPER_STYLE}\r\n />\r\n );\r\n }\r\n}\r\n\r\nexport default injectIntl(UserAutocomplete);\r\n","import { FormattedMessage, injectIntl, intlShape } from 'react-intl';\r\nimport { PropTypes } from 'prop-types';\r\nimport enhanceWithClickOutside from 'react-click-outside';\r\nimport React, { Component } from 'react';\r\nimport UserAutocomplete from 'components/shared/user-autocomplete/user-autocomplete';\r\n\r\nimport {\r\n getProjectUsers,\r\n createProjectItemAssignments,\r\n deleteProjectItemAssignments,\r\n getProjectItemAssignments\r\n} from 'store/api';\r\nimport Button from 'components/shared/single-click-button';\r\nimport Icon from 'components/shared/icon';\r\n\r\nclass AssignPopover extends Component {\r\n _isMounted = false;\r\n\r\n static propTypes = {\r\n intl: intlShape,\r\n invalidate: PropTypes.func,\r\n onClose: PropTypes.func.isRequired,\r\n projectId: PropTypes.string.isRequired,\r\n selectedItems: PropTypes.object.isRequired\r\n };\r\n\r\n state = {\r\n assignments: [],\r\n isLoading: true,\r\n isProcessing: false,\r\n selectedUser: null,\r\n userName: '',\r\n users: null\r\n };\r\n\r\n static defaultProps = {\r\n invalidate: () => {}\r\n };\r\n\r\n componentDidMount() {\r\n this._isMounted = true;\r\n\r\n Promise.all([this.getAssignments(), this.getProjectUsers()]).then(() => {\r\n this.setState({\r\n isLoading: false\r\n });\r\n });\r\n }\r\n\r\n componentWillUnmount() {\r\n this._isMounted = false;\r\n }\r\n\r\n get selectedItemIds() {\r\n const { selectedItems } = this.props;\r\n\r\n return Object.keys(selectedItems).filter(id => selectedItems[id]);\r\n }\r\n\r\n getProjectUsers = () => {\r\n const { projectId } = this.props;\r\n return getProjectUsers({ projectId }).then(response => {\r\n this.setState({\r\n users: response.data.map(user => user.userDetail).filter(user => user.email && user.displayName)\r\n });\r\n });\r\n };\r\n\r\n getAssignments = () => {\r\n const { projectId } = this.props;\r\n return getProjectItemAssignments({\r\n projectId,\r\n projectItemIds: this.selectedItemIds\r\n }).then(response => {\r\n if (!this._isMounted) return;\r\n\r\n const allAssignments = response.data;\r\n const assignments = [];\r\n const userIds = {};\r\n\r\n // Need to merge all assignments that have the same userId to avoid\r\n // showing duplicates in the UI\r\n for (let assignment of allAssignments) {\r\n if (userIds[assignment.userId]) {\r\n userIds[assignment.userId].projectItemId.push(assignment.projectItemId);\r\n } else {\r\n const modified = { ...assignment, projectItemId: [assignment.projectItemId] };\r\n assignments.push(modified);\r\n userIds[assignment.userId] = modified;\r\n }\r\n }\r\n\r\n this.setState({ assignments });\r\n });\r\n };\r\n\r\n searchUsers = keyword => {\r\n const { users } = this.state;\r\n return Promise.resolve(users);\r\n };\r\n\r\n handleClickOutside = () => {\r\n const { onClose } = this.props;\r\n onClose();\r\n };\r\n\r\n onSubmit = event => {\r\n event.preventDefault();\r\n this.addAssignment();\r\n };\r\n\r\n addAssignment = () => {\r\n const { projectId, invalidate } = this.props;\r\n const { selectedUser } = this.state;\r\n\r\n this.setState({ isProcessing: true });\r\n createProjectItemAssignments({\r\n projectId,\r\n projectItemIds: this.selectedItemIds,\r\n userId: selectedUser.userId\r\n })\r\n .then(() => {\r\n this.setState({ isProcessing: false, userName: '', selectedUser: null });\r\n this.getAssignments();\r\n invalidate();\r\n })\r\n .catch(() => {\r\n this.setState({ isProcessing: false, userName: '', selectedUser: null });\r\n });\r\n };\r\n\r\n removeAssignment = assignment => {\r\n const { projectId, invalidate } = this.props;\r\n\r\n deleteProjectItemAssignments({\r\n projectId,\r\n projectItemIds: assignment.projectItemId,\r\n userId: assignment.userId\r\n }).then(() => {\r\n this.getAssignments();\r\n invalidate();\r\n });\r\n };\r\n\r\n onUserNameChange = event => {\r\n const userName = event.target.value;\r\n\r\n if (userName) {\r\n this.setState({ userName });\r\n } else {\r\n this.setState({ userName: '', selectedUser: null });\r\n }\r\n };\r\n\r\n onSelectUser = (userName, selectedUser) => {\r\n this.setState({ userName, selectedUser });\r\n };\r\n\r\n get isAddEnabled() {\r\n const { assignments, selectedUser, isProcessing } = this.state;\r\n\r\n // Disallow if no user is selected, or the component is in processing state\r\n if (!selectedUser || isProcessing) return false;\r\n\r\n const selectedUserAssignment = assignments.find(assignment => assignment.userId === selectedUser.userId);\r\n\r\n // If there is not yet an assignment for this user\r\n if (!selectedUserAssignment) return true;\r\n\r\n // If this user is already assigned to every selected project item, then don't allow them to click the add button\r\n return !this.selectedItemIds.every(selectedItemId =>\r\n selectedUserAssignment.projectItemId.find(projectItemId => parseInt(selectedItemId, 10) === projectItemId)\r\n );\r\n }\r\n\r\n render() {\r\n const {\r\n intl: { formatMessage },\r\n onClose\r\n } = this.props;\r\n\r\n const { assignments, userName, isLoading } = this.state;\r\n\r\n if (isLoading) {\r\n return (\r\n
\r\n \r\n
\r\n );\r\n }\r\n\r\n return (\r\n
\r\n
\r\n

\r\n \r\n

\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n {assignments.map(assignment => (\r\n
\r\n {assignment.user.preferredFullName}\r\n \r\n
\r\n ))}\r\n
\r\n
\r\n
\r\n
\r\n );\r\n }\r\n}\r\n\r\nexport default injectIntl(enhanceWithClickOutside(AssignPopover));\r\n","import { injectIntl, intlShape } from 'react-intl';\r\nimport PropTypes from 'prop-types';\r\nimport React, { Component } from 'react';\r\n\r\nimport Icon from 'components/shared/icon';\r\nimport ItemList from 'components/file-browser/file-list/item-list';\r\nimport AssignPopover from 'components/file-browser/toolbar/assign-popover';\r\n\r\n/*\r\n The assign cell of the file list table\r\n\r\n Handles showing and hiding the add/remove assign popover\r\n*/\r\nclass AssignCell extends Component {\r\n static propTypes = {\r\n assignments: PropTypes.array,\r\n expand: PropTypes.func,\r\n intl: intlShape,\r\n invalidate: PropTypes.func,\r\n isExpanded: PropTypes.bool,\r\n projectId: PropTypes.string.isRequired,\r\n projectItemId: PropTypes.number,\r\n readOnly: PropTypes.bool\r\n };\r\n\r\n state = {\r\n isHovering: false,\r\n isEditing: false\r\n };\r\n\r\n onEditClick = () => {\r\n this.setState({ isEditing: true });\r\n };\r\n\r\n onPopoverClose = () => {\r\n this.setState({ isHovering: false, isEditing: false });\r\n };\r\n\r\n onMouseEnter = () => {\r\n this.setState({\r\n isHovering: true\r\n });\r\n };\r\n\r\n onMouseLeave = () => {\r\n this.setState({\r\n isHovering: false\r\n });\r\n };\r\n\r\n renderName = assignment => {\r\n return assignment.user.preferredFullName;\r\n };\r\n\r\n render() {\r\n const { expand, isExpanded, projectItemId, projectId, assignments, readOnly, invalidate } = this.props;\r\n const { isHovering, isEditing } = this.state;\r\n\r\n return readOnly ? (\r\n
\r\n this.renderName(assignment))}\r\n name={`assignments-${projectItemId}`}\r\n isExpanded={isExpanded}\r\n expand={expand}\r\n />\r\n
\r\n ) : (\r\n
\r\n {(!isHovering && !isEditing) || assignments.length ? (\r\n this.renderName(assignment))}\r\n name={`assignments-${projectItemId}`}\r\n isExpanded={isExpanded}\r\n expand={expand}\r\n />\r\n ) : null}\r\n
\r\n {(isHovering || isEditing) && (\r\n
\r\n \r\n
\r\n )}\r\n {isEditing && (\r\n \r\n )}\r\n
\r\n
\r\n );\r\n }\r\n}\r\n\r\nexport default injectIntl(AssignCell);\r\n","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport ColorHelper from 'components/extractions/helpers/colorHelper';\r\nimport ComplicatedIcon from 'components/extractions/complicated-icon/complicated-icon';\r\nimport { getCurrentRegion } from 'store/api';\r\nimport { Link } from 'react-router-dom';\r\nimport { FormattedMessage } from 'react-intl';\r\n\r\nconst FileListRecordItem = ({ recordData, projectId, templateCategoryID }) => {\r\n const className = 'file-list-record-item';\r\n const region = getCurrentRegion();\r\n const target = `/region/${region}/project/${projectId}/document/${recordData.projectItemId}?page=${recordData.pageNumber}`;\r\n\r\n return (\r\n \r\n
\r\n
\r\n
\r\n \r\n {recordData.extractionFieldName}\r\n
\r\n \r\n
\r\n\r\n
\r\n {recordData.extractFieldInstanceData}\r\n
\r\n
\r\n {recordData.tags?.map(tagName => (\r\n
\r\n {tagName}\r\n
\r\n ))}\r\n
\r\n {recordData.pageNumber}/{recordData.pageCount}\r\n
\r\n
\r\n
\r\n \r\n );\r\n};\r\n\r\nFileListRecordItem.propTypes = {\r\n recordData: PropTypes.object.isRequired,\r\n templateCategoryID: PropTypes.number\r\n};\r\n\r\nexport default FileListRecordItem;\r\n","export const PROJECT_ITEM_RESERVED_CHARACTERS_REGEX = /<|>|:|\"|\\\\|\\/|\\||\\?|\\*/;\r\n\r\nexport const isProjectItemNameValid = name => {\r\n return name && !PROJECT_ITEM_RESERVED_CHARACTERS_REGEX.test(name);\r\n};\r\n","import { Link } from 'react-router-dom';\r\nimport classNames from 'classnames';\r\nimport PropTypes from 'prop-types';\r\nimport React, { Component } from 'react';\r\nimport { FormattedMessage } from 'react-intl';\r\n\r\nimport { hasError, ERROR_CODES } from 'utils/errors';\r\nimport { isProjectItemNameValid } from 'utils/validation';\r\nimport { ITEM_TYPE_ICONS } from 'components/file-browser/file-list/constants';\r\nimport { ITEM_TYPES } from 'models/project-item';\r\nimport Icon from 'components/shared/icon';\r\n\r\nconst getFileExtension = (fileName, itemTypeId) => {\r\n if (itemTypeId === ITEM_TYPES.FOLDER) {\r\n return '';\r\n }\r\n\r\n const result = /\\.[0-9a-z]+$/i.exec(fileName);\r\n return result ? result[0] : '';\r\n};\r\n\r\n/*\r\n The name cell of the file list table\r\n\r\n Handles editing the name of the document or folder\r\n*/\r\nexport default class NameCell extends Component {\r\n static propTypes = {\r\n invalidate: PropTypes.func,\r\n isSearchResultsPage: PropTypes.bool,\r\n itemName: PropTypes.string,\r\n itemStateId: PropTypes.number,\r\n itemTypeId: PropTypes.number,\r\n link: PropTypes.string,\r\n onNameClick: PropTypes.func,\r\n projectId: PropTypes.string.isRequired,\r\n projectItemId: PropTypes.number,\r\n readOnly: PropTypes.bool,\r\n renameItem: PropTypes.func.isRequired\r\n };\r\n\r\n inputElem = null;\r\n\r\n state = {\r\n error: null,\r\n inputValue: this.props.itemName.replace(getFileExtension(this.props.itemName, this.props.itemTypeId), ''),\r\n isEditing: false,\r\n isHovering: false\r\n };\r\n\r\n onMouseEnter = () => {\r\n this.setState({\r\n isHovering: true\r\n });\r\n };\r\n\r\n onMouseLeave = () => {\r\n this.setState({\r\n isHovering: false\r\n });\r\n };\r\n\r\n onEditClick = () => {\r\n this.setState({\r\n isEditing: true,\r\n inputValue: this.props.itemName.replace(getFileExtension(this.props.itemName, this.props.itemTypeId), '')\r\n });\r\n };\r\n\r\n onInputChange = event => {\r\n const inputValue = event.target.value;\r\n this.setState({\r\n inputValue\r\n });\r\n\r\n if (isProjectItemNameValid(inputValue)) {\r\n if (this.state.error) {\r\n this.setState({ error: null });\r\n }\r\n } else {\r\n if (!this.state.error) {\r\n this.setState({ error: 'file-list.item-name-error' });\r\n }\r\n }\r\n };\r\n\r\n onBlur = () => {\r\n const { itemName, itemTypeId, projectItemId, projectId, renameItem, invalidate } = this.props;\r\n const { inputValue } = this.state;\r\n\r\n const newName = inputValue + getFileExtension(itemName, itemTypeId);\r\n\r\n // If name was not changed, ignore\r\n if (itemName === newName) {\r\n this.setState({ isEditing: false, error: null });\r\n return;\r\n }\r\n\r\n if (isProjectItemNameValid(inputValue)) {\r\n renameItem({\r\n newName,\r\n oldName: itemName,\r\n itemTypeId,\r\n projectItemId,\r\n projectId\r\n })\r\n .then(() => {\r\n this.setState({ isEditing: false, error: null });\r\n invalidate();\r\n })\r\n .catch(error => {\r\n if (\r\n hasError(error, ERROR_CODES.DOCUMENT_NAME_DUPLICATE) ||\r\n hasError(error, ERROR_CODES.FOLDER_NAME_DUPLICATE)\r\n ) {\r\n this.setState({ error: 'file-list.item-duplicate-name-error' });\r\n } else {\r\n throw error;\r\n }\r\n });\r\n } else {\r\n this.setState({ error: 'file-list.item-name-error' });\r\n }\r\n };\r\n\r\n mountInput = elem => {\r\n if (!elem) {\r\n return;\r\n }\r\n\r\n this.inputElem = elem;\r\n this.inputElem.focus();\r\n document.execCommand('selectAll', false, null);\r\n };\r\n\r\n onKeyDown = event => {\r\n const { itemName } = this.props;\r\n\r\n if (event.key === 'Enter') {\r\n // Submit on Enter\r\n event.preventDefault();\r\n this.inputElem.blur();\r\n } else if (event.key === 'Escape') {\r\n // Reset on Esc\r\n this.setState({\r\n isEditing: false,\r\n error: null,\r\n inputValue: itemName.replace(getFileExtension(this.props.itemName, this.props.itemTypeId), '')\r\n });\r\n }\r\n };\r\n\r\n render() {\r\n const { itemTypeId, itemName, link, isSearchResultsPage, onNameClick, readOnly } = this.props;\r\n const { isHovering, isEditing, inputValue, error } = this.state;\r\n\r\n const extension = getFileExtension(itemName, itemTypeId);\r\n\r\n return (\r\n
\r\n {isEditing ? (\r\n
\r\n {itemTypeId === ITEM_TYPES.FOLDER ? (\r\n \r\n ) : null}\r\n
\r\n
\r\n \r\n
{extension}
\r\n
\r\n {error && (\r\n
\r\n \r\n
\r\n )}\r\n
\r\n
\r\n ) : isSearchResultsPage ? (\r\n
\r\n {itemTypeId === ITEM_TYPES.FOLDER ? (\r\n \r\n ) : null}\r\n {itemName}\r\n
\r\n ) : (\r\n {\r\n e.stopPropagation();\r\n }}\r\n to={link}\r\n className=\"file-list__name\"\r\n title={itemName}\r\n data-ignore-mouse-down\r\n >\r\n {itemTypeId === ITEM_TYPES.FOLDER ? (\r\n \r\n ) : null}\r\n {itemName}\r\n \r\n )}\r\n {readOnly ? null : (\r\n
\r\n {isHovering && !isEditing ? (\r\n
\r\n \r\n
\r\n ) : null}\r\n
\r\n )}\r\n
\r\n );\r\n }\r\n}\r\n","import React, { Component } from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport classNames from 'classnames';\r\n\r\nimport Button from 'components/shared/single-click-button';\r\nimport Modal from 'components/shared/modal';\r\nimport Checkbox from 'components/shared/form/checkbox';\r\n\r\nclass ConfirmModal extends Component {\r\n static propTypes = {\r\n body: PropTypes.any,\r\n cancelText: PropTypes.any,\r\n checkboxCopy: PropTypes.any,\r\n className: PropTypes.string,\r\n confirmText: PropTypes.any,\r\n disableSubmit: PropTypes.bool,\r\n message: PropTypes.any,\r\n onCancel: PropTypes.func.isRequired,\r\n onSubmit: PropTypes.func.isRequired,\r\n title: PropTypes.any\r\n };\r\n\r\n state = {\r\n isChecked: true\r\n };\r\n\r\n onCheckboxChange = () => this.setState({ isChecked: !this.state.isChecked });\r\n\r\n onSubmit = e => {\r\n const { onSubmit, checkboxCopy } = this.props;\r\n if (checkboxCopy) {\r\n const { isChecked } = this.state;\r\n return onSubmit(e, isChecked);\r\n }\r\n return onSubmit(e);\r\n };\r\n\r\n onCancel = e => this.props.onCancel(e);\r\n\r\n render() {\r\n const { className, disableSubmit, title, message, body, cancelText, confirmText, checkboxCopy } = this.props;\r\n const { isChecked } = this.state;\r\n const checkboxState = isChecked ? 'checked' : 'unchecked';\r\n return (\r\n \r\n
\r\n

{title}

\r\n {message &&

{message}

}\r\n {body &&
{body}
}\r\n {checkboxCopy && (\r\n
\r\n \r\n \r\n
\r\n )}\r\n
\r\n {cancelText && (\r\n \r\n )}\r\n \r\n
\r\n
\r\n
\r\n );\r\n }\r\n}\r\n\r\nexport default ConfirmModal;\r\n","import { FormattedMessage, injectIntl, intlShape } from 'react-intl';\r\nimport { PropTypes } from 'prop-types';\r\nimport Autocomplete from 'react-autocomplete';\r\nimport classNames from 'classnames';\r\nimport enhanceWithClickOutside from 'react-click-outside';\r\nimport React, { Component } from 'react';\r\n\r\nimport { getProjectTags, createProjectTag, getItemTags, addItemTag, removeItemTag } from 'store/api';\r\nimport { sortByKey } from 'utils/string-utils';\r\nimport { TAG_TYPES } from 'models/project-item';\r\nimport Button from 'components/shared/single-click-button';\r\nimport Icon from 'components/shared/icon';\r\nimport Confirm from 'components/shared/confirm';\r\nimport Constants from 'utils/constants';\r\nimport store from 'store/store';\r\nimport { addNotification } from 'store/notifications.js';\r\nimport socket from 'utils/socket';\r\n\r\nclass TagsPopover extends Component {\r\n static propTypes = {\r\n intl: intlShape,\r\n invalidate: PropTypes.func,\r\n onClose: PropTypes.func.isRequired,\r\n projectId: PropTypes.string.isRequired,\r\n selectedItems: PropTypes.object.isRequired,\r\n visualsPageMode: PropTypes.bool\r\n };\r\n\r\n state = {\r\n isLoading: true,\r\n isProcessing: false,\r\n itemTags: [],\r\n projectTags: [],\r\n tagName: '',\r\n showConfirmationModal: false\r\n };\r\n\r\n componentDidMount() {\r\n const { visualsPageMode } = this.props;\r\n\r\n /* Disabled until delete issue is fixed */\r\n socket.on('document.tag.added', this.onTagAddedToDocument);\r\n socket.on('document.tag.removed', this.onTagRemovedFromDocument);\r\n\r\n let getItemTags;\r\n if (visualsPageMode) {\r\n getItemTags = Promise.resolve();\r\n this.setState({ itemTags: [] });\r\n } else {\r\n getItemTags = this.getItemTags();\r\n }\r\n\r\n Promise.all([this.getProjectTags(), getItemTags]).then(() => {\r\n this.setState({ isLoading: false });\r\n });\r\n }\r\n\r\n componentWillUnmount() {\r\n /* Disabled until delete issue is fixed */\r\n socket.off('document.tag.added', this.onTagAddedToDocument);\r\n socket.off('document.tag.removed', this.onTagRemovedFromDocument);\r\n }\r\n\r\n get selectedItemIds() {\r\n const { selectedItems } = this.props;\r\n\r\n return Object.keys(selectedItems).filter(id => selectedItems[id]);\r\n }\r\n\r\n getProjectTags() {\r\n const { projectId } = this.props;\r\n return getProjectTags({ projectId }).then(response => {\r\n this.setState({\r\n projectTags: sortByKey('tagName', Object.values(response.data.tags))\r\n });\r\n });\r\n }\r\n\r\n getItemTags = () => {\r\n const { projectId } = this.props;\r\n\r\n return getItemTags({ projectId, items: this.selectedItemIds }).then(responses => {\r\n const itemTagsById = {};\r\n responses.data.tags.forEach(tag => {\r\n itemTagsById[tag.tagId] = tag;\r\n });\r\n\r\n this.setState({\r\n itemTags: sortByKey('tagName', Object.values(itemTagsById))\r\n });\r\n });\r\n };\r\n\r\n handleClickOutside() {\r\n const { onClose } = this.props;\r\n const { showConfirmationModal } = this.state;\r\n\r\n if (!showConfirmationModal) {\r\n onClose();\r\n }\r\n }\r\n\r\n onSubmit = event => {\r\n const { visualsPageMode } = this.props;\r\n\r\n event.preventDefault();\r\n\r\n if (visualsPageMode) {\r\n this.setState({ showConfirmationModal: true });\r\n } else {\r\n this.addTag();\r\n }\r\n };\r\n\r\n addTag = () => {\r\n const { projectId, visualsPageMode, onClose, invalidate } = this.props;\r\n const { tagName, projectTags } = this.state;\r\n\r\n const existingTag = projectTags\r\n .filter(({ tagTypeId }) => tagTypeId === TAG_TYPES.USER)\r\n .find(tag => tag.tagName.toLowerCase() === tagName.toLowerCase());\r\n\r\n let promise = existingTag\r\n ? Promise.resolve(existingTag)\r\n : createProjectTag({ projectId, tagName }).then(response => response.data);\r\n\r\n promise.then(newOrExistingTag => {\r\n return addItemTag({ projectId, items: this.selectedItemIds, tag: newOrExistingTag }).then(() => {\r\n invalidate && invalidate();\r\n\r\n let itemTags = this.state.itemTags;\r\n let projectTags = this.state.projectTags;\r\n\r\n if (!itemTags.find(tag => tag.tagId === newOrExistingTag.tagId)) {\r\n itemTags = sortByKey('tagName', [...this.state.itemTags, newOrExistingTag]);\r\n }\r\n\r\n if (!projectTags.find(tag => tag.tagId === newOrExistingTag.tagId)) {\r\n projectTags = sortByKey('tagName', [...this.state.projectTags, newOrExistingTag]);\r\n }\r\n\r\n this.setState({\r\n itemTags,\r\n projectTags,\r\n isProcessing: false,\r\n tagName: ''\r\n });\r\n });\r\n });\r\n\r\n if (visualsPageMode) {\r\n promise.then(() => {\r\n onClose();\r\n store.dispatch(\r\n addNotification({\r\n message: ,\r\n clearOnPageChange: true,\r\n autohide: 10\r\n })\r\n );\r\n });\r\n this.setState({ showConfirmationModal: false });\r\n }\r\n\r\n promise.catch(() => {\r\n this.setState({ isProcessing: false });\r\n });\r\n };\r\n\r\n removeItemTag = tag => {\r\n const { projectId, invalidate } = this.props;\r\n removeItemTag({ projectId, items: this.selectedItemIds, tag }).then(() => {\r\n invalidate && invalidate();\r\n\r\n this.setState({\r\n itemTags: this.state.itemTags.filter(value => value.tagId !== tag.tagId)\r\n });\r\n });\r\n };\r\n\r\n onTagNameChange = newValue => {\r\n this.setState({\r\n tagName: newValue\r\n });\r\n };\r\n\r\n renderTagName = tag => {\r\n // const { intl: { formatMessage } } = this.props;\r\n // switch (tag.tagTypeId) {\r\n // case TAG_TYPES.SYSTEM_DUPLICATE:\r\n // return `${formatMessage({ id: 'file-browser.tags-popover.duplicate-tag' })} - ${tag.tagName}`;\r\n // case TAG_TYPES.USER:\r\n // default:\r\n // return tag.tagName;\r\n // }\r\n return tag.tagName;\r\n };\r\n\r\n /*\r\n Handle a tag being added to a document\r\n */\r\n onTagAddedToDocument = response => {\r\n let itemTags = this.state.itemTags;\r\n let projectTags = this.state.projectTags;\r\n let documentId = response.data.documentId;\r\n let updatedTag = response.data.tag;\r\n\r\n // If tag was added to a document that is not part of the selected items, ignore\r\n if (!this.selectedItemIds.some(id => id === documentId.toString())) {\r\n return;\r\n }\r\n\r\n const itemTag = itemTags.find(tag => tag.tagId === updatedTag.tagId);\r\n\r\n if (!itemTag) {\r\n // If that tag was not already present on one of the selecte items\r\n // create a new entry for it\r\n itemTags = sortByKey('tagName', [\r\n ...this.state.itemTags,\r\n { ...updatedTag, tagProjectItems: [{ projectItemId: documentId }] }\r\n ]);\r\n } else {\r\n // If the tag is already present on one of the selected items,\r\n // just mark that the tag was added to the document\r\n itemTag.tagProjectItems.push({ projectItemId: documentId });\r\n }\r\n\r\n // Add the tag to projectTags if necessary\r\n if (!projectTags.find(tag => tag.tagId === updatedTag.tagId)) {\r\n projectTags = sortByKey('tagName', [...this.state.projectTags, updatedTag]);\r\n }\r\n\r\n this.setState({ itemTags, projectTags });\r\n };\r\n\r\n /*\r\n Handle a tag being removed from a document\r\n */\r\n onTagRemovedFromDocument = response => {\r\n let { itemTags } = this.state;\r\n let documentId = response.data.documentId;\r\n\r\n // If tag was removed from a document that is not part of the selected items, ignore\r\n if (!this.selectedItemIds.some(id => id === documentId.toString())) {\r\n return;\r\n }\r\n\r\n const tag = itemTags.find(tag => tag.tagId === response.data.tagId);\r\n\r\n if (!tag) {\r\n return;\r\n }\r\n\r\n // TODO: may need to filter any tagProject items that are not part of selectedItemIds\r\n tag.tagProjectItems = tag.tagProjectItems.filter(tagProjectItem => tagProjectItem.projectItemId !== documentId);\r\n\r\n if (!tag.tagProjectItems.length) {\r\n itemTags = itemTags.filter(itemTag => itemTag.tagId !== tag.tagId);\r\n }\r\n\r\n this.setState({ itemTags });\r\n };\r\n\r\n renderAutocompleteInput = props => {\r\n const {\r\n intl: { formatMessage }\r\n } = this.props;\r\n\r\n return (\r\n \r\n );\r\n };\r\n\r\n renderAutocompleteMenu = items =>
;\r\n\r\n renderAutocompleteItem = (item, isHighlighted) => (\r\n \r\n {item}\r\n
\r\n );\r\n\r\n render() {\r\n const { visualsPageMode, onClose } = this.props;\r\n const { tagName, projectTags, itemTags, isProcessing, isLoading, showConfirmationModal } = this.state;\r\n\r\n if (isLoading) {\r\n return (\r\n
\r\n \r\n
\r\n );\r\n }\r\n\r\n const menuItems = projectTags\r\n .filter(({ tagTypeId }) => tagTypeId === TAG_TYPES.USER)\r\n .map(tag => this.renderTagName(tag));\r\n\r\n const filteredItemTags = itemTags.filter(\r\n tag =>\r\n tag.tagTypeId !== Constants.DocumentTagTypes.LANGUAGE &&\r\n tag.tagTypeId !== Constants.DocumentTagTypes.DOCUMENT_TYPE\r\n );\r\n\r\n return (\r\n
\r\n
\r\n

\r\n \r\n

\r\n \r\n
\r\n
\r\n
\r\n
\r\n item}\r\n items={menuItems}\r\n onChange={event => this.onTagNameChange(event.target.value)}\r\n onSelect={this.onTagNameChange}\r\n renderInput={this.renderAutocompleteInput}\r\n renderItem={this.renderAutocompleteItem}\r\n renderMenu={this.renderAutocompleteMenu}\r\n shouldItemRender={(item, value) => value && item.toLowerCase().indexOf(value.toLowerCase()) > -1}\r\n value={tagName}\r\n wrapperStyle={{ display: 'block' }}\r\n />\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n {!visualsPageMode && (\r\n
\r\n
\r\n \r\n
\r\n {filteredItemTags.map(tag => (\r\n \r\n {this.renderTagName(tag)}\r\n {tag.tagTypeId === TAG_TYPES.USER && (\r\n \r\n )}\r\n
\r\n ))}\r\n
\r\n
\r\n
\r\n )}\r\n {showConfirmationModal && (\r\n this.setState({ showConfirmationModal: false })}\r\n onSubmit={this.addTag}\r\n title={}\r\n message={}\r\n cancelText={}\r\n confirmText={}\r\n />\r\n )}\r\n \r\n );\r\n }\r\n}\r\n\r\nexport default injectIntl(enhanceWithClickOutside(TagsPopover));\r\n","import { injectIntl, intlShape } from 'react-intl';\r\nimport PropTypes from 'prop-types';\r\nimport React, { Component } from 'react';\r\n\r\nimport Icon from 'components/shared/icon';\r\nimport ItemList from 'components/file-browser/file-list/item-list';\r\nimport TagsPopover from 'components/file-browser/toolbar/tags-popover';\r\nimport Constants from 'utils/constants';\r\n\r\n/*\r\n The tags cell of the file list table\r\n\r\n Handles showing and hiding the add/remove tags popover\r\n*/\r\nclass TagsCell extends Component {\r\n static propTypes = {\r\n expand: PropTypes.func,\r\n intl: intlShape,\r\n invalidate: PropTypes.func,\r\n isExpanded: PropTypes.bool,\r\n projectId: PropTypes.string.isRequired,\r\n projectItemId: PropTypes.number,\r\n readOnly: PropTypes.bool,\r\n tags: PropTypes.array\r\n };\r\n\r\n state = {\r\n isHovering: false,\r\n isEditing: false\r\n };\r\n\r\n onEditClick = () => {\r\n this.setState({ isEditing: true });\r\n };\r\n\r\n onPopoverClose = () => {\r\n this.setState({ isHovering: false, isEditing: false });\r\n };\r\n\r\n onMouseEnter = () => {\r\n this.setState({\r\n isHovering: true\r\n });\r\n };\r\n\r\n onMouseLeave = () => {\r\n this.setState({\r\n isHovering: false\r\n });\r\n };\r\n\r\n renderTagName = tag => {\r\n // const { intl: { formatMessage } } = this.props;\r\n // switch (tag.tagTypeId) {\r\n // case TAG_TYPES.SYSTEM_DUPLICATE:\r\n // return `${formatMessage({ id: 'file-browser.tags-popover.duplicate-tag' })} - ${tag.tagName}`;\r\n // case TAG_TYPES.USER:\r\n // default:\r\n // return tag.tagName;\r\n // }\r\n return tag.tagName;\r\n };\r\n\r\n render() {\r\n const { expand, isExpanded, projectItemId, projectId, tags, invalidate, readOnly } = this.props;\r\n const { isHovering, isEditing } = this.state;\r\n\r\n const filteredTags = tags.filter(\r\n tag =>\r\n tag.tagTypeId !== Constants.DocumentTagTypes.LANGUAGE &&\r\n tag.tagTypeId !== Constants.DocumentTagTypes.DOCUMENT_TYPE\r\n );\r\n\r\n return readOnly ? (\r\n
\r\n tag.tagName)}\r\n name={`tags-${projectItemId}`}\r\n isExpanded={isExpanded}\r\n expand={expand}\r\n />\r\n
\r\n ) : (\r\n
\r\n {(!isHovering && !isEditing) || filteredTags.length ? (\r\n this.renderTagName(tag))}\r\n name={`tags-${projectItemId}`}\r\n isExpanded={isExpanded}\r\n expand={expand}\r\n />\r\n ) : null}\r\n
\r\n {(isHovering || isEditing) && (\r\n
\r\n \r\n
\r\n )}\r\n {isEditing && (\r\n \r\n )}\r\n
\r\n
\r\n );\r\n }\r\n}\r\n\r\nexport default injectIntl(TagsCell);\r\n","import { DragSource, DropTarget } from 'react-dnd';\r\nimport classNames from 'classnames';\r\nimport enhanceWithClickOutside from 'react-click-outside';\r\nimport PropTypes from 'prop-types';\r\nimport React, { PureComponent, Fragment } from 'react';\r\n\r\nimport {\r\n COLUMN_OPTIONS,\r\n DEFAULT_COLUMN_ROOTSHOW,\r\n COLUMN_OPTIONS_DOCSHOW,\r\n DEFAULT_COLUMN_ROOTSHOWForProjects\r\n} from 'store/file-browser-column-options';\r\nimport { getCurrentRegion } from 'store/api';\r\nimport { ITEM_STATUS_NAMES, ITEM_STATUS_CLASSNAMES } from 'components/file-browser/file-list/constants';\r\nimport { ProjectItem, ITEM_TYPES } from 'models/project-item';\r\nimport AssignCell from 'components/file-browser/file-list/assign-cell';\r\nimport Checkbox from 'components/shared/form/checkbox';\r\nimport dateUtil from 'utils/dateUtil';\r\nimport FileListRecordItem from 'components/file-browser/file-list/file-list-record-item';\r\nimport ItemList from 'components/file-browser/file-list/item-list';\r\nimport NameCell from 'components/file-browser/file-list/name-cell';\r\nimport Permissions from 'permissions/permissions';\r\nimport TagsCell from 'components/file-browser/file-list/tags-cell';\r\nimport constants from 'utils/constants';\r\nimport { FormattedMessage } from 'react-intl';\r\n/*\r\n A single row of the file list table\r\n\r\n The class is wrapped by react dnd to allow drag and drop\r\n*/\r\nclass FileListRow extends PureComponent {\r\n static propTypes = {\r\n collapseExpandedRows: PropTypes.func.isRequired,\r\n columnOptions: PropTypes.object.isRequired,\r\n connectDragSource: PropTypes.func.isRequired,\r\n connectDropTarget: PropTypes.func.isRequired,\r\n currentFolder: PropTypes.object.isRequired,\r\n deselectItem: PropTypes.func.isRequired,\r\n expand: PropTypes.func.isRequired,\r\n invalidate: PropTypes.func.isRequired,\r\n isDraggingOver: PropTypes.bool,\r\n isExpanded: PropTypes.bool.isRequired,\r\n isSearchResultsPage: PropTypes.bool.isRequired,\r\n isSelected: PropTypes.bool,\r\n moveItems: PropTypes.func.isRequired,\r\n onNameClick: PropTypes.func,\r\n onRowMouseDown: PropTypes.func.isRequired,\r\n projectId: PropTypes.string.isRequired,\r\n projectItem: PropTypes.instanceOf(ProjectItem),\r\n readOnly: PropTypes.bool,\r\n renameItem: PropTypes.func.isRequired,\r\n selectItem: PropTypes.func.isRequired,\r\n setIsDraggingValidItem: PropTypes.func.isRequired,\r\n currentProject: PropTypes.object\r\n };\r\n\r\n onCheckboxChange = (id, checked) => {\r\n const { selectItem, deselectItem, projectItem } = this.props;\r\n\r\n if (checked === 'checked') {\r\n selectItem(projectItem.projectItemId);\r\n } else {\r\n deselectItem(projectItem.projectItemId);\r\n }\r\n };\r\n\r\n // Check if the target or a parent of the target has the data-ignore-mouse-down attribute\r\n // This means we should ignore the mousedown event\r\n shouldIgnoreMouseDown = elem => {\r\n if (this.props.readOnly) {\r\n return true;\r\n }\r\n while (elem.parentNode) {\r\n if (elem.getAttribute('data-ignore-mouse-down')) {\r\n return true;\r\n }\r\n\r\n elem = elem.parentNode;\r\n }\r\n\r\n return false;\r\n };\r\n\r\n onRowMouseDown = event => {\r\n const { onRowMouseDown, projectItem, setIsDraggingValidItem } = this.props;\r\n\r\n if (!this.shouldIgnoreMouseDown(event.target)) {\r\n setIsDraggingValidItem(true);\r\n onRowMouseDown(projectItem.projectItemId);\r\n return;\r\n }\r\n\r\n setIsDraggingValidItem(false);\r\n };\r\n\r\n handleClickOutside = () => {\r\n const { isExpanded, collapseExpandedRows } = this.props;\r\n\r\n if (isExpanded) {\r\n collapseExpandedRows();\r\n }\r\n };\r\n\r\n getItemLink = (projectItemId, itemTypeId) => {\r\n const { projectId } = this.props;\r\n const itemType = itemTypeId === 1 ? 'folder' : 'document';\r\n\r\n return `/region/${getCurrentRegion()}/project/${projectId}/${itemType}/${projectItemId}`;\r\n };\r\n\r\n render() {\r\n const {\r\n columnOptions,\r\n connectDragSource,\r\n connectDropTarget,\r\n expand,\r\n isDraggingOver,\r\n isExpanded,\r\n isSelected,\r\n projectId,\r\n projectItem,\r\n renameItem,\r\n isSearchResultsPage,\r\n onNameClick,\r\n invalidate,\r\n readOnly,\r\n currentFolder,\r\n currentProject\r\n } = this.props;\r\n\r\n const {\r\n assignments,\r\n extractionFieldInstanceDetails,\r\n itemName,\r\n itemStateId,\r\n itemTypeId,\r\n lastProcessedDate,\r\n lastUpdatedDate,\r\n pageCount,\r\n projectItemId,\r\n projectTemplates,\r\n reviewers,\r\n tags,\r\n dateFormatPreference,\r\n autoDeleteDays,\r\n templateCategoryID\r\n } = projectItem;\r\n\r\n let defaultRootColumnsToShow = null;\r\n if (!isSearchResultsPage)\r\n defaultRootColumnsToShow =\r\n currentProject.projectTypeId == constants.ProjectTypes.WORKSPACE_PROJECT\r\n ? DEFAULT_COLUMN_ROOTSHOW\r\n : DEFAULT_COLUMN_ROOTSHOWForProjects;\r\n\r\n const TABLE_ROWS = {\r\n [COLUMN_OPTIONS.NAME]: (\r\n \r\n onNameClick(projectItemId, itemTypeId, extractionFieldInstanceDetails)}\r\n readOnly={readOnly || !Permissions.Project.Document.canModify()}\r\n />\r\n \r\n ),\r\n [COLUMN_OPTIONS.ID]: (\r\n \r\n {projectItemId}\r\n \r\n ),\r\n [COLUMN_OPTIONS.PAGES]: (\r\n \r\n {pageCount ? pageCount : '-'}\r\n \r\n ),\r\n [COLUMN_OPTIONS.ASSIGNEES]: (\r\n \r\n \r\n \r\n ),\r\n [COLUMN_OPTIONS.REVIEWERS]: (\r\n \r\n {\r\n if (a.lastProcessedDate && b.lastProcessedDate) {\r\n if (a.lastProcessedDate > b.lastProcessedDate) return -1;\r\n if (a.lastProcessedDate < b.lastProcessedDate) return 1;\r\n return 0;\r\n } else {\r\n if (a.lastUpdatedDate > b.lastUpdatedDate) return -1;\r\n if (a.lastUpdatedDate < b.lastUpdatedDate) return 1;\r\n return 0;\r\n }\r\n })\r\n .map(reviewer => reviewer.user.preferredFullName)}\r\n name={`reviewers-${projectItemId}`}\r\n isExpanded={isExpanded}\r\n expand={expand}\r\n />\r\n \r\n ),\r\n [COLUMN_OPTIONS.TAGS]: (\r\n \r\n \r\n \r\n ),\r\n [COLUMN_OPTIONS.TEMPLATE]: (\r\n \r\n template.name)}\r\n name={`template-${projectItemId}`}\r\n isExpanded={isExpanded}\r\n expand={expand}\r\n />\r\n \r\n ),\r\n [COLUMN_OPTIONS.STATUS]:\r\n itemTypeId === ITEM_TYPES.DOCUMENT ? (\r\n \r\n {!!ITEM_STATUS_CLASSNAMES[itemStateId] && (\r\n \r\n )}\r\n {ITEM_STATUS_NAMES[itemStateId]}\r\n \r\n ) : (\r\n \r\n ),\r\n [COLUMN_OPTIONS.DATEFORMATPREFERENCE]: (\r\n \r\n {dateFormatPreference == null ? '' : dateFormatPreference.toUpperCase()}\r\n \r\n ),\r\n [COLUMN_OPTIONS.PROCESSED_DATE]: (\r\n \r\n {dateUtil.formatDateTime(lastProcessedDate && itemTypeId !== 1 ? lastProcessedDate : lastUpdatedDate)}\r\n \r\n ),\r\n [COLUMN_OPTIONS.AUTO_DELETE]: (\r\n 3\r\n ? 'file-list__td-autodelete-yellow'\r\n : autoDeleteDays < 4\r\n ? 'file-list__td-autodelete-red'\r\n : 'file-list__td-autodelete'\r\n }\r\n >\r\n {currentProject?.projectTypeId == constants.ProjectTypes.WORKSPACE_PROJECT && (\r\n \r\n )}\r\n \r\n )\r\n };\r\n\r\n const hasExtractionFieldInstanceDetails = extractionFieldInstanceDetails && !!extractionFieldInstanceDetails.length;\r\n\r\n const row = (\r\n \r\n \r\n \r\n \r\n {columnOptions.order\r\n .filter(option => columnOptions.visibility[option])\r\n .map(option =>\r\n currentFolder.projectItemId == 0 && defaultRootColumnsToShow.indexOf(option) != -1\r\n ? TABLE_ROWS[option]\r\n : currentFolder.projectItemId != 0 && COLUMN_OPTIONS_DOCSHOW.indexOf(option) != -1 && TABLE_ROWS[option]\r\n )}\r\n \r\n \r\n );\r\n\r\n return (\r\n \r\n {connectDropTarget(connectDragSource(row))}\r\n {hasExtractionFieldInstanceDetails && (\r\n \r\n \r\n \r\n
\r\n {extractionFieldInstanceDetails\r\n ?.reduce((groupedRecords, currentRecordData) => {\r\n // group tags of the same record\r\n let existingIndex = -1;\r\n if (\r\n (existingIndex = groupedRecords.findIndex(\r\n ({ documentExtractionFieldInstanceId }) =>\r\n documentExtractionFieldInstanceId === currentRecordData.documentExtractionFieldInstanceId\r\n )) === -1\r\n ) {\r\n groupedRecords.push({\r\n ...currentRecordData,\r\n tags: currentRecordData.tagName ? [currentRecordData.tagName] : []\r\n });\r\n } else if (currentRecordData.tagName) {\r\n groupedRecords[existingIndex].tags.push(currentRecordData.tagName);\r\n }\r\n\r\n return groupedRecords;\r\n }, [])\r\n .map(recordData => (\r\n \r\n ))}\r\n
\r\n \r\n \r\n \r\n )}\r\n
\r\n );\r\n }\r\n}\r\n\r\n// Connect the row component to react dnd as both a drag source and drop target\r\nexport default DropTarget(\r\n 'file-list-row',\r\n {\r\n drop(props, monitor, component) {\r\n const distanceTravelled = monitor.getDifferenceFromInitialOffset();\r\n const hasPastThresholdDistance = Math.abs(distanceTravelled ? distanceTravelled.y : 0) > 8;\r\n\r\n if (hasPastThresholdDistance) {\r\n props.moveItems(props.projectItem);\r\n }\r\n }\r\n },\r\n (connect, monitor) => {\r\n return {\r\n isDraggingOver: monitor.isOver({ shallow: true }),\r\n connectDropTarget: connect.dropTarget()\r\n };\r\n }\r\n)(\r\n DragSource(\r\n 'file-list-row',\r\n {\r\n beginDrag(props, monitor) {\r\n props.itemDragStart(monitor);\r\n return {\r\n projectItem: props.projectItem\r\n };\r\n },\r\n canDrag: props => {\r\n return Permissions.Project.Document.canMove() && props.isDraggingValidItem;\r\n },\r\n endDrag(props) {\r\n props.itemDragEnd();\r\n }\r\n },\r\n (connect, monitor) => {\r\n return {\r\n connectDragSource: connect.dragSource()\r\n };\r\n }\r\n )(enhanceWithClickOutside(FileListRow))\r\n);\r\n","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport Icon from 'components/shared/icon';\r\nimport Checkbox from 'components/shared/form/checkbox';\r\nimport enhanceWithClickOutside from 'react-click-outside';\r\nimport { debounce } from 'underscore';\r\nimport Button from 'components/shared/single-click-button';\r\nimport { FormattedMessage, injectIntl } from 'react-intl';\r\n\r\nclass Sorting extends React.Component {\r\n _isMounted = false;\r\n\r\n static propTypes = {\r\n intl: PropTypes.any,\r\n filterFunction: PropTypes.func, // Returns an array of ids of filters selected, or an empty array for all\r\n filterOptions: PropTypes.any,\r\n filters: PropTypes.any,\r\n getFilterOptions: PropTypes.any,\r\n searchFunction: PropTypes.func, // Alternate if no filter function is provided, returns string of users entry\r\n searchQuery: PropTypes.any,\r\n sortDirection: PropTypes.any,\r\n sortFunction: PropTypes.func, // Returns true for ascending, false for descending\r\n sortKeyAscending: PropTypes.any, // If provided overrides the default sorting label\r\n sortKeyDescending: PropTypes.any, // If provided overrides the default sorting label\r\n toggleButton: PropTypes.func // Callback for when user clicks the arrow we can perform an action, ie refetch filter options\r\n };\r\n\r\n state = {\r\n allFilters: true,\r\n allFiltersArray: [],\r\n filteredFilters: [],\r\n filterText: '',\r\n showDropdown: false\r\n };\r\n\r\n componentDidMount = () => {\r\n this._isMounted = true;\r\n this.setUpFilters();\r\n };\r\n\r\n componentDidUpdate = (prevProps, prevState) => {\r\n // Reset state after closing the dropdown\r\n if (prevState.showDropdown && !this.state.showDropdown) {\r\n this.setState({\r\n allFilters: true,\r\n allFiltersArray: [],\r\n filteredFilters: [],\r\n filterText: ''\r\n });\r\n }\r\n\r\n if (this.props.filterOptions !== prevProps.filterOptions || this.props.filters !== prevProps.filters)\r\n this.setUpFilters();\r\n };\r\n\r\n componentWillUnmount() {\r\n this._isMounted = false;\r\n }\r\n\r\n handleClickOutside() {\r\n this.toggleDropdown(false);\r\n }\r\n\r\n setUpFilters = () => {\r\n const { getFilterOptions, filterFunction, intl } = this.props;\r\n\r\n if (!getFilterOptions || !filterFunction) return;\r\n\r\n this.props.getFilterOptions().then(filterOptions => {\r\n if (!this._isMounted) return;\r\n\r\n const { filters } = this.props;\r\n if (!filterOptions) return;\r\n\r\n filterOptions.data.forEach(filter => {\r\n filter.selected = !filters || filters.length === 0 || this.containsFilter(filters, filter.id);\r\n if (filter.key) {\r\n filter.translatedName = intl.formatMessage({ id: `sorting.name.${filter.key}` });\r\n }\r\n });\r\n\r\n this.setState({\r\n allFilters: filterOptions.data.every(filter => filter.selected),\r\n allFiltersArray: filterOptions.data,\r\n filteredFilters: filterOptions.data\r\n });\r\n });\r\n };\r\n\r\n containsFilter(filters, targetFilter) {\r\n var found = false;\r\n\r\n filters.forEach(filter => {\r\n if (JSON.stringify(filter) === JSON.stringify(targetFilter)) found = true;\r\n });\r\n\r\n return found;\r\n }\r\n\r\n filterFilters = value =>\r\n this.state.allFiltersArray\r\n .slice(0, this.state.allFiltersArray.length)\r\n .filter(f =>\r\n f.key\r\n ? f.translatedName.toLowerCase().indexOf(value.toLowerCase()) !== -1\r\n : f.name.toLowerCase().indexOf(value.toLowerCase()) !== -1\r\n );\r\n\r\n toggleFilter = id => {\r\n var { allFilters, filteredFilters } = this.state;\r\n\r\n filteredFilters.forEach(filter => {\r\n if (filter.id.toString() === id.toString()) filter.selected = !filter.selected;\r\n });\r\n\r\n var all = filteredFilters.reduce((a, c) => a && c.selected, true) && allFilters.length > 1;\r\n\r\n this.setState({ allFilters: all, filteredFilters: filteredFilters });\r\n };\r\n\r\n toggleAllFilters = () => {\r\n var { allFilters, filteredFilters } = this.state;\r\n\r\n filteredFilters.forEach(filter => {\r\n filter.selected = !allFilters;\r\n });\r\n\r\n this.setState({ allFilters: !allFilters, filteredFilters: filteredFilters });\r\n };\r\n\r\n applyFilters = () => {\r\n var selectedFilters = [];\r\n\r\n if (!this.state.allFilters || this.state.filterText !== '') {\r\n this.state.filteredFilters.forEach(filter => {\r\n if (filter.selected) selectedFilters.push(filter.id);\r\n });\r\n }\r\n\r\n this.props.filterFunction(selectedFilters);\r\n this.setState({ showDropdown: false });\r\n };\r\n\r\n toggleDropdown = debounce(\r\n override => {\r\n // If override is undefined, toggle based on state\r\n var { showDropdown } = this.state;\r\n // Callback if we want to perform some action (like refetch filter options)\r\n if (!showDropdown && override === undefined) this.setUpFilters();\r\n if (!showDropdown) this.props.toggleButton && this.props.toggleButton();\r\n this.setState({ showDropdown: override === true || override === false ? override : !showDropdown });\r\n },\r\n 16,\r\n true\r\n );\r\n\r\n clearFilters = event => {\r\n event.preventDefault();\r\n event.stopPropagation();\r\n\r\n if (this.props.filters && this.props.filters.length > 0) {\r\n this.props.filterFunction([]);\r\n }\r\n\r\n if (this.props.searchQuery && this.props.searchQuery.length > 0) {\r\n this.props.searchFunction('');\r\n }\r\n\r\n this.setState({ showDropdown: false });\r\n };\r\n\r\n render() {\r\n var { showDropdown, filteredFilters, allFilters, filterText } = this.state;\r\n var { filterFunction, filters } = this.props;\r\n var { searchFunction, searchQuery } = this.props;\r\n var { sortFunction, sortDirection, sortKeyAscending, sortKeyDescending, intl } = this.props;\r\n\r\n return (\r\n
\r\n \r\n\r\n {showDropdown ? (\r\n
\r\n {/* Sorting Section */}\r\n {sortFunction ? (\r\n
\r\n \r\n {\r\n this.props.sortFunction(true);\r\n this.setState({ showDropdown: false });\r\n }}\r\n >\r\n \r\n {sortKeyAscending ? (\r\n \r\n ) : (\r\n \r\n )}\r\n \r\n {\r\n this.props.sortFunction(false);\r\n this.setState({ showDropdown: false });\r\n }}\r\n >\r\n \r\n {sortKeyDescending ? (\r\n \r\n ) : (\r\n \r\n )}\r\n \r\n
\r\n ) : null}\r\n\r\n {/* Search Section */}\r\n {searchFunction ? (\r\n
\r\n \r\n
\r\n \r\n {placeholder => (\r\n (this.search = input)}\r\n placeholder={placeholder}\r\n />\r\n )}\r\n \r\n
\r\n
\r\n this.setState({ showDropdown: false })}\r\n >\r\n \r\n \r\n {\r\n this.props.searchFunction(this.search.value);\r\n this.setState({ showDropdown: false });\r\n }}\r\n >\r\n \r\n \r\n
\r\n
\r\n ) : null}\r\n\r\n {/* Filter Section */}\r\n {filterFunction ? (\r\n
\r\n \r\n
\r\n \r\n {placeholder => (\r\n {\r\n this.setState({\r\n filterText: e.target.value,\r\n filteredFilters: this.filterFilters(e.target.value)\r\n });\r\n }}\r\n placeholder={placeholder}\r\n />\r\n )}\r\n \r\n
\r\n\r\n
\r\n
\r\n {filteredFilters && filteredFilters.length > 0 ? (\r\n
\r\n \r\n \r\n
\r\n ) : null}\r\n\r\n {filteredFilters.map((filter, k) => (\r\n
\r\n \r\n {filter.key ? : filter.name}\r\n
\r\n ))}\r\n
\r\n
\r\n\r\n
\r\n this.setState({ showDropdown: false })}\r\n >\r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n ) : null}\r\n
\r\n ) : null}\r\n
\r\n );\r\n }\r\n}\r\n\r\nexport default injectIntl(enhanceWithClickOutside(Sorting));\r\n","import { DragDropContext } from 'react-dnd';\r\nimport MouseBackEnd from 'react-dnd-mouse-backend';\r\n\r\nexport default DragDropContext(MouseBackEnd);\r\n","import { DragLayer } from 'react-dnd';\r\nimport PropTypes from 'prop-types';\r\nimport React, { PureComponent } from 'react';\r\n\r\nimport { ITEM_TYPE_ICONS } from 'components/file-browser/file-list/constants';\r\nimport { ITEM_TYPES } from 'models/project-item';\r\nimport Icon from 'components/shared/icon';\r\n\r\n/*\r\n Placeholder that is shown when a row is being dragged.\r\n\r\n This component is wrapped with react dnd to become a 'DragLayer'\r\n*/\r\nclass DragHelper extends PureComponent {\r\n static propTypes = {\r\n dragHelper: PropTypes.object,\r\n getSelectedItemIds: PropTypes.func.isRequired,\r\n isDragging: PropTypes.bool,\r\n readOnly: PropTypes.bool\r\n };\r\n\r\n render() {\r\n const {\r\n isDragging,\r\n dragHelper: { currentOffset, item, itemType },\r\n getSelectedItemIds,\r\n readOnly\r\n } = this.props;\r\n const selectedItemIds = getSelectedItemIds();\r\n\r\n if (!isDragging || !currentOffset || itemType !== 'file-list-row') {\r\n return null;\r\n }\r\n\r\n return (\r\n
\r\n {readOnly ? null : (\r\n
\r\n 1\r\n ? ITEM_TYPE_ICONS[ITEM_TYPES.DOCUMENT]\r\n : ITEM_TYPE_ICONS[item.projectItem.itemTypeId]\r\n }\r\n width={16}\r\n />\r\n {selectedItemIds.length > 1 ? `${selectedItemIds.length} items` : item.projectItem.itemName}\r\n
\r\n )}\r\n
\r\n );\r\n }\r\n}\r\n\r\nexport default DragLayer(monitor => {\r\n const distanceTravelled = monitor.getDifferenceFromInitialOffset();\r\n const hasPastThresholdDistance = Math.abs(distanceTravelled ? distanceTravelled.y : 0) > 8;\r\n\r\n return {\r\n dragHelper: {\r\n item: monitor.getItem(),\r\n itemType: monitor.getItemType(),\r\n currentOffset: monitor.getClientOffset()\r\n },\r\n isDragging: monitor.isDragging() && hasPastThresholdDistance\r\n };\r\n})(DragHelper);\r\n","import { FormattedMessage } from 'react-intl';\r\nimport { withRouter } from 'react-router';\r\nimport enhanceWithClickOutside from 'react-click-outside';\r\nimport PropTypes from 'prop-types';\r\nimport React, { Component } from 'react';\r\n\r\nimport {\r\n COLUMN_OPTIONS,\r\n DEFAULT_COLUMN_ROOTSHOW,\r\n COLUMN_OPTIONS_DOCSHOW,\r\n DEFAULT_COLUMN_ROOTSHOWForProjects\r\n} from 'store/file-browser-column-options';\r\nimport { FixedTable, FixedHeader } from 'components/shared/fixed-table';\r\nimport {\r\n getFolderFilterReviewerOptions,\r\n getFolderFilterAssigneeOptions,\r\n getFolderFilterTagOptions,\r\n getFolderFilterTemplateOptions\r\n} from 'store/api';\r\nimport { ITEM_TYPES, ITEM_STATUSES } from 'models/project-item';\r\nimport Button from 'components/shared/single-click-button';\r\nimport Checkbox from 'components/shared/form/checkbox';\r\nimport ColumnOptions from 'components/file-browser/file-list/column-options';\r\nimport FileListRow from 'components/file-browser/file-list/file-list-row';\r\nimport Sorting from 'components/shared/sorting/sorting';\r\nimport withDragDropContext from 'utils/dnd-mouse-context';\r\nimport DragHelper from 'components/file-browser/file-list/drag-helper';\r\nimport constants from 'utils/constants';\r\n\r\n/* Not currently used since select all functionality is not implemented */\r\nexport const SelectAllPopover = enhanceWithClickOutside(\r\n class InnerSelectAllPopover extends React.Component {\r\n static propTypes = {\r\n onClick: PropTypes.func.isRequired,\r\n onClose: PropTypes.func.isRequired\r\n };\r\n\r\n handleClickOutside = () => {\r\n this.props.onClose();\r\n };\r\n render() {\r\n return (\r\n \r\n );\r\n }\r\n }\r\n);\r\n\r\n/*\r\n The main component for the file list table\r\n*/\r\nclass FileList extends Component {\r\n static propTypes = {\r\n columnOptions: PropTypes.object,\r\n currentFolder: PropTypes.object.isRequired,\r\n deselectAllItems: PropTypes.func.isRequired,\r\n deselectItem: PropTypes.func.isRequired,\r\n getColumnOptions: PropTypes.func.isRequired,\r\n history: PropTypes.object.isRequired,\r\n invalidate: PropTypes.func,\r\n isFiltering: PropTypes.func,\r\n isSearchResultsPage: PropTypes.bool.isRequired,\r\n loadSearchResults: PropTypes.func,\r\n location: PropTypes.object.isRequired,\r\n match: PropTypes.object.isRequired,\r\n mouseDownItem: PropTypes.func.isRequired,\r\n moveItems: PropTypes.func.isRequired,\r\n onFilterChange: PropTypes.func,\r\n onNameClick: PropTypes.func,\r\n onPageChange: PropTypes.func,\r\n pagination: PropTypes.object,\r\n projectId: PropTypes.string.isRequired,\r\n readOnly: PropTypes.bool,\r\n renameItem: PropTypes.func.isRequired,\r\n selectAllItems: PropTypes.func.isRequired,\r\n selectItem: PropTypes.func.isRequired,\r\n selectedItems: PropTypes.object.isRequired,\r\n updateColumnOptions: PropTypes.func.isRequired,\r\n currentProject: PropTypes.object\r\n };\r\n\r\n state = {\r\n expandedItemId: null,\r\n isSelectAllPopoverOpen: false,\r\n isDraggingValidItem: false,\r\n sorting: {\r\n key: 'name',\r\n ascending: true\r\n },\r\n filtering: {\r\n key: undefined,\r\n ids: undefined\r\n },\r\n search: {\r\n key: undefined,\r\n query: undefined\r\n }\r\n };\r\n\r\n constructor() {\r\n super();\r\n this.scrollInterval = null;\r\n this.scrollElem = null;\r\n }\r\n\r\n componentDidMount() {\r\n const { getColumnOptions, columnOptions } = this.props;\r\n\r\n if (!columnOptions) {\r\n getColumnOptions();\r\n }\r\n }\r\n\r\n componentDidUpdate = prevProps => {};\r\n\r\n componentWillUnmount() {\r\n const { deselectAllItems } = this.props;\r\n deselectAllItems();\r\n }\r\n\r\n /////////////////////// SORTING FILTERING FUNCTIONS START ///////////////////////\r\n reloadCurrentFolder() {\r\n var { onFilterChange, projectId, currentFolder, isSearchResultsPage, loadSearchResults } = this.props;\r\n var { filtering, sorting, search } = this.state;\r\n\r\n var folderOptions = {\r\n projectId: projectId,\r\n folderId: currentFolder.projectItemId === 0 ? 'root' : currentFolder.projectItemId,\r\n pageNum: 1,\r\n forceFetch: true\r\n };\r\n\r\n var filterOptions = {};\r\n\r\n if (sorting && sorting.key) {\r\n filterOptions.sortBy = sorting.key;\r\n filterOptions.sortOrder = sorting.ascending ? 'ascending' : 'descending';\r\n }\r\n\r\n if (filtering && filtering.key) {\r\n filterOptions.filterBy = filtering.key;\r\n filterOptions.filterIds = filtering.ids;\r\n }\r\n\r\n if (search && search.key) {\r\n filterOptions.filterBy = search.key;\r\n filterOptions.filterString = search.query;\r\n }\r\n\r\n return !isSearchResultsPage\r\n ? onFilterChange(filterOptions)\r\n : loadSearchResults(Object.assign(folderOptions, filterOptions));\r\n }\r\n\r\n setSorting = (key, ascending) => {\r\n var { sorting } = this.state;\r\n sorting.key = key;\r\n sorting.ascending = ascending;\r\n this.setState({ sorting: sorting }, () => this.reloadCurrentFolder());\r\n };\r\n\r\n setSearch = (key, query) => {\r\n var { filtering, search } = this.state;\r\n filtering.key = undefined;\r\n filtering.ids = undefined;\r\n search.key = query.length > 0 ? key : undefined;\r\n search.query = query.length > 0 ? query : undefined;\r\n this.props.isFiltering(true);\r\n this.setState({ filtering: filtering, search: search }, () => this.reloadCurrentFolder());\r\n };\r\n\r\n setFiltering = (key, ids) => {\r\n var { filtering, search } = this.state;\r\n filtering.key = ids.length > 0 ? key : undefined;\r\n filtering.ids = ids.length > 0 ? ids : undefined;\r\n search.key = undefined;\r\n search.query = undefined;\r\n this.props.isFiltering(true);\r\n this.setState({ filtering: filtering, search: search }, () => this.reloadCurrentFolder());\r\n };\r\n\r\n getProjectStatus = options => {\r\n const GROUPED_ITEM_STATUSES = [\r\n { key: 'uploaded', id: [ITEM_STATUSES.PREUPLOAD, ITEM_STATUSES.UPLOADED] },\r\n { key: 'processing', id: [ITEM_STATUSES.PROCESSING, ITEM_STATUSES.CONTENTPROCESSINGCOMPLETE] },\r\n { key: 'complete', id: [ITEM_STATUSES.PROCESSED] },\r\n { key: 'pending-deletion', id: [ITEM_STATUSES.PENDINGDELETION] },\r\n { key: 'error-uploading', id: [ITEM_STATUSES.BLOBSTORAGEERROR] },\r\n { key: 'error-ocr', id: [ITEM_STATUSES.PROCESSINGERROR] },\r\n { key: 'error-extracting', id: [ITEM_STATUSES.PARTIALLYEXTRACTED, ITEM_STATUSES.ALLEXTRACTIONERROR] },\r\n { key: 'reprocessing-required', id: [ITEM_STATUSES.REPROCESSINGREQUIRED] },\r\n { key: 'ready-for-verification', id: [ITEM_STATUSES.READYFORVERIFICATION] }\r\n ];\r\n\r\n return Promise.resolve({ data: GROUPED_ITEM_STATUSES });\r\n };\r\n /////////////////////// SORTING FILTERING FUNCTIONS END ///////////////////////\r\n\r\n onCheckAllChange = (name, checked) => {\r\n const { selectAllItems, deselectAllItems, currentFolder } = this.props;\r\n\r\n if (checked === 'checked') {\r\n var map = {};\r\n currentFolder.children.forEach(child => {\r\n map[child.projectItemId] = false;\r\n });\r\n\r\n selectAllItems(map);\r\n } else {\r\n deselectAllItems();\r\n }\r\n };\r\n\r\n onRowMouseDown = projectItemId => {\r\n this.props.mouseDownItem(projectItemId);\r\n };\r\n\r\n setIsDraggingValidItem = isItemValid => {\r\n this.setState({ isDraggingValidItem: isItemValid });\r\n };\r\n\r\n moveItems = to => {\r\n const { projectId, moveItems, invalidate } = this.props;\r\n const itemIds = this.getSelectedItemIds().filter(projectItemId => projectItemId !== to.projectItemId);\r\n\r\n if (to.itemTypeId !== ITEM_TYPES.FOLDER || !itemIds.length) {\r\n return;\r\n }\r\n\r\n moveItems({\r\n projectId: parseInt(projectId, 10),\r\n folderId: to.projectItemId,\r\n itemIds\r\n })\r\n .then(() => invalidate())\r\n .catch(() => invalidate());\r\n };\r\n\r\n expandItem = itemId => {\r\n this.setState({\r\n expandedItemId: itemId\r\n });\r\n };\r\n\r\n collapseExpandedRows = itemId => {\r\n this.setState({\r\n expandedItemId: null\r\n });\r\n };\r\n\r\n getSelectedItemIds = () => {\r\n const { selectedItems } = this.props;\r\n return Object.entries(selectedItems)\r\n .filter(([key, value]) => value)\r\n .map(([key, value]) => parseInt(key, 10));\r\n };\r\n\r\n toggleSelectAllPopover = () => {\r\n this.setState({\r\n isSelectAllPopoverOpen: !this.state.isSelectAllPopoverOpen\r\n });\r\n };\r\n\r\n globalSelectAllItems = () => {\r\n const { selectAllItems } = this.props;\r\n\r\n selectAllItems();\r\n this.setState({\r\n isSelectAllPopoverOpen: false\r\n });\r\n };\r\n\r\n // Uses the position of the drag monitor to scroll the container if\r\n // dragging near the top or the bottom of the list\r\n scrollContainerIfNeeded = monitor => {\r\n if (!this.scrollElem) {\r\n return;\r\n }\r\n\r\n const thresholdDistance = 25; // Distance from the top or bottom to start scrolling\r\n const mulitplier = 0.2; // Multiplier to control the scroll speed\r\n\r\n const itemOffset = monitor.getClientOffset();\r\n const containerRect = this.scrollElem.getBoundingClientRect();\r\n\r\n if (!itemOffset) {\r\n return;\r\n }\r\n\r\n const distanceFromTop = itemOffset.y - containerRect.top - thresholdDistance;\r\n const distanceFromBottom = containerRect.bottom - itemOffset.y - thresholdDistance;\r\n\r\n if (distanceFromTop < 0 && this.scrollElem) {\r\n this.scrollElem.scrollTop = this.scrollElem.scrollTop - Math.abs(distanceFromTop * mulitplier);\r\n }\r\n\r\n if (distanceFromBottom < 0 && this.scrollElem) {\r\n this.scrollElem.scrollTop = this.scrollElem.scrollTop + Math.abs(distanceFromBottom * mulitplier);\r\n }\r\n };\r\n\r\n // On drag start, start checking if the container should scroll\r\n itemDragStart = monitor => {\r\n this.scrollInterval = setInterval(() => {\r\n this.scrollContainerIfNeeded(monitor);\r\n }, 1000 / 60);\r\n };\r\n\r\n // On drag end, stop checking if the container should scroll\r\n itemDragEnd = () => {\r\n clearInterval(this.scrollInterval);\r\n };\r\n\r\n setScrollRef = elem => {\r\n this.scrollElem = elem;\r\n };\r\n\r\n render() {\r\n const {\r\n columnOptions,\r\n currentFolder,\r\n deselectItem,\r\n onPageChange,\r\n pagination,\r\n projectId,\r\n renameItem,\r\n selectedItems,\r\n selectItem,\r\n updateColumnOptions,\r\n onNameClick,\r\n isSearchResultsPage,\r\n invalidate,\r\n readOnly,\r\n currentProject\r\n } = this.props;\r\n const { expandedItemId, sorting, filtering, search } = this.state;\r\n let defaultRootColumnsToShow = null;\r\n if (!isSearchResultsPage)\r\n defaultRootColumnsToShow =\r\n currentProject.projectTypeId == constants.ProjectTypes.WORKSPACE_PROJECT\r\n ? DEFAULT_COLUMN_ROOTSHOW\r\n : DEFAULT_COLUMN_ROOTSHOWForProjects;\r\n if (!Array.isArray(currentFolder.children) || !columnOptions) {\r\n return null;\r\n }\r\n\r\n const checkAllState = Object.keys(selectedItems).some(id => selectedItems[id])\r\n ? Object.keys(selectedItems).every(id => selectedItems[id])\r\n ? 'checked'\r\n : 'indeterminate'\r\n : 'unchecked';\r\n\r\n const TABLE_HEADERS = {\r\n [COLUMN_OPTIONS.NAME]: (\r\n \r\n
\r\n \r\n {isSearchResultsPage ? (\r\n this.setSorting('name', ascending)}\r\n sortDirection={sorting.key === 'name' ? sorting.ascending : undefined}\r\n />\r\n ) : (\r\n this.setSearch('name', query)}\r\n searchQuery={search.key === 'name' ? search.query : undefined}\r\n sortFunction={ascending => this.setSorting('name', ascending)}\r\n sortDirection={sorting.key === 'name' ? sorting.ascending : undefined}\r\n />\r\n )}\r\n
\r\n
\r\n ),\r\n [COLUMN_OPTIONS.ID]: (\r\n \r\n
\r\n \r\n
\r\n
\r\n ),\r\n [COLUMN_OPTIONS.PAGES]: (\r\n \r\n
\r\n \r\n
\r\n
\r\n ),\r\n [COLUMN_OPTIONS.ASSIGNEES]: (\r\n \r\n
\r\n \r\n {isSearchResultsPage ? null : (\r\n this.setSorting('assignees', ascending)}\r\n sortDirection={sorting.key === 'assignees' ? sorting.ascending : undefined}\r\n filterFunction={ids => this.setFiltering('assignees', ids)}\r\n getFilterOptions={() => {\r\n return getFolderFilterAssigneeOptions({\r\n projectId: projectId,\r\n folderId: currentFolder.projectItemId === 0 ? 'root' : currentFolder.projectItemId\r\n });\r\n }}\r\n filters={filtering.key === 'assignees' ? filtering.ids : undefined}\r\n />\r\n )}\r\n
\r\n
\r\n ),\r\n [COLUMN_OPTIONS.REVIEWERS]: (\r\n \r\n
\r\n \r\n {isSearchResultsPage ? null : (\r\n this.setSorting('reviewers', ascending)}\r\n sortDirection={sorting.key === 'reviewers' ? sorting.ascending : undefined}\r\n filterFunction={ids => this.setFiltering('reviewers', ids)}\r\n getFilterOptions={() => {\r\n return getFolderFilterReviewerOptions({\r\n projectId: projectId,\r\n folderId: currentFolder.projectItemId === 0 ? 'root' : currentFolder.projectItemId\r\n });\r\n }}\r\n filters={filtering.key === 'reviewers' ? filtering.ids : undefined}\r\n />\r\n )}\r\n
\r\n
\r\n ),\r\n [COLUMN_OPTIONS.TAGS]: (\r\n \r\n
\r\n \r\n {isSearchResultsPage ? null : (\r\n this.setSorting('tags', ascending)}\r\n sortDirection={sorting.key === 'tags' ? sorting.ascending : undefined}\r\n filterFunction={ids => this.setFiltering('tags', ids)}\r\n getFilterOptions={() => {\r\n return getFolderFilterTagOptions({\r\n projectId: projectId,\r\n folderId: currentFolder.projectItemId === 0 ? 'root' : currentFolder.projectItemId\r\n });\r\n }}\r\n filters={filtering.key === 'tags' ? filtering.ids : undefined}\r\n />\r\n )}\r\n
\r\n
\r\n ),\r\n [COLUMN_OPTIONS.TEMPLATE]: (\r\n \r\n
\r\n \r\n {isSearchResultsPage ? null : (\r\n this.setSorting('templates', ascending)}\r\n sortDirection={sorting.key === 'templates' ? sorting.ascending : undefined}\r\n filterFunction={ids => this.setFiltering('templates', ids)}\r\n getFilterOptions={() => {\r\n return getFolderFilterTemplateOptions({\r\n projectId: projectId,\r\n folderId: currentFolder.projectItemId === 0 ? 'root' : currentFolder.projectItemId\r\n });\r\n }}\r\n filters={filtering.key === 'templates' ? filtering.ids : undefined}\r\n />\r\n )}\r\n
\r\n
\r\n ),\r\n [COLUMN_OPTIONS.STATUS]: (\r\n \r\n
\r\n
\r\n \r\n {isSearchResultsPage ? null : (\r\n this.setSorting('status', ascending)}\r\n sortDirection={sorting.key === 'status' ? sorting.ascending : undefined}\r\n sortKeyAscending=\"sorting.ascending\"\r\n sortKeyDescending=\"sorting.descending\"\r\n filterFunction={ids => this.setFiltering('statuses', ids)}\r\n getFilterOptions={this.getProjectStatus}\r\n filters={filtering.key === 'statuses' ? filtering.ids : undefined}\r\n />\r\n )}\r\n
\r\n \r\n ),\r\n [COLUMN_OPTIONS.DATEFORMATPREFERENCE]: (\r\n \r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n ),\r\n [COLUMN_OPTIONS.PROCESSED_DATE]: (\r\n \r\n
\r\n \r\n \r\n {isSearchResultsPage ? null : (\r\n this.setSorting('processeddate', ascending)}\r\n sortDirection={sorting.key === 'processeddate' ? sorting.ascending : undefined}\r\n sortKeyAscending=\"sorting.ascending\"\r\n sortKeyDescending=\"sorting.descending\"\r\n />\r\n )}\r\n \r\n
\r\n \r\n ),\r\n\r\n [COLUMN_OPTIONS.AUTO_DELETE]: (\r\n \r\n
\r\n \r\n \r\n {isSearchResultsPage ||\r\n currentProject?.projectTypeId != constants.ProjectTypes.WORKSPACE_PROJECT ? null : (\r\n this.setSorting('AUTO_DELETE', ascending)}\r\n sortDirection={sorting.key === 'AUTO_DELETE' ? sorting.ascending : undefined}\r\n sortKeyAscending=\"sorting.ascending\"\r\n sortKeyDescending=\"sorting.descending\"\r\n />\r\n )}\r\n \r\n
\r\n
\r\n )\r\n };\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n {/* Commenting the check all popover since the functionality is not implemented */}\r\n {/*
\r\n \r\n {isSelectAllPopoverOpen && (\r\n \r\n )}\r\n
*/}\r\n
\r\n
\r\n {columnOptions.order\r\n .filter(option => columnOptions.visibility[option])\r\n .map(option =>\r\n currentFolder.projectItemId == 0 && defaultRootColumnsToShow.indexOf(option) != -1\r\n ? TABLE_HEADERS[option]\r\n : currentFolder.projectItemId != 0 &&\r\n COLUMN_OPTIONS_DOCSHOW.indexOf(option) != -1 &&\r\n TABLE_HEADERS[option]\r\n )}\r\n \r\n \r\n \r\n \r\n \r\n \r\n {currentFolder.children.map((projectItem, i) => (\r\n \r\n ))}\r\n \r\n
\r\n {readOnly ? null : }\r\n \r\n );\r\n }\r\n}\r\n\r\nexport default withRouter(withDragDropContext(FileList));\r\n","import { connect } from 'react-redux';\r\n\r\nimport { moveItems, renameItem } from 'store/current-folder';\r\nimport { getColumnOptions, updateColumnOptions } from 'store/file-browser-column-options';\r\nimport {\r\n fileBrowserSelectItem,\r\n fileBrowserDeselectItem,\r\n fileBrowserSelectAllItems,\r\n fileBrowserDeselectAllItems,\r\n fileBrowserMouseDownItem\r\n} from 'store/file-browser-selected-items';\r\nimport FileList from 'components/file-browser/file-list/file-list';\r\n\r\nconst mapStateToProps = ({ ui: { fileBrowserColumnOptions, fileBrowserSelectedItems } }) => ({\r\n selectedItems: fileBrowserSelectedItems,\r\n columnOptions: fileBrowserColumnOptions\r\n});\r\n\r\nconst mapDispatchToProps = {\r\n deselectAllItems: fileBrowserDeselectAllItems,\r\n deselectItem: fileBrowserDeselectItem,\r\n getColumnOptions,\r\n mouseDownItem: fileBrowserMouseDownItem,\r\n moveItems,\r\n renameItem,\r\n selectAllItems: fileBrowserSelectAllItems,\r\n selectItem: fileBrowserSelectItem,\r\n updateColumnOptions\r\n};\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(FileList);\r\n","import React, { Component, Fragment } from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { Link } from 'react-router-dom';\r\n\r\nimport Icon from 'components/shared/icon';\r\n\r\nclass Breadcrumbs extends Component {\r\n static propTypes = {\r\n breadcrumbs: PropTypes.array.isRequired\r\n };\r\n\r\n render() {\r\n const { breadcrumbs } = this.props;\r\n return (\r\n \r\n );\r\n }\r\n}\r\n\r\nexport default Breadcrumbs;\r\n","import React, { Component } from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { FormattedMessage } from 'react-intl';\r\nimport Button from 'components/shared/single-click-button';\r\n\r\nclass DeleteModal extends Component {\r\n static propTypes = {\r\n children: PropTypes.node,\r\n onCancel: PropTypes.func.isRequired,\r\n onSubmit: PropTypes.func.isRequired,\r\n singleMessages: PropTypes.bool\r\n };\r\n\r\n render() {\r\n const { children, onCancel, onSubmit, singleMessages } = this.props;\r\n\r\n return (\r\n
\r\n

\r\n \r\n

\r\n {children ? (\r\n children\r\n ) : (\r\n

\r\n \r\n

\r\n )}\r\n
\r\n \r\n \r\n
\r\n
\r\n );\r\n }\r\n}\r\n\r\nexport default DeleteModal;\r\n","import { FormattedMessage } from 'react-intl';\r\nimport PropTypes from 'prop-types';\r\nimport React, { Component } from 'react';\r\n\r\nimport GenericDeleteModal from 'components/shared/delete-modal/delete-modal';\r\n\r\nclass DeleteModal extends Component {\r\n static propTypes = {\r\n currentFolder: PropTypes.object,\r\n deleteItems: PropTypes.func.isRequired,\r\n invalidate: PropTypes.func,\r\n onClose: PropTypes.func.isRequired,\r\n projectId: PropTypes.string.isRequired,\r\n selectedItems: PropTypes.object\r\n };\r\n\r\n onSubmit = () => {\r\n const { currentFolder, selectedItems, projectId, deleteItems, onClose, invalidate } = this.props;\r\n deleteItems({\r\n projectId,\r\n items: currentFolder.children.filter(projectItem => selectedItems[projectItem.projectItemId])\r\n })\r\n .then(() => invalidate && invalidate())\r\n .catch(invalidate);\r\n onClose();\r\n };\r\n\r\n render() {\r\n const { onClose } = this.props;\r\n\r\n return (\r\n \r\n

\r\n \r\n

\r\n

\r\n \r\n

\r\n
\r\n );\r\n }\r\n}\r\n\r\nexport default DeleteModal;\r\n","import { connect } from 'react-redux';\r\n\r\nimport { deleteItems } from 'store/current-folder';\r\nimport DeleteModal from 'components/file-browser/toolbar/delete-modal';\r\n\r\nconst mapStateToProps = ({ ui: { fileBrowserSelectedItems } }) => ({\r\n selectedItems: fileBrowserSelectedItems\r\n});\r\n\r\nconst mapDispatchToProps = {\r\n deleteItems\r\n};\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(DeleteModal);\r\n","import { Button as MenuButton, Menu, MenuItem, Wrapper as MenuWrapper } from 'react-aria-menubutton';\r\nimport { FormattedMessage } from 'react-intl';\r\nimport { TOOLBAR_LABELS } from 'store/file-browser-toolbar-options';\r\nimport Icon from 'components/shared/icon';\r\nimport PropTypes from 'prop-types';\r\nimport React, { Component } from 'react';\r\nimport ReactTooltip from 'react-tooltip';\r\n\r\nclass KebabMenu extends Component {\r\n static propTypes = {\r\n addOptionToToolbar: PropTypes.func.isRequired,\r\n fileBrowserToolbarOptions: PropTypes.object.isRequired,\r\n onItemSelected: PropTypes.func.isRequired,\r\n isReprocessDisabled: PropTypes.func.isRequired,\r\n isKiraProjectItemSelected: PropTypes.bool.isRequired,\r\n selectedFolders: PropTypes.array.isRequired,\r\n isGenAIWorkBenchModeActive: PropTypes.bool.isRequired,\r\n folderId: PropTypes.string.isRequired,\r\n hideReview: PropTypes.bool.isRequired,\r\n isSearchResultsPage: PropTypes.bool.isRequired\r\n };\r\n\r\n onItemSelected = option => {\r\n const { addOptionToToolbar, onItemSelected } = this.props;\r\n addOptionToToolbar(option);\r\n onItemSelected(option);\r\n };\r\n \r\n render() {\r\n const { fileBrowserToolbarOptions,isReprocessDisabled, isKiraProjectItemSelected, selectedFolders, isGenAIWorkBenchModeActive, folderId, hideReview, isSearchResultsPage} = this.props;\r\n const hasSelectedFolders = selectedFolders.length > 0; \r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n {fileBrowserToolbarOptions.kebabOptions.map(option => {\r\n if ((option === \"REVIEW\" && folderId === \"root\")|| (option === \"REVIEW\" && hideReview)) {\r\n return null;\r\n } \r\n if (option===\"REPROCESS\" && (isReprocessDisabled || isKiraProjectItemSelected || isGenAIWorkBenchModeActive || isSearchResultsPage) ||\r\n (hasSelectedFolders && (option === 'MOVE' || option === 'REPROCESS'))) {\r\n return null;\r\n }\r\n else {\r\n return (\r\n
  • \r\n \r\n \r\n \r\n
  • \r\n );\r\n }\r\n })}\r\n
\r\n
\r\n
\r\n );\r\n }\r\n}\r\n\r\nexport default KebabMenu;\r\n","import { FormattedMessage } from 'react-intl';\r\nimport { PropTypes } from 'prop-types';\r\nimport classNames from 'classnames';\r\nimport React, { Component } from 'react';\r\nimport Button from 'components/shared/single-click-button';\r\nimport Icon from 'components/shared/icon';\r\nimport Modal from 'components/shared/modal';\r\nimport { updateProjectDatePreference } from 'react-intl';\r\nimport * as api from 'store/api';\r\nimport ReactTooltip from 'react-tooltip';\r\nimport enhanceWithClickOutside from 'react-click-outside';\r\n\r\nclass DateFormatTooltip extends Component {\r\n static propTypes = {\r\n showInnerTooltip: PropTypes.bool,\r\n closeInnerPopup: PropTypes.func\r\n };\r\n\r\n onCheckboxChange = () => {\r\n const { onChange, option } = this.props;\r\n onChange(option);\r\n };\r\n closeInnerPopup = () => {\r\n this.props.closeInnerPopup();\r\n };\r\n\r\n handleClickOutside = () => {\r\n this.closeInnerPopup();\r\n };\r\n\r\n render() {\r\n const { showInnerTooltip } = this.props;\r\n\r\n return showInnerTooltip ? (\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n ) : null;\r\n }\r\n}\r\nconst InnerTooltip = enhanceWithClickOutside(DateFormatTooltip);\r\n\r\nclass ProjectDateFormatSelection extends Component {\r\n static propTypes = {\r\n projectId: PropTypes.number,\r\n showProjectDateFormatSelection: PropTypes.bool,\r\n closeDateFormatPopUp: PropTypes.func,\r\n processToUploadFiles: PropTypes.func,\r\n postSuccessCallback: PropTypes.func,\r\n isMoveModel: PropTypes.bool,\r\n currentFolder: PropTypes.object\r\n };\r\n\r\n state = {\r\n selectedDateFormat: 'MM/dd/yyyy',\r\n showInnertoolTip: false,\r\n disableApply: true,\r\n userChangedFormatValue: ''\r\n };\r\n\r\n closeProjectDateFormatSelectionPopup = () => {\r\n this.props.closeDateFormatPopUp();\r\n this.setState({ showInnertoolTip: false });\r\n };\r\n closeInnerPopup = () => {\r\n this.setState({ showInnertoolTip: false });\r\n };\r\n showInnertoolTip = () => {\r\n this.setState({ showInnertoolTip: true });\r\n };\r\n\r\n formatSelected = e => {\r\n let selectedValue = e.currentTarget.value;\r\n // we need to convert this in this way because this is the standart we are following in Argus for validation\r\n if (e.currentTarget.value == 'MM/DD/YYYY') {\r\n selectedValue = 'MM/dd/yyyy';\r\n } else if (e.currentTarget.value == 'DD/MM/YYYY') {\r\n selectedValue = 'dd/MM/yyyy';\r\n } else if (e.currentTarget.value == 'YYYY/MM/DD') {\r\n selectedValue = 'yyyy/MM/dd';\r\n }\r\n\r\n this.setState({\r\n selectedDateFormat: selectedValue,\r\n userChangedFormatValue: e.currentTarget.value\r\n });\r\n this.setState({ disableApply: false });\r\n };\r\n\r\n saveDateFormat = () => {\r\n let { selectedDateFormat, userChangedFormatValue } = this.state;\r\n let { currentFolder, projectId } = this.props;\r\n let templateId = currentFolder?.parentHierarchy[0]?.projectTemplateId || currentFolder?.projectTemplateId;\r\n this.setState({ showProjectDateFormatSelection: false });\r\n this.props.closeDateFormatPopUp();\r\n this.props.postSuccessCallback('progress');\r\n localStorage.setItem('isDateFormatSelected', 'true');\r\n api\r\n .updateTemplateDatePreference(projectId, templateId, selectedDateFormat)\r\n .then(res => {\r\n this.props.postSuccessCallback('success');\r\n })\r\n .catch(() => {\r\n this.props.postSuccessCallback('failed');\r\n });\r\n };\r\n\r\n render() {\r\n let { closeSaveGridPopup, applySaveGridPopup, showProjectDateFormatSelection, isMoveModel } = this.props;\r\n let { showInnertoolTip, disableApply } = this.state;\r\n\r\n return showProjectDateFormatSelection ? (\r\n \r\n
\r\n
\r\n
\r\n

\r\n \r\n \r\n {}\r\n \r\n\r\n \r\n

\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n {' '}\r\n MM/DD/YYYY\r\n \r\n ()\r\n {' '}\r\n

\r\n {' '}\r\n DD/MM/YYYY

\r\n {' '}\r\n YYYY/MM/DD

\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n ) : null;\r\n }\r\n}\r\n\r\nexport default ProjectDateFormatSelection;\r\n","import React, { useEffect, useState } from 'react';\r\nimport { FormattedMessage } from 'react-intl';\r\nimport * as api from 'store/api';\r\nimport Icon from 'components/shared/icon';\r\nimport Modal from 'components/shared/modal';\r\nimport Button from 'components/shared/single-click-button';\r\nimport 'react-dropdown/style.css';\r\nimport { Link } from 'react-router-dom';\r\nimport ProjectDateFormatSelection from 'components/project-creation/shared/project-date-fromat-selection';\r\nimport CONSTANTS from 'utils/constants';\r\n\r\nfunction MovePopupConfirmation({\r\n isConfirmationWindowOpen,\r\n closeMovePopupConfirmation,\r\n selectedFolder,\r\n to,\r\n projectId,\r\n validateDateFormatSelection,\r\n currentProject\r\n}) {\r\n let foldername = selectedFolder.itemName;\r\n const [showDateSelectionPopup, changePopupDisplay] = useState(false);\r\n\r\n function closeDateFormatPopUp() {\r\n changePopupDisplay(false);\r\n // this.setState({ showDateSelectionPopup: false });\r\n }\r\n function handleSuccessCallback(status) {\r\n if (status === 'success') {\r\n validateDateFormatSelection();\r\n }\r\n }\r\n function validateDateFormatSelectionClick(e) {\r\n const selectedFolderCategoryID = selectedFolder.templateCategoryID;\r\n const dateFormatPreference = selectedFolder.dateFormatPreference;\r\n if (\r\n (selectedFolderCategoryID == CONSTANTS.TemplateCategories.DETAIL_TESTING ||\r\n selectedFolderCategoryID == CONSTANTS.TemplateCategories.NON_EDITABLE_DETAIL_TESTING) &&\r\n (dateFormatPreference == null || dateFormatPreference == '') &&\r\n CONSTANTS.RestrictDateFormatForSpecificContainer.indexOf(currentProject.containerCode) == -1\r\n ) {\r\n e.preventDefault();\r\n changePopupDisplay(true);\r\n } else {\r\n validateDateFormatSelection();\r\n }\r\n }\r\n\r\n return isConfirmationWindowOpen ? (\r\n \r\n
\r\n
\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n  \r\n {foldername}  \r\n \r\n  \r\n \r\n  {foldername}  \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n handleSuccessCallback(status)}\r\n isMoveModel={true}\r\n currentFolder={selectedFolder}\r\n />\r\n
\r\n ) : null;\r\n}\r\n\r\nexport default MovePopupConfirmation;\r\n","import { FormattedMessage } from 'react-intl';\r\nimport { PropTypes } from 'prop-types';\r\nimport classNames from 'classnames';\r\nimport enhanceWithClickOutside from 'react-click-outside';\r\nimport React, { Component } from 'react';\r\nimport Constants from 'utils/constants';\r\nimport { getFolder } from 'store/api';\r\nimport { ITEM_TYPES } from 'models/project-item';\r\nimport Icon from 'components/shared/icon';\r\nimport Button from 'components/shared/single-click-button';\r\nimport MovePopupConfirmation from 'components/file-browser/toolbar/move-popover-confirmation';\r\nimport { getCurrentRegion } from 'store/api';\r\nimport ProjectDateFormatSelection from 'components/project-creation/shared/project-date-fromat-selection';\r\nimport CONSTANTS from 'utils/constants';\r\n\r\nclass FolderItem extends Component {\r\n static propTypes = {\r\n folder: PropTypes.object.isRequired,\r\n isSelected: PropTypes.bool,\r\n onFolderNameClick: PropTypes.func.isRequired,\r\n onFolderSelected: PropTypes.func.isRequired\r\n };\r\n\r\n onFolderNameClick = event => {\r\n const { folder, onFolderNameClick } = this.props;\r\n this.onFolderSelected();\r\n event.stopPropagation();\r\n };\r\n\r\n onFolderSelected = () => {\r\n const { folder, onFolderSelected } = this.props;\r\n onFolderSelected(folder);\r\n };\r\n\r\n render() {\r\n const { folder, isSelected } = this.props;\r\n return (\r\n \r\n \r\n
\r\n \r\n
\r\n {isSelected && }\r\n
\r\n );\r\n }\r\n}\r\n\r\nclass MovePopover extends Component {\r\n static propTypes = {\r\n initialFolder: PropTypes.object.isRequired,\r\n invalidate: PropTypes.func.isRequired,\r\n moveItems: PropTypes.func.isRequired,\r\n onClose: PropTypes.func.isRequired,\r\n projectId: PropTypes.string.isRequired,\r\n selectedItems: PropTypes.object\r\n };\r\n\r\n state = {\r\n currentFolderId: this.props.initialFolder.projectItemId,\r\n projectItemsById: {},\r\n isLoadingFolders: false,\r\n selectedFolder: null,\r\n isConfirmationWindowOpen: false\r\n };\r\n\r\n componentDidMount() {\r\n this.componentDidUpdate();\r\n }\r\n\r\n componentDidUpdate() {\r\n const { projectId } = this.props;\r\n const { currentFolderId, projectItemsById, isLoadingFolders } = this.state;\r\n\r\n if (!isLoadingFolders && !projectItemsById[currentFolderId]) {\r\n this.setState({\r\n isLoadingFolders: true\r\n });\r\n\r\n getFolder({\r\n projectId,\r\n pageSize: 0,\r\n folderId: currentFolderId === 0 || !currentFolderId ? 'root' : currentFolderId,\r\n filterKiraFolders: true\r\n })\r\n .then(response => {\r\n this.setState({\r\n projectItemsById: { ...projectItemsById, [currentFolderId]: response.data },\r\n isLoadingFolders: false,\r\n selectedFolder: response.data\r\n });\r\n })\r\n .catch(() => {\r\n this.setState({\r\n isLoadingFolders: false\r\n });\r\n });\r\n }\r\n }\r\n\r\n onFolderNameClick = folder => {\r\n this.setState({\r\n currentFolderId: folder.projectItemId\r\n });\r\n };\r\n\r\n onFolderSelected = folder => {\r\n this.setState({\r\n selectedFolder: folder\r\n });\r\n };\r\n\r\n onBack = () => {\r\n const { currentFolderId, projectItemsById } = this.state;\r\n const currentFolder = projectItemsById[currentFolderId];\r\n\r\n this.setState({\r\n currentFolderId: currentFolder.parentId || 'root'\r\n });\r\n };\r\n\r\n onApply = () => {\r\n this.setState({\r\n isConfirmationWindowOpen: true\r\n });\r\n };\r\n moveTemplate = () => {\r\n const { projectId, onClose, moveItems, invalidate } = this.props;\r\n const { selectedFolder } = this.state;\r\n var selectedTemplateId = selectedFolder.projectTemplateId;\r\n moveItems({\r\n projectId: parseInt(projectId, 10),\r\n folderId: selectedFolder.projectItemId || 'root',\r\n projectItemsIdList: this.allowedSelectedItems,\r\n templateId: selectedTemplateId\r\n }).then(() => {\r\n window.location.replace(this.getItemLink());\r\n invalidate();\r\n });\r\n onClose();\r\n };\r\n\r\n getItemLink = () => {\r\n const { projectId } = this.props;\r\n const { selectedFolder } = this.state;\r\n\r\n return `/region/${getCurrentRegion()}/project/${projectId}/folder/${selectedFolder.projectItemId}`;\r\n };\r\n\r\n closeMovePopupConfirmationWindow = () => {\r\n this.setState({\r\n isConfirmationWindowOpen: false\r\n });\r\n };\r\n\r\n validateDateFormatSelection = event => {\r\n this.moveTemplate();\r\n };\r\n\r\n get selectedItems() {\r\n const { initialFolder, selectedItems } = this.props;\r\n return initialFolder.children.filter(projectItem => selectedItems[projectItem.projectItemId]);\r\n }\r\n\r\n /* Filters the list of selected items, returning only the ones which can be moved into the selected folder */\r\n get allowedSelectedItems() {\r\n const { currentFolderId, projectItemsById, selectedFolder } = this.state;\r\n const currentFolder = projectItemsById[currentFolderId];\r\n\r\n if (!currentFolder) {\r\n return [];\r\n }\r\n\r\n return this.selectedItems.filter(\r\n selectedItem =>\r\n selectedFolder.projectItemId !== selectedItem.projectItemId && // Can't move a folder into itself\r\n !currentFolder.parentHierarchy.find(parent => parent.projectItemId === selectedItem.projectItemId) // Can't move a parent into a child\r\n );\r\n }\r\n\r\n render() {\r\n const { onClose, projectId, currentProject } = this.props;\r\n const {\r\n currentFolderId,\r\n projectItemsById,\r\n selectedFolder,\r\n isLoadingFolders,\r\n isConfirmationWindowOpen\r\n } = this.state;\r\n\r\n const currentFolder = projectItemsById[currentFolderId];\r\n\r\n if (isLoadingFolders || !currentFolder) {\r\n return (\r\n
\r\n \r\n
\r\n );\r\n }\r\n\r\n const folders = currentFolder.children.filter(\r\n (item) =>\r\n {\r\n if (item.itemTypeId !== ITEM_TYPES.FOLDER) {\r\n return false;\r\n }\r\n if (item.templateCategoryID === Constants.TemplateCategories.NON_DETAIL_TESTING) {\r\n return false;\r\n }\r\n else if ((!currentProject.isGenAIProcessingEnabled) && (item.templateCategoryID === CONSTANTS.TemplateCategories.NON_EDITABLE_GENAI_DETAIL_TESTING || \r\n item.templateCategoryID === CONSTANTS.TemplateCategories.NON_EDITABLE_GENAI_NONDETAIL_TESTING ||\r\n item.templateCategoryID === CONSTANTS.TemplateCategories.Custom_GENAI_NONDETAIL_TESTING\r\n )) {\r\n return false;\r\n }\r\n return true;\r\n }\r\n );\r\n\r\n return (\r\n
\r\n
\r\n {currentFolder.parentHierarchy && currentFolder.parentHierarchy.length > 0 && (\r\n \r\n )}\r\n

\r\n {currentFolder.itemName ? currentFolder.itemName : }\r\n

\r\n \r\n
\r\n
\r\n {folders &&\r\n folders.map((folder, index) => (\r\n \r\n ))}\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n {isConfirmationWindowOpen ? (\r\n this.validateDateFormatSelection(e)}\r\n />\r\n ) : null}\r\n
\r\n );\r\n }\r\n}\r\n\r\nexport default enhanceWithClickOutside(MovePopover);\r\n","import { connect } from 'react-redux';\r\n\r\nimport { moveItems } from 'store/current-folder';\r\nimport MovePopover from 'components/file-browser/toolbar/move-popover';\r\n\r\nconst mapStateToProps = ({ ui: { fileBrowserSelectedItems } }) => ({\r\n selectedItems: fileBrowserSelectedItems\r\n});\r\n\r\nconst mapDispatchToProps = {\r\n moveItems\r\n};\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(MovePopover);\r\n","import { FormattedMessage } from 'react-intl';\r\nimport classNames from 'classnames';\r\nimport PropTypes from 'prop-types';\r\nimport React, { Component } from 'react';\r\nimport ReactTooltip from 'react-tooltip';\r\n\r\nimport { TOOLBAR_OPTIONS, TOOLBAR_LABELS, TOOLBAR_ICONS } from 'store/file-browser-toolbar-options';\r\nimport Icon from 'components/shared/icon';\r\nimport Button from 'components/shared/single-click-button';\r\n\r\nimport Permissions from 'permissions/permissions';\r\n\r\nclass CurrentFolderTemplate extends Component {\r\n static propTypes = {\r\n templateName: PropTypes.string,\r\n templateId: PropTypes.number,\r\n onEditTemplate: PropTypes.func,\r\n readOnly: PropTypes.bool\r\n };\r\n\r\n onEdit = () => {\r\n this.props.onEditTemplate(this.props.templateId);\r\n };\r\n\r\n render() {\r\n const { templateName, templateId, onEditTemplate, readOnly } = this.props;\r\n const editable = Permissions.Project.Folder.canEdit() && !readOnly && !!templateId && !!onEditTemplate;\r\n\r\n if (!templateName) {\r\n return null;\r\n }\r\n\r\n return (\r\n \r\n \r\n \r\n :{' '}\r\n \r\n \r\n {templateName}\r\n \r\n \r\n {editable && (\r\n \r\n )}\r\n \r\n \r\n \r\n \r\n );\r\n }\r\n}\r\n\r\nexport default CurrentFolderTemplate;\r\n","import { FormattedMessage } from 'react-intl';\r\nimport PropTypes, { func } from 'prop-types';\r\nimport React, { Component } from 'react';\r\n\r\nimport { getItemTemplates, reprocessItem } from 'store/api';\r\nimport { getMessages } from 'utils/errors';\r\nimport { sortByKey } from 'utils/string-utils';\r\nimport Button from 'components/shared/single-click-button';\r\nimport enhanceWithClickOutside from 'react-click-outside';\r\nimport Icon from 'components/shared/icon';\r\nimport TemplatesList from 'components/shared/templates-list/templates-list';\r\nimport { ITEM_TYPES } from 'models/project-item';\r\nimport socket, { rooms } from 'utils/socket';\r\nimport ProjectDateFormatSelection from 'components/project-creation/shared/project-date-fromat-selection';\r\nimport CONSTANTS from 'utils/constants';\r\n\r\nclass ReprocessPopover extends Component {\r\n static propTypes = {\r\n currentFolder: PropTypes.object.isRequired,\r\n invalidate: PropTypes.func.isRequired,\r\n onClose: PropTypes.func.isRequired,\r\n projectId: PropTypes.string.isRequired,\r\n selectedItems: PropTypes.object.isRequired,\r\n isSearchResultsPage: PropTypes.bool.isRequired\r\n };\r\n\r\n state = {\r\n isLoading: true,\r\n isProcessing: false,\r\n selectedFieldsByTemplateId: {},\r\n templates: [],\r\n showDateSelectionPopup: false\r\n };\r\n documentRoom = undefined;\r\n componentDidMount() {\r\n this.getItemTemplates();\r\n }\r\n\r\n componentDidUpdate(prevProps) {\r\n if (this.props.selectedItems !== prevProps.selectedItems) {\r\n this.getItemTemplates();\r\n }\r\n }\r\n\r\n get selectedItems() {\r\n const { currentFolder, selectedItems } = this.props;\r\n return currentFolder.children.filter(projectItem => selectedItems[projectItem.projectItemId]);\r\n }\r\n\r\n getItemTemplates() {\r\n const { projectId, isSearchResultsPage } = this.props;\r\n const selectedItems = this.selectedItems;\r\n var templateID = !isSearchResultsPage\r\n ? this.props.currentFolder.parentHierarchy[0].projectTemplateId\r\n : selectedItems[0].projectTemplates[0].projectTemplateId;\r\n\r\n getItemTemplates({ projectId, items: selectedItems.map(i => i.projectItemId), templateID }).then(response => {\r\n var templates = response.data;\r\n\r\n //Get all extraction field ids in Sets organised by template id\r\n //This object is used by the TemplateList component to handle user selection\r\n var selectedFieldsByTemplateId = {};\r\n templates.forEach(template => {\r\n selectedFieldsByTemplateId[template.projectTemplateId] = new Set(\r\n template.extractionFields.map(field => field.extractionFieldId)\r\n );\r\n });\r\n\r\n this.setState({\r\n isLoading: false,\r\n templates: sortByKey('name', templates),\r\n selectedFieldsByTemplateId: selectedFieldsByTemplateId\r\n });\r\n });\r\n }\r\n\r\n setSelectedFields = selectedFieldsByTemplateId => {\r\n this.setState({\r\n selectedFieldsByTemplateId\r\n });\r\n };\r\n\r\n documentStateUpdated = message => {\r\n var i = 0;\r\n for (i = 0; i <= this.props.currentFolder.children.length; i++) {\r\n if (\r\n this.props.currentFolder.children[i] &&\r\n this.props.currentFolder.children[i].projectItemId == message.data.projectItemId\r\n ) {\r\n this.props.currentFolder.children[i].itemStateId = message.data.itemStateId;\r\n }\r\n }\r\n };\r\n\r\n closeDateFormatPopUp = () => {\r\n this.setState({ showDateSelectionPopup: false });\r\n };\r\n handleSuccessCallback = status => {\r\n if (status === 'success') {\r\n sessionStorage.setItem('isDateFormatSavedWhileReprocess-' + this.props.currentFolder.projectItemId, true);\r\n this.onSubmit();\r\n }\r\n };\r\n\r\n onSubmit = event => {\r\n const { projectId, onClose, currentFolder, selectedItems, isSearchResultsPage, currentProject } = this.props;\r\n const { selectedFieldsByTemplateId } = this.state;\r\n const templateCategoryID = currentFolder.templateCategoryID;\r\n let dateFormatPreference = this.props.currentFolder?.dateFormatPreference;\r\n let isDateFormatSavedWhileReprocess =\r\n dateFormatPreference != null\r\n ? true\r\n : sessionStorage.getItem('isDateFormatSavedWhileReprocess-' + this.props.currentFolder.projectItemId);\r\n\r\n if (isSearchResultsPage) {\r\n var tempCategoryID = 0;\r\n isDateFormatSavedWhileReprocess = true;\r\n for (var i = 0; i <= Object.values(selectedItems).length; i++) {\r\n if (Object.values(selectedItems)[i] === true) {\r\n tempCategoryID = currentFolder.children.filter(a => a.projectItemId == Object.keys(selectedItems)[i])[0]\r\n .templateCategoryID;\r\n }\r\n }\r\n if (tempCategoryID === 0) {\r\n this.setState({ showDateSelectionPopup: false });\r\n this.setState({ showDateSelectionPopup: false }, () => {\r\n this.forceUpdate();\r\n });\r\n } else if (\r\n (templateCategoryID == CONSTANTS.TemplateCategories.DETAIL_TESTING ||\r\n templateCategoryID == CONSTANTS.TemplateCategories.NON_EDITABLE_DETAIL_TESTING) &&\r\n !isDateFormatSavedWhileReprocess &&\r\n (dateFormatPreference == null || dateFormatPreference == '') &&\r\n CONSTANTS.RestrictDateFormatForSpecificContainer.indexOf(currentProject.containerCode) == -1\r\n ) {\r\n this.setState({ showDateSelectionPopup: true });\r\n this.setState({ showDateSelectionPopup: true }, () => {\r\n this.forceUpdate();\r\n });\r\n }\r\n }\r\n\r\n if (\r\n templateCategoryID &&\r\n (templateCategoryID == CONSTANTS.TemplateCategories.DETAIL_TESTING ||\r\n templateCategoryID == CONSTANTS.TemplateCategories.NON_EDITABLE_DETAIL_TESTING) &&\r\n !isDateFormatSavedWhileReprocess &&\r\n (dateFormatPreference == null || dateFormatPreference == '') &&\r\n CONSTANTS.RestrictDateFormatForSpecificContainer.indexOf(currentProject.containerCode) == -1\r\n ) {\r\n this.setState({ showDateSelectionPopup: true });\r\n this.setState({ showDateSelectionPopup: true }, () => {\r\n this.forceUpdate();\r\n });\r\n this.setState({ isConfirmationWindowOpen: false });\r\n } else {\r\n this.setState({ isProcessing: true });\r\n\r\n //Object formatted to be passed to the API\r\n var apiTemplateSelections = [];\r\n for (var key in selectedFieldsByTemplateId) {\r\n var extractionFieldIds = Array.from(selectedFieldsByTemplateId[key]);\r\n\r\n if (extractionFieldIds.length > 0) {\r\n apiTemplateSelections.push({\r\n projectTemplateId: parseInt(key, 10),\r\n extractionFields: extractionFieldIds.map(extractionFieldId => {\r\n return {\r\n extractionFieldId: extractionFieldId\r\n };\r\n })\r\n });\r\n }\r\n }\r\n\r\n if (!this.documentRoom) {\r\n var r = 0;\r\n for (r = 0; r < this.selectedItems.length; r++) {\r\n this.documentRoom = rooms.document(this.props.projectId, this.selectedItems[r].projectItemId);\r\n socket.join(this.documentRoom);\r\n socket.on('document.update.state', this.documentStateUpdated);\r\n }\r\n }\r\n return reprocessItem({\r\n projectId: projectId,\r\n items: this.selectedItems\r\n .filter(item => {\r\n if (item.itemTypeId === ITEM_TYPES.FOLDER) {\r\n return true;\r\n } else if (!item.projectTemplates) {\r\n return false;\r\n } else {\r\n var matchingTemplate = apiTemplateSelections.find(\r\n template => template.projectTemplateId === item.projectTemplates[0].projectTemplateId\r\n );\r\n return matchingTemplate && matchingTemplate.extractionFields.length > 0;\r\n }\r\n })\r\n .map(i => i.projectItemId),\r\n templates: apiTemplateSelections\r\n })\r\n .then(() => {\r\n socket.on('document.update.state', this.documentStateUpdated);\r\n this.setState({ isProcessing: false });\r\n onClose();\r\n })\r\n .catch(err => {\r\n getMessages(err).map(message => {\r\n if (message.code === 'Error.ReprocessingDisabled') {\r\n window.location.reload();\r\n }\r\n });\r\n });\r\n }\r\n };\r\n\r\n render() {\r\n const { onClose, projectId, currentFolder } = this.props;\r\n const { selectedFieldsByTemplateId, templates, isLoading, isProcessing } = this.state;\r\n\r\n if (isLoading) {\r\n return (\r\n
\r\n \r\n
\r\n );\r\n }\r\n\r\n // Total number of selected extraction fields across all templates\r\n const numSelectedFields = Object.values(selectedFieldsByTemplateId).reduce(\r\n (sum, selectedExtractionFields) => sum + selectedExtractionFields.size,\r\n 0\r\n );\r\n\r\n return (\r\n
\r\n
\r\n

\r\n \r\n

\r\n \r\n
\r\n
\r\n {templates[0]?.templateCategoryId == 0 ? (\r\n )\r\n :\r\n ()\r\n }\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n \r\n \r\n
\r\n this.handleSuccessCallback(status)}\r\n currentFolder={currentFolder}\r\n />\r\n
\r\n );\r\n }\r\n}\r\n\r\nexport default enhanceWithClickOutside(ReprocessPopover);\r\n","import { FormattedMessage } from 'react-intl';\r\nimport PropTypes from 'prop-types';\r\nimport React, { Component } from 'react';\r\n\r\nimport { markAllDocumentsAsReviewed } from 'store/api';\r\nimport enhanceWithClickOutside from 'react-click-outside';\r\nimport Icon from 'components/shared/icon';\r\nimport { ITEM_TYPES, ITEM_STATUSES } from 'models/project-item';\r\nimport Button from 'components/shared/single-click-button';\r\n\r\nclass ReviewPopover extends Component {\r\n static propTypes = {\r\n currentFolder: PropTypes.object.isRequired,\r\n invalidate: PropTypes.func.isRequired,\r\n onClose: PropTypes.func.isRequired,\r\n projectId: PropTypes.string.isRequired,\r\n selectedItems: PropTypes.object.isRequired\r\n };\r\n\r\n state = {\r\n isProcessing: false\r\n };\r\n\r\n get selectedItems() {\r\n const { currentFolder, selectedItems } = this.props;\r\n return currentFolder.children\r\n .filter(projectItem => selectedItems[projectItem.projectItemId])\r\n .filter(item => \r\n item.itemTypeId === ITEM_TYPES.DOCUMENT && \r\n (item.itemStateId === ITEM_STATUSES.PROCESSED || item.itemStateId === ITEM_STATUSES.READYFORVERIFICATION)\r\n );\r\n }\r\n \r\n handleClickOutside(event) {\r\n const { onClose } = this.props;\r\n onClose();\r\n }\r\n\r\n onSubmit = event => {\r\n const { projectId, onClose, invalidate } = this.props;\r\n const selectedItems = this.selectedItems;\r\n\r\n this.setState({\r\n isProcessing: true\r\n });\r\n\r\n return markAllDocumentsAsReviewed({ projectId, documentIds: selectedItems.map(i => i.projectItemId) })\r\n .then(() => {\r\n this.setState({\r\n isProcessing: false\r\n });\r\n invalidate();\r\n onClose();\r\n })\r\n .catch(() => {\r\n this.setState({\r\n isProcessing: false\r\n });\r\n invalidate();\r\n });\r\n };\r\n\r\n render() {\r\n const { onClose } = this.props;\r\n const { isProcessing } = this.state;\r\n const selectedItems = this.selectedItems;\r\n\r\n return (\r\n
\r\n
\r\n

\r\n \r\n

\r\n \r\n
\r\n
\r\n {selectedItems.length ? (\r\n \r\n ) : (\r\n \r\n )}\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n );\r\n }\r\n}\r\n\r\nexport default enhanceWithClickOutside(ReviewPopover);\r\n","import { PropTypes } from 'prop-types';\r\nimport enhanceWithClickOutside from 'react-click-outside';\r\nimport React, { Component } from 'react';\r\n\r\nimport { FormattedMessage } from 'react-intl';\r\nimport { getMessages } from 'utils/errors';\r\nimport { getTemplates } from 'store/api';\r\nimport { Radio, RadioGroup } from 'components/shared/form/radio';\r\nimport Icon from 'components/shared/icon';\r\nimport Button from 'components/shared/single-click-button';\r\n\r\nclass TemplatesPopover extends Component {\r\n static propTypes = {\r\n assignTemplates: PropTypes.func.isRequired,\r\n currentFolder: PropTypes.object.isRequired,\r\n invalidate: PropTypes.func,\r\n onClose: PropTypes.func.isRequired,\r\n projectId: PropTypes.string.isRequired,\r\n selectedItems: PropTypes.object.isRequired\r\n };\r\n\r\n state = {\r\n isLoading: true,\r\n selectedTemplate: null,\r\n templates: [],\r\n isProcessing: false\r\n };\r\n\r\n componentDidMount() {\r\n const { projectId } = this.props;\r\n\r\n getTemplates({ projectId }).then(response => {\r\n this.setState({ templates: response.data, isLoading: false });\r\n });\r\n }\r\n\r\n handleClickOutside() {\r\n const { onClose } = this.props;\r\n onClose();\r\n }\r\n\r\n onTemplateChange = template => {\r\n this.setState({\r\n selectedTemplate: template\r\n });\r\n };\r\n\r\n onSubmit = event => {\r\n const { currentFolder, selectedItems, projectId, assignTemplates, onClose, invalidate } = this.props;\r\n const { selectedTemplate } = this.state;\r\n this.setState({ isProcessing: true });\r\n event.preventDefault();\r\n\r\n return assignTemplates({\r\n projectId,\r\n items: currentFolder.children.filter(projectItem => selectedItems[projectItem.projectItemId]),\r\n templateId: selectedTemplate.projectTemplateId\r\n })\r\n .then(() => {\r\n invalidate();\r\n onClose();\r\n this.setState({ isProcessing: false });\r\n })\r\n .catch(err => {\r\n getMessages(err).map(message => {\r\n if (message.code === 'Error.ReprocessingDisabled') {\r\n window.location.reload();\r\n }\r\n });\r\n });\r\n };\r\n\r\n render() {\r\n const { onClose } = this.props;\r\n const { isLoading, templates, selectedTemplate, isProcessing } = this.state;\r\n\r\n if (isLoading) {\r\n return (\r\n
\r\n \r\n
\r\n );\r\n }\r\n\r\n return (\r\n
\r\n
\r\n

\r\n \r\n

\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n {templates.map(template => (\r\n
\r\n \r\n \r\n
\r\n ))}\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n );\r\n }\r\n}\r\n\r\nexport default enhanceWithClickOutside(TemplatesPopover);\r\n","import { connect } from 'react-redux';\r\n\r\nimport { assignTemplates } from 'store/current-folder';\r\nimport TemplatesPopover from 'components/file-browser/toolbar/templates-popover';\r\n\r\nconst mapStateToProps = ({ ui: { fileBrowserSelectedItems } }) => ({\r\n selectedItems: fileBrowserSelectedItems\r\n});\r\n\r\nconst mapDispatchToProps = {\r\n assignTemplates\r\n};\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(TemplatesPopover);\r\n","import { FormattedMessage } from 'react-intl';\r\nimport PropTypes from 'prop-types';\r\nimport React, { Component } from 'react';\r\nimport ReactTooltip from 'react-tooltip';\r\nimport ProjectDateFormatSelection from 'components/project-creation/shared/project-date-fromat-selection';\r\nimport CONSTANTS from 'utils/constants';\r\n\r\nclass UploadButton extends Component {\r\n static propTypes = {\r\n onFilesSelected: PropTypes.func.isRequired,\r\n disabled: PropTypes.bool,\r\n onClick: PropTypes.func,\r\n projectId: PropTypes.number,\r\n currentFolder: PropTypes.object,\r\n currentProject: PropTypes.object\r\n };\r\n state = {\r\n showDateSelectionPopup: false\r\n };\r\n\r\n validateDateFormatSelection = e => {\r\n const { currentProject } = this.props;\r\n let dateFormatPreference = this.props.currentFolder?.dateFormatPreference;\r\n const isDateFormatSaved =\r\n dateFormatPreference != null\r\n ? true\r\n : sessionStorage.getItem('isDateFormatSaved-' + this.props.currentFolder.projectItemId);\r\n let templateCategoryID = this.props.currentFolder?.templateCategoryID;\r\n if (\r\n (templateCategoryID == CONSTANTS.TemplateCategories.DETAIL_TESTING ||\r\n templateCategoryID == CONSTANTS.TemplateCategories.NON_EDITABLE_DETAIL_TESTING) &&\r\n !isDateFormatSaved &&\r\n (dateFormatPreference == null || dateFormatPreference == '') &&\r\n CONSTANTS.RestrictDateFormatForSpecificContainer.indexOf(currentProject.containerCode) == -1\r\n ) {\r\n this.setState({ showDateSelectionPopup: true });\r\n e.preventDefault();\r\n } else {\r\n this.props.onClick();\r\n }\r\n };\r\n handleSuccessCallback = status => {\r\n if (status === 'progress') {\r\n this.setState({ showDateSelectionPopup: false });\r\n sessionStorage.setItem('isDateFormatSaved-' + this.props.currentFolder.projectItemId, true);\r\n this.inputElement.click();\r\n this.props.onClick();\r\n }\r\n };\r\n closeDateFormatPopUp = () => {\r\n this.setState({ showDateSelectionPopup: false });\r\n };\r\n\r\n render() {\r\n const { onFilesSelected, disabled, onClick, projectId, currentFolder, currentProject } = this.props;\r\n const { showDateSelectionPopup } = this.state;\r\n\r\n return (\r\n
\r\n {currentFolder?.templateCategoryID === CONSTANTS.TemplateCategories.NON_DETAIL_TESTING && currentProject?.isGenAIProcessingEnabled ? null : (\r\n this.validateDateFormatSelection(e)}\r\n data-tip\r\n data-for=\"tooltip-upload-button\"\r\n >\r\n \r\n \r\n )}\r\n (this.inputElement = input)}\r\n id=\"file-browser-toolbar-file-input\"\r\n disabled={disabled}\r\n />\r\n \r\n \r\n \r\n\r\n this.handleSuccessCallback(status)}\r\n currentFolder={currentFolder}\r\n />\r\n
\r\n );\r\n }\r\n}\r\n\r\nexport default UploadButton;\r\n","import { FormattedMessage } from 'react-intl';\r\nimport React, { useState, useEffect, useCallback } from 'react';\r\nimport Modal from 'components/shared/modal';\r\nimport { getItemTemplates, reprocessItem } from 'store/api';\r\nimport { getMessages } from 'utils/errors';\r\nimport Button from 'components/shared/single-click-button';\r\nimport Icon from 'components/shared/icon';\r\nimport socket, { rooms } from 'utils/socket';\r\nimport { ITEM_TYPES, ITEM_STATUSES } from 'models/project-item';\r\n\r\nconst ConfirmReprocessModal = ({ currentFolder, onClose, projectId, selectedItems }) => {\r\n const [selectedFieldsByTemplateId, setSelectedFieldsByTemplateId] = useState({});\r\n const [documentRoom, setDocumentRoom] = useState(undefined);\r\n const [isConfirmDisabled, setIsConfirmDisabled] = useState(false);\r\n const [isLoadingTemplates, setIsLoadingTemplates] = useState(true);\r\n\r\n const getSelectedItems = useCallback(() => {\r\n const itemsSelected = currentFolder.children.filter(projectItem => selectedItems[projectItem.projectItemId]);\r\n const itemsToBeReprocessed = itemsSelected.filter(item => item.itemStateId !== ITEM_STATUSES.READYFORVERIFICATION && item.itemStateId !== ITEM_STATUSES.PROCESSED);\r\n return itemsToBeReprocessed;\r\n }, [currentFolder, selectedItems]);\r\n\r\n const fetchItemTemplates = useCallback(() => {\r\n const selectedItems = getSelectedItems();\r\n const templateID = currentFolder.parentHierarchy[0].projectTemplateId;\r\n\r\n if (selectedItems.length === 0) {\r\n setIsLoadingTemplates(false);\r\n return null;\r\n } else {\r\n getItemTemplates({ projectId, items: selectedItems.map(i => i.projectItemId), templateID }).then(response => {\r\n const templates = response.data;\r\n\r\n const selectedFieldsByTemplateId = {};\r\n templates.forEach(template => {\r\n selectedFieldsByTemplateId[template.projectTemplateId] = new Set(\r\n template.extractionFields.map(field => field.extractionFieldId)\r\n );\r\n });\r\n setSelectedFieldsByTemplateId(selectedFieldsByTemplateId);\r\n setIsLoadingTemplates(false);\r\n });\r\n }\r\n }, [currentFolder, projectId, getSelectedItems]);\r\n\r\n useEffect(() => {\r\n fetchItemTemplates();\r\n }, []);\r\n\r\n const documentStateUpdated = useCallback((message) => {\r\n currentFolder.children.forEach((child, index) => {\r\n if (child && child.projectItemId === message.data.projectItemId) {\r\n currentFolder.children[index].itemStateId = message.data.itemStateId;\r\n }\r\n });\r\n }, [currentFolder]);\r\n\r\n const onSubmit = () => {\r\n setIsConfirmDisabled(true);\r\n const selectedItems = getSelectedItems();\r\n if (selectedItems.length === 0 || isLoadingTemplates) {\r\n onClose();\r\n } else {\r\n const projectTemplateExtractionFields = [];\r\n for (const key in selectedFieldsByTemplateId) {\r\n const extractionFieldIds = Array.from(selectedFieldsByTemplateId[key]);\r\n if (extractionFieldIds.length > 0) {\r\n projectTemplateExtractionFields.push({\r\n projectTemplateId: parseInt(key, 10),\r\n extractionFields: extractionFieldIds.map(extractionFieldId => ({\r\n extractionFieldId: extractionFieldId\r\n }))\r\n });\r\n }\r\n }\r\n\r\n if (!documentRoom) {\r\n const roomsToJoin = selectedItems.map(item => {\r\n if (item) {\r\n const room = rooms.document(projectId, item.projectItemId);\r\n socket.join(room);\r\n socket.on('document.update.state', documentStateUpdated);\r\n return room;\r\n }\r\n return null;\r\n }).filter(Boolean);\r\n\r\n if (roomsToJoin.length > 0) {\r\n setDocumentRoom(roomsToJoin[0]);\r\n }\r\n }\r\n reprocessItem({\r\n projectId: projectId,\r\n items: selectedItems\r\n .filter(item => {\r\n if (item.itemTypeId === ITEM_TYPES.FOLDER) {\r\n return true;\r\n } else if (!item.projectTemplates) {\r\n return false;\r\n } else {\r\n const matchingTemplate = projectTemplateExtractionFields.find(\r\n template => template.projectTemplateId === item.projectTemplates[0]?.projectTemplateId\r\n );\r\n return matchingTemplate && matchingTemplate.extractionFields.length > 0;\r\n }\r\n })\r\n .map(i => i.projectItemId),\r\n templates: projectTemplateExtractionFields\r\n })\r\n .then(() => {\r\n socket.on('document.update.state', documentStateUpdated);\r\n onClose();\r\n })\r\n .catch(err => {\r\n getMessages(err).forEach(message => {\r\n if (message.code === 'Error.ReprocessingDisabled') {\r\n window.location.reload();\r\n }\r\n });\r\n });\r\n }\r\n };\r\n\r\n return (\r\n \r\n
\r\n
\r\n

\r\n \r\n

\r\n \r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n );\r\n};\r\n\r\nexport default ConfirmReprocessModal;","import { FormattedMessage } from 'react-intl';\r\nimport classNames from 'classnames';\r\nimport PropTypes from 'prop-types';\r\nimport React, { Component } from 'react';\r\nimport ReactTooltip from 'react-tooltip';\r\nimport { Link } from 'react-router-dom';\r\nimport CONSTANTS from 'utils/constants';\r\nimport { getCurrentRegion } from 'store/api';\r\nimport { TOOLBAR_OPTIONS, TOOLBAR_LABELS, TOOLBAR_ICONS } from 'store/file-browser-toolbar-options';\r\nimport Breadcrumbs from 'components/shared/breadcrumbs';\r\nimport DeleteModalContainer from 'containers/file-browser/delete-modal-container';\r\nimport Icon from 'components/shared/icon';\r\nimport KebabMenu from 'components/file-browser/toolbar/kebab';\r\nimport Modal from 'components/shared/modal';\r\nimport AssignPopover from 'components/file-browser/toolbar/assign-popover';\r\nimport MovePopoverContainer from 'containers/file-browser/move-popover-container';\r\nimport CurrentFolderTemplate from 'components/file-browser/toolbar/current-folder-template';\r\nimport ReprocessPopover from 'components/file-browser/toolbar/reprocess-popover';\r\nimport ReviewPopover from 'components/file-browser/toolbar/review-popover';\r\nimport TagsPopover from 'components/file-browser/toolbar/tags-popover';\r\nimport TemplatesPopoverContainer from 'containers/file-browser/templates-popover-container';\r\nimport UploadButton from 'components/file-browser/upload-button/upload-button';\r\nimport Button from 'components/shared/single-click-button';\r\nimport ConfirmReprocessModal from 'components/file-browser/toolbar/confirm-reprocess-modal';\r\nimport Permissions from 'permissions/permissions';\r\n\r\nconst TOOLBAR_PERMISSIONS = {\r\n [TOOLBAR_OPTIONS.ASSIGN]: Permissions.Project.Document.canAssign,\r\n // [TOOLBAR_OPTIONS.TEMPLATES]: Permissions.Project.Document.canSetTemplate,\r\n [TOOLBAR_OPTIONS.DELETE]: Permissions.Project.Document.canDelete,\r\n [TOOLBAR_OPTIONS.TAG]: Permissions.Project.Document.canTag,\r\n [TOOLBAR_OPTIONS.REPROCESS]: Permissions.Project.Document.canReprocess,\r\n [TOOLBAR_OPTIONS.MOVE]: Permissions.Project.Document.canMove,\r\n [TOOLBAR_OPTIONS.REVIEW]: Permissions.Project.Document.canReview,\r\n [TOOLBAR_OPTIONS.EXPORT]: Permissions.Project.Document.canExport\r\n};\r\n\r\nclass ToolbarButton extends Component {\r\n static propTypes = {\r\n children: PropTypes.node,\r\n isActive: PropTypes.bool,\r\n onToolbarOptionClick: PropTypes.func.isRequired,\r\n option: PropTypes.string,\r\n isDelete:PropTypes.bool\r\n };\r\n\r\n onClick = () => {\r\n const { onToolbarOptionClick, option } = this.props;\r\n onToolbarOptionClick(option);\r\n };\r\n\r\n render() {\r\n const { option, children, isActive,isDelete } = this.props;\r\n return (\r\n \r\n {children}\r\n \r\n \r\n \r\n \r\n );\r\n }\r\n}\r\n\r\nclass Toolbar extends Component {\r\n static propTypes = {\r\n activeToolbarOption: PropTypes.any,\r\n addOptionToToolbar: PropTypes.func.isRequired,\r\n category: PropTypes.any,\r\n currentFolder: PropTypes.object,\r\n currentProject: PropTypes.object,\r\n deleteNotification: PropTypes.func,\r\n goToEditTemplate: PropTypes.func,\r\n fileBrowserDeselectAllItems: PropTypes.func,\r\n fileBrowserSelectedItems: PropTypes.object,\r\n fileBrowserToolbarOptions: PropTypes.object,\r\n folderId: PropTypes.string,\r\n invalidate: PropTypes.func,\r\n isSearchResultsPage: PropTypes.bool,\r\n moveItems: PropTypes.func,\r\n notifications: PropTypes.array,\r\n onFilesSelected: PropTypes.func,\r\n parents: PropTypes.array,\r\n projectId: PropTypes.string,\r\n readOnly: PropTypes.bool,\r\n setActiveToolbarOption: PropTypes.func,\r\n showUploadButton: PropTypes.bool,\r\n onUploadClick: PropTypes.func,\r\n openKiraProcessingModel: PropTypes.func\r\n };\r\n\r\n state = {\r\n hideReprocess: true,\r\n fileBrowserToolbarOptions: {\r\n kebabOptions: [],\r\n quickOptions: [],\r\n staticOptions: []\r\n }\r\n };\r\n\r\n static defaultProps = {\r\n isSearchResultsPage: false\r\n };\r\n\r\n componentDidMount() {\r\n this.filterOptionsByPermissions();\r\n }\r\n\r\n componentDidUpdate(prevProps) {\r\n if (\r\n this.props.fileBrowserToolbarOptions !== prevProps.fileBrowserToolbarOptions ||\r\n this.props.currentFolder !== prevProps.currentFolder\r\n ) {\r\n this.filterOptionsByPermissions();\r\n }\r\n }\r\n\r\n getselectedKiraTemplates() {\r\n const { currentFolder, fileBrowserSelectedItems } = this.props;\r\n let result = currentFolder.children.filter(item => item.templateCategoryId == 0);\r\n let kiraTemplates = [];\r\n result.forEach(item => {\r\n if (fileBrowserSelectedItems.hasOwnProperty(item.projectItemId)) {\r\n if (fileBrowserSelectedItems[item.projectItemId] === true) {\r\n if (item.projectTemplates[0]?.name) {\r\n kiraTemplates.push(item.projectTemplates[0]?.name);\r\n }\r\n }\r\n }\r\n });\r\n return [...new Set(kiraTemplates)];\r\n }\r\n\r\n isKiraProjectItemSelected() {\r\n const { currentFolder, fileBrowserSelectedItems } = this.props;\r\n let selectedProjectItemId = currentFolder.children.filter(projectItem => fileBrowserSelectedItems[projectItem.projectItemId]);\r\n let isKiraTemplateSelected = false;\r\n \r\n if (selectedProjectItemId.length > 0 && selectedProjectItemId[0].templateCategoryID === CONSTANTS.TemplateCategories.NON_DETAIL_TESTING) {\r\n isKiraTemplateSelected = true;\r\n }\r\n return isKiraTemplateSelected;\r\n}\r\n\r\n isGenAIProjectItemSelected(){\r\n const { currentFolder, fileBrowserSelectedItems } = this.props;\r\n let selectedProjectItemId = currentFolder.children.filter(projectItem => fileBrowserSelectedItems[projectItem.projectItemId]);\r\n if (selectedProjectItemId.length > 0 && \r\n (selectedProjectItemId[0].templateCategoryID === CONSTANTS.TemplateCategories.NON_EDITABLE_GENAI_DETAIL_TESTING || \r\n selectedProjectItemId[0].templateCategoryID === CONSTANTS.TemplateCategories.NON_EDITABLE_GENAI_NONDETAIL_TESTING ||\r\n selectedProjectItemId[0].templateCategoryID === CONSTANTS.TemplateCategories.Custom_GENAI_NONDETAIL_TESTING\r\n )){\r\n return true;\r\n }\r\n else return false;\r\n }\r\n\r\n isGenAIWorkBenchModeActive(){\r\n const { currentProject } = this.props;\r\n let isGenAITemplateSelected = false;\r\n if ((!currentProject.isGenAIProcessingEnabled) && this.isGenAIProjectItemSelected()){\r\n isGenAITemplateSelected = true;\r\n }\r\n return isGenAITemplateSelected;\r\n \r\n } \r\n filterOptionsByPermissions() {\r\n var { fileBrowserToolbarOptions } = this.props;\r\n var options = {\r\n kebabOptions: [],\r\n quickOptions: [],\r\n staticOptions: []\r\n };\r\n\r\n Object.keys(fileBrowserToolbarOptions).forEach(section => {\r\n fileBrowserToolbarOptions[section].forEach(option => {\r\n if (this.props.currentFolder.projectItemId === 0) {\r\n if (TOOLBAR_PERMISSIONS[option]() && option !== 'MOVE' && option !== 'DELETE') {\r\n options[section].push(option);\r\n }\r\n } else {\r\n if (!this.props.currentProject.isDocumentProcessingEnabled) {\r\n if (this.props.currentFolder.templateCategoryId === 0) {\r\n if (TOOLBAR_PERMISSIONS[option]() && option !== 'REPROCESS' && option !== 'TEMPLATES') {\r\n options[section].push(option);\r\n }\r\n } else {\r\n if (TOOLBAR_PERMISSIONS[option]()) {\r\n options[section].push(option);\r\n }\r\n }\r\n } else {\r\n if (TOOLBAR_PERMISSIONS[option]()) {\r\n options[section].push(option);\r\n }\r\n }\r\n }\r\n });\r\n });\r\n\r\n this.setState({ fileBrowserToolbarOptions: options });\r\n }\r\n\r\n onToolbarOptionClick = option => {\r\n const { setActiveToolbarOption, openKiraProcessingModel, currentProject } = this.props;\r\n setActiveToolbarOption(option);\r\n if (option === TOOLBAR_OPTIONS.REPROCESS && !currentProject.isDocumentProcessingEnabled) { \r\n var kiraTemplates = this.getselectedKiraTemplates();\r\n if (kiraTemplates.length > 0) {\r\n openKiraProcessingModel(option, kiraTemplates);\r\n }\r\n }\r\n };\r\n\r\n closeActiveOption = () => {\r\n const { setActiveToolbarOption } = this.props;\r\n setActiveToolbarOption(null);\r\n };\r\n\r\n renderActiveOption = (isSearchResultsPage) => {\r\n const {\r\n activeToolbarOption,\r\n currentFolder,\r\n projectId,\r\n folderId,\r\n fileBrowserSelectedItems,\r\n moveItems,\r\n invalidate,\r\n currentProject\r\n } = this.props;\r\n\r\n const { hideReprocess } = this.state;\r\n\r\n if (activeToolbarOption === 'ASSIGN') {\r\n return (\r\n \r\n );\r\n }\r\n\r\n if (activeToolbarOption === 'DELETE') {\r\n return (\r\n \r\n \r\n \r\n );\r\n }\r\n\r\n if (activeToolbarOption === 'TEMPLATES') {\r\n return (\r\n \r\n );\r\n }\r\n\r\n if (activeToolbarOption === 'TAG') {\r\n return (\r\n \r\n );\r\n }\r\n\r\n if (activeToolbarOption === 'MOVE') {\r\n return (\r\n \r\n );\r\n }\r\n\r\n if (activeToolbarOption === 'REPROCESS' && hideReprocess && !(this.isGenAIProjectItemSelected())) {\r\n return (\r\n \r\n );\r\n }\r\n if (activeToolbarOption === 'REPROCESS' && hideReprocess && (this.isGenAIProjectItemSelected())){\r\n return (\r\n \r\n );\r\n }\r\n\r\n if (activeToolbarOption === 'REVIEW') {\r\n return (\r\n \r\n );\r\n }\r\n };\r\n\r\n staticToolbarOptions = () => {\r\n const { activeToolbarOption,isSearchResultsPage } = this.props;\r\n const { fileBrowserToolbarOptions } = this.state;\r\n return fileBrowserToolbarOptions.staticOptions.map(option => {\r\n const isActive = activeToolbarOption === option;\r\n return (\r\n option !== undefined && (\r\n
\r\n \r\n \r\n \r\n \r\n {isActive && this.renderActiveOption(isSearchResultsPage)}\r\n
\r\n )\r\n );\r\n });\r\n };\r\n\r\n quickToolbarOptions = () => {\r\n const { activeToolbarOption, fileBrowserSelectedItems, folderId, currentFolder,isSearchResultsPage } = this.props;\r\n const { fileBrowserToolbarOptions } = this.state;\r\n const itemSelected = Object.values(fileBrowserSelectedItems).includes(true);\r\n var isFolder = currentFolder.children;\r\n var allFiles = this.props.currentFolder.children;\r\n var isReprocessDisabled = false;\r\n var selectedItemsTypeId=[];\r\n\r\n var selectedTemplateIds = [];\r\n if (Object.entries(this.props.fileBrowserSelectedItems).filter(i => i[1] == true).length != 0) {\r\n var allItems = Object.entries(this.props.fileBrowserSelectedItems).filter(i => i[1] == true);\r\n var selectedFileIds = [];\r\n var currentTemplateId =\r\n this.props.currentFolder.parentHierarchy !== null\r\n ? this.props.currentFolder.parentHierarchy.length != 0\r\n ? this.props.currentFolder.parentHierarchy[0].projectTemplateId\r\n : null\r\n : null;\r\n for (var r = 0; r < allItems.length; r++) {\r\n selectedFileIds.push(parseInt(allItems[r][0]));\r\n }\r\n for (var a = 0; a < selectedFileIds.length; a++) {\r\n for (var j = 0; j < allFiles.length; j++) {\r\n if (allFiles[j].projectTemplates.length > 0 && selectedFileIds[a] === allFiles[j].projectItemId) {\r\n selectedTemplateIds.push(allFiles[j].projectTemplates[0].projectTemplateId);\r\n }\r\n if(selectedFileIds[a] === allFiles[j].projectItemId) {\r\n selectedItemsTypeId.push(allFiles[j].itemTypeId);\r\n }\r\n }\r\n }\r\n\r\n if (selectedTemplateIds.includes(currentTemplateId)) {\r\n isReprocessDisabled = false;\r\n } else {\r\n if(!isSearchResultsPage){\r\n isReprocessDisabled = true;\r\n }\r\n }\r\n }\r\n\r\n if (itemSelected)\r\n isFolder = Object.values(\r\n isFolder.map(type => type.itemTypeId == 1 && fileBrowserSelectedItems[type.projectItemId] == true)\r\n ).includes(true);\r\n return fileBrowserToolbarOptions.quickOptions.map(option => {\r\n const isActive = activeToolbarOption === option;\r\n\r\n if (option !== undefined && option === 'REPROCESS' && isReprocessDisabled && itemSelected) {\r\n return null;\r\n } \r\n if(option !==undefined && option === 'REVIEW' && folderId === 'root'){\r\n return null;\r\n } \r\n //If both folder and file selected in search window\r\n else if (option !== undefined && isSearchResultsPage && (option === 'DELETE' || option === 'REPROCESS' || option === 'MOVE') && selectedItemsTypeId.includes(2) && selectedItemsTypeId.includes(1)) {\r\n if (option === 'REPROCESS' && (this.isKiraProjectItemSelected() || this.isGenAIWorkBenchModeActive() || isSearchResultsPage)){\r\n return null;\r\n }\r\n else {\r\n return (\r\n
\r\n \r\n \r\n \r\n \r\n {isActive && this.renderActiveOption(isSearchResultsPage)}\r\n
\r\n );\r\n }\r\n }\r\n //If folder selected in search window\r\n else if(option !== undefined && isSearchResultsPage && (option === 'DELETE' || option === 'REPROCESS' || option === 'MOVE' || option ==='REVIEW') && selectedItemsTypeId.includes(1)) {\r\n return null;\r\n }\r\n \r\n else if (option !== undefined && option !== 'DELETE' && itemSelected) {\r\n if (option === 'REPROCESS' && (this.isKiraProjectItemSelected()|| this.isGenAIWorkBenchModeActive() || isSearchResultsPage)){\r\n return null;\r\n }\r\n else {\r\n return (\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {isActive && this.renderActiveOption(isSearchResultsPage)}\r\n
\r\n );\r\n }\r\n }\r\n \r\n else if (option !== undefined && itemSelected && option === 'DELETE') {\r\n \r\n return (\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n {isActive && this.renderActiveOption(isSearchResultsPage)}\r\n
\r\n );\r\n }\r\n \r\n });\r\n };\r\n\r\n kebabToolbarOptions = () => {\r\n const { fileBrowserSelectedItems, addOptionToToolbar, currentFolder,isSearchResultsPage, folderId} = this.props;\r\n const { fileBrowserToolbarOptions } = this.state;\r\n const itemSelected = Object.values(fileBrowserSelectedItems).includes(true);\r\n var isFolder = currentFolder.children;\r\n var allFiles = this.props.currentFolder.children;\r\n var isReprocessDisabled = false;\r\n var selectedTemplateIds = [];\r\n var selectedItemsTypeId=[];\r\n if (Object.entries(this.props.fileBrowserSelectedItems).filter(i => i[1] == true).length != 0) {\r\n var allItems = Object.entries(this.props.fileBrowserSelectedItems).filter(i => i[1] == true);\r\n var selectedFileIds = [];\r\n var currentTemplateId =\r\n this.props.currentFolder.parentHierarchy !== null\r\n ? this.props.currentFolder.parentHierarchy.length != 0\r\n ? this.props.currentFolder.parentHierarchy[0].projectTemplateId\r\n : null\r\n : null;\r\n for (var r = 0; r < allItems.length; r++) {\r\n selectedFileIds.push(parseInt(allItems[r][0]));\r\n }\r\n for (var a = 0; a < selectedFileIds.length; a++) {\r\n for (var j = 0; j < allFiles.length; j++) {\r\n if (allFiles[j].projectTemplates.length > 0 && selectedFileIds[a] === allFiles[j].projectItemId) {\r\n selectedTemplateIds.push(allFiles[j].projectTemplates[0].projectTemplateId);\r\n }\r\n if(selectedFileIds[a] === allFiles[j].projectItemId) {\r\n selectedItemsTypeId.push(allFiles[j].itemTypeId);\r\n }\r\n }\r\n }\r\n\r\n if (selectedTemplateIds.includes(currentTemplateId)) {\r\n isReprocessDisabled = false;\r\n } else {\r\n if(!isSearchResultsPage) {\r\n isReprocessDisabled = true;\r\n }\r\n }\r\n }\r\n \r\n let selectedFolders = [];\r\n if (selectedFileIds && selectedFileIds.length > 0) {\r\n selectedFolders = currentFolder.children.filter(\r\n item => selectedFileIds.includes(item.projectItemId) && item.itemTypeId === 1\r\n );\r\n }\r\n const hideReview = selectedItemsTypeId.includes(1) || (selectedItemsTypeId.includes(2) && selectedItemsTypeId.includes(1));\r\n return (\r\n fileBrowserToolbarOptions.kebabOptions.length > 0 &&\r\n itemSelected && (\r\n \r\n )\r\n );\r\n };\r\n\r\n getAllOptions = () => {\r\n return [this.staticToolbarOptions(), this.quickToolbarOptions(), this.kebabToolbarOptions()];\r\n };\r\n\r\n render() {\r\n const {\r\n category,\r\n currentProject,\r\n currentFolder,\r\n isSearchResultsPage,\r\n onFilesSelected,\r\n goToEditTemplate,\r\n parents,\r\n projectId,\r\n showUploadButton,\r\n readOnly,\r\n folderId,\r\n onUploadClick\r\n } = this.props;\r\n\r\n let breadcrumbs = [\r\n {\r\n name: ,\r\n link: `/region/${getCurrentRegion()}/project/${projectId}/folder/root`\r\n }\r\n ];\r\n\r\n let currentTemplate = null;\r\n\r\n if (parents && !isSearchResultsPage) {\r\n breadcrumbs = breadcrumbs.concat(\r\n parents\r\n .map(parent => ({\r\n name: parent.itemName,\r\n link: `/region/${getCurrentRegion()}/project/${projectId}/folder/${parent.projectItemId}`\r\n }))\r\n .reverse()\r\n );\r\n\r\n if (parents.length > 0) {\r\n const templateData = parents.find(({ projectItemId }) => projectItemId === +folderId);\r\n if (templateData) {\r\n currentTemplate = (\r\n \r\n );\r\n }\r\n }\r\n }\r\n\r\n return (\r\n
\r\n
\r\n

\r\n \r\n

\r\n\r\n
\r\n {currentProject.projectName}\r\n\r\n {!isSearchResultsPage ? (\r\n \r\n ) : (\r\n {category}\r\n )}\r\n
\r\n
\r\n {currentTemplate}\r\n
\r\n {readOnly\r\n ? this.staticToolbarOptions()\r\n : this.getAllOptions().map((v, i) => {\r\n return (\r\n
\r\n {v}\r\n
\r\n );\r\n })}\r\n
\r\n {readOnly ? null : (\r\n
\r\n {!Permissions.Project._States.isReadOnly() &&\r\n folderId != 'root' &&\r\n (Permissions.Project.Comparison.canCreate() || Permissions.Project.Comparison.canEdit()) ? (\r\n this.onToolbarOptionClick(TOOLBAR_OPTIONS.COMPARE)}\r\n className=\"btn btn-secondary file-browser-toolbar__folder-button\"\r\n >\r\n \r\n \r\n ) : null}\r\n\r\n {Permissions.Project.Template.canCreate() &&\r\n !Permissions.Project._States.isReadOnly() &&\r\n !isSearchResultsPage ? (\r\n \r\n this.onToolbarOptionClick(TOOLBAR_OPTIONS.CREATE_WORKFLOW)}\r\n className=\"btn btn-secondary file-browser-toolbar__folder-button\"\r\n >\r\n \r\n \r\n \r\n ) : null}\r\n \r\n {!isSearchResultsPage &&\r\n showUploadButton &&\r\n Permissions.Project.Document.canUpload() &&\r\n folderId != 'root' ? (\r\n \r\n ) : null}\r\n \r\n
\r\n )}\r\n
\r\n );\r\n }\r\n}\r\n\r\nexport default Toolbar;\r\n","import { connect } from 'react-redux';\r\n\r\nimport { addOptionToToolbar } from 'store/file-browser-toolbar-options';\r\nimport { fileBrowserDeselectAllItems } from 'store/file-browser-selected-items';\r\n\r\nimport Toolbar from 'components/file-browser/toolbar/toolbar';\r\n\r\nconst mapStateToProps = ({\r\n data: { currentProject },\r\n ui: { fileBrowserToolbarOptions, fileBrowserSelectedItems }\r\n}) => ({ currentProject, fileBrowserToolbarOptions, fileBrowserSelectedItems });\r\n\r\nconst mapDispatchToProps = {\r\n addOptionToToolbar,\r\n fileBrowserDeselectAllItems\r\n};\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(Toolbar);\r\n","import { FormattedMessage } from 'react-intl';\r\nimport { getCurrentRegion } from 'store/api';\r\nimport { Link } from 'react-router-dom';\r\nimport PropTypes from 'prop-types';\r\nimport React, { Component } from 'react';\r\nimport ReactDOM from 'react-dom';\r\n\r\nimport { ITEM_STATUSES } from 'models/project-item';\r\nimport { TOOLBAR_OPTIONS } from 'store/file-browser-toolbar-options';\r\nimport CompareSidebarContainer from 'containers/file-browser/compare-sidebar-container';\r\nimport emptySearchImage from 'images/empty_state_no_result_found.svg';\r\nimport EmptyState from 'components/file-browser/file-list/empty-state';\r\nimport ExportSidebarContainer from 'containers/file-browser/export-sidebar-container';\r\nimport Icon from 'components/shared/icon';\r\nimport SearchResultsContainer from 'containers/file-browser/file-list-container';\r\nimport SearchResultsToolbarContainer from 'containers/shared/file-browser-toolbar-container';\r\n\r\nclass SearchResults extends Component {\r\n static propTypes = {\r\n addNotification: PropTypes.func.isRequired,\r\n category: PropTypes.string,\r\n clearResultsData: PropTypes.func,\r\n currentSearchFolder: PropTypes.object,\r\n currentProject: PropTypes.object,\r\n data: PropTypes.array,\r\n folderId: PropTypes.any,\r\n getAdvancedSearchResults: PropTypes.func,\r\n getCurrentSearchFolder: PropTypes.func,\r\n getDocumentResults: PropTypes.func,\r\n getFolderResults: PropTypes.func,\r\n history: PropTypes.object,\r\n location: PropTypes.object,\r\n match: PropTypes.object,\r\n onAdvancedSearchChange: PropTypes.func,\r\n onRouteChange: PropTypes.func,\r\n onSearchChange: PropTypes.func,\r\n onSortOrder: PropTypes.func,\r\n projectId: PropTypes.any,\r\n readOnly: PropTypes.bool,\r\n search: PropTypes.object,\r\n selected: PropTypes.any,\r\n selectedItems: PropTypes.object.isRequired,\r\n closeFunction: PropTypes.func\r\n };\r\n\r\n state = {\r\n pageNum: 1,\r\n activeToolbarOption: {},\r\n isFiltering: false\r\n };\r\n\r\n // When you want to get search documents only\r\n getNextDocuments = data => {\r\n const params = Object.assign(\r\n {},\r\n {\r\n projectId: this.props.projectId,\r\n [this.props.category]: this.props.selected\r\n },\r\n data\r\n );\r\n\r\n return this.props.getDocumentResults(params);\r\n };\r\n\r\n // When you want to search through folders only\r\n getNextFolders = data => {\r\n const params = Object.assign(\r\n {},\r\n {\r\n projectId: this.props.projectId,\r\n folderId: this.props.selected\r\n },\r\n data\r\n );\r\n return this.props.getFolderResults(params);\r\n };\r\n\r\n // When you want to get the contents within a corresponding folder\r\n getCurrentFolder = (folderId, data, forceFetch) => {\r\n const params = Object.assign(\r\n {},\r\n {\r\n projectId: this.props.projectId,\r\n folderId,\r\n forceFetch\r\n },\r\n data\r\n );\r\n return this.props.getCurrentSearchFolder(params);\r\n };\r\n\r\n // Get advanced search results\r\n getAdvancedResults = data => {\r\n const params = Object.assign(\r\n {},\r\n {\r\n projectId: this.props.projectId,\r\n payload:\r\n this.props.search.payload && this.props.search.payload.length > 0\r\n ? this.props.search.payload\r\n : this.props.selected\r\n },\r\n data\r\n );\r\n\r\n return this.props.getAdvancedSearchResults(params);\r\n };\r\n\r\n // Get advanced search results that queries across all categories\r\n getGlobalResults = data => {\r\n const params = Object.assign(\r\n {},\r\n {\r\n projectId: this.props.projectId,\r\n payload: this.props.search.selectedData\r\n },\r\n data\r\n );\r\n return this.props.getAdvancedSearchResults(params);\r\n };\r\n\r\n getCategoryName = () => {\r\n const { currentSearchFolder } = this.props;\r\n return (\r\n \r\n \r\n \r\n );\r\n };\r\n\r\n onNameClick = (projectItemId, itemTypeId, extractionFieldInstanceDetails) => {\r\n if (itemTypeId === 1) {\r\n //Folder\r\n return this.getCurrentFolder(projectItemId, this.state.pageNum, true);\r\n } else {\r\n //File\r\n var pageQuery =\r\n extractionFieldInstanceDetails && extractionFieldInstanceDetails.length > 0\r\n ? '?page=' + extractionFieldInstanceDetails[0].pageNumber\r\n : '';\r\n\r\n this.props.onRouteChange();\r\n this.props.history.push({\r\n pathname: `/region/${getCurrentRegion()}/project/${this.props.projectId}/document/${projectItemId}`,\r\n search: pageQuery\r\n });\r\n }\r\n };\r\n\r\n onSearchExit = () => {\r\n this.props.onSearchChange('');\r\n this.props.onAdvancedSearchChange({ filter: [], payload: [] });\r\n };\r\n\r\n setActiveToolbarOption = option => {\r\n this.setState({\r\n activeToolbarOption: option || {}\r\n });\r\n };\r\n\r\n clearActiveToolbarOption = () => {\r\n this.setActiveToolbarOption(null);\r\n };\r\n\r\n onSubmitCreateComparison = () => {\r\n const { history, projectId } = this.props;\r\n this.clearActiveToolbarOption();\r\n history.push(`/region/${getCurrentRegion()}/project/${projectId}/compare`);\r\n };\r\n\r\n onSubmitAddToComparison = selectedComparisonId => {\r\n const { addNotification, projectId } = this.props;\r\n\r\n this.clearActiveToolbarOption();\r\n addNotification({\r\n message: (\r\n \r\n \r\n \r\n )\r\n }}\r\n />\r\n ),\r\n clearOnPageChange: true,\r\n autohide: 10\r\n });\r\n };\r\n\r\n onPageChange = pageNum => {\r\n this.refreshData({ pageNum });\r\n };\r\n\r\n // When a user selects a different page from search results or invalidates data\r\n refreshData = payload => {\r\n const {\r\n category,\r\n selected,\r\n currentSearchFolder: { projectItemId },\r\n search\r\n } = this.props;\r\n\r\n let data;\r\n let page = {\r\n pageNum: payload.pageNum ? payload.pageNum : this.state.pageNum\r\n };\r\n data = page;\r\n\r\n if ((payload.sortBy && payload.sortOrder) || (search.sortBy && search.sortOrder)) {\r\n data = Object.assign(\r\n {},\r\n page,\r\n { sortBy: payload.sortBy ? payload.sortBy : search.sortBy },\r\n { sortOrder: payload.sortOrder ? payload.sortOrder : search.sortOrder }\r\n );\r\n }\r\n\r\n if (\r\n category === 'documentId' ||\r\n category === 'extractionFieldId' ||\r\n category === 'templateId' ||\r\n category === 'documentTagId' ||\r\n category === 'extractionFieldInstanceTagId' ||\r\n category === 'documentStateIds' ||\r\n category === 'isReviewed' ||\r\n category === 'isAssigned' ||\r\n category === 'userId' ||\r\n category === 'reviewerUserIds'\r\n ) {\r\n return this.getNextDocuments(data);\r\n }\r\n\r\n if (category === 'userDocumentSearch' || category === 'analyticsSeach') {\r\n return this.getNextDocuments(Object.assign({}, data, selected));\r\n }\r\n\r\n if (category === 'folderIds') {\r\n return this.getNextFolders(data);\r\n }\r\n\r\n if (category === 'advanced') {\r\n return this.getAdvancedResults(data);\r\n }\r\n\r\n if (category === 'global') {\r\n return this.getGlobalResults(data);\r\n }\r\n\r\n return this.getCurrentFolder(projectItemId, data, true);\r\n };\r\n\r\n render() {\r\n const { activeToolbarOption, isFiltering } = this.state;\r\n const {\r\n currentSearchFolder: { parentHierarchy, projectItemId },\r\n projectId,\r\n currentSearchFolder,\r\n folderId,\r\n readOnly,\r\n selectedItems,\r\n closeFunction,\r\n currentProject\r\n } = this.props;\r\n\r\n // Loading state\r\n if (currentSearchFolder.isLoading) {\r\n return (\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n );\r\n }\r\n\r\n // Loaded, but no results state\r\n if (\r\n currentSearchFolder.isLoaded &&\r\n currentSearchFolder &&\r\n currentSearchFolder.children &&\r\n currentSearchFolder.children.length <= 0 &&\r\n !isFiltering\r\n ) {\r\n return (\r\n
\r\n
\r\n \r\n
\r\n }\r\n description={}\r\n img={emptySearchImage}\r\n />\r\n
\r\n
\r\n
\r\n );\r\n }\r\n\r\n // Search results page sits as a portal in order to not be affected by any styles from document or file list\r\n return ReactDOM.createPortal(\r\n
\r\n
\r\n \r\n this.refreshData({ pageNum: this.state.pageNum })}\r\n isSearchResultsPage={true}\r\n onFilesSelected={this.onFilesSelected}\r\n parents={parentHierarchy}\r\n projectId={projectId}\r\n setActiveToolbarOption={this.setActiveToolbarOption}\r\n readOnly={currentProject.STATES.ReadOnly()}\r\n />\r\n
\r\n this.refreshData({ pageNum: this.state.pageNum })}\r\n isSearchResultsPage={true}\r\n readOnly={currentProject.STATES.ReadOnly()}\r\n onNameClick={this.onNameClick}\r\n loadSearchResults={options => {\r\n this.props.onSortOrder(options);\r\n\r\n this.refreshData(options);\r\n }}\r\n loadCurrentFolder={() => {}}\r\n isFiltering={value => this.setState({ isFiltering: value })}\r\n />\r\n {activeToolbarOption === TOOLBAR_OPTIONS.EXPORT && (\r\n \r\n )}\r\n {activeToolbarOption === TOOLBAR_OPTIONS.COMPARE && (\r\n \r\n selectedItems[projectItem.projectItemId] &&\r\n (projectItem.itemStateId === ITEM_STATUSES.PROCESSED ||\r\n projectItem.itemStateId === ITEM_STATUSES.REPROCESSINGREQUIRED ||\r\n projectItem.itemStateId === ITEM_STATUSES.READYFORVERIFICATION)\r\n )}\r\n onCloseClick={this.clearActiveToolbarOption}\r\n onSubmitAddToComparison={this.onSubmitAddToComparison}\r\n onSubmitCreateComparison={this.onSubmitCreateComparison}\r\n projectId={projectId}\r\n />\r\n )}\r\n
\r\n
\r\n
,\r\n document.getElementById('searching-root')\r\n );\r\n }\r\n}\r\n\r\nexport default SearchResults;\r\n","import { connect } from 'react-redux';\r\n\r\nimport {\r\n searchAll,\r\n onSearchChange,\r\n onAdvancedSearchChange,\r\n clearSearchData,\r\n onSortOrder\r\n} from 'store/search/search-category';\r\n\r\nimport {\r\n clearResultsData,\r\n getCurrentSearchFolder,\r\n getDocumentResults,\r\n getFolderResults,\r\n getAdvancedSearchResults\r\n} from 'store/search/search-results';\r\nimport SearchResults from 'components/search/file-list-search/search-results';\r\nimport { addNotification } from 'store/notifications.js';\r\n\r\nconst mapStateToProps = ({\r\n data: { search, currentSearchFolder, currentProject },\r\n ui: { fileBrowserSelectedItems },\r\n router\r\n}) => ({\r\n search,\r\n currentSearchFolder,\r\n currentProject,\r\n router,\r\n selectedItems: fileBrowserSelectedItems\r\n});\r\n\r\nconst mapDispatchToProps = {\r\n addNotification,\r\n searchAll,\r\n onSearchChange,\r\n onAdvancedSearchChange,\r\n clearSearchData,\r\n clearResultsData,\r\n getCurrentSearchFolder,\r\n getDocumentResults,\r\n getFolderResults,\r\n getAdvancedSearchResults,\r\n onSortOrder\r\n};\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(SearchResults);\r\n","import { debounce } from 'underscore';\r\nimport { FormattedMessage } from 'react-intl';\r\nimport enhanceWithClickOutside from 'react-click-outside';\r\nimport PropTypes from 'prop-types';\r\nimport React, { Component } from 'react';\r\n\r\nimport {\r\n GLOBAL_SEARCH_CATEGORIES,\r\n SEARCH_CATEGORY_VERBOSE_NAMES,\r\n SEARCH_MODIFIER_DISPLAY_NAMES,\r\n SEARCH_RECORD_MODIFIER_DISPLAY_NAMES,\r\n SEARCH_OPERATOR_DISPLAY_NAMES\r\n} from 'components/search/constants';\r\nimport Button from 'components/shared/single-click-button';\r\nimport Icon from 'components/shared/icon';\r\nimport SearchDropdown from 'containers/search/file-list-search/search-dropdown-container';\r\nimport SearchResults from 'containers/search/file-list-search/search-results-container';\r\n\r\nclass FileListSearch extends Component {\r\n static propTypes = {\r\n className: PropTypes.string,\r\n clearResultsData: PropTypes.func,\r\n clearSearchData: PropTypes.func,\r\n currentProject: PropTypes.object,\r\n currentSearchFolder: PropTypes.object,\r\n getAdvancedSearchResults: PropTypes.func,\r\n history: PropTypes.object,\r\n location: PropTypes.object,\r\n match: PropTypes.object,\r\n onAdvancedSearch: PropTypes.func,\r\n onAdvancedSearchChange: PropTypes.func,\r\n onSearchChange: PropTypes.func,\r\n onSelectCategory: PropTypes.func,\r\n projectId: PropTypes.any,\r\n search: PropTypes.object,\r\n searchAll: PropTypes.func\r\n };\r\n\r\n state = {\r\n isDropdownOpen: false,\r\n isFocused: false,\r\n isMenuOpen: false,\r\n isFilterView: false, // This shows advanced search filters\r\n isAdvancedView: false, // This shows advanced search results\r\n isSearchResultsOpen: false, // Overlay for the search results page\r\n externalSearch: false // Used when external components trigger a search\r\n };\r\n\r\n // Determine whether we need to display search results in doc viewer or the normal toolbar view\r\n componentDidMount() {\r\n const { match, currentSearchFolder, search, onSearchChange } = this.props;\r\n const { documentId } = match.params;\r\n\r\n if (!documentId && currentSearchFolder.children && currentSearchFolder.children.length > 0) {\r\n this.onSearchExit();\r\n }\r\n\r\n if (search.query.length > 0) {\r\n onSearchChange('');\r\n }\r\n }\r\n\r\n componentDidUpdate = prevProps => {\r\n var { currentSearchFolder } = this.props;\r\n var { isSearchResultsOpen } = this.state;\r\n\r\n if (\r\n currentSearchFolder.children !== null &&\r\n prevProps.currentSearchFolder.children === null &&\r\n !isSearchResultsOpen\r\n ) {\r\n this.setState({ externalSearch: true });\r\n }\r\n };\r\n\r\n // This allows user to navigate away from search results page from the menu dropdown\r\n // When they have the same url, and clicks on the same url, it doesnt disappear\r\n // But we can compare the keys and exit search; was added due to a bug filed by QA\r\n // TODO: Suggest paging or better ui/ux for exiting\r\n UNSAFE_componentWillReceiveProps(nextProps) {\r\n const { location, match } = this.props;\r\n const { location: nextLocation } = nextProps;\r\n const { documentId } = match.params;\r\n\r\n if (\r\n nextLocation.key !== location.key &&\r\n nextLocation.pathname &&\r\n !documentId &&\r\n ((nextLocation.state && !nextLocation.state.isSearching) || !nextLocation.state)\r\n ) {\r\n this.onSearchExit();\r\n this.setState({ isAdvancedView: false, isFilterView: false, disableSearch: true });\r\n }\r\n }\r\n\r\n componentWillUnmount() {\r\n const { search, onSearchChange } = this.props;\r\n\r\n if (search.query.length > 0) {\r\n onSearchChange('');\r\n }\r\n }\r\n\r\n // Logic for when to show dropdown (ie when user starts typing)\r\n onSearchInputChange = event => {\r\n const { onSearchChange, clearSearchData } = this.props;\r\n const value = event.target.value;\r\n\r\n onSearchChange(value);\r\n\r\n if (value.length > 0) {\r\n this.setState({ isDropdownOpen: true, isFilterView: false, disableSearch: true });\r\n } else {\r\n clearSearchData();\r\n this.setState({ isDropdownOpen: false, isFilterView: false, disableSearch: true });\r\n }\r\n };\r\n\r\n // Perform global search\r\n onSearchInputKeyPress = e => {\r\n const { search } = this.props;\r\n if (e.key === 'Enter' && (search.query.length > 0 || search.filters.length > 0)) {\r\n return search.filters.length > 0 ? this.onAdvancedSearch() : this.getGlobalSearchResults();\r\n }\r\n };\r\n\r\n // Handle a key up on the search input\r\n onSearchInputKeyUp = debounce(() => {\r\n const { projectId, search, searchAll } = this.props;\r\n const query = search.query.trim();\r\n\r\n if (!query.length) return;\r\n\r\n searchAll({ projectId, keyword: query, pageNum: 1 });\r\n }, 300);\r\n\r\n onSearchInputCancelClick = () => {\r\n this.onSearchExit();\r\n this.setState({ isDropdownOpen: false });\r\n };\r\n\r\n onSearchInputFocus = () => {\r\n const { search } = this.props;\r\n\r\n if (search.query.length > 0) {\r\n this.setState({ isDropdownOpen: true, isFocused: true });\r\n }\r\n };\r\n\r\n onSearchInputBlur = () => {\r\n this.setState({ isFocused: false });\r\n };\r\n\r\n onAdvancedSearchButtonClick = () => {\r\n this.setState({ isFilterView: true, isDropdownOpen: true });\r\n };\r\n\r\n onSearchButtonClick = () => {\r\n const { isFilterView } = this.state;\r\n\r\n if (isFilterView) {\r\n return this.onAdvancedSearchClick();\r\n }\r\n return this.getGlobalSearchResults();\r\n };\r\n\r\n // When a user either clicks the search icon or search from filter dropdown\r\n onAdvancedSearchClick = data => {\r\n const { search, onSelectCategory } = this.props;\r\n\r\n onSelectCategory({ key: 'advanced', data });\r\n\r\n if (data) {\r\n // incoming payload data\r\n this.onAdvancedSearch(data);\r\n } else {\r\n // otherwise null use default redux value\r\n this.onAdvancedSearch(search.payload);\r\n }\r\n\r\n this.setState({\r\n disableSearch: true,\r\n isDropdownOpen: false,\r\n isFilterView: false,\r\n isAdvancedView: true,\r\n advancedPayload: data\r\n });\r\n };\r\n\r\n onAdvancedSearch = data => {\r\n const { projectId, getAdvancedSearchResults } = this.props;\r\n\r\n this.setState({ isSearchResultsOpen: true });\r\n return getAdvancedSearchResults({ payload: data, pageNum: 1, projectId });\r\n };\r\n\r\n onAdvancedSearchCancelClick = () => {\r\n this.onSearchExit();\r\n this.setState({ isAdvancedView: false, isFilterView: false, disableSearch: true });\r\n };\r\n\r\n // Search exit button (gets out of search results overlay)\r\n onSearchExit = () => {\r\n const { clearResultsData, clearSearchData } = this.props;\r\n this.setState({ isSearchResultsOpen: false, externalSearch: false });\r\n clearSearchData();\r\n clearResultsData();\r\n };\r\n\r\n // Search dropdown blur\r\n onSearchDropdownBlur = () => {\r\n const { isSearchResultsOpen } = this.state;\r\n const { clearSearchData } = this.props;\r\n\r\n if (isSearchResultsOpen) {\r\n this.setState({ isDropdownOpen: false });\r\n return;\r\n }\r\n\r\n this.setState({ isDropdownOpen: false });\r\n clearSearchData();\r\n };\r\n\r\n onSearchDropdownClickOutside = () => {\r\n const { isFocused } = this.state;\r\n if (isFocused) {\r\n this.setState({ isDropdownOpen: true });\r\n } else {\r\n this.setState({ isDropdownOpen: false });\r\n }\r\n };\r\n\r\n onSearchDropdownSearch = (key, selected) => {\r\n const { onSelectCategory } = this.props;\r\n\r\n onSelectCategory({ key, data: selected });\r\n this.setState({ isDropdownOpen: false, key, isSearchResultsOpen: true });\r\n };\r\n\r\n onSearchDropdownSearchAll = (key, selected) => {\r\n const { onSelectCategory } = this.props;\r\n\r\n onSelectCategory({ key, data: selected });\r\n this.setState({ isDropdownOpen: false, isSearchResultsOpen: true });\r\n };\r\n\r\n onSearchDropdownReset = () => {\r\n this.setState({ disableSearch: true });\r\n };\r\n\r\n goToAdvancedSearch = () => {\r\n this.setState({ isFilterView: true });\r\n };\r\n\r\n handleClickOutside = () => {\r\n const { isDropdownOpen, isFilterView } = this.state;\r\n\r\n if (isDropdownOpen || isFilterView) {\r\n this.setState({ isDropdownOpen: false, isFilterView: false });\r\n }\r\n };\r\n\r\n getGlobalSearchResults = () => {\r\n const { search, getAdvancedSearchResults, projectId, onSelectCategory } = this.props;\r\n\r\n const filters = GLOBAL_SEARCH_CATEGORIES.map(categoryNum => ({\r\n andOrId: categoryNum === 1 ? '' : 2,\r\n fieldTypeId: categoryNum,\r\n includeExcludeId: categoryNum === 3 ? 3 : 1,\r\n keyword: search.query\r\n }));\r\n\r\n const params = { projectId, payload: { filters } };\r\n onSelectCategory({ key: 'global', data: params.payload });\r\n this.setState({ isSearchResultsOpen: true, isDropdownOpen: false });\r\n return getAdvancedSearchResults(params);\r\n };\r\n\r\n renderAdvancedSearchQueryItem = ([key, value]) => {\r\n const { search } = this.props;\r\n\r\n const andOrValue = value.andOr && ;\r\n const categoryValue = value.category && (\r\n \r\n );\r\n const includeExcludeValue = value.include && ;\r\n const recordValue = value.record && ;\r\n\r\n return (\r\n
\r\n \r\n {andOrValue}\r\n \r\n {categoryValue}({includeExcludeValue || recordValue})\r\n \r\n \r\n : {value.searchString || search.query};\r\n
\r\n );\r\n };\r\n\r\n // Render an andvanced search query\r\n renderAdvancedSearchQuery = () => {\r\n const { search } = this.props;\r\n\r\n let queryItems = Object.entries(search.filters).map(this.renderAdvancedSearchQueryItem);\r\n\r\n if (queryItems.length <= 0) {\r\n this.onSearchExit();\r\n return this.setState({ isAdvancedView: false, isFilterView: false, disableSearch: true });\r\n }\r\n\r\n return (\r\n
\r\n {queryItems}\r\n {queryItems.length && (\r\n \r\n \r\n \r\n )}\r\n
\r\n );\r\n };\r\n\r\n // Normal search bar input field with cancel button\r\n renderSearchInput = () => {\r\n const { search, location } = this.props;\r\n const isDisabled = location.pathname.includes('visuals') || location.pathname.includes('settings');\r\n\r\n return (\r\n
\r\n \r\n {search.query.length > 0 || this.state.externalSearch ? (\r\n \r\n ) : null}\r\n
\r\n );\r\n };\r\n\r\n render() {\r\n const {\r\n className,\r\n onAdvancedSearchChange,\r\n projectId,\r\n location,\r\n search,\r\n onSearchChange,\r\n history,\r\n match,\r\n currentProject\r\n } = this.props;\r\n\r\n const { isAdvancedView, isFilterView, isDropdownOpen, isSearchResultsOpen, externalSearch } = this.state;\r\n\r\n const isDisabled = location.pathname.includes('visuals') || location.pathname.includes('settings');\r\n const showSearchResults = externalSearch || (isSearchResultsOpen && (search.query.length > 0 || search.payload));\r\n\r\n const advancedSearchButton = (\r\n \r\n \r\n \r\n );\r\n\r\n const searchButton = (\r\n \r\n \r\n \r\n );\r\n\r\n return (\r\n
\r\n {isAdvancedView ? this.renderAdvancedSearchQuery() : this.renderSearchInput()}\r\n
\r\n {advancedSearchButton}\r\n {searchButton}\r\n
\r\n\r\n {isDropdownOpen && (\r\n \r\n )}\r\n\r\n {showSearchResults && (\r\n this.setState({ isSearching: false })}\r\n projectId={projectId}\r\n readOnly={currentProject.STATES.ReadOnly()}\r\n selected={search.selectedData}\r\n closeFunction={this.onSearchInputCancelClick}\r\n />\r\n )}\r\n
\r\n );\r\n }\r\n}\r\n\r\nexport default enhanceWithClickOutside(FileListSearch);\r\n","import { connect } from 'react-redux';\r\n\r\nimport {\r\n searchAll,\r\n onSearchChange,\r\n onAdvancedSearchChange,\r\n clearSearchData,\r\n onSelectCategory\r\n} from 'store/search/search-category';\r\nimport {\r\n clearResultsData,\r\n getCurrentSearchFolder,\r\n getDocumentResults,\r\n getFolderResults,\r\n getAdvancedSearchResults\r\n} from 'store/search/search-results';\r\nimport FileListSearch from 'components/search/file-list-search/file-list-search';\r\n\r\nconst mapStateToProps = ({ data: { search, currentSearchFolder, currentProject }, router }) => ({\r\n search,\r\n currentSearchFolder,\r\n currentProject,\r\n router\r\n});\r\n\r\nconst mapDispatchToProps = {\r\n searchAll,\r\n onSearchChange,\r\n onAdvancedSearchChange,\r\n clearSearchData,\r\n clearResultsData,\r\n getCurrentSearchFolder,\r\n getDocumentResults,\r\n getFolderResults,\r\n getAdvancedSearchResults,\r\n onSelectCategory\r\n};\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(FileListSearch);\r\n","import React, { Component } from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { FormattedMessage } from 'react-intl';\r\n\r\nimport Button from 'components/shared/single-click-button';\r\nimport Icon from 'components/shared/icon';\r\n\r\nimport enhanceWithClickOutside from 'react-click-outside';\r\nimport { debounce } from 'underscore';\r\n\r\n/** Highlighter for when the keyword matches a word in the paragraph */\r\nconst Highlighted = ({ text = '', highlight = '' }) => {\r\n if (!highlight.trim()) {\r\n return {text};\r\n }\r\n\r\n const escapeRegExp = (str = '') => str.replace(/([.?*+^$[\\]\\\\(){}|-])/g, '\\\\$1');\r\n const regex = new RegExp(`(${escapeRegExp(highlight)})`, 'gi');\r\n const parts = String(text).split(regex);\r\n return (\r\n \r\n {parts\r\n .filter(part => part)\r\n .map((part, i) =>\r\n regex.test(part) ? (\r\n \r\n {part}\r\n \r\n ) : (\r\n \r\n {part}\r\n \r\n )\r\n )}\r\n \r\n );\r\n};\r\n\r\nHighlighted.propTypes = {\r\n highlight: PropTypes.any,\r\n text: PropTypes.any\r\n};\r\n\r\n// Dropdown functional component when user starts typing\r\nclass CompareDropdown extends Component {\r\n static propTypes = {\r\n data: PropTypes.any,\r\n onClickOutside: PropTypes.func,\r\n onItemClick: PropTypes.func,\r\n query: PropTypes.string\r\n };\r\n\r\n render() {\r\n const { data, onItemClick, query } = this.props;\r\n return (\r\n
\r\n
\r\n {data &&\r\n data.length > 0 &&\r\n data.map((value, index) => {\r\n return (\r\n onItemClick(index)}>\r\n \r\n \r\n \r\n \r\n \r\n );\r\n })}\r\n
\r\n
\r\n );\r\n }\r\n}\r\n\r\n/** Main compare search component */\r\nclass CompareSearch extends Component {\r\n static propTypes = {\r\n compareData: PropTypes.shape({\r\n base: PropTypes.array,\r\n compare: PropTypes.array\r\n }),\r\n compareSetEmphasis: PropTypes.func,\r\n compareSetSearch: PropTypes.func,\r\n match: PropTypes.object,\r\n onSearchChange: PropTypes.func,\r\n search: PropTypes.object\r\n };\r\n\r\n state = {\r\n compareData: [],\r\n isDropdownOpen: false,\r\n searchResults: [],\r\n emphasis: 0,\r\n query: ''\r\n };\r\n\r\n // Set sentence length of matched results\r\n SENTENCE_LENGTH = 220;\r\n\r\n // When a user received new data\r\n UNSAFE_componentWillReceiveProps(nextProps) {\r\n if (this.props.compareData.compare !== nextProps.compareData.compare) {\r\n this.getBaseAndCompareData(nextProps.compareData);\r\n }\r\n }\r\n\r\n getBaseAndCompareData = compareData => {\r\n const { match } = this.props;\r\n\r\n // Update search results based on whether we have a second compare document or not\r\n if (match.params.compareId && match.params.documentId && compareData.compare && compareData.compare.length > 0) {\r\n // If we're already searching, make sure to refresh the search results\r\n if (this.state.query.trim().length > 1) {\r\n this.getSearchAdjacentResults(compareData.base.concat(compareData.compare));\r\n }\r\n return this.setState({ compareData: compareData.base.concat(compareData.compare), emphasis: 0 });\r\n }\r\n\r\n // Otherwise just update if user deselects from compare document\r\n if (this.state.query.trim().length > 1) {\r\n this.getSearchAdjacentResults(compareData.base);\r\n }\r\n return this.setState({ compareData: compareData.base, emphasis: 0 });\r\n };\r\n\r\n onChange = value => {\r\n this.setState({ query: value });\r\n\r\n // Show dropdown when user starts typing\r\n if (value && value.length > 1) {\r\n this.setState({ isDropdownOpen: true });\r\n } else {\r\n this.setState({ isDropdownOpen: false, searchResults: [], emphasis: 0 });\r\n }\r\n };\r\n\r\n onBlur = () => {\r\n if (this.state.query.length <= 0) {\r\n this.onExit();\r\n }\r\n };\r\n\r\n onExit = () => {\r\n this.props.compareSetSearch({ data: [], emphasis: 0, query: '' });\r\n this.setState({ query: '', isDropdownOpen: false, searchResults: [], emphasis: 0 });\r\n };\r\n\r\n onFocus = () => {\r\n if (this.state.query.length > 1) {\r\n this.setState({ isDropdownOpen: true });\r\n }\r\n };\r\n\r\n handleClickOutside = () => {\r\n if (this.state.query.length > 1) {\r\n this.setState({ isDropdownOpen: false });\r\n }\r\n };\r\n\r\n cleanData = array => {\r\n return array.map(value => value.contextualData.replace(/\\r\\n/g, '')).join('');\r\n };\r\n\r\n // A helper function that allows you to find the search query's neighboring words\r\n findNeighbors = (idx, string) => {\r\n const divider = (this.SENTENCE_LENGTH - this.state.query.length) / 2;\r\n let prev = Math.max(0, idx - divider + 70);\r\n let next = Math.min(string.length, idx + divider);\r\n\r\n return string.slice(prev, idx) + string.slice(idx, next);\r\n };\r\n\r\n // Find where the search string occurs in the compare data array\r\n // And map it to be readable\r\n findSearchIndexes = array => {\r\n const escapeRegExp = (str = '') => str.replace(/([.?*+^$[\\]\\\\(){}|-])/g, '\\\\$1');\r\n const regex = new RegExp(`(${escapeRegExp(this.state.query)})`, 'gi');\r\n const data = this.cleanData(array);\r\n\r\n let match,\r\n indices = [];\r\n // eslint-disable-next-line no-cond-assign\r\n while ((match = regex.exec(data))) {\r\n indices.push(match.index);\r\n }\r\n\r\n return indices;\r\n };\r\n\r\n // Map results so it's easily readable by function dropdown component\r\n mapSearches = array => {\r\n const data = this.cleanData(array);\r\n const indices = this.findSearchIndexes(array);\r\n\r\n return indices.map(value => {\r\n return {\r\n scrollIndex: value,\r\n text: this.findNeighbors(value, data)\r\n };\r\n });\r\n };\r\n\r\n // Get search results with their word neighbors\r\n getSearchAdjacentResults = array => {\r\n this.setState({ searchResults: this.mapSearches(array) });\r\n this.props.compareSetSearch({ data: this.mapSearches(array), emphasis: 0, query: this.state.query });\r\n };\r\n\r\n onKeyUp = debounce(() => {\r\n if (this.state.query.trim().length > 1) {\r\n this.getSearchAdjacentResults(this.state.compareData);\r\n }\r\n }, 500);\r\n\r\n // Emphasis helpers when a user selects a certain matched search result\r\n setEmphasis = index => {\r\n this.setState({ emphasis: index, isDropdownOpen: false });\r\n\r\n this.props.compareSetSearch({ data: this.state.searchResults, emphasis: index, query: this.state.query });\r\n this.props.compareSetEmphasis(index);\r\n };\r\n\r\n setEmphasisNext = () => {\r\n const { emphasis, searchResults } = this.state;\r\n this.setEmphasis(emphasis + 1 < searchResults.length ? emphasis + 1 : 0);\r\n };\r\n\r\n setEmphasisPrevious = () => {\r\n const { emphasis, searchResults } = this.state;\r\n this.setEmphasis(emphasis - 1 >= 0 ? emphasis - 1 : searchResults.length - 1);\r\n };\r\n\r\n render() {\r\n const { isDropdownOpen, searchResults, emphasis, query } = this.state;\r\n const { compareData } = this.props;\r\n\r\n return (\r\n
\r\n
\r\n this.onChange(e.target.value)}\r\n onKeyUp={this.onKeyUp}\r\n onFocus={this.onFocus}\r\n onBlur={this.onBlur}\r\n />\r\n {searchResults.length > 0 ? (\r\n
\r\n \r\n searchResults.length ? 1 : emphasis + 1,\r\n total: searchResults.length\r\n }}\r\n />\r\n \r\n \r\n \r\n \r\n
\r\n ) : null}\r\n
\r\n
\r\n \r\n
\r\n {isDropdownOpen ? (\r\n {\r\n this.setState({ isDropdownOpen: false });\r\n this.setEmphasis(index);\r\n }}\r\n />\r\n ) : null}\r\n
\r\n );\r\n }\r\n}\r\n\r\nexport default enhanceWithClickOutside(CompareSearch);\r\n","import { connect } from 'react-redux';\r\n\r\nimport { onSearchChange } from 'store/search/search-category';\r\nimport CompareSearch from 'components/search/compare-search/compare-search';\r\n\r\nconst mapStateToProps = ({ data: { search } }) => ({\r\n search\r\n});\r\n\r\nconst mapDispatchToProps = {\r\n onSearchChange\r\n};\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(CompareSearch);\r\n","import React, { Component } from 'react';\r\nimport PropTypes from 'prop-types';\r\n\r\nimport { debounce } from 'underscore';\r\nimport SearchInputField from 'containers/search/search-inputfield-container';\r\nimport FileListSearch from 'containers/search/file-list-search/file-list-search-container';\r\n\r\n/** Analytics page search bar */\r\nclass AnalyticsSearch extends Component {\r\n static propTypes = {\r\n fileListSearchProps: PropTypes.object,\r\n\r\n inputDisabled: PropTypes.bool,\r\n location: PropTypes.object,\r\n match: PropTypes.object,\r\n onEnter: PropTypes.func,\r\n onExit: PropTypes.func,\r\n onSearchChange: PropTypes.func,\r\n search: PropTypes.object\r\n };\r\n\r\n componentDidMount() {\r\n if (this.props.search.query.length > 0) {\r\n this.props.onSearchChange('');\r\n }\r\n }\r\n\r\n onKeyUp = debounce(() => {\r\n this.onEnter();\r\n }, 500);\r\n\r\n onEnter = () => {\r\n this.props.onEnter();\r\n };\r\n\r\n render() {\r\n const { location, inputDisabled, onExit, fileListSearchProps } = this.props;\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n );\r\n }\r\n}\r\n\r\nexport default AnalyticsSearch;\r\n","import { connect } from 'react-redux';\r\n\r\nimport { onSearchChange } from 'store/search/search-category';\r\nimport AnalyticsSearch from 'components/search/analytics-search/analytics-search';\r\n\r\nconst mapStateToProps = ({ data: { search } }) => ({\r\n search\r\n});\r\n\r\nconst mapDispatchToProps = {\r\n onSearchChange\r\n};\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(AnalyticsSearch);\r\n","import React, { Component } from 'react';\r\nimport PropTypes from 'prop-types';\r\n\r\nimport { withRouter } from 'react-router';\r\nimport SearchMenu from './shared/search-menu';\r\nimport DocumentSearch from 'containers/search/document-search/document-search';\r\nimport ProjectListSearch from 'containers/search/project-list-search/project-list-search-container';\r\nimport GroupsSearch from 'containers/search/groups-search/groups-search-container';\r\nimport UserSearch from 'containers/search/user-search/user-search-container';\r\nimport FileListSearch from 'containers/search/file-list-search/file-list-search-container';\r\nimport CompareSearch from 'containers/search/compare-search/compare-search-container';\r\nimport AnalyticsSearch from 'containers/search/analytics-search/analytics-search';\r\n\r\nimport Constants from 'utils/constants';\r\n\r\n/** Main search component that changes the search function based on the page user is on */\r\nclass UniversalSearch extends Component {\r\n static propTypes = {\r\n compareData: PropTypes.shape({\r\n base: PropTypes.array,\r\n compare: PropTypes.array\r\n }),\r\n compareSetEmphasis: PropTypes.func,\r\n compareSetSearch: PropTypes.func,\r\n customValue: PropTypes.any,\r\n documentViewerSetSearchResults: PropTypes.func,\r\n history: PropTypes.object,\r\n isSearchResultsOpen: PropTypes.bool,\r\n location: PropTypes.object,\r\n match: PropTypes.object,\r\n onEnter: PropTypes.func,\r\n onExit: PropTypes.func,\r\n projectId: PropTypes.string,\r\n fromProjectListPage: PropTypes.bool,\r\n fromQuickStudyPage: PropTypes.bool\r\n };\r\n\r\n static defaultProps = {\r\n compareData: {\r\n base: [],\r\n compare: []\r\n }\r\n };\r\n\r\n state = {\r\n searchType: ''\r\n };\r\n\r\n setSearchType = type => {\r\n this.setState({ searchType: type });\r\n };\r\n\r\n render() {\r\n const {\r\n documentViewerSetSearchResults,\r\n location,\r\n match,\r\n customValue,\r\n isSearchResultsOpen,\r\n fromProjectListPage,\r\n fromQuickStudyPage,\r\n fromUserManagementPage\r\n } = this.props;\r\n const { searchType } = this.state;\r\n const TYPE = Constants.SearchTypes;\r\n\r\n return (\r\n
\r\n
\r\n \r\n\r\n {searchType === TYPE.PROJECT_LIST_SEARCH ? : null}\r\n\r\n {searchType === TYPE.GROUPS_SEARCH ? : null}\r\n\r\n {searchType === TYPE.USERS_SEARCH ? : null}\r\n\r\n {searchType === TYPE.FILE_LIST_SEARCH ? : null}\r\n\r\n {searchType === TYPE.COMPARE_VIEWER_SEARCH ? : null}\r\n\r\n {searchType === TYPE.ANALYTICS_SEARCH ? (\r\n \r\n ) : null}\r\n\r\n {searchType === TYPE.DOCUMENT_VIEWER_SEARCH ? (\r\n \r\n ) : null}\r\n
\r\n
\r\n );\r\n }\r\n}\r\n\r\nexport default withRouter(UniversalSearch);\r\n","import PropTypes from 'prop-types';\r\nimport React, { Component } from 'react';\r\nimport Icon from 'components/shared/icon';\r\n\r\n/*\r\n * Text area\r\n * Use this when you need dynamic text area fields\r\n * Updated based on scroll height\r\n */\r\nexport default class TextArea extends Component {\r\n static propTypes = {\r\n isDragging: PropTypes.bool,\r\n maxHeight: PropTypes.number,\r\n minHeight: PropTypes.number,\r\n onChange: PropTypes.func,\r\n placeholder: PropTypes.string,\r\n value: PropTypes.any,\r\n calculateCustomStyles: PropTypes.func,\r\n clientInfo: PropTypes.object\r\n };\r\n\r\n state = {\r\n internalValue: ''\r\n };\r\n\r\n static defaultProps = {\r\n maxHeight: 80,\r\n minHeight: 20\r\n };\r\n\r\n UNSAFE_componentWillReceiveProps(prevProps, nextProps) {\r\n // This is necessary due to a bug while using drag and drop, because the previous scroll height is persisted.\r\n // Trigger a re-render to calculate its new height in its new position\r\n if (this.props.isDragging && this.props.isDragging !== nextProps.isDragging) {\r\n this.setState({});\r\n }\r\n\r\n if (\r\n this.props.placeholder === 'Search for your engagement' &&\r\n this.props.className === 'valid-textarea__input' &&\r\n (this.props.clientInfo == null || this.props.clientInfo?.clientId != prevProps.clientInfo?.clientId) &&\r\n this.state.internalValue != ''\r\n )\r\n this.setState({ internalValue: '' });\r\n }\r\n\r\n computeScrollHeight() {\r\n const currentHeight = this.field.style.height;\r\n // Must reset height to 0 to have a useful scrollHeight measure\r\n this.field.style.height = 0;\r\n const newHeight = this.field.scrollHeight;\r\n // Restore height\r\n this.field.style.height = currentHeight;\r\n // Return new heigth, derived from scrollHeight\r\n return newHeight;\r\n }\r\n\r\n computeStyle() {\r\n const { minHeight, maxHeight, calculateCustomStyles } = this.props;\r\n\r\n // We need the ref to compute height\r\n if (!this.field) {\r\n return { minHeight, height: minHeight };\r\n }\r\n // Compute height according to DOM element's scrollHeight\r\n const height = this.computeScrollHeight();\r\n\r\n const customStyles = calculateCustomStyles?.(this.field) ?? {};\r\n\r\n return { height: height > maxHeight ? maxHeight : height, minHeight, ...customStyles };\r\n }\r\n\r\n computeStyleForMATTextArea() {\r\n const { minHeight, maxHeight, calculateCustomStyles } = this.props;\r\n\r\n // We need the ref to compute height\r\n if (!this.field) {\r\n return { minHeight, height: minHeight };\r\n }\r\n // Compute height according to DOM element's scrollHeight\r\n const height = this.computeScrollHeight();\r\n\r\n const customStyles = calculateCustomStyles?.(this.field) ?? {};\r\n return { height: height > maxHeight ? maxHeight - 4 : height - 4, minHeight, ...customStyles };\r\n }\r\n\r\n computeStyleForClientTextArea() {\r\n const { minHeight, maxHeight, calculateCustomStyles } = this.props;\r\n\r\n // We need the ref to compute height\r\n if (!this.field) {\r\n return { minHeight, height: minHeight };\r\n }\r\n // Compute height according to DOM element's scrollHeight\r\n const height = this.computeScrollHeight();\r\n\r\n const customStyles = calculateCustomStyles?.(this.field) ?? {};\r\n return { height: height > maxHeight ? maxHeight - 4 : height - 4, minHeight, ...customStyles };\r\n }\r\n\r\n onChange = e => {\r\n let value = e.target.value;\r\n if (this.props.onChange) {\r\n this.props.onChange(value);\r\n }\r\n // Set state to trigger re-render (and use re-computed height / style)\r\n this.setState({ internalValue: value });\r\n };\r\n\r\n onRef = element => {\r\n this.field = element;\r\n // Trigger 2nd render since we now have the ref and can correctly compute height\r\n // (so there's no visible \"jump\" in height to the end-user)\r\n this.setState({});\r\n };\r\n\r\n render() {\r\n const {\r\n onChange,\r\n placeholder,\r\n value,\r\n minHeight,\r\n maxHeight,\r\n isDragging,\r\n calculateCustomStyles,\r\n className,\r\n clientInfo,\r\n ...otherProps\r\n } = this.props;\r\n\r\n return placeholder === 'Search for your engagement' && className === 'valid-textarea__input' ? (\r\n
\r\n
\r\n this.onChange(e)}\r\n value={value || (clientInfo != null ? this.state.internalValue : '')}\r\n className={'valid-textarea__MATInputTexArea'}\r\n ref={this.onRef}\r\n {...otherProps}\r\n />\r\n
\r\n \r\n \r\n \r\n
\r\n ) : placeholder === 'Search for your client' && className === 'valid-textarea__input' ? (\r\n
\r\n
\r\n this.onChange(e)}\r\n value={value || this.state.internalValue}\r\n className={'valid-textarea__ClientInputTexArea'}\r\n ref={this.onRef}\r\n {...otherProps}\r\n />\r\n
\r\n \r\n \r\n \r\n
\r\n ) : (\r\n this.onChange(e)}\r\n value={value || this.state.internalValue}\r\n className={className}\r\n ref={this.onRef}\r\n {...otherProps}\r\n />\r\n );\r\n }\r\n}\r\n","import React, { useState, useReducer, useMemo } from 'react';\r\nimport { FormattedMessage, injectIntl, intlShape } from 'react-intl';\r\nimport PropTypes from 'prop-types';\r\n\r\nimport Icon from 'components/shared/icon';\r\nimport Modal from 'components/shared/modal';\r\nimport Button from 'components/shared/single-click-button';\r\nimport TextArea from 'components/shared/form/textarea';\r\nimport { postNewRating } from 'store/api';\r\n\r\nconst MAX_HEIGHT = 55;\r\nconst initialState = { rating: null, feedback: '' };\r\n\r\nfunction reducer(state, action) {\r\n switch (action.type) {\r\n case 'change_rating':\r\n return { ...state, rating: action.payload };\r\n case 'change_feedback':\r\n return { ...state, feedback: action.payload };\r\n default:\r\n throw new Error();\r\n }\r\n}\r\n\r\nfunction RateApplication({ currentUser, location, isOpen, handleSuccessSubmit, handleErrorSubmit, onCancel, intl }) {\r\n const [state, dispatch] = useReducer(reducer, initialState);\r\n\r\n const handleChangeRating = newRating => dispatch({ type: 'change_rating', payload: newRating });\r\n const handleChangeFeedback = newRating => dispatch({ type: 'change_feedback', payload: newRating });\r\n const handleSubmit = () => {\r\n postNewRating(\r\n currentUser.userId,\r\n state.rating,\r\n state.feedback,\r\n window.location.origin + location.pathname,\r\n currentUser.email\r\n ).then(\r\n response => handleSuccessSubmit?.(response),\r\n error => handleErrorSubmit?.(error),\r\n (state.rating = null),\r\n (state.feedback = '')\r\n );\r\n };\r\n\r\n const handleCancel = () => {\r\n state.rating = null;\r\n onCancel();\r\n };\r\n\r\n const rating = useMemo(() => {\r\n const stars = new Array(5).fill(null).map((value, index) => (\r\n handleChangeRating(index + 1)}>\r\n \r\n \r\n ));\r\n const ratingDescription =\r\n state.rating > 0 && state.rating < 6 ? (\r\n
\r\n {}\r\n
\r\n ) : null;\r\n return (\r\n
\r\n
{stars}
\r\n {ratingDescription}\r\n
\r\n );\r\n }, [state.rating]);\r\n\r\n return isOpen ? (\r\n \r\n
\r\n
\r\n \r\n

\r\n \r\n

\r\n
\r\n\r\n
\r\n

\r\n \r\n

\r\n
{rating}
\r\n \r\n {\r\n return domRef.scrollHeight > MAX_HEIGHT + 5 ? { overflow: 'auto' } : {};\r\n }}\r\n />\r\n
\r\n\r\n
\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n ) : null;\r\n}\r\n\r\nRateApplication.propTypes = {\r\n currentUser: PropTypes.object,\r\n location: PropTypes.object,\r\n handleSuccessSubmit: PropTypes.func,\r\n handleErrorSubmit: PropTypes.func,\r\n onCancel: PropTypes.func,\r\n intl: intlShape\r\n};\r\n\r\nexport default injectIntl(RateApplication);\r\n","import React, { Component } from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { FormattedMessage } from 'react-intl';\r\nimport enhanceWithClickOutside from 'react-click-outside';\r\n\r\nimport DocumentDownload from 'components/shared/document-download';\r\nimport Button from 'components/shared/single-click-button';\r\nimport RateApplication from 'components/header/rate-application/rate-application';\r\nimport Icon from 'components/shared/icon';\r\nimport { getCurrentBaseUrl } from 'store/api';\r\nimport { addNotification } from 'store/notifications.js';\r\nimport store from 'store/store';\r\nimport Scrollbars from '../../shared/scrollbars/scrollbars';\r\nimport ReactTooltip from 'react-tooltip';\r\n\r\nclass HelpDropdown extends Component {\r\n static propTypes = {\r\n aboutArgus: PropTypes.object,\r\n currentLanguage: PropTypes.object,\r\n fromExtractionPage: PropTypes.bool,\r\n fromTranslationPage: PropTypes.bool,\r\n loadAboutInfo: PropTypes.func,\r\n currentUser: PropTypes.object,\r\n location: PropTypes.object\r\n };\r\n\r\n state = {\r\n isMenuOpen: false,\r\n loadingDocument: false,\r\n isRatingModalOpen: false\r\n };\r\n\r\n componentDidMount() {\r\n const { aboutArgus, loadAboutInfo } = this.props;\r\n if (!aboutArgus.isLoaded && !aboutArgus.isLoading) {\r\n return loadAboutInfo();\r\n }\r\n }\r\n\r\n handleClickOutside = () => {\r\n !this.state.isRatingModalOpen && this.setState({ isMenuOpen: false });\r\n };\r\n\r\n handleFeedbackSubmit = (type = 'success') => {\r\n this.setState({ isRatingModalOpen: false });\r\n };\r\n\r\n render() {\r\n const { isMenuOpen, loadingDocument } = this.state;\r\n const { aboutArgus, currentLanguage, fromExtractionPage, fromTranslationPage, currentUser, location } = this.props;\r\n\r\n if (aboutArgus.isLoading || !aboutArgus.isLoaded) {\r\n return (\r\n
\r\n \r\n
\r\n );\r\n }\r\n const submitRequest = (\r\n \r\n \r\n }}\r\n />\r\n \r\n );\r\n\r\n const submitOmniaIdeaRequest = (\r\n \r\n \r\n }}\r\n />\r\n \r\n );\r\n\r\n const link = (_link, messageId) =>\r\n loadingDocument === messageId ? (\r\n
\r\n \r\n
\r\n ) : (\r\n }\r\n apiCallHeaders={{ 'X-LANG-CTX': currentLanguage.localeCode }}\r\n target=\"_blank\"\r\n documentLoading={() => this.setState({ loadingDocument: messageId })}\r\n documentLoaded={() => this.setState({ loadingDocument: false, isMenuOpen: false })}\r\n supportEmail={aboutArgus.data.supportEmail}\r\n />\r\n );\r\n let pageLinks = [];\r\n if (aboutArgus.data.extractionPage && aboutArgus.data.translationPage) {\r\n pageLinks = [\r\n {\r\n id: 'learning-material',\r\n link: [\r\n link(`${getCurrentBaseUrl()}/${aboutArgus.data.extractionPage.faq}`, 'faq'),\r\n link(`${getCurrentBaseUrl()}/${aboutArgus.data.extractionPage.gettingStartedQRG}`, 'getting-started-qrg'),\r\n link(\r\n `${getCurrentBaseUrl()}/${aboutArgus.data.extractionPage.conductingReviewQRG}`,\r\n 'conducting-review-qrg'\r\n ),\r\n link(\r\n `${getCurrentBaseUrl()}/${aboutArgus.data.extractionPage.extractionFieldsQRG}`,\r\n 'extraction-fields-101-qrg'\r\n ),\r\n link(`${getCurrentBaseUrl()}/${aboutArgus.data.extractionPage.analyticsQRG}`, 'argus-analytics-qrg'),\r\n link(\r\n `${getCurrentBaseUrl()}/${aboutArgus.data.extractionPage.managingProjectQRG}`,\r\n 'managing-your-project-qrg'\r\n ),\r\n link(`${getCurrentBaseUrl()}/${aboutArgus.data.extractionPage.detailTestingQRG}`, 'detail-testing-qrg'),\r\n link(\r\n `${getCurrentBaseUrl()}/${aboutArgus.data.extractionPage.trainingPrivateEFQRG}`,\r\n 'training-private-field-qrg'\r\n ),\r\n link(`${getCurrentBaseUrl()}/${aboutArgus.data.translationPage.qrg}`, 'argus-translation-qrg')\r\n ]\r\n },\r\n {\r\n id: 'other',\r\n link: [link(`${getCurrentBaseUrl()}/${aboutArgus.data.extractionPage.otherDocuments}`, 'other-link-text')]\r\n }\r\n ];\r\n }\r\n const LINKS = [\r\n {\r\n id: 'request-support',\r\n link: [submitRequest, submitOmniaIdeaRequest]\r\n },\r\n ...pageLinks\r\n ];\r\n\r\n const releaseNotes = [\r\n {\r\n id: 'releaseNotes',\r\n link: [link(`${getCurrentBaseUrl()}/${aboutArgus.data.extractionPage.releaseNotes}`, 'releaseNotes')]\r\n }\r\n ];\r\n return (\r\n
\r\n this.setState({ isMenuOpen: !isMenuOpen })}\r\n data-tip\r\n data-for=\"help.tooltip.title\"\r\n >\r\n {}\r\n \r\n \r\n \r\n \r\n {isMenuOpen ? (\r\n
\r\n
\r\n \r\n {releaseNotes.map(value => {\r\n return value.link.map(p => {\r\n return {p};\r\n });\r\n })}\r\n {LINKS.map((value, index) => {\r\n return (\r\n
\r\n \r\n \r\n \r\n {value.link.map(l => {\r\n return {l};\r\n })}\r\n
\r\n );\r\n })}\r\n
\r\n
\r\n this.setState({ isRatingModalOpen: true })}\r\n >\r\n \r\n

\r\n \r\n

\r\n
\r\n this.handleFeedbackSubmit()}\r\n handleErrorSubmit={() => this.handleFeedbackSubmit('error')}\r\n onCancel={() => this.setState({ isRatingModalOpen: false })}\r\n />\r\n
\r\n ) : null}\r\n \r\n );\r\n }\r\n}\r\nexport default enhanceWithClickOutside(HelpDropdown);\r\n","var _path;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport * as React from \"react\";\nfunction SvgArgusTitle(_ref, svgRef) {\n let {\n title,\n titleId,\n ...props\n } = _ref;\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 32,\n height: 12,\n viewBox: \"0 0 32 12\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M6.5625 9L5.49609 6.27539H2.0625L1.00781 9H0L3.38672 0.398438H4.22461L7.59375 9H6.5625ZM5.18555 5.37891L4.18945 2.72461C4.06055 2.38867 3.92773 1.97656 3.79102 1.48828C3.70508 1.86328 3.58203 2.27539 3.42188 2.72461L2.41406 5.37891H5.18555ZM11.5547 2.46094C11.8398 2.46094 12.0957 2.48438 12.3223 2.53125L12.1875 3.43359C11.9219 3.375 11.6875 3.3457 11.4844 3.3457C10.9648 3.3457 10.5195 3.55664 10.1484 3.97852C9.78125 4.40039 9.59766 4.92578 9.59766 5.55469V9H8.625V2.57812H9.42773L9.53906 3.76758H9.58594C9.82422 3.34961 10.1113 3.02734 10.4473 2.80078C10.7832 2.57422 11.1523 2.46094 11.5547 2.46094ZM18.7793 2.57812V3.19336L17.5898 3.33398C17.6992 3.4707 17.7969 3.65039 17.8828 3.87305C17.9688 4.0918 18.0117 4.33984 18.0117 4.61719C18.0117 5.24609 17.7969 5.74805 17.3672 6.12305C16.9375 6.49805 16.3477 6.68555 15.5977 6.68555C15.4062 6.68555 15.2266 6.66992 15.0586 6.63867C14.6445 6.85742 14.4375 7.13281 14.4375 7.46484C14.4375 7.64062 14.5098 7.77148 14.6543 7.85742C14.7988 7.93945 15.0469 7.98047 15.3984 7.98047H16.5352C17.2305 7.98047 17.7637 8.12695 18.1348 8.41992C18.5098 8.71289 18.6973 9.13867 18.6973 9.69727C18.6973 10.4082 18.4121 10.9492 17.8418 11.3203C17.2715 11.6953 16.4395 11.8828 15.3457 11.8828C14.5059 11.8828 13.8574 11.7266 13.4004 11.4141C12.9473 11.1016 12.7207 10.6602 12.7207 10.0898C12.7207 9.69922 12.8457 9.36133 13.0957 9.07617C13.3457 8.79102 13.6973 8.59766 14.1504 8.49609C13.9863 8.42188 13.8477 8.30664 13.7344 8.15039C13.625 7.99414 13.5703 7.8125 13.5703 7.60547C13.5703 7.37109 13.6328 7.16602 13.7578 6.99023C13.8828 6.81445 14.0801 6.64453 14.3496 6.48047C14.0176 6.34375 13.7461 6.11133 13.5352 5.7832C13.3281 5.45508 13.2246 5.08008 13.2246 4.6582C13.2246 3.95508 13.4355 3.41406 13.8574 3.03516C14.2793 2.65234 14.877 2.46094 15.6504 2.46094C15.9863 2.46094 16.2891 2.5 16.5586 2.57812H18.7793ZM13.6582 10.0781C13.6582 10.4258 13.8047 10.6895 14.0977 10.8691C14.3906 11.0488 14.8105 11.1387 15.3574 11.1387C16.1738 11.1387 16.7773 11.0156 17.168 10.7695C17.5625 10.5273 17.7598 10.1973 17.7598 9.7793C17.7598 9.43164 17.6523 9.18945 17.4375 9.05273C17.2227 8.91992 16.8184 8.85352 16.2246 8.85352H15.0586C14.6172 8.85352 14.2734 8.95898 14.0273 9.16992C13.7812 9.38086 13.6582 9.68359 13.6582 10.0781ZM14.1855 4.63477C14.1855 5.08398 14.3125 5.42383 14.5664 5.6543C14.8203 5.88477 15.1738 6 15.627 6C16.5762 6 17.0508 5.53906 17.0508 4.61719C17.0508 3.65234 16.5703 3.16992 15.6094 3.16992C15.1523 3.16992 14.8008 3.29297 14.5547 3.53906C14.3086 3.78516 14.1855 4.15039 14.1855 4.63477ZM21.0117 2.57812V6.74414C21.0117 7.26758 21.1309 7.6582 21.3691 7.91602C21.6074 8.17383 21.9805 8.30273 22.4883 8.30273C23.1602 8.30273 23.6504 8.11914 23.959 7.75195C24.2715 7.38477 24.4277 6.78516 24.4277 5.95312V2.57812H25.4004V9H24.5977L24.457 8.13867H24.4043C24.2051 8.45508 23.9277 8.69727 23.5723 8.86523C23.2207 9.0332 22.8184 9.11719 22.3652 9.11719C21.584 9.11719 20.998 8.93164 20.6074 8.56055C20.2207 8.18945 20.0273 7.5957 20.0273 6.7793V2.57812H21.0117ZM31.6113 7.24805C31.6113 7.8457 31.3887 8.30664 30.9434 8.63086C30.498 8.95508 29.873 9.11719 29.0684 9.11719C28.2168 9.11719 27.5527 8.98242 27.0762 8.71289V7.81055C27.3848 7.9668 27.7148 8.08984 28.0664 8.17969C28.4219 8.26953 28.7637 8.31445 29.0918 8.31445C29.5996 8.31445 29.9902 8.23438 30.2637 8.07422C30.5371 7.91016 30.6738 7.66211 30.6738 7.33008C30.6738 7.08008 30.5645 6.86719 30.3457 6.69141C30.1309 6.51172 29.709 6.30078 29.0801 6.05859C28.4824 5.83594 28.0566 5.64258 27.8027 5.47852C27.5527 5.31055 27.3652 5.12109 27.2402 4.91016C27.1191 4.69922 27.0586 4.44727 27.0586 4.1543C27.0586 3.63086 27.2715 3.21875 27.6973 2.91797C28.123 2.61328 28.707 2.46094 29.4492 2.46094C30.1406 2.46094 30.8164 2.60156 31.4766 2.88281L31.1309 3.67383C30.4863 3.4082 29.9023 3.27539 29.3789 3.27539C28.918 3.27539 28.5703 3.34766 28.3359 3.49219C28.1016 3.63672 27.9844 3.83594 27.9844 4.08984C27.9844 4.26172 28.0273 4.4082 28.1133 4.5293C28.2031 4.65039 28.3457 4.76562 28.541 4.875C28.7363 4.98438 29.1113 5.14258 29.666 5.34961C30.4277 5.62695 30.9414 5.90625 31.207 6.1875C31.4766 6.46875 31.6113 6.82227 31.6113 7.24805Z\",\n fill: \"black\"\n })));\n}\nconst ForwardRef = /*#__PURE__*/React.forwardRef(SvgArgusTitle);\nexport default __webpack_public_path__ + \"static/media/argus_title.bb9fe288b5c3d1696e49f8c378915124.svg\";\nexport { ForwardRef as ReactComponent };","import React, { Component, useState, useEffect } from 'react';\r\n\r\nimport { FormattedMessage } from 'react-intl';\r\nimport OutsideClickHandler from 'react-outside-click-handler';\r\n\r\nimport Button from 'components/shared/single-click-button';\r\nimport Icon from 'components/shared/icon';\r\nimport arguslogoImage from 'images/argus_title.svg';\r\n\r\nimport store from 'store/store';\r\nimport Permissions from 'permissions/permissions';\r\n\r\nfunction SubheaderDropdown(props) {\r\n const [isMenuOpen, changeMenuState] = useState(false);\r\n\r\n const [isAllowed, changeAllowedFeatures] = useState({});\r\n\r\n function isUserALlowed() {\r\n changeAllowedFeatures(() => {\r\n return props.currentUser && props.currentUser.accessibleFeatures\r\n ? props.currentUser.accessibleFeatures.reduce((obj, item) => {\r\n return {\r\n ...obj,\r\n [item['featureId']]: item\r\n };\r\n }, {})\r\n : {};\r\n });\r\n }\r\n\r\n function toggleMenu() {\r\n changeMenuState(prevState => {\r\n return !prevState;\r\n });\r\n\r\n isUserALlowed();\r\n }\r\n\r\n function closePopup() {\r\n changeMenuState(() => {\r\n return false;\r\n });\r\n }\r\n\r\n return (\r\n
\r\n {\r\n closePopup();\r\n }}\r\n >\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n {props.currentPage === 'global.subheader.extraction' ? (\r\n \r\n ) : props.currentPage === 'global.subheader.translation' ? (\r\n \r\n ) : props.currentPage === 'global.subheader.admin-dashboard' ? (\r\n \r\n ) : props.currentPage === 'global.subheader.landing-page' ? (\r\n \r\n ) : null}\r\n \r\n
\r\n
\r\n\r\n {isMenuOpen ? (\r\n
\r\n
    \r\n {isAllowed.hasOwnProperty('0') && (\r\n
  • \r\n \r\n \r\n \r\n
  • \r\n )}\r\n {isAllowed.hasOwnProperty('1') && (\r\n
  • \r\n \r\n \r\n \r\n
  • \r\n )}\r\n {Permissions.Global.canViewAdminAccess() && (\r\n
  • \r\n \r\n \r\n \r\n
  • \r\n )}\r\n
\r\n
\r\n ) : null}\r\n \r\n
\r\n );\r\n}\r\n\r\nexport default SubheaderDropdown;\r\n","import React, { memo, useEffect, useState } from 'react';\r\nimport Icon from 'components/shared/icon';\r\nimport Button from 'components/shared/single-click-button';\r\n\r\nfunction MaintenanceMessageBanner({ maintenanceBannerMessages, currentUser }) {\r\n const [maintenanceMessages, changemaintenanceMessages] = useState(JSON.parse(maintenanceBannerMessages));\r\n useEffect(() => {\r\n getMessages();\r\n }, []);\r\n\r\n const getMessages = () => {\r\n let messagesToLoad = maintenanceMessages;\r\n let msg = [];\r\n let recentClosedMaintenanceMessages =\r\n JSON.parse(localStorage.getItem(`closedMaintenanceMessage-${currentUser.userId}`)) || [];\r\n let updateClosedMessages = [];\r\n let messageIds = messagesToLoad.map(element => element.messageId);\r\n messagesToLoad.forEach(function(obj) {\r\n if (recentClosedMaintenanceMessages.indexOf(obj.messageId) == -1) {\r\n msg.push(obj);\r\n }\r\n });\r\n recentClosedMaintenanceMessages.forEach(function(elem) {\r\n if (messageIds.indexOf(elem) !== -1) {\r\n updateClosedMessages.push(elem);\r\n }\r\n });\r\n if (currentUser.userId != null)\r\n localStorage.setItem(`closedMaintenanceMessage-${currentUser.userId}`, JSON.stringify(updateClosedMessages));\r\n changemaintenanceMessages(msg);\r\n };\r\n\r\n const onCloseClick = id => {\r\n let messages = maintenanceMessages.filter(m => m.messageId !== id);\r\n changemaintenanceMessages(messages);\r\n let recentClosedMaintenanceMessages =\r\n JSON.parse(localStorage.getItem(`closedMaintenanceMessage-${currentUser.userId}`)) || [];\r\n recentClosedMaintenanceMessages.push(id);\r\n localStorage.setItem(\r\n `closedMaintenanceMessage-${currentUser.userId}`,\r\n JSON.stringify(recentClosedMaintenanceMessages)\r\n );\r\n };\r\n return (\r\n maintenanceMessages.length > 0 &&\r\n currentUser?.userId != null && (\r\n
\r\n {maintenanceMessages.map(message => {\r\n return (\r\n \r\n \r\n \r\n \r\n {message.messageText}\r\n onCloseClick(message.messageId)}\r\n >\r\n \r\n \r\n
\r\n );\r\n })}\r\n \r\n )\r\n );\r\n}\r\n\r\nexport default MaintenanceMessageBanner;\r\n","import React from 'react';\r\nimport { FormattedMessage } from 'react-intl';\r\n\r\nexport const PAGE_SIZE = 50;\r\n\r\nconst collator = new Intl.Collator(undefined, { numeric: true, sensitivity: 'base' });\r\n\r\nconst stringSortFunction = (a, b) => {\r\n return collator.compare((a || '').trim().toLowerCase(), (b || '').trim().toLowerCase());\r\n};\r\n\r\nconst dateSortFunction = (a, b) => {\r\n if (a === b) {\r\n return 0;\r\n }\r\n\r\n if (a === null) {\r\n return 1;\r\n }\r\n\r\n if (b === null) {\r\n return -1;\r\n }\r\n\r\n return a < b ? -1 : 1;\r\n};\r\n\r\nconst numberSortFunction = dateSortFunction;\r\n\r\nexport const SORT_KEYS = {\r\n PROJECT_NAME: 'projectName',\r\n CLIENT_NAME: 'clientName',\r\n CREATED_DATE: 'createdDate',\r\n LAST_UPDATED_DATE: 'lastUpdatedDate',\r\n PROJECT_STATE_ID: 'projectStateId'\r\n};\r\n\r\nexport const SORT_HEADERS = [\r\n {\r\n sortName: SORT_KEYS.PROJECT_NAME,\r\n displayName: \r\n },\r\n {\r\n sortName: SORT_KEYS.CLIENT_NAME,\r\n displayName: \r\n },\r\n {\r\n sortName: SORT_KEYS.CREATED_DATE,\r\n displayName: \r\n },\r\n {\r\n sortName: SORT_KEYS.LAST_UPDATED_DATE,\r\n displayName: \r\n },\r\n {\r\n sortName: SORT_KEYS.PROJECT_STATE_ID,\r\n displayName: \r\n }\r\n];\r\n\r\nexport const SORT_FUNCTIONS = {\r\n [SORT_KEYS.PROJECT_NAME]: stringSortFunction,\r\n [SORT_KEYS.CLIENT_NAME]: stringSortFunction,\r\n [SORT_KEYS.CREATED_DATE]: dateSortFunction,\r\n [SORT_KEYS.LAST_UPDATED_DATE]: dateSortFunction,\r\n [SORT_KEYS.PROJECT_STATE_ID]: numberSortFunction\r\n};\r\n","import React, { Component } from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport Icon from 'components/shared/icon';\r\nimport { FormattedMessage } from 'react-intl';\r\nimport ReactTooltip from 'react-tooltip';\r\n\r\nimport Button from 'components/shared/single-click-button';\r\nimport enhanceWithClickOutside from 'react-click-outside';\r\nimport { SORT_HEADERS } from 'components/project-list/constants';\r\n\r\nclass SortByDropdown extends Component {\r\n static propTypes = {\r\n onSortClick: PropTypes.func,\r\n sortValue: PropTypes.string\r\n };\r\n\r\n state = {\r\n showSortBy: false\r\n };\r\n\r\n handleSortClick = () => {\r\n this.setState({ showSortBy: !this.state.showSortBy });\r\n };\r\n\r\n handleClickOutside = () => {\r\n this.setState({ showSortBy: false });\r\n };\r\n\r\n render() {\r\n const { sortValue, onSortClick } = this.props;\r\n return (\r\n
\r\n
\r\n {this.state.showSortBy ? (\r\n \r\n ) : (\r\n \r\n \r\n \r\n \r\n \r\n \r\n )}\r\n
\r\n {this.state.showSortBy ? (\r\n
\r\n
\r\n \r\n
\r\n
\r\n {SORT_HEADERS.map((heading, index) => {\r\n const isSelected = sortValue === heading.sortName;\r\n\r\n return (\r\n onSortClick(heading.sortName)}\r\n >\r\n {heading.displayName}\r\n {isSelected ? : null}\r\n \r\n );\r\n })}\r\n
\r\n
\r\n ) : null}\r\n
\r\n );\r\n }\r\n}\r\n\r\nexport default enhanceWithClickOutside(SortByDropdown);\r\n","import React, { Component } from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { FormattedMessage } from 'react-intl';\r\n\r\nimport Button from 'components/shared/single-click-button';\r\nimport Switch from 'components/shared/form/switch';\r\nimport Icon from 'components/shared/icon';\r\nimport SortByDropdown from './sort/sort';\r\n\r\nimport Permissions from 'permissions/permissions';\r\nimport constants from 'utils/constants';\r\n\r\nclass Toolbar extends Component {\r\n static propTypes = {\r\n iconValue: PropTypes.string,\r\n isSelected: PropTypes.bool,\r\n loadState: PropTypes.object,\r\n onCreate: PropTypes.func,\r\n onIconClick: PropTypes.func,\r\n onSortClick: PropTypes.func,\r\n showIcons: PropTypes.bool,\r\n sortValue: PropTypes.string,\r\n userMode: PropTypes.bool,\r\n onUserModeChange: PropTypes.func,\r\n currentUser: PropTypes.object,\r\n loadProjectList: PropTypes.func,\r\n onSearchChange: PropTypes.func,\r\n getContainerGEO: PropTypes.func,\r\n getCurrentMemberFirmCode: PropTypes.func,\r\n getCurrentContainer: PropTypes.func,\r\n isWorkspaceButtonHidden: PropTypes.bool\r\n };\r\n\r\n // Pass in value of either tile or table so parent knows which one its being toggled\r\n onIconClick = value => {\r\n this.props.onIconClick(value);\r\n };\r\n\r\n componentDidMount() {\r\n this.props.getCurrentContainer();\r\n this.props.getContainerGEO();\r\n this.props.getCurrentMemberFirmCode();\r\n }\r\n\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n isOpen: false\r\n };\r\n }\r\n\r\n toggleDropdown = () => {\r\n this.setState(prevState => ({\r\n isOpen: !prevState.isOpen\r\n }));\r\n };\r\n\r\n onCreateProjectType = type => {\r\n const { onCreate } = this.props;\r\n onCreate(type);\r\n };\r\n\r\n render() {\r\n const {\r\n showIcons,\r\n onSortClick,\r\n sortValue,\r\n loadState,\r\n onUserModeChange,\r\n userMode,\r\n currentUser,\r\n getCurrentContainer,\r\n onContainerChange,\r\n isWorkspaceButtonHidden\r\n } = this.props;\r\n\r\n const { isOpen } = this.state;\r\n return (\r\n
\r\n {/*

\r\n \r\n {loadState.isPartialLoading ? : null}\r\n

*/}\r\n\r\n {Permissions.Global.canToggleAdmin() ? (\r\n
\r\n \r\n \r\n \r\n onUserModeChange(!userMode)}\r\n isOn={userMode}\r\n id=\"adminModeToggle\"\r\n />\r\n
\r\n ) : null}\r\n {Permissions.Global.canViewAdminContainerDropdown() && !userMode ? (\r\n
\r\n {\r\n onContainerChange(e.target.value);\r\n }}\r\n >\r\n {currentUser?.adminContainers?.map(item => (\r\n \r\n {item.containerName}\r\n \r\n ))}\r\n \r\n
\r\n ) : null}\r\n\r\n {showIcons ? (\r\n
\r\n \r\n {this.props.iconValue === 'table' ? (\r\n this.onIconClick('tile')}\r\n >\r\n \r\n \r\n ) : (\r\n this.onIconClick('table')}\r\n >\r\n \r\n \r\n )}\r\n
\r\n ) : null}\r\n\r\n {Permissions.Project.canCreate() && !loadState.error && currentUser.allowProjectCreation ? (\r\n
\r\n this.onCreateProjectType(constants.ProjectTypes.EXTRACTION_PROJECT)}\r\n >\r\n \r\n \r\n {isWorkspaceButtonHidden && currentUser?.allowWorkspaceCreation && (\r\n \r\n )}\r\n {isOpen && isWorkspaceButtonHidden && currentUser?.allowWorkspaceCreation && (\r\n
\r\n this.onCreateProjectType(constants.ProjectTypes.WORKSPACE_PROJECT)}\r\n >\r\n \r\n \r\n
\r\n )}\r\n
\r\n ) : null}\r\n
\r\n );\r\n }\r\n}\r\n\r\nexport default Toolbar;\r\n","import React, { Component } from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { FormattedMessage } from 'react-intl';\r\nimport Checkbox from 'components/shared/form/checkbox';\r\nimport Modal from 'components/shared/modal';\r\nimport { Radio, RadioGroup } from 'components/shared/form/radio';\r\n\r\nclass ContainerSelectionModal extends Component {\r\n static propTypes = {\r\n cached: PropTypes.bool,\r\n containers: PropTypes.array,\r\n onCancel: PropTypes.func,\r\n onSubmit: PropTypes.func,\r\n show: PropTypes.bool\r\n };\r\n\r\n static defaultProps = {\r\n cached: false\r\n };\r\n\r\n state = {\r\n selected: null,\r\n toBeCached: 'unchecked'\r\n };\r\n\r\n onSelect = selected => {\r\n this.setState({ selected });\r\n };\r\n\r\n onSubmit = () => {\r\n const { selected, toBeCached } = this.state;\r\n const { onSubmit } = this.props;\r\n\r\n onSubmit(selected.memberFirmCode, selected.containerCode, selected.countryCode, toBeCached === 'checked');\r\n };\r\n\r\n render() {\r\n const { selected, toBeCached } = this.state;\r\n const { show, onCancel, containers, cached } = this.props;\r\n const block = 'container-selection-modal';\r\n return (\r\n
\r\n {show ? (\r\n \r\n
\r\n

\r\n \r\n

\r\n\r\n

\r\n \r\n

\r\n\r\n \r\n {containers.map((container, index) => (\r\n
\r\n \r\n \r\n
\r\n ))}\r\n
\r\n\r\n {cached ? (\r\n
\r\n this.setState({ toBeCached: toBeCached === 'unchecked' ? 'checked' : 'unchecked' })}\r\n />\r\n \r\n
\r\n ) : null}\r\n\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n ) : null}\r\n
\r\n );\r\n }\r\n}\r\n\r\nexport default ContainerSelectionModal;\r\n","import React, { Component, useState, useEffect } from 'react';\r\nimport classNames from 'classnames';\r\nimport { FormattedMessage } from 'react-intl';\r\nimport Permissions from 'permissions/permissions';\r\nimport { Link } from 'react-router-dom';\r\nimport Button from 'components/shared/single-click-button';\r\nimport Icon from 'components/shared/icon';\r\nimport ToolBar from 'components/project-list/toolbar/toolbar';\r\nimport ContainerSelectionModal from 'components/project-list/container-selection/modal';\r\nimport constants from 'utils/constants';\r\nimport * as api from 'store/api';\r\nimport { createProject, createProjectManually } from 'store/api';\r\nimport { constant } from 'underscore';\r\n\r\nconst LANDINGPAGE_PATHS = {\r\n 0: '/',\r\n 1: '/translation',\r\n 2: '/admin-access'\r\n};\r\n\r\nfunction LandingPageTabs(props) {\r\n const [selectedTab, setSelectedTab] = useState(0);\r\n const { fromProjectListPage, fromTranslationPage } = props;\r\n const [tableOrTile, setTableOrTile] = useState(null);\r\n const [userMode, setUserMode] = useState(false);\r\n const [sortKey, setSortKey] = useState('projectName');\r\n const [sortAsc, setSortAsc] = useState(true);\r\n const [showContainerSelectionModal, setConstainerSelectionModel] = useState(false);\r\n const [translationLoaded, setTranslationsListLoaded] = useState(false);\r\n const [projectType, setprojectType] = useState(constants.ProjectTypes.EXTRACTION_PROJECT);\r\n\r\n const { location, translations, currentUser, loadTranslationsList, isWorkspaceButtonHidden } = props;\r\n let currentTab = 0;\r\n\r\n useEffect(() => {\r\n currentTab = Object.values(LANDINGPAGE_PATHS).indexOf(location?.pathname);\r\n if (\r\n (location.pathname.includes('groups') && Permissions.Global.canViewAdminContainerDropdown()) ||\r\n (location.pathname.includes('extraction-fields') && Permissions.Global.canViewAdminContainerDropdown()) ||\r\n location.pathname.includes('reports') ||\r\n location.pathname.includes('user-management') ||\r\n location.pathname.includes('maintenance-messages') ||\r\n location.pathname.includes('activation-settings')\r\n )\r\n currentTab = 2;\r\n if (currentTab >= 0) setSelectedTab(currentTab);\r\n\r\n const value = JSON.parse(localStorage.getItem(`project-list-display-mode-${props.currentUser.userId}`));\r\n setTableOrTile(value);\r\n\r\n if (\r\n currentUser?.accessibleFeatures &&\r\n !fromProjectListPage &&\r\n currentUser.accessibleFeatures.filter(feature => feature.featureId === 1).length > 0\r\n ) {\r\n if (!translationLoaded) {\r\n loadTranslationsList();\r\n setTranslationsListLoaded(true);\r\n }\r\n }\r\n });\r\n\r\n const getCurrentContainer = () => {\r\n var container = sessionStorage.getItem('selected-container');\r\n getCurrentMemberFirmCode();\r\n getContainerGEO();\r\n if (container) return container;\r\n else {\r\n sessionStorage.setItem(`selected-container`, props.currentUser.containerCode);\r\n return props.currentUser.containerCode;\r\n }\r\n };\r\n\r\n const getCurrentCountryCode = countryCode => {\r\n const { memberFirmContainers } = props.currentUser;\r\n if (memberFirmContainers != null) {\r\n memberFirmContainers.forEach(mfc => {\r\n if (mfc.countryCode != null) {\r\n countryCode = mfc.countryCode;\r\n return countryCode;\r\n }\r\n });\r\n } else {\r\n //If no country code is specified, get first matching country name for region code combo\r\n memberFirmContainers.forEach(mfc => {\r\n if (mfc.memberFirmCode != null && mfc.containerCode != null) {\r\n countryCode = mfc.countryCode;\r\n return countryCode;\r\n }\r\n });\r\n }\r\n return countryCode;\r\n };\r\n\r\n const getCurrentMemberFirmCode = () => {\r\n var memberfirm = sessionStorage.getItem('selected-memberfirm');\r\n if (memberfirm) return memberfirm;\r\n else {\r\n sessionStorage.setItem(`selected-memberfirm`, props.currentUser.memberFirmCode);\r\n return props.currentUser.memberFirmCode;\r\n }\r\n };\r\n\r\n const getContainerGEO = () => {\r\n var selectedGeo = sessionStorage.getItem('selected-GEOCode');\r\n if (selectedGeo) return selectedGeo;\r\n else {\r\n sessionStorage.setItem(`selected-GEOCode`, props.currentUser.geoCode);\r\n return props.currentUser.geoCode;\r\n }\r\n };\r\n\r\n const onContainerChange = value => {\r\n var adminContainer = JSON.parse(value);\r\n sessionStorage.setItem(`selected-container`, adminContainer.containerCode);\r\n sessionStorage.setItem(`selected-memberfirm`, adminContainer.memberFirmCode);\r\n sessionStorage.setItem(`selected-GEOCode`, adminContainer.geoCode);\r\n\r\n if (props.loadProjectList && fromProjectListPage) props.loadProjectList();\r\n if (props.loadUsers && location.pathname.includes('user-management')) props.loadUsers({ pageNum: 1 });\r\n if (location.pathname.includes('reports')) {\r\n if (sessionStorage.getItem('active-reports-tab') === '1' && props.loadReports) props.loadReports();\r\n else if (sessionStorage.getItem('active-reports-tab') === '2' && props.loadScheduledReports)\r\n props.loadScheduledReports();\r\n }\r\n if (location.pathname.includes('extraction-fields') && props.loadExtractionFields)\r\n props.loadExtractionFields({\r\n pageNum: 1,\r\n filterBy: 'name',\r\n filterString: ''\r\n });\r\n if (location.pathname.includes('groups') && props.getExtractionFieldGroups)\r\n props.getExtractionFieldGroups({ pageNum: 1 });\r\n if (\r\n location.pathname.includes('activation-settings') &&\r\n props.getOrganizationCodes &&\r\n props.getEnabledOrganizationCodes\r\n ) {\r\n props.getOrganizationCodes();\r\n props.getEnabledOrganizationCodes();\r\n }\r\n\r\n props.onSearchChange('');\r\n };\r\n\r\n const onContainerSelected = (memberFirmCode, containerCode, countryCode) => {\r\n const { geoCode } = props.currentUser;\r\n if (projectType == constants.ProjectTypes.WORKSPACE_PROJECT) {\r\n // MyWorkspace creation\r\n return createWorkspace(geoCode, memberFirmCode, containerCode, countryCode);\r\n } else if (projectType == constants.ProjectTypes.EXTRACTION_PROJECT) {\r\n return createProject(geoCode, memberFirmCode, containerCode, countryCode);\r\n }\r\n };\r\n\r\n const createWorkspace = (geoCode, memberFirmCode, containerCode, countryCode) => {\r\n countryCode = getCurrentCountryCode(countryCode);\r\n const engagementId = '';\r\n const projectName = constants.MyWorkspace;\r\n const projectTypeId = constants.ProjectTypes.WORKSPACE_PROJECT;\r\n const GEO_PATH = countryCode\r\n ? `${geoCode}_${memberFirmCode}_${containerCode}_${countryCode}`\r\n : `${geoCode}_${memberFirmCode}_${containerCode}`;\r\n setConstainerSelectionModel(false);\r\n return props.history.push({\r\n pathname: `/region/${GEO_PATH}/project/creation`,\r\n state: {projectTypeId}\r\n });\r\n };\r\n\r\n const createProject = (geoCode, memberFirmCode, containerCode, countryCode) => {\r\n //this.setState({ showContainerSelectionModal: false });\r\n setConstainerSelectionModel(false);\r\n const GEO_PATH = countryCode\r\n ? `${geoCode}_${memberFirmCode}_${containerCode}_${countryCode}`\r\n : `${geoCode}_${memberFirmCode}_${containerCode}`;\r\n\r\n const projectTypeId = constants.ProjectTypes.EXTRACTION_PROJECT;\r\n return props.history.push({\r\n pathname: `/region/${GEO_PATH}/project/creation`,\r\n state: {projectTypeId}\r\n });\r\n };\r\n\r\n const onCreateProject = projectType => {\r\n const { geoCode, memberFirmCode, containerCode, memberFirmContainers } = props.currentUser;\r\n setprojectType(projectType);\r\n if (memberFirmContainers && memberFirmContainers.length > 1) {\r\n // Display member firm container selection modal\r\n setConstainerSelectionModel(true);\r\n } else {\r\n if (projectType == constants.ProjectTypes.WORKSPACE_PROJECT) {\r\n // MyWorkspace creation\r\n return createWorkspace(geoCode, memberFirmCode, containerCode);\r\n } else if (projectType == constants.ProjectTypes.EXTRACTION_PROJECT) {\r\n // Normal case project creation\r\n return createProject(geoCode, memberFirmCode, containerCode);\r\n }\r\n }\r\n };\r\n\r\n const onUserModeChange = userModeValue => {\r\n setUserMode(userModeValue);\r\n props.onUserModeChange(userModeValue);\r\n };\r\n\r\n const changeSorting = sortingKey => {\r\n //const { sortKey, sortAsc } = this.state;\r\n const dir = sortingKey === sortKey ? !sortAsc : true;\r\n // this.setState({\r\n // sortKey: sortingKey,\r\n // sortAsc: dir\r\n // });\r\n setSortKey(sortingKey);\r\n setSortAsc(dir);\r\n props.onSortingChange({ key: sortingKey, asc: dir });\r\n };\r\n\r\n const setTableOrTileView = value => {\r\n const { currentUser } = props;\r\n if (currentUser) {\r\n localStorage.setItem(`project-list-display-mode-${currentUser.userId}`, JSON.stringify(value));\r\n setTableOrTile(value);\r\n props.setTableOrTileView(value);\r\n }\r\n };\r\n\r\n return (\r\n
\r\n
\r\n setSelectedTab(0)}\r\n >\r\n \r\n \r\n\r\n setSelectedTab(1)}\r\n >\r\n \r\n {translations.translations.length > 99 ? (\r\n
\r\n
{translations.translations.length}
\r\n
\r\n ) : (\r\n
\r\n
{translations.translations.length}
\r\n
\r\n )}\r\n \r\n\r\n {Permissions.Global.canViewAdminAccess() && (\r\n setSelectedTab(2)}\r\n >\r\n {Permissions.Global.canHaveGlobalAdminAccess() ? (\r\n \r\n ) : (\r\n \r\n )}\r\n \r\n )}\r\n\r\n {fromProjectListPage &&\r\n currentUser &&\r\n currentUser.accessibleFeatures.filter(feature => feature.featureId === 0).length > 0 ? (\r\n
\r\n \r\n
\r\n ) : (\r\n Permissions.Global.canViewAdminContainerDropdown() &&\r\n selectedTab === 2 &&\r\n !location.pathname.includes('admin-access') &&\r\n !location.pathname.includes('maintenance-messages') && (\r\n
\r\n {\r\n onContainerChange(e.target.value);\r\n }}\r\n >\r\n {props.currentUser?.adminContainers?.map(item => (\r\n \r\n {item.containerName}\r\n \r\n ))}\r\n \r\n
\r\n )\r\n )}\r\n
\r\n setConstainerSelectionModel(false)}\r\n onSubmit={onContainerSelected}\r\n />\r\n
\r\n );\r\n}\r\n\r\nexport default LandingPageTabs;\r\n","import React from 'react';\r\nimport { FormattedMessage } from 'react-intl';\r\nimport Icon from 'components/shared/icon';\r\nimport Button from 'components/shared/single-click-button';\r\n\r\nfunction DisclaimerBanner({ messageId, headerId, pageViewer, showCloseButton, onClose }) {\r\n return (\r\n
\r\n
\r\n \r\n \r\n \r\n {headerId && (\r\n \r\n \r\n \r\n )}\r\n {showCloseButton && (\r\n \r\n \r\n \r\n )}\r\n
\r\n
\r\n \r\n
\r\n
\r\n );\r\n}\r\n\r\nexport default DisclaimerBanner;\r\n","import { Link } from 'react-router-dom';\r\nimport classNames from 'classnames';\r\nimport PropTypes from 'prop-types';\r\nimport React, { Component } from 'react';\r\nimport { FormattedMessage } from 'react-intl';\r\n\r\nimport PPMDBanner from 'components/header/banner/banner';\r\nimport ProcessingPausedBanner from 'components/header/paused-banner/processing-paused-banner';\r\nimport Icon from 'components/shared/icon';\r\nimport logoImage from 'images/deloitte_logo_black.svg';\r\nimport OmniaLogo from 'images/Omnia.svg';\r\nimport AccountDropdown from './account-dropdown/account-dropdown';\r\nimport ProjectsLeftMenu from 'components/project-list/project-menu-bar/project-left-menu';\r\nimport Menu from './menu/menu';\r\nimport UniversalSearch from 'components/search/search';\r\nimport HelpDropdown from 'components/header/help/help';\r\nimport SubheaderDropdown from 'components/header//subheader-dropdown/subheader-dropdown';\r\nimport MaintenanceMessageBanner from 'components/header/maintenance-message-banner/maintenance-message-banner';\r\nimport LandingPageTabs from 'components/landing-page/landing-page-tabs';\r\nimport { getHomeRegion } from 'store/api';\r\nimport Permissions from 'permissions/permissions';\r\nimport DisclaimerBanner from 'components/header/banner/disclaimer-banner';\r\n\r\nclass Header extends Component {\r\n static propTypes = {\r\n aboutArgus: PropTypes.object,\r\n currentLanguage: PropTypes.object,\r\n currentProject: PropTypes.object.isRequired,\r\n currentUser: PropTypes.object.isRequired,\r\n fromLandingPage: PropTypes.bool,\r\n fromTranslationPage: PropTypes.bool,\r\n hardRefresh: PropTypes.bool,\r\n loadAboutInfo: PropTypes.func,\r\n location: PropTypes.object,\r\n projectId: PropTypes.string,\r\n currentPage: PropTypes.string,\r\n maintenanaceBannerMessage: PropTypes.object,\r\n loadMaintenanceBannerMessage: PropTypes.func,\r\n fromProjectListPage: PropTypes.bool,\r\n fromReportsPage: PropTypes.bool,\r\n fromMaintenancePage: PropTypes.bool,\r\n fromAdminPage: PropTypes.bool,\r\n fromQuickStudyPage: PropTypes.bool,\r\n fromTrainingPage: PropTypes.bool,\r\n fromUserManagementPage: PropTypes.bool,\r\n fromUserActivationPage: PropTypes.bool,\r\n fromVisualsPage: PropTypes.bool,\r\n history: PropTypes.object,\r\n onSortingChange: PropTypes.func,\r\n projectList: PropTypes.object,\r\n onUserModeChange: PropTypes.func,\r\n setTableOrTileView: PropTypes.func,\r\n loadProjectList: PropTypes.func,\r\n loadUsers: PropTypes.func,\r\n loadReports: PropTypes.func,\r\n loadScheduledReports: PropTypes.func,\r\n loadExtractionFields: PropTypes.func,\r\n getExtractionFieldGroups: PropTypes.func,\r\n translations: PropTypes.object,\r\n onSearchChange: PropTypes.func,\r\n loadTranslationsList: PropTypes.func,\r\n isWorkspaceButtonHidden: PropTypes.bool\r\n };\r\n\r\n state = {\r\n aboutInfo: null,\r\n isMenuShown: false,\r\n closeDisclaimerBanner: false\r\n };\r\n\r\n componentDidMount() {\r\n const { maintenanaceBannerMessage, loadMaintenanceBannerMessage } = this.props;\r\n if (!maintenanaceBannerMessage.isLoaded && !maintenanaceBannerMessage.isLoading) {\r\n return loadMaintenanceBannerMessage();\r\n }\r\n let isDisclaimerBannerClosed = sessionStorage.getItem(`isDisclaimerBannerClosed-${this.props.currentUser.userId}`) || null;\r\n if (isDisclaimerBannerClosed) {\r\n this.setState({ closeDisclaimerBanner: true });\r\n }\r\n }\r\n\r\n onCloseDisclaimerBanner = () => {\r\n this.setState({ closeDisclaimerBanner: true });\r\n sessionStorage.setItem(`isDisclaimerBannerClosed-${this.props.currentUser.userId}`,true);\r\n }\r\n\r\n toggleMenu = () => {\r\n this.setState({\r\n isMenuShown: !this.state.isMenuShown\r\n });\r\n };\r\n\r\n render() {\r\n const {\r\n currentUser,\r\n currentProject,\r\n projectId,\r\n loadAboutInfo,\r\n aboutArgus,\r\n location,\r\n hardRefresh,\r\n fromLandingPage,\r\n fromTranslationPage,\r\n currentLanguage,\r\n maintenanaceBannerMessage,\r\n loadMaintenanceBannerMessage,\r\n fromProjectListPage,\r\n fromReportsPage,\r\n fromMaintenancePage,\r\n fromAdminPage,\r\n fromTrainingPage,\r\n fromUserActivationPage,\r\n fromVisualsPage,\r\n projectList\r\n } = this.props;\r\n\r\n const { isMenuShown, closeDisclaimerBanner } = this.state;\r\n const omniaUrl = aboutArgus?.data?.omniaURLs?.[currentUser?.geoCode];\r\n const maintenanceBannerMessages = maintenanaceBannerMessage?.data;\r\n return (\r\n
\r\n
\r\n \"deloitte\"\r\n \r\n \"Omnia\"\r\n \r\n\r\n {fromLandingPage ||\r\n fromTranslationPage ||\r\n fromReportsPage ||\r\n fromVisualsPage ||\r\n fromMaintenancePage ||\r\n fromAdminPage ||\r\n fromTrainingPage ||\r\n fromUserActivationPage ? (\r\n \r\n ) : (\r\n \r\n )}\r\n \r\n \r\n \r\n
\r\n {fromLandingPage ||\r\n fromTranslationPage ||\r\n (fromProjectListPage &&\r\n currentUser &&\r\n currentUser.accessibleFeatures.filter(feature => feature.featureId === 0).length === 0) ? null : (\r\n \r\n )}\r\n
\r\n
\r\n
\r\n \r\n \r\n  \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n {projectId && currentProject.STATES.ReadOnly() && !location.pathname.includes('settings') && (\r\n \r\n )}\r\n {/* {projectId &&\r\n !currentProject.isDocumentProcessingEnabled &&\r\n !currentProject.STATES.ReadOnly() &&\r\n (location.pathname.includes('folder') || location.pathname.includes('extractionfield')) && (\r\n \r\n )} */}\r\n {fromAdminPage && Permissions.Global.canViewGenAIBannerMessage() }\r\n {maintenanceBannerMessages && maintenanceBannerMessages.length > 0 && (\r\n \r\n )}\r\n {fromProjectListPage && !closeDisclaimerBanner &&\r\n }\r\n
\r\n );\r\n }\r\n}\r\n\r\nexport default Header;\r\n","import { connect } from 'react-redux';\r\nimport { loadMaintenanceBannerMessage } from 'store/maintenance-message-banner'\r\nimport { loadAboutInfo } from 'store/about-argus';\r\nimport Header from 'components/header/header';\r\nimport { loadProjectList } from 'store/project-list';\r\nimport { loadReports,loadScheduledReports } from 'store/reports';\r\nimport { onSearchChange } from 'store/search/search-category';\r\nimport { loadTranslationsList } from 'store/translations';\r\n\r\nconst mapStateToProps = ({\r\n data: { currentDocument, currentDocumentLayout, currentUser, currentProject, aboutArgus, currentLanguage, maintenanaceBannerMessage, translations }\r\n}) => ({\r\n currentDocument,\r\n currentDocumentLayout,\r\n currentUser,\r\n currentProject,\r\n aboutArgus,\r\n currentLanguage,\r\n maintenanaceBannerMessage,\r\n translations\r\n});\r\n\r\nconst mapDispatchToProps = {\r\n loadAboutInfo,\r\n loadMaintenanceBannerMessage,\r\n loadProjectList,\r\n loadReports,\r\n loadScheduledReports,\r\n onSearchChange,\r\n loadTranslationsList\r\n};\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(Header);\r\n","import { FormattedMessage } from 'react-intl';\r\nimport PropTypes from 'prop-types';\r\nimport React, { Component } from 'react';\r\nimport moment from 'moment';\r\nimport { getCurrentBaseUrl } from 'store/api';\r\n\r\nimport DocumentDownload from 'components/shared/document-download';\r\n\r\nclass Footer extends Component {\r\n static propTypes = {\r\n aboutArgus: PropTypes.object,\r\n currentLanguage: PropTypes.object,\r\n extended: PropTypes.bool\r\n };\r\n\r\n render() {\r\n const { extended, aboutArgus, currentLanguage } = this.props;\r\n\r\n const year = moment().format('YYYY');\r\n const header = { 'X-LANG-CTX': currentLanguage.localeCode };\r\n const aboutArgusData = aboutArgus?.data?.footerInfo?.termsOfUse;\r\n\r\n const privacyLink = (\r\n \r\n \r\n \r\n }\r\n apiCallHeaders={header}\r\n target=\"_blank\"\r\n supportEmail={aboutArgus?.data?.supportEmail}\r\n />\r\n );\r\n const openCookiePrivacyCenter = () => {\r\n document.getElementById('ot-sdk-btn').click();\r\n };\r\n\r\n const cookiesLink = (\r\n \r\n \r\n \r\n \r\n \r\n );\r\n\r\n // AKA Notices Link\r\n const thirdPartyLink = (\r\n \r\n \r\n \r\n }\r\n apiCallHeaders={header}\r\n target=\"_blank\"\r\n supportEmail={aboutArgus?.data?.supportEmail}\r\n />\r\n );\r\n\r\n const aboutLink = (\r\n \r\n \r\n www.deloitte.com\r\n \r\n \r\n );\r\n\r\n return (\r\n
\r\n

\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n

\r\n {extended && (\r\n

\r\n \r\n

\r\n )}\r\n
\r\n );\r\n }\r\n}\r\n\r\nexport default Footer;\r\n","import { connect } from 'react-redux';\r\nimport Footer from 'components/footer/footer';\r\n\r\nconst mapStateToProps = ({ data: { aboutArgus, currentLanguage } }) => ({\r\n aboutArgus,\r\n currentLanguage\r\n});\r\n\r\nexport default connect(mapStateToProps)(Footer);\r\n","var _desc, _defs, _g;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport * as React from \"react\";\nfunction SvgEmptyStateAccessDenied(_ref, svgRef) {\n let {\n title,\n titleId,\n ...props\n } = _ref;\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: \"203px\",\n height: \"180px\",\n viewBox: \"0 0 203 180\",\n xmlns: \"http://www.w3.org/2000/svg\",\n xmlnsXlink: \"http://www.w3.org/1999/xlink\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title === undefined ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, \"empty_state_comp_01\") : title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _desc || (_desc = /*#__PURE__*/React.createElement(\"desc\", null, \"Created with Sketch.\")), _defs || (_defs = /*#__PURE__*/React.createElement(\"defs\", null, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M5,0 L64.1748973,0 C66.9363211,-5.07265313e-16 69.1748973,2.23857625 69.1748973,5 L69.1748973,92.4764514 C69.1748973,95.2378751 66.9363211,97.4764514 64.1748973,97.4764514 L5,97.4764514 C2.23857625,97.4764514 3.38176876e-16,95.2378751 0,92.4764514 L0,5 C-3.38176876e-16,2.23857625 2.23857625,5.07265313e-16 5,0 Z\",\n id: \"path-1\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M5,0 L64.1748973,8.8817842e-16 C66.9363211,3.80913106e-16 69.1748973,2.23857625 69.1748973,5 L69.1748973,92.9101647 C69.1748973,95.6715885 66.9363211,97.9101647 64.1748973,97.9101647 L5,97.9101647 C2.23857625,97.9101647 1.2263553e-15,95.6715885 8.8817842e-16,92.9101647 L8.8817842e-16,5 C5.50001544e-16,2.23857625 2.23857625,1.39544373e-15 5,8.8817842e-16 Z\",\n id: \"path-2\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M5,1.57039002e-05 L57.7896562,0.000194067738 C59.9987903,0.000201006142 61.7896436,1.79105997 61.7896436,4.00019407 L61.7896562,21.7830788 C61.7896562,24.5445026 64.0282324,26.7830788 66.7896562,26.7830788 L87.7954244,26.7830788 C90.0045634,26.7830788 91.7954244,28.5739398 91.7954244,30.7830788 L91.7954244,119.468372 C91.7954244,122.229796 89.5568482,124.468372 86.7954244,124.468372 L5,124.468372 C2.23857625,124.468372 3.38176876e-16,122.229796 0,119.468372 L-1.57038755e-05,5 C-1.57038755e-05,2.23857625 2.23856055,5.07265313e-16 4.9999843,0 C4.99998953,-9.61548567e-22 4.99999477,8.22097945e-12 5,2.4661162e-11 Z\",\n id: \"path-3\"\n }))), _g || (_g = /*#__PURE__*/React.createElement(\"g\", {\n id: \"Changes-3apr\",\n stroke: \"none\",\n strokeWidth: 1,\n fill: \"none\",\n fillRule: \"evenodd\"\n }, /*#__PURE__*/React.createElement(\"g\", {\n id: \"00-00_Access-denied\",\n transform: \"translate(-581.000000, -247.000000)\"\n }, /*#__PURE__*/React.createElement(\"g\", {\n id: \"empty_state_comp_01\",\n transform: \"translate(579.000000, 246.000000)\"\n }, /*#__PURE__*/React.createElement(\"circle\", {\n id: \"Oval-2\",\n fillOpacity: 0.04,\n fill: \"#DA291C\",\n cx: 104.5,\n cy: 90.5,\n r: 83.5\n }), /*#__PURE__*/React.createElement(\"g\", {\n id: \"Group-5\",\n transform: \"translate(47.354033, 56.389032) rotate(15.000000) translate(-47.354033, -56.389032) translate(12.354033, 7.389032)\"\n }, /*#__PURE__*/React.createElement(\"g\", {\n id: \"Rectangle-5-Copy\"\n }, /*#__PURE__*/React.createElement(\"use\", {\n fill: \"#FFFFFF\",\n fillRule: \"evenodd\",\n xlinkHref: \"#path-1\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n stroke: \"#E6E6E6\",\n strokeWidth: 4,\n d: \"M5,2 C3.34314575,2 2,3.34314575 2,5 L2,92.4764514 C2,94.1333056 3.34314575,95.4764514 5,95.4764514 L64.1748973,95.4764514 C65.8317516,95.4764514 67.1748973,94.1333056 67.1748973,92.4764514 L67.1748973,5 C67.1748973,3.34314575 65.8317516,2 64.1748973,2 L5,2 Z\"\n })), /*#__PURE__*/React.createElement(\"rect\", {\n id: \"Rectangle-8\",\n fill: \"#E6E6E6\",\n x: 7.81637258,\n y: 25.1814166,\n width: 53.1513336,\n height: 4.06151881,\n rx: 2.0307594\n }), /*#__PURE__*/React.createElement(\"rect\", {\n id: \"Rectangle-8-Copy\",\n fill: \"#E6E6E6\",\n x: 7.81637258,\n y: 35.7413655,\n width: 53.1513336,\n height: 4.06151881,\n rx: 2.0307594\n }), /*#__PURE__*/React.createElement(\"rect\", {\n id: \"Rectangle-8-Copy-2\",\n fill: \"#E6E6E6\",\n x: 7.81637258,\n y: 46.3013144,\n width: 53.1513336,\n height: 4.06151881,\n rx: 2.0307594\n }), /*#__PURE__*/React.createElement(\"rect\", {\n id: \"Rectangle-8-Copy-3\",\n fill: \"#E6E6E6\",\n x: 7.81637258,\n y: 56.8612633,\n width: 29.7022158,\n height: 4.06151881,\n rx: 2.0307594\n }), /*#__PURE__*/React.createElement(\"rect\", {\n id: \"Rectangle-8-Copy-5\",\n fill: \"#E6E6E6\",\n x: 7.81637258,\n y: 83.6672874,\n width: 14.8511079,\n height: 4.06151881,\n rx: 2.0307594\n }), /*#__PURE__*/React.createElement(\"rect\", {\n id: \"Rectangle-8-Copy-8\",\n fill: \"#E6E6E6\",\n x: 39.0818629,\n y: 83.6672874,\n width: 21.8858432,\n height: 4.06151881,\n rx: 2.0307594\n }), /*#__PURE__*/React.createElement(\"rect\", {\n id: \"Rectangle-8-Copy-7\",\n fill: \"#E6E6E6\",\n x: 48.46151,\n y: 13.8091639,\n width: 12.5061961,\n height: 4.06151881,\n rx: 2.0307594\n }), /*#__PURE__*/React.createElement(\"rect\", {\n id: \"Rectangle-8-Copy-6\",\n fill: \"#E6E6E6\",\n x: 7.81637258,\n y: 13.8091639,\n width: 34.3920394,\n height: 4.06151881,\n rx: 2.0307594\n })), /*#__PURE__*/React.createElement(\"g\", {\n id: \"Group-5-Copy\",\n transform: \"translate(158.796880, 124.964970) rotate(-17.000000) translate(-158.796880, -124.964970) translate(123.796880, 75.964970)\"\n }, /*#__PURE__*/React.createElement(\"g\", {\n id: \"Rectangle-5-Copy\"\n }, /*#__PURE__*/React.createElement(\"use\", {\n fill: \"#FFFFFF\",\n fillRule: \"evenodd\",\n xlinkHref: \"#path-2\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n stroke: \"#E6E6E6\",\n strokeWidth: 4,\n d: \"M5,2 C3.34314575,2 2,3.34314575 2,5 L2,92.9101647 C2,94.567019 3.34314575,95.9101647 5,95.9101647 L64.1748973,95.9101647 C65.8317516,95.9101647 67.1748973,94.567019 67.1748973,92.9101647 L67.1748973,5 C67.1748973,3.34314575 65.8317516,2 64.1748973,2 L5,2 Z\"\n })), /*#__PURE__*/React.createElement(\"rect\", {\n id: \"Rectangle-8\",\n fill: \"#E6E6E6\",\n x: 7.81637258,\n y: 25.2934592,\n width: 53.1513336,\n height: 4.0795902,\n rx: 2.0397951\n }), /*#__PURE__*/React.createElement(\"rect\", {\n id: \"Rectangle-8-Copy\",\n fill: \"#E6E6E6\",\n x: 7.81637258,\n y: 35.9003937,\n width: 53.1513336,\n height: 4.0795902,\n rx: 2.0397951\n }), /*#__PURE__*/React.createElement(\"rect\", {\n id: \"Rectangle-8-Copy-2\",\n fill: \"#E6E6E6\",\n x: 7.81637258,\n y: 46.5073282,\n width: 53.1513336,\n height: 4.0795902,\n rx: 2.0397951\n }), /*#__PURE__*/React.createElement(\"rect\", {\n id: \"Rectangle-8-Copy-3\",\n fill: \"#E6E6E6\",\n x: 7.81637258,\n y: 57.1142627,\n width: 29.7022158,\n height: 4.0795902,\n rx: 2.0397951\n }), /*#__PURE__*/React.createElement(\"rect\", {\n id: \"Rectangle-8-Copy-5\",\n fill: \"#E6E6E6\",\n x: 7.81637258,\n y: 84.039558,\n width: 14.8511079,\n height: 4.0795902,\n rx: 2.0397951\n }), /*#__PURE__*/React.createElement(\"rect\", {\n id: \"Rectangle-8-Copy-8\",\n fill: \"#E6E6E6\",\n x: 39.0818629,\n y: 84.039558,\n width: 21.8858432,\n height: 4.0795902,\n rx: 2.0397951\n }), /*#__PURE__*/React.createElement(\"rect\", {\n id: \"Rectangle-8-Copy-7\",\n fill: \"#E6E6E6\",\n x: 48.46151,\n y: 13.8706067,\n width: 12.5061961,\n height: 4.0795902,\n rx: 2.0397951\n }), /*#__PURE__*/React.createElement(\"rect\", {\n id: \"Rectangle-8-Copy-6\",\n fill: \"#E6E6E6\",\n x: 7.81637258,\n y: 13.8706067,\n width: 34.3920394,\n height: 4.0795902,\n rx: 2.0397951\n })), /*#__PURE__*/React.createElement(\"g\", {\n id: \"Group\",\n transform: \"translate(58.000000, 37.000000)\"\n }, /*#__PURE__*/React.createElement(\"g\", {\n id: \"Rectangle-5\"\n }, /*#__PURE__*/React.createElement(\"use\", {\n fill: \"#FFFFFF\",\n fillRule: \"evenodd\",\n xlinkHref: \"#path-3\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n stroke: \"#DA291C\",\n strokeWidth: 4,\n d: \"M4.99999324,2.0000157 L4.9999843,2 C3.34313005,2 1.9999843,3.34314575 1.9999843,4.99999973 L2,119.468372 C2,121.125226 3.34314575,122.468372 5,122.468372 L86.7954244,122.468372 C88.4522787,122.468372 89.7954244,121.125226 89.7954244,119.468372 L89.7954244,30.7830788 C89.7954244,29.6785093 88.8999939,28.7830788 87.7954244,28.7830788 L66.7896562,28.7830788 C62.9236629,28.7830788 59.7896562,25.6490721 59.7896562,21.7830802 L59.7896436,4.00019407 C59.7896436,2.89562702 58.8942169,2.00019754 57.7896494,2.00019407 L4.99999324,2.0000157 Z\"\n })), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M59,2 L90,30\",\n id: \"Line\",\n stroke: \"#DA291C\",\n strokeWidth: 4,\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n })), /*#__PURE__*/React.createElement(\"g\", {\n id: \"noun_546418_cc\",\n transform: \"translate(86.000000, 78.000000)\",\n fill: \"#DA291C\",\n fillRule: \"nonzero\",\n opacity: 0.9\n }, /*#__PURE__*/React.createElement(\"g\", {\n id: \"Group\"\n }, /*#__PURE__*/React.createElement(\"g\", {\n id: \"Shape\"\n }, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M16.5872894,1.18857392 C17.1665712,0.792997884 18.8334288,0.792997884 19.4127106,1.18857392 C24.4984685,4.65498626 29.0880551,6.45009265 33.9257273,6.75959374 C35.3522205,6.82149397 35.972435,7.5023964 35.972435,8.92610147 C35.972435,9.82478499 36.0344563,19.2634382 35.972435,22.6679504 C35.972435,23.8440546 35.8483921,25.082059 35.5382849,26.3200633 C34.8560491,29.1674735 33.3675344,31.829183 30.8866768,34.3051917 C27.7235834,37.462103 18.2963246,41.9189189 17.9517611,41.9189189 C17.7036754,41.9189189 8.27641654,37.462103 5.11332313,34.3051917 C2.63246555,31.829183 1.14395099,29.1674735 0.461715156,26.3200633 C0.15160797,25.082059 0.0275650921,23.8440546 0.0275650921,22.6679504 C-0.0344563559,19.2634382 0.0275650921,9.82478499 0.0275650921,8.92610147 C0.0275650921,7.5023964 0.647779482,6.82149397 2.07427259,6.75959374 C6.91194487,6.45009265 11.5015314,4.65498626 16.5872894,1.18857392 Z M20.5455845,20.8772937 L25.0059861,16.4570758 C25.7069642,15.7624127 25.7033009,14.6366137 25.0003571,13.9400028 C24.2925125,13.2385353 23.1602366,13.2408945 22.4604016,13.9344246 L18,18.3546425 L13.5395984,13.9344246 C12.8386201,13.2397615 11.7025866,13.2433919 10.9996429,13.9400028 C10.2917984,14.6414704 10.294179,15.7635457 10.9940139,16.4570758 L15.4544155,20.8772937 L10.9940139,25.2975116 C10.2930357,25.9921746 10.2966991,27.1179737 10.9996429,27.8145846 C11.7074874,28.516052 12.8397634,28.5136928 13.5395984,27.8201627 L18,23.3999448 L22.4604016,27.8201627 C23.1613799,28.5148259 24.2974134,28.5111955 25.0003571,27.8145846 C25.7082017,27.113117 25.7058211,25.9910417 25.0059861,25.2975116 L20.5455845,20.8772937 Z M16.7627968,5.34130339 C13.1327651,7.5885965 9.65222906,9.05749717 6.09029762,9.80150577 C4.81800985,10.0672585 3.62250182,10.1799313 3.62250182,10.1799313 C3.62250182,10.1799313 3.60447449,21.3682497 3.62756509,22.6679504 C3.62756509,23.6399487 3.73467215,24.578273 3.96433384,25.4958935 C4.50651101,27.7587484 5.69890975,29.8263417 7.66791992,31.7915034 C8.74222681,32.8637107 18,37.9656866 18,37.9656866 C18,37.9656866 27.25508,32.8663987 28.3320801,31.7915034 C30.3010902,29.8263417 31.493489,27.7587484 32.044324,25.460561 C32.2653278,24.578273 32.372435,23.6399487 32.4,22.6035544 C32.3955256,21.3682497 32.4,10.2016305 32.4,10.2016305 C32.4,10.2016305 31.5812304,10.1040056 31.1921017,10.0422595 C27.2200345,9.41198107 23.3515586,7.88087689 19.2916786,5.3749225 C18.6561941,4.98267073 18.0425855,4.45658443 18.0425855,4.45658443 C18.0425855,4.45658443 17.3796284,4.95943313 16.7627968,5.34130339 Z\"\n })))))))));\n}\nconst ForwardRef = /*#__PURE__*/React.forwardRef(SvgEmptyStateAccessDenied);\nexport default __webpack_public_path__ + \"static/media/empty_state_access_denied.dca521cd99cdb9e09c04afb11fc1b1ec.svg\";\nexport { ForwardRef as ReactComponent };","import { FormattedMessage } from 'react-intl';\r\nimport PropTypes from 'prop-types';\r\nimport React, { Component } from 'react';\r\n\r\nimport EmptyState from 'components/file-browser/file-list/empty-state';\r\nimport Header from 'containers/header/header';\r\nimport Footer from 'containers/footer/footer';\r\nimport emptyAccessDeniedImage from 'images/empty_state_access_denied.svg';\r\n\r\nclass GenericError extends Component {\r\n link = (argusauditssupport@deloitte.com);\r\n\r\n static propTypes = {\r\n descriptionMessageId: PropTypes.string,\r\n titleMessageId: PropTypes.string\r\n };\r\n\r\n static defaultProps = {\r\n descriptionMessageId: 'error-page.generic.description',\r\n titleMessageId: 'error-page.generic.title'\r\n };\r\n\r\n render() {\r\n const { descriptionMessageId, titleMessageId } = this.props;\r\n\r\n return (\r\n
\r\n
\r\n }\r\n description={\r\n \r\n }\r\n img={emptyAccessDeniedImage}\r\n />\r\n
\r\n
\r\n );\r\n }\r\n}\r\n\r\nexport default GenericError;\r\n","import React from 'react';\r\nimport { FormattedDate } from 'react-intl';\r\n\r\nexport const STEPS = {\r\n PROJECT_DETAILS: 0,\r\n TEAM_MEMBERS: 1,\r\n WORKFLOWS: 2\r\n};\r\n\r\nexport const DEFAULT_STEPS = [STEPS.PROJECT_DETAILS, STEPS.TEAM_MEMBERS];\r\n\r\nexport const SETTINGS_STEPS = [STEPS.PROJECT_DETAILS, STEPS.TEAM_MEMBERS];\r\n\r\nexport const STEP_NAMES = {\r\n [STEPS.PROJECT_DETAILS]: 'project-creations.progress-bar.step.project-details',\r\n [STEPS.TEAM_MEMBERS]: 'project-creations.progress-bar.step.team-members',\r\n [STEPS.WORKFLOWS]: 'project-creations.progress-bar.step.workflows'\r\n};\r\n\r\nexport const MAT_CATEGORIES = [\r\n { value: 'engagementName', render: data => data.engagementName },\r\n { value: 'externalEngagementId', render: data => data.externalEngagementId },\r\n { value: 'clientId', render: data => data.clientId },\r\n { value: 'clientName', render: data => data.clientName },\r\n {\r\n value: 'fiscalEnd',\r\n render: data => \r\n },\r\n {\r\n value: 'fiscalYearEnd',\r\n render: data => \r\n }\r\n];\r\n\r\nexport const MAT_ENGAGEMENT_CATEGORIES = [\r\n { value: 'engagementName', render: data => data.engagementName },\r\n { value: 'externalEngagementId', render: data => data.externalEngagementId }\r\n];\r\n\r\nexport const CLIENT_CATEGORIES = [\r\n { value: 'clientName', render: data => data.clientName },\r\n { value: 'clientId', render: data => data.clientId },\r\n {\r\n value: 'fiscalEnd',\r\n render: data => \r\n },\r\n {\r\n value: 'fiscalYearEnd',\r\n render: data => \r\n }\r\n];\r\n","import { FormattedMessage } from 'react-intl';\r\nimport PropTypes from 'prop-types';\r\nimport React, { Component } from 'react';\r\nimport Icon from 'components/shared/icon';\r\n\r\nimport { STEP_NAMES } from 'components/project-creation/constants';\r\n\r\nclass ProgressBar extends Component {\r\n static propTypes = {\r\n onProgressTextClick: PropTypes.func,\r\n projectState: PropTypes.object,\r\n step: PropTypes.number,\r\n steps: PropTypes.array\r\n };\r\n\r\n // Different class names to represent different css between settings and creation page\r\n getIndicatorClassname = i => {\r\n const { projectState, step } = this.props;\r\n if (projectState.SETTINGS || projectState.ARCHIVE) {\r\n return `indicator complete`;\r\n }\r\n return `indicator ${i === step ? 'current' : i < step ? 'complete' : 'future'}`;\r\n };\r\n\r\n // Text key css\r\n getTextClassname = i => {\r\n const { projectState, step } = this.props;\r\n if (projectState.SETTINGS || projectState.ARCHIVE) {\r\n return `textkey ${i === step ? 'complete' : 'future--hovered'}`;\r\n }\r\n return `textkey ${i === step ? 'current' : i < step ? 'complete' : 'future'}`;\r\n };\r\n\r\n // Step key css\r\n getStepClassname = i => {\r\n const { projectState, step } = this.props;\r\n if (projectState.SETTINGS || projectState.ARCHIVE) {\r\n return `step ${i === step ? 'complete' : 'future--hovered'}`;\r\n }\r\n return `step ${i === step ? 'current' : i < step ? 'complete' : ''}`;\r\n };\r\n\r\n // Icon name\r\n getIconName = i => {\r\n const { step } = this.props;\r\n return `${i === step ? 'ellipse-9' : i < step ? 'success' : ''}`;\r\n };\r\n\r\n onStepClick = i => {\r\n console.log(i);\r\n };\r\n\r\n render() {\r\n const {\r\n steps,\r\n step,\r\n projectState: { SETTINGS, COPY, ARCHIVE, NEW, INPROGRESS },\r\n onProgressTextClick\r\n } = this.props;\r\n\r\n return (\r\n
\r\n
\r\n {steps.map((currentStep, i) => (\r\n
\r\n
\r\n (SETTINGS || ARCHIVE ? onProgressTextClick(i) : {})}\r\n onClick={() => (currentStep <= step ? onProgressTextClick(currentStep) : {})}\r\n >\r\n \r\n
\r\n
\r\n \r\n
\r\n ))}\r\n
\r\n \r\n );\r\n }\r\n}\r\n\r\nexport default ProgressBar;\r\n","import React, { Component } from 'react';\r\nimport ProgressBar from 'components/project-creation/progress-bar/progress-bar';\r\nimport Header from 'containers/header/header';\r\nimport Icon from 'components/shared/icon';\r\n\r\nexport class DefaultLoader extends Component {\r\n render() {\r\n return (\r\n
\r\n
\r\n \r\n
\r\n );\r\n }\r\n}\r\n\r\nexport class ProjectLoader extends Component {\r\n render() {\r\n return (\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n );\r\n }\r\n}\r\n","import { Redirect } from 'react-router';\r\nimport moment from 'moment';\r\nimport PropTypes from 'prop-types';\r\nimport React, { Component } from 'react';\r\nimport CONSTANTS from 'utils/constants';\r\n\r\nimport UnknownErrorPage from 'components/pages/errors/generic-error';\r\nimport { DefaultLoader, ProjectLoader } from 'components/pages/loader';\r\n\r\n/* A front-end middleware component that basically handles role-based authorization/redirection\r\n * For ex/ A project that has not been created yet cannot navigate to list of docs via url, etc\r\n */\r\n\r\nclass Authorized extends Component {\r\n static propTypes = {\r\n clearProjectData: PropTypes.func,\r\n component: PropTypes.any,\r\n currentProject: PropTypes.object,\r\n currentUser: PropTypes.object,\r\n getCurrentProject: PropTypes.func,\r\n getCurrentUser: PropTypes.func,\r\n location: PropTypes.object,\r\n match: PropTypes.object\r\n };\r\n\r\n componentDidMount() {\r\n const { currentUser, getCurrentUser, getCurrentProject, currentProject, clearProjectData } = this.props;\r\n const { projectId } = this.props.match.params;\r\n\r\n if (currentProject.STATES.Loaded() && !projectId) {\r\n // Clear off any remaining data when we're navigating to a page without any project details, ie homepage\r\n clearProjectData();\r\n }\r\n\r\n if (!currentUser.isLoaded && !currentUser.isLoading) {\r\n getCurrentUser();\r\n }\r\n\r\n if (projectId && !currentProject.isLoaded && !currentProject.isLoading) {\r\n getCurrentProject({ projectId });\r\n }\r\n\r\n if (currentUser.isLoaded && currentProject.isLoaded) {\r\n this.setRecentProject();\r\n }\r\n }\r\n\r\n UNSAFE_componentWillReceiveProps(nextProps) {\r\n const { getCurrentProject, getCurrentUser, clearProjectData } = this.props;\r\n const nextProjectId = nextProps.match.params.projectId;\r\n const nextRegionId = this.props.match.params.regionId;\r\n const { projectId, regionId } = this.props.match.params;\r\n\r\n if (projectId && !nextProjectId) {\r\n clearProjectData();\r\n }\r\n\r\n // When a user navigates to a url with a project id make sure we load the current project\r\n if (projectId !== nextProjectId && nextProjectId) {\r\n getCurrentProject({ projectId: nextProjectId });\r\n }\r\n\r\n // When a user navigates to a new region reload the current user\r\n if (regionId !== nextRegionId && nextRegionId) {\r\n getCurrentUser();\r\n }\r\n }\r\n\r\n componentDidUpdate(prevProps) {\r\n const { currentUser, currentProject } = this.props;\r\n if (\r\n currentUser.isLoaded &&\r\n currentProject.isLoaded &&\r\n (!prevProps.currentUser.isLoaded || !prevProps.currentProject.isLoaded)\r\n ) {\r\n this.setRecentProject();\r\n }\r\n }\r\n\r\n // Cache this project in the user's recent projects list\r\n setRecentProject = () => {\r\n const { currentUser, currentProject } = this.props;\r\n\r\n // Project is in creation, projectType is workspace project and does not have a key yet, so ignore it\r\n if (\r\n !currentProject.projectKey ||\r\n (currentProject.projectTypeId == CONSTANTS.ProjectTypes.WORKSPACE_PROJECT &&\r\n currentProject.createdBy == currentUser.userId)\r\n ) {\r\n return;\r\n }\r\n\r\n // Get the recent projects from localStorage\r\n let recentProjects = JSON.parse(localStorage.getItem(`recentProjects-${currentUser.userId}`)) || [];\r\n\r\n // Remove the current project from the list of recent projects if it's already there and put it on the front of the list\r\n recentProjects = recentProjects.filter(({ projectKey }) => projectKey !== currentProject.projectKey);\r\n recentProjects.unshift({\r\n projectKey: currentProject.projectKey,\r\n timestamp: moment().valueOf()\r\n });\r\n\r\n // Limit the list to 3 items\r\n recentProjects = recentProjects.slice(0, 3);\r\n\r\n // Save the list to localStorage\r\n localStorage.setItem(`recentProjects-${currentUser.userId}`, JSON.stringify(recentProjects));\r\n };\r\n\r\n render() {\r\n const { projectId, documentId, compareId } = this.props.match.params;\r\n const { component: Component, currentProject, currentUser, location } = this.props;\r\n // Project creation pages\r\n // Todo: better handling of what pages to redirect to??\r\n const projectCreation = location.pathname.includes('creation');\r\n const projectFile = documentId || compareId || location.pathname.includes('folder');\r\n\r\n // When there is an error returned from the server\r\n if (currentProject.error || currentUser.error) {\r\n if (currentProject.error.response.status !== 404) {\r\n return ;\r\n }\r\n }\r\n\r\n if (location.pathname !== '/loading') {\r\n if (!currentUser.isLoaded || currentProject.isLoading) {\r\n return projectCreation ? (\r\n \r\n ) : (\r\n \r\n );\r\n }\r\n }\r\n\r\n // If a user navigates to a url that has a project Id\r\n if (projectId) {\r\n // We want to make sure data is loaded\r\n if (!currentProject.STATES.Loaded()) {\r\n return projectCreation ? (\r\n \r\n ) : (\r\n \r\n );\r\n }\r\n\r\n // Redirect users when they try to navigate to not allowed project urls\r\n if (\r\n projectFile &&\r\n (currentProject.STATES.Creation() || currentProject.STATES.Copy() || currentProject.STATES.CopyInCreation())\r\n ) {\r\n return ;\r\n }\r\n }\r\n\r\n // Return component when it's loaded !\r\n return ;\r\n }\r\n}\r\n\r\nexport default Authorized;\r\n","import { connect } from 'react-redux';\r\n\r\nimport { withRouter } from 'react-router';\r\nimport { getCurrentProject, clearProjectData } from 'store/current-project';\r\nimport { getCurrentUser } from 'store/current-user';\r\nimport Authorization from 'components/app/authorization';\r\n\r\nconst mapStateToProps = ({ data: { currentUser, currentProject } }) => ({\r\n currentUser,\r\n currentProject\r\n});\r\n\r\nconst mapDispatchToProps = {\r\n getCurrentUser,\r\n getCurrentProject,\r\n clearProjectData\r\n};\r\n\r\nexport default withRouter(connect(mapStateToProps, mapDispatchToProps)(Authorization));\r\n","import React from 'react';\r\nimport { connect } from 'react-redux';\r\nimport PropTypes from 'prop-types';\r\nimport { Route } from 'react-router';\r\nimport Authorized from 'containers/authorization/authorization-container';\r\nimport { setCompareType } from 'store/compare-type';\r\nimport { Redirect } from 'react-router-dom/cjs/react-router-dom.min';\r\n\r\nclass ProtectedRoute extends React.Component {\r\n static propTypes = {\r\n authenticateFunction: PropTypes.func,\r\n authenticated: PropTypes.bool,\r\n component: PropTypes.any,\r\n path: PropTypes.any,\r\n setCompareType: PropTypes.func\r\n };\r\n\r\n componentDidMount() {\r\n this.props.authenticateFunction();\r\n }\r\n\r\n UNSAFE_componentWillReceiveProps(nextProps) {\r\n if (nextProps.path) {\r\n if (\r\n this.props.path.includes('compare/:compareId/:documentId') &&\r\n nextProps.path.includes('document/:documentId')\r\n ) {\r\n return;\r\n }\r\n if (!nextProps.path.includes('compare')) {\r\n this.props.setCompareType('document');\r\n }\r\n }\r\n }\r\n\r\n conditionalRender = props => {\r\n const { component: Component } = this.props;\r\n\r\n if (this.props.authenticated) { \r\n if (this.props.location.pathname.toString() === '/region/AME_US_US/groups') {\r\n return ;\r\n } \r\n return ;\r\n } else {\r\n return null;\r\n } \r\n };\r\n\r\n render() {\r\n const { component: Component, ...rest } = this.props;\r\n return ;\r\n }\r\n}\r\n\r\nconst mapDispatchToProps = {\r\n setCompareType\r\n};\r\n\r\nexport default connect(null, mapDispatchToProps)(ProtectedRoute);\r\n","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { Route } from 'react-router';\r\n\r\nclass PublicRoute extends React.Component {\r\n static propTypes = {\r\n component: PropTypes.func\r\n };\r\n\r\n innerRender = props => {\r\n const { component: Component, ...rest } = this.props;\r\n return ;\r\n };\r\n\r\n render() {\r\n const { component: Component, ...rest } = this.props;\r\n return ;\r\n }\r\n}\r\n\r\nexport default PublicRoute;\r\n","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport Icon from 'components/shared/icon';\r\n\r\nconst LoadingOverlay = ({ id, text, diameter }) => (\r\n
\r\n \r\n {text === false ? null :
Loading...
}\r\n
\r\n);\r\n\r\nLoadingOverlay.propTypes = {\r\n diameter: PropTypes.number,\r\n id: PropTypes.string,\r\n text: PropTypes.bool\r\n};\r\n\r\nexport default LoadingOverlay;\r\n","import PropTypes from 'prop-types';\r\nimport React, { Component } from 'react';\r\nimport Icon from 'components/shared/icon';\r\nimport Checkbox from 'components/shared/form/checkbox';\r\nimport { ITEM_TYPES } from 'models/project-item';\r\nimport { FormattedMessage } from 'react-intl';\r\nimport { Button as MenuButton, Menu, MenuItem, Wrapper as MenuWrapper } from 'react-aria-menubutton';\r\nimport { ITEM_STATUSES } from 'models/project-item';\r\nimport Button from 'components/shared/single-click-button';\r\nimport Pagination from 'components/shared/pagination/pagination';\r\nimport LoadingOverlay from 'components/shared/loading/light';\r\n\r\nexport default class AddToCompareSidebar extends Component {\r\n static propTypes = {\r\n currentFolder: PropTypes.object.isRequired,\r\n loadCurrentFolder: PropTypes.func.isRequired,\r\n onClose: PropTypes.func.isRequired,\r\n onSubmit: PropTypes.func.isRequired,\r\n projectId: PropTypes.string.isRequired\r\n };\r\n\r\n state = {\r\n selectedFileIds: new Set(),\r\n allChildren: [],\r\n folderId: null\r\n };\r\n\r\n scrollArea = null;\r\n\r\n onAdd = () => {\r\n const selectedItems = Array.from(this.state.selectedFileIds).map(id =>\r\n this.state.allChildren.find(c => c.projectItemId === id)\r\n );\r\n\r\n this.props.onSubmit(selectedItems);\r\n };\r\n\r\n componentDidMount() {\r\n const { loadCurrentFolder, projectId } = this.props;\r\n\r\n //Load the root folder\r\n loadCurrentFolder({ projectId, forceFetch: true });\r\n }\r\n\r\n componentDidUpdate(prevProps) {\r\n const { currentFolder } = this.props;\r\n\r\n if (currentFolder.children !== prevProps.currentFolder.children) {\r\n var { allChildren } = this.state;\r\n\r\n currentFolder.children.forEach(child => {\r\n if (!allChildren.some(cac => cac.projectItemId === child.projectItemId)) {\r\n allChildren.push(child);\r\n }\r\n });\r\n\r\n this.setState({ allChildren });\r\n }\r\n }\r\n\r\n loadCurrentFolder;\r\n\r\n navigateToFolder = folderId => {\r\n this.props.loadCurrentFolder({\r\n projectId: this.props.projectId,\r\n folderId,\r\n forceFetch: true\r\n });\r\n\r\n this.setState({ folderId });\r\n };\r\n\r\n toggleSelectedFile(projectItem) {\r\n if (this.state.selectedFileIds.has(projectItem.projectItemId)) {\r\n this.state.selectedFileIds.delete(projectItem.projectItemId);\r\n } else {\r\n this.state.selectedFileIds.add(projectItem.projectItemId);\r\n }\r\n\r\n this.setState({ selectedFileIds: this.state.selectedFileIds });\r\n }\r\n\r\n onPageChange = pageNum => {\r\n const { loadCurrentFolder, projectId } = this.props;\r\n const { folderId } = this.state;\r\n\r\n this.scrollArea.scrollTo(0, 0);\r\n\r\n var params = {\r\n projectId,\r\n pageNum,\r\n forceFetch: true\r\n };\r\n\r\n if (folderId !== null) {\r\n params.folderId = folderId;\r\n }\r\n\r\n loadCurrentFolder(params);\r\n };\r\n\r\n selectedOnPageCount = () => {\r\n var { currentFolder } = this.props;\r\n var { selectedFileIds } = this.state;\r\n var children = currentFolder.children || [];\r\n\r\n return children.filter(child => selectedFileIds.has(child.projectItemId)).length;\r\n };\r\n\r\n selectAllItemsOnPage = addItem => {\r\n var { currentFolder } = this.props;\r\n var { selectedFileIds } = this.state;\r\n var children = currentFolder.children || [];\r\n\r\n children.forEach(child => {\r\n if (addItem) {\r\n if (\r\n !selectedFileIds.has(child.projectItemId) &&\r\n (child.itemStateId === ITEM_STATUSES.PROCESSED ||\r\n child.itemStateId === ITEM_STATUSES.REPROCESSINGREQUIRED ||\r\n child.itemStateId === ITEM_STATUSES.READYFORVERIFICATION ||\r\n child.itemTypeId === ITEM_TYPES.FOLDER)\r\n ) {\r\n selectedFileIds.add(child.projectItemId);\r\n }\r\n } else {\r\n if (selectedFileIds.has(child.projectItemId)) {\r\n selectedFileIds.delete(child.projectItemId);\r\n }\r\n }\r\n });\r\n\r\n this.setState({ selectedFileIds });\r\n };\r\n\r\n isAsSelectedAsPossible = () => {\r\n const { currentFolder } = this.props;\r\n const childItems = currentFolder.children || [];\r\n\r\n return (\r\n childItems.filter(\r\n child =>\r\n child.itemStateId === ITEM_STATUSES.PROCESSED ||\r\n child.itemStateId === ITEM_STATUSES.REPROCESSINGREQUIRED ||\r\n child.itemStateId === ITEM_STATUSES.READYFORVERIFICATION ||\r\n child.itemTypeId === ITEM_TYPES.FOLDER\r\n ).length === this.selectedOnPageCount()\r\n );\r\n };\r\n\r\n render() {\r\n const { onClose, currentFolder } = this.props;\r\n const { selectedFileIds } = this.state;\r\n\r\n const childItems = currentFolder.children || [];\r\n\r\n let breadcrumbs = [];\r\n if (currentFolder && currentFolder.parentHierarchy) {\r\n breadcrumbs = currentFolder.parentHierarchy.slice(1, currentFolder.parentHierarchy.length).reverse();\r\n }\r\n\r\n var selectedOnPageCount = this.selectedOnPageCount();\r\n\r\n return (\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n this.navigateToFolder('root')}\r\n >\r\n \r\n
\r\n {!!currentFolder.itemName &&
>
}\r\n {breadcrumbs.length > 0 && (\r\n
\r\n \r\n ...\r\n \r\n
    \r\n {breadcrumbs.map(folder => {\r\n return (\r\n
  • \r\n \r\n {folder.itemName}\r\n \r\n
  • \r\n );\r\n })}\r\n
\r\n
\r\n
\r\n
\r\n )}\r\n {breadcrumbs.length > 0 &&
>
}\r\n
{currentFolder.itemName}
\r\n
\r\n\r\n
\r\n {currentFolder.isLoading ? : null}\r\n\r\n {childItems && childItems.length > 0 ? (\r\n
\r\n {\r\n this.selectAllItemsOnPage(!this.isAsSelectedAsPossible());\r\n }}\r\n checked={\r\n selectedOnPageCount === 0\r\n ? 'unchecked'\r\n : this.isAsSelectedAsPossible()\r\n ? 'checked'\r\n : 'indeterminate'\r\n }\r\n className=\"add-to-compare-sidebar__item-checkbox\"\r\n />\r\n \r\n
\r\n ) : null}\r\n\r\n
(this.scrollArea = element)}>\r\n
    \r\n {childItems.map(item => (\r\n
  • \r\n {item.itemTypeId === ITEM_TYPES.FOLDER && (\r\n
    \r\n this.toggleSelectedFile(item)}\r\n checked={selectedFileIds.has(item.projectItemId) ? 'checked' : 'unchecked'}\r\n className=\"add-to-compare-sidebar__item-checkbox\"\r\n />\r\n \r\n this.navigateToFolder(item.projectItemId)}\r\n title={item && item.itemName && item.itemName.length > 30 ? item.itemName : ''}\r\n >\r\n {item.itemName}\r\n \r\n
    \r\n )}\r\n {item.itemTypeId === ITEM_TYPES.DOCUMENT && (\r\n {\r\n if (\r\n item.itemStateId === ITEM_STATUSES.PROCESSED ||\r\n item.itemStateId === ITEM_STATUSES.REPROCESSINGREQUIRED ||\r\n item.itemStateId === ITEM_STATUSES.READYFORVERIFICATION\r\n )\r\n this.toggleSelectedFile(item);\r\n }}\r\n >\r\n {item.itemStateId === ITEM_STATUSES.PROCESSED ||\r\n item.itemStateId === ITEM_STATUSES.REPROCESSINGREQUIRED ||\r\n item.itemStateId === ITEM_STATUSES.READYFORVERIFICATION ? (\r\n {}}\r\n checked={selectedFileIds.has(item.projectItemId) ? 'checked' : 'unchecked'}\r\n className=\"add-to-compare-sidebar__item-checkbox\"\r\n />\r\n ) : (\r\n
    \r\n )}\r\n 30 ? item.itemName : ''}>\r\n {item.itemName}\r\n \r\n
    \r\n )}\r\n
  • \r\n ))}\r\n
\r\n
\r\n\r\n {currentFolder && currentFolder.pagination !== null ? (\r\n \r\n ) : null}\r\n
\r\n\r\n
\r\n \r\n
\r\n
\r\n
\r\n );\r\n }\r\n}\r\n","import { connect } from 'react-redux';\r\n\r\nimport { loadCurrentFolder } from 'store/current-folder';\r\nimport AddToCompareSidebar from 'components/shared/add-to-compare-sidebar/add-to-compare-sidebar';\r\n\r\nconst mapStateToProps = ({ data: { currentFolder } }) => ({\r\n currentFolder\r\n});\r\n\r\nconst mapDispatchToProps = {\r\n loadCurrentFolder\r\n};\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(AddToCompareSidebar);\r\n","import PropTypes from 'prop-types';\r\nimport React, { Component } from 'react';\r\n\r\nimport { COMPARISON_STATUSES } from 'models/comparison-sets';\r\nimport { FormattedNumber, FormattedMessage } from 'react-intl';\r\nimport { getCurrentRegion } from 'store/api';\r\nimport { Link } from 'react-router-dom';\r\nimport Checkbox from 'components/shared/form/checkbox';\r\nimport dateUtil from 'utils/dateUtil';\r\n\r\nexport default class CompareItem extends Component {\r\n static propTypes = {\r\n comparisonSet: PropTypes.object.isRequired,\r\n id: PropTypes.number.isRequired,\r\n isSelected: PropTypes.bool.isRequired,\r\n onSelectedChange: PropTypes.func.isRequired,\r\n projectId: PropTypes.string.isRequired\r\n };\r\n\r\n statusText = {\r\n [COMPARISON_STATUSES.INITIATED]: 'compare-item.status.initiated',\r\n [COMPARISON_STATUSES.IN_PROGRESS]: 'compare-item.status.progress',\r\n [COMPARISON_STATUSES.AGGREGATING]: 'compare-item.status.aggregating',\r\n [COMPARISON_STATUSES.COMPLETED]: 'compare-item.status.completed',\r\n [COMPARISON_STATUSES.DELETED]: 'compare-item.status.deleted',\r\n [COMPARISON_STATUSES.REPROCRESS]: 'compare-item.status.reprocess',\r\n [COMPARISON_STATUSES.ERROR]: 'compare-item.status.error'\r\n };\r\n\r\n render() {\r\n const { comparisonSet, id, isSelected, onSelectedChange, projectId } = this.props;\r\n const hasError = comparisonSet.comparisonStateId === COMPARISON_STATUSES.ERROR;\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n {!hasError && comparisonSet.totalEntities > 0 ? (\r\n \r\n {comparisonSet.comparisonName}\r\n \r\n ) : (\r\n comparisonSet.comparisonName\r\n )}\r\n \r\n {comparisonSet.baseEntityName}\r\n \r\n \r\n \r\n \r\n {dateUtil.formatDate(comparisonSet.createdDate)}\r\n \r\n {!hasError && }\r\n \r\n \r\n );\r\n }\r\n}\r\n","import PropTypes from 'prop-types';\r\nimport React, { Component } from 'react';\r\nimport { FormattedMessage } from 'react-intl';\r\nimport { Radio, RadioGroup } from 'components/shared/form/radio';\r\nimport Button from 'components/shared/single-click-button';\r\nimport ValidatedTextField from 'components/shared/form/validated-text-field';\r\nimport { validateComparisonName } from 'store/api';\r\n\r\nexport default class SelectBaseCompare extends Component {\r\n _isMounted = false;\r\n\r\n static propTypes = {\r\n comparedDocumentsList: PropTypes.array.isRequired,\r\n onSubmit: PropTypes.func.isRequired\r\n };\r\n\r\n state = { baseDocument: null, comparisonName: '' };\r\n\r\n componentDidMount() {\r\n this._isMounted = true;\r\n }\r\n\r\n componentWillUnmount() {\r\n this._isMounted = false;\r\n }\r\n\r\n onBaseDocumentChange = value => {\r\n const { comparisonName } = this.state;\r\n\r\n this.setState({\r\n comparisonName: this.nameFieldRef.current.state.isDirty ? comparisonName : value.itemName,\r\n baseDocument: value\r\n });\r\n };\r\n\r\n onComparisonNameChange = newValue => {\r\n this.setState({\r\n isValid: false,\r\n isDuplicated: false,\r\n comparisonName: newValue\r\n });\r\n };\r\n\r\n onSubmit = e => {\r\n e.preventDefault();\r\n const { onSubmit } = this.props;\r\n const { baseDocument, comparisonName } = this.state;\r\n onSubmit({ comparisonName, baseDocument });\r\n return false;\r\n };\r\n\r\n setFormRef = elem => {\r\n this.formElem = elem;\r\n };\r\n\r\n nameFieldRef = React.createRef();\r\n\r\n validateForm = () => {\r\n if (this.formElem) {\r\n let isFormValid = this.formElem.checkValidity ? this.formElem.checkValidity() : true;\r\n const { projectId } = this.props;\r\n const { comparisonName } = this.state;\r\n if (isFormValid) {\r\n validateComparisonName({ projectId, comparisonName }).then(response => {\r\n if (!this._isMounted) return;\r\n\r\n const { isNonduplicateName, isValidFormat, isValidLength } = response.data;\r\n const isDuplicated = !isNonduplicateName;\r\n isFormValid = isFormValid && isValidFormat && isValidLength && isNonduplicateName;\r\n this.setState({ isFormValid, isDuplicated });\r\n });\r\n } else {\r\n this.setState({ isFormValid });\r\n }\r\n }\r\n };\r\n\r\n render() {\r\n const { comparedDocumentsList } = this.props;\r\n const FilteredDocumentsList = [];\r\n comparedDocumentsList.forEach(document => {\r\n if (!FilteredDocumentsList.some(fdocument => fdocument.projectItemId === document.projectItemId)) {\r\n FilteredDocumentsList.push(document);\r\n }\r\n });\r\n const { baseDocument, comparisonName, isProcessing, isFormValid, isDuplicated } = this.state;\r\n\r\n return (\r\n
\r\n
\r\n

\r\n \r\n

\r\n
\r\n \r\n \r\n \r\n\r\n \r\n }\r\n isValid={!isFormValid && !isDuplicated}\r\n headingId=\"compare-browser.table-heading.title\"\r\n maxLength=\"140\"\r\n onChange={this.onComparisonNameChange}\r\n onValid={this.validateForm}\r\n value={comparisonName}\r\n ref={this.nameFieldRef}\r\n />\r\n\r\n
\r\n \r\n {FilteredDocumentsList.map((document, index) => (\r\n
\r\n \r\n \r\n {document.itemName}\r\n \r\n
\r\n ))}\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n \r\n );\r\n }\r\n}\r\n","var _desc, _defs, _g;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport * as React from \"react\";\nfunction SvgEmptyStateFileBrowser(_ref, svgRef) {\n let {\n title,\n titleId,\n ...props\n } = _ref;\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: \"161px\",\n height: \"196px\",\n viewBox: \"0 0 161 196\",\n xmlns: \"http://www.w3.org/2000/svg\",\n xmlnsXlink: \"http://www.w3.org/1999/xlink\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title === undefined ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, \"empty_state_file_browser\") : title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _desc || (_desc = /*#__PURE__*/React.createElement(\"desc\", null, \"Created with Sketch.\")), _defs || (_defs = /*#__PURE__*/React.createElement(\"defs\", null, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M0,133.576923 L0,97 L0,97 C-4.73447626e-16,93.1340068 3.13400675,90 7,90 L154,90 L154,90 C157.865993,90 161,93.1340068 161,97 L161,133.576923 L132.251489,187.691566 L132.251489,187.691566 C130.516106,190.958156 127.11928,193 123.420339,193 L37.5796613,193 L37.5796613,193 C33.8807202,193 30.4838939,190.958156 28.7485113,187.691566 L0,133.576923 Z\",\n id: \"path-1\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M15.5198289,113 L143.500619,113 L143.500619,113 C146.262042,113 148.500619,115.238576 148.500619,118 C148.500619,118.646264 148.375332,119.286398 148.131694,119.884977 L119.232704,190.884977 L119.232704,190.884977 C118.466081,192.768443 116.635136,194 114.601629,194 L45.3929598,194 L45.3929598,194 C43.3807725,194 41.5646454,192.793798 40.7842815,190.939094 L10.9111506,119.939094 L10.9111506,119.939094 C9.84021877,117.393791 11.0354325,114.462254 13.5807353,113.391322 C14.1945885,113.133044 14.8538536,113 15.5198289,113 Z\",\n id: \"path-2\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M0,149 L37.1469634,149 L37.1469634,149 C39.0475256,149 40.7837584,150.077519 41.6273863,151.780583 L42.8186921,154.185519 L42.8186921,154.185519 C43.6623201,155.888583 45.3985528,156.966102 47.299115,156.966102 L113.700885,156.966102 L113.700885,156.966102 C115.601447,156.966102 117.33768,155.888583 118.181308,154.185519 L119.372614,151.780583 L119.372614,151.780583 C120.216242,150.077519 121.952474,149 123.853037,149 L161,149 L161,186 L161,186 C161,191.522847 156.522847,196 151,196 L10,196 L10,196 C4.4771525,196 2.45271059e-15,191.522847 1.77635684e-15,186 L0,149 Z\",\n id: \"path-3\"\n }), /*#__PURE__*/React.createElement(\"rect\", {\n id: \"path-4\",\n x: 52,\n y: 171,\n width: 57,\n height: 9,\n rx: 4.5\n }))), _g || (_g = /*#__PURE__*/React.createElement(\"g\", {\n id: \"Icons\",\n stroke: \"none\",\n strokeWidth: 1,\n fill: \"none\",\n fillRule: \"evenodd\"\n }, /*#__PURE__*/React.createElement(\"g\", {\n id: \"Artboard\",\n transform: \"translate(-334.000000, -252.000000)\"\n }, /*#__PURE__*/React.createElement(\"g\", {\n id: \"empty_state_file_browser\",\n transform: \"translate(334.000000, 252.000000)\"\n }, /*#__PURE__*/React.createElement(\"g\", {\n id: \"Rectangle-23-Copy-4\",\n transform: \"translate(80.500000, 141.500000) scale(1, -1) translate(-80.500000, -141.500000) \"\n }, /*#__PURE__*/React.createElement(\"use\", {\n fill: \"#FFFFFF\",\n fillRule: \"evenodd\",\n xlinkHref: \"#path-1\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n stroke: \"#00A3E0\",\n strokeWidth: 3,\n d: \"M1.5,133.203215 L30.0731838,186.987831 C31.548259,189.764433 34.4355614,191.5 37.5796613,191.5 L123.420339,191.5 C126.564439,191.5 129.451741,189.764433 130.926816,186.987831 L159.5,133.203215 L159.5,97 C159.5,93.9624339 157.037566,91.5 154,91.5 L7,91.5 C3.96243388,91.5 1.5,93.9624339 1.5,97 L1.5,133.203215 Z\"\n })), /*#__PURE__*/React.createElement(\"g\", {\n id: \"Rectangle-23-Copy-3\",\n transform: \"translate(79.509575, 153.500000) scale(1, -1) translate(-79.509575, -153.500000) \"\n }, /*#__PURE__*/React.createElement(\"use\", {\n fill: \"#FFFFFF\",\n fillRule: \"evenodd\",\n xlinkHref: \"#path-2\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n stroke: \"#00A3E0\",\n strokeWidth: 3,\n d: \"M15.5198289,114.5 C15.0536462,114.5 14.5921606,114.593131 14.1624634,114.773925 C12.3807514,115.523577 11.5441018,117.575654 12.2937541,119.357366 L42.166885,190.357366 C42.7131397,191.655659 43.9844287,192.5 45.3929598,192.5 L114.601629,192.5 C116.025084,192.5 117.306745,191.63791 117.843382,190.319484 L146.742371,119.319484 C146.912918,118.900479 147.000619,118.452384 147.000619,118 C147.000619,116.067003 145.433615,114.5 143.500619,114.5 L15.5198289,114.5 Z\"\n })), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M82.6235031,69.1632431 L82.6235031,55.1264288 L82.6235031,55.1264288 C82.6235031,54.0239033 81.7297296,53.1301298 80.6272041,53.1301298 C79.5246787,53.1301298 78.6309052,54.0239033 78.6309052,55.1264288 L78.6309052,55.1264288 L78.6309052,69.4176514 L73.4011284,64.1878746 L73.4011284,64.1878746 C72.6215251,63.4082713 71.3575385,63.4082713 70.5779353,64.1878746 C69.798332,64.9674778 69.798332,66.2314644 70.5779353,67.0110677 L70.5779353,67.0110677 L78.9168159,75.3499482 C79.3502998,75.7834322 79.933541,75.9758854 80.5,75.9273079 C81.066459,75.9758854 81.6497002,75.7834322 82.0831841,75.3499482 L90.4220647,67.0110677 L90.4220647,67.0110677 C91.201668,66.2314644 91.201668,64.9674778 90.4220647,64.1878746 C89.6424615,63.4082713 88.3784749,63.4082713 87.5988716,64.1878746 L82.6235031,69.1632431 Z\",\n id: \"Combined-Shape\",\n fill: \"#E6E6E6\"\n }), /*#__PURE__*/React.createElement(\"g\", {\n id: \"Rectangle-23\"\n }, /*#__PURE__*/React.createElement(\"use\", {\n fill: \"#FFFFFF\",\n fillRule: \"evenodd\",\n xlinkHref: \"#path-3\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n stroke: \"#00A3E0\",\n strokeWidth: 3,\n d: \"M1.5,150.5 L1.5,186 C1.5,190.69442 5.30557963,194.5 10,194.5 L151,194.5 C155.69442,194.5 159.5,190.69442 159.5,186 L159.5,150.5 L123.853037,150.5 C122.522643,150.5 121.30728,151.254263 120.716741,152.446408 L119.525435,154.851344 C118.428718,157.065327 116.171616,158.466102 113.700885,158.466102 L47.299115,158.466102 C44.8283842,158.466102 42.5712816,157.065327 41.4745653,154.851344 L40.2832594,152.446408 C39.6927199,151.254263 38.477357,150.5 37.1469634,150.5 L1.5,150.5 Z\"\n })), /*#__PURE__*/React.createElement(\"g\", {\n id: \"Rectangle-24\"\n }, /*#__PURE__*/React.createElement(\"use\", {\n fill: \"#FFFFFF\",\n fillRule: \"evenodd\",\n xlinkHref: \"#path-4\"\n }), /*#__PURE__*/React.createElement(\"rect\", {\n stroke: \"#00A3E0\",\n strokeWidth: 3,\n x: 53.5,\n y: 172.5,\n width: 54,\n height: 6,\n rx: 3\n })), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M7.17212675,158 L7.17212675,158 L7.17212675,158 C7.8184485,158 8.34239581,158.523947 8.34239581,159.170269 C8.34239581,159.170888 8.34239532,159.171507 8.34239433,159.172125 L8.29909568,186.470217 L8.29909568,186.470217 C8.29734368,187.574785 9.19135278,188.471635 10.2959209,188.473387 C10.2969783,188.473389 10.2980357,188.473389 10.2990932,188.473389 L151.691521,188.473389 L151.691521,188.473389 C152.79609,188.473389 153.691521,187.577959 153.691521,186.473389 C153.691521,186.471889 153.691519,186.470389 153.691516,186.468889 L153.658384,171.743552 L153.658384,171.743552 C153.656931,171.097661 154.179351,170.572885 154.825242,170.571432 C154.826119,170.57143 154.826996,170.571429 154.827873,170.571429 L154.827873,170.571429 L154.827873,170.571429 C155.475221,170.571429 156,171.096208 156,171.743555 L156,186 L156,186 C156,188.761424 153.761424,191 151,191 L11,191 L11,191 C8.23857625,191 6,188.761424 6,186 L6,159.172127 L6,159.172127 C6,158.524779 6.52477902,158 7.17212675,158 Z\",\n id: \"Rectangle-4\",\n fill: \"#00A3E0\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M154,158 L154,158 L154,158 C154.552285,158 155,158.447715 155,159 L155,167 L155,167 C155,167.552285 154.552285,168 154,168 L154,168 L154,168 C153.447715,168 153,167.552285 153,167 L153,159 L153,159 C153,158.447715 153.447715,158 154,158 Z\",\n id: \"Rectangle\",\n fill: \"#00A3E0\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M67,97 L67,97 L67,97 C67.5522847,97 68,97.4477153 68,98 L68,141 L68,141 C68,141.552285 67.5522847,142 67,142 L67,142 L67,142 C66.4477153,142 66,141.552285 66,141 L66,98 L66,98 C66,97.4477153 66.4477153,97 67,97 Z\",\n id: \"Rectangle-Copy-2\",\n fill: \"#00A3E0\",\n transform: \"translate(67.000000, 119.500000) rotate(90.000000) translate(-67.000000, -119.500000) \"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M17,107 L17,107 L17,107 C17.5522847,107 18,107.447715 18,108 L18,153 L18,153 C18,153.552285 17.5522847,154 17,154 L17,154 L17,154 C16.4477153,154 16,153.552285 16,153 L16,108 L16,108 C16,107.447715 16.4477153,107 17,107 Z\",\n id: \"Rectangle-Copy-4\",\n fill: \"#00A3E0\",\n transform: \"translate(17.000000, 130.500000) rotate(28.000000) translate(-17.000000, -130.500000) \"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M44,119 L44,119 L44,119 C44.5522847,119 45,119.447715 45,120 L45,131 L45,131 C45,131.552285 44.5522847,132 44,132 L44,132 L44,132 C43.4477153,132 43,131.552285 43,131 L43,120 L43,120 C43,119.447715 43.4477153,119 44,119 Z\",\n id: \"Rectangle-Copy-8\",\n fill: \"#00A3E0\",\n transform: \"translate(44.000000, 125.500000) rotate(23.000000) translate(-44.000000, -125.500000) \"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M33,96.0419559 L33,96.0419559 L33,96.0419559 C33.3929697,95.9056194 33.8220573,96.1136616 33.9583939,96.5066314 C33.9859371,96.5860205 34,96.6694593 34,96.7534906 L34,105.552631 L34,105.552631 C34,106.186266 33.5986303,106.750356 33,106.958044 L33,106.958044 L33,106.958044 C32.6070303,107.094381 32.1779427,106.886338 32.0416061,106.493369 C32.0140629,106.41398 32,106.330541 32,106.246509 L32,97.4473688 L32,97.4473688 C32,96.8137343 32.4013697,96.2496442 33,96.0419559 Z\",\n id: \"Rectangle-Copy-6\",\n fill: \"#00A3E0\",\n transform: \"translate(33.000000, 101.500000) rotate(28.000000) translate(-33.000000, -101.500000) \"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M39,92 L39,92 L39,92 C39.5522847,92 40,92.4477153 40,93 L40,101 L40,101 C40,101.552285 39.5522847,102 39,102 L39,102 L39,102 C38.4477153,102 38,101.552285 38,101 L38,93 L38,93 C38,92.4477153 38.4477153,92 39,92 Z\",\n id: \"Rectangle-Copy-7\",\n fill: \"#00A3E0\",\n transform: \"translate(39.000000, 97.000000) rotate(-270.000000) translate(-39.000000, -97.000000) \"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M49,95 L49,95 L49,95 C49.5522847,95 50,95.4477153 50,96 L50,99 L50,99 C50,99.5522847 49.5522847,100 49,100 L49,100 L49,100 C48.4477153,100 48,99.5522847 48,99 L48,96 L48,96 C48,95.4477153 48.4477153,95 49,95 Z\",\n id: \"Rectangle-Copy-9\",\n fill: \"#00A3E0\",\n transform: \"translate(49.000000, 97.500000) rotate(-270.000000) translate(-49.000000, -97.500000) \"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M140,97.042203 L140,97.042203 L140,97.042203 C140.392212,96.9053279 140.821122,97.1123193 140.957997,97.5045314 C140.985801,97.584202 141,97.6679831 141,97.7523658 L141,152.549669 L141,152.549669 C141,153.183932 140.598844,153.748811 140,153.957797 L140,153.957797 L140,153.957797 C139.607788,154.094672 139.178878,153.887681 139.042003,153.495469 C139.014199,153.415798 139,153.332017 139,153.247634 L139,98.4503309 L139,98.4503309 C139,97.816068 139.401156,97.2511892 140,97.042203 Z\",\n id: \"Rectangle-Copy-5\",\n fill: \"#00A3E0\",\n transform: \"translate(140.000000, 125.500000) scale(-1, 1) rotate(28.000000) translate(-140.000000, -125.500000) \"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M102,111 L102,111 L102,111 C102.552285,111 103,111.447715 103,112 L103,127 L103,127 C103,127.552285 102.552285,128 102,128 L102,128 L102,128 C101.447715,128 101,127.552285 101,127 L101,112 L101,112 C101,111.447715 101.447715,111 102,111 Z\",\n id: \"Rectangle-Copy-3\",\n fill: \"#00A3E0\",\n transform: \"translate(102.000000, 119.500000) rotate(90.000000) translate(-102.000000, -119.500000) \"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M67.9344978,14.6848 C67.9781662,14.8640009 68,15.0431991 68,15.2224 L68,44.656 C68,45.0144018 67.85808,45.3279987 67.5742358,45.5968 C67.2903916,45.8656013 66.9738009,46 66.6244541,46 L39.3755459,46 C39.0261991,46 38.7096084,45.8656013 38.4257642,45.5968 C38.14192,45.3279987 38,45.0144018 38,44.656 L38,5.4112 C38,5.00799798 38.1310031,4.67200134 38.3930131,4.4032 C38.6550231,4.13439866 38.9825308,4 39.3755459,4 L57.1266376,4 C57.4759843,4 57.7816581,4.13439866 58.0436681,4.4032 L67.6069869,14.2144 C67.7379919,14.3488007 67.8471611,14.5055991 67.9344978,14.6848 Z M58.4366812,8.7712 L58.4366812,13.8112 L63.349345,13.8112 L58.4366812,8.7712 Z M40.7510917,43.2448 L65.3144105,43.2448 L65.3144105,16.6336 L57.1266376,16.6336 C56.7336225,16.6336 56.4061148,16.4992013 56.1441048,16.2304 C55.8820948,15.9615987 55.7510917,15.625602 55.7510917,15.2224 L55.7510917,6.8224 L40.7510917,6.8224 L40.7510917,43.2448 Z M61.1877729,37.6 C61.580788,37.6 61.9082956,37.7343987 62.1703057,38.0032 C62.4323157,38.2720013 62.5633188,38.607998 62.5633188,39.0112 C62.5633188,39.414402 62.4323157,39.7503987 62.1703057,40.0192 C61.9082956,40.2880013 61.580788,40.4224 61.1877729,40.4224 L44.8122271,40.4224 C44.419212,40.4224 44.0917044,40.2880013 43.8296943,40.0192 C43.5676843,39.7503987 43.4366812,39.414402 43.4366812,39.0112 C43.4366812,38.607998 43.5676843,38.2720013 43.8296943,38.0032 C44.0917044,37.7343987 44.419212,37.6 44.8122271,37.6 L61.1877729,37.6 Z M61.1877729,32.0224 C61.580788,32.0224 61.9082956,32.1567987 62.1703057,32.4256 C62.4323157,32.6944013 62.5633188,33.030398 62.5633188,33.4336 C62.5633188,33.836802 62.4323157,34.1727987 62.1703057,34.4416 C61.9082956,34.7104013 61.580788,34.8448 61.1877729,34.8448 L44.8122271,34.8448 C44.419212,34.8448 44.0917044,34.7104013 43.8296943,34.4416 C43.5676843,34.1727987 43.4366812,33.836802 43.4366812,33.4336 C43.4366812,33.030398 43.5676843,32.6944013 43.8296943,32.4256 C44.0917044,32.1567987 44.419212,32.0224 44.8122271,32.0224 L61.1877729,32.0224 Z M61.1877729,26.4448 C61.4934513,26.5344004 61.7445405,26.7023988 61.941048,26.9488 C62.1375556,27.1952012 62.2358079,27.4863983 62.2358079,27.8224 C62.2358079,28.1584017 62.1375556,28.4495988 61.941048,28.696 C61.7445405,28.9424012 61.4934513,29.1103996 61.1877729,29.2 L44.8122271,29.2 C44.5065487,29.1103996 44.2554595,28.9424012 44.058952,28.696 C43.8624444,28.4495988 43.7641921,28.1584017 43.7641921,27.8224 C43.7641921,27.4863983 43.8624444,27.1952012 44.058952,26.9488 C44.2554595,26.7023988 44.5065487,26.5344004 44.8122271,26.4448 L61.1877729,26.4448 Z M61.1877729,20.8 C61.580788,20.8 61.9082956,20.9343987 62.1703057,21.2032 C62.4323157,21.4720013 62.5633188,21.807998 62.5633188,22.2112 C62.5633188,22.614402 62.4323157,22.9503987 62.1703057,23.2192 C61.9082956,23.4880013 61.580788,23.6224 61.1877729,23.6224 L44.8122271,23.6224 C44.419212,23.6224 44.0917044,23.4880013 43.8296943,23.2192 C43.5676843,22.9503987 43.4366812,22.614402 43.4366812,22.2112 C43.4366812,21.807998 43.5676843,21.4720013 43.8296943,21.2032 C44.0917044,20.9343987 44.419212,20.8 44.8122271,20.8 L61.1877729,20.8 Z\",\n id: \"W-Copy\",\n fill: \"#E6E6E6\",\n transform: \"translate(53.000000, 25.000000) rotate(20.000000) translate(-53.000000, -25.000000) \"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M121.951965,33.632 C121.983989,33.7600006 122,33.8879994 122,34.016 L122,55.04 C122,55.2960013 121.895925,55.519999 121.687773,55.712 C121.479621,55.904001 121.247454,56 120.991266,56 L101.008734,56 C100.752546,56 100.520379,55.904001 100.312227,55.712 C100.104075,55.519999 100,55.2960013 100,55.04 L100,27.008 C100,26.7199986 100.096069,26.480001 100.28821,26.288 C100.48035,26.095999 100.720523,26 101.008734,26 L114.026201,26 C114.282388,26 114.506549,26.095999 114.69869,26.288 L121.71179,33.296 C121.807861,33.3920005 121.887918,33.5039994 121.951965,33.632 Z M114.9869,29.408 L114.9869,33.008 L118.58952,33.008 L114.9869,29.408 Z M102.017467,54.032 L120.030568,54.032 L120.030568,35.024 L114.026201,35.024 C113.73799,35.024 113.497818,34.928001 113.305677,34.736 C113.113536,34.543999 113.017467,34.3040014 113.017467,34.016 L113.017467,28.016 L102.017467,28.016 L102.017467,54.032 Z M117.004367,50 C117.292578,50 117.53275,50.095999 117.724891,50.288 C117.917032,50.480001 118.0131,50.7199986 118.0131,51.008 C118.0131,51.2960014 117.917032,51.535999 117.724891,51.728 C117.53275,51.920001 117.292578,52.016 117.004367,52.016 L104.995633,52.016 C104.707422,52.016 104.46725,51.920001 104.275109,51.728 C104.082968,51.535999 103.9869,51.2960014 103.9869,51.008 C103.9869,50.7199986 104.082968,50.480001 104.275109,50.288 C104.46725,50.095999 104.707422,50 104.995633,50 L117.004367,50 Z M117.004367,46.016 C117.292578,46.016 117.53275,46.111999 117.724891,46.304 C117.917032,46.496001 118.0131,46.7359986 118.0131,47.024 C118.0131,47.3120014 117.917032,47.551999 117.724891,47.744 C117.53275,47.936001 117.292578,48.032 117.004367,48.032 L104.995633,48.032 C104.707422,48.032 104.46725,47.936001 104.275109,47.744 C104.082968,47.551999 103.9869,47.3120014 103.9869,47.024 C103.9869,46.7359986 104.082968,46.496001 104.275109,46.304 C104.46725,46.111999 104.707422,46.016 104.995633,46.016 L117.004367,46.016 Z M117.004367,42.032 C117.228531,42.0960003 117.412663,42.2159991 117.556769,42.392 C117.700874,42.5680009 117.772926,42.7759988 117.772926,43.016 C117.772926,43.2560012 117.700874,43.4639991 117.556769,43.64 C117.412663,43.8160009 117.228531,43.9359997 117.004367,44 L104.995633,44 C104.771469,43.9359997 104.587337,43.8160009 104.443231,43.64 C104.299126,43.4639991 104.227074,43.2560012 104.227074,43.016 C104.227074,42.7759988 104.299126,42.5680009 104.443231,42.392 C104.587337,42.2159991 104.771469,42.0960003 104.995633,42.032 L117.004367,42.032 Z M117.004367,38 C117.292578,38 117.53275,38.095999 117.724891,38.288 C117.917032,38.480001 118.0131,38.7199986 118.0131,39.008 C118.0131,39.2960014 117.917032,39.535999 117.724891,39.728 C117.53275,39.920001 117.292578,40.016 117.004367,40.016 L104.995633,40.016 C104.707422,40.016 104.46725,39.920001 104.275109,39.728 C104.082968,39.535999 103.9869,39.2960014 103.9869,39.008 C103.9869,38.7199986 104.082968,38.480001 104.275109,38.288 C104.46725,38.095999 104.707422,38 104.995633,38 L117.004367,38 Z\",\n id: \"W-Copy-2\",\n fill: \"#E6E6E6\",\n transform: \"translate(111.000000, 41.000000) rotate(-12.000000) translate(-111.000000, -41.000000) \"\n }))))));\n}\nconst ForwardRef = /*#__PURE__*/React.forwardRef(SvgEmptyStateFileBrowser);\nexport default __webpack_public_path__ + \"static/media/empty_state_file_browser.7dd3522ea557a14461e2d91652d405e2.svg\";\nexport { ForwardRef as ReactComponent };","import PropTypes from 'prop-types';\r\nimport React, { Component } from 'react';\r\nimport Icon from 'components/shared/icon';\r\nimport Checkbox from 'components/shared/form/checkbox';\r\nimport SelectBaseCompare from 'components/shared/create-compare-sidebar/select-base-compare';\r\nimport { ITEM_TYPES } from 'models/project-item';\r\nimport { getFolder } from 'store/api';\r\nimport { FormattedMessage } from 'react-intl';\r\nimport { Button as MenuButton, Menu, MenuItem, Wrapper as MenuWrapper } from 'react-aria-menubutton';\r\nimport emptyStateImage from 'images/empty_state_file_browser.svg';\r\nimport { ITEM_STATUSES } from 'models/project-item';\r\nimport { addNotification } from 'store/notifications.js';\r\nimport store from 'store/store';\r\nimport Button from 'components/shared/single-click-button';\r\nimport Pagination from 'components/shared/pagination/pagination';\r\nimport LoadingOverlay from 'components/shared/loading/light';\r\n\r\nconst ACTIVE_STEP = {\r\n SELECT_FILES: 1,\r\n SELECT_BASE_DOCUMENT: 2\r\n};\r\n\r\nexport default class CreateCompareSidebar extends Component {\r\n static propTypes = {\r\n currentFolder: PropTypes.object.isRequired,\r\n loadCurrentFolder: PropTypes.func.isRequired,\r\n onClose: PropTypes.func.isRequired,\r\n onSubmit: PropTypes.func.isRequired,\r\n projectId: PropTypes.string.isRequired\r\n };\r\n\r\n state = {\r\n selectedFileIds: new Set(),\r\n activeStep: ACTIVE_STEP.SELECT_FILES,\r\n selectedFiles: [],\r\n allChildren: [],\r\n folderId: null\r\n };\r\n\r\n SubmitSelectedFiles = () => {\r\n const { projectId } = this.props;\r\n\r\n const loadItemPromises = Array.from(this.state.selectedFileIds)\r\n .map(id => this.state.allChildren.find(c => c.projectItemId === id))\r\n .map(item => {\r\n if (item.itemTypeId === ITEM_TYPES.FOLDER) {\r\n return getFolder({\r\n projectId,\r\n folderId: item.projectItemId,\r\n recursive: true\r\n }).then(r => r.data);\r\n } else {\r\n return Promise.resolve([item]);\r\n }\r\n });\r\n\r\n Promise.all(loadItemPromises).then(filesArrays => {\r\n const files = []\r\n .concat(...filesArrays)\r\n .filter(\r\n item =>\r\n item.itemStateId === ITEM_STATUSES.PROCESSED ||\r\n item.itemStateId === ITEM_STATUSES.REPROCESSINGREQUIRED ||\r\n item.itemStateId === ITEM_STATUSES.READYFORVERIFICATION\r\n );\r\n\r\n if (files.length < 2) {\r\n store.dispatch(\r\n addNotification({\r\n message: ,\r\n clearOnPageChange: true,\r\n autohide: 10\r\n })\r\n );\r\n } else {\r\n this.setState({ activeStep: ACTIVE_STEP.SELECT_BASE_DOCUMENT, selectedFiles: files });\r\n }\r\n });\r\n };\r\n\r\n createComparison = ({ comparisonName, baseDocument }) => {\r\n const { selectedFiles } = this.state;\r\n this.props.onSubmit({ comparisonName, baseDocument, selectedFiles });\r\n };\r\n\r\n componentDidMount() {\r\n const { loadCurrentFolder, projectId } = this.props;\r\n\r\n //Load the root folder\r\n loadCurrentFolder({ projectId, forceFetch: true });\r\n }\r\n\r\n componentDidUpdate(prevProps) {\r\n const { currentFolder } = this.props;\r\n\r\n if (currentFolder.children !== prevProps.currentFolder.children) {\r\n var { allChildren } = this.state;\r\n\r\n currentFolder.children.forEach(child => {\r\n if (!allChildren.some(cac => cac.projectItemId === child.projectItemId)) {\r\n allChildren.push(child);\r\n }\r\n });\r\n\r\n this.setState({ allChildren });\r\n }\r\n }\r\n\r\n navigateToFolder = folderId => {\r\n this.props.loadCurrentFolder({\r\n projectId: this.props.projectId,\r\n folderId,\r\n forceFetch: true\r\n });\r\n this.setState({ folderId: folderId });\r\n };\r\n\r\n toggleSelectedFile(projectItem) {\r\n if (this.state.selectedFileIds.has(projectItem.projectItemId)) {\r\n this.state.selectedFileIds.delete(projectItem.projectItemId);\r\n } else {\r\n this.state.selectedFileIds.add(projectItem.projectItemId);\r\n }\r\n\r\n this.setState({ selectedFileIds: this.state.selectedFileIds });\r\n }\r\n\r\n onBackClick = () => {\r\n this.setState({ activeStep: ACTIVE_STEP.SELECT_FILES });\r\n };\r\n\r\n onPageChange = pageNum => {\r\n const { loadCurrentFolder, projectId } = this.props;\r\n const { folderId } = this.state;\r\n\r\n var params = {\r\n projectId,\r\n pageNum,\r\n forceFetch: true\r\n };\r\n\r\n if (folderId !== null) {\r\n params.folderId = folderId;\r\n }\r\n\r\n loadCurrentFolder(params);\r\n };\r\n\r\n selectedOnPageCount = () => {\r\n var { currentFolder } = this.props;\r\n var { selectedFileIds } = this.state;\r\n var children = currentFolder.children || [];\r\n\r\n return children.filter(child => selectedFileIds.has(child.projectItemId)).length;\r\n };\r\n\r\n selectAllItemsOnPage = addItem => {\r\n var { currentFolder } = this.props;\r\n var { selectedFileIds } = this.state;\r\n var children = currentFolder.children || [];\r\n\r\n children.forEach(child => {\r\n if (addItem) {\r\n if (\r\n !selectedFileIds.has(child.projectItemId) &&\r\n (child.itemStateId === ITEM_STATUSES.PROCESSED ||\r\n child.itemStateId === ITEM_STATUSES.REPROCESSINGREQUIRED ||\r\n child.itemStateId === ITEM_STATUSES.READYFORVERIFICATION ||\r\n child.itemTypeId === ITEM_TYPES.FOLDER)\r\n ) {\r\n selectedFileIds.add(child.projectItemId);\r\n }\r\n } else {\r\n if (selectedFileIds.has(child.projectItemId)) {\r\n selectedFileIds.delete(child.projectItemId);\r\n }\r\n }\r\n });\r\n\r\n this.setState({ selectedFileIds });\r\n };\r\n\r\n isAsSelectedAsPossible = () => {\r\n const { currentFolder } = this.props;\r\n const childItems = currentFolder.children || [];\r\n\r\n return (\r\n childItems.filter(\r\n child =>\r\n child.itemStateId === ITEM_STATUSES.PROCESSED ||\r\n child.itemStateId === ITEM_STATUSES.REPROCESSINGREQUIRED ||\r\n child.itemStateId === ITEM_STATUSES.READYFORVERIFICATION ||\r\n child.itemTypeId === ITEM_TYPES.FOLDER\r\n ).length === this.selectedOnPageCount()\r\n );\r\n };\r\n\r\n render() {\r\n const { onClose, currentFolder, projectId } = this.props;\r\n const { selectedFileIds, activeStep, selectedFiles } = this.state;\r\n\r\n const childItems = currentFolder.children || [];\r\n\r\n let breadcrumbs = [];\r\n if (currentFolder && currentFolder.parentHierarchy) {\r\n breadcrumbs = currentFolder.parentHierarchy.slice(1, currentFolder.parentHierarchy.length).reverse();\r\n }\r\n\r\n var selectedOnPageCount = this.selectedOnPageCount();\r\n\r\n return (\r\n
\r\n
\r\n
\r\n
\r\n {activeStep === ACTIVE_STEP.SELECT_BASE_DOCUMENT && (\r\n \r\n )}\r\n \r\n \r\n \r\n \r\n
\r\n {activeStep === ACTIVE_STEP.SELECT_FILES && (\r\n
\r\n
\r\n this.navigateToFolder('root')}\r\n >\r\n \r\n
\r\n {!!currentFolder.itemName && (\r\n
>
\r\n )}\r\n {breadcrumbs.length > 0 && (\r\n
\r\n \r\n \r\n ...\r\n \r\n \r\n
    \r\n {breadcrumbs.map(folder => {\r\n return (\r\n
  • \r\n \r\n {folder.itemName}\r\n \r\n
  • \r\n );\r\n })}\r\n
\r\n
\r\n \r\n
\r\n )}\r\n {breadcrumbs.length > 0 &&
>
}\r\n
{currentFolder.itemName}
\r\n
\r\n
\r\n {currentFolder.isLoading ? : null}\r\n\r\n {childItems && childItems.length > 0 ? (\r\n
\r\n {\r\n this.selectAllItemsOnPage(!this.isAsSelectedAsPossible());\r\n }}\r\n checked={\r\n selectedOnPageCount === 0\r\n ? 'unchecked'\r\n : this.isAsSelectedAsPossible()\r\n ? 'checked'\r\n : 'indeterminate'\r\n }\r\n className=\"add-to-compare-sidebar__item-checkbox\"\r\n />\r\n \r\n
\r\n ) : null}\r\n\r\n
\r\n
    \r\n {childItems.map(item => (\r\n
  • \r\n {item.itemTypeId === ITEM_TYPES.FOLDER && (\r\n
    \r\n this.toggleSelectedFile(item)}\r\n checked={selectedFileIds.has(item.projectItemId) ? 'checked' : 'unchecked'}\r\n className=\"create-compare-sidebar__item-checkbox\"\r\n />\r\n\r\n \r\n\r\n this.navigateToFolder(item.projectItemId)}\r\n title={item && item.itemName && item.itemName.length > 30 ? item.itemName : ''}\r\n >\r\n {item.itemName}\r\n \r\n
    \r\n )}\r\n {item.itemTypeId === ITEM_TYPES.DOCUMENT && (\r\n {\r\n if (\r\n item.itemStateId === ITEM_STATUSES.PROCESSED ||\r\n item.itemStateId === ITEM_STATUSES.REPROCESSINGREQUIRED ||\r\n item.itemStateId === ITEM_STATUSES.READYFORVERIFICATION\r\n )\r\n this.toggleSelectedFile(item);\r\n }}\r\n >\r\n {item.itemStateId === ITEM_STATUSES.PROCESSED ||\r\n item.itemStateId === ITEM_STATUSES.REPROCESSINGREQUIRED ||\r\n item.itemStateId === ITEM_STATUSES.READYFORVERIFICATION ? (\r\n {}}\r\n checked={selectedFileIds.has(item.projectItemId) ? 'checked' : 'unchecked'}\r\n className=\"create-compare-sidebar__item-checkbox\"\r\n />\r\n ) : (\r\n
    \r\n )}\r\n 30 ? item.itemName : ''}>\r\n {item.itemName}\r\n \r\n
    \r\n )}\r\n
  • \r\n ))}\r\n
\r\n
\r\n\r\n {currentFolder && currentFolder.pagination !== null ? (\r\n \r\n ) : null}\r\n\r\n {currentFolder.isLoaded && childItems.length === 0 && (\r\n
\r\n \r\n

\r\n \r\n

\r\n
\r\n \r\n
\r\n
\r\n )}\r\n
\r\n
\r\n this.SubmitSelectedFiles()}\r\n >\r\n \r\n \r\n
\r\n
\r\n )}\r\n {activeStep === ACTIVE_STEP.SELECT_BASE_DOCUMENT && (\r\n
\r\n \r\n
\r\n )}\r\n
\r\n
\r\n );\r\n }\r\n}\r\n","import { connect } from 'react-redux';\r\n\r\nimport { loadCurrentFolder } from 'store/current-folder';\r\nimport CreateCompareSidebar from 'components/shared/create-compare-sidebar/create-compare-sidebar';\r\n\r\nconst mapStateToProps = ({ data: { currentFolder } }) => ({\r\n currentFolder\r\n});\r\n\r\nconst mapDispatchToProps = {\r\n loadCurrentFolder\r\n};\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(CreateCompareSidebar);\r\n","var _desc, _defs, _g;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport * as React from \"react\";\nfunction SvgEmptyStateComp01(_ref, svgRef) {\n let {\n title,\n titleId,\n ...props\n } = _ref;\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: \"203px\",\n height: \"180px\",\n viewBox: \"0 0 203 180\",\n xmlns: \"http://www.w3.org/2000/svg\",\n xmlnsXlink: \"http://www.w3.org/1999/xlink\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title === undefined ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, \"empty_state_comp_01\") : title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _desc || (_desc = /*#__PURE__*/React.createElement(\"desc\", null, \"Created with Sketch.\")), _defs || (_defs = /*#__PURE__*/React.createElement(\"defs\", null, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M5,-5.3544544e-14 L64.1748973,-2.75991795e-15 L64.1748973,1.77635684e-15 C66.9363211,8.62699669e-15 69.1748973,2.23857625 69.1748973,5 L69.1748973,92.4764514 L69.1748973,92.4764514 C69.1748973,95.2378751 66.9363211,97.4764514 64.1748973,97.4764514 L5,97.4764514 L5,97.4764514 C2.23857625,97.4764514 -3.2145368e-15,95.2378751 -3.55271368e-15,92.4764514 L0,5 L-4.4408921e-15,5 C-4.77906897e-15,2.23857625 2.23857625,-5.63361478e-14 5,-5.68434189e-14 Z\",\n id: \"path-1\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M5,-5.91146327e-14 L64.1748973,-8.10405887e-15 L64.1748973,-2.66453526e-15 C66.9363211,-3.17180635e-15 69.1748973,2.23857625 69.1748973,5 L69.1748973,92.9101647 L69.1748973,92.9101647 C69.1748973,95.6715885 66.9363211,97.9101647 64.1748973,97.9101647 L5,97.9101647 L5,97.9101647 C2.23857625,97.9101647 3.38176876e-16,95.6715885 0,92.9101647 L0,5 L-4.4408921e-15,5 C-4.77906897e-15,2.23857625 2.23857625,-6.34415751e-14 5,-6.39488462e-14 Z\",\n id: \"path-2\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M5,1.83252664e-14 L57.7896562,1.23496048e-15 L57.7896562,0 C59.9987952,-4.33003243e-15 61.7896562,1.790861 61.7896562,4 L61.7896562,21.7829265 L61.7896562,21.7829265 C61.7896562,24.5443502 64.0282324,26.7829265 66.7896562,26.7829265 L87.7954244,26.7829265 L87.7954244,26.7829265 C90.0045634,26.7829265 91.7954244,28.5737875 91.7954244,30.7829265 L91.7954244,119.468372 L91.7954244,119.468372 C91.7954244,122.229796 89.5568482,124.468372 86.7954244,124.468372 L5,124.468372 L5,124.468372 C2.23857625,124.468372 3.38176876e-16,122.229796 0,119.468372 L0,5 L1.77635684e-15,5 C1.43817996e-15,2.23857625 2.23857625,2.09353747e-14 5,2.04281037e-14 Z\",\n id: \"path-3\"\n }))), _g || (_g = /*#__PURE__*/React.createElement(\"g\", {\n id: \"Comparison\",\n stroke: \"none\",\n strokeWidth: 1,\n fill: \"none\",\n fillRule: \"evenodd\"\n }, /*#__PURE__*/React.createElement(\"g\", {\n id: \"cCOMP-01-05-08\",\n transform: \"translate(-581.000000, -247.000000)\"\n }, /*#__PURE__*/React.createElement(\"g\", {\n id: \"empty_state_comp_01\",\n transform: \"translate(580.000000, 246.000000)\"\n }, /*#__PURE__*/React.createElement(\"circle\", {\n id: \"Oval-2\",\n fillOpacity: 0.04,\n fill: \"#00A3E0\",\n cx: 103.5,\n cy: 90.5,\n r: 83.5\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M29.3739401,140.491026 L29.3739401,130.762906 L29.3739401,130.762906 C29.3739401,129.998808 28.7545163,129.379384 27.9904184,129.379384 C27.2263205,129.379384 26.6068967,129.998808 26.6068967,130.762906 L26.6068967,130.762906 L26.6068967,140.667342 L22.9824349,137.04288 C22.442136,136.502582 21.5661386,136.502582 21.0258397,137.04288 L21.0258397,137.04288 L21.0258397,137.04288 C20.4855409,137.583179 20.4855409,138.459177 21.0258397,138.999476 L26.8050452,144.778681 C27.1054684,145.079104 27.5096798,145.212483 27.9022604,145.178816 C28.294841,145.212483 28.6990525,145.079104 28.9994756,144.778681 L34.7786811,138.999476 C35.3189799,138.459177 35.3189799,137.583179 34.7786811,137.04288 C34.2383823,136.502582 33.3623848,136.502582 32.822086,137.04288 L32.822086,137.04288 L29.3739401,140.491026 Z\",\n id: \"Combined-Shape-Copy\",\n fill: \"#00A3E0\",\n transform: \"translate(27.902260, 137.281645) scale(-1, 1) rotate(90.000000) translate(-27.902260, -137.281645) \"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M160.525764,45.13762 L160.525764,21.1008057 L160.525764,21.1008057 C160.525764,19.9982802 159.63199,19.1045067 158.529465,19.1045067 L158.529465,19.1045067 L158.529465,19.1045067 C157.426939,19.1045067 156.533166,19.9982802 156.533166,21.1008057 L156.533166,21.1008057 L156.533166,45.3920283 L151.303389,40.1622515 L151.303389,40.1622515 C150.523786,39.3826482 149.259799,39.3826482 148.480196,40.1622515 C147.700592,40.9418547 147.700592,42.2058413 148.480196,42.9854446 L148.480196,42.9854446 L156.819076,51.3243251 C157.25256,51.7578091 157.835801,51.9502623 158.40226,51.9016848 C158.968719,51.9502623 159.551961,51.7578091 159.985445,51.3243251 L168.324325,42.9854446 L168.324325,42.9854446 C169.103928,42.2058413 169.103928,40.9418547 168.324325,40.1622515 C167.544722,39.3826482 166.280735,39.3826482 165.501132,40.1622515 L160.525764,45.13762 Z\",\n id: \"Combined-Shape-Copy-2\",\n fill: \"#00A3E0\",\n transform: \"translate(158.402260, 35.506767) rotate(90.000000) translate(-158.402260, -35.506767) \"\n }), /*#__PURE__*/React.createElement(\"g\", {\n id: \"Group-5\",\n transform: \"translate(46.212042, 56.079977) rotate(15.000000) translate(-46.212042, -56.079977) translate(11.429184, 7.341751)\"\n }, /*#__PURE__*/React.createElement(\"g\", {\n id: \"Rectangle-5-Copy\"\n }, /*#__PURE__*/React.createElement(\"use\", {\n fill: \"#FFFFFF\",\n fillRule: \"evenodd\",\n xlinkHref: \"#path-1\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n stroke: \"#E6E6E6\",\n strokeWidth: 4,\n d: \"M5,2 C3.34314575,2 2,3.34314575 2,5 L2,92.4764514 C2,94.1333056 3.34314575,95.4764514 5,95.4764514 L64.1748973,95.4764514 C65.8317516,95.4764514 67.1748973,94.1333056 67.1748973,92.4764514 L67.1748973,5 C67.1748973,3.34314575 65.8317516,2 64.1748973,2 L5,2 Z\"\n })), /*#__PURE__*/React.createElement(\"rect\", {\n id: \"Rectangle-8\",\n fill: \"#E6E6E6\",\n x: 7.81637258,\n y: 25.1814166,\n width: 53.1513336,\n height: 4.06151881,\n rx: 2.0307594\n }), /*#__PURE__*/React.createElement(\"rect\", {\n id: \"Rectangle-8-Copy\",\n fill: \"#E6E6E6\",\n x: 7.81637258,\n y: 35.7413655,\n width: 53.1513336,\n height: 4.06151881,\n rx: 2.0307594\n }), /*#__PURE__*/React.createElement(\"rect\", {\n id: \"Rectangle-8-Copy-2\",\n fill: \"#E6E6E6\",\n x: 7.81637258,\n y: 46.3013144,\n width: 53.1513336,\n height: 4.06151881,\n rx: 2.0307594\n }), /*#__PURE__*/React.createElement(\"rect\", {\n id: \"Rectangle-8-Copy-3\",\n fill: \"#E6E6E6\",\n x: 7.81637258,\n y: 56.8612633,\n width: 29.7022158,\n height: 4.06151881,\n rx: 2.0307594\n }), /*#__PURE__*/React.createElement(\"rect\", {\n id: \"Rectangle-8-Copy-5\",\n fill: \"#E6E6E6\",\n x: 7.81637258,\n y: 83.6672874,\n width: 14.8511079,\n height: 4.06151881,\n rx: 2.0307594\n }), /*#__PURE__*/React.createElement(\"rect\", {\n id: \"Rectangle-8-Copy-8\",\n fill: \"#E6E6E6\",\n x: 39.0818629,\n y: 83.6672874,\n width: 21.8858432,\n height: 4.06151881,\n rx: 2.0307594\n }), /*#__PURE__*/React.createElement(\"rect\", {\n id: \"Rectangle-8-Copy-7\",\n fill: \"#E6E6E6\",\n x: 48.46151,\n y: 13.8091639,\n width: 12.5061961,\n height: 4.06151881,\n rx: 2.0307594\n }), /*#__PURE__*/React.createElement(\"rect\", {\n id: \"Rectangle-8-Copy-6\",\n fill: \"#E6E6E6\",\n x: 7.81637258,\n y: 13.8091639,\n width: 34.3920394,\n height: 4.06151881,\n rx: 2.0307594\n })), /*#__PURE__*/React.createElement(\"g\", {\n id: \"Group-5-Copy\",\n transform: \"translate(157.576093, 124.985502) rotate(-17.000000) translate(-157.576093, -124.985502) translate(122.793235, 76.030419)\"\n }, /*#__PURE__*/React.createElement(\"g\", {\n id: \"Rectangle-5-Copy\"\n }, /*#__PURE__*/React.createElement(\"use\", {\n fill: \"#FFFFFF\",\n fillRule: \"evenodd\",\n xlinkHref: \"#path-2\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n stroke: \"#E6E6E6\",\n strokeWidth: 4,\n d: \"M5,2 C3.34314575,2 2,3.34314575 2,5 L2,92.9101647 C2,94.567019 3.34314575,95.9101647 5,95.9101647 L64.1748973,95.9101647 C65.8317516,95.9101647 67.1748973,94.567019 67.1748973,92.9101647 L67.1748973,5 C67.1748973,3.34314575 65.8317516,2 64.1748973,2 L5,2 Z\"\n })), /*#__PURE__*/React.createElement(\"rect\", {\n id: \"Rectangle-8\",\n fill: \"#E6E6E6\",\n x: 7.81637258,\n y: 25.2934592,\n width: 53.1513336,\n height: 4.0795902,\n rx: 2.0397951\n }), /*#__PURE__*/React.createElement(\"rect\", {\n id: \"Rectangle-8-Copy\",\n fill: \"#E6E6E6\",\n x: 7.81637258,\n y: 35.9003937,\n width: 53.1513336,\n height: 4.0795902,\n rx: 2.0397951\n }), /*#__PURE__*/React.createElement(\"rect\", {\n id: \"Rectangle-8-Copy-2\",\n fill: \"#E6E6E6\",\n x: 7.81637258,\n y: 46.5073282,\n width: 53.1513336,\n height: 4.0795902,\n rx: 2.0397951\n }), /*#__PURE__*/React.createElement(\"rect\", {\n id: \"Rectangle-8-Copy-3\",\n fill: \"#E6E6E6\",\n x: 7.81637258,\n y: 57.1142627,\n width: 29.7022158,\n height: 4.0795902,\n rx: 2.0397951\n }), /*#__PURE__*/React.createElement(\"rect\", {\n id: \"Rectangle-8-Copy-5\",\n fill: \"#E6E6E6\",\n x: 7.81637258,\n y: 84.039558,\n width: 14.8511079,\n height: 4.0795902,\n rx: 2.0397951\n }), /*#__PURE__*/React.createElement(\"rect\", {\n id: \"Rectangle-8-Copy-8\",\n fill: \"#E6E6E6\",\n x: 39.0818629,\n y: 84.039558,\n width: 21.8858432,\n height: 4.0795902,\n rx: 2.0397951\n }), /*#__PURE__*/React.createElement(\"rect\", {\n id: \"Rectangle-8-Copy-7\",\n fill: \"#E6E6E6\",\n x: 48.46151,\n y: 13.8706067,\n width: 12.5061961,\n height: 4.0795902,\n rx: 2.0397951\n }), /*#__PURE__*/React.createElement(\"rect\", {\n id: \"Rectangle-8-Copy-6\",\n fill: \"#E6E6E6\",\n x: 7.81637258,\n y: 13.8706067,\n width: 34.3920394,\n height: 4.0795902,\n rx: 2.0397951\n })), /*#__PURE__*/React.createElement(\"g\", {\n id: \"Group\",\n transform: \"translate(57.000000, 37.000000)\"\n }, /*#__PURE__*/React.createElement(\"g\", {\n id: \"Rectangle-5\"\n }, /*#__PURE__*/React.createElement(\"use\", {\n fill: \"#FFFFFF\",\n fillRule: \"evenodd\",\n xlinkHref: \"#path-3\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n stroke: \"#00A3E0\",\n strokeWidth: 4,\n d: \"M5,2 C3.34314575,2 2,3.34314575 2,5 L2,119.468372 C2,121.125226 3.34314575,122.468372 5,122.468372 L86.7954244,122.468372 C88.4522787,122.468372 89.7954244,121.125226 89.7954244,119.468372 L89.7954244,30.7829265 C89.7954244,29.678357 88.8999939,28.7829265 87.7954244,28.7829265 L66.7896562,28.7829265 C62.9236629,28.7829265 59.7896562,25.6489197 59.7896562,21.7829265 L59.7896562,4 C59.7896562,2.8954305 58.8942257,2 57.7896562,2 L5,2 Z\"\n })), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M59,2 L90,30\",\n id: \"Line\",\n stroke: \"#00A3E0\",\n strokeWidth: 4,\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n }), /*#__PURE__*/React.createElement(\"rect\", {\n id: \"Rectangle-8-Copy-4\",\n fill: \"#E6E6E6\",\n x: 11,\n y: 39,\n width: 71,\n height: 5,\n rx: 2.5\n }), /*#__PURE__*/React.createElement(\"rect\", {\n id: \"Rectangle-8-Copy-9\",\n fill: \"#E6E6E6\",\n x: 11,\n y: 52,\n width: 71,\n height: 5,\n rx: 2.5\n }), /*#__PURE__*/React.createElement(\"rect\", {\n id: \"Rectangle-8-Copy-10\",\n fill: \"#E6E6E6\",\n x: 11,\n y: 65,\n width: 71,\n height: 5,\n rx: 2.5\n }), /*#__PURE__*/React.createElement(\"rect\", {\n id: \"Rectangle-8-Copy-11\",\n fill: \"#E6E6E6\",\n x: 11,\n y: 81,\n width: 49,\n height: 5,\n rx: 2.5\n }), /*#__PURE__*/React.createElement(\"rect\", {\n id: \"Rectangle-8-Copy-12\",\n fill: \"#E6E6E6\",\n x: 11,\n y: 110,\n width: 21,\n height: 5,\n rx: 2.5\n }), /*#__PURE__*/React.createElement(\"rect\", {\n id: \"Rectangle-8-Copy-13\",\n fill: \"#E6E6E6\",\n x: 51,\n y: 110,\n width: 31,\n height: 5,\n rx: 2.5\n }), /*#__PURE__*/React.createElement(\"rect\", {\n id: \"Rectangle-8-Copy-15\",\n fill: \"#E6E6E6\",\n x: 11,\n y: 25,\n width: 44,\n height: 5,\n rx: 2.5\n }), /*#__PURE__*/React.createElement(\"rect\", {\n id: \"Rectangle-8-Copy-16\",\n fill: \"#00A3E0\",\n x: 11,\n y: 25,\n width: 14,\n height: 5,\n rx: 2.5\n }), /*#__PURE__*/React.createElement(\"rect\", {\n id: \"Rectangle-8-Copy-20\",\n fill: \"#00A3E0\",\n x: 21,\n y: 65,\n width: 14,\n height: 5,\n rx: 2.5\n }), /*#__PURE__*/React.createElement(\"rect\", {\n id: \"Rectangle-8-Copy-17\",\n fill: \"#00A3E0\",\n x: 25,\n y: 39,\n width: 31,\n height: 5,\n rx: 2.5\n }), /*#__PURE__*/React.createElement(\"rect\", {\n id: \"Rectangle-8-Copy-21\",\n fill: \"#00A3E0\",\n x: 51,\n y: 65,\n width: 21,\n height: 5,\n rx: 2.5\n }), /*#__PURE__*/React.createElement(\"rect\", {\n id: \"Rectangle-8-Copy-18\",\n fill: \"#00A3E0\",\n x: 17,\n y: 52,\n width: 31,\n height: 5,\n rx: 2.5\n }), /*#__PURE__*/React.createElement(\"rect\", {\n id: \"Rectangle-8-Copy-19\",\n fill: \"#00A3E0\",\n x: 53,\n y: 52,\n width: 11,\n height: 5,\n rx: 2.5\n }), /*#__PURE__*/React.createElement(\"rect\", {\n id: \"Rectangle-8-Copy-22\",\n fill: \"#00A3E0\",\n x: 11,\n y: 81,\n width: 12,\n height: 5,\n rx: 2.5\n }), /*#__PURE__*/React.createElement(\"rect\", {\n id: \"Rectangle-8-Copy-23\",\n fill: \"#00A3E0\",\n x: 43,\n y: 81,\n width: 8,\n height: 5,\n rx: 2.5\n }), /*#__PURE__*/React.createElement(\"rect\", {\n id: \"Rectangle-8-Copy-24\",\n fill: \"#00A3E0\",\n x: 62,\n y: 110,\n width: 16,\n height: 5,\n rx: 2.5\n })))))));\n}\nconst ForwardRef = /*#__PURE__*/React.forwardRef(SvgEmptyStateComp01);\nexport default __webpack_public_path__ + \"static/media/empty_state_comp_01.ef4812826013ffe2c036359abc458647.svg\";\nexport { ForwardRef as ReactComponent };","import React, { Component } from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { FormattedMessage } from 'react-intl';\r\n\r\nimport Confirm from 'components/shared/confirm';\r\n\r\nclass ExportCompareModal extends Component {\r\n static propTypes = {\r\n disableSubmit: PropTypes.bool,\r\n onCancel: PropTypes.func.isRequired,\r\n onSubmit: PropTypes.func.isRequired\r\n };\r\n\r\n render() {\r\n const { disableSubmit, onCancel, onSubmit } = this.props;\r\n\r\n return (\r\n }\r\n message={}\r\n cancelText={}\r\n confirmText={}\r\n />\r\n );\r\n }\r\n}\r\n\r\nexport default ExportCompareModal;\r\n","import { FormattedMessage } from 'react-intl';\r\nimport Icon from 'components/shared/icon';\r\nimport PropTypes from 'prop-types';\r\nimport React, { Component } from 'react';\r\n\r\nimport Button from 'components/shared/single-click-button';\r\nimport { getExports, deleteExport } from 'store/api';\r\n\r\nimport Progress from 'components/shared/export/export-sidebar-progress';\r\nimport socket, { rooms } from 'utils/socket';\r\n\r\nexport default class ExportSidebar extends Component {\r\n static propTypes = {\r\n currentUser: PropTypes.object.isRequired,\r\n exportType: PropTypes.string.isRequired,\r\n onCloseClick: PropTypes.func.isRequired,\r\n projectId: PropTypes.string.isRequired,\r\n aboutArgus: PropTypes.object\r\n };\r\n\r\n state = {\r\n isLoading: false,\r\n exports: []\r\n };\r\n\r\n componentDidMount() {\r\n const { currentUser, projectId } = this.props;\r\n\r\n this.getExports();\r\n\r\n // Join the exports room on the socket connection\r\n if (currentUser.isLoaded) {\r\n socket.join(rooms.exports(projectId, currentUser.userId));\r\n }\r\n // Subscribe to export updates from the socket connection\r\n socket.on('export.update', this.onExportUpdate);\r\n }\r\n\r\n componentDidUpdate(prevProps) {\r\n // If the current user changes, join a new room on the socket connection\r\n if (this.props.currentUser.isLoaded) {\r\n const prevRoom = rooms.exports(prevProps.projectId, prevProps.currentUser.userId);\r\n const currRoom = rooms.exports(this.props.projectId, this.props.currentUser.userId);\r\n if (prevRoom !== currRoom) {\r\n socket.leave(prevRoom);\r\n socket.join(currRoom);\r\n }\r\n }\r\n }\r\n\r\n componentWillUnmount() {\r\n const { currentUser, projectId } = this.props;\r\n socket.off('export.update', this.onExportUpdate);\r\n socket.leave(rooms.exports(projectId, currentUser.userId));\r\n }\r\n\r\n deleteExport = exportId => {\r\n const { projectId } = this.props;\r\n // Optimistically delete\r\n this.setState({\r\n exports: this.state.exports.filter(item => item.exportDetailID !== exportId)\r\n });\r\n deleteExport({ projectId, exportId })\r\n // Re fetch on error\r\n .catch(this.getExports);\r\n };\r\n\r\n getExports = () => {\r\n const { exportType, projectId } = this.props;\r\n this.setState({ isLoading: true });\r\n getExports({ projectId, exportType: exportType })\r\n .then(result => {\r\n this.setState({\r\n exports: result.data,\r\n isLoading: false\r\n });\r\n })\r\n .catch(() => {\r\n this.setState({\r\n isLoading: false\r\n });\r\n });\r\n };\r\n\r\n onExportUpdate = event => {\r\n const { exportDetailId, exportStateId } = event.data;\r\n\r\n if (!exportDetailId || !exportStateId) {\r\n return;\r\n }\r\n\r\n const updatedExports = this.state.exports.map(item => {\r\n if (item.exportDetailID === exportDetailId) {\r\n item.exportStateId = exportStateId;\r\n }\r\n return item;\r\n });\r\n\r\n this.setState({\r\n exports: updatedExports\r\n });\r\n };\r\n\r\n render() {\r\n const { onCloseClick, projectId, aboutArgus } = this.props;\r\n const { exports, isLoading } = this.state;\r\n\r\n return (\r\n
\r\n
\r\n

\r\n \r\n

\r\n \r\n
\r\n
\r\n {isLoading ? (\r\n \r\n ) : (\r\n \r\n )}\r\n
\r\n
\r\n );\r\n }\r\n}\r\n","import { connect } from 'react-redux';\r\n\r\nimport ExportSidebar from 'components/shared/export/export-sidebar';\r\n\r\nconst mapStateToProps = ({ data: { currentUser, aboutArgus } }) => ({\r\n currentUser,\r\n aboutArgus\r\n});\r\n\r\nexport default connect(mapStateToProps, null)(ExportSidebar);\r\n","import { FormattedMessage } from 'react-intl';\r\nimport moment from 'moment';\r\nimport PropTypes from 'prop-types';\r\nimport React, { Component } from 'react';\r\nimport ReactTooltip from 'react-tooltip';\r\nimport classNames from 'classnames';\r\n\r\nimport { COMPARISON_STATUSES } from 'models/comparison-sets';\r\nimport * as api from 'store/api';\r\nimport AddToCompareSidebarContainer from 'containers/shared/add-to-compare-sidebar-container';\r\nimport Button from 'components/shared/single-click-button';\r\nimport Checkbox from 'components/shared/form/checkbox';\r\nimport CompareItem from './compare-item';\r\nimport CreateCompareSidebarContainer from 'containers/shared/create-compare-sidebar-container';\r\nimport DeleteModal from 'components/shared/delete-modal/delete-modal';\r\nimport EmptyState from 'components/file-browser/file-list/empty-state';\r\nimport emptyStateImage from 'images/empty_state_comp_01.svg';\r\nimport ExportCompareModal from 'components/compare-browser/export-compare-modal';\r\nimport ExportSidebarContainer from 'containers/shared/export-sidebar-container';\r\nimport Icon from 'components/shared/icon';\r\nimport Modal from 'components/shared/modal';\r\nimport Pagination from 'components/shared/pagination/pagination';\r\nimport Sorting from 'components/shared/sorting/sorting';\r\nimport dateUtil from 'utils/dateUtil';\r\nimport { addNotification } from 'store/notifications.js';\r\nimport store from 'store/store';\r\n\r\nimport Permissions from 'permissions/permissions';\r\n\r\nconst COMPARE_TABS = {\r\n DOCUMENTS: 'document',\r\n EXTRACTION_FIELDS: 'extractionfield'\r\n};\r\n\r\nexport default class CompareBrowser extends Component {\r\n static propTypes = {\r\n compareType: PropTypes.string.isRequired,\r\n comparisonSets: PropTypes.object.isRequired,\r\n currentProject: PropTypes.object.isRequired,\r\n loadComparisonSets: PropTypes.func.isRequired,\r\n location: PropTypes.object,\r\n projectId: PropTypes.string.isRequired,\r\n setCompareType: PropTypes.func.isRequired\r\n };\r\n\r\n state = {\r\n isAddToCompareSidebarShown: false,\r\n isCreateCompareSidebarShown: false,\r\n isDeleteModalShown: false,\r\n isExportModalShown: false,\r\n isExportProcessing: false,\r\n isExportSidebarShown: false,\r\n isLoading: false,\r\n selectedCompares: new Set(),\r\n sorting: {\r\n key: 'name',\r\n ascending: true\r\n },\r\n filtering: {\r\n key: undefined,\r\n ids: undefined,\r\n tagOptions: []\r\n },\r\n search: {\r\n key: undefined,\r\n query: undefined\r\n },\r\n isFiltering: false\r\n };\r\n\r\n componentDidMount() {\r\n const { loadComparisonSets, projectId, compareType } = this.props;\r\n\r\n loadComparisonSets({\r\n projectId,\r\n pageNum: 1,\r\n compareType: compareType\r\n });\r\n }\r\n\r\n /////////////////////// SORTING FILTERING FUNCTIONS START ///////////////////////\r\n\r\n reloadCurrentFolder() {\r\n var { loadComparisonSets, projectId, compareType } = this.props;\r\n var { filtering, sorting, search } = this.state;\r\n\r\n var folderOptions = {\r\n projectId,\r\n pageNum: 1,\r\n compareType: compareType\r\n };\r\n\r\n if (sorting && sorting.key) {\r\n folderOptions.sortBy = sorting.key;\r\n folderOptions.sortOrder = sorting.ascending ? 'ascending' : 'descending';\r\n }\r\n\r\n if (filtering && filtering.key) {\r\n folderOptions.filterBy = filtering.key;\r\n folderOptions.filterIds = filtering.ids;\r\n }\r\n\r\n if (search && search.key) {\r\n folderOptions.filterBy = search.key;\r\n folderOptions.filterString = search.query;\r\n }\r\n\r\n this.setState({ selectedCompares: new Set() });\r\n\r\n loadComparisonSets(folderOptions);\r\n }\r\n\r\n setSorting = (key, ascending) => {\r\n var { sorting } = this.state;\r\n sorting.key = key;\r\n sorting.ascending = ascending;\r\n this.setState({ sorting: sorting }, this.reloadCurrentFolder());\r\n };\r\n\r\n setSearch = (key, query) => {\r\n var { filtering, search } = this.state;\r\n filtering.key = undefined;\r\n filtering.ids = undefined;\r\n search.key = query.length > 0 ? key : undefined;\r\n search.query = query.length > 0 ? query : undefined;\r\n this.setState({ filtering: filtering, search: search, isFiltering: true }, this.reloadCurrentFolder());\r\n };\r\n\r\n setFiltering = (key, ids) => {\r\n var { filtering, search } = this.state;\r\n filtering.key = ids.length > 0 ? key : undefined;\r\n filtering.ids = ids.length > 0 ? ids : undefined;\r\n search.key = undefined;\r\n search.query = undefined;\r\n this.setState({ filtering: filtering, search: search, isFiltering: true }, this.reloadCurrentFolder());\r\n };\r\n /////////////////////// SORTING FILTERING FUNCTIONS END ///////////////////////\r\n\r\n onNewCompareClick = () => {\r\n this.setState({ isCreateCompareSidebarShown: true });\r\n };\r\n\r\n onCloseNewCompareClick = () => {\r\n this.setState({ isCreateCompareSidebarShown: false });\r\n };\r\n\r\n onSubmitNewCompareClick = ({ comparisonName, baseDocument, selectedFiles }) => {\r\n const { loadComparisonSets, projectId, comparisonSets } = this.props;\r\n const pageNum = comparisonSets.pageInfo ? comparisonSets.pageInfo.pageNumber : 1;\r\n\r\n this.setState({ isCreateCompareSidebarShown: false });\r\n\r\n api\r\n .createComparison({\r\n baseEntityId: baseDocument.projectItemId,\r\n comparisonName,\r\n documentIds: selectedFiles\r\n .map(document => document.projectItemId)\r\n .filter(projectItemId => projectItemId !== baseDocument.projectItemId),\r\n projectId\r\n })\r\n .then(response => {\r\n if (response.data.processingEntitiesCount) {\r\n store.dispatch(\r\n addNotification({\r\n message: ,\r\n clearOnPageChange: true,\r\n autohide: 10\r\n })\r\n );\r\n }\r\n loadComparisonSets({ projectId, pageNum });\r\n });\r\n };\r\n\r\n onAddToCompareClick = () => {\r\n this.setState({ isAddToCompareSidebarShown: true });\r\n };\r\n\r\n onCloseAddToCompareClick = () => {\r\n this.setState({ isAddToCompareSidebarShown: false });\r\n };\r\n\r\n onSubmitAddToCompareClick = selectedItems => {\r\n const { comparisonSets } = this.props;\r\n const pageNum = comparisonSets.pageInfo ? comparisonSets.pageInfo.pageNumber : 1;\r\n\r\n this.setState({ isAddToCompareSidebarShown: false });\r\n\r\n const selectedCompareId = Array.from(this.state.selectedCompares)[0];\r\n const comparison = this.props.comparisonSets.comparisons.find(c => c.comparisonId === selectedCompareId);\r\n\r\n api.updateComparison({ projectId: this.props.projectId, comparison, comparedDocuments: selectedItems }).then(() => {\r\n this.props.loadComparisonSets({ projectId: this.props.projectId, pageNum });\r\n });\r\n };\r\n\r\n onDeleteClick = () => {\r\n this.setState({ isDeleteModalShown: true });\r\n };\r\n\r\n cancelDeleteModal = () => {\r\n this.setState({ isDeleteModalShown: false });\r\n };\r\n\r\n submitDeleteModal = () => {\r\n const { comparisonSets, compareType } = this.props;\r\n const pageNum = comparisonSets.pageInfo.pageNumber;\r\n\r\n this.setState({ isDeleteModalShown: false, selectedCompares: new Set() });\r\n\r\n Promise.all(\r\n Array.from(this.state.selectedCompares).map(compareId =>\r\n api.deleteComparisonSet({ projectId: this.props.projectId, compareId, compareType })\r\n )\r\n ).then(() => this.props.loadComparisonSets({ projectId: this.props.projectId, pageNum, compareType }));\r\n };\r\n\r\n cancelExportModal = () => {\r\n this.setState({ isExportModalShown: false });\r\n };\r\n\r\n submitExportModal = () => {\r\n const { projectId, currentProject } = this.props;\r\n\r\n const currentDate = moment();\r\n\r\n this.setState({ isExportProcessing: true });\r\n\r\n api\r\n .createExport({\r\n projectId,\r\n exportOptions: {\r\n exportType: 2,\r\n exportFileName: `${currentProject.projectName}_comparisons_${dateUtil.formatTimestamp(currentDate)}`,\r\n comparisons: this.getSelectedCompletedComparisons().map(comparison => ({\r\n comparisonId: comparison.comparisonId\r\n }))\r\n }\r\n })\r\n .then(() => {\r\n this.setState({\r\n isExportModalShown: false,\r\n isExportSidebarShown: true,\r\n isExportProcessing: false\r\n });\r\n })\r\n .catch(() => {\r\n this.setState({\r\n isExportModalShown: false,\r\n isExportProcessing: false\r\n });\r\n });\r\n };\r\n\r\n onExportClick = () => {\r\n const { selectedCompares } = this.state;\r\n if (selectedCompares.size) {\r\n this.setState({ isExportModalShown: true });\r\n } else {\r\n this.setState({ isExportSidebarShown: true });\r\n }\r\n };\r\n\r\n closeExportSidebar = () => {\r\n this.setState({ isExportSidebarShown: false });\r\n };\r\n\r\n onSelectedCompareChange = compareSet => {\r\n const id = compareSet.comparisonId;\r\n\r\n if (this.state.selectedCompares.has(id)) {\r\n this.state.selectedCompares.delete(id);\r\n } else {\r\n this.state.selectedCompares.add(id);\r\n }\r\n\r\n this.setState({ selectedCompares: this.state.selectedCompares });\r\n };\r\n\r\n onCheckAllChange = () => {\r\n if (this.state.selectedCompares.size === this.props.comparisonSets.comparisons.length) {\r\n this.setState({ selectedCompares: new Set() });\r\n } else {\r\n const allIds = this.props.comparisonSets.comparisons.map(c => c.comparisonId);\r\n this.setState({ selectedCompares: new Set(allIds) });\r\n }\r\n };\r\n\r\n goToPage = pageNum => {\r\n const { loadComparisonSets, projectId, compareType } = this.props;\r\n loadComparisonSets({ projectId, pageNum, compareType: compareType }).then(() => {\r\n this.setState({ selectedCompares: new Set() });\r\n });\r\n };\r\n\r\n getSelectedCompletedComparisons = () => {\r\n const { comparisonSets } = this.props;\r\n const { selectedCompares } = this.state;\r\n\r\n if (!comparisonSets.comparisons) {\r\n return [];\r\n }\r\n\r\n return comparisonSets.comparisons.filter(\r\n comparison =>\r\n comparison.comparisonStateId === COMPARISON_STATUSES.COMPLETED && selectedCompares.has(comparison.comparisonId)\r\n );\r\n };\r\n\r\n doesSelectedSetContainError = () => {\r\n const { comparisonSets } = this.props;\r\n const { selectedCompares } = this.state;\r\n\r\n if (!comparisonSets || selectedCompares.size === 0) return false;\r\n\r\n return comparisonSets.comparisons\r\n .filter(comparison => selectedCompares.has(comparison.comparisonId))\r\n .some(comparison => comparison.comparisonStateId === COMPARISON_STATUSES.ERROR);\r\n };\r\n\r\n onDocumentTabClick = () => {\r\n const { loadComparisonSets, projectId, setCompareType } = this.props;\r\n const resetFilter = {\r\n key: undefined,\r\n ids: undefined,\r\n tagOptions: []\r\n };\r\n setCompareType(COMPARE_TABS.DOCUMENTS);\r\n this.setState({ isLoading: true });\r\n loadComparisonSets({\r\n projectId,\r\n pageNum: 1,\r\n compareType: COMPARE_TABS.DOCUMENTS\r\n }).then(response =>\r\n this.setState({ isLoading: false, selectedCompares: new Set(), isFiltering: false, filtering: resetFilter })\r\n );\r\n };\r\n\r\n onExtractionFieldTabClick = () => {\r\n const { loadComparisonSets, projectId, setCompareType } = this.props;\r\n const resetFilter = {\r\n key: undefined,\r\n ids: undefined,\r\n tagOptions: []\r\n };\r\n setCompareType(COMPARE_TABS.EXTRACTION_FIELDS);\r\n this.setState({ isLoading: true });\r\n loadComparisonSets({\r\n projectId,\r\n pageNum: 1,\r\n compareType: COMPARE_TABS.EXTRACTION_FIELDS\r\n }).then(response =>\r\n this.setState({ isLoading: false, selectedCompares: new Set(), isFiltering: false, filtering: resetFilter })\r\n );\r\n };\r\n\r\n render() {\r\n const { compareType, comparisonSets, currentProject, projectId } = this.props;\r\n const {\r\n filtering,\r\n isAddToCompareSidebarShown,\r\n isCreateCompareSidebarShown,\r\n isDeleteModalShown,\r\n isExportModalShown,\r\n isExportProcessing,\r\n isExportSidebarShown,\r\n isFiltering,\r\n isLoading,\r\n search,\r\n selectedCompares,\r\n sorting\r\n } = this.state;\r\n const readOnly = currentProject.STATES.ReadOnly();\r\n\r\n let allSelectedStatus;\r\n\r\n if (comparisonSets.comparisons) {\r\n if (comparisonSets.length !== 0 && comparisonSets.comparisons.length === selectedCompares.size) {\r\n allSelectedStatus = 'checked';\r\n } else if (selectedCompares.size === 0) {\r\n allSelectedStatus = 'unchecked';\r\n } else {\r\n allSelectedStatus = 'indeterminate';\r\n }\r\n }\r\n const errorSelected = this.doesSelectedSetContainError();\r\n\r\n if (!comparisonSets.comparisons || !currentProject.isLoaded) {\r\n return (\r\n
\r\n
\r\n \r\n
\r\n
\r\n );\r\n }\r\n\r\n return (\r\n
\r\n
\r\n
\r\n

\r\n \r\n

\r\n
{currentProject.projectName}
\r\n
\r\n\r\n
\r\n {Permissions.Project.Comparison.canEdit() &&\r\n compareType === COMPARE_TABS.DOCUMENTS &&\r\n !readOnly &&\r\n selectedCompares.size === 1 &&\r\n !errorSelected ? (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n ) : null}\r\n\r\n {Permissions.Project.Comparison.canExport() && compareType === COMPARE_TABS.DOCUMENTS ? (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n ) : null}\r\n\r\n {Permissions.Project.Comparison.canDelete() && !readOnly && selectedCompares.size > 0 ? (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n ) : null}\r\n
\r\n\r\n {Permissions.Project.Comparison.canCreate() && !readOnly && compareType === COMPARE_TABS.DOCUMENTS ? (\r\n
\r\n \r\n
\r\n ) : null}\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n {!isLoading && comparisonSets.comparisons && comparisonSets.comparisons.length === 0 && !isFiltering ? (\r\n
\r\n \r\n {description => (\r\n }\r\n description={description}\r\n img={emptyStateImage}\r\n />\r\n )}\r\n \r\n
\r\n ) : (\r\n
\r\n {isLoading ? (\r\n
\r\n \r\n
\r\n ) : (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {comparisonSets.comparisons.map((comp, index) => {\r\n return (\r\n \r\n );\r\n })}\r\n \r\n
\r\n \r\n \r\n {compareType === COMPARE_TABS.DOCUMENTS && (\r\n \r\n )}\r\n {compareType === COMPARE_TABS.EXTRACTION_FIELDS && (\r\n \r\n )}\r\n\r\n this.setSearch('name', query)}\r\n searchQuery={search.key === 'name' ? search.query : undefined}\r\n sortFunction={ascending => this.setSorting('name', ascending)}\r\n sortDirection={sorting.key === 'name' ? sorting.ascending : undefined}\r\n />\r\n \r\n \r\n this.setSorting('basename', ascending)}\r\n sortDirection={sorting.key === 'basename' ? sorting.ascending : undefined}\r\n filterFunction={ids => this.setFiltering('basename', ids)}\r\n getFilterOptions={() => {\r\n return api.getComparisonSetFilterBaseDocumentOptions({\r\n projectId: projectId,\r\n compareType: compareType\r\n });\r\n }}\r\n filters={filtering.key === 'basename' ? filtering.ids : undefined}\r\n />\r\n \r\n {' '}\r\n \r\n \r\n \r\n \r\n {compareType === COMPARE_TABS.DOCUMENTS && (\r\n \r\n )}\r\n {compareType === COMPARE_TABS.EXTRACTION_FIELDS && (\r\n \r\n )}\r\n
\r\n )}\r\n
\r\n )}\r\n {!isLoading && !!comparisonSets.pageInfo && (\r\n
\r\n this.goToPage(pageNum)}\r\n pagination={{\r\n pageNumber: comparisonSets.pageInfo.pageNumber,\r\n pageSize: comparisonSets.pageInfo.pageSize,\r\n totalPageCount: comparisonSets.pageInfo.totalPageCount,\r\n totalRecordCount: comparisonSets.pageInfo.totalRecordCount\r\n }}\r\n />\r\n
\r\n )}\r\n
\r\n\r\n {isDeleteModalShown && (\r\n \r\n \r\n \r\n )}\r\n {isExportModalShown && (\r\n \r\n )}\r\n {isCreateCompareSidebarShown && (\r\n \r\n )}\r\n {isAddToCompareSidebarShown && (\r\n \r\n )}\r\n {isExportSidebarShown && (\r\n \r\n )}\r\n
\r\n );\r\n }\r\n}\r\n","import { connect } from 'react-redux';\r\n\r\nimport { loadComparisonSets } from 'store/comparison-sets';\r\nimport { setCompareType } from 'store/compare-type';\r\nimport CompareBrowser from 'components/compare-browser/compare-browser';\r\n\r\nconst mapStateToProps = ({ data: { comparisonSets, currentProject }, ui: { compareType } }) => ({\r\n compareType,\r\n comparisonSets,\r\n currentProject\r\n});\r\n\r\nconst mapDispatchToProps = {\r\n loadComparisonSets,\r\n setCompareType\r\n};\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(CompareBrowser);\r\n","import React, { Component } from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport Icon from 'components/shared/icon';\r\nimport { FormattedMessage } from 'react-intl';\r\nimport Button from 'components/shared/single-click-button';\r\n\r\nclass NotificationItem extends Component {\r\n static propTypes = {\r\n deleteNotification: PropTypes.func.isRequired,\r\n notification: PropTypes.object.isRequired\r\n };\r\n\r\n deleteSelf = () => {\r\n const { deleteNotification, notification } = this.props;\r\n deleteNotification(notification);\r\n };\r\n\r\n render() {\r\n const { notification } = this.props;\r\n\r\n return (\r\n
\r\n
\r\n {notification.intlKey ? (\r\n \r\n ) : (\r\n notification.message\r\n )}\r\n
\r\n \r\n
\r\n );\r\n }\r\n}\r\n\r\nclass Notifications extends Component {\r\n static propTypes = {\r\n deleteNotification: PropTypes.func.isRequired,\r\n notifications: PropTypes.array.isRequired,\r\n subscribeToGlobalErrors: PropTypes.func.isRequired,\r\n unSubscribeToGlobalErrors: PropTypes.func.isRequired\r\n };\r\n\r\n componentDidMount() {\r\n const { subscribeToGlobalErrors } = this.props;\r\n subscribeToGlobalErrors();\r\n }\r\n\r\n componentWillUnmount() {\r\n const { unSubscribeToGlobalErrors } = this.props;\r\n unSubscribeToGlobalErrors();\r\n }\r\n\r\n render() {\r\n const { deleteNotification, notifications } = this.props;\r\n\r\n return (\r\n
\r\n {notifications.reverse().map((notification, i) => (\r\n \r\n ))}\r\n
\r\n );\r\n }\r\n}\r\n\r\nexport default Notifications;\r\n","import { connect } from 'react-redux';\r\n\r\nimport { deleteNotification, subscribeToGlobalErrors, unSubscribeToGlobalErrors } from 'store/notifications';\r\nimport Notifications from 'components/shared/notifications';\r\n\r\nconst mapStateToProps = ({ ui: { notifications } }) => ({\r\n notifications\r\n});\r\n\r\nconst mapDispatchToProps = {\r\n deleteNotification,\r\n subscribeToGlobalErrors,\r\n unSubscribeToGlobalErrors\r\n};\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(Notifications);\r\n","import PropTypes from 'prop-types';\r\nimport React, { Component } from 'react';\r\nimport ReactTooltip from 'react-tooltip';\r\nimport Header from 'containers/header/header';\r\nimport CompareBrowserContainer from 'containers/compare-browser/compare-browser-container';\r\nimport NotificationsContainer from 'containers/shared/notifications-container';\r\n\r\nimport Permissions from 'permissions/permissions';\r\nimport history from 'utils/history';\r\n\r\nclass CompareBrowserPage extends Component {\r\n static propTypes = {\r\n match: PropTypes.object.isRequired\r\n };\r\n\r\n UNSAFE_componentWillMount() {\r\n if (!Permissions.Project.Comparison.canView()) {\r\n history.push('/');\r\n }\r\n }\r\n\r\n render() {\r\n return (\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n );\r\n }\r\n}\r\n\r\nexport default CompareBrowserPage;\r\n","import { Button as MenuButton, Menu, MenuItem, Wrapper as MenuWrapper } from 'react-aria-menubutton';\r\nimport Button from 'components/shared/single-click-button';\r\nimport { FormattedMessage, injectIntl, intlShape } from 'react-intl';\r\nimport { getCurrentRegion } from 'store/api';\r\nimport { Link } from 'react-router-dom';\r\nimport PropTypes from 'prop-types';\r\nimport React, { Component } from 'react';\r\nimport ReactTooltip from 'react-tooltip';\r\nimport moment from 'moment';\r\n\r\nimport * as api from 'store/api';\r\nimport Header from 'containers/header/header';\r\nimport AddToCompareSidebarContainer from 'containers/shared/add-to-compare-sidebar-container';\r\nimport ExportCompareModal from 'components/compare-browser/export-compare-modal';\r\nimport ExportSidebarContainer from 'containers/shared/export-sidebar-container';\r\nimport Icon from 'components/shared/icon';\r\nimport socket, { rooms } from 'utils/socket';\r\nimport { withRouter } from 'react-router';\r\nimport { addNotification } from 'store/notifications.js';\r\nimport store from 'store/store';\r\nimport dateUtil from 'utils/dateUtil';\r\nimport { COMPARISON_STATUSES } from 'models/comparison-sets';\r\n\r\nimport Permissions from 'permissions/permissions';\r\n\r\nconst COMPARE_TYPES = {\r\n DOCUMENTS: 'document',\r\n EXTRACTION_FIELDS: 'extractionfield'\r\n};\r\n\r\nclass Compare extends Component {\r\n static propTypes = {\r\n activeComparisonSet: PropTypes.object,\r\n compareId: PropTypes.string.isRequired,\r\n compareType: PropTypes.string.isRequired,\r\n comparisonSets: PropTypes.object.isRequired,\r\n currentProject: PropTypes.object.isRequired,\r\n documentId: PropTypes.string,\r\n history: PropTypes.object,\r\n intl: intlShape.isRequired,\r\n loadActiveComparisonSet: PropTypes.func.isRequired,\r\n loadComparisonSets: PropTypes.func.isRequired,\r\n projectId: PropTypes.string.isRequired,\r\n search: PropTypes.object\r\n };\r\n\r\n constructor(props) {\r\n super(props);\r\n\r\n this.counter = 0;\r\n this.highlight = {};\r\n this.state = {\r\n filteredDocIdSet: null,\r\n isAddToCompareSidebarShown: false,\r\n searchResults: { emphasis: 0, data: [], query: '' },\r\n isExportModalShown: false,\r\n isExportProcessing: false,\r\n isExportSidebarShown: false,\r\n reprocessingCompare: false,\r\n selectedChange: null\r\n };\r\n }\r\n\r\n componentDidMount() {\r\n const { loadActiveComparisonSet, loadComparisonSets, projectId, compareId, documentId, compareType } = this.props;\r\n\r\n if (compareType === COMPARE_TYPES.DOCUMENTS) {\r\n socket.join(rooms.comparisons(projectId));\r\n socket.join(rooms.comparison(projectId, compareId));\r\n socket.on('document.comparison.update', this.handleComparisonUpdate);\r\n socket.on('document.comparisons.removed', this.handleComparisonDocumentRemoved);\r\n } else {\r\n socket.join(rooms.extractionFieldComparisons(projectId));\r\n socket.join(rooms.extractionFieldComparison(projectId, compareId));\r\n socket.on('extractionfield.comparison.update', this.handleComparisonUpdate);\r\n socket.on('extractionfield.comparisons.record.removed', this.handleComparisonDocumentRemoved);\r\n }\r\n socket.on('comparisons.removed', this.handleComparisonDeleted);\r\n\r\n loadActiveComparisonSet({ projectId, compareId, compareType });\r\n loadComparisonSets({ projectId, compareType });\r\n if (documentId) {\r\n this.loadCompareDocument(documentId);\r\n }\r\n }\r\n\r\n componentWillUnmount() {\r\n const { compareId, projectId } = this.props;\r\n socket.leave(rooms.comparisons(projectId));\r\n socket.leave(rooms.comparison(projectId, compareId));\r\n socket.off('comparisons.removed', this.handleComparisonDeleted);\r\n socket.off('document.comparisons.removed', this.handleComparisonDocumentRemoved);\r\n }\r\n\r\n UNSAFE_componentWillReceiveProps(newProps) {\r\n if (this.props.documentId !== newProps.documentId) {\r\n if (newProps.documentId) {\r\n this.loadCompareDocument(newProps.documentId);\r\n } else {\r\n this.setState({ compareDocument: undefined });\r\n }\r\n }\r\n\r\n if (this.props.compareId !== newProps.compareId) {\r\n newProps.loadActiveComparisonSet({\r\n projectId: newProps.projectId,\r\n compareId: newProps.compareId,\r\n compareType: this.props.compareType\r\n });\r\n socket.leave(rooms.comparison(newProps.projectId, this.props.compareId));\r\n socket.join(rooms.comparison(newProps.projectId, newProps.compareId));\r\n }\r\n\r\n if (newProps.activeComparisonSet.error) {\r\n this.props.history.push(`/region/${getCurrentRegion()}/project/${newProps.projectId}/compare`);\r\n }\r\n }\r\n\r\n shouldComponentUpdate(nextProps, nextState) {\r\n if (nextProps.search !== this.props.search) {\r\n return false;\r\n }\r\n return true;\r\n }\r\n\r\n loadCompareDocument(documentId) {\r\n const { compareId, projectId, compareType } = this.props;\r\n\r\n api.getComparisonDocument({ compareId, documentId, projectId, compareType }).then(response => {\r\n this.setState({ compareDocument: response.data });\r\n });\r\n }\r\n\r\n isInvalidEvent = msg => {\r\n const { projectId, compareId, compareType } = this.props;\r\n\r\n if (compareType === COMPARE_TYPES.DOCUMENTS) {\r\n return msg.room !== rooms.comparison(projectId, compareId);\r\n } else {\r\n return msg.room !== rooms.extractionFieldComparison(projectId, compareId);\r\n }\r\n };\r\n\r\n handleComparisonDocumentRemoved = msg => {\r\n const { history, projectId, compareId, documentId, intl } = this.props;\r\n\r\n // If the event is not referencing the current comparison-set, ignore it\r\n if (this.isInvalidEvent(msg)) {\r\n return;\r\n }\r\n\r\n // If the current document was removed\r\n if (msg.data.referenceId === parseInt(documentId, 10)) {\r\n history.push(`/region/${getCurrentRegion()}/project/${projectId}/compare/${compareId}`);\r\n }\r\n\r\n const { itemName } = msg.data;\r\n\r\n let docName = itemName.includes('#')\r\n ? `${itemName.substring(0, itemName.length - 2)} - ${intl.formatMessage({\r\n id: 'compare-comparisons-summary.record'\r\n })} ${itemName.substring(itemName.length - 1)}`\r\n : itemName;\r\n\r\n store.dispatch(\r\n addNotification({\r\n message: ,\r\n clearOnPageChange: true,\r\n autohide: 10\r\n })\r\n );\r\n };\r\n\r\n handleComparisonDeleted = msg => {\r\n const { history, projectId } = this.props;\r\n\r\n // If the event is not referencing the current comparison-set, ignore it\r\n if (msg.room !== rooms.comparisons(projectId)) {\r\n return;\r\n }\r\n\r\n history.push(`/region/${getCurrentRegion()}/project/${projectId}/compare`);\r\n\r\n store.dispatch(\r\n addNotification({\r\n message: ,\r\n clearOnPageChange: true,\r\n autohide: 10\r\n })\r\n );\r\n };\r\n\r\n handleComparisonUpdate = msg => {\r\n const { loadActiveComparisonSet, projectId, compareId, compareType } = this.props;\r\n\r\n // If the event is not referencing the current comparison-set, ignore it\r\n if (this.isInvalidEvent(msg)) {\r\n return;\r\n }\r\n\r\n if (msg.data.comparisonStateId === COMPARISON_STATUSES.IN_PROGRESS) {\r\n this.setState({ reprocessingCompare: true });\r\n } else if (\r\n msg.data.comparisonStateId === COMPARISON_STATUSES.COMPLETED &&\r\n this.state.reprocessingCompare === true\r\n ) {\r\n loadActiveComparisonSet({ projectId, compareId, compareType });\r\n this.setState({ reprocessingCompare: false });\r\n }\r\n };\r\n\r\n getCompareDocumentIndex = () => {\r\n const { documentId } = this.props;\r\n const filteredCompareDocs = this.getFilteredCompareDocs();\r\n\r\n return filteredCompareDocs.findIndex(doc => doc.referenceId === parseInt(documentId, 10));\r\n };\r\n\r\n getNextCompareDocumentId = () => {\r\n const filteredCompareDocs = this.getFilteredCompareDocs();\r\n const docIndex = (this.getCompareDocumentIndex() + 1) % filteredCompareDocs.length;\r\n\r\n return filteredCompareDocs[docIndex].referenceId;\r\n };\r\n\r\n getPrevCompareDocumentId = () => {\r\n const filteredCompareDocs = this.getFilteredCompareDocs();\r\n\r\n let docIndex = this.getCompareDocumentIndex() - 1;\r\n if (docIndex < 0) {\r\n docIndex = filteredCompareDocs.length - 1;\r\n }\r\n\r\n return filteredCompareDocs[docIndex].referenceId;\r\n };\r\n\r\n getBaseDocumentChangeType(change) {\r\n //If there are deletings and edits, return edit\r\n if (change.edits.length) {\r\n return 'edit';\r\n } else if (change.deletes.length) {\r\n return 'delete';\r\n } else if (change.adds.length) {\r\n return 'add';\r\n } else {\r\n return undefined;\r\n }\r\n }\r\n\r\n getClassnames = (changeType, section, index) => {\r\n const { selectedChange } = this.state;\r\n if (selectedChange === index) {\r\n if (changeType === 'add') {\r\n return 'compare__text-selected compare__text-selected-added';\r\n }\r\n return 'compare__text-selected';\r\n }\r\n return changeType\r\n ? `compare__base-text-${changeType} compare__change-intensity-${this.getChangeIntensity(section)}`\r\n : '';\r\n };\r\n\r\n getBaseDocumentContent = baseDocument => {\r\n return baseDocument.map((section, index) => {\r\n const changeType = this.getBaseDocumentChangeType(section.changes);\r\n const context = section.contextualData.replace(/\\r\\n/g, '\\r\\n\\n');\r\n\r\n if (changeType) {\r\n const lines = context.replace(/\\r/g, '').split(/\\n/);\r\n\r\n //Return back str if i is not the last index in arr\r\n let strIfNotLast = function(str, arr, i) {\r\n return i !== arr.length - 1 ? str : '';\r\n };\r\n\r\n return lines.map((line, lineI) => {\r\n const words = line.split(/\\s+/);\r\n const classNames = this.getClassnames(changeType, section, index);\r\n\r\n return (\r\n \r\n {words.map((word, wordI) => (\r\n {\r\n e.stopPropagation();\r\n this.filterDocumentsOnChange(section.changes);\r\n this.setState({ selectedChange: index });\r\n }}\r\n data-tip={this.getSectionHoverText(section)}\r\n key={`${index}-${lineI}-${wordI}`}\r\n >\r\n {changeType === 'add' ? (\r\n +\r\n ) : (\r\n this.getSearchHighlights(\r\n index,\r\n word + strIfNotLast(' ', words, wordI),\r\n this.state.searchResults.query,\r\n classNames\r\n )\r\n )}\r\n \r\n ))}\r\n {strIfNotLast('\\n', lines, lineI)}\r\n \r\n );\r\n });\r\n } else {\r\n return this.getSearchHighlights(index, context, this.state.searchResults.query, index);\r\n }\r\n });\r\n };\r\n\r\n getCompareDocument = compareDocument => {\r\n return compareDocument.map((section, index) => {\r\n let classNames = `\r\n ${section.changes.adds.length ? 'compare__text-add' : ''}\r\n ${section.changes.deletes.length ? 'compare__text-delete' : ''}\r\n `;\r\n const context = section.contextualData.replace(/\\r\\n/g, '\\r\\n\\n');\r\n return (\r\n {this.getSearchHighlights(index, context, this.state.searchResults.query, classNames)}\r\n );\r\n });\r\n };\r\n\r\n // Decide which words to highlight in text\r\n getSearchHighlights = (idx, text, highlight, classNames) => {\r\n const escapeRegExp = (str = '') => str.replace(/([.?*+^$[\\]\\\\(){}|-])/g, '\\\\$1');\r\n const regex = new RegExp(`(${escapeRegExp(highlight)})`, 'gi');\r\n\r\n const { searchResults } = this.state;\r\n var parts;\r\n\r\n if (highlight && highlight !== '') {\r\n parts = String(text).split(regex);\r\n } else {\r\n parts = [text];\r\n }\r\n\r\n return (\r\n \r\n {parts\r\n .filter(part => part)\r\n .map((part, i) => {\r\n if (regex.test(part) && highlight.length > 1) {\r\n this.counter++;\r\n return (\r\n (this.highlight[this.counter] = el)}\r\n id={'highlight' + this.counter}\r\n className={`compare__base-text-search ${this.counter - 1 === searchResults.emphasis ? 'active' : ''}`}\r\n key={i}\r\n >\r\n {part}\r\n \r\n );\r\n }\r\n\r\n return (\r\n \r\n {part}\r\n \r\n );\r\n })}\r\n \r\n );\r\n };\r\n\r\n // Scroll to the active search index\r\n scrollToEmphasis = index => {\r\n let el = document.getElementById('highlight' + (index + 1));\r\n\r\n el.scrollIntoView();\r\n };\r\n\r\n filterDocumentsOnChange(changes) {\r\n let changedIds = [...changes.adds, ...changes.deletes, ...changes.edits];\r\n this.setState({ filteredDocIdSet: new Set(changedIds) });\r\n }\r\n\r\n getSectionHoverText = section => {\r\n var count = this.getNumChanges(section);\r\n var type = this.getBaseDocumentChangeType(section.changes);\r\n var key = `compare-document.hover-text.${type}${count > 1 ? '.plural' : ''}`;\r\n return this.props.intl.formatMessage(\r\n {\r\n id: key\r\n },\r\n { count: count }\r\n );\r\n };\r\n\r\n getChangeIntensity(section) {\r\n const numDocs = this.props.activeComparisonSet.comparison.comparisonDetails.length;\r\n const numChanges = this.getNumChanges(section);\r\n\r\n return Math.ceil((numChanges / numDocs) * 4);\r\n }\r\n\r\n getNumChanges(section) {\r\n return section.changes.edits.length + section.changes.adds.length + section.changes.deletes.length;\r\n }\r\n\r\n getFilteredCompareDocs = () => {\r\n const { activeComparisonSet } = this.props;\r\n const { filteredDocIdSet } = this.state;\r\n\r\n let filteredCompareDocs = [...activeComparisonSet.comparison.comparisonDetails];\r\n if (filteredDocIdSet) {\r\n filteredCompareDocs = filteredCompareDocs.filter(doc => filteredDocIdSet.has(doc.referenceId));\r\n }\r\n\r\n return filteredCompareDocs;\r\n };\r\n\r\n getFilteredSummaryDetails = () => {\r\n const { activeComparisonSet } = this.props;\r\n const { filteredDocIdSet } = this.state;\r\n\r\n let filteredComparisonDetails = [...activeComparisonSet.comparisonSummary];\r\n\r\n filteredComparisonDetails.forEach((element, index) => {\r\n element.displayOrder = activeComparisonSet.comparison.comparisonDetails[index].displayOrder;\r\n });\r\n\r\n if (filteredDocIdSet) {\r\n filteredComparisonDetails = filteredComparisonDetails.filter(detail => filteredDocIdSet.has(detail.documentId));\r\n }\r\n\r\n return filteredComparisonDetails;\r\n };\r\n\r\n onCloseAddToCompareClick = () => {\r\n this.setState({ isAddToCompareSidebarShown: false });\r\n };\r\n\r\n onSubmitAddToCompareClick = selectedItems => {\r\n const { activeComparisonSet, projectId } = this.props;\r\n\r\n this.setState({ isAddToCompareSidebarShown: false, reprocessingCompare: true });\r\n\r\n api.updateComparison({\r\n projectId,\r\n comparison: activeComparisonSet.comparison,\r\n comparedDocuments: selectedItems\r\n });\r\n };\r\n\r\n cancelExportModal = () => {\r\n this.setState({ isExportModalShown: false });\r\n };\r\n\r\n submitExportModal = () => {\r\n const { projectId, currentProject, compareId } = this.props;\r\n\r\n const currentDate = moment();\r\n\r\n this.setState({ isExportProcessing: true });\r\n\r\n api\r\n .createExport({\r\n projectId,\r\n exportOptions: {\r\n exportType: 2,\r\n exportFileName: `${currentProject.projectName}_comparisons_${dateUtil.formatTimestamp(currentDate)}`,\r\n comparisons: [\r\n {\r\n comparisonId: compareId\r\n }\r\n ]\r\n }\r\n })\r\n .then(() => {\r\n this.setState({\r\n isExportModalShown: false,\r\n isExportSidebarShown: true,\r\n isExportProcessing: false\r\n });\r\n })\r\n .catch(() => {\r\n this.setState({\r\n isExportModalShown: false,\r\n isExportProcessing: false\r\n });\r\n });\r\n };\r\n\r\n onExportClick = () => {\r\n this.setState({ isExportModalShown: true });\r\n };\r\n\r\n closeExportSidebar = () => {\r\n this.setState({ isExportSidebarShown: false });\r\n };\r\n\r\n removeDocument = projectItemId => {\r\n const { compareId, projectId, history, activeComparisonSet, compareType } = this.props;\r\n api\r\n .removeDocumentFromComparison({ compareId, documentId: projectItemId, projectId, compareType })\r\n .catch(() => this.setState({ reprocessingCompare: false }));\r\n\r\n if (activeComparisonSet.comparison.comparisonDetails.length === 1) {\r\n return history.push(`/region/${getCurrentRegion()}/project/${projectId}/compare`);\r\n } else {\r\n this.setState({ reprocessingCompare: true });\r\n }\r\n };\r\n\r\n displayRecordName = (name, displayOrder = '') => {\r\n const { compareType, intl } = this.props;\r\n return compareType === COMPARE_TYPES.EXTRACTION_FIELDS\r\n ? `${name} - ${intl.formatMessage({ id: 'compare-comparisons-summary.record' })} ${displayOrder}`\r\n : name;\r\n };\r\n\r\n render() {\r\n const {\r\n activeComparisonSet,\r\n compareId,\r\n compareType,\r\n comparisonSets,\r\n currentProject,\r\n documentId,\r\n projectId,\r\n intl\r\n } = this.props;\r\n\r\n const {\r\n compareDocument,\r\n isAddToCompareSidebarShown,\r\n isExportModalShown,\r\n isExportProcessing,\r\n isExportSidebarShown,\r\n reprocessingCompare\r\n } = this.state;\r\n\r\n const readOnly = currentProject.STATES.ReadOnly();\r\n\r\n if (activeComparisonSet.isLoading || reprocessingCompare) {\r\n return (\r\n
\r\n \r\n \r\n
\r\n );\r\n }\r\n\r\n if (activeComparisonSet.lastUpdatedDate === null || !currentProject.isLoaded) {\r\n return '';\r\n }\r\n\r\n let activeDocument = null;\r\n if (documentId !== undefined && activeComparisonSet.comparison) {\r\n activeDocument = activeComparisonSet.comparison.comparisonDetails.find(\r\n d => d.referenceId === parseInt(documentId, 10)\r\n );\r\n }\r\n const filteredCompareDocs = this.getFilteredCompareDocs();\r\n const filteredSummaryDetails = this.getFilteredSummaryDetails();\r\n return (\r\n
\r\n {\r\n this.counter = 0;\r\n this.setState({ searchResults: results });\r\n }}\r\n compareSetEmphasis={this.scrollToEmphasis}\r\n />\r\n
\r\n
\r\n
\r\n
\r\n

\r\n {compareType === COMPARE_TYPES.DOCUMENTS ? (\r\n \r\n ) : (\r\n \r\n )}\r\n

\r\n
\r\n\r\n
\r\n
\r\n
{currentProject.projectName}
\r\n
\r\n
>
\r\n\r\n
\r\n \r\n {compareType === COMPARE_TYPES.DOCUMENTS ? (\r\n \r\n ) : (\r\n \r\n )}\r\n {' '}\r\n
\r\n
>
\r\n\r\n {!activeComparisonSet.isLoading && !comparisonSets.isLoading && (\r\n {}}>\r\n \r\n {activeComparisonSet.comparison.comparisonName} \r\n \r\n \r\n
    \r\n {comparisonSets.comparisons.map(comparison => (\r\n
  • \r\n \r\n \r\n {comparison.comparisonName}\r\n \r\n \r\n
  • \r\n ))}\r\n
\r\n
\r\n
\r\n )}\r\n
\r\n
\r\n
\r\n {filteredCompareDocs.length > 0 && activeDocument && (\r\n {}}\r\n >\r\n \r\n {this.displayRecordName(activeDocument.compareEntity.itemName, activeDocument.displayOrder)}\r\n \r\n \r\n \r\n
    \r\n
  • \r\n \r\n \r\n \r\n \r\n \r\n
  • \r\n {filteredCompareDocs.map(doc => (\r\n
  • \r\n \r\n \r\n {this.displayRecordName(doc.compareEntity.itemName, doc.displayOrder)}\r\n \r\n \r\n
  • \r\n ))}\r\n
\r\n
\r\n \r\n )}\r\n\r\n {documentId !== undefined && (\r\n
\r\n {filteredCompareDocs.length > 1 && (\r\n \r\n \r\n \r\n )}\r\n {filteredCompareDocs.length <= 1 && (\r\n \r\n )}\r\n
\r\n )}\r\n {documentId !== undefined && (\r\n
\r\n {filteredCompareDocs.length > 1 && (\r\n \r\n \r\n \r\n )}\r\n {filteredCompareDocs.length <= 1 && (\r\n \r\n )}\r\n
\r\n )}\r\n {documentId !== undefined &&
}\r\n\r\n {compareType === COMPARE_TYPES.DOCUMENTS && Permissions.Project.Comparison.canEdit() && !readOnly ? (\r\n this.setState({ isAddToCompareSidebarShown: true })}\r\n data-tip\r\n data-for=\"compare-browser.toolbar.add.tooltip\"\r\n >\r\n \r\n \r\n \r\n \r\n \r\n \r\n ) : null}\r\n\r\n {compareType === COMPARE_TYPES.DOCUMENTS && Permissions.Project.Comparison.canExport() ? (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n ) : null}\r\n
\r\n
\r\n {activeComparisonSet.baseDocument !== undefined && (\r\n
\r\n
\r\n
{activeComparisonSet.comparison.baseEntityName}
\r\n this.setState({ filteredDocIdSet: null })}\r\n >\r\n {this.getBaseDocumentContent(activeComparisonSet.baseDocument)}\r\n {compareType === COMPARE_TYPES.EXTRACTION_FIELDS && (\r\n \r\n \r\n {` ${activeComparisonSet.comparison.pageNumber}/${activeComparisonSet.comparison.pageCount}`}\r\n \r\n )}\r\n
\r\n
\r\n {!documentId &&\r\n (activeComparisonSet.comparisonSummary ? (\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {filteredSummaryDetails.map(docDetails => (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n ))}\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n {this.displayRecordName(docDetails.documentName, docDetails.displayOrder)}\r\n \r\n {Permissions.Project.Comparison.canEdit() && !readOnly ? (\r\n this.removeDocument(docDetails.documentId)}\r\n >\r\n ✕\r\n \r\n ) : null}\r\n \r\n {docDetails.totalChanges === null ? '-' : docDetails.totalChanges}\r\n \r\n {docDetails.deletes === null ? '-' : docDetails.deletes}\r\n \r\n {docDetails.adds === null ? '-' : docDetails.adds}\r\n \r\n {docDetails.edits === null ? '-' : docDetails.edits}\r\n
\r\n
\r\n ) : (\r\n
\r\n
\r\n
\r\n \r\n
\r\n {filteredCompareDocs.map(docDetails => {\r\n return (\r\n
\r\n \r\n {docDetails.compareEntity.itemName}\r\n \r\n {Permissions.Project.Comparison.canEdit() ? (\r\n this.removeDocument(docDetails.projectItemId)}\r\n >\r\n ✕\r\n \r\n ) : null}\r\n
\r\n );\r\n })}\r\n
\r\n
\r\n ))}\r\n {!!documentId && (\r\n
\r\n
\r\n {!!compareDocument && this.getCompareDocument(compareDocument)}\r\n {compareType === COMPARE_TYPES.EXTRACTION_FIELDS && (\r\n \r\n \r\n {` ${activeDocument.pageNumber}/${activeDocument.pageCount}`}\r\n \r\n )}\r\n
\r\n
\r\n )}\r\n
\r\n )}\r\n {isAddToCompareSidebarShown && (\r\n \r\n )}\r\n {isExportModalShown && (\r\n \r\n )}\r\n {isExportSidebarShown && (\r\n \r\n )}\r\n
\r\n \r\n
\r\n );\r\n }\r\n}\r\n\r\nexport default withRouter(injectIntl(Compare));\r\n","import { connect } from 'react-redux';\r\n\r\nimport { loadActiveComparisonSet } from 'store/active-comparison-set';\r\nimport { loadComparisonSets } from 'store/comparison-sets';\r\nimport Compare from 'components/compare/compare';\r\n\r\nconst mapStateToProps = ({\r\n data: { search, activeComparisonSet, comparisonSets, currentProject },\r\n ui: { compareType }\r\n}) => ({\r\n search,\r\n activeComparisonSet,\r\n comparisonSets,\r\n currentProject,\r\n compareType\r\n});\r\n\r\nconst mapDispatchToProps = {\r\n loadActiveComparisonSet,\r\n loadComparisonSets\r\n};\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(Compare);\r\n","import PropTypes from 'prop-types';\r\nimport React, { Component } from 'react';\r\nimport ReactTooltip from 'react-tooltip';\r\n\r\nimport CompareContainer from 'containers/compare/compare-container';\r\nimport NotificationsContainer from 'containers/shared/notifications-container';\r\n\r\nimport Permissions from 'permissions/permissions';\r\nimport history from 'utils/history';\r\n\r\nclass ComparePage extends Component {\r\n static propTypes = {\r\n match: PropTypes.object.isRequired\r\n };\r\n\r\n UNSAFE_componentWillMount() {\r\n if (!Permissions.Project.Comparison.canView()) {\r\n history.push('/');\r\n }\r\n }\r\n\r\n render() {\r\n const { compareId, documentId } = this.props.match.params;\r\n\r\n return (\r\n
\r\n \r\n \r\n \r\n
\r\n );\r\n }\r\n}\r\n\r\nexport default ComparePage;\r\n","import PropTypes from 'prop-types';\r\nimport React, { Component, Fragment } from 'react';\r\nimport Icon from 'components/shared/icon';\r\nimport { getCurrentRegion } from 'store/api';\r\nimport { Link } from 'react-router-dom';\r\n\r\nexport function Breadcrumbs({ parentProject, firstFolder, extraFolders, document, currentDocumentName }) {\r\n return (\r\n
\r\n {parentProject ? (\r\n
\r\n
{parentProject}
\r\n
\r\n ) : null}\r\n\r\n {firstFolder ? (\r\n \r\n
\r\n \r\n
\r\n
\r\n
{firstFolder}
\r\n
\r\n
\r\n ) : null}\r\n {extraFolders ? (\r\n \r\n
\r\n \r\n {extraFolders}\r\n {'...'}\r\n
\r\n
\r\n ) : null}\r\n {document ? (\r\n \r\n
\r\n \r\n
\r\n\r\n {document}\r\n
\r\n ) : null}\r\n
\r\n );\r\n}\r\n\r\nBreadcrumbs.propTypes = {\r\n currentDocumentName: PropTypes.string,\r\n document: PropTypes.node,\r\n extraFolders: PropTypes.node,\r\n firstFolder: PropTypes.node,\r\n parentProject: PropTypes.node\r\n};\r\n\r\nexport class DocumentBreadcrumbs extends Component {\r\n static propTypes = {\r\n documentData: PropTypes.object,\r\n dropdown: PropTypes.node,\r\n projectId: PropTypes.any\r\n };\r\n\r\n getFormattedBreadcrumbs = () => {\r\n var { parentHierarchy } = this.props.documentData;\r\n var breadcrumbs = {\r\n extraFolders: []\r\n };\r\n\r\n for (var i = parentHierarchy.length - 1; i >= 0; i--) {\r\n var currentItem = {\r\n name: parentHierarchy[i].itemName,\r\n id: parentHierarchy[i].projectItemId,\r\n type: parentHierarchy[i].itemTypeId\r\n };\r\n\r\n if (currentItem.type === 2) {\r\n breadcrumbs.doc = currentItem;\r\n } else if (currentItem.type === 1 && breadcrumbs.firstFolder === undefined) {\r\n breadcrumbs.firstFolder = currentItem;\r\n } else if (currentItem.type === 1 && breadcrumbs.firstFolder !== undefined) {\r\n breadcrumbs.extraFolders.push(currentItem);\r\n } else if (currentItem.type === 0 && breadcrumbs.project === undefined) {\r\n breadcrumbs.project = currentItem;\r\n }\r\n }\r\n\r\n return breadcrumbs;\r\n };\r\n\r\n render() {\r\n var { currentDocumentName, dropdown, projectId } = this.props;\r\n var data = this.getFormattedBreadcrumbs();\r\n var region = getCurrentRegion();\r\n\r\n return (\r\n \r\n {data.project.name}\r\n \r\n )\r\n }\r\n firstFolder={\r\n data.firstFolder && (\r\n \r\n {data.firstFolder.name}\r\n \r\n )\r\n }\r\n extraFolders={\r\n data.extraFolders.length !== 0 && (\r\n
\r\n {data.extraFolders.map((folder, i) => (\r\n \r\n {folder.name}\r\n \r\n ))}\r\n
\r\n )\r\n }\r\n document={data.doc && dropdown}\r\n currentDocumentName={currentDocumentName}\r\n />\r\n );\r\n }\r\n}\r\n\r\nexport default DocumentBreadcrumbs;\r\n","import PropTypes from 'prop-types';\r\nimport React, { Component } from 'react';\r\nimport { getCurrentRegion } from 'store/api';\r\nimport Icon from 'components/shared/icon';\r\nimport { withRouter } from 'react-router';\r\nimport { injectIntl } from 'react-intl';\r\n\r\nimport Button from 'components/shared/single-click-button';\r\n\r\nexport const NavigationButtons = injectIntl(({ disabled, onPrev, onNext, intl }) => {\r\n return (\r\n
\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n
\r\n );\r\n});\r\n\r\nNavigationButtons.propTypes = {\r\n disabled: PropTypes.bool,\r\n onNext: PropTypes.func,\r\n onPrev: PropTypes.func\r\n};\r\n\r\nexport class DocumentButtons extends Component {\r\n static propTypes = {\r\n disabled: PropTypes.bool,\r\n documentId: PropTypes.any,\r\n getNextDocument: PropTypes.func,\r\n getPreviousDocument: PropTypes.func,\r\n history: PropTypes.object,\r\n projectId: PropTypes.any\r\n };\r\n\r\n previousDocumentClick = () => {\r\n var { projectId, documentId, getPreviousDocument } = this.props;\r\n getPreviousDocument(projectId, documentId).then(response => {\r\n this.props.history.push(\r\n `/region/${getCurrentRegion()}/project/${projectId}/document/${response.data.documentId}`\r\n );\r\n });\r\n };\r\n\r\n nextDocumentClick = () => {\r\n var { projectId, documentId, getNextDocument } = this.props;\r\n getNextDocument(projectId, documentId).then(response => {\r\n this.props.history.push(\r\n `/region/${getCurrentRegion()}/project/${projectId}/document/${response.data.documentId}`\r\n );\r\n });\r\n };\r\n\r\n render() {\r\n var { disabled } = this.props;\r\n return (\r\n \r\n );\r\n }\r\n}\r\n\r\nexport default withRouter(DocumentButtons);\r\n","import { connect } from 'react-redux';\r\nimport PropTypes from 'prop-types';\r\nimport React, { Component } from 'react';\r\nimport Icon from 'components/shared/icon';\r\nimport LoadingOverlay from 'components/shared/loading/light';\r\nimport { Link } from 'react-router-dom';\r\n\r\nimport enhanceWithClickOutside from 'react-click-outside';\r\nimport { getCurrentRegion, getFolderSummary } from 'store/api';\r\n\r\nimport { FormattedMessage } from 'react-intl';\r\nimport Button from 'components/shared/single-click-button';\r\n\r\nconst mapStateToProps = ({ data: { currentUser } }) => ({\r\n currentUser\r\n});\r\n\r\nclass NavDropdown extends Component {\r\n static propTypes = {\r\n disabled: PropTypes.bool,\r\n isLoading: PropTypes.bool,\r\n itemName: PropTypes.any,\r\n onTextChange: PropTypes.func,\r\n pages: PropTypes.any,\r\n text: PropTypes.string\r\n };\r\n\r\n state = {\r\n expanded: false\r\n };\r\n\r\n handleClickOutside() {\r\n this.setState({ expanded: false });\r\n }\r\n render() {\r\n const { expanded } = this.state;\r\n const { itemName, disabled, pages, isLoading, text, onTextChange } = this.props;\r\n const truncate = itemName => (itemName?.length > 30 ? `${itemName.substring(0, 23)}...` : itemName);\r\n\r\n return (\r\n
\r\n this.setState({ expanded: !expanded })}\r\n >\r\n {truncate(itemName)}\r\n {disabled ? null : (\r\n \r\n )}\r\n \r\n\r\n {!disabled && expanded ? (\r\n
\r\n
\r\n \r\n \r\n {placeholder => (\r\n onTextChange(e.target.value)}\r\n value={truncate(text)}\r\n />\r\n )}\r\n \r\n
\r\n\r\n
\r\n {pages}\r\n {!isLoading ? null : }\r\n
\r\n
\r\n ) : null}\r\n
\r\n );\r\n }\r\n}\r\n\r\nexport const NavigationDropdown = enhanceWithClickOutside(NavDropdown);\r\n\r\nclass DocumentNavDropdown extends Component {\r\n static propTypes = {\r\n currentUser: PropTypes.object,\r\n disabled: PropTypes.bool,\r\n documentData: PropTypes.any\r\n };\r\n\r\n state = {\r\n documents: [],\r\n filterText: ''\r\n };\r\n\r\n componentDidMount() {\r\n this.setUpPages();\r\n }\r\n\r\n componentDidUpdate = prevProps => {\r\n if (\r\n this.props.documentData.documentId !== prevProps.documentData.documentId ||\r\n this.props.documentData.reviewers !== prevProps.documentData.reviewers\r\n ) {\r\n this.setUpPages();\r\n }\r\n };\r\n\r\n setUpPages() {\r\n var { projectId } = this.props.documentData;\r\n var folderId = this.getCurrentFolder();\r\n\r\n getFolderSummary({ projectId, folderId }).then(docs => {\r\n this.setState({\r\n documents: docs\r\n });\r\n });\r\n }\r\n\r\n getCurrentFolder() {\r\n var { parentHierarchy } = this.props.documentData;\r\n var folderId;\r\n\r\n if (parentHierarchy && parentHierarchy.length) {\r\n var i = 0;\r\n do {\r\n if (parentHierarchy[i].itemTypeId === 1) folderId = parentHierarchy[i].projectItemId;\r\n i++;\r\n } while (!folderId && i < parentHierarchy.length);\r\n }\r\n\r\n return folderId ? folderId : 'root';\r\n }\r\n\r\n getPageData = () => {\r\n var { documents, filterText } = this.state;\r\n var { documentData, currentUser } = this.props;\r\n var { documentId, projectId } = documentData;\r\n\r\n return (\r\n
\r\n
\r\n {documents\r\n .filter(doc => doc.itemName.toLowerCase().indexOf(filterText.toLowerCase()) !== -1)\r\n .map((doc, j) => {\r\n var isReviewed = doc.reviewerIds && doc.reviewerIds.length > 0;\r\n var isSelfReviewed = doc.reviewerIds && doc.reviewerIds.some(id => id === currentUser.userId);\r\n var isCurrentDoc = doc.projectItemId === documentId;\r\n\r\n return (\r\n \r\n {doc.itemName}\r\n\r\n
\r\n {isReviewed > 0 ? (\r\n \r\n ) : null}\r\n {isReviewed ? doc.reviewerIds && doc.reviewerIds.length : null}\r\n
\r\n \r\n );\r\n })}\r\n
\r\n
\r\n );\r\n };\r\n\r\n render() {\r\n return (\r\n this.setState({ filterText: value })}\r\n pages={this.getPageData()}\r\n text={this.state.filterText}\r\n />\r\n );\r\n }\r\n}\r\n\r\nexport default connect(mapStateToProps, null)(DocumentNavDropdown);\r\n","import { connect } from 'react-redux';\r\nimport PropTypes from 'prop-types';\r\nimport React, { Component } from 'react';\r\nimport Icon from 'components/shared/icon';\r\nimport { FormattedMessage } from 'react-intl';\r\nimport enhanceWithClickOutside from 'react-click-outside';\r\nimport Button from 'components/shared/single-click-button';\r\nimport socket, { rooms } from 'utils/socket';\r\n\r\nconst mapStateToProps = ({ data: { currentUser } }) => ({\r\n currentUser\r\n});\r\n\r\nclass ReviewButton extends Component {\r\n static propTypes = {\r\n clearUndoStack: PropTypes.func,\r\n currentUser: PropTypes.any,\r\n disabled: PropTypes.bool,\r\n documentId: PropTypes.any,\r\n markDocumentAsNotReviewed: PropTypes.func,\r\n markDocumentAsReviewed: PropTypes.func,\r\n projectId: PropTypes.any,\r\n readOnly: PropTypes.bool,\r\n refreshData: PropTypes.func,\r\n reviewers: PropTypes.any\r\n };\r\n\r\n state = {\r\n reviewed: false,\r\n otherReviewers: [],\r\n showDropdown: false\r\n };\r\n \r\n componentDidMount = () => {\r\n const { projectId, documentId } = this.props;\r\n\r\n this.separateReviewers();\r\n\r\n socket.join(rooms.document(projectId, documentId));\r\n socket.on('document.update.state', this.refreshButton);\r\n };\r\n\r\n componentWillUnmount = () => {\r\n const { projectId, documentId } = this.props;\r\n\r\n if (projectId && documentId) {\r\n socket.off('document.update.state', this.refreshButton);\r\n socket.leave(rooms.document(projectId, documentId));\r\n }\r\n };\r\n\r\n refreshButton = (data) => {\r\n const { reviewed } = data;\r\n this.setState({ reviewed });\r\n };\r\n\r\n componentDidUpdate = prevProps => {\r\n if (this.props.reviewers !== prevProps.reviewers) {\r\n this.separateReviewers();\r\n }\r\n };\r\n\r\n separateReviewers = () => {\r\n var { currentUser, reviewers } = this.props;\r\n var others = [];\r\n var selfReviewed = false;\r\n\r\n for (var i = 0; i < reviewers.length; i++) {\r\n if (reviewers[i].userId === currentUser.userId) {\r\n selfReviewed = true;\r\n } else {\r\n others.push(reviewers[i]);\r\n }\r\n }\r\n\r\n this.setState({ reviewed: selfReviewed, otherReviewers: others });\r\n };\r\n\r\n toggleDropdown = () => {\r\n var { showDropdown } = this.state;\r\n this.setState({ showDropdown: !showDropdown });\r\n };\r\n\r\n handleClickOutside() {\r\n this.setState({ showDropdown: false });\r\n }\r\n\r\n toggle = () => {\r\n var { documentId, projectId, currentUser, markDocumentAsNotReviewed, markDocumentAsReviewed } = this.props;\r\n var { reviewed } = this.state;\r\n\r\n if (reviewed) {\r\n markDocumentAsNotReviewed(projectId, documentId, currentUser);\r\n } else {\r\n markDocumentAsReviewed(projectId, documentId, currentUser);\r\n }\r\n };\r\n\r\n render() {\r\n var { currentUser, readOnly, disabled } = this.props;\r\n var { reviewed, otherReviewers, showDropdown } = this.state;\r\n\r\n return (\r\n
\r\n \r\n {reviewed ? (\r\n \r\n ) : (\r\n \r\n )}\r\n \r\n {otherReviewers.length === 0 ? null : (\r\n \r\n {reviewed ? (\r\n \r\n ) : (\r\n \r\n )}\r\n {reviewed ? otherReviewers.length + 1 : otherReviewers.length > 1 ? otherReviewers.length : null}\r\n\r\n
\r\n {!reviewed ? null : (\r\n
\r\n {currentUser.preferredFullName} \r\n
\r\n )}\r\n\r\n {otherReviewers.map((reviewer, i) => (\r\n
\r\n {reviewer.user.preferredFullName}\r\n
\r\n ))}\r\n
\r\n \r\n )}\r\n
\r\n );\r\n }\r\n}\r\n\r\nvar enhancedReviewButton = enhanceWithClickOutside(ReviewButton);\r\nexport default connect(mapStateToProps, null)(enhancedReviewButton);\r\n","import { connect } from 'react-redux';\r\n\r\nimport ReviewButton from 'components/document-viewer/toolbar/review-button';\r\nimport { markDocumentAsReviewed, markDocumentAsNotReviewed } from 'store/current-document';\r\n\r\nconst mapStateToProps = ({ data: { currentUser } }) => ({\r\n currentUser\r\n});\r\n\r\nconst mapDispatchToProps = {\r\n markDocumentAsReviewed,\r\n markDocumentAsNotReviewed\r\n};\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(ReviewButton);\r\n","import React, { Component } from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { injectIntl, intlShape } from 'react-intl';\r\n\r\nimport Icon from 'components/shared/icon';\r\nimport Button from 'components/shared/single-click-button';\r\nimport { undoDocumentActions } from 'store/api';\r\n\r\nclass UndoButton extends Component {\r\n static propTypes = {\r\n documentViewerUndo: PropTypes.object,\r\n intl: intlShape,\r\n pages: PropTypes.array,\r\n popUndoStack: PropTypes.func\r\n };\r\n\r\n state = {\r\n disabled: false\r\n };\r\n\r\n getLastAction = () => {\r\n const { documentViewerUndo } = this.props;\r\n if (documentViewerUndo.stack.length > 0) {\r\n // Get latest action from the stack\r\n return documentViewerUndo.stack.slice(-1)[0].ids;\r\n }\r\n };\r\n\r\n goToPage = page => {\r\n window.postMessage({ document_page_change: page }, window.location.href);\r\n };\r\n\r\n onClick = () => {\r\n const { popUndoStack } = this.props;\r\n const id = this.getLastAction();\r\n this.setState({ disabled: true });\r\n // Call undo here\r\n popUndoStack();\r\n return undoDocumentActions(id.undoId).then(() => {\r\n this.setState({ disabled: false });\r\n // If we have a pagenumber stored, we can navigate to that page when a user clicks undo\r\n if (id.pageNumber) {\r\n this.goToPage(id.pageNumber);\r\n }\r\n });\r\n };\r\n\r\n render() {\r\n const { documentViewerUndo, intl } = this.props;\r\n const { disabled } = this.state;\r\n const id = this.getLastAction();\r\n\r\n if (documentViewerUndo.stack.length <= 0 || id.undoId <= 0) {\r\n return
;\r\n }\r\n\r\n if (!disabled) {\r\n return (\r\n \r\n \r\n \r\n );\r\n } else {\r\n return (\r\n \r\n \r\n \r\n );\r\n }\r\n }\r\n}\r\n\r\nexport default injectIntl(UndoButton);\r\n","import PropTypes from 'prop-types';\r\nimport React, { Component } from 'react';\r\nimport { debounce } from 'underscore';\r\nimport { getCurrentRegion } from 'store/api';\r\n\r\nimport { FormattedMessage } from 'react-intl';\r\nimport { withRouter } from 'react-router';\r\n\r\nimport Button from 'components/shared/single-click-button';\r\nimport SearchResults from 'containers/search/file-list-search/search-results-container';\r\nimport Icon from 'components/shared/icon';\r\nimport TagsPopover from 'components/file-browser/toolbar/tags-popover';\r\nimport { Breadcrumbs } from 'components/document-viewer/toolbar/breadcrumbs';\r\nimport { NavigationButtons } from 'components/document-viewer/toolbar/navigation-buttons';\r\nimport { NavigationDropdown } from 'components/document-viewer/toolbar/navigation-dropdown';\r\nimport ReviewButton from 'containers/document-viewer/toolbar/review-button-container';\r\nimport Constants from 'utils/constants';\r\nimport UndoButton from 'components/document-viewer/toolbar/undo-button';\r\nimport { ITEM_STATUSES } from 'models/project-item';\r\n\r\nimport Permissions from 'permissions/permissions';\r\n\r\nclass DropdownData extends Component {\r\n static propTypes = {\r\n advancedSearch: PropTypes.object,\r\n currentSearchFolder: PropTypes.object,\r\n currentUser: PropTypes.object,\r\n disabled: PropTypes.bool,\r\n docMetadata: PropTypes.object,\r\n documentId: PropTypes.any,\r\n history: PropTypes.object,\r\n projectId: PropTypes.any,\r\n selected: PropTypes.any\r\n };\r\n\r\n state = {\r\n text: ''\r\n };\r\n\r\n onDropdownItemClick = docId => {\r\n this.props.history.push({\r\n pathname: `/region/${getCurrentRegion()}/project/${this.props.projectId}/document/${docId}`,\r\n state: { isSearching: true }\r\n });\r\n };\r\n\r\n // Code taken from doc-viewer nav dropdown; expected to have similar high level funcs\r\n getPageData = () => {\r\n const { text } = this.state;\r\n const { currentSearchFolder, currentUser, documentId } = this.props;\r\n const filtered =\r\n currentSearchFolder &&\r\n currentSearchFolder.children.filter(child => child.itemName.toLowerCase().indexOf(text.toLowerCase()) !== -1);\r\n\r\n return filtered.map((child, i) => {\r\n if (!child) return null;\r\n const isSelfReviewed =\r\n child && currentUser.isLoaded\r\n ? child.reviewers.find(reviewer => reviewer.userId === currentUser.userId)\r\n : false;\r\n const isCurrentDoc = child.projectItemId === documentId;\r\n\r\n return (\r\n
\r\n
\r\n {child && child.itemTypeId === 2 ? (\r\n this.onDropdownItemClick(child.projectItemId)}\r\n >\r\n {child.itemName}\r\n\r\n
\r\n {child.reviewers.length > 0 ? (\r\n \r\n ) : null}\r\n {child.reviewers.length > 1 ? child.reviewers.length : null}\r\n
\r\n \r\n ) : null}\r\n
\r\n
\r\n );\r\n });\r\n };\r\n\r\n render() {\r\n const itemName = this.props.docMetadata.itemName;\r\n return (\r\n this.setState({ text: value })}\r\n pages={this.getPageData()}\r\n text={this.state.text}\r\n />\r\n );\r\n }\r\n}\r\n\r\n/** Search toolbar functions like the document viewer toolbar, with different data inside */\r\nclass SearchToolbar extends Component {\r\n static propTypes = {\r\n clearUndoStack: PropTypes.func,\r\n currentDocument: PropTypes.any,\r\n currentSearchFolder: PropTypes.object,\r\n currentUser: PropTypes.object,\r\n documentStateErrors: PropTypes.any,\r\n documentViewerUndo: PropTypes.object,\r\n getCurrentDocument: PropTypes.func,\r\n history: PropTypes.object,\r\n location: PropTypes.object,\r\n match: PropTypes.object,\r\n openSearchResults: PropTypes.func,\r\n popUndoStack: PropTypes.func,\r\n projectId: PropTypes.any,\r\n readOnly: PropTypes.bool,\r\n refreshData: PropTypes.func,\r\n search: PropTypes.object\r\n };\r\n\r\n state = {\r\n isSearchResultsOpen: false,\r\n editTags: false,\r\n text: '',\r\n isLoading: false\r\n };\r\n\r\n toggleEditTags = debounce(() => {\r\n const { editTags } = this.state;\r\n this.setState({ editTags: !editTags });\r\n }, 16);\r\n\r\n // Navigate to search results page\r\n getBreadcrumb = () => {\r\n return (\r\n {\r\n this.setState({ isSearchResultsOpen: true });\r\n this.props.openSearchResults(true);\r\n }}\r\n >\r\n \r\n \r\n );\r\n };\r\n\r\n // Get the index for the current document in current search folder\r\n getCurrentDocument = () => {\r\n const { documentId } = this.props.currentDocument;\r\n\r\n const { currentSearchFolder } = this.props;\r\n return currentSearchFolder.children.findIndex(v => v.projectItemId === documentId);\r\n };\r\n\r\n onPreviousClick = () => {\r\n let prevId;\r\n const currentId = this.getCurrentDocument();\r\n if (currentId === 0) {\r\n prevId = this.props.currentSearchFolder.children[this.props.currentSearchFolder.children.length - 1]\r\n .projectItemId;\r\n } else {\r\n prevId = this.props.currentSearchFolder.children[currentId - 1].projectItemId;\r\n }\r\n\r\n this.props.history.push({\r\n pathname: `/region/${getCurrentRegion()}/project/${this.props.match.params.projectId}/document/${prevId}`,\r\n state: { isSearching: true }\r\n });\r\n };\r\n\r\n onNextClick = () => {\r\n let nextId;\r\n const currentId = this.getCurrentDocument();\r\n if (currentId === this.props.currentSearchFolder.children.length - 1) {\r\n nextId = this.props.currentSearchFolder.children[0].projectItemId;\r\n } else {\r\n nextId = this.props.currentSearchFolder.children[currentId + 1].projectItemId;\r\n }\r\n\r\n this.props.history.push({\r\n pathname: `/region/${getCurrentRegion()}/project/${this.props.match.params.projectId}/document/${nextId}`,\r\n state: { isSearching: true }\r\n });\r\n };\r\n\r\n onSearchInputCancelClick = () => {\r\n this.setState({ isSearchResultsOpen: false });\r\n this.props.openSearchResults(false);\r\n };\r\n\r\n render() {\r\n const { projectId } = this.props.match.params;\r\n const {\r\n currentSearchFolder,\r\n currentDocument,\r\n refreshData,\r\n history,\r\n match,\r\n search,\r\n currentUser,\r\n readOnly,\r\n location,\r\n clearUndoStack,\r\n documentStateErrors,\r\n documentViewerUndo,\r\n popUndoStack\r\n } = this.props;\r\n const { documentId } = this.props.currentDocument;\r\n const { editTags, isSearchResultsOpen } = this.state;\r\n\r\n if (currentSearchFolder.isLoading) {\r\n return (\r\n
\r\n
\r\n \r\n
\r\n
\r\n );\r\n }\r\n return (\r\n
\r\n
\r\n
\r\n 1 ? (\r\n \r\n ) : null\r\n }\r\n />\r\n\r\n \r\n
\r\n\r\n
\r\n {!Permissions.Project.Document.canTag() || readOnly ? null : (\r\n
\r\n \r\n \r\n\r\n {editTags ? (\r\n {}}\r\n invalidate={() => clearUndoStack()}\r\n />\r\n ) : null}\r\n
\r\n )}\r\n \r\n
\r\n {isSearchResultsOpen ? (\r\n {\r\n this.setState({ isSearchResultsOpen: false });\r\n this.props.openSearchResults(false);\r\n }}\r\n readOnly={readOnly}\r\n closeFunction={this.onSearchInputCancelClick}\r\n />\r\n ) : null}\r\n
\r\n
\r\n );\r\n }\r\n}\r\n\r\nexport default withRouter(SearchToolbar);\r\n","import { connect } from 'react-redux';\r\n\r\nimport SearchToolbar from 'components/search/file-list-search/search-toolbar';\r\nimport { getCurrentDocument } from 'store/current-document';\r\nimport { popUndoStack, clearUndoStack } from 'store/document-viewer-undo';\r\n\r\nconst mapStateToProps = ({\r\n ui: { documentViewerUndo },\r\n data: { currentDocument, currentDocumentLayout, currentProject, currentSearchFolder, search, currentUser }\r\n}) => ({\r\n documentViewerUndo,\r\n currentDocument,\r\n currentDocumentLayout,\r\n currentProject,\r\n currentSearchFolder,\r\n search,\r\n currentUser\r\n});\r\n\r\nconst mapDispatchToProps = {\r\n getCurrentDocument,\r\n popUndoStack,\r\n clearUndoStack\r\n};\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(SearchToolbar);\r\n","import PropTypes from 'prop-types';\r\nimport React, { Component } from 'react';\r\nimport { injectIntl } from 'react-intl';\r\nimport { debounce } from 'underscore';\r\n\r\nimport Icon from 'components/shared/icon';\r\nimport TagsPopover from 'components/file-browser/toolbar/tags-popover';\r\nimport DocumentBreadcrumbs from './breadcrumbs';\r\nimport NavigationButtons from './navigation-buttons';\r\nimport NavigationDropdown from './navigation-dropdown';\r\nimport ReviewButton from 'containers/document-viewer/toolbar/review-button-container';\r\nimport UndoButton from './undo-button';\r\nimport Constants from 'utils/constants';\r\nimport Button from 'components/shared/single-click-button';\r\n\r\nimport Permissions from 'permissions/permissions';\r\nimport { ITEM_STATUSES } from 'models/project-item';\r\n\r\nclass Toolbar extends Component {\r\n state = {\r\n editTags: false\r\n };\r\n\r\n static propTypes = {\r\n clearUndoStack: PropTypes.func,\r\n currentDocument: PropTypes.object,\r\n currentDocumentLayout: PropTypes.object,\r\n currentProject: PropTypes.object,\r\n documentStateErrors: PropTypes.any,\r\n documentViewerUndo: PropTypes.object,\r\n getCurrentDocument: PropTypes.func,\r\n getNextDocument: PropTypes.func,\r\n getPreviousDocument: PropTypes.func,\r\n popUndoStack: PropTypes.func,\r\n readOnly: PropTypes.bool,\r\n refreshData: PropTypes.func\r\n };\r\n\r\n toggleEditTags = debounce(() => {\r\n var { editTags } = this.state;\r\n this.setState({ editTags: !editTags });\r\n }, 16);\r\n\r\n render() {\r\n var {\r\n clearUndoStack,\r\n currentDocument,\r\n documentStateErrors,\r\n documentViewerUndo,\r\n getCurrentDocument,\r\n getNextDocument,\r\n getPreviousDocument,\r\n popUndoStack,\r\n readOnly,\r\n intl\r\n } = this.props;\r\n\r\n if (!currentDocument.isLoaded) return null;\r\n\r\n var { editTags } = this.state;\r\n\r\n var { documentId, projectId, reviewers, parentFolderDocumentCount } = currentDocument;\r\n\r\n return (\r\n
\r\n
\r\n
\r\n }\r\n />\r\n\r\n \r\n
\r\n\r\n
\r\n {Permissions.Project.Document.canTag() && !readOnly ? (\r\n
\r\n \r\n \r\n \r\n \r\n\r\n {editTags ? (\r\n {}}\r\n invalidate={() => {\r\n clearUndoStack();\r\n }}\r\n />\r\n ) : null}\r\n
\r\n ) : null}\r\n\r\n \r\n
\r\n
\r\n
\r\n );\r\n }\r\n}\r\n\r\nexport default injectIntl(Toolbar);\r\n","import { connect } from 'react-redux';\r\n\r\nimport Toolbar from 'components/document-viewer/toolbar/toolbar';\r\nimport { getCurrentDocument, getNextDocument, getPreviousDocument } from 'store/current-document';\r\nimport { popUndoStack, clearUndoStack } from 'store/document-viewer-undo';\r\n\r\nconst mapStateToProps = ({\r\n ui: { documentViewerUndo },\r\n data: { currentDocument, currentDocumentLayout, currentProject }\r\n}) => ({\r\n documentViewerUndo,\r\n currentDocument,\r\n currentDocumentLayout,\r\n currentProject\r\n});\r\n\r\nconst mapDispatchToProps = {\r\n clearUndoStack,\r\n getCurrentDocument,\r\n getNextDocument,\r\n getPreviousDocument,\r\n popUndoStack\r\n};\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(Toolbar);\r\n","import colorHelper from 'components/extractions/helpers/colorHelper.js';\r\n\r\nvar padding = 5;\r\n\r\nvar helper = {\r\n // Used to draw selection boxes on supplied canvas\r\n // Emphasis property takes a string and adds decoration to selections\r\n // -outline: draws an outline around the selections\r\n // -underline: adds an underline below the region (black)\r\n // -selection: adds an underline below the region (color matching bookends, used for users active selection)\r\n highlightRegion(x, y, w, h, colorIndex, canvas, emphasis) {\r\n var color = colorIndex === false ? colorHelper.select.color : colorHelper.highlight_colors[colorIndex];\r\n\r\n var ctx = canvas.getContext('2d');\r\n ctx.beginPath();\r\n ctx.fillStyle = color;\r\n ctx.fillRect(x, y - padding, w, h + 2 * padding);\r\n\r\n if (emphasis) {\r\n ctx.lineWidth = padding;\r\n if (emphasis === 'outline') {\r\n ctx.rect(x, y - padding, w, h + 2 * padding);\r\n } else if (emphasis === 'underline') {\r\n ctx.moveTo(x, y + h + padding);\r\n ctx.lineTo(x + w, y + h + padding);\r\n } else if (emphasis === 'selection') {\r\n ctx.strokeStyle = colorHelper.select.bookends;\r\n ctx.moveTo(x, y + h + padding);\r\n ctx.lineTo(x + w, y + h + padding);\r\n }\r\n ctx.stroke();\r\n }\r\n\r\n ctx.closePath();\r\n },\r\n\r\n drawTextCursor(selection, canvas) {\r\n const { start } = selection;\r\n\r\n var x = start.character.x1;\r\n var y = start.character.y1 - padding;\r\n var w = (start.character.y2 - start.character.y1) / 5;\r\n var h = start.character.y2 - start.character.y1 + padding * 2;\r\n\r\n var ctx = canvas.getContext('2d');\r\n ctx.beginPath();\r\n ctx.fillStyle = colorHelper.select.bookends;\r\n\r\n ctx.fillRect(x, y - padding, w, h + padding * 2);\r\n ctx.arc(x + w / 2, y - w * 1.5, w * 1.5, 0, 2 * Math.PI);\r\n ctx.fill();\r\n ctx.arc(x + w / 2, y + h + w * 1.5, w * 1.5, 0, 2 * Math.PI);\r\n ctx.fill();\r\n\r\n ctx.closePath();\r\n },\r\n\r\n // Adds text handles to the start and end of a users highlighted region (decoration only)\r\n textBookends(firstElement, lastElement, canvas) {\r\n //Thickness of bookends is based on the height of the text on the appropriate element\r\n var w1 = (firstElement.y2 - firstElement.y1) / 5;\r\n var w2 = (lastElement.y2 - lastElement.y1) / 5;\r\n\r\n var ctx = canvas.getContext('2d');\r\n ctx.beginPath();\r\n ctx.fillStyle = colorHelper.select.bookends;\r\n\r\n //First bookend\r\n ctx.fillRect(firstElement.x1 - w1, firstElement.y1 - padding, w1, firstElement.y2 - firstElement.y1 + padding * 2);\r\n ctx.arc(firstElement.x1 - w1 + w1 / 2, firstElement.y1 - w1 * 1.5, w1 * 1.5, 0, 2 * Math.PI);\r\n ctx.fill();\r\n\r\n //Last bookend\r\n ctx.fillRect(lastElement.x2, lastElement.y1 - padding, w2, lastElement.y2 - lastElement.y1 + padding * 2);\r\n ctx.arc(lastElement.x2 + w2 / 2, lastElement.y2 + w2 * 1.5, w2 * 1.5, 0, 2 * Math.PI);\r\n ctx.fill();\r\n\r\n ctx.closePath();\r\n }\r\n};\r\n\r\nexport default helper;\r\n","//These functions are used by the document viewer to syncronize the highlighting/underlining\r\n// of extraction records across the bookmarks panel, the document renderer overlay, and the\r\n// extraction field record panel\r\n\r\nexport function emphasizeHighlight(recordId, fieldId) {\r\n var record, field, bookmark;\r\n\r\n field = document.getElementById(`extraction-field-${fieldId}`);\r\n record = document.getElementById(`extraction-field-record-${recordId}`);\r\n bookmark = document.querySelector(`.extraction-bookmark-${recordId}`);\r\n\r\n if (field && field.classList) field.classList.add('emphasize');\r\n if (record && record.classList) record.classList.add('emphasize');\r\n if (bookmark && bookmark.classList) bookmark.classList.add('emphasize');\r\n\r\n window.postMessage({ emphasize_highlight: recordId }, window.location.href);\r\n}\r\n\r\nexport function deemphasizeHighlight() {\r\n var elements = Array.from(\r\n document.querySelectorAll(\r\n '.extraction-field, .extraction-record, .extraction-bookmark, .extraction-bookmark .extra'\r\n )\r\n );\r\n\r\n if (elements && elements.length && elements.length > 0) {\r\n elements.forEach(element => element.classList.remove('emphasize'));\r\n window.postMessage({ emphasize_highlight: null }, window.location.href);\r\n }\r\n}\r\n","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { throttle } from 'underscore';\r\n\r\nimport drawingHelper from '../helpers/drawingHelper.js';\r\nimport {\r\n emphasizeHighlight,\r\n deemphasizeHighlight\r\n} from 'components/document-viewer/document-renderer/helpers/emphasisHelper';\r\nimport Constants from 'utils/constants';\r\n\r\n// The overlay component is the canvas wrapper that controls the drawing and user interaction with the canvas\r\n// There are three primary types of elements that it handles:\r\n// -User selection\r\n// -Extraction field records\r\n// -Search result highlights\r\n// Each of these sections requires processing from the raw values into drawable elements\r\n// These conversions change single characters into contiguous lines that form normal-style text highlights\r\n// These processed lines are then rendered with the renderHighlights function\r\n\r\nclass Overlay extends React.Component {\r\n static propTypes = {\r\n currentDocument: PropTypes.object,\r\n page: PropTypes.any,\r\n readOnly: PropTypes.bool,\r\n scale: PropTypes.any,\r\n searchResults: PropTypes.any,\r\n selection: PropTypes.any,\r\n currentSelection: PropTypes.any,\r\n selectionFunction: PropTypes.func,\r\n shiftKeyDown: PropTypes.bool,\r\n hideBookmark: PropTypes.bool,\r\n currentProject: PropTypes.object\r\n };\r\n\r\n state = {\r\n emphasizedHighlight: null\r\n };\r\n\r\n MAX_SELECTION_OFFSET = 30;\r\n NEXT_WORD_DELTA = 1;\r\n\r\n componentDidMount() {\r\n //Listen for highlight emphasis calls from other components\r\n window.addEventListener('message', this.listenerFunction, false);\r\n\r\n this.processExtractionRanges();\r\n this.processSearchResults();\r\n this.processSelection();\r\n }\r\n\r\n componentDidUpdate(prevProps, prevState) {\r\n var { currentDocument, selection, searchResults, currentSelection } = this.props;\r\n var { emphasizedHighlight } = this.state;\r\n\r\n //Check for scale change or new highlights to render\r\n if (\r\n currentDocument.extractionFieldRecords &&\r\n currentDocument.extractionFieldRecords.length !== prevProps.currentDocument.extractionFieldRecords.length\r\n ) {\r\n this.processExtractionRanges();\r\n }\r\n\r\n //Emphasized record changed\r\n if (emphasizedHighlight !== prevState.emphasizedHighlight) {\r\n this.processExtractionRanges();\r\n }\r\n\r\n //New search results\r\n if (searchResults !== prevProps.searchResults) {\r\n this.processSearchResults();\r\n }\r\n\r\n //Selection was changed from outside of overlay\r\n if (selection !== prevProps.selection) {\r\n this.processSelection();\r\n }\r\n\r\n if (currentSelection !== prevProps.currentSelection) {\r\n this.renderOverlay();\r\n }\r\n }\r\n\r\n componentWillUnmount() {\r\n // This listens to event emitted from the emphasisHelper\r\n window.removeEventListener('message', this.listenerFunction, false);\r\n }\r\n\r\n listenerFunction = message => {\r\n if (this.overlayCanvas && message.data && message.data.emphasize_highlight !== undefined) {\r\n this.setState({ emphasizedHighlight: message.data.emphasize_highlight });\r\n }\r\n };\r\n\r\n clearCanvas = () => {\r\n var { width, height } = this.props.page;\r\n\r\n if (this.overlayCanvas) {\r\n var ctx = this.overlayCanvas.getContext('2d');\r\n ctx.canvas.width = width;\r\n ctx.canvas.height = height;\r\n }\r\n };\r\n\r\n renderOverlay() {\r\n // var { currentSelection } = this.props;\r\n var { processedSearchResults, processedExtractions, processedSelection } = this.state;\r\n\r\n this.clearCanvas();\r\n\r\n if (processedExtractions) {\r\n this.renderHighlights(processedExtractions);\r\n }\r\n\r\n if (processedSearchResults) {\r\n this.renderHighlights(processedSearchResults);\r\n }\r\n\r\n if (processedSelection) {\r\n this.renderHighlights([processedSelection]);\r\n } \r\n }\r\n\r\n processCharacterRangeAsTextLines = (characterRange, colorIndex, emphasis, bookends) => {\r\n if (characterRange && characterRange.length > 0) {\r\n var lines = [];\r\n var currentLine = {\r\n x1: characterRange[0].x1,\r\n x2: characterRange[0].x2,\r\n y1: characterRange[0].y1,\r\n y2: characterRange[0].y2\r\n };\r\n\r\n characterRange.forEach(ch => {\r\n var line_grouping_percentage = 0.5;\r\n var height = currentLine.y2 - currentLine.y1;\r\n\r\n if (\r\n ch.y1 >= currentLine.y1 - height * line_grouping_percentage &&\r\n ch.y2 <= currentLine.y2 + height * line_grouping_percentage\r\n ) {\r\n currentLine = {\r\n x1: currentLine.x1,\r\n x2: ch.x2,\r\n y1: currentLine.y1 <= ch.y1 ? currentLine.y1 : ch.y1,\r\n y2: currentLine.y2 >= ch.y2 ? currentLine.y2 : ch.y2\r\n };\r\n } else {\r\n lines.push(currentLine);\r\n currentLine = {\r\n x1: ch.x1,\r\n x2: ch.x2,\r\n y1: ch.y1,\r\n y2: ch.y2\r\n };\r\n }\r\n });\r\n\r\n lines.push(currentLine);\r\n\r\n return lines;\r\n }\r\n\r\n return [];\r\n };\r\n\r\n renderHighlights = highlights => {\r\n if (highlights)\r\n highlights.forEach(highlight => {\r\n highlight.lines.forEach(line => {\r\n var { x1, x2, y1, y2 } = line;\r\n drawingHelper.highlightRegion(\r\n x1,\r\n y1,\r\n x2 - x1,\r\n y2 - y1,\r\n highlight.color,\r\n this.overlayCanvas,\r\n highlight.emphasis\r\n );\r\n });\r\n\r\n if (highlight.bookends) {\r\n drawingHelper.textBookends(\r\n highlight.lines[0],\r\n highlight.lines[highlight.lines.length - 1],\r\n this.overlayCanvas\r\n );\r\n }\r\n });\r\n };\r\n\r\n processSelection = () => {\r\n var { selection } = this.props;\r\n var { characters } = this.props.page;\r\n\r\n if (selection === null) {\r\n this.setState({ processedSelection: undefined }, () => this.renderOverlay());\r\n // window.mousedown = false;\r\n return;\r\n }\r\n\r\n var firstIndex = characters.findIndex(ch => ch.i === selection.firstIndex);\r\n var secondIndex = characters.findIndex(ch => ch.i === selection.lastIndex);\r\n\r\n if (characters[0] && characters[0].u.length) {\r\n secondIndex = this.getSecondIndex(characters, selection.lastIndex);\r\n secondIndex = secondIndex === -2 ? -1 : secondIndex;\r\n }\r\n //These statements account for selections over the page break\r\n if (firstIndex === -1 && secondIndex !== -1)\r\n firstIndex = selection.firstIndex < selection.lastIndex ? 0 : characters.length - 1;\r\n if (firstIndex !== -1 && secondIndex === -1)\r\n secondIndex = selection.firstIndex < selection.lastIndex ? characters.length - 1 : 0;\r\n\r\n if (firstIndex !== -1 && secondIndex !== -1) {\r\n var lesser = firstIndex <= secondIndex ? firstIndex : secondIndex;\r\n var greater = firstIndex <= secondIndex ? secondIndex : firstIndex;\r\n var characterRange = characters.slice(lesser, greater + 1);\r\n var lines = this.processCharacterRangeAsTextLines(characterRange);\r\n\r\n this.setState(\r\n {\r\n processedSelection: {\r\n range: characterRange,\r\n lines: lines,\r\n color: false,\r\n emphasis: 'selection',\r\n bookends: true\r\n }\r\n },\r\n () => {\r\n this.renderOverlay();\r\n }\r\n );\r\n }\r\n };\r\n\r\n getSecondIndex = (characters, lastIndex) => {\r\n var findIndex = offset => characters.findIndex(ch => ch.i === lastIndex + offset) - 1;\r\n for (var i = 2; i <= 2 + this.NEXT_WORD_DELTA; i++) {\r\n const found = findIndex(i);\r\n if (found >= 0) {\r\n return found;\r\n }\r\n }\r\n return -1;\r\n };\r\n\r\n processExtractionRanges = () => {\r\n var { emphasizedHighlight } = this.state;\r\n var { currentDocument, page,currentProject } = this.props; \r\n var { characters } = this.props.page;\r\n var processedExtractions = [];\r\n\r\n if (currentDocument.extractionFieldRecords && currentDocument.extractionFieldRecords.length > 0) {\r\n currentDocument.extractionFieldRecords.forEach(extractionRecord => {\r\n var firstIndex = characters.findIndex(ch => ch.i === extractionRecord.location[0]);\r\n var secondIndex = characters.findIndex(ch => ch.i === extractionRecord.location[1]);\r\n if (characters[0] && characters[0].u.length) {\r\n secondIndex = this.getSecondIndex(characters, extractionRecord.location[1]);\r\n secondIndex = secondIndex === -2 ? -1 : secondIndex;\r\n }\r\n\r\n //These statements account for extractions over the page break\r\n if (firstIndex === -1 && secondIndex !== -1) firstIndex = 0;\r\n if (firstIndex !== -1 && secondIndex === -1) secondIndex = characters.length - 1;\r\n\r\n //Account for middle pages in multipage extractions\r\n if (extractionRecord.location[0] < page.range.start && extractionRecord.location[1] > page.range.end) {\r\n firstIndex = 0;\r\n secondIndex = characters.length - 1;\r\n }\r\n\r\n if (firstIndex !== -1 && secondIndex !== -1) {\r\n var characterRange = characters.slice(firstIndex, secondIndex + 1);\r\n var lines = this.processCharacterRangeAsTextLines(characterRange);\r\n const matchedField = currentDocument.extractionFields.find(field => field.extractionFieldId === extractionRecord.extractionFieldId);\r\n const isReadyForVerification = matchedField ? matchedField.isReadyForVerification : false;\r\n \r\n \r\n var highlightColor = isReadyForVerification && currentProject.isGenAIProcessingEnabled\r\n ? 'is_higlighted'\r\n : extractionRecord.colorIndex; \r\n processedExtractions.push({\r\n range: characterRange,\r\n lines: lines,\r\n color: highlightColor,\r\n emphasis:\r\n emphasizedHighlight && emphasizedHighlight === extractionRecord.extractionFieldRecordId\r\n ? 'underline'\r\n : false,\r\n record: extractionRecord\r\n });\r\n }\r\n });\r\n }\r\n\r\n this.setState({ processedExtractions: processedExtractions }, () => {\r\n this.renderOverlay();\r\n });\r\n };\r\n\r\n processSearchResults = () => {\r\n var { searchResults } = this.props;\r\n var { characters } = this.props.page;\r\n var processedSearchResults = [];\r\n\r\n if (searchResults && searchResults.length > 0) {\r\n searchResults.forEach(result => {\r\n var firstIndex = characters.findIndex(ch => ch.i === result.characters[0].i);\r\n var secondIndex = characters.findIndex(ch => ch.i === result.characters[result.characters.length - 1].i);\r\n\r\n if (characters[0] && characters[0].u.length > 1) {\r\n firstIndex = characters.findIndex(ch => ch.i === result.characters[0].start);\r\n secondIndex = this.getSecondIndex(characters, result.characters[result.characters.length - 1].end);\r\n secondIndex = secondIndex === -2 ? -1 : secondIndex;\r\n }\r\n\r\n //These statements account for extractions over the page break\r\n if (firstIndex === -1 && secondIndex !== -1) firstIndex = 0;\r\n if (firstIndex !== -1 && secondIndex === -1) secondIndex = characters.length - 1;\r\n\r\n if (firstIndex !== -1 && secondIndex !== -1) {\r\n var characterRange = characters.slice(firstIndex, secondIndex + 1);\r\n var lines = this.processCharacterRangeAsTextLines(characterRange);\r\n\r\n processedSearchResults.push({\r\n range: characterRange,\r\n lines: lines,\r\n color: result.emphasis ? 'search_active' : 'search_inactive',\r\n emphasis: false\r\n });\r\n }\r\n });\r\n }\r\n\r\n this.setState({ processedSearchResults: processedSearchResults }, () => {\r\n this.renderOverlay();\r\n });\r\n };\r\n\r\n getMouseCoordinates = e => {\r\n var { scale } = this.props;\r\n\r\n return {\r\n x: (e.clientX - this.overlayCanvas.getBoundingClientRect().left) / scale,\r\n y: (e.clientY - this.overlayCanvas.getBoundingClientRect().top) / scale\r\n };\r\n };\r\n\r\n getCharacterAtCoordinates = (x, y) => {\r\n // ---V3 - Preprocessed Ranges\r\n // Characters are grouped into a 2 dimensional array where each cell in the grid represents a 100px by 100px square of the document.\r\n // This heavily reduces the number of elements in each mouse character lookup.\r\n // A single character may exist in multiple cells in the grid as it can occur at the intersection of the 100x100 cells.\r\n // Processing is done inside of document-viewer layout model.\r\n\r\n var gx = Math.floor(x / 100); // gx = group for x\r\n var gy = Math.floor(y / 100); // gy = group for y\r\n var p = 5; // p = padding (allowing for user clicking inacurracy)\r\n\r\n if (this.props.page.gridMap.hasOwnProperty(gx) && this.props.page.gridMap[gx].hasOwnProperty(gy)) {\r\n for (var key in this.props.page.gridMap[gx][gy]) {\r\n var currentCharacter = this.props.page.gridMap[gx][gy][key];\r\n if (\r\n currentCharacter.x1 - p < x &&\r\n currentCharacter.x2 + p > x &&\r\n currentCharacter.y1 - p < y &&\r\n currentCharacter.y2 + p > y\r\n )\r\n return currentCharacter;\r\n }\r\n }\r\n\r\n return;\r\n };\r\n\r\n getExtractionFieldRecordAtCoordinates = throttle(coordinates => {\r\n var hit;\r\n\r\n this.state.processedExtractions.forEach(extraction => {\r\n extraction.lines.forEach(line => {\r\n if (\r\n line.x1 <= coordinates.x &&\r\n line.x2 >= coordinates.x &&\r\n line.y1 <= coordinates.y &&\r\n line.y2 >= coordinates.y\r\n ) {\r\n hit = extraction.record;\r\n }\r\n });\r\n });\r\n return hit;\r\n }, 100);\r\n\r\n emphasizeHighlight = extractionRecord => {\r\n if (extractionRecord) {\r\n this.debouncedEmphasizeHighlight(extractionRecord.extractionFieldRecordId, extractionRecord.extractionFieldId);\r\n } else if (!extractionRecord) {\r\n this.debouncedDeemphasizeHighlight();\r\n }\r\n };\r\n\r\n debouncedEmphasizeHighlight = throttle((recordId, fieldId) => {\r\n emphasizeHighlight(recordId, fieldId);\r\n }, 100);\r\n\r\n debouncedDeemphasizeHighlight = throttle(() => {\r\n deemphasizeHighlight();\r\n }, 100);\r\n\r\n /// REVISED FUNCTIONS START\r\n\r\n getDistance = (point1, point2) => {\r\n var dx = point1.x - point2.x;\r\n var dy = point1.y - point2.y;\r\n return Math.sqrt(dx * dx + dy * dy);\r\n };\r\n\r\n getClosestCharacter(x, y) {\r\n var closest = {\r\n min: null,\r\n index: null,\r\n character: null\r\n };\r\n\r\n this.props.page.characters.forEach((character, i) => {\r\n var middle = {\r\n x: character.x1 + (character.x2 - character.x1) / 2,\r\n y: character.y1 + (character.y2 - character.y1) / 2\r\n };\r\n\r\n var distance = this.getDistance({ x, y }, middle);\r\n\r\n if ((closest.min === null || distance < closest.min) && distance < this.MAX_SELECTION_OFFSET) {\r\n closest = {\r\n min: distance,\r\n character: character,\r\n page: this.props.page.pageNumber\r\n };\r\n }\r\n });\r\n\r\n return closest;\r\n }\r\n\r\n // Check if the coords are inside the word, or close to a word\r\n getClosestWord(x, y) {\r\n var closest = {\r\n min: null,\r\n index: null,\r\n character: null\r\n };\r\n\r\n this.props.page.characters.forEach((character, i) => {\r\n const isInside = character.x1 < x && x < character.x2 && character.y1 < y && y < character.y2;\r\n var distance = 0;\r\n\r\n if (!isInside) {\r\n distance = this.getMinDistance(character, { x, y });\r\n }\r\n\r\n if ((closest.min === null || distance < closest.min) && distance < this.MAX_SELECTION_OFFSET) {\r\n closest = {\r\n min: distance,\r\n character: character,\r\n page: this.props.page.pageNumber\r\n };\r\n }\r\n });\r\n\r\n return closest;\r\n }\r\n\r\n getMinDistance = (word, point) => {\r\n var dx = Math.max(word.x1 - point.x, 0, point.x - word.x2);\r\n var dy = Math.max(word.y1 - point.y, 0, point.y - word.y2);\r\n return Math.sqrt(dx * dx + dy * dy);\r\n };\r\n\r\n drawTextCursor = () => {\r\n drawingHelper.drawTextCursor(this.props.currentSelection, this.overlayCanvas);\r\n };\r\n\r\n /// REVISED FUNCTIONS END\r\n\r\n isBreak = unicode => {\r\n return Constants.TextSelectionBreakCharacters.indexOf(unicode) !== -1;\r\n };\r\n\r\n isWordBreak = word => {\r\n const characters = word.start.character.u;\r\n return (\r\n word.start.character.i === word.end.character.i &&\r\n Constants.TextSelectionBreakCharacters.indexOf(\r\n characters.length ? characters[characters.length - 1] : characters\r\n ) !== -1\r\n );\r\n };\r\n\r\n determineWord = character => {\r\n const { page } = this.props;\r\n\r\n if (!character || !character.character) {\r\n return null;\r\n }\r\n\r\n const characterCode = character.character.u;\r\n\r\n if (\r\n characterCode.length > 1 ||\r\n this.isBreak(characterCode.length ? characterCode[characterCode.length - 1] : characterCode)\r\n ) {\r\n return {\r\n start: character,\r\n end: character\r\n };\r\n }\r\n\r\n if (character.page === page.pageNumber) {\r\n var origin = page.characters.indexOf(character.character);\r\n var start = null;\r\n var end = null;\r\n var i = 1;\r\n\r\n while ((start === null || end === null) && i < 100) {\r\n if (start === null && origin - i >= 0) {\r\n const prevChar = page.characters[origin - i].u;\r\n if (prevChar.length > 1 || this.isBreak(prevChar.length ? prevChar[prevChar.length - 1] : prevChar)) {\r\n start = page.characters[origin - i + 1];\r\n }\r\n } else if (start === null) {\r\n start = page.characters[0];\r\n }\r\n\r\n if (end === null && origin + i < page.characters.length) {\r\n const nextChar = page.characters[origin + i].u;\r\n if (nextChar.length > 1 || this.isBreak(nextChar.length ? nextChar[nextChar.length - 1] : nextChar)) {\r\n end = page.characters[origin + i - 1];\r\n }\r\n } else if (end === null) {\r\n end = page.characters[page.characters.length - 1];\r\n }\r\n\r\n i++;\r\n }\r\n\r\n return {\r\n start: {\r\n min: character.min,\r\n character: start,\r\n page: character.page\r\n },\r\n end: {\r\n min: character.min,\r\n character: end,\r\n page: character.page\r\n }\r\n };\r\n }\r\n };\r\n\r\n _mouseDown = coordinates => {\r\n window.mousedown = true;\r\n\r\n var char = this.getClosestWord(coordinates.x, coordinates.y);\r\n var word = this.determineWord(char);\r\n\r\n if (!word || this.isWordBreak(word)) {\r\n this.props.selectionFunction({\r\n currentSelection: { startingWord: null, endingWord: null }\r\n });\r\n }\r\n\r\n var _currentSelection = {\r\n startingWord: word,\r\n endingWord: null\r\n };\r\n\r\n this.props.selectionFunction({\r\n currentSelection: _currentSelection\r\n });\r\n\r\n var matchingExtractionRecord = this.getExtractionFieldRecordAtCoordinates(coordinates);\r\n if (matchingExtractionRecord) {\r\n document\r\n .getElementById(`extraction-field-record-${matchingExtractionRecord.extractionFieldRecordId}`)\r\n .scrollIntoView({ behavior: 'smooth', block: 'nearest', inline: 'nearest' });\r\n }\r\n };\r\n\r\n _mouseMove = throttle(coordinates => {\r\n var { currentSelection, selectionFunction } = this.props;\r\n\r\n var matchingExtractionRecord = this.getExtractionFieldRecordAtCoordinates(coordinates);\r\n\r\n if (matchingExtractionRecord) {\r\n this.emphasizeHighlight(matchingExtractionRecord);\r\n } else {\r\n this.emphasizeHighlight();\r\n }\r\n\r\n if (window.mousedown) {\r\n var char = this.getClosestWord(coordinates.x, coordinates.y);\r\n var word = this.determineWord(char);\r\n\r\n if (!word || this.isWordBreak(word)) {\r\n return;\r\n }\r\n\r\n const startDefined = currentSelection.startingWord !== null;\r\n var _currentSelection = {\r\n startingWord: startDefined ? currentSelection.startingWord : word,\r\n endingWord: startDefined ? word : null\r\n };\r\n\r\n selectionFunction({\r\n currentSelection: _currentSelection\r\n });\r\n }\r\n }, 50);\r\n\r\n _mouseUp = e => {\r\n window.mousedown = false;\r\n };\r\n\r\n render() {\r\n var { hideBookmark } = this.props;\r\n\r\n return (\r\n
\r\n {!hideBookmark ? (\r\n {\r\n var coordinates = this.getMouseCoordinates(event);\r\n this._mouseDown(coordinates);\r\n }}\r\n onMouseMove={event => {\r\n var coordinates = this.getMouseCoordinates(event);\r\n this._mouseMove(coordinates);\r\n }}\r\n onMouseUp={this._mouseUp}\r\n ref={canvas => (this.overlayCanvas = canvas)}\r\n />\r\n ) : (\r\n (this.overlayCanvas = canvas)} />\r\n )}\r\n
\r\n );\r\n }\r\n}\r\n\r\nexport default Overlay;\r\n","import { connect } from 'react-redux';\r\n\r\nimport Overlay from 'components/document-viewer/document-renderer/overlay/overlay';\r\n\r\nconst mapStateToProps = ({ data: { currentDocument } }) => ({\r\n currentDocument\r\n});\r\n\r\nconst mapDispatchToProps = {};\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(Overlay);\r\n","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\n\r\nimport ColorHelper from 'components/extractions/helpers/colorHelper';\r\nimport Icon from 'components/shared/icon';\r\nimport {\r\n emphasizeHighlight,\r\n deemphasizeHighlight\r\n} from 'components/document-viewer/document-renderer/helpers/emphasisHelper';\r\nimport Button from 'components/shared/single-click-button';\r\n\r\nimport Permissions from 'permissions/permissions';\r\n\r\nclass Bookmarks extends React.Component {\r\n static propTypes = {\r\n currentDocument: PropTypes.object,\r\n currentDocumentLayout: PropTypes.object,\r\n page: PropTypes.any,\r\n pushUndoStack: PropTypes.func,\r\n readOnly: PropTypes.bool,\r\n removeExtractionFieldRecord: PropTypes.func,\r\n scale: PropTypes.any\r\n };\r\n\r\n //Clustering distance controls the minimum spacing (in pixels) between two bookmark\r\n // elements before they are combined into one grouped element\r\n CLUSTERING_DISTANCE = 20;\r\n\r\n clusterExtractions = () => {\r\n var { page, scale } = this.props;\r\n var { extractionFieldRecords } = this.props.currentDocument;\r\n\r\n var pageRecords = extractionFieldRecords.filter(\r\n e => e.location[0] >= page.range.start && e.location[0] <= page.range.end\r\n );\r\n\r\n var clusters = {};\r\n var clusterArray = [];\r\n\r\n pageRecords.forEach(record => {\r\n var top = page.characters.find(c => c.i === record.location[0]);\r\n if (top) {\r\n top = top.y1 * scale - 5;\r\n\r\n if (!clusters.hasOwnProperty(top)) {\r\n clusters[top] = {\r\n top: top,\r\n records: []\r\n };\r\n }\r\n\r\n clusters[top].records.push(record);\r\n }\r\n });\r\n\r\n for (var key in clusters) {\r\n clusterArray.push(clusters[key]);\r\n }\r\n\r\n return this.groupCloseClusters(clusterArray);\r\n };\r\n\r\n groupCloseClusters = clusters => {\r\n var groupedClusters = [];\r\n\r\n clusters.forEach((cluster, i) => {\r\n var appended = false;\r\n\r\n //Attempt to append current cluster to another cluster if it is within the clustering distance\r\n if (groupedClusters.length > 0) {\r\n groupedClusters.forEach((groupedCluster, j) => {\r\n if (\r\n cluster.top < groupedCluster.top + this.CLUSTERING_DISTANCE &&\r\n cluster.top > groupedCluster.top - this.CLUSTERING_DISTANCE\r\n ) {\r\n if (!appended) {\r\n groupedCluster.records = groupedCluster.records.concat(cluster.records);\r\n appended = true;\r\n }\r\n }\r\n });\r\n }\r\n\r\n if (!appended) {\r\n groupedClusters.push(cluster);\r\n }\r\n });\r\n\r\n return groupedClusters;\r\n };\r\n\r\n scrollFunction = id => {\r\n document\r\n .getElementById(`extraction-field-record-${id}`)\r\n .scrollIntoView({ behavior: 'smooth', block: 'nearest', inline: 'nearest' });\r\n };\r\n\r\n hoverFunction = (extraction, enter) => {\r\n deemphasizeHighlight();\r\n\r\n if (enter) {\r\n emphasizeHighlight(extraction.extractionFieldRecordId, extraction.extractionFieldId);\r\n }\r\n };\r\n\r\n removeFunction = extractionFieldRecord => {\r\n var { removeExtractionFieldRecord } = this.props;\r\n var { projectId, documentId } = this.props.currentDocument;\r\n\r\n removeExtractionFieldRecord(\r\n projectId,\r\n documentId,\r\n extractionFieldRecord.extractionFieldRecordId,\r\n extractionFieldRecord.pageNumber\r\n );\r\n };\r\n\r\n render() {\r\n var clusters = this.clusterExtractions();\r\n var { readOnly } = this.props;\r\n\r\n return (\r\n
\r\n {clusters.map((cluster, i) => {\r\n var idClasses = cluster.records.map(r => `extraction-bookmark-${r.extractionFieldRecordId}`);\r\n\r\n return (\r\n
\r\n this.scrollFunction(cluster.records[0].extractionFieldRecordId)}\r\n onMouseEnter={() => this.hoverFunction(cluster.records[0], true)}\r\n onMouseLeave={() => this.hoverFunction(cluster.records[0], false)}\r\n >\r\n \r\n\r\n \r\n {cluster.records[0].extractionFieldName}\r\n \r\n\r\n {Permissions.Project.Document.ExtractionField.ExtractionFieldRecord.canDelete() && !readOnly ? (\r\n this.removeFunction(cluster.records[0])}\r\n >\r\n \r\n \r\n ) : null}\r\n\r\n {cluster.records.length > 1 ? (\r\n \r\n +{cluster.records.length - 1}\r\n
\r\n {cluster.records.slice(1, cluster.records.length).map((additionalExtractionFieldRecord, j) => (\r\n {\r\n e.stopPropagation();\r\n this.scrollFunction(additionalExtractionFieldRecord.extractionFieldRecordId);\r\n }}\r\n onMouseEnter={() => this.hoverFunction(additionalExtractionFieldRecord, true)}\r\n onMouseLeave={() => this.hoverFunction(additionalExtractionFieldRecord, false)}\r\n >\r\n \r\n\r\n {additionalExtractionFieldRecord.extractionFieldName}\r\n\r\n {Permissions.Project.Document.ExtractionField.ExtractionFieldRecord.canDelete() &&\r\n !readOnly ? (\r\n {\r\n e.stopPropagation();\r\n this.removeFunction(additionalExtractionFieldRecord);\r\n }}\r\n >\r\n \r\n \r\n ) : null}\r\n
\r\n ))}\r\n
\r\n \r\n ) : null}\r\n
\r\n
\r\n );\r\n })}\r\n \r\n );\r\n }\r\n}\r\n\r\nexport default Bookmarks;\r\n","import { connect } from 'react-redux';\r\n\r\nimport Bookmarks from 'components/document-viewer/document-renderer/bookmarks/bookmarks';\r\nimport { getCurrentDocument, removeExtractionFieldRecord } from 'store/current-document';\r\n\r\nconst mapStateToProps = ({ data: { currentDocument, currentDocumentLayout } }) => ({\r\n currentDocument,\r\n currentDocumentLayout\r\n});\r\n\r\nconst mapDispatchToProps = {\r\n getCurrentDocument,\r\n removeExtractionFieldRecord\r\n};\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(Bookmarks);\r\n","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\n\r\nimport { getDocumentPageBinary } from 'store/api';\r\nimport { ITEM_STATUSES } from 'models/project-item';\r\nimport LoadingOverlay from 'components/shared/loading/light';\r\nimport Overlay from 'containers/document-viewer/document-renderer/overlay-container';\r\nimport Bookmarks from 'containers/document-viewer/document-renderer/bookmarks-container';\r\n\r\nclass Page extends React.Component {\r\n static propTypes = {\r\n currentDocument: PropTypes.object,\r\n currentSelection: PropTypes.any,\r\n page: PropTypes.object,\r\n pushUndoStack: PropTypes.func,\r\n readOnly: PropTypes.bool,\r\n searchResults: PropTypes.any,\r\n selection: PropTypes.any,\r\n selectionFunction: PropTypes.func,\r\n setPageImageLoaded: PropTypes.func,\r\n shiftKeyDown: PropTypes.bool,\r\n showPage: PropTypes.bool,\r\n zoomLevel: PropTypes.number,\r\n hideBookmark: PropTypes.bool,\r\n currentProject: PropTypes.object,\r\n };\r\n\r\n state = {\r\n loadingPageImage: true,\r\n loadingPageData: true,\r\n pageImage: undefined\r\n };\r\n\r\n // Scale Alteration is a value that is used to scale down the images that come from KIRA\r\n // This allows some resolution to be reserved for zooming in\r\n SCALE_ALTERATION = 0.5;\r\n\r\n BOTTOM_OFFSET = '40%';\r\n\r\n UNSAFE_componentWillMount() {\r\n this.setScaleAlteration();\r\n }\r\n\r\n componentDidMount = () => {\r\n this.getPageImage();\r\n this.getPageData();\r\n };\r\n\r\n componentDidUpdate = prevProps => {\r\n if (this.props.showPage !== prevProps.showPage) {\r\n this.getPageImage();\r\n this.getPageData();\r\n }\r\n\r\n // If document changes\r\n if (this.props.currentDocument.documentId !== prevProps.currentDocument.documentId) {\r\n this.setScaleAlteration();\r\n\r\n this.setState({ pageImage: undefined, loadingPageImage: true, loadingPageData: true }, () => {\r\n this.getPageImage();\r\n this.getPageData();\r\n });\r\n }\r\n };\r\n\r\n // Sets the scale alteration value based on the DPI of the KIRA images\r\n // This is generally 300dpi or 150dpi\r\n setScaleAlteration() {\r\n if (this.props.page) {\r\n this.SCALE_ALTERATION = 0.5 * (150 / this.props.page.dpiX);\r\n }\r\n }\r\n\r\n getPageData = () => {\r\n if (this.state.loadingPageData && this.props.showPage && !this.props.page.characterDataLoaded) {\r\n var { projectId, documentId } = this.props.currentDocument;\r\n var { page, getCurrentDocumentLayoutPage } = this.props;\r\n\r\n if (projectId && projectId !== null && documentId && documentId !== null) {\r\n getCurrentDocumentLayoutPage(projectId, documentId, page.pageNumber).then(() => {\r\n this.setState({ loadingPageData: false });\r\n });\r\n }\r\n } else if (this.state.loadingPageData && this.props.page.characterDataLoaded) {\r\n this.setState({ loadingPageData: false });\r\n }\r\n };\r\n\r\n getPageImage = () => {\r\n var { showPage, setPageImageLoaded } = this.props;\r\n var { projectId, documentId } = this.props.currentDocument;\r\n var { pageNumber } = this.props.page;\r\n\r\n if (showPage && projectId !== null && documentId !== null) {\r\n if (!this.state.pageImage) {\r\n getDocumentPageBinary(projectId, documentId, pageNumber).then(data => {\r\n this.setState({ pageImage: data, loadingPageImage: false }, () => setPageImageLoaded());\r\n\r\n setTimeout(() => {\r\n if (this.image) {\r\n this.image.src = URL.createObjectURL(new Blob([data]));\r\n }\r\n }, 0);\r\n });\r\n } else {\r\n this.setState({ loadingPageImage: false }, () => {\r\n if (this.image) this.image.src = URL.createObjectURL(new Blob([this.state.pageImage]));\r\n setPageImageLoaded();\r\n });\r\n }\r\n }\r\n };\r\n\r\n render() {\r\n var {\r\n currentDocument,\r\n page,\r\n readOnly,\r\n searchResults,\r\n selection,\r\n currentSelection,\r\n selectionFunction,\r\n shiftKeyDown,\r\n showPage,\r\n zoomLevel,\r\n pushUndoStack,\r\n hideBookmark\r\n } = this.props;\r\n\r\n var { loadingPageImage } = this.state;\r\n const { characterDataLoaded } = page;\r\n\r\n var imageClass = characterDataLoaded ? '' : 'loading';\r\n var isProcessing = currentDocument.itemStateId !== ITEM_STATUSES.PROCESSED && \r\n currentDocument.itemStateId !==ITEM_STATUSES.READYFORVERIFICATION && currentDocument.itemStateId !==ITEM_STATUSES.REPROCESSINGREQUIRED\r\n const pageClassName = hideBookmark ? 'renderer-page extractionoverview-docview' : 'renderer-page';\r\n // Page element\r\n return (\r\n
(this.wrapper = div)}>\r\n \r\n {loadingPageImage || !characterDataLoaded ? : null}\r\n\r\n {showPage && !loadingPageImage && characterDataLoaded ? (\r\n \r\n {!hideBookmark && (\r\n \r\n )}\r\n\r\n {!isProcessing && (\r\n \r\n )}\r\n \r\n ) : null}\r\n\r\n {showPage && !loadingPageImage ? (this.image = img)} alt=\"\" /> : null}\r\n
\r\n \r\n );\r\n }\r\n}\r\n\r\nexport default Page;\r\n","import { connect } from 'react-redux';\r\n\r\nimport Page from 'components/document-viewer/document-renderer/page/page';\r\nimport { getCurrentDocumentLayoutPage } from 'store/current-document-layout';\r\n\r\nconst mapStateToProps = ({ data: { currentDocument } }) => ({\r\n currentDocument\r\n});\r\n\r\nconst mapDispatchToProps = {\r\n getCurrentDocumentLayoutPage\r\n};\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(Page);\r\n","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\n\r\nimport Icon from 'components/shared/icon';\r\nimport Modal from 'components/shared/modal';\r\nimport { FormattedMessage } from 'react-intl';\r\n\r\nclass DocumentControls extends React.Component {\r\n static propTypes = {\r\n changePageFunction: PropTypes.func,\r\n changeZoomFunction: PropTypes.func,\r\n currentPage: PropTypes.any,\r\n numPages: PropTypes.any,\r\n zoomLevel: PropTypes.number\r\n };\r\n\r\n state = {\r\n page: 1,\r\n zoomLevel: 1\r\n };\r\n\r\n zoomLevels = [0.25, 0.5, 0.75, 1.0, 1.25, 1.5, 1.75, 2.0, 4.0];\r\n\r\n componentDidMount() {\r\n this.setState({ page: Math.floor(this.props.currentPage) });\r\n this.setState({ zoomLevel: Math.floor(this.props.zoomLevel * 100) });\r\n }\r\n\r\n componentDidUpdate(prevProps) {\r\n var { currentPage, zoomLevel } = this.props;\r\n if (currentPage !== prevProps.currentPage) this.resetPage();\r\n if (zoomLevel !== prevProps.zoomLevel) this.resetZoom();\r\n }\r\n\r\n pageTextChange = e => {\r\n if (/^(\\s*|\\d+)$/.test(e.target.value)) {\r\n this.setState({ page: e.target.value });\r\n }\r\n };\r\n\r\n zoomTextChange = e => {\r\n if (/^(\\s*|\\d+)$/.test(e.target.value)) {\r\n this.setState({ zoomLevel: e.target.value });\r\n }\r\n };\r\n\r\n pageKeyDown = e => {\r\n var { page } = this.state;\r\n var { numPages } = this.props;\r\n\r\n if (e.keyCode === 13) {\r\n if (0 < page && page <= numPages) {\r\n this.props.changePageFunction(page);\r\n } else {\r\n this.setState({\r\n pageError: page\r\n });\r\n this.resetPage();\r\n }\r\n } else if (e.keyCode === 27) {\r\n this.resetPage();\r\n }\r\n };\r\n\r\n zoomKeyDown = e => {\r\n var { zoomLevel } = this.state;\r\n\r\n if (e.keyCode === 13) {\r\n if (this.zoomLevels[0] <= zoomLevel / 100 && zoomLevel / 100 <= this.zoomLevels[this.zoomLevels.length - 1]) {\r\n this.props.changeZoomFunction(zoomLevel / 100);\r\n } else {\r\n this.setState({\r\n zoomError: zoomLevel\r\n });\r\n this.resetZoom();\r\n }\r\n } else if (e.keyCode === 27) {\r\n this.resetZoom();\r\n }\r\n };\r\n\r\n resetPage = () => {\r\n this.setState({ page: this.props.currentPage });\r\n };\r\n\r\n resetZoom = () => {\r\n this.setState({ zoomLevel: this.props.zoomLevel * 100 });\r\n };\r\n\r\n clearErrors = () => {\r\n this.setState({ pageError: false, zoomError: false });\r\n };\r\n\r\n previousZoomLevel = () => {\r\n var rzoom = this.zoomLevels.slice().reverse();\r\n var index = rzoom.findIndex(n => n < this.props.zoomLevel);\r\n if (index !== -1) this.props.changeZoomFunction(rzoom[index]);\r\n };\r\n\r\n nextZoomLevel = () => {\r\n var index = this.zoomLevels.findIndex(n => n > this.props.zoomLevel);\r\n if (index !== -1) this.props.changeZoomFunction(this.zoomLevels[index]);\r\n };\r\n\r\n render() {\r\n var { currentPage, numPages, changePageFunction } = this.props;\r\n var { page, pageError, zoomLevel, zoomError } = this.state;\r\n var min = this.zoomLevels[0] * 100;\r\n var max = this.zoomLevels[this.zoomLevels.length - 1] * 100;\r\n\r\n return numPages && numPages > 0 && currentPage ? (\r\n
\r\n
\r\n = numPages || numPages <= 1}\r\n onClick={() => {\r\n changePageFunction(parseInt(currentPage, 10) + 1);\r\n }}\r\n >\r\n \r\n \r\n \r\n / {numPages}\r\n {\r\n changePageFunction(parseInt(currentPage, 10) - 1);\r\n }}\r\n >\r\n \r\n \r\n
\r\n\r\n
\r\n \r\n -\r\n \r\n \r\n %\r\n \r\n +\r\n \r\n
\r\n\r\n {pageError && (\r\n \r\n
\r\n

\r\n \r\n

\r\n

\r\n \r\n

\r\n
\r\n \r\n
\r\n
\r\n
\r\n )}\r\n\r\n {zoomError && (\r\n \r\n
\r\n

\r\n \r\n

\r\n

\r\n \r\n

\r\n
\r\n \r\n
\r\n
\r\n
\r\n )}\r\n
\r\n ) : null;\r\n }\r\n}\r\nexport default DocumentControls;\r\n","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport ColorHelper from 'components/extractions/helpers/colorHelper';\r\n\r\nimport { throttle } from 'underscore';\r\n\r\nclass Minimap extends React.Component {\r\n static propTypes = {\r\n scrollArea: PropTypes.any,\r\n extractionFieldRecords: PropTypes.any,\r\n layout: PropTypes.any,\r\n characters: PropTypes.any,\r\n zoomLevel: PropTypes.any\r\n };\r\n\r\n state = {\r\n scrollTop: 0,\r\n scrollHeight: 0,\r\n offsetHeight: 0,\r\n markers: [],\r\n documentHeight: 0\r\n };\r\n\r\n minimap = null;\r\n mouseDown = false;\r\n\r\n componentDidMount() {\r\n const { scrollArea, extractionFieldRecords, layout, characters } = this.props;\r\n\r\n if (scrollArea && scrollArea !== null && extractionFieldRecords && layout && characters) {\r\n this.initialize();\r\n }\r\n\r\n window.addEventListener('mouseup', this.mouseUp, false);\r\n window.addEventListener('mousemove', this.mouseMove, false);\r\n }\r\n\r\n componentDidUpdate(prevProps) {\r\n const { scrollArea, extractionFieldRecords, layout, characters, zoomLevel } = this.props;\r\n\r\n if (\r\n scrollArea &&\r\n scrollArea !== null &&\r\n extractionFieldRecords &&\r\n layout &&\r\n characters &&\r\n (prevProps.scrollArea !== scrollArea ||\r\n prevProps.extractionFieldRecords !== extractionFieldRecords ||\r\n prevProps.layout !== layout ||\r\n prevProps.characters !== characters ||\r\n prevProps.zoomLevel !== zoomLevel)\r\n ) {\r\n this.initialize();\r\n }\r\n }\r\n\r\n initialize() {\r\n const { scrollArea } = this.props;\r\n\r\n scrollArea.addEventListener('scroll', this.scrollChange);\r\n\r\n var markers = this.setupMarkers();\r\n\r\n this.setState({\r\n scrollHeight: scrollArea.scrollHeight,\r\n offsetHeight: scrollArea.offsetHeight,\r\n markers: markers\r\n });\r\n }\r\n\r\n setupMarkers = () => {\r\n const { extractionFieldRecords, layout, characters, zoomLevel } = this.props;\r\n\r\n var markers = [];\r\n var pageMargins = 30;\r\n var bottomMargin = 50;\r\n var pageOffsets = [];\r\n var totalHeight = 0;\r\n\r\n layout.forEach(page => {\r\n var SCALE_ALTERATION = 0.5 * (150 / page.dpiX);\r\n var alteredMargin = pageMargins / SCALE_ALTERATION / zoomLevel;\r\n var start = totalHeight + alteredMargin;\r\n var end = start + page.height + alteredMargin;\r\n\r\n pageOffsets.push({\r\n start,\r\n end\r\n });\r\n\r\n totalHeight = end;\r\n if (pageOffsets.length === layout.length) totalHeight += bottomMargin / SCALE_ALTERATION / zoomLevel;\r\n });\r\n\r\n if (characters.length > 0) {\r\n extractionFieldRecords.forEach(record => {\r\n if (\r\n record.indicatorPosition &&\r\n record.indicatorPosition !== null &&\r\n record.indicatorPosition.start.page > 0 &&\r\n record.indicatorPosition.end.page > 0\r\n ) {\r\n var start =\r\n record.indicatorPosition.start.offset + pageOffsets[record.indicatorPosition.start.page - 1].start;\r\n var end = record.indicatorPosition.end.offset + pageOffsets[record.indicatorPosition.end.page - 1].start;\r\n\r\n var top = start <= end ? start : end;\r\n var bottom = start <= end ? end : start;\r\n var height = bottom - top;\r\n\r\n markers.push({\r\n id: record.extractionFieldRecordId,\r\n top,\r\n height,\r\n color: ColorHelper.highlight_colors[record.colorIndex]\r\n });\r\n } else {\r\n var first_char = characters.find(character => character.i === record.location[0]);\r\n var last_char = characters.find(character => character.i === record.location[1]);\r\n\r\n if (first_char && last_char) {\r\n var _start = first_char.y1 + pageOffsets[first_char.page - 1].start;\r\n var _end = last_char.y2 + pageOffsets[last_char.page - 1].start;\r\n\r\n var _top = _start <= _end ? _start : _end;\r\n var _bottom = _start <= _end ? _end : _start;\r\n var _height = _bottom - _top;\r\n\r\n markers.push({\r\n id: record.extractionFieldRecordId,\r\n _top,\r\n _height,\r\n color: ColorHelper.highlight_colors[record.colorIndex]\r\n });\r\n }\r\n }\r\n });\r\n }\r\n\r\n this.setState({ documentHeight: totalHeight });\r\n\r\n return markers;\r\n };\r\n\r\n scrollChange = () => {\r\n this.setState({ scrollTop: this.props.scrollArea.scrollTop });\r\n };\r\n\r\n getY = event => {\r\n return event.clientY - this.minimap.getBoundingClientRect().top;\r\n };\r\n\r\n scrollPage = throttle(y => {\r\n if (this.mouseDown) {\r\n var scroll = y * (this.state.scrollHeight / this.state.offsetHeight);\r\n var height = this.state.offsetHeight;\r\n this.props.scrollArea.scrollTop = scroll - height / 2;\r\n }\r\n }, 50);\r\n\r\n mouseUp = () => {\r\n this.mouseDown = false;\r\n };\r\n\r\n mouseMove = event => {\r\n if (this.mouseDown) {\r\n var y = this.getY(event);\r\n this.scrollPage(y);\r\n }\r\n };\r\n\r\n render() {\r\n const { scrollTop, scrollHeight, offsetHeight, markers, documentHeight } = this.state;\r\n\r\n var scrollIndicatorStyle = {};\r\n\r\n if (scrollTop !== undefined && scrollHeight !== undefined && offsetHeight !== undefined) {\r\n var scale = offsetHeight / scrollHeight;\r\n var t = scrollTop * scale;\r\n var h = offsetHeight * scale;\r\n\r\n scrollIndicatorStyle = {\r\n top: t + 'px',\r\n height: h + 'px'\r\n };\r\n }\r\n\r\n return (\r\n (this.minimap = element)}\r\n onMouseDown={event => {\r\n this.mouseDown = true;\r\n var y = this.getY(event);\r\n this.scrollPage(y);\r\n }}\r\n >\r\n {offsetHeight !== scrollHeight &&
}\r\n {markers\r\n ? markers.map(marker => {\r\n if (!marker.top || !marker.height) {\r\n return null;\r\n }\r\n\r\n var markerScale = offsetHeight / documentHeight;\r\n var extractionIndicatorStyle = {\r\n top: Math.round(marker.top * markerScale),\r\n height: Math.ceil(marker.height * markerScale),\r\n backgroundColor: marker.color\r\n };\r\n\r\n return (\r\n \r\n );\r\n })\r\n : null}\r\n
\r\n );\r\n }\r\n}\r\nexport default Minimap;\r\n","export const SELECTION_TYPE = {\r\n DOCUMENT: 'PUT',\r\n PAGE: 'POST'\r\n};\r\n\r\nexport const sampleNumberTextMaxCharacters = '5';\r\n","import PropTypes from 'prop-types';\r\nimport React, { Component } from 'react';\r\n\r\nimport Icon from 'components/shared/icon';\r\n\r\nexport default class EditableText extends Component {\r\n static propTypes = {\r\n disableEdit: PropTypes.bool,\r\n maxLength: PropTypes.string.isRequired,\r\n onSubmit: PropTypes.func,\r\n renderValue: PropTypes.func,\r\n resize: PropTypes.string.isRequired,\r\n rows: PropTypes.string.isRequired,\r\n tag: PropTypes.string.isRequired,\r\n value: PropTypes.string.isRequired\r\n };\r\n\r\n static defaultProps = {\r\n maxLength: '400',\r\n resize: 'none',\r\n rows: '1',\r\n tag: 'input'\r\n };\r\n\r\n state = {\r\n inputValue: this.props.value,\r\n isEditing: false\r\n };\r\n\r\n componentDidUpdate(prevProps) {\r\n if (prevProps.value !== this.props.value) {\r\n this.setState({\r\n inputValue: this.props.value\r\n });\r\n }\r\n }\r\n\r\n onMouseEnter = () => {\r\n this.setState({\r\n isHovering: true\r\n });\r\n };\r\n\r\n onMouseLeave = () => {\r\n this.setState({\r\n isHovering: false\r\n });\r\n };\r\n\r\n onEditClick = () => {\r\n this.setState({ isEditing: true });\r\n };\r\n\r\n onInputChange = event => {\r\n const inputValue = event.target.value;\r\n this.setState({\r\n inputValue\r\n });\r\n };\r\n\r\n onBlur = () => {\r\n const { onSubmit } = this.props;\r\n const { inputValue } = this.state;\r\n\r\n onSubmit(inputValue);\r\n this.setState({ isEditing: false });\r\n };\r\n\r\n mountInput = elem => {\r\n if (!elem) {\r\n return;\r\n }\r\n\r\n this.inputElem = elem;\r\n this.inputElem.focus();\r\n document.execCommand('selectAll', false, null);\r\n };\r\n\r\n onKeyDown = event => {\r\n if (event.key === 'Enter') {\r\n // Submit on Enter\r\n event.preventDefault();\r\n this.inputElem.blur();\r\n } else if (event.key === 'Escape') {\r\n // Reset on Esc\r\n this.setState({\r\n isEditing: false,\r\n inputValue: this.props.value\r\n });\r\n }\r\n };\r\n\r\n render() {\r\n const { disableEdit, value, resize, rows, tag: TagName, maxLength, renderValue } = this.props;\r\n const { inputValue, isEditing } = this.state;\r\n\r\n return (\r\n \r\n {isEditing ? (\r\n \r\n ) : renderValue ? (\r\n renderValue(value)\r\n ) : (\r\n \r\n {value}\r\n \r\n )}\r\n\r\n {!isEditing && !disableEdit && (\r\n \r\n )}\r\n \r\n );\r\n }\r\n}\r\n","import PropTypes from 'prop-types';\r\nimport React, { Component } from 'react';\r\nimport { sampleNumberTextMaxCharacters } from '../constants';\r\nimport { FormattedMessage } from 'react-intl';\r\nimport EditableText from 'components/shared/form/editable-text';\r\nimport Icon from 'components/shared/icon';\r\n\r\n/*\r\n * Sample number input field\r\n */\r\nexport default class SampleNumberInputField extends Component {\r\n static propTypes = {\r\n block: PropTypes.any,\r\n documentId: PropTypes.number,\r\n projectId: PropTypes.number,\r\n readOnly: PropTypes.bool,\r\n sampleNumber: PropTypes.any,\r\n section: PropTypes.object,\r\n sectionLoading: PropTypes.any,\r\n updateSampleNumber: PropTypes.func\r\n };\r\n\r\n updateSampleNumber = numberValue => {\r\n const { updateSampleNumber, section, documentId, projectId } = this.props;\r\n\r\n return updateSampleNumber({\r\n documentId: documentId,\r\n projectId: projectId,\r\n sampleNumber: numberValue,\r\n start: section.start\r\n });\r\n };\r\n\r\n onChangeValue = numberValue => {\r\n const { sampleNumber } = this.props;\r\n if (numberValue === sampleNumber) {\r\n return;\r\n }\r\n return this.updateSampleNumber(numberValue);\r\n };\r\n\r\n render() {\r\n const { block, sampleNumber, sectionLoading, section, readOnly } = this.props;\r\n\r\n return sectionLoading === section.start ? (\r\n \r\n ) : sampleNumber !== '' ? (\r\n
\r\n \r\n
\r\n ) : (\r\n \r\n {placeholder => (\r\n this.onChangeValue(e.target.value)}\r\n />\r\n )}\r\n \r\n );\r\n }\r\n}\r\n","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport Icon from 'components/shared/icon';\r\nimport Button from 'components/shared/single-click-button';\r\nimport { debounce } from 'underscore';\r\nimport { getDocumentPageBinary } from 'store/api';\r\nimport { FormattedMessage } from 'react-intl';\r\nimport ReactTooltip from 'react-tooltip';\r\nimport Permissions from 'permissions/permissions';\r\nimport classNames from 'classnames';\r\nimport { SELECTION_TYPE } from './constants';\r\nimport SampleNumberInputField from './sample-number/sample-number-input-field';\r\n\r\nclass DocumentSplitter extends React.Component {\r\n static propTypes = {\r\n currentPage: PropTypes.number,\r\n currentProject: PropTypes.object.isRequired,\r\n documentId: PropTypes.number.isRequired,\r\n extractionFieldRecords: PropTypes.array.isRequired,\r\n getCurrentDocument: PropTypes.func,\r\n isMenuOpen: PropTypes.bool,\r\n organizeDocuments: PropTypes.func.isRequired,\r\n pageImageLoaded: PropTypes.bool,\r\n pageList: PropTypes.array.isRequired,\r\n projectId: PropTypes.number.isRequired,\r\n removeDocType: PropTypes.func.isRequired,\r\n sectionLoading: PropTypes.any,\r\n sections: PropTypes.array.isRequired,\r\n setExtractionFieldFilter: PropTypes.func.isRequired,\r\n updateMenu: PropTypes.func,\r\n updateSampleNumber: PropTypes.func.isRequired,\r\n clearUndoStack: PropTypes.func\r\n };\r\n\r\n state = {\r\n canOrganize: true,\r\n isThumbnailsLoading: false,\r\n pagesToOrganize: [],\r\n thumbnails: [],\r\n textCounter: 0\r\n };\r\n\r\n scrollArea = null;\r\n\r\n componentDidMount() {\r\n const { pageList, setExtractionFieldFilter, currentPage, sections } = this.props;\r\n this.setState({ thumbnails: pageList.map(({ pageNumber }) => ({ pageNumber, loaded: false })) }, () => {\r\n const selectedSection = sections\r\n ? sections.find(({ start, length }) => currentPage >= start && currentPage < start + length)\r\n : { start: 1, length: 1 };\r\n setExtractionFieldFilter({\r\n ...selectedSection,\r\n sectionId: 0,\r\n currentPage,\r\n isPage: true\r\n });\r\n this.loadThumbnailsInViewport();\r\n });\r\n\r\n if (this.scrollArea) {\r\n this.scrollArea.addEventListener('scroll', this.scrollChange);\r\n }\r\n }\r\n\r\n componentDidUpdate(prevProps, prevState) {\r\n const {\r\n currentPage,\r\n sections,\r\n setExtractionFieldFilter,\r\n pageList,\r\n documentId,\r\n extractionFieldRecords\r\n } = this.props;\r\n\r\n if (this.scrollArea) {\r\n this.loadThumbnailsInViewport();\r\n this.scrollArea.addEventListener('scroll', this.scrollChange);\r\n } else {\r\n this.loadThumbnailsInViewport();\r\n }\r\n\r\n if (prevProps.currentPage !== currentPage) {\r\n this.scrollIntoThumbnail();\r\n const selectedSection = sections\r\n ? sections.find(({ start, length }) => currentPage >= start && currentPage < start + length)\r\n : { start: 1, length: 1 };\r\n\r\n if (!selectedSection) {\r\n return;\r\n }\r\n\r\n this.setState(\r\n {\r\n pagesToOrganize: [\r\n {\r\n length: 1,\r\n start: currentPage,\r\n type: SELECTION_TYPE.PAGE,\r\n sectionId: selectedSection.start,\r\n sectionLength: selectedSection.length,\r\n extractionFieldGroupIds: selectedSection.extractionFieldGroupIds\r\n }\r\n ]\r\n },\r\n () =>\r\n setExtractionFieldFilter({\r\n ...selectedSection,\r\n sectionId: selectedSection.start,\r\n currentPage: currentPage,\r\n isPage: true\r\n })\r\n );\r\n } else if (prevProps.extractionFieldRecords !== extractionFieldRecords) {\r\n const selectedSection = sections\r\n ? sections.find(({ start, length }) => currentPage >= start && currentPage < start + length)\r\n : { start: 1, length: 1 };\r\n\r\n if (!selectedSection) {\r\n return;\r\n }\r\n\r\n setExtractionFieldFilter({\r\n ...selectedSection,\r\n sectionId: selectedSection.start,\r\n currentPage: currentPage,\r\n isPage: true\r\n });\r\n }\r\n\r\n if (prevProps.documentId !== documentId || prevProps.pageList.length !== pageList.length) {\r\n this.setState({ thumbnails: pageList.map(({ pageNumber }) => ({ pageNumber, loaded: false })) });\r\n }\r\n }\r\n\r\n scrollIntoThumbnail = () => {\r\n const { currentPage, isMenuOpen } = this.props;\r\n\r\n if (isMenuOpen) {\r\n const element = document.getElementById(`thumbnail-${currentPage}`);\r\n if (element) {\r\n element.scrollIntoView({ behavior: 'smooth', block: 'center', inline: 'center' });\r\n this.loadThumbnailsInViewport();\r\n }\r\n }\r\n };\r\n\r\n loadThumbnailsInViewport = () => {\r\n const { thumbnails, isThumbnailsLoading } = this.state;\r\n\r\n if (!this.scrollArea || isThumbnailsLoading) return;\r\n const { projectId, documentId } = this.props;\r\n\r\n const scrollAreaBounds = this.scrollArea.getBoundingClientRect();\r\n const newThumbnails = [];\r\n for (let i = 0; i < thumbnails.length; i++) {\r\n const thumbnailPage = document.getElementById(`thumbnail-${i + 1}`);\r\n if (!thumbnails[i].loaded && thumbnailPage) {\r\n const page = thumbnailPage.getBoundingClientRect();\r\n if (\r\n (scrollAreaBounds.top < page.top && page.top < scrollAreaBounds.bottom) ||\r\n (scrollAreaBounds.top < page.bottom && page.bottom < scrollAreaBounds.bottom) ||\r\n (page.top < scrollAreaBounds.top && page.bottom > scrollAreaBounds.bottom)\r\n ) {\r\n newThumbnails.push(i + 1);\r\n }\r\n }\r\n }\r\n\r\n if (newThumbnails.length) {\r\n this.setState({ isThumbnailsLoading: true });\r\n Promise.all(\r\n newThumbnails.map(page =>\r\n getDocumentPageBinary(projectId, documentId, page, true).then(data => ({\r\n url: URL.createObjectURL(new Blob([data])),\r\n page\r\n }))\r\n )\r\n ).then(data =>\r\n this.setState(\r\n {\r\n thumbnails: thumbnails.map(page =>\r\n newThumbnails.includes(page.pageNumber)\r\n ? { ...page, loaded: true, url: data.find(response => response.page === page.pageNumber).url }\r\n : page\r\n ),\r\n isThumbnailsLoading: false\r\n },\r\n () => this.loadThumbnailsInViewport()\r\n )\r\n );\r\n }\r\n };\r\n\r\n scrollChange = debounce(event => {\r\n this.loadThumbnailsInViewport();\r\n }, 200);\r\n\r\n onOrganizeDocuments = method => {\r\n const { pagesToOrganize } = this.state;\r\n const { projectId, documentId, currentPage, organizeDocuments, setExtractionFieldFilter } = this.props;\r\n const length =\r\n method === SELECTION_TYPE.DOCUMENT\r\n ? pagesToOrganize.length\r\n : pagesToOrganize[pagesToOrganize.length - 1].start - pagesToOrganize[0].start + 1;\r\n\r\n const payload = {\r\n projectId,\r\n documentId,\r\n method,\r\n start: pagesToOrganize[0].start,\r\n length\r\n };\r\n\r\n organizeDocuments(payload).then(response =>\r\n this.setState(\r\n {\r\n pagesToOrganize: [\r\n {\r\n length: 1,\r\n start: currentPage,\r\n type: SELECTION_TYPE.PAGE,\r\n sectionId: payload.start,\r\n sectionLength: payload.length\r\n }\r\n ]\r\n },\r\n () => {\r\n const selectedSection = response.payload.sections\r\n ? response.payload.sections.find(\r\n ({ start, length }) => currentPage >= start && currentPage < start + length\r\n )\r\n : { start: 1, length: 1 };\r\n\r\n if (!selectedSection) {\r\n return;\r\n }\r\n\r\n setExtractionFieldFilter({\r\n ...selectedSection,\r\n sectionId: selectedSection.start,\r\n currentPage,\r\n isPage: false\r\n });\r\n }\r\n )\r\n );\r\n };\r\n\r\n handleClick = (section, event, type, pageNumber = 0) => {\r\n const { pagesToOrganize } = this.state;\r\n const { currentPage, setExtractionFieldFilter } = this.props;\r\n event.stopPropagation();\r\n\r\n if (!section) {\r\n return;\r\n }\r\n\r\n let pageInfo = {\r\n start: type === SELECTION_TYPE.PAGE ? pageNumber : section.start,\r\n length: type === SELECTION_TYPE.PAGE ? 1 : section.length,\r\n type,\r\n isClassified: section.isClassified,\r\n extractionFieldGroupIds: section.extractionFieldGroupIds,\r\n ...(type === SELECTION_TYPE.PAGE && { sectionId: section.start, sectionLength: section.length })\r\n };\r\n\r\n if (event.ctrlKey && pagesToOrganize.length) {\r\n const canAppend = pagesToOrganize.every(page => page.type === type);\r\n const sameSection = pageInfo.sectionId === pagesToOrganize[0].sectionId;\r\n let pages = [pageInfo];\r\n if (canAppend && sameSection) {\r\n pages = !pagesToOrganize.find(page => page.start === pageInfo.start)\r\n ? pagesToOrganize.concat(pageInfo)\r\n : pagesToOrganize.filter(page => page.start !== pageInfo.start);\r\n pages.sort((a, b) => a.start - b.start);\r\n }\r\n const areContiguoussAndSameGroup = pages.reduce((acc, curr, index, temp) => {\r\n if (index === temp.length - 1) {\r\n return acc;\r\n }\r\n return (\r\n acc &&\r\n curr.start + curr.length === temp[index + 1].start &&\r\n curr.extractionFieldGroupIds[0] === temp[index + 1].extractionFieldGroupIds[0]\r\n );\r\n }, true);\r\n this.setState({ pagesToOrganize: pages }, () =>\r\n this.setState({ canOrganize: canAppend ? areContiguoussAndSameGroup : true })\r\n );\r\n } else {\r\n this.setState(\r\n {\r\n pagesToOrganize: [pageInfo]\r\n },\r\n () => this.setState({ canOrganize: true })\r\n );\r\n const element = document.getElementById(`page-${type === SELECTION_TYPE.PAGE ? pageNumber : section.start}`);\r\n if (element) {\r\n element.scrollIntoView({ behavior: 'smooth', block: 'center' });\r\n }\r\n }\r\n };\r\n\r\n renderSection = (section, block) => {\r\n const { pagesToOrganize, thumbnails } = this.state;\r\n let result = [];\r\n let index = section.start - 1;\r\n\r\n for (let i = index; i < index + section.length; i++) {\r\n if (thumbnails[i] && thumbnails[i].loaded) {\r\n result.push(\r\n
\r\n this.handleClick(section, event, SELECTION_TYPE.PAGE, i + 1)}\r\n alt={`Page ${i + 1} thumbnail`}\r\n className={classNames({\r\n active:\r\n pagesToOrganize.length &&\r\n pagesToOrganize.find(page => page.start === i + 1 && page.type === SELECTION_TYPE.PAGE)\r\n })}\r\n src={thumbnails[i].url}\r\n >\r\n {i + 1}\r\n
\r\n );\r\n } else {\r\n result.push(\r\n
\r\n \r\n {i + 1}\r\n
\r\n );\r\n }\r\n }\r\n return result;\r\n };\r\n\r\n handleMenuClick = () => {\r\n const { isMenuOpen, updateMenu } = this.props;\r\n if (!isMenuOpen) {\r\n this.scrollIntoThumbnail();\r\n }\r\n updateMenu(!isMenuOpen);\r\n };\r\n\r\n removeDocType = section => {\r\n const { getCurrentDocument, removeDocType, projectId, documentId, clearUndoStack } = this.props;\r\n const sectionStart = section.start;\r\n removeDocType(projectId, documentId, sectionStart).then(() => {\r\n clearUndoStack();\r\n getCurrentDocument(projectId, documentId);\r\n });\r\n };\r\n\r\n render() {\r\n const block = 'document-splitter';\r\n const { canOrganize, pagesToOrganize } = this.state;\r\n const {\r\n sections,\r\n projectId,\r\n documentId,\r\n currentProject,\r\n isMenuOpen,\r\n updateSampleNumber,\r\n sectionLoading\r\n } = this.props;\r\n\r\n let cantCombine,\r\n cantSplit = true;\r\n if (pagesToOrganize.length) {\r\n cantCombine =\r\n !(canOrganize && pagesToOrganize.every(page => page.type === SELECTION_TYPE.DOCUMENT)) ||\r\n pagesToOrganize.length === 1;\r\n cantSplit =\r\n !(canOrganize && pagesToOrganize.every(page => page.type === SELECTION_TYPE.PAGE)) ||\r\n pagesToOrganize.length === pagesToOrganize[0].sectionLength;\r\n }\r\n return (\r\n
\r\n {!isMenuOpen ? (\r\n this.handleMenuClick()}\r\n data-tip\r\n data-for=\"document-splitter-button\"\r\n >\r\n \r\n \r\n \r\n \r\n \r\n ) : (\r\n
\r\n
\r\n
\r\n

\r\n \r\n

\r\n this.handleMenuClick()}\r\n data-tip\r\n data-for=\"document-splitter-close\"\r\n >\r\n \r\n \r\n \r\n \r\n \r\n
\r\n {Permissions.Project.Document.canModify() &&\r\n !Permissions.Project._States.isProjectArchived(currentProject) && (\r\n
\r\n this.onOrganizeDocuments(SELECTION_TYPE.DOCUMENT)}\r\n >\r\n \r\n \r\n this.onOrganizeDocuments(SELECTION_TYPE.PAGE)}\r\n >\r\n \r\n \r\n
\r\n )}\r\n
\r\n
(this.scrollArea = element)}>\r\n {sections.map((section, index) => {\r\n return (\r\n
\r\n this.handleClick(section, event, SELECTION_TYPE.DOCUMENT)}\r\n >\r\n {section.name}\r\n \r\n {section.extractionFieldGroupIds.length !== 0 && (\r\n this.removeDocType(section)}\r\n data-tip\r\n data-for=\"document-splitter-remove\"\r\n >\r\n \r\n \r\n \r\n \r\n \r\n )}\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n page.start === section.start && page.type === SELECTION_TYPE.DOCUMENT\r\n )\r\n })}\r\n onClick={event => this.handleClick(section, event, SELECTION_TYPE.DOCUMENT)}\r\n >\r\n {this.renderSection(section, block)}\r\n
\r\n
\r\n );\r\n })}\r\n
\r\n
\r\n )}\r\n \r\n );\r\n }\r\n}\r\n\r\nexport default DocumentSplitter;\r\n","import React from 'react';\r\nimport { debounce } from 'underscore';\r\nimport enhanceWithClickOutside from 'react-click-outside';\r\nimport PropTypes from 'prop-types';\r\nimport Page from 'containers/document-viewer/document-renderer/page-container';\r\nimport DocumentControls from './document-controls/document-controls';\r\nimport Minimap from './minimap/minimap';\r\nimport DocumentSplitter from './document-splitter/document-splitter';\r\n\r\nclass DocumentRenderer extends React.Component {\r\n initPromise = null;\r\n\r\n static propTypes = {\r\n currentDocument: PropTypes.object,\r\n currentDocumentLayout: PropTypes.object,\r\n currentProject: PropTypes.object,\r\n currentSelection: PropTypes.any,\r\n focusFunction: PropTypes.func,\r\n getCurrentDocument: PropTypes.func,\r\n history: PropTypes.object,\r\n initialLocation: PropTypes.object,\r\n isMenuOpen: PropTypes.bool,\r\n onClickOutside: PropTypes.func,\r\n organizeDocuments: PropTypes.func.isRequired,\r\n pushUndoStack: PropTypes.func,\r\n readOnly: PropTypes.bool,\r\n removeDocType: PropTypes.func,\r\n searchResults: PropTypes.any,\r\n selection: PropTypes.any,\r\n selectionFunction: PropTypes.func,\r\n setExtractionFieldFilter: PropTypes.func.isRequired,\r\n updateMenu: PropTypes.func,\r\n updateSampleNumber: PropTypes.func.isRequired,\r\n clearUndoStack: PropTypes.func\r\n };\r\n\r\n state = {\r\n currentPage: 1,\r\n shiftKeyDown: false,\r\n zoomLevel: 1.0,\r\n pageBoundaries: [],\r\n pagesInViewport: [],\r\n pageImageLoaded: false\r\n };\r\n\r\n handleClickOutside = () => {\r\n this.props.focusFunction(false);\r\n };\r\n\r\n scrollArea = null;\r\n PAGE_BUFFER_SIZE = 1;\r\n\r\n componentDidUpdate(prevProps) {\r\n const { documentId: docDidLoad } = this.props.currentDocument;\r\n const { documentId: docWasLoaded } = prevProps.currentDocument;\r\n if ((!docWasLoaded && docDidLoad) || docWasLoaded !== docDidLoad) {\r\n this.setLastVisitedPage();\r\n }\r\n }\r\n\r\n UNSAFE_componentWillMount() {\r\n //Listen for page change events emmited by other controls\r\n window.addEventListener('message', this.messageListener, false);\r\n\r\n //Add keylisteners\r\n window.addEventListener('keydown', this.keyListener);\r\n window.addEventListener('keyup', this.keyListener);\r\n\r\n var previousZoom = sessionStorage.getItem('zoomLevel');\r\n\r\n if (previousZoom && previousZoom !== this.state.zoomLevel) this.changeZoom(parseFloat(previousZoom));\r\n }\r\n\r\n componentDidMount() {\r\n this.scrollArea.addEventListener('scroll', this.scrollChange);\r\n\r\n this.initialize();\r\n }\r\n\r\n componentWillUnmount() {\r\n window.removeEventListener('message', this.messageListener, false);\r\n window.removeEventListener('keydown', this.keyListener);\r\n window.removeEventListener('keyup', this.keyListener);\r\n }\r\n\r\n initialize = () => {\r\n setTimeout(() => {\r\n this.calculatePageBoundaries();\r\n this.setInitialPosition();\r\n setTimeout(() => {\r\n this.calculatePagesInViewport();\r\n }, 0);\r\n }, 200); //Slight delay added to ensure this fires after render completes (boundary calculation needs to be done after DOM is available)\r\n };\r\n // Parse query string for page nums so we can scroll to it\r\n parseQueryPage = (page, totalPages) => {\r\n if (!parseInt(page, 10)) {\r\n return null;\r\n }\r\n return page > totalPages ? Math.min(totalPages, page) : page < 1 ? Math.max(1, page) : page;\r\n };\r\n\r\n messageListener = message => {\r\n if (message && message.data && message.data.document_page_change) {\r\n this.scrollToPage(message.data.document_page_change);\r\n }\r\n };\r\n\r\n keyListener = e => {\r\n this.setState({\r\n shiftKeyDown: e.shiftKey\r\n });\r\n };\r\n\r\n setInitialPosition = () => {\r\n const { initialLocation, currentDocumentLayout } = this.props;\r\n\r\n if (initialLocation.location) {\r\n this.scrollToPage(this.getPageNumber(initialLocation.location));\r\n } else if (initialLocation.page) {\r\n const pageNum = this.parseQueryPage(initialLocation.page, currentDocumentLayout.layout.length);\r\n this.scrollToPage(pageNum);\r\n } else {\r\n this.setLastVisitedPage();\r\n }\r\n };\r\n\r\n // Used to automatically return a previously opened document to the last viewed page\r\n setLastVisitedPage = () => {\r\n var { documentId } = this.props.currentDocument;\r\n var page = sessionStorage.getItem(`document-${documentId}-page`);\r\n this.scrollToPage(page);\r\n };\r\n\r\n getPageNumber = location => {\r\n var matchingPage = this.props.currentDocumentLayout.layout.find(\r\n page => location[0] >= page.range.start && location[0] < page.range.end\r\n );\r\n\r\n return matchingPage ? matchingPage.pageNumber : 0;\r\n };\r\n\r\n scrollToPage = i => {\r\n i = parseInt(i, 10);\r\n\r\n if (0 < i && i <= this.props.currentDocumentLayout.layout.length) {\r\n var element = document.getElementById(`page-${i}`);\r\n\r\n if (element && this.scrollArea) {\r\n var top = element.offsetTop - 100;\r\n this.scrollArea.scrollTop = top;\r\n this.scrollChange();\r\n }\r\n }\r\n };\r\n\r\n changeZoom = ratio => {\r\n sessionStorage.setItem('zoomLevel', ratio);\r\n this.setState({ zoomLevel: ratio }, () => {\r\n this.calculatePageBoundaries();\r\n this.setLastVisitedPage();\r\n });\r\n };\r\n\r\n scrollChange = debounce(() => {\r\n this.calculatePagesInViewport();\r\n this.calculateCurrentPage();\r\n }, 100);\r\n\r\n calculatePageBoundaries = () => {\r\n var pageBoundaries = [];\r\n var elements = [...document.getElementsByClassName('renderer-page')];\r\n\r\n elements.forEach(element => {\r\n pageBoundaries.push({\r\n top: element.offsetTop,\r\n bottom: element.offsetTop + element.offsetHeight\r\n });\r\n });\r\n\r\n this.setState({\r\n pageBoundaries: pageBoundaries\r\n });\r\n };\r\n\r\n calculatePagesInViewport = () => {\r\n if (!this.scrollArea) return;\r\n\r\n var scrollInfo = {\r\n scrollHeight: this.scrollArea.scrollHeight,\r\n offsetHeight: this.scrollArea.offsetHeight,\r\n scrollTop: this.scrollArea.scrollTop\r\n };\r\n\r\n var top = scrollInfo.scrollTop;\r\n var bottom = top + scrollInfo.offsetHeight;\r\n var { pageBoundaries } = this.state;\r\n var pagesInViewport = [];\r\n\r\n pageBoundaries.forEach((page, i) => {\r\n if (\r\n (top < page.top && page.top < bottom) ||\r\n (top < page.bottom && page.bottom < bottom) ||\r\n (page.top < top && page.bottom > bottom)\r\n ) {\r\n pagesInViewport.push({\r\n index: i,\r\n pageNumber: i + 1,\r\n page: page\r\n });\r\n }\r\n });\r\n\r\n this.setState({\r\n pagesInViewport: pagesInViewport\r\n }, () => {\r\n this.calculateCurrentPage();\r\n });\r\n };\r\n\r\n calculateCurrentPage = () => {\r\n const { currentDocument } = this.props;\r\n const { pagesInViewport } = this.state;\r\n var scrollInfo = {\r\n scrollHeight: this.scrollArea.scrollHeight,\r\n offsetHeight: this.scrollArea.offsetHeight,\r\n scrollTop: this.scrollArea.scrollTop\r\n };\r\n\r\n var currentPageNumber = 0;\r\n var shortestDistance = Number.MAX_SAFE_INTEGER;\r\n var middleOfScrollArea = Math.round(scrollInfo.scrollTop + scrollInfo.offsetHeight / 2);\r\n\r\n pagesInViewport.forEach(page => {\r\n var middleOfPage = page.page.top + (page.page.bottom - page.page.top) / 2;\r\n var distance = Math.abs(middleOfScrollArea - middleOfPage);\r\n\r\n if (distance < shortestDistance) {\r\n shortestDistance = distance;\r\n currentPageNumber = page.index + 1; //Convert 0 index to page numbers\r\n }\r\n });\r\n\r\n sessionStorage.setItem(`document-${currentDocument.documentId}-page`, currentPageNumber);\r\n this.setState({ currentPage: currentPageNumber });\r\n };\r\n\r\n setPageImageLoaded = () => {\r\n this.setState({ pageImageLoaded: true });\r\n };\r\n\r\n render() {\r\n const { shiftKeyDown, zoomLevel, pagesInViewport, currentPage, pageImageLoaded } = this.state;\r\n\r\n const {\r\n currentDocument,\r\n currentDocumentLayout,\r\n currentProject,\r\n focusFunction,\r\n getCurrentDocument,\r\n searchResults,\r\n selection,\r\n currentSelection,\r\n selectionFunction,\r\n readOnly,\r\n pushUndoStack,\r\n organizeDocuments,\r\n updateSampleNumber,\r\n setExtractionFieldFilter,\r\n isMenuOpen,\r\n removeDocType,\r\n updateMenu,\r\n clearUndoStack\r\n } = this.props;\r\n\r\n return (\r\n (this.scrollArea = element)}\r\n onClick={() => focusFunction(true)}\r\n >\r\n {currentDocumentLayout.isLoaded && currentDocument.isLoaded ? (\r\n \r\n ) : null}\r\n {currentDocumentLayout.isLoaded\r\n ? currentDocumentLayout.layout.map((page, i) => {\r\n const showPage = pagesInViewport && pagesInViewport.some(p => p.index === i);\r\n return (\r\n \r\n );\r\n })\r\n : null}\r\n\r\n {currentDocumentLayout.isLoaded ? (\r\n \r\n ) : null}\r\n\r\n \r\n \r\n );\r\n }\r\n}\r\n\r\nexport default enhanceWithClickOutside(DocumentRenderer);\r\n","import { connect } from 'react-redux';\r\n\r\nimport DocumentRenderer from 'components/document-viewer/document-renderer/document-renderer';\r\nimport { clearUndoStack } from 'store/document-viewer-undo';\r\nimport {\r\n organizeDocuments,\r\n setExtractionFieldFilter,\r\n updateSampleNumber,\r\n removeDocType,\r\n getCurrentDocument\r\n} from 'store/current-document';\r\n\r\nconst mapStateToProps = ({ data: { currentDocument, currentDocumentLayout, currentProject } }) => ({\r\n currentDocument,\r\n currentDocumentLayout,\r\n currentProject\r\n});\r\n\r\nconst mapDispatchToProps = {\r\n organizeDocuments,\r\n updateSampleNumber,\r\n setExtractionFieldFilter,\r\n removeDocType,\r\n getCurrentDocument,\r\n clearUndoStack\r\n};\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(DocumentRenderer);\r\n","import React from 'react';\r\nimport { FormattedMessage } from 'react-intl';\r\nimport Icon from 'components/shared/icon';\r\n\r\nfunction KiraAndGenAIWorkbenchBanner({messageId, isCalledFromDocViewer}) {\r\n return (\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n );\r\n}\r\n\r\nexport default KiraAndGenAIWorkbenchBanner;\r\n","import PropTypes from 'prop-types';\r\nimport React, { Component } from 'react';\r\nimport { FormattedMessage } from 'react-intl';\r\nimport { ITEM_STATUSES } from 'models/project-item';\r\nimport SearchToolbar from 'containers/search/file-list-search/search-toolbar-container';\r\nimport Toolbar from 'containers/document-viewer/toolbar/toolbar-container';\r\nimport Icon from 'components/shared/icon';\r\nimport DocumentRenderer from 'containers/document-viewer/document-renderer/document-renderer-container';\r\nimport Constants from 'utils/constants';\r\nimport KiraAndGenAIWorkbenchBanner from 'components/header/banner/kira-workbench-banner';\r\nimport DisclaimerBanner from 'components/header/banner/disclaimer-banner';\r\n\r\nclass MainPanel extends Component {\r\n static propTypes = {\r\n currentDocument: PropTypes.object,\r\n currentDocumentLayout: PropTypes.object,\r\n currentProject: PropTypes.object,\r\n currentSearchFolder: PropTypes.object,\r\n currentSelection: PropTypes.any,\r\n documentData: PropTypes.any,\r\n documentStateErrors: PropTypes.any,\r\n focusFunction: PropTypes.func,\r\n getCurrentDocument: PropTypes.func,\r\n history: PropTypes.object,\r\n initialLocation: PropTypes.object,\r\n isMenuOpen: PropTypes.bool,\r\n openSearchResults: PropTypes.func,\r\n pages: PropTypes.any,\r\n readOnly: PropTypes.bool,\r\n refreshData: PropTypes.func,\r\n searchResults: PropTypes.any,\r\n selection: PropTypes.any,\r\n selectionFunction: PropTypes.func,\r\n updateMenu: PropTypes.func,\r\n viewBanner: PropTypes.bool\r\n };\r\n\r\n state = {\r\n isSearchToolbar: false\r\n };\r\n\r\n componentDidMount() {\r\n const { currentSearchFolder } = this.props;\r\n if (currentSearchFolder.children && currentSearchFolder.children.length > 0) {\r\n this.setState({ isSearchToolbar: true });\r\n }\r\n }\r\n\r\n UNSAFE_componentWillReceiveProps(nextProps) {\r\n const { currentSearchFolder } = this.props;\r\n // Determine whether to display search toolbar or not\r\n if (nextProps.currentSearchFolder.children !== null) {\r\n if (\r\n currentSearchFolder.children !== nextProps.currentSearchFolder.children ||\r\n (currentSearchFolder.children && currentSearchFolder.children.length > 0) ||\r\n (nextProps.currentSearchFolder.children && nextProps.currentSearchFolder.children.length > 0)\r\n ) {\r\n return this.setState({ isSearchToolbar: true });\r\n }\r\n }\r\n\r\n return this.setState({ isSearchToolbar: false });\r\n }\r\n\r\n isGenAITemplate(){\r\n var { currentDocument } = this.props;\r\n\r\n if (currentDocument.projectTemplates[0].templateCategoryId == Constants.TemplateCategories.NON_EDITABLE_GENAI_DETAIL_TESTING ||\r\n currentDocument.projectTemplates[0].templateCategoryId == Constants.TemplateCategories.NON_EDITABLE_GENAI_NONDETAIL_TESTING ||\r\n currentDocument.projectTemplates[0].templateCategoryId == Constants.TemplateCategories.Custom_GENAI_NONDETAIL_TESTING) {\r\n return true;\r\n }\r\n else {\r\n return false;\r\n }\r\n }\r\n\r\n isAbbyyTemplate() {\r\n var { currentDocument } = this.props;\r\n\r\n if (currentDocument.projectTemplates[0].templateCategoryId == Constants.TemplateCategories.NON_EDITABLE_DETAIL_TESTING ||\r\n currentDocument.projectTemplates[0].templateCategoryId == Constants.TemplateCategories.DETAIL_TESTING) {\r\n return true;\r\n }\r\n else {\r\n return false;\r\n }\r\n }\r\n\r\n render() {\r\n var {\r\n currentDocument,\r\n currentDocumentLayout,\r\n getCurrentDocument,\r\n documentStateErrors,\r\n history,\r\n initialLocation,\r\n isMenuOpen,\r\n openSearchResults,\r\n readOnly,\r\n refreshData,\r\n searchResults,\r\n selection,\r\n currentSelection,\r\n selectionFunction,\r\n focusFunction,\r\n updateMenu,\r\n currentProject,\r\n viewBanner\r\n } = this.props;\r\n\r\n var { isSearchToolbar } = this.state;\r\n const banner =\r\n (currentDocument.isLoaded ?\r\n ((currentDocument.projectTemplates[0].templateCategoryId == Constants.TemplateCategories.NON_DETAIL_TESTING && //Banner to be shown if Kira Template and GenAI Toggle is OFF \r\n !currentProject.isGenAIProcessingEnabled) ? 1 :\r\n (currentDocument.projectTemplates[0].templateCategoryId == Constants.TemplateCategories.NON_DETAIL_TESTING && //Banner to be shown if Kira Template and GenAI Toggle is ON\r\n currentProject.isGenAIProcessingEnabled) ? 2 :\r\n ((this.isGenAITemplate()) && (!currentProject.isGenAIProcessingEnabled)) ? 3 : //Banner to be shown if GenAI Template and GenAI Toggle is OFF\r\n ((this.isGenAITemplate() && currentProject.isGenAIProcessingEnabled) &&\r\n (viewBanner || currentDocument.itemStateId == ITEM_STATUSES.REPROCESSINGREQUIRED)) ? 4 : 0 //Banner to be shown if GenAI Template and GenAI Toggle is ON and Atleast one Document is in Reprocessing Required Status\r\n ) : 0 )\r\n\r\n return (\r\n
\r\n {currentDocument.isLoaded ? (\r\n isSearchToolbar ? (\r\n \r\n ) : (\r\n \r\n )\r\n ) : (\r\n
\r\n )}\r\n \r\n {(currentDocument.isLoaded && (this.isGenAITemplate() || this.isAbbyyTemplate())) &&\r\n
\r\n \r\n
}\r\n\r\n {banner != 0 &&\r\n 0) ? true : false}\r\n />}\r\n\r\n {!currentDocument.isLoaded || (documentStateErrors && documentStateErrors.length > 0) ? (\r\n
\r\n {documentStateErrors.indexOf(Constants.Document_Error_States.DOCUMENTDELETED) !== -1 ? (\r\n
\r\n \r\n

\r\n \r\n

\r\n
\r\n ) : documentStateErrors.indexOf(Constants.Document_Error_States.UNPROCESSED) !== -1 ? (\r\n
\r\n \r\n

\r\n \r\n

\r\n
\r\n ) : documentStateErrors.indexOf(Constants.Document_Error_States.METADATA404) !== -1 ? (\r\n
\r\n \r\n

\r\n \r\n

\r\n
\r\n ) : documentStateErrors.indexOf(Constants.Document_Error_States.LAYOUT404) !== -1 ? (\r\n
\r\n \r\n

\r\n \r\n

\r\n
\r\n ) : (\r\n \r\n )}\r\n
\r\n ) : null}\r\n\r\n {currentDocumentLayout.isLoaded && currentDocumentLayout.layout.length > 0 ? (\r\n \r\n ) : null}\r\n\r\n {!(!currentDocument.isLoaded || documentStateErrors.length > 0) &&\r\n !(currentDocumentLayout.isLoaded && currentDocumentLayout.layout.length > 0) ? (\r\n
\r\n ) : null}\r\n
\r\n );\r\n }\r\n}\r\n\r\nexport default MainPanel;\r\n","import { connect } from 'react-redux';\r\n\r\nimport MainPanel from 'components/document-viewer/panels/main-panel';\r\nimport { getCurrentDocument } from 'store/current-document';\r\n\r\nconst mapStateToProps = ({ data: { currentDocument, currentDocumentLayout, currentProject } }) => ({\r\n currentDocument,\r\n currentDocumentLayout,\r\n currentProject\r\n});\r\n\r\nconst mapDispatchToProps = {\r\n getCurrentDocument\r\n};\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(MainPanel);\r\n","import React, { useState, useEffect } from 'react';\r\nimport Button from 'components/shared/single-click-button';\r\nimport Icon from 'components/shared/icon';\r\nimport Modal from 'components/shared/modal';\r\nimport { FormattedMessage } from 'react-intl';\r\nimport TextArea from 'components/shared/form/textarea';\r\nimport { addNotification } from 'store/notifications.js';\r\nimport store from 'store/store';\r\n\r\nfunction EditExtractionField(props) {\r\n const {\r\n showEditExtractionFieldModal,\r\n closeEditExtractionFieldModal,\r\n showDuplicateFieldModal,\r\n closeDuplicateFieldModal,\r\n extractionField,\r\n extractionFields,\r\n refreshFunction,\r\n editExtractionField,\r\n createExtraction,\r\n onCreateFail,\r\n onCreateSuccess\r\n } = props;\r\n\r\n const [initialName, setInitialName] = useState('');\r\n const [initialDescription, setInitialDescription] = useState('');\r\n const [name, setName] = useState('');\r\n const [description, setDescription] = useState('');\r\n const [isResponsePending, setIsResponsePending] = useState(false);\r\n\r\n useEffect(() => {\r\n if (showEditExtractionFieldModal || showDuplicateFieldModal) {\r\n fetchExtractionFieldData();\r\n }\r\n }, [showEditExtractionFieldModal, showDuplicateFieldModal]);\r\n \r\n const fetchExtractionFieldData = () => {\r\n if (extractionField && extractionFields) {\r\n const fieldData = extractionFields.find(field => field.id === extractionField.id);\r\n if (fieldData) {\r\n const { extractionFieldName, extractionFieldDescription } = fieldData;\r\n setInitialName(extractionFieldName);\r\n setInitialDescription(extractionFieldDescription);\r\n setName(extractionFieldName);\r\n setDescription(extractionFieldDescription);\r\n }\r\n }\r\n };\r\n\r\n const onEditSave = () => {\r\n setIsResponsePending(true);\r\n\r\n return editExtractionField(extractionField.id, name, description, extractionField.externalSystemId).then(\r\n response => {\r\n setIsResponsePending(false);\r\n refreshFunction();\r\n closeEditExtractionFieldModal();\r\n return response;\r\n }\r\n );\r\n };\r\n\r\n const handleDuplicateClick = groupId => {\r\n setIsResponsePending(true);\r\n return createExtraction(name, description, '', groupId)\r\n .then(handleDuplicateSuccess)\r\n .catch(handleDuplicateFail);\r\n };\r\n\r\n const handleDuplicateSuccess = response => {\r\n setIsResponsePending(false);\r\n showDuplicateExtractionNotification();\r\n onCreateSuccess(response.data);\r\n };\r\n\r\n const handleDuplicateFail = error => {\r\n setIsResponsePending(false);\r\n onCreateFail();\r\n };\r\n\r\n const showDuplicateExtractionNotification = () => {\r\n const message = ;\r\n store.dispatch(addNotification({ message, clearOnPageChange: true, autohide: 10 }));\r\n };\r\n\r\n const isSaveEnabled =\r\n (name !== initialName || description !== initialDescription) && name.trim() !== '' && description.trim() !== '';\r\n\r\n const titleId = showEditExtractionFieldModal\r\n ? 'edit-extraction-field-modal.title'\r\n : 'duplicate-extraction-field-modal.title';\r\n\r\n const onSaveClick = showEditExtractionFieldModal ? onEditSave : () => handleDuplicateClick(extractionField.groupId);\r\n const closeModal = showEditExtractionFieldModal ? closeEditExtractionFieldModal : closeDuplicateFieldModal;\r\n\r\n const calculateHeight = (description) => {\r\n if (description.length == 0) {\r\n return '62px';\r\n } else if (description.length < 30) {\r\n return '20px';\r\n } else if (description.length >= 30) {\r\n return '42px';\r\n } else {\r\n return '0px';\r\n }\r\n };\r\n\r\n return (\r\n
\r\n {showEditExtractionFieldModal || showDuplicateFieldModal ? (\r\n \r\n
\r\n
\r\n

\r\n \r\n

\r\n \r\n
\r\n
\r\n \r\n \r\n \r\n {showEditExtractionFieldModal ? (\r\n setName(e)}\r\n value={name}\r\n maxLength=\"400\"\r\n />\r\n ) : (\r\n \r\n {placeholder => (\r\n :''}\r\n onChange={e => setName(e)}\r\n value={name}\r\n maxLength=\"400\"\r\n />\r\n )}\r\n \r\n )}\r\n
\r\n
\r\n \r\n \r\n \r\n {showEditExtractionFieldModal ? (\r\n setDescription(e)}\r\n value={description}\r\n maxLength=\"1000\"\r\n style={{ height: description.length < 30 ? '20px' : '42px' }}\r\n />\r\n ) : (\r\n \r\n {placeholder => (\r\n \r\n :''}\r\n onChange={e => setDescription(e)}\r\n value={description}\r\n maxLength=\"1000\"\r\n style={{ height: calculateHeight(description) }}\r\n />\r\n \r\n )}\r\n \r\n )}\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n ) : null}\r\n
\r\n );\r\n}\r\n\r\nexport default EditExtractionField;","import PropTypes from 'prop-types';\r\nimport React, { Component } from 'react';\r\n\r\nimport Button from 'components/shared/single-click-button';\r\nimport Icon from 'components/shared/icon';\r\nimport Modal from 'components/shared/modal';\r\nimport enhanceWithClickOutside from 'react-click-outside';\r\nimport { FormattedMessage, injectIntl } from 'react-intl';\r\nimport EditExtractionField from './edit-extraction-field';\r\nimport CONSTANTS from 'utils/constants';\r\n\r\nimport Permissions from 'permissions/permissions';\r\n\r\nclass ExtractionFieldDropdown extends Component {\r\n static propTypes = {\r\n documentId: PropTypes.any,\r\n extractionField: PropTypes.any,\r\n intl: PropTypes.any,\r\n onCreateComparison: PropTypes.func,\r\n projectId: PropTypes.any,\r\n pushUndoStack: PropTypes.func,\r\n readOnly: PropTypes.bool,\r\n refreshData: PropTypes.func,\r\n removeAllExtractionFieldRecords: PropTypes.func,\r\n templateCategoryId: PropTypes.any,\r\n extractionFieldRecords: PropTypes.any,\r\n accessTypeId: PropTypes.any,\r\n extractionFields: PropTypes.any,\r\n editExtractionField: PropTypes.func,\r\n createExtraction: PropTypes.func,\r\n onCreateFail: PropTypes.func,\r\n onCreateSuccess: PropTypes.func,\r\n };\r\n\r\n state = {\r\n expanded: false,\r\n showRemoveAllModal: false,\r\n editExtractionFieldModalShown: false,\r\n showDuplicateFieldModal: false\r\n };\r\n\r\n handleClickOutside() {\r\n this.setState({ expanded: false });\r\n }\r\n\r\n removeAllRecordsFunction = () => {\r\n var { projectId, documentId, extractionField, removeAllExtractionFieldRecords } = this.props;\r\n this.setState({ showRemoveAllModal: false });\r\n\r\n removeAllExtractionFieldRecords(projectId, documentId, extractionField.id).then(response => {\r\n this.setState({ expanded: false, showRemoveAllModal: false });\r\n });\r\n };\r\n\r\n onCreateComparison = () => {\r\n const { onCreateComparison, extractionField } = this.props;\r\n onCreateComparison(extractionField);\r\n };\r\n\r\n editExtractionFieldModalOpen = (editExtractionFieldModalShown, extractionField) => {\r\n this.setState({\r\n editExtractionFieldModalShown,\r\n extractionField\r\n });\r\n };\r\n\r\n editExtractionFieldModalClose = () => {\r\n this.setState({\r\n editExtractionFieldModalShown: false\r\n });\r\n };\r\n\r\n openDuplicateFieldModal = (showDuplicateFieldModal, extractionField) => {\r\n this.setState({\r\n showDuplicateFieldModal,\r\n extractionField\r\n });\r\n };\r\n\r\n closeDuplicateFieldModal = () => {\r\n this.setState({\r\n showDuplicateFieldModal: false\r\n });\r\n };\r\n\r\n render() {\r\n var {\r\n readOnly,\r\n intl,\r\n accessTypeId,\r\n templateCategoryId,\r\n extractionFieldRecords,\r\n extractionField,\r\n extractionFields,\r\n refreshData,\r\n editExtractionField,\r\n createExtraction,\r\n onCreateFail,\r\n onCreateSuccess,\r\n } = this.props;\r\n var { editExtractionFieldModalShown, showDuplicateFieldModal } = this.state;\r\n\r\n const extractionFieldUser = extractionFields.filter(\r\n accessTypeId => accessTypeId.accessTypeId == CONSTANTS.ExtractionAccessTypeIds.private\r\n );\r\n const fieldUser = extractionFieldUser.filter(Field => Field.id == extractionField.id);\r\n\r\n const showEditAndDuplicateOptions = templateCategoryId == CONSTANTS.TemplateCategories.NON_EDITABLE_GENAI_NONDETAIL_TESTING ||\r\n templateCategoryId == CONSTANTS.TemplateCategories.Custom_GENAI_NONDETAIL_TESTING ||\r\n templateCategoryId == CONSTANTS.TemplateCategories.NON_EDITABLE_GENAI_DETAIL_TESTING;\r\n\r\n return (\r\n
\r\n
\r\n {readOnly ||\r\n !Permissions.Project.Comparison.canCreate() ||\r\n !Permissions.Project.Document.ExtractionField.ExtractionFieldRecord.canDelete() ? (\r\n \r\n )}\r\n
\r\n\r\n
\r\n
\r\n {fieldUser[0] != null ? (\r\n
\r\n {Permissions.Global.ExtractionField.canEditField(fieldUser[0]) &&\r\n showEditAndDuplicateOptions &&\r\n accessTypeId == CONSTANTS.ExtractionAccessTypeIds.private &&\r\n extractionFieldRecords.length >= 0 ? (\r\n this.editExtractionFieldModalOpen(true, extractionField)}\r\n >\r\n \r\n \r\n ) : null}\r\n
\r\n ) : null}\r\n
\r\n {showEditAndDuplicateOptions && Permissions.Project.Comparison.canDuplicate() &&\r\n extractionFieldRecords.length >= 0 ? (\r\n this.openDuplicateFieldModal(true, extractionField)} \r\n >\r\n \r\n \r\n ) : null}\r\n
\r\n {Permissions.Project.Comparison.canCreate() && extractionFieldRecords.length != 0 && (\r\n \r\n \r\n \r\n )}\r\n {Permissions.Project.Document.ExtractionField.ExtractionFieldRecord.canDelete() &&\r\n extractionFieldRecords.length != 0 ? (\r\n {\r\n this.setState({ showRemoveAllModal: true });\r\n }}\r\n >\r\n \r\n \r\n ) : null}\r\n
\r\n
\r\n\r\n {this.state.showRemoveAllModal ? (\r\n \r\n
\r\n

\r\n \r\n

\r\n

\r\n \r\n

\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n ) : null}\r\n {editExtractionFieldModalShown ||\r\n showDuplicateFieldModal ? (\r\n \r\n ):null}\r\n
\r\n );\r\n }\r\n}\r\n\r\nexport default injectIntl(enhanceWithClickOutside(ExtractionFieldDropdown));\r\n","import { connect } from 'react-redux';\r\n\r\nimport ExtractionFieldDropdown from 'components/extractions/extraction-record-list/extraction-field-dropdown';\r\n\r\nimport { removeAllExtractionFieldRecords } from 'store/current-document';\r\n\r\nconst mapDispatchToProps = {\r\n removeAllExtractionFieldRecords\r\n};\r\n\r\nexport default connect(null, mapDispatchToProps)(ExtractionFieldDropdown);\r\n","import PropTypes from 'prop-types';\r\nimport React, { Component } from 'react';\r\nimport Button from 'components/shared/single-click-button';\r\nimport Icon from 'components/shared/icon';\r\n\r\nimport enhanceWithClickOutside from 'react-click-outside';\r\nimport { FormattedMessage } from 'react-intl';\r\nimport { TAG_TYPES } from 'models/project-item';\r\nimport { sortByKey } from 'utils/string-utils';\r\n\r\nimport { getProjectTags, createProjectTag } from 'store/api';\r\n\r\nclass ExtractionRecordTags extends Component {\r\n static propTypes = {\r\n addExtractionFieldRecordTag: PropTypes.func,\r\n clearUndoStack: PropTypes.func,\r\n closeFunction: PropTypes.func,\r\n documentId: PropTypes.number,\r\n extractionFieldRecordId: PropTypes.number,\r\n projectId: PropTypes.number\r\n };\r\n\r\n state = {\r\n disabled: true,\r\n projectTags: [],\r\n tagText: ''\r\n };\r\n\r\n componentDidMount = () => {\r\n this.refreshProjectTags();\r\n };\r\n\r\n handleClickOutside() {\r\n this.props.closeFunction();\r\n }\r\n\r\n refreshProjectTags = () => {\r\n var { projectId } = this.props;\r\n\r\n getProjectTags({ projectId }).then(response => {\r\n // Filter out system tags and only get user defined ones\r\n var filtered = response.data.tags.filter(({ tagTypeId }) => tagTypeId === TAG_TYPES.USER);\r\n\r\n this.setState({ projectTags: sortByKey('tagName', filtered) });\r\n });\r\n };\r\n\r\n tagTextChange = value => {\r\n this.setState({ tagText: value });\r\n\r\n if (value && value.length > 0) {\r\n this.setState({ disabled: false });\r\n } else {\r\n this.setState({ disabled: true });\r\n }\r\n };\r\n\r\n addTag = tagName => {\r\n var {\r\n projectId,\r\n documentId,\r\n extractionFieldRecordId,\r\n closeFunction,\r\n addExtractionFieldRecordTag,\r\n clearUndoStack\r\n } = this.props;\r\n var { tagText, projectTags } = this.state;\r\n var text = tagName ? tagName : tagText;\r\n\r\n this.setState({ tagText: '' });\r\n\r\n if (text && text.length > 0) {\r\n // Check for duplicates\r\n var projectTag = projectTags\r\n .filter(({ tagTypeId }) => tagTypeId === TAG_TYPES.USER)\r\n .find(tag => tag.tagName === text.toLowerCase());\r\n\r\n closeFunction(true);\r\n if (projectTag) {\r\n addExtractionFieldRecordTag(projectId, documentId, extractionFieldRecordId, projectTag);\r\n clearUndoStack();\r\n } else {\r\n createProjectTag({ projectId, tagName: text })\r\n .then(resp => {\r\n addExtractionFieldRecordTag(projectId, documentId, extractionFieldRecordId, resp.data);\r\n })\r\n .then(clearUndoStack);\r\n }\r\n }\r\n };\r\n\r\n // When a user wishes to filter the tag\r\n getFilteredTags = () => {\r\n var { tagText, projectTags } = this.state;\r\n var filtered = [...projectTags];\r\n var query = tagText.toLowerCase().trim();\r\n\r\n return filtered.filter(tag => {\r\n return tag.tagName\r\n .toLowerCase()\r\n .trim()\r\n .includes(query);\r\n });\r\n };\r\n\r\n render() {\r\n var { closeFunction } = this.props;\r\n var { tagText, disabled } = this.state;\r\n var filteredTags = this.getFilteredTags();\r\n\r\n return (\r\n
\r\n
\r\n

\r\n \r\n

\r\n \r\n
\r\n\r\n {\r\n e.preventDefault();\r\n this.addTag();\r\n }}\r\n >\r\n
\r\n \r\n {placeholder => (\r\n this.tagTextChange(e.target.value)}\r\n value={tagText}\r\n maxLength={400}\r\n />\r\n )}\r\n \r\n
\r\n \r\n \r\n\r\n
\r\n {filteredTags.map(tag => (\r\n {\r\n this.addTag(tag.tagName);\r\n }}\r\n >\r\n {tag.tagName}\r\n \r\n ))}\r\n
\r\n
\r\n );\r\n }\r\n}\r\n\r\nexport default enhanceWithClickOutside(ExtractionRecordTags);\r\n","import { connect } from 'react-redux';\r\n\r\nimport ExtractionRecordTagsDropdown from 'components/extractions/extraction-record-tags/extraction-record-tags-dropdown';\r\n\r\nimport { addExtractionFieldRecordTag } from 'store/current-document';\r\n\r\nconst mapStateToProps = ({ data: { currentDocument } }) => ({ currentDocument });\r\n\r\nconst mapDispatchToProps = {\r\n addExtractionFieldRecordTag\r\n};\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(ExtractionRecordTagsDropdown);\r\n","import PropTypes from 'prop-types';\r\nimport React, { Component } from 'react';\r\nimport Icon from 'components/shared/icon';\r\nimport ExtractionRecordTagsDropdown from 'containers/extractions/extraction-record-tags-dropdown';\r\nimport Button from 'components/shared/single-click-button';\r\nimport { FormattedMessage } from 'react-intl';\r\nimport { sortBy } from 'underscore';\r\n\r\nimport Permissions from 'permissions/permissions';\r\n\r\nclass ExtractionRecordTags extends Component {\r\n static propTypes = {\r\n clearUndoStack: PropTypes.func,\r\n documentId: PropTypes.number,\r\n extractionFieldRecordId: PropTypes.number,\r\n projectId: PropTypes.number,\r\n readOnly: PropTypes.bool,\r\n refreshFunction: PropTypes.func,\r\n removeExtractionFieldRecordTag: PropTypes.func,\r\n tags: PropTypes.array\r\n };\r\n\r\n state = {\r\n recordTags: [],\r\n showDropdown: false\r\n };\r\n\r\n componentDidMount() {\r\n this.setRecordTags();\r\n }\r\n\r\n componentDidUpdate = prevProps => {\r\n if (this.props.tags !== prevProps.tags) {\r\n this.setRecordTags();\r\n }\r\n };\r\n\r\n setRecordTags = () => {\r\n var { tags } = this.props;\r\n\r\n var sortedTags = [];\r\n if (tags) {\r\n sortedTags = tags.sort((a, b) => {\r\n return a.tagName > b.tagName ? 1 : a.tagName < b.tagName ? -1 : 0;\r\n });\r\n }\r\n\r\n this.setState({ recordTags: sortedTags });\r\n };\r\n\r\n toggleDropdown = () => {\r\n var { showDropdown } = this.state;\r\n this.setState({ showDropdown: !showDropdown, tagText: '' });\r\n };\r\n\r\n removeTag = tag => {\r\n var { removeExtractionFieldRecordTag, projectId, documentId, extractionFieldRecordId } = this.props;\r\n\r\n removeExtractionFieldRecordTag(projectId, documentId, extractionFieldRecordId, tag);\r\n };\r\n\r\n render() {\r\n var { projectId, documentId, extractionFieldRecordId, refreshFunction, readOnly, clearUndoStack } = this.props;\r\n var { showDropdown, recordTags } = this.state;\r\n recordTags = sortBy(recordTags, tag => tag.tagName.toLowerCase());\r\n\r\n return (\r\n
\r\n
\r\n
\r\n {Permissions.Project.Document.ExtractionField.ExtractionFieldRecord.canTag() && !readOnly ? (\r\n \r\n ) : null}\r\n\r\n {showDropdown ? (\r\n {\r\n this.setState({ showDropdown: false, tagText: '' });\r\n if (refresh) refreshFunction();\r\n }}\r\n />\r\n ) : null}\r\n
\r\n\r\n {recordTags.map(tag => (\r\n
\r\n {tag.tagName}\r\n {Permissions.Project.Document.ExtractionField.ExtractionFieldRecord.canTag() && !readOnly ? (\r\n \r\n ) : null}\r\n
\r\n ))}\r\n
\r\n
\r\n );\r\n }\r\n}\r\n\r\nexport default ExtractionRecordTags;\r\n","import { connect } from 'react-redux';\r\n\r\nimport ExtractionRecordTags from 'components/extractions/extraction-record-tags/extraction-record-tags';\r\n\r\nimport { removeExtractionFieldRecordTag } from 'store/current-document';\r\n\r\nconst mapDispatchToProps = {\r\n removeExtractionFieldRecordTag\r\n};\r\n\r\nexport default connect(null, mapDispatchToProps)(ExtractionRecordTags);\r\n","import PropTypes from 'prop-types';\r\nimport React, { Component } from 'react';\r\nimport { FormattedMessage } from 'react-intl';\r\n\r\nimport Button from 'components/shared/single-click-button';\r\nimport Icon from 'components/shared/icon';\r\nimport TextArea from 'components/shared/form/textarea';\r\nimport ExtractionRecordTags from 'containers/extractions/extraction-record-tags';\r\n\r\nimport { DragSource, DropTarget } from 'react-dnd';\r\nimport withDragDropContext from 'utils/dnd-mouse-context';\r\n\r\nimport Permissions from 'permissions/permissions';\r\n\r\nimport {\r\n emphasizeHighlight,\r\n deemphasizeHighlight\r\n} from 'components/document-viewer/document-renderer/helpers/emphasisHelper';\r\n\r\n// Begin drag and drop functionality for extraction records\r\nconst cardSource = {\r\n beginDrag(props) {\r\n return {\r\n extractionFieldRecord: props.extractionFieldRecord,\r\n index: props.index\r\n };\r\n },\r\n endDrag(props, monitor, component) {\r\n // This is a good place to call some Flux action\r\n return props.finishDrag ? props.finishDrag() : {};\r\n },\r\n isDragging(props, monitor) {\r\n return props.extractionFieldRecord === monitor.getItem().extractionFieldRecord;\r\n }\r\n};\r\n// See https://github.com/react-dnd/react-dnd/blob/master/examples/04%20Sortable/Simple/Card.js#L24\r\nconst cardTarget = {\r\n hover(props, monitor, component) {\r\n const dragIndex = monitor.getItem().index;\r\n const hoverIndex = props.index;\r\n\r\n // Don't replace items with themselves\r\n if (dragIndex === hoverIndex) {\r\n return;\r\n }\r\n\r\n // Perform the action\r\n props.moveRecord(dragIndex, hoverIndex);\r\n\r\n // Note: we're mutating the monitor item here!\r\n // Generally it's better to avoid mutations,\r\n // but it's good here for the sake of performance\r\n // to avoid expensive index searches.\r\n monitor.getItem().index = hoverIndex;\r\n }\r\n};\r\n\r\n// Connect to drag and drop context\r\nconst ExtractionRecord = DropTarget('extraction-rec', cardTarget, connect => ({\r\n connectDropTarget: connect.dropTarget()\r\n}))(\r\n DragSource('extraction-rec', cardSource, (connect, monitor) => ({\r\n connectDragSource: connect.dragSource(),\r\n isDragging: monitor.isDragging()\r\n }))(function InnerExtraction({\r\n isDragging,\r\n connectDragSource,\r\n connectDropTarget,\r\n changeTextBox,\r\n extractionFieldRecord,\r\n extractionFields,\r\n extractionGroup,\r\n goToPage,\r\n groupIndex,\r\n index,\r\n isFinished,\r\n isFirstItem,\r\n moveRecord,\r\n onExtractionDelete,\r\n saveExtractionRecord,\r\n hoverFunction,\r\n projectId,\r\n documentId,\r\n refreshData,\r\n finishDrag,\r\n readOnly,\r\n pageCount,\r\n clearUndoStack,\r\n isGenAIProcessingEnabled\r\n }) {\r\n // Find the corresponding extractionField in extractionFields\r\n const matchedField = extractionFields.find(field => field.extractionFieldId === extractionGroup.id);\r\n const isReadyForVerification = matchedField ? matchedField.isReadyForVerification : false;\r\n return connectDropTarget(\r\n \r\n hoverFunction(extractionFieldRecord.extractionFieldRecordId, extractionFieldRecord.extractionFieldId, true)\r\n }\r\n onMouseLeave={() =>\r\n hoverFunction(extractionFieldRecord.extractionFieldRecordId, extractionFieldRecord.extractionFieldId, false)\r\n }\r\n key={index}\r\n >\r\n
\r\n {connectDragSource(\r\n !Permissions.Project.Document.ExtractionField.ExtractionFieldRecord.canEdit() || readOnly || isFirstItem ? (\r\n
\r\n ) : (\r\n \r\n )\r\n )}\r\n\r\n {\r\n changeTextBox(extractionGroup.id, extractionFieldRecord.extractionFieldRecordId, e);\r\n }}\r\n onBlur={() => saveExtractionRecord(extractionFieldRecord)}\r\n id={extractionFieldRecord.extractionFieldRecordId}\r\n value={extractionFieldRecord.extractFieldInstanceData}\r\n disabled={readOnly || !Permissions.Project.Document.ExtractionField.ExtractionFieldRecord.canEdit()}\r\n maxHeight={200}\r\n isDragging={isFinished}\r\n />\r\n\r\n {Permissions.Project.Document.ExtractionField.ExtractionFieldRecord.canDelete() && !readOnly ? (\r\n
\r\n \r\n onExtractionDelete(extractionFieldRecord.extractionFieldRecordId, extractionFieldRecord.pageNumber)\r\n }\r\n >\r\n \r\n \r\n
\r\n ) : null}\r\n
\r\n\r\n
\r\n \r\n\r\n
goToPage(extractionFieldRecord.pageNumber)}>\r\n \r\n {extractionFieldRecord.pageNumber}/{pageCount}\r\n
\r\n
\r\n
\r\n );\r\n })\r\n);\r\n\r\nclass ExtractionRecordItems extends Component {\r\n static propTypes = {\r\n changeTextBox: PropTypes.func,\r\n clearUndoStack: PropTypes.func,\r\n documentId: PropTypes.any,\r\n finishDrag: PropTypes.func,\r\n group: PropTypes.any,\r\n isFinished: PropTypes.bool,\r\n list: PropTypes.array,\r\n onDelete: PropTypes.func,\r\n onExtractionMove: PropTypes.func,\r\n onSave: PropTypes.func,\r\n pageCount: PropTypes.any,\r\n pages: PropTypes.any,\r\n projectId: PropTypes.any,\r\n readOnly: PropTypes.any,\r\n refreshData: PropTypes.func,\r\n isGenAIProcessingEnabled: PropTypes.bool,\r\n };\r\n\r\n hoverFunction = (recordId, fieldId, enter) => {\r\n deemphasizeHighlight();\r\n\r\n if (enter) {\r\n emphasizeHighlight(recordId, fieldId);\r\n }\r\n };\r\n\r\n goToPage = page => {\r\n window.postMessage({ document_page_change: page }, window.location.href);\r\n };\r\n\r\n // Method for handling moving functionality\r\n moveExtraction = (dragIndex, hoverIndex) => {\r\n const { list, group } = this.props;\r\n const dragExtraction = list[dragIndex];\r\n\r\n list.splice(dragIndex, 1);\r\n list.splice(hoverIndex, 0, dragExtraction);\r\n\r\n this.props.onExtractionMove(list, group.id);\r\n };\r\n\r\n render() {\r\n const {\r\n group,\r\n changeTextBox,\r\n onDelete,\r\n onSave,\r\n pageCount,\r\n projectId,\r\n documentId,\r\n refreshData,\r\n finishDrag,\r\n readOnly,\r\n isFinished,\r\n list,\r\n clearUndoStack,\r\n isGenAIProcessingEnabled\r\n } = this.props;\r\n\r\n return (\r\n
\r\n {list &&\r\n list.map((ext, index) => (\r\n \r\n ))}\r\n
\r\n );\r\n }\r\n}\r\n\r\nexport default withDragDropContext(ExtractionRecordItems);\r\n","import PropTypes from 'prop-types';\r\nimport React, { Component } from 'react';\r\nimport { FormattedMessage, injectIntl } from 'react-intl';\r\n\r\nimport Icon from 'components/shared/icon';\r\nimport ComplicatedIcon from '../complicated-icon/complicated-icon';\r\nimport ColorHelper from '../helpers/colorHelper';\r\nimport ExtractionFieldDropdown from 'containers/extractions/extraction-field-dropdown';\r\nimport ReactTooltip from 'react-tooltip';\r\nimport ExtractionRecordItems from './extraction-record-item';\r\nimport * as api from 'store/api';\r\nimport history from 'utils/history';\r\nimport { getCurrentRegion } from 'store/api';\r\nimport Button from 'components/shared/single-click-button';\r\nimport EditExtractionField from './edit-extraction-field';\r\nimport Permissions from 'permissions/permissions';\r\nimport CONSTANTS from 'utils/constants';\r\n\r\nclass ExtractionRecordList extends Component {\r\n static propTypes = {\r\n clearUndoStack: PropTypes.func,\r\n data: PropTypes.array,\r\n documentId: PropTypes.any,\r\n editExtractionFieldRecord: PropTypes.func,\r\n extractionFieldRecords: PropTypes.any,\r\n extractionFields: PropTypes.any,\r\n intl: PropTypes.any,\r\n pageCount: PropTypes.number,\r\n pages: PropTypes.any,\r\n projectId: PropTypes.any,\r\n isGenAIProcessingEnabled: PropTypes.bool,\r\n pushUndoStack: PropTypes.func,\r\n readOnly: PropTypes.bool,\r\n refreshData: PropTypes.func,\r\n removeExtractionFieldRecord: PropTypes.func,\r\n setCompareType: PropTypes.func,\r\n template: PropTypes.any,\r\n editExtractionField: PropTypes.func,\r\n createExtraction: PropTypes.func,\r\n onCreateFail: PropTypes.func,\r\n onCreateSuccess: PropTypes.func,\r\n markEfVerified: PropTypes.func,\r\n };\r\n\r\n state = {\r\n updatedRecord: {},\r\n finishDrag: false,\r\n extractionField: null,\r\n extractionFieldRecords: [],\r\n openGroups: [],\r\n isHovering: false,\r\n showEditExtractionFieldModal: false,\r\n extractionFieldId: null,\r\n isHoveringHeaderRow: false,\r\n hoverStates: {}\r\n };\r\n\r\n saveRecordTimeout = {}; \r\n\r\n componentDidMount() {\r\n this.initialize();\r\n }\r\n\r\n componentDidUpdate = (prevProps, prevState) => {\r\n var { extractionFieldRecords, extractionFields } = this.props;\r\n\r\n if (\r\n extractionFieldRecords !== prevProps.extractionFieldRecords ||\r\n extractionFields !== prevProps.extractionFields\r\n ) {\r\n this.initialize();\r\n }\r\n };\r\n\r\n initialize = () => {\r\n this.setState({\r\n extractionFieldRecords: JSON.parse(JSON.stringify(this.props.extractionFieldRecords))\r\n });\r\n };\r\n \r\n\r\n getGroupedExtractions = () => {\r\n var { data } = this.props;\r\n var { extractionFieldRecords } = this.state;\r\n var extractions = [];\r\n\r\n data.forEach(extraction => {\r\n var currentField = Object.assign({}, extraction);\r\n currentField.records = extractionFieldRecords.filter(efr => efr.extractionFieldId === currentField.id);\r\n\r\n if (currentField.groupId === null) {\r\n currentField.groupId = 0;\r\n }\r\n\r\n if (currentField.groupId !== null) {\r\n if (!extractions[currentField.groupId]) {\r\n extractions[currentField.groupId] = {\r\n extractions: [],\r\n title: extraction.group ? extraction.group : extractions.selectedName,\r\n displayOrder: extraction.groupDisplayOrder\r\n };\r\n }\r\n extractions[currentField.groupId].extractions.push(currentField);\r\n }\r\n });\r\n\r\n return extractions;\r\n };\r\n\r\n //Used for display mode 0 (grouped by field)\r\n getRecordsByField = () => {\r\n var { extractionFields } = this.props;\r\n var { extractionFieldRecords } = this.state;\r\n var fields = [];\r\n\r\n extractionFields.forEach(ef => {\r\n var currentField = Object.assign({}, ef);\r\n currentField.records = [];\r\n\r\n extractionFieldRecords.forEach(efr => {\r\n if (efr.extractionFieldId === currentField.extractionFieldId) {\r\n currentField.records.push(efr);\r\n }\r\n\r\n //Temporary sort order (used while dragging is in progress)\r\n currentField.records.sort((a, b) => {\r\n if (a.sortOrder && b.sortOrder) return a.sortOrder - b.sortOrder;\r\n return 0;\r\n });\r\n });\r\n\r\n fields.push(currentField);\r\n });\r\n\r\n return fields;\r\n };\r\n\r\n //Used for display mode 1 (ungrouped, ordered by record position)\r\n getRecordsByPosition = () => {\r\n var { extractionFields } = this.props;\r\n var extractionFieldRecords = this.state.extractionFieldRecords.slice(0);\r\n var records = [];\r\n\r\n extractionFieldRecords.sort((a, b) => {\r\n var diff = a.pageNumber - b.pageNumber;\r\n if (diff === 0) return a.location[0] - b.location[0];\r\n return diff;\r\n });\r\n\r\n //Add each record in order to the list (wrapped in the corresponding field)\r\n extractionFieldRecords.forEach(efr => {\r\n extractionFields.forEach(ef => {\r\n if (efr.extractionFieldId === ef.extractionFieldId) {\r\n var currentField = Object.assign({}, ef);\r\n currentField.records = [];\r\n currentField.records.push(efr);\r\n records.push(currentField);\r\n }\r\n });\r\n });\r\n\r\n //Display empty groups at the bottom of the list\r\n extractionFields.forEach(ef => {\r\n if (!records.some(record => record.extractionFieldId === ef.extractionFieldId)) {\r\n var currentField = Object.assign({}, ef);\r\n currentField.records = [];\r\n records.push(currentField);\r\n }\r\n });\r\n\r\n return records;\r\n };\r\n\r\n removeRecordFunction = (recordId, pageNum) => {\r\n var { projectId, documentId, removeExtractionFieldRecord } = this.props;\r\n\r\n removeExtractionFieldRecord(projectId, documentId, recordId, pageNum);\r\n };\r\n\r\n changeTextBox = (fieldId, recordId, value) => {\r\n var { extractionFieldRecords } = this.state;\r\n\r\n extractionFieldRecords.forEach(record => {\r\n if (record.extractionFieldRecordId === recordId) {\r\n record.extractFieldInstanceData = value;\r\n record.dirty = true;\r\n\r\n //Autosave logic\r\n clearTimeout(this.saveRecordTimeout[record.extractionFieldRecordId]);\r\n this.saveRecordTimeout[record.extractionFieldRecordId] = setTimeout(() => {\r\n this.saveExtractionRecord(record);\r\n }, 5000);\r\n }\r\n });\r\n\r\n this.setState({\r\n extractionFieldRecords\r\n });\r\n };\r\n\r\n saveExtractionRecord = record => {\r\n var { projectId, documentId, editExtractionFieldRecord } = this.props;\r\n const { extractionFieldRecords } = this.state;\r\n clearTimeout(this.saveRecordTimeout[record.extractionFieldRecordId]);\r\n if (record.dirty) {\r\n if (record.extractFieldInstanceData !== '') {\r\n editExtractionFieldRecord(\r\n projectId,\r\n documentId,\r\n record.extractionFieldId,\r\n record.extractionFieldRecordId,\r\n record.extractFieldInstanceData\r\n );\r\n } else {\r\n const cleanRecord = this.props.extractionFieldRecords.find(\r\n efr => efr.extractionFieldRecordId === record.extractionFieldRecordId\r\n );\r\n extractionFieldRecords.forEach(record2 => {\r\n if (record.extractionFieldRecordId === record2.extractionFieldRecordId) {\r\n record.extractFieldInstanceData = cleanRecord.extractFieldInstanceData;\r\n }\r\n });\r\n this.setState({ extractionFieldRecords });\r\n }\r\n }\r\n };\r\n\r\n // Save moved ids to state\r\n moveExtractionRecord = (records, fieldId) => {\r\n var extractionFieldRecords = this.state.extractionFieldRecords.slice(0);\r\n\r\n records.forEach((record, index) => {\r\n extractionFieldRecords.forEach(efr => {\r\n if (record.extractionFieldRecordId === efr.extractionFieldRecordId) {\r\n efr.sortOrder = index + 1;\r\n }\r\n });\r\n });\r\n\r\n this.setState({\r\n extractionFieldRecords,\r\n draggingExtractionFieldRecords: records,\r\n draggingFieldId: fieldId\r\n });\r\n };\r\n\r\n // When user finishes dragging, save the id order to DB\r\n finishDrag = ids => {\r\n var { draggingFieldId, draggingExtractionFieldRecords } = this.state;\r\n var { projectId, documentId, clearUndoStack } = this.props;\r\n var recordIds = draggingExtractionFieldRecords.map(v => v.extractionFieldRecordId);\r\n\r\n clearUndoStack();\r\n\r\n return api.moveExtractionRecord(projectId, documentId, draggingFieldId, recordIds);\r\n };\r\n\r\n createExtractionRecordComparison = extractionField => {\r\n const { projectId, setCompareType } = this.props;\r\n\r\n api\r\n .createComparison({\r\n baseEntityId: extractionField.records[0].extractionFieldRecordId,\r\n projectId,\r\n compareType: 'extractionfield'\r\n })\r\n .then(response => {\r\n setCompareType('extractionfield');\r\n history.push({\r\n pathname: `/region/${getCurrentRegion()}/project/${projectId}/compare`,\r\n state: { extractionField: extractionField }\r\n });\r\n });\r\n };\r\n\r\n onMouseEnter = extractionFieldId => {\r\n this.setState({\r\n isHovering: true,\r\n extractionFieldId: extractionFieldId,\r\n isHoveringHeaderRow: true\r\n });\r\n\r\n this.setState(prevState => ({\r\n hoverStates: {\r\n ...prevState.hoverStates,\r\n [extractionFieldId]: true\r\n }\r\n }));\r\n };\r\n\r\n onMouseLeave = extractionFieldId => {\r\n this.setState({\r\n isHovering: false,\r\n extractionFieldId: extractionFieldId\r\n });\r\n\r\n this.setState(prevState => ({\r\n hoverStates: {\r\n ...prevState.hoverStates,\r\n [extractionFieldId]: false\r\n }\r\n }));\r\n };\r\n\r\n openEditExtractionFieldModal = (showEditExtractionFieldModal, extractionField) => {\r\n this.setState({\r\n showEditExtractionFieldModal,\r\n extractionField\r\n });\r\n };\r\n\r\n closeEditExtractionFieldModal = () => {\r\n this.setState({\r\n showEditExtractionFieldModal: false\r\n });\r\n };\r\n\r\n markAsVerifiedEF = (extractionFieldId) => {\r\n const { documentId, projectId, markEfVerified } = this.props; \r\n markEfVerified(projectId, documentId, extractionFieldId) \r\n };\r\n getExtraction = (extractionField, k) => {\r\n var {\r\n documentId,\r\n projectId,\r\n refreshData,\r\n pageCount,\r\n readOnly,\r\n pages,\r\n pushUndoStack,\r\n clearUndoStack,\r\n template,\r\n extractionFields,\r\n editExtractionField,\r\n createExtraction,\r\n onCreateFail,\r\n onCreateSuccess,\r\n isGenAIProcessingEnabled\r\n } = this.props;\r\n\r\n const { isHovering, extractionFieldId, hoverStates } = this.state;\r\n const isHoveringHeaderRow = hoverStates[extractionField.id];\r\n\r\n const truncate = (str, maxLength) => {\r\n if (str.length > maxLength) {\r\n return str.substring(0, maxLength) + '...';\r\n }\r\n return str;\r\n };\r\n \r\n const matchedField = extractionFields.find(field => field.extractionFieldId === extractionField.id);\r\n const isReadyForVerification = matchedField ? matchedField.isReadyForVerification : false;\r\n\r\n const extractionFieldUser = extractionFields.filter(\r\n accessTypeId => accessTypeId.accessTypeId == CONSTANTS.ExtractionAccessTypeIds.private\r\n );\r\n const fieldUser = extractionFieldUser.filter(Field => Field.id == extractionField.id);\r\n \r\n const showExtractionFieldOptions = template.templateCategoryId !== CONSTANTS.TemplateCategories.NON_EDITABLE_GENAI_NONDETAIL_TESTING &&\r\n template.templateCategoryId !== CONSTANTS.TemplateCategories.Custom_GENAI_NONDETAIL_TESTING &&\r\n template.templateCategoryId !== CONSTANTS.TemplateCategories.NON_EDITABLE_GENAI_DETAIL_TESTING;\r\n \r\n const showExtractionFieldDropdown = extractionField.records.length === 0 && showExtractionFieldOptions;\r\n \r\n const showEditIcon = !showExtractionFieldOptions;\r\n\r\n return (\r\n \r\n this.onMouseEnter(extractionField.id)}\r\n onMouseLeave={() => this.onMouseLeave(extractionField.id)}\r\n >\r\n

\r\n \r\n {isReadyForVerification && isGenAIProcessingEnabled === true && (\r\n \r\n \r\n \r\n )}\r\n \r\n \r\n \r\n {truncate(extractionField.name, 27)}\r\n \r\n\r\n {extractionField.failed ? (\r\n
\r\n \r\n \r\n \r\n \r\n
\r\n ) : null}\r\n \r\n \r\n

{extractionField.name}

\r\n\r\n

\r\n \r\n

\r\n\r\n {extractionField.description && extractionField.description.length > 400 ? (\r\n
\r\n

{extractionField.description}

\r\n
\r\n ) : (\r\n

{extractionField.description}

\r\n )}\r\n \r\n
\r\n\r\n\r\n

\r\n {fieldUser[0] != null ? (\r\n
\r\n {isHovering &&\r\n Permissions.Global.ExtractionField.canEditField(fieldUser[0]) &&\r\n showEditIcon &&\r\n extractionField.AccessTypeId == CONSTANTS.ExtractionAccessTypeIds.private &&\r\n extractionFieldId == extractionField.id ? (\r\n
\r\n this.openEditExtractionFieldModal(true, extractionField)}\r\n style={{ margin: '10px', marginRight: '-12px' }}\r\n >\r\n \r\n \r\n \r\n \r\n \r\n
\r\n ) : null}\r\n
\r\n ) : null}\r\n\r\n
\r\n \r\n
\r\n\r\n
\r\n {showExtractionFieldDropdown ? null : (\r\n \r\n )}\r\n
\r\n
\r\n\r\n {\r\n this.finishDrag();\r\n this.setState({ finishDrag: true });\r\n }}\r\n isFinished={this.state.finishDrag}\r\n group={extractionField}\r\n list={extractionField.records}\r\n onDelete={this.removeRecordFunction}\r\n onExtractionMove={this.moveExtractionRecord}\r\n onSave={this.saveExtractionRecord}\r\n pageCount={pageCount}\r\n pages={pages}\r\n projectId={projectId}\r\n readOnly={readOnly}\r\n refreshData={refreshData}\r\n extractionFields={extractionFields}\r\n isGenAIProcessingEnabled={isGenAIProcessingEnabled}\r\n />\r\n
\r\n {isReadyForVerification && isGenAIProcessingEnabled === true && (\r\n \r\n )}\r\n
\r\n
\r\n );\r\n };\r\n\r\n getAccordion = (group, key) => {\r\n const { openGroups } = this.state;\r\n var state = openGroups[key] !== undefined ? openGroups[key] : true;\r\n var extractionElements = group.extractions.map(this.getExtraction);\r\n return (\r\n
\r\n
\r\n {\r\n e.stopPropagation();\r\n openGroups[key] = !state;\r\n this.setState({ openGroups: openGroups });\r\n }}\r\n >\r\n

{group.title}

\r\n \r\n \r\n \r\n
\r\n
\r\n {state ? extractionElements : null}\r\n \r\n );\r\n };\r\n\r\n sortByDisplayOrder = groupedExtractions => {\r\n for (var i in groupedExtractions) {\r\n groupedExtractions[i].extractions.sort((ef1, ef2) => ef1.displayOrder - ef2.displayOrder);\r\n }\r\n\r\n return groupedExtractions.sort((g1, g2) => g1.displayOrder - g2.displayOrder);\r\n };\r\n\r\n getAccordions = () => {\r\n var accordions = [];\r\n var groupedExtractions = this.sortByDisplayOrder(this.getGroupedExtractions());\r\n for (var i in groupedExtractions) {\r\n accordions.push(this.getAccordion(groupedExtractions[i], i));\r\n }\r\n\r\n return accordions;\r\n };\r\n\r\n render() {\r\n var { template, extractionFields, refreshData, editExtractionField } = this.props;\r\n const { showEditExtractionFieldModal, extractionField } = this.state;\r\n return (\r\n
\r\n
\r\n
\r\n
\r\n {template.templateTypeID ? (\r\n \r\n ) : (\r\n template.templateTypeName\r\n )}\r\n
\r\n
\r\n
\r\n
{this.getAccordions()}
\r\n\r\n {showEditExtractionFieldModal && (\r\n \r\n )}\r\n
\r\n );\r\n }\r\n}\r\n\r\nexport default injectIntl(ExtractionRecordList);\r\n","import { connect } from 'react-redux';\r\n\r\nimport ExtractionRecordList from 'components/extractions/extraction-record-list/extraction-record-list';\r\n\r\nimport { removeExtractionFieldRecord, editExtractionFieldRecord,markEfVerified } from 'store/current-document';\r\nimport { setCompareType } from 'store/compare-type';\r\n\r\nconst mapDispatchToProps = {\r\n setCompareType,\r\n editExtractionFieldRecord,\r\n removeExtractionFieldRecord,\r\n markEfVerified\r\n};\r\n\r\nexport default connect(null, mapDispatchToProps)(ExtractionRecordList);\r\n","import PropTypes from 'prop-types';\r\nimport React, { Component } from 'react';\r\nimport { FormattedMessage } from 'react-intl';\r\nimport Constants from 'utils/constants';\r\n\r\nimport Icon from 'components/shared/icon';\r\nimport ComplicatedIcon from '../complicated-icon/complicated-icon';\r\nimport ColorHelper from '../helpers/colorHelper';\r\nimport Checkbox from 'components/shared/form/checkbox';\r\nimport ReactTooltip from 'react-tooltip';\r\nimport { Radio, RadioGroup } from 'components/shared/form/radio';\r\n\r\nclass ExtractionList extends Component {\r\n static propTypes = {\r\n data: PropTypes.any,\r\n groupByTemplateType: PropTypes.bool,\r\n groupKey: PropTypes.string,\r\n iconSize: PropTypes.string,\r\n nullGroupName: PropTypes.string,\r\n onCheckAll: PropTypes.func,\r\n onExtractionSelect: PropTypes.func,\r\n onSelectTemplateType: PropTypes.func,\r\n openByDefault: PropTypes.any,\r\n pageViewer: PropTypes.string, // Specifies which page its being reused on\r\n projectId: PropTypes.any,\r\n readOnly: PropTypes.bool,\r\n selectFunction: PropTypes.func,\r\n selectedExtractions: PropTypes.any,\r\n template: PropTypes.any,\r\n templateTypes: PropTypes.array,\r\n templateCategoryId: PropTypes.number\r\n };\r\n\r\n state = {\r\n checkedGroups: {},\r\n openGroups: {}, //Controls groups expanding/collapsing\r\n openTemplateTypes: {},\r\n selectedType: null\r\n };\r\n\r\n MAXIMUM_EXTRACTIONS_PER_LIMITED_GROUP = 50;\r\n\r\n getGroupedExtractions = data => {\r\n var { groupKey, nullGroupName } = this.props;\r\n var extractions = [];\r\n data.forEach(extraction => {\r\n if (extraction[groupKey] === null) {\r\n extraction[groupKey] = 0;\r\n }\r\n\r\n if (extraction[groupKey] !== null) {\r\n if (!extractions[extraction[groupKey]]) {\r\n extractions[extraction[groupKey]] = {\r\n extractions: [],\r\n title: extraction.group ? extraction.group : nullGroupName,\r\n displayOrder: extraction.groupDisplayOrder\r\n };\r\n }\r\n\r\n extractions[extraction[groupKey]].extractions.push({\r\n ...extraction,\r\n displayOrder: extraction.groupMapping\r\n ? extraction.groupMapping.find(gm => gm.extractionFieldGroupId === extraction[groupKey])\r\n ?.extractionFieldDisplayOrder\r\n : 0\r\n });\r\n }\r\n });\r\n\r\n return extractions;\r\n };\r\n\r\n componentDidUpdate(prevProps) {\r\n const { groupByTemplateType } = this.props;\r\n if (prevProps.groupByTemplateType !== groupByTemplateType) {\r\n this.setState({ openGroups: {}, openTemplateTypes: {}, selectedType: null });\r\n }\r\n }\r\n\r\n getUngroupedExtractions = () => {\r\n var { data, groupKey } = this.props;\r\n var extractions = [];\r\n data.forEach(extraction => {\r\n if (extraction[groupKey] === null) extractions.push(extraction);\r\n });\r\n return extractions;\r\n };\r\n\r\n getExtraction = (i, k, templateId = null) => {\r\n var {\r\n selectedExtractions,\r\n pageViewer,\r\n onExtractionSelect,\r\n selectFunction,\r\n projectId,\r\n groupByTemplateType,\r\n readOnly,\r\n templateCategoryId\r\n } = this.props;\r\n const { selectedType } = this.state;\r\n var style = {\r\n background: ColorHelper.highlight_colors[i.color]\r\n };\r\n const disableExtraction = groupByTemplateType\r\n ? i.disabled ||\r\n !selectedType ||\r\n (selectedType && templateId !== selectedType.type.templateTypeID) ||\r\n (selectedType &&\r\n selectedType.type.templateCategoryId === Constants.TemplateCategories.NON_EDITABLE_DETAIL_TESTING)\r\n : i.disabled;\r\n\r\n return (\r\n (!i.hasOwnProperty('disabled') ? selectFunction(i.id) : {})}\r\n >\r\n {i.hasOwnProperty('disabled') && !readOnly ? (\r\n e.id === i.id) || i.selected\r\n ? 'checked'\r\n : 'unchecked'\r\n }\r\n disabled={disableExtraction}\r\n id=\"extraction-select\"\r\n onChange={() => onExtractionSelect(i)}\r\n width={20}\r\n />\r\n ) : (\r\n \r\n )}\r\n \r\n {i.name}\r\n \r\n\r\n \r\n 400 ? 500 : 0}\r\n >\r\n

{i.name}

\r\n\r\n

\r\n \r\n

\r\n\r\n {i.description.length > 400 ? (\r\n
\r\n

{i.description}

\r\n
\r\n ) : (\r\n

{i.description}

\r\n )}\r\n \r\n
\r\n
\r\n \r\n
\r\n \r\n );\r\n };\r\n\r\n getAccordion = (group, key, templateId = null) => {\r\n var { openGroups, selectedType } = this.state;\r\n var {\r\n openByDefault,\r\n pageViewer,\r\n selectedExtractions,\r\n onCheckAll,\r\n nullGroupName,\r\n groupByTemplateType,\r\n readOnly\r\n } = this.props;\r\n\r\n var state = openGroups[key] !== undefined ? openGroups[key] : openByDefault !== undefined ? openByDefault : false;\r\n if (pageViewer !== 'DocumentPage') {\r\n var exts = group.extractions.filter(v => !v.disabled);\r\n var disabled = group.extractions.filter(v => v.disabled);\r\n var allSelected = group.extractions.every(e => selectedExtractions.find(v => v.id === e.id)); // When a user has selected all\r\n var fewSelected = group.extractions.filter(e => selectedExtractions.find(v => v.id === e.id)); // When a user has selected some\r\n var checkAllState =\r\n disabled.length === group.extractions.length\r\n ? 'checked'\r\n : allSelected\r\n ? 'checked'\r\n : fewSelected.length > 0 && fewSelected.length < group.extractions.length\r\n ? 'indeterminate'\r\n : 'unchecked';\r\n }\r\n\r\n var limitFields = 0;\r\n var extractionElements = group.extractions.map((extraction, index) =>\r\n this.getExtraction(extraction, index, templateId)\r\n );\r\n const disableGroup = groupByTemplateType\r\n ? !selectedType ||\r\n (selectedType && templateId !== selectedType.type.templateTypeID) ||\r\n (disabled && disabled.length === group.extractions.length) ||\r\n (selectedType &&\r\n selectedType.type.templateCategoryId === Constants.TemplateCategories.NON_EDITABLE_DETAIL_TESTING)\r\n : disabled && disabled.length === group.extractions.length;\r\n\r\n if (key === nullGroupName && group.extractions.length > this.MAXIMUM_EXTRACTIONS_PER_LIMITED_GROUP) {\r\n limitFields = group.extractions.length;\r\n extractionElements = extractionElements.slice(0, this.MAXIMUM_EXTRACTIONS_PER_LIMITED_GROUP);\r\n }\r\n\r\n // If we're not in document page, we can allow the user to select all group extraction fields at once\r\n return (\r\n
\r\n
\r\n {pageViewer !== 'DocumentPage' && !readOnly ? (\r\n \r\n onCheckAll({ [key]: exts }, key)}\r\n width={20}\r\n />\r\n \r\n ) : null}\r\n {\r\n e.stopPropagation();\r\n openGroups[key] = !state;\r\n this.setState({ openGroups: openGroups });\r\n }}\r\n >\r\n

{group.title}

\r\n \r\n \r\n \r\n
\r\n
\r\n {state ? extractionElements : null}\r\n {limitFields > 0 ? (\r\n
\r\n \r\n
\r\n ) : null}\r\n \r\n );\r\n };\r\n\r\n sortByDisplayOrder = groupedExtractions => {\r\n for (var i in groupedExtractions) {\r\n groupedExtractions[i].extractions.sort((ef1, ef2) => ef1.displayOrder - ef2.displayOrder);\r\n }\r\n\r\n return groupedExtractions.sort((g1, g2) => g1.displayOrder - g2.displayOrder);\r\n };\r\n\r\n getAccordions = (data, templateId = null) => {\r\n var accordions = [];\r\n var groupedExtractions = this.sortByDisplayOrder(this.getGroupedExtractions(data));\r\n\r\n for (var i in groupedExtractions) {\r\n accordions.push(this.getAccordion(groupedExtractions[i], i, templateId));\r\n }\r\n\r\n return accordions;\r\n };\r\n\r\n getTemplateAccordions = () => {\r\n const { templateTypes, data, onSelectTemplateType } = this.props;\r\n const { openTemplateTypes, selectedType } = this.state;\r\n const templateAccordions = [];\r\n\r\n templateTypes.forEach(type => {\r\n const groupIds = type.groups.map(({ extractionFieldGroupId }) => extractionFieldGroupId);\r\n const templateData = data.filter(({ groupId }) => groupIds.includes(groupId));\r\n const templateGroups = this.getAccordions(templateData, type.templateTypeID);\r\n const state =\r\n openTemplateTypes[type.templateTypeID] !== undefined ? openTemplateTypes[type.templateTypeID] : false;\r\n const template = (\r\n
\r\n
\r\n \r\n id) }}\r\n />\r\n \r\n {\r\n e.stopPropagation();\r\n openTemplateTypes[type.templateTypeID] = !state;\r\n this.setState({ openTemplateTypes: openTemplateTypes });\r\n }}\r\n >\r\n

\r\n {type.templateTypeID ? (\r\n \r\n ) : (\r\n type.templateTypeName\r\n )}\r\n

\r\n \r\n \r\n \r\n
\r\n
\r\n {state ? templateGroups : null}\r\n \r\n );\r\n\r\n templateAccordions.push(template);\r\n });\r\n\r\n return (\r\n \r\n this.setState({ selectedType: selectedType }, () => onSelectTemplateType(selectedType))\r\n }\r\n >\r\n {templateAccordions}\r\n \r\n );\r\n };\r\n\r\n sortByOrder = data => {\r\n const { nullGroupName } = this.props;\r\n\r\n const ORDER = [\r\n 'General Terms',\r\n 'Leases',\r\n 'Interest Rate Derivatives',\r\n 'Preferred Stock Agreements',\r\n 'Reinsurance Agreements',\r\n 'Debt Agreements'\r\n ];\r\n\r\n // We are adding a custom sort logic for the existing groups\r\n let GROUPS = data\r\n .filter(v => ORDER.indexOf(v.key) > -1)\r\n .sort((a, b) => ORDER.indexOf(a.key) > ORDER.indexOf(b.key));\r\n\r\n // Just sort by alphabetical the private groups\r\n let OTHERS = data\r\n .filter(v => ORDER.indexOf(v.key) === -1 && v.key !== nullGroupName)\r\n .sort((a, b) => {\r\n if (a.key.toLowerCase() < b.key.toLowerCase()) return -1;\r\n if (a.key.toLowerCase() > b.key.toLowerCase()) return 1;\r\n return 0;\r\n });\r\n\r\n const PUBLIC = GROUPS.concat(OTHERS);\r\n const PRIVATE = data.filter(v => v.key === nullGroupName);\r\n return PUBLIC.concat(PRIVATE);\r\n };\r\n\r\n render() {\r\n var { data, nullGroupName, template, groupByTemplateType } = this.props;\r\n if (!data || !data.length || !data.length > 0) return null;\r\n var ungroupedExtractions = this.getUngroupedExtractions();\r\n\r\n return (\r\n
\r\n {template &&
{template.name}
}\r\n {groupByTemplateType ? this.getTemplateAccordions() : this.getAccordions(data)}\r\n {nullGroupName ? null : ungroupedExtractions.map(this.getExtraction)}\r\n
\r\n );\r\n }\r\n}\r\n\r\nexport default ExtractionList;\r\n","import PropTypes from 'prop-types';\r\nimport React, { Component } from 'react';\r\nimport Button from 'components/shared/single-click-button';\r\nimport Icon from 'components/shared/icon';\r\nimport ExtractionList from '../extraction-list/extraction-list';\r\nimport LoadingOverlay from 'components/shared/loading/light';\r\nimport { FormattedMessage } from 'react-intl';\r\n\r\nclass ExtractionPicker extends Component {\r\n static propTypes = {\r\n clearUndoStack: PropTypes.func,\r\n closeFunction: PropTypes.func,\r\n createExtractionFieldRecord: PropTypes.func,\r\n currentTemplate: PropTypes.any,\r\n data: PropTypes.any,\r\n projectId: PropTypes.any,\r\n refreshFunction: PropTypes.func,\r\n documentTemplateCategoryId: PropTypes.number,\r\n };\r\n\r\n state = {\r\n addExtractionData: [],\r\n extractionFields: [], //Used to store API response of extraction fields\r\n loading: false\r\n };\r\n\r\n // Basic prop and state check to ensure the component does not update unnecessarily due to its parent re rendering\r\n shouldComponentUpdate(nextProps, nextState) {\r\n const propsChanged = Object.keys(nextProps).some(key => nextProps[key] !== this.props[key]);\r\n const stateChanged = Object.keys(nextState).some(key => nextState[key] !== this.state[key]);\r\n return propsChanged || stateChanged;\r\n }\r\n\r\n createExtractionFieldRecord = extractionFieldId => {\r\n var { createExtractionFieldRecord } = this.props;\r\n this.setState({ loading: true });\r\n\r\n return createExtractionFieldRecord(extractionFieldId).then(() => {\r\n this.setState({ loading: false });\r\n });\r\n };\r\n\r\n closeFunction = () => {\r\n const { closeFunction } = this.props;\r\n closeFunction();\r\n };\r\n\r\n render() {\r\n var {\r\n clearUndoStack,\r\n currentTemplate,\r\n data,\r\n refreshFunction,\r\n projectId,\r\n documentTemplateCategoryId\r\n } = this.props;\r\n var { loading } = this.state;\r\n\r\n return (\r\n
\r\n
\r\n

\r\n \r\n

\r\n\r\n \r\n
\r\n\r\n
\r\n {loading && }\r\n {!loading && data ? (\r\n \r\n ) : null}\r\n
\r\n
\r\n );\r\n }\r\n}\r\n\r\nexport default ExtractionPicker;\r\n","import PropTypes from 'prop-types';\r\nimport React, { Component } from 'react';\r\nimport { FormattedMessage, injectIntl, intlShape } from 'react-intl';\r\nimport Button from 'components/shared/single-click-button';\r\nimport Icon from 'components/shared/icon';\r\nimport Modal from 'components/shared/modal';\r\nimport TextArea from 'components/shared/form/textarea';\r\nimport { addNotification } from 'store/notifications.js';\r\nimport store from 'store/store';\r\nimport Constants from 'utils/constants';\r\nimport Dropdown from 'components/shared/form/dropdown';\r\nimport { saveProjectTemplateDocType } from 'store/api';\r\n\r\nclass CreateExtraction extends Component {\r\n static propTypes = {\r\n createExtraction: PropTypes.func,\r\n currentTemplateName: PropTypes.string,\r\n extractionFieldGroups: PropTypes.array.isRequired,\r\n intl: intlShape.isRequired,\r\n onBackClick: PropTypes.func,\r\n onCancelClick: PropTypes.func,\r\n onClose: PropTypes.func,\r\n onCreateFail: PropTypes.func,\r\n onCreateSuccess: PropTypes.func,\r\n pageViewer: PropTypes.string, // Specifies which page it's being used for reusability purposes\r\n showConfirmations: PropTypes.bool,\r\n documentTemplateCategoryId: PropTypes.number,\r\n customDocTypeName: PropTypes.string,\r\n projectId: PropTypes.number,\r\n projectTemplateId: PropTypes.number\r\n };\r\n\r\n state = {\r\n description: '',\r\n extractionFieldGroup: this.props.extractionFieldGroups.length === 1 ? this.props.extractionFieldGroups[0] : null,\r\n isResponsePending: false,\r\n isShowingConfirmationModal: false,\r\n name: '',\r\n trainingTargetDocumentsNewField: 30,\r\n customDocType: this.props.customDocTypeName,\r\n disableCustomDocTypeUpdate: false,\r\n negation: ''\r\n };\r\n\r\n static defaultProps = {\r\n onClose: () => {}\r\n };\r\n\r\n static defaultProps = {\r\n onClose: () => {}\r\n };\r\n\r\n nameTextChange = value => {\r\n this.setState({ name: value });\r\n };\r\n\r\n descriptionTextChange = value => {\r\n this.setState({ description: value });\r\n };\r\n\r\n negationTextChange = value => {\r\n this.setState({ negation: value });\r\n };\r\n\r\n docTypeTextChange = value => {\r\n this.setState({ customDocType: value });\r\n };\r\n\r\n showArgusTrainingModal = () => {\r\n const { trainingTargetDocumentsNewField } = this.state;\r\n window.postMessage({ showArgusTrainingModal: true, trainingTargetDocumentsNewField }, window.location.href);\r\n };\r\n\r\n onCreateClick = () => {\r\n const { showConfirmations } = this.props;\r\n if (showConfirmations) {\r\n this.setState({ isShowingConfirmationModal: true });\r\n } else {\r\n this.createExtraction();\r\n }\r\n };\r\n\r\n createExtraction = () => {\r\n const {\r\n createExtraction,\r\n projectId,\r\n projectTemplateId,\r\n documentTemplateCategoryId,\r\n extractionFieldGroups,\r\n customDocTypeName\r\n } = this.props;\r\n const { name, description, negation, extractionFieldGroup, customDocType } = this.state;\r\n\r\n this.setState({ isResponsePending: true });\r\n if (documentTemplateCategoryId === Constants.TemplateCategories.Custom_GENAI_NONDETAIL_TESTING) {\r\n if (customDocType != customDocTypeName) saveProjectTemplateDocType(projectId, projectTemplateId, customDocType);\r\n return createExtraction(\r\n name,\r\n description,\r\n negation,\r\n extractionFieldGroups.filter(x => x.displayOrder == 1)[0]\r\n ? extractionFieldGroups.filter(x => x.displayOrder == 1)[0].groupId\r\n : null\r\n )\r\n .then(this.onCreateSuccess)\r\n .catch(this.onCreateFail);\r\n } else {\r\n return createExtraction(name, description, negation, extractionFieldGroup ? extractionFieldGroup.groupId : null)\r\n .then(this.onCreateSuccess)\r\n .catch(this.onCreateFail);\r\n }\r\n };\r\n\r\n onCreateSuccess = response => {\r\n var { onCreateSuccess, showConfirmations } = this.props;\r\n\r\n this.setState({\r\n isShowingConfirmationModal: false,\r\n isResponsePending: false,\r\n trainingTargetDocumentsNewField: response?.data?.field?.minDocumentsToBeConsideredTrained\r\n });\r\n showConfirmations && this.showCreateExtractionNotification();\r\n onCreateSuccess(response.data);\r\n };\r\n\r\n onCreateFail = error => {\r\n var { onCreateFail } = this.props;\r\n this.setState({ isShowingConfirmationModal: false, isResponsePending: false });\r\n onCreateFail();\r\n };\r\n\r\n // Closing the component\r\n onClose = () => {\r\n const { onClose } = this.props;\r\n onClose();\r\n };\r\n\r\n showCreateExtractionNotification = () => {\r\n const documentTemplateCategoryId = this.props.documentTemplateCategoryId;\r\n // Create Extraction Notification Message is same for Abby, Kira and GenAI.\r\n const message = \r\n store.dispatch(addNotification({ message, clearOnPageChange: true, autohide: 10 }));\r\n };\r\n\r\n renderToolbar = () => {\r\n const { onBackClick, onCloseClick } = this.props;\r\n return (\r\n
\r\n \r\n

\r\n \r\n

\r\n \r\n
\r\n );\r\n };\r\n\r\n renderConfirmationModal = disableSubmitButton => {\r\n const { name } = this.state;\r\n const { currentTemplateName } = this.props;\r\n\r\n return (\r\n \r\n
\r\n

\r\n \r\n

\r\n

\r\n \r\n

\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n );\r\n };\r\n\r\n render() {\r\n const {\r\n onBackClick,\r\n onCancelClick,\r\n onCloseClick,\r\n pageViewer,\r\n intl,\r\n extractionFieldGroups,\r\n documentTemplateCategoryId\r\n } = this.props;\r\n const {\r\n name,\r\n description,\r\n negation,\r\n isShowingConfirmationModal,\r\n isResponsePending,\r\n extractionFieldGroup,\r\n customDocType,\r\n disableCustomDocTypeUpdate\r\n } = this.state;\r\n\r\n const validExtractionFieldGroup =\r\n documentTemplateCategoryId === Constants.TemplateCategories.Custom_GENAI_NONDETAIL_TESTING && customDocType\r\n ? true\r\n : extractionFieldGroups.length\r\n ? extractionFieldGroup\r\n : true;\r\n\r\n const disableSubmitButton =\r\n isResponsePending ||\r\n !(description && description.length <= 1000 && name && name.length <= 400 && validExtractionFieldGroup);\r\n\r\n return (\r\n
\r\n {/* Toolbar for extraction page and project page */}\r\n {(pageViewer === 'ExtractionPage' || pageViewer === 'ProjectPage') && (\r\n
\r\n \r\n \r\n \r\n \r\n
\r\n )}\r\n\r\n {/* Toolbar for document page and project page */}\r\n {pageViewer === 'DocumentPage' && (\r\n
\r\n \r\n

\r\n \r\n

\r\n \r\n
\r\n )}\r\n\r\n {/* Name field */}\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n {placeholder => (\r\n this.nameTextChange(value)}\r\n value={name}\r\n maxLength=\"400\"\r\n />\r\n )}\r\n \r\n
\r\n\r\n {/* Description field */}\r\n
\r\n \r\n \r\n \r\n \r\n {placeholder => (\r\n this.descriptionTextChange(value)}\r\n value={description}\r\n maxLength=\"1000\"\r\n />\r\n )}\r\n \r\n
\r\n \r\n {/* EF group dropdown */}\r\n {extractionFieldGroups.length ? (\r\n
\r\n \r\n \r\n \r\n {documentTemplateCategoryId &&\r\n documentTemplateCategoryId == Constants.TemplateCategories.Custom_GENAI_NONDETAIL_TESTING ? (\r\n \r\n {placeholder => (\r\n this.docTypeTextChange(value)}\r\n value={customDocType}\r\n maxLength=\"400\"\r\n disabled={disableCustomDocTypeUpdate}\r\n />\r\n )}\r\n \r\n ) : (\r\n this.setState({ extractionFieldGroup: option })}\r\n selectedOption={extractionFieldGroup}\r\n options={extractionFieldGroups}\r\n renderOption={selectedOption => {selectedOption.groupName}}\r\n />\r\n )}\r\n
\r\n ) : null}\r\n
\r\n\r\n
\r\n {/* Cancel button */}\r\n \r\n \r\n \r\n\r\n {/* Create button */}\r\n \r\n \r\n \r\n
\r\n\r\n {isShowingConfirmationModal ? this.renderConfirmationModal(disableSubmitButton) : null}\r\n
\r\n );\r\n }\r\n}\r\n\r\nexport default injectIntl(CreateExtraction);\r\n","import PropTypes from 'prop-types';\r\nimport React, { Component } from 'react';\r\nimport Dropdown from 'components/shared/form/dropdown';\r\nimport { FormattedMessage, injectIntl, intlShape } from 'react-intl';\r\nimport Button from 'components/shared/single-click-button';\r\nimport CreateExtraction from '../create-extraction/create-extraction';\r\nimport ExtractionList from '../extraction-list/extraction-list';\r\nimport Icon from 'components/shared/icon';\r\nimport Modal from 'components/shared/modal';\r\nimport Constants from 'utils/constants';\r\n\r\nimport Permissions from 'permissions/permissions';\r\nimport { debounce } from 'underscore';\r\n\r\nclass AddExtraction extends Component {\r\n static propTypes = {\r\n addExtractionClicked: PropTypes.bool,\r\n addExtractions: PropTypes.func.isRequired,\r\n addToNewTemplate: PropTypes.func,\r\n changeAddExtractionClicked: PropTypes.func,\r\n changeIsAddExtractionButtonDisabled: PropTypes.func,\r\n currentTemplateName: PropTypes.any,\r\n data: PropTypes.any,\r\n documentTemplateCategoryId: PropTypes.number,\r\n extractionFieldGroups: PropTypes.array,\r\n fromCreateTemplateView: PropTypes.bool,\r\n groupByTemplateType: PropTypes.bool,\r\n intl: intlShape.isRequired,\r\n isAddExtractionButtonDisabled: PropTypes.bool,\r\n onAddExtractionsFail: PropTypes.func.isRequired,\r\n onAddExtractionsSuccess: PropTypes.func.isRequired,\r\n onClose: PropTypes.func,\r\n onHide: PropTypes.func,\r\n onSelectTemplateType: PropTypes.func,\r\n pageViewer: PropTypes.string.isRequired, // Specifies which page it's being used for reusability purposes\r\n readOnly: PropTypes.bool,\r\n showConfirmations: PropTypes.bool,\r\n templateTypes: PropTypes.array,\r\n currentTemplate: PropTypes.object\r\n };\r\n\r\n state = {\r\n extractionFieldGroup:\r\n this.props.extractionFieldGroups && this.props.extractionFieldGroups.length === 1\r\n ? this.props.extractionFieldGroups[0]\r\n : null,\r\n filter: '',\r\n isResponsePending: false,\r\n selectedExtractions: [],\r\n showAddExtractionConfirmation: false\r\n };\r\n\r\n static defaultProps = {\r\n onClose: () => {},\r\n onHide: () => {},\r\n readOnly: false\r\n };\r\n\r\n componentDidUpdate(prevProps) {\r\n const {\r\n groupByTemplateType,\r\n addExtractionClicked,\r\n isAddExtractionButtonDisabled,\r\n changeIsAddExtractionButtonDisabled,\r\n fromCreateTemplateView\r\n } = this.props;\r\n const { isResponsePending, selectedExtractions } = this.state;\r\n\r\n if (prevProps.groupByTemplateType !== groupByTemplateType) {\r\n this.setState({ selectedExtractions: [], filter: '' });\r\n }\r\n\r\n if (addExtractionClicked && !prevProps.addExtractionClicked) {\r\n this.onAddButtonClick();\r\n }\r\n\r\n const isButtonDisabled = isResponsePending || !selectedExtractions.length;\r\n if (isAddExtractionButtonDisabled !== isButtonDisabled && fromCreateTemplateView) {\r\n changeIsAddExtractionButtonDisabled(isButtonDisabled);\r\n }\r\n }\r\n\r\n // Filter the data by the search term (if any)\r\n getFilteredData = () => {\r\n var { filter } = this.state;\r\n var { data } = this.props;\r\n\r\n if (!data || !data.length || !filter) {\r\n return [...data];\r\n }\r\n\r\n return data.filter(\r\n ({ group, name }) =>\r\n (group !== null && group.toLowerCase().indexOf(filter.toLowerCase()) !== -1) ||\r\n (name !== null && name.toLowerCase().indexOf(filter.toLowerCase()) !== -1)\r\n );\r\n };\r\n\r\n // Set the filter from the search input value\r\n onTextChange = debounce(value => {\r\n this.setState({ filter: value });\r\n }, 500);\r\n\r\n // Closing the component\r\n onClose = () => {\r\n const { onClose } = this.props;\r\n this.setState({ filter: '' });\r\n onClose();\r\n };\r\n\r\n // Hiding the component\r\n onHide = () => {\r\n const { onHide } = this.props;\r\n this.setState({ filter: '' });\r\n onHide();\r\n };\r\n\r\n // When a user selects an extraction field within group\r\n onExtractionSelect = ext => {\r\n const { selectedExtractions } = this.state;\r\n const { pageViewer } = this.props;\r\n const allowMultiSelect = pageViewer !== 'DocumentPage';\r\n const isSelected = selectedExtractions.some(e => e.id === ext.id);\r\n\r\n if (isSelected) {\r\n // Deselect if already selected\r\n this.setState({ selectedExtractions: selectedExtractions.filter(e => e.id !== ext.id) });\r\n } else {\r\n // Select if not already selected\r\n this.setState({ selectedExtractions: allowMultiSelect ? [...selectedExtractions, ext] : [ext] });\r\n }\r\n };\r\n\r\n // When a user selects all the extraction fields\r\n onCheckAll = (allIds, title) => {\r\n const { selectedExtractions } = this.state;\r\n\r\n const isSelected = allIds[title].some(item => selectedExtractions.find(e => e.id === item.id));\r\n\r\n if (isSelected) {\r\n // Deselect all if some are already selected\r\n return this.setState({\r\n selectedExtractions: selectedExtractions.filter(e => !allIds[title].find(({ id }) => e.id === id))\r\n });\r\n } else {\r\n // Select all if none already selected\r\n return this.setState({ selectedExtractions: [...selectedExtractions, ...allIds[title]] });\r\n }\r\n };\r\n\r\n // Handle a click on the add button\r\n onAddButtonClick = () => {\r\n const { showConfirmations, changeAddExtractionClicked, fromCreateTemplateView } = this.props;\r\n const { selectedExtractions } = this.state;\r\n\r\n if (changeAddExtractionClicked && fromCreateTemplateView) {\r\n changeAddExtractionClicked(false);\r\n }\r\n\r\n if (showConfirmations || !selectedExtractions[0].groupId) {\r\n this.setState({ showAddExtractionConfirmation: true });\r\n } else {\r\n this.addExtractions();\r\n }\r\n };\r\n\r\n // Add extractions\r\n addExtractions = () => {\r\n var { addExtractions, documentTemplateCategoryId } = this.props;\r\n var { selectedExtractions, extractionFieldGroup } = this.state;\r\n\r\n this.setState({ showAddExtractionConfirmation: false, isResponsePending: true, extractionFieldGroup: null });\r\n\r\n return addExtractions(\r\n Array.from(\r\n new Set(\r\n selectedExtractions.map(({ id, groupId }) => {\r\n return {\r\n id,\r\n groupId: groupId\r\n ? groupId\r\n : extractionFieldGroup != null\r\n ? extractionFieldGroup.groupId\r\n : groupId\r\n ? groupId\r\n : extractionFieldGroup.groupId\r\n };\r\n })\r\n )\r\n )\r\n )\r\n .then(() =>\r\n this.onAddExtractionsSuccess(\r\n selectedExtractions.map(extraction =>\r\n extraction.groupId ? extraction : { ...extraction, groupId: extractionFieldGroup.groupId, group: extractionFieldGroup.groupName }\r\n )\r\n )\r\n )\r\n .catch(this.onAddExtractionsFail);\r\n };\r\n\r\n // Handle add extraction success\r\n onAddExtractionsSuccess = extractions => {\r\n var { onAddExtractionsSuccess } = this.props;\r\n this.setState({ filter: '', selectedExtractions: [], isResponsePending: false });\r\n onAddExtractionsSuccess(extractions);\r\n };\r\n\r\n // Handle add extraction fail\r\n onAddExtractionsFail = () => {\r\n var { onAddExtractionsFail } = this.props;\r\n this.setState({ isResponsePending: false });\r\n onAddExtractionsFail();\r\n };\r\n\r\n // Render the add extraction confirmation modal\r\n renderConfirmationModal = () => {\r\n const {\r\n currentTemplateName,\r\n extractionFieldGroups,\r\n intl,\r\n documentTemplateCategoryId,\r\n currentTemplate\r\n } = this.props;\r\n const { extractionFieldGroup, selectedExtractions } = this.state;\r\n if (documentTemplateCategoryId == Constants.TemplateCategories.Custom_GENAI_NONDETAIL_TESTING && currentTemplate) {\r\n if (\r\n extractionFieldGroup &&\r\n extractionFieldGroup?.groupSystemName == Constants.CustomExtractionFieldGroups.GENAI_CUSTOM_GROUP_SYSTEMNAME\r\n )\r\n extractionFieldGroup.groupName = currentTemplate.customDocTypeName;\r\n\r\n if (\r\n extractionFieldGroups.length > 1 &&\r\n extractionFieldGroups.filter(\r\n x => x.groupSystemName == Constants.CustomExtractionFieldGroups.GENAI_CUSTOM_GROUP_SYSTEMNAME\r\n ).length > 0\r\n )\r\n extractionFieldGroups.filter(\r\n x => x.groupSystemName == Constants.CustomExtractionFieldGroups.GENAI_CUSTOM_GROUP_SYSTEMNAME\r\n )[0].groupName = currentTemplate.customDocTypeName;\r\n }\r\n\r\n return (\r\n \r\n
\r\n

\r\n \r\n

\r\n

\r\n {selectedExtractions.length === 1 ? (\r\n \r\n ) : (\r\n extraction.name)\r\n .join(', ')\r\n .replace(/,(?=[^,]*$)/, ' and'),\r\n templateName: currentTemplateName\r\n }}\r\n />\r\n )}\r\n

\r\n {/* EF group dropdown */}\r\n {(!selectedExtractions[0].groupId ||\r\n (documentTemplateCategoryId !== Constants.TemplateCategories.NON_DETAIL_TESTING &&\r\n documentTemplateCategoryId !== Constants.TemplateCategories.NON_EDITABLE_GENAI_NONDETAIL_TESTING &&\r\n documentTemplateCategoryId !== Constants.TemplateCategories.Custom_GENAI_NONDETAIL_TESTING)) && (\r\n <>\r\n

\r\n \r\n

\r\n
\r\n

\r\n \r\n

\r\n this.setState({ extractionFieldGroup: option })}\r\n selectedOption={extractionFieldGroup}\r\n options={extractionFieldGroups}\r\n renderOption={selectedOption => {selectedOption.groupName}}\r\n />\r\n
\r\n \r\n )}\r\n
\r\n \r\n this.setState({\r\n showAddExtractionConfirmation: false,\r\n extractionFieldGroup:\r\n extractionFieldGroups && extractionFieldGroups.length === 1 ? extractionFieldGroups[0] : null\r\n })\r\n }\r\n >\r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n );\r\n };\r\n\r\n onSelectType = selectedType => {\r\n const { onSelectTemplateType, data } = this.props;\r\n this.setState(\r\n {\r\n selectedExtractions:\r\n selectedType.type.templateCategoryId === Constants.TemplateCategories.NON_EDITABLE_DETAIL_TESTING\r\n ? data.filter(ext => selectedType.extractionFieldIds.includes(ext.id))\r\n : []\r\n },\r\n () => onSelectTemplateType(selectedType)\r\n );\r\n };\r\n\r\n render() {\r\n const {\r\n pageViewer,\r\n readOnly,\r\n groupByTemplateType,\r\n templateTypes,\r\n addToNewTemplate,\r\n fromCreateTemplateView,\r\n documentTemplateCategoryId\r\n } = this.props;\r\n\r\n const { filter, isResponsePending, selectedExtractions, showAddExtractionConfirmation } = this.state;\r\n\r\n const openByDefault = filter && filter.length && filter.length > 0;\r\n const isButtonDisabled = isResponsePending || !selectedExtractions.length;\r\n const canCreateExtractionField = Permissions.Project.Template.TemplateExtractionField.canCreate();\r\n const filteredData = this.getFilteredData();\r\n\r\n return (\r\n
\r\n {/* Project page toolbar */}\r\n {pageViewer === 'ProjectPage' && (\r\n
\r\n {!fromCreateTemplateView && (\r\n \r\n )}\r\n \r\n \r\n \r\n
\r\n )}\r\n {/* Document page toolbar */}\r\n {pageViewer === 'DocumentPage' && (\r\n
\r\n \r\n

\r\n \r\n

\r\n \r\n
\r\n )}\r\n {/* Main content */}\r\n
\r\n
\r\n
\r\n \r\n
\r\n {!groupByTemplateType && (\r\n \r\n {placeholder => (\r\n this.onTextChange(e.target.value)}\r\n defaultValue={this.filter}\r\n />\r\n )}\r\n \r\n )}\r\n
\r\n
\r\n {filteredData && filteredData.length > 0 && (\r\n \r\n {nullGroupName => (\r\n \r\n )}\r\n \r\n )}\r\n
\r\n\r\n {/* Render the footer */}\r\n {readOnly ? null : (\r\n
\r\n {/* Add button */}\r\n {groupByTemplateType ? (\r\n {\r\n addToNewTemplate(selectedExtractions);\r\n this.setState({ selectedExtractions: [] });\r\n }}\r\n >\r\n \r\n \r\n ) : fromCreateTemplateView ? null : (\r\n \r\n \r\n \r\n )}\r\n
\r\n )}\r\n
\r\n {/* Render the confirmation modal */}\r\n {showAddExtractionConfirmation && !isButtonDisabled && this.renderConfirmationModal()}\r\n
\r\n );\r\n }\r\n}\r\n\r\nexport default injectIntl(AddExtraction);\r\n","import PropTypes from 'prop-types';\r\nimport React, { Component } from 'react';\r\nimport { FormattedMessage } from 'react-intl';\r\nimport { processTemplateExtractionFields } from 'components/extractions/helpers/extraction-picker';\r\nimport Button from 'components/shared/single-click-button';\r\nimport ExtractionRecordList from 'containers/extractions/extraction-record-list';\r\nimport ExtractionPicker from 'components/extractions/extraction-picker/extraction-picker';\r\nimport Permissions from 'permissions/permissions';\r\nimport { getExtractionFieldIds } from 'components/extractions/helpers/extraction-picker';\r\nimport { getExtractionFieldsByCategoryID } from 'store/api';\r\nimport AddExtraction from 'components/extractions/add-extraction/add-extraction';\r\nimport { flattenAddExtractionData } from 'components/extractions/helpers/add-extraction';\r\nimport CreateExtraction from 'components/extractions/create-extraction/create-extraction';\r\nimport LoadingOverlay from 'components/shared/loading/light';\r\nimport constants from 'utils/constants';\r\n\r\nclass SidePanel extends Component {\r\n static propTypes = {\r\n addExtractionField: PropTypes.func,\r\n clearUndoStack: PropTypes.func,\r\n closeFunction: PropTypes.func,\r\n createExtractionField: PropTypes.func,\r\n createExtractionFieldRecord: PropTypes.func,\r\n currentDocument: PropTypes.object,\r\n currentDocumentLayout: PropTypes.object,\r\n currentProject: PropTypes.object,\r\n documentViewerUndo: PropTypes.object,\r\n hasSelection: PropTypes.bool,\r\n isMenuOpen: PropTypes.bool,\r\n readOnly: PropTypes.bool,\r\n onCreateExtractionSuccess: PropTypes.func,\r\n editExtractionField: PropTypes.func,\r\n };\r\n\r\n state = {\r\n extractionPickerData: undefined,\r\n isShowingAddExtraction: false,\r\n isShowingCreateExtraction: false,\r\n addExtractionData: [],\r\n loading: false\r\n };\r\n\r\n componentDidUpdate = (prevProps, prevState) => {\r\n if (prevProps.hasSelection && !this.props.hasSelection) {\r\n this.showHideAddExtraction(false);\r\n this.showHideCreateExtraction(false);\r\n }\r\n };\r\n\r\n showHideAddExtraction = show => {\r\n this.setState({ isShowingAddExtraction: show });\r\n };\r\n\r\n closeFunction = () => {\r\n this.props.closeFunction();\r\n this.setState({ isShowingAddExtraction : false, isShowingCreateExtraction: false });\r\n };\r\n\r\n showHideCreateExtraction = showCreateExtraction => {\r\n this.setState({ isShowingCreateExtraction: showCreateExtraction });\r\n };\r\n\r\n refreshFunction = () => {};\r\n\r\n createExtractionField = params => {\r\n this.showHideCreateExtraction(false);\r\n return this.props.createExtractionField(params);\r\n };\r\n\r\n addExtractionField = params => {\r\n this.showHideAddExtraction(false);\r\n return this.props.addExtractionField(params);\r\n };\r\n\r\n onCreateExtractionSuccess = (...params) => {\r\n const { onCreateExtractionSuccess } = this.props;\r\n\r\n if (typeof onCreateExtractionSuccess === 'function') {\r\n onCreateExtractionSuccess(...params);\r\n }\r\n };\r\n\r\n // Show the add extraction component\r\n showAddExtraction = () => {\r\n const { currentDocument } = this.props;\r\n var tempCategoryId = currentDocument.projectTemplates[0].templateCategoryId;\r\n this.showHideAddExtraction(true);\r\n this.refreshAddExtractionData(tempCategoryId);\r\n };\r\n\r\n // Hide the add extraction component\r\n hideAddExtraction = () => {\r\n this.showHideAddExtraction(false);\r\n };\r\n\r\n // Show the Create extraction component\r\n showCreateExtraction = () => {\r\n this.showHideCreateExtraction(true);\r\n };\r\n\r\n // Hide the Create extraction component\r\n hideCreateExtraction = () => {\r\n this.showHideCreateExtraction(false);\r\n };\r\n\r\n onCreateExtractionFail = () => {\r\n this.showHideCreateExtraction(false);\r\n };\r\n\r\n // Get data for the add extraction component\r\n refreshAddExtractionData(tempCategoryId) {\r\n const {currentDocument, currentProject} = this.props;\r\n const {\r\n extractionFields,\r\n extractionFieldGroups,\r\n projectTemplates\r\n } = currentDocument;\r\n const group = extractionFieldGroups.map(group => ({\r\n extractionFieldGroupName: group.groupName,\r\n extractionFieldGroupId: group.groupId,\r\n displayOrder: group.displayOrder,\r\n groupSystemName: group.groupSystemName,\r\n extractionFields: extractionFields.filter(field => field.extractionFieldGroupId === group.groupId)\r\n }));\r\n const ungroupedExtractionFields = extractionFields.filter(field => !field.extractionFieldGroupId );\r\n \r\n if (ungroupedExtractionFields.length > 0) {\r\n group.push({\r\n extractionFieldGroupName: projectTemplates.length > 0 ? projectTemplates[0].name : 'Other',\r\n extractionFieldGroupId: 0,\r\n displayOrder: 0,\r\n extractionFields: ungroupedExtractionFields\r\n });\r\n }\r\n return getExtractionFieldsByCategoryID(tempCategoryId, currentProject.projectId).then(response => {\r\n this.setState({\r\n extractionFields: response.data,\r\n addExtractionData: flattenAddExtractionData(response.data, getExtractionFieldIds(\r\n processTemplateExtractionFields(this.props.currentDocument.projectTemplates[0], group)\r\n ))\r\n });\r\n });\r\n }\r\n\r\n // Create a new extraction field (also associate to template, and create extravction record)\r\n createExtraction = (name, description, negation, efGroupId) => {\r\n const { currentDocument, createExtractionField } = this.props;\r\n\r\n this.setState({ loading: true });\r\n return createExtractionField({\r\n name,\r\n description,\r\n negation,\r\n efGroupId,\r\n templateId: currentDocument.projectTemplates[0].projectTemplateId\r\n }).then(response => {\r\n this.setState({ loading: false, isShowingCreateExtraction: false});\r\n return response;\r\n });\r\n };\r\n\r\n // Add extraction to template and create extraction record\r\n addExtractions = fields => {\r\n //ids should always be an array with 1 element in this context\r\n const { currentDocument, addExtractionField } = this.props;\r\n const { extractionFields } = this.state;\r\n this.setState({ loading: true });\r\n\r\n return addExtractionField({\r\n extractionField: {\r\n ...extractionFields.find(e => e.extractionFieldId === fields[0].id),\r\n extractionFieldGroupId: fields[0].groupId\r\n },\r\n templateId: currentDocument.projectTemplates[0].projectTemplateId\r\n }).then(() => {\r\n this.setState({ loading: false, isShowingAddExtraction : false });\r\n });\r\n };\r\n\r\n editExtractionField = (extractionFieldId, name, description, externalSystemId ) => {\r\n const { editExtractionField } = this.props;\r\n\r\n return editExtractionField({extractionField:{\r\n extractionFieldId: extractionFieldId,\r\n extractionFieldName: name,\r\n extractionFieldDescription: description,\r\n externalSystemId: externalSystemId\r\n }});\r\n };\r\n\r\n createExtractionFieldRecord = extractionFieldId => {\r\n var { createExtractionFieldRecord } = this.props;\r\n this.setState({ loading: true });\r\n\r\n return createExtractionFieldRecord(extractionFieldId).then(() => {\r\n this.setState({ loading: false });\r\n });\r\n };\r\n\r\n onCreateExtractionSuccess = (...params) => {\r\n const { onCreateExtractionSuccess } = this.props;\r\n if (typeof onCreateExtractionSuccess === 'function') {\r\n onCreateExtractionSuccess(...params);\r\n }\r\n };\r\n\r\n render() {\r\n const { currentDocument, currentDocumentLayout } = this.props;\r\n\r\n if (currentDocument.isLoaded && currentDocumentLayout.isLoaded && currentDocument.projectTemplates) {\r\n const { isShowingAddExtraction, isShowingCreateExtraction, addExtractionData, loading } = this.state;\r\n const {\r\n currentProject,\r\n hasSelection,\r\n readOnly,\r\n documentViewerUndo,\r\n clearUndoStack,\r\n createExtractionFieldRecord,\r\n isMenuOpen\r\n } = this.props;\r\n \r\n const { projectId,isGenAIProcessingEnabled} = currentProject;\r\n const {\r\n documentId,\r\n extractionFields,\r\n extractionFieldRecords,\r\n extractionFieldGroups,\r\n projectTemplates\r\n } = currentDocument;\r\n\r\n const { layout } = currentDocumentLayout;\r\n\r\n const currentTemplate = currentDocument.projectTemplates[0];\r\n\r\n const canCreateExtractionField = Permissions.Project.Template.TemplateExtractionField.canCreate();\r\n\r\n const groups = extractionFieldGroups.map(group => ({\r\n extractionFieldGroupName: group.groupName,\r\n extractionFieldGroupId: group.groupId,\r\n displayOrder: group.displayOrder,\r\n groupSystemName: group.groupSystemName,\r\n extractionFields: extractionFields.filter(field => field.extractionFieldGroupId === group.groupId)\r\n }));\r\n const ungroupedExtractionFields = extractionFields.filter(field => !field.extractionFieldGroupId);\r\n if (ungroupedExtractionFields.length > 0) {\r\n groups.push({\r\n extractionFieldGroupName: projectTemplates.length > 0 ? projectTemplates[0].name : 'Other',\r\n extractionFieldGroupId: 0,\r\n displayOrder: 0,\r\n extractionFields: ungroupedExtractionFields\r\n });\r\n }\r\n\r\n const enhancedData = currentDocument.filterById.extractionFieldGroupIds.length\r\n ? processTemplateExtractionFields(currentTemplate, groups).filter(ef =>\r\n currentDocument.filterById.extractionFieldGroupIds.includes(ef.groupId)\r\n )\r\n : processTemplateExtractionFields(currentTemplate, groups);\r\n\r\n const filteredEFRecords = extractionFieldRecords.filter(\r\n efr =>\r\n efr.pageNumber >= currentDocument.filterById.selectedSection &&\r\n efr.pageNumber < currentDocument.filterById.selectedSection + currentDocument.filterById.sectionLength\r\n );\r\n\r\n const showExtractionPicker =\r\n hasSelection && Permissions.Project.Document.ExtractionField.ExtractionFieldRecord.canCreate();\r\n const showFootCreate = ((canCreateExtractionField && !isShowingAddExtraction && currentProject.myRole.roleId != constants.UserRoles.PROJECT_VISITOR) || (loading && canCreateExtractionField));\r\n\r\n const extractionFieldGroup = currentDocument.filterById.extractionFieldGroupIds.length\r\n ? extractionFieldGroups.filter(group =>\r\n currentDocument.filterById.extractionFieldGroupIds.includes(group.groupId)\r\n )\r\n : extractionFieldGroups\r\n\r\n return (\r\n
\r\n {loading && }\r\n {!readOnly && !loading && (\r\n
\r\n \r\n
\r\n )}\r\n\r\n { !loading && (\r\n \r\n )}\r\n\r\n
\r\n {Permissions.Project.Template.TemplateExtractionField.canAssociate() && (currentProject.myRole.roleId != constants.UserRoles.PROJECT_VISITOR) && (\r\n
\r\n \r\n
\r\n )}\r\n
\r\n\r\n {isShowingAddExtraction && !loading && (\r\n {}}\r\n onAddExtractionsSuccess={() => {}}\r\n onClose={this.closeFunction}\r\n onHide={this.hideAddExtraction}\r\n pageViewer=\"DocumentPage\"\r\n readOnly={readOnly}\r\n showConfirmations={true}\r\n extractionFieldGroups={extractionFieldGroup}\r\n documentTemplateCategoryId={currentTemplate.templateCategoryId}\r\n currentTemplate={currentTemplate}\r\n />\r\n )}\r\n\r\n {showFootCreate &&(\r\n
\r\n
\r\n \r\n
\r\n
\r\n )}\r\n\r\n {isShowingCreateExtraction && !loading &&(\r\n \r\n )}\r\n
\r\n );\r\n } else {\r\n return (\r\n
\r\n
\r\n
\r\n {[...Array(20)].map((a, i) => (\r\n
\r\n \r\n \r\n \r\n
\r\n ))}\r\n
\r\n
\r\n );\r\n }\r\n }\r\n}\r\n\r\nexport default SidePanel;\r\n","import { connect } from 'react-redux';\r\n\r\nimport SidePanel from 'components/document-viewer/panels/side-panel';\r\nimport { clearUndoStack } from 'store/document-viewer-undo';\r\n\r\nconst mapStateToProps = ({ data: { currentDocument, currentDocumentLayout, currentProject } }) => ({\r\n currentDocument,\r\n currentDocumentLayout,\r\n currentProject\r\n});\r\n\r\nconst mapDispatchToProps = {\r\n clearUndoStack\r\n};\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(SidePanel);\r\n","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { FormattedMessage } from 'react-intl';\r\nimport Button from 'components/shared/single-click-button';\r\n\r\nconst ArgusTrainingModal = ({ closeFunction, trainingTargetDocumentsNewField }) => (\r\n
\r\n

\r\n \r\n

\r\n
    \r\n
  • \r\n \r\n
  • \r\n
  • \r\n \r\n
  • \r\n
  • \r\n \r\n
  • \r\n
  • \r\n \r\n
  • \r\n
\r\n
\r\n \r\n
\r\n
\r\n);\r\n\r\nArgusTrainingModal.propTypes = {\r\n closeFunction: PropTypes.func,\r\n trainingTargetDocumentsNewField: PropTypes.number\r\n};\r\n\r\nexport default ArgusTrainingModal;\r\n","import PropTypes from 'prop-types';\r\nimport React, { Component } from 'react';\r\nimport { parse as parseQuery } from 'qs';\r\n\r\nimport socket, { rooms } from 'utils/socket';\r\nimport Constants from 'utils/constants';\r\n\r\nimport Header from 'containers/header/header';\r\nimport MainPanel from 'containers/document-viewer/panels/main-panel-container';\r\nimport SidePanel from 'containers/document-viewer/panels/side-panel-container';\r\nimport { ITEM_STATUSES } from 'models/project-item';\r\n\r\nimport Modal from 'components/shared/modal';\r\nimport ArgusTrainingModal from 'components/shared/argus-training-modal/argus-training-modal';\r\n\r\nconst CURRENT_SELECTION_INITIAL = {\r\n startingWord: null,\r\n endingWord: null\r\n};\r\n\r\nclass DocumentViewer extends Component {\r\n static propTypes = {\r\n addExtractionField: PropTypes.func,\r\n clearCurrentDocument: PropTypes.func,\r\n clearUndoStack: PropTypes.func,\r\n createExtractionField: PropTypes.func,\r\n createExtractionFieldRecord: PropTypes.func,\r\n currentDocument: PropTypes.object,\r\n currentDocumentLayout: PropTypes.object,\r\n currentProject: PropTypes.object,\r\n currentSearchFolder: PropTypes.object,\r\n currentUser: PropTypes.object,\r\n documentId: PropTypes.any,\r\n getCurrentDocument: PropTypes.func,\r\n getCurrentDocumentLayout: PropTypes.func,\r\n history: PropTypes.object,\r\n location: PropTypes.object,\r\n projectId: PropTypes.any,\r\n refreshCurrentDocument: PropTypes.func,\r\n unsubscribeCurrentDocument: PropTypes.func,\r\n editExtractionField: PropTypes.func\r\n };\r\n\r\n state = {\r\n selection: null,\r\n currentSelection: CURRENT_SELECTION_INITIAL,\r\n documentStateErrors: [],\r\n isMenuOpen: JSON.parse(sessionStorage.getItem('document-splitter-isMenuOpen') ?? true),\r\n showArgusTrainingModal: false,\r\n isKira: true,\r\n trainingTargetDocumentsNewField: 30,\r\n viewBanner: false\r\n };\r\n\r\n documentRendererFocus = false;\r\n\r\n documentRoom = undefined;\r\n templateRoom = undefined;\r\n\r\n componentDidMount() {\r\n this.loadData(true);\r\n this.joinDocumentRoom();\r\n window.addEventListener('message', this.messageListenerFunction, false);\r\n document.addEventListener('keydown', this.onKeyDown);\r\n }\r\n\r\n componentDidUpdate(prevProps) {\r\n const {\r\n documentId,\r\n projectId,\r\n currentDocument,\r\n currentUser: { geoCode, userId },\r\n currentDocumentLayout\r\n } = this.props;\r\n\r\n if (currentDocument.isLoaded) {\r\n sessionStorage.setItem('selected-template', currentDocument.projectTemplates[0].projectTemplateId);\r\n sessionStorage.setItem('selected-template-name', currentDocument.projectTemplates[0].name);\r\n sessionStorage.setItem('selected-template-projectId', projectId);\r\n }\r\n\r\n // When we navigate to the next document, reset values and join the document's socket room\r\n if (documentId !== prevProps.documentId || projectId !== prevProps.projectId) {\r\n this.setState(\r\n {\r\n selection: null,\r\n currentSelection: CURRENT_SELECTION_INITIAL,\r\n showArgusTrainingModal: false\r\n },\r\n () => {\r\n // If the data for the current document is already loaded, don't load it again\r\n // This is the case when using the next/prev buttons\r\n if (currentDocument.documentId !== documentId) {\r\n this.loadData(true);\r\n this.joinDocumentRoom();\r\n this.props.clearUndoStack();\r\n }\r\n }\r\n );\r\n }\r\n\r\n if (currentDocumentLayout.characters?.length !== prevProps.currentDocumentLayout.characters?.length) {\r\n this.checkDocumentProcessType();\r\n }\r\n\r\n const openedDocuments = JSON.parse(localStorage.getItem(`openedDocuments-${userId}`)) || [];\r\n const uniqueId = `${geoCode}-${projectId}-${documentId}`;\r\n\r\n if (openedDocuments.indexOf(uniqueId) < 0) {\r\n openedDocuments.push(uniqueId);\r\n localStorage.setItem(`openedDocuments-${userId}`, JSON.stringify(openedDocuments));\r\n }\r\n }\r\n\r\n componentWillUnmount() {\r\n this.props.clearUndoStack();\r\n // Unsubscribe to socket events\r\n socket.off('document.update.state', this.loadData);\r\n socket.off('document.delete', this.setDocumentDeleted);\r\n if (this.documentRoom) socket.leave(this.documentRoom);\r\n\r\n this.props.unsubscribeCurrentDocument();\r\n this.props.clearCurrentDocument();\r\n document.removeEventListener('keydown', this.onKeyDown);\r\n }\r\n\r\n documentStateUpdated = message => {\r\n var { projectId, documentId } = this.props;\r\n if (message && message.data && message.data.projectId === projectId && message.data.projectItemId === documentId) {\r\n this.loadData(false);\r\n }\r\n //Set Banner for Reprocessing Required as true\r\n if (message && message.data && message.data.projectId == projectId && message.data.projectItemId == documentId && message.data.itemStateId == ITEM_STATUSES.REPROCESSINGREQUIRED) {\r\n this.setState({\r\n viewBanner : true\r\n });\r\n }\r\n };\r\n\r\n loadData = documentIdChanged => {\r\n const { projectId, documentId, getCurrentDocument } = this.props;\r\n if (!projectId || !documentId) {\r\n return;\r\n }\r\n\r\n this.setState({ documentStateErrors: [] }, () => {\r\n getCurrentDocument(projectId, documentId);\r\n });\r\n };\r\n\r\n // Document Changes + record changes\r\n // The majority of socket events for document and template data are handled within the currentDocument store\r\n joinDocumentRoom() {\r\n if (!this.documentRoom) {\r\n this.documentRoom = rooms.document(this.props.projectId, this.props.documentId);\r\n socket.join(this.documentRoom);\r\n socket.on('document.update.state', this.documentStateUpdated);\r\n socket.on('document.delete', this.setDocumentDeleted);\r\n }\r\n }\r\n\r\n // Sets document state\r\n setDocumentDeleted() {\r\n this.setState({\r\n documentStateErrors: [Constants.Document_Error_States.DOCUMENTDELETED]\r\n });\r\n }\r\n\r\n // Parse url to see where to scroll to from either XF record location or page num query string\r\n parseQuery = () => {\r\n const query = parseQuery(this.props.location.search, { ignoreQueryPrefix: true });\r\n\r\n return {\r\n location: query.location ? query.location.map(i => parseInt(i, 10)) : null,\r\n page: query.page ? query.page : null\r\n };\r\n };\r\n\r\n // This function responds to an event emitted by the create-extraction component\r\n messageListenerFunction = message => {\r\n if (message && message.data && message.data.showArgusTrainingModal) {\r\n this.setState({\r\n showArgusTrainingModal: true,\r\n trainingTargetDocumentsNewField: message.data.trainingTargetDocumentsNewField\r\n });\r\n }\r\n };\r\n\r\n // used to check if a document was processed by kira or abbyy\r\n checkDocumentProcessType = () => {\r\n var {\r\n currentDocumentLayout: { characters }\r\n } = this.props;\r\n var isKira = true;\r\n\r\n for (let i = 0; i < characters.length; i++) {\r\n if (characters[i].u.length > 1) {\r\n isKira = false;\r\n break;\r\n } else if (this.isBreak(characters[i].u[0])) {\r\n break;\r\n }\r\n }\r\n\r\n this.setState({ isKira });\r\n };\r\n\r\n isBreak = unicode => {\r\n return Constants.TextSelectionBreakCharacters.indexOf(unicode) !== -1;\r\n };\r\n\r\n // Used to get plain text string from character range (plain text string needs to be sent to api when creating an extraction field record)\r\n getText = (start, end) => {\r\n var { characters } = this.props.currentDocumentLayout;\r\n const { isKira } = this.state;\r\n\r\n if (characters !== null && characters.length > 0) {\r\n var loc = [start, end].sort((a, b) => (a < b ? -1 : b < a ? 1 : 0));\r\n var firstIndex = characters.findIndex(c => c.i === loc[0]);\r\n var secondIndex = characters.findIndex(c => c.i === loc[1]);\r\n var characterRange = characters.slice(firstIndex, secondIndex + 1);\r\n var isHebrew = characterRange.map(c => c.u.some(c => c >= 1424 && c <= 1535));\r\n if (isHebrew.some(ch => ch == true)) {\r\n var revertedText = characterRange.reduceRight(\r\n (a, b) => a + (b.u.length ? b.u.map(c => String.fromCharCode(c)).join('') + ' ' : String.fromCharCode(b.u)),\r\n ''\r\n );\r\n while (!!revertedText.trim().match(/[.,:!?]$/)) {\r\n var result = revertedText.charAt(revertedText.length - 1);\r\n revertedText = result + revertedText;\r\n revertedText = revertedText.slice(0, -1);\r\n }\r\n return revertedText;\r\n } else {\r\n var text = characterRange.reduce(\r\n (a, b) =>\r\n a +\r\n (b.u.length\r\n ? b.u.map(c => String.fromCharCode(c)).join('') + (b.i === end || isKira ? '' : ' ')\r\n : String.fromCharCode(b.u)),\r\n ''\r\n );\r\n return text;\r\n }\r\n }\r\n return '';\r\n };\r\n\r\n // This function is passed down to the overlay component and handles user selection\r\n selectionFunction = ({ currentSelection } = {}) => {\r\n if (this.props.currentProject.STATES.ReadOnly()) return;\r\n\r\n var changed = currentSelection !== this.state.currentSelection;\r\n\r\n if (changed) {\r\n this.setState({ currentSelection });\r\n const { startingWord, endingWord } = currentSelection;\r\n var f, l, p, offset;\r\n\r\n if (startingWord) {\r\n if (endingWord) {\r\n const direction = startingWord.start.character.i < endingWord.start.character.i;\r\n f = direction ? startingWord.start.character.i : endingWord.start.character.i;\r\n l = direction ? endingWord.end.character.i : startingWord.end.character.i;\r\n offset = direction ? endingWord.end.character.u.length : startingWord.end.character.u.length;\r\n p = direction ? startingWord.start.page : endingWord.start.page;\r\n } else {\r\n f = startingWord.start.character.i;\r\n l = startingWord.end.character.i;\r\n offset = startingWord.end.character.u.length;\r\n p = startingWord.start.page;\r\n }\r\n\r\n this.setState({\r\n selection: {\r\n firstIndex: f,\r\n lastIndex: l + (offset ? offset - 1 : 0),\r\n text: this.getText(f, l),\r\n page: p\r\n }\r\n });\r\n } else {\r\n this.setState({ selection: null });\r\n }\r\n }\r\n };\r\n\r\n setSearchResults = results => {\r\n this.setState({ searchResults: results });\r\n };\r\n\r\n extractionPickerCloseFunction = () => {\r\n this.setState({\r\n currentSelection: CURRENT_SELECTION_INITIAL,\r\n selection: null\r\n });\r\n };\r\n\r\n checkErrorState = () => {\r\n var { currentDocument, currentDocumentLayout } = this.props;\r\n var { documentStateErrors } = this.state;\r\n var errors = documentStateErrors.slice(0);\r\n\r\n if (currentDocument.isLoaded && currentDocument.itemStateId !== ITEM_STATUSES.PROCESSED && \r\n !(currentDocument.itemStateId == ITEM_STATUSES.REPROCESSINGREQUIRED || currentDocument.itemStateId == ITEM_STATUSES.READYFORVERIFICATION )) {\r\n errors.push(Constants.Document_Error_States.UNPROCESSED);\r\n }\r\n\r\n if (currentDocument.error !== null) {\r\n errors.push(Constants.Document_Error_States.METADATA404);\r\n }\r\n\r\n if (currentDocumentLayout.error !== null) {\r\n errors.push(Constants.Document_Error_States.LAYOUT404);\r\n }\r\n\r\n return errors;\r\n };\r\n\r\n createExtractionField = ({ name, description, negation, templateId, efGroupId }) => {\r\n const { selection } = this.state;\r\n const { projectId, documentId } = this.props;\r\n\r\n return this.props.createExtractionField({\r\n projectId,\r\n documentId,\r\n templateId,\r\n extractionFieldGroupId: efGroupId,\r\n extractionFieldName: name,\r\n extractionFieldDescription: description,\r\n extractionFieldNegation: negation,\r\n selection\r\n });\r\n };\r\n\r\n onCreateExtractionSuccess = () =>\r\n this.setState({\r\n selection: null,\r\n currentSelection: CURRENT_SELECTION_INITIAL\r\n });\r\n\r\n addExtractionField = ({ extractionField, templateId }) => {\r\n const { selection } = this.state;\r\n const { projectId, documentId } = this.props;\r\n\r\n return this.props\r\n .addExtractionField({\r\n projectId,\r\n documentId,\r\n templateId,\r\n extractionField,\r\n selection\r\n })\r\n .then(() => {\r\n this.setState({\r\n selection: null,\r\n currentSelection: CURRENT_SELECTION_INITIAL\r\n });\r\n });\r\n };\r\n\r\n createExtractionFieldRecord = extractionFieldId => {\r\n const { projectId, documentId, createExtractionFieldRecord } = this.props;\r\n const { selection } = this.state;\r\n\r\n return createExtractionFieldRecord(projectId, documentId, extractionFieldId, selection).then(() => {\r\n this.setState({\r\n selection: null,\r\n currentSelection: CURRENT_SELECTION_INITIAL\r\n });\r\n });\r\n };\r\n\r\n onKeyDown = event => {\r\n if (\r\n this.documentRendererFocus &&\r\n event.target.className !== 'document-splitter__name-input' &&\r\n event.target.className !== 'editable-text__input' &&\r\n (event.ctrlKey || event.metaKey)\r\n ) {\r\n this.hiddenTextArea.select();\r\n }\r\n };\r\n\r\n focusFunction = focus => {\r\n this.documentRendererFocus = focus;\r\n };\r\n\r\n updateMenuState = isOpen => {\r\n sessionStorage.setItem('document-splitter-isMenuOpen', isOpen);\r\n this.setState({ isMenuOpen: isOpen });\r\n };\r\n\r\n render() {\r\n var { selection, currentSelection, showArgusTrainingModal, searchResults, isMenuOpen, viewBanner } = this.state;\r\n var { currentSearchFolder, currentProject, history, editExtractionField } = this.props;\r\n var readOnly = currentProject.STATES.ReadOnly();\r\n var errors = this.checkErrorState();\r\n\r\n return (\r\n
\r\n \r\n\r\n
\r\n this.setState({ isSearchResultsOpen: value })}\r\n focusFunction={this.focusFunction}\r\n isMenuOpen={isMenuOpen}\r\n updateMenu={this.updateMenuState}\r\n viewBanner={viewBanner}\r\n />\r\n \r\n (this.hiddenTextArea = elem)}\r\n readOnly\r\n />\r\n
\r\n {showArgusTrainingModal ? (\r\n \r\n {\r\n this.setState({ showArgusTrainingModal: false });\r\n }}\r\n trainingTargetDocumentsNewField={this.state.trainingTargetDocumentsNewField ?? 30}\r\n />\r\n \r\n ) : null}\r\n
\r\n
\r\n
\r\n );\r\n }\r\n}\r\n\r\nexport default DocumentViewer;\r\n","import { connect } from 'react-redux';\r\n\r\nimport { pushUndoStack, popUndoStack, clearUndoStack } from 'store/document-viewer-undo';\r\nimport DocumentViewer from 'components/document-viewer/document-viewer';\r\nimport {\r\n clearCurrentDocument,\r\n getCurrentDocument,\r\n refreshCurrentDocument,\r\n unsubscribeCurrentDocument,\r\n createExtractionFieldRecord,\r\n createExtractionField,\r\n addExtractionField,\r\n editExtractionField\r\n} from 'store/current-document';\r\nimport { getCurrentDocumentLayout } from 'store/current-document-layout';\r\n\r\nconst mapStateToProps = ({\r\n ui: { documentViewerUndo },\r\n data: { currentSearchFolder, currentProject, currentDocument, currentDocumentLayout }\r\n}) => ({\r\n documentViewerUndo,\r\n currentSearchFolder,\r\n currentProject,\r\n currentDocument,\r\n currentDocumentLayout\r\n});\r\n\r\nconst mapDispatchToProps = {\r\n popUndoStack,\r\n pushUndoStack,\r\n clearUndoStack,\r\n clearCurrentDocument,\r\n getCurrentDocument,\r\n getCurrentDocumentLayout,\r\n refreshCurrentDocument,\r\n createExtractionFieldRecord,\r\n unsubscribeCurrentDocument,\r\n createExtractionField,\r\n addExtractionField,\r\n editExtractionField\r\n};\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(DocumentViewer);\r\n","import PropTypes from 'prop-types';\r\nimport React, { Component } from 'react';\r\nimport ReactTooltip from 'react-tooltip';\r\n\r\nimport DocumentViewer from 'containers/document-viewer/document-viewer-container';\r\nimport NotificationsContainer from 'containers/shared/notifications-container';\r\n\r\nimport Permissions from 'permissions/permissions';\r\nimport history from 'utils/history';\r\n\r\nclass DocumentViewerPage extends Component {\r\n static propTypes = {\r\n match: PropTypes.object\r\n };\r\n\r\n UNSAFE_componentWillMount() {\r\n if (!Permissions.Project.Document.canView()) {\r\n history.push('/');\r\n }\r\n }\r\n\r\n render() {\r\n const { documentId, projectId } = this.props.match.params;\r\n\r\n return (\r\n
\r\n \r\n \r\n \r\n
\r\n );\r\n }\r\n}\r\n\r\nexport default DocumentViewerPage;\r\n","import React, { Component } from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport Icon from 'components/shared/icon';\r\nimport { FormattedMessage } from 'react-intl';\r\n\r\nimport classNames from 'classnames';\r\nimport { Button as MenuButton, Menu, MenuItem, Wrapper as MenuWrapper } from 'react-aria-menubutton';\r\n\r\nclass TemplateDropdown extends Component {\r\n static propTypes = {\r\n onTemplateClick: PropTypes.func,\r\n readOnly: PropTypes.bool,\r\n selectedId: PropTypes.number,\r\n selectedName: PropTypes.string,\r\n templateList: PropTypes.array,\r\n errClassName: PropTypes.string\r\n };\r\n\r\n state = {\r\n isMenuOpen: false\r\n };\r\n\r\n onTemplateSelected = template => {\r\n // Navigates user to the selected template\r\n return this.props.onTemplateClick(template);\r\n };\r\n\r\n onMenuToggle = isMenuOpen => {\r\n this.setState({ isMenuOpen: !this.state.isMenuOpen });\r\n };\r\n\r\n render() {\r\n const { templateList, selectedName, selectedId, errClassName } = this.props;\r\n const updateNameErrClass = errClassName ? errClassName : '';\r\n return (\r\n \r\n \r\n \r\n {selectedName ? selectedName : ''}\r\n \r\n \r\n \r\n \r\n
\r\n {templateList &&\r\n templateList.map((template, index) => (\r\n \r\n \r\n {template.name}\r\n \r\n \r\n {selectedId === template.projectTemplateId && (\r\n \r\n )}\r\n \r\n \r\n ))}\r\n
\r\n
\r\n \r\n );\r\n }\r\n}\r\n\r\nexport default TemplateDropdown;\r\n","var _desc, _defs, _g;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport * as React from \"react\";\nfunction SvgEmptyStateExtractionFields(_ref, svgRef) {\n let {\n title,\n titleId,\n ...props\n } = _ref;\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: \"96px\",\n height: \"96px\",\n viewBox: \"0 0 96 96\",\n xmlns: \"http://www.w3.org/2000/svg\",\n xmlnsXlink: \"http://www.w3.org/1999/xlink\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title === undefined ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, \"empty_state_extraction_fields\") : title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _desc || (_desc = /*#__PURE__*/React.createElement(\"desc\", null, \"Created with Sketch.\")), _defs || (_defs = /*#__PURE__*/React.createElement(\"defs\", null)), _g || (_g = /*#__PURE__*/React.createElement(\"g\", {\n id: \"Icons\",\n stroke: \"none\",\n strokeWidth: 1,\n fill: \"none\",\n fillRule: \"evenodd\"\n }, /*#__PURE__*/React.createElement(\"g\", {\n id: \"Artboard\",\n transform: \"translate(-70.000000, -42.000000)\"\n }, /*#__PURE__*/React.createElement(\"g\", {\n id: \"empty_state_extraction_fields\",\n transform: \"translate(70.000000, 42.000000)\"\n }, /*#__PURE__*/React.createElement(\"circle\", {\n id: \"Oval-2\",\n fill: \"#FBFBFD\",\n cx: 48,\n cy: 48,\n r: 48\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M67.968,22.384 C68.5440029,22.384 69.0239981,22.5759981 69.408,22.96 C69.7920019,23.3440019 69.984,23.8239971 69.984,24.4 L69.984,76.432 C69.984,76.9440026 69.7760021,77.3919981 69.36,77.776 C68.9439979,78.1600019 68.4800026,78.352 67.968,78.352 L28.032,78.352 C27.5199974,78.352 27.0560021,78.1600019 26.64,77.776 C26.2239979,77.3919981 26.016,76.9440026 26.016,76.432 L26.016,24.4 C26.016,23.8239971 26.2079981,23.3440019 26.592,22.96 C26.9760019,22.5759981 27.4559971,22.384 28.032,22.384 L38.016,22.384 L38.016,20.368 C38.016,19.7919971 38.2079981,19.3120019 38.592,18.928 C38.9760019,18.5439981 39.4559971,18.352 40.032,18.352 L55.968,18.352 C56.5440029,18.352 57.0239981,18.5439981 57.408,18.928 C57.7920019,19.3120019 57.984,19.7919971 57.984,20.368 L57.984,22.384 L67.968,22.384 Z M42.048,22.384 L42.048,26.416 L54.048,26.416 L54.048,22.384 L42.048,22.384 Z M66.048,74.416 L66.048,26.416 L57.984,26.416 L57.984,28.432 C57.984,28.9440026 57.7760021,29.3919981 57.36,29.776 C56.9439979,30.1600019 56.4800026,30.352 55.968,30.352 L40.032,30.352 C39.5199974,30.352 39.0560021,30.1600019 38.64,29.776 C38.2239979,29.3919981 38.016,28.9440026 38.016,28.432 L38.016,26.416 L30.048,26.416 L30.048,74.416 L66.048,74.416 Z\",\n id: \"E\",\n fill: \"#00A3E0\"\n }))))));\n}\nconst ForwardRef = /*#__PURE__*/React.forwardRef(SvgEmptyStateExtractionFields);\nexport default __webpack_public_path__ + \"static/media/empty_state_extraction_fields.c756bf9bec0c5a3b2c4b12c7b10bf72a.svg\";\nexport { ForwardRef as ReactComponent };","import React, { Component } from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { FormattedMessage } from 'react-intl';\r\nimport { DragSource, DropTarget } from 'react-dnd';\r\nimport Constants from 'utils/constants';\r\n\r\nimport Button from 'components/shared/single-click-button';\r\nimport ComplicatedIcon from 'components/extractions/complicated-icon/complicated-icon';\r\nimport EmptyState from 'components/file-browser/file-list/empty-state';\r\nimport emptyStateImage from 'images/empty_state_extraction_fields.svg';\r\nimport Icon from 'components/shared/icon';\r\nimport withDragDropContext from 'utils/dnd-mouse-context';\r\nimport ReactTooltip from 'react-tooltip';\r\n\r\n// Begin drag and drop functionality for extraction fields\r\nconst cardSource = {\r\n beginDrag(props) {\r\n return {\r\n extraction: props.extraction,\r\n index: props.index\r\n };\r\n },\r\n endDrag(props, monitor, component) {\r\n // This is a good place to call some Flux action\r\n return props.finishDrag ? props.finishDrag() : {};\r\n },\r\n isDragging(props, monitor) {\r\n return props.extraction === monitor.getItem().extraction;\r\n }\r\n};\r\n\r\n// See https://github.com/react-dnd/react-dnd/blob/master/examples/04%20Sortable/Simple/Card.js#L24\r\nconst cardTarget = {\r\n hover(props, monitor, component) {\r\n const dragIndex = monitor.getItem().index;\r\n const dragItem = monitor.getItem().extraction;\r\n const hoverIndex = props.index;\r\n const hoverItem = props.extraction;\r\n\r\n // Don't replace items with themselves\r\n if (dragIndex === hoverIndex || hoverItem.groupId !== dragItem.groupId) {\r\n return;\r\n }\r\n\r\n // Perform the action\r\n props.moveExtraction(dragIndex, hoverIndex);\r\n\r\n // Note: we're mutating the monitor item here!\r\n // Generally it's better to avoid mutations,\r\n // but it's good here for the sake of performance\r\n // to avoid expensive index searches.\r\n monitor.getItem().index = hoverIndex;\r\n }\r\n};\r\n\r\n// Connect to drag and drop context\r\nconst Extraction = DropTarget('template-extractions', cardTarget, connect => ({\r\n connectDropTarget: connect.dropTarget()\r\n}))(\r\n DragSource('template-extractions', cardSource, (connect, monitor) => ({\r\n connectDragSource: connect.dragSource(),\r\n isDragging: monitor.isDragging()\r\n }))(function InnerExtraction({\r\n isDragging,\r\n connectDragSource,\r\n connectDropTarget,\r\n extraction,\r\n index,\r\n moveExtraction,\r\n onExtractionDelete,\r\n finishDrag,\r\n readOnly,\r\n groupByTemplateType,\r\n selectedTemplateType,\r\n selectedTemplateCategoryId\r\n }) {\r\n return connectDropTarget(\r\n
\r\n \r\n {connectDragSource(\r\n readOnly || groupByTemplateType ? null : (\r\n \r\n )\r\n )}\r\n \r\n {extraction.name}\r\n \r\n \r\n 400 ? 500 : 0}\r\n >\r\n

{extraction.name}

\r\n\r\n

\r\n \r\n

\r\n\r\n {extraction.description.length > 400 ? (\r\n
\r\n

{extraction.description}

\r\n
\r\n ) : (\r\n

{extraction.description}

\r\n )}\r\n \r\n
\r\n \r\n \r\n \r\n
\r\n {readOnly ||\r\n (selectedTemplateType &&\r\n selectedTemplateType.templateCategoryId ===\r\n Constants.TemplateCategories.NON_EDITABLE_DETAIL_TESTING) ? null : (\r\n onExtractionDelete(extraction.id)}\r\n >\r\n \r\n \r\n )}\r\n
\r\n );\r\n })\r\n);\r\n\r\nExtraction.propTypes = {\r\n data: PropTypes.object\r\n};\r\n\r\n// Actual container for template extractions with drag & drop functionality\r\nclass TemplateExtractions extends Component {\r\n static propTypes = {\r\n extractions: PropTypes.oneOfType([PropTypes.object, PropTypes.array]),\r\n groupByTemplateType: PropTypes.bool,\r\n groupKey: PropTypes.string,\r\n newTemplateMoveExtraction: PropTypes.func,\r\n newTemplateRemoveExtraction: PropTypes.func,\r\n nullGroupName: PropTypes.string,\r\n onDelete: PropTypes.func,\r\n onExtractionChange: PropTypes.func,\r\n onMouseUp: PropTypes.func,\r\n openByDefault: PropTypes.any,\r\n readOnly: PropTypes.bool,\r\n selectedTemplateType: PropTypes.object,\r\n template: PropTypes.any\r\n };\r\n\r\n state = {\r\n openGroups: {} //Controls groups expanding/collapsing\r\n };\r\n\r\n // Method for handling moving functionality\r\n // Let's debounce it so that every time a user moves, we're not lagging up the nextwork with multiple post reqs\r\n moveExtraction = (dragIndex, hoverIndex) => {\r\n const { templateExtractions } = this.props.extractions;\r\n const dragExtraction = templateExtractions[dragIndex];\r\n const updatedExtractions = [...templateExtractions];\r\n\r\n updatedExtractions.splice(dragIndex, 1);\r\n updatedExtractions.splice(hoverIndex, 0, dragExtraction);\r\n\r\n this.props.onExtractionChange(updatedExtractions);\r\n };\r\n\r\n //render each extraction in the doc type group\r\n getExtraction = (i, k) => {\r\n const {\r\n onDelete,\r\n onMouseUp,\r\n readOnly,\r\n extractions: { templateExtractions },\r\n groupByTemplateType,\r\n newTemplateMoveExtraction,\r\n newTemplateRemoveExtraction,\r\n selectedTemplateType\r\n } = this.props;\r\n const index = templateExtractions.map(extraction => extraction.id).indexOf(i.id);\r\n const selectedTemplateCategoryId = this.props.extractions.selectedTemplateCategoryId;\r\n\r\n return (\r\n onDelete(i.id)}\r\n selectedTemplateType={selectedTemplateType}\r\n finishDrag={onMouseUp}\r\n readOnly={readOnly}\r\n selectedTemplateCategoryId={selectedTemplateCategoryId}\r\n />\r\n );\r\n };\r\n\r\n //Method for returning extraction list by doc type group\r\n getGroupedExtractions = () => {\r\n var { extractions, groupKey, nullGroupName } = this.props;\r\n var data = extractions.templateExtractions;\r\n var extractionList = [];\r\n data.forEach(extraction => {\r\n if (extraction[groupKey] === null) {\r\n extraction[groupKey] = 0;\r\n }\r\n\r\n if (extraction[groupKey] !== null) {\r\n if (!extractionList[extraction[groupKey]]) {\r\n extractionList[extraction[groupKey]] = {\r\n extractions: [],\r\n title: extraction.group\r\n ? extraction.group\r\n : nullGroupName !== undefined\r\n ? nullGroupName\r\n : extractions.selectedName,\r\n displayOrder: extraction.groupDisplayOrder\r\n };\r\n }\r\n\r\n extractionList[extraction[groupKey]].extractions.push({\r\n ...extraction,\r\n displayOrder: extraction.groupMapping\r\n ? extraction.groupMapping.find(gm => gm.extractionFieldGroupId === extraction[groupKey])\r\n ?.extractionFieldDisplayOrder\r\n : 0\r\n });\r\n }\r\n });\r\n return extractionList;\r\n };\r\n\r\n //Method for accordion view by doc type group\r\n getAccordion = (group, key) => {\r\n var { openGroups } = this.state;\r\n var { openByDefault } = this.props;\r\n var state = openGroups[key] !== undefined ? openGroups[key] : openByDefault !== undefined ? openByDefault : false;\r\n var extractionElements = group.extractions.map(this.getExtraction);\r\n\r\n return (\r\n
\r\n
\r\n {\r\n e.stopPropagation();\r\n openGroups[key] = !state;\r\n this.setState({ openGroups: openGroups });\r\n }}\r\n >\r\n {group.title}\r\n \r\n \r\n \r\n
\r\n
\r\n {state ? extractionElements : null}\r\n
\r\n );\r\n };\r\n\r\n sortByDisplayOrder = groupedExtractions => {\r\n for (var i in groupedExtractions) {\r\n groupedExtractions[i].extractions.sort((ef1, ef2) => ef1.displayOrder - ef2.displayOrder);\r\n }\r\n\r\n return groupedExtractions.sort((g1, g2) => g1.displayOrder - g2.displayOrder);\r\n };\r\n\r\n getAccordions = () => {\r\n var accordions = [];\r\n var groupedExtractions = this.sortByDisplayOrder(this.getGroupedExtractions());\r\n for (var i in groupedExtractions) {\r\n accordions.push(this.getAccordion(groupedExtractions[i], i));\r\n }\r\n\r\n return accordions;\r\n };\r\n\r\n render() {\r\n const { extractions } = this.props;\r\n\r\n if (extractions && (extractions.isTemplateExtLoading || extractions.isGroupExtLoading)) {\r\n return (\r\n
\r\n \r\n
\r\n );\r\n }\r\n\r\n return (\r\n
\r\n {extractions && extractions.templateExtractions.length > 0 ? (\r\n
{this.getAccordions()}
\r\n ) : (\r\n
\r\n }\r\n description={}\r\n img={emptyStateImage}\r\n />\r\n
\r\n )}\r\n
\r\n );\r\n }\r\n}\r\n\r\nexport default withDragDropContext(TemplateExtractions);\r\n","import React, { Component } from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { FormattedMessage } from 'react-intl';\r\n\r\nimport enhanceWithClickOutside from 'react-click-outside';\r\nimport { getMessages } from 'utils/errors';\r\n\r\nimport Button from 'components/shared/single-click-button';\r\nimport Dropdown from 'components/shared/form/dropdown';\r\nimport Modal from 'components/shared/modal';\r\nimport Icon from 'components/shared/icon';\r\nimport TemplateDropdown from './template-dropdown/template-dropdown';\r\nimport TemplateExtractions from './template-extractions/template-extractions';\r\nimport constants from '../../../utils/constants';\r\n\r\n// Ability to delete or duplicate template\r\nclass Options extends Component {\r\n static propTypes = {\r\n currentProject: PropTypes.object,\r\n onDelete: PropTypes.func,\r\n onDuplicate: PropTypes.func,\r\n onEdit: PropTypes.func\r\n };\r\n state = {\r\n isOpen: false\r\n };\r\n handleClickOutside = () => {\r\n this.setState({ isOpen: false });\r\n };\r\n render() {\r\n return (\r\n
\r\n this.setState({ isOpen: !this.state.isOpen })}\r\n >\r\n \r\n \r\n {this.state.isOpen ? (\r\n
\r\n \r\n \r\n \r\n
\r\n ) : null}\r\n
\r\n );\r\n }\r\n}\r\n\r\nconst TemplateOptions = enhanceWithClickOutside(Options);\r\n\r\n// Ability to create a new template\r\nclass CreateTemplate extends Component {\r\n static propTypes = {\r\n onBlur: PropTypes.func,\r\n onChange: PropTypes.func,\r\n onClickOutside: PropTypes.func,\r\n onSave: PropTypes.func,\r\n templateName: PropTypes.string\r\n };\r\n\r\n handleClickOutside = () => {\r\n if (this.props.onClickOutside) {\r\n this.props.onClickOutside();\r\n }\r\n };\r\n\r\n render() {\r\n const { onChange, onSave, templateName, onBlur } = this.props;\r\n return (\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n {placeholder => (\r\n e.target.select()}\r\n />\r\n )}\r\n \r\n
\r\n
\r\n );\r\n }\r\n}\r\n\r\nclass DeleteTemplateModal extends Component {\r\n static propTypes = {\r\n onCancel: PropTypes.func,\r\n onSubmit: PropTypes.func\r\n };\r\n\r\n render() {\r\n const { onCancel, onSubmit } = this.props;\r\n\r\n return (\r\n \r\n
\r\n

\r\n \r\n

\r\n \r\n
\r\n

\r\n \r\n

\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n );\r\n }\r\n}\r\n\r\nexport default class TemplateViewer extends Component {\r\n static propTypes = {\r\n addedExtractions: PropTypes.array,\r\n api: PropTypes.object,\r\n createNew: PropTypes.bool,\r\n createNewTemplate: PropTypes.func,\r\n currentProject: PropTypes.object,\r\n editExtractions: PropTypes.oneOfType([PropTypes.array, PropTypes.object]),\r\n groupByTemplateType: PropTypes.bool,\r\n isResolved: PropTypes.bool,\r\n newTemplateMoveExtraction: PropTypes.func,\r\n newTemplateName: PropTypes.string,\r\n newTemplateRemoveExtraction: PropTypes.func,\r\n onCreateNameChange: PropTypes.func,\r\n onEditTemplate: PropTypes.func,\r\n pageViewer: PropTypes.string,\r\n readOnly: PropTypes.bool,\r\n selectedTemplateType: PropTypes.object,\r\n templateNameUpdateErr: PropTypes.bool,\r\n currentFolder: PropTypes.object\r\n };\r\n\r\n state = {\r\n showDeleteModal: false\r\n };\r\n\r\n // Delete template function\r\n // Takes a replacement id if there is one.\r\n // Checks whether we need to open a modal based on server error response code\r\n deleteTemplate = () => {\r\n const { onTemplateDelete } = this.props.api;\r\n const { currentFolder } = this.props;\r\n this.setState({ showDeleteModal: false });\r\n return onTemplateDelete(currentFolder.projectItemId)\r\n .then()\r\n .catch(err => {\r\n getMessages(err).map(message => {\r\n if (message.code === 'Error.ReprocessingDisabled') {\r\n window.location.reload();\r\n }\r\n });\r\n });\r\n };\r\n\r\n showDeleteModal = () => {\r\n this.setState({ showDeleteModal: true });\r\n };\r\n\r\n render() {\r\n const {\r\n currentProject,\r\n editExtractions,\r\n readOnly,\r\n onEditTemplate,\r\n createNew,\r\n groupByTemplateType,\r\n onCreateNameChange,\r\n newTemplateName,\r\n addedExtractions,\r\n newTemplateMoveExtraction,\r\n newTemplateRemoveExtraction,\r\n selectedTemplateType,\r\n pageViewer,\r\n createNewTemplate,\r\n templateNameUpdateErr\r\n } = this.props;\r\n const {\r\n onExtractionDelete,\r\n onNameChange,\r\n onTemplateDuplicate,\r\n onExtractionChange,\r\n onUpdate,\r\n onTemplateClick\r\n } = this.props.api;\r\n\r\n return (\r\n
\r\n {!groupByTemplateType && (\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n {\r\n onTemplateClick(value);\r\n onEditTemplate(false);\r\n }}\r\n errClassName={templateNameUpdateErr ? 'template-dropdown__name-input--error' : ''}\r\n />\r\n
\r\n\r\n {createNew || readOnly || editExtractions.templates.length == 0 ? null : (\r\n onEditTemplate(true)}\r\n onDelete={() => this.showDeleteModal()}\r\n onDuplicate={() => onTemplateDuplicate()}\r\n />\r\n )}\r\n
\r\n
\r\n )}\r\n {createNew &&\r\n (groupByTemplateType ? (\r\n onCreateNameChange(e)} templateName={newTemplateName} />\r\n ) : (\r\n onNameChange(e)}\r\n templateName={editExtractions.selectedName}\r\n onBlur={() => onUpdate(true).then(() => onEditTemplate(false))}\r\n />\r\n ))}\r\n {templateNameUpdateErr && (\r\n
\r\n \r\n
\r\n )}\r\n
\r\n {editExtractions && this.props.isResolved ? (\r\n onExtractionDelete(value)}\r\n onExtractionChange={updatedExtractions => onExtractionChange(updatedExtractions)}\r\n onMouseUp={() => (readOnly ? {} : onUpdate())}\r\n openByDefault={true}\r\n template={editExtractions.selectedName}\r\n groupByTemplateType={groupByTemplateType}\r\n newTemplateMoveExtraction={newTemplateMoveExtraction}\r\n newTemplateRemoveExtraction={newTemplateRemoveExtraction}\r\n selectedTemplateType={selectedTemplateType}\r\n />\r\n ) : (\r\n
\r\n \r\n
\r\n )}\r\n
\r\n
\r\n {groupByTemplateType && (\r\n \r\n \r\n \r\n )}\r\n
\r\n {this.state.showDeleteModal ? (\r\n this.setState({ showDeleteModal: false })}\r\n onSubmit={() => this.deleteTemplate()}\r\n />\r\n ) : null}\r\n
\r\n );\r\n }\r\n}\r\n","import React, { Component } from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { injectIntl, intlShape } from 'react-intl';\r\nimport { FormattedMessage } from 'react-intl';\r\nimport Constants from 'utils/constants';\r\n\r\nimport { addExtractionFieldToTemplate, createTemplate, getCurrentRegion } from 'store/api';\r\nimport { createExtractionFieldAndAddToTemplate } from 'store/api';\r\nimport AddExtraction from 'components/extractions/add-extraction/add-extraction';\r\nimport Icon from 'components/shared/icon';\r\nimport { Link } from 'react-router-dom';\r\nimport Permissions from 'permissions/permissions';\r\nimport TemplateViewer from './template-viewer/template-viewer';\r\nimport Button from 'components/shared/single-click-button';\r\nclass EditExtractions extends Component {\r\n static propTypes = {\r\n addProjectTemplate: PropTypes.func,\r\n changeTemplateName: PropTypes.func,\r\n clearTemplatesData: PropTypes.func,\r\n currentProject: PropTypes.object,\r\n deleteExtraction: PropTypes.func,\r\n deleteNotification: PropTypes.func,\r\n deleteProjectTemplate: PropTypes.func,\r\n duplicateProjectTemplate: PropTypes.func,\r\n editExtractions: PropTypes.object,\r\n history: PropTypes.object,\r\n intl: intlShape,\r\n loadAllExtraction: PropTypes.func,\r\n loadProjectTemplates: PropTypes.func,\r\n loadTemplateExtraction: PropTypes.func,\r\n loadTypes: PropTypes.func,\r\n moveExtraction: PropTypes.func,\r\n notifications: PropTypes.array,\r\n projectId: PropTypes.any,\r\n defaultTemplate: PropTypes.number,\r\n selectProjectTemplate: PropTypes.func,\r\n templateTypes: PropTypes.object,\r\n updateAllExtractions: PropTypes.func,\r\n updateProjectTemplate: PropTypes.func,\r\n currentFolder: PropTypes.object\r\n };\r\n\r\n state = {\r\n docTypeId: '',\r\n isLoading: false,\r\n isResolved: true,\r\n showAddExtraction: true,\r\n groupByTemplateType: false,\r\n createEditTemplateName: false,\r\n newTemplateName: '',\r\n addedExtractions: [],\r\n selectedTemplateType: null,\r\n templateNameUpdateErr: false\r\n };\r\n\r\n // Initial fetch of project templates\r\n componentDidMount() {\r\n const { projectId, loadProjectTemplates, loadTypes, defaultTemplate } = this.props;\r\n if (projectId) {\r\n this.setState({ isLoading: true });\r\n loadTypes();\r\n return loadProjectTemplates({ projectId }, defaultTemplate);\r\n }\r\n }\r\n\r\n componentDidUpdate(prevProps) {\r\n const { projectId, editExtractions, loadTemplateExtraction, loadAllExtraction } = this.props;\r\n if (editExtractions.selectedId == null) {\r\n editExtractions.selectedId = 0;\r\n }\r\n if (prevProps.editExtractions.selectedId !== editExtractions.selectedId) {\r\n this.setState({ templateNameUpdateErr: false });\r\n this.setState({ isLoading: true })\r\n return loadTemplateExtraction(projectId, editExtractions.selectedId)\r\n .then(() =>{\r\n if(editExtractions.selectedTemplateCategoryId != null)\r\n return loadAllExtraction(projectId, editExtractions.selectedTemplateCategoryId)\r\n .then(() => this.setState({ isLoading: false }));\r\n\r\n })\r\n \r\n }\r\n }\r\n\r\n componentWillUnmount() {\r\n this.props.clearTemplatesData();\r\n }\r\n\r\n // Create template to the server\r\n onCreate = () => {\r\n const {\r\n projectId,\r\n addProjectTemplate,\r\n intl: { formatMessage }\r\n } = this.props;\r\n return addProjectTemplate({\r\n projectId,\r\n templateName: formatMessage({ id: 'create-template.untitled' }),\r\n extractionFields: []\r\n });\r\n };\r\n\r\n // Delete specified template\r\n onTemplateDelete = (projectItemId) => {\r\n const { projectId, deleteProjectTemplate, editExtractions } = this.props;\r\n this.setState({ isLoading: true });\r\n return deleteProjectTemplate({ projectId, templateId: editExtractions.selectedId, projectItemId: projectItemId }).then(res => {\r\n this.setState({ isLoading: false });\r\n });\r\n };\r\n\r\n getExtIds = data => {\r\n return data.map(value => {\r\n return {\r\n extractionFieldId: value.id,\r\n extractionFieldGroupId: value.groupId\r\n };\r\n });\r\n };\r\n\r\n // Update the existing to the server\r\n onUpdate = (nameOnly = false) => {\r\n const { projectId, updateProjectTemplate, editExtractions } = this.props;\r\n this.setState({ templateNameUpdateErr: false });\r\n return updateProjectTemplate({\r\n projectId,\r\n templateName: editExtractions.selectedName,\r\n templateId: editExtractions.selectedId,\r\n extractionFields: nameOnly ? null : this.getExtIds(editExtractions.templateExtractions)\r\n }).catch((err) => {\r\n if (err.toString().includes('409'))\r\n this.setState({ templateNameUpdateErr: true })\r\n }\r\n );\r\n };\r\n\r\n onDuplicate = () => {\r\n const { projectId, duplicateProjectTemplate, editExtractions } = this.props;\r\n\r\n const templateTypeId = editExtractions.templateExtractions.length\r\n ? editExtractions.templateExtractions[0].templateTypeID\r\n : 0;\r\n\r\n return duplicateProjectTemplate({\r\n projectId,\r\n templateName: `${this.props.intl.formatMessage({\r\n id: 'edit-extractions.duplicate-template'\r\n })} ${editExtractions.selectedName}`,\r\n templateCategoryId: editExtractions.selectedTemplateCategoryId,\r\n extractionFields: this.getExtIds(editExtractions.templateExtractions),\r\n templateTypeID: templateTypeId\r\n });\r\n };\r\n\r\n // Delete specified extraction\r\n onExtractionDelete = extId => {\r\n const { projectId, deleteExtraction, editExtractions } = this.props;\r\n return deleteExtraction({\r\n projectId,\r\n templateId: editExtractions.selectedId,\r\n extractionFieldId: extId\r\n });\r\n };\r\n\r\n // Create a new extraction field\r\n createExtraction = (name, description) => {\r\n var { editExtractions, projectId } = this.props;\r\n this.setState({ isResolved: false });\r\n\r\n return createExtractionFieldAndAddToTemplate(name, description, editExtractions.selectedId, projectId);\r\n };\r\n\r\n getExtractions = () => {\r\n const { editExtractions } = this.props;\r\n const { addedExtractions, groupByTemplateType } = this.state;\r\n const selectedCategoryId = editExtractions.selectedTemplateCategoryId;\r\n let docTypeId;\r\n\r\n if (selectedCategoryId === Constants.TemplateCategories.NON_DETAIL_TESTING) {\r\n docTypeId = Constants.ExternalSystemIds.KIRA;\r\n } else if (selectedCategoryId === Constants.TemplateCategories.NON_EDITABLE_DETAIL_TESTING || selectedCategoryId === Constants.TemplateCategories.DETAIL_TESTING) {\r\n docTypeId = Constants.ExternalSystemIds.ABBY;\r\n } else if (\r\n selectedCategoryId === Constants.TemplateCategories.NON_EDITABLE_GENAI_DETAIL_TESTING ||\r\n selectedCategoryId === Constants.TemplateCategories.NON_EDITABLE_GENAI_NONDETAIL_TESTING ||\r\n selectedCategoryId === Constants.TemplateCategories.Custom_GENAI_NONDETAIL_TESTING\r\n ) {\r\n docTypeId = Constants.ExternalSystemIds.GenAI;\r\n } else {\r\n docTypeId = null;\r\n }\r\n\r\n const editExtractionByDocType =\r\n docTypeId === null\r\n ? editExtractions.allExtractions\r\n : editExtractions.allExtractions.filter(i => i.externalSystemId === docTypeId);\r\n\r\n if (!groupByTemplateType) {\r\n return editExtractionByDocType;\r\n }\r\n\r\n if (addedExtractions.length > 0) {\r\n const addedExtractionIds = addedExtractions.map(({ id }) => id);\r\n return editExtractionByDocType.map(extraction =>\r\n addedExtractionIds.includes(extraction.id)\r\n ? {\r\n ...extraction,\r\n disabled: true,\r\n selected: true\r\n }\r\n : {\r\n ...extraction,\r\n disabled: false\r\n }\r\n );\r\n }\r\n\r\n return editExtractionByDocType.map(extraction => ({ ...extraction, disabled: false }));\r\n };\r\n\r\n\r\n moveExtraction = (dragIndex, hoverIndex) => {\r\n const { addedExtractions } = this.state;\r\n const dragExtraction = addedExtractions[dragIndex];\r\n const updatedExtractions = [...addedExtractions];\r\n\r\n updatedExtractions.splice(dragIndex, 1);\r\n updatedExtractions.splice(hoverIndex, 0, dragExtraction);\r\n\r\n this.setState({ addedExtractions: updatedExtractions });\r\n };\r\n\r\n removeExtraction = extractionId => {\r\n const { addedExtractions } = this.state;\r\n this.setState({ addedExtractions: addedExtractions.filter(({ id }) => id !== extractionId) });\r\n };\r\n\r\n addToNewTemplate = selectedExtractions => {\r\n const { addedExtractions, selectedTemplateType } = this.state;\r\n const groupIds = selectedTemplateType.type.groups.map(({ extractionFieldGroupId }) => extractionFieldGroupId);\r\n\r\n const newTemplateName =\r\n selectedTemplateType.type.templateCategoryId === Constants.TemplateCategories.NON_DETAIL_TESTING\r\n ? selectedExtractions[0].group\r\n : selectedTemplateType.type.templateTypeDescription;\r\n\r\n this.setState({\r\n newTemplateName: newTemplateName,\r\n addedExtractions: [\r\n ...addedExtractions,\r\n ...selectedExtractions.filter(({ groupId }) => groupIds.includes(groupId))\r\n ]\r\n });\r\n };\r\n\r\n createNewTemplate = () => {\r\n const { projectId, history } = this.props;\r\n const { newTemplateName, addedExtractions, selectedTemplateType } = this.state;\r\n\r\n return createTemplate({\r\n projectId: projectId,\r\n templateName: newTemplateName,\r\n templateCategoryId: selectedTemplateType.type.templateCategoryId,\r\n templateTypeID: selectedTemplateType.type.templateTypeID,\r\n extractionFields: addedExtractions.map(({ id, groupId }) => ({\r\n extractionFieldId: id,\r\n extractionFieldGroupId: groupId\r\n }))\r\n }).then(response => {\r\n\r\n history.push(`/region/${getCurrentRegion()}/project/${projectId}/folder/${response.data.templateFolderId}`);\r\n });\r\n };\r\n\r\n // Handle create extraction success\r\n onCreateExtractionSuccess = extraction => {\r\n this.onAddExtractionsSuccess([extraction]);\r\n };\r\n\r\n // Handle create extraction error\r\n onCreateExtractionFail = () => {\r\n this.onAddExtractionsFail();\r\n };\r\n\r\n // Add extraction fields to the template\r\n addExtractions = fields => {\r\n var { editExtractions, projectId } = this.props;\r\n this.setState({ isResolved: false });\r\n\r\n return Promise.all(\r\n fields.map(field => addExtractionFieldToTemplate(projectId, editExtractions.selectedId, field.id, field.groupId))\r\n );\r\n };\r\n\r\n // Handle add extraction success\r\n onAddExtractionsSuccess = extractions => {\r\n const { updateAllExtractions } = this.props;\r\n\r\n updateAllExtractions(extractions);\r\n this.setState({ isResolved: true, docTypeId: extractions[0].externalSystemId });\r\n };\r\n\r\n // Handle add extraction fail\r\n onAddExtractionsFail = () => {\r\n this.setState({ isResolved: true });\r\n };\r\n\r\n onCreateNameChange = e => {\r\n this.setState({ newTemplateName: e.target.value });\r\n };\r\n\r\n // Api handler\r\n getHandlers = () => {\r\n return {\r\n onCreate: this.onCreate,\r\n onNameChange: e => this.props.changeTemplateName(e.target.value),\r\n onExtractionChange: extractions => this.props.moveExtraction(extractions),\r\n onTemplateClick: value => this.props.selectProjectTemplate(value),\r\n onTemplateDelete: id => this.onTemplateDelete(id),\r\n onTemplateDuplicate: this.onDuplicate,\r\n onExtractionDelete: id => this.onExtractionDelete(id),\r\n onUpdate: this.onUpdate,\r\n onGetTemplates: () => this.props.loadProjectTemplates({ projectId: this.props.projectId })\r\n };\r\n };\r\n\r\n getExtractionGroups = extractions => {\r\n const { templateTypes } = this.props;\r\n if(extractions.length == 0){\r\n const grps = [];\r\n const customTemplateType = templateTypes.types.templateTypes.find(ttyp => ttyp.templateCategoryId == \r\n Constants.TemplateCategories.Custom_GENAI_NONDETAIL_TESTING);\r\n grps.push({\r\n groupName: customTemplateType.groups[0].extractionFieldGroupName,\r\n groupId: customTemplateType.groups[0].extractionFieldGroupId\r\n });\r\n return grps;\r\n\r\n }\r\n return extractions.reduce((acc, cur) => {\r\n if (acc.find(ext => ext.groupId === cur.groupId) || cur.groupId === null) {\r\n return acc;\r\n } else {\r\n return acc.concat({\r\n groupName: cur.group,\r\n groupId: cur.groupId\r\n });\r\n }\r\n }, []);\r\n };\r\n\r\n render() {\r\n const { editExtractions, currentProject, templateTypes, projectId, currentFolder } = this.props;\r\n const {\r\n showAddExtraction,\r\n isLoading,\r\n groupByTemplateType,\r\n createEditTemplateName,\r\n newTemplateName,\r\n addedExtractions,\r\n selectedTemplateType\r\n } = this.state;\r\n const apiHandler = this.getHandlers();\r\n const readOnly = currentProject.STATES.ReadOnly() || !Permissions.Project.ExtractionField.canCreate();\r\n\r\n if (isLoading) {\r\n return ;\r\n }\r\n return (\r\n
\r\n
\r\n

\r\n {currentProject.projectName}\r\n

\r\n {!readOnly &&\r\n (groupByTemplateType ? (\r\n \r\n this.setState({\r\n groupByTemplateType: false,\r\n createEditTemplateName: false,\r\n newTemplateName: '',\r\n addedExtractions: [],\r\n selectedTemplateType: null\r\n })\r\n }\r\n >\r\n \r\n \r\n ) : (\r\n \r\n \r\n \r\n ))}\r\n
\r\n\r\n {editExtractions.templates.length > 0 &&
\r\n
\r\n {showAddExtraction && (\r\n \r\n this.setState({ selectedTemplateType, addedExtractions: [], newTemplateName: '' })\r\n }\r\n documentTemplateCategoryId={editExtractions.selectedTemplateCategoryId}\r\n extractionFieldGroups={this.getExtractionGroups(editExtractions.templateExtractions)}\r\n />\r\n )}\r\n
\r\n\r\n
\r\n this.setState({ createEditTemplateName })}\r\n createNew={createEditTemplateName}\r\n addedExtractions={addedExtractions}\r\n groupByTemplateType={groupByTemplateType}\r\n onCreateNameChange={this.onCreateNameChange}\r\n newTemplateName={newTemplateName}\r\n newTemplateMoveExtraction={this.moveExtraction}\r\n newTemplateRemoveExtraction={this.removeExtraction}\r\n selectedTemplateType={selectedTemplateType ? selectedTemplateType.type : null}\r\n templateNameUpdateErr={this.state.templateNameUpdateErr}\r\n />\r\n
\r\n
}\r\n
\r\n\r\n );\r\n }\r\n}\r\n\r\nexport default injectIntl(EditExtractions);\r\n","import { connect } from 'react-redux';\r\n\r\nimport {\r\n addProjectTemplate,\r\n changeTemplateName,\r\n clearTemplatesData,\r\n deleteExtraction,\r\n deleteProjectTemplate,\r\n duplicateProjectTemplate,\r\n loadTemplateExtraction,\r\n loadAllExtraction,\r\n loadProjectTemplates,\r\n moveExtraction,\r\n selectProjectTemplate,\r\n updateAllExtractions,\r\n updateProjectTemplate\r\n} from 'store/edit-extractions';\r\nimport EditExtractions from 'components/edit-extractions/edit-extractions';\r\nimport { loadTypes } from 'store/project-creation/template-types';\r\n\r\nconst mapStateToProps = ({ data: { editExtractions, templateTypes, currentFolder } }) => ({\r\n editExtractions,\r\n templateTypes,\r\n currentFolder\r\n});\r\n\r\nconst mapDispatchToProps = {\r\n addProjectTemplate,\r\n changeTemplateName,\r\n clearTemplatesData,\r\n deleteExtraction,\r\n deleteProjectTemplate,\r\n duplicateProjectTemplate,\r\n loadTemplateExtraction,\r\n loadAllExtraction,\r\n loadProjectTemplates,\r\n moveExtraction,\r\n selectProjectTemplate,\r\n updateAllExtractions,\r\n updateProjectTemplate,\r\n loadTypes\r\n};\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(EditExtractions);\r\n","import PropTypes from 'prop-types';\r\nimport React, { Component } from 'react';\r\nimport ReactTooltip from 'react-tooltip';\r\nimport Header from 'containers/header/header';\r\nimport EditExtractionsContainer from 'containers/edit-extractions/edit-extractions-container';\r\nimport NotificationsContainer from 'containers/shared/notifications-container';\r\n\r\nimport Permissions from 'permissions/permissions';\r\nimport history from 'utils/history';\r\n\r\nclass EditExtractionsPage extends Component {\r\n static propTypes = {\r\n match: PropTypes.object.isRequired\r\n };\r\n\r\n UNSAFE_componentWillMount() {\r\n if (!Permissions.Project.ExtractionField.canViewTab()) {\r\n history.push('/');\r\n }\r\n }\r\n\r\n render() {\r\n const { templateId } = this.props.match.params;\r\n\r\n return (\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n );\r\n }\r\n}\r\n\r\nexport default EditExtractionsPage;\r\n","import { FormattedMessage, injectIntl, intlShape } from 'react-intl';\r\nimport PropTypes from 'prop-types';\r\nimport React, { Component } from 'react';\r\n\r\nimport Button from 'components/shared/single-click-button';\r\nimport Icon from 'components/shared/icon';\r\nimport { isProjectItemNameValid } from 'utils/validation';\r\n\r\nexport const ERROR_INVALID_FOLDER_NAME = 'file-browser.create-folder-modal.name-error';\r\nexport const ERROR_INVALID_DUPLICATE_FOLDER_NAME = 'file-browser.create-folder-modal.duplicate-error';\r\n\r\nclass CreateFolderModal extends Component {\r\n static propTypes = {\r\n intl: intlShape,\r\n onCancel: PropTypes.func.isRequired,\r\n onSubmit: PropTypes.func.isRequired\r\n };\r\n\r\n constructor() {\r\n super();\r\n this.state = { folderName: '', errMsg: undefined };\r\n }\r\n\r\n onCreateClicked = e => {\r\n e.preventDefault();\r\n\r\n const { onSubmit, onCancel } = this.props;\r\n const { folderName } = this.state;\r\n this.blurInput();\r\n\r\n if (!isProjectItemNameValid(folderName)) {\r\n this.setState({ errMsg: ERROR_INVALID_FOLDER_NAME });\r\n } else {\r\n this.setState({ errMsg: undefined });\r\n onSubmit(folderName)\r\n .then(() => {\r\n onCancel();\r\n })\r\n .catch(error => {\r\n this.setState({ errMsg: ERROR_INVALID_DUPLICATE_FOLDER_NAME });\r\n if (this.input) {\r\n this.input.focus();\r\n }\r\n });\r\n }\r\n };\r\n\r\n onFolderNameUpdate = e => {\r\n this.setState({ folderName: e.target.value });\r\n };\r\n\r\n blurInput = () => {\r\n if (this.input) {\r\n this.input.blur();\r\n }\r\n };\r\n\r\n render() {\r\n const {\r\n onCancel,\r\n intl: { formatMessage }\r\n } = this.props;\r\n const { errMsg } = this.state;\r\n\r\n return (\r\n
\r\n
\r\n

\r\n \r\n

\r\n \r\n
\r\n \r\n (this.input = elem)}\r\n />\r\n {errMsg !== undefined && (\r\n
\r\n \r\n
\r\n )}\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n );\r\n }\r\n}\r\n\r\nexport default injectIntl(CreateFolderModal);\r\n","import React, { PureComponent } from 'react';\r\n\r\nclass ProgressLoader extends PureComponent {\r\n render() {\r\n return (\r\n
\r\n
\r\n
\r\n );\r\n }\r\n}\r\n\r\nexport default ProgressLoader;\r\n","import { FormattedMessage } from 'react-intl';\r\nimport classNames from 'classnames';\r\nimport PropTypes from 'prop-types';\r\nimport React, { Component } from 'react';\r\nimport ReactTooltip from 'react-tooltip';\r\n\r\nimport { getIntlKeyForCode } from 'utils/errors';\r\nimport { UPLOAD_STATES } from 'models/uploads';\r\nimport Icon from 'components/shared/icon';\r\nimport Button from 'components/shared/single-click-button';\r\nimport { ERROR_CODES } from 'utils/errors';\r\n\r\nclass UploadStatusFile extends Component {\r\n static propTypes = {\r\n cancelUpload: PropTypes.func.isRequired,\r\n upload: PropTypes.object.isRequired\r\n };\r\n\r\n onCancelClick = () => {\r\n const { cancelUpload, upload } = this.props;\r\n\r\n cancelUpload({ id: upload.id });\r\n };\r\n\r\n render() {\r\n const {\r\n upload: { state, loaded, name, total, errorCode }\r\n } = this.props;\r\n\r\n const progressPercent = loaded ? (loaded * 100) / total : 0;\r\n const iconName =\r\n state === UPLOAD_STATES.CANCELLED || state === UPLOAD_STATES.FAILED ? 'special-error' : 'special-doc';\r\n\r\n const displaySize =\r\n total > 1024 ** 3\r\n ? `${(total / 1024 ** 3).toFixed(2)}GB`\r\n : total > 1024 ** 2\r\n ? `${(total / 1024 ** 2).toFixed(2)}MB`\r\n : `${(total / 1024).toFixed(2)}kB`;\r\n\r\n const errorMessage = getIntlKeyForCode(errorCode);\r\n\r\n return (\r\n
\r\n
\r\n \r\n {errorMessage && errorCode !== ERROR_CODES.DOCUMENT_INFECTED && (\r\n \r\n \r\n \r\n )}\r\n
\r\n {state === UPLOAD_STATES.FAILED ? (\r\n errorCode !== ERROR_CODES.DOCUMENT_INFECTED ? (\r\n \r\n \r\n \r\n ) : (\r\n
\r\n {errorMessage && errorCode === ERROR_CODES.DOCUMENT_INFECTED && (\r\n \r\n \r\n \r\n )}\r\n \r\n \r\n \r\n
\r\n )\r\n ) : null}\r\n {state === UPLOAD_STATES.CANCELLED ? (\r\n \r\n \r\n \r\n ) : null}\r\n {state === UPLOAD_STATES.COMPLETED ? (\r\n \r\n \r\n \r\n ) : null}\r\n {state === UPLOAD_STATES.PENDING || state === UPLOAD_STATES.UPLOADING ? (\r\n {name}\r\n ) : null}\r\n
\r\n
  {total ? displaySize : ''}
\r\n \r\n \r\n {(state === UPLOAD_STATES.UPLOADING || state === UPLOAD_STATES.PENDING) && (\r\n \r\n \r\n \r\n )}\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n );\r\n }\r\n}\r\n\r\nclass UploadStatus extends Component {\r\n static propTypes = {\r\n cancelUpload: PropTypes.func.isRequired,\r\n uploads: PropTypes.object.isRequired\r\n };\r\n\r\n onCancelAllClick = () => {\r\n const { cancelUpload, uploads } = this.props;\r\n\r\n Object.keys(uploads).forEach(id => cancelUpload({ id: id }));\r\n };\r\n\r\n render() {\r\n const { cancelUpload, uploads } = this.props;\r\n\r\n const sortedUploads = Object.keys(uploads)\r\n .map(id => uploads[id])\r\n .sort((a, b) => a.timestamp - b.timestamp);\r\n\r\n const numUploads = Object.values(uploads).filter(upload =>\r\n [UPLOAD_STATES.PENDING, UPLOAD_STATES.UPLOADING].includes(upload.state)\r\n ).length;\r\n\r\n if (!sortedUploads.length) {\r\n return null;\r\n }\r\n\r\n return (\r\n
\r\n
\r\n

\r\n {numUploads ? (\r\n \r\n ) : (\r\n \r\n )}\r\n

\r\n \r\n
\r\n
\r\n {sortedUploads.map(upload => (\r\n \r\n ))}\r\n
\r\n
\r\n );\r\n }\r\n}\r\n\r\nexport default UploadStatus;\r\n","import { connect } from 'react-redux';\r\n\r\nimport { cancelUpload } from 'store/uploads';\r\nimport UploadStatus from 'components/file-browser/upload-status/upload-status';\r\n\r\nconst mapStateToProps = ({ data: { uploads } }) => ({\r\n uploads\r\n});\r\n\r\nconst mapDispatchToProps = {\r\n cancelUpload\r\n};\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(UploadStatus);\r\n","import React from 'react';\r\nimport { FormattedMessage } from 'react-intl';\r\nimport Icon from 'components/shared/icon';\r\nimport Modal from 'components/shared/modal';\r\nimport Button from 'components/shared/single-click-button';\r\n\r\nfunction KiraProcessingPausedModal(props) {\r\n var templateName = props.templates ? props.templates : 'selected template';\r\n return (\r\n \r\n
\r\n

\r\n \r\n

\r\n \r\n
\r\n

\r\n \r\n

\r\n
\r\n
\r\n
\r\n );\r\n}\r\n\r\nexport default KiraProcessingPausedModal;\r\n","import { FormattedMessage } from 'react-intl';\r\nimport { Link } from 'react-router-dom';\r\nimport { withRouter } from 'react-router';\r\nimport classNames from 'classnames';\r\nimport Dropzone from 'dropzone';\r\nimport PropTypes from 'prop-types';\r\nimport React, { Component } from 'react';\r\nimport KiraAndGenAIWorkbenchBanner from 'components/header/banner/kira-workbench-banner';\r\nimport { getCurrentRegion } from 'store/api';\r\nimport { ITEM_TYPES, ITEM_STATUSES } from 'models/project-item';\r\nimport { TOOLBAR_OPTIONS, TOOLBAR_LABELS } from 'store/file-browser-toolbar-options';\r\nimport CompareSidebarContainer from 'containers/file-browser/compare-sidebar-container';\r\nimport CreateFolderModal from 'components/file-browser/create-folder-modal';\r\nimport EmptyState from 'components/file-browser/file-list/empty-state';\r\nimport emptyStateImage from 'images/empty_state_file_browser.svg';\r\nimport ExportSidebarContainer from 'containers/file-browser/export-sidebar-container';\r\nimport FileBrowserToolbarContainer from 'containers/shared/file-browser-toolbar-container';\r\nimport FileListContainer from 'containers/file-browser/file-list-container';\r\nimport ProgressLoader from 'components/shared/progress-loader';\r\nimport Icon from 'components/shared/icon';\r\nimport Modal from 'components/shared/modal';\r\nimport Permissions from 'permissions/permissions';\r\nimport UploadButton from 'components/file-browser/upload-button/upload-button';\r\nimport UploadStatusContainer from 'containers/file-browser/upload-status-container';\r\nimport KiraProcessingPausedModal from 'components/shared/kira-processing-paused-modal';\r\nimport ProjectDateFormatSelection from 'components/project-creation/shared/project-date-fromat-selection';\r\nimport Constants from 'utils/constants';\r\nimport Button from 'components/shared/single-click-button';\r\nimport DisclaimerBanner from 'components/header/banner/disclaimer-banner';\r\n\r\nexport class FileBrowser extends Component {\r\n static propTypes = {\r\n addNotification: PropTypes.func.isRequired,\r\n createFolder: PropTypes.func.isRequired,\r\n currentFolder: PropTypes.object.isRequired,\r\n currentFolderInvalidate: PropTypes.func,\r\n currentProject: PropTypes.object.isRequired,\r\n folderId: PropTypes.string.isRequired,\r\n history: PropTypes.object.isRequired,\r\n isUploadInProgress: PropTypes.bool,\r\n loadCurrentFolder: PropTypes.func.isRequired,\r\n location: PropTypes.object,\r\n projectId: PropTypes.string.isRequired,\r\n selectedItems: PropTypes.object.isRequired,\r\n unsubscribeCurrentFolder: PropTypes.func.isRequired,\r\n upload: PropTypes.func.isRequired\r\n };\r\n\r\n constructor(props) {\r\n super(props);\r\n this.dropzoneElem = null;\r\n this.dragEnterElem = null;\r\n this.deleteTimeout = null;\r\n }\r\n\r\n state = {\r\n activeToolbarOption: null,\r\n currentPage: 1,\r\n filesToUpload: [],\r\n isCreateFolderModalShown: false,\r\n isDraggingFile: false,\r\n isPendingDeletion: false,\r\n isSearchResultsPage: false,\r\n isFiltering: false,\r\n KiraProcessingModalOpen: false,\r\n kiraTemplates: [],\r\n showDateSelectionPopup: false,\r\n filesArray: [],\r\n closeDisclaimerBanner: false\r\n };\r\n\r\n componentDidMount() {\r\n const {\r\n folderId,\r\n loadCurrentFolder,\r\n projectId,\r\n currentProject,\r\n history,\r\n location: { state: locationState }\r\n } = this.props;\r\n const readOnly = currentProject.STATES.ReadOnly();\r\n const folderPageSizeUserSelection = localStorage.getItem(Constants.LocalStorageKeys.FILE_LIST_PAGE_SIZE);\r\n history.replace(); // clean location state\r\n\r\n let folderOptions = { folderId, projectId, forceFetch: true };\r\n\r\n if (folderPageSizeUserSelection) {\r\n folderOptions.pageSize = folderPageSizeUserSelection;\r\n }\r\n\r\n // Load the current folder\r\n loadCurrentFolder(folderOptions)\r\n .then(() => {\r\n if (this.getPendingDeleteItems().length > 0) {\r\n return this.setState({ isPendingDeletion: true });\r\n }\r\n })\r\n .catch(this.onCurrentFolderLoadError);\r\n\r\n if (readOnly) {\r\n return;\r\n }\r\n\r\n // Initialize dropzone for file upload by drag and drop\r\n const dropzone = new Dropzone(this.dropzoneElem, {\r\n autoProcessQueue: false,\r\n clickable: false,\r\n previewTemplate: '', // required but unused\r\n uploadMultiple: true,\r\n url: '/files' // required but unused\r\n });\r\n\r\n // Append a file to the list of files to upload\r\n // This gets called once per file when dragging multiple files\r\n dropzone.on('addedfile', file => {\r\n let dateFormatPreference = this.props.currentFolder?.dateFormatPreference;\r\n let templateCategoryID = this.props.currentFolder?.templateCategoryID;\r\n if (templateCategoryID === Constants.TemplateCategories.NON_DETAIL_TESTING && currentProject.isGenAIProcessingEnabled === true)\r\n return;\r\n const isDateFormatSaved =\r\n dateFormatPreference != null\r\n ? true\r\n : sessionStorage.getItem('isDateFormatSaved-' + this.props.currentFolder.projectItemId);\r\n if (Permissions.Project.Document.canUpload()) {\r\n if (\r\n (templateCategoryID == Constants.TemplateCategories.DETAIL_TESTING ||\r\n templateCategoryID == Constants.TemplateCategories.NON_EDITABLE_DETAIL_TESTING) &&\r\n !isDateFormatSaved &&\r\n (dateFormatPreference == null || dateFormatPreference == '') &&\r\n Constants.RestrictDateFormatForSpecificContainer.indexOf(currentProject.containerCode) == -1\r\n ) {\r\n const { filesArray } = this.state;\r\n this.setState({ showDateSelectionPopup: true });\r\n this.setState(prevState => ({ filesArray: [file, ...prevState.filesArray] }));\r\n } else {\r\n const { filesToUpload } = this.state;\r\n this.setState(prevState => ({ filesToUpload: [file, ...prevState.filesToUpload] }));\r\n }\r\n }\r\n });\r\n\r\n dropzone.on('dragenter', event => {\r\n this.dragEnterElem = event.target;\r\n if (event.dataTransfer.types.indexOf('Files') === -1) {\r\n return;\r\n }\r\n this.setState({ isDraggingFile: true });\r\n });\r\n\r\n dropzone.on('dragleave', event => {\r\n // If the drag leave event is on the last element that was entered,\r\n // mark dragging as done\r\n if (this.dragEnterElem === event.target) {\r\n this.setState({ isDraggingFile: false });\r\n }\r\n });\r\n\r\n dropzone.on('drop', event => {\r\n this.setState({ isDraggingFile: false });\r\n });\r\n\r\n window.addEventListener('scroll', this.onFileListScroll);\r\n\r\n if (locationState?.filesToUpload?.length > 0) {\r\n if (locationState.projectTemplateId) {\r\n this.uploadFiles(locationState.filesToUpload, locationState.projectTemplateId);\r\n } else {\r\n this.setState({ filesToUpload: locationState.filesToUpload });\r\n }\r\n }\r\n let isDisclaimerBannerClosed = sessionStorage.getItem(`isDisclaimerBannerClosed-${this.props.currentUser.userId}`) || null;\r\n if (isDisclaimerBannerClosed) {\r\n this.setState({ closeDisclaimerBanner: true });\r\n }\r\n }\r\n\r\n componentWillUnmount() {\r\n this.props.unsubscribeCurrentFolder();\r\n window.removeEventListener('scroll', this.onFileListScroll);\r\n }\r\n\r\n UNSAFE_componentWillUpdate(nextProps, nextState) {\r\n const folderPageSizeUserSelection = localStorage.getItem(Constants.LocalStorageKeys.FILE_LIST_PAGE_SIZE);\r\n\r\n let options = {\r\n projectId: nextProps.projectId,\r\n folderId: nextProps.folderId,\r\n pageNum: nextState.currentPage,\r\n forceFetch:\r\n this.props.folderId !== nextProps.folderId ||\r\n this.state.currentPage !== nextState.currentPage ||\r\n this.state.filters !== nextState.filters\r\n };\r\n\r\n if (folderPageSizeUserSelection) {\r\n options.pageSize = folderPageSizeUserSelection;\r\n }\r\n\r\n if (nextState.filters) {\r\n options = Object.assign({}, options, nextState.filters);\r\n }\r\n\r\n nextProps.loadCurrentFolder(options).catch(this.onCurrentFolderLoadError);\r\n\r\n // If changing folder or project, ensure the active toolbar option is cleared\r\n if (nextProps.folderId !== this.props.folderId || nextProps.projectId !== this.props.projectId) {\r\n this.clearActiveToolbarOption();\r\n }\r\n }\r\n\r\n componentDidUpdate(prevProps) {\r\n const { currentFolder } = this.props;\r\n if (currentFolder !== prevProps.currentFolder) {\r\n if (this.state.currentPage > 1 && !this.props.currentFolder.children.length) {\r\n // If we've just loaded a page other than 1, and recieved no children, switch to the previous page and try again\r\n this.onPageChange(this.state.currentPage - 1);\r\n }\r\n\r\n this.updatePendingState();\r\n }\r\n }\r\n closeDateFormatPopUp = () => {\r\n this.setState({ showDateSelectionPopup: false });\r\n this.setState({ filesArray: [] });\r\n };\r\n handleSuccessCallback = status => {\r\n if (status === 'success') {\r\n sessionStorage.setItem('isDateFormatSaved-' + this.props.currentFolder.projectItemId, true);\r\n }\r\n if (status === 'progress') {\r\n const { filesToUpload, filesArray } = this.state;\r\n\r\n if (Permissions.Project.Document.canUpload()) {\r\n this.setState({\r\n filesToUpload: filesArray\r\n });\r\n }\r\n }\r\n };\r\n\r\n setActiveToolbarOption = option => {\r\n if (!this.state.KiraProcessingModalOpen) {\r\n this.setState({\r\n activeToolbarOption: option\r\n });\r\n }\r\n };\r\n\r\n clearActiveToolbarOption = () => {\r\n this.setActiveToolbarOption(null);\r\n };\r\n\r\n onSubmitCreateComparison = selectedComparisonId => {\r\n const { history, projectId } = this.props;\r\n this.clearActiveToolbarOption();\r\n history.push(`/region/${getCurrentRegion()}/project/${projectId}/compare`);\r\n };\r\n\r\n onCreateNewTemplate = () => {\r\n const { history, projectId, folderId } = this.props;\r\n\r\n history.push(`/region/${getCurrentRegion()}/project/${projectId}/create-template`, {\r\n folderId,\r\n filesToUpload: this.state.filesToUpload\r\n });\r\n };\r\n\r\n onSubmitAddToComparison = selectedComparisonId => {\r\n const { addNotification, projectId } = this.props;\r\n this.clearActiveToolbarOption();\r\n addNotification({\r\n message: (\r\n \r\n \r\n \r\n )\r\n }}\r\n />\r\n ),\r\n clearOnPageChange: true,\r\n autohide: 10\r\n });\r\n };\r\n\r\n uploadFiles = (files, templateId) => {\r\n const { projectId, folderId, upload } = this.props;\r\n\r\n files.forEach(file =>\r\n upload({\r\n file,\r\n name: file.name,\r\n parentId: folderId,\r\n path: file.fullPath || file.name,\r\n projectId,\r\n projectTemplateId: templateId\r\n })\r\n );\r\n };\r\n\r\n submitAssignTemplateModal = selectedTemplate => {\r\n const { filesToUpload } = this.state;\r\n const { folderId } = this.props;\r\n if (folderId != 'root') this.uploadFiles(filesToUpload, selectedTemplate.projectTemplateId);\r\n\r\n this.setState({ filesToUpload: [] });\r\n };\r\n\r\n cancelAssignTemplateModal = () => {\r\n this.setState({ filesToUpload: [] });\r\n };\r\n\r\n submitCreateFolderModal = folderName => {\r\n const { createFolder, folderId, projectId } = this.props;\r\n return createFolder({ folderName, projectId, parentId: folderId });\r\n };\r\n\r\n setDropzoneElem = elem => {\r\n this.dropzoneElem = elem;\r\n };\r\n\r\n onFilesSelected = event => {\r\n // Upload each file\r\n this.setState({\r\n filesToUpload: Array.from(event.target.files)\r\n });\r\n\r\n // Reset the input value so that onChange will fire even if the user selects\r\n // the same files again\r\n event.target.value = null;\r\n };\r\n\r\n onPageChange = pageNum => {\r\n this.setState({ currentPage: pageNum });\r\n };\r\n\r\n onFilterChange = filterObject => {\r\n this.setState({ currentPage: 1, filters: filterObject });\r\n };\r\n\r\n onCurrentFolderLoadError = () => {\r\n const { history, projectId } = this.props;\r\n history.push(`/region/${getCurrentRegion()}/project/${projectId}/folder/root`);\r\n };\r\n\r\n getPendingDeleteItems = () => {\r\n const { currentFolder } = this.props;\r\n return (currentFolder.children || []).filter(item => item.itemStateId === ITEM_STATUSES.PENDINGDELETION);\r\n };\r\n\r\n // Determines whether to show visual/progress indicator of deleted files\r\n updatePendingState = () => {\r\n const items = this.getPendingDeleteItems();\r\n if (items.length > 0) {\r\n if (this.deleteTimeout) {\r\n return;\r\n }\r\n // If items are being deleted after 15 seconds wait time, display banner\r\n return (this.deleteTimeout = setTimeout(() => this.setState({ isPendingDeletion: true }), 15000));\r\n } else {\r\n if (this.deleteTimeout) {\r\n clearTimeout(this.deleteTimeout);\r\n this.deleteTimeout = null;\r\n this.setState({ isPendingDeletion: false });\r\n }\r\n }\r\n };\r\n\r\n pageSizeChangeFunction = newPageSize => {\r\n const { projectId, folderId, loadCurrentFolder } = this.props;\r\n const { filters } = this.state;\r\n\r\n let options = {\r\n projectId: projectId,\r\n folderId: folderId,\r\n pageNum: 1,\r\n forceFetch: true,\r\n pageSize: newPageSize\r\n };\r\n\r\n this.setState({ currentPage: options.pageNum });\r\n\r\n if (filters) {\r\n options = Object.assign({}, options, filters);\r\n }\r\n\r\n loadCurrentFolder(options).catch(this.onCurrentFolderLoadError);\r\n };\r\n\r\n goToEditTemplate = (templateId = '') => {\r\n const { history, projectId } = this.props;\r\n history.push(`/region/${getCurrentRegion()}/project/${projectId}/extractionfield/${templateId}`);\r\n };\r\n\r\n onUploadClick = () => {\r\n const { currentProject, currentFolder } = this.props;\r\n if (!currentProject.isDocumentProcessingEnabled && currentFolder.templateCategoryId === 0) {\r\n this.setState({ KiraProcessingModalOpen: true });\r\n }\r\n };\r\n\r\n openKiraProcessingModel = (option, destinationFolder) => {\r\n const { currentProject } = this.props;\r\n if (!currentProject.isDocumentProcessingEnabled) {\r\n this.setState(prevState => ({\r\n KiraProcessingModalOpen: true,\r\n activeToolbarOption: option,\r\n kiraTemplates: destinationFolder\r\n }));\r\n }\r\n };\r\n\r\n closeKiraProcessingPausedModal = () => {\r\n const { currentProject } = this.props;\r\n if (!currentProject.isDocumentProcessingEnabled) {\r\n this.setState(prevState => ({\r\n KiraProcessingModalOpen: false,\r\n activeToolbarOption: prevState.activeToolbarOption\r\n }));\r\n }\r\n };\r\n\r\n onCloseDisclaimerBanner = () => {\r\n this.setState({ closeDisclaimerBanner: true });\r\n sessionStorage.setItem(`isDisclaimerBannerClosed-${this.props.currentUser.userId}`,true);\r\n }\r\n\r\n getKiraTemplates = () => {\r\n let { kiraTemplates } = this.state;\r\n var kiraTemplateString = kiraTemplates.join(',');\r\n return kiraTemplateString;\r\n };\r\n\r\n isGenAITemplate() {\r\n var { currentFolder } = this.props;\r\n\r\n if ((currentFolder.templateCategoryId == Constants.TemplateCategories.Custom_GENAI_NONDETAIL_TESTING) ||\r\n (currentFolder.templateCategoryId == Constants.TemplateCategories.NON_EDITABLE_GENAI_NONDETAIL_TESTING) ||\r\n (currentFolder.templateCategoryId == Constants.TemplateCategories.Custom_GENAI_NONDETAIL_TESTING)) {\r\n return true;\r\n }\r\n else {\r\n return false;\r\n }\r\n }\r\n\r\n isKiraTemplate() {\r\n var { currentFolder } = this.props;\r\n if (currentFolder.templateCategoryId == Constants.TemplateCategories.NON_DETAIL_TESTING) {\r\n return true;\r\n }\r\n else {\r\n return false;\r\n }\r\n }\r\n\r\n isAbbyyTemplate() {\r\n var { currentFolder } = this.props;\r\n\r\n if (currentFolder.templateCategoryId == Constants.TemplateCategories.NON_EDITABLE_DETAIL_TESTING ||\r\n currentFolder.templateCategoryId == Constants.TemplateCategories.DETAIL_TESTING) {\r\n return true;\r\n }\r\n else {\r\n return false;\r\n }\r\n }\r\n\r\n render() {\r\n const {\r\n currentFolder: { parentHierarchy, children, pagination },\r\n currentFolder,\r\n currentFolderInvalidate,\r\n currentProject,\r\n folderId,\r\n isUploadInProgress,\r\n projectId,\r\n selectedItems\r\n } = this.props;\r\n const { KiraProcessingModalOpen, closeDisclaimerBanner } = this.state;\r\n let {\r\n activeToolbarOption,\r\n filesToUpload,\r\n isDraggingFile,\r\n isSearchResultsPage,\r\n isFiltering,\r\n isPendingDeletion\r\n } = this.state;\r\n\r\n if (pagination) {\r\n pagination.pageSizeStorageKey = Constants.LocalStorageKeys.FILE_LIST_PAGE_SIZE;\r\n pagination.pageSizeOptions = [50, 100, 200, 500];\r\n pagination.pageSizeChangeFunction = this.pageSizeChangeFunction;\r\n }\r\n\r\n const isListEmpty = !children || (Array.isArray(children) && !children.length);\r\n const dropzoneClassName = classNames(\r\n 'file-browser__dropzone',\r\n isDraggingFile && 'file-browser__dropzone--dragging'\r\n );\r\n\r\n const title =\r\n folderId != 'root' ? (\r\n \r\n ) : (\r\n \r\n );\r\n\r\n let description;\r\n\r\n if (folderId === 'root') {\r\n description = ;\r\n } else if (this.props.currentFolder.templateCategoryID === Constants.TemplateCategories.NON_DETAIL_TESTING && currentProject.isGenAIProcessingEnabled === true) {\r\n description = null; // No need to show anything\r\n } else {\r\n description = ;\r\n }\r\n\r\n const banner =\r\n ((folderId != \"root\" && currentFolder.isLoaded) ?\r\n ((this.isKiraTemplate() && !currentProject.isGenAIProcessingEnabled) ? 1 : //Banner to be shown if Kira Template and GenAI Toggle is OFF \r\n (this.isKiraTemplate() && currentProject.isGenAIProcessingEnabled) ? 2 : //Banner to be shown if Kira Template and GenAI Toggle is ON \r\n (this.isGenAITemplate() && (!currentProject.isGenAIProcessingEnabled)) ? 3 : //Banner to be shown if GenAI Template and GenAI Toggle is OFF\r\n (this.isGenAITemplate() && (currentProject.isGenAIProcessingEnabled) && //Banner to be shown if GenAI Template and GenAI Toggle is ON and Atleast one Document is in Reprocessing Required Status\r\n (currentFolder?.children?.find(({ itemStateId }) => itemStateId == ITEM_STATUSES.REPROCESSINGREQUIRED))) ? 4 : 0\r\n ) : 0);\r\n\r\n return (\r\n
\r\n {isPendingDeletion ? (\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n ) : null}\r\n {currentFolder.isLoaded && currentFolder?.parentHierarchy?.length > 0 &&\r\n (currentFolder.parentHierarchy.find(({ projectItemId }) => projectItemId === +folderId)) &&\r\n ((folderId != \"root\" && banner != 0) &&\r\n \r\n )}\r\n {\r\n this.onUploadClick();\r\n }}\r\n isKiraprocessingModelOpen={KiraProcessingModalOpen}\r\n openKiraProcessingModel={this.openKiraProcessingModel}\r\n />\r\n {(folderId == \"root\" && currentFolder.isLoaded && !closeDisclaimerBanner) &&\r\n }\r\n\r\n {((folderId != \"root\" && currentFolder.isLoaded) &&\r\n (this.isGenAITemplate() || this.isAbbyyTemplate())) &&\r\n }\r\n\r\n {!currentFolder.isLoaded && }\r\n {KiraProcessingModalOpen &&\r\n filesToUpload.length > 0 &&\r\n currentFolder.templateCategoryId === 0 &&\r\n !currentProject.isDocumentProcessingEnabled && (\r\n {\r\n this.closeKiraProcessingPausedModal();\r\n }}\r\n templates={currentFolder.itemName}\r\n />\r\n )}\r\n\r\n {KiraProcessingModalOpen &&\r\n activeToolbarOption === TOOLBAR_OPTIONS.REPROCESS &&\r\n !currentProject.isDocumentProcessingEnabled && (\r\n {\r\n this.closeKiraProcessingPausedModal();\r\n }}\r\n templates={this.getKiraTemplates()}\r\n />\r\n )}\r\n\r\n
\r\n {!!children && isListEmpty && !isFiltering ? (\r\n \r\n {!currentProject.STATES.ReadOnly() && Permissions.Project.Document.canUpload() && folderId != 'root' ? (\r\n 0}\r\n onClick={this.onUploadClick}\r\n projectId={projectId}\r\n currentFolder={currentFolder}\r\n currentProject={currentProject}\r\n />\r\n ) : !Permissions.Project._States.isReadOnly() &&\r\n Permissions.Project.Template.canCreate() &&\r\n folderId == 'root' ? (\r\n \r\n \r\n \r\n ) : null}\r\n \r\n ) : (\r\n { }}\r\n isFiltering={value => this.setState({ isFiltering: value })}\r\n currentProject={currentProject}\r\n />\r\n )}\r\n
\r\n\r\n \r\n {activeToolbarOption === TOOLBAR_OPTIONS.EXPORT && (\r\n \r\n )}\r\n {activeToolbarOption === TOOLBAR_OPTIONS.COMPARE && (\r\n \r\n selectedItems[projectItem.projectItemId] &&\r\n (projectItem.itemTypeId === ITEM_TYPES.FOLDER || (projectItem.itemStateId === ITEM_STATUSES.PROCESSED ||\r\n projectItem.itemStateId === ITEM_STATUSES.REPROCESSINGREQUIRED ||\r\n projectItem.itemStateId === ITEM_STATUSES.READYFORVERIFICATION))\r\n )}\r\n onCloseClick={this.clearActiveToolbarOption}\r\n onSubmitAddToComparison={this.onSubmitAddToComparison}\r\n onSubmitCreateComparison={this.onSubmitCreateComparison}\r\n projectId={projectId}\r\n />\r\n )}\r\n {activeToolbarOption === TOOLBAR_OPTIONS.CREATE_FOLDER && (\r\n \r\n \r\n \r\n )}\r\n {filesToUpload.length > 0 &&\r\n !KiraProcessingModalOpen &&\r\n this.submitAssignTemplateModal(\r\n currentFolder.parentHierarchy.find(({ projectItemId }) => projectItemId === currentFolder.projectItemId)\r\n )\r\n ?.projectTemplateId\r\n ()}\r\n this.handleSuccessCallback(status)}\r\n currentFolder={currentFolder}\r\n />\r\n
\r\n );\r\n }\r\n}\r\n\r\nexport default withRouter(FileBrowser);\r\n","import { connect } from 'react-redux';\r\n\r\nimport {\r\n loadCurrentFolder,\r\n createFolder,\r\n currentFolderInvalidate,\r\n unsubscribeCurrentFolder\r\n} from 'store/current-folder';\r\nimport { upload } from 'store/uploads';\r\nimport FileBrowser from 'components/file-browser/file-browser';\r\nimport { addNotification } from 'store/notifications.js';\r\n\r\nconst mapStateToProps = ({ data: { currentFolder, currentProject, uploads }, ui: { fileBrowserSelectedItems } }) => ({\r\n currentFolder,\r\n currentProject,\r\n selectedItems: fileBrowserSelectedItems,\r\n isUploadInProgress: !!Object.keys(uploads).length\r\n});\r\n\r\nconst mapDispatchToProps = {\r\n addNotification,\r\n createFolder,\r\n loadCurrentFolder,\r\n upload,\r\n currentFolderInvalidate,\r\n unsubscribeCurrentFolder\r\n};\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(FileBrowser);\r\n","import React, { Component } from 'react';\r\nimport ReactTooltip from 'react-tooltip';\r\nimport PropTypes from 'prop-types';\r\nimport FileBrowserContainer from 'containers/file-browser/file-browser-container';\r\nimport Header from 'containers/header/header';\r\nimport NotificationsContainer from 'containers/shared/notifications-container';\r\nimport ProjectsLeftMenu from 'components/project-list/project-menu-bar/project-left-menu';\r\nimport Toolbar from 'components/project-list/toolbar/toolbar';\r\n\r\nimport Permissions from 'permissions/permissions';\r\nimport history from 'utils/history';\r\n\r\nclass FileBrowserPage extends Component {\r\n static propTypes = {\r\n match: PropTypes.object.isRequired,\r\n projectList: PropTypes.object,\r\n currentProject: PropTypes.object,\r\n currentUser: PropTypes.object\r\n };\r\n\r\n state = {\r\n auth: false\r\n };\r\n\r\n UNSAFE_componentWillMount() {\r\n if (!Permissions.Project.Document.canView()) {\r\n history.push('/');\r\n } else {\r\n this.setState({ auth: true });\r\n }\r\n }\r\n\r\n render() {\r\n const { folderId } = this.props.match.params;\r\n\r\n return this.state.auth ? (\r\n
\r\n
\r\n {/* */}\r\n \r\n \r\n \r\n \r\n
\r\n ) : null;\r\n }\r\n}\r\n\r\nexport default FileBrowserPage;\r\n","import { FormattedMessage } from 'react-intl';\r\nimport PropTypes from 'prop-types';\r\nimport React, { Component } from 'react';\r\nimport Button from 'components/shared/single-click-button';\r\nimport KiraAndGenAIWorkbenchBanner from 'components/header/banner/kira-workbench-banner';\r\nimport CONSTANTS from 'utils/constants';\r\nimport ProcessingPausedBanner from 'components/header/paused-banner/processing-paused-banner';\r\n\r\n// A wrapper for all the sections\r\nexport default class Container extends Component {\r\n static propTypes = {\r\n children: PropTypes.node,\r\n customCloseButton: PropTypes.node,\r\n customHeader: PropTypes.node,\r\n customNextButton: PropTypes.node,\r\n customPrevButton: PropTypes.node,\r\n disableBothButtons: PropTypes.bool,\r\n disabled: PropTypes.bool,\r\n hideSteps: PropTypes.bool,\r\n onChangeStep: PropTypes.func,\r\n onCustomNext: PropTypes.func,\r\n onNext: PropTypes.func,\r\n onPrev: PropTypes.func,\r\n project: PropTypes.any,\r\n projectState: PropTypes.object,\r\n step: PropTypes.number,\r\n steps: PropTypes.array\r\n };\r\n\r\n // Step controllers\r\n previousPage = () => this.props.onChangeStep(this.props.step - 1);\r\n nextPage = () => {\r\n this.props.onChangeStep(this.props.step + 1);\r\n }\r\n\r\n render() {\r\n const {\r\n project,\r\n onPrev,\r\n onNext,\r\n steps,\r\n disabled,\r\n customHeader,\r\n customNextButton,\r\n customPrevButton,\r\n step,\r\n disableBothButtons,\r\n onCustomNext,\r\n projectState,\r\n hideSteps,\r\n customCloseButton,\r\n selectedType,\r\n templateStep\r\n } = this.props;\r\n const disableButton = disabled ? 'disabled' : 'enabled';\r\n return (\r\n
\r\n {/* {!project.isDocumentProcessingEnabled && step === 2 && (\r\n \r\n )} */}\r\n {selectedType != null && selectedType.templateCategoryId == CONSTANTS.TemplateCategories.NON_DETAIL_TESTING && templateStep == 2 && \r\n }\r\n
{this.props.children}
\r\n {disableBothButtons ? null : (\r\n
\r\n
\r\n {customPrevButton ? (\r\n customPrevButton\r\n ) : (\r\n (onPrev ? onPrev().then(() => this.previousPage()) : this.previousPage())}\r\n >\r\n \r\n \r\n )}\r\n
\r\n
\r\n {step + 1 >= steps.length &&\r\n !customNextButton &&\r\n !projectState.COPY &&\r\n !projectState.CARRY ? null : customNextButton ? (\r\n customNextButton\r\n )\r\n :\r\n (\r\n {\r\n e.preventDefault();\r\n if (onNext) {\r\n return onNext().then(() => this.nextPage());\r\n }\r\n if (onCustomNext) {\r\n return onCustomNext();\r\n }\r\n return;\r\n }}\r\n >\r\n \r\n \r\n )}\r\n
\r\n
\r\n )}\r\n\r\n
\r\n );\r\n }\r\n}\r\n","import PropTypes from 'prop-types';\r\nimport React, { Component } from 'react';\r\nimport { FormattedMessage } from 'react-intl';\r\nimport Modal from 'components/shared/modal';\r\nimport { respondArchiveRequest } from 'store/api';\r\nimport Icon from 'components/shared/icon';\r\nimport Button from 'components/shared/single-click-button';\r\n\r\nimport Permissions from 'permissions/permissions';\r\n\r\n/*\r\n Approve/Reject archival header + modal\r\n when a PPMD navigates and sees approve button to approve archival\r\n*/\r\nexport default class PPMDApproval extends Component {\r\n static propTypes = {\r\n history: PropTypes.object,\r\n projectId: PropTypes.any\r\n };\r\n\r\n state = {\r\n disabled: false,\r\n isModalOpen: false\r\n };\r\n\r\n // We can either reject or approve archive request\r\n // Send boolean property depending on which button user clicked on\r\n onReject = () => {\r\n const { projectId, history } = this.props;\r\n this.setState({ disabled: true });\r\n return respondArchiveRequest({ projectId, isApprove: false })\r\n .then(() => {\r\n this.setState({ isModalOpen: false });\r\n return history.push(`/project-list`);\r\n })\r\n .catch(() => {\r\n this.setState({ isModalOpen: false });\r\n return history.push(`/project-list`);\r\n });\r\n };\r\n\r\n onSubmit = () => {\r\n const { projectId, history } = this.props;\r\n this.setState({ disabled: true });\r\n return respondArchiveRequest({ projectId, isApprove: true })\r\n .then(() => {\r\n this.setState({ isModalOpen: false });\r\n return history.push(`/project-list`);\r\n })\r\n .catch(() => {\r\n this.setState({ isModalOpen: false });\r\n return history.push(`/project-list`);\r\n });\r\n };\r\n\r\n render() {\r\n const { isModalOpen, disabled } = this.state;\r\n return Permissions.Project._States.isReadOnly() &&\r\n (Permissions.Project.canRejectArchive() || Permissions.Project.canApproveArchive()) ? (\r\n
\r\n this.setState({ isModalOpen: true })}\r\n >\r\n \r\n \r\n {isModalOpen ? (\r\n \r\n
\r\n
\r\n

\r\n \r\n

\r\n \r\n
\r\n

\r\n \r\n

\r\n
\r\n {Permissions.Project.canRejectArchive() ? (\r\n \r\n ) : null}\r\n {Permissions.Project.canApproveArchive() ? (\r\n \r\n ) : null}\r\n
\r\n
\r\n
\r\n ) : null}\r\n
\r\n ) : null;\r\n }\r\n}\r\n","import { FormattedMessage } from 'react-intl';\r\nimport PropTypes from 'prop-types';\r\nimport React from 'react';\r\n\r\nimport { MAT_CATEGORIES } from 'components/project-creation/constants';\r\n\r\n/*\r\n * MAT Engagement Details\r\n */\r\nconst EngagementDetails = ({ data }) => {\r\n return (\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n {MAT_CATEGORIES.map(category =>\r\n category.value === 'engagementName' ||\r\n category.value === 'externalEngagementId' ||\r\n category.value === 'clientId' ? (\r\n
\r\n \r\n \r\n \r\n
{category.render(data)}
\r\n
\r\n ) : (\r\n ''\r\n )\r\n )}\r\n
\r\n
\r\n {MAT_CATEGORIES.map(category =>\r\n category.value === 'clientName' || category.value === 'fiscalEnd' || category.value === 'fiscalYearEnd' ? (\r\n
\r\n \r\n \r\n \r\n
{category.render(data)}
\r\n
\r\n ) : (\r\n ''\r\n )\r\n )}\r\n
\r\n
\r\n
\r\n );\r\n};\r\n\r\nEngagementDetails.propTypes = {\r\n data: PropTypes.object\r\n};\r\n\r\nexport default EngagementDetails;\r\n","import { FormattedMessage } from 'react-intl';\r\nimport classNames from 'classnames';\r\nimport PropTypes from 'prop-types';\r\nimport React, { Component } from 'react';\r\n\r\nimport Button from 'components/shared/single-click-button';\r\nimport Icon from 'components/shared/icon';\r\nimport TextArea from 'components/shared/form/textarea';\r\n\r\n/*\r\n * Valid Text Area\r\n * When a user types in a non valid text\r\n */\r\nexport default class ValidTextArea extends Component {\r\n static propTypes = {\r\n autoFocus: PropTypes.bool,\r\n className: PropTypes.string,\r\n errors: PropTypes.string,\r\n headingId: PropTypes.string,\r\n isEditing: PropTypes.bool,\r\n isOwner: PropTypes.bool,\r\n maxLength: PropTypes.number,\r\n onBlur: PropTypes.func,\r\n onChange: PropTypes.func,\r\n onEditClick: PropTypes.func,\r\n onFocus: PropTypes.func,\r\n onKeyDown: PropTypes.func,\r\n onKeyUp: PropTypes.func,\r\n placeholder: PropTypes.string,\r\n value: PropTypes.any\r\n };\r\n\r\n state = {\r\n isHovering: false\r\n };\r\n\r\n onMouseEnter = e => {\r\n const { isOwner } = this.props;\r\n if (isOwner) {\r\n this.setState({ isHovering: true });\r\n } else {\r\n e.preventDefault();\r\n }\r\n };\r\n\r\n onMouseLeave = e => {\r\n const { isOwner } = this.props;\r\n if (isOwner) {\r\n this.setState({ isHovering: false });\r\n } else {\r\n e.preventDefault();\r\n }\r\n };\r\n\r\n onEditClick = () => {\r\n const { onEditClick } = this.props;\r\n this.setState({ isHovering: false });\r\n onEditClick();\r\n };\r\n\r\n render() {\r\n const {\r\n autoFocus,\r\n className,\r\n errors,\r\n headingId,\r\n isEditing,\r\n maxLength,\r\n onBlur,\r\n onChange,\r\n onFocus,\r\n onKeyDown,\r\n onKeyUp,\r\n placeholder,\r\n value,\r\n clientInfo,\r\n isAsteriskRequired\r\n } = this.props;\r\n\r\n const { isHovering } = this.state;\r\n\r\n return (\r\n
\r\n \r\n \r\n {isAsteriskRequired && *}\r\n \r\n {isEditing ? (\r\n
\r\n \r\n
\r\n ) : (\r\n
\r\n {value}\r\n {isHovering && (\r\n \r\n )}\r\n
\r\n )}\r\n \r\n {`${errors ? errors : 'placeholder'}`}\r\n \r\n
\r\n );\r\n }\r\n}\r\n","import { debounce } from 'underscore';\r\nimport { intlShape } from 'react-intl';\r\nimport PropTypes from 'prop-types';\r\nimport React, { Component } from 'react';\r\n\r\nimport { hasError, ERROR_CODES } from 'utils/errors';\r\nimport { isProjectItemNameValid } from 'utils/validation';\r\nimport ValidTextArea from 'components/project-creation/project-details/shared/valid-text-area';\r\n\r\nimport { validateProjectName, validateProjectNameWithId } from 'store/api';\r\nimport constants from 'utils/constants';\r\n\r\n/*\r\n * Project name input field\r\n * Performs checks/validation\r\n */\r\nexport default class NameInputField extends Component {\r\n static propTypes = {\r\n allowEditing: PropTypes.bool,\r\n checkValid: PropTypes.func,\r\n intl: intlShape,\r\n onChange: PropTypes.func,\r\n project: PropTypes.any,\r\n projectState: PropTypes.object,\r\n setNameResolved: PropTypes.func,\r\n updateProjectName: PropTypes.func\r\n };\r\n\r\n state = {\r\n nameValue: '',\r\n nameError: null,\r\n isEditing: true,\r\n isValid: false\r\n };\r\n\r\n componentDidMount() {\r\n const {\r\n project: { projectName, projectTypeId },\r\n projectState: { NEW, INPROGRESS, SETTINGS, ARCHIVE, COPY }\r\n } = this.props;\r\n\r\n if (projectTypeId == constants.ProjectTypes.WORKSPACE_PROJECT) {\r\n return this.setState({ nameValue: projectName, isValid: false, isEditing: false });\r\n }\r\n\r\n if (INPROGRESS || COPY) {\r\n this.props.setNameResolved(true);\r\n return this.setState({ nameValue: projectName, isValid: false }, () => {\r\n this.onValidate();\r\n });\r\n }\r\n\r\n if (SETTINGS || ARCHIVE) {\r\n return this.setState({ nameValue: projectName, isValid: true, isEditing: false });\r\n }\r\n }\r\n\r\n // Send updates to the parent when the name input field is valid\r\n componentDidUpdate(prevProps, prevState) {\r\n if (prevState.isValid !== this.state.isValid) {\r\n this.props.checkValid(this.state.isValid);\r\n }\r\n }\r\n\r\n // update name to api function\r\n saveName = value => {\r\n const {\r\n project,\r\n projectState: { SETTINGS }\r\n } = this.props;\r\n\r\n return this.props\r\n .updateProjectName({\r\n projectId: project.projectId,\r\n projectName: value\r\n })\r\n .then(() => {\r\n this.setState({\r\n isEditing: !SETTINGS,\r\n isValid: true,\r\n nameError: null\r\n });\r\n })\r\n .catch(err => {\r\n if (hasError(err, ERROR_CODES.PROJECT_DUPLICATENAME)) {\r\n this.setState({\r\n isValid: false,\r\n isEditing: true,\r\n nameError: this.props.intl.formatMessage({ id: 'project-details.body.duplicate-error' })\r\n });\r\n } else if (hasError(err, ERROR_CODES.PROJECT_INVALID) || hasError(err, ERROR_CODES.INPUT_INVALID)) {\r\n this.setState({\r\n isValid: false,\r\n isEditing: true,\r\n nameError:\r\n this.props.intl.formatMessage({ id: 'project-details.body.name-error' }) + '<, >, :, \", /, \\\\, |, ?, or *'\r\n });\r\n }\r\n throw err;\r\n });\r\n };\r\n\r\n onEditClick = () => {\r\n this.setState({ isEditing: true });\r\n };\r\n\r\n onBlur = () => {\r\n const { nameValue } = this.state;\r\n\r\n const {\r\n projectState: { SETTINGS, COPY },\r\n project\r\n } = this.props;\r\n // Save on click outside\r\n if (SETTINGS) {\r\n // If it's the same dont do anything\r\n if (project.projectName === nameValue) {\r\n return this.setState({ nameValue: project.projectName, nameError: null, isValid: true, isEditing: false });\r\n }\r\n\r\n if (nameValue && !isProjectItemNameValid(nameValue)) {\r\n return this.setState({\r\n isValid: false,\r\n nameError:\r\n this.props.intl.formatMessage({ id: 'project-details.body.name-error' }) + '<, >, :, \", /, \\\\, |, ?, or *'\r\n });\r\n }\r\n\r\n return this.saveName(nameValue);\r\n }\r\n\r\n if (COPY) {\r\n return this.saveName(nameValue);\r\n }\r\n };\r\n\r\n onChange = nameValue => {\r\n this.setState({ nameValue });\r\n this.props.onChange(nameValue);\r\n this.props.setNameResolved(false);\r\n\r\n if (nameValue && nameValue.length <= 0) {\r\n return this.setState({ isValid: false });\r\n }\r\n };\r\n\r\n // Name validator function, depends on whether we have a project or not\r\n nameValidateAPI = name => {\r\n const { project } = this.props;\r\n if (!project.projectId) {\r\n return validateProjectName({ name });\r\n }\r\n return validateProjectNameWithId({ name, projectId: project.projectId });\r\n };\r\n\r\n nameValidator = name => {\r\n if (name && !isProjectItemNameValid(name)) {\r\n return this.setState({\r\n isValid: false,\r\n nameError:\r\n this.props.intl.formatMessage({ id: 'project-details.body.name-error' }) + '<, >, :, \", /, \\\\, |, ?, or *'\r\n });\r\n }\r\n\r\n return this.nameValidateAPI(name).then(res => {\r\n if (name !== this.state.nameValue) {\r\n // old request\r\n return;\r\n }\r\n\r\n if (!res.isNonduplicateName) {\r\n return this.setState({\r\n isValid: false,\r\n nameError: this.props.intl.formatMessage({ id: 'project-details.body.duplicate-error' })\r\n });\r\n }\r\n\r\n if (!res.isValidLength || !res.isValidFormat) {\r\n return this.setState({\r\n isValid: false,\r\n nameError:\r\n this.props.intl.formatMessage({ id: 'project-details.body.name-error' }) + '<, >, :, \", /, \\\\, |, ?, or *'\r\n });\r\n }\r\n\r\n this.props.setNameResolved(true);\r\n return this.setState({ nameError: null, isValid: true });\r\n });\r\n };\r\n\r\n // Validate on key up\r\n onValidate = debounce(() => {\r\n const { nameValue } = this.state;\r\n\r\n const {\r\n projectState: { SETTINGS }\r\n } = this.props;\r\n\r\n if (!SETTINGS && nameValue && nameValue.length > 0) {\r\n return this.nameValidator(nameValue);\r\n }\r\n }, 500);\r\n\r\n render() {\r\n const { intl, allowEditing } = this.props;\r\n const { nameValue, nameError, isEditing, isValid } = this.state;\r\n return (\r\n \r\n );\r\n }\r\n}\r\n","import { FormattedMessage, FormattedDate } from 'react-intl';\r\nimport enhanceWithClickOutside from 'react-click-outside';\r\nimport PropTypes from 'prop-types';\r\nimport React, { Component } from 'react';\r\n\r\nimport { FixedTable, FixedHeader } from 'components/shared/fixed-table';\r\nimport { MAT_ENGAGEMENT_CATEGORIES } from 'components/project-creation/constants';\r\n\r\n/*\r\n * Highlighter\r\n * Used to determine which text matches the keyword so we can mark/highlight it\r\n */\r\nconst Highlighted = ({ text = '', highlight = '' }) => {\r\n if (!highlight.trim()) {\r\n return {text};\r\n }\r\n\r\n const escapeRegExp = (str = '') => str.replace(/([.?*+^$[\\]\\\\(){}|-])/g, '\\\\$1');\r\n const regex = new RegExp(`(${escapeRegExp(highlight.trim())})`, 'gi');\r\n const parts = String(text).split(regex);\r\n return (\r\n \r\n {parts\r\n .filter(part => part)\r\n .map((part, i) => (regex.test(part) ? {part} : {part}))}\r\n \r\n );\r\n};\r\n\r\nHighlighted.propTypes = {\r\n highlight: PropTypes.any,\r\n text: PropTypes.any\r\n};\r\n\r\n/*\r\n * Engagement Details Dropdown\r\n * The dropdown for handling user selection of engagement detailst\r\n */\r\nexport default enhanceWithClickOutside(\r\n class EngagementDetailsDropdown extends Component {\r\n static propTypes = {\r\n data: PropTypes.oneOfType([PropTypes.array, PropTypes.object]),\r\n keyword: PropTypes.string,\r\n onClickOutside: PropTypes.func,\r\n onMATClick: PropTypes.func\r\n };\r\n\r\n handleClickOutside = () => {\r\n if (this.props.onClickOutside) {\r\n this.props.onClickOutside();\r\n }\r\n };\r\n\r\n render() {\r\n const { onMATClick, keyword, data } = this.props;\r\n\r\n return (\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n {MAT_ENGAGEMENT_CATEGORIES.map((category, i) => {\r\n return (\r\n \r\n \r\n \r\n );\r\n })}\r\n \r\n \r\n \r\n {data &&\r\n data.length > 0 &&\r\n data.map((v, i) => (\r\n onMATClick(v)}>\r\n \r\n \r\n \r\n ))}\r\n \r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n );\r\n }\r\n }\r\n);\r\n","import { debounce } from 'underscore';\r\nimport { intlShape } from 'react-intl';\r\nimport PropTypes from 'prop-types';\r\nimport React, { Component } from 'react';\r\n\r\nimport { getEngagementSearchResults, getEngagementDetails } from 'store/api';\r\nimport ValidTextArea from 'components/project-creation/project-details/shared/valid-text-area';\r\nimport EngagementDropdown from 'components/project-creation/project-details/shared/engagement-dropdown';\r\n\r\n/*\r\n * Project MAT input field\r\n * Performs checks/validation\r\n */\r\nexport default class MATInputField extends Component {\r\n static propTypes = {\r\n allowEditing: PropTypes.bool,\r\n checkValid: PropTypes.func,\r\n intl: intlShape,\r\n onChange: PropTypes.func,\r\n project: PropTypes.any,\r\n projectState: PropTypes.object,\r\n setEngagementId: PropTypes.func,\r\n setEngagementInfo: PropTypes.func,\r\n updateProjectEngagement: PropTypes.func,\r\n clientInfo: PropTypes.object,\r\n checkClientValid: PropTypes.func\r\n };\r\n\r\n state = {\r\n engagementName: '',\r\n error: null,\r\n isDropdownOpen: false,\r\n isEditing: true,\r\n isValid: false,\r\n projectInfo: null,\r\n searchResults: null,\r\n selectedId: null\r\n };\r\n\r\n componentDidMount() {\r\n const {\r\n project: { engagementName, engagementId },\r\n projectState: { INPROGRESS, SETTINGS, ARCHIVE, COPY }\r\n } = this.props;\r\n\r\n if (INPROGRESS) {\r\n // Project creation in progress\r\n if(engagementName)\r\n this.setState({isValid: true});\r\n this.setState({ engagementName });\r\n if(engagementId)\r\n this.getEngagementInfo(engagementId);\r\n } else if (COPY) {\r\n // Project copy workflow\r\n if (!engagementId) {\r\n this.setState({ isValid: false });\r\n } else {\r\n this.setState({ engagementName });\r\n this.getEngagementInfo(engagementId);\r\n }\r\n } else if (SETTINGS || ARCHIVE) {\r\n // Project settings or archive project\r\n this.setState({ engagementName, isEditing: false });\r\n this.getEngagementInfo(engagementId);\r\n }\r\n }\r\n\r\n componentDidUpdate(prevProps, prevState) {\r\n const { checkValid, clientInfo, checkClientValid, setEngagementInfo } = this.props;\r\n const { isValid, engagementName } = this.state;\r\n\r\n if ((clientInfo == null && engagementName != null) || prevProps.clientInfo?.clientId != clientInfo?.clientId) {\r\n this.setState({ selectedId: '' });\r\n this.setState({ engagementName: null });\r\n setEngagementInfo(null);\r\n checkValid(false);\r\n }\r\n\r\n if (prevState.isValid !== isValid) {\r\n checkValid(isValid);\r\n checkClientValid(isValid);\r\n }\r\n }\r\n\r\n // Fetch the MAT engagement info\r\n getEngagementInfo = value => {\r\n const { setEngagementId } = this.props;\r\n\r\n if (!value) {\r\n this.setState({ isValid: true });\r\n }\r\n\r\n return getEngagementDetails(value).then(res => {\r\n setEngagementId(value);\r\n this.setState({\r\n isDropdownOpen: false,\r\n isEditing: !(this.props.projectState.SETTINGS || this.props.projectState.ARCHIVE),\r\n isValid: true,\r\n searchResults: null,\r\n engagementName: res.data.engagementName,\r\n selectedId: value\r\n });\r\n return res;\r\n });\r\n };\r\n\r\n // Get MAT search results when user is typing\r\n getSearchResults = debounce(() => {\r\n const { intl, clientInfo } = this.props;\r\n const { engagementName } = this.state;\r\n\r\n if (engagementName.length <= 0 || (!clientInfo && !clientInfo.clientId)) {\r\n return;\r\n }\r\n\r\n return getEngagementSearchResults(engagementName, clientInfo.clientId).then(res => {\r\n if (res.data.length <= 0) {\r\n return this.setState({\r\n searchResults: null,\r\n isDropdownOpen: false,\r\n isValid: false,\r\n error: intl.formatMessage({ id: 'project-details.body.engagement-error' })\r\n });\r\n }\r\n return this.setState({ searchResults: res.data, isDropdownOpen: true, error: null });\r\n });\r\n }, 500);\r\n\r\n onMATClick = value => {\r\n const {\r\n projectState,\r\n setEngagementId,\r\n setEngagementInfo,\r\n updateProjectEngagement,\r\n clientInfo,\r\n checkValid\r\n } = this.props;\r\n value.clientId = clientInfo.clientId;\r\n value.clientName = clientInfo.clientName;\r\n value.engagementFiscalYearEnd = clientInfo.engagementFiscalYearEnd;\r\n setEngagementId(value.engagementId);\r\n\r\n this.setState({\r\n selectedId: value.engagementId,\r\n searchResults: null,\r\n engagementName: value.engagementName,\r\n isEditing: !(projectState.SETTINGS || projectState.ARCHIVE),\r\n isValid: true,\r\n isDropdownOpen: false\r\n });\r\n checkValid(true);\r\n setEngagementInfo(value);\r\n\r\n return projectState.SETTINGS ? updateProjectEngagement(value) : {};\r\n };\r\n\r\n onEditClick = () => {\r\n this.setState({ isEditing: true, autoFocus: true });\r\n };\r\n\r\n onBlur = () => {\r\n const { engagementName, isValid } = this.state;\r\n const {\r\n projectState: { SETTINGS },\r\n project\r\n } = this.props;\r\n // Save on click outside\r\n if (SETTINGS) {\r\n // If it's the same dont do anything\r\n if (engagementName && engagementName.length <= 0) {\r\n return this.setState({ engagementName: project.engagementName, isEditing: false });\r\n }\r\n if (isValid) {\r\n return this.setState({ isEditing: false });\r\n }\r\n }\r\n };\r\n\r\n onChange = engagementName => {\r\n const { onChange } = this.props;\r\n\r\n this.setState({ engagementName });\r\n onChange(engagementName);\r\n\r\n if (engagementName && engagementName.length <= 0) {\r\n this.clearData();\r\n }\r\n };\r\n\r\n onKeyDown = e => {\r\n if (e.keyCode === 8 || e.keyCode === 46) {\r\n this.clearData();\r\n }\r\n };\r\n\r\n clearData = () => {\r\n const { setEngagementInfo, setEngagementId } = this.props;\r\n\r\n setEngagementInfo(null);\r\n setEngagementId('');\r\n\r\n return this.setState({\r\n isValid: false,\r\n searchResults: null,\r\n projectInfo: null,\r\n isDropdownOpen: false,\r\n error: null\r\n });\r\n };\r\n\r\n render() {\r\n const { intl, allowEditing, clientInfo } = this.props;\r\n const { engagementName, error, isEditing, isDropdownOpen, searchResults, autoFocus } = this.state;\r\n\r\n return (\r\n
\r\n \r\n\r\n {isDropdownOpen && engagementName.length > 0 && searchResults ? (\r\n this.setState({ isDropdownOpen: false })}\r\n onMATClick={this.onMATClick}\r\n />\r\n ) : null}\r\n
\r\n );\r\n }\r\n}\r\n","import { FormattedMessage, FormattedDate } from 'react-intl';\r\nimport enhanceWithClickOutside from 'react-click-outside';\r\nimport PropTypes from 'prop-types';\r\nimport React, { Component } from 'react';\r\n\r\nimport { FixedTable, FixedHeader } from 'components/shared/fixed-table';\r\nimport { CLIENT_CATEGORIES } from 'components/project-creation/constants';\r\n\r\n/*\r\n * Highlighter\r\n * Used to determine which text matches the keyword so we can mark/highlight it\r\n */\r\nconst Highlighted = ({ text = '', highlight = '' }) => {\r\n if (!highlight.trim()) {\r\n return {text};\r\n }\r\n\r\n const escapeRegExp = (str = '') => str.replace(/([.?*+^$[\\]\\\\(){}|-])/g, '\\\\$1');\r\n const regex = new RegExp(`(${escapeRegExp(highlight.trim())})`, 'gi');\r\n const parts = String(text).split(regex);\r\n return (\r\n \r\n {parts\r\n .filter(part => part)\r\n .map((part, i) => (regex.test(part) ? {part} : {part}))}\r\n \r\n );\r\n};\r\n\r\nHighlighted.propTypes = {\r\n highlight: PropTypes.any,\r\n text: PropTypes.any\r\n};\r\n\r\n/*\r\n * Client Details Dropdown\r\n * The dropdown for handling user selection of client detailst\r\n */\r\nexport default enhanceWithClickOutside(\r\n class ClientDetailsDropdown extends Component {\r\n static propTypes = {\r\n data: PropTypes.oneOfType([PropTypes.array, PropTypes.object]),\r\n keyword: PropTypes.string,\r\n onClickOutside: PropTypes.func,\r\n onClientClick: PropTypes.func\r\n };\r\n\r\n handleClickOutside = () => {\r\n if (this.props.onClickOutside) {\r\n this.props.onClickOutside();\r\n }\r\n };\r\n\r\n render() {\r\n const { onClientClick, keyword, data } = this.props;\r\n\r\n return (\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n {CLIENT_CATEGORIES.map((category, i) => {\r\n return (\r\n \r\n \r\n \r\n );\r\n })}\r\n \r\n \r\n \r\n {data &&\r\n data.length > 0 &&\r\n data.map((v, i) => (\r\n onClientClick(v)}>\r\n \r\n \r\n \r\n \r\n \r\n ))}\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n );\r\n }\r\n }\r\n);\r\n","import { debounce } from 'underscore';\r\nimport { intlShape } from 'react-intl';\r\nimport PropTypes from 'prop-types';\r\nimport React, { Component } from 'react';\r\n\r\nimport { getClientSearchResults, getEngagementDetails } from 'store/api';\r\nimport ValidTextArea from 'components/project-creation/project-details/shared/valid-text-area';\r\nimport ClientDropdown from 'components/project-creation/project-details/shared/client-dropdown';\r\n\r\n/*\r\n * Project Client input field\r\n * Performs checks/validation\r\n */\r\nexport default class ClientInputField extends Component {\r\n static propTypes = {\r\n allowEditing: PropTypes.bool,\r\n checkValid: PropTypes.func,\r\n intl: intlShape,\r\n onChange: PropTypes.func,\r\n project: PropTypes.any,\r\n projectState: PropTypes.object,\r\n setClientId: PropTypes.func,\r\n setClientInfo: PropTypes.func,\r\n setEngagementInfo: PropTypes.func,\r\n setEngagementId: PropTypes.func\r\n };\r\n\r\n state = {\r\n clientName: '',\r\n error: null,\r\n isDropdownOpen: false,\r\n isEditing: true,\r\n isValid: false,\r\n projectInfo: null,\r\n searchResults: null,\r\n selectedId: null\r\n };\r\n\r\n componentDidMount() {\r\n const {\r\n project: { clientName, clientId, engagementId },\r\n projectState: { INPROGRESS, SETTINGS, ARCHIVE, COPY }\r\n } = this.props;\r\n\r\n if (INPROGRESS) {\r\n // Project creation in progress\r\n this.setState({ clientName });\r\n if(clientName){\r\n this.setState({isValid: true});\r\n }\r\n if(engagementId)\r\n this.getEngagementInfo(engagementId);\r\n } else if (COPY) {\r\n // Project copy workflow\r\n if (!engagementId) {\r\n this.setState({ isValid: false });\r\n } else {\r\n this.setState({ clientName });\r\n this.getEngagementInfo(engagementId);\r\n }\r\n } else if (SETTINGS || ARCHIVE) {\r\n this.setState({ clientName, isEditing: false });\r\n this.getEngagementInfo(engagementId);\r\n }\r\n }\r\n\r\n componentDidUpdate(prevProps, prevState) {\r\n const { checkValid } = this.props;\r\n const { isValid } = this.state;\r\n if (prevState.isValid !== isValid) {\r\n checkValid(isValid);\r\n }\r\n }\r\n\r\n // Fetch the MAT engagement info\r\n getEngagementInfo = value => {\r\n const { setEngagementId } = this.props;\r\n\r\n if (!value) {\r\n this.setState({ isValid: true });\r\n }\r\n\r\n return getEngagementDetails(value).then(res => {\r\n setEngagementId(value);\r\n this.setState({\r\n isDropdownOpen: false,\r\n isEditing: !(this.props.projectState.SETTINGS || this.props.projectState.ARCHIVE),\r\n isValid: true,\r\n searchResults: null,\r\n clientName: res.data.clientName,\r\n selectedId: res.data.clientId\r\n });\r\n return res;\r\n });\r\n };\r\n\r\n // Get Client search results when user is typing\r\n getSearchResults = debounce(() => {\r\n const { intl } = this.props;\r\n const { clientName } = this.state;\r\n\r\n if (clientName.length <= 0) {\r\n return;\r\n }\r\n\r\n return getClientSearchResults(clientName).then(res => {\r\n if (res.data.length <= 0) {\r\n return this.setState({\r\n searchResults: null,\r\n isDropdownOpen: false,\r\n isValid: false,\r\n error: intl.formatMessage({ id: 'project-details.body.client-error' })\r\n });\r\n }\r\n return this.setState({ searchResults: res.data, isDropdownOpen: true, error: null });\r\n });\r\n }, 500);\r\n\r\n onClientClick = value => {\r\n const { projectState, setClientId, setClientInfo } = this.props;\r\n\r\n setClientId(value.clientId);\r\n\r\n this.setState({\r\n selectedId: value.clientId,\r\n searchResults: null,\r\n clientName: value.clientName,\r\n isEditing: !(projectState.SETTINGS || projectState.ARCHIVE),\r\n isValid: true,\r\n isDropdownOpen: false\r\n });\r\n\r\n setClientInfo(value);\r\n\r\n return {};\r\n };\r\n\r\n onEditClick = () => {\r\n this.setState({ isEditing: true, autoFocus: true });\r\n };\r\n\r\n onBlur = () => {\r\n const { clientName, isValid } = this.state;\r\n const {\r\n projectState: { SETTINGS },\r\n project\r\n } = this.props;\r\n // Save on click outside\r\n if (SETTINGS) {\r\n // If it's the same dont do anything\r\n if (clientName && clientName.length <= 0) {\r\n return this.setState({ clientName: project.clientName, isEditing: false });\r\n }\r\n if (isValid) {\r\n return this.setState({ isEditing: false });\r\n }\r\n }\r\n };\r\n\r\n onChange = clientName => {\r\n const { onChange } = this.props;\r\n\r\n this.setState({ clientName });\r\n onChange(clientName);\r\n\r\n if (clientName && clientName.length <= 0) {\r\n this.clearData();\r\n }\r\n };\r\n\r\n onKeyDown = e => {\r\n if (e.keyCode === 8 || e.keyCode === 46) {\r\n this.clearData();\r\n }\r\n };\r\n\r\n clearData = () => {\r\n const { setClientInfo, setClientId, setEngagementInfo, setEngagementId } = this.props;\r\n\r\n setClientInfo(null);\r\n setClientId('');\r\n setEngagementInfo(null);\r\n setEngagementId('');\r\n\r\n return this.setState({\r\n isValid: false,\r\n searchResults: null,\r\n projectInfo: null,\r\n isDropdownOpen: false,\r\n error: null\r\n });\r\n };\r\n\r\n render() {\r\n const { intl, allowEditing } = this.props;\r\n const { clientName, error, isEditing, isDropdownOpen, searchResults, autoFocus } = this.state;\r\n\r\n return (\r\n
\r\n \r\n\r\n {isDropdownOpen && clientName.length > 0 && searchResults ? (\r\n this.setState({ isDropdownOpen: false })}\r\n onClientClick={this.onClientClick}\r\n />\r\n ) : null}\r\n
\r\n );\r\n }\r\n}\r\n","import PropTypes from 'prop-types';\r\nimport React, { Component } from 'react';\r\nimport { FormattedMessage } from 'react-intl';\r\nimport Button from 'components/shared/single-click-button';\r\nimport Icon from 'components/shared/icon';\r\nimport EngagementDetails from 'components/project-creation/project-details/shared/engagement-details';\r\nimport NameInputField from 'components/project-creation/project-details/shared/name-input-field';\r\nimport MATInputField from 'components/project-creation/project-details/shared/mat-input-field';\r\nimport ClientInputField from 'components/project-creation/project-details/shared/client-input-field';\r\nimport enhanceWithClickOutside from 'react-click-outside';\r\n\r\nimport constants from 'utils/constants';\r\nconst { DateFormats } = constants;\r\n\r\nclass DateFormatTooltip extends Component {\r\n static propTypes = {\r\n showInnerTooltip: PropTypes.bool,\r\n closeInnerPopup: PropTypes.func\r\n };\r\n\r\n closeInnerPopup = () => {\r\n this.props.closeInnerPopup();\r\n };\r\n\r\n handleClickOutside = () => {\r\n this.closeInnerPopup();\r\n };\r\n\r\n render() {\r\n const { showInnerTooltip } = this.props;\r\n\r\n return showInnerTooltip ? (\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n ) : null;\r\n }\r\n}\r\nconst InnerTooltip = enhanceWithClickOutside(DateFormatTooltip);\r\n\r\nclass MatSearchForm extends Component {\r\n static propTypes = {\r\n allowEditing: PropTypes.bool,\r\n\r\n engagementInfo: PropTypes.any,\r\n intl: PropTypes.any,\r\n project: PropTypes.any,\r\n projectState: PropTypes.any,\r\n countryName: PropTypes.string,\r\n\r\n onEngagementNameChange: PropTypes.func,\r\n onClientNameChange: PropTypes.func,\r\n onProjectNameChange: PropTypes.func,\r\n\r\n setEngagementId: PropTypes.func,\r\n setEngagementInfo: PropTypes.func,\r\n setEngagementValidation: PropTypes.func,\r\n setClientId: PropTypes.func,\r\n setClientInfo: PropTypes.func,\r\n setClientValidation: PropTypes.func,\r\n\r\n setNameResolved: PropTypes.func,\r\n setNameValidation: PropTypes.func,\r\n\r\n updateProjectEngagement: PropTypes.func,\r\n updateProjectName: PropTypes.func,\r\n customHeader: PropTypes.node,\r\n onDateFormatChange: PropTypes.func,\r\n setWBSCodeResolved: PropTypes.func\r\n };\r\n state = {\r\n selectedDateFormat: 'MM/dd/yyyy'\r\n };\r\n\r\n componentDidMount = () => {\r\n this.props.setWBSCodeResolved(true);\r\n };\r\n closeInnerPopup = () => {\r\n this.setState({ showInnertoolTip: false });\r\n };\r\n showInnertoolTip = () => {\r\n this.setState({ showInnertoolTip: true });\r\n };\r\n\r\n componentWillUnmount() {\r\n this.setState({ showInnertoolTip: false });\r\n }\r\n\r\n render = () => {\r\n const {\r\n allowEditing,\r\n countryName,\r\n engagementInfo,\r\n intl,\r\n project,\r\n projectState,\r\n onEngagementNameChange,\r\n onClientNameChange,\r\n onProjectNameChange,\r\n setEngagementId,\r\n setClientId,\r\n setEngagementInfo,\r\n setClientInfo,\r\n setEngagementValidation,\r\n setClientValidation,\r\n setNameResolved,\r\n setNameValidation,\r\n updateProjectEngagement,\r\n updateProjectName,\r\n customHeader,\r\n clientInfo,\r\n selectedProjectDateFormat,\r\n onDateFormatChange\r\n } = this.props;\r\n let { showInnertoolTip } = this.state;\r\n const selectedDateFormat = localStorage.getItem('userSelectedDateFormat');\r\n \r\n return (\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n {customHeader}\r\n
\r\n\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n {countryName}\r\n
\r\n
\r\n\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n\r\n {engagementInfo && (project.projectTypeId !== constants.ProjectTypes.WORKSPACE_PROJECT) && (\r\n
\r\n \r\n
\r\n )}\r\n
\r\n );\r\n };\r\n}\r\n\r\nexport default MatSearchForm;\r\n","import PropTypes from 'prop-types';\r\nimport React, { Component } from 'react';\r\nimport Dropdown from 'components/shared/form/dropdown';\r\nimport moment from 'moment';\r\n\r\nclass YearPicker extends Component {\r\n static propTypes = {\r\n min: PropTypes.number,\r\n max: PropTypes.number,\r\n disabled: PropTypes.bool,\r\n onChange: PropTypes.func,\r\n value: PropTypes.any\r\n };\r\n\r\n onChange = year => {\r\n const { onChange, value } = this.props;\r\n\r\n if (year === '-') return onChange(null);\r\n\r\n var currentMoment = value ? moment(value) : moment();\r\n\r\n return onChange(currentMoment.year(year).format('YYYY-MM-DDT00:00:01'));\r\n };\r\n\r\n render() {\r\n const { min = moment().year() - 2, max = moment().year() + 2, value } = this.props;\r\n\r\n var currentMoment = value ? moment(value) : moment();\r\n var currentYear = currentMoment.year();\r\n\r\n var years = ['-'].concat(\r\n Array(max - min + 1)\r\n .fill(0)\r\n .map((e, i) => i + min)\r\n );\r\n\r\n return (\r\n option}\r\n selectedOption={value ? currentYear : '-'}\r\n onSelection={this.onChange}\r\n />\r\n );\r\n }\r\n}\r\n\r\nexport default YearPicker;\r\n","import PropTypes from 'prop-types';\r\nimport React, { Component } from 'react';\r\nimport { injectIntl, intlShape } from 'react-intl';\r\nimport Dropdown from 'components/shared/form/dropdown';\r\nimport moment from 'moment';\r\n\r\nclass MonthDayPicker extends Component {\r\n static propTypes = {\r\n disabled: PropTypes.bool,\r\n intl: intlShape.isRequired,\r\n onChange: PropTypes.func,\r\n value: PropTypes.any\r\n };\r\n\r\n state = {\r\n translatedList: moment.months().reduce(\r\n (acc, cur) => {\r\n acc.push(this.props.intl.formatMessage({ id: `fiscal-year-End.months_${cur}` }));\r\n return acc;\r\n },\r\n ['-']\r\n )\r\n };\r\n\r\n setMonth = month => {\r\n const { onChange, value } = this.props;\r\n const { translatedList } = this.state;\r\n\r\n if (month === '-') return onChange(null);\r\n\r\n var currentMoment = value ? moment(value) : moment();\r\n let monthIndex = translatedList.indexOf(month);\r\n return onChange(currentMoment.month(monthIndex - 1).format('YYYY-MM-DDT00:00:01'));\r\n };\r\n\r\n setDay = day => {\r\n const { onChange, value } = this.props;\r\n\r\n if (day === '-') return onChange(null);\r\n\r\n var currentMoment = value ? moment(value) : moment();\r\n\r\n return onChange(currentMoment.date(day).format('YYYY-MM-DDT00:00:01'));\r\n };\r\n\r\n render() {\r\n const { value } = this.props;\r\n const { translatedList } = this.state;\r\n\r\n const currentMoment = value ? moment(value) : moment();\r\n const currentMonth = currentMoment.month();\r\n const currentDay = currentMoment.date();\r\n const selectedMonth = translatedList[currentMonth + 1];\r\n\r\n const days = ['-'].concat(\r\n Array(currentMoment.daysInMonth())\r\n .fill(0)\r\n .map((e, i) => i + 1)\r\n );\r\n\r\n return (\r\n \r\n option}\r\n selectedOption={value ? selectedMonth : '-'}\r\n onSelection={this.setMonth}\r\n />\r\n option}\r\n selectedOption={value && days.includes(currentDay) ? currentDay : value ? 1 : '-'}\r\n onSelection={this.setDay}\r\n />\r\n \r\n );\r\n }\r\n}\r\n\r\nexport default injectIntl(MonthDayPicker);\r\n","import PropTypes from 'prop-types';\r\nimport React, { Component } from 'react';\r\nimport classNames from 'classnames';\r\nimport { FormattedMessage, FormattedDate } from 'react-intl';\r\nimport Icon from 'components/shared/icon';\r\nimport Button from 'components/shared/single-click-button';\r\nimport YearPicker from 'components/shared/form/year-picker';\r\nimport MonthDayPicker from 'components/shared/form/month-day-picker';\r\n\r\nclass LockedInputField extends Component {\r\n static propTypes = {\r\n value: PropTypes.any,\r\n onBlur: PropTypes.func,\r\n onChange: PropTypes.func,\r\n readOnly: PropTypes.bool,\r\n showLock: PropTypes.bool,\r\n type: PropTypes.string,\r\n id: PropTypes.string.isRequired,\r\n error: PropTypes.string,\r\n isAsteriskRequired: PropTypes.bool\r\n };\r\n\r\n state = {\r\n unlocked: false\r\n };\r\n\r\n onBlur = () => {\r\n const { id, error } = this.props;\r\n if (id == 'wbsCode' && error) this.setState({ unlocked: true });\r\n else {\r\n this.setState({ unlocked: false });\r\n this.props.onBlur();\r\n }\r\n };\r\n\r\n onChange = newValue => {\r\n this.props.onChange(newValue);\r\n };\r\n\r\n onNumberChange = newValue => {\r\n const { onChange } = this.props;\r\n const regex = /^[0-9]*$/;\r\n\r\n if (newValue === '' || regex.test(newValue)) {\r\n onChange(newValue);\r\n }\r\n };\r\n\r\n render = () => {\r\n const { id, onChange, readOnly, showLock, value, type, error, isAsteriskRequired } = this.props;\r\n\r\n const { unlocked } = this.state;\r\n\r\n const displayValue =\r\n value && type && type === 'year' ? (\r\n \r\n ) : value && type && type === 'month-day' ? (\r\n \r\n ) : value !== null ? (\r\n value\r\n ) : (\r\n ''\r\n );\r\n\r\n return (\r\n
\r\n \r\n \r\n {isAsteriskRequired && *}\r\n \r\n {readOnly ? (\r\n
{displayValue}
\r\n ) : showLock && !unlocked ? (\r\n
\r\n {displayValue}\r\n this.setState({ unlocked: true })}\r\n >\r\n \r\n \r\n
\r\n ) : type && type === 'year' ? (\r\n
\r\n {\r\n onChange(value);\r\n setTimeout(() => this.onBlur(), 500);\r\n }}\r\n />\r\n
\r\n ) : type && type === 'month-day' ? (\r\n
\r\n {\r\n onChange(value);\r\n setTimeout(() => this.onBlur(), 500);\r\n }}\r\n />\r\n
\r\n ) : type && type === 'number' ? (\r\n this.onNumberChange(event.target.value)}\r\n onBlur={this.onBlur}\r\n value={value !== null ? value : ''}\r\n />\r\n ) : (\r\n
\r\n this.onChange(event.target.value)}\r\n onBlur={this.onBlur}\r\n defaultValue={value !== null ? value : ''}\r\n />\r\n {id == 'wbsCode' && error && {error}}\r\n
\r\n )}\r\n
\r\n );\r\n };\r\n}\r\n\r\nexport default LockedInputField;\r\n","import PropTypes from 'prop-types';\r\nimport React, { Component } from 'react';\r\nimport { FormattedMessage } from 'react-intl';\r\nimport Button from 'components/shared/single-click-button';\r\nimport Icon from 'components/shared/icon';\r\nimport NameInputField from 'components/project-creation/project-details/shared/name-input-field';\r\nimport LockedInputField from 'components/project-creation/project-details/project-details-form/locked-input-field';\r\nimport enhanceWithClickOutside from 'react-click-outside';\r\nimport constants from 'utils/constants';\r\nconst { DateFormats } = constants;\r\n\r\nclass DateFormatTooltip extends Component {\r\n static propTypes = {\r\n showInnerTooltip: PropTypes.bool,\r\n closeInnerPopup: PropTypes.func\r\n };\r\n\r\n closeInnerPopup = () => {\r\n this.props.closeInnerPopup();\r\n };\r\n\r\n handleClickOutside = () => {\r\n this.closeInnerPopup();\r\n };\r\n\r\n render() {\r\n const { showInnerTooltip } = this.props;\r\n\r\n return showInnerTooltip ? (\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n ) : null;\r\n }\r\n}\r\nconst InnerTooltip = enhanceWithClickOutside(DateFormatTooltip);\r\n\r\nclass ProjectDetailsForm extends Component {\r\n static propTypes = {\r\n allowEditing: PropTypes.bool,\r\n engagementInfo: PropTypes.any,\r\n intl: PropTypes.any,\r\n project: PropTypes.any,\r\n projectState: PropTypes.any,\r\n countryName: PropTypes.string,\r\n\r\n onEngagementNameChange: PropTypes.func,\r\n onProjectNameChange: PropTypes.func,\r\n\r\n setEngagementId: PropTypes.func,\r\n setEngagementInfo: PropTypes.func,\r\n setEngagementValidation: PropTypes.func,\r\n\r\n setNameResolved: PropTypes.func,\r\n setNameValidation: PropTypes.func,\r\n\r\n updateProjectEngagement: PropTypes.func,\r\n updateProjectName: PropTypes.func,\r\n customHeader: PropTypes.node,\r\n setClientValidation: PropTypes.func,\r\n onDateFormatChange: PropTypes.func,\r\n setWBSCodeResolved: PropTypes.any\r\n };\r\n\r\n state = {\r\n engagementInfo: {\r\n engagementName: '',\r\n externalEngagementId: '',\r\n clientName: '',\r\n clientId: '',\r\n engagementFiscalYearEnd: '',\r\n selectedDateFormat: 'MM/dd/yyyy',\r\n wbsCode: ''\r\n },\r\n error: '',\r\n previousWBSCode: ''\r\n };\r\n closeInnerPopup = () => {\r\n this.setState({ showInnertoolTip: false });\r\n };\r\n showInnertoolTip = () => {\r\n this.setState({ showInnertoolTip: true });\r\n };\r\n\r\n componentDidMount() {\r\n const { engagementInfo, setEngagementInfo } = this.props;\r\n this.validateEngagementInfo(engagementInfo);\r\n\r\n if (engagementInfo) {\r\n this.setState({ engagementInfo, previousWBSCode: engagementInfo.wbsCode });\r\n if (engagementInfo.wbsCode && engagementInfo.wbsCode.length > 0) this.props.setWBSCodeResolved(true);\r\n } else {\r\n setEngagementInfo(this.state.engagementInfo, true);\r\n }\r\n }\r\n\r\n componentWillUnmount() {\r\n this.setState({ showInnertoolTip: false });\r\n }\r\n\r\n onInput = (field, value) => {\r\n var { engagementInfo, error } = this.state;\r\n const { setEngagementInfo } = this.props;\r\n if (field != 'wbsCode' || (field == 'wbsCode' && (error == undefined || error == ''))) {\r\n engagementInfo[field] = value;\r\n this.setState({ engagementInfo });\r\n }\r\n\r\n if (field == 'wbsCode' && value && value.length > 0) {\r\n if (value.length > 20) {\r\n this.props.setWBSCodeResolved(false);\r\n this.setState({ error: this.props.intl.formatMessage({ id: 'engagement-details.body.wbsCode-error' }) });\r\n } else {\r\n this.props.setWBSCodeResolved(true);\r\n this.setState({ error: '' });\r\n }\r\n } else if (field == 'wbsCode') this.props.setWBSCodeResolved(false);\r\n\r\n setEngagementInfo(engagementInfo, true);\r\n this.validateEngagementInfo(engagementInfo);\r\n };\r\n\r\n onBlur = () => {\r\n const { SETTINGS } = this.props.projectState;\r\n const { engagementInfo, error, previousWBSCode } = this.state;\r\n\r\n if (error) {\r\n engagementInfo.wbsCode = previousWBSCode;\r\n this.setState({ engagementInfo });\r\n } else {\r\n this.setState({ previousWBSCode: engagementInfo.wbsCode });\r\n }\r\n\r\n if (SETTINGS) {\r\n this.props.updateProjectEngagement();\r\n }\r\n };\r\n\r\n validateEngagementInfo(engagementInfo) {\r\n // Nothing is required!\r\n this.props.setClientValidation(true);\r\n return this.props.setEngagementValidation(true);\r\n }\r\n\r\n render = () => {\r\n const {\r\n allowEditing,\r\n countryName,\r\n engagementInfo,\r\n intl,\r\n project,\r\n projectState,\r\n onProjectNameChange,\r\n setNameResolved,\r\n setNameValidation,\r\n updateProjectName,\r\n customHeader,\r\n selectedProjectDateFormat,\r\n onDateFormatChange\r\n } = this.props;\r\n let { showInnertoolTip, error } = this.state;\r\n const { SETTINGS } = projectState;\r\n const selectedDateFormat = localStorage.getItem('userSelectedDateFormat');\r\n const dateFormat =\r\n project.projectId == null\r\n ? ''\r\n : selectedProjectDateFormat != null\r\n ? selectedProjectDateFormat\r\n : selectedDateFormat;\r\n const formats = DateFormats;\r\n\r\n return (\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n {customHeader}\r\n
\r\n
\r\n
\r\n \r\n\r\n
\r\n \r\n \r\n \r\n
\r\n {countryName}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n this.onBlur()}\r\n onChange={value => this.onInput('engagementName', value)}\r\n readOnly={!allowEditing}\r\n showLock={SETTINGS}\r\n />\r\n\r\n this.onBlur()}\r\n onChange={value => this.onInput('externalEngagementId', value)}\r\n readOnly={!allowEditing}\r\n showLock={SETTINGS}\r\n />\r\n\r\n this.onBlur()}\r\n onChange={value => this.onInput('clientId', value)}\r\n readOnly={!allowEditing}\r\n showLock={SETTINGS}\r\n type={'number'}\r\n />\r\n\r\n this.onBlur()}\r\n onChange={value => this.onInput('wbsCode', value)}\r\n readOnly={!allowEditing}\r\n showLock={SETTINGS}\r\n error={error}\r\n isAsteriskRequired=\"true\"\r\n />\r\n
\r\n\r\n
\r\n this.onBlur()}\r\n onChange={value => this.onInput('clientName', value)}\r\n readOnly={!allowEditing}\r\n showLock={SETTINGS}\r\n />\r\n\r\n this.onBlur()}\r\n onChange={value => this.onInput('engagementFiscalYearEnd', value)}\r\n readOnly={!allowEditing}\r\n showLock={SETTINGS}\r\n type={'year'}\r\n />\r\n\r\n this.onBlur()}\r\n onChange={value => this.onInput('engagementFiscalYearEnd', value)}\r\n readOnly={!allowEditing}\r\n showLock={SETTINGS}\r\n type={'month-day'}\r\n />\r\n
\r\n
\r\n
\r\n
\r\n );\r\n };\r\n}\r\n\r\nexport default ProjectDetailsForm;\r\n","import PropTypes from 'prop-types';\r\nimport React, { Component } from 'react';\r\nimport { injectIntl, intlShape } from 'react-intl';\r\nimport { Redirect } from 'react-router';\r\nimport Constants from 'utils/constants';\r\n\r\nimport Container from 'components/project-creation/shared/container';\r\nimport Icon from 'components/shared/icon';\r\nimport Permissions from 'permissions/permissions';\r\nimport PPMDApproval from 'components/project-creation/shared/ppmd-approval';\r\n\r\nimport MatSearchForm from 'components/project-creation/project-details/mat-search-form/mat-search-form';\r\nimport ProjectDetailsForm from 'components/project-creation/project-details/project-details-form/project-details-form';\r\nimport * as api from 'store/api';\r\nimport { getEngagementDetails, getCurrentAPI, getProject } from 'store/api';\r\nimport constants from 'utils/constants';\r\n/*\r\n * Project Details component\r\n * Allows user to edit the project name and select a MAT engagement\r\n */\r\nclass ProjectDetails extends Component {\r\n static propTypes = {\r\n createProjectTrack: PropTypes.func,\r\n history: PropTypes.object,\r\n intl: intlShape.isRequired,\r\n onChangeStep: PropTypes.func,\r\n project: PropTypes.any,\r\n projectId: PropTypes.any,\r\n projectState: PropTypes.object,\r\n step: PropTypes.number,\r\n steps: PropTypes.array,\r\n updateEngagementManually: PropTypes.func,\r\n updateClientManually: PropTypes.func,\r\n updateProjectEngagement: PropTypes.func,\r\n updateProjectName: PropTypes.func,\r\n user: PropTypes.object,\r\n updateProjectEngagementManually: PropTypes.func,\r\n updateProjectData: PropTypes.func,\r\n projectData: PropTypes.object\r\n };\r\n\r\n state = {\r\n projectName:\r\n this.props.location.state?.projectTypeId == Constants.ProjectTypes.WORKSPACE_PROJECT\r\n ? constants.MyWorkspace\r\n : !this.props.projectId\r\n ? this.props.projectData?.projectName\r\n : this.props.project.projectName,\r\n engagementId: '',\r\n engagementName: '',\r\n clientId: '',\r\n clientName: '',\r\n countryCode: '',\r\n countryName: '',\r\n isLoading: true,\r\n isLoadingDate: false,\r\n isValid: false,\r\n isNameValid: null,\r\n isNameChanged: false,\r\n isNameResolved: false,\r\n isWBSResolved: false,\r\n isMatChanged: false,\r\n isDateFormatChanged: false,\r\n engagementInfo: null,\r\n isEngagementInfoChanged: false,\r\n isClientChanged: false,\r\n clientInfo: null,\r\n isClientInfoChanged: false,\r\n selectedProjectDateFormat: null,\r\n selectedDateFormat: 'MM/dd/yyyy',\r\n projectTypeId:\r\n this.props.location.state && this.props.location.state.projectTypeId\r\n ? this.props.location.state.projectTypeId\r\n : Constants.ProjectTypes.EXTRACTION_PROJECT,\r\n allowAccess: !this.props.projectData?.allowAccess ? false : this.props.projectData.allowAccess\r\n };\r\n\r\n componentDidMount() {\r\n const {\r\n project: { engagementId },\r\n projectId,\r\n projectData,\r\n projectState: { SETTINGS, INPROGRESS, COPY, ARCHIVE }\r\n } = this.props;\r\n\r\n this.setCountryInfo();\r\n if ((!projectId || typeof projectId == 'undefined') && projectData != null) {\r\n this.setState({\r\n isLoading: false,\r\n projectName: projectData?.projectName,\r\n clientInfo: projectData?.clientName,\r\n engagementInfo: {\r\n clientId: projectData?.clientId,\r\n engagementId: projectData?.engagementId,\r\n externalEngagementId: projectData?.externalEngagementId,\r\n engagementName: projectData?.engagementName,\r\n clientName: projectData?.clientName,\r\n fiscalYearEnd: projectData?.fiscalYearEnd,\r\n engagementFiscalYearEnd: projectData?.fiscalYearEnd,\r\n sourceType: projectData?.sourceType,\r\n wbsCode: projectData?.wbsCode\r\n }\r\n });\r\n } else if (engagementId && (SETTINGS || INPROGRESS || ARCHIVE || COPY)) {\r\n return this.getEngagementDetails(engagementId);\r\n } else {\r\n this.setState({ isLoading: false });\r\n }\r\n }\r\n\r\n UNSAFE_componentWillMount() {\r\n const {\r\n project,\r\n projectState: { SETTINGS, INPROGRESS, COPY, ARCHIVE }\r\n } = this.props;\r\n\r\n if (project.projectId && (SETTINGS || INPROGRESS || ARCHIVE)) {\r\n const projectId = project.projectId;\r\n this.setState({ isLoadingDate: true });\r\n getProject({ projectId }).then(res => {\r\n localStorage.setItem('userSelectedDateFormat', res.data.dateFormatPreference);\r\n this.setState({ selectedProjectDateFormat: res.data.dateFormatPreference, isLoadingDate: false });\r\n });\r\n }\r\n }\r\n\r\n doesProjectSupportMATSearch = () => {\r\n const { project } = this.props;\r\n\r\n if (project && project.sourceType) {\r\n return (\r\n project.sourceType === Constants.ProjectSourceTypes.MAT ||\r\n project.sourceType === Constants.ProjectSourceTypes.MATCloud\r\n );\r\n }\r\n\r\n var currentAPI = getCurrentAPI();\r\n\r\n if (!currentAPI || currentAPI === null) return false;\r\n\r\n var { memberFirmCode, containerCode } = currentAPI;\r\n var { user } = this.props;\r\n\r\n var memberFirmContainer = user.memberFirmContainers.filter(\r\n container => container.containerCode === containerCode && container.memberFirmCode === memberFirmCode\r\n );\r\n\r\n memberFirmContainer = memberFirmContainer[0];\r\n\r\n return memberFirmContainer && !memberFirmContainer.isUserEnteredEngagementSupported;\r\n };\r\n\r\n setCountryInfo = () => {\r\n const region = getCurrentAPI();\r\n const { memberFirmContainers } = this.props.user;\r\n const { memberFirmCode, containerCode, countryCode } = region;\r\n\r\n if (countryCode) {\r\n memberFirmContainers.forEach(mfc => {\r\n if (mfc.countryCode === countryCode && mfc.containerCode == containerCode) {\r\n this.setState({ countryCode: mfc.countryCode, countryName: mfc.countryName });\r\n }\r\n });\r\n } else {\r\n //If no country code is specified, get first matching country name for region code combo\r\n memberFirmContainers.forEach(mfc => {\r\n if (mfc.memberFirmCode === memberFirmCode && mfc.containerCode === containerCode) {\r\n this.setState({ countryCode: mfc.countryCode, countryName: mfc.countryName });\r\n }\r\n });\r\n }\r\n };\r\n\r\n // Fetch the MAT engagement details\r\n getEngagementDetails = engagementId => {\r\n this.setState({ isLoading: true });\r\n return getEngagementDetails(engagementId).then(res => {\r\n return this.setState({ engagementInfo: res.data, isLoading: false, clientInfo: res.data });\r\n });\r\n };\r\n onDateFormatChange = e => {\r\n this.setState({ selectedDateFormat: e });\r\n this.setState({ isDateFormatChanged: true });\r\n };\r\n updateProjectDateFormatSelection(projectId, selectedDateFormat) {\r\n this.setState({ isDateFormatChanged: true });\r\n localStorage.setItem('userSelectedDateFormat', selectedDateFormat);\r\n api\r\n .updateProjectDatePreference(projectId, selectedDateFormat)\r\n .then(res => {})\r\n .catch(() => {});\r\n }\r\n // Update project name\r\n updateProjectName = () => {\r\n const {\r\n project: { projectId },\r\n updateProjectName\r\n } = this.props;\r\n\r\n const { projectName } = this.state;\r\n return updateProjectName({\r\n projectId,\r\n projectName\r\n });\r\n };\r\n\r\n // Update MAT engagement\r\n updateProjectEngagement = value => {\r\n const { project, updateProjectEngagement, updateProjectEngagementManually } = this.props;\r\n const { engagementName, engagementInfo, countryCode } = this.state;\r\n\r\n if (value && value?.sourceType === Constants.ProjectSourceTypes.MATCloud && value?.engagementId == 0)\r\n return updateProjectEngagementManually({\r\n projectId: project.projectId,\r\n projectName: project.projectName,\r\n engagementName: value.engagementName,\r\n externalEngagementId: value.externalEngagementId,\r\n clientName: value.clientName,\r\n clientId: value.clientId,\r\n fiscalYearEnd: value.engagementFiscalYearEnd,\r\n countryCode,\r\n sourceType: value.sourceType\r\n });\r\n else if (value && value.wbsCode) {\r\n return updateProjectEngagementManually({\r\n projectId: project.projectId,\r\n projectName: project.projectName,\r\n engagementName: value.engagementName,\r\n externalEngagementId: value.externalEngagementId,\r\n clientName: value.clientName,\r\n clientId: value.clientId,\r\n fiscalYearEnd: value.engagementFiscalYearEnd,\r\n countryCode,\r\n sourceType: null,\r\n wbsCode: value.wbsCode\r\n });\r\n } else\r\n return updateProjectEngagement({\r\n projectId: project.projectId,\r\n engagementId: value.engagementId,\r\n engagementName: engagementName\r\n });\r\n };\r\n\r\n updateProjectEngagementManually = () => {\r\n const { project, updateEngagementManually } = this.props;\r\n const { engagementInfo, isEngagementInfoChanged } = this.state;\r\n\r\n const canSearchMAT = this.doesProjectSupportMATSearch();\r\n\r\n if (!canSearchMAT && isEngagementInfoChanged && engagementInfo.wbsCode) {\r\n updateEngagementManually({\r\n projectId: project.projectId,\r\n engagementId: project.engagementId,\r\n engagementName: engagementInfo.engagementName,\r\n externalEngagementId: engagementInfo.externalEngagementId,\r\n clientName: engagementInfo.clientName,\r\n clientId: engagementInfo.clientId,\r\n fiscalYearEnd: engagementInfo.engagementFiscalYearEnd,\r\n wbsCode: engagementInfo.wbsCode\r\n }).then(res => {\r\n getEngagementDetails(project.engagementId).then(res => {\r\n this.setState({ engagementInfo: res.data });\r\n });\r\n });\r\n }\r\n };\r\n\r\n // Create a new project\r\n createNewProject = () => {\r\n const { createProjectTrack, updateProjectData } = this.props;\r\n const { projectName, engagementInfo, countryCode, isDateFormatChanged, projectTypeId, allowAccess } = this.state;\r\n const canSearchMAT = this.doesProjectSupportMATSearch();\r\n const {\r\n externalEngagementId,\r\n engagementName,\r\n clientName,\r\n clientId,\r\n engagementFiscalYearEnd,\r\n sourceType,\r\n wbsCode,\r\n engagementId\r\n } = engagementInfo;\r\n if (projectName && engagementId && canSearchMAT) {\r\n const projectData = {\r\n projectName,\r\n countryCode,\r\n externalEngagementId,\r\n projectTypeId,\r\n engagementName,\r\n clientName,\r\n clientId,\r\n fiscalYearEnd: engagementFiscalYearEnd,\r\n wbsCode,\r\n sourceType: sourceType,\r\n engagementId,\r\n engagementFiscalYearEnd,\r\n allowAccess\r\n };\r\n this.setState({\r\n projectData\r\n });\r\n updateProjectData(projectData);\r\n }\r\n else if (engagementInfo && (!canSearchMAT || engagementInfo.sourceType === Constants.ProjectSourceTypes.MATCloud)) {\r\n if (engagementInfo.sourceType === Constants.ProjectSourceTypes.MATCloud) {\r\n const projectData = {\r\n projectName,\r\n countryCode,\r\n engagementName,\r\n externalEngagementId,\r\n clientName,\r\n clientId,\r\n fiscalYearEnd: engagementFiscalYearEnd,\r\n wbsCode: null,\r\n sourceType,\r\n projectTypeId,\r\n engagementFiscalYearEnd,\r\n engagementId,\r\n allowAccess\r\n };\r\n this.setState({\r\n projectData\r\n });\r\n updateProjectData(projectData);\r\n } else {\r\n const projectData = {\r\n projectName,\r\n countryCode,\r\n engagementName,\r\n externalEngagementId,\r\n clientName,\r\n clientId,\r\n fiscalYearEnd: engagementFiscalYearEnd,\r\n wbsCode,\r\n sourceType: null,\r\n projectTypeId,\r\n engagementFiscalYearEnd,\r\n engagementId,\r\n allowAccess\r\n };\r\n this.setState({\r\n projectData\r\n });\r\n updateProjectData(projectData);\r\n }\r\n }\r\n };\r\n\r\n // Update an existing project\r\n updateProject = () => {\r\n const { onChangeStep, step, project, updateEngagementManually, projectId } = this.props;\r\n const {\r\n isNameChanged,\r\n engagementId,\r\n engagementInfo,\r\n isEngagementInfoChanged,\r\n isDateFormatChanged,\r\n selectedDateFormat\r\n } = this.state;\r\n const canSearchMAT = this.doesProjectSupportMATSearch();\r\n const promises = [];\r\n\r\n if (isNameChanged) {\r\n promises.push(this.updateProjectName());\r\n }\r\n\r\n if (\r\n canSearchMAT &&\r\n (engagementId || engagementInfo?.sourceType === Constants.ProjectSourceTypes.MATCloud) &&\r\n engagementId !== project.engagementId\r\n ) {\r\n promises.push(this.updateProjectEngagement(engagementInfo));\r\n }\r\n\r\n if (!canSearchMAT && isEngagementInfoChanged) {\r\n if (engagementId && engagementId != 0) {\r\n promises.push(\r\n updateEngagementManually({\r\n projectId: project.projectId,\r\n engagementId: project.engagementId,\r\n engagementName: engagementInfo.engagementName,\r\n externalEngagementId: engagementInfo.externalEngagementId,\r\n clientName: engagementInfo.clientName,\r\n clientId: engagementInfo.clientId,\r\n fiscalYearEnd: engagementInfo.engagementFiscalYearEnd,\r\n wbsCode: engagementInfo.wbsCode\r\n })\r\n );\r\n } else promises.push(this.updateProjectEngagement(engagementInfo));\r\n }\r\n\r\n if (isDateFormatChanged) {\r\n promises.push(this.updateProjectDateFormatSelection(projectId, selectedDateFormat));\r\n }\r\n\r\n return Promise.all(promises).then(() => {\r\n onChangeStep(step + 1);\r\n });\r\n };\r\n\r\n // Handle clicking the next button\r\n onNext = () => {\r\n const { isEngagementValid, isNameValid, isClientValid } = this.state;\r\n const { projectId } = this.props;\r\n\r\n // If there are pending promises then we have to catch it here to make sure user doesnt create an invalid project\r\n if (!isEngagementValid || !isNameValid || !isClientValid) {\r\n return;\r\n }\r\n\r\n this.setState({ isEngagementValid: false, isNameValid: false, isClientValid: false });\r\n\r\n if (!projectId) {\r\n // If there is no projectId it means we are creating a new project\r\n return this.createNewProject();\r\n } else {\r\n // Otherwise update the existing project\r\n this.updateProject();\r\n }\r\n };\r\n\r\n // Update the engagement id\r\n setEngagementId = engagementId => this.setState({ engagementId });\r\n\r\n // Update the client id\r\n setClientId = clientId => this.setState({ clientId });\r\n\r\n // Set the engagement info after its fetched\r\n setEngagementInfo = (engagementInfo, manual) => this.setState({ engagementInfo, isEngagementInfoChanged: manual });\r\n\r\n // Set the client info after its fetched\r\n setClientInfo = (clientInfo, manual) => this.setState({ clientInfo, isClientInfoChanged: manual });\r\n\r\n // Update the engagement name\r\n onEngagementNameChange = engagementName => this.setState({ engagementName });\r\n\r\n // Update the client name\r\n onClientNameChange = clientName => {\r\n this.setState({ clientName });\r\n };\r\n\r\n // Update the project name\r\n onProjectNameChange = projectName => this.setState({ projectName, isNameChanged: true });\r\n\r\n // Update validation for the engagement\r\n setEngagementValidation = isEngagementValid => this.setState({ isEngagementValid });\r\n\r\n // Update validation for the client\r\n setClientValidation = isClientValid => this.setState({ isClientValid });\r\n\r\n // Update validation for the project name\r\n setNameValidation = isNameValid => this.setState({ isNameValid });\r\n\r\n // Update whether ths name is resolved\r\n setNameResolved = isNameResolved => this.setState({ isNameResolved });\r\n\r\n // Update whether ths wbsCode is resolved\r\n setWBSCodeResolved = isWBSResolved => this.setState({ isWBSResolved });\r\n\r\n render() {\r\n const {\r\n engagementInfo,\r\n clientInfo,\r\n newProjectId,\r\n isEngagementValid,\r\n isClientValid,\r\n isNameValid,\r\n isLoading,\r\n isNameResolved,\r\n countryName,\r\n selectedProjectDateFormat,\r\n isLoadingDate,\r\n isWBSResolved\r\n } = this.state;\r\n const { step, steps, intl, onChangeStep, project, projectState, projectId, projectData } = this.props;\r\n\r\n const projectName = {\r\n projectName:\r\n projectState.SETTINGS ||\r\n projectState.COPY ||\r\n projectState.ARCHIVE ||\r\n project.projectTypeId === Constants.ProjectTypes.WORKSPACE_PROJECT\r\n ? project.projectName\r\n : intl.formatMessage({ id: 'project-details.heading' })\r\n };\r\n\r\n const allowEditing =\r\n (Permissions.Project.Settings.canEdit(project) && !Permissions.Project._States.isReadOnly(project)) ||\r\n (Permissions.Project.Settings.canEditAsAdmin(project) && !project.STATES.ReadOnly());\r\n\r\n if (\r\n this.props.location.state?.projectTypeId == Constants.ProjectTypes.WORKSPACE_PROJECT &&\r\n ((project != null && typeof project?.projectId !== 'undefined' && project?.projectId != null) ||\r\n projectData.projectName == null)\r\n ) {\r\n projectData.projectName = constants.MyWorkspace;\r\n projectData.projectTypeId = Constants.ProjectTypes.WORKSPACE_PROJECT;\r\n }\r\n\r\n const canSearchMAT = this.doesProjectSupportMATSearch();\r\n\r\n return (\r\n }\r\n customPrevButton={
}\r\n onCustomNext={this.onNext}\r\n disabled={!isClientValid || !isEngagementValid || !isNameValid || !isNameResolved || !isWBSResolved}\r\n project={projectName}\r\n step={step}\r\n steps={steps}\r\n onChangeStep={onChangeStep}\r\n projectState={projectState}\r\n disableBothButtons={projectState.SETTINGS || projectState.ARCHIVE ? true : false}\r\n >\r\n {isLoading || isLoadingDate ? (\r\n \r\n ) : canSearchMAT ? (\r\n }\r\n onDateFormatChange={e => this.onDateFormatChange(e)}\r\n setWBSCodeResolved={this.setWBSCodeResolved}\r\n />\r\n ) : (\r\n this.onDateFormatChange(e)}\r\n setWBSCodeResolved={this.setWBSCodeResolved}\r\n customHeader={}\r\n />\r\n )}\r\n \r\n );\r\n }\r\n}\r\n\r\nexport default injectIntl(ProjectDetails);\r\n","import { Button as MenuButton, Menu, MenuItem, Wrapper as MenuWrapper } from 'react-aria-menubutton';\r\nimport { FormattedMessage } from 'react-intl';\r\nimport PropTypes from 'prop-types';\r\nimport React, { Component } from 'react';\r\nimport Icon from 'components/shared/icon';\r\n\r\n//TODO: Cleanup these roles\r\nconst roles = [\r\n { ids: [4], key: 'read-only' },\r\n { ids: [5], key: 'contributor' },\r\n { ids: [6, 7, 8], key: 'owner' }\r\n];\r\n\r\n// Role dropdown selector\r\nexport default class RoleDropdown extends Component {\r\n static propTypes = {\r\n onRoleChange: PropTypes.func,\r\n role: PropTypes.object,\r\n visibleOptions: PropTypes.array\r\n };\r\n\r\n state = {\r\n isMenuOpen: false\r\n };\r\n\r\n onMenuToggle = () => {\r\n this.setState({ isMenuOpen: !this.state.isMenuOpen });\r\n };\r\n\r\n onRoleChange = role => {\r\n const { onRoleChange } = this.props;\r\n onRoleChange(role);\r\n };\r\n\r\n render() {\r\n const { role, visibleOptions } = this.props;\r\n\r\n var filteredRoles = !visibleOptions ? roles : roles.filter(r => visibleOptions.indexOf(r.key) !== -1);\r\n\r\n return (\r\n \r\n \r\n {role ? (\r\n \r\n ) : (\r\n \r\n \r\n \r\n )}\r\n \r\n \r\n \r\n {filteredRoles.map((currentRole, i) => {\r\n var selected = role && currentRole.key === role.key;\r\n return (\r\n \r\n \r\n {selected ? (\r\n \r\n ) : null}\r\n \r\n );\r\n })}\r\n \r\n \r\n );\r\n }\r\n}\r\n","import React, { Component } from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { FormattedMessage } from 'react-intl';\r\nimport enhanceWithClickOutside from 'react-click-outside';\r\n\r\nimport Button from 'components/shared/single-click-button';\r\nimport Modal from 'components/shared/modal';\r\nimport Icon from 'components/shared/icon';\r\n\r\n// Change role and remove role menu component\r\nexport class TeamListMenu extends Component {\r\n static propTypes = {\r\n disableRoleChange: PropTypes.bool,\r\n member: PropTypes.object,\r\n onChangeRoleClick: PropTypes.func,\r\n onMenuButtonClick: PropTypes.func,\r\n onRemoveClick: PropTypes.func,\r\n projectState: PropTypes.object\r\n };\r\n\r\n state = {\r\n isOpen: false,\r\n showConfirmationModal: false\r\n };\r\n\r\n handleClickOutside = () => {\r\n this.setState({ isOpen: false });\r\n };\r\n\r\n onMenuButtonClick = () => {\r\n const { onMenuButtonClick, member } = this.props;\r\n const { isOpen } = this.state;\r\n\r\n this.setState({ isOpen: !isOpen });\r\n onMenuButtonClick(member);\r\n };\r\n\r\n renderConfirmationModal = disableSubmitButton => {\r\n return (\r\n \r\n
\r\n

\r\n \r\n

\r\n

\r\n \r\n

\r\n
\r\n \r\n {\r\n this.props.onRemoveClick();\r\n this.setState({ showConfirmationModal: false });\r\n }}\r\n >\r\n \r\n \r\n
\r\n
\r\n
\r\n );\r\n };\r\n\r\n render() {\r\n const { isOpen, showConfirmationModal } = this.state;\r\n const { onChangeRoleClick, onRemoveClick, disableRoleChange, projectState } = this.props;\r\n\r\n return (\r\n
\r\n \r\n\r\n {showConfirmationModal ? this.renderConfirmationModal() : null}\r\n\r\n {isOpen ? (\r\n
\r\n {disableRoleChange ? null : (\r\n \r\n )}\r\n\r\n \r\n !projectState.SETTINGS && !projectState.COPY\r\n ? onRemoveClick()\r\n : this.setState({\r\n showConfirmationModal: true\r\n })\r\n }\r\n >\r\n \r\n \r\n
\r\n ) : null}\r\n
\r\n );\r\n }\r\n}\r\n\r\nexport default enhanceWithClickOutside(TeamListMenu);\r\n","import React, { Component } from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { FormattedMessage } from 'react-intl';\r\nimport ReactTooltip from 'react-tooltip';\r\n\r\nimport { FixedTable, FixedHeader } from 'components/shared/fixed-table';\r\nimport Avatar from 'components/shared/avatar';\r\nimport Button from 'components/shared/single-click-button';\r\nimport Icon from 'components/shared/icon';\r\nimport Modal from 'components/shared/modal';\r\nimport Permissions from 'permissions/permissions';\r\nimport RoleDropdown from 'components/project-creation/team-members/role-dropdown';\r\nimport TeamListMenu from 'components/project-creation/team-members/team-list-menu';\r\nimport Pagination from 'components/shared/pagination/pagination';\r\n\r\nclass TeamList extends Component {\r\n static propTypes = {\r\n onChangeProjectMemberRole: PropTypes.func,\r\n onRemoveProjectMember: PropTypes.func,\r\n onRoleModalClose: PropTypes.func,\r\n onSelectProjectMember: PropTypes.func,\r\n onSubmitRoleUpdate: PropTypes.func,\r\n projectMembers: PropTypes.oneOfType([PropTypes.object, PropTypes.array]),\r\n projectState: PropTypes.object,\r\n readOnly: PropTypes.bool,\r\n role: PropTypes.object,\r\n selected: PropTypes.oneOfType([PropTypes.object, PropTypes.string]),\r\n user: PropTypes.object,\r\n project: PropTypes.any\r\n };\r\n\r\n state = {\r\n isRoleInfoOpen: false,\r\n isRoleModalOpen: false,\r\n currentPage: 1\r\n };\r\n\r\n roleKeys = {\r\n 4: 'read-only',\r\n 5: 'contributor',\r\n 6: 'owner',\r\n 7: 'owner',\r\n 8: 'owner'\r\n };\r\n\r\n PAGE_SIZE = 50;\r\n\r\n changePage = pageNumber => {\r\n this.setState({ currentPage: pageNumber });\r\n };\r\n\r\n openRoleInfoModal = event => {\r\n event.preventDefault();\r\n this.setState({ isRoleInfoOpen: true },() => {\r\n setTimeout(() => {document.addEventListener('click', this.closeMenu);\r\n }, 0)\r\n });\r\n };\r\n\r\n closeRoleInfoModal = () => this.setState({ isRoleInfoOpen: false });\r\n\r\n toggleRoleInfoModal = () => this.setState({ isRoleInfoOpen: !this.state.isRoleInfoOpen });\r\n\r\n openRoleModal = () => this.setState({ isRoleModalOpen: true });\r\n\r\n closeRoleModal = () => {\r\n const { onRoleModalClose } = this.props;\r\n this.setState({ isRoleModalOpen: false });\r\n onRoleModalClose();\r\n };\r\n\r\n submitRoleUpdate = () => {\r\n const { onSubmitRoleUpdate } = this.props;\r\n this.setState({ isRoleModalOpen: false });\r\n onSubmitRoleUpdate();\r\n };\r\n\r\n closeMenu = () => {\r\n this.setState({ isRoleInfoOpen: false }, () => {\r\n document.removeEventListener('click', this.closeMenu);\r\n });\r\n };\r\n\r\n // Data clean up for table layout\r\n cleanUpData = () => {\r\n const { projectMembers } = this.props;\r\n if (!projectMembers.isLoading && !projectMembers.members) {\r\n return null;\r\n }\r\n\r\n return projectMembers.members.reduce((acc, cur) => {\r\n if (!cur.role.isTemporaryUser) {\r\n acc.push({\r\n userId: cur.userDetail.userId,\r\n roleId: cur.role.roleId,\r\n name: cur.userDetail.displayName,\r\n preferredFullName: cur.userDetail.preferredFullName,\r\n initials: cur.userDetail.lastName ? cur.userDetail.firstName[0] + cur.userDetail.lastName[0] : 'AA',\r\n email: cur.userDetail.email,\r\n title: cur.userDetail.title,\r\n role: this.roleKeys.hasOwnProperty(cur.role.roleId)\r\n ? this.roleKeys[cur.role.roleId]\r\n : cur.role.roleDisplayName\r\n ? cur.role.displayName\r\n : 'roles.no-role'\r\n });\r\n }\r\n return acc;\r\n }, []);\r\n };\r\n\r\n // Render the team list menu\r\n renderTeamListMenu = member => {\r\n const {\r\n user: currentUser,\r\n projectMembers,\r\n projectState,\r\n onRemoveProjectMember,\r\n onSelectProjectMember,\r\n readOnly,\r\n project\r\n } = this.props;\r\n \r\n if(!project?.projectId){\r\n if (\r\n readOnly ||\r\n // User cannot edit or remove themselves\r\n member.userId === currentUser.userId ||\r\n !Permissions.Project.User.canEdit(project, 'current') ||\r\n !Permissions.Project.User.canDelete(project, 'current')\r\n ) {\r\n return null;\r\n }\r\n }\r\n else {\r\n if (\r\n readOnly ||\r\n // User cannot edit or remove themselves\r\n member.userId === currentUser.userId ||\r\n !Permissions.Project.User.canEdit('current', 'current') ||\r\n !Permissions.Project.User.canDelete('current', 'current')\r\n ) {\r\n return null;\r\n }\r\n }\r\n \r\n \r\n return (\r\n \r\n );\r\n };\r\n\r\n renderRoleInfoModal = () => {\r\n return (\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n {' - '}\r\n \r\n
\r\n
\r\n \r\n \r\n \r\n {' - '}\r\n \r\n
\r\n
\r\n \r\n \r\n \r\n {' - '}\r\n \r\n
\r\n
\r\n
\r\n );\r\n };\r\n\r\n renderRoleModal = () => {\r\n const { onChangeProjectMemberRole, selected, role } = this.props;\r\n\r\n return (\r\n \r\n
\r\n
\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n {selected.name}\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n );\r\n };\r\n\r\n render() {\r\n const { isRoleInfoOpen, isRoleModalOpen, currentPage } = this.state;\r\n const members = this.cleanUpData();\r\n\r\n return (\r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n {isRoleInfoOpen && this.renderRoleInfoModal()}\r\n \r\n \r\n \r\n \r\n \r\n {members &&\r\n members\r\n .slice(currentPage * this.PAGE_SIZE - this.PAGE_SIZE, currentPage * this.PAGE_SIZE)\r\n .map((memberData, index) => (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n ))}\r\n \r\n
\r\n \r\n
\r\n {memberData.preferredFullName ? (\r\n memberData.preferredFullName\r\n ) : (\r\n \r\n )}\r\n
\r\n
\r\n {memberData.email ? (\r\n memberData.email\r\n ) : (\r\n \r\n )}\r\n \r\n {memberData.title ? (\r\n memberData.title\r\n ) : (\r\n \r\n )}\r\n \r\n \r\n \r\n \r\n \r\n

\r\n \r\n

\r\n \r\n
{this.renderTeamListMenu(memberData)}
\r\n
\r\n
\r\n
\r\n\r\n {isRoleModalOpen && this.renderRoleModal()}\r\n
\r\n\r\n {members ? (\r\n
\r\n \r\n
\r\n ) : null}\r\n
\r\n );\r\n }\r\n}\r\n\r\nexport default TeamList;\r\n","import { FormattedMessage } from 'react-intl';\r\nimport PropTypes from 'prop-types';\r\nimport React from 'react';\r\n\r\nimport Button from 'components/shared/single-click-button';\r\nimport Icon from 'components/shared/icon';\r\nimport UserAutocomplete from 'components/shared/user-autocomplete/user-autocomplete';\r\nimport RoleDropdown from 'components/project-creation/team-members/role-dropdown';\r\nimport { getUsers } from 'store/api';\r\n\r\nfunction searchUsers(keyword) {\r\n return getUsers(keyword).then(res => res.data);\r\n}\r\n\r\n// Search user component to add to role list\r\nfunction SearchMembers({\r\n disabled,\r\n keyword,\r\n onAdd,\r\n onKeyDown,\r\n onMemberChange,\r\n onMemberSelect,\r\n onRoleChange,\r\n role,\r\n value,\r\n visibleOptions\r\n}) {\r\n return (\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n );\r\n}\r\n\r\nSearchMembers.propTypes = {\r\n disabled: PropTypes.oneOfType([PropTypes.bool, PropTypes.object]),\r\n keyword: PropTypes.string,\r\n onAdd: PropTypes.func,\r\n onKeyDown: PropTypes.func,\r\n onKeyUp: PropTypes.func,\r\n onMemberChange: PropTypes.func,\r\n onMemberSelect: PropTypes.func,\r\n onRoleChange: PropTypes.func,\r\n role: PropTypes.object,\r\n users: PropTypes.any,\r\n value: PropTypes.string,\r\n visibleOptions: PropTypes.array\r\n};\r\n\r\nexport default SearchMembers;\r\n","import { FormattedMessage } from 'react-intl';\r\nimport PropTypes from 'prop-types';\r\nimport React, { Component } from 'react';\r\nimport Constants from 'utils/constants';\r\nimport Container from 'components/project-creation/shared/container';\r\nimport Icon from 'components/shared/icon';\r\nimport Permissions from 'permissions/permissions';\r\nimport PPMDApproval from 'components/project-creation/shared/ppmd-approval';\r\nimport TeamList from 'components/project-creation/team-members/team-list';\r\nimport SearchMembers from 'components/project-creation/team-members/search-members';\r\nimport Checkbox from 'components/shared/form/checkbox';\r\nimport Button from 'components/shared/single-click-button';\r\nimport constants from 'utils/constants';\r\nimport {\r\n createProject,\r\n createProjectManually,\r\n getCurrentRegion,\r\n getCurrentAPI\r\n} from 'store/api';\r\n\r\nclass TeamMembers extends Component {\r\n static propTypes = {\r\n addProjectMember: PropTypes.func,\r\n clearProjectMember: PropTypes.func,\r\n currentProject: PropTypes.object,\r\n deleteProjectMember: PropTypes.func,\r\n history: PropTypes.object,\r\n loadProjectMembers: PropTypes.func,\r\n onChangeStep: PropTypes.func,\r\n project: PropTypes.any,\r\n projectList: PropTypes.object,\r\n projectMembers: PropTypes.object,\r\n projectState: PropTypes.object,\r\n step: PropTypes.number,\r\n steps: PropTypes.array,\r\n toggleSupportAccess: PropTypes.func,\r\n updateProjectMember: PropTypes.func,\r\n updateProjectState: PropTypes.func,\r\n user: PropTypes.object,\r\n projectData: PropTypes.object,\r\n createProjectTrack: PropTypes.func,\r\n updateProjectData: PropTypes.func\r\n };\r\n\r\n state = {\r\n disableNext: false,\r\n member: '',\r\n selected: null,\r\n selectedProjectMember: null,\r\n newMemberSelectedRole: null,\r\n projectMemberSelectedRole: null,\r\n isValidMember: false,\r\n isSupportAccessEnabled: !this.props.project.isAdminAccessEnabled ? this.props.project.allowAccess : this.props.project.isAdminAccessEnabled,\r\n isLoading: false,\r\n newProjectId: null,\r\n countryCode: null,\r\n projMembers: {\r\n isLoaded: false,\r\n isLoading: false,\r\n members: []\r\n },\r\n projectTypeId: this.props.location.state && this.props.location.state.projectTypeId ? this.props.location.state.projectTypeId :\r\n Constants.ProjectTypes.EXTRACTION_PROJECT\r\n };\r\n\r\n componentDidMount() {\r\n const { project, projectMembers, loadProjectMembers, user, updateProjectData } = this.props;\r\n if (project && project.projectId && !projectMembers.isLoaded) {\r\n return loadProjectMembers({ projectId: project.projectId });\r\n } else if (!project.projectId && project.members !== undefined && this.props.projectMembers.members === null) {\r\n var members = project.members;\r\n this.setState({ projMembers: { members } });\r\n } else if (!project.projectId && this.props.projectMembers.members === null && project.members === undefined) {\r\n var creatorMember = {\r\n createdBy: null,\r\n createdDate: undefined,\r\n error: null,\r\n isLoading: false,\r\n lastUpdatedBy: null,\r\n lastUpdatedDate: null,\r\n role: {\r\n isTemporaryUser: false,\r\n roleId: constants.UserRoles.PROJECT_CREATOR,\r\n roleName: 'Project - Creator',\r\n roleDisplayName: 'Owner',\r\n memberFirmCode: null\r\n },\r\n userDetail: {\r\n userId: user.userId,\r\n externalSystemId: user.externalSystemId,\r\n email: user.email,\r\n displayName: user.displayName,\r\n preferredFullName: user.preferredFullName,\r\n title: user.title,\r\n firstName: user.firstName,\r\n lastName: user.lastName\r\n },\r\n userId: user.userId\r\n };\r\n var myRole = {\r\n isTemporaryUser: false,\r\n roleId: constants.UserRoles.PROJECT_CREATOR\r\n }\r\n var members = this.state.projMembers.members;\r\n members.push(creatorMember);\r\n this.setState({ projMembers: { members } });\r\n var projectData = {\r\n ...this.props.project,\r\n members: members,\r\n myRole: myRole\r\n };\r\n updateProjectData(projectData);\r\n \r\n }\r\n }\r\n\r\n componentWillUnmount() {\r\n const { clearProjectMember, history, project } = this.props;\r\n\r\n if (project.projectId) {\r\n // Clear any location state\r\n history.replace({ state: {} });\r\n clearProjectMember();\r\n }\r\n }\r\n\r\n getRoleIdFromName = role => {\r\n if (role.key === 'owner') {\r\n return 6;\r\n } else if (role.key === 'contributor') {\r\n return 5;\r\n } else if (role.key === 'read-only') {\r\n return 4;\r\n }\r\n };\r\n\r\n // Disable add button if no user selected, no role selected and if user tries adding same person\r\n disableAddButton = () => {\r\n const { newMemberSelectedRole, member, selected, isValidMember, projMembers } = this.state;\r\n const { projectMembers, user, project } = this.props;\r\n // restrict current users to add themselves to projects\r\n if (selected?.userId === user.userId) {\r\n return true;\r\n }\r\n\r\n if (!project.projectId && projMembers.members && selected) {\r\n const isSameMember = projMembers.members.find(v => v.userDetail.userId === selected.userId);\r\n if (isSameMember !== undefined) {\r\n const isTemporaryUser = isSameMember.role.isTemporaryUser;\r\n return !newMemberSelectedRole || member.length <= 0 || !isValidMember || !isTemporaryUser;\r\n }\r\n return !newMemberSelectedRole || member.length <= 0 || isSameMember || !isValidMember;\r\n }\r\n\r\n if (projectMembers && projectMembers.members && selected) {\r\n const isSameMember = projectMembers.members.find(v => v.userDetail.userId === selected.userId);\r\n if (isSameMember !== undefined) {\r\n const isTemporaryUser = isSameMember.role.isTemporaryUser;\r\n return !newMemberSelectedRole || member.length <= 0 || !isValidMember || !isTemporaryUser;\r\n }\r\n return !newMemberSelectedRole || member.length <= 0 || isSameMember || !isValidMember;\r\n }\r\n return !newMemberSelectedRole || member.length <= 0 || !isValidMember;\r\n };\r\n\r\n updateCopiedProject = () => {\r\n const { project, updateProjectState } = this.props;\r\n this.setState({ disableNext: true });\r\n return updateProjectState({\r\n projectId: project.projectId,\r\n projectStateId: 2\r\n }).then(() => this.props.history.push(`/project-list`));\r\n };\r\n\r\n // Add a new member to the project\r\n onAddNewMember = () => {\r\n const { addProjectMember, project, updateProjectData } = this.props;\r\n const { newMemberSelectedRole, selected } = this.state;\r\n\r\n if (!project.projectId) {\r\n var projectMember = {\r\n role: {\r\n isTemporaryUser: false, //made for testing need to check for team-list page curr\r\n userId: selected && selected.userId,\r\n roleId: this.getRoleIdFromName(newMemberSelectedRole),\r\n roleDisplayName: newMemberSelectedRole\r\n },\r\n userDetail: {\r\n userId: selected.userId,\r\n externalSystemId: selected.externalSystemId,\r\n email: selected.email,\r\n displayName: selected.displayName,\r\n preferredFullName: selected.preferredFullName,\r\n title: selected.title,\r\n firstName: selected.firstName,\r\n lastName: selected.lastName\r\n },\r\n userId: selected.userId\r\n };\r\n var members = this.state.projMembers.members;\r\n members.push(projectMember);\r\n\r\n var projectData = {\r\n ...this.props.project,\r\n members: members\r\n };\r\n updateProjectData(projectData);\r\n this.setState({ member: '', newMemberSelectedRole: null, isValidMember: false });\r\n } else {\r\n addProjectMember({\r\n projectId: project.projectId,\r\n userId: selected && selected.userId,\r\n roleId: this.getRoleIdFromName(newMemberSelectedRole),\r\n roleDisplayName: newMemberSelectedRole\r\n });\r\n this.setState({ member: '', newMemberSelectedRole: null, isValidMember: false });\r\n }\r\n };\r\n\r\n // Change the text in the team members search\r\n onNewMemberChange = e => {\r\n this.setState({ member: e.target.value, isValidMember: false });\r\n };\r\n\r\n // Select a new team member\r\n onNewMemberSelect = (val, item) => {\r\n this.setState({ selected: item, member: val, isValidMember: !!val });\r\n };\r\n\r\n // Change the role of a new team member\r\n onNewMemberRoleChange = newMemberSelectedRole => {\r\n this.setState({ newMemberSelectedRole });\r\n };\r\n\r\n // Handle closing the change role modal\r\n onChangeRoleClose = () => {\r\n this.setState({ projectMemberSelectedRole: null });\r\n };\r\n\r\n // Handle selecting a role from the change role modal\r\n onProjectMemberRoleChange = projectMemberSelectedRole => {\r\n this.setState({ projectMemberSelectedRole });\r\n };\r\n\r\n // Update the role of a team member\r\n updateProjectMember = () => {\r\n const { selectedProjectMember, projectMemberSelectedRole } = this.state;\r\n const { project, updateProjectMember, updateProjectData } = this.props;\r\n\r\n if (selectedProjectMember === null) {\r\n return;\r\n }\r\n\r\n if (!project.projectId) {\r\n var projectMember = {\r\n role: {\r\n isTemporaryUser: false,\r\n userId: selectedProjectMember.userId,\r\n roleId: this.getRoleIdFromName(projectMemberSelectedRole),\r\n roleDisplayName: projectMemberSelectedRole\r\n },\r\n userDetail: selectedProjectMember,\r\n userId: selectedProjectMember.userId\r\n };\r\n\r\n this.setState(prevState => {\r\n const updatedMembers = prevState.projMembers.members.map(member =>\r\n member.userId === selectedProjectMember.userId\r\n ? { ...member, role: { ...member.role, roleId: projectMember.role.roleId } }\r\n : member\r\n );\r\n\r\n var projectData = {\r\n ...this.props.project,\r\n members: updatedMembers\r\n };\r\n updateProjectData(projectData);\r\n\r\n return {\r\n projMembers: {\r\n ...prevState.projMembers,\r\n members: updatedMembers\r\n }\r\n };\r\n });\r\n } else {\r\n updateProjectMember({\r\n projectId: project.projectId,\r\n userId: selectedProjectMember.userId,\r\n roleId: this.getRoleIdFromName(projectMemberSelectedRole),\r\n roleDisplayName: projectMemberSelectedRole\r\n });\r\n }\r\n\r\n this.setState({ selectedProjectMember: null });\r\n };\r\n\r\n // Handle selecting a member from the team list\r\n onProjectMemberRoleSelect = selectedProjectMember => {\r\n this.setState({ selectedProjectMember, projectMemberSelectedRole: null });\r\n };\r\n\r\n // Handle deleting a member from the team list\r\n deleteProjectMember = () => {\r\n const { selectedProjectMember } = this.state;\r\n const { project, deleteProjectMember, updateProjectData } = this.props;\r\n\r\n if (!project.projectId) {\r\n var projectMember = {\r\n role: {\r\n userId: selectedProjectMember.userId,\r\n roleId: selectedProjectMember.roleId\r\n }\r\n };\r\n this.setState(prevState => {\r\n const updatedMembers = prevState.projMembers.members.filter(\r\n member => member.userId !== projectMember.role.userId\r\n );\r\n prevState.projMembers.members = updatedMembers;\r\n\r\n var projectData = {\r\n ...this.props.project,\r\n members: updatedMembers\r\n };\r\n updateProjectData(projectData);\r\n return {\r\n projMembers: {\r\n ...prevState.projMembers,\r\n members: updatedMembers\r\n }\r\n };\r\n });\r\n } else {\r\n deleteProjectMember({ projectId: project.projectId, userId: selectedProjectMember.userId });\r\n this.setState({ selectedProjectMember: null });\r\n }\r\n };\r\n\r\n setCountryInfo = () => {\r\n const region = getCurrentAPI();\r\n const { memberFirmContainers } = this.props.user;\r\n const { memberFirmCode, containerCode, countryCode } = region;\r\n\r\n if (countryCode) {\r\n memberFirmContainers.forEach(mfc => {\r\n if (mfc.countryCode === countryCode && mfc.containerCode == containerCode) {\r\n this.setState({ countryCode: mfc.countryCode, countryName: mfc.countryName });\r\n }\r\n });\r\n return countryCode;\r\n } else {\r\n //If no country code is specified, get first matching country name for region code combo\r\n memberFirmContainers.forEach(mfc => {\r\n if (mfc.memberFirmCode === memberFirmCode && mfc.containerCode === containerCode) {\r\n this.setState({ countryCode: mfc.countryCode, countryName: mfc.countryName });\r\n }\r\n });\r\n return countryCode;\r\n }\r\n };\r\n // Handle clicking on the next button\r\n onNext = () => {\r\n const { projectState, onChangeStep, step, project, createProjectTrack, user } = this.props;\r\n const { isSupportAccessEnabled, newProjectId, projMembers, projectTypeId } = this.state;\r\n\r\n // if (projectState.NEW || projectState.INPROGRESS) {\r\n // this.setState({ disableNext: true });\r\n // return this.props.history.push(\r\n // `/region/${getCurrentRegion()}/project/${currentProject.projectId}/create-template`\r\n // );\r\n // } else {\r\n // return this.updateCopiedProject();\r\n // }\r\n\r\n const usersArray = [];\r\n\r\n projMembers.members.forEach(member => {\r\n const user = {\r\n userId: member.userId,\r\n role: {\r\n roleId: member.role.roleId\r\n },\r\n userDetail: {\r\n userId: member.userId\r\n }\r\n };\r\n usersArray.push(user);\r\n })\r\n\r\n //API call for Copy And Carry \r\n if (projectState.COPY || projectState.CARRY) {\r\n return this.updateCopiedProject();\r\n }\r\n\r\n //API call if Project is a Workspace\r\n else if (projectTypeId == constants.ProjectTypes.WORKSPACE_PROJECT) {\r\n const countryCode = this.setCountryInfo();\r\n return createProject({\r\n projectName: constants.MyWorkspace,\r\n countryCode: countryCode,\r\n engagementId: \"\",\r\n projectTypeId: 2,\r\n allowAccess: isSupportAccessEnabled,\r\n }).then(response => {\r\n createProjectTrack(response.data);\r\n this.setState({ newProjectId: response.data.projectId });\r\n return this.props.history.push(\r\n `/region/${getCurrentRegion()}/project/${response.data.projectId}/create-template`\r\n );\r\n });\r\n }\r\n\r\n // API calls to create a new project\r\n else {\r\n if (project.projectName && project.engagementId &&\r\n (project.sourceType === Constants.ProjectSourceTypes.MAT ||\r\n project.sourceType === Constants.ProjectSourceTypes.MATCloud)) {\r\n return createProject({\r\n projectName: project.projectName,\r\n countryCode: project.countryCode,\r\n engagementId: project.engagementId,\r\n projectTypeId: projectTypeId,\r\n sourceType: project.sourceType,\r\n allowAccess: isSupportAccessEnabled,\r\n users: usersArray\r\n }\r\n ).then(response => {\r\n createProjectTrack(response.data);\r\n this.setState({ newProjectId: response.data.projectId });\r\n return this.props.history.push(\r\n `/region/${getCurrentRegion()}/project/${response.data.projectId}/create-template`\r\n );\r\n });\r\n }\r\n else if (\r\n project &&\r\n (!(project.sourceType === Constants.ProjectSourceTypes.MAT ||\r\n project.sourceType === Constants.ProjectSourceTypes.MATCloud)\r\n )) {\r\n if (project.sourceType === Constants.ProjectSourceTypes.MATCloud) {\r\n return createProjectManually({\r\n projectName: project.projectName,\r\n countryCode: project.countryCode,\r\n engagementName: project.engagementName,\r\n externalEngagementId: project.externalEngagementId,\r\n clientName: project.clientName,\r\n clientId: project.clientId,\r\n fiscalYearEnd: project.fiscalYearEnd,\r\n sourceType: project.sourceType,\r\n wbsCode: project.wbsCode,\r\n projectTypeId: projectTypeId,\r\n allowAccess: isSupportAccessEnabled,\r\n users: usersArray\r\n })\r\n .then(response => {\r\n createProjectTrack(response.data);\r\n this.setState({ newProjectId: response.data.projectId });\r\n return this.props.history.push(\r\n `/region/${getCurrentRegion()}/project/${response.data.projectId}/create-template`\r\n );\r\n });\r\n }\r\n else {\r\n return createProjectManually({\r\n projectName: project.projectName,\r\n countryCode: project.countryCode,\r\n engagementName: project.engagementName,\r\n externalEngagementId: project.externalEngagementId,\r\n clientName: project.clientName,\r\n clientId: project.clientId,\r\n fiscalYearEnd: project.fiscalYearEnd,\r\n sourceType: project.sourceType,\r\n wbsCode: project.wbsCode,\r\n projectTypeId: projectTypeId,\r\n allowAccess: isSupportAccessEnabled,\r\n users: usersArray\r\n })\r\n .then(response => {\r\n createProjectTrack(response.data);\r\n this.setState({ newProjectId: response.data.projectId });\r\n return this.props.history.push(\r\n `/region/${getCurrentRegion()}/project/${response.data.projectId}/create-template`\r\n );\r\n });\r\n }\r\n }\r\n else {\r\n onChangeStep(step + 1);\r\n }\r\n }\r\n };\r\n\r\n onToggleSupportAccess = () => {\r\n const { toggleSupportAccess, project } = this.props;\r\n this.setState({ isLoading: true });\r\n toggleSupportAccess({ projectId: project.projectId, allowAccess: this.state.isSupportAccessEnabled })\r\n .then(() =>\r\n this.setState({ isLoading: false })\r\n );\r\n };\r\n\r\n render() {\r\n const {\r\n step,\r\n steps,\r\n onChangeStep,\r\n project,\r\n projectMembers,\r\n projectState,\r\n user,\r\n currentProject,\r\n updateProjectData\r\n } = this.props;\r\n const {\r\n disableNext,\r\n projectMemberSelectedRole,\r\n member,\r\n newMemberSelectedRole,\r\n selected,\r\n selectedProjectMember,\r\n isSupportAccessEnabled,\r\n isLoading,\r\n projMembers,\r\n projectData,\r\n projectTypeId\r\n } = this.state;\r\n\r\n const canEditTeamMembers =\r\n // Project is in correct state\r\n (projectState.NEW || projectState.INPROGRESS || projectState.SETTINGS || projectState.COPY) &&\r\n // Project is not archived\r\n !Permissions.Project._States.isProjectArchived(project) &&\r\n // User has privileges to edit project\r\n Permissions.Project.User.canEdit(project, 'current') &&\r\n //project should not be workspace project\r\n projectTypeId != constants.ProjectTypes.WORKSPACE_PROJECT;\r\n\r\n const canDisableAccess = currentProject.myRole\r\n ? currentProject.myRole.isTemporaryUser && currentProject.isAdminAccessEnabled\r\n : false;\r\n\r\n return (\r\n \r\n \r\n \r\n }\r\n customHeader={}\r\n >\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n\r\n {canEditTeamMembers && (\r\n \r\n )}\r\n
\r\n
\r\n {projectMembers.isLoading ? (\r\n \r\n ) : (\r\n <>\r\n \r\n \r\n )}\r\n {!project.projectId || (Permissions.Project.User.canEnableAccess(project, 'current') || canDisableAccess) ? (\r\n
\r\n
\r\n {\r\n !project.projectId\r\n ? this.setState({ isSupportAccessEnabled: !isSupportAccessEnabled }, () => {\r\n project.allowAccess = this.state.isSupportAccessEnabled;\r\n this.props.updateProjectData(project);\r\n })\r\n : this.setState({ isSupportAccessEnabled: !isSupportAccessEnabled });\r\n }}\r\n width={18}\r\n />\r\n \r\n
\r\n {isSupportAccessEnabled && (\r\n
\r\n \r\n \r\n
\r\n )}\r\n {project.projectId && (\r\n
\r\n this.onToggleSupportAccess()}\r\n >\r\n {isLoading ? (\r\n \r\n ) : (\r\n \r\n )}\r\n \r\n
\r\n )}\r\n
\r\n ) : null}\r\n
\r\n
\r\n \r\n );\r\n }\r\n}\r\n\r\nexport default TeamMembers;\r\n","import { connect } from 'react-redux';\r\n\r\nimport { updateProjectState, toggleSupportAccess } from 'store/current-project';\r\nimport {\r\n loadProjectMembers,\r\n addProjectMember,\r\n updateProjectMember,\r\n deleteProjectMember,\r\n clearProjectMember\r\n} from 'store/project-members';\r\nimport TeamMembers from 'components/project-creation/team-members/team-members';\r\n\r\nconst mapStateToProps = ({ data: { projectMembers, currentProject } }) => ({\r\n projectMembers,\r\n currentProject\r\n});\r\n\r\nconst mapDispatchToProps = {\r\n loadProjectMembers,\r\n addProjectMember,\r\n updateProjectMember,\r\n deleteProjectMember,\r\n updateProjectState,\r\n clearProjectMember,\r\n toggleSupportAccess\r\n};\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(TeamMembers);\r\n","import PropTypes from 'prop-types';\r\nimport React, { Component } from 'react';\r\nimport { FormattedMessage } from 'react-intl';\r\nimport { withRouter } from 'react-router-dom';\r\nimport Button from 'components/shared/single-click-button';\r\nimport { getCurrentRegion } from 'store/api';\r\nimport constants from 'utils/constants';\r\nimport ProjectDateFormatSelection from 'components/project-creation/shared/project-date-fromat-selection';\r\n\r\nconst { ProjectStateIds } = constants;\r\nconst { TEMPLATE_LIST } = constants.TemplateSteps;\r\n\r\n// Custom next button handler for template page\r\nclass ButtonNext extends Component {\r\n static propTypes = {\r\n history: PropTypes.object,\r\n isGuided: PropTypes.bool,\r\n latestTemplateFolder: PropTypes.number,\r\n project: PropTypes.any,\r\n step: PropTypes.number,\r\n updateProject: PropTypes.func\r\n };\r\n\r\n state = {\r\n disabled: false\r\n };\r\n\r\n onUploadFiles = () => {\r\n const { project, updateProject, latestTemplateFolder } = this.props;\r\n const folder = latestTemplateFolder > 0 ? latestTemplateFolder : 'root';\r\n this.setState({ disabled: true });\r\n // Change project state to 'started'\r\n return updateProject({\r\n projectId: project.projectId,\r\n projectStateId: ProjectStateIds.started\r\n }).then(() => {\r\n this.props.history.push(`/region/${getCurrentRegion()}/project/${project.projectId}/folder/${folder}`);\r\n });\r\n };\r\n\r\n render() {\r\n const { isGuided, step, project } = this.props;\r\n const { disabled } = this.state;\r\n return isGuided ? null : step === TEMPLATE_LIST ? (\r\n
\r\n \r\n \r\n \r\n
\r\n ) : null;\r\n }\r\n}\r\n\r\nconst NextButton = withRouter(ButtonNext);\r\nexport default NextButton;\r\n","import React, { Component } from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { FormattedMessage } from 'react-intl';\r\n\r\nimport { sortBy } from 'underscore';\r\nimport Button from 'components/shared/single-click-button';\r\nimport Checkbox from 'components/shared/form/checkbox';\r\nimport Constants from 'utils/constants';\r\n\r\n/** Document type selector in the templates section of a project creation page */\r\nclass DocumentType extends Component {\r\n static propTypes = {\r\n changeSelectedGroups: PropTypes.func,\r\n groupData: PropTypes.object,\r\n submitFunction: PropTypes.func,\r\n templateType: PropTypes.object\r\n };\r\n\r\n state = {\r\n selectedGroups: []\r\n };\r\n\r\n onGroupChange = group => {\r\n const { changeSelectedGroups } = this.props;\r\n var selectedGroups = this.state.selectedGroups.slice(0);\r\n\r\n if (selectedGroups.some(g => g.id === group.extractionFieldGroupId)) {\r\n selectedGroups = selectedGroups.filter(g => g.id !== group.extractionFieldGroupId);\r\n } else {\r\n selectedGroups.push({\r\n id: group.extractionFieldGroupId,\r\n name: group.extractionFieldGroupName\r\n });\r\n }\r\n\r\n this.setState({ selectedGroups }, () => changeSelectedGroups(selectedGroups));\r\n };\r\n\r\n render() {\r\n const { groupData, templateType } = this.props;\r\n const { selectedGroups } = this.state;\r\n\r\n return (\r\n
\r\n
\r\n
\r\n {sortBy(groupData.groups, v => v.displayOrder).map(group => (\r\n
\r\n this.onGroupChange(group)}\r\n checked={selectedGroups.some(g => g.id === group.extractionFieldGroupId) ? 'checked' : 'unchecked'}\r\n />\r\n \r\n
\r\n ))}\r\n\r\n {templateType.templateCategoryId !== Constants.TemplateCategories.DETAIL_TESTING && (\r\n
\r\n \r\n this.onGroupChange({\r\n extractionFieldGroupId: 'Other',\r\n extractionFieldGroupName: 'Other'\r\n })\r\n }\r\n checked={selectedGroups.some(g => g.id === 'Other') ? 'checked' : 'unchecked'}\r\n />\r\n \r\n
\r\n )}\r\n
\r\n
\r\n
\r\n );\r\n }\r\n}\r\n\r\nexport default DocumentType;\r\n","import React, { Component } from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport Icon from 'components/shared/icon';\r\nimport { FormattedMessage } from 'react-intl';\r\nimport Button from 'components/shared/single-click-button';\r\n\r\n/** List of all the templates, when user has finished creating at least one template in the project creation section */\r\nclass TemplateList extends Component {\r\n static propTypes = {\r\n onCreateNewClick: PropTypes.func,\r\n onTemplateClick: PropTypes.func,\r\n templates: PropTypes.array\r\n };\r\n\r\n render() {\r\n const { onTemplateClick, onCreateNewClick, templates } = this.props;\r\n\r\n return (\r\n
\r\n
\r\n {templates &&\r\n templates.map((temp, index) => {\r\n return (\r\n onTemplateClick(temp)}>\r\n {temp.name}\r\n \r\n \r\n );\r\n })}\r\n
\r\n
\r\n \r\n
\r\n
\r\n );\r\n }\r\n}\r\n\r\nexport default TemplateList;\r\n","import React, { Component } from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport Dropdown from 'components/shared/form/dropdown';\r\nimport { FormattedMessage } from 'react-intl';\r\nimport { Radio, RadioGroup } from 'components/shared/form/radio';\r\nimport Constants from 'utils/constants';\r\n \r\n/** List of all the templates, when user has finished creating at least one template in the project creation section */\r\nexport default function TemplateTypeAI({templateTypes}) {\r\n const compareTemplatesOrder = (template1, template2) => {\r\n return template1.displayOrder - template2.displayOrder;\r\n };\r\n return(\r\n
\r\n

\r\n \r\n

\r\n

\r\n \r\n

\r\n \r\n {templateTypes &&\r\n templateTypes.isLoaded &&\r\n templateTypes.types.templateTypes\r\n .filter(templates => (templates.templateCategoryId === Constants.TemplateCategories.NON_EDITABLE_GENAI_NONDETAIL_TESTING || \r\n templates.templateCategoryId === Constants.TemplateCategories.Custom_GENAI_NONDETAIL_TESTING\r\n )) \r\n .sort(compareTemplatesOrder)\r\n .map((type, templates) => (\r\n
\r\n \r\n \r\n
\r\n ))}\r\n
\r\n )\r\n}","import React, { Component } from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport Dropdown from 'components/shared/form/dropdown';\r\nimport { FormattedMessage } from 'react-intl';\r\nimport { Radio, RadioGroup } from 'components/shared/form/radio';\r\nimport Constants from 'utils/constants';\r\nimport TemplateTypeAI from './template-type-ai';\r\n\r\n/** List of all the templates, when user has finished creating at least one template in the project creation section */\r\nclass TemplateType extends Component {\r\n static propTypes = {\r\n changeSelectedType: PropTypes.func,\r\n\r\n submitFunction: PropTypes.func,\r\n templateTypes: PropTypes.object,\r\n templateTypeGroups: PropTypes.array\r\n };\r\n\r\n state = {\r\n selectedType: null,\r\n workflowAccountGroup:\r\n this.props.templateTypeGroups && this.props.templateTypeGroups.length === 1\r\n ? this.props.templateTypeGroups[0]\r\n : null\r\n };\r\n\r\n selectType = type => {\r\n const { changeSelectedType } = this.props;\r\n this.setState({ selectedType: type });\r\n changeSelectedType(type);\r\n };\r\n\r\n compareTemplatesOrder = (template1, template2) => {\r\n return template1.displayOrder - template2.displayOrder;\r\n };\r\n\r\n render() {\r\n const { submitFunction, templateTypes, templateTypeGroups } = this.props;\r\n const { selectedType, workflowAccountGroup } = this.state;\r\n\r\n return (\r\n
\r\n

\r\n \r\n

\r\n \r\n
\r\n

\r\n \r\n

\r\n

\r\n \r\n

\r\n {templateTypes && templateTypes.isLoaded && (\r\n
\r\n
\r\n \r\n
\r\n
\r\n }\r\n onSelection={option => this.setState({ workflowAccountGroup: option }, () => this.selectType(null))}\r\n selectedOption={workflowAccountGroup}\r\n options={templateTypeGroups}\r\n renderOption={selectedOption => (\r\n \r\n {}\r\n \r\n )}\r\n />\r\n
\r\n
\r\n )}\r\n {workflowAccountGroup != null && (\r\n
\r\n \r\n
\r\n )}\r\n
\r\n {workflowAccountGroup != null\r\n ? templateTypes &&\r\n templateTypes.isLoaded &&\r\n templateTypes.types.templateTypes\r\n .filter(\r\n index =>\r\n index.templateCategoryId === Constants.TemplateCategories.NON_EDITABLE_DETAIL_TESTING &&\r\n index.templateTypeGroupID[0] === workflowAccountGroup.templateTypeGroupID\r\n )\r\n .sort(this.compareTemplatesOrder)\r\n .map((type, index) => {\r\n if (\r\n templateTypes.types.templateTypes.filter(\r\n index =>\r\n index.templateCategoryId === Constants.TemplateCategories.NON_EDITABLE_DETAIL_TESTING &&\r\n index.templateTypeGroupID[0] === workflowAccountGroup.templateTypeGroupID\r\n ).length === 1 &&\r\n selectedType === null\r\n ) {\r\n this.selectType(type);\r\n }\r\n return (\r\n
\r\n \r\n \r\n
\r\n );\r\n })\r\n : null}\r\n
\r\n {templateTypes &&\r\n templateTypes.isLoaded &&\r\n templateTypes.types.templateTypes.filter(\r\n t =>\r\n t.templateCategoryId === Constants.TemplateCategories.NON_EDITABLE_GENAI_DETAIL_TESTING ||\r\n t.templateCategoryId === Constants.TemplateCategories.NON_EDITABLE_GENAI_NONDETAIL_TESTING ||\r\n t.templateCategoryId === Constants.TemplateCategories.Custom_GENAI_NONDETAIL_TESTING\r\n ).length > 0 ? (\r\n \r\n ) : null}\r\n
\r\n
\r\n

\r\n \r\n

\r\n

\r\n \r\n

\r\n {templateTypes &&\r\n templateTypes.isLoaded &&\r\n templateTypes.types.templateTypes\r\n .filter(\r\n index =>\r\n index.templateCategoryId !== Constants.TemplateCategories.NON_EDITABLE_DETAIL_TESTING &&\r\n index.templateCategoryId !== Constants.TemplateCategories.NON_EDITABLE_GENAI_DETAIL_TESTING &&\r\n index.templateCategoryId !== Constants.TemplateCategories.NON_EDITABLE_GENAI_NONDETAIL_TESTING &&\r\n index.templateCategoryId !== Constants.TemplateCategories.Custom_GENAI_NONDETAIL_TESTING \r\n )\r\n .sort(this.compareTemplatesOrder)\r\n .map((type, index) => (\r\n
\r\n \r\n \r\n
\r\n ))}\r\n
\r\n \r\n
\r\n );\r\n }\r\n}\r\n\r\nexport default TemplateType;\r\n","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { DragSource, DropTarget } from 'react-dnd';\r\nimport { FormattedMessage } from 'react-intl';\r\nimport Icon from 'components/shared/icon';\r\nimport Checkbox from 'components/shared/form/checkbox';\r\nimport ComplicatedIcon from 'components/extractions/complicated-icon/complicated-icon';\r\nimport ReactTooltip from 'react-tooltip';\r\n\r\n// Begin drag and drop functionality for extraction fields\r\nconst cardSource = {\r\n beginDrag(props) {\r\n return {\r\n extraction: props.extraction,\r\n index: props.index\r\n };\r\n },\r\n endDrag(props, monitor, component) {\r\n // This is a good place to call some Flux action\r\n return props.finishDrag ? props.finishDrag() : {};\r\n },\r\n isDragging(props, monitor) {\r\n return props.extraction === monitor.getItem().extraction;\r\n }\r\n};\r\n\r\n// See https://github.com/react-dnd/react-dnd/blob/master/examples/04%20Sortable/Simple/Card.js#L24\r\nconst cardTarget = {\r\n hover(props, monitor, component) {\r\n const dragIndex = monitor.getItem().index;\r\n const dragItem = monitor.getItem().extraction;\r\n const hoverIndex = props.index;\r\n const hoverItem = props.extraction;\r\n\r\n // Don't replace items with themselves\r\n if (dragIndex === hoverIndex || hoverItem.groupId !== dragItem.groupId) {\r\n return;\r\n }\r\n\r\n // Perform the action\r\n props.moveExtraction(dragIndex, hoverIndex);\r\n\r\n // Note: we're mutating the monitor item here!\r\n // Generally it's better to avoid mutations,\r\n // but it's good here for the sake of performance\r\n // to avoid expensive index searches.\r\n monitor.getItem().index = hoverIndex;\r\n }\r\n};\r\n\r\n// Connect to drag and drop context\r\nexport const Extraction = DropTarget('template-extraction', cardTarget, connect => ({\r\n connectDropTarget: connect.dropTarget()\r\n}))(\r\n DragSource('template-extraction', cardSource, (connect, monitor) => ({\r\n connectDragSource: connect.dragSource(),\r\n isDragging: monitor.isDragging()\r\n }))(function InnerExtraction({\r\n isDragging,\r\n connectDragSource,\r\n connectDropTarget,\r\n extraction,\r\n index,\r\n moveExtraction,\r\n onCheckboxClick,\r\n onExtractionDelete,\r\n finishDrag,\r\n readOnly,\r\n templateCategoryId,\r\n onExtractionSelect \r\n }) {\r\n return connectDropTarget(\r\n
\r\n \r\n {connectDragSource(\r\n \r\n )}\r\n \r\n {\r\n onExtractionSelect(extraction); \r\n }}\r\n width={20}\r\n />\r\n \r\n \r\n {extraction.name}\r\n \r\n \r\n 400 ? 500 : 0}\r\n >\r\n

{extraction.name}

\r\n\r\n

\r\n \r\n

\r\n\r\n {extraction.description.length > 400 ? (\r\n
\r\n

{extraction.description}

\r\n
\r\n ) : (\r\n

{extraction.description}

\r\n )}\r\n \r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n );\r\n })\r\n);\r\n\r\nExtraction.propTypes = {\r\n data: PropTypes.object\r\n};\r\n","import React, { Component } from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport withDragDropContext from 'utils/dnd-mouse-context';\r\nimport Constants from 'utils/constants';\r\nimport Checkbox from 'components/shared/form/checkbox';\r\nimport Icon from 'components/shared/icon';\r\nimport { Extraction } from './extraction';\r\n\r\nclass TemplateExtractionsGroupList extends Component {\r\n static propTypes = {\r\n extractions: PropTypes.any.isRequired,\r\n ignoreSort: PropTypes.bool,\r\n isGroupExtLoading: PropTypes.bool.isRequired,\r\n onCheckboxClick: PropTypes.func,\r\n onExtractionChange: PropTypes.func,\r\n onCheckAll: PropTypes.func,\r\n selectedExtractions: PropTypes.array,\r\n pageViewer: PropTypes.string.isRequired,\r\n onExtractionSelect: PropTypes.func\r\n };\r\n\r\n state = {\r\n openGroups: {}\r\n };\r\n\r\n getGroupedExtractions = () => {\r\n var {\r\n extractions: { templateExtractions }\r\n } = this.props;\r\n\r\n var extractionList = [];\r\n templateExtractions.forEach(extraction => {\r\n if (extraction.groupId === null) {\r\n extraction.groupId = 0;\r\n }\r\n\r\n if (extraction.groupId !== null) {\r\n if (!extractionList[extraction.groupId]) {\r\n extractionList[extraction.groupId] = {\r\n extractions: [],\r\n title: extraction.group ? extraction.group : extractionList.selectedName,\r\n displayOrder: extraction.groupDisplayOrder\r\n };\r\n }\r\n\r\n extractionList[extraction.groupId].extractions.push({\r\n ...extraction,\r\n displayOrder: extraction.groupMapping\r\n ? extraction.groupMapping.find(gm => gm.extractionFieldGroupId === extraction.groupId)\r\n ?.extractionFieldDisplayOrder\r\n : 0\r\n });\r\n }\r\n });\r\n return extractionList;\r\n };\r\n\r\n getAccordion = (group, key) => {\r\n var { openGroups } = this.state;\r\n var {\r\n onCheckboxClick,\r\n extractions: { templateCategoryId, templateExtractions },\r\n onCheckAll, selectedExtractions,pageViewer,onExtractionSelect\r\n } = this.props;\r\n const extractionIds = templateExtractions.map(extraction => extraction.id);\r\n var state = openGroups[key] !== undefined ? openGroups[key] : true;\r\n if (pageViewer !== 'DocumentPage') {\r\n // Determine the state of the \"Select All\" checkbox\r\n var exts = group.extractions.filter(v => !v.disabled); \r\n var disabled = group.extractions.filter(e => e.isSelected === true);\r\n var allSelected = group.extractions.every(e => selectedExtractions.find(v => v.id === e.id)); // When a user has selected all\r\n var fewSelected = group.extractions.filter(e => selectedExtractions.find(v => v.id === e.id)); \r\n var filteredIds = group.extractions.filter(e => e.isSelected === true) \r\n var checkAllState =disabled.length === group.extractions.length\r\n ? 'checked'\r\n : allSelected\r\n ? 'checked'\r\n : fewSelected.length > 0 && fewSelected.length < group.extractions.length\r\n ? 'indeterminate'\r\n : 'unchecked';\r\n } \r\n \r\n\r\n var extractionElements = group.extractions.map((extraction, index) => (\r\n onCheckboxClick(extraction.id)}\r\n readOnly={templateCategoryId === Constants.TemplateCategories.NON_EDITABLE_DETAIL_TESTING}\r\n templateCategoryId={templateCategoryId}\r\n selectedExtractions={selectedExtractions}\r\n onExtractionSelect={onExtractionSelect}\r\n filteredIds={filteredIds}\r\n />\r\n ));\r\n\r\n return (\r\n
\r\n
\r\n \r\n onCheckAll({ [key]: exts }, key)} // Handle select/deselect all\r\n width={20} \r\n />\r\n \r\n {\r\n e.stopPropagation();\r\n openGroups[key] = !state;\r\n this.setState({ openGroups: openGroups });\r\n }}\r\n >\r\n

{group.title}

\r\n \r\n \r\n \r\n
\r\n
\r\n {state ? extractionElements : null}\r\n
\r\n );\r\n };\r\n\r\n sortByDisplayOrder = groupedExtractions => {\r\n for (var i in groupedExtractions) {\r\n groupedExtractions[i].extractions.sort((ef1, ef2) => ef1.displayOrder - ef2.displayOrder);\r\n }\r\n\r\n return groupedExtractions.sort((g1, g2) => g1.displayOrder - g2.displayOrder);\r\n };\r\n\r\n getAccordions = () => {\r\n const { ignoreSort } = this.props;\r\n var accordions = [];\r\n var groupedExtractions = ignoreSort\r\n ? this.getGroupedExtractions()\r\n : this.sortByDisplayOrder(this.getGroupedExtractions());\r\n for (var i in groupedExtractions) {\r\n accordions.push(this.getAccordion(groupedExtractions[i], i));\r\n }\r\n\r\n return accordions;\r\n };\r\n\r\n moveExtraction = (extractionIndex, hoverIndex) => {\r\n const {\r\n extractions: { templateExtractions },\r\n onExtractionChange\r\n } = this.props;\r\n const dragExtraction = templateExtractions[extractionIndex];\r\n const updatedExtractions = [...templateExtractions];\r\n updatedExtractions.splice(extractionIndex, 1);\r\n updatedExtractions.splice(hoverIndex, 0, dragExtraction);\r\n onExtractionChange(updatedExtractions);\r\n };\r\n\r\n render() {\r\n const { isGroupExtLoading } = this.props;\r\n\r\n return (\r\n
\r\n {isGroupExtLoading ? (\r\n \r\n ) : (\r\n this.getAccordions()\r\n )}\r\n
\r\n );\r\n }\r\n}\r\n\r\nexport default withDragDropContext(TemplateExtractionsGroupList);\r\n","import PropTypes from 'prop-types';\r\nimport React, { Component } from 'react';\r\nimport { FormattedMessage, injectIntl, intlShape } from 'react-intl';\r\n\r\nimport Button from 'components/shared/single-click-button';\r\nimport Icon from 'components/shared/icon';\r\nimport emptyStateImage from 'images/empty_state_extraction_fields.svg';\r\nimport EmptyState from 'components/file-browser/file-list/empty-state';\r\nimport TemplateExtractionsGroupList from 'components/create-template/templates/template-steps/template-extractions-list/template-extractions-group-list';\r\nimport ValidatedTextField from 'components/shared/form/validated-text-field';\r\nimport Constants from 'utils/constants';\r\n\r\n/** Guided template viewer is when the user is first prompted to create a template */\r\nclass GuidedTemplateViewer extends Component {\r\n static propTypes = {\r\n changeIsFormValid: PropTypes.func,\r\n extractions: PropTypes.any,\r\n intl: intlShape.isRequired,\r\n isGroupExtLoading: PropTypes.bool,\r\n isOtherTemplate: PropTypes.bool,\r\n isResolved: PropTypes.bool,\r\n isUpdate: PropTypes.bool,\r\n onAdd: PropTypes.func,\r\n onChange: PropTypes.func,\r\n onCheckboxClick: PropTypes.func,\r\n onExtractionChange: PropTypes.func,\r\n onUpdate: PropTypes.func,\r\n selectedType: PropTypes.any,\r\n templateTypes: PropTypes.any,\r\n value: PropTypes.string,\r\n pageViewer: PropTypes.string.isRequired\r\n };\r\n\r\n state = {\r\n isFormValid: false,\r\n selectedExtractions: [],\r\n };\r\n\r\n // When a user selects an extraction field within group \r\n onExtractionSelect = ext => {\r\n\r\n const { selectedExtractions } = this.state;\r\n const { pageViewer, onCheckboxClick } = this.props;\r\n const allowMultiSelect = pageViewer !== 'DocumentPage';\r\n const isSelected = selectedExtractions.some(e => e.id === ext.id);\r\n\r\n if (isSelected) {\r\n // Deselect if already selected\r\n this.setState(\r\n { selectedExtractions: selectedExtractions.filter(e => e.id !== ext.id) },\r\n () => onCheckboxClick(ext.id) // Call after state update\r\n );\r\n } else {\r\n // Select if not already selected\r\n this.setState(\r\n { selectedExtractions: allowMultiSelect ? [...selectedExtractions, ext] : [ext] },\r\n () => onCheckboxClick(ext.id) // Call after state update\r\n );\r\n }\r\n};\r\n\r\n\r\nonCheckAll = (allIds, title) => {\r\n\r\n const { selectedExtractions } = this.state;\r\n const { onCheckboxClick } = this.props;\r\n\r\n // Check if any item in allIds[title] is already selected\r\n const isSelected = allIds[title].some(item =>\r\n selectedExtractions.find(e => e.id === item.id)\r\n );\r\n\r\n if (isSelected) {\r\n // Deselect only the selected fields\r\n const deselectedIds = selectedExtractions.filter(e =>\r\n allIds[title].some(({ id }) => e.id === id)\r\n );\r\n\r\n this.setState(\r\n {\r\n selectedExtractions: selectedExtractions.filter(\r\n e => !allIds[title].some(({ id }) => e.id === id)\r\n )\r\n },\r\n () => {\r\n // Call onCheckboxClick only for the deselected fields\r\n deselectedIds.forEach(({ id }) => onCheckboxClick(id));\r\n }\r\n );\r\n } else {\r\n // Select all records in the current group\r\n this.setState(\r\n {\r\n selectedExtractions: [...selectedExtractions, ...allIds[title]]\r\n },\r\n () => {\r\n // Call onCheckboxClick only for the newly selected fields\r\n allIds[title].forEach(({ id }) => onCheckboxClick(id));\r\n }\r\n );\r\n }\r\n}; \r\n\r\n setFormRef = elem => {\r\n this.formElem = elem;\r\n };\r\n\r\n validateForm = () => {\r\n const { changeIsFormValid } = this.props;\r\n return (\r\n this.formElem &&\r\n this.setState({ isFormValid: this.formElem.checkValidity() }, () =>\r\n changeIsFormValid(this.formElem.checkValidity())\r\n )\r\n );\r\n };\r\n\r\n componentDidMount() {\r\n this.validateForm();\r\n }\r\n\r\n //Prevent page refresh when the form is submitted on Edge browser\r\n onSubmit = e => {\r\n e.preventDefault();\r\n return false;\r\n };\r\n\r\n onAdd = e => {\r\n const { onAdd } = this.props;\r\n e.preventDefault();\r\n onAdd();\r\n };\r\n\r\n render() {\r\n const {\r\n onChange,\r\n onCheckboxClick,\r\n onExtractionChange,\r\n // onDelete,\r\n value,\r\n extractions,\r\n intl,\r\n isResolved,\r\n isOtherTemplate,\r\n isUpdate,\r\n templateTypes,\r\n isGroupExtLoading,\r\n selectedType\r\n } = this.props;\r\n const { isFormValid, selectedExtractions } = this.state;\r\n const ignoreSort = selectedType?.templateCategoryId === Constants.TemplateCategories.DETAIL_TESTING;\r\n return (\r\n
\r\n }\r\n headingId=\"guided-template.template-name\"\r\n maxLength=\"400\"\r\n onChange={onChange}\r\n onValid={this.validateForm}\r\n placeholder={intl.formatMessage({ id: 'create-template.untitled' })}\r\n value={value}\r\n />\r\n {!isOtherTemplate ? (\r\n
\r\n {!extractions || !isResolved ? (\r\n
\r\n \r\n
\r\n ) : isUpdate ? (\r\n \r\n ) : (\r\n \r\n )}\r\n
\r\n ) : (\r\n
\r\n }\r\n description={}\r\n img={emptyStateImage}\r\n />\r\n \r\n \r\n \r\n
\r\n )}\r\n {!isOtherTemplate ? (\r\n
\r\n \r\n
\r\n ) : null}\r\n \r\n );\r\n }\r\n}\r\n\r\nexport default injectIntl(GuidedTemplateViewer);\r\n","import PropTypes from 'prop-types';\r\nimport React from 'react';\r\nimport { FormattedMessage } from 'react-intl';\r\nimport constants from 'utils/constants';\r\nimport Icon from 'components/shared/icon';\r\n\r\nconst {\r\n SELECT_TEMPLATE_TYPE,\r\n SELECT_DOC_TYPE,\r\n CREATE_TEMPLATE,\r\n ADD_EF,\r\n TEMPLATE_LIST,\r\n CUSTOMIZE_TEMPLATE,\r\n ADD_EF_CUSTOM_TEMPLATE\r\n} = constants.TemplateSteps;\r\n\r\n\r\n\r\nconst TemplateStepDescription = ({ templateStep, showCreateExtraction, templateCategoryId }) => {\r\n const isGenAITemplates = templateCategoryId == constants.TemplateCategories.NON_EDITABLE_GENAI_NONDETAIL_TESTING || \r\n templateCategoryId == constants.TemplateCategories.Custom_GENAI_NONDETAIL_TESTING || \r\n templateCategoryId == constants.TemplateCategories.NON_EDITABLE_GENAI_DETAIL_TESTING;\r\n\r\n return (\r\n
\r\n \r\n {templateStep === CREATE_TEMPLATE || templateStep === CUSTOMIZE_TEMPLATE ? (\r\n \r\n ) : (\r\n \r\n )}\r\n \r\n {templateStep === SELECT_TEMPLATE_TYPE && }\r\n {templateStep === SELECT_DOC_TYPE && }\r\n {(templateStep === CREATE_TEMPLATE || templateStep === CUSTOMIZE_TEMPLATE) && (\r\n \r\n )}\r\n {(templateStep === ADD_EF || templateStep === ADD_EF_CUSTOM_TEMPLATE) &&\r\n (!showCreateExtraction ? (\r\n \r\n ) : (\r\n \r\n ))}\r\n {templateStep === TEMPLATE_LIST && }\r\n \r\n \r\n
\r\n {templateStep === SELECT_TEMPLATE_TYPE && (\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n )}\r\n {templateStep === SELECT_DOC_TYPE && }\r\n {(templateStep === CREATE_TEMPLATE || templateStep === CUSTOMIZE_TEMPLATE) &&\r\n (isGenAITemplates ? (\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n \r\n )\r\n }} \r\n />\r\n
\r\n
\r\n \r\n \r\n \r\n )\r\n }}\r\n />\r\n
\r\n ) : (\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n \r\n )\r\n }}\r\n />\r\n
\r\n
\r\n \r\n \r\n \r\n )\r\n }}\r\n />\r\n
\r\n ))}\r\n {(templateStep === ADD_EF || templateStep === ADD_EF_CUSTOM_TEMPLATE) &&\r\n (!showCreateExtraction ? (\r\n \r\n ) : (\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n ))}\r\n {templateStep === TEMPLATE_LIST && (\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n )}\r\n
\r\n
\r\n )\r\n};\r\n\r\nTemplateStepDescription.propTypes = {\r\n showCreateExtraction: PropTypes.bool,\r\n templateStep: PropTypes.number,\r\n templateCategoryId: PropTypes.number\r\n};\r\n\r\nexport default TemplateStepDescription;\r\n","import PropTypes from 'prop-types';\r\nimport React, { Component } from 'react';\r\nimport { FormattedMessage } from 'react-intl';\r\n\r\nimport DocumentType from './document-type/document-type';\r\nimport TemplateList from './template-list/template-list';\r\nimport TemplateType from './template-type/template-type';\r\nimport AddExtraction from 'components/extractions/add-extraction/add-extraction';\r\nimport GuidedTemplateViewer from './template-customization/guided-template-viewer';\r\nimport constants from 'utils/constants';\r\nimport { createProjectExtractionField } from 'store/api';\r\nimport TemplateStepDescription from './template-step-description';\r\nimport Constants from 'utils/constants';\r\n\r\nconst {\r\n SELECT_TEMPLATE_TYPE,\r\n SELECT_DOC_TYPE,\r\n CREATE_TEMPLATE,\r\n ADD_EF,\r\n TEMPLATE_LIST,\r\n CUSTOMIZE_TEMPLATE,\r\n ADD_EF_CUSTOM_TEMPLATE\r\n} = constants.TemplateSteps;\r\n\r\n/** Different template steps when a user is creating a template for a project */\r\nclass TemplateSteps extends Component {\r\n static propTypes = {\r\n addExtractionClicked: PropTypes.bool,\r\n api: PropTypes.object,\r\n changeAddExtractionClicked: PropTypes.func,\r\n changeDisableCreateButton: PropTypes.func,\r\n changeIsAddExtractionButtonDisabled: PropTypes.func,\r\n changeIsFormValid: PropTypes.func,\r\n changeIsResolved: PropTypes.func,\r\n changeSelectedGroups: PropTypes.func,\r\n changeSelectedType: PropTypes.func,\r\n changeStep: PropTypes.func,\r\n isAddExtractionButtonDisabled: PropTypes.bool,\r\n isUpdate: PropTypes.bool,\r\n onDocumentTypeSubmit: PropTypes.func,\r\n onTemplateTypesSubmit: PropTypes.func,\r\n projectId: PropTypes.any,\r\n projectTemplates: PropTypes.object,\r\n selectedTemplates: PropTypes.array,\r\n selectedType: PropTypes.any,\r\n startNextTemplateCreation: PropTypes.func,\r\n templateStep: PropTypes.number,\r\n templateTypes: PropTypes.object\r\n };\r\n\r\n state = {\r\n isResolved: true,\r\n disableCreateButton: false,\r\n showCreateExtraction: false,\r\n isTemplateExtLoading: false,\r\n selectedType: {}\r\n };\r\n\r\n // Create a new extraction field\r\n createExtraction = (name, description) => {\r\n const { projectId } = this.props;\r\n return createProjectExtractionField(projectId, name, description);\r\n };\r\n\r\n // Handle create extraction success\r\n onCreateExtractionSuccess = extraction => {\r\n const {\r\n api: { loadAllExtraction }\r\n } = this.props;\r\n\r\n loadAllExtraction();\r\n this.onAddExtractionsSuccess([extraction]);\r\n };\r\n\r\n // Handle create extraction error\r\n onCreateExtractionFail = () => this.onHideAddExtraction();\r\n\r\n // Don't need to make an api call here so jump to onAddExtractionsSuccess\r\n addExtractions = () => Promise.resolve();\r\n\r\n // Handle add extraction success\r\n onAddExtractionsSuccess = extractions => {\r\n const { api, templateStep, changeStep } = this.props;\r\n const { addExtraction } = api;\r\n\r\n addExtraction({ data: extractions });\r\n this.setState({ showCreateExtraction: false });\r\n\r\n if (templateStep === ADD_EF_CUSTOM_TEMPLATE) {\r\n return changeStep(CUSTOMIZE_TEMPLATE);\r\n }\r\n return changeStep(CREATE_TEMPLATE);\r\n };\r\n\r\n // Handle add extraction fail\r\n onAddExtractionsFail = () => this.onHideAddExtraction();\r\n\r\n // Handle hiding the add extraction component\r\n onHideAddExtraction = () => {\r\n const { templateStep, changeStep } = this.props;\r\n\r\n this.setState({ showCreateExtraction: false });\r\n\r\n if (templateStep === ADD_EF_CUSTOM_TEMPLATE) {\r\n return changeStep(CUSTOMIZE_TEMPLATE);\r\n }\r\n return changeStep(CREATE_TEMPLATE);\r\n };\r\n\r\n showCreateExtraction = value => {\r\n this.setState({ showCreateExtraction: value });\r\n };\r\n\r\n onCreateNewClick = value => {\r\n const { changeStep, changeSelectedType } = this.props;\r\n changeSelectedType(null);\r\n changeStep(SELECT_TEMPLATE_TYPE);\r\n };\r\n\r\n onTemplateClick = value => {\r\n const { loadTemplateExtraction, onTemplateClick } = this.props.api;\r\n const { projectId, changeStep } = this.props;\r\n this.setState({ selectedType: value });\r\n onTemplateClick(value);\r\n loadTemplateExtraction(projectId, value.projectTemplateId);\r\n changeStep(CUSTOMIZE_TEMPLATE);\r\n };\r\n\r\n onTemplateViewerAdd = () => {\r\n const {\r\n changeStep,\r\n templateStep,\r\n projectTemplates,\r\n changeDisableCreateButton,\r\n changeIsResolved,\r\n projectId\r\n } = this.props;\r\n const { loadAllExtraction } = this.props.api;\r\n var tempCategoryID = this.props.selectedType\r\n ? this.props.selectedType.templateCategoryId\r\n : this.state.selectedType.projectTemplateId;\r\n if (\r\n projectTemplates.allExtractions.length <= 0 ||\r\n (projectTemplates.allExtractions.length > 0 &&\r\n projectTemplates.allExtractions[0].externalSystemId != tempCategoryID)\r\n ) {\r\n projectTemplates.allExtractions = [];\r\n loadAllExtraction(projectId, tempCategoryID);\r\n }\r\n this.setState({ disableCreateButton: false, isResolved: true }, () => {\r\n changeIsResolved(true);\r\n changeDisableCreateButton(false);\r\n });\r\n if (templateStep === CUSTOMIZE_TEMPLATE) {\r\n return changeStep(ADD_EF_CUSTOM_TEMPLATE);\r\n }\r\n return changeStep(ADD_EF);\r\n };\r\n\r\n onTemplateViewerSelect = value => {\r\n this.props.api.setIsSelected(value);\r\n };\r\n\r\n onTemplateViewerExtractionChange = extractions => {\r\n const { onExtractionChange } = this.props.api;\r\n onExtractionChange(extractions);\r\n };\r\n\r\n getExtractionGroups = extractions => {\r\n const { selectedType } = this.props;\r\n if(extractions.length == 0 && selectedType.templateCategoryId == Constants.TemplateCategories.Custom_GENAI_NONDETAIL_TESTING){\r\n const grps = [];\r\n grps.push({\r\n groupName: selectedType.groups[0].extractionFieldGroupName,\r\n groupId: selectedType.groups[0].extractionFieldGroupId\r\n });\r\n return grps;\r\n\r\n }\r\n \r\n return extractions.reduce((acc, cur) => {\r\n if (acc.find(ext => ext.groupId === cur.groupId) || cur.groupId === null) {\r\n return acc;\r\n } else {\r\n return acc.concat({\r\n groupName: cur.group,\r\n groupId: cur.groupId\r\n });\r\n }\r\n }, []);\r\n };\r\n\r\n render() {\r\n const {\r\n templateStep,\r\n projectTemplates,\r\n selectedType,\r\n templateTypes,\r\n changeSelectedType,\r\n onTemplateTypesSubmit,\r\n changeSelectedGroups,\r\n isUpdate,\r\n changeIsFormValid,\r\n changeAddExtractionClicked,\r\n changeIsAddExtractionButtonDisabled,\r\n addExtractionClicked,\r\n isAddExtractionButtonDisabled\r\n } = this.props;\r\n const { isResolved, showCreateExtraction, isTemplateExtLoading } = this.state;\r\n const { onNameChange } = this.props.api;\r\n\r\n return (\r\n
\r\n {templateStep === SELECT_TEMPLATE_TYPE ? (\r\n \r\n ) : (\r\n <>\r\n
\r\n {templateStep === SELECT_DOC_TYPE ||\r\n templateStep === CREATE_TEMPLATE ||\r\n templateStep === CUSTOMIZE_TEMPLATE ? (\r\n
\r\n

\r\n {templateStep === CUSTOMIZE_TEMPLATE ? (\r\n \r\n ) : (\r\n \r\n )}\r\n

\r\n
\r\n ) : null}\r\n
\r\n {templateStep === SELECT_DOC_TYPE && (\r\n \r\n )}\r\n {(templateStep === CREATE_TEMPLATE || templateStep === CUSTOMIZE_TEMPLATE) && (\r\n \r\n )}\r\n {(templateStep === ADD_EF || templateStep === ADD_EF_CUSTOM_TEMPLATE) && (\r\n \r\n )}\r\n\r\n {templateStep === TEMPLATE_LIST && (\r\n \r\n )}\r\n
\r\n
\r\n \r\n \r\n )}\r\n
\r\n );\r\n }\r\n}\r\n\r\nexport default TemplateSteps;\r\n","import { injectIntl, intlShape } from 'react-intl';\r\nimport PropTypes from 'prop-types';\r\nimport React, { Component } from 'react';\r\nimport { FormattedMessage } from 'react-intl';\r\nimport { withRouter } from 'react-router-dom';\r\nimport Constants from 'utils/constants';\r\nimport { getProjectCreationExtractionForGroup, getCurrentRegion } from 'store/api';\r\n\r\nimport Container from 'components/project-creation/shared/container';\r\nimport Icon from 'components/shared/icon';\r\nimport NextButton from 'components/create-template/templates/next-button';\r\nimport Button from 'components/shared/single-click-button';\r\nimport TemplateSteps from 'components/create-template/templates/template-steps/template-steps';\r\nimport { STEPS } from 'components/project-creation/constants';\r\nimport KiraProcessingPausedModal from 'components/shared/kira-processing-paused-modal';\r\n\r\nconst {\r\n SELECT_TEMPLATE_TYPE,\r\n TEMPLATE_LIST,\r\n CREATE_TEMPLATE,\r\n SELECT_DOC_TYPE,\r\n CUSTOMIZE_TEMPLATE,\r\n ADD_EF_CUSTOM_TEMPLATE,\r\n ADD_EF\r\n} = Constants.TemplateSteps;\r\n\r\nclass Templates extends Component {\r\n static propTypes = {\r\n addExtraction: PropTypes.func,\r\n changeTemplateName: PropTypes.func,\r\n clearTemplatesData: PropTypes.func,\r\n createProjectTemplate: PropTypes.func,\r\n deleteExtraction: PropTypes.func,\r\n enableExtractons: PropTypes.func,\r\n history: PropTypes.object,\r\n intl: intlShape,\r\n loadAllExtraction: PropTypes.func,\r\n loadGroupExtraction: PropTypes.func,\r\n loadGroups: PropTypes.func,\r\n loadProjectTemplates: PropTypes.func,\r\n loadTemplateExtraction: PropTypes.func,\r\n loadTypes: PropTypes.func,\r\n location: PropTypes.object,\r\n moveExtraction: PropTypes.func,\r\n onChangeStep: PropTypes.func,\r\n project: PropTypes.object,\r\n projectTemplates: PropTypes.object,\r\n selectExtraction: PropTypes.func,\r\n selectGroup: PropTypes.func,\r\n selectProjectTemplate: PropTypes.func,\r\n step: PropTypes.any,\r\n steps: PropTypes.array,\r\n templateTypes: PropTypes.object,\r\n updateProjectState: PropTypes.func,\r\n updateProjectTemplate: PropTypes.func\r\n };\r\n\r\n state = {\r\n templateStep: null,\r\n selectedType: null,\r\n selectedGroups: [],\r\n selectedTemplates: [],\r\n latestTemplateFolder: 0,\r\n disableCreateButton: false,\r\n isResolved: true,\r\n isFormValid: false,\r\n isAddExtractionButtonDisabled: true,\r\n addExtractionClicked: false,\r\n uploadingFiles: false,\r\n KiraProcessingModalOpen : false\r\n };\r\n\r\n componentDidMount() {\r\n const {\r\n project,\r\n loadGroups,\r\n loadProjectTemplates,\r\n loadTypes,\r\n history,\r\n location: { state: locationState }\r\n } = this.props;\r\n if (project && project.projectId) {\r\n // Load project templates on mount\r\n loadProjectTemplates({ projectId: project.projectId });\r\n loadGroups();\r\n loadTypes();\r\n }\r\n\r\n history.replace(); // clean location state\r\n if (locationState?.filesToUpload?.length > 0) {\r\n this.setState({\r\n uploadingFiles: { filesToUpload: locationState.filesToUpload, folderId: locationState.folderId }\r\n });\r\n }\r\n }\r\n\r\n componentDidUpdate(prevProps) {\r\n const { projectTemplates, project } = this.props;\r\n if (projectTemplates.templates != null) {\r\n if (prevProps.projectTemplates.templates !== projectTemplates.templates) {\r\n if (projectTemplates.templates.length > 0 && project.STATES.Creation()) {\r\n return this.setState({ templateStep: TEMPLATE_LIST });\r\n }\r\n return this.setState({ templateStep: SELECT_TEMPLATE_TYPE });\r\n }\r\n }\r\n }\r\n\r\n componentWillUnmount() {\r\n this.props.clearTemplatesData();\r\n }\r\n\r\n // Create detailed testing template to the server\r\n createDetailedTemplate = (templateName, templateCategoryId, extractionFields, templateTypeID = null) => {\r\n const { project, createProjectTemplate } = this.props;\r\n return createProjectTemplate({\r\n projectId: project.projectId,\r\n templateName: templateName,\r\n templateCategoryId: templateCategoryId,\r\n templateTypeID,\r\n extractionFields: extractionFields\r\n }).then(response => {\r\n this.setState({ latestTemplateFolder: response.payload.templateFolderId });\r\n if (!project.STATES.Creation()) {\r\n let state;\r\n let folderId = response.payload.templateFolderId;\r\n if (this.state.uploadingFiles?.folderId) {\r\n state = {\r\n filesToUpload: this.state.uploadingFiles.filesToUpload,\r\n projectTemplateId: response.payload.projectTemplateId\r\n };\r\n }\r\n\r\n this.props.history.push(`/region/${getCurrentRegion()}/project/${project.projectId}/folder/${folderId}`, state);\r\n }\r\n });\r\n };\r\n\r\n // Create template to the server\r\n createTemplate = () => {\r\n const {\r\n project,\r\n createProjectTemplate,\r\n projectTemplates,\r\n templateTypes,\r\n projectTemplates: { templateExtractions }\r\n } = this.props;\r\n const { selectedTemplates, selectedType } = this.state;\r\n\r\n const templateCategoryId = projectTemplates.templateCategoryId\r\n ? projectTemplates.templateCategoryId\r\n : selectedType.templateCategoryId;\r\n const templateTypeID = projectTemplates.templateTypeID\r\n ? projectTemplates.templateTypeID\r\n : templateTypes.types.templateTypes.find(\r\n tmp =>\r\n tmp.templateCategoryId === templateCategoryId &&\r\n tmp.groups.length === 1 &&\r\n tmp.groups[0].extractionFieldGroupId === projectTemplates.selectedGroup.Id\r\n )?.templateTypeID;\r\n\r\n return createProjectTemplate({\r\n projectId: project.projectId,\r\n templateName: projectTemplates.templateName,\r\n templateCategoryId: templateCategoryId,\r\n templateTypeID: templateTypeID,\r\n extractionFields: this.getExtIds(templateExtractions)\r\n }).then(response => {\r\n this.setState({ latestTemplateFolder: response.payload.templateFolderId });\r\n if (!project.STATES.Creation() && selectedTemplates.length === 0) {\r\n let state;\r\n let folderId = response.payload.templateFolderId;\r\n if (this.state.uploadingFiles?.folderId) {\r\n state = {\r\n filesToUpload: this.state.uploadingFiles.filesToUpload,\r\n projectTemplateId: response.payload.projectTemplateId\r\n };\r\n }\r\n\r\n this.props.history.push(`/region/${getCurrentRegion()}/project/${project.projectId}/folder/${folderId}`, state);\r\n }\r\n });\r\n };\r\n\r\n // Update the existing to the server\r\n updateTemplate = () => {\r\n const {\r\n project,\r\n updateProjectTemplate,\r\n projectTemplates: { templateExtractions },\r\n projectTemplates\r\n } = this.props;\r\n\r\n return updateProjectTemplate({\r\n projectId: project.projectId,\r\n templateName: projectTemplates.templateName,\r\n templateCategoryId: projectTemplates.templateCategoryId,\r\n templateId: projectTemplates.templateId,\r\n extractionFields: this.getExtIds(templateExtractions)\r\n });\r\n };\r\n\r\n // Delete specified extraction\r\n deleteExtraction = (extId, callAPI) => {\r\n const { project, deleteExtraction, projectTemplates } = this.props;\r\n return deleteExtraction({\r\n projectId: project.projectId,\r\n templateId: projectTemplates.templateId,\r\n extractionFieldId: extId,\r\n callAPI: callAPI\r\n });\r\n };\r\n\r\n getExtIds = data => {\r\n return data.reduce((accumulator, currentValue) => {\r\n if (currentValue.isSelected) {\r\n accumulator.push({\r\n extractionFieldId: currentValue.id,\r\n extractionFieldGroupId: currentValue.groupId\r\n });\r\n }\r\n return accumulator;\r\n }, []);\r\n };\r\n\r\n toggleSelected = data => {\r\n return this.props.selectExtraction(data);\r\n };\r\n\r\n // Final API & method handlers\r\n getHandlers = () => {\r\n return {\r\n addExtraction: this.props.addExtraction,\r\n loadAllExtraction: this.props.loadAllExtraction,\r\n loadTemplateExtraction: this.props.loadTemplateExtraction,\r\n loadGroupExtraction: this.props.loadGroupExtraction,\r\n onCreate: this.createTemplate,\r\n onCreateDetailed: this.createDetailedTemplate,\r\n onExtractionChange: extractions => this.props.moveExtraction(extractions),\r\n onDocumentTypeChange: group =>\r\n this.props.selectGroup({\r\n name: group.name,\r\n Id: group.id,\r\n templateCategoryId: group.templateCategoryId,\r\n untitled: '',\r\n templateSuffix: this.props.intl.formatMessage({ id: 'create-template.templateSuffix' }),\r\n templateTypeID: group.templateTypeID\r\n }),\r\n onExtractionDelete: value => this.deleteExtraction(value),\r\n onNameChange: this.props.changeTemplateName,\r\n onTemplateClick: value => this.props.selectProjectTemplate(value),\r\n onGetTemplates: () => this.props.loadProjectTemplates({ projectId: this.props.project.projectId }),\r\n onUpdate: this.updateTemplate,\r\n setIsSelected: value => this.toggleSelected(value)\r\n };\r\n };\r\n\r\n onStepChange = val => this.setState({ templateStep: val });\r\n\r\n createNonEditableDetailTestingTemplate = async (type, api) => {\r\n const templateTypes = this.props;\r\n var payload = [];\r\n var templateName;\r\n const accountName = templateTypes.templateTypes.types.templateTypeGroups\r\n .filter(index => index.templateTypeGroupID === type.templateTypeGroupID[0])\r\n .map(index => index.templateTypeGroupName);\r\n\r\n this.onStepChange(null);\r\n\r\n for (let i = 0; i < type.groups.length; i++) {\r\n const currentGroup = type.groups[i];\r\n if (!templateName) {\r\n templateName = currentGroup.extractionFieldGroupName;\r\n }\r\n const extractionFields = await getProjectCreationExtractionForGroup(currentGroup.extractionFieldGroupId);\r\n payload = [\r\n ...payload,\r\n ...extractionFields.data\r\n .filter(ef => ef.templateTypeIdDisplayOrders.filter(tt => tt.templateTypeId === type.templateTypeID).length)\r\n .sort((ef1, ef2) => this.compareExtractionFieldTemplateOrder(ef1, ef2, type.templateTypeID))\r\n .map(({ extractionFieldId }) => ({\r\n extractionFieldId: extractionFieldId,\r\n extractionFieldGroupId: currentGroup.extractionFieldGroupId\r\n }))\r\n ];\r\n }\r\n api\r\n .onCreateDetailed(\r\n `${accountName} ${type.templateTypeName}`,\r\n type.templateCategoryId,\r\n payload,\r\n type.templateTypeID\r\n )\r\n .then(() => {\r\n api.onGetTemplates();\r\n this.onStepChange(TEMPLATE_LIST);\r\n });\r\n };\r\n\r\n compareExtractionFieldTemplateOrder = (ef1, ef2, templateTypeId) => {\r\n const templateTypeDisplayOrder1 = ef1.templateTypeIdDisplayOrders.find(tt => tt.templateTypeId === templateTypeId);\r\n const templateTypeDisplayOrder2 = ef2.templateTypeIdDisplayOrders.find(tt => tt.templateTypeId === templateTypeId);\r\n\r\n return (\r\n templateTypeDisplayOrder1.templateExtractionFieldDisplayorder -\r\n templateTypeDisplayOrder2.templateExtractionFieldDisplayorder\r\n );\r\n };\r\n\r\n // Template type functions start\r\n onTemplateTypesSubmit = api => {\r\n const { selectedType } = this.state;\r\n const {project} = this.props;\r\n if(!project.isDocumentProcessingEnabled && selectedType.templateCategoryId === Constants.TemplateCategories.NON_DETAIL_TESTING )\r\n {\r\n this.setState({ selectedType: selectedType,KiraProcessingModalOpen:true }, () => {\r\n if (\r\n (selectedType.templateCategoryId === Constants.TemplateCategories.NON_DETAIL_TESTING ||\r\n selectedType.templateCategoryId === Constants.TemplateCategories.DETAIL_TESTING) &&\r\n selectedType.groups.length > 1\r\n ) {\r\n this.onStepChange(SELECT_DOC_TYPE);\r\n } else if (selectedType.templateCategoryId === Constants.TemplateCategories.NON_EDITABLE_DETAIL_TESTING ) {\r\n this.createNonEditableDetailTestingTemplate(selectedType, api);\r\n } else {\r\n this.setState({ isTemplateExtLoading: true });\r\n if (selectedType) {\r\n api.onDocumentTypeChange({\r\n id: selectedType.groups[0].extractionFieldGroupId,\r\n name: selectedType.groups[0].extractionFieldGroupName,\r\n templateCategoryId: selectedType.templateCategoryId,\r\n templateTypeID: selectedType.templateTypeID\r\n });\r\n api\r\n .loadGroupExtraction(\r\n selectedType.groups[0].extractionFieldGroupId,\r\n selectedType.templateCategoryId === Constants.TemplateCategories.DETAIL_TESTING\r\n ? selectedType.templateTypeID\r\n : null\r\n )\r\n .then(() => this.setState({ isTemplateExtLoading: false }));\r\n } else {\r\n api.onDocumentTypeChange({ id: 'Other' });\r\n api.loadGroupExtraction(0);\r\n }\r\n this.onStepChange(CREATE_TEMPLATE);\r\n }\r\n });\r\n\t }\r\n\t else\r\n\t {\r\n this.setState({ selectedType: selectedType }, () => {\r\n if (\r\n (selectedType.templateCategoryId === Constants.TemplateCategories.NON_DETAIL_TESTING ||\r\n selectedType.templateCategoryId === Constants.TemplateCategories.DETAIL_TESTING) &&\r\n selectedType.groups.length > 1\r\n ) {\r\n this.onStepChange(SELECT_DOC_TYPE);\r\n } else if (selectedType.templateCategoryId === Constants.TemplateCategories.NON_EDITABLE_DETAIL_TESTING ){\r\n this.createNonEditableDetailTestingTemplate(selectedType, api);\r\n } else {\r\n this.setState({ isTemplateExtLoading: true });\r\n if (selectedType) {\r\n api.onDocumentTypeChange({\r\n id: selectedType.groups[0].extractionFieldGroupId,\r\n name: selectedType.groups[0].extractionFieldGroupName,\r\n templateCategoryId: selectedType.templateCategoryId,\r\n templateTypeID: selectedType.templateTypeID\r\n });\r\n api\r\n .loadGroupExtraction(\r\n selectedType.groups[0].extractionFieldGroupId,\r\n selectedType.templateCategoryId === Constants.TemplateCategories.DETAIL_TESTING\r\n ? selectedType.templateTypeID\r\n : null\r\n )\r\n .then(() => this.setState({ isTemplateExtLoading: false }));\r\n } else {\r\n api.onDocumentTypeChange({ id: 'Other' });\r\n api.loadGroupExtraction(0);\r\n }\r\n\r\n if (selectedType.templateCategoryId == Constants.TemplateCategories.Custom_GENAI_NONDETAIL_TESTING) {\r\n this.onStepChange(ADD_EF);\r\n api.loadAllExtraction(project.projectId, Constants.TemplateCategories.Custom_GENAI_NONDETAIL_TESTING);\r\n } \r\n else \r\n this.onStepChange(CREATE_TEMPLATE);\r\n }\r\n });\r\n\t }\r\n \r\n\r\n };\r\n // Template type functions end\r\n\r\n // Document type function start\r\n onDocumentTypeSubmit = event => {\r\n event.preventDefault();\r\n\r\n const { selectedGroups } = this.state;\r\n\r\n this.setState({ selectedTemplates: selectedGroups.reverse(), disableCreateButton: false }, () => {\r\n this.startNextTemplateCreation();\r\n });\r\n };\r\n\r\n startNextTemplateCreation = () => {\r\n const api = this.getHandlers();\r\n var selectedTemplates = this.state.selectedTemplates.slice(0);\r\n var nextTemplate = selectedTemplates.pop();\r\n this.setState({ selectedTemplates });\r\n\r\n // Set current template to create (first of array)\r\n api.onDocumentTypeChange(nextTemplate);\r\n api.loadGroupExtraction(nextTemplate.id);\r\n\r\n this.onStepChange(CREATE_TEMPLATE);\r\n };\r\n\r\n // Handle clicking on the back button\r\n onBackButtonClick = () => {\r\n const { projectTemplates } = this.props;\r\n const { templateStep, selectedType } = this.state;\r\n\r\n switch (templateStep) {\r\n case CUSTOMIZE_TEMPLATE:\r\n this.props.enableExtractons();\r\n return this.onStepChange(TEMPLATE_LIST);\r\n case SELECT_TEMPLATE_TYPE:\r\n this.props.enableExtractons();\r\n return this.onStepChange(SELECT_TEMPLATE_TYPE);\r\n case CREATE_TEMPLATE:\r\n case SELECT_DOC_TYPE:\r\n this.props.enableExtractons();\r\n this.setState({ selectedTemplates: [], selectedType: null });\r\n return this.onStepChange(SELECT_TEMPLATE_TYPE);\r\n case ADD_EF:\r\n if(selectedType.templateCategoryId == Constants.TemplateCategories.Custom_GENAI_NONDETAIL_TESTING && projectTemplates.templateExtractions.length <= 0 ) {\r\n return this.onStepChange(SELECT_TEMPLATE_TYPE)\r\n } \r\n return this.onStepChange(CREATE_TEMPLATE)\r\n case ADD_EF_CUSTOM_TEMPLATE:\r\n return this.onStepChange(CUSTOMIZE_TEMPLATE);\r\n default:\r\n return this.onStepChange(SELECT_TEMPLATE_TYPE);\r\n }\r\n };\r\n\r\n hasSelectedFields = isDisabled => {\r\n const { projectTemplates } = this.props;\r\n const { isFormValid } = this.state;\r\n\r\n const externalValidation = !isDisabled && isFormValid;\r\n const extractionExist = projectTemplates && projectTemplates.templateExtractions.length;\r\n\r\n if (externalValidation && extractionExist)\r\n return projectTemplates.templateExtractions.reduce((acc, cur) => {\r\n if (cur.isSelected) acc = true;\r\n return acc;\r\n }, false);\r\n return false;\r\n };\r\n\r\n onCreateTemplate = e => {\r\n const { project } = this.props;\r\n const { templateStep, selectedTemplates } = this.state;\r\n const { onCreate, onGetTemplates, onUpdate } = this.getHandlers();\r\n\r\n e.preventDefault();\r\n this.setState({ disableCreateButton: true });\r\n\r\n if (templateStep === CUSTOMIZE_TEMPLATE) {\r\n // If we're updating, we're going to update a template\r\n return onUpdate().then(() => {\r\n this.setState({ disableCreateButton: false, selectedType: null });\r\n onGetTemplates();\r\n this.onStepChange(TEMPLATE_LIST);\r\n });\r\n } else {\r\n // Otherwise create a new one\r\n return onCreate().then(() => {\r\n if (selectedTemplates.length > 0) {\r\n this.setState({ disableCreateButton: false }, () => this.startNextTemplateCreation());\r\n } else {\r\n this.setState({ disableCreateButton: false, selectedType: null });\r\n onGetTemplates();\r\n if (project.STATES.Creation()) {\r\n this.onStepChange(TEMPLATE_LIST);\r\n }\r\n }\r\n });\r\n }\r\n };\r\n\r\n closeKiraProcessingPausedModal = () =>\r\n { \r\n if(!this.props.project.isDocumentProcessingEnabled) \r\n {\r\n this.setState({KiraProcessingModalOpen: false});\r\n }\r\n }\r\n\r\n render() {\r\n const { project, step, steps, onChangeStep, projectTemplates, templateTypes, updateProjectState } = this.props;\r\n const {\r\n templateStep,\r\n latestTemplateFolder,\r\n selectedType,\r\n selectedGroups,\r\n selectedTemplates,\r\n disableCreateButton,\r\n isResolved,\r\n isAddExtractionButtonDisabled,\r\n addExtractionClicked,\r\n KiraProcessingModalOpen\r\n } = this.state;\r\n const apiHandler = this.getHandlers();\r\n const isUpdate = templateStep === CUSTOMIZE_TEMPLATE ? true : false;\r\n const isDisabled =\r\n disableCreateButton || !isResolved || projectTemplates.isGroupExtLoading || projectTemplates.isTemplateExtLoading;\r\n if(selectedType!==null && selectedType!== undefined) {\r\n const templateCategoryId=selectedType.templateCategoryId;\r\n localStorage.setItem(\"templateCategoryId\",templateCategoryId)\r\n }\r\n return (\r\n <>\r\n \r\n \r\n \r\n ) : step === STEPS.WORKFLOWS && project.projectStateId === 1 ? false : (\r\n
\r\n )\r\n }\r\n customCloseButton={\r\n {\r\n let newLocation = `/region/${getCurrentRegion()}/project/${project.projectId}/`;\r\n let state;\r\n if (this.state.uploadingFiles?.folderId) {\r\n newLocation += `folder/${this.state.uploadingFiles.folderId}`;\r\n state = { filesToUpload: this.state.uploadingFiles.filesToUpload };\r\n } else {\r\n newLocation += project.STATES.Creation() ? 'creation' : 'extractionfield';\r\n }\r\n this.props.history.push(newLocation, state);\r\n }}\r\n >\r\n \r\n \r\n }\r\n customNextButton={\r\n !projectTemplates.isTemplatesLoading && templateStep === 4 ? (\r\n \r\n ) : templateStep === 0 ? (\r\n this.onTemplateTypesSubmit(apiHandler)}\r\n >\r\n {selectedType && selectedType.templateCategoryId === Constants.TemplateCategories.NON_EDITABLE_DETAIL_TESTING\r\n ? (\r\n \r\n ) : (\r\n \r\n )}\r\n \r\n ) : templateStep === 1 ? (\r\n \r\n \r\n \r\n ) : templateStep === 2 || templateStep === 5 ? (\r\n \r\n {isUpdate ? (\r\n \r\n ) : (\r\n \r\n )}\r\n \r\n ) : templateStep === ADD_EF || templateStep === ADD_EF_CUSTOM_TEMPLATE ? (\r\n this.setState({ addExtractionClicked: true })}\r\n >\r\n \r\n \r\n ) : (\r\n
\r\n )\r\n }\r\n >\r\n {projectTemplates.isTemplatesLoading || projectTemplates.isGroupsLoading || templateStep === null ? (\r\n \r\n ) : (\r\n this.setState({ selectedGroups: selectedGroups })}\r\n changeSelectedType={selectedType => this.setState({ selectedType: selectedType })}\r\n changeIsResolved={isResolved => this.setState({ isResolved: isResolved })}\r\n changeIsFormValid={isFormValid => this.setState({ isFormValid: isFormValid })}\r\n changeIsAddExtractionButtonDisabled={val => {\r\n this.setState({ isAddExtractionButtonDisabled: val });\r\n }}\r\n changeAddExtractionClicked={val => this.setState({ addExtractionClicked: val })}\r\n changeDisableCreateButton={disableCreateButton =>\r\n this.setState({ disableCreateButton: disableCreateButton })\r\n }\r\n changeStep={this.onStepChange}\r\n projectTemplates={projectTemplates}\r\n templateTypes={templateTypes}\r\n selectedTemplates={selectedTemplates}\r\n isUpdate={isUpdate}\r\n isAddExtractionButtonDisabled={isAddExtractionButtonDisabled}\r\n addExtractionClicked={addExtractionClicked}\r\n startNextTemplateCreation={this.startNextTemplateCreation}\r\n />\r\n )}\r\n\r\n {KiraProcessingModalOpen && !project.isDocumentProcessingEnabled && selectedType.templateCategoryId ===0 &&\r\n }\r\n\r\n \r\n \r\n );\r\n }\r\n}\r\n\r\nexport default withRouter(injectIntl(Templates));\r\n","import { connect } from 'react-redux';\r\n\r\nimport { loadTypes } from 'store/project-creation/template-types';\r\n\r\nimport {\r\n loadGroups,\r\n loadGroupExtraction,\r\n loadTemplateExtraction,\r\n loadAllExtraction,\r\n loadProjectTemplates,\r\n createProjectTemplate,\r\n selectGroup,\r\n updateProjectTemplate,\r\n deleteExtraction,\r\n moveExtraction,\r\n addExtraction,\r\n changeTemplateName,\r\n selectProjectTemplate,\r\n clearTemplatesData,\r\n selectExtraction,\r\n enableExtractons\r\n} from 'store/project-templates';\r\n\r\nimport { updateProjectState } from 'store/current-project';\r\nimport Templates from 'components/create-template/templates/templates';\r\n\r\nconst mapStateToProps = ({ data: { projectTemplates, templateTypes } }) => ({\r\n projectTemplates,\r\n templateTypes\r\n});\r\n\r\nconst mapDispatchToProps = {\r\n loadTypes,\r\n loadGroups,\r\n loadGroupExtraction,\r\n loadTemplateExtraction,\r\n loadAllExtraction,\r\n loadProjectTemplates,\r\n createProjectTemplate,\r\n selectGroup,\r\n updateProjectTemplate,\r\n deleteExtraction,\r\n moveExtraction,\r\n addExtraction,\r\n changeTemplateName,\r\n selectProjectTemplate,\r\n clearTemplatesData,\r\n updateProjectState,\r\n selectExtraction,\r\n enableExtractons\r\n};\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(Templates);\r\n","import PropTypes from 'prop-types';\r\nimport React, { Component } from 'react';\r\nimport Icon from 'components/shared/icon';\r\n\r\nimport CONSTANTS from 'utils/constants';\r\nimport { STEPS, DEFAULT_STEPS, SETTINGS_STEPS } from 'components/project-creation/constants';\r\nimport ProgressBar from 'components/project-creation/progress-bar/progress-bar';\r\nimport ProjectDetails from 'components/project-creation/project-details/project-details';\r\nimport TeamMembers from 'containers/project-creation/team-members-container';\r\nimport { FormattedMessage } from 'react-intl';\r\nimport Templates from 'containers/create-template/templates-container';\r\nimport Constants from 'utils/constants';\r\n\r\nclass ProjectCreation extends Component {\r\n static propTypes = {\r\n clearProjectData: PropTypes.func,\r\n createProjectTrack: PropTypes.func,\r\n currentProject: PropTypes.object,\r\n currentUser: PropTypes.object,\r\n history: PropTypes.object,\r\n loadProjectTemplates: PropTypes.func,\r\n location: PropTypes.object,\r\n projectId: PropTypes.any,\r\n projectTemplates: PropTypes.object,\r\n updateProjectEngagement: PropTypes.func,\r\n updateProjectName: PropTypes.func\r\n };\r\n\r\n state = {\r\n projectState: {\r\n SETTINGS: false,\r\n NEW: false,\r\n INPROGRESS: false,\r\n COPY: false,\r\n CARRY: false,\r\n ARCHIVE: false\r\n },\r\n isLoading: false,\r\n step: null,\r\n projectData: null\r\n };\r\n\r\n // Set initial state helper fn\r\n setInitialState = (option, step) => {\r\n const { projectState } = this.state;\r\n projectState[option] = true; // Make the page we're on true\r\n this.setState({ projectState, step, isLoading: false }); // Set step to navigate to based on that page\r\n };\r\n\r\n componentDidMount() {\r\n this.initialize();\r\n }\r\n\r\n componentWillReceiveProps(nextProps) {\r\n if (this.props.location.pathname != nextProps.location.pathname) {\r\n const { projectId, currentProject, location, loadProjectTemplates } = nextProps;\r\n const { projectData } = this.state;\r\n const projectTypeId = this.props.location.state && this.props.location.state.projectTypeId ? this.props.location.state.projectTypeId :\r\n Constants.ProjectTypes.EXTRACTION_PROJECT\r\n\r\n if (!projectId) {\r\n if (projectData !== null) {\r\n // Project already has an engagement id\r\n return this.setInitialState('INPROGRESS', STEPS.TEAM_MEMBERS);\r\n } else {\r\n if(projectTypeId == CONSTANTS.ProjectTypes.WORKSPACE_PROJECT)\r\n return this.setInitialState('INPROGRESS', STEPS.TEAM_MEMBERS);\r\n else\r\n // New Project\r\n return this.setInitialState('NEW', STEPS.PROJECT_DETAILS);\r\n }\r\n } else if (\r\n currentProject.projectStateId == CONSTANTS.ProjectStateIds.inCreation &&\r\n currentProject.projectTypeId == CONSTANTS.ProjectTypes.WORKSPACE_PROJECT\r\n ) {\r\n return this.setInitialState('INPROGRESS', STEPS.TEAM_MEMBERS);\r\n } else if (currentProject.STATES.Started() && location.pathname.includes('settings')) {\r\n // Settings page\r\n return this.setInitialState('SETTINGS', STEPS.PROJECT_DETAILS);\r\n } else if (location.pathname.includes('project-details')) {\r\n return this.setInitialState('SETTINGS', STEPS.PROJECT_DETAILS);\r\n } else if (location.pathname.includes('team-members')) {\r\n return this.setInitialState('SETTINGS', STEPS.TEAM_MEMBERS);\r\n } else if (currentProject.STATES.Creation() && location.pathname.includes('copy')) {\r\n // Project copy workflow\r\n if (currentProject.engagementId && currentProject.sourceType !== CONSTANTS.ProjectSourceTypes.UserEntered) {\r\n // Project already has engament id\r\n return this.setInitialState('COPY', STEPS.TEAM_MEMBERS);\r\n } else {\r\n // Project has no engament id or is a user entered engagement\r\n return this.setInitialState('COPY', STEPS.PROJECT_DETAILS);\r\n }\r\n } else if (currentProject.STATES.ReadOnly()) {\r\n // Project archive\r\n return this.setInitialState('ARCHIVE', STEPS.PROJECT_DETAILS);\r\n } else if (currentProject.STATES.InProgress() && location.pathname.includes('creation')) {\r\n // Project creation in progress\r\n loadProjectTemplates({ projectId }).then(result => {\r\n const { projectTemplates } = this.props;\r\n if (currentProject.users.filter(v => v.userDetail.isPPD).length >= 1 && projectTemplates.templates.length) {\r\n // Project already has a PPD\r\n return this.setInitialState('INPROGRESS', STEPS.TEAM_MEMBERS);\r\n } else if (currentProject.engagementId) {\r\n // Project already has an engagement id\r\n return this.setInitialState('INPROGRESS', STEPS.TEAM_MEMBERS);\r\n } else {\r\n // Project has no engament id\r\n return this.setInitialState('INPROGRESS', STEPS.PROJECT_DETAILS);\r\n }\r\n });\r\n }\r\n }\r\n }\r\n componentDidUpdate(prevProps, prevState) {\r\n //Reinitialize on state change\r\n if (this.props.currentProject.projectStateId !== prevProps.currentProject.projectStateId) {\r\n this.initialize();\r\n }\r\n if (this.state.projectData !== prevState.projectData) {\r\n this.initialize();\r\n }\r\n }\r\n\r\n initialize() {\r\n const { projectId, currentProject, location, loadProjectTemplates } = this.props;\r\n const { projectData } = this.state;\r\n const projectTypeId = this.props.location.state && this.props.location.state.projectTypeId ? this.props.location.state.projectTypeId :\r\n Constants.ProjectTypes.EXTRACTION_PROJECT\r\n\r\n // Setting initial views for project creation/settings/copy page\r\n if (!projectId) {\r\n if (projectData !== null) {\r\n // Project already has an engagement id\r\n return this.setInitialState('INPROGRESS', STEPS.TEAM_MEMBERS);\r\n } else {\r\n if(projectTypeId == CONSTANTS.ProjectTypes.WORKSPACE_PROJECT)\r\n return this.setInitialState('INPROGRESS', STEPS.TEAM_MEMBERS);\r\n else\r\n // New Project\r\n return this.setInitialState('NEW', STEPS.PROJECT_DETAILS);\r\n }\r\n } else if (\r\n currentProject.projectStateId == CONSTANTS.ProjectStateIds.inCreation &&\r\n currentProject.projectTypeId == CONSTANTS.ProjectTypes.WORKSPACE_PROJECT\r\n ) {\r\n return this.setInitialState('INPROGRESS', STEPS.TEAM_MEMBERS);\r\n } else if (location.state && location.state.grantingAccess) {\r\n return this.setInitialState(location.state.inCreation ? 'INPROGRESS' : 'SETTINGS', STEPS.TEAM_MEMBERS);\r\n } else if (currentProject.STATES.Started() && location.pathname.includes('settings')) {\r\n // Settings page\r\n return this.setInitialState('SETTINGS', STEPS.PROJECT_DETAILS);\r\n } else if (location.pathname.includes('project-details')) {\r\n return this.setInitialState('SETTINGS', STEPS.PROJECT_DETAILS);\r\n } else if (location.pathname.includes('team-members')) {\r\n return this.setInitialState('SETTINGS', STEPS.TEAM_MEMBERS);\r\n } else if (currentProject.STATES.Creation() && location.pathname.includes('copy')) {\r\n // Project copy workflow\r\n if (currentProject.engagementId && currentProject.sourceType !== CONSTANTS.ProjectSourceTypes.UserEntered) {\r\n // Project already has engament id\r\n return this.setInitialState('COPY', STEPS.TEAM_MEMBERS);\r\n } else {\r\n // Project has no engament id or is a user entered engagement\r\n return this.setInitialState('COPY', STEPS.PROJECT_DETAILS);\r\n }\r\n } else if (currentProject.STATES.ReadOnly()) {\r\n // Project archive\r\n return this.setInitialState('ARCHIVE', STEPS.PROJECT_DETAILS);\r\n } else if (currentProject.STATES.InProgress() && location.pathname.includes('creation')) {\r\n // Project creation in progress\r\n loadProjectTemplates({ projectId }).then(result => {\r\n const { projectTemplates } = this.props;\r\n if (projectTemplates?.templates?.length) {\r\n // Project already has a PPD\r\n return this.setInitialState('INPROGRESS', STEPS.TEAM_MEMBERS);\r\n } else if (currentProject.engagementId) {\r\n // Project already has an engagement id\r\n return this.setInitialState('INPROGRESS', STEPS.TEAM_MEMBERS);\r\n } else {\r\n // Project has no engament id\r\n return this.setInitialState('INPROGRESS', STEPS.PROJECT_DETAILS);\r\n }\r\n });\r\n }\r\n }\r\n\r\n onChangeStep = newStepIndex => {\r\n const { step } = this.state;\r\n\r\n if (newStepIndex !== step) {\r\n this.setState({\r\n step: newStepIndex\r\n });\r\n }\r\n };\r\n\r\n // Function to update projectData\r\n updateProjectData = newProjectData => {\r\n const { projectData } = this.state;\r\n const members = projectData?.members;\r\n const myRole = projectData?.myRole\r\n let updatedProjectData =''\r\n\r\n if(members !== undefined && newProjectData.members == undefined){\r\n updatedProjectData = {\r\n ...newProjectData,\r\n members: members,\r\n myRole: myRole\r\n }};\r\n\r\n if (newProjectData !== projectData) {\r\n this.setState({\r\n projectData: updatedProjectData !== \"\" ? updatedProjectData : newProjectData\r\n });\r\n }\r\n };\r\n\r\n renderStep = steps => {\r\n const { step, projectState, projectData } = this.state;\r\n const {\r\n currentProject,\r\n createProjectTrack,\r\n updateProjectName,\r\n updateProjectEngagement,\r\n currentUser,\r\n projectId,\r\n history\r\n } = this.props;\r\n\r\n switch (step) {\r\n case STEPS.PROJECT_DETAILS:\r\n return (\r\n \r\n );\r\n case STEPS.TEAM_MEMBERS:\r\n return (\r\n \r\n );\r\n }\r\n };\r\n\r\n render() {\r\n const { step, projectState } = this.state;\r\n\r\n const isSettings = projectState.SETTINGS || projectState.COPY || projectState.ARCHIVE;\r\n const steps = isSettings ? SETTINGS_STEPS : DEFAULT_STEPS;\r\n const { currentProject, location } = this.props;\r\n const hideProgressBar =\r\n location.pathname.includes('project-details') || location.pathname.includes('team-members') ? true : false;\r\n\r\n if (step === null) {\r\n return (\r\n
\r\n \r\n \r\n
\r\n );\r\n }\r\n\r\n return (\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n   /  \r\n \r\n \r\n \r\n   /  \r\n {currentProject.projectName}\r\n
\r\n
\r\n {!hideProgressBar ? (\r\n
\r\n this.setState({ step })}\r\n />\r\n {this.renderStep(steps)}\r\n
\r\n ) : (\r\n
{this.renderStep(steps)}
\r\n )}\r\n
\r\n );\r\n }\r\n}\r\n\r\nexport default ProjectCreation;\r\n","import { connect } from 'react-redux';\r\n\r\nimport { loadProjectMembers } from 'store/project-members';\r\nimport { loadProjectTemplates } from 'store/project-templates';\r\n\r\nimport {\r\n clearProjectData,\r\n updateProjectName,\r\n updateEngagementManually,\r\n updateProjectEngagement,\r\n createProjectTrack,\r\n updateProjectEngagementManually\r\n} from 'store/current-project';\r\nimport ProjectCreation from 'components/project-creation/project-creation';\r\n\r\nconst mapStateToProps = ({ data: { projectTemplates } }) => ({\r\n projectTemplates\r\n});\r\n\r\nconst mapDispatchToProps = {\r\n clearProjectData,\r\n createProjectTrack,\r\n loadProjectMembers,\r\n loadProjectTemplates,\r\n updateProjectEngagement,\r\n updateProjectName,\r\n updateEngagementManually,\r\n updateProjectEngagementManually\r\n};\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(ProjectCreation);\r\n","import React, { Component } from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport ReactTooltip from 'react-tooltip';\r\nimport Header from 'containers/header/header';\r\nimport ProjectCreation from 'containers/project-creation/project-container';\r\nimport NotificationsContainer from 'containers/shared/notifications-container';\r\n\r\nimport Permissions from 'permissions/permissions';\r\nimport history from 'utils/history';\r\n\r\nimport ToolBar from 'components/project-list/toolbar/toolbar';\r\n\r\nclass ProjectCreationPage extends Component {\r\n static propTypes = {\r\n match: PropTypes.object.isRequired\r\n };\r\n\r\n UNSAFE_componentWillMount() {\r\n if (!Permissions.Project.canCreate()) {\r\n history.push('/');\r\n }\r\n }\r\n\r\n render() {\r\n return (\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n );\r\n }\r\n}\r\n\r\nexport default ProjectCreationPage;\r\n","import { PropTypes } from 'prop-types';\r\nimport Autocomplete from 'react-autocomplete';\r\nimport classNames from 'classnames';\r\nimport React, { Component } from 'react';\r\n\r\nclass GroupsAutocomplete extends Component {\r\n static propTypes = {\r\n groupName: PropTypes.string.isRequired,\r\n groupNames: PropTypes.array.isRequired,\r\n onGroupChange: PropTypes.func.isRequired,\r\n placeholder: PropTypes.string\r\n };\r\n\r\n renderAutocompleteInput = props => {\r\n const { placeholder } = this.props;\r\n return ;\r\n };\r\n\r\n renderAutocompleteMenu = items =>
;\r\n\r\n renderAutocompleteItem = (item, isHighlighted) => (\r\n \r\n {item}\r\n
\r\n );\r\n\r\n render() {\r\n const { groupName, groupNames, onGroupChange } = this.props;\r\n\r\n return (\r\n item}\r\n items={groupNames}\r\n onChange={event => onGroupChange(event.target.value)}\r\n onSelect={onGroupChange}\r\n renderInput={this.renderAutocompleteInput}\r\n renderItem={this.renderAutocompleteItem}\r\n renderMenu={this.renderAutocompleteMenu}\r\n shouldItemRender={(item, value) => value && item.toLowerCase().indexOf(value.toLowerCase()) > -1}\r\n value={groupName}\r\n wrapperStyle={{ display: 'block' }}\r\n />\r\n );\r\n }\r\n}\r\n\r\nexport default GroupsAutocomplete;\r\n","import { FormattedMessage, injectIntl, intlShape } from 'react-intl';\r\nimport { PropTypes } from 'prop-types';\r\nimport enhanceWithClickOutside from 'react-click-outside';\r\nimport React, { Component } from 'react';\r\nimport store from 'store/store';\r\nimport { addNotification } from 'store/notifications.js';\r\n\r\nimport Button from 'components/shared/single-click-button';\r\nimport Icon from 'components/shared/icon';\r\nimport { getExtractionFieldGroups, createExtractionFieldGroup } from 'store/api';\r\nimport GroupsAutocomplete from 'components/quick-study/shared/groups-autocomplete';\r\nimport constants from 'utils/constants';\r\n\r\nclass AddGroupPopover extends Component {\r\n static propTypes = {\r\n expectedExternalSystemId: PropTypes.number,\r\n intl: intlShape,\r\n onClose: PropTypes.func.isRequired,\r\n onSubmit: PropTypes.func.isRequired\r\n };\r\n\r\n state = {\r\n isLoading: false,\r\n groupName: '',\r\n allGroups: []\r\n };\r\n\r\n componentDidMount() {\r\n this.setState({ isLoading: true }, () => {\r\n getExtractionFieldGroups({ pageSize: 10000 }).then(response => {\r\n this.setState({ allGroups: response.data, isLoading: false });\r\n });\r\n });\r\n }\r\n\r\n handleClickOutside() {\r\n const { onClose } = this.props;\r\n onClose();\r\n }\r\n\r\n onSubmit = event => {\r\n const { onSubmit } = this.props;\r\n const { groupName } = this.state;\r\n const selectedGroup = this.selectedGroup;\r\n event.preventDefault();\r\n\r\n if (selectedGroup && !this.isExpectedGroup(selectedGroup)) {\r\n return store.dispatch(\r\n addNotification({\r\n message: ,\r\n clearOnPageChange: true,\r\n autohide: 10\r\n })\r\n );\r\n }\r\n\r\n if (selectedGroup) {\r\n onSubmit(selectedGroup);\r\n } else {\r\n createExtractionFieldGroup({ name: groupName }).then(response => {\r\n onSubmit(response.data);\r\n });\r\n }\r\n };\r\n\r\n isExpectedGroup = group => {\r\n const { expectedExternalSystemId } = this.props;\r\n\r\n return group.externalSystemId === expectedExternalSystemId;\r\n };\r\n\r\n onGroupChange = groupName => {\r\n this.setState({\r\n groupName\r\n });\r\n };\r\n\r\n get selectedGroup() {\r\n const { allGroups, groupName } = this.state;\r\n return allGroups\r\n .filter(group => group.extractionFieldGroupName)\r\n .find(group => group.extractionFieldGroupName.toLowerCase() === groupName.toLowerCase());\r\n }\r\n\r\n render() {\r\n const {\r\n intl: { formatMessage }\r\n } = this.props;\r\n const { allGroups, groupName, isLoading } = this.state;\r\n\r\n if (isLoading) {\r\n return (\r\n
\r\n
\r\n \r\n
\r\n
\r\n );\r\n }\r\n const groupNames = allGroups\r\n .filter(group => group.extractionFieldGroupName && this.isExpectedGroup(group))\r\n .map(group => group.extractionFieldGroupName);\r\n\r\n return (\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n );\r\n }\r\n}\r\n\r\nexport default injectIntl(enhanceWithClickOutside(AddGroupPopover));\r\n","import React, { Component } from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { FormattedMessage } from 'react-intl';\r\n\r\nimport Button from 'components/shared/single-click-button';\r\nimport Avatar from 'components/shared/avatar';\r\nimport Icon from 'components/shared/icon';\r\nimport Modal from 'components/shared/modal';\r\n\r\nexport default class ChangeRoleModal extends Component {\r\n static propTypes = {\r\n dropdown: PropTypes.func.isRequired,\r\n onClose: PropTypes.func.isRequired,\r\n onSubmit: PropTypes.func.isRequired,\r\n user: PropTypes.object.isRequired\r\n };\r\n\r\n state = {\r\n role: this.props.user.roles[0].roleId\r\n };\r\n\r\n onRoleChange = role => {\r\n this.setState({\r\n role\r\n });\r\n };\r\n\r\n onSubmit = () => {\r\n const { onSubmit, user } = this.props;\r\n const { role } = this.state;\r\n onSubmit(user, role);\r\n };\r\n\r\n render() {\r\n const { dropdown: RoleDropdown, onClose, user } = this.props;\r\n const { role } = this.state;\r\n\r\n return (\r\n \r\n
\r\n
\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n {user.preferredFullName}\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n );\r\n }\r\n}\r\n","import { injectIntl, intlShape, FormattedMessage } from 'react-intl';\r\nimport { PropTypes } from 'prop-types';\r\nimport enhanceWithClickOutside from 'react-click-outside';\r\nimport React, { Component, Fragment } from 'react';\r\n\r\nimport {\r\n addExtractionFieldToGroup,\r\n addUserToExtractionField,\r\n removeExtractionFieldFromGroup,\r\n removeUserFromExtractionField,\r\n updateExtractionFieldUser,\r\n getUsers\r\n} from 'store/api';\r\nimport { ROLES, ROLE_DISPLAY_NAMES } from 'models/user';\r\nimport AddGroupPopover from 'components/quick-study/details/add-group-popover';\r\nimport Button from 'components/shared/single-click-button';\r\nimport ChangeRoleModal from 'components/quick-study/details/change-role-modal';\r\nimport constants from 'utils/constants';\r\nimport Dropdown from 'components/shared/form/dropdown';\r\nimport Icon from 'components/shared/icon';\r\nimport Permissions from 'permissions/permissions';\r\nimport UserAutocomplete from 'components/shared/user-autocomplete/user-autocomplete';\r\n\r\nconst { ExtractionAccessTypeIds } = constants;\r\n\r\n/**\r\n * Role dropdown component\r\n */\r\nclass InnerRoleDropdown extends React.Component {\r\n static propTypes = {\r\n intl: intlShape,\r\n onRoleChange: PropTypes.func.isRequired,\r\n role: PropTypes.number.isRequired\r\n };\r\n\r\n render() {\r\n const { intl, role, onRoleChange } = this.props;\r\n\r\n return (\r\n }\r\n selectedOption={role}\r\n onSelection={onRoleChange}\r\n defaultMessage={intl.formatMessage({\r\n id: 'quick-study.extraction-field-details.groups-tab.role-placeholder'\r\n })}\r\n />\r\n );\r\n }\r\n}\r\n\r\nconst RoleDropdown = injectIntl(InnerRoleDropdown);\r\n\r\n/**\r\n * Popup menu for showing the 'change role' and 'remove user' options\r\n */\r\nclass InnerUserOptionsMenu extends Component {\r\n static propTypes = {\r\n onRemove: PropTypes.func.isRequired,\r\n onRoleChange: PropTypes.func.isRequired,\r\n user: PropTypes.object.isRequired\r\n };\r\n\r\n state = {\r\n isOpen: false\r\n };\r\n\r\n /**\r\n * Close the popup when clicking outside\r\n */\r\n handleClickOutside = () => {\r\n this.setState({ isOpen: false });\r\n };\r\n\r\n /**\r\n * Select the remove user option\r\n */\r\n onRemove = () => {\r\n const { onRemove, user } = this.props;\r\n onRemove(user);\r\n };\r\n\r\n /**\r\n * Select the role change option\r\n */\r\n onRoleChange = () => {\r\n const { onRoleChange, user } = this.props;\r\n onRoleChange(user);\r\n };\r\n\r\n render() {\r\n const { isOpen } = this.state;\r\n\r\n return (\r\n
\r\n {\r\n this.setState({ isOpen: !isOpen });\r\n }}\r\n >\r\n \r\n \r\n {isOpen ? (\r\n
\r\n \r\n \r\n
\r\n ) : null}\r\n
\r\n );\r\n }\r\n}\r\n\r\nconst UserOptionsMenu = enhanceWithClickOutside(InnerUserOptionsMenu);\r\n\r\n/**\r\n * Wrapper for the user autocomplete component\r\n */\r\nclass UserSearch extends Component {\r\n static propTypes = {\r\n onChange: PropTypes.func,\r\n onSelect: PropTypes.func.isRequired,\r\n selectedUser: PropTypes.object,\r\n users: PropTypes.oneOfType([PropTypes.object.isRequired, PropTypes.array.isRequired])\r\n };\r\n\r\n state = {\r\n value: ''\r\n };\r\n\r\n componentDidUpdate(prevProps) {\r\n const { selectedUser } = this.props;\r\n if (prevProps.selectedUser !== selectedUser && !selectedUser) {\r\n this.setState({\r\n value: ''\r\n });\r\n }\r\n }\r\n\r\n onChange = event => {\r\n const { onSelect, onChange } = this.props;\r\n const value = event.target.value;\r\n onChange();\r\n this.setState({ value: event.target.value });\r\n if (!value) {\r\n onSelect(null);\r\n }\r\n };\r\n\r\n onSelect = (value, user) => {\r\n const { onSelect } = this.props;\r\n this.setState({ value });\r\n onSelect(user);\r\n };\r\n\r\n searchUsers = keyword => {\r\n return getUsers(keyword, true).then(res => res.data);\r\n };\r\n\r\n render() {\r\n const { value } = this.state;\r\n return (\r\n \r\n );\r\n }\r\n}\r\n\r\n/**\r\n * Main Component for the Groups and Users tab\r\n */\r\nclass GroupsAndUsers extends Component {\r\n static propTypes = {\r\n currentUser: PropTypes.object.isRequired,\r\n field: PropTypes.object.isRequired,\r\n intl: intlShape,\r\n isAdmin: PropTypes.bool,\r\n onFieldUpdated: PropTypes.func.isRequired,\r\n publishExtractionField: PropTypes.func.isRequired\r\n };\r\n\r\n state = {\r\n isAddGroupPopoverVisible: false,\r\n isValidMember: false,\r\n selectedRole: null,\r\n selectedUser: null,\r\n selectedUserForUpdate: null,\r\n pendingGroupRemovals: new Set()\r\n };\r\n\r\n componentDidUpdate(prevProps) {\r\n if (\r\n this.props.field !== prevProps.field &&\r\n this.props.field.extractionFieldId !== prevProps.field.extractionFieldId\r\n ) {\r\n // Need to reset some state when the field changes.\r\n this.setState({\r\n selectedRole: null,\r\n selectedUser: null\r\n });\r\n }\r\n }\r\n\r\n /**\r\n * Show the add group popover\r\n */\r\n showAddGroupPopover = () => {\r\n this.setState({ isAddGroupPopoverVisible: true });\r\n };\r\n\r\n /**\r\n * Hide the add group popover\r\n */\r\n hideAddGroupPopover = () => {\r\n this.setState({ isAddGroupPopoverVisible: false });\r\n };\r\n\r\n /**\r\n * Handle a role change\r\n */\r\n onRoleSelected = role => {\r\n this.setState({ selectedRole: role });\r\n };\r\n\r\n /**\r\n * Handle a user selection from the user autocomplete\r\n */\r\n onUserSelected = user => {\r\n const { field } = this.props;\r\n\r\n this.setState({\r\n selectedUser: user,\r\n // The selected user is only valid if not already added to the extraction field\r\n isValidMember: !!user && !field.users.find(existingUser => existingUser.userId === user.userId)\r\n });\r\n };\r\n\r\n /**\r\n * Handle a click on the add user button\r\n */\r\n onAddUserClick = event => {\r\n const { field, onFieldUpdated } = this.props;\r\n event.preventDefault();\r\n\r\n addUserToExtractionField({\r\n extractionFieldId: field.extractionFieldId,\r\n userId: this.state.selectedUser.userId,\r\n roleId: this.state.selectedRole\r\n }).then(response => {\r\n // Reset state and re fetch data after adding a user\r\n this.setState({\r\n selectedRole: null,\r\n selectedUser: null,\r\n isValidMember: false\r\n });\r\n onFieldUpdated();\r\n });\r\n };\r\n\r\n /**\r\n * Add this field to a group\r\n */\r\n addFieldToGroup = group => {\r\n const { field, onFieldUpdated } = this.props;\r\n this.hideAddGroupPopover();\r\n\r\n if (!field.groups.find(({ extractionFieldGroupId }) => extractionFieldGroupId === group.extractionFieldGroupId)) {\r\n addExtractionFieldToGroup({\r\n extractionFieldId: field.extractionFieldId,\r\n groupId: group.extractionFieldGroupId\r\n }).then(onFieldUpdated);\r\n }\r\n };\r\n\r\n /**\r\n * Remove this field from a group\r\n */\r\n removeFieldFromGroup = group => {\r\n const { field, onFieldUpdated } = this.props;\r\n const { pendingGroupRemovals } = this.state;\r\n\r\n pendingGroupRemovals.add(group.extractionFieldGroupId);\r\n this.setState({ pendingGroupRemovals });\r\n\r\n removeExtractionFieldFromGroup({\r\n extractionFieldId: field.extractionFieldId,\r\n groupId: group.extractionFieldGroupId\r\n }).then(response => {\r\n pendingGroupRemovals.delete(group.extractionFieldGroupId);\r\n this.setState({ pendingGroupRemovals });\r\n onFieldUpdated(response);\r\n });\r\n };\r\n\r\n /**\r\n * Remove a user from the field\r\n */\r\n removeUser = user => {\r\n const { field, onFieldUpdated } = this.props;\r\n\r\n removeUserFromExtractionField({\r\n extractionFieldId: field.extractionFieldId,\r\n userId: user.userId\r\n }).then(onFieldUpdated);\r\n };\r\n\r\n /**\r\n * Show the change role modal\r\n */\r\n showRoleChangeModal = user => {\r\n this.setState({ selectedUserForUpdate: user });\r\n };\r\n\r\n /**\r\n * Submit the change role modal\r\n */\r\n submitChangeRoleModal = (user, roleId) => {\r\n const { field, onFieldUpdated } = this.props;\r\n this.setState({\r\n selectedUserForUpdate: null\r\n });\r\n updateExtractionFieldUser({\r\n extractionFieldId: field.extractionFieldId,\r\n userId: user.userId,\r\n roleId\r\n }).then(onFieldUpdated);\r\n };\r\n\r\n /**\r\n * Close the change role modal\r\n */\r\n closeChangeRoleModal = () => {\r\n this.setState({\r\n selectedUserForUpdate: null\r\n });\r\n };\r\n\r\n render() {\r\n const { currentUser, field, intl, isAdmin, publishExtractionField } = this.props;\r\n const {\r\n isAddGroupPopoverVisible,\r\n isValidMember,\r\n selectedRole,\r\n selectedUser,\r\n selectedUserForUpdate,\r\n users,\r\n pendingGroupRemovals\r\n } = this.state;\r\n\r\n return (\r\n
\r\n {/* Groups section */}\r\n
\r\n

\r\n \r\n

\r\n
\r\n {field.externalSystemId !== constants.ExternalSystemIds.ABBY && (\r\n
\r\n {Permissions.Global.ExtractionField.canAddRemoveGroup(field) && (\r\n \r\n )}\r\n {isAddGroupPopoverVisible && (\r\n \r\n )}\r\n
\r\n )}\r\n
\r\n {field.groups.map(group => (\r\n
\r\n {group.extractionFieldGroupName}\r\n {field.externalSystemId !== constants.ExternalSystemIds.ABBY &&\r\n Permissions.Global.ExtractionField.canAddRemoveGroup(field) && (\r\n {\r\n this.removeFieldFromGroup(group);\r\n }}\r\n disabled={pendingGroupRemovals.has(group.extractionFieldGroupId)}\r\n >\r\n \r\n \r\n )}\r\n
\r\n ))}\r\n
\r\n
\r\n
\r\n {/* Users section (not visible for public fields) */}\r\n {field.accessTypeId !== ExtractionAccessTypeIds.public && (\r\n
\r\n

\r\n \r\n

\r\n {Permissions.Global.ExtractionField.canAddRemoveUser(field) && (\r\n
\r\n
\r\n \r\n this.setState({ isValidMember: false })}\r\n />\r\n
\r\n
\r\n \r\n }\r\n selectedOption={selectedRole}\r\n onSelection={this.onRoleSelected}\r\n defaultMessage={intl.formatMessage({\r\n id: 'quick-study.extraction-field-details.groups-tab.role-placeholder'\r\n })}\r\n />\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n )}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {field.users.map((user, index) => {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n })}\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n \r\n {user.preferredFullName}\r\n
\r\n
{user.email}\r\n {user.roles.map((role, index) => (\r\n \r\n \r\n {index !== user.roles.length - 1 && {', '}}\r\n \r\n ))}\r\n \r\n {Permissions.Global.ExtractionField.canAddRemoveUser(field) &&\r\n currentUser.userId !== user.userId && (\r\n \r\n )}\r\n
\r\n
\r\n )}\r\n {isAdmin && !field.isReadOnly && (\r\n
\r\n \r\n
\r\n )}\r\n {selectedUserForUpdate && (\r\n \r\n )}\r\n
\r\n );\r\n }\r\n}\r\n\r\nexport default injectIntl(GroupsAndUsers);\r\n","import { FormattedMessage, FormattedNumber } from 'react-intl';\r\nimport { PropTypes } from 'prop-types';\r\nimport classNames from 'classnames';\r\nimport React, { Component, Fragment } from 'react';\r\nimport ReactTooltip from 'react-tooltip';\r\n\r\nimport { FixedTable, FixedHeader } from 'components/shared/fixed-table';\r\nimport { isNumeric } from 'utils/number-utils';\r\nimport { revertHistoryModel } from 'store/api';\r\nimport Button from 'components/shared/single-click-button';\r\nimport dateUtil from 'utils/dateUtil';\r\nimport Icon from 'components/shared/icon';\r\nimport Modal from 'components/shared/modal';\r\n\r\nexport const TRAINING_STATES = {\r\n PROCESSING: 1,\r\n COMPLETED: 2,\r\n ERROR: 3\r\n};\r\n\r\nconst TRAINING_INSTANCE_STATE_IDS = {\r\n SUCCESS: 2,\r\n SINGLE_CHAR: 3,\r\n CONFLICT: 4\r\n};\r\n\r\nconst ERROR_NAMES = {\r\n [TRAINING_INSTANCE_STATE_IDS.SINGLE_CHAR]: 'quick-study.extraction-field-details.history-tab.error-modal.single-char',\r\n [TRAINING_INSTANCE_STATE_IDS.CONFLICT]: 'quick-study.extraction-field-details.history-tab.error-modal.duplicate'\r\n};\r\n\r\nconst TRAINING_STATE_NAMES = {\r\n [TRAINING_STATES.PROCESSING]: 'quick-study.extraction-field-details.history-tab.state.processing',\r\n [TRAINING_STATES.COMPLETED]: 'quick-study.extraction-field-details.history-tab.state.completed',\r\n [TRAINING_STATES.ERROR]: 'quick-study.extraction-field-details.history-tab.state.error'\r\n};\r\n\r\nconst TRAINING_STATE_CLASS_NAMES = {\r\n [TRAINING_STATES.PROCESSING]: 'extraction-details-history__training-state--processing',\r\n [TRAINING_STATES.COMPLETED]: 'extraction-details-history__training-state--completed',\r\n [TRAINING_STATES.ERROR]: 'extraction-details-history__training-state--error'\r\n};\r\n\r\n/**\r\n * A single row of the history table\r\n */\r\nclass HistoryItem extends Component {\r\n static propTypes = {\r\n field: PropTypes.object.isRequired,\r\n onErrorIconClicked: PropTypes.func.isRequired,\r\n onRevertButtonClicked: PropTypes.func.isRequired,\r\n training: PropTypes.object,\r\n trainingInProgress: PropTypes.bool\r\n };\r\n\r\n /**\r\n * Handle a click on the revert icon\r\n */\r\n onRevertButtonClicked = () => {\r\n const { onRevertButtonClicked, training } = this.props;\r\n onRevertButtonClicked(training);\r\n };\r\n\r\n /**\r\n * Handle a click on the error icon\r\n */\r\n onErrorIconClicked = () => {\r\n const { onErrorIconClicked, training } = this.props;\r\n onErrorIconClicked(training);\r\n };\r\n\r\n render() {\r\n const { field, training, trainingInProgress } = this.props;\r\n\r\n return (\r\n \r\n \r\n {training.trainedDate && (\r\n {dateUtil.formatDateTime(dateUtil.fromServerDate(training.trainedDate))} - \r\n )}\r\n \r\n \r\n \r\n \r\n {/* {!training.precision && !training.recall && !training.fScore ? (\r\n \r\n
\r\n \r\n }}\r\n />\r\n
\r\n \r\n ) : ( */}\r\n \r\n \r\n {isNumeric(training.precision) ? (\r\n \r\n ) : (\r\n '-'\r\n )}\r\n \r\n \r\n {isNumeric(training.recall) ? : '-'}\r\n \r\n \r\n {isNumeric(training.fScore) ? : '-'}\r\n \r\n \r\n {/* )} */}\r\n \r\n {training.trainingInstances &&\r\n training.trainingInstances.some?.(({ trainingInstanceStateId }) => trainingInstanceStateId === 4) && (\r\n \r\n \r\n \r\n \r\n \r\n \r\n )}\r\n\r\n {field.externalExtractionFieldId !== training.externalExtractionFieldId &&\r\n training.trainingStateId === TRAINING_STATES.COMPLETED &&\r\n !trainingInProgress && (\r\n \r\n \r\n \r\n \r\n \r\n \r\n )}\r\n\r\n {field.externalExtractionFieldId !== training.externalExtractionFieldId &&\r\n training.trainingStateId === TRAINING_STATES.COMPLETED &&\r\n trainingInProgress && (\r\n \r\n \r\n \r\n )}\r\n \r\n \r\n );\r\n }\r\n}\r\n\r\n/**\r\n * Main component of the history tab of the extraction field details page\r\n */\r\nclass History extends Component {\r\n static propTypes = {\r\n field: PropTypes.object.isRequired,\r\n training: PropTypes.array\r\n };\r\n\r\n state = {\r\n selectedTrainingForRevert: null,\r\n selectedTrainingForErrorInfo: null\r\n };\r\n\r\n /**\r\n * Handle a click on a revert button (show the revert modal)\r\n */\r\n onRevertButtonClicked = selectedTrainingForRevert => {\r\n this.setState({ selectedTrainingForRevert });\r\n };\r\n\r\n /**\r\n * Handle a click on an error icon (show the error info modal)\r\n */\r\n onErrorIconClicked = selectedTrainingForErrorInfo => {\r\n this.setState({ selectedTrainingForErrorInfo });\r\n };\r\n\r\n /**\r\n * Close the revert modal\r\n */\r\n cancelRevert = () => {\r\n this.setState({ selectedTrainingForRevert: null });\r\n };\r\n\r\n /**\r\n * Close the error info modal\r\n */\r\n closeErrorInfoModal = () => {\r\n this.setState({ selectedTrainingForErrorInfo: null });\r\n };\r\n\r\n /**\r\n * Submit a request to revert the training model\r\n */\r\n submitRevert = () => {\r\n const { selectedTrainingForRevert } = this.state;\r\n this.setState({ selectedTrainingForRevert: null });\r\n\r\n return revertHistoryModel({\r\n extractionFieldId: selectedTrainingForRevert.extractionFieldId,\r\n trainingDetailId: selectedTrainingForRevert.extractionFieldTrainingDetailId\r\n });\r\n };\r\n\r\n render() {\r\n const { field, training } = this.props;\r\n const { selectedTrainingForRevert, selectedTrainingForErrorInfo } = this.state;\r\n\r\n if (!Array.isArray(training)) {\r\n return (\r\n
\r\n \r\n
\r\n );\r\n }\r\n\r\n // Split the training items into temporary and permanent since they are displayed in separate tables\r\n const temporaryTraining = training.filter(training => !training.isPermanent);\r\n const permanentTraining = training.filter(training => training.isPermanent);\r\n const trainingInProgress = training.some(t => t.trainingStateId === TRAINING_STATES.PROCESSING);\r\n\r\n const temporaryTrainingTable = (\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {temporaryTraining.map(training => (\r\n \r\n ))}\r\n \r\n
\r\n
\r\n
\r\n );\r\n\r\n const permanentTrainingTable = (\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {permanentTraining.map(training => (\r\n \r\n ))}\r\n \r\n
\r\n
\r\n
\r\n );\r\n\r\n return (\r\n
\r\n {temporaryTraining.length ? temporaryTrainingTable : null}\r\n {permanentTraining.length ? permanentTrainingTable : null}\r\n {/* Revert modal */}\r\n {selectedTrainingForRevert && (\r\n \r\n
\r\n

\r\n \r\n

\r\n

\r\n \r\n

\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n )}\r\n {/* Error info modal */}\r\n {selectedTrainingForErrorInfo && (\r\n \r\n
\r\n

\r\n \r\n

\r\n

\r\n \r\n

\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {selectedTrainingForErrorInfo.trainingInstances\r\n .filter(\r\n instance =>\r\n instance.trainingInstanceStateId === TRAINING_INSTANCE_STATE_IDS.SINGLE_CHAR ||\r\n instance.trainingInstanceStateId === TRAINING_INSTANCE_STATE_IDS.CONFLICT\r\n )\r\n .map((instance, index) => (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n ))}\r\n \r\n
\r\n \r\n \r\n {instance.documentExtractionFieldInstanceId}\r\n {instance.projectItemId}\r\n {instance.name}\r\n {instance.projectId}\r\n {instance.projectName}\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n )}\r\n
\r\n );\r\n }\r\n}\r\n\r\nexport default History;\r\n","import { FixedTable, FixedHeader } from 'components/shared/fixed-table';\r\nimport { FormattedMessage, FormattedNumber } from 'react-intl';\r\nimport { Link } from 'react-router-dom';\r\nimport { PropTypes } from 'prop-types';\r\nimport React, { Component } from 'react';\r\n\r\nimport Button from 'components/shared/single-click-button';\r\nimport { getCurrentRegion, getExtractionFieldProjects, trainExtractionField, setAutomaticExtraction } from 'store/api';\r\nimport Checkbox from 'components/shared/form/checkbox';\r\nimport Switch from 'components/shared/form/switch';\r\nimport Icon from 'components/shared/icon';\r\n\r\n\r\n/**\r\n * A single row of the learning table\r\n */\r\nclass LearningTableRow extends Component {\r\n static propTypes = {\r\n isSelected: PropTypes.bool,\r\n project: PropTypes.object,\r\n selectedProjectChange: PropTypes.func.isRequired\r\n };\r\n\r\n /**\r\n * Handle a checkbox click\r\n */\r\n selectedProjectChange = () => {\r\n const { project, selectedProjectChange } = this.props;\r\n selectedProjectChange(project);\r\n };\r\n\r\n render() {\r\n const { project, isSelected } = this.props;\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n {project.projectName}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n }\r\n}\r\n\r\n/**\r\n * The learning tab of the extraction field details page\r\n */\r\nclass Learning extends Component {\r\n static propTypes = {\r\n field: PropTypes.object.isRequired,\r\n onTrainExtractionField: PropTypes.func.isRequired,\r\n training: PropTypes.array\r\n };\r\n\r\n state = {\r\n isAutomaticExtraction: this.props.field.isAutomaticExtraction,\r\n isPermanentModelSelected: false,\r\n isTraining: false,\r\n projects: null,\r\n selectedProjects: new Set()\r\n };\r\n\r\n componentDidMount() {\r\n this.componentDidUpdate({});\r\n }\r\n\r\n componentDidUpdate(prevProps) {\r\n if (prevProps.field !== this.props.field) {\r\n this.getProjects();\r\n // Set isAutomaticExtraction separately since it can be user edited\r\n this.setState({ isAutomaticExtraction: this.props.field.isAutomaticExtraction });\r\n }\r\n }\r\n\r\n /**\r\n * Get the extraction field projects data\r\n */\r\n getProjects = () => {\r\n const { field } = this.props;\r\n getExtractionFieldProjects(field.extractionFieldId).then(response =>\r\n this.setState({\r\n projects: response.data ?? [],\r\n selectedProjects: new Set(response.data?.map(project => project.projectId))\r\n })\r\n );\r\n };\r\n\r\n /**\r\n * Toggle the selection of the permanent model row\r\n * This row is handled separate to the other rows because it not driven by project data\r\n */\r\n togglePermanentModelSelected = () => {\r\n this.setState({ isPermanentModelSelected: !this.state.isPermanentModelSelected });\r\n };\r\n\r\n /**\r\n * Toggle the selection of a row of the learning table\r\n */\r\n selectedProjectChange = project => {\r\n const id = project.projectId;\r\n\r\n if (this.state.selectedProjects.has(id)) {\r\n this.state.selectedProjects.delete(id);\r\n } else {\r\n this.state.selectedProjects.add(id);\r\n }\r\n\r\n this.setState({ selectedProjects: this.state.selectedProjects });\r\n };\r\n\r\n /**\r\n * Select or deselect all rows of the learning table. Note: also toggles the permenent model row\r\n */\r\n onCheckAllChange = () => {\r\n const { projects } = this.state;\r\n\r\n if (this.state.selectedProjects.size === projects.length) {\r\n this.setState({ selectedProjects: new Set(), isPermanentModelSelected: false });\r\n } else {\r\n const allIds = projects.map(project => project.projectId);\r\n this.setState({ selectedProjects: new Set(allIds), isPermanentModelSelected: true });\r\n }\r\n };\r\n\r\n /**\r\n * Toggle the isAutomatic switch and send an API request to toggle the isAutomatic state\r\n */\r\n setIsAutomatic = (id, isAutomaticExtraction) => {\r\n const { field } = this.props;\r\n\r\n this.setState({\r\n isAutomaticExtraction\r\n });\r\n setAutomaticExtraction({\r\n extractionFieldId: field.extractionFieldId,\r\n isAutomaticExtraction: isAutomaticExtraction\r\n }).catch(() => {\r\n this.setState({\r\n isAutomaticExtraction: field.isAutomaticExtraction\r\n });\r\n });\r\n };\r\n\r\n /**\r\n * Initiate a training request for this field with the selected projects and permanent model flag\r\n */\r\n trainExtractionField = () => {\r\n const { field, onTrainExtractionField } = this.props;\r\n const { selectedProjects, isPermanentModelSelected } = this.state;\r\n\r\n this.setState({ isTraining: true });\r\n trainExtractionField({\r\n includePermanent: isPermanentModelSelected,\r\n extractionFieldId: field.extractionFieldId,\r\n projectIds: Array.from(selectedProjects.values())\r\n })\r\n .then(() => {\r\n this.setState({ isTraining: false });\r\n onTrainExtractionField();\r\n })\r\n .catch(() => {\r\n this.setState({ isTraining: false });\r\n });\r\n };\r\n\r\n /**\r\n * Returns true if the training set has a permanent model\r\n * Determines whether to display a row for the permanent model in the training table\r\n */\r\n get hasPermanentModel() {\r\n const { training } = this.props;\r\n\r\n if (!Array.isArray(training)) {\r\n return false;\r\n }\r\n\r\n return !!training.some(training => training.isPermanent);\r\n }\r\n\r\n /**\r\n * Determines whether all rows of the table are selected or not\r\n * Returns 'checked' if all are selected, 'unchecked' if none are selected and 'indeterminate' otherwise\r\n * Takes the presence or absense of the permanent model row into account\r\n */\r\n get allSelectedStatus() {\r\n const { selectedProjects, projects, isPermanentModelSelected } = this.state;\r\n\r\n let allSelectedStatus;\r\n if (projects.length === selectedProjects.size && (this.hasPermanentModel ? isPermanentModelSelected : true)) {\r\n allSelectedStatus = 'checked';\r\n } else if (selectedProjects.size === 0 && (this.hasPermanentModel ? !isPermanentModelSelected : true)) {\r\n allSelectedStatus = 'unchecked';\r\n } else {\r\n allSelectedStatus = 'indeterminate';\r\n }\r\n\r\n return allSelectedStatus;\r\n }\r\n\r\n render() {\r\n const { field, training } = this.props;\r\n const { isAutomaticExtraction, selectedProjects, projects, isTraining, isPermanentModelSelected } = this.state;\r\n\r\n if (!Array.isArray(training) || !Array.isArray(projects)) {\r\n return (\r\n
\r\n \r\n
\r\n );\r\n }\r\n\r\n return (\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {projects.map(project => (\r\n \r\n ))}\r\n {this.hasPermanentModel && (\r\n \r\n \r\n \r\n \r\n )}\r\n \r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n );\r\n }\r\n}\r\n\r\nexport default Learning;\r\n","import { PropTypes } from 'prop-types';\r\nimport React, { Component } from 'react';\r\nimport { FormattedMessage } from 'react-intl';\r\nimport { Link } from 'react-router-dom';\r\n\r\nimport { FixedTable, FixedHeader } from 'components/shared/fixed-table';\r\nimport Dropdown from 'components/shared/form/dropdown';\r\nimport { getExtractionFieldValidation } from 'store/api';\r\n\r\nconst FILTER_CRITERIA = {\r\n ALL_EXTRACTIONS: 0,\r\n TRUE_HITS: 1,\r\n FALSE_HITS: 2,\r\n MISSES: 3\r\n};\r\n\r\nconst FILTER_OPTIONS = [\r\n {\r\n validationType: FILTER_CRITERIA.ALL_EXTRACTIONS,\r\n name: \r\n },\r\n {\r\n validationType: FILTER_CRITERIA.MISSES,\r\n name: \r\n },\r\n {\r\n validationType: FILTER_CRITERIA.FALSE_HITS,\r\n name: \r\n },\r\n {\r\n validationType: FILTER_CRITERIA.TRUE_HITS,\r\n name: \r\n }\r\n];\r\n\r\n/**\r\n * A single item in the measures table\r\n */\r\nclass MeasuresItem extends Component {\r\n static propTypes = {\r\n measure: PropTypes.object\r\n };\r\n\r\n render() {\r\n const { measure } = this.props;\r\n\r\n return (\r\n \r\n \r\n {measure.documentAccess ? (\r\n \r\n {measure.documentName}\r\n \r\n ) : (\r\n {measure.documentName}\r\n )}\r\n\r\n
{measure.projectName}
\r\n \r\n {measure.extractFieldInstanceData}\r\n \r\n );\r\n }\r\n}\r\n\r\n/**\r\n * Main component for the measures tab of the extraction field details page\r\n */\r\nclass Measures extends Component {\r\n static propTypes = {\r\n field: PropTypes.object.isRequired\r\n };\r\n\r\n state = {\r\n filterBy: FILTER_OPTIONS[0],\r\n validation: []\r\n };\r\n\r\n componentDidMount() {\r\n this.getValidation();\r\n }\r\n\r\n componentDidUpdate(prevProps) {\r\n if (prevProps.field !== this.props.field) {\r\n this.getValidation();\r\n }\r\n }\r\n\r\n /**\r\n * Fetch the data for this component\r\n */\r\n getValidation = () => {\r\n const { field } = this.props;\r\n getExtractionFieldValidation(field.extractionFieldId).then(response =>\r\n this.setState({\r\n validation: response.data || []\r\n })\r\n );\r\n };\r\n\r\n /**\r\n * Set the filter criteria\r\n */\r\n setFilterBy = filterBy => {\r\n this.setState({ filterBy });\r\n };\r\n\r\n renderFilterOption = option => option.name;\r\n\r\n render() {\r\n const { filterBy, validation } = this.state;\r\n\r\n const measures =\r\n filterBy.validationType === FILTER_CRITERIA.ALL_EXTRACTIONS\r\n ? validation\r\n : validation.filter(measure => measure.validationType === filterBy.validationType);\r\n\r\n return (\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n {measures.map((measure, index) => (\r\n \r\n ))}\r\n \r\n
\r\n
\r\n
\r\n
\r\n );\r\n }\r\n}\r\n\r\nexport default Measures;\r\n","import { FormattedMessage } from 'react-intl';\r\nimport PropTypes from 'prop-types';\r\nimport React, { Component } from 'react';\r\n\r\nimport Button from 'components/shared/single-click-button';\r\nimport Modal from 'components/shared/modal';\r\n\r\nconst MAX_NAME_LENGTH = 400;\r\nconst MAX_DESCRIPTION_LENGTH = 1000;\r\n\r\n/**\r\n * Create Extraction field modal\r\n */\r\nclass CreateModal extends Component {\r\n static propTypes = {\r\n onClose: PropTypes.func.isRequired,\r\n onSubmit: PropTypes.func.isRequired\r\n };\r\n\r\n state = {\r\n name: '',\r\n description: ''\r\n };\r\n\r\n /**\r\n * Handle a change event on the name input\r\n */\r\n onNameChange = event => {\r\n const { value } = event.target;\r\n\r\n if (value.length <= MAX_NAME_LENGTH) {\r\n this.setState({ name: value });\r\n }\r\n };\r\n\r\n /**\r\n * Handle a change event on the description input\r\n */\r\n onDescriptionChange = event => {\r\n const { value } = event.target;\r\n\r\n if (value.length <= MAX_DESCRIPTION_LENGTH) {\r\n this.setState({ description: value });\r\n }\r\n };\r\n\r\n /**\r\n * Handle a submit event on the form\r\n */\r\n onSubmit = event => {\r\n const { onSubmit } = this.props;\r\n const { name, description } = this.state;\r\n\r\n event.preventDefault();\r\n onSubmit({ name, description });\r\n };\r\n\r\n render() {\r\n const { onClose } = this.props;\r\n const { name, description } = this.state;\r\n\r\n return (\r\n \r\n
\r\n

\r\n \r\n

\r\n
\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n );\r\n }\r\n}\r\n\r\nexport default CreateModal;\r\n","import { FormattedMessage } from 'react-intl';\r\nimport PropTypes from 'prop-types';\r\nimport React, { Component } from 'react';\r\n\r\nimport Confirm from 'components/shared/confirm';\r\n\r\n/**\r\n * Delete Extraction field / Delete Group modal\r\n * Shows a confirmation message before allowing the user to delete the selected groups / fields\r\n */\r\nclass DeleteModal extends Component {\r\n static propTypes = {\r\n onClose: PropTypes.func.isRequired,\r\n onSubmit: PropTypes.func.isRequired,\r\n selectedFields: PropTypes.array,\r\n selectedGroups: PropTypes.array\r\n };\r\n\r\n render() {\r\n const { onClose, onSubmit, selectedGroups, selectedFields } = this.props;\r\n\r\n var title, body;\r\n\r\n if (selectedGroups.length) {\r\n // Deleting Groups\r\n const plurality = selectedGroups.length === 1 ? 'singular' : 'plural';\r\n title = ;\r\n body = ;\r\n } else if (selectedFields.length) {\r\n // Deleting Extraction Fields\r\n const plurality = selectedFields.length === 1 ? 'singular' : 'plural';\r\n title = ;\r\n body = ;\r\n } else {\r\n return '';\r\n }\r\n\r\n return (\r\n }\r\n confirmText={}\r\n />\r\n );\r\n }\r\n}\r\n\r\nexport default DeleteModal;\r\n","import React, { Component } from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { FormattedMessage } from 'react-intl';\r\n\r\nimport Confirm from 'components/shared/confirm';\r\n\r\n/**\r\n * Export Extraction field / Export Group modal\r\n * Shows a confirmation message before allowing the user to export the selected groups / fields\r\n */\r\nclass ExportModal extends Component {\r\n static propTypes = {\r\n disableSubmit: PropTypes.bool,\r\n onCancel: PropTypes.func.isRequired,\r\n onSubmit: PropTypes.func.isRequired\r\n };\r\n\r\n state = {\r\n isRequestPending: false\r\n };\r\n\r\n onSubmit = () => {\r\n const { onSubmit } = this.props;\r\n this.setState({ isRequestPending: true });\r\n onSubmit();\r\n };\r\n\r\n render() {\r\n const { disableSubmit, onCancel } = this.props;\r\n const { isRequestPending } = this.state;\r\n\r\n return (\r\n }\r\n message={}\r\n cancelText={}\r\n confirmText={}\r\n />\r\n );\r\n }\r\n}\r\n\r\nexport default ExportModal;\r\n","import { FormattedMessage, injectIntl, intlShape } from 'react-intl';\r\nimport { PropTypes } from 'prop-types';\r\nimport enhanceWithClickOutside from 'react-click-outside';\r\nimport React, { Component } from 'react';\r\nimport store from 'store/store';\r\nimport { addNotification } from 'store/notifications.js';\r\n\r\nimport { getExtractionFieldGroups, createExtractionFieldGroup } from 'store/api';\r\nimport Button from 'components/shared/single-click-button';\r\nimport GroupsAutocomplete from 'components/quick-study/shared/groups-autocomplete';\r\nimport Icon from 'components/shared/icon';\r\n\r\n/**\r\n * Group popover\r\n * Allows the user to add fields to a group, or add the fields of another group to a group\r\n */\r\nclass GroupPopover extends Component {\r\n static propTypes = {\r\n intl: intlShape,\r\n onClose: PropTypes.func.isRequired,\r\n onSubmit: PropTypes.func.isRequired,\r\n expectedExternalSystemId: PropTypes.number\r\n };\r\n\r\n state = {\r\n allGroups: [],\r\n groupName: '',\r\n isRequestPending: false\r\n };\r\n\r\n componentDidMount() {\r\n getExtractionFieldGroups({ pageSize: 10000 }).then(response => {\r\n this.setState({ allGroups: response.data });\r\n });\r\n }\r\n\r\n /**\r\n * Close the popover when clicking outside\r\n */\r\n handleClickOutside() {\r\n const { onClose } = this.props;\r\n onClose();\r\n }\r\n\r\n /**\r\n * Submit the popover\r\n */\r\n onSubmit = event => {\r\n const { onSubmit } = this.props;\r\n const { groupName } = this.state;\r\n const selectedGroup = this.selectedGroup;\r\n event.preventDefault();\r\n\r\n if (selectedGroup && !this.isExpectedGroup(selectedGroup)) {\r\n return store.dispatch(\r\n addNotification({\r\n message: ,\r\n clearOnPageChange: true,\r\n autohide: 10\r\n })\r\n );\r\n }\r\n\r\n this.setState({ isRequestPending: true });\r\n\r\n if (selectedGroup) {\r\n // If the group name matches an existing group, submit the modal\r\n return onSubmit(selectedGroup);\r\n }\r\n\r\n // If the group name does not match an existing group, first create one\r\n // Then submit the modal with that group\r\n return createExtractionFieldGroup({ name: groupName }).then(response => {\r\n this.setState({ isRequestPending: false });\r\n onSubmit(response.data);\r\n });\r\n };\r\n\r\n /**\r\n * Handle a change event from the group autocomplete\r\n */\r\n onGroupChange = groupName => {\r\n this.setState({\r\n groupName\r\n });\r\n };\r\n\r\n isExpectedGroup = group => {\r\n const { expectedExternalSystemId } = this.props;\r\n return group && group.externalSystemId === expectedExternalSystemId;\r\n };\r\n\r\n /**\r\n * Return a group with a name that matches the name in the autocomplete\r\n */\r\n get selectedGroup() {\r\n const { allGroups, groupName } = this.state;\r\n return allGroups\r\n .filter(group => group.extractionFieldGroupName)\r\n .find(group => group.extractionFieldGroupName.toLowerCase() === groupName.toLowerCase());\r\n }\r\n\r\n render() {\r\n const {\r\n onClose,\r\n intl: { formatMessage }\r\n } = this.props;\r\n const { allGroups, groupName, isRequestPending } = this.state;\r\n\r\n const groupNames = allGroups\r\n .filter(group => group.extractionFieldGroupName && this.isExpectedGroup(group))\r\n .map(group => group.extractionFieldGroupName);\r\n\r\n return (\r\n
\r\n
\r\n

\r\n \r\n

\r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n );\r\n }\r\n}\r\n\r\nexport default injectIntl(enhanceWithClickOutside(GroupPopover));\r\n","import React, { Component, Fragment } from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { FormattedMessage } from 'react-intl';\r\n\r\nimport Confirm from 'components/shared/confirm';\r\n\r\nconst fileExtensionValidationRegex = /\\.zip$/i;\r\nconst checkFileExtension = file => fileExtensionValidationRegex.test(file.name);\r\n\r\n/**\r\n * Import modal\r\n */\r\nclass ImportModal extends Component {\r\n static propTypes = {\r\n disableSubmit: PropTypes.bool,\r\n onCancel: PropTypes.func.isRequired,\r\n onSubmit: PropTypes.func.isRequired\r\n };\r\n\r\n state = {\r\n hasFileError: false,\r\n isImportInProgress: false,\r\n selectedFile: null\r\n };\r\n\r\n /**\r\n * Select a file and check if it has a valid extension\r\n */\r\n onFilesSelected = event => {\r\n const files = Array.from(event.target.files);\r\n\r\n if (files.length) {\r\n const file = files[0];\r\n\r\n this.setState({\r\n selectedFile: file,\r\n hasFileError: !checkFileExtension(file)\r\n });\r\n }\r\n };\r\n\r\n /**\r\n * Submit the modal\r\n */\r\n onSubmit = () => {\r\n this.setState({ isImportInProgress: true });\r\n return this.props.onSubmit(this.state.selectedFile);\r\n };\r\n\r\n render() {\r\n const { disableSubmit, onCancel } = this.props;\r\n const { selectedFile, isImportInProgress, hasFileError } = this.state;\r\n\r\n const body = (\r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n \r\n {selectedFile ? selectedFile.name : }\r\n \r\n
\r\n {hasFileError && (\r\n
\r\n \r\n
\r\n )}\r\n
\r\n );\r\n\r\n return (\r\n }\r\n body={body}\r\n cancelText={}\r\n confirmText={}\r\n />\r\n );\r\n }\r\n}\r\n\r\nexport default ImportModal;\r\n","import { FormattedMessage, intlShape, injectIntl } from 'react-intl';\r\nimport { PropTypes } from 'prop-types';\r\nimport enhanceWithClickOutside from 'react-click-outside';\r\nimport React, { Component } from 'react';\r\n\r\nimport { getUsers } from 'store/api';\r\nimport { ROLES, ROLE_DISPLAY_NAMES } from 'models/user';\r\nimport Avatar from 'components/shared/avatar';\r\nimport Button from 'components/shared/single-click-button';\r\nimport Dropdown from 'components/shared/form/dropdown';\r\nimport Icon from 'components/shared/icon';\r\nimport UserAutocomplete from 'components/shared/user-autocomplete/user-autocomplete';\r\n\r\n/**\r\n * Pending user\r\n * One row of the list of pending users to share the field or group with\r\n * Displays a dropdown for changing their role and a remove button\r\n */\r\nclass PendingUser extends Component {\r\n static propTypes = {\r\n removePendingUser: PropTypes.func.isRequired,\r\n role: PropTypes.number.isRequired,\r\n updatePendingUserRole: PropTypes.func.isRequired,\r\n user: PropTypes.object.isRequired\r\n };\r\n\r\n removePendingUser = () => {\r\n const { removePendingUser, user } = this.props;\r\n removePendingUser(user);\r\n };\r\n\r\n updatePendingUserRole = role => {\r\n const { updatePendingUserRole, user } = this.props;\r\n updatePendingUserRole(user, role);\r\n };\r\n\r\n render() {\r\n const { user, role } = this.props;\r\n return (\r\n
\r\n \r\n
{user.displayName}
\r\n }\r\n selectedOption={role}\r\n onSelection={this.updatePendingUserRole}\r\n />\r\n \r\n
\r\n );\r\n }\r\n}\r\n\r\n/**\r\n * Share Popover\r\n * Allows a field or group to be shared with a list of users\r\n */\r\nclass SharePopover extends Component {\r\n static propTypes = {\r\n intl: intlShape,\r\n onClose: PropTypes.func.isRequired,\r\n onSubmit: PropTypes.func.isRequired\r\n };\r\n\r\n state = {\r\n selectedRole: ROLES.EXTRACTION_FIELD_OWNER,\r\n selectedUser: null,\r\n selectedUserName: '',\r\n pendingUsers: [],\r\n isValidMember: false\r\n };\r\n\r\n /**\r\n * Close the popover when clicking outside\r\n */\r\n handleClickOutside() {\r\n const { onClose } = this.props;\r\n onClose();\r\n }\r\n\r\n /**\r\n * Submit the modal\r\n */\r\n onSubmit = event => {\r\n const { onSubmit } = this.props;\r\n const { pendingUsers } = this.state;\r\n event.preventDefault();\r\n onSubmit(pendingUsers);\r\n };\r\n\r\n /**\r\n * Handle the role selected event\r\n */\r\n onRoleSelected = role => {\r\n this.setState({ selectedRole: role });\r\n };\r\n\r\n /**\r\n * Handle a change event on the user autocomplete\r\n */\r\n onUserNameChange = event => {\r\n const value = event.target.value;\r\n this.setState({ selectedUserName: event.target.value, isValidMember: false });\r\n if (!value) {\r\n this.onUserSelected('', null);\r\n }\r\n };\r\n\r\n /**\r\n * Handle a select event on the user autocomplete\r\n */\r\n onUserSelected = (userName, user) => {\r\n this.setState({\r\n selectedUserName: userName,\r\n selectedUser: user,\r\n isValidMember: user ? true : false\r\n });\r\n };\r\n\r\n /**\r\n * Handle the add user button click\r\n */\r\n onAddUserClick = event => {\r\n const { selectedUser, selectedRole, pendingUsers } = this.state;\r\n event.preventDefault();\r\n\r\n // Only add the user if they are not already in the list of pending users\r\n if (!pendingUsers.find(pendingUser => pendingUser.user === selectedUser)) {\r\n this.setState({\r\n pendingUsers: [\r\n ...pendingUsers,\r\n {\r\n user: selectedUser,\r\n role: selectedRole\r\n }\r\n ],\r\n selectedUserName: '',\r\n selectedUser: null,\r\n selectedRole: ROLES.EXTRACTION_FIELD_OWNER\r\n });\r\n }\r\n };\r\n\r\n /**\r\n * Handle removing a pending user\r\n */\r\n removePendingUser = user => {\r\n this.setState({ pendingUsers: this.state.pendingUsers.filter(pendingUser => pendingUser.user !== user) });\r\n };\r\n\r\n /**\r\n * Handle updating the role of a pending user\r\n */\r\n updatePendingUserRole = (user, role) => {\r\n const { pendingUsers } = this.state;\r\n const pendingUser = pendingUsers.find(pendingUser => pendingUser.user === user);\r\n pendingUser.role = role;\r\n this.setState({ pendingUsers: [...pendingUsers] });\r\n };\r\n\r\n searchUsers = keyword => {\r\n return getUsers(keyword, true).then(res => res.data);\r\n };\r\n\r\n render() {\r\n const {\r\n onClose,\r\n intl: { formatMessage }\r\n } = this.props;\r\n\r\n const { selectedRole, selectedUser, pendingUsers, selectedUserName, isValidMember } = this.state;\r\n\r\n return (\r\n
\r\n
\r\n

\r\n \r\n

\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n }\r\n selectedOption={selectedRole}\r\n onSelection={this.onRoleSelected}\r\n defaultMessage={formatMessage({\r\n id: 'quick-study.toolbar.share.role-placeholder'\r\n })}\r\n />\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n {!!pendingUsers.length && (\r\n
\r\n \r\n
\r\n {pendingUsers.map(({ user, role }) => (\r\n \r\n ))}\r\n
\r\n
\r\n )}\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n );\r\n }\r\n}\r\n\r\nexport default injectIntl(enhanceWithClickOutside(SharePopover));\r\n","import { FormattedMessage } from 'react-intl';\r\nimport classNames from 'classnames';\r\nimport PropTypes from 'prop-types';\r\nimport React, { Component } from 'react';\r\n\r\nimport Icon from 'components/shared/icon';\r\nimport emptyStateImage from 'images/empty_state_comp_02.svg';\r\nimport dateUtil from 'utils/dateUtil';\r\nimport { APIS, getExtractionFieldExportToken } from 'store/api';\r\n\r\nconst EXPORT_STATUSES = {\r\n STARTED: 1,\r\n PROGRESS: 2,\r\n COMPLETED: 3,\r\n DOWNLOADED: 4,\r\n ERROR: 5\r\n};\r\n\r\nconst EXPORT_STATUS_NAMES = {\r\n [EXPORT_STATUSES.STARTED]: 'started',\r\n [EXPORT_STATUSES.PROGRESS]: 'progress',\r\n [EXPORT_STATUSES.COMPLETED]: 'completed',\r\n [EXPORT_STATUSES.DOWNLOADED]: 'downloaded',\r\n [EXPORT_STATUSES.ERROR]: 'error'\r\n};\r\n\r\nclass Progress extends Component {\r\n static propTypes = {\r\n deleteExport: PropTypes.func.isRequired,\r\n exports: PropTypes.array.isRequired,\r\n projectId: PropTypes.any\r\n };\r\n\r\n state = {\r\n exports: []\r\n };\r\n\r\n componentDidMount() {\r\n this.getExportTokens();\r\n }\r\n\r\n componentDidUpdate(prevProps) {\r\n if (this.props.exports !== prevProps.exports) {\r\n this.getExportTokens();\r\n }\r\n }\r\n\r\n getExportTokens = () => {\r\n var { exports } = this.props;\r\n\r\n //Discarding previous array, but keeping exisiting download tokens\r\n exports.forEach(e => {\r\n var existing = this.state.exports.find(_e => _e.exportDetailID === e.exportDetailID);\r\n e.downloadLink = existing ? existing.downloadLink : null;\r\n });\r\n\r\n this.setState({ exports: exports });\r\n\r\n //Get download tokens for new exports\r\n exports.forEach(e => {\r\n if (e.downloadLink === null) this.getExportToken(e);\r\n });\r\n };\r\n\r\n getExportToken = item => {\r\n getExtractionFieldExportToken(item.exportDetailID).then(response => {\r\n var { exports } = this.state;\r\n const selectedContainerCode = sessionStorage.getItem('selected-container');\r\n const selectedMemberfirmCode = sessionStorage.getItem('selected-memberfirm');\r\n const selectedGeoCode = sessionStorage.getItem('selected-GEOCode');\r\n\r\n var apiIndex = selectedGeoCode ? APIS.findIndex(currAPI => currAPI.geoCode === selectedGeoCode) : 0;\r\n apiIndex = apiIndex > -1 ? apiIndex : 0;\r\n\r\n var adminapi = APIS[apiIndex].api;\r\n\r\n exports.forEach(e => {\r\n if (e.exportDetailID === item.exportDetailID)\r\n e.downloadLink = `${adminapi.defaults.baseURL}/extractionfields/exports/download/${response.data}?X-MF-CTX=${selectedMemberfirmCode}&X-CNTR-CTX=${selectedContainerCode}`;\r\n });\r\n\r\n this.setState({ exports });\r\n });\r\n };\r\n\r\n renderErrorMessage = stateId => {\r\n if (stateId === EXPORT_STATUSES.ERROR) {\r\n return ;\r\n }\r\n };\r\n\r\n render() {\r\n const { deleteExport } = this.props;\r\n const { exports } = this.state;\r\n\r\n if (!exports.length) {\r\n return (\r\n
\r\n \"no\r\n

\r\n \r\n

\r\n

\r\n \r\n

\r\n
\r\n );\r\n }\r\n\r\n return (\r\n
\r\n {exports.map(item => {\r\n const statusName = EXPORT_STATUS_NAMES[item.exportStateId];\r\n var enabled =\r\n item.downloadLink !== null &&\r\n (item.exportStateId === EXPORT_STATUSES.COMPLETED || item.exportStateId === EXPORT_STATUSES.DOWNLOADED);\r\n\r\n return (\r\n \r\n
\r\n
\r\n {enabled ? (\r\n \r\n {item.exportFileName}\r\n \r\n ) : (\r\n item.exportFileName\r\n )}\r\n
\r\n
\r\n {enabled ? (\r\n \r\n \r\n \r\n ) : (\r\n \r\n )}\r\n
\r\n
\r\n
\r\n {dateUtil.formatDateShort(dateUtil.fromServerDate(item.exportStateDate))}\r\n
\r\n {dateUtil.formatTime(dateUtil.fromServerDate(item.exportStateDate))}\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
{this.renderErrorMessage(item.exportStateId)}
\r\n
\r\n );\r\n })}\r\n
\r\n );\r\n }\r\n}\r\n\r\nexport default Progress;\r\n","import { FormattedMessage } from 'react-intl';\r\nimport Icon from 'components/shared/icon';\r\nimport PropTypes from 'prop-types';\r\nimport React, { Component } from 'react';\r\n\r\nimport Button from 'components/shared/single-click-button';\r\nimport { getExtractionFieldExports, deleteExtractionFieldExport, getExtractionFieldExportBinary } from 'store/api';\r\nimport Progress from 'components/quick-study/shared/export-sidebar-progress';\r\nimport socket, { rooms } from 'utils/socket';\r\n\r\nexport default class ExportSidebar extends Component {\r\n static propTypes = {\r\n currentUser: PropTypes.object.isRequired,\r\n onCloseClick: PropTypes.func.isRequired\r\n };\r\n\r\n state = {\r\n isLoading: false,\r\n exports: []\r\n };\r\n\r\n componentDidMount() {\r\n const { currentUser } = this.props;\r\n\r\n this.getExports();\r\n\r\n // Join the exports room on the socket connection\r\n if (currentUser.isLoaded) {\r\n socket.join(rooms.globalExports(currentUser.userId));\r\n }\r\n // Subscribe to export updates from the socket connection\r\n socket.on('export.update', this.onExportUpdate);\r\n }\r\n\r\n componentDidUpdate(prevProps) {\r\n // If the current user changes, join a new room on the socket connection\r\n if (this.props.currentUser.isLoaded) {\r\n const prevRoom = rooms.globalExports(prevProps.currentUser.userId);\r\n const currRoom = rooms.globalExports(this.props.currentUser.userId);\r\n if (prevRoom !== currRoom) {\r\n socket.leave(prevRoom);\r\n socket.join(currRoom);\r\n }\r\n }\r\n }\r\n\r\n componentWillUnmount() {\r\n const { currentUser } = this.props;\r\n socket.leave(rooms.globalExports(currentUser.userId));\r\n socket.off('export.update', this.onExportUpdate);\r\n }\r\n\r\n deleteExport = exportId => {\r\n // Optimistically delete\r\n this.setState({\r\n exports: this.state.exports.filter(item => item.exportDetailID !== exportId)\r\n });\r\n deleteExtractionFieldExport(exportId)\r\n // Re fetch on error\r\n .catch(this.getExports);\r\n };\r\n\r\n getExports = () => {\r\n this.setState({ isLoading: true });\r\n getExtractionFieldExports()\r\n .then(result => {\r\n this.setState({\r\n exports: result.data,\r\n isLoading: false\r\n });\r\n })\r\n .catch(() => {\r\n this.setState({\r\n isLoading: false\r\n });\r\n });\r\n };\r\n\r\n getExportBinary = exportId => {\r\n return getExtractionFieldExportBinary(exportId);\r\n };\r\n\r\n onExportUpdate = event => {\r\n const { exportDetailId, exportStateId } = event.data;\r\n\r\n if (!exportDetailId || !exportStateId) {\r\n return;\r\n }\r\n\r\n const updatedExports = this.state.exports.map(item => {\r\n if (item.exportDetailID === exportDetailId) {\r\n item.exportStateId = exportStateId;\r\n }\r\n return item;\r\n });\r\n\r\n this.setState({\r\n exports: updatedExports\r\n });\r\n };\r\n\r\n render() {\r\n const { onCloseClick } = this.props;\r\n const { exports, isLoading } = this.state;\r\n\r\n return (\r\n
\r\n
\r\n

\r\n \r\n

\r\n \r\n
\r\n
\r\n {isLoading ? (\r\n \r\n ) : (\r\n \r\n )}\r\n
\r\n
\r\n );\r\n }\r\n}\r\n","import { connect } from 'react-redux';\r\n\r\nimport ExportSidebar from 'components/quick-study/shared/export-sidebar';\r\n\r\nconst mapStateToProps = ({ data: { currentUser } }) => ({\r\n currentUser\r\n});\r\n\r\nexport default connect(mapStateToProps, null)(ExportSidebar);\r\n","import { FormattedMessage } from 'react-intl';\r\nimport PropTypes from 'prop-types';\r\nimport React, { Component } from 'react';\r\nimport ReactTooltip from 'react-tooltip';\r\nimport classNames from 'classnames';\r\nimport constants from 'utils/constants';\r\n\r\nimport Button from 'components/shared/single-click-button';\r\nimport CreateModal from 'components/quick-study/toolbar/create-modal';\r\nimport DeleteModal from 'components/quick-study/toolbar/delete-modal';\r\nimport ExportModal from 'components/quick-study/toolbar/export-modal';\r\nimport GroupPopover from 'components/quick-study/toolbar/group-popover';\r\nimport Icon from 'components/shared/icon';\r\nimport ImportModal from 'components/quick-study/toolbar/import-modal';\r\nimport SharePopover from 'components/quick-study/toolbar/share-popover';\r\nimport ExportSidebar from 'containers/quick-study/export-sidebar-container';\r\n\r\nexport const TOOLBAR_OPTIONS = {\r\n SHARE: 'SHARE',\r\n GROUP: 'GROUP',\r\n LEARN: 'LEARN',\r\n DELETE: 'DELETE',\r\n EXPORT: 'EXPORT',\r\n IMPORT: 'IMPORT',\r\n CREATE: 'CREATE'\r\n};\r\n\r\n/**\r\n * Toolbar Button\r\n */\r\nexport const ToolbarButton = ({ activeIconName, inActiveIconName, isActive, onClick, tooltipMessageId }) => (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n);\r\n\r\nToolbarButton.propTypes = {\r\n activeIconName: PropTypes.string.isRequired,\r\n inActiveIconName: PropTypes.string.isRequired,\r\n isActive: PropTypes.bool,\r\n onClick: PropTypes.func.isRequired,\r\n tooltipMessageId: PropTypes.string.isRequired\r\n};\r\n\r\n/**\r\n * Toolbar\r\n */\r\nexport default class Toolbar extends Component {\r\n static propTypes = {\r\n createExtractionField: PropTypes.func,\r\n onSubmitDeleteModal: PropTypes.func,\r\n onSubmitExportModal: PropTypes.func,\r\n onSubmitGroupPopover: PropTypes.func,\r\n onSubmitImportModal: PropTypes.func,\r\n onSubmitLearn: PropTypes.func,\r\n onSubmitSharePopover: PropTypes.func,\r\n selectedFields: PropTypes.array,\r\n selectedGroups: PropTypes.array,\r\n visibleOptions: PropTypes.array.isRequired\r\n };\r\n\r\n static defaultProps = {\r\n fields: [],\r\n selectedFields: [],\r\n selectedGroups: []\r\n };\r\n\r\n state = {\r\n activeOption: null,\r\n isExportSidebarShown: false\r\n };\r\n\r\n /**\r\n * Set the active toolbar option\r\n */\r\n setActiveOption = option => {\r\n this.setState({\r\n activeOption: option\r\n });\r\n };\r\n\r\n /**\r\n * Clear the active toolbar option\r\n */\r\n clearActiveOption = () => {\r\n this.setState({\r\n activeOption: null\r\n });\r\n };\r\n\r\n /**\r\n * Submit the group popover\r\n */\r\n onSubmitGroupPopover = group => {\r\n const { onSubmitGroupPopover } = this.props;\r\n this.clearActiveOption();\r\n return onSubmitGroupPopover(group);\r\n };\r\n\r\n /**\r\n * Submit the share popover\r\n */\r\n onSubmitSharePopover = users => {\r\n const { onSubmitSharePopover } = this.props;\r\n this.clearActiveOption();\r\n return onSubmitSharePopover(users);\r\n };\r\n\r\n /**\r\n * Submit the create modal\r\n */\r\n onSubmitCreateModal = data => {\r\n const { createExtractionField } = this.props;\r\n this.clearActiveOption();\r\n return createExtractionField(data);\r\n };\r\n\r\n /**\r\n * Submit the delete modal\r\n */\r\n onSubmitDeleteModal = () => {\r\n const { onSubmitDeleteModal } = this.props;\r\n this.clearActiveOption();\r\n return onSubmitDeleteModal();\r\n };\r\n\r\n /**\r\n * Handle a click on the export button\r\n */\r\n onExportClick = () => {\r\n const { selectedFields, selectedGroups } = this.props;\r\n if (selectedFields.length || selectedGroups.length) {\r\n // If there are row selected, show the export modal\r\n this.setActiveOption(TOOLBAR_OPTIONS.EXPORT);\r\n } else {\r\n // Otherwise show the export sidebar (export progress)\r\n this.setState({\r\n isExportSidebarShown: true\r\n });\r\n }\r\n };\r\n\r\n /**\r\n * Submit the export modal\r\n */\r\n onSubmitExportModal = () => {\r\n const { onSubmitExportModal } = this.props;\r\n\r\n return onSubmitExportModal().then(() => {\r\n this.clearActiveOption();\r\n this.setState({ isExportSidebarShown: true });\r\n });\r\n };\r\n\r\n /**\r\n * Hanlde closing the export sidebar\r\n */\r\n onCloseExportSidebar = () => {\r\n this.setState({ isExportSidebarShown: false });\r\n };\r\n\r\n /**\r\n * Submit the import modal\r\n */\r\n onSubmitImportModal = file => {\r\n const { onSubmitImportModal } = this.props;\r\n this.clearActiveOption();\r\n return onSubmitImportModal(file);\r\n };\r\n\r\n /**\r\n * Submit learn\r\n */\r\n onSubmitLearn = () => {\r\n const { onSubmitLearn } = this.props;\r\n this.setActiveOption(TOOLBAR_OPTIONS.LEARN);\r\n return onSubmitLearn().then(() => this.clearActiveOption());\r\n };\r\n\r\n render() {\r\n const { visibleOptions, selectedFields, selectedGroups } = this.props;\r\n const { activeOption, isExportSidebarShown } = this.state;\r\n\r\n const toolbarButtons = {\r\n [TOOLBAR_OPTIONS.SHARE]: (\r\n
\r\n this.setActiveOption(TOOLBAR_OPTIONS.SHARE)}\r\n tooltipMessageId=\"quick-study.toolbar.share.tooltip\"\r\n />\r\n {activeOption === TOOLBAR_OPTIONS.SHARE && (\r\n \r\n )}\r\n
\r\n ),\r\n [TOOLBAR_OPTIONS.GROUP]: (\r\n
\r\n this.setActiveOption(TOOLBAR_OPTIONS.GROUP)}\r\n tooltipMessageId=\"quick-study.toolbar.group.tooltip\"\r\n />\r\n {activeOption === TOOLBAR_OPTIONS.GROUP && (\r\n \r\n )}\r\n
\r\n ),\r\n [TOOLBAR_OPTIONS.DELETE]: (\r\n
\r\n this.setActiveOption(TOOLBAR_OPTIONS.DELETE)}\r\n tooltipMessageId=\"quick-study.toolbar.delete.tooltip\"\r\n />\r\n
\r\n )\r\n };\r\n\r\n return (\r\n
\r\n {visibleOptions.map(option => toolbarButtons[option])}\r\n {activeOption === TOOLBAR_OPTIONS.CREATE && (\r\n \r\n )}\r\n {activeOption === TOOLBAR_OPTIONS.DELETE && (\r\n \r\n )}\r\n {activeOption === TOOLBAR_OPTIONS.EXPORT && (\r\n \r\n )}\r\n {activeOption === TOOLBAR_OPTIONS.IMPORT && (\r\n \r\n )}\r\n {isExportSidebarShown && }\r\n
\r\n );\r\n }\r\n}\r\n","import { FormattedMessage, FormattedNumber } from 'react-intl';\r\nimport { Link } from 'react-router-dom';\r\nimport { withRouter } from 'react-router';\r\nimport classNames from 'classnames';\r\nimport PropTypes from 'prop-types';\r\nimport React, { Component } from 'react';\r\nimport ReactTooltip from 'react-tooltip';\r\n\r\nimport {\r\n createExtractionFieldExport,\r\n deleteExtractionField,\r\n getCurrentRegion,\r\n getExtractionFieldDetails,\r\n makeExtractionModelPermanent,\r\n publishExtractionField,\r\n updateExtractionField\r\n} from 'store/api';\r\nimport { getExtractionFieldHistory } from 'store/api';\r\nimport { hasError, ERROR_CODES } from 'utils/errors';\r\nimport { isNumeric } from 'utils/number-utils';\r\nimport { sortByKey } from 'utils/string-utils';\r\nimport Button from 'components/shared/single-click-button';\r\nimport ComplicatedIcon from 'components/extractions/complicated-icon/complicated-icon';\r\nimport constants from 'utils/constants';\r\nimport EditableText from 'components/shared/form/editable-text';\r\nimport GroupsAndUsers from 'components/quick-study/details/groups-and-users';\r\nimport History from 'components/quick-study/details/history';\r\nimport Icon from 'components/shared/icon';\r\nimport Learning from 'components/quick-study/details/learning';\r\nimport Measures from 'components/quick-study/details/measures';\r\nimport Permissions from 'permissions/permissions';\r\nimport socket, { rooms } from 'utils/socket';\r\nimport Toolbar, { TOOLBAR_OPTIONS } from 'components/quick-study/toolbar/toolbar';\r\n\r\nconst { ExtractionAccessTypeIds } = constants;\r\n\r\nconst TABS = {\r\n LEARNING: 'LEARNING',\r\n GROUPS: 'GROUPS',\r\n MEASURES: 'MEASURES',\r\n HISTORY: 'HISTORY'\r\n};\r\n\r\n/**\r\n * Extraction field details summary section\r\n */\r\nexport const Summary = ({\r\n field,\r\n fieldDescription,\r\n isAdmin,\r\n onChangeDescription,\r\n makeExtractionModelPermanent,\r\n fieldNegation,\r\n onChangeNegation\r\n}) => (\r\n
\r\n {/* Description section */}\r\n
\r\n

\r\n \r\n

\r\n \r\n \r\n

\r\n
\r\n
\r\n);\r\n\r\nSummary.propTypes = {\r\n field: PropTypes.object.isRequired,\r\n fieldDescription: PropTypes.string.isRequired,\r\n isAdmin: PropTypes.bool,\r\n makeExtractionModelPermanent: PropTypes.func.isRequired,\r\n onChangeDescription: PropTypes.func.isRequired\r\n};\r\n\r\n/**\r\n * Extraction field details tabs\r\n */\r\nexport class Tabs extends Component {\r\n static propTypes = {\r\n allowedTabs: PropTypes.object.isRequired,\r\n currentTab: PropTypes.string,\r\n onTabClick: PropTypes.func.isRequired\r\n };\r\n\r\n render() {\r\n const { currentTab, onTabClick, allowedTabs } = this.props;\r\n\r\n // If the user is not allowed to see any of the tabs then return null\r\n if (Object.values(allowedTabs).filter(value => !!value).length <= 1) {\r\n return null;\r\n }\r\n\r\n return (\r\n
\r\n
\r\n {/* Groups tab */}\r\n {allowedTabs[TABS.GROUPS] && (\r\n onTabClick(TABS.GROUPS)}\r\n >\r\n \r\n \r\n )}\r\n
\r\n \r\n
\r\n );\r\n }\r\n}\r\n\r\n/**\r\n * Extraction field details main component\r\n */\r\nexport class ExtractionFieldDetails extends Component {\r\n static propTypes = {\r\n currentUser: PropTypes.object.isRequired,\r\n extractionFieldId: PropTypes.string.isRequired,\r\n groupId: PropTypes.string.isRequired,\r\n history: PropTypes.object.isRequired,\r\n reloadExtractionFields: PropTypes.func.isRequired\r\n };\r\n\r\n state = {\r\n currentTab: null,\r\n field: null,\r\n fieldDescription: '',\r\n fieldNegation: '',\r\n fieldName: '',\r\n training: null\r\n };\r\n\r\n componentDidMount() {\r\n this.componentDidUpdate({}, {});\r\n\r\n socket.join(rooms.extractionFieldGroups());\r\n\r\n // XF updates\r\n socket.on('extractionfield.history.update', this.onTrainingHistoryUpdated);\r\n socket.on('extractionfield.training.revert', this.onTrainingHistoryUpdated);\r\n socket.on('extractionfield.publish', this.onIsPublishedUpdate);\r\n socket.on('extractionfield.autoextract.update', this.onAutoextractUpdate);\r\n socket.on('extractionfield.updated', this.onFieldUpdated);\r\n socket.on('extractionfield.removed', this.onFieldDeleted);\r\n\r\n // XF user updates\r\n socket.on('extractionfield.user.added', this.onUserAdded);\r\n socket.on('extractionfield.user.updated', this.onUserUpdated);\r\n socket.on('extractionfield.user.removed', this.onUserRemoved);\r\n\r\n // XF group updates\r\n socket.on('extractionfield.group.added', this.onGroupAdded);\r\n socket.on('extractionfield.group.removed', this.onGroupRemoved);\r\n socket.on('extractionfieldgroup.group.added', this.onGroupAddedToGroup);\r\n socket.on('extractionfieldGroup.user.added', this.onGroupSharedWithUser);\r\n }\r\n\r\n componentDidUpdate(prevProps, prevState) {\r\n const { history, extractionFieldId, groupId, reloadExtractionFields } = this.props;\r\n const { field, currentTab } = this.state;\r\n\r\n // When selecting a different field from the sidebar\r\n // Reload the data, leave the current room and join the new room\r\n if (prevProps.extractionFieldId !== extractionFieldId) {\r\n this.getExtractionFieldDetails();\r\n this.getHistory();\r\n socket.leave(rooms.extractionField(prevProps.extractionFieldId));\r\n socket.join(rooms.extractionField(extractionFieldId));\r\n this.setCurrentTab(TABS.GROUPS);\r\n }\r\n\r\n // When a field is loaded, check if we have access to the current tab for that field\r\n if (prevState.field !== field && field && !this.allowedTabs[currentTab]) {\r\n const allowedTabs = Object.entries(this.allowedTabs).find(([key, value]) => !!value);\r\n if (allowedTabs && allowedTabs.length) {\r\n // Set the current tab to the first allowed tab\r\n this.setState({ currentTab: allowedTabs[0] });\r\n } else {\r\n // If the user is not allowed to see any tabs, push them back to the list page\r\n history.push(`/region/${getCurrentRegion()}/groups/${groupId}/extraction-fields`);\r\n reloadExtractionFields();\r\n }\r\n }\r\n }\r\n\r\n componentWillUnmount() {\r\n const { extractionFieldId } = this.props;\r\n\r\n socket.leave(rooms.extractionField(extractionFieldId));\r\n socket.leave(rooms.extractionFieldGroups());\r\n\r\n socket.off('extractionfield.history.update', this.onTrainingHistoryUpdated);\r\n socket.off('extractionfield.training.revert', this.onTrainingHistoryUpdated);\r\n socket.off('extractionfield.publish', this.onIsPublishedUpdate);\r\n socket.off('extractionfield.autoextract.update', this.onAutoextractUpdate);\r\n socket.off('extractionfield.updated', this.onFieldUpdated);\r\n socket.off('extractionfield.removed', this.onFieldDeleted);\r\n socket.off('extractionfield.user.added', this.onUserAdded);\r\n socket.off('extractionfield.user.updated', this.onUserUpdated);\r\n socket.off('extractionfield.user.removed', this.onUserRemoved);\r\n socket.off('extractionfield.group.added', this.onGroupAdded);\r\n socket.off('extractionfield.group.removed', this.onGroupRemoved);\r\n socket.off('extractionfieldgroup.group.added', this.onGroupAddedToGroup);\r\n }\r\n\r\n /**\r\n * Change the currently visible tab\r\n */\r\n setCurrentTab = tab => {\r\n this.setState({\r\n currentTab: tab\r\n });\r\n };\r\n\r\n /**\r\n * Determine which tabs the user is allowed to see\r\n */\r\n get allowedTabs() {\r\n const { field } = this.state;\r\n return {\r\n LEARNING: Permissions.Global.ExtractionField.canViewLearningTab(field),\r\n GROUPS: Permissions.Global.ExtractionField.canViewGroupsAndUsersTab(field),\r\n MEASURES: Permissions.Global.ExtractionField.canViewMeasuresTab(field),\r\n HISTORY: Permissions.Global.ExtractionField.canViewHistoryTab(field)\r\n };\r\n }\r\n\r\n /**\r\n * Get the data for this page\r\n */\r\n getExtractionFieldDetails = () => {\r\n const { history, groupId } = this.props;\r\n\r\n getExtractionFieldDetails(this.props.extractionFieldId)\r\n .then(response => {\r\n this.setState({\r\n field: {\r\n ...response.data,\r\n groups: sortByKey('extractionFieldGroupName', response.data.groups),\r\n users: sortByKey('lastName', response.data.users)\r\n },\r\n // Save the name and description separately because they can be edited by the user\r\n fieldName: response.data.extractionFieldName,\r\n fieldDescription: response.data.extractionFieldDescription,\r\n fieldNegation: response.data.extractionFieldNegation\r\n });\r\n })\r\n .catch(error => {\r\n // If something goes wrong, push back to the list page\r\n if (hasError(error, ERROR_CODES.XF_INVALID)) {\r\n history.push(`/region/${getCurrentRegion()}/groups/${groupId}/extraction-fields`);\r\n }\r\n });\r\n };\r\n\r\n /**\r\n * Get the extraction field training history\r\n */\r\n getHistory = () => {\r\n const { extractionFieldId } = this.props;\r\n getExtractionFieldHistory(extractionFieldId).then(response => {\r\n this.setState({ training: response.data });\r\n });\r\n };\r\n\r\n /**\r\n * Delete the extraction field\r\n */\r\n deleteExtractionField = () => {\r\n const { history, groupId } = this.props;\r\n const { field } = this.state;\r\n return deleteExtractionField(field.extractionFieldId).then(() => {\r\n history.push(`/region/${getCurrentRegion()}/groups/${groupId}/extraction-fields`);\r\n });\r\n };\r\n\r\n /**\r\n * Update the field name and/or description\r\n */\r\n updateExtractionField = () => {\r\n const { field, fieldName, fieldDescription, fieldNegation } = this.state;\r\n updateExtractionField({\r\n extractionFieldId: field.extractionFieldId,\r\n extractionFieldName: fieldName,\r\n extractionFieldDescription: fieldDescription,\r\n extractionFieldNegation: fieldNegation,\r\n externalSystemId:field.externalSystemId\r\n }).catch(() => {\r\n this.setState({\r\n fieldName: field.extractionFieldName,\r\n fieldDescription: field.extractionFieldDescription,\r\n fieldNegation: field.extractionFieldNegation,\r\n externalSystemId:field.externalSystemId\r\n });\r\n });\r\n };\r\n\r\n /**\r\n * Publish or unpublish the extraction field\r\n */\r\n publishExtractionField = () => {\r\n const { field } = this.state;\r\n\r\n publishExtractionField({\r\n extractionFieldId: field.extractionFieldId,\r\n publish: field.accessTypeId !== ExtractionAccessTypeIds.public\r\n });\r\n\r\n this.setState({\r\n field: {\r\n ...field,\r\n accessTypeId:\r\n field.accessTypeId === ExtractionAccessTypeIds.public\r\n ? ExtractionAccessTypeIds.private\r\n : ExtractionAccessTypeIds.public\r\n }\r\n });\r\n };\r\n\r\n /**\r\n * Submit the export modal\r\n */\r\n submitExport = () => {\r\n const { field } = this.state;\r\n return createExtractionFieldExport([field.extractionFieldId]);\r\n };\r\n\r\n /**\r\n * Make the extraction field model permanent\r\n */\r\n makeExtractionModelPermanent = () => {\r\n const { field } = this.state;\r\n\r\n makeExtractionModelPermanent({ extractionFieldId: field.extractionFieldId }).then(() => {\r\n this.getExtractionFieldDetails();\r\n this.getHistory();\r\n this.setCurrentTab(TABS.HISTORY);\r\n });\r\n };\r\n\r\n /**\r\n * Handle a field updated event\r\n * Update the groups, users, name and description\r\n */\r\n onFieldUpdated = response => {\r\n const { field } = this.state;\r\n const updatedField = response.data;\r\n if (field.extractionFieldId === updatedField.extractionFieldId) {\r\n this.setState({\r\n field: {\r\n ...field,\r\n groups: sortByKey('response.data', field.groups),\r\n users: sortByKey('lastName', field.users),\r\n extractionFieldName: updatedField.extractionFieldName,\r\n extractionFieldDescription: updatedField.extractionFieldDescription,\r\n extractionFieldNegation: updatedField.extractionFieldNegation\r\n },\r\n fieldName: field.extractionFieldName,\r\n fieldDescription: field.extractionFieldDescription,\r\n fieldNegation: field.extractionFieldNegation\r\n });\r\n }\r\n };\r\n\r\n /**\r\n * Handle a field deleted event\r\n */\r\n onFieldDeleted = response => {\r\n const { history, groupId } = this.props;\r\n const { field } = this.state;\r\n const deletedFieldId = response.data.extractionFieldId;\r\n\r\n // Only respond if the event is for this field\r\n if (field.extractionFieldId === deletedFieldId) {\r\n history.push(`/region/${getCurrentRegion()}/groups/${groupId}/extraction-fields`);\r\n }\r\n };\r\n\r\n /**\r\n * After training the field go to the history tab and refresh the data\r\n */\r\n onTrainExtractionField = () => {\r\n this.setCurrentTab(TABS.HISTORY);\r\n this.getHistory();\r\n };\r\n\r\n /**\r\n * Handle the field name being changed\r\n */\r\n onChangeName = fieldName => {\r\n if (!fieldName) {\r\n return;\r\n }\r\n\r\n this.setState(\r\n {\r\n fieldName\r\n },\r\n this.updateExtractionField\r\n );\r\n };\r\n\r\n /**\r\n * Handle the field description being changed\r\n */\r\n onChangeDescription = fieldDescription => {\r\n if (!fieldDescription) {\r\n return;\r\n }\r\n\r\n this.setState(\r\n {\r\n fieldDescription\r\n },\r\n this.updateExtractionField\r\n );\r\n };\r\n\r\n onChangeNegation = fieldNegation => {\r\n this.setState(\r\n {\r\n fieldNegation\r\n },\r\n this.updateExtractionField\r\n );\r\n };\r\n /**\r\n * Handle a training history update\r\n */\r\n onTrainingHistoryUpdated = msg => {\r\n const { extractionFieldId } = this.props;\r\n\r\n if (msg.room !== rooms.extractionField(extractionFieldId)) {\r\n return;\r\n }\r\n\r\n this.getExtractionFieldDetails();\r\n this.getHistory();\r\n };\r\n\r\n /**\r\n * Handle a user added to the field\r\n */\r\n onUserAdded = msg => {\r\n const { field } = this.state;\r\n const {\r\n data: { userDetail }\r\n } = msg;\r\n\r\n if (msg.data.extractionFieldId !== field.extractionFieldId) {\r\n return;\r\n }\r\n\r\n this.setState({\r\n field: {\r\n ...field,\r\n users: sortByKey('lastName', [userDetail, ...field.users])\r\n }\r\n });\r\n };\r\n\r\n /**\r\n * Handle a user updated (usually for role change)\r\n */\r\n onUserUpdated = msg => {\r\n const { field } = this.state;\r\n const {\r\n data: { userDetail }\r\n } = msg;\r\n\r\n if (msg.data.extractionFieldId !== field.extractionFieldId) {\r\n return;\r\n }\r\n\r\n this.setState({\r\n field: {\r\n ...field,\r\n users: field.users.map(user => {\r\n return user.userId === userDetail.userId ? userDetail : user;\r\n })\r\n }\r\n });\r\n };\r\n\r\n /**\r\n * Handle a user removed from the field\r\n */\r\n onUserRemoved = msg => {\r\n const { field } = this.state;\r\n const { data } = msg;\r\n\r\n if (msg.data.extractionFieldId !== field.extractionFieldId) {\r\n return;\r\n }\r\n\r\n this.setState({\r\n field: {\r\n ...field,\r\n users: field.users.filter(user => user.userId !== data.userId)\r\n }\r\n });\r\n };\r\n\r\n /**\r\n * Handle this field being added to a group (group added to field.groups)\r\n */\r\n onGroupAdded = msg => {\r\n const { field } = this.state;\r\n const { data } = msg;\r\n\r\n if (msg.data.extractionFieldId !== field.extractionFieldId) {\r\n return;\r\n }\r\n\r\n this.setState({\r\n field: {\r\n ...field,\r\n groups: sortByKey('extractionFieldGroupName', [\r\n {\r\n extractionFieldGroupId: data.extractionFieldGroupId,\r\n extractionFieldGroupName: data.extractionFieldGroupName\r\n },\r\n ...field.groups\r\n ])\r\n }\r\n });\r\n };\r\n\r\n /**\r\n * Handle this field being removed from a group (group removed from field.groups)\r\n */\r\n onGroupRemoved = msg => {\r\n const { field } = this.state;\r\n const { data } = msg;\r\n\r\n if (msg.data.extractionFieldId !== field.extractionFieldId) {\r\n return;\r\n }\r\n\r\n this.setState({\r\n field: {\r\n ...field,\r\n groups: field.groups.filter(group => group.extractionFieldGroupId !== data.extractionFieldGroupId)\r\n }\r\n });\r\n };\r\n\r\n /**\r\n * Handle a group that this field is a member of being added to another group\r\n */\r\n onGroupAddedToGroup = msg => {\r\n const { field } = this.state;\r\n const { data } = msg;\r\n\r\n const group = data.extractionFieldGroup;\r\n const sourceGroupId = data.extractionFieldGroupIdSource;\r\n\r\n // Ignore if the source group is not present in field.groups\r\n if (!field.groups.find(group => group.extractionFieldGroupId === sourceGroupId)) {\r\n return;\r\n }\r\n\r\n this.setState({\r\n field: {\r\n ...field,\r\n groups: sortByKey('extractionFieldGroupName', [group, ...field.groups])\r\n }\r\n });\r\n };\r\n\r\n /**\r\n * Handle a group that this field is a member of being shared with a user\r\n */\r\n onGroupSharedWithUser = msg => {\r\n const { field } = this.state;\r\n const {\r\n data: { extractionFieldGroupId }\r\n } = msg;\r\n\r\n // Ignore if the source group is not present in field.groups\r\n if (!field.groups.find(group => group.extractionFieldGroupId === extractionFieldGroupId)) {\r\n return;\r\n }\r\n\r\n this.getExtractionFieldDetails();\r\n };\r\n\r\n onAutoextractUpdate = msg => {\r\n const { field } = this.state;\r\n const { data } = msg;\r\n\r\n if (msg.data.extractionFieldId !== field.extractionFieldId) {\r\n return;\r\n }\r\n\r\n this.setState({\r\n field: {\r\n ...field,\r\n isAutomaticExtraction: data.isAutomaticExtraction\r\n },\r\n isAutomaticExtraction: data.isAutomaticExtraction\r\n });\r\n };\r\n\r\n /**\r\n * Handle this field being published or unpublished\r\n */\r\n onIsPublishedUpdate = msg => {\r\n const { extractionFieldId } = this.props;\r\n\r\n if (msg.room !== rooms.extractionField(extractionFieldId)) {\r\n return;\r\n }\r\n\r\n this.getExtractionFieldDetails();\r\n };\r\n\r\n render() {\r\n const { currentUser, groupId } = this.props;\r\n const { field, fieldName, fieldDescription, training, fieldNegation } = this.state;\r\n\r\n if (!field || currentUser.isLoading || !currentUser.isLoaded) {\r\n return (\r\n
\r\n \r\n
\r\n );\r\n }\r\n\r\n const toolbarOptions = [];\r\n if (Permissions.Global.ExtractionField.canDelete(field)) {\r\n if (!field.isReadOnly) {\r\n toolbarOptions.push(TOOLBAR_OPTIONS.DELETE);\r\n }\r\n }\r\n if (Permissions.Global.ExtractionField.canEdit()) {\r\n toolbarOptions.push(TOOLBAR_OPTIONS.EXPORT);\r\n }\r\n\r\n return (\r\n
\r\n
\r\n
\r\n \r\n

\r\n {field.extractionFieldId}{' '}\r\n \r\n {Permissions.Global.ExtractionField.canViewVendorTag() ? (\r\n
\r\n {field.externalSystemId == constants.ExternalSystemIds.ABBY ? (\r\n \r\n ) : field.externalSystemId == constants.ExternalSystemIds.KIRA ? (\r\n \r\n ) : (\r\n \r\n )}\r\n
\r\n ) : null}\r\n

\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n \r\n\r\n \r\n\r\n {/* Learning tab */}\r\n {this.state.currentTab === TABS.LEARNING ? (\r\n \r\n ) : null}\r\n {/* Groups and users tab */}\r\n {this.state.currentTab === TABS.GROUPS ? (\r\n \r\n ) : null}\r\n {/* Measures tab */}\r\n {this.state.currentTab === TABS.MEASURES ? : null}\r\n {/* History tab */}\r\n {this.state.currentTab === TABS.HISTORY ? : null}\r\n
\r\n );\r\n }\r\n}\r\n\r\nexport default withRouter(ExtractionFieldDetails);\r\n","import { FormattedMessage, FormattedNumber } from 'react-intl';\r\nimport { Link } from 'react-router-dom';\r\nimport classNames from 'classnames';\r\nimport PropTypes from 'prop-types';\r\nimport React, { Component } from 'react';\r\nimport { getCurrentRegion } from 'store/api';\r\n\r\nimport { FixedTable, FixedHeader } from 'components/shared/fixed-table';\r\nimport { isNumeric } from 'utils/number-utils';\r\nimport Checkbox from 'components/shared/form/checkbox';\r\nimport Sorting from 'components/shared/sorting/sorting';\r\nimport EditableText from 'components/shared/form/editable-text';\r\nimport { updateExtractionField } from 'store/api';\r\nimport dateUtil from 'utils/dateUtil';\r\nimport Permissions from 'permissions/permissions';\r\nimport constants from 'utils/constants';\r\n\r\nclass ExtractionFieldItem extends Component {\r\n static propTypes = {\r\n condensed: PropTypes.bool,\r\n field: PropTypes.object.isRequired,\r\n groupId: PropTypes.string.isRequired,\r\n isAdmin: PropTypes.bool,\r\n isSelected: PropTypes.bool.isRequired,\r\n onSelectedChange: PropTypes.func.isRequired\r\n };\r\n\r\n state = {\r\n fieldName: this.props.field.extractionFieldName\r\n };\r\n\r\n componentDidUpdate(prevProps) {\r\n if (this.props.field.extractionFieldName !== prevProps.field.extractionFieldName) {\r\n this.setState({\r\n fieldName: this.props.field.extractionFieldName\r\n });\r\n }\r\n }\r\n\r\n onChangeName = fieldName => {\r\n if (!fieldName || fieldName === this.state.fieldName) {\r\n return;\r\n }\r\n\r\n this.setState(\r\n {\r\n fieldName\r\n },\r\n this.updateExtractionField\r\n );\r\n };\r\n\r\n updateExtractionField = () => {\r\n const { field } = this.props;\r\n const { fieldName } = this.state;\r\n updateExtractionField({\r\n extractionFieldId: field.extractionFieldId,\r\n extractionFieldName: fieldName\r\n })\r\n .then(() => {})\r\n .catch(() => {\r\n this.setState({\r\n fieldName: field.extractionFieldName\r\n });\r\n });\r\n };\r\n\r\n render() {\r\n const { condensed, field, isSelected, onSelectedChange, groupId, isAdmin } = this.props;\r\n const { fieldName } = this.state;\r\n let lastTrainingStatus = (\r\n \r\n );\r\n switch (field.trainingStateId) {\r\n case 0:\r\n lastTrainingStatus = (\r\n \r\n );\r\n break;\r\n case 1:\r\n lastTrainingStatus = (\r\n \r\n );\r\n break;\r\n case 2:\r\n lastTrainingStatus = (\r\n \r\n );\r\n break;\r\n case 3:\r\n lastTrainingStatus = (\r\n \r\n );\r\n break;\r\n default:\r\n lastTrainingStatus = (\r\n \r\n );\r\n break;\r\n }\r\n return (\r\n \r\n {!condensed &&\r\n isAdmin && (\r\n \r\n \r\n \r\n )}\r\n {!condensed && {field.extractionFieldId}}\r\n \r\n (\r\n \r\n {fieldName}\r\n \r\n )}\r\n />\r\n \r\n {isAdmin && {lastTrainingStatus}}\r\n {isAdmin && { field.externalSystemId == constants.ExternalSystemIds.ABBY ? (\r\n ) : \r\n field.externalSystemId == constants.ExternalSystemIds.KIRA ? (\r\n \r\n ) : ( \r\n )}}\r\n \r\n );\r\n }\r\n}\r\n\r\nexport default class ExtractionFieldList extends Component {\r\n static propTypes = {\r\n condensed: PropTypes.bool,\r\n fields: PropTypes.array,\r\n getExtractionGroup: PropTypes.func,\r\n groupId: PropTypes.string.isRequired,\r\n isAdmin: PropTypes.bool,\r\n onCheckAllChange: PropTypes.func.isRequired,\r\n onPageChange: PropTypes.func.isRequired,\r\n onSelectedFieldChange: PropTypes.func.isRequired,\r\n pagination: PropTypes.object,\r\n selectedFields: PropTypes.object.isRequired\r\n };\r\n\r\n state = {\r\n sorting: {\r\n key: 'name',\r\n ascending: true\r\n },\r\n filtering: {\r\n key: undefined,\r\n ids: undefined,\r\n tagOptions: [],\r\n templateOptions: []\r\n },\r\n search: {\r\n key: undefined,\r\n query: undefined\r\n }\r\n };\r\n\r\n /////////////////////// SORTING FILTERING FUNCTIONS START ///////////////////////\r\n reloadCurrentGroup() {\r\n const { filtering, sorting, search } = this.state;\r\n\r\n const groupOptions = {\r\n pageNum: 1\r\n };\r\n\r\n if (sorting && sorting.key) {\r\n groupOptions.sortBy = sorting.key;\r\n groupOptions.sortOrder = sorting.ascending ? 'ascending' : 'descending';\r\n }\r\n\r\n if (filtering && filtering.key) {\r\n groupOptions.filterBy = filtering.key;\r\n groupOptions.filterIds = filtering.ids;\r\n }\r\n\r\n if (search && search.key) {\r\n groupOptions.filterBy = search.key;\r\n groupOptions.filterString = search.query;\r\n }\r\n\r\n this.props.getExtractionGroup(groupOptions);\r\n }\r\n\r\n setSorting = (key, ascending) => {\r\n const { sorting } = this.state;\r\n sorting.key = key;\r\n sorting.ascending = ascending;\r\n this.setState({ sorting: sorting }, this.reloadCurrentGroup());\r\n };\r\n\r\n setSearch = (key, query) => {\r\n const { filtering, search } = this.state;\r\n filtering.key = undefined;\r\n filtering.ids = undefined;\r\n search.key = query.length > 0 ? key : undefined;\r\n search.query = query.length > 0 ? query : undefined;\r\n this.setState({ search: search }, this.reloadCurrentGroup());\r\n };\r\n\r\n /////////////////////// SORTING FILTERING FUNCTIONS END ///////////////////////\r\n\r\n render() {\r\n const {\r\n condensed,\r\n fields,\r\n groupId,\r\n isAdmin,\r\n onCheckAllChange,\r\n onPageChange,\r\n onSelectedFieldChange,\r\n pagination,\r\n selectedFields\r\n } = this.props;\r\n\r\n const { search, sorting } = this.state;\r\n if (!fields) {\r\n return null;\r\n }\r\n\r\n let allSelectedStatus;\r\n\r\n if (fields.length !== 0 && fields.length === selectedFields.size) {\r\n allSelectedStatus = 'checked';\r\n } else if (selectedFields.size === 0) {\r\n allSelectedStatus = 'unchecked';\r\n } else {\r\n allSelectedStatus = 'indeterminate';\r\n }\r\n return (\r\n \r\n \r\n \r\n \r\n {!condensed &&\r\n isAdmin && (\r\n \r\n \r\n \r\n )}\r\n {!condensed && (\r\n \r\n \r\n this.setSorting('extractionfieldid', ascending)}\r\n sortDirection={sorting.key === 'extractionfieldid' ? sorting.ascending : undefined}\r\n searchFunction={query => this.setSearch('extractionfieldid', query)}\r\n searchQuery={search.key === 'extractionfieldid' ? search.query : undefined}\r\n />\r\n \r\n )}\r\n \r\n \r\n this.setSearch('name', query)}\r\n searchQuery={search.key === 'name' ? search.query : undefined}\r\n sortFunction={ascending => this.setSorting('name', ascending)}\r\n sortDirection={sorting.key === 'name' ? sorting.ascending : undefined}\r\n />\r\n \r\n {isAdmin && (\r\n \r\n \r\n this.setSorting('trainingState', ascending)}\r\n sortDirection={sorting.key === 'trainingState' ? sorting.ascending : undefined}\r\n />\r\n \r\n )}\r\n {isAdmin && (\r\n \r\n \r\n \r\n )}\r\n \r\n \r\n \r\n {fields.length > 0 ? (\r\n fields.map((field, index) => {\r\n return (\r\n \r\n );\r\n })\r\n ) : (\r\n \r\n )}\r\n \r\n
\r\n
\r\n );\r\n }\r\n}\r\n","class SetUtil {\r\n toggle(set, item) {\r\n if (set.has(item)) {\r\n set.delete(item);\r\n } else {\r\n set.add(item);\r\n }\r\n }\r\n\r\n immutableToggle(set, item) {\r\n const newSet = new Set(set);\r\n this.toggle(newSet, item);\r\n return newSet;\r\n }\r\n\r\n //Taken from https://gist.github.com/clohr/44d4aa6fb749b3abd4e7fcde82e03d29\r\n intersect(set1, set2) {\r\n return [...set1].filter(num => set2.has(num));\r\n }\r\n\r\n difference(set1, set2) {\r\n return [...set1].filter(num => !set2.has(num));\r\n }\r\n\r\n union(set1, set2) {\r\n return new Set([...set1, ...set2]);\r\n }\r\n}\r\n\r\nexport default new SetUtil();\r\n","import { FormattedMessage } from 'react-intl';\r\nimport { withRouter } from 'react-router';\r\nimport classNames from 'classnames';\r\nimport PropTypes from 'prop-types';\r\nimport React, { Component, Fragment } from 'react';\r\n\r\nimport { hasError, ERROR_CODES } from 'utils/errors';\r\n\r\nimport Permissions from 'permissions/permissions';\r\n\r\nimport {\r\n addExtractionFieldToGroup,\r\n addUserToExtractionField,\r\n createExtractionField,\r\n createExtractionFieldExport,\r\n deleteExtractionField,\r\n getAllExtractionFields,\r\n getCurrentRegion,\r\n getExtractionFieldDetails,\r\n getExtractionFieldsForGroup,\r\n trainExtractionFields\r\n} from 'store/api';\r\n\r\nimport Breadcrumbs from 'components/shared/breadcrumbs';\r\nimport constants from 'utils/constants';\r\nimport ExtractionFieldDetails from 'components/quick-study/details/extraction-field-details';\r\nimport ExtractionFieldList from 'components/quick-study/extraction-field-browser/extraction-field-list';\r\nimport Header from 'containers/header/header';\r\nimport Icon from 'components/shared/icon';\r\nimport setUtil from 'utils/setUtil';\r\nimport socket, { rooms } from 'utils/socket';\r\nimport Toolbar, { TOOLBAR_OPTIONS } from 'components/quick-study/toolbar/toolbar';\r\n\r\nconst { ExtractionAccessTypeIds } = constants;\r\n\r\nconst DEFAULT_TOOLBAR_OPTIONS = [TOOLBAR_OPTIONS.EXPORT, TOOLBAR_OPTIONS.IMPORT, TOOLBAR_OPTIONS.CREATE];\r\n\r\nconst EXPANDED_TOOLBAR_OPTIONS = [\r\n TOOLBAR_OPTIONS.SHARE,\r\n TOOLBAR_OPTIONS.GROUP,\r\n TOOLBAR_OPTIONS.LEARN,\r\n TOOLBAR_OPTIONS.DELETE,\r\n TOOLBAR_OPTIONS.EXPORT,\r\n TOOLBAR_OPTIONS.IMPORT,\r\n TOOLBAR_OPTIONS.CREATE\r\n];\r\n\r\nconst LIMITED_TOOLBAR_OPTIONS = [\r\n TOOLBAR_OPTIONS.SHARE,\r\n TOOLBAR_OPTIONS.GROUP,\r\n TOOLBAR_OPTIONS.LEARN,\r\n TOOLBAR_OPTIONS.EXPORT,\r\n TOOLBAR_OPTIONS.IMPORT,\r\n TOOLBAR_OPTIONS.CREATE\r\n];\r\n\r\n/**\r\n * Extraction Field Browser\r\n * Handles data fetching and state updates for extraction field data\r\n * Wraps the ExtractionFieldList and Toolbar Components\r\n */\r\nexport class ExtractionFieldBrowser extends Component {\r\n static propTypes = {\r\n condensed: PropTypes.bool,\r\n currentUser: PropTypes.object.isRequired,\r\n extractionFieldId: PropTypes.string,\r\n groupId: PropTypes.string.isRequired,\r\n history: PropTypes.object.isRequired,\r\n search: PropTypes.object,\r\n searchView: PropTypes.bool,\r\n submitImport: PropTypes.func.isRequired,\r\n onSearchChange: PropTypes.func\r\n };\r\n\r\n state = {\r\n fields: null,\r\n groupName: null,\r\n pagination: null,\r\n requestedPage: 1,\r\n searchOptions: null,\r\n searchQuery: null,\r\n selectedFields: new Set(),\r\n abbyFields: new Set(),\r\n loadingSerach: false\r\n };\r\n\r\n constructor(props) {\r\n super(props);\r\n\r\n this.loadExtractionFields = this.loadExtractionFields.bind(this);\r\n }\r\n\r\n componentDidMount() {\r\n const { currentUser } = this.props;\r\n\r\n socket.on('extractionfield.history.update', this.onHistoryUpdated);\r\n socket.on('extractionfield.training.revert', this.onTrainingReverted);\r\n socket.on('extractionfield.updated', this.onFieldUpdated);\r\n socket.on('extractionfield.removed', this.onFieldDeleted);\r\n socket.on('extractionfield.import', this.onFieldsImported);\r\n socket.on('extractionfield.publish', this.onFieldsPublished);\r\n\r\n socket.join(rooms.extractionFields());\r\n socket.join(rooms.extractionFieldImports(currentUser.userId));\r\n\r\n if (this.props.searchView) {\r\n return this.getAllExtractionFields({\r\n pageNum: 1,\r\n filterBy: 'name',\r\n filterString: this.props.search.query\r\n });\r\n }\r\n this.componentDidUpdate({}, {});\r\n }\r\n\r\n componentDidUpdate(prevProps, prevState) {\r\n if (prevProps.groupId !== this.props.groupId) {\r\n // Either the groupId has changed, or a new page of data is requested\r\n this.loadExtractionFields();\r\n } else if (prevState.requestedPage !== this.state.requestedPage) {\r\n this.loadExtractionFields({ pageNum: this.state.requestedPage });\r\n }\r\n\r\n if (!prevProps.extractionFieldId && this.props.extractionFieldId) {\r\n // If viewing extraction field details, clear the selected fields.\r\n this.setState({ selectedFields: new Set() });\r\n }\r\n\r\n // If the list of fields changes, ensure that there are no orpans in the set of selected fields\r\n if (!prevState.fields !== this.state.fields) {\r\n const allFieldIds = new Set((this.state.fields || []).map(field => field.extractionFieldId));\r\n const interection = new Set(setUtil.intersect(allFieldIds, this.state.selectedFields));\r\n if (interection.size !== this.state.selectedFields.size) {\r\n this.setState({\r\n selectedFields: interection\r\n });\r\n }\r\n }\r\n }\r\n\r\n componentWillUnmount() {\r\n const { currentUser } = this.props;\r\n socket.off('extractionfield.history.update', this.onHistoryUpdated);\r\n socket.off('extractionfield.training.revert', this.onTrainingReverted);\r\n socket.off('extractionfield.updated', this.onFieldUpdated);\r\n socket.off('extractionfield.removed', this.onFieldDeleted);\r\n socket.off('extractionfield.import', this.onFieldsImported);\r\n socket.off('extractionfield.publish', this.onFieldsPublished);\r\n\r\n socket.leave(rooms.extractionFields());\r\n socket.leave(rooms.extractionFieldImports(currentUser.userId));\r\n }\r\n\r\n /**\r\n * Fetch the data for a given page of the extraction field list from the API\r\n */\r\n loadExtractionFields = options => {\r\n const { history } = this.props;\r\n const params = this.getParams(options);\r\n // The endpoint is different if requesting all extraction fields\r\n (this.props.groupId === 'all'\r\n ? this.getAllExtractionFields(params)\r\n : this.getExtractionFieldsForGroup(params)\r\n ).catch(error => {\r\n if (hasError(error, ERROR_CODES.XFGROUP_NOTFOUND)) {\r\n this.setState({ loadingSerach: false });\r\n history.push(`/region/${getCurrentRegion()}/groups`);\r\n }\r\n });\r\n };\r\n\r\n /**\r\n * Get the parameters for the api request, such as search filters and options\r\n */\r\n getParams(options) {\r\n const { requestedPage, searchOptions, searchQuery } = this.state;\r\n const page = { pageNum: requestedPage };\r\n let params = page;\r\n\r\n if (searchOptions) {\r\n params = Object.assign(params, searchOptions);\r\n }\r\n\r\n if (searchQuery) {\r\n params = Object.assign(params, searchQuery);\r\n }\r\n\r\n if (options) {\r\n params = Object.assign(params, options);\r\n }\r\n\r\n return params;\r\n }\r\n\r\n /**\r\n * Fetch the data for a given page of the list of all extraction fields\r\n */\r\n getAllExtractionFields = options => {\r\n return getAllExtractionFields(options).then(response => {\r\n this.setState({\r\n pagination: response.pageInfo,\r\n groupName: ,\r\n fields: response.data,\r\n loadingSerach: false\r\n });\r\n });\r\n };\r\n\r\n /**\r\n * Fetch the data for a given page of the list of extraction fields for a group\r\n */\r\n getExtractionFieldsForGroup = options => {\r\n const { groupId } = this.props;\r\n\r\n return getExtractionFieldsForGroup(groupId, options).then(response => {\r\n this.setState({\r\n pagination: response.pageInfo,\r\n groupName: response.data.extractionFieldGroupName,\r\n fields: response.data.extractionFields,\r\n loadingSerach: false\r\n });\r\n });\r\n };\r\n\r\n /**\r\n * Handle a page change\r\n */\r\n onPageChange = requestedPage => {\r\n this.setState({\r\n requestedPage\r\n });\r\n };\r\n\r\n /**\r\n * Handle a row of the extraction fields list being selected or deselected\r\n */\r\n onSelectedFieldChange = field => {\r\n const { selectedFields, abbyFields } = this.state;\r\n const id = field.extractionFieldId;\r\n\r\n if (selectedFields.has(id)) {\r\n selectedFields.delete(id);\r\n if (field.externalSystemId === constants.ExternalSystemIds.ABBY) {\r\n abbyFields.delete(id);\r\n }\r\n } else {\r\n selectedFields.add(id);\r\n if (field.externalSystemId === constants.ExternalSystemIds.ABBY) {\r\n abbyFields.add(id);\r\n }\r\n }\r\n\r\n this.setState({ selectedFields: selectedFields, abbyFields: abbyFields });\r\n };\r\n\r\n /**\r\n * Handle all rows of the extraction fields list being selected or deselected\r\n */\r\n onCheckAllChange = () => {\r\n const { fields, selectedFields } = this.state;\r\n\r\n if (selectedFields.size === fields.length) {\r\n this.setState({ selectedFields: new Set(), abbyFields: new Set() });\r\n } else {\r\n const allIds = fields.map(field => field.extractionFieldId);\r\n const abbyFieldsIds = fields\r\n .filter(({ externalSystemId }) => externalSystemId === constants.ExternalSystemIds.ABBY)\r\n .map(({ extractionFieldId }) => extractionFieldId);\r\n this.setState({ selectedFields: new Set(allIds), abbyFields: new Set(abbyFieldsIds) });\r\n }\r\n };\r\n\r\n /**\r\n * Create a new extraction field then add that field to the current group\r\n */\r\n createExtractionField = ({ name, description }) => {\r\n const { groupId } = this.props;\r\n createExtractionField(name, description)\r\n .then(response => {\r\n if (groupId !== 'all') {\r\n return addExtractionFieldToGroup({\r\n extractionFieldId: response.data.extractionFieldId,\r\n groupId: groupId\r\n });\r\n }\r\n })\r\n .then(() => this.loadExtractionFields({ pageNum: this.state.requestedPage }));\r\n };\r\n\r\n /**\r\n * Add the selected fields to a group\r\n */\r\n addFieldsToGroup = group => {\r\n const { fields, selectedFields } = this.state;\r\n\r\n return Promise.all(\r\n fields\r\n .filter(({ extractionFieldId }) => selectedFields.has(extractionFieldId))\r\n .map(field =>\r\n addExtractionFieldToGroup({\r\n extractionFieldId: field.extractionFieldId,\r\n groupId: group.extractionFieldGroupId\r\n })\r\n )\r\n );\r\n };\r\n\r\n /**\r\n * Share the selected fields with a list of users\r\n */\r\n addUsersToFields = pendingUsers => {\r\n return Promise.all(\r\n this.nonPublicSelectedFields.map(field =>\r\n Promise.all(\r\n pendingUsers.map(pendingUser =>\r\n addUserToExtractionField({\r\n extractionFieldId: field.extractionFieldId,\r\n userId: pendingUser.user.userId,\r\n roleId: pendingUser.role\r\n })\r\n )\r\n )\r\n )\r\n );\r\n };\r\n\r\n /**\r\n * Delete the selected fields\r\n */\r\n deleteExtractionFields = () => {\r\n return Promise.all(this.nonKiraFields.map(field => deleteExtractionField(field.extractionFieldId))).then(() => {\r\n this.loadExtractionFields({ pageNum: this.state.requestedPage });\r\n });\r\n };\r\n\r\n /**\r\n * Submit an export request for the selected fields\r\n */\r\n submitExport = () => {\r\n const { fields, selectedFields } = this.state;\r\n\r\n return createExtractionFieldExport(\r\n fields\r\n .filter(({ extractionFieldId }) => selectedFields.has(extractionFieldId))\r\n .map(field => field.extractionFieldId)\r\n );\r\n };\r\n\r\n /**\r\n * Submit an import request with a file\r\n */\r\n submitImport = file => {\r\n const { groupId, submitImport } = this.props;\r\n return submitImport({\r\n groupId: groupId === 'all' ? null : groupId,\r\n file\r\n });\r\n };\r\n\r\n /**\r\n * Submit learning of fields\r\n */\r\n submitLearn = () => {\r\n return trainExtractionFields({\r\n extractionFieldIds: this.nonKiraFields.map(field => field.extractionFieldId),\r\n isGroup: false\r\n });\r\n };\r\n\r\n /**\r\n * Respond to a history updated event\r\n */\r\n onHistoryUpdated = msg => {\r\n const extractionFieldId = msg.data.extractionFieldId;\r\n\r\n // Ignore if the event is from a different room\r\n if (msg.room !== rooms.extractionFields()) {\r\n return;\r\n }\r\n\r\n this.getUpdatedFieldData(extractionFieldId);\r\n };\r\n\r\n /**\r\n * Respond to a training reverted event\r\n */\r\n onTrainingReverted = msg => {\r\n const extractionFieldId = msg.data.extractionFieldId;\r\n\r\n // Ignore if the event is from a different room\r\n if (msg.room !== rooms.extractionFields()) {\r\n return;\r\n }\r\n\r\n this.getUpdatedFieldData(extractionFieldId);\r\n };\r\n\r\n /**\r\n * Get updated data for a specific field (in response to an event)\r\n */\r\n getUpdatedFieldData = extractionFieldId => {\r\n getExtractionFieldDetails(extractionFieldId).then(response => {\r\n const { fields } = this.state;\r\n\r\n this.setState({\r\n fields: fields.map(field =>\r\n field.extractionFieldId === response.data.extractionFieldId\r\n ? {\r\n ...field,\r\n ...response.data\r\n }\r\n : field\r\n )\r\n });\r\n });\r\n };\r\n\r\n /**\r\n * Respond to a field updated event\r\n */\r\n onFieldUpdated = msg => {\r\n const { fields } = this.state;\r\n const updatedField = msg.data;\r\n\r\n if (!updatedField) {\r\n return;\r\n }\r\n\r\n this.setState({\r\n fields: fields.map(field =>\r\n field.extractionFieldId === updatedField.extractionFieldId\r\n ? {\r\n ...field,\r\n // Only update name and description\r\n extractionFieldName:\r\n updatedField.extractionFieldName != null ? updatedField.extractionFieldName : field.extractionFieldName,\r\n extractionFieldDescription:\r\n updatedField.extractionFieldDescription != null\r\n ? updatedField.extractionFieldDescription\r\n : field.extractionFieldDescription,\r\n trainingStateId:\r\n updatedField.trainingStateId != null ? updatedField.trainingStateId : field.trainingStateId\r\n }\r\n : field\r\n )\r\n });\r\n };\r\n\r\n /**\r\n * Respond to a field deleted event\r\n */\r\n onFieldDeleted = response => {\r\n const { fields } = this.state;\r\n const deletedFieldId = response.data.extractionFieldId;\r\n\r\n if (!deletedFieldId) {\r\n return;\r\n }\r\n\r\n const updatedFields = fields.filter(field => field.extractionFieldId !== deletedFieldId);\r\n\r\n this.setState({\r\n fields: updatedFields\r\n });\r\n\r\n if (!updatedFields.length) {\r\n this.loadExtractionFields({ pageNum: this.state.requestedPage });\r\n }\r\n };\r\n\r\n /**\r\n * Respond to a field imported event\r\n */\r\n onFieldsImported = response => {\r\n const { groupId } = this.props;\r\n const succeededExtractionFields = response.data.succeededExtractionFields;\r\n\r\n // If there were successful imports and this is the 'all extraction fields list' then reload the list\r\n if (!succeededExtractionFields.length || groupId !== 'all') {\r\n return;\r\n }\r\n\r\n this.loadExtractionFields({ pageNum: this.state.requestedPage });\r\n };\r\n\r\n /**\r\n * Respond to a fields published event\r\n */\r\n onFieldsPublished = msg => {\r\n const { groupId } = this.props;\r\n\r\n // If this is the 'all extraction fields list' then reload the list\r\n if (msg.room !== rooms.extractionFields() || groupId !== 'all') {\r\n return;\r\n }\r\n\r\n this.loadExtractionFields({ pageNum: this.state.requestedPage });\r\n };\r\n\r\n /**\r\n * Handle a search from the header search bar\r\n */\r\n onSearch = options => {\r\n this.setState({ searchQuery: options, requestedPage: 1, loadingSerach: true });\r\n return options ? this.loadExtractionFields(options) : this.loadExtractionFields();\r\n };\r\n\r\n /**\r\n * Return the list of selected extraction fields that are not public\r\n */\r\n get nonPublicSelectedFields() {\r\n const { fields, selectedFields } = this.state;\r\n\r\n return (fields || []).filter(\r\n ({ accessTypeId, extractionFieldId }) =>\r\n selectedFields.has(extractionFieldId) && accessTypeId !== ExtractionAccessTypeIds.public\r\n );\r\n }\r\n\r\n /**\r\n * Return a list of the selected are deletable or learnable fields aka non kira fields\r\n */\r\n get nonKiraFields() {\r\n const { fields, selectedFields } = this.state;\r\n\r\n return (fields || []).filter(field => selectedFields.has(field.extractionFieldId) && !field.isReadOnly);\r\n }\r\n\r\n get generalSelectedFields() {\r\n const { fields, selectedFields } = this.state;\r\n\r\n return (fields || []).filter(field => selectedFields.has(field.extractionFieldId));\r\n }\r\n\r\n checkOption = option => {\r\n return (\r\n option !== TOOLBAR_OPTIONS.LEARN &&\r\n option !== TOOLBAR_OPTIONS.SHARE &&\r\n option !== TOOLBAR_OPTIONS.GROUP &&\r\n option !== TOOLBAR_OPTIONS.IMPORT &&\r\n option !== TOOLBAR_OPTIONS.CREATE\r\n );\r\n };\r\n\r\n isAbbyGroup = () => {\r\n const { fields } = this.state;\r\n return fields && fields.some(field => field.externalSystemId === constants.ExternalSystemIds.ABBY);\r\n };\r\n\r\n /**\r\n * Return the list of visible toolbar options depending on whether the field is read only or not\r\n */\r\n getVisibleOptions = () => {\r\n const { abbyFields } = this.state;\r\n const isAbbyGroup = this.isAbbyGroup();\r\n const nonShareLimited = LIMITED_TOOLBAR_OPTIONS.filter(\r\n option =>\r\n option !== TOOLBAR_OPTIONS.SHARE &&\r\n (abbyFields.size > 0 ? this.checkOption(option) : true) &&\r\n (isAbbyGroup ? option !== TOOLBAR_OPTIONS.IMPORT : true)\r\n );\r\n const nonShareExpanded = EXPANDED_TOOLBAR_OPTIONS.filter(\r\n option =>\r\n option !== TOOLBAR_OPTIONS.SHARE &&\r\n (abbyFields.size > 0 ? this.checkOption(option) : true) &&\r\n (isAbbyGroup ? option !== TOOLBAR_OPTIONS.IMPORT : true)\r\n );\r\n\r\n if (this.generalSelectedFields.length <= 0) {\r\n return isAbbyGroup ? DEFAULT_TOOLBAR_OPTIONS.filter(this.checkOption) : DEFAULT_TOOLBAR_OPTIONS;\r\n }\r\n\r\n // If there are non public selected fields, we won't hide the share button\r\n if (this.nonPublicSelectedFields.length > 0) {\r\n if (this.nonPublicSelectedFields.every(field => field.isReadOnly)) {\r\n return abbyFields.size > 0\r\n ? LIMITED_TOOLBAR_OPTIONS.filter(this.checkOption)\r\n : LIMITED_TOOLBAR_OPTIONS.filter(option => (isAbbyGroup ? option !== TOOLBAR_OPTIONS.IMPORT : true));\r\n }\r\n return abbyFields.size > 0\r\n ? EXPANDED_TOOLBAR_OPTIONS.filter(this.checkOption)\r\n : EXPANDED_TOOLBAR_OPTIONS.filter(option => (isAbbyGroup ? option !== TOOLBAR_OPTIONS.IMPORT : true));\r\n }\r\n\r\n // If all the selected fields are public, hide the share button\r\n if (this.generalSelectedFields.every(field => field.isReadOnly)) {\r\n return nonShareLimited;\r\n }\r\n\r\n return nonShareExpanded;\r\n };\r\n\r\n render() {\r\n const { condensed, currentUser, groupId, extractionFieldId, searchView } = this.props;\r\n const { fields, selectedFields, groupName, pagination, loadingSerach } = this.state;\r\n if (!groupName && !searchView) {\r\n return (\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n );\r\n }\r\n\r\n const breadcrumbs = [\r\n { name: , link: `/region/${getCurrentRegion()}/groups` },\r\n { name: groupName ? groupName : 'All Extraction Fields' }\r\n ];\r\n\r\n const toolbarOptions = this.getVisibleOptions();\r\n\r\n return (\r\n \r\n {\r\n this.setState({ requestedPage: 1, searchOptions: null, searchQuery: null }, () =>\r\n this.loadExtractionFields({ pageNum: 1 })\r\n );\r\n }}\r\n loadExtractionFields={this.loadExtractionFields}\r\n />\r\n
\r\n \r\n \r\n \r\n
\r\n

\r\n \r\n

\r\n\r\n {/* {Permissions.Global.ExtractionField.canEdit() && (\r\n
\r\n \r\n
\r\n )} */}\r\n \r\n
\r\n {!condensed && Permissions.Global.ExtractionField.canEdit() ? (\r\n \r\n ) : null}\r\n
\r\n {loadingSerach ? (\r\n \r\n ) : (\r\n
\r\n {\r\n this.setState({ searchOptions: options, requestedPage: 1 }, () =>\r\n this.loadExtractionFields(options)\r\n );\r\n }}\r\n />\r\n
\r\n )}\r\n
\r\n {extractionFieldId && (\r\n \r\n )}\r\n \r\n
\r\n \r\n );\r\n }\r\n}\r\n\r\nexport default withRouter(ExtractionFieldBrowser);\r\n","import { FormattedMessage, FormattedNumber } from 'react-intl';\r\nimport { Link } from 'react-router-dom';\r\nimport classNames from 'classnames';\r\nimport PropTypes from 'prop-types';\r\nimport React, { Component } from 'react';\r\n\r\nimport { FixedTable, FixedHeader } from 'components/shared/fixed-table';\r\nimport { getCurrentRegion, updateExtractionFieldGroup } from 'store/api';\r\nimport Sorting from 'components/shared/sorting/sorting';\r\nimport { isNumeric } from 'utils/number-utils';\r\nimport Checkbox from 'components/shared/form/checkbox';\r\nimport EditableText from 'components/shared/form/editable-text';\r\nimport Permissions from 'permissions/permissions';\r\n\r\nclass GroupItem extends Component {\r\n static propTypes = {\r\n group: PropTypes.object.isRequired,\r\n hideCheckboxes: PropTypes.bool,\r\n isSelected: PropTypes.bool.isRequired,\r\n onSelectedChange: PropTypes.func.isRequired\r\n };\r\n\r\n state = {\r\n groupName: this.props.group.extractionFieldGroupName\r\n };\r\n\r\n componentDidUpdate(prevProps) {\r\n if (this.props.group.extractionFieldGroupName !== prevProps.group.extractionFieldGroupName) {\r\n this.setState({\r\n groupName: this.props.group.extractionFieldGroupName\r\n });\r\n }\r\n }\r\n\r\n onChangeName = groupName => {\r\n if (!groupName || groupName === this.state.groupName) {\r\n return;\r\n }\r\n\r\n this.setState(\r\n {\r\n groupName\r\n },\r\n this.updateGroup\r\n );\r\n };\r\n\r\n updateGroup = () => {\r\n const { group } = this.props;\r\n const { groupName } = this.state;\r\n updateExtractionFieldGroup({\r\n groupId: group.extractionFieldGroupId,\r\n groupName\r\n })\r\n .then(() => {})\r\n .catch(() => {\r\n this.setState({\r\n groupName: group.extractionFieldGroupName\r\n });\r\n });\r\n };\r\n\r\n render() {\r\n const { group, hideCheckboxes, isSelected, onSelectedChange } = this.props;\r\n const { groupName } = this.state;\r\n const isAllFieldsGroup = group.extractionFieldGroupId === 'all';\r\n return (\r\n \r\n {!hideCheckboxes && (\r\n \r\n {!isAllFieldsGroup ? (\r\n \r\n ) : null}\r\n \r\n )}\r\n \r\n (\r\n \r\n {groupName}\r\n \r\n )}\r\n />\r\n \r\n \r\n {isNumeric(group.totalFieldCount) ? : '-'}\r\n \r\n \r\n {isNumeric(group.trainedFieldCount) ? : '-'}\r\n \r\n \r\n {isNumeric(group.untrainedFieldCount) ? : '-'}\r\n \r\n \r\n );\r\n }\r\n}\r\n\r\nexport default class GroupList extends Component {\r\n static propTypes = {\r\n getGroups: PropTypes.func,\r\n groups: PropTypes.array,\r\n hideCheckboxes: PropTypes.bool,\r\n onCheckAllChange: PropTypes.func.isRequired,\r\n onPageChange: PropTypes.func.isRequired,\r\n onSelectedGroupChange: PropTypes.func.isRequired,\r\n pagination: PropTypes.object,\r\n selectedGroups: PropTypes.object.isRequired\r\n };\r\n\r\n state = {\r\n sorting: {\r\n key: 'name',\r\n ascending: true\r\n },\r\n search: {\r\n key: undefined,\r\n query: undefined\r\n }\r\n };\r\n\r\n /////////////////////// SORTING FILTERING FUNCTIONS START ///////////////////////\r\n reloadCurrentGroups() {\r\n const { filtering, sorting, search } = this.state;\r\n\r\n const groupOptions = {\r\n pageNum: 1\r\n };\r\n\r\n if (sorting && sorting.key) {\r\n groupOptions.sortBy = sorting.key;\r\n groupOptions.sortOrder = sorting.ascending ? 'ascending' : 'descending';\r\n }\r\n\r\n if (filtering && filtering.key) {\r\n groupOptions.filterBy = filtering.key;\r\n groupOptions.filterIds = filtering.ids;\r\n }\r\n\r\n if (search && search.key) {\r\n groupOptions.filterBy = search.key;\r\n groupOptions.filterString = search.query;\r\n }\r\n\r\n this.props.getGroups(groupOptions);\r\n }\r\n\r\n setSorting = (key, ascending) => {\r\n const { sorting } = this.state;\r\n sorting.key = key;\r\n sorting.ascending = ascending;\r\n this.setState({ sorting: sorting }, this.reloadCurrentGroups());\r\n };\r\n\r\n setSearch = (key, query) => {\r\n const { search } = this.state;\r\n search.key = query.length > 0 ? key : undefined;\r\n search.query = query.length > 0 ? query : undefined;\r\n this.setState({ search: search }, this.reloadCurrentGroups());\r\n };\r\n /////////////////////// SORTING FILTERING FUNCTIONS END ///////////////////////\r\n\r\n render() {\r\n const {\r\n groups,\r\n hideCheckboxes,\r\n onCheckAllChange,\r\n onPageChange,\r\n onSelectedGroupChange,\r\n pagination,\r\n selectedGroups\r\n } = this.props;\r\n const { search, sorting } = this.state;\r\n\r\n if (!groups) {\r\n return null;\r\n }\r\n\r\n let allSelectedStatus;\r\n if (groups.length !== 0 && groups.length === selectedGroups.size) {\r\n allSelectedStatus = 'checked';\r\n } else if (selectedGroups.size === 0) {\r\n allSelectedStatus = 'unchecked';\r\n } else {\r\n allSelectedStatus = 'indeterminate';\r\n }\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n {!hideCheckboxes && (\r\n \r\n \r\n \r\n )}\r\n \r\n \r\n this.setSearch('name', query)}\r\n searchQuery={search.key === 'name' ? search.query : undefined}\r\n sortFunction={ascending => this.setSorting('name', ascending)}\r\n sortDirection={sorting.key === 'name' ? sorting.ascending : undefined}\r\n toggleFunction={() => {}}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {groups.length > 0 ? (\r\n groups.map((group, index) => {\r\n return (\r\n \r\n );\r\n })\r\n ) : (\r\n \r\n )}\r\n \r\n
\r\n
\r\n );\r\n }\r\n}\r\n","import { FormattedMessage, injectIntl, intlShape } from 'react-intl';\r\nimport { Redirect } from 'react-router';\r\nimport PropTypes from 'prop-types';\r\nimport React, { Component, Fragment } from 'react';\r\n\r\nimport Permissions from 'permissions/permissions';\r\n\r\nimport {\r\n addGroupToGroup,\r\n addUserToGroup,\r\n createExtractionField,\r\n createExtractionFieldGroupExport,\r\n deleteExtractionFieldGroup,\r\n getCurrentRegion,\r\n getExtractionFieldGroups,\r\n trainExtractionFields\r\n} from 'store/api';\r\nimport Breadcrumbs from 'components/shared/breadcrumbs';\r\nimport GroupsList from 'components/quick-study/groups-browser/groups-list';\r\nimport Header from 'containers/header/header';\r\nimport Icon from 'components/shared/icon';\r\nimport setUtil from 'utils/setUtil';\r\nimport socket, { rooms } from 'utils/socket';\r\nimport Toolbar, { TOOLBAR_OPTIONS } from 'components/quick-study/toolbar/toolbar';\r\nimport constants from '../../../utils/constants';\r\n\r\nconst DEFAULT_TOOLBAR_OPTIONS = [TOOLBAR_OPTIONS.EXPORT, TOOLBAR_OPTIONS.IMPORT, TOOLBAR_OPTIONS.CREATE];\r\n\r\nconst EXPANDED_TOOLBAR_OPTIONS = [\r\n TOOLBAR_OPTIONS.SHARE,\r\n TOOLBAR_OPTIONS.GROUP,\r\n TOOLBAR_OPTIONS.LEARN,\r\n TOOLBAR_OPTIONS.DELETE,\r\n TOOLBAR_OPTIONS.EXPORT,\r\n TOOLBAR_OPTIONS.IMPORT,\r\n TOOLBAR_OPTIONS.CREATE\r\n];\r\n\r\nconst LIMITED_TOOLBAR_OPTIONS = [\r\n TOOLBAR_OPTIONS.SHARE,\r\n TOOLBAR_OPTIONS.GROUP,\r\n TOOLBAR_OPTIONS.LEARN,\r\n TOOLBAR_OPTIONS.EXPORT,\r\n TOOLBAR_OPTIONS.IMPORT,\r\n TOOLBAR_OPTIONS.CREATE\r\n];\r\n\r\n/**\r\n * Groups Browser\r\n * Handles data fetching and state updates for groups data\r\n * Wraps the GroupsList and Toolbar Components\r\n */\r\nclass GroupsBrowser extends Component {\r\n static propTypes = {\r\n currentUser: PropTypes.object,\r\n getSearch: PropTypes.func,\r\n intl: intlShape,\r\n searchView: PropTypes.bool,\r\n submitImport: PropTypes.func.isRequired,\r\n onSearchChange: PropTypes.func\r\n };\r\n\r\n state = {\r\n groups: null,\r\n searchResults: null,\r\n pagination: null,\r\n requestedPage: 1,\r\n searchOptions: null,\r\n selectedGroups: new Set(),\r\n abbyGroups: new Set()\r\n };\r\n\r\n componentDidMount() {\r\n this.componentDidUpdate({}, {});\r\n socket.join(rooms.extractionFieldGroups());\r\n socket.on('extractionfieldgroup.updated', this.onGroupUpdated);\r\n socket.on('extractionfieldgroup.removed', this.onGroupDeleted);\r\n\r\n this.props.getSearch(false);\r\n }\r\n\r\n componentDidUpdate(prevProps, prevState) {\r\n // If the page has changed, request the new page\r\n if (this.state.requestedPage !== prevState.requestedPage) {\r\n this.getExtractionFieldGroups({ pageNum: this.state.requestedPage });\r\n }\r\n\r\n // If the list of groups changes, ensure that there are no orpans in the set of selected groups\r\n if (!prevState.groups !== this.state.groups) {\r\n const allGroupIds = new Set((this.state.groups || []).map(group => group.extractionFieldGroupId));\r\n const interection = new Set(setUtil.intersect(allGroupIds, this.state.selectedGroups));\r\n if (interection.size !== this.state.selectedGroups.size) {\r\n this.setState({\r\n selectedGroups: interection\r\n });\r\n }\r\n }\r\n }\r\n\r\n componentWillUnmount() {\r\n socket.off('extractionfieldgroup.updated', this.onGroupUpdated);\r\n socket.off('extractionfieldgroup.removed', this.onGroupDeleted);\r\n\r\n socket.leave(rooms.extractionFieldGroups());\r\n }\r\n\r\n /**\r\n * Fetch the data for a given page of the groups list from the API\r\n */\r\n getExtractionFieldGroups = groupOptions => {\r\n const {\r\n intl: { formatMessage }\r\n } = this.props;\r\n const options = this.getParams(groupOptions);\r\n\r\n return getExtractionFieldGroups(options).then(response => {\r\n const pagination = response.pageInfo;\r\n const groups = [...response.data];\r\n\r\n if (groups.length === 0) {\r\n return this.setState({ groups });\r\n }\r\n // The first group returned by the api represents 'All'\r\n groups[0].extractionFieldGroupId = 'all';\r\n groups[0].extractionFieldGroupName = formatMessage({ id: 'quick-study.group-list.all-extraction-fields' });\r\n this.setState({\r\n pagination,\r\n groups\r\n });\r\n });\r\n };\r\n\r\n /**\r\n * Get the parameters for the api request, such as search filters and options\r\n */\r\n getParams(options) {\r\n const { requestedPage, searchOptions } = this.state;\r\n const page = { pageNum: requestedPage };\r\n let params = page;\r\n\r\n if (searchOptions) {\r\n params = Object.assign(params, searchOptions);\r\n }\r\n\r\n if (options) {\r\n params = Object.assign(params, options);\r\n }\r\n\r\n return params;\r\n }\r\n\r\n /**\r\n * Handle a page change\r\n */\r\n onPageChange = requestedPage => {\r\n this.setState({ requestedPage });\r\n };\r\n\r\n isAbbyGroup = group => {\r\n return group.externalSystemId === constants.ExternalSystemIds.ABBY;\r\n };\r\n\r\n /**\r\n * Handle a row of the groups list being selected or deselected\r\n */\r\n onSelectedGroupChange = group => {\r\n const { selectedGroups, abbyGroups } = this.state;\r\n\r\n const id = group.extractionFieldGroupId;\r\n const isAbbyGroup = this.isAbbyGroup(group);\r\n if (selectedGroups.has(id)) {\r\n selectedGroups.delete(id);\r\n if (isAbbyGroup) {\r\n abbyGroups.delete(id);\r\n }\r\n } else {\r\n selectedGroups.add(id);\r\n if (isAbbyGroup) {\r\n abbyGroups.add(id);\r\n }\r\n }\r\n\r\n this.setState({ selectedGroups: selectedGroups, abbyGroups: abbyGroups });\r\n };\r\n\r\n /**\r\n * Handle all rows of the groups list being selected or deselected\r\n */\r\n onCheckAllChange = () => {\r\n const { groups, selectedGroups } = this.state;\r\n\r\n if (selectedGroups.size === groups.length) {\r\n this.setState({ selectedGroups: new Set(), abbyGroups: new Set() });\r\n } else {\r\n const allIds = groups.map(group => group.extractionFieldGroupId);\r\n const abbyGroupsIds = groups.filter(this.isAbbyGroup).map(({ extractionFieldGroupId }) => extractionFieldGroupId);\r\n this.setState({ selectedGroups: new Set(allIds), abbyGroups: new Set(abbyGroupsIds) });\r\n }\r\n };\r\n\r\n /**\r\n * Create a new extraction field given a name and description\r\n */\r\n createExtractionField = ({ name, description }) => {\r\n createExtractionField(name, description).then(() => {\r\n this.getExtractionFieldGroups({ pageNum: this.state.requestedPage });\r\n });\r\n };\r\n\r\n /**\r\n * Add all the fields in a the selected groups to another group\r\n */\r\n addToGroup = toGroup => {\r\n return Promise.all(\r\n this.actionableGroupIds.map(fromGroupId =>\r\n addGroupToGroup({\r\n toGroupId: toGroup.extractionFieldGroupId,\r\n fromGroupId\r\n })\r\n )\r\n ).then(() => {\r\n this.getExtractionFieldGroups({ pageNum: this.state.requestedPage });\r\n });\r\n };\r\n\r\n /**\r\n * Share all the fields in the selected groups with a list of users\r\n */\r\n addUsers = pendingUsers => {\r\n return Promise.all(\r\n this.actionableGroupIds.map(groupId =>\r\n Promise.all(\r\n pendingUsers.map(pendingUser =>\r\n addUserToGroup({\r\n groupId,\r\n userId: pendingUser.user.userId,\r\n roleId: pendingUser.role\r\n })\r\n )\r\n )\r\n )\r\n );\r\n };\r\n\r\n /**\r\n * Delete the selected groups\r\n */\r\n deleteGroups = () => {\r\n return Promise.all(\r\n this.deletableGroups.map(group => deleteExtractionFieldGroup(group.extractionFieldGroupId))\r\n ).then(() => {\r\n this.getExtractionFieldGroups({ pageNum: 1 });\r\n });\r\n };\r\n\r\n /**\r\n * Submit an export request for the selected groups\r\n */\r\n submitExport = () => {\r\n return createExtractionFieldGroupExport(this.actionableGroupIds);\r\n };\r\n\r\n submitImport = file => {\r\n const { submitImport } = this.props;\r\n\r\n return submitImport({ file });\r\n };\r\n\r\n /**\r\n * Submit learning for groups\r\n */\r\n submitLearn = () => {\r\n return trainExtractionFields({\r\n extractionFieldIds: this.actionableGroupIds,\r\n isGroup: true\r\n });\r\n };\r\n\r\n /**\r\n * Handle a search from the header search bar\r\n */\r\n onSearch = bool => {\r\n return this.props.getSearch(bool);\r\n };\r\n\r\n /**\r\n * Handle a group updated event\r\n */\r\n onGroupUpdated = msg => {\r\n const { groups } = this.state;\r\n const updatedGroupId = msg.data.extractionFieldGroupId;\r\n const updatedGroupName = msg.data.extractionFieldGroupName;\r\n\r\n this.setState({\r\n groups: groups.map(group =>\r\n // Only update the group from the event\r\n group.extractionFieldGroupId === updatedGroupId\r\n ? {\r\n ...group,\r\n // Only update the group name\r\n extractionFieldGroupName: updatedGroupName\r\n }\r\n : group\r\n )\r\n });\r\n };\r\n\r\n /**\r\n * Handle a group deletion event\r\n */\r\n onGroupDeleted = msg => {\r\n const { groups } = this.state;\r\n const deletedGroupId = msg.data.extractionFieldGroupId;\r\n\r\n if (!deletedGroupId) {\r\n return;\r\n }\r\n\r\n this.setState({\r\n groups: groups.filter(group => group.extractionFieldGroupId !== deletedGroupId)\r\n });\r\n };\r\n\r\n /**\r\n * Return the list of selected groups that are actionable\r\n * ( filters out 'all extraction fields' )\r\n */\r\n get actionableGroups() {\r\n const { groups, selectedGroups } = this.state;\r\n\r\n return (groups || []).filter(\r\n ({ extractionFieldGroupId }) => selectedGroups.has(extractionFieldGroupId) && extractionFieldGroupId !== 'all'\r\n );\r\n }\r\n\r\n /**\r\n * Return a boolean of whether the selected are all read only groups\r\n */\r\n get readOnlyGroups() {\r\n const { groups, selectedGroups } = this.state;\r\n\r\n return (groups || [])\r\n .filter(group => selectedGroups.has(group.extractionFieldGroupId) && group.extractionFieldGroupId !== 'all')\r\n .every(group => group.isAllFieldsReadOnly === true);\r\n }\r\n\r\n /**\r\n * Return a list of the selected that are deletable\r\n */\r\n get deletableGroups() {\r\n const { groups, selectedGroups } = this.state;\r\n\r\n return (groups || []).filter(\r\n group =>\r\n selectedGroups.has(group.extractionFieldGroupId) &&\r\n group.extractionFieldGroupId !== 'all' &&\r\n !group.isAllFieldsReadOnly\r\n );\r\n }\r\n\r\n get actionableGroupIds() {\r\n return this.actionableGroups.map(({ extractionFieldGroupId }) => extractionFieldGroupId);\r\n }\r\n\r\n checkOption = option => {\r\n return (\r\n option !== TOOLBAR_OPTIONS.LEARN &&\r\n option !== TOOLBAR_OPTIONS.SHARE &&\r\n option !== TOOLBAR_OPTIONS.GROUP &&\r\n option !== TOOLBAR_OPTIONS.IMPORT &&\r\n option !== TOOLBAR_OPTIONS.CREATE\r\n );\r\n };\r\n\r\n /**\r\n * Return the list of visible toolbar options depending on whether the group is read only or not\r\n */\r\n getVisibleOptions = () => {\r\n if (this.actionableGroupIds.length <= 0) {\r\n return DEFAULT_TOOLBAR_OPTIONS;\r\n }\r\n\r\n const { abbyGroups } = this.state;\r\n // If it's read only, disable the delete toolbar option\r\n if (this.readOnlyGroups) {\r\n return abbyGroups.size > 0 ? LIMITED_TOOLBAR_OPTIONS.filter(this.checkOption) : LIMITED_TOOLBAR_OPTIONS;\r\n }\r\n\r\n return abbyGroups.size > 0 ? EXPANDED_TOOLBAR_OPTIONS.filter(this.checkOption) : EXPANDED_TOOLBAR_OPTIONS;\r\n };\r\n\r\n render() {\r\n const { searchView, currentUser } = this.props;\r\n const { groups, selectedGroups, pagination } = this.state;\r\n const visibleOptions = this.getVisibleOptions();\r\n\r\n const breadcrumbs = [\r\n { name: , link: `/region/${getCurrentRegion()}/groups` }\r\n ];\r\n\r\n if (!groups) {\r\n return (\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n );\r\n }\r\n\r\n // Redirect function so that when a user types a search keyword it navigates to the all extraction page\r\n if (searchView) {\r\n return ;\r\n }\r\n\r\n return (\r\n \r\n this.onSearch(true)}\r\n onExit={() => this.onSearch(false)}\r\n onBlur={() => this.onSearch(false)}\r\n getExtractionFieldGroups={this.getExtractionFieldGroups}\r\n />\r\n
\r\n
\r\n
\r\n
\r\n

\r\n \r\n

\r\n\r\n {/* {Permissions.Global.ExtractionField.canEdit() && (\r\n
\r\n \r\n
\r\n )} */}\r\n \r\n
\r\n\r\n {Permissions.Global.ExtractionField.ExtractionFieldGroup.canEdit() ? (\r\n \r\n ) : null}\r\n
\r\n\r\n
\r\n {\r\n this.setState({ searchOptions: options, requestedPage: 1 }, () =>\r\n this.getExtractionFieldGroups(options)\r\n );\r\n }}\r\n />\r\n
\r\n
\r\n
\r\n
\r\n );\r\n }\r\n}\r\n\r\nexport default injectIntl(GroupsBrowser);\r\n","import classNames from 'classnames';\r\nimport PropTypes from 'prop-types';\r\nimport React, { Component, Fragment } from 'react';\r\n\r\nimport { importExtractionFieldModel } from 'store/api';\r\nimport ExtractionFieldBrowser from 'components/quick-study/extraction-field-browser/extraction-field-browser';\r\nimport GroupsBrowser from 'components/quick-study/groups-browser/groups-browser';\r\nimport socket, { rooms } from 'utils/socket';\r\n\r\nconst IMPORT_STATUSES = {\r\n SUCCESS: 0,\r\n FAILED: 1,\r\n PARTIAL: 2\r\n};\r\n\r\n/**\r\n * Quick Study\r\n * Top level component for the extraction field and groups admin pages\r\n * Relevant state is handled by the GroupsBrowser, ExtractionFieldBrowser and ExtractionFieldDetails pages\r\n */\r\nexport default class QuickStudy extends Component {\r\n static propTypes = {\r\n addNotification: PropTypes.func.isRequired,\r\n currentUser: PropTypes.object.isRequired,\r\n extractionFieldId: PropTypes.string,\r\n groupId: PropTypes.string,\r\n onSearchChange: PropTypes.func\r\n };\r\n\r\n state = {\r\n searchView: false\r\n };\r\n\r\n isPendingImport = false;\r\n\r\n componentDidMount() {\r\n const { currentUser } = this.props;\r\n socket.on('extractionfield.import', this.onFieldsImported);\r\n socket.join(rooms.extractionFieldImports(currentUser.userId));\r\n }\r\n\r\n componentWillUnmount() {\r\n const { currentUser } = this.props;\r\n socket.off('extractionfield.import', this.onFieldsImported);\r\n socket.leave(rooms.extractionFieldImports(currentUser.userId));\r\n }\r\n\r\n /**\r\n * Handle field import success and error events\r\n */\r\n onFieldsImported = msg => {\r\n const { currentUser, addNotification } = this.props;\r\n if (msg.room !== rooms.extractionFieldImports(currentUser.userId)) {\r\n return;\r\n }\r\n\r\n // If we did not initiate an import, then ignore the message\r\n if (!this.isPendingImport) {\r\n return;\r\n }\r\n\r\n this.isPendingImport = false;\r\n\r\n if (msg.data.status !== IMPORT_STATUSES.SUCCESS) {\r\n addNotification({\r\n intlKey: 'quick-study.toolbar.import.error-message',\r\n clearOnPageChange: true\r\n });\r\n } else {\r\n addNotification({\r\n intlKey: 'quick-study.toolbar.import.success-message',\r\n clearOnPageChange: true\r\n });\r\n }\r\n };\r\n\r\n submitImport = data => {\r\n this.isPendingImport = true;\r\n return importExtractionFieldModel(data);\r\n };\r\n\r\n render() {\r\n const { currentUser, groupId, extractionFieldId } = this.props;\r\n const { searchView } = this.state;\r\n\r\n const condensed = !!extractionFieldId;\r\n\r\n return (\r\n \r\n {groupId ? (\r\n \r\n ) : (\r\n this.setState({ searchView: bool })}\r\n searchView={searchView}\r\n submitImport={this.submitImport}\r\n {...this.props}\r\n />\r\n )}\r\n \r\n );\r\n }\r\n}\r\n","import { connect } from 'react-redux';\r\nimport { addNotification } from 'store/notifications';\r\nimport { onSearchChange } from 'store/search/search-category';\r\nimport QuickStudy from 'components/quick-study/quick-study';\r\n\r\nconst mapStateToProps = ({ data: { currentUser, search } }) => ({ currentUser, search });\r\n\r\nconst mapDispatchToProps = {\r\n addNotification,\r\n onSearchChange\r\n};\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(QuickStudy);\r\n","import PropTypes from 'prop-types';\r\nimport React, { Component } from 'react';\r\nimport ReactTooltip from 'react-tooltip';\r\n\r\nimport NotificationsContainer from 'containers/shared/notifications-container';\r\nimport QuickStudyContainer from 'containers/quick-study/quick-study-container';\r\nimport ProjectsLeftMenu from 'components/project-list/project-menu-bar/project-left-menu';\r\nimport Permissions from 'permissions/permissions';\r\nimport history from 'utils/history';\r\n\r\nclass QuickStudyPage extends Component {\r\n static propTypes = {\r\n match: PropTypes.object.isRequired\r\n };\r\n\r\n UNSAFE_componentWillMount() {\r\n if (\r\n !Permissions.Global.ExtractionField.canViewQuickStudyPageLink() ||\r\n !Permissions.Global.ExtractionField.canViewQuickStudyPageRegion()\r\n ) {\r\n history.push('/');\r\n }\r\n }\r\n\r\n render() {\r\n const { groupId, extractionFieldId } = this.props.match.params;\r\n\r\n return (\r\n
\r\n \r\n \r\n \r\n
\r\n );\r\n }\r\n}\r\n\r\nexport default QuickStudyPage;\r\n","import React, { useState } from 'react';\r\nimport { FormattedMessage } from 'react-intl';\r\nimport Icon from 'components/shared/icon';\r\nimport Button from 'components/shared/single-click-button';\r\nimport OutsideClickHandler from 'react-outside-click-handler';\r\nimport Modal from 'components/shared/modal';\r\nimport ReactTooltip from 'react-tooltip';\r\nimport { updateUserAccess } from 'store/api';\r\nimport constants from 'utils/constants';\r\nconst { Features } = constants;\r\n\r\nfunction EditDetails({ user, closePopup, reloadUpdatedUser }) {\r\n const containerCode = sessionStorage.getItem(`selected-container`);\r\n const memberFirmCode = sessionStorage.getItem(`selected-memberfirm`);\r\n const [saveButtonDisabled, setSaveButtonDisabled] = useState(true);\r\n const [extractionAccess, setExtractionAccess] = useState(\r\n user.accessibleFeatures.filter(x => x.featureId == Features.Extraction).length > 0 ? true : false\r\n );\r\n const [translationAccess, setTranslationAccess] = useState(\r\n user.accessibleFeatures.filter(x => x.featureId == Features.Translation).length > 0 ? true : false\r\n );\r\n const [isGeneralAdmin, setGeneralAmin] = useState(\r\n user.accessibleFeatures.filter(x => x.featureId == Features.Extraction).length > 0 &&\r\n user.roles.find(\r\n role =>\r\n role.roleId === constants.UserRoles.ADMIN_GENERAL &&\r\n role.containerCode == containerCode &&\r\n role.memberFirmCode == memberFirmCode\r\n )\r\n ? true\r\n : false\r\n );\r\n const [enteredServiceNow, setEnteredServiceNow] = useState(\r\n user.serviceNowTicketNumber == null ? '' : user.serviceNowTicketNumber\r\n );\r\n\r\n const serviceNowChangeHandler = event => {\r\n setSaveButtonDisabled(false);\r\n setEnteredServiceNow(event);\r\n };\r\n\r\n const escape = htmlStr => {\r\n return htmlStr.currentTarget.value\r\n .replace(/&/g, '&')\r\n .replace(//g, '>')\r\n .replace(/\"/g, '"')\r\n .replace(/'/g, ''');\r\n };\r\n\r\n const unEscape = htmlStr => {\r\n htmlStr = htmlStr.replace(/</g, '<');\r\n htmlStr = htmlStr.replace(/>/g, '>');\r\n htmlStr = htmlStr.replace(/"/g, '\"');\r\n htmlStr = htmlStr.replace(/'/g, \"'\");\r\n htmlStr = htmlStr.replace(/&/g, '&');\r\n return htmlStr;\r\n };\r\n\r\n const saveUserDetails = () => {\r\n setSaveButtonDisabled(true);\r\n var userObj = {\r\n IsExtractionAccess: extractionAccess,\r\n IsTranslationAccess: translationAccess,\r\n IsAdminAccess: isGeneralAdmin,\r\n ServicenowTicketNumber: unEscape(enteredServiceNow)\r\n };\r\n updateUserAccess(user.userId, userObj)\r\n .then(updatedUsr => {\r\n reloadUpdatedUser(user.userId, updatedUsr);\r\n closePopup();\r\n })\r\n .catch(() => {\r\n closePopup();\r\n });\r\n };\r\n\r\n return (\r\n \r\n {\r\n closePopup();\r\n }}\r\n >\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n {\r\n setExtractionAccess(true);\r\n setSaveButtonDisabled(false);\r\n }}\r\n />\r\n \r\n \r\n \r\n {\r\n setExtractionAccess(false);\r\n setGeneralAmin(false);\r\n setSaveButtonDisabled(false);\r\n }}\r\n style={{ marginLeft: '30px' }}\r\n />\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n {\r\n setTranslationAccess(true);\r\n setSaveButtonDisabled(false);\r\n }}\r\n checked={translationAccess ? true : false}\r\n value=\"Yes\"\r\n />\r\n \r\n \r\n \r\n {\r\n setTranslationAccess(false);\r\n setSaveButtonDisabled(false);\r\n }}\r\n checked={!translationAccess ? true : false}\r\n style={{ marginLeft: '30px' }}\r\n />\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n {\r\n if (extractionAccess) {\r\n setGeneralAmin(true);\r\n setSaveButtonDisabled(false);\r\n }\r\n }}\r\n value=\"Yes\"\r\n />\r\n \r\n \r\n \r\n {\r\n setGeneralAmin(false);\r\n setSaveButtonDisabled(false);\r\n }}\r\n style={{ marginLeft: '30px' }}\r\n />\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n {\r\n serviceNowChangeHandler(escape(e));\r\n }}\r\n placeholder=\"Enter number\"\r\n type=\"text\"\r\n maxLength=\"20\"\r\n />\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n );\r\n}\r\nexport default EditDetails;\r\n","import Modal from 'components/shared/modal';\r\nimport React, { useEffect, useState } from 'react';\r\nimport Switch from 'components/shared/form/switch';\r\nimport { FormattedMessage } from 'react-intl';\r\nimport Button from 'components/shared/single-click-button';\r\nimport Icon from 'components/shared/icon';\r\nimport { getExtendedFeaturesforContainer, postExtendedFeaturesforContainer } from 'store/api';\r\n\r\nexport default function UserExtendedfeaturesSettingModel({ openCloseExtendedfeaturesAccessModel, currentUser }) {\r\n const [isSaveButtonDisabled, setSaveButtonDisabled] = useState(true);\r\n const [isWorkSpaceToggleSwitchOnOff, setWorkSpaceToggleSwitchOnOff] = useState(false);\r\n const [isDataSnipperToggleSwitchOnOff, setDataSnipperToggleSwitchOnOff] = useState(false);\r\n const [isGenAIAccessToggleSwitchOnOff, setGenAIAccessToggleSwitchOnOff] = useState(false);\r\n const [isLoading, setLoadding] = useState(true);\r\n\r\n useEffect(() => {\r\n getExtendedFeaturesforContainer(true).then(res => {\r\n var workspaceresponse = res.find(r => r.containerApplicationSettingName == \"WorkspaceCreationAcess\").containerApplicationSettingValue;\r\n var isworkspacetoggleOn = (workspaceresponse === \"true\") ? true : false;\r\n var datasnipperresponse = res.find(r => r.containerApplicationSettingName == \"DataSnipperAccess\").containerApplicationSettingValue;\r\n var isdatasnippertoggleOn = (datasnipperresponse === \"true\") ? true : false;\r\n var genAIresponse = res.find(r => r.containerApplicationSettingName == \"GenAIProcessingEnabled\").containerApplicationSettingValue;\r\n var isgenAIAccesstoggleOn = (genAIresponse === \"true\") ? true : false;\r\n setWorkSpaceToggleSwitchOnOff(isworkspacetoggleOn);\r\n setDataSnipperToggleSwitchOnOff(isdatasnippertoggleOn);\r\n setGenAIAccessToggleSwitchOnOff(isgenAIAccesstoggleOn);\r\n setLoadding(false);\r\n });\r\n }, []);\r\n\r\n const enableDisableWorkspaceSwitch = () => {\r\n setWorkSpaceToggleSwitchOnOff(!isWorkSpaceToggleSwitchOnOff);\r\n setSaveButtonDisabled(false);\r\n };\r\n\r\n const enableDisableDataSnipperSwitch = () => {\r\n setDataSnipperToggleSwitchOnOff(!isDataSnipperToggleSwitchOnOff);\r\n setSaveButtonDisabled(false);\r\n };\r\n\r\n const enableDisableGenAIAccessSwitch = () => {\r\n setGenAIAccessToggleSwitchOnOff(!isGenAIAccessToggleSwitchOnOff);\r\n setSaveButtonDisabled(false);\r\n };\r\n\r\n const saveWorkspaceAccess = () => {\r\n postExtendedFeaturesforContainer(isWorkSpaceToggleSwitchOnOff, isDataSnipperToggleSwitchOnOff, isGenAIAccessToggleSwitchOnOff);\r\n openCloseExtendedfeaturesAccessModel(false);\r\n };\r\n\r\n return (\r\n \r\n
\r\n
\r\n
\r\n \r\n openCloseExtendedfeaturesAccessModel(false)}\r\n >\r\n \r\n \r\n
\r\n
\r\n {isLoading ? (\r\n \r\n ) : (\r\n <>\r\n \r\n \r\n
\r\n \r\n \r\n
\r\n
\r\n {!currentUser.allowDataSnipper ? (\r\n ) : null}\r\n
\r\n
\r\n \r\n \r\n
\r\n \r\n )}\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n );\r\n}\r\n","import PropTypes from 'prop-types';\r\nimport React, { Component } from 'react';\r\nimport ReactTooltip from 'react-tooltip';\r\nimport { Link } from 'react-router-dom';\r\n\r\nimport Header from 'containers/header/header';\r\nimport NotificationsContainer from 'containers/shared/notifications-container';\r\nimport { withRouter } from 'react-router';\r\nimport * as api from 'store/api';\r\nimport { getHomeRegion } from 'store/api';\r\nimport { FormattedMessage } from 'react-intl';\r\nimport Icon from 'components/shared/icon';\r\nimport Pagination from 'components/shared/pagination/pagination';\r\nimport { Button as MenuButton, Menu, MenuItem, Wrapper as MenuWrapper } from 'react-aria-menubutton';\r\nimport dateUtil from 'utils/dateUtil';\r\nimport EditDetails from './edit-user-access-details';\r\nimport UserExtendedfeaturesSettingModel from './user-Extended-features-settings-model';\r\nimport constants from 'utils/constants';\r\nimport Permissions from 'permissions/permissions';\r\nimport history from 'utils/history';\r\nimport Button from 'components/shared/single-click-button';\r\n\r\nconst { Features } = constants;\r\n\r\nclass UserManagementPage extends Component {\r\n static propTypes = {\r\n history: PropTypes.object.isRequired,\r\n location: PropTypes.object.isRequired,\r\n match: PropTypes.object.isRequired,\r\n search: PropTypes.object,\r\n currentUser: PropTypes.object,\r\n onSearchChange: PropTypes.func\r\n };\r\n\r\n constructor(props) {\r\n super(props);\r\n\r\n this.loadUsers = this.loadUsers.bind(this);\r\n }\r\n\r\n state = {\r\n loading: true,\r\n users: [],\r\n pageInfo: {},\r\n selectedUserIds: new Set(),\r\n pageNum: 1,\r\n searchParams: null,\r\n isDetailOpen: false,\r\n selectedUser: null,\r\n isExtendedfeaturesAccessModelOpen: false\r\n };\r\n\r\n closePopup = () => {\r\n this.setState({ isDetailOpen: false });\r\n };\r\n\r\n userIsGeneralAdmin = user => {\r\n const containerCode = sessionStorage.getItem(`selected-container`);\r\n const memberFirmCode = sessionStorage.getItem(`selected-memberfirm`);\r\n const adminAccessId = user.roles.find(\r\n role =>\r\n role.roleId === constants.UserRoles.ADMIN_GENERAL &&\r\n role.containerCode == containerCode &&\r\n role.memberFirmCode == memberFirmCode\r\n );\r\n if (adminAccessId) return true;\r\n else return false;\r\n };\r\n\r\n userIsSystemAdmin = user => {\r\n return user.adminRoleId === 2;\r\n };\r\n\r\n UNSAFE_componentWillMount() {\r\n if (\r\n !Permissions.Global.User.canViewUserManagementLink() ||\r\n !Permissions.Global.User.canViewUserManagementPageRegion()\r\n ) {\r\n history.push('/');\r\n }\r\n this.loadUsers(1);\r\n }\r\n\r\n componentDidUpdate(prevProps, prevState) {\r\n if (this.state.pageNum !== prevState.pageNum) {\r\n return this.loadUsers(this.state.pageNum);\r\n }\r\n }\r\n\r\n loadUsers(options) {\r\n const params = typeof options === 'number' ? { pageNum: options } : options;\r\n params.memberFirmOnly = true;\r\n api\r\n .getAllUsers(params)\r\n .then(res => {\r\n this.setState({ loading: false, users: res.data, pageInfo: res.pageInfo, searchParams: options });\r\n })\r\n .catch(() => {\r\n this.setState({ loading: false, users: [], pageInfo: {} });\r\n });\r\n }\r\n\r\n onUserSelect = user => {\r\n const { selectedUserIds } = this.state;\r\n if (selectedUserIds.has(user.userId)) {\r\n selectedUserIds.delete(user.userId);\r\n } else {\r\n selectedUserIds.add(user.userId);\r\n }\r\n\r\n this.setState({ selectedUserIds });\r\n };\r\n\r\n onAllUsersSelect = () => {\r\n const { selectedUserIds, users } = this.state;\r\n if (selectedUserIds.size) {\r\n this.setState({ selectedUserIds: new Set() });\r\n } else {\r\n users.forEach(user => {\r\n selectedUserIds.add(user.userId);\r\n });\r\n this.setState({ selectedUserIds });\r\n }\r\n };\r\n\r\n changePage = pageNumber => {\r\n this.area.scrollTop = 0;\r\n\r\n if (this.props.search.query.length > 0) {\r\n return this.onSearch(pageNumber);\r\n }\r\n return this.setState({ pageNum: pageNumber });\r\n };\r\n\r\n performUserAction = user => {\r\n this.setState({ isDetailOpen: true, selectedUser: user });\r\n };\r\n\r\n reloadUpdatedUser = (userId, updatedUser) => {\r\n const newUsers = this.state.users.map(user => {\r\n if (user.userId === userId) {\r\n return api.adminUserFromApiFormat(updatedUser);\r\n } else {\r\n return user;\r\n }\r\n });\r\n\r\n this.setState({ users: newUsers });\r\n };\r\n\r\n // Header search utility functions\r\n onSearch = pageNum => {\r\n this.loadUsers({ pageNum, keyword: this.props.search.query });\r\n };\r\n\r\n openCloseExtendedfeaturesAccessModel = value => {\r\n this.setState({ isExtendedfeaturesAccessModelOpen: value });\r\n };\r\n\r\n render() {\r\n const { currentUser } = this.props;\r\n const { loading, users, pageInfo, isDetailOpen, selectedUser, isExtendedfeaturesAccessModelOpen } = this.state;\r\n\r\n return (\r\n
\r\n this.onSearch(1)}\r\n onExit={() => {\r\n this.loadUsers({ pageNum: 1 });\r\n this.setState({ pageNum: 1 });\r\n }}\r\n pageChange={this.state.pageNum}\r\n loadUsers={this.loadUsers}\r\n />\r\n
\r\n
\r\n

\r\n \r\n

\r\n\r\n
\r\n
\r\n this.openCloseExtendedfeaturesAccessModel(true)}\r\n className=\"btn btn-secondary btn-large\"\r\n >\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n\r\n {!loading && (\r\n
(this.area = area)}>\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {users.map(user => (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n ))}\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n {user.preferredFullName}{user.email}\r\n {user &&\r\n user.accessibleFeatures.filter(feature => feature.featureId === Features.Extraction).length >\r\n 0 ? (\r\n \r\n ) : (\r\n \r\n )}\r\n \r\n {user &&\r\n user.accessibleFeatures.filter(feature => feature.featureId === Features.Translation).length >\r\n 0 ? (\r\n \r\n ) : (\r\n \r\n )}\r\n \r\n {user &&\r\n user.accessibleFeatures.filter(feature => feature.featureId === Features.Extraction).length >\r\n 0 &&\r\n this.userIsGeneralAdmin(user) ? (\r\n \r\n ) : (\r\n \r\n )}\r\n \r\n this.performUserAction(user)}\r\n >\r\n \r\n \r\n
\r\n {users.length === 0 ? (\r\n
\r\n \r\n
\r\n ) : null}\r\n
\r\n )}\r\n {isExtendedfeaturesAccessModelOpen && (\r\n \r\n )}\r\n {loading ? (\r\n
\r\n \r\n
\r\n ) : null}\r\n
\r\n {pageInfo && pageInfo.pageNumber && }\r\n
\r\n {isDetailOpen && (\r\n \r\n )}\r\n \r\n \r\n
\r\n
\r\n );\r\n }\r\n}\r\n\r\nexport default withRouter(UserManagementPage);\r\n","import { connect } from 'react-redux';\r\nimport { onSearchChange } from 'store/search/search-category';\r\nimport UserManagement from 'components/user-management/user-management-page';\r\n\r\nconst mapStateToProps = ({ data: { search, currentUser } }) => ({\r\n search,\r\n currentUser\r\n});\r\nconst mapDispatchToProps = {\r\n onSearchChange\r\n};\r\nexport default connect(mapStateToProps, mapDispatchToProps)(UserManagement);\r\n","import { FormattedMessage } from 'react-intl';\r\nimport { Link, withRouter } from 'react-router-dom';\r\nimport PropTypes from 'prop-types';\r\nimport React, { Component } from 'react';\r\nimport ReactTooltip from 'react-tooltip';\r\nimport {\r\n getCurrentRegion,\r\n getOrganizationCodes,\r\n getEnabledOrganizationCodes,\r\n enableOrganizationCode,\r\n disableOrganizationCode\r\n} from 'store/api';\r\n\r\nimport Checkbox from 'components/shared/form/checkbox';\r\nimport Header from 'containers/header/header';\r\nimport NotificationsContainer from 'containers/shared/notifications-container';\r\n\r\nimport Permissions from 'permissions/permissions';\r\nimport history from 'utils/history';\r\n\r\nconst getCurrentRegionData = () => {\r\n const codes = getCurrentRegion().split('_');\r\n return {\r\n geoCode: codes[0],\r\n memberFirmCode: codes[1],\r\n containerCode: codes[2]\r\n };\r\n};\r\n\r\nconst getIdFromOrganizationCode = code => `${code.memberFirmCode}_${code.containerCode}_${code.organizationCode}`;\r\n\r\nclass UserActivatonSettingsPage extends Component {\r\n static propTypes = {\r\n history: PropTypes.object,\r\n currentUser: PropTypes.object\r\n };\r\n\r\n state = {\r\n organizationCodes: [],\r\n enabledOrganizationCodes: new Set(),\r\n selectedOrganizationCodes: new Set()\r\n };\r\n\r\n componentDidMount() {\r\n if (\r\n !Permissions.Global.User.canViewUserManagementLink() ||\r\n !Permissions.Global.User.canViewUserManagementPageRegion()\r\n ) {\r\n history.push('/');\r\n }\r\n\r\n this.getOrganizationCodes();\r\n this.getEnabledOrganizationCodes();\r\n }\r\n\r\n getOrganizationCodes = () => {\r\n const { memberFirmCode } = getCurrentRegionData();\r\n return getOrganizationCodes(memberFirmCode).then(response => {\r\n this.setState({\r\n organizationCodes: response\r\n });\r\n });\r\n };\r\n\r\n getEnabledOrganizationCodes = () => {\r\n const { memberFirmCode } = getCurrentRegionData();\r\n return getEnabledOrganizationCodes(memberFirmCode).then(response => {\r\n this.setState({\r\n enabledOrganizationCodes: new Set(response.map(getIdFromOrganizationCode)),\r\n selectedOrganizationCodes: new Set(response.map(getIdFromOrganizationCode))\r\n });\r\n });\r\n };\r\n\r\n onSelectAll = () => {\r\n const { organizationCodes, selectedOrganizationCodes } = this.state;\r\n if (selectedOrganizationCodes.size) {\r\n this.setState({ selectedOrganizationCodes: new Set() });\r\n } else {\r\n this.setState({\r\n selectedOrganizationCodes: new Set(organizationCodes.map(getIdFromOrganizationCode))\r\n });\r\n }\r\n };\r\n\r\n onSelect = code => {\r\n const { selectedOrganizationCodes } = this.state;\r\n const id = getIdFromOrganizationCode(code);\r\n\r\n if (selectedOrganizationCodes.has(id)) {\r\n selectedOrganizationCodes.delete(id);\r\n } else {\r\n selectedOrganizationCodes.add(id);\r\n }\r\n\r\n this.setState({ selectedOrganizationCodes });\r\n };\r\n\r\n onApply = () => {\r\n const {\r\n history: { push }\r\n } = this.props;\r\n const { organizationCodes, enabledOrganizationCodes, selectedOrganizationCodes } = this.state;\r\n const idsToRemove = new Set([...enabledOrganizationCodes].filter(x => !selectedOrganizationCodes.has(x)));\r\n const idsToAdd = new Set([...selectedOrganizationCodes].filter(x => !enabledOrganizationCodes.has(x)));\r\n\r\n const codesToRemove = organizationCodes.filter(code => idsToRemove.has(getIdFromOrganizationCode(code)));\r\n const codesToAdd = organizationCodes.filter(code => idsToAdd.has(getIdFromOrganizationCode(code)));\r\n\r\n const promises = [...codesToRemove.map(disableOrganizationCode), codesToAdd.map(enableOrganizationCode)];\r\n\r\n return Promise.all(promises).then(() => {\r\n push(`/region/${getCurrentRegion()}/user-management`);\r\n });\r\n };\r\n\r\n render() {\r\n const { organizationCodes, selectedOrganizationCodes } = this.state;\r\n\r\n const { currentUser } = this.props;\r\n\r\n const allSelectedState =\r\n selectedOrganizationCodes.size === 0\r\n ? 'unchecked'\r\n : organizationCodes.length === selectedOrganizationCodes.size\r\n ? 'checked'\r\n : 'indeterminate';\r\n\r\n return (\r\n
\r\n \r\n
\r\n

\r\n \r\n

\r\n\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n\r\n
(this.area = area)}>\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {organizationCodes.map(organization => (\r\n \r\n \r\n \r\n \r\n ))}\r\n \r\n
\r\n this.onSelectAll()}\r\n checked={allSelectedState}\r\n />\r\n \r\n \r\n
\r\n this.onSelect(organization)}\r\n checked={\r\n selectedOrganizationCodes.has(getIdFromOrganizationCode(organization)) ? 'checked' : 'unchecked'\r\n }\r\n />\r\n {organization.organizationCode}
\r\n
\r\n \r\n
\r\n
\r\n\r\n \r\n \r\n
\r\n );\r\n }\r\n}\r\n\r\nexport default withRouter(UserActivatonSettingsPage);\r\n","import PropTypes from 'prop-types';\r\nimport React, { Component } from 'react';\r\n\r\n/**\r\n * To prevent text selection while dragging.\r\n * http://stackoverflow.com/questions/5429827/how-can-i-prevent-text-element-selection-with-cursor-drag\r\n */\r\nfunction pauseEvent(e) {\r\n if (e.stopPropagation) e.stopPropagation();\r\n if (e.preventDefault) e.preventDefault();\r\n return false;\r\n}\r\n\r\nfunction stopPropagation(e) {\r\n if (e.stopPropagation) e.stopPropagation();\r\n}\r\n\r\n/**\r\n * Spreads `count` values equally between `min` and `max`.\r\n */\r\nfunction linspace(min, max, count) {\r\n var range = (max - min) / (count - 1);\r\n var res = [];\r\n for (var i = 0; i < count; i++) {\r\n res.push(min + range * i);\r\n }\r\n return res;\r\n}\r\n\r\nfunction ensureArray(x) {\r\n return x == null ? [] : Array.isArray(x) ? x : [x];\r\n}\r\n\r\nfunction undoEnsureArray(x) {\r\n return x != null && x.length === 1 ? x[0] : x;\r\n}\r\n\r\nexport default class ReactSlider extends Component {\r\n static propTypes = {\r\n /**\r\n * The css class set on the bars between the handles.\r\n * In addition bar fragment will receive a numbered css class of the form `${barClassName}-${i}`,\r\n * e.g. `bar-0`, `bar-1`, ...\r\n */\r\n barClassName: PropTypes.string,\r\n\r\n children: PropTypes.array,\r\n\r\n /**\r\n * The css class set on the slider node.\r\n */\r\n className: PropTypes.string,\r\n\r\n /**\r\n * Determines the initial positions of the handles and the number of handles if the component has no children.\r\n *\r\n * If a number is passed a slider with one handle will be rendered.\r\n * If an array is passed each value will determine the position of one handle.\r\n * The values in the array must be sorted.\r\n * If the component has children, the length of the array must match the number of children.\r\n */\r\n defaultValue: PropTypes.oneOfType([PropTypes.number, PropTypes.arrayOf(PropTypes.number)]),\r\n\r\n /**\r\n * If `true` the handles can't be moved.\r\n */\r\n disabled: PropTypes.bool,\r\n\r\n /**\r\n * The css class set on the guide markers.\r\n */\r\n guideClassName: PropTypes.string,\r\n\r\n /**\r\n * The css class set on the handle that is currently being moved.\r\n */\r\n handleActiveClassName: PropTypes.string,\r\n\r\n /**\r\n * The css class set on each handle node.\r\n *\r\n * In addition each handle will receive a numbered css class of the form `${handleClassName}-${i}`,\r\n * e.g. `handle-0`, `handle-1`, ...\r\n */\r\n handleClassName: PropTypes.string,\r\n\r\n /**\r\n * Inverts the slider.\r\n */\r\n invert: PropTypes.bool,\r\n\r\n /**\r\n * The maximum value of the slider.\r\n */\r\n max: PropTypes.number,\r\n\r\n /**\r\n * The minimum value of the slider.\r\n */\r\n min: PropTypes.number,\r\n\r\n /**\r\n * The minimal distance between any pair of handles.\r\n * Must be positive, but zero means they can sit on top of each other.\r\n */\r\n minDistance: PropTypes.number,\r\n\r\n /**\r\n * The number of guide lines to show.\r\n */\r\n numGuides: PropTypes.number,\r\n\r\n /**\r\n * Callback called only after moving a handle has ended.\r\n */\r\n onAfterChange: PropTypes.func,\r\n\r\n /**\r\n * Callback called before starting to move a handle.\r\n */\r\n onBeforeChange: PropTypes.func,\r\n\r\n /**\r\n * Callback called on every value change.\r\n */\r\n onChange: PropTypes.func,\r\n\r\n /**\r\n * Callback called when the the slider is clicked (handle or bars).\r\n * Receives the value at the clicked position as argument.\r\n */\r\n onSliderClick: PropTypes.func,\r\n\r\n /**\r\n * Determines whether the slider moves horizontally (from left to right) or vertically (from top to bottom).\r\n */\r\n orientation: PropTypes.oneOf(['horizontal', 'vertical']),\r\n\r\n /**\r\n * If `true` the active handle will push other handles\r\n * within the constraints of `min`, `max`, `step` and `minDistance`.\r\n */\r\n pearling: PropTypes.bool,\r\n\r\n /**\r\n * Disables handle move when clicking the slider bar\r\n */\r\n snapDragDisabled: PropTypes.bool,\r\n\r\n /**\r\n * Value to be added or subtracted on each step the slider makes.\r\n * Must be greater than zero.\r\n * `max - min` should be evenly divisible by the step value.\r\n */\r\n step: PropTypes.number,\r\n\r\n /**\r\n * Like `defaultValue` but for [controlled components](http://facebook.github.io/react/docs/forms.html#controlled-components).\r\n */\r\n value: PropTypes.oneOfType([PropTypes.number, PropTypes.arrayOf(PropTypes.number)]),\r\n\r\n /**\r\n * If `true` bars between the handles will be rendered.\r\n */\r\n withBars: PropTypes.bool\r\n };\r\n\r\n static defaultProps = {\r\n min: 0,\r\n max: 100,\r\n step: 1,\r\n minDistance: 0,\r\n defaultValue: 0,\r\n orientation: 'horizontal',\r\n className: 'slider',\r\n guideClassName: 'guide',\r\n handleClassName: 'handle',\r\n handleActiveClassName: 'active',\r\n barClassName: 'bar',\r\n withBars: false,\r\n pearling: false,\r\n disabled: false,\r\n snapDragDisabled: false,\r\n invert: false\r\n };\r\n\r\n constructor(props) {\r\n super(props);\r\n var value = this._or(ensureArray(this.props.value), ensureArray(this.props.defaultValue));\r\n\r\n // reused throughout the component to store results of iterations over `value`\r\n this.tempArray = value.slice();\r\n\r\n // array for storing resize timeouts ids\r\n this.pendingResizeTimeouts = [];\r\n\r\n var zIndices = [];\r\n for (var i = 0; i < value.length; i++) {\r\n value[i] = this._trimAlignValue(value[i], this.props);\r\n zIndices.push(i);\r\n }\r\n\r\n this.state = {\r\n index: -1,\r\n upperBound: 0,\r\n sliderLength: 0,\r\n value: value,\r\n zIndices: zIndices\r\n };\r\n }\r\n\r\n // Keep the internal `value` consistent with an outside `value` if present.\r\n // This basically allows the slider to be a controlled component.\r\n UNSAFE_componentWillReceiveProps = newProps => {\r\n var value = this._or(ensureArray(newProps.value), this.state.value);\r\n\r\n // ensure the array keeps the same size as `value`\r\n this.tempArray = value.slice();\r\n const state = this.state;\r\n\r\n for (var i = 0; i < value.length; i++) {\r\n state.value[i] = this._trimAlignValue(value[i], newProps);\r\n }\r\n if (this.state.value.length > value.length) state.value.length = value.length;\r\n\r\n // If an upperBound has not yet been determined (due to the component being hidden\r\n // during the mount event, or during the last resize), then calculate it now\r\n if (this.state.upperBound === 0) {\r\n this._handleResize();\r\n }\r\n };\r\n\r\n // Check if the arity of `value` or `defaultValue` matches the number of children (= number of custom handles).\r\n // If no custom handles are provided, just returns `value` if present and `defaultValue` otherwise.\r\n // If custom handles are present but neither `value` nor `defaultValue` are applicable the handles are spread out\r\n // equally.\r\n // TODO: better name? better solution?\r\n _or = (value, defaultValue) => {\r\n var count = React.Children.count(this.props.children);\r\n switch (count) {\r\n case 0:\r\n return value.length > 0 ? value : defaultValue;\r\n case value.length:\r\n return value;\r\n case defaultValue.length:\r\n return defaultValue;\r\n default:\r\n if (value.length !== count || defaultValue.length !== count) {\r\n console.warn(this.constructor.displayName + ': Number of values does not match number of children.');\r\n }\r\n return linspace(this.props.min, this.props.max, count);\r\n }\r\n };\r\n\r\n componentDidMount = () => {\r\n window.addEventListener('resize', this._handleResize);\r\n this._handleResize();\r\n setTimeout(() => this.forceUpdate(), 1);\r\n };\r\n\r\n componentWillUnmount = () => {\r\n this._clearPendingResizeTimeouts();\r\n window.removeEventListener('resize', this._handleResize);\r\n };\r\n\r\n getValue = () => {\r\n return undoEnsureArray(this.state.value);\r\n };\r\n\r\n _handleResize = () => {\r\n // setTimeout of 0 gives element enough time to have assumed its new size if it is being resized\r\n var resizeTimeout = window.setTimeout(() => {\r\n // drop this timeout from pendingResizeTimeouts to reduce memory usage\r\n this.pendingResizeTimeouts.shift();\r\n\r\n var slider = this.refs.slider;\r\n var handle = this.refs.handle0;\r\n var rect = slider.getBoundingClientRect();\r\n\r\n var size = this._sizeKey();\r\n\r\n var sliderMax = rect[this._posMaxKey()];\r\n var sliderMin = rect[this._posMinKey()];\r\n\r\n this.setState({\r\n upperBound: slider[size] - handle[size],\r\n sliderLength: Math.abs(sliderMax - sliderMin),\r\n handleSize: handle[size],\r\n sliderStart: this.props.invert ? sliderMax : sliderMin\r\n });\r\n }, 0);\r\n\r\n this.pendingResizeTimeouts.push(resizeTimeout);\r\n };\r\n\r\n // clear all pending timeouts to avoid error messages after unmounting\r\n _clearPendingResizeTimeouts = () => {\r\n do {\r\n var nextTimeout = this.pendingResizeTimeouts.shift();\r\n\r\n clearTimeout(nextTimeout);\r\n } while (this.pendingResizeTimeouts.length);\r\n };\r\n\r\n // calculates the offset of a handle in pixels based on its value.\r\n _calcOffset = value => {\r\n var range = this.props.max - this.props.min;\r\n if (range === 0) {\r\n return 0;\r\n }\r\n var ratio = (value - this.props.min) / range;\r\n return ratio * this.state.upperBound;\r\n };\r\n\r\n // calculates the value corresponding to a given pixel offset, i.e. the inverse of `_calcOffset`.\r\n _calcValue = offset => {\r\n var ratio = offset / this.state.upperBound;\r\n return ratio * (this.props.max - this.props.min) + this.props.min;\r\n };\r\n\r\n _buildHandleStyle = (offset, i) => {\r\n var style = {\r\n position: 'absolute',\r\n willChange: this.state.index >= 0 ? this._posMinKey() : '',\r\n zIndex: this.state.zIndices.indexOf(i) + 1\r\n };\r\n style[this._posMinKey()] = offset + 'px';\r\n return style;\r\n };\r\n\r\n _buildBarStyle = (min, max) => {\r\n var obj = {\r\n position: 'absolute',\r\n willChange: this.state.index >= 0 ? this._posMinKey() + ',' + this._posMaxKey() : ''\r\n };\r\n obj[this._posMinKey()] = min;\r\n obj[this._posMaxKey()] = max;\r\n return obj;\r\n };\r\n\r\n _getClosestIndex = pixelOffset => {\r\n var minDist = Number.MAX_VALUE;\r\n var closestIndex = -1;\r\n\r\n var value = this.state.value;\r\n var l = value.length;\r\n\r\n for (var i = 0; i < l; i++) {\r\n var offset = this._calcOffset(value[i]);\r\n var dist = Math.abs(pixelOffset - offset);\r\n if (dist < minDist) {\r\n minDist = dist;\r\n closestIndex = i;\r\n }\r\n }\r\n\r\n return closestIndex;\r\n };\r\n\r\n _calcOffsetFromPosition = position => {\r\n var pixelOffset = position - this.state.sliderStart;\r\n if (this.props.invert) pixelOffset = this.state.sliderLength - pixelOffset;\r\n pixelOffset -= this.state.handleSize / 2;\r\n return pixelOffset;\r\n };\r\n\r\n // Snaps the nearest handle to the value corresponding to `position` and calls `callback` with that handle's index.\r\n _forceValueFromPosition = (position, callback) => {\r\n var pixelOffset = this._calcOffsetFromPosition(position);\r\n var closestIndex = this._getClosestIndex(pixelOffset);\r\n var nextValue = this._trimAlignValue(this._calcValue(pixelOffset));\r\n\r\n var value = this.state.value.slice(); // Clone this.state.value since we'll modify it temporarily\r\n value[closestIndex] = nextValue;\r\n\r\n // Prevents the slider from shrinking below `props.minDistance`\r\n for (var i = 0; i < value.length - 1; i += 1) {\r\n if (value[i + 1] - value[i] < this.props.minDistance) return;\r\n }\r\n\r\n this.setState({ value: value }, callback.bind(this, closestIndex));\r\n };\r\n\r\n _getMousePosition = e => {\r\n return [e['page' + this._axisKey()], e['page' + this._orthogonalAxisKey()]];\r\n };\r\n\r\n _getTouchPosition = e => {\r\n var touch = e.touches[0];\r\n return [touch['page' + this._axisKey()], touch['page' + this._orthogonalAxisKey()]];\r\n };\r\n\r\n _getKeyDownEventMap = () => {\r\n return {\r\n keydown: this._onKeyDown,\r\n focusout: this._onBlur\r\n };\r\n };\r\n\r\n _getMouseEventMap = () => {\r\n return {\r\n mousemove: this._onMouseMove,\r\n mouseup: this._onMouseUp\r\n };\r\n };\r\n\r\n _getTouchEventMap = () => {\r\n return {\r\n touchmove: this._onTouchMove,\r\n touchend: this._onTouchEnd\r\n };\r\n };\r\n\r\n // create the `keydown` handler for the i-th handle\r\n _createOnKeyDown = i => {\r\n return e => {\r\n if (this.props.disabled) return;\r\n this._start(i);\r\n this._addHandlers(this._getKeyDownEventMap());\r\n pauseEvent(e);\r\n };\r\n };\r\n\r\n // create the `mousedown` handler for the i-th handle\r\n _createOnMouseDown = i => {\r\n return e => {\r\n if (this.props.disabled) return;\r\n var position = this._getMousePosition(e);\r\n this._start(i, position[0]);\r\n this._addHandlers(this._getMouseEventMap());\r\n pauseEvent(e);\r\n };\r\n };\r\n\r\n // create the `touchstart` handler for the i-th handle\r\n _createOnTouchStart = i => {\r\n return e => {\r\n if (this.props.disabled || e.touches.length > 1) return;\r\n var position = this._getTouchPosition(e);\r\n this.startPosition = position;\r\n this.isScrolling = undefined; // don't know yet if the user is trying to scroll\r\n this._start(i, position[0]);\r\n this._addHandlers(this._getTouchEventMap());\r\n stopPropagation(e);\r\n };\r\n };\r\n\r\n _addHandlers = eventMap => {\r\n for (var key in eventMap) {\r\n if (eventMap.hasOwnProperty(key)) {\r\n document.addEventListener(key, eventMap[key], false);\r\n }\r\n }\r\n };\r\n\r\n _removeHandlers = eventMap => {\r\n for (var key in eventMap) {\r\n if (eventMap.hasOwnProperty(key)) {\r\n document.removeEventListener(key, eventMap[key], false);\r\n }\r\n }\r\n };\r\n\r\n _start = (i, position) => {\r\n var activeEl = document.activeElement;\r\n var handleRef = this.refs['handle' + i];\r\n // if activeElement is body window will lost focus in IE9\r\n if (activeEl && activeEl !== document.body && activeEl !== handleRef) {\r\n activeEl.blur && activeEl.blur();\r\n }\r\n\r\n this.hasMoved = false;\r\n\r\n this._fireChangeEvent('onBeforeChange');\r\n\r\n var zIndices = this.state.zIndices;\r\n zIndices.splice(zIndices.indexOf(i), 1); // remove wherever the element is\r\n zIndices.push(i); // add to end\r\n\r\n this.setState({\r\n startValue: this.state.value[i],\r\n startPosition: position,\r\n index: i,\r\n zIndices: zIndices\r\n });\r\n };\r\n\r\n _onMouseUp = () => {\r\n this._onEnd(this._getMouseEventMap());\r\n };\r\n\r\n _onTouchEnd = () => {\r\n this._onEnd(this._getTouchEventMap());\r\n };\r\n\r\n _onBlur = () => {\r\n this._onEnd(this._getKeyDownEventMap());\r\n };\r\n\r\n _onEnd = eventMap => {\r\n this._removeHandlers(eventMap);\r\n this.setState({ index: -1 }, this._fireChangeEvent.bind(this, 'onAfterChange'));\r\n };\r\n\r\n _onMouseMove = e => {\r\n var position = this._getMousePosition(e);\r\n var diffPosition = this._getDiffPosition(position[0]);\r\n var newValue = this._getValueFromPosition(diffPosition);\r\n this._move(newValue);\r\n };\r\n\r\n _onTouchMove = e => {\r\n if (e.touches.length > 1) return;\r\n\r\n var position = this._getTouchPosition(e);\r\n\r\n if (typeof this.isScrolling === 'undefined') {\r\n var diffMainDir = position[0] - this.startPosition[0];\r\n var diffScrollDir = position[1] - this.startPosition[1];\r\n this.isScrolling = Math.abs(diffScrollDir) > Math.abs(diffMainDir);\r\n }\r\n\r\n if (this.isScrolling) {\r\n this.setState({ index: -1 });\r\n return;\r\n }\r\n\r\n pauseEvent(e);\r\n\r\n var diffPosition = this._getDiffPosition(position[0]);\r\n var newValue = this._getValueFromPosition(diffPosition);\r\n\r\n this._move(newValue);\r\n };\r\n\r\n _onKeyDown = e => {\r\n if (e.ctrlKey || e.shiftKey || e.altKey) return;\r\n switch (e.key) {\r\n case 'ArrowLeft':\r\n case 'ArrowUp':\r\n return this._moveDownOneStep();\r\n case 'ArrowRight':\r\n case 'ArrowDown':\r\n return this._moveUpOneStep();\r\n case 'Home':\r\n return this._move(this.props.min);\r\n case 'End':\r\n return this._move(this.props.max);\r\n default:\r\n return;\r\n }\r\n };\r\n\r\n _moveUpOneStep = () => {\r\n var oldValue = this.state.value[this.state.index];\r\n var newValue = oldValue + this.props.step;\r\n this._move(Math.min(newValue, this.props.max));\r\n };\r\n\r\n _moveDownOneStep = () => {\r\n var oldValue = this.state.value[this.state.index];\r\n var newValue = oldValue - this.props.step;\r\n this._move(Math.max(newValue, this.props.min));\r\n };\r\n\r\n _getValueFromPosition = position => {\r\n var diffValue = (position / (this.state.sliderLength - this.state.handleSize)) * (this.props.max - this.props.min);\r\n return this._trimAlignValue(this.state.startValue + diffValue);\r\n };\r\n\r\n _getDiffPosition = position => {\r\n var diffPosition = position - this.state.startPosition;\r\n if (this.props.invert) diffPosition *= -1;\r\n return diffPosition;\r\n };\r\n\r\n _move = newValue => {\r\n this.hasMoved = true;\r\n\r\n var props = this.props;\r\n var state = this.state;\r\n var index = state.index;\r\n\r\n var value = state.value;\r\n var length = value.length;\r\n var oldValue = value[index];\r\n\r\n var minDistance = props.minDistance;\r\n\r\n // if \"pearling\" (= handles pushing each other) is disabled,\r\n // prevent the handle from getting closer than `minDistance` to the previous or next handle.\r\n if (!props.pearling) {\r\n if (index > 0) {\r\n var valueBefore = value[index - 1];\r\n if (newValue < valueBefore + minDistance) {\r\n newValue = valueBefore + minDistance;\r\n }\r\n }\r\n\r\n if (index < length - 1) {\r\n var valueAfter = value[index + 1];\r\n if (newValue > valueAfter - minDistance) {\r\n newValue = valueAfter - minDistance;\r\n }\r\n }\r\n }\r\n\r\n value[index] = newValue;\r\n\r\n // if \"pearling\" is enabled, let the current handle push the pre- and succeeding handles.\r\n if (props.pearling && length > 1) {\r\n if (newValue > oldValue) {\r\n this._pushSucceeding(value, minDistance, index);\r\n this._trimSucceeding(length, value, minDistance, props.max);\r\n } else if (newValue < oldValue) {\r\n this._pushPreceding(value, minDistance, index);\r\n this._trimPreceding(length, value, minDistance, props.min);\r\n }\r\n }\r\n\r\n // Normally you would use `shouldComponentUpdate`, but since the slider is a low-level component,\r\n // the extra complexity might be worth the extra performance.\r\n if (newValue !== oldValue) {\r\n this.setState({ value: value }, this._fireChangeEvent.bind(this, 'onChange'));\r\n }\r\n };\r\n\r\n _pushSucceeding = (value, minDistance, index) => {\r\n var i, padding;\r\n for (\r\n i = index, padding = value[i] + minDistance;\r\n value[i + 1] != null && padding > value[i + 1];\r\n i++, padding = value[i] + minDistance\r\n ) {\r\n value[i + 1] = this._alignValue(padding);\r\n }\r\n };\r\n\r\n _trimSucceeding = (length, nextValue, minDistance, max) => {\r\n for (var i = 0; i < length; i++) {\r\n var padding = max - i * minDistance;\r\n if (nextValue[length - 1 - i] > padding) {\r\n nextValue[length - 1 - i] = padding;\r\n }\r\n }\r\n };\r\n\r\n _pushPreceding = (value, minDistance, index) => {\r\n var i, padding;\r\n for (\r\n i = index, padding = value[i] - minDistance;\r\n value[i - 1] != null && padding < value[i - 1];\r\n i--, padding = value[i] - minDistance\r\n ) {\r\n value[i - 1] = this._alignValue(padding);\r\n }\r\n };\r\n\r\n _trimPreceding = (length, nextValue, minDistance, min) => {\r\n for (var i = 0; i < length; i++) {\r\n var padding = min + i * minDistance;\r\n if (nextValue[i] < padding) {\r\n nextValue[i] = padding;\r\n }\r\n }\r\n };\r\n\r\n _axisKey = () => {\r\n var orientation = this.props.orientation;\r\n if (orientation === 'horizontal') return 'X';\r\n if (orientation === 'vertical') return 'Y';\r\n };\r\n\r\n _orthogonalAxisKey = () => {\r\n var orientation = this.props.orientation;\r\n if (orientation === 'horizontal') return 'Y';\r\n if (orientation === 'vertical') return 'X';\r\n };\r\n\r\n _posMinKey = () => {\r\n var orientation = this.props.orientation;\r\n if (orientation === 'horizontal') return this.props.invert ? 'right' : 'left';\r\n if (orientation === 'vertical') return this.props.invert ? 'bottom' : 'top';\r\n };\r\n\r\n _posMaxKey = () => {\r\n var orientation = this.props.orientation;\r\n if (orientation === 'horizontal') return this.props.invert ? 'left' : 'right';\r\n if (orientation === 'vertical') return this.props.invert ? 'top' : 'bottom';\r\n };\r\n\r\n _sizeKey = () => {\r\n var orientation = this.props.orientation;\r\n if (orientation === 'horizontal') return 'clientWidth';\r\n if (orientation === 'vertical') return 'clientHeight';\r\n };\r\n\r\n _trimAlignValue = (val, props) => {\r\n return this._alignValue(this._trimValue(val, props), props);\r\n };\r\n\r\n _trimValue = (val, props) => {\r\n props = props || this.props;\r\n\r\n if (val <= props.min) val = props.min;\r\n if (val >= props.max) val = props.max;\r\n\r\n return val;\r\n };\r\n\r\n _alignValue = (val, props) => {\r\n props = props || this.props;\r\n\r\n var valModStep = (val - props.min) % props.step;\r\n var alignValue = val - valModStep;\r\n\r\n if (Math.abs(valModStep) * 2 >= props.step) {\r\n alignValue += valModStep > 0 ? props.step : -props.step;\r\n }\r\n\r\n return parseFloat(alignValue.toFixed(5));\r\n };\r\n\r\n _renderHandle = (style, child, i) => {\r\n var className =\r\n this.props.handleClassName +\r\n ' ' +\r\n (this.props.handleClassName + '-' + i) +\r\n ' ' +\r\n (this.state.index === i ? this.props.handleActiveClassName : '');\r\n\r\n return React.createElement(\r\n 'div',\r\n {\r\n ref: 'handle' + i,\r\n key: 'handle' + i,\r\n className: className,\r\n style: style,\r\n onMouseDown: this._createOnMouseDown(i),\r\n onTouchStart: this._createOnTouchStart(i),\r\n onFocus: this._createOnKeyDown(i),\r\n tabIndex: 0,\r\n role: 'slider',\r\n 'aria-valuenow': this.state.value[i],\r\n 'aria-valuemin': this.props.min,\r\n 'aria-valuemax': this.props.max\r\n },\r\n child\r\n );\r\n };\r\n\r\n _renderHandles = offset => {\r\n var length = offset.length;\r\n\r\n var styles = this.tempArray;\r\n for (var i = 0; i < length; i++) {\r\n styles[i] = this._buildHandleStyle(offset[i], i);\r\n }\r\n\r\n var res = [];\r\n var renderHandle = this._renderHandle;\r\n if (React.Children.count(this.props.children) > 0) {\r\n React.Children.forEach(this.props.children, (child, i) => {\r\n res[i] = renderHandle(styles[i], child, i);\r\n });\r\n } else {\r\n for (i = 0; i < length; i++) {\r\n res[i] = renderHandle(styles[i], null, i);\r\n }\r\n }\r\n return res;\r\n };\r\n\r\n _renderBar = (i, offsetFrom, offsetTo) => {\r\n return React.createElement('div', {\r\n key: 'bar' + i,\r\n ref: 'bar' + i,\r\n className: this.props.barClassName + ' ' + this.props.barClassName + '-' + i,\r\n style: this._buildBarStyle(offsetFrom, this.state.upperBound - offsetTo)\r\n });\r\n };\r\n\r\n _renderBars = offset => {\r\n var bars = [];\r\n var lastIndex = offset.length - 1;\r\n\r\n bars.push(this._renderBar(0, 0, offset[0]));\r\n\r\n for (var i = 0; i < lastIndex; i++) {\r\n bars.push(this._renderBar(i + 1, offset[i], offset[i + 1]));\r\n }\r\n\r\n bars.push(this._renderBar(lastIndex + 1, offset[lastIndex], this.state.upperBound));\r\n\r\n return bars;\r\n };\r\n\r\n _renderGuide = (i, offset) => {\r\n return React.createElement('div', {\r\n key: 'guide' + i,\r\n className: this.props.guideClassName + ' ' + this.props.guideClassName + '-' + i,\r\n style: {\r\n left: offset + '%',\r\n background: '#ddd',\r\n bottom: '2px',\r\n position: 'absolute',\r\n top: '2px',\r\n width: '2px'\r\n }\r\n });\r\n };\r\n\r\n _renderGuides = numGuides => {\r\n var guides = [];\r\n\r\n for (var i = 1; i <= numGuides; i++) {\r\n guides.push(this._renderGuide(i, i * (100 / (numGuides + 1))));\r\n }\r\n\r\n return guides;\r\n };\r\n\r\n _onSliderMouseDown = e => {\r\n if (this.props.disabled) return;\r\n this.hasMoved = false;\r\n if (!this.props.snapDragDisabled) {\r\n var position = this._getMousePosition(e);\r\n this._forceValueFromPosition(position[0], i => {\r\n this._fireChangeEvent('onChange');\r\n this._start(i, position[0]);\r\n this._addHandlers(this._getMouseEventMap());\r\n });\r\n }\r\n\r\n pauseEvent(e);\r\n };\r\n\r\n _onSliderClick = e => {\r\n if (this.props.disabled) return;\r\n\r\n if (this.props.onSliderClick && !this.hasMoved) {\r\n var position = this._getMousePosition(e);\r\n var valueAtPos = this._trimAlignValue(this._calcValue(this._calcOffsetFromPosition(position[0])));\r\n this.props.onSliderClick(valueAtPos);\r\n }\r\n };\r\n\r\n _fireChangeEvent = event => {\r\n if (this.props[event]) {\r\n this.props[event](undoEnsureArray(this.state.value));\r\n }\r\n };\r\n\r\n render = () => {\r\n var state = this.state;\r\n var props = this.props;\r\n\r\n var offset = this.tempArray;\r\n var value = state.value;\r\n var l = value.length;\r\n for (var i = 0; i < l; i++) {\r\n offset[i] = this._calcOffset(value[i], i);\r\n }\r\n\r\n var guides = props.numGuides ? this._renderGuides(props.numGuides) : null;\r\n var bars = props.withBars ? this._renderBars(offset) : null;\r\n var handles = this._renderHandles(offset);\r\n\r\n return React.createElement(\r\n 'div',\r\n {\r\n ref: 'slider',\r\n style: { position: 'relative' },\r\n className: props.className + (props.disabled ? ' disabled' : ''),\r\n onMouseDown: this._onSliderMouseDown,\r\n onClick: this._onSliderClick\r\n },\r\n guides,\r\n bars,\r\n handles\r\n );\r\n };\r\n}\r\n","import PropTypes from 'prop-types';\r\nimport React, { PureComponent } from 'react';\r\nimport Icon from 'components/shared/icon';\r\nimport ReactTooltip from 'react-tooltip';\r\nimport { FormattedMessage } from 'react-intl';\r\nimport Button from 'components/shared/single-click-button';\r\n\r\nclass ToolbarIcon extends PureComponent {\r\n static propTypes = {\r\n active: PropTypes.bool,\r\n iconName: PropTypes.string.isRequired,\r\n onClick: PropTypes.func.isRequired,\r\n tooltipKey: PropTypes.string.isRequired\r\n };\r\n\r\n render() {\r\n const { active, onClick, iconName, tooltipKey } = this.props;\r\n\r\n const tooltipId = iconName + '-' + tooltipKey;\r\n\r\n return (\r\n
\r\n \r\n {active !== true && (\r\n \r\n )}\r\n {active === true && (\r\n \r\n )}\r\n \r\n \r\n \r\n \r\n
\r\n );\r\n }\r\n}\r\n\r\nexport default ToolbarIcon;\r\n","import { Button as MenuButton, Menu, MenuItem, Wrapper as MenuWrapper } from 'react-aria-menubutton';\r\nimport { FormattedMessage, injectIntl, intlShape } from 'react-intl';\r\nimport { ITEM_STATUSES } from 'models/project-item';\r\nimport { Link } from 'react-router-dom';\r\nimport Autocomplete from 'react-autocomplete';\r\nimport PropTypes from 'prop-types';\r\nimport React, { Component } from 'react';\r\nimport ReactSlider from 'components/shared/react-slider/react-slider';\r\n\r\nimport { addNotification } from 'store/notifications.js';\r\nimport { getCurrentRegion } from 'store/api';\r\nimport Button from 'components/shared/single-click-button';\r\nimport CompareSidebarContainer from 'containers/file-browser/compare-sidebar-container';\r\nimport dateUtil from 'utils/dateUtil';\r\nimport Icon from 'components/shared/icon';\r\nimport Permissions from 'permissions/permissions';\r\nimport store from 'store/store';\r\nimport TagsPopover from 'components/file-browser/toolbar/tags-popover';\r\nimport ToolbarIcon from 'components/shared/toolbar-icon/toolbar-icon';\r\n\r\nconst TOOLBAR_OPTIONS = {\r\n TAG: 'TAG',\r\n COMPARE: 'COMPARE'\r\n};\r\n\r\nclass VisualsHeader extends Component {\r\n static propTypes = {\r\n activeTemplate: PropTypes.object.isRequired,\r\n currentProject: PropTypes.object,\r\n intl: intlShape,\r\n lastUpdatedDate: PropTypes.object,\r\n projectId: PropTypes.string.isRequired,\r\n regenerateVisuals: PropTypes.func.isRequired,\r\n resetView: PropTypes.func.isRequired,\r\n searchFilteredDocuments: PropTypes.array.isRequired,\r\n searchText: PropTypes.string.isRequired,\r\n setSearchText: PropTypes.func.isRequired,\r\n setTemplate: PropTypes.func.isRequired,\r\n setThresholdRange: PropTypes.func.isRequired,\r\n templates: PropTypes.array.isRequired,\r\n thresholdRange: PropTypes.object.isRequired,\r\n visualsRegenerating: PropTypes.bool.isRequired\r\n };\r\n\r\n state = {\r\n activeToolbarOption: null\r\n };\r\n\r\n setActiveToolbarOption = activeToolbarOption => {\r\n this.setState({ activeToolbarOption });\r\n };\r\n\r\n clearActiveToolbarOption = () => this.setState({ activeToolbarOption: null });\r\n\r\n onSubmitCreateComparison = documentComparisonId => {\r\n const { projectId } = this.props;\r\n\r\n this.clearActiveToolbarOption();\r\n store.dispatch(\r\n addNotification({\r\n message: (\r\n \r\n \r\n \r\n )\r\n }}\r\n />\r\n ),\r\n clearOnPageChange: true,\r\n autohide: 10\r\n })\r\n );\r\n };\r\n\r\n onSubmitAddToComparison = selectedComparisonId => {\r\n const { projectId } = this.props;\r\n\r\n this.clearActiveToolbarOption();\r\n\r\n store.dispatch(\r\n addNotification({\r\n message: (\r\n \r\n \r\n \r\n )\r\n }}\r\n />\r\n ),\r\n clearOnPageChange: true,\r\n autohide: 10\r\n })\r\n );\r\n };\r\n\r\n onThresholdChange = ([min, max]) => {\r\n this.props.setThresholdRange({ min: min / 100, max: max / 100 });\r\n };\r\n\r\n render() {\r\n const {\r\n currentProject,\r\n setTemplate,\r\n templates,\r\n searchFilteredDocuments,\r\n activeTemplate,\r\n intl,\r\n thresholdRange,\r\n resetView,\r\n searchText,\r\n setSearchText,\r\n regenerateVisuals,\r\n visualsRegenerating,\r\n lastUpdatedDate,\r\n projectId\r\n } = this.props;\r\n\r\n const { activeToolbarOption } = this.state;\r\n\r\n const searchPlaceholder = intl.formatMessage({ id: 'visuals.header.search-placeholder' });\r\n\r\n const sliderValue = [thresholdRange.min * 100, thresholdRange.max * 100];\r\n\r\n const docIdMap = {};\r\n searchFilteredDocuments.forEach(doc => (docIdMap[doc.id] = true));\r\n\r\n return (\r\n
\r\n
\r\n

\r\n \r\n

\r\n
{currentProject.projectName}
\r\n
\r\n
\r\n \r\n \r\n {activeTemplate.name} \r\n \r\n \r\n
    \r\n {templates.map(template => {\r\n return (\r\n
  • \r\n \r\n {template.name}\r\n \r\n
  • \r\n );\r\n })}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n item.name}\r\n items={searchFilteredDocuments}\r\n inputProps={{ placeholder: searchPlaceholder, className: 'visuals-header__search-input' }}\r\n value={searchText}\r\n onChange={e => setSearchText(e.target.value)}\r\n onSelect={(name, doc) => setSearchText(name)}\r\n menuStyle={{\r\n borderRadius: '3px',\r\n boxShadow: '0 2px 12px rgba(0, 0, 0, 0.1)',\r\n background: 'rgba(255, 255, 255, 0)',\r\n position: 'fixed',\r\n overflow: 'auto',\r\n maxHeight: '50%'\r\n }}\r\n shouldItemRender={(item, value) => value && item.name.toLowerCase().indexOf(value.toLowerCase()) > -1}\r\n renderItem={(item, isHighlighted) => (\r\n \r\n {item.name}\r\n
\r\n )}\r\n />\r\n \r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n {Math.floor(sliderValue[0])}%\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n {Math.floor(sliderValue[1])}%\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n {Permissions.Project.Visualization.canEdit() && !visualsRegenerating && (\r\n regenerateVisuals()}\r\n iconName=\"spin\"\r\n tooltipKey=\"visuals.header.regenerate-tooltip\"\r\n />\r\n )}\r\n {!visualsRegenerating && lastUpdatedDate !== undefined && (\r\n
\r\n {lastUpdatedDate && (\r\n
\r\n \r\n
\r\n )}\r\n {lastUpdatedDate && (\r\n
{dateUtil.formatDateTime(lastUpdatedDate)}
\r\n )}\r\n
\r\n )}\r\n {visualsRegenerating && (\r\n \r\n )}\r\n {visualsRegenerating && (\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n )}\r\n\r\n {Permissions.Project.Visualization.canEdit() && searchFilteredDocuments.length > 0 && (\r\n
\r\n this.setActiveToolbarOption(TOOLBAR_OPTIONS.TAG)}\r\n tooltipKey=\"visuals.header.tag\"\r\n active={activeToolbarOption === TOOLBAR_OPTIONS.TAG}\r\n />\r\n
\r\n {activeToolbarOption === TOOLBAR_OPTIONS.TAG && (\r\n \r\n )}\r\n
\r\n
\r\n )}\r\n {Permissions.Project.Visualization.canEdit() && searchFilteredDocuments.length > 0 && (\r\n this.setActiveToolbarOption(TOOLBAR_OPTIONS.COMPARE)}\r\n tooltipKey=\"visuals.header.compare\"\r\n active={activeToolbarOption === TOOLBAR_OPTIONS.COMPARE}\r\n />\r\n )}\r\n {activeToolbarOption === TOOLBAR_OPTIONS.COMPARE && (\r\n \r\n item.itemStateId === ITEM_STATUSES.PROCESSED ||\r\n item.itemStateId === ITEM_STATUSES.REPROCESSINGREQUIRED ||\r\n item.itemStateId === ITEM_STATUSES.READYFORVERIFICATION\r\n )\r\n .map(item => ({\r\n ...item,\r\n projectItemId: item.id,\r\n itemName: item.name\r\n }))}\r\n onCloseClick={this.clearActiveToolbarOption}\r\n onSubmitCreateComparison={this.onSubmitCreateComparison}\r\n onSubmitAddToComparison={this.onSubmitAddToComparison}\r\n projectId={projectId}\r\n />\r\n )}\r\n
\r\n );\r\n }\r\n}\r\n\r\nexport default injectIntl(VisualsHeader);\r\n","import { FormattedMessage } from 'react-intl';\r\nimport PropTypes from 'prop-types';\r\nimport React, { Component } from 'react';\r\nimport { Link } from 'react-router-dom';\r\nimport { getCurrentRegion } from 'store/api';\r\n\r\nexport default class VisualsDocumentList extends Component {\r\n static propTypes = {\r\n documents: PropTypes.array.isRequired,\r\n projectId: PropTypes.string.isRequired\r\n };\r\n\r\n state = {\r\n maxVisibleDocuments: 40\r\n };\r\n\r\n render() {\r\n const { documents, projectId } = this.props;\r\n const { maxVisibleDocuments } = this.state;\r\n\r\n const limitedDocuments = documents.slice(0, maxVisibleDocuments);\r\n\r\n return (\r\n
\r\n

\r\n \r\n

\r\n
    \r\n {limitedDocuments.map(doc => (\r\n
  • \r\n {doc.name}\r\n
  • \r\n ))}\r\n {documents.length > maxVisibleDocuments && (\r\n this.setState({ maxVisibleDocuments: maxVisibleDocuments * 2 })}\r\n className=\"visuals-document-list__show-more\"\r\n >\r\n \r\n \r\n )}\r\n
\r\n
\r\n );\r\n }\r\n}\r\n","import { FormattedMessage } from 'react-intl';\r\nimport PropTypes from 'prop-types';\r\nimport React, { Component } from 'react';\r\nimport * as d3 from 'd3';\r\n\r\nimport setUtil from 'utils/setUtil';\r\n\r\nexport default class VisualsDocuments extends Component {\r\n static propTypes = {\r\n documents: PropTypes.array.isRequired,\r\n searchFilteredDocuments: PropTypes.array.isRequired,\r\n selectedDocumentIdSet: PropTypes.object,\r\n setAdditionalSelectedDocumentIdSet: PropTypes.func.isRequired,\r\n setSelectedDocumentIdSet: PropTypes.func.isRequired\r\n };\r\n\r\n colors = [\r\n '#00a3e0',\r\n '#012169',\r\n '#007680',\r\n '#00abab',\r\n '#046A38',\r\n '#43b02a',\r\n '#c4d600',\r\n '#f39200',\r\n '#E30613',\r\n '#0076A8',\r\n '#042070',\r\n '#0097A9',\r\n '#009A44',\r\n '#86BC25'\r\n ];\r\n margin = 20;\r\n\r\n d3State = {\r\n width: undefined,\r\n height: undefined,\r\n padding: undefined,\r\n minRadius: undefined,\r\n rootGroup: undefined,\r\n nodes: undefined,\r\n x: undefined,\r\n y: undefined,\r\n data: undefined,\r\n force: undefined,\r\n selectionOrigPoint: undefined,\r\n selectionRect: undefined,\r\n selectionElem: undefined\r\n };\r\n\r\n componentDidMount() {\r\n this.createChart();\r\n this.updateChart();\r\n }\r\n\r\n componentDidUpdate() {\r\n this.updateChart();\r\n }\r\n\r\n getRadius = d => {\r\n return this.d3State.minRadius + this.d3State.minRadius * 0.3; //0.75 * d.size;\r\n };\r\n\r\n tick = e => {\r\n const alpha = e.alpha ** 0.3;\r\n this.d3State.nodes.each(this.moveTowardDataPosition(alpha));\r\n\r\n this.d3State.nodes.each(this.collide(alpha));\r\n\r\n this.d3State.nodes\r\n .attr('cx', d => {\r\n return d.x;\r\n })\r\n .attr('cy', d => {\r\n return d.y;\r\n });\r\n };\r\n\r\n moveTowardDataPosition = alpha => {\r\n return d => {\r\n d.x += (this.d3State.x(d.origX) - d.x) * 0.2 * alpha;\r\n d.y += (this.d3State.y(d.origY) - d.y) * 0.2 * alpha;\r\n };\r\n };\r\n\r\n // Resolve collisions between nodes.\r\n collide = alpha => {\r\n var quadtree = d3.geom.quadtree(this.d3State.data);\r\n return d => {\r\n var r = d.radius + this.getRadius(d) + this.d3State.padding * 4,\r\n nx1 = d.x - r,\r\n nx2 = d.x + r,\r\n ny1 = d.y - r,\r\n ny2 = d.y + r;\r\n quadtree.visit((quad, x1, y1, x2, y2) => {\r\n if (quad.point && quad.point !== d) {\r\n var x = d.x - quad.point.x,\r\n y = d.y - quad.point.y,\r\n l = Math.sqrt(x * x + y * y),\r\n r = d.radius + quad.point.radius + (d.cluster !== quad.point.cluster) * this.d3State.padding * 2;\r\n\r\n //If the 2 points are on top of each other this will break the tie\r\n if (l === 0) {\r\n l = 0.1;\r\n x += 0.01;\r\n y -= 0.01;\r\n }\r\n\r\n if (l < r) {\r\n l = ((l - r) / l) * alpha;\r\n d.x -= x *= l;\r\n d.y -= y *= l;\r\n quad.point.x += x;\r\n quad.point.y += y;\r\n }\r\n }\r\n return x1 > nx2 || x2 < nx1 || y1 > ny2 || y2 < ny1;\r\n });\r\n };\r\n };\r\n\r\n createChart = () => {\r\n const oldElem = document.querySelector('.visuals-documents__chart g');\r\n if (oldElem) {\r\n oldElem.parentNode.removeChild(oldElem);\r\n }\r\n\r\n const root = d3.select('.visuals-documents__chart');\r\n\r\n this.d3State.width = root[0][0].clientWidth;\r\n this.d3State.height = root[0][0].clientHeight;\r\n\r\n const avgSize = this.d3State.width + this.d3State.height / 2;\r\n this.d3State.padding = avgSize / 750; // separation between nodes\r\n this.d3State.minRadius = avgSize / 280;\r\n\r\n root.attr('viewBox', `0 0 ${this.d3State.width + this.margin * 2} ${this.d3State.height + this.margin * 2}`);\r\n this.d3State.rootGroup = root.append('g').attr('transform', `translate(${this.margin},${this.margin})`);\r\n\r\n this.d3State.selectionElem = root\r\n .append('rect')\r\n .attr(this.d3State.selectionRect)\r\n .classed('visuals-documents__selection-rect', true);\r\n\r\n var self = this;\r\n var dragBehavior = d3.behavior\r\n .drag()\r\n .on('drag', function() {\r\n self.dragMove(this);\r\n })\r\n .on('dragstart', function() {\r\n self.dragStart(this);\r\n })\r\n .on('dragend', function() {\r\n self.dragEnd();\r\n });\r\n root.call(dragBehavior);\r\n\r\n this.d3State.x = d3.scale\r\n .linear()\r\n .range([0, this.d3State.width])\r\n .domain([0, 1]);\r\n this.d3State.y = d3.scale\r\n .linear()\r\n .range([this.d3State.height, 0])\r\n .domain([0, 1]);\r\n\r\n this.d3State.force = d3.layout\r\n .force()\r\n .size([this.d3State.width, this.d3State.height])\r\n .on('tick', this.tick)\r\n .charge(-1)\r\n .gravity(0)\r\n .chargeDistance(2);\r\n };\r\n\r\n updateChart = () => {\r\n const { documents, selectedDocumentIdSet, setSelectedDocumentIdSet, searchFilteredDocuments } = this.props;\r\n\r\n const tooltip = d3.select('.visuals-documents__chart-tooltip');\r\n\r\n let prevDataMap = {};\r\n\r\n this.d3State.data && this.d3State.data.forEach(d => (prevDataMap[d.id] = d));\r\n\r\n const searchFilteredDocumentIds = new Set();\r\n searchFilteredDocuments.forEach(d => searchFilteredDocumentIds.add(d.id));\r\n\r\n this.d3State.data = documents.map(doc => {\r\n let minOpacity = searchFilteredDocumentIds.has(doc.id) ? 0.35 : 0.2;\r\n let maxOpacity = searchFilteredDocumentIds.has(doc.id) ? 1 : 0.7;\r\n let centralityMeasure = (1 - doc.distanceFromCenter) * 0.25 + doc.density * 0.75;\r\n let relOpacity = minOpacity + centralityMeasure * (maxOpacity - minOpacity);\r\n\r\n let color;\r\n\r\n if (selectedDocumentIdSet.has(doc.id)) {\r\n color = '#FFD500';\r\n } else if (searchFilteredDocumentIds.has(doc.id)) {\r\n color = this.colors[doc.cluster % this.colors.length];\r\n } else {\r\n color = '#808080';\r\n }\r\n const radius = this.getRadius(doc);\r\n\r\n let prevDoc = prevDataMap[doc.id];\r\n\r\n return {\r\n ...doc,\r\n origX: doc.x,\r\n origY: doc.y,\r\n x: prevDoc ? prevDoc.x : this.d3State.x(doc.x),\r\n y: prevDoc ? prevDoc.y : this.d3State.y(doc.y),\r\n color,\r\n opacity: relOpacity,\r\n radius\r\n };\r\n });\r\n\r\n this.d3State.nodes = this.d3State.rootGroup\r\n .selectAll('.visuals-documents__chart-dot')\r\n .data(this.d3State.data, d => d.id);\r\n\r\n this.d3State.nodes\r\n .enter()\r\n .append('circle')\r\n .attr('class', 'visuals-documents__chart-dot')\r\n .attr('r', d => {\r\n return this.getRadius(d);\r\n })\r\n .attr('cx', d => {\r\n return this.d3State.x(d.origX);\r\n })\r\n .attr('cy', d => {\r\n return this.d3State.y(d.origY);\r\n })\r\n .on('mouseover', d => {\r\n tooltip\r\n .transition()\r\n .duration(200)\r\n .style('opacity', 0.9);\r\n tooltip\r\n .text(d.name)\r\n .style('left', d3.event.pageX + 'px')\r\n .style('top', d3.event.pageY - 28 + 'px');\r\n })\r\n .on('mouseout', d => {\r\n tooltip\r\n .transition()\r\n .duration(500)\r\n .style('opacity', 0);\r\n })\r\n .on('click', d => {\r\n d3.event.stopPropagation();\r\n\r\n let selectedDocSet;\r\n\r\n if (d3.event.ctrlKey) {\r\n selectedDocSet = setUtil.immutableToggle(this.props.selectedDocumentIdSet, d.id);\r\n } else {\r\n if (this.props.selectedDocumentIdSet.has(d.id)) {\r\n selectedDocSet = new Set();\r\n } else {\r\n selectedDocSet = new Set([d.id]);\r\n }\r\n }\r\n\r\n setSelectedDocumentIdSet(selectedDocSet);\r\n })\r\n .style('fill', d => {\r\n return d.color;\r\n })\r\n .style('fill-opacity', d => {\r\n return d.opacity;\r\n });\r\n\r\n this.d3State.nodes.exit().remove();\r\n\r\n // Update the color for all nodes because the search text could have caused it to change\r\n this.d3State.nodes\r\n .transition()\r\n .duration(200)\r\n // .delay((d, i) => {\r\n // const relX = d.x / this.d3State.width;\r\n // return relX * 200;\r\n // })\r\n .style('fill', d => {\r\n return d.color;\r\n })\r\n .style('fill-opacity', d => {\r\n return d.opacity;\r\n });\r\n\r\n //Setting this causes the nodes to jump when they are overlapping.\r\n //this.d3State.force.nodes(this.d3State.data);\r\n this.d3State.force.start();\r\n };\r\n\r\n getRect = (point1, point2) => {\r\n var x = Math.min(point1[0], point2[0]);\r\n var y = Math.min(point1[1], point2[1]);\r\n var width = Math.abs(point1[0] - point2[0]);\r\n var height = Math.abs(point1[1] - point2[1]);\r\n return {\r\n x: x,\r\n y: y,\r\n width: width,\r\n height: height\r\n };\r\n };\r\n\r\n dragStart = context => {\r\n this.resetSelection();\r\n this.d3State.selectionOrigPoint = d3.mouse(context);\r\n\r\n this.d3State.addingToSelection = d3.event.sourceEvent.ctrlKey;\r\n };\r\n\r\n dragMove = context => {\r\n const newPoint = d3.mouse(context);\r\n\r\n if (newPoint[0] !== this.d3State.selectionOrigPoint[0] || newPoint[1] !== this.d3State.selectionOrigPoint[1]) {\r\n this.d3State.selectionRect = this.getRect(this.d3State.selectionOrigPoint, newPoint);\r\n this.d3State.selectionElem.attr(this.d3State.selectionRect);\r\n\r\n this.applySelection();\r\n }\r\n };\r\n\r\n dragEnd = () => {\r\n this.resetSelection();\r\n\r\n if (this.d3State.addingToSelection) {\r\n this.d3State.addingToSelection = false;\r\n this.props.setSelectedDocumentIdSet(this.props.selectedDocumentIdSet);\r\n this.props.setAdditionalSelectedDocumentIdSet(new Set());\r\n }\r\n };\r\n\r\n resetSelection = () => {\r\n this.d3State.selectionOrigPoint = [0, 0];\r\n\r\n this.d3State.selectionRect = {\r\n x: 0,\r\n y: 0,\r\n width: 0,\r\n height: 0\r\n };\r\n\r\n this.d3State.selectionElem.attr(this.d3State.selectionRect);\r\n };\r\n\r\n applySelection = () => {\r\n const self = this;\r\n\r\n const selectedDocumentIds = new Set();\r\n\r\n d3.selectAll('.visuals-documents__chart-dot').each(function(docData, i) {\r\n if (\r\n // inner circle inside selection frame\r\n self.margin + docData.x - docData.radius >= self.d3State.selectionRect.x &&\r\n self.margin + docData.x + docData.radius <= self.d3State.selectionRect.x + self.d3State.selectionRect.width &&\r\n self.margin + docData.y - docData.radius >= self.d3State.selectionRect.y &&\r\n self.margin + docData.y + docData.radius <= self.d3State.selectionRect.y + self.d3State.selectionRect.height\r\n ) {\r\n selectedDocumentIds.add(docData.id);\r\n }\r\n });\r\n\r\n if (this.d3State.addingToSelection) {\r\n this.props.setAdditionalSelectedDocumentIdSet(selectedDocumentIds);\r\n } else {\r\n this.props.setSelectedDocumentIdSet(selectedDocumentIds);\r\n }\r\n };\r\n\r\n render() {\r\n return (\r\n
\r\n
\r\n

\r\n \r\n

\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n );\r\n }\r\n}\r\n","import { FormattedMessage } from 'react-intl';\r\nimport PropTypes from 'prop-types';\r\nimport React, { Component } from 'react';\r\nimport * as d3 from 'd3';\r\n\r\nimport Switch from 'components/shared/form/switch';\r\n\r\nexport default class VisualsExtractionFields extends Component {\r\n static propTypes = {\r\n activeExtraction: PropTypes.object,\r\n documents: PropTypes.array.isRequired,\r\n extractionMap: PropTypes.object.isRequired,\r\n noExtractions: PropTypes.bool.isRequired,\r\n setExtractionField: PropTypes.func.isRequired,\r\n toggleNoExtractions: PropTypes.func.isRequired\r\n };\r\n\r\n d3State = {\r\n clientWidth: undefined,\r\n clientHeight: undefined,\r\n width: undefined,\r\n height: undefined,\r\n minRadius: undefined,\r\n rootGroup: undefined,\r\n bars: undefined,\r\n x: undefined,\r\n backgroundX: undefined,\r\n xAxis: undefined,\r\n y: undefined,\r\n yAxis: undefined,\r\n extractionBarData: undefined\r\n };\r\n\r\n componentDidMount() {\r\n this.createChart();\r\n this.updateChart();\r\n }\r\n\r\n componentDidUpdate() {\r\n this.updateChart();\r\n }\r\n\r\n createChart = () => {\r\n const { extractionMap } = this.props;\r\n\r\n const oldElem = document.querySelector('.visuals-extraction-fields__chart g');\r\n if (oldElem) {\r\n oldElem.parentNode.removeChild(oldElem);\r\n }\r\n\r\n const root = d3.select('.visuals-extraction-fields__chart');\r\n\r\n this.d3State.clientWidth = root[0][0].clientWidth;\r\n this.d3State.clientHeight = root[0][0].clientHeight;\r\n this.d3State.width = Math.max(extractionMap.size * 8.2, this.d3State.clientWidth);\r\n this.d3State.height = this.d3State.clientHeight;\r\n\r\n const orderedExtractionIds = this.getOrderedExtractionIds(extractionMap);\r\n\r\n this.d3State.x = d3.scale\r\n .ordinal()\r\n .rangeBands([0, this.d3State.width], 0.2)\r\n .domain(orderedExtractionIds);\r\n\r\n this.d3State.backgroundX = d3.scale\r\n .ordinal()\r\n .rangeBands([0, this.d3State.width])\r\n .domain(orderedExtractionIds);\r\n\r\n this.d3State.xAxis = d3.svg\r\n .axis()\r\n .orient('bottom')\r\n .tickSize(0)\r\n .tickFormat('')\r\n .scale(this.d3State.x);\r\n\r\n this.d3State.y = d3.scale.linear().range([this.d3State.height, 0]);\r\n\r\n this.d3State.yAxis = d3.svg\r\n .axis()\r\n .orient('left')\r\n .ticks(3);\r\n\r\n root.attr('width', `${this.d3State.width}px`);\r\n root.attr('viewBox', `0 0 ${this.d3State.width + 30} ${this.d3State.height + 10}`);\r\n\r\n this.d3State.rootGroup = root.append('g').attr('transform', `translate(30,5)`);\r\n\r\n this.d3State.rootGroup\r\n .append('g')\r\n .attr('class', 'visuals-extraction-fields__y-axis')\r\n .call(this.d3State.yAxis);\r\n\r\n this.d3State.rootGroup\r\n .append('g')\r\n .attr('class', 'visuals-extraction-fields__x-axis')\r\n .attr('transform', 'translate(0,' + this.d3State.height + ')')\r\n .call(this.d3State.xAxis);\r\n\r\n this.d3State.barGroupContainer = this.d3State.rootGroup\r\n .append('g')\r\n .attr('class', 'visuals-extraction-fields__bar-group-container')\r\n .attr('clip-path', 'url(#clip)');\r\n\r\n this.d3State.barGroup = this.d3State.barGroupContainer\r\n .append('g')\r\n .attr('class', 'visuals-extraction-fields__bar-group');\r\n };\r\n\r\n updateChart() {\r\n const self = this; // :(\r\n const { setExtractionField, extractionMap } = this.props;\r\n\r\n this.updateExtractionBarData();\r\n\r\n const tooltip = d3.select('.visuals-extraction-fields__chart-tooltip');\r\n\r\n let instanceCounts = this.d3State.extractionBarData.map(e => e.instanceCount);\r\n let maxInstanceCount = Math.max(...instanceCounts);\r\n this.d3State.y.domain([0, maxInstanceCount]);\r\n\r\n this.d3State.yAxis.scale(this.d3State.y);\r\n\r\n this.d3State.rootGroup.selectAll('.visuals-extraction-fields__y-axis').call(this.d3State.yAxis);\r\n\r\n const barBackgrounds = this.d3State.barGroup\r\n .selectAll('.visuals-extraction-fields__bar-background')\r\n .data(this.d3State.extractionBarData, e => e.id);\r\n\r\n barBackgrounds\r\n .enter()\r\n .append('rect')\r\n .attr('class', 'visuals-extraction-fields__bar-background')\r\n .attr('y', '0')\r\n .attr('height', this.d3State.height)\r\n .attr('width', this.d3State.backgroundX.rangeBand())\r\n .attr('fill', '#fff')\r\n .style('cursor', 'pointer')\r\n .attr('x', e => {\r\n return this.d3State.backgroundX(e.id);\r\n })\r\n .on('mouseover', function(e) {\r\n const backgroundElem = this;\r\n const containerBoundingRect = document.body.getBoundingClientRect();\r\n const elemBoundingRect = backgroundElem.getBoundingClientRect();\r\n const elemTop = elemBoundingRect.top - containerBoundingRect.top;\r\n const elemLeft = elemBoundingRect.left - containerBoundingRect.left;\r\n\r\n tooltip\r\n .transition()\r\n .duration(200)\r\n .style('opacity', 0.9);\r\n tooltip\r\n .text(e.name)\r\n .style('left', elemLeft + 'px')\r\n .style('top', elemTop - 2 + 'px');\r\n\r\n d3.select(this).style('fill', '#ededed');\r\n\r\n d3.select('#visuals-extraction-fields__bar-' + e.id).style('fill', self.getExtractionColor(e, true));\r\n })\r\n .on('mouseout', function(e) {\r\n tooltip\r\n .transition()\r\n .duration(500)\r\n .style('opacity', 0);\r\n\r\n d3.select(this).style('fill', '#fff');\r\n\r\n d3.select('#visuals-extraction-fields__bar-' + e.id).style('fill', e => self.getExtractionColor(e));\r\n })\r\n .on('click', e => {\r\n if (d3.event.defaultPrevented) return;\r\n\r\n setExtractionField(extractionMap.get(e.id));\r\n d3.event.stopPropagation();\r\n });\r\n\r\n this.d3State.bars = this.d3State.barGroup\r\n .selectAll('.visuals-extraction-fields__bar')\r\n .data(this.d3State.extractionBarData, e => e.id);\r\n\r\n this.d3State.bars\r\n .enter()\r\n .append('rect')\r\n .attr('class', 'visuals-extraction-fields__bar')\r\n .attr('id', e => 'visuals-extraction-fields__bar-' + e.id)\r\n .attr('width', this.d3State.x.rangeBand())\r\n .attr('x', e => {\r\n return this.d3State.x(e.id);\r\n })\r\n .style('fill', e => this.getExtractionColor(e))\r\n .attr('y', this.d3State.height)\r\n .attr('height', 0);\r\n\r\n this.d3State.bars\r\n .transition()\r\n .duration(300)\r\n .delay(function(d, i) {\r\n return i * 1;\r\n })\r\n .attr('y', e => {\r\n return this.d3State.y(e.instanceCount);\r\n })\r\n .attr('height', e => {\r\n return this.d3State.height - this.d3State.y(e.instanceCount);\r\n })\r\n .style('fill', e => this.getExtractionColor(e));\r\n }\r\n\r\n updateExtractionBarData = () => {\r\n const { documents, extractionMap } = this.props;\r\n\r\n let extractionBarDataMap = new Map();\r\n for (let extraction of extractionMap.values()) {\r\n extractionBarDataMap.set(extraction.id, {\r\n id: extraction.id,\r\n name: extraction.extractionFieldName,\r\n isPrivate: extraction.accessTypeId === 2,\r\n isTrained: extraction.isTrained,\r\n instanceCount: 0\r\n });\r\n }\r\n\r\n documents.forEach(doc => {\r\n for (let extractionId of Object.keys(doc.extractionRecords || {})) {\r\n const extraction = extractionBarDataMap.get(Number(extractionId));\r\n extraction && (extraction.instanceCount += doc.extractionRecords[extractionId]);\r\n }\r\n });\r\n\r\n this.d3State.extractionBarData = Array.from(extractionBarDataMap.values());\r\n };\r\n\r\n getOrderedExtractionIds(extractionMap) {\r\n const publicExtractions = [];\r\n const privateExtractions = [];\r\n for (let e of extractionMap.values()) {\r\n e.accessTypeId === 2 ? privateExtractions.push(e) : publicExtractions.push(e);\r\n }\r\n const orderedExtractionIds = [];\r\n publicExtractions.forEach(e => orderedExtractionIds.push(e.id));\r\n privateExtractions.forEach(e => orderedExtractionIds.push(e.id));\r\n\r\n return orderedExtractionIds;\r\n }\r\n\r\n getExtractionColor(extraction, highlight = false) {\r\n const { activeExtraction } = this.props;\r\n\r\n if (activeExtraction && extraction.id === activeExtraction.id) {\r\n return '#ffe872';\r\n } else if (extraction.isTrained === false) {\r\n return highlight ? '#b4b6b8x' : '#989a9c';\r\n } else if (extraction.isPrivate) {\r\n return highlight ? '#6fc9fc' : '#63b5e5';\r\n } else {\r\n return highlight ? '#7fdbca' : '#70c2b4';\r\n }\r\n }\r\n\r\n render() {\r\n const { noExtractions, toggleNoExtractions, activeExtraction } = this.props;\r\n\r\n return (\r\n
\r\n
\r\n
\r\n
\r\n

\r\n \r\n

\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n );\r\n }\r\n}\r\n","var _desc, _defs, _g;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport * as React from \"react\";\nfunction SvgEmptyStateVisuals(_ref, svgRef) {\n let {\n title,\n titleId,\n ...props\n } = _ref;\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: \"203px\",\n height: \"180px\",\n viewBox: \"0 0 203 180\",\n xmlns: \"http://www.w3.org/2000/svg\",\n xmlnsXlink: \"http://www.w3.org/1999/xlink\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title === undefined ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, \"empty_state_visuals\") : title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _desc || (_desc = /*#__PURE__*/React.createElement(\"desc\", null, \"Created with Sketch.\")), _defs || (_defs = /*#__PURE__*/React.createElement(\"defs\", null, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M5,-0.000190823897 L64.1749175,-0.000190823897 C66.9363413,-0.000190823897 69.1749175,2.23838543 69.1749175,4.99980918 L69.1749175,92.9104688 C69.1749175,95.6718926 66.9363413,97.9104688 64.1749175,97.9104688 L5,97.9104688 C2.23857625,97.9104688 -4.7927817e-13,95.6718926 -4.79616347e-13,92.9104688 L-4.8316906e-13,4.99980918 C-4.83507237e-13,2.23838543 2.23857625,-0.000190823897 5,-0.000190823897 Z\",\n id: \"path-1\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M5,-0.000190823897 L64.1749175,-0.000190823897 C66.9363413,-0.000190823897 69.1749175,2.23838543 69.1749175,4.99980918 L69.1749175,92.9104688 C69.1749175,95.6718926 66.9363413,97.9104688 64.1749175,97.9104688 L5,97.9104688 C2.23857625,97.9104688 -4.7927817e-13,95.6718926 -4.79616347e-13,92.9104688 L-4.8316906e-13,4.99980918 C-4.83507237e-13,2.23838543 2.23857625,-0.000190823897 5,-0.000190823897 Z\",\n id: \"path-2\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M61.9999843,37.9998216 L114.789651,38 C116.998785,38.0000069 118.789638,39.7908659 118.789638,42 L118.789651,59.7829265 C118.789651,62.5443502 121.028227,64.7829265 123.789651,64.7829265 L144.795424,64.7829265 C147.004563,64.7829265 148.795424,66.5737875 148.795424,68.7829265 L148.795424,157.468372 C148.795424,160.229796 146.556848,162.468372 143.795424,162.468372 L61.9999843,162.468372 C59.2385605,162.468372 56.9999843,160.229796 56.9999843,157.468372 L56.9999686,42.9998059 C56.9999686,40.2383822 59.2385448,37.9998059 61.9999686,37.9998059 C61.9999738,37.9998059 61.9999791,37.9998059 61.9999843,37.9998059 Z\",\n id: \"path-3\"\n }))), _g || (_g = /*#__PURE__*/React.createElement(\"g\", {\n id: \"Artboard\",\n stroke: \"none\",\n strokeWidth: 1,\n fill: \"none\",\n fillRule: \"evenodd\",\n transform: \"translate(-130.000000, -128.000000)\"\n }, /*#__PURE__*/React.createElement(\"g\", {\n id: \"empty_state_visuals\",\n transform: \"translate(129.000000, 127.000000)\"\n }, /*#__PURE__*/React.createElement(\"circle\", {\n id: \"Oval-2\",\n fillOpacity: 0.04,\n fill: \"#00A3E0\",\n cx: 103.5,\n cy: 91.5,\n r: 83.5\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M29.3739401,141.491026 L32.822086,138.04288 C33.3623848,137.502582 34.2383823,137.502582 34.7786811,138.04288 C35.3189799,138.583179 35.3189799,139.459177 34.7786811,139.999476 L28.9994756,145.778681 C28.6990525,146.079104 28.294841,146.212483 27.9022604,146.178816 C27.5096798,146.212483 27.1054684,146.079104 26.8050452,145.778681 L21.0258397,139.999476 C20.4855409,139.459177 20.4855409,138.583179 21.0258397,138.04288 C21.5661386,137.502582 22.442136,137.502582 22.9824349,138.04288 L26.6068967,141.667342 L26.6068967,131.762906 C26.6068967,130.998808 27.2263205,130.379384 27.9904184,130.379384 C28.7545163,130.379384 29.3739401,130.998808 29.3739401,131.762906 L29.3739401,141.491026 Z\",\n id: \"Combined-Shape-Copy\",\n fill: \"#00A3E0\",\n transform: \"translate(27.902260, 138.281645) scale(-1, 1) rotate(90.000000) translate(-27.902260, -138.281645) \"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M160.525764,46.13762 L165.501132,41.1622515 C166.280735,40.3826482 167.544722,40.3826482 168.324325,41.1622515 C169.103928,41.9418547 169.103928,43.2058413 168.324325,43.9854446 L159.985445,52.3243251 C159.551961,52.7578091 158.968719,52.9502623 158.40226,52.9016848 C157.835801,52.9502623 157.25256,52.7578091 156.819076,52.3243251 L148.480196,43.9854446 C147.700592,43.2058413 147.700592,41.9418547 148.480196,41.1622515 C149.259799,40.3826482 150.523786,40.3826482 151.303389,41.1622515 L156.533166,46.3920283 L156.533166,22.1008057 C156.533166,20.9982802 157.426939,20.1045067 158.529465,20.1045067 C159.63199,20.1045067 160.525764,20.9982802 160.525764,22.1008057 L160.525764,46.13762 Z\",\n id: \"Combined-Shape-Copy-2\",\n fill: \"#00A3E0\",\n transform: \"translate(158.402260, 36.506767) rotate(90.000000) translate(-158.402260, -36.506767) \"\n }), /*#__PURE__*/React.createElement(\"g\", {\n id: \"graph_1\",\n transform: \"translate(110.000000, 68.000000)\"\n }, /*#__PURE__*/React.createElement(\"g\", {\n id: \"Group-4\"\n }, /*#__PURE__*/React.createElement(\"g\", {\n id: \"Group-5-Copy-2\",\n transform: \"translate(47.796880, 57.091943) rotate(-17.000000) translate(-47.796880, -57.091943) translate(12.796880, 8.091943)\"\n }, /*#__PURE__*/React.createElement(\"g\", {\n id: \"Rectangle-5-Copy\"\n }, /*#__PURE__*/React.createElement(\"use\", {\n fill: \"#FFFFFF\",\n fillRule: \"evenodd\",\n xlinkHref: \"#path-1\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n stroke: \"#E6E6E6\",\n strokeWidth: 4,\n d: \"M5,1.99980918 C3.34314575,1.99980918 2,3.34295493 2,4.99980918 L2,92.9104688 C2,94.5673231 3.34314575,95.9104688 5,95.9104688 L64.1749175,95.9104688 C65.8317718,95.9104688 67.1749175,94.5673231 67.1749175,92.9104688 L67.1749175,4.99980918 C67.1749175,3.34295493 65.8317718,1.99980918 64.1749175,1.99980918 L5,1.99980918 Z\"\n })), /*#__PURE__*/React.createElement(\"rect\", {\n id: \"Rectangle-8-Copy-7\",\n fill: \"#E6E6E6\",\n x: 48,\n y: 10,\n width: 12.5061961,\n height: 4.0795902,\n rx: 2.0397951\n }), /*#__PURE__*/React.createElement(\"rect\", {\n id: \"Rectangle-8-Copy-6\",\n fill: \"#E6E6E6\",\n x: 5,\n y: 10,\n width: 34.3920394,\n height: 4.0795902,\n rx: 2.0397951\n }), /*#__PURE__*/React.createElement(\"rect\", {\n id: \"Rectangle-8-Copy-5\",\n fill: \"#E6E6E6\",\n x: 7.81637258,\n y: 84.039558,\n width: 14.8511079,\n height: 4.0795902,\n rx: 2.0397951\n }), /*#__PURE__*/React.createElement(\"rect\", {\n id: \"Rectangle-8-Copy-8\",\n fill: \"#E6E6E6\",\n x: 39.0818629,\n y: 84.039558,\n width: 21.8858432,\n height: 4.0795902,\n rx: 2.0397951\n })), /*#__PURE__*/React.createElement(\"rect\", {\n id: \"Rectangle-8-Copy-126\",\n fill: \"#E6E6E6\",\n transform: \"translate(36.497353, 59.497353) rotate(-287.000000) translate(-36.497353, -59.497353) \",\n x: 34.4973529,\n y: 57.4973529,\n width: 4,\n height: 4,\n rx: 2\n }), /*#__PURE__*/React.createElement(\"rect\", {\n id: \"Rectangle-8-Copy-158\",\n fill: \"#E6E6E6\",\n transform: \"translate(47.497353, 56.497353) rotate(-287.000000) translate(-47.497353, -56.497353) \",\n x: 45.4973529,\n y: 54.4973529,\n width: 4,\n height: 4,\n rx: 2\n }), /*#__PURE__*/React.createElement(\"rect\", {\n id: \"Rectangle-8-Copy-162\",\n fill: \"#E6E6E6\",\n transform: \"translate(36.497353, 49.497353) rotate(-287.000000) translate(-36.497353, -49.497353) \",\n x: 34.4973529,\n y: 47.4973529,\n width: 4,\n height: 4,\n rx: 2\n }), /*#__PURE__*/React.createElement(\"rect\", {\n id: \"Rectangle-8-Copy-163\",\n fill: \"#E6E6E6\",\n transform: \"translate(54.497353, 41.497353) rotate(-287.000000) translate(-54.497353, -41.497353) \",\n x: 52.4973529,\n y: 39.4973529,\n width: 4,\n height: 4,\n rx: 2\n }), /*#__PURE__*/React.createElement(\"rect\", {\n id: \"Rectangle-8-Copy-164\",\n fill: \"#E6E6E6\",\n transform: \"translate(50.497353, 45.497353) rotate(-287.000000) translate(-50.497353, -45.497353) \",\n x: 48.4973529,\n y: 43.4973529,\n width: 4,\n height: 4,\n rx: 2\n }), /*#__PURE__*/React.createElement(\"rect\", {\n id: \"Rectangle-8-Copy-178\",\n fill: \"#E6E6E6\",\n transform: \"translate(62.497353, 56.502647) rotate(-287.000000) translate(-62.497353, -56.502647) \",\n x: 60.4973529,\n y: 54.5026471,\n width: 4,\n height: 4,\n rx: 2\n }), /*#__PURE__*/React.createElement(\"rect\", {\n id: \"Rectangle-8-Copy-179\",\n fill: \"#E6E6E6\",\n transform: \"translate(44.497353, 49.497353) rotate(-287.000000) translate(-44.497353, -49.497353) \",\n x: 42.4973529,\n y: 47.4973529,\n width: 4,\n height: 4,\n rx: 2\n }), /*#__PURE__*/React.createElement(\"rect\", {\n id: \"Rectangle-8-Copy-180\",\n fill: \"#E6E6E6\",\n transform: \"translate(37.502647, 53.497353) rotate(-287.000000) translate(-37.502647, -53.497353) \",\n x: 35.5026471,\n y: 51.4973529,\n width: 4,\n height: 4,\n rx: 2\n }), /*#__PURE__*/React.createElement(\"rect\", {\n id: \"Rectangle-8-Copy-165\",\n fill: \"#E6E6E6\",\n transform: \"translate(63.497353, 50.492059) rotate(-287.000000) translate(-63.497353, -50.492059) \",\n x: 61.4973529,\n y: 48.4920588,\n width: 4,\n height: 4,\n rx: 2\n }), /*#__PURE__*/React.createElement(\"rect\", {\n id: \"Rectangle-8-Copy-166\",\n fill: \"#E6E6E6\",\n transform: \"translate(43.497353, 65.492059) rotate(-287.000000) translate(-43.497353, -65.492059) \",\n x: 41.4973529,\n y: 63.4920588,\n width: 4,\n height: 4,\n rx: 2\n }), /*#__PURE__*/React.createElement(\"rect\", {\n id: \"Rectangle-8-Copy-132\",\n fill: \"#E6E6E6\",\n transform: \"translate(33.337726, 56.497353) rotate(-287.000000) translate(-33.337726, -56.497353) \",\n x: 31.3377261,\n y: 54.4973529,\n width: 4,\n height: 4,\n rx: 2\n }), /*#__PURE__*/React.createElement(\"rect\", {\n id: \"Rectangle-8-Copy-151\",\n fill: \"#E6E6E6\",\n transform: \"translate(61.497353, 45.497353) rotate(-287.000000) translate(-61.497353, -45.497353) \",\n x: 59.4973529,\n y: 43.4973529,\n width: 4,\n height: 4,\n rx: 2\n }), /*#__PURE__*/React.createElement(\"rect\", {\n id: \"Rectangle-8-Copy-156\",\n fill: \"#E6E6E6\",\n transform: \"translate(58.497353, 50.492059) rotate(-287.000000) translate(-58.497353, -50.492059) \",\n x: 56.4973529,\n y: 48.4920588,\n width: 4,\n height: 4,\n rx: 2\n }), /*#__PURE__*/React.createElement(\"rect\", {\n id: \"Rectangle-8-Copy-155\",\n fill: \"#E6E6E6\",\n transform: \"translate(67.497353, 55.497353) rotate(-287.000000) translate(-67.497353, -55.497353) \",\n x: 65.4973529,\n y: 53.4973529,\n width: 4,\n height: 4,\n rx: 2\n }), /*#__PURE__*/React.createElement(\"rect\", {\n id: \"Rectangle-8-Copy-129\",\n fill: \"#E6E6E6\",\n transform: \"translate(26.497353, 64.497353) rotate(-287.000000) translate(-26.497353, -64.497353) \",\n x: 24.4973529,\n y: 62.4973529,\n width: 4,\n height: 4,\n rx: 2\n }), /*#__PURE__*/React.createElement(\"rect\", {\n id: \"Rectangle-8-Copy-128\",\n fill: \"#E6E6E6\",\n transform: \"translate(37.497353, 66.497353) rotate(-287.000000) translate(-37.497353, -66.497353) \",\n x: 35.4973529,\n y: 64.4973529,\n width: 4,\n height: 4,\n rx: 2\n }), /*#__PURE__*/React.createElement(\"rect\", {\n id: \"Rectangle-8-Copy-134\",\n fill: \"#E6E6E6\",\n transform: \"translate(48.497353, 64.497353) rotate(-287.000000) translate(-48.497353, -64.497353) \",\n x: 46.4973529,\n y: 62.4973529,\n width: 4,\n height: 4,\n rx: 2\n }), /*#__PURE__*/React.createElement(\"rect\", {\n id: \"Rectangle-8-Copy-131\",\n fill: \"#E6E6E6\",\n transform: \"translate(40.497353, 56.497353) rotate(-287.000000) translate(-40.497353, -56.497353) \",\n x: 38.4973529,\n y: 54.4973529,\n width: 4,\n height: 4,\n rx: 2\n }), /*#__PURE__*/React.createElement(\"rect\", {\n id: \"Rectangle-8-Copy-172\",\n fill: \"#E6E6E6\",\n transform: \"translate(30.497353, 61.497353) rotate(-287.000000) translate(-30.497353, -61.497353) \",\n x: 28.4973529,\n y: 59.4973529,\n width: 4,\n height: 4,\n rx: 2\n }), /*#__PURE__*/React.createElement(\"rect\", {\n id: \"Rectangle-8-Copy-167\",\n fill: \"#E6E6E6\",\n transform: \"translate(42.497353, 60.497353) rotate(-287.000000) translate(-42.497353, -60.497353) \",\n x: 40.4973529,\n y: 58.4973529,\n width: 4,\n height: 4,\n rx: 2\n }), /*#__PURE__*/React.createElement(\"rect\", {\n id: \"Rectangle-8-Copy-175\",\n fill: \"#E6E6E6\",\n transform: \"translate(55.497353, 46.497353) rotate(-287.000000) translate(-55.497353, -46.497353) \",\n x: 53.4973529,\n y: 44.4973529,\n width: 4,\n height: 4,\n rx: 2\n }), /*#__PURE__*/React.createElement(\"rect\", {\n id: \"Rectangle-8-Copy-173\",\n fill: \"#E6E6E6\",\n transform: \"translate(33.497353, 65.497353) rotate(-287.000000) translate(-33.497353, -65.497353) \",\n x: 31.4973529,\n y: 63.4973529,\n width: 4,\n height: 4,\n rx: 2\n }), /*#__PURE__*/React.createElement(\"rect\", {\n id: \"Rectangle-8-Copy-171\",\n fill: \"#E6E6E6\",\n transform: \"translate(47.497353, 41.497353) rotate(-287.000000) translate(-47.497353, -41.497353) \",\n x: 45.4973529,\n y: 39.4973529,\n width: 4,\n height: 4,\n rx: 2\n }), /*#__PURE__*/React.createElement(\"rect\", {\n id: \"Rectangle-8-Copy-182\",\n fill: \"#E6E6E6\",\n transform: \"translate(45.497353, 44.497353) rotate(-287.000000) translate(-45.497353, -44.497353) \",\n x: 43.4973529,\n y: 42.4973529,\n width: 4,\n height: 4,\n rx: 2\n }), /*#__PURE__*/React.createElement(\"rect\", {\n id: \"Rectangle-8-Copy-181\",\n fill: \"#E6E6E6\",\n transform: \"translate(40.497353, 40.497353) rotate(-287.000000) translate(-40.497353, -40.497353) \",\n x: 38.4973529,\n y: 38.4973529,\n width: 4,\n height: 4,\n rx: 2\n }), /*#__PURE__*/React.createElement(\"rect\", {\n id: \"Rectangle-8-Copy-137\",\n fill: \"#E6E6E6\",\n transform: \"translate(53.497353, 60.497353) rotate(-287.000000) translate(-53.497353, -60.497353) \",\n x: 51.4973529,\n y: 58.4973529,\n width: 4,\n height: 4,\n rx: 2\n }), /*#__PURE__*/React.createElement(\"rect\", {\n id: \"Rectangle-8-Copy-159\",\n fill: \"#E6E6E6\",\n transform: \"translate(49.497353, 60.497353) rotate(-287.000000) translate(-49.497353, -60.497353) \",\n x: 47.4973529,\n y: 58.4973529,\n width: 4,\n height: 4,\n rx: 2\n }), /*#__PURE__*/React.createElement(\"rect\", {\n id: \"Rectangle-8-Copy-139\",\n fill: \"#E6E6E6\",\n transform: \"translate(57.497353, 57.492059) rotate(-287.000000) translate(-57.497353, -57.492059) \",\n x: 55.4973529,\n y: 55.4920588,\n width: 4,\n height: 4,\n rx: 2\n }), /*#__PURE__*/React.createElement(\"rect\", {\n id: \"Rectangle-8-Copy-140\",\n fill: \"#E6E6E6\",\n transform: \"translate(69.497353, 49.497353) rotate(-287.000000) translate(-69.497353, -49.497353) \",\n x: 67.4973529,\n y: 47.4973529,\n width: 4,\n height: 4,\n rx: 2\n }), /*#__PURE__*/React.createElement(\"rect\", {\n id: \"Rectangle-8-Copy-141\",\n fill: \"#E6E6E6\",\n transform: \"translate(54.583584, 54.497353) rotate(-287.000000) translate(-54.583584, -54.497353) \",\n x: 52.5835837,\n y: 52.4973529,\n width: 4,\n height: 4,\n rx: 2\n }), /*#__PURE__*/React.createElement(\"rect\", {\n id: \"Rectangle-8-Copy-143\",\n fill: \"#E6E6E6\",\n transform: \"translate(52.497353, 49.497353) rotate(-287.000000) translate(-52.497353, -49.497353) \",\n x: 50.4973529,\n y: 47.4973529,\n width: 4,\n height: 4,\n rx: 2\n }), /*#__PURE__*/React.createElement(\"rect\", {\n id: \"Rectangle-8-Copy-145\",\n fill: \"#E6E6E6\",\n transform: \"translate(48.497353, 51.497353) rotate(-287.000000) translate(-48.497353, -51.497353) \",\n x: 46.4973529,\n y: 49.4973529,\n width: 4,\n height: 4,\n rx: 2\n }), /*#__PURE__*/React.createElement(\"rect\", {\n id: \"Rectangle-8-Copy-147\",\n fill: \"#E6E6E6\",\n transform: \"translate(39.502647, 45.497353) rotate(-287.000000) translate(-39.502647, -45.497353) \",\n x: 37.5026471,\n y: 43.4973529,\n width: 4,\n height: 4,\n rx: 2\n }), /*#__PURE__*/React.createElement(\"rect\", {\n id: \"Rectangle-8-Copy-148\",\n fill: \"#E6E6E6\",\n transform: \"translate(33.497353, 45.497353) rotate(-287.000000) translate(-33.497353, -45.497353) \",\n x: 31.4973529,\n y: 43.4973529,\n width: 4,\n height: 4,\n rx: 2\n }), /*#__PURE__*/React.createElement(\"rect\", {\n id: \"Rectangle-8-Copy-149\",\n fill: \"#E6E6E6\",\n transform: \"translate(41.497353, 52.497353) rotate(-287.000000) translate(-41.497353, -52.497353) \",\n x: 39.4973529,\n y: 50.4973529,\n width: 4,\n height: 4,\n rx: 2\n }), /*#__PURE__*/React.createElement(\"rect\", {\n id: \"Rectangle-8-Copy-150\",\n fill: \"#E6E6E6\",\n transform: \"translate(33.337726, 52.497353) rotate(-287.000000) translate(-33.337726, -52.497353) \",\n x: 31.3377261,\n y: 50.4973529,\n width: 4,\n height: 4,\n rx: 2\n }))), /*#__PURE__*/React.createElement(\"g\", {\n id: \"Group-5-Copy-2\",\n transform: \"translate(46.774403, 56.644950) rotate(-345.000000) translate(-46.774403, -56.644950) translate(11.774403, 7.644950)\"\n }, /*#__PURE__*/React.createElement(\"g\", {\n id: \"Rectangle-5-Copy\"\n }, /*#__PURE__*/React.createElement(\"use\", {\n fill: \"#FFFFFF\",\n fillRule: \"evenodd\",\n xlinkHref: \"#path-2\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n stroke: \"#E6E6E6\",\n strokeWidth: 4,\n d: \"M5,1.99980918 C3.34314575,1.99980918 2,3.34295493 2,4.99980918 L2,92.9104688 C2,94.5673231 3.34314575,95.9104688 5,95.9104688 L64.1749175,95.9104688 C65.8317718,95.9104688 67.1749175,94.5673231 67.1749175,92.9104688 L67.1749175,4.99980918 C67.1749175,3.34295493 65.8317718,1.99980918 64.1749175,1.99980918 L5,1.99980918 Z\"\n })), /*#__PURE__*/React.createElement(\"rect\", {\n id: \"Rectangle-8-Copy-7\",\n fill: \"#E6E6E6\",\n x: 48,\n y: 10,\n width: 12.5061961,\n height: 4.0795902,\n rx: 2.0397951\n }), /*#__PURE__*/React.createElement(\"rect\", {\n id: \"Rectangle-8-Copy-6\",\n fill: \"#E6E6E6\",\n x: 5,\n y: 10,\n width: 34.3920394,\n height: 4.0795902,\n rx: 2.0397951\n }), /*#__PURE__*/React.createElement(\"rect\", {\n id: \"Rectangle-8-Copy-5\",\n fill: \"#E6E6E6\",\n x: 7.81637258,\n y: 84.039558,\n width: 14.8511079,\n height: 4.0795902,\n rx: 2.0397951\n }), /*#__PURE__*/React.createElement(\"rect\", {\n id: \"Rectangle-8-Copy-8\",\n fill: \"#E6E6E6\",\n x: 39.0818629,\n y: 84.039558,\n width: 21.8858432,\n height: 4.0795902,\n rx: 2.0397951\n })), /*#__PURE__*/React.createElement(\"rect\", {\n id: \"Rectangle-8-Copy-126\",\n fill: \"#E6E6E6\",\n transform: \"translate(36.917187, 59.697016) rotate(-615.000000) translate(-36.917187, -59.697016) \",\n x: 34.9171871,\n y: 57.6970163,\n width: 4,\n height: 4,\n rx: 2\n }), /*#__PURE__*/React.createElement(\"rect\", {\n id: \"Rectangle-8-Copy-158\",\n fill: \"#E6E6E6\",\n transform: \"translate(47.835474, 62.981984) rotate(-615.000000) translate(-47.835474, -62.981984) \",\n x: 45.8354739,\n y: 60.9819839,\n width: 4,\n height: 4,\n rx: 2\n }), /*#__PURE__*/React.createElement(\"rect\", {\n id: \"Rectangle-8-Copy-162\",\n fill: \"#E6E6E6\",\n transform: \"translate(42.216380, 51.216535) rotate(-615.000000) translate(-42.216380, -51.216535) \",\n x: 40.2163797,\n y: 49.2165354,\n width: 4,\n height: 4,\n rx: 2\n }), /*#__PURE__*/React.createElement(\"rect\", {\n id: \"Rectangle-8-Copy-163\",\n fill: \"#E6E6E6\",\n transform: \"translate(61.720600, 53.970697) rotate(-615.000000) translate(-61.720600, -53.970697) \",\n x: 59.7205996,\n y: 51.9706973,\n width: 4,\n height: 4,\n rx: 2\n }), /*#__PURE__*/React.createElement(\"rect\", {\n id: \"Rectangle-8-Copy-164\",\n fill: \"#E6E6E6\",\n transform: \"translate(56.208730, 55.243213) rotate(-615.000000) translate(-56.208730, -55.243213) \",\n x: 54.2087301,\n y: 53.2432127,\n width: 4,\n height: 4,\n rx: 2\n }), /*#__PURE__*/React.createElement(\"rect\", {\n id: \"Rectangle-8-Copy-178\",\n fill: \"#E6E6E6\",\n transform: \"translate(60.553390, 70.935263) rotate(-615.000000) translate(-60.553390, -70.935263) \",\n x: 58.5533899,\n y: 68.9352626,\n width: 4,\n height: 4,\n rx: 2\n }), /*#__PURE__*/React.createElement(\"rect\", {\n id: \"Rectangle-8-Copy-179\",\n fill: \"#E6E6E6\",\n transform: \"translate(49.000764, 55.455889) rotate(-615.000000) translate(-49.000764, -55.455889) \",\n x: 47.0007645,\n y: 53.4558895,\n width: 4,\n height: 4,\n rx: 2\n }), /*#__PURE__*/React.createElement(\"rect\", {\n id: \"Rectangle-8-Copy-180\",\n fill: \"#E6E6E6\",\n transform: \"translate(33.949240, 53.141452) rotate(-615.000000) translate(-33.949240, -53.141452) \",\n x: 31.9492405,\n y: 51.1414525,\n width: 4,\n height: 4,\n rx: 2\n }), /*#__PURE__*/React.createElement(\"rect\", {\n id: \"Rectangle-8-Copy-165\",\n fill: \"#E6E6E6\",\n transform: \"translate(64.586565, 66.367914) rotate(-615.000000) translate(-64.586565, -66.367914) \",\n x: 62.5865645,\n y: 64.3679139,\n width: 4,\n height: 4,\n rx: 2\n }), /*#__PURE__*/React.createElement(\"rect\", {\n id: \"Rectangle-8-Copy-166\",\n fill: \"#E6E6E6\",\n transform: \"translate(39.676814, 68.490250) rotate(-615.000000) translate(-39.676814, -68.490250) \",\n x: 37.6768136,\n y: 66.49025,\n width: 4,\n height: 4,\n rx: 2\n }), /*#__PURE__*/React.createElement(\"rect\", {\n id: \"Rectangle-8-Copy-132\",\n fill: \"#E6E6E6\",\n transform: \"translate(27.827429, 54.478525) rotate(-615.000000) translate(-27.827429, -54.478525) \",\n x: 25.8274293,\n y: 52.4785249,\n width: 4,\n height: 4,\n rx: 2\n }), /*#__PURE__*/React.createElement(\"rect\", {\n id: \"Rectangle-8-Copy-151\",\n fill: \"#E6E6E6\",\n transform: \"translate(65.537259, 61.072325) rotate(-615.000000) translate(-65.537259, -61.072325) \",\n x: 63.5372592,\n y: 59.0723246,\n width: 4,\n height: 4,\n rx: 2\n }), /*#__PURE__*/React.createElement(\"rect\", {\n id: \"Rectangle-8-Copy-156\",\n fill: \"#E6E6E6\",\n transform: \"translate(60.346324, 63.718318) rotate(-615.000000) translate(-60.346324, -63.718318) \",\n x: 58.346324,\n y: 61.7183176,\n width: 4,\n height: 4,\n rx: 2\n }), /*#__PURE__*/React.createElement(\"rect\", {\n id: \"Rectangle-8-Copy-155\",\n fill: \"#E6E6E6\",\n transform: \"translate(65.326355, 72.732321) rotate(-615.000000) translate(-65.326355, -72.732321) \",\n x: 63.3263551,\n y: 70.7323211,\n width: 4,\n height: 4,\n rx: 2\n }), /*#__PURE__*/React.createElement(\"rect\", {\n id: \"Rectangle-8-Copy-129\",\n fill: \"#E6E6E6\",\n transform: \"translate(25.787110, 58.638064) rotate(-615.000000) translate(-25.787110, -58.638064) \",\n x: 23.7871098,\n y: 56.6380642,\n width: 4,\n height: 4,\n rx: 2\n }), /*#__PURE__*/React.createElement(\"rect\", {\n id: \"Rectangle-8-Copy-128\",\n fill: \"#E6E6E6\",\n transform: \"translate(34.055800, 66.163272) rotate(-615.000000) translate(-34.055800, -66.163272) \",\n x: 32.0558003,\n y: 64.1632723,\n width: 4,\n height: 4,\n rx: 2\n }), /*#__PURE__*/React.createElement(\"rect\", {\n id: \"Rectangle-8-Copy-134\",\n fill: \"#E6E6E6\",\n transform: \"translate(44.444168, 70.296288) rotate(-615.000000) translate(-44.444168, -70.296288) \",\n x: 42.4441679,\n y: 68.296288,\n width: 4,\n height: 4,\n rx: 2\n }), /*#__PURE__*/React.createElement(\"rect\", {\n id: \"Rectangle-8-Copy-131\",\n fill: \"#E6E6E6\",\n transform: \"translate(41.899137, 59.272549) rotate(-615.000000) translate(-41.899137, -59.272549) \",\n x: 39.8991373,\n y: 57.2725491,\n width: 4,\n height: 4,\n rx: 2\n }), /*#__PURE__*/React.createElement(\"rect\", {\n id: \"Rectangle-8-Copy-172\",\n fill: \"#E6E6E6\",\n transform: \"translate(30.769060, 58.213597) rotate(-615.000000) translate(-30.769060, -58.213597) \",\n x: 28.76906,\n y: 56.2135969,\n width: 4,\n height: 4,\n rx: 2\n }), /*#__PURE__*/React.createElement(\"rect\", {\n id: \"Rectangle-8-Copy-167\",\n fill: \"#E6E6E6\",\n transform: \"translate(41.475556, 63.724580) rotate(-615.000000) translate(-41.475556, -63.724580) \",\n x: 39.4755564,\n y: 61.72458,\n width: 4,\n height: 4,\n rx: 2\n }), /*#__PURE__*/React.createElement(\"rect\", {\n id: \"Rectangle-8-Copy-175\",\n fill: \"#E6E6E6\",\n transform: \"translate(59.919051, 58.740857) rotate(-615.000000) translate(-59.919051, -58.740857) \",\n x: 57.9190513,\n y: 56.7408571,\n width: 4,\n height: 4,\n rx: 2\n }), /*#__PURE__*/React.createElement(\"rect\", {\n id: \"Rectangle-8-Copy-173\",\n fill: \"#E6E6E6\",\n transform: \"translate(31.193527, 63.195547) rotate(-615.000000) translate(-31.193527, -63.195547) \",\n x: 29.1935272,\n y: 61.1955471,\n width: 4,\n height: 4,\n rx: 2\n }), /*#__PURE__*/React.createElement(\"rect\", {\n id: \"Rectangle-8-Copy-171\",\n fill: \"#E6E6E6\",\n transform: \"translate(55.784263, 50.261262) rotate(-615.000000) translate(-55.784263, -50.261262) \",\n x: 53.7842629,\n y: 48.2612625,\n width: 4,\n height: 4,\n rx: 2\n }), /*#__PURE__*/React.createElement(\"rect\", {\n id: \"Rectangle-8-Copy-182\",\n fill: \"#E6E6E6\",\n transform: \"translate(52.498409, 51.745568) rotate(-615.000000) translate(-52.498409, -51.745568) \",\n x: 50.4984089,\n y: 49.7455683,\n width: 4,\n height: 4,\n rx: 2\n }), /*#__PURE__*/React.createElement(\"rect\", {\n id: \"Rectangle-8-Copy-181\",\n fill: \"#E6E6E6\",\n transform: \"translate(37.452760, 48.500186) rotate(-615.000000) translate(-37.452760, -48.500186) \",\n x: 35.4527597,\n y: 46.5001855,\n width: 4,\n height: 4,\n rx: 2\n }), /*#__PURE__*/React.createElement(\"rect\", {\n id: \"Rectangle-8-Copy-137\",\n fill: \"#E6E6E6\",\n transform: \"translate(50.804085, 69.553692) rotate(-615.000000) translate(-50.804085, -69.553692) \",\n x: 48.8040855,\n y: 67.5536919,\n width: 4,\n height: 4,\n rx: 2\n }), /*#__PURE__*/React.createElement(\"rect\", {\n id: \"Rectangle-8-Copy-159\",\n fill: \"#E6E6E6\",\n transform: \"translate(47.411893, 67.434015) rotate(-615.000000) translate(-47.411893, -67.434015) \",\n x: 45.4118931,\n y: 65.4340149,\n width: 4,\n height: 4,\n rx: 2\n }), /*#__PURE__*/React.createElement(\"rect\", {\n id: \"Rectangle-8-Copy-139\",\n fill: \"#E6E6E6\",\n transform: \"translate(55.788841, 69.124735) rotate(-615.000000) translate(-55.788841, -69.124735) \",\n x: 53.7888411,\n y: 67.124735,\n width: 4,\n height: 4,\n rx: 2\n }), /*#__PURE__*/React.createElement(\"rect\", {\n id: \"Rectangle-8-Copy-140\",\n fill: \"#E6E6E6\",\n transform: \"translate(70.201967, 68.703871) rotate(-615.000000) translate(-70.201967, -68.703871) \",\n x: 68.2019669,\n y: 66.7038711,\n width: 4,\n height: 4,\n rx: 2\n }), /*#__PURE__*/React.createElement(\"rect\", {\n id: \"Rectangle-8-Copy-141\",\n fill: \"#E6E6E6\",\n transform: \"translate(54.904777, 65.041018) rotate(-615.000000) translate(-54.904777, -65.041018) \",\n x: 52.904777,\n y: 63.041018,\n width: 4,\n height: 4,\n rx: 2\n }), /*#__PURE__*/React.createElement(\"rect\", {\n id: \"Rectangle-8-Copy-143\",\n fill: \"#E6E6E6\",\n transform: \"translate(55.785149, 59.695244) rotate(-615.000000) translate(-55.785149, -59.695244) \",\n x: 53.7851493,\n y: 57.6952436,\n width: 4,\n height: 4,\n rx: 2\n }), /*#__PURE__*/React.createElement(\"rect\", {\n id: \"Rectangle-8-Copy-145\",\n fill: \"#E6E6E6\",\n transform: \"translate(51.333118, 59.271663) rotate(-615.000000) translate(-51.333118, -59.271663) \",\n x: 49.3331183,\n y: 57.2716627,\n width: 4,\n height: 4,\n rx: 2\n }), /*#__PURE__*/React.createElement(\"rect\", {\n id: \"Rectangle-8-Copy-147\",\n fill: \"#E6E6E6\",\n transform: \"translate(46.884691, 49.416906) rotate(-615.000000) translate(-46.884691, -49.416906) \",\n x: 44.8846908,\n y: 47.4169062,\n width: 4,\n height: 4,\n rx: 2\n }), /*#__PURE__*/React.createElement(\"rect\", {\n id: \"Rectangle-8-Copy-148\",\n fill: \"#E6E6E6\",\n transform: \"translate(21.942919, 54.470301) rotate(-615.000000) translate(-21.942919, -54.470301) \",\n x: 19.942919,\n y: 52.4703009,\n width: 4,\n height: 4,\n rx: 2\n }), /*#__PURE__*/React.createElement(\"rect\", {\n id: \"Rectangle-8-Copy-149\",\n fill: \"#E6E6E6\",\n transform: \"translate(44.866862, 56.410276) rotate(-615.000000) translate(-44.866862, -56.410276) \",\n x: 42.8668624,\n y: 54.410276,\n width: 4,\n height: 4,\n rx: 2\n }), /*#__PURE__*/React.createElement(\"rect\", {\n id: \"Rectangle-8-Copy-150\",\n fill: \"#E6E6E6\",\n transform: \"translate(38.947106, 54.086333) rotate(-615.000000) translate(-38.947106, -54.086333) \",\n x: 36.9471064,\n y: 52.0863325,\n width: 4,\n height: 4,\n rx: 2\n }), /*#__PURE__*/React.createElement(\"g\", {\n id: \"Rectangle-5\"\n }, /*#__PURE__*/React.createElement(\"use\", {\n fill: \"#FFFFFF\",\n fillRule: \"evenodd\",\n xlinkHref: \"#path-3\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n stroke: \"#00A3E0\",\n strokeWidth: 4,\n d: \"M61.9999775,39.9998216 L61.9999686,39.9998059 C60.3431143,39.9998059 58.9999686,41.3429517 58.9999686,42.9998057 L58.9999843,157.468372 C58.9999843,159.125226 60.34313,160.468372 61.9999843,160.468372 L143.795424,160.468372 C145.452279,160.468372 146.795424,159.125226 146.795424,157.468372 L146.795424,68.7829265 C146.795424,67.678357 145.899994,66.7829265 144.795424,66.7829265 L123.789651,66.7829265 C119.923658,66.7829265 116.789651,63.6489197 116.789651,59.7829279 L116.789638,42 C116.789638,40.895433 115.894212,40.0000035 114.789644,40 L61.9999775,39.9998216 Z\"\n })), /*#__PURE__*/React.createElement(\"rect\", {\n id: \"Rectangle-8-Copy-126\",\n fill: \"#E6E6E6\",\n transform: \"translate(86.500000, 116.500000) rotate(-270.000000) translate(-86.500000, -116.500000) \",\n x: 84,\n y: 114,\n width: 5,\n height: 5,\n rx: 2.5\n }), /*#__PURE__*/React.createElement(\"rect\", {\n id: \"Rectangle-8-Copy-158\",\n fill: \"#E6E6E6\",\n transform: \"translate(87.500000, 101.500000) rotate(-270.000000) translate(-87.500000, -101.500000) \",\n x: 85,\n y: 99,\n width: 5,\n height: 5,\n rx: 2.5\n }), /*#__PURE__*/React.createElement(\"rect\", {\n id: \"Rectangle-8-Copy-162\",\n fill: \"#E6E6E6\",\n transform: \"translate(91.500000, 90.500000) rotate(-270.000000) translate(-91.500000, -90.500000) \",\n x: 89,\n y: 88,\n width: 5,\n height: 5,\n rx: 2.5\n }), /*#__PURE__*/React.createElement(\"rect\", {\n id: \"Rectangle-8-Copy-163\",\n fill: \"#E6E6E6\",\n transform: \"translate(104.500000, 87.500000) rotate(-270.000000) translate(-104.500000, -87.500000) \",\n x: 102,\n y: 85,\n width: 5,\n height: 5,\n rx: 2.5\n }), /*#__PURE__*/React.createElement(\"rect\", {\n id: \"Rectangle-8-Copy-164\",\n fill: \"#E6E6E6\",\n transform: \"translate(115.500000, 92.500000) rotate(-270.000000) translate(-115.500000, -92.500000) \",\n x: 113,\n y: 90,\n width: 5,\n height: 5,\n rx: 2.5\n }), /*#__PURE__*/React.createElement(\"rect\", {\n id: \"Rectangle-8-Copy-176\",\n fill: \"#E6E6E6\",\n transform: \"translate(98.500000, 133.500000) rotate(-270.000000) translate(-98.500000, -133.500000) \",\n x: 96,\n y: 131,\n width: 5,\n height: 5,\n rx: 2.5\n }), /*#__PURE__*/React.createElement(\"rect\", {\n id: \"Rectangle-8-Copy-177\",\n fill: \"#E6E6E6\",\n transform: \"translate(108.500000, 132.500000) rotate(-270.000000) translate(-108.500000, -132.500000) \",\n x: 106,\n y: 130,\n width: 5,\n height: 5,\n rx: 2.5\n }), /*#__PURE__*/React.createElement(\"rect\", {\n id: \"Rectangle-8-Copy-178\",\n fill: \"#E6E6E6\",\n transform: \"translate(121.500000, 116.500000) rotate(-270.000000) translate(-121.500000, -116.500000) \",\n x: 119,\n y: 114,\n width: 5,\n height: 5,\n rx: 2.5\n }), /*#__PURE__*/React.createElement(\"rect\", {\n id: \"Rectangle-8-Copy-179\",\n fill: \"#E6E6E6\",\n transform: \"translate(100.500000, 89.500000) rotate(-270.000000) translate(-100.500000, -89.500000) \",\n x: 98,\n y: 87,\n width: 5,\n height: 5,\n rx: 2.5\n }), /*#__PURE__*/React.createElement(\"rect\", {\n id: \"Rectangle-8-Copy-180\",\n fill: \"#E6E6E6\",\n transform: \"translate(84.500000, 100.500000) rotate(-270.000000) translate(-84.500000, -100.500000) \",\n x: 82,\n y: 98,\n width: 5,\n height: 5,\n rx: 2.5\n }), /*#__PURE__*/React.createElement(\"rect\", {\n id: \"Rectangle-8-Copy-165\",\n fill: \"#E6E6E6\",\n transform: \"translate(124.500000, 107.500000) rotate(-270.000000) translate(-124.500000, -107.500000) \",\n x: 122,\n y: 105,\n width: 5,\n height: 5,\n rx: 2.5\n }), /*#__PURE__*/React.createElement(\"rect\", {\n id: \"Rectangle-8-Copy-166\",\n fill: \"#E6E6E6\",\n transform: \"translate(87.500000, 126.500000) rotate(-270.000000) translate(-87.500000, -126.500000) \",\n x: 85,\n y: 124,\n width: 5,\n height: 5,\n rx: 2.5\n }), /*#__PURE__*/React.createElement(\"rect\", {\n id: \"Rectangle-8-Copy-135\",\n fill: \"#E6E6E6\",\n transform: \"translate(99.500000, 128.500000) rotate(-270.000000) translate(-99.500000, -128.500000) \",\n x: 97,\n y: 126,\n width: 5,\n height: 5,\n rx: 2.5\n }), /*#__PURE__*/React.createElement(\"rect\", {\n id: \"Rectangle-8-Copy-132\",\n fill: \"#E6E6E6\",\n transform: \"translate(79.500000, 101.500000) rotate(-270.000000) translate(-79.500000, -101.500000) \",\n x: 77,\n y: 99,\n width: 5,\n height: 5,\n rx: 2.5\n }), /*#__PURE__*/React.createElement(\"rect\", {\n id: \"Rectangle-8-Copy-151\",\n fill: \"#E6E6E6\",\n transform: \"translate(95.500000, 83.500000) rotate(-270.000000) translate(-95.500000, -83.500000) \",\n x: 93,\n y: 81,\n width: 5,\n height: 5,\n rx: 2.5\n }), /*#__PURE__*/React.createElement(\"rect\", {\n id: \"Rectangle-8-Copy-152\",\n fill: \"#E6E6E6\",\n transform: \"translate(113.500000, 83.500000) rotate(-270.000000) translate(-113.500000, -83.500000) \",\n x: 111,\n y: 81,\n width: 5,\n height: 5,\n rx: 2.5\n }), /*#__PURE__*/React.createElement(\"rect\", {\n id: \"Rectangle-8-Copy-153\",\n fill: \"#E6E6E6\",\n transform: \"translate(124.500000, 95.500000) rotate(-270.000000) translate(-124.500000, -95.500000) \",\n x: 122,\n y: 93,\n width: 5,\n height: 5,\n rx: 2.5\n }), /*#__PURE__*/React.createElement(\"rect\", {\n id: \"Rectangle-8-Copy-156\",\n fill: \"#E6E6E6\",\n transform: \"translate(119.500000, 111.500000) rotate(-270.000000) translate(-119.500000, -111.500000) \",\n x: 117,\n y: 109,\n width: 5,\n height: 5,\n rx: 2.5\n }), /*#__PURE__*/React.createElement(\"rect\", {\n id: \"Rectangle-8-Copy-154\",\n fill: \"#E6E6E6\",\n transform: \"translate(114.500000, 132.500000) rotate(-270.000000) translate(-114.500000, -132.500000) \",\n x: 112,\n y: 130,\n width: 5,\n height: 5,\n rx: 2.5\n }), /*#__PURE__*/React.createElement(\"rect\", {\n id: \"Rectangle-8-Copy-157\",\n fill: \"#E6E6E6\",\n transform: \"translate(115.500000, 124.500000) rotate(-270.000000) translate(-115.500000, -124.500000) \",\n x: 113,\n y: 122,\n width: 5,\n height: 5,\n rx: 2.5\n }), /*#__PURE__*/React.createElement(\"rect\", {\n id: \"Rectangle-8-Copy-155\",\n fill: \"#E6E6E6\",\n transform: \"translate(125.500000, 119.500000) rotate(-270.000000) translate(-125.500000, -119.500000) \",\n x: 123,\n y: 117,\n width: 5,\n height: 5,\n rx: 2.5\n }), /*#__PURE__*/React.createElement(\"rect\", {\n id: \"Rectangle-8-Copy-129\",\n fill: \"#E6E6E6\",\n transform: \"translate(79.500000, 111.500000) rotate(-270.000000) translate(-79.500000, -111.500000) \",\n x: 77,\n y: 109,\n width: 5,\n height: 5,\n rx: 2.5\n }), /*#__PURE__*/React.createElement(\"rect\", {\n id: \"Rectangle-8-Copy-128\",\n fill: \"#00A3E0\",\n transform: \"translate(82.500000, 123.500000) rotate(-270.000000) translate(-82.500000, -123.500000) \",\n x: 80,\n y: 121,\n width: 5,\n height: 5,\n rx: 2.5\n }), /*#__PURE__*/React.createElement(\"rect\", {\n id: \"Rectangle-8-Copy-134\",\n fill: \"#00A3E0\",\n transform: \"translate(91.500000, 123.500000) rotate(-270.000000) translate(-91.500000, -123.500000) \",\n x: 89,\n y: 121,\n width: 5,\n height: 5,\n rx: 2.5\n }), /*#__PURE__*/React.createElement(\"rect\", {\n id: \"Rectangle-8-Copy-131\",\n fill: \"#00A3E0\",\n transform: \"translate(86.500000, 106.500000) rotate(-270.000000) translate(-86.500000, -106.500000) \",\n x: 84,\n y: 104,\n width: 5,\n height: 5,\n rx: 2.5\n }), /*#__PURE__*/React.createElement(\"rect\", {\n id: \"Rectangle-8-Copy-172\",\n fill: \"#00A3E0\",\n transform: \"translate(79.500000, 104.500000) rotate(-270.000000) translate(-79.500000, -104.500000) \",\n x: 77,\n y: 102,\n width: 5,\n height: 5,\n rx: 2.5\n }), /*#__PURE__*/React.createElement(\"rect\", {\n id: \"Rectangle-8-Copy-167\",\n fill: \"#00A3E0\",\n transform: \"translate(84.500000, 113.500000) rotate(-270.000000) translate(-84.500000, -113.500000) \",\n x: 82,\n y: 111,\n width: 5,\n height: 5,\n rx: 2.5\n }), /*#__PURE__*/React.createElement(\"rect\", {\n id: \"Rectangle-8-Copy-174\",\n fill: \"#00A3E0\",\n transform: \"translate(115.500000, 131.500000) rotate(-270.000000) translate(-115.500000, -131.500000) \",\n x: 113,\n y: 129,\n width: 5,\n height: 5,\n rx: 2.5\n }), /*#__PURE__*/React.createElement(\"rect\", {\n id: \"Rectangle-8-Copy-175\",\n fill: \"#00A3E0\",\n transform: \"translate(110.500000, 83.500000) rotate(-270.000000) translate(-110.500000, -83.500000) \",\n x: 108,\n y: 81,\n width: 5,\n height: 5,\n rx: 2.5\n }), /*#__PURE__*/React.createElement(\"rect\", {\n id: \"Rectangle-8-Copy-173\",\n fill: \"#00A3E0\",\n transform: \"translate(79.500000, 118.500000) rotate(-270.000000) translate(-79.500000, -118.500000) \",\n x: 77,\n y: 116,\n width: 5,\n height: 5,\n rx: 2.5\n }), /*#__PURE__*/React.createElement(\"rect\", {\n id: \"Rectangle-8-Copy-168\",\n fill: \"#00A3E0\",\n transform: \"translate(97.500000, 128.500000) rotate(-270.000000) translate(-97.500000, -128.500000) \",\n x: 95,\n y: 126,\n width: 5,\n height: 5,\n rx: 2.5\n }), /*#__PURE__*/React.createElement(\"rect\", {\n id: \"Rectangle-8-Copy-169\",\n fill: \"#00A3E0\",\n transform: \"translate(120.500000, 122.500000) rotate(-270.000000) translate(-120.500000, -122.500000) \",\n x: 118,\n y: 120,\n width: 5,\n height: 5,\n rx: 2.5\n }), /*#__PURE__*/React.createElement(\"rect\", {\n id: \"Rectangle-8-Copy-170\",\n fill: \"#00A3E0\",\n transform: \"translate(124.500000, 97.500000) rotate(-270.000000) translate(-124.500000, -97.500000) \",\n x: 122,\n y: 95,\n width: 5,\n height: 5,\n rx: 2.5\n }), /*#__PURE__*/React.createElement(\"rect\", {\n id: \"Rectangle-8-Copy-171\",\n fill: \"#00A3E0\",\n transform: \"translate(98.500000, 84.500000) rotate(-270.000000) translate(-98.500000, -84.500000) \",\n x: 96,\n y: 82,\n width: 5,\n height: 5,\n rx: 2.5\n }), /*#__PURE__*/React.createElement(\"rect\", {\n id: \"Rectangle-8-Copy-133\",\n fill: \"#00A3E0\",\n transform: \"translate(91.500000, 131.500000) rotate(-270.000000) translate(-91.500000, -131.500000) \",\n x: 89,\n y: 129,\n width: 5,\n height: 5,\n rx: 2.5\n }), /*#__PURE__*/React.createElement(\"rect\", {\n id: \"Rectangle-8-Copy-136\",\n fill: \"#00A3E0\",\n transform: \"translate(104.500000, 133.500000) rotate(-270.000000) translate(-104.500000, -133.500000) \",\n x: 102,\n y: 131,\n width: 5,\n height: 5,\n rx: 2.5\n }), /*#__PURE__*/React.createElement(\"rect\", {\n id: \"Rectangle-8-Copy-137\",\n fill: \"#00A3E0\",\n transform: \"translate(109.500000, 127.500000) rotate(-270.000000) translate(-109.500000, -127.500000) \",\n x: 107,\n y: 125,\n width: 5,\n height: 5,\n rx: 2.5\n }), /*#__PURE__*/React.createElement(\"rect\", {\n id: \"Rectangle-8-Copy-138\",\n fill: \"#00A3E0\",\n transform: \"translate(122.500000, 126.500000) rotate(-270.000000) translate(-122.500000, -126.500000) \",\n x: 120,\n y: 124,\n width: 5,\n height: 5,\n rx: 2.5\n }), /*#__PURE__*/React.createElement(\"rect\", {\n id: \"Rectangle-8-Copy-139\",\n fill: \"#00A3E0\",\n transform: \"translate(118.500000, 117.500000) rotate(-270.000000) translate(-118.500000, -117.500000) \",\n x: 116,\n y: 115,\n width: 5,\n height: 5,\n rx: 2.5\n }), /*#__PURE__*/React.createElement(\"rect\", {\n id: \"Rectangle-8-Copy-140\",\n fill: \"#00A3E0\",\n transform: \"translate(126.500000, 113.500000) rotate(-270.000000) translate(-126.500000, -113.500000) \",\n x: 124,\n y: 111,\n width: 5,\n height: 5,\n rx: 2.5\n }), /*#__PURE__*/React.createElement(\"rect\", {\n id: \"Rectangle-8-Copy-141\",\n fill: \"#00A3E0\",\n transform: \"translate(119.500000, 105.500000) rotate(-270.000000) translate(-119.500000, -105.500000) \",\n x: 117,\n y: 103,\n width: 5,\n height: 5,\n rx: 2.5\n }), /*#__PURE__*/React.createElement(\"rect\", {\n id: \"Rectangle-8-Copy-142\",\n fill: \"#00A3E0\",\n transform: \"translate(126.500000, 102.500000) rotate(-270.000000) translate(-126.500000, -102.500000) \",\n x: 124,\n y: 100,\n width: 5,\n height: 5,\n rx: 2.5\n }), /*#__PURE__*/React.createElement(\"rect\", {\n id: \"Rectangle-8-Copy-143\",\n fill: \"#00A3E0\",\n transform: \"translate(118.500000, 97.500000) rotate(-270.000000) translate(-118.500000, -97.500000) \",\n x: 116,\n y: 95,\n width: 5,\n height: 5,\n rx: 2.5\n }), /*#__PURE__*/React.createElement(\"rect\", {\n id: \"Rectangle-8-Copy-144\",\n fill: \"#00A3E0\",\n transform: \"translate(119.500000, 88.500000) rotate(-270.000000) translate(-119.500000, -88.500000) \",\n x: 117,\n y: 86,\n width: 5,\n height: 5,\n rx: 2.5\n }), /*#__PURE__*/React.createElement(\"rect\", {\n id: \"Rectangle-8-Copy-145\",\n fill: \"#00A3E0\",\n transform: \"translate(109.500000, 89.500000) rotate(-270.000000) translate(-109.500000, -89.500000) \",\n x: 107,\n y: 87,\n width: 5,\n height: 5,\n rx: 2.5\n }), /*#__PURE__*/React.createElement(\"rect\", {\n id: \"Rectangle-8-Copy-146\",\n fill: \"#00A3E0\",\n transform: \"translate(104.500000, 82.500000) rotate(-270.000000) translate(-104.500000, -82.500000) \",\n x: 102,\n y: 80,\n width: 5,\n height: 5,\n rx: 2.5\n }), /*#__PURE__*/React.createElement(\"rect\", {\n id: \"Rectangle-8-Copy-147\",\n fill: \"#00A3E0\",\n transform: \"translate(97.500000, 89.500000) rotate(-270.000000) translate(-97.500000, -89.500000) \",\n x: 95,\n y: 87,\n width: 5,\n height: 5,\n rx: 2.5\n }), /*#__PURE__*/React.createElement(\"rect\", {\n id: \"Rectangle-8-Copy-148\",\n fill: \"#00A3E0\",\n transform: \"translate(87.500000, 86.500000) rotate(-270.000000) translate(-87.500000, -86.500000) \",\n x: 85,\n y: 84,\n width: 5,\n height: 5,\n rx: 2.5\n }), /*#__PURE__*/React.createElement(\"rect\", {\n id: \"Rectangle-8-Copy-149\",\n fill: \"#00A3E0\",\n transform: \"translate(90.500000, 95.500000) rotate(-270.000000) translate(-90.500000, -95.500000) \",\n x: 88,\n y: 93,\n width: 5,\n height: 5,\n rx: 2.5\n }), /*#__PURE__*/React.createElement(\"rect\", {\n id: \"Rectangle-8-Copy-150\",\n fill: \"#00A3E0\",\n transform: \"translate(82.500000, 94.500000) rotate(-270.000000) translate(-82.500000, -94.500000) \",\n x: 80,\n y: 92,\n width: 5,\n height: 5,\n rx: 2.5\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M116,40 L147,68\",\n id: \"Line\",\n stroke: \"#00A3E0\",\n strokeWidth: 4,\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n }), /*#__PURE__*/React.createElement(\"rect\", {\n id: \"Rectangle-8-Copy-15\",\n fill: \"#E6E6E6\",\n x: 67,\n y: 63,\n width: 44,\n height: 5,\n rx: 2.5\n }), /*#__PURE__*/React.createElement(\"rect\", {\n id: \"Rectangle-8-Copy-12\",\n fill: \"#E6E6E6\",\n x: 68,\n y: 148,\n width: 21,\n height: 5,\n rx: 2.5\n }), /*#__PURE__*/React.createElement(\"rect\", {\n id: \"Rectangle-8-Copy-13\",\n fill: \"#E6E6E6\",\n x: 108,\n y: 148,\n width: 31,\n height: 5,\n rx: 2.5\n }), /*#__PURE__*/React.createElement(\"rect\", {\n id: \"Rectangle-8-Copy-16\",\n fill: \"#00A3E0\",\n x: 68,\n y: 63,\n width: 14,\n height: 5,\n rx: 2.5\n }), /*#__PURE__*/React.createElement(\"rect\", {\n id: \"Rectangle-8-Copy-24\",\n fill: \"#00A3E0\",\n x: 119,\n y: 148,\n width: 16,\n height: 5,\n rx: 2.5\n })))));\n}\nconst ForwardRef = /*#__PURE__*/React.forwardRef(SvgEmptyStateVisuals);\nexport default __webpack_public_path__ + \"static/media/empty_state_visuals.ac872b198e970a8e7be38c189e61c267.svg\";\nexport { ForwardRef as ReactComponent };","import PropTypes from 'prop-types';\r\nimport React, { Component } from 'react';\r\nimport ReactTooltip from 'react-tooltip';\r\n\r\nimport Header from 'containers/header/header';\r\nimport { withRouter } from 'react-router';\r\nimport VisualsHeader from 'components/visuals/visuals-header';\r\nimport VisualsDocumentList from 'components/visuals/visuals-document-list';\r\nimport VisualsDocuments from 'components/visuals/visuals-documents';\r\nimport VisualsExtractionFields from 'components/visuals/visuals-extraction-fields';\r\nimport * as api from 'store/api';\r\nimport { FormattedMessage } from 'react-intl';\r\nimport EmptyState from '../file-browser/file-list/empty-state';\r\nimport emptyStateImage from 'images/empty_state_visuals.svg';\r\nimport { Link } from 'react-router-dom';\r\nimport LoadingOverlay from 'components/shared/loading/light';\r\nimport dateUtil from 'utils/dateUtil';\r\nimport socket, { rooms } from 'utils/socket';\r\n\r\nimport setUtil from 'utils/setUtil';\r\n\r\nimport Permissions from 'permissions/permissions';\r\n\r\nconst ALL_TEMPLATES_OPTION = {\r\n projectTemplateId: -1,\r\n name: \r\n};\r\n\r\nconst CLUSTER_STATE_IDS = {\r\n STARTED: 1,\r\n IN_PROGRESS: 2,\r\n COMPLETED: 3,\r\n ERROR: 4\r\n};\r\n\r\nclass VisualsPage extends Component {\r\n static propTypes = {\r\n currentProject: PropTypes.object,\r\n projectId: PropTypes.string.isRequired\r\n };\r\n\r\n defaultFilters = {\r\n selectedDocumentIdSet: new Set(),\r\n additionalSelectedDocumentIdSet: new Set(),\r\n activeExtraction: undefined,\r\n thresholdRange: { min: 0, max: 1 },\r\n activeTemplate: ALL_TEMPLATES_OPTION,\r\n searchText: '',\r\n noExtractions: false\r\n };\r\n\r\n state = {\r\n ...this.defaultFilters,\r\n documents: [],\r\n templates: [],\r\n loading: true,\r\n extractionMap: new Map(),\r\n extractionIdsByTemplate: new Map(),\r\n lastUpdatedDate: undefined,\r\n stateId: null,\r\n projectHasDocuments: false\r\n };\r\n\r\n visualsRoom = null;\r\n\r\n componentDidMount() {\r\n const { projectId } = this.props;\r\n\r\n this.visualsRoom = rooms.visuals(projectId);\r\n socket.join(this.visualsRoom);\r\n socket.on('update', this.handleVisualsUpdatedEvent);\r\n\r\n Promise.all([this.requestDocuments(), api.getTemplates({ projectId })])\r\n .then(([docData, { data: templates }]) => {\r\n var processedDocuments =\r\n docData.clusters === null\r\n ? []\r\n : docData.clusters.map(doc => ({\r\n ...doc,\r\n extractionRecords: doc.extractionRecords || []\r\n }));\r\n var convertedDate = docData.projectClusterId ? dateUtil.fromServerDate(docData.lastUpdatedDateTime) : undefined;\r\n\r\n this.setState({\r\n documents: processedDocuments,\r\n stateId: docData.projectClusterStateId,\r\n lastUpdatedDate: convertedDate,\r\n templates: templates,\r\n projectHasDocuments: docData && docData.totalDocuments > 0\r\n });\r\n\r\n setTimeout(() => {\r\n this.getExtractionMaps();\r\n }, 0);\r\n })\r\n .catch(() => this.setState({ loading: false }));\r\n }\r\n\r\n componentWillUnmount() {\r\n socket.leave(this.visualsRoom);\r\n socket.off('update', this.handleVisualsUpdatedEvent);\r\n }\r\n\r\n handleVisualsUpdatedEvent = msg => {\r\n if (msg.room === this.visualsRoom) {\r\n const stateId = msg.data.stateId;\r\n\r\n this.setState({\r\n stateId\r\n });\r\n\r\n if (stateId === CLUSTER_STATE_IDS.COMPLETED) {\r\n this.requestDocuments().then(data =>\r\n this.setState(\r\n {\r\n documents: data.clusters?.map(doc => ({ ...doc, extractionRecords: doc.extractionRecords || [] })),\r\n lastUpdatedDate: dateUtil.fromServerDate(data.lastUpdatedDateTime),\r\n stateId: data.projectClusterStateId\r\n },\r\n () => {\r\n this.getExtractionMaps();\r\n }\r\n )\r\n );\r\n }\r\n }\r\n };\r\n\r\n getExtractionMaps = () => {\r\n const { projectId } = this.props;\r\n const { templates } = this.state;\r\n\r\n Promise.all(templates.map(t => api.getProjectTemplateExtractionFields(projectId, t.projectTemplateId))).then(\r\n templateDetailsResponses => {\r\n const extractionMap = new Map();\r\n const extractionIdsByTemplate = new Map();\r\n templateDetailsResponses.forEach(({ data: templateDetails }) => {\r\n const extractionIds = new Set();\r\n extractionIdsByTemplate.set(templateDetails.templates[0].projectTemplateId, extractionIds);\r\n templateDetails.fields.forEach(extraction => {\r\n extractionIds.add(extraction.extractionFieldId);\r\n extractionMap.set(extraction.extractionFieldId, extraction);\r\n });\r\n });\r\n\r\n this.setState({ extractionIdsByTemplate, extractionMap, loading: false });\r\n }\r\n );\r\n };\r\n\r\n requestDocuments = () => api.getClusterDocuments(this.props.projectId);\r\n\r\n regenerateVisuals = () => {\r\n const { projectId } = this.props;\r\n\r\n this.setState({\r\n stateId: CLUSTER_STATE_IDS.STARTED\r\n });\r\n api.processCluster(projectId);\r\n };\r\n\r\n filterDocumentsBySearch(documents, searchText) {\r\n return documents.filter(d => !searchText || d.name.toLowerCase().includes(searchText.toLowerCase()));\r\n }\r\n\r\n setSelectedDocumentIdSet = documentIdSet => {\r\n this.setState({\r\n selectedDocumentIdSet: documentIdSet\r\n });\r\n };\r\n\r\n setAdditionalSelectedDocumentIdSet = documentIdSet => {\r\n this.setState({\r\n additionalSelectedDocumentIdSet: documentIdSet\r\n });\r\n };\r\n\r\n setSearchText = searchText => {\r\n this.setState({ searchText });\r\n };\r\n\r\n setTemplate = activeTemplate => {\r\n this.setState({ activeTemplate });\r\n };\r\n\r\n setThresholdRange = thresholdRange => {\r\n this.setState({ thresholdRange });\r\n };\r\n\r\n setExtractionField = extraction => {\r\n const { activeExtraction } = this.state;\r\n const selectExtraction = activeExtraction !== extraction;\r\n\r\n if (selectExtraction) {\r\n this.setState({\r\n activeExtraction: extraction\r\n });\r\n } else {\r\n this.setState({\r\n activeExtraction: undefined\r\n });\r\n }\r\n };\r\n\r\n toggleNoExtractions = () => {\r\n this.setState({ noExtractions: !this.state.noExtractions });\r\n };\r\n\r\n resetFilters = () => {\r\n this.setState(this.defaultFilters);\r\n };\r\n\r\n getFilteredDocs = () => {\r\n const {\r\n documents,\r\n selectedDocumentIdSet,\r\n additionalSelectedDocumentIdSet,\r\n activeExtraction,\r\n activeTemplate,\r\n thresholdRange,\r\n searchText,\r\n noExtractions\r\n } = this.state;\r\n\r\n const allSelectedDocumentIdSet = setUtil.union(selectedDocumentIdSet, additionalSelectedDocumentIdSet);\r\n\r\n const filterBySelection = !!allSelectedDocumentIdSet.size;\r\n const filterByExtraction = !!activeExtraction;\r\n const filterByTemplate = activeTemplate !== ALL_TEMPLATES_OPTION;\r\n\r\n let filteredDocs = documents || [];\r\n\r\n if (filterByTemplate) {\r\n filteredDocs = filteredDocs.filter(d => d.projectTemplateId === activeTemplate.projectTemplateId);\r\n }\r\n\r\n const showEmptyState = filteredDocs.length === 0;\r\n\r\n if (!showEmptyState) {\r\n if (filterBySelection) {\r\n filteredDocs = filteredDocs.filter(d => allSelectedDocumentIdSet.has(d.id));\r\n }\r\n\r\n if (noExtractions) {\r\n if (filterByExtraction) {\r\n filteredDocs = filteredDocs.filter(d => !d.extractionRecords[activeExtraction.id]);\r\n } else {\r\n filteredDocs = filteredDocs.filter(d => Object.keys(d.extractionRecords).length === 0);\r\n }\r\n } else {\r\n if (filterByExtraction) {\r\n filteredDocs = filteredDocs.filter(d => d.extractionRecords[activeExtraction.id]);\r\n }\r\n }\r\n\r\n filteredDocs = filteredDocs.filter(d => d.density <= thresholdRange.max && d.density >= thresholdRange.min);\r\n\r\n filteredDocs = this.filterDocumentsBySearch(filteredDocs, searchText);\r\n }\r\n\r\n return { filteredDocs, showEmptyState };\r\n };\r\n\r\n render() {\r\n const { currentProject, projectId } = this.props;\r\n\r\n const {\r\n activeExtraction,\r\n activeTemplate,\r\n additionalSelectedDocumentIdSet,\r\n documents,\r\n extractionMap,\r\n lastUpdatedDate,\r\n loading,\r\n noExtractions,\r\n searchText,\r\n selectedDocumentIdSet,\r\n templates,\r\n thresholdRange,\r\n stateId,\r\n projectHasDocuments\r\n } = this.state;\r\n\r\n let allDocuments = documents || [];\r\n let { filteredDocs, showEmptyState } = this.getFilteredDocs();\r\n\r\n const allSelectedDocumentIdSet = setUtil.union(selectedDocumentIdSet, additionalSelectedDocumentIdSet);\r\n const visualsRegenerating = stateId === CLUSTER_STATE_IDS.STARTED || stateId === CLUSTER_STATE_IDS.IN_PROGRESS;\r\n\r\n return (\r\n
\r\n
\r\n {loading && }\r\n {!loading && (\r\n
\r\n \r\n
\r\n
\r\n {!showEmptyState && (\r\n
\r\n \r\n \r\n
\r\n )}\r\n {showEmptyState && (\r\n
\r\n \r\n }\r\n description={''}\r\n img={emptyStateImage}\r\n >\r\n \r\n \r\n \r\n \r\n\r\n {Permissions.Project.Visualization.canEdit() && !visualsRegenerating && (\r\n \r\n {' '}\r\n {' '}\r\n !visualsRegenerating && this.regenerateVisuals()}\r\n >\r\n \r\n \r\n \r\n )}\r\n \r\n \r\n
\r\n )}\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n )}\r\n \r\n
\r\n );\r\n }\r\n}\r\n\r\nexport default withRouter(VisualsPage);\r\n","import { connect } from 'react-redux';\r\n\r\nimport VisualsPage from 'components/visuals/visuals';\r\n\r\nconst mapStateToProps = ({ data: { currentProject } }) => ({\r\n currentProject\r\n});\r\n\r\nconst mapDispatchToProps = {};\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(VisualsPage);\r\n","import PropTypes from 'prop-types';\r\nimport React, { Component } from 'react';\r\nimport ReactTooltip from 'react-tooltip';\r\n\r\nimport VisualsContainer from 'containers/visuals/visuals';\r\nimport NotificationsContainer from 'containers/shared/notifications-container';\r\n\r\nimport Permissions from 'permissions/permissions';\r\nimport history from 'utils/history';\r\n\r\nclass VisualsPage extends Component {\r\n static propTypes = {\r\n match: PropTypes.object.isRequired\r\n };\r\n\r\n UNSAFE_componentWillMount() {\r\n if (!Permissions.Project.Visualization.canView()) {\r\n history.push('/');\r\n }\r\n }\r\n\r\n render() {\r\n const { projectId } = this.props.match.params;\r\n\r\n return (\r\n
\r\n \r\n \r\n \r\n
\r\n );\r\n }\r\n}\r\n\r\nexport default VisualsPage;\r\n","import { FormattedMessage } from 'react-intl';\r\nimport { Link } from 'react-router-dom';\r\nimport { withRouter } from 'react-router';\r\nimport PropTypes from 'prop-types';\r\nimport React, { Component } from 'react';\r\nimport ReactTooltip from 'react-tooltip';\r\nimport enhanceWithClickOutside from 'react-click-outside';\r\nimport { getCurrentRegion, getExtractionRecordMetadata } from 'store/api';\r\n\r\n/** Shows XF records' actual text */\r\nconst AnalyticsPopupData = ({ array, link }) => {\r\n return array.map((data, idx) => {\r\n return (\r\n
\r\n \r\n {data.extractFieldInstanceData}\r\n \r\n
\r\n );\r\n });\r\n};\r\n\r\n/** Popup for displaying the XF record */\r\nclass Popup extends Component {\r\n static propTypes = {\r\n content: PropTypes.any,\r\n link: PropTypes.string,\r\n onClickOutside: PropTypes.func\r\n };\r\n\r\n state = {\r\n data: this.props.content\r\n };\r\n\r\n componentDidUpdate(prevProps) {\r\n if (prevProps.content !== this.props.content) {\r\n this.setState({ data: this.props.content });\r\n }\r\n }\r\n\r\n handleClickOutside = () => {\r\n this.props.onClickOutside && this.props.onClickOutside();\r\n };\r\n\r\n render() {\r\n return (\r\n
(this.popup = el)}>\r\n \r\n
\r\n );\r\n }\r\n}\r\n\r\nconst AnalyticsPopup = enhanceWithClickOutside(Popup);\r\n\r\n/** Main analytics chart containing table data */\r\nclass AnalyticsChart extends Component {\r\n static propTypes = {\r\n currentProject: PropTypes.object,\r\n getDocumentResults: PropTypes.func,\r\n onSelectCategory: PropTypes.func,\r\n docReports: PropTypes.array.isRequired,\r\n extractions: PropTypes.array.isRequired,\r\n projectId: PropTypes.string.isRequired,\r\n projectTemplateId: PropTypes.any\r\n };\r\n\r\n state = {\r\n selectedColumn: null,\r\n recordMetadata: null,\r\n showPopup: null,\r\n isScrolling: false\r\n };\r\n\r\n componentDidMount() {\r\n // If the browser does not support position sticky, we are going to manually translate scroll position\r\n if (CSS && !CSS.supports('position', 'sticky')) {\r\n this.onTableScroll();\r\n }\r\n }\r\n\r\n componentDidUpdate(prevProps) {\r\n if (prevProps.extractions !== this.props.extractions && prevProps.docReports !== this.props.docReports) {\r\n // If the browser does not support position sticky, we are going to manually translate scroll position\r\n if (CSS && !CSS.supports('position', 'sticky')) {\r\n this.onTableScroll();\r\n }\r\n }\r\n }\r\n\r\n // Method for non position sticky compatible browsers\r\n onTableScroll = () => {\r\n // Get left columns, top headers and container to translate\r\n const container = document.querySelector('.analytics-chart__table-wrapper');\r\n const leftColumn = [].concat.apply([], document.querySelectorAll('.analytics-chart__name-cell'));\r\n const topHeaders = [].concat.apply([], document.querySelectorAll('thead th'));\r\n const translate = (x, y) => 'translate(' + x + 'px, ' + y + 'px)';\r\n\r\n if (container) {\r\n // Set to scrolling and change position to relative\r\n this.setState({ isScrolling: true });\r\n leftColumn.forEach(left => (left.style.position = 'relative'));\r\n topHeaders.forEach(top => (top.style.position = 'relative'));\r\n\r\n // Add listener and translate the position of the headers and column as we scroll\r\n container.addEventListener('scroll', e => {\r\n let x = container.scrollLeft;\r\n let y = container.scrollTop;\r\n\r\n leftColumn.forEach(left => (left.style.transform = translate(x, 0)));\r\n topHeaders.forEach(top => (top.style.transform = translate(0, y)));\r\n });\r\n }\r\n };\r\n\r\n componentWillUnmount() {\r\n if (this.state.isScrolling) {\r\n document.querySelector('.analytics-chart__table-wrapper').removeEventListener('scroll', this.onTableScroll);\r\n }\r\n }\r\n\r\n onSelectRow = idx => {\r\n if (idx === this.state.selectedColumn) {\r\n return this.setState({ selectedColumn: null });\r\n }\r\n return this.setState({ selectedColumn: idx });\r\n };\r\n\r\n getExtractionCount(docReport, extraction) {\r\n const extractionRecords = docReport.extractionRecords || {};\r\n\r\n if (extractionRecords[extraction.extractionFieldId]) {\r\n return
{extractionRecords[extraction.extractionFieldId]}
;\r\n\r\n //If the extraction is private\r\n } else if (extraction.accessTypeId === 2) {\r\n return
;\r\n } else {\r\n return
;\r\n }\r\n }\r\n\r\n // Helper function that basically takes a long string and divides into chunks of new lines\r\n // So we can display tooltip in multilines\r\n insertNewLines = (text, size) => {\r\n if (!text || text.length <= size) {\r\n return text;\r\n }\r\n\r\n return text\r\n .match(new RegExp('.{1,' + size + '}', 'g'))\r\n .map(chunk => chunk.concat('\\n'))\r\n .join('');\r\n };\r\n\r\n // Meta data helper fn that gets the actual text of the XF record\r\n getExtractionMetadata = (docReport, extraction) => {\r\n const { projectId } = this.props;\r\n const { recordMetadata } = this.state;\r\n\r\n const isRecordPresent = recordMetadata\r\n ? recordMetadata.find(value =>\r\n value[docReport.projectItemId] ? value[docReport.projectItemId][extraction.extractionFieldId] : false\r\n )\r\n : null;\r\n\r\n if (!docReport.extractionRecords || !docReport.extractionRecords[extraction.extractionFieldId]) {\r\n return;\r\n }\r\n if (isRecordPresent) {\r\n return this.setState({\r\n showPopup: {\r\n [docReport.projectItemId]: {\r\n [extraction.extractionFieldId]: true\r\n }\r\n }\r\n });\r\n }\r\n\r\n return getExtractionRecordMetadata({\r\n projectId,\r\n documentId: docReport.projectItemId,\r\n extractionFieldId: extraction.extractionFieldId\r\n }).then(res => {\r\n const records = recordMetadata || [];\r\n this.setState({\r\n recordMetadata: records.concat({ [docReport.projectItemId]: { [extraction.extractionFieldId]: res.data } }),\r\n showPopup: {\r\n [docReport.projectItemId]: {\r\n [extraction.extractionFieldId]: true\r\n }\r\n }\r\n });\r\n });\r\n };\r\n\r\n searchForExtractionField = (extractionField, index) => {\r\n const { onSelectCategory, getDocumentResults, projectId, projectTemplateId } = this.props;\r\n\r\n onSelectCategory({\r\n key: 'analyticsSeach',\r\n data: {\r\n extractionFieldIds: [extractionField.extractionFieldId],\r\n templateIds: projectTemplateId\r\n }\r\n });\r\n getDocumentResults({\r\n projectId,\r\n pageNum: 1,\r\n extractionFieldIds: [extractionField.extractionFieldId],\r\n templateIds: projectTemplateId\r\n });\r\n };\r\n\r\n render() {\r\n const { extractions, docReports, projectId } = this.props;\r\n const { selectedColumn, recordMetadata, showPopup } = this.state;\r\n\r\n return (\r\n
\r\n {extractions.length > 0 && docReports.length > 0 && (\r\n
\r\n \r\n \r\n \r\n \r\n ))}\r\n \r\n \r\n\r\n \r\n {docReports.map(docReport => (\r\n \r\n \r\n {extractions.map((extraction, yIndex) => {\r\n const isRecordPresent = recordMetadata\r\n ? recordMetadata.find(value =>\r\n value[docReport.projectItemId]\r\n ? value[docReport.projectItemId][extraction.extractionFieldId]\r\n : false\r\n )\r\n : null;\r\n const data = isRecordPresent\r\n ? isRecordPresent[docReport.projectItemId][extraction.extractionFieldId]\r\n : null;\r\n const showData =\r\n showPopup &&\r\n showPopup[docReport.projectItemId] &&\r\n showPopup[docReport.projectItemId][extraction.extractionFieldId];\r\n\r\n const documentLink = `/region/${getCurrentRegion()}/project/${projectId}/document/${\r\n docReport.projectItemId\r\n }`;\r\n return (\r\n this.getExtractionMetadata(docReport, extraction)}\r\n >\r\n {this.getExtractionCount(docReport, extraction)}\r\n\r\n {showData ? (\r\n \r\n this.setState({\r\n showPopup: {\r\n [docReport.projectItemId]: { [extraction.extractionFieldId]: false }\r\n }\r\n })\r\n }\r\n />\r\n ) : null}\r\n \r\n );\r\n })}\r\n \r\n ))}\r\n \r\n
\r\n {extractions.map((extraction, i) => (\r\n {\r\n this.onSelectRow(i);\r\n this.searchForExtractionField(extraction, i);\r\n }}\r\n data-tip\r\n data-for={`extraction-name-${extraction.extractionFieldId}`}\r\n >\r\n
{extraction.extractionFieldName}
\r\n \r\n \r\n {this.insertNewLines(extraction.extractionFieldName, 30)}\r\n \r\n \r\n
\r\n \r\n {docReport.name}\r\n \r\n
\r\n
\r\n )}\r\n\r\n {extractions.length > 0 && docReports.length > 0 && (\r\n
\r\n \r\n
\r\n )}\r\n\r\n {extractions.length > 0 && docReports.length > 0 &&
}\r\n
\r\n );\r\n }\r\n}\r\n\r\nexport default withRouter(AnalyticsChart);\r\n","import { connect } from 'react-redux';\r\n\r\nimport { getDocumentResults } from 'store/search/search-results';\r\nimport { onSelectCategory } from 'store/search/search-category';\r\n\r\nimport AnalyticsChart from 'components/analytics/analytics-chart';\r\n\r\nconst mapStateToProps = ({ data: { currentProject, search } }) => ({\r\n currentProject,\r\n search\r\n});\r\n\r\nconst mapDispatchToProps = { getDocumentResults, onSelectCategory };\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(AnalyticsChart);\r\n","import PropTypes from 'prop-types';\r\nimport React, { Component } from 'react';\r\nimport { FormattedMessage } from 'react-intl';\r\nimport Icon from 'components/shared/icon';\r\nimport Checkbox from 'components/shared/form/checkbox';\r\n\r\nclass AnalyticsSettings extends Component {\r\n static propTypes = {\r\n apply: PropTypes.func.isRequired,\r\n cancel: PropTypes.func.isRequired,\r\n extractions: PropTypes.array.isRequired,\r\n setSortAscending: PropTypes.func.isRequired,\r\n visibleExtractionIdsSet: PropTypes.object.isRequired\r\n };\r\n\r\n constructor(props) {\r\n super(props);\r\n\r\n this.state = { selectedExtractionIdsSet: new Set(props.visibleExtractionIdsSet) };\r\n }\r\n\r\n getAllColumnsCheckedStatus = () => {\r\n const { selectedExtractionIdsSet } = this.state;\r\n const { extractions } = this.props;\r\n\r\n if (extractions?.length === selectedExtractionIdsSet?.size) {\r\n return 'checked';\r\n } else if (selectedExtractionIdsSet?.size === 0) {\r\n return 'unchecked';\r\n } else {\r\n return 'indeterminate';\r\n }\r\n };\r\n\r\n toggleExtraction = extraction => {\r\n const selectedExtractionIdsSet = new Set(this.state.selectedExtractionIdsSet);\r\n if (selectedExtractionIdsSet.has(extraction.extractionFieldId)) {\r\n selectedExtractionIdsSet.delete(extraction.extractionFieldId);\r\n } else {\r\n selectedExtractionIdsSet.add(extraction.extractionFieldId);\r\n }\r\n\r\n this.setState({ selectedExtractionIdsSet });\r\n };\r\n\r\n toggleAllExtractions = () => {\r\n if (this.getAllColumnsCheckedStatus() === 'unchecked') {\r\n const extractionIds = this.props.extractions?.map(e => e.extractionFieldId);\r\n this.setState({ selectedExtractionIdsSet: new Set(extractionIds) });\r\n } else {\r\n this.setState({ selectedExtractionIdsSet: new Set() });\r\n }\r\n };\r\n\r\n setSortOrder = ascending => {\r\n this.props.setSortAscending(ascending);\r\n this.props.cancel();\r\n };\r\n\r\n render() {\r\n const { cancel, apply, extractions } = this.props;\r\n const { selectedExtractionIdsSet } = this.state;\r\n\r\n return (\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
this.setSortOrder(true)}>\r\n \r\n
\r\n
this.setSortOrder(false)}>\r\n \r\n
\r\n
\r\n
\r\n
    \r\n
  • \r\n \r\n
    \r\n \r\n
    \r\n
  • \r\n {extractions?.map(extraction => (\r\n this.toggleExtraction(extraction)}\r\n >\r\n this.toggleExtraction(extraction)}\r\n />\r\n
    {extraction.extractionFieldName}
    \r\n \r\n ))}\r\n
\r\n
\r\n
\r\n \r\n apply(selectedExtractionIdsSet)}\r\n className=\"btn btn-primary btn-no-margin btn-xsmall\"\r\n >\r\n \r\n \r\n
\r\n
\r\n
\r\n );\r\n }\r\n}\r\n\r\nexport default AnalyticsSettings;\r\n","import PropTypes from 'prop-types';\r\nimport React, { Component } from 'react';\r\nimport Dropdown from 'components/shared/form/dropdown';\r\nimport ToolbarIcon from 'components/shared/toolbar-icon/toolbar-icon';\r\nimport { FormattedMessage } from 'react-intl';\r\nimport AnalyticsSettings from 'components/analytics/analytics-settings';\r\nimport Checkbox from 'components/shared/form/checkbox';\r\n\r\nclass AnalyticsHeader extends Component {\r\n static propTypes = {\r\n currentProject: PropTypes.object,\r\n extractions: PropTypes.array.isRequired,\r\n onExportClick: PropTypes.func.isRequired,\r\n onShowDocsWithNoRecords: PropTypes.func.isRequired,\r\n selectTemplate: PropTypes.func.isRequired,\r\n selectedTemplate: PropTypes.object.isRequired,\r\n setSortAscending: PropTypes.func.isRequired,\r\n setVisibleExtractionIdsSet: PropTypes.func.isRequired,\r\n showDocsWithNoRecords: PropTypes.bool.isRequired,\r\n templates: PropTypes.array.isRequired,\r\n visibleExtractionIdsSet: PropTypes.object.isRequired\r\n };\r\n\r\n state = {\r\n showSettingsPopup: false\r\n };\r\n\r\n openSettings = () => {\r\n this.setState({ showSettingsPopup: true });\r\n };\r\n\r\n cancelSettings = () => {\r\n this.setState({ showSettingsPopup: false });\r\n };\r\n\r\n applySettings = visibleExtractionIdsSet => {\r\n this.setState({ showSettingsPopup: false });\r\n this.props.setVisibleExtractionIdsSet(visibleExtractionIdsSet);\r\n };\r\n\r\n render() {\r\n const {\r\n currentProject,\r\n extractions,\r\n onExportClick,\r\n onShowDocsWithNoRecords,\r\n selectTemplate,\r\n selectedTemplate,\r\n setSortAscending,\r\n showDocsWithNoRecords,\r\n templates,\r\n visibleExtractionIdsSet\r\n } = this.props;\r\n const { showSettingsPopup } = this.state;\r\n\r\n const checkboxState = showDocsWithNoRecords ? 'checked' : 'unchecked';\r\n\r\n return (\r\n
\r\n
\r\n

\r\n \r\n

\r\n
{currentProject.projectName}
\r\n
\r\n (\r\n \r\n {template.name}\r\n \r\n )}\r\n onSelection={selectTemplate}\r\n />\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n {showSettingsPopup ? (\r\n \r\n ) : null}\r\n \r\n
\r\n\r\n \r\n
\r\n );\r\n }\r\n}\r\n\r\nexport default AnalyticsHeader;\r\n","import { withRouter } from 'react-router';\r\nimport Header from 'containers/header/header';\r\nimport PropTypes from 'prop-types';\r\nimport React, { Component } from 'react';\r\nimport { FormattedMessage, injectIntl, intlShape } from 'react-intl';\r\nimport moment from 'moment';\r\n\r\nimport * as api from 'store/api';\r\nimport AnalyticsChart from 'containers/analytics/analytics-chart-container';\r\nimport AnalyticsHeader from 'components/analytics/analytics-header';\r\nimport dateUtil from 'utils/dateUtil';\r\nimport EmptyState from 'components/file-browser/file-list/empty-state';\r\nimport ExportSidebarContainer from 'containers/shared/export-sidebar-container';\r\nimport LoadingOverlay from 'components/shared/loading/light';\r\n\r\nimport emptyStateImage from 'images/empty_state_comp_01.svg';\r\nimport emptySearchImage from 'images/empty_state_no_result_found.svg';\r\n\r\nclass AnalyticsPage extends Component {\r\n static propTypes = {\r\n currentProject: PropTypes.object.isRequired,\r\n intl: intlShape.isRequired,\r\n projectId: PropTypes.string.isRequired,\r\n search: PropTypes.object.isRequired\r\n };\r\n\r\n state = {\r\n docReports: undefined,\r\n extractionsByTemplate: undefined,\r\n isExportSidebarShown: false,\r\n isSearching: false,\r\n loading: true,\r\n selectedTemplate: undefined,\r\n sortAscending: true,\r\n showDocsWithNoRecords: false,\r\n templates: undefined,\r\n visibleExtractionIdsSet: new Set()\r\n };\r\n\r\n componentDidMount() {\r\n this.loadData();\r\n }\r\n\r\n loadData = () => {\r\n Promise.all([this.loadAnalyticsReport(), this.loadTemplates()])\r\n .then(() => {\r\n this.setState({ loading: false });\r\n })\r\n .catch(error => {\r\n console.error('Failed to load analytics chart data', error);\r\n });\r\n };\r\n\r\n componentDidUpdate(prevProps, prevState) {\r\n const { selectedTemplate, extractionsByTemplate } = this.state;\r\n if (\r\n selectedTemplate &&\r\n extractionsByTemplate &&\r\n (prevState.selectedTemplate !== selectedTemplate || prevState.extractionsByTemplate !== extractionsByTemplate)\r\n ) {\r\n const currentVisibleExtractions = this.getCurrentlyVisibleExtractions();\r\n this.setVisibleExtractionIdsSet(\r\n currentVisibleExtractions\r\n ? new Set(currentVisibleExtractions)\r\n : this.getAllExtractionIdsSet(selectedTemplate, extractionsByTemplate)\r\n );\r\n const sortAscending = this.getSortOrder();\r\n this.setSortOrder(sortAscending === undefined ? true : sortAscending);\r\n }\r\n }\r\n\r\n getCurrentlyVisibleExtractions = () => {\r\n const visibleExtractionIdsSet = this.getVisibleExtractionIdsSet();\r\n const currentExtractions = this.getExtractions();\r\n return (visibleExtractionIdsSet\r\n ? currentExtractions.filter(extraction => {\r\n const storedEf = visibleExtractionIdsSet.filter(\r\n ({ extractionFieldId }) => extractionFieldId === extraction.extractionFieldId\r\n )[0];\r\n return storedEf ? storedEf.isVisible : true;\r\n })\r\n : visibleExtractionIdsSet\r\n ).map(({ extractionFieldId }) => extractionFieldId);\r\n };\r\n\r\n loadAnalyticsReport = () => {\r\n const { projectId } = this.props;\r\n return api.getAnalyticsReport({ projectId }).then(docReports => {\r\n this.setState({ docReports });\r\n });\r\n };\r\n\r\n loadTemplates = () => {\r\n const { projectId } = this.props;\r\n return api.getTemplates({ projectId }).then(this.onLoadTemplatesSuccess);\r\n };\r\n\r\n onLoadTemplatesSuccess = templateData => {\r\n const { projectId } = this.props;\r\n const templates = templateData.data;\r\n let storedTemplate = Number(sessionStorage.getItem('selected-template'));\r\n let storedTemplateProject = Number(sessionStorage.getItem('selected-template-projectId'));\r\n var currentTemplate = templates[0];\r\n if (storedTemplate && storedTemplateProject && projectId == storedTemplateProject) {\r\n currentTemplate = templates.find(template => template.projectTemplateId == storedTemplate);\r\n }\r\n this.setState({ templates, selectedTemplate: currentTemplate });\r\n return this.loadTemplateDetails(templates).then(this.onLoadTemplateDetailsSuccess);\r\n };\r\n\r\n loadTemplateDetails = templates => {\r\n const { projectId } = this.props;\r\n return Promise.all(templates.map(t => api.getProjectTemplateExtractionFields(projectId, t.projectTemplateId)));\r\n };\r\n\r\n onLoadTemplateDetailsSuccess = templateDetailsResponses => {\r\n const extractionsByTemplate = new Map();\r\n // Clean up responses by their corresponding template id and XFs\r\n templateDetailsResponses.forEach(({ data: templateDetails }) => {\r\n const extractions = [];\r\n extractionsByTemplate.set(templateDetails.templates[0].projectTemplateId, extractions);\r\n templateDetails.fields.forEach(extraction => extractions.push(extraction));\r\n });\r\n this.setState({ extractionsByTemplate });\r\n };\r\n\r\n selectTemplate = selectedTemplate => {\r\n const { projectId } = this.props;\r\n sessionStorage.setItem('selected-template', selectedTemplate.projectTemplateId);\r\n sessionStorage.setItem('selected-template-name', selectedTemplate.name);\r\n sessionStorage.setItem('selected-template-projectId', projectId);\r\n this.setState({ selectedTemplate });\r\n };\r\n\r\n getAllExtractionIdsSet = (selectedTemplate, extractionsByTemplate) => {\r\n const extractionIds = extractionsByTemplate.get(selectedTemplate.projectTemplateId).map(e => e.extractionFieldId);\r\n return new Set(extractionIds);\r\n };\r\n\r\n getVisibleExtractionIdsSet = () => {\r\n const { currentProject } = this.props;\r\n const { selectedTemplate } = this.state;\r\n const { projectTemplateId } = selectedTemplate;\r\n const localStoreResult = sessionStorage.getItem('analyticsColumnOptions');\r\n const analyticsColumnOptions = JSON.parse(!!localStoreResult ? localStoreResult : 'null') || {};\r\n const visibleExtractionsByTemplateId = analyticsColumnOptions[currentProject.projectKey] || {};\r\n return visibleExtractionsByTemplateId[projectTemplateId] || [];\r\n };\r\n\r\n setVisibleExtractionIdsSet = visibleExtractionIdsSet => {\r\n const { currentProject } = this.props;\r\n const { selectedTemplate } = this.state;\r\n if (typeof selectedTemplate == 'undefined') {\r\n return;\r\n }\r\n const { projectTemplateId } = selectedTemplate;\r\n\r\n const extractions = this.getExtractions().map(({ extractionFieldId }) => {\r\n return {\r\n extractionFieldId,\r\n isVisible: visibleExtractionIdsSet.size ? visibleExtractionIdsSet.has(extractionFieldId) : true\r\n };\r\n });\r\n const localStoreResult = sessionStorage.getItem('analyticsColumnOptions');\r\n const analyticsColumnOptions = JSON.parse(!!localStoreResult ? localStoreResult : 'null') || {};\r\n const visibleExtractionsByTemplateId = analyticsColumnOptions[currentProject.projectKey] || {};\r\n visibleExtractionsByTemplateId[projectTemplateId] = extractions;\r\n analyticsColumnOptions[currentProject.projectKey] = visibleExtractionsByTemplateId;\r\n sessionStorage.setItem('analyticsColumnOptions', JSON.stringify(analyticsColumnOptions));\r\n\r\n const currentVisibleExtractions = extractions\r\n .filter(({ isVisible }) => isVisible)\r\n .map(({ extractionFieldId }) => extractionFieldId);\r\n\r\n this.setState({\r\n visibleExtractionIdsSet: new Set(currentVisibleExtractions)\r\n });\r\n };\r\n\r\n getSortOrder() {\r\n const { currentProject } = this.props;\r\n const { selectedTemplate } = this.state;\r\n if (typeof selectedTemplate == 'undefined') {\r\n return;\r\n }\r\n const { projectTemplateId } = selectedTemplate;\r\n\r\n const analyticsSortOrder = JSON.parse(sessionStorage.getItem('analyticsSortOrder')) || {};\r\n const sortOrderByTemplateId = analyticsSortOrder[currentProject.projectKey] || {};\r\n return sortOrderByTemplateId[projectTemplateId];\r\n }\r\n\r\n setSortOrder = sortAscending => {\r\n const { currentProject } = this.props;\r\n const { selectedTemplate } = this.state;\r\n if (typeof selectedTemplate == 'undefined') {\r\n return;\r\n }\r\n const { projectTemplateId } = selectedTemplate;\r\n\r\n const analyticsSortOrder = JSON.parse(sessionStorage.getItem('analyticsSortOrder')) || {};\r\n const sortOrderByTemplateId = analyticsSortOrder[currentProject.projectKey] || {};\r\n sortOrderByTemplateId[projectTemplateId] = sortAscending;\r\n analyticsSortOrder[currentProject.projectKey] = sortOrderByTemplateId;\r\n sessionStorage.setItem('analyticsSortOrder', JSON.stringify(analyticsSortOrder));\r\n\r\n this.setState({ sortAscending });\r\n };\r\n\r\n onExportClick = () => {\r\n const { currentProject, projectId, search, intl } = this.props;\r\n const { extractionsByTemplate, visibleExtractionIdsSet, selectedTemplate, sortAscending } = this.state;\r\n if (typeof selectedTemplate == 'undefined') {\r\n return;\r\n }\r\n\r\n const hiddenExtractionFields = extractionsByTemplate\r\n .get(selectedTemplate.projectTemplateId)\r\n .filter(xf => !visibleExtractionIdsSet.has(xf.extractionFieldId))\r\n .map(xf => xf.extractionFieldId);\r\n\r\n const currentDate = moment();\r\n\r\n this.setState({ isExportProcessing: true });\r\n\r\n // Payload to send when we're exporting the XFs\r\n const payload = {\r\n projectId,\r\n exportOptions: {\r\n exportType: 4,\r\n exportFileName: `${currentProject.projectName}_${intl.formatMessage({\r\n id: 'analytics.chart.fileName'\r\n })}_${selectedTemplate.name}__${dateUtil.formatTimestamp(currentDate)}`,\r\n exportOption: 0,\r\n templates: [{ projectTemplateId: selectedTemplate.projectTemplateId }],\r\n exportAnalyticsReport: {\r\n extractionFieldListIds: hiddenExtractionFields,\r\n sortingOrder: sortAscending ? 2 : 3,\r\n isNonWorkingExtactionField: false,\r\n documentFilter: search.query\r\n }\r\n }\r\n };\r\n\r\n api.createExport(payload).then(() => {\r\n this.setState({ isExportSidebarShown: true });\r\n });\r\n };\r\n\r\n closeExportSidebar = () => {\r\n this.setState({ isExportSidebarShown: false });\r\n };\r\n\r\n onSearch = () => {\r\n const { search } = this.props;\r\n if (search.query.length > 0) {\r\n this.setState({ isSearching: true });\r\n }\r\n };\r\n\r\n getExtractions = () => {\r\n const { extractionsByTemplate, selectedTemplate } = this.state;\r\n if (typeof selectedTemplate == 'undefined') {\r\n return;\r\n }\r\n\r\n return extractionsByTemplate && selectedTemplate\r\n ? extractionsByTemplate.get(selectedTemplate.projectTemplateId)\r\n : [];\r\n };\r\n\r\n /* If the showDocsWithNoRecords flag is on\r\n * Documents should be displayed if any of the following:\r\n * - Doesn't have extraction field records at all.\r\n * - Doesn't have extraction field records for the Extraction fields\r\n * that are displayed in the chart.\r\n */\r\n shouldDisplayDocument = (doc, filteredExtractions) => {\r\n const hasExtractionRecords = doc.extractionRecords;\r\n if (hasExtractionRecords) {\r\n const hasVisibleEFR = filteredExtractions.some(ef => {\r\n const docHasEF = doc.extractionRecords.hasOwnProperty(ef.id);\r\n const docHasEFR = docHasEF && doc.extractionRecords[ef.id] > 0;\r\n return docHasEFR;\r\n });\r\n return !hasVisibleEFR;\r\n }\r\n return !hasExtractionRecords;\r\n };\r\n\r\n getFilteredDocReports = filteredExtractions => {\r\n const { docReports, selectedTemplate, sortAscending, isSearching, showDocsWithNoRecords } = this.state;\r\n if (typeof selectedTemplate == 'undefined') {\r\n return;\r\n }\r\n\r\n // When a user selects a different template we have to filter the documents\r\n return (docReports || [])\r\n .filter(doc => {\r\n return (\r\n (selectedTemplate ? doc.projectTemplateId === selectedTemplate.projectTemplateId : true) &&\r\n (showDocsWithNoRecords ? this.shouldDisplayDocument(doc, filteredExtractions) : true)\r\n );\r\n })\r\n .filter(doc => {\r\n return isSearching\r\n ? doc.name\r\n .toLowerCase()\r\n .trim()\r\n .includes(this.props.search.query.toLowerCase().trim())\r\n : true;\r\n })\r\n .sort(function(a, b) {\r\n let reverseMultiplier = sortAscending ? 1 : -1;\r\n return a.name.toLowerCase().localeCompare(b.name.toLowerCase()) * reverseMultiplier;\r\n });\r\n };\r\n\r\n onShowDocsWithNoRecords = (name, checked) => {\r\n this.setState({ showDocsWithNoRecords: checked === 'checked' });\r\n };\r\n\r\n render() {\r\n const { currentProject, projectId } = this.props;\r\n\r\n const {\r\n isExportSidebarShown,\r\n isSearching,\r\n loading,\r\n selectedTemplate,\r\n templates,\r\n visibleExtractionIdsSet,\r\n showDocsWithNoRecords\r\n } = this.state;\r\n\r\n const extractions = this.getExtractions();\r\n const filteredExtractions = extractions?.filter(e => visibleExtractionIdsSet.has(e.extractionFieldId));\r\n const filteredDocReports = this.getFilteredDocReports(filteredExtractions);\r\n\r\n let content;\r\n\r\n if (loading) {\r\n content = null;\r\n } else if (isSearching && !filteredDocReports?.length) {\r\n content = (\r\n
\r\n }\r\n description={}\r\n img={emptySearchImage}\r\n />\r\n
\r\n );\r\n } else if (!loading && !filteredDocReports?.length) {\r\n if (showDocsWithNoRecords) {\r\n content = (\r\n
\r\n }\r\n description={}\r\n img={emptyStateImage}\r\n />\r\n
\r\n );\r\n } else {\r\n content = (\r\n
\r\n }\r\n description={}\r\n img={emptyStateImage}\r\n />\r\n
\r\n );\r\n }\r\n } else {\r\n content = (\r\n
\r\n \r\n
\r\n );\r\n }\r\n\r\n return (\r\n
\r\n this.setState({ isSearching: false })}\r\n />\r\n {loading && }\r\n {loading &&
}\r\n
\r\n {!loading && (\r\n \r\n )}\r\n\r\n {content}\r\n\r\n {isExportSidebarShown && (\r\n \r\n )}\r\n
\r\n
\r\n );\r\n }\r\n}\r\n\r\nexport default withRouter(injectIntl(AnalyticsPage));\r\n","import { connect } from 'react-redux';\r\n\r\nimport Analytics from 'components/analytics/analytics';\r\n\r\nconst mapStateToProps = ({ data: { currentProject, search } }) => ({\r\n currentProject,\r\n search\r\n});\r\n\r\nexport default connect(mapStateToProps)(Analytics);\r\n","import PropTypes from 'prop-types';\r\nimport React, { Component } from 'react';\r\nimport ReactTooltip from 'react-tooltip';\r\n\r\nimport Analytics from 'containers/analytics/analytics-container';\r\nimport NotificationsContainer from 'containers/shared/notifications-container';\r\n\r\nimport Permissions from 'permissions/permissions';\r\nimport history from 'utils/history';\r\n\r\nclass AnalyticsPage extends Component {\r\n static propTypes = {\r\n match: PropTypes.object.isRequired\r\n };\r\n\r\n UNSAFE_componentWillMount() {\r\n if (!Permissions.Project.Analytics.canView()) {\r\n history.push('/');\r\n }\r\n }\r\n\r\n render() {\r\n const { projectId } = this.props.match.params;\r\n\r\n return (\r\n
\r\n \r\n \r\n \r\n
\r\n );\r\n }\r\n}\r\n\r\nexport default AnalyticsPage;\r\n","import React, { Component } from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { FormattedMessage } from 'react-intl';\r\nimport moment from 'moment';\r\n\r\nimport DocumentDownload from 'components/shared/document-download';\r\nimport Icon from 'components/shared/icon';\r\nimport { FixedTable, FixedHeader } from 'components/shared/fixed-table';\r\nimport Button from 'components/shared/single-click-button';\r\n\r\nimport { getCurrentBaseAdminUrl } from 'store/api';\r\n\r\nclass ListOfReports extends Component {\r\n static propTypes = {\r\n loadReports: PropTypes.func,\r\n onCheckAllChange: PropTypes.func,\r\n onSchedule: PropTypes.func,\r\n onSelectChange: PropTypes.func,\r\n reports: PropTypes.object,\r\n selectedReports: PropTypes.any,\r\n aboutArgus: PropTypes.object\r\n };\r\n\r\n state = {\r\n data: null,\r\n pageNum: 1,\r\n loadingDocument: false\r\n };\r\n\r\n componentDidMount() {\r\n this.componentDidUpdate({});\r\n }\r\n\r\n componentDidUpdate(prevProps) {\r\n const { reports, loadReports } = this.props;\r\n\r\n // Load reports if needed\r\n if (!reports.isReportsLoading && !reports.regular) {\r\n return loadReports();\r\n }\r\n }\r\n\r\n getExportFileName = fileName => {\r\n const timestamp = moment.utc().format('YYYY-MM-DDTHH_mm_ss');\r\n return fileName.replace(/##TIMESTAMP##/gi, timestamp);\r\n };\r\n\r\n onPageChange = pageNum => {\r\n this.setState({ pageNum });\r\n };\r\n\r\n render() {\r\n const { onSchedule, reports, aboutArgus } = this.props;\r\n const { loadingDocument } = this.state;\r\n if (!reports.regular || reports.isReportsLoading) {\r\n return (\r\n
\r\n \r\n
\r\n );\r\n }\r\n\r\n return (\r\n
\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n {reports.regular.map((report, index) => {\r\n var reportList_id = index + 1;\r\n var BASE_URL = getCurrentBaseAdminUrl();\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n })}\r\n \r\n
\r\n
\r\n {reportList_id} {report.reportName} \r\n {report.reportDescription}\r\n \r\n
\r\n {loadingDocument === report.reportId ? (\r\n \r\n ) : (\r\n }\r\n target=\"_self\"\r\n title=\"Export Report\"\r\n documentFilename={this.getExportFileName(report.exportFileName)}\r\n documentLoading={() => this.setState({ loadingDocument: report.reportId })}\r\n documentLoaded={() => this.setState({ loadingDocument: false })}\r\n supportEmail={aboutArgus.data.supportEmail}\r\n />\r\n )}\r\n \r\n
\r\n
\r\n
\r\n
\r\n );\r\n }\r\n}\r\n\r\nexport default ListOfReports;\r\n","import React, { Component } from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { FormattedMessage } from 'react-intl';\r\n\r\nimport dateUtil from 'utils/dateUtil';\r\n\r\nimport Icon from 'components/shared/icon';\r\nimport { FixedTable, FixedHeader } from 'components/shared/fixed-table';\r\nimport Checkbox from 'components/shared/form/checkbox';\r\nimport Button from 'components/shared/single-click-button';\r\n\r\nclass ScheduledReports extends Component {\r\n static propTypes = {\r\n loadScheduledReports: PropTypes.func,\r\n onCheckAllChange: PropTypes.func,\r\n onSchedule: PropTypes.func,\r\n onSelectChange: PropTypes.func,\r\n reports: PropTypes.object,\r\n selectedReports: PropTypes.any\r\n };\r\n\r\n state = {\r\n pageNum: 1\r\n };\r\n\r\n componentDidMount() {\r\n const { reports, loadScheduledReports } = this.props;\r\n if (!reports.scheduled) {\r\n return loadScheduledReports();\r\n }\r\n }\r\n onPageChange = pageNum => {\r\n this.setState({ pageNum });\r\n };\r\n\r\n getReportFrequency = (frequency, unit) => {\r\n let str = '';\r\n\r\n // Formatter to display corresponding string i.e. every day for frequency = 1 and unit = 1\r\n if (frequency === 1) {\r\n if (unit === 1) {\r\n str = ;\r\n } else if (unit === 2) {\r\n str = ;\r\n } else if (unit === 3) {\r\n str = ;\r\n } else if (unit === 4) {\r\n str = ;\r\n } else if (unit === 5) {\r\n str = ;\r\n } else if (unit === 6) {\r\n str = ;\r\n } else {\r\n str = ;\r\n }\r\n } else {\r\n if (unit === 1) {\r\n str = ;\r\n } else if (unit === 2) {\r\n str = ;\r\n } else if (unit === 3) {\r\n str = ;\r\n } else if (unit === 4) {\r\n str = ;\r\n } else if (unit === 5) {\r\n str = ;\r\n } else if (unit === 6) {\r\n str = ;\r\n } else {\r\n str = ;\r\n }\r\n }\r\n\r\n return str;\r\n };\r\n\r\n render() {\r\n const { selectedReports, onCheckAllChange, onSelectChange, onSchedule, reports } = this.props;\r\n\r\n if (!reports.scheduled || reports.isScheduledLoading) {\r\n return (\r\n
\r\n \r\n
\r\n );\r\n }\r\n\r\n let allSelectedStatus;\r\n\r\n if (reports.scheduled.length !== 0 && reports.scheduled.length === selectedReports.size) {\r\n allSelectedStatus = 'checked';\r\n } else if (selectedReports.size === 0) {\r\n allSelectedStatus = 'unchecked';\r\n } else {\r\n allSelectedStatus = 'indeterminate';\r\n }\r\n\r\n return (\r\n
\r\n \r\n \r\n \r\n \r\n \r\n onCheckAllChange(reports.scheduled)}\r\n />\r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n {reports.scheduled.map((report, index) => {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n })}\r\n \r\n
\r\n
\r\n onSelectChange(report)}\r\n className=\"reports-page__checkbox\"\r\n />\r\n {report.scheduledReportId} {report.reportName} \r\n {this.getReportFrequency(report.frequencyInterval, report.frequencyIntervalUnits)}\r\n {dateUtil.formatDate(report.startDate)}\r\n \r\n
\r\n
\r\n
\r\n );\r\n }\r\n}\r\n\r\nexport default ScheduledReports;\r\n","import PropTypes from 'prop-types';\r\nimport React, { Component } from 'react';\r\n\r\nimport classNames from 'classnames';\r\nimport Icon from 'components/shared/icon';\r\n\r\n/*\r\n * Numeric input\r\n * Use this when you need a numeric input field with up and down arrow keys\r\n */\r\nexport default class NumericInput extends Component {\r\n static propTypes = {\r\n className: PropTypes.string,\r\n max: PropTypes.number,\r\n min: PropTypes.number,\r\n onChange: PropTypes.func,\r\n placeholder: PropTypes.string,\r\n step: PropTypes.number,\r\n value: PropTypes.any\r\n };\r\n\r\n numDigits = x => {\r\n return Math.max(Math.floor(Math.log10(Math.abs(x))), 0) + 1;\r\n };\r\n\r\n getPattern = () => {\r\n const { max, min } = this.props;\r\n // Get the regex pattern to be used in validator\r\n return max && min ? `[0-9]{${this.numDigits(min)},${this.numDigits(max)}}` : `[0-9]*`;\r\n };\r\n\r\n onChange = e => {\r\n if (e.target.validity.valid) {\r\n this.props.onChange(e.target.value);\r\n }\r\n };\r\n\r\n onUp = () => {\r\n this.props.onChange(Math.min(parseInt(this.props.value, 10) + 1, this.props.max));\r\n };\r\n\r\n onDown = () => {\r\n this.props.onChange(Math.max(parseInt(this.props.value, 10) - 1, this.props.min));\r\n };\r\n\r\n onBlur = () => {\r\n if (this.props.value < this.props.min) {\r\n this.props.onChange(Math.max(this.props.value, this.props.min));\r\n }\r\n };\r\n\r\n render() {\r\n const { placeholder, value, className } = this.props;\r\n\r\n return (\r\n
\r\n \r\n
\r\n \r\n \r\n
\r\n
\r\n );\r\n }\r\n}\r\n","import {createElement,Component}from'react';import {findDOMNode}from'react-dom';function _inheritsLoose(subClass, superClass) {\n subClass.prototype = Object.create(superClass.prototype);\n subClass.prototype.constructor = subClass;\n\n _setPrototypeOf(subClass, superClass);\n}\n\nfunction _setPrototypeOf(o, p) {\n _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n\n return _setPrototypeOf(o, p);\n}\n\nfunction _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n\n return target;\n}\n\nfunction _assertThisInitialized(self) {\n if (self === void 0) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return self;\n}/**\n * Check whether some DOM node is our Component's node.\n */\nfunction isNodeFound(current, componentNode, ignoreClass) {\n if (current === componentNode) {\n return true;\n } // SVG elements do not technically reside in the rendered DOM, so\n // they do not have classList directly, but they offer a link to their\n // corresponding element, which can have classList. This extra check is for\n // that case.\n // See: http://www.w3.org/TR/SVG11/struct.html#InterfaceSVGUseElement\n // Discussion: https://github.com/Pomax/react-onclickoutside/pull/17\n\n\n if (current.correspondingElement) {\n return current.correspondingElement.classList.contains(ignoreClass);\n }\n\n return current.classList.contains(ignoreClass);\n}\n/**\n * Try to find our node in a hierarchy of nodes, returning the document\n * node as highest node if our node is not found in the path up.\n */\n\nfunction findHighest(current, componentNode, ignoreClass) {\n if (current === componentNode) {\n return true;\n } // If source=local then this event came from 'somewhere'\n // inside and should be ignored. We could handle this with\n // a layered approach, too, but that requires going back to\n // thinking in terms of Dom node nesting, running counter\n // to React's 'you shouldn't care about the DOM' philosophy.\n // Also cover shadowRoot node by checking current.host\n\n\n while (current.parentNode || current.host) {\n // Only check normal node without shadowRoot\n if (current.parentNode && isNodeFound(current, componentNode, ignoreClass)) {\n return true;\n }\n\n current = current.parentNode || current.host;\n }\n\n return current;\n}\n/**\n * Check if the browser scrollbar was clicked\n */\n\nfunction clickedScrollbar(evt) {\n return document.documentElement.clientWidth <= evt.clientX || document.documentElement.clientHeight <= evt.clientY;\n}// ideally will get replaced with external dep\n// when rafrex/detect-passive-events#4 and rafrex/detect-passive-events#5 get merged in\nvar testPassiveEventSupport = function testPassiveEventSupport() {\n if (typeof window === 'undefined' || typeof window.addEventListener !== 'function') {\n return;\n }\n\n var passive = false;\n var options = Object.defineProperty({}, 'passive', {\n get: function get() {\n passive = true;\n }\n });\n\n var noop = function noop() {};\n\n window.addEventListener('testPassiveEventSupport', noop, options);\n window.removeEventListener('testPassiveEventSupport', noop, options);\n return passive;\n};function autoInc(seed) {\n if (seed === void 0) {\n seed = 0;\n }\n\n return function () {\n return ++seed;\n };\n}\n\nvar uid = autoInc();var passiveEventSupport;\nvar handlersMap = {};\nvar enabledInstances = {};\nvar touchEvents = ['touchstart', 'touchmove'];\nvar IGNORE_CLASS_NAME = 'ignore-react-onclickoutside';\n/**\n * Options for addEventHandler and removeEventHandler\n */\n\nfunction getEventHandlerOptions(instance, eventName) {\n var handlerOptions = {};\n var isTouchEvent = touchEvents.indexOf(eventName) !== -1;\n\n if (isTouchEvent && passiveEventSupport) {\n handlerOptions.passive = !instance.props.preventDefault;\n }\n\n return handlerOptions;\n}\n/**\n * This function generates the HOC function that you'll use\n * in order to impart onOutsideClick listening to an\n * arbitrary component. It gets called at the end of the\n * bootstrapping code to yield an instance of the\n * onClickOutsideHOC function defined inside setupHOC().\n */\n\n\nfunction onClickOutsideHOC(WrappedComponent, config) {\n var _class, _temp;\n\n var componentName = WrappedComponent.displayName || WrappedComponent.name || 'Component';\n return _temp = _class = /*#__PURE__*/function (_Component) {\n _inheritsLoose(onClickOutside, _Component);\n\n function onClickOutside(props) {\n var _this;\n\n _this = _Component.call(this, props) || this;\n\n _this.__outsideClickHandler = function (event) {\n if (typeof _this.__clickOutsideHandlerProp === 'function') {\n _this.__clickOutsideHandlerProp(event);\n\n return;\n }\n\n var instance = _this.getInstance();\n\n if (typeof instance.props.handleClickOutside === 'function') {\n instance.props.handleClickOutside(event);\n return;\n }\n\n if (typeof instance.handleClickOutside === 'function') {\n instance.handleClickOutside(event);\n return;\n }\n\n throw new Error(\"WrappedComponent: \" + componentName + \" lacks a handleClickOutside(event) function for processing outside click events.\");\n };\n\n _this.__getComponentNode = function () {\n var instance = _this.getInstance();\n\n if (config && typeof config.setClickOutsideRef === 'function') {\n return config.setClickOutsideRef()(instance);\n }\n\n if (typeof instance.setClickOutsideRef === 'function') {\n return instance.setClickOutsideRef();\n }\n\n return findDOMNode(instance);\n };\n\n _this.enableOnClickOutside = function () {\n if (typeof document === 'undefined' || enabledInstances[_this._uid]) {\n return;\n }\n\n if (typeof passiveEventSupport === 'undefined') {\n passiveEventSupport = testPassiveEventSupport();\n }\n\n enabledInstances[_this._uid] = true;\n var events = _this.props.eventTypes;\n\n if (!events.forEach) {\n events = [events];\n }\n\n handlersMap[_this._uid] = function (event) {\n if (_this.componentNode === null) return;\n if (_this.initTimeStamp > event.timeStamp) return;\n\n if (_this.props.preventDefault) {\n event.preventDefault();\n }\n\n if (_this.props.stopPropagation) {\n event.stopPropagation();\n }\n\n if (_this.props.excludeScrollbar && clickedScrollbar(event)) return;\n var current = event.composed && event.composedPath && event.composedPath().shift() || event.target;\n\n if (findHighest(current, _this.componentNode, _this.props.outsideClickIgnoreClass) !== document) {\n return;\n }\n\n _this.__outsideClickHandler(event);\n };\n\n events.forEach(function (eventName) {\n document.addEventListener(eventName, handlersMap[_this._uid], getEventHandlerOptions(_assertThisInitialized(_this), eventName));\n });\n };\n\n _this.disableOnClickOutside = function () {\n delete enabledInstances[_this._uid];\n var fn = handlersMap[_this._uid];\n\n if (fn && typeof document !== 'undefined') {\n var events = _this.props.eventTypes;\n\n if (!events.forEach) {\n events = [events];\n }\n\n events.forEach(function (eventName) {\n return document.removeEventListener(eventName, fn, getEventHandlerOptions(_assertThisInitialized(_this), eventName));\n });\n delete handlersMap[_this._uid];\n }\n };\n\n _this.getRef = function (ref) {\n return _this.instanceRef = ref;\n };\n\n _this._uid = uid();\n _this.initTimeStamp = performance.now();\n return _this;\n }\n /**\n * Access the WrappedComponent's instance.\n */\n\n\n var _proto = onClickOutside.prototype;\n\n _proto.getInstance = function getInstance() {\n if (WrappedComponent.prototype && !WrappedComponent.prototype.isReactComponent) {\n return this;\n }\n\n var ref = this.instanceRef;\n return ref.getInstance ? ref.getInstance() : ref;\n };\n\n /**\n * Add click listeners to the current document,\n * linked to this component's state.\n */\n _proto.componentDidMount = function componentDidMount() {\n // If we are in an environment without a DOM such\n // as shallow rendering or snapshots then we exit\n // early to prevent any unhandled errors being thrown.\n if (typeof document === 'undefined' || !document.createElement) {\n return;\n }\n\n var instance = this.getInstance();\n\n if (config && typeof config.handleClickOutside === 'function') {\n this.__clickOutsideHandlerProp = config.handleClickOutside(instance);\n\n if (typeof this.__clickOutsideHandlerProp !== 'function') {\n throw new Error(\"WrappedComponent: \" + componentName + \" lacks a function for processing outside click events specified by the handleClickOutside config option.\");\n }\n }\n\n this.componentNode = this.__getComponentNode(); // return early so we dont initiate onClickOutside\n\n if (this.props.disableOnClickOutside) return;\n this.enableOnClickOutside();\n };\n\n _proto.componentDidUpdate = function componentDidUpdate() {\n this.componentNode = this.__getComponentNode();\n }\n /**\n * Remove all document's event listeners for this component\n */\n ;\n\n _proto.componentWillUnmount = function componentWillUnmount() {\n this.disableOnClickOutside();\n }\n /**\n * Can be called to explicitly enable event listening\n * for clicks and touches outside of this element.\n */\n ;\n\n /**\n * Pass-through render\n */\n _proto.render = function render() {\n // eslint-disable-next-line no-unused-vars\n var _this$props = this.props;\n _this$props.excludeScrollbar;\n var props = _objectWithoutPropertiesLoose(_this$props, [\"excludeScrollbar\"]);\n\n if (WrappedComponent.prototype && WrappedComponent.prototype.isReactComponent) {\n props.ref = this.getRef;\n } else {\n props.wrappedRef = this.getRef;\n }\n\n props.disableOnClickOutside = this.disableOnClickOutside;\n props.enableOnClickOutside = this.enableOnClickOutside;\n return createElement(WrappedComponent, props);\n };\n\n return onClickOutside;\n }(Component), _class.displayName = \"OnClickOutside(\" + componentName + \")\", _class.defaultProps = {\n eventTypes: ['mousedown', 'touchstart'],\n excludeScrollbar: config && config.excludeScrollbar || false,\n outsideClickIgnoreClass: IGNORE_CLASS_NAME,\n preventDefault: false,\n stopPropagation: false\n }, _class.getClass = function () {\n return WrappedComponent.getClass ? WrappedComponent.getClass() : WrappedComponent;\n }, _temp;\n}export default onClickOutsideHOC;export{IGNORE_CLASS_NAME};","function _assertThisInitialized(e) {\n if (void 0 === e) throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n return e;\n}\nexport { _assertThisInitialized as default };","export default typeof window !== 'undefined' && typeof document !== 'undefined' && typeof navigator !== 'undefined';\n","import isBrowser from './isBrowser';\n\nconst timeoutDuration = (function(){\n const longerTimeoutBrowsers = ['Edge', 'Trident', 'Firefox'];\n for (let i = 0; i < longerTimeoutBrowsers.length; i += 1) {\n if (isBrowser && navigator.userAgent.indexOf(longerTimeoutBrowsers[i]) >= 0) {\n return 1;\n }\n }\n return 0;\n}());\n\nexport function microtaskDebounce(fn) {\n let called = false\n return () => {\n if (called) {\n return\n }\n called = true\n window.Promise.resolve().then(() => {\n called = false\n fn()\n })\n }\n}\n\nexport function taskDebounce(fn) {\n let scheduled = false;\n return () => {\n if (!scheduled) {\n scheduled = true;\n setTimeout(() => {\n scheduled = false;\n fn();\n }, timeoutDuration);\n }\n };\n}\n\nconst supportsMicroTasks = isBrowser && window.Promise\n\n\n/**\n* Create a debounced version of a method, that's asynchronously deferred\n* but called in the minimum time possible.\n*\n* @method\n* @memberof Popper.Utils\n* @argument {Function} fn\n* @returns {Function}\n*/\nexport default (supportsMicroTasks\n ? microtaskDebounce\n : taskDebounce);\n","/**\n * Check if the given variable is a function\n * @method\n * @memberof Popper.Utils\n * @argument {Any} functionToCheck - variable to check\n * @returns {Boolean} answer to: is a function?\n */\nexport default function isFunction(functionToCheck) {\n const getType = {};\n return (\n functionToCheck &&\n getType.toString.call(functionToCheck) === '[object Function]'\n );\n}\n","/**\n * Get CSS computed property of the given element\n * @method\n * @memberof Popper.Utils\n * @argument {Eement} element\n * @argument {String} property\n */\nexport default function getStyleComputedProperty(element, property) {\n if (element.nodeType !== 1) {\n return [];\n }\n // NOTE: 1 DOM access here\n const window = element.ownerDocument.defaultView;\n const css = window.getComputedStyle(element, null);\n return property ? css[property] : css;\n}\n","/**\n * Returns the parentNode or the host of the element\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Element} parent\n */\nexport default function getParentNode(element) {\n if (element.nodeName === 'HTML') {\n return element;\n }\n return element.parentNode || element.host;\n}\n","import getStyleComputedProperty from './getStyleComputedProperty';\nimport getParentNode from './getParentNode';\n\n/**\n * Returns the scrolling parent of the given element\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Element} scroll parent\n */\nexport default function getScrollParent(element) {\n // Return body, `getScroll` will take care to get the correct `scrollTop` from it\n if (!element) {\n return document.body\n }\n\n switch (element.nodeName) {\n case 'HTML':\n case 'BODY':\n return element.ownerDocument.body\n case '#document':\n return element.body\n }\n\n // Firefox want us to check `-x` and `-y` variations as well\n const { overflow, overflowX, overflowY } = getStyleComputedProperty(element);\n if (/(auto|scroll|overlay)/.test(overflow + overflowY + overflowX)) {\n return element;\n }\n\n return getScrollParent(getParentNode(element));\n}\n","/**\n * Returns the reference node of the reference object, or the reference object itself.\n * @method\n * @memberof Popper.Utils\n * @param {Element|Object} reference - the reference element (the popper will be relative to this)\n * @returns {Element} parent\n */\nexport default function getReferenceNode(reference) {\n return reference && reference.referenceNode ? reference.referenceNode : reference;\n}\n","import isBrowser from './isBrowser';\n\nconst isIE11 = isBrowser && !!(window.MSInputMethodContext && document.documentMode);\nconst isIE10 = isBrowser && /MSIE 10/.test(navigator.userAgent);\n\n/**\n * Determines if the browser is Internet Explorer\n * @method\n * @memberof Popper.Utils\n * @param {Number} version to check\n * @returns {Boolean} isIE\n */\nexport default function isIE(version) {\n if (version === 11) {\n return isIE11;\n }\n if (version === 10) {\n return isIE10;\n }\n return isIE11 || isIE10;\n}\n","import getStyleComputedProperty from './getStyleComputedProperty';\nimport isIE from './isIE';\n/**\n * Returns the offset parent of the given element\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Element} offset parent\n */\nexport default function getOffsetParent(element) {\n if (!element) {\n return document.documentElement;\n }\n\n const noOffsetParent = isIE(10) ? document.body : null;\n\n // NOTE: 1 DOM access here\n let offsetParent = element.offsetParent || null;\n // Skip hidden elements which don't have an offsetParent\n while (offsetParent === noOffsetParent && element.nextElementSibling) {\n offsetParent = (element = element.nextElementSibling).offsetParent;\n }\n\n const nodeName = offsetParent && offsetParent.nodeName;\n\n if (!nodeName || nodeName === 'BODY' || nodeName === 'HTML') {\n return element ? element.ownerDocument.documentElement : document.documentElement;\n }\n\n // .offsetParent will return the closest TH, TD or TABLE in case\n // no offsetParent is present, I hate this job...\n if (\n ['TH', 'TD', 'TABLE'].indexOf(offsetParent.nodeName) !== -1 &&\n getStyleComputedProperty(offsetParent, 'position') === 'static'\n ) {\n return getOffsetParent(offsetParent);\n }\n\n return offsetParent;\n}\n","/**\n * Finds the root node (document, shadowDOM root) of the given element\n * @method\n * @memberof Popper.Utils\n * @argument {Element} node\n * @returns {Element} root node\n */\nexport default function getRoot(node) {\n if (node.parentNode !== null) {\n return getRoot(node.parentNode);\n }\n\n return node;\n}\n","import isOffsetContainer from './isOffsetContainer';\nimport getRoot from './getRoot';\nimport getOffsetParent from './getOffsetParent';\n\n/**\n * Finds the offset parent common to the two provided nodes\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element1\n * @argument {Element} element2\n * @returns {Element} common offset parent\n */\nexport default function findCommonOffsetParent(element1, element2) {\n // This check is needed to avoid errors in case one of the elements isn't defined for any reason\n if (!element1 || !element1.nodeType || !element2 || !element2.nodeType) {\n return document.documentElement;\n }\n\n // Here we make sure to give as \"start\" the element that comes first in the DOM\n const order =\n element1.compareDocumentPosition(element2) &\n Node.DOCUMENT_POSITION_FOLLOWING;\n const start = order ? element1 : element2;\n const end = order ? element2 : element1;\n\n // Get common ancestor container\n const range = document.createRange();\n range.setStart(start, 0);\n range.setEnd(end, 0);\n const { commonAncestorContainer } = range;\n\n // Both nodes are inside #document\n if (\n (element1 !== commonAncestorContainer &&\n element2 !== commonAncestorContainer) ||\n start.contains(end)\n ) {\n if (isOffsetContainer(commonAncestorContainer)) {\n return commonAncestorContainer;\n }\n\n return getOffsetParent(commonAncestorContainer);\n }\n\n // one of the nodes is inside shadowDOM, find which one\n const element1root = getRoot(element1);\n if (element1root.host) {\n return findCommonOffsetParent(element1root.host, element2);\n } else {\n return findCommonOffsetParent(element1, getRoot(element2).host);\n }\n}\n","import getOffsetParent from './getOffsetParent';\n\nexport default function isOffsetContainer(element) {\n const { nodeName } = element;\n if (nodeName === 'BODY') {\n return false;\n }\n return (\n nodeName === 'HTML' || getOffsetParent(element.firstElementChild) === element\n );\n}\n","/**\n * Gets the scroll value of the given element in the given side (top and left)\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @argument {String} side `top` or `left`\n * @returns {number} amount of scrolled pixels\n */\nexport default function getScroll(element, side = 'top') {\n const upperSide = side === 'top' ? 'scrollTop' : 'scrollLeft';\n const nodeName = element.nodeName;\n\n if (nodeName === 'BODY' || nodeName === 'HTML') {\n const html = element.ownerDocument.documentElement;\n const scrollingElement = element.ownerDocument.scrollingElement || html;\n return scrollingElement[upperSide];\n }\n\n return element[upperSide];\n}\n","/*\n * Helper to detect borders of a given element\n * @method\n * @memberof Popper.Utils\n * @param {CSSStyleDeclaration} styles\n * Result of `getStyleComputedProperty` on the given element\n * @param {String} axis - `x` or `y`\n * @return {number} borders - The borders size of the given axis\n */\n\nexport default function getBordersSize(styles, axis) {\n const sideA = axis === 'x' ? 'Left' : 'Top';\n const sideB = sideA === 'Left' ? 'Right' : 'Bottom';\n\n return (\n parseFloat(styles[`border${sideA}Width`]) +\n parseFloat(styles[`border${sideB}Width`])\n );\n}\n","import isIE from './isIE';\n\nfunction getSize(axis, body, html, computedStyle) {\n return Math.max(\n body[`offset${axis}`],\n body[`scroll${axis}`],\n html[`client${axis}`],\n html[`offset${axis}`],\n html[`scroll${axis}`],\n isIE(10)\n ? (parseInt(html[`offset${axis}`]) + \n parseInt(computedStyle[`margin${axis === 'Height' ? 'Top' : 'Left'}`]) + \n parseInt(computedStyle[`margin${axis === 'Height' ? 'Bottom' : 'Right'}`]))\n : 0 \n );\n}\n\nexport default function getWindowSizes(document) {\n const body = document.body;\n const html = document.documentElement;\n const computedStyle = isIE(10) && getComputedStyle(html);\n\n return {\n height: getSize('Height', body, html, computedStyle),\n width: getSize('Width', body, html, computedStyle),\n };\n}\n","/**\n * Given element offsets, generate an output similar to getBoundingClientRect\n * @method\n * @memberof Popper.Utils\n * @argument {Object} offsets\n * @returns {Object} ClientRect like output\n */\nexport default function getClientRect(offsets) {\n return {\n ...offsets,\n right: offsets.left + offsets.width,\n bottom: offsets.top + offsets.height,\n };\n}\n","import getStyleComputedProperty from './getStyleComputedProperty';\nimport getBordersSize from './getBordersSize';\nimport getWindowSizes from './getWindowSizes';\nimport getScroll from './getScroll';\nimport getClientRect from './getClientRect';\nimport isIE from './isIE';\n\n/**\n * Get bounding client rect of given element\n * @method\n * @memberof Popper.Utils\n * @param {HTMLElement} element\n * @return {Object} client rect\n */\nexport default function getBoundingClientRect(element) {\n let rect = {};\n\n // IE10 10 FIX: Please, don't ask, the element isn't\n // considered in DOM in some circumstances...\n // This isn't reproducible in IE10 compatibility mode of IE11\n try {\n if (isIE(10)) {\n rect = element.getBoundingClientRect();\n const scrollTop = getScroll(element, 'top');\n const scrollLeft = getScroll(element, 'left');\n rect.top += scrollTop;\n rect.left += scrollLeft;\n rect.bottom += scrollTop;\n rect.right += scrollLeft;\n }\n else {\n rect = element.getBoundingClientRect();\n }\n }\n catch(e){}\n\n const result = {\n left: rect.left,\n top: rect.top,\n width: rect.right - rect.left,\n height: rect.bottom - rect.top,\n };\n\n // subtract scrollbar size from sizes\n const sizes = element.nodeName === 'HTML' ? getWindowSizes(element.ownerDocument) : {};\n const width =\n sizes.width || element.clientWidth || result.width;\n const height =\n sizes.height || element.clientHeight || result.height;\n\n let horizScrollbar = element.offsetWidth - width;\n let vertScrollbar = element.offsetHeight - height;\n\n // if an hypothetical scrollbar is detected, we must be sure it's not a `border`\n // we make this check conditional for performance reasons\n if (horizScrollbar || vertScrollbar) {\n const styles = getStyleComputedProperty(element);\n horizScrollbar -= getBordersSize(styles, 'x');\n vertScrollbar -= getBordersSize(styles, 'y');\n\n result.width -= horizScrollbar;\n result.height -= vertScrollbar;\n }\n\n return getClientRect(result);\n}\n","import getStyleComputedProperty from './getStyleComputedProperty';\nimport includeScroll from './includeScroll';\nimport getScrollParent from './getScrollParent';\nimport getBoundingClientRect from './getBoundingClientRect';\nimport runIsIE from './isIE';\nimport getClientRect from './getClientRect';\n\nexport default function getOffsetRectRelativeToArbitraryNode(children, parent, fixedPosition = false) {\n const isIE10 = runIsIE(10);\n const isHTML = parent.nodeName === 'HTML';\n const childrenRect = getBoundingClientRect(children);\n const parentRect = getBoundingClientRect(parent);\n const scrollParent = getScrollParent(children);\n\n const styles = getStyleComputedProperty(parent);\n const borderTopWidth = parseFloat(styles.borderTopWidth);\n const borderLeftWidth = parseFloat(styles.borderLeftWidth);\n\n // In cases where the parent is fixed, we must ignore negative scroll in offset calc\n if(fixedPosition && isHTML) {\n parentRect.top = Math.max(parentRect.top, 0);\n parentRect.left = Math.max(parentRect.left, 0);\n }\n let offsets = getClientRect({\n top: childrenRect.top - parentRect.top - borderTopWidth,\n left: childrenRect.left - parentRect.left - borderLeftWidth,\n width: childrenRect.width,\n height: childrenRect.height,\n });\n offsets.marginTop = 0;\n offsets.marginLeft = 0;\n\n // Subtract margins of documentElement in case it's being used as parent\n // we do this only on HTML because it's the only element that behaves\n // differently when margins are applied to it. The margins are included in\n // the box of the documentElement, in the other cases not.\n if (!isIE10 && isHTML) {\n const marginTop = parseFloat(styles.marginTop);\n const marginLeft = parseFloat(styles.marginLeft);\n\n offsets.top -= borderTopWidth - marginTop;\n offsets.bottom -= borderTopWidth - marginTop;\n offsets.left -= borderLeftWidth - marginLeft;\n offsets.right -= borderLeftWidth - marginLeft;\n\n // Attach marginTop and marginLeft because in some circumstances we may need them\n offsets.marginTop = marginTop;\n offsets.marginLeft = marginLeft;\n }\n\n if (\n isIE10 && !fixedPosition\n ? parent.contains(scrollParent)\n : parent === scrollParent && scrollParent.nodeName !== 'BODY'\n ) {\n offsets = includeScroll(offsets, parent);\n }\n\n return offsets;\n}\n","import getScroll from './getScroll';\n\n/*\n * Sum or subtract the element scroll values (left and top) from a given rect object\n * @method\n * @memberof Popper.Utils\n * @param {Object} rect - Rect object you want to change\n * @param {HTMLElement} element - The element from the function reads the scroll values\n * @param {Boolean} subtract - set to true if you want to subtract the scroll values\n * @return {Object} rect - The modifier rect object\n */\nexport default function includeScroll(rect, element, subtract = false) {\n const scrollTop = getScroll(element, 'top');\n const scrollLeft = getScroll(element, 'left');\n const modifier = subtract ? -1 : 1;\n rect.top += scrollTop * modifier;\n rect.bottom += scrollTop * modifier;\n rect.left += scrollLeft * modifier;\n rect.right += scrollLeft * modifier;\n return rect;\n}\n","import getStyleComputedProperty from './getStyleComputedProperty';\nimport getParentNode from './getParentNode';\n\n/**\n * Check if the given element is fixed or is inside a fixed parent\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @argument {Element} customContainer\n * @returns {Boolean} answer to \"isFixed?\"\n */\nexport default function isFixed(element) {\n const nodeName = element.nodeName;\n if (nodeName === 'BODY' || nodeName === 'HTML') {\n return false;\n }\n if (getStyleComputedProperty(element, 'position') === 'fixed') {\n return true;\n }\n const parentNode = getParentNode(element);\n if (!parentNode) {\n return false;\n }\n return isFixed(parentNode);\n}\n","import getStyleComputedProperty from './getStyleComputedProperty';\nimport isIE from './isIE';\n/**\n * Finds the first parent of an element that has a transformed property defined\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Element} first transformed parent or documentElement\n */\n\nexport default function getFixedPositionOffsetParent(element) {\n // This check is needed to avoid errors in case one of the elements isn't defined for any reason\n if (!element || !element.parentElement || isIE()) {\n return document.documentElement;\n }\n let el = element.parentElement;\n while (el && getStyleComputedProperty(el, 'transform') === 'none') {\n el = el.parentElement;\n }\n return el || document.documentElement;\n\n}\n","import getScrollParent from './getScrollParent';\nimport getParentNode from './getParentNode';\nimport getReferenceNode from './getReferenceNode';\nimport findCommonOffsetParent from './findCommonOffsetParent';\nimport getOffsetRectRelativeToArbitraryNode from './getOffsetRectRelativeToArbitraryNode';\nimport getViewportOffsetRectRelativeToArtbitraryNode from './getViewportOffsetRectRelativeToArtbitraryNode';\nimport getWindowSizes from './getWindowSizes';\nimport isFixed from './isFixed';\nimport getFixedPositionOffsetParent from './getFixedPositionOffsetParent';\n\n/**\n * Computed the boundaries limits and return them\n * @method\n * @memberof Popper.Utils\n * @param {HTMLElement} popper\n * @param {HTMLElement} reference\n * @param {number} padding\n * @param {HTMLElement} boundariesElement - Element used to define the boundaries\n * @param {Boolean} fixedPosition - Is in fixed position mode\n * @returns {Object} Coordinates of the boundaries\n */\nexport default function getBoundaries(\n popper,\n reference,\n padding,\n boundariesElement,\n fixedPosition = false\n) {\n // NOTE: 1 DOM access here\n\n let boundaries = { top: 0, left: 0 };\n const offsetParent = fixedPosition ? getFixedPositionOffsetParent(popper) : findCommonOffsetParent(popper, getReferenceNode(reference));\n\n // Handle viewport case\n if (boundariesElement === 'viewport' ) {\n boundaries = getViewportOffsetRectRelativeToArtbitraryNode(offsetParent, fixedPosition);\n }\n\n else {\n // Handle other cases based on DOM element used as boundaries\n let boundariesNode;\n if (boundariesElement === 'scrollParent') {\n boundariesNode = getScrollParent(getParentNode(reference));\n if (boundariesNode.nodeName === 'BODY') {\n boundariesNode = popper.ownerDocument.documentElement;\n }\n } else if (boundariesElement === 'window') {\n boundariesNode = popper.ownerDocument.documentElement;\n } else {\n boundariesNode = boundariesElement;\n }\n\n const offsets = getOffsetRectRelativeToArbitraryNode(\n boundariesNode,\n offsetParent,\n fixedPosition\n );\n\n // In case of HTML, we need a different computation\n if (boundariesNode.nodeName === 'HTML' && !isFixed(offsetParent)) {\n const { height, width } = getWindowSizes(popper.ownerDocument);\n boundaries.top += offsets.top - offsets.marginTop;\n boundaries.bottom = height + offsets.top;\n boundaries.left += offsets.left - offsets.marginLeft;\n boundaries.right = width + offsets.left;\n } else {\n // for all the other DOM elements, this one is good\n boundaries = offsets;\n }\n }\n\n // Add paddings\n padding = padding || 0;\n const isPaddingNumber = typeof padding === 'number';\n boundaries.left += isPaddingNumber ? padding : padding.left || 0; \n boundaries.top += isPaddingNumber ? padding : padding.top || 0; \n boundaries.right -= isPaddingNumber ? padding : padding.right || 0; \n boundaries.bottom -= isPaddingNumber ? padding : padding.bottom || 0; \n\n return boundaries;\n}\n","import getOffsetRectRelativeToArbitraryNode from './getOffsetRectRelativeToArbitraryNode';\nimport getScroll from './getScroll';\nimport getClientRect from './getClientRect';\n\nexport default function getViewportOffsetRectRelativeToArtbitraryNode(element, excludeScroll = false) {\n const html = element.ownerDocument.documentElement;\n const relativeOffset = getOffsetRectRelativeToArbitraryNode(element, html);\n const width = Math.max(html.clientWidth, window.innerWidth || 0);\n const height = Math.max(html.clientHeight, window.innerHeight || 0);\n\n const scrollTop = !excludeScroll ? getScroll(html) : 0;\n const scrollLeft = !excludeScroll ? getScroll(html, 'left') : 0;\n\n const offset = {\n top: scrollTop - relativeOffset.top + relativeOffset.marginTop,\n left: scrollLeft - relativeOffset.left + relativeOffset.marginLeft,\n width,\n height,\n };\n\n return getClientRect(offset);\n}\n","import getBoundaries from '../utils/getBoundaries';\n\nfunction getArea({ width, height }) {\n return width * height;\n}\n\n/**\n * Utility used to transform the `auto` placement to the placement with more\n * available space.\n * @method\n * @memberof Popper.Utils\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nexport default function computeAutoPlacement(\n placement,\n refRect,\n popper,\n reference,\n boundariesElement,\n padding = 0\n) {\n if (placement.indexOf('auto') === -1) {\n return placement;\n }\n\n const boundaries = getBoundaries(\n popper,\n reference,\n padding,\n boundariesElement\n );\n\n const rects = {\n top: {\n width: boundaries.width,\n height: refRect.top - boundaries.top,\n },\n right: {\n width: boundaries.right - refRect.right,\n height: boundaries.height,\n },\n bottom: {\n width: boundaries.width,\n height: boundaries.bottom - refRect.bottom,\n },\n left: {\n width: refRect.left - boundaries.left,\n height: boundaries.height,\n },\n };\n\n const sortedAreas = Object.keys(rects)\n .map(key => ({\n key,\n ...rects[key],\n area: getArea(rects[key]),\n }))\n .sort((a, b) => b.area - a.area);\n\n const filteredAreas = sortedAreas.filter(\n ({ width, height }) =>\n width >= popper.clientWidth && height >= popper.clientHeight\n );\n\n const computedPlacement = filteredAreas.length > 0\n ? filteredAreas[0].key\n : sortedAreas[0].key;\n\n const variation = placement.split('-')[1];\n\n return computedPlacement + (variation ? `-${variation}` : '');\n}\n","import findCommonOffsetParent from './findCommonOffsetParent';\nimport getOffsetRectRelativeToArbitraryNode from './getOffsetRectRelativeToArbitraryNode';\nimport getFixedPositionOffsetParent from './getFixedPositionOffsetParent';\nimport getReferenceNode from './getReferenceNode';\n\n/**\n * Get offsets to the reference element\n * @method\n * @memberof Popper.Utils\n * @param {Object} state\n * @param {Element} popper - the popper element\n * @param {Element} reference - the reference element (the popper will be relative to this)\n * @param {Element} fixedPosition - is in fixed position mode\n * @returns {Object} An object containing the offsets which will be applied to the popper\n */\nexport default function getReferenceOffsets(state, popper, reference, fixedPosition = null) {\n const commonOffsetParent = fixedPosition ? getFixedPositionOffsetParent(popper) : findCommonOffsetParent(popper, getReferenceNode(reference));\n return getOffsetRectRelativeToArbitraryNode(reference, commonOffsetParent, fixedPosition);\n}\n","/**\n * Get the outer sizes of the given element (offset size + margins)\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Object} object containing width and height properties\n */\nexport default function getOuterSizes(element) {\n const window = element.ownerDocument.defaultView;\n const styles = window.getComputedStyle(element);\n const x = parseFloat(styles.marginTop || 0) + parseFloat(styles.marginBottom || 0);\n const y = parseFloat(styles.marginLeft || 0) + parseFloat(styles.marginRight || 0);\n const result = {\n width: element.offsetWidth + y,\n height: element.offsetHeight + x,\n };\n return result;\n}\n","/**\n * Get the opposite placement of the given one\n * @method\n * @memberof Popper.Utils\n * @argument {String} placement\n * @returns {String} flipped placement\n */\nexport default function getOppositePlacement(placement) {\n const hash = { left: 'right', right: 'left', bottom: 'top', top: 'bottom' };\n return placement.replace(/left|right|bottom|top/g, matched => hash[matched]);\n}\n","import getOuterSizes from './getOuterSizes';\nimport getOppositePlacement from './getOppositePlacement';\n\n/**\n * Get offsets to the popper\n * @method\n * @memberof Popper.Utils\n * @param {Object} position - CSS position the Popper will get applied\n * @param {HTMLElement} popper - the popper element\n * @param {Object} referenceOffsets - the reference offsets (the popper will be relative to this)\n * @param {String} placement - one of the valid placement options\n * @returns {Object} popperOffsets - An object containing the offsets which will be applied to the popper\n */\nexport default function getPopperOffsets(popper, referenceOffsets, placement) {\n placement = placement.split('-')[0];\n\n // Get popper node sizes\n const popperRect = getOuterSizes(popper);\n\n // Add position, width and height to our offsets object\n const popperOffsets = {\n width: popperRect.width,\n height: popperRect.height,\n };\n\n // depending by the popper placement we have to compute its offsets slightly differently\n const isHoriz = ['right', 'left'].indexOf(placement) !== -1;\n const mainSide = isHoriz ? 'top' : 'left';\n const secondarySide = isHoriz ? 'left' : 'top';\n const measurement = isHoriz ? 'height' : 'width';\n const secondaryMeasurement = !isHoriz ? 'height' : 'width';\n\n popperOffsets[mainSide] =\n referenceOffsets[mainSide] +\n referenceOffsets[measurement] / 2 -\n popperRect[measurement] / 2;\n if (placement === secondarySide) {\n popperOffsets[secondarySide] =\n referenceOffsets[secondarySide] - popperRect[secondaryMeasurement];\n } else {\n popperOffsets[secondarySide] =\n referenceOffsets[getOppositePlacement(secondarySide)];\n }\n\n return popperOffsets;\n}\n","/**\n * Mimics the `find` method of Array\n * @method\n * @memberof Popper.Utils\n * @argument {Array} arr\n * @argument prop\n * @argument value\n * @returns index or -1\n */\nexport default function find(arr, check) {\n // use native find if supported\n if (Array.prototype.find) {\n return arr.find(check);\n }\n\n // use `filter` to obtain the same behavior of `find`\n return arr.filter(check)[0];\n}\n","import isFunction from './isFunction';\nimport findIndex from './findIndex';\nimport getClientRect from '../utils/getClientRect';\n\n/**\n * Loop trough the list of modifiers and run them in order,\n * each of them will then edit the data object.\n * @method\n * @memberof Popper.Utils\n * @param {dataObject} data\n * @param {Array} modifiers\n * @param {String} ends - Optional modifier name used as stopper\n * @returns {dataObject}\n */\nexport default function runModifiers(modifiers, data, ends) {\n const modifiersToRun = ends === undefined\n ? modifiers\n : modifiers.slice(0, findIndex(modifiers, 'name', ends));\n\n modifiersToRun.forEach(modifier => {\n if (modifier['function']) { // eslint-disable-line dot-notation\n console.warn('`modifier.function` is deprecated, use `modifier.fn`!');\n }\n const fn = modifier['function'] || modifier.fn; // eslint-disable-line dot-notation\n if (modifier.enabled && isFunction(fn)) {\n // Add properties to offsets to make them a complete clientRect object\n // we do this before each modifier to make sure the previous one doesn't\n // mess with these values\n data.offsets.popper = getClientRect(data.offsets.popper);\n data.offsets.reference = getClientRect(data.offsets.reference);\n\n data = fn(data, modifier);\n }\n });\n\n return data;\n}\n","import find from './find';\n\n/**\n * Return the index of the matching object\n * @method\n * @memberof Popper.Utils\n * @argument {Array} arr\n * @argument prop\n * @argument value\n * @returns index or -1\n */\nexport default function findIndex(arr, prop, value) {\n // use native findIndex if supported\n if (Array.prototype.findIndex) {\n return arr.findIndex(cur => cur[prop] === value);\n }\n\n // use `find` + `indexOf` if `findIndex` isn't supported\n const match = find(arr, obj => obj[prop] === value);\n return arr.indexOf(match);\n}\n","import computeAutoPlacement from '../utils/computeAutoPlacement';\nimport getReferenceOffsets from '../utils/getReferenceOffsets';\nimport getPopperOffsets from '../utils/getPopperOffsets';\nimport runModifiers from '../utils/runModifiers';\n\n/**\n * Updates the position of the popper, computing the new offsets and applying\n * the new style.
\n * Prefer `scheduleUpdate` over `update` because of performance reasons.\n * @method\n * @memberof Popper\n */\nexport default function update() {\n // if popper is destroyed, don't perform any further update\n if (this.state.isDestroyed) {\n return;\n }\n\n let data = {\n instance: this,\n styles: {},\n arrowStyles: {},\n attributes: {},\n flipped: false,\n offsets: {},\n };\n\n // compute reference element offsets\n data.offsets.reference = getReferenceOffsets(\n this.state,\n this.popper,\n this.reference,\n this.options.positionFixed\n );\n\n // compute auto placement, store placement inside the data object,\n // modifiers will be able to edit `placement` if needed\n // and refer to originalPlacement to know the original value\n data.placement = computeAutoPlacement(\n this.options.placement,\n data.offsets.reference,\n this.popper,\n this.reference,\n this.options.modifiers.flip.boundariesElement,\n this.options.modifiers.flip.padding\n );\n\n // store the computed placement inside `originalPlacement`\n data.originalPlacement = data.placement;\n\n data.positionFixed = this.options.positionFixed;\n\n // compute the popper offsets\n data.offsets.popper = getPopperOffsets(\n this.popper,\n data.offsets.reference,\n data.placement\n );\n\n data.offsets.popper.position = this.options.positionFixed\n ? 'fixed'\n : 'absolute';\n\n // run the modifiers\n data = runModifiers(this.modifiers, data);\n\n // the first `update` will call `onCreate` callback\n // the other ones will call `onUpdate` callback\n if (!this.state.isCreated) {\n this.state.isCreated = true;\n this.options.onCreate(data);\n } else {\n this.options.onUpdate(data);\n }\n}\n","/**\n * Helper used to know if the given modifier is enabled.\n * @method\n * @memberof Popper.Utils\n * @returns {Boolean}\n */\nexport default function isModifierEnabled(modifiers, modifierName) {\n return modifiers.some(\n ({ name, enabled }) => enabled && name === modifierName\n );\n}\n","/**\n * Get the prefixed supported property name\n * @method\n * @memberof Popper.Utils\n * @argument {String} property (camelCase)\n * @returns {String} prefixed property (camelCase or PascalCase, depending on the vendor prefix)\n */\nexport default function getSupportedPropertyName(property) {\n const prefixes = [false, 'ms', 'Webkit', 'Moz', 'O'];\n const upperProp = property.charAt(0).toUpperCase() + property.slice(1);\n\n for (let i = 0; i < prefixes.length; i++) {\n const prefix = prefixes[i];\n const toCheck = prefix ? `${prefix}${upperProp}` : property;\n if (typeof document.body.style[toCheck] !== 'undefined') {\n return toCheck;\n }\n }\n return null;\n}\n","import isModifierEnabled from '../utils/isModifierEnabled';\nimport getSupportedPropertyName from '../utils/getSupportedPropertyName';\n\n/**\n * Destroys the popper.\n * @method\n * @memberof Popper\n */\nexport default function destroy() {\n this.state.isDestroyed = true;\n\n // touch DOM only if `applyStyle` modifier is enabled\n if (isModifierEnabled(this.modifiers, 'applyStyle')) {\n this.popper.removeAttribute('x-placement');\n this.popper.style.position = '';\n this.popper.style.top = '';\n this.popper.style.left = '';\n this.popper.style.right = '';\n this.popper.style.bottom = '';\n this.popper.style.willChange = '';\n this.popper.style[getSupportedPropertyName('transform')] = '';\n }\n\n this.disableEventListeners();\n\n // remove the popper if user explicitly asked for the deletion on destroy\n // do not use `remove` because IE11 doesn't support it\n if (this.options.removeOnDestroy) {\n this.popper.parentNode.removeChild(this.popper);\n }\n return this;\n}\n","/**\n * Get the window associated with the element\n * @argument {Element} element\n * @returns {Window}\n */\nexport default function getWindow(element) {\n const ownerDocument = element.ownerDocument;\n return ownerDocument ? ownerDocument.defaultView : window;\n}\n","import getScrollParent from './getScrollParent';\nimport getWindow from './getWindow';\n\nfunction attachToScrollParents(scrollParent, event, callback, scrollParents) {\n const isBody = scrollParent.nodeName === 'BODY';\n const target = isBody ? scrollParent.ownerDocument.defaultView : scrollParent;\n target.addEventListener(event, callback, { passive: true });\n\n if (!isBody) {\n attachToScrollParents(\n getScrollParent(target.parentNode),\n event,\n callback,\n scrollParents\n );\n }\n scrollParents.push(target);\n}\n\n/**\n * Setup needed event listeners used to update the popper position\n * @method\n * @memberof Popper.Utils\n * @private\n */\nexport default function setupEventListeners(\n reference,\n options,\n state,\n updateBound\n) {\n // Resize event listener on window\n state.updateBound = updateBound;\n getWindow(reference).addEventListener('resize', state.updateBound, { passive: true });\n\n // Scroll event listener on scroll parents\n const scrollElement = getScrollParent(reference);\n attachToScrollParents(\n scrollElement,\n 'scroll',\n state.updateBound,\n state.scrollParents\n );\n state.scrollElement = scrollElement;\n state.eventsEnabled = true;\n\n return state;\n}\n","import setupEventListeners from '../utils/setupEventListeners';\n\n/**\n * It will add resize/scroll events and start recalculating\n * position of the popper element when they are triggered.\n * @method\n * @memberof Popper\n */\nexport default function enableEventListeners() {\n if (!this.state.eventsEnabled) {\n this.state = setupEventListeners(\n this.reference,\n this.options,\n this.state,\n this.scheduleUpdate\n );\n }\n}\n","import removeEventListeners from '../utils/removeEventListeners';\n\n/**\n * It will remove resize/scroll events and won't recalculate popper position\n * when they are triggered. It also won't trigger `onUpdate` callback anymore,\n * unless you call `update` method manually.\n * @method\n * @memberof Popper\n */\nexport default function disableEventListeners() {\n if (this.state.eventsEnabled) {\n cancelAnimationFrame(this.scheduleUpdate);\n this.state = removeEventListeners(this.reference, this.state);\n }\n}\n","import getWindow from './getWindow';\n\n/**\n * Remove event listeners used to update the popper position\n * @method\n * @memberof Popper.Utils\n * @private\n */\nexport default function removeEventListeners(reference, state) {\n // Remove resize event listener on window\n getWindow(reference).removeEventListener('resize', state.updateBound);\n\n // Remove scroll event listener on scroll parents\n state.scrollParents.forEach(target => {\n target.removeEventListener('scroll', state.updateBound);\n });\n\n // Reset state\n state.updateBound = null;\n state.scrollParents = [];\n state.scrollElement = null;\n state.eventsEnabled = false;\n return state;\n}\n","/**\n * Tells if a given input is a number\n * @method\n * @memberof Popper.Utils\n * @param {*} input to check\n * @return {Boolean}\n */\nexport default function isNumeric(n) {\n return n !== '' && !isNaN(parseFloat(n)) && isFinite(n);\n}\n","import isNumeric from './isNumeric';\n\n/**\n * Set the style to the given popper\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element - Element to apply the style to\n * @argument {Object} styles\n * Object with a list of properties and values which will be applied to the element\n */\nexport default function setStyles(element, styles) {\n Object.keys(styles).forEach(prop => {\n let unit = '';\n // add unit if the value is numeric and is one of the following\n if (\n ['width', 'height', 'top', 'right', 'bottom', 'left'].indexOf(prop) !==\n -1 &&\n isNumeric(styles[prop])\n ) {\n unit = 'px';\n }\n element.style[prop] = styles[prop] + unit;\n });\n}\n","import getSupportedPropertyName from '../utils/getSupportedPropertyName';\nimport find from '../utils/find';\nimport getOffsetParent from '../utils/getOffsetParent';\nimport getBoundingClientRect from '../utils/getBoundingClientRect';\nimport getRoundedOffsets from '../utils/getRoundedOffsets';\nimport isBrowser from '../utils/isBrowser';\n\nconst isFirefox = isBrowser && /Firefox/i.test(navigator.userAgent);\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nexport default function computeStyle(data, options) {\n const { x, y } = options;\n const { popper } = data.offsets;\n\n // Remove this legacy support in Popper.js v2\n const legacyGpuAccelerationOption = find(\n data.instance.modifiers,\n modifier => modifier.name === 'applyStyle'\n ).gpuAcceleration;\n if (legacyGpuAccelerationOption !== undefined) {\n console.warn(\n 'WARNING: `gpuAcceleration` option moved to `computeStyle` modifier and will not be supported in future versions of Popper.js!'\n );\n }\n const gpuAcceleration =\n legacyGpuAccelerationOption !== undefined\n ? legacyGpuAccelerationOption\n : options.gpuAcceleration;\n\n const offsetParent = getOffsetParent(data.instance.popper);\n const offsetParentRect = getBoundingClientRect(offsetParent);\n\n // Styles\n const styles = {\n position: popper.position,\n };\n\n const offsets = getRoundedOffsets(\n data,\n window.devicePixelRatio < 2 || !isFirefox\n );\n\n const sideA = x === 'bottom' ? 'top' : 'bottom';\n const sideB = y === 'right' ? 'left' : 'right';\n\n // if gpuAcceleration is set to `true` and transform is supported,\n // we use `translate3d` to apply the position to the popper we\n // automatically use the supported prefixed version if needed\n const prefixedProperty = getSupportedPropertyName('transform');\n\n // now, let's make a step back and look at this code closely (wtf?)\n // If the content of the popper grows once it's been positioned, it\n // may happen that the popper gets misplaced because of the new content\n // overflowing its reference element\n // To avoid this problem, we provide two options (x and y), which allow\n // the consumer to define the offset origin.\n // If we position a popper on top of a reference element, we can set\n // `x` to `top` to make the popper grow towards its top instead of\n // its bottom.\n let left, top;\n if (sideA === 'bottom') {\n // when offsetParent is the positioning is relative to the bottom of the screen (excluding the scrollbar)\n // and not the bottom of the html element\n if (offsetParent.nodeName === 'HTML') {\n top = -offsetParent.clientHeight + offsets.bottom;\n } else {\n top = -offsetParentRect.height + offsets.bottom;\n }\n } else {\n top = offsets.top;\n }\n if (sideB === 'right') {\n if (offsetParent.nodeName === 'HTML') {\n left = -offsetParent.clientWidth + offsets.right;\n } else {\n left = -offsetParentRect.width + offsets.right;\n }\n } else {\n left = offsets.left;\n }\n if (gpuAcceleration && prefixedProperty) {\n styles[prefixedProperty] = `translate3d(${left}px, ${top}px, 0)`;\n styles[sideA] = 0;\n styles[sideB] = 0;\n styles.willChange = 'transform';\n } else {\n // othwerise, we use the standard `top`, `left`, `bottom` and `right` properties\n const invertTop = sideA === 'bottom' ? -1 : 1;\n const invertLeft = sideB === 'right' ? -1 : 1;\n styles[sideA] = top * invertTop;\n styles[sideB] = left * invertLeft;\n styles.willChange = `${sideA}, ${sideB}`;\n }\n\n // Attributes\n const attributes = {\n 'x-placement': data.placement,\n };\n\n // Update `data` attributes, styles and arrowStyles\n data.attributes = { ...attributes, ...data.attributes };\n data.styles = { ...styles, ...data.styles };\n data.arrowStyles = { ...data.offsets.arrow, ...data.arrowStyles };\n\n return data;\n}\n","import find from './find';\n\n/**\n * Helper used to know if the given modifier depends from another one.
\n * It checks if the needed modifier is listed and enabled.\n * @method\n * @memberof Popper.Utils\n * @param {Array} modifiers - list of modifiers\n * @param {String} requestingName - name of requesting modifier\n * @param {String} requestedName - name of requested modifier\n * @returns {Boolean}\n */\nexport default function isModifierRequired(\n modifiers,\n requestingName,\n requestedName\n) {\n const requesting = find(modifiers, ({ name }) => name === requestingName);\n\n const isRequired =\n !!requesting &&\n modifiers.some(modifier => {\n return (\n modifier.name === requestedName &&\n modifier.enabled &&\n modifier.order < requesting.order\n );\n });\n\n if (!isRequired) {\n const requesting = `\\`${requestingName}\\``;\n const requested = `\\`${requestedName}\\``;\n console.warn(\n `${requested} modifier is required by ${requesting} modifier in order to work, be sure to include it before ${requesting}!`\n );\n }\n return isRequired;\n}\n","/**\n * List of accepted placements to use as values of the `placement` option.
\n * Valid placements are:\n * - `auto`\n * - `top`\n * - `right`\n * - `bottom`\n * - `left`\n *\n * Each placement can have a variation from this list:\n * - `-start`\n * - `-end`\n *\n * Variations are interpreted easily if you think of them as the left to right\n * written languages. Horizontally (`top` and `bottom`), `start` is left and `end`\n * is right.
\n * Vertically (`left` and `right`), `start` is top and `end` is bottom.\n *\n * Some valid examples are:\n * - `top-end` (on top of reference, right aligned)\n * - `right-start` (on right of reference, top aligned)\n * - `bottom` (on bottom, centered)\n * - `auto-end` (on the side with more space available, alignment depends by placement)\n *\n * @static\n * @type {Array}\n * @enum {String}\n * @readonly\n * @method placements\n * @memberof Popper\n */\nexport default [\n 'auto-start',\n 'auto',\n 'auto-end',\n 'top-start',\n 'top',\n 'top-end',\n 'right-start',\n 'right',\n 'right-end',\n 'bottom-end',\n 'bottom',\n 'bottom-start',\n 'left-end',\n 'left',\n 'left-start',\n];\n","import placements from '../methods/placements';\n\n// Get rid of `auto` `auto-start` and `auto-end`\nconst validPlacements = placements.slice(3);\n\n/**\n * Given an initial placement, returns all the subsequent placements\n * clockwise (or counter-clockwise).\n *\n * @method\n * @memberof Popper.Utils\n * @argument {String} placement - A valid placement (it accepts variations)\n * @argument {Boolean} counter - Set to true to walk the placements counterclockwise\n * @returns {Array} placements including their variations\n */\nexport default function clockwise(placement, counter = false) {\n const index = validPlacements.indexOf(placement);\n const arr = validPlacements\n .slice(index + 1)\n .concat(validPlacements.slice(0, index));\n return counter ? arr.reverse() : arr;\n}\n","import getOppositePlacement from '../utils/getOppositePlacement';\nimport getOppositeVariation from '../utils/getOppositeVariation';\nimport getPopperOffsets from '../utils/getPopperOffsets';\nimport runModifiers from '../utils/runModifiers';\nimport getBoundaries from '../utils/getBoundaries';\nimport isModifierEnabled from '../utils/isModifierEnabled';\nimport clockwise from '../utils/clockwise';\n\nconst BEHAVIORS = {\n FLIP: 'flip',\n CLOCKWISE: 'clockwise',\n COUNTERCLOCKWISE: 'counterclockwise',\n};\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nexport default function flip(data, options) {\n // if `inner` modifier is enabled, we can't use the `flip` modifier\n if (isModifierEnabled(data.instance.modifiers, 'inner')) {\n return data;\n }\n\n if (data.flipped && data.placement === data.originalPlacement) {\n // seems like flip is trying to loop, probably there's not enough space on any of the flippable sides\n return data;\n }\n\n const boundaries = getBoundaries(\n data.instance.popper,\n data.instance.reference,\n options.padding,\n options.boundariesElement,\n data.positionFixed\n );\n\n let placement = data.placement.split('-')[0];\n let placementOpposite = getOppositePlacement(placement);\n let variation = data.placement.split('-')[1] || '';\n\n let flipOrder = [];\n\n switch (options.behavior) {\n case BEHAVIORS.FLIP:\n flipOrder = [placement, placementOpposite];\n break;\n case BEHAVIORS.CLOCKWISE:\n flipOrder = clockwise(placement);\n break;\n case BEHAVIORS.COUNTERCLOCKWISE:\n flipOrder = clockwise(placement, true);\n break;\n default:\n flipOrder = options.behavior;\n }\n\n flipOrder.forEach((step, index) => {\n if (placement !== step || flipOrder.length === index + 1) {\n return data;\n }\n\n placement = data.placement.split('-')[0];\n placementOpposite = getOppositePlacement(placement);\n\n const popperOffsets = data.offsets.popper;\n const refOffsets = data.offsets.reference;\n\n // using floor because the reference offsets may contain decimals we are not going to consider here\n const floor = Math.floor;\n const overlapsRef =\n (placement === 'left' &&\n floor(popperOffsets.right) > floor(refOffsets.left)) ||\n (placement === 'right' &&\n floor(popperOffsets.left) < floor(refOffsets.right)) ||\n (placement === 'top' &&\n floor(popperOffsets.bottom) > floor(refOffsets.top)) ||\n (placement === 'bottom' &&\n floor(popperOffsets.top) < floor(refOffsets.bottom));\n\n const overflowsLeft = floor(popperOffsets.left) < floor(boundaries.left);\n const overflowsRight = floor(popperOffsets.right) > floor(boundaries.right);\n const overflowsTop = floor(popperOffsets.top) < floor(boundaries.top);\n const overflowsBottom =\n floor(popperOffsets.bottom) > floor(boundaries.bottom);\n\n const overflowsBoundaries =\n (placement === 'left' && overflowsLeft) ||\n (placement === 'right' && overflowsRight) ||\n (placement === 'top' && overflowsTop) ||\n (placement === 'bottom' && overflowsBottom);\n\n // flip the variation if required\n const isVertical = ['top', 'bottom'].indexOf(placement) !== -1;\n\n // flips variation if reference element overflows boundaries\n const flippedVariationByRef =\n !!options.flipVariations &&\n ((isVertical && variation === 'start' && overflowsLeft) ||\n (isVertical && variation === 'end' && overflowsRight) ||\n (!isVertical && variation === 'start' && overflowsTop) ||\n (!isVertical && variation === 'end' && overflowsBottom));\n\n // flips variation if popper content overflows boundaries\n const flippedVariationByContent =\n !!options.flipVariationsByContent &&\n ((isVertical && variation === 'start' && overflowsRight) ||\n (isVertical && variation === 'end' && overflowsLeft) ||\n (!isVertical && variation === 'start' && overflowsBottom) ||\n (!isVertical && variation === 'end' && overflowsTop));\n\n const flippedVariation = flippedVariationByRef || flippedVariationByContent;\n\n if (overlapsRef || overflowsBoundaries || flippedVariation) {\n // this boolean to detect any flip loop\n data.flipped = true;\n\n if (overlapsRef || overflowsBoundaries) {\n placement = flipOrder[index + 1];\n }\n\n if (flippedVariation) {\n variation = getOppositeVariation(variation);\n }\n\n data.placement = placement + (variation ? '-' + variation : '');\n\n // this object contains `position`, we want to preserve it along with\n // any additional property we may add in the future\n data.offsets.popper = {\n ...data.offsets.popper,\n ...getPopperOffsets(\n data.instance.popper,\n data.offsets.reference,\n data.placement\n ),\n };\n\n data = runModifiers(data.instance.modifiers, data, 'flip');\n }\n });\n return data;\n}\n","import isNumeric from '../utils/isNumeric';\nimport getClientRect from '../utils/getClientRect';\nimport find from '../utils/find';\n\n/**\n * Converts a string containing value + unit into a px value number\n * @function\n * @memberof {modifiers~offset}\n * @private\n * @argument {String} str - Value + unit string\n * @argument {String} measurement - `height` or `width`\n * @argument {Object} popperOffsets\n * @argument {Object} referenceOffsets\n * @returns {Number|String}\n * Value in pixels, or original string if no values were extracted\n */\nexport function toValue(str, measurement, popperOffsets, referenceOffsets) {\n // separate value from unit\n const split = str.match(/((?:\\-|\\+)?\\d*\\.?\\d*)(.*)/);\n const value = +split[1];\n const unit = split[2];\n\n // If it's not a number it's an operator, I guess\n if (!value) {\n return str;\n }\n\n if (unit.indexOf('%') === 0) {\n let element;\n switch (unit) {\n case '%p':\n element = popperOffsets;\n break;\n case '%':\n case '%r':\n default:\n element = referenceOffsets;\n }\n\n const rect = getClientRect(element);\n return rect[measurement] / 100 * value;\n } else if (unit === 'vh' || unit === 'vw') {\n // if is a vh or vw, we calculate the size based on the viewport\n let size;\n if (unit === 'vh') {\n size = Math.max(\n document.documentElement.clientHeight,\n window.innerHeight || 0\n );\n } else {\n size = Math.max(\n document.documentElement.clientWidth,\n window.innerWidth || 0\n );\n }\n return size / 100 * value;\n } else {\n // if is an explicit pixel unit, we get rid of the unit and keep the value\n // if is an implicit unit, it's px, and we return just the value\n return value;\n }\n}\n\n/**\n * Parse an `offset` string to extrapolate `x` and `y` numeric offsets.\n * @function\n * @memberof {modifiers~offset}\n * @private\n * @argument {String} offset\n * @argument {Object} popperOffsets\n * @argument {Object} referenceOffsets\n * @argument {String} basePlacement\n * @returns {Array} a two cells array with x and y offsets in numbers\n */\nexport function parseOffset(\n offset,\n popperOffsets,\n referenceOffsets,\n basePlacement\n) {\n const offsets = [0, 0];\n\n // Use height if placement is left or right and index is 0 otherwise use width\n // in this way the first offset will use an axis and the second one\n // will use the other one\n const useHeight = ['right', 'left'].indexOf(basePlacement) !== -1;\n\n // Split the offset string to obtain a list of values and operands\n // The regex addresses values with the plus or minus sign in front (+10, -20, etc)\n const fragments = offset.split(/(\\+|\\-)/).map(frag => frag.trim());\n\n // Detect if the offset string contains a pair of values or a single one\n // they could be separated by comma or space\n const divider = fragments.indexOf(\n find(fragments, frag => frag.search(/,|\\s/) !== -1)\n );\n\n if (fragments[divider] && fragments[divider].indexOf(',') === -1) {\n console.warn(\n 'Offsets separated by white space(s) are deprecated, use a comma (,) instead.'\n );\n }\n\n // If divider is found, we divide the list of values and operands to divide\n // them by ofset X and Y.\n const splitRegex = /\\s*,\\s*|\\s+/;\n let ops = divider !== -1\n ? [\n fragments\n .slice(0, divider)\n .concat([fragments[divider].split(splitRegex)[0]]),\n [fragments[divider].split(splitRegex)[1]].concat(\n fragments.slice(divider + 1)\n ),\n ]\n : [fragments];\n\n // Convert the values with units to absolute pixels to allow our computations\n ops = ops.map((op, index) => {\n // Most of the units rely on the orientation of the popper\n const measurement = (index === 1 ? !useHeight : useHeight)\n ? 'height'\n : 'width';\n let mergeWithPrevious = false;\n return (\n op\n // This aggregates any `+` or `-` sign that aren't considered operators\n // e.g.: 10 + +5 => [10, +, +5]\n .reduce((a, b) => {\n if (a[a.length - 1] === '' && ['+', '-'].indexOf(b) !== -1) {\n a[a.length - 1] = b;\n mergeWithPrevious = true;\n return a;\n } else if (mergeWithPrevious) {\n a[a.length - 1] += b;\n mergeWithPrevious = false;\n return a;\n } else {\n return a.concat(b);\n }\n }, [])\n // Here we convert the string values into number values (in px)\n .map(str => toValue(str, measurement, popperOffsets, referenceOffsets))\n );\n });\n\n // Loop trough the offsets arrays and execute the operations\n ops.forEach((op, index) => {\n op.forEach((frag, index2) => {\n if (isNumeric(frag)) {\n offsets[index] += frag * (op[index2 - 1] === '-' ? -1 : 1);\n }\n });\n });\n return offsets;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @argument {Number|String} options.offset=0\n * The offset value as described in the modifier description\n * @returns {Object} The data object, properly modified\n */\nexport default function offset(data, { offset }) {\n const { placement, offsets: { popper, reference } } = data;\n const basePlacement = placement.split('-')[0];\n\n let offsets;\n if (isNumeric(+offset)) {\n offsets = [+offset, 0];\n } else {\n offsets = parseOffset(offset, popper, reference, basePlacement);\n }\n\n if (basePlacement === 'left') {\n popper.top += offsets[0];\n popper.left -= offsets[1];\n } else if (basePlacement === 'right') {\n popper.top += offsets[0];\n popper.left += offsets[1];\n } else if (basePlacement === 'top') {\n popper.left += offsets[0];\n popper.top -= offsets[1];\n } else if (basePlacement === 'bottom') {\n popper.left += offsets[0];\n popper.top += offsets[1];\n }\n\n data.popper = popper;\n return data;\n}\n","import applyStyle, { applyStyleOnLoad } from './applyStyle';\nimport computeStyle from './computeStyle';\nimport arrow from './arrow';\nimport flip from './flip';\nimport keepTogether from './keepTogether';\nimport offset from './offset';\nimport preventOverflow from './preventOverflow';\nimport shift from './shift';\nimport hide from './hide';\nimport inner from './inner';\n\n/**\n * Modifier function, each modifier can have a function of this type assigned\n * to its `fn` property.
\n * These functions will be called on each update, this means that you must\n * make sure they are performant enough to avoid performance bottlenecks.\n *\n * @function ModifierFn\n * @argument {dataObject} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {dataObject} The data object, properly modified\n */\n\n/**\n * Modifiers are plugins used to alter the behavior of your poppers.
\n * Popper.js uses a set of 9 modifiers to provide all the basic functionalities\n * needed by the library.\n *\n * Usually you don't want to override the `order`, `fn` and `onLoad` props.\n * All the other properties are configurations that could be tweaked.\n * @namespace modifiers\n */\nexport default {\n /**\n * Modifier used to shift the popper on the start or end of its reference\n * element.
\n * It will read the variation of the `placement` property.
\n * It can be one either `-end` or `-start`.\n * @memberof modifiers\n * @inner\n */\n shift: {\n /** @prop {number} order=100 - Index used to define the order of execution */\n order: 100,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: shift,\n },\n\n /**\n * The `offset` modifier can shift your popper on both its axis.\n *\n * It accepts the following units:\n * - `px` or unit-less, interpreted as pixels\n * - `%` or `%r`, percentage relative to the length of the reference element\n * - `%p`, percentage relative to the length of the popper element\n * - `vw`, CSS viewport width unit\n * - `vh`, CSS viewport height unit\n *\n * For length is intended the main axis relative to the placement of the popper.
\n * This means that if the placement is `top` or `bottom`, the length will be the\n * `width`. In case of `left` or `right`, it will be the `height`.\n *\n * You can provide a single value (as `Number` or `String`), or a pair of values\n * as `String` divided by a comma or one (or more) white spaces.
\n * The latter is a deprecated method because it leads to confusion and will be\n * removed in v2.
\n * Additionally, it accepts additions and subtractions between different units.\n * Note that multiplications and divisions aren't supported.\n *\n * Valid examples are:\n * ```\n * 10\n * '10%'\n * '10, 10'\n * '10%, 10'\n * '10 + 10%'\n * '10 - 5vh + 3%'\n * '-10px + 5vh, 5px - 6%'\n * ```\n * > **NB**: If you desire to apply offsets to your poppers in a way that may make them overlap\n * > with their reference element, unfortunately, you will have to disable the `flip` modifier.\n * > You can read more on this at this [issue](https://github.com/FezVrasta/popper.js/issues/373).\n *\n * @memberof modifiers\n * @inner\n */\n offset: {\n /** @prop {number} order=200 - Index used to define the order of execution */\n order: 200,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: offset,\n /** @prop {Number|String} offset=0\n * The offset value as described in the modifier description\n */\n offset: 0,\n },\n\n /**\n * Modifier used to prevent the popper from being positioned outside the boundary.\n *\n * A scenario exists where the reference itself is not within the boundaries.
\n * We can say it has \"escaped the boundaries\" — or just \"escaped\".
\n * In this case we need to decide whether the popper should either:\n *\n * - detach from the reference and remain \"trapped\" in the boundaries, or\n * - if it should ignore the boundary and \"escape with its reference\"\n *\n * When `escapeWithReference` is set to`true` and reference is completely\n * outside its boundaries, the popper will overflow (or completely leave)\n * the boundaries in order to remain attached to the edge of the reference.\n *\n * @memberof modifiers\n * @inner\n */\n preventOverflow: {\n /** @prop {number} order=300 - Index used to define the order of execution */\n order: 300,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: preventOverflow,\n /**\n * @prop {Array} [priority=['left','right','top','bottom']]\n * Popper will try to prevent overflow following these priorities by default,\n * then, it could overflow on the left and on top of the `boundariesElement`\n */\n priority: ['left', 'right', 'top', 'bottom'],\n /**\n * @prop {number} padding=5\n * Amount of pixel used to define a minimum distance between the boundaries\n * and the popper. This makes sure the popper always has a little padding\n * between the edges of its container\n */\n padding: 5,\n /**\n * @prop {String|HTMLElement} boundariesElement='scrollParent'\n * Boundaries used by the modifier. Can be `scrollParent`, `window`,\n * `viewport` or any DOM element.\n */\n boundariesElement: 'scrollParent',\n },\n\n /**\n * Modifier used to make sure the reference and its popper stay near each other\n * without leaving any gap between the two. Especially useful when the arrow is\n * enabled and you want to ensure that it points to its reference element.\n * It cares only about the first axis. You can still have poppers with margin\n * between the popper and its reference element.\n * @memberof modifiers\n * @inner\n */\n keepTogether: {\n /** @prop {number} order=400 - Index used to define the order of execution */\n order: 400,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: keepTogether,\n },\n\n /**\n * This modifier is used to move the `arrowElement` of the popper to make\n * sure it is positioned between the reference element and its popper element.\n * It will read the outer size of the `arrowElement` node to detect how many\n * pixels of conjunction are needed.\n *\n * It has no effect if no `arrowElement` is provided.\n * @memberof modifiers\n * @inner\n */\n arrow: {\n /** @prop {number} order=500 - Index used to define the order of execution */\n order: 500,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: arrow,\n /** @prop {String|HTMLElement} element='[x-arrow]' - Selector or node used as arrow */\n element: '[x-arrow]',\n },\n\n /**\n * Modifier used to flip the popper's placement when it starts to overlap its\n * reference element.\n *\n * Requires the `preventOverflow` modifier before it in order to work.\n *\n * **NOTE:** this modifier will interrupt the current update cycle and will\n * restart it if it detects the need to flip the placement.\n * @memberof modifiers\n * @inner\n */\n flip: {\n /** @prop {number} order=600 - Index used to define the order of execution */\n order: 600,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: flip,\n /**\n * @prop {String|Array} behavior='flip'\n * The behavior used to change the popper's placement. It can be one of\n * `flip`, `clockwise`, `counterclockwise` or an array with a list of valid\n * placements (with optional variations)\n */\n behavior: 'flip',\n /**\n * @prop {number} padding=5\n * The popper will flip if it hits the edges of the `boundariesElement`\n */\n padding: 5,\n /**\n * @prop {String|HTMLElement} boundariesElement='viewport'\n * The element which will define the boundaries of the popper position.\n * The popper will never be placed outside of the defined boundaries\n * (except if `keepTogether` is enabled)\n */\n boundariesElement: 'viewport',\n /**\n * @prop {Boolean} flipVariations=false\n * The popper will switch placement variation between `-start` and `-end` when\n * the reference element overlaps its boundaries.\n *\n * The original placement should have a set variation.\n */\n flipVariations: false,\n /**\n * @prop {Boolean} flipVariationsByContent=false\n * The popper will switch placement variation between `-start` and `-end` when\n * the popper element overlaps its reference boundaries.\n *\n * The original placement should have a set variation.\n */\n flipVariationsByContent: false,\n },\n\n /**\n * Modifier used to make the popper flow toward the inner of the reference element.\n * By default, when this modifier is disabled, the popper will be placed outside\n * the reference element.\n * @memberof modifiers\n * @inner\n */\n inner: {\n /** @prop {number} order=700 - Index used to define the order of execution */\n order: 700,\n /** @prop {Boolean} enabled=false - Whether the modifier is enabled or not */\n enabled: false,\n /** @prop {ModifierFn} */\n fn: inner,\n },\n\n /**\n * Modifier used to hide the popper when its reference element is outside of the\n * popper boundaries. It will set a `x-out-of-boundaries` attribute which can\n * be used to hide with a CSS selector the popper when its reference is\n * out of boundaries.\n *\n * Requires the `preventOverflow` modifier before it in order to work.\n * @memberof modifiers\n * @inner\n */\n hide: {\n /** @prop {number} order=800 - Index used to define the order of execution */\n order: 800,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: hide,\n },\n\n /**\n * Computes the style that will be applied to the popper element to gets\n * properly positioned.\n *\n * Note that this modifier will not touch the DOM, it just prepares the styles\n * so that `applyStyle` modifier can apply it. This separation is useful\n * in case you need to replace `applyStyle` with a custom implementation.\n *\n * This modifier has `850` as `order` value to maintain backward compatibility\n * with previous versions of Popper.js. Expect the modifiers ordering method\n * to change in future major versions of the library.\n *\n * @memberof modifiers\n * @inner\n */\n computeStyle: {\n /** @prop {number} order=850 - Index used to define the order of execution */\n order: 850,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: computeStyle,\n /**\n * @prop {Boolean} gpuAcceleration=true\n * If true, it uses the CSS 3D transformation to position the popper.\n * Otherwise, it will use the `top` and `left` properties\n */\n gpuAcceleration: true,\n /**\n * @prop {string} [x='bottom']\n * Where to anchor the X axis (`bottom` or `top`). AKA X offset origin.\n * Change this if your popper should grow in a direction different from `bottom`\n */\n x: 'bottom',\n /**\n * @prop {string} [x='left']\n * Where to anchor the Y axis (`left` or `right`). AKA Y offset origin.\n * Change this if your popper should grow in a direction different from `right`\n */\n y: 'right',\n },\n\n /**\n * Applies the computed styles to the popper element.\n *\n * All the DOM manipulations are limited to this modifier. This is useful in case\n * you want to integrate Popper.js inside a framework or view library and you\n * want to delegate all the DOM manipulations to it.\n *\n * Note that if you disable this modifier, you must make sure the popper element\n * has its position set to `absolute` before Popper.js can do its work!\n *\n * Just disable this modifier and define your own to achieve the desired effect.\n *\n * @memberof modifiers\n * @inner\n */\n applyStyle: {\n /** @prop {number} order=900 - Index used to define the order of execution */\n order: 900,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: applyStyle,\n /** @prop {Function} */\n onLoad: applyStyleOnLoad,\n /**\n * @deprecated since version 1.10.0, the property moved to `computeStyle` modifier\n * @prop {Boolean} gpuAcceleration=true\n * If true, it uses the CSS 3D transformation to position the popper.\n * Otherwise, it will use the `top` and `left` properties\n */\n gpuAcceleration: undefined,\n },\n};\n\n/**\n * The `dataObject` is an object containing all the information used by Popper.js.\n * This object is passed to modifiers and to the `onCreate` and `onUpdate` callbacks.\n * @name dataObject\n * @property {Object} data.instance The Popper.js instance\n * @property {String} data.placement Placement applied to popper\n * @property {String} data.originalPlacement Placement originally defined on init\n * @property {Boolean} data.flipped True if popper has been flipped by flip modifier\n * @property {Boolean} data.hide True if the reference element is out of boundaries, useful to know when to hide the popper\n * @property {HTMLElement} data.arrowElement Node used as arrow by arrow modifier\n * @property {Object} data.styles Any CSS property defined here will be applied to the popper. It expects the JavaScript nomenclature (eg. `marginBottom`)\n * @property {Object} data.arrowStyles Any CSS property defined here will be applied to the popper arrow. It expects the JavaScript nomenclature (eg. `marginBottom`)\n * @property {Object} data.boundaries Offsets of the popper boundaries\n * @property {Object} data.offsets The measurements of popper, reference and arrow elements\n * @property {Object} data.offsets.popper `top`, `left`, `width`, `height` values\n * @property {Object} data.offsets.reference `top`, `left`, `width`, `height` values\n * @property {Object} data.offsets.arrow] `top` and `left` offsets, only one of them will be different from 0\n */\n","import modifiers from '../modifiers/index';\n\n/**\n * Default options provided to Popper.js constructor.
\n * These can be overridden using the `options` argument of Popper.js.
\n * To override an option, simply pass an object with the same\n * structure of the `options` object, as the 3rd argument. For example:\n * ```\n * new Popper(ref, pop, {\n * modifiers: {\n * preventOverflow: { enabled: false }\n * }\n * })\n * ```\n * @type {Object}\n * @static\n * @memberof Popper\n */\nexport default {\n /**\n * Popper's placement.\n * @prop {Popper.placements} placement='bottom'\n */\n placement: 'bottom',\n\n /**\n * Set this to true if you want popper to position it self in 'fixed' mode\n * @prop {Boolean} positionFixed=false\n */\n positionFixed: false,\n\n /**\n * Whether events (resize, scroll) are initially enabled.\n * @prop {Boolean} eventsEnabled=true\n */\n eventsEnabled: true,\n\n /**\n * Set to true if you want to automatically remove the popper when\n * you call the `destroy` method.\n * @prop {Boolean} removeOnDestroy=false\n */\n removeOnDestroy: false,\n\n /**\n * Callback called when the popper is created.
\n * By default, it is set to no-op.
\n * Access Popper.js instance with `data.instance`.\n * @prop {onCreate}\n */\n onCreate: () => {},\n\n /**\n * Callback called when the popper is updated. This callback is not called\n * on the initialization/creation of the popper, but only on subsequent\n * updates.
\n * By default, it is set to no-op.
\n * Access Popper.js instance with `data.instance`.\n * @prop {onUpdate}\n */\n onUpdate: () => {},\n\n /**\n * List of modifiers used to modify the offsets before they are applied to the popper.\n * They provide most of the functionalities of Popper.js.\n * @prop {modifiers}\n */\n modifiers,\n};\n\n/**\n * @callback onCreate\n * @param {dataObject} data\n */\n\n/**\n * @callback onUpdate\n * @param {dataObject} data\n */\n","/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nexport default function shift(data) {\n const placement = data.placement;\n const basePlacement = placement.split('-')[0];\n const shiftvariation = placement.split('-')[1];\n\n // if shift shiftvariation is specified, run the modifier\n if (shiftvariation) {\n const { reference, popper } = data.offsets;\n const isVertical = ['bottom', 'top'].indexOf(basePlacement) !== -1;\n const side = isVertical ? 'left' : 'top';\n const measurement = isVertical ? 'width' : 'height';\n\n const shiftOffsets = {\n start: { [side]: reference[side] },\n end: {\n [side]: reference[side] + reference[measurement] - popper[measurement],\n },\n };\n\n data.offsets.popper = { ...popper, ...shiftOffsets[shiftvariation] };\n }\n\n return data;\n}\n","import getOffsetParent from '../utils/getOffsetParent';\nimport getBoundaries from '../utils/getBoundaries';\nimport getSupportedPropertyName from '../utils/getSupportedPropertyName';\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nexport default function preventOverflow(data, options) {\n let boundariesElement =\n options.boundariesElement || getOffsetParent(data.instance.popper);\n\n // If offsetParent is the reference element, we really want to\n // go one step up and use the next offsetParent as reference to\n // avoid to make this modifier completely useless and look like broken\n if (data.instance.reference === boundariesElement) {\n boundariesElement = getOffsetParent(boundariesElement);\n }\n\n // NOTE: DOM access here\n // resets the popper's position so that the document size can be calculated excluding\n // the size of the popper element itself\n const transformProp = getSupportedPropertyName('transform');\n const popperStyles = data.instance.popper.style; // assignment to help minification\n const { top, left, [transformProp]: transform } = popperStyles;\n popperStyles.top = '';\n popperStyles.left = '';\n popperStyles[transformProp] = '';\n\n const boundaries = getBoundaries(\n data.instance.popper,\n data.instance.reference,\n options.padding,\n boundariesElement,\n data.positionFixed\n );\n\n // NOTE: DOM access here\n // restores the original style properties after the offsets have been computed\n popperStyles.top = top;\n popperStyles.left = left;\n popperStyles[transformProp] = transform;\n\n options.boundaries = boundaries;\n\n const order = options.priority;\n let popper = data.offsets.popper;\n\n const check = {\n primary(placement) {\n let value = popper[placement];\n if (\n popper[placement] < boundaries[placement] &&\n !options.escapeWithReference\n ) {\n value = Math.max(popper[placement], boundaries[placement]);\n }\n return { [placement]: value };\n },\n secondary(placement) {\n const mainSide = placement === 'right' ? 'left' : 'top';\n let value = popper[mainSide];\n if (\n popper[placement] > boundaries[placement] &&\n !options.escapeWithReference\n ) {\n value = Math.min(\n popper[mainSide],\n boundaries[placement] -\n (placement === 'right' ? popper.width : popper.height)\n );\n }\n return { [mainSide]: value };\n },\n };\n\n order.forEach(placement => {\n const side =\n ['left', 'top'].indexOf(placement) !== -1 ? 'primary' : 'secondary';\n popper = { ...popper, ...check[side](placement) };\n });\n\n data.offsets.popper = popper;\n\n return data;\n}\n","/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nexport default function keepTogether(data) {\n const { popper, reference } = data.offsets;\n const placement = data.placement.split('-')[0];\n const floor = Math.floor;\n const isVertical = ['top', 'bottom'].indexOf(placement) !== -1;\n const side = isVertical ? 'right' : 'bottom';\n const opSide = isVertical ? 'left' : 'top';\n const measurement = isVertical ? 'width' : 'height';\n\n if (popper[side] < floor(reference[opSide])) {\n data.offsets.popper[opSide] =\n floor(reference[opSide]) - popper[measurement];\n }\n if (popper[opSide] > floor(reference[side])) {\n data.offsets.popper[opSide] = floor(reference[side]);\n }\n\n return data;\n}\n","import getClientRect from '../utils/getClientRect';\nimport getOuterSizes from '../utils/getOuterSizes';\nimport isModifierRequired from '../utils/isModifierRequired';\nimport getStyleComputedProperty from '../utils/getStyleComputedProperty';\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nexport default function arrow(data, options) {\n // arrow depends on keepTogether in order to work\n if (!isModifierRequired(data.instance.modifiers, 'arrow', 'keepTogether')) {\n return data;\n }\n\n let arrowElement = options.element;\n\n // if arrowElement is a string, suppose it's a CSS selector\n if (typeof arrowElement === 'string') {\n arrowElement = data.instance.popper.querySelector(arrowElement);\n\n // if arrowElement is not found, don't run the modifier\n if (!arrowElement) {\n return data;\n }\n } else {\n // if the arrowElement isn't a query selector we must check that the\n // provided DOM node is child of its popper node\n if (!data.instance.popper.contains(arrowElement)) {\n console.warn(\n 'WARNING: `arrow.element` must be child of its popper element!'\n );\n return data;\n }\n }\n\n const placement = data.placement.split('-')[0];\n const { popper, reference } = data.offsets;\n const isVertical = ['left', 'right'].indexOf(placement) !== -1;\n\n const len = isVertical ? 'height' : 'width';\n const sideCapitalized = isVertical ? 'Top' : 'Left';\n const side = sideCapitalized.toLowerCase();\n const altSide = isVertical ? 'left' : 'top';\n const opSide = isVertical ? 'bottom' : 'right';\n const arrowElementSize = getOuterSizes(arrowElement)[len];\n\n //\n // extends keepTogether behavior making sure the popper and its\n // reference have enough pixels in conjunction\n //\n\n // top/left side\n if (reference[opSide] - arrowElementSize < popper[side]) {\n data.offsets.popper[side] -=\n popper[side] - (reference[opSide] - arrowElementSize);\n }\n // bottom/right side\n if (reference[side] + arrowElementSize > popper[opSide]) {\n data.offsets.popper[side] +=\n reference[side] + arrowElementSize - popper[opSide];\n }\n data.offsets.popper = getClientRect(data.offsets.popper);\n\n // compute center of the popper\n const center = reference[side] + reference[len] / 2 - arrowElementSize / 2;\n\n // Compute the sideValue using the updated popper offsets\n // take popper margin in account because we don't have this info available\n const css = getStyleComputedProperty(data.instance.popper);\n const popperMarginSide = parseFloat(css[`margin${sideCapitalized}`]);\n const popperBorderSide = parseFloat(css[`border${sideCapitalized}Width`]);\n let sideValue =\n center - data.offsets.popper[side] - popperMarginSide - popperBorderSide;\n\n // prevent arrowElement from being placed not contiguously to its popper\n sideValue = Math.max(Math.min(popper[len] - arrowElementSize, sideValue), 0);\n\n data.arrowElement = arrowElement;\n data.offsets.arrow = {\n [side]: Math.round(sideValue),\n [altSide]: '', // make sure to unset any eventual altSide value from the DOM node\n };\n\n return data;\n}\n","/**\n * Get the opposite placement variation of the given one\n * @method\n * @memberof Popper.Utils\n * @argument {String} placement variation\n * @returns {String} flipped placement variation\n */\nexport default function getOppositeVariation(variation) {\n if (variation === 'end') {\n return 'start';\n } else if (variation === 'start') {\n return 'end';\n }\n return variation;\n}\n","import getClientRect from '../utils/getClientRect';\nimport getOppositePlacement from '../utils/getOppositePlacement';\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nexport default function inner(data) {\n const placement = data.placement;\n const basePlacement = placement.split('-')[0];\n const { popper, reference } = data.offsets;\n const isHoriz = ['left', 'right'].indexOf(basePlacement) !== -1;\n\n const subtractLength = ['top', 'left'].indexOf(basePlacement) === -1;\n\n popper[isHoriz ? 'left' : 'top'] =\n reference[basePlacement] -\n (subtractLength ? popper[isHoriz ? 'width' : 'height'] : 0);\n\n data.placement = getOppositePlacement(placement);\n data.offsets.popper = getClientRect(popper);\n\n return data;\n}\n","import isModifierRequired from '../utils/isModifierRequired';\nimport find from '../utils/find';\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nexport default function hide(data) {\n if (!isModifierRequired(data.instance.modifiers, 'hide', 'preventOverflow')) {\n return data;\n }\n\n const refRect = data.offsets.reference;\n const bound = find(\n data.instance.modifiers,\n modifier => modifier.name === 'preventOverflow'\n ).boundaries;\n\n if (\n refRect.bottom < bound.top ||\n refRect.left > bound.right ||\n refRect.top > bound.bottom ||\n refRect.right < bound.left\n ) {\n // Avoid unnecessary DOM access if visibility hasn't changed\n if (data.hide === true) {\n return data;\n }\n\n data.hide = true;\n data.attributes['x-out-of-boundaries'] = '';\n } else {\n // Avoid unnecessary DOM access if visibility hasn't changed\n if (data.hide === false) {\n return data;\n }\n\n data.hide = false;\n data.attributes['x-out-of-boundaries'] = false;\n }\n\n return data;\n}\n","/**\n * @function\n * @memberof Popper.Utils\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Boolean} shouldRound - If the offsets should be rounded at all\n * @returns {Object} The popper's position offsets rounded\n *\n * The tale of pixel-perfect positioning. It's still not 100% perfect, but as\n * good as it can be within reason.\n * Discussion here: https://github.com/FezVrasta/popper.js/pull/715\n *\n * Low DPI screens cause a popper to be blurry if not using full pixels (Safari\n * as well on High DPI screens).\n *\n * Firefox prefers no rounding for positioning and does not have blurriness on\n * high DPI screens.\n *\n * Only horizontal placement and left/right values need to be considered.\n */\nexport default function getRoundedOffsets(data, shouldRound) {\n const { popper, reference } = data.offsets;\n const { round, floor } = Math;\n const noRound = v => v;\n \n const referenceWidth = round(reference.width);\n const popperWidth = round(popper.width);\n \n const isVertical = ['left', 'right'].indexOf(data.placement) !== -1;\n const isVariation = data.placement.indexOf('-') !== -1;\n const sameWidthParity = referenceWidth % 2 === popperWidth % 2;\n const bothOddWidth = referenceWidth % 2 === 1 && popperWidth % 2 === 1;\n\n const horizontalToInteger = !shouldRound\n ? noRound\n : isVertical || isVariation || sameWidthParity\n ? round\n : floor;\n const verticalToInteger = !shouldRound ? noRound : round;\n\n return {\n left: horizontalToInteger(\n bothOddWidth && !isVariation && shouldRound\n ? popper.left - 1\n : popper.left\n ),\n top: verticalToInteger(popper.top),\n bottom: verticalToInteger(popper.bottom),\n right: horizontalToInteger(popper.right),\n };\n}\n","import setStyles from '../utils/setStyles';\nimport setAttributes from '../utils/setAttributes';\nimport getReferenceOffsets from '../utils/getReferenceOffsets';\nimport computeAutoPlacement from '../utils/computeAutoPlacement';\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} data.styles - List of style properties - values to apply to popper element\n * @argument {Object} data.attributes - List of attribute properties - values to apply to popper element\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The same data object\n */\nexport default function applyStyle(data) {\n // any property present in `data.styles` will be applied to the popper,\n // in this way we can make the 3rd party modifiers add custom styles to it\n // Be aware, modifiers could override the properties defined in the previous\n // lines of this modifier!\n setStyles(data.instance.popper, data.styles);\n\n // any property present in `data.attributes` will be applied to the popper,\n // they will be set as HTML attributes of the element\n setAttributes(data.instance.popper, data.attributes);\n\n // if arrowElement is defined and arrowStyles has some properties\n if (data.arrowElement && Object.keys(data.arrowStyles).length) {\n setStyles(data.arrowElement, data.arrowStyles);\n }\n\n return data;\n}\n\n/**\n * Set the x-placement attribute before everything else because it could be used\n * to add margins to the popper margins needs to be calculated to get the\n * correct popper offsets.\n * @method\n * @memberof Popper.modifiers\n * @param {HTMLElement} reference - The reference element used to position the popper\n * @param {HTMLElement} popper - The HTML element used as popper\n * @param {Object} options - Popper.js options\n */\nexport function applyStyleOnLoad(\n reference,\n popper,\n options,\n modifierOptions,\n state\n) {\n // compute reference element offsets\n const referenceOffsets = getReferenceOffsets(state, popper, reference, options.positionFixed);\n\n // compute auto placement, store placement inside the data object,\n // modifiers will be able to edit `placement` if needed\n // and refer to originalPlacement to know the original value\n const placement = computeAutoPlacement(\n options.placement,\n referenceOffsets,\n popper,\n reference,\n options.modifiers.flip.boundariesElement,\n options.modifiers.flip.padding\n );\n\n popper.setAttribute('x-placement', placement);\n\n // Apply `position` to popper before anything else because\n // without the position applied we can't guarantee correct computations\n setStyles(popper, { position: options.positionFixed ? 'fixed' : 'absolute' });\n\n return options;\n}\n","/**\n * Set the attributes to the given popper\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element - Element to apply the attributes to\n * @argument {Object} styles\n * Object with a list of properties and values which will be applied to the element\n */\nexport default function setAttributes(element, attributes) {\n Object.keys(attributes).forEach(function(prop) {\n const value = attributes[prop];\n if (value !== false) {\n element.setAttribute(prop, attributes[prop]);\n } else {\n element.removeAttribute(prop);\n }\n });\n}\n","// Utils\nimport debounce from './utils/debounce';\nimport isFunction from './utils/isFunction';\n\n// Methods\nimport update from './methods/update';\nimport destroy from './methods/destroy';\nimport enableEventListeners from './methods/enableEventListeners';\nimport disableEventListeners from './methods/disableEventListeners';\nimport Defaults from './methods/defaults';\nimport placements from './methods/placements';\n\nexport default class Popper {\n /**\n * Creates a new Popper.js instance.\n * @class Popper\n * @param {Element|referenceObject} reference - The reference element used to position the popper\n * @param {Element} popper - The HTML / XML element used as the popper\n * @param {Object} options - Your custom options to override the ones defined in [Defaults](#defaults)\n * @return {Object} instance - The generated Popper.js instance\n */\n constructor(reference, popper, options = {}) {\n // make update() debounced, so that it only runs at most once-per-tick\n this.update = debounce(this.update.bind(this));\n\n // with {} we create a new object with the options inside it\n this.options = { ...Popper.Defaults, ...options };\n\n // init state\n this.state = {\n isDestroyed: false,\n isCreated: false,\n scrollParents: [],\n };\n\n // get reference and popper elements (allow jQuery wrappers)\n this.reference = reference && reference.jquery ? reference[0] : reference;\n this.popper = popper && popper.jquery ? popper[0] : popper;\n\n // Deep merge modifiers options\n this.options.modifiers = {};\n Object.keys({\n ...Popper.Defaults.modifiers,\n ...options.modifiers,\n }).forEach(name => {\n this.options.modifiers[name] = {\n // If it's a built-in modifier, use it as base\n ...(Popper.Defaults.modifiers[name] || {}),\n // If there are custom options, override and merge with default ones\n ...(options.modifiers ? options.modifiers[name] : {}),\n };\n });\n\n // Refactoring modifiers' list (Object => Array)\n this.modifiers = Object.keys(this.options.modifiers)\n .map(name => ({\n name,\n ...this.options.modifiers[name],\n }))\n // sort the modifiers by order\n .sort((a, b) => a.order - b.order);\n\n // modifiers have the ability to execute arbitrary code when Popper.js get inited\n // such code is executed in the same order of its modifier\n // they could add new properties to their options configuration\n // BE AWARE: don't add options to `options.modifiers.name` but to `modifierOptions`!\n this.modifiers.forEach(modifierOptions => {\n if (modifierOptions.enabled && isFunction(modifierOptions.onLoad)) {\n modifierOptions.onLoad(\n this.reference,\n this.popper,\n this.options,\n modifierOptions,\n this.state\n );\n }\n });\n\n // fire the first update to position the popper in the right place\n this.update();\n\n const eventsEnabled = this.options.eventsEnabled;\n if (eventsEnabled) {\n // setup event listeners, they will take care of update the position in specific situations\n this.enableEventListeners();\n }\n\n this.state.eventsEnabled = eventsEnabled;\n }\n\n // We can't use class properties because they don't get listed in the\n // class prototype and break stuff like Sinon stubs\n update() {\n return update.call(this);\n }\n destroy() {\n return destroy.call(this);\n }\n enableEventListeners() {\n return enableEventListeners.call(this);\n }\n disableEventListeners() {\n return disableEventListeners.call(this);\n }\n\n /**\n * Schedules an update. It will run on the next UI update available.\n * @method scheduleUpdate\n * @memberof Popper\n */\n scheduleUpdate = () => requestAnimationFrame(this.update);\n\n /**\n * Collection of utilities useful when writing custom modifiers.\n * Starting from version 1.7, this method is available only if you\n * include `popper-utils.js` before `popper.js`.\n *\n * **DEPRECATION**: This way to access PopperUtils is deprecated\n * and will be removed in v2! Use the PopperUtils module directly instead.\n * Due to the high instability of the methods contained in Utils, we can't\n * guarantee them to follow semver. Use them at your own risk!\n * @static\n * @private\n * @type {Object}\n * @deprecated since version 1.8\n * @member Utils\n * @memberof Popper\n */\n static Utils = (typeof window !== 'undefined' ? window : global).PopperUtils;\n\n static placements = placements;\n\n static Defaults = Defaults;\n}\n\n/**\n * The `referenceObject` is an object that provides an interface compatible with Popper.js\n * and lets you use it as replacement of a real DOM node.
\n * You can use this method to position a popper relatively to a set of coordinates\n * in case you don't have a DOM node to use as reference.\n *\n * ```\n * new Popper(referenceObject, popperNode);\n * ```\n *\n * NB: This feature isn't supported in Internet Explorer 10.\n * @name referenceObject\n * @property {Function} data.getBoundingClientRect\n * A function that returns a set of coordinates compatible with the native `getBoundingClientRect` method.\n * @property {number} data.clientWidth\n * An ES6 getter that will return the width of the virtual reference element.\n * @property {number} data.clientHeight\n * An ES6 getter that will return the height of the virtual reference element.\n */\n","import _inheritsLoose from \"@babel/runtime/helpers/inheritsLoose\";\nimport _assertThisInitialized from \"@babel/runtime/helpers/assertThisInitialized\";\nimport _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nimport * as React from 'react';\nimport createContext from '@hypnosphi/create-react-context';\nexport var ManagerReferenceNodeContext = createContext();\nexport var ManagerReferenceNodeSetterContext = createContext();\n\nvar Manager =\n/*#__PURE__*/\nfunction (_React$Component) {\n _inheritsLoose(Manager, _React$Component);\n\n function Manager() {\n var _this;\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n _this = _React$Component.call.apply(_React$Component, [this].concat(args)) || this;\n\n _defineProperty(_assertThisInitialized(_assertThisInitialized(_this)), \"referenceNode\", void 0);\n\n _defineProperty(_assertThisInitialized(_assertThisInitialized(_this)), \"setReferenceNode\", function (newReferenceNode) {\n if (newReferenceNode && _this.referenceNode !== newReferenceNode) {\n _this.referenceNode = newReferenceNode;\n\n _this.forceUpdate();\n }\n });\n\n return _this;\n }\n\n var _proto = Manager.prototype;\n\n _proto.componentWillUnmount = function componentWillUnmount() {\n this.referenceNode = null;\n };\n\n _proto.render = function render() {\n return React.createElement(ManagerReferenceNodeContext.Provider, {\n value: this.referenceNode\n }, React.createElement(ManagerReferenceNodeSetterContext.Provider, {\n value: this.setReferenceNode\n }, this.props.children));\n };\n\n return Manager;\n}(React.Component);\n\nexport { Manager as default };","/**\n * Takes an argument and if it's an array, returns the first item in the array,\n * otherwise returns the argument. Used for Preact compatibility.\n */\nexport var unwrapArray = function unwrapArray(arg) {\n return Array.isArray(arg) ? arg[0] : arg;\n};\n/**\n * Takes a maybe-undefined function and arbitrary args and invokes the function\n * only if it is defined.\n */\n\nexport var safeInvoke = function safeInvoke(fn) {\n if (typeof fn === \"function\") {\n for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n\n return fn.apply(void 0, args);\n }\n};\n/**\n * Does a shallow equality check of two objects by comparing the reference\n * equality of each value.\n */\n\nexport var shallowEqual = function shallowEqual(objA, objB) {\n var aKeys = Object.keys(objA);\n var bKeys = Object.keys(objB);\n\n if (bKeys.length !== aKeys.length) {\n return false;\n }\n\n for (var i = 0; i < bKeys.length; i++) {\n var key = aKeys[i];\n\n if (objA[key] !== objB[key]) {\n return false;\n }\n }\n\n return true;\n};\n/**\n * Sets a ref using either a ref callback or a ref object\n */\n\nexport var setRef = function setRef(ref, node) {\n // if its a function call it\n if (typeof ref === \"function\") {\n return safeInvoke(ref, node);\n } // otherwise we should treat it as a ref object\n else if (ref != null) {\n ref.current = node;\n }\n};","import _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/extends\";\nimport _inheritsLoose from \"@babel/runtime/helpers/inheritsLoose\";\nimport _assertThisInitialized from \"@babel/runtime/helpers/assertThisInitialized\";\nimport _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nimport deepEqual from \"deep-equal\";\nimport * as React from 'react';\nimport PopperJS from 'popper.js';\nimport { ManagerReferenceNodeContext } from './Manager';\nimport { unwrapArray, setRef, shallowEqual } from './utils';\nvar initialStyle = {\n position: 'absolute',\n top: 0,\n left: 0,\n opacity: 0,\n pointerEvents: 'none'\n};\nvar initialArrowStyle = {};\nexport var InnerPopper =\n/*#__PURE__*/\nfunction (_React$Component) {\n _inheritsLoose(InnerPopper, _React$Component);\n\n function InnerPopper() {\n var _this;\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n _this = _React$Component.call.apply(_React$Component, [this].concat(args)) || this;\n\n _defineProperty(_assertThisInitialized(_assertThisInitialized(_this)), \"state\", {\n data: undefined,\n placement: undefined\n });\n\n _defineProperty(_assertThisInitialized(_assertThisInitialized(_this)), \"popperInstance\", void 0);\n\n _defineProperty(_assertThisInitialized(_assertThisInitialized(_this)), \"popperNode\", null);\n\n _defineProperty(_assertThisInitialized(_assertThisInitialized(_this)), \"arrowNode\", null);\n\n _defineProperty(_assertThisInitialized(_assertThisInitialized(_this)), \"setPopperNode\", function (popperNode) {\n if (!popperNode || _this.popperNode === popperNode) return;\n setRef(_this.props.innerRef, popperNode);\n _this.popperNode = popperNode;\n\n _this.updatePopperInstance();\n });\n\n _defineProperty(_assertThisInitialized(_assertThisInitialized(_this)), \"setArrowNode\", function (arrowNode) {\n _this.arrowNode = arrowNode;\n });\n\n _defineProperty(_assertThisInitialized(_assertThisInitialized(_this)), \"updateStateModifier\", {\n enabled: true,\n order: 900,\n fn: function fn(data) {\n var placement = data.placement;\n\n _this.setState({\n data: data,\n placement: placement\n });\n\n return data;\n }\n });\n\n _defineProperty(_assertThisInitialized(_assertThisInitialized(_this)), \"getOptions\", function () {\n return {\n placement: _this.props.placement,\n eventsEnabled: _this.props.eventsEnabled,\n positionFixed: _this.props.positionFixed,\n modifiers: _extends({}, _this.props.modifiers, {\n arrow: _extends({}, _this.props.modifiers && _this.props.modifiers.arrow, {\n enabled: !!_this.arrowNode,\n element: _this.arrowNode\n }),\n applyStyle: {\n enabled: false\n },\n updateStateModifier: _this.updateStateModifier\n })\n };\n });\n\n _defineProperty(_assertThisInitialized(_assertThisInitialized(_this)), \"getPopperStyle\", function () {\n return !_this.popperNode || !_this.state.data ? initialStyle : _extends({\n position: _this.state.data.offsets.popper.position\n }, _this.state.data.styles);\n });\n\n _defineProperty(_assertThisInitialized(_assertThisInitialized(_this)), \"getPopperPlacement\", function () {\n return !_this.state.data ? undefined : _this.state.placement;\n });\n\n _defineProperty(_assertThisInitialized(_assertThisInitialized(_this)), \"getArrowStyle\", function () {\n return !_this.arrowNode || !_this.state.data ? initialArrowStyle : _this.state.data.arrowStyles;\n });\n\n _defineProperty(_assertThisInitialized(_assertThisInitialized(_this)), \"getOutOfBoundariesState\", function () {\n return _this.state.data ? _this.state.data.hide : undefined;\n });\n\n _defineProperty(_assertThisInitialized(_assertThisInitialized(_this)), \"destroyPopperInstance\", function () {\n if (!_this.popperInstance) return;\n\n _this.popperInstance.destroy();\n\n _this.popperInstance = null;\n });\n\n _defineProperty(_assertThisInitialized(_assertThisInitialized(_this)), \"updatePopperInstance\", function () {\n _this.destroyPopperInstance();\n\n var _assertThisInitialize = _assertThisInitialized(_assertThisInitialized(_this)),\n popperNode = _assertThisInitialize.popperNode;\n\n var referenceElement = _this.props.referenceElement;\n if (!referenceElement || !popperNode) return;\n _this.popperInstance = new PopperJS(referenceElement, popperNode, _this.getOptions());\n });\n\n _defineProperty(_assertThisInitialized(_assertThisInitialized(_this)), \"scheduleUpdate\", function () {\n if (_this.popperInstance) {\n _this.popperInstance.scheduleUpdate();\n }\n });\n\n return _this;\n }\n\n var _proto = InnerPopper.prototype;\n\n _proto.componentDidUpdate = function componentDidUpdate(prevProps, prevState) {\n // If the Popper.js options have changed, update the instance (destroy + create)\n if (this.props.placement !== prevProps.placement || this.props.referenceElement !== prevProps.referenceElement || this.props.positionFixed !== prevProps.positionFixed || !deepEqual(this.props.modifiers, prevProps.modifiers, {\n strict: true\n })) {\n // develop only check that modifiers isn't being updated needlessly\n if (process.env.NODE_ENV === \"development\") {\n if (this.props.modifiers !== prevProps.modifiers && this.props.modifiers != null && prevProps.modifiers != null && shallowEqual(this.props.modifiers, prevProps.modifiers)) {\n console.warn(\"'modifiers' prop reference updated even though all values appear the same.\\nConsider memoizing the 'modifiers' object to avoid needless rendering.\");\n }\n }\n\n this.updatePopperInstance();\n } else if (this.props.eventsEnabled !== prevProps.eventsEnabled && this.popperInstance) {\n this.props.eventsEnabled ? this.popperInstance.enableEventListeners() : this.popperInstance.disableEventListeners();\n } // A placement difference in state means popper determined a new placement\n // apart from the props value. By the time the popper element is rendered with\n // the new position Popper has already measured it, if the place change triggers\n // a size change it will result in a misaligned popper. So we schedule an update to be sure.\n\n\n if (prevState.placement !== this.state.placement) {\n this.scheduleUpdate();\n }\n };\n\n _proto.componentWillUnmount = function componentWillUnmount() {\n setRef(this.props.innerRef, null);\n this.destroyPopperInstance();\n };\n\n _proto.render = function render() {\n return unwrapArray(this.props.children)({\n ref: this.setPopperNode,\n style: this.getPopperStyle(),\n placement: this.getPopperPlacement(),\n outOfBoundaries: this.getOutOfBoundariesState(),\n scheduleUpdate: this.scheduleUpdate,\n arrowProps: {\n ref: this.setArrowNode,\n style: this.getArrowStyle()\n }\n });\n };\n\n return InnerPopper;\n}(React.Component);\n\n_defineProperty(InnerPopper, \"defaultProps\", {\n placement: 'bottom',\n eventsEnabled: true,\n referenceElement: undefined,\n positionFixed: false\n});\n\nvar placements = PopperJS.placements;\nexport { placements };\nexport default function Popper(_ref) {\n var referenceElement = _ref.referenceElement,\n props = _objectWithoutPropertiesLoose(_ref, [\"referenceElement\"]);\n\n return React.createElement(ManagerReferenceNodeContext.Consumer, null, function (referenceNode) {\n return React.createElement(InnerPopper, _extends({\n referenceElement: referenceElement !== undefined ? referenceElement : referenceNode\n }, props));\n });\n}","import _extends from \"@babel/runtime/helpers/extends\";\nimport _inheritsLoose from \"@babel/runtime/helpers/inheritsLoose\";\nimport _assertThisInitialized from \"@babel/runtime/helpers/assertThisInitialized\";\nimport _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nimport * as React from 'react';\nimport warning from 'warning';\nimport { ManagerReferenceNodeSetterContext } from './Manager';\nimport { safeInvoke, unwrapArray, setRef } from './utils';\n\nvar InnerReference =\n/*#__PURE__*/\nfunction (_React$Component) {\n _inheritsLoose(InnerReference, _React$Component);\n\n function InnerReference() {\n var _this;\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n _this = _React$Component.call.apply(_React$Component, [this].concat(args)) || this;\n\n _defineProperty(_assertThisInitialized(_assertThisInitialized(_this)), \"refHandler\", function (node) {\n setRef(_this.props.innerRef, node);\n safeInvoke(_this.props.setReferenceNode, node);\n });\n\n return _this;\n }\n\n var _proto = InnerReference.prototype;\n\n _proto.componentWillUnmount = function componentWillUnmount() {\n setRef(this.props.innerRef, null);\n };\n\n _proto.render = function render() {\n warning(Boolean(this.props.setReferenceNode), '`Reference` should not be used outside of a `Manager` component.');\n return unwrapArray(this.props.children)({\n ref: this.refHandler\n });\n };\n\n return InnerReference;\n}(React.Component);\n\nexport default function Reference(props) {\n return React.createElement(ManagerReferenceNodeSetterContext.Consumer, null, function (setReferenceNode) {\n return React.createElement(InnerReference, _extends({\n setReferenceNode: setReferenceNode\n }, props));\n });\n}","import React from 'react';\nimport PropTypes from 'prop-types';\nimport classnames from 'classnames';\nimport onClickOutside from 'react-onclickoutside';\nimport moment from 'moment';\nimport { Manager, Popper, Reference } from 'react-popper';\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) {\n return typeof obj;\n} : function (obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n};\n\n\n\n\n\n\n\n\n\nvar classCallCheck = function (instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n};\n\nvar createClass = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n\n return function (Constructor, protoProps, staticProps) {\n if (protoProps) defineProperties(Constructor.prototype, protoProps);\n if (staticProps) defineProperties(Constructor, staticProps);\n return Constructor;\n };\n}();\n\n\n\n\n\n\n\nvar _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n};\n\n\n\nvar inherits = function (subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass);\n }\n\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass;\n};\n\n\n\n\n\n\n\n\n\n\n\nvar possibleConstructorReturn = function (self, call) {\n if (!self) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self;\n};\n\nfunction generateYears(year, noOfYear, minDate, maxDate) {\n var list = [];\n for (var i = 0; i < 2 * noOfYear + 1; i++) {\n var newYear = year + noOfYear - i;\n var isInRange = true;\n\n if (minDate) {\n isInRange = minDate.year() <= newYear;\n }\n\n if (maxDate && isInRange) {\n isInRange = maxDate.year() >= newYear;\n }\n\n if (isInRange) {\n list.push(newYear);\n }\n }\n\n return list;\n}\n\nvar YearDropdownOptions = function (_React$Component) {\n inherits(YearDropdownOptions, _React$Component);\n\n function YearDropdownOptions(props) {\n classCallCheck(this, YearDropdownOptions);\n\n var _this = possibleConstructorReturn(this, _React$Component.call(this, props));\n\n _this.renderOptions = function () {\n var selectedYear = _this.props.year;\n var options = _this.state.yearsList.map(function (year) {\n return React.createElement(\n \"div\",\n {\n className: selectedYear === year ? \"react-datepicker__year-option react-datepicker__year-option--selected_year\" : \"react-datepicker__year-option\",\n key: year,\n ref: year,\n onClick: _this.onChange.bind(_this, year)\n },\n selectedYear === year ? React.createElement(\n \"span\",\n { className: \"react-datepicker__year-option--selected\" },\n \"\\u2713\"\n ) : \"\",\n year\n );\n });\n\n var minYear = _this.props.minDate ? _this.props.minDate.year() : null;\n var maxYear = _this.props.maxDate ? _this.props.maxDate.year() : null;\n\n if (!maxYear || !_this.state.yearsList.find(function (year) {\n return year === maxYear;\n })) {\n options.unshift(React.createElement(\n \"div\",\n {\n className: \"react-datepicker__year-option\",\n ref: \"upcoming\",\n key: \"upcoming\",\n onClick: _this.incrementYears\n },\n React.createElement(\"a\", { className: \"react-datepicker__navigation react-datepicker__navigation--years react-datepicker__navigation--years-upcoming\" })\n ));\n }\n\n if (!minYear || !_this.state.yearsList.find(function (year) {\n return year === minYear;\n })) {\n options.push(React.createElement(\n \"div\",\n {\n className: \"react-datepicker__year-option\",\n ref: \"previous\",\n key: \"previous\",\n onClick: _this.decrementYears\n },\n React.createElement(\"a\", { className: \"react-datepicker__navigation react-datepicker__navigation--years react-datepicker__navigation--years-previous\" })\n ));\n }\n\n return options;\n };\n\n _this.onChange = function (year) {\n _this.props.onChange(year);\n };\n\n _this.handleClickOutside = function () {\n _this.props.onCancel();\n };\n\n _this.shiftYears = function (amount) {\n var years = _this.state.yearsList.map(function (year) {\n return year + amount;\n });\n\n _this.setState({\n yearsList: years\n });\n };\n\n _this.incrementYears = function () {\n return _this.shiftYears(1);\n };\n\n _this.decrementYears = function () {\n return _this.shiftYears(-1);\n };\n\n var yearDropdownItemNumber = props.yearDropdownItemNumber,\n scrollableYearDropdown = props.scrollableYearDropdown;\n\n var noOfYear = yearDropdownItemNumber || (scrollableYearDropdown ? 10 : 5);\n\n _this.state = {\n yearsList: generateYears(_this.props.year, noOfYear, _this.props.minDate, _this.props.maxDate)\n };\n return _this;\n }\n\n YearDropdownOptions.prototype.render = function render() {\n var dropdownClass = classnames({\n \"react-datepicker__year-dropdown\": true,\n \"react-datepicker__year-dropdown--scrollable\": this.props.scrollableYearDropdown\n });\n\n return React.createElement(\n \"div\",\n { className: dropdownClass },\n this.renderOptions()\n );\n };\n\n return YearDropdownOptions;\n}(React.Component);\n\nYearDropdownOptions.propTypes = {\n minDate: PropTypes.object,\n maxDate: PropTypes.object,\n onCancel: PropTypes.func.isRequired,\n onChange: PropTypes.func.isRequired,\n scrollableYearDropdown: PropTypes.bool,\n year: PropTypes.number.isRequired,\n yearDropdownItemNumber: PropTypes.number\n};\n\nvar dayOfWeekCodes = {\n 1: \"mon\",\n 2: \"tue\",\n 3: \"wed\",\n 4: \"thu\",\n 5: \"fri\",\n 6: \"sat\",\n 7: \"sun\"\n};\n\n// These functions are not exported so\n// that we avoid magic strings like 'days'\nfunction set$1(date, unit, to) {\n return date.set(unit, to);\n}\n\nfunction add(date, amount, unit) {\n return date.add(amount, unit);\n}\n\nfunction subtract(date, amount, unit) {\n return date.subtract(amount, unit);\n}\n\nfunction get$1(date, unit) {\n return date.get(unit);\n}\n\nfunction getStartOf(date, unit) {\n return date.startOf(unit);\n}\n\n// ** Date Constructors **\n\nfunction newDate(point) {\n return moment(point);\n}\n\nfunction newDateWithOffset(utcOffset) {\n return moment().utc().utcOffset(utcOffset);\n}\n\nfunction now(maybeFixedUtcOffset) {\n if (maybeFixedUtcOffset == null) {\n return newDate();\n }\n return newDateWithOffset(maybeFixedUtcOffset);\n}\n\nfunction cloneDate(date) {\n return date.clone();\n}\n\nfunction parseDate(value, _ref) {\n var dateFormat = _ref.dateFormat,\n locale = _ref.locale;\n\n var m = moment(value, dateFormat, locale || moment.locale(), true);\n return m.isValid() ? m : null;\n}\n\n// ** Date \"Reflection\" **\n\nfunction isMoment(date) {\n return moment.isMoment(date);\n}\n\nfunction isDate(date) {\n return moment.isDate(date);\n}\n\n// ** Date Formatting **\n\nfunction formatDate(date, format) {\n return date.format(format);\n}\n\nfunction safeDateFormat(date, _ref2) {\n var dateFormat = _ref2.dateFormat,\n locale = _ref2.locale;\n\n return date && date.clone().locale(locale || moment.locale()).format(Array.isArray(dateFormat) ? dateFormat[0] : dateFormat) || \"\";\n}\n\n// ** Date Setters **\n\nfunction setTime(date, _ref3) {\n var hour = _ref3.hour,\n minute = _ref3.minute,\n second = _ref3.second;\n\n date.set({ hour: hour, minute: minute, second: second });\n return date;\n}\n\nfunction setMonth(date, month) {\n return set$1(date, \"month\", month);\n}\n\nfunction setYear(date, year) {\n return set$1(date, \"year\", year);\n}\n\n\n\n// ** Date Getters **\n\nfunction getSecond(date) {\n return get$1(date, \"second\");\n}\n\nfunction getMinute(date) {\n return get$1(date, \"minute\");\n}\n\nfunction getHour(date) {\n return get$1(date, \"hour\");\n}\n\n// Returns day of week\nfunction getDay(date) {\n return get$1(date, \"day\");\n}\n\nfunction getWeek(date) {\n return get$1(date, \"week\");\n}\n\nfunction getMonth(date) {\n return get$1(date, \"month\");\n}\n\nfunction getYear(date) {\n return get$1(date, \"year\");\n}\n\n// Returns day of month\nfunction getDate(date) {\n return get$1(date, \"date\");\n}\n\n\n\nfunction getDayOfWeekCode(day) {\n return dayOfWeekCodes[day.isoWeekday()];\n}\n\n// *** Start of ***\n\nfunction getStartOfDay(date) {\n return getStartOf(date, \"day\");\n}\n\nfunction getStartOfWeek(date) {\n return getStartOf(date, \"week\");\n}\nfunction getStartOfMonth(date) {\n return getStartOf(date, \"month\");\n}\n\nfunction getStartOfDate(date) {\n return getStartOf(date, \"date\");\n}\n\n// *** End of ***\n\n\n\n\n\n// ** Date Math **\n\n// *** Addition ***\n\nfunction addMinutes(date, amount) {\n return add(date, amount, \"minutes\");\n}\n\nfunction addHours(date, amount) {\n return add(date, amount, \"hours\");\n}\n\nfunction addDays(date, amount) {\n return add(date, amount, \"days\");\n}\n\nfunction addWeeks(date, amount) {\n return add(date, amount, \"weeks\");\n}\n\nfunction addMonths(date, amount) {\n return add(date, amount, \"months\");\n}\n\nfunction addYears(date, amount) {\n return add(date, amount, \"years\");\n}\n\n// *** Subtraction ***\nfunction subtractDays(date, amount) {\n return subtract(date, amount, \"days\");\n}\n\nfunction subtractWeeks(date, amount) {\n return subtract(date, amount, \"weeks\");\n}\n\nfunction subtractMonths(date, amount) {\n return subtract(date, amount, \"months\");\n}\n\nfunction subtractYears(date, amount) {\n return subtract(date, amount, \"years\");\n}\n\n// ** Date Comparison **\n\nfunction isBefore(date1, date2) {\n return date1.isBefore(date2);\n}\n\nfunction isAfter(date1, date2) {\n return date1.isAfter(date2);\n}\n\nfunction equals(date1, date2) {\n return date1.isSame(date2);\n}\n\nfunction isSameYear(date1, date2) {\n if (date1 && date2) {\n return date1.isSame(date2, \"year\");\n } else {\n return !date1 && !date2;\n }\n}\n\nfunction isSameMonth(date1, date2) {\n if (date1 && date2) {\n return date1.isSame(date2, \"month\");\n } else {\n return !date1 && !date2;\n }\n}\n\nfunction isSameDay(moment1, moment2) {\n if (moment1 && moment2) {\n return moment1.isSame(moment2, \"day\");\n } else {\n return !moment1 && !moment2;\n }\n}\n\n\n\nfunction isDayInRange(day, startDate, endDate) {\n var before = startDate.clone().startOf(\"day\").subtract(1, \"seconds\");\n var after = endDate.clone().startOf(\"day\").add(1, \"seconds\");\n return day.clone().startOf(\"day\").isBetween(before, after);\n}\n\n// *** Diffing ***\n\n\n\n// ** Date Localization **\n\nfunction localizeDate(date, locale) {\n return date.clone().locale(locale || moment.locale());\n}\n\n\n\n\n\n\n\nfunction getLocaleData(date) {\n return date.localeData();\n}\n\nfunction getLocaleDataForLocale(locale) {\n return moment.localeData(locale);\n}\n\nfunction getFormattedWeekdayInLocale(locale, date, formatFunc) {\n return formatFunc(locale.weekdays(date));\n}\n\nfunction getWeekdayMinInLocale(locale, date) {\n return locale.weekdaysMin(date);\n}\n\nfunction getWeekdayShortInLocale(locale, date) {\n return locale.weekdaysShort(date);\n}\n\n// TODO what is this format exactly?\nfunction getMonthInLocale(locale, date, format) {\n return locale.months(date, format);\n}\n\nfunction getMonthShortInLocale(locale, date) {\n return locale.monthsShort(date);\n}\n\n// ** Utils for some components **\n\nfunction isDayDisabled(day) {\n var _ref4 = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},\n minDate = _ref4.minDate,\n maxDate = _ref4.maxDate,\n excludeDates = _ref4.excludeDates,\n includeDates = _ref4.includeDates,\n filterDate = _ref4.filterDate;\n\n return minDate && day.isBefore(minDate, \"day\") || maxDate && day.isAfter(maxDate, \"day\") || excludeDates && excludeDates.some(function (excludeDate) {\n return isSameDay(day, excludeDate);\n }) || includeDates && !includeDates.some(function (includeDate) {\n return isSameDay(day, includeDate);\n }) || filterDate && !filterDate(day.clone()) || false;\n}\n\nfunction isOutOfBounds(day) {\n var _ref5 = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},\n minDate = _ref5.minDate,\n maxDate = _ref5.maxDate;\n\n return minDate && day.isBefore(minDate, \"day\") || maxDate && day.isAfter(maxDate, \"day\");\n}\n\nfunction isTimeDisabled(time, disabledTimes) {\n var l = disabledTimes.length;\n for (var i = 0; i < l; i++) {\n if (disabledTimes[i].get(\"hours\") === time.get(\"hours\") && disabledTimes[i].get(\"minutes\") === time.get(\"minutes\")) {\n return true;\n }\n }\n\n return false;\n}\n\nfunction isTimeInDisabledRange(time, _ref6) {\n var minTime = _ref6.minTime,\n maxTime = _ref6.maxTime;\n\n if (!minTime || !maxTime) {\n throw new Error(\"Both minTime and maxTime props required\");\n }\n\n var base = moment().hours(0).minutes(0).seconds(0);\n var baseTime = base.clone().hours(time.get(\"hours\")).minutes(time.get(\"minutes\"));\n var min = base.clone().hours(minTime.get(\"hours\")).minutes(minTime.get(\"minutes\"));\n var max = base.clone().hours(maxTime.get(\"hours\")).minutes(maxTime.get(\"minutes\"));\n\n return !(baseTime.isSameOrAfter(min) && baseTime.isSameOrBefore(max));\n}\n\nfunction allDaysDisabledBefore(day, unit) {\n var _ref7 = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {},\n minDate = _ref7.minDate,\n includeDates = _ref7.includeDates;\n\n var dateBefore = day.clone().subtract(1, unit);\n return minDate && dateBefore.isBefore(minDate, unit) || includeDates && includeDates.every(function (includeDate) {\n return dateBefore.isBefore(includeDate, unit);\n }) || false;\n}\n\nfunction allDaysDisabledAfter(day, unit) {\n var _ref8 = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {},\n maxDate = _ref8.maxDate,\n includeDates = _ref8.includeDates;\n\n var dateAfter = day.clone().add(1, unit);\n return maxDate && dateAfter.isAfter(maxDate, unit) || includeDates && includeDates.every(function (includeDate) {\n return dateAfter.isAfter(includeDate, unit);\n }) || false;\n}\n\nfunction getEffectiveMinDate(_ref9) {\n var minDate = _ref9.minDate,\n includeDates = _ref9.includeDates;\n\n if (includeDates && minDate) {\n return moment.min(includeDates.filter(function (includeDate) {\n return minDate.isSameOrBefore(includeDate, \"day\");\n }));\n } else if (includeDates) {\n return moment.min(includeDates);\n } else {\n return minDate;\n }\n}\n\nfunction getEffectiveMaxDate(_ref10) {\n var maxDate = _ref10.maxDate,\n includeDates = _ref10.includeDates;\n\n if (includeDates && maxDate) {\n return moment.max(includeDates.filter(function (includeDate) {\n return maxDate.isSameOrAfter(includeDate, \"day\");\n }));\n } else if (includeDates) {\n return moment.max(includeDates);\n } else {\n return maxDate;\n }\n}\n\nfunction getHightLightDaysMap() {\n var highlightDates = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n var defaultClassName = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : \"react-datepicker__day--highlighted\";\n\n var dateClasses = new Map();\n for (var i = 0, len = highlightDates.length; i < len; i++) {\n var obj = highlightDates[i];\n if (isMoment(obj)) {\n var key = obj.format(\"MM.DD.YYYY\");\n var classNamesArr = dateClasses.get(key) || [];\n if (!classNamesArr.includes(defaultClassName)) {\n classNamesArr.push(defaultClassName);\n dateClasses.set(key, classNamesArr);\n }\n } else if ((typeof obj === \"undefined\" ? \"undefined\" : _typeof(obj)) === \"object\") {\n var keys = Object.keys(obj);\n var className = keys[0];\n var arrOfMoments = obj[keys[0]];\n if (typeof className === \"string\" && arrOfMoments.constructor === Array) {\n for (var k = 0, _len = arrOfMoments.length; k < _len; k++) {\n var _key = arrOfMoments[k].format(\"MM.DD.YYYY\");\n var _classNamesArr = dateClasses.get(_key) || [];\n if (!_classNamesArr.includes(className)) {\n _classNamesArr.push(className);\n dateClasses.set(_key, _classNamesArr);\n }\n }\n }\n }\n }\n\n return dateClasses;\n}\n\nfunction timesToInjectAfter(startOfDay, currentTime, currentMultiplier, intervals, injectedTimes) {\n var l = injectedTimes.length;\n var times = [];\n for (var i = 0; i < l; i++) {\n var injectedTime = addMinutes(addHours(cloneDate(startOfDay), getHour(injectedTimes[i])), getMinute(injectedTimes[i]));\n var nextTime = addMinutes(cloneDate(startOfDay), (currentMultiplier + 1) * intervals);\n\n if (injectedTime.isBetween(currentTime, nextTime)) {\n times.push(injectedTimes[i]);\n }\n }\n\n return times;\n}\n\nvar WrappedYearDropdownOptions = onClickOutside(YearDropdownOptions);\n\nvar YearDropdown = function (_React$Component) {\n inherits(YearDropdown, _React$Component);\n\n function YearDropdown() {\n var _temp, _this, _ret;\n\n classCallCheck(this, YearDropdown);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _ret = (_temp = (_this = possibleConstructorReturn(this, _React$Component.call.apply(_React$Component, [this].concat(args))), _this), _this.state = {\n dropdownVisible: false\n }, _this.renderSelectOptions = function () {\n var minYear = _this.props.minDate ? getYear(_this.props.minDate) : 1900;\n var maxYear = _this.props.maxDate ? getYear(_this.props.maxDate) : 2100;\n\n var options = [];\n for (var i = minYear; i <= maxYear; i++) {\n options.push(React.createElement(\n \"option\",\n { key: i, value: i },\n i\n ));\n }\n return options;\n }, _this.onSelectChange = function (e) {\n _this.onChange(e.target.value);\n }, _this.renderSelectMode = function () {\n return React.createElement(\n \"select\",\n {\n value: _this.props.year,\n className: \"react-datepicker__year-select\",\n onChange: _this.onSelectChange\n },\n _this.renderSelectOptions()\n );\n }, _this.renderReadView = function (visible) {\n return React.createElement(\n \"div\",\n {\n key: \"read\",\n style: { visibility: visible ? \"visible\" : \"hidden\" },\n className: \"react-datepicker__year-read-view\",\n onClick: function onClick(event) {\n return _this.toggleDropdown(event);\n }\n },\n React.createElement(\"span\", { className: \"react-datepicker__year-read-view--down-arrow\" }),\n React.createElement(\n \"span\",\n { className: \"react-datepicker__year-read-view--selected-year\" },\n _this.props.year\n )\n );\n }, _this.renderDropdown = function () {\n return React.createElement(WrappedYearDropdownOptions, {\n key: \"dropdown\",\n ref: \"options\",\n year: _this.props.year,\n onChange: _this.onChange,\n onCancel: _this.toggleDropdown,\n minDate: _this.props.minDate,\n maxDate: _this.props.maxDate,\n scrollableYearDropdown: _this.props.scrollableYearDropdown,\n yearDropdownItemNumber: _this.props.yearDropdownItemNumber\n });\n }, _this.renderScrollMode = function () {\n var dropdownVisible = _this.state.dropdownVisible;\n\n var result = [_this.renderReadView(!dropdownVisible)];\n if (dropdownVisible) {\n result.unshift(_this.renderDropdown());\n }\n return result;\n }, _this.onChange = function (year) {\n _this.toggleDropdown();\n if (year === _this.props.year) return;\n _this.props.onChange(year);\n }, _this.toggleDropdown = function (event) {\n _this.setState({\n dropdownVisible: !_this.state.dropdownVisible\n }, function () {\n if (_this.props.adjustDateOnChange) {\n _this.handleYearChange(_this.props.date, event);\n }\n });\n }, _this.handleYearChange = function (date, event) {\n _this.onSelect(date, event);\n _this.setOpen();\n }, _this.onSelect = function (date, event) {\n if (_this.props.onSelect) {\n _this.props.onSelect(date, event);\n }\n }, _this.setOpen = function () {\n if (_this.props.setOpen) {\n _this.props.setOpen(true);\n }\n }, _temp), possibleConstructorReturn(_this, _ret);\n }\n\n YearDropdown.prototype.render = function render() {\n var renderedDropdown = void 0;\n switch (this.props.dropdownMode) {\n case \"scroll\":\n renderedDropdown = this.renderScrollMode();\n break;\n case \"select\":\n renderedDropdown = this.renderSelectMode();\n break;\n }\n\n return React.createElement(\n \"div\",\n {\n className: \"react-datepicker__year-dropdown-container react-datepicker__year-dropdown-container--\" + this.props.dropdownMode\n },\n renderedDropdown\n );\n };\n\n return YearDropdown;\n}(React.Component);\n\nYearDropdown.propTypes = {\n adjustDateOnChange: PropTypes.bool,\n dropdownMode: PropTypes.oneOf([\"scroll\", \"select\"]).isRequired,\n maxDate: PropTypes.object,\n minDate: PropTypes.object,\n onChange: PropTypes.func.isRequired,\n scrollableYearDropdown: PropTypes.bool,\n year: PropTypes.number.isRequired,\n yearDropdownItemNumber: PropTypes.number,\n date: PropTypes.object,\n onSelect: PropTypes.func,\n setOpen: PropTypes.func\n};\n\nvar MonthDropdownOptions = function (_React$Component) {\n inherits(MonthDropdownOptions, _React$Component);\n\n function MonthDropdownOptions() {\n var _temp, _this, _ret;\n\n classCallCheck(this, MonthDropdownOptions);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _ret = (_temp = (_this = possibleConstructorReturn(this, _React$Component.call.apply(_React$Component, [this].concat(args))), _this), _this.renderOptions = function () {\n return _this.props.monthNames.map(function (month, i) {\n return React.createElement(\n \"div\",\n {\n className: _this.props.month === i ? \"react-datepicker__month-option --selected_month\" : \"react-datepicker__month-option\",\n key: month,\n ref: month,\n onClick: _this.onChange.bind(_this, i)\n },\n _this.props.month === i ? React.createElement(\n \"span\",\n { className: \"react-datepicker__month-option--selected\" },\n \"\\u2713\"\n ) : \"\",\n month\n );\n });\n }, _this.onChange = function (month) {\n return _this.props.onChange(month);\n }, _this.handleClickOutside = function () {\n return _this.props.onCancel();\n }, _temp), possibleConstructorReturn(_this, _ret);\n }\n\n MonthDropdownOptions.prototype.render = function render() {\n return React.createElement(\n \"div\",\n { className: \"react-datepicker__month-dropdown\" },\n this.renderOptions()\n );\n };\n\n return MonthDropdownOptions;\n}(React.Component);\n\nMonthDropdownOptions.propTypes = {\n onCancel: PropTypes.func.isRequired,\n onChange: PropTypes.func.isRequired,\n month: PropTypes.number.isRequired,\n monthNames: PropTypes.arrayOf(PropTypes.string.isRequired).isRequired\n};\n\nvar WrappedMonthDropdownOptions = onClickOutside(MonthDropdownOptions);\n\nvar MonthDropdown = function (_React$Component) {\n inherits(MonthDropdown, _React$Component);\n\n function MonthDropdown() {\n var _temp, _this, _ret;\n\n classCallCheck(this, MonthDropdown);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _ret = (_temp = (_this = possibleConstructorReturn(this, _React$Component.call.apply(_React$Component, [this].concat(args))), _this), _this.state = {\n dropdownVisible: false\n }, _this.renderSelectOptions = function (monthNames) {\n return monthNames.map(function (M, i) {\n return React.createElement(\n \"option\",\n { key: i, value: i },\n M\n );\n });\n }, _this.renderSelectMode = function (monthNames) {\n return React.createElement(\n \"select\",\n {\n value: _this.props.month,\n className: \"react-datepicker__month-select\",\n onChange: function onChange(e) {\n return _this.onChange(e.target.value);\n }\n },\n _this.renderSelectOptions(monthNames)\n );\n }, _this.renderReadView = function (visible, monthNames) {\n return React.createElement(\n \"div\",\n {\n key: \"read\",\n style: { visibility: visible ? \"visible\" : \"hidden\" },\n className: \"react-datepicker__month-read-view\",\n onClick: _this.toggleDropdown\n },\n React.createElement(\"span\", { className: \"react-datepicker__month-read-view--down-arrow\" }),\n React.createElement(\n \"span\",\n { className: \"react-datepicker__month-read-view--selected-month\" },\n monthNames[_this.props.month]\n )\n );\n }, _this.renderDropdown = function (monthNames) {\n return React.createElement(WrappedMonthDropdownOptions, {\n key: \"dropdown\",\n ref: \"options\",\n month: _this.props.month,\n monthNames: monthNames,\n onChange: _this.onChange,\n onCancel: _this.toggleDropdown\n });\n }, _this.renderScrollMode = function (monthNames) {\n var dropdownVisible = _this.state.dropdownVisible;\n\n var result = [_this.renderReadView(!dropdownVisible, monthNames)];\n if (dropdownVisible) {\n result.unshift(_this.renderDropdown(monthNames));\n }\n return result;\n }, _this.onChange = function (month) {\n _this.toggleDropdown();\n if (month !== _this.props.month) {\n _this.props.onChange(month);\n }\n }, _this.toggleDropdown = function () {\n return _this.setState({\n dropdownVisible: !_this.state.dropdownVisible\n });\n }, _temp), possibleConstructorReturn(_this, _ret);\n }\n\n MonthDropdown.prototype.render = function render() {\n var _this2 = this;\n\n var localeData = getLocaleDataForLocale(this.props.locale);\n var monthNames = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11].map(this.props.useShortMonthInDropdown ? function (M) {\n return getMonthShortInLocale(localeData, newDate({ M: M }));\n } : function (M) {\n return getMonthInLocale(localeData, newDate({ M: M }), _this2.props.dateFormat);\n });\n\n var renderedDropdown = void 0;\n switch (this.props.dropdownMode) {\n case \"scroll\":\n renderedDropdown = this.renderScrollMode(monthNames);\n break;\n case \"select\":\n renderedDropdown = this.renderSelectMode(monthNames);\n break;\n }\n\n return React.createElement(\n \"div\",\n {\n className: \"react-datepicker__month-dropdown-container react-datepicker__month-dropdown-container--\" + this.props.dropdownMode\n },\n renderedDropdown\n );\n };\n\n return MonthDropdown;\n}(React.Component);\n\nMonthDropdown.propTypes = {\n dropdownMode: PropTypes.oneOf([\"scroll\", \"select\"]).isRequired,\n locale: PropTypes.string,\n dateFormat: PropTypes.string.isRequired,\n month: PropTypes.number.isRequired,\n onChange: PropTypes.func.isRequired,\n useShortMonthInDropdown: PropTypes.bool\n};\n\nfunction generateMonthYears(minDate, maxDate) {\n var list = [];\n\n var currDate = getStartOfMonth(cloneDate(minDate));\n var lastDate = getStartOfMonth(cloneDate(maxDate));\n\n while (!isAfter(currDate, lastDate)) {\n list.push(cloneDate(currDate));\n\n addMonths(currDate, 1);\n }\n\n return list;\n}\n\nvar MonthYearDropdownOptions = function (_React$Component) {\n inherits(MonthYearDropdownOptions, _React$Component);\n\n function MonthYearDropdownOptions(props) {\n classCallCheck(this, MonthYearDropdownOptions);\n\n var _this = possibleConstructorReturn(this, _React$Component.call(this, props));\n\n _this.renderOptions = function () {\n return _this.state.monthYearsList.map(function (monthYear) {\n var monthYearPoint = monthYear.valueOf();\n\n var isSameMonthYear = isSameYear(_this.props.date, monthYear) && isSameMonth(_this.props.date, monthYear);\n\n return React.createElement(\n \"div\",\n {\n className: isSameMonthYear ? \"react-datepicker__month-year-option --selected_month-year\" : \"react-datepicker__month-year-option\",\n key: monthYearPoint,\n ref: monthYearPoint,\n onClick: _this.onChange.bind(_this, monthYearPoint)\n },\n isSameMonthYear ? React.createElement(\n \"span\",\n { className: \"react-datepicker__month-year-option--selected\" },\n \"\\u2713\"\n ) : \"\",\n formatDate(monthYear, _this.props.dateFormat)\n );\n });\n };\n\n _this.onChange = function (monthYear) {\n return _this.props.onChange(monthYear);\n };\n\n _this.handleClickOutside = function () {\n _this.props.onCancel();\n };\n\n _this.state = {\n monthYearsList: generateMonthYears(_this.props.minDate, _this.props.maxDate)\n };\n return _this;\n }\n\n MonthYearDropdownOptions.prototype.render = function render() {\n var dropdownClass = classnames({\n \"react-datepicker__month-year-dropdown\": true,\n \"react-datepicker__month-year-dropdown--scrollable\": this.props.scrollableMonthYearDropdown\n });\n\n return React.createElement(\n \"div\",\n { className: dropdownClass },\n this.renderOptions()\n );\n };\n\n return MonthYearDropdownOptions;\n}(React.Component);\n\nMonthYearDropdownOptions.propTypes = {\n minDate: PropTypes.object.isRequired,\n maxDate: PropTypes.object.isRequired,\n onCancel: PropTypes.func.isRequired,\n onChange: PropTypes.func.isRequired,\n scrollableMonthYearDropdown: PropTypes.bool,\n date: PropTypes.object.isRequired,\n dateFormat: PropTypes.string.isRequired\n};\n\nvar WrappedMonthYearDropdownOptions = onClickOutside(MonthYearDropdownOptions);\n\nvar MonthYearDropdown = function (_React$Component) {\n inherits(MonthYearDropdown, _React$Component);\n\n function MonthYearDropdown() {\n var _temp, _this, _ret;\n\n classCallCheck(this, MonthYearDropdown);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _ret = (_temp = (_this = possibleConstructorReturn(this, _React$Component.call.apply(_React$Component, [this].concat(args))), _this), _this.state = {\n dropdownVisible: false\n }, _this.renderSelectOptions = function () {\n var currDate = getStartOfMonth(localizeDate(_this.props.minDate, _this.props.locale));\n var lastDate = getStartOfMonth(localizeDate(_this.props.maxDate, _this.props.locale));\n\n var options = [];\n\n while (!isAfter(currDate, lastDate)) {\n var timepoint = currDate.valueOf();\n options.push(React.createElement(\n \"option\",\n { key: timepoint, value: timepoint },\n formatDate(currDate, _this.props.dateFormat)\n ));\n\n addMonths(currDate, 1);\n }\n\n return options;\n }, _this.onSelectChange = function (e) {\n _this.onChange(e.target.value);\n }, _this.renderSelectMode = function () {\n return React.createElement(\n \"select\",\n {\n value: getStartOfMonth(_this.props.date).valueOf(),\n className: \"react-datepicker__month-year-select\",\n onChange: _this.onSelectChange\n },\n _this.renderSelectOptions()\n );\n }, _this.renderReadView = function (visible) {\n var yearMonth = formatDate(localizeDate(newDate(_this.props.date), _this.props.locale), _this.props.dateFormat);\n\n return React.createElement(\n \"div\",\n {\n key: \"read\",\n style: { visibility: visible ? \"visible\" : \"hidden\" },\n className: \"react-datepicker__month-year-read-view\",\n onClick: function onClick(event) {\n return _this.toggleDropdown(event);\n }\n },\n React.createElement(\"span\", { className: \"react-datepicker__month-year-read-view--down-arrow\" }),\n React.createElement(\n \"span\",\n { className: \"react-datepicker__month-year-read-view--selected-month-year\" },\n yearMonth\n )\n );\n }, _this.renderDropdown = function () {\n return React.createElement(WrappedMonthYearDropdownOptions, {\n key: \"dropdown\",\n ref: \"options\",\n date: _this.props.date,\n dateFormat: _this.props.dateFormat,\n onChange: _this.onChange,\n onCancel: _this.toggleDropdown,\n minDate: localizeDate(_this.props.minDate, _this.props.locale),\n maxDate: localizeDate(_this.props.maxDate, _this.props.locale),\n scrollableMonthYearDropdown: _this.props.scrollableMonthYearDropdown\n });\n }, _this.renderScrollMode = function () {\n var dropdownVisible = _this.state.dropdownVisible;\n\n var result = [_this.renderReadView(!dropdownVisible)];\n if (dropdownVisible) {\n result.unshift(_this.renderDropdown());\n }\n return result;\n }, _this.onChange = function (monthYearPoint) {\n _this.toggleDropdown();\n\n var changedDate = newDate(parseInt(monthYearPoint));\n\n if (isSameYear(_this.props.date, changedDate) && isSameMonth(_this.props.date, changedDate)) {\n return;\n }\n\n _this.props.onChange(changedDate);\n }, _this.toggleDropdown = function () {\n return _this.setState({\n dropdownVisible: !_this.state.dropdownVisible\n });\n }, _temp), possibleConstructorReturn(_this, _ret);\n }\n\n MonthYearDropdown.prototype.render = function render() {\n var renderedDropdown = void 0;\n switch (this.props.dropdownMode) {\n case \"scroll\":\n renderedDropdown = this.renderScrollMode();\n break;\n case \"select\":\n renderedDropdown = this.renderSelectMode();\n break;\n }\n\n return React.createElement(\n \"div\",\n {\n className: \"react-datepicker__month-year-dropdown-container react-datepicker__month-year-dropdown-container--\" + this.props.dropdownMode\n },\n renderedDropdown\n );\n };\n\n return MonthYearDropdown;\n}(React.Component);\n\nMonthYearDropdown.propTypes = {\n dropdownMode: PropTypes.oneOf([\"scroll\", \"select\"]).isRequired,\n dateFormat: PropTypes.string.isRequired,\n locale: PropTypes.string,\n maxDate: PropTypes.object.isRequired,\n minDate: PropTypes.object.isRequired,\n date: PropTypes.object.isRequired,\n onChange: PropTypes.func.isRequired,\n scrollableMonthYearDropdown: PropTypes.bool\n};\n\nvar Day = function (_React$Component) {\n inherits(Day, _React$Component);\n\n function Day() {\n var _temp, _this, _ret;\n\n classCallCheck(this, Day);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _ret = (_temp = (_this = possibleConstructorReturn(this, _React$Component.call.apply(_React$Component, [this].concat(args))), _this), _this.handleClick = function (event) {\n if (!_this.isDisabled() && _this.props.onClick) {\n _this.props.onClick(event);\n }\n }, _this.handleMouseEnter = function (event) {\n if (!_this.isDisabled() && _this.props.onMouseEnter) {\n _this.props.onMouseEnter(event);\n }\n }, _this.isSameDay = function (other) {\n return isSameDay(_this.props.day, other);\n }, _this.isKeyboardSelected = function () {\n return !_this.props.disabledKeyboardNavigation && !_this.props.inline && !_this.isSameDay(_this.props.selected) && _this.isSameDay(_this.props.preSelection);\n }, _this.isDisabled = function () {\n return isDayDisabled(_this.props.day, _this.props);\n }, _this.getHighLightedClass = function (defaultClassName) {\n var _this$props = _this.props,\n day = _this$props.day,\n highlightDates = _this$props.highlightDates;\n\n\n if (!highlightDates) {\n return false;\n }\n\n // Looking for className in the Map of {'day string, 'className'}\n var dayStr = day.format(\"MM.DD.YYYY\");\n return highlightDates.get(dayStr);\n }, _this.isInRange = function () {\n var _this$props2 = _this.props,\n day = _this$props2.day,\n startDate = _this$props2.startDate,\n endDate = _this$props2.endDate;\n\n if (!startDate || !endDate) {\n return false;\n }\n return isDayInRange(day, startDate, endDate);\n }, _this.isInSelectingRange = function () {\n var _this$props3 = _this.props,\n day = _this$props3.day,\n selectsStart = _this$props3.selectsStart,\n selectsEnd = _this$props3.selectsEnd,\n selectingDate = _this$props3.selectingDate,\n startDate = _this$props3.startDate,\n endDate = _this$props3.endDate;\n\n\n if (!(selectsStart || selectsEnd) || !selectingDate || _this.isDisabled()) {\n return false;\n }\n\n if (selectsStart && endDate && selectingDate.isSameOrBefore(endDate)) {\n return isDayInRange(day, selectingDate, endDate);\n }\n\n if (selectsEnd && startDate && selectingDate.isSameOrAfter(startDate)) {\n return isDayInRange(day, startDate, selectingDate);\n }\n\n return false;\n }, _this.isSelectingRangeStart = function () {\n if (!_this.isInSelectingRange()) {\n return false;\n }\n\n var _this$props4 = _this.props,\n day = _this$props4.day,\n selectingDate = _this$props4.selectingDate,\n startDate = _this$props4.startDate,\n selectsStart = _this$props4.selectsStart;\n\n\n if (selectsStart) {\n return isSameDay(day, selectingDate);\n } else {\n return isSameDay(day, startDate);\n }\n }, _this.isSelectingRangeEnd = function () {\n if (!_this.isInSelectingRange()) {\n return false;\n }\n\n var _this$props5 = _this.props,\n day = _this$props5.day,\n selectingDate = _this$props5.selectingDate,\n endDate = _this$props5.endDate,\n selectsEnd = _this$props5.selectsEnd;\n\n\n if (selectsEnd) {\n return isSameDay(day, selectingDate);\n } else {\n return isSameDay(day, endDate);\n }\n }, _this.isRangeStart = function () {\n var _this$props6 = _this.props,\n day = _this$props6.day,\n startDate = _this$props6.startDate,\n endDate = _this$props6.endDate;\n\n if (!startDate || !endDate) {\n return false;\n }\n return isSameDay(startDate, day);\n }, _this.isRangeEnd = function () {\n var _this$props7 = _this.props,\n day = _this$props7.day,\n startDate = _this$props7.startDate,\n endDate = _this$props7.endDate;\n\n if (!startDate || !endDate) {\n return false;\n }\n return isSameDay(endDate, day);\n }, _this.isWeekend = function () {\n var weekday = getDay(_this.props.day);\n return weekday === 0 || weekday === 6;\n }, _this.isOutsideMonth = function () {\n return _this.props.month !== undefined && _this.props.month !== getMonth(_this.props.day);\n }, _this.getClassNames = function (date) {\n var dayClassName = _this.props.dayClassName ? _this.props.dayClassName(date) : undefined;\n return classnames(\"react-datepicker__day\", dayClassName, \"react-datepicker__day--\" + getDayOfWeekCode(_this.props.day), {\n \"react-datepicker__day--disabled\": _this.isDisabled(),\n \"react-datepicker__day--selected\": _this.isSameDay(_this.props.selected),\n \"react-datepicker__day--keyboard-selected\": _this.isKeyboardSelected(),\n \"react-datepicker__day--range-start\": _this.isRangeStart(),\n \"react-datepicker__day--range-end\": _this.isRangeEnd(),\n \"react-datepicker__day--in-range\": _this.isInRange(),\n \"react-datepicker__day--in-selecting-range\": _this.isInSelectingRange(),\n \"react-datepicker__day--selecting-range-start\": _this.isSelectingRangeStart(),\n \"react-datepicker__day--selecting-range-end\": _this.isSelectingRangeEnd(),\n \"react-datepicker__day--today\": _this.isSameDay(now(_this.props.utcOffset)),\n \"react-datepicker__day--weekend\": _this.isWeekend(),\n \"react-datepicker__day--outside-month\": _this.isOutsideMonth()\n }, _this.getHighLightedClass(\"react-datepicker__day--highlighted\"));\n }, _temp), possibleConstructorReturn(_this, _ret);\n }\n\n Day.prototype.render = function render() {\n return React.createElement(\n \"div\",\n {\n className: this.getClassNames(this.props.day),\n onClick: this.handleClick,\n onMouseEnter: this.handleMouseEnter,\n \"aria-label\": \"day-\" + getDate(this.props.day),\n role: \"option\"\n },\n this.props.renderDayContents ? this.props.renderDayContents(getDate(this.props.day)) : getDate(this.props.day)\n );\n };\n\n return Day;\n}(React.Component);\n\nDay.propTypes = {\n disabledKeyboardNavigation: PropTypes.bool,\n day: PropTypes.object.isRequired,\n dayClassName: PropTypes.func,\n endDate: PropTypes.object,\n highlightDates: PropTypes.instanceOf(Map),\n inline: PropTypes.bool,\n month: PropTypes.number,\n onClick: PropTypes.func,\n onMouseEnter: PropTypes.func,\n preSelection: PropTypes.object,\n selected: PropTypes.object,\n selectingDate: PropTypes.object,\n selectsEnd: PropTypes.bool,\n selectsStart: PropTypes.bool,\n startDate: PropTypes.object,\n utcOffset: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n renderDayContents: PropTypes.func\n};\n\nvar WeekNumber = function (_React$Component) {\n inherits(WeekNumber, _React$Component);\n\n function WeekNumber() {\n var _temp, _this, _ret;\n\n classCallCheck(this, WeekNumber);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _ret = (_temp = (_this = possibleConstructorReturn(this, _React$Component.call.apply(_React$Component, [this].concat(args))), _this), _this.handleClick = function (event) {\n if (_this.props.onClick) {\n _this.props.onClick(event);\n }\n }, _temp), possibleConstructorReturn(_this, _ret);\n }\n\n WeekNumber.prototype.render = function render() {\n var weekNumberClasses = {\n \"react-datepicker__week-number\": true,\n \"react-datepicker__week-number--clickable\": !!this.props.onClick\n };\n return React.createElement(\n \"div\",\n {\n className: classnames(weekNumberClasses),\n \"aria-label\": \"week-\" + this.props.weekNumber,\n onClick: this.handleClick\n },\n this.props.weekNumber\n );\n };\n\n return WeekNumber;\n}(React.Component);\n\nWeekNumber.propTypes = {\n weekNumber: PropTypes.number.isRequired,\n onClick: PropTypes.func\n};\n\nvar Week = function (_React$Component) {\n inherits(Week, _React$Component);\n\n function Week() {\n var _temp, _this, _ret;\n\n classCallCheck(this, Week);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _ret = (_temp = (_this = possibleConstructorReturn(this, _React$Component.call.apply(_React$Component, [this].concat(args))), _this), _this.handleDayClick = function (day, event) {\n if (_this.props.onDayClick) {\n _this.props.onDayClick(day, event);\n }\n }, _this.handleDayMouseEnter = function (day) {\n if (_this.props.onDayMouseEnter) {\n _this.props.onDayMouseEnter(day);\n }\n }, _this.handleWeekClick = function (day, weekNumber, event) {\n if (typeof _this.props.onWeekSelect === \"function\") {\n _this.props.onWeekSelect(day, weekNumber, event);\n }\n }, _this.formatWeekNumber = function (startOfWeek) {\n if (_this.props.formatWeekNumber) {\n return _this.props.formatWeekNumber(startOfWeek);\n }\n return getWeek(startOfWeek);\n }, _this.renderDays = function () {\n var startOfWeek = getStartOfWeek(cloneDate(_this.props.day));\n var days = [];\n var weekNumber = _this.formatWeekNumber(startOfWeek);\n if (_this.props.showWeekNumber) {\n var onClickAction = _this.props.onWeekSelect ? _this.handleWeekClick.bind(_this, startOfWeek, weekNumber) : undefined;\n days.push(React.createElement(WeekNumber, { key: \"W\", weekNumber: weekNumber, onClick: onClickAction }));\n }\n return days.concat([0, 1, 2, 3, 4, 5, 6].map(function (offset) {\n var day = addDays(cloneDate(startOfWeek), offset);\n return React.createElement(Day, {\n key: offset,\n day: day,\n month: _this.props.month,\n onClick: _this.handleDayClick.bind(_this, day),\n onMouseEnter: _this.handleDayMouseEnter.bind(_this, day),\n minDate: _this.props.minDate,\n maxDate: _this.props.maxDate,\n excludeDates: _this.props.excludeDates,\n includeDates: _this.props.includeDates,\n inline: _this.props.inline,\n highlightDates: _this.props.highlightDates,\n selectingDate: _this.props.selectingDate,\n filterDate: _this.props.filterDate,\n preSelection: _this.props.preSelection,\n selected: _this.props.selected,\n selectsStart: _this.props.selectsStart,\n selectsEnd: _this.props.selectsEnd,\n startDate: _this.props.startDate,\n endDate: _this.props.endDate,\n dayClassName: _this.props.dayClassName,\n utcOffset: _this.props.utcOffset,\n renderDayContents: _this.props.renderDayContents,\n disabledKeyboardNavigation: _this.props.disabledKeyboardNavigation\n });\n }));\n }, _temp), possibleConstructorReturn(_this, _ret);\n }\n\n Week.prototype.render = function render() {\n return React.createElement(\n \"div\",\n { className: \"react-datepicker__week\" },\n this.renderDays()\n );\n };\n\n return Week;\n}(React.Component);\n\nWeek.propTypes = {\n disabledKeyboardNavigation: PropTypes.bool,\n day: PropTypes.object.isRequired,\n dayClassName: PropTypes.func,\n endDate: PropTypes.object,\n excludeDates: PropTypes.array,\n filterDate: PropTypes.func,\n formatWeekNumber: PropTypes.func,\n highlightDates: PropTypes.instanceOf(Map),\n includeDates: PropTypes.array,\n inline: PropTypes.bool,\n maxDate: PropTypes.object,\n minDate: PropTypes.object,\n month: PropTypes.number,\n onDayClick: PropTypes.func,\n onDayMouseEnter: PropTypes.func,\n onWeekSelect: PropTypes.func,\n preSelection: PropTypes.object,\n selected: PropTypes.object,\n selectingDate: PropTypes.object,\n selectsEnd: PropTypes.bool,\n selectsStart: PropTypes.bool,\n showWeekNumber: PropTypes.bool,\n startDate: PropTypes.object,\n utcOffset: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n renderDayContents: PropTypes.func\n};\n\nvar FIXED_HEIGHT_STANDARD_WEEK_COUNT = 6;\n\nvar Month = function (_React$Component) {\n inherits(Month, _React$Component);\n\n function Month() {\n var _temp, _this, _ret;\n\n classCallCheck(this, Month);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _ret = (_temp = (_this = possibleConstructorReturn(this, _React$Component.call.apply(_React$Component, [this].concat(args))), _this), _this.handleDayClick = function (day, event) {\n if (_this.props.onDayClick) {\n _this.props.onDayClick(day, event);\n }\n }, _this.handleDayMouseEnter = function (day) {\n if (_this.props.onDayMouseEnter) {\n _this.props.onDayMouseEnter(day);\n }\n }, _this.handleMouseLeave = function () {\n if (_this.props.onMouseLeave) {\n _this.props.onMouseLeave();\n }\n }, _this.isWeekInMonth = function (startOfWeek) {\n var day = _this.props.day;\n var endOfWeek = addDays(cloneDate(startOfWeek), 6);\n return isSameMonth(startOfWeek, day) || isSameMonth(endOfWeek, day);\n }, _this.renderWeeks = function () {\n var weeks = [];\n var isFixedHeight = _this.props.fixedHeight;\n var currentWeekStart = getStartOfWeek(getStartOfMonth(cloneDate(_this.props.day)));\n var i = 0;\n var breakAfterNextPush = false;\n\n while (true) {\n weeks.push(React.createElement(Week, {\n key: i,\n day: currentWeekStart,\n month: getMonth(_this.props.day),\n onDayClick: _this.handleDayClick,\n onDayMouseEnter: _this.handleDayMouseEnter,\n onWeekSelect: _this.props.onWeekSelect,\n formatWeekNumber: _this.props.formatWeekNumber,\n minDate: _this.props.minDate,\n maxDate: _this.props.maxDate,\n excludeDates: _this.props.excludeDates,\n includeDates: _this.props.includeDates,\n inline: _this.props.inline,\n highlightDates: _this.props.highlightDates,\n selectingDate: _this.props.selectingDate,\n filterDate: _this.props.filterDate,\n preSelection: _this.props.preSelection,\n selected: _this.props.selected,\n selectsStart: _this.props.selectsStart,\n selectsEnd: _this.props.selectsEnd,\n showWeekNumber: _this.props.showWeekNumbers,\n startDate: _this.props.startDate,\n endDate: _this.props.endDate,\n dayClassName: _this.props.dayClassName,\n utcOffset: _this.props.utcOffset,\n disabledKeyboardNavigation: _this.props.disabledKeyboardNavigation,\n renderDayContents: _this.props.renderDayContents\n }));\n\n if (breakAfterNextPush) break;\n\n i++;\n currentWeekStart = addWeeks(cloneDate(currentWeekStart), 1);\n\n // If one of these conditions is true, we will either break on this week\n // or break on the next week\n var isFixedAndFinalWeek = isFixedHeight && i >= FIXED_HEIGHT_STANDARD_WEEK_COUNT;\n var isNonFixedAndOutOfMonth = !isFixedHeight && !_this.isWeekInMonth(currentWeekStart);\n\n if (isFixedAndFinalWeek || isNonFixedAndOutOfMonth) {\n if (_this.props.peekNextMonth) {\n breakAfterNextPush = true;\n } else {\n break;\n }\n }\n }\n\n return weeks;\n }, _this.getClassNames = function () {\n var _this$props = _this.props,\n selectingDate = _this$props.selectingDate,\n selectsStart = _this$props.selectsStart,\n selectsEnd = _this$props.selectsEnd;\n\n return classnames(\"react-datepicker__month\", {\n \"react-datepicker__month--selecting-range\": selectingDate && (selectsStart || selectsEnd)\n });\n }, _temp), possibleConstructorReturn(_this, _ret);\n }\n\n Month.prototype.render = function render() {\n return React.createElement(\n \"div\",\n {\n className: this.getClassNames(),\n onMouseLeave: this.handleMouseLeave,\n role: \"listbox\",\n \"aria-label\": \"month-\" + this.props.day.format(\"YYYY-MM\")\n },\n this.renderWeeks()\n );\n };\n\n return Month;\n}(React.Component);\n\nMonth.propTypes = {\n disabledKeyboardNavigation: PropTypes.bool,\n day: PropTypes.object.isRequired,\n dayClassName: PropTypes.func,\n endDate: PropTypes.object,\n excludeDates: PropTypes.array,\n filterDate: PropTypes.func,\n fixedHeight: PropTypes.bool,\n formatWeekNumber: PropTypes.func,\n highlightDates: PropTypes.instanceOf(Map),\n includeDates: PropTypes.array,\n inline: PropTypes.bool,\n maxDate: PropTypes.object,\n minDate: PropTypes.object,\n onDayClick: PropTypes.func,\n onDayMouseEnter: PropTypes.func,\n onMouseLeave: PropTypes.func,\n onWeekSelect: PropTypes.func,\n peekNextMonth: PropTypes.bool,\n preSelection: PropTypes.object,\n selected: PropTypes.object,\n selectingDate: PropTypes.object,\n selectsEnd: PropTypes.bool,\n selectsStart: PropTypes.bool,\n showWeekNumbers: PropTypes.bool,\n startDate: PropTypes.object,\n utcOffset: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n renderDayContents: PropTypes.func\n};\n\nvar Time = function (_React$Component) {\n inherits(Time, _React$Component);\n\n function Time() {\n var _temp, _this, _ret;\n\n classCallCheck(this, Time);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _ret = (_temp = (_this = possibleConstructorReturn(this, _React$Component.call.apply(_React$Component, [this].concat(args))), _this), _this.handleClick = function (time) {\n if ((_this.props.minTime || _this.props.maxTime) && isTimeInDisabledRange(time, _this.props) || _this.props.excludeTimes && isTimeDisabled(time, _this.props.excludeTimes) || _this.props.includeTimes && !isTimeDisabled(time, _this.props.includeTimes)) {\n return;\n }\n\n _this.props.onChange(time);\n }, _this.liClasses = function (time, currH, currM) {\n var classes = [\"react-datepicker__time-list-item\"];\n\n if (currH === getHour(time) && currM === getMinute(time)) {\n classes.push(\"react-datepicker__time-list-item--selected\");\n }\n if ((_this.props.minTime || _this.props.maxTime) && isTimeInDisabledRange(time, _this.props) || _this.props.excludeTimes && isTimeDisabled(time, _this.props.excludeTimes) || _this.props.includeTimes && !isTimeDisabled(time, _this.props.includeTimes)) {\n classes.push(\"react-datepicker__time-list-item--disabled\");\n }\n if (_this.props.injectTimes && (getHour(time) * 60 + getMinute(time)) % _this.props.intervals !== 0) {\n classes.push(\"react-datepicker__time-list-item--injected\");\n }\n\n return classes.join(\" \");\n }, _this.renderTimes = function () {\n var times = [];\n var format = _this.props.format ? _this.props.format : \"hh:mm A\";\n var intervals = _this.props.intervals;\n var activeTime = _this.props.selected ? _this.props.selected : newDate();\n var currH = getHour(activeTime);\n var currM = getMinute(activeTime);\n var base = getStartOfDay(newDate());\n var multiplier = 1440 / intervals;\n var sortedInjectTimes = _this.props.injectTimes && _this.props.injectTimes.sort(function (a, b) {\n return a - b;\n });\n for (var i = 0; i < multiplier; i++) {\n var currentTime = addMinutes(cloneDate(base), i * intervals);\n times.push(currentTime);\n\n if (sortedInjectTimes) {\n var timesToInject = timesToInjectAfter(base, currentTime, i, intervals, sortedInjectTimes);\n times = times.concat(timesToInject);\n }\n }\n\n return times.map(function (time, i) {\n return React.createElement(\n \"li\",\n {\n key: i,\n onClick: _this.handleClick.bind(_this, time),\n className: _this.liClasses(time, currH, currM),\n ref: function ref(li) {\n if (currH === getHour(time) && currM === getMinute(time) || currH === getHour(time) && !_this.centerLi) {\n _this.centerLi = li;\n }\n }\n },\n formatDate(time, format)\n );\n });\n }, _temp), possibleConstructorReturn(_this, _ret);\n }\n\n Time.prototype.componentDidMount = function componentDidMount() {\n // code to ensure selected time will always be in focus within time window when it first appears\n this.list.scrollTop = Time.calcCenterPosition(this.props.monthRef ? this.props.monthRef.clientHeight - this.header.clientHeight : this.list.clientHeight, this.centerLi);\n };\n\n Time.prototype.render = function render() {\n var _this2 = this;\n\n var height = null;\n if (this.props.monthRef && this.header) {\n height = this.props.monthRef.clientHeight - this.header.clientHeight;\n }\n\n return React.createElement(\n \"div\",\n {\n className: \"react-datepicker__time-container \" + (this.props.todayButton ? \"react-datepicker__time-container--with-today-button\" : \"\")\n },\n React.createElement(\n \"div\",\n {\n className: \"react-datepicker__header react-datepicker__header--time\",\n ref: function ref(header) {\n _this2.header = header;\n }\n },\n React.createElement(\n \"div\",\n { className: \"react-datepicker-time__header\" },\n this.props.timeCaption\n )\n ),\n React.createElement(\n \"div\",\n { className: \"react-datepicker__time\" },\n React.createElement(\n \"div\",\n { className: \"react-datepicker__time-box\" },\n React.createElement(\n \"ul\",\n {\n className: \"react-datepicker__time-list\",\n ref: function ref(list) {\n _this2.list = list;\n },\n style: height ? { height: height } : {}\n },\n this.renderTimes.bind(this)()\n )\n )\n )\n );\n };\n\n createClass(Time, null, [{\n key: \"defaultProps\",\n get: function get$$1() {\n return {\n intervals: 30,\n onTimeChange: function onTimeChange() {},\n todayButton: null,\n timeCaption: \"Time\"\n };\n }\n }]);\n return Time;\n}(React.Component);\n\nTime.propTypes = {\n format: PropTypes.string,\n includeTimes: PropTypes.array,\n intervals: PropTypes.number,\n selected: PropTypes.object,\n onChange: PropTypes.func,\n todayButton: PropTypes.node,\n minTime: PropTypes.object,\n maxTime: PropTypes.object,\n excludeTimes: PropTypes.array,\n monthRef: PropTypes.object,\n timeCaption: PropTypes.string,\n injectTimes: PropTypes.array\n};\n\nTime.calcCenterPosition = function (listHeight, centerLiRef) {\n return centerLiRef.offsetTop - (listHeight / 2 - centerLiRef.clientHeight / 2);\n};\n\nfunction CalendarContainer(_ref) {\n var className = _ref.className,\n children = _ref.children,\n _ref$arrowProps = _ref.arrowProps,\n arrowProps = _ref$arrowProps === undefined ? {} : _ref$arrowProps;\n\n return React.createElement(\n \"div\",\n { className: className },\n React.createElement(\"div\", _extends({ className: \"react-datepicker__triangle\" }, arrowProps)),\n children\n );\n}\n\nCalendarContainer.propTypes = {\n className: PropTypes.string,\n children: PropTypes.node,\n arrowProps: PropTypes.object // react-popper arrow props\n};\n\nvar DROPDOWN_FOCUS_CLASSNAMES = [\"react-datepicker__year-select\", \"react-datepicker__month-select\", \"react-datepicker__month-year-select\"];\n\nvar isDropdownSelect = function isDropdownSelect() {\n var element = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n var classNames = (element.className || \"\").split(/\\s+/);\n return DROPDOWN_FOCUS_CLASSNAMES.some(function (testClassname) {\n return classNames.indexOf(testClassname) >= 0;\n });\n};\n\nvar Calendar = function (_React$Component) {\n inherits(Calendar, _React$Component);\n createClass(Calendar, null, [{\n key: \"defaultProps\",\n get: function get$$1() {\n return {\n onDropdownFocus: function onDropdownFocus() {},\n monthsShown: 1,\n forceShowMonthNavigation: false,\n timeCaption: \"Time\",\n previousMonthButtonLabel: \"Previous Month\",\n nextMonthButtonLabel: \"Next Month\"\n };\n }\n }]);\n\n function Calendar(props) {\n classCallCheck(this, Calendar);\n\n var _this = possibleConstructorReturn(this, _React$Component.call(this, props));\n\n _this.handleClickOutside = function (event) {\n _this.props.onClickOutside(event);\n };\n\n _this.handleDropdownFocus = function (event) {\n if (isDropdownSelect(event.target)) {\n _this.props.onDropdownFocus();\n }\n };\n\n _this.getDateInView = function () {\n var _this$props = _this.props,\n preSelection = _this$props.preSelection,\n selected = _this$props.selected,\n openToDate = _this$props.openToDate,\n utcOffset = _this$props.utcOffset;\n\n var minDate = getEffectiveMinDate(_this.props);\n var maxDate = getEffectiveMaxDate(_this.props);\n var current = now(utcOffset);\n var initialDate = openToDate || selected || preSelection;\n if (initialDate) {\n return initialDate;\n } else {\n if (minDate && isBefore(current, minDate)) {\n return minDate;\n } else if (maxDate && isAfter(current, maxDate)) {\n return maxDate;\n }\n }\n return current;\n };\n\n _this.localizeDate = function (date) {\n return localizeDate(date, _this.props.locale);\n };\n\n _this.increaseMonth = function () {\n _this.setState({\n date: addMonths(cloneDate(_this.state.date), 1)\n }, function () {\n return _this.handleMonthChange(_this.state.date);\n });\n };\n\n _this.decreaseMonth = function () {\n _this.setState({\n date: subtractMonths(cloneDate(_this.state.date), 1)\n }, function () {\n return _this.handleMonthChange(_this.state.date);\n });\n };\n\n _this.handleDayClick = function (day, event) {\n return _this.props.onSelect(day, event);\n };\n\n _this.handleDayMouseEnter = function (day) {\n return _this.setState({ selectingDate: day });\n };\n\n _this.handleMonthMouseLeave = function () {\n return _this.setState({ selectingDate: null });\n };\n\n _this.handleYearChange = function (date) {\n if (_this.props.onYearChange) {\n _this.props.onYearChange(date);\n }\n };\n\n _this.handleMonthChange = function (date) {\n if (_this.props.onMonthChange) {\n _this.props.onMonthChange(date);\n }\n if (_this.props.adjustDateOnChange) {\n if (_this.props.onSelect) {\n _this.props.onSelect(date);\n }\n if (_this.props.setOpen) {\n _this.props.setOpen(true);\n }\n }\n };\n\n _this.handleMonthYearChange = function (date) {\n _this.handleYearChange(date);\n _this.handleMonthChange(date);\n };\n\n _this.changeYear = function (year) {\n _this.setState({\n date: setYear(cloneDate(_this.state.date), year)\n }, function () {\n return _this.handleYearChange(_this.state.date);\n });\n };\n\n _this.changeMonth = function (month) {\n _this.setState({\n date: setMonth(cloneDate(_this.state.date), month)\n }, function () {\n return _this.handleMonthChange(_this.state.date);\n });\n };\n\n _this.changeMonthYear = function (monthYear) {\n _this.setState({\n date: setYear(setMonth(cloneDate(_this.state.date), getMonth(monthYear)), getYear(monthYear))\n }, function () {\n return _this.handleMonthYearChange(_this.state.date);\n });\n };\n\n _this.header = function () {\n var date = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : _this.state.date;\n\n var startOfWeek = getStartOfWeek(cloneDate(date));\n var dayNames = [];\n if (_this.props.showWeekNumbers) {\n dayNames.push(React.createElement(\n \"div\",\n { key: \"W\", className: \"react-datepicker__day-name\" },\n _this.props.weekLabel || \"#\"\n ));\n }\n return dayNames.concat([0, 1, 2, 3, 4, 5, 6].map(function (offset) {\n var day = addDays(cloneDate(startOfWeek), offset);\n var localeData = getLocaleData(day);\n var weekDayName = _this.formatWeekday(localeData, day);\n\n return React.createElement(\n \"div\",\n { key: offset, className: \"react-datepicker__day-name\" },\n weekDayName\n );\n }));\n };\n\n _this.formatWeekday = function (localeData, day) {\n if (_this.props.formatWeekDay) {\n return getFormattedWeekdayInLocale(localeData, day, _this.props.formatWeekDay);\n }\n return _this.props.useWeekdaysShort ? getWeekdayShortInLocale(localeData, day) : getWeekdayMinInLocale(localeData, day);\n };\n\n _this.renderPreviousMonthButton = function () {\n if (_this.props.renderCustomHeader) {\n return;\n }\n\n var allPrevDaysDisabled = allDaysDisabledBefore(_this.state.date, \"month\", _this.props);\n\n if (!_this.props.forceShowMonthNavigation && !_this.props.showDisabledMonthNavigation && allPrevDaysDisabled || _this.props.showTimeSelectOnly) {\n return;\n }\n\n var classes = [\"react-datepicker__navigation\", \"react-datepicker__navigation--previous\"];\n\n var clickHandler = _this.decreaseMonth;\n\n if (allPrevDaysDisabled && _this.props.showDisabledMonthNavigation) {\n classes.push(\"react-datepicker__navigation--previous--disabled\");\n clickHandler = null;\n }\n\n return React.createElement(\n \"button\",\n {\n type: \"button\",\n className: classes.join(\" \"),\n onClick: clickHandler\n },\n _this.props.previousMonthButtonLabel\n );\n };\n\n _this.renderNextMonthButton = function () {\n if (_this.props.renderCustomHeader) {\n return;\n }\n\n var allNextDaysDisabled = allDaysDisabledAfter(_this.state.date, \"month\", _this.props);\n\n if (!_this.props.forceShowMonthNavigation && !_this.props.showDisabledMonthNavigation && allNextDaysDisabled || _this.props.showTimeSelectOnly) {\n return;\n }\n\n var classes = [\"react-datepicker__navigation\", \"react-datepicker__navigation--next\"];\n if (_this.props.showTimeSelect) {\n classes.push(\"react-datepicker__navigation--next--with-time\");\n }\n if (_this.props.todayButton) {\n classes.push(\"react-datepicker__navigation--next--with-today-button\");\n }\n\n var clickHandler = _this.increaseMonth;\n\n if (allNextDaysDisabled && _this.props.showDisabledMonthNavigation) {\n classes.push(\"react-datepicker__navigation--next--disabled\");\n clickHandler = null;\n }\n\n return React.createElement(\n \"button\",\n {\n type: \"button\",\n className: classes.join(\" \"),\n onClick: clickHandler\n },\n _this.props.nextMonthButtonLabel\n );\n };\n\n _this.renderCurrentMonth = function () {\n var date = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : _this.state.date;\n\n var classes = [\"react-datepicker__current-month\"];\n\n if (_this.props.showYearDropdown) {\n classes.push(\"react-datepicker__current-month--hasYearDropdown\");\n }\n if (_this.props.showMonthDropdown) {\n classes.push(\"react-datepicker__current-month--hasMonthDropdown\");\n }\n if (_this.props.showMonthYearDropdown) {\n classes.push(\"react-datepicker__current-month--hasMonthYearDropdown\");\n }\n return React.createElement(\n \"div\",\n { className: classes.join(\" \") },\n formatDate(date, _this.props.dateFormat)\n );\n };\n\n _this.renderYearDropdown = function () {\n var overrideHide = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n\n if (!_this.props.showYearDropdown || overrideHide) {\n return;\n }\n return React.createElement(YearDropdown, {\n adjustDateOnChange: _this.props.adjustDateOnChange,\n date: _this.state.date,\n onSelect: _this.props.onSelect,\n setOpen: _this.props.setOpen,\n dropdownMode: _this.props.dropdownMode,\n onChange: _this.changeYear,\n minDate: _this.props.minDate,\n maxDate: _this.props.maxDate,\n year: getYear(_this.state.date),\n scrollableYearDropdown: _this.props.scrollableYearDropdown,\n yearDropdownItemNumber: _this.props.yearDropdownItemNumber\n });\n };\n\n _this.renderMonthDropdown = function () {\n var overrideHide = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n\n if (!_this.props.showMonthDropdown || overrideHide) {\n return;\n }\n return React.createElement(MonthDropdown, {\n dropdownMode: _this.props.dropdownMode,\n locale: _this.props.locale,\n dateFormat: _this.props.dateFormat,\n onChange: _this.changeMonth,\n month: getMonth(_this.state.date),\n useShortMonthInDropdown: _this.props.useShortMonthInDropdown\n });\n };\n\n _this.renderMonthYearDropdown = function () {\n var overrideHide = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n\n if (!_this.props.showMonthYearDropdown || overrideHide) {\n return;\n }\n return React.createElement(MonthYearDropdown, {\n dropdownMode: _this.props.dropdownMode,\n locale: _this.props.locale,\n dateFormat: _this.props.dateFormat,\n onChange: _this.changeMonthYear,\n minDate: _this.props.minDate,\n maxDate: _this.props.maxDate,\n date: _this.state.date,\n scrollableMonthYearDropdown: _this.props.scrollableMonthYearDropdown\n });\n };\n\n _this.renderTodayButton = function () {\n if (!_this.props.todayButton || _this.props.showTimeSelectOnly) {\n return;\n }\n return React.createElement(\n \"div\",\n {\n className: \"react-datepicker__today-button\",\n onClick: function onClick(e) {\n return _this.props.onSelect(getStartOfDate(now(_this.props.utcOffset)), e);\n }\n },\n _this.props.todayButton\n );\n };\n\n _this.renderDefaultHeader = function (_ref) {\n var monthDate = _ref.monthDate,\n i = _ref.i;\n return React.createElement(\n \"div\",\n { className: \"react-datepicker__header\" },\n _this.renderCurrentMonth(monthDate),\n React.createElement(\n \"div\",\n {\n className: \"react-datepicker__header__dropdown react-datepicker__header__dropdown--\" + _this.props.dropdownMode,\n onFocus: _this.handleDropdownFocus\n },\n _this.renderMonthDropdown(i !== 0),\n _this.renderMonthYearDropdown(i !== 0),\n _this.renderYearDropdown(i !== 0)\n ),\n React.createElement(\n \"div\",\n { className: \"react-datepicker__day-names\" },\n _this.header(monthDate)\n )\n );\n };\n\n _this.renderCustomHeader = function (_ref2) {\n var monthDate = _ref2.monthDate,\n i = _ref2.i;\n\n if (i !== 0) {\n return null;\n }\n\n var prevMonthButtonDisabled = allDaysDisabledBefore(_this.state.date, \"month\", _this.props);\n\n var nextMonthButtonDisabled = allDaysDisabledAfter(_this.state.date, \"month\", _this.props);\n\n return React.createElement(\n \"div\",\n {\n className: \"react-datepicker__header react-datepicker__header--custom\",\n onFocus: _this.props.onDropdownFocus\n },\n _this.props.renderCustomHeader(_extends({}, _this.state, {\n changeMonth: _this.changeMonth,\n changeYear: _this.changeYear,\n decreaseMonth: _this.decreaseMonth,\n increaseMonth: _this.increaseMonth,\n prevMonthButtonDisabled: prevMonthButtonDisabled,\n nextMonthButtonDisabled: nextMonthButtonDisabled\n })),\n React.createElement(\n \"div\",\n { className: \"react-datepicker__day-names\" },\n _this.header(monthDate)\n )\n );\n };\n\n _this.renderMonths = function () {\n if (_this.props.showTimeSelectOnly) {\n return;\n }\n\n var monthList = [];\n for (var i = 0; i < _this.props.monthsShown; ++i) {\n var monthDate = addMonths(cloneDate(_this.state.date), i);\n var monthKey = \"month-\" + i;\n monthList.push(React.createElement(\n \"div\",\n {\n key: monthKey,\n ref: function ref(div) {\n _this.monthContainer = div;\n },\n className: \"react-datepicker__month-container\"\n },\n _this.props.renderCustomHeader ? _this.renderCustomHeader({ monthDate: monthDate, i: i }) : _this.renderDefaultHeader({ monthDate: monthDate, i: i }),\n React.createElement(Month, {\n day: monthDate,\n dayClassName: _this.props.dayClassName,\n onDayClick: _this.handleDayClick,\n onDayMouseEnter: _this.handleDayMouseEnter,\n onMouseLeave: _this.handleMonthMouseLeave,\n onWeekSelect: _this.props.onWeekSelect,\n formatWeekNumber: _this.props.formatWeekNumber,\n minDate: _this.props.minDate,\n maxDate: _this.props.maxDate,\n excludeDates: _this.props.excludeDates,\n highlightDates: _this.props.highlightDates,\n selectingDate: _this.state.selectingDate,\n includeDates: _this.props.includeDates,\n inline: _this.props.inline,\n fixedHeight: _this.props.fixedHeight,\n filterDate: _this.props.filterDate,\n preSelection: _this.props.preSelection,\n selected: _this.props.selected,\n selectsStart: _this.props.selectsStart,\n selectsEnd: _this.props.selectsEnd,\n showWeekNumbers: _this.props.showWeekNumbers,\n startDate: _this.props.startDate,\n endDate: _this.props.endDate,\n peekNextMonth: _this.props.peekNextMonth,\n utcOffset: _this.props.utcOffset,\n renderDayContents: _this.props.renderDayContents,\n disabledKeyboardNavigation: _this.props.disabledKeyboardNavigation\n })\n ));\n }\n return monthList;\n };\n\n _this.renderTimeSection = function () {\n if (_this.props.showTimeSelect && (_this.state.monthContainer || _this.props.showTimeSelectOnly)) {\n return React.createElement(Time, {\n selected: _this.props.selected,\n onChange: _this.props.onTimeChange,\n format: _this.props.timeFormat,\n includeTimes: _this.props.includeTimes,\n intervals: _this.props.timeIntervals,\n minTime: _this.props.minTime,\n maxTime: _this.props.maxTime,\n excludeTimes: _this.props.excludeTimes,\n timeCaption: _this.props.timeCaption,\n todayButton: _this.props.todayButton,\n showMonthDropdown: _this.props.showMonthDropdown,\n showMonthYearDropdown: _this.props.showMonthYearDropdown,\n showYearDropdown: _this.props.showYearDropdown,\n withPortal: _this.props.withPortal,\n monthRef: _this.state.monthContainer,\n injectTimes: _this.props.injectTimes\n });\n }\n };\n\n _this.state = {\n date: _this.localizeDate(_this.getDateInView()),\n selectingDate: null,\n monthContainer: null\n };\n return _this;\n }\n\n Calendar.prototype.componentDidMount = function componentDidMount() {\n var _this2 = this;\n\n // monthContainer height is needed in time component\n // to determine the height for the ul in the time component\n // setState here so height is given after final component\n // layout is rendered\n if (this.props.showTimeSelect) {\n this.assignMonthContainer = function () {\n _this2.setState({ monthContainer: _this2.monthContainer });\n }();\n }\n };\n\n Calendar.prototype.componentDidUpdate = function componentDidUpdate(prevProps) {\n if (this.props.preSelection && !isSameDay(this.props.preSelection, prevProps.preSelection)) {\n this.setState({\n date: this.localizeDate(this.props.preSelection)\n });\n } else if (this.props.openToDate && !isSameDay(this.props.openToDate, prevProps.openToDate)) {\n this.setState({\n date: this.localizeDate(this.props.openToDate)\n });\n }\n };\n\n Calendar.prototype.render = function render() {\n var Container = this.props.container || CalendarContainer;\n\n return React.createElement(\n Container,\n {\n className: classnames(\"react-datepicker\", this.props.className, {\n \"react-datepicker--time-only\": this.props.showTimeSelectOnly\n })\n },\n this.renderPreviousMonthButton(),\n this.renderNextMonthButton(),\n this.renderMonths(),\n this.renderTodayButton(),\n this.renderTimeSection(),\n this.props.children\n );\n };\n\n return Calendar;\n}(React.Component);\n\nCalendar.propTypes = {\n adjustDateOnChange: PropTypes.bool,\n className: PropTypes.string,\n children: PropTypes.node,\n container: PropTypes.func,\n dateFormat: PropTypes.oneOfType([PropTypes.string, PropTypes.array]).isRequired,\n dayClassName: PropTypes.func,\n disabledKeyboardNavigation: PropTypes.bool,\n dropdownMode: PropTypes.oneOf([\"scroll\", \"select\"]),\n endDate: PropTypes.object,\n excludeDates: PropTypes.array,\n filterDate: PropTypes.func,\n fixedHeight: PropTypes.bool,\n formatWeekNumber: PropTypes.func,\n highlightDates: PropTypes.instanceOf(Map),\n includeDates: PropTypes.array,\n includeTimes: PropTypes.array,\n injectTimes: PropTypes.array,\n inline: PropTypes.bool,\n locale: PropTypes.string,\n maxDate: PropTypes.object,\n minDate: PropTypes.object,\n monthsShown: PropTypes.number,\n onClickOutside: PropTypes.func.isRequired,\n onMonthChange: PropTypes.func,\n onYearChange: PropTypes.func,\n forceShowMonthNavigation: PropTypes.bool,\n onDropdownFocus: PropTypes.func,\n onSelect: PropTypes.func.isRequired,\n onWeekSelect: PropTypes.func,\n showTimeSelect: PropTypes.bool,\n showTimeSelectOnly: PropTypes.bool,\n timeFormat: PropTypes.string,\n timeIntervals: PropTypes.number,\n onTimeChange: PropTypes.func,\n minTime: PropTypes.object,\n maxTime: PropTypes.object,\n excludeTimes: PropTypes.array,\n timeCaption: PropTypes.string,\n openToDate: PropTypes.object,\n peekNextMonth: PropTypes.bool,\n scrollableYearDropdown: PropTypes.bool,\n scrollableMonthYearDropdown: PropTypes.bool,\n preSelection: PropTypes.object,\n selected: PropTypes.object,\n selectsEnd: PropTypes.bool,\n selectsStart: PropTypes.bool,\n showMonthDropdown: PropTypes.bool,\n showMonthYearDropdown: PropTypes.bool,\n showWeekNumbers: PropTypes.bool,\n showYearDropdown: PropTypes.bool,\n startDate: PropTypes.object,\n todayButton: PropTypes.node,\n useWeekdaysShort: PropTypes.bool,\n formatWeekDay: PropTypes.func,\n withPortal: PropTypes.bool,\n utcOffset: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n weekLabel: PropTypes.string,\n yearDropdownItemNumber: PropTypes.number,\n setOpen: PropTypes.func,\n useShortMonthInDropdown: PropTypes.bool,\n showDisabledMonthNavigation: PropTypes.bool,\n previousMonthButtonLabel: PropTypes.string,\n nextMonthButtonLabel: PropTypes.string,\n renderCustomHeader: PropTypes.func,\n renderDayContents: PropTypes.func\n};\n\nvar popperPlacementPositions = [\"bottom\", \"bottom-end\", \"bottom-start\", \"left\", \"left-end\", \"left-start\", \"right\", \"right-end\", \"right-start\", \"top\", \"top-end\", \"top-start\"];\n\nvar PopperComponent = function (_React$Component) {\n inherits(PopperComponent, _React$Component);\n\n function PopperComponent() {\n classCallCheck(this, PopperComponent);\n return possibleConstructorReturn(this, _React$Component.apply(this, arguments));\n }\n\n PopperComponent.prototype.render = function render() {\n var _props = this.props,\n className = _props.className,\n hidePopper = _props.hidePopper,\n popperComponent = _props.popperComponent,\n popperModifiers = _props.popperModifiers,\n popperPlacement = _props.popperPlacement,\n popperProps = _props.popperProps,\n targetComponent = _props.targetComponent;\n\n\n var popper = void 0;\n\n if (!hidePopper) {\n var classes = classnames(\"react-datepicker-popper\", className);\n popper = React.createElement(\n Popper,\n _extends({\n modifiers: popperModifiers,\n placement: popperPlacement\n }, popperProps),\n function (_ref) {\n var ref = _ref.ref,\n style = _ref.style,\n placement = _ref.placement,\n arrowProps = _ref.arrowProps;\n return React.createElement(\n \"div\",\n _extends({ ref: ref, style: style }, {\n className: classes,\n \"data-placement\": placement\n }),\n React.cloneElement(popperComponent, { arrowProps: arrowProps })\n );\n }\n );\n }\n\n if (this.props.popperContainer) {\n popper = React.createElement(this.props.popperContainer, {}, popper);\n }\n\n return React.createElement(\n Manager,\n null,\n React.createElement(\n Reference,\n null,\n function (_ref2) {\n var ref = _ref2.ref;\n return React.createElement(\n \"div\",\n { ref: ref, className: \"react-datepicker-wrapper\" },\n targetComponent\n );\n }\n ),\n popper\n );\n };\n\n createClass(PopperComponent, null, [{\n key: \"defaultProps\",\n get: function get$$1() {\n return {\n hidePopper: true,\n popperModifiers: {\n preventOverflow: {\n enabled: true,\n escapeWithReference: true,\n boundariesElement: \"viewport\"\n }\n },\n popperProps: {},\n popperPlacement: \"bottom-start\"\n };\n }\n }]);\n return PopperComponent;\n}(React.Component);\n\nPopperComponent.propTypes = {\n className: PropTypes.string,\n hidePopper: PropTypes.bool,\n popperComponent: PropTypes.element,\n popperModifiers: PropTypes.object, // props\n popperPlacement: PropTypes.oneOf(popperPlacementPositions), // props\n popperContainer: PropTypes.func,\n popperProps: PropTypes.object,\n targetComponent: PropTypes.element\n};\n\nvar outsideClickIgnoreClass = \"react-datepicker-ignore-onclickoutside\";\nvar WrappedCalendar = onClickOutside(Calendar);\n\n// Compares dates year+month combinations\nfunction hasPreSelectionChanged(date1, date2) {\n if (date1 && date2) {\n return getMonth(date1) !== getMonth(date2) || getYear(date1) !== getYear(date2);\n }\n\n return date1 !== date2;\n}\n\nfunction hasSelectionChanged(date1, date2) {\n if (date1 && date2) {\n return !equals(date1, date2);\n }\n\n return false;\n}\n\n/**\n * General datepicker component.\n */\nvar INPUT_ERR_1 = \"Date input not valid.\";\n\nvar DatePicker = function (_React$Component) {\n inherits(DatePicker, _React$Component);\n createClass(DatePicker, null, [{\n key: \"defaultProps\",\n get: function get$$1() {\n return {\n allowSameDay: false,\n dateFormat: \"L\",\n dateFormatCalendar: \"MMMM YYYY\",\n onChange: function onChange() {},\n\n disabled: false,\n disabledKeyboardNavigation: false,\n dropdownMode: \"scroll\",\n onFocus: function onFocus() {},\n onBlur: function onBlur() {},\n onKeyDown: function onKeyDown() {},\n onInputClick: function onInputClick() {},\n onSelect: function onSelect() {},\n onClickOutside: function onClickOutside$$1() {},\n onMonthChange: function onMonthChange() {},\n\n preventOpenOnFocus: false,\n onYearChange: function onYearChange() {},\n onInputError: function onInputError() {},\n\n monthsShown: 1,\n readOnly: false,\n withPortal: false,\n shouldCloseOnSelect: true,\n showTimeSelect: false,\n timeIntervals: 30,\n timeCaption: \"Time\",\n previousMonthButtonLabel: \"Previous Month\",\n nextMonthButtonLabel: \"Next month\",\n renderDayContents: function renderDayContents(date) {\n return date;\n }\n };\n }\n }]);\n\n function DatePicker(props) {\n classCallCheck(this, DatePicker);\n\n var _this = possibleConstructorReturn(this, _React$Component.call(this, props));\n\n _this.getPreSelection = function () {\n return _this.props.openToDate ? newDate(_this.props.openToDate) : _this.props.selectsEnd && _this.props.startDate ? newDate(_this.props.startDate) : _this.props.selectsStart && _this.props.endDate ? newDate(_this.props.endDate) : now(_this.props.utcOffset);\n };\n\n _this.calcInitialState = function () {\n var defaultPreSelection = _this.getPreSelection();\n var minDate = getEffectiveMinDate(_this.props);\n var maxDate = getEffectiveMaxDate(_this.props);\n var boundedPreSelection = minDate && isBefore(defaultPreSelection, minDate) ? minDate : maxDate && isAfter(defaultPreSelection, maxDate) ? maxDate : defaultPreSelection;\n return {\n open: _this.props.startOpen || false,\n preventFocus: false,\n preSelection: _this.props.selected ? newDate(_this.props.selected) : boundedPreSelection,\n // transforming highlighted days (perhaps nested array)\n // to flat Map for faster access in day.jsx\n highlightDates: getHightLightDaysMap(_this.props.highlightDates),\n focused: false\n };\n };\n\n _this.clearPreventFocusTimeout = function () {\n if (_this.preventFocusTimeout) {\n clearTimeout(_this.preventFocusTimeout);\n }\n };\n\n _this.setFocus = function () {\n if (_this.input && _this.input.focus) {\n _this.input.focus();\n }\n };\n\n _this.setBlur = function () {\n if (_this.input && _this.input.blur) {\n _this.input.blur();\n }\n\n if (_this.props.onBlur) {\n _this.props.onBlur();\n }\n\n _this.cancelFocusInput();\n };\n\n _this.setOpen = function (open) {\n var skipSetBlur = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n\n _this.setState({\n open: open,\n preSelection: open && _this.state.open ? _this.state.preSelection : _this.calcInitialState().preSelection,\n lastPreSelectChange: PRESELECT_CHANGE_VIA_NAVIGATE\n }, function () {\n if (!open) {\n _this.setState(function (prev) {\n return {\n focused: skipSetBlur ? prev.focused : false\n };\n }, function () {\n !skipSetBlur && _this.setBlur();\n\n _this.setState({ inputValue: null });\n });\n }\n });\n };\n\n _this.inputOk = function () {\n return isMoment(_this.state.preSelection) || isDate(_this.state.preSelection);\n };\n\n _this.isCalendarOpen = function () {\n return _this.props.open === undefined ? _this.state.open && !_this.props.disabled && !_this.props.readOnly : _this.props.open;\n };\n\n _this.handleFocus = function (event) {\n if (!_this.state.preventFocus) {\n _this.props.onFocus(event);\n if (!_this.props.preventOpenOnFocus && !_this.props.readOnly) {\n _this.setOpen(true);\n }\n }\n _this.setState({ focused: true });\n };\n\n _this.cancelFocusInput = function () {\n clearTimeout(_this.inputFocusTimeout);\n _this.inputFocusTimeout = null;\n };\n\n _this.deferFocusInput = function () {\n _this.cancelFocusInput();\n _this.inputFocusTimeout = setTimeout(function () {\n return _this.setFocus();\n }, 1);\n };\n\n _this.handleDropdownFocus = function () {\n _this.cancelFocusInput();\n };\n\n _this.handleBlur = function (event) {\n if (_this.state.open && !_this.props.withPortal) {\n _this.deferFocusInput();\n } else {\n _this.props.onBlur(event);\n }\n _this.setState({ focused: false });\n };\n\n _this.handleCalendarClickOutside = function (event) {\n if (!_this.props.inline) {\n _this.setOpen(false);\n }\n _this.props.onClickOutside(event);\n if (_this.props.withPortal) {\n event.preventDefault();\n }\n };\n\n _this.handleChange = function () {\n for (var _len = arguments.length, allArgs = Array(_len), _key = 0; _key < _len; _key++) {\n allArgs[_key] = arguments[_key];\n }\n\n var event = allArgs[0];\n if (_this.props.onChangeRaw) {\n _this.props.onChangeRaw.apply(_this, allArgs);\n if (typeof event.isDefaultPrevented !== \"function\" || event.isDefaultPrevented()) {\n return;\n }\n }\n _this.setState({\n inputValue: event.target.value,\n lastPreSelectChange: PRESELECT_CHANGE_VIA_INPUT\n });\n var date = parseDate(event.target.value, _this.props);\n if (date || !event.target.value) {\n _this.setSelected(date, event, true);\n }\n };\n\n _this.handleSelect = function (date, event) {\n // Preventing onFocus event to fix issue\n // https://github.com/Hacker0x01/react-datepicker/issues/628\n _this.setState({ preventFocus: true }, function () {\n _this.preventFocusTimeout = setTimeout(function () {\n return _this.setState({ preventFocus: false });\n }, 50);\n return _this.preventFocusTimeout;\n });\n _this.setSelected(date, event);\n if (!_this.props.shouldCloseOnSelect || _this.props.showTimeSelect) {\n _this.setPreSelection(date);\n } else if (!_this.props.inline) {\n _this.setOpen(false);\n }\n };\n\n _this.setSelected = function (date, event, keepInput) {\n var changedDate = date;\n\n if (changedDate !== null && isDayDisabled(changedDate, _this.props)) {\n if (isOutOfBounds(changedDate, _this.props)) {\n _this.props.onChange(date, event);\n _this.props.onSelect(changedDate, event);\n }\n\n return;\n }\n\n if (!isSameDay(_this.props.selected, changedDate) || _this.props.allowSameDay) {\n if (changedDate !== null) {\n if (_this.props.selected) {\n var selected = _this.props.selected;\n if (keepInput) selected = newDate(changedDate);\n changedDate = setTime(newDate(changedDate), {\n hour: getHour(selected),\n minute: getMinute(selected),\n second: getSecond(selected)\n });\n }\n if (!_this.props.inline) {\n _this.setState({\n preSelection: changedDate\n });\n }\n }\n _this.props.onChange(changedDate, event);\n }\n\n _this.props.onSelect(changedDate, event);\n\n if (!keepInput) {\n _this.setState({ inputValue: null });\n }\n };\n\n _this.setPreSelection = function (date) {\n var isDateRangePresent = typeof _this.props.minDate !== \"undefined\" && typeof _this.props.maxDate !== \"undefined\";\n var isValidDateSelection = isDateRangePresent && date ? isDayInRange(date, _this.props.minDate, _this.props.maxDate) : true;\n if (isValidDateSelection) {\n _this.setState({\n preSelection: date\n });\n }\n };\n\n _this.handleTimeChange = function (time) {\n var selected = _this.props.selected ? _this.props.selected : _this.getPreSelection();\n var changedDate = setTime(cloneDate(selected), {\n hour: getHour(time),\n minute: getMinute(time)\n });\n\n _this.setState({\n preSelection: changedDate\n });\n\n _this.props.onChange(changedDate);\n if (_this.props.shouldCloseOnSelect) {\n _this.setOpen(false);\n }\n _this.setState({ inputValue: null });\n };\n\n _this.onInputClick = function () {\n if (!_this.props.disabled && !_this.props.readOnly) {\n _this.setOpen(true);\n }\n\n _this.props.onInputClick();\n };\n\n _this.onInputKeyDown = function (event) {\n _this.props.onKeyDown(event);\n var eventKey = event.key;\n if (!_this.state.open && !_this.props.inline && !_this.props.preventOpenOnFocus) {\n if (eventKey === \"ArrowDown\" || eventKey === \"ArrowUp\") {\n _this.onInputClick();\n }\n return;\n }\n var copy = newDate(_this.state.preSelection);\n if (eventKey === \"Enter\") {\n event.preventDefault();\n if (_this.inputOk() && _this.state.lastPreSelectChange === PRESELECT_CHANGE_VIA_NAVIGATE) {\n _this.handleSelect(copy, event);\n !_this.props.shouldCloseOnSelect && _this.setPreSelection(copy);\n } else {\n _this.setOpen(false);\n }\n } else if (eventKey === \"Escape\") {\n event.preventDefault();\n\n _this.setOpen(false);\n if (!_this.inputOk()) {\n _this.props.onInputError({ code: 1, msg: INPUT_ERR_1 });\n }\n } else if (eventKey === \"Tab\") {\n _this.setOpen(false, true);\n } else if (!_this.props.disabledKeyboardNavigation) {\n var newSelection = void 0;\n switch (eventKey) {\n case \"ArrowLeft\":\n newSelection = subtractDays(copy, 1);\n break;\n case \"ArrowRight\":\n newSelection = addDays(copy, 1);\n break;\n case \"ArrowUp\":\n newSelection = subtractWeeks(copy, 1);\n break;\n case \"ArrowDown\":\n newSelection = addWeeks(copy, 1);\n break;\n case \"PageUp\":\n newSelection = subtractMonths(copy, 1);\n break;\n case \"PageDown\":\n newSelection = addMonths(copy, 1);\n break;\n case \"Home\":\n newSelection = subtractYears(copy, 1);\n break;\n case \"End\":\n newSelection = addYears(copy, 1);\n break;\n }\n if (!newSelection) {\n if (_this.props.onInputError) {\n _this.props.onInputError({ code: 1, msg: INPUT_ERR_1 });\n }\n return; // Let the input component handle this keydown\n }\n event.preventDefault();\n _this.setState({ lastPreSelectChange: PRESELECT_CHANGE_VIA_NAVIGATE });\n if (_this.props.adjustDateOnChange) {\n _this.setSelected(newSelection);\n }\n _this.setPreSelection(newSelection);\n }\n };\n\n _this.onClearClick = function (event) {\n if (event) {\n if (event.preventDefault) {\n event.preventDefault();\n }\n }\n _this.props.onChange(null, event);\n _this.setState({ inputValue: null });\n };\n\n _this.clear = function () {\n _this.onClearClick();\n };\n\n _this.renderCalendar = function () {\n if (!_this.props.inline && !_this.isCalendarOpen()) {\n return null;\n }\n return React.createElement(\n WrappedCalendar,\n {\n ref: function ref(elem) {\n _this.calendar = elem;\n },\n locale: _this.props.locale,\n adjustDateOnChange: _this.props.adjustDateOnChange,\n setOpen: _this.setOpen,\n dateFormat: _this.props.dateFormatCalendar,\n useWeekdaysShort: _this.props.useWeekdaysShort,\n formatWeekDay: _this.props.formatWeekDay,\n dropdownMode: _this.props.dropdownMode,\n selected: _this.props.selected,\n preSelection: _this.state.preSelection,\n onSelect: _this.handleSelect,\n onWeekSelect: _this.props.onWeekSelect,\n openToDate: _this.props.openToDate,\n minDate: _this.props.minDate,\n maxDate: _this.props.maxDate,\n selectsStart: _this.props.selectsStart,\n selectsEnd: _this.props.selectsEnd,\n startDate: _this.props.startDate,\n endDate: _this.props.endDate,\n excludeDates: _this.props.excludeDates,\n filterDate: _this.props.filterDate,\n onClickOutside: _this.handleCalendarClickOutside,\n formatWeekNumber: _this.props.formatWeekNumber,\n highlightDates: _this.state.highlightDates,\n includeDates: _this.props.includeDates,\n includeTimes: _this.props.includeTimes,\n injectTimes: _this.props.injectTimes,\n inline: _this.props.inline,\n peekNextMonth: _this.props.peekNextMonth,\n showMonthDropdown: _this.props.showMonthDropdown,\n useShortMonthInDropdown: _this.props.useShortMonthInDropdown,\n showMonthYearDropdown: _this.props.showMonthYearDropdown,\n showWeekNumbers: _this.props.showWeekNumbers,\n showYearDropdown: _this.props.showYearDropdown,\n withPortal: _this.props.withPortal,\n forceShowMonthNavigation: _this.props.forceShowMonthNavigation,\n showDisabledMonthNavigation: _this.props.showDisabledMonthNavigation,\n scrollableYearDropdown: _this.props.scrollableYearDropdown,\n scrollableMonthYearDropdown: _this.props.scrollableMonthYearDropdown,\n todayButton: _this.props.todayButton,\n weekLabel: _this.props.weekLabel,\n utcOffset: _this.props.utcOffset,\n outsideClickIgnoreClass: outsideClickIgnoreClass,\n fixedHeight: _this.props.fixedHeight,\n monthsShown: _this.props.monthsShown,\n onDropdownFocus: _this.handleDropdownFocus,\n onMonthChange: _this.props.onMonthChange,\n onYearChange: _this.props.onYearChange,\n dayClassName: _this.props.dayClassName,\n showTimeSelect: _this.props.showTimeSelect,\n showTimeSelectOnly: _this.props.showTimeSelectOnly,\n onTimeChange: _this.handleTimeChange,\n timeFormat: _this.props.timeFormat,\n timeIntervals: _this.props.timeIntervals,\n minTime: _this.props.minTime,\n maxTime: _this.props.maxTime,\n excludeTimes: _this.props.excludeTimes,\n timeCaption: _this.props.timeCaption,\n className: _this.props.calendarClassName,\n container: _this.props.calendarContainer,\n yearDropdownItemNumber: _this.props.yearDropdownItemNumber,\n previousMonthButtonLabel: _this.props.previousMonthButtonLabel,\n nextMonthButtonLabel: _this.props.nextMonthButtonLabel,\n disabledKeyboardNavigation: _this.props.disabledKeyboardNavigation,\n renderCustomHeader: _this.props.renderCustomHeader,\n popperProps: _this.props.popperProps,\n renderDayContents: _this.props.renderDayContents\n },\n _this.props.children\n );\n };\n\n _this.renderDateInput = function () {\n var _classnames, _React$cloneElement;\n\n var className = classnames(_this.props.className, (_classnames = {}, _classnames[outsideClickIgnoreClass] = _this.state.open, _classnames));\n\n var customInput = _this.props.customInput || React.createElement(\"input\", { type: \"text\" });\n var customInputRef = _this.props.customInputRef || \"ref\";\n var inputValue = typeof _this.props.value === \"string\" ? _this.props.value : typeof _this.state.inputValue === \"string\" ? _this.state.inputValue : safeDateFormat(_this.props.selected, _this.props);\n\n return React.cloneElement(customInput, (_React$cloneElement = {}, _React$cloneElement[customInputRef] = function (input) {\n _this.input = input;\n }, _React$cloneElement.value = inputValue, _React$cloneElement.onBlur = _this.handleBlur, _React$cloneElement.onChange = _this.handleChange, _React$cloneElement.onClick = _this.onInputClick, _React$cloneElement.onFocus = _this.handleFocus, _React$cloneElement.onKeyDown = _this.onInputKeyDown, _React$cloneElement.id = _this.props.id, _React$cloneElement.name = _this.props.name, _React$cloneElement.autoFocus = _this.props.autoFocus, _React$cloneElement.placeholder = _this.props.placeholderText, _React$cloneElement.disabled = _this.props.disabled, _React$cloneElement.autoComplete = _this.props.autoComplete, _React$cloneElement.className = className, _React$cloneElement.title = _this.props.title, _React$cloneElement.readOnly = _this.props.readOnly, _React$cloneElement.required = _this.props.required, _React$cloneElement.tabIndex = _this.props.tabIndex, _React$cloneElement));\n };\n\n _this.renderClearButton = function () {\n if (_this.props.isClearable && _this.props.selected != null) {\n return React.createElement(\"button\", {\n type: \"button\",\n className: \"react-datepicker__close-icon\",\n onClick: _this.onClearClick,\n title: _this.props.clearButtonTitle,\n tabIndex: -1\n });\n } else {\n return null;\n }\n };\n\n _this.state = _this.calcInitialState();\n return _this;\n }\n\n DatePicker.prototype.componentDidUpdate = function componentDidUpdate(prevProps, prevState) {\n if (prevProps.inline && hasPreSelectionChanged(prevProps.selected, this.props.selected)) {\n this.setPreSelection(this.props.selected);\n }\n if (prevProps.highlightDates !== this.props.highlightDates) {\n this.setState({\n highlightDates: getHightLightDaysMap(this.props.highlightDates)\n });\n }\n if (!prevState.focused && hasSelectionChanged(prevProps.selected, this.props.selected)) {\n this.setState({ inputValue: null });\n }\n };\n\n DatePicker.prototype.componentWillUnmount = function componentWillUnmount() {\n this.clearPreventFocusTimeout();\n };\n\n DatePicker.prototype.render = function render() {\n var calendar = this.renderCalendar();\n\n if (this.props.inline && !this.props.withPortal) {\n return calendar;\n }\n\n if (this.props.withPortal) {\n return React.createElement(\n \"div\",\n null,\n !this.props.inline ? React.createElement(\n \"div\",\n { className: \"react-datepicker__input-container\" },\n this.renderDateInput(),\n this.renderClearButton()\n ) : null,\n this.state.open || this.props.inline ? React.createElement(\n \"div\",\n { className: \"react-datepicker__portal\" },\n calendar\n ) : null\n );\n }\n\n return React.createElement(PopperComponent, {\n className: this.props.popperClassName,\n hidePopper: !this.isCalendarOpen(),\n popperModifiers: this.props.popperModifiers,\n targetComponent: React.createElement(\n \"div\",\n { className: \"react-datepicker__input-container\" },\n this.renderDateInput(),\n this.renderClearButton()\n ),\n popperContainer: this.props.popperContainer,\n popperComponent: calendar,\n popperPlacement: this.props.popperPlacement,\n popperProps: this.props.popperProps\n });\n };\n\n return DatePicker;\n}(React.Component);\n\nDatePicker.propTypes = {\n adjustDateOnChange: PropTypes.bool,\n allowSameDay: PropTypes.bool,\n autoComplete: PropTypes.string,\n autoFocus: PropTypes.bool,\n calendarClassName: PropTypes.string,\n calendarContainer: PropTypes.func,\n children: PropTypes.node,\n className: PropTypes.string,\n customInput: PropTypes.element,\n customInputRef: PropTypes.string,\n // eslint-disable-next-line react/no-unused-prop-types\n dateFormat: PropTypes.oneOfType([PropTypes.string, PropTypes.array]),\n dateFormatCalendar: PropTypes.string,\n dayClassName: PropTypes.func,\n disabled: PropTypes.bool,\n disabledKeyboardNavigation: PropTypes.bool,\n dropdownMode: PropTypes.oneOf([\"scroll\", \"select\"]).isRequired,\n endDate: PropTypes.object,\n excludeDates: PropTypes.array,\n filterDate: PropTypes.func,\n fixedHeight: PropTypes.bool,\n formatWeekNumber: PropTypes.func,\n highlightDates: PropTypes.array,\n id: PropTypes.string,\n includeDates: PropTypes.array,\n includeTimes: PropTypes.array,\n injectTimes: PropTypes.array,\n inline: PropTypes.bool,\n isClearable: PropTypes.bool,\n locale: PropTypes.string,\n maxDate: PropTypes.object,\n minDate: PropTypes.object,\n monthsShown: PropTypes.number,\n name: PropTypes.string,\n onBlur: PropTypes.func,\n onChange: PropTypes.func.isRequired,\n onSelect: PropTypes.func,\n onWeekSelect: PropTypes.func,\n onClickOutside: PropTypes.func,\n onChangeRaw: PropTypes.func,\n onFocus: PropTypes.func,\n onInputClick: PropTypes.func,\n onKeyDown: PropTypes.func,\n onMonthChange: PropTypes.func,\n onYearChange: PropTypes.func,\n onInputError: PropTypes.func,\n open: PropTypes.bool,\n openToDate: PropTypes.object,\n peekNextMonth: PropTypes.bool,\n placeholderText: PropTypes.string,\n popperContainer: PropTypes.func,\n popperClassName: PropTypes.string, // props\n popperModifiers: PropTypes.object, // props\n popperPlacement: PropTypes.oneOf(popperPlacementPositions), // props\n popperProps: PropTypes.object,\n preventOpenOnFocus: PropTypes.bool,\n readOnly: PropTypes.bool,\n required: PropTypes.bool,\n scrollableYearDropdown: PropTypes.bool,\n scrollableMonthYearDropdown: PropTypes.bool,\n selected: PropTypes.object,\n selectsEnd: PropTypes.bool,\n selectsStart: PropTypes.bool,\n showMonthDropdown: PropTypes.bool,\n showMonthYearDropdown: PropTypes.bool,\n showWeekNumbers: PropTypes.bool,\n showYearDropdown: PropTypes.bool,\n forceShowMonthNavigation: PropTypes.bool,\n showDisabledMonthNavigation: PropTypes.bool,\n startDate: PropTypes.object,\n startOpen: PropTypes.bool,\n tabIndex: PropTypes.number,\n timeCaption: PropTypes.string,\n title: PropTypes.string,\n todayButton: PropTypes.node,\n useWeekdaysShort: PropTypes.bool,\n formatWeekDay: PropTypes.func,\n utcOffset: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n value: PropTypes.string,\n weekLabel: PropTypes.string,\n withPortal: PropTypes.bool,\n yearDropdownItemNumber: PropTypes.number,\n shouldCloseOnSelect: PropTypes.bool,\n showTimeSelect: PropTypes.bool,\n showTimeSelectOnly: PropTypes.bool,\n timeFormat: PropTypes.string,\n timeIntervals: PropTypes.number,\n minTime: PropTypes.object,\n maxTime: PropTypes.object,\n excludeTimes: PropTypes.array,\n useShortMonthInDropdown: PropTypes.bool,\n clearButtonTitle: PropTypes.string,\n previousMonthButtonLabel: PropTypes.string,\n nextMonthButtonLabel: PropTypes.string,\n renderCustomHeader: PropTypes.func,\n renderDayContents: PropTypes.func\n};\nvar PRESELECT_CHANGE_VIA_INPUT = \"input\";\nvar PRESELECT_CHANGE_VIA_NAVIGATE = \"navigate\";\n\nexport { CalendarContainer };\nexport default DatePicker;\n","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport ReactDatePicker from 'react-datepicker';\r\nimport moment from 'moment';\r\nimport Icon from 'components/shared/icon';\r\n\r\n// Custom input component with a calendar icon\r\nexport class CustomInput extends React.Component {\r\n static propTypes = {\r\n onClick: PropTypes.func,\r\n value: PropTypes.any\r\n };\r\n render() {\r\n return (\r\n
\r\n \r\n \r\n
\r\n );\r\n }\r\n}\r\n\r\n// Argus date picker\r\nclass DatePicker extends React.Component {\r\n static propTypes = {\r\n customInput: PropTypes.node,\r\n onChange: PropTypes.func,\r\n selected: PropTypes.object\r\n };\r\n\r\n onChange = date => {\r\n this.props.onChange(date);\r\n };\r\n\r\n render() {\r\n return (\r\n }\r\n selected={this.props.selected}\r\n onChange={this.onChange}\r\n minDate={moment()}\r\n />\r\n );\r\n }\r\n}\r\n\r\nexport default DatePicker;\r\n","import PropTypes from 'prop-types';\r\nimport React, { Component } from 'react';\r\nimport { FormattedMessage } from 'react-intl';\r\nimport { injectIntl, intlShape } from 'react-intl';\r\nimport moment from 'moment';\r\nimport dateUtil from 'utils/dateUtil';\r\nimport { omit } from 'underscore';\r\n\r\nimport Icon from 'components/shared/icon';\r\nimport Button from 'components/shared/single-click-button';\r\nimport UserAutocomplete from 'components/shared/user-autocomplete/user-autocomplete';\r\nimport Dropdown from 'components/shared/form/dropdown';\r\nimport NumericInput from 'components/shared/form/numeric-input';\r\nimport DatePicker from 'components/shared/date-picker/date-picker';\r\nimport enhanceWithClickOutside from 'react-click-outside';\r\nimport { getUsers } from 'store/api';\r\n\r\n// Normal Block element within the sidebar\r\nconst Block = ({ data, node, heading }) => {\r\n return (\r\n
\r\n \r\n \r\n \r\n {node ? node : {data}}\r\n
\r\n );\r\n};\r\n\r\nBlock.propTypes = {\r\n data: PropTypes.any,\r\n heading: PropTypes.string,\r\n node: PropTypes.node\r\n};\r\n\r\n// Email Recipients section\r\nclass EmailRecipients extends Component {\r\n static propTypes = {\r\n addEmail: PropTypes.func,\r\n deleteEmail: PropTypes.func,\r\n emails: PropTypes.array\r\n };\r\n state = {\r\n query: '',\r\n isEmailsOpen: false,\r\n isEmptyResults: false\r\n };\r\n\r\n handleClickOutside = () => {\r\n this.setState({ query: '', isEmailsOpen: false });\r\n };\r\n\r\n onEmailSelect = (val, item) => {\r\n this.props.addEmail(item);\r\n this.setState({ query: '', isEmailsOpen: false });\r\n };\r\n\r\n searchUsers = keyword => {\r\n return getUsers(keyword, true, true, true).then(res => {\r\n if (res.data.length <= 0) {\r\n this.setState({ isEmptyResults: true });\r\n } else {\r\n this.setState({ isEmptyResults: false });\r\n }\r\n\r\n return res.data;\r\n });\r\n };\r\n\r\n render() {\r\n const { emails } = this.props;\r\n const { isEmailsOpen, isEmptyResults, query } = this.state;\r\n return (\r\n
\r\n
\r\n \r\n {isEmailsOpen && (\r\n
\r\n \r\n \r\n \r\n \r\n {placeholder => (\r\n this.setState({ query: e.target.value })}\r\n onSelect={this.onEmailSelect}\r\n placeholder={placeholder}\r\n searchUsers={this.searchUsers}\r\n selectedUserName={query}\r\n />\r\n )}\r\n \r\n\r\n \r\n {isEmptyResults && }\r\n \r\n
\r\n )}\r\n {emails.map((value, index) => {\r\n return (\r\n
\r\n {value.email}\r\n this.props.deleteEmail(value)}\r\n >\r\n \r\n \r\n
\r\n );\r\n })}\r\n
\r\n
\r\n );\r\n }\r\n}\r\n\r\nconst EmailSection = enhanceWithClickOutside(EmailRecipients);\r\n\r\n// Repeat Interval section\r\nclass RepeatInterval extends Component {\r\n static propTypes = {\r\n frequency: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\r\n intl: intlShape,\r\n onIntervalChange: PropTypes.func,\r\n onUnitChange: PropTypes.func,\r\n unit: PropTypes.oneOfType([PropTypes.number, PropTypes.string])\r\n };\r\n\r\n render() {\r\n const { intl, frequency, unit } = this.props;\r\n const OPTIONS = [\r\n intl.formatMessage({ id: 'schedule-report-sidebar.interval.day' }),\r\n intl.formatMessage({ id: 'schedule-report-sidebar.interval.week' }),\r\n intl.formatMessage({ id: 'schedule-report-sidebar.interval.month' }),\r\n intl.formatMessage({ id: 'schedule-report-sidebar.interval.year' })\r\n ];\r\n\r\n return (\r\n
\r\n this.props.onIntervalChange(value)}\r\n max={99}\r\n min={1}\r\n />\r\n this.props.onUnitChange(option)}\r\n options={OPTIONS}\r\n renderOption={option => option}\r\n selectedOption={unit}\r\n />\r\n {\r\n this.props.onIntervalChange(1);\r\n this.props.onUnitChange(intl.formatMessage({ id: 'schedule-report-sidebar.interval.day' }));\r\n }}\r\n >\r\n \r\n \r\n
\r\n );\r\n }\r\n}\r\n\r\nconst IntervalSection = injectIntl(RepeatInterval);\r\n\r\nclass ScheduleReportSidebar extends Component {\r\n static propTypes = {\r\n closeSidebar: PropTypes.func,\r\n createReport: PropTypes.func,\r\n data: PropTypes.object,\r\n deleteReport: PropTypes.func,\r\n editReport: PropTypes.func,\r\n intl: intlShape,\r\n onClose: PropTypes.func,\r\n tabViewer: PropTypes.string\r\n };\r\n\r\n state = {\r\n deleteDisable: false,\r\n disabled: true,\r\n emails: [],\r\n frequency: 1,\r\n unit: 1,\r\n reportDate: moment()\r\n };\r\n\r\n componentDidMount() {\r\n const { data } = this.props;\r\n\r\n this.setState({\r\n emails: data.recipients ? data.recipients : [],\r\n reportDate: data.startDate ? data.startDate : moment(),\r\n frequency: data.frequencyInterval ? data.frequencyInterval : 1,\r\n unit: data.frequencyIntervalUnits\r\n ? this.props.intl.formatMessage({\r\n id: `schedule-report-sidebar.interval.${this.getUnit(data.frequencyIntervalUnits)}`\r\n })\r\n : this.props.intl.formatMessage({\r\n id: `schedule-report-sidebar.interval.day`\r\n })\r\n });\r\n }\r\n\r\n // Determine whether the user can make a scheduled request\r\n componentDidUpdate(prevProps, prevState) {\r\n if (prevState.emails !== this.state.emails) {\r\n this.setState({ disabled: this.state.emails.length <= 0 });\r\n }\r\n }\r\n\r\n getUnit = unit => {\r\n if (unit === 1) {\r\n return 'day';\r\n } else if (unit === 2) {\r\n return 'week';\r\n } else if (unit === 3) {\r\n return 'month';\r\n } else if (unit === 4) {\r\n return 'year';\r\n }\r\n return 'day';\r\n };\r\n\r\n getServerNum = str => {\r\n if (str === 'Day') {\r\n return 1;\r\n } else if (str === 'Week') {\r\n return 2;\r\n } else if (str === 'Month') {\r\n return 3;\r\n } else if (str === 'Year') {\r\n return 4;\r\n }\r\n return 1;\r\n };\r\n\r\n // Organize data to send in to the api post/put request\r\n getPayload = () => {\r\n const { data } = this.props;\r\n const { frequency, unit, reportDate, emails } = this.state;\r\n\r\n return {\r\n reportId: data.reportId,\r\n frequencyInterval: frequency,\r\n frequencyIntervalUnits: this.getServerNum(unit),\r\n startDate: dateUtil.toServerDate(reportDate),\r\n recipients: emails.map(value => value.userId)\r\n };\r\n };\r\n\r\n onSave = () => {\r\n const { data, tabViewer, createReport, editReport, closeSidebar } = this.props;\r\n const createPayload = this.getPayload();\r\n const editPayload = omit(createPayload, 'reportId');\r\n\r\n this.setState({ disabled: true });\r\n\r\n if (tabViewer === 'LIST') {\r\n return createReport(createPayload).then(() => closeSidebar());\r\n }\r\n return editReport(data.scheduledReportId, editPayload).then(() => closeSidebar());\r\n };\r\n\r\n onDelete = () => {\r\n const { data, deleteReport, closeSidebar } = this.props;\r\n this.setState({ deleteDisable: true });\r\n return deleteReport(data.scheduledReportId)\r\n .then(() => closeSidebar())\r\n .catch(() => this.setState({ deleteDisable: false }));\r\n };\r\n\r\n addEmail = value => {\r\n const { emails } = this.state;\r\n\r\n // Ignore if this email was already added\r\n if (emails.find(user => user.userId === value.userId)) {\r\n return;\r\n }\r\n\r\n this.setState({ emails: emails.concat(value) });\r\n };\r\n\r\n deleteEmail = value => {\r\n const { emails } = this.state;\r\n this.setState({ emails: emails.filter(v => v.userId !== value.userId) });\r\n };\r\n\r\n handleClickOutside = () => {\r\n this.props.onClose();\r\n };\r\n\r\n render() {\r\n const { reportDate, frequency, unit, emails, disabled, deleteDisable } = this.state;\r\n const { onClose, data, tabViewer } = this.props;\r\n return (\r\n
\r\n
\r\n

\r\n {tabViewer === 'LIST' && }\r\n {tabViewer === 'SCHEDULED' && }\r\n

\r\n \r\n
\r\n
\r\n \r\n \r\n this.setState({ frequency: value })}\r\n onUnitChange={value => this.setState({ unit: value })}\r\n />\r\n }\r\n heading=\"interval\"\r\n />\r\n this.setState({ reportDate: date })} />}\r\n heading=\"date\"\r\n />\r\n }\r\n heading=\"email\"\r\n />\r\n
\r\n
\r\n {tabViewer === 'SCHEDULED' && (\r\n \r\n )}\r\n \r\n
\r\n
\r\n );\r\n }\r\n}\r\n\r\nexport default injectIntl(enhanceWithClickOutside(ScheduleReportSidebar));\r\n","import React, { Component } from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { FormattedMessage } from 'react-intl';\r\nimport Button from 'components/shared/single-click-button';\r\nimport classNames from 'classnames';\r\nimport download from 'downloadjs';\r\nimport moment from 'moment';\r\n\r\nimport ListOfReports from './list/list-of-reports';\r\nimport ScheduledReports from './list/scheduled-reports';\r\nimport ScheduleReportSidebar from './schedule-report-sidebar/schedule-report-sidebar';\r\n\r\nconst REPORTS_TABS = {\r\n LIST: 'LIST',\r\n SCHEDULED: 'SCHEDULED'\r\n};\r\n\r\nclass Reports extends Component {\r\n static propTypes = {\r\n createReport: PropTypes.func,\r\n deleteReport: PropTypes.func,\r\n editReport: PropTypes.func,\r\n generateReport: PropTypes.func,\r\n loadReports: PropTypes.func,\r\n loadScheduledReports: PropTypes.func,\r\n reports: PropTypes.object,\r\n currentUser: PropTypes.object,\r\n aboutArgus: PropTypes.object\r\n };\r\n\r\n state = {\r\n scheduleReportDetails: null,\r\n selectedReports: new Set(),\r\n currentTab: REPORTS_TABS.LIST\r\n };\r\n\r\n componentDidMount() {\r\n sessionStorage.setItem('active-reports-tab', 1);\r\n }\r\n\r\n // Checkbox all handlers\r\n onCheckAllChange = data => {\r\n const { selectedReports } = this.state;\r\n\r\n if (selectedReports.size === data.length) {\r\n this.setState({ selectedReports: new Set() });\r\n } else if (selectedReports.size < data.length && selectedReports.size > 0) {\r\n this.setState({ selectedReports: new Set() });\r\n } else {\r\n this.setState({ selectedReports: new Set(data.map(field => field)) });\r\n }\r\n };\r\n\r\n // Checkbox individual handlers\r\n onSelectChange = report => {\r\n const { selectedReports } = this.state;\r\n\r\n if (selectedReports.has(report)) {\r\n selectedReports.delete(report);\r\n } else {\r\n selectedReports.add(report);\r\n }\r\n\r\n this.setState({ selectedReports: selectedReports });\r\n };\r\n\r\n onGenerateReport = () => {\r\n const { selectedReports } = this.state;\r\n const { generateReport } = this.props;\r\n const selections = [...selectedReports];\r\n\r\n // Download all the user selected reports\r\n const promises = selections.map(value => {\r\n return generateReport(value.reportId).then(res => {\r\n download(res.data, `${value.reportName}_${moment().format()}.xlsx`);\r\n });\r\n });\r\n\r\n return Promise.all(promises).then(res => {\r\n this.setState({ selectedReports: new Set() });\r\n });\r\n };\r\n\r\n render() {\r\n const {\r\n reports,\r\n loadReports,\r\n loadScheduledReports,\r\n editReport,\r\n createReport,\r\n deleteReport,\r\n aboutArgus\r\n } = this.props;\r\n const { currentTab, selectedReports, scheduleReportDetails, isSidebarOpen } = this.state;\r\n return (\r\n
\r\n
\r\n

\r\n \r\n

\r\n\r\n
\r\n {\r\n this.setState({ currentTab: REPORTS_TABS.LIST, selectedReports: new Set() });\r\n sessionStorage.setItem('active-reports-tab', 1);\r\n }}\r\n >\r\n \r\n \r\n {\r\n this.setState({ currentTab: REPORTS_TABS.SCHEDULED, selectedReports: new Set() });\r\n sessionStorage.setItem('active-reports-tab', 2);\r\n }}\r\n >\r\n \r\n \r\n {selectedReports.size > 0 && currentTab === REPORTS_TABS.LIST ? (\r\n \r\n \r\n \r\n ) : null}\r\n
\r\n
\r\n\r\n {currentTab === REPORTS_TABS.LIST ? (\r\n this.setState({ scheduleReportDetails: report, isSidebarOpen: true })}\r\n loadReports={loadReports}\r\n reports={reports}\r\n aboutArgus={aboutArgus}\r\n />\r\n ) : (\r\n this.setState({ scheduleReportDetails: report, isSidebarOpen: true })}\r\n loadScheduledReports={loadScheduledReports}\r\n reports={reports}\r\n />\r\n )}\r\n\r\n {isSidebarOpen ? (\r\n \r\n this.setState({ scheduleReportDetails: null, currentTab: REPORTS_TABS.SCHEDULED, isSidebarOpen: false })\r\n }\r\n editReport={editReport}\r\n createReport={createReport}\r\n deleteReport={deleteReport}\r\n data={scheduleReportDetails}\r\n onClose={() => this.setState({ scheduleReportDetails: null, isSidebarOpen: false })}\r\n tabViewer={currentTab}\r\n />\r\n ) : null}\r\n
\r\n );\r\n }\r\n}\r\n\r\nexport default Reports;\r\n","import { connect } from 'react-redux';\r\n\r\nimport {\r\n loadReports,\r\n loadScheduledReports,\r\n editReport,\r\n createReport,\r\n deleteReport,\r\n generateReport\r\n} from 'store/reports';\r\nimport Reports from 'components/reports/reports';\r\n\r\nconst mapStateToProps = ({ data: { reports, currentUser, aboutArgus } }) => ({\r\n reports,\r\n currentUser,\r\n aboutArgus\r\n});\r\n\r\nconst mapDispatchToProps = {\r\n loadReports,\r\n loadScheduledReports,\r\n editReport,\r\n createReport,\r\n deleteReport,\r\n generateReport\r\n};\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(Reports);\r\n","import PropTypes from 'prop-types';\r\nimport React, { Component } from 'react';\r\nimport ReactTooltip from 'react-tooltip';\r\nimport Header from 'containers/header/header';\r\nimport NotificationsContainer from 'containers/shared/notifications-container';\r\nimport ReportsContainer from 'containers/reports/reports-container';\r\n\r\nclass ReportsPage extends Component {\r\n static propTypes = {\r\n match: PropTypes.object.isRequired\r\n };\r\n\r\n render() {\r\n return (\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n );\r\n }\r\n}\r\n\r\nexport default ReportsPage;\r\n","import PropTypes from 'prop-types';\r\nimport React, { Component, Fragment } from 'react';\r\nimport { FormattedMessage, injectIntl } from 'react-intl';\r\nimport Icon from 'components/shared/icon';\r\nimport ReactTooltip from 'react-tooltip';\r\nimport emptyStateImage from 'images/empty_state_comp_01.svg';\r\n\r\nconst SORT_FUNCTIONS = {\r\n NAME_ASCENDING: (a, b) => (a.tagName < b.tagName ? -1 : a.tagName > b.tagName ? 1 : 0),\r\n NAME_DESCENDING: (a, b) => (a.tagName > b.tagName ? -1 : a.tagName < b.tagName ? 1 : 0),\r\n COUNT_ASCENDING: (a, b) => a.count - b.count,\r\n COUNT_DESCENDING: (a, b) => b.count - a.count\r\n};\r\n\r\nclass Tile extends Component {\r\n static propTypes = {\r\n className: PropTypes.any,\r\n data: PropTypes.object,\r\n getData: PropTypes.func,\r\n onClick: PropTypes.func,\r\n projectId: PropTypes.any,\r\n titleKey: PropTypes.any\r\n };\r\n\r\n state = {\r\n page: 0,\r\n pageSize: 5,\r\n sortFunction: SORT_FUNCTIONS.NAME_ASCENDING\r\n };\r\n\r\n componentDidMount() {\r\n var { getData, projectId } = this.props;\r\n if (getData) getData(projectId);\r\n }\r\n\r\n componentDidUpdate(prevProps) {}\r\n\r\n onClick = id => {\r\n if (this.props.onClick) {\r\n this.props.onClick(id);\r\n }\r\n };\r\n\r\n setSorting = sort => {\r\n this.setState({ sortFunction: sort });\r\n };\r\n\r\n render = () => {\r\n var { className, titleKey, data, intl } = this.props;\r\n var { page, pageSize, sortFunction } = this.state;\r\n\r\n var pageStart = pageSize * page;\r\n var pageEnd = pageSize * page + pageSize;\r\n var tagCount = data ? data.tags.length : 0;\r\n var pageCount = Math.floor((tagCount > 0 ? tagCount - 1 : 0) / pageSize);\r\n\r\n return (\r\n
\r\n
\r\n

\r\n \r\n

\r\n {!data || !data.tags || tagCount === 0 ? (\r\n
\r\n \"No\r\n
\r\n \r\n
\r\n
\r\n
\r\n ) : (\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {data.tags\r\n .sort(sortFunction)\r\n .slice(pageStart, pageEnd)\r\n .map((tag, index) => (\r\n \r\n {\r\n this.onClick(tag.tagId);\r\n }}\r\n >\r\n {tag.tagName}\r\n \r\n {tag.tagName}\r\n \r\n \r\n \r\n \r\n ))}\r\n \r\n
\r\n \r\n this.setSorting(\r\n sortFunction === SORT_FUNCTIONS.NAME_ASCENDING\r\n ? SORT_FUNCTIONS.NAME_DESCENDING\r\n : SORT_FUNCTIONS.NAME_ASCENDING\r\n )\r\n }\r\n >\r\n \r\n  \r\n {sortFunction === SORT_FUNCTIONS.NAME_ASCENDING ? (\r\n \r\n ) : sortFunction === SORT_FUNCTIONS.NAME_DESCENDING ? (\r\n \r\n ) : null}\r\n \r\n \r\n \r\n this.setSorting(\r\n sortFunction === SORT_FUNCTIONS.COUNT_ASCENDING\r\n ? SORT_FUNCTIONS.COUNT_DESCENDING\r\n : SORT_FUNCTIONS.COUNT_ASCENDING\r\n )\r\n }\r\n >\r\n \r\n  \r\n {sortFunction === SORT_FUNCTIONS.COUNT_ASCENDING ? (\r\n \r\n ) : sortFunction === SORT_FUNCTIONS.COUNT_DESCENDING ? (\r\n \r\n ) : null}\r\n \r\n
{tag.count}
\r\n
\r\n\r\n
\r\n \r\n \r\n \r\n this.setState({ page: page - 1 })}\r\n >\r\n \r\n \r\n = pageCount}\r\n onClick={() => this.setState({ page: page + 1 })}\r\n >\r\n \r\n \r\n
\r\n
\r\n )}\r\n
\r\n
\r\n );\r\n };\r\n}\r\n\r\nexport default injectIntl(Tile);\r\n","import { connect } from 'react-redux';\r\nimport { getData } from 'store/tags/document-tags';\r\nimport Tile from 'components/tags/tile';\r\n\r\nconst mapStateToProps = ({ data: { documentTags } }) => ({ data: documentTags });\r\nconst mapDispatchToProps = { getData };\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(Tile);\r\n","import { connect } from 'react-redux';\r\nimport { getData } from 'store/tags/document-type-tags';\r\nimport Tile from 'components/tags/tile';\r\n\r\nconst mapStateToProps = ({ data: { documentTypeTags } }) => ({ data: documentTypeTags });\r\nconst mapDispatchToProps = { getData };\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(Tile);\r\n","import { connect } from 'react-redux';\r\nimport { getData } from 'store/tags/extraction-field-record-tags';\r\nimport Tile from 'components/tags/tile';\r\n\r\nconst mapStateToProps = ({ data: { extractionFieldRecordTags } }) => ({ data: extractionFieldRecordTags });\r\nconst mapDispatchToProps = { getData };\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(Tile);\r\n","import { connect } from 'react-redux';\r\nimport { getData } from 'store/tags/language-tags';\r\nimport Tile from 'components/tags/tile';\r\n\r\nconst mapStateToProps = ({ data: { languageTags } }) => ({ data: languageTags });\r\nconst mapDispatchToProps = { getData };\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(Tile);\r\n","import { connect } from 'react-redux';\r\nimport { getData } from 'store/tags/ocr-quality-tags';\r\nimport Tile from 'components/tags/tile';\r\n\r\nconst mapStateToProps = ({ data: { ocrQualityTags } }) => ({ data: ocrQualityTags });\r\nconst mapDispatchToProps = { getData };\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(Tile);\r\n","import PropTypes from 'prop-types';\r\nimport React, { Component } from 'react';\r\nimport { FormattedMessage } from 'react-intl';\r\nimport DocumentTags from 'containers/tags/tiles/document-tags';\r\nimport DocumentTypeTags from 'containers/tags/tiles/document-type-tags';\r\nimport ExtractionFieldRecordTags from 'containers/tags/tiles/extraction-field-record-tags';\r\nimport LanguageTags from 'containers/tags/tiles/language-tags';\r\nimport OCRQualityTags from 'containers/tags/tiles/ocr-quality-tags';\r\n\r\nclass Tags extends Component {\r\n static propTypes = {\r\n currentProject: PropTypes.object,\r\n getDocumentResults: PropTypes.func,\r\n onSelectCategory: PropTypes.func,\r\n projectId: PropTypes.any\r\n };\r\n\r\n state = {};\r\n\r\n componentDidMount() {}\r\n\r\n componentDidUpdate(prevProps) {}\r\n\r\n documentTagsOnClick = id => {\r\n var { projectId, getDocumentResults, onSelectCategory } = this.props;\r\n\r\n onSelectCategory({ key: 'documentTagId', data: [id] });\r\n getDocumentResults({\r\n projectId,\r\n pageNum: 1,\r\n documentTagId: [id]\r\n });\r\n };\r\n\r\n documentTypeTagsOnClick = id => {\r\n var { projectId, getDocumentResults, onSelectCategory } = this.props;\r\n\r\n onSelectCategory({ key: 'documentTagId', data: [id] });\r\n getDocumentResults({\r\n projectId,\r\n pageNum: 1,\r\n documentTagId: [id]\r\n });\r\n };\r\n\r\n extractionFieldRecordTagsOnClick = id => {\r\n var { projectId, getDocumentResults, onSelectCategory } = this.props;\r\n\r\n onSelectCategory({ key: 'extractionFieldInstanceTagId', data: [id] });\r\n getDocumentResults({\r\n projectId,\r\n pageNum: 1,\r\n extractionFieldInstanceTagId: [id]\r\n });\r\n };\r\n\r\n languageTagsOnClick = id => {\r\n var { projectId, getDocumentResults, onSelectCategory } = this.props;\r\n\r\n onSelectCategory({ key: 'documentTagId', data: [id] });\r\n getDocumentResults({\r\n projectId,\r\n pageNum: 1,\r\n documentTagId: [id]\r\n });\r\n };\r\n\r\n ocrQualityTagsOnClick = id => {\r\n var { projectId, getDocumentResults, onSelectCategory } = this.props;\r\n\r\n onSelectCategory({ key: 'documentTagId', data: [id] });\r\n getDocumentResults({\r\n projectId,\r\n pageNum: 1,\r\n documentTagId: [id]\r\n });\r\n };\r\n\r\n render = () => {\r\n var { currentProject, projectId } = this.props;\r\n\r\n if (!projectId) return null;\r\n return (\r\n
\r\n
\r\n

\r\n \r\n

\r\n
{currentProject.projectName}
\r\n
\r\n\r\n
\r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n );\r\n };\r\n}\r\n\r\nexport default Tags;\r\n","import { connect } from 'react-redux';\r\nimport { getDocumentResults } from 'store/search/search-results';\r\nimport { onSelectCategory } from 'store/search/search-category';\r\nimport Tags from 'components/tags/tags';\r\n\r\nconst mapStateToProps = ({ data: { currentProject } }) => ({\r\n currentProject\r\n});\r\n\r\nconst mapDispatchToProps = { getDocumentResults, onSelectCategory };\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(Tags);\r\n","import React, { Component } from 'react';\r\nimport ReactTooltip from 'react-tooltip';\r\n\r\nimport Header from 'containers/header/header';\r\nimport NotificationsContainer from 'containers/shared/notifications-container';\r\nimport TagsContainer from 'containers/tags/tags-container';\r\nimport Permissions from 'permissions/permissions';\r\nimport history from 'utils/history';\r\n\r\nclass TagsPage extends Component {\r\n UNSAFE_componentWillMount() {\r\n if (!Permissions.Project.Tags.canView()) {\r\n history.push('/unauthorized');\r\n }\r\n }\r\n\r\n render() {\r\n return (\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n );\r\n }\r\n}\r\n\r\nexport default TagsPage;\r\n","import PropTypes from 'prop-types';\r\nimport React, { Component } from 'react';\r\nimport { FormattedMessage } from 'react-intl';\r\nimport { getTemplates } from 'store/api';\r\n\r\nclass DocumentProcessing extends Component {\r\n static propTypes = {\r\n clear: PropTypes.func,\r\n data: PropTypes.any,\r\n getData: PropTypes.func,\r\n projectId: PropTypes.any,\r\n getDocumentResults: PropTypes.func,\r\n onSelectCategory: PropTypes.func\r\n };\r\n\r\n componentDidMount() {\r\n var { getData, projectId } = this.props;\r\n getTemplates({ projectId }).then(response => {\r\n const data = response.data;\r\n if (response.data.length > 0 && getData) {\r\n getData(projectId);\r\n }\r\n });\r\n }\r\n\r\n componentDidUpdate() {\r\n var { data, getData, projectId } = this.props;\r\n getTemplates({ projectId }).then(response => {\r\n if (response.data.length > 0 && data && !data.isLoading && !data.isLoaded && !data.error && data.error !== null) {\r\n getData(projectId);\r\n }\r\n });\r\n }\r\n\r\n componentWillUnmount() {\r\n this.props.clear();\r\n }\r\n\r\n onClick = statusItem => {\r\n if (statusItem && statusItem.ids.length > 0) {\r\n var { projectId, getDocumentResults, onSelectCategory } = this.props;\r\n onSelectCategory({ key: 'documentStateIds', data: statusItem.ids });\r\n getDocumentResults({\r\n projectId,\r\n pageNum: 1,\r\n documentStateIds: statusItem.ids\r\n });\r\n }\r\n };\r\n\r\n render = () => {\r\n var { projectId, data } = this.props;\r\n\r\n if (!projectId) return null;\r\n return (\r\n
\r\n

\r\n \r\n

\r\n
\r\n {data.data.map((statusItem, index) => (\r\n
this.onClick(statusItem)}>\r\n \r\n \r\n \r\n {statusItem.count}\r\n
\r\n ))}\r\n
\r\n
\r\n );\r\n };\r\n}\r\n\r\nexport default DocumentProcessing;\r\n","import { connect } from 'react-redux';\r\nimport { getData, clear } from 'store/review-status/document-processing';\r\nimport { getDocumentResults } from 'store/search/search-results';\r\nimport { onSelectCategory } from 'store/search/search-category';\r\nimport DocumentProcessing from 'components/review-status/tiles/document-processing/document-processing';\r\n\r\nconst mapStateToProps = ({ data: { documentProcessing } }) => ({ data: documentProcessing });\r\nconst mapDispatchToProps = { getData, clear, getDocumentResults, onSelectCategory };\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(DocumentProcessing);\r\n","import PropTypes from 'prop-types';\r\nimport React, { Component } from 'react';\r\nimport { Link } from 'react-router-dom';\r\nimport { getCurrentRegion } from 'store/api';\r\nimport { FormattedMessage, injectIntl } from 'react-intl';\r\nimport { getTemplates } from 'store/api';\r\n\r\nclass ProjectStatus extends Component {\r\n static propTypes = {\r\n clear: PropTypes.func,\r\n getData: PropTypes.func,\r\n getDocumentResults: PropTypes.func,\r\n isLoading: PropTypes.bool,\r\n onSelectCategory: PropTypes.func,\r\n projectId: PropTypes.any,\r\n projectStatus: PropTypes.any,\r\n intl: PropTypes.any\r\n };\r\n\r\n componentDidMount = () => {\r\n const { projectId, getData } = this.props;\r\n getTemplates({ projectId }).then(response => {\r\n const data = response.data;\r\n if (response.data.length > 0 && getData && projectId) {\r\n getData(projectId);\r\n }\r\n });\r\n };\r\n\r\n componentDidUpdate() {\r\n var { data, getData, projectId } = this.props;\r\n getTemplates({ projectId }).then(response => {\r\n if (response.data.length > 0 && data && !data.isLoading && !data.isLoaded && !data.error && data.error !== null) {\r\n getData(projectId);\r\n }\r\n });\r\n }\r\n\r\n componentWillUnmount() {\r\n this.props.clear();\r\n }\r\n\r\n onChartKeyClick = (e, chartKey) => {\r\n e.preventDefault();\r\n const { projectId, getDocumentResults, onSelectCategory } = this.props;\r\n onSelectCategory({ key: chartKey.apiKey, data: chartKey.apiValue });\r\n getDocumentResults({\r\n projectId,\r\n pageNum: 1,\r\n [chartKey.apiKey]: chartKey.apiValue\r\n });\r\n };\r\n\r\n renderChartKeys = (chartKey, index) => {\r\n const { projectId } = this.props;\r\n return (\r\n
  • \r\n {chartKey.apiKey ? (\r\n this.onChartKeyClick(e, chartKey)}\r\n className={`project-status-tile__keys-link project-status-tile__keys-link--${chartKey.key}`}\r\n >\r\n \r\n \r\n ) : (\r\n \r\n \r\n \r\n )}\r\n {chartKey.count}\r\n
  • \r\n );\r\n };\r\n\r\n renderChartRows = (statusType, index) => {\r\n const oppositeType = this.props.projectStatus.filter(({ key }) => key === `not-${statusType.key}`)[0];\r\n if (!oppositeType) return null;\r\n const hasStatusCount = statusType.count > 0;\r\n const hasOppositeStatusCount = oppositeType.count > 0;\r\n const isRowEmpty = statusType.totalCount === 0 || (!hasStatusCount && !hasOppositeStatusCount);\r\n const { intl } = this.props;\r\n return (\r\n \r\n \r\n \r\n \r\n {!isRowEmpty && hasStatusCount ? (\r\n \r\n {statusType.count}\r\n \r\n ) : null}\r\n {!isRowEmpty && hasOppositeStatusCount ? (\r\n \r\n {oppositeType.count}\r\n \r\n ) : null}\r\n
    \r\n );\r\n };\r\n\r\n render = () => {\r\n const { projectId, projectStatus, isLoading } = this.props;\r\n\r\n if (!projectId || !projectStatus) return null;\r\n\r\n const chartRows = projectStatus.filter(({ isChartRow }) => isChartRow);\r\n const totalDocumentsCount = projectStatus[0] ? projectStatus[0].totalCount : 0;\r\n\r\n return (\r\n
    \r\n

    \r\n \r\n

    \r\n
    \r\n
    \r\n {chartRows.map(this.renderChartRows)}\r\n \r\n 0\r\n \r\n {Math.ceil(totalDocumentsCount / 2)}\r\n \r\n \r\n {totalDocumentsCount}\r\n \r\n
    \r\n
      {projectStatus.map(this.renderChartKeys)}
    \r\n
    \r\n
    \r\n );\r\n };\r\n}\r\n\r\nexport default injectIntl(ProjectStatus);\r\n","import { connect } from 'react-redux';\r\nimport { getData, clear } from 'store/review-status/project-status';\r\nimport { getDocumentResults } from 'store/search/search-results';\r\nimport { onSelectCategory } from 'store/search/search-category';\r\nimport ProjectStatus from 'components/review-status/tiles/project-status/project-status';\r\n\r\n// const mapDispatchToProps = { getDocumentResults, onSelectCategory };\r\nconst mapStateToProps = ({ data: { projectStatus } }) => ({\r\n projectStatus: projectStatus.data,\r\n data: projectStatus,\r\n isLoading: projectStatus.isLoading\r\n});\r\nconst mapDispatchToProps = { getData, clear, getDocumentResults, onSelectCategory };\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(ProjectStatus);\r\n","import PropTypes from 'prop-types';\r\nimport React, { Component } from 'react';\r\nimport { FormattedMessage } from 'react-intl';\r\nimport Icon from 'components/shared/icon';\r\n\r\nclass UserProgress extends Component {\r\n static propTypes = {\r\n clear: PropTypes.func,\r\n data: PropTypes.any,\r\n getData: PropTypes.func,\r\n projectId: PropTypes.any,\r\n getDocumentResults: PropTypes.func,\r\n onSelectCategory: PropTypes.func\r\n };\r\n\r\n state = {\r\n pageSize: 10,\r\n page: 0,\r\n sortDirection: true\r\n };\r\n\r\n componentDidMount() {\r\n var { getData, projectId } = this.props;\r\n if (getData) getData(projectId);\r\n }\r\n\r\n componentDidUpdate() {\r\n var { data, getData, projectId } = this.props;\r\n if (data && !data.isLoading && !data.isLoaded && !data.error && data.error !== null) {\r\n getData(projectId);\r\n }\r\n }\r\n\r\n componentWillUnmount() {\r\n this.props.clear();\r\n }\r\n\r\n getInitials(userName) {\r\n var tokens = userName.split(' ');\r\n return tokens && tokens.length >= 2 ? tokens[1].substring(0, 1) + tokens[0].substring(0, 1) : '';\r\n }\r\n\r\n changeSortDirection = currentDirection => {\r\n this.setState({ sortDirection: !currentDirection });\r\n };\r\n\r\n sortFunction = (a, b) => {\r\n var { sortDirection } = this.state;\r\n return a.userName === b.userName ? 0 : a.userName < b.userName ? (sortDirection ? -1 : 1) : sortDirection ? 1 : -1;\r\n };\r\n\r\n //Click functions\r\n\r\n onAssignedClick = user => {\r\n if (user.assignedDocumentCount === 0) return;\r\n\r\n var { projectId, getDocumentResults, onSelectCategory } = this.props;\r\n\r\n onSelectCategory({\r\n key: 'userDocumentSearch',\r\n data: {\r\n assigneeUserId: user.userID,\r\n isAssigned: true\r\n }\r\n });\r\n\r\n getDocumentResults({\r\n projectId,\r\n pageNum: 1,\r\n assigneeUserId: user.userID,\r\n isAssigned: true\r\n });\r\n };\r\n\r\n onAssignedAndReviewedClick = user => {\r\n if (user.assignedAndReviewedDocumentCount === 0) return;\r\n\r\n var { projectId, getDocumentResults, onSelectCategory } = this.props;\r\n\r\n onSelectCategory({\r\n key: 'userDocumentSearch',\r\n data: {\r\n assigneeUserId: user.userID,\r\n reviewerUserIds: user.userID\r\n }\r\n });\r\n\r\n getDocumentResults({\r\n projectId,\r\n pageNum: 1,\r\n assigneeUserId: user.userID,\r\n reviewerUserIds: user.userID\r\n });\r\n };\r\n\r\n onAssignedAndNotReviewedClick = user => {\r\n if (user.notReviewedDocumentCount === 0) return;\r\n\r\n var { projectId, getDocumentResults, onSelectCategory } = this.props;\r\n\r\n onSelectCategory({\r\n key: 'userDocumentSearch',\r\n data: {\r\n projectId,\r\n pageNum: 1,\r\n assigneeUserId: user.userID,\r\n isReviewed: false\r\n }\r\n });\r\n\r\n getDocumentResults({\r\n projectId,\r\n pageNum: 1,\r\n assigneeUserId: user.userID,\r\n isReviewed: false\r\n });\r\n };\r\n\r\n onReviewedClick = user => {\r\n if (user.reviewedDocumentCount === 0) return;\r\n\r\n var { projectId, getDocumentResults, onSelectCategory } = this.props;\r\n\r\n onSelectCategory({ key: 'reviewerUserIds', data: [user.userID] });\r\n getDocumentResults({\r\n projectId,\r\n pageNum: 1,\r\n reviewerUserIds: [user.userID]\r\n });\r\n };\r\n\r\n render = () => {\r\n var { projectId, data } = this.props;\r\n var { page, pageSize, sortDirection } = this.state;\r\n\r\n var pageStart = pageSize * page;\r\n var pageEnd = pageSize * page + pageSize;\r\n var userCount = data ? data.users.length : 0;\r\n var pageCount = Math.floor((userCount > 0 ? userCount - 1 : 0) / pageSize);\r\n\r\n if (!projectId) return null;\r\n return (\r\n
    \r\n

    \r\n \r\n

    \r\n\r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {data && data.users && data.users.length > 0\r\n ? data.users\r\n .sort(this.sortFunction)\r\n .slice(pageStart, pageEnd)\r\n .map((user, i) => (\r\n \r\n \r\n \r\n 0 ? 'active' : null\r\n }`}\r\n onClick={() => this.onAssignedClick(user)}\r\n >\r\n {user.assignedDocumentCount}\r\n \r\n 0\r\n ? 'active'\r\n : null\r\n }`}\r\n onClick={() => this.onAssignedAndReviewedClick(user)}\r\n >\r\n {user.assignedAndReviewedDocumentCount}\r\n \r\n 0 ? 'active' : null\r\n }`}\r\n onClick={() => this.onAssignedAndNotReviewedClick(user)}\r\n >\r\n {user.notReviewedDocumentCount}\r\n \r\n \r\n 0 ? 'active' : null\r\n }`}\r\n onClick={() => this.onReviewedClick(user)}\r\n >\r\n {user.reviewedDocumentCount}\r\n \r\n \r\n ))\r\n : null}\r\n \r\n
    \r\n \r\n this.changeSortDirection(sortDirection)}>\r\n  \r\n {sortDirection ? : }\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n {this.getInitials(user.userName)}\r\n {user.preferredFullName}\r\n {user.assignedDocumentCount > 0 ? (\r\n
    \r\n {user.assignedAndReviewedDocumentCount} {' '}\r\n {user.assignedDocumentCount}\r\n
    \r\n \r\n
    \r\n
    \r\n ) : (\r\n
    \r\n \r\n
    \r\n )}\r\n
    \r\n\r\n
    \r\n \r\n {pageStart + 1}-{pageEnd < userCount ? pageEnd : userCount} {' '}\r\n {userCount}\r\n \r\n \r\n = pageCount}\r\n onClick={() => this.setState({ page: page + 1 })}\r\n >\r\n \r\n \r\n
    \r\n
    \r\n
    \r\n );\r\n };\r\n}\r\n\r\nexport default UserProgress;\r\n","import { connect } from 'react-redux';\r\nimport { getData, clear } from 'store/review-status/user-progress';\r\nimport { getDocumentResults } from 'store/search/search-results';\r\nimport { onSelectCategory } from 'store/search/search-category';\r\nimport UserProgress from 'components/review-status/tiles/user-progress/user-progress';\r\n\r\nconst mapStateToProps = ({ data: { userProgress } }) => ({ data: userProgress });\r\nconst mapDispatchToProps = { getData, clear, getDocumentResults, onSelectCategory };\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(UserProgress);\r\n","import PropTypes from 'prop-types';\r\nimport React, { Component } from 'react';\r\nimport { FormattedMessage } from 'react-intl';\r\n\r\n// Tiles\r\nimport DocumentProcessingContainer from 'containers/review-status/tiles/document-processing-container.js';\r\nimport ProjectStatusContainer from 'containers/review-status/tiles/project-status-container.js';\r\nimport UserProgressContainer from 'containers/review-status/tiles/user-progress-container.js';\r\n\r\nclass ReviewStatus extends Component {\r\n static propTypes = {\r\n currentProject: PropTypes.object,\r\n projectId: PropTypes.any\r\n };\r\n\r\n render = () => {\r\n var { currentProject, projectId } = this.props;\r\n\r\n if (!projectId) return null;\r\n return (\r\n
    \r\n
    \r\n

    \r\n \r\n

    \r\n
    {currentProject.projectName}
    \r\n
    \r\n\r\n
    \r\n \r\n\r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n );\r\n };\r\n}\r\n\r\nexport default ReviewStatus;\r\n","import { connect } from 'react-redux';\r\nimport ReviewStatus from 'components/review-status/review-status';\r\n\r\nconst mapStateToProps = ({ data: { currentProject } }) => ({\r\n currentProject\r\n});\r\n\r\nconst mapDispatchToProps = {};\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(ReviewStatus);\r\n","import React, { Component } from 'react';\r\nimport ReactTooltip from 'react-tooltip';\r\n\r\nimport Header from 'containers/header/header';\r\nimport NotificationsContainer from 'containers/shared/notifications-container';\r\nimport ReviewStatusContainer from 'containers/review-status/review-status';\r\nimport Permissions from 'permissions/permissions';\r\nimport history from 'utils/history';\r\n\r\nclass ReviewStatusPage extends Component {\r\n UNSAFE_componentWillMount() {\r\n if (!Permissions.Project.ReviewStatus.canView()) {\r\n history.push('/unauthorized');\r\n }\r\n }\r\n\r\n render() {\r\n return (\r\n
    \r\n
    \r\n \r\n \r\n \r\n
    \r\n );\r\n }\r\n}\r\n\r\nexport default ReviewStatusPage;\r\n","export const BLOCK = 'extraction-overview';\r\nexport const maxWidth = 200;\r\n","import React, { Component } from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport Icon from 'components/shared/icon';\r\nimport { FormattedMessage } from 'react-intl';\r\nimport classNames from 'classnames';\r\nimport { getGridViewDropdownData } from 'store/api';\r\nimport { Button as MenuButton, Menu, MenuItem, Wrapper as MenuWrapper } from 'react-aria-menubutton';\r\n\r\nclass GridDropdown extends Component {\r\n static propTypes = {\r\n onTemplateClick: PropTypes.func,\r\n readOnly: PropTypes.bool,\r\n selectedId: PropTypes.number,\r\n selectedName: PropTypes.string,\r\n gridViewList: PropTypes.array,\r\n errClassName: PropTypes.string,\r\n customGrid: PropTypes.bool,\r\n deselectGrid: PropTypes.func,\r\n defaultSelection: PropTypes.func,\r\n selectedTemplateId: PropTypes.number,\r\n newGridData: PropTypes.object,\r\n loadColumnOptionsFromGrid: PropTypes.func,\r\n updateGridName: PropTypes.func,\r\n updateGridID: PropTypes.func\r\n };\r\n\r\n state = {\r\n isMenuOpen: false,\r\n selectedGridId: this.props.selectedId,\r\n selectedGridName: this.props.selectedName,\r\n isCustomGrid: this.props.customGrid,\r\n gridData: [{ gridId: 0, gridName: 'Default' }]\r\n };\r\n\r\n onGridSelected = template => {\r\n this.setState({ selectedGridId: template.gridId });\r\n this.setState({ selectedGridName: template.gridName });\r\n this.props.updateGridName(template.gridName);\r\n this.props.updateGridID(template.gridId);\r\n this.props.deselectGrid();\r\n if (template.gridId === 0) {\r\n this.props.defaultSelection();\r\n } else {\r\n this.props.loadColumnOptionsFromGrid(template.gridId);\r\n }\r\n };\r\n componentWillReceiveProps() {\r\n let { selectedId, selectedName } = this.props;\r\n let { gridData, selectedGridName } = this.state;\r\n\r\n let selectedGridview = gridData.filter(a => a.gridId === selectedId && a.gridName === selectedName);\r\n\r\n if (selectedId !== 0 && selectedName !== 'Default' && selectedGridview.length === 0) {\r\n gridData.push({ gridId: selectedId, gridName: selectedName });\r\n }\r\n this.setState({ gridData: gridData });\r\n }\r\n\r\n componentDidMount() {\r\n const { projectId, selectedTemplateId } = this.props;\r\n const { gridData } = this.state;\r\n if (selectedTemplateId) {\r\n getGridViewDropdownData(projectId, selectedTemplateId).then(response => {\r\n for (let r = 0; r < response.length; r++) {\r\n gridData.push({ gridId: response[r].id, gridName: response[r].name });\r\n }\r\n });\r\n }\r\n }\r\n\r\n onMenuToggle = isMenuOpen => {\r\n this.setState({ isMenuOpen: !this.state.isMenuOpen });\r\n };\r\n\r\n //get\r\n\r\n render() {\r\n const { gridViewList, selectedName, selectedId, errClassName, customGrid } = this.props;\r\n let { selectedGridName, selectedGridId, isMenuOpen, isCustomGrid, gridData } = this.state;\r\n const updateNameErrClass = errClassName ? errClassName : '';\r\n return (\r\n \r\n \r\n \r\n {customGrid ? : selectedName}\r\n \r\n \r\n \r\n \r\n
    \r\n {gridData &&\r\n gridData.map((g, index) => (\r\n \r\n \r\n {g.gridName}\r\n \r\n \r\n {customGrid === false && selectedId === g.gridId && (\r\n \r\n )}\r\n \r\n \r\n ))}\r\n
    \r\n
    \r\n \r\n );\r\n }\r\n}\r\n\r\nexport default GridDropdown;\r\n","export const EXPORT_FORMATS = {\r\n EXCEL: 0\r\n // PDF: 1,\r\n // WORD: 2\r\n};\r\n\r\nexport const EXPORT_LAYOUTS = {\r\n // ROW: 0,\r\n COLUMN: 1\r\n // TABLE: 2\r\n};\r\n\r\nexport const EXPORT_QUALITY = {\r\n HIGH: 1,\r\n MEDIUM: 2,\r\n LOW: 3\r\n};\r\n","import PropTypes from 'prop-types';\r\nimport React, { Component } from 'react';\r\nimport { FormattedMessage } from 'react-intl';\r\n\r\nimport Button from 'components/shared/single-click-button';\r\nimport Checkbox from 'components/shared/form/checkbox';\r\nimport Icon from 'components/shared/icon';\r\n\r\nclass TagsList extends Component {\r\n static propTypes = {\r\n onBackClick: PropTypes.func.isRequired,\r\n onCloseClick: PropTypes.func.isRequired,\r\n onSubmit: PropTypes.func.isRequired,\r\n selectedTags: PropTypes.array.isRequired,\r\n tags: PropTypes.array.isRequired\r\n };\r\n\r\n state = {\r\n selectedTags: new Set(this.props.selectedTags)\r\n };\r\n\r\n toggleTagSelection = tag => {\r\n const id = tag.id;\r\n\r\n if (this.state.selectedTags.has(id)) {\r\n this.state.selectedTags.delete(id);\r\n } else {\r\n this.state.selectedTags.add(id);\r\n }\r\n\r\n this.setState({ selectedTags: this.state.selectedTags });\r\n };\r\n\r\n toggleAllTagsSelection = () => {\r\n const { tags } = this.props;\r\n\r\n if (this.state.selectedTags.size === tags.length) {\r\n this.setState({ selectedTags: new Set() });\r\n } else {\r\n const allIds = tags.map(tag => tag.id);\r\n this.setState({ selectedTags: new Set(allIds) });\r\n }\r\n };\r\n\r\n onSubmit = () => {\r\n const { onSubmit } = this.props;\r\n onSubmit(Array.from(this.state.selectedTags.values()));\r\n };\r\n\r\n render() {\r\n const { onBackClick, onCloseClick, tags } = this.props;\r\n const { selectedTags } = this.state;\r\n\r\n let allSelectedStatus;\r\n if (tags.length === selectedTags.size) {\r\n allSelectedStatus = 'checked';\r\n } else if (selectedTags.size === 0) {\r\n allSelectedStatus = 'unchecked';\r\n } else {\r\n allSelectedStatus = 'indeterminate';\r\n }\r\n\r\n return (\r\n
    \r\n
    \r\n \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n {tags.map(tag => (\r\n
    \r\n \r\n {tag.name}\r\n
    \r\n ))}\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n );\r\n }\r\n}\r\n\r\nexport default TagsList;\r\n","import PropTypes from 'prop-types';\r\nimport React, { Component } from 'react';\r\nimport { FormattedMessage } from 'react-intl';\r\n\r\nimport TemplatesList from 'components/shared/templates-list/templates-list';\r\nimport Icon from 'components/shared/icon';\r\nimport { chain } from 'underscore';\r\nimport Button from 'components/shared/single-click-button';\r\n\r\nclass ExportSidebarTemplatesList extends Component {\r\n static propTypes = {\r\n onBackClick: PropTypes.func.isRequired,\r\n onCloseClick: PropTypes.func.isRequired,\r\n onSubmit: PropTypes.func.isRequired,\r\n selectedFieldsByTemplateId: PropTypes.object.isRequired,\r\n templates: PropTypes.array.isRequired\r\n };\r\n\r\n state = {\r\n selectedFieldsByTemplateId: chain(this.props.selectedFieldsByTemplateId)\r\n .mapObject(val => new Set(val))\r\n .value()\r\n };\r\n\r\n componentDidUpdate(prevProps) {\r\n if (prevProps.templates !== this.props.templates) {\r\n // select all extraction fields in new incoming templates\r\n const selectedFieldsByTemplateId = chain(this.props.templates)\r\n .map(template => {\r\n const { projectTemplateId } = template;\r\n const selectedExtractionFields = this.state.selectedFieldsByTemplateId[projectTemplateId];\r\n\r\n return [\r\n projectTemplateId,\r\n selectedExtractionFields || new Set(template.extractionFields.map(field => field.extractionFieldId))\r\n ];\r\n })\r\n .object()\r\n .value();\r\n\r\n this.setState({ selectedFieldsByTemplateId });\r\n }\r\n }\r\n\r\n setSelectedFields = selectedFieldsByTemplateId => {\r\n this.setState({\r\n selectedFieldsByTemplateId\r\n });\r\n };\r\n\r\n onSubmit = () => {\r\n const { onSubmit } = this.props;\r\n const { selectedFieldsByTemplateId } = this.state;\r\n onSubmit(selectedFieldsByTemplateId);\r\n };\r\n\r\n render() {\r\n const { onBackClick, onCloseClick, templates } = this.props;\r\n const { selectedFieldsByTemplateId } = this.state;\r\n\r\n // Total number of selected extraction fields across all templates\r\n const numSelectedFields = Object.values(selectedFieldsByTemplateId).reduce(\r\n (sum, selectedExtractionFields) => sum + selectedExtractionFields.size,\r\n 0\r\n );\r\n\r\n return (\r\n
    \r\n
    \r\n \r\n \r\n \r\n
    \r\n {!numSelectedFields && (\r\n
    \r\n \r\n
    \r\n )}\r\n \r\n
    \r\n \r\n \r\n \r\n
    \r\n
    \r\n );\r\n }\r\n}\r\n\r\nexport default ExportSidebarTemplatesList;\r\n","import { FormattedMessage, injectIntl, intlShape } from 'react-intl';\r\nimport PropTypes from 'prop-types';\r\nimport React, { Component } from 'react';\r\n\r\nimport { EXPORT_FORMATS, EXPORT_LAYOUTS } from 'components/extraction-overview/export-sidebar/constants';\r\nimport { ITEM_TYPES, ITEM_STATUSES } from 'models/project-item';\r\nimport { RadioGroup, Radio } from 'components/shared/form/radio';\r\nimport Icon from 'components/shared/icon';\r\nimport Switch from 'components/shared/form/switch';\r\nimport TagsList from 'components/extraction-overview/export-sidebar/export-sidebar-tags-list';\r\nimport TemplatesList from 'components/extraction-overview/export-sidebar/export-sidebar-templates-list';\r\nimport Button from 'components/shared/single-click-button';\r\n\r\nclass Create extends Component {\r\n static propTypes = {\r\n currentFolder: PropTypes.object.isRequired,\r\n currentProject: PropTypes.object.isRequired,\r\n format: PropTypes.number.isRequired,\r\n intl: intlShape,\r\n isDownloadPerDocument: PropTypes.bool.isRequired,\r\n layout: PropTypes.number.isRequired,\r\n onCloseClick: PropTypes.func.isRequired,\r\n onFormatChange: PropTypes.func.isRequired,\r\n onLayoutChange: PropTypes.func.isRequired,\r\n onSubmit: PropTypes.func.isRequired,\r\n projectId: PropTypes.string.isRequired,\r\n selectedFieldsByTemplateId: PropTypes.object.isRequired,\r\n selectedItems: PropTypes.array.isRequired,\r\n selectedTags: PropTypes.array.isRequired,\r\n setSelectedFieldsByTemplateId: PropTypes.func.isRequired,\r\n setSelectedTags: PropTypes.func.isRequired,\r\n tags: PropTypes.array.isRequired,\r\n templates: PropTypes.array.isRequired,\r\n toggleIsDownloadPerDocument: PropTypes.func.isRequired\r\n };\r\n\r\n state = {\r\n isShowingTagsList: false,\r\n isShowingTemplates: false\r\n };\r\n\r\n onSelectedTagsChange = selectedTags => {\r\n this.props.setSelectedTags(selectedTags);\r\n this.setState({\r\n isShowingTagsList: false\r\n });\r\n };\r\n\r\n onSelectedFieldsChange = selectedFieldsByTemplateId => {\r\n this.props.setSelectedFieldsByTemplateId(selectedFieldsByTemplateId);\r\n this.setState({\r\n isShowingTemplatesList: false\r\n });\r\n };\r\n\r\n toggleIsShowingTagsList = () => {\r\n const { isShowingTagsList } = this.state;\r\n this.setState({\r\n isShowingTagsList: !isShowingTagsList\r\n });\r\n };\r\n\r\n toggleIsShowingTemplatesList = () => {\r\n const { isShowingTemplatesList } = this.state;\r\n this.setState({\r\n isShowingTemplatesList: !isShowingTemplatesList\r\n });\r\n };\r\n\r\n get selectedItems() {\r\n const { currentFolder, selectedItems } = this.props;\r\n return currentFolder.children.filter(\r\n projectItem =>\r\n selectedItems &&\r\n (projectItem.itemTypeId === ITEM_TYPES.FOLDER ||\r\n projectItem.itemStateId === ITEM_STATUSES.PROCESSED ||\r\n projectItem.itemStateId === ITEM_STATUSES.REPROCESSINGREQUIRED ||\r\n projectItem.itemStateId === ITEM_STATUSES.READYFORVERIFICATION)\r\n );\r\n }\r\n\r\n onSubmit = event => {\r\n event.preventDefault();\r\n this.props.onSubmit();\r\n };\r\n\r\n renderFormatSection() {\r\n const { format, onFormatChange } = this.props;\r\n\r\n return (\r\n
    \r\n
    \r\n \r\n
    \r\n \r\n
    \r\n \r\n \r\n
    \r\n \r\n
    \r\n );\r\n }\r\n\r\n renderLayoutSection() {\r\n const { layout, onLayoutChange } = this.props;\r\n\r\n return (\r\n
    \r\n
    \r\n \r\n
    \r\n \r\n
    \r\n \r\n \r\n
    \r\n \r\n
    \r\n );\r\n }\r\n\r\n render() {\r\n const {\r\n format,\r\n onCloseClick,\r\n isDownloadPerDocument,\r\n selectedFieldsByTemplateId,\r\n selectedItems,\r\n selectedTags,\r\n tags,\r\n templates,\r\n toggleIsDownloadPerDocument\r\n } = this.props;\r\n\r\n const { isShowingTagsList, isShowingTemplatesList } = this.state;\r\n\r\n if (isShowingTagsList) {\r\n return (\r\n \r\n );\r\n }\r\n\r\n if (isShowingTemplatesList) {\r\n return (\r\n \r\n );\r\n }\r\n\r\n // Total number of selected extraction fields across all templates\r\n const numSelectedFields = Object.values(selectedFieldsByTemplateId).reduce(\r\n (sum, selectedExtractionFields) => sum + selectedExtractionFields.size,\r\n 0\r\n );\r\n\r\n // Total number of extraction fields across all templates\r\n const numExtractionFields = templates.reduce((sum, template) => sum + template.extractionFields.length, 0);\r\n\r\n // Number of templates with all their fields selected\r\n const numFullySelectedTemplates = templates.filter(template => {\r\n const selectedExtractionFields = selectedFieldsByTemplateId[template.projectTemplateId];\r\n return (\r\n selectedExtractionFields &&\r\n selectedExtractionFields.size &&\r\n selectedExtractionFields.size === template.extractionFields.length\r\n );\r\n }).length;\r\n\r\n // Number of templates with none of their fields selected\r\n const numFullyUnSelectedTemplates = templates.filter(template => {\r\n const selectedExtractionFields = selectedFieldsByTemplateId[template.projectTemplateId];\r\n return !selectedExtractionFields || !selectedExtractionFields.size;\r\n }).length;\r\n\r\n const plurality = templates.length === 1 ? 'singular' : 'plural';\r\n\r\n return (\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n {this.renderFormatSection()}\r\n {format === EXPORT_FORMATS.WORD && (\r\n
    \r\n \r\n \r\n
    \r\n )}\r\n {format === EXPORT_FORMATS.EXCEL && this.renderLayoutSection()}\r\n {format !== EXPORT_FORMATS.PDF && (\r\n \r\n )}\r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n );\r\n }\r\n}\r\n\r\nexport default injectIntl(Create);\r\n","import { chain } from 'underscore';\r\nimport { FormattedMessage, injectIntl, intlShape } from 'react-intl';\r\nimport classNames from 'classnames';\r\nimport Icon from 'components/shared/icon';\r\nimport moment from 'moment';\r\nimport PropTypes from 'prop-types';\r\nimport React, { Component } from 'react';\r\n\r\nimport { createExport, getExports, getItemTemplates, deleteExport } from 'store/api';\r\nimport { EXPORT_FORMATS, EXPORT_LAYOUTS } from 'components/extraction-overview/export-sidebar/constants';\r\nimport { sortByKey } from 'utils/string-utils';\r\nimport Button from 'components/shared/single-click-button';\r\nimport Create from 'components/extraction-overview/export-sidebar/export-sidebar-create';\r\nimport Progress from 'components/shared/export/export-sidebar-progress';\r\nimport socket, { rooms } from 'utils/socket';\r\nimport dateUtil from 'utils/dateUtil';\r\n\r\nconst TABS = {\r\n CREATE: 'CREATE',\r\n PROGRESS: 'PROGRESS'\r\n};\r\n\r\nconst TAG_OPTIONS = {\r\n NONE: 0,\r\n ALL: 1,\r\n DOCUMENT_TAGS: 2,\r\n EXTRACTION_FIELD_TAGS: 3\r\n};\r\n\r\nclass ExportSidebar extends Component {\r\n static propTypes = {\r\n currentFolder: PropTypes.object.isRequired,\r\n currentProject: PropTypes.object.isRequired,\r\n currentUser: PropTypes.object.isRequired,\r\n intl: intlShape,\r\n onCloseClick: PropTypes.func.isRequired,\r\n projectId: PropTypes.string.isRequired,\r\n selectedItems: PropTypes.array.isRequired,\r\n extractionOverview: PropTypes.object.isRequired,\r\n columnOptions: PropTypes.object,\r\n customizedVisibility: PropTypes.object,\r\n aboutArgus: PropTypes.object\r\n };\r\n\r\n state = {\r\n currentTab: TABS.CREATE,\r\n exports: [],\r\n format: EXPORT_FORMATS.EXCEL,\r\n isLoadingExports: false,\r\n layout: EXPORT_LAYOUTS.COLUMN,\r\n isDownloadPerDocument: false,\r\n selectedFieldsByTemplateId: {},\r\n selectedTags: [],\r\n tags: [\r\n {\r\n id: TAG_OPTIONS.DOCUMENT_TAGS,\r\n name: this.props.intl.formatMessage({ id: 'export-sidebar.create.tags.type.documents' })\r\n },\r\n {\r\n id: TAG_OPTIONS.EXTRACTION_FIELD_TAGS,\r\n name: this.props.intl.formatMessage({ id: 'export-sidebar.create.tags.type.extractions' })\r\n }\r\n ],\r\n templates: []\r\n };\r\n\r\n componentDidMount() {\r\n const { currentUser, projectId } = this.props;\r\n this.getItemTemplates();\r\n this.getExports('extractionOverview');\r\n\r\n // Join the exports room on the socket connection\r\n if (currentUser.isLoaded) {\r\n socket.join(rooms.exports(projectId, currentUser.userId));\r\n }\r\n\r\n // Subscribe to export updates from the socket connection\r\n socket.on('export.update', this.onExportUpdate);\r\n }\r\n\r\n componentDidUpdate(prevProps) {\r\n // If the current user changes, join a new room on the socket connection\r\n if (this.props.currentUser.isLoaded) {\r\n const prevRoom = rooms.exports(prevProps.projectId, prevProps.currentUser.userId);\r\n const currRoom = rooms.exports(this.props.projectId, this.props.currentUser.userId);\r\n if (prevRoom !== currRoom) {\r\n socket.leave(prevRoom);\r\n socket.join(currRoom);\r\n }\r\n }\r\n }\r\n\r\n componentWillUnmount() {\r\n const { currentUser, projectId } = this.props;\r\n socket.off('export.update', this.onExportUpdate);\r\n socket.leave(rooms.exports(projectId, currentUser.userId));\r\n }\r\n\r\n getItemTemplates = () => {\r\n const { projectId, selectedItems, columnOptions, customizedVisibility } = this.props;\r\n\r\n if (!selectedItems?.length) {\r\n return;\r\n }\r\n let customVisibility = false;\r\n if (Object.keys(customizedVisibility).length > 0) {\r\n customVisibility = true;\r\n } else {\r\n customVisibility = false;\r\n }\r\n let selectedFieldsByTemplateId = null;\r\n getItemTemplates({ projectId, items: selectedItems.map(i => i.projectItemId) }).then(responses => {\r\n // select all extraction fields in new incoming templates\r\n if (customVisibility == false) {\r\n selectedFieldsByTemplateId = chain(responses.data)\r\n .map(template => {\r\n const { projectTemplateId } = template;\r\n const selectedExtractionFields = this.state.selectedFieldsByTemplateId[projectTemplateId];\r\n const xfs = template.extractionFields.filter(\r\n field => columnOptions.visibility[field.extractionFieldId] !== false\r\n );\r\n return [projectTemplateId, selectedExtractionFields || new Set(xfs.map(field => field.extractionFieldId))];\r\n })\r\n .object()\r\n .value();\r\n } else {\r\n selectedFieldsByTemplateId = chain(responses.data)\r\n .map(template => {\r\n const { projectTemplateId } = template;\r\n const selectedExtractionFields = this.state.selectedFieldsByTemplateId[projectTemplateId];\r\n const xfs = template.extractionFields.filter(\r\n field => customizedVisibility[field.extractionFieldId] !== false\r\n );\r\n return [projectTemplateId, selectedExtractionFields || new Set(xfs.map(field => field.extractionFieldId))];\r\n })\r\n .object()\r\n .value();\r\n }\r\n\r\n this.setState({\r\n templates: sortByKey('name', Object.values(responses.data)),\r\n selectedFieldsByTemplateId\r\n });\r\n });\r\n };\r\n\r\n onExportUpdate = event => {\r\n const { exportDetailId, exportStateId } = event.data;\r\n\r\n if (!exportDetailId || !exportStateId) {\r\n return;\r\n }\r\n\r\n const updatedExports = this.state.exports.map(item => {\r\n if (item.exportDetailID === exportDetailId) {\r\n item.exportStateId = exportStateId;\r\n }\r\n return item;\r\n });\r\n\r\n this.setState({\r\n exports: updatedExports\r\n });\r\n };\r\n\r\n showCreateTab = () => {\r\n this.setState({\r\n currentTab: TABS.CREATE\r\n });\r\n };\r\n\r\n showProgressTab = () => {\r\n this.setState({\r\n currentTab: TABS.PROGRESS\r\n });\r\n };\r\n\r\n setSelectedTags = selectedTags => {\r\n this.setState({ selectedTags });\r\n };\r\n\r\n setSelectedFieldsByTemplateId = selectedFieldsByTemplateId => {\r\n this.setState({\r\n selectedFieldsByTemplateId\r\n });\r\n };\r\n\r\n onFormatChange = format => {\r\n this.setState({\r\n format\r\n });\r\n };\r\n\r\n onLayoutChange = layout => {\r\n this.setState({\r\n layout\r\n });\r\n };\r\n\r\n toggleIsDownloadPerDocument = (id, isDownloadPerDocument) => {\r\n this.setState({\r\n isDownloadPerDocument\r\n });\r\n };\r\n\r\n getExports = exportType => {\r\n const { projectId } = this.props;\r\n this.setState({ isLoadingExports: true });\r\n getExports({ projectId, exportType }).then(result => {\r\n this.setState({\r\n exports: result.data,\r\n isLoadingExports: false\r\n });\r\n });\r\n };\r\n\r\n createExport = () => {\r\n const { currentProject, projectId, selectedItems, intl } = this.props;\r\n const {\r\n format: type,\r\n isDownloadPerDocument,\r\n layout,\r\n quality: exportQuality,\r\n selectedFieldsByTemplateId,\r\n selectedTags\r\n } = this.state;\r\n\r\n const storedTemplate = this.state.templates[0].name;\r\n\r\n const tagsOptions = selectedTags.length\r\n ? selectedTags.length > 1\r\n ? TAG_OPTIONS.ALL\r\n : selectedTags[0]\r\n : TAG_OPTIONS.NONE;\r\n\r\n const currentDate = moment();\r\n const payload = {\r\n projectId,\r\n exportOptions: {\r\n exportFileName: `${currentProject.projectName}_${intl.formatMessage({\r\n id: 'extraction-overview.fileName'\r\n })}_${storedTemplate}_${dateUtil.formatTimestamp(currentDate)}`,\r\n exportOption: type,\r\n exportType: 5, //5: extractionOverview\r\n layout,\r\n tagsOptions: tagsOptions,\r\n templates: Object.entries(selectedFieldsByTemplateId).map(([projectTemplateId, selectedExtractionFields]) => ({\r\n projectTemplateId,\r\n extractionFields: Array.from(selectedExtractionFields.keys()).map(id => ({\r\n extractionFieldId: id\r\n }))\r\n })),\r\n items: selectedItems,\r\n isDownloadPerDocument,\r\n exportQuality\r\n }\r\n };\r\n\r\n createExport(payload).then(() => {\r\n this.getExports('extractionOverview');\r\n this.showProgressTab();\r\n });\r\n };\r\n\r\n deleteExport = exportId => {\r\n const { projectId } = this.props;\r\n // Optimistically delete\r\n this.setState({\r\n exports: this.state.exports.filter(item => item.exportDetailID !== exportId)\r\n });\r\n deleteExport({ projectId, exportId })\r\n // Re fetch on error\r\n .catch(this.getExports('extractionOverview'));\r\n };\r\n\r\n render() {\r\n const { currentFolder, currentProject, onCloseClick, projectId, selectedItems, aboutArgus } = this.props;\r\n const {\r\n currentTab,\r\n exports,\r\n format,\r\n isLoadingExports,\r\n layout,\r\n isDownloadPerDocument,\r\n quality,\r\n selectedFieldsByTemplateId,\r\n selectedTags,\r\n tags,\r\n templates\r\n } = this.state;\r\n if (!currentProject.isLoaded) {\r\n return null;\r\n }\r\n return (\r\n
    \r\n
    \r\n

    \r\n \r\n

    \r\n \r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n
    \r\n {currentTab === TABS.CREATE && (\r\n i.projectItemId)}\r\n selectedTags={selectedTags}\r\n setSelectedFieldsByTemplateId={this.setSelectedFieldsByTemplateId}\r\n setSelectedTags={this.setSelectedTags}\r\n tags={tags}\r\n templates={templates}\r\n toggleIsDownloadPerDocument={this.toggleIsDownloadPerDocument}\r\n />\r\n )}\r\n {currentTab === TABS.PROGRESS &&\r\n (isLoadingExports ? (\r\n \r\n ) : (\r\n \r\n ))}\r\n
    \r\n
    \r\n );\r\n }\r\n}\r\n\r\nexport default injectIntl(ExportSidebar);\r\n","import { connect } from 'react-redux';\r\nimport ExportSidebar from 'components/extraction-overview/export-sidebar/export-sidebar';\r\nimport { loadProjectTemplates, setTemplate } from 'store/extraction-overview';\r\n\r\nconst mapStateToProps = ({ data: { currentFolder, currentProject, currentUser, extractionOverview, aboutArgus } }) => ({\r\n currentProject,\r\n currentUser,\r\n currentFolder,\r\n aboutArgus,\r\n selectedItems: extractionOverview.templateExtractions?.map(i => ({ projectItemId: i.projectItemId, name: i.name }))\r\n});\r\n\r\nconst mapDispatchToProps = {\r\n loadProjectTemplates,\r\n setTemplate\r\n};\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(ExportSidebar);\r\n","import { FormattedMessage, injectIntl } from 'react-intl';\r\nimport classNames from 'classnames';\r\nimport enhanceWithClickOutside from 'react-click-outside';\r\nimport PropTypes from 'prop-types';\r\nimport React, { Component } from 'react';\r\nimport ReactTooltip from 'react-tooltip';\r\nimport Scrollbars from '../shared/scrollbars/scrollbars';\r\nimport Checkbox from 'components/shared/form/checkbox';\r\nimport Icon from 'components/shared/icon';\r\nimport Button from 'components/shared/single-click-button';\r\nimport { COLUMN_OPTIONS, COLUMN_OPTION_DEFAULTS } from 'store/extraction-overview';\r\n\r\nclass InnerOption extends Component {\r\n static propTypes = {\r\n displayName: PropTypes.string.isRequired,\r\n index: PropTypes.number.isRequired,\r\n isChecked: PropTypes.bool.isRequired,\r\n onChange: PropTypes.func.isRequired,\r\n option: PropTypes.string.isRequired,\r\n isExtractionField: PropTypes.bool,\r\n disabled: PropTypes.bool,\r\n isDocumentToggleSwitchOnOff: PropTypes.bool\r\n };\r\n\r\n onCheckboxChange = () => {\r\n const { onChange, option } = this.props;\r\n onChange(option);\r\n };\r\n\r\n render() {\r\n const { displayName, option, isChecked, index, isExtractionField } = this.props;\r\n\r\n return (\r\n
    \r\n \r\n \r\n
    \r\n );\r\n }\r\n}\r\n\r\nexport class ColumnOptions extends Component {\r\n static propTypes = {\r\n updateColumnOptions: PropTypes.func.isRequired,\r\n columnOptions: PropTypes.object.isRequired,\r\n templateExtractionFields: PropTypes.array,\r\n columnOptionSelected: PropTypes.func,\r\n defaultSelection: PropTypes.bool,\r\n onDefaultUnSelection: PropTypes.func,\r\n getAllExtractionFieldsData: PropTypes.func,\r\n customizedVisibility: PropTypes.object,\r\n isColumnOptionsLoaded: PropTypes.bool,\r\n isGridChanged: PropTypes.bool,\r\n updateGridChange: PropTypes.func,\r\n updateCustomizedVisibility: PropTypes.func,\r\n selectedGridId: PropTypes.any,\r\n isDocumentToggleSwitchOnOff: PropTypes.bool\r\n };\r\n\r\n state = {\r\n visibility: this.props.columnOptions?.visibility || {},\r\n isMenuOpen: false,\r\n isCheckboxChecked: true,\r\n defaultSelcted: this.props.defaultSelection,\r\n allExtractionFields: [],\r\n customizedVisibilityState: this.props.customizedVisibility || {},\r\n defaultVisibilityState: {},\r\n checkboxChange: false,\r\n prevVisibility: {}\r\n };\r\n\r\n componentDidMount() {\r\n let { updateCustomizedVisibility } = this.props;\r\n let visibilityObj = this.props.columnOptions?.visibility;\r\n let { customChangeObj } = {};\r\n for (var key in visibilityObj) {\r\n visibilityObj[key] = true;\r\n }\r\n this.setState({ visibility: visibilityObj });\r\n this.setState({ customizedVisibilityState: this.props.customizedVisibility });\r\n\r\n const templateExtractionFields = this.props.templateExtractionFields;\r\n let columnOptions = COLUMN_OPTIONS;\r\n let defaultVisibilityObj = {};\r\n for (var key in columnOptions) {\r\n defaultVisibilityObj[key] = true;\r\n }\r\n\r\n for (let s = 0; s < templateExtractionFields?.length; s++) {\r\n defaultVisibilityObj = { ...defaultVisibilityObj, [templateExtractionFields[s].extractionFieldId]: true };\r\n }\r\n this.setState({ defaultVisibilityState: defaultVisibilityObj, prevVisibility: defaultVisibilityObj });\r\n const documentToggle = sessionStorage.getItem('isDocumentToggleSwitchOnOff') == 'true' ? true : false;\r\n if (documentToggle) {\r\n customChangeObj = defaultVisibilityObj;\r\n customChangeObj = {\r\n ...customChangeObj,\r\n [COLUMN_OPTIONS.DOCUMENT_NAME]: !defaultVisibilityObj[COLUMN_OPTIONS.DOCUMENT_NAME]\r\n };\r\n this.setState({ defaultVisibilityState: customChangeObj, prevVisibility: customChangeObj }, () => {\r\n this.forceUpdate();\r\n });\r\n updateCustomizedVisibility(customChangeObj);\r\n }\r\n }\r\n componentWillReceiveProps(prevProps) {\r\n let { isGridChanged, customizedVisibility, isDocumentToggleSwitchOnOff, updateCustomizedVisibility } = this.props;\r\n let { checkboxChange, defaultVisibilityState } = this.state;\r\n let { customChangeObj } = {};\r\n\r\n //set prevVisibility to retain the visibilty of dropdown values before clicked on apply\r\n if (prevProps.selectedGridId != this.props.selectedGridId) {\r\n this.setState({ prevVisibility: customizedVisibility });\r\n }\r\n if (isGridChanged) {\r\n this.setState({ visibility: customizedVisibility, prevVisibility: customizedVisibility });\r\n } else if (this.props.selectedGridId == 0) {\r\n this.setState({ visibility: defaultVisibilityState });\r\n } else {\r\n this.setState({ visibility: customizedVisibility });\r\n }\r\n\r\n if (checkboxChange != true && Object.keys(customizedVisibility).length > 0) {\r\n this.setState({ customizedVisibilityState: customizedVisibility });\r\n }\r\n\r\n if (prevProps.isDocumentToggleSwitchOnOff != isDocumentToggleSwitchOnOff && checkboxChange != true) {\r\n customChangeObj = customizedVisibility;\r\n customChangeObj = {\r\n ...customChangeObj,\r\n [COLUMN_OPTIONS.DOCUMENT_NAME]: !customizedVisibility[COLUMN_OPTIONS.DOCUMENT_NAME]\r\n };\r\n this.setState({ defaultVisibilityState: customChangeObj, prevVisibility: customChangeObj }, () => {\r\n this.forceUpdate();\r\n });\r\n updateCustomizedVisibility(customChangeObj);\r\n }\r\n }\r\n\r\n openMenu = () => {\r\n const { isMenuOpen } = this.state;\r\n // if (isMenuOpen) {\r\n // this.onCancel();\r\n // } else {\r\n this.setState({ isMenuOpen: !isMenuOpen });\r\n // }\r\n };\r\n\r\n onCancel = () => {\r\n const { updateCustomizedVisibility } = this.props;\r\n const { prevVisibility } = this.state;\r\n if (Object.keys(prevVisibility).length > 0) {\r\n this.setState({ isMenuOpen: false, defaultVisibilityState: prevVisibility });\r\n updateCustomizedVisibility(prevVisibility);\r\n } else this.setState({ isMenuOpen: false });\r\n };\r\n\r\n onApply = () => {\r\n this.props.columnOptionSelected();\r\n const { updateColumnOptions, columnOptions, getAllExtractionFieldsData, templateExtractionFields } = this.props;\r\n const { visibility } = this.state;\r\n this.setState({ isMenuOpen: false, prevVisibility: visibility });\r\n\r\n getAllExtractionFieldsData(visibility);\r\n updateColumnOptions({ visibility, frozen: columnOptions.frozen });\r\n };\r\n\r\n onCheckboxChange = option => {\r\n const {\r\n updateGridChange,\r\n isGridChanged,\r\n updateCustomizedVisibility,\r\n defaultSelection,\r\n customizedVisibility\r\n } = this.props;\r\n let { customizedVisibilityState, defaultVisibilityState } = this.state;\r\n this.setState({ defaultSelcted: false });\r\n updateGridChange();\r\n this.setState({ checkboxChange: true });\r\n\r\n let customChangeObj = {};\r\n customChangeObj = customizedVisibility;\r\n customChangeObj = { ...customChangeObj, [option]: !customizedVisibility[option] };\r\n this.setState({ customizedVisibilityState: customChangeObj }, () => {\r\n this.forceUpdate();\r\n });\r\n\r\n if (Object.keys(customizedVisibilityState).length > 0) {\r\n updateCustomizedVisibility(customChangeObj);\r\n this.setState({ visibility: customChangeObj }, () => {\r\n this.forceUpdate();\r\n });\r\n }\r\n\r\n if (defaultSelection === true && isGridChanged == false) {\r\n let defaultChangeObj = {};\r\n defaultChangeObj = this.state.defaultVisibilityState;\r\n defaultChangeObj = { ...defaultChangeObj, [option]: !defaultVisibilityState[option] };\r\n this.setState({ defaultVisibilityState: defaultChangeObj }, () => {\r\n this.setState({ defaultSelection: true });\r\n this.forceUpdate();\r\n });\r\n this.setState({ visibility: defaultChangeObj });\r\n }\r\n };\r\n\r\n handleClickOutside = () => {\r\n this.onCancel();\r\n };\r\n\r\n render() {\r\n const { isMenuOpen, defaultVisibilityState } = this.state;\r\n const {\r\n intl,\r\n templateExtractionFields,\r\n defaultSelection,\r\n customizedVisibility,\r\n isColumnOptionsLoaded\r\n } = this.props;\r\n const { columnOptions } = this.props;\r\n const extractionField = true;\r\n const notExtractionField = true;\r\n let customVisibility = false;\r\n if (Object.keys(customizedVisibility).length > 0) {\r\n customVisibility = true;\r\n }\r\n\r\n return (\r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n {isMenuOpen && templateExtractionFields != undefined && (\r\n
    \r\n

    \r\n \r\n

    \r\n
    \r\n \r\n
    \r\n {Object.values(COLUMN_OPTIONS).length == 1\r\n ? null\r\n : Object.values(COLUMN_OPTIONS).map((option, index) => (\r\n \r\n ))}\r\n {Object.values(templateExtractionFields).map((option, index) => (\r\n \r\n ))}\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n
    \r\n
    \r\n )}\r\n
    \r\n );\r\n }\r\n}\r\n\r\nexport default injectIntl(enhanceWithClickOutside(ColumnOptions));\r\n","import { FormattedMessage } from 'react-intl';\r\nimport { PropTypes } from 'prop-types';\r\nimport classNames from 'classnames';\r\nimport enhanceWithClickOutside from 'react-click-outside';\r\nimport React, { Component } from 'react';\r\nimport Button from 'components/shared/single-click-button';\r\nimport { validateGridViewName } from 'store/api';\r\nimport { injectIntl, intlShape } from 'react-intl';\r\n\r\nclass SaveGridView extends Component {\r\n static propTypes = {\r\n showSavedGridView: PropTypes.bool,\r\n closeSaveGridPopup: PropTypes.func,\r\n applySaveGridPopup: PropTypes.func,\r\n projectId: PropTypes.string.isRequired,\r\n intl: intlShape.isRequired\r\n };\r\n\r\n state = {\r\n gridName: '',\r\n isDuplicate: false,\r\n isDisabled: true\r\n };\r\n\r\n handleClickOutside(event) {\r\n const { closeSaveGridPopup } = this.props;\r\n closeSaveGridPopup();\r\n }\r\n\r\n gridViewNameOnChange = name => {\r\n const { projectId } = this.props;\r\n this.setState({ gridName: name });\r\n\r\n if (name.length < 1) {\r\n this.setState({ isDisabled: true });\r\n } else {\r\n this.setState({ isDisabled: false });\r\n }\r\n\r\n validateGridViewName(name, projectId).then(response => {\r\n const { isNonduplicateName, isValidFormat, isValidLength } = response;\r\n if (!isNonduplicateName) {\r\n this.setState({ isDuplicate: true });\r\n } else {\r\n this.setState({ isDuplicate: false });\r\n }\r\n });\r\n };\r\n applySaveGridPopup = () => {\r\n const { closeSaveGridPopup } = this.props;\r\n closeSaveGridPopup();\r\n this.props.applySaveGridPopup(this.state.gridName);\r\n };\r\n\r\n render() {\r\n let { showSavedGridView, closeSaveGridPopup, applySaveGridPopup, intl } = this.props;\r\n let { isDuplicate, isDisabled } = this.state;\r\n let { placeholder } = ;\r\n return showSavedGridView ? (\r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n {\r\n this.gridViewNameOnChange(e.target.value);\r\n }}\r\n type=\"text\"\r\n maxLength=\"250\"\r\n />\r\n
    \r\n
    \r\n {isDuplicate ? : null}\r\n
    \r\n\r\n
    \r\n \r\n {isDisabled || isDuplicate ? (\r\n \r\n \r\n \r\n ) : (\r\n \r\n )}\r\n
    \r\n
    \r\n
    \r\n ) : null;\r\n }\r\n}\r\n\r\nexport default injectIntl(enhanceWithClickOutside(SaveGridView));\r\n","import { FormattedMessage } from 'react-intl';\r\nimport { PropTypes } from 'prop-types';\r\nimport classNames from 'classnames';\r\nimport enhanceWithClickOutside from 'react-click-outside';\r\nimport React, { Component } from 'react';\r\nimport Button from 'components/shared/single-click-button';\r\nimport Modal from 'components/shared/modal';\r\nimport Icon from 'components/shared/icon';\r\nimport * as api from 'store/api';\r\n\r\nexport class DeleteGridView extends Component {\r\n static propTypes = {\r\n deleteGridView: PropTypes.bool,\r\n closeDeleteGridPopup: PropTypes.func,\r\n applyDeleteGridPopup: PropTypes.func,\r\n projectId: PropTypes.string.isRequired\r\n };\r\n\r\n handleClickOutside = () => {\r\n const { closeDeleteGridPopup } = this.props;\r\n closeDeleteGridPopup();\r\n };\r\n\r\n render() {\r\n let { deleteGridView, closeDeleteGridPopup, applyDeleteGridPopup } = this.props;\r\n return (\r\n deleteGridView && (\r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n\r\n \r\n
    \r\n
    \r\n
    \r\n )\r\n );\r\n }\r\n}\r\nexport default enhanceWithClickOutside(DeleteGridView);\r\n","import React, { Component } from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { FormattedMessage } from 'react-intl';\r\nimport { BLOCK } from './constants';\r\nimport Button from 'components/shared/single-click-button';\r\nimport TemplateDropdown from 'components/edit-extractions/template-viewer/template-dropdown/template-dropdown';\r\nimport GridDropdown from 'components/edit-extractions/template-viewer/grid-dropdown/grid-dropdown';\r\nimport ExportSidebarContainer from 'containers/extraction-overview/export-sidebar-container';\r\nimport ColumnOptions from './column-options';\r\nimport Icon from 'components/shared/icon';\r\nimport ReactTooltip from 'react-tooltip';\r\nimport SaveGridView from './save-grid-view';\r\nimport DeleteGridView from './delete-grid-view';\r\nimport * as api from 'store/api';\r\nimport Switch from 'components/shared/form/switch';\r\n\r\nclass ExtractionOverviewHeader extends Component {\r\n static propTypes = {\r\n currentFolder: PropTypes.object.isRequired,\r\n currentProject: PropTypes.object.isRequired,\r\n extractionOverview: PropTypes.object.isRequired,\r\n projectId: PropTypes.string.isRequired,\r\n setTemplate: PropTypes.func.isRequired,\r\n updateColumnOptions: PropTypes.func.isRequired,\r\n customizedVisibility: PropTypes.func,\r\n isReadOnly: PropTypes.bool,\r\n isDocumentToggleSwitchOnOff: PropTypes.bool,\r\n changeDocumentToggle: PropTypes.func\r\n };\r\n\r\n state = {\r\n customGrid: false,\r\n isExportSidebarShown: false,\r\n gridDefaultSelection: true,\r\n visibility: this.props.extractionOverview.columnOptions?.visibility,\r\n showSavedGridView: false,\r\n deleteGridView: false,\r\n extractionFieldObj: {},\r\n selectedGridId: 0,\r\n selectedGridName: 'Default',\r\n newGridData: {},\r\n customizedVisibility: {},\r\n isColumnOptionsLoaded: false,\r\n displaydeleteicon: false,\r\n displaySaveIcon: false,\r\n closeDeleteGridPopup: false,\r\n applyDeleteGridPopup: false,\r\n isGridChanged: false\r\n };\r\n\r\n componentDidMount() {\r\n this.setState({ displaydeleteicon: false });\r\n }\r\n\r\n onTemplateSelect = value => {\r\n const { currentProject, setTemplate, extractionOverview } = this.props;\r\n sessionStorage.setItem('selected-template', value.projectTemplateId);\r\n sessionStorage.setItem('selected-template-name', value.name);\r\n sessionStorage.setItem('selected-template-projectId', currentProject.projectId);\r\n this.setState({ displaySaveIcon: false });\r\n if (extractionOverview.selectedTemplate.projectTemplateId !== value.projectTemplateId) {\r\n setTemplate({ projectId: currentProject.projectId, template: value });\r\n }\r\n\r\n this.onDefaultSelection();\r\n // window.location.reload(false);\r\n };\r\n\r\n columnOptionSelected = () => {\r\n this.setState({ customGrid: true });\r\n this.setState({ displaydeleteicon: false });\r\n };\r\n\r\n columnOptionDeSelected = () => {\r\n this.setState({ customGrid: false });\r\n this.setState({ gridDefaultSelection: false });\r\n };\r\n\r\n renderExportPanel = () => {\r\n this.setState({ isExportSidebarShown: true });\r\n };\r\n closeExportSidebar = () => {\r\n this.setState({ isExportSidebarShown: false });\r\n };\r\n onDefaultSelection = () => {\r\n this.setState({ isColumnOptionsLoaded: false });\r\n const { extractionOverview } = this.props;\r\n let visibility = extractionOverview.columnOptions?.visibility;\r\n let visibilityObj = {};\r\n for (var key in visibility) {\r\n visibilityObj += JSON.stringify({ ...visibility, [visibility.key]: true });\r\n }\r\n window.location.reload(false);\r\n this.setState({ gridDefaultSelection: true });\r\n };\r\n updateGridName = gridName => {\r\n // this.setState({selectedGridId: gridIdName.gridId});\r\n this.setState({ selectedGridName: gridName });\r\n };\r\n updateGridID = gridID => {\r\n this.setState({ selectedGridId: gridID });\r\n };\r\n\r\n updateGridChange = () => {\r\n this.setState({ isGridChanged: false }, () => {\r\n this.forceUpdate();\r\n });\r\n };\r\n\r\n saveGrid = gridName => {\r\n const { projectId, extractionOverview } = this.props;\r\n const { visibility, selectedGridId } = this.state;\r\n const templateId = extractionOverview.selectedTemplate.projectTemplateId;\r\n let fields = [];\r\n this.setState({ selectedGridName: gridName });\r\n this.setState({ displaydeleteicon: true });\r\n for (var key in extractionOverview.columnOptions.visibility) {\r\n if (isNaN(key)) {\r\n fields.push({\r\n FieldId: key === 'DOCUMENT_NAME' ? -1 : -2,\r\n FieldName: key,\r\n FieldOrder: 0,\r\n Visible: extractionOverview.columnOptions.visibility[key],\r\n Hidden: false,\r\n Frozen: false\r\n });\r\n }\r\n }\r\n for (let r = 0; r < extractionOverview.templateExtractionFields.length; r++) {\r\n fields.push({\r\n FieldId: extractionOverview.templateExtractionFields[r].extractionFieldId,\r\n FieldName: extractionOverview.templateExtractionFields[r].extractionFieldName,\r\n FieldOrder: 0,\r\n Visible:\r\n visibility[extractionOverview.templateExtractionFields[r].extractionFieldId] !== undefined\r\n ? visibility[extractionOverview.templateExtractionFields[r].extractionFieldId]\r\n : true,\r\n Hidden: false,\r\n Frozen: false\r\n });\r\n }\r\n let extObj = {\r\n extractionFieldOverviewId: selectedGridId !== 0 ? selectedGridId : 0,\r\n extractionFieldOverviewName: gridName,\r\n fields: fields\r\n };\r\n\r\n api\r\n .saveGridView(projectId, templateId, extObj)\r\n .then(res => {\r\n this.setState({ customGrid: false });\r\n this.setState({ selectedGridId: res.data.extractionFieldOverviewId });\r\n this.setState({ selectedGridName: res.data.extractionFieldOverviewName });\r\n this.setState({\r\n newGridData: { gridId: res.data.extractionFieldOverviewId, gridName: res.data.extractionFieldOverviewName }\r\n });\r\n this.setState({ displaySaveIcon: false });\r\n })\r\n .catch(() => {});\r\n };\r\n\r\n loadColumnOptionsFromGrid = selectedGridId => {\r\n const { projectId, extractionOverview, customizedVisibility } = this.props;\r\n const templateId = extractionOverview.selectedTemplate.projectTemplateId;\r\n let visibilityObj = [];\r\n let newVisibilityObj = {};\r\n this.setState({ displaydeleteicon: true });\r\n this.setState({ customGrid: false });\r\n this.setState({ gridDefaultSelection: false });\r\n this.setState({ displaySaveIcon: false });\r\n this.setState({ isGridChanged: true });\r\n // console.log(extractionOverview.templateExtractionFields);\r\n api.getSavedExtractionField(projectId, templateId, selectedGridId).then(response => {\r\n this.setState({ isColumnOptionsLoaded: false });\r\n let res = response.data.fields;\r\n for (let s = 0; s < res.length; s++) {\r\n if (res[s].fieldId === -1) {\r\n newVisibilityObj = { ...newVisibilityObj, DOCUMENT_NAME: res[s].visible };\r\n } else if (res[s].fieldId === -2) {\r\n newVisibilityObj = { ...newVisibilityObj, SAMPLE_NUMBER: res[s].visible };\r\n } else {\r\n newVisibilityObj = { ...newVisibilityObj, [res[s].fieldId]: res[s].visible };\r\n }\r\n }\r\n this.setState({ customizedVisibility: newVisibilityObj, visibility: newVisibilityObj });\r\n customizedVisibility(newVisibilityObj);\r\n });\r\n };\r\n updateCustomizedVisibility = obj => {\r\n this.setState({ customizedVisibility: obj }, () => {\r\n this.forceUpdate();\r\n });\r\n };\r\n onDefaultUnSelection = () => {\r\n this.setState({ gridDefaultSelection: false });\r\n };\r\n openSaveViewModel = () => {\r\n let { customGrid, selectedGridName } = this.state;\r\n if (customGrid !== false) {\r\n this.setState({ showSavedGridView: true });\r\n } else {\r\n this.saveGrid(selectedGridName);\r\n }\r\n };\r\n closeSaveGridPopup = () => {\r\n this.setState({ showSavedGridView: false });\r\n };\r\n\r\n openDeleteViewModel = () => {\r\n this.setState({ deleteGridView: true });\r\n this.setState({ closeDeleteGridPopup: true });\r\n this.setState({ applyDeleteGridPopup: true });\r\n };\r\n\r\n closeDeleteGridPopup = () => {\r\n this.setState({ deleteGridView: false });\r\n };\r\n\r\n applyDeleteGridPopup = () => {\r\n const { projectId, extractionOverview } = this.props;\r\n const { selectedGridId } = this.state;\r\n const templateId = extractionOverview.selectedTemplate.projectTemplateId;\r\n api\r\n .deleteGridView(projectId, templateId, selectedGridId)\r\n .then(res => {\r\n this.closeDeleteGridPopup();\r\n this.onDefaultSelection();\r\n })\r\n .catch(() => {});\r\n };\r\n\r\n getAllExtractionFieldsData = ef => {\r\n const { selectedGridId } = this.state;\r\n this.setState({ visibility: ef });\r\n this.props.customizedVisibility(ef);\r\n\r\n this.setState({ displaySaveIcon: true });\r\n if (selectedGridId === 0) {\r\n this.setState({ customGrid: true });\r\n } else {\r\n this.setState({ customGrid: false });\r\n }\r\n };\r\n\r\n render() {\r\n const {\r\n currentProject,\r\n extractionOverview,\r\n currentFolder,\r\n projectId,\r\n updateColumnOptions,\r\n isReadOnly,\r\n changeDocumentToggle,\r\n isDocumentToggleSwitchOnOff\r\n } = this.props;\r\n const {\r\n isExportSidebarShown,\r\n customGrid,\r\n gridDefaultSelection,\r\n selectedGridId,\r\n selectedGridName,\r\n newGridData,\r\n customizedVisibility,\r\n displaydeleteicon,\r\n displaySaveIcon,\r\n isGridChanged,\r\n visibility\r\n } = this.state;\r\n let {\r\n showSavedGridView,\r\n deleteGridView,\r\n closeDeleteGridPopup,\r\n applyDeleteGridPopup,\r\n isColumnOptionsLoaded\r\n } = this.state;\r\n let gridData = [{ gridId: 0, gridName: 'Default view' }];\r\n const documentCount = extractionOverview.templateExtractions?.length > 0 ? true : false;\r\n\r\n return (\r\n
    \r\n
    \r\n
    \r\n

    \r\n \r\n

    \r\n {currentProject.projectName}\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n :\r\n \r\n this.onTemplateSelect(value)}\r\n />\r\n
    \r\n
    \r\n \r\n :\r\n \r\n\r\n this.loadColumnOptionsFromGrid(ID)}\r\n updateGridName={gridName => this.updateGridName(gridName)}\r\n updateGridID={gridID => this.updateGridID(gridID)}\r\n />\r\n
    \r\n\r\n \r\n
    \r\n {!isReadOnly && !customGrid && displaydeleteicon ? (\r\n \r\n \r\n \r\n \r\n \r\n \r\n ) : null}\r\n
    \r\n\r\n {\r\n this.saveGrid(e);\r\n }}\r\n />\r\n\r\n
    \r\n {!isReadOnly && (customGrid || displaySaveIcon) ? (\r\n \r\n \r\n \r\n \r\n \r\n \r\n ) : null}\r\n
    \r\n\r\n this.getAllExtractionFieldsData(ef)}\r\n customizedVisibility={customizedVisibility}\r\n isColumnOptionsLoaded={isColumnOptionsLoaded}\r\n isGridChanged={isGridChanged}\r\n updateGridChange={this.updateGridChange}\r\n updateCustomizedVisibility={obj => this.updateCustomizedVisibility(obj)}\r\n selectedGridId={selectedGridId}\r\n isDocumentToggleSwitchOnOff={isDocumentToggleSwitchOnOff}\r\n />\r\n this.renderExportPanel()}\r\n >\r\n \r\n \r\n
    \r\n\r\n {isExportSidebarShown && (\r\n \r\n )}\r\n
    \r\n );\r\n }\r\n}\r\nexport default ExtractionOverviewHeader;\r\n","import HTMLReactParser from './index.js';\n\nexport var domToReact = HTMLReactParser.domToReact;\nexport var htmlToDOM = HTMLReactParser.htmlToDOM;\nexport var attributesToProps = HTMLReactParser.attributesToProps;\n\n// domhandler\nexport var Comment = HTMLReactParser.Comment;\nexport var Element = HTMLReactParser.Element;\nexport var ProcessingInstruction = HTMLReactParser.ProcessingInstruction;\nexport var Text = HTMLReactParser.Text;\n\nexport default HTMLReactParser;\n","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport Icon from 'components/shared/icon';\r\nimport Checkbox from 'components/shared/form/checkbox';\r\nimport enhanceWithClickOutside from 'react-click-outside';\r\nimport { debounce } from 'underscore';\r\nimport Button from 'components/shared/single-click-button';\r\nimport { FormattedMessage, injectIntl } from 'react-intl';\r\n\r\nclass ExtractionOverviewFilter extends React.Component {\r\n _isMounted = false;\r\n\r\n static propTypes = {\r\n intl: PropTypes.any,\r\n filterFunction: PropTypes.func, // Returns an array of ids of filters selected, or an empty array for all\r\n filterOptions: PropTypes.any,\r\n filters: PropTypes.any,\r\n getFilterOptions: PropTypes.any,\r\n searchFunction: PropTypes.func, // Alternate if no filter function is provided, returns string of users entry\r\n searchQuery: PropTypes.any,\r\n toggleButton: PropTypes.func // Callback for when user clicks the arrow we can perform an action, ie refetch filter options\r\n };\r\n\r\n state = {\r\n allFilters: true,\r\n allFiltersArray: [],\r\n filteredFilters: [],\r\n filterText: '',\r\n showDropdown: false\r\n };\r\n\r\n componentDidMount = () => {\r\n this._isMounted = true;\r\n this.setUpFilters();\r\n };\r\n\r\n componentDidUpdate = (prevProps, prevState) => {\r\n // Reset state after closing the dropdown\r\n if (prevState.showDropdown && !this.state.showDropdown) {\r\n this.setState({\r\n allFilters: true,\r\n allFiltersArray: [],\r\n filteredFilters: [],\r\n filterText: ''\r\n });\r\n }\r\n\r\n if (this.props.filterOptions !== prevProps.filterOptions || this.props.filters !== prevProps.filters)\r\n this.setUpFilters();\r\n };\r\n\r\n componentWillUnmount() {\r\n this._isMounted = false;\r\n }\r\n\r\n handleClickOutside() {\r\n this.toggleDropdown(false);\r\n }\r\n\r\n setUpFilters = () => {\r\n const { getFilterOptions, filterFunction, intl } = this.props;\r\n\r\n if (!getFilterOptions || !filterFunction) return;\r\n\r\n this.props.getFilterOptions().then(filterOptions => {\r\n if (!this._isMounted) return;\r\n\r\n const { filters } = this.props;\r\n if (!filterOptions) return;\r\n\r\n filterOptions.data.forEach(filter => {\r\n filter.selected = !filters || filters.length === 0 || this.containsFilter(filters, filter.id);\r\n if (filter.key) {\r\n filter.translatedName = `${filter.key}`;\r\n }\r\n });\r\n\r\n this.setState({\r\n allFilters: filterOptions.data.every(filter => filter.selected),\r\n allFiltersArray: filterOptions.data,\r\n filteredFilters: filterOptions.data\r\n });\r\n });\r\n };\r\n\r\n containsFilter(filters, targetFilter) {\r\n var found = false;\r\n\r\n filters.forEach(filter => {\r\n if (JSON.stringify(filter) === JSON.stringify(targetFilter)) found = true;\r\n });\r\n\r\n return found;\r\n }\r\n\r\n filterFilters = value =>\r\n this.state.allFiltersArray\r\n .slice(0, this.state.allFiltersArray.length)\r\n .filter(f =>\r\n f.key\r\n ? f.translatedName.toLowerCase().indexOf(value.toLowerCase()) !== -1\r\n : f.name.toLowerCase().indexOf(value.toLowerCase()) !== -1\r\n );\r\n\r\n toggleFilter = id => {\r\n var { allFilters, filteredFilters } = this.state;\r\n\r\n filteredFilters.forEach(filter => {\r\n if (filter.id.toString() === id.toString()) filter.selected = !filter.selected;\r\n });\r\n\r\n var all = filteredFilters.reduce((a, c) => a && c.selected, true) && allFilters.length > 1;\r\n\r\n this.setState({ allFilters: all, filteredFilters: filteredFilters });\r\n };\r\n\r\n toggleAllFilters = () => {\r\n var { allFilters, filteredFilters } = this.state;\r\n\r\n filteredFilters.forEach(filter => {\r\n filter.selected = !allFilters;\r\n });\r\n\r\n this.setState({ allFilters: !allFilters, filteredFilters: filteredFilters });\r\n };\r\n\r\n applyFilters = () => {\r\n var selectedFilters = [];\r\n\r\n if (!this.state.allFilters || this.state.filterText !== '') {\r\n this.state.filteredFilters.forEach(filter => {\r\n if (filter.selected) selectedFilters.push(filter.id);\r\n });\r\n }\r\n\r\n this.props.filterFunction(selectedFilters);\r\n this.setState({ showDropdown: false });\r\n };\r\n\r\n toggleDropdown = debounce(\r\n override => {\r\n // If override is undefined, toggle based on state\r\n var { showDropdown } = this.state;\r\n // Callback if we want to perform some action (like refetch filter options)\r\n if (!showDropdown && override === undefined) this.setUpFilters();\r\n if (!showDropdown) this.props.toggleButton && this.props.toggleButton();\r\n this.setState({ showDropdown: override === true || override === false ? override : !showDropdown });\r\n },\r\n 16,\r\n true\r\n );\r\n\r\n clearFilters = event => {\r\n event.preventDefault();\r\n event.stopPropagation();\r\n\r\n if (this.props.filters && this.props.filters.length > 0) {\r\n this.props.filterFunction([]);\r\n }\r\n\r\n if (this.props.searchQuery && this.props.searchQuery.length > 0) {\r\n this.props.searchFunction('');\r\n }\r\n\r\n this.setState({ showDropdown: false });\r\n };\r\n\r\n render() {\r\n var { showDropdown, filteredFilters, allFilters, filterText } = this.state;\r\n var { filterFunction, filters, intl } = this.props;\r\n var { searchQuery } = this.props;\r\n\r\n return (\r\n
    \r\n \r\n\r\n {showDropdown ? (\r\n
    \r\n {/* Filter Section */}\r\n {filterFunction ? (\r\n
    \r\n \r\n
    \r\n \r\n {placeholder => (\r\n {\r\n this.setState({\r\n filterText: e.target.value,\r\n filteredFilters: this.filterFilters(e.target.value)\r\n });\r\n }}\r\n placeholder={placeholder}\r\n />\r\n )}\r\n \r\n
    \r\n\r\n
    \r\n
    \r\n {filteredFilters && filteredFilters.length > 0 ? (\r\n
    \r\n \r\n \r\n
    \r\n ) : null}\r\n\r\n {filteredFilters.map((filter, k) => (\r\n
    \r\n \r\n \r\n {filter.key ? filter.key : filter.name}\r\n \r\n
    \r\n ))}\r\n
    \r\n
    \r\n\r\n
    \r\n this.setState({ showDropdown: false })}\r\n >\r\n \r\n \r\n \r\n \r\n \r\n
    \r\n
    \r\n ) : null}\r\n
    \r\n ) : null}\r\n
    \r\n );\r\n }\r\n}\r\n\r\nexport default injectIntl(enhanceWithClickOutside(ExtractionOverviewFilter));\r\n","import React, { Component } from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport EmptyState from 'components/file-browser/file-list/empty-state';\r\nimport emptyStateImage from 'images/empty_state_comp_01.svg';\r\nimport history from 'utils/history';\r\nimport ReactTooltip from 'react-tooltip';\r\nimport { FormattedMessage } from 'react-intl';\r\nimport { BLOCK, maxWidth } from './constants';\r\nimport { Link } from 'react-router-dom';\r\nimport { getCurrentRegion, editExtractionFieldRecord } from 'store/api';\r\nimport { COLUMN_OPTIONS } from 'store/extraction-overview';\r\nimport socket, { rooms } from 'utils/socket';\r\nimport Icon from 'components/shared/icon';\r\nimport Button from 'components/shared/single-click-button';\r\nimport { linkVertical } from 'd3';\r\nimport { first, object } from 'underscore';\r\nimport DOMPurify from 'dompurify';\r\nimport Parser from 'html-react-parser';\r\nimport ExtractionOverviewFilter from 'components/extraction-overview/extraction-overview-filter';\r\n\r\nclass ExtractionOverviewGrid extends Component {\r\n static propTypes = {\r\n projectId: PropTypes.string.isRequired,\r\n projectTemplateTypeId: PropTypes.number.isRequired,\r\n templateExtractionFields: PropTypes.array.isRequired,\r\n templateExtractionGroups: PropTypes.array.isRequired,\r\n templateExtractions: PropTypes.array.isRequired,\r\n columnOptions: PropTypes.object.isRequired,\r\n updateColumnOptions: PropTypes.func.isRequired,\r\n setTemplate: PropTypes.func.isRequired,\r\n extractionOverview: PropTypes.object.isRequired,\r\n customizedVisibility: PropTypes.func,\r\n openDocument: PropTypes.func,\r\n isDocumentToggleSwitchOnOff: PropTypes.bool\r\n };\r\n\r\n state = {\r\n selectedCell: false,\r\n editCell: false,\r\n columnWidths: null,\r\n columnMinWidths: null,\r\n selectedColumnPosition: -1,\r\n selectedColumnIndex: -1,\r\n extractions: [],\r\n allExtractions: [],\r\n editedDocumentId: 0,\r\n extractionDocumentresult: [],\r\n firstDocument: 0,\r\n notFirstLoad: false,\r\n search: {\r\n key: undefined,\r\n query: undefined\r\n },\r\n filtering: {\r\n key: undefined,\r\n ids: undefined\r\n }\r\n };\r\n\r\n componentDidMount() {\r\n const {\r\n projectId,\r\n projectTemplateTypeId,\r\n templateExtractions,\r\n templateExtractionFields,\r\n templateExtractionGroups\r\n } = this.props;\r\n const { notFirstLoad } = this.state;\r\n const storedColumnWidths =\r\n JSON.parse(localStorage.getItem(`extractionOverview-${projectTemplateTypeId}-${projectId}`)) || null;\r\n const extractions = [];\r\n let efRecords = [];\r\n let efs = [];\r\n\r\n templateExtractions.forEach(file => {\r\n let sections = [];\r\n file.sections.forEach(section => {\r\n if (sections.length > 0 && section.sampleNumber) {\r\n var extSection = sections.filter(x => x.sampleNumber == section.sampleNumber);\r\n\r\n if (extSection.length > 0) {\r\n section.extractionFieldDetails.forEach(extRecord => {\r\n var extFieldData = extSection[0].extractionFieldDetails?.filter(\r\n x => x.extractionFieldId == extRecord.extractionFieldId\r\n );\r\n\r\n if (extFieldData.length > 0) {\r\n extFieldData[0].extractionFieldRecordDetails.push(...extRecord.extractionFieldRecordDetails);\r\n } else {\r\n extSection[0].extractionFieldDetails.push(extRecord);\r\n }\r\n });\r\n } else {\r\n if (section.extractionFieldDetails.length > 0) sections.push(section);\r\n }\r\n } else {\r\n sections.push(section);\r\n }\r\n });\r\n sections.forEach(section => {\r\n let extraction = extractions.find(ex => ex.sampleNumber === section.sampleNumber);\r\n\r\n if (section.sampleNumber && extraction) {\r\n extraction.templateTypeIndex = extraction.templateTypeIndex.map(teg => {\r\n const extractionFieldRecords = section.extractionFieldDetails\r\n .filter(efd => teg.extractionFieldIds.includes(efd.extractionFieldId))\r\n .map(ef => ef.extractionFieldRecordDetails.length);\r\n const recordsExist = extraction.extractionFieldDetails\r\n .map(x => section.extractionFieldDetails.filter(z => z.extractionFieldId == x.extractionFieldId))\r\n .filter(a => a.length);\r\n return {\r\n ...teg,\r\n index: extractionFieldRecords.length && recordsExist.length ? teg.rows : teg.index,\r\n rows: extractionFieldRecords.length ? teg.rows + Math.max(...extractionFieldRecords) : teg.rows\r\n };\r\n });\r\n if (extraction.docNameList === undefined) extraction.docNameList = [];\r\n\r\n var doc = { DocumentName: file.name, DocumentId: file.projectItemId };\r\n extraction.docNameList.push(doc);\r\n extraction.extractionFieldDetails = [\r\n ...extraction.extractionFieldDetails,\r\n ...section.extractionFieldDetails\r\n ].reduce((acc, curr) => {\r\n const prevExtractionField = acc.find(et => et.extractionFieldId === curr.extractionFieldId);\r\n const extractionFieldGroupIndex = extraction.templateTypeIndex.find(\r\n tti =>\r\n tti.groupId ===\r\n templateExtractionGroups.find(teg => teg.extractionFieldIds.includes(curr.extractionFieldId))\r\n .extractionFieldGroupId\r\n );\r\n\r\n if (prevExtractionField) {\r\n prevExtractionField.extractionFieldRecordDetails = [\r\n ...prevExtractionField.extractionFieldRecordDetails,\r\n ...curr.extractionFieldRecordDetails.map((efr, i) => ({\r\n ...efr,\r\n offset: prevExtractionField.extractionFieldRecordDetails.length + i\r\n }))\r\n ];\r\n return acc;\r\n }\r\n\r\n return [\r\n ...acc,\r\n {\r\n ...curr,\r\n extractionFieldRecordDetails: curr.extractionFieldRecordDetails.map((efrd, i) =>\r\n efrd.offset >= 0\r\n ? efrd\r\n : {\r\n ...efrd,\r\n offset: i\r\n }\r\n )\r\n }\r\n ];\r\n }, []);\r\n } else {\r\n extraction = {\r\n name: file.name,\r\n projectItemId: file.projectItemId,\r\n projectTemplateId: file.projectTemplateId,\r\n sampleNumber: section.sampleNumber,\r\n docNameList: [{ DocumentName: file.name, DocumentId: file.projectItemId }],\r\n extractionFieldDetails: section.extractionFieldDetails.map(efd => ({\r\n ...efd,\r\n projectItemId: file.projectItemId,\r\n extractionFieldRecordDetails: efd.extractionFieldRecordDetails.map((efrd, i) => ({ ...efrd, offset: i }))\r\n })),\r\n templateTypeIndex: templateExtractionGroups.map(teg => {\r\n const extractionFieldRecords = section.extractionFieldDetails\r\n .filter(efd => teg.extractionFieldIds.includes(efd.extractionFieldId))\r\n .map(ef => ef.extractionFieldRecordDetails.length);\r\n return {\r\n groupId: teg.extractionFieldGroupId,\r\n extractionFieldIds: teg.extractionFieldIds,\r\n index: 0,\r\n rows: extractionFieldRecords.length ? Math.max(...extractionFieldRecords) : 0\r\n };\r\n })\r\n };\r\n\r\n efRecords = [...efRecords, ...section.extractionFieldDetails];\r\n extractions.push(extraction);\r\n }\r\n });\r\n });\r\n\r\n const columnWidths = new Array(templateExtractionFields.length + 2);\r\n const columnMinWidths = new Array(templateExtractionFields.length + 2);\r\n templateExtractionFields.forEach((ef, idx) => {\r\n const minWidth = this.getMinWidth(\r\n efRecords.filter(er => er.extractionFieldId === ef.extractionFieldId),\r\n ef.extractionFieldName\r\n );\r\n columnMinWidths[idx + 2] = minWidth;\r\n if (storedColumnWidths && storedColumnWidths[idx + 2]) {\r\n columnWidths[idx + 2] = storedColumnWidths[idx + 2];\r\n } else {\r\n columnWidths[idx + 2] = minWidth;\r\n }\r\n });\r\n\r\n var extractionsWithSampleNumber = [];\r\n var extractionsWithoutSampleNumber = [];\r\n var extractionsdoc = [];\r\n\r\n for (let j = 0; j < extractions.length; j++) {\r\n if (extractions[j].sampleNumber === null) {\r\n extractionsWithoutSampleNumber.push(extractions[j]);\r\n } else {\r\n extractionsWithSampleNumber.push(extractions[j]);\r\n }\r\n }\r\n\r\n extractionsWithSampleNumber = extractionsWithSampleNumber.sort((s1, s2) => s1.sampleNumber - s2.sampleNumber);\r\n extractionsWithoutSampleNumber = extractionsWithoutSampleNumber.sort((s1, s2) => s1.name.localeCompare(s2.name));\r\n extractionsdoc = extractionsWithSampleNumber.concat(extractionsWithoutSampleNumber);\r\n if (extractionsdoc[0]?.docNameList[0]?.DocumentId != 0)\r\n this.props.openDocument(extractionsdoc[0]?.docNameList[0]?.DocumentId, 1);\r\n else this.props.openDocument(extractionsdoc[0]?.projectItemId, 1);\r\n this.setState({ columnWidths, extractions, allExtractions: extractions, columnMinWidths });\r\n\r\n if (notFirstLoad == false) {\r\n if (extractionsdoc[0]?.docNameList[0]?.DocumentId != 0)\r\n this.setState({ firstDocument: extractionsdoc[0]?.docNameList[0]?.DocumentId });\r\n else this.setState({ firstDocument: extractionsdoc[0]?.projectItemId });\r\n }\r\n document.addEventListener('mousemove', this.setNewColumnWidths);\r\n document.addEventListener('mouseup', this.saveNewColumnWidths);\r\n }\r\n\r\n componentWillUnmount() {\r\n window.removeEventListener('mousemove', this.setNewColumnWidths);\r\n window.removeEventListener('mouseup', this.saveNewColumnWidths);\r\n }\r\n\r\n componentDidUpdate() {\r\n const table = document.getElementById('extraction-overview-table');\r\n if (table) {\r\n this.moveColumn(table.scrollLeft + 'px', table.scrollTop + 'px');\r\n }\r\n }\r\n\r\n setNewColumnWidths = e => {\r\n const { columnWidths, columnMinWidths, selectedColumnIndex, selectedColumnPosition } = this.state;\r\n\r\n if (selectedColumnIndex >= 0 && selectedColumnPosition >= 0) {\r\n const offSet = e.pageX - selectedColumnPosition;\r\n const newWidth = columnWidths[selectedColumnIndex] + offSet;\r\n if (selectedColumnIndex < 2 || newWidth > columnMinWidths[selectedColumnIndex]) {\r\n columnWidths[selectedColumnIndex] = newWidth;\r\n }\r\n\r\n this.setState({ columnWidths, selectedColumnPosition: e.pageX });\r\n }\r\n };\r\n\r\n reloadCurrentGird() {\r\n var { filtering, allExtractions, extractions } = this.state;\r\n var filteredIds = filtering.ids;\r\n const exts = allExtractions;\r\n extractions = allExtractions;\r\n if (filteredIds && filteredIds.length > 0) {\r\n var selecteddocs = [];\r\n extractions.forEach(e => {\r\n if (e.docNameList && e.docNameList.length > 0) {\r\n var selectedExt1 = [];\r\n var extDetails = [];\r\n var dlist = [];\r\n e.docNameList.forEach(a => {\r\n if (filteredIds.indexOf(a.DocumentId) !== -1) {\r\n dlist.push(a);\r\n }\r\n });\r\n\r\n e.extractionFieldDetails.forEach(x => {\r\n var fieldDetails;\r\n var extRecords = [];\r\n x.extractionFieldRecordDetails.forEach(h => {\r\n if (filteredIds.indexOf(h.projectItemId) !== -1) extRecords.push(h);\r\n });\r\n fieldDetails = {\r\n extractionFieldId: x.extractionFieldId,\r\n extractionFieldRecordDetails: extRecords,\r\n numberOfRecords: x.numberOfRecords,\r\n projectItemId: x.projectItemId\r\n };\r\n extDetails.push(fieldDetails);\r\n });\r\n selectedExt1 = {\r\n name: e.name,\r\n projectItemId: e.projectItemId,\r\n projectTemplateId: e.projectTemplateId,\r\n sampleNumber: e.sampleNumber,\r\n docNameList: dlist,\r\n extractionFieldDetails: extDetails,\r\n templateTypeIndex: e.templateTypeIndex\r\n };\r\n if (selectedExt1.docNameList.length > 0) selecteddocs.push(selectedExt1);\r\n } else {\r\n if (filteredIds.indexOf(e.projectItemId) !== -1) {\r\n selecteddocs.push(e);\r\n }\r\n }\r\n });\r\n\r\n this.setState({ extractions: selecteddocs });\r\n } else this.setState({ extractions: exts });\r\n }\r\n\r\n setFiltering = (key, ids) => {\r\n var { filtering, search } = this.state;\r\n filtering.key = ids.length > 0 ? key : undefined;\r\n filtering.ids = ids.length > 0 ? ids : undefined;\r\n search.key = undefined;\r\n search.query = undefined;\r\n this.setState({ filtering: filtering, search: search }, () => this.reloadCurrentGird());\r\n };\r\n\r\n getAllDocuments = () => {\r\n const { allExtractions } = this.state;\r\n const DOCUMENTS = [];\r\n const documentIds = [];\r\n\r\n allExtractions.length &&\r\n allExtractions.map((section, index) => {\r\n if (DOCUMENTS.length > 0) {\r\n if (documentIds.indexOf(section.projectItemId) == -1) {\r\n documentIds.push(section.projectItemId);\r\n section.docNameList.map((fileName, index) => {\r\n DOCUMENTS.push({ key: fileName.DocumentName, id: fileName.DocumentId });\r\n });\r\n } else {\r\n documentIds.push(section.projectItemId);\r\n section.docNameList.map((fileName, index) => {\r\n DOCUMENTS.push({ key: fileName.DocumentName, id: fileName.DocumentId });\r\n });\r\n }\r\n } else {\r\n section.docNameList.map((fileName, index) => {\r\n DOCUMENTS.push({ key: fileName.DocumentName, id: fileName.DocumentId });\r\n });\r\n documentIds.push(section.projectItemId);\r\n }\r\n });\r\n const DistinctDocuments = Array.from(new Set(DOCUMENTS.map(x => x.id))).map(id => {\r\n return {\r\n key: DOCUMENTS.find(s => s.id == id).key,\r\n id: id\r\n };\r\n });\r\n\r\n return Promise.resolve({ data: DistinctDocuments });\r\n };\r\n\r\n saveNewColumnWidths = () => {\r\n const { projectTemplateTypeId, projectId } = this.props;\r\n const { columnWidths, selectedColumnIndex, selectedColumnPosition } = this.state;\r\n if (selectedColumnIndex >= 0 && selectedColumnPosition >= 0) {\r\n this.setState({ selectedColumnIndex: -1, selectedColumnPosition: -1 }, () => {\r\n document.body.style.cursor = 'default';\r\n localStorage.setItem(`extractionOverview-${projectTemplateTypeId}-${projectId}`, JSON.stringify(columnWidths));\r\n });\r\n }\r\n };\r\n\r\n moveColumn = (offsetLeft, offsetTop) => {\r\n const { columnOptions } = this.props;\r\n const { columnWidths } = this.state;\r\n const documentNameWidth = columnWidths[0]\r\n ? columnWidths[0]\r\n : document.getElementById('table-header-document')\r\n ? document.getElementById('table-header-document').offsetWidth\r\n : 0;\r\n const offsetLeftParsed = parseInt(offsetLeft.replace('px', ''));\r\n const headerItem = document.getElementsByClassName('fixed-column--header');\r\n for (let i = 0; i < headerItem.length; i++) {\r\n headerItem.item(i).style.top = offsetTop;\r\n }\r\n const fixedItems = document.getElementsByClassName('fixed-column');\r\n for (let i = 0; i < fixedItems.length; i++) {\r\n if (!columnOptions.frozen[COLUMN_OPTIONS.DOCUMENT_NAME] && columnOptions.frozen[COLUMN_OPTIONS.SAMPLE_NUMBER]) {\r\n if (offsetLeftParsed > documentNameWidth && columnOptions.visibility[COLUMN_OPTIONS.DOCUMENT_NAME]) {\r\n fixedItems.item(i).style.left = offsetLeftParsed - documentNameWidth + 'px';\r\n } else if (!columnOptions.visibility[COLUMN_OPTIONS.DOCUMENT_NAME]) {\r\n fixedItems.item(i).style.left = offsetLeftParsed + 'px';\r\n } else {\r\n fixedItems.item(i).style.left = '';\r\n }\r\n } else {\r\n fixedItems.item(i).style.left = offsetLeft;\r\n }\r\n }\r\n };\r\n\r\n onEditExtractionRecordClick = event => {\r\n const { editCell } = this.state;\r\n\r\n if (!editCell) {\r\n this.setState({ editCell: !editCell });\r\n event.target.parentNode.classList.add(`${BLOCK}__button--edit-data`);\r\n event.target.parentNode.children[1].focus();\r\n }\r\n };\r\n\r\n onEditExtractionRecordBlur = (event, documentId, fieldId, recordId) => {\r\n const { projectId } = this.props;\r\n\r\n this.setState({ editCell: false, editedDocumentId: documentId });\r\n event.target.parentNode.classList.remove(`${BLOCK}__button--edit-data`);\r\n socket.join(rooms.document(projectId, documentId));\r\n socket.on('extractionfieldrecord.updated', this.onExtractionFieldUpdate);\r\n const rowButton = event.target.parentNode.children[0];\r\n const newExtractionFieldRecordData = Parser(DOMPurify.sanitize(event.currentTarget.textContent));\r\n if (event.currentTarget.textContent !== '') {\r\n rowButton.children[0].innerHTML = newExtractionFieldRecordData;\r\n editExtractionFieldRecord(projectId, documentId, fieldId, recordId, newExtractionFieldRecordData).then(() => {\r\n rowButton.children[0].innerHTML = newExtractionFieldRecordData;\r\n });\r\n } else {\r\n event.target.parentNode.children[1].innerHTML = rowButton.children[0].innerHTML;\r\n }\r\n };\r\n\r\n onExtractionFieldUpdate = () => {\r\n const value = this.props.extractionOverview.templates.find(\r\n t => t.projectTemplateId === this.props.projectTemplateTypeId\r\n );\r\n socket.leave(rooms.document(this.props.projectId, this.state.editedDocumentId));\r\n socket.off('extractionfieldrecord.updated', this.onExtractionFieldUpdate);\r\n this.setState({ editedDocumentId: 0 });\r\n };\r\n\r\n onHighlightRow = event => {\r\n //Make all the cells to default color on click of a new cell\r\n event.currentTarget.parentNode.parentNode.parentNode.childNodes.forEach(\r\n item => (item.style.background = '#ffffff')\r\n );\r\n //Highlight the respective row to grey color\r\n event.currentTarget.parentNode.parentNode.style.background = '#E9E9E9';\r\n };\r\n\r\n onExtractionRecordClick = event => {\r\n const { projectId, openDocument, isDocumentToggleSwitchOnOff } = this.props;\r\n const { selectedCell } = this.state;\r\n const { docId, pageNum } = event.target.dataset;\r\n openDocument(docId, pageNum);\r\n\r\n if (isDocumentToggleSwitchOnOff == true) {\r\n this.setState({ notFirstLoad: true });\r\n this.onHighlightRow(event);\r\n }\r\n if (!selectedCell) {\r\n this.setState({ selectedCell: !selectedCell });\r\n event.currentTarget.classList.add(`${BLOCK}__button--display-data`);\r\n } else {\r\n history.push(`/region/${getCurrentRegion()}/project/${projectId}/document/${docId}?page=${pageNum}`);\r\n }\r\n };\r\n\r\n onExtractionRecordBlur = event => {\r\n this.setState({ selectedCell: false });\r\n event.currentTarget.classList.remove(`${BLOCK}__button--display-data`);\r\n };\r\n //Sensitive code. Please do proper unit testing in extraction overview grid if you make any change in the below code\r\n renderRecords = (currentRow, records, projectItemId, rowindex, sectionRowNumber) => {\r\n const { templateExtractionFields, columnOptions, customizedVisibility, isDocumentToggleSwitchOnOff } = this.props;\r\n const { firstDocument, notFirstLoad } = this.state;\r\n let customVisibility = false;\r\n if (Object.keys(customizedVisibility).length > 0) {\r\n customVisibility = true;\r\n } else {\r\n customVisibility = false;\r\n }\r\n const rowClassName =\r\n projectItemId == firstDocument && notFirstLoad == false && rowindex == 0 && sectionRowNumber == 0\r\n ? `row-reference-${projectItemId}-0-0 ${BLOCK}__highlighted-row`\r\n : `row-reference-${projectItemId}-${rowindex}-${sectionRowNumber}`;\r\n return (\r\n \r\n {templateExtractionFields.map((extraction, index) => {\r\n const data = records.find(ef => ef.extractionFieldId === extraction.extractionFieldId);\r\n\r\n if (customVisibility === false) {\r\n if (columnOptions.visibility[extraction.extractionFieldId] !== false) {\r\n if (data && data.extractionFieldRecordDetails) {\r\n const extractionRecord = data.extractionFieldRecordDetails.find(d => currentRow === d.offset);\r\n const prjItemId = extractionRecord ? extractionRecord.projectItemId : projectItemId;\r\n if (extractionRecord) {\r\n return (\r\n \r\n \r\n \r\n {extractionRecord.extractedData}\r\n
    \r\n \r\n \r\n this.onEditExtractionRecordBlur(\r\n e,\r\n prjItemId,\r\n extraction.extractionFieldId,\r\n extractionRecord.extractionFieldRecordId\r\n )\r\n }\r\n >\r\n {extractionRecord.extractedData}\r\n
    \r\n
    \r\n \r\n \r\n
    \r\n \r\n );\r\n }\r\n }\r\n return (\r\n \r\n  \r\n \r\n );\r\n }\r\n } else {\r\n if (customizedVisibility[extraction.extractionFieldId] === true) {\r\n if (data && data.extractionFieldRecordDetails) {\r\n const extractionRecord = data.extractionFieldRecordDetails.find(d => currentRow === d.offset);\r\n const prjItemId = extractionRecord ? extractionRecord.projectItemId : projectItemId;\r\n if (extractionRecord) {\r\n return (\r\n \r\n \r\n \r\n {extractionRecord.extractedData}\r\n
    \r\n \r\n \r\n this.onEditExtractionRecordBlur(\r\n e,\r\n prjItemId,\r\n extraction.extractionFieldId,\r\n extractionRecord.extractionFieldRecordId\r\n )\r\n }\r\n >\r\n {extractionRecord.extractedData}\r\n
    \r\n
    \r\n \r\n \r\n
    \r\n \r\n );\r\n }\r\n }\r\n return (\r\n \r\n  \r\n \r\n );\r\n }\r\n }\r\n })}\r\n \r\n );\r\n };\r\n\r\n sectionRows = templateTypeIndex => {\r\n return templateTypeIndex.reduce((acc, curr) => (curr.rows > acc ? curr.rows : acc), 1);\r\n };\r\n\r\n getMinWidth = (efRecords, templateName) => {\r\n const records = efRecords\r\n .reduce((acc, curr) => {\r\n return [...acc, ...curr.extractionFieldRecordDetails];\r\n }, [])\r\n .sort((curr, next) => next.extractedData.length - curr.extractedData.length);\r\n\r\n const text = document.createElement('span');\r\n text.className = 'extraction-overview__column';\r\n document.body.appendChild(text);\r\n text.style.position = 'absolute';\r\n text.style.whiteSpace = 'no-wrap';\r\n\r\n if (!records.length) {\r\n text.innerHTML = templateName.substr(0, Math.floor(templateName.length / 2) + 1);\r\n const width = Math.ceil(text.clientWidth) + 2;\r\n document.body.removeChild(text);\r\n\r\n return width;\r\n }\r\n\r\n text.innerHTML = records[0].extractedData.length > templateName.length ? records[0].extractedData : templateName;\r\n const width = Math.ceil(text.clientWidth);\r\n\r\n document.body.removeChild(text);\r\n return Math.min(width, maxWidth);\r\n };\r\n\r\n frozeColumn = option => {\r\n const { updateColumnOptions, columnOptions } = this.props;\r\n const frozen = {\r\n ...columnOptions.frozen,\r\n [option]: !columnOptions.frozen[option]\r\n };\r\n\r\n if (!frozen[option]) {\r\n this.moveColumn('', '');\r\n }\r\n\r\n updateColumnOptions({ visibility: columnOptions.visibility, frozen });\r\n };\r\n\r\n grabColumn = (element, index) => {\r\n const { columnWidths } = this.state;\r\n const headerRect = document.getElementById(element).getBoundingClientRect();\r\n columnWidths[index] = headerRect.right - headerRect.left;\r\n\r\n this.setState(\r\n {\r\n selectedColumnIndex: index,\r\n selectedColumnPosition: headerRect.right,\r\n columnWidths\r\n },\r\n () => (document.body.style.cursor = 'col-resize')\r\n );\r\n };\r\n //Sensitive code. Please do proper unit testing if you make any change in the below code\r\n render() {\r\n const {\r\n projectId,\r\n templateExtractionFields,\r\n templateExtractionGroups,\r\n columnOptions,\r\n customizedVisibility,\r\n openDocument,\r\n isDocumentToggleSwitchOnOff\r\n } = this.props;\r\n\r\n const { columnWidths, filtering } = this.state;\r\n var { extractions } = this.state;\r\n let groupIndex = 2;\r\n let columns = columnOptions.visibility;\r\n let falseColumns = [];\r\n let customVisibility = false;\r\n if (Object.keys(customizedVisibility).length > 0) {\r\n customVisibility = true;\r\n for (var key1 in customizedVisibility) {\r\n if (customizedVisibility.hasOwnProperty(key1) && customizedVisibility[key1] === false) {\r\n falseColumns.push(key1);\r\n }\r\n }\r\n } else {\r\n customVisibility = false;\r\n for (var key2 in columns) {\r\n if (columns.hasOwnProperty(key2) && columns[key2] === false) {\r\n falseColumns.push(key2);\r\n }\r\n }\r\n }\r\n var extractionsWithSampleNumber = [];\r\n var extractionsWithoutSampleNumber = [];\r\n for (let j = 0; j < extractions.length; j++) {\r\n if (extractions[j].sampleNumber === null) {\r\n extractionsWithoutSampleNumber.push(extractions[j]);\r\n } else {\r\n extractionsWithSampleNumber.push(extractions[j]);\r\n }\r\n }\r\n\r\n extractionsWithSampleNumber = extractionsWithSampleNumber.sort((s1, s2) => s1.sampleNumber - s2.sampleNumber);\r\n extractionsWithoutSampleNumber = extractionsWithoutSampleNumber.sort((s1, s2) => s1.name.localeCompare(s2.name));\r\n extractions = extractionsWithSampleNumber.concat(extractionsWithoutSampleNumber);\r\n\r\n return extractions.length ? (\r\n this.moveColumn(e.target.scrollLeft + 'px', e.target.scrollTop + 'px')}\r\n >\r\n \r\n \r\n \r\n {customVisibility === false && isDocumentToggleSwitchOnOff === false\r\n ? columnOptions.visibility[COLUMN_OPTIONS.DOCUMENT_NAME] && (\r\n \r\n )\r\n : customizedVisibility[COLUMN_OPTIONS.DOCUMENT_NAME] && (\r\n \r\n )}\r\n\r\n {customVisibility === false\r\n ? columnOptions.visibility[COLUMN_OPTIONS.SAMPLE_NUMBER] && (\r\n \r\n )\r\n : customizedVisibility[COLUMN_OPTIONS.SAMPLE_NUMBER] && (\r\n \r\n )}\r\n {templateExtractionGroups.map((group, i) => {\r\n let groupFieldsCount = group.extractionFieldsCount;\r\n\r\n for (let s = 0; s <= group.extractionFieldIds.length; s++) {\r\n for (let e = 0; e <= falseColumns.length; e++) {\r\n if (\r\n falseColumns[e] == group.extractionFieldIds[s] &&\r\n falseColumns[e] !== undefined &&\r\n group.extractionFieldIds[s] !== undefined\r\n ) {\r\n --groupFieldsCount;\r\n }\r\n }\r\n }\r\n let customizedCount = 0;\r\n if (customVisibility == false) customizedCount = 1;\r\n else\r\n group.extractionFieldIds.map(ids => {\r\n if (customizedVisibility[ids] == true) customizedCount++;\r\n });\r\n if (groupFieldsCount !== 0 && customizedCount > 0) {\r\n let newGroupIndex = groupIndex + customVisibility == false ? groupFieldsCount : customizedCount;\r\n const header = (\r\n \r\n curr + acc, -3) + 'px'\r\n }}\r\n className={`${BLOCK}__cell-record cell-record`}\r\n >\r\n {group.extractionFieldGroupName}\r\n \r\n \r\n );\r\n groupIndex = newGroupIndex;\r\n\r\n return header;\r\n }\r\n })}\r\n \r\n \r\n {customVisibility === false && isDocumentToggleSwitchOnOff === false\r\n ? columnOptions.visibility[COLUMN_OPTIONS.DOCUMENT_NAME] && (\r\n \r\n this.frozeColumn(COLUMN_OPTIONS.DOCUMENT_NAME)}\r\n >\r\n {columnOptions.frozen[COLUMN_OPTIONS.DOCUMENT_NAME] ? (\r\n \r\n ) : (\r\n \r\n )}\r\n \r\n \r\n \r\n \r\n \r\n
    this.grabColumn('table-header-document', 0)} />\r\n this.setFiltering('documents', ids)}\r\n getFilterOptions={this.getAllDocuments}\r\n filters={filtering.key === 'documents' ? filtering.ids : undefined}\r\n />\r\n \r\n )\r\n : customizedVisibility[COLUMN_OPTIONS.DOCUMENT_NAME] && (\r\n \r\n this.frozeColumn(COLUMN_OPTIONS.DOCUMENT_NAME)}\r\n >\r\n {columnOptions.frozen[COLUMN_OPTIONS.DOCUMENT_NAME] ? (\r\n \r\n ) : (\r\n \r\n )}\r\n \r\n \r\n \r\n \r\n \r\n
    this.grabColumn('table-header-document', 0)} />\r\n this.setFiltering('documents', ids)}\r\n getFilterOptions={this.getAllDocuments}\r\n filters={filtering.key === 'documents' ? filtering.ids : undefined}\r\n />\r\n \r\n )}\r\n\r\n {customVisibility === false\r\n ? columnOptions.visibility[COLUMN_OPTIONS.SAMPLE_NUMBER] && (\r\n \r\n this.frozeColumn(COLUMN_OPTIONS.SAMPLE_NUMBER)}\r\n >\r\n {columnOptions.frozen[COLUMN_OPTIONS.SAMPLE_NUMBER] ? (\r\n \r\n ) : (\r\n \r\n )}\r\n \r\n \r\n \r\n \r\n \r\n
    this.grabColumn('table-header-sample-number', 1)} />\r\n \r\n )\r\n : customizedVisibility[COLUMN_OPTIONS.SAMPLE_NUMBER] && (\r\n \r\n this.frozeColumn(COLUMN_OPTIONS.SAMPLE_NUMBER)}\r\n >\r\n {columnOptions.frozen[COLUMN_OPTIONS.SAMPLE_NUMBER] ? (\r\n \r\n ) : (\r\n \r\n )}\r\n \r\n \r\n \r\n \r\n \r\n
    this.grabColumn('table-header-sample-number', 1)} />\r\n \r\n )}\r\n\r\n {templateExtractionFields.map((ef, idx) =>\r\n // Below condition is for initial(default) view load where there is no filter\r\n customVisibility === false ? (\r\n !columnOptions.visibility[ef.extractionFieldId] ? (\r\n columnOptions.visibility[ef.extractionFieldId] !== false ? (\r\n \r\n {ef.extractionFieldName}\r\n this.grabColumn(`table-header-${idx}-${ef.extractionFieldId}`, idx + 2)}\r\n />\r\n \r\n ) : null\r\n ) : (\r\n \r\n {ef.extractionFieldName}\r\n this.grabColumn(`table-header-${idx}-${ef.extractionFieldId}`, idx + 2)}\r\n />\r\n \r\n )\r\n ) : //customized View based on the grid view chosen\r\n customizedVisibility[ef.extractionFieldId] === true ? (\r\n \r\n {ef.extractionFieldName}\r\n this.grabColumn(`table-header-${idx}-${ef.extractionFieldId}`, idx + 2)}\r\n />\r\n \r\n ) : null\r\n )}\r\n
    \r\n \r\n \r\n {extractions.length\r\n ? extractions.map((section, index) => {\r\n const sectionRows = this.sectionRows(section.templateTypeIndex);\r\n const sectionRowsArray = Array.from(Array(sectionRows).keys());\r\n const distintFiles = section.docNameList;\r\n return (\r\n \r\n \r\n {customVisibility === false && isDocumentToggleSwitchOnOff === false\r\n ? columnOptions.visibility[COLUMN_OPTIONS.DOCUMENT_NAME] && (\r\n \r\n \r\n \r\n {}\r\n \r\n \r\n {section.docNameList &&\r\n distintFiles.map((doc, index) => {\r\n return (\r\n \r\n {index === 0 ? doc.DocumentName : ', ' + doc.DocumentName}\r\n \r\n );\r\n })}\r\n \r\n )\r\n : customizedVisibility[COLUMN_OPTIONS.DOCUMENT_NAME] && (\r\n \r\n \r\n \r\n {section.docNameList &&\r\n distintFiles.map((doc, index) => {\r\n return (\r\n \r\n {index === 0 ? doc.DocumentName : ', ' + doc.DocumentName}\r\n \r\n );\r\n })}\r\n \r\n \r\n \r\n )}\r\n {customVisibility === false\r\n ? columnOptions.visibility[COLUMN_OPTIONS.SAMPLE_NUMBER] && (\r\n \r\n {section.sampleNumber}\r\n \r\n )\r\n : customizedVisibility[COLUMN_OPTIONS.SAMPLE_NUMBER] && (\r\n \r\n {section.sampleNumber}\r\n \r\n )}\r\n \r\n {sectionRowsArray.map((e, i) => {\r\n return this.renderRecords(e, section.extractionFieldDetails, section.projectItemId, index, i);\r\n })}\r\n \r\n );\r\n })\r\n : null}\r\n \r\n
    \r\n
    \r\n ) : (\r\n
    \r\n \r\n {description => (\r\n }\r\n description={description}\r\n img={emptyStateImage}\r\n />\r\n )}\r\n \r\n
    \r\n );\r\n }\r\n}\r\nexport default ExtractionOverviewGrid;\r\n","import React, { useState, useEffect, useRef } from 'react';\r\nimport { debounce } from 'underscore';\r\nimport Page from 'containers/document-viewer/document-renderer/page-container';\r\nimport DocumentControls from 'components/document-viewer/document-renderer/document-controls/document-controls';\r\n\r\nfunction ExtractionOverviewDocumentPanel({\r\n getCurrentDocument,\r\n currentDocument,\r\n currentDocumentLayout,\r\n projectId,\r\n documentId,\r\n pageNumber\r\n}) {\r\n const [pageImageLoaded, updatePageImageLoaded] = useState(false);\r\n const [currentPage, setCurrentPage] = useState(pageNumber);\r\n const [zoomLevel, setZoomLevel] = useState(1.0);\r\n const [pagesInViewport, setPagesInViewport] = useState([]);\r\n const [pageBoundaries, setPageBoundaries] = useState([]);\r\n const scrollArea = useRef(null);\r\n\r\n useEffect(() => {\r\n scrollToPage(parseInt(pageNumber));\r\n }, [pageNumber]);\r\n\r\n useEffect(() => {\r\n getCurrentDocument(projectId, documentId);\r\n // calculatePageBoundaries();\r\n initialize();\r\n }, [documentId]);\r\n\r\n useEffect(() => {\r\n scrollToPage(parseInt(pageNumber));\r\n }, [currentDocumentLayout.isLoaded]);\r\n\r\n useEffect(() => {\r\n scrollArea.current.addEventListener('scroll', scrollChange);\r\n }, [scrollArea]);\r\n\r\n const initialize = () => {\r\n setTimeout(() => {\r\n calculatePageBoundaries();\r\n calculatePagesInViewport();\r\n }, 400); //Slight delay added to ensure this fires after render completes (boundary calculation needs to be done after DOM is available)\r\n };\r\n\r\n const setPageImageLoaded = () => {\r\n updatePageImageLoaded(true);\r\n };\r\n\r\n const scrollChange = debounce(event => {\r\n calculatePagesInViewport();\r\n calculateCurrentPage();\r\n }, 100);\r\n\r\n const calculatePagesInViewport = () => {\r\n let boundaries = calculatePageBoundaries();\r\n if (!scrollArea || !scrollArea.current) return;\r\n\r\n var scrollInfo = {\r\n scrollHeight: scrollArea.current.scrollHeight,\r\n offsetHeight: scrollArea.current.offsetHeight,\r\n scrollTop: scrollArea.current.scrollTop\r\n };\r\n\r\n var top = scrollInfo.scrollTop;\r\n var bottom = top + scrollInfo.offsetHeight;\r\n var pagesInViewportTmp = [];\r\n\r\n boundaries.forEach((page, i) => {\r\n if (\r\n (top < page.top && page.top < bottom) ||\r\n (top < page.bottom && page.bottom < bottom) ||\r\n (page.top < top && page.bottom > bottom)\r\n ) {\r\n pagesInViewportTmp.push({\r\n index: i,\r\n pageNumber: i + 1,\r\n page: page\r\n });\r\n }\r\n });\r\n\r\n setPagesInViewport(pagesInViewportTmp);\r\n return pagesInViewportTmp;\r\n };\r\n\r\n const calculatePageBoundaries = () => {\r\n var pageBoundariesTmp = [];\r\n var elements = [...document.getElementsByClassName('renderer-page')];\r\n\r\n elements.forEach(element => {\r\n pageBoundariesTmp.push({\r\n top: element.offsetTop,\r\n bottom: element.offsetTop + element.offsetHeight\r\n });\r\n });\r\n\r\n setPageBoundaries(pageBoundariesTmp);\r\n return pageBoundariesTmp;\r\n };\r\n\r\n const calculateCurrentPage = () => {\r\n let viewPort = calculatePagesInViewport();\r\n if (!scrollArea || !scrollArea.current) return;\r\n var scrollInfo = {\r\n scrollHeight: scrollArea.current.scrollHeight,\r\n offsetHeight: scrollArea.current.offsetHeight,\r\n scrollTop: scrollArea.current.scrollTop\r\n };\r\n\r\n var currentPageNumber = 0;\r\n var shortestDistance = Number.MAX_SAFE_INTEGER;\r\n var middleOfScrollArea = Math.round(scrollArea.current.scrollTop + scrollArea.current.offsetHeight / 2);\r\n\r\n viewPort.forEach(page => {\r\n var middleOfPage = page.page.top + (page.page.bottom - page.page.top) / 2;\r\n var distance = Math.abs(middleOfScrollArea - middleOfPage);\r\n\r\n if (distance < shortestDistance) {\r\n shortestDistance = distance;\r\n currentPageNumber = page.index + 1; //Convert 0 index to page numbers\r\n }\r\n });\r\n\r\n sessionStorage.setItem(`document-${documentId}-page`, currentPageNumber);\r\n setCurrentPage(currentPageNumber);\r\n };\r\n\r\n const scrollToPage = i => {\r\n i = parseInt(i, 10);\r\n\r\n if (currentDocumentLayout.isLoaded && 0 < i && i <= currentDocumentLayout.layout.length) {\r\n var element = document.getElementById(`page-${i}`);\r\n\r\n if (element && scrollArea) {\r\n var top = element.offsetTop - 100;\r\n scrollArea.current.scrollTop = top;\r\n scrollChange();\r\n }\r\n }\r\n };\r\n\r\n const setLastVisitedPage = () => {\r\n var page = sessionStorage.getItem(`document-${documentId}-page`);\r\n scrollToPage(page);\r\n };\r\n\r\n const changeZoom = ratio => {\r\n sessionStorage.setItem('zoomLevel', ratio);\r\n setZoomLevel(ratio, () => {\r\n calculatePageBoundaries();\r\n setLastVisitedPage();\r\n });\r\n };\r\n\r\n return (\r\n
    \r\n {currentDocumentLayout.isLoaded && currentDocument?.pageCount == currentDocumentLayout?.layout.length\r\n ? currentDocumentLayout.layout.map((page, i) => {\r\n return (\r\n \r\n );\r\n })\r\n : null}\r\n {currentDocumentLayout.isLoaded && (\r\n
    \r\n \r\n
    \r\n )}\r\n
    \r\n );\r\n}\r\n\r\nexport default ExtractionOverviewDocumentPanel;\r\n","import { connect } from 'react-redux';\r\n\r\nimport ExtractionOverviewDocumentPanel from 'components/extraction-overview/extraction-overview-document-panel';\r\nimport { getCurrentDocument } from 'store/current-document';\r\n\r\nconst mapStateToProps = ({ data: { currentDocument, currentDocumentLayout, currentProject } }) => ({\r\n currentDocument,\r\n currentDocumentLayout,\r\n currentProject\r\n});\r\n\r\nconst mapDispatchToProps = {\r\n getCurrentDocument\r\n};\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(ExtractionOverviewDocumentPanel);\r\n","import React, { Component } from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport Icon from 'components/shared/icon';\r\nimport ExtractionOverviewHeader from 'components/extraction-overview/extraction-overview-header';\r\nimport ExtractionOverviewGrid from 'components/extraction-overview/extraction-overview-grid';\r\nimport ExtractionOverviewDocumentPanelContainer from 'containers/extraction-overview/extraction-overview-document-viewer-container';\r\nimport classNames from 'classnames';\r\nimport { BLOCK } from './constants';\r\nimport { ITEM_STATUSES } from 'models/project-item';\r\nimport Permissions from 'permissions/permissions';\r\nimport Constants from 'utils/constants';\r\nimport KiraAndGenAIWorkbenchBanner from 'components/header/banner/kira-workbench-banner';\r\nimport DisclaimerBanner from 'components/header/banner/disclaimer-banner';\r\n\r\nclass ExtractionOverview extends Component {\r\n static propTypes = {\r\n currentFolder: PropTypes.object.isRequired,\r\n currentProject: PropTypes.object.isRequired,\r\n extractionOverview: PropTypes.object.isRequired,\r\n loadCurrentFolder: PropTypes.func.isRequired,\r\n loadProjectTemplates: PropTypes.func.isRequired,\r\n projectId: PropTypes.string.isRequired,\r\n setTemplate: PropTypes.func.isRequired,\r\n unsubscribeCurrentFolder: PropTypes.func.isRequired,\r\n updateExtractionOverviewColumnOptions: PropTypes.func.isRequired\r\n };\r\n\r\n state = {\r\n isPendingDeletion: false,\r\n customizedVisibility: {},\r\n isReadOnly: false,\r\n currentDocumentId: 0,\r\n currentPageNumber: 1,\r\n isDocumentToggleSwitchOnOff: false\r\n };\r\n\r\n componentDidMount() {\r\n const { loadProjectTemplates, projectId } = this.props;\r\n loadProjectTemplates({ projectId });\r\n var isDocumentToggleSession = sessionStorage.getItem('isDocumentToggleSwitchOnOff') === 'true' ? true : false;\r\n this.setState({\r\n isReadOnly: Permissions.Project._States.isReadOnly(),\r\n isDocumentToggleSwitchOnOff: isDocumentToggleSession\r\n });\r\n }\r\n\r\n componentWillUnmount() {\r\n this.props.unsubscribeCurrentFolder();\r\n window.removeEventListener('scroll', this.onFileListScroll);\r\n }\r\n customizedVisibilityfunc = v => {\r\n this.setState({ customizedVisibility: v });\r\n };\r\n getPendingDeleteItems = () => {\r\n const { currentFolder } = this.props;\r\n return (currentFolder.children || []).filter(item => item.itemStateId === ITEM_STATUSES.PENDINGDELETION);\r\n };\r\n\r\n openDocument = (documentId, pageNumber) => {\r\n this.setState({ currentDocumentId: documentId, currentPageNumber: pageNumber });\r\n };\r\n\r\n changeDocumentToggle = () => {\r\n const documentToggleValue = this.state.isDocumentToggleSwitchOnOff;\r\n this.setState({ isDocumentToggleSwitchOnOff: !documentToggleValue });\r\n sessionStorage.setItem('isDocumentToggleSwitchOnOff', !documentToggleValue);\r\n };\r\n\r\n isGenAITemplate(){\r\n var { extractionOverview } = this.props;\r\n\r\n if(extractionOverview.selectedTemplate.templateCategoryId == Constants.TemplateCategories.NON_EDITABLE_GENAI_DETAIL_TESTING ||\r\n extractionOverview.selectedTemplate.templateCategoryId == Constants.TemplateCategories.NON_EDITABLE_GENAI_NONDETAIL_TESTING ||\r\n extractionOverview.selectedTemplate.templateCategoryId == Constants.TemplateCategories.Custom_GENAI_NONDETAIL_TESTING){\r\n return true;\r\n }\r\n else {\r\n return false;\r\n }\r\n }\r\n\r\n isAbbyyTemplate(){\r\n var { extractionOverview } = this.props;\r\n\r\n if(extractionOverview.selectedTemplate.templateCategoryId == Constants.TemplateCategories.NON_EDITABLE_DETAIL_TESTING ||\r\n extractionOverview.selectedTemplate.templateCategoryId == Constants.TemplateCategories.DETAIL_TESTING){\r\n return true;\r\n }\r\n else {\r\n return false;\r\n }\r\n }\r\n\r\n render() {\r\n const {\r\n currentProject,\r\n extractionOverview,\r\n projectId,\r\n setTemplate,\r\n currentFolder,\r\n updateExtractionOverviewColumnOptions\r\n } = this.props;\r\n const { currentDocumentId, currentPageNumber, isDocumentToggleSwitchOnOff } = this.state;\r\n const banner = \t\r\n ((extractionOverview.selectedTemplate.templateCategoryId == Constants.TemplateCategories.NON_DETAIL_TESTING && //Banner to be shown if Kira Template and GenAI Toggle is OFF\r\n !currentProject.isGenAIProcessingEnabled) ? 1 : \r\n (extractionOverview.selectedTemplate.templateCategoryId == Constants.TemplateCategories.NON_DETAIL_TESTING && //Banner to be shown if Kira Template and GenAI Toggle is ON\r\n currentProject.isGenAIProcessingEnabled) ? 2 :\r\n ((this.isGenAITemplate()) && (!currentProject.isGenAIProcessingEnabled)) ? 3 : //Banner to be shown if GenAI Template and GenAI Toggle is OFF\r\n ((this.isGenAITemplate()) && (currentProject.isGenAIProcessingEnabled) && \r\n (extractionOverview.templateExtractions.some(item => item.projectItemStatus == ITEM_STATUSES.REPROCESSINGREQUIRED))) ? 4 : 0 //Banner to be shown if GenAI Template and GenAI Toggle is ON and Atleast one Document is in Reprocessing Required Status\r\n )\r\n\r\n return extractionOverview.isTemplatesLoading ? (\r\n \r\n ) : (\r\n \r\n this.customizedVisibilityfunc(v)}\r\n isReadOnly={this.state.isReadOnly}\r\n isDocumentToggleSwitchOnOff={isDocumentToggleSwitchOnOff}\r\n changeDocumentToggle={this.changeDocumentToggle}\r\n />\r\n\r\n {(this.isGenAITemplate() || this.isAbbyyTemplate()) &&\r\n }\r\n\r\n {banner != 0 &&\r\n }\r\n {extractionOverview.templateExtractionFields?.length ? (\r\n
    \r\n \r\n {currentDocumentId && isDocumentToggleSwitchOnOff ? (\r\n \r\n ) : null}\r\n
    \r\n ) : null}\r\n
    \r\n );\r\n }\r\n}\r\n\r\nexport default ExtractionOverview;\r\n","import { connect } from 'react-redux';\r\nimport {\r\n loadCurrentFolder,\r\n createFolder,\r\n currentFolderInvalidate,\r\n unsubscribeCurrentFolder\r\n} from 'store/current-folder';\r\nimport ExtractionOverview from 'components/extraction-overview/extraction-overview';\r\nimport { loadProjectTemplates, setTemplate, updateExtractionOverviewColumnOptions } from 'store/extraction-overview';\r\n\r\nconst mapStateToProps = ({ data: { currentProject, extractionOverview, currentFolder } }) => ({\r\n currentProject,\r\n extractionOverview,\r\n currentFolder,\r\n selectedItems: extractionOverview.templateExtractions?.map(i => i.projectItemId)\r\n});\r\n\r\nconst mapDispatchToProps = {\r\n loadProjectTemplates,\r\n setTemplate,\r\n createFolder,\r\n loadCurrentFolder,\r\n currentFolderInvalidate,\r\n unsubscribeCurrentFolder,\r\n updateExtractionOverviewColumnOptions\r\n};\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(ExtractionOverview);\r\n","import PropTypes from 'prop-types';\r\nimport React, { Component } from 'react';\r\nimport ReactTooltip from 'react-tooltip';\r\nimport Header from 'containers/header/header';\r\nimport ExtractionOverview from 'containers/extraction-overview/extraction-overview-container';\r\nimport NotificationsContainer from 'containers/shared/notifications-container';\r\n\r\nimport Permissions from 'permissions/permissions';\r\nimport history from 'utils/history';\r\n\r\nclass ExtractionOverviewPage extends Component {\r\n static propTypes = {\r\n match: PropTypes.object.isRequired\r\n };\r\n\r\n UNSAFE_componentWillMount() {\r\n if (!Permissions.Project.Analytics.canView()) {\r\n history.push('/');\r\n }\r\n }\r\n\r\n render() {\r\n const { projectId } = this.props.match.params;\r\n\r\n return (\r\n
    \r\n
    \r\n \r\n \r\n \r\n
    \r\n );\r\n }\r\n}\r\n\r\nexport default ExtractionOverviewPage;\r\n","import { FormattedMessage } from 'react-intl';\r\nimport PropTypes from 'prop-types';\r\nimport React, { Component } from 'react';\r\nimport Templates from 'containers/create-template/templates-container';\r\n\r\nclass CreateTemplate extends Component {\r\n static propTypes = {\r\n currentProject: PropTypes.object\r\n };\r\n\r\n render() {\r\n const { currentProject } = this.props;\r\n const BLOCK = 'template-creation-view';\r\n\r\n return (\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n );\r\n }\r\n}\r\n\r\nexport default CreateTemplate;\r\n","import { connect } from 'react-redux';\r\n\r\nimport CreateTemplate from 'components/create-template/create-template';\r\n\r\nconst mapStateToProps = ({ data: { currentProject } }) => ({ currentProject });\r\n\r\nconst mapDispatchToProps = {};\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(CreateTemplate);\r\n","import PropTypes from 'prop-types';\r\nimport React, { Component } from 'react';\r\nimport ReactTooltip from 'react-tooltip';\r\nimport Header from 'containers/header/header';\r\nimport CreateTemplateContainer from 'containers/create-template/create-template';\r\nimport NotificationsContainer from 'containers/shared/notifications-container';\r\n\r\nimport Permissions from 'permissions/permissions';\r\nimport history from 'utils/history';\r\n\r\nclass CreateTemplatePage extends Component {\r\n static propTypes = {\r\n match: PropTypes.object.isRequired\r\n };\r\n\r\n UNSAFE_componentWillMount() {\r\n if (\r\n !Permissions.Project.ExtractionField.canViewTab() ||\r\n !(Permissions.Project.Template.canCreate() && !Permissions.Project._States.isReadOnly())\r\n ) {\r\n history.push('/');\r\n }\r\n }\r\n\r\n render() {\r\n return (\r\n
    \r\n
    \r\n \r\n \r\n \r\n
    \r\n );\r\n }\r\n}\r\n\r\nexport default CreateTemplatePage;\r\n","export const BLOCK = 'landing-page';\r\n\r\nexport const TABLE_HEADERS = {\r\n recentProjects: ['name', 'client', 'edit', 'status'],\r\n translationQueue: ['document', 'language', 'submitted', 'status']\r\n};\r\n","import React from 'react';\r\nimport { FormattedMessage } from 'react-intl';\r\nimport { BLOCK } from './constants';\r\nimport Icon from 'components/shared/icon';\r\nimport { Link } from 'react-router-dom';\r\nimport PropTypes from 'prop-types';\r\nimport ContainerSelectionModal from 'components/project-list/container-selection/modal';\r\nimport Button from 'components/shared/single-click-button';\r\nimport history from 'utils/history';\r\n\r\nimport Permissions from 'permissions/permissions';\r\n\r\nclass ArgusExtraction extends React.Component {\r\n static propTypes = {\r\n currentUser: PropTypes.object.isRequired,\r\n isAllowed: PropTypes.bool.isRequired\r\n };\r\n\r\n state = {\r\n showContainerSelectionModal: false\r\n };\r\n\r\n onContainerSelected = (memberFirmCode, containerCode, countryCode) => {\r\n this.setState({ showContainerSelectionModal: false });\r\n\r\n const { geoCode } = this.props.currentUser;\r\n return this.createProject(geoCode, memberFirmCode, containerCode, countryCode);\r\n };\r\n\r\n createProject = (geoCode, memberFirmCode, containerCode, countryCode) => {\r\n const GEO_PATH = countryCode\r\n ? `${geoCode}_${memberFirmCode}_${containerCode}_${countryCode}`\r\n : `${geoCode}_${memberFirmCode}_${containerCode}`;\r\n\r\n return history.push({\r\n pathname: `/region/${GEO_PATH}/project/creation`\r\n });\r\n };\r\n\r\n onCreateProject = () => {\r\n const { geoCode, memberFirmCode, containerCode, memberFirmContainers } = this.props.currentUser;\r\n const { showContainerSelectionModal } = this.state;\r\n\r\n if (memberFirmContainers && memberFirmContainers.length > 1 && !showContainerSelectionModal) {\r\n // Display member firm container selection modal\r\n this.setState({ showContainerSelectionModal: true });\r\n } else {\r\n // Normal case project creation\r\n return this.createProject(geoCode, memberFirmCode, containerCode);\r\n }\r\n };\r\n\r\n render() {\r\n const { isAllowed, currentUser } = this.props;\r\n const { showContainerSelectionModal } = this.state;\r\n return (\r\n <>\r\n
    \r\n \r\n

    \r\n \r\n

    \r\n
    \r\n

    \r\n \r\n

    \r\n {isAllowed && (\r\n
    \r\n \r\n \r\n \r\n \r\n
    \r\n )}\r\n {Permissions.Global.canViewAdminAccess() && (\r\n
    \r\n \r\n \r\n \r\n
    \r\n )}\r\n this.setState({ showContainerSelectionModal: false })}\r\n onSubmit={this.onContainerSelected}\r\n />\r\n \r\n );\r\n }\r\n}\r\nexport default ArgusExtraction;\r\n","import React from 'react';\r\nimport { FormattedMessage } from 'react-intl';\r\nimport { Link } from 'react-router-dom';\r\nimport { FixedTable, FixedHeader } from 'components/shared/fixed-table';\r\nimport { TABLE_HEADERS } from './constants';\r\nimport PropTypes from 'prop-types';\r\nimport CONSTANTS from 'utils/constants';\r\nimport dateUtil from 'utils/dateUtil';\r\n\r\nimport moment from 'moment';\r\nimport 'moment/min/locales';\r\n\r\nimport Permissions from 'permissions/permissions';\r\nimport Icon from 'components/shared/icon';\r\n\r\nclass LandingPageTable extends React.Component {\r\n static propTypes = {\r\n currentLanguage: PropTypes.object,\r\n data: PropTypes.array.isRequired,\r\n forTable: PropTypes.string.isRequired,\r\n linkTo: PropTypes.func.isRequired\r\n };\r\n\r\n constructor(props) {\r\n super(props);\r\n // This will give us ref to the cell that needs a title on hover\r\n this.nameRefs = [];\r\n this.MATRefs = [];\r\n this.state = {\r\n // Determine whether to show the full name on hover or not\r\n isOverflowed: []\r\n };\r\n }\r\n\r\n // Overflow ellipsis checker so we know how to display long project names\r\n checkOverflow = (ref, hoveredIndex) => {\r\n const isOverflowed = this[ref][hoveredIndex].scrollWidth > this[ref][hoveredIndex].clientWidth;\r\n\r\n if (isOverflowed !== this.state.isOverflowed) {\r\n this.setState({ isOverflowed: { [hoveredIndex]: isOverflowed } });\r\n }\r\n };\r\n\r\n // Get Project Status\r\n getProjectStatus = project => {\r\n const status = Object.keys(CONSTANTS.ProjectStateIds).find(\r\n key => CONSTANTS.ProjectStateIds[key] === project.projectStateId\r\n );\r\n\r\n return project.projectStateId ? status : 'NoStatus';\r\n };\r\n\r\n // Get Project Status\r\n getTranslationStatus = translation => {\r\n const status = Object.keys(CONSTANTS.TranslationStatus).find(\r\n key => CONSTANTS.TranslationStatus[key] === translation.translationStateId\r\n );\r\n\r\n return translation.translationStateId ? status : 'NoStatus';\r\n };\r\n\r\n // Project link class name for enabling and disabling links in project card\r\n getProjectLinkClassname = project => {\r\n const status = this.getProjectStatus(project);\r\n\r\n if (\r\n status === 'softDelete' ||\r\n status === 'copying' ||\r\n (status === 'inCreation' && !Permissions.Project.Settings.canEditCreationState(project))\r\n ) {\r\n return `link-disabled`;\r\n }\r\n return ``;\r\n };\r\n\r\n render() {\r\n const { isOverflowed } = this.state;\r\n const { data, forTable, linkTo, currentLanguage } = this.props;\r\n const tableHeaders = forTable === 'projects' ? TABLE_HEADERS.recentProjects : TABLE_HEADERS.translationQueue;\r\n moment.locale(currentLanguage.localeCode);\r\n return (\r\n \r\n \r\n \r\n \r\n {tableHeaders.map((heading, index) => {\r\n return (\r\n \r\n
    \r\n {heading === 'Status' ?
    : null}\r\n {/* Represents the full heading name without case or spaces */}\r\n \r\n
    \r\n \r\n );\r\n })}\r\n
    \r\n \r\n \r\n {data &&\r\n forTable === 'projects' &&\r\n data.map((project, index) => {\r\n const globalCode = `${project.geoCode}_${project.memberFirmCode}_${project.containerCode}`;\r\n const projectStatus = this.getProjectStatus(project);\r\n const linkClass = this.getProjectLinkClassname(project);\r\n const projectLink = linkTo(project, globalCode);\r\n\r\n return (\r\n \r\n (this.nameRefs[index] = element)}\r\n title={isOverflowed[index] ? project.projectName : ''}\r\n onMouseEnter={() => this.checkOverflow('nameRefs', index)}\r\n onMouseLeave={() => this.setState({ isOverflowed: { [index]: false } })}\r\n >\r\n \r\n {project.projectName || 'Untitled Name'}\r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n })}\r\n {data &&\r\n forTable === 'translations' &&\r\n data.map((translation, index) => {\r\n const translationStatus = this.getTranslationStatus(translation);\r\n const timeFromNow = moment.utc(translation.submittedDate).fromNow();\r\n\r\n return (\r\n \r\n (this.nameRefs[index] = element)}\r\n title={translation.sourceFileName}\r\n onMouseEnter={() => this.checkOverflow('nameRefs', index)}\r\n onMouseLeave={() => this.setState({ isOverflowed: { [index]: false } })}\r\n >\r\n {translation.translationStateId === 5 ? (\r\n {translation.sourceFileName}\r\n ) : (\r\n translation.sourceFileName\r\n )}\r\n \r\n \r\n \r\n \r\n \r\n );\r\n })}\r\n \r\n
    {project.clientName ? project.clientName : ''}{project.lastUpdatedDate ? dateUtil.formatDate(project.lastUpdatedDate) : '-'}\r\n
    \r\n \r\n
    \r\n {translation.sourceLanguageName}\r\n \r\n {translation.targetLanguageName}\r\n {timeFromNow}\r\n
    \r\n \r\n
    \r\n
    \r\n );\r\n }\r\n}\r\nexport default LandingPageTable;\r\n","import React from 'react';\r\nimport { FormattedMessage } from 'react-intl';\r\nimport { BLOCK } from './constants';\r\nimport moment from 'moment';\r\nimport EmptyState from 'components/file-browser/file-list/empty-state';\r\nimport CONSTANTS from 'utils/constants';\r\nimport { SORT_FUNCTIONS } from 'components/project-list/constants';\r\nimport Permissions from 'permissions/permissions';\r\nimport PropTypes from 'prop-types';\r\nimport Icon from 'components/shared/icon';\r\nimport LandingPageTable from 'components/landing-page/landing-page-table';\r\nimport emptyAccessDeniedImage from 'images/empty_state_access_denied.svg';\r\n\r\nclass RecentProjects extends React.Component {\r\n static propTypes = {\r\n currentLanguage: PropTypes.object,\r\n currentProject: PropTypes.object,\r\n currentUser: PropTypes.object,\r\n isAllowed: PropTypes.bool.isRequired,\r\n projectList: PropTypes.object\r\n };\r\n\r\n state = {\r\n sortKey: 'projectName',\r\n sortAsc: true\r\n };\r\n\r\n // Filter deleted projects for those who cannot view delete projects\r\n filterDeletedProjects = () => {\r\n const { projectList } = this.props;\r\n\r\n return projectList.projects.filter(\r\n project =>\r\n Permissions.Project.canViewDeletedProjects({\r\n geoCode: project.geoCode,\r\n memberFirmCode: project.memberFirmCode,\r\n containerCode: project.containerCode\r\n }) || project.projectStateId !== CONSTANTS.ProjectStateIds.softDelete\r\n );\r\n };\r\n\r\n // multiColumnSort can sort a list of values by multiple columns in different orders\r\n multiColumnSort = (values, columns, orders) => {\r\n return values.slice().sort((a, b) => {\r\n return columns.reduce((compared, key, idx) => {\r\n // Stop when we have a non-zero comparison result (i.e: previous columns were not equal)\r\n if (compared !== 0) {\r\n return compared;\r\n }\r\n\r\n // Compare function\r\n return orders[idx] * SORT_FUNCTIONS[key](a[key], b[key]);\r\n }, 0);\r\n });\r\n };\r\n\r\n // Normal section that can be organized by sorting keys\r\n getNormalProjects = () => {\r\n const { sortKey, sortAsc } = this.state;\r\n const projects = this.filterDeletedProjects();\r\n\r\n // The order in which to sort our columns (1 is asc, -1 is desc)\r\n const order = sortAsc ? [1, 1] : [-1, 1];\r\n\r\n return this.multiColumnSort(projects, [sortKey, 'projectName'], order);\r\n };\r\n\r\n // Load the list of recent projects from localStorage\r\n getRecentProjects = projectList => {\r\n const { currentUser } = this.props;\r\n // Load the list from localStorage\r\n const cachedRecentProjects = JSON.parse(localStorage.getItem(`recentProjects-${currentUser.userId}`)) || [];\r\n return (\r\n cachedRecentProjects\r\n // Filter out any projects were accessed more than 7 days ago\r\n .filter(({ timestamp }) => !moment(timestamp).isBefore(moment().subtract(7, 'days')))\r\n // Map each of the cached project keys to one of the projects loaded from the API\r\n .map(({ projectKey: recentProjectKey }) =>\r\n projectList.find(({ projectKey }) => projectKey === recentProjectKey)\r\n )\r\n // Filter out any projects that can't be found\r\n .filter(project => !!project)\r\n );\r\n };\r\n\r\n // Get Project Status\r\n getProjectStatus = project => {\r\n const status = Object.keys(CONSTANTS.ProjectStateIds).find(\r\n key => CONSTANTS.ProjectStateIds[key] === project.projectStateId\r\n );\r\n\r\n return project.projectStateId ? status : 'NoStatus';\r\n };\r\n\r\n isActionRequired = project => {\r\n return Permissions.Project.canApproveArchive(project);\r\n };\r\n\r\n getLinkTo = project => {\r\n const globalCode = `${project.geoCode}_${project.memberFirmCode}_${project.containerCode}`;\r\n const status = this.getProjectStatus(project);\r\n var pathname = '';\r\n\r\n const projectRegion = {\r\n geoCode: project.geoCode,\r\n memberFirmCode: project.memberFirmCode,\r\n containerCode: project.containerCode\r\n };\r\n\r\n if (status === 'started' || status === 'pendingArchive' || status === 'archived') {\r\n if (Permissions.Project.Document.canView(project)) {\r\n pathname = `/region/${globalCode}/project/${project.projectId}/folder/root`;\r\n } else if (Permissions.Project.Settings.canView(project, projectRegion)) {\r\n pathname = `/region/${globalCode}/project/${project.projectId}/settings`;\r\n }\r\n } else if (status === 'inCreation') {\r\n pathname =\r\n project.sourceProjectId !== null\r\n ? `/region/${globalCode}/project/${project.projectId}/copy`\r\n : `/region/${globalCode}/project/${project.projectId}/creation`;\r\n }\r\n\r\n return {\r\n pathname: pathname\r\n };\r\n };\r\n\r\n render() {\r\n const { currentUser, isAllowed, projectList, currentLanguage } = this.props;\r\n\r\n if (!isAllowed) {\r\n return (\r\n }\r\n description={\r\n \r\n }\r\n img={emptyAccessDeniedImage}\r\n />\r\n );\r\n }\r\n\r\n if (projectList.error !== null && projectList.projects.length <= 0) {\r\n return (\r\n
    \r\n \r\n
    \r\n );\r\n }\r\n\r\n if (projectList.isLoading || !projectList.projects) {\r\n return (\r\n
    \r\n \r\n
    \r\n );\r\n }\r\n\r\n const otherProjects = this.getNormalProjects();\r\n const recentProjects = this.getRecentProjects(otherProjects).slice(0, 4);\r\n const actionRequiredProjects = projectList.projects.filter(p => this.isActionRequired(p));\r\n const showActionRequiredProjects = currentUser.isPPD && actionRequiredProjects.length > 0;\r\n\r\n return (\r\n projectList.projects &&\r\n !projectList.error && (\r\n
    \r\n

    \r\n {showActionRequiredProjects ? (\r\n \r\n ) : (\r\n \r\n )}\r\n

    \r\n {(recentProjects && recentProjects.length > 0) || showActionRequiredProjects ? (\r\n \r\n ) : (\r\n
    \r\n )}\r\n
    \r\n )\r\n );\r\n }\r\n}\r\n\r\nexport default RecentProjects;\r\n","import React from 'react';\r\nimport { FormattedMessage } from 'react-intl';\r\nimport { BLOCK } from './constants';\r\nimport CONSTANTS from 'utils/constants';\r\nimport Icon from 'components/shared/icon';\r\nimport { Link } from 'react-router-dom';\r\nimport PropTypes from 'prop-types';\r\n\r\nclass ArgusTranslation extends React.Component {\r\n static propTypes = {\r\n isAllowed: PropTypes.bool.isRequired\r\n };\r\n render() {\r\n const { isAllowed } = this.props;\r\n return (\r\n <>\r\n
    \r\n \r\n

    \r\n \r\n

    \r\n
    \r\n

    \r\n \r\n

    \r\n {isAllowed && (\r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n )}\r\n \r\n );\r\n }\r\n}\r\nexport default ArgusTranslation;\r\n","var _desc, _defs, _g;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport * as React from \"react\";\nfunction SvgEmptyStateProject(_ref, svgRef) {\n let {\n title,\n titleId,\n ...props\n } = _ref;\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: \"271px\",\n height: \"188px\",\n viewBox: \"0 0 271 188\",\n xmlns: \"http://www.w3.org/2000/svg\",\n xmlnsXlink: \"http://www.w3.org/1999/xlink\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title === undefined ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, \"empty_state_project\") : title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _desc || (_desc = /*#__PURE__*/React.createElement(\"desc\", null, \"Created with Sketch.\")), _defs || (_defs = /*#__PURE__*/React.createElement(\"defs\", null, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M5,8.0189219e-15 L123.999962,7.20666202e-14 L123.999962,7.54951657e-14 C126.761386,6.76299836e-14 128.999962,2.23857625 128.999962,5 L128.999962,108.999424 L128.999962,108.999424 C128.999962,111.760847 126.761386,113.999424 123.999962,113.999424 L5,113.999424 L5,113.999424 C2.23857625,113.999424 3.38176876e-16,111.760847 0,108.999424 L0,5 L-1.77635684e-15,5 C-2.11453371e-15,2.23857625 2.23857625,7.61269845e-15 5,7.10542736e-15 Z\",\n id: \"path-1\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M5,86 L123.999962,86 L123.999962,86 C126.761386,86 128.999962,88.2385763 128.999962,91 L128.999962,109 L128.999962,109 C128.999962,111.761424 126.761386,114 123.999962,114 L5,114 L5,114 C2.23857625,114 1.2263553e-15,111.761424 8.8817842e-16,109 L0,91 L0,91 C-3.38176876e-16,88.2385763 2.23857625,86 5,86 Z\",\n id: \"path-2\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M5,8.0189219e-15 L123.999962,7.20666202e-14 L123.999962,7.54951657e-14 C126.761386,6.76299836e-14 128.999962,2.23857625 128.999962,5 L128.999962,108.999424 L128.999962,108.999424 C128.999962,111.760847 126.761386,113.999424 123.999962,113.999424 L5,113.999424 L5,113.999424 C2.23857625,113.999424 3.38176876e-16,111.760847 0,108.999424 L0,5 L-1.77635684e-15,5 C-2.11453371e-15,2.23857625 2.23857625,7.61269845e-15 5,7.10542736e-15 Z\",\n id: \"path-3\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M5,86 L123.999962,86 L123.999962,86 C126.761386,86 128.999962,88.2385763 128.999962,91 L128.999962,109 L128.999962,109 C128.999962,111.761424 126.761386,114 123.999962,114 L5,114 L5,114 C2.23857625,114 1.2263553e-15,111.761424 8.8817842e-16,109 L0,91 L0,91 C-3.38176876e-16,88.2385763 2.23857625,86 5,86 Z\",\n id: \"path-4\"\n }))), _g || (_g = /*#__PURE__*/React.createElement(\"g\", {\n id: \"Icons\",\n stroke: \"none\",\n strokeWidth: 1,\n fill: \"none\",\n fillRule: \"evenodd\"\n }, /*#__PURE__*/React.createElement(\"g\", {\n id: \"Artboard\",\n transform: \"translate(-549.000000, -252.000000)\"\n }, /*#__PURE__*/React.createElement(\"g\", {\n id: \"empty_state_project\",\n transform: \"translate(549.000000, 252.000000)\"\n }, /*#__PURE__*/React.createElement(\"circle\", {\n id: \"Oval-2-Copy\",\n fillOpacity: 0.04,\n fill: \"#00A3E0\",\n cx: 148.5,\n cy: 98.5,\n r: 83.5\n }), /*#__PURE__*/React.createElement(\"g\", {\n id: \"Group-3-Copy-2\",\n transform: \"translate(0.662967, 31.688051)\",\n fill: \"#00A3E0\"\n }, /*#__PURE__*/React.createElement(\"rect\", {\n id: \"Rectangle-8-Copy-34\",\n x: 0,\n y: 12,\n width: 29.8451819,\n height: 5.53859252,\n rx: 2.76929626\n }), /*#__PURE__*/React.createElement(\"rect\", {\n id: \"Rectangle-8-Copy-35\",\n transform: \"translate(14.769296, 14.922591) rotate(90.000000) translate(-14.769296, -14.922591) \",\n x: -0.153294698,\n y: 12.1532947,\n width: 29.8451819,\n height: 5.53859252,\n rx: 2.76929626\n })), /*#__PURE__*/React.createElement(\"g\", {\n id: \"Group-4-Copy-2\",\n transform: \"translate(207.187968, 0.213052)\",\n fill: \"#00A3E0\"\n }, /*#__PURE__*/React.createElement(\"rect\", {\n id: \"Rectangle-8-Copy-36\",\n x: 0,\n y: 7,\n width: 18,\n height: 3.34039396,\n rx: 1.67019698\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M10.340394,1.67019698 L10.340394,16.329803 C10.340394,17.2522273 9.5926213,18 8.67019698,18 C7.74777266,18 7,17.2522273 7,16.329803 L7,1.67019698 C7,0.747772659 7.74777266,-1.70530257e-13 8.67019698,-1.70530257e-13 C9.5926213,-1.70530257e-13 10.340394,0.747772659 10.340394,1.67019698 Z\",\n id: \"Rectangle-8-Copy-37\"\n })), /*#__PURE__*/React.createElement(\"g\", {\n id: \"Group-6-Copy\",\n transform: \"translate(108.223917, 90.283586) rotate(7.000000) translate(-108.223917, -90.283586) translate(43.223917, 33.283586)\"\n }, /*#__PURE__*/React.createElement(\"g\", {\n id: \"Rectangle-5-Copy\"\n }, /*#__PURE__*/React.createElement(\"use\", {\n fill: \"#FFFFFF\",\n fillRule: \"evenodd\",\n xlinkHref: \"#path-1\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n stroke: \"#E6E6E6\",\n strokeWidth: 4,\n d: \"M5,2 C3.34314575,2 2,3.34314575 2,5 L2,108.999424 C2,110.656278 3.34314575,111.999424 5,111.999424 L123.999962,111.999424 C125.656817,111.999424 126.999962,110.656278 126.999962,108.999424 L126.999962,5 C126.999962,3.34314575 125.656817,2 123.999962,2 L5,2 Z\"\n })), /*#__PURE__*/React.createElement(\"g\", {\n id: \"Rectangle-5-Copy-2\"\n }, /*#__PURE__*/React.createElement(\"use\", {\n fill: \"#F5FCFE\",\n fillRule: \"evenodd\",\n xlinkHref: \"#path-2\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n stroke: \"#E6E6E6\",\n strokeWidth: 4,\n d: \"M5,88 C3.34314575,88 2,89.3431458 2,91 L2,109 C2,110.656854 3.34314575,112 5,112 L123.999962,112 C125.656817,112 126.999962,110.656854 126.999962,109 L126.999962,91 C126.999962,89.3431458 125.656817,88 123.999962,88 L5,88 Z\"\n })), /*#__PURE__*/React.createElement(\"rect\", {\n id: \"Rectangle-8-Copy-14\",\n fill: \"#E6E6E6\",\n x: 113,\n y: 12,\n width: 4,\n height: 10,\n rx: 2\n }), /*#__PURE__*/React.createElement(\"rect\", {\n id: \"Rectangle-8-Copy-29\",\n fill: \"#00A3E0\",\n x: 91,\n y: 46,\n width: 6,\n height: 6,\n rx: 3\n }), /*#__PURE__*/React.createElement(\"rect\", {\n id: \"Rectangle-8-Copy-31\",\n fill: \"#E6E6E6\",\n x: 12,\n y: 60,\n width: 16,\n height: 16,\n rx: 8\n }), /*#__PURE__*/React.createElement(\"rect\", {\n id: \"Rectangle-8-Copy-30\",\n fill: \"#E6E6E6\",\n x: 101,\n y: 47,\n width: 16,\n height: 4,\n rx: 2\n }), /*#__PURE__*/React.createElement(\"rect\", {\n id: \"Rectangle-8-Copy-32\",\n fill: \"#E6E6E6\",\n x: 33.6053222,\n y: 61.6227786,\n width: 64,\n height: 4,\n rx: 2\n }), /*#__PURE__*/React.createElement(\"rect\", {\n id: \"Rectangle-8-Copy-33\",\n fill: \"#E6E6E6\",\n x: 33.6053222,\n y: 69.6227786,\n width: 43,\n height: 4,\n rx: 2\n }), /*#__PURE__*/React.createElement(\"rect\", {\n id: \"Rectangle-8-Copy-38\",\n fill: \"#00A3E0\",\n x: 12,\n y: 98,\n width: 43,\n height: 4,\n rx: 2\n }), /*#__PURE__*/React.createElement(\"rect\", {\n id: \"Rectangle-8-Copy-39\",\n fill: \"#00A3E0\",\n x: 101,\n y: 98,\n width: 16,\n height: 4,\n rx: 2\n }), /*#__PURE__*/React.createElement(\"rect\", {\n id: \"Rectangle-8-Copy-6\",\n fill: \"#E6E6E6\",\n x: 12,\n y: 12,\n width: 48,\n height: 4,\n rx: 2\n }), /*#__PURE__*/React.createElement(\"rect\", {\n id: \"Rectangle-8-Copy-28\",\n fill: \"#E6E6E6\",\n x: 12,\n y: 47,\n width: 64,\n height: 4,\n rx: 2\n }), /*#__PURE__*/React.createElement(\"rect\", {\n id: \"Rectangle-8-Copy-27\",\n fill: \"#E6E6E6\",\n x: 12,\n y: 22,\n width: 32,\n height: 4,\n rx: 2\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M5,2 L124,2 L5,2 Z\",\n id: \"Rectangle-5-Copy\",\n stroke: \"#00A3E0\",\n strokeWidth: 4\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M3.6691975,0.6691975 C3.6276949,2.00254431 3.96102823,2.66921772 4.6691975,2.66921772 C4.73880994,2.66921772 4.82214622,2.66921772 4.91920635,2.66921772 C5.88569977,2.66921772 6.6691975,3.56464369 6.6691975,4.66920761 C6.6691975,5.77377153 5.88569977,6.6691975 4.91920635,6.6691975 C4.82628339,6.6691975 4.7429471,6.6691975 4.6691975,6.6691975 C1.20491752,6.6691975 -0.3308025,3.89918618 -0.3308025,1.6691975 C-0.3308025,-0.560791178 2.70270407,0.6691975 3.6691975,0.6691975 Z\",\n id: \"Rectangle-5-Copy-3\",\n fill: \"#00A3E0\",\n fillRule: \"nonzero\",\n transform: \"translate(3.169198, 3.500000) rotate(90.000000) translate(-3.169198, -3.500000) \"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M126.36921,0.6691975 C126.327707,2.00254431 126.66104,2.66921772 127.36921,2.66921772 C127.438822,2.66921772 127.522158,2.66921772 127.619219,2.66921772 C128.585712,2.66921772 129.36921,3.56464369 129.36921,4.66920761 C129.36921,5.77377153 128.585712,6.6691975 127.619219,6.6691975 C127.526296,6.6691975 127.442959,6.6691975 127.36921,6.6691975 C123.90493,6.6691975 122.36921,3.89918618 122.36921,1.6691975 C122.36921,-0.560791178 125.402716,0.6691975 126.36921,0.6691975 Z\",\n id: \"Rectangle-5-Copy-4\",\n fill: \"#00A3E0\",\n fillRule: \"nonzero\",\n transform: \"translate(125.869210, 3.500000) scale(-1, 1) rotate(90.000000) translate(-125.869210, -3.500000) \"\n })), /*#__PURE__*/React.createElement(\"g\", {\n id: \"Group-6\",\n transform: \"translate(192.337033, 113.580737) rotate(-20.000000) translate(-192.337033, -113.580737) translate(127.337033, 56.580737)\"\n }, /*#__PURE__*/React.createElement(\"g\", {\n id: \"Rectangle-5-Copy\"\n }, /*#__PURE__*/React.createElement(\"use\", {\n fill: \"#FFFFFF\",\n fillRule: \"evenodd\",\n xlinkHref: \"#path-3\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n stroke: \"#E6E6E6\",\n strokeWidth: 4,\n d: \"M5,2 C3.34314575,2 2,3.34314575 2,5 L2,108.999424 C2,110.656278 3.34314575,111.999424 5,111.999424 L123.999962,111.999424 C125.656817,111.999424 126.999962,110.656278 126.999962,108.999424 L126.999962,5 C126.999962,3.34314575 125.656817,2 123.999962,2 L5,2 Z\"\n })), /*#__PURE__*/React.createElement(\"g\", {\n id: \"Rectangle-5-Copy-2\"\n }, /*#__PURE__*/React.createElement(\"use\", {\n fill: \"#F5FCFE\",\n fillRule: \"evenodd\",\n xlinkHref: \"#path-4\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n stroke: \"#E6E6E6\",\n strokeWidth: 4,\n d: \"M5,88 C3.34314575,88 2,89.3431458 2,91 L2,109 C2,110.656854 3.34314575,112 5,112 L123.999962,112 C125.656817,112 126.999962,110.656854 126.999962,109 L126.999962,91 C126.999962,89.3431458 125.656817,88 123.999962,88 L5,88 Z\"\n })), /*#__PURE__*/React.createElement(\"rect\", {\n id: \"Rectangle-8-Copy-14\",\n fill: \"#E6E6E6\",\n x: 113,\n y: 12,\n width: 4,\n height: 10,\n rx: 2\n }), /*#__PURE__*/React.createElement(\"rect\", {\n id: \"Rectangle-8-Copy-29\",\n fill: \"#00A3E0\",\n x: 91,\n y: 46,\n width: 6,\n height: 6,\n rx: 3\n }), /*#__PURE__*/React.createElement(\"rect\", {\n id: \"Rectangle-8-Copy-31\",\n fill: \"#E6E6E6\",\n x: 12,\n y: 60,\n width: 16,\n height: 16,\n rx: 8\n }), /*#__PURE__*/React.createElement(\"rect\", {\n id: \"Rectangle-8-Copy-30\",\n fill: \"#E6E6E6\",\n x: 101,\n y: 47,\n width: 16,\n height: 4,\n rx: 2\n }), /*#__PURE__*/React.createElement(\"rect\", {\n id: \"Rectangle-8-Copy-32\",\n fill: \"#E6E6E6\",\n x: 33.6053222,\n y: 61.6227786,\n width: 64,\n height: 4,\n rx: 2\n }), /*#__PURE__*/React.createElement(\"rect\", {\n id: \"Rectangle-8-Copy-33\",\n fill: \"#E6E6E6\",\n x: 33.6053222,\n y: 69.6227786,\n width: 43,\n height: 4,\n rx: 2\n }), /*#__PURE__*/React.createElement(\"rect\", {\n id: \"Rectangle-8-Copy-38\",\n fill: \"#00A3E0\",\n x: 12,\n y: 98,\n width: 43,\n height: 4,\n rx: 2\n }), /*#__PURE__*/React.createElement(\"rect\", {\n id: \"Rectangle-8-Copy-39\",\n fill: \"#00A3E0\",\n x: 101,\n y: 98,\n width: 16,\n height: 4,\n rx: 2\n }), /*#__PURE__*/React.createElement(\"rect\", {\n id: \"Rectangle-8-Copy-6\",\n fill: \"#E6E6E6\",\n x: 12,\n y: 12,\n width: 48,\n height: 4,\n rx: 2\n }), /*#__PURE__*/React.createElement(\"rect\", {\n id: \"Rectangle-8-Copy-28\",\n fill: \"#E6E6E6\",\n x: 12,\n y: 47,\n width: 64,\n height: 4,\n rx: 2\n }), /*#__PURE__*/React.createElement(\"rect\", {\n id: \"Rectangle-8-Copy-27\",\n fill: \"#E6E6E6\",\n x: 12,\n y: 22,\n width: 32,\n height: 4,\n rx: 2\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M5,2 L124,2 L5,2 Z\",\n id: \"Rectangle-5-Copy\",\n stroke: \"#00A3E0\",\n strokeWidth: 4\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M3.6691975,0.6691975 C3.6276949,2.00254431 3.96102823,2.66921772 4.6691975,2.66921772 C4.73880994,2.66921772 4.82214622,2.66921772 4.91920635,2.66921772 C5.88569977,2.66921772 6.6691975,3.56464369 6.6691975,4.66920761 C6.6691975,5.77377153 5.88569977,6.6691975 4.91920635,6.6691975 C4.82628339,6.6691975 4.7429471,6.6691975 4.6691975,6.6691975 C1.20491752,6.6691975 -0.3308025,3.89918618 -0.3308025,1.6691975 C-0.3308025,-0.560791178 2.70270407,0.6691975 3.6691975,0.6691975 Z\",\n id: \"Rectangle-5-Copy-3\",\n fill: \"#00A3E0\",\n fillRule: \"nonzero\",\n transform: \"translate(3.169198, 3.500000) rotate(90.000000) translate(-3.169198, -3.500000) \"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M126.36921,0.6691975 C126.327707,2.00254431 126.66104,2.66921772 127.36921,2.66921772 C127.438822,2.66921772 127.522158,2.66921772 127.619219,2.66921772 C128.585712,2.66921772 129.36921,3.56464369 129.36921,4.66920761 C129.36921,5.77377153 128.585712,6.6691975 127.619219,6.6691975 C127.526296,6.6691975 127.442959,6.6691975 127.36921,6.6691975 C123.90493,6.6691975 122.36921,3.89918618 122.36921,1.6691975 C122.36921,-0.560791178 125.402716,0.6691975 126.36921,0.6691975 Z\",\n id: \"Rectangle-5-Copy-4\",\n fill: \"#00A3E0\",\n fillRule: \"nonzero\",\n transform: \"translate(125.869210, 3.500000) scale(-1, 1) rotate(90.000000) translate(-125.869210, -3.500000) \"\n })))))));\n}\nconst ForwardRef = /*#__PURE__*/React.forwardRef(SvgEmptyStateProject);\nexport default __webpack_public_path__ + \"static/media/empty_state_project.fd5a62f9f6359fe63cda6d086763f717.svg\";\nexport { ForwardRef as ReactComponent };","import React from 'react';\r\nimport { FormattedMessage } from 'react-intl';\r\nimport { BLOCK } from './constants';\r\nimport { Link } from 'react-router-dom';\r\nimport CONSTANTS from 'utils/constants';\r\nimport LandingPageTable from 'components/landing-page/landing-page-table';\r\nimport PropTypes from 'prop-types';\r\nimport EmptyState from 'components/file-browser/file-list/empty-state';\r\nimport emptyStateImage from 'images/empty_state_project.svg';\r\nimport emptyAccessDeniedImage from 'images/empty_state_access_denied.svg';\r\n\r\nclass TranslationQueue extends React.Component {\r\n static propTypes = {\r\n currentLanguage: PropTypes.object,\r\n isAllowed: PropTypes.bool.isRequired,\r\n translationList: PropTypes.object.isRequired\r\n };\r\n render() {\r\n const { isAllowed, translationList, currentLanguage } = this.props;\r\n\r\n if (!isAllowed) {\r\n const link = (\r\n \r\n \r\n \r\n );\r\n return (\r\n }\r\n description={\r\n \r\n }\r\n img={emptyAccessDeniedImage}\r\n customClass=\"small\"\r\n />\r\n );\r\n }\r\n\r\n return (\r\n \r\n {!translationList.isTranslationsLoading && translationList.translations.length > 0 ? (\r\n <>\r\n

    \r\n \r\n

    \r\n {}}\r\n currentLanguage={currentLanguage}\r\n />\r\n \r\n ) : (\r\n
    \r\n }\r\n description={}\r\n img={emptyStateImage}\r\n />\r\n
    \r\n )}\r\n \r\n );\r\n }\r\n}\r\nexport default TranslationQueue;\r\n","import React, { Component } from 'react';\r\nimport PropTypes from 'prop-types';\r\n\r\nimport ArgusExtraction from './argus-extraction';\r\nimport RecentProjects from './recent-projects';\r\nimport ArgusTranslation from './argus-translation';\r\nimport TranslationQueue from './translation-queue';\r\n\r\nclass LandingPage extends Component {\r\n static propTypes = {\r\n currentLanguage: PropTypes.object,\r\n currentProject: PropTypes.object,\r\n currentUser: PropTypes.object,\r\n history: PropTypes.object,\r\n loadProjectList: PropTypes.func.isRequired,\r\n loadTranslationsList: PropTypes.func.isRequired,\r\n projectList: PropTypes.object,\r\n translations: PropTypes.object\r\n };\r\n\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n isAllowed:\r\n props.currentUser && props.currentUser.accessibleFeatures\r\n ? props.currentUser.accessibleFeatures.reduce((obj, item) => {\r\n return {\r\n ...obj,\r\n [item['featureId']]: item\r\n };\r\n }, {})\r\n : {}\r\n };\r\n }\r\n\r\n componentDidMount() {\r\n const { isAllowed } = this.state;\r\n const { loadProjectList, loadTranslationsList } = this.props;\r\n\r\n if (isAllowed.hasOwnProperty('0')) {\r\n loadProjectList();\r\n }\r\n\r\n if (isAllowed.hasOwnProperty('1')) {\r\n loadTranslationsList();\r\n }\r\n }\r\n\r\n render() {\r\n const { currentProject, currentUser, projectList, translations, currentLanguage } = this.props;\r\n const { isAllowed } = this.state;\r\n\r\n return (\r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n );\r\n }\r\n}\r\n\r\nexport default LandingPage;\r\n","import { connect } from 'react-redux';\r\n\r\nimport { loadProjectList } from 'store/project-list';\r\nimport { loadTranslationsList } from 'store/translations';\r\nimport LandingPage from 'components/landing-page/landing-page';\r\n\r\nconst mapStateToProps = ({ data: { projectList, currentProject, translations, currentLanguage } }) => ({\r\n projectList,\r\n currentProject,\r\n translations,\r\n currentLanguage\r\n});\r\n\r\nconst mapDispatchToProps = {\r\n loadProjectList,\r\n loadTranslationsList\r\n};\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(LandingPage);\r\n","import PropTypes from 'prop-types';\r\nimport React, { Component } from 'react';\r\nimport ReactTooltip from 'react-tooltip';\r\nimport Footer from 'containers/footer/footer';\r\nimport Header from 'containers/header/header';\r\nimport LandingPageContainer from 'containers/landing-page/landing-page-container';\r\nimport NotificationsContainer from 'containers/shared/notifications-container';\r\n\r\nimport { getHomeRegion, setCurrentRegion } from 'store/api';\r\nimport Permissions from 'permissions/permissions';\r\nimport history from 'utils/history';\r\n\r\nclass LandingPage extends Component {\r\n static propTypes = {\r\n match: PropTypes.object.isRequired\r\n };\r\n\r\n UNSAFE_componentWillMount() {\r\n setCurrentRegion(getHomeRegion());\r\n\r\n if (!Permissions.Global.canViewProjects()) {\r\n history.push('/unauthorized');\r\n }\r\n }\r\n\r\n render() {\r\n return (\r\n
    \r\n
    \r\n \r\n
    \r\n \r\n \r\n
    \r\n );\r\n }\r\n}\r\n\r\nexport default LandingPage;\r\n","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { Switch } from 'react-router';\r\nimport { setCurrentRegion } from 'store/api';\r\n\r\n// Routing components\r\nimport ProtectedRoute from 'components/app/routing/protected-route';\r\n\r\n// Application pages\r\nimport CompareBrowserPage from 'components/pages/compare-browser';\r\nimport ComparePage from 'components/pages/compare';\r\nimport DocumentViewer from 'components/pages/document-viewer';\r\nimport EditExtractionsPage from 'components/pages/edit-extractions';\r\nimport FileBrowserPage from 'components/pages/file-browser';\r\nimport ProjectCreationPage from 'components/pages/project-creation';\r\nimport QuickStudyPage from 'components/pages/quick-study';\r\nimport UserManagementPage from 'containers/user-management/user-management-container';\r\nimport UserActivationSettingsPage from 'components/user-management/user-activation-settings-page';\r\nimport VisualsPage from 'components/pages/visuals';\r\nimport AnalyticsPage from 'components/pages/analytics';\r\nimport ReportsPage from 'components/pages/reports';\r\nimport TagsPage from 'components/pages/tags';\r\nimport ReviewStatusPage from 'components/pages/review-status';\r\nimport ExtractionOverviewPage from 'components/pages/extraction-overview';\r\nimport CreateTemplatePage from 'components/pages/create-template';\r\nimport LandingPage from 'components/pages/landing-page';\r\n// Region component wraps all routes that contain API region/geo codes to ensure\r\n// the correct api is set before the route is rendered\r\nclass Region extends React.Component {\r\n static propTypes = {\r\n authenticateFunction: PropTypes.func,\r\n authenticated: PropTypes.bool,\r\n match: PropTypes.object\r\n };\r\n\r\n UNSAFE_componentWillMount() {\r\n setCurrentRegion(this.props.match.params.regionId);\r\n }\r\n\r\n UNSAFE_componentWillReceiveProps(nextProps) {\r\n const currUrlRegion = this.props.match.params.regionId;\r\n const nextUrlRegion = nextProps.match.params.regionId;\r\n\r\n if (currUrlRegion !== nextUrlRegion) {\r\n setCurrentRegion(nextUrlRegion);\r\n }\r\n }\r\n\r\n render() {\r\n const { authenticateFunction, authenticated } = this.props;\r\n\r\n return (\r\n \r\n {/* Edit Extractions Page */}\r\n \r\n\r\n {/* Project Creation Page */}\r\n \r\n\r\n {/* Project Settings Page */}\r\n \r\n\r\n {/* Project Settings Page for project details */}\r\n \r\n\r\n {/* Project Settings Page for Team members page */}\r\n \r\n\r\n {/* Project Copy Page */}\r\n \r\n\r\n {/* Create Template Page */}\r\n \r\n\r\n {/* File List Page */}\r\n \r\n\r\n {/* Document Viewer Page */}\r\n \r\n\r\n {/* Comparison Browser Page */}\r\n \r\n\r\n {/* Visuals Page */}\r\n \r\n\r\n {/* Tags Page */}\r\n \r\n\r\n {/* Review Status Page */}\r\n \r\n\r\n {/* Extraction Overview Page */}\r\n \r\n\r\n {/* Analytics Page */}\r\n \r\n\r\n {/* User Management Page */}\r\n \r\n\r\n {/* User Activation Settings Page */}\r\n \r\n\r\n {/* Reports Page */}\r\n \r\n\r\n {/* Comparison Page */}\r\n \r\n\r\n {/* Admin Pages */}\r\n \r\n \r\n \r\n \r\n \r\n );\r\n }\r\n}\r\n\r\nexport default Region;\r\n","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { IntlProvider } from 'react-intl';\r\nimport { addLocaleData } from 'react-intl';\r\nimport moment from 'moment';\r\n\r\nimport enErrors from 'containers/intl/messages/ui-errors.json';\r\nimport enMessages from 'containers/intl/messages/ui-general.json';\r\n\r\nimport * as localeData from './language-import.js';\r\n\r\nfor (var key in localeData) {\r\n addLocaleData([...localeData[key]]);\r\n}\r\n\r\nconst LANGUAGE_CACHE_TIME_SECONDS = 300;\r\n\r\nclass _Intl extends React.Component {\r\n static propTypes = {\r\n authenticated: PropTypes.bool,\r\n children: PropTypes.node,\r\n languageData: PropTypes.object,\r\n languages: PropTypes.object,\r\n loadLanguageData: PropTypes.func.isRequired,\r\n loadLanguages: PropTypes.func.isRequired,\r\n currentLanguage: PropTypes.object,\r\n setLanguage: PropTypes.func,\r\n locale: PropTypes.string.isRequired\r\n };\r\n\r\n componentDidMount() {\r\n const previousLocal = localStorage.getItem('language');\r\n if (previousLocal) this.props.setLanguage(JSON.parse(previousLocal));\r\n\r\n if (this.props.authenticated) {\r\n this.loadLanguages();\r\n }\r\n }\r\n\r\n componentDidUpdate(prevProps) {\r\n var { authenticated, languages, currentLanguage } = this.props;\r\n\r\n if (authenticated) {\r\n if (!prevProps.authenticated) this.loadLanguages();\r\n if (languages !== prevProps.languages) this.loadLanguageData();\r\n if (currentLanguage !== prevProps.currentLanguage) this.loadLanguageData();\r\n }\r\n }\r\n\r\n loadLanguages() {\r\n var { languages, loadLanguages } = this.props;\r\n\r\n if (languages && languages.timestamp) {\r\n var lastUpdate = moment(languages.timestamp);\r\n var now = moment();\r\n var dur = moment.duration(now.diff(lastUpdate));\r\n var sec = dur.asSeconds();\r\n\r\n if (sec > LANGUAGE_CACHE_TIME_SECONDS) {\r\n loadLanguages();\r\n }\r\n } else {\r\n loadLanguages();\r\n }\r\n }\r\n\r\n loadLanguageData() {\r\n var { loadLanguageData, currentLanguage, languageData } = this.props;\r\n\r\n if (\r\n languageData &&\r\n languageData.languageData[currentLanguage.localeCode] &&\r\n languageData.languageData[currentLanguage.localeCode].timestamp\r\n ) {\r\n var lastUpdate = moment(languageData.languageData[currentLanguage.localeCode].timestamp);\r\n var now = moment();\r\n var dur = moment.duration(now.diff(lastUpdate));\r\n var sec = dur.asSeconds();\r\n\r\n if (sec > LANGUAGE_CACHE_TIME_SECONDS) {\r\n loadLanguageData(currentLanguage.localeCode);\r\n }\r\n } else {\r\n loadLanguageData(currentLanguage.localeCode);\r\n }\r\n }\r\n\r\n getOverrides = (keys, language = 'en-US') => {\r\n var languageData = this.props;\r\n var overrides = {};\r\n\r\n keys.forEach(key => {\r\n overrides[key] = languageData[language] ? languageData[language][key] : enMessages[key] ? enMessages[key] : key;\r\n });\r\n\r\n return overrides;\r\n };\r\n\r\n render() {\r\n const { languageData, currentLanguage } = this.props;\r\n var messages = languageData.languageData[currentLanguage.localeCode];\r\n\r\n var englishOverride = this.getOverrides([\r\n 'global.footer.copyright-text',\r\n 'global.footer.extended-text',\r\n 'global.footer.terms-link',\r\n 'global.footer.privacy-link',\r\n 'global.footer.privacyNotice-link',\r\n 'global.footer.third-party',\r\n 'global.footer.cookie-setting'\r\n ]);\r\n\r\n messages = Object.assign({}, enErrors, enMessages, messages, englishOverride);\r\n\r\n return (\r\n \r\n {this.props.children}\r\n \r\n );\r\n }\r\n}\r\n\r\nexport default _Intl;\r\n","import { connect } from 'react-redux';\r\nimport { loadLanguages } from 'store/intl/languages';\r\nimport { loadLanguageData } from 'store/intl/languageData';\r\nimport { setLanguage } from 'store/intl/currentLanguage';\r\nimport Intl from 'containers/intl/intl';\r\n\r\nconst mapStateToProps = ({ data: { languages, languageData, currentLanguage }, ui: { locale } }) => ({\r\n locale,\r\n languages,\r\n languageData,\r\n currentLanguage\r\n});\r\n\r\nconst mapDispatchToProps = {\r\n loadLanguages,\r\n loadLanguageData,\r\n setLanguage\r\n};\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(Intl);\r\n","import { FormattedMessage } from 'react-intl';\r\nimport React, { Component } from 'react';\r\n\r\nimport Header from 'containers/header/header';\r\nimport EmptyState from 'components/file-browser/file-list/empty-state';\r\n\r\nimport emptyAccessDeniedImage from 'images/empty_state_access_denied.svg';\r\n\r\nclass NotFoundErrorPage extends Component {\r\n link = (argusauditssupport@deloitte.com);\r\n\r\n render() {\r\n return (\r\n
    \r\n
    \r\n }\r\n description={\r\n \r\n }\r\n img={emptyAccessDeniedImage}\r\n />\r\n
    \r\n );\r\n }\r\n}\r\n\r\nexport default NotFoundErrorPage;\r\n","import PropTypes from 'prop-types';\r\nimport React, { Component } from 'react';\r\nimport { FormattedMessage, injectIntl } from 'react-intl';\r\nimport history from 'utils/history';\r\nimport EmptyState from 'components/file-browser/file-list/empty-state';\r\nimport emptyAccessDeniedImage from 'images/empty_state_access_denied.svg';\r\nimport logoImage from 'images/deloitte_logo_black.svg';\r\nimport OmniaLogo from 'images/Omnia.svg';\r\nimport SubheaderDropdown from 'components/header//subheader-dropdown/subheader-dropdown';\r\n\r\nclass Unauthorized extends Component {\r\n static propTypes = {\r\n currentUser: PropTypes.object,\r\n intl: PropTypes.any\r\n };\r\n\r\n componentDidMount() {\r\n if (this.props.currentUser) {\r\n history.push('/project');\r\n }\r\n }\r\n\r\n componentDidUpdate() {\r\n if (this.props.currentUser) {\r\n history.push('/project');\r\n }\r\n }\r\n\r\n link = (\r\n \r\n \r\n \r\n );\r\n\r\n render() {\r\n const omniaUrl = 'https://omnia.deloitte.com/';\r\n\r\n return (\r\n
    \r\n
    \r\n \"deloitte\"\r\n \r\n \"Omnia\"\r\n \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n \r\n \r\n  \r\n \r\n \r\n ()\r\n \r\n
    \r\n
    \r\n
    \r\n }\r\n description={\r\n \r\n }\r\n img={emptyAccessDeniedImage}\r\n />\r\n
    \r\n );\r\n }\r\n}\r\n\r\nexport default injectIntl(Unauthorized);\r\n","import { connect } from 'react-redux';\r\nimport { withRouter } from 'react-router';\r\nimport Unauthorized from 'components/pages/errors/unauthorized';\r\n\r\nconst mapStateToProps = ({ data: { currentUser } }) => ({\r\n currentUser\r\n});\r\n\r\nconst mapDispatchToProps = {};\r\n\r\nexport default withRouter(connect(mapStateToProps, mapDispatchToProps)(Unauthorized));\r\n","import React, { Component } from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { FormattedMessage } from 'react-intl';\r\nimport classNames from 'classnames';\r\n\r\nimport Button from 'components/shared/single-click-button';\r\nimport { getProjectUsers, setCurrentRegion, getCurrentRegion } from 'store/api';\r\nimport Icon from 'components/shared/icon';\r\nimport enhanceWithClickOutside from 'react-click-outside';\r\nimport Modal from 'components/shared/modal';\r\nimport Confirm from 'components/shared/confirm';\r\nimport history from 'utils/history';\r\n\r\nimport Permissions from 'permissions/permissions';\r\nimport socket, { rooms } from 'utils/socket';\r\nimport constants from 'utils/constants';\r\n\r\nconst MENU_OPTIONS = {\r\n CANCEL_ARCHIVE: 'CANCEL_ARCHIVE',\r\n CARRY: 'CARRY',\r\n COPY: 'COPY',\r\n DELETE: 'DELETE',\r\n ENABLE_SUPPORT: 'ENABLE_SUPPORT',\r\n FLAG_NON_CLIENT: 'FLAG_NON_CLIENT',\r\n LEGAL_HOLD: 'LEGAL_HOLD',\r\n REMOVE_HOLD: 'REMOVE_HOLD',\r\n REQ_ARCHIVE: 'REQ_ARCHIVE',\r\n RESTORE: 'RESTORE'\r\n};\r\n\r\nconst MENU_MODALS = {\r\n CANCEL_ARCHIVE: 'CANCEL_ARCHIVE',\r\n CARRY: 'CARRY',\r\n COPY: 'COPY',\r\n DELETE: 'DELETE',\r\n ENABLE_SUPPORT: 'ENABLE_SUPPORT',\r\n LEGAL_HOLD: 'LEGAL_HOLD',\r\n REMOVE_HOLD: 'REMOVE_HOLD',\r\n REQ_ARCHIVE: 'REQ_ARCHIVE',\r\n RESTORE: 'RESTORE'\r\n};\r\n\r\nconst PROJECT_STATUS = {\r\n ARCHIVED: 'archived',\r\n COPYING: 'copying',\r\n IN_CREATION: 'inCreation',\r\n PENDING_ARCHIVE: 'pendingArchive',\r\n SOFT_DELETE: 'softDelete',\r\n STARTED: 'started'\r\n};\r\n\r\nfunction MenuOption({ visibleOptions, menuOptions, ...props }) {\r\n return (\r\n \r\n {props.disabled ? null : visibleOptions.every(o => o == false || o == null) ? null : (\r\n \r\n )}\r\n\r\n {props.isOpen ? (\r\n
    \r\n {visibleOptions.map(option => menuOptions[option])}\r\n
    \r\n ) : null}\r\n
    \r\n );\r\n}\r\n\r\nMenuOption.propTypes = {\r\n disabled: PropTypes.bool,\r\n isOpen: PropTypes.bool,\r\n menuOptions: PropTypes.object,\r\n onClickOutside: PropTypes.func,\r\n onClose: PropTypes.func,\r\n onMenuClick: PropTypes.func,\r\n projectState: PropTypes.any,\r\n viewer: PropTypes.string,\r\n visibleOptions: PropTypes.array\r\n};\r\n\r\n// Common modal viewer for the different options from the dropdown\r\nfunction CommonModal({ heading, body, leftBtn, rightBtn, checkboxCopy, ...props }) {\r\n return (\r\n {\r\n e.preventDefault();\r\n props.onSubmit(e, params);\r\n }}\r\n title={}\r\n message={}\r\n cancelText={}\r\n confirmText={}\r\n checkboxCopy={checkboxCopy && }\r\n />\r\n );\r\n}\r\n\r\nCommonModal.propTypes = {\r\n body: PropTypes.string,\r\n checkboxCopy: PropTypes.any,\r\n disabled: PropTypes.bool,\r\n heading: PropTypes.string,\r\n leftBtn: PropTypes.string,\r\n onClose: PropTypes.func,\r\n onSubmit: PropTypes.func,\r\n rightBtn: PropTypes.string\r\n};\r\n\r\nfunction DeleteModal({ ...props }) {\r\n return (\r\n \r\n );\r\n}\r\n\r\nfunction RestoreModal({ ...props }) {\r\n return (\r\n \r\n );\r\n}\r\n\r\nfunction CancelArchiveModal({ ...props }) {\r\n return (\r\n \r\n );\r\n}\r\n\r\nfunction CopyModal({ ...props }) {\r\n return (\r\n \r\n );\r\n}\r\n\r\nfunction CarryForwardModal({ ...props }) {\r\n return (\r\n \r\n );\r\n}\r\n\r\nfunction LegalHoldModal({ ...props }) {\r\n return (\r\n \r\n );\r\n}\r\n\r\nfunction LiftLegalHoldModal({ ...props }) {\r\n return (\r\n \r\n );\r\n}\r\n\r\nclass ArchiveModal extends Component {\r\n static propTypes = {\r\n onClose: PropTypes.func,\r\n onSubmit: PropTypes.func,\r\n projectDetails: PropTypes.any,\r\n projectId: PropTypes.any,\r\n users: PropTypes.any\r\n };\r\n\r\n state = {\r\n isLoading: false,\r\n checked: [],\r\n selected: null,\r\n users: null,\r\n enabled: false\r\n };\r\n\r\n componentDidMount() {\r\n const { projectId } = this.props;\r\n if (projectId) {\r\n this.setState({ isLoading: true });\r\n // Lets get the list of Owner and Creator of Project user, and set the first to selected to first Owner and Creator of Project user\r\n return getProjectUsers({ projectId }).then(res => {\r\n const data = res.data.filter(\r\n v =>\r\n (v.userDetail && v.role.roleId == constants.UserRoles.PROJECT_OWNER) ||\r\n v.role.roleId == constants.UserRoles.PROJECT_CREATOR\r\n );\r\n if (data && data.length > 0) {\r\n const firstId = data[0].userId;\r\n return this.setState({ users: data, checked: { [firstId]: true }, isLoading: false, enabled: true });\r\n }\r\n return this.setState({ isLoading: false, users: [], enabled: false });\r\n });\r\n }\r\n }\r\n\r\n onButtonClick = selected => {\r\n const { checked } = this.state;\r\n const id = selected.userId;\r\n if (checked[selected.userId]) {\r\n this.setState({ checked: [] });\r\n }\r\n this.setState({ checked: { [id]: true } });\r\n };\r\n\r\n render() {\r\n const { onClose, onSubmit } = this.props;\r\n const { users, checked, isLoading } = this.state;\r\n\r\n return (\r\n \r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n
    \r\n
    \r\n \r\n \r\n \r\n {users && users.length <= 0 ? (\r\n

    No Engagement Leader available

    \r\n ) : (\r\n
    \r\n {isLoading ? (\r\n
    \r\n \r\n
    \r\n ) : (\r\n users &&\r\n users.map((user, index) => (\r\n
    \r\n \r\n\r\n {user.userDetail.displayName}\r\n
    \r\n ))\r\n )}\r\n
    \r\n )}\r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n );\r\n }\r\n}\r\n\r\nclass Menu extends Component {\r\n static propTypes = {\r\n archiveReqProject: PropTypes.func,\r\n cancelArchiveProject: PropTypes.func,\r\n carrySourceProject: PropTypes.func,\r\n copySourceProject: PropTypes.func,\r\n deleteProject: PropTypes.func,\r\n enableSupportAccess: PropTypes.func,\r\n initiateLegalHold: PropTypes.func,\r\n // Either table or tile view\r\n isOpen: PropTypes.bool,\r\n onClose: PropTypes.func,\r\n onMenuClick: PropTypes.func,\r\n projectDetails: PropTypes.object,\r\n projectState: PropTypes.any,\r\n restoreDeletedProject: PropTypes.func,\r\n selected: PropTypes.number,\r\n user: PropTypes.object,\r\n viewer: PropTypes.string,\r\n onCopied: PropTypes.func\r\n };\r\n\r\n state = {\r\n disabled: false,\r\n isArchive: false,\r\n isArchiveRequestor: false,\r\n isCancelArchive: false,\r\n isCarryForward: false,\r\n isCopy: false,\r\n isDelete: false,\r\n isLegalHold: false,\r\n isRemoveHold: false,\r\n isRestore: false,\r\n isSettingFlagNonClientService: false\r\n };\r\n\r\n componentWillUnmount() {\r\n socket.off('update', this.updateSourceProject);\r\n socket.leave(rooms.project(this.props.selected));\r\n }\r\n\r\n componentDidUpdate(prevProps) {\r\n if (this.props.isOpen && !prevProps.isOpen) {\r\n setCurrentRegion(this.getProjectRegionString());\r\n }\r\n }\r\n\r\n handleClickOutside = () => {\r\n if (!this.props.isOpen) {\r\n return;\r\n }\r\n this.props.onClose();\r\n };\r\n\r\n getProjectRegionString = () => {\r\n const { geoCode, memberFirmCode, containerCode } = this.props.projectDetails;\r\n\r\n if (geoCode && memberFirmCode && containerCode) {\r\n return `${geoCode}_${memberFirmCode}_${containerCode}`;\r\n } else {\r\n return null;\r\n }\r\n };\r\n\r\n onUserChange = value => {\r\n this.setState({ selectedUser: value });\r\n };\r\n\r\n onDelete = () => {\r\n const { deleteProject, selected, projectDetails } = this.props;\r\n\r\n const projectRegion = {\r\n geoCode: projectDetails.geoCode,\r\n memberFirmCode: projectDetails.memberFirmCode,\r\n containerCode: projectDetails.containerCode\r\n };\r\n\r\n this.setState({ isDelete: false });\r\n return deleteProject({ selected, soft: Permissions.Project.canRestore(projectDetails, projectRegion) });\r\n };\r\n\r\n onRestore = () => {\r\n const { restoreDeletedProject, selected } = this.props;\r\n this.setState({ isRestore: false });\r\n return restoreDeletedProject({ projectId: selected });\r\n };\r\n\r\n onCopy = (e, includeDocuments) => {\r\n const { selected, copySourceProject } = this.props;\r\n this.setState({ isCopy: false });\r\n socket.join(rooms.project(this.props.selected));\r\n socket.on('update', this.updateSourceProject);\r\n return copySourceProject({ projectId: selected, includeDocuments });\r\n };\r\n\r\n updateSourceProject = msg => {\r\n this.props.onCopied(msg.data.project);\r\n };\r\n\r\n onEnableSupportAccess = () => {\r\n const { selected, projectState } = this.props;\r\n\r\n history.push({\r\n pathname: `/region/${getCurrentRegion()}/project/${selected}/settings`,\r\n state: { grantingAccess: true, inCreation: projectState === PROJECT_STATUS.IN_CREATION }\r\n });\r\n };\r\n\r\n onCarry = (e, includeDocuments) => {\r\n const { selected, carrySourceProject } = this.props;\r\n this.setState({ isCarryForward: false });\r\n socket.join(rooms.project(this.props.selected));\r\n socket.on('update', this.updateSourceProject);\r\n return carrySourceProject({ projectId: selected, includeDocuments });\r\n };\r\n\r\n onRequestArchive = userId => {\r\n // Get the approver Id\r\n\r\n const approverId = Object.keys(userId)[0];\r\n const { archiveReqProject, selected } = this.props;\r\n\r\n this.setState({ isArchive: false });\r\n return archiveReqProject({\r\n data: { projectId: selected, approverId },\r\n update: { approverId, requestorId: this.props.user.userId }\r\n });\r\n };\r\n\r\n onCancelArchive = () => {\r\n const { cancelArchiveProject, selected } = this.props;\r\n this.setState({ isCancelArchive: false });\r\n return cancelArchiveProject({ projectId: selected });\r\n };\r\n\r\n onLegalHold = bool => {\r\n const { initiateLegalHold, selected } = this.props;\r\n this.setState({ isLegalHold: false, isRemoveHold: false });\r\n return initiateLegalHold({ projectId: selected, isLegalHold: bool });\r\n };\r\n\r\n onFlagNonClientService = () => {\r\n const { selected, flagNonClientService } = this.props;\r\n this.setState({ isSettingFlagNonClientService: true });\r\n return flagNonClientService({ projectId: selected, newValue: !this.props.projectDetails.isClientService }).then(a =>\r\n this.setState({ isSettingFlagNonClientService: false })\r\n );\r\n };\r\n\r\n render() {\r\n const { projectState, selected, projectDetails, user } = this.props;\r\n\r\n const projectRegion = {\r\n geoCode: projectDetails.geoCode,\r\n memberFirmCode: projectDetails.memberFirmCode,\r\n containerCode: projectDetails.containerCode\r\n };\r\n\r\n const menuOptions = {\r\n [MENU_OPTIONS.DELETE]: (\r\n \r\n ),\r\n [MENU_OPTIONS.CARRY]: (\r\n \r\n ),\r\n [MENU_OPTIONS.COPY]: (\r\n \r\n ),\r\n [MENU_OPTIONS.ENABLE_SUPPORT]: (\r\n \r\n ),\r\n [MENU_OPTIONS.FLAG_NON_CLIENT]: (\r\n this.onFlagNonClientService()}\r\n disabled={this.state.isSettingFlagNonClientService}\r\n >\r\n {this.props.projectDetails.isClientService ? (\r\n \r\n ) : (\r\n \r\n )}\r\n \r\n ),\r\n [MENU_OPTIONS.REQ_ARCHIVE]: (\r\n \r\n ),\r\n [MENU_OPTIONS.CANCEL_ARCHIVE]: (\r\n \r\n ),\r\n [MENU_OPTIONS.RESTORE]: (\r\n \r\n ),\r\n [MENU_OPTIONS.LEGAL_HOLD]: (\r\n \r\n ),\r\n [MENU_OPTIONS.REMOVE_HOLD]: (\r\n \r\n )\r\n };\r\n\r\n const menuModals = {\r\n [MENU_MODALS.REQ_ARCHIVE]: (\r\n this.setState({ isArchive: false })}\r\n onSubmit={id => this.onRequestArchive(id)}\r\n projectId={selected}\r\n projectDetails={projectDetails}\r\n />\r\n ),\r\n [MENU_MODALS.DELETE]: this.setState({ isDelete: false })} onSubmit={this.onDelete} />,\r\n [MENU_MODALS.RESTORE]: (\r\n this.setState({ isRestore: false })} onSubmit={this.onRestore} />\r\n ),\r\n [MENU_MODALS.CANCEL_ARCHIVE]: (\r\n this.setState({ isCancelArchive: false })} onSubmit={this.onCancelArchive} />\r\n ),\r\n [MENU_MODALS.COPY]: this.setState({ isCopy: false })} onSubmit={this.onCopy} />,\r\n [MENU_MODALS.CARRY]: (\r\n this.setState({ isCarryForward: false })} onSubmit={this.onCarry} />\r\n ),\r\n [MENU_MODALS.LEGAL_HOLD]: (\r\n this.setState({ isLegalHold: false })} onSubmit={() => this.onLegalHold(true)} />\r\n ),\r\n [MENU_MODALS.REMOVE_HOLD]: (\r\n this.setState({ isRemoveHold: false })}\r\n onSubmit={() => this.onLegalHold(false)}\r\n />\r\n )\r\n };\r\n\r\n const canDisableAccess = projectDetails.myRole\r\n ? projectDetails.myRole.isTemporaryUser && projectDetails.isAdminAccessEnabled\r\n : false;\r\n\r\n return (\r\n
    \r\n \r\n\r\n {this.state.isDelete ? menuModals[MENU_MODALS.DELETE] : null}\r\n {this.state.isArchive ? menuModals[MENU_MODALS.REQ_ARCHIVE] : null}\r\n {this.state.isCancelArchive ? menuModals[MENU_MODALS.CANCEL_ARCHIVE] : null}\r\n {this.state.isRestore ? menuModals[MENU_MODALS.RESTORE] : null}\r\n {this.state.isCopy ? menuModals[MENU_MODALS.COPY] : null}\r\n {this.state.isCarryForward ? menuModals[MENU_MODALS.CARRY] : null}\r\n {this.state.isLegalHold ? menuModals[MENU_MODALS.LEGAL_HOLD] : null}\r\n {this.state.isRemoveHold ? menuModals[MENU_MODALS.REMOVE_HOLD] : null}\r\n
    \r\n );\r\n }\r\n}\r\n\r\nexport default enhanceWithClickOutside(Menu);\r\n","import { connect } from 'react-redux';\r\n\r\nimport {\r\n deleteProject,\r\n restoreDeletedProject,\r\n copySourceProject,\r\n carrySourceProject,\r\n archiveReqProject,\r\n cancelArchiveProject,\r\n initiateLegalHold,\r\n enableSupportAccess,\r\n flagNonClientService\r\n} from 'store/project-list';\r\nimport Menu from 'components/project-list/list/menu/menu';\r\n\r\nconst mapStateToProps = ({ data: { projectList } }) => ({\r\n projectList\r\n});\r\n\r\nconst mapDispatchToProps = {\r\n deleteProject,\r\n restoreDeletedProject,\r\n copySourceProject,\r\n carrySourceProject,\r\n archiveReqProject,\r\n cancelArchiveProject,\r\n initiateLegalHold,\r\n enableSupportAccess,\r\n flagNonClientService\r\n};\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(Menu);\r\n","import React, { Component } from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { Link } from 'react-router-dom';\r\nimport { FormattedMessage } from 'react-intl';\r\n\r\nimport Icon from 'components/shared/icon';\r\nimport { FixedTable, FixedHeader } from 'components/shared/fixed-table';\r\nimport Avatar from 'components/shared/avatar';\r\nimport Menu from 'containers/project-list/menu-container';\r\nimport dateUtil from 'utils/dateUtil';\r\nimport CONSTANTS from 'utils/constants';\r\nimport Button from 'components/shared/single-click-button';\r\n\r\n// Table View Headings\r\nconst TABLE_HEADERS = [\r\n 'Name',\r\n 'Region',\r\n 'Client Name',\r\n 'WBS Code',\r\n 'Status',\r\n 'Creator',\r\n 'Creation Date',\r\n 'Last Edit Date'\r\n];\r\n\r\nfunction TranslationQueueTable(translations) {\r\n const getTranslationStatus = translation => {\r\n const status = Object.keys(CONSTANTS.TranslationStatus).find(\r\n key => CONSTANTS.TranslationStatus[key] === translation.translationStateId\r\n );\r\n\r\n return translation.translationStateId ? status : 'NoStatus';\r\n };\r\n\r\n return (\r\n
    \r\n
    \r\n }\r\n >\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n {translations.translations &&\r\n translations.translations.map((t, index) => {\r\n return (\r\n \r\n 31 ? t.sourceFileName : null) : null}\r\n >\r\n {t.sourceFileName}\r\n \r\n \r\n \r\n \r\n );\r\n })}\r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n );\r\n}\r\n\r\nTranslationQueueTable.propTypes = {\r\n translations: PropTypes.any,\r\n TranslationQueueCardStatus: PropTypes.any\r\n};\r\n\r\nexport default class TableView extends Component {\r\n static propTypes = {\r\n // Project List data loaded from reducer\r\n creator: PropTypes.any,\r\n data: PropTypes.oneOfType([PropTypes.object, PropTypes.array]),\r\n isMenuOpen: PropTypes.array,\r\n isOwner: PropTypes.any,\r\n linkClassname: PropTypes.any,\r\n linkTo: PropTypes.any,\r\n onDeselect: PropTypes.func,\r\n onSelect: PropTypes.func,\r\n status: PropTypes.any,\r\n user: PropTypes.object,\r\n titleKey: PropTypes.any\r\n };\r\n\r\n constructor(props) {\r\n super(props);\r\n // This will give us ref to the cell that needs a title on hover\r\n this.nameRefs = [];\r\n this.MATRefs = [];\r\n this.state = {\r\n // Determine whether to show the full name on hover or not\r\n isOverflowed: []\r\n };\r\n }\r\n\r\n // Overflow ellipsis checker so we know how to display long project names\r\n checkOverflow = (ref, hoveredIndex) => {\r\n const isOverflowed = this[ref][hoveredIndex].scrollWidth > this[ref][hoveredIndex].clientWidth;\r\n\r\n if (isOverflowed !== this.state.isOverflowed) {\r\n this.setState({ isOverflowed: { [hoveredIndex]: isOverflowed } });\r\n }\r\n };\r\n\r\n getTranslationStatus = translation => {\r\n const status = Object.keys(CONSTANTS.TranslationStatus).find(\r\n key => CONSTANTS.TranslationStatus[key] === translation.translationStateId\r\n );\r\n\r\n return translation.translationStateId ? status : 'NoStatus';\r\n };\r\n\r\n getTranslationQueueCardStatus = translations => {\r\n var translationsStatus = translations.map(t => this.getTranslationStatus(t));\r\n\r\n if (translations.every(s => s.translationStateId === 2)) return 'inCreation';\r\n if (translations.some(s => s.translationStateId === 4)) return 'legalHold';\r\n if (translations.every(s => s.translationStateId === 5)) return 'started';\r\n if (translations.some(s => s.translationStateId === 7 || s.translationStateId === 6)) return 'failed';\r\n };\r\n\r\n render() {\r\n const { isOverflowed } = this.state;\r\n const {\r\n data,\r\n isMenuOpen,\r\n onDeselect,\r\n onSelect,\r\n user,\r\n status,\r\n linkClassname,\r\n creator,\r\n linkTo,\r\n onUpdateStatus,\r\n titleKey\r\n } = this.props;\r\n return (\r\n
    \r\n {data &&\r\n data.map((project, index) => {\r\n if (project.translations) {\r\n return (\r\n \r\n );\r\n }\r\n })}\r\n
    \r\n {titleKey ? (\r\n
    \r\n }>\r\n \r\n \r\n
    \r\n ) : null}\r\n \r\n \r\n \r\n \r\n {TABLE_HEADERS.map((heading, index) => {\r\n return (\r\n \r\n
    \r\n {/* Represents the full heading name without case or spaces */}\r\n \r\n
    \r\n
    \r\n );\r\n })}\r\n \r\n \r\n \r\n {data &&\r\n data.map((project, index) => {\r\n const globalCode = `${project.geoCode}_${project.memberFirmCode}_${project.containerCode}`;\r\n const projectStatus = status(project);\r\n const linkClass = linkClassname(project);\r\n const projectCreator = creator(project.creator, 'table');\r\n const projectLink = linkTo(project, globalCode);\r\n const projectUID = `${project.geoCode}-${project.memberFirmCode}-${project.containerCode}-${project.projectId}`;\r\n\r\n if (!project.translations) {\r\n return (\r\n \r\n (this.nameRefs[index] = element)}\r\n title={isOverflowed[index] ? project.projectName : ''}\r\n onMouseEnter={() => this.checkOverflow('nameRefs', index)}\r\n onMouseLeave={() => this.setState({ isOverflowed: { [index]: false } })}\r\n >\r\n \r\n {project.isAdminAccessEnabled && }\r\n {project.projectName || 'Untitled Name'}\r\n \r\n \r\n \r\n \r\n (this.MATRefs[index] = element)}\r\n title={isOverflowed[index] ? (project.engagementName ? project.engagementName : '') : ''}\r\n onMouseEnter={() => this.checkOverflow('MATRefs', index)}\r\n onMouseLeave={() => this.setState({ isOverflowed: { [index]: false } })}\r\n >\r\n {project.engagementName ? project.engagementName : ''}\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n );\r\n }\r\n })}\r\n \r\n
    \r\n
    {project.label ? project.label : project.geoCode}{project.clientName ? project.clientName : ''}\r\n {project.legalHold ? (\r\n \r\n \r\n \r\n ) : (\r\n ''\r\n )}\r\n
    \r\n \r\n
    \r\n \r\n \r\n {projectCreator.displayName}\r\n \r\n \r\n {project.createdDate ? dateUtil.formatDate(project.createdDate) : '-'}\r\n \r\n {project.lastUpdatedDate ? dateUtil.formatDate(project.lastUpdatedDate) : '-'}\r\n \r\n onDeselect(projectUID)}\r\n onMenuClick={() => onSelect(projectUID)}\r\n isOpen={isMenuOpen[projectUID]}\r\n user={user}\r\n selected={project.projectId}\r\n projectDetails={project}\r\n onCopied={data => onUpdateStatus(data)}\r\n />\r\n
    \r\n
    \r\n
    \r\n
    \r\n );\r\n }\r\n}\r\n","import React, { Component } from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { Link } from 'react-router-dom';\r\nimport { FormattedMessage, injectIntl, intlShape } from 'react-intl';\r\nimport Button from 'components/shared/single-click-button';\r\n\r\nimport Icon from 'components/shared/icon';\r\nimport ReactTooltip from 'react-tooltip';\r\nimport Avatar from 'components/shared/avatar';\r\nimport Menu from 'containers/project-list/menu-container';\r\nimport dateUtil from 'utils/dateUtil';\r\nimport CONSTANTS from 'utils/constants';\r\n\r\n// Project Cards in Tile View\r\nfunction ProjectCard({\r\n clientName,\r\n creationDate,\r\n creator,\r\n geoCode,\r\n intl,\r\n isLegalHold,\r\n isMenuActive,\r\n label,\r\n lastEditDate,\r\n linkClassname,\r\n linkTo,\r\n name,\r\n onDeselect,\r\n onMenuClick,\r\n project,\r\n projectId,\r\n status,\r\n user,\r\n wbsCode,\r\n onCopied\r\n}) {\r\n return (\r\n
    \r\n
    \r\n
    \r\n
    \r\n {project.isAdminAccessEnabled && (\r\n \r\n \r\n \r\n \r\n \r\n \r\n )}\r\n 31 ? name : null) : null}>\r\n \r\n {name}\r\n \r\n \r\n
    \r\n onCopied(data)}\r\n />\r\n
    \r\n {clientName}\r\n
    \r\n
    \r\n 31 ? wbsCode : null) : null}>\r\n {wbsCode}\r\n \r\n \r\n {isLegalHold ? (\r\n \r\n \r\n \r\n ) : (\r\n ''\r\n )}\r\n
    \r\n \r\n \r\n
    \r\n\r\n
    \r\n : {label ? label : geoCode}\r\n
    \r\n\r\n
    \r\n \r\n
    \r\n
    {creator.preferredFullName}
    \r\n
    {creator.email}
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n {dateUtil.formatDate(creationDate)}\r\n \r\n \r\n \r\n \r\n \r\n {dateUtil.formatDate(lastEditDate)}\r\n \r\n
    \r\n
    \r\n );\r\n}\r\n\r\n//Transaltion queue card in Tile View\r\nfunction TranslationQueueCard(translations) {\r\n const getTranslationStatus = translation => {\r\n const status = Object.keys(CONSTANTS.TranslationStatus).find(\r\n key => CONSTANTS.TranslationStatus[key] === translation.translationStateId\r\n );\r\n\r\n return translation.translationStateId ? status : 'NoStatus';\r\n };\r\n\r\n return (\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n
    \r\n \r\n \r\n \r\n
    \r\n {translations.translations &&\r\n translations.translations.map((t, index) => {\r\n const translationStatus = getTranslationStatus(t);\r\n return (\r\n
    \r\n 31 ? t.sourceFileName : null) : null}\r\n >\r\n {t.sourceFileName}\r\n \r\n \r\n
    \r\n \r\n \r\n
    \r\n );\r\n })}\r\n \r\n \r\n \r\n
    \r\n
    \r\n );\r\n}\r\n\r\nProjectCard.propTypes = {\r\n clientName: PropTypes.oneOfType([PropTypes.string, PropTypes.object]),\r\n containerCode: PropTypes.any,\r\n creationDate: PropTypes.oneOfType([PropTypes.string, PropTypes.object]),\r\n creator: PropTypes.any,\r\n geoCode: PropTypes.any,\r\n intl: intlShape.isRequired,\r\n isLegalHold: PropTypes.bool,\r\n isMenuActive: PropTypes.bool,\r\n label: PropTypes.any,\r\n lastEditDate: PropTypes.oneOfType([PropTypes.string, PropTypes.object]),\r\n linkClassname: PropTypes.any,\r\n linkTo: PropTypes.any,\r\n memberFirmCode: PropTypes.any,\r\n name: PropTypes.string,\r\n onDeselect: PropTypes.func,\r\n onMenuClick: PropTypes.func,\r\n project: PropTypes.any,\r\n projectId: PropTypes.number,\r\n status: PropTypes.any,\r\n user: PropTypes.object,\r\n wbsCode: PropTypes.oneOfType([PropTypes.string, PropTypes.object]),\r\n onCopied: PropTypes.func\r\n};\r\n\r\nTranslationQueueCard.propTypes = {\r\n translations: PropTypes.any,\r\n TranslationQueueCardStatus: PropTypes.any\r\n};\r\n\r\nclass TileView extends Component {\r\n static propTypes = {\r\n // Project List data loaded from reducer\r\n creator: PropTypes.any,\r\n data: PropTypes.oneOfType([PropTypes.object, PropTypes.array]),\r\n intl: intlShape.isRequired,\r\n isMenuOpen: PropTypes.array,\r\n linkClassname: PropTypes.any,\r\n linkTo: PropTypes.func,\r\n onDeselect: PropTypes.func,\r\n onSelect: PropTypes.func,\r\n status: PropTypes.any,\r\n user: PropTypes.object,\r\n onCopied: PropTypes.func\r\n };\r\n\r\n getTranslationStatus = translation => {\r\n const status = Object.keys(CONSTANTS.TranslationStatus).find(\r\n key => CONSTANTS.TranslationStatus[key] === translation.translationStateId\r\n );\r\n\r\n return translation.translationStateId ? status : 'NoStatus';\r\n };\r\n\r\n getTranslationQueueCardStatus = translations => {\r\n if (translations.every(s => s.translationStateId === 2)) return 'inCreation';\r\n if (translations.some(s => s.translationStateId === 4)) return 'legalHold';\r\n if (translations.every(s => s.translationStateId === 5)) return 'started';\r\n if (translations.some(s => s.translationStateId === 7 || s.translationStateId === 6)) return 'failed';\r\n };\r\n\r\n render() {\r\n const {\r\n data,\r\n onSelect,\r\n onDeselect,\r\n isMenuOpen,\r\n user,\r\n status,\r\n creator,\r\n linkClassname,\r\n linkTo,\r\n intl,\r\n onUpdateStatus\r\n } = this.props;\r\n return (\r\n
    \r\n {data &&\r\n data.map((project, index) => {\r\n if (project.translations) {\r\n return (\r\n \r\n );\r\n } else {\r\n const globalCode = `${project.geoCode}_${project.memberFirmCode}_${project.containerCode}`;\r\n const projectStatus = status(project);\r\n const linkClass = linkClassname(project);\r\n const projectCreator = creator(project.creator, 'tile');\r\n const projectLink = linkTo(project, globalCode);\r\n const projectUID = `${project.geoCode}-${project.memberFirmCode}-${project.containerCode}-${project.projectId}`;\r\n\r\n return (\r\n onSelect(projectUID)}\r\n onDeselect={() => onDeselect(projectUID)}\r\n user={user}\r\n geoCode={project.geoCode}\r\n memberFirmCode={project.memberFirmCode}\r\n containerCode={project.containerCode}\r\n label={project.label}\r\n linkClassname={linkClass}\r\n linkTo={projectLink}\r\n project={project}\r\n intl={intl}\r\n onCopied={data => onUpdateStatus(data)}\r\n />\r\n );\r\n }\r\n })}\r\n
    \r\n );\r\n }\r\n}\r\n\r\nexport default injectIntl(TileView);\r\n","import React, { Component } from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { FormattedMessage } from 'react-intl';\r\nimport CONSTANTS from 'utils/constants';\r\n\r\nimport TableView from './table-view/table-view';\r\nimport TileView from './tile-view/tile-view';\r\n\r\nimport Permissions from 'permissions/permissions';\r\n\r\nexport default class List extends Component {\r\n static propTypes = {\r\n data: PropTypes.oneOfType([PropTypes.object, PropTypes.array]),\r\n // Show either table or tile\r\n titleKey: PropTypes.any,\r\n toggleTable: PropTypes.bool,\r\n user: PropTypes.object,\r\n users: PropTypes.object,\r\n onProjectCopy: PropTypes.func\r\n };\r\n\r\n state = {\r\n selectedId: null,\r\n isMenuOpen: []\r\n };\r\n\r\n componentDidMount() {}\r\n\r\n onSelect = Id => {\r\n const { isMenuOpen } = this.state;\r\n isMenuOpen[Id] = !isMenuOpen[Id];\r\n this.setState({ selectedId: Id, isMenuOpen });\r\n };\r\n\r\n onDeselect = Id => {\r\n const { isMenuOpen } = this.state;\r\n isMenuOpen[Id] = false;\r\n this.setState({ selectedId: null, isMenuOpen });\r\n };\r\n\r\n // Get Project Status\r\n getProjectStatus = project => {\r\n const status = Object.keys(CONSTANTS.ProjectStateIds).find(\r\n key => CONSTANTS.ProjectStateIds[key] === project.projectStateId\r\n );\r\n\r\n return project.projectStateId ? status : 'NoStatus';\r\n };\r\n\r\n // Get creator display details\r\n getCreator = (creator, viewer) => {\r\n const { user } = this.props;\r\n if (creator && creator.userDetail && creator.userDetail.lastName) {\r\n return {\r\n initials: creator.userDetail.firstName[0] + creator.userDetail.lastName[0],\r\n displayName:\r\n viewer === 'tile'\r\n ? creator.userDetail.displayName\r\n : creator.userDetail.lastName + ', ' + creator.userDetail.firstName,\r\n email: creator.userDetail.email,\r\n preferredFullName: creator.userDetail.preferredFullName\r\n };\r\n }\r\n return {\r\n initials: user.firstName[0] + user.lastName[0],\r\n displayName: viewer === 'tile' ? user.displayName : user.lastName + ', ' + user.firstName,\r\n email: user.email\r\n };\r\n };\r\n\r\n // Project link class name for enabling and disabling links in project card\r\n getProjectLinkClassname = project => {\r\n const status = this.getProjectStatus(project);\r\n\r\n if (\r\n status === 'softDelete' ||\r\n status === 'copying' ||\r\n (status === 'inCreation' && !Permissions.Project.Settings.canEditCreationState(project))\r\n ) {\r\n return `link-disabled`;\r\n }\r\n\r\n // status === 'pendingArchive' || status === 'archived' || status === 'started'\r\n return ``;\r\n };\r\n\r\n getLinkTo = (project, globalCode) => {\r\n const status = this.getProjectStatus(project);\r\n var pathname = '';\r\n\r\n const projectRegion = {\r\n geoCode: project.geoCode,\r\n memberFirmCode: project.memberFirmCode,\r\n containerCode: project.containerCode\r\n };\r\n\r\n if (status === 'started' || status === 'pendingArchive' || status === 'archived') {\r\n if (Permissions.Project.Document.canView(project)) {\r\n pathname = `/region/${globalCode}/project/${project.projectId}/folder/root`;\r\n } else if (Permissions.Project.Settings.canView(project, projectRegion)) {\r\n pathname = `/region/${globalCode}/project/${project.projectId}/settings`;\r\n }\r\n } else if (status === 'inCreation') {\r\n pathname =\r\n project.sourceProjectId !== null\r\n ? `/region/${globalCode}/project/${project.projectId}/copy`\r\n : `/region/${globalCode}/project/${project.projectId}/creation`;\r\n }\r\n\r\n return {\r\n pathname: pathname\r\n };\r\n };\r\n\r\n UpdateProjectStatus = project => {\r\n return this.props.onProjectCopy(project);\r\n };\r\n\r\n render() {\r\n const { toggleTable, data, user, titleKey } = this.props;\r\n const { isMenuOpen } = this.state;\r\n\r\n return (\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n {toggleTable ? (\r\n this.onSelect(Id)}\r\n user={user}\r\n status={this.getProjectStatus}\r\n linkClassname={this.getProjectLinkClassname}\r\n creator={this.getCreator}\r\n linkTo={this.getLinkTo}\r\n onUpdateStatus={data => this.UpdateProjectStatus(data)}\r\n titleKey={titleKey}\r\n />\r\n ) : (\r\n this.onSelect(Id)}\r\n user={user}\r\n status={this.getProjectStatus}\r\n linkClassname={this.getProjectLinkClassname}\r\n creator={this.getCreator}\r\n linkTo={this.getLinkTo}\r\n onUpdateStatus={data => this.UpdateProjectStatus(data)}\r\n />\r\n )}\r\n
    \r\n
    \r\n );\r\n }\r\n}\r\n","import { FormattedMessage } from 'react-intl';\r\nimport moment from 'moment';\r\nimport PropTypes from 'prop-types';\r\nimport React, { Component } from 'react';\r\n\r\nimport { PAGE_SIZE } from 'components/project-list/constants';\r\nimport CONSTANTS from 'utils/constants';\r\nimport emptySearchImage from 'images/empty_state_no_result_found.svg';\r\nimport EmptyState from 'components/file-browser/file-list/empty-state';\r\nimport emptyStateImage from 'images/empty_state_project.svg';\r\nimport Icon from 'components/shared/icon';\r\nimport List from './list/list';\r\nimport Pagination from 'components/shared/pagination/pagination';\r\nimport ToolBar from 'components/project-list/toolbar/toolbar';\r\nimport ContainerSelectionModal from 'components/project-list/container-selection/modal';\r\nimport { SORT_FUNCTIONS } from 'components/project-list/constants';\r\n\r\nimport Permissions from 'permissions/permissions';\r\n\r\nclass ProjectList extends Component {\r\n static propTypes = {\r\n currentProject: PropTypes.object,\r\n currentUser: PropTypes.object,\r\n history: PropTypes.object,\r\n loadProjectList: PropTypes.func.isRequired,\r\n projectList: PropTypes.object,\r\n tableOrTile: PropTypes.string,\r\n userMode: PropTypes.bool,\r\n sortKey: PropTypes.string,\r\n sortAsc: PropTypes.bool,\r\n loadTranslationsList: PropTypes.func.isRequired,\r\n onSearchChange: PropTypes.func,\r\n isWorkspaceButtonHidden: PropTypes.bool,\r\n setshowHideWorkspace: PropTypes.func\r\n };\r\n\r\n state = {\r\n // Show either table or tile view\r\n //tableOrTile: null,\r\n //userMode: false, //Set to true to filter out projects that you are not part of (for admins)\r\n currentPage: 1,\r\n // sortKey: 'projectName',\r\n // sortAsc: true,\r\n isAllowed:\r\n this.props.currentUser && this.props.currentUser.accessibleFeatures\r\n ? this.props.currentUser.accessibleFeatures.reduce((obj, item) => {\r\n return {\r\n ...obj,\r\n [item['featureId']]: item\r\n };\r\n }, {})\r\n : {}\r\n };\r\n\r\n componentDidMount() {\r\n const { isAllowed } = this.state;\r\n this.getTableOrTile();\r\n if (isAllowed.hasOwnProperty('1')) {\r\n this.props.loadTranslationsList();\r\n }\r\n return this.props.loadProjectList();\r\n }\r\n\r\n componentDidUpdate(prevProps, prevState) {\r\n if (\r\n prevProps.projectList.isSearching !== this.props.projectList.isSearching ||\r\n this.props.userMode !== prevProps.userMode ||\r\n prevState.containerCode !== sessionStorage.getItem(`selected-container`)\r\n ) {\r\n // This is necessary to reset the pagination when we're searching\r\n this.setState({ currentPage: 1 });\r\n this.setState({ containerCode: sessionStorage.getItem(`selected-container`) });\r\n }\r\n if (!this.props.projectList.isLoading || this.props.projectList.projects) {\r\n if (\r\n this.props.projectList.projects?.filter(\r\n project =>\r\n project.projectTypeId == CONSTANTS.ProjectTypes.WORKSPACE_PROJECT &&\r\n project.createdBy == this.props.currentUser.userId\r\n ).length > 0 ||\r\n this.props.projectList.unfilteredProjects?.filter(\r\n project =>\r\n project.projectTypeId == CONSTANTS.ProjectTypes.WORKSPACE_PROJECT &&\r\n project.createdBy == this.props.currentUser.userId\r\n ).length > 0\r\n ) {\r\n this.props.setshowHideWorkspace(false);\r\n } else {\r\n this.props.setshowHideWorkspace(true);\r\n }\r\n }\r\n }\r\n\r\n onContainerSelected = (memberFirmCode, containerCode, countryCode) => {\r\n const { geoCode } = this.props.currentUser;\r\n return this.createProject(geoCode, memberFirmCode, containerCode, countryCode);\r\n };\r\n\r\n createProject = (geoCode, memberFirmCode, containerCode, countryCode) => {\r\n this.setState({ showContainerSelectionModal: false });\r\n\r\n const GEO_PATH = countryCode\r\n ? `${geoCode}_${memberFirmCode}_${containerCode}_${countryCode}`\r\n : `${geoCode}_${memberFirmCode}_${containerCode}`;\r\n\r\n return this.props.history.push({\r\n pathname: `/region/${GEO_PATH}/project/creation`\r\n });\r\n };\r\n\r\n onCreateProject = () => {\r\n const { geoCode, memberFirmCode, containerCode, memberFirmContainers } = this.props.currentUser;\r\n\r\n if (memberFirmContainers && memberFirmContainers.length > 1) {\r\n // Display member firm container selection modal\r\n this.setState({ showContainerSelectionModal: true });\r\n } else {\r\n // Normal case project creation\r\n return this.createProject(geoCode, memberFirmCode, containerCode);\r\n }\r\n };\r\n\r\n // changeSorting = sortingKey => {\r\n // //const { sortKey, sortAsc } = this.state;\r\n // const { sortKey, sortAsc } = this.props;\r\n // const dir = sortingKey === sortKey ? !sortAsc : true;\r\n\r\n // this.setState({\r\n // sortKey: sortingKey,\r\n // sortAsc: dir\r\n // });\r\n // };\r\n\r\n changePage = pageNumber => {\r\n this.area.scrollTop = 0;\r\n this.setState({\r\n currentPage: pageNumber\r\n });\r\n };\r\n\r\n isActionRequired = project => {\r\n return Permissions.Project.canApproveArchive(project);\r\n };\r\n\r\n // Action required project section\r\n getActionRequiredProjects = () => {\r\n const { projectList } = this.props;\r\n return projectList.projects.filter(p => this.isActionRequired(p));\r\n };\r\n\r\n // Load the list of recent projects from localStorage\r\n getRecentProjects = projectList => {\r\n const { isAllowed } = this.state;\r\n const { currentUser, translations } = this.props;\r\n // Load the list from localStorage\r\n var cachedRecentProjects = [];\r\n var workspaceProjects =\r\n projectList.find(\r\n x => currentUser.userId == x.createdBy && x.projectTypeId == CONSTANTS.ProjectTypes.WORKSPACE_PROJECT\r\n ) || '';\r\n if (workspaceProjects) cachedRecentProjects.push(workspaceProjects);\r\n var latestTranslations = {\r\n translations: translations.translations.slice(Math.max(translations.translations.length - 5, 0))\r\n };\r\n var regularCachedRecentProjects = JSON.parse(localStorage.getItem(`recentProjects-${currentUser.userId}`)) || [];\r\n regularCachedRecentProjects = regularCachedRecentProjects\r\n // Filter out any projects were accessed more than 7 days ago\r\n .filter(({ timestamp }) => !moment(timestamp).isBefore(moment().subtract(7, 'days')))\r\n // Map each of the cached project keys to one of the projects loaded from the API\r\n .map(({ projectKey: recentProjectKey }) => projectList.find(({ projectKey }) => projectKey === recentProjectKey))\r\n // Filter out any projects that can't be found\r\n .filter(project => !!project);\r\n cachedRecentProjects = cachedRecentProjects.concat(regularCachedRecentProjects);\r\n if (cachedRecentProjects.length > 3) cachedRecentProjects.pop();\r\n if (isAllowed.hasOwnProperty('1') && latestTranslations.translations.length !== 0) {\r\n cachedRecentProjects.push(latestTranslations);\r\n }\r\n\r\n return cachedRecentProjects;\r\n };\r\n\r\n // multiColumnSort can sort a list of values by multiple columns in different orders\r\n multiColumnSort = (values, columns, orders) => {\r\n return values.slice().sort((a, b) => {\r\n return columns.reduce((compared, key, idx) => {\r\n // Stop when we have a non-zero comparison result (i.e: previous columns were not equal)\r\n if (compared !== 0) {\r\n return compared;\r\n }\r\n\r\n // Compare function\r\n return orders[idx] * SORT_FUNCTIONS[key](a[key], b[key]);\r\n }, 0);\r\n });\r\n };\r\n\r\n // Filter deleted projects for those who cannot view delete projects\r\n filterDeletedProjects = () => {\r\n const { projectList } = this.props;\r\n\r\n return projectList.projects.filter(\r\n project =>\r\n Permissions.Project.canViewDeletedProjects({\r\n geoCode: project.geoCode,\r\n memberFirmCode: project.memberFirmCode,\r\n containerCode: project.containerCode\r\n }) || project.projectStateId !== CONSTANTS.ProjectStateIds.softDelete\r\n );\r\n };\r\n\r\n // Normal section that can be organized by sorting keys\r\n getNormalProjects = () => {\r\n //const { sortKey, sortAsc } = this.state;\r\n const { sortKey, sortAsc } = this.props;\r\n const projects = this.filterDeletedProjects().filter(p => !this.isActionRequired(p));\r\n\r\n // The order in which to sort our columns (1 is asc, -1 is desc)\r\n const order = sortAsc ? [1, 1] : [-1, 1];\r\n\r\n return this.multiColumnSort(projects, [sortKey, 'projectName'], order);\r\n };\r\n\r\n // setTableOrTile = value => {\r\n // const { currentUser } = this.props;\r\n // if (currentUser) {\r\n // localStorage.setItem(`project-list-display-mode-${currentUser.userId}`, JSON.stringify(value));\r\n // this.setState({ tableOrTile: value });\r\n // }\r\n // };\r\n\r\n getTableOrTile = () => {\r\n const { currentUser } = this.props;\r\n if (currentUser) {\r\n const value = JSON.parse(localStorage.getItem(`project-list-display-mode-${currentUser.userId}`));\r\n //if (value) this.setState({ tableOrTile: value });\r\n }\r\n };\r\n\r\n // onUserModeChange = userMode => {\r\n // this.setState({ userMode });\r\n // };\r\n\r\n updateProjectStatusOnCopy = project => {\r\n return this.props.updateProjectState(project);\r\n };\r\n\r\n render() {\r\n const { projectList, currentUser, sortKey, userMode, loadProjectList, onSearchChange } = this.props;\r\n const { currentPage, showContainerSelectionModal } = this.state;\r\n\r\n if (projectList.error !== null && projectList.projects.length <= 0) {\r\n return
    Server could not load projects from any specified regions
    ;\r\n }\r\n\r\n if (projectList.isLoading || !projectList.projects) {\r\n return (\r\n
    \r\n \r\n
    \r\n );\r\n }\r\n\r\n const userModeFilter = currentProject => {\r\n if (!userMode && Permissions.Global.canViewAdminContainerDropdown()) {\r\n //return true\r\n return currentProject.containerCode == sessionStorage.getItem(`selected-container`);\r\n }\r\n return currentProject.myRole && currentProject.myRole !== null && currentProject.myRole.isTemporaryUser === false;\r\n };\r\n\r\n const otherProjects = this.getNormalProjects().filter(userModeFilter);\r\n const actionRequiredProjects = this.getActionRequiredProjects().filter(userModeFilter);\r\n const recentProjects = this.getRecentProjects(otherProjects);\r\n const allProjects = otherProjects.slice(currentPage * PAGE_SIZE - PAGE_SIZE, currentPage * PAGE_SIZE);\r\n\r\n return (\r\n
    \r\n {/* /* 0 ? true : false}\r\n onIconClick={this.setTableOrTile}\r\n iconValue={this.state.tableOrTile}\r\n onSortClick={this.changeSorting}\r\n sortValue={sortKey}\r\n loadState={projectList}\r\n onUserModeChange={this.onUserModeChange}\r\n userMode={userMode}\r\n currentUser={currentUser}\r\n loadProjectList={loadProjectList}\r\n onSearchChange={onSearchChange}\r\n />*/}\r\n\r\n this.setState({ showContainerSelectionModal: false })}\r\n onSubmit={this.onContainerSelected}\r\n />\r\n\r\n {projectList.projects &&\r\n !projectList.error &&\r\n (otherProjects.length > 0 || actionRequiredProjects.length > 0) ? (\r\n
    \r\n
    (this.area = area)}>\r\n {/* Action Required Projects */}\r\n {actionRequiredProjects && actionRequiredProjects.length > 0 ? (\r\n this.updateProjectStatusOnCopy(data)}\r\n {...this.props}\r\n />\r\n ) : null}\r\n\r\n {/* Recent Projects */}\r\n {recentProjects && recentProjects.length > 0 ? (\r\n this.updateProjectStatusOnCopy(data)}\r\n {...this.props}\r\n />\r\n ) : null}\r\n\r\n {/* All Projects */}\r\n {otherProjects.length > 0 ? (\r\n this.updateProjectStatusOnCopy(data)}\r\n {...this.props}\r\n />\r\n ) : null}\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n ) : !projectList.isEmptySearch ? (\r\n
    \r\n }\r\n description={}\r\n img={emptyStateImage}\r\n />\r\n
    \r\n ) : (\r\n
    \r\n }\r\n description={}\r\n img={emptySearchImage}\r\n />\r\n
    \r\n )}\r\n
    \r\n );\r\n }\r\n}\r\n\r\nexport default ProjectList;\r\n","import { connect } from 'react-redux';\r\n\r\nimport { loadProjectList } from 'store/project-list';\r\nimport { updateProjectState } from 'store/project-list';\r\nimport ProjectList from 'components/project-list/project-list';\r\nimport { loadTranslationsList } from 'store/translations';\r\nimport { onSearchChange } from 'store/search/search-category';\r\n\r\nconst mapStateToProps = ({ data: { projectList, currentProject, translations } }) => ({\r\n projectList,\r\n currentProject,\r\n translations\r\n});\r\n\r\nconst mapDispatchToProps = {\r\n loadProjectList,\r\n updateProjectState,\r\n loadTranslationsList,\r\n onSearchChange\r\n};\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(ProjectList);\r\n","import React, { Component } from 'react';\r\nimport {getCurrentRegion } from 'store/api';\r\nimport { FormattedMessage } from 'react-intl';\r\nimport { Link } from 'react-router-dom';\r\nimport PropTypes from 'prop-types';\r\n\r\nimport Permissions from 'permissions/permissions';\r\n\r\nclass AdminDashboard extends Component {\r\n static propTypes = {\r\n showAdminAccessWidget: PropTypes.bool,\r\n loadProjectList : PropTypes.func,\r\n onSearchChange: PropTypes.func\r\n };\r\n\r\n\r\n render() {\r\n const { showAdminAccessWidget} = this.props;\r\n\r\n return (\r\n
    \r\n
    \r\n
    \r\n

    \r\n \r\n

    \r\n
    \r\n \r\n
    \r\n\r\n {showAdminAccessWidget ? (\r\n
    \r\n
    \r\n \r\n \r\n \r\n
    \r\n {Permissions.Global.User.canViewUserManagementLink() ? (\r\n
    \r\n \r\n \r\n \r\n \r\n
    \r\n ) : null}\r\n {Permissions.Global.canViewReports() ? (\r\n
    \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n ) : null}\r\n {Permissions.Global.User.canViewMaintenanceMessagesLink() ? (\r\n
    \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n ) : null}\r\n
    \r\n ) : null}\r\n
    \r\n );\r\n }\r\n}\r\n\r\nexport default AdminDashboard;\r\n","import { connect } from 'react-redux';\r\nimport AdminDashboard from 'components/admin-dashboard/admin-dashboard';\r\nimport { loadProjectList } from 'store/project-list';\r\nimport { onSearchChange } from 'store/search/search-category';\r\n\r\nconst mapStateToProps = ({ data: { currentProject, currentUser } }) => ({\r\n currentProject, currentUser\r\n});\r\n\r\nconst mapDispatchToProps = {\r\n loadProjectList,onSearchChange\r\n};\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(AdminDashboard);\r\n","import PropTypes from 'prop-types';\r\nimport React, { Component, Fragment } from 'react';\r\nimport ReactTooltip from 'react-tooltip';\r\nimport Footer from 'containers/footer/footer';\r\nimport Header from 'containers/header/header';\r\nimport ProjectListContainer from 'containers/project-list/project-list-container';\r\nimport NotificationsContainer from 'containers/shared/notifications-container';\r\nimport AdminDashboardContainer from 'containers/admin-dashboard/admin-dashboard-container';\r\nimport ProjectsLeftMenu from 'components/project-list/project-menu-bar/project-left-menu';\r\nimport { FormattedMessage } from 'react-intl';\r\nimport emptyAccessDeniedImage from 'images/empty_state_access_denied.svg';\r\nimport { getHomeRegion, setCurrentRegion } from 'store/api';\r\nimport Permissions from 'permissions/permissions';\r\nimport history from 'utils/history';\r\nimport { thisExpression } from '@babel/types';\r\nimport EmptyState from 'components/file-browser/file-list/empty-state';\r\n\r\nclass ProjectListPage extends Component {\r\n static propTypes = {\r\n match: PropTypes.object.isRequired,\r\n projectList: PropTypes.object,\r\n currentProject: PropTypes.object,\r\n currentUser: PropTypes.object\r\n };\r\n\r\n state = {\r\n // Show either table or tile view\r\n tableOrTile: null,\r\n userMode: false, //Set to true to filter out projects that you are not part of (for admins)\r\n sortKey: 'projectName',\r\n sortAsc: true,\r\n isWorkspaceButtonHidden: false\r\n };\r\n\r\n componentDidMount() {\r\n this.getTableOrTile();\r\n }\r\n\r\n UNSAFE_componentWillMount() {\r\n setCurrentRegion(getHomeRegion());\r\n\r\n if (!Permissions.Global.canViewProjects()) {\r\n history.push('/unauthorized');\r\n }\r\n }\r\n\r\n renderAdminDashboard() {\r\n if (Permissions.Global.User.canviewAdminDashboard()) {\r\n return ;\r\n }\r\n }\r\n\r\n onSortingChange = sortValue => {\r\n this.setState({\r\n sortKey: sortValue.key,\r\n sortAsc: sortValue.asc\r\n });\r\n };\r\n\r\n onUserModeChange = userModeValue => {\r\n this.setState({\r\n userMode: userModeValue\r\n });\r\n };\r\n\r\n setTableOrTileView = value => {\r\n const { currentUser } = this.props;\r\n if (currentUser) {\r\n if (value) this.setState({ tableOrTile: value });\r\n }\r\n };\r\n\r\n getTableOrTile = () => {\r\n const { currentUser } = this.props;\r\n if (currentUser) {\r\n const value = JSON.parse(localStorage.getItem(`project-list-display-mode-${currentUser.userId}`));\r\n if (value) this.setState({ tableOrTile: value });\r\n }\r\n };\r\n\r\n setshowHideWorkspace = value => {\r\n this.setState({\r\n isWorkspaceButtonHidden: value\r\n });\r\n };\r\n\r\n render() {\r\n const { tableOrTile, userMode, sortKey, sortAsc, isWorkspaceButtonHidden } = this.state;\r\n\r\n return (\r\n
    \r\n \r\n\r\n {this.props.currentUser &&\r\n this.props.currentUser.accessibleFeatures.filter(feature => feature.featureId === 0).length > 0 ? (\r\n \r\n \r\n \r\n
    \r\n \r\n ) : (\r\n }\r\n description={\r\n \r\n }\r\n img={emptyAccessDeniedImage}\r\n />\r\n )}\r\n \r\n \r\n
    \r\n );\r\n }\r\n}\r\n\r\nexport default ProjectListPage;\r\n","import PropTypes from 'prop-types';\r\nimport React, { Component } from 'react';\r\nimport ReactTooltip from 'react-tooltip';\r\nimport Header from 'containers/header/header';\r\nimport NotificationsContainer from 'containers/shared/notifications-container';\r\nimport AdminDashboardContainer from 'containers/admin-dashboard/admin-dashboard-container';\r\n\r\nimport { getHomeRegion, setCurrentRegion } from 'store/api';\r\nimport Permissions from 'permissions/permissions';\r\nimport history from 'utils/history';\r\n\r\nclass AdminAccessPage extends Component {\r\n static propTypes = {\r\n match: PropTypes.object.isRequired\r\n };\r\n\r\n constructor(props) {\r\n super(props);\r\n setCurrentRegion(getHomeRegion());\r\n }\r\n\r\n componentDidMount() {\r\n if (!Permissions.Global.User.canviewAdminDashboard() || !Permissions.Global.canViewAdminAccess()) {\r\n history.push('/unauthorized');\r\n }\r\n }\r\n\r\n render() {\r\n return (\r\n
    \r\n
    \r\n \r\n \r\n \r\n
    \r\n );\r\n }\r\n}\r\n\r\nexport default AdminAccessPage;\r\n","import PropTypes from 'prop-types';\r\nimport React, { Component } from 'react';\r\nimport ReactTooltip from 'react-tooltip';\r\nimport Icon from 'components/shared/icon';\r\n\r\nimport NotificationsContainer from 'containers/shared/notifications-container';\r\n\r\nimport { getHomeRegion, setCurrentRegion } from 'store/api';\r\nimport Permissions from 'permissions/permissions';\r\nimport history from 'utils/history';\r\n\r\nclass LoadingPage extends Component {\r\n static propTypes = {\r\n match: PropTypes.object.isRequired\r\n };\r\n\r\n UNSAFE_componentWillMount() {\r\n setCurrentRegion(getHomeRegion());\r\n\r\n if (!Permissions.Global.canViewProjects()) {\r\n history.push('/unauthorized');\r\n }\r\n }\r\n\r\n render() {\r\n return (\r\n
    \r\n \r\n \r\n \r\n
    \r\n );\r\n }\r\n}\r\n\r\nexport default LoadingPage;\r\n","export const BLOCK = 'translations';\r\n\r\nexport const htmlParser = {\r\n boldUnderlinedStart: '',\r\n boldUnderlinedEnd: ' ',\r\n boldStart: '',\r\n boldEnd: ''\r\n};\r\n\r\n// File selector\r\nexport const validFileExtensions = '.docx,.doc,.xlsx,.xls,.pptx,.ppt,.pdf,.txt,.xline';\r\nexport const MAX_AMOUNT_OF_FILES = 20;\r\nexport const MAX_FILE_SIZE = 26214400; //file size in bytes (25MB = 26214400 bytes )\r\n\r\nexport const ERROR_KEYS = {\r\n maxAmount: 'document-translation-notification.max-file-limit',\r\n maxSize: 'document-translation-notification.max-size-limit',\r\n fileFormat: 'document-translation-notification.file-extension-limit'\r\n};\r\n\r\nexport const translateTextMaxCharacters = 1000;\r\n\r\nexport const UPLOAD_STATES = {\r\n CANCELLED: 'CANCELLED',\r\n COMPLETED: 'COMPLETED',\r\n FAILED: 'FAILED',\r\n PENDING: 'PENDING',\r\n UPLOADING: 'UPLOADING'\r\n};\r\n\r\nexport const TranslationType = ['Adapted-Audit', 'Generic'];\r\n","import React, { Component } from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { BLOCK } from '../../constants';\r\nimport Checkbox from 'components/shared/form/checkbox';\r\nimport Button from 'components/shared/single-click-button';\r\nimport { FormattedMessage, injectIntl, intlShape } from 'react-intl';\r\nimport classNames from 'classnames';\r\nimport ContainerSelectionModal from 'components/project-list/container-selection/modal';\r\nimport { htmlParser } from '../../constants';\r\nimport Icon from 'components/shared/icon';\r\n\r\nclass TranslationDisclaimer extends Component {\r\n static propTypes = {\r\n canTranslate: PropTypes.bool.isRequired,\r\n currentUser: PropTypes.object,\r\n customClass: PropTypes.string,\r\n disclaimerFor: PropTypes.string.isRequired,\r\n disclaimerKeys: PropTypes.array.isRequired,\r\n haveAcceptedTerms: PropTypes.string.isRequired,\r\n hideButton: PropTypes.bool,\r\n intl: intlShape.isRequired,\r\n onTermsAcceptance: PropTypes.func,\r\n onTranslate: PropTypes.func,\r\n setUploadingFiles: PropTypes.func,\r\n uploadingFiles: PropTypes.bool\r\n };\r\n\r\n state = {\r\n showContainerSelectionModal: false\r\n };\r\n\r\n onContainerSelected = (memberFirmCode, containerCode, countryCode, toBeCached) => {\r\n const { currentUser } = this.props;\r\n\r\n this.setState({ showContainerSelectionModal: false });\r\n\r\n if (toBeCached) {\r\n localStorage.setItem(\r\n `preferred-container-${currentUser.userId}`,\r\n JSON.stringify({ memberFirmCode: memberFirmCode, containerCode: containerCode })\r\n );\r\n }\r\n\r\n return this.translate(memberFirmCode, containerCode);\r\n };\r\n\r\n handleButtonClick = () => {\r\n const {\r\n currentUser: { memberFirmContainers, memberFirmCode, containerCode, userId },\r\n disclaimerFor,\r\n onTranslate,\r\n setUploadingFiles\r\n } = this.props;\r\n const { showContainerSelectionModal } = this.state;\r\n\r\n if (disclaimerFor === 'text') {\r\n onTranslate();\r\n } else {\r\n const preferredContainer = JSON.parse(localStorage.getItem(`preferred-container-${userId}`)) || false;\r\n\r\n setUploadingFiles(true);\r\n\r\n if (preferredContainer) {\r\n return this.translate(preferredContainer.memberFirmCode, preferredContainer.containerCode);\r\n }\r\n\r\n if (memberFirmContainers && memberFirmContainers.length > 1 && !showContainerSelectionModal) {\r\n // Display member firm container selection modal\r\n this.setState({ showContainerSelectionModal: true });\r\n } else {\r\n return this.translate(memberFirmCode, containerCode);\r\n }\r\n }\r\n };\r\n\r\n translate = (memberFirmCode, containerCode) => {\r\n const { onTranslate } = this.props;\r\n return onTranslate(memberFirmCode, containerCode);\r\n };\r\n\r\n render() {\r\n const {\r\n canTranslate,\r\n disclaimerKeys,\r\n hideButton,\r\n currentUser,\r\n customClass,\r\n haveAcceptedTerms,\r\n intl: { formatMessage },\r\n onTermsAcceptance,\r\n uploadingFiles,\r\n setUploadingFiles\r\n } = this.props;\r\n const block = `${BLOCK}__disclaimer`;\r\n\r\n const { showContainerSelectionModal } = this.state;\r\n\r\n const terms = formatMessage(\r\n { id: 'translation.terms-and-conditions' },\r\n { boldStart: htmlParser.boldStart, boldEnd: htmlParser.boldEnd }\r\n );\r\n return (\r\n
    \r\n {disclaimerKeys.map((key, index) => {\r\n const msg = formatMessage(\r\n { id: key },\r\n {\r\n boldUnderlinedStart: htmlParser.boldUnderlinedStart,\r\n boldUnderlinedEnd: htmlParser.boldUnderlinedEnd,\r\n boldStart: htmlParser.boldStart,\r\n boldEnd: htmlParser.boldEnd\r\n }\r\n );\r\n return (\r\n

    \r\n {msg}\r\n

    \r\n );\r\n })}\r\n\r\n {hideButton ? null : (\r\n
    \r\n
    \r\n onTermsAcceptance(haveAcceptedTerms === 'unchecked' ? 'checked' : 'unchecked')}\r\n />\r\n \r\n
    \r\n \r\n {!uploadingFiles ? (\r\n \r\n ) : (\r\n \r\n )}\r\n \r\n this.setState({ showContainerSelectionModal: false }, () => setUploadingFiles(false))}\r\n onSubmit={this.onContainerSelected}\r\n cached\r\n />\r\n
    \r\n )}\r\n
    \r\n );\r\n }\r\n}\r\n\r\nexport default injectIntl(TranslationDisclaimer);\r\n","import React, { Component } from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { BLOCK } from './constants';\r\nimport TranslationDisclaimer from './shared/translations-disclaimer/translations-disclaimer';\r\n\r\nclass TranslationTabs extends Component {\r\n static propTypes = {\r\n children: PropTypes.array.isRequired,\r\n down: PropTypes.bool.isRequired,\r\n loadTranslationsList: PropTypes.func.isRequired,\r\n selectedTab: PropTypes.number.isRequired,\r\n setSelectedTab: PropTypes.func.isRequired,\r\n translations: PropTypes.object\r\n };\r\n\r\n componentDidMount() {\r\n const { loadTranslationsList } = this.props;\r\n loadTranslationsList();\r\n }\r\n\r\n render() {\r\n const { children, selectedTab } = this.props;\r\n\r\n return (\r\n
    \r\n
    {children[selectedTab]}
    \r\n {selectedTab === 2 ? (\r\n \r\n ) : null}\r\n
    \r\n );\r\n }\r\n}\r\n\r\nexport default TranslationTabs;\r\n","import React, { Component } from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { BLOCK, TranslationType } from '../../constants';\r\nimport { FormattedMessage } from 'react-intl';\r\nimport Icon from 'components/shared/icon';\r\nimport classNames from 'classnames';\r\nimport {\r\n Button as DropdownButton,\r\n Menu as Dropdown,\r\n MenuItem as DropdownItem,\r\n Wrapper as DropdownWrapper\r\n} from 'react-aria-menubutton';\r\nimport Button from 'components/shared/single-click-button';\r\n\r\nclass LanguageSelector extends Component {\r\n static propTypes = {\r\n setSourceLanguage: PropTypes.func.isRequired,\r\n setTargetLanguage: PropTypes.func.isRequired,\r\n sourceLanguage: PropTypes.object,\r\n targetLanguage: PropTypes.object,\r\n translations: PropTypes.object.isRequired,\r\n setTranslationType: PropTypes.func,\r\n translationType: PropTypes.string\r\n };\r\n\r\n state = {\r\n showTranslationType: false,\r\n isTranslationTypeInfoOpen: false\r\n };\r\n\r\n componentDidMount() {\r\n const { sourceLanguage, targetLanguage, translations, setSourceLanguage, setTargetLanguage } = this.props;\r\n if (sourceLanguage && targetLanguage) {\r\n const srcLang = translations.languagePairs\r\n ? translations.languagePairs.find(language => language.sourceLanguage.id === sourceLanguage.sourceLanguage.id)\r\n : null;\r\n\r\n if (srcLang) {\r\n setSourceLanguage(srcLang);\r\n let trgLang = srcLang.targetLanguages.find(language => language.id === targetLanguage.id);\r\n if (trgLang) {\r\n setTargetLanguage(trgLang);\r\n this.enableTranslationType(trgLang);\r\n }\r\n } else {\r\n setSourceLanguage(null);\r\n setTargetLanguage(null);\r\n }\r\n } else {\r\n setSourceLanguage(null);\r\n setTargetLanguage(null);\r\n }\r\n }\r\n\r\n enableTranslationType(targetLanguageValue) {\r\n const { sourceLanguage, translations, setTranslationType } = this.props;\r\n var targetLang = translations.languagePairs.find(\r\n lang => lang.sourceLanguage.id === sourceLanguage.sourceLanguage.id\r\n ).targetLanguages;\r\n if (targetLang.filter(x => x.name === targetLanguageValue.name).length > 1) {\r\n this.setState({ showTranslationType: true });\r\n setTranslationType(TranslationType[0]);\r\n } else {\r\n this.setState({ showTranslationType: false });\r\n setTranslationType('');\r\n }\r\n }\r\n\r\n onSourceLanguageSelect = (value, event) => {\r\n const { setSourceLanguage, setTranslationType } = this.props;\r\n event.stopPropagation();\r\n setSourceLanguage(value);\r\n this.setState({ showTranslationType: false });\r\n setTranslationType('');\r\n };\r\n\r\n onTargetLanguageSelect = (value, event) => {\r\n const { setTargetLanguage } = this.props;\r\n event.stopPropagation();\r\n setTargetLanguage(value);\r\n this.enableTranslationType(value);\r\n };\r\n\r\n onLanguageTypeSelect = (value, event) => {\r\n const { setTranslationType } = this.props;\r\n event.stopPropagation();\r\n setTranslationType(value);\r\n };\r\n\r\n openTranslationTypeInfoModal = event => {\r\n event.preventDefault();\r\n this.setState({ isTranslationTypeInfoOpen: true }, () => {\r\n document.addEventListener('click', this.closeMenu);\r\n });\r\n };\r\n\r\n closeMenu = () => {\r\n this.setState({ isTranslationTypeInfoOpen: false }, () => {\r\n document.removeEventListener('click', this.closeMenu);\r\n });\r\n };\r\n\r\n renderTranslationTypeInfoModal = () => {\r\n const block = `${BLOCK}__language-selector`;\r\n return (\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n {' - '}\r\n \r\n
    \r\n
    \r\n \r\n \r\n \r\n {' - '}\r\n \r\n
    \r\n
    \r\n
    \r\n );\r\n };\r\n\r\n render() {\r\n const { sourceLanguage, targetLanguage, translations, translationType } = this.props;\r\n const { showTranslationType, isTranslationTypeInfoOpen } = this.state;\r\n const block = `${BLOCK}__language-selector`;\r\n\r\n return (\r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n {sourceLanguage ? (\r\n sourceLanguage.sourceLanguage.name\r\n ) : (\r\n \r\n )}\r\n \r\n \r\n \r\n \r\n
      \r\n {translations.languagePairs\r\n ? translations.languagePairs.map((language, index) => (\r\n
    • \r\n \r\n {language.sourceLanguage.name}\r\n \r\n
    • \r\n ))\r\n : null}\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n {targetLanguage ? targetLanguage.name : }\r\n \r\n \r\n \r\n \r\n
      \r\n {sourceLanguage && sourceLanguage.targetLanguages\r\n ? Array.from(new Set(sourceLanguage.targetLanguages.map(s => s.id)))\r\n .map(id => {\r\n return { id: id, name: sourceLanguage.targetLanguages.find(s => s.id === id).name };\r\n })\r\n .map((language, index) => (\r\n
    • \r\n \r\n {language.name}\r\n \r\n
    • \r\n ))\r\n : null}\r\n
    \r\n
    \r\n \r\n
    \r\n {showTranslationType && (\r\n
    \r\n \r\n \r\n \r\n \r\n {isTranslationTypeInfoOpen && this.renderTranslationTypeInfoModal()}\r\n \r\n \r\n \r\n {translationType === '' ? (\r\n \r\n ) : (\r\n \r\n )}\r\n \r\n \r\n \r\n \r\n
      \r\n {TranslationType.map((type, index) => (\r\n
    • \r\n \r\n {}\r\n \r\n
    • \r\n ))}\r\n
    \r\n
    \r\n \r\n
    \r\n )}\r\n
    \r\n );\r\n }\r\n}\r\n\r\nexport default LanguageSelector;\r\n","import React, { Component } from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { BLOCK, validFileExtensions, MAX_AMOUNT_OF_FILES, MAX_FILE_SIZE, ERROR_KEYS } from '../constants';\r\nimport { FormattedMessage } from 'react-intl';\r\nimport Icon from 'components/shared/icon';\r\nimport Dropzone from 'dropzone';\r\nimport classNames from 'classnames';\r\nimport Button from 'components/shared/single-click-button';\r\nimport Modal from 'components/shared/modal';\r\nimport { addNotification } from 'store/notifications.js';\r\nimport store from 'store/store';\r\nimport ReactTooltip from 'react-tooltip';\r\n\r\nclass FileSelector extends Component {\r\n static propTypes = {\r\n addFilesToUpload: PropTypes.func.isRequired,\r\n filesToUpload: PropTypes.array.isRequired,\r\n removeFilesToUpload: PropTypes.func.isRequired,\r\n selectingFiles: PropTypes.bool.isRequired,\r\n setSelectingFiles: PropTypes.func.isRequired,\r\n uploadingFiles: PropTypes.bool.isRequired\r\n };\r\n\r\n constructor(props) {\r\n super(props);\r\n this.dropzoneElem = null;\r\n this.fileInputElem = React.createRef();\r\n this.dragEnterElem = null;\r\n }\r\n\r\n state = {\r\n isDraggingFile: false,\r\n showConfirmationModal: false,\r\n invalidDragging: false,\r\n isFileSelectorOpen: false,\r\n isNotificationSend: false\r\n };\r\n\r\n componentDidMount() {\r\n // Initialize dropzone for file upload by drag and drop\r\n const dropzone = new Dropzone(this.dropzoneElem, {\r\n autoProcessQueue: false,\r\n acceptedFiles: validFileExtensions,\r\n clickable: false,\r\n previewTemplate: '', // required but unused\r\n uploadMultiple: true,\r\n url: '/files' // required but unused\r\n });\r\n\r\n dropzone.on('addedfile', file => {\r\n const { invalidDragging } = this.state;\r\n if (!invalidDragging) {\r\n this.checkFilesToUpload([file], false);\r\n }\r\n });\r\n\r\n dropzone.on('addedfiles', files => {\r\n const { filesToUpload } = this.props;\r\n let isInvalid = files.length > MAX_AMOUNT_OF_FILES || filesToUpload.length + files.length > MAX_AMOUNT_OF_FILES;\r\n this.setState(\r\n {\r\n invalidDragging: isInvalid\r\n },\r\n () => (isInvalid && !this.state.isNotificationSend ? this.displayNotification(ERROR_KEYS['maxAmount']) : null)\r\n );\r\n });\r\n\r\n dropzone.on('dragenter', event => {\r\n this.dragEnterElem = event.target;\r\n if (event.dataTransfer.types.indexOf('Files') === -1) {\r\n return;\r\n }\r\n this.setState({ isDraggingFile: true });\r\n });\r\n\r\n dropzone.on('dragleave', event => {\r\n // If the drag leave event is on the last element that was entered,\r\n // mark dragging as done\r\n if (this.dragEnterElem === event.target) {\r\n this.setState({ isDraggingFile: false });\r\n }\r\n });\r\n\r\n dropzone.on('drop', event => {\r\n this.setState({ isDraggingFile: false });\r\n this.setState({ isNotificationSend: false });\r\n });\r\n }\r\n\r\n setDropzoneElem = elem => {\r\n this.dropzoneElem = elem;\r\n };\r\n\r\n displayNotification = type => {\r\n store.dispatch(\r\n addNotification({\r\n message: ,\r\n clearOnPageChange: true,\r\n autohide: 5\r\n })\r\n );\r\n };\r\n\r\n checkFilesToUpload = (files, fromInput = true) => {\r\n const { addFilesToUpload, filesToUpload } = this.props;\r\n const { maxFilesReached } = this.state;\r\n const fileExtensionValidationRegex = /\\.(docx|doc|xlsx|xls|pptx|ppt|pdf|txt|xline)$/i;\r\n\r\n this.setState({ isFileSelectorOpen: true });\r\n\r\n if (files.length > MAX_AMOUNT_OF_FILES || files.length + filesToUpload.length > MAX_AMOUNT_OF_FILES) {\r\n if (!this.state.isNotificationSend) {\r\n this.displayNotification(ERROR_KEYS['maxAmount']);\r\n this.setState({ isNotificationSend: true });\r\n }\r\n } else {\r\n const validFiles = files\r\n .filter(file => {\r\n const invalidSize = file.size > MAX_FILE_SIZE;\r\n const invalidFormat = !fileExtensionValidationRegex.test(file.name);\r\n\r\n if (fromInput) file.accepted = true;\r\n if (invalidSize) this.displayNotification(ERROR_KEYS['maxSize']);\r\n if (invalidFormat) this.displayNotification(ERROR_KEYS['fileFormat']);\r\n\r\n return !invalidSize && !invalidFormat;\r\n })\r\n .slice(0, MAX_AMOUNT_OF_FILES - filesToUpload.length);\r\n\r\n if (!maxFilesReached && filesToUpload.length < MAX_AMOUNT_OF_FILES) {\r\n addFilesToUpload(validFiles);\r\n }\r\n\r\n if (filesToUpload.length === MAX_AMOUNT_OF_FILES) {\r\n this.setState({ maxFilesReached: true });\r\n }\r\n }\r\n this.fileInputElem.current.value = '';\r\n this.setState({ isFileSelectorOpen: false });\r\n };\r\n\r\n removeSelectedFiles = () => {\r\n const { removeFilesToUpload, setSelectingFiles } = this.props;\r\n removeFilesToUpload();\r\n setSelectingFiles(false);\r\n this.setState({ showConfirmationModal: false });\r\n };\r\n\r\n renderConfirmationPopup = () => (\r\n \r\n
    \r\n

    \r\n \r\n

    \r\n

    \r\n \r\n

    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n );\r\n\r\n render() {\r\n const { filesToUpload, selectingFiles, uploadingFiles } = this.props;\r\n const { isDraggingFile, showConfirmationModal, isFileSelectorOpen } = this.state;\r\n\r\n const block = `${BLOCK}__file-selector`;\r\n const maxFilesReached = filesToUpload.length >= MAX_AMOUNT_OF_FILES;\r\n\r\n return (\r\n
    \r\n \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n this.setState({ isFileSelectorOpen: false })}\r\n onClick={() => this.setState({ isFileSelectorOpen: true })}\r\n htmlFor=\"argus-translation-file-input\"\r\n tabIndex=\"0\"\r\n disabled={false}\r\n data-tip\r\n data-for=\"tooltip-select-files-button\"\r\n >\r\n {!selectingFiles && !isFileSelectorOpen ? (\r\n \r\n ) : (\r\n \r\n )}\r\n \r\n this.checkFilesToUpload(Array.from(event.target.files))}\r\n id=\"argus-translation-file-input\"\r\n disabled={maxFilesReached || selectingFiles || uploadingFiles}\r\n />\r\n {!selectingFiles && !isFileSelectorOpen ? (\r\n \r\n \r\n \r\n ) : (\r\n ''\r\n )}\r\n
    \r\n
    \r\n {filesToUpload.length ? (\r\n
    \r\n
    \r\n \r\n \r\n {filesToUpload.length}\r\n \r\n \r\n
    \r\n this.setState({ showConfirmationModal: true })}\r\n >\r\n \r\n \r\n
    \r\n ) : null}\r\n {showConfirmationModal && this.renderConfirmationPopup()}\r\n
    \r\n );\r\n }\r\n}\r\n\r\nexport default FileSelector;\r\n","import React, { Component } from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { FormattedMessage } from 'react-intl';\r\n\r\nimport { BLOCK } from '../constants';\r\nimport TranslationDisclaimer from '../shared/translations-disclaimer/translations-disclaimer';\r\nimport LanguageSelector from '../shared/language-selector/language-selector';\r\nimport FileSelector from './file-selector';\r\n\r\nimport Icon from 'components/shared/icon';\r\nimport DocumentDownload from 'components/shared/document-download';\r\nimport { getCurrentBaseUrl } from 'store/api';\r\n\r\nclass TranslateDocument extends Component {\r\n static propTypes = {\r\n clearFilesOnProgress: PropTypes.func.isRequired,\r\n currentUser: PropTypes.object.isRequired,\r\n loadTranslationLanguagePairs: PropTypes.func.isRequired,\r\n setFileError: PropTypes.func.isRequired,\r\n setFileOnProgress: PropTypes.func.isRequired,\r\n setSelectedTab: PropTypes.func.isRequired,\r\n translateDocuments: PropTypes.func.isRequired,\r\n translations: PropTypes.object.isRequired,\r\n translationPageInfo: PropTypes.object,\r\n aboutArgus: PropTypes.object\r\n };\r\n\r\n state = {\r\n sourceLanguage: JSON.parse(localStorage.getItem(`preferredSourceLanguage`)) || null,\r\n targetLanguage: JSON.parse(localStorage.getItem(`preferredTargetLanguage`)) || null,\r\n filesToUpload: [],\r\n haveAcceptedTerms: 'unchecked',\r\n canTranslate: false,\r\n selectingFiles: false,\r\n uploadingFiles: false,\r\n translationType: ''\r\n };\r\n\r\n addFilesToUpload = files => {\r\n const { filesToUpload } = this.state;\r\n\r\n this.setSelectingFiles(true);\r\n\r\n this.setState(prevState => ({\r\n filesToUpload: [...prevState.filesToUpload, ...files]\r\n }), () => {\r\n this.setState({ canTranslate: this.checkFormValidity() }, () => this.setSelectingFiles(false));\r\n });\r\n };\r\n\r\n setSourceLanguage = sourceLanguage => {\r\n this.setState({ sourceLanguage: sourceLanguage, targetLanguage: null }, () =>\r\n this.setState({ canTranslate: this.checkFormValidity() })\r\n );\r\n };\r\n\r\n setTargetLanguage = targetLanguage => {\r\n this.setState({ targetLanguage: targetLanguage }, () => this.setState({ canTranslate: this.checkFormValidity() }));\r\n };\r\n\r\n setTranslationType = type => {\r\n this.setState({ translationType: type }, () => this.setState({ canTranslate: this.checkFormValidity() }));\r\n };\r\n\r\n removeFilesToUpload = () => {\r\n this.setState({ filesToUpload: [] }, () => this.setState({ canTranslate: this.checkFormValidity() }));\r\n };\r\n\r\n onTermsAcceptance = value => {\r\n this.setState({ haveAcceptedTerms: value }, () => this.setState({ canTranslate: this.checkFormValidity() }));\r\n };\r\n\r\n setSelectingFiles = value => this.setState({ selectingFiles: value });\r\n\r\n setUploadingFiles = value => this.setState({ uploadingFiles: value });\r\n\r\n checkFormValidity = () => {\r\n const { sourceLanguage, targetLanguage, filesToUpload, haveAcceptedTerms } = this.state;\r\n const validLanguagePair = sourceLanguage !== null && targetLanguage !== null;\r\n const validFilesToUpload = filesToUpload.length !== 0;\r\n const validTermsAndConditions = haveAcceptedTerms !== 'unchecked';\r\n\r\n return validLanguagePair && validFilesToUpload && validTermsAndConditions;\r\n };\r\n\r\n onTranslate = async (memberFirmCode, containerCode) => {\r\n const { filesToUpload, sourceLanguage, targetLanguage, translationType } = this.state;\r\n const { translateDocuments } = this.props;\r\n\r\n translateDocuments(\r\n filesToUpload,\r\n sourceLanguage,\r\n targetLanguage,\r\n translationType,\r\n memberFirmCode,\r\n containerCode,\r\n this.setUploadingFiles\r\n );\r\n };\r\n\r\n componentDidMount() {\r\n const { loadTranslationLanguagePairs } = this.props;\r\n loadTranslationLanguagePairs();\r\n }\r\n\r\n render() {\r\n const { translations, currentUser, translationPageInfo, aboutArgus } = this.props;\r\n const {\r\n filesToUpload,\r\n sourceLanguage,\r\n targetLanguage,\r\n haveAcceptedTerms,\r\n canTranslate,\r\n selectingFiles,\r\n uploadingFiles,\r\n translationType\r\n } = this.state;\r\n\r\n const block = `${BLOCK}__translate-document`;\r\n const disclaimerKeys = [\r\n 'document-translation-disclaimer.first-parragraph',\r\n 'document-translation-disclaimer.second-parragraph',\r\n 'document-translation-disclaimer.third-parragraph',\r\n 'document-translation-disclaimer.fourth-parragraph'\r\n ];\r\n\r\n return (\r\n
    \r\n {translations.isLanguagePairsLoading ? (\r\n \r\n ) : (\r\n <>\r\n \r\n {translationPageInfo?.quickReferenceGuide && (\r\n \r\n \r\n \r\n \r\n }\r\n linkUrl={`${getCurrentBaseUrl()}/${translationPageInfo.quickReferenceGuide}`}\r\n target=\"_blank\"\r\n supportEmail={aboutArgus.data.supportEmail}\r\n />\r\n )}\r\n \r\n \r\n \r\n )}\r\n
    \r\n );\r\n }\r\n}\r\n\r\nexport default TranslateDocument;\r\n","import React, { Component, Fragment } from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { FormattedMessage } from 'react-intl';\r\n\r\nimport { translateTextMaxCharacters } from '../constants';\r\nimport Icon from 'components/shared/icon';\r\n\r\nclass InputText extends Component {\r\n static propTypes = {\r\n block: PropTypes.string.isRequired,\r\n setText: PropTypes.func.isRequired\r\n };\r\n\r\n state = {\r\n textCounter: 0\r\n };\r\n\r\n textareaRef = React.createRef();\r\n\r\n handleChange = ({ target }) => {\r\n const { setText } = this.props;\r\n setText(target.value);\r\n this.setState({ textCounter: target.value.length });\r\n };\r\n\r\n handlePlaceholderClick = () => {\r\n this.textareaRef.focus();\r\n };\r\n\r\n render() {\r\n const { block } = this.props;\r\n const { textCounter } = this.state;\r\n\r\n return (\r\n
    \r\n {textCounter === 0 && (\r\n \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n )}\r\n (this.textareaRef = ref)}\r\n maxLength={translateTextMaxCharacters}\r\n className={`${block}__textarea`}\r\n onChange={this.handleChange}\r\n />\r\n
    \r\n \r\n {textCounter}/{translateTextMaxCharacters}\r\n
    \r\n
    \r\n );\r\n }\r\n}\r\n\r\nexport default InputText;\r\n","import React, { Component, Fragment } from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { FormattedMessage } from 'react-intl';\r\nimport Icon from 'components/shared/icon';\r\n\r\nclass TargetText extends Component {\r\n static propTypes = {\r\n block: PropTypes.string.isRequired,\r\n text: PropTypes.string.isRequired\r\n };\r\n\r\n state = {\r\n textCounter: 0\r\n };\r\n\r\n textareaRef = React.createRef();\r\n\r\n render() {\r\n const { block, text } = this.props;\r\n\r\n return (\r\n
    \r\n {!text ? (\r\n \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n ) : (\r\n
    {text}
    \r\n )}\r\n
    \r\n \r\n
    \r\n
    \r\n );\r\n }\r\n}\r\n\r\nexport default TargetText;\r\n","import React, { Component } from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { BLOCK, TranslationType } from '../constants';\r\nimport LanguageSelector from '../shared/language-selector/language-selector';\r\nimport TranslationDisclaimer from '../shared/translations-disclaimer/translations-disclaimer';\r\nimport InputText from './input-text';\r\nimport TargetText from './target-text';\r\nimport Icon from 'components/shared/icon';\r\nimport store from 'store/store';\r\nimport { addNotification } from 'store/notifications.js';\r\nimport { FormattedMessage } from 'react-intl';\r\n\r\nclass TranslateText extends Component {\r\n static propTypes = {\r\n currentUser: PropTypes.object.isRequired,\r\n loadTranslationLanguagePairs: PropTypes.func.isRequired,\r\n translateText: PropTypes.func.isRequired,\r\n translations: PropTypes.object.isRequired\r\n };\r\n\r\n state = {\r\n sourceLanguage: JSON.parse(localStorage.getItem(`preferredSourceLanguage`)) || null,\r\n targetLanguage: JSON.parse(localStorage.getItem(`preferredTargetLanguage`)) || null,\r\n text: '',\r\n translatedText: '',\r\n haveAcceptedTerms: 'unchecked',\r\n canTranslate: false,\r\n translationType: ''\r\n };\r\n\r\n checkFormValidity = () => {\r\n const { sourceLanguage, targetLanguage, haveAcceptedTerms } = this.state;\r\n const validLanguagePair = sourceLanguage !== null && targetLanguage !== null;\r\n const validTermsAndConditions = haveAcceptedTerms !== 'unchecked';\r\n\r\n return validLanguagePair && validTermsAndConditions;\r\n };\r\n\r\n setSourceLanguage = sourceLanguage => {\r\n this.setState({ sourceLanguage: sourceLanguage, targetLanguage: null, haveAcceptedTerms: 'unchecked' }, () =>\r\n this.setState({ canTranslate: this.checkFormValidity() })\r\n );\r\n };\r\n\r\n setTargetLanguage = targetLanguage => {\r\n this.setState({ targetLanguage: targetLanguage, haveAcceptedTerms: 'unchecked' }, () =>\r\n this.setState({ canTranslate: this.checkFormValidity() })\r\n );\r\n };\r\n\r\n setTranslationType = type => {\r\n this.setState({ translationType: type }, () => this.setState({ canTranslate: this.checkFormValidity() }));\r\n };\r\n\r\n onTermsAcceptance = value => {\r\n this.setState({ haveAcceptedTerms: value }, () => this.setState({ canTranslate: this.checkFormValidity() }));\r\n };\r\n\r\n setText = value => {\r\n this.setState({ text: value, translatedText: '' });\r\n };\r\n\r\n onTranslate = () => {\r\n const { translateText } = this.props;\r\n const { text, sourceLanguage, targetLanguage, translationType } = this.state;\r\n const payload = {\r\n sourceLanguageId: sourceLanguage.sourceLanguage.id,\r\n targetLanguageId: targetLanguage.id,\r\n translationType: translationType === '' ? TranslationType[1] : translationType,\r\n text: text\r\n };\r\n return translateText(payload)\r\n .then(data => {\r\n this.setState({ translatedText: data.payload, haveAcceptedTerms: 'unchecked' }, () =>\r\n this.setState({ canTranslate: this.checkFormValidity() })\r\n );\r\n localStorage.setItem('preferredSourceLanguage', JSON.stringify(sourceLanguage));\r\n localStorage.setItem('preferredTargetLanguage', JSON.stringify(targetLanguage));\r\n })\r\n .catch(() =>\r\n store.dispatch(\r\n addNotification({\r\n message: ,\r\n clearOnPageChange: true,\r\n autohide: 5\r\n })\r\n )\r\n );\r\n };\r\n\r\n componentDidMount() {\r\n const { loadTranslationLanguagePairs } = this.props;\r\n loadTranslationLanguagePairs();\r\n }\r\n\r\n render() {\r\n const { translations, currentUser } = this.props;\r\n const {\r\n sourceLanguage,\r\n targetLanguage,\r\n haveAcceptedTerms,\r\n canTranslate,\r\n translatedText,\r\n translationType\r\n } = this.state;\r\n\r\n const BLOCK_TEXT = `${BLOCK}-text`;\r\n const disclaimerKeys = [\r\n 'document-translation-disclaimer.first-parragraph',\r\n 'document-translation-disclaimer.second-parragraph',\r\n 'document-translation-disclaimer.third-parragraph',\r\n 'document-translation-disclaimer.fourth-parragraph'\r\n ];\r\n return (\r\n
    \r\n {translations.isLanguagePairsLoading ? (\r\n \r\n ) : (\r\n <>\r\n \r\n
    \r\n \r\n \r\n
    \r\n \r\n \r\n )}\r\n
    \r\n );\r\n }\r\n}\r\n\r\nexport default TranslateText;\r\n","import React, { Component } from 'react';\r\nimport { FormattedMessage } from 'react-intl';\r\n\r\nimport moment from 'moment';\r\nimport 'moment/min/locales';\r\n\r\nimport CONSTANTS from 'utils/constants';\r\nimport PropTypes from 'prop-types';\r\nimport { deleteTranslation } from 'store/api';\r\n\r\nimport Icon from 'components/shared/icon';\r\nimport Modal from 'components/shared/modal';\r\nimport Button from 'components/shared/single-click-button';\r\nimport DocumentDownload from 'components/shared/document-download';\r\nimport GenericDeleteModal from 'components/shared/delete-modal/delete-modal';\r\nimport ReactTooltip from 'react-tooltip';\r\n\r\nclass TranslationQueueTable extends Component {\r\n static propTypes = {\r\n block: PropTypes.string.isRequired,\r\n currentLanguage: PropTypes.object,\r\n documentStatus: PropTypes.object,\r\n loadTranslationListLocal: PropTypes.func.isRequired,\r\n loadTranslationsList: PropTypes.func.isRequired,\r\n translations: PropTypes.object.isRequired,\r\n aboutArgus: PropTypes.object\r\n };\r\n\r\n state = {\r\n showDeleteModal: false,\r\n translationToDelete: null,\r\n loadingDocument: false\r\n };\r\n\r\n getTranslationStatus = translationStaus => {\r\n const status = Object.keys(CONSTANTS.TranslationStatus).find(\r\n key => CONSTANTS.TranslationStatus[key] === translationStaus\r\n );\r\n\r\n return translationStaus ? status : 'NoStatus';\r\n };\r\n\r\n getExportFileName = (fileName, targetLanguage, fileExtension) => {\r\n const timestamp = moment.utc().format('YYYY-MM-DDTHH_mm_ss');\r\n return `${fileName}__${targetLanguage}__${timestamp}${fileExtension}`;\r\n };\r\n\r\n handleDeleteSubmit = () => {\r\n const { translationToDelete } = this.state;\r\n const { translations, loadTranslationListLocal } = this.props;\r\n deleteTranslation(\r\n translationToDelete.userTranslationDetailId,\r\n translationToDelete.memberFirmCode,\r\n translationToDelete.containerCode\r\n ).then(data => {\r\n if (data) {\r\n loadTranslationListLocal(\r\n translations.translations.filter(\r\n translation => translation.userTranslationDetailId !== translationToDelete.userTranslationDetailId\r\n )\r\n );\r\n this.setState({ showDeleteModal: false, translationToDelete: null });\r\n }\r\n });\r\n };\r\n\r\n handleDeleteClick = translationToDelete => {\r\n this.setState({ showDeleteModal: true, translationToDelete: translationToDelete });\r\n };\r\n\r\n handleDeleteCancel = () => {\r\n this.setState({ showDeleteModal: false, translationToDelete: null });\r\n };\r\n\r\n getErrorText = errorCode => {\r\n if (errorCode === '10003') return 'IsProtected';\r\n else if (errorCode === '10002' || errorCode === '10001') return 'TimedOut';\r\n };\r\n\r\n render() {\r\n const { block, currentLanguage, translations, documentStatus, aboutArgus } = this.props;\r\n const { loadingDocument, showDeleteModal } = this.state;\r\n const tableHeaders = ['document', 'language', 'submitted', 'status', 'action'];\r\n moment.locale(currentLanguage.localeCode);\r\n return (\r\n
    \r\n {showDeleteModal && (\r\n \r\n \r\n \r\n )}\r\n\r\n {translations.translations.length > 1 &&\r\n translations.translations.filter(x => x.translationStateId == 5).length >= 1 ? (\r\n \r\n
    \r\n \r\n \r\n
    \r\n \r\n }\r\n target=\"_self\"\r\n documentFilename={'Translated documents'}\r\n supportEmail={aboutArgus.data.supportEmail}\r\n />\r\n ) : null}\r\n\r\n \r\n \r\n \r\n {tableHeaders.map((heading, index) => {\r\n return (\r\n \r\n );\r\n })}\r\n \r\n \r\n \r\n {translations.translations.map((translation, index) => {\r\n const translationStatusId =\r\n documentStatus[translation.userTranslationDetailId]?.statusId || translation.translationStateId;\r\n const errorCode = documentStatus[translation.userTranslationDetailId]?.errorCode || translation.errorCode;\r\n const translationStatus = this.getTranslationStatus(translationStatusId);\r\n const icon =\r\n loadingDocument === translation.userTranslationDetailId ? (\r\n \r\n ) : (\r\n \r\n );\r\n\r\n return (\r\n \r\n {translationStatusId === 5 ? (\r\n \r\n ) : (\r\n \r\n )}\r\n \r\n \r\n {translationStatusId === 7 &&\r\n (errorCode === '10003' || errorCode === '10002' || errorCode === '10001') ? (\r\n \r\n ) : (\r\n \r\n )}\r\n \r\n \r\n );\r\n })}\r\n \r\n
    \r\n \r\n
    \r\n \r\n {icon}\r\n {translation.sourceFileName}\r\n \r\n }\r\n disable={loadingDocument === translation.userTranslationDetailId}\r\n target=\"_self\"\r\n title={translation.sourceFileName}\r\n documentFilename={this.getExportFileName(\r\n translation.sourceFileName,\r\n translation.targetLanguageName,\r\n translation.sourceFileExtension\r\n )}\r\n documentLoading={() => this.setState({ loadingDocument: translation.userTranslationDetailId })}\r\n documentLoaded={() => this.setState({ loadingDocument: false })}\r\n supportEmail={aboutArgus.data.supportEmail}\r\n />\r\n \r\n \r\n {translation.sourceFileName}\r\n \r\n \r\n \r\n {translation.sourceLanguageName}\r\n \r\n {translation.targetLanguageName}\r\n {` (`}\r\n {translation.translationType && (\r\n \r\n )}\r\n {`)`}\r\n \r\n \r\n {moment.utc(translation.submittedDate).fromNow()}\r\n \r\n
    \r\n \r\n \r\n \r\n  \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n
    \r\n \r\n \r\n \r\n this.handleDeleteClick(translation)}\r\n size=\"icon\"\r\n className={`${block}__table__delete critical-icon`}\r\n >\r\n \r\n \r\n
    \r\n
    \r\n );\r\n }\r\n}\r\n\r\nexport default TranslationQueueTable;\r\n","import React, { Component } from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { BLOCK } from '../constants';\r\nimport { FormattedMessage } from 'react-intl';\r\nimport Icon from 'components/shared/icon';\r\nimport TranslationQueueTable from './translation-queue-table';\r\nimport socket, { rooms } from 'utils/socket';\r\nimport DocumentDownload from 'components/shared/document-download';\r\nimport moment from 'moment';\r\nimport 'moment/min/locales';\r\n\r\nclass TranslationQueue extends Component {\r\n static propTypes = {\r\n currentLanguage: PropTypes.object,\r\n currentUser: PropTypes.object.isRequired,\r\n loadTranslationListLocal: PropTypes.func.isRequired,\r\n loadTranslationsList: PropTypes.func.isRequired,\r\n translations: PropTypes.object,\r\n aboutArgus: PropTypes.object\r\n };\r\n\r\n state = {\r\n documentStatus: {}\r\n };\r\n\r\n componentDidMount() {\r\n const {\r\n loadTranslationsList,\r\n currentUser: { userId }\r\n } = this.props;\r\n loadTranslationsList();\r\n\r\n socket.on('content.translation.state.update', this.onStatusChange);\r\n socket.join(rooms.translationStatus(userId));\r\n }\r\n\r\n onStatusChange = payload => {\r\n const { documentStatus } = this.state;\r\n const { translations, loadTranslationListLocal } = this.props;\r\n\r\n if (translations.translations.length > 0) {\r\n const document = translations.translations.find(\r\n translation => translation.userTranslationDetailId === payload.data.contentTranslationId\r\n );\r\n if (document !== undefined) {\r\n this.setState(\r\n {\r\n documentStatus: {\r\n ...documentStatus,\r\n [payload.data.contentTranslationId]: {\r\n statusId: payload.data.contentTranslationState,\r\n errorCode: payload.data.errorCode\r\n }\r\n }\r\n },\r\n () => {\r\n this.forceUpdate();\r\n }\r\n );\r\n\r\n // loadTranslationListLocal(\r\n // translations.translations.map(translation =>\r\n // translation.userTranslationDetailId === payload.data.contentTranslationId\r\n // ? { ...translation, translationStateId: payload.data.contentTranslationState }\r\n // : translation\r\n // )\r\n // );\r\n }\r\n }\r\n };\r\n\r\n componentWillUnmount() {\r\n const {\r\n currentUser: { userId }\r\n } = this.props;\r\n\r\n socket.leave(rooms.translationStatus(userId));\r\n }\r\n getExportFileName = (fileName, targetLanguage, fileExtension) => {\r\n const timestamp = moment.utc().format('YYYY-MM-DDTHH_mm_ss');\r\n return `${fileName}__${targetLanguage}__${timestamp}${fileExtension}`;\r\n };\r\n\r\n render() {\r\n const { documentStatus } = this.state;\r\n const { translations, aboutArgus } = this.props;\r\n\r\n const icon = ;\r\n\r\n const BLOCK_QUEUE = `${BLOCK}-queue`;\r\n return (\r\n
    \r\n
    \r\n
    \r\n

    \r\n \r\n

    \r\n \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n {translations.isTranslationsLoading ? (\r\n \r\n ) : translations.translations.length > 0 ? (\r\n \r\n ) : (\r\n \r\n \r\n \r\n )}\r\n
    \r\n
    \r\n );\r\n }\r\n}\r\n\r\nexport default TranslationQueue;\r\n","import React, { Component } from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { BLOCK } from './constants';\r\nimport { FormattedMessage } from 'react-intl';\r\nimport Icon from 'components/shared/icon';\r\n\r\nclass TranslationDownMessage extends Component {\r\n static propTypes = {\r\n machineTranslationDownTimeDuration: PropTypes.string,\r\n machineTranslationDownTimeDurationUnitKey: PropTypes.string\r\n };\r\n\r\n render() {\r\n const { machineTranslationDownTimeDuration, machineTranslationDownTimeDurationUnitKey } = this.props;\r\n\r\n return (\r\n
    \r\n
    \r\n \r\n
    \r\n \r\n \r\n  \r\n {machineTranslationDownTimeDuration} \r\n \r\n \r\n
    \r\n );\r\n }\r\n}\r\n\r\nexport default TranslationDownMessage;\r\n","import React, { Component } from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { FormattedMessage } from 'react-intl';\r\nimport classNames from 'classnames';\r\nimport ReactTooltip from 'react-tooltip';\r\nimport { getIntlKeyForCode } from 'utils/errors';\r\nimport Icon from 'components/shared/icon';\r\nimport { UPLOAD_STATES } from '../../constants';\r\nimport { ERROR_CODES } from '../../../../utils/errors';\r\n\r\nclass UploadFile extends Component {\r\n static propTypes = {\r\n cancelUpload: PropTypes.func.isRequired,\r\n upload: PropTypes.object.isRequired\r\n };\r\n\r\n onCancelClick = () => {\r\n const { cancelUpload, upload } = this.props;\r\n\r\n cancelUpload({ id: upload.id });\r\n };\r\n\r\n render() {\r\n const {\r\n upload: { state, loaded, name, total, errorCode }\r\n } = this.props;\r\n\r\n const progressPercent = loaded ? (loaded * 100) / total : 0;\r\n const iconName =\r\n state === UPLOAD_STATES.CANCELLED || state === UPLOAD_STATES.FAILED ? 'special-error' : 'special-doc';\r\n\r\n const displaySize =\r\n total > 1024 ** 3\r\n ? `${(total / 1024 ** 3).toFixed(2)}GB`\r\n : total > 1024 ** 2\r\n ? `${(total / 1024 ** 2).toFixed(2)}MB`\r\n : `${(total / 1024).toFixed(2)}kB`;\r\n\r\n const errorMessage = getIntlKeyForCode(errorCode);\r\n\r\n return (\r\n
    \r\n
    \r\n \r\n {errorMessage && errorCode !== ERROR_CODES.DOCUMENT_INFECTED && (\r\n \r\n \r\n \r\n )}\r\n
    \r\n {state === UPLOAD_STATES.FAILED ? (\r\n errorCode !== ERROR_CODES.DOCUMENT_INFECTED ? (\r\n \r\n \r\n \r\n ) : (\r\n
    \r\n {errorMessage && errorCode === ERROR_CODES.DOCUMENT_INFECTED && (\r\n \r\n \r\n \r\n )}\r\n \r\n \r\n \r\n
    \r\n )\r\n ) : null}\r\n {state === UPLOAD_STATES.CANCELLED ? (\r\n \r\n \r\n \r\n ) : null}\r\n {state === UPLOAD_STATES.COMPLETED ? (\r\n \r\n \r\n \r\n ) : null}\r\n {state === UPLOAD_STATES.PENDING || state === UPLOAD_STATES.UPLOADING ? (\r\n {name}\r\n ) : null}\r\n
    \r\n
      {total ? displaySize : ''}
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n );\r\n }\r\n}\r\nexport default UploadFile;\r\n","import React, { Component } from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { FormattedMessage } from 'react-intl';\r\nimport { UPLOAD_STATES } from 'models/uploads';\r\nimport Button from 'components/shared/single-click-button';\r\nimport UploadFile from './upload-file';\r\n\r\nclass UploadProgress extends Component {\r\n static propTypes = {\r\n clearUploads: PropTypes.func.isRequired,\r\n uploads: PropTypes.array.isRequired\r\n };\r\n\r\n render() {\r\n const { clearUploads, uploads } = this.props;\r\n\r\n const numUploads = Object.values(uploads).filter(upload =>\r\n [UPLOAD_STATES.PENDING, UPLOAD_STATES.UPLOADING].includes(upload.state)\r\n ).length;\r\n\r\n if (!uploads.length) {\r\n return null;\r\n }\r\n\r\n return (\r\n
    \r\n
    \r\n

    \r\n {numUploads ? (\r\n \r\n ) : (\r\n \r\n )}\r\n

    \r\n \r\n
    \r\n
    \r\n {uploads.map(upload => (\r\n {}} />\r\n ))}\r\n
    \r\n
    \r\n );\r\n }\r\n}\r\n\r\nexport default UploadProgress;\r\n","import React, { Component } from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { BLOCK } from './constants';\r\nimport TranslationTabs from './translation-tabs';\r\nimport TranslateDocument from './translate-document/translate-document';\r\nimport TranslateText from './translate-text/translate-text';\r\nimport TranslationQueue from './translation-queue/translation-queue';\r\nimport TranslationDownMessage from './translation-down-message';\r\nimport { FormattedMessage } from 'react-intl';\r\nimport CONSTANTS from 'utils/constants';\r\nimport { UPLOAD_STATES, TranslationType } from './constants';\r\nimport UploadProgress from './shared/upload-progress/upload-progress';\r\nimport store from 'store/store';\r\nimport { addNotification } from 'store/notifications.js';\r\nimport ProjectsLeftMenu from '../project-list/project-menu-bar/project-left-menu';\r\nimport { ERROR_CODES } from '../../utils/errors';\r\n\r\nclass Translation extends Component {\r\n static propTypes = {\r\n currentLanguage: PropTypes.object,\r\n currentUser: PropTypes.object,\r\n isMachineTranslationAvailable: PropTypes.bool,\r\n loadTranslationLanguagePairs: PropTypes.func.isRequired,\r\n loadTranslationListLocal: PropTypes.func.isRequired,\r\n loadTranslationsList: PropTypes.func.isRequired,\r\n location: PropTypes.object,\r\n machineTranslationDownTimeDuration: PropTypes.string,\r\n machineTranslationDownTimeDurationUnitKey: PropTypes.string,\r\n translateDocuments: PropTypes.func.isRequired,\r\n translateText: PropTypes.func.isRequired,\r\n translations: PropTypes.object.isRequired,\r\n aboutArgus: PropTypes.object\r\n };\r\n\r\n state = {\r\n selectedTab: 0,\r\n filesOnProgress: []\r\n };\r\n\r\n setSelectedTab = tab => {\r\n this.setState({ selectedTab: tab });\r\n };\r\n\r\n clearUploads = () => {\r\n this.setState({ filesOnProgress: [] });\r\n };\r\n\r\n clearFilesOnProgress = () => {\r\n this.setState({ filesOnProgress: [] });\r\n };\r\n\r\n setFileOnProgress = (fileStatus, index, name) => {\r\n const { filesOnProgress } = this.state;\r\n const tempFileStatus = {\r\n loaded: fileStatus.loaded,\r\n total: fileStatus.total,\r\n state: UPLOAD_STATES.UPLOADING,\r\n id: index,\r\n name: name\r\n };\r\n const fileExists = filesOnProgress.find(file => file.id === index);\r\n const updatedFilesOnProgress = fileExists\r\n ? filesOnProgress.map(file => {\r\n if (file.id === index) {\r\n file.loaded = fileStatus.loaded;\r\n file.state = fileStatus.loaded === file.total ? UPLOAD_STATES.COMPLETED : UPLOAD_STATES.UPLOADING;\r\n }\r\n return file;\r\n })\r\n : filesOnProgress.concat(tempFileStatus);\r\n\r\n this.setState({ filesOnProgress: updatedFilesOnProgress });\r\n };\r\n\r\n setFileError = index => {\r\n const { filesOnProgress } = this.state;\r\n const updatedFilesOnProgress = filesOnProgress.map(file => {\r\n if (file.id === index) {\r\n file.state = UPLOAD_STATES.FAILED;\r\n }\r\n return file;\r\n });\r\n\r\n this.setState({ filesOnProgress: updatedFilesOnProgress });\r\n };\r\n\r\n setFileInfected = name => {\r\n const { filesOnProgress } = this.state;\r\n const updatedFilesOnProgress = filesOnProgress.map(file => {\r\n if (file.name === name) {\r\n file.state = UPLOAD_STATES.FAILED;\r\n file.errorCode = ERROR_CODES.DOCUMENT_INFECTED;\r\n }\r\n return file;\r\n });\r\n\r\n this.setState({ filesOnProgress: updatedFilesOnProgress });\r\n };\r\n\r\n componentDidMount() {\r\n const { location } = this.props;\r\n const selectedTab = Object.values(CONSTANTS.TRANSLATION_TABS).indexOf(location.hash.replace('#', ''));\r\n if (selectedTab >= 0) {\r\n this.setSelectedTab(selectedTab);\r\n }\r\n }\r\n\r\n translateDocuments = (\r\n files,\r\n sourceLanguage,\r\n targetLanguage,\r\n translationType,\r\n memberFirmCode,\r\n containerCode,\r\n setUploadingFiles\r\n ) => {\r\n const { translateDocuments, loadTranslationsList } = this.props;\r\n\r\n Promise.all(\r\n files.map((document, index) => {\r\n const payload = {\r\n sourceLanguageId: sourceLanguage.sourceLanguage.id,\r\n targetLanguageId: targetLanguage.id,\r\n translationType: translationType === '' ? TranslationType[1] : translationType,\r\n document: document,\r\n onUploadProgress: fileStatus => this.setFileOnProgress(fileStatus, index, document.name),\r\n onUploadError: () => this.setFileError(index),\r\n memberFirmCode: memberFirmCode,\r\n containerCode: containerCode\r\n };\r\n return translateDocuments(payload);\r\n })\r\n )\r\n .then(res => {\r\n localStorage.setItem('preferredSourceLanguage', JSON.stringify(sourceLanguage));\r\n localStorage.setItem('preferredTargetLanguage', JSON.stringify(targetLanguage));\r\n\r\n var infectedFiles = res\r\n .filter(file => file.payload[0].translationStateId == 6)\r\n .map(file => file.payload[0].sourceFileName);\r\n if (infectedFiles.length != 0) {\r\n infectedFiles.map(name => this.setFileInfected(name));\r\n loadTranslationsList();\r\n this.setSelectedTab(2);\r\n } else {\r\n this.setState({ filesToUpload: [], haveAcceptedTerms: 'unchecked', canTranslate: false }, () => {\r\n setUploadingFiles(false);\r\n loadTranslationsList();\r\n this.setSelectedTab(2);\r\n setTimeout(() => {\r\n this.clearFilesOnProgress();\r\n }, 1500);\r\n });\r\n }\r\n })\r\n .catch(() =>\r\n store.dispatch(\r\n addNotification({\r\n message: ,\r\n clearOnPageChange: true,\r\n autohide: 5\r\n })\r\n )\r\n );\r\n };\r\n\r\n render() {\r\n const {\r\n currentLanguage,\r\n currentUser,\r\n loadTranslationLanguagePairs,\r\n translations,\r\n loadTranslationsList,\r\n loadTranslationListLocal,\r\n aboutArgus,\r\n translateText\r\n } = this.props;\r\n const { selectedTab, filesOnProgress } = this.state;\r\n const down = !translations.isMachineTranslationAvailable;\r\n const translationPageInfo = aboutArgus?.data?.translationPage;\r\n\r\n const tabsContent = [\r\n ,\r\n ,\r\n \r\n ];\r\n return (\r\n
    \r\n {down && selectedTab < 2 && (\r\n \r\n )}\r\n \r\n \r\n \r\n
    \r\n );\r\n }\r\n}\r\n\r\nexport default Translation;\r\n","import { connect } from 'react-redux';\r\n\r\nimport Translation from 'components/translation/translation';\r\nimport {\r\n loadTranslationLanguagePairs,\r\n loadTranslationsList,\r\n loadTranslationListLocal,\r\n translateDocuments,\r\n translateText\r\n} from 'store/translations';\r\n\r\nconst mapStateToProps = ({ data: { translations, currentLanguage, currentUser, aboutArgus } }) => ({\r\n translations,\r\n currentLanguage,\r\n currentUser,\r\n aboutArgus\r\n});\r\n\r\nconst mapDispatchToProps = {\r\n loadTranslationLanguagePairs,\r\n loadTranslationsList,\r\n loadTranslationListLocal,\r\n translateDocuments,\r\n translateText\r\n};\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(Translation);\r\n","import PropTypes from 'prop-types';\r\nimport React, { Component } from 'react';\r\nimport ReactTooltip from 'react-tooltip';\r\nimport Header from 'containers/header/header';\r\nimport TranslationContainer from 'containers/translation/translation-container';\r\nimport NotificationsContainer from 'containers/shared/notifications-container';\r\nimport EmptyState from 'components/file-browser/file-list/empty-state';\r\nimport { getHomeRegion, setCurrentRegion } from 'store/api';\r\nimport Permissions from 'permissions/permissions';\r\nimport history from 'utils/history';\r\nimport { FormattedMessage } from 'react-intl';\r\nimport emptyAccessDeniedImage from 'images/empty_state_access_denied.svg';\r\n\r\nclass Translation extends Component {\r\n static propTypes = {\r\n match: PropTypes.object.isRequired,\r\n currentUser: PropTypes.object\r\n };\r\n\r\n UNSAFE_componentWillMount() {\r\n setCurrentRegion(getHomeRegion());\r\n\r\n if (!Permissions.Global.canViewProjects()) {\r\n history.push('/unauthorized');\r\n }\r\n }\r\n\r\n render() {\r\n return (\r\n
    \r\n
    \r\n {this.props.currentUser &&\r\n this.props.currentUser.accessibleFeatures.filter(feature => feature.featureId === 1).length > 0 ? (\r\n \r\n ) : (\r\n }\r\n description={\r\n \r\n }\r\n img={emptyAccessDeniedImage}\r\n />\r\n )}\r\n \r\n \r\n
    \r\n );\r\n }\r\n}\r\n\r\nexport default Translation;\r\n","import React, { useEffect, useState, useRef } from 'react';\r\nimport { FormattedMessage } from 'react-intl';\r\nimport * as api from 'store/api';\r\nimport Icon from 'components/shared/icon';\r\nimport Modal from 'components/shared/modal';\r\nimport Button from 'components/shared/single-click-button';\r\nimport Dropdown from 'react-dropdown';\r\nimport 'react-dropdown/style.css';\r\nimport DateTimePicker from 'react-datetime-picker';\r\n\r\nfunction CreateMaintenanceMessagePopup({\r\n isOpen,\r\n closeMaintenancePopup,\r\n loadMessages,\r\n GeoCode,\r\n MessageText,\r\n StartDate,\r\n EndDate,\r\n TimeZone\r\n}) {\r\n const [loading, changeLoadingStatus] = useState(true);\r\n const [timeZones, setTimezone] = useState([]);\r\n const [selectedRegion, onRegionChange] = useState();\r\n const [selectedTimezoneId, onTimeZoneIdChange] = useState('');\r\n const [selectedTimezoneName, onTimeZoneNameChange] = useState('');\r\n const [timezoneOffset, onTimezoneOffSet] = useState('');\r\n const [maintenanceMessage, maintenanceMessageText] = useState();\r\n const [startDate, startDateOnChange] = useState(new Date());\r\n const [endDate, endDateOnChange] = useState(startDate);\r\n const [disableButton, disableButtonFunc] = useState(true);\r\n const [dateValidation, dateValidationFailed] = useState(false);\r\n const [startDateValidation, startDateValidationFailed] = useState(false);\r\n const [endDateValidation, endDateValidationFailed] = useState(false);\r\n const buttonRef = useRef(0);\r\n let selectedTimezoneObj = {};\r\n let timezoneId;\r\n let timezoneName;\r\n let userSelectedTimezoneOffset;\r\n\r\n useEffect(() => {\r\n loadTimezones();\r\n }, []);\r\n\r\n const loadTimezones = () => {\r\n localStorage.removeItem('region');\r\n localStorage.removeItem('timezoneId');\r\n localStorage.removeItem('message');\r\n localStorage.removeItem('startDateValidationCheck');\r\n localStorage.removeItem('dateValidationCheck');\r\n localStorage.removeItem('endDateValidationCheck');\r\n\r\n api\r\n .getTimeZones()\r\n .then(res => {\r\n changeLoadingStatus(false);\r\n setTimezone(res.data);\r\n })\r\n .catch(() => {\r\n changeLoadingStatus(false);\r\n setTimezone([]);\r\n });\r\n };\r\n\r\n const options = [\r\n { value: 1, label: 'AME' },\r\n { value: 2, label: 'APA' },\r\n { value: 3, label: 'EMA' }\r\n ];\r\n\r\n function startDateOnChangeEvent(e) {\r\n startDateOnChange(e);\r\n if (!validateDateTime(e)) {\r\n localStorage.setItem('startDateValidationCheck', true);\r\n return disableButtonFunc(true);\r\n } else {\r\n localStorage.removeItem('startDateValidationCheck');\r\n }\r\n\r\n if (e < new Date()) {\r\n startDateValidationFailed(true);\r\n localStorage.setItem('startDateValidationCheck', true);\r\n } else {\r\n localStorage.removeItem('startDateValidationCheck');\r\n startDateValidationFailed(false);\r\n }\r\n\r\n if (e >= endDate) {\r\n dateValidationFailed(true);\r\n localStorage.setItem('dateValidationCheck', true);\r\n } else {\r\n dateValidationFailed(false);\r\n localStorage.removeItem('dateValidationCheck');\r\n }\r\n handleValidationInAddClick();\r\n }\r\n\r\n function endDateOnChangeEvent(e) {\r\n endDateOnChange(e);\r\n if (!validateDateTime(e)) {\r\n localStorage.setItem('endDateValidationCheck', true);\r\n return disableButtonFunc(true);\r\n } else {\r\n localStorage.removeItem('endDateValidationCheck');\r\n }\r\n\r\n if (e < new Date()) {\r\n endDateValidationFailed(true);\r\n localStorage.setItem('endDateValidationCheck', true);\r\n } else {\r\n localStorage.removeItem('endDateValidationCheck');\r\n endDateValidationFailed(false);\r\n }\r\n\r\n if (e <= startDate) {\r\n dateValidationFailed(true);\r\n localStorage.setItem('dateValidationCheck', true);\r\n } else {\r\n dateValidationFailed(false);\r\n localStorage.removeItem('dateValidationCheck');\r\n }\r\n handleValidationInAddClick();\r\n }\r\n\r\n function validateDateTime(input) {\r\n let isValid = false;\r\n let inputMomentObj = new Date(input);\r\n let validStartDate = new Date('01/01/1999 00:00:00');\r\n let validEndDate = new Date('01/01/2999 00:00:00');\r\n if (validStartDate < inputMomentObj && validEndDate > inputMomentObj) isValid = true;\r\n\r\n return isValid;\r\n }\r\n\r\n function onRegionDropdownChange(e) {\r\n onRegionChange(e);\r\n localStorage.setItem('region', e);\r\n handleValidationInAddClick();\r\n }\r\n\r\n function maintenanceMessageTextOnChange(e) {\r\n maintenanceMessageText(e);\r\n localStorage.setItem('message', e);\r\n handleValidationInAddClick();\r\n }\r\n function onTimeZoneOnChangeEvent(e) {\r\n selectedTimezoneObj = timeZones.filter(a => a.id === e.Id);\r\n timezoneId = selectedTimezoneObj[0].id;\r\n timezoneName = selectedTimezoneObj[0].name;\r\n userSelectedTimezoneOffset = selectedTimezoneObj[0].offsetValue;\r\n onTimeZoneIdChange(timezoneId);\r\n onTimeZoneNameChange(timezoneName);\r\n onTimezoneOffSet(userSelectedTimezoneOffset);\r\n localStorage.setItem('timezoneId', timezoneId);\r\n handleValidationInAddClick();\r\n }\r\n\r\n function handleValidationInAddClick() {\r\n let userSeletedRegion = localStorage.getItem('region');\r\n let userSeletedTimezone = localStorage.getItem('timezoneId');\r\n let message = localStorage.getItem('message');\r\n let endDateValidationCheck = localStorage.getItem('endDateValidationCheck');\r\n let startDateValidationCheck = localStorage.getItem('startDateValidationCheck');\r\n let dateValidationCheck = localStorage.getItem('dateValidationCheck');\r\n\r\n if (\r\n userSeletedRegion !== null &&\r\n message !== null &&\r\n message !== '' &&\r\n startDate !== null &&\r\n endDate !== null &&\r\n userSeletedTimezone !== null &&\r\n endDateValidationCheck == null &&\r\n startDateValidationCheck == null &&\r\n dateValidationCheck == null\r\n ) {\r\n disableButtonFunc(false);\r\n } else {\r\n disableButtonFunc(true);\r\n }\r\n }\r\n\r\n let maintenanceObj = {\r\n MessageId: 0,\r\n GeoCode: selectedRegion,\r\n MessageText: maintenanceMessage,\r\n StartDate: startDate != null ? startDate.toString() : null,\r\n EndDate: endDate != null ? endDate.toString() : null,\r\n StartDateString: startDate != null ? startDate.toString() : null,\r\n EndDateString: endDate != null ? endDate.toString() : null,\r\n UTCStartDate: startDate,\r\n UTCEndDate: endDate,\r\n TimeZone: { Id: selectedTimezoneId, Name: selectedTimezoneName, OffsetValue: timezoneOffset }\r\n };\r\n\r\n function onSubmit(event) {\r\n disableButtonFunc(true);\r\n if (maintenanceObj.UTCStartDate < maintenanceObj.UTCEndDate) {\r\n handleValidationInAddClick();\r\n localStorage.removeItem('region');\r\n localStorage.removeItem('timezoneId');\r\n localStorage.removeItem('message');\r\n buttonRef.current++;\r\n if (buttonRef.current < 2) {\r\n api\r\n .saveMaintenanceMessages(maintenanceObj)\r\n .then(res => {\r\n changeLoadingStatus(true);\r\n closeMaintenancePopup();\r\n loadMessages();\r\n })\r\n .catch(() => {\r\n changeLoadingStatus(true);\r\n closeMaintenancePopup();\r\n loadMessages();\r\n });\r\n }\r\n } else {\r\n dateValidationFailed(true);\r\n }\r\n }\r\n\r\n return isOpen ? (\r\n \r\n
    \r\n
    \r\n

    \r\n \r\n

    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n *\r\n \r\n
    \r\n
    \r\n {\r\n onRegionDropdownChange(e.target.value);\r\n }}\r\n >\r\n \r\n {options?.map(item => (\r\n \r\n ))}\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n *\r\n \r\n
    \r\n
    \r\n {\r\n e.key === 'Enter' && e.preventDefault();\r\n }}\r\n onChange={e => {\r\n maintenanceMessageTextOnChange(e.target.value);\r\n }}\r\n type=\"text\"\r\n maxLength=\"250\"\r\n />\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n *\r\n \r\n
    \r\n\r\n {dateValidation || startDateValidation || endDateValidation ? (\r\n
    \r\n startDateOnChangeEvent(e)}\r\n value={startDate}\r\n />\r\n
    \r\n ) : (\r\n
    \r\n \r\n
    \r\n )}\r\n
    \r\n
    \r\n
    \r\n *\r\n \r\n
    \r\n\r\n {dateValidation || startDateValidation || endDateValidation ? (\r\n
    \r\n \r\n
    \r\n ) : (\r\n
    \r\n \r\n
    \r\n )}\r\n
    \r\n
    \r\n
    \r\n {dateValidation && (\r\n
    \r\n \r\n
    \r\n )}\r\n {(startDateValidation || endDateValidation) && (\r\n
    \r\n \r\n
    \r\n )}\r\n
    \r\n\r\n
    \r\n
    \r\n *\r\n \r\n
    \r\n
    \r\n onTimeZoneOnChangeEvent({ Id: e.target.value, Name: '' })}\r\n >\r\n \r\n {timeZones?.map(item => (\r\n \r\n ))}\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n ) : null;\r\n}\r\n\r\nexport default CreateMaintenanceMessagePopup;\r\n","import React, { useEffect, useState } from 'react';\r\nimport { FormattedMessage } from 'react-intl';\r\nimport * as api from 'store/api';\r\nimport Icon from 'components/shared/icon';\r\nimport Modal from 'components/shared/modal';\r\nimport Button from 'components/shared/single-click-button';\r\nimport 'react-dropdown/style.css';\r\nimport DateTimePicker from 'react-datetime-picker';\r\n\r\nfunction EditMaintenanceMessagePopup({\r\n isEditWindowOpen,\r\n closeMaintenanceEditPopup,\r\n messageId,\r\n maintenanceMessages,\r\n loadMessages\r\n}) {\r\n const [loading, changeLoadingStatus] = useState(true);\r\n const [selectedTimezone, onTimeZoneChange] = useState();\r\n const [timeZones, setTimezone] = useState([]);\r\n const [selectedRegion, onRegionChange] = useState();\r\n const [selectedTimezoneId, onTimeZoneIdChange] = useState('');\r\n const [selectedTimezoneName, onTimeZoneNameChange] = useState('');\r\n const [selectedTimezoneOffset, onTimezoneOffSet] = useState('');\r\n const [maintenanceMessage, maintenanceMessageText] = useState();\r\n const [startDate, startDateOnChange] = useState();\r\n const [endDate, endDateOnChange] = useState();\r\n const [disableButton, disableButtonFunc] = useState(false);\r\n const [dateValidation, dateValidationFailed] = useState(false);\r\n const [endDateValidation, endDateValidationFailed] = useState(false);\r\n let isButtonDisabled = true;\r\n let selectedTimezoneObj = {};\r\n let timezoneId;\r\n let timezoneName;\r\n let timezoneOffset;\r\n let userSelectedTimezoneOffset;\r\n let region;\r\n let maintenanceMessageEntered;\r\n let datevalidationCheck;\r\n\r\n useEffect(() => {\r\n loadTimezones();\r\n }, []);\r\n\r\n const loadTimezones = () => {\r\n localStorage.removeItem('region');\r\n localStorage.removeItem('timezoneId');\r\n localStorage.removeItem('message');\r\n localStorage.removeItem('startDateValidationCheck');\r\n localStorage.removeItem('dateValidationCheck');\r\n localStorage.removeItem('endDateValidationCheck');\r\n api\r\n .getTimeZones()\r\n .then(res => {\r\n changeLoadingStatus(false);\r\n setTimezone(res.data);\r\n })\r\n .catch(() => {\r\n changeLoadingStatus(false);\r\n setTimezone([]);\r\n });\r\n };\r\n\r\n const options = [\r\n { value: 'AME', label: 'AME' },\r\n { value: 'APA', label: 'APA' },\r\n { value: 'EMA', label: 'EMA' }\r\n ];\r\n\r\n let GeoCode = '';\r\n let MessageText = '';\r\n let StartDate = '';\r\n let EndDate = '';\r\n let TimeZone = {};\r\n let Timezoneobj = {};\r\n let selectedTimezoneobj = {\r\n Id: selectedTimezoneId,\r\n Name: selectedTimezoneName,\r\n OffsetValue: selectedTimezoneOffset\r\n };\r\n\r\n for (let i = 0; i < maintenanceMessages.length; i++) {\r\n if (maintenanceMessages[i].messageId == messageId) {\r\n GeoCode = maintenanceMessages[i].geoCode;\r\n MessageText = maintenanceMessages[i].messageText;\r\n StartDate = new Date(maintenanceMessages[i].startDate);\r\n EndDate = new Date(maintenanceMessages[i].endDate);\r\n TimeZone = maintenanceMessages[i].timeZone.id;\r\n Timezoneobj = maintenanceMessages[i].timeZone;\r\n }\r\n }\r\n let maintenanceObj = {\r\n MessageId: messageId,\r\n GeoCode: selectedRegion ? selectedRegion : GeoCode,\r\n MessageText: maintenanceMessage ? maintenanceMessage : MessageText,\r\n UTCStartDate: startDate != null && startDate != '' ? new Date(startDate) : new Date(StartDate),\r\n UTCEndDate: endDate != '' && endDate != null ? new Date(endDate) : new Date(EndDate),\r\n StartDate: startDate != null && startDate != '' ? new Date(startDate).toString() : new Date(StartDate).toString(),\r\n EndDate: endDate != '' && endDate != null ? new Date(endDate).toString() : new Date(EndDate).toString(),\r\n TimeZone:\r\n selectedTimezoneobj.Id != '' && selectedTimezoneobj.Name != '' && selectedTimezoneobj.OffsetValue != ''\r\n ? selectedTimezoneobj\r\n : Timezoneobj\r\n };\r\n\r\n function startDateOnChangeEvent(e) {\r\n startDateOnChange(e);\r\n handleValidationInAddClick();\r\n if (!validateDateTime(e)) {\r\n localStorage.setItem('startDateValidationCheck', true);\r\n return disableButtonFunc(true);\r\n } else {\r\n localStorage.removeItem('startDateValidationCheck');\r\n disableButtonFunc(false);\r\n }\r\n\r\n if (e >= maintenanceObj.UTCEndDate) {\r\n dateValidationFailed(true);\r\n datevalidationCheck = true;\r\n disableButtonFunc(true);\r\n localStorage.setItem('dateValidationCheck', true);\r\n } else {\r\n dateValidationFailed(false);\r\n datevalidationCheck = false;\r\n disableButtonFunc(false);\r\n localStorage.removeItem('dateValidationCheck');\r\n }\r\n }\r\n\r\n function endDateOnChangeEvent(e) {\r\n endDateOnChange(e);\r\n handleValidationInAddClick();\r\n if (!validateDateTime(e)) {\r\n localStorage.setItem('endDateValidationCheck', true);\r\n return disableButtonFunc(true);\r\n } else {\r\n disableButtonFunc(false);\r\n localStorage.removeItem('endDateValidationCheck');\r\n }\r\n\r\n if (e < new Date()) {\r\n endDateValidationFailed(true);\r\n localStorage.setItem('endDateValidationCheck', true);\r\n disableButtonFunc(true);\r\n } else {\r\n localStorage.removeItem('endDateValidationCheck');\r\n endDateValidationFailed(false);\r\n disableButtonFunc(false);\r\n }\r\n\r\n if (e <= maintenanceObj.UTCStartDate) {\r\n dateValidationFailed(true);\r\n datevalidationCheck = true;\r\n disableButtonFunc(true);\r\n localStorage.setItem('dateValidationCheck', true);\r\n } else {\r\n dateValidationFailed(false);\r\n datevalidationCheck = false;\r\n disableButtonFunc(false);\r\n localStorage.removeItem('dateValidationCheck');\r\n }\r\n }\r\n\r\n function validateDateTime(input) {\r\n let isValid = false;\r\n let inputMomentObj = new Date(input);\r\n let validStartDate = new Date('01/01/1999 00:00:00');\r\n let validEndDate = new Date('01/01/2999 00:00:00');\r\n if (validStartDate < inputMomentObj && validEndDate > inputMomentObj) isValid = true;\r\n\r\n return isValid;\r\n }\r\n\r\n function onRegionDropdownChange(e) {\r\n onRegionChange(e);\r\n region = e;\r\n localStorage.setItem('region', e);\r\n }\r\n\r\n function maintenanceMessageTextOnChange(e) {\r\n maintenanceMessageText(e);\r\n maintenanceMessageEntered = e;\r\n localStorage.setItem('message', e);\r\n handleValidationInAddClick();\r\n }\r\n function onTimeZoneOnChangeEvent(e) {\r\n selectedTimezoneObj = timeZones.filter(a => a.id === e.Id);\r\n timezoneId = selectedTimezoneObj[0].id;\r\n timezoneName = selectedTimezoneObj[0].name;\r\n timezoneOffset = selectedTimezoneObj[0].offsetValue;\r\n onTimeZoneIdChange(timezoneId);\r\n onTimeZoneNameChange(timezoneName);\r\n onTimezoneOffSet(timezoneOffset);\r\n localStorage.setItem('timezoneId', timezoneId);\r\n }\r\n\r\n function handleValidationInAddClick() {\r\n let message = localStorage.getItem('message');\r\n let dateValidationCheck = localStorage.getItem('dateValidationCheck');\r\n let endDateValidationCheck = localStorage.getItem('endDateValidationCheck');\r\n let startDateValidationCheck = localStorage.getItem('startDateValidationCheck');\r\n\r\n if (\r\n message &&\r\n message !== null &&\r\n message !== '' &&\r\n startDate !== null &&\r\n endDate !== null &&\r\n dateValidationCheck == null &&\r\n endDateValidationCheck == null &&\r\n startDateValidationCheck == null\r\n ) {\r\n disableButtonFunc(false);\r\n } else {\r\n disableButtonFunc(true);\r\n }\r\n }\r\n\r\n let MessageID = Number(messageId);\r\n function onSubmit(event) {\r\n if (maintenanceObj.GeoCode == null && maintenanceObj.TimeZone && maintenanceObj.MessageText == null)\r\n return disableButtonFunc(true);\r\n\r\n if (maintenanceObj.UTCStartDate < maintenanceObj.UTCEndDate) {\r\n localStorage.removeItem('region');\r\n localStorage.removeItem('timezoneId');\r\n localStorage.removeItem('message');\r\n api\r\n .updateMaintenanceMessages(MessageID, maintenanceObj)\r\n .then(res => {\r\n changeLoadingStatus(true);\r\n closeMaintenanceEditPopup();\r\n loadMessages();\r\n })\r\n .catch(() => {\r\n changeLoadingStatus(true);\r\n closeMaintenanceEditPopup();\r\n loadMessages();\r\n });\r\n } else {\r\n dateValidationFailed(true);\r\n }\r\n }\r\n\r\n return isEditWindowOpen ? (\r\n \r\n
    \r\n
    \r\n

    \r\n \r\n

    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n *\r\n \r\n
    \r\n
    \r\n {\r\n onRegionDropdownChange(e.target.value);\r\n }}\r\n >\r\n \r\n\r\n {options.map(item => (\r\n \r\n ))}\r\n \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n *\r\n \r\n
    \r\n
    \r\n {\r\n e.key === 'Enter' && e.preventDefault();\r\n }}\r\n onChange={e => {\r\n maintenanceMessageTextOnChange(e.target.value);\r\n }}\r\n type=\"text\"\r\n defaultValue={MessageText}\r\n maxLength=\"250\"\r\n >\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n *\r\n \r\n
    \r\n\r\n {dateValidation ? (\r\n
    \r\n \r\n
    \r\n ) : (\r\n
    \r\n \r\n
    \r\n )}\r\n
    \r\n
    \r\n
    \r\n *\r\n \r\n
    \r\n\r\n {dateValidation || endDateValidation ? (\r\n
    \r\n \r\n
    \r\n ) : (\r\n
    \r\n {' '}\r\n
    \r\n )}\r\n
    \r\n
    \r\n\r\n
    \r\n {dateValidation && (\r\n
    \r\n \r\n
    \r\n )}\r\n {endDateValidation && (\r\n
    \r\n \r\n
    \r\n )}\r\n
    \r\n
    \r\n
    \r\n *\r\n \r\n
    \r\n
    \r\n onTimeZoneOnChangeEvent({ Id: e.target.value, Name: '' })}\r\n >\r\n \r\n {timeZones?.map(item => (\r\n \r\n ))}\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n ) : null;\r\n}\r\n\r\nexport default EditMaintenanceMessagePopup;\r\n","import React, { useEffect, useState } from 'react';\r\nimport { FormattedMessage } from 'react-intl';\r\nimport * as api from 'store/api';\r\nimport Icon from 'components/shared/icon';\r\nimport Modal from 'components/shared/modal';\r\nimport Button from 'components/shared/single-click-button';\r\nimport 'react-dropdown/style.css';\r\n\r\nfunction DeleteMaintenanceMessagePopup({\r\n isDeleteWindowOpen,\r\n closeMaintenanceDeletePopup,\r\n messageId,\r\n maintenanceMessages,\r\n loadMessages\r\n}) {\r\n const [loading, changeLoadingStatus] = useState(true);\r\n let maintenanceObj = {};\r\n let timezone = { Id: 'AME', Name: 'AME' };\r\n function DeleteClicked() {\r\n for (let i = 0; i < maintenanceMessages.length; i++) {\r\n if (maintenanceMessages[i].messageId == messageId) {\r\n // maintenanceObj=maintenanceMessages[i];\r\n maintenanceObj.MessageId = Number(maintenanceMessages[i].messageId);\r\n maintenanceObj.GeoCode = maintenanceMessages[i].geoCode;\r\n maintenanceObj.MessageText = maintenanceMessages[i].messageText;\r\n maintenanceObj.StartDate = new Date(maintenanceMessages[i].startDate);\r\n maintenanceObj.EndDate = new Date(maintenanceMessages[i].endDate);\r\n maintenanceObj.TimeZone = timezone;\r\n }\r\n }\r\n\r\n api\r\n .deleteMaintenanceMessage(Number(messageId))\r\n .then(res => {\r\n changeLoadingStatus(false);\r\n loadMessages();\r\n })\r\n .catch(() => {\r\n changeLoadingStatus(false);\r\n });\r\n closeMaintenanceDeletePopup();\r\n }\r\n\r\n return isDeleteWindowOpen ? (\r\n \r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n ) : null;\r\n}\r\n\r\nexport default DeleteMaintenanceMessagePopup;\r\n","import React, { useEffect, useState } from 'react';\r\nimport { withRouter } from 'react-router';\r\nimport * as api from 'store/api';\r\nimport { FormattedMessage } from 'react-intl';\r\nimport Icon from 'components/shared/icon';\r\nimport moment from 'moment';\r\nimport Button from 'components/shared/single-click-button';\r\nimport CreateMaintenanceMessagePopup from 'components/maintenance-messages/create-maintenance-message-popup';\r\nimport EditMaintenanceMessagePopup from 'components/maintenance-messages/edit-maintenance-message-popup';\r\nimport DeleteMaintenanceMessagePopup from 'components/maintenance-messages/delete-maintenance-message-popup';\r\n\r\nfunction MaintenanceMessages() {\r\n const [loading, changeLoadingStatus] = useState(true);\r\n const [maintenanceMessages, changemaintenanceMessages] = useState([]);\r\n const [isCreateMessageOpen, setModelOpen] = useState(false);\r\n const [isEditMessageOpen, setEditModelOpen] = useState(false);\r\n const [isDeleteMessageOpen, setDeleteModelOpen] = useState(false);\r\n const [selectedMessageID, setMessageID] = useState();\r\n\r\n let selectedMessageId = 0;\r\n let GeoCode = 0;\r\n let MessageText = '';\r\n let StartDate = '';\r\n let EndDate = '';\r\n let TimeZone = {};\r\n\r\n const CurrentDate = moment();\r\n const currentDateAndTime = useState(new Date());\r\n\r\n useEffect(() => {\r\n loadMessages();\r\n }, []);\r\n\r\n function CreateMessageWindowClose() {\r\n setModelOpen(false);\r\n localStorage.removeItem('region');\r\n localStorage.removeItem('timezoneId');\r\n localStorage.removeItem('message');\r\n }\r\n function EditMessageConfirmationWindowClose() {\r\n setEditModelOpen(false);\r\n }\r\n\r\n function CreateMessageWindowOpen() {\r\n setModelOpen(true);\r\n }\r\n function openEditPopup(e) {\r\n selectedMessageId = e.getAttribute('data-messageid');\r\n setMessageID(selectedMessageId);\r\n for (let i = 0; i < maintenanceMessages.length; i++) {\r\n if (maintenanceMessages[i].messageId == selectedMessageId) {\r\n GeoCode = maintenanceMessages[i].geoCode;\r\n MessageText = maintenanceMessages[i].messageText;\r\n StartDate = new Date(maintenanceMessages[i].startDate);\r\n EndDate = new Date(maintenanceMessages[i].endDate);\r\n TimeZone = maintenanceMessages[i].timeZone;\r\n }\r\n }\r\n\r\n setEditModelOpen(true);\r\n }\r\n function OpenDeletePopup(e) {\r\n selectedMessageId = e.getAttribute('data-messageid');\r\n setDeleteModelOpen(true);\r\n setMessageID(selectedMessageId);\r\n }\r\n\r\n function DeleteMessageConfirmationWindowClose() {\r\n setDeleteModelOpen(false);\r\n }\r\n\r\n const loadMessages = () => {\r\n api\r\n .getMaintenanceMessages()\r\n .then(res => {\r\n changeLoadingStatus(false);\r\n changemaintenanceMessages(res.data);\r\n })\r\n .catch(() => {\r\n changeLoadingStatus(false);\r\n changemaintenanceMessages([]);\r\n });\r\n };\r\n\r\n return (\r\n
    \r\n
    \r\n

    \r\n \r\n  \r\n {maintenanceMessages.length > 0 && (\r\n
    {maintenanceMessages.length}
    \r\n )}\r\n

    \r\n
    \r\n \r\n
    \r\n\r\n
    \r\n {!loading && (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {maintenanceMessages &&\r\n maintenanceMessages.map(message => {\r\n const status = message.status == 1 ? 'active' : message.status == 2 ? 'upcoming' : 'expired';\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n })}\r\n \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n \r\n {message.geoCode}{message.messageText}{moment(message.startDate).format('MM/DD/YYYY hh:mm A')}{moment(message.endDate).format('MM/DD/YYYY hh:mm A')}{message.timeZone.name}\r\n {status == 'expired' ? (\r\n
    \r\n \r\n \r\n
    \r\n ) : (\r\n
    \r\n openEditPopup(e.target)}\r\n >\r\n \r\n \r\n OpenDeletePopup(e.target)}\r\n >\r\n \r\n \r\n
    \r\n )}\r\n
    \r\n )}\r\n {loading ? (\r\n
    \r\n \r\n
    \r\n ) : null}\r\n
    \r\n\r\n {isCreateMessageOpen ? (\r\n
    \r\n \r\n
    \r\n ) : null}\r\n {isEditMessageOpen ? (\r\n \r\n ) : null}\r\n {isDeleteMessageOpen ? (\r\n \r\n ) : null}\r\n
    \r\n );\r\n}\r\n\r\nexport default withRouter(MaintenanceMessages);\r\n","import PropTypes from 'prop-types';\r\nimport React, { Component } from 'react';\r\nimport ReactTooltip from 'react-tooltip';\r\nimport Header from 'containers/header/header';\r\nimport NotificationsContainer from 'containers/shared/notifications-container';\r\nimport MaintenanceMessages from 'components/maintenance-messages/maintenance-messages';\r\n\r\nimport { getHomeRegion, setCurrentRegion } from 'store/api';\r\nimport Permissions from 'permissions/permissions';\r\nimport history from 'utils/history';\r\n\r\nclass MaintenanceMessagesPage extends Component {\r\n static propTypes = {\r\n match: PropTypes.object.isRequired\r\n };\r\n\r\n UNSAFE_componentWillMount() {\r\n setCurrentRegion(getHomeRegion());\r\n\r\n if (!Permissions.Global.User.canViewMaintenanceMessagesLink()) {\r\n history.push('/unauthorized');\r\n }\r\n }\r\n\r\n render() {\r\n return (\r\n
    \r\n
    \r\n \r\n \r\n \r\n
    \r\n );\r\n }\r\n}\r\n\r\nexport default MaintenanceMessagesPage;\r\n","import { FormattedMessage } from 'react-intl';\r\nimport moment from 'moment';\r\nimport React, { Component } from 'react';\r\n\r\nimport { userLogOut } from 'store/api';\r\nimport Confirm from 'components/shared/confirm';\r\nimport constants from 'utils/constants';\r\n\r\nconst {\r\n SessionTimeout: { IDLE_WAIT_TIME_MS, IDLE_CHECK_INTERVAL_MS, WARNING_TIME_MS, WARNING_COUNTDOWN_INTERVAL_MS }\r\n} = constants;\r\n\r\n/* \r\n SessionTimeoutModal\r\n Handles tracking idle time and timing out the session if it has been inactive for too long\r\n*/\r\nclass SessionTimeoutModal extends Component {\r\n state = {\r\n isWarningShown: false,\r\n warningCountdownDisplay: ''\r\n };\r\n\r\n idleCheckInterval = null;\r\n warningCountdownStartTime = Date.now();\r\n warningCountdownInterval = null;\r\n\r\n componentDidMount() {\r\n // Start checking for idle time\r\n this.restartIdleTimeCheck();\r\n this.bindIdleResetListeners();\r\n }\r\n\r\n componentWillUnmount() {\r\n // Clear all intervals and listeners on unmount\r\n this.stopIdleTimeCheck();\r\n this.stopWarningCountdown();\r\n this.unbindIdleResetListeners();\r\n }\r\n\r\n bindIdleResetListeners = () => {\r\n // Reset the last active time on the following events which represent user actions\r\n window.addEventListener('touchstart', this.restartIdleTimeCheck);\r\n window.addEventListener('click', this.restartIdleTimeCheck);\r\n window.addEventListener('keypress', this.restartIdleTimeCheck);\r\n window.addEventListener('scroll', this.restartIdleTimeCheck, true);\r\n // Custom event to prevent session timeouts on long uploads\r\n window.addEventListener('argus.upload.progress', this.restartIdleTimeCheck, false);\r\n };\r\n\r\n unbindIdleResetListeners = () => {\r\n // Remove all the idle reset event listeners\r\n window.removeEventListener('touchstart', this.restartIdleTimeCheck);\r\n window.removeEventListener('click', this.restartIdleTimeCheck);\r\n window.removeEventListener('keypress', this.restartIdleTimeCheck);\r\n window.removeEventListener('scroll', this.restartIdleTimeCheck, true);\r\n window.removeEventListener('argus.upload.progress', this.restartIdleTimeCheck, false);\r\n };\r\n\r\n // Start the idle time check\r\n startIdleTimeCheck = () => {\r\n this.warningCountdownStartTime = Date.now() + IDLE_WAIT_TIME_MS;\r\n this.idleCheckInterval = setInterval(this.checkIdleTime, IDLE_CHECK_INTERVAL_MS);\r\n };\r\n\r\n // Clear the idle wait check and start it again\r\n restartIdleTimeCheck = () => {\r\n const { isWarningShown } = this.state;\r\n\r\n if (isWarningShown) return;\r\n\r\n this.stopIdleTimeCheck();\r\n this.startIdleTimeCheck();\r\n };\r\n\r\n // Stop the idle time check\r\n stopIdleTimeCheck = () => {\r\n clearInterval(this.idleCheckInterval);\r\n };\r\n\r\n // Check if the session has been idle for too long and show the session timeout warning\r\n checkIdleTime = () => {\r\n if (Date.now() >= this.warningCountdownStartTime) {\r\n this.showWarning();\r\n }\r\n };\r\n\r\n // Start the warning countdown\r\n startWarningCountdown = () => {\r\n this.updateCountdown();\r\n this.warningCountdownInterval = setInterval(this.updateCountdown, WARNING_COUNTDOWN_INTERVAL_MS);\r\n };\r\n\r\n // Stop the warning countdown\r\n stopWarningCountdown = () => {\r\n clearInterval(this.warningCountdownInterval);\r\n };\r\n\r\n // Update the warning countdown and logout if enough time has elapsed\r\n updateCountdown = () => {\r\n // Time left before session timeout\r\n const warningTimeLeft = this.warningCountdownStartTime + WARNING_TIME_MS - Date.now();\r\n\r\n if (warningTimeLeft <= 0) {\r\n // Session timeout\r\n this.setState({ warningCountdownDisplay: '00:00' });\r\n this.stopIdleTimeCheck();\r\n this.stopWarningCountdown();\r\n this.logout();\r\n } else {\r\n // Update the countdown display\r\n const warningCountdownDisplay = moment()\r\n .startOf('day')\r\n .add(warningTimeLeft, 'ms')\r\n .format('mm:ss');\r\n this.setState({ warningCountdownDisplay });\r\n }\r\n };\r\n\r\n // Show the warning modal and start the logout countdown\r\n showWarning = () => {\r\n this.stopIdleTimeCheck();\r\n this.startWarningCountdown();\r\n this.setState({ isWarningShown: true });\r\n };\r\n\r\n // Hide the warning modal and reset all timers\r\n hideWarning = () => {\r\n this.setState({ isWarningShown: false });\r\n this.stopWarningCountdown();\r\n this.restartIdleTimeCheck();\r\n };\r\n\r\n logout = () => {\r\n userLogOut();\r\n };\r\n\r\n logoutClick = () => {\r\n this.logout();\r\n };\r\n\r\n continueSessionClick = () => {\r\n this.hideWarning();\r\n };\r\n\r\n render() {\r\n const { isWarningShown, warningCountdownDisplay } = this.state;\r\n\r\n if (!isWarningShown) {\r\n return null;\r\n }\r\n\r\n return (\r\n }\r\n message={\r\n \r\n }\r\n cancelText={}\r\n confirmText={}\r\n />\r\n );\r\n }\r\n}\r\n\r\nexport default SessionTimeoutModal;\r\n","import React, { Component } from 'react';\r\nimport logoImage from 'images/deloitte_logo_black.svg';\r\nimport OmniaLogo from 'images/Omnia.svg';\r\nimport { getCurrentBaseUrl } from 'store/api';\r\nimport { FormattedMessage, FormattedHTMLMessage } from 'react-intl';\r\nimport PropTypes from 'prop-types';\r\nimport DocumentDownload from 'components/shared/document-download';\r\nimport { getAboutInfo } from 'store/api';\r\nimport { getHomeRegion, setCurrentRegion } from 'store/api';\r\nimport SubheaderDropdown from 'components/header//subheader-dropdown/subheader-dropdown';\r\n\r\nclass CookieNotice extends Component {\r\n static propTypes = {\r\n aboutArgus: PropTypes.object,\r\n currentLanguage: PropTypes.object,\r\n loadAboutInfo: PropTypes.func\r\n };\r\n\r\n state = {\r\n data: {}\r\n };\r\n\r\n UNSAFE_componentWillMount() {\r\n setCurrentRegion(getHomeRegion());\r\n }\r\n\r\n componentWillMount() {\r\n getAboutInfo()\r\n .then(res => {\r\n this.setState({ data: res.data });\r\n })\r\n .catch(err => {\r\n this.setState({ data: err });\r\n });\r\n }\r\n\r\n render() {\r\n const omniaUrl = 'https://omnia.deloitte.com/';\r\n const { aboutArgus, currentLanguage } = this.props;\r\n const { data } = this.state;\r\n const privacyNoticeLink = (\r\n }\r\n target=\"_blank\"\r\n supportEmail={data?.supportEmail}\r\n />\r\n );\r\n\r\n const aboutCookie = (\r\n \r\n http://www.aboutcookies.org/\r\n \r\n );\r\n\r\n return (\r\n
    \r\n
    \r\n \"deloitte\"\r\n \r\n \"Omnia\"\r\n \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n

    \r\n \r\n

    \r\n \r\n

    \r\n {' '}\r\n

    \r\n

    \r\n \r\n

    \r\n

    \r\n \r\n

    \r\n

    \r\n \r\n

    \r\n

    \r\n \r\n

    \r\n
      \r\n
    • \r\n \r\n
    • \r\n
    • \r\n \r\n
    • \r\n
    • \r\n \r\n
    • \r\n
    • \r\n \r\n
    • \r\n
    • \r\n \r\n
    • \r\n
    \r\n

    \r\n \r\n

    \r\n

    \r\n \r\n

    \r\n

    \r\n \r\n

    \r\n

    \r\n \r\n

    \r\n

    \r\n \r\n
    \r\n \r\n
    \r\n \r\n
    \r\n \r\n
    \r\n

    \r\n

    \r\n \r\n

    \r\n

    \r\n \r\n

    \r\n

    \r\n \r\n

    \r\n

    \r\n \r\n
    \r\n \r\n

    \r\n
    \r\n
    \r\n );\r\n }\r\n}\r\n\r\nexport default CookieNotice;\r\n","import React from 'react';\r\nimport { ConnectedRouter } from 'connected-react-router';\r\nimport { Provider } from 'react-redux';\r\nimport { Redirect, Switch } from 'react-router';\r\nimport { authenticate } from 'store/api';\r\n\r\n// Routing Components\r\nimport AuthSuccess from 'components/app/routing/auth-success';\r\nimport ProtectedRoute from 'components/app/routing/protected-route';\r\nimport PublicRoute from 'components/app/routing/public-route';\r\nimport Region from 'components/app/routing/region-route-switch';\r\n\r\n// Application Pages\r\nimport IntlContainer from 'containers/intl/intl-container';\r\nimport NotFound from 'components/pages/errors/404';\r\nimport Unauthorized from 'containers/authorization/unauthorized-container';\r\nimport ProjectListPage from 'components/pages/project-list';\r\nimport AdminAccessPage from 'components/pages/admin-access';\r\nimport LandingPage from 'components/pages/landing-page';\r\nimport LoadingPage from 'components/pages/loading-page';\r\nimport Translation from 'components/pages/translation';\r\nimport MaintenanceMessagesPage from 'components/pages/maintenance-messages';\r\nimport SessionTimeoutModal from 'components/shared/session-timeout-modal';\r\nimport store from 'store/store';\r\nimport history from 'utils/history';\r\nimport CookieNotice from '../cookie-notice/cookie-notice';\r\nimport { FormattedMessage } from 'react-intl';\r\n\r\n\r\nclass App extends React.Component {\r\n state = {\r\n authenticated: false\r\n };\r\n\r\n authenticateUser = () => {\r\n authenticate().then(() => {\r\n this.setState({\r\n authenticated: true\r\n });\r\n });\r\n };\r\n\r\n\r\n componentDidUpdate() {\r\n var appendAbodeScript = true;\r\n // adding meta tag \r\n const nonce = crypto.randomUUID().toString(\"base64\");\r\n const meta = document.createElement('meta');\r\n meta.setAttribute('http-equiv', 'Content-Security-Policy');\r\n const content = `default-src 'self' *.deloitte.com *.microsoftonline.com *.adobedtm.com bam.nr-data.net *.visualstudio.com bam.nr-data.net *.omtrdc.net geolocation.onetrust.com cdn.cookielaw.org; connect-src 'self' *.cookielaw.org *.onetrust.com data: http: https: wss: ws:; script-src 'self' 'nonce-${nonce}' *.adobedtm.com cdn.cookielaw.org;base-uri 'none';object-src 'none';img-src 'self' blob: data: http: https:;style-src 'self' 'unsafe-inline';`\r\n meta.setAttribute('content', content );\r\n document.head.appendChild(meta);\r\n\r\n var scriptData = window.ARGUS.ENV.GEOS.find(geo => geo.GEO_CODE && geo.GEO_CODE !== 'NONE'); \r\n if(this.state.authenticated && document.querySelectorAll(`script[src=\"${scriptData.ONETRUST_URL}\"]`).length <= 0)\r\n {\r\n const script = document.createElement(\"script\");\r\n script.setAttribute('nonce', `${nonce}`)\r\n script.src = scriptData.ONETRUST_URL;\r\n script.type = \"text/javascript\"\r\n script.dataset.domainScript = scriptData.ONETRUST_DOMAIN;\r\n document.body.appendChild(script);\r\n }\r\n\r\n var scripts = document.getElementsByTagName('script');\r\n for( var i = 0 ; i < scripts.length ; i++)\r\n {\r\n if(scripts[i].src.indexOf(scriptData.ADOBE_URL) > 0 )\r\n {\r\n appendAbodeScript = false;\r\n }\r\n }\r\n\r\n if(appendAbodeScript)\r\n {\r\n const script = document.createElement(\"script\");\r\n script.setAttribute('nonce', `${nonce}`)\r\n script.src = scriptData.ADOBE_URL;\r\n document.head.appendChild(script);\r\n }\r\n }\r\n \r\n render() {\r\n const { authenticated } = this.state;\r\n\r\n return (\r\n \r\n \r\n \r\n
    \r\n \r\n \r\n \r\n {/* Azure AD token renewal iframe may cause issues with the session timeout modal */}\r\n {/* So we must ensure this component does not mount in an iframe*/}\r\n {window === window.parent && }\r\n\r\n \r\n \r\n\r\n \r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n );\r\n }\r\n}\r\n\r\nexport default App;\r\n","import { ApplicationInsights } from '@microsoft/applicationinsights-web';\r\nimport { ReactPlugin, withAITracking } from '@microsoft/applicationinsights-react-js';\r\n\r\nimport history from '../../utils/history';\r\n\r\nimport App from 'components/app/app.js';\r\n\r\n// Microsoft Application Insights Config\r\nvar appInsightsKey = window.ARGUS.ENV.APP_INSIGHTS_INSTRUMENTATION_KEY\r\n ? window.ARGUS.ENV.APP_INSIGHTS_INSTRUMENTATION_KEY\r\n : '';\r\nvar role_name = window.ARGUS.ENV.AI_CLOUD_ROLE_NAME ? window.ARGUS.ENV.AI_CLOUD_ROLE_NAME.replace(/^\"|\"$/g, '') : '';\r\n\r\nvar appInsightsPlugin = new ReactPlugin();\r\nvar appInsights = new ApplicationInsights({\r\n config: {\r\n connectionString : appInsightsKey,\r\n extensions: [appInsightsPlugin],\r\n extensionConfig: {\r\n [appInsightsPlugin.identifier]: { history: history }\r\n }\r\n }\r\n});\r\n\r\nappInsights.loadAppInsights();\r\nappInsights.addTelemetryInitializer(envelope => {\r\n envelope.tags = envelope.tags || [];\r\n envelope.tags.push({ 'ai.cloud.role': role_name });\r\n});\r\n\r\nexport default withAITracking(appInsightsPlugin, App);\r\n","import './utils/polyfills.js';\r\nimport React from 'react';\r\nimport ReactDOM from 'react-dom/client';\r\n\r\nimport ApplicationInsights from './components/application-insights/application-insights.js';\r\n\r\n// Create a root\r\nconst root = ReactDOM.createRoot(document.getElementById('app-root'));\r\n\r\n// Initial render: Render the into the root.\r\nroot.render();\r\n"],"names":["intl_messageformat_1","require","diff_1","es5_1","exports","RelativeFormat","FIELDS","STYLES","locales","options","isArray","concat","defineProperty","this","value","_resolveLocale","style","_resolveStyle","units","_isValidUnits","_findFields","_locale","objCreate","relativeFormat","format","date","_format","i","arguments","length","datum","locale","Error","__localeData__","toLowerCase","default","__addLocaleData","enumerable","writable","undefined","second","minute","hour","day","month","prototype","resolvedOptions","_options","_compileMessage","_locales","relativeTime","_fields","future","past","hasOwnProperty","replace","message","_getMessage","messages","_messages","_getRelativeUnits","diff","field","relative","localeData","data","fields","parentLocale","now","dateNow","isFinite","RangeError","diffReport","_selectUnits","diffInUnits","relativeUnits","Math","abs","when","arrIndexOf","call","suggestion","test","substr","join","defaultLocale","len","localeParts","split","pop","l","filter","indexOf","thresholds","domparser_1","__importDefault","utilities_1","DIRECTIVE_REGEX","html","TypeError","match","directive","formatDOM","module","pluralRuleFunction","e","t","year","displayName","other","Object","formatDate","getFormatter","getNumberFormatter","localeWithDefault","_getUserLocale","numberFormatterCache","has","set","Map","numberFormatterCacheLocale","get","Intl","NumberFormat","obj","__esModule","formatterCache","formatterCacheLocale","DateTimeFormat","one","convert12to24","hour12","amPm","hour24","parseInt","convert24to12","AriaMenuButtonManagerContext","createContext","oldName","newName","prefix","warnings","add","internal","trace","skip","stackTraceLimit","prepareStackTrace","stackTrace","err","stack","shortStackTrace","slice","getFileName","map","frame","captureShortStackTrace","console","warn","Set","n","String","a","Number","two","few","many","domhandler_1","constants_1","formatAttributes","attributes","index","attributesLength","attribute","name","formatTagName","tagName","caseSensitiveTagName","CASE_SENSITIVE_TAG_NAMES_MAP","getCaseSensitiveTagName","nodes","parent","current","domNodes","nodesLength","node","nodeType","nodeName","Element","children","content","childNodes","Text","nodeValue","Comment","prev","next","push","ProcessingInstruction","substring","unshift","type","spec","collect","_checkDecoratorArguments2","apply","Array","getType","_invariant2","_isValidType2","_isPlainObject2","createSource","_createSourceFactory2","DecoratedComponent","_decorateHandler2","connectBackend","backend","sourceId","connectDragSource","containerDisplayName","createHandler","registerHandler","_registerSource2","createMonitor","_createSourceMonitor2","createConnector","_createSourceConnector2","_interopRequireDefault","isArgs","origKeys","keys","keysShim","o","originalKeys","shim","keysWorksWithArguments","args","object","isDefined","variable","_typeof","Symbol","iterator","constructor","isNumberBetween","min","max","props","propName","componentName","isHandLength","isOppositeHandLength","isHandWidth","width","isMarkLength","isMarkWidth","Hand","_ref","_ref$angle","angle","_ref$length","_ref$oppositeLength","oppositeLength","_ref$width","React","className","transform","top","bottom","Mark","number","MinuteMark","propTypes","PropTypes","isRequired","formatHour","toLocaleString","getUserLocale","_excluded","_extends","assign","target","source","key","_objectWithoutProperties","excluded","sourceKeys","_objectWithoutPropertiesLoose","getOwnPropertySymbols","sourceSymbolKeys","propertyIsEnumerable","HourMark","_ref$formatHour","defaultFormatHour","otherProps","Clock","_ref$hourHandLength","hourHandLength","hourHandOppositeLength","_ref$hourHandWidth","hourHandWidth","_ref$hourMarksLength","hourMarksLength","_ref$hourMarksWidth","hourMarksWidth","_ref$minuteHandLength","minuteHandLength","minuteHandOppositeLength","_ref$minuteHandWidth","minuteHandWidth","_ref$minuteMarksLengt","minuteMarksLength","_ref$minuteMarksWidth","minuteMarksWidth","_ref$renderHourMarks","renderHourMarks","_ref$renderMinuteHand","renderMinuteHand","_ref$renderMinuteMark","renderMinuteMarks","renderNumbers","_ref$renderSecondHand","renderSecondHand","_ref$secondHandLength","secondHandLength","secondHandOppositeLength","_ref$secondHandWidth","secondHandWidth","_ref$size","size","mergeClassNames","dateTime","Date","toISOString","height","minuteMarks","renderMinuteMarksFn","hourMarks","renderHourMarksFn","getHours","getMinutes","getSeconds","renderHourHandFn","renderMinuteHandFn","renderSecondHandFn","isProduction","process","invariant","condition","provided","unpackBackendForEs5Users","createChildContext","CHILD_CONTEXT_TYPES","_createClass","defineProperties","descriptor","configurable","Constructor","protoProps","staticProps","backendOrModule","childContext","_class","_temp","DragDropContextContainer","_Component","instance","_classCallCheck","self","ReferenceError","_possibleConstructorReturn","__proto__","getPrototypeOf","subClass","superClass","create","setPrototypeOf","_inherits","child","dragDropManager","_this2","_react2","createElement","ref","_react","Component","childContextTypes","_hoistNonReactStatics2","_propTypes2","_dndCore","context","DragDropManager","implementation","is","_index","isVariableDeclaration","kind","BLOCK_SCOPED_SYMBOL","for","reactProperty","utilities","UNCONTROLLED_COMPONENT_ATTRIBUTES","UNCONTROLLED_COMPONENT_NAMES","VALUE_ONLY_INPUTS","reset","submit","getPropName","attributeName","possibleStandardNames","attributeNameLowerCased","attributeValue","propertyInfo","inputIsValueOnly","isCustomAttribute","getPropertyInfo","BOOLEAN","OVERLOADED_BOOLEAN","PRESERVE_CUSTOM_ATTRIBUTES","setStyleProp","bind","$TypeError","$call","$actualApply","Function","LOGICAL_OPERATORS","BOOLEAN_NUMBER_BINARY_OPERATORS","EQUALITY_BINARY_OPERATORS","COMPARISON_BINARY_OPERATORS","BOOLEAN_BINARY_OPERATORS","NUMBER_BINARY_OPERATORS","BOOLEAN_UNARY_OPERATORS","op","NUMBER_UNARY_OPERATORS","STRING_UNARY_OPERATORS","optional","force","NOT_LOCAL_BINDING","allowPartial","parts","member","_matchesPattern","ActionTypes","createStore","reducer","preloadedState","enhancer","_ref2","currentReducer","currentState","currentListeners","nextListeners","isDispatching","ensureCanMutateNextListeners","getState","subscribe","listener","isSubscribed","splice","dispatch","action","listeners","INIT","replaceReducer","nextReducer","_symbolObservable2","outerSubscribe","observer","observeState","unsubscribe","getNative","func","b","c","d","f","g","h","k","m","p","q","r","v","w","x","y","z","u","$$typeof","A","AsyncMode","ConcurrentMode","ContextConsumer","ContextProvider","ForwardRef","Fragment","Lazy","Memo","Portal","Profiler","StrictMode","Suspense","isAsyncMode","isConcurrentMode","isContextConsumer","isContextProvider","isElement","isForwardRef","isFragment","isLazy","isMemo","isPortal","isProfiler","isStrictMode","isSuspense","isValidElementType","typeOf","gatherSequenceExpressions","declars","exprs","ensureLastUndefined","isEmptyStatement","isExpression","isExpressionStatement","expression","declar","declarations","bindings","_getBindingIdentifiers","id","_cloneNode","init","_index2","assignmentExpression","isIfStatement","consequent","_productions","buildUndefinedNode","alternate","conditionalExpression","isBlockStatement","body","sequenceExpression","peg$SyntaxError","expected","found","location","captureStackTrace","ctor","peg$subclass","SyntaxError","parse","input","peg$result","peg$FAILED","peg$startRuleFunctions","start","peg$parsestart","peg$startRuleFunction","peg$c0","elements","peg$c1","text","j","outerLen","inner","innerLen","string","peg$c2","messageText","peg$c3","peg$c4","description","peg$c5","peg$c6","peg$c7","peg$c8","peg$c9","peg$c10","peg$c11","peg$c12","peg$c13","peg$c14","peg$c15","peg$c16","peg$c17","peg$c18","peg$c19","peg$c20","peg$c21","pluralStyle","ordinal","offset","peg$c22","peg$c23","peg$c24","peg$c25","peg$c26","peg$c27","peg$c28","peg$c29","peg$c30","selector","pattern","peg$c31","peg$c32","peg$c33","peg$c34","peg$c35","peg$c36","peg$c37","peg$c38","peg$c39","peg$c40","peg$c41","peg$c42","peg$c43","peg$c44","peg$c45","peg$c46","peg$c47","digits","peg$c48","peg$c49","peg$c50","peg$c51","peg$c52","peg$c53","peg$c54","peg$c55","peg$c56","peg$c57","peg$c58","peg$c59","peg$c60","peg$c61","peg$c62","peg$c63","peg$c64","fromCharCode","peg$c65","chars","peg$currPos","peg$savedPos","peg$posDetailsCache","line","column","seenCR","peg$maxFailPos","peg$maxFailExpected","peg$silentFails","startRule","peg$computeLocation","peg$computePosDetails","pos","ch","details","charAt","startPos","endPos","startPosDetails","endPosDetails","end","peg$fail","peg$buildException","sort","cleanupExpected","expectedDescs","s","hex","charCodeAt","toString","toUpperCase","stringEscape","buildMessage","peg$parsemessageFormatPattern","s0","s1","s2","peg$parsemessageFormatElement","s3","s4","s5","peg$parse_","peg$parsechars","peg$parsews","peg$parsemessageText","peg$parsemessageTextElement","s6","s7","s8","peg$parsenumber","peg$parseargument","peg$parsesimpleFormat","peg$parsepluralStyle","peg$parsepluralFormat","peg$parseselectOrdinalFormat","peg$parseoptionalFormatPattern","peg$parseselectFormat","peg$parseelementFormat","peg$parseargumentElement","peg$parseselector","peg$parseoffset","peg$parsedigit","peg$parsehexDigit","peg$parsechar","isFunction","isLength","Hour12Input","_propTypes","_dateUtils","_Input","_dates","_utils","_slicedToArray","arr","_arrayWithHoles","_i","_s","_e","_arr","_n","_d","done","_iterableToArrayLimit","minLen","_arrayLikeToArray","from","_unsupportedIterableToArray","_nonIterableRest","arr2","maxTime","minTime","maxHour","safeMin","_convert24to2","maxHourResult","minHour","safeMax","_convert24to4","minHourResult","value12","nameForClass","ariaLabel","disabled","bool","inputRef","isRef","isTime","onChange","onKeyDown","onKeyUp","placeholder","required","showLeadingZeros","realDefineProp","__defineGetter__","desc","src$utils$$","hop","proto","F","root","window","global","vendors","suffix","raf","caf","last","queue","frameDuration","callback","_now","setTimeout","cp","cancelled","round","handle","fn","cancel","polyfill","requestAnimationFrame","cancelAnimationFrame","d3","version","d3_arraySlice","d3_array","list","d3_document","document","d3_documentElement","ownerDocument","documentElement","d3_window","defaultView","array","setProperty","error","d3_element_prototype","d3_element_setAttribute","setAttribute","d3_element_setAttributeNS","setAttributeNS","d3_style_prototype","CSSStyleDeclaration","d3_style_setProperty","space","local","priority","d3_ascending","NaN","d3_number","d3_numeric","isNaN","d3_bisector","compare","left","lo","hi","mid","right","ascending","descending","extent","sum","mean","quantile","values","H","floor","median","numbers","variance","deviation","sqrt","d3_bisect","d3_transposeLength","bisectLeft","bisect","bisectRight","bisector","shuffle","i0","i1","random","permute","indexes","permutes","pairs","p1","transpose","matrix","row","zip","entries","merge","arrays","merged","d3_class","properties","d3_Map","_","range","stop","step","Infinity","d3_range_integerScale","forEach","d3_map_escape","d3_map_unescape","d3_map_has","d3_map_remove","d3_map_keys","d3_map_size","d3_map_empty","d3_Set","d3_identity","d3_rebind","method","d3_vendorSymbol","d3_vendorPrefixes","prefixName","remove","empty","nest","sortValues","rollup","sortKeys","mapType","depth","keyValue","setter","valuesByKey","sortKey","keyMap","order","behavior","rebind","d3_noop","d3_dispatch","d3_dispatch_event","listenerByName","event","on","d3_eventPreventDefault","preventDefault","d3_eventSource","sourceEvent","d3_eventDispatch","of","thiz","argumentz","e1","e0","requote","d3_requote_re","d3_subclass","property","d3_selection","groups","d3_selectionPrototype","d3_select","querySelector","d3_selectAll","querySelectorAll","d3_selectMatches","d3_selectMatcher","matches","Sizzle","matchesSelector","selection","select","d3_selection_selector","d3_selection_selectorAll","subgroup","subnode","group","subgroups","parentNode","__data__","selectAll","d3_nsXhtml","d3_nsPrefix","svg","xhtml","xlink","xml","xmlns","d3_selection_attr","ns","qualify","removeAttributeNS","removeAttribute","d3_collapse","trim","d3_selection_classedRe","RegExp","d3_selection_classes","d3_selection_classed","d3_selection_classedName","re","classList","getAttribute","lastIndex","d3_selection_style","removeProperty","d3_selection_property","d3_selection_creator","createElementNS","namespace","namespaceURI","d3_selectionRemove","removeChild","d3_selection_dataNode","d3_selection_filter","d3_selection_sortComparator","comparator","d3_selection_each","d3_selection_enter","d3_selection_enterPrototype","attr","getAttributeNS","each","classed","contains","getComputedStyle","getPropertyValue","textContent","innerHTML","append","appendChild","insert","before","insertBefore","groupData","nodeData","n0","updateNodes","enterNodes","exitNodes","nodeByKeyValue","keyValues","update","enter","exit","nextSibling","d3_selection_on","capture","wrap","d3_selection_onListener","d3_selection_onFilters","onRemove","removeEventListener","$","d3_selection_onFilter","addEventListener","upgroup","j0","d3_selection_enterInsertBefore","mouseenter","mouseleave","related","relatedTarget","compareDocumentPosition","d3_event_dragSelect","d3_event_dragId","d3_event_dragSuppress","click","suppressClick","off","mouse","container","d3_mousePoint","d3_mouse_bug44083","navigator","userAgent","changedTouches","ownerSVGElement","createSVGPoint","point","scrollX","scrollY","ctm","position","margin","padding","border","getScreenCTM","pageX","pageY","clientX","clientY","matrixTransform","inverse","rect","getBoundingClientRect","clientLeft","clientTop","d3_behavior_dragTouchId","identifier","touch","touches","drag","origin","mousedown","dragstart","touchstart","subject","move","dragOffset","that","correspondingElement","dragged","dragId","dragName","dragSubject","dx","dy","position1","position0","dragRestore","ε","ε2","π","PI","τ","τε","halfπ","d3_radians","d3_degrees","d3_sgn","d3_cross2d","d3_acos","acos","d3_asin","asin","d3_cosh","exp","d3_haversin","sin","ρ","SQRT2","interpolateZoom","p0","S","ux0","uy0","w0","ux1","uy1","w1","d2","log","d1","b0","b1","r0","r1","coshr0","d3_sinh","duration","zoom","translate0","center0","center","mousewheelTimer","touchtime","x0","x1","y0","y1","view","scaleExtent","d3_behavior_zoomInfinity","zooming","mousemove","mouseup","mousedowned","d3_behavior_zoomWheel","mousewheeled","dblclicked","touchstarted","scaleTo","translateTo","zoomTo","__chart__","pow","transition","rescale","domain","invert","zoomstarted","zoomed","scale","translate","zoomended","location0","d3_selection_interrupt","scale0","locations0","distance0","zoomName","touchmove","touchend","targets","relocate","started","moved","ended","changed","LN2","l0","l1","distance1","scale1","clearTimeout","d3_behavior_zoomDelta","shiftKey","ceil","deltaY","deltaMode","wheelDelta","detail","view1","d3_transitionInheritId","tween","cx","cy","copy","d3_color","d3_hsl","d3_rgb_parse","d3_rgb_hsl","color","rgb","hsl","d3_hslPrototype","d3_hsl_rgb","m1","m2","vv","d3_rgb","d3_hcl","d3_lab_hcl","d3_lab","d3_rgb_lab","brighter","darker","hcl","d3_hclPrototype","d3_hcl_lab","cos","d3_lab_K","lab","d3_lab_X","d3_lab_Y","d3_lab_Z","d3_labPrototype","d3_lab_rgb","d3_xyz_rgb","d3_lab_xyz","atan2","d3_xyz_lab","d3_rgbNumber","d3_rgbString","d3_rgbPrototype","d3_rgb_hex","exec","parseFloat","d3_rgb_parseNumber","d3_rgb_names","d3_rgb_xyz","aliceblue","antiquewhite","aqua","aquamarine","azure","beige","bisque","black","blanchedalmond","blue","blueviolet","brown","burlywood","cadetblue","chartreuse","chocolate","coral","cornflowerblue","cornsilk","crimson","cyan","darkblue","darkcyan","darkgoldenrod","darkgray","darkgreen","darkgrey","darkkhaki","darkmagenta","darkolivegreen","darkorange","darkorchid","darkred","darksalmon","darkseagreen","darkslateblue","darkslategray","darkslategrey","darkturquoise","darkviolet","deeppink","deepskyblue","dimgray","dimgrey","dodgerblue","firebrick","floralwhite","forestgreen","fuchsia","gainsboro","ghostwhite","gold","goldenrod","gray","green","greenyellow","grey","honeydew","hotpink","indianred","indigo","ivory","khaki","lavender","lavenderblush","lawngreen","lemonchiffon","lightblue","lightcoral","lightcyan","lightgoldenrodyellow","lightgray","lightgreen","lightgrey","lightpink","lightsalmon","lightseagreen","lightskyblue","lightslategray","lightslategrey","lightsteelblue","lightyellow","lime","limegreen","linen","magenta","maroon","mediumaquamarine","mediumblue","mediumorchid","mediumpurple","mediumseagreen","mediumslateblue","mediumspringgreen","mediumturquoise","mediumvioletred","midnightblue","mintcream","mistyrose","moccasin","navajowhite","navy","oldlace","olive","olivedrab","orange","orangered","orchid","palegoldenrod","palegreen","paleturquoise","palevioletred","papayawhip","peachpuff","peru","pink","plum","powderblue","purple","rebeccapurple","red","rosybrown","royalblue","saddlebrown","salmon","sandybrown","seagreen","seashell","sienna","silver","skyblue","slateblue","slategray","slategrey","snow","springgreen","steelblue","tan","teal","thistle","tomato","turquoise","violet","wheat","white","whitesmoke","yellow","yellowgreen","d3_functor","d3_xhrType","response","url","mimeType","d3_xhr","xhr","headers","request","XMLHttpRequest","responseType","respond","result","status","responseText","d3_xhrHasResponse","load","XDomainRequest","onload","onerror","onreadystatechange","readyState","onprogress","progress","header","send","open","setRequestHeader","overrideMimeType","beforesend","abort","d3_xhr_fixCallback","functor","dsv","delimiter","reFormat","delimiterCode","typedResponse","formatRow","formatValue","parseRows","JSON","stringify","eol","EOL","EOF","rows","N","I","token","formatRows","fieldSet","csv","tsv","d3_timer_queueHead","d3_timer_queueTail","d3_timer_interval","d3_timer_timeout","d3_timer_frame","d3_timer","delay","then","timer","d3_timer_step","d3_timer_mark","d3_timer_sweep","t0","t1","time","d3_format_precision","LN10","flush","d3_formatPrefixes","symbol","d3_locale_numberFormat","locale_decimal","decimal","locale_thousands","thousands","locale_grouping","grouping","locale_currency","currency","formatGroup","reverse","specifier","d3_format_re","fill","align","sign","zfill","comma","precision","integer","exponent","d3_format_types","d3_format_typeDefault","zcomma","fullSuffix","negative","unit","formatPrefix","after","lastIndexOf","X","toPrecision","toExponential","toFixed","d3_time","d3_date","d3_date_utc","UTC","getDate","getUTCDate","getDay","getUTCDay","getFullYear","getUTCFullYear","getUTCHours","getMilliseconds","getUTCMilliseconds","getUTCMinutes","getMonth","getUTCMonth","getUTCSeconds","getTime","getTimezoneOffset","valueOf","setDate","d3_time_prototype","setUTCDate","setDay","setUTCDay","setFullYear","setUTCFullYear","setHours","setUTCHours","setMilliseconds","setUTCMilliseconds","setMinutes","setUTCMinutes","setMonth","setUTCMonth","setSeconds","setUTCSeconds","setTime","d3_time_interval","d0","dt","times","utc","d3_time_interval_utc","d3_locale_timeFormat","locale_dateTime","locale_date","locale_time","locale_periods","periods","locale_days","days","locale_shortDays","shortDays","locale_months","months","locale_shortMonths","shortMonths","d3_time_format","template","d3_time_formatPads","d3_time_formats","M","L","Z","d3_time_parse","localZ","W","U","d3_time_parsers","multi","d3_time_formatMulti","d3_time_periodLookup","d3_time_dayRe","d3_time_formatRe","d3_time_dayLookup","d3_time_formatLookup","d3_time_dayAbbrevRe","d3_time_dayAbbrevLookup","d3_time_monthRe","d3_time_monthLookup","d3_time_monthAbbrevRe","d3_time_monthAbbrevLookup","B","d3_time_formatPad","dayOfYear","sundayOfYear","mondayOfYear","Y","d3_time_zone","d3_time_parseDay","d3_time_parseHour24","d3_time_parseDayOfYear","d3_time_parseMilliseconds","d3_time_parseMonthNumber","d3_time_parseMinutes","d3_time_parseSeconds","d3_time_parseWeekNumberSunday","d3_time_parseWeekdayNumber","d3_time_parseWeekNumberMonday","d3_time_parseYear","d3_time_parseFullYear","d3_time_parseZone","d3_time_parseLiteralPercent","years","interval","week","sunday","weeks","weekOfYear","d3_time_numberRe","d3_time_percentRe","names","zs","zh","zm","formats","numberFormat","timeFormat","d3_locale_enUS","d3_adder","geo","d3_adderSum","d3_adderTemp","bv","av","d3_geo_streamGeometry","geometry","d3_geo_streamGeometryType","stream","d3_geo_streamObjectType","Feature","feature","FeatureCollection","features","Sphere","sphere","Point","coordinates","MultiPoint","LineString","d3_geo_streamLine","MultiLineString","Polygon","d3_geo_streamPolygon","MultiPolygon","GeometryCollection","geometries","closed","coordinate","lineStart","lineEnd","polygonStart","polygonEnd","area","d3_geo_areaSum","d3_geo_area","d3_geo_centroidW0","d3_geo_centroidW1","d3_geo_centroidX0","d3_geo_centroidY0","d3_geo_centroidZ0","d3_geo_centroidX1","d3_geo_centroidY1","d3_geo_centroidZ1","d3_geo_centroidX2","d3_geo_centroidY2","d3_geo_centroidZ2","d3_geo_areaRingSum","d3_geo_areaRingStart","λ00","φ00","λ0","cosφ0","sinφ0","nextPoint","λ","φ","dλ","sdλ","adλ","cosφ","sinφ","d3_geo_cartesian","spherical","d3_geo_cartesianDot","d3_geo_cartesianCross","d3_geo_cartesianAdd","d3_geo_cartesianScale","vector","d3_geo_cartesianNormalize","d3_geo_spherical","cartesian","d3_geo_sphericalEqual","bounds","φ0","λ1","φ1","λ_","λ__","φ__","dλSum","ranges","bound","ringPoint","ringStart","ringEnd","linePoint","normal","inflection","λi","antimeridian","φi","compareRanges","withinRange","best","centroid","d3_geo_centroid","d3_geo_centroidPoint","d3_geo_centroidLineStart","d3_geo_centroidLineEnd","d3_geo_centroidRingStart","d3_geo_centroidPointXYZ","z0","cz","d3_geo_compose","compose","d3_true","d3_geo_clipPolygon","segments","clipStartInside","interpolate","clip","segment","d3_geo_clipPolygonIntersection","d3_geo_clipPolygonLinkCircular","entry","points","isSubject","d3_geo_clip","pointVisible","clipLine","clipStart","rotate","rotatedClipStart","pointRing","polygon","meridian","parallel","meridianNormal","polarAngle","winding","ring","point0","arc","intersection","φarc","d3_geo_pointInPolygon","polygonStarted","d3_geo_clipSort","pointLine","buffer","d3_geo_clipBufferListener","ringListener","clean","ringSegments","shift","d3_geo_clipSegmentLength1","lines","rejoin","d3_geo_clipAntimeridian","sλ0","sλ1","cosφ1","sinλ0_λ1","atan","d3_geo_clipAntimeridianIntersect","to","direction","d3_geom_clipLine","ax","ay","d3_geo_clipExtentMAX","d3_geo_clipExtent","x__","y__","v__","x_","y_","v_","first","listener_","bufferListener","wn","insidePolygon","inside","visible","a1","corner","comparePoints","ca","cb","d3_geo_conic","projectAt","d3_geo_projectionMutator","parallels","d3_geo_conicEqualArea","C","ρ0","forward","ρ0_y","clipExtent","output","valid","conicEqualArea","raw","albers","albersUsa","lower48Point","alaskaPoint","hawaiiPoint","lower48","alaska","hawaii","pointStream","lower48Stream","alaskaStream","hawaiiStream","d3_geo_pathAreaSum","d3_geo_pathAreaPolygon","d3_geo_pathBoundsX0","d3_geo_pathBoundsY0","d3_geo_pathBoundsX1","d3_geo_pathBoundsY1","d3_geo_pathArea","d3_geo_pathAreaRingStart","x00","y00","d3_geo_pathBounds","d3_geo_pathBuffer","pointCircle","d3_geo_pathBufferCircle","pointLineStart","lineEndPolygon","pointRadius","radius","d3_geo_lengthSum","d3_geo_pathCentroid","d3_geo_pathCentroidPoint","d3_geo_pathCentroidLineStart","d3_geo_pathCentroidLineEnd","d3_geo_pathCentroidRingStart","d3_geo_pathContext","moveTo","lineTo","closePath","d3_geo_resample","project","δ2","cosMinDistance","maxDepth","resample","resampleRecursive","resampleNone","d3_geo_transformPoint","a00","b00","c00","a0","c0","resampleLineTo","c1","φ2","λ2","x2","y2","dx2","dy2","dz","d3_geo_transform","d3_geo_projection","projectRotate","δx","δy","projectResample","δλ","δφ","δγ","preclip","postclip","clipAngle","projection","d3_geo_rotation","invalidate","d3_geo_projectionRadians","cr","smallRadius","notHemisphere","v0","v00","point2","point1","code","intersect","d3_geo_circleInterpolate","n1","n2","n2n2","n1n2","determinant","c2","n1xn2","uu","t2","polar","q1","d3_geo_clipCircle","d3_geo_equirectangular","d3_geo_identityRotation","d3_geo_rotationλ","d3_geo_rotationφγ","d3_geo_forwardRotationλ","rotation","cosδφ","sinδφ","cosδγ","sinδγ","sr","d3_geo_circleAngle","d3_geo_graticuleX","d3_geo_graticuleY","d3_source","d3_target","path","projectStream","contextStream","cacheStream","d3_geo_pathProjectStream","methods","projectionMutator","equirectangular","circle","distance","Δλ","sinΔλ","cosΔλ","sinφ1","graticule","X1","X0","Y1","Y0","DX","DY","outline","majorExtent","minorExtent","majorStep","minorStep","greatArc","source_","target_","cy0","sy0","cy1","sy1","kx0","ky0","kx1","ky1","d3_geo_interpolate","d3_geo_length","d3_geo_azimuthal","azimuthal","cosλ","sinc","cosc","d3_geo_azimuthalEqualArea","cosλcosφ","azimuthalEqualArea","d3_geo_azimuthalEquidistant","d3_geo_conicConformal","d3_geo_mercator","d3_geo_conicEquidistant","G","azimuthalEquidistant","conicConformal","conicEquidistant","d3_geo_gnomonic","d3_geo_mercatorProjection","clipAuto","gnomonic","mercator","d3_geo_orthographic","orthographic","d3_geo_stereographic","d3_geo_transverseMercator","d3_geom_pointX","d3_geom_pointY","d3_geom_hullUpper","hull","hs","d3_geom_hullOrder","stereographic","transverseMercator","geom","vertices","fx","fy","flippedPoints","upper","lower","skipLeft","skipRight","d3_geom_polygonPrototype","d3_geom_polygonInside","d3_geom_polygonIntersect","x3","x21","x43","y3","y21","y43","ua","d3_geom_polygonClosed","d3_geom_voronoiEdges","d3_geom_voronoiCells","d3_geom_voronoiBeaches","d3_geom_voronoiFirstCircle","d3_geom_voronoiCircles","d3_geom_voronoiBeachPool","d3_geom_voronoiCirclePool","d3_geom_voronoiBeach","d3_geom_voronoiRedBlackNode","edge","site","d3_geom_voronoiCreateBeach","beach","d3_geom_voronoiDetachBeach","d3_geom_voronoiDetachCircle","d3_geom_voronoiRemoveBeach","vertex","previous","P","disappearing","lArc","rArc","iArc","nArcs","d3_geom_voronoiSetEdgeEnd","d3_geom_voronoiCreateEdge","d3_geom_voronoiAttachCircle","d3_geom_voronoiAddBeach","dxl","dxr","directrix","d3_geom_voronoiLeftBreakPoint","d3_geom_voronoiRightBreakPoint","R","newArc","lSite","bx","by","rSite","hb","hc","rfocx","rfocy","pby2","lfocx","lfocy","plby2","hl","aby2","d3_geom_voronoiCell","edges","d3_geom_voronoiHalfEdgeOrder","d3_geom_voronoiCircle","cSite","ha","d3_geom_voronoiConnectEdge","vb","fm","fb","va","lx","ly","rx","ry","d3_geom_voronoiEdge","d3_geom_voronoiHalfEdge","d3_geom_voronoiCreateBorderEdge","d3_geom_voronoiRedBlackTree","d3_geom_voronoiRedBlackRotateLeft","tree","d3_geom_voronoiRedBlackRotateRight","d3_geom_voronoiRedBlackFirst","d3_geom_voronoi","sites","bbox","d3_geom_voronoiVertexOrder","d3_geom_voronoiClipEdges","cell","iHalfEdge","halfEdges","nHalfEdges","cells","iCell","prepare","d3_geom_voronoiCloseCells","diagram","grandpa","uncle","sibling","voronoi","d3_geom_voronoiClipExtent","polygons","links","triangles","d3_geom_quadtreeCompatX","d3_geom_quadtreeCompatY","d3_geom_quadtreeVisit","sx","sy","d3_interpolateRgb","ar","ag","ab","br","bg","bb","d3_interpolateObject","d3_interpolate","d3_interpolateNumber","d3_interpolateString","am","bm","bs","bi","d3_interpolate_numberA","d3_interpolate_numberB","delaunay","quadtree","compat","xs","ys","x1_","y1_","x2_","y2_","leaf","nx","ny","insertChild","nPoint","xm","ym","below","visit","find","closestPoint","minDistance2","distance2","d3_geom_quadtreeFind","interpolateRgb","interpolateObject","interpolateNumber","interpolateString","interpolators","d3_interpolateArray","na","nb","interpolateArray","d3_ease_default","d3_ease","linear","poly","quad","d3_ease_quad","cubic","d3_ease_cubic","d3_ease_sin","d3_ease_exp","d3_ease_circle","elastic","back","bounce","d3_ease_bounce","d3_ease_mode","out","d3_ease_reverse","d3_ease_reflect","d3_ease_cubicInOut","t3","d3_interpolateRound","d3_transform","kx","d3_transformNormalize","kz","d3_transformDot","ky","skew","ease","interpolateHcl","ah","ac","al","bh","bc","bl","interpolateHsl","as","interpolateLab","aa","ba","interpolateRound","baseVal","consolidate","d3_transformIdentity","d3_interpolateTransformPop","d3_interpolateTransform","ta","tb","d3_interpolateTranslate","ra","rb","d3_interpolateRotate","wa","wb","d3_interpolateSkew","ka","kb","d3_interpolateScale","d3_uninterpolateNumber","d3_uninterpolateClamp","d3_layout_bundlePath","link","lca","aNodes","d3_layout_bundleAncestors","bNodes","aNode","bNode","sharedNode","d3_layout_bundleLeastCommonAncestor","ancestors","d3_layout_forceDragstart","fixed","d3_layout_forceDragend","d3_layout_forceMouseover","px","py","d3_layout_forceMouseout","d3_layout_forceAccumulate","alpha","charges","charge","pointCharge","interpolateTransform","layout","bundle","paths","chord","chords","sortGroups","sortSubgroups","sortChords","relayout","groupSums","groupIndex","subgroupIndex","di","dj","subindex","startAngle","endAngle","resort","distances","strengths","friction","linkDistance","d3_layout_forceLinkDistance","linkStrength","d3_layout_forceLinkStrength","chargeDistance2","d3_layout_forceChargeDistance2","gravity","theta2","repulse","dw","dn","dragmove","resume","tick","weight","chargeDistance","theta","neighbors","dimension","candidates","d3_layout_hierarchyRebind","hierarchy","d3_layout_hierarchyLinks","d3_layout_hierarchyVisitBefore","d3_layout_hierarchyVisitAfter","nodes2","d3_layout_hierarchyChildren","d3_layout_hierarchyValue","d3_layout_hierarchySort","childs","revalue","partition","pie","d3_layout_pieSortByValue","padAngle","da","pa","arcs","d3_layout_stackX","d3_layout_stackY","d3_layout_stackOut","d3_layout_stackOrderDefault","d3_layout_stackOffsetZero","series","orders","offsets","d3_layout_stackOrders","d3_layout_stackOffsets","d3_layout_stackMaxIndex","sums","d3_layout_stackReduceSum","tops","bottoms","silhouette","wiggle","o0","expand","zero","reduce","d3_layout_stackSum","d3_layout_histogramBinSturges","d3_layout_histogramBinFixed","d3_layout_histogramRange","d3_layout_packSort","d3_layout_packInsert","_pack_next","_pack_prev","d3_layout_packSplice","d3_layout_packIntersects","dr","d3_layout_packSiblings","xMin","xMax","yMin","yMax","d3_layout_packLink","d3_layout_packPlace","isect","d3_layout_packUnlink","d3_layout_packTransform","db","dc","d3_layout_treeSeparation","d3_layout_treeLeft","d3_layout_treeRight","d3_layout_treeMove","wm","wp","change","d3_layout_treeAncestor","vim","ancestor","d3_layout_clusterLeft","d3_layout_clusterRight","d3_layout_treemapPadNull","d3_layout_treemapPad","d3_scaleExtent","d3_scaleRange","rangeExtent","d3_scale_bilinear","uninterpolate","d3_scale_nice","nice","d3_scale_niceStep","d3_scale_niceIdentity","histogram","frequency","valuer","ranger","binner","bin","bins","pack","separation","nodeSize","root0","root1","node1","wrapTree","firstWalk","secondWalk","sizeNode","tx","siblings","d3_layout_treeShift","midpoint","vip","vop","vom","sip","sop","sim","som","apportion","cluster","previousNode","d3_layout_clusterX","d3_layout_clusterY","treemap","stickies","pad","sticky","mode","ratio","squarify","score","remaining","worst","stickify","rmax","rmin","padConstant","µ","σ","logNormal","bates","irwinHall","d3_scale_polylinear","d3_scale_linear","clamp","rangeRound","ticks","d3_scale_linearTicks","tickFormat","d3_scale_linearTickFormat","d3_scale_linearNice","d3_scale_linearRebind","d3_scale_linearTickRange","span","d3_scale_linearPrecision","d3_scale_linearFormatSignificant","d3_scale_linearFormatPrecision","d3_scale_log","base","positive","niced","d3_scale_logNiceNegative","d3_scale_logFormat","d3_scale_pow","powp","d3_scale_powPow","powb","d3_scale_ordinal","rangeBand","steps","xi","rangePoints","rangeRoundPoints","rangeBands","outerPadding","rangeRoundBands","category10","d3_category10","category20","d3_category20","category20b","d3_category20b","category20c","d3_category20c","d3_scale_quantile","quantiles","invertExtent","d3_scale_quantize","d3_scale_threshold","d3_scale_identity","identity","d3_zero","quantize","threshold","innerRadius","d3_svg_arcInnerRadius","outerRadius","d3_svg_arcOuterRadius","cornerRadius","padRadius","d3_svg_arcAuto","d3_svg_arcStartAngle","d3_svg_arcEndAngle","d3_svg_arcPadAngle","cw","rc","circleSegment","rp","ap","d3_svg_arcSweep","h1","h0","rc1","rc0","oc","kc","lc","t30","d3_svg_arcCornerTangents","t12","t03","t21","x01","y01","ox","oy","D","cx0","cx1","dx0","dy0","dx1","dy1","d3_svg_line","defined","d3_svg_lineLinear","interpolateKey","tension","d3_svg_lineInterpolators","d3_svg_lineLinearClosed","d3_svg_lineStepBefore","d3_svg_lineStepAfter","basis","d3_svg_lineBasis","pi","d3_svg_lineDot4","d3_svg_lineBasisBezier3","d3_svg_lineBasisBezier","cardinal","d3_svg_lineHermite","d3_svg_lineCardinalTangents","monotone","tangents","d3_svg_lineSlope","d3_svg_lineFiniteDifferences","d3_svg_lineMonotoneTangents","lp","p2","d3_svg_lineBasisBezier1","d3_svg_lineBasisBezier2","d3_svg_lineRadial","d3_svg_area","interpolateReverse","points0","points1","fx0","fy0","fx1","fy1","d3_svg_chordRadius","d3_svg_diagonalProjection","d3_svg_symbolSize","d3_svg_symbolType","d3_svg_symbolCircle","radial","curve","diagonal","p3","projection_","d3_svg_diagonalRadialProjection","d3_svg_symbols","cross","diamond","d3_svg_symbolTan30","square","d3_svg_symbolSqrt3","symbolTypes","d3_transitionId","d3_transitionNamespace","d3_transitionInherit","d3_transitionNode","d3_transition","interrupt","d3_selection_interruptNS","lock","activeId","active","count","d3_transitionPrototype","d3_transition_tween","d3_transition_text","inherit","tweens","elapsed","cancelId","subnodes","nameNS","attrNull","attrNullNS","attrTween","styleNull","styleTween","inheritId","id0","id1","axis","tickFormat_","orient","d3_svg_axisDefaultOrient","innerTickSize","outerTickSize","tickPadding","tickArguments_","tickValues","tickTransform","tickEnter","tickExit","tickUpdate","tickSpacing","pathUpdate","lineEnter","lineUpdate","textEnter","textUpdate","d3_svg_axisX","d3_svg_axisY","d3_svg_axisOrients","tickSize","tickSubdivide","brush","xExtentDomain","yExtentDomain","xExtent","yExtent","xClamp","yClamp","resizes","d3_svg_brushResizes","brushstart","background","resize","d3_svg_brushCursor","gUpdate","backgroundUpdate","redrawX","redrawY","redraw","eventTarget","event_","resizing","resizingX","resizingY","dragging","keyCode","brushmove","brushend","ex","ey","altKey","move1","extent1","extent0","yi","clear","nw","ne","se","sw","d3_time_formatUtc","d3_time_formatIso","d3_time_formatIsoNative","d3_time_scale","tickMethod","d3_time_scaleSteps","d3_time_scaleMilliseconds","d3_time_scaleDate","skipped","iso","seconds","minutes","timezone","hours","d3_time_scaleLocalMethods","d3_time_scaleLocalFormat","d3_time_scaleUtcMethods","d3_time_scaleUtcFormat","d3_json","d3_html","createRange","selectNode","createContextualFragment","json","responseXML","define","SetCache","arrayIncludes","arrayIncludesWith","arrayMap","baseUnary","cacheHas","nativeMin","iteratee","includes","othLength","othIndex","caches","maxLength","seen","outer","computed","cache","SAME","CAMELCASE","accept","acceptCharset","accessKey","allowFullScreen","alt","async","autoCapitalize","autoComplete","autoCorrect","autoFocus","autoPlay","autoSave","cellPadding","cellSpacing","challenge","charSet","checked","cite","class","classID","cols","colSpan","contentEditable","contextMenu","controls","controlsList","coords","crossOrigin","dangerouslySetInnerHTML","defaultChecked","defaultValue","defer","dir","disablePictureInPicture","disableRemotePlayback","download","draggable","encType","enterKeyHint","form","formMethod","formAction","formEncType","formNoValidate","formTarget","frameBorder","hidden","high","href","hrefLang","htmlFor","httpEquiv","icon","inputMode","integrity","itemID","itemProp","itemRef","itemScope","itemType","keyParams","keyType","label","lang","loop","low","manifest","marginWidth","marginHeight","media","mediaGroup","minLength","multiple","muted","noModule","nonce","noValidate","optimum","playsInline","poster","preload","profile","radioGroup","readOnly","referrerPolicy","rel","reversed","role","rowSpan","sandbox","scope","scoped","scrolling","seamless","selected","shape","sizes","spellCheck","src","srcDoc","srcLang","srcSet","summary","tabIndex","title","useMap","wmode","about","accentHeight","accumulate","additive","alignmentBaseline","allowReorder","alphabetic","amplitude","arabicForm","ascent","attributeType","autoReverse","azimuth","baseFrequency","baselineShift","baseProfile","begin","bias","calcMode","capHeight","clipPath","clipPathUnits","clipRule","colorInterpolation","colorInterpolationFilters","colorProfile","colorRendering","contentScriptType","contentStyleType","cursor","datatype","decelerate","descent","diffuseConstant","display","divisor","dominantBaseline","dur","edgeMode","elevation","enableBackground","externalResourcesRequired","fillOpacity","fillRule","filterRes","filterUnits","floodOpacity","floodColor","focusable","fontFamily","fontSize","fontSizeAdjust","fontStretch","fontStyle","fontVariant","fontWeight","g1","g2","glyphName","glyphOrientationHorizontal","glyphOrientationVertical","glyphRef","gradientTransform","gradientUnits","hanging","horizAdvX","horizOriginX","ideographic","imageRendering","in2","in","inlist","intercept","k1","k2","k3","k4","kernelMatrix","kernelUnitLength","kerning","keyPoints","keySplines","keyTimes","lengthAdjust","letterSpacing","lightingColor","limitingConeAngle","markerEnd","markerHeight","markerMid","markerStart","markerUnits","markerWidth","mask","maskContentUnits","maskUnits","mathematical","numOctaves","opacity","operator","orientation","overflow","overlinePosition","overlineThickness","paintOrder","panose1","pathLength","patternContentUnits","patternTransform","patternUnits","pointerEvents","pointsAtX","pointsAtY","pointsAtZ","preserveAlpha","preserveAspectRatio","primitiveUnits","refX","refY","renderingIntent","repeatCount","repeatDur","requiredExtensions","requiredFeatures","resource","restart","results","security","seed","shapeRendering","slope","spacing","specularConstant","specularExponent","speed","spreadMethod","startOffset","stdDeviation","stemh","stemv","stitchTiles","stopColor","stopOpacity","strikethroughPosition","strikethroughThickness","stroke","strokeDasharray","strokeDashoffset","strokeLinecap","strokeLinejoin","strokeMiterlimit","strokeWidth","strokeOpacity","suppressContentEditableWarning","suppressHydrationWarning","surfaceScale","systemLanguage","tableValues","targetX","targetY","textAnchor","textDecoration","textLength","textRendering","typeof","u1","u2","underlinePosition","underlineThickness","unicode","unicodeBidi","unicodeRange","unitsPerEm","unselectable","vAlphabetic","vectorEffect","vertAdvY","vertOriginX","vertOriginY","vHanging","vIdeographic","viewBox","viewTarget","visibility","vMathematical","vocab","widths","wordSpacing","writingMode","xChannelSelector","xHeight","xlinkActuate","xlinkArcrole","xlinkHref","xlinkRole","xlinkShow","xlinkTitle","xlinkType","xmlBase","xmlLang","xmlnsXlink","xmlSpace","yChannelSelector","zoomAndPan","supportsDescriptors","$gOPD","getOwnPropertyDescriptor","flags","calls","isMemberExpression","isIdentifier","isStringLiteral","isThisExpression","_isDisposable3","isDisposable","_Disposable3","Disposable","_CompositeDisposable3","CompositeDisposable","_SerialDisposable3","SerialDisposable","_options$arePropsEqua","arePropsEqual","_shallowEqualScalar2","DragLayerContainer","_this","handleChange","manager","state","getCurrentState","nextProps","nextState","_shallowEqual2","isCurrentlyMounted","monitor","getMonitor","unsubscribeFromOffsetChange","subscribeToOffsetChange","unsubscribeFromStateChange","subscribeToStateChange","setState","contextTypes","_raf2","_raf3","_domCss2","_isString2","_getScrollbarWidth2","_returnFalse2","_getInnerWidth2","_getInnerHeight2","_styles","_defaultRenderElements","Scrollbars","_len","rest","_key","getScrollLeft","getScrollTop","getScrollWidth","getScrollHeight","getClientWidth","getClientHeight","getValues","getThumbHorizontalWidth","getThumbVerticalHeight","getScrollLeftForOffset","getScrollTopForOffset","scrollLeft","scrollTop","scrollToLeft","scrollToTop","scrollToRight","scrollToBottom","handleTrackMouseEnter","handleTrackMouseLeave","handleHorizontalTrackMouseDown","handleVerticalTrackMouseDown","handleHorizontalThumbMouseDown","handleVerticalThumbMouseDown","handleWindowResize","handleScroll","handleDrag","handleDragEnd","didMountUniversal","addListeners","componentDidMountUniversal","universal","removeListeners","requestFrame","hideTracksTimeout","clearInterval","detectScrollingInterval","scrollWidth","scrollHeight","clientWidth","clientHeight","_ref2$scrollLeft","_ref2$scrollTop","_ref2$scrollWidth","_ref2$scrollHeight","_ref2$clientWidth","_ref2$clientHeight","_props","thumbSize","thumbMinSize","_view","trackWidth","trackHorizontal","_props2","_view2","trackHeight","trackVertical","_view3","_view4","thumbHorizontal","thumbVertical","teardownDragging","_props3","onScroll","onScrollFrame","viewScrollLeft","viewScrollTop","detectScrolling","onScrollStart","handleScrollStartAutoHide","autoHide","showTracks","onScrollStop","handleScrollStopAutoHide","hideTracks","targetLeft","thumbWidth","targetTop","thumbHeight","handleDragStart","offsetWidth","prevPageX","offsetHeight","prevPageY","disableSelectStyle","onselectstart","disableSelectStyleReset","stopImmediatePropagation","setupDragging","_offset","handleDragEndAutoHide","trackMouseOver","handleTrackMouseEnterAutoHide","handleTrackMouseLeaveAutoHide","_this3","autoHideTimeout","_this4","handleScrollStart","setInterval","lastViewScrollLeft","lastViewScrollTop","handleScrollStop","_this5","_this6","_update","_props4","onUpdate","hideTracksWhenNotNeeded","trackHorizontalWidth","thumbHorizontalWidth","thumbHorizontalStyle","trackVerticalHeight","thumbVerticalHeight","thumbVerticalStyle","trackHorizontalStyle","trackVerticalStyle","_this7","scrollbarWidth","_props5","renderView","renderTrackHorizontal","renderTrackVertical","renderThumbHorizontal","renderThumbVertical","autoHideDuration","autoHeight","autoHeightMin","autoHeightMax","containerStyle","containerStyleDefault","containerStyleAutoHeight","minHeight","maxHeight","viewStyle","viewStyleDefault","marginRight","marginBottom","viewStyleAutoHeight","viewStyleUniversalInitial","trackAutoHeightStyle","trackHorizontalStyleDefault","trackVerticalStyleDefault","_ref3","cloneElement","_ref4","_ref5","thumbHorizontalStyleDefault","_ref6","_ref7","thumbVerticalStyleDefault","_ref8","oneOfType","defaultProps","renderViewDefault","renderTrackHorizontalDefault","renderTrackVerticalDefault","renderThumbHorizontalDefault","renderThumbVerticalDefault","defineType","defineAliasedType","visitor","aliases","validate","assertNodeType","builder","openingElement","closingElement","validateArrayOfType","selfClosing","assertValueType","typeArguments","typeParameters","argument","openingFragment","closingFragment","baseGetTag","isObject","tag","hasSymbols","toStr","defineDataProperty","predicate","predicates","nodeInterop","_getRequireWildcardCache","newObj","hasPropertyDescriptor","_interopRequireWildcard","_makeEventProps","_mergeClassNames","_reactCalendar","_reactFit","_reactClock","_DateTimeInput","_excluded2","_excluded3","WeakMap","cacheBabelInterop","cacheNodeInterop","_defineProperties","_setPrototypeOf","_createSuper","Derived","hasNativeReflectConstruct","Reflect","construct","sham","Proxy","Boolean","_isNativeReflectConstruct","Super","_getPrototypeOf","NewTarget","_assertThisInitialized","_defineProperty","allViews","baseClassName","outsideActionEvents","DateTimePicker","_PureComponent","_super","composedPath","wrapper","closeWidgets","prevValue","valueWithHour","_this$props","onFocus","openWidgetsOnFocus","openCalendar","openClock","isCalendarOpen","isClockOpen","prevState","stopPropagation","isCalendarOpenProps","isClockOpenProps","handleOutsideActionListeners","prevProps","_this$state","_this$props2","onCalendarClose","onCalendarOpen","onClockClose","onClockOpen","_callback","shouldListen","_this$state2","fnName","eventName","onOutsideAction","_this$props3","amPmAriaLabel","calendarAriaLabel","calendarIcon","clearAriaLabel","clearIcon","dayAriaLabel","dayPlaceholder","disableCalendar","hourAriaLabel","hourPlaceholder","maxDate","maxDetail","minDate","minuteAriaLabel","minutePlaceholder","monthAriaLabel","monthPlaceholder","nativeInputAriaLabel","secondAriaLabel","secondPlaceholder","yearAriaLabel","yearPlaceholder","_this$state3","valueFrom","ariaLabelProps","placeholderProps","isWidgetOpen","onClick","onBlur","resetValue","toggleCalendar","_this$props4","calendarClassName","calendarProps","onDateChange","disableClock","_this$props5","clockClassName","clockProps","maxDetailIndex","eventProps","_this$props6","isOpen","eventPropsWithoutOnChange","renderInputs","renderCalendar","renderClock","PureComponent","iconProps","CalendarIcon","ClearIcon","isValue","instanceOf","arrayOf","isMaxDate","oneOf","isMinDate","curLine","errors","initialPos","initialLineStart","initialCurLine","firstInvalidLoc","chunkStart","unterminated","isStringEnd","res","readEscapedChar","str","containsInvalid","forbiddenNumericSeparatorSiblings","decBinOct","isAllowedNumericSeparatorSibling","oct","dec","inTemplate","throwOnInvalid","readHexChar","readCodePoint","fromCodePoint","strictNumericEscape","octalStr","octal","forceLen","readInt","invalidEscapeSequence","radix","allowNumSeparator","bailOnError","forbiddenSiblings","isAllowedSibling","invalid","total","val","_isDigit","invalidDigit","unexpectedNumericSeparator","numericSeparatorInEscapeSequence","invalidCodePoint","$defineProperty","hasPropertyDescriptors","hasArrayLengthDefineBug","getPrototype","isObjectLike","funcProto","objectProto","funcToString","objectCtorString","Ctor","AmPm","amDisabled","pmDisabled","_getAmPmLabels2","getAmPmLabels","amLabel","pmLabel","isKeyable","arg","coreJsData","createManager","ManagerContext","refType","specialAssign","checkedProps","forwardedRef","onMenuToggle","onSelection","closeOnSelection","closeOnBlur","managerOptionsFromProps","AriaMenuButtonWrapper","_React$Component","componentDidUpdate","updateOptions","render","wrapperProps","Provider","forwardRef","_core","defineInterfaceishType","isDeclareClass","validateType","validateOptionalType","extends","validateOptional","arrayOfType","mixins","implements","elementType","assertOneOf","typeAnnotation","supertype","impltype","declaration","specifiers","importAttributes","exportKind","params","returnType","types","indexers","callProperties","internalSlots","exact","inexact","static","qualification","explicitType","members","hasUnknownMembers","objectType","indexType","reserved","_helperValidatorIdentifier","isKeyword","isStrictReservedWord","isIdentifierName","isMounted","enqueueForceUpdate","enqueueReplaceState","enqueueSetState","E","refs","updater","isReactComponent","forceUpdate","isPureReactComponent","J","K","__self","__source","_owner","O","Q","escape","T","_status","_result","V","ReactCurrentDispatcher","ReactCurrentBatchConfig","ReactCurrentOwner","Children","toArray","only","__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED","act","_currentValue","_currentValue2","_threadCount","Consumer","_defaultValue","_globalName","_context","createFactory","createRef","isValidElement","lazy","_payload","_init","memo","startTransition","unstable_act","useCallback","useContext","useDebugValue","useDeferredValue","useEffect","useId","useImperativeHandle","useInsertionEffect","useLayoutEffect","useMemo","useReducer","useRef","useState","useSyncExternalStore","useTransition","moment","defineLocale","monthsShort","weekdays","weekdaysShort","weekdaysMin","meridiemParse","isPM","meridiem","isLower","longDateFormat","LT","LTS","LL","LLL","LLLL","calendar","sameDay","nextDay","nextWeek","lastDay","lastWeek","sameElse","ss","mm","hh","dd","MM","yy","dayOfMonthOrdinalParse","dow","doy","pluralForm","plurals","pluralize","withoutSuffix","isFuture","weekdaysParseExact","postformat","symbolMap","pluralForm$1","plurals$1","pluralize$1","months$1","preparse","symbolMap$1","numberMap","symbolMap$2","numberMap$1","symbolMap$3","numberMap$2","pluralForm$2","plurals$2","pluralize$2","months$2","suffixes","plural","word","num","forms","relativeTimeWithPlural","standalone","isFormat","period","ww","lastDigit","last2Digits","symbolMap$4","numberMap$3","meridiemHour","symbolMap$5","numberMap$4","symbolMap$6","numberMap$5","relativeTimeWithMutation","mutation","specialMutationForYears","lastNumber","softMutation","mutationTable","monthsShortRegex","monthsParseExact","monthsParse","monthsRegex","monthsStrictRegex","monthsShortStrictRegex","fullWeekdaysParse","shortWeekdaysParse","minWeekdaysParse","processRelativeTime","weekdaysParse","longMonthsParse","shortMonthsParse","ll","lll","llll","months$3","monthsParse$1","monthsRegex$1","plural$1","translate$1","processRelativeTime$1","processRelativeTime$2","processRelativeTime$3","months$4","monthsNominativeEl","monthsGenitiveEl","momentToFormat","_monthsGenitiveEl","_monthsNominativeEl","calendarEl","mom","_calendarEl","monthsShortDot","monthsShort$1","monthsParse$2","monthsRegex$2","monthsShortDot$1","monthsShort$2","monthsParse$3","monthsRegex$3","invalidDate","monthsShortDot$2","monthsShort$3","monthsParse$4","monthsRegex$4","monthsShortDot$3","monthsShort$4","monthsParse$5","monthsRegex$5","processRelativeTime$4","symbolMap$7","numberMap$6","numbersPast","numbersFuture","translate$2","verbalNumber","monthsStrictRegex$1","monthsShortStrictRegex$1","monthsRegex$6","monthsParse$6","monthsShortWithDots","monthsShortWithoutDots","months$5","monthsShort$5","weekdays$1","months$6","monthsShort$6","weekdays$2","weekdaysShort$1","weekdaysMin$1","processRelativeTime$5","processRelativeTime$6","symbolMap$8","numberMap$7","symbolMap$9","numberMap$8","monthsParse$7","translate$3","weekEndings","translate$4","plural$2","translate$5","eras","since","narrow","abbr","until","eraYearOrdinalRegex","eraYearOrdinalParse","$0","$1","$2","suffixes$1","symbolMap$a","numberMap$9","symbolMap$b","numberMap$a","processRelativeTime$7","ezafeNumSuffix","isUpper","symbolMap$c","numberMap$b","months$7","suffixes$2","processRelativeTime$8","processFutureTime","eifelerRegelAppliesToNumber","processPastTime","translateSeconds","translateSingular","special","translate$6","units$1","relativeTimeWithPlural$1","relativeTimeWithSingular","relativeSeconds","translator","words","correctGrammaticalCase","wordKey","translate$7","symbolMap$d","numberMap$c","relativeTimeMr","symbolMap$e","numberMap$d","symbolMap$f","numberMap$e","monthsShortWithDots$1","monthsShortWithoutDots$1","monthsParse$8","monthsRegex$7","monthsShortWithDots$2","monthsShortWithoutDots$2","monthsParse$9","monthsRegex$8","symbolMap$g","numberMap$f","monthsNominative","monthsSubjective","monthsParse$a","plural$3","translate$8","relativeTimeWithPlural$2","separator","plural$4","relativeTimeWithPlural$3","monthsParse$b","months$8","months$9","monthsShort$7","plural$5","translate$9","processRelativeTime$9","translator$1","translator$2","symbolMap$h","numberMap$g","suffixes$3","suffixes$4","numbersNouns","translateFuture","translatePast","translate$a","numberNoun","numberAsNoun","hundred","ten","suffixes$5","processRelativeTime$a","plural$6","relativeTimeWithPlural$4","weekdaysCaseReplace","nominative","accusative","genitive","processHoursFunction","hm","months$a","days$1","factory","$apply","$reflectApply","nativeObjectToString","dirtyHandlerIds","_dirtyHandlerIds2","dragOperation","_dragOffset2","refCount","_refCount2","_dragOperation2","stateId","_stateId2","noop","isDisposed","dispose","baseDifference","baseRest","isArrayLikeObject","without","getRawTag","objectToString","symToStringTag","toStringTag","resIndex","concatty","arrLike","slicy","boundLength","boundArgs","joiner","joiny","Empty","GetIntrinsic","callBound","inspect","$Map","$mapGet","$mapSet","$mapHas","$mapDelete","$mapSize","$m","channel","assert","comments","ElementType","Doctype","CDATA","Tag","Style","Script","Directive","Root","isTag","elem","_DragDropContext","DragDropContextProvider","element","MapCache","setCacheAdd","setCacheHas","Input","_mergeRefs","_updateInputWidth","isIEOrEdgeLegacy","isFirefox","updateInputWidthOnFontLoad","fonts","font","getFontShorthand","check","makeOnKeyPress","isNumberKey","selectionStart","selectionEnd","getSelection","getSelectionString","_onKeyUp","_ref$placeholder","hasLeadingZero","startsWith","onKeyPress","YearInput","valueType","maxYear","getYear","minYear","yearStep","isValueType","getSideChannelList","getSideChannelMap","makeChannel","$channelData","getPolyfill","gOPD","getProto","regex","isEnumerable","hasDontEnumBug","hasProtoEnumBug","dontEnums","equalsConstructorPrototype","excludedKeys","$applicationCache","$console","$external","$frame","$frameElement","$frames","$innerHeight","$innerWidth","$onmozfullscreenchange","$onmozfullscreenerror","$outerHeight","$outerWidth","$pageXOffset","$pageYOffset","$parent","$scrollLeft","$scrollTop","$scrollX","$scrollY","$self","$webkitIndexedDB","$webkitStorageInfo","$window","hasAutomationEqualityBug","isArguments","isString","theKeys","skipProto","skipConstructor","equalsConstructorPrototypeIfNotBuggy","placeholderType","targetType","PLACEHOLDERS_ALIAS","DropTarget","nativeCreate","argIndex","framesToPop","baseIsArguments","getEventClientOffset","MouseBackend","actions","getActions","registry","getRegistry","sourceNodes","sourceNodesOptions","sourcePreviewNodes","sourcePreviewNodesOptions","targetNodes","targetNodeOptions","mouseClientOffset","getSourceClientOffset","handleWindowMoveStart","handleWindowMoveStartCapture","handleWindowMoveCapture","handleWindowMoveEndCapture","isSetUp","el","parentElement","_el$getBoundingClient","getNodeClientOffset","handleMoveStart","targetId","moveStartSourceIds","clientOffset","isDragging","beginDrag","publishSource","sourceNode","getSourceId","installSourceNodeRemovalObserver","publishDragSource","matchingTargetIds","boundingRect","hover","didDrop","uninstallSourceNodeRemovalObserver","drop","endDrag","draggedSourceNode","draggedSourceNodeRemovalObserver","MutationObserver","resurrectSourceNode","observe","childList","disconnect","FLIPPED_ALIAS_KEYS","IMPORTOREXPORTDECLARATION_TYPES","assocIndexOf","ord","n10","n100","__spreadArray","allEvents","changeEvents","otherEvents","transitionEvents","animationEvents","wheelEvents","uiEvents","touchEvents","selectionEvents","dragEvents","mouseEvents","mediaEvents","keyboardEvents","imageEvents","formEvents","focusEvents","compositionEvents","clipboardEvents","getArgs","eventHandler","_toIdentifier","_placeholders","expectedNode","PLACEHOLDERS","patternLikeCommon","_airbnbPropTypes","_consolidatedEvents","_object2","_document2","DISPLAY","BLOCK","FLEX","INLINE","INLINE_BLOCK","CONTENTS","forbidExtraProps","onOutsideClick","useCapture","OutsideClickHandler","onMouseDown","onMouseUp","setChildNodeRef","addMouseDownEventListener","prevDisabled","removeEventListeners","childNode","removeMouseUp","isDescendantOfRoot","removeMouseDown","grandparent","_isReactComponent","_isCompatTag","_buildChildren","_assertNode","_exportNames","_createTypeAnnotationBasedOnTypeof","_createFlowUnionType","_createTSUnionType","_clone","_cloneDeep","_cloneDeepWithoutLoc","_cloneWithoutLoc","_addComment","_addComments","_inheritInnerComments","_inheritLeadingComments","_inheritsComments","_inheritTrailingComments","_removeComments","_index3","_index4","_ensureBlock","_toBindingIdentifierName","_toBlock","_toComputedKey","_toExpression","_toKeyAlias","_toStatement","_valueToNode","_index5","_appendToMemberExpression","_prependToMemberExpression","_removeProperties","_removePropertiesDeep","_removeTypeDuplicates","_getAssignmentIdentifiers","_getOuterBindingIdentifiers","_getFunctionName","_traverse","_traverseFast","_shallowEqual","_is","_isBinding","_isBlockScoped","_isImmutable","_isLet","_isNode","_isNodesEquivalent","_isPlaceholderType","_isReferenced","_isScope","_isSpecifierDefault","_isType","_isValidES3Identifier","_isValidIdentifier","_isVar","_validate","_buildMatchMemberExpression","_index6","_deprecationWarning","_toSequenceExpression","isCompatTag","buildChildren","toSequenceExpression","BABEL_TYPES_8_BREAKING","_inheritsLoose","_isArray2","_matchesType2","_HandlerRegistry2","_dragOffset","_dirtyHandlerIds","DragDropMonitor","store","handlerIds","prevStateId","currentStateId","areDirty","previousState","getSource","canDrag","getTarget","getTargetType","draggedItemType","getItemType","canDrop","isSourcePublic","getSourceType","shallow","targetIds","getTargetIds","item","dropResult","initialClientOffset","initialSourceClientOffset","getDifferenceFromInitialOffset","TargetMonitor","_invariant","isCallingCanDrop","internalMonitor","canDropOnTarget","isOverTarget","getItem","getDropResult","getInitialClientOffset","getInitialSourceClientOffset","getClientOffset","originalNode","isObjectProperty","getObjectMemberKey","isObjectMethod","isClassMethod","isVariableDeclarator","isAssignmentExpression","isLiteral","isNullLiteral","isRegExpLiteral","isTemplateLiteral","quasis","quasi","getNameFromLiteralId","isPrivateName","_DateTimePicker","_default","Compiler","pluralFn","StringFormat","PluralFormat","useOrdinal","PluralOffsetString","SelectFormat","compile","ast","pluralStack","currentPlural","pluralNumberFormat","compileMessage","compileMessageText","compileArgument","compileOptions","option","optionsHash","getOption","flattened","unionTypeAnnotation","sortIndex","performance","unstable_now","setImmediate","startTime","expirationTime","priorityLevel","scheduling","isInputPending","MessageChannel","port2","port1","onmessage","postMessage","unstable_IdlePriority","unstable_ImmediatePriority","unstable_LowPriority","unstable_NormalPriority","unstable_Profiling","unstable_UserBlockingPriority","unstable_cancelCallback","unstable_continueExecution","unstable_forceFrameRate","unstable_getCurrentPriorityLevel","unstable_getFirstCallbackNode","unstable_next","unstable_pauseExecution","unstable_requestPaint","unstable_runWithPriority","unstable_scheduleCallback","unstable_shouldYield","unstable_wrapCallback","ignore","isStatement","newType","mustHaveId","isClass","expressionStatement","functionsHaveNames","functionsHaveConfigurableNames","$bind","boundFunctionsHaveNames","hooks","wrappedHooks","wrappedHook","hook","elementOrNode","throwIfCompositeComponentElement","_cloneWithRef2","wrapHookToRecognizeElement","_cloneWithRef","valueToNode","booleanLiteral","nullLiteral","stringLiteral","numericLiteral","numerator","binaryExpression","unaryExpression","bigIntLiteral","isRegExp","regExpLiteral","arrayExpression","isPlainObject","nodeKey","objectProperty","objectExpression","constant","baseSetToString","styleToJS","RESERVED_SVG_MATHML_ELEMENTS","STYLE_TO_JS_OPTIONS","reactCompat","ELEMENTS_WITH_NO_TEXT_CHILDREN","isCustomComponent","canTextBeChildOfNode","returnFirstArg","initialState","_dragDrop","BEGIN_DRAG","sourceClientOffset","HOVER","offsetA","offsetB","areOffsetsEqual","END_DRAG","DROP","amString","amPmFormatter","pmString","_amString$split2","ninesRegExp","am1","am2","_pmString$split2","pm1","pm2","_len2","_key2","_toConsumableArray","isValidNumber","_dateFormatter","_arrayWithoutHoles","iter","_iterableToArray","_nonIterableSpread","FocusGroup","eventMatchers","userKeybindings","keybindings","_settings","stringSearch","stringSearchDelay","_keybindingsLookup","eventMatcher","metaKey","ctrlKey","_searchString","_members","setMembers","_boundHandleKeydownEvent","_handleKeydownEvent","focusNode","focus","activate","deactivate","_clearSearchStringRefreshTimer","_getActiveElementIndex","eventBound","keybinding","matcher","matchesEvent","moveFocusForward","moveFocusBack","moveFocusToFirst","moveFocusToLast","_handleUnboundKey","targetIndex","activeElementIndex","focusNodeAtIndex","_addToSearchString","_runStringSearch","_clearSearchString","letter","_startSearchStringRefreshTimer","_stringSearchTimer","moveFocusByString","_findIndexOfNode","searchNode","activeElement","addMember","memberData","nodeText","_checkNode","removeMember","removalIndex","clearMembers","nextMembers","getMembers","Node","ELEMENT_NODE","HASH_UNDEFINED","MAX_SAFE_INTEGER","argsTag","arrayTag","boolTag","dateTag","errorTag","funcTag","mapTag","numberTag","objectTag","promiseTag","regexpTag","setTag","stringTag","symbolTag","weakMapTag","arrayBufferTag","dataViewTag","reIsHostCtor","reIsUint","typedArrayTags","freeGlobal","freeSelf","freeExports","freeModule","freeProcess","nodeUtil","binding","nodeIsTypedArray","isTypedArray","arraySome","isHostObject","mapToArray","setToArray","arrayProto","maskSrcKey","uid","IE_PROTO","reIsNative","Uint8Array","nativeKeys","DataView","Promise","dataViewCtorString","toSource","mapCtorString","promiseCtorString","setCtorString","weakMapCtorString","symbolProto","symbolValueOf","Hash","ListCache","Stack","arrayLikeKeys","inherited","isArrayLike","baseTimes","skipIndexes","isIndex","eq","baseIsEqual","customizer","bitmask","equalFunc","objIsArr","othIsArr","objTag","othTag","getTag","objIsObj","othIsObj","isSameTag","equalArrays","byteLength","byteOffset","convert","isPartial","stacked","equalByTag","objIsWrapped","othIsWrapped","objUnwrapped","othUnwrapped","objProps","objLength","othProps","skipCtor","objValue","othValue","compared","objCtor","othCtor","equalObjects","baseIsEqualDeep","baseIsNative","isMasked","baseKeys","isPrototype","arrLength","arrValue","getMapData","getValue","LARGE_ARRAY_SIZE","ArrayBuffer","resolve","ctorString","__extends","extendStatics","__","__assign","__createBinding","__setModuleDefault","__importStar","mod","__rest","react_1","react_dom_1","prop_types_1","detect_element_overflow_1","tiny_warning_1","isBrowser","isDisplayContentsSupported","CSS","supports","isMutationObserverSupported","capitalize","findScrollContainer","every","alignAxis","_a","invertAxis","scrollContainer","secondary","scrollContainerCollisions","documentCollisions","isX","startProperty","endProperty","sizeProperty","overflowStartProperty","overflowEndProperty","scrollProperty","uppercasedSizeProperty","offsetSizeProperty","clientSizeProperty","minSizeProperty","startSpacing","availableStartSpace","endSpacing","availableEndSpace","offsetSize","displayStartIfFits","displayEndIfFits","moreSpaceStart","rawMinSize","minSize","shrinkToSize","newSize","displayStart","displayEnd","displayWhereverShrinkedFits","displayIfFits","availableSpace","fits","alignBothAxis","invertSecondaryAxis","commonArgs","alignMainAxis","alignSecondaryAxis","Fit","fit","elementWidth","elementHeight","parentPosition","_b","_c","mainAxis","componentDidMount","findDOMNode","HTMLElement","attributeFilter","firstElementChild","resolver","getUserLocales","memoize","_ref$useFallbackLocal","useFallbackLocale","_ref$fallbackLocale","fallbackLocale","languageList","languages","language","userLanguage","browserLanguage","splitEl","normalizeLocales","thisArg","sources","_inherit","CASE_SENSITIVE_TAG_NAMES","accumulator","externalStateControl","Wrapper","Button","Menu","MenuItem","openMenu","closeMenu","ambManager","AriaMenuButtonButton","handleKeyDown","focusItem","toggleMenu","handleMenuKey","handleButtonNonArrowKey","handleClick","focusMenu","setRef","button","componentWillUnmount","destroy","buttonProps","handleBlur","maybe","boundContains","$hasOwn","isOwn","unmasked","_DragDropContextProvider","_DragLayer","_DragSource","_DropTarget","BrowserRouter","history","createBrowserHistory","reactRouter","Router","HashRouter","createHashHistory","resolveToLocation","normalizeToLocation","createLocation","forwardRefShim","LinkAnchor","innerRef","navigate","defaultPrevented","isModifiedEvent","Link","component","__RouterContext","createHref","createPath","forwardRefShim$1","forwardRef$1","NavLink","activeClassName","activeStyle","isActive","sensitive","strict","pathname","matchPath","joinClassnames","Redirect","NODE_FIELDS","validateField","validateChild","maybeNode","_NODE_PARENT_VALIDATI","NODE_PARENT_VALIDATIONS","_NODE_PARENT_VALIDATI2","typeAnnotations","isTSTypeAnnotation","tsUnionType","_registry","ADD_SOURCE","ADD_TARGET","REMOVE_SOURCE","REMOVE_TARGET","_lowercase","isJSXText","_cleanJSXElementLiteralChild","isJSXExpressionContainer","isJSXEmptyExpression","currentHandlerId","currentDragSourceNode","currentDragSourceOptions","disconnectCurrentDragSource","currentDragPreviewNode","currentDragPreviewOptions","disconnectCurrentDragPreview","reconnectDragSource","reconnectDragPreview","connectDragPreview","receiveHandlerId","handlerId","_wrapConnectorHooks2","dragSource","_areOptionsEqual2","dragPreview","hasProtoAccessor","callBind","$Object","$getPrototypeOf","VISITOR_KEYS","WebkitOverflowScrolling","userSelect","objA","objB","keysA","keysB","hasOwn","percentTwenties","Format","formatters","RFC1738","RFC3986","_gud2","MAX_SIGNED_31_BIT_INT","calculateChangedBits","_Provider$childContex","_Consumer$contextType","contextProp","emitter","handlers","handler","newValue","changedBits","createEventEmitter","getChildContext","componentWillReceiveProps","oldValue","_Component2","_temp2","observedBits","PUBLISH_DRAG_SOURCE","sourceIds","canDragSource","_isObject2","pinSource","targetIdsArg","_ref$clientOffset","_i2","_targetId","_i3","_targetId2","unpinSource","rawAsap","task","requestFlush","currentIndex","scan","newLength","BrowserMutationObserver","WebKitMutationObserver","makeRequestCallFromTimer","timeoutHandle","handleTimer","intervalHandle","toggle","createTextNode","characterData","makeRequestCallFromMutationObserver","tSFunctionTypeAnnotationCommon","accessibility","readonly","parameter","override","decorators","functionDeclarationCommon","classMethodOrDeclareMethodCommon","signatureDeclarationCommon","callConstructSignatureDeclaration","namedTypeElementCommon","parameters","tsKeywordTypes","fnOrCtrBase","abstract","typeName","parameterName","asserts","exprName","elementTypes","unionOrIntersection","checkType","extendsType","trueType","falseType","typeParameter","nameType","chain","assertEach","literal","unaryOperator","validator","oneOfNodeTypes","declare","TSTypeExpression","const","initializer","qualifier","isExport","moduleReference","importKind","constraint","valA","valB","SourceMonitor","isCallingCanDrag","isCallingIsDragging","isDraggingSource","ReactPropTypesSecret","emptyFunction","emptyFunctionWithReset","resetWarningCache","propFullName","secret","getShim","ReactPropTypes","bigint","any","objectOf","checkPropTypes","inputRefs","filteredInputRefs","finalStyle","borderRadius","backgroundColor","isNodesEquivalent","visitorKeys","val_a","val_b","_asap2","_getNextUniqueId2","HandlerRoles","allowArray","parseRoleFromHandlerId","HandlerRegistry","pinnedSourceId","pinnedSource","validateSourceContract","addHandler","addSource","validateTargetContract","addTarget","getNextHandlerId","some","includePinned","isSourceId","isTargetId","removeSource","removeTarget","hasToStringTag","$exec","isRegexMarker","throwRegexMarker","badStringifier","toPrimitive","$toString","MonthSelect","_short","isSameYear","maxMonth","getMonthHuman","minMonth","dates","formatter","formatShortMonth","formatMonth","startOfDay","dirtyDate","millisecond","dirtyDateLeft","dirtyDateRight","startOfDayLeft","startOfDayRight","timestampLeft","timestampRight","differenceInCalendarDays","rawYears","keywords","inModule","isStrictBindOnlyReservedWord","reservedWords","reservedWordsStrictSet","reservedWordsStrictBindSet","isReservedWord","MonthInput","unregister","TestBackend","_noop","_noop2","didCallSetup","didCallTeardown","opts","blockNodes","returnStatement","blockStatement","setToString","shortOut","_getComputedStyle","paddingLeft","paddingRight","isValidType","_isArray","stringTypeAnnotation","numberTypeAnnotation","voidTypeAnnotation","booleanTypeAnnotation","genericTypeAnnotation","anyTypeAnnotation","getBindingIdentifiers","duplicates","outerOnly","newBindingsOnly","search","ids","isUnaryExpression","isUpdateExpression","isExportDeclaration","isExportAllDeclaration","isDeclaration","isFunctionDeclaration","isFunctionExpression","DeclareClass","DeclareFunction","DeclareModule","DeclareVariable","DeclareInterface","DeclareTypeAlias","DeclareOpaqueType","InterfaceDeclaration","TypeAlias","OpaqueType","CatchClause","LabeledStatement","UnaryExpression","AssignmentExpression","ImportSpecifier","ImportNamespaceSpecifier","ImportDefaultSpecifier","ImportDeclaration","TSImportEqualsDeclaration","ExportSpecifier","ExportNamespaceSpecifier","ExportDefaultSpecifier","FunctionDeclaration","FunctionExpression","ArrowFunctionExpression","ObjectMethod","ClassMethod","ClassPrivateMethod","ForInStatement","ForOfStatement","ClassDeclaration","ClassExpression","RestElement","UpdateExpression","ObjectProperty","AssignmentPattern","ArrayPattern","ObjectPattern","VariableDeclaration","VariableDeclarator","reactIs","REACT_STATICS","contextType","getDefaultProps","getDerivedStateFromError","getDerivedStateFromProps","KNOWN_STATICS","caller","callee","arity","MEMO_STATICS","TYPE_STATICS","getStatics","getOwnPropertyNames","objectPrototype","hoistNonReactStatics","targetComponent","sourceComponent","blacklist","inheritedComponent","targetStatics","sourceStatics","_without2","_without","CUSTOM_PROPERTY_REGEX","HYPHEN_REGEX","NO_HYPHEN_REGEX","VENDOR_PREFIX_REGEX","MS_VENDOR_PREFIX_REGEX","character","trimHyphen","skipCamelCase","COMMENT_KEYS","deep","withoutLoc","cloneNodeInternal","cloneIfNode","commentsCache","cloneIfNodeOrArray","newNode","isFile","maybeCloneComments","loc","leadingComments","innerComments","trailingComments","extra","comment","ret","makeGetEdgeOfNeighbor","getPeriod","getEdgeOfPeriod","defaultOffset","previousPeriod","makeGetEnd","getBeginOfNextPeriod","makeGetRange","getStart","getEnd","datePieces","hoursString","minutesString","secondsWithMillisecondsString","getCenturyStart","centuryStartYear","centuryStartDate","getPreviousCenturyStart","getNextCenturyStart","getCenturyEnd","getPreviousCenturyEnd","getCenturyRange","getDecadeStart","decadeStartYear","decadeStartDate","getPreviousDecadeStart","getNextDecadeStart","getDecadeEnd","getPreviousDecadeEnd","getDecadeRange","getYearStart","yearStartDate","getPreviousYearStart","getNextYearStart","getYearEnd","getPreviousYearEnd","getYearRange","makeGetEdgeOfNeighborMonth","getMonthStart","monthStartDate","getPreviousMonthStart","getNextMonthStart","getMonthEnd","getPreviousMonthEnd","getMonthRange","makeGetEdgeOfNeighborDay","getDayStart","dayStartDate","getDayEnd","getDayRange","getDaysInMonth","div","prefixes","prop","titleCase","bookends","highlight_colors","search_inactive","search_active","is_reprocessed","is_higlighted","jsx","jsxs","reflectGetProto","originalGetProto","getDunderProto","Hour24Input","_deprecatedAliases","DEPRECATED_ALIASES","deprecatedAlias","allExpandedTypes","DEPRECATED_KEYS","defs","ArrayExpression","ArrayTypeAnnotation","AwaitExpression","BigIntLiteral","BinaryExpression","BindExpression","directives","BlockStatement","BooleanLiteral","BooleanLiteralTypeAnnotation","BreakStatement","_arguments","CallExpression","param","_static","ClassAccessorProperty","ClassBody","ClassImplements","generator","ClassPrivateProperty","ClassProperty","ConditionalExpression","ContinueStatement","DecimalLiteral","DeclareExportAllDeclaration","DeclareExportDeclaration","DeclareModuleExports","DeclaredPredicate","Decorator","DirectiveLiteral","DoExpression","DoWhileStatement","EnumBooleanBody","EnumBooleanMember","EnumDeclaration","EnumDefaultedMember","EnumNumberBody","EnumNumberMember","EnumStringBody","EnumStringMember","EnumSymbolBody","ExportAllDeclaration","ExportDefaultDeclaration","exported","ExportNamedDeclaration","ExpressionStatement","program","tokens","File","_await","await","ForStatement","FunctionTypeAnnotation","FunctionTypeParam","GenericTypeAnnotation","Identifier","IfStatement","ImportAttribute","ImportExpression","imported","IndexedAccessType","InterfaceExtends","InterfaceTypeAnnotation","InterpreterDirective","IntersectionTypeAnnotation","JSXAttribute","JSXClosingElement","JSXElement","JSXExpressionContainer","JSXFragment","JSXIdentifier","JSXMemberExpression","JSXNamespacedName","JSXOpeningElement","JSXSpreadAttribute","JSXSpreadChild","JSXText","LogicalExpression","MemberExpression","meta","MetaProperty","ModuleExpression","NewExpression","NullableTypeAnnotation","NumberLiteralTypeAnnotation","ObjectExpression","shorthand","ObjectTypeAnnotation","ObjectTypeCallProperty","ObjectTypeIndexer","ObjectTypeInternalSlot","ObjectTypeProperty","ObjectTypeSpreadProperty","OptionalCallExpression","OptionalIndexedAccessType","OptionalMemberExpression","ParenthesizedExpression","PipelineBareFunction","PipelineTopicExpression","Placeholder","PrivateName","sourceType","interpreter","Program","QualifiedTypeIdentifier","RecordExpression","restElement","ReturnStatement","expressions","SequenceExpression","spreadElement","StaticBlock","StringLiteral","StringLiteralTypeAnnotation","SwitchCase","discriminant","cases","SwitchStatement","TaggedTemplateExpression","tail","TemplateElement","TemplateLiteral","ThrowStatement","block","finalizer","TryStatement","TSArrayType","TSAsExpression","TSCallSignatureDeclaration","TSConditionalType","TSConstructSignatureDeclaration","TSConstructorType","TSDeclareFunction","TSDeclareMethod","TSEnumBody","TSEnumDeclaration","TSEnumMember","TSExportAssignment","TSExpressionWithTypeArguments","TSExternalModuleReference","TSFunctionType","TSImportType","TSIndexSignature","TSIndexedAccessType","TSInferType","TSInstantiationExpression","TSInterfaceBody","TSInterfaceDeclaration","TSIntersectionType","TSLiteralType","TSMappedType","TSMethodSignature","TSModuleBlock","TSModuleDeclaration","TSNamedTupleMember","TSNamespaceExportDeclaration","TSNonNullExpression","TSOptionalType","TSParameterProperty","TSParenthesizedType","TSPropertySignature","TSQualifiedName","TSRestType","TSSatisfiesExpression","TSTemplateLiteralType","TSTupleType","TSTypeAliasDeclaration","TSTypeAnnotation","TSTypeAssertion","TSTypeLiteral","TSTypeOperator","TSTypeParameter","TSTypeParameterDeclaration","TSTypeParameterInstantiation","TSTypePredicate","TSTypeQuery","TSTypeReference","TSUnionType","TupleExpression","TupleTypeAnnotation","TypeAnnotation","TypeCastExpression","TypeParameter","TypeParameterDeclaration","TypeParameterInstantiation","TypeofTypeAnnotation","UnionTypeAnnotation","V8IntrinsicIdentifier","Variance","WhileStatement","WithStatement","delegate","YieldExpression","utils","validateInternal","NumericLiteral","RegExpLiteral","SpreadElement","_node$type","isImportDefaultSpecifier","setFunctionName","hasIndices","ignoreCase","multiline","dotAll","unicodeSets","paddingTop","paddingBottom","NativeInput","nativeValueParser","receivedValue","getISOLocalDate","getHoursMinutes","getISOLocalDateTime","zIndex","functionName","signature","FUNC_ERROR_TEXT","PLACEHOLDER","WRAP_CURRY_RIGHT_FLAG","WRAP_PARTIAL_FLAG","WRAP_PARTIAL_RIGHT_FLAG","WRAP_ARY_FLAG","WRAP_REARG_FLAG","INFINITY","NAN","MAX_ARRAY_LENGTH","wrapFlags","genTag","float32Tag","float64Tag","int8Tag","int16Tag","int32Tag","uint8Tag","uint8ClampedTag","uint16Tag","uint32Tag","reEmptyStringLeading","reEmptyStringMiddle","reEmptyStringTrailing","reEscapedHtml","reUnescapedHtml","reHasEscapedHtml","reHasUnescapedHtml","reEscape","reEvaluate","reInterpolate","reIsDeepProp","reIsPlainProp","rePropName","reRegExpChar","reHasRegExpChar","reTrimStart","reWhitespace","reWrapComment","reWrapDetails","reSplitDetails","reAsciiWord","reForbiddenIdentifierChars","reEscapeChar","reEsTemplate","reFlags","reIsBadHex","reIsBinary","reIsOctal","reLatin","reNoMatch","reUnescapedString","rsAstralRange","rsComboRange","rsComboMarksRange","rsDingbatRange","rsLowerRange","rsUpperRange","rsVarRange","rsBreakRange","rsMathOpRange","rsApos","rsAstral","rsBreak","rsCombo","rsDigits","rsDingbat","rsLower","rsMisc","rsFitz","rsNonAstral","rsRegional","rsSurrPair","rsUpper","rsZWJ","rsMiscLower","rsMiscUpper","rsOptContrLower","rsOptContrUpper","reOptMod","rsOptVar","rsSeq","rsEmoji","rsSymbol","reApos","reComboMark","reUnicode","reUnicodeWord","reHasUnicode","reHasUnicodeWord","contextProps","templateCounter","cloneableTags","stringEscapes","freeParseFloat","freeParseInt","moduleExports","nodeIsArrayBuffer","isArrayBuffer","nodeIsDate","isDate","nodeIsMap","isMap","nodeIsRegExp","nodeIsSet","isSet","arrayAggregator","arrayEach","arrayEachRight","arrayEvery","arrayFilter","baseIndexOf","arrayPush","arrayReduce","initAccum","arrayReduceRight","asciiSize","baseProperty","baseFindKey","collection","eachFunc","baseFindIndex","fromIndex","fromRight","strictIndexOf","baseIsNaN","baseIndexOfWith","baseMean","baseSum","basePropertyOf","baseReduce","baseTrim","trimmedEndIndex","baseValues","charsStartIndex","strSymbols","chrSymbols","charsEndIndex","deburrLetter","escapeHtmlChar","escapeStringChar","chr","hasUnicode","overArg","replaceHolders","setToPairs","stringSize","unicodeSize","stringToArray","unicodeToArray","asciiToArray","unescapeHtmlChar","runInContext","defaults","pick","idCounter","oldDash","Buffer","allocUnsafe","objectCreate","spreadableSymbol","isConcatSpreadable","symIterator","ctxClearTimeout","ctxNow","ctxSetTimeout","nativeCeil","nativeFloor","nativeGetSymbols","nativeIsBuffer","isBuffer","nativeIsFinite","nativeJoin","nativeMax","nativeNow","nativeParseInt","nativeRandom","nativeReverse","metaMap","realNames","symbolToString","lodash","LazyWrapper","LodashWrapper","wrapperClone","baseCreate","baseLodash","chainAll","__wrapped__","__actions__","__chain__","__index__","__values__","__dir__","__filtered__","__iteratees__","__takeCount__","__views__","isArr","isArg","isBuff","isType","arraySample","baseRandom","arraySampleSize","shuffleSelf","copyArray","baseClamp","arrayShuffle","assignMergeValue","baseAssignValue","assignValue","baseAggregator","baseEach","baseAssign","copyObject","baseAt","baseClone","isDeep","isFlat","isFull","initCloneArray","isFunc","cloneBuffer","initCloneObject","getSymbolsIn","copySymbolsIn","keysIn","baseAssignIn","getSymbols","copySymbols","cloneArrayBuffer","dataView","cloneDataView","cloneTypedArray","regexp","cloneRegExp","initCloneByTag","subValue","getAllKeysIn","getAllKeys","baseConformsTo","baseDelay","wait","isCommon","valuesLength","valuesIndex","templateSettings","createBaseEach","baseForOwn","baseEachRight","baseForOwnRight","baseEvery","baseExtremum","isSymbol","baseFilter","baseFlatten","isStrict","isFlattenable","baseFor","createBaseFor","baseForRight","baseFunctions","baseGet","castPath","toKey","baseGetAllKeys","keysFunc","symbolsFunc","baseGt","baseHas","baseHasIn","baseIntersection","baseInvoke","objStacked","othStacked","baseIsMatch","matchData","noCustomizer","srcValue","COMPARE_PARTIAL_FLAG","baseIteratee","baseMatchesProperty","baseMatches","baseKeysIn","nativeKeysIn","isProto","baseLt","baseMap","getMatchData","matchesStrictComparable","isKey","isStrictComparable","hasIn","baseMerge","srcIndex","mergeFunc","safeGet","isTyped","toPlainObject","baseMergeDeep","baseNth","baseOrderBy","iteratees","getIteratee","criteria","comparer","baseSortBy","objCriteria","othCriteria","ordersLength","compareAscending","compareMultiple","basePickBy","baseSet","basePullAll","basePullAt","baseUnset","baseRepeat","overRest","baseSample","baseSampleSize","nested","baseSetData","baseShuffle","baseSlice","baseSome","baseSortedIndex","retHighest","baseSortedIndexBy","valIsNaN","valIsNull","valIsSymbol","valIsUndefined","othIsDefined","othIsNull","othIsReflexive","othIsSymbol","setLow","baseSortedUniq","baseToNumber","baseToString","baseUniq","createSet","seenIndex","baseUpdate","baseWhile","isDrop","baseWrapperValue","baseXor","baseZipObject","assignFunc","valsLength","castArrayLikeObject","castFunction","stringToPath","castRest","castSlice","arrayBuffer","typedArray","valIsDefined","valIsReflexive","composeArgs","partials","holders","isCurried","argsIndex","argsLength","holdersLength","leftIndex","leftLength","rangeLength","isUncurried","composeArgsRight","holdersIndex","rightIndex","rightLength","isNew","createAggregator","createAssigner","assigner","guard","isIterateeCall","iterable","createCaseFirst","methodName","trailing","createCompounder","deburr","createCtor","thisBinding","createFind","findIndexFunc","createFlow","flatRest","funcs","prereq","thru","getFuncName","funcName","getData","isLaziable","plant","createHybrid","partialsRight","holdersRight","argPos","ary","isAry","isBind","isBindKey","isFlip","getHolder","holdersCount","countHolders","newHolders","createRecurry","oldArray","reorder","createInverter","toIteratee","baseInverter","createMathOperation","createOver","arrayFunc","createPadding","charsLength","toFinite","baseRange","createRelationalOperation","toNumber","wrapFunc","isCurry","newData","setData","setWrapToString","createRound","toInteger","pair","createToPairs","baseToPairs","createWrap","srcBitmask","newBitmask","isCombo","mergeData","createCurry","createPartial","createBind","customDefaultsAssignIn","customDefaultsMerge","customOmitClone","arrStacked","flatten","otherFunc","stubArray","hasPath","hasFunc","isMaskable","stubFalse","otherArgs","reference","insertWrapDetails","updateWrapDetails","getWrapDetails","lastCalled","stamp","rand","memoizeCapped","quote","subString","clone","difference","differenceBy","differenceWith","findIndex","findLastIndex","head","mapped","intersectionBy","intersectionWith","pull","pullAll","pullAt","union","unionBy","unionWith","unzip","unzipWith","xor","xorBy","xorWith","zipWith","interceptor","wrapperAt","countBy","findLast","forEachRight","groupBy","invokeMap","keyBy","sortBy","bindKey","WRAP_BIND_FLAG","debounce","lastArgs","lastThis","maxWait","timerId","lastCallTime","lastInvokeTime","leading","maxing","invokeFunc","shouldInvoke","timeSinceLastCall","timerExpired","trailingEdge","timeWaiting","remainingWait","debounced","isInvoking","leadingEdge","memoized","Cache","negate","overArgs","transforms","funcsLength","partial","partialRight","rearg","gt","gte","isError","isInteger","isNumber","lt","lte","iteratorToArray","remainder","toLength","isBinary","assignIn","assignInWith","assignWith","at","propsIndex","propsLength","defaultsDeep","mergeWith","invertBy","invoke","omit","CLONE_DEEP_FLAG","basePick","pickBy","toPairs","toPairsIn","camelCase","upperFirst","kebabCase","lowerCase","lowerFirst","snakeCase","startCase","upperCase","hasUnicodeWord","unicodeWords","asciiWords","attempt","bindAll","methodNames","flow","flowRight","methodOf","mixin","over","overEvery","overSome","basePropertyDeep","rangeRight","augend","addend","divide","dividend","multiply","multiplier","multiplicand","subtract","minuend","subtrahend","castArray","chunk","compact","cond","conforms","baseConforms","curry","curryRight","dropRight","dropRightWhile","dropWhile","baseFill","flatMap","flatMapDeep","flatMapDepth","flattenDeep","flattenDepth","flip","fromPairs","functions","functionsIn","initial","mapKeys","mapValues","matchesProperty","nthArg","omitBy","once","orderBy","propertyOf","pullAllBy","pullAllWith","reject","sampleSize","setWith","sortedUniq","sortedUniqBy","limit","spread","take","takeRight","takeRightWhile","takeWhile","tap","throttle","toPath","isArrLike","unary","uniq","uniqBy","uniqWith","unset","updateWith","valuesIn","zipObject","zipObjectDeep","entriesIn","extend","extendWith","cloneDeep","cloneDeepWith","cloneWith","conformsTo","defaultTo","endsWith","escapeRegExp","findKey","findLastKey","forIn","forInRight","forOwn","forOwnRight","inRange","baseInRange","isBoolean","isEmpty","isEqual","isEqualWith","isMatch","isMatchWith","isNative","isNil","isNull","isSafeInteger","isUndefined","isWeakMap","isWeakSet","strictLastIndexOf","maxBy","meanBy","minBy","stubObject","stubString","stubTrue","nth","noConflict","strLength","padEnd","padStart","floating","temp","reduceRight","repeat","sample","sortedIndex","sortedIndexBy","sortedIndexOf","sortedLastIndex","sortedLastIndexBy","sortedLastIndexOf","sumBy","settings","isEscaping","isEvaluating","imports","importsKeys","importsValues","reDelimiters","evaluate","sourceURL","escapeValue","interpolateValue","esTemplateValue","evaluateValue","toLower","toSafeInteger","toUpper","trimEnd","trimStart","truncate","omission","newEnd","unescape","uniqueId","eachRight","VERSION","isFilter","takeName","dropName","checkIteratee","isTaker","lodashFunc","retUnwrapped","useLazy","isHybrid","isUnwrapped","onlyLazy","chainName","isRight","getView","iterLength","takeCount","iterIndex","commit","wrapped","toJSON","cloneNode","hasChildren","isDocument","isDirective","isComment","isText","isCDATA","Document","NodeWithChildren","DataNode","domelementtype_1","startIndex","endIndex","recursive","attribs","cloneChildren","clone_1","clone_2","clone_3","instruction","sourceCodeLocation","tryDateObject","attributesToProps","skipAttributesToProps","domToReact","isWhitespace","replaceElement","library","hasReplace","__html","RequireObjectCoercible","$isEnumerable","vals","actualApply","SecondInput","_ref$showLeadingZeros","isSameMinute","maxSecond","minSecond","toCamelCase","addPxToStyle","camel","cssProp","detect","cssText","removeTypeDuplicates","nodesIn","generics","bases","typeGroups","isTSAnyKeyword","isTSBaseType","isTSUnionType","typeArgumentsKey","isTSTypeReference","getQualifiedName","existing","existingTypeArguments","baseType","genericName","noopThunk","and","between","booleanSome","childrenHavePropXorChildren","childrenOf","childrenOfType","childrenSequenceOf","componentWithName","disallowedIf","explicitNull","keysOf","mutuallyExclusiveProps","mutuallyExclusiveTrueProps","nChildren","nonNegativeInteger","nonNegativeNumber","numericString","or","requiredBy","restrictedProp","sequenceOf","stringEndsWith","stringStartsWith","uniqueArray","uniqueArrayOf","valuesOf","withShape","getNanoSeconds","hrtime","loadTime","moduleLoadTime","nodeLoadTime","upTime","hr","uptime","freeTasks","pendingErrors","requestErrorThrow","asap","rawTask","RawTask","numberIsNaN","MinuteInput","isSameHour","maxMinute","minMinute","prepend","isSuper","memberExpression","$Error","$EvalError","$RangeError","$ReferenceError","$SyntaxError","$URIError","$Function","getEvalledConstructor","expressionSyntax","throwTypeError","ThrowTypeError","calleeThrows","gOPDthrows","$ObjectGPO","$ReflectGPO","needsEval","TypedArray","INTRINSICS","AggregateError","Atomics","BigInt","BigInt64Array","BigUint64Array","decodeURI","decodeURIComponent","encodeURI","encodeURIComponent","eval","Float16Array","Float32Array","Float64Array","FinalizationRegistry","Int8Array","Int16Array","Int32Array","SharedArrayBuffer","Uint8ClampedArray","Uint16Array","Uint32Array","WeakRef","WeakSet","errorProto","doEval","gen","LEGACY_ALIASES","$concat","$spliceApply","$replace","$strSlice","getBaseIntrinsic","allowMissing","alias","intrinsicName","intrinsicBaseName","intrinsic","intrinsicRealName","skipFurtherCaching","part","hexTable","arrayToObject","plainObjects","acc","combine","compacted","compactQueue","decode","defaultDecoder","charset","strWithoutPlus","encode","defaultEncoder","maybeMap","allowPrototypes","mergeTarget","targetItem","IntlRelativeFormat","setFunctionLength","callBindBasic","applyBind","originalFunction","adjustedLength","_classnames","ownKeys","enumerableOnly","symbols","sym","DEFAULT_PLACEHOLDER_STRING","Dropdown","parseValue","dropdownRef","mounted","handleDocumentClick","fireChangeEvent","items","newState","_classes","isSelected","classes","optionClass","dataAttributes","dataKey","getOwnPropertyDescriptors","_objectSpread","setValue","ops","groupTitle","renderOption","_classNames","_classNames2","_classNames3","_classNames4","_classNames5","controlClassName","placeholderClassName","menuClassName","arrowClassName","arrowClosed","arrowOpen","disabledClass","placeHolderValue","dropdownClass","controlClass","placeholderClass","isValueSelected","menuClass","arrowClass","menu","buildMenu","handleMouseDown","onTouchEnd","_helperStringParser","assertNodeOrValueType","ASSIGNMENT_OPERATORS","BINARY_OPERATORS","inOp","functionCommon","functionTypeAnnotationCommon","inherits","parentKey","nonComp","listKey","UNARY_OPERATORS","UPDATE_OPERATORS","withoutInit","decl","definite","assertions","deprecated","sourced","sourceless","lval","phase","classMethodOrPropertyCommon","access","assertShape","cooked","unterminatedCalled","readStringContents","assertOptionalChainStart","URIError","scrollIntoView","IMPERATIVE_API","Autocomplete","highlightedIndex","_debugStates","ensureHighlightedIndex","exposeAPI","handleInputFocus","handleInputBlur","handleInputClick","maybeAutoCompleteText","_ignoreBlur","_ignoreFocus","_scrollOffset","_scrollTimer","autoHighlight","setMenuPositions","maybeScrollItemIntoView","onMenuVisibilityChange","ev","itemNode","menuNode","onlyScrollIfNeeded","keyDownHandlers","shouldItemRender","sortItems","getItemValue","getFilteredItems","isItemSelectable","matchedItem","computedStyle","marginLeft","menuTop","menuLeft","menuWidth","setIgnoreBlur","onSelect","renderItem","onMouseEnter","highlightItemFromMouse","selectItemFromMouse","minWidth","renderMenu","onTouchStart","onMouseLeave","pageXOffset","pageYOffset","setStateCallback","selectOnBlur","inputProps","scrollTo","isInputFocused","external","debug","wrapperStyle","renderInput","composeEventHandlers","menuStyle","boxShadow","ArrowDown","ArrowUp","Enter","setSelectionRange","Escape","Tab","getRect","collidedTop","collidedBottom","collidedLeft","collidedRight","overflowTop","overflowBottom","overflowLeft","overflowRight","HTML","HEAD","BODY","FIRST_TAG_REGEX","HEAD_TAG_REGEX","BODY_TAG_REGEX","parseFromDocument","parseFromString","DOMParser","domParser_1","htmlDocument_1","createHTMLDocument","parseFromTemplate","firstTagName","doc","observable","ponyfill","mapCacheClear","mapCacheDelete","mapCacheGet","mapCacheHas","mapCacheSet","_CALENDAR_TYPE_LOCALE","CALENDAR_TYPES","ARABIC","HEBREW","ISO_8601","US","CALENDAR_TYPE_LOCALES","WEEKDAYS","getSafeFormatter","safeDate","toSafeHour","formatDay","formatLongDate","formatMonthYear","formatShortWeekday","weekday","formatWeekday","formatYear","SUNDAY","FRIDAY","SATURDAY","getDayOfWeek","calendarType","getBeginOfWeek","monthIndex","getMonthIndex","getBegin","rangeType","getBeginNext","getBeginPrevious2","getBeginNext2","getEndPrevious2","getRange","toYearLabel","defaultFormatYear","getDecadeLabel","isWeekend","calendarTypes","isCalendarType","isClassName","isViews","isView","allowedViews","views","tileGroupProps","activeStartDate","onMouseOver","tileClassName","tileContent","tileProps","tileDisabled","Navigation","drillUp","_ref$formatMonthYear","defaultFormatMonthYear","_ref$formatYear","_ref$navigationAriaLa","navigationAriaLabel","navigationAriaLive","navigationLabel","_ref$next2AriaLabel","next2AriaLabel","_ref$next2Label","next2Label","_ref$nextAriaLabel","nextAriaLabel","_ref$nextLabel","nextLabel","_ref$prev2AriaLabel","prev2AriaLabel","_ref$prev2Label","prev2Label","_ref$prevAriaLabel","prevAriaLabel","_ref$prevLabel","prevLabel","setActiveStartDate","showDoubleView","drillUpAvailable","shouldShowPrevNext2Buttons","previousActiveStartDate","getBeginPrevious","previousActiveStartDate2","nextActiveStartDate","nextActiveStartDate2","prevButtonDisabled","previousActiveEndDate","getEndPrevious","prev2ButtonDisabled","nextButtonDisabled","next2ButtonDisabled","renderLabel","getCenturyLabel","labelClassName","flexGrow","renderButton","toPercent","Flex","flexDirection","flexWrap","flexBasis","flexShrink","isValueWithinRange","doRangesOverlap","range1","range2","getRangeClassNames","valueRange","dateRange","isRangeStart","isRangeEnd","getTileClasses","dateType","greaterRange","smallerRange","valueRangeClassNames","valueArray","hoverRangeClassNames","TileGroup","_ref$count","dateTransform","_ref$step","Tile","tile","tiles","datesAreDifferent","date1","date2","tileClassNameProps","activeStartDateProps","tileContentProps","formatAbbr","maxDateTransform","minDateTransform","Decade","Decades","beginOfCentury","getBeginOfCenturyYear","CenturyView","Year","Years","beginOfDecade","getBeginOfDecadeYear","DecadeView","Month","_ref$formatMonth","defaultFormatMonth","Months","YearView","Day","_ref$formatDay","defaultFormatDay","_ref$formatLongDate","defaultFormatLongDate","currentMonthIndex","Days","showFixedNumberOfWeeks","showNeighboringMonth","hasFixedNumberOfWeeks","dayOfWeek","daysInMonth","activeEndDate","weekdayClassName","Weekdays","_props$formatShortWee","defaultFormatShortWeekday","_props$formatWeekday","defaultFormatWeekday","anyDate","beginOfMonth","weekdayDate","WeekNumber","onClickWeekNumber","weekNumber","WeekNumbers","numberOfWeeks","weekNumbers","beginOfFirstWeek","calendarTypeForWeekNumber","beginOfWeek","getWeekNumber","weekIndex","MonthView","_props$calendarType","getCalendarTypeFromLocale","showWeekNumbers","childProps","alignItems","defaultMinDate","defaultMaxDate","allValueTypes","getLimitedViews","minDetail","isViewAllowed","getValueType","rawValue","valueDate","toDate","getDetailValue","valuePiece","getDetailValueFrom","getDetailValueTo","getDetailValueArray","getActiveStartDate","getIsSingleValue","Calendar","_args","defaultActiveStartDate","_assertThisInitialize","previousView","allowPartialRange","onActiveStartDateChange","onViewChange","selectRange","prevArgs","shouldUpdate","setStateAndCallCallbacks","drillDownAvailable","onClickTile","_assertThisInitialize2","onDrillDown","nextView","_assertThisInitialize3","onDrillUp","previousValue","goToRangeStartOnSelect","nextValue","isFirstValueInRange","rawNextValue","getValueRange","getProcessedValue","persist","onClickDay","onClickDecade","onClickMonth","onClickYear","activeStartDateState","getInitialActiveStartDate","valueProps","valueState","viewProps","viewState","_this$props7","returnValue","processFunction","currentActiveStartDate","_this$props8","commonProps","drillDown","_formatYear","_this$props9","_this$props10","showNavigation","_this$props11","_this$props12","renderNavigation","renderContent","isActiveStartDate","isLooseValue","numStr","getHoursMinutesSeconds","getISOLocalMonth","getNextDayEnd","getPreviousDayEnd","getNextDayStart","getPreviousDayStart","getNextMonthEnd","getNextYearEnd","getNextDecadeEnd","getNextCenturyEnd","millisecondsString","milliseconds","domhandler","htmlToDOM","domParserOptions","lowerCaseAttributeNames","HTMLReactParser","htmlparser2","_isDisposable","_isDisposable2","disposables","currentDisposables","Declaration","Pattern","ALIAS_KEYS","PLACEHOLDERS_FLIPPED_ALIAS","nextOptions","currentOptions","ModuleDeclaration","RESERVED_WORDS_ES3_ONLY","_MouseBackend","_MouseBackend2","IS_UNITLESS","animationIterationCount","boxFlex","boxFlexGroup","boxOrdinalGroup","columnCount","flex","flexPositive","flexNegative","flexOrder","gridRow","gridColumn","lineClamp","lineHeight","orphans","tabSize","widows","hasMap","mapSizeDescriptor","mapSize","mapForEach","hasSet","setSizeDescriptor","setSize","setForEach","weakMapHas","weakSetHas","weakRefDeref","deref","booleanValueOf","functionToString","$match","$slice","$toUpperCase","$toLowerCase","$test","$join","$arrSlice","$floor","bigIntValueOf","gOPS","symToString","hasShammedSymbols","gPO","addNumericSeparator","sepRegex","int","intStr","utilInspect","inspectCustom","custom","inspectSymbol","quotes","single","quoteREs","wrapQuotes","defaultStyle","quoteStyle","quoteChar","canTrustToString","inspect_","maxStringLength","customInspect","indent","numericSeparator","inspectString","bigIntStr","baseIndent","getIndent","noIndent","newOpts","nameOf","arrObjKeys","symString","markBoxed","attrs","singleLineValues","indentedJoin","cause","mapParts","collectionOf","setParts","weakCollectionOf","isWeakRef","isBigInt","globalThis","protoTag","trailer","quoteRE","lowbyte","lineJoiner","symMap","syms","isStandardArguments","isLegacyArguments","supportsStandardArguments","DragDropContainer","handleChildRef","handlerMonitor","handlerConnector","getBackend","disposable","_disposables","receiveProps","decoratedComponentInstance","currentType","receiveType","_registerHandler","setDisposable","receiveComponent","isClassComponent","Comp","listGetNode","isDelete","curr","$o","deletedNode","objects","listDelete","listGet","listHas","listSet","_DragDropManager","_createTestBackend","hasSpace","hasSeparator","separatorSplitter","unseparate","hasCamel","camelSplitter","uppers","uncamelize","IntlMessageFormat","origSymbol","hasSymbolSham","MessageFormat","__parse","_mergeFormats","_findPluralRuleFunction","_compilePattern","messageFormat","variableId","timeZoneName","src$es5$$","intl$messageformat$parser$$","src$compiler$$","mergedType","mergedFormats","_uppercase","NONE","ALL","prevTargetIds","_xor2","didChange","prevInnermostTargetId","innermostTargetId","_intersection2","getScroll","getOffset","box","docElem","getClientPosition","parentWindow","getComputedStyleX","_RE_NUM_NO_PX","RE_POS","CURRENT_STYLE","RUNTIME_STYLE","LEFT","isBorderBoxFn","rsLeft","pixelLeft","BOX_MODELS","getPBMWidth","which","isWindow","domUtils","getWH","viewportWidth","viewportHeight","docWidth","docHeight","borderBoxValue","isBorderBox","cssBoxValue","borderBoxValueOrIsBorderBox","refWin","win","documentElementProp","compatMode","cssShow","getWHIgnoreDisplay","old","swap","css","mix","includeMargin","getWindow","setOffset","registeredManagers","errorCommon","registerManager","menuId","unregisterManager","openOptions","closeOptions","gopd","nonEnumerable","nonWritable","nonConfigurable","loose","isClassDeclaration","hasDescriptors","functionLengthIsConfigurable","functionLengthIsWritable","traverseSimpleImpl","subNode","hoistNonReactStatic","ReactDOM","WrappedComponent","EnhancedComponent","handleClickOutside","domNode","__domNode","__wrappedInstance","wrappedRef","_Scrollbars","_Scrollbars2","CAN_USE_DOM","canUsePassiveEventListeners","supportsPassiveOption","testPassiveEventListeners","ensureCanMutateNextEventHandlers","eventHandlers","nextHandlers","TargetEventHandlers","events","getEventHandlers","normalizedEventOptions","passive","handleEvent","EVENT_HANDLERS_KEY","eventOptions","normalizeEventOptions","newRef","previousRef","INHERIT_KEYS","style_to_object_1","isAbsolute","spliceOne","hasTrailingSlash","toParts","fromParts","isToAbs","isFromAbs","mustEndAbs","up","valueEqual","aValue","bValue","addLeadingSlash","stripLeadingSlash","stripBasename","hasBasename","stripTrailingSlash","parsePath","hash","hashIndex","searchIndex","currentLocation","resolvePathname","locationsAreEqual","createTransitionManager","prompt","setPrompt","nextPrompt","confirmTransitionTo","getUserConfirmation","appendListener","notifyListeners","canUseDOM","getConfirmation","confirm","PopStateEvent","HashChangeEvent","getHistoryState","globalHistory","canUseHistory","supportsHistory","needsHashChangeListener","_props$forceRefresh","forceRefresh","_props$getUserConfirm","_props$keyLength","keyLength","basename","getDOMLocation","historyState","_window$location","createKey","transitionManager","handlePopState","isExtraneousPopstateEvent","handlePop","handleHashChange","forceNextPop","ok","fromLocation","toLocation","toIndex","allKeys","delta","go","revertPop","initialLocation","listenerCount","checkDOMListeners","isBlocked","pushState","prevIndex","nextKeys","replaceState","goBack","goForward","unblock","listen","unlisten","HashChangeEvent$1","HashPathCoders","hashbang","encodePath","decodePath","noslash","slash","stripHash","getHashPath","replaceHashPath","_props$hashType","hashType","_HashPathCoders$hashT","ignorePath","encodedPath","prevLocation","allPaths","baseTag","pushHashPath","nextPaths","lowerBound","upperBound","createMemoryHistory","_props$initialEntries","initialEntries","_props$initialIndex","initialIndex","nextIndex","nextEntries","canGo","nextUniqueId","DayInput","currentMonthMaxDays","isSameMonth","maxDay","minDay","objectKeys","isRegex","deepEqual","actual","isUndefinedOrNull","aIsRegex","bIsRegex","aIsBuffer","bIsBuffer","objEquiv","isFirst","trail","isIdentifierStart","isIdentifierChar","nonASCIIidentifierStartChars","nonASCIIidentifierChars","nonASCIIidentifierStart","nonASCIIidentifier","astralIdentifierStartCodes","astralIdentifierCodes","isInAstralSet","EvalError","currentDropTargetNode","currentDropTargetOptions","disconnectCurrentDropTarget","reconnectDropTarget","connectDropTarget","dropTarget","MsOverflowStyle","_domCss","isAnyTypeAnnotation","isFlowBaseAnnotation","isUnionTypeAnnotation","isGenericTypeAnnotation","codePointAt","isCatchClause","isPattern","isScopable","getSideChannel","arrayPrefixGenerators","brackets","indices","pushToArray","valueOrArray","toISO","defaultFormat","addQueryPrefix","allowDots","allowEmptyArrays","arrayFormat","charsetSentinel","commaRoundTrip","encodeDotInKeys","encoder","encodeValuesOnly","serializeDate","skipNulls","strictNullHandling","sentinel","generateArrayPrefix","sideChannel","tmpSc","findFlag","objKeys","encodedPrefix","adjustedPrefix","encodedKey","keyPrefix","valueSideChannel","normalizeStringifyOptions","joined","preserveComments","CLEAR_KEYS","CLEAR_KEYS_PLUS_COMMENTS","ea","fa","ia","ja","la","ma","acceptsBooleans","attributeNamespace","mustUseProperty","propertyName","sanitizeURL","removeEmptyString","sa","qa","oa","ya","za","Aa","Ba","Ca","Da","Ea","Fa","Ga","Ha","Ia","Ja","Ka","La","Ma","Na","Oa","Pa","Qa","Ra","Sa","Ta","Va","_valueTracker","stopTracking","Ua","Wa","Xa","Ya","_wrapperState","initialChecked","Za","initialValue","controlled","eb","defaultSelected","gb","ib","jb","lb","mb","firstChild","MSApp","execUnsafeLocalFunction","ob","lastChild","pb","aspectRatio","borderImageOutset","borderImageSlice","borderImageWidth","columns","gridArea","gridRowEnd","gridRowSpan","gridRowStart","gridColumnEnd","gridColumnSpan","gridColumnStart","qb","sb","menuitem","col","embed","img","keygen","track","wbr","ub","xb","srcElement","correspondingUseElement","yb","zb","Ab","Bb","Cb","stateNode","Db","Eb","Fb","Gb","Hb","Ib","Jb","Kb","Lb","Mb","Nb","onError","Ob","Pb","Qb","Rb","Sb","Tb","Vb","return","Wb","memoizedState","dehydrated","Xb","Zb","Yb","$b","cc","ec","fc","gc","ic","jc","clz32","pc","qc","sc","tc","uc","pendingLanes","suspendedLanes","pingedLanes","entangledLanes","entanglements","vc","xc","yc","zc","Ac","eventTimes","Cc","Dc","Ec","Fc","Gc","Hc","Ic","Jc","Kc","Lc","Mc","Nc","Oc","Pc","Qc","Rc","Sc","delete","pointerId","Tc","nativeEvent","blockedOn","domEventName","eventSystemFlags","targetContainers","Vc","Wc","isDehydrated","containerInfo","Xc","Yc","dispatchEvent","Zc","$c","ad","bd","cd","ed","fd","gd","hd","Uc","jd","kd","ld","md","nd","od","charCode","pd","qd","rd","_reactName","_targetInst","currentTarget","isDefaultPrevented","isPropagationStopped","cancelBubble","isPersistent","wd","xd","yd","sd","eventPhase","bubbles","cancelable","timeStamp","isTrusted","td","ud","vd","Ad","screenX","screenY","getModifierState","zd","buttons","fromElement","toElement","movementX","movementY","Bd","Dd","dataTransfer","Fd","Hd","animationName","elapsedTime","pseudoElement","Id","clipboardData","Jd","Ld","Md","Esc","Spacebar","Left","Up","Right","Down","Del","Win","Apps","Scroll","MozPrintableKey","Nd","Od","Alt","Control","Meta","Shift","Pd","Qd","Rd","Td","pressure","tangentialPressure","tiltX","tiltY","twist","pointerType","isPrimary","Vd","targetTouches","Xd","Yd","deltaX","wheelDeltaX","wheelDeltaY","deltaZ","Zd","$d","ae","be","documentMode","ce","de","ee","fe","ge","he","ie","le","datetime","email","password","tel","me","oe","pe","qe","te","ue","ve","we","xe","ye","ze","oninput","Ae","detachEvent","Be","Ce","attachEvent","De","Ee","Fe","He","Ie","Je","Ke","Le","Me","HTMLIFrameElement","contentWindow","Ne","Oe","focusedElem","selectionRange","rangeCount","anchorNode","anchorOffset","focusOffset","setStart","removeAllRanges","addRange","setEnd","Pe","Qe","Re","Se","Te","Ue","Ve","We","animationend","animationiteration","animationstart","transitionend","Xe","Ye","Ze","animation","$e","af","bf","cf","df","ef","ff","gf","hf","lf","mf","nf","Ub","pf","qf","rf","sf","tf","uf","vf","wf","xa","$a","je","char","ke","xf","yf","zf","Af","Bf","Cf","Df","Ef","Ff","Gf","Hf","Jf","queueMicrotask","catch","If","Kf","Lf","Mf","previousSibling","Nf","Of","Pf","Qf","Rf","Sf","Tf","Uf","Vf","Wf","Xf","Yf","__reactInternalMemoizedUnmaskedChildContext","__reactInternalMemoizedMaskedChildContext","Zf","$f","cg","__reactInternalMemoizedMergedChildContext","dg","eg","fg","gg","hg","jg","kg","lg","mg","ng","og","pg","qg","rg","sg","tg","ug","vg","wg","xg","yg","zg","Ag","Bg","deletions","Cg","pendingProps","treeContext","retryLane","Dg","Eg","Fg","Gg","memoizedProps","Hg","Ig","Jg","Kg","Lg","_stringRef","Mg","Ng","Og","Pg","Qg","Rg","Sg","Tg","Ug","Vg","Wg","Xg","Yg","Zg","$g","childLanes","dependencies","firstContext","lanes","dh","eh","memoizedValue","fh","gh","interleaved","ih","jh","kh","updateQueue","baseState","firstBaseUpdate","lastBaseUpdate","shared","pending","effects","lh","mh","eventTime","lane","payload","nh","oh","ph","qh","rh","sh","th","uh","vh","wh","xh","yh","Ah","Bh","Ch","revealOrder","Dh","Eh","_workInProgressVersionPrimary","Fh","Gh","Hh","Ih","Jh","Kh","Lh","Mh","Nh","Oh","Ph","Qh","Rh","Sh","Th","baseQueue","Uh","Vh","Wh","lastRenderedReducer","hasEagerState","eagerState","lastRenderedState","Xh","Yh","Zh","$h","ai","getSnapshot","ci","lastEffect","stores","ei","fi","gi","ii","deps","ji","ki","li","mi","ni","oi","qi","ri","si","ti","ui","vi","wi","zi","Ai","Bi","readContext","useMutableSource","unstable_isNewReconciler","identifierPrefix","Ci","Di","Ei","_reactInternals","Fi","shouldComponentUpdate","Gi","Hi","UNSAFE_componentWillReceiveProps","Ii","getSnapshotBeforeUpdate","UNSAFE_componentWillMount","componentWillMount","Ji","digest","Ki","Li","Mi","Ni","Oi","Pi","Qi","componentDidCatch","Ri","componentStack","Si","pingCache","Ti","Ui","Vi","Wi","Xi","Yi","Zi","$i","aj","bj","cj","baseLanes","cachePool","transitions","ej","fj","gj","hj","ij","UNSAFE_componentWillUpdate","componentWillUpdate","jj","kj","pendingContext","lj","zj","Aj","Bj","Cj","mj","nj","oj","fallback","pj","qj","sj","dataset","dgst","tj","uj","_reactRetry","rj","subtreeFlags","vj","wj","isBackwards","rendering","renderingStartTime","tailMode","xj","Dj","Ej","Fj","wasMultiple","onclick","Gj","Hj","Ij","Jj","Kj","Lj","Mj","Nj","Pj","Qj","Rj","Sj","Tj","Uj","Vj","_reactRootContainer","Wj","Xj","Yj","Zj","onCommitFiberUnmount","ak","bk","ck","dk","ek","isHidden","fk","gk","hk","ik","jk","kk","__reactInternalSnapshotBeforeUpdate","Vk","lk","mk","nk","pk","qk","rk","sk","tk","uk","vk","wk","xk","yk","zk","Ak","Bk","Ck","Dk","callbackNode","expirationTimes","expiredLanes","wc","callbackPriority","ig","Ek","Fk","Gk","Hk","Ik","Jk","Kk","Lk","Mk","Nk","Ok","finishedWork","finishedLanes","Pk","Qk","Rk","Sk","Tk","Uk","mutableReadLanes","Bc","Oj","onCommitFiberRoot","mc","onRecoverableError","Wk","onPostCommitFiberRoot","Xk","Yk","$k","pendingChildren","mutableSourceEagerHydrationData","pendingSuspenseBoundaries","dl","fl","gl","il","yj","Zk","kl","reportError","_internalRoot","ml","nl","ol","pl","rl","ql","unmount","unstable_scheduleHydration","sl","usingClientEntryPoint","Events","tl","findFiberByHostInstance","bundleType","rendererPackageName","ul","rendererConfig","overrideHookState","overrideHookStateDeletePath","overrideHookStateRenamePath","overrideProps","overridePropsDeletePath","overridePropsRenamePath","setErrorHandler","setSuspenseHandler","scheduleUpdate","currentDispatcherRef","findHostInstanceByFiber","findHostInstancesForRefresh","scheduleRefresh","scheduleRoot","setRefreshHandler","getCurrentFiber","reconcilerVersion","__REACT_DEVTOOLS_GLOBAL_HOOK__","vl","isDisabled","supportsFiber","inject","createPortal","cl","createRoot","unstable_strictMode","flushSync","hydrate","hydrateRoot","hydratedSources","_getVersion","_source","unmountComponentAtNode","unstable_batchedUpdates","unstable_renderSubtreeIntoContainer","_DayInput","_MonthInput","_MonthSelect","_YearInput","_Hour12Input","_Hour24Input","_MinuteInput","_SecondInput","_AmPm","_Divider","_NativeInput","isSameDate","isValidInput","findInput","nextElement","formatNumber","useGrouping","DateTimeInput","dateDivider","timeDivider","_event$target","onChangeExternal","_value$split2","valueTime","_valueDate$split2","yearString","monthString","dayString","_valueTime$split2","hourString","minuteString","secondString","proposedValue","formElements","amPmInput","dayInput","monthInput","yearInput","hour12Input","hour24Input","minuteInput","secondInput","formElementsWithoutSelect","formElement","validity","currentMatch","showLeadingZerosFromFormat","commonInputProps","renderHour12","renderHour24","_this$state4","_this$state5","onChangeAmPm","level","datePlaceholder","timePlaceholder","formattedDate","datePieceReplacements","datePiece","dateToFormat","formattedDatePiece","datePieceReplacement","formatTime","_this$state6","_this$state7","elementFunctions","allowMultipleInstances","usedFunctions","divider","renderFunction","elementFunction","_renderCustomInputs","renderDay","renderMonth","renderYear","renderHour","renderMinute","renderSecond","renderAmPm","onChangeNative","renderNativeInput","renderCustomInputs","strFileName","strMimeType","blob","reader","defaultMime","anchor","myBlob","Blob","MozBlob","WebKitBlob","fileName","ajax","msSaveBlob","dataUrlToBlob","saver","tempUiArr","mx","strUrl","binData","atob","uiArr","winMode","URL","revokeObjectURL","createObjectURL","btoa","FileReader","readAsDataURL","startX","startY","touchStarted","touchMoved","usingTouch","handleTouchstart","handleTouchmove","handleTouchend","handleTouchcancel","removeSecondaryTouchListeners","core_1","en_1","inline_style_parser_1","styleObject","hasIterator","createFocusGroup","focusGroupOptions","protoManager","handleSelection","focusGroup","oldOptions","addItem","clearItems","blurTimer","moveFocusTimer","menuOpen","focusButton","buttonNode","activeEl","newManager","_identifier","_keyword","hookCallback","setHookCallback","hasOwnProp","isObjectEmpty","arrLen","createUTC","createLocalOrUTC","defaultParsingFlags","unusedTokens","unusedInput","charsLeftOver","nullInput","invalidEra","invalidMonth","invalidFormat","userInvalidated","parsedDateParts","era","rfc2822","weekdayMismatch","getParsingFlags","_pf","isValid","parsedParts","isNowValid","invalidWeekday","_strict","bigHour","isFrozen","_isValid","createInvalid","fun","momentProperties","updateInProgress","copyConfig","momentPropertiesLen","_isAMomentObject","_f","_l","_tzm","_isUTC","Moment","config","updateOffset","isMoment","msg","suppressDeprecationWarnings","deprecate","firstTime","deprecationHandler","argLen","deprecations","deprecateSimple","_config","_dayOfMonthOrdinalParseLenient","_dayOfMonthOrdinalParse","_ordinalParse","mergeConfigs","parentConfig","childConfig","Locale","defaultCalendar","_calendar","zeroFill","targetLength","forceSign","absNumber","zerosToFill","formattingTokens","localFormattingTokens","formatFunctions","formatTokenFunctions","addFormatToken","padded","removeFormattingTokens","makeFormatFunction","formatMoment","expandFormat","replaceLongDateFormatTokens","defaultLongDateFormat","_longDateFormat","formatUpper","tok","defaultInvalidDate","_invalidDate","defaultOrdinal","defaultDayOfMonthOrdinalParse","_ordinal","defaultRelativeTime","_relativeTime","pastFuture","isoweekdays","isoweekday","DDD","dayofyears","dayofyear","ms","quarters","quarter","weekyears","weekyear","GG","isoweekyears","isoweekyear","isoweeks","isoweek","normalizeUnits","normalizeObjectUnits","inputObject","normalizedProp","normalizedInput","priorities","isoWeekday","weekYear","isoWeekYear","isoWeek","getPrioritizedUnits","unitsObj","regexes","match1","match2","match3","match4","match6","match1to2","match3to4","match5to6","match1to3","match1to4","match1to6","matchUnsigned","matchSigned","matchOffset","matchShortOffset","matchTimestamp","matchWord","match1to2NoLeadingZero","match1to2HasZero","addRegexToken","strictRegex","getParseRegexForToken","unescapeFormat","regexEscape","matched","p4","absFloor","toInt","argumentForCoercion","coercedNumber","addParseToken","tokenLen","addWeekParseToken","_w","addTimeToArrayFromToken","isLeapYear","YEAR","MONTH","DATE","HOUR","MINUTE","SECOND","MILLISECOND","WEEK","WEEKDAY","daysInYear","parseTwoDigitYear","getSetYear","makeGetSet","getIsLeapYear","keepTime","set$1","isUTC","stringGet","stringSet","prioritized","prioritizedLen","modMonth","defaultLocaleMonths","defaultLocaleMonthsShort","MONTHS_IN_FORMAT","defaultMonthsShortRegex","defaultMonthsRegex","localeMonths","_months","localeMonthsShort","_monthsShort","handleStrictParse","monthName","llc","toLocaleLowerCase","_monthsParse","_longMonthsParse","_shortMonthsParse","localeMonthsParse","_monthsParseExact","getSetMonth","computeMonthsParse","_monthsShortStrictRegex","_monthsShortRegex","_monthsStrictRegex","_monthsRegex","cmpLenRev","shortP","longP","shortPieces","longPieces","mixedPieces","createDate","createUTCDate","firstWeekOffset","fwd","dayOfYearFromWeeks","resYear","resDayOfYear","resWeek","weekOffset","weeksInYear","weekOffsetNext","localeWeek","_week","defaultLocaleWeek","localeFirstDayOfWeek","localeFirstDayOfYear","getSetWeek","getSetISOWeek","parseWeekday","parseIsoWeekday","shiftWeekdays","ws","weekdaysMinRegex","weekdaysShortRegex","weekdaysRegex","defaultLocaleWeekdays","defaultLocaleWeekdaysShort","defaultLocaleWeekdaysMin","defaultWeekdaysRegex","defaultWeekdaysShortRegex","defaultWeekdaysMinRegex","localeWeekdays","_weekdays","localeWeekdaysShort","_weekdaysShort","localeWeekdaysMin","_weekdaysMin","handleStrictParse$1","weekdayName","_weekdaysParse","_shortWeekdaysParse","_minWeekdaysParse","localeWeekdaysParse","_weekdaysParseExact","_fullWeekdaysParse","getSetDayOfWeek","getSetLocaleDayOfWeek","getSetISODayOfWeek","computeWeekdaysParse","_weekdaysStrictRegex","_weekdaysRegex","_weekdaysShortStrictRegex","_weekdaysShortRegex","_weekdaysMinStrictRegex","_weekdaysMinRegex","minp","shortp","longp","minPieces","hFormat","kFormat","lowercase","matchMeridiem","_meridiemParse","localeIsPM","kInput","_isPm","_meridiem","pos1","pos2","defaultLocaleMeridiemParse","getSetHour","localeMeridiem","globalLocale","baseConfig","localeFamilies","commonPrefix","arr1","minl","normalizeLocale","chooseLocale","loadLocale","isLocaleNameSane","oldLocale","_abbr","aliasedRequire","getSetGlobalLocale","getLocale","updateLocale","tmpLocale","listLocales","checkOverflow","_overflowDayOfYear","_overflowWeeks","_overflowWeekday","extendedIsoRegex","basicIsoRegex","tzRegex","isoDates","isoTimes","aspNetJsonRegex","obsOffsets","UT","GMT","EDT","EST","CDT","CST","MDT","MST","PDT","PST","configFromISO","allowTime","dateFormat","tzFormat","isoDatesLen","isoTimesLen","configFromStringAndFormat","extractFromRFC2822Strings","yearStr","monthStr","dayStr","hourStr","minuteStr","secondStr","untruncateYear","preprocessRFC2822","checkWeekday","weekdayStr","parsedInput","calculateOffset","obsOffset","militaryOffset","numOffset","configFromRFC2822","parsedArray","configFromString","createFromInputFallback","currentDateArray","nowValue","_useUTC","configFromArray","currentDate","expectedWeekday","yearToUse","dayOfYearFromWeekInfo","_dayOfYear","_nextDay","weekdayOverflow","curWeek","createLocal","RFC_2822","stringLength","totalParsedInputLength","meridiemFixWrap","erasConvertYear","isPm","configFromStringAndArray","tempConfig","bestMoment","scoreToBeat","currentScore","validFormatFound","bestFormatIsValid","configfLen","configFromObject","dayOrDate","createFromConfig","prepareConfig","configFromInput","prototypeMin","prototypeMax","moments","ordering","isDurationValid","unitHasDecimal","orderLen","isValid$1","createInvalid$1","createDuration","Duration","_milliseconds","_days","_data","_bubble","isDuration","absRound","compareArrays","array1","array2","dontConvert","lengthDiff","diffs","utcOffset","offsetFromString","chunkOffset","cloneWithOffset","model","getDateOffset","getSetOffset","keepLocalTime","keepMinutes","localAdjust","_changeInProgress","addSubtract","getSetZone","setOffsetToUTC","setOffsetToLocal","setOffsetToParsedOffset","tZone","hasAlignedHourOffset","isDaylightSavingTime","isDaylightSavingTimeShifted","_isDSTShifted","isLocal","isUtcOffset","isUtc","aspNetRegex","isoRegex","diffRes","parseIso","momentsDifference","inp","positiveMomentsDifference","isAfter","isBefore","createAdder","tmp","isAdding","isMomentInput","isNumberOrStringArray","isMomentInputObject","objectTest","propertyTest","propertyLen","arrayTest","dataTypeTest","isCalendarSpec","getCalendarFormat","myMoment","calendar$1","sod","startOf","calendarFormat","localInput","endOf","isBetween","inclusivity","localFrom","localTo","isSame","inputMs","isSameOrAfter","isSameOrBefore","asFloat","zoneDelta","monthDiff","wholeMonthDiff","keepOffset","zone","inputString","defaultFormatUtc","humanize","fromNow","toNow","newLocaleData","MS_PER_SECOND","MS_PER_MINUTE","MS_PER_HOUR","MS_PER_400_YEARS","mod$1","localStartOfDate","utcStartOfDate","startOfDate","unix","toObject","isValid$2","parsingFlags","invalidAt","creationData","localeEras","_eras","localeErasParse","eraName","localeErasConvertYear","getEraName","getEraNarrow","getEraAbbr","getEraYear","erasNameRegex","computeErasParse","_erasNameRegex","_erasRegex","erasAbbrRegex","_erasAbbrRegex","erasNarrowRegex","_erasNarrowRegex","matchEraAbbr","matchEraName","matchEraNarrow","matchEraYearOrdinal","_eraYearOrdinalRegex","erasName","erasAbbr","erasNarrow","abbrPieces","namePieces","narrowPieces","addWeekYearFormatToken","getter","getSetWeekYear","getSetWeekYearHelper","getSetISOWeekYear","getISOWeeksInYear","getISOWeeksInISOWeekYear","getWeeksInYear","weekInfo","getWeeksInWeekYear","weeksTarget","setWeekAll","dayOfYearData","getSetQuarter","erasParse","getSetDayOfMonth","getSetDayOfYear","getSetMinute","getSetMillisecond","getSetSecond","parseMs","getZoneAbbr","getZoneName","createUnix","createInZone","parseZone","preParsePostFormat","eraNarrow","eraAbbr","eraYear","isoWeeks","weeksInWeekYear","isoWeeksInYear","isoWeeksInISOWeekYear","isDST","zoneAbbr","zoneName","isDSTShifted","proto$1","get$1","listMonthsImpl","listWeekdaysImpl","localeSorted","listMonths","listMonthsShort","listWeekdays","listWeekdaysShort","listWeekdaysMin","firstDayOfYear","firstDayOfWeek","langData","mathAbs","addSubtract$1","add$1","subtract$1","absCeil","bubble","monthsFromDays","monthsToDays","daysToMonths","makeAs","asMilliseconds","asSeconds","asMinutes","asHours","asDays","asWeeks","asMonths","asQuarters","asYears","valueOf$1","clone$1","get$2","makeGetter","substituteTimeAgo","relativeTime$1","posNegDuration","getSetRelativeTimeRounding","roundingFunction","getSetRelativeTimeThreshold","argWithSuffix","argThresholds","withSuffix","abs$1","toISOString$1","totalSign","ymSign","daysSign","hmsSign","proto$2","toIsoString","relativeTimeRounding","relativeTimeThreshold","HTML5_FMT","DATETIME_LOCAL","DATETIME_LOCAL_SECONDS","DATETIME_LOCAL_MS","TIME","TIME_SECONDS","TIME_MS","PropertyInfoRecord","CAMELIZE","possibleStandardNamesOptimized","standardName","BOOLEANISH_STRING","NUMERIC","POSITIVE_NUMERIC","RESERVED","STRING","_skip","_stop","traverseFast","ALLOWED_SPEC_METHODS","Target","$indexOf","isarray","pathToRegexp","tokensToFunction","tokensToRegExp","PATH_REGEXP","defaultDelimiter","escaped","modifier","asterisk","prevText","escapeGroup","restrictBacktrack","escapeString","encodeURIComponentPretty","pretty","attachKeys","route","endsWithDelimiter","regexpToRegexp","arrayToRegexp","stringToRegexp","Divider","DragSource","createTapListener","AriaMenuButtonMenu","addTapListener","tapListener","handleTap","childrenToRender","menuProps","Fit_js_1","toKeyAlias","increment","allowSparse","arrayLimit","decodeDotInKeys","decoder","ignoreQueryPrefix","interpretNumericEntities","parameterLimit","parseArrays","strictDepth","throwOnLimitExceeded","numberStr","parseArrayValue","currentArrayLength","parseKeys","givenKey","valuesParsed","cleanRoot","decodedRoot","parseObject","normalizeParseOptions","tempObj","cleanStr","skipIndex","bracketEqualsPos","encodedVal","parseValues","hourOptionalSecondsRegExp","_createStore2","_reducers2","dragDropActions","_DragDropMonitor2","createBackend","handleRefCountChange","shouldSetUp","setup","teardown","boundActions","actionCreator","commonjsGlobal","getUniqueId","_React$Component2","createNamedContext","historyContext","_isMounted","_pendingLocation","staticContext","computeRootMatch","isExact","MemoryRouter","Lifecycle","onMount","onUnmount","Prompt","_ref$when","release","cacheLimit","cacheCount","generatePath","compilePath","computedMatch","_ref$push","cache$1","cacheLimit$1","cacheCount$1","_options$exact","_options$strict","_options$sensitive","cacheKey","pathCache","compilePath$1","_compilePath","Route","context$1","isEmptyChildren","createURL","staticHandler","StaticRouter","handlePush","navigateTo","handleReplace","handleListen","handleBlock","_this$props$basename","_this$props$context","addBasename","_this$props2$basename","_this$props2$context","_this$props2$location","Switch","withRouter","wrappedComponentRef","remainingProps","hoistStatics","useHistory","useLocation","useParams","useRouteMatch","_len3","_key3","primitiveType","oneOfNodeOrValueTypes","_current","shapeOf","_len5","_key5","_store$opts$inherits$","additional","BUILDER_KEYS","childValidator","subKey","expandedTypes","valType","_len4","fns","_key4","chainOf","validTypeOpts","validFieldKeys","def","flagsBound","isImportOrExportDeclaration","__exportStar","DomHandler","node_js_1","defaultOpts","withStartIndices","withEndIndices","xmlMode","elementCB","dom","tagStack","lastNode","parser","onparserinit","onreset","onend","handleCallback","onclosetag","onopentag","addNode","ontext","oncomment","oncommentend","oncdatastart","oncdataend","onprocessinginstruction","_gatherSequenceExpressions","lastNonEmptyLine","isFirstLine","isLastLine","isLastNonEmptyLine","trimmedLine","updateInputWidth","measureText","cachedCanvas","allowedVariants","getContext","REQUIRED_SPEC_METHODS","Source","globalMonitor","AriaMenuButtonMenuItem","selectItem","menuItemProps","COMMENT_REGEX","NEWLINE_REGEX","WHITESPACE_REGEX","PROPERTY_REGEX","COLON_REGEX","VALUE_REGEX","SEMICOLON_REGEX","TRIM_REGEX","EMPTY_STRING","lineno","updatePosition","Position","whitespace","errorsList","reason","filename","silent","rules","decls","$WeakMap","$weakMapGet","$weakMapSet","$weakMapHas","$weakMapDelete","$wm","util","allowHorizontalScroll","alignWithTop","alignWithLeft","containerOffset","containerScroll","diffTop","diffBottom","winScroll","isWin","elemOffset","outerHeight","ew","outerWidth","warning","__webpack_modules__","it","__unused_webpack_exports","__webpack_require__","wellKnownSymbol","definePropertyModule","UNSCOPABLES","ArrayPrototype","NAME","NATIVE_ARRAY_BUFFER","DESCRIPTORS","classof","createNonEnumerableProperty","redefine","Int8ArrayPrototype","Uint8ClampedArrayPrototype","TypedArrayPrototype","ObjectPrototype","isPrototypeOf","TO_STRING_TAG","TYPED_ARRAY_TAG","NATIVE_ARRAY_BUFFER_VIEWS","opera","TYPED_ARRAY_TAG_REQIRED","TypedArrayConstructorsList","BigIntArrayConstructorsList","klass","aTypedArray","aTypedArrayConstructor","ARRAY","TypedArrayConstructor","exportTypedArrayMethod","KEY","forced","exportTypedArrayStaticMethod","redefineAll","fails","anInstance","IEEE754","arrayFill","setToStringTag","InternalStateModule","getInternalState","setInternalState","ARRAY_BUFFER","DATA_VIEW","PROTOTYPE","WRONG_INDEX","NativeArrayBuffer","$ArrayBuffer","$DataView","$DataViewPrototype","packIEEE754","unpackIEEE754","unpack","packInt8","packInt16","packInt32","unpackInt32","packFloat32","packFloat64","addGetter","isLittleEndian","intIndex","bytes","conversion","ArrayBufferPrototype","testView","nativeSetInt8","setInt8","getInt8","setUint8","unsafe","bufferLength","getUint8","getInt16","getUint16","getInt32","getUint32","getFloat32","getFloat64","setInt16","setUint16","setInt32","setUint32","setFloat32","setFloat64","toAbsoluteIndex","copyWithin","inc","argumentsLength","$forEach","STRICT_METHOD","arrayMethodIsStrict","callbackfn","callWithSafeIterationClosing","isArrayIteratorMethod","createProperty","getIteratorMethod","arrayLike","mapfn","mapping","iteratorMethod","toIndexedObject","createMethod","IS_INCLUDES","$this","IndexedObject","arraySpeciesCreate","TYPE","IS_MAP","IS_FILTER","IS_SOME","IS_EVERY","IS_FIND_INDEX","IS_FILTER_OUT","NO_HOLES","specificCreate","boundFunction","filterOut","nativeLastIndexOf","NEGATIVE_ZERO","FORCED","searchElement","V8_VERSION","SPECIES","METHOD_NAME","foo","aFunction","IS_RIGHT","originalArray","anObject","iteratorClose","ENTRIES","ITERATOR","SAFE_CLOSING","called","iteratorWithReturn","SKIP_CLOSING","ITERATION_SUPPORT","TO_STRING_TAG_SUPPORT","classofRaw","CORRECT_ARGUMENTS","tryGet","getOwnPropertyDescriptorModule","IteratorPrototype","createPropertyDescriptor","Iterators","returnThis","IteratorConstructor","bitmap","propertyKey","createIteratorConstructor","IS_PURE","IteratorsCore","BUGGY_SAFARI_ITERATORS","KEYS","VALUES","Iterable","DEFAULT","IS_SET","CurrentIteratorPrototype","getIterationMethod","KIND","defaultIterator","IterablePrototype","INCORRECT_VALUES_NAME","nativeIterator","anyNativeIterator","EXISTS","CSSRuleList","CSSValueList","ClientRectList","DOMRectList","DOMStringList","DOMTokenList","DataTransferItemList","FileList","HTMLAllCollection","HTMLCollection","HTMLFormElement","HTMLSelectElement","MediaList","MimeTypeArray","NamedNodeMap","NodeList","PaintRequestList","Plugin","PluginArray","SVGLengthList","SVGNumberList","SVGPathSegList","SVGPointList","SVGStringList","SVGTransformList","SourceBufferList","StyleSheetList","TextTrackCueList","TextTrackList","TouchList","getBuiltIn","versions","v8","setGlobal","copyConstructorProperties","isForced","targetProperty","sourceProperty","TARGET","GLOBAL","STATIC","stat","noTargetGet","regexpExec","REPLACE_SUPPORTS_NAMED_GROUPS","REPLACE_KEEPS_$0","REPLACE","REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE","SPLIT_WORKS_WITH_OVERWRITTEN_EXEC","originalExec","SYMBOL","DELEGATES_TO_SYMBOL","DELEGATES_TO_EXEC","execCalled","nativeRegExpMethod","nativeMethod","arg2","forceStringMethod","stringMethod","regexMethod","SUBSTITUTION_SYMBOLS","SUBSTITUTION_SYMBOLS_NO_NAMED","captures","namedCaptures","replacement","tailPos","mantissaLength","mantissa","exponentLength","eMax","eBias","rt","nBits","dummy","NewTargetPrototype","inspectSource","NATIVE_WEAK_MAP","objectHas","sharedKey","hiddenKeys","wmget","wmhas","wmset","metadata","facade","STATE","enforce","getterFor","detection","normalize","POLYFILL","NATIVE","MATCH","returnMethod","PrototypeOfArrayIteratorPrototype","arrayIterator","NEW_ITERATOR_PROTOTYPE","searchParams","URLSearchParams","username","host","getOwnPropertySymbolsModule","propertyIsEnumerableModule","nativeAssign","alphabet","activeXDocument","enumBugKeys","documentCreateElement","SCRIPT","EmptyConstructor","scriptTag","NullProtoObject","ActiveXObject","write","close","NullProtoObjectViaActiveX","iframeDocument","iframe","JS","NullProtoObjectViaIFrame","Properties","__unused_webpack_module","IE8_DOM_DEFINE","nativeDefineProperty","Attributes","nativeGetOwnPropertyDescriptor","internalObjectKeys","CORRECT_PROTOTYPE_GETTER","nativePropertyIsEnumerable","NASHORN_BUG","aPossiblePrototype","CORRECT_SETTER","getOwnPropertyNamesModule","enforceInternalState","TEMPLATE","simple","regexpFlags","stickyHelpers","nativeExec","nativeReplace","patchedExec","UPDATES_LAST_INDEX_WRONG","re1","re2","UNSUPPORTED_Y","BROKEN_CARET","NPCG_INCLUDED","reCopy","charsAdded","strCopy","RE","CONSTRUCTOR_NAME","TAG","SHARED","copyright","defaultConstructor","requireObjectCoercible","CONVERT_TO_STRING","codeAt","maxInt","regexNonASCII","regexSeparators","OVERFLOW_ERROR","stringFromCharCode","digitToBasic","digit","adapt","numPoints","baseMinusTMin","counter","ucs2decode","currentValue","inputLength","basicLength","handledCPCount","handledCPCountPlusOne","qMinusT","baseMinusT","encoded","labels","whitespaces","ltrim","rtrim","toPositiveInteger","BYTES","PREFERRED_STRING","TYPED_ARRAYS_CONSTRUCTORS_REQUIRES_WRAPPERS","ArrayBufferViewCore","ArrayBufferModule","toOffset","typedArrayFrom","setSpecies","inheritIfRequired","BYTES_PER_ELEMENT","WRONG_LENGTH","fromList","isTypedArrayIndex","wrappedGetOwnPropertyDescriptor","wrappedDefineProperty","CLAMPED","GETTER","SETTER","NativeTypedArrayConstructor","TypedArrayConstructorPrototype","addElement","typedArrayOffset","$length","$len","checkCorrectnessOfIteration","speciesConstructor","postfix","NATIVE_SYMBOL","USE_SYMBOL_AS_UID","WellKnownSymbolsStore","createWellKnownSymbol","withoutSetter","arrayBufferModule","arrayMethodHasSpeciesSupport","IS_CONCAT_SPREADABLE","MAXIMUM_ALLOWED_INDEX_EXCEEDED","IS_CONCAT_SPREADABLE_SUPPORT","SPECIES_SUPPORT","spreadable","$filter","nativeIndexOf","addToUnscopables","defineIterator","ARRAY_ITERATOR","iterated","Arguments","$map","HAS_SPECIES_SUPPORT","nativeSlice","fin","deleteCount","insertCount","actualDeleteCount","actualStart","FunctionPrototype","FunctionPrototypeToString","nameRE","nativeGetPrototypeOf","TO_STRING","RegExpPrototype","nativeToString","NOT_GENERIC","INCORRECT_NAME","STRING_ITERATOR","fixRegExpWellKnownSymbolLogic","advanceStringIndex","regExpExec","nativeMatch","maybeCallNative","fullUnicode","matchStr","getSubstitution","UNSAFE_SUBSTITUTE","searchValue","replaceValue","replacer","functionalReplace","accumulatedResult","nextSourcePosition","replacerArgs","callRegExpExec","MAX_UINT32","SUPPORTS_Y","SPLIT","nativeSplit","internalSplit","lim","lastLength","lastLastIndex","separatorCopy","splitter","unicodeMatching","$trim","forcedStringTrimMethod","$copyWithin","$every","$fill","fromSpeciesAndList","$findIndex","$find","$includes","ArrayIterators","arrayValues","arrayKeys","arrayEntries","nativeTypedArrayIterator","CORRECT_ITER_NAME","typedArrayValues","$lastIndexOf","$reduceRight","$reduce","middle","$some","$sort","comparefn","beginIndex","$toLocaleString","TO_LOCALE_STRING_BUG","Uint8ArrayPrototype","arrayToString","arrayJoin","IS_NOT_ARRAY_METHOD","createTypedArrayConstructor","DOMIterables","COLLECTION_NAME","Collection","CollectionPrototype","ArrayIteratorMethods","ArrayValues","USE_NATIVE_URL","getIterator","$fetch","Headers","URL_SEARCH_PARAMS","URL_SEARCH_PARAMS_ITERATOR","getInternalParamsState","getInternalIteratorState","plus","sequences","percentSequence","percentDecode","sequence","deserialize","serialize","parseSearchParams","query","updateSearchParams","validateArgumentsLength","passed","URLSearchParamsIterator","URLSearchParamsConstructor","entryIterator","entryNext","updateURL","URLSearchParamsPrototype","getAll","entriesIndex","sliceIndex","fetch","arrayFrom","toASCII","URLSearchParamsModule","NativeURL","getInternalSearchParamsState","getInternalURLState","INVALID_SCHEME","INVALID_HOST","INVALID_PORT","ALPHA","ALPHANUMERIC","DIGIT","HEX_START","OCT","DEC","HEX","FORBIDDEN_HOST_CODE_POINT","FORBIDDEN_HOST_CODE_POINT_EXCLUDING_PERCENT","LEADING_AND_TRAILING_C0_CONTROL_OR_SPACE","TAB_AND_NEW_LINE","parseHost","codePoints","parseIPv6","isSpecial","parseIPv4","percentEncode","C0ControlPercentEncodeSet","partsLength","ipv4","numbersSeen","ipv4Piece","swaps","address","pieceIndex","compress","pointer","serializeHost","ignore0","ipv6","maxIndex","currStart","currLength","findLongestZeroSequence","fragmentPercentEncodeSet","pathPercentEncodeSet","userinfoPercentEncodeSet","specialSchemes","ftp","file","http","https","wss","scheme","includesCredentials","cannotHaveUsernamePasswordPort","cannotBeABaseURL","isWindowsDriveLetter","normalized","startsWithWindowsDriveLetter","third","shortenURLsPath","pathSize","isSingleDot","SCHEME_START","SCHEME","NO_SCHEME","SPECIAL_RELATIVE_OR_AUTHORITY","PATH_OR_AUTHORITY","RELATIVE","RELATIVE_SLASH","SPECIAL_AUTHORITY_SLASHES","SPECIAL_AUTHORITY_IGNORE_SLASHES","AUTHORITY","HOST","HOSTNAME","PORT","FILE","FILE_SLASH","FILE_HOST","PATH_START","PATH","CANNOT_BE_A_BASE_URL_PATH","QUERY","FRAGMENT","parseURL","stateOverride","bufferCodePoints","failure","seenAt","seenBracket","seenPasswordToken","port","fragment","codePoint","encodedCodePoints","URLConstructor","urlString","searchParamsState","serializeURL","getOrigin","protocol","getProtocol","getUsername","getPassword","getHost","hostname","getHostname","getPort","getPathname","getSearch","getSearchParams","getHash","URLPrototype","accessorDescriptor","nativeCreateObjectURL","nativeRevokeObjectURL","__webpack_module_cache__","moduleId","definition","__webpack_exports__","_createForOfIteratorHelper","allowArrayLike","normalCompletion","didErr","_e2","Dropzone","dropzone_dist","Emitter","_callbacks","callbacks","_step","_iterator","makeEvent","CustomEvent","evt","createEvent","initCustomEvent","options_createForOfIteratorHelper","options_arrayLikeToArray","options_unsupportedIterableToArray","src_options","withCredentials","timeout","parallelUploads","uploadMultiple","chunking","forceChunking","chunkSize","parallelChunkUploads","retryChunks","retryChunksLimit","maxFilesize","paramName","createImageThumbnails","maxThumbnailFilesize","thumbnailWidth","thumbnailHeight","thumbnailMethod","resizeWidth","resizeHeight","resizeMimeType","resizeQuality","resizeMethod","filesizeBase","maxFiles","clickable","ignoreHiddenFiles","acceptedFiles","acceptedMimeTypes","autoProcessQueue","autoQueue","addRemoveLinks","previewsContainer","disablePreviews","hiddenInputContainer","renameFilename","renameFile","forceFallback","dictDefaultMessage","dictFallbackMessage","dictFallbackText","dictFileTooBig","dictInvalidFileType","dictResponseError","dictCancelUpload","dictUploadCanceled","dictCancelUploadConfirmation","dictRemoveFile","dictRemoveFileConfirmation","dictMaxFilesExceeded","dictFileSizeUnits","files","dzuuid","upload","uuid","dzchunkindex","dztotalfilesize","dzchunksize","dztotalchunkcount","totalChunkCount","dzchunkbyteoffset","chunksUploaded","messageElement","getElementsByTagName","innerText","getFallbackForm","info","srcX","srcY","srcWidth","srcHeight","srcRatio","trgRatio","trgWidth","trgHeight","transformFile","resizeImage","previewTemplate","dragend","dragenter","dragover","dragleave","paste","addedfile","previewElement","_step2","_iterator2","_step3","_iterator3","filesize","_removeLink","_step4","removeFileEvent","UPLOADING","removeFile","_iterator4","removedfile","_updateMaxFilesReachedClass","thumbnail","dataUrl","_step5","_iterator5","thumbnailElement","_step6","_iterator6","errormultiple","processing","processingmultiple","uploadprogress","bytesSent","_step7","_iterator7","totaluploadprogress","sending","sendingmultiple","success","successmultiple","canceled","emit","canceledmultiple","complete","completemultiple","maxfilesexceeded","maxfilesreached","queuecomplete","addedfiles","dropzone_createForOfIteratorHelper","dropzone_arrayLikeToArray","dropzone_unsupportedIterableToArray","dropzone_classCallCheck","dropzone_defineProperties","dropzone_createClass","_Emitter","clickableElements","dropzone","instances","elementOptions","optionsForElement","isBrowserSupported","getExistingFallback","getElement","getElements","accepted","getFilesWithStatus","QUEUED","ADDED","setupHiddenFileInput","hiddenFileInput","addFile","webkitURL","updateTotalUploadProgress","getAddedFiles","getUploadingFiles","getQueuedFiles","noPropagation","containsFiles","efct","effectAllowed","dropEffect","clickableElement","elementInside","enable","disable","removeAllFiles","totalUploadProgress","totalBytesSent","totalBytes","getActiveFiles","existingFallback","fieldsString","_getParamName","getFallback","elementListeners","cancelUpload","setupEventListeners","selectedSize","selectedUnit","getAcceptedFiles","webkitGetAsEntry","_addFilesFromItems","handleFiles","getAsFile","isDirectory","_addFilesFromDirectory","directory","dirReader","createReader","errorHandler","readEntries","fullPath","isValidFile","uuidv4","_renameFile","_enqueueThumbnail","_errorProcessing","enqueueFile","_step8","_iterator8","processQueue","_this8","_thumbnailQueue","_processThumbnailQueue","_this9","_processingThumbnail","createThumbnail","cancelIfNecessary","_step9","_iterator9","_this10","canvas","resizedDataURL","toDataURL","ExifRestore","restore","dataURL","dataURItoBlob","fixOrientation","_this11","fileReader","createThumbnailFromUrl","mockFile","imageUrl","_this12","resizeThumbnail","_this13","loadExif","EXIF","resizeInfo","ctx","drawImageIOSFix","trgX","trgY","processingLength","queuedFiles","processFiles","processFile","_step10","_iterator10","uploadFiles","_step11","groupedFiles","_getFilesWithXhr","_iterator11","CANCELED","_step12","_iterator12","_groupedFile","_this14","_transformFiles","transformedFiles","transformedFile","chunked","_transformedFile","chunks","handleNextChunk","chunkIndex","dataBlock","webkitSlice","retries","_uploadData","finishedChunkUpload","allFinished","SUCCESS","_finished","dataBlocks","_step13","_this15","_iterator13","resolveOption","_finishedUploading","ontimeout","_handleUploadError","_updateFilesUploadProgress","Accept","headerName","headerValue","formData","FormData","additionalParams","_getChunk","_step14","_iterator14","_file","_addFormElementData","submitRequest","_this16","doneCounter","_loop","_step15","_iterator15","inputName","inputType","hasAttribute","_step16","_iterator16","_file2","loaded","_step17","_iterator17","getResponseHeader","_step18","_iterator18","_step19","_iterator19","ERROR","_i4","_objects","initClass","camelize","forElement","autoDiscover","discover","dropzones","checkElements","_step20","_iterator20","_step21","_iterator21","blockedBrowsers","capableBrowser","blacklistedBrowsers","_step22","_iterator22","dataURI","byteString","mimeString","asc","rejectedItem","els","_step23","_iterator23","_step24","_iterator24","question","rejected","_step25","baseMimeType","_iterator25","validType","jQuery","ACCEPTED","PROCESSING","vertSquashRatio","naturalWidth","naturalHeight","drawImage","getImageData","detectVerticalSquash","KEY_STR","chr1","chr2","chr3","enc1","enc2","enc3","enc4","origFileBase64","resizedFileBase64","rawImage","decode64","slice2Segments","image","exifManipulation","encode64","exifArray","getExifArray","newImageArray","insertExif","seg","imageData","buf","separatePoint","mae","ato","rawImageArray","endPoint","_autoDiscoverFunction","rem","pre","createEventObject","doScroll","frameElement","poll","contentLoaded","createTarget","_createTargetFactory2","_registerTarget2","_createTargetMonitor2","_createTargetConnector2","_implementation2","listCacheClear","listCacheDelete","listCacheGet","listCacheHas","listCacheSet","getDisposable","$isNaN","checkDCE","classNames","appendClass","newClass","src$en$$","hashClear","hashDelete","hashGet","hashHas","hashSet","symObj","cachedModule","hmd","nmd","UNDEFINED","Prototype","strFunction","DynInstFuncTable","DynProxyTag","DynClassName","DynInstChkTag","DynAllowInstChkTag","DynProtoDefaultOptions","UnknownValue","str__Proto","DynProtoBaseProto","DynProtoGlobalSettings","DynProtoCurrent","strUseBaseInst","strSetInstFuncs","Obj","_objGetPrototypeOf","_objGetOwnProps","_gbl","_getGlobal","_gblInst","_hasOwnProperty","_isObjectOrArrayPrototype","_isObjectArrayOrFunctionPrototype","_getObjProto","newProto","curProto","_forEachProp","name_1","_isDynamicCandidate","skipOwn","_throwTypeError","_newObject","_hasVisited","_populatePrototype","baseInstFuncs","setInstanceFunc","_createDynamicPrototype","dynProtoProxy","instFunc","currentDynProtoProxy","instFuncTable","canAddInst","objProto","visited","protoFunc","_getInstFunc","_getProtoFunc","instFuncs_1","_getObjName","unknownValue","dynamicProto","theClass","delegateFunc","classProto","thisTarget","thisProto","_checkPrototype","perfOptions","useBaseInst","instFuncs","_getInstanceFuncs","baseFuncs","_instFuncProxy","funcHost","theFunc","baseProto","_getBaseFuncs","strShimFunction","strShimObject","strShimUndefined","strShimPrototype","strShimHasOwnProperty","ObjClass","ObjProto","ObjAssign","ObjCreate","ObjDefineProperty","ObjHasOwnProperty","_cachedGlobal","getGlobal","useCached","objCreateFn","tmpFunc","__assignFn","extendStaticsFn","_DYN_NAME","_DYN_IDENTIFIER","_DYN_PUSH","_DYN_IS_INITIALIZED","_DYN_CONFIG","_DYN_LOGGER","_DYN_LENGTH","_DYN_TIME","_DYN_PROCESS_NEXT","_DYN_GET_PLUGIN","_DYN_SPLICE","_DYN_TEARDOWN","_DYN_MESSAGE_ID","_DYN_MESSAGE","_DYN_IS_ASYNC","_DYN__DO_TEARDOWN","_DYN_UPDATE","_DYN_GET_NEXT","_DYN_DIAG_LOG","_DYN_SET_NEXT_PLUGIN","_DYN_CREATE_NEW","_DYN_COOKIE_CFG","_DYN_INDEX_OF","_DYN_SUBSTRING","_DYN_USER_AGENT","_DYN_SPLIT","_DYN_SET_ENABLED","_DYN_SUBSTR","_DYN_NODE_TYPE","_DYN_APPLY","_DYN_REPLACE","_DYN_ENABLE_DEBUG_EXCEPTI4","_DYN_TO_LOWER_CASE","_DYN_CALL","_DYN_TYPE","_DYN_HANDLER","_DYN_IS_CHILD_EVT","_DYN_GET_CTX","_DYN_SET_CTX","_DYN_COMPLETE","STR_EMPTY","STR_CORE","STR_DISABLED","STR_EXTENSION_CONFIG","STR_PROCESS_TELEMETRY","STR_PRIORITY","STR_PERF_EVENT","STR_ERROR_TO_CONSOLE","STR_WARN_TO_CONSOLE","STR_GET_PERF_MGR","strToISOString","cStrEndsWith","cStrStartsWith","cStrTrim","strToString","strConstructor","_objDefineProperty","_objFreeze","freeze","_objKeys","seal","StringProto","_strTrim","_strEndsWith","_dataToISOString","_objToString","_fnToString","_objFunctionString","rCamelCase","rNormalizeInvalid","rLeadingNumeric","isNullOrUndefined","isNotNullOrUndefined","normalizeJsName","_all","objForEachKey","strEndsWith","searchLen","valLen","_strEndsWithPoly","strContains","_toISOStringPoly","arrForEach","idx","arrMap","strTrim","_objKeysHasDontEnumBug","_objKeysDontEnums","objType","dontEnumsLength","objDefineAccessors","getProp","setProp","_doNothing","deepFreeze","objFreeze","getExceptionName","valChk","srcChk","theValue","getCfgValue","isTruthy","throwError","_createProxyFunction","srcFunc","originalArguments","proxyFunctionAs","overwriteTarget","objExtend","obj1","obj2","obj3","obj4","obj5","obj6","theArgs","extended","isArgArray","isArgObj","isNewArray","_DYN_TO_STRING","_DYN_REMOVE_ITEM","_DYN_STRINGIFY","_DYN_PATHNAME","_DYN_EXCEPTIONS","_DYN_PARSED_STACK","_DYN_PROPERTIES","_DYN_MEASUREMENTS","_DYN_SIZE_IN_BYTES","_DYN_TYPE_NAME","_DYN_SEVERITY_LEVEL","_DYN_PROBLEM_GROUP","_DYN_IS_MANUAL","_DYN__CREATE_FROM_INTERFA1","_DYN_ASSEMBLY","_DYN_FILE_NAME","_DYN_HAS_FULL_STACK","_DYN_LEVEL","_DYN_METHOD","_DYN_LINE","_DYN_DURATION","_DYN_RECEIVED_RESPONSE","stringToBoolOrDefault","msToTimeSpan","totalms","sec","isCrossOriginError","lineNumber","columnNumber","strWindow","strJSON","strMsie","strTrident","_isTrident","_navUserAgentCheck","_enableMocks","getGlobalInst","gbl","hasWindow","getDocument","hasNavigator","getNavigator","hasHistory","getLocation","checkForMock","mockLocation","getPerformance","hasJSON","getJSON","isIE","nav","dumpObj","objectTypeDump","propertyValueDump","_aiNamespace","getDebugExt","disableDbgExt","_getExtensionNamespace","_sanitizeDiagnosticText","_logToConsole","theConsole","logFunc","_InternalLogMessage","msgId","isUserAct","_self","strProps","diagnosticText","dataType","safeGetLogger","core","DiagnosticLogger","_loggingLevelConsole","_loggingLevelTelemetry","_maxInternalMessageLimit","_enableDebug","_messageCount","_messageLogged","_logInternalMessage","severity","logMessage","messageKey","_debugExtMsg","throttleLimitMessage","throttleMessage","dbgExt","loggingLevelConsole","loggingLevelTelemetry","maxMessageLimit","enableDebug","_setDefaultsFromConfig","consoleLoggingLevel","telemetryLoggingLevel","maxInternalMessageLimit","throwInternal","resetInternalMessageCount","_getLogger","logger","_throwInternal","_warnToConsole","createEnumStyle","enumClass","StorageType","LocalStorage","SessionStorage","_canUseLocalStorage","AI","AI_AND_W3C","W3C","_canUseSessionStorage","_storagePrefix","_getVerifiedStorageObject","storageType","storage","setItem","fail","exception","_getSessionStorageObject","utlCanUseSessionStorage","utlDisableStorage","utlCanUseLocalStorage","utlGetSessionStorage","utlSetSessionStorage","utlRemoveSessionStorage","PropertiesPluginIdentifier","strNotSpecified","strIkey","dataSanitizeKeyAndAddUniqueness","origLength","dataSanitizeKey","uniqueField","dsPadNumber","nameTrunc","dataSanitizeString","valueTrunc","dataSanitizeUrl","dataSanitizeInput","dataSanitizeMessage","messageTrunc","dataSanitizeException","exceptionTrunc","dataSanitizeProperties","tempProps_1","dataSanitizeMeasurements","measurements","tempMeasurements_1","measure","dataSanitizeId","_msgId","inputTrunc","MAX_NAME_LENGTH","MAX_ID_LENGTH","MAX_PROPERTY_LENGTH","MAX_STRING_LENGTH","MAX_URL_LENGTH","MAX_MESSAGE_LENGTH","MAX_EXCEPTION_LENGTH","sanitizeKey","sanitizeString","sanitizeUrl","sanitizeMessage","sanitizeId","sanitizeInput","padNumber","createTelemetryItem","envelopeName","customProperties","systemProperties","iKey","telemetryItem","ext","tags","baseData","TelemetryItemCreator","Event","aiDataContract","ver","envelopeType","Trace","severityLevel","DataPoint","stdDev","Metric","metrics","dataPoint","PageView","durationMs","PageViewPerformance","unused","cs4BaseData","perfTotal","networkConnect","sentRequest","receivedResponse","domProcessing","strError","strStack","strStackDetails","strErrorSrc","strMessage","strDescription","_stringify","convertToString","_formatMessage","theEvent","errorType","evtMessage","_isStackDetails","_convertStackObj","errorStack","_getStackFromErrorObj","errorObj","errorMessage","_getOperaStack","_getErrorType","_formatErrorCode","Exception","exceptions","_isExceptionInternal","_ExceptionDetails","CreateAutoException","errorSrc","stackDetails","CreateFromInterface","toInterface","problemGroup","isManual","exceptionDetailsInterface","CreateSimpleException","assembly","formatError","outerId","hasFullStack","parsedStack","_isExceptionDetailsInternal","frames","level_1","totalSizeInBytes_1","theFrame","_StackFrame","parsedFrame","acceptedLeft","acceptedRight","howMany","_parseStack","_formatStackTrace","sourceFrame","sizeInBytes","baseSize","strToGMTString","strToUTCString","strCookie","strExpires","strEnabled","strIsCookieUseDisabled","strDisableCookiesUsage","strConfigCookieMgr","_supportsCookies","_allowUaSameSite","_parsedCookieValue","_doc","_cookieCache","_globalCookieConfig","_gblCookieMgr","inst","createCookieMgr","_isMgrEnabled","cookieMgr","isEnabled","_isIgnoredCookie","cookieMgrCfg","ignoreCookies","rootConfig","cookieMgrConfig","cookieDomain","cookiePath","cookieEnabled","_createCookieMgrConfig","_path","_domain","_enabled","enabled","areCookiesSupported","gblManager","maxAgeSec","blockedCookies","_isBlockedCookie","_extractParts","_isIE","expireMs","expiry","_formatDate","location_1","uaDisallowsSameSiteNone","setCookie","_setCookieValue","_formatCookieValue","getCookie","_getCookieValue","del","purge","delCookie","thePart","theDate","cookieValue","theCookie","UInt32Mask","MaxUInt32","_mwcSeeded","_mwcW","_mwcZ","_mwcSeed","seedValue","_autoSeedMwc","random32","signed","getRandomValues","mwcRandom32","newId","instanceName","_dataUid","_canAcceptData","_getCache","theCache","_createAccessor","createUniqueNamespace","includeVersion","createElmNodeData","defValue","addDefault","kill","strAttachEvent","strAddEventHelper","strDetachEvent","strRemoveEventListener","strEvents","rRemoveEmptyNs","rRemoveTrailingEmptyNs","_guid","elmNodeData","eventNamespace","_normalizeNamespace","_getEvtNamespace","evtNamespace","theNamespace_1","parsedEvent","_getRegisteredEvents","evtName","aiEvts","registeredEvents","_doDetach","handlerRef","_doUnregister","unRegFn","mergeEvtNamespace","theNamespace","namespaces","eventOn","_doAttach","registeredEvent","guid","eventOff","evtName_1","found_1","eventCache","evtType","_unregisterEvents","regEvent","generateW3CId","hexValues","clockSequenceHi","INVALID_TRACE_ID","INVALID_SPAN_ID","invalidValue","isValidTraceId","isValidSpanId","createDomEvent","initEvent","mapClass","createValueMap","requestContextHeader","requestContextTargetKey","requestContextAppIdFormat","requestIdHeader","traceParentHeader","traceStateHeader","sdkContextHeader","sdkContextHeaderAppIdRequest","requestContextHeaderLowerCase","_document","_htmlAnchorIdx","_htmlAnchorElement","urlParseUrl","anchorIdx","anchorCache","tempAnchor","urlParseHost","inclPort","fullHost","urlParseFullHost","dateTimeUtilsDuration","RemoteDependencyData","absoluteUrl","commandName","resultCode","requestAPI","correlationContext","dependencyKind","dependencySource","dependencyTypeName","dependencyFields","parsedUrl","pathName","AjaxHelperParseDependencyPath","strExecutionContextKey","strParentContextKey","strChildrenContextKey","PerfEvent","payloadDetails","isAsync","theDetails_1","accessorDefined","childTime","childEvts","childEvt","exTime","ParentContextKey","ChildrenContextKey","doPerfActiveKey","PerfManager","fire","perfEvent","pluginStateData","_getPluginState","plugin","strTelemetryPluginChain","strHasRunFlags","strGetTelCtx","_chainId","_createInternalContext","telemetryChain","startAt","_nextProxy","_onComplete","proxy","createTelemetryProxyChain","_getNextProxyStart","_next","nextProxy","onComplete","completeDetails","diagLog","getCfg","getExtCfg","_getExtCfg","getConfig","extConfig","hasNext","getNext","setNext","nextPlugin","iterate","mergeDefault","theConfig","newConfig_1","cfgValue","createProcessTelemetryContext","internalContext","env","plugins","createProcessTelemetryUnloadContext","unloadState","unload","createProcessTelemetryUpdateContext","updateState","firstProxy","lastProxy_1","thePlugin","newProxy","chainId","hasProcessTelemetry","hasSetNext","proxyChain","getPlugin","processTelemetry","_processTelemetry","_unloadPlugin","_updatePlugin","_id","_setNext","_getTelCtx","itemCtx","_processChain","processPluginFn","hasRun","hasRunContext","mgrSource","perfMgr","perfEvt","currentActive","doPerf","nextId","hasNextRun","_callProcessTelemetry","pluginState","sync","unloadCtx","_callTeardown","pluginCore","updateCtx","_callUpdate","createTelemetryPluginProxy","aiInstrumentHooks","cbNames","_arrLoop","_doCallbacks","callDetails","cbArgs","hookCtx","cbks","orgEx","hookErrorCb","_getOwner","checkPrototype","checkParentProto","owner","_createInstrumentHook","aiHook","newFunc","orgArgs","funcArgs","_createArgs","rslt","_createFunctionHook","theHook","rm","InstrumentEvent","strGetPlugin","BaseTelemetryPlugin","_isinitialized","_rootCtx","_nextPlugin","_unloadHandlerContainer","_hooks","currentCtx","rootCtx","_setDefaults","pluginChain","_initDefaults","run","createUnloadHandlerContainer","extensions","unloadDone","theUnloadCtx","theUnloadState","_unloadCallback","oldHooks","updateDone","theUpdateCtx","theUpdateState","_doUpdate","_updateCallback","_addHook","setInitialized","isInitialized","_DYN_DISABLE_EXCEPTION_TR0","_DYN_AUTO_TRACK_PAGE_VISI1","_DYN_OVERRIDE_PAGE_VIEW_D2","_DYN_ENABLE_UNHANDLED_PRO3","_DYN_SAMPLING_PERCENTAGE","_DYN_IS_STORAGE_USE_DISAB4","_DYN_IS_BROWSER_LINK_TRAC5","_DYN_ENABLE_AUTO_ROUTE_TR6","_DYN_NAME_PREFIX","_DYN_DISABLE_FLUSH_ON_BEF7","_DYN_CORE","_DYN_DATA_TYPE","_DYN_ENVELOPE_TYPE","_DYN_TRACK","_DYN_TRACK_PAGE_VIEW","_DYN_TRACK_PREVIOUS_PAGE_9","_DYN_SEND_PAGE_VIEW_INTER10","_DYN_SEND_PAGE_VIEW_PERFO11","_DYN_POPULATE_PAGE_VIEW_P12","_DYN_HREF","_DYN_SEND_EXCEPTION_INTER13","_DYN_EXCEPTION","_DYN_ERROR","_DYN__ONERROR","_DYN_ERROR_SRC","_DYN_LINE_NUMBER","_DYN_COLUMN_NUMBER","_DYN__CREATE_AUTO_EXCEPTI14","_DYN_ADD_TELEMETRY_INITIA15","_DYN_IS_PERFORMANCE_TIMIN16","_DYN_GET_PERFORMANCE_TIMI17","_DYN_NAVIGATION_START","_DYN_SHOULD_COLLECT_DURAT18","_DYN_IS_PERFORMANCE_TIMIN19","_DYN_RESPONSE_START","_DYN_LOAD_EVENT_END","_DYN_RESPONSE_END","_DYN_CONNECT_END","_DYN_PAGE_VISIT_START_TIM20","_isWebWorker","PageViewManager","appInsights","overridePageViewDuration","pageViewPerformanceManager","_logger","queueTimer","itemQueue","pageViewPerformanceSent","_flushChannels","_startTimer","allItems","doFlush","_addQueue","pageView","uri","WorkerGlobalScope","isWebWorker","customDuration","pageViewSent","processed","pageViewPerformance","botAgentNames","_isPerformanceTimingSupported","perf","timing","_isPerformanceTimingDataReady","domainLookupStart","domLoading","_getPerformanceTiming","_getPerformanceNavigationTiming","getEntriesByType","_isPerformanceNavigationTimingSupported","_shouldCollectDuration","durations","isGoogleBot","PageViewPerformanceManager","navigationTiming","network","requestStart","responseEnd","PageVisitTimeManager","pageVisitTimeTrackingHandler","prevPageVisitDataKeyName","currentPageName","currentPageUrl","prevPageVisitTimeData","pageName","pageUrl","prevPageVisitData","pageVisitEndTime","pageVisitDataJsonStr","pageVisitTime","stopPageVisitTimer","currPageVisitData","PageVisitData","currPageVisitDataStr","startPageVisitTimer","restartPageVisitTimer","Timing","_events","_dispatchEvent","evnt","_configMilliseconds","_getDefaultConfig","sessionRenewalMs","sessionExpirationMs","disableFlushOnUnload","_updateStorageUsage","AnalyticsPlugin","_eventTracking","_pageTracking","_pageViewManager","_pageViewPerformanceManager","_pageVisitTimeManager","_preInitTelemetryInitializers","_isBrowserLinkTrackingEnabled","_browserLinkInitializerAdded","_enableAutoRouteTracking","_historyListenerAdded","_disableExceptionTracking","_autoExceptionInstrumented","_enableUnhandledPromiseRejectionTracking","_autoUnhandledPromiseInstrumented","autoRoutePVDelay","_prevUri","_currUri","_evtNamespace","_base","getCookieMgr","cookieCfg","safeGetCookieMgr","processNext","trackEvent","EventTelemetry","startTrackEvent","stopTrackEvent","trackTrace","trackMetric","metric","inPv","refUri","referrer","trackPageViewPerformance","inPvp","startTrackPage","stopTrackPage","measurement","theError","trackException","_window","_sendCORSException","errorString","telemetryInitializer","initialize","storagePrefix","_populateDefaults","PageName","PageUrl","average","sampleCount","trackPageVisitTime","browserLinkPaths_1","dropBrowserLinkRequests","envelope","remoteData","_addDefaultTelemetryInitializers","_updateBrowserLinkTracking","pageViewItem","locn","autoExceptionInstrumented","rsp","_location","_getReason","autoUnhandledPromiseInstrumented","_addUnhandledPromiseRejectionTracking","_updateExceptionTracking","_history","strUndefined","namePrefix","_popstateHandler","_locationChangeHandler","distributedTraceCtx","getTraceCtx","telemetryTrace","parentCtx","getName","setName","getTraceId","traceID","setTraceId","getSpanId","parentID","setSpanId","getTraceFlags","traceFlags","setTraceFlags","newTraceFlags","createDistributedTraceContextFromTrace","_getDistributedTraceCtx","traceLocationName","_addHistoryListener","_updateLocationChange","_doTeardown","Version","getDefaultConfig","__extendsFn","DisabledPropertyName","SampleRate","ProcessLegacy","HttpMethod","DEFAULT_BREEZE_ENDPOINT","DEFAULT_BREEZE_PATH","strIndexOf","optimizeObject","theObject","strXMLHttpRequest","_useXDomainRequest","_beaconsSupported","_hasProperty","supported","getIEVersion","userAgentStr","navigator_1","tridentVer","isBeaconsSupported","sendBeacon","isFetchSupported","withKeepAlive","isSupported","useXDomainRequest","isXhrSupported","RequestHeaders","_internalEndpoints","isInternalApplicationInsightsEndpoint","endpointUrl","_aiNameFunc","baseName","aiName","_aiApplication","_aiDevice","_aiLocation","_aiOperation","_aiSession","_aiUser","_aiCloud","_aiInternal","ContextTagKeys","applicationVersion","applicationBuild","applicationTypeId","applicationId","applicationLayer","deviceId","deviceIp","deviceLanguage","deviceLocale","deviceModel","deviceFriendlyName","deviceNetwork","deviceNetworkName","deviceOEMName","deviceOS","deviceOSVersion","deviceRoleInstance","deviceRoleName","deviceScreenResolution","deviceType","deviceMachineName","deviceVMName","deviceBrowser","deviceBrowserVersion","locationIp","locationCountry","locationProvince","locationCity","operationId","operationName","operationParentId","operationRootId","operationSyntheticSource","operationCorrelationVector","sessionId","sessionIsFirst","sessionIsNew","userAccountAcquisitionDate","userAccountId","userId","userStoreRegion","userAuthUserId","userAnonymousUserAcquisitionDate","userAuthenticatedUserAcquisitionDate","cloudName","cloudRole","cloudRoleVer","cloudRoleInstance","cloudEnvironment","cloudLocation","cloudDeploymentUnit","internalNodeName","internalSdkVersion","internalAgentVersion","internalSnippet","internalSdkSrc","_this_1","CtxTagKeys","Envelope","sampleRate","Data","STR_DURATION","_DYN_TAGS","_DYN_DEVICE_TYPE","_DYN_DATA","_DYN_TRACE_ID","_DYN_ON_LINE","_DYN_IS_ONLINE","_DYN_ENQUEUE","_DYN_COUNT","_DYN_EVENTS_LIMIT_IN_MEM","_DYN_EMIT_LINE_DELIMITED_0","_DYN_CLEAR","_DYN_BATCH_PAYLOADS","_DYN_MARK_AS_SENT","_DYN_CLEAR_SENT","_DYN_BUFFER_OVERRIDE","_DYN__BUFFER__KEY","_DYN__SENT__BUFFER__KEY","_DYN__MAX__BUFFER__SIZE","_DYN_MAX_BATCH_SIZE_IN_BY1","_DYN_TRIGGER_SEND","_DYN_ONUNLOAD_DISABLE_BEA2","_DYN_IS_BEACON_API_DISABL3","_DYN__SENDER","_DYN__SENDER_CONFIG","_DYN_ENABLE_SESSION_STORA4","_DYN__BUFFER","_DYN_INSTRUMENTATION_KEY","_DYN_ENDPOINT_URL","_DYN_CUSTOM_HEADERS","_DYN_DISABLE_XHR","_DYN_ONUNLOAD_DISABLE_FET5","_DYN_DISABLE_TELEMETRY","_DYN_BASE_TYPE","_DYN_SAMPLE_RATE","_DYN_CONVERT_UNDEFINED","_DYN__ON_ERROR","_DYN__ON_PARTIAL_SUCCESS","_DYN__ON_SUCCESS","_DYN_ITEMS_ACCEPTED","_DYN_IS_RETRY_DISABLED","_DYN_SET_REQUEST_HEADER","_DYN_MAX_BATCH_INTERVAL","_DYN_EVENTS_SEND_REQUEST","_DYN_DISABLE_INSTRUMENTAT7","_DYN_GET_SAMPLING_SCORE","strBaseType","strBaseData","strProperties","strTrue","_setValueIf","_extractPropsAndMeasurements","_convertPropsUndefinedToCustomDefinedValue","customUndefinedValue","_createEnvelope","iKeyNoDashes","envTags","itmExt","itmTags","extUser","user","authId","localId","extApp","app","sesId","extDevice","device","deviceClass","ip","web","browserLang","browserVer","browser","envData","envBaseData","envProps","screenRes","userConsent","extOs","os","extTrace","tgs","theTags","EnvelopeCreator","_extractPartAExtensions","EnvelopeCreatorInit","EventEnvelopeCreator","customMeasurements","eventData","_disableEvents","BaseSendBuffer","_buffer","_bufferFullMessageSent","_get","_set","getItems","ArraySendBuffer","SessionStorageSendBuffer","bufferItems","_getBuffer","notDeliveredItems","_removePayloadsFromBuffer","payloads","prefixedKey","bufferJson","buffer_1","_setBuffer","sentElements","BUFFER_KEY","SENT_BUFFER_KEY","MAX_BUFFER_SIZE","Serializer","_serializeObject","circularReferenceCheck","_serializeStringMap","_serializeArray","contract","isPresent","isObj","expectedType","HashCodeScoreGenerator","getHashCodeScore","getHashCode","INT_MAX_VALUE","SamplingScoreGenerator","hashCodeGenerator","Sample","samplingRate","samplingScoreGenerator","isSampledIn","samplingPercentage","_getResponseText","_getDefaultAppInsightsChannelConfig","retryCodes","EnvelopeTypeCreator","currentContextId","pageType","isLoggedIn","pageViewData","exData","baseMetricData","remoteDepData","responseCode","Sender","_consecutiveErrors","_retryAt","_paused","_timeoutHandle","_serializer","_stamp_specific_redirects","_headers","_senderConfig","_fallbackSender","_syncUnloadSender","_offlineListener","_retryCodes","_syncFetchPayload","_checkResponsStatus","responseUrl","countOfItemsInPayload","_appId","_parseResponse","appId","_checkAndUpdateEndPointUrl","_isRetriable","_resendPayload","isOnline","_doUnloadSend","_beaconSender","_doBeaconSend","batch","plainTextBatch","queued","_onSuccess","droppedPayload","thePayload","_xhrSender","endPointUrl","_xhrReadyStateChange","_formatErrorMessageXhr","_fetchKeepAliveSender","payloadSize","_doFetchSender","_fetchSender","requestHeaders","batchLength","ignoreResponse","responseHandled","keepalive","Request","statusText","itemsReceived","itemsAccepted","linearFactor","payload_1","delayInSeconds","SlotDelayInSeconds","backOffSlot","backOffDelay","retryAfterTimeSpan","_setRetryTime","_setupTimer","retryInterval","timerValue","_clearScheduledTimer","statusCode","_xdrSender","xdr","_xdrOnLoad","_formatErrorMessageXdr","hostingProtocol","_sample","pause","callBack","sendReason","onunloadFlush","addHeader","parentEvtNamespace","_navigator","_isListening","_onlineStatus","_enableEvents","ononline","_setOnline","_setOffline","isListening","createOfflineListener","useSessionStorage","disableIKeyValidationFlag","_validateInstrumentationKey","customHeaders","customHeader","senderConfig","sendPostFunc","diagLogger","convertUndefined","defaultEnvelopeIkey","aiEnvelope_1","constructEnvelope","doNotSendItem_1","responseURL","forcedSender","sendRequest","_getNotifyMgr","_notifySendRequest","ieVer","failed","retry","errors_1","extracted","orig","_DYN_INITIALIZE","_DYN_GET_NOTIFY_MGR","_DYN_GET_PROCESS_TEL_CONT0","_DYN_ADD_NOTIFICATION_LIS1","_DYN_REMOVE_NOTIFICATION_2","_DYN_STOP_POLLING_INTERNA3","_DYN_ON_COMPLETE","_DYN_FLUSH","_DYN__EXTENSIONS","_DYN_LISTENERS","_DYN_SPAN_ID","_DYN_TRACE_FLAGS","STR_CHANNELS","STR_CREATE_PERF_MGR","STR_EVENTS_SENT","STR_EVENTS_DISCARDED","STR_EVENTS_SEND_REQUEST","strReduce","arrReduce","getSetValue","proxyFunctions","functionsToProxy","theFuncName","hasDocument","_debugListener","listenerFuncs","_listenerProxyFunc","strVisibilityChangeEvt","strPageHide","strUnload","strBeforeUnload","strPageHideNamespace","addEventHandler","_addEventListeners","excludeEvents","added","removeEventHandler","addPageUnloadEventListener","addEventListeners","addPageHideEventListener","newNamespaces","pageUnloadAdded","visibilityState","_DYN_INGESTIONENDPOINT","_DYN_EXTENSION_CONFIG","parseConnectionString","connectionString","kv","kvParts","endpointsuffix","locationPrefix","__spreadArrayFn","Verbose","Information","Warning","Critical","ConfigurationManager","configValue","createClassFromInterface","_defaultPerfManager","initializePlugins","processContext","initPlugins","lastPlugin","sortPlugins","extA","extB","bHasProcess","ChannelControllerPriority","_addChannelQueue","channelQueue","queueItem","TelemetryInitializerPlugin","_initializers","addTelemetryInitializer","theInitializer","doNotSendItem","telemetryInitializersCount","strValidationError","strNotificationManager","strSdkUnloadingError","defaultInitConfig","_createPerfManager","notificationMgr","_validateExtensions","channelPriority","allExtensions","coreExtensions","extPriorities","extPriority","all","_isPluginPresent","exists","BaseCore","_isInitialized","_eventQueue","_notificationManager","_perfManager","_cfgPerfManager","_cookieManager","_pluginChain","_configExtensions","_coreExtensions","_channelControl","_channelConfig","_channelQueue","_isUnloading","_telemetryInitializerPlugin","_internalLogsEventName","_unloadHandlers","_traceCtx","_internalLogPoller","_forceStopInternalLogPoller","_startInternalLogTimer","alwaysStart","diagnosticLogInterval","_flushInternalLogs","_createTelCtx","theCtx","_getPluginChain","_initPluginChain","theExtensions","channels","extensionQueue_1","createChannelQueues","_setQueue","_processChannelQueue","theChannels","processFn","waiting","_runChainOnComplete","channelChain","chainCtx","channelController","getChannel","pluginIdentifier","cbTimeout","doneIterating","cbTimer","doCallback","handled_1","createChannelControllerPlugin","_updateHook","_getPlugin","theExt","removeCb","pluginsToRemove","_removePlugins","removed","thePlugins","removeComplete","newConfigExtensions","newChannelConfig","newQueue","_logOrThrowError","notificationManager","getDebugListener","_initDebugListener","enablePerfMgr","_initPerfManager","NotificationManager","cfgExtensions","releaseQueue","getTransmissionControls","_createDummyNotificationManager","setCookieMgr","createPerfMgr","setPerfMgr","eventCnt","eventQueue","pollInternalLogs","unloadComplete","flushComplete","processUnloadCtx","_doUnload","addPlugin","replaceExisting","addCb","existingPlugin","_addPlugin","removedPlugins_1","createNew","createDistributedTraceContext","setTraceCtx","traceCtx","_runListeners","perfEvtsSendAll","AppInsightsCore","_notifyInvalidEvent","_validateTelemetryItem","_DYN_VERSION","DEFAULT_VERSION","INVALID_VERSION","_formatValue","_formatFlags","createTraceParent","traceId","spanId","formatTraceParent","_DYN_CORRELATION_HEADER_E0","urlGetAbsoluteUrl","urlGetCompleteUrl","CorrelationIdHelper","correlationIdPrefix","canIncludeCorrelationHeader","requestUrl","currentHost","disableCorrelationHeaders","correlationHeaderExcludePatterns","requestHost","enableCorsCorrelation","matchExists_1","includedDomains","correlationHeaderDomains","excludedDomains","correlationHeaderExcludedDomains","getCorrelationContext","responseHeader","correlationId","getCorrelationContextValue","dateTimeUtilsNow","navigationStart","InstrumentFunc","STR_PROPERTIES","_DYN_REQUEST_URL","_DYN_INST","_DYN_CONTEXT","_DYN_ABORTED","_DYN_TRACE_ID0","_DYN_SPAN_ID1","_DYN_INCLUDE_CORRELATION_2","_DYN_CAN_INCLUDE_CORRELAT3","_DYN_GET_ABSOLUTE_URL","_DYN_HEADERS","_DYN_REQUEST_HEADERS","_DYN_APP_ID","_DYN_TRACK_DEPENDENCY_DAT4","_DYN_DISTRIBUTED_TRACING_5","_DYN_START_TIME","_DYN_ENABLE_REQUEST_HEADE6","_DYN_ENABLE_AJAX_ERROR_ST7","_DYN_ENABLE_AJAX_PERF_TRA8","_DYN_MAX_AJAX_CALLS_PER_V9","_DYN_ENABLE_RESPONSE_HEAD10","_DYN_EXCLUDE_REQUEST_FROM11","_DYN_ADD_REQUEST_CONTEXT","_DYN_DISABLE_AJAX_TRACKIN12","_DYN_DISABLE_FETCH_TRACKI13","_DYN_STATUS","_DYN_STATUS_TEXT","_DYN_HEADER_MAP","_DYN_OPEN_DONE","_DYN_SEND_DONE","_DYN_REQUEST_SENT_TIME","_DYN_ABORT_DONE","_DYN_GET_TRACE_ID","_DYN_GET_TRACE_FLAGS","_DYN_ERROR_STATUS_TEXT","_DYN_STATE_CHANGE_ATTACHE14","_DYN_RESPONSE_FINISHED_TI15","_DYN__CREATE_TRACK_ITEM","_DYN_RESPONSE","_DYN_GET_ALL_RESPONSE_HEA16","_DYN_GET_PART_APROPS","_DYN_GET_CORRELATION_CONT17","_DYN_PERF_MARK","_DYN_PERF_TIMING","_DYN_AJAX_TOTAL_DURATION","_DYN_EVENT_TRACE_CTX","Extensions","_calcPerfDuration","resourceEntry","_setPerfDuration","_setPerfValue","strPerf","XHRMonitoringState","setRequestHeaderDone","ajaxRecord","completed","requestHeadersSize","responseReceivingDuration","callbackDuration","requestSize","responseStartedTime","callbackFinishedTime","endTime","xhrMonitoringState","clientFailure","getAbsoluteUrl","getPathName","ajaxType","enableRequestHeaderTracking","getResponse","ajaxTotalDuration","requestSentTime","responseFinishedTime","dependency","ajaxData","propsSet","strName","strStart","strEnd","strDomainLookup","strConnect","strRedirect","strRequest","strResponse","strStartTime","strDomainLookupStart","strDomainLookupEnd","strConnectStart","strConnectEnd","strRequestStart","strRequestEnd","strResponseStart","strResponseEnd","strRedirectStart","strRedirectEnd","strTransferSize","strEncodedBodySize","strDecodedBodySize","strServerTiming","serverTiming","server_1","perfAttempts","_populatePerfData","headerMap","responseHeaders","partA","traceExt","AJAX_MONITOR_PREFIX","strDiagLog","AJAX_DATA_CONTAINER","STR_FETCH","ERROR_HEADER","ERROR_PREFIX","ERROR_POSTFIX","ERROR_NOT_SENT","CORRELATION_HEADER_ERROR","CUSTOM_REQUEST_CONTEXT_ERROR","FAILED_TO_CALCULATE_DURATION_ERROR","_markCount","_getAjaxData","ajaxDataId","_isHeaderSet","_getFailedAjaxDiagnosticsMessage","_throwInternalCritical","ajaxMonitorInstance","_throwInternalWarning","_createErrorCallbackFunc","internalMessage","ajaxDiagnosticsMessage","_ajaxDataId","_indexOf","_addHandler","theHandler","_processDependencyContainer","BLOB_CORE","DfltAjaxCorrelationHeaderExDomains","_internalExcludeEndpoints","maxAjaxCallsPerView","disableAjaxTracking","disableFetchTracking","excludeRequestFromAutoTrackingPatterns","distributedTracingMode","enableResponseHeaderTracking","enableAjaxErrorStatusText","enableAjaxPerfTracking","maxAjaxPerfLookupAttempts","ajaxPerfLookupDelay","ignoreHeaders","addRequestContext","addIntEndpoints","_getEmptyConfig","emptyConfig","AjaxMonitor","_fetchInitialized","_xhrInitialized","_currentWindowHost","_enableRequestHeaderTracking","_enableAjaxErrorStatusText","_trackAjaxAttempts","_isUsingW3CHeaders","_isUsingAIHeaders","_markPrefix","_enableAjaxPerfTracking","_maxAjaxCallsPerView","_enableResponseHeaderTracking","_disabledUrls","_disableAjaxTracking","_disableFetchTracking","_excludeRequestFromAutoTrackingPatterns","_addRequestContext","_dependencyHandlerId","_dependencyListeners","_dependencyInitializers","getEmptyConfig","_canIncludeHeaders","rlt","_hookProto","InstrumentProto","_isDisabledRequest","theUrl","theRegex","idx2","_isMonitoredXhrInstance","excludeAjaxDataValidation","ajaxValidation","initialized","_getAjaxCorrelationContext","responseHeadersString","_createMarkId","performance_1","mark","markId","getEntriesByName","_findPerfResourceEntry","initiatorType","trackCallback","perfMark","maxAttempts","retryDelay","locateResourceTiming","perfTiming","getEntries","entryType","clearMarks","_getFailedFetchDiagnosticsMessage","_reportFetchMetrics","_reportFetchError","failedProps","errorProps","sysProperties","_reportDependencyInternal","_getFetchCorrelationContext","fetchDiagnosticsMessage","initializers","aborted","instrumentationKey","strPrototype","xhrData","theOpen","_supportsAjaxMonitoring","req","spanID","xhrRequestData","ajaxDataCntr","_openHandler","_reportXhrError","ajaxResponse","responseHeaderMap_2","_onAjaxComplete","exceptionText","_attachToOnReadyStateChange","hkErr","_addSharedXhrHeaders","_global","_supportsFetch","isPolyfill","fetchData","_createFetchRecord","newInit","fetchData_1","responseHeaderMap_1","_instrumentFetch","propExt","_populateContext","trackDependencyData","currentWindowHost","_processDependencyListeners","traceParent","addDependencyListener","dependencyListener","addDependencyInitializer","dependencyInitializer","BreezeChannelIdentifier","_DYN_LOG_INTERNAL_MESSAGE","_getLocalStorageObject","utlGetLocalStorage","utlSetLocalStorage","utlRemoveStorage","Application","Device","_DYN_SESSION_MANAGER","_DYN_IS_USER_COOKIE_SET","_DYN_IS_NEW_USER","_DYN_GET_TRACE_CTX","_DYN_TELEMETRY_TRACE","_DYN_APPLY_SESSION_CONTEX0","_DYN_APPLY_APPLICATION_CO1","_DYN_APPLY_DEVICE_CONTEXT","_DYN_APPLY_OPERATION_CONT2","_DYN_APPLY_USER_CONTEXT","_DYN_APPLY_OPERATING_SYST3","_DYN_APPLY_LOCATION_CONTE4","_DYN_APPLY_INTERNAL_CONTE5","_DYN_ACCOUNT_ID","_DYN_SDK_EXTENSION","_DYN_GET_SESSION_ID","_DYN_SESSION_COOKIE_POSTF6","_DYN_USER_COOKIE_POSTFIX","_DYN_ID_LENGTH","_DYN_GET_NEW_ID","_DYN_AUTOMATIC_SESSION","_DYN_AUTHENTICATED_ID","_DYN_SESSION_EXPIRATION_M7","_DYN_SESSION_RENEWAL_MS","_DYN_ACQUISITION_DATE","_DYN_RENEWAL_DATE","_DYN_COOKIE_DOMAIN","_DYN_JOIN","_DYN_COOKIE_SEPARATOR","_DYN_AUTH_USER_COOKIE_NAM8","Internal","sdkVersion","Location","Session","_SessionManager","_storageNamePrefix","_cookieUpdatedTimestamp","acquisitionSpan","renewalSpan","sessionCookiePostfix","_initializeAutomaticSessionWithData","session","sessionData","sessionReset","acqMs","renewalMs","_setCookie","nowMs","acq","renewalPeriodMs","acqTimeLeftMs","cookie","isExpired","storageValue","_initializeAutomaticSession","timeSinceAcqMs","timeSinceRenewalMs","getNewId","automaticSession","_renew","cookieUpdateInterval","backup","renewal","TelemetryTrace","parentId","_validateUserInput","User","isNewUser","isUserCookieSet","userCookiePostfix","userCookieName","_generateNewId","_generateNewCookie","acqStr","accountAcquisitionDate","_setUserCookie","authCookie","authCookieString","setAuthenticatedUserContext","authenticatedUserId","accountId","storeInCookie","clearAuthenticatedUserContext","cookieSeparator","authUserCookieName","strExt","strTags","_removeEmpty","TelemetryContext","defaultConfig","previousTraceCtx","application","autoSession","build","agentVersion","snippetVer","sdkSrc","applyWebContext","cleanUp","PropertiesPlugin","_extensionConfig","_distributedTraceCtx","_previousTraceCtx","breezeChannel","theContext","userCtx","_processTelemetryInternal","nullValue","isBrowserLinkTrackingEnabled","_internalSdkSrc","_AUTHENTICATED_USER_CONTEXT","_TRACK","STR_SNIPPET","STR_FLUSH","STR_ADD_TELEMETRY_INITIALIZER","STR_POLL_INTERNAL_LOGS","STR_GET_PLUGIN","STR_EVT_NAMESPACE","STR_TRACK_EVENT","STR_TRACK_TRACE","STR_TRACK_METRIC","STR_TRACK_PAGE_VIEW","STR_TRACK_EXCEPTION","STR_TRACK_DEPENDENCY_DATA","STR_SET_AUTHENTICATED_USER_CONTEXT","STR_CLEAR_AUTHENTICATED_USER_CONTEXT","_DYN_DIAGNOSTIC_LOG_INTER4","_DYN_QUEUE","_DYN_CONNECTION_STRING","_DYN_APP_INSIGHTS","_DYN_DISABLE_IKEY_DEPRECA18","_DYN_GET_TRANSMISSION_CON19","_DYN_ONUNLOAD_FLUSH","_DYN_ADD_HOUSEKEEPING_BEF20","_ignoreUpdateSnippetProperties","Initialization","snippet","_sender","_snippetVersion","_houseKeepingNamespace","sv","cs","ingest","ingestionendpoint","instrumentationkey","DependenciesPlugin","isErrMessageDisabled","legacyMode","_updateSnippetProperties","emptyQueue","chkSet","_loop_1","proxyAssign","length_1","appInsightsInstance","performHousekeeping","loadedPlugin","propertiesPlugin","_sessionManager","excludePageUnloadEvents","disablePageUnloadEvents","product","isReactNative","getSender","removePageHideEventListener","_pureAssign","func1","func2","_pureRef","cdns","scrpt","currentScript","UNDEF_VALUE","NULL_VALUE","EMPTY","FUNCTION","OBJECT","__PROTO__","CONSTRUCTOR","POLYFILL_TAG","LENGTH","CALL","StrCls","StrProto","MathCls","ArrCls","ArrProto","ArrSlice","safe","argArray","_createIs","theType","_createObjIs","theName","objToString","objGetOwnPropertyDescriptor","objHasOwnProperty","objHasOwn","polyObjHasOwn","propMap","_createProp","objDefineProp","objDefine","propDesc","_createKeyValueMap","completeFn","theMap","_assignMapValue","asString","_getProto","objAssign","objGetPrototypeOf","createEnumKeyMap","_globalCfg","_wellKnownSymbolMap","asyncIterator","hasInstance","matchAll","species","unscopables","GLOBAL_CONFIG_KEY","_getGlobalValue","_getGlobalConfig","_unwrapFunction","_unwrapFunctionWithPoly","clsProto","polyFunc","clsFn","strSubstring","strLeft","_polySymbols","_wellKnownSymbolCache","_globalLazyTestHooks","UNIQUE_REGISTRY_ID","_globalSymbolRegistry","gblCfg","gblSym","polyNewSymbol","theSymbol","polySymbolFor","newSymbol_1","regId_1","_initTestHooks","getLazy","lazyValue","lzy","createCachedValue","WINDOW","_getGlobalInstFn","getFn","cachedValue","getInst","_symbol","_symbolFor","_initSymbol","_getSymbolKey","_iterSymbol$1","hasSymbol","getSymbol","getKnownSymbol","noPoly","knownName","polyGetKnownSymbol","newSymbol","symbolFor","isIterator","isIterable","isStrictNullOrUndefined","iterForOf","iterResult","throw","fnApply","theArray","_isProtoArray","polyObjCreate","tempFunc","objSetPrototypeOf","_setName","baseClass","createCustomError","constructCb","errorBase","theBaseClass","orgName","captureFn","_createCustomError","orgProto","utcNow","polyUtcNow","_createTrimFn","mathFloor","_objCtrFnString","_gblWindow","polyStrEndsWith","searchString","REF","UNREF","HAS_REF","_createTimerHandler","startTimer","refreshFn","cancelFn","theTimerHandler","_unref","_cancel","_refresh","refresh","_createTimeoutWith","overrideFn","setFn","clearFn","timerFn","scheduleTimeout","strHasOwnProperty","_DYN_WARN_TO_CONSOLE","_DYN_THROW_INTERNAL","_DYN_WATCH","_DYN_ENABLED","_DYN_UNLOAD","UNDEFINED_VALUE","STR_DOMAIN","STR_PATH","SEED1","SEED2","_isConfigDefaults","isVal","_getDefault","dynamicHandler","cfgDefaults","isDefaultValid","dfVal","fallbacks","fbValue","cfg","_resolveDefaultValue","newValue_1","_applyDefaultValue","mergeDf","blkDynamicValue","rdOnly","blkVal","mrg","usingDefault","dfName","dfValue","CFG_HANDLER_LINK","BLOCK_DYNAMIC","FORCE_DYNAMIC","_cfgDeepCopy","target_1","_canMakeDynamic","getFunc","throwInvalidAccess","aggregationErrorType","arrayMethodsToPatch","_throwDynamicError","_getOwnPropGetter","_setDynamicProperty","trk","clr","checkDynamic","isObjectOrArray","_getProperty","_makeDynamicObject","activeHandler","chng","ro","upd","isReferenced","hdlr","newIsObjectOrArray","_createDynamicProperty","_setDynamicPropertyState","isDynamic","inPlace","blkProp","blockDynamicConversion","orgMethod","_patchArray","symPrefix","symPostfix","_createState","cfgHandler","theState","dynamicPropertySymbol","dynamicPropertyReadOnly","dynamicPropertyReferenced","dynamicPropertyBlockValue","dynamicPropertyDetail","_waitingHandlers","_watcherTimer","_useHandler","prevWatcher","setDf","_notifyWatchers","notifyHandlers","watcherFailures_1","sourceErrors","theMessage","srcError","throwAggregationError","notify","use","_createDynamicHandler","getDynamicConfigHandler","newTarget","defaultValues","watch","configHandler","_createAndUseHandler","_block","allowUpdate","prevUpd","createDynamicConfig","onConfigChange","_logInvalidAccess","_logFuncs","_unloadHandler","errorToConsole","debugToConsole","logInternalMessage","rootDefaultConfig","_getDoc","_isCfgEnabled","isCfgEnabled","unloadHandler","_getCookieFn","_setCookieFn","_delCookieFn","setEnabled","newConfig","createIfMissing","idCfg","extCfg","_maxHooks","_hookAddMonitor","createUnloadHookContainer","elms","elm","_hookContainer","defaultReactExtensionConfig","objDeepFreeze","ReactPlugin","_analyticsPlugin","_unlisten","_pageViewTimer","_pageViewTracked","_getAnalytics","locationListener","pageViewTelemetry","trackPageView","getAppInsights","asyncCallback","AITrackedComponentBase","reactPlugin","_mountTimestamp","_firstActiveTimestamp","_idleStartTimestamp","_lastActiveTimestamp","_totalIdleTime","_idleCount","_idleTimeout","trackActivity","lastIdleTime","_reactPlugin","_componentName","_intervalId","metricData","getEngagementTimeSeconds","additionalProperties","ReactReduxContext","createListenerCollection","nullListeners","createSubscription","parentSub","handleChangeWrapper","subscription","onStateChange","trySubscribe","addNestedSub","notifyNestedSubs","tryUnsubscribe","getListeners","useIsomorphicLayoutEffect","contextValue","Context","EMPTY_ARRAY","NO_SUBSCRIPTION_ARRAY","storeStateUpdatesReducer","updateCount","useIsomorphicLayoutEffectWithArgs","effectFunc","effectArgs","captureWrapperProps","lastWrapperProps","lastChildProps","renderIsScheduled","actualChildProps","childPropsFromStoreUpdate","subscribeUpdates","shouldHandleStateChanges","childPropsSelector","forceComponentUpdateDispatch","didUnsubscribe","lastThrownError","checkForUpdates","newChildProps","latestStoreState","initStateUpdates","connectAdvanced","selectorFactory","_ref2$getDisplayName","getDisplayName","_ref2$methodName","_ref2$renderCountProp","renderCountProp","_ref2$shouldHandleSta","_ref2$storeKey","storeKey","_ref2$forwardRef","withRef","_ref2$context","connectOptions","wrappedComponentName","selectorFactoryOptions","pure","usePureOnlyMemo","ConnectFunction","_useMemo","reactReduxForwardedRef","propsContext","ContextToUse","didStoreComeFromProps","createChildSelector","_useMemo2","overriddenContextValue","_useReducer","previousStateUpdateResult","renderedWrappedComponent","Connect","forwarded","shallowEqual","wrapMapToPropsConstant","getConstant","constantSelector","dependsOnOwnProps","getDependsOnOwnProps","mapToProps","wrapMapToPropsFunc","stateOrDispatch","ownProps","mapDispatchToProps","actionCreators","boundActionCreators","bindActionCreators","mapStateToProps","defaultMergeProps","stateProps","dispatchProps","mergeProps","mergedProps","areMergedPropsEqual","hasRunOnce","nextMergedProps","wrapMergePropsFunc","impureFinalPropsSelectorFactory","pureFinalPropsSelectorFactory","areStatesEqual","areOwnPropsEqual","areStatePropsEqual","hasRunAtLeastOnce","handleSubsequentCalls","nextOwnProps","propsChanged","stateChanged","nextStateProps","statePropsChanged","handleNewState","finalPropsSelectorFactory","initMapStateToProps","initMapDispatchToProps","initMergeProps","factories","strictEqual","createConnect","_ref$connectHOC","connectHOC","_ref$mapStateToPropsF","mapStateToPropsFactories","defaultMapStateToPropsFactories","_ref$mapDispatchToPro","mapDispatchToPropsFactories","defaultMapDispatchToPropsFactories","_ref$mergePropsFactor","mergePropsFactories","defaultMergePropsFactories","_ref$selectorFactory","defaultSelectorFactory","_ref3$pure","_ref3$areStatesEqual","_ref3$areOwnPropsEqua","_ref3$areStatePropsEq","_ref3$areMergedPropsE","extraOptions","newBatch","LOCATION_CHANGE","CALL_HISTORY_METHOD","updateLocation","structure","getIn","toJS","getRouter","router","getAction","createMatchSelector","lastPathname","lastMatch","injectQuery","searchQuery","currentQuery","_currentQuery$split2","fromJS","initialRouterState","isFirstRendering","ConnectedRouter","createSelectors","onLocationChanged","stateCompareFunction","inTimeTravelling","isTimeTravelDebuggingAllowed","noTimeTravelDebugging","_getLocation","pathnameInStore","searchInStore","hashInStore","stateInStore","_history$location","pathnameInHistory","searchInHistory","hashInHistory","stateInHistory","handleLocationChange","noInitialPop","omitRouter","ConnectedRouterWithContext","connect","_onLocationChanged","createConnectedRouter","plainStructure","connectRouter","createConnectRouter","_createSelectors","ROLES","ROLE_DISPLAY_NAMES","Role","containerCode","geoCode","memberFirmCode","roleId","fromData","isLoading","isLoaded","externalSystemId","firstName","isAccessActivated","lastName","lastUpdatedDate","lastUpdatedBy","roles","adminContainers","setLoading","setError","setLoaded","internalUpdateTimestamp","fromServerDate","dateStr","formatTimestamp","momentDate","formatDateTime","formatDateShort","toServerDate","getElapsedTime","ITEM_STATUSES","ITEM_TYPES","TAG_TYPES","SYSTEM_DUPLICATE","USER","ProjectItem","extractionFieldInstanceDetails","itemName","itemStateId","itemTypeId","lastProcessedDate","pagination","parentHierarchy","projectId","projectItemId","projectItemStatus","projectTemplate","projectTemplates","reviewers","templateCategoryId","dateFormatPreference","autoDeleteDays","setChildName","deleteChildren","deletedChildren","deletedChild","folderId","updateChildren","updatedChildren","updatedChild","documentId","addChildTag","currentChild","currentTag","tagId","removeChildTag","tagIndex","addChildReviewer","reviewer","currentReviewer","removeChildReviewer","reviewerIndex","pageInfo","ExtractionFieldInstanceDetails","dateUtil","ParentItem","Template","Reviewer","templateCategoryID","dateformatpreference","createdBy","projectTemplateId","extractionFieldId","extractionFieldName","accessType","isTrained","documentExtractionFieldInstanceId","extractFieldInstanceData","pageNumber","kindOf","thing","kindOfTest","typeOfTest","isBlob","isFileList","isURLSearchParams","isReadableStream","isRequest","isResponse","isHeaders","allOwnKeys","isContextDefined","isHTMLForm","reduceDescriptors","descriptors","reducedDescriptors","isAsyncFn","_setImmediate","setImmediateSupported","postMessageSupported","nextTick","isFormData","isArrayBufferView","isStream","pipe","caseless","targetKey","stripBOM","superConstructor","toFlatObject","sourceObj","destObj","propFilter","forEachEntry","regExp","freezeMethods","toObjectSet","arrayOrString","toFiniteNumber","isSpecCompliantForm","toJSONObject","reducedValue","isThenable","AxiosError","customProps","axiosError","isVisitable","removeBrackets","renderKey","dots","metaTokens","defaultVisitor","useBlob","convertValue","isFlatArray","exposedHelpers","charMap","AxiosURLSearchParams","_pairs","toFormData","_encode","buildURL","serializeFn","serializedParams","hashmarkIndex","fulfilled","synchronous","runWhen","eject","silentJSONParsing","forcedJSONParsing","clarifyTimeoutError","protocols","hasBrowserEnv","hasStandardBrowserEnv","hasStandardBrowserWebWorkerEnv","importScripts","platform","buildPath","isNumericKey","isLast","parsePropPath","transitional","transitionalDefaults","adapter","transformRequest","contentType","getContentType","hasJSONContentType","isObjectPayload","formDataToJSON","setContentType","helpers","isNode","toURLEncodedForm","formSerializer","_FormData","stringifySafely","transformResponse","JSONRequested","strictJSONParsing","ERR_BAD_RESPONSE","xsrfCookieName","xsrfHeaderName","maxContentLength","maxBodyLength","validateStatus","common","ignoreDuplicateOf","$internals","normalizeHeader","normalizeValue","matchHeaderValue","isHeaderNameFilter","AxiosHeaders","valueOrRewrite","rewrite","setHeader","_value","_header","_rewrite","lHeader","setHeaders","rawHeaders","parsed","parseHeaders","tokensRE","parseTokens","deleted","deleteHeader","formatHeader","asStrings","accessor","accessors","defineAccessor","accessorName","arg1","arg3","buildAccessors","transformData","isCancel","__CANCEL__","CanceledError","ERR_CANCELED","settle","ERR_BAD_REQUEST","samplesCount","timestamps","firstSampleTS","chunkLength","startedAt","bytesCount","freq","timestamp","progressEventReducer","isDownloadStream","bytesNotified","_speedometer","speedometer","lengthComputable","progressBytes","rate","estimated","progressEventDecorator","throttled","asyncDecorator","isMSIE","expires","secure","toGMTString","read","buildFullPath","baseURL","requestedURL","allowAbsoluteUrls","isRelativeUrl","relativeURL","combineURLs","headersToObject","mergeConfig","config1","config2","getMergedValue","mergeDeepProperties","valueFromConfig2","defaultToConfig2","mergeDirectKeys","mergeMap","paramsSerializer","timeoutMessage","withXSRFToken","onUploadProgress","onDownloadProgress","decompress","beforeRedirect","transport","httpAgent","httpsAgent","cancelToken","socketPath","responseEncoding","auth","isURLSameOrigin","xsrfValue","cookies","resolveConfig","requestData","onCanceled","uploadThrottled","downloadThrottled","flushUpload","flushDownload","signal","onloadend","getAllResponseHeaders","onabort","ECONNABORTED","ERR_NETWORK","timeoutErrorMessage","ETIMEDOUT","parseProtocol","composeSignals","signals","controller","AbortController","streamChunk","readStream","getReader","trackStream","onProgress","onFinish","readBytes","_onFinish","ReadableStream","loadedBytes","enqueue","highWaterMark","Response","isReadableStreamSupported","encodeText","TextEncoder","supportsRequestStream","duplexAccessed","hasContentType","duplex","supportsResponseStream","resolvers","ERR_NOT_SUPPORT","resolveBodyLength","getContentLength","_request","getBodyLength","knownAdapters","xhrAdapter","fetchOptions","composedSignal","toAbortSignal","requestContentLength","contentTypeHeader","isCredentialsSupported","credentials","isStreamResponse","responseContentLength","responseData","renderReason","isResolvedHandle","adapters","nameOrAdapter","rejectedReasons","reasons","throwIfCancellationRequested","throwIfRequested","dispatchRequest","validators","deprecatedWarnings","formatMessage","opt","ERR_DEPRECATED","spelling","correctSpelling","assertOptions","schema","allowUnknown","ERR_BAD_OPTION_VALUE","ERR_BAD_OPTION","Axios","instanceConfig","interceptors","InterceptorManager","configOrUrl","boolean","function","baseUrl","withXsrfToken","contextHeaders","requestInterceptorChain","synchronousRequestInterceptors","responseInterceptorChain","promise","onFulfilled","onRejected","getUri","generateHTTPMethod","isForm","CancelToken","executor","resolvePromise","_listeners","onfulfilled","_resolve","HttpStatusCode","Continue","SwitchingProtocols","Processing","EarlyHints","Created","Accepted","NonAuthoritativeInformation","NoContent","ResetContent","PartialContent","MultiStatus","AlreadyReported","ImUsed","MultipleChoices","MovedPermanently","Found","SeeOther","NotModified","UseProxy","Unused","TemporaryRedirect","PermanentRedirect","BadRequest","Unauthorized","PaymentRequired","Forbidden","NotFound","MethodNotAllowed","NotAcceptable","ProxyAuthenticationRequired","RequestTimeout","Conflict","Gone","LengthRequired","PreconditionFailed","PayloadTooLarge","UriTooLong","UnsupportedMediaType","RangeNotSatisfiable","ExpectationFailed","ImATeapot","MisdirectedRequest","UnprocessableEntity","Locked","FailedDependency","TooEarly","UpgradeRequired","PreconditionRequired","TooManyRequests","RequestHeaderFieldsTooLarge","UnavailableForLegalReasons","InternalServerError","NotImplemented","BadGateway","ServiceUnavailable","GatewayTimeout","HttpVersionNotSupported","VariantAlsoNegotiates","InsufficientStorage","LoopDetected","NotExtended","NetworkAuthenticationRequired","axios","createInstance","Cancel","promises","isAxiosError","formToJSON","getAdapter","PACKET_TYPES","PACKET_TYPES_REVERSE","ERROR_PACKET","withNativeBlob","withNativeArrayBuffer","encodePacket","supportsBinary","encodeBlobAsBase64","TEXT_ENCODER","lookup","decodePacket","encodedPacket","binaryType","mapBinary","decodeBase64Packet","decoded","base64","encoded1","encoded2","encoded3","encoded4","arraybuffer","SEPARATOR","createPacketEncoderStream","TransformStream","packet","encodePacketToBinary","payloadLength","setBigUint64","TEXT_DECODER","totalLength","concatChunks","removeListener","removeAllListeners","emitReserved","hasListeners","setTimeoutFn","globalThisShim","NATIVE_SET_TIMEOUT","NATIVE_CLEAR_TIMEOUT","installTimerFunctions","useNativeTimers","clearTimeoutFn","randomString","TransportError","super","Transport","socket","forceBase64","doOpen","doClose","onClose","packets","onOpen","onData","onPacket","onPause","createUri","_hostname","_port","_query","encodedQuery","Polling","_polling","_poll","doPoll","decodePayload","encodedPayload","encodedPackets","decodedPacket","encodePayload","doWrite","timestampRequests","timestampParam","sid","b64","hasCORS","BaseXHR","isSSL","xhrStatus","pollXhr","createRequest","_opts","_method","_uri","_create","xdomain","_xhr","extraHeaders","setDisableHeaderCheck","cookieJar","addCookies","requestTimeout","parseCookies","_onLoad","_onError","requestsCount","requests","_cleanup","fromError","hasXHR2","newRequest","BaseWS","createSocket","onopen","autoUnref","_socket","unref","onclose","closeEvent","lastPacket","WebSocketCtor","WebSocket","MozWebSocket","transports","websocket","_packet","webtransport","_transport","WebTransport","transportOptions","ready","createBidirectionalStream","decoderStream","maxPayload","TextDecoder","expectedLength","headerArray","createPacketDecoderStream","readable","pipeThrough","encoderStream","pipeTo","_writer","getWriter","polling","authority","ipv6uri","pathNames","regx","queryKey","withEventListeners","OFFLINE_EVENT_LISTENERS","SocketWithoutUpgrade","writeBuffer","_prevBufferLen","_pingInterval","_pingTimeout","_maxPayload","_pingTimeoutTime","parsedUri","_transportsByName","transportName","agent","upgrade","rememberUpgrade","addTrailingSlash","rejectUnauthorized","perMessageDeflate","closeOnBeforeunload","qs","qry","_beforeunloadEventListener","_offlineEventListener","_onClose","_cookieJar","createCookieJar","_open","createTransport","EIO","priorWebsocketSuccess","setTransport","_onDrain","_onPacket","onHandshake","_sendPacket","_resetPingTimeout","pingInterval","pingTimeout","_pingTimeoutTimer","upgrading","_getWritablePackets","utf8Length","_hasPingExpired","hasExpired","cleanupAndClose","waitForUpgrade","tryAllTransports","SocketWithUpgrade","_upgrades","_probe","onTransportOpen","cleanup","freezeTransport","onTransportClose","onupgrade","_filterUpgrades","upgrades","filteredUpgrades","Socket","DEFAULT_TRANSPORTS","withNativeFile","hasBinary","deconstructPacket","buffers","packetData","_deconstructPacket","attachments","_placeholder","reconstructPacket","_reconstructPacket","RESERVED_EVENTS","PacketType","Encoder","EVENT","ACK","encodeAsString","encodeAsBinary","BINARY_EVENT","BINARY_ACK","nsp","deconstruction","Decoder","reviver","reconstructor","decodeString","isBinaryEvent","BinaryReconstructor","takeBinaryData","tryParse","isPayloadValid","CONNECT","DISCONNECT","CONNECT_ERROR","finishedReconstruction","reconPack","connect_error","disconnecting","newListener","io","connected","recovered","receiveBuffer","sendBuffer","_queue","_queueSeq","acks","_autoConnect","disconnected","subEvents","subs","onpacket","_readyState","fromQueue","volatile","_addToQueue","ack","_registerAckCallback","isTransportWritable","engine","isConnected","notifyOutgoingListeners","ackTimeout","withError","emitWithAck","tryCount","responseArgs","_drainQueue","_sendConnectPacket","_pid","pid","_lastOffset","_clearAcks","onconnect","onevent","onack","ondisconnect","emitEvent","_anyListeners","sent","_len6","_key6","emitBuffered","subDestroy","onAny","prependAny","offAny","listenersAny","onAnyOutgoing","_anyOutgoingListeners","prependAnyOutgoing","offAnyOutgoing","listenersAnyOutgoing","Backoff","factor","jitter","attempts","setMin","setMax","setJitter","Manager","nsps","reconnection","reconnectionAttempts","reconnectionDelay","reconnectionDelayMax","randomizationFactor","backoff","_parser","autoConnect","_reconnection","skipReconnect","_reconnectionAttempts","_reconnectionDelay","_randomizationFactor","_reconnectionDelayMax","_timeout","maybeReconnectOnOpen","_reconnecting","reconnect","Engine","openSubDestroy","errorSub","onping","ondata","ondecoded","_destroy","_close","onreconnect","sameNamespace","forceNew","multiplex","isNumeric","rooms","globalExports","folder","templates","templateExtractionFields","templateId","extractionField","extractionFields","extractionFieldGroups","extractionFieldImports","comparisons","comparison","comparisonId","extractionFieldComparisons","extractionFieldComparison","visuals","translationStatus","accessToken","readyStateCallbacks","tryReconnect","tryConnect","Authorization","tryRunCallbacks","setRegion","setAccessToken","whenReady","room","leave","createAction","createReducer","ACTIONS","setCompareType","sessionStorage","dcr","eventType","_satellite","TRACKING_ACTIONS","satelliteTrack","ExtractionAccessTypeIds","public","private","ExtractionFieldGroupNames","GENERAL_TERMS","LEASES","INTEREST_RATE_DERIVATIVES","PREFERRED_STOCK_AGREEMENTS","REINSURANCE_AGREEMENTS","DEBT_AGREEMENTS","PRIVATE_EXTRACTION_FIELDS","DocumentTagTypes","USER_CREATED","OCR_QUALITY","LANGUAGE","DOCUMENT_TYPE","LocalStorageKeys","FILE_LIST_PAGE_SIZE","ProjectStateIds","inCreation","legalHold","softDelete","pendingArchive","archived","copying","TranslationStatus","preUpload","uploaded","inProgress","uploadError","processingFailed","TRANSLATION_TABS","ProjectSourceTypes","UserEntered","MAT","MATCloud","SearchTypes","FILE_LIST_SEARCH","COMPARE_VIEWER_SEARCH","DOCUMENT_VIEWER_SEARCH","PROJECT_LIST_SEARCH","GROUPS_SEARCH","USERS_SEARCH","ANALYTICS_SEARCH","Document_Error_States","REMOVED","UNPROCESSED","METADATA404","LAYOUT404","DOCUMENTDELETED","UserRoles","ADMIN_GENERAL","ADMIN_SYSTEM","ADMIN_ACCESS","PROJECT_VISITOR","PROJECT_CONTRIBUTOR","PROJECT_OWNER","PROJECT_CREATOR","EXTRACTION_FIELD_OWNER","EXTRACTION_FIELD_CONTRIBUTOR","EventTypes","PAGE_CHANGE","CREATE_PROJECT","ITEM_PROCESSED","Pages","HOMEPAGE","DOCUMENT_LIST","DOCUMENT_VIEWER","COMPARISON_LIST","COMPARISON_VIEWER","EDIT_EXTRACTIONS","PROJECT_SETTINGS","PROJECT_CREATION","PROJECT_COPY","VISUALS","ANALYTICS","USER_ACTIVATION","USER_MANAGEMENT","ADMIN","REPORTS","TRANSLATION","TRANSLATE_TEXT","TRANSLATION_QUEUE","PROJECT_LIST","EXTRACTION_OVERVIEW","REVIEW_STATUS","TAGS","TemplateSteps","SELECT_TEMPLATE_TYPE","SELECT_DOC_TYPE","CREATE_TEMPLATE","ADD_EF","TEMPLATE_LIST","CUSTOMIZE_TEMPLATE","ADD_EF_CUSTOM_TEMPLATE","TemplateCategories","NON_DETAIL_TESTING","NON_EDITABLE_DETAIL_TESTING","DETAIL_TESTING","NON_EDITABLE_GENAI_DETAIL_TESTING","NON_EDITABLE_GENAI_NONDETAIL_TESTING","Custom_GENAI_NONDETAIL_TESTING","ExternalSystemIds","KIRA","ABBY","GenAI","SessionTimeout","IDLE_WAIT_TIME_MS","IDLE_CHECK_INTERVAL_MS","WARNING_TIME_MS","WARNING_COUNTDOWN_INTERVAL_MS","DateFormats","MMDDYYYY","DDMMYYYY","YYYYMMDD","CustomExtractionFieldGroups","GENAI_CUSTOM_GROUP_SYSTEMNAME","TextSelectionBreakCharacters","Features","Extraction","Translation","ProjectTypes","EXTRACTION_PROJECT","WORKSPACE_PROJECT","RestrictDateFormatForSpecificContainer","MyWorkspace","PAGE","constants","LOCATION_METADATA","extractionfield","pathTemplate","creation","analytics","reports","translation","keyword","checkInput","getProject","projectName","clientId","engagementId","getDocumentStatusGroup","getDocumentStatus","statusId","statusTrack","reduxState","documents","actionType","timeTiers","_getFileItem","_trackStatus","updateDataLayer","checkStatus","trackProcessed","checkElapsedTime","digitalData","getDataLayer","documentStatus","page","category","primaryCategory","profileInfo","userName","eventPayload","currentUser","currentProject","DEFER","_action$payload","formatProdErrorMessage","$$observable","PROBE_UNKNOWN_ACTION","combineReducers","reducers","reducerKeys","finalReducers","shapeAssertionError","finalReducerKeys","assertReducerShape","hasChanged","previousStateForKey","nextStateForKey","createThunkMiddleware","extraArgument","thunk","withExtraArgument","COLUMN_OPTIONS","COLUMN_OPTION_DEFAULTS","alwaysVisible","DEFAULT_COLUMN_VISIBILITY","DEFAULT_COLUMN_ORDER","DEFAULT_COLUMN_ROOTSHOW","DEFAULT_COLUMN_ROOTSHOWForProjects","COLUMN_OPTIONS_DOCSHOW","toAPIFormat","fieldName","fieldOrder","ArrayProto","SymbolProto","supportsArrayBuffer","supportsDataView","nativeIsArray","nativeIsView","_isNaN","_isFinite","hasEnumBug","nonEnumerableProps","MAX_ARRAY_INDEX","restArguments","tagTester","nodelist","hasDataViewBug","hasObjectTag","isIE11","isDataView","createSizePropertyCheck","getSizeProperty","shallowProperty","getByteLength","typedArrayPattern","isBufferLike","collectNonEnumProps","emulatedSet","nonEnumIdx","getLength","_keys","_wrapped","toBufferView","bufferSource","tagDataView","aStack","bStack","deepEq","areArrays","aCtor","bCtor","ie11fingerprint","weakMapMethods","forEachName","commonInit","mapTail","mapMethods","setMethods","extendOwn","deepGet","_has","optimizeCb","argCount","mapObject","currentKey","accum","createEscaper","escaper","testRegexp","replaceRegexp","escapeMap","noMatch","escapes","escapeChar","bareIdentifier","oldSettings","_chain","executeBound","sourceFunc","boundFunc","callingContext","callArgs","hasher","later","immediate","createPredicateIndexFinder","createIndexFinder","predicateFind","findWhere","createReduce","contextPath","pluck","where","lastComputed","reStrSymbol","pass","keyInObj","_flatten","otherArrays","isSorted","chainResult","allExports","Project","projectKey","projectStateId","createdDate","STATES","Archived","CONSTANTS","Copy","Creation","CopyInCreation","sourceProjectId","InProgress","Loaded","ReadOnly","Started","projects","setCreated","setUpdated","setUpdatedName","setUpdatedEngagement","engagementName","setUpdatedState","setUpdatedRole","updateMyRole","myRole","users","socketUpdate","toggleSupportAccess","isAdminAccessEnabled","allowAccess","getCacheId","inputs","FormatConstructor","cacheId","defaultLocaleData","addLocaleData","hasIMFAndIRFLocaleData","normalizedLocale","classCallCheck","AwaitValue","AsyncGenerator","front","_invoke","createClass","possibleConstructorReturn","toConsumableArray","localeMatcher","narrowShortLong","numeric2digit","funcReq","intlConfigPropTypes","timeZone","textComponent","defaultFormats","intlFormatPropTypes","formatRelative","formatPlural","formatHTMLMessage","intlShape","dateTimeFormatPropTypes","formatMatcher","numberFormatPropTypes","currencyDisplay","minimumIntegerDigits","minimumFractionDigits","maximumFractionDigits","minimumSignificantDigits","maximumSignificantDigits","relativeFormatPropTypes","pluralFormatPropTypes","intlConfigPropNames","ESCAPED_CHARS","UNSAFE_CHARS_REGEX","filterProps","whitelist","defaults$$1","filtered","invariantIntlContext","intl","shallowEquals","bHasOwnProperty","shouldIntlComponentUpdate","nextContext","_context$intl","_nextContext$intl","nextIntl","createError","defaultErrorHandler","injectIntl","Component$$1","_options$intlPropName","intlPropName","_options$withRef","InjectIntl","_wrappedInstance","IntlPluralFormat","resolveLocale","DATE_TIME_FORMAT_OPTIONS","NUMBER_FORMAT_OPTIONS","RELATIVE_FORMAT_OPTIONS","PLURAL_FORMAT_OPTIONS","RELATIVE_FORMAT_THRESHOLDS","updateRelativeFormatThresholds","newThresholds","getNamedFormat","messageDescriptor","defaultMessage","formattedMessage","getMessageFormat","filteredOptions","getDateTimeFormat","oldThresholds","getRelativeFormat","getNumberFormat","getPluralFormat","rawValues","intlConfigPropNames$1","intlFormatPropNames","IntlProvider","intlContext","initialNow","_ref$formatters","memoizeIntlConstructor","_didDisplay","hasLocaleData","boundFormatFns","getBoundFormatFns","_state","objectWithoutProperties","FormattedDate","FormattedTime","formattedTime","DAY","FormattedRelative","_timer","updateInterval","unitDelay","getUnitDelay","absDelta","selectUnits","unitRemainder","scheduleNextUpdate","aTime","bTime","formattedRelative","FormattedNumber","formattedNumber","FormattedPlural","pluralCategory","formattedPlural","defaultFormatMessage","FormattedMessage","nextPropsToCheck","_ref$formatMessage","formatMessage$$1","_ref$textComponent","_props$tagName","tokenDelimiter","tokenizedValues","generateToken","FormattedHTMLMessage","formattedHTMLMessage","allLocaleData","currentProjectLoading","currentProjectLoaded","currentProjectError","currentProjectCreateLoaded","currentProjectUpdateName","currentProjectUpdateEngagement","currentProjectUpdateState","currentProjectUpdateRole","currentProjectClear","addNotification","projectToggleAccess","updateProjectState","_ref72","api","put","clearProjectData","INITIAL_STATE","projectRoom","onProjectUpdated","onProjectUserRoleChanged","onProjectDeleted","nextProjectRoom","_jsx","clearOnPageChange","autohide","refreshCurrentProject","CURRENT_FOLDER_INVALIDATED","CURRENT_FOLDER_LOADED","CURRENT_FOLDER_LOADING","ITEM_NAME_UPDATED","ITEMS_DELETED","ITEMS_UPDATED","TAG_ADDED","TAG_REMOVED","REVIEWER_ADDED","REVIEWER_REMOVED","currentFolderInvalidated","currentFolderLoaded","currentFolderLoading","itemNameUpdated","itemsDeleted","itemsUpdated","tagAdded","tagRemoved","reviewerAdded","reviewerRemoved","folderRoom","onDelete","onUpdateState","onDocumentRenamed","onFolderRenamed","onUpdatePageCount","onDocumentTagAdded","onDocumentTagRemoved","onDocumentReviewerAdded","onDocumentReviewerRemoved","onDocumentTemplateUpdated","nextFolderRoom","currentFolderInvalidate","loadCurrentFolder","pageNum","pageSize","forceFetch","sortOrder","filterBy","filterString","filterIds","currentFolder","localStorage","createFolder","folderName","_ref13","folderIdToApiFormat","post","moveItems","itemIds","projectItemsIdList","Items","throttledFolderInvalidate","unsubscribeCurrentFolder","TAGS_UPDATED","reviewerId","PROJECT_ACTIONS","SearchCategory","isNullResults","categories","extractions","folders","documentTags","extractionFieldInstanceTags","filters","trackingQuery","selectedCategory","setQueryChange","setAdvancedSearchChange","setQueryTrack","setCategorySelected","selectedData","setSorting","resolvedQuery","SearchResults","setCurrentFolderLoaded","setDocumentsLoaded","setFoldersLoaded","setAdvancedLoaded","shallowResultsCurrentFolderLoading","shallowResultsCurrentFolderLoaded","shallowSearchResultsDocumentsLoading","shallowSearchResultsDocumentsLoaded","shallowSearchResultsFoldersLoading","shallowSearchResultsFoldersLoaded","advancedResultsLoading","advancedResultsLoaded","searchResultsClear","getCurrentSearchFolder","getFolder","getDocumentResults","assigneeUserId","DEFAULT_PAGE_SIZE","documentTagId","extractionFieldInstanceTagId","documentStateIds","reviewerUserIds","isReviewed","isAssigned","convertToArray","getCombinedArray","cleanQuery","_documentIds","_extractionFieldIds","_reviewerUserIds","_documentTagIds","_extractionFieldInstanceTagIds","_templateIds","AssigneeUserId","DocumentIds","ExtractionFieldIds","ReviewerUserIds","DocumentTagIds","ExtractionFieldInstanceTagIds","TemplateIds","DocumentStateIds","IsReviewed","IsAssigned","getSearchResultsDocumentsByAssignee","extractionFieldIds","templateIds","_documentStateIds","getSearchResultsDocuments","getFolderResults","getSearchResultsFolders","getAdvancedSearchResults","createAdvancedSearch","clearResultsData","setGlobalLoaded","fileBrowserSelectItem","fileBrowserDeselectItem","fileBrowserSelectAllItems","fileBrowserDeselectAllItems","fileBrowserMouseDownItem","CURRENT_FOLDER_ACTIONS","selectedItems","updatedState","deletedItem","getId","SEARCH_FOLDER_ACTIONS","addOptionToToolbar","TOOLBAR_OPTIONS","TOOLBAR_LABELS","TOOLBAR_ICONS","DEFAULT_INITIAL_STATE","quickOptions","kebabOptions","staticOptions","randomUUID","crypto","rnds8","rng","byteToHex","unsafeStringify","native","rnds","ERROR_CODES","DEFAULT_USER_PREFERENCES","DOCUMENT_INVALID","DOCUMENT_TYPE_INVALID","DOCUMENT_NAME_DUPLICATE","ERROR_UNEXPECTED","ERROR_PAUSED_PROCESSING","FILE_FORMAT_NOT_SUPPORTED","FILE_NOT_FOUND","FOLDER_DUPLICATE","FOLDER_NAME_DUPLICATE","FOLDERFILE_NAME_INVALID","INPUT_INVALID","INVALID_NAME","INVALID_ROLE","MAX_SIZE_EXCEEDED","NO_RECORDS_FOUND","NOT_FOUND_ERROR","PROJECT_DUPLICATENAME","PROJECT_INVALID","TAG_INVALID","TEMPLATE_INVALID","UNAUTHORIZED","USER_TYPE_INVALID","XF_INVALID","XFGROUP_INVALID","XFGROUP_NAME_DUPLICATE","XFGROUP_NOTFOUND","DOCUMENT_INFECTED","NON_GLOBAL_ERRORS","getMessages","hasError","errorCode","getIntlKeyForCode","translationKeys","_addNotification","deleteNotification","notification","_notification","subscribeToGlobalErrors","unSubscribeToGlobalErrors","handleError","hasGlobalError","errorIntlKeys","getGlobalErrorIntlKeys","intlKey","intlProps","apiEventTarget","aboutArgusLoading","aboutArgusLoaded","aboutArgusError","maintenanaceBannerMessageLoading","maintenanaceBannerMessageLoaded","maintenanaceBannerMessageError","COMPARISON_STATUSES","ComparisonSets","updateComparison","updatedComparison","comparisonStateId","totalEntities","deleteComparison","deletedComparison","ComparisonSet","baseEntity","baseEntityId","comparisonName","completedDate","comparisonDetails","startedDate","baseDocument","activeComparisonSetLoading","activeComparisonSetLoaded","activeComparisonSetError","enhanceComparisonSummary","comparisonSummary","enhancedComparisonSummary","currentDocument","compareEntity","currentSummary","filt","documentName","adds","deletes","edits","documentChanges","totalChanges","comparisonSetsLoading","comparisonSetsLoaded","comparisonSetUpdated","comparisonSetDeleted","extractionFieldComparisonSetUpdated","documentRoom","extractionFieldRoom","onComparisonDocumentRemoved","onComparisonRecordRemoved","onComparisonUpdated","onExtractionFieldComparisonUpdated","onComparisonDeleted","documentComparisonRoom","extractionFieldComparisonRoom","loadComparisonSets","compareType","loadComparisonSetsRecursive","_ref44","assignments","characters","extractionFieldRecords","pageCount","pages","entityUrl","fileExtension","lastUpdatedData","parentFolderDocumentCount","sections","filterById","sectionLoading","selectedSection","isSelectedSectionClassified","setDeleted","enhanced","efr","enhanceRecord","enhanceRecords","extractionFieldGroupIds","isPage","tagAdd","tagRemove","reviewerAdd","reviewerRemove","efAllRecordsRemove","reviewDocumentCount","efAdd","_data$groups","extractionFieldGroup","groupId","extractionFieldGroupId","groupName","extractionFieldGroupName","groupDisplayOrder","efg","efUpdate","extractionFieldDescription","efrAdd","extractionFieldRecordId","fixSocketFormatEFR","_data$tags","efrEdit","efVerify","isReadyForVerification","efrRemove","efrTagAdd","tagTypeId","efrTagRemove","updateSections","section","isClassified","currentPage","sectionLength","sampleNumberLoaded","sampleNumberLoading","DocTypeRemove","setEfFilter","sectionId","matchingExtractionFeild","colorIndex","docUndoPush","docUndoPop","docUndoClear","pushUndoStack","popUndoStack","clearUndoStack","DocumentLayout","loadedPages","layoutPage","gridmap","generateGridmap","characterDataLoaded","getAllCharacters","setPagesLoaded","matchingIndex","matchingPage","gridMap","allCharacters","gx1","gx2","gy1","gy2","pageIndex","currentDocumentLayoutLoading","currentDocumentLayoutLoaded","currentDocumentLayoutError","currentDocumentLayoutPagesLoaded","getCurrentDocumentLayout","getDocumentLayoutMetadata","currentDocumentLoading","currentDocumentLoaded","currentDocumentError","currentDocumentDeleted","currentDocumentClear","currentDocumentTagAdd","currentDocumentTagRemove","currentDocumentReviewerAdd","currentDocumentReviewerRemove","currentDocumentEFAdd","currentDocumentEFUpdate","currentDocumentEFAllRecordsRemove","currentDocumentEFRAdd","currentDocumentEFREdit","currentDocumentEFRRemove","currentDocumentEFRTagAdd","currentDocumentEFRTagRemove","currentDocumentOrganizeFiles","currentDocumentSampleNumberLoading","currentDocumentSampleNumberLoaded","currentDocumentSetEFFilter","removeDocTypeLoaded","currentDocumentEFRRev","getCurrentDocument","API","refreshCurrentDocument","removeExtractionFieldRecord","recordId","undoId","templateRoom","onGeneric","onDocumentDeleted","onTagAdd","onTagRemove","onReviewerAdd","onReviewerRemove","onEFAllRecordsRemove","onEFRAdded","onEFRRemoved","onEFRTagAdded","onEFRTagRemoved","onEFAdded","onEFandEFRAdded","onClassify","onFieldVerified","nextDocumentRoom","nextTemplateRoom","extractionFieldRecord","extractionFieldDTO","record","CurrentLanguage","englishCountryName","englishName","localeCode","nativeCountryName","nativeName","setLanguage","currentLanguageSet","APIS","currentUserLoading","currentUserLoaded","currentUserError","onUserLogout","onUserUpdate","nextRoom","authContext","logOut","getCurrentUser","homeAPI","region","setHomeRegion","DocumentProcessing","fromApiModel","documentProcessingLoading","documentProcessingLoaded","documentProcessingClear","SearchResultsActions","DocumentTags","documentTagsLoading","documentTagsLoaded","DocumentTypeTags","documentTypeTagsLoading","documentTypeTagsLoaded","checkIfArrayHasValue","updateOriginalArray","filterKey","getTransformedValues","selectionArray","addedElement","cleanFunction","uniqueValues","cleanedData","newValues","original","getNewValues","flattenAddExtractionData","currentExtractionIds","flatArray","groupMapping","extractionFieldDisplayOrderMappings","trainingCount","trainingTarget","minDocumentsToBeConsideredTrained","isAutomaticExtraction","AccessTypeId","accessTypeId","processTemplateExtractionFields","processedFields","Constants","groupSystemName","customDocTypeName","displayOrder","templateTypeID","getExtractionFieldIds","extraction","EditExtractions","isAllExtLoading","isTemplateExtLoading","isTemplatesLoading","selectedId","selectedName","selectedTemplateCategoryId","allExtractions","templateExtractions","untitled","templateSuffix","setTemplatesLoading","setAllExtLoading","setTemplateExtLoading","setAllExtLoaded","setTemplateExtLoaded","setExtMoved","setExtDeleted","_state$allExtractions","deletedId","cleanExtraction","gr","setExtAllUpdate","_data$original","setExtAdded","_data$original2","setTempSelected","setAddedOrUpdated","projectTemplateName","updatedIndex","templateName","setDuplicated","setChangedName","setTemplatesLoaded","defaultTemplate","selectedTemplate","_data$find","Templates","allExtractionsLoading","allExtractionsLoaded","modifyAllExtractions","templateExtractionsLoading","templateExtractionsLoaded","delExtractionsTemplate","moveExtractionsTemplate","projectTemplatesLoading","projectTemplatesLoaded","addOrUpdateProjectTemplate","dupeProjectTemplate","selProjectTemplate","delProjectTemplate","modifyTemplateName","resetState","subscribeToTemplates","unsubscribeToTemplates","onTemplateAdded","onTemplateUpdated","onTemplateDeleted","onFieldPublished","subscribeToFolder","unsubscribeToFolder","subscribeToTemplateFields","unsubscribeToTemplateFields","onFieldAdded","onFieldRemoved","loadProjectTemplates","ExtractionFieldRecordTags","efrTagsLoading","efrTagsLoaded","ExtractionOverviewTemplates","columnOptions","_action$payload$templ","_action$payload$templ3","_action$payload$templ4","_action$payload$templ2","storedTemplateID","storedTemplate","templateExtractionGroups","extractionFieldsCount","setColumnOptions","setSelectedTemplateLoaded","DOCUMENT_NAME","SAMPLE_NUMBER","DEFAULT_COLUMN_FROZEN","selectProjectTemplateLoading","selectProjectTemplateLoaded","updateColumnOptions","_api$getTemplates","_templates$data$","storedTemplateProject","templateToFetch","templateExtractionFieldsResponse","templateExtractionsResponse","columnOptionsResponse","fromAPIFormat","frozen","setTemplate","storedLanguages","lastListUpdate","Languages","languagesLoading","languagesLoaded","languagesError","storedLanguageData","LanguageData","languageData","_languageData","_values","processLanguage","languageDataLoading","languageDataLoaded","languageDataError","loadLanguageData","LanguageTags","languageTagsLoading","languageTagsLoaded","OCRQualityTags","ocrQualityTagsLoading","ocrQualityTagsLoaded","ProjectList","isPartialLoading","partialError","isSearching","isEmptySearch","unfilteredProjects","errLength","setPartialError","setPartialLoad","getProjects","allProjects","geoProject","setSearched","searchKeys","filteredProjects","nonNullKeys","creator","userDetail","setSoftDeleted","updateSoftDeleted","updateDeleted","setFlagClientService","updateClientService","isClientService","setRestored","updateRestored","setCopied","copied","updateCopied","setProjectUpdatedStatus","setEnabledAccess","updateEnabledAccess","setArchived","approverId","updateArchived","archivalRequest","requestorId","approverIdList","setCancelArchived","updateCancelArchived","setCarried","carried","updateCarried","setLegalHold","updateLegalHold","isLegalHold","projectListPartialLoad","projectListPartialErr","projectListLoading","projectListLoaded","projectListSearched","projectListError","projectCarry","projectCopy","projectEnableAccess","hardDelProject","softDelProject","chgFlagNonClientService","restoreDelProject","projectRequestArchive","projectArchiveCancel","projectLegalHold","projectCopyStatusUpdate","onProjectStatusUpdate","loadProjectList","GEO_APIS","finalError","memberfirm","Translations","isTranslationsLoading","translations","isLanguagePairsLoading","languagePairs","isMachineTranslationAvailable","machineTranslationDownTimeDuration","machineTranslationDownTimeDurationUnitKey","setTranslationsListLoading","setLanguagePairsLoading","setTranslationsListError","setLanguagePairsError","setTranslationsListLoaded","setLanguagePairsLoaded","_action$payload2","setServiceDown","translationsListLoading","translationsListLoaded","loadTranslationsList","languagePairsLoading","languagePairsLoaded","serviceDown","documentTranslationLoading","documentTranslationLoaded","textTranslationLoading","textTranslationLoaded","ProjectMembers","setAdded","Member","roleDisplayName","isPPD","projectMembersLoading","projectMembersLoaded","projectMembersError","projectMembersClear","postProjectMember","modifyProjectMember","delProjectMember","loadProjectMembers","_totalDocumentCount","totalDocumentCount","apiKey","apiValue","isChartRow","totalCount","reviewedCount","notReviewedCount","assignedCount","notAssignedCount","ProjectStatus","projectStatusLoading","projectStatusLoaded","projectStatusClear","ProjectTemplates","isGroupsLoading","isGroupExtLoading","failedExtraction","selectedGroup","setGroupsLoading","setGroupsExtLoading","setGroupsLoaded","_state$templateExtrac","originalExtractionData","enableAllExtractons","setGroupsExtLoaded","setMoved","toggleSelected","tempExt","cur","setSelectedGroup","ENABLE_EXTRACTIONS","GROUPS_LOADING","GROUPS_LOADED","GROUPS_EXTRACTIONS_LOADING","GROUPS_EXTRACTIONS_LOADED","ALL_EXTRACTIONS_LOADING","ALL_EXTRACTIONS_LOADED","TEMPLATE_EXTRACTIONS_LOADING","TEMPLATE_EXTRACTIONS_LOADED","MOVE_EXTRACTION","ADD_EXTRACTION","DELETE_EXTRACTION","SELECT_EXTRACTION","PROJECT_TEMPLATES_LOADING","PROJECT_TEMPLATES_LOADED","ADD_PROJECT_TEMPLATE","UPDATE_PROJECT_TEMPLATE","SELECT_PROJECT_TEMPLATE","SELECT_PROJECT_GROUP","CHANGE_TEMPLATE_NAME","PROJECT_TEMPLATES_RESET_STATE","enableExtractonsAction","groupsLoading","groupsLoaded","groupExtractionsLoading","groupExtractionsLoaded","addExtractionsTemplate","deleteExtractionsTemplate","selectExtractionFromTemplate","addProjectTemplate","modifyProjectTemplate","selectProjectGroup","ADD_OR_UPDATE_PROJECT_TEMPLATE","addOrUpdate","NEW_PROJECT_TEMPLATE","setNewTemplate","TemplateTypes","typesLoading","typesLoaded","loadTypes","_api$getProjectCreati","UserProgress","userProgressLoading","userProgressLoaded","userProgressClear","sortByKey","collator","Collator","numeric","sensitivity","Reports","isReportsLoading","isScheduledLoading","regular","scheduled","setReportsLoading","setScheduledLoading","setReportsLoaded","Regular","setScheduledLoaded","Scheduled","reportId","reportName","exportFileName","reportDescription","scheduledReportId","recipients","frequencyInterval","frequencyIntervalUnits","startDate","lastRunDate","_model$recipients","regularReportsLoading","regularReportsLoaded","scheduledReportsLoading","scheduledReportsLoaded","reportsError","loadReports","selectedGeoCode","apiIndex","currAPI","adminapi","loadScheduledReports","advancedSearchQueryChange","searchQueryChange","trackQuery","setSelectCategory","setSortOrder","shallowSearchLoading","shallowSearchLoaded","shallowSearchError","searchDataClear","searchAll","getSearchDocuments","getSearchExtractions","getSearchFolders","getSearchReviewers","getSearchDocumentTags","getSearchExtractionFieldInstanceTags","getSearchTemplates","onSearchChange","onAdvancedSearchChange","onSelectCategory","clearSearchData","PriorityQueue","comp","dequeue","concurrency","autoStart","queueClass","_queueClass","_pendingCount","_concurrency","_isPaused","_resolveEmpty","_resolveIdle","addAll","onEmpty","existingResolve","onIdle","isPaused","UPLOAD_STATES","CANCELLED","COMPLETED","FAILED","PENDING","Upload","setProgress","setCompleted","setFailed","setCancelled","requestQueue","PQueue","uploadCancellables","fileExtensionValidationRegex","storedFormat","LoadFormat","formatsLoading","formatsLoaded","formatsError","currentFormatFromDB","CurrentFormat","currentFormat","currentSelectedFormat","currentFormatSet","LoadDateFormat","Dateformats","DateformatsLoading","DateformatsLoaded","DateformatsError","currentDateFormatFromDB","CurrentDateFormat","currentDateFormat","currentSelectedDateFormat","currentDateFormatSet","composeEnhancers","__REDUX_DEVTOOLS_EXTENSION_COMPOSE__","aboutArgus","maintenanaceBannerMessage","activeComparisonSet","comparisonSets","currentDocumentLayout","currentLanguage","currentSearchFolder","documentProcessing","documentTypeTags","editExtractions","extractionFieldRecordTags","extractionOverview","languageTags","ocrQualityTags","projectList","projectMembers","projectStatus","templateTypes","userProgress","uploads","loadFormat","loadDateFormat","documentViewerUndo","fileBrowserColumnOptions","fileBrowserSelectedItems","fileBrowserToolbarOptions","getCachedOptions","cachedOptions","createToolbarOptionsReducer","notifications","middlewares","_dispatch","middlewareAPI","middleware","applyMiddleware","routerMiddleware","persistFileBrowserToolbarOptions","persistSelectedCompareType","doesProjectContainRole","doesUserContainExtractionFieldRole","fieldUser","doesUserHaveRegionalRole","homeRegion","currentRegion","getCurrentApiInfo","isUserPPMD","isUserArchiveRequestor","isUserSelectedApprover","approver","isUserFromProjectRegion","isProjectReadOnly","isProjectArchived","Global","ExtractionField","ExtractionFieldGroup","canView","RolesHelper","canCreate","canDelete","canEdit","canViewQuickStudyPageLink","canViewQuickStudyPageRegion","canRename","canEditField","canAddRemoveGroup","canAddRemoveUser","canViewLearningTab","canViewGroupsAndUsersTab","canViewMeasuresTab","canViewHistoryTab","canViewVendorTag","canViewTab","canViewUserManagementLink","canViewMaintenanceMessagesLink","canViewUserManagementPageRegion","canEnable","canDisable","canPromoteToSystemAdmin","canPromoteToGeneralAdmin","canviewAdminDashboard","canViewProjects","canViewLogs","canViewTrainingRequests","canViewReports","canViewAdminAccess","canToggleAdmin","canViewAdminContainerDropdown","canViewGenAIBannerMessage","canHaveGlobalAdminAccess","Analytics","canExport","Comparison","canDuplicate","ExtractionFieldRecord","canTag","canUpload","canModify","canMove","canUntag","canAssign","canSetTemplate","canReview","canHighlight","canCompare","canReprocess","canRequestTraining","StatesHelper","Folder","ReviewStatus","Settings","canRemove","projectTypeId","canEditCreationState","canEditAsAdmin","Tags","TemplateExtractionField","canAssociate","canApply","canAdd","canEnableAccess","canEditSelf","Visualization","_States","isReadOnly","canViewApprovalBanner","canViewProjectDropdownMenu","canViewDeletedProjects","canViewStatus","canRestore","canCopy","canEnableSupportAccess","canCarryForward","canRequestArchive","canCancelArchiveRequest","canApproveArchive","canRejectArchive","canFlagNonClientService","canInitiateLegalHold","canLiftLegalHold","canViewTag","canUndo","PerformanceEvents","PerformanceEventStatus","HeaderNames","PersistentCacheKeys","AADAuthorityConstants","AADServerParamKeys","ClaimsRequestKeys","LIBRARY_NAME","SKU","CACHE_PREFIX","DEFAULT_AUTHORITY","DEFAULT_AUTHORITY_HOST","DEFAULT_COMMON_TENANT","ADFS","DSTS","AAD_INSTANCE_DISCOVERY_ENDPT","RESOURCE_DELIM","NO_ACCOUNT","CLAIMS","CONSUMER_UTID","OPENID_SCOPE","PROFILE_SCOPE","OFFLINE_ACCESS_SCOPE","EMAIL_SCOPE","CODE_RESPONSE_TYPE","CODE_GRANT_TYPE","RT_GRANT_TYPE","FRAGMENT_RESPONSE_MODE","S256_CODE_CHALLENGE_METHOD","URL_FORM_CONTENT_TYPE","AUTHORIZATION_PENDING","NOT_DEFINED","FORWARD_SLASH","IMDS_ENDPOINT","IMDS_VERSION","IMDS_TIMEOUT","AZURE_REGION_AUTO_DISCOVER_FLAG","REGIONAL_AUTH_PUBLIC_CLOUD_SUFFIX","REGIONAL_AUTH_NON_MSI_QUERY_STRING","KNOWN_PUBLIC_CLOUDS","TOKEN_RESPONSE_TYPE","ID_TOKEN_RESPONSE_TYPE","SHR_NONCE_VALIDITY","OIDC_DEFAULT_SCOPES","OIDC_SCOPES","__spreadArrays","SSOTypes","PromptValue","LOGIN","SELECT_ACCOUNT","CONSENT","CREATE","NO_SESSION","ResponseMode","GrantType","CacheAccountType","Separators","CredentialType","CacheSchemaType","CacheType","CodeChallengeMethodValues","PLAIN","S256","AuthorityMetadataSource","APP_METADATA","THE_FAMILY_ID","AUTHORITY_METADATA_CONSTANTS","AuthenticationScheme","SERVER_TELEM_CONSTANTS","SCHEMA_VERSION","MAX_CUR_HEADER_BYTES","MAX_LAST_HEADER_BYTES","MAX_CACHED_ERRORS","CACHE_KEY","CATEGORY_SEPARATOR","VALUE_SEPARATOR","OVERFLOW_TRUE","OVERFLOW_FALSE","UNKNOWN_ERROR","PasswordGrantConstants","ResponseCodes","RegionDiscoverySources","RegionDiscoveryOutcomes","CacheOutcome","JsonTypes","ThrottlingConstants","Errors","NativeExtensionMethod","BrowserCacheLocation","HTTP_REQUEST_TYPE","TemporaryCacheKeys","InMemoryCacheKeys","ApiId","InteractionType","InteractionStatus","AuthErrorMessage","AuthError","suberror","subError","setCorrelationId","createUnexpectedError","errDesc","createPostRequestFailed","ServerError","InteractionRequiredServerErrorMessage","InteractionRequiredAuthSubErrorMessage","InteractionRequiredAuthErrorMessage","InteractionRequiredAuthError","isInteractionRequiredError","isInteractionRequiredErrorCode","isInteractionRequiredSubError","isInteractionRequiredErrorDesc","irErrorCode","createNoTokensFoundError","createNativeAccountUnavailableError","BrowserConstants","NativeConstants","WrapperSKU","DEFAULT_REQUEST","scopes","KEY_FORMAT_JWK","CacheLookupPolicy","DB_NAME","DB_TABLE_NAME","CryptoKeyStoreNames","JoseHeaderErrorMessage","JoseHeaderError","createMissingKidError","createMissingAlgError","JoseHeader","typ","alg","kid","getShrHeaderString","shrHeaderOptions","shrHeader","Jwt","MathUtils","decimalToHex","GuidGenerator","cryptoObj","generateGuid","guidHolder","guidResponse","isGuid","BrowserStringUtils","stringToUtf8Arr","sDOMStr","nChr","nArrLen","nStrLen","nMapIdx","aBytes","nIdx","nChrIdx","stringToArrayBuffer","dataString","utf8ArrToString","sView","nPart","nLen","getSortedObjectString","Base64Encode","urlEncode","urlEncodeArr","inputArr","base64EncArr","inputUtf8Arr","eqLen","sB64Enc","nMod3","nUint24","uint6ToB64","nUint6","Base64Decode","encodedString","base64DecToArr","base64String","nBlockSize","nInLen","nOutLen","nMod4","nOutIdx","nInIdx","b64ToUint6","charNum","ClientAuthErrorMessage","ClientAuthError","createClientInfoDecodingError","caughtError","createClientInfoEmptyError","createTokenParsingError","caughtExtractionError","createTokenNullOrEmptyError","invalidRawTokenString","createEndpointDiscoveryIncompleteError","errDetail","createNetworkError","endpoint","createUnableToGetOpenidConfigError","createHashNotDeserializedError","hashParamObj","createInvalidStateError","invalidState","createStateMismatchError","createStateNotFoundError","missingState","createNonceMismatchError","createAuthTimeNotFoundError","createMaxAgeTranspiredError","createNonceNotFoundError","missingNonce","createMultipleMatchingTokensInCacheError","createMultipleMatchingAccountsInCacheError","createMultipleMatchingAppMetadataInCacheError","createTokenRequestCannotBeMadeError","createAppendEmptyScopeToSetError","givenScope","createRemoveEmptyScopeFromSetError","createAppendScopeSetError","appendError","createEmptyInputScopeSetError","createDeviceCodeCancelledError","createDeviceCodeExpiredError","createDeviceCodeUnknownError","createNoAccountInSilentRequestError","createNullOrUndefinedCacheRecord","createInvalidCacheEnvironmentError","createNoAccountFoundError","createCachePluginError","createNoCryptoObjectError","createInvalidCacheTypeError","createUnexpectedAccountTypeError","createUnexpectedCredentialTypeError","createInvalidAssertionError","createInvalidCredentialError","createRefreshRequiredError","createUserTimeoutReachedError","createTokenClaimsRequiredError","createNoAuthCodeInServerResponseError","createBindingKeyNotRemovedError","createLogoutNotSupportedError","createKeyIdMissingError","StringUtils","decodeAuthToken","authToken","JWSPayload","JWSSig","isEmptyObj","strObj","queryStringToObject","trimArrayEntries","removeEmptyStringsFromArray","jsonParseHelper","matchPattern","BrowserAuthErrorMessage","BrowserAuthError","createPkceNotGeneratedError","createCryptoNotAvailableError","createHttpMethodNotImplementedError","createEmptyNavigationUriError","createEmptyHashError","hashValue","createHashDoesNotContainStateError","createHashDoesNotContainKnownPropertiesError","createUnableToParseStateError","createStateInteractionTypeMismatchError","createInteractionInProgressError","createPopupWindowError","createEmptyWindowCreatedError","createUserCancelledError","createMonitorPopupTimeoutError","createMonitorIframeTimeoutError","createRedirectInIframeError","windowParentCheck","createBlockReloadInHiddenIframeError","createBlockAcquireTokenInPopupsError","createIframeClosedPrematurelyError","createSilentLogoutUnsupportedError","createNoAccountError","createSilentPromptValueError","givenPrompt","createUnableToParseTokenRequestCacheError","createNoTokenRequestCacheError","createAuthRequestNotSetError","createNoCachedAuthorityError","createNonBrowserEnvironmentError","createDatabaseNotOpenError","createNoNetworkConnectivityError","createPostRequestFailedError","errorDesc","createGetRequestFailedError","createFailedToParseNetworkResponseError","createUnableToLoadTokenError","errorDetail","createSigningKeyNotFoundInStorageError","keyId","createAuthCodeRequiredError","createAuthCodeOrNativeAccountIdRequiredError","createDatabaseUnavailableError","createUnableToAcquireTokenFromNativePlatformError","createNativeHandshakeTimeoutError","createNativeExtensionNotInstalledError","createNativeConnectionNotEstablishedError","createNativeBrokerCalledBeforeInitialize","createNativePromptParameterNotSupportedError","PkceGenerator","base64Encode","generateCodes","codeVerifier","generateCodeVerifier","generateCodeChallengeFromVerifier","codeChallenge","verifier","pkceCodeVerifier","sha256Digest","pkceHashedCodeVerifier","e_1","ModernBrowserCrypto","dataBuffer","generateKey","algorithm","extractable","keyUsages","subtle","exportKey","importKey","keyData","MsrBrowserCrypto","initPrng","entropy","msrCrypto","__spread","MsBrowserCrypto","msGenerateKey","msExportKey","resultBuffer","resultString","keyString","keyBuffer","msImportKey","msSign","digestOperation","BrowserConfigurationAuthErrorMessage","BrowserConfigurationAuthError","createRedirectUriEmptyError","createPostLogoutRedirectUriEmptyError","createStorageNotSupportedError","givenStorageLocation","createRedirectCallbacksNotSetError","createStubPcaInstanceCalledError","createInMemoryRedirectUnavailableError","createEntropyNotProvided","S256_HASH_ALG","PUBLIC_EXPONENT","BrowserCrypto","cryptoOptions","hasBrowserCrypto","verbose","subtleCrypto","hasIECrypto","hasMsrCrypto","useMsrCrypto","keygenAlgorithmOptions","modulusLength","publicExponent","generateKeyPair","usages","exportJwk","importJwk","DatabaseStorage","dbName","tableName","dbOpen","openDB","indexedDB","createObjectStore","closeConnection","validateDbIsOpen","dbGet","transaction","objectStore","dbPut","removeItem","dbDelete","getKeys","dbGetKeys","containsKey","dbContainsKey","deleteDatabase","deleteDbRequest","MemoryStorage","cacheKeys","AsyncMemoryStorage","storeName","inMemoryCache","indexedDBCache","handleDatabaseAccessError","e_2","e_3","e_4","e_5","clearInMemory","clearPersistent","dbDeleted","e_6","LogLevel","CryptoKeyStore","asymmetricKeys","symmetricKeys","CryptoOps","performanceClient","cryptoConfig","browserCrypto","b64Encode","b64Decode","guidGenerator","pkceGenerator","createNewGuid","base64Decode","generatePkceCodes","getPublicKeyThumbprint","publicKeyThumbMeasurement","startMeasurement","CryptoOptsGetPublicKeyThumbprint","EXTRACTABLE","POP_KEY_USAGES","keyPair","publicKey","publicKeyJwk","pubKeyThumprintObj","kty","publicJwkString","hashString","publicJwkHash","privateKey","privateKeyJwk","unextractablePrivateKey","requestMethod","resourceRequestMethod","requestUri","resourceRequestUri","endMeasurement","removeTokenBindingKey","clearKeystore","signJwt","signJwtMeasurement","CryptoOptsSignJwt","cachedKeyPair","publicKeyJwkString","encodedKeyIdThumbprint","encodedShrHeader","cnf","jwk","tokenString","tokenBuffer","signatureBuffer","encodedSignature","signedJwt","plainText","hashBuffer","hashBytes","AuthorityType","Logger","loggerOptions","packageName","packageVersion","Info","localCallback","loggerCallback","piiLoggingEnabled","logLevel","containsPii","toUTCString","executeCallback","errorPii","warningPii","infoPii","verbosePii","tracePii","isPiiLoggingEnabled","PerformanceClient","libraryName","libraryVersion","applicationTelemetry","eventsByCorrelationId","measurementsById","measureName","eventCorrelationId","generateId","performanceMeasurement","startPerformanceMeasuremeant","inProgressEvent","eventId","appName","appVersion","startTimeMs","cacheEventByCorrelationId","cacheMeasurement","completedEvent","flushMeasurement","flushMeasurements","discardMeasurement","discardMeasurements","Completed","existingEvents","eventsForCorrelationId","completedEvents_1","sortedCompletedEvents","eventA","eventB","topLevelEvents","topLevelEvent","eventToEmit","subMeasurementName","accessTokenSize","idTokenSize","refreshTokenSize","emitEvents","addPerformanceCallback","callbackId","removePerformanceCallback","StubPerformanceMeasurement","StubPerformanceClient","DEFAULT_CRYPTO_IMPLEMENTATION","buildClientInfo","rawClientInfo","decodedClientInfo","buildClientInfoFromHomeAccountId","homeAccountId","clientInfoParts","CLIENT_INFO_SEPARATOR","utid","CcsCredentialType","AccountEntity","generateAccountId","environment","CACHE_KEY_SEPARATOR","generateAccountKey","generateAccountCacheKey","tenantId","realm","localAccountId","generateType","authorityType","ADFS_ACCOUNT_TYPE","MSAV1_ACCOUNT_TYPE","MSA","MSSTS_ACCOUNT_TYPE","MSSTS","GENERIC_ACCOUNT_TYPE","GENERIC","getAccountInfo","idTokenClaims","nativeAccountId","accountInterface","createAccount","clientInfo","idToken","cloudGraphHostName","msGraphHost","account","getPreferredCache","claims","tid","oid","sub","preferredUsername","preferred_username","emails","createGenericAccount","Adfs","upn","generateHomeAccountId","serverClientInfo","authType","Dsts","isAccountEntity","entity","accountInfoIsEqual","accountA","accountB","compareClaims","claimsMatch","accountAClaims","accountBClaims","iat","CredentialEntity","generateAccountIdForCacheKey","generateCredentialId","generateCredentialIdForCacheKey","credentialType","familyId","generateTarget","generateTargetForCacheKey","generateCredentialKey","generateCredentialCacheKey","tokenType","requestedClaimsHash","ID_TOKEN","ACCESS_TOKEN","ACCESS_TOKEN_WITH_AUTH_SCHEME","REFRESH_TOKEN","getCredentialType","generateClaimsHashForCacheKey","generateSchemeForCacheKey","BEARER","ClientConfigurationErrorMessage","ClientConfigurationError","createClaimsRequestParsingError","claimsRequestParseError","createInsecureAuthorityUriError","createUrlParseError","urlParseError","createUrlEmptyError","createEmptyScopesArrayError","createClientIdSingleScopeError","inputScopes","createInvalidPromptError","promptValue","createInvalidClaimsRequestError","createEmptyLogoutRequestError","createEmptyTokenRequestError","createInvalidCodeChallengeMethodError","createInvalidCodeChallengeParamsError","createInvalidCloudDiscoveryMetadataError","createInvalidAuthorityMetadataError","createUntrustedAuthorityError","createInvalidAzureCloudInstanceError","createMissingSshJwkError","createMissingSshKidError","createMissingNonceAuthenticationHeadersError","createInvalidAuthenticationHeaderError","invalidHeaderName","ScopeSet","scopeArr","filteredInput","validateInputScopes","fromString","inputScopeString","containsScope","lowerCaseScopesSet","printScopesLowerCase","containsScopeSet","scopeSet","asArray","containsOnlyOIDCScopes","defaultScopeCount","defaultScope","appendScope","newScope","appendScopes","newScopes","removeScope","removeOIDCScopes","unionScopeSets","otherScopes","unionScopes","intersectingScopeSets","sizeOtherScopes","getScopeCount","sizeThisScopes","printScopes","AuthToken","rawToken","extractTokenClaims","encodedToken","decodedToken","base64TokenPayload","base64Decoded","checkMaxAge","authTime","maxAge","CacheManager","cryptoImpl","getAllAccounts","currentAccounts","getAccountsFilteredBy","accountValues","accountKey","accountInfo","readIdTokenFromCache","saveCacheRecord","cacheRecord","setAccount","setIdTokenCredential","saveAccessToken","refreshToken","setRefreshTokenCredential","appMetadata","setAppMetadata","credential","currentTokenCache","getCredentialsFilteredBy","currentScopes","currentAccessTokens","accessTokens","removedAccessTokens_1","tokenEntity","removeCredential","setAccessTokenCredential","accountFilter","getAccountsFilteredByInternal","allCacheKeys","matchingAccounts","getAccount","matchHomeAccountId","matchEnvironment","matchRealm","matchNativeAccountId","getCredentialsFilteredByInternal","userAssertionHash","matchingCredentials","idTokens","refreshTokens","credType","getSpecificCredential","matchUserAssertionHash","matchCredentialType","matchClientId","matchFamilyId","matchTarget","matchTokenType","SSH","matchKeyId","updatedCacheKey","updateCredentialCacheKey","getAppMetadataFilteredBy","getAppMetadataFilteredByInternal","matchingAppMetadata","isAppMetadata","getAppMetadata","getAuthorityMetadataByAlias","getAuthorityMetadataKeys","matchedEntity","isAuthorityMetadata","getAuthorityMetadata","removeAllAccounts","removedAccounts","removeAccount","removeAccountContext","ACCOUNT","removedCredentials","cacheEntity","POP","CREDENTIAL","removeAppMetadata","readCacheRecord","cachedAccount","readAccountFromCache","cachedIdToken","cachedAccessToken","readAccessTokenFromCache","cachedRefreshToken","readRefreshTokenFromCache","cachedAppMetadata","readAppMetadataFromCache","readAccountFromCacheWithNativeAccountId","accountCache","accounts","idTokenFilter","credentialCache","numIdTokens","authScheme","authenticationScheme","accessTokenFilter","sshKid","numAccessTokens","familyRT","refreshTokenFilter","appMetadataFilter","appMetadataEntries","numAppMetadata","isAppMetadataFOCI","cloudMetadata","entityScopeSet","requestTargetScopeSet","generateAuthorityMetadataCacheKey","getIdTokenCredential","getAccessTokenCredential","getRefreshTokenCredential","DefaultStorageClass","setServerTelemetry","getServerTelemetry","setAuthorityMetadata","setThrottlingCache","getThrottlingCache","IdTokenEntity","createIdTokenEntity","idTokenEntity","isIdTokenEntity","TimeUtils","nowSeconds","isTokenExpired","expiresOn","expirationSec","wasClockTurnedBack","cachedAt","AccessTokenEntity","createAccessTokenEntity","extExpiresOn","cryptoUtils","refreshOn","requestedClaims","atEntity","currentTime","extendedExpiresOn","tokenClaims","isAccessTokenEntity","RefreshTokenEntity","createRefreshTokenEntity","rtEntity","isRefreshTokenEntity","AppMetadataEntity","generateAppMetadataKey","generateAppMetadataCacheKey","createAppMetadataEntity","isAppMetadataEntity","ServerTelemetryEntity","failedRequests","cacheHits","isServerTelemetryEntity","validateKey","validateEntity","AuthorityMetadataEntity","expiresAt","updateCloudDiscoveryMetadata","fromNetwork","preferred_cache","preferred_network","aliasesFromNetwork","updateEndpointMetadata","authorization_endpoint","token_endpoint","end_session_endpoint","issuer","endpointsFromNetwork","jwks_uri","updateCanonicalAuthority","canonical_authority","resetExpiresAt","isAuthorityMetadataEntity","ThrottlingEntity","isThrottlingEntity","ProtocolUtils","setRequestState","userState","libraryState","generateLibraryState","stateObj","stateString","parseRequestState","splitState","libraryStateString","libraryStateObj","userRequestState","ProtocolMode","AzureCloudInstance","BrowserStorage","cacheLocation","validateWindowStorage","windowStorage","UrlString","_urlString","canonicalizeUri","lowerCaseUrl","validateAsUri","components","getUrlComponents","HostNameAndPort","PathSegments","Protocol","appendQueryString","queryString","removeHashFromUrl","replaceTenantPath","urlObject","pathArray","COMMON","ORGANIZATIONS","constructAuthorityUriFromObject","parseHash","regEx","urlComponents","AbsolutePath","QueryString","pathSegments","getDomainFromUrl","relativeUrl","baseComponents","hashIndex1","hashIndex2","parseQueryString","queryIndex1","queryIndex2","getDeserializedHash","parsedHash","deserializedHash","getDeserializedQueryString","parsedQueryString","deserializedQueryString","hashContainsKnownProperties","error_description","BrowserProtocolUtils","extractBrowserRequestState","parseServerResponseFromHash","locationHash","hashUrlString","BrowserCacheManager","cacheConfig","COOKIE_LIFE_MULTIPLIER","internalStorage","browserStorage","setupBrowserStorage","temporaryCacheStorage","setupTemporaryCacheStorage","migrateCacheEntries","idTokenKey","clientInfoKey","CLIENT_INFO","errorKey","errorDescKey","ERROR_DESC","migrateCacheEntry","newKey","setTemporaryCache","validateAndParseJson","jsonValue","parsedJson","parsedAccount","parsedIdToken","accessTokenKey","parsedAccessToken","refreshTokenKey","parsedRefreshToken","appMetadataKey","parsedMetadata","serverTelemetryKey","serverTelemetry","setWrapperMetadata","wrapperSKU","wrapperVersion","WRAPPER_SKU","WRAPPER_VER","getWrapperMetadata","getActiveAccount","activeAccountKeyFilters","generateCacheKey","ACTIVE_ACCOUNT_FILTERS","activeAccountValueFilters","activeAccountKeyLocal","ACTIVE_ACCOUNT","activeAccountValueLocal","activeAccount","getAccountInfoByFilter","setActiveAccount","activeAccountValueObj","activeAccountKey","activeAccountValue","accountObj","getAccountInfoByHints","loginHint","accountSid","throttlingCacheKey","parsedThrottlingCache","throttlingCache","getTemporaryCache","storeAuthStateInCookie","itemCookie","getItemCookie","setItemCookie","clearItemCookie","cookieName","cookieStr","getCookieExpirationTime","secureCookies","cookieList","clearMsalCookies","cookiePrefix","cookieKey","cookieLifeDays","today","getCache","setCache","ADAL_ID_TOKEN","generateAuthorityKey","generateNonceKey","NONCE_IDTOKEN","generateStateKey","REQUEST_STATE","getCachedAuthority","cachedState","stateCacheKey","authorityCacheKey","updateCacheEntries","authorityInstance","nonceCacheKey","ccsCredential","HOME_ACCOUNT_ID","CCS_CREDENTIAL","UPN","resetRequestCache","REQUEST_PARAMS","ORIGIN_URI","URL_HASH","CORRELATION_ID","NATIVE_REQUEST","setInteractionInProgress","cleanRequestByState","stateKey","cleanRequestByInteractionType","interactionType","stateValue","parsedState","cacheCodeRequest","authCodeRequest","encodedValue","getCachedRequest","encodedTokenRequest","parsedRequest","cachedAuthority","getCachedNativeRequest","cachedRequest","isInteractionInProgress","getInteractionInProgress","INTERACTION_STATUS_KEY","getLegacyLoginHint","adalIdTokenString","msalIdTokenString","cachedIdTokenString","IdToken","currentCacheKey","cacheItem","DEFAULT_SYSTEM_OPTIONS","tokenRenewalOffsetSeconds","preventCorsPreflight","proxyUrl","DEFAULT_LOGGER_IMPLEMENTATION","DEFAULT_NETWORK_IMPLEMENTATION","sendGetRequestAsync","sendPostRequestAsync","DEFAULT_LIBRARY_INFO","sku","cpu","DEFAULT_CLIENT_CREDENTIALS","clientSecret","clientAssertion","DEFAULT_AZURE_CLOUD_OPTIONS","azureCloudInstance","None","tenant","DEFAULT_TELEMETRY_OPTIONS","StubbedNetworkModule","FetchClient","GET","getFetchHeaders","onLine","getHeaderDict","reqBody","POST","optionsHeaders","headerDict","XhrClient","sendRequestAsync","setXhrHeaders","jsonResponse","networkResponse","headers_1","headerArr","headerVal","BrowserUtils","clearHash","replaceHash","urlParts","isInIframe","isInPopup","opener","getCurrentUri","getHomepage","getBrowserNetworkClient","blockReloadInHiddenIframes","blockRedirectInIframe","allowRedirectInIframe","isIframedApp","blockAcquireTokenInPopups","blockNonBrowserEnvironment","isBrowserEnvironment","blockNativeBrokerCalledBeforeInitialized","allowNativeBroker","detectIEOrEdge","msie","msie11","msedge","NavigationClient","navigateInternal","defaultNavigateWindow","navigateExternal","noHistory","DEFAULT_IFRAME_TIMEOUT_MS","EventType","KeyLocation","EventHandler","eventCallbacks","listeningToStorageEvents","handleAccountCacheChange","addEventCallback","removeEventCallback","enableAccountStorageEvents","disableAccountStorageEvents","message_1","cacheValue","parsedValue","ACCOUNT_ADDED","ACCOUNT_REMOVED","ThrottlingUtils","generateThrottlingStorageKey","thumbprint","preProcess","cacheManager","throttleTime","THROTTLING","errorCodes","postProcess","checkResponseStatus","checkResponseForRetryAfter","thumbprintValue","calculateThrottleTime","RETRY_AFTER","error_codes","currentSeconds","removeThrottle","homeAccountIdentifier","shrClaims","NetworkManager","networkClient","sendPostRequest","tokenEndpoint","BaseClient","configuration","authOptions","userAuthOptions","userSystemOptions","systemOptions","userLoggerOption","storageImplementation","storageInterface","networkImplementation","networkInterface","cryptoImplementation","cryptoInterface","clientCredentials","libraryInfo","telemetry","serverTelemetryManager","persistencePlugin","serializableCache","clientCapabilities","azureCloudOptions","skipAuthorityMetadataCache","buildClientConfiguration","networkManager","createTokenRequestHeaders","ccsCred","CONTENT_TYPE","CCS_HEADER","executePostToTokenEndpoint","clearTelemetryCache","updateAuthority","updatedAuthority","discoveryComplete","RequestValidator","validateRedirectUri","redirectUri","validatePrompt","promptValues","validateClaims","validateCodeChallengeParams","codeChallengeMethod","validateCodeChallengeMethod","sanitizeEQParams","eQParams","queryParams","RequestParameterBuilder","addResponseTypeCode","RESPONSE_TYPE","addResponseTypeForTokenAndIdToken","addResponseMode","responseMode","RESPONSE_MODE","addNativeBroker","NATIVE_BROKER","addScopes","addOidcScopes","requestScopes","SCOPE","addClientId","CLIENT_ID","addRedirectUri","REDIRECT_URI","addPostLogoutRedirectUri","POST_LOGOUT_URI","addIdTokenHint","idTokenHint","ID_TOKEN_HINT","addDomainHint","domainHint","DOMAIN_HINT","addLoginHint","LOGIN_HINT","addCcsUpn","addCcsOid","addSid","SID","addClaims","mergedClaims","addClientCapabilitiesToClaims","addCorrelationId","CLIENT_REQUEST_ID","addLibraryInfo","X_CLIENT_SKU","X_CLIENT_VER","X_CLIENT_OS","X_CLIENT_CPU","addApplicationTelemetry","appTelemetry","X_APP_NAME","X_APP_VER","addPrompt","PROMPT","addState","addNonce","NONCE","addCodeChallengeParams","CODE_CHALLENGE","CODE_CHALLENGE_METHOD","addAuthorizationCode","CODE","addDeviceCode","DEVICE_CODE","addRefreshToken","addCodeVerifier","CODE_VERIFIER","addClientSecret","CLIENT_SECRET","addClientAssertion","CLIENT_ASSERTION","addClientAssertionType","clientAssertionType","CLIENT_ASSERTION_TYPE","addOboAssertion","oboAssertion","OBO_ASSERTION","addRequestTokenUse","tokenUse","REQUESTED_TOKEN_USE","addGrantType","grantType","GRANT_TYPE","addClientInfo","addExtraQueryParameters","eQparams","XMS_CC","addUsername","addPassword","addPopToken","cnfString","TOKEN_TYPE","REQ_CNF","addSshJwk","sshJwkString","addServerTelemetry","X_CLIENT_CURR_TELEM","generateCurrentRequestHeaderValue","X_CLIENT_LAST_TELEM","generateLastRequestHeaderValue","addThrottling","X_MS_LIB_CAPABILITY","addLogoutHint","logoutHint","LOGOUT_HINT","createQueryString","queryParameterArray","CacheRecord","accountEntity","accessTokenEntity","refreshTokenEntity","appMetadataEntity","PopTokenGenerator","generateCnf","generateKid","reqCnf","reqCnfString","reqCnfHash","xms_ksl","SW","signPopToken","signPayload","shrNonce","resourceUrlString","resourceUrlComponents","ts","client_claims","TokenCacheContext","tokenCache","ResponseHandler","cacheStorage","validateServerAuthorizationCodeResponse","serverResponseHash","client_info","validateTokenResponse","serverResponse","errString","correlation_id","trace_id","handleServerTokenResponse","serverTokenResponse","reqTimestamp","authCodePayload","handlingRefreshTokenResponse","forceCacheRefreshTokenResponse","serverRequestId","id_token","idTokenObj","auth_time","requestStateObj","key_id","generateCacheRecord","cacheContext","beforeCacheAccess","generateAuthenticationResult","afterCacheAccess","spa_code","generateAccountEntity","access_token","responseScopes","expiresIn","expires_in","extExpiresIn","ext_expires_in","refreshIn","refresh_in","tokenExpirationSeconds","extendedTokenExpirationSeconds","refreshOnSeconds","token_type","refresh_token","foci","cloud_graph_host_name","msGraphhost","msgraph_host","protocolMode","fromTokenCache","requestState","requestId","popTokenGenerator","canonicalAuthority","fromCache","fromNativeBroker","AuthorizationCodeClient","includeRedirectUri","getAuthCodeUrl","createAuthCodeUrlQueryString","authorizationEndpoint","acquireToken","executeTokenRequest","X_MS_REQUEST_ID","responseHandler","handleFragmentResponse","hashFragment","serverParams","getLogoutUri","logoutRequest","createLogoutUrlQueryString","endSessionEndpoint","createTokenRequestBody","requestBody","queryParameters","createTokenQueryParameters","parameterBuilder","tokenQueryParameters","assertion","assertionType","AUTHORIZATION_CODE_GRANT","reqCnfData","sshJwk","tokenBodyParameters","enableSpaAuthorizationCode","RETURN_SPA_CODE","extraScopesToConsent","extractAccountSid","accountLoginHintClaim","extractLoginHint","extraQueryParameters","nativeBroker","postLogoutRedirectUri","login_hint","isOpenIdConfigResponse","EndpointMetadata","InstanceDiscoveryMetadata","NativeStatusCode","RegionDiscovery","detectRegion","environmentRegion","regionDiscoveryMetadata","autodetectedRegionName","IMDS_OPTIONS","getRegionFromIMDS","localIMDSVersionResponse","httpSuccess","region_source","IMDS","httpBadRequest","getCurrentVersion","currentIMDSVersion","FAILED_AUTO_DETECTION","currentIMDSVersionResponse","ENVIRONMENT_VARIABLE","Metadata","Authority","authorityOptions","_canonicalAuthority","regionDiscovery","region_used","region_outcome","canonicalAuthorityUrlComponents","Default","_canonicalAuthorityUrlComponents","replacePath","replaceTenant","cachedAuthorityParts","currentPart","cachedPart","OIDC","resolveEndpointsAsync","metadataEntity","hostnameAndPort","cloudDiscoverySource","endpointSource","CACHE","getEndpointMetadataFromConfig","CONFIG","isAuthoritySameType","harcodedMetadata","getEndpointMetadataFromHardcodedValues","getEndpointMetadataFromNetwork","azureRegionConfiguration","azureRegion","updateMetadataWithRegionalInformation","NETWORK","HARDCODED_VALUES","defaultOpenIdConfigurationEndpoint","authorityMetadata","AUTO_DETECTION_REQUESTED_SUCCESSFUL","AUTO_DETECTION_REQUESTED_FAILED","CONFIGURED_MATCHES_DETECTED","CONFIGURED_NOT_DETECTED","CONFIGURED_NO_AUTO_DETECTION","replaceWithRegionalInformation","getCloudDiscoveryMetadataFromConfig","getCloudDiscoveryMetadataFromHarcodedValues","getCloudDiscoveryMetadataFromNetwork","cloudDiscoveryMetadata","parsedResponse","getCloudDiscoveryMetadataFromNetworkResponse","isInKnownAuthorities","createCloudDiscoveryMetadataFromHost","instanceDiscoveryEndpoint","isCloudInstanceDiscoveryResponse","knownAuthorities","generateAuthority","authorityString","authorityAzureCloudInstance","isAlias","isPublicCloudAuthority","buildRegionalAuthorityString","authorityUrlInstance","authorityUrlParts","hostNameAndPort","AuthorityFactory","createDiscoveredInstance","authorityUri","acquireTokenAuthority","authorityUrl","ServerTelemetryManager","telemetryRequest","cacheOutcome","NO_CACHE_HIT","apiId","wrapperVer","telemetryCacheKey","platformFields","requestWithRegionDiscoveryFields","getRegionDiscoveryFields","lastRequests","getLastRequests","maxErrors","maxErrorsToSend","errorCount","cacheFailedRequest","incrementCacheHits","numErrorsFlushed","serverTelemEntity","serverTelemetryEntity","dataSize","regionDiscoveryFields","regionUsed","regionSource","regionOutcome","updateRegionDiscoveryMetadata","setCacheOutcome","BaseInteractionClient","storageImpl","navigationClient","nativeMessageHandler","system","clearCacheOnLogout","initializeBaseRequest","validatedRequest","getRedirectUri","requestRedirectUri","initializeServerTelemetryManager","telemetryPayload","getDiscoveredAuthority","requestAuthority","StandardInteractionClient","initializeAuthorizationCodeRequest","generatedPkceParams","initializeLogoutRequest","validLogoutRequest","getLogoutHintFromIdTokenClaims","createAuthCodeClient","requestAzureCloudOptions","getClientConfiguration","clientConfig","discoveredAuthority","validateAndExtractStateFromHash","requestCorrelationId","platformStateObj","getAuthorityMeasurement","StandardInteractionClientGetDiscoveredAuthority","userAuthority","builtAuthority","subErrorCode","initializeAuthorizationRequest","browserState","legacyLoginHint","NativeAuthErrorMessage","NativeAuthError","isFatal","PERSISTENT_ERROR","DISABLED","ACCOUNT_UNAVAILABLE","USER_INTERACTION_REQUIRED","USER_CANCEL","NO_NETWORK","createUserSwitchError","createTokensNotFoundInCacheError","RefreshTokenClient","atsMeasurement","RefreshTokenClientAcquireToken","forceCache","acquireTokenByRefreshToken","acquireTokenWithCachedRefreshToken","noFamilyRTInCache","clientMismatchErrorWithFamilyRT","RefreshTokenClientAcquireTokenWithCachedRefreshToken","refreshTokenRequest","acquireTokenMeasurement","RefreshTokenClientExecuteTokenRequest","BaseClientCreateTokenRequestHeaders","REFRESH_TOKEN_GRANT","SilentFlowClient","acquireCachedToken","FORCE_REFRESH","NO_CACHED_ACCESS_TOKEN","CACHED_ACCESS_TOKEN_EXPIRED","REFRESH_CACHED_ACCESS_TOKEN","generateResultFromCacheRecord","SilentCacheClient","silentRequest","SilentCacheClientAcquireToken","acquireTokenSilent_silentFlow","createSilentFlowClient","silentAuthClient","cachedToken","error_1","logout","initializeSilentRequest","NativeInteractionClient","provider","nativeStorageImpl","nativeStorageManager","silentCacheClient","nativeATMeasurement","NativeInteractionClientAcquireToken","initializeNativeRequest","nativeRequest","acquireTokensFromCache","isNativeBroker","messageBody","GetToken","sendMessage","validatedResponse","validateNativeResponse","handleNativeResponse","createSilentCacheRequest","acquireTokenRedirect","navigationOptions","redirectNavigationTimeout","navigateToLoginRequestUrl","handleRedirectPromise","authorityPreferredCache","accountProperties","responseTokenType","shr","responseAccessToken","shrParameters","mats","getMATSFromResponse","isResponseFromCache","MATS","is_cached","remainingProperties","getPrompt","ssoSilent","windowTitleSubstring","extraParameters","extendedExpiryToken","NativeMessageHandler","handshakeTimeoutMs","extensionId","handshakeResolvers","responseId","messageChannel","windowListener","onWindowMessage","createProvider","preferredProvider","sendHandshakeRequest","backupProvider","HandshakeRequest","onChannelMessage","timeoutId","handshakeResolver","HandshakeResponse","isNativeAvailable","nativeExtensionProvider","InteractionHandler","authCodeModule","authModule","handleCodeResponseFromHash","networkModule","authCodeResponse","handleCodeResponseFromServer","validateNonce","nonceKey","cachedNonce","cloud_instance_host_name","updateTokenEndpointAuthority","cachedCcsCred","checkCcsCredentials","tokenResponse","cloudInstanceHostname","cloudInstanceAuthorityUri","cloudInstanceAuthority","PopupClient","unloadWindow","nativeStorage","popupName","generatePopupName","popupWindowAttributes","asyncPopups","acquireTokenPopupAsync","popup","openSizedPopup","generateLogoutPopupName","mainWindowRedirectUri","logoutPopupAsync","acquireTokenPopup","Popup","validRequest","authClient","fetchNativeAccountIdMeasurement","FetchAccountIdWithNativeBroker","navigateUrl","interactionHandler","popupParameters","popupWindow","initiateAuthRequest","POPUP_OPENED","monitorPopupForHash","state_1","nativeInteractionClient","finally","LOGOUT_START","logoutPopup","logoutUri","LOGOUT_SUCCESS","openPopup","waitForLogoutPopup","LOGOUT_FAILURE","LOGOUT_END","maxTicks","windowHashTimeout","pollIntervalMilliseconds","intervalId","cleanPopup","urlNavigate","popupParams","currentWindow","winLeft","screenLeft","winTop","screenTop","winWidth","innerWidth","winHeight","innerHeight","popupSize","popupPosition","RedirectHandler","redirectStartPage","redirectTimeout","onRedirectNavigate","RedirectClient","handleBackButton","persisted","getRedirectStartPage","responseHash","getRedirectResponseHash","loginRequestUrl","loginRequestUrlNormalized","currentUrlNormalized","handleHash","handleHashResult","processHashOnRedirect","homepage","cachedHash","currentAuthority","requestStartPage","SilentHandler","navigateFrameWait","loadFrame","loadFrameSync","monitorIframeForHash","timeoutMark","removeHiddenIframe","contentHash","frameHandle","createHiddenIframe","authFrame","SilentIframeClient","SilentIframeClientAcquireToken","Silent","silentTokenHelper","silentHandler","msalFrame","iframeHashTimeout","SilentRefreshClient","SilentRefreshClientAcquireToken","createRefreshTokenClient","refreshTokenClient","TokenCache","loadExternalTokens","cacheRecordAccount","loadAccount","loadIdToken","loadAccessToken","loadRefreshToken","requestHomeAccountId","HybridSpaAuthorizationCodeClient","SilentAuthCodeClient","cloudInstanceHostName","BrowserPerformanceMeasurement","startMark","endMark","supportsBrowserPerformance","clearMeasures","entriesForMeasurement","BrowserPerformanceClient","getPageVisibility","startPageVisibility","endPageVisibility","PublicClientApplication","activeSilentTokenRequests","loginRedirect","getRequestCorrelationId","loginPopup","acquireTokenSilent","AcquireTokenSilent","preflightBrowserEnvironmentCheck","silentRequestKey","cachedResponse","acquireTokenSilentAsync","cacheLookupPolicy","ACQUIRE_TOKEN_START","astsAsyncMeasurement","AcquireTokenSilentAsync","acquireTokenNative","__awaiter","createSilentIframeClient","createSilentCacheClient","silentRequest_1","requestWithCLP_1","acquireTokenFromCache","cacheError","AccessToken","ACQUIRE_TOKEN_NETWORK_START","refreshTokenError","isServerError","isInvalidGrantError","AccessTokenAndRefreshToken","RefreshToken","Skip","acquireTokenBySilentIframe","ACQUIRE_TOKEN_SUCCESS","tokenRenewalError","ACQUIRE_TOKEN_FAILURE","ClientApplication","userInputAuth","userInputCache","userInputSystem","userInputTelemetry","DEFAULT_AUTH_OPTIONS","AAD","DEFAULT_CACHE_OPTIONS","DEFAULT_LOGGER_OPTIONS","DEFAULT_BROWSER_SYSTEM_OPTIONS","loadFrameTimeout","nativeBrokerHandshakeTimeout","buildConfiguration","redirectResponse","hybridAuthCodeResponses","cacheOptions","DEFAULT_BROWSER_CACHE_MANAGER","nativeCacheOptions","nativeInternalStorage","INITIALIZE_START","INITIALIZE_END","loggedInAccounts","redirectResponseKey","HANDLE_REDIRECT_START","nativeClient","redirectClient","createRedirectClient","LOGIN_SUCCESS","HANDLE_REDIRECT_END","LOGIN_FAILURE","LOGIN_START","canUseNative","getNativeAccountId","atPopupMeasurement","AcquireTokenPopup","createPopupClient","ssoSilentMeasurement","SsoSilent","SSO_SILENT_START","silentIframeClient","SSO_SILENT_SUCCESS","SSO_SILENT_FAILURE","acquireTokenByCode","ACQUIRE_TOKEN_BY_CODE_START","atbcMeasurement","AcquireTokenByCode","hybridAuthCode_1","acquireTokenByCodeAsync","ACQUIRE_TOKEN_BY_CODE_SUCCESS","ACQUIRE_TOKEN_BY_CODE_FAILURE","createSilentAuthCodeClient","commonRequest","RefreshTokenAndNetwork","createSilentRefreshClient","logoutRedirect","getAccountByUsername","allAccounts","getAccountByHomeId","getAccountByLocalId","preflightInteractiveRequest","getTokenCache","getLogger","setLogger","initializeWrapperLibrary","setNavigationClient","getConfiguration","PROJECT_ITEM_TYPE_NAMES","ARGUS","ENV","AD_CLIENT","AD_INSTANCE","AD_TENANT","handleLoginResponse","msalInstance","authenticate","authenticateAPIS","setInitialRegion","authenticated","AD_AUD","userLogOut","GEOS","GEO_CODE","API_BASE_URL","HUB_BASE_URL","newAPI","socketURL","LABEL","readAsText","__isRetryRequest","initializeRegionalAPI","currentAPI","currGeoCode","CURRENT_GEO","setCurrentRegion","combinedCode","codes","targetRegion","countryCode","getCurrentBaseUrl","getCurrentRegion","getHomeRegion","getCurrentAPI","getUsers","memberFirmOnly","adminOnly","adminContainer","Permissions","setDocumentListColumnOptions","foldersFirst","includeFolders","filterKiraFolders","reprocessItem","getItemTemplates","templateID","getExports","_ref14","exportType","createExport","_ref15","exportOptions","deleteExport","_ref16","exportId","getProjectTags","_ref19","createProjectTag","_ref20","getDocumentPageBinary","getExtractionFieldsByCategoryID","getProjectTemplateExtractionFields","createExtractionField","editExtractionFieldRecord","fieldId","getExtractionFieldGroups","createExtractionFieldGroup","_ref27","addExtractionFieldToGroup","_ref31","addUserToExtractionField","_ref33","getExtractionFieldDetails","deleteExtractionField","updateExtractionField","_ref36","updateNameOnly","trainExtractionFields","_ref37","isGroup","createExtractionFieldExport","exportEntityIDs","getComparisonSetDetails","_ref45","compareId","getComparisonBaseDocument","_ref48","getComparisonSummary","_ref49","validateComparisonName","_ref51","createComparison","_ref52","documentIds","entityId","_ref53","comparedDocuments","existingCompareDocuments","referenceId","_ref54","enableSupportAccess","_ref56","createProject","_ref58","createProjectManually","_ref59","externalEngagementId","clientName","fiscalYearEnd","wbsCode","respondArchiveRequest","_ref65","isApprove","createTemplate","_ref75","getTemplates","_ref76","getTemplateExtractions","_ref77","deleteExtraction","_ref78","getProjectCreationExtractionForGroup","updateTemplate","_ref79","getEngagementDetails","getProjectUsers","_ref82","_ref86","_ref87","_ref88","_ref89","_ref90","_ref91","_ref92","adminUserFromApiFormat","apiUser","accessActivatedDate","enableOrganizationCode","organization","organizationCode","disableOrganizationCode","getAboutInfo","getScheduledReports","getExtendedFeaturesforContainer","isFromAdmin","getTimeZones","AuthSuccess","EmptyState","customClass","_jsxs","Icon","debouncedOnClick","buttonSize","PPMDBanner","onApproveClick","isArchive","isPending","Modal","isSettingMenuOpen","getElementById","enhanceWithClickOutside","LanguageSelect","isMenuOpen","selectedLanguage","languageSelectedByUser","handlelanguageSubmit","MenuWrapper","MenuButton","localCode","FormatSelect","userChangedFormat","formatSelected","handleSuccessSubmit","setFormat","loadFormatData","IsDefault","CultureCode","DisplayText","userPreferencesString","Dateselect","userChangedDateFormat","DateformatSelected","setDateFormat","DateCode","isOn","closePopup","handleFormatSuccessSubmit","handleFormatErrorSubmit","IsDsEnabled","onChangeDSEnabled","userDsValue","setUserDSValue","isDsValueLoading","setisDsValueLoading","isDataSnipperContainerSettingEnable","setDataSnipperContainerSetting","parseStringToBoolean","datasnipperresponse","containerApplicationSettingName","containerApplicationSettingValue","stringValue","changeLanguage","DateSelect","allowDataSnipper","_Fragment","changeUserDSValue","saveFormatsAndLanguage","selectedDateFormat","PreferenceName","userSelectedFormat","CurrentPreference","UserId","postPrefferedFormat","userSelectedDateFormat","postPrefferedDateFormat","postDsEnabledForUser","AccountSettingsPopup","makeEmptyFunction","thatReturns","thatReturnsFalse","thatReturnsTrue","thatReturnsNull","thatReturnsThis","thatReturnsArgument","emptyFunction_1","invariant_1","propIsEnumerable","test1","test2","test3","shouldUseNative","ReactPropTypesSecret_1","factoryWithThrowingShims","CONSTANT","HIDE","REBUILD","SHOW","dispatchGlobalEvent","dataEventOff","show","isCapture","currentItem","hideTooltip","setUntargetItems","getTargetArray","showTooltip","targetArray","customListeners","bodyListener","_options$respectEffec","respectEffect","_options$customEvent","customEvent","tip","forId","isCustomEvent","isTargetBelongsToTooltip","getEffect","makeProxy","findCustomEvents","dataAttribute","getBody","getPosition","place","desiredPlace","effect","_getDimensions","getDimensions","tipWidth","tipHeight","_getDimensions2","targetWidth","targetHeight","_getCurrentOffset","getCurrentOffset","mouseX","mouseY","getDefaultPosition","_calculateOffset","extraOffset_X","extraOffset_Y","windowWidth","windowHeight","_getParent","getParent","parentTop","parentLeft","getTipOffsetLeft","offset_X","getTipOffsetTop","offset_Y","outsideRight","getTipOffsetRight","outsideBottom","getTipOffsetBottom","outside","outsideLeft","outsideTop","placesList","insideList","newPlace","isNewState","shouldUpdatePlace","_node$getBoundingClie","boundingClientRect","_getDimensions3","disToMouse","currentParent","getTipContent","getContent","parseAria","ariaObj","ReactTooltip","hide","rebuild","globalRebuild","mount","unbindListener","bindListener","globalShow","globalHide","hasTarget","staticMethods","bindWindowEvents","resizeHide","onWindowResize","unbindWindowEvents","ele","customBindListener","dataEvent","customListener","customUnbindListener","isBodyMode","bodyMode","bindBodyListener","possibleCustomEvents","possibleCustomEventsOff","customEvents","customEventsOff","unbindBodyListener","bodyModeListeners","_event","mouseover","updateTooltip","mouseout","targetEventOff","_event2","_event3","_class2","extraClass","delayHide","delayShow","currentEvent","ariaProps","isEmptyTip","originTooltip","isMultiline","delayShowLoop","delayHideLoop","delayReshow","intervalUpdateContent","methodArray","insecure","clearTimer","removeScrollListener","tooltipRef","msMatchesSelector","mozMatchesSelector","nodeList","nodeListToArray","globalEventOff","unbindBasicListener","isCaptureMode","bindRemovalTracker","unbindRemovalTracker","isGlobalCall","switchToSolid","FocusEvent","scrollHide","overridePosition","reshowDelay","delayUpdate","addScrollListener","_getContent","afterShow","getTooltipContent","delayTime","mouseOnToolTip","isInvisible","isScroll","afterHide","isVisible","listenForTooltipExit","removeListenerForTooltipExit","hideTooltipOnScroll","tooltipClass","supportedWrappers","wrapperClassName","newAriaProps","_objectSpread2","watchWindow","MozMutationObserver","mutations","removedNodes","subtree","removalTracker","AccountDropdown","isDsEnabled","onLogOut","saveFormat","closeSettingsPopup","verticalAlign","_onClick","_ref2$component","isDuplicateNavigation","ariaCurrent","_ref$ariaCurrent","_ref$activeClassName","classNameProp","isActiveProp","locationProp","styleProp","escapedPath","classnames","showScrollbarWithoutHover","CustomScrollbars","All_TABS","ALLPROJECTS","USERMANAGEMENT","PROJECTDETAILS","TEAMMEMBERS","WORKFLOWS","EXTRACTIONFIELDS","EXTRACTIONOVERVIEW","ANALYTICSCHAT","REVIEWSTATUS","COMPARE","COUNTRYMANAGERDASHBOARD","MANAGEEXTRACTIONFIELDS","ROOT","MAINTENANCEMESSAGE","TRANSLATEDOCUMENT","TRANSLATETEXT","TRANSLATIONQUEUE","NavigationItem","selectionTitle","isMenuExpanded","curTab","currentTab","overallPath","OnMenuSelected","TranslationNavigationItem","selectedTab","setSelectedTab","translationMenu","projectCreation","isShown","SearchMenu","isDocOrCompareView","defaultSearchValue","onVisibilityChange","customValue","setType","setView","isSearchResultsOpen","fromProjectListPage","onDropdownClick","onOptionClick","fromQuickStudyPage","fromUserManagementPage","DocumentSearch","loadingPageData","emphasis","isKira","documentChanged","PADDING_CHARACTERS_LEAD","PADDING_CHARACTERS_TRAIL","performSearch","checkDocumentProcessType","getCharacters","formatedCharacters","possibleMatch","burndown","lead","setSearchResults","hideDropdown","goToPage","document_page_change","setEmphasis","setEmphasisNext","setEmphasisPrevious","clearSearch","prepareData","getCurrentDocumentCompleteLayout","getDocumentCharacters","SearchInputField","onEnter","onExit","inputDisabled","ProjectListSearch","searchProjects","searchProjectList","fromLandingPage","GroupsSearch","groupOptions","UserSearch","SEARCH_CATEGORIES","SEARCH_OPERATORS","SEARCH_MODIFIERS","SEARCH_RECORD_MODIFIERS","TAG_TYPE_MODIFIERS","GLOBAL_SEARCH_CATEGORIES","SEARCH_CATEGORY_DISPLAY_NAMES","SEARCH_CATEGORY_VERBOSE_NAMES","SEARCH_OPERATOR_DISPLAY_NAMES","SEARCH_MODIFIER_DISPLAY_NAMES","SEARCH_RECORD_MODIFIER_DISPLAY_NAMES","TAG_TYPE_DISPLAY_NAMES","RESULT_CATEGORIES","RESULT_CATEGORY_KEYS","RESULT_CATEGORY_ID_KEYS","alwaysShowDefaultMessage","selectedOption","customStyle","CATEGORY_OPTIONS","AND_OR_OPTIONS","TAG_TYPE_OPTIONS","INCLUDE_EXCLUDE_OPTIONS","RECORD_OPTIONS","AdvancedSearchFilterItem","isFocused","onSearchStringChange","onQueryChange","renderPlaceholder","onAndOrOptionSelect","onAndOr","renderAndOrOption","renderAndOrDropdown","andOrValue","onCategoryOptionSelect","onCategorySelect","renderCategoryOption","renderCategoryDropdown","isFirstItem","categoryValue","onTagTypeSelect","renderTagTypeOption","renderTagTypeDropdown","tagTypeValue","onIncludeExcludeOptionSelect","onIncludeExclude","renderIncludeExcludeOption","renderIncludeExcludeDropdown","includeValue","onRecordOptionSelect","onRecord","renderRecordOption","renderRecordDropdown","recordValue","renderSearchInput","searchStringValue","onCancel","AdvancedSearch","queryValues","onAddRow","previousQuery","onRowDelete","updateData","tagType","include","getAdvancedSearchPayload","andOrId","andOr","fieldTypeId","includeExcludeId","inputValue","onSearchClick","onAdvancedSearch","onResetClick","renderSearchRows","AdvancedSearchItem","isSearchButtonEnabled","CategoryContainer","onResultClick","onSearch","getSearchDocument","getSearchFolder","resultKey","resultValue","renderResult","renderCategories","onViewMore","categoryId","categoryData","filteredResults","showAdvancedSearch","Checkbox","ResultsContainer","onSearchSelected","getFoldersSelected","onSearchAll","categoryKey","onCheckChange","onCheckAllChange","resultList","checkAllState","SearchDropdown","selectedResults","onClickOutside","autocomplete","goToAdvancedSearch","inputChange","isAdvancedSearch","onReset","Radio","getIconValue","selectedValue","RadioGroup","ValidatedTextField","isFirstTime","isDirty","updateValue","onValid","onInvalid","headingId","isFieldValid","CompareSidebarCreate","isProcessing","isFormValid","isDuplicated","onComparisonNameChange","onComparisonNameBlur","onBaseDocumentChange","nameFieldRef","onSubmit","comparedDocumentsList","processingEntitiesCount","documentComparisonId","setFormRef","formElem","validateForm","checkValidity","isNonduplicateName","isValidFormat","isValidLength","createEmptyStateImage","COMPARE_TABS","Comparisons","selectedComparison","onComparisonChange","comparisonsEmptyStateImage","CompareSidebar","updateComparedDocuments","nextComparedDocuments","selectedItem","onComparisonsTabClick","onCreateTabClick","onSubmitAddToComparison","onSubmitCreateComparison","onCloseClick","localeCompare","EXPORT_FORMATS","EXPORT_LAYOUTS","EXPORT_QUALITY","TagsList","selectedTags","toggleTagSelection","toggleAllTagsSelection","allIds","onBackClick","allSelectedStatus","Tooltip","inline","closeFunction","confirmFunction","declineFunction","ComplicatedIcon","toggleFunction","disableInteraction","extractionId","projectIds","ProjectIds","resp","refreshFunction","showEFTrainingSuccessModal","isPublic","getProperties","trainingDiff","isGenAITemplates","tooltip","iconSize","TemplatesList","expandedTemplates","toggleTemplateExpandedState","toggleAllFieldsInTemplate","selectedFieldsByTemplateId","setSelectedFields","selectedExtractionFields","toggleExtractionFieldSelection","showTrainingProgress","isExpanded","selectedFields","numberOfDocuments","ExportSidebarTemplatesList","numSelectedFields","Create","isShowingTagsList","isShowingTemplates","onSelectedTagsChange","setSelectedTags","onSelectedFieldsChange","setSelectedFieldsByTemplateId","isShowingTemplatesList","toggleIsShowingTagsList","toggleIsShowingTemplatesList","projectItem","renderFormatSection","onFormatChange","renderLayoutSection","onLayoutChange","isDownloadPerDocument","toggleIsDownloadPerDocument","emptyStateImage","numExtractionFields","numFullySelectedTemplates","numFullyUnSelectedTemplates","plurality","numExtractions","totalExtractions","numTemplates","DocumentDownload","apiCallHeaders","linkUrl","documentLoading","documentLoaded","documentFilename","supportEmail","newWindows","downloadDocument","documentUrl","downloadLink","linkBody","EXPORT_STATUSES","EXPORT_STATUS_NAMES","Progress","downloadingDocument","getExportTokens","exportDetailID","getExportToken","_ref18","renderErrorMessage","statusName","exportStateId","exportStateDate","exportRetentionInHours","TABS","TAG_OPTIONS","ExportSidebar","isLoadingExports","quality","selectedItemIds","responses","onExportUpdate","exportDetailId","updatedExports","showCreateTab","showProgressTab","onQualityChange","exportQuality","tagsOptions","exportOption","prevRoom","currRoom","Pagination","onPrevPageClick","onPageChange","onNextPageClick","onPageSizeChange","pageSizeStorageKey","pageSizeChangeFunction","pageSizeOptions","totalPageCount","totalRecordCount","userSelection","userPageSize","calculatedPageStart","currentPageStart","currentPageEnd","FixedTable","scrollElem","setScrollRef","FixedHeader","SharedPagination","cardSource","cardTarget","dragIndex","hoverIndex","moveOption","Option","onCheckboxChange","isChecked","ColumnOptions","onApply","dragOption","updatedOptions","defaultRootColumnsToShow","ITEM_STATUS_NAMES","ITEM_STATUS_CLASSNAMES","ITEM_TYPE_ICONS","ItemList","Avatar","initials","WRAPPER_STYLE","borderBottom","WRAPPER_STYLE_TEAMMEMBERS","INPUT_PROPS","INPUT_PROPS_TEAMMEMBERS","UserAutocomplete","searchUsers","getInputProps","teammembersPage","onInputFocus","searchOnFocus","showAllOnEmptySearch","renderAutocompleteMenu","renderAutocompleteItem","isHighlighted","selectedUserName","AssignPopover","selectedUser","getAssignments","projectItemIds","getProjectItemAssignments","allAssignments","userIds","assignment","modified","addAssignment","globalPersonId","createProjectItemAssignments","removeAssignment","_ref9","deleteProjectItemAssignments","onUserNameChange","onSelectUser","isAddEnabled","selectedUserAssignment","selectedItemId","preferredFullName","AssignCell","isHovering","isEditing","onEditClick","onPopoverClose","renderName","_recordData$tags","recordData","ColorHelper","PROJECT_ITEM_RESERVED_CHARACTERS_REGEX","isProjectItemNameValid","getFileExtension","NameCell","inputElem","onInputChange","renameItem","mountInput","execCommand","blur","isSearchResultsPage","onNameClick","extension","ConfirmModal","checkboxCopy","disableSubmit","cancelText","confirmText","checkboxState","TagsPopover","itemTags","projectTags","showConfirmationModal","getItemTags","_ref21","itemTagsById","visualsPageMode","addTag","existingTag","newOrExistingTag","_ref22","addItemTag","removeItemTag","_ref23","onTagNameChange","renderTagName","onTagAddedToDocument","updatedTag","itemTag","tagProjectItems","onTagRemovedFromDocument","tagProjectItem","renderAutocompleteInput","menuItems","filteredItemTags","Confirm","TagsCell","filteredTags","FileListRow","deselectItem","shouldIgnoreMouseDown","onRowMouseDown","setIsDraggingValidItem","collapseExpandedRows","getItemLink","isDraggingOver","TABLE_ROWS","hasExtractionFieldInstanceDetails","groupedRecords","currentRecordData","existingIndex","FileListRecordItem","distanceTravelled","isOver","itemDragStart","isDraggingValidItem","itemDragEnd","Sorting","allFilters","allFiltersArray","filteredFilters","filterText","showDropdown","setUpFilters","filterOptions","getFilterOptions","filterFunction","containsFilter","translatedName","filterFilters","toggleFilter","toggleAllFilters","applyFilters","selectedFilters","toggleDropdown","toggleButton","clearFilters","searchFunction","targetFilter","sortFunction","sortDirection","sortKeyAscending","sortKeyDescending","DragDropContext","MouseBackEnd","DragHelper","dragHelper","currentOffset","getSelectedItemIds","DragLayer","hasPastThresholdDistance","expandedItemId","isSelectAllPopoverOpen","sorting","filtering","reloadCurrentFolder","setSearch","isFiltering","setFiltering","getProjectStatus","GROUPED_ITEM_STATUSES","selectAllItems","deselectAllItems","mouseDownItem","isItemValid","expandItem","itemId","toggleSelectAllPopover","globalSelectAllItems","scrollContainerIfNeeded","itemOffset","containerRect","distanceFromTop","distanceFromBottom","scrollInterval","getColumnOptions","onFilterChange","loadSearchResults","folderOptions","TABLE_HEADERS","getFolderFilterAssigneeOptions","getFolderFilterReviewerOptions","getFolderFilterTagOptions","getFolderFilterTemplateOptions","withDragDropContext","formattedData","migrateOptions","Breadcrumbs","breadcrumbs","DeleteModal","singleMessages","deleteItems","GenericDeleteModal","_ref11","_ref10","KebabMenu","onItemSelected","isReprocessDisabled","isKiraProjectItemSelected","selectedFolders","isGenAIWorkBenchModeActive","hideReview","hasSelectedFolders","DateFormatTooltip","closeInnerPopup","showInnerTooltip","InnerTooltip","ProjectDateFormatSelection","showInnertoolTip","disableApply","userChangedFormatValue","closeProjectDateFormatSelectionPopup","closeDateFormatPopUp","saveDateFormat","_currentFolder$parent","showProjectDateFormatSelection","postSuccessCallback","DateFormatPreference","closeSaveGridPopup","applySaveGridPopup","isMoveModel","isConfirmationWindowOpen","closeMovePopupConfirmation","selectedFolder","validateDateFormatSelection","foldername","showDateSelectionPopup","changePopupDisplay","selectedFolderCategoryID","handleSuccessCallback","FolderItem","onFolderNameClick","onFolderSelected","MovePopover","currentFolderId","initialFolder","projectItemsById","isLoadingFolders","onBack","moveTemplate","selectedTemplateId","allowedSelectedItems","closeMovePopupConfirmationWindow","isGenAIProcessingEnabled","MovePopupConfirmation","CurrentFolderTemplate","onEdit","onEditTemplate","editable","ReprocessPopover","documentStateUpdated","_this$props$currentFo","isDateFormatSavedWhileReprocess","tempCategoryID","apiTemplateSelections","matchingTemplate","reload","_templates$","_templates$2","ReviewPopover","_ref24","markAllDocumentsAsReviewed","numReviewed","TemplatesPopover","onTemplateChange","assignTemplates","UploadButton","_this$props$currentFo2","isDateFormatSaved","inputElement","onFilesSelected","setDocumentRoom","isConfirmDisabled","setIsConfirmDisabled","isLoadingTemplates","setIsLoadingTemplates","getSelectedItems","fetchItemTemplates","projectTemplateExtractionFields","roomsToJoin","_item$projectTemplate","TOOLBAR_PERMISSIONS","ToolbarButton","onToolbarOptionClick","Toolbar","hideReprocess","setActiveToolbarOption","openKiraProcessingModel","isDocumentProcessingEnabled","kiraTemplates","getselectedKiraTemplates","closeActiveOption","renderActiveOption","activeToolbarOption","DeleteModalContainer","TemplatesPopoverContainer","MovePopoverContainer","isGenAIProjectItemSelected","ConfirmReprocessModal","staticToolbarOptions","quickToolbarOptions","itemSelected","isFolder","allFiles","selectedItemsTypeId","selectedTemplateIds","selectedFileIds","currentTemplateId","kebabToolbarOptions","getAllOptions","filterOptionsByPermissions","_item$projectTemplate2","selectedProjectItemId","isKiraTemplateSelected","isGenAITemplateSelected","goToEditTemplate","parents","showUploadButton","onUploadClick","currentTemplate","templateData","getNextDocuments","getNextFolders","getCurrentFolder","getAdvancedResults","getGlobalResults","getCategoryName","pageQuery","onRouteChange","onSearchExit","clearActiveToolbarOption","selectedComparisonId","refreshData","emptySearchImage","SearchResultsToolbarContainer","SearchResultsContainer","onSortOrder","ExportSidebarContainer","CompareSidebarContainer","FileListSearch","isDropdownOpen","isFilterView","isAdvancedView","externalSearch","onSearchInputChange","disableSearch","onSearchInputKeyPress","getGlobalSearchResults","onSearchInputKeyUp","onSearchInputCancelClick","onSearchInputFocus","onSearchInputBlur","onAdvancedSearchButtonClick","onSearchButtonClick","onAdvancedSearchClick","advancedPayload","onAdvancedSearchCancelClick","onSearchDropdownBlur","onSearchDropdownClickOutside","onSearchDropdownSearch","onSearchDropdownSearchAll","onSearchDropdownReset","categoryNum","renderAdvancedSearchQueryItem","includeExcludeValue","renderAdvancedSearchQuery","queryItems","nextLocation","showSearchResults","advancedSearchButton","searchButton","Highlighted","highlight","CompareDropdown","onItemClick","CompareSearch","compareData","searchResults","SENTENCE_LENGTH","getBaseAndCompareData","getSearchAdjacentResults","compareSetSearch","cleanData","contextualData","findNeighbors","findSearchIndexes","mapSearches","scrollIndex","compareSetEmphasis","AnalyticsSearch","fileListSearchProps","UniversalSearch","searchType","setSearchType","documentViewerSetSearchResults","TextArea","internalValue","onRef","_this$props$clientInf","_prevProps$clientInfo","computeScrollHeight","currentHeight","newHeight","computeStyle","_calculateCustomStyle","calculateCustomStyles","computeStyleForMATTextArea","_calculateCustomStyle2","computeStyleForClientTextArea","_calculateCustomStyle3","rating","feedback","_state$feedback","_state$feedback$trim","handleErrorSubmit","stars","ratingDescription","newRating","feeedback","domRef","MAX_HEIGHT","handleSubmit","userEmail","globalPersonID","PageMetaData","EmailID","postNewRating","HelpDropdown","loadingDocument","isRatingModalOpen","handleFeedbackSubmit","loadAboutInfo","fromExtractionPage","fromTranslationPage","support","submitOmniaIdeaRequest","omniaIdeaPortalURL","_link","messageId","pageLinks","extractionPage","translationPage","faq","gettingStartedQRG","conductingReviewQRG","extractionFieldsQRG","analyticsQRG","managingProjectQRG","detailTestingQRG","trainingPrivateEFQRG","qrg","otherDocuments","LINKS","releaseNotes","RateApplication","changeMenuState","isAllowed","changeAllowedFeatures","accessibleFeatures","fromUnauthorizedPage","maintenanceBannerMessages","maintenanceMessages","changemaintenanceMessages","messagesToLoad","recentClosedMaintenanceMessages","updateClosedMessages","messageIds","stringSortFunction","dateSortFunction","numberSortFunction","SORT_KEYS","SORT_HEADERS","sortName","SORT_FUNCTIONS","SortByDropdown","showSortBy","handleSortClick","sortValue","onSortClick","heading","getCurrentContainer","getContainerGEO","getCurrentMemberFirmCode","onIconClick","onCreateProjectType","onCreate","_currentUser$adminCon","showIcons","loadState","onUserModeChange","userMode","onContainerChange","isWorkspaceButtonHidden","containerName","iconValue","allowProjectCreation","allowWorkspaceCreation","ContainerSelectionModal","toBeCached","containers","cached","countryName","LANDINGPAGE_PATHS","_props$currentUser","_props$currentUser$ad","tableOrTile","setTableOrTile","setUserMode","setSortKey","sortAsc","setSortAsc","showContainerSelectionModal","setConstainerSelectionModel","translationLoaded","projectType","setprojectType","featureId","selectedGeo","loadUsers","loadExtractionFields","getOrganizationCodes","getEnabledOrganizationCodes","createWorkspace","memberFirmContainers","mfc","getCurrentCountryCode","GEO_PATH","ToolBar","setTableOrTileView","sortingKey","onSortingChange","userModeValue","onContainerSelected","headerId","pageViewer","showCloseButton","Header","aboutInfo","isMenuShown","closeDisclaimerBanner","onCloseDisclaimerBanner","loadMaintenanceBannerMessage","_aboutArgus$data","_aboutArgus$data$omni","hardRefresh","fromReportsPage","fromMaintenancePage","fromAdminPage","fromTrainingPage","fromUserActivationPage","fromVisualsPage","omniaUrl","omniaURLs","logoImage","OmniaLogo","ProjectsLeftMenu","LandingPageTabs","MaintenanceMessageBanner","DisclaimerBanner","Footer","_aboutArgus$data$foot","_aboutArgus$data2","_aboutArgus$data3","_aboutArgus$data4","_aboutArgus$data4$pro","privacyLink","footerInfo","termsOfUse","privacy","cookiesLink","openCookiePrivacyCenter","thirdPartyLink","notices","aboutLink","productInfo","productVersion","GenericError","descriptionMessageId","titleMessageId","emptyAccessDeniedImage","STEPS","DEFAULT_STEPS","SETTINGS_STEPS","STEP_NAMES","MAT_CATEGORIES","engagementFiscalYearEnd","MAT_ENGAGEMENT_CATEGORIES","CLIENT_CATEGORIES","ProgressBar","getIndicatorClassname","projectState","SETTINGS","ARCHIVE","getTextClassname","getStepClassname","getIconName","onStepClick","COPY","NEW","INPROGRESS","onProgressTextClick","currentStep","DefaultLoader","ProjectLoader","CARRY","Authorized","setRecentProject","recentProjects","getCurrentProject","nextProjectId","nextRegionId","regionId","projectFile","UnknownErrorPage","isDateFormatSelected","ProtectedRoute","conditionalRender","authenticateFunction","PublicRoute","innerRender","diameter","AddToCompareSidebar","allChildren","scrollArea","onAdd","navigateToFolder","selectedOnPageCount","selectAllItemsOnPage","isAsSelectedAsPossible","cac","toggleSelectedFile","childItems","LoadingOverlay","CompareItem","comparisonSet","onSelectedChange","baseEntityName","SelectBaseCompare","FilteredDocumentsList","fdocument","ACTIVE_STEP","CreateCompareSidebar","activeStep","selectedFiles","SubmitSelectedFiles","loadItemPromises","filesArrays","ExportCompareModal","CompareBrowser","isAddToCompareSidebarShown","isCreateCompareSidebarShown","isDeleteModalShown","isExportModalShown","isExportProcessing","isExportSidebarShown","selectedCompares","tagOptions","onNewCompareClick","onCloseNewCompareClick","onSubmitNewCompareClick","onAddToCompareClick","onCloseAddToCompareClick","onSubmitAddToCompareClick","selectedCompareId","onDeleteClick","cancelDeleteModal","submitDeleteModal","_ref46","cancelExportModal","submitExportModal","getSelectedCompletedComparisons","onExportClick","closeExportSidebar","onSelectedCompareChange","compareSet","doesSelectedSetContainError","onDocumentTabClick","resetFilter","onExtractionFieldTabClick","errorSelected","CreateCompareSidebarContainer","AddToCompareSidebarContainer","NotificationItem","deleteSelf","Notifications","CompareBrowserPage","CompareBrowserContainer","NotificationsContainer","COMPARE_TYPES","Compare","isInvalidEvent","handleComparisonDocumentRemoved","docName","handleComparisonDeleted","handleComparisonUpdate","loadActiveComparisonSet","reprocessingCompare","getCompareDocumentIndex","getFilteredCompareDocs","getNextCompareDocumentId","filteredCompareDocs","getPrevCompareDocumentId","docIndex","getClassnames","changeType","selectedChange","getChangeIntensity","getBaseDocumentContent","getBaseDocumentChangeType","changes","strIfNotLast","lineI","wordI","filterDocumentsOnChange","getSectionHoverText","getSearchHighlights","getCompareDocument","compareDocument","scrollToEmphasis","getNumChanges","filteredDocIdSet","getFilteredSummaryDetails","filteredComparisonDetails","removeDocument","_ref47","displayRecordName","loadCompareDocument","newProps","_ref50","changedIds","numDocs","numChanges","activeDocument","filteredSummaryDetails","baseDocumentReferenceId","docDetails","documentReferenceId","comparisonResponse","baseDocumentResponse","ComparePage","CompareContainer","parentProject","firstFolder","extraFolders","currentDocumentName","DocumentBreadcrumbs","getFormattedBreadcrumbs","documentData","dropdown","NavigationButtons","onPrev","onNext","DocumentButtons","previousDocumentClick","getPreviousDocument","nextDocumentClick","getNextDocument","NavDropdown","expanded","onTextChange","NavigationDropdown","DocumentNavDropdown","setUpPages","getPageData","reviewerIds","isSelfReviewed","isCurrentDoc","getFolderSummary","docs","loadingPage","ReviewButton","reviewed","otherReviewers","separateReviewers","refreshButton","others","selfReviewed","markDocumentAsNotReviewed","markDocumentAsReviewed","enhancedReviewButton","UndoButton","getLastAction","DropdownData","onDropdownItemClick","docId","docMetadata","SearchToolbar","editTags","toggleEditTags","getBreadcrumb","openSearchResults","onPreviousClick","prevId","currentId","onNextClick","documentStateErrors","advancedSearch","tagsUpdated","highlightRegion","colorHelper","beginPath","fillStyle","fillRect","lineWidth","strokeStyle","drawTextCursor","textBookends","firstElement","lastElement","w2","emphasizeHighlight","bookmark","emphasize_highlight","deemphasizeHighlight","Overlay","emphasizedHighlight","MAX_SELECTION_OFFSET","NEXT_WORD_DELTA","listenerFunction","overlayCanvas","clearCanvas","processCharacterRangeAsTextLines","characterRange","currentLine","renderHighlights","highlights","drawingHelper","processSelection","firstIndex","secondIndex","getSecondIndex","lesser","greater","processedSelection","renderOverlay","processExtractionRanges","processedExtractions","extractionRecord","matchedField","highlightColor","processSearchResults","processedSearchResults","getMouseCoordinates","getCharacterAtCoordinates","gx","gy","currentCharacter","getExtractionFieldRecordAtCoordinates","hit","debouncedEmphasizeHighlight","debouncedDeemphasizeHighlight","getDistance","getMinDistance","currentSelection","isBreak","isWordBreak","determineWord","characterCode","prevChar","nextChar","_mouseDown","getClosestWord","selectionFunction","startingWord","endingWord","_currentSelection","matchingExtractionRecord","_mouseMove","startDefined","_mouseUp","getClosestCharacter","closest","hideBookmark","onMouseMove","Bookmarks","CLUSTERING_DISTANCE","clusterExtractions","pageRecords","clusters","clusterArray","records","groupCloseClusters","groupedClusters","appended","groupedCluster","scrollFunction","hoverFunction","removeFunction","idClasses","additionalExtractionFieldRecord","Page","loadingPageImage","pageImage","SCALE_ALTERATION","BOTTOM_OFFSET","getPageImage","showPage","setScaleAlteration","getCurrentDocumentLayoutPage","setPageImageLoaded","dpiX","shiftKeyDown","zoomLevel","imageClass","pageClassName","getDocumentPageCharacters","DocumentControls","zoomLevels","pageTextChange","zoomTextChange","pageKeyDown","numPages","changePageFunction","pageError","resetPage","zoomKeyDown","changeZoomFunction","zoomError","resetZoom","clearErrors","previousZoomLevel","rzoom","nextZoomLevel","Minimap","markers","documentHeight","minimap","mouseDown","setupMarkers","pageOffsets","totalHeight","alteredMargin","indicatorPosition","first_char","last_char","_start","_end","_top","_height","scrollChange","getY","scrollPage","scroll","mouseUp","mouseMove","scrollIndicatorStyle","marker","markerScale","extractionIndicatorStyle","SELECTION_TYPE","EditableText","disableEdit","TagName","renderValue","SampleNumberInputField","updateSampleNumber","numberValue","sampleNumber","onChangeValue","DocumentSplitter","canOrganize","isThumbnailsLoading","pagesToOrganize","thumbnails","textCounter","scrollIntoThumbnail","loadThumbnailsInViewport","scrollAreaBounds","newThumbnails","thumbnailPage","onOrganizeDocuments","organizeDocuments","setExtractionFieldFilter","canAppend","sameSection","areContiguoussAndSameGroup","renderSection","handleMenuClick","updateMenu","removeDocType","sectionStart","pageList","cantCombine","cantSplit","DocumentRenderer","initPromise","pageBoundaries","pagesInViewport","pageImageLoaded","focusFunction","PAGE_BUFFER_SIZE","calculatePageBoundaries","setInitialPosition","calculatePagesInViewport","parseQueryPage","totalPages","messageListener","scrollToPage","keyListener","getPageNumber","setLastVisitedPage","offsetTop","changeZoom","calculateCurrentPage","getElementsByClassName","scrollInfo","currentPageNumber","shortestDistance","middleOfScrollArea","middleOfPage","docDidLoad","docWasLoaded","previousZoom","isCalledFromDocViewer","MainPanel","isSearchToolbar","isGenAITemplate","isAbbyyTemplate","viewBanner","banner","KiraAndGenAIWorkbenchBanner","showEditExtractionFieldModal","closeEditExtractionFieldModal","showDuplicateFieldModal","closeDuplicateFieldModal","editExtractionField","createExtraction","onCreateFail","onCreateSuccess","initialName","setInitialName","initialDescription","setInitialDescription","setDescription","isResponsePending","setIsResponsePending","fetchExtractionFieldData","fieldData","handleDuplicateSuccess","showDuplicateExtractionNotification","handleDuplicateFail","isSaveEnabled","titleId","onSaveClick","onEditSave","handleDuplicateClick","closeModal","calculateHeight","ExtractionFieldDropdown","showRemoveAllModal","editExtractionFieldModalShown","removeAllRecordsFunction","removeAllExtractionFieldRecords","onCreateComparison","editExtractionFieldModalOpen","editExtractionFieldModalClose","openDuplicateFieldModal","extractionFieldUser","Field","showEditAndDuplicateOptions","EditExtractionField","ExtractionRecordTags","tagText","refreshProjectTags","tagTextChange","addExtractionFieldRecordTag","projectTag","getFilteredTags","ExtractionRecordTagsDropdown","recordTags","setRecordTags","sortedTags","removeTag","removeExtractionFieldRecordTag","finishDrag","moveRecord","ExtractionRecord","changeTextBox","extractionGroup","isFinished","onExtractionDelete","saveExtractionRecord","ExtractionRecordItems","moveExtraction","dragExtraction","onExtractionMove","onSave","ExtractionRecordList","updatedRecord","openGroups","isHoveringHeaderRow","hoverStates","saveRecordTimeout","getGroupedExtractions","currentField","getRecordsByField","getRecordsByPosition","removeRecordFunction","dirty","cleanRecord","record2","moveExtractionRecord","draggingExtractionFieldRecords","draggingFieldId","recordIds","extractionFieldRecordIds","createExtractionRecordComparison","openEditExtractionFieldModal","markAsVerifiedEF","markEfVerified","getExtraction","showExtractionFieldOptions","showExtractionFieldDropdown","showEditIcon","getAccordion","extractionElements","sortByDisplayOrder","groupedExtractions","ef1","ef2","getAccordions","accordions","templateTypeName","ExtractionList","checkedGroups","openTemplateTypes","selectedType","MAXIMUM_EXTRACTIONS_PER_LIMITED_GROUP","groupKey","nullGroupName","_extraction$groupMapp","gm","extractionFieldDisplayOrder","getUngroupedExtractions","selectedExtractions","onExtractionSelect","selectFunction","groupByTemplateType","disableExtraction","openByDefault","onCheckAll","exts","allSelected","fewSelected","limitFields","disableGroup","getTemplateAccordions","onSelectTemplateType","templateAccordions","groupIds","templateGroups","sortByOrder","ORDER","GROUPS","OTHERS","PUBLIC","PRIVATE","ungroupedExtractions","ExtractionPicker","addExtractionData","loading","createExtractionFieldRecord","documentTemplateCategoryId","CreateExtraction","isShowingConfirmationModal","trainingTargetDocumentsNewField","customDocType","disableCustomDocTypeUpdate","negation","nameTextChange","descriptionTextChange","negationTextChange","docTypeTextChange","showArgusTrainingModal","onCreateClick","showConfirmations","docTypeName","DocTypeName","saveProjectTemplateDocType","_response$data","_response$data$field","showCreateExtractionNotification","renderToolbar","renderConfirmationModal","disableSubmitButton","currentTemplateName","onCancelClick","validExtractionFieldGroup","AddExtraction","showAddExtractionConfirmation","getFilteredData","onHide","allowMultiSelect","onAddButtonClick","changeAddExtractionClicked","fromCreateTemplateView","addExtractions","onAddExtractionsSuccess","onAddExtractionsFail","extractionName","extractionNames","onSelectType","addExtractionClicked","isAddExtractionButtonDisabled","changeIsAddExtractionButtonDisabled","isButtonDisabled","addToNewTemplate","filteredData","showCheckboxes","SidePanel","extractionPickerData","isShowingAddExtraction","isShowingCreateExtraction","hasSelection","showHideAddExtraction","showHideCreateExtraction","showCreateExtraction","addExtractionField","onCreateExtractionSuccess","showAddExtraction","tempCategoryId","refreshAddExtractionData","hideAddExtraction","hideCreateExtraction","onCreateExtractionFail","efGroupId","ungroupedExtractionFields","canCreateExtractionField","enhancedData","filteredEFRecords","showExtractionPicker","showFootCreate","CURRENT_SELECTION_INITIAL","DocumentViewer","_sessionStorage$getIt","documentRendererFocus","loadData","documentIdChanged","parseQuery","messageListenerFunction","getText","revertedText","extractionPickerCloseFunction","checkErrorState","extractionFieldNegation","hiddenTextArea","updateMenuState","joinDocumentRoom","_currentDocumentLayou","_prevProps$currentDoc","openedDocuments","setDocumentDeleted","unsubscribeCurrentDocument","clearCurrentDocument","_this$state$trainingT","ArgusTrainingModal","isNewExtraction","_ref25","_ref26","updatedExtractionField","DocumentViewerPage","TemplateDropdown","onTemplateSelected","onTemplateClick","templateList","errClassName","updateNameErrClass","dragItem","hoverItem","selectedTemplateType","TemplateExtractions","updatedExtractions","onExtractionChange","newTemplateMoveExtraction","newTemplateRemoveExtraction","extractionList","Options","onDuplicate","TemplateOptions","CreateTemplate","DeleteTemplateModal","TemplateViewer","showDeleteModal","deleteTemplate","onTemplateDelete","onCreateNameChange","newTemplateName","addedExtractions","createNewTemplate","templateNameUpdateErr","onNameChange","onTemplateDuplicate","isResolved","docTypeId","createEditTemplateName","deleteProjectTemplate","getExtIds","nameOnly","updateProjectTemplate","duplicateProjectTemplate","templateTypeId","extId","createExtractionFieldAndAddToTemplate","getExtractions","selectedCategoryId","editExtractionByDocType","addedExtractionIds","removeExtraction","templateTypeDescription","templateFolderId","addExtractionFieldToTemplate","updateAllExtractions","getHandlers","changeTemplateName","selectProjectTemplate","onGetTemplates","getExtractionGroups","grps","customTemplateType","ttyp","loadTemplateExtraction","loadAllExtraction","clearTemplatesData","apiHandler","hideCreateNewExtractionField","EditExtractionsPage","EditExtractionsContainer","CreateFolderModal","onCreateClicked","blurInput","errMsg","onFolderNameUpdate","ProgressLoader","UploadStatusFile","progressPercent","iconName","displaySize","UploadStatus","onCancelAllClick","sortedUploads","numUploads","closeKiraProcessingPausedModal","FileBrowser","filesToUpload","isCreateFolderModalShown","isDraggingFile","isPendingDeletion","KiraProcessingModalOpen","filesArray","onCreateNewTemplate","submitAssignTemplateModal","cancelAssignTemplateModal","submitCreateFolderModal","setDropzoneElem","dropzoneElem","filterObject","onCurrentFolderLoadError","getPendingDeleteItems","updatePendingState","deleteTimeout","newPageSize","destinationFolder","getKiraTemplates","dragEnterElem","_locationState$filesT","locationState","folderPageSizeUserSelection","onFileListScroll","isKiraTemplate","_currentFolder$childr","_this$submitAssignTem","isUploadInProgress","isListEmpty","dropzoneClassName","FileBrowserToolbarContainer","isKiraprocessingModelOpen","KiraProcessingPausedModal","FileListContainer","UploadStatusContainer","onSuccess","isInfected","infectedDocumentList","onFail","hasErrorCode","isInvalidExtension","isFileTooLarge","validateFile","cancellable","_ref12","thrown","FileBrowserPage","FileBrowserContainer","Container","previousPage","onChangeStep","nextPage","customNextButton","customPrevButton","disableBothButtons","onCustomNext","hideSteps","customCloseButton","templateStep","disableButton","PPMDApproval","isModalOpen","onReject","justifyContent","ValidTextArea","isOwner","isAsteriskRequired","NameInputField","nameValue","nameError","saveName","updateProjectName","setNameResolved","nameValidateAPI","_ref81","validateProjectNameWithId","_ref80","validateProjectName","nameValidator","onValidate","checkValid","allowEditing","isTextValid","onMATClick","numResults","MATInputField","projectInfo","getEngagementInfo","setEngagementId","getSearchResults","setEngagementInfo","updateProjectEngagement","clearData","checkClientValid","EngagementDropdown","onClientClick","ClientInputField","setClientId","setClientInfo","ClientDropdown","MatSearchForm","setWBSCodeResolved","engagementInfo","onEngagementNameChange","onClientNameChange","onProjectNameChange","setEngagementValidation","setClientValidation","setNameValidation","selectedProjectDateFormat","onDateFormatChange","EngagementDetails","YearPicker","currentYear","MonthDayPicker","translatedList","currentMoment","currentMonth","currentDay","selectedMonth","LockedInputField","unlocked","onNumberChange","showLock","displayValue","ProjectDetailsForm","previousWBSCode","onInput","validateEngagementInfo","ProjectDetails","_this$props$location$","_this$props$projectDa","_this$props$projectDa2","projectData","isLoadingDate","isNameValid","isNameChanged","isNameResolved","isWBSResolved","isMatChanged","isDateFormatChanged","isEngagementInfoChanged","isClientChanged","isClientInfoChanged","doesProjectSupportMATSearch","memberFirmContainer","isUserEnteredEngagementSupported","setCountryInfo","updateProjectEngagementManually","updateEngagementManually","createNewProject","createProjectTrack","updateProjectData","canSearchMAT","updateProject","updateProjectDateFormatSelection","isEngagementValid","isClientValid","manual","_this$props$location$2","newProjectId","RoleDropdown","onRoleChange","visibleOptions","filteredRoles","currentRole","TeamListMenu","onMenuButtonClick","onRemoveClick","onChangeRoleClick","disableRoleChange","TeamList","isRoleInfoOpen","isRoleModalOpen","roleKeys","PAGE_SIZE","changePage","openRoleInfoModal","closeRoleInfoModal","toggleRoleInfoModal","openRoleModal","closeRoleModal","onRoleModalClose","submitRoleUpdate","onSubmitRoleUpdate","cleanUpData","isTemporaryUser","renderTeamListMenu","onRemoveProjectMember","onSelectProjectMember","renderRoleInfoModal","renderRoleModal","onChangeProjectMemberRole","whiteSpace","onMemberChange","onMemberSelect","TeamMembers","disableNext","selectedProjectMember","newMemberSelectedRole","projectMemberSelectedRole","isValidMember","isSupportAccessEnabled","projMembers","getRoleIdFromName","disableAddButton","isSameMember","updateCopiedProject","onAddNewMember","addProjectMember","projectMember","onNewMemberChange","onNewMemberSelect","onNewMemberRoleChange","onChangeRoleClose","onProjectMemberRoleChange","updateProjectMember","updatedMembers","onProjectMemberRoleSelect","deleteProjectMember","usersArray","onToggleSupportAccess","creatorMember","roleName","clearProjectMember","canEditTeamMembers","canDisableAccess","SearchMembers","_ref83","_ref84","_ref85","ButtonNext","onUploadFiles","latestTemplateFolder","isGuided","DocumentType","selectedGroups","onGroupChange","changeSelectedGroups","templateType","trainedFieldCount","TemplateList","onCreateNewClick","TemplateTypeAI","compareTemplatesOrder","template1","template2","trainedExtractionFieldCount","TemplateType","workflowAccountGroup","templateTypeGroups","selectType","changeSelectedType","submitFunction","templateTypeGroupID","onCheckboxClick","TemplateExtractionsGroupList","extractionIds","filteredIds","ignoreSort","extractionIndex","GuidedTemplateViewer","deselectedIds","changeIsFormValid","isOtherTemplate","isUpdate","disableCreateButton","createProjectExtractionField","onHideAddExtraction","changeStep","addExtraction","onTemplateViewerAdd","changeDisableCreateButton","changeIsResolved","onTemplateViewerSelect","setIsSelected","onTemplateViewerExtractionChange","onTemplateTypesSubmit","onTemplateViewerUpdate","TemplateStepDescription","selectedTemplates","uploadingFiles","createDetailedTemplate","createProjectTemplate","_this$state$uploading","_templateTypes$types$","_this$state$uploading2","callAPI","selectExtraction","loadGroupExtraction","onCreateDetailed","onDocumentTypeChange","selectGroup","onStepChange","createNonEditableDetailTestingTemplate","accountName","templateTypeGroupName","currentGroup","templateTypeIdDisplayOrders","tt","compareExtractionFieldTemplateOrder","templateTypeDisplayOrder1","templateTypeDisplayOrder2","templateExtractionFieldDisplayorder","onDocumentTypeSubmit","startNextTemplateCreation","nextTemplate","onBackButtonClick","enableExtractons","hasSelectedFields","externalValidation","extractionExist","onCreateTemplate","loadGroups","_selectedType$groups$","_this$state$uploading3","newLocation","NextButton","ProjectCreation","setInitialState","newStepIndex","newProjectData","updatedProjectData","renderStep","grantingAccess","_projectTemplates$tem","hideProgressBar","_ref70","_ref68","_ref71","_ref69","ProjectCreationPage","GroupsAutocomplete","groupNames","AddGroupPopover","allGroups","isExpectedGroup","expectedExternalSystemId","ChangeRoleModal","InnerRoleDropdown","InnerUserOptionsMenu","UserOptionsMenu","GroupsAndUsers","isAddGroupPopoverVisible","selectedRole","selectedUserForUpdate","pendingGroupRemovals","showAddGroupPopover","hideAddGroupPopover","onRoleSelected","onUserSelected","existingUser","onAddUserClick","onFieldUpdated","addFieldToGroup","removeFieldFromGroup","_ref32","removeExtractionFieldFromGroup","removeUser","_ref34","removeUserFromExtractionField","showRoleChangeModal","submitChangeRoleModal","_ref35","updateExtractionFieldUser","closeChangeRoleModal","isAdmin","publishExtractionField","TRAINING_STATES","TRAINING_INSTANCE_STATE_IDS","ERROR_NAMES","TRAINING_STATE_NAMES","TRAINING_STATE_CLASS_NAMES","HistoryItem","onRevertButtonClicked","training","onErrorIconClicked","_training$trainingIns","_training$trainingIns2","trainingInProgress","trainedDate","trainingStateId","recall","fScore","trainingInstances","trainingInstanceStateId","extractionFieldTrainingDetailId","externalExtractionFieldId","History","selectedTrainingForRevert","selectedTrainingForErrorInfo","cancelRevert","closeErrorInfoModal","submitRevert","_ref40","trainingDetailId","revertHistoryModel","temporaryTraining","isPermanent","permanentTraining","temporaryTrainingTable","permanentTrainingTable","LearningTableRow","selectedProjectChange","documentAccess","totalDocuments","totalNewDocuments","totalNewExtractions","Learning","isPermanentModelSelected","isTraining","selectedProjects","getExtractionFieldProjects","_response$data2","togglePermanentModelSelected","setIsAutomatic","_ref41","setAutomaticExtraction","trainExtractionField","onTrainExtractionField","_ref38","includePermanent","extractionFieldProjects","hasPermanentModel","FILTER_CRITERIA","FILTER_OPTIONS","validationType","MeasuresItem","Measures","validation","getValidation","getExtractionFieldValidation","setFilterBy","renderFilterOption","measures","CreateModal","onDescriptionChange","ExportModal","isRequestPending","GroupPopover","checkFileExtension","ImportModal","hasFileError","isImportInProgress","selectedFile","PendingUser","removePendingUser","updatePendingUserRole","SharePopover","pendingUsers","pendingUser","getExtractionFieldExportToken","selectedContainerCode","selectedMemberfirmCode","deleteExtractionFieldExport","getExtractionFieldExports","getExportBinary","getExtractionFieldExportBinary","activeIconName","inActiveIconName","tooltipMessageId","activeOption","setActiveOption","clearActiveOption","onSubmitGroupPopover","onSubmitSharePopover","onSubmitCreateModal","onSubmitDeleteModal","onSubmitExportModal","onCloseExportSidebar","onSubmitImportModal","onSubmitLearn","toolbarButtons","Summary","fieldDescription","onChangeDescription","makeExtractionModelPermanent","fieldNegation","onChangeNegation","Tabs","onTabClick","allowedTabs","ExtractionFieldDetails","setCurrentTab","tab","getHistory","getExtractionFieldHistory","_ref42","publish","submitExport","_ref43","updatedField","onFieldDeleted","deletedFieldId","onChangeName","onTrainingHistoryUpdated","onUserAdded","onUserUpdated","onUserRemoved","onGroupAdded","onGroupRemoved","onGroupAddedToGroup","sourceGroupId","extractionFieldGroupIdSource","onGroupSharedWithUser","onAutoextractUpdate","onIsPublishedUpdate","reloadExtractionFields","LEARNING","MEASURES","HISTORY","toolbarOptions","ExtractionFieldItem","condensed","lastTrainingStatus","ExtractionFieldList","templateOptions","reloadCurrentGroup","getExtractionGroup","onSelectedFieldChange","immutableToggle","newSet","set1","set2","DEFAULT_TOOLBAR_OPTIONS","EXPANDED_TOOLBAR_OPTIONS","LIMITED_TOOLBAR_OPTIONS","ExtractionFieldBrowser","requestedPage","searchOptions","abbyFields","loadingSerach","getParams","getAllExtractionFields","getExtractionFieldsForGroup","abbyFieldsIds","addFieldsToGroup","addUsersToFields","nonPublicSelectedFields","deleteExtractionFields","nonKiraFields","submitImport","submitLearn","onHistoryUpdated","getUpdatedFieldData","onTrainingReverted","updatedFields","onFieldsImported","succeededExtractionFields","onFieldsPublished","checkOption","isAbbyGroup","getVisibleOptions","nonShareLimited","nonShareExpanded","generalSelectedFields","searchView","allFieldIds","interection","setUtil","GroupItem","updateGroup","_ref28","updateExtractionFieldGroup","hideCheckboxes","isAllFieldsGroup","totalFieldCount","untrainedFieldCount","GroupList","reloadCurrentGroups","getGroups","onSelectedGroupChange","GroupsBrowser","abbyGroups","abbyGroupsIds","addToGroup","toGroup","actionableGroupIds","fromGroupId","_ref29","toGroupId","addGroupToGroup","addUsers","_ref30","addUserToGroup","deleteGroups","deletableGroups","deleteExtractionFieldGroup","createExtractionFieldGroupExport","onGroupUpdated","updatedGroupId","updatedGroupName","onGroupDeleted","deletedGroupId","readOnlyGroups","allGroupIds","actionableGroups","isAllFieldsReadOnly","GroupsList","IMPORT_STATUSES","QuickStudy","isPendingImport","_ref39","importExtractionFieldModel","reloadUpdatedUser","saveButtonDisabled","setSaveButtonDisabled","extractionAccess","setExtractionAccess","translationAccess","setTranslationAccess","isGeneralAdmin","setGeneralAmin","enteredServiceNow","setEnteredServiceNow","serviceNowTicketNumber","unEscape","htmlStr","marginTop","saveUserDetails","userObj","IsExtractionAccess","IsTranslationAccess","IsAdminAccess","ServicenowTicketNumber","updateUserObj","updateUserAccess","updatedUsr","UserExtendedfeaturesSettingModel","openCloseExtendedfeaturesAccessModel","isSaveButtonDisabled","isWorkSpaceToggleSwitchOnOff","setWorkSpaceToggleSwitchOnOff","isDataSnipperToggleSwitchOnOff","setDataSnipperToggleSwitchOnOff","isGenAIAccessToggleSwitchOnOff","setGenAIAccessToggleSwitchOnOff","setLoadding","isworkspacetoggleOn","isdatasnippertoggleOn","isgenAIAccesstoggleOn","enableDisableWorkspaceSwitch","enableDisableDataSnipperSwitch","enableDisableGenAIAccessSwitch","saveWorkspaceAccess","IsWorkspaceEnabled","IsDataSnipperEnabled","IsGenAIProcessingEnabled","postExtendedFeaturesforContainer","UserManagementPage","selectedUserIds","isDetailOpen","isExtendedfeaturesAccessModelOpen","userIsGeneralAdmin","userIsSystemAdmin","adminRoleId","onUserSelect","onAllUsersSelect","performUserAction","updatedUser","newUsers","searchPayload","pageChange","EditDetails","UserManagement","getCurrentRegionData","getIdFromOrganizationCode","UserActivatonSettingsPage","organizationCodes","enabledOrganizationCodes","selectedOrganizationCodes","onSelectAll","idsToRemove","idsToAdd","codesToRemove","codesToAdd","allSelectedState","pauseEvent","ensureArray","undoEnsureArray","ReactSlider","_or","tempArray","_trimAlignValue","_handleResize","linspace","_clearPendingResizeTimeouts","resizeTimeout","pendingResizeTimeouts","slider","handle0","_sizeKey","sliderMax","_posMaxKey","sliderMin","_posMinKey","sliderLength","handleSize","sliderStart","nextTimeout","_calcOffset","_calcValue","_buildHandleStyle","willChange","zIndices","_buildBarStyle","_getClosestIndex","pixelOffset","minDist","MAX_VALUE","closestIndex","dist","_calcOffsetFromPosition","_forceValueFromPosition","minDistance","_getMousePosition","_axisKey","_orthogonalAxisKey","_getTouchPosition","_getKeyDownEventMap","keydown","_onKeyDown","focusout","_onBlur","_getMouseEventMap","_onMouseMove","_onMouseUp","_getTouchEventMap","_onTouchMove","_onTouchEnd","_createOnKeyDown","_addHandlers","_createOnMouseDown","_createOnTouchStart","startPosition","isScrolling","eventMap","_removeHandlers","handleRef","hasMoved","_fireChangeEvent","startValue","_onEnd","diffPosition","_getDiffPosition","_getValueFromPosition","_move","diffMainDir","diffScrollDir","_moveDownOneStep","_moveUpOneStep","diffValue","pearling","valueBefore","valueAfter","_pushSucceeding","_trimSucceeding","_pushPreceding","_trimPreceding","_alignValue","_trimValue","valModStep","alignValue","_renderHandle","handleClassName","handleActiveClassName","_renderHandles","styles","renderHandle","_renderBar","offsetFrom","offsetTo","barClassName","_renderBars","bars","_renderGuide","guideClassName","_renderGuides","numGuides","guides","_onSliderMouseDown","snapDragDisabled","_onSliderClick","onSliderClick","valueAtPos","withBars","handles","ToolbarIcon","tooltipKey","tooltipId","VisualsHeader","onThresholdChange","setThresholdRange","searchFilteredDocuments","activeTemplate","thresholdRange","resetView","searchText","setSearchText","regenerateVisuals","visualsRegenerating","searchPlaceholder","sliderValue","docIdMap","VisualsDocumentList","maxVisibleDocuments","limitedDocuments","VisualsDocuments","colors","d3State","minRadius","rootGroup","selectionOrigPoint","selectionRect","selectionElem","getRadius","moveTowardDataPosition","collide","origX","origY","nx1","nx2","ny1","ny2","createChart","oldElem","avgSize","dragBehavior","dragMove","dragStart","dragEnd","updateChart","selectedDocumentIdSet","setSelectedDocumentIdSet","prevDataMap","searchFilteredDocumentIds","minOpacity","maxOpacity","relOpacity","distanceFromCenter","density","prevDoc","selectedDocSet","resetSelection","addingToSelection","newPoint","applySelection","setAdditionalSelectedDocumentIdSet","selectedDocumentIds","docData","VisualsExtractionFields","backgroundX","xAxis","yAxis","extractionBarData","extractionMap","orderedExtractionIds","getOrderedExtractionIds","barGroupContainer","barGroup","updateExtractionBarData","extractionBarDataMap","isPrivate","instanceCount","extractionRecords","setExtractionField","instanceCounts","maxInstanceCount","containerBoundingRect","elemBoundingRect","elemTop","elemLeft","getExtractionColor","publicExtractions","privateExtractions","activeExtraction","noExtractions","toggleNoExtractions","ALL_TEMPLATES_OPTION","CLUSTER_STATE_IDS","VisualsPage","defaultFilters","additionalSelectedDocumentIdSet","extractionIdsByTemplate","projectHasDocuments","visualsRoom","handleVisualsUpdatedEvent","requestDocuments","_data$clusters","lastUpdatedDateTime","projectClusterStateId","getExtractionMaps","templateDetailsResponses","templateDetails","documentIdSet","resetFilters","getFilteredDocs","allSelectedDocumentIdSet","filterBySelection","filterByExtraction","filteredDocs","showEmptyState","filterDocumentsBySearch","processedDocuments","convertedDate","projectClusterId","allDocuments","VisualsContainer","AnalyticsPopupData","AnalyticsPopup","AnalyticsChart","selectedColumn","recordMetadata","showPopup","onTableScroll","leftColumn","topHeaders","onSelectRow","insertNewLines","getExtractionMetadata","docReport","isRecordPresent","_ref94","getExtractionRecordMetadata","searchForExtractionField","docReports","getExtractionCount","yIndex","showData","documentLink","AnalyticsSettings","getAllColumnsCheckedStatus","selectedExtractionIdsSet","toggleExtraction","toggleAllExtractions","_this$props$extractio","setSortAscending","visibleExtractionIdsSet","AnalyticsHeader","showSettingsPopup","openSettings","cancelSettings","applySettings","setVisibleExtractionIdsSet","onShowDocsWithNoRecords","selectTemplate","showDocsWithNoRecords","AnalyticsPage","extractionsByTemplate","sortAscending","loadAnalyticsReport","loadTemplates","getCurrentlyVisibleExtractions","getVisibleExtractionIdsSet","currentExtractions","storedEf","_ref93","onLoadTemplatesSuccess","loadTemplateDetails","onLoadTemplateDetailsSuccess","getAllExtractionIdsSet","localStoreResult","analyticsColumnOptions","visibleExtractionsByTemplateId","currentVisibleExtractions","analyticsSortOrder","sortOrderByTemplateId","hiddenExtractionFields","exportAnalyticsReport","extractionFieldListIds","sortingOrder","isNonWorkingExtactionField","documentFilter","shouldDisplayDocument","filteredExtractions","hasExtractionRecords","getFilteredDocReports","reverseMultiplier","getSortOrder","filteredDocReports","ListOfReports","getExportFileName","onSchedule","report","reportList_id","BASE_URL","getCurrentBaseAdminUrl","ScheduledReports","getReportFrequency","selectedReports","onSelectChange","NumericInput","numDigits","log10","getPattern","onUp","onDown","isNodeFound","componentNode","ignoreClass","passiveEventSupport","handlersMap","enabledInstances","getEventHandlerOptions","handlerOptions","__outsideClickHandler","__clickOutsideHandlerProp","getInstance","__getComponentNode","setClickOutsideRef","enableOnClickOutside","_uid","testPassiveEventSupport","eventTypes","initTimeStamp","excludeScrollbar","findHighest","composed","outsideClickIgnoreClass","disableOnClickOutside","getRef","instanceRef","_proto","getClass","timeoutDuration","longerTimeoutBrowsers","functionToCheck","getStyleComputedProperty","getParentNode","getScrollParent","_getStyleComputedProp","overflowX","overflowY","getReferenceNode","referenceNode","MSInputMethodContext","isIE10","getOffsetParent","noOffsetParent","offsetParent","nextElementSibling","getRoot","findCommonOffsetParent","element1","element2","DOCUMENT_POSITION_FOLLOWING","commonAncestorContainer","isOffsetContainer","element1root","upperSide","scrollingElement","getBordersSize","sideA","sideB","getSize","getWindowSizes","getClientRect","horizScrollbar","vertScrollbar","getOffsetRectRelativeToArbitraryNode","fixedPosition","isHTML","childrenRect","parentRect","scrollParent","borderTopWidth","borderLeftWidth","includeScroll","isFixed","getFixedPositionOffsetParent","getBoundaries","popper","boundariesElement","boundaries","excludeScroll","relativeOffset","getViewportOffsetRectRelativeToArtbitraryNode","boundariesNode","_getWindowSizes","isPaddingNumber","computeAutoPlacement","placement","refRect","rects","sortedAreas","filteredAreas","computedPlacement","variation","getReferenceOffsets","getOuterSizes","getOppositePlacement","getPopperOffsets","referenceOffsets","popperRect","popperOffsets","isHoriz","mainSide","secondarySide","secondaryMeasurement","runModifiers","modifiers","ends","isDestroyed","positionFixed","originalPlacement","isCreated","isModifierEnabled","modifierName","getSupportedPropertyName","upperProp","toCheck","disableEventListeners","removeOnDestroy","attachToScrollParents","scrollParents","isBody","updateBound","scrollElement","eventsEnabled","enableEventListeners","setStyles","isModifierRequired","requestingName","requestedName","requesting","_requesting","requested","placements","validPlacements","clockwise","BEHAVIORS","parseOffset","basePlacement","useHeight","fragments","frag","splitRegex","mergeWithPrevious","toValue","index2","Defaults","shiftvariation","_data$offsets","isVertical","side","shiftOffsets","transformProp","popperStyles","escapeWithReference","opSide","arrowElement","sideCapitalized","altSide","arrowElementSize","popperMarginSide","popperBorderSide","sideValue","arrow","_data$offsets$arrow","flipped","placementOpposite","flipOrder","refOffsets","overlapsRef","overflowsLeft","overflowsRight","overflowsTop","overflowsBottom","overflowsBoundaries","flippedVariationByRef","flipVariations","flippedVariationByContent","flipVariationsByContent","flippedVariation","getOppositeVariation","subtractLength","legacyGpuAccelerationOption","gpuAcceleration","offsetParentRect","shouldRound","noRound","referenceWidth","popperWidth","isVariation","horizontalToInteger","verticalToInteger","getRoundedOffsets","devicePixelRatio","prefixedProperty","invertTop","invertLeft","arrowStyles","modifierOptions","Popper","jquery","onLoad","Utils","PopperUtils","ManagerReferenceNodeContext","ManagerReferenceNodeSetterContext","newReferenceNode","setReferenceNode","unwrapArray","safeInvoke","initialStyle","initialArrowStyle","InnerPopper","popperNode","updatePopperInstance","arrowNode","applyStyle","updateStateModifier","popperInstance","destroyPopperInstance","referenceElement","PopperJS","getOptions","setPopperNode","getPopperStyle","getPopperPlacement","outOfBoundaries","getOutOfBoundariesState","arrowProps","setArrowNode","getArrowStyle","InnerReference","refHandler","Reference","generateYears","noOfYear","newYear","isInRange","YearDropdownOptions","renderOptions","selectedYear","yearsList","incrementYears","decrementYears","shiftYears","amount","yearDropdownItemNumber","scrollableYearDropdown","dayOfWeekCodes","getStartOf","newDate","maybeFixedUtcOffset","cloneDate","setYear","getSecond","getMinute","getHour","getStartOfWeek","getStartOfMonth","addMinutes","addDays","addWeeks","addMonths","subtractMonths","isSameDay","moment1","moment2","isDayInRange","endDate","localizeDate","isDayDisabled","excludeDates","includeDates","filterDate","excludeDate","includeDate","isTimeDisabled","disabledTimes","isTimeInDisabledRange","baseTime","allDaysDisabledBefore","dateBefore","allDaysDisabledAfter","dateAfter","getEffectiveMinDate","getEffectiveMaxDate","getHightLightDaysMap","highlightDates","defaultClassName","dateClasses","classNamesArr","arrOfMoments","_classNamesArr","timesToInjectAfter","currentMultiplier","intervals","injectedTimes","injectedTime","nextTime","WrappedYearDropdownOptions","YearDropdown","dropdownVisible","renderSelectOptions","renderSelectMode","renderReadView","renderDropdown","renderScrollMode","adjustDateOnChange","handleYearChange","setOpen","renderedDropdown","dropdownMode","MonthDropdownOptions","monthNames","WrappedMonthDropdownOptions","MonthDropdown","useShortMonthInDropdown","getMonthShortInLocale","getMonthInLocale","generateMonthYears","currDate","lastDate","MonthYearDropdownOptions","monthYearsList","monthYear","monthYearPoint","isSameMonthYear","scrollableMonthYearDropdown","WrappedMonthYearDropdownOptions","MonthYearDropdown","timepoint","yearMonth","changedDate","handleMouseEnter","isKeyboardSelected","disabledKeyboardNavigation","preSelection","getHighLightedClass","isInSelectingRange","selectsStart","selectsEnd","selectingDate","isSelectingRangeStart","isSelectingRangeEnd","isOutsideMonth","getClassNames","dayClassName","renderDayContents","weekNumberClasses","Week","handleDayClick","onDayClick","handleDayMouseEnter","onDayMouseEnter","handleWeekClick","onWeekSelect","formatWeekNumber","startOfWeek","renderDays","showWeekNumber","onClickAction","handleMouseLeave","isWeekInMonth","endOfWeek","renderWeeks","isFixedHeight","fixedHeight","currentWeekStart","breakAfterNextPush","isFixedAndFinalWeek","isNonFixedAndOutOfMonth","peekNextMonth","Time","excludeTimes","includeTimes","liClasses","currH","currM","injectTimes","renderTimes","activeTime","sortedInjectTimes","timesToInject","centerLi","calcCenterPosition","monthRef","todayButton","timeCaption","onTimeChange","CalendarContainer","_ref$arrowProps","listHeight","centerLiRef","DROPDOWN_FOCUS_CLASSNAMES","handleDropdownFocus","testClassname","isDropdownSelect","onDropdownFocus","getDateInView","openToDate","initialDate","increaseMonth","handleMonthChange","decreaseMonth","handleMonthMouseLeave","onYearChange","onMonthChange","handleMonthYearChange","changeYear","changeMonth","changeMonthYear","dayNames","weekLabel","getLocaleData","weekDayName","formatWeekDay","getFormattedWeekdayInLocale","useWeekdaysShort","getWeekdayShortInLocale","getWeekdayMinInLocale","renderPreviousMonthButton","renderCustomHeader","allPrevDaysDisabled","forceShowMonthNavigation","showDisabledMonthNavigation","showTimeSelectOnly","clickHandler","previousMonthButtonLabel","renderNextMonthButton","allNextDaysDisabled","showTimeSelect","nextMonthButtonLabel","renderCurrentMonth","showYearDropdown","showMonthDropdown","showMonthYearDropdown","renderYearDropdown","overrideHide","renderMonthDropdown","renderMonthYearDropdown","renderTodayButton","renderDefaultHeader","monthDate","prevMonthButtonDisabled","nextMonthButtonDisabled","renderMonths","monthList","monthsShown","monthKey","monthContainer","renderTimeSection","timeIntervals","withPortal","assignMonthContainer","popperPlacementPositions","PopperComponent","hidePopper","popperComponent","popperModifiers","popperPlacement","popperProps","popperContainer","preventOverflow","WrappedCalendar","INPUT_ERR_1","DatePicker","getPreSelection","calcInitialState","defaultPreSelection","boundedPreSelection","startOpen","preventFocus","focused","clearPreventFocusTimeout","preventFocusTimeout","setFocus","setBlur","cancelFocusInput","skipSetBlur","lastPreSelectChange","PRESELECT_CHANGE_VIA_NAVIGATE","inputOk","handleFocus","preventOpenOnFocus","inputFocusTimeout","deferFocusInput","handleCalendarClickOutside","allArgs","onChangeRaw","PRESELECT_CHANGE_VIA_INPUT","parseDate","setSelected","handleSelect","shouldCloseOnSelect","setPreSelection","keepInput","isOutOfBounds","allowSameDay","handleTimeChange","onInputClick","onInputKeyDown","eventKey","onInputError","newSelection","subtractWeeks","subtractYears","addYears","onClearClick","dateFormatCalendar","calendarContainer","renderDateInput","_React$cloneElement","customInput","customInputRef","safeDateFormat","placeholderText","renderClearButton","isClearable","clearButtonTitle","equals","hasSelectionChanged","popperClassName","CustomInput","ReactDatePicker","Block","EmailRecipients","isEmailsOpen","isEmptyResults","onEmailSelect","addEmail","deleteEmail","EmailSection","RepeatInterval","OPTIONS","onIntervalChange","onUnitChange","IntervalSection","ScheduleReportSidebar","deleteDisable","reportDate","getUnit","getServerNum","getPayload","tabViewer","createReport","editReport","closeSidebar","createPayload","editPayload","deleteReport","REPORTS_TABS","scheduleReportDetails","onGenerateReport","generateReport","isSidebarOpen","reportData","ReportsPage","ReportsContainer","NAME_ASCENDING","NAME_DESCENDING","COUNT_ASCENDING","COUNT_DESCENDING","titleKey","pageStart","pageEnd","tagCount","documentTagsOnClick","documentTypeTagsOnClick","extractionFieldRecordTagsOnClick","languageTagsOnClick","ocrQualityTagsOnClick","TagsPage","TagsContainer","statusItem","onChartKeyClick","chartKey","renderChartKeys","renderChartRows","statusType","oppositeType","hasStatusCount","hasOppositeStatusCount","isRowEmpty","chartRows","totalDocumentsCount","changeSortDirection","currentDirection","onAssignedClick","assignedDocumentCount","userID","onAssignedAndReviewedClick","assignedAndReviewedDocumentCount","onAssignedAndNotReviewedClick","notReviewedDocumentCount","onReviewedClick","reviewedDocumentCount","userCount","getInitials","getUserProgress","ProjectStatusContainer","UserProgressContainer","DocumentProcessingContainer","ReviewStatusPage","ReviewStatusContainer","GridDropdown","selectedGridId","selectedGridName","isCustomGrid","customGrid","gridData","gridId","gridName","onGridSelected","updateGridName","updateGridID","deselectGrid","defaultSelection","loadColumnOptionsFromGrid","selectedGridview","getGridViewDropdownData","gridViewList","EXCEL","WORD","PDF","customizedVisibility","customVisibility","xfs","_extractionOverview$t","InnerOption","isExtractionField","_this$props$columnOpt","isCheckboxChecked","defaultSelcted","allExtractionFields","customizedVisibilityState","defaultVisibilityState","checkboxChange","prevVisibility","updateCustomizedVisibility","columnOptionSelected","getAllExtractionFieldsData","updateGridChange","isGridChanged","customChangeObj","defaultChangeObj","_this$props$columnOpt2","visibilityObj","defaultVisibilityObj","isDocumentToggleSwitchOnOff","isColumnOptionsLoaded","_COLUMN_OPTION_DEFAUL","SaveGridView","isDuplicate","gridViewNameOnChange","validateGridViewName","showSavedGridView","DeleteGridView","closeDeleteGridPopup","deleteGridView","applyDeleteGridPopup","ExtractionOverviewHeader","gridDefaultSelection","extractionFieldObj","newGridData","displaydeleteicon","displaySaveIcon","onTemplateSelect","onDefaultSelection","columnOptionDeSelected","renderExportPanel","_extractionOverview$c","gridID","saveGrid","FieldId","FieldName","FieldOrder","Visible","Hidden","Frozen","extObj","extractionFieldOverviewId","extractionFieldOverviewName","newVisibilityObj","onDefaultUnSelection","openSaveViewModel","openDeleteViewModel","_extractionOverview$s","_extractionOverview$s2","_extractionOverview$s3","_extractionOverview$s4","changeDocumentToggle","documentCount","ID","TemplateId","ExtractionOverviewFilter","maxWidth","ExtractionOverviewGrid","selectedCell","editCell","columnWidths","columnMinWidths","selectedColumnPosition","selectedColumnIndex","editedDocumentId","extractionDocumentresult","firstDocument","notFirstLoad","setNewColumnWidths","offSet","newWidth","reloadCurrentGird","getAllDocuments","DOCUMENTS","docNameList","DocumentName","DocumentId","DistinctDocuments","saveNewColumnWidths","projectTemplateTypeId","moveColumn","offsetLeft","documentNameWidth","offsetLeftParsed","headerItem","fixedItems","onEditExtractionRecordClick","onEditExtractionRecordBlur","onExtractionFieldUpdate","rowButton","newExtractionFieldRecordData","Parser","DOMPurify","sanitize","onHighlightRow","onExtractionRecordClick","openDocument","onExtractionRecordBlur","renderRecords","currentRow","rowindex","sectionRowNumber","rowClassName","extractionFieldRecordDetails","prjItemId","extractedData","sectionRows","templateTypeIndex","getMinWidth","efRecords","frozeColumn","grabColumn","headerRect","_extractionsdoc$","_extractionsdoc$$docN","_extractionsdoc$2","_extractionsdoc$2$doc","_extractionsdoc$3","storedColumnWidths","extSection","extractionFieldDetails","extRecord","_extSection$0$extract","extFieldData","teg","efd","recordsExist","prevExtractionField","et","tti","efrd","er","extractionsdoc","_extractionsdoc$4","_extractionsdoc$4$doc","_extractionsdoc$5","_extractionsdoc$5$doc","_extractionsdoc$6","extractionsWithSampleNumber","extractionsWithoutSampleNumber","table","selecteddocs","selectedExt1","extDetails","dlist","fieldDetails","extRecords","numberOfRecords","falseColumns","key1","key2","groupFieldsCount","customizedCount","newGroupIndex","sectionRowsArray","distintFiles","WebkitLineClamp","updatePageImageLoaded","setCurrentPage","setZoomLevel","setPagesInViewport","setPageBoundaries","pagesInViewportTmp","pageBoundariesTmp","viewPort","ExtractionOverviewDocumentPanel","ExtractionOverview","currentDocumentId","customizedVisibilityfunc","documentToggleValue","isDocumentToggleSession","updateExtractionOverviewColumnOptions","ExtractionOverviewDocumentPanelContainer","ExtractionOverviewPage","CreateTemplatePage","CreateTemplateContainer","translationQueue","ArgusExtraction","onCreateProject","LandingPageTable","hoveredIndex","isOverflowed","getTranslationStatus","translationStateId","getProjectLinkClassname","nameRefs","MATRefs","forTable","linkTo","tableHeaders","globalCode","linkClass","projectLink","timeFromNow","submittedDate","sourceFileName","sourceLanguageName","targetLanguageName","RecentProjects","filterDeletedProjects","multiColumnSort","getNormalProjects","getRecentProjects","recentProjectKey","isActionRequired","getLinkTo","projectRegion","otherProjects","actionRequiredProjects","showActionRequiredProjects","ArgusTranslation","TranslationQueue","translationList","LandingPage","LandingPageContainer","Region","currUrlRegion","nextUrlRegion","UserActivationSettingsPage","_Intl","getOverrides","overrides","enMessages","previousLocal","loadLanguages","lastUpdate","englishOverride","enErrors","NotFoundErrorPage","MENU_OPTIONS","MENU_MODALS","PROJECT_STATUS","MenuOption","menuOptions","viewer","onMenuClick","CommonModal","leftBtn","rightBtn","RestoreModal","CancelArchiveModal","CopyModal","CarryForwardModal","LegalHoldModal","LiftLegalHoldModal","ArchiveModal","onButtonClick","firstId","isArchiveRequestor","isCancelArchive","isCarryForward","isCopy","isRemoveHold","isRestore","isSettingFlagNonClientService","getProjectRegionString","projectDetails","onUserChange","deleteProject","soft","onRestore","restoreDeletedProject","onCopy","includeDocuments","copySourceProject","updateSourceProject","onCopied","onEnableSupportAccess","onCarry","carrySourceProject","onRequestArchive","archiveReqProject","onCancelArchive","cancelArchiveProject","onLegalHold","initiateLegalHold","onFlagNonClientService","flagNonClientService","menuModals","_ref55","_deleteProject","_ref57","restoreProject","_ref60","copyProject","_ref61","carryProject","_ref63","archiveRequestProject","_ref64","archiveCancelRequest","_ref67","legalHoldProject","_enableSupportAccess","_ref62","changeFlagNonClientService","TranslationQueueTable","TableView","getTranslationQueueCardStatus","onDeselect","linkClassname","onUpdateStatus","TranslationQueueCardStatus","projectCreator","projectUID","ProjectCard","creationDate","isMenuActive","lastEditDate","TranslationQueueCard","TileView","List","getCreator","UpdateProjectStatus","onProjectCopy","toggleTable","getActionRequiredProjects","cachedRecentProjects","workspaceProjects","latestTranslations","regularCachedRecentProjects","getTableOrTile","updateProjectStatusOnCopy","_this$props$projectLi","_this$props$projectLi2","setshowHideWorkspace","userModeFilter","AdminDashboard","showAdminAccessWidget","ProjectListPage","renderAdminDashboard","AdminDashboardContainer","ProjectListContainer","AdminAccessPage","LoadingPage","htmlParser","validFileExtensions","MAX_AMOUNT_OF_FILES","ERROR_KEYS","TranslationType","TranslationDisclaimer","handleButtonClick","disclaimerFor","onTranslate","setUploadingFiles","preferredContainer","canTranslate","disclaimerKeys","hideButton","haveAcceptedTerms","onTermsAcceptance","boldStart","boldEnd","boldUnderlinedStart","boldUnderlinedEnd","TranslationTabs","LanguageSelector","showTranslationType","isTranslationTypeInfoOpen","onSourceLanguageSelect","setSourceLanguage","setTranslationType","onTargetLanguageSelect","setTargetLanguage","enableTranslationType","onLanguageTypeSelect","openTranslationTypeInfoModal","renderTranslationTypeInfoModal","sourceLanguage","targetLanguage","trgLang","targetLanguages","targetLanguageValue","translationType","DropdownWrapper","DropdownButton","DropdownItem","FileSelector","invalidDragging","isFileSelectorOpen","isNotificationSend","displayNotification","checkFilesToUpload","fromInput","addFilesToUpload","maxFilesReached","validFiles","invalidSize","fileInputElem","removeSelectedFiles","removeFilesToUpload","setSelectingFiles","renderConfirmationPopup","isInvalid","selectingFiles","TranslateDocument","checkFormValidity","validLanguagePair","validFilesToUpload","translateDocuments","loadTranslationLanguagePairs","translationPageInfo","quickReferenceGuide","InputText","textareaRef","setText","handlePlaceholderClick","TargetText","TranslateText","translatedText","translateText","sourceLanguageId","targetLanguageId","BLOCK_TEXT","translationToDelete","translationStaus","handleDeleteSubmit","loadTranslationListLocal","translationId","userTranslationDetailId","handleDeleteClick","handleDeleteCancel","getErrorText","_documentStatus$trans","_documentStatus$trans2","translationStatusId","sourceFileExtension","onStatusChange","contentTranslationId","contentTranslationState","BLOCK_QUEUE","TranslationDownMessage","UploadFile","UploadProgress","clearUploads","filesOnProgress","clearFilesOnProgress","setFileOnProgress","fileStatus","tempFileStatus","updatedFilesOnProgress","setFileError","setFileInfected","onUploadError","infectedFiles","down","tabsContent","machineTranslationSettings","_ref73","_ref74","TranslationContainer","closeMaintenancePopup","loadMessages","GeoCode","MessageText","StartDate","EndDate","TimeZone","changeLoadingStatus","timeZones","setTimezone","selectedRegion","onRegionChange","selectedTimezoneId","onTimeZoneIdChange","selectedTimezoneName","onTimeZoneNameChange","timezoneOffset","onTimezoneOffSet","maintenanceMessage","maintenanceMessageText","startDateOnChange","endDateOnChange","disableButtonFunc","dateValidation","dateValidationFailed","startDateValidation","startDateValidationFailed","endDateValidation","endDateValidationFailed","buttonRef","timezoneId","timezoneName","userSelectedTimezoneOffset","selectedTimezoneObj","loadTimezones","startDateOnChangeEvent","validateDateTime","handleValidationInAddClick","endDateOnChangeEvent","inputMomentObj","validStartDate","validEndDate","userSeletedRegion","userSeletedTimezone","endDateValidationCheck","startDateValidationCheck","dateValidationCheck","maintenanceObj","MessageId","StartDateString","EndDateString","UTCStartDate","UTCEndDate","Name","OffsetValue","onRegionDropdownChange","maintenanceMessageTextOnChange","offsetValue","onTimeZoneOnChangeEvent","isEditWindowOpen","closeMaintenanceEditPopup","selectedTimezone","onTimeZoneChange","selectedTimezoneOffset","maintenanceMessageEntered","datevalidationCheck","Timezoneobj","selectedTimezoneobj","MessageID","isDeleteWindowOpen","closeMaintenanceDeletePopup","isCreateMessageOpen","setModelOpen","isEditMessageOpen","setEditModelOpen","isDeleteMessageOpen","setDeleteModelOpen","selectedMessageID","setMessageID","selectedMessageId","openEditPopup","OpenDeletePopup","CreateMaintenanceMessagePopup","EditMaintenanceMessagePopup","DeleteMaintenanceMessagePopup","MaintenanceMessagesPage","MaintenanceMessages","SessionTimeoutModal","isWarningShown","warningCountdownDisplay","idleCheckInterval","warningCountdownStartTime","warningCountdownInterval","bindIdleResetListeners","restartIdleTimeCheck","unbindIdleResetListeners","startIdleTimeCheck","checkIdleTime","stopIdleTimeCheck","showWarning","startWarningCountdown","updateCountdown","stopWarningCountdown","warningTimeLeft","hideWarning","logoutClick","continueSessionClick","countdown","CookieNotice","privacyNoticeLink","aboutCookie","SubheaderDropdown","App","authenticateUser","appendAbodeScript","scriptData","ONETRUST_URL","script","domainScript","ONETRUST_DOMAIN","scripts","ADOBE_URL","IntlContainer","appInsightsKey","APP_INSIGHTS_INSTRUMENTATION_KEY","role_name","AI_CLOUD_ROLE_NAME","appInsightsPlugin","ApplicationInsights","extensionConfig","loadAppInsights","class_1","onTouchMove"],"sourceRoot":""}