{"version":3,"sources":["../node_modules/@babel/runtime/helpers/esm/objectWithoutProperties.js","../node_modules/@babel/runtime/helpers/esm/toConsumableArray.js","../node_modules/@babel/runtime/helpers/esm/arrayWithoutHoles.js","../node_modules/@babel/runtime/helpers/esm/nonIterableSpread.js","../node_modules/@babel/runtime/helpers/esm/classCallCheck.js","../node_modules/@babel/runtime/helpers/interopRequireDefault.js","../node_modules/@babel/runtime/helpers/interopRequireWildcard.js","../node_modules/@babel/runtime/helpers/esm/possibleConstructorReturn.js","../node_modules/@babel/runtime/helpers/esm/getPrototypeOf.js","../node_modules/@babel/runtime/helpers/esm/inherits.js","../node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js","../node_modules/@date-io/date-fns/build/index.esm.js","../node_modules/@babel/runtime/helpers/esm/defineProperty.js","../node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js","../node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js","../node_modules/@babel/runtime/helpers/esm/toPropertyKey.js","../node_modules/@babel/runtime/helpers/esm/toPrimitive.js","../node_modules/@babel/runtime/helpers/esm/extends.js","../node_modules/@babel/runtime/helpers/esm/objectSpread2.js","../../src/plugin-based/contexts.ts","../../src/plugin-based/plugin-indexer.tsx","../../src/plugin-based/constants.ts","../../src/utils/with-props-from-context.tsx","../../src/plugin-based/plugin.tsx","../../src/plugin-based/template-placeholder.tsx","../../src/plugin-based/plugin-host.tsx","../../src/plugin-based/helpers.ts","../../src/plugin-based/action.tsx","../../src/plugin-based/getter.tsx","../../src/plugin-based/template.tsx","../../src/plugin-based/template-connector.tsx","../../src/draggable/gesture-cover.ts","../../src/draggable/shared-events.ts","../../src/draggable/touch-strategy.ts","../../src/draggable/selection-utils.ts","../../src/draggable/mouse-strategy.ts","../../src/draggable.tsx","../../src/drag-drop/context.ts","../../src/drag-drop/provider.tsx","../../src/drag-drop/source.tsx","../../src/drag-drop/target.tsx","../../src/ref-holder.tsx","../../src/sizer.tsx","../../src/utils/connect-props.tsx","../../src/utils/state-helper.ts","../../src/utils/with-components.tsx","../../src/utils/ref-type.ts","../../src/utils.ts","../../src/plugin-host.ts","../../src/event-emitter.ts","../../src/shallow-equal.ts","../../src/memoize.ts","../../src/easings.ts","../../src/messages-formatter.ts","../node_modules/@babel/runtime/helpers/esm/slicedToArray.js","../node_modules/@babel/runtime/helpers/esm/iterableToArrayLimit.js","../node_modules/@babel/runtime/helpers/esm/iterableToArray.js","../node_modules/@babel/runtime/helpers/esm/arrayWithHoles.js","../node_modules/@babel/runtime/helpers/esm/nonIterableRest.js","../node_modules/@babel/runtime/helpers/typeof.js","../node_modules/@babel/runtime/helpers/esm/inheritsLoose.js","../node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js","../node_modules/@babel/runtime/helpers/esm/typeof.js","../node_modules/@babel/runtime/helpers/esm/assertThisInitialized.js","../node_modules/@babel/runtime/helpers/esm/createClass.js"],"names":["_objectWithoutProperties","e","t","o","r","i","Object","getOwnPropertySymbols","s","length","includes","propertyIsEnumerable","call","_toConsumableArray","Array","isArray","arrayLikeToArray","iterableToArray","unsupportedIterableToArray","TypeError","_classCallCheck","a","n","module","exports","__esModule","_typeof","_getRequireWildcardCache","WeakMap","has","get","__proto__","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","set","_possibleConstructorReturn","_getPrototypeOf","setPrototypeOf","getPrototypeOf","bind","_inherits","prototype","create","constructor","value","writable","configurable","_arrayLikeToArray","DateFnsUtils","_a","locale","this","yearFormat","yearMonthFormat","dateTime12hFormat","dateTime24hFormat","time12hFormat","time24hFormat","dateFormat","addDays","count","isValid","date","getDiff","comparing","differenceInMilliseconds","isAfter","isBefore","startOfDay","endOfDay","getHours","setHours","setMinutes","getSeconds","setSeconds","isSameDay","isSameMonth","isSameYear","isSameHour","startOfMonth","endOfMonth","getYear","setYear","Date","parse","formatString","dateFnsParse","format","isEqual","isNull","isAfterDay","isBeforeDay","isBeforeYear","startOfYear","isAfterYear","endOfYear","formatNumber","numberToFormat","getMinutes","getMonth","setMonth","getMeridiemText","ampm","getNextMonth","addMonths","getPreviousMonth","getMonthArray","monthArray","prevMonth","push","mergeDateAndTime","time","getWeekdays","_this","now","eachDayOfInterval","start","startOfWeek","end","endOfWeek","map","day","getWeekArray","current","nestedWeeks","weekNumber","Math","floor","getYearRange","startDate","endDate","years","addYears","getCalendarHeaderText","getYearText","getDatePickerHeaderText","getDateTimePickerHeaderText","getMonthText","getDayText","getHourText","getMinuteText","getSecondText","_defineProperty","enumerable","_setPrototypeOf","_unsupportedIterableToArray","toString","slice","name","from","test","toPropertyKey","Symbol","toPrimitive","String","Number","_extends","assign","arguments","apply","ownKeys","keys","filter","_objectSpread2","forEach","getOwnPropertyDescriptors","defineProperties","PluginHostContext","createContext","PositionContext","TemplateHostContext","PluginIndexer","_super","indexes","memoize","index","positionContext","fn","__spread","__extends","render","children","props","createElement","Consumer","Children","child","type","childPosition","Provider","key","PureComponent","PLUGIN_HOST_CONTEXT","POSITION_CONTEXT","TEMPLATE_HOST_CONTEXT","RERENDER_TEMPLATE_EVENT","RERENDER_TEMPLATE_SCOPE_EVENT","UPDATE_CONNECTION_EVENT","withContext","Context","Component","context","__assign","withHostAndPosition","PluginBase","componentDidMount","pluginHost","position","_d","dependencies","plugin","container","registerPlugin","ensureDependencies","componentDidUpdate","componentWillUnmount","unregisterPlugin","Plugin","getRenderingData","params","templates","collect","template","predicate","reverse","templateHost","TemplatePlaceholderBase","subscription","id","forceUpdate","registerSubscription","shouldComponentUpdate","nextProps","__read","shallowEqual","unregisterSubscription","_b","restTemplates","content","templateContent","templatePlaceholder","TemplatePlaceholder","PluginHost","PluginHostBase","host","PluginHost$1","getAvailableGetters","getGetterValue","getterName","trackedDependencies","getters","Proxy","target","prop","result","undefined","knownKeys","reduce","acc","isTrackedDependenciesChanged","prevTrackedDependencies","getAvailableActions","getAction","actionName","Action","ActionBase","action","nextParams","newParams","nextAction","Getter","GetterBase","lastComputed","lastResult","lastTrackedDependencies","original","computed","actions","broadcast","globalTemplateId","Template","TemplateBase","TemplateConnectorBase","updateConnection","contextType","gestureCover","eventEmitter","TemplateConnector","TouchStrategy","delegate","touchStartTimeout","dragging","isDragging","isWaiting","cancelWaiting","clearTimeout","touches","x","clientX","y","clientY","setTimeout","onStart","move","preventDefault","onMove","changedTouches","onEnd","mouseInitialOffset","toggleGestureCover","toggle","cursor","style","pointerEvents","top","right","left","bottom","opacity","zIndex","document","body","appendChild","clear","selection","window","getSelection","empty","removeAllRanges","clamp","min","max","MouseStrategy","dragStarted","initialX","initialY","isBoundExceeded","element","elementFromPoint","getComputedStyle","getSharedEventEmitter","EventEmitter","addEventListener","emit","passive","draggingHandled","Draggable","unstable_batchedUpdates","onUpdate","mouseStrategy","touchStrategy","mouseDownListener","touchStartListener","globalListener","subscribe","setupNodeSubscription","unsubscribe","node","findDOMNode","removeEventListener","DragDropContext","DragDropProviderCore","payload","dragEmitter","clientOffset","update","defaultProps","onChange","DragDropProvider","dragDropProvider","defaultProps$1","DragSource","clamp$1","defaultProps$2","onEnter","args","onOver","onLeave","onDrop","DropTarget","isOver","handleDrag","getBoundingClientRect","_c","only","RefHolder","styles","root","triggersRoot","height","width","overflow","visibility","expandTrigger","contractTrigger","minHeight","minWidth","contractNotifier","Sizer","getSize","rootNode","clientHeight","clientWidth","setupListeners","rootRef","createRef","createListeners","scrollTop","size","scrollLeft","expandNotifier","onSizeChange","Container","containerComponent","restProps","__rest","ref","connectProps","WrappedComponent","getAdditionalProps","storedAdditionalProps","components","Set","RenderComponent","add","delete","values","component","createStateHelper","controlledStateProperties","lastStateUpdater","initialState","lastInitialState","newState","shouldNotify","applyReducer","callback","stateUpdater","prevState","stateChange","state","setState","nextState","propertyName","changeEvent","applyFieldReducer","field","withComponents","Target","exposed","targetComponents","entries","fieldName","componentName","makeBoundComponent","shape","instanceOf","Element","compare","b","aPosition","bPosition","arr","getDependencyError","pluginName","dependencyName","Error","gettersCache","knownKeysCache","validationRequired","plugins","subscriptions","defined","knownOptionals","Map","dependency","optional","array","newItem","nextItemIndex","findIndex","item","targetIndex","alreadyExists","splice","insertPlugin","cleanPluginsCache","itemIndex","indexOf","removePlugin","postfix","endsWith","replace","upTo","res","indexCache","upToIndex","upToIndexKey","upToRes","indexCache_1","getter","event","message","handlers","handler","objA","objB","keysA","keysB","hasOwn","argumentsShallowEqual","prev","next","func","lastArgs","_i","easeOutCubic","getMessagesFormatter","messages","pattern","msg","processPattern","_slicedToArray","arrayWithHoles","l","iterator","f","done","nonIterableRest","_iterableToArray","_arrayWithHoles","_nonIterableRest","_inheritsLoose","_objectWithoutPropertiesLoose","_assertThisInitialized","ReferenceError","_defineProperties","_createClass"],"mappings":"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","file":"static/js/main~748942c6.7d922cf1.chunk.js","sourcesContent":["import objectWithoutPropertiesLoose from \"./objectWithoutPropertiesLoose.js\";\nfunction _objectWithoutProperties(e, t) {\n if (null == e) return {};\n var o,\n r,\n i = objectWithoutPropertiesLoose(e, t);\n if (Object.getOwnPropertySymbols) {\n var s = Object.getOwnPropertySymbols(e);\n for (r = 0; r < s.length; r++) o = s[r], t.includes(o) || {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]);\n }\n return i;\n}\nexport { _objectWithoutProperties as default };","import arrayWithoutHoles from \"./arrayWithoutHoles.js\";\nimport iterableToArray from \"./iterableToArray.js\";\nimport unsupportedIterableToArray from \"./unsupportedIterableToArray.js\";\nimport nonIterableSpread from \"./nonIterableSpread.js\";\nfunction _toConsumableArray(r) {\n return arrayWithoutHoles(r) || iterableToArray(r) || unsupportedIterableToArray(r) || nonIterableSpread();\n}\nexport { _toConsumableArray as default };","import arrayLikeToArray from \"./arrayLikeToArray.js\";\nfunction _arrayWithoutHoles(r) {\n if (Array.isArray(r)) return arrayLikeToArray(r);\n}\nexport { _arrayWithoutHoles as default };","function _nonIterableSpread() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\nexport { _nonIterableSpread as default };","function _classCallCheck(a, n) {\n if (!(a instanceof n)) throw new TypeError(\"Cannot call a class as a function\");\n}\nexport { _classCallCheck as default };","function _interopRequireDefault(e) {\n return e && e.__esModule ? e : {\n \"default\": e\n };\n}\nmodule.exports = _interopRequireDefault, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var _typeof = require(\"./typeof.js\")[\"default\"];\nfunction _getRequireWildcardCache(e) {\n if (\"function\" != typeof WeakMap) return null;\n var r = new WeakMap(),\n t = new WeakMap();\n return (_getRequireWildcardCache = function _getRequireWildcardCache(e) {\n return e ? t : r;\n })(e);\n}\nfunction _interopRequireWildcard(e, r) {\n if (!r && e && e.__esModule) return e;\n if (null === e || \"object\" != _typeof(e) && \"function\" != typeof e) return {\n \"default\": e\n };\n var t = _getRequireWildcardCache(r);\n if (t && t.has(e)) return t.get(e);\n var n = {\n __proto__: null\n },\n a = Object.defineProperty && Object.getOwnPropertyDescriptor;\n for (var u in e) if (\"default\" !== u && {}.hasOwnProperty.call(e, u)) {\n var i = a ? Object.getOwnPropertyDescriptor(e, u) : null;\n i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u];\n }\n return n[\"default\"] = e, t && t.set(e, n), n;\n}\nmodule.exports = _interopRequireWildcard, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","import _typeof from \"./typeof.js\";\nimport assertThisInitialized from \"./assertThisInitialized.js\";\nfunction _possibleConstructorReturn(t, e) {\n if (e && (\"object\" == _typeof(e) || \"function\" == typeof e)) return e;\n if (void 0 !== e) throw new TypeError(\"Derived constructors may only return object or undefined\");\n return assertThisInitialized(t);\n}\nexport { _possibleConstructorReturn as default };","function _getPrototypeOf(t) {\n return _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function (t) {\n return t.__proto__ || Object.getPrototypeOf(t);\n }, _getPrototypeOf(t);\n}\nexport { _getPrototypeOf as default };","import setPrototypeOf from \"./setPrototypeOf.js\";\nfunction _inherits(t, e) {\n if (\"function\" != typeof e && null !== e) throw new TypeError(\"Super expression must either be null or a function\");\n t.prototype = Object.create(e && e.prototype, {\n constructor: {\n value: t,\n writable: !0,\n configurable: !0\n }\n }), Object.defineProperty(t, \"prototype\", {\n writable: !1\n }), e && setPrototypeOf(t, e);\n}\nexport { _inherits as default };","function _arrayLikeToArray(r, a) {\n (null == a || a > r.length) && (a = r.length);\n for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e];\n return n;\n}\nexport { _arrayLikeToArray as default };","import addDays from 'date-fns/addDays';\nimport addMonths from 'date-fns/addMonths';\nimport addYears from 'date-fns/addYears';\nimport differenceInMilliseconds from 'date-fns/differenceInMilliseconds';\nimport eachDayOfInterval from 'date-fns/eachDayOfInterval';\nimport endOfDay from 'date-fns/endOfDay';\nimport endOfWeek from 'date-fns/endOfWeek';\nimport endOfYear from 'date-fns/endOfYear';\nimport format from 'date-fns/format';\nimport getHours from 'date-fns/getHours';\nimport getSeconds from 'date-fns/getSeconds';\nimport getYear from 'date-fns/getYear';\nimport isAfter from 'date-fns/isAfter';\nimport isBefore from 'date-fns/isBefore';\nimport isEqual from 'date-fns/isEqual';\nimport isSameDay from 'date-fns/isSameDay';\nimport isSameYear from 'date-fns/isSameYear';\nimport isSameMonth from 'date-fns/isSameMonth';\nimport isSameHour from 'date-fns/isSameHour';\nimport isValid from 'date-fns/isValid';\nimport dateFnsParse from 'date-fns/parse';\nimport setHours from 'date-fns/setHours';\nimport setMinutes from 'date-fns/setMinutes';\nimport setMonth from 'date-fns/setMonth';\nimport setSeconds from 'date-fns/setSeconds';\nimport setYear from 'date-fns/setYear';\nimport startOfDay from 'date-fns/startOfDay';\nimport startOfMonth from 'date-fns/startOfMonth';\nimport endOfMonth from 'date-fns/endOfMonth';\nimport startOfWeek from 'date-fns/startOfWeek';\nimport startOfYear from 'date-fns/startOfYear';\n\nvar DateFnsUtils = /** @class */ (function () {\n function DateFnsUtils(_a) {\n var locale = (_a === void 0 ? {} : _a).locale;\n this.yearFormat = \"yyyy\";\n this.yearMonthFormat = \"MMMM yyyy\";\n this.dateTime12hFormat = \"MMMM do hh:mm aaaa\";\n this.dateTime24hFormat = \"MMMM do HH:mm\";\n this.time12hFormat = \"hh:mm a\";\n this.time24hFormat = \"HH:mm\";\n this.dateFormat = \"MMMM do\";\n this.locale = locale;\n }\n // Note: date-fns input types are more lenient than this adapter, so we need to expose our more\n // strict signature and delegate to the more lenient signature. Otherwise, we have downstream type errors upon usage.\n DateFnsUtils.prototype.addDays = function (value, count) {\n return addDays(value, count);\n };\n DateFnsUtils.prototype.isValid = function (value) {\n return isValid(this.date(value));\n };\n DateFnsUtils.prototype.getDiff = function (value, comparing) {\n return differenceInMilliseconds(value, this.date(comparing));\n };\n DateFnsUtils.prototype.isAfter = function (value, comparing) {\n return isAfter(value, comparing);\n };\n DateFnsUtils.prototype.isBefore = function (value, comparing) {\n return isBefore(value, comparing);\n };\n DateFnsUtils.prototype.startOfDay = function (value) {\n return startOfDay(value);\n };\n DateFnsUtils.prototype.endOfDay = function (value) {\n return endOfDay(value);\n };\n DateFnsUtils.prototype.getHours = function (value) {\n return getHours(value);\n };\n DateFnsUtils.prototype.setHours = function (value, count) {\n return setHours(value, count);\n };\n DateFnsUtils.prototype.setMinutes = function (value, count) {\n return setMinutes(value, count);\n };\n DateFnsUtils.prototype.getSeconds = function (value) {\n return getSeconds(value);\n };\n DateFnsUtils.prototype.setSeconds = function (value, count) {\n return setSeconds(value, count);\n };\n DateFnsUtils.prototype.isSameDay = function (value, comparing) {\n return isSameDay(value, comparing);\n };\n DateFnsUtils.prototype.isSameMonth = function (value, comparing) {\n return isSameMonth(value, comparing);\n };\n DateFnsUtils.prototype.isSameYear = function (value, comparing) {\n return isSameYear(value, comparing);\n };\n DateFnsUtils.prototype.isSameHour = function (value, comparing) {\n return isSameHour(value, comparing);\n };\n DateFnsUtils.prototype.startOfMonth = function (value) {\n return startOfMonth(value);\n };\n DateFnsUtils.prototype.endOfMonth = function (value) {\n return endOfMonth(value);\n };\n DateFnsUtils.prototype.getYear = function (value) {\n return getYear(value);\n };\n DateFnsUtils.prototype.setYear = function (value, count) {\n return setYear(value, count);\n };\n DateFnsUtils.prototype.date = function (value) {\n if (typeof value === \"undefined\") {\n return new Date();\n }\n if (value === null) {\n return null;\n }\n return new Date(value);\n };\n DateFnsUtils.prototype.parse = function (value, formatString) {\n if (value === \"\") {\n return null;\n }\n return dateFnsParse(value, formatString, new Date(), { locale: this.locale });\n };\n DateFnsUtils.prototype.format = function (date, formatString) {\n return format(date, formatString, { locale: this.locale });\n };\n DateFnsUtils.prototype.isEqual = function (date, comparing) {\n if (date === null && comparing === null) {\n return true;\n }\n return isEqual(date, comparing);\n };\n DateFnsUtils.prototype.isNull = function (date) {\n return date === null;\n };\n DateFnsUtils.prototype.isAfterDay = function (date, value) {\n return isAfter(date, endOfDay(value));\n };\n DateFnsUtils.prototype.isBeforeDay = function (date, value) {\n return isBefore(date, startOfDay(value));\n };\n DateFnsUtils.prototype.isBeforeYear = function (date, value) {\n return isBefore(date, startOfYear(value));\n };\n DateFnsUtils.prototype.isAfterYear = function (date, value) {\n return isAfter(date, endOfYear(value));\n };\n DateFnsUtils.prototype.formatNumber = function (numberToFormat) {\n return numberToFormat;\n };\n DateFnsUtils.prototype.getMinutes = function (date) {\n return date.getMinutes();\n };\n DateFnsUtils.prototype.getMonth = function (date) {\n return date.getMonth();\n };\n DateFnsUtils.prototype.setMonth = function (date, count) {\n return setMonth(date, count);\n };\n DateFnsUtils.prototype.getMeridiemText = function (ampm) {\n return ampm === \"am\" ? \"AM\" : \"PM\";\n };\n DateFnsUtils.prototype.getNextMonth = function (date) {\n return addMonths(date, 1);\n };\n DateFnsUtils.prototype.getPreviousMonth = function (date) {\n return addMonths(date, -1);\n };\n DateFnsUtils.prototype.getMonthArray = function (date) {\n var firstMonth = startOfYear(date);\n var monthArray = [firstMonth];\n while (monthArray.length < 12) {\n var prevMonth = monthArray[monthArray.length - 1];\n monthArray.push(this.getNextMonth(prevMonth));\n }\n return monthArray;\n };\n DateFnsUtils.prototype.mergeDateAndTime = function (date, time) {\n return this.setMinutes(this.setHours(date, this.getHours(time)), this.getMinutes(time));\n };\n DateFnsUtils.prototype.getWeekdays = function () {\n var _this = this;\n var now = new Date();\n return eachDayOfInterval({\n start: startOfWeek(now, { locale: this.locale }),\n end: endOfWeek(now, { locale: this.locale })\n }).map(function (day) { return _this.format(day, \"EEEEEE\"); });\n };\n DateFnsUtils.prototype.getWeekArray = function (date) {\n var start = startOfWeek(startOfMonth(date), { locale: this.locale });\n var end = endOfWeek(endOfMonth(date), { locale: this.locale });\n var count = 0;\n var current = start;\n var nestedWeeks = [];\n while (isBefore(current, end)) {\n var weekNumber = Math.floor(count / 7);\n nestedWeeks[weekNumber] = nestedWeeks[weekNumber] || [];\n nestedWeeks[weekNumber].push(current);\n current = addDays(current, 1);\n count += 1;\n }\n return nestedWeeks;\n };\n DateFnsUtils.prototype.getYearRange = function (start, end) {\n var startDate = startOfYear(start);\n var endDate = endOfYear(end);\n var years = [];\n var current = startDate;\n while (isBefore(current, endDate)) {\n years.push(current);\n current = addYears(current, 1);\n }\n return years;\n };\n // displaying methpds\n DateFnsUtils.prototype.getCalendarHeaderText = function (date) {\n return this.format(date, this.yearMonthFormat);\n };\n DateFnsUtils.prototype.getYearText = function (date) {\n return this.format(date, \"yyyy\");\n };\n DateFnsUtils.prototype.getDatePickerHeaderText = function (date) {\n return this.format(date, \"EEE, MMM d\");\n };\n DateFnsUtils.prototype.getDateTimePickerHeaderText = function (date) {\n return this.format(date, \"MMM d\");\n };\n DateFnsUtils.prototype.getMonthText = function (date) {\n return this.format(date, \"MMMM\");\n };\n DateFnsUtils.prototype.getDayText = function (date) {\n return this.format(date, \"d\");\n };\n DateFnsUtils.prototype.getHourText = function (date, ampm) {\n return this.format(date, ampm ? \"hh\" : \"HH\");\n };\n DateFnsUtils.prototype.getMinuteText = function (date) {\n return this.format(date, \"mm\");\n };\n DateFnsUtils.prototype.getSecondText = function (date) {\n return this.format(date, \"ss\");\n };\n return DateFnsUtils;\n}());\n\nexport default DateFnsUtils;\n","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 };","function _setPrototypeOf(t, e) {\n return _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function (t, e) {\n return t.__proto__ = e, t;\n }, _setPrototypeOf(t, e);\n}\nexport { _setPrototypeOf as default };","import arrayLikeToArray from \"./arrayLikeToArray.js\";\nfunction _unsupportedIterableToArray(r, a) {\n if (r) {\n if (\"string\" == typeof r) return arrayLikeToArray(r, a);\n var t = {}.toString.call(r).slice(8, -1);\n return \"Object\" === t && r.constructor && (t = r.constructor.name), \"Map\" === t || \"Set\" === t ? Array.from(r) : \"Arguments\" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? arrayLikeToArray(r, a) : void 0;\n }\n}\nexport { _unsupportedIterableToArray 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 };","function _extends() {\n return _extends = Object.assign ? Object.assign.bind() : function (n) {\n for (var e = 1; e < arguments.length; e++) {\n var t = arguments[e];\n for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]);\n }\n return n;\n }, _extends.apply(null, arguments);\n}\nexport { _extends 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 * as React from 'react';\nimport { PluginHost, PluginPositionFn } from '@devexpress/dx-core';\n\n/** @internal */\nexport interface TemplateHostInterface {\n params(...args): any;\n templates(...args): any;\n}\n\n/** @internal */\nexport const PluginHostContext = React.createContext(null);\n/** @internal */\nexport const PositionContext = React.createContext(() => []);\n/** @internal */\nexport const TemplateHostContext = React.createContext(null);\n","import * as React from 'react';\nimport { PluginPositionFn } from '@devexpress/dx-core';\nimport { PositionContext } from './contexts';\n\ntype MemoizedPluginPositionFn =\n (index: number, positionContext: PluginPositionFn) => PluginPositionFn;\n\ntype PluginIndexerProps = {\n children: React.ReactNode;\n};\n\n/** @internal */\nexport class PluginIndexer extends React.PureComponent {\n indexes: { [index: number]: PluginPositionFn } = {};\n memoize: MemoizedPluginPositionFn = (index, positionContext) => {\n if (this.indexes[index]) return this.indexes[index];\n\n const fn: PluginPositionFn = () => {\n const calculatedPosition = positionContext();\n return [...calculatedPosition, index];\n };\n this.indexes[index] = fn;\n\n return fn;\n }\n render() {\n const { children } = this.props;\n return (\n \n {positionContext => (\n React.Children.map(children, (child: any, index: number) => {\n if (!child || !child.type) return child;\n const childPosition = this.memoize(index, positionContext);\n\n return (\n \n {child}\n \n );\n })\n )}\n \n );\n }\n}\n","/** @internal */\nexport const PLUGIN_HOST_CONTEXT = 'dxcore_pluginHost_context';\n/** @internal */\nexport const POSITION_CONTEXT = 'dxcore_position_context';\n/** @internal */\nexport const TEMPLATE_HOST_CONTEXT = 'dxcore_templateHost_context';\n\n/** @internal */\nexport const RERENDER_TEMPLATE_EVENT = Symbol('rerenderTemplate');\n/** @internal */\nexport const RERENDER_TEMPLATE_SCOPE_EVENT = Symbol('rerenderTemplateScope');\n/** @internal */\nexport const UPDATE_CONNECTION_EVENT = Symbol('updateConnection');\n","import * as React from 'react';\nimport { PluginHostContext, PositionContext } from '../plugin-based/contexts';\nimport { PLUGIN_HOST_CONTEXT, POSITION_CONTEXT } from '../plugin-based/constants';\n\n/** @internal */\nexport const withContext = (Context, name) => Component => props => (\n \n {context => (\n \n )}\n \n);\n\n/** @internal */\nexport const withHostAndPosition = Component => withContext(\n PluginHostContext,\n PLUGIN_HOST_CONTEXT,\n)(withContext(PositionContext, POSITION_CONTEXT)(Component));\n","import * as React from 'react';\nimport { InnerPlugin } from '@devexpress/dx-core';\nimport { PluginIndexer } from './plugin-indexer';\nimport { PLUGIN_HOST_CONTEXT, POSITION_CONTEXT } from './constants';\nimport { withHostAndPosition } from '../utils/with-props-from-context';\nimport { PluginContextProps } from './plugin-context-prop-types';\nimport { IDependency } from '../types';\n\nexport interface PluginProps {\n /** React elements that expose the plugin's state and actions and render the plugin's UI. */\n children: React.ReactNode;\n name?: string;\n dependencies?: IDependency[];\n}\n\n/** @internal */\nexport class PluginBase extends React.PureComponent {\n plugin!: InnerPlugin;\n\n componentDidMount() {\n const { [PLUGIN_HOST_CONTEXT]: pluginHost, [POSITION_CONTEXT]: position } = this.props;\n const { name, dependencies } = this.props;\n this.plugin = {\n position,\n name,\n dependencies,\n container: true,\n };\n pluginHost.registerPlugin(this.plugin);\n pluginHost.ensureDependencies();\n }\n\n componentDidUpdate() {\n const { [PLUGIN_HOST_CONTEXT]: pluginHost } = this.props;\n pluginHost.ensureDependencies();\n }\n\n componentWillUnmount() {\n const { [PLUGIN_HOST_CONTEXT]: pluginHost } = this.props;\n pluginHost.unregisterPlugin(this.plugin);\n }\n\n render() {\n const { children } = this.props;\n return (\n \n {children}\n \n );\n }\n}\n\nexport const Plugin: React.ComponentType = withHostAndPosition(PluginBase);\n","import * as React from 'react';\nimport { shallowEqual } from '@devexpress/dx-core';\nimport {\n PLUGIN_HOST_CONTEXT, RERENDER_TEMPLATE_EVENT,\n TEMPLATE_HOST_CONTEXT, RERENDER_TEMPLATE_SCOPE_EVENT,\n} from './constants';\nimport { withContext } from '../utils/with-props-from-context';\nimport { PluginHostContext, TemplateHostContext, TemplateHostInterface } from './contexts';\nimport { PluginContextProps } from './plugin-context-prop-types';\nimport { TemplateBase } from './template';\n\nexport interface TemplatePlaceholderProps {\n /** The name of a template to be rendered. */\n name?: string;\n /** An object passed to the related template. */\n params?: object;\n children?: (content) => any;\n}\ninterface TemplateHostContextProps {\n [TEMPLATE_HOST_CONTEXT: string]: TemplateHostInterface;\n}\n\ntype Props = TemplatePlaceholderProps & PluginContextProps & TemplateHostContextProps;\n\nconst getRenderingData = (props: Props): { params?: object, templates: TemplateBase[] } => {\n const { name, params } = props;\n if (name) {\n const { [PLUGIN_HOST_CONTEXT]: pluginHost } = props;\n return {\n params,\n templates: pluginHost.collect(`${name}Template`)\n .filter(template => template.predicate(params))\n .reverse(),\n };\n }\n const { [TEMPLATE_HOST_CONTEXT]: templateHost } = props;\n return {\n params: params || templateHost.params(),\n templates: templateHost.templates(),\n };\n};\n\nclass TemplatePlaceholderBase extends React.Component {\n subscription = {\n [RERENDER_TEMPLATE_EVENT]: (id: number) => {\n if (this.template && this.template.id === id) {\n this.forceUpdate();\n }\n },\n [RERENDER_TEMPLATE_SCOPE_EVENT]: (name: string) => {\n const { name: propsName } = this.props;\n if (propsName === name) {\n this.forceUpdate();\n }\n },\n };\n template: TemplateBase | null = null;\n params?: object = {};\n\n componentDidMount() {\n const { [PLUGIN_HOST_CONTEXT]: pluginHost } = this.props;\n pluginHost.registerSubscription(this.subscription);\n }\n\n shouldComponentUpdate(nextProps: Props) {\n const { params, templates } = getRenderingData(nextProps);\n const { children } = this.props;\n const [template] = templates;\n return children !== nextProps.children || this.template !== template\n || !shallowEqual(this.params, params);\n }\n\n componentWillUnmount() {\n const { [PLUGIN_HOST_CONTEXT]: pluginHost } = this.props;\n pluginHost.unregisterSubscription(this.subscription);\n }\n\n render() {\n const { params, templates } = getRenderingData(this.props);\n\n this.params = params;\n [this.template] = templates;\n const restTemplates = templates.slice(1);\n\n let content: ((...args) => any) | null = null;\n if (this.template) {\n const { children: templateContent } = this.template;\n\n content = templateContent() || null;\n if (content && typeof content === 'function') {\n content = content(params);\n }\n }\n\n const { children: templatePlaceholder } = this.props;\n return (\n restTemplates,\n params: () => this.params,\n }}\n >\n {templatePlaceholder ? templatePlaceholder(content) : content}\n \n );\n }\n}\n\n/** A React component to which a related Template is rendered. */\nexport const TemplatePlaceholder: React.ComponentType = withContext(\n PluginHostContext, PLUGIN_HOST_CONTEXT,\n)(\n withContext(TemplateHostContext, TEMPLATE_HOST_CONTEXT)(TemplatePlaceholderBase),\n);\n","import * as React from 'react';\nimport { PluginHost as PluginHostCore } from '@devexpress/dx-core';\nimport { PluginIndexer } from './plugin-indexer';\nimport { TemplatePlaceholder } from './template-placeholder';\nimport { PluginHostContext } from './contexts';\n\nexport interface PluginHostProps {\n /** Plugin React elements. */\n children: React.ReactNode;\n}\n\n/** @internal */\nclass PluginHostBase extends React.PureComponent {\n host: PluginHostCore;\n\n constructor(props: PluginHostProps) {\n super(props);\n\n this.host = new PluginHostCore();\n }\n\n render() {\n const { children } = this.props;\n\n return (\n \n \n {children}\n \n \n \n );\n }\n}\n\nexport const PluginHost: React.ComponentType = PluginHostBase;\n","import { shallowEqual } from '@devexpress/dx-core';\n\n/** @internal */\nexport const getAvailableGetters = (\n pluginHost,\n getGetterValue = getterName => pluginHost.get(`${getterName}Getter`),\n) => {\n const trackedDependencies = {};\n\n let getters;\n if (typeof Proxy !== 'undefined') {\n getters = new Proxy({}, {\n get(target, prop) {\n if (typeof prop !== 'string') return undefined;\n const result = getGetterValue(prop);\n trackedDependencies[prop] = result;\n return result;\n },\n getOwnPropertyDescriptor(target, prop) {\n return {\n configurable: true,\n enumerable: true,\n value: this.get!(target as any, prop, undefined),\n };\n },\n ownKeys() {\n return pluginHost.knownKeys('Getter');\n },\n });\n } else {\n getters = pluginHost.knownKeys('Getter')\n .reduce((acc, getterName) => {\n Object.defineProperty(acc, getterName, {\n get: () => {\n const result = getGetterValue(getterName);\n trackedDependencies[getterName] = result;\n return result;\n },\n });\n return acc;\n }, {});\n }\n\n return { getters, trackedDependencies };\n};\n\n/** @internal */\nexport const isTrackedDependenciesChanged = (\n pluginHost,\n prevTrackedDependencies,\n getGetterValue = getterName => pluginHost.get(`${getterName}Getter`),\n) => {\n const trackedDependencies = Object.keys(prevTrackedDependencies)\n // tslint:disable-next-line: prefer-object-spread\n .reduce((acc, getterName) => Object.assign(acc, {\n [getterName]: getGetterValue(getterName),\n }), {});\n\n return !shallowEqual(prevTrackedDependencies, trackedDependencies);\n};\n\n/** @internal */\nexport const getAvailableActions = (\n pluginHost,\n getAction = actionName => pluginHost.collect(`${actionName}Action`).slice().reverse()[0],\n) => {\n let actions;\n if (typeof Proxy !== 'undefined') {\n actions = new Proxy({}, {\n get(target, prop) {\n if (typeof prop !== 'string') return undefined;\n return getAction(prop);\n },\n getOwnPropertyDescriptor(target, prop) {\n return {\n configurable: true,\n enumerable: true,\n value: this.get!(target as any, prop, undefined),\n };\n },\n ownKeys() {\n return pluginHost.knownKeys('Action');\n },\n });\n } else {\n actions = pluginHost.knownKeys('Action')\n .reduce((acc, actionName) => {\n Object.defineProperty(acc, actionName, {\n get: () => getAction(actionName),\n });\n return acc;\n }, {});\n }\n return actions;\n};\n","import * as React from 'react';\nimport { InnerPlugin } from '@devexpress/dx-core';\nimport {\n getAvailableGetters,\n getAvailableActions,\n} from './helpers';\nimport { PLUGIN_HOST_CONTEXT, POSITION_CONTEXT } from './constants';\nimport { withHostAndPosition } from '../utils/with-props-from-context';\nimport { PluginContextProps } from './plugin-context-prop-types';\nimport { Getters, Actions } from '../types';\n\nexport interface ActionProps {\n /** The action name. */\n name: string;\n /** A function that is called when the action is executed. */\n action: (payload: any, getters: Getters, actions: Actions) => void;\n}\n\nclass ActionBase extends React.PureComponent {\n plugin: InnerPlugin;\n\n constructor(props) {\n super(props);\n\n const { [PLUGIN_HOST_CONTEXT]: pluginHost, [POSITION_CONTEXT]: positionContext } = props;\n const { name } = props;\n\n this.plugin = {\n position: () => positionContext(),\n [`${name}Action`]: (params) => {\n const { action } = this.props;\n const { getters } = getAvailableGetters(\n pluginHost,\n getterName => pluginHost.get(`${getterName}Getter`, this.plugin),\n );\n let nextParams = params;\n const actions = getAvailableActions(\n pluginHost,\n actionName => (actionName === name\n ? (newParams) => { nextParams = newParams; }\n : pluginHost.collect(`${actionName}Action`, this.plugin).slice().reverse()[0]),\n );\n action(params, getters, actions);\n const nextAction = pluginHost.collect(`${name}Action`, this.plugin).slice().reverse()[0];\n if (nextAction) {\n nextAction(nextParams);\n }\n },\n };\n\n pluginHost.registerPlugin(this.plugin);\n }\n\n componentWillUnmount() {\n const { [PLUGIN_HOST_CONTEXT]: pluginHost } = this.props;\n\n pluginHost.unregisterPlugin(this.plugin);\n }\n\n render() {\n return null;\n }\n}\n\nexport const Action: React.ComponentType = withHostAndPosition(ActionBase);\n","import * as React from 'react';\nimport {\n isTrackedDependenciesChanged,\n getAvailableGetters,\n getAvailableActions,\n} from './helpers';\nimport { UPDATE_CONNECTION_EVENT, PLUGIN_HOST_CONTEXT, POSITION_CONTEXT } from './constants';\nimport { withHostAndPosition } from '../utils/with-props-from-context';\nimport { InnerPlugin } from '@devexpress/dx-core';\nimport { PluginContextProps } from './plugin-context-prop-types';\nimport { ComputedFn } from '../types';\n\nexport interface GetterProps {\n /** The Getter's name. */\n name: string;\n /** The shared value. */\n value?: any;\n /*** A function that calculates a value depending on the values other Getters expose.\n * The value is computed each time a related Getter's value changes.\n * Applies only if `value` is not defined.\n */\n computed?: ComputedFn;\n}\n\nclass GetterBase extends React.PureComponent {\n plugin: InnerPlugin;\n\n constructor(props) {\n super(props);\n\n const { [PLUGIN_HOST_CONTEXT]: pluginHost, [POSITION_CONTEXT]: positionContext } = props;\n const { name } = props;\n\n let lastComputed;\n let lastTrackedDependencies = {};\n let lastResult;\n\n this.plugin = {\n position: () => positionContext(),\n [`${name}Getter`]: (original) => {\n const { value, computed } = this.props;\n if (computed === undefined) return value;\n\n const getGetterValue = getterName => ((getterName === name)\n ? original\n : pluginHost.get(`${getterName}Getter`, this.plugin));\n\n if (computed === lastComputed\n && !isTrackedDependenciesChanged(pluginHost, lastTrackedDependencies, getGetterValue)) {\n return lastResult;\n }\n\n const { getters, trackedDependencies } = getAvailableGetters(pluginHost, getGetterValue);\n const actions = getAvailableActions(pluginHost);\n\n lastComputed = computed;\n lastTrackedDependencies = trackedDependencies;\n lastResult = computed(getters, actions);\n return lastResult;\n },\n };\n\n pluginHost.registerPlugin(this.plugin);\n }\n\n componentDidUpdate() {\n const { [PLUGIN_HOST_CONTEXT]: pluginHost } = this.props;\n\n pluginHost.broadcast(UPDATE_CONNECTION_EVENT);\n }\n\n componentWillUnmount() {\n const { [PLUGIN_HOST_CONTEXT]: pluginHost } = this.props;\n\n pluginHost.unregisterPlugin(this.plugin);\n }\n\n render() {\n return null;\n }\n}\n\nexport const Getter: React.ComponentType = withHostAndPosition(GetterBase);\n","import * as React from 'react';\nimport { InnerPlugin } from '@devexpress/dx-core';\nimport {\n PLUGIN_HOST_CONTEXT, POSITION_CONTEXT,\n RERENDER_TEMPLATE_EVENT, RERENDER_TEMPLATE_SCOPE_EVENT,\n} from './constants';\nimport { withHostAndPosition } from '../utils/with-props-from-context';\nimport { PluginContextProps } from './plugin-context-prop-types';\n\nexport interface TemplateProps {\n // tslint:disable-next-line:max-line-length\n /** The template name. The `root` name is reserved. A template called `root` is rendered as the plugin based component's root. */\n name: string;\n // tslint:disable-next-line:max-line-length\n /** A predicate function that returns a Boolean value that specifies whether the template should be rendered. */\n predicate?: (params: object) => boolean;\n /** A markup or function that returns a markup based on the specified parameters. */\n children: React.ReactNode | ((params: object) => React.ReactNode);\n}\n\nlet globalTemplateId = 0;\n/** @internal */\nexport class TemplateBase extends React.PureComponent {\n id: number;\n plugin: InnerPlugin;\n children: () => any;\n\n constructor(props) {\n super(props);\n\n this.children = () => void 0;\n\n globalTemplateId += 1;\n this.id = globalTemplateId;\n\n const { [PLUGIN_HOST_CONTEXT]: pluginHost, [POSITION_CONTEXT]: positionContext } = props;\n const { name, predicate } = props;\n\n this.plugin = {\n position: () => positionContext(),\n [`${name}Template`]: {\n id: this.id,\n predicate: params => (predicate ? predicate(params) : true),\n children: () => {\n const { children } = this.props;\n return children;\n },\n },\n };\n pluginHost.registerPlugin(this.plugin);\n pluginHost.broadcast(RERENDER_TEMPLATE_SCOPE_EVENT, name);\n }\n\n componentDidUpdate() {\n const { [PLUGIN_HOST_CONTEXT]: pluginHost } = this.props;\n pluginHost.broadcast(RERENDER_TEMPLATE_EVENT, this.id);\n }\n\n componentWillUnmount() {\n const { [PLUGIN_HOST_CONTEXT]: pluginHost } = this.props;\n const { name } = this.props;\n pluginHost.unregisterPlugin(this.plugin);\n pluginHost.broadcast(RERENDER_TEMPLATE_SCOPE_EVENT, name);\n }\n\n render() {\n return null;\n }\n}\n\n/*** A React component that defines a markup that is rendered\n * as the corresponding TemplatePlaceholder.\n */\nexport const Template: React.ComponentType = withHostAndPosition(TemplateBase);\n","import * as React from 'react';\nimport { UPDATE_CONNECTION_EVENT } from './constants';\nimport {\n isTrackedDependenciesChanged,\n getAvailableGetters,\n getAvailableActions,\n} from './helpers';\nimport { PluginHostContext } from './contexts';\nimport { Getters, Actions } from '../types';\n\nexport interface TemplateConnectorProps {\n /** A function that renders a markup using Getters and Actions passed as arguments. */\n children: (\n getters: Getters,\n actions: Actions,\n ) => React.ReactNode;\n}\n\n/** @internal */\nclass TemplateConnectorBase extends React.Component {\n trackedDependencies: { [key: string]: { get: (args) => any }};\n subscription: { [UPDATE_CONNECTION_EVENT: string]: (args) => void };\n\n constructor(props, context) {\n super(props, context);\n\n this.trackedDependencies = {};\n this.subscription = {\n [UPDATE_CONNECTION_EVENT]: () => this.updateConnection(),\n };\n }\n\n componentDidMount() {\n const pluginHost = this.context;\n pluginHost.registerSubscription(this.subscription);\n }\n\n componentWillUnmount() {\n const pluginHost = this.context;\n pluginHost.unregisterSubscription(this.subscription);\n }\n\n updateConnection() {\n const pluginHost = this.context;\n\n if (isTrackedDependenciesChanged(pluginHost, this.trackedDependencies)) {\n this.forceUpdate();\n }\n }\n\n render() {\n const pluginHost = this.context;\n const { children } = this.props;\n\n const { getters, trackedDependencies } = getAvailableGetters(pluginHost);\n this.trackedDependencies = trackedDependencies;\n const actions = getAvailableActions(pluginHost);\n\n return children(getters, actions);\n }\n}\n\nTemplateConnectorBase.contextType = PluginHostContext;\n\n/** A React component that provides access to Getters and Actions within a Template. */\nexport const TemplateConnector: React.ComponentType = TemplateConnectorBase;\n","/* globals document:true */\n\nlet gestureCover: HTMLElement;\n/** @internal */\nexport const toggleGestureCover = (toggle, cursor?) => {\n let style: React.CSSProperties = {\n pointerEvents: toggle ? 'all' : 'none',\n };\n if (toggle && cursor) {\n style = {\n ...style,\n cursor,\n };\n }\n if (!gestureCover) {\n style = {\n ...style,\n position: 'fixed',\n top: 0,\n right: 0,\n left: 0,\n bottom: 0,\n opacity: 0,\n zIndex: 2147483647,\n };\n\n gestureCover = document.createElement('div');\n document.body.appendChild(gestureCover);\n }\n Object.keys(style).forEach((key) => { gestureCover.style[key] = style[key]; });\n};\n","/* globals window:true */\n\nimport { EventEmitter } from '@devexpress/dx-core';\n\nlet eventEmitter;\n/** @internal */\nexport const getSharedEventEmitter = () => {\n if (!eventEmitter) {\n eventEmitter = new EventEmitter();\n\n ['mousemove', 'mouseup', 'touchmove', 'touchend', 'touchcancel']\n .forEach(name => window.addEventListener(\n name, e => eventEmitter.emit([name, e]), { passive: false },\n ));\n }\n return eventEmitter;\n};\n","const TIMEOUT = 180;\n\n/** @internal */\nexport class TouchStrategy {\n delegate: any;\n touchStartTimeout: any;\n dragging: boolean;\n mouseInitialOffset: null;\n\n constructor(delegate) {\n this.delegate = delegate;\n this.touchStartTimeout = null;\n this.dragging = false;\n }\n\n isDragging() {\n return this.dragging;\n }\n\n isWaiting() {\n return !!this.touchStartTimeout;\n }\n\n cancelWaiting() {\n clearTimeout(this.touchStartTimeout);\n this.touchStartTimeout = undefined;\n }\n\n start(e) {\n const { clientX: x, clientY: y } = e.touches[0];\n this.touchStartTimeout = setTimeout(() => {\n this.delegate.onStart({ x, y });\n this.dragging = true;\n }, TIMEOUT);\n }\n\n move(e) {\n this.cancelWaiting();\n if (this.dragging) {\n const { clientX, clientY } = e.touches[0];\n e.preventDefault();\n this.delegate.onMove({ x: clientX, y: clientY });\n }\n }\n\n end(e) {\n this.cancelWaiting();\n if (this.dragging) {\n const { clientX, clientY } = e.changedTouches[0];\n this.delegate.onEnd({ x: clientX, y: clientY });\n }\n this.mouseInitialOffset = null;\n this.dragging = false;\n }\n}\n","/* globals document:true window:true */\n\n/** @internal */\nexport const clear = () => {\n const selection = window.getSelection && window.getSelection();\n\n if (selection) {\n if (selection.empty) {\n selection.empty();\n } else if (selection.removeAllRanges) {\n selection.removeAllRanges();\n }\n }\n};\n","/* globals window:true document:true */\n\nimport { toggleGestureCover } from './gesture-cover';\nimport { clear } from './selection-utils';\n\nconst BOUNDARY = 10;\nconst clamp = (value, min, max) => Math.max(Math.min(value, max), min);\nconst isBoundExceeded = (\n { x: initialX, y: initialY }, { x, y },\n) => clamp(x, initialX - BOUNDARY, initialX + BOUNDARY) !== x\n || clamp(y, initialY - BOUNDARY, initialY + BOUNDARY) !== y;\n\n/** @internal */\nexport class MouseStrategy {\n delegate: any;\n mouseInitialOffset: any;\n dragging: boolean;\n e: any;\n\n constructor(delegate) {\n this.delegate = delegate;\n this.mouseInitialOffset = null;\n this.dragging = false;\n }\n\n isDragging() {\n return this.dragging;\n }\n\n start(e) {\n const { clientX: x, clientY: y } = e;\n this.e = e;\n this.mouseInitialOffset = { x, y };\n }\n\n move(e) {\n const { clientX: x, clientY: y } = e;\n let dragStarted = false;\n if (!this.dragging && this.mouseInitialOffset) {\n if (isBoundExceeded(this.mouseInitialOffset, { x, y })) {\n this.delegate.onStart(this.mouseInitialOffset);\n clear();\n dragStarted = true;\n this.dragging = true;\n }\n }\n if (this.dragging) {\n e.preventDefault();\n this.delegate.onMove({ x, y });\n }\n if (dragStarted) {\n const element = document.elementFromPoint(x, y);\n const cursor = element ? window.getComputedStyle(element).cursor : null;\n toggleGestureCover(true, cursor);\n }\n }\n\n end(e) {\n if (this.dragging) {\n const { clientX: x, clientY: y } = e;\n toggleGestureCover(false);\n this.delegate.onEnd({ x, y });\n }\n this.mouseInitialOffset = null;\n this.dragging = false;\n }\n}\n","import * as React from 'react';\nimport { unstable_batchedUpdates, findDOMNode } from 'react-dom';\nimport { TouchStrategy } from './draggable/touch-strategy';\nimport { MouseStrategy } from './draggable/mouse-strategy';\nimport { getSharedEventEmitter } from './draggable/shared-events';\nimport { clear } from './draggable/selection-utils';\n\nconst draggingHandled = Symbol('draggingHandled');\n\ntype DraggableProps = {\n onStart?: (args) => void;\n onUpdate?: (args) => void;\n onEnd?: (args) => void;\n};\n\n/** @internal */\nexport class Draggable extends React.Component {\n mouseStrategy: MouseStrategy;\n touchStrategy: TouchStrategy;\n\n constructor(props, context) {\n super(props, context);\n const delegate = {\n onStart: ({ x, y }) => {\n const { onStart } = this.props;\n if (!onStart) return;\n unstable_batchedUpdates(() => {\n onStart({ x, y });\n });\n },\n onMove: ({ x, y }) => {\n const { onUpdate } = this.props;\n if (!onUpdate) return;\n unstable_batchedUpdates(() => {\n onUpdate({ x, y });\n });\n },\n onEnd: ({ x, y }) => {\n const { onEnd } = this.props;\n if (!onEnd) return;\n unstable_batchedUpdates(() => {\n onEnd({ x, y });\n });\n },\n };\n\n this.mouseStrategy = new MouseStrategy(delegate);\n this.touchStrategy = new TouchStrategy(delegate);\n\n this.mouseDownListener = this.mouseDownListener.bind(this);\n this.touchStartListener = this.touchStartListener.bind(this);\n this.globalListener = this.globalListener.bind(this);\n }\n\n componentDidMount() {\n getSharedEventEmitter().subscribe(this.globalListener);\n this.setupNodeSubscription();\n }\n\n shouldComponentUpdate(nextProps) {\n const { children } = this.props;\n return nextProps.children !== children;\n }\n\n componentDidUpdate() {\n this.setupNodeSubscription();\n }\n\n componentWillUnmount() {\n getSharedEventEmitter().unsubscribe(this.globalListener);\n }\n\n setupNodeSubscription() {\n const node = findDOMNode(this) as Element;\n if (!node) return;\n node.removeEventListener('mousedown', this.mouseDownListener);\n node.removeEventListener('touchstart', this.touchStartListener);\n node.addEventListener('mousedown', this.mouseDownListener);\n node.addEventListener('touchstart', this.touchStartListener, { passive: true });\n }\n\n mouseDownListener(e) {\n if (this.touchStrategy.isWaiting() || e[draggingHandled]) return;\n e.preventDefault();\n this.mouseStrategy.start(e);\n e[draggingHandled] = true;\n }\n\n touchStartListener(e) {\n if (e[draggingHandled]) return;\n this.touchStrategy.start(e);\n e[draggingHandled] = true;\n }\n\n globalListener([name, e]) {\n switch (name) {\n case 'mousemove':\n this.mouseStrategy.move(e);\n break;\n case 'mouseup':\n this.mouseStrategy.end(e);\n break;\n case 'touchmove': {\n this.touchStrategy.move(e);\n break;\n }\n case 'touchend':\n case 'touchcancel': {\n this.touchStrategy.end(e);\n break;\n }\n default:\n break;\n }\n if (this.mouseStrategy.isDragging() || this.touchStrategy.isDragging()) {\n clear();\n }\n }\n\n render() {\n const { children } = this.props;\n return children;\n }\n}\n","import * as React from 'react';\nimport { DragDropProviderCore } from './provider';\n\n/** @internal */\nexport const DragDropContext = React.createContext(null);\n","import * as React from 'react';\n\nimport { EventEmitter } from '@devexpress/dx-core';\nimport { DragDropContext } from './context';\n\n/** @internal */\nexport class DragDropProviderCore {\n payload: null;\n dragEmitter: EventEmitter;\n\n constructor() {\n this.payload = null;\n this.dragEmitter = new EventEmitter();\n }\n\n start(payload, clientOffset) {\n this.payload = payload;\n this.dragEmitter.emit({ clientOffset, payload: this.payload });\n }\n\n update(clientOffset) {\n this.dragEmitter.emit({ clientOffset, payload: this.payload });\n }\n\n end(clientOffset) {\n this.dragEmitter.emit({ clientOffset, payload: this.payload, end: true });\n this.payload = null;\n }\n}\n\nconst defaultProps = {\n onChange: ({ payload, clientOffset }) => {},\n};\ntype DragDropProviderDefaultProps = Readonly;\ntype DragDropProviderProps = Partial;\n\n/** @internal */\n// tslint:disable-next-line: max-classes-per-file\nexport class DragDropProvider extends React.Component<\n DragDropProviderProps & DragDropProviderDefaultProps\n> {\n static defaultProps = defaultProps;\n dragDropProvider: DragDropProviderCore;\n\n constructor(props) {\n super(props);\n const { onChange } = this.props;\n\n this.dragDropProvider = new DragDropProviderCore();\n\n this.dragDropProvider.dragEmitter.subscribe(({ payload, clientOffset, end }) => {\n onChange({\n payload: end ? null : payload,\n clientOffset: end ? null : clientOffset,\n });\n });\n }\n\n shouldComponentUpdate(nextProps) {\n const { children } = this.props;\n return nextProps.children !== children;\n }\n\n render() {\n const { children } = this.props;\n return (\n \n {children}\n \n );\n }\n}\n","import * as React from 'react';\nimport { DragDropContext } from './context';\nimport { Draggable } from '../draggable';\n\nconst defaultProps = {\n onStart: ({ clientOffset }) => {},\n onUpdate: ({ clientOffset }) => {},\n onEnd: ({ clientOffset }) => {},\n};\ntype DragSourceDefaultProps = Readonly;\ntype DragSourceProps = {\n payload: any;\n} & Partial;\n\n/** @internal */\nexport class DragSource extends React.Component {\n static defaultProps = defaultProps;\n\n shouldComponentUpdate(nextProps) {\n const { children } = this.props;\n return nextProps.children !== children;\n }\n\n render() {\n const dragDropProvider = this.context;\n const {\n onStart, onUpdate, onEnd, payload, children,\n } = this.props;\n return (\n {\n dragDropProvider.start(payload, { x, y });\n onStart({ clientOffset: { x, y } });\n }}\n onUpdate={({ x, y }) => {\n dragDropProvider.update({ x, y });\n onUpdate({ clientOffset: { x, y } });\n }}\n onEnd={({ x, y }) => {\n dragDropProvider.end({ x, y });\n onEnd({ clientOffset: { x, y } });\n }}\n >\n {children}\n \n );\n }\n}\nDragSource.contextType = DragDropContext;\n","import * as React from 'react';\nimport { findDOMNode } from 'react-dom';\nimport { DragDropContext } from './context';\n\nconst clamp = (value, min, max) => Math.max(Math.min(value, max), min);\n\nconst defaultProps = {\n onEnter: (args) => {},\n onOver: (args) => {},\n onLeave: (args) => {},\n onDrop: (args) => {},\n};\ntype DropTargetDefaultProps = Readonly;\n\n/** @internal */\nexport class DropTarget extends React.Component {\n static defaultProps = defaultProps;\n isOver: boolean;\n\n constructor(props) {\n super(props);\n\n this.isOver = false;\n\n this.handleDrag = this.handleDrag.bind(this);\n }\n\n componentDidMount() {\n const { dragEmitter } = this.context;\n dragEmitter.subscribe(this.handleDrag);\n }\n\n shouldComponentUpdate(nextProps) {\n const { children } = this.props;\n return nextProps.children !== children;\n }\n\n componentWillUnmount() {\n const { dragEmitter } = this.context;\n dragEmitter.unsubscribe(this.handleDrag);\n }\n\n handleDrag({ payload, clientOffset, end }) {\n const {\n left,\n top,\n right,\n bottom,\n } = (findDOMNode(this) as Element).getBoundingClientRect();\n const {\n onDrop, onEnter, onLeave, onOver,\n } = this.props;\n const isOver = clientOffset\n && clamp(clientOffset.x, left, right) === clientOffset.x\n && clamp(clientOffset.y, top, bottom) === clientOffset.y;\n\n if (!this.isOver && isOver) onEnter({ payload, clientOffset });\n if (this.isOver && isOver) onOver({ payload, clientOffset });\n if (this.isOver && !isOver) onLeave({ payload, clientOffset });\n if (isOver && end) onDrop({ payload, clientOffset });\n\n this.isOver = isOver && !end;\n }\n\n render() {\n const { children } = this.props;\n return React.Children.only(children);\n }\n}\n\nDropTarget.contextType = DragDropContext;\n","import * as React from 'react';\n\n/** @internal */\nexport class RefHolder extends React.PureComponent {\n render() {\n const { children } = this.props;\n return children;\n }\n}\n","/* globals document:true */\n\nimport * as React from 'react';\nimport { findDOMNode } from 'react-dom';\nimport { RefHolder } from './ref-holder';\nimport { SizerProps, Size } from './types';\n\nconst styles = {\n root: {\n position: 'relative',\n },\n triggersRoot: {\n position: 'absolute',\n top: 0,\n left: 0,\n height: '100%',\n width: '100%',\n overflow: 'hidden',\n zIndex: -1,\n visibility: 'hidden',\n opacity: 0,\n },\n expandTrigger: {\n position: 'absolute',\n top: 0,\n left: 0,\n height: '100%',\n width: '100%',\n overflow: 'auto',\n },\n contractTrigger: {\n position: 'absolute',\n top: 0,\n left: 0,\n height: '100%',\n width: '100%',\n overflow: 'auto',\n minHeight: '1px',\n minWidth: '1px',\n },\n contractNotifier: {\n position: 'absolute',\n top: 0,\n left: 0,\n width: '200%',\n height: '200%',\n minHeight: '2px',\n minWidth: '2px',\n },\n};\n\n/** @internal */\nexport class Sizer extends React.PureComponent {\n static defaultProps = {\n containerComponent: 'div',\n };\n\n rootRef: React.RefObject;\n // Though there properties cannot be assigned in constructor\n // they will be assigned when component is mount.\n rootNode!: HTMLElement;\n triggersRoot!: HTMLDivElement;\n expandTrigger!: HTMLDivElement;\n expandNotifier!: HTMLDivElement;\n contractTrigger!: HTMLDivElement;\n contractNotifier!: HTMLDivElement;\n\n constructor(props) {\n super(props);\n\n this.setupListeners = this.setupListeners.bind(this);\n this.rootRef = React.createRef();\n }\n\n componentDidMount() {\n this.createListeners();\n this.setupListeners();\n }\n\n componentDidUpdate() {\n // We can scroll the VirtualTable manually only by changing\n // containter's (rootNode) scrollTop property.\n // Viewport changes its own properties automatically.\n const { scrollTop } = this.props;\n if (scrollTop! > -1) {\n this.rootNode.scrollTop = scrollTop!;\n }\n }\n\n // There is no need to remove listeners as divs are removed from DOM when component is unmount.\n // But there is a little chance that component unmounting and 'scroll' event happen roughly\n // at the same time so that `setupListeners` is called after component is unmount.\n componentWillUnmount() {\n this.expandTrigger.removeEventListener('scroll', this.setupListeners);\n this.contractTrigger.removeEventListener('scroll', this.setupListeners);\n }\n\n getSize = (): Size => ({ height: this.rootNode.clientHeight, width: this.rootNode.clientWidth });\n\n setupListeners() {\n const size = this.getSize();\n const { width, height } = size;\n\n this.contractTrigger.scrollTop = height;\n this.contractTrigger.scrollLeft = width;\n\n const scrollOffset = 2;\n this.expandNotifier.style.width = `${width + scrollOffset}px`;\n this.expandNotifier.style.height = `${height + scrollOffset}px`;\n this.expandTrigger.scrollTop = scrollOffset;\n this.expandTrigger.scrollLeft = scrollOffset;\n\n const { onSizeChange } = this.props;\n onSizeChange(size);\n }\n\n createListeners() {\n this.rootNode = findDOMNode(this.rootRef.current!) as HTMLElement;\n\n this.triggersRoot = document.createElement('div');\n Object.assign(this.triggersRoot.style, styles.triggersRoot);\n this.rootNode.appendChild(this.triggersRoot);\n\n this.expandTrigger = document.createElement('div');\n Object.assign(this.expandTrigger.style, styles.expandTrigger);\n this.expandTrigger.addEventListener('scroll', this.setupListeners);\n this.triggersRoot.appendChild(this.expandTrigger);\n\n this.expandNotifier = document.createElement('div');\n this.expandTrigger.appendChild(this.expandNotifier);\n\n this.contractTrigger = document.createElement('div');\n Object.assign(this.contractTrigger.style, styles.contractTrigger);\n this.contractTrigger.addEventListener('scroll', this.setupListeners);\n this.triggersRoot.appendChild(this.contractTrigger);\n\n this.contractNotifier = document.createElement('div');\n Object.assign(this.contractNotifier.style, styles.contractNotifier);\n this.contractTrigger.appendChild(this.contractNotifier);\n }\n\n render() {\n const {\n onSizeChange,\n containerComponent: Container,\n style,\n scrollTop,\n ...restProps\n } = this.props;\n\n return (\n \n \n \n );\n }\n}\n","import * as React from 'react';\n\ntype RenderComponentProps = {\n update: () => void;\n};\n\n/*** A function that creates a new component that allows you to pass additional properties\n * to the wrapped component.\n */\nexport const connectProps = (\n WrappedComponent: React.ComponentType, getAdditionalProps: () => object,\n): React.ComponentType & { update(): void } => {\n let storedAdditionalProps = getAdditionalProps();\n const components = new Set();\n class RenderComponent extends React.PureComponent {\n static update: () => void;\n\n componentDidMount() {\n components.add(this);\n }\n\n componentWillUnmount() {\n components.delete(this);\n }\n\n render() {\n return ;\n }\n }\n RenderComponent.update = () => {\n storedAdditionalProps = getAdditionalProps();\n Array.from(components.values()).forEach(component => component.forceUpdate());\n };\n return RenderComponent;\n};\n","import { CreateStateHelperFn } from '../types';\n\n/** @internal */\nexport const createStateHelper: CreateStateHelperFn = (\n component, controlledStateProperties = {},\n) => {\n const notifyStateChange = (nextState, state) => {\n Object.keys(controlledStateProperties).forEach((propertyName) => {\n const changeEvent = controlledStateProperties[propertyName]();\n if (changeEvent && nextState[propertyName] !== state[propertyName]) {\n changeEvent(nextState[propertyName]);\n }\n });\n };\n\n let lastStateUpdater: (state) => void;\n let initialState = null;\n let lastInitialState = null;\n let newState = null;\n let shouldNotify = false;\n\n const applyReducer = (reduce, payload?, callback?) => {\n const stateUpdater = (prevState) => {\n if (initialState === null) {\n initialState = prevState;\n }\n const stateChange = reduce({ ...prevState }, payload);\n const state = { ...prevState, ...stateChange };\n\n if (typeof callback === 'function') {\n callback(state, prevState);\n }\n if (stateUpdater === lastStateUpdater) {\n if (lastInitialState !== initialState) {\n newState = state;\n if (!shouldNotify) {\n lastInitialState = initialState;\n shouldNotify = true;\n }\n }\n initialState = null;\n }\n\n return stateChange;\n };\n lastStateUpdater = stateUpdater;\n\n component.setState(stateUpdater, () => {\n if (shouldNotify) {\n notifyStateChange(newState, lastInitialState);\n shouldNotify = false;\n }\n });\n };\n const applyFieldReducer = (field, reduce, payload) => {\n applyReducer(state => ({\n [field]: reduce(state[field], payload),\n }));\n };\n\n return {\n applyReducer,\n applyFieldReducer,\n };\n};\n","import * as React from 'react';\n\nconst makeBoundComponent = (Target, components, exposed: object) => {\n class Component extends React.PureComponent {\n static components: PluginComponents;\n\n render() {\n return ;\n }\n }\n Component.components = Target.components;\n Object.assign(Component, exposed);\n return Component;\n};\n\nexport type PluginComponents = { [key: string]: string };\nexport interface ITargetComponent {\n components: PluginComponents;\n}\n// type ITargetComponentStatic = new() => ITargetComponent;\n\n/** @internal */\nexport const withComponents = components => (Target) => {\n const props = {};\n const exposed = {};\n const targetComponents = (Target as ITargetComponent).components;\n\n Object.entries(targetComponents).forEach(([fieldName, componentName]: [string, string]) => {\n const component = components[componentName];\n if (component && component !== Target[componentName]) {\n props[fieldName] = component;\n }\n exposed[componentName] = component || Target[componentName];\n });\n\n return Object.keys(props).length > 0\n ? makeBoundComponent(Target, props, exposed) : Target;\n};\n","/* globals Element */\nimport * as PropTypes from 'prop-types';\n\n/** @internal */\nexport const RefType = PropTypes.shape({\n current: PropTypes.instanceOf((typeof Element !== 'undefined') ? Element : Object),\n});\n","const DELAY = 200;\n\nconst compare = (a, b) => {\n const aPosition = a.position();\n const bPosition = b.position();\n for (let i = 0; i < Math.min(aPosition.length, bPosition.length); i += 1) {\n if (aPosition[i] < bPosition[i]) return -1;\n if (aPosition[i] > bPosition[i]) return 1;\n }\n return aPosition.length - bPosition.length;\n};\n\n/** @internal */\nexport const insertPlugin = (array, newItem) => {\n const result = array.slice();\n const nextItemIndex = array.findIndex(item => compare(newItem, item) <= 0);\n const targetIndex = nextItemIndex < 0 ? array.length : nextItemIndex;\n const alreadyExists = (targetIndex >= 0 && targetIndex < array.length)\n && compare(newItem, array[targetIndex]) === 0;\n result.splice(targetIndex, alreadyExists ? 1 : 0, newItem);\n return result;\n};\n\n/** @internal */\nexport const removePlugin = (array, item) => {\n const itemIndex = array.indexOf(item);\n return itemIndex >= 0 ? [...array.slice(0, itemIndex), ...array.slice(itemIndex + 1)] : array;\n};\n\n/** @internal */\nexport const createClickHandlers = (click?, dblClick?) => {\n let timeoutId;\n const events: any = {};\n if (click) {\n events.onClick = (e) => {\n if (!timeoutId) {\n timeoutId = setTimeout(() => {\n clearTimeout(timeoutId);\n click(e);\n }, DELAY);\n }\n };\n }\n if (dblClick) {\n events.onDoubleClick = (e) => {\n clearTimeout(timeoutId);\n dblClick(e);\n };\n }\n return events;\n};\n\n/** @internal */\nexport const slice = arr => Array.prototype.slice.call(arr); // slice can be renamed to copy as well\n\n/** @internal */\nexport const hasWindow = () => typeof window !== 'undefined';\n","import { insertPlugin, removePlugin } from './utils';\nimport { Getters } from '@devexpress/dx-react-core';\n\nconst getDependencyError = (\n pluginName, dependencyName,\n ) => new Error(\n `The '${pluginName}' plugin requires '${dependencyName}' to be defined before it.`,\n );\n\n/** @internal */\nexport type PluginPositionFn = () => number[];\n\nexport interface IDependency { name: string; optional?: boolean; }\n\n/** @internal */\nexport type InnerPlugin = {\n position: PluginPositionFn;\n name?: string;\n dependencies?: IDependency[];\n} & Getters;\n\n/** @internal */\nexport class PluginHost {\n private plugins: InnerPlugin[];\n private subscriptions: Set;\n private gettersCache: object = {};\n private knownKeysCache: object = {};\n private validationRequired: boolean = true;\n\n constructor() {\n this.plugins = [];\n this.subscriptions = new Set();\n }\n\n ensureDependencies() {\n const defined: Set = new Set();\n const knownOptionals: Map = new Map();\n this.plugins\n .filter(plugin => plugin.container)\n .forEach((plugin) => {\n const pluginName = plugin.name || '';\n if (knownOptionals.has(pluginName)) {\n throw (getDependencyError(knownOptionals.get(pluginName), pluginName));\n }\n\n (plugin.dependencies || [])\n .forEach((dependency) => {\n if (defined.has(dependency.name)) return;\n if (dependency.optional) {\n if (!knownOptionals.has(dependency.name)) {\n knownOptionals.set(dependency.name, pluginName);\n }\n return;\n }\n throw (getDependencyError(pluginName, dependency.name));\n });\n\n defined.add(pluginName);\n });\n }\n\n registerPlugin(plugin) {\n this.plugins = insertPlugin(this.plugins, plugin);\n this.cleanPluginsCache();\n }\n\n unregisterPlugin(plugin) {\n this.plugins = removePlugin(this.plugins, plugin);\n this.cleanPluginsCache();\n }\n\n knownKeys(postfix) {\n if (!this.knownKeysCache[postfix]) {\n this.knownKeysCache[postfix] = Array.from(this.plugins\n .map(plugin => Object.keys(plugin))\n .map(keys => keys.filter(key => key.endsWith(postfix))[0])\n .filter(key => !!key)\n .reduce((acc, key) => acc.add(key), new Set()))\n .map(key => key.replace(postfix, ''));\n }\n return this.knownKeysCache[postfix];\n }\n\n collect(key, upTo?) {\n if (this.validationRequired) {\n this.ensureDependencies();\n this.validationRequired = false;\n }\n\n let res = this.gettersCache[key];\n if (!res) {\n // Add cache for original plugin indexes\n const indexCache = this.plugins\n .map((plugin, index) => ({ key: plugin[key], index }))\n .filter(plugin => !!plugin.key);\n this.gettersCache[`${key}_i`] = indexCache;\n res = indexCache.map(item => item.key);\n this.gettersCache[key] = res;\n }\n\n if (!upTo) return res;\n\n const upToIndex = this.plugins.indexOf(upTo);\n\n // Try to get a result from upToIndex cache first.\n const upToIndexKey = key + upToIndex;\n let upToRes = this.gettersCache[upToIndexKey];\n\n if (!upToRes) {\n const indexCache = this.gettersCache[`${key}_i`];\n upToRes = this.gettersCache[key]\n .filter((getter, index) => indexCache[index].index < upToIndex);\n this.gettersCache[upToIndexKey] = upToRes;\n }\n\n return upToRes;\n }\n\n get(key, upTo) {\n const plugins = this.collect(key, upTo);\n\n if (!plugins.length) return undefined;\n\n let result;\n // slice creates shallow copy, when do it many times, it costs about 5%\n plugins.forEach((plugin) => {\n result = plugin(result);\n });\n return result;\n }\n\n registerSubscription(subscription) {\n this.subscriptions.add(subscription);\n }\n\n unregisterSubscription(subscription) {\n this.subscriptions.delete(subscription);\n }\n\n broadcast(event, message?: any) {\n this.subscriptions.forEach(subscription => subscription[event] && subscription[event](message));\n }\n\n private cleanPluginsCache() {\n this.validationRequired = true;\n this.gettersCache = {};\n this.knownKeysCache = {};\n }\n}\n","type Handler = (e: object) => void;\n\n/** @internal */\nexport class EventEmitter {\n private handlers: Handler[];\n\n constructor() {\n this.handlers = [];\n }\n\n emit(e) {\n this.handlers.forEach(handler => handler(e));\n }\n\n subscribe(handler) {\n this.handlers.push(handler);\n }\n\n unsubscribe(handler) {\n this.handlers.splice(this.handlers.indexOf(handler), 1);\n }\n}\n","/** @internal */\nexport const shallowEqual = (objA, objB) => {\n if (objA === objB) {\n return true;\n }\n\n const keysA = Object.keys(objA);\n const 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 const hasOwn = Object.prototype.hasOwnProperty;\n // tslint:disable-next-line: prefer-for-of\n for (let i = 0; i < keysA.length; i += 1) {\n if (!hasOwn.call(objB, keysA[i])\n || objA[keysA[i]] !== objB[keysA[i]]) {\n return false;\n }\n\n const valA = objA[keysA[i]];\n const valB = objB[keysA[i]];\n\n if (valA !== valB) {\n return false;\n }\n }\n\n return true;\n};\n\n/** @internal */\nexport const argumentsShallowEqual = (prev, next) => {\n if (prev === null || next === null || prev.length !== next.length) {\n return false;\n }\n\n for (let i = 0; i < prev.length; i += 1) {\n if (prev[i] !== next[i]) {\n return false;\n }\n }\n\n return true;\n};\n","import { argumentsShallowEqual } from './shallow-equal';\n\n/** @internal */\nexport const memoize = (func) => {\n let lastArgs: any = null;\n let lastResult: ReturnType = null;\n return (...args) => {\n if (lastArgs === null || !argumentsShallowEqual(lastArgs, args)) {\n lastResult = func(...args);\n }\n lastArgs = args;\n return lastResult;\n };\n};\n","/** @internal */\nexport const easeInQuad = t => t * t;\n/** @internal */\nexport const easeOutQuad = t => t * (2 - t);\n/** @internal */\nexport const easeInOutQuad = t => (t < 0.5\n ? 2 * t * t\n : -1 + ((4 - (2 * t)) * t));\n\n/** @internal */\nexport const easeInCubic = t => t * t * t;\n/** @internal */\nexport const easeOutCubic = t => ((t - 1) * (t - 1) * (t - 1)) + 1;\n/** @internal */\nexport const easeInOutCubic = t => (t < 0.5\n ? 4 * t * t * t\n : ((t - 1) * ((2 * t) - 2) * ((2 * t) - 2)) + 1);\n\n/** @internal */\nexport const easeInQuart = t => t * t * t * t;\n/** @internal */\nexport const easeOutQuart = t => 1 - ((t - 1) * (t - 1) * (t - 1) * (t - 1));\n/** @internal */\nexport const easeInOutQuart = t => (t < 0.5\n ? 8 * t * t * t * t\n : 1 - (8 * (t - 1) * (t - 1) * (t - 1) * (t - 1)));\n\n/** @internal */\nexport const easeInQuint = t => t * t * t * t * t;\n/** @internal */\nexport const easeOutQuint = t => 1 + ((t - 1) * (t - 1) * (t - 1) * (t - 1) * (t - 1));\n/** @internal */\nexport const easeInOutQuint = t => (t < 0.5\n ? 16 * t * t * t * t * t\n : 1 + (16 * (t - 1) * (t - 1) * (t - 1) * (t - 1) * (t - 1)));\n","import { GetMessagesFormatterFn } from './types';\n\nconst processPattern = (pattern, params) => Object.keys(params).reduce(\n (msg, key) => msg.replace(`{${key}}`, params[key]),\n pattern,\n);\n\n/** @internal */\nexport const getMessagesFormatter: GetMessagesFormatterFn = messages => (key, params?) => {\n const message = messages[key];\n\n if (typeof message === 'function') {\n return message(params);\n }\n if (params) {\n return processPattern(message, params);\n }\n return message ?? '';\n};\n","import arrayWithHoles from \"./arrayWithHoles.js\";\nimport iterableToArrayLimit from \"./iterableToArrayLimit.js\";\nimport unsupportedIterableToArray from \"./unsupportedIterableToArray.js\";\nimport nonIterableRest from \"./nonIterableRest.js\";\nfunction _slicedToArray(r, e) {\n return arrayWithHoles(r) || iterableToArrayLimit(r, e) || unsupportedIterableToArray(r, e) || nonIterableRest();\n}\nexport { _slicedToArray as default };","function _iterableToArrayLimit(r, l) {\n var t = null == r ? null : \"undefined\" != typeof Symbol && r[Symbol.iterator] || r[\"@@iterator\"];\n if (null != t) {\n var e,\n n,\n i,\n u,\n a = [],\n f = !0,\n o = !1;\n try {\n if (i = (t = t.call(r)).next, 0 === l) {\n if (Object(t) !== t) return;\n f = !1;\n } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0);\n } catch (r) {\n o = !0, n = r;\n } finally {\n try {\n if (!f && null != t[\"return\"] && (u = t[\"return\"](), Object(u) !== u)) return;\n } finally {\n if (o) throw n;\n }\n }\n return a;\n }\n}\nexport { _iterableToArrayLimit as default };","function _iterableToArray(r) {\n if (\"undefined\" != typeof Symbol && null != r[Symbol.iterator] || null != r[\"@@iterator\"]) return Array.from(r);\n}\nexport { _iterableToArray as default };","function _arrayWithHoles(r) {\n if (Array.isArray(r)) return r;\n}\nexport { _arrayWithHoles as default };","function _nonIterableRest() {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\nexport { _nonIterableRest as default };","function _typeof(o) {\n \"@babel/helpers - typeof\";\n\n return module.exports = _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) {\n return typeof o;\n } : function (o) {\n return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o;\n }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports, _typeof(o);\n}\nmodule.exports = _typeof, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","import setPrototypeOf from \"./setPrototypeOf.js\";\nfunction _inheritsLoose(t, o) {\n t.prototype = Object.create(o.prototype), t.prototype.constructor = t, setPrototypeOf(t, o);\n}\nexport { _inheritsLoose as default };","function _objectWithoutPropertiesLoose(r, e) {\n if (null == r) return {};\n var t = {};\n for (var n in r) if ({}.hasOwnProperty.call(r, n)) {\n if (e.includes(n)) continue;\n t[n] = r[n];\n }\n return t;\n}\nexport { _objectWithoutPropertiesLoose as default };","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 };","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 };","import toPropertyKey from \"./toPropertyKey.js\";\nfunction _defineProperties(e, r) {\n for (var t = 0; t < r.length; t++) {\n var o = r[t];\n o.enumerable = o.enumerable || !1, o.configurable = !0, \"value\" in o && (o.writable = !0), Object.defineProperty(e, toPropertyKey(o.key), o);\n }\n}\nfunction _createClass(e, r, t) {\n return r && _defineProperties(e.prototype, r), t && _defineProperties(e, t), Object.defineProperty(e, \"prototype\", {\n writable: !1\n }), e;\n}\nexport { _createClass as default };"],"sourceRoot":""}