{"version":3,"file":"static/js/main.ad889eb7.js","mappings":"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","sources":["../node_modules/clsx/dist/clsx.js","../node_modules/fast-equals/src/utils.ts","../node_modules/fast-equals/src/comparator.ts","../node_modules/fast-equals/src/arrays.ts","../node_modules/fast-equals/src/dates.ts","../node_modules/fast-equals/src/maps.ts","../node_modules/fast-equals/src/objects.ts","../node_modules/fast-equals/src/regexps.ts","../node_modules/fast-equals/src/sets.ts","../node_modules/fast-equals/src/index.ts","../node_modules/prop-types/factoryWithThrowingShims.js","../node_modules/prop-types/index.js","../node_modules/prop-types/lib/ReactPropTypesSecret.js","../node_modules/react-dom/cjs/react-dom.production.min.js","../node_modules/react-dom/client.js","../node_modules/react-dom/index.js","../node_modules/react-draggable/build/cjs/Draggable.js","../node_modules/react-draggable/build/cjs/DraggableCore.js","../node_modules/react-draggable/build/cjs/cjs.js","../node_modules/react-draggable/build/cjs/utils/domFns.js","../node_modules/react-draggable/build/cjs/utils/getPrefix.js","../node_modules/react-draggable/build/cjs/utils/log.js","../node_modules/react-draggable/build/cjs/utils/positionFns.js","../node_modules/react-draggable/build/cjs/utils/shims.js","../node_modules/react-draggable/node_modules/clsx/dist/clsx.m.js","../node_modules/react-grid-layout/build/GridItem.js","../node_modules/react-grid-layout/build/ReactGridLayout.js","../node_modules/react-grid-layout/build/ReactGridLayoutPropTypes.js","../node_modules/react-grid-layout/build/ResponsiveReactGridLayout.js","../node_modules/react-grid-layout/build/calculateUtils.js","../node_modules/react-grid-layout/build/components/WidthProvider.js","../node_modules/react-grid-layout/build/fastRGLPropsEqual.js","../node_modules/react-grid-layout/build/responsiveUtils.js","../node_modules/react-grid-layout/build/utils.js","../node_modules/react-grid-layout/index.js","../node_modules/react-resizable/build/Resizable.js","../node_modules/react-resizable/build/ResizableBox.js","../node_modules/react-resizable/build/propTypes.js","../node_modules/react-resizable/build/utils.js","../node_modules/react-resizable/index.js","../node_modules/react/cjs/react-jsx-runtime.production.min.js","../node_modules/react/cjs/react.production.min.js","../node_modules/react/index.js","../node_modules/react/jsx-runtime.js","../node_modules/resize-observer-polyfill/dist/ResizeObserver.es.js","../node_modules/scheduler/cjs/scheduler.production.min.js","../node_modules/scheduler/index.js","../webpack/bootstrap","../webpack/runtime/define property getters","../webpack/runtime/ensure chunk","../webpack/runtime/get javascript chunk filename","../webpack/runtime/get mini-css chunk filename","../webpack/runtime/global","../webpack/runtime/hasOwnProperty shorthand","../webpack/runtime/load script","../webpack/runtime/make namespace object","../webpack/runtime/publicPath","../webpack/runtime/jsonp chunk loading","logo.svg","LetterSet.js","Label.jsx","OptionsBox.jsx","EditButtons.jsx","editFunctionality.js","viewFunctionality.js","crossFunctionality.js","CrossComponent.jsx","LaterRowsArrowComponent.jsx","RowArrowComponent.jsx","CrossableButtons.jsx","LetterSquare.jsx","RandomiseOrClearButtons.jsx","Row.jsx","MyGrid1.jsx","GridLayout.jsx","App.js","reportWebVitals.js","index.js"],"sourcesContent":["function r(e){var o,t,f=\"\";if(\"string\"==typeof e||\"number\"==typeof e)f+=e;else if(\"object\"==typeof e)if(Array.isArray(e)){var n=e.length;for(o=0;o(\n comparator: EqualityComparator,\n): InternalEqualityComparator {\n return function isEqual(\n a: A,\n b: B,\n _indexOrKeyA: any,\n _indexOrKeyB: any,\n _parentA: any,\n _parentB: any,\n meta: Meta,\n ) {\n return comparator(a, b, meta);\n };\n}\n\n/**\n * Wrap the provided `areItemsEqual` method to manage the circular cache, allowing\n * for circular references to be safely included in the comparison without creating\n * stack overflows.\n */\nexport function createIsCircular<\n AreItemsEqual extends TypeEqualityComparator,\n>(areItemsEqual: AreItemsEqual): AreItemsEqual {\n return function isCircular(\n a: any,\n b: any,\n isEqual: InternalEqualityComparator>,\n cache: WeakMap,\n ) {\n if (!a || !b || typeof a !== 'object' || typeof b !== 'object') {\n return areItemsEqual(a, b, isEqual, cache);\n }\n\n const cachedA = cache.get(a);\n const cachedB = cache.get(b);\n\n if (cachedA && cachedB) {\n return cachedA === b && cachedB === a;\n }\n\n cache.set(a, b);\n cache.set(b, a);\n\n const result = areItemsEqual(a, b, isEqual, cache);\n\n cache.delete(a);\n cache.delete(b);\n\n return result;\n } as AreItemsEqual;\n}\n\n/**\n * Targeted shallow merge of two objects.\n *\n * @NOTE\n * This exists as a tinier compiled version of the `__assign` helper that\n * `tsc` injects in case of `Object.assign` not being present.\n */\nexport function merge(a: A, b: B): A & B {\n const merged: Record = {};\n\n for (const key in a) {\n merged[key] = a[key];\n }\n\n for (const key in b) {\n merged[key] = b[key];\n }\n\n return merged as A & B;\n}\n\n/**\n * Whether the value is a plain object.\n *\n * @NOTE\n * This is a same-realm compariosn only.\n */\nexport function isPlainObject(value: any): boolean {\n return value.constructor === Object || value.constructor == null;\n}\n\n/**\n * When the value is `Promise`-like, aka \"then-able\".\n */\nexport function isPromiseLike(value: any): boolean {\n return typeof value.then === 'function';\n}\n\n/**\n * Whether the values passed are strictly equal or both NaN.\n */\nexport function sameValueZeroEqual(a: any, b: any): boolean {\n return a === b || (a !== a && b !== b);\n}\n","import { isPlainObject, isPromiseLike, sameValueZeroEqual } from './utils';\n\nimport type {\n CreateComparatorCreatorOptions,\n EqualityComparator,\n} from '../index.d';\n\nconst ARGUMENTS_TAG = '[object Arguments]';\nconst BOOLEAN_TAG = '[object Boolean]';\nconst DATE_TAG = '[object Date]';\nconst REG_EXP_TAG = '[object RegExp]';\nconst MAP_TAG = '[object Map]';\nconst NUMBER_TAG = '[object Number]';\nconst OBJECT_TAG = '[object Object]';\nconst SET_TAG = '[object Set]';\nconst STRING_TAG = '[object String]';\n\nconst { toString } = Object.prototype;\n\nexport function createComparator({\n areArraysEqual,\n areDatesEqual,\n areMapsEqual,\n areObjectsEqual,\n areRegExpsEqual,\n areSetsEqual,\n createIsNestedEqual,\n}: CreateComparatorCreatorOptions): EqualityComparator {\n const isEqual = createIsNestedEqual(comparator as EqualityComparator);\n\n /**\n * compare the value of the two objects and return true if they are equivalent in values\n */\n function comparator(a: any, b: any, meta: Meta): boolean {\n // If the items are strictly equal, no need to do a value comparison.\n if (a === b) {\n return true;\n }\n\n // If the items are not non-nullish objects, then the only possibility\n // of them being equal but not strictly is if they are both `NaN`. Since\n // `NaN` is uniquely not equal to itself, we can use self-comparison of\n // both objects, which is faster than `isNaN()`.\n if (!a || !b || typeof a !== 'object' || typeof b !== 'object') {\n return a !== a && b !== b;\n }\n\n // Checks are listed in order of commonality of use-case:\n // 1. Common complex object types (plain object, array)\n // 2. Common data values (date, regexp)\n // 3. Less-common complex object types (map, set)\n // 4. Less-common data values (promise, primitive wrappers)\n // Inherently this is both subjective and assumptive, however\n // when reviewing comparable libraries in the wild this order\n // appears to be generally consistent.\n\n // `isPlainObject` only checks against the object's own realm. Cross-realm\n // comparisons are rare, and will be handled in the ultimate fallback, so\n // we can avoid the `toString.call()` cost unless necessary.\n if (isPlainObject(a) && isPlainObject(b)) {\n return areObjectsEqual(a, b, isEqual, meta);\n }\n\n // `isArray()` works on subclasses and is cross-realm, so we can again avoid\n // the `toString.call()` cost unless necessary by just checking if either\n // and then both are arrays.\n const aArray = Array.isArray(a);\n const bArray = Array.isArray(b);\n\n if (aArray || bArray) {\n return aArray === bArray && areArraysEqual(a, b, isEqual, meta);\n }\n\n // Since this is a custom object, use the classic `toString.call()` to get its\n // type. This is reasonably performant in modern environments like v8 and\n // SpiderMonkey, and allows for cross-realm comparison when other checks like\n // `instanceof` do not.\n const aTag = toString.call(a);\n\n if (aTag !== toString.call(b)) {\n return false;\n }\n\n if (aTag === DATE_TAG) {\n // `getTime()` showed better results compared to alternatives like `valueOf()`\n // or the unary `+` operator.\n return areDatesEqual(a, b, isEqual, meta);\n }\n\n if (aTag === REG_EXP_TAG) {\n return areRegExpsEqual(a, b, isEqual, meta);\n }\n\n if (aTag === MAP_TAG) {\n return areMapsEqual(a, b, isEqual, meta);\n }\n\n if (aTag === SET_TAG) {\n return areSetsEqual(a, b, isEqual, meta);\n }\n\n // If a simple object tag, then we can prioritize a simple object comparison because\n // it is likely a custom class. If an arguments tag, it should be treated as a standard\n // object.\n if (aTag === OBJECT_TAG || aTag === ARGUMENTS_TAG) {\n // The exception for value comparison is `Promise`-like contracts. These should be\n // treated the same as standard `Promise` objects, which means strict equality.\n return isPromiseLike(a) || isPromiseLike(b)\n ? false\n : areObjectsEqual(a, b, isEqual, meta);\n }\n\n // As the penultimate fallback, check if the values passed are primitive wrappers. This\n // is very rare in modern JS, which is why it is deprioritized compared to all other object\n // types.\n if (aTag === BOOLEAN_TAG || aTag === NUMBER_TAG || aTag === STRING_TAG) {\n return sameValueZeroEqual(a.valueOf(), b.valueOf());\n }\n\n // If not matching any tags that require a specific type of comparison, then we hard-code false because\n // the only thing remaining is strict equality, which has already been compared. This is for a few reasons:\n // - Certain types that cannot be introspected (e.g., `WeakMap`). For these types, this is the only\n // comparison that can be made.\n // - For types that can be introspected, but rarely have requirements to be compared\n // (`ArrayBuffer`, `DataView`, etc.), the cost is avoided to prioritize the common\n // use-cases (may be included in a future release, if requested enough).\n // - For types that can be introspected but do not have an objective definition of what\n // equality is (`Error`, etc.), the subjective decision is to be conservative and strictly compare.\n // In all cases, these decisions should be reevaluated based on changes to the language and\n // common development practices.\n return false;\n }\n\n return comparator as EqualityComparator;\n}\n","import { createIsCircular } from './utils';\n\nimport type { InternalEqualityComparator } from '../index.d';\n\n/**\n * Whether the arrays are equal in value.\n */\nexport function areArraysEqual(\n a: any[],\n b: any[],\n isEqual: InternalEqualityComparator,\n meta: any,\n): boolean {\n let index = a.length;\n\n if (b.length !== index) {\n return false;\n }\n\n // Decrementing `while` showed faster results than either incrementing or\n // decrementing `for` loop and than an incrementing `while` loop. Declarative\n // methods like `some` / `every` were not used to avoid incurring the garbage\n // cost of anonymous callbacks.\n while (index-- > 0) {\n if (!isEqual(a[index], b[index], index, index, a, b, meta)) {\n return false;\n }\n }\n\n return true;\n}\n\n/**\n * Whether the arrays are equal in value, including circular references.\n */\nexport const areArraysEqualCircular = createIsCircular(areArraysEqual);\n","import { sameValueZeroEqual } from './utils';\n\n/**\n * Whether the dates passed are equal in value.\n *\n * @NOTE\n * This is a standalone function instead of done inline in the comparator\n * to allow for overrides.\n */\nexport function areDatesEqual(a: Date, b: Date): boolean {\n return sameValueZeroEqual(a.valueOf(), b.valueOf());\n}\n","import { createIsCircular } from './utils';\n\nimport type { InternalEqualityComparator } from '../index.d';\n\n/**\n * Whether the `Map`s are equal in value.\n */\nexport function areMapsEqual(\n a: Map,\n b: Map,\n isEqual: InternalEqualityComparator,\n meta: any,\n): boolean {\n let isValueEqual = a.size === b.size;\n\n if (!isValueEqual) {\n return false;\n }\n\n if (!a.size) {\n return true;\n }\n\n // The use of `forEach()` is to avoid the transpilation cost of `for...of` comparisons, and\n // the inability to control the performance of the resulting code. It also avoids excessive\n // iteration compared to doing comparisons of `keys()` and `values()`. As a result, though,\n // we cannot short-circuit the iterations; bookkeeping must be done to short-circuit the\n // equality checks themselves.\n\n const matchedIndices: Record = {};\n\n let indexA = 0;\n\n a.forEach((aValue, aKey) => {\n if (!isValueEqual) {\n return;\n }\n\n let hasMatch = false;\n let matchIndexB = 0;\n\n b.forEach((bValue, bKey) => {\n if (\n !hasMatch &&\n !matchedIndices[matchIndexB] &&\n (hasMatch =\n isEqual(aKey, bKey, indexA, matchIndexB, a, b, meta) &&\n isEqual(aValue, bValue, aKey, bKey, a, b, meta))\n ) {\n matchedIndices[matchIndexB] = true;\n }\n\n matchIndexB++;\n });\n\n indexA++;\n isValueEqual = hasMatch;\n });\n\n return isValueEqual;\n}\n\n/**\n * Whether the `Map`s are equal in value, including circular references.\n */\nexport const areMapsEqualCircular = createIsCircular(areMapsEqual);\n","import { createIsCircular } from './utils';\n\nimport type { InternalEqualityComparator } from '../index.d';\n\ninterface Dictionary {\n [key: string]: Value;\n $$typeof?: any;\n}\n\nconst OWNER = '_owner';\nconst { hasOwnProperty } = Object.prototype;\n\n/**\n * Whether the objects are equal in value.\n */\nexport function areObjectsEqual(\n a: Dictionary,\n b: Dictionary,\n isEqual: InternalEqualityComparator,\n meta: any,\n): boolean {\n const keysA = Object.keys(a);\n\n let index = keysA.length;\n\n if (Object.keys(b).length !== index) {\n return false;\n }\n\n let key: string;\n\n // Decrementing `while` showed faster results than either incrementing or\n // decrementing `for` loop and than an incrementing `while` loop. Declarative\n // methods like `some` / `every` were not used to avoid incurring the garbage\n // cost of anonymous callbacks.\n while (index-- > 0) {\n key = keysA[index];\n\n if (key === OWNER) {\n const reactElementA = !!a.$$typeof;\n const reactElementB = !!b.$$typeof;\n\n if ((reactElementA || reactElementB) && reactElementA !== reactElementB) {\n return false;\n }\n }\n\n if (\n !hasOwnProperty.call(b, key) ||\n !isEqual(a[key], b[key], key, key, a, b, meta)\n ) {\n return false;\n }\n }\n\n return true;\n}\n\n/**\n * Whether the objects are equal in value, including circular references.\n */\nexport const areObjectsEqualCircular = createIsCircular(areObjectsEqual);\n","/**\n * Whether the regexps passed are equal in value.\n *\n * @NOTE\n * This is a standalone function instead of done inline in the comparator\n * to allow for overrides. An example of this would be supporting a\n * pre-ES2015 environment where the `flags` property is not available.\n */\nexport function areRegExpsEqual(a: RegExp, b: RegExp): boolean {\n return a.source === b.source && a.flags === b.flags;\n}\n","import { createIsCircular } from './utils';\n\nimport type { InternalEqualityComparator } from '../index.d';\n\n/**\n * Whether the `Set`s are equal in value.\n */\nexport function areSetsEqual(\n a: Set,\n b: Set,\n isEqual: InternalEqualityComparator,\n meta: any,\n): boolean {\n let isValueEqual = a.size === b.size;\n\n if (!isValueEqual) {\n return false;\n }\n\n if (!a.size) {\n return true;\n }\n\n // The use of `forEach()` is to avoid the transpilation cost of `for...of` comparisons, and\n // the inability to control the performance of the resulting code. It also avoids excessive\n // iteration compared to doing comparisons of `keys()` and `values()`. As a result, though,\n // we cannot short-circuit the iterations; bookkeeping must be done to short-circuit the\n // equality checks themselves.\n\n const matchedIndices: Record = {};\n\n a.forEach((aValue, aKey) => {\n if (!isValueEqual) {\n return;\n }\n\n let hasMatch = false;\n let matchIndex = 0;\n\n b.forEach((bValue, bKey) => {\n if (\n !hasMatch &&\n !matchedIndices[matchIndex] &&\n (hasMatch = isEqual(aValue, bValue, aKey, bKey, a, b, meta))\n ) {\n matchedIndices[matchIndex] = true;\n }\n\n matchIndex++;\n });\n\n isValueEqual = hasMatch;\n });\n\n return isValueEqual;\n}\n\n/**\n * Whether the `Set`s are equal in value, including circular references.\n */\nexport const areSetsEqualCircular = createIsCircular(areSetsEqual);\n","import { createComparator } from './comparator';\nimport { areArraysEqual, areArraysEqualCircular } from './arrays';\nimport { areDatesEqual } from './dates';\nimport { areMapsEqual, areMapsEqualCircular } from './maps';\nimport { areObjectsEqual, areObjectsEqualCircular } from './objects';\nimport { areRegExpsEqual } from './regexps';\nimport { areSetsEqual, areSetsEqualCircular } from './sets';\nimport { createDefaultIsNestedEqual, merge, sameValueZeroEqual } from './utils';\n\nimport type {\n BaseCircularMeta,\n CreateComparatorCreatorOptions,\n EqualityComparator,\n GetComparatorOptions,\n} from '../index.d';\n\nexport { sameValueZeroEqual };\n\nconst DEFAULT_CONFIG: CreateComparatorCreatorOptions = Object.freeze(\n {\n areArraysEqual,\n areDatesEqual,\n areMapsEqual,\n areObjectsEqual,\n areRegExpsEqual,\n areSetsEqual,\n createIsNestedEqual: createDefaultIsNestedEqual,\n },\n);\nconst DEFAULT_CIRCULAR_CONFIG: CreateComparatorCreatorOptions =\n Object.freeze({\n areArraysEqual: areArraysEqualCircular,\n areDatesEqual,\n areMapsEqual: areMapsEqualCircular,\n areObjectsEqual: areObjectsEqualCircular,\n areRegExpsEqual,\n areSetsEqual: areSetsEqualCircular,\n createIsNestedEqual: createDefaultIsNestedEqual,\n });\n\nconst isDeepEqual = createComparator(DEFAULT_CONFIG);\n\n/**\n * Whether the items passed are deeply-equal in value.\n */\nexport function deepEqual(a: A, b: B): boolean {\n return isDeepEqual(a, b, undefined);\n}\n\nconst isShallowEqual = createComparator(\n merge(DEFAULT_CONFIG, { createIsNestedEqual: () => sameValueZeroEqual }),\n);\n\n/**\n * Whether the items passed are shallowly-equal in value.\n */\nexport function shallowEqual(a: A, b: B): boolean {\n return isShallowEqual(a, b, undefined);\n}\n\nconst isCircularDeepEqual = createComparator(DEFAULT_CIRCULAR_CONFIG);\n\n/**\n * Whether the items passed are deeply-equal in value, including circular references.\n */\nexport function circularDeepEqual(a: A, b: B): boolean {\n return isCircularDeepEqual(a, b, new WeakMap());\n}\n\nconst isCircularShallowEqual = createComparator(\n merge(DEFAULT_CIRCULAR_CONFIG, {\n createIsNestedEqual: () => sameValueZeroEqual,\n }),\n);\n\n/**\n * Whether the items passed are shallowly-equal in value, including circular references.\n */\nexport function circularShallowEqual(a: A, b: B): boolean {\n return isCircularShallowEqual(a, b, new WeakMap());\n}\n\n/**\n * Create a custom equality comparison method.\n *\n * This can be done to create very targeted comparisons in extreme hot-path scenarios\n * where the standard methods are not performant enough, but can also be used to provide\n * support for legacy environments that do not support expected features like\n * `RegExp.prototype.flags` out of the box.\n */\nexport function createCustomEqual(\n getComparatorOptions: GetComparatorOptions,\n): EqualityComparator {\n return createComparator(\n merge(DEFAULT_CONFIG, getComparatorOptions(DEFAULT_CONFIG as any)),\n );\n}\n\n/**\n * Create a custom equality comparison method that handles circular references. This is very\n * similar to `createCustomEqual`, with the only difference being that `meta` expects to be\n * populated with a `WeakMap`-like contract.\n *\n * This can be done to create very targeted comparisons in extreme hot-path scenarios\n * where the standard methods are not performant enough, but can also be used to provide\n * support for legacy environments that do not support expected features like\n * `WeakMap` out of the box.\n */\nexport function createCustomCircularEqual<\n Meta extends BaseCircularMeta = WeakMap,\n>(getComparatorOptions: GetComparatorOptions): EqualityComparator {\n const comparator = createComparator(\n merge(\n DEFAULT_CIRCULAR_CONFIG,\n getComparatorOptions(DEFAULT_CIRCULAR_CONFIG as any),\n ),\n );\n\n return ((a: any, b: any, meta: any = new WeakMap()) =>\n comparator(a, b, meta)) as EqualityComparator;\n}\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nvar ReactPropTypesSecret = require('./lib/ReactPropTypesSecret');\n\nfunction emptyFunction() {}\nfunction emptyFunctionWithReset() {}\nemptyFunctionWithReset.resetWarningCache = emptyFunction;\n\nmodule.exports = function() {\n function shim(props, propName, componentName, location, propFullName, secret) {\n if (secret === ReactPropTypesSecret) {\n // It is still safe when called from React.\n return;\n }\n var err = new Error(\n 'Calling PropTypes validators directly is not supported by the `prop-types` package. ' +\n 'Use PropTypes.checkPropTypes() to call them. ' +\n 'Read more at http://fb.me/use-check-prop-types'\n );\n err.name = 'Invariant Violation';\n throw err;\n };\n shim.isRequired = shim;\n function getShim() {\n return shim;\n };\n // Important!\n // Keep this list in sync with production version in `./factoryWithTypeCheckers.js`.\n var ReactPropTypes = {\n array: shim,\n bigint: shim,\n bool: shim,\n func: shim,\n number: shim,\n object: shim,\n string: shim,\n symbol: shim,\n\n any: shim,\n arrayOf: getShim,\n element: shim,\n elementType: shim,\n instanceOf: getShim,\n node: shim,\n objectOf: getShim,\n oneOf: getShim,\n oneOfType: getShim,\n shape: getShim,\n exact: getShim,\n\n checkPropTypes: emptyFunctionWithReset,\n resetWarningCache: emptyFunction\n };\n\n ReactPropTypes.PropTypes = ReactPropTypes;\n\n return ReactPropTypes;\n};\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nif (process.env.NODE_ENV !== 'production') {\n var ReactIs = require('react-is');\n\n // By explicitly using `prop-types` you are opting into new development behavior.\n // http://fb.me/prop-types-in-prod\n var throwOnDirectAccess = true;\n module.exports = require('./factoryWithTypeCheckers')(ReactIs.isElement, throwOnDirectAccess);\n} else {\n // By explicitly using `prop-types` you are opting into new production behavior.\n // http://fb.me/prop-types-in-prod\n module.exports = require('./factoryWithThrowingShims')();\n}\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nvar ReactPropTypesSecret = 'SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED';\n\nmodule.exports = ReactPropTypesSecret;\n","/**\n * @license React\n * react-dom.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n/*\n Modernizr 3.0.0pre (Custom Build) | MIT\n*/\n'use strict';var aa=require(\"react\"),ca=require(\"scheduler\");function p(a){for(var b=\"https://reactjs.org/docs/error-decoder.html?invariant=\"+a,c=1;cb}return!1}function v(a,b,c,d,e,f,g){this.acceptsBooleans=2===b||3===b||4===b;this.attributeName=d;this.attributeNamespace=e;this.mustUseProperty=c;this.propertyName=a;this.type=b;this.sanitizeURL=f;this.removeEmptyString=g}var z={};\n\"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style\".split(\" \").forEach(function(a){z[a]=new v(a,0,!1,a,null,!1,!1)});[[\"acceptCharset\",\"accept-charset\"],[\"className\",\"class\"],[\"htmlFor\",\"for\"],[\"httpEquiv\",\"http-equiv\"]].forEach(function(a){var b=a[0];z[b]=new v(b,1,!1,a[1],null,!1,!1)});[\"contentEditable\",\"draggable\",\"spellCheck\",\"value\"].forEach(function(a){z[a]=new v(a,2,!1,a.toLowerCase(),null,!1,!1)});\n[\"autoReverse\",\"externalResourcesRequired\",\"focusable\",\"preserveAlpha\"].forEach(function(a){z[a]=new v(a,2,!1,a,null,!1,!1)});\"allowFullScreen async autoFocus autoPlay controls default defer disabled disablePictureInPicture disableRemotePlayback formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope\".split(\" \").forEach(function(a){z[a]=new v(a,3,!1,a.toLowerCase(),null,!1,!1)});\n[\"checked\",\"multiple\",\"muted\",\"selected\"].forEach(function(a){z[a]=new v(a,3,!0,a,null,!1,!1)});[\"capture\",\"download\"].forEach(function(a){z[a]=new v(a,4,!1,a,null,!1,!1)});[\"cols\",\"rows\",\"size\",\"span\"].forEach(function(a){z[a]=new v(a,6,!1,a,null,!1,!1)});[\"rowSpan\",\"start\"].forEach(function(a){z[a]=new v(a,5,!1,a.toLowerCase(),null,!1,!1)});var ra=/[\\-:]([a-z])/g;function sa(a){return a[1].toUpperCase()}\n\"accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode xmlns:xlink x-height\".split(\" \").forEach(function(a){var b=a.replace(ra,\nsa);z[b]=new v(b,1,!1,a,null,!1,!1)});\"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type\".split(\" \").forEach(function(a){var b=a.replace(ra,sa);z[b]=new v(b,1,!1,a,\"http://www.w3.org/1999/xlink\",!1,!1)});[\"xml:base\",\"xml:lang\",\"xml:space\"].forEach(function(a){var b=a.replace(ra,sa);z[b]=new v(b,1,!1,a,\"http://www.w3.org/XML/1998/namespace\",!1,!1)});[\"tabIndex\",\"crossOrigin\"].forEach(function(a){z[a]=new v(a,1,!1,a.toLowerCase(),null,!1,!1)});\nz.xlinkHref=new v(\"xlinkHref\",1,!1,\"xlink:href\",\"http://www.w3.org/1999/xlink\",!0,!1);[\"src\",\"href\",\"action\",\"formAction\"].forEach(function(a){z[a]=new v(a,1,!1,a.toLowerCase(),null,!0,!0)});\nfunction ta(a,b,c,d){var e=z.hasOwnProperty(b)?z[b]:null;if(null!==e?0!==e.type:d||!(2h||e[g]!==f[h]){var k=\"\\n\"+e[g].replace(\" at new \",\" at \");a.displayName&&k.includes(\"\")&&(k=k.replace(\"\",a.displayName));return k}while(1<=g&&0<=h)}break}}}finally{Na=!1,Error.prepareStackTrace=c}return(a=a?a.displayName||a.name:\"\")?Ma(a):\"\"}\nfunction Pa(a){switch(a.tag){case 5:return Ma(a.type);case 16:return Ma(\"Lazy\");case 13:return Ma(\"Suspense\");case 19:return Ma(\"SuspenseList\");case 0:case 2:case 15:return a=Oa(a.type,!1),a;case 11:return a=Oa(a.type.render,!1),a;case 1:return a=Oa(a.type,!0),a;default:return\"\"}}\nfunction Qa(a){if(null==a)return null;if(\"function\"===typeof a)return a.displayName||a.name||null;if(\"string\"===typeof a)return a;switch(a){case ya:return\"Fragment\";case wa:return\"Portal\";case Aa:return\"Profiler\";case za:return\"StrictMode\";case Ea:return\"Suspense\";case Fa:return\"SuspenseList\"}if(\"object\"===typeof a)switch(a.$$typeof){case Ca:return(a.displayName||\"Context\")+\".Consumer\";case Ba:return(a._context.displayName||\"Context\")+\".Provider\";case Da:var b=a.render;a=a.displayName;a||(a=b.displayName||\nb.name||\"\",a=\"\"!==a?\"ForwardRef(\"+a+\")\":\"ForwardRef\");return a;case Ga:return b=a.displayName||null,null!==b?b:Qa(a.type)||\"Memo\";case Ha:b=a._payload;a=a._init;try{return Qa(a(b))}catch(c){}}return null}\nfunction Ra(a){var b=a.type;switch(a.tag){case 24:return\"Cache\";case 9:return(b.displayName||\"Context\")+\".Consumer\";case 10:return(b._context.displayName||\"Context\")+\".Provider\";case 18:return\"DehydratedFragment\";case 11:return a=b.render,a=a.displayName||a.name||\"\",b.displayName||(\"\"!==a?\"ForwardRef(\"+a+\")\":\"ForwardRef\");case 7:return\"Fragment\";case 5:return b;case 4:return\"Portal\";case 3:return\"Root\";case 6:return\"Text\";case 16:return Qa(b);case 8:return b===za?\"StrictMode\":\"Mode\";case 22:return\"Offscreen\";\ncase 12:return\"Profiler\";case 21:return\"Scope\";case 13:return\"Suspense\";case 19:return\"SuspenseList\";case 25:return\"TracingMarker\";case 1:case 0:case 17:case 2:case 14:case 15:if(\"function\"===typeof b)return b.displayName||b.name||null;if(\"string\"===typeof b)return b}return null}function Sa(a){switch(typeof a){case \"boolean\":case \"number\":case \"string\":case \"undefined\":return a;case \"object\":return a;default:return\"\"}}\nfunction Ta(a){var b=a.type;return(a=a.nodeName)&&\"input\"===a.toLowerCase()&&(\"checkbox\"===b||\"radio\"===b)}\nfunction Ua(a){var b=Ta(a)?\"checked\":\"value\",c=Object.getOwnPropertyDescriptor(a.constructor.prototype,b),d=\"\"+a[b];if(!a.hasOwnProperty(b)&&\"undefined\"!==typeof c&&\"function\"===typeof c.get&&\"function\"===typeof c.set){var e=c.get,f=c.set;Object.defineProperty(a,b,{configurable:!0,get:function(){return e.call(this)},set:function(a){d=\"\"+a;f.call(this,a)}});Object.defineProperty(a,b,{enumerable:c.enumerable});return{getValue:function(){return d},setValue:function(a){d=\"\"+a},stopTracking:function(){a._valueTracker=\nnull;delete a[b]}}}}function Va(a){a._valueTracker||(a._valueTracker=Ua(a))}function Wa(a){if(!a)return!1;var b=a._valueTracker;if(!b)return!0;var c=b.getValue();var d=\"\";a&&(d=Ta(a)?a.checked?\"true\":\"false\":a.value);a=d;return a!==c?(b.setValue(a),!0):!1}function Xa(a){a=a||(\"undefined\"!==typeof document?document:void 0);if(\"undefined\"===typeof a)return null;try{return a.activeElement||a.body}catch(b){return a.body}}\nfunction Ya(a,b){var c=b.checked;return A({},b,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:null!=c?c:a._wrapperState.initialChecked})}function Za(a,b){var c=null==b.defaultValue?\"\":b.defaultValue,d=null!=b.checked?b.checked:b.defaultChecked;c=Sa(null!=b.value?b.value:c);a._wrapperState={initialChecked:d,initialValue:c,controlled:\"checkbox\"===b.type||\"radio\"===b.type?null!=b.checked:null!=b.value}}function ab(a,b){b=b.checked;null!=b&&ta(a,\"checked\",b,!1)}\nfunction bb(a,b){ab(a,b);var c=Sa(b.value),d=b.type;if(null!=c)if(\"number\"===d){if(0===c&&\"\"===a.value||a.value!=c)a.value=\"\"+c}else a.value!==\"\"+c&&(a.value=\"\"+c);else if(\"submit\"===d||\"reset\"===d){a.removeAttribute(\"value\");return}b.hasOwnProperty(\"value\")?cb(a,b.type,c):b.hasOwnProperty(\"defaultValue\")&&cb(a,b.type,Sa(b.defaultValue));null==b.checked&&null!=b.defaultChecked&&(a.defaultChecked=!!b.defaultChecked)}\nfunction db(a,b,c){if(b.hasOwnProperty(\"value\")||b.hasOwnProperty(\"defaultValue\")){var d=b.type;if(!(\"submit\"!==d&&\"reset\"!==d||void 0!==b.value&&null!==b.value))return;b=\"\"+a._wrapperState.initialValue;c||b===a.value||(a.value=b);a.defaultValue=b}c=a.name;\"\"!==c&&(a.name=\"\");a.defaultChecked=!!a._wrapperState.initialChecked;\"\"!==c&&(a.name=c)}\nfunction cb(a,b,c){if(\"number\"!==b||Xa(a.ownerDocument)!==a)null==c?a.defaultValue=\"\"+a._wrapperState.initialValue:a.defaultValue!==\"\"+c&&(a.defaultValue=\"\"+c)}var eb=Array.isArray;\nfunction fb(a,b,c,d){a=a.options;if(b){b={};for(var e=0;e\"+b.valueOf().toString()+\"\";for(b=mb.firstChild;a.firstChild;)a.removeChild(a.firstChild);for(;b.firstChild;)a.appendChild(b.firstChild)}});\nfunction ob(a,b){if(b){var c=a.firstChild;if(c&&c===a.lastChild&&3===c.nodeType){c.nodeValue=b;return}}a.textContent=b}\nvar pb={animationIterationCount:!0,aspectRatio:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,columns:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridArea:!0,gridRow:!0,gridRowEnd:!0,gridRowSpan:!0,gridRowStart:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnSpan:!0,gridColumnStart:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,\nzoom:!0,fillOpacity:!0,floodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},qb=[\"Webkit\",\"ms\",\"Moz\",\"O\"];Object.keys(pb).forEach(function(a){qb.forEach(function(b){b=b+a.charAt(0).toUpperCase()+a.substring(1);pb[b]=pb[a]})});function rb(a,b,c){return null==b||\"boolean\"===typeof b||\"\"===b?\"\":c||\"number\"!==typeof b||0===b||pb.hasOwnProperty(a)&&pb[a]?(\"\"+b).trim():b+\"px\"}\nfunction sb(a,b){a=a.style;for(var c in b)if(b.hasOwnProperty(c)){var d=0===c.indexOf(\"--\"),e=rb(c,b[c],d);\"float\"===c&&(c=\"cssFloat\");d?a.setProperty(c,e):a[c]=e}}var tb=A({menuitem:!0},{area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0});\nfunction ub(a,b){if(b){if(tb[a]&&(null!=b.children||null!=b.dangerouslySetInnerHTML))throw Error(p(137,a));if(null!=b.dangerouslySetInnerHTML){if(null!=b.children)throw Error(p(60));if(\"object\"!==typeof b.dangerouslySetInnerHTML||!(\"__html\"in b.dangerouslySetInnerHTML))throw Error(p(61));}if(null!=b.style&&\"object\"!==typeof b.style)throw Error(p(62));}}\nfunction vb(a,b){if(-1===a.indexOf(\"-\"))return\"string\"===typeof b.is;switch(a){case \"annotation-xml\":case \"color-profile\":case \"font-face\":case \"font-face-src\":case \"font-face-uri\":case \"font-face-format\":case \"font-face-name\":case \"missing-glyph\":return!1;default:return!0}}var wb=null;function xb(a){a=a.target||a.srcElement||window;a.correspondingUseElement&&(a=a.correspondingUseElement);return 3===a.nodeType?a.parentNode:a}var yb=null,zb=null,Ab=null;\nfunction Bb(a){if(a=Cb(a)){if(\"function\"!==typeof yb)throw Error(p(280));var b=a.stateNode;b&&(b=Db(b),yb(a.stateNode,a.type,b))}}function Eb(a){zb?Ab?Ab.push(a):Ab=[a]:zb=a}function Fb(){if(zb){var a=zb,b=Ab;Ab=zb=null;Bb(a);if(b)for(a=0;a>>=0;return 0===a?32:31-(pc(a)/qc|0)|0}var rc=64,sc=4194304;\nfunction tc(a){switch(a&-a){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return a&4194240;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return a&130023424;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 1073741824;\ndefault:return a}}function uc(a,b){var c=a.pendingLanes;if(0===c)return 0;var d=0,e=a.suspendedLanes,f=a.pingedLanes,g=c&268435455;if(0!==g){var h=g&~e;0!==h?d=tc(h):(f&=g,0!==f&&(d=tc(f)))}else g=c&~e,0!==g?d=tc(g):0!==f&&(d=tc(f));if(0===d)return 0;if(0!==b&&b!==d&&0===(b&e)&&(e=d&-d,f=b&-b,e>=f||16===e&&0!==(f&4194240)))return b;0!==(d&4)&&(d|=c&16);b=a.entangledLanes;if(0!==b)for(a=a.entanglements,b&=d;0c;c++)b.push(a);return b}\nfunction Ac(a,b,c){a.pendingLanes|=b;536870912!==b&&(a.suspendedLanes=0,a.pingedLanes=0);a=a.eventTimes;b=31-oc(b);a[b]=c}function Bc(a,b){var c=a.pendingLanes&~b;a.pendingLanes=b;a.suspendedLanes=0;a.pingedLanes=0;a.expiredLanes&=b;a.mutableReadLanes&=b;a.entangledLanes&=b;b=a.entanglements;var d=a.eventTimes;for(a=a.expirationTimes;0=be),ee=String.fromCharCode(32),fe=!1;\nfunction ge(a,b){switch(a){case \"keyup\":return-1!==$d.indexOf(b.keyCode);case \"keydown\":return 229!==b.keyCode;case \"keypress\":case \"mousedown\":case \"focusout\":return!0;default:return!1}}function he(a){a=a.detail;return\"object\"===typeof a&&\"data\"in a?a.data:null}var ie=!1;function je(a,b){switch(a){case \"compositionend\":return he(b);case \"keypress\":if(32!==b.which)return null;fe=!0;return ee;case \"textInput\":return a=b.data,a===ee&&fe?null:a;default:return null}}\nfunction ke(a,b){if(ie)return\"compositionend\"===a||!ae&&ge(a,b)?(a=nd(),md=ld=kd=null,ie=!1,a):null;switch(a){case \"paste\":return null;case \"keypress\":if(!(b.ctrlKey||b.altKey||b.metaKey)||b.ctrlKey&&b.altKey){if(b.char&&1=b)return{node:c,offset:b-a};a=d}a:{for(;c;){if(c.nextSibling){c=c.nextSibling;break a}c=c.parentNode}c=void 0}c=Je(c)}}function Le(a,b){return a&&b?a===b?!0:a&&3===a.nodeType?!1:b&&3===b.nodeType?Le(a,b.parentNode):\"contains\"in a?a.contains(b):a.compareDocumentPosition?!!(a.compareDocumentPosition(b)&16):!1:!1}\nfunction Me(){for(var a=window,b=Xa();b instanceof a.HTMLIFrameElement;){try{var c=\"string\"===typeof b.contentWindow.location.href}catch(d){c=!1}if(c)a=b.contentWindow;else break;b=Xa(a.document)}return b}function Ne(a){var b=a&&a.nodeName&&a.nodeName.toLowerCase();return b&&(\"input\"===b&&(\"text\"===a.type||\"search\"===a.type||\"tel\"===a.type||\"url\"===a.type||\"password\"===a.type)||\"textarea\"===b||\"true\"===a.contentEditable)}\nfunction Oe(a){var b=Me(),c=a.focusedElem,d=a.selectionRange;if(b!==c&&c&&c.ownerDocument&&Le(c.ownerDocument.documentElement,c)){if(null!==d&&Ne(c))if(b=d.start,a=d.end,void 0===a&&(a=b),\"selectionStart\"in c)c.selectionStart=b,c.selectionEnd=Math.min(a,c.value.length);else if(a=(b=c.ownerDocument||document)&&b.defaultView||window,a.getSelection){a=a.getSelection();var e=c.textContent.length,f=Math.min(d.start,e);d=void 0===d.end?f:Math.min(d.end,e);!a.extend&&f>d&&(e=d,d=f,f=e);e=Ke(c,f);var g=Ke(c,\nd);e&&g&&(1!==a.rangeCount||a.anchorNode!==e.node||a.anchorOffset!==e.offset||a.focusNode!==g.node||a.focusOffset!==g.offset)&&(b=b.createRange(),b.setStart(e.node,e.offset),a.removeAllRanges(),f>d?(a.addRange(b),a.extend(g.node,g.offset)):(b.setEnd(g.node,g.offset),a.addRange(b)))}b=[];for(a=c;a=a.parentNode;)1===a.nodeType&&b.push({element:a,left:a.scrollLeft,top:a.scrollTop});\"function\"===typeof c.focus&&c.focus();for(c=0;c=document.documentMode,Qe=null,Re=null,Se=null,Te=!1;\nfunction Ue(a,b,c){var d=c.window===c?c.document:9===c.nodeType?c:c.ownerDocument;Te||null==Qe||Qe!==Xa(d)||(d=Qe,\"selectionStart\"in d&&Ne(d)?d={start:d.selectionStart,end:d.selectionEnd}:(d=(d.ownerDocument&&d.ownerDocument.defaultView||window).getSelection(),d={anchorNode:d.anchorNode,anchorOffset:d.anchorOffset,focusNode:d.focusNode,focusOffset:d.focusOffset}),Se&&Ie(Se,d)||(Se=d,d=oe(Re,\"onSelect\"),0Tf||(a.current=Sf[Tf],Sf[Tf]=null,Tf--)}function G(a,b){Tf++;Sf[Tf]=a.current;a.current=b}var Vf={},H=Uf(Vf),Wf=Uf(!1),Xf=Vf;function Yf(a,b){var c=a.type.contextTypes;if(!c)return Vf;var d=a.stateNode;if(d&&d.__reactInternalMemoizedUnmaskedChildContext===b)return d.__reactInternalMemoizedMaskedChildContext;var e={},f;for(f in c)e[f]=b[f];d&&(a=a.stateNode,a.__reactInternalMemoizedUnmaskedChildContext=b,a.__reactInternalMemoizedMaskedChildContext=e);return e}\nfunction Zf(a){a=a.childContextTypes;return null!==a&&void 0!==a}function $f(){E(Wf);E(H)}function ag(a,b,c){if(H.current!==Vf)throw Error(p(168));G(H,b);G(Wf,c)}function bg(a,b,c){var d=a.stateNode;b=b.childContextTypes;if(\"function\"!==typeof d.getChildContext)return c;d=d.getChildContext();for(var e in d)if(!(e in b))throw Error(p(108,Ra(a)||\"Unknown\",e));return A({},c,d)}\nfunction cg(a){a=(a=a.stateNode)&&a.__reactInternalMemoizedMergedChildContext||Vf;Xf=H.current;G(H,a);G(Wf,Wf.current);return!0}function dg(a,b,c){var d=a.stateNode;if(!d)throw Error(p(169));c?(a=bg(a,b,Xf),d.__reactInternalMemoizedMergedChildContext=a,E(Wf),E(H),G(H,a)):E(Wf);G(Wf,c)}var eg=null,fg=!1,gg=!1;function hg(a){null===eg?eg=[a]:eg.push(a)}function ig(a){fg=!0;hg(a)}\nfunction jg(){if(!gg&&null!==eg){gg=!0;var a=0,b=C;try{var c=eg;for(C=1;a>=g;e-=g;rg=1<<32-oc(b)+e|c<w?(x=u,u=null):x=u.sibling;var n=r(e,u,h[w],k);if(null===n){null===u&&(u=x);break}a&&u&&null===n.alternate&&b(e,u);g=f(n,g,w);null===m?l=n:m.sibling=n;m=n;u=x}if(w===h.length)return c(e,u),I&&tg(e,w),l;if(null===u){for(;ww?(x=m,m=null):x=m.sibling;var t=r(e,m,n.value,k);if(null===t){null===m&&(m=x);break}a&&m&&null===t.alternate&&b(e,m);g=f(t,g,w);null===u?l=t:u.sibling=t;u=t;m=x}if(n.done)return c(e,\nm),I&&tg(e,w),l;if(null===m){for(;!n.done;w++,n=h.next())n=q(e,n.value,k),null!==n&&(g=f(n,g,w),null===u?l=n:u.sibling=n,u=n);I&&tg(e,w);return l}for(m=d(e,m);!n.done;w++,n=h.next())n=y(m,e,w,n.value,k),null!==n&&(a&&null!==n.alternate&&m.delete(null===n.key?w:n.key),g=f(n,g,w),null===u?l=n:u.sibling=n,u=n);a&&m.forEach(function(a){return b(e,a)});I&&tg(e,w);return l}function J(a,d,f,h){\"object\"===typeof f&&null!==f&&f.type===ya&&null===f.key&&(f=f.props.children);if(\"object\"===typeof f&&null!==f){switch(f.$$typeof){case va:a:{for(var k=\nf.key,l=d;null!==l;){if(l.key===k){k=f.type;if(k===ya){if(7===l.tag){c(a,l.sibling);d=e(l,f.props.children);d.return=a;a=d;break a}}else if(l.elementType===k||\"object\"===typeof k&&null!==k&&k.$$typeof===Ha&&Ng(k)===l.type){c(a,l.sibling);d=e(l,f.props);d.ref=Lg(a,l,f);d.return=a;a=d;break a}c(a,l);break}else b(a,l);l=l.sibling}f.type===ya?(d=Tg(f.props.children,a.mode,h,f.key),d.return=a,a=d):(h=Rg(f.type,f.key,f.props,null,a.mode,h),h.ref=Lg(a,d,f),h.return=a,a=h)}return g(a);case wa:a:{for(l=f.key;null!==\nd;){if(d.key===l)if(4===d.tag&&d.stateNode.containerInfo===f.containerInfo&&d.stateNode.implementation===f.implementation){c(a,d.sibling);d=e(d,f.children||[]);d.return=a;a=d;break a}else{c(a,d);break}else b(a,d);d=d.sibling}d=Sg(f,a.mode,h);d.return=a;a=d}return g(a);case Ha:return l=f._init,J(a,d,l(f._payload),h)}if(eb(f))return n(a,d,f,h);if(Ka(f))return t(a,d,f,h);Mg(a,f)}return\"string\"===typeof f&&\"\"!==f||\"number\"===typeof f?(f=\"\"+f,null!==d&&6===d.tag?(c(a,d.sibling),d=e(d,f),d.return=a,a=d):\n(c(a,d),d=Qg(f,a.mode,h),d.return=a,a=d),g(a)):c(a,d)}return J}var Ug=Og(!0),Vg=Og(!1),Wg=Uf(null),Xg=null,Yg=null,Zg=null;function $g(){Zg=Yg=Xg=null}function ah(a){var b=Wg.current;E(Wg);a._currentValue=b}function bh(a,b,c){for(;null!==a;){var d=a.alternate;(a.childLanes&b)!==b?(a.childLanes|=b,null!==d&&(d.childLanes|=b)):null!==d&&(d.childLanes&b)!==b&&(d.childLanes|=b);if(a===c)break;a=a.return}}\nfunction ch(a,b){Xg=a;Zg=Yg=null;a=a.dependencies;null!==a&&null!==a.firstContext&&(0!==(a.lanes&b)&&(dh=!0),a.firstContext=null)}function eh(a){var b=a._currentValue;if(Zg!==a)if(a={context:a,memoizedValue:b,next:null},null===Yg){if(null===Xg)throw Error(p(308));Yg=a;Xg.dependencies={lanes:0,firstContext:a}}else Yg=Yg.next=a;return b}var fh=null;function gh(a){null===fh?fh=[a]:fh.push(a)}\nfunction hh(a,b,c,d){var e=b.interleaved;null===e?(c.next=c,gh(b)):(c.next=e.next,e.next=c);b.interleaved=c;return ih(a,d)}function ih(a,b){a.lanes|=b;var c=a.alternate;null!==c&&(c.lanes|=b);c=a;for(a=a.return;null!==a;)a.childLanes|=b,c=a.alternate,null!==c&&(c.childLanes|=b),c=a,a=a.return;return 3===c.tag?c.stateNode:null}var jh=!1;function kh(a){a.updateQueue={baseState:a.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,interleaved:null,lanes:0},effects:null}}\nfunction lh(a,b){a=a.updateQueue;b.updateQueue===a&&(b.updateQueue={baseState:a.baseState,firstBaseUpdate:a.firstBaseUpdate,lastBaseUpdate:a.lastBaseUpdate,shared:a.shared,effects:a.effects})}function mh(a,b){return{eventTime:a,lane:b,tag:0,payload:null,callback:null,next:null}}\nfunction nh(a,b,c){var d=a.updateQueue;if(null===d)return null;d=d.shared;if(0!==(K&2)){var e=d.pending;null===e?b.next=b:(b.next=e.next,e.next=b);d.pending=b;return ih(a,c)}e=d.interleaved;null===e?(b.next=b,gh(d)):(b.next=e.next,e.next=b);d.interleaved=b;return ih(a,c)}function oh(a,b,c){b=b.updateQueue;if(null!==b&&(b=b.shared,0!==(c&4194240))){var d=b.lanes;d&=a.pendingLanes;c|=d;b.lanes=c;Cc(a,c)}}\nfunction ph(a,b){var c=a.updateQueue,d=a.alternate;if(null!==d&&(d=d.updateQueue,c===d)){var e=null,f=null;c=c.firstBaseUpdate;if(null!==c){do{var g={eventTime:c.eventTime,lane:c.lane,tag:c.tag,payload:c.payload,callback:c.callback,next:null};null===f?e=f=g:f=f.next=g;c=c.next}while(null!==c);null===f?e=f=b:f=f.next=b}else e=f=b;c={baseState:d.baseState,firstBaseUpdate:e,lastBaseUpdate:f,shared:d.shared,effects:d.effects};a.updateQueue=c;return}a=c.lastBaseUpdate;null===a?c.firstBaseUpdate=b:a.next=\nb;c.lastBaseUpdate=b}\nfunction qh(a,b,c,d){var e=a.updateQueue;jh=!1;var f=e.firstBaseUpdate,g=e.lastBaseUpdate,h=e.shared.pending;if(null!==h){e.shared.pending=null;var k=h,l=k.next;k.next=null;null===g?f=l:g.next=l;g=k;var m=a.alternate;null!==m&&(m=m.updateQueue,h=m.lastBaseUpdate,h!==g&&(null===h?m.firstBaseUpdate=l:h.next=l,m.lastBaseUpdate=k))}if(null!==f){var q=e.baseState;g=0;m=l=k=null;h=f;do{var r=h.lane,y=h.eventTime;if((d&r)===r){null!==m&&(m=m.next={eventTime:y,lane:0,tag:h.tag,payload:h.payload,callback:h.callback,\nnext:null});a:{var n=a,t=h;r=b;y=c;switch(t.tag){case 1:n=t.payload;if(\"function\"===typeof n){q=n.call(y,q,r);break a}q=n;break a;case 3:n.flags=n.flags&-65537|128;case 0:n=t.payload;r=\"function\"===typeof n?n.call(y,q,r):n;if(null===r||void 0===r)break a;q=A({},q,r);break a;case 2:jh=!0}}null!==h.callback&&0!==h.lane&&(a.flags|=64,r=e.effects,null===r?e.effects=[h]:r.push(h))}else y={eventTime:y,lane:r,tag:h.tag,payload:h.payload,callback:h.callback,next:null},null===m?(l=m=y,k=q):m=m.next=y,g|=r;\nh=h.next;if(null===h)if(h=e.shared.pending,null===h)break;else r=h,h=r.next,r.next=null,e.lastBaseUpdate=r,e.shared.pending=null}while(1);null===m&&(k=q);e.baseState=k;e.firstBaseUpdate=l;e.lastBaseUpdate=m;b=e.shared.interleaved;if(null!==b){e=b;do g|=e.lane,e=e.next;while(e!==b)}else null===f&&(e.shared.lanes=0);rh|=g;a.lanes=g;a.memoizedState=q}}\nfunction sh(a,b,c){a=b.effects;b.effects=null;if(null!==a)for(b=0;bc?c:4;a(!0);var d=Gh.transition;Gh.transition={};try{a(!1),b()}finally{C=c,Gh.transition=d}}function wi(){return Uh().memoizedState}\nfunction xi(a,b,c){var d=yi(a);c={lane:d,action:c,hasEagerState:!1,eagerState:null,next:null};if(zi(a))Ai(b,c);else if(c=hh(a,b,c,d),null!==c){var e=R();gi(c,a,d,e);Bi(c,b,d)}}\nfunction ii(a,b,c){var d=yi(a),e={lane:d,action:c,hasEagerState:!1,eagerState:null,next:null};if(zi(a))Ai(b,e);else{var f=a.alternate;if(0===a.lanes&&(null===f||0===f.lanes)&&(f=b.lastRenderedReducer,null!==f))try{var g=b.lastRenderedState,h=f(g,c);e.hasEagerState=!0;e.eagerState=h;if(He(h,g)){var k=b.interleaved;null===k?(e.next=e,gh(b)):(e.next=k.next,k.next=e);b.interleaved=e;return}}catch(l){}finally{}c=hh(a,b,e,d);null!==c&&(e=R(),gi(c,a,d,e),Bi(c,b,d))}}\nfunction zi(a){var b=a.alternate;return a===M||null!==b&&b===M}function Ai(a,b){Jh=Ih=!0;var c=a.pending;null===c?b.next=b:(b.next=c.next,c.next=b);a.pending=b}function Bi(a,b,c){if(0!==(c&4194240)){var d=b.lanes;d&=a.pendingLanes;c|=d;b.lanes=c;Cc(a,c)}}\nvar Rh={readContext:eh,useCallback:P,useContext:P,useEffect:P,useImperativeHandle:P,useInsertionEffect:P,useLayoutEffect:P,useMemo:P,useReducer:P,useRef:P,useState:P,useDebugValue:P,useDeferredValue:P,useTransition:P,useMutableSource:P,useSyncExternalStore:P,useId:P,unstable_isNewReconciler:!1},Oh={readContext:eh,useCallback:function(a,b){Th().memoizedState=[a,void 0===b?null:b];return a},useContext:eh,useEffect:mi,useImperativeHandle:function(a,b,c){c=null!==c&&void 0!==c?c.concat([a]):null;return ki(4194308,\n4,pi.bind(null,b,a),c)},useLayoutEffect:function(a,b){return ki(4194308,4,a,b)},useInsertionEffect:function(a,b){return ki(4,2,a,b)},useMemo:function(a,b){var c=Th();b=void 0===b?null:b;a=a();c.memoizedState=[a,b];return a},useReducer:function(a,b,c){var d=Th();b=void 0!==c?c(b):b;d.memoizedState=d.baseState=b;a={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:a,lastRenderedState:b};d.queue=a;a=a.dispatch=xi.bind(null,M,a);return[d.memoizedState,a]},useRef:function(a){var b=\nTh();a={current:a};return b.memoizedState=a},useState:hi,useDebugValue:ri,useDeferredValue:function(a){return Th().memoizedState=a},useTransition:function(){var a=hi(!1),b=a[0];a=vi.bind(null,a[1]);Th().memoizedState=a;return[b,a]},useMutableSource:function(){},useSyncExternalStore:function(a,b,c){var d=M,e=Th();if(I){if(void 0===c)throw Error(p(407));c=c()}else{c=b();if(null===Q)throw Error(p(349));0!==(Hh&30)||di(d,b,c)}e.memoizedState=c;var f={value:c,getSnapshot:b};e.queue=f;mi(ai.bind(null,d,\nf,a),[a]);d.flags|=2048;bi(9,ci.bind(null,d,f,c,b),void 0,null);return c},useId:function(){var a=Th(),b=Q.identifierPrefix;if(I){var c=sg;var d=rg;c=(d&~(1<<32-oc(d)-1)).toString(32)+c;b=\":\"+b+\"R\"+c;c=Kh++;0\\x3c/script>\",a=a.removeChild(a.firstChild)):\n\"string\"===typeof d.is?a=g.createElement(c,{is:d.is}):(a=g.createElement(c),\"select\"===c&&(g=a,d.multiple?g.multiple=!0:d.size&&(g.size=d.size))):a=g.createElementNS(a,c);a[Of]=b;a[Pf]=d;zj(a,b,!1,!1);b.stateNode=a;a:{g=vb(c,d);switch(c){case \"dialog\":D(\"cancel\",a);D(\"close\",a);e=d;break;case \"iframe\":case \"object\":case \"embed\":D(\"load\",a);e=d;break;case \"video\":case \"audio\":for(e=0;eGj&&(b.flags|=128,d=!0,Dj(f,!1),b.lanes=4194304)}else{if(!d)if(a=Ch(g),null!==a){if(b.flags|=128,d=!0,c=a.updateQueue,null!==c&&(b.updateQueue=c,b.flags|=4),Dj(f,!0),null===f.tail&&\"hidden\"===f.tailMode&&!g.alternate&&!I)return S(b),null}else 2*B()-f.renderingStartTime>Gj&&1073741824!==c&&(b.flags|=128,d=!0,Dj(f,!1),b.lanes=4194304);f.isBackwards?(g.sibling=b.child,b.child=g):(c=f.last,null!==c?c.sibling=g:b.child=g,f.last=g)}if(null!==f.tail)return b=f.tail,f.rendering=\nb,f.tail=b.sibling,f.renderingStartTime=B(),b.sibling=null,c=L.current,G(L,d?c&1|2:c&1),b;S(b);return null;case 22:case 23:return Hj(),d=null!==b.memoizedState,null!==a&&null!==a.memoizedState!==d&&(b.flags|=8192),d&&0!==(b.mode&1)?0!==(fj&1073741824)&&(S(b),b.subtreeFlags&6&&(b.flags|=8192)):S(b),null;case 24:return null;case 25:return null}throw Error(p(156,b.tag));}\nfunction Ij(a,b){wg(b);switch(b.tag){case 1:return Zf(b.type)&&$f(),a=b.flags,a&65536?(b.flags=a&-65537|128,b):null;case 3:return zh(),E(Wf),E(H),Eh(),a=b.flags,0!==(a&65536)&&0===(a&128)?(b.flags=a&-65537|128,b):null;case 5:return Bh(b),null;case 13:E(L);a=b.memoizedState;if(null!==a&&null!==a.dehydrated){if(null===b.alternate)throw Error(p(340));Ig()}a=b.flags;return a&65536?(b.flags=a&-65537|128,b):null;case 19:return E(L),null;case 4:return zh(),null;case 10:return ah(b.type._context),null;case 22:case 23:return Hj(),\nnull;case 24:return null;default:return null}}var Jj=!1,U=!1,Kj=\"function\"===typeof WeakSet?WeakSet:Set,V=null;function Lj(a,b){var c=a.ref;if(null!==c)if(\"function\"===typeof c)try{c(null)}catch(d){W(a,b,d)}else c.current=null}function Mj(a,b,c){try{c()}catch(d){W(a,b,d)}}var Nj=!1;\nfunction Oj(a,b){Cf=dd;a=Me();if(Ne(a)){if(\"selectionStart\"in a)var c={start:a.selectionStart,end:a.selectionEnd};else a:{c=(c=a.ownerDocument)&&c.defaultView||window;var d=c.getSelection&&c.getSelection();if(d&&0!==d.rangeCount){c=d.anchorNode;var e=d.anchorOffset,f=d.focusNode;d=d.focusOffset;try{c.nodeType,f.nodeType}catch(F){c=null;break a}var g=0,h=-1,k=-1,l=0,m=0,q=a,r=null;b:for(;;){for(var y;;){q!==c||0!==e&&3!==q.nodeType||(h=g+e);q!==f||0!==d&&3!==q.nodeType||(k=g+d);3===q.nodeType&&(g+=\nq.nodeValue.length);if(null===(y=q.firstChild))break;r=q;q=y}for(;;){if(q===a)break b;r===c&&++l===e&&(h=g);r===f&&++m===d&&(k=g);if(null!==(y=q.nextSibling))break;q=r;r=q.parentNode}q=y}c=-1===h||-1===k?null:{start:h,end:k}}else c=null}c=c||{start:0,end:0}}else c=null;Df={focusedElem:a,selectionRange:c};dd=!1;for(V=b;null!==V;)if(b=V,a=b.child,0!==(b.subtreeFlags&1028)&&null!==a)a.return=b,V=a;else for(;null!==V;){b=V;try{var n=b.alternate;if(0!==(b.flags&1024))switch(b.tag){case 0:case 11:case 15:break;\ncase 1:if(null!==n){var t=n.memoizedProps,J=n.memoizedState,x=b.stateNode,w=x.getSnapshotBeforeUpdate(b.elementType===b.type?t:Ci(b.type,t),J);x.__reactInternalSnapshotBeforeUpdate=w}break;case 3:var u=b.stateNode.containerInfo;1===u.nodeType?u.textContent=\"\":9===u.nodeType&&u.documentElement&&u.removeChild(u.documentElement);break;case 5:case 6:case 4:case 17:break;default:throw Error(p(163));}}catch(F){W(b,b.return,F)}a=b.sibling;if(null!==a){a.return=b.return;V=a;break}V=b.return}n=Nj;Nj=!1;return n}\nfunction Pj(a,b,c){var d=b.updateQueue;d=null!==d?d.lastEffect:null;if(null!==d){var e=d=d.next;do{if((e.tag&a)===a){var f=e.destroy;e.destroy=void 0;void 0!==f&&Mj(b,c,f)}e=e.next}while(e!==d)}}function Qj(a,b){b=b.updateQueue;b=null!==b?b.lastEffect:null;if(null!==b){var c=b=b.next;do{if((c.tag&a)===a){var d=c.create;c.destroy=d()}c=c.next}while(c!==b)}}function Rj(a){var b=a.ref;if(null!==b){var c=a.stateNode;switch(a.tag){case 5:a=c;break;default:a=c}\"function\"===typeof b?b(a):b.current=a}}\nfunction Sj(a){var b=a.alternate;null!==b&&(a.alternate=null,Sj(b));a.child=null;a.deletions=null;a.sibling=null;5===a.tag&&(b=a.stateNode,null!==b&&(delete b[Of],delete b[Pf],delete b[of],delete b[Qf],delete b[Rf]));a.stateNode=null;a.return=null;a.dependencies=null;a.memoizedProps=null;a.memoizedState=null;a.pendingProps=null;a.stateNode=null;a.updateQueue=null}function Tj(a){return 5===a.tag||3===a.tag||4===a.tag}\nfunction Uj(a){a:for(;;){for(;null===a.sibling;){if(null===a.return||Tj(a.return))return null;a=a.return}a.sibling.return=a.return;for(a=a.sibling;5!==a.tag&&6!==a.tag&&18!==a.tag;){if(a.flags&2)continue a;if(null===a.child||4===a.tag)continue a;else a.child.return=a,a=a.child}if(!(a.flags&2))return a.stateNode}}\nfunction Vj(a,b,c){var d=a.tag;if(5===d||6===d)a=a.stateNode,b?8===c.nodeType?c.parentNode.insertBefore(a,b):c.insertBefore(a,b):(8===c.nodeType?(b=c.parentNode,b.insertBefore(a,c)):(b=c,b.appendChild(a)),c=c._reactRootContainer,null!==c&&void 0!==c||null!==b.onclick||(b.onclick=Bf));else if(4!==d&&(a=a.child,null!==a))for(Vj(a,b,c),a=a.sibling;null!==a;)Vj(a,b,c),a=a.sibling}\nfunction Wj(a,b,c){var d=a.tag;if(5===d||6===d)a=a.stateNode,b?c.insertBefore(a,b):c.appendChild(a);else if(4!==d&&(a=a.child,null!==a))for(Wj(a,b,c),a=a.sibling;null!==a;)Wj(a,b,c),a=a.sibling}var X=null,Xj=!1;function Yj(a,b,c){for(c=c.child;null!==c;)Zj(a,b,c),c=c.sibling}\nfunction Zj(a,b,c){if(lc&&\"function\"===typeof lc.onCommitFiberUnmount)try{lc.onCommitFiberUnmount(kc,c)}catch(h){}switch(c.tag){case 5:U||Lj(c,b);case 6:var d=X,e=Xj;X=null;Yj(a,b,c);X=d;Xj=e;null!==X&&(Xj?(a=X,c=c.stateNode,8===a.nodeType?a.parentNode.removeChild(c):a.removeChild(c)):X.removeChild(c.stateNode));break;case 18:null!==X&&(Xj?(a=X,c=c.stateNode,8===a.nodeType?Kf(a.parentNode,c):1===a.nodeType&&Kf(a,c),bd(a)):Kf(X,c.stateNode));break;case 4:d=X;e=Xj;X=c.stateNode.containerInfo;Xj=!0;\nYj(a,b,c);X=d;Xj=e;break;case 0:case 11:case 14:case 15:if(!U&&(d=c.updateQueue,null!==d&&(d=d.lastEffect,null!==d))){e=d=d.next;do{var f=e,g=f.destroy;f=f.tag;void 0!==g&&(0!==(f&2)?Mj(c,b,g):0!==(f&4)&&Mj(c,b,g));e=e.next}while(e!==d)}Yj(a,b,c);break;case 1:if(!U&&(Lj(c,b),d=c.stateNode,\"function\"===typeof d.componentWillUnmount))try{d.props=c.memoizedProps,d.state=c.memoizedState,d.componentWillUnmount()}catch(h){W(c,b,h)}Yj(a,b,c);break;case 21:Yj(a,b,c);break;case 22:c.mode&1?(U=(d=U)||null!==\nc.memoizedState,Yj(a,b,c),U=d):Yj(a,b,c);break;default:Yj(a,b,c)}}function ak(a){var b=a.updateQueue;if(null!==b){a.updateQueue=null;var c=a.stateNode;null===c&&(c=a.stateNode=new Kj);b.forEach(function(b){var d=bk.bind(null,a,b);c.has(b)||(c.add(b),b.then(d,d))})}}\nfunction ck(a,b){var c=b.deletions;if(null!==c)for(var d=0;de&&(e=g);d&=~f}d=e;d=B()-d;d=(120>d?120:480>d?480:1080>d?1080:1920>d?1920:3E3>d?3E3:4320>d?4320:1960*lk(d/1960))-d;if(10a?16:a;if(null===wk)var d=!1;else{a=wk;wk=null;xk=0;if(0!==(K&6))throw Error(p(331));var e=K;K|=4;for(V=a.current;null!==V;){var f=V,g=f.child;if(0!==(V.flags&16)){var h=f.deletions;if(null!==h){for(var k=0;kB()-fk?Kk(a,0):rk|=c);Dk(a,b)}function Yk(a,b){0===b&&(0===(a.mode&1)?b=1:(b=sc,sc<<=1,0===(sc&130023424)&&(sc=4194304)));var c=R();a=ih(a,b);null!==a&&(Ac(a,b,c),Dk(a,c))}function uj(a){var b=a.memoizedState,c=0;null!==b&&(c=b.retryLane);Yk(a,c)}\nfunction bk(a,b){var c=0;switch(a.tag){case 13:var d=a.stateNode;var e=a.memoizedState;null!==e&&(c=e.retryLane);break;case 19:d=a.stateNode;break;default:throw Error(p(314));}null!==d&&d.delete(b);Yk(a,c)}var Vk;\nVk=function(a,b,c){if(null!==a)if(a.memoizedProps!==b.pendingProps||Wf.current)dh=!0;else{if(0===(a.lanes&c)&&0===(b.flags&128))return dh=!1,yj(a,b,c);dh=0!==(a.flags&131072)?!0:!1}else dh=!1,I&&0!==(b.flags&1048576)&&ug(b,ng,b.index);b.lanes=0;switch(b.tag){case 2:var d=b.type;ij(a,b);a=b.pendingProps;var e=Yf(b,H.current);ch(b,c);e=Nh(null,b,d,a,e,c);var f=Sh();b.flags|=1;\"object\"===typeof e&&null!==e&&\"function\"===typeof e.render&&void 0===e.$$typeof?(b.tag=1,b.memoizedState=null,b.updateQueue=\nnull,Zf(d)?(f=!0,cg(b)):f=!1,b.memoizedState=null!==e.state&&void 0!==e.state?e.state:null,kh(b),e.updater=Ei,b.stateNode=e,e._reactInternals=b,Ii(b,d,a,c),b=jj(null,b,d,!0,f,c)):(b.tag=0,I&&f&&vg(b),Xi(null,b,e,c),b=b.child);return b;case 16:d=b.elementType;a:{ij(a,b);a=b.pendingProps;e=d._init;d=e(d._payload);b.type=d;e=b.tag=Zk(d);a=Ci(d,a);switch(e){case 0:b=cj(null,b,d,a,c);break a;case 1:b=hj(null,b,d,a,c);break a;case 11:b=Yi(null,b,d,a,c);break a;case 14:b=$i(null,b,d,Ci(d.type,a),c);break a}throw Error(p(306,\nd,\"\"));}return b;case 0:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:Ci(d,e),cj(a,b,d,e,c);case 1:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:Ci(d,e),hj(a,b,d,e,c);case 3:a:{kj(b);if(null===a)throw Error(p(387));d=b.pendingProps;f=b.memoizedState;e=f.element;lh(a,b);qh(b,d,null,c);var g=b.memoizedState;d=g.element;if(f.isDehydrated)if(f={element:d,isDehydrated:!1,cache:g.cache,pendingSuspenseBoundaries:g.pendingSuspenseBoundaries,transitions:g.transitions},b.updateQueue.baseState=\nf,b.memoizedState=f,b.flags&256){e=Ji(Error(p(423)),b);b=lj(a,b,d,c,e);break a}else if(d!==e){e=Ji(Error(p(424)),b);b=lj(a,b,d,c,e);break a}else for(yg=Lf(b.stateNode.containerInfo.firstChild),xg=b,I=!0,zg=null,c=Vg(b,null,d,c),b.child=c;c;)c.flags=c.flags&-3|4096,c=c.sibling;else{Ig();if(d===e){b=Zi(a,b,c);break a}Xi(a,b,d,c)}b=b.child}return b;case 5:return Ah(b),null===a&&Eg(b),d=b.type,e=b.pendingProps,f=null!==a?a.memoizedProps:null,g=e.children,Ef(d,e)?g=null:null!==f&&Ef(d,f)&&(b.flags|=32),\ngj(a,b),Xi(a,b,g,c),b.child;case 6:return null===a&&Eg(b),null;case 13:return oj(a,b,c);case 4:return yh(b,b.stateNode.containerInfo),d=b.pendingProps,null===a?b.child=Ug(b,null,d,c):Xi(a,b,d,c),b.child;case 11:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:Ci(d,e),Yi(a,b,d,e,c);case 7:return Xi(a,b,b.pendingProps,c),b.child;case 8:return Xi(a,b,b.pendingProps.children,c),b.child;case 12:return Xi(a,b,b.pendingProps.children,c),b.child;case 10:a:{d=b.type._context;e=b.pendingProps;f=b.memoizedProps;\ng=e.value;G(Wg,d._currentValue);d._currentValue=g;if(null!==f)if(He(f.value,g)){if(f.children===e.children&&!Wf.current){b=Zi(a,b,c);break a}}else for(f=b.child,null!==f&&(f.return=b);null!==f;){var h=f.dependencies;if(null!==h){g=f.child;for(var k=h.firstContext;null!==k;){if(k.context===d){if(1===f.tag){k=mh(-1,c&-c);k.tag=2;var l=f.updateQueue;if(null!==l){l=l.shared;var m=l.pending;null===m?k.next=k:(k.next=m.next,m.next=k);l.pending=k}}f.lanes|=c;k=f.alternate;null!==k&&(k.lanes|=c);bh(f.return,\nc,b);h.lanes|=c;break}k=k.next}}else if(10===f.tag)g=f.type===b.type?null:f.child;else if(18===f.tag){g=f.return;if(null===g)throw Error(p(341));g.lanes|=c;h=g.alternate;null!==h&&(h.lanes|=c);bh(g,c,b);g=f.sibling}else g=f.child;if(null!==g)g.return=f;else for(g=f;null!==g;){if(g===b){g=null;break}f=g.sibling;if(null!==f){f.return=g.return;g=f;break}g=g.return}f=g}Xi(a,b,e.children,c);b=b.child}return b;case 9:return e=b.type,d=b.pendingProps.children,ch(b,c),e=eh(e),d=d(e),b.flags|=1,Xi(a,b,d,c),\nb.child;case 14:return d=b.type,e=Ci(d,b.pendingProps),e=Ci(d.type,e),$i(a,b,d,e,c);case 15:return bj(a,b,b.type,b.pendingProps,c);case 17:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:Ci(d,e),ij(a,b),b.tag=1,Zf(d)?(a=!0,cg(b)):a=!1,ch(b,c),Gi(b,d,e),Ii(b,d,e,c),jj(null,b,d,!0,a,c);case 19:return xj(a,b,c);case 22:return dj(a,b,c)}throw Error(p(156,b.tag));};function Fk(a,b){return ac(a,b)}\nfunction $k(a,b,c,d){this.tag=a;this.key=c;this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null;this.index=0;this.ref=null;this.pendingProps=b;this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null;this.mode=d;this.subtreeFlags=this.flags=0;this.deletions=null;this.childLanes=this.lanes=0;this.alternate=null}function Bg(a,b,c,d){return new $k(a,b,c,d)}function aj(a){a=a.prototype;return!(!a||!a.isReactComponent)}\nfunction Zk(a){if(\"function\"===typeof a)return aj(a)?1:0;if(void 0!==a&&null!==a){a=a.$$typeof;if(a===Da)return 11;if(a===Ga)return 14}return 2}\nfunction Pg(a,b){var c=a.alternate;null===c?(c=Bg(a.tag,b,a.key,a.mode),c.elementType=a.elementType,c.type=a.type,c.stateNode=a.stateNode,c.alternate=a,a.alternate=c):(c.pendingProps=b,c.type=a.type,c.flags=0,c.subtreeFlags=0,c.deletions=null);c.flags=a.flags&14680064;c.childLanes=a.childLanes;c.lanes=a.lanes;c.child=a.child;c.memoizedProps=a.memoizedProps;c.memoizedState=a.memoizedState;c.updateQueue=a.updateQueue;b=a.dependencies;c.dependencies=null===b?null:{lanes:b.lanes,firstContext:b.firstContext};\nc.sibling=a.sibling;c.index=a.index;c.ref=a.ref;return c}\nfunction Rg(a,b,c,d,e,f){var g=2;d=a;if(\"function\"===typeof a)aj(a)&&(g=1);else if(\"string\"===typeof a)g=5;else a:switch(a){case ya:return Tg(c.children,e,f,b);case za:g=8;e|=8;break;case Aa:return a=Bg(12,c,b,e|2),a.elementType=Aa,a.lanes=f,a;case Ea:return a=Bg(13,c,b,e),a.elementType=Ea,a.lanes=f,a;case Fa:return a=Bg(19,c,b,e),a.elementType=Fa,a.lanes=f,a;case Ia:return pj(c,e,f,b);default:if(\"object\"===typeof a&&null!==a)switch(a.$$typeof){case Ba:g=10;break a;case Ca:g=9;break a;case Da:g=11;\nbreak a;case Ga:g=14;break a;case Ha:g=16;d=null;break a}throw Error(p(130,null==a?a:typeof a,\"\"));}b=Bg(g,c,b,e);b.elementType=a;b.type=d;b.lanes=f;return b}function Tg(a,b,c,d){a=Bg(7,a,d,b);a.lanes=c;return a}function pj(a,b,c,d){a=Bg(22,a,d,b);a.elementType=Ia;a.lanes=c;a.stateNode={isHidden:!1};return a}function Qg(a,b,c){a=Bg(6,a,null,b);a.lanes=c;return a}\nfunction Sg(a,b,c){b=Bg(4,null!==a.children?a.children:[],a.key,b);b.lanes=c;b.stateNode={containerInfo:a.containerInfo,pendingChildren:null,implementation:a.implementation};return b}\nfunction al(a,b,c,d,e){this.tag=b;this.containerInfo=a;this.finishedWork=this.pingCache=this.current=this.pendingChildren=null;this.timeoutHandle=-1;this.callbackNode=this.pendingContext=this.context=null;this.callbackPriority=0;this.eventTimes=zc(0);this.expirationTimes=zc(-1);this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0;this.entanglements=zc(0);this.identifierPrefix=d;this.onRecoverableError=e;this.mutableSourceEagerHydrationData=\nnull}function bl(a,b,c,d,e,f,g,h,k){a=new al(a,b,c,h,k);1===b?(b=1,!0===f&&(b|=8)):b=0;f=Bg(3,null,null,b);a.current=f;f.stateNode=a;f.memoizedState={element:d,isDehydrated:c,cache:null,transitions:null,pendingSuspenseBoundaries:null};kh(f);return a}function cl(a,b,c){var d=3\n//\nclass Draggable extends React.Component /*:: */{\n // React 16.3+\n // Arity (props, state)\n static getDerivedStateFromProps(_ref /*:: */, _ref2 /*:: */) /*: ?Partial*/{\n let {\n position\n } /*: DraggableProps*/ = _ref /*: DraggableProps*/;\n let {\n prevPropsPosition\n } /*: DraggableState*/ = _ref2 /*: DraggableState*/;\n // Set x/y if a new position is provided in props that is different than the previous.\n if (position && (!prevPropsPosition || position.x !== prevPropsPosition.x || position.y !== prevPropsPosition.y)) {\n (0, _log.default)('Draggable: getDerivedStateFromProps %j', {\n position,\n prevPropsPosition\n });\n return {\n x: position.x,\n y: position.y,\n prevPropsPosition: {\n ...position\n }\n };\n }\n return null;\n }\n constructor(props /*: DraggableProps*/) {\n super(props);\n _defineProperty(this, \"onDragStart\", (e, coreData) => {\n (0, _log.default)('Draggable: onDragStart: %j', coreData);\n\n // Short-circuit if user's callback killed it.\n const shouldStart = this.props.onStart(e, (0, _positionFns.createDraggableData)(this, coreData));\n // Kills start event on core as well, so move handlers are never bound.\n if (shouldStart === false) return false;\n this.setState({\n dragging: true,\n dragged: true\n });\n });\n _defineProperty(this, \"onDrag\", (e, coreData) => {\n if (!this.state.dragging) return false;\n (0, _log.default)('Draggable: onDrag: %j', coreData);\n const uiData = (0, _positionFns.createDraggableData)(this, coreData);\n const newState = {\n x: uiData.x,\n y: uiData.y,\n slackX: 0,\n slackY: 0\n };\n\n // Keep within bounds.\n if (this.props.bounds) {\n // Save original x and y.\n const {\n x,\n y\n } = newState;\n\n // Add slack to the values used to calculate bound position. This will ensure that if\n // we start removing slack, the element won't react to it right away until it's been\n // completely removed.\n newState.x += this.state.slackX;\n newState.y += this.state.slackY;\n\n // Get bound position. This will ceil/floor the x and y within the boundaries.\n const [newStateX, newStateY] = (0, _positionFns.getBoundPosition)(this, newState.x, newState.y);\n newState.x = newStateX;\n newState.y = newStateY;\n\n // Recalculate slack by noting how much was shaved by the boundPosition handler.\n newState.slackX = this.state.slackX + (x - newState.x);\n newState.slackY = this.state.slackY + (y - newState.y);\n\n // Update the event we fire to reflect what really happened after bounds took effect.\n uiData.x = newState.x;\n uiData.y = newState.y;\n uiData.deltaX = newState.x - this.state.x;\n uiData.deltaY = newState.y - this.state.y;\n }\n\n // Short-circuit if user's callback killed it.\n const shouldUpdate = this.props.onDrag(e, uiData);\n if (shouldUpdate === false) return false;\n this.setState(newState);\n });\n _defineProperty(this, \"onDragStop\", (e, coreData) => {\n if (!this.state.dragging) return false;\n\n // Short-circuit if user's callback killed it.\n const shouldContinue = this.props.onStop(e, (0, _positionFns.createDraggableData)(this, coreData));\n if (shouldContinue === false) return false;\n (0, _log.default)('Draggable: onDragStop: %j', coreData);\n const newState /*: Partial*/ = {\n dragging: false,\n slackX: 0,\n slackY: 0\n };\n\n // If this is a controlled component, the result of this operation will be to\n // revert back to the old position. We expect a handler on `onDragStop`, at the least.\n const controlled = Boolean(this.props.position);\n if (controlled) {\n const {\n x,\n y\n } = this.props.position;\n newState.x = x;\n newState.y = y;\n }\n this.setState(newState);\n });\n this.state = {\n // Whether or not we are currently dragging.\n dragging: false,\n // Whether or not we have been dragged before.\n dragged: false,\n // Current transform x and y.\n x: props.position ? props.position.x : props.defaultPosition.x,\n y: props.position ? props.position.y : props.defaultPosition.y,\n prevPropsPosition: {\n ...props.position\n },\n // Used for compensating for out-of-bounds drags\n slackX: 0,\n slackY: 0,\n // Can only determine if SVG after mounting\n isElementSVG: false\n };\n if (props.position && !(props.onDrag || props.onStop)) {\n // eslint-disable-next-line no-console\n console.warn('A `position` was applied to this , without drag handlers. This will make this ' + 'component effectively undraggable. Please attach `onDrag` or `onStop` handlers so you can adjust the ' + '`position` of this element.');\n }\n }\n componentDidMount() {\n // Check to see if the element passed is an instanceof SVGElement\n if (typeof window.SVGElement !== 'undefined' && this.findDOMNode() instanceof window.SVGElement) {\n this.setState({\n isElementSVG: true\n });\n }\n }\n componentWillUnmount() {\n this.setState({\n dragging: false\n }); // prevents invariant if unmounted while dragging\n }\n\n // React Strict Mode compatibility: if `nodeRef` is passed, we will use it instead of trying to find\n // the underlying DOM node ourselves. See the README for more information.\n findDOMNode() /*: ?HTMLElement*/{\n var _this$props$nodeRef$c, _this$props;\n return (_this$props$nodeRef$c = (_this$props = this.props) === null || _this$props === void 0 || (_this$props = _this$props.nodeRef) === null || _this$props === void 0 ? void 0 : _this$props.current) !== null && _this$props$nodeRef$c !== void 0 ? _this$props$nodeRef$c : _reactDom.default.findDOMNode(this);\n }\n render() /*: ReactElement*/{\n const {\n axis,\n bounds,\n children,\n defaultPosition,\n defaultClassName,\n defaultClassNameDragging,\n defaultClassNameDragged,\n position,\n positionOffset,\n scale,\n ...draggableCoreProps\n } = this.props;\n let style = {};\n let svgTransform = null;\n\n // If this is controlled, we don't want to move it - unless it's dragging.\n const controlled = Boolean(position);\n const draggable = !controlled || this.state.dragging;\n const validPosition = position || defaultPosition;\n const transformOpts = {\n // Set left if horizontal drag is enabled\n x: (0, _positionFns.canDragX)(this) && draggable ? this.state.x : validPosition.x,\n // Set top if vertical drag is enabled\n y: (0, _positionFns.canDragY)(this) && draggable ? this.state.y : validPosition.y\n };\n\n // If this element was SVG, we use the `transform` attribute.\n if (this.state.isElementSVG) {\n svgTransform = (0, _domFns.createSVGTransform)(transformOpts, positionOffset);\n } else {\n // Add a CSS transform to move the element around. This allows us to move the element around\n // without worrying about whether or not it is relatively or absolutely positioned.\n // If the item you are dragging already has a transform set, wrap it in a so \n // has a clean slate.\n style = (0, _domFns.createCSSTransform)(transformOpts, positionOffset);\n }\n\n // Mark with class while dragging\n const className = (0, _clsx.default)(children.props.className || '', defaultClassName, {\n [defaultClassNameDragging]: this.state.dragging,\n [defaultClassNameDragged]: this.state.dragged\n });\n\n // Reuse the child provided\n // This makes it flexible to use whatever element is wanted (div, ul, etc)\n return /*#__PURE__*/React.createElement(_DraggableCore.default, _extends({}, draggableCoreProps, {\n onStart: this.onDragStart,\n onDrag: this.onDrag,\n onStop: this.onDragStop\n }), /*#__PURE__*/React.cloneElement(React.Children.only(children), {\n className: className,\n style: {\n ...children.props.style,\n ...style\n },\n transform: svgTransform\n }));\n }\n}\nexports.default = Draggable;\n_defineProperty(Draggable, \"displayName\", 'Draggable');\n_defineProperty(Draggable, \"propTypes\", {\n // Accepts all props accepts.\n ..._DraggableCore.default.propTypes,\n /**\n * `axis` determines which axis the draggable can move.\n *\n * Note that all callbacks will still return data as normal. This only\n * controls flushing to the DOM.\n *\n * 'both' allows movement horizontally and vertically.\n * 'x' limits movement to horizontal axis.\n * 'y' limits movement to vertical axis.\n * 'none' limits all movement.\n *\n * Defaults to 'both'.\n */\n axis: _propTypes.default.oneOf(['both', 'x', 'y', 'none']),\n /**\n * `bounds` determines the range of movement available to the element.\n * Available values are:\n *\n * 'parent' restricts movement within the Draggable's parent node.\n *\n * Alternatively, pass an object with the following properties, all of which are optional:\n *\n * {left: LEFT_BOUND, right: RIGHT_BOUND, bottom: BOTTOM_BOUND, top: TOP_BOUND}\n *\n * All values are in px.\n *\n * Example:\n *\n * ```jsx\n * let App = React.createClass({\n * render: function () {\n * return (\n * \n *
Content
\n *
\n * );\n * }\n * });\n * ```\n */\n bounds: _propTypes.default.oneOfType([_propTypes.default.shape({\n left: _propTypes.default.number,\n right: _propTypes.default.number,\n top: _propTypes.default.number,\n bottom: _propTypes.default.number\n }), _propTypes.default.string, _propTypes.default.oneOf([false])]),\n defaultClassName: _propTypes.default.string,\n defaultClassNameDragging: _propTypes.default.string,\n defaultClassNameDragged: _propTypes.default.string,\n /**\n * `defaultPosition` specifies the x and y that the dragged item should start at\n *\n * Example:\n *\n * ```jsx\n * let App = React.createClass({\n * render: function () {\n * return (\n * \n *
I start with transformX: 25px and transformY: 25px;
\n *
\n * );\n * }\n * });\n * ```\n */\n defaultPosition: _propTypes.default.shape({\n x: _propTypes.default.number,\n y: _propTypes.default.number\n }),\n positionOffset: _propTypes.default.shape({\n x: _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.string]),\n y: _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.string])\n }),\n /**\n * `position`, if present, defines the current position of the element.\n *\n * This is similar to how form elements in React work - if no `position` is supplied, the component\n * is uncontrolled.\n *\n * Example:\n *\n * ```jsx\n * let App = React.createClass({\n * render: function () {\n * return (\n * \n *
I start with transformX: 25px and transformY: 25px;
\n *
\n * );\n * }\n * });\n * ```\n */\n position: _propTypes.default.shape({\n x: _propTypes.default.number,\n y: _propTypes.default.number\n }),\n /**\n * These properties should be defined on the child, not here.\n */\n className: _shims.dontSetMe,\n style: _shims.dontSetMe,\n transform: _shims.dontSetMe\n});\n_defineProperty(Draggable, \"defaultProps\", {\n ..._DraggableCore.default.defaultProps,\n axis: 'both',\n bounds: false,\n defaultClassName: 'react-draggable',\n defaultClassNameDragging: 'react-draggable-dragging',\n defaultClassNameDragged: 'react-draggable-dragged',\n defaultPosition: {\n x: 0,\n y: 0\n },\n scale: 1\n});","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar React = _interopRequireWildcard(require(\"react\"));\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\nvar _reactDom = _interopRequireDefault(require(\"react-dom\"));\nvar _domFns = require(\"./utils/domFns\");\nvar _positionFns = require(\"./utils/positionFns\");\nvar _shims = require(\"./utils/shims\");\nvar _log = _interopRequireDefault(require(\"./utils/log\"));\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\nfunction _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== \"function\") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }\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; }\nfunction _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\nfunction _toPropertyKey(arg) { var key = _toPrimitive(arg, \"string\"); return typeof key === \"symbol\" ? key : String(key); }\nfunction _toPrimitive(input, hint) { if (typeof input !== \"object\" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || \"default\"); if (typeof res !== \"object\") return res; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (hint === \"string\" ? String : Number)(input); }\n/*:: import type {EventHandler, MouseTouchEvent} from './utils/types';*/\n/*:: import type {Element as ReactElement} from 'react';*/\n// Simple abstraction for dragging events names.\nconst eventsFor = {\n touch: {\n start: 'touchstart',\n move: 'touchmove',\n stop: 'touchend'\n },\n mouse: {\n start: 'mousedown',\n move: 'mousemove',\n stop: 'mouseup'\n }\n};\n\n// Default to mouse events.\nlet dragEventFor = eventsFor.mouse;\n/*:: export type DraggableData = {\n node: HTMLElement,\n x: number, y: number,\n deltaX: number, deltaY: number,\n lastX: number, lastY: number,\n};*/\n/*:: export type DraggableEventHandler = (e: MouseEvent, data: DraggableData) => void | false;*/\n/*:: export type ControlPosition = {x: number, y: number};*/\n/*:: export type PositionOffsetControlPosition = {x: number|string, y: number|string};*/\n/*:: export type DraggableCoreDefaultProps = {\n allowAnyClick: boolean,\n disabled: boolean,\n enableUserSelectHack: boolean,\n onStart: DraggableEventHandler,\n onDrag: DraggableEventHandler,\n onStop: DraggableEventHandler,\n onMouseDown: (e: MouseEvent) => void,\n scale: number,\n};*/\n/*:: export type DraggableCoreProps = {\n ...DraggableCoreDefaultProps,\n cancel: string,\n children: ReactElement,\n offsetParent: HTMLElement,\n grid: [number, number],\n handle: string,\n nodeRef?: ?React.ElementRef,\n};*/\n//\n// Define .\n//\n// is for advanced usage of . It maintains minimal internal state so it can\n// work well with libraries that require more control over the element.\n//\n\nclass DraggableCore extends React.Component /*:: */{\n constructor() {\n super(...arguments);\n _defineProperty(this, \"dragging\", false);\n // Used while dragging to determine deltas.\n _defineProperty(this, \"lastX\", NaN);\n _defineProperty(this, \"lastY\", NaN);\n _defineProperty(this, \"touchIdentifier\", null);\n _defineProperty(this, \"mounted\", false);\n _defineProperty(this, \"handleDragStart\", e => {\n // Make it possible to attach event handlers on top of this one.\n this.props.onMouseDown(e);\n\n // Only accept left-clicks.\n if (!this.props.allowAnyClick && typeof e.button === 'number' && e.button !== 0) return false;\n\n // Get nodes. Be sure to grab relative document (could be iframed)\n const thisNode = this.findDOMNode();\n if (!thisNode || !thisNode.ownerDocument || !thisNode.ownerDocument.body) {\n throw new Error(' not mounted on DragStart!');\n }\n const {\n ownerDocument\n } = thisNode;\n\n // Short circuit if handle or cancel prop was provided and selector doesn't match.\n if (this.props.disabled || !(e.target instanceof ownerDocument.defaultView.Node) || this.props.handle && !(0, _domFns.matchesSelectorAndParentsTo)(e.target, this.props.handle, thisNode) || this.props.cancel && (0, _domFns.matchesSelectorAndParentsTo)(e.target, this.props.cancel, thisNode)) {\n return;\n }\n\n // Prevent scrolling on mobile devices, like ipad/iphone.\n // Important that this is after handle/cancel.\n if (e.type === 'touchstart') e.preventDefault();\n\n // Set touch identifier in component state if this is a touch event. This allows us to\n // distinguish between individual touches on multitouch screens by identifying which\n // touchpoint was set to this element.\n const touchIdentifier = (0, _domFns.getTouchIdentifier)(e);\n this.touchIdentifier = touchIdentifier;\n\n // Get the current drag point from the event. This is used as the offset.\n const position = (0, _positionFns.getControlPosition)(e, touchIdentifier, this);\n if (position == null) return; // not possible but satisfies flow\n const {\n x,\n y\n } = position;\n\n // Create an event object with all the data parents need to make a decision here.\n const coreEvent = (0, _positionFns.createCoreData)(this, x, y);\n (0, _log.default)('DraggableCore: handleDragStart: %j', coreEvent);\n\n // Call event handler. If it returns explicit false, cancel.\n (0, _log.default)('calling', this.props.onStart);\n const shouldUpdate = this.props.onStart(e, coreEvent);\n if (shouldUpdate === false || this.mounted === false) return;\n\n // Add a style to the body to disable user-select. This prevents text from\n // being selected all over the page.\n if (this.props.enableUserSelectHack) (0, _domFns.addUserSelectStyles)(ownerDocument);\n\n // Initiate dragging. Set the current x and y as offsets\n // so we know how much we've moved during the drag. This allows us\n // to drag elements around even if they have been moved, without issue.\n this.dragging = true;\n this.lastX = x;\n this.lastY = y;\n\n // Add events to the document directly so we catch when the user's mouse/touch moves outside of\n // this element. We use different events depending on whether or not we have detected that this\n // is a touch-capable device.\n (0, _domFns.addEvent)(ownerDocument, dragEventFor.move, this.handleDrag);\n (0, _domFns.addEvent)(ownerDocument, dragEventFor.stop, this.handleDragStop);\n });\n _defineProperty(this, \"handleDrag\", e => {\n // Get the current drag point from the event. This is used as the offset.\n const position = (0, _positionFns.getControlPosition)(e, this.touchIdentifier, this);\n if (position == null) return;\n let {\n x,\n y\n } = position;\n\n // Snap to grid if prop has been provided\n if (Array.isArray(this.props.grid)) {\n let deltaX = x - this.lastX,\n deltaY = y - this.lastY;\n [deltaX, deltaY] = (0, _positionFns.snapToGrid)(this.props.grid, deltaX, deltaY);\n if (!deltaX && !deltaY) return; // skip useless drag\n x = this.lastX + deltaX, y = this.lastY + deltaY;\n }\n const coreEvent = (0, _positionFns.createCoreData)(this, x, y);\n (0, _log.default)('DraggableCore: handleDrag: %j', coreEvent);\n\n // Call event handler. If it returns explicit false, trigger end.\n const shouldUpdate = this.props.onDrag(e, coreEvent);\n if (shouldUpdate === false || this.mounted === false) {\n try {\n // $FlowIgnore\n this.handleDragStop(new MouseEvent('mouseup'));\n } catch (err) {\n // Old browsers\n const event = ((document.createEvent('MouseEvents') /*: any*/) /*: MouseTouchEvent*/);\n // I see why this insanity was deprecated\n // $FlowIgnore\n event.initMouseEvent('mouseup', true, true, window, 0, 0, 0, 0, 0, false, false, false, false, 0, null);\n this.handleDragStop(event);\n }\n return;\n }\n this.lastX = x;\n this.lastY = y;\n });\n _defineProperty(this, \"handleDragStop\", e => {\n if (!this.dragging) return;\n const position = (0, _positionFns.getControlPosition)(e, this.touchIdentifier, this);\n if (position == null) return;\n let {\n x,\n y\n } = position;\n\n // Snap to grid if prop has been provided\n if (Array.isArray(this.props.grid)) {\n let deltaX = x - this.lastX || 0;\n let deltaY = y - this.lastY || 0;\n [deltaX, deltaY] = (0, _positionFns.snapToGrid)(this.props.grid, deltaX, deltaY);\n x = this.lastX + deltaX, y = this.lastY + deltaY;\n }\n const coreEvent = (0, _positionFns.createCoreData)(this, x, y);\n\n // Call event handler\n const shouldContinue = this.props.onStop(e, coreEvent);\n if (shouldContinue === false || this.mounted === false) return false;\n const thisNode = this.findDOMNode();\n if (thisNode) {\n // Remove user-select hack\n if (this.props.enableUserSelectHack) (0, _domFns.removeUserSelectStyles)(thisNode.ownerDocument);\n }\n (0, _log.default)('DraggableCore: handleDragStop: %j', coreEvent);\n\n // Reset the el.\n this.dragging = false;\n this.lastX = NaN;\n this.lastY = NaN;\n if (thisNode) {\n // Remove event handlers\n (0, _log.default)('DraggableCore: Removing handlers');\n (0, _domFns.removeEvent)(thisNode.ownerDocument, dragEventFor.move, this.handleDrag);\n (0, _domFns.removeEvent)(thisNode.ownerDocument, dragEventFor.stop, this.handleDragStop);\n }\n });\n _defineProperty(this, \"onMouseDown\", e => {\n dragEventFor = eventsFor.mouse; // on touchscreen laptops we could switch back to mouse\n\n return this.handleDragStart(e);\n });\n _defineProperty(this, \"onMouseUp\", e => {\n dragEventFor = eventsFor.mouse;\n return this.handleDragStop(e);\n });\n // Same as onMouseDown (start drag), but now consider this a touch device.\n _defineProperty(this, \"onTouchStart\", e => {\n // We're on a touch device now, so change the event handlers\n dragEventFor = eventsFor.touch;\n return this.handleDragStart(e);\n });\n _defineProperty(this, \"onTouchEnd\", e => {\n // We're on a touch device now, so change the event handlers\n dragEventFor = eventsFor.touch;\n return this.handleDragStop(e);\n });\n }\n componentDidMount() {\n this.mounted = true;\n // Touch handlers must be added with {passive: false} to be cancelable.\n // https://developers.google.com/web/updates/2017/01/scrolling-intervention\n const thisNode = this.findDOMNode();\n if (thisNode) {\n (0, _domFns.addEvent)(thisNode, eventsFor.touch.start, this.onTouchStart, {\n passive: false\n });\n }\n }\n componentWillUnmount() {\n this.mounted = false;\n // Remove any leftover event handlers. Remove both touch and mouse handlers in case\n // some browser quirk caused a touch event to fire during a mouse move, or vice versa.\n const thisNode = this.findDOMNode();\n if (thisNode) {\n const {\n ownerDocument\n } = thisNode;\n (0, _domFns.removeEvent)(ownerDocument, eventsFor.mouse.move, this.handleDrag);\n (0, _domFns.removeEvent)(ownerDocument, eventsFor.touch.move, this.handleDrag);\n (0, _domFns.removeEvent)(ownerDocument, eventsFor.mouse.stop, this.handleDragStop);\n (0, _domFns.removeEvent)(ownerDocument, eventsFor.touch.stop, this.handleDragStop);\n (0, _domFns.removeEvent)(thisNode, eventsFor.touch.start, this.onTouchStart, {\n passive: false\n });\n if (this.props.enableUserSelectHack) (0, _domFns.removeUserSelectStyles)(ownerDocument);\n }\n }\n\n // React Strict Mode compatibility: if `nodeRef` is passed, we will use it instead of trying to find\n // the underlying DOM node ourselves. See the README for more information.\n findDOMNode() /*: ?HTMLElement*/{\n var _this$props, _this$props2;\n return (_this$props = this.props) !== null && _this$props !== void 0 && _this$props.nodeRef ? (_this$props2 = this.props) === null || _this$props2 === void 0 || (_this$props2 = _this$props2.nodeRef) === null || _this$props2 === void 0 ? void 0 : _this$props2.current : _reactDom.default.findDOMNode(this);\n }\n render() /*: React.Element*/{\n // Reuse the child provided\n // This makes it flexible to use whatever element is wanted (div, ul, etc)\n return /*#__PURE__*/React.cloneElement(React.Children.only(this.props.children), {\n // Note: mouseMove handler is attached to document so it will still function\n // when the user drags quickly and leaves the bounds of the element.\n onMouseDown: this.onMouseDown,\n onMouseUp: this.onMouseUp,\n // onTouchStart is added on `componentDidMount` so they can be added with\n // {passive: false}, which allows it to cancel. See\n // https://developers.google.com/web/updates/2017/01/scrolling-intervention\n onTouchEnd: this.onTouchEnd\n });\n }\n}\nexports.default = DraggableCore;\n_defineProperty(DraggableCore, \"displayName\", 'DraggableCore');\n_defineProperty(DraggableCore, \"propTypes\", {\n /**\n * `allowAnyClick` allows dragging using any mouse button.\n * By default, we only accept the left button.\n *\n * Defaults to `false`.\n */\n allowAnyClick: _propTypes.default.bool,\n children: _propTypes.default.node.isRequired,\n /**\n * `disabled`, if true, stops the from dragging. All handlers,\n * with the exception of `onMouseDown`, will not fire.\n */\n disabled: _propTypes.default.bool,\n /**\n * By default, we add 'user-select:none' attributes to the document body\n * to prevent ugly text selection during drag. If this is causing problems\n * for your app, set this to `false`.\n */\n enableUserSelectHack: _propTypes.default.bool,\n /**\n * `offsetParent`, if set, uses the passed DOM node to compute drag offsets\n * instead of using the parent node.\n */\n offsetParent: function (props /*: DraggableCoreProps*/, propName /*: $Keys*/) {\n if (props[propName] && props[propName].nodeType !== 1) {\n throw new Error('Draggable\\'s offsetParent must be a DOM Node.');\n }\n },\n /**\n * `grid` specifies the x and y that dragging should snap to.\n */\n grid: _propTypes.default.arrayOf(_propTypes.default.number),\n /**\n * `handle` specifies a selector to be used as the handle that initiates drag.\n *\n * Example:\n *\n * ```jsx\n * let App = React.createClass({\n * render: function () {\n * return (\n * \n *
\n *
Click me to drag
\n *
This is some other content
\n *
\n *
\n * );\n * }\n * });\n * ```\n */\n handle: _propTypes.default.string,\n /**\n * `cancel` specifies a selector to be used to prevent drag initialization.\n *\n * Example:\n *\n * ```jsx\n * let App = React.createClass({\n * render: function () {\n * return(\n * \n *
\n *
You can't drag from here
\n *
Dragging here works fine
\n *
\n *
\n * );\n * }\n * });\n * ```\n */\n cancel: _propTypes.default.string,\n /* If running in React Strict mode, ReactDOM.findDOMNode() is deprecated.\n * Unfortunately, in order for to work properly, we need raw access\n * to the underlying DOM node. If you want to avoid the warning, pass a `nodeRef`\n * as in this example:\n *\n * function MyComponent() {\n * const nodeRef = React.useRef(null);\n * return (\n * \n *
Example Target
\n *
\n * );\n * }\n *\n * This can be used for arbitrarily nested components, so long as the ref ends up\n * pointing to the actual child DOM node and not a custom component.\n */\n nodeRef: _propTypes.default.object,\n /**\n * Called when dragging starts.\n * If this function returns the boolean false, dragging will be canceled.\n */\n onStart: _propTypes.default.func,\n /**\n * Called while dragging.\n * If this function returns the boolean false, dragging will be canceled.\n */\n onDrag: _propTypes.default.func,\n /**\n * Called when dragging stops.\n * If this function returns the boolean false, the drag will remain active.\n */\n onStop: _propTypes.default.func,\n /**\n * A workaround option which can be passed if onMouseDown needs to be accessed,\n * since it'll always be blocked (as there is internal use of onMouseDown)\n */\n onMouseDown: _propTypes.default.func,\n /**\n * `scale`, if set, applies scaling while dragging an element\n */\n scale: _propTypes.default.number,\n /**\n * These properties should be defined on the child, not here.\n */\n className: _shims.dontSetMe,\n style: _shims.dontSetMe,\n transform: _shims.dontSetMe\n});\n_defineProperty(DraggableCore, \"defaultProps\", {\n allowAnyClick: false,\n // by default only accept left click\n disabled: false,\n enableUserSelectHack: true,\n onStart: function () {},\n onDrag: function () {},\n onStop: function () {},\n onMouseDown: function () {},\n scale: 1\n});","\"use strict\";\n\nconst {\n default: Draggable,\n DraggableCore\n} = require('./Draggable');\n\n// Previous versions of this lib exported as the root export. As to no-// them, or TypeScript, we export *both* as the root and as 'default'.\n// See https://github.com/mzabriskie/react-draggable/pull/254\n// and https://github.com/mzabriskie/react-draggable/issues/266\nmodule.exports = Draggable;\nmodule.exports.default = Draggable;\nmodule.exports.DraggableCore = DraggableCore;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.addClassName = addClassName;\nexports.addEvent = addEvent;\nexports.addUserSelectStyles = addUserSelectStyles;\nexports.createCSSTransform = createCSSTransform;\nexports.createSVGTransform = createSVGTransform;\nexports.getTouch = getTouch;\nexports.getTouchIdentifier = getTouchIdentifier;\nexports.getTranslation = getTranslation;\nexports.innerHeight = innerHeight;\nexports.innerWidth = innerWidth;\nexports.matchesSelector = matchesSelector;\nexports.matchesSelectorAndParentsTo = matchesSelectorAndParentsTo;\nexports.offsetXYFromParent = offsetXYFromParent;\nexports.outerHeight = outerHeight;\nexports.outerWidth = outerWidth;\nexports.removeClassName = removeClassName;\nexports.removeEvent = removeEvent;\nexports.removeUserSelectStyles = removeUserSelectStyles;\nvar _shims = require(\"./shims\");\nvar _getPrefix = _interopRequireWildcard(require(\"./getPrefix\"));\nfunction _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== \"function\") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }\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/*:: import type {ControlPosition, PositionOffsetControlPosition, MouseTouchEvent} from './types';*/\nlet matchesSelectorFunc = '';\nfunction matchesSelector(el /*: Node*/, selector /*: string*/) /*: boolean*/{\n if (!matchesSelectorFunc) {\n matchesSelectorFunc = (0, _shims.findInArray)(['matches', 'webkitMatchesSelector', 'mozMatchesSelector', 'msMatchesSelector', 'oMatchesSelector'], function (method) {\n // $FlowIgnore: Doesn't think elements are indexable\n return (0, _shims.isFunction)(el[method]);\n });\n }\n\n // Might not be found entirely (not an Element?) - in that case, bail\n // $FlowIgnore: Doesn't think elements are indexable\n if (!(0, _shims.isFunction)(el[matchesSelectorFunc])) return false;\n\n // $FlowIgnore: Doesn't think elements are indexable\n return el[matchesSelectorFunc](selector);\n}\n\n// Works up the tree to the draggable itself attempting to match selector.\nfunction matchesSelectorAndParentsTo(el /*: Node*/, selector /*: string*/, baseNode /*: Node*/) /*: boolean*/{\n let node = el;\n do {\n if (matchesSelector(node, selector)) return true;\n if (node === baseNode) return false;\n // $FlowIgnore[incompatible-type]\n node = node.parentNode;\n } while (node);\n return false;\n}\nfunction addEvent(el /*: ?Node*/, event /*: string*/, handler /*: Function*/, inputOptions /*: Object*/) /*: void*/{\n if (!el) return;\n const options = {\n capture: true,\n ...inputOptions\n };\n // $FlowIgnore[method-unbinding]\n if (el.addEventListener) {\n el.addEventListener(event, handler, options);\n } else if (el.attachEvent) {\n el.attachEvent('on' + event, handler);\n } else {\n // $FlowIgnore: Doesn't think elements are indexable\n el['on' + event] = handler;\n }\n}\nfunction removeEvent(el /*: ?Node*/, event /*: string*/, handler /*: Function*/, inputOptions /*: Object*/) /*: void*/{\n if (!el) return;\n const options = {\n capture: true,\n ...inputOptions\n };\n // $FlowIgnore[method-unbinding]\n if (el.removeEventListener) {\n el.removeEventListener(event, handler, options);\n } else if (el.detachEvent) {\n el.detachEvent('on' + event, handler);\n } else {\n // $FlowIgnore: Doesn't think elements are indexable\n el['on' + event] = null;\n }\n}\nfunction outerHeight(node /*: HTMLElement*/) /*: number*/{\n // This is deliberately excluding margin for our calculations, since we are using\n // offsetTop which is including margin. See getBoundPosition\n let height = node.clientHeight;\n const computedStyle = node.ownerDocument.defaultView.getComputedStyle(node);\n height += (0, _shims.int)(computedStyle.borderTopWidth);\n height += (0, _shims.int)(computedStyle.borderBottomWidth);\n return height;\n}\nfunction outerWidth(node /*: HTMLElement*/) /*: number*/{\n // This is deliberately excluding margin for our calculations, since we are using\n // offsetLeft which is including margin. See getBoundPosition\n let width = node.clientWidth;\n const computedStyle = node.ownerDocument.defaultView.getComputedStyle(node);\n width += (0, _shims.int)(computedStyle.borderLeftWidth);\n width += (0, _shims.int)(computedStyle.borderRightWidth);\n return width;\n}\nfunction innerHeight(node /*: HTMLElement*/) /*: number*/{\n let height = node.clientHeight;\n const computedStyle = node.ownerDocument.defaultView.getComputedStyle(node);\n height -= (0, _shims.int)(computedStyle.paddingTop);\n height -= (0, _shims.int)(computedStyle.paddingBottom);\n return height;\n}\nfunction innerWidth(node /*: HTMLElement*/) /*: number*/{\n let width = node.clientWidth;\n const computedStyle = node.ownerDocument.defaultView.getComputedStyle(node);\n width -= (0, _shims.int)(computedStyle.paddingLeft);\n width -= (0, _shims.int)(computedStyle.paddingRight);\n return width;\n}\n/*:: interface EventWithOffset {\n clientX: number, clientY: number\n}*/\n// Get from offsetParent\nfunction offsetXYFromParent(evt /*: EventWithOffset*/, offsetParent /*: HTMLElement*/, scale /*: number*/) /*: ControlPosition*/{\n const isBody = offsetParent === offsetParent.ownerDocument.body;\n const offsetParentRect = isBody ? {\n left: 0,\n top: 0\n } : offsetParent.getBoundingClientRect();\n const x = (evt.clientX + offsetParent.scrollLeft - offsetParentRect.left) / scale;\n const y = (evt.clientY + offsetParent.scrollTop - offsetParentRect.top) / scale;\n return {\n x,\n y\n };\n}\nfunction createCSSTransform(controlPos /*: ControlPosition*/, positionOffset /*: PositionOffsetControlPosition*/) /*: Object*/{\n const translation = getTranslation(controlPos, positionOffset, 'px');\n return {\n [(0, _getPrefix.browserPrefixToKey)('transform', _getPrefix.default)]: translation\n };\n}\nfunction createSVGTransform(controlPos /*: ControlPosition*/, positionOffset /*: PositionOffsetControlPosition*/) /*: string*/{\n const translation = getTranslation(controlPos, positionOffset, '');\n return translation;\n}\nfunction getTranslation(_ref /*:: */, positionOffset /*: PositionOffsetControlPosition*/, unitSuffix /*: string*/) /*: string*/{\n let {\n x,\n y\n } /*: ControlPosition*/ = _ref /*: ControlPosition*/;\n let translation = \"translate(\".concat(x).concat(unitSuffix, \",\").concat(y).concat(unitSuffix, \")\");\n if (positionOffset) {\n const defaultX = \"\".concat(typeof positionOffset.x === 'string' ? positionOffset.x : positionOffset.x + unitSuffix);\n const defaultY = \"\".concat(typeof positionOffset.y === 'string' ? positionOffset.y : positionOffset.y + unitSuffix);\n translation = \"translate(\".concat(defaultX, \", \").concat(defaultY, \")\") + translation;\n }\n return translation;\n}\nfunction getTouch(e /*: MouseTouchEvent*/, identifier /*: number*/) /*: ?{clientX: number, clientY: number}*/{\n return e.targetTouches && (0, _shims.findInArray)(e.targetTouches, t => identifier === t.identifier) || e.changedTouches && (0, _shims.findInArray)(e.changedTouches, t => identifier === t.identifier);\n}\nfunction getTouchIdentifier(e /*: MouseTouchEvent*/) /*: ?number*/{\n if (e.targetTouches && e.targetTouches[0]) return e.targetTouches[0].identifier;\n if (e.changedTouches && e.changedTouches[0]) return e.changedTouches[0].identifier;\n}\n\n// User-select Hacks:\n//\n// Useful for preventing blue highlights all over everything when dragging.\n\n// Note we're passing `document` b/c we could be iframed\nfunction addUserSelectStyles(doc /*: ?Document*/) {\n if (!doc) return;\n let styleEl = doc.getElementById('react-draggable-style-el');\n if (!styleEl) {\n styleEl = doc.createElement('style');\n styleEl.type = 'text/css';\n styleEl.id = 'react-draggable-style-el';\n styleEl.innerHTML = '.react-draggable-transparent-selection *::-moz-selection {all: inherit;}\\n';\n styleEl.innerHTML += '.react-draggable-transparent-selection *::selection {all: inherit;}\\n';\n doc.getElementsByTagName('head')[0].appendChild(styleEl);\n }\n if (doc.body) addClassName(doc.body, 'react-draggable-transparent-selection');\n}\nfunction removeUserSelectStyles(doc /*: ?Document*/) {\n if (!doc) return;\n try {\n if (doc.body) removeClassName(doc.body, 'react-draggable-transparent-selection');\n // $FlowIgnore: IE\n if (doc.selection) {\n // $FlowIgnore: IE\n doc.selection.empty();\n } else {\n // Remove selection caused by scroll, unless it's a focused input\n // (we use doc.defaultView in case we're in an iframe)\n const selection = (doc.defaultView || window).getSelection();\n if (selection && selection.type !== 'Caret') {\n selection.removeAllRanges();\n }\n }\n } catch (e) {\n // probably IE\n }\n}\nfunction addClassName(el /*: HTMLElement*/, className /*: string*/) {\n if (el.classList) {\n el.classList.add(className);\n } else {\n if (!el.className.match(new RegExp(\"(?:^|\\\\s)\".concat(className, \"(?!\\\\S)\")))) {\n el.className += \" \".concat(className);\n }\n }\n}\nfunction removeClassName(el /*: HTMLElement*/, className /*: string*/) {\n if (el.classList) {\n el.classList.remove(className);\n } else {\n el.className = el.className.replace(new RegExp(\"(?:^|\\\\s)\".concat(className, \"(?!\\\\S)\"), 'g'), '');\n }\n}","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.browserPrefixToKey = browserPrefixToKey;\nexports.browserPrefixToStyle = browserPrefixToStyle;\nexports.default = void 0;\nexports.getPrefix = getPrefix;\nconst prefixes = ['Moz', 'Webkit', 'O', 'ms'];\nfunction getPrefix() /*: string*/{\n var _window$document;\n let prop /*: string*/ = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'transform';\n // Ensure we're running in an environment where there is actually a global\n // `window` obj\n if (typeof window === 'undefined') return '';\n\n // If we're in a pseudo-browser server-side environment, this access\n // path may not exist, so bail out if it doesn't.\n const style = (_window$document = window.document) === null || _window$document === void 0 || (_window$document = _window$document.documentElement) === null || _window$document === void 0 ? void 0 : _window$document.style;\n if (!style) return '';\n if (prop in style) return '';\n for (let i = 0; i < prefixes.length; i++) {\n if (browserPrefixToKey(prop, prefixes[i]) in style) return prefixes[i];\n }\n return '';\n}\nfunction browserPrefixToKey(prop /*: string*/, prefix /*: string*/) /*: string*/{\n return prefix ? \"\".concat(prefix).concat(kebabToTitleCase(prop)) : prop;\n}\nfunction browserPrefixToStyle(prop /*: string*/, prefix /*: string*/) /*: string*/{\n return prefix ? \"-\".concat(prefix.toLowerCase(), \"-\").concat(prop) : prop;\n}\nfunction kebabToTitleCase(str /*: string*/) /*: string*/{\n let out = '';\n let shouldCapitalize = true;\n for (let i = 0; i < str.length; i++) {\n if (shouldCapitalize) {\n out += str[i].toUpperCase();\n shouldCapitalize = false;\n } else if (str[i] === '-') {\n shouldCapitalize = true;\n } else {\n out += str[i];\n }\n }\n return out;\n}\n\n// Default export is the prefix itself, like 'Moz', 'Webkit', etc\n// Note that you may have to re-test for certain things; for instance, Chrome 50\n// can handle unprefixed `transform`, but not unprefixed `user-select`\nvar _default = exports.default = (getPrefix() /*: string*/);","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = log;\n/*eslint no-console:0*/\nfunction log() {\n if (undefined) console.log(...arguments);\n}","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.canDragX = canDragX;\nexports.canDragY = canDragY;\nexports.createCoreData = createCoreData;\nexports.createDraggableData = createDraggableData;\nexports.getBoundPosition = getBoundPosition;\nexports.getControlPosition = getControlPosition;\nexports.snapToGrid = snapToGrid;\nvar _shims = require(\"./shims\");\nvar _domFns = require(\"./domFns\");\n/*:: import type Draggable from '../Draggable';*/\n/*:: import type {Bounds, ControlPosition, DraggableData, MouseTouchEvent} from './types';*/\n/*:: import type DraggableCore from '../DraggableCore';*/\nfunction getBoundPosition(draggable /*: Draggable*/, x /*: number*/, y /*: number*/) /*: [number, number]*/{\n // If no bounds, short-circuit and move on\n if (!draggable.props.bounds) return [x, y];\n\n // Clone new bounds\n let {\n bounds\n } = draggable.props;\n bounds = typeof bounds === 'string' ? bounds : cloneBounds(bounds);\n const node = findDOMNode(draggable);\n if (typeof bounds === 'string') {\n const {\n ownerDocument\n } = node;\n const ownerWindow = ownerDocument.defaultView;\n let boundNode;\n if (bounds === 'parent') {\n boundNode = node.parentNode;\n } else {\n boundNode = ownerDocument.querySelector(bounds);\n }\n if (!(boundNode instanceof ownerWindow.HTMLElement)) {\n throw new Error('Bounds selector \"' + bounds + '\" could not find an element.');\n }\n const boundNodeEl /*: HTMLElement*/ = boundNode; // for Flow, can't seem to refine correctly\n const nodeStyle = ownerWindow.getComputedStyle(node);\n const boundNodeStyle = ownerWindow.getComputedStyle(boundNodeEl);\n // Compute bounds. This is a pain with padding and offsets but this gets it exactly right.\n bounds = {\n left: -node.offsetLeft + (0, _shims.int)(boundNodeStyle.paddingLeft) + (0, _shims.int)(nodeStyle.marginLeft),\n top: -node.offsetTop + (0, _shims.int)(boundNodeStyle.paddingTop) + (0, _shims.int)(nodeStyle.marginTop),\n right: (0, _domFns.innerWidth)(boundNodeEl) - (0, _domFns.outerWidth)(node) - node.offsetLeft + (0, _shims.int)(boundNodeStyle.paddingRight) - (0, _shims.int)(nodeStyle.marginRight),\n bottom: (0, _domFns.innerHeight)(boundNodeEl) - (0, _domFns.outerHeight)(node) - node.offsetTop + (0, _shims.int)(boundNodeStyle.paddingBottom) - (0, _shims.int)(nodeStyle.marginBottom)\n };\n }\n\n // Keep x and y below right and bottom limits...\n if ((0, _shims.isNum)(bounds.right)) x = Math.min(x, bounds.right);\n if ((0, _shims.isNum)(bounds.bottom)) y = Math.min(y, bounds.bottom);\n\n // But above left and top limits.\n if ((0, _shims.isNum)(bounds.left)) x = Math.max(x, bounds.left);\n if ((0, _shims.isNum)(bounds.top)) y = Math.max(y, bounds.top);\n return [x, y];\n}\nfunction snapToGrid(grid /*: [number, number]*/, pendingX /*: number*/, pendingY /*: number*/) /*: [number, number]*/{\n const x = Math.round(pendingX / grid[0]) * grid[0];\n const y = Math.round(pendingY / grid[1]) * grid[1];\n return [x, y];\n}\nfunction canDragX(draggable /*: Draggable*/) /*: boolean*/{\n return draggable.props.axis === 'both' || draggable.props.axis === 'x';\n}\nfunction canDragY(draggable /*: Draggable*/) /*: boolean*/{\n return draggable.props.axis === 'both' || draggable.props.axis === 'y';\n}\n\n// Get {x, y} positions from event.\nfunction getControlPosition(e /*: MouseTouchEvent*/, touchIdentifier /*: ?number*/, draggableCore /*: DraggableCore*/) /*: ?ControlPosition*/{\n const touchObj = typeof touchIdentifier === 'number' ? (0, _domFns.getTouch)(e, touchIdentifier) : null;\n if (typeof touchIdentifier === 'number' && !touchObj) return null; // not the right touch\n const node = findDOMNode(draggableCore);\n // User can provide an offsetParent if desired.\n const offsetParent = draggableCore.props.offsetParent || node.offsetParent || node.ownerDocument.body;\n return (0, _domFns.offsetXYFromParent)(touchObj || e, offsetParent, draggableCore.props.scale);\n}\n\n// Create an data object exposed by 's events\nfunction createCoreData(draggable /*: DraggableCore*/, x /*: number*/, y /*: number*/) /*: DraggableData*/{\n const isStart = !(0, _shims.isNum)(draggable.lastX);\n const node = findDOMNode(draggable);\n if (isStart) {\n // If this is our first move, use the x and y as last coords.\n return {\n node,\n deltaX: 0,\n deltaY: 0,\n lastX: x,\n lastY: y,\n x,\n y\n };\n } else {\n // Otherwise calculate proper values.\n return {\n node,\n deltaX: x - draggable.lastX,\n deltaY: y - draggable.lastY,\n lastX: draggable.lastX,\n lastY: draggable.lastY,\n x,\n y\n };\n }\n}\n\n// Create an data exposed by 's events\nfunction createDraggableData(draggable /*: Draggable*/, coreData /*: DraggableData*/) /*: DraggableData*/{\n const scale = draggable.props.scale;\n return {\n node: coreData.node,\n x: draggable.state.x + coreData.deltaX / scale,\n y: draggable.state.y + coreData.deltaY / scale,\n deltaX: coreData.deltaX / scale,\n deltaY: coreData.deltaY / scale,\n lastX: draggable.state.x,\n lastY: draggable.state.y\n };\n}\n\n// A lot faster than stringify/parse\nfunction cloneBounds(bounds /*: Bounds*/) /*: Bounds*/{\n return {\n left: bounds.left,\n top: bounds.top,\n right: bounds.right,\n bottom: bounds.bottom\n };\n}\nfunction findDOMNode(draggable /*: Draggable | DraggableCore*/) /*: HTMLElement*/{\n const node = draggable.findDOMNode();\n if (!node) {\n throw new Error(': Unmounted during event!');\n }\n // $FlowIgnore we can't assert on HTMLElement due to tests... FIXME\n return node;\n}","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.dontSetMe = dontSetMe;\nexports.findInArray = findInArray;\nexports.int = int;\nexports.isFunction = isFunction;\nexports.isNum = isNum;\n// @credits https://gist.github.com/rogozhnikoff/a43cfed27c41e4e68cdc\nfunction findInArray(array /*: Array | TouchList*/, callback /*: Function*/) /*: any*/{\n for (let i = 0, length = array.length; i < length; i++) {\n if (callback.apply(callback, [array[i], i, array])) return array[i];\n }\n}\nfunction isFunction(func /*: any*/) /*: boolean %checks*/{\n // $FlowIgnore[method-unbinding]\n return typeof func === 'function' || Object.prototype.toString.call(func) === '[object Function]';\n}\nfunction isNum(num /*: any*/) /*: boolean %checks*/{\n return typeof num === 'number' && !isNaN(num);\n}\nfunction int(a /*: string*/) /*: number*/{\n return parseInt(a, 10);\n}\nfunction dontSetMe(props /*: Object*/, propName /*: string*/, componentName /*: string*/) /*: ?Error*/{\n if (props[propName]) {\n return new Error(\"Invalid prop \".concat(propName, \" passed to \").concat(componentName, \" - do not set this, set it on the child.\"));\n }\n}","function r(e){var t,f,n=\"\";if(\"string\"==typeof e||\"number\"==typeof e)n+=e;else if(\"object\"==typeof e)if(Array.isArray(e))for(t=0;t = (\n i: string,\n w: number,\n h: number,\n Data\n) => void;*/\n/*:: type ResizeCallbackData = {\n node: HTMLElement,\n size: Position,\n handle: ResizeHandleAxis\n};*/\n/*:: type GridItemResizeCallback = (\n e: Event,\n data: ResizeCallbackData,\n position: Position\n) => void;*/\n/*:: type State = {\n resizing: ?{ top: number, left: number, width: number, height: number },\n dragging: ?{ top: number, left: number },\n className: string\n};*/\n/*:: type Props = {\n children: ReactElement,\n cols: number,\n containerWidth: number,\n margin: [number, number],\n containerPadding: [number, number],\n rowHeight: number,\n maxRows: number,\n isDraggable: boolean,\n isResizable: boolean,\n isBounded: boolean,\n static?: boolean,\n useCSSTransforms?: boolean,\n usePercentages?: boolean,\n transformScale: number,\n droppingPosition?: DroppingPosition,\n\n className: string,\n style?: Object,\n // Draggability\n cancel: string,\n handle: string,\n\n x: number,\n y: number,\n w: number,\n h: number,\n\n minW: number,\n maxW: number,\n minH: number,\n maxH: number,\n i: string,\n\n resizeHandles?: ResizeHandleAxis[],\n resizeHandle?: ResizeHandle,\n\n onDrag?: GridItemCallback,\n onDragStart?: GridItemCallback,\n onDragStop?: GridItemCallback,\n onResize?: GridItemCallback,\n onResizeStart?: GridItemCallback,\n onResizeStop?: GridItemCallback\n};*/\n/*:: type DefaultProps = {\n className: string,\n cancel: string,\n handle: string,\n minH: number,\n minW: number,\n maxH: number,\n maxW: number,\n transformScale: number\n};*/\n/**\n * An individual item within a ReactGridLayout.\n */\nclass GridItem extends _react.default.Component /*:: */{\n constructor() {\n super(...arguments);\n _defineProperty(this, \"state\", {\n resizing: null,\n dragging: null,\n className: \"\"\n });\n _defineProperty(this, \"elementRef\", /*#__PURE__*/_react.default.createRef());\n /**\n * onDragStart event handler\n * @param {Event} e event data\n * @param {Object} callbackData an object with node, delta and position information\n */\n _defineProperty(this, \"onDragStart\", (e, _ref) => {\n let {\n node\n } = _ref;\n const {\n onDragStart,\n transformScale\n } = this.props;\n if (!onDragStart) return;\n const newPosition /*: PartialPosition*/ = {\n top: 0,\n left: 0\n };\n\n // TODO: this wont work on nested parents\n const {\n offsetParent\n } = node;\n if (!offsetParent) return;\n const parentRect = offsetParent.getBoundingClientRect();\n const clientRect = node.getBoundingClientRect();\n const cLeft = clientRect.left / transformScale;\n const pLeft = parentRect.left / transformScale;\n const cTop = clientRect.top / transformScale;\n const pTop = parentRect.top / transformScale;\n newPosition.left = cLeft - pLeft + offsetParent.scrollLeft;\n newPosition.top = cTop - pTop + offsetParent.scrollTop;\n this.setState({\n dragging: newPosition\n });\n\n // Call callback with this data\n const {\n x,\n y\n } = (0, _calculateUtils.calcXY)(this.getPositionParams(), newPosition.top, newPosition.left, this.props.w, this.props.h);\n return onDragStart.call(this, this.props.i, x, y, {\n e,\n node,\n newPosition\n });\n });\n /**\n * onDrag event handler\n * @param {Event} e event data\n * @param {Object} callbackData an object with node, delta and position information\n */\n _defineProperty(this, \"onDrag\", (e, _ref2) => {\n let {\n node,\n deltaX,\n deltaY\n } = _ref2;\n const {\n onDrag\n } = this.props;\n if (!onDrag) return;\n if (!this.state.dragging) {\n throw new Error(\"onDrag called before onDragStart.\");\n }\n let top = this.state.dragging.top + deltaY;\n let left = this.state.dragging.left + deltaX;\n const {\n isBounded,\n i,\n w,\n h,\n containerWidth\n } = this.props;\n const positionParams = this.getPositionParams();\n\n // Boundary calculations; keeps items within the grid\n if (isBounded) {\n const {\n offsetParent\n } = node;\n if (offsetParent) {\n const {\n margin,\n rowHeight,\n containerPadding\n } = this.props;\n const bottomBoundary = offsetParent.clientHeight - (0, _calculateUtils.calcGridItemWHPx)(h, rowHeight, margin[1]);\n top = (0, _calculateUtils.clamp)(top - containerPadding[1], 0, bottomBoundary);\n const colWidth = (0, _calculateUtils.calcGridColWidth)(positionParams);\n const rightBoundary = containerWidth - (0, _calculateUtils.calcGridItemWHPx)(w, colWidth, margin[0]);\n left = (0, _calculateUtils.clamp)(left - containerPadding[0], 0, rightBoundary);\n }\n }\n const newPosition /*: PartialPosition*/ = {\n top,\n left\n };\n this.setState({\n dragging: newPosition\n });\n\n // Call callback with this data\n const {\n containerPadding\n } = this.props;\n const {\n x,\n y\n } = (0, _calculateUtils.calcXY)(positionParams, top - containerPadding[1], left - containerPadding[0], w, h);\n return onDrag.call(this, i, x, y, {\n e,\n node,\n newPosition\n });\n });\n /**\n * onDragStop event handler\n * @param {Event} e event data\n * @param {Object} callbackData an object with node, delta and position information\n */\n _defineProperty(this, \"onDragStop\", (e, _ref3) => {\n let {\n node\n } = _ref3;\n const {\n onDragStop\n } = this.props;\n if (!onDragStop) return;\n if (!this.state.dragging) {\n throw new Error(\"onDragEnd called before onDragStart.\");\n }\n const {\n w,\n h,\n i,\n containerPadding\n } = this.props;\n const {\n left,\n top\n } = this.state.dragging;\n const newPosition /*: PartialPosition*/ = {\n top,\n left\n };\n this.setState({\n dragging: null\n });\n const {\n x,\n y\n } = (0, _calculateUtils.calcXY)(this.getPositionParams(), top - containerPadding[1], left - containerPadding[0], w, h);\n return onDragStop.call(this, i, x, y, {\n e,\n node,\n newPosition\n });\n });\n /**\n * onResizeStop event handler\n * @param {Event} e event data\n * @param {Object} callbackData an object with node and size information\n */\n _defineProperty(this, \"onResizeStop\", (e, callbackData, position) => this.onResizeHandler(e, callbackData, position, \"onResizeStop\"));\n // onResizeStart event handler\n _defineProperty(this, \"onResizeStart\", (e, callbackData, position) => this.onResizeHandler(e, callbackData, position, \"onResizeStart\"));\n // onResize event handler\n _defineProperty(this, \"onResize\", (e, callbackData, position) => this.onResizeHandler(e, callbackData, position, \"onResize\"));\n }\n shouldComponentUpdate(nextProps /*: Props*/, nextState /*: State*/) /*: boolean*/{\n // We can't deeply compare children. If the developer memoizes them, we can\n // use this optimization.\n if (this.props.children !== nextProps.children) return true;\n if (this.props.droppingPosition !== nextProps.droppingPosition) return true;\n // TODO memoize these calculations so they don't take so long?\n const oldPosition = (0, _calculateUtils.calcGridItemPosition)(this.getPositionParams(this.props), this.props.x, this.props.y, this.props.w, this.props.h, this.state);\n const newPosition = (0, _calculateUtils.calcGridItemPosition)(this.getPositionParams(nextProps), nextProps.x, nextProps.y, nextProps.w, nextProps.h, nextState);\n return !(0, _utils.fastPositionEqual)(oldPosition, newPosition) || this.props.useCSSTransforms !== nextProps.useCSSTransforms;\n }\n componentDidMount() {\n this.moveDroppingItem({});\n }\n componentDidUpdate(prevProps /*: Props*/) {\n this.moveDroppingItem(prevProps);\n }\n\n // When a droppingPosition is present, this means we should fire a move event, as if we had moved\n // this element by `x, y` pixels.\n moveDroppingItem(prevProps /*: Props*/) {\n const {\n droppingPosition\n } = this.props;\n if (!droppingPosition) return;\n const node = this.elementRef.current;\n // Can't find DOM node (are we unmounted?)\n if (!node) return;\n const prevDroppingPosition = prevProps.droppingPosition || {\n left: 0,\n top: 0\n };\n const {\n dragging\n } = this.state;\n const shouldDrag = dragging && droppingPosition.left !== prevDroppingPosition.left || droppingPosition.top !== prevDroppingPosition.top;\n if (!dragging) {\n this.onDragStart(droppingPosition.e, {\n node,\n deltaX: droppingPosition.left,\n deltaY: droppingPosition.top\n });\n } else if (shouldDrag) {\n const deltaX = droppingPosition.left - dragging.left;\n const deltaY = droppingPosition.top - dragging.top;\n this.onDrag(droppingPosition.e, {\n node,\n deltaX,\n deltaY\n });\n }\n }\n getPositionParams() /*: PositionParams*/{\n let props /*: Props*/ = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : this.props;\n return {\n cols: props.cols,\n containerPadding: props.containerPadding,\n containerWidth: props.containerWidth,\n margin: props.margin,\n maxRows: props.maxRows,\n rowHeight: props.rowHeight\n };\n }\n\n /**\n * This is where we set the grid item's absolute placement. It gets a little tricky because we want to do it\n * well when server rendering, and the only way to do that properly is to use percentage width/left because\n * we don't know exactly what the browser viewport is.\n * Unfortunately, CSS Transforms, which are great for performance, break in this instance because a percentage\n * left is relative to the item itself, not its container! So we cannot use them on the server rendering pass.\n *\n * @param {Object} pos Position object with width, height, left, top.\n * @return {Object} Style object.\n */\n createStyle(pos /*: Position*/) /*: { [key: string]: ?string }*/{\n const {\n usePercentages,\n containerWidth,\n useCSSTransforms\n } = this.props;\n let style;\n // CSS Transforms support (default)\n if (useCSSTransforms) {\n style = (0, _utils.setTransform)(pos);\n } else {\n // top,left (slow)\n style = (0, _utils.setTopLeft)(pos);\n\n // This is used for server rendering.\n if (usePercentages) {\n style.left = (0, _utils.perc)(pos.left / containerWidth);\n style.width = (0, _utils.perc)(pos.width / containerWidth);\n }\n }\n return style;\n }\n\n /**\n * Mix a Draggable instance into a child.\n * @param {Element} child Child element.\n * @return {Element} Child wrapped in Draggable.\n */\n mixinDraggable(child /*: ReactElement*/, isDraggable /*: boolean*/) /*: ReactElement*/{\n return /*#__PURE__*/_react.default.createElement(_reactDraggable.DraggableCore, {\n disabled: !isDraggable,\n onStart: this.onDragStart,\n onDrag: this.onDrag,\n onStop: this.onDragStop,\n handle: this.props.handle,\n cancel: \".react-resizable-handle\" + (this.props.cancel ? \",\" + this.props.cancel : \"\"),\n scale: this.props.transformScale,\n nodeRef: this.elementRef\n }, child);\n }\n\n /**\n * Utility function to setup callback handler definitions for\n * similarily structured resize events.\n */\n curryResizeHandler(position /*: Position*/, handler /*: Function*/) /*: Function*/{\n return (e /*: Event*/, data /*: ResizeCallbackData*/) => /*: Function*/handler(e, data, position);\n }\n\n /**\n * Mix a Resizable instance into a child.\n * @param {Element} child Child element.\n * @param {Object} position Position object (pixel values)\n * @return {Element} Child wrapped in Resizable.\n */\n mixinResizable(child /*: ReactElement*/, position /*: Position*/, isResizable /*: boolean*/) /*: ReactElement*/{\n const {\n cols,\n minW,\n minH,\n maxW,\n maxH,\n transformScale,\n resizeHandles,\n resizeHandle\n } = this.props;\n const positionParams = this.getPositionParams();\n\n // This is the max possible width - doesn't go to infinity because of the width of the window\n const maxWidth = (0, _calculateUtils.calcGridItemPosition)(positionParams, 0, 0, cols, 0).width;\n\n // Calculate min/max constraints using our min & maxes\n const mins = (0, _calculateUtils.calcGridItemPosition)(positionParams, 0, 0, minW, minH);\n const maxes = (0, _calculateUtils.calcGridItemPosition)(positionParams, 0, 0, maxW, maxH);\n const minConstraints = [mins.width, mins.height];\n const maxConstraints = [Math.min(maxes.width, maxWidth), Math.min(maxes.height, Infinity)];\n return /*#__PURE__*/_react.default.createElement(_reactResizable.Resizable\n // These are opts for the resize handle itself\n , {\n draggableOpts: {\n disabled: !isResizable\n },\n className: isResizable ? undefined : \"react-resizable-hide\",\n width: position.width,\n height: position.height,\n minConstraints: minConstraints,\n maxConstraints: maxConstraints,\n onResizeStop: this.curryResizeHandler(position, this.onResizeStop),\n onResizeStart: this.curryResizeHandler(position, this.onResizeStart),\n onResize: this.curryResizeHandler(position, this.onResize),\n transformScale: transformScale,\n resizeHandles: resizeHandles,\n handle: resizeHandle\n }, child);\n }\n /**\n * Wrapper around resize events to provide more useful data.\n */\n onResizeHandler(e /*: Event*/, _ref4 /*:: */,\n // 'size' is updated position\n position /*: Position*/,\n // existing position\n handlerName /*: string*/) /*: void*/{\n let {\n node,\n size,\n handle\n } /*: ResizeCallbackData*/ = _ref4 /*: ResizeCallbackData*/;\n const handler = this.props[handlerName];\n if (!handler) return;\n const {\n x,\n y,\n i,\n maxH,\n minH,\n containerWidth\n } = this.props;\n const {\n minW,\n maxW\n } = this.props;\n\n // Clamping of dimensions based on resize direction\n let updatedSize = size;\n if (node) {\n updatedSize = (0, _utils.resizeItemInDirection)(handle, position, size, containerWidth);\n this.setState({\n resizing: handlerName === \"onResizeStop\" ? null : updatedSize\n });\n }\n\n // Get new XY based on pixel size\n let {\n w,\n h\n } = (0, _calculateUtils.calcWH)(this.getPositionParams(), updatedSize.width, updatedSize.height, x, y, handle);\n\n // Min/max capping.\n // minW should be at least 1 (TODO propTypes validation?)\n w = (0, _calculateUtils.clamp)(w, Math.max(minW, 1), maxW);\n h = (0, _calculateUtils.clamp)(h, minH, maxH);\n handler.call(this, i, w, h, {\n e,\n node,\n size: updatedSize,\n handle\n });\n }\n render() /*: ReactNode*/{\n const {\n x,\n y,\n w,\n h,\n isDraggable,\n isResizable,\n droppingPosition,\n useCSSTransforms\n } = this.props;\n const pos = (0, _calculateUtils.calcGridItemPosition)(this.getPositionParams(), x, y, w, h, this.state);\n const child = _react.default.Children.only(this.props.children);\n\n // Create the child element. We clone the existing element but modify its className and style.\n let newChild = /*#__PURE__*/_react.default.cloneElement(child, {\n ref: this.elementRef,\n className: (0, _clsx.default)(\"react-grid-item\", child.props.className, this.props.className, {\n static: this.props.static,\n resizing: Boolean(this.state.resizing),\n \"react-draggable\": isDraggable,\n \"react-draggable-dragging\": Boolean(this.state.dragging),\n dropping: Boolean(droppingPosition),\n cssTransforms: useCSSTransforms\n }),\n // We can set the width and height on the child, but unfortunately we can't set the position.\n style: {\n ...this.props.style,\n ...child.props.style,\n ...this.createStyle(pos)\n }\n });\n\n // Resizable support. This is usually on but the user can toggle it off.\n newChild = this.mixinResizable(newChild, pos, isResizable);\n\n // Draggable support. This is always on, except for with placeholders.\n newChild = this.mixinDraggable(newChild, isDraggable);\n return newChild;\n }\n}\nexports.default = GridItem;\n_defineProperty(GridItem, \"propTypes\", {\n // Children must be only a single element\n children: _propTypes.default.element,\n // General grid attributes\n cols: _propTypes.default.number.isRequired,\n containerWidth: _propTypes.default.number.isRequired,\n rowHeight: _propTypes.default.number.isRequired,\n margin: _propTypes.default.array.isRequired,\n maxRows: _propTypes.default.number.isRequired,\n containerPadding: _propTypes.default.array.isRequired,\n // These are all in grid units\n x: _propTypes.default.number.isRequired,\n y: _propTypes.default.number.isRequired,\n w: _propTypes.default.number.isRequired,\n h: _propTypes.default.number.isRequired,\n // All optional\n minW: function (props /*: Props*/, propName /*: string*/) {\n const value = props[propName];\n if (typeof value !== \"number\") return new Error(\"minWidth not Number\");\n if (value > props.w || value > props.maxW) return new Error(\"minWidth larger than item width/maxWidth\");\n },\n maxW: function (props /*: Props*/, propName /*: string*/) {\n const value = props[propName];\n if (typeof value !== \"number\") return new Error(\"maxWidth not Number\");\n if (value < props.w || value < props.minW) return new Error(\"maxWidth smaller than item width/minWidth\");\n },\n minH: function (props /*: Props*/, propName /*: string*/) {\n const value = props[propName];\n if (typeof value !== \"number\") return new Error(\"minHeight not Number\");\n if (value > props.h || value > props.maxH) return new Error(\"minHeight larger than item height/maxHeight\");\n },\n maxH: function (props /*: Props*/, propName /*: string*/) {\n const value = props[propName];\n if (typeof value !== \"number\") return new Error(\"maxHeight not Number\");\n if (value < props.h || value < props.minH) return new Error(\"maxHeight smaller than item height/minHeight\");\n },\n // ID is nice to have for callbacks\n i: _propTypes.default.string.isRequired,\n // Resize handle options\n resizeHandles: _ReactGridLayoutPropTypes.resizeHandleAxesType,\n resizeHandle: _ReactGridLayoutPropTypes.resizeHandleType,\n // Functions\n onDragStop: _propTypes.default.func,\n onDragStart: _propTypes.default.func,\n onDrag: _propTypes.default.func,\n onResizeStop: _propTypes.default.func,\n onResizeStart: _propTypes.default.func,\n onResize: _propTypes.default.func,\n // Flags\n isDraggable: _propTypes.default.bool.isRequired,\n isResizable: _propTypes.default.bool.isRequired,\n isBounded: _propTypes.default.bool.isRequired,\n static: _propTypes.default.bool,\n // Use CSS transforms instead of top/left\n useCSSTransforms: _propTypes.default.bool.isRequired,\n transformScale: _propTypes.default.number,\n // Others\n className: _propTypes.default.string,\n // Selector for draggable handle\n handle: _propTypes.default.string,\n // Selector for draggable cancel (see react-draggable)\n cancel: _propTypes.default.string,\n // Current position of a dropping element\n droppingPosition: _propTypes.default.shape({\n e: _propTypes.default.object.isRequired,\n left: _propTypes.default.number.isRequired,\n top: _propTypes.default.number.isRequired\n })\n});\n_defineProperty(GridItem, \"defaultProps\", {\n className: \"\",\n cancel: \"\",\n handle: \"\",\n minH: 1,\n minW: 1,\n maxH: Infinity,\n maxW: Infinity,\n transformScale: 1\n});","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar React = _interopRequireWildcard(require(\"react\"));\nvar _fastEquals = require(\"fast-equals\");\nvar _clsx = _interopRequireDefault(require(\"clsx\"));\nvar _utils = require(\"./utils\");\nvar _calculateUtils = require(\"./calculateUtils\");\nvar _GridItem = _interopRequireDefault(require(\"./GridItem\"));\nvar _ReactGridLayoutPropTypes = _interopRequireDefault(require(\"./ReactGridLayoutPropTypes\"));\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\nfunction _getRequireWildcardCache(e) { if (\"function\" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }\nfunction _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || \"object\" != typeof e && \"function\" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if (\"default\" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }\nfunction _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\nfunction _toPropertyKey(arg) { var key = _toPrimitive(arg, \"string\"); return typeof key === \"symbol\" ? key : String(key); }\nfunction _toPrimitive(input, hint) { if (typeof input !== \"object\" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || \"default\"); if (typeof res !== \"object\") return res; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (hint === \"string\" ? String : Number)(input); }\n/*:: import type {\n ChildrenArray as ReactChildrenArray,\n Element as ReactElement\n} from \"react\";*/\n/*:: import type {\n CompactType,\n GridResizeEvent,\n GridDragEvent,\n DragOverEvent,\n Layout,\n DroppingPosition,\n LayoutItem\n} from \"./utils\";*/\n// Types\n/*:: import type { PositionParams } from \"./calculateUtils\";*/\n/*:: type State = {\n activeDrag: ?LayoutItem,\n layout: Layout,\n mounted: boolean,\n oldDragItem: ?LayoutItem,\n oldLayout: ?Layout,\n oldResizeItem: ?LayoutItem,\n resizing: boolean,\n droppingDOMNode: ?ReactElement,\n droppingPosition?: DroppingPosition,\n // Mirrored props\n children: ReactChildrenArray>,\n compactType?: CompactType,\n propsLayout?: Layout\n};*/\n/*:: import type { Props, DefaultProps } from \"./ReactGridLayoutPropTypes\";*/\n// End Types\nconst layoutClassName = \"react-grid-layout\";\nlet isFirefox = false;\n// Try...catch will protect from navigator not existing (e.g. node) or a bad implementation of navigator\ntry {\n isFirefox = /firefox/i.test(navigator.userAgent);\n} catch (e) {\n /* Ignore */\n}\n\n/**\n * A reactive, fluid grid layout with draggable, resizable components.\n */\n\nclass ReactGridLayout extends React.Component /*:: */{\n constructor() {\n super(...arguments);\n _defineProperty(this, \"state\", {\n activeDrag: null,\n layout: (0, _utils.synchronizeLayoutWithChildren)(this.props.layout, this.props.children, this.props.cols,\n // Legacy support for verticalCompact: false\n (0, _utils.compactType)(this.props), this.props.allowOverlap),\n mounted: false,\n oldDragItem: null,\n oldLayout: null,\n oldResizeItem: null,\n resizing: false,\n droppingDOMNode: null,\n children: []\n });\n _defineProperty(this, \"dragEnterCounter\", 0);\n /**\n * When dragging starts\n * @param {String} i Id of the child\n * @param {Number} x X position of the move\n * @param {Number} y Y position of the move\n * @param {Event} e The mousedown event\n * @param {Element} node The current dragging DOM element\n */\n _defineProperty(this, \"onDragStart\", (i /*: string*/, x /*: number*/, y /*: number*/, _ref /*:: */) => {\n let {\n e,\n node\n } /*: GridDragEvent*/ = _ref /*: GridDragEvent*/;\n const {\n layout\n } = this.state;\n const l = (0, _utils.getLayoutItem)(layout, i);\n if (!l) return;\n\n // Create placeholder (display only)\n const placeholder = {\n w: l.w,\n h: l.h,\n x: l.x,\n y: l.y,\n placeholder: true,\n i: i\n };\n this.setState({\n oldDragItem: (0, _utils.cloneLayoutItem)(l),\n oldLayout: layout,\n activeDrag: placeholder\n });\n return this.props.onDragStart(layout, l, l, null, e, node);\n });\n /**\n * Each drag movement create a new dragelement and move the element to the dragged location\n * @param {String} i Id of the child\n * @param {Number} x X position of the move\n * @param {Number} y Y position of the move\n * @param {Event} e The mousedown event\n * @param {Element} node The current dragging DOM element\n */\n _defineProperty(this, \"onDrag\", (i, x, y, _ref2) => {\n let {\n e,\n node\n } = _ref2;\n const {\n oldDragItem\n } = this.state;\n let {\n layout\n } = this.state;\n const {\n cols,\n allowOverlap,\n preventCollision\n } = this.props;\n const l = (0, _utils.getLayoutItem)(layout, i);\n if (!l) return;\n\n // Create placeholder (display only)\n const placeholder = {\n w: l.w,\n h: l.h,\n x: l.x,\n y: l.y,\n placeholder: true,\n i: i\n };\n\n // Move the element to the dragged location.\n const isUserAction = true;\n layout = (0, _utils.moveElement)(layout, l, x, y, isUserAction, preventCollision, (0, _utils.compactType)(this.props), cols, allowOverlap);\n this.props.onDrag(layout, oldDragItem, l, placeholder, e, node);\n this.setState({\n layout: allowOverlap ? layout : (0, _utils.compact)(layout, (0, _utils.compactType)(this.props), cols),\n activeDrag: placeholder\n });\n });\n /**\n * When dragging stops, figure out which position the element is closest to and update its x and y.\n * @param {String} i Index of the child.\n * @param {Number} x X position of the move\n * @param {Number} y Y position of the move\n * @param {Event} e The mousedown event\n * @param {Element} node The current dragging DOM element\n */\n _defineProperty(this, \"onDragStop\", (i, x, y, _ref3) => {\n let {\n e,\n node\n } = _ref3;\n if (!this.state.activeDrag) return;\n const {\n oldDragItem\n } = this.state;\n let {\n layout\n } = this.state;\n const {\n cols,\n preventCollision,\n allowOverlap\n } = this.props;\n const l = (0, _utils.getLayoutItem)(layout, i);\n if (!l) return;\n\n // Move the element here\n const isUserAction = true;\n layout = (0, _utils.moveElement)(layout, l, x, y, isUserAction, preventCollision, (0, _utils.compactType)(this.props), cols, allowOverlap);\n\n // Set state\n const newLayout = allowOverlap ? layout : (0, _utils.compact)(layout, (0, _utils.compactType)(this.props), cols);\n this.props.onDragStop(newLayout, oldDragItem, l, null, e, node);\n const {\n oldLayout\n } = this.state;\n this.setState({\n activeDrag: null,\n layout: newLayout,\n oldDragItem: null,\n oldLayout: null\n });\n this.onLayoutMaybeChanged(newLayout, oldLayout);\n });\n _defineProperty(this, \"onResizeStart\", (i, w, h, _ref4) => {\n let {\n e,\n node\n } = _ref4;\n const {\n layout\n } = this.state;\n const l = (0, _utils.getLayoutItem)(layout, i);\n if (!l) return;\n this.setState({\n oldResizeItem: (0, _utils.cloneLayoutItem)(l),\n oldLayout: this.state.layout,\n resizing: true\n });\n this.props.onResizeStart(layout, l, l, null, e, node);\n });\n _defineProperty(this, \"onResize\", (i, w, h, _ref5) => {\n let {\n e,\n node,\n size,\n handle\n } = _ref5;\n const {\n oldResizeItem\n } = this.state;\n const {\n layout\n } = this.state;\n const {\n cols,\n preventCollision,\n allowOverlap\n } = this.props;\n let shouldMoveItem = false;\n let finalLayout;\n let x;\n let y;\n const [newLayout, l] = (0, _utils.withLayoutItem)(layout, i, l => {\n let hasCollisions;\n x = l.x;\n y = l.y;\n if ([\"sw\", \"w\", \"nw\", \"n\", \"ne\"].indexOf(handle) !== -1) {\n if ([\"sw\", \"nw\", \"w\"].indexOf(handle) !== -1) {\n x = l.x + (l.w - w);\n w = l.x !== x && x < 0 ? l.w : w;\n x = x < 0 ? 0 : x;\n }\n if ([\"ne\", \"n\", \"nw\"].indexOf(handle) !== -1) {\n y = l.y + (l.h - h);\n h = l.y !== y && y < 0 ? l.h : h;\n y = y < 0 ? 0 : y;\n }\n shouldMoveItem = true;\n }\n\n // Something like quad tree should be used\n // to find collisions faster\n if (preventCollision && !allowOverlap) {\n const collisions = (0, _utils.getAllCollisions)(layout, {\n ...l,\n w,\n h,\n x,\n y\n }).filter(layoutItem => layoutItem.i !== l.i);\n hasCollisions = collisions.length > 0;\n\n // If we're colliding, we need adjust the placeholder.\n if (hasCollisions) {\n // Reset layoutItem dimensions if there were collisions\n y = l.y;\n h = l.h;\n x = l.x;\n w = l.w;\n shouldMoveItem = false;\n }\n }\n l.w = w;\n l.h = h;\n return l;\n });\n\n // Shouldn't ever happen, but typechecking makes it necessary\n if (!l) return;\n finalLayout = newLayout;\n if (shouldMoveItem) {\n // Move the element to the new position.\n const isUserAction = true;\n finalLayout = (0, _utils.moveElement)(newLayout, l, x, y, isUserAction, this.props.preventCollision, (0, _utils.compactType)(this.props), cols, allowOverlap);\n }\n\n // Create placeholder element (display only)\n const placeholder = {\n w: l.w,\n h: l.h,\n x: l.x,\n y: l.y,\n static: true,\n i: i\n };\n this.props.onResize(finalLayout, oldResizeItem, l, placeholder, e, node);\n\n // Re-compact the newLayout and set the drag placeholder.\n this.setState({\n layout: allowOverlap ? finalLayout : (0, _utils.compact)(finalLayout, (0, _utils.compactType)(this.props), cols),\n activeDrag: placeholder\n });\n });\n _defineProperty(this, \"onResizeStop\", (i, w, h, _ref6) => {\n let {\n e,\n node\n } = _ref6;\n const {\n layout,\n oldResizeItem\n } = this.state;\n const {\n cols,\n allowOverlap\n } = this.props;\n const l = (0, _utils.getLayoutItem)(layout, i);\n\n // Set state\n const newLayout = allowOverlap ? layout : (0, _utils.compact)(layout, (0, _utils.compactType)(this.props), cols);\n this.props.onResizeStop(newLayout, oldResizeItem, l, null, e, node);\n const {\n oldLayout\n } = this.state;\n this.setState({\n activeDrag: null,\n layout: newLayout,\n oldResizeItem: null,\n oldLayout: null,\n resizing: false\n });\n this.onLayoutMaybeChanged(newLayout, oldLayout);\n });\n // Called while dragging an element. Part of browser native drag/drop API.\n // Native event target might be the layout itself, or an element within the layout.\n _defineProperty(this, \"onDragOver\", e => {\n e.preventDefault(); // Prevent any browser native action\n e.stopPropagation();\n\n // we should ignore events from layout's children in Firefox\n // to avoid unpredictable jumping of a dropping placeholder\n // FIXME remove this hack\n if (isFirefox &&\n // $FlowIgnore can't figure this out\n !e.nativeEvent.target?.classList.contains(layoutClassName)) {\n return false;\n }\n const {\n droppingItem,\n onDropDragOver,\n margin,\n cols,\n rowHeight,\n maxRows,\n width,\n containerPadding,\n transformScale\n } = this.props;\n // Allow user to customize the dropping item or short-circuit the drop based on the results\n // of the `onDragOver(e: Event)` callback.\n const onDragOverResult = onDropDragOver?.(e);\n if (onDragOverResult === false) {\n if (this.state.droppingDOMNode) {\n this.removeDroppingPlaceholder();\n }\n return false;\n }\n const finalDroppingItem = {\n ...droppingItem,\n ...onDragOverResult\n };\n const {\n layout\n } = this.state;\n\n // $FlowIgnore missing def\n const gridRect = e.currentTarget.getBoundingClientRect(); // The grid's position in the viewport\n\n // Calculate the mouse position relative to the grid\n const layerX = e.clientX - gridRect.left;\n const layerY = e.clientY - gridRect.top;\n const droppingPosition = {\n left: layerX / transformScale,\n top: layerY / transformScale,\n e\n };\n if (!this.state.droppingDOMNode) {\n const positionParams /*: PositionParams*/ = {\n cols,\n margin,\n maxRows,\n rowHeight,\n containerWidth: width,\n containerPadding: containerPadding || margin\n };\n const calculatedPosition = (0, _calculateUtils.calcXY)(positionParams, layerY, layerX, finalDroppingItem.w, finalDroppingItem.h);\n this.setState({\n droppingDOMNode: /*#__PURE__*/React.createElement(\"div\", {\n key: finalDroppingItem.i\n }),\n droppingPosition,\n layout: [...layout, {\n ...finalDroppingItem,\n x: calculatedPosition.x,\n y: calculatedPosition.y,\n static: false,\n isDraggable: true\n }]\n });\n } else if (this.state.droppingPosition) {\n const {\n left,\n top\n } = this.state.droppingPosition;\n const shouldUpdatePosition = left != layerX || top != layerY;\n if (shouldUpdatePosition) {\n this.setState({\n droppingPosition\n });\n }\n }\n });\n _defineProperty(this, \"removeDroppingPlaceholder\", () => {\n const {\n droppingItem,\n cols\n } = this.props;\n const {\n layout\n } = this.state;\n const newLayout = (0, _utils.compact)(layout.filter(l => l.i !== droppingItem.i), (0, _utils.compactType)(this.props), cols, this.props.allowOverlap);\n this.setState({\n layout: newLayout,\n droppingDOMNode: null,\n activeDrag: null,\n droppingPosition: undefined\n });\n });\n _defineProperty(this, \"onDragLeave\", e => {\n e.preventDefault(); // Prevent any browser native action\n e.stopPropagation();\n this.dragEnterCounter--;\n\n // onDragLeave can be triggered on each layout's child.\n // But we know that count of dragEnter and dragLeave events\n // will be balanced after leaving the layout's container\n // so we can increase and decrease count of dragEnter and\n // when it'll be equal to 0 we'll remove the placeholder\n if (this.dragEnterCounter === 0) {\n this.removeDroppingPlaceholder();\n }\n });\n _defineProperty(this, \"onDragEnter\", e => {\n e.preventDefault(); // Prevent any browser native action\n e.stopPropagation();\n this.dragEnterCounter++;\n });\n _defineProperty(this, \"onDrop\", (e /*: Event*/) => {\n e.preventDefault(); // Prevent any browser native action\n e.stopPropagation();\n const {\n droppingItem\n } = this.props;\n const {\n layout\n } = this.state;\n const item = layout.find(l => l.i === droppingItem.i);\n\n // reset dragEnter counter on drop\n this.dragEnterCounter = 0;\n this.removeDroppingPlaceholder();\n this.props.onDrop(layout, item, e);\n });\n }\n componentDidMount() {\n this.setState({\n mounted: true\n });\n // Possibly call back with layout on mount. This should be done after correcting the layout width\n // to ensure we don't rerender with the wrong width.\n this.onLayoutMaybeChanged(this.state.layout, this.props.layout);\n }\n static getDerivedStateFromProps(nextProps /*: Props*/, prevState /*: State*/) /*: $Shape | null*/{\n let newLayoutBase;\n if (prevState.activeDrag) {\n return null;\n }\n\n // Legacy support for compactType\n // Allow parent to set layout directly.\n if (!(0, _fastEquals.deepEqual)(nextProps.layout, prevState.propsLayout) || nextProps.compactType !== prevState.compactType) {\n newLayoutBase = nextProps.layout;\n } else if (!(0, _utils.childrenEqual)(nextProps.children, prevState.children)) {\n // If children change, also regenerate the layout. Use our state\n // as the base in case because it may be more up to date than\n // what is in props.\n newLayoutBase = prevState.layout;\n }\n\n // We need to regenerate the layout.\n if (newLayoutBase) {\n const newLayout = (0, _utils.synchronizeLayoutWithChildren)(newLayoutBase, nextProps.children, nextProps.cols, (0, _utils.compactType)(nextProps), nextProps.allowOverlap);\n return {\n layout: newLayout,\n // We need to save these props to state for using\n // getDerivedStateFromProps instead of componentDidMount (in which we would get extra rerender)\n compactType: nextProps.compactType,\n children: nextProps.children,\n propsLayout: nextProps.layout\n };\n }\n return null;\n }\n shouldComponentUpdate(nextProps /*: Props*/, nextState /*: State*/) /*: boolean*/{\n return (\n // NOTE: this is almost always unequal. Therefore the only way to get better performance\n // from SCU is if the user intentionally memoizes children. If they do, and they can\n // handle changes properly, performance will increase.\n this.props.children !== nextProps.children || !(0, _utils.fastRGLPropsEqual)(this.props, nextProps, _fastEquals.deepEqual) || this.state.activeDrag !== nextState.activeDrag || this.state.mounted !== nextState.mounted || this.state.droppingPosition !== nextState.droppingPosition\n );\n }\n componentDidUpdate(prevProps /*: Props*/, prevState /*: State*/) {\n if (!this.state.activeDrag) {\n const newLayout = this.state.layout;\n const oldLayout = prevState.layout;\n this.onLayoutMaybeChanged(newLayout, oldLayout);\n }\n }\n\n /**\n * Calculates a pixel value for the container.\n * @return {String} Container height in pixels.\n */\n containerHeight() /*: ?string*/{\n if (!this.props.autoSize) return;\n const nbRow = (0, _utils.bottom)(this.state.layout);\n const containerPaddingY = this.props.containerPadding ? this.props.containerPadding[1] : this.props.margin[1];\n return nbRow * this.props.rowHeight + (nbRow - 1) * this.props.margin[1] + containerPaddingY * 2 + \"px\";\n }\n onLayoutMaybeChanged(newLayout /*: Layout*/, oldLayout /*: ?Layout*/) {\n if (!oldLayout) oldLayout = this.state.layout;\n if (!(0, _fastEquals.deepEqual)(oldLayout, newLayout)) {\n this.props.onLayoutChange(newLayout);\n }\n }\n /**\n * Create a placeholder object.\n * @return {Element} Placeholder div.\n */\n placeholder() /*: ?ReactElement*/{\n const {\n activeDrag\n } = this.state;\n if (!activeDrag) return null;\n const {\n width,\n cols,\n margin,\n containerPadding,\n rowHeight,\n maxRows,\n useCSSTransforms,\n transformScale\n } = this.props;\n\n // {...this.state.activeDrag} is pretty slow, actually\n return /*#__PURE__*/React.createElement(_GridItem.default, {\n w: activeDrag.w,\n h: activeDrag.h,\n x: activeDrag.x,\n y: activeDrag.y,\n i: activeDrag.i,\n className: `react-grid-placeholder ${this.state.resizing ? \"placeholder-resizing\" : \"\"}`,\n containerWidth: width,\n cols: cols,\n margin: margin,\n containerPadding: containerPadding || margin,\n maxRows: maxRows,\n rowHeight: rowHeight,\n isDraggable: false,\n isResizable: false,\n isBounded: false,\n useCSSTransforms: useCSSTransforms,\n transformScale: transformScale\n }, /*#__PURE__*/React.createElement(\"div\", null));\n }\n\n /**\n * Given a grid item, set its style attributes & surround in a .\n * @param {Element} child React element.\n * @return {Element} Element wrapped in draggable and properly placed.\n */\n processGridItem(child /*: ReactElement*/, isDroppingItem /*: boolean*/) /*: ?ReactElement*/{\n if (!child || !child.key) return;\n const l = (0, _utils.getLayoutItem)(this.state.layout, String(child.key));\n if (!l) return null;\n const {\n width,\n cols,\n margin,\n containerPadding,\n rowHeight,\n maxRows,\n isDraggable,\n isResizable,\n isBounded,\n useCSSTransforms,\n transformScale,\n draggableCancel,\n draggableHandle,\n resizeHandles,\n resizeHandle\n } = this.props;\n const {\n mounted,\n droppingPosition\n } = this.state;\n\n // Determine user manipulations possible.\n // If an item is static, it can't be manipulated by default.\n // Any properties defined directly on the grid item will take precedence.\n const draggable = typeof l.isDraggable === \"boolean\" ? l.isDraggable : !l.static && isDraggable;\n const resizable = typeof l.isResizable === \"boolean\" ? l.isResizable : !l.static && isResizable;\n const resizeHandlesOptions = l.resizeHandles || resizeHandles;\n\n // isBounded set on child if set on parent, and child is not explicitly false\n const bounded = draggable && isBounded && l.isBounded !== false;\n return /*#__PURE__*/React.createElement(_GridItem.default, {\n containerWidth: width,\n cols: cols,\n margin: margin,\n containerPadding: containerPadding || margin,\n maxRows: maxRows,\n rowHeight: rowHeight,\n cancel: draggableCancel,\n handle: draggableHandle,\n onDragStop: this.onDragStop,\n onDragStart: this.onDragStart,\n onDrag: this.onDrag,\n onResizeStart: this.onResizeStart,\n onResize: this.onResize,\n onResizeStop: this.onResizeStop,\n isDraggable: draggable,\n isResizable: resizable,\n isBounded: bounded,\n useCSSTransforms: useCSSTransforms && mounted,\n usePercentages: !mounted,\n transformScale: transformScale,\n w: l.w,\n h: l.h,\n x: l.x,\n y: l.y,\n i: l.i,\n minH: l.minH,\n minW: l.minW,\n maxH: l.maxH,\n maxW: l.maxW,\n static: l.static,\n droppingPosition: isDroppingItem ? droppingPosition : undefined,\n resizeHandles: resizeHandlesOptions,\n resizeHandle: resizeHandle\n }, child);\n }\n render() /*: React.Element<\"div\">*/{\n const {\n className,\n style,\n isDroppable,\n innerRef\n } = this.props;\n const mergedClassName = (0, _clsx.default)(layoutClassName, className);\n const mergedStyle = {\n height: this.containerHeight(),\n ...style\n };\n return /*#__PURE__*/React.createElement(\"div\", {\n ref: innerRef,\n className: mergedClassName,\n style: mergedStyle,\n onDrop: isDroppable ? this.onDrop : _utils.noop,\n onDragLeave: isDroppable ? this.onDragLeave : _utils.noop,\n onDragEnter: isDroppable ? this.onDragEnter : _utils.noop,\n onDragOver: isDroppable ? this.onDragOver : _utils.noop\n }, React.Children.map(this.props.children, child => this.processGridItem(child)), isDroppable && this.state.droppingDOMNode && this.processGridItem(this.state.droppingDOMNode, true), this.placeholder());\n }\n}\nexports.default = ReactGridLayout;\n// TODO publish internal ReactClass displayName transform\n_defineProperty(ReactGridLayout, \"displayName\", \"ReactGridLayout\");\n// Refactored to another module to make way for preval\n_defineProperty(ReactGridLayout, \"propTypes\", _ReactGridLayoutPropTypes.default);\n_defineProperty(ReactGridLayout, \"defaultProps\", {\n autoSize: true,\n cols: 12,\n className: \"\",\n style: {},\n draggableHandle: \"\",\n draggableCancel: \"\",\n containerPadding: null,\n rowHeight: 150,\n maxRows: Infinity,\n // infinite vertical growth\n layout: [],\n margin: [10, 10],\n isBounded: false,\n isDraggable: true,\n isResizable: true,\n allowOverlap: false,\n isDroppable: false,\n useCSSTransforms: true,\n transformScale: 1,\n verticalCompact: true,\n compactType: \"vertical\",\n preventCollision: false,\n droppingItem: {\n i: \"__dropping-elem__\",\n h: 1,\n w: 1\n },\n resizeHandles: [\"se\"],\n onLayoutChange: _utils.noop,\n onDragStart: _utils.noop,\n onDrag: _utils.noop,\n onDragStop: _utils.noop,\n onResizeStart: _utils.noop,\n onResize: _utils.noop,\n onResizeStop: _utils.noop,\n onDrop: _utils.noop,\n onDropDragOver: _utils.noop\n});","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.resizeHandleType = exports.resizeHandleAxesType = exports.default = void 0;\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\nvar _react = _interopRequireDefault(require(\"react\"));\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n/*:: import type {\n Ref,\n ChildrenArray as ReactChildrenArray,\n Element as ReactElement\n} from \"react\";*/\n/*:: import type {\n DragOverEvent,\n EventCallback,\n CompactType,\n Layout,\n LayoutItem,\n ResizeHandleAxis\n} from \"./utils\";*/\n/*:: export type ReactRef = {|\n +current: T | null\n|};*/\n// util\n/*:: export type ResizeHandle =\n | ReactElement\n | ((\n resizeHandleAxis: ResizeHandleAxis,\n ref: ReactRef\n ) => ReactElement);*/\n// Defines which resize handles should be rendered (default: 'se')\n// Allows for any combination of:\n// 's' - South handle (bottom-center)\n// 'w' - West handle (left-center)\n// 'e' - East handle (right-center)\n// 'n' - North handle (top-center)\n// 'sw' - Southwest handle (bottom-left)\n// 'nw' - Northwest handle (top-left)\n// 'se' - Southeast handle (bottom-right)\n// 'ne' - Northeast handle (top-right)\nconst resizeHandleAxesType /*: ReactPropsChainableTypeChecker*/ = exports.resizeHandleAxesType = _propTypes.default.arrayOf(_propTypes.default.oneOf([\"s\", \"w\", \"e\", \"n\", \"sw\", \"nw\", \"se\", \"ne\"]));\n// Custom component for resize handles\nconst resizeHandleType /*: ReactPropsChainableTypeChecker*/ = exports.resizeHandleType = _propTypes.default.oneOfType([_propTypes.default.node, _propTypes.default.func]);\n/*:: export type Props = {|\n className: string,\n style: Object,\n width: number,\n autoSize: boolean,\n cols: number,\n draggableCancel: string,\n draggableHandle: string,\n verticalCompact: boolean,\n compactType: CompactType,\n layout: Layout,\n margin: [number, number],\n containerPadding: ?[number, number],\n rowHeight: number,\n maxRows: number,\n isBounded: boolean,\n isDraggable: boolean,\n isResizable: boolean,\n isDroppable: boolean,\n preventCollision: boolean,\n useCSSTransforms: boolean,\n transformScale: number,\n droppingItem: $Shape,\n resizeHandles: ResizeHandleAxis[],\n resizeHandle?: ResizeHandle,\n allowOverlap: boolean,\n\n // Callbacks\n onLayoutChange: Layout => void,\n onDrag: EventCallback,\n onDragStart: EventCallback,\n onDragStop: EventCallback,\n onResize: EventCallback,\n onResizeStart: EventCallback,\n onResizeStop: EventCallback,\n onDropDragOver: (e: DragOverEvent) => ?({| w?: number, h?: number |} | false),\n onDrop: (layout: Layout, item: ?LayoutItem, e: Event) => void,\n children: ReactChildrenArray>,\n innerRef?: Ref<\"div\">\n|};*/\n/*:: export type DefaultProps = $Diff<\n Props,\n {\n children: ReactChildrenArray>,\n width: number\n }\n>;*/\nvar _default = exports.default = {\n //\n // Basic props\n //\n className: _propTypes.default.string,\n style: _propTypes.default.object,\n // This can be set explicitly. If it is not set, it will automatically\n // be set to the container width. Note that resizes will *not* cause this to adjust.\n // If you need that behavior, use WidthProvider.\n width: _propTypes.default.number,\n // If true, the container height swells and contracts to fit contents\n autoSize: _propTypes.default.bool,\n // # of cols.\n cols: _propTypes.default.number,\n // A selector that will not be draggable.\n draggableCancel: _propTypes.default.string,\n // A selector for the draggable handler\n draggableHandle: _propTypes.default.string,\n // Deprecated\n verticalCompact: function (props /*: Props*/) {\n if (props.verticalCompact === false && process.env.NODE_ENV !== \"production\") {\n console.warn(\n // eslint-disable-line no-console\n \"`verticalCompact` on is deprecated and will be removed soon. \" + 'Use `compactType`: \"horizontal\" | \"vertical\" | null.');\n }\n },\n // Choose vertical or hotizontal compaction\n compactType: (_propTypes.default.oneOf([\"vertical\", \"horizontal\"]) /*: ReactPropsChainableTypeChecker*/),\n // layout is an array of object with the format:\n // {x: Number, y: Number, w: Number, h: Number, i: String}\n layout: function (props /*: Props*/) {\n var layout = props.layout;\n // I hope you're setting the data-grid property on the grid items\n if (layout === undefined) return;\n require(\"./utils\").validateLayout(layout, \"layout\");\n },\n //\n // Grid Dimensions\n //\n\n // Margin between items [x, y] in px\n margin: (_propTypes.default.arrayOf(_propTypes.default.number) /*: ReactPropsChainableTypeChecker*/),\n // Padding inside the container [x, y] in px\n containerPadding: (_propTypes.default.arrayOf(_propTypes.default.number) /*: ReactPropsChainableTypeChecker*/),\n // Rows have a static height, but you can change this based on breakpoints if you like\n rowHeight: _propTypes.default.number,\n // Default Infinity, but you can specify a max here if you like.\n // Note that this isn't fully fleshed out and won't error if you specify a layout that\n // extends beyond the row capacity. It will, however, not allow users to drag/resize\n // an item past the barrier. They can push items beyond the barrier, though.\n // Intentionally not documented for this reason.\n maxRows: _propTypes.default.number,\n //\n // Flags\n //\n isBounded: _propTypes.default.bool,\n isDraggable: _propTypes.default.bool,\n isResizable: _propTypes.default.bool,\n // If true, grid can be placed one over the other.\n allowOverlap: _propTypes.default.bool,\n // If true, grid items won't change position when being dragged over.\n preventCollision: _propTypes.default.bool,\n // Use CSS transforms instead of top/left\n useCSSTransforms: _propTypes.default.bool,\n // parent layout transform scale\n transformScale: _propTypes.default.number,\n // If true, an external element can trigger onDrop callback with a specific grid position as a parameter\n isDroppable: _propTypes.default.bool,\n // Resize handle options\n resizeHandles: resizeHandleAxesType,\n resizeHandle: resizeHandleType,\n //\n // Callbacks\n //\n\n // Callback so you can save the layout. Calls after each drag & resize stops.\n onLayoutChange: _propTypes.default.func,\n // Calls when drag starts. Callback is of the signature (layout, oldItem, newItem, placeholder, e, ?node).\n // All callbacks below have the same signature. 'start' and 'stop' callbacks omit the 'placeholder'.\n onDragStart: _propTypes.default.func,\n // Calls on each drag movement.\n onDrag: _propTypes.default.func,\n // Calls when drag is complete.\n onDragStop: _propTypes.default.func,\n //Calls when resize starts.\n onResizeStart: _propTypes.default.func,\n // Calls when resize movement happens.\n onResize: _propTypes.default.func,\n // Calls when resize is complete.\n onResizeStop: _propTypes.default.func,\n // Calls when some element is dropped.\n onDrop: _propTypes.default.func,\n //\n // Other validations\n //\n\n droppingItem: (_propTypes.default.shape({\n i: _propTypes.default.string.isRequired,\n w: _propTypes.default.number.isRequired,\n h: _propTypes.default.number.isRequired\n }) /*: ReactPropsChainableTypeChecker*/),\n // Children must not have duplicate keys.\n children: function (props /*: Props*/, propName /*: string*/) {\n const children = props[propName];\n\n // Check children keys for duplicates. Throw if found.\n const keys = {};\n _react.default.Children.forEach(children, function (child) {\n if (child?.key == null) return;\n if (keys[child.key]) {\n throw new Error('Duplicate child key \"' + child.key + '\" found! This will cause problems in ReactGridLayout.');\n }\n keys[child.key] = true;\n });\n },\n // Optional ref for getting a reference for the wrapping div.\n innerRef: _propTypes.default.any\n};","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar React = _interopRequireWildcard(require(\"react\"));\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\nvar _fastEquals = require(\"fast-equals\");\nvar _utils = require(\"./utils\");\nvar _responsiveUtils = require(\"./responsiveUtils\");\nvar _ReactGridLayout = _interopRequireDefault(require(\"./ReactGridLayout\"));\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\nfunction _getRequireWildcardCache(e) { if (\"function\" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }\nfunction _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || \"object\" != typeof e && \"function\" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if (\"default\" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : 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); }\nfunction _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\nfunction _toPropertyKey(arg) { var key = _toPrimitive(arg, \"string\"); return typeof key === \"symbol\" ? key : String(key); }\nfunction _toPrimitive(input, hint) { if (typeof input !== \"object\" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || \"default\"); if (typeof res !== \"object\") return res; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (hint === \"string\" ? String : Number)(input); } /*:: import { type Layout, type Pick } from \"./utils\";*/ /*:: import { type ResponsiveLayout, type OnLayoutChangeCallback, type Breakpoints } from \"./responsiveUtils\";*/\n// $FlowFixMe[method-unbinding]\nconst type = obj => Object.prototype.toString.call(obj);\n\n/**\n * Get a value of margin or containerPadding.\n *\n * @param {Array | Object} param Margin | containerPadding, e.g. [10, 10] | {lg: [10, 10], ...}.\n * @param {String} breakpoint Breakpoint: lg, md, sm, xs and etc.\n * @return {Array}\n */\nfunction getIndentationValue /*:: */(param /*: { [key: string]: T } | T*/, breakpoint /*: string*/) /*: T*/{\n // $FlowIgnore TODO fix this typedef\n if (param == null) return null;\n // $FlowIgnore TODO fix this typedef\n return Array.isArray(param) ? param : param[breakpoint];\n}\n/*:: type State = {\n layout: Layout,\n breakpoint: string,\n cols: number,\n layouts?: ResponsiveLayout\n};*/\n/*:: type Props = {|\n ...React.ElementConfig,\n\n // Responsive config\n breakpoint?: ?Breakpoint,\n breakpoints: Breakpoints,\n cols: { [key: Breakpoint]: number },\n layouts: ResponsiveLayout,\n width: number,\n margin: { [key: Breakpoint]: [number, number] } | [number, number],\n /* prettier-ignore *-/\n containerPadding: { [key: Breakpoint]: ?[number, number] } | ?[number, number],\n\n // Callbacks\n onBreakpointChange: (Breakpoint, cols: number) => void,\n onLayoutChange: OnLayoutChangeCallback,\n onWidthChange: (\n containerWidth: number,\n margin: [number, number],\n cols: number,\n containerPadding: ?[number, number]\n ) => void\n|};*/\n/*:: type DefaultProps = Pick<\n Props<>,\n {|\n allowOverlap: 0,\n breakpoints: 0,\n cols: 0,\n containerPadding: 0,\n layouts: 0,\n margin: 0,\n onBreakpointChange: 0,\n onLayoutChange: 0,\n onWidthChange: 0\n |}\n>;*/\nclass ResponsiveReactGridLayout extends React.Component\n/*:: <\n Props<>,\n State\n>*/\n{\n constructor() {\n super(...arguments);\n _defineProperty(this, \"state\", this.generateInitialState());\n // wrap layouts so we do not need to pass layouts to child\n _defineProperty(this, \"onLayoutChange\", (layout /*: Layout*/) => {\n this.props.onLayoutChange(layout, {\n ...this.props.layouts,\n [this.state.breakpoint]: layout\n });\n });\n }\n generateInitialState() /*: State*/{\n const {\n width,\n breakpoints,\n layouts,\n cols\n } = this.props;\n const breakpoint = (0, _responsiveUtils.getBreakpointFromWidth)(breakpoints, width);\n const colNo = (0, _responsiveUtils.getColsFromBreakpoint)(breakpoint, cols);\n // verticalCompact compatibility, now deprecated\n const compactType = this.props.verticalCompact === false ? null : this.props.compactType;\n // Get the initial layout. This can tricky; we try to generate one however possible if one doesn't exist\n // for this layout.\n const initialLayout = (0, _responsiveUtils.findOrGenerateResponsiveLayout)(layouts, breakpoints, breakpoint, breakpoint, colNo, compactType);\n return {\n layout: initialLayout,\n breakpoint: breakpoint,\n cols: colNo\n };\n }\n static getDerivedStateFromProps(nextProps /*: Props<*>*/, prevState /*: State*/) /*: ?$Shape*/{\n if (!(0, _fastEquals.deepEqual)(nextProps.layouts, prevState.layouts)) {\n // Allow parent to set layouts directly.\n const {\n breakpoint,\n cols\n } = prevState;\n\n // Since we're setting an entirely new layout object, we must generate a new responsive layout\n // if one does not exist.\n const newLayout = (0, _responsiveUtils.findOrGenerateResponsiveLayout)(nextProps.layouts, nextProps.breakpoints, breakpoint, breakpoint, cols, nextProps.compactType);\n return {\n layout: newLayout,\n layouts: nextProps.layouts\n };\n }\n return null;\n }\n componentDidUpdate(prevProps /*: Props<*>*/) {\n // Allow parent to set width or breakpoint directly.\n if (this.props.width != prevProps.width || this.props.breakpoint !== prevProps.breakpoint || !(0, _fastEquals.deepEqual)(this.props.breakpoints, prevProps.breakpoints) || !(0, _fastEquals.deepEqual)(this.props.cols, prevProps.cols)) {\n this.onWidthChange(prevProps);\n }\n }\n /**\n * When the width changes work through breakpoints and reset state with the new width & breakpoint.\n * Width changes are necessary to figure out the widget widths.\n */\n onWidthChange(prevProps /*: Props<*>*/) {\n const {\n breakpoints,\n cols,\n layouts,\n compactType\n } = this.props;\n const newBreakpoint = this.props.breakpoint || (0, _responsiveUtils.getBreakpointFromWidth)(this.props.breakpoints, this.props.width);\n const lastBreakpoint = this.state.breakpoint;\n const newCols /*: number*/ = (0, _responsiveUtils.getColsFromBreakpoint)(newBreakpoint, cols);\n const newLayouts = {\n ...layouts\n };\n\n // Breakpoint change\n if (lastBreakpoint !== newBreakpoint || prevProps.breakpoints !== breakpoints || prevProps.cols !== cols) {\n // Preserve the current layout if the current breakpoint is not present in the next layouts.\n if (!(lastBreakpoint in newLayouts)) newLayouts[lastBreakpoint] = (0, _utils.cloneLayout)(this.state.layout);\n\n // Find or generate a new layout.\n let layout = (0, _responsiveUtils.findOrGenerateResponsiveLayout)(newLayouts, breakpoints, newBreakpoint, lastBreakpoint, newCols, compactType);\n\n // This adds missing items.\n layout = (0, _utils.synchronizeLayoutWithChildren)(layout, this.props.children, newCols, compactType, this.props.allowOverlap);\n\n // Store the new layout.\n newLayouts[newBreakpoint] = layout;\n\n // callbacks\n this.props.onLayoutChange(layout, newLayouts);\n this.props.onBreakpointChange(newBreakpoint, newCols);\n this.setState({\n breakpoint: newBreakpoint,\n layout: layout,\n cols: newCols\n });\n }\n const margin = getIndentationValue(this.props.margin, newBreakpoint);\n const containerPadding = getIndentationValue(this.props.containerPadding, newBreakpoint);\n\n //call onWidthChange on every change of width, not only on breakpoint changes\n this.props.onWidthChange(this.props.width, margin, newCols, containerPadding);\n }\n render() /*: React.Element*/{\n /* eslint-disable no-unused-vars */\n const {\n breakpoint,\n breakpoints,\n cols,\n layouts,\n margin,\n containerPadding,\n onBreakpointChange,\n onLayoutChange,\n onWidthChange,\n ...other\n } = this.props;\n /* eslint-enable no-unused-vars */\n\n return /*#__PURE__*/React.createElement(_ReactGridLayout.default, _extends({}, other, {\n // $FlowIgnore should allow nullable here due to DefaultProps\n margin: getIndentationValue(margin, this.state.breakpoint),\n containerPadding: getIndentationValue(containerPadding, this.state.breakpoint),\n onLayoutChange: this.onLayoutChange,\n layout: this.state.layout,\n cols: this.state.cols\n }));\n }\n}\nexports.default = ResponsiveReactGridLayout;\n// This should only include propTypes needed in this code; RGL itself\n// will do validation of the rest props passed to it.\n_defineProperty(ResponsiveReactGridLayout, \"propTypes\", {\n //\n // Basic props\n //\n\n // Optional, but if you are managing width yourself you may want to set the breakpoint\n // yourself as well.\n breakpoint: _propTypes.default.string,\n // {name: pxVal}, e.g. {lg: 1200, md: 996, sm: 768, xs: 480}\n breakpoints: _propTypes.default.object,\n allowOverlap: _propTypes.default.bool,\n // # of cols. This is a breakpoint -> cols map\n cols: _propTypes.default.object,\n // # of margin. This is a breakpoint -> margin map\n // e.g. { lg: [5, 5], md: [10, 10], sm: [15, 15] }\n // Margin between items [x, y] in px\n // e.g. [10, 10]\n margin: _propTypes.default.oneOfType([_propTypes.default.array, _propTypes.default.object]),\n // # of containerPadding. This is a breakpoint -> containerPadding map\n // e.g. { lg: [5, 5], md: [10, 10], sm: [15, 15] }\n // Padding inside the container [x, y] in px\n // e.g. [10, 10]\n containerPadding: _propTypes.default.oneOfType([_propTypes.default.array, _propTypes.default.object]),\n // layouts is an object mapping breakpoints to layouts.\n // e.g. {lg: Layout, md: Layout, ...}\n layouts(props /*: Props<>*/, propName /*: string*/) {\n if (type(props[propName]) !== \"[object Object]\") {\n throw new Error(\"Layout property must be an object. Received: \" + type(props[propName]));\n }\n Object.keys(props[propName]).forEach(key => {\n if (!(key in props.breakpoints)) {\n throw new Error(\"Each key in layouts must align with a key in breakpoints.\");\n }\n (0, _utils.validateLayout)(props.layouts[key], \"layouts.\" + key);\n });\n },\n // The width of this component.\n // Required in this propTypes stanza because generateInitialState() will fail without it.\n width: _propTypes.default.number.isRequired,\n //\n // Callbacks\n //\n\n // Calls back with breakpoint and new # cols\n onBreakpointChange: _propTypes.default.func,\n // Callback so you can save the layout.\n // Calls back with (currentLayout, allLayouts). allLayouts are keyed by breakpoint.\n onLayoutChange: _propTypes.default.func,\n // Calls back with (containerWidth, margin, cols, containerPadding)\n onWidthChange: _propTypes.default.func\n});\n_defineProperty(ResponsiveReactGridLayout, \"defaultProps\", {\n breakpoints: {\n lg: 1200,\n md: 996,\n sm: 768,\n xs: 480,\n xxs: 0\n },\n cols: {\n lg: 12,\n md: 10,\n sm: 6,\n xs: 4,\n xxs: 2\n },\n containerPadding: {\n lg: null,\n md: null,\n sm: null,\n xs: null,\n xxs: null\n },\n layouts: {},\n margin: [10, 10],\n allowOverlap: false,\n onBreakpointChange: _utils.noop,\n onLayoutChange: _utils.noop,\n onWidthChange: _utils.noop\n});","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.calcGridColWidth = calcGridColWidth;\nexports.calcGridItemPosition = calcGridItemPosition;\nexports.calcGridItemWHPx = calcGridItemWHPx;\nexports.calcWH = calcWH;\nexports.calcXY = calcXY;\nexports.clamp = clamp;\n/*:: import type { Position } from \"./utils\";*/\n/*:: export type PositionParams = {\n margin: [number, number],\n containerPadding: [number, number],\n containerWidth: number,\n cols: number,\n rowHeight: number,\n maxRows: number\n};*/\n// Helper for generating column width\nfunction calcGridColWidth(positionParams /*: PositionParams*/) /*: number*/{\n const {\n margin,\n containerPadding,\n containerWidth,\n cols\n } = positionParams;\n return (containerWidth - margin[0] * (cols - 1) - containerPadding[0] * 2) / cols;\n}\n\n// This can either be called:\n// calcGridItemWHPx(w, colWidth, margin[0])\n// or\n// calcGridItemWHPx(h, rowHeight, margin[1])\nfunction calcGridItemWHPx(gridUnits /*: number*/, colOrRowSize /*: number*/, marginPx /*: number*/) /*: number*/{\n // 0 * Infinity === NaN, which causes problems with resize contraints\n if (!Number.isFinite(gridUnits)) return gridUnits;\n return Math.round(colOrRowSize * gridUnits + Math.max(0, gridUnits - 1) * marginPx);\n}\n\n/**\n * Return position on the page given an x, y, w, h.\n * left, top, width, height are all in pixels.\n * @param {PositionParams} positionParams Parameters of grid needed for coordinates calculations.\n * @param {Number} x X coordinate in grid units.\n * @param {Number} y Y coordinate in grid units.\n * @param {Number} w W coordinate in grid units.\n * @param {Number} h H coordinate in grid units.\n * @return {Position} Object containing coords.\n */\nfunction calcGridItemPosition(positionParams /*: PositionParams*/, x /*: number*/, y /*: number*/, w /*: number*/, h /*: number*/, state /*: ?Object*/) /*: Position*/{\n const {\n margin,\n containerPadding,\n rowHeight\n } = positionParams;\n const colWidth = calcGridColWidth(positionParams);\n const out = {};\n\n // If resizing, use the exact width and height as returned from resizing callbacks.\n if (state && state.resizing) {\n out.width = Math.round(state.resizing.width);\n out.height = Math.round(state.resizing.height);\n }\n // Otherwise, calculate from grid units.\n else {\n out.width = calcGridItemWHPx(w, colWidth, margin[0]);\n out.height = calcGridItemWHPx(h, rowHeight, margin[1]);\n }\n\n // If dragging, use the exact width and height as returned from dragging callbacks.\n if (state && state.dragging) {\n out.top = Math.round(state.dragging.top);\n out.left = Math.round(state.dragging.left);\n } else if (state && state.resizing && typeof state.resizing.top === \"number\" && typeof state.resizing.left === \"number\") {\n out.top = Math.round(state.resizing.top);\n out.left = Math.round(state.resizing.left);\n }\n // Otherwise, calculate from grid units.\n else {\n out.top = Math.round((rowHeight + margin[1]) * y + containerPadding[1]);\n out.left = Math.round((colWidth + margin[0]) * x + containerPadding[0]);\n }\n return out;\n}\n\n/**\n * Translate x and y coordinates from pixels to grid units.\n * @param {PositionParams} positionParams Parameters of grid needed for coordinates calculations.\n * @param {Number} top Top position (relative to parent) in pixels.\n * @param {Number} left Left position (relative to parent) in pixels.\n * @param {Number} w W coordinate in grid units.\n * @param {Number} h H coordinate in grid units.\n * @return {Object} x and y in grid units.\n */\nfunction calcXY(positionParams /*: PositionParams*/, top /*: number*/, left /*: number*/, w /*: number*/, h /*: number*/) /*: { x: number, y: number }*/{\n const {\n margin,\n cols,\n rowHeight,\n maxRows\n } = positionParams;\n const colWidth = calcGridColWidth(positionParams);\n\n // left = colWidth * x + margin * (x + 1)\n // l = cx + m(x+1)\n // l = cx + mx + m\n // l - m = cx + mx\n // l - m = x(c + m)\n // (l - m) / (c + m) = x\n // x = (left - margin) / (coldWidth + margin)\n let x = Math.round((left - margin[0]) / (colWidth + margin[0]));\n let y = Math.round((top - margin[1]) / (rowHeight + margin[1]));\n\n // Capping\n x = clamp(x, 0, cols - w);\n y = clamp(y, 0, maxRows - h);\n return {\n x,\n y\n };\n}\n\n/**\n * Given a height and width in pixel values, calculate grid units.\n * @param {PositionParams} positionParams Parameters of grid needed for coordinates calcluations.\n * @param {Number} height Height in pixels.\n * @param {Number} width Width in pixels.\n * @param {Number} x X coordinate in grid units.\n * @param {Number} y Y coordinate in grid units.\n * @param {String} handle Resize Handle.\n * @return {Object} w, h as grid units.\n */\nfunction calcWH(positionParams /*: PositionParams*/, width /*: number*/, height /*: number*/, x /*: number*/, y /*: number*/, handle /*: string*/) /*: { w: number, h: number }*/{\n const {\n margin,\n maxRows,\n cols,\n rowHeight\n } = positionParams;\n const colWidth = calcGridColWidth(positionParams);\n\n // width = colWidth * w - (margin * (w - 1))\n // ...\n // w = (width + margin) / (colWidth + margin)\n let w = Math.round((width + margin[0]) / (colWidth + margin[0]));\n let h = Math.round((height + margin[1]) / (rowHeight + margin[1]));\n\n // Capping\n let _w = clamp(w, 0, cols - x);\n let _h = clamp(h, 0, maxRows - y);\n if ([\"sw\", \"w\", \"nw\"].indexOf(handle) !== -1) {\n _w = clamp(w, 0, cols);\n }\n if ([\"nw\", \"n\", \"ne\"].indexOf(handle) !== -1) {\n _h = clamp(h, 0, maxRows);\n }\n return {\n w: _w,\n h: _h\n };\n}\n\n// Similar to _.clamp\nfunction clamp(num /*: number*/, lowerBound /*: number*/, upperBound /*: number*/) /*: number*/{\n return Math.max(Math.min(num, upperBound), lowerBound);\n}","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = WidthProvideRGL;\nvar React = _interopRequireWildcard(require(\"react\"));\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\nvar _resizeObserverPolyfill = _interopRequireDefault(require(\"resize-observer-polyfill\"));\nvar _clsx = _interopRequireDefault(require(\"clsx\"));\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\nfunction _getRequireWildcardCache(e) { if (\"function\" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }\nfunction _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || \"object\" != typeof e && \"function\" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if (\"default\" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : 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); }\nfunction _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\nfunction _toPropertyKey(arg) { var key = _toPrimitive(arg, \"string\"); return typeof key === \"symbol\" ? key : String(key); }\nfunction _toPrimitive(input, hint) { if (typeof input !== \"object\" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || \"default\"); if (typeof res !== \"object\") return res; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (hint === \"string\" ? String : Number)(input); }\n/*:: import type { ReactRef } from \"../ReactGridLayoutPropTypes\";*/\n/*:: type WPDefaultProps = {|\n measureBeforeMount: boolean\n|};*/\n/*:: type WPProps = {|\n className?: string,\n style?: Object,\n ...WPDefaultProps\n|};*/\n// eslint-disable-next-line no-unused-vars\n/*:: type WPState = {|\n width: number\n|};*/\n/*:: type ComposedProps = {|\n ...Config,\n measureBeforeMount?: boolean,\n className?: string,\n style?: Object,\n width?: number\n|};*/\nconst layoutClassName = \"react-grid-layout\";\n\n/*\n * A simple HOC that provides facility for listening to container resizes.\n *\n * The Flow type is pretty janky here. I can't just spread `WPProps` into this returned object - I wish I could - but it triggers\n * a flow bug of some sort that causes it to stop typechecking.\n */\nfunction WidthProvideRGL /*:: */(ComposedComponent /*: React.AbstractComponent*/) /*: React.AbstractComponent>*/{\n var _class;\n return _class = class WidthProvider extends React.Component\n /*:: <\n ComposedProps,\n WPState\n >*/\n {\n constructor() {\n super(...arguments);\n _defineProperty(this, \"state\", {\n width: 1280\n });\n _defineProperty(this, \"elementRef\", /*#__PURE__*/React.createRef());\n _defineProperty(this, \"mounted\", false);\n _defineProperty(this, \"resizeObserver\", void 0);\n }\n componentDidMount() {\n this.mounted = true;\n this.resizeObserver = new _resizeObserverPolyfill.default(entries => {\n const node = this.elementRef.current;\n if (node instanceof HTMLElement) {\n const width = entries[0].contentRect.width;\n this.setState({\n width\n });\n }\n });\n const node = this.elementRef.current;\n if (node instanceof HTMLElement) {\n this.resizeObserver.observe(node);\n }\n }\n componentWillUnmount() {\n this.mounted = false;\n const node = this.elementRef.current;\n if (node instanceof HTMLElement) {\n this.resizeObserver.unobserve(node);\n }\n this.resizeObserver.disconnect();\n }\n render() {\n const {\n measureBeforeMount,\n ...rest\n } = this.props;\n if (measureBeforeMount && !this.mounted) {\n return /*#__PURE__*/React.createElement(\"div\", {\n className: (0, _clsx.default)(this.props.className, layoutClassName),\n style: this.props.style\n // $FlowIgnore ref types\n ,\n ref: this.elementRef\n });\n }\n return /*#__PURE__*/React.createElement(ComposedComponent, _extends({\n innerRef: this.elementRef\n }, rest, this.state));\n }\n }, _defineProperty(_class, \"defaultProps\", {\n measureBeforeMount: false\n }), _defineProperty(_class, \"propTypes\", {\n // If true, will not render children until mounted. Useful for getting the exact width before\n // rendering, to prevent any unsightly resizing.\n measureBeforeMount: _propTypes.default.bool\n }), _class;\n}","// this file was prevaled\nmodule.exports = function fastRGLPropsEqual(a, b, isEqualImpl) {\n if (a === b) return true;\n return a.className === b.className && isEqualImpl(a.style, b.style) && a.width === b.width && a.autoSize === b.autoSize && a.cols === b.cols && a.draggableCancel === b.draggableCancel && a.draggableHandle === b.draggableHandle && isEqualImpl(a.verticalCompact, b.verticalCompact) && isEqualImpl(a.compactType, b.compactType) && isEqualImpl(a.layout, b.layout) && isEqualImpl(a.margin, b.margin) && isEqualImpl(a.containerPadding, b.containerPadding) && a.rowHeight === b.rowHeight && a.maxRows === b.maxRows && a.isBounded === b.isBounded && a.isDraggable === b.isDraggable && a.isResizable === b.isResizable && a.allowOverlap === b.allowOverlap && a.preventCollision === b.preventCollision && a.useCSSTransforms === b.useCSSTransforms && a.transformScale === b.transformScale && a.isDroppable === b.isDroppable && isEqualImpl(a.resizeHandles, b.resizeHandles) && isEqualImpl(a.resizeHandle, b.resizeHandle) && a.onLayoutChange === b.onLayoutChange && a.onDragStart === b.onDragStart && a.onDrag === b.onDrag && a.onDragStop === b.onDragStop && a.onResizeStart === b.onResizeStart && a.onResize === b.onResize && a.onResizeStop === b.onResizeStop && a.onDrop === b.onDrop && isEqualImpl(a.droppingItem, b.droppingItem) && isEqualImpl(a.innerRef, b.innerRef);\n};","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.findOrGenerateResponsiveLayout = findOrGenerateResponsiveLayout;\nexports.getBreakpointFromWidth = getBreakpointFromWidth;\nexports.getColsFromBreakpoint = getColsFromBreakpoint;\nexports.sortBreakpoints = sortBreakpoints;\nvar _utils = require(\"./utils\");\n/*:: import type { CompactType, Layout } from \"./utils\";*/\n/*:: export type Breakpoint = string;*/\n/*:: export type DefaultBreakpoints = \"lg\" | \"md\" | \"sm\" | \"xs\" | \"xxs\";*/\n/*:: export type ResponsiveLayout = {\n +[breakpoint: T]: Layout\n};*/\n// + indicates read-only\n/*:: export type Breakpoints = {\n +[breakpoint: T]: number\n};*/\n/*:: export type OnLayoutChangeCallback = (\n Layout,\n { [key: Breakpoint]: Layout }\n) => void;*/\n/**\n * Given a width, find the highest breakpoint that matches is valid for it (width > breakpoint).\n *\n * @param {Object} breakpoints Breakpoints object (e.g. {lg: 1200, md: 960, ...})\n * @param {Number} width Screen width.\n * @return {String} Highest breakpoint that is less than width.\n */\nfunction getBreakpointFromWidth(breakpoints /*: Breakpoints*/, width /*: number*/) /*: Breakpoint*/{\n const sorted = sortBreakpoints(breakpoints);\n let matching = sorted[0];\n for (let i = 1, len = sorted.length; i < len; i++) {\n const breakpointName = sorted[i];\n if (width > breakpoints[breakpointName]) matching = breakpointName;\n }\n return matching;\n}\n\n/**\n * Given a breakpoint, get the # of cols set for it.\n * @param {String} breakpoint Breakpoint name.\n * @param {Object} cols Map of breakpoints to cols.\n * @return {Number} Number of cols.\n */\nfunction getColsFromBreakpoint(breakpoint /*: Breakpoint*/, cols /*: Breakpoints*/) /*: number*/{\n if (!cols[breakpoint]) {\n throw new Error(\"ResponsiveReactGridLayout: `cols` entry for breakpoint \" + breakpoint + \" is missing!\");\n }\n return cols[breakpoint];\n}\n\n/**\n * Given existing layouts and a new breakpoint, find or generate a new layout.\n *\n * This finds the layout above the new one and generates from it, if it exists.\n *\n * @param {Object} layouts Existing layouts.\n * @param {Array} breakpoints All breakpoints.\n * @param {String} breakpoint New breakpoint.\n * @param {String} breakpoint Last breakpoint (for fallback).\n * @param {Number} cols Column count at new breakpoint.\n * @param {Boolean} verticalCompact Whether or not to compact the layout\n * vertically.\n * @return {Array} New layout.\n */\nfunction findOrGenerateResponsiveLayout(layouts /*: ResponsiveLayout*/, breakpoints /*: Breakpoints*/, breakpoint /*: Breakpoint*/, lastBreakpoint /*: Breakpoint*/, cols /*: number*/, compactType /*: CompactType*/) /*: Layout*/{\n // If it already exists, just return it.\n if (layouts[breakpoint]) return (0, _utils.cloneLayout)(layouts[breakpoint]);\n // Find or generate the next layout\n let layout = layouts[lastBreakpoint];\n const breakpointsSorted = sortBreakpoints(breakpoints);\n const breakpointsAbove = breakpointsSorted.slice(breakpointsSorted.indexOf(breakpoint));\n for (let i = 0, len = breakpointsAbove.length; i < len; i++) {\n const b = breakpointsAbove[i];\n if (layouts[b]) {\n layout = layouts[b];\n break;\n }\n }\n layout = (0, _utils.cloneLayout)(layout || []); // clone layout so we don't modify existing items\n return (0, _utils.compact)((0, _utils.correctBounds)(layout, {\n cols: cols\n }), compactType, cols);\n}\n\n/**\n * Given breakpoints, return an array of breakpoints sorted by width. This is usually\n * e.g. ['xxs', 'xs', 'sm', ...]\n *\n * @param {Object} breakpoints Key/value pair of breakpoint names to widths.\n * @return {Array} Sorted breakpoints.\n */\nfunction sortBreakpoints(breakpoints /*: Breakpoints*/) /*: Array*/{\n const keys /*: Array*/ = Object.keys(breakpoints);\n return keys.sort(function (a, b) {\n return breakpoints[a] - breakpoints[b];\n });\n}","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.bottom = bottom;\nexports.childrenEqual = childrenEqual;\nexports.cloneLayout = cloneLayout;\nexports.cloneLayoutItem = cloneLayoutItem;\nexports.collides = collides;\nexports.compact = compact;\nexports.compactItem = compactItem;\nexports.compactType = compactType;\nexports.correctBounds = correctBounds;\nexports.fastPositionEqual = fastPositionEqual;\nexports.fastRGLPropsEqual = void 0;\nexports.getAllCollisions = getAllCollisions;\nexports.getFirstCollision = getFirstCollision;\nexports.getLayoutItem = getLayoutItem;\nexports.getStatics = getStatics;\nexports.modifyLayout = modifyLayout;\nexports.moveElement = moveElement;\nexports.moveElementAwayFromCollision = moveElementAwayFromCollision;\nexports.noop = void 0;\nexports.perc = perc;\nexports.resizeItemInDirection = resizeItemInDirection;\nexports.setTopLeft = setTopLeft;\nexports.setTransform = setTransform;\nexports.sortLayoutItems = sortLayoutItems;\nexports.sortLayoutItemsByColRow = sortLayoutItemsByColRow;\nexports.sortLayoutItemsByRowCol = sortLayoutItemsByRowCol;\nexports.synchronizeLayoutWithChildren = synchronizeLayoutWithChildren;\nexports.validateLayout = validateLayout;\nexports.withLayoutItem = withLayoutItem;\nvar _fastEquals = require(\"fast-equals\");\nvar _react = _interopRequireDefault(require(\"react\"));\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n/*:: import type {\n ChildrenArray as ReactChildrenArray,\n Element as ReactElement\n} from \"react\";*/\n/*:: export type ResizeHandleAxis =\n | \"s\"\n | \"w\"\n | \"e\"\n | \"n\"\n | \"sw\"\n | \"nw\"\n | \"se\"\n | \"ne\";*/\n/*:: export type LayoutItem = {\n w: number,\n h: number,\n x: number,\n y: number,\n i: string,\n minW?: number,\n minH?: number,\n maxW?: number,\n maxH?: number,\n moved?: boolean,\n static?: boolean,\n isDraggable?: ?boolean,\n isResizable?: ?boolean,\n resizeHandles?: Array,\n isBounded?: ?boolean\n};*/\n/*:: export type Layout = $ReadOnlyArray;*/\n/*:: export type Position = {\n left: number,\n top: number,\n width: number,\n height: number\n};*/\n/*:: export type ReactDraggableCallbackData = {\n node: HTMLElement,\n x?: number,\n y?: number,\n deltaX: number,\n deltaY: number,\n lastX?: number,\n lastY?: number\n};*/\n/*:: export type PartialPosition = { left: number, top: number };*/\n/*:: export type DroppingPosition = { left: number, top: number, e: Event };*/\n/*:: export type Size = { width: number, height: number };*/\n/*:: export type GridDragEvent = {\n e: Event,\n node: HTMLElement,\n newPosition: PartialPosition\n};*/\n/*:: export type GridResizeEvent = {\n e: Event,\n node: HTMLElement,\n size: Size,\n handle: string\n};*/\n/*:: export type DragOverEvent = MouseEvent & {\n nativeEvent: {\n layerX: number,\n layerY: number,\n ...Event\n }\n};*/\n/*:: export type Pick = $Exact<\n $ObjMapi(k: K, v: V) => $ElementType>\n>;*/\n// Helpful port from TS\n/*:: type REl = ReactElement;*/\n/*:: export type ReactChildren = ReactChildrenArray;*/\n/*:: export type EventCallback = (\n Layout,\n oldItem: ?LayoutItem,\n newItem: ?LayoutItem,\n placeholder: ?LayoutItem,\n Event,\n ?HTMLElement\n) => void;*/\n// All callbacks are of the signature (layout, oldItem, newItem, placeholder, e).\n/*:: export type CompactType = ?(\"horizontal\" | \"vertical\");*/\nconst isProduction = process.env.NODE_ENV === \"production\";\nconst DEBUG = false;\n\n/**\n * Return the bottom coordinate of the layout.\n *\n * @param {Array} layout Layout array.\n * @return {Number} Bottom coordinate.\n */\nfunction bottom(layout /*: Layout*/) /*: number*/{\n let max = 0,\n bottomY;\n for (let i = 0, len = layout.length; i < len; i++) {\n bottomY = layout[i].y + layout[i].h;\n if (bottomY > max) max = bottomY;\n }\n return max;\n}\nfunction cloneLayout(layout /*: Layout*/) /*: Layout*/{\n const newLayout = Array(layout.length);\n for (let i = 0, len = layout.length; i < len; i++) {\n newLayout[i] = cloneLayoutItem(layout[i]);\n }\n return newLayout;\n}\n\n// Modify a layoutItem inside a layout. Returns a new Layout,\n// does not mutate. Carries over all other LayoutItems unmodified.\nfunction modifyLayout(layout /*: Layout*/, layoutItem /*: LayoutItem*/) /*: Layout*/{\n const newLayout = Array(layout.length);\n for (let i = 0, len = layout.length; i < len; i++) {\n if (layoutItem.i === layout[i].i) {\n newLayout[i] = layoutItem;\n } else {\n newLayout[i] = layout[i];\n }\n }\n return newLayout;\n}\n\n// Function to be called to modify a layout item.\n// Does defensive clones to ensure the layout is not modified.\nfunction withLayoutItem(layout /*: Layout*/, itemKey /*: string*/, cb /*: LayoutItem => LayoutItem*/) /*: [Layout, ?LayoutItem]*/{\n let item = getLayoutItem(layout, itemKey);\n if (!item) return [layout, null];\n item = cb(cloneLayoutItem(item)); // defensive clone then modify\n // FIXME could do this faster if we already knew the index\n layout = modifyLayout(layout, item);\n return [layout, item];\n}\n\n// Fast path to cloning, since this is monomorphic\nfunction cloneLayoutItem(layoutItem /*: LayoutItem*/) /*: LayoutItem*/{\n return {\n w: layoutItem.w,\n h: layoutItem.h,\n x: layoutItem.x,\n y: layoutItem.y,\n i: layoutItem.i,\n minW: layoutItem.minW,\n maxW: layoutItem.maxW,\n minH: layoutItem.minH,\n maxH: layoutItem.maxH,\n moved: Boolean(layoutItem.moved),\n static: Boolean(layoutItem.static),\n // These can be null/undefined\n isDraggable: layoutItem.isDraggable,\n isResizable: layoutItem.isResizable,\n resizeHandles: layoutItem.resizeHandles,\n isBounded: layoutItem.isBounded\n };\n}\n\n/**\n * Comparing React `children` is a bit difficult. This is a good way to compare them.\n * This will catch differences in keys, order, and length.\n */\nfunction childrenEqual(a /*: ReactChildren*/, b /*: ReactChildren*/) /*: boolean*/{\n return (0, _fastEquals.deepEqual)(_react.default.Children.map(a, c => c?.key), _react.default.Children.map(b, c => c?.key)) && (0, _fastEquals.deepEqual)(_react.default.Children.map(a, c => c?.props[\"data-grid\"]), _react.default.Children.map(b, c => c?.props[\"data-grid\"]));\n}\n\n/**\n * See `fastRGLPropsEqual.js`.\n * We want this to run as fast as possible - it is called often - and to be\n * resilient to new props that we add. So rather than call lodash.isEqual,\n * which isn't suited to comparing props very well, we use this specialized\n * function in conjunction with preval to generate the fastest possible comparison\n * function, tuned for exactly our props.\n */\n/*:: type FastRGLPropsEqual = (Object, Object, Function) => boolean;*/\nconst fastRGLPropsEqual /*: FastRGLPropsEqual*/ = exports.fastRGLPropsEqual = require(\"./fastRGLPropsEqual\");\n\n// Like the above, but a lot simpler.\nfunction fastPositionEqual(a /*: Position*/, b /*: Position*/) /*: boolean*/{\n return a.left === b.left && a.top === b.top && a.width === b.width && a.height === b.height;\n}\n\n/**\n * Given two layoutitems, check if they collide.\n */\nfunction collides(l1 /*: LayoutItem*/, l2 /*: LayoutItem*/) /*: boolean*/{\n if (l1.i === l2.i) return false; // same element\n if (l1.x + l1.w <= l2.x) return false; // l1 is left of l2\n if (l1.x >= l2.x + l2.w) return false; // l1 is right of l2\n if (l1.y + l1.h <= l2.y) return false; // l1 is above l2\n if (l1.y >= l2.y + l2.h) return false; // l1 is below l2\n return true; // boxes overlap\n}\n\n/**\n * Given a layout, compact it. This involves going down each y coordinate and removing gaps\n * between items.\n *\n * Does not modify layout items (clones). Creates a new layout array.\n *\n * @param {Array} layout Layout.\n * @param {Boolean} verticalCompact Whether or not to compact the layout\n * vertically.\n * @param {Boolean} allowOverlap When `true`, allows overlapping grid items.\n * @return {Array} Compacted Layout.\n */\nfunction compact(layout /*: Layout*/, compactType /*: CompactType*/, cols /*: number*/, allowOverlap /*: ?boolean*/) /*: Layout*/{\n // Statics go in the compareWith array right away so items flow around them.\n const compareWith = getStatics(layout);\n // We go through the items by row and column.\n const sorted = sortLayoutItems(layout, compactType);\n // Holding for new items.\n const out = Array(layout.length);\n for (let i = 0, len = sorted.length; i < len; i++) {\n let l = cloneLayoutItem(sorted[i]);\n\n // Don't move static elements\n if (!l.static) {\n l = compactItem(compareWith, l, compactType, cols, sorted, allowOverlap);\n\n // Add to comparison array. We only collide with items before this one.\n // Statics are already in this array.\n compareWith.push(l);\n }\n\n // Add to output array to make sure they still come out in the right order.\n out[layout.indexOf(sorted[i])] = l;\n\n // Clear moved flag, if it exists.\n l.moved = false;\n }\n return out;\n}\nconst heightWidth = {\n x: \"w\",\n y: \"h\"\n};\n/**\n * Before moving item down, it will check if the movement will cause collisions and move those items down before.\n */\nfunction resolveCompactionCollision(layout /*: Layout*/, item /*: LayoutItem*/, moveToCoord /*: number*/, axis /*: \"x\" | \"y\"*/) {\n const sizeProp = heightWidth[axis];\n item[axis] += 1;\n const itemIndex = layout.map(layoutItem => {\n return layoutItem.i;\n }).indexOf(item.i);\n\n // Go through each item we collide with.\n for (let i = itemIndex + 1; i < layout.length; i++) {\n const otherItem = layout[i];\n // Ignore static items\n if (otherItem.static) continue;\n\n // Optimization: we can break early if we know we're past this el\n // We can do this b/c it's a sorted layout\n if (otherItem.y > item.y + item.h) break;\n if (collides(item, otherItem)) {\n resolveCompactionCollision(layout, otherItem, moveToCoord + item[sizeProp], axis);\n }\n }\n item[axis] = moveToCoord;\n}\n\n/**\n * Compact an item in the layout.\n *\n * Modifies item.\n *\n */\nfunction compactItem(compareWith /*: Layout*/, l /*: LayoutItem*/, compactType /*: CompactType*/, cols /*: number*/, fullLayout /*: Layout*/, allowOverlap /*: ?boolean*/) /*: LayoutItem*/{\n const compactV = compactType === \"vertical\";\n const compactH = compactType === \"horizontal\";\n if (compactV) {\n // Bottom 'y' possible is the bottom of the layout.\n // This allows you to do nice stuff like specify {y: Infinity}\n // This is here because the layout must be sorted in order to get the correct bottom `y`.\n l.y = Math.min(bottom(compareWith), l.y);\n // Move the element up as far as it can go without colliding.\n while (l.y > 0 && !getFirstCollision(compareWith, l)) {\n l.y--;\n }\n } else if (compactH) {\n // Move the element left as far as it can go without colliding.\n while (l.x > 0 && !getFirstCollision(compareWith, l)) {\n l.x--;\n }\n }\n\n // Move it down, and keep moving it down if it's colliding.\n let collides;\n // Checking the compactType null value to avoid breaking the layout when overlapping is allowed.\n while ((collides = getFirstCollision(compareWith, l)) && !(compactType === null && allowOverlap)) {\n if (compactH) {\n resolveCompactionCollision(fullLayout, l, collides.x + collides.w, \"x\");\n } else {\n resolveCompactionCollision(fullLayout, l, collides.y + collides.h, \"y\");\n }\n // Since we can't grow without bounds horizontally, if we've overflown, let's move it down and try again.\n if (compactH && l.x + l.w > cols) {\n l.x = cols - l.w;\n l.y++;\n // ALso move element as left as we can\n while (l.x > 0 && !getFirstCollision(compareWith, l)) {\n l.x--;\n }\n }\n }\n\n // Ensure that there are no negative positions\n l.y = Math.max(l.y, 0);\n l.x = Math.max(l.x, 0);\n return l;\n}\n\n/**\n * Given a layout, make sure all elements fit within its bounds.\n *\n * Modifies layout items.\n *\n * @param {Array} layout Layout array.\n * @param {Number} bounds Number of columns.\n */\nfunction correctBounds(layout /*: Layout*/, bounds /*: { cols: number }*/) /*: Layout*/{\n const collidesWith = getStatics(layout);\n for (let i = 0, len = layout.length; i < len; i++) {\n const l = layout[i];\n // Overflows right\n if (l.x + l.w > bounds.cols) l.x = bounds.cols - l.w;\n // Overflows left\n if (l.x < 0) {\n l.x = 0;\n l.w = bounds.cols;\n }\n if (!l.static) collidesWith.push(l);else {\n // If this is static and collides with other statics, we must move it down.\n // We have to do something nicer than just letting them overlap.\n while (getFirstCollision(collidesWith, l)) {\n l.y++;\n }\n }\n }\n return layout;\n}\n\n/**\n * Get a layout item by ID. Used so we can override later on if necessary.\n *\n * @param {Array} layout Layout array.\n * @param {String} id ID\n * @return {LayoutItem} Item at ID.\n */\nfunction getLayoutItem(layout /*: Layout*/, id /*: string*/) /*: ?LayoutItem*/{\n for (let i = 0, len = layout.length; i < len; i++) {\n if (layout[i].i === id) return layout[i];\n }\n}\n\n/**\n * Returns the first item this layout collides with.\n * It doesn't appear to matter which order we approach this from, although\n * perhaps that is the wrong thing to do.\n *\n * @param {Object} layoutItem Layout item.\n * @return {Object|undefined} A colliding layout item, or undefined.\n */\nfunction getFirstCollision(layout /*: Layout*/, layoutItem /*: LayoutItem*/) /*: ?LayoutItem*/{\n for (let i = 0, len = layout.length; i < len; i++) {\n if (collides(layout[i], layoutItem)) return layout[i];\n }\n}\nfunction getAllCollisions(layout /*: Layout*/, layoutItem /*: LayoutItem*/) /*: Array*/{\n return layout.filter(l => collides(l, layoutItem));\n}\n\n/**\n * Get all static elements.\n * @param {Array} layout Array of layout objects.\n * @return {Array} Array of static layout items..\n */\nfunction getStatics(layout /*: Layout*/) /*: Array*/{\n return layout.filter(l => l.static);\n}\n\n/**\n * Move an element. Responsible for doing cascading movements of other elements.\n *\n * Modifies layout items.\n *\n * @param {Array} layout Full layout to modify.\n * @param {LayoutItem} l element to move.\n * @param {Number} [x] X position in grid units.\n * @param {Number} [y] Y position in grid units.\n */\nfunction moveElement(layout /*: Layout*/, l /*: LayoutItem*/, x /*: ?number*/, y /*: ?number*/, isUserAction /*: ?boolean*/, preventCollision /*: ?boolean*/, compactType /*: CompactType*/, cols /*: number*/, allowOverlap /*: ?boolean*/) /*: Layout*/{\n // If this is static and not explicitly enabled as draggable,\n // no move is possible, so we can short-circuit this immediately.\n if (l.static && l.isDraggable !== true) return layout;\n\n // Short-circuit if nothing to do.\n if (l.y === y && l.x === x) return layout;\n log(`Moving element ${l.i} to [${String(x)},${String(y)}] from [${l.x},${l.y}]`);\n const oldX = l.x;\n const oldY = l.y;\n\n // This is quite a bit faster than extending the object\n if (typeof x === \"number\") l.x = x;\n if (typeof y === \"number\") l.y = y;\n l.moved = true;\n\n // If this collides with anything, move it.\n // When doing this comparison, we have to sort the items we compare with\n // to ensure, in the case of multiple collisions, that we're getting the\n // nearest collision.\n let sorted = sortLayoutItems(layout, compactType);\n const movingUp = compactType === \"vertical\" && typeof y === \"number\" ? oldY >= y : compactType === \"horizontal\" && typeof x === \"number\" ? oldX >= x : false;\n // $FlowIgnore acceptable modification of read-only array as it was recently cloned\n if (movingUp) sorted = sorted.reverse();\n const collisions = getAllCollisions(sorted, l);\n const hasCollisions = collisions.length > 0;\n\n // We may have collisions. We can short-circuit if we've turned off collisions or\n // allowed overlap.\n if (hasCollisions && allowOverlap) {\n // Easy, we don't need to resolve collisions. But we *did* change the layout,\n // so clone it on the way out.\n return cloneLayout(layout);\n } else if (hasCollisions && preventCollision) {\n // If we are preventing collision but not allowing overlap, we need to\n // revert the position of this element so it goes to where it came from, rather\n // than the user's desired location.\n log(`Collision prevented on ${l.i}, reverting.`);\n l.x = oldX;\n l.y = oldY;\n l.moved = false;\n return layout; // did not change so don't clone\n }\n\n // Move each item that collides away from this element.\n for (let i = 0, len = collisions.length; i < len; i++) {\n const collision = collisions[i];\n log(`Resolving collision between ${l.i} at [${l.x},${l.y}] and ${collision.i} at [${collision.x},${collision.y}]`);\n\n // Short circuit so we can't infinite loop\n if (collision.moved) continue;\n\n // Don't move static items - we have to move *this* element away\n if (collision.static) {\n layout = moveElementAwayFromCollision(layout, collision, l, isUserAction, compactType, cols);\n } else {\n layout = moveElementAwayFromCollision(layout, l, collision, isUserAction, compactType, cols);\n }\n }\n return layout;\n}\n\n/**\n * This is where the magic needs to happen - given a collision, move an element away from the collision.\n * We attempt to move it up if there's room, otherwise it goes below.\n *\n * @param {Array} layout Full layout to modify.\n * @param {LayoutItem} collidesWith Layout item we're colliding with.\n * @param {LayoutItem} itemToMove Layout item we're moving.\n */\nfunction moveElementAwayFromCollision(layout /*: Layout*/, collidesWith /*: LayoutItem*/, itemToMove /*: LayoutItem*/, isUserAction /*: ?boolean*/, compactType /*: CompactType*/, cols /*: number*/) /*: Layout*/{\n const compactH = compactType === \"horizontal\";\n // Compact vertically if not set to horizontal\n const compactV = compactType === \"vertical\";\n const preventCollision = collidesWith.static; // we're already colliding (not for static items)\n\n // If there is enough space above the collision to put this element, move it there.\n // We only do this on the main collision as this can get funky in cascades and cause\n // unwanted swapping behavior.\n if (isUserAction) {\n // Reset isUserAction flag because we're not in the main collision anymore.\n isUserAction = false;\n\n // Make a mock item so we don't modify the item here, only modify in moveElement.\n const fakeItem /*: LayoutItem*/ = {\n x: compactH ? Math.max(collidesWith.x - itemToMove.w, 0) : itemToMove.x,\n y: compactV ? Math.max(collidesWith.y - itemToMove.h, 0) : itemToMove.y,\n w: itemToMove.w,\n h: itemToMove.h,\n i: \"-1\"\n };\n const firstCollision = getFirstCollision(layout, fakeItem);\n const collisionNorth = firstCollision && firstCollision.y + firstCollision.h > collidesWith.y;\n const collisionWest = firstCollision && collidesWith.x + collidesWith.w > firstCollision.x;\n\n // No collision? If so, we can go up there; otherwise, we'll end up moving down as normal\n if (!firstCollision) {\n log(`Doing reverse collision on ${itemToMove.i} up to [${fakeItem.x},${fakeItem.y}].`);\n return moveElement(layout, itemToMove, compactH ? fakeItem.x : undefined, compactV ? fakeItem.y : undefined, isUserAction, preventCollision, compactType, cols);\n } else if (collisionNorth && compactV) {\n return moveElement(layout, itemToMove, undefined, collidesWith.y + 1, isUserAction, preventCollision, compactType, cols);\n } else if (collisionNorth && compactType == null) {\n collidesWith.y = itemToMove.y;\n itemToMove.y = itemToMove.y + itemToMove.h;\n return layout;\n } else if (collisionWest && compactH) {\n return moveElement(layout, collidesWith, itemToMove.x, undefined, isUserAction, preventCollision, compactType, cols);\n }\n }\n const newX = compactH ? itemToMove.x + 1 : undefined;\n const newY = compactV ? itemToMove.y + 1 : undefined;\n if (newX == null && newY == null) {\n return layout;\n }\n return moveElement(layout, itemToMove, compactH ? itemToMove.x + 1 : undefined, compactV ? itemToMove.y + 1 : undefined, isUserAction, preventCollision, compactType, cols);\n}\n\n/**\n * Helper to convert a number to a percentage string.\n *\n * @param {Number} num Any number\n * @return {String} That number as a percentage.\n */\nfunction perc(num /*: number*/) /*: string*/{\n return num * 100 + \"%\";\n}\n\n/**\n * Helper functions to constrain dimensions of a GridItem\n */\nconst constrainWidth = (left /*: number*/, currentWidth /*: number*/, newWidth /*: number*/, containerWidth /*: number*/) => {\n return left + newWidth > containerWidth ? currentWidth : newWidth;\n};\nconst constrainHeight = (top /*: number*/, currentHeight /*: number*/, newHeight /*: number*/) => {\n return top < 0 ? currentHeight : newHeight;\n};\nconst constrainLeft = (left /*: number*/) => Math.max(0, left);\nconst constrainTop = (top /*: number*/) => Math.max(0, top);\nconst resizeNorth = (currentSize, _ref, _containerWidth) => {\n let {\n left,\n height,\n width\n } = _ref;\n const top = currentSize.top - (height - currentSize.height);\n return {\n left,\n width,\n height: constrainHeight(top, currentSize.height, height),\n top: constrainTop(top)\n };\n};\nconst resizeEast = (currentSize, _ref2, containerWidth) => {\n let {\n top,\n left,\n height,\n width\n } = _ref2;\n return {\n top,\n height,\n width: constrainWidth(currentSize.left, currentSize.width, width, containerWidth),\n left: constrainLeft(left)\n };\n};\nconst resizeWest = (currentSize, _ref3, containerWidth) => {\n let {\n top,\n height,\n width\n } = _ref3;\n const left = currentSize.left - (width - currentSize.width);\n return {\n height,\n width: left < 0 ? currentSize.width : constrainWidth(currentSize.left, currentSize.width, width, containerWidth),\n top: constrainTop(top),\n left: constrainLeft(left)\n };\n};\nconst resizeSouth = (currentSize, _ref4, containerWidth) => {\n let {\n top,\n left,\n height,\n width\n } = _ref4;\n return {\n width,\n left,\n height: constrainHeight(top, currentSize.height, height),\n top: constrainTop(top)\n };\n};\nconst resizeNorthEast = function () {\n return resizeNorth(arguments.length <= 0 ? undefined : arguments[0], resizeEast(...arguments), arguments.length <= 2 ? undefined : arguments[2]);\n};\nconst resizeNorthWest = function () {\n return resizeNorth(arguments.length <= 0 ? undefined : arguments[0], resizeWest(...arguments), arguments.length <= 2 ? undefined : arguments[2]);\n};\nconst resizeSouthEast = function () {\n return resizeSouth(arguments.length <= 0 ? undefined : arguments[0], resizeEast(...arguments), arguments.length <= 2 ? undefined : arguments[2]);\n};\nconst resizeSouthWest = function () {\n return resizeSouth(arguments.length <= 0 ? undefined : arguments[0], resizeWest(...arguments), arguments.length <= 2 ? undefined : arguments[2]);\n};\nconst ordinalResizeHandlerMap = {\n n: resizeNorth,\n ne: resizeNorthEast,\n e: resizeEast,\n se: resizeSouthEast,\n s: resizeSouth,\n sw: resizeSouthWest,\n w: resizeWest,\n nw: resizeNorthWest\n};\n\n/**\n * Helper for clamping width and position when resizing an item.\n */\nfunction resizeItemInDirection(direction /*: ResizeHandleAxis*/, currentSize /*: Position*/, newSize /*: Position*/, containerWidth /*: number*/) /*: Position*/{\n const ordinalHandler = ordinalResizeHandlerMap[direction];\n // Shouldn't be possible given types; that said, don't fail hard\n if (!ordinalHandler) return newSize;\n return ordinalHandler(currentSize, {\n ...currentSize,\n ...newSize\n }, containerWidth);\n}\nfunction setTransform(_ref5 /*:: */) /*: Object*/{\n let {\n top,\n left,\n width,\n height\n } /*: Position*/ = _ref5 /*: Position*/;\n // Replace unitless items with px\n const translate = `translate(${left}px,${top}px)`;\n return {\n transform: translate,\n WebkitTransform: translate,\n MozTransform: translate,\n msTransform: translate,\n OTransform: translate,\n width: `${width}px`,\n height: `${height}px`,\n position: \"absolute\"\n };\n}\nfunction setTopLeft(_ref6 /*:: */) /*: Object*/{\n let {\n top,\n left,\n width,\n height\n } /*: Position*/ = _ref6 /*: Position*/;\n return {\n top: `${top}px`,\n left: `${left}px`,\n width: `${width}px`,\n height: `${height}px`,\n position: \"absolute\"\n };\n}\n\n/**\n * Get layout items sorted from top left to right and down.\n *\n * @return {Array} Array of layout objects.\n * @return {Array} Layout, sorted static items first.\n */\nfunction sortLayoutItems(layout /*: Layout*/, compactType /*: CompactType*/) /*: Layout*/{\n if (compactType === \"horizontal\") return sortLayoutItemsByColRow(layout);\n if (compactType === \"vertical\") return sortLayoutItemsByRowCol(layout);else return layout;\n}\n\n/**\n * Sort layout items by row ascending and column ascending.\n *\n * Does not modify Layout.\n */\nfunction sortLayoutItemsByRowCol(layout /*: Layout*/) /*: Layout*/{\n // Slice to clone array as sort modifies\n return layout.slice(0).sort(function (a, b) {\n if (a.y > b.y || a.y === b.y && a.x > b.x) {\n return 1;\n } else if (a.y === b.y && a.x === b.x) {\n // Without this, we can get different sort results in IE vs. Chrome/FF\n return 0;\n }\n return -1;\n });\n}\n\n/**\n * Sort layout items by column ascending then row ascending.\n *\n * Does not modify Layout.\n */\nfunction sortLayoutItemsByColRow(layout /*: Layout*/) /*: Layout*/{\n return layout.slice(0).sort(function (a, b) {\n if (a.x > b.x || a.x === b.x && a.y > b.y) {\n return 1;\n }\n return -1;\n });\n}\n\n/**\n * Generate a layout using the initialLayout and children as a template.\n * Missing entries will be added, extraneous ones will be truncated.\n *\n * Does not modify initialLayout.\n *\n * @param {Array} initialLayout Layout passed in through props.\n * @param {String} breakpoint Current responsive breakpoint.\n * @param {?String} compact Compaction option.\n * @return {Array} Working layout.\n */\nfunction synchronizeLayoutWithChildren(initialLayout /*: Layout*/, children /*: ReactChildren*/, cols /*: number*/, compactType /*: CompactType*/, allowOverlap /*: ?boolean*/) /*: Layout*/{\n initialLayout = initialLayout || [];\n\n // Generate one layout item per child.\n const layout /*: LayoutItem[]*/ = [];\n _react.default.Children.forEach(children, (child /*: ReactElement*/) => {\n // Child may not exist\n if (child?.key == null) return;\n const exists = getLayoutItem(initialLayout, String(child.key));\n const g = child.props[\"data-grid\"];\n // Don't overwrite the layout item if it's already in the initial layout.\n // If it has a `data-grid` property, prefer that over what's in the layout.\n if (exists && g == null) {\n layout.push(cloneLayoutItem(exists));\n } else {\n // Hey, this item has a data-grid property, use it.\n if (g) {\n if (!isProduction) {\n validateLayout([g], \"ReactGridLayout.children\");\n }\n // FIXME clone not really necessary here\n layout.push(cloneLayoutItem({\n ...g,\n i: child.key\n }));\n } else {\n // Nothing provided: ensure this is added to the bottom\n // FIXME clone not really necessary here\n layout.push(cloneLayoutItem({\n w: 1,\n h: 1,\n x: 0,\n y: bottom(layout),\n i: String(child.key)\n }));\n }\n }\n });\n\n // Correct the layout.\n const correctedLayout = correctBounds(layout, {\n cols: cols\n });\n return allowOverlap ? correctedLayout : compact(correctedLayout, compactType, cols);\n}\n\n/**\n * Validate a layout. Throws errors.\n *\n * @param {Array} layout Array of layout items.\n * @param {String} [contextName] Context name for errors.\n * @throw {Error} Validation error.\n */\nfunction validateLayout(layout /*: Layout*/) /*: void*/{\n let contextName /*: string*/ = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : \"Layout\";\n const subProps = [\"x\", \"y\", \"w\", \"h\"];\n if (!Array.isArray(layout)) throw new Error(contextName + \" must be an array!\");\n for (let i = 0, len = layout.length; i < len; i++) {\n const item = layout[i];\n for (let j = 0; j < subProps.length; j++) {\n if (typeof item[subProps[j]] !== \"number\") {\n throw new Error(\"ReactGridLayout: \" + contextName + \"[\" + i + \"].\" + subProps[j] + \" must be a number!\");\n }\n }\n }\n}\n\n// Legacy support for verticalCompact: false\nfunction compactType(props /*: ?{ verticalCompact: boolean, compactType: CompactType }*/) /*: CompactType*/{\n const {\n verticalCompact,\n compactType\n } = props || {};\n return verticalCompact === false ? null : compactType;\n}\nfunction log() {\n if (!DEBUG) return;\n // eslint-disable-next-line no-console\n console.log(...arguments);\n}\nconst noop = () => {};\nexports.noop = noop;","module.exports = require(\"./build/ReactGridLayout\").default;\nmodule.exports.utils = require(\"./build/utils\");\nmodule.exports.calculateUtils = require(\"./build/calculateUtils\");\nmodule.exports.Responsive =\n require(\"./build/ResponsiveReactGridLayout\").default;\nmodule.exports.Responsive.utils = require(\"./build/responsiveUtils\");\nmodule.exports.WidthProvider =\n require(\"./build/components/WidthProvider\").default;\n","\"use strict\";\n\nexports.__esModule = true;\nexports.default = void 0;\nvar React = _interopRequireWildcard(require(\"react\"));\nvar _reactDraggable = require(\"react-draggable\");\nvar _utils = require(\"./utils\");\nvar _propTypes = require(\"./propTypes\");\nvar _excluded = [\"children\", \"className\", \"draggableOpts\", \"width\", \"height\", \"handle\", \"handleSize\", \"lockAspectRatio\", \"axis\", \"minConstraints\", \"maxConstraints\", \"onResize\", \"onResizeStop\", \"onResizeStart\", \"resizeHandles\", \"transformScale\"];\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); }\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; }\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : 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); }\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; }\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\nfunction _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\nfunction _toPropertyKey(arg) { var key = _toPrimitive(arg, \"string\"); return typeof key === \"symbol\" ? key : String(key); }\nfunction _toPrimitive(input, hint) { if (typeof input !== \"object\" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || \"default\"); if (typeof res !== \"object\") return res; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (hint === \"string\" ? String : Number)(input); }\nfunction _inheritsLoose(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; _setPrototypeOf(subClass, superClass); }\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n// The base component.\n// This component does not have state and relies on the parent to set its props based on callback data.\nvar Resizable = /*#__PURE__*/function (_React$Component) {\n _inheritsLoose(Resizable, _React$Component);\n function Resizable() {\n var _this;\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n _this = _React$Component.call.apply(_React$Component, [this].concat(args)) || this;\n _this.handleRefs = {};\n _this.lastHandleRect = null;\n _this.slack = null;\n return _this;\n }\n var _proto = Resizable.prototype;\n _proto.componentWillUnmount = function componentWillUnmount() {\n this.resetData();\n };\n _proto.resetData = function resetData() {\n this.lastHandleRect = this.slack = null;\n }\n\n // Clamp width and height within provided constraints\n ;\n _proto.runConstraints = function runConstraints(width, height) {\n var _this$props = this.props,\n minConstraints = _this$props.minConstraints,\n maxConstraints = _this$props.maxConstraints,\n lockAspectRatio = _this$props.lockAspectRatio;\n // short circuit\n if (!minConstraints && !maxConstraints && !lockAspectRatio) return [width, height];\n\n // If constraining to min and max, we need to also fit width and height to aspect ratio.\n if (lockAspectRatio) {\n var ratio = this.props.width / this.props.height;\n var deltaW = width - this.props.width;\n var deltaH = height - this.props.height;\n\n // Find which coordinate was greater and should push the other toward it.\n // E.g.:\n // ratio = 1, deltaW = 10, deltaH = 5, deltaH should become 10.\n // ratio = 2, deltaW = 10, deltaH = 6, deltaW should become 12.\n if (Math.abs(deltaW) > Math.abs(deltaH * ratio)) {\n height = width / ratio;\n } else {\n width = height * ratio;\n }\n }\n var oldW = width,\n oldH = height;\n\n // Add slack to the values used to calculate bound position. This will ensure that if\n // we start removing slack, the element won't react to it right away until it's been\n // completely removed.\n var _ref = this.slack || [0, 0],\n slackW = _ref[0],\n slackH = _ref[1];\n width += slackW;\n height += slackH;\n if (minConstraints) {\n width = Math.max(minConstraints[0], width);\n height = Math.max(minConstraints[1], height);\n }\n if (maxConstraints) {\n width = Math.min(maxConstraints[0], width);\n height = Math.min(maxConstraints[1], height);\n }\n\n // If the width or height changed, we must have introduced some slack. Record it for the next iteration.\n this.slack = [slackW + (oldW - width), slackH + (oldH - height)];\n return [width, height];\n }\n\n /**\n * Wrapper around drag events to provide more useful data.\n *\n * @param {String} handlerName Handler name to wrap.\n * @return {Function} Handler function.\n */;\n _proto.resizeHandler = function resizeHandler(handlerName, axis) {\n var _this2 = this;\n return function (e, _ref2) {\n var node = _ref2.node,\n deltaX = _ref2.deltaX,\n deltaY = _ref2.deltaY;\n // Reset data in case it was left over somehow (should not be possible)\n if (handlerName === 'onResizeStart') _this2.resetData();\n\n // Axis restrictions\n var canDragX = (_this2.props.axis === 'both' || _this2.props.axis === 'x') && axis !== 'n' && axis !== 's';\n var canDragY = (_this2.props.axis === 'both' || _this2.props.axis === 'y') && axis !== 'e' && axis !== 'w';\n // No dragging possible.\n if (!canDragX && !canDragY) return;\n\n // Decompose axis for later use\n var axisV = axis[0];\n var axisH = axis[axis.length - 1]; // intentionally not axis[1], so that this catches axis === 'w' for example\n\n // Track the element being dragged to account for changes in position.\n // If a handle's position is changed between callbacks, we need to factor this in to the next callback.\n // Failure to do so will cause the element to \"skip\" when resized upwards or leftwards.\n var handleRect = node.getBoundingClientRect();\n if (_this2.lastHandleRect != null) {\n // If the handle has repositioned on either axis since last render,\n // we need to increase our callback values by this much.\n // Only checking 'n', 'w' since resizing by 's', 'w' won't affect the overall position on page,\n if (axisH === 'w') {\n var deltaLeftSinceLast = handleRect.left - _this2.lastHandleRect.left;\n deltaX += deltaLeftSinceLast;\n }\n if (axisV === 'n') {\n var deltaTopSinceLast = handleRect.top - _this2.lastHandleRect.top;\n deltaY += deltaTopSinceLast;\n }\n }\n // Storage of last rect so we know how much it has really moved.\n _this2.lastHandleRect = handleRect;\n\n // Reverse delta if using top or left drag handles.\n if (axisH === 'w') deltaX = -deltaX;\n if (axisV === 'n') deltaY = -deltaY;\n\n // Update w/h by the deltas. Also factor in transformScale.\n var width = _this2.props.width + (canDragX ? deltaX / _this2.props.transformScale : 0);\n var height = _this2.props.height + (canDragY ? deltaY / _this2.props.transformScale : 0);\n\n // Run user-provided constraints.\n var _this2$runConstraints = _this2.runConstraints(width, height);\n width = _this2$runConstraints[0];\n height = _this2$runConstraints[1];\n var dimensionsChanged = width !== _this2.props.width || height !== _this2.props.height;\n\n // Call user-supplied callback if present.\n var cb = typeof _this2.props[handlerName] === 'function' ? _this2.props[handlerName] : null;\n // Don't call 'onResize' if dimensions haven't changed.\n var shouldSkipCb = handlerName === 'onResize' && !dimensionsChanged;\n if (cb && !shouldSkipCb) {\n e.persist == null ? void 0 : e.persist();\n cb(e, {\n node: node,\n size: {\n width: width,\n height: height\n },\n handle: axis\n });\n }\n\n // Reset internal data\n if (handlerName === 'onResizeStop') _this2.resetData();\n };\n }\n\n // Render a resize handle given an axis & DOM ref. Ref *must* be attached for\n // the underlying draggable library to work properly.\n ;\n _proto.renderResizeHandle = function renderResizeHandle(handleAxis, ref) {\n var handle = this.props.handle;\n // No handle provided, make the default\n if (!handle) {\n return /*#__PURE__*/React.createElement(\"span\", {\n className: \"react-resizable-handle react-resizable-handle-\" + handleAxis,\n ref: ref\n });\n }\n // Handle is a function, such as:\n // `handle={(handleAxis) => }`\n if (typeof handle === 'function') {\n return handle(handleAxis, ref);\n }\n // Handle is a React component (composite or DOM).\n var isDOMElement = typeof handle.type === 'string';\n var props = _objectSpread({\n ref: ref\n }, isDOMElement ? {} : {\n handleAxis: handleAxis\n });\n return /*#__PURE__*/React.cloneElement(handle, props);\n };\n _proto.render = function render() {\n var _this3 = this;\n // Pass along only props not meant for the ``.`\n // eslint-disable-next-line no-unused-vars\n var _this$props2 = this.props,\n children = _this$props2.children,\n className = _this$props2.className,\n draggableOpts = _this$props2.draggableOpts,\n width = _this$props2.width,\n height = _this$props2.height,\n handle = _this$props2.handle,\n handleSize = _this$props2.handleSize,\n lockAspectRatio = _this$props2.lockAspectRatio,\n axis = _this$props2.axis,\n minConstraints = _this$props2.minConstraints,\n maxConstraints = _this$props2.maxConstraints,\n onResize = _this$props2.onResize,\n onResizeStop = _this$props2.onResizeStop,\n onResizeStart = _this$props2.onResizeStart,\n resizeHandles = _this$props2.resizeHandles,\n transformScale = _this$props2.transformScale,\n p = _objectWithoutPropertiesLoose(_this$props2, _excluded);\n\n // What we're doing here is getting the child of this element, and cloning it with this element's props.\n // We are then defining its children as:\n // 1. Its original children (resizable's child's children), and\n // 2. One or more draggable handles.\n return (0, _utils.cloneElement)(children, _objectSpread(_objectSpread({}, p), {}, {\n className: (className ? className + \" \" : '') + \"react-resizable\",\n children: [].concat(children.props.children, resizeHandles.map(function (handleAxis) {\n var _this3$handleRefs$han;\n // Create a ref to the handle so that `` doesn't have to use ReactDOM.findDOMNode().\n var ref = (_this3$handleRefs$han = _this3.handleRefs[handleAxis]) != null ? _this3$handleRefs$han : _this3.handleRefs[handleAxis] = /*#__PURE__*/React.createRef();\n return /*#__PURE__*/React.createElement(_reactDraggable.DraggableCore, _extends({}, draggableOpts, {\n nodeRef: ref,\n key: \"resizableHandle-\" + handleAxis,\n onStop: _this3.resizeHandler('onResizeStop', handleAxis),\n onStart: _this3.resizeHandler('onResizeStart', handleAxis),\n onDrag: _this3.resizeHandler('onResize', handleAxis)\n }), _this3.renderResizeHandle(handleAxis, ref));\n }))\n }));\n };\n return Resizable;\n}(React.Component);\nexports.default = Resizable;\nResizable.propTypes = _propTypes.resizableProps;\nResizable.defaultProps = {\n axis: 'both',\n handleSize: [20, 20],\n lockAspectRatio: false,\n minConstraints: [20, 20],\n maxConstraints: [Infinity, Infinity],\n resizeHandles: ['se'],\n transformScale: 1\n};","\"use strict\";\n\nexports.__esModule = true;\nexports.default = void 0;\nvar React = _interopRequireWildcard(require(\"react\"));\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\nvar _Resizable = _interopRequireDefault(require(\"./Resizable\"));\nvar _propTypes2 = require(\"./propTypes\");\nvar _excluded = [\"handle\", \"handleSize\", \"onResize\", \"onResizeStart\", \"onResizeStop\", \"draggableOpts\", \"minConstraints\", \"maxConstraints\", \"lockAspectRatio\", \"axis\", \"width\", \"height\", \"resizeHandles\", \"style\", \"transformScale\"];\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\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); }\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; }\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : 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); }\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\nfunction _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\nfunction _toPropertyKey(arg) { var key = _toPrimitive(arg, \"string\"); return typeof key === \"symbol\" ? key : String(key); }\nfunction _toPrimitive(input, hint) { if (typeof input !== \"object\" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || \"default\"); if (typeof res !== \"object\") return res; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (hint === \"string\" ? String : Number)(input); }\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; }\nfunction _inheritsLoose(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; _setPrototypeOf(subClass, superClass); }\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\nvar ResizableBox = /*#__PURE__*/function (_React$Component) {\n _inheritsLoose(ResizableBox, _React$Component);\n function ResizableBox() {\n var _this;\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n _this = _React$Component.call.apply(_React$Component, [this].concat(args)) || this;\n _this.state = {\n width: _this.props.width,\n height: _this.props.height,\n propsWidth: _this.props.width,\n propsHeight: _this.props.height\n };\n _this.onResize = function (e, data) {\n var size = data.size;\n if (_this.props.onResize) {\n e.persist == null ? void 0 : e.persist();\n _this.setState(size, function () {\n return _this.props.onResize && _this.props.onResize(e, data);\n });\n } else {\n _this.setState(size);\n }\n };\n return _this;\n }\n ResizableBox.getDerivedStateFromProps = function getDerivedStateFromProps(props, state) {\n // If parent changes height/width, set that in our state.\n if (state.propsWidth !== props.width || state.propsHeight !== props.height) {\n return {\n width: props.width,\n height: props.height,\n propsWidth: props.width,\n propsHeight: props.height\n };\n }\n return null;\n };\n var _proto = ResizableBox.prototype;\n _proto.render = function render() {\n // Basic wrapper around a Resizable instance.\n // If you use Resizable directly, you are responsible for updating the child component\n // with a new width and height.\n var _this$props = this.props,\n handle = _this$props.handle,\n handleSize = _this$props.handleSize,\n onResize = _this$props.onResize,\n onResizeStart = _this$props.onResizeStart,\n onResizeStop = _this$props.onResizeStop,\n draggableOpts = _this$props.draggableOpts,\n minConstraints = _this$props.minConstraints,\n maxConstraints = _this$props.maxConstraints,\n lockAspectRatio = _this$props.lockAspectRatio,\n axis = _this$props.axis,\n width = _this$props.width,\n height = _this$props.height,\n resizeHandles = _this$props.resizeHandles,\n style = _this$props.style,\n transformScale = _this$props.transformScale,\n props = _objectWithoutPropertiesLoose(_this$props, _excluded);\n return /*#__PURE__*/React.createElement(_Resizable.default, {\n axis: axis,\n draggableOpts: draggableOpts,\n handle: handle,\n handleSize: handleSize,\n height: this.state.height,\n lockAspectRatio: lockAspectRatio,\n maxConstraints: maxConstraints,\n minConstraints: minConstraints,\n onResizeStart: onResizeStart,\n onResize: this.onResize,\n onResizeStop: onResizeStop,\n resizeHandles: resizeHandles,\n transformScale: transformScale,\n width: this.state.width\n }, /*#__PURE__*/React.createElement(\"div\", _extends({}, props, {\n style: _objectSpread(_objectSpread({}, style), {}, {\n width: this.state.width + 'px',\n height: this.state.height + 'px'\n })\n })));\n };\n return ResizableBox;\n}(React.Component);\nexports.default = ResizableBox;\n// PropTypes are identical to , except that children are not strictly required to be present.\nResizableBox.propTypes = _objectSpread(_objectSpread({}, _propTypes2.resizableProps), {}, {\n children: _propTypes.default.element\n});","\"use strict\";\n\nexports.__esModule = true;\nexports.resizableProps = void 0;\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\nvar _reactDraggable = require(\"react-draggable\");\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\nvar resizableProps = {\n /*\n * Restricts resizing to a particular axis (default: 'both')\n * 'both' - allows resizing by width or height\n * 'x' - only allows the width to be changed\n * 'y' - only allows the height to be changed\n * 'none' - disables resizing altogether\n * */\n axis: _propTypes.default.oneOf(['both', 'x', 'y', 'none']),\n className: _propTypes.default.string,\n /*\n * Require that one and only one child be present.\n * */\n children: _propTypes.default.element.isRequired,\n /*\n * These will be passed wholesale to react-draggable's DraggableCore\n * */\n draggableOpts: _propTypes.default.shape({\n allowAnyClick: _propTypes.default.bool,\n cancel: _propTypes.default.string,\n children: _propTypes.default.node,\n disabled: _propTypes.default.bool,\n enableUserSelectHack: _propTypes.default.bool,\n offsetParent: _propTypes.default.node,\n grid: _propTypes.default.arrayOf(_propTypes.default.number),\n handle: _propTypes.default.string,\n nodeRef: _propTypes.default.object,\n onStart: _propTypes.default.func,\n onDrag: _propTypes.default.func,\n onStop: _propTypes.default.func,\n onMouseDown: _propTypes.default.func,\n scale: _propTypes.default.number\n }),\n /*\n * Initial height\n * */\n height: function height() {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n var props = args[0];\n // Required if resizing height or both\n if (props.axis === 'both' || props.axis === 'y') {\n var _PropTypes$number;\n return (_PropTypes$number = _propTypes.default.number).isRequired.apply(_PropTypes$number, args);\n }\n return _propTypes.default.number.apply(_propTypes.default, args);\n },\n /*\n * Customize cursor resize handle\n * */\n handle: _propTypes.default.oneOfType([_propTypes.default.node, _propTypes.default.func]),\n /*\n * If you change this, be sure to update your css\n * */\n handleSize: _propTypes.default.arrayOf(_propTypes.default.number),\n lockAspectRatio: _propTypes.default.bool,\n /*\n * Max X & Y measure\n * */\n maxConstraints: _propTypes.default.arrayOf(_propTypes.default.number),\n /*\n * Min X & Y measure\n * */\n minConstraints: _propTypes.default.arrayOf(_propTypes.default.number),\n /*\n * Called on stop resize event\n * */\n onResizeStop: _propTypes.default.func,\n /*\n * Called on start resize event\n * */\n onResizeStart: _propTypes.default.func,\n /*\n * Called on resize event\n * */\n onResize: _propTypes.default.func,\n /*\n * Defines which resize handles should be rendered (default: 'se')\n * 's' - South handle (bottom-center)\n * 'w' - West handle (left-center)\n * 'e' - East handle (right-center)\n * 'n' - North handle (top-center)\n * 'sw' - Southwest handle (bottom-left)\n * 'nw' - Northwest handle (top-left)\n * 'se' - Southeast handle (bottom-right)\n * 'ne' - Northeast handle (top-center)\n * */\n resizeHandles: _propTypes.default.arrayOf(_propTypes.default.oneOf(['s', 'w', 'e', 'n', 'sw', 'nw', 'se', 'ne'])),\n /*\n * If `transform: scale(n)` is set on the parent, this should be set to `n`.\n * */\n transformScale: _propTypes.default.number,\n /*\n * Initial width\n */\n width: function width() {\n for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = arguments[_key2];\n }\n var props = args[0];\n // Required if resizing width or both\n if (props.axis === 'both' || props.axis === 'x') {\n var _PropTypes$number2;\n return (_PropTypes$number2 = _propTypes.default.number).isRequired.apply(_PropTypes$number2, args);\n }\n return _propTypes.default.number.apply(_propTypes.default, args);\n }\n};\nexports.resizableProps = resizableProps;","\"use strict\";\n\nexports.__esModule = true;\nexports.cloneElement = cloneElement;\nvar _react = _interopRequireDefault(require(\"react\"));\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\nfunction _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\nfunction _toPropertyKey(arg) { var key = _toPrimitive(arg, \"string\"); return typeof key === \"symbol\" ? key : String(key); }\nfunction _toPrimitive(input, hint) { if (typeof input !== \"object\" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || \"default\"); if (typeof res !== \"object\") return res; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (hint === \"string\" ? String : Number)(input); }\n// React.addons.cloneWithProps look-alike that merges style & className.\nfunction cloneElement(element, props) {\n if (props.style && element.props.style) {\n props.style = _objectSpread(_objectSpread({}, element.props.style), props.style);\n }\n if (props.className && element.props.className) {\n props.className = element.props.className + \" \" + props.className;\n }\n return /*#__PURE__*/_react.default.cloneElement(element, props);\n}","'use strict';\nmodule.exports = function() {\n throw new Error(\"Don't instantiate Resizable directly! Use require('react-resizable').Resizable\");\n};\n\nmodule.exports.Resizable = require('./build/Resizable').default;\nmodule.exports.ResizableBox = require('./build/ResizableBox').default;\n","/**\n * @license React\n * react-jsx-runtime.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict';var f=require(\"react\"),k=Symbol.for(\"react.element\"),l=Symbol.for(\"react.fragment\"),m=Object.prototype.hasOwnProperty,n=f.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,p={key:!0,ref:!0,__self:!0,__source:!0};\nfunction q(c,a,g){var b,d={},e=null,h=null;void 0!==g&&(e=\"\"+g);void 0!==a.key&&(e=\"\"+a.key);void 0!==a.ref&&(h=a.ref);for(b in a)m.call(a,b)&&!p.hasOwnProperty(b)&&(d[b]=a[b]);if(c&&c.defaultProps)for(b in a=c.defaultProps,a)void 0===d[b]&&(d[b]=a[b]);return{$$typeof:k,type:c,key:e,ref:h,props:d,_owner:n.current}}exports.Fragment=l;exports.jsx=q;exports.jsxs=q;\n","/**\n * @license React\n * react.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict';var l=Symbol.for(\"react.element\"),n=Symbol.for(\"react.portal\"),p=Symbol.for(\"react.fragment\"),q=Symbol.for(\"react.strict_mode\"),r=Symbol.for(\"react.profiler\"),t=Symbol.for(\"react.provider\"),u=Symbol.for(\"react.context\"),v=Symbol.for(\"react.forward_ref\"),w=Symbol.for(\"react.suspense\"),x=Symbol.for(\"react.memo\"),y=Symbol.for(\"react.lazy\"),z=Symbol.iterator;function A(a){if(null===a||\"object\"!==typeof a)return null;a=z&&a[z]||a[\"@@iterator\"];return\"function\"===typeof a?a:null}\nvar B={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},C=Object.assign,D={};function E(a,b,e){this.props=a;this.context=b;this.refs=D;this.updater=e||B}E.prototype.isReactComponent={};\nE.prototype.setState=function(a,b){if(\"object\"!==typeof a&&\"function\"!==typeof a&&null!=a)throw Error(\"setState(...): takes an object of state variables to update or a function which returns an object of state variables.\");this.updater.enqueueSetState(this,a,b,\"setState\")};E.prototype.forceUpdate=function(a){this.updater.enqueueForceUpdate(this,a,\"forceUpdate\")};function F(){}F.prototype=E.prototype;function G(a,b,e){this.props=a;this.context=b;this.refs=D;this.updater=e||B}var H=G.prototype=new F;\nH.constructor=G;C(H,E.prototype);H.isPureReactComponent=!0;var I=Array.isArray,J=Object.prototype.hasOwnProperty,K={current:null},L={key:!0,ref:!0,__self:!0,__source:!0};\nfunction M(a,b,e){var d,c={},k=null,h=null;if(null!=b)for(d in void 0!==b.ref&&(h=b.ref),void 0!==b.key&&(k=\"\"+b.key),b)J.call(b,d)&&!L.hasOwnProperty(d)&&(c[d]=b[d]);var g=arguments.length-2;if(1===g)c.children=e;else if(1} arr\r\n * @param {*} key\r\n * @returns {number}\r\n */\r\n function getIndex(arr, key) {\r\n var result = -1;\r\n arr.some(function (entry, index) {\r\n if (entry[0] === key) {\r\n result = index;\r\n return true;\r\n }\r\n return false;\r\n });\r\n return result;\r\n }\r\n return /** @class */ (function () {\r\n function class_1() {\r\n this.__entries__ = [];\r\n }\r\n Object.defineProperty(class_1.prototype, \"size\", {\r\n /**\r\n * @returns {boolean}\r\n */\r\n get: function () {\r\n return this.__entries__.length;\r\n },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n /**\r\n * @param {*} key\r\n * @returns {*}\r\n */\r\n class_1.prototype.get = function (key) {\r\n var index = getIndex(this.__entries__, key);\r\n var entry = this.__entries__[index];\r\n return entry && entry[1];\r\n };\r\n /**\r\n * @param {*} key\r\n * @param {*} value\r\n * @returns {void}\r\n */\r\n class_1.prototype.set = function (key, value) {\r\n var index = getIndex(this.__entries__, key);\r\n if (~index) {\r\n this.__entries__[index][1] = value;\r\n }\r\n else {\r\n this.__entries__.push([key, value]);\r\n }\r\n };\r\n /**\r\n * @param {*} key\r\n * @returns {void}\r\n */\r\n class_1.prototype.delete = function (key) {\r\n var entries = this.__entries__;\r\n var index = getIndex(entries, key);\r\n if (~index) {\r\n entries.splice(index, 1);\r\n }\r\n };\r\n /**\r\n * @param {*} key\r\n * @returns {void}\r\n */\r\n class_1.prototype.has = function (key) {\r\n return !!~getIndex(this.__entries__, key);\r\n };\r\n /**\r\n * @returns {void}\r\n */\r\n class_1.prototype.clear = function () {\r\n this.__entries__.splice(0);\r\n };\r\n /**\r\n * @param {Function} callback\r\n * @param {*} [ctx=null]\r\n * @returns {void}\r\n */\r\n class_1.prototype.forEach = function (callback, ctx) {\r\n if (ctx === void 0) { ctx = null; }\r\n for (var _i = 0, _a = this.__entries__; _i < _a.length; _i++) {\r\n var entry = _a[_i];\r\n callback.call(ctx, entry[1], entry[0]);\r\n }\r\n };\r\n return class_1;\r\n }());\r\n})();\n\n/**\r\n * Detects whether window and document objects are available in current environment.\r\n */\r\nvar isBrowser = typeof window !== 'undefined' && typeof document !== 'undefined' && window.document === document;\n\n// Returns global object of a current environment.\r\nvar global$1 = (function () {\r\n if (typeof global !== 'undefined' && global.Math === Math) {\r\n return global;\r\n }\r\n if (typeof self !== 'undefined' && self.Math === Math) {\r\n return self;\r\n }\r\n if (typeof window !== 'undefined' && window.Math === Math) {\r\n return window;\r\n }\r\n // eslint-disable-next-line no-new-func\r\n return Function('return this')();\r\n})();\n\n/**\r\n * A shim for the requestAnimationFrame which falls back to the setTimeout if\r\n * first one is not supported.\r\n *\r\n * @returns {number} Requests' identifier.\r\n */\r\nvar requestAnimationFrame$1 = (function () {\r\n if (typeof requestAnimationFrame === 'function') {\r\n // It's required to use a bounded function because IE sometimes throws\r\n // an \"Invalid calling object\" error if rAF is invoked without the global\r\n // object on the left hand side.\r\n return requestAnimationFrame.bind(global$1);\r\n }\r\n return function (callback) { return setTimeout(function () { return callback(Date.now()); }, 1000 / 60); };\r\n})();\n\n// Defines minimum timeout before adding a trailing call.\r\nvar trailingTimeout = 2;\r\n/**\r\n * Creates a wrapper function which ensures that provided callback will be\r\n * invoked only once during the specified delay period.\r\n *\r\n * @param {Function} callback - Function to be invoked after the delay period.\r\n * @param {number} delay - Delay after which to invoke callback.\r\n * @returns {Function}\r\n */\r\nfunction throttle (callback, delay) {\r\n var leadingCall = false, trailingCall = false, lastCallTime = 0;\r\n /**\r\n * Invokes the original callback function and schedules new invocation if\r\n * the \"proxy\" was called during current request.\r\n *\r\n * @returns {void}\r\n */\r\n function resolvePending() {\r\n if (leadingCall) {\r\n leadingCall = false;\r\n callback();\r\n }\r\n if (trailingCall) {\r\n proxy();\r\n }\r\n }\r\n /**\r\n * Callback invoked after the specified delay. It will further postpone\r\n * invocation of the original function delegating it to the\r\n * requestAnimationFrame.\r\n *\r\n * @returns {void}\r\n */\r\n function timeoutCallback() {\r\n requestAnimationFrame$1(resolvePending);\r\n }\r\n /**\r\n * Schedules invocation of the original function.\r\n *\r\n * @returns {void}\r\n */\r\n function proxy() {\r\n var timeStamp = Date.now();\r\n if (leadingCall) {\r\n // Reject immediately following calls.\r\n if (timeStamp - lastCallTime < trailingTimeout) {\r\n return;\r\n }\r\n // Schedule new call to be in invoked when the pending one is resolved.\r\n // This is important for \"transitions\" which never actually start\r\n // immediately so there is a chance that we might miss one if change\r\n // happens amids the pending invocation.\r\n trailingCall = true;\r\n }\r\n else {\r\n leadingCall = true;\r\n trailingCall = false;\r\n setTimeout(timeoutCallback, delay);\r\n }\r\n lastCallTime = timeStamp;\r\n }\r\n return proxy;\r\n}\n\n// Minimum delay before invoking the update of observers.\r\nvar REFRESH_DELAY = 20;\r\n// A list of substrings of CSS properties used to find transition events that\r\n// might affect dimensions of observed elements.\r\nvar transitionKeys = ['top', 'right', 'bottom', 'left', 'width', 'height', 'size', 'weight'];\r\n// Check if MutationObserver is available.\r\nvar mutationObserverSupported = typeof MutationObserver !== 'undefined';\r\n/**\r\n * Singleton controller class which handles updates of ResizeObserver instances.\r\n */\r\nvar ResizeObserverController = /** @class */ (function () {\r\n /**\r\n * Creates a new instance of ResizeObserverController.\r\n *\r\n * @private\r\n */\r\n function ResizeObserverController() {\r\n /**\r\n * Indicates whether DOM listeners have been added.\r\n *\r\n * @private {boolean}\r\n */\r\n this.connected_ = false;\r\n /**\r\n * Tells that controller has subscribed for Mutation Events.\r\n *\r\n * @private {boolean}\r\n */\r\n this.mutationEventsAdded_ = false;\r\n /**\r\n * Keeps reference to the instance of MutationObserver.\r\n *\r\n * @private {MutationObserver}\r\n */\r\n this.mutationsObserver_ = null;\r\n /**\r\n * A list of connected observers.\r\n *\r\n * @private {Array}\r\n */\r\n this.observers_ = [];\r\n this.onTransitionEnd_ = this.onTransitionEnd_.bind(this);\r\n this.refresh = throttle(this.refresh.bind(this), REFRESH_DELAY);\r\n }\r\n /**\r\n * Adds observer to observers list.\r\n *\r\n * @param {ResizeObserverSPI} observer - Observer to be added.\r\n * @returns {void}\r\n */\r\n ResizeObserverController.prototype.addObserver = function (observer) {\r\n if (!~this.observers_.indexOf(observer)) {\r\n this.observers_.push(observer);\r\n }\r\n // Add listeners if they haven't been added yet.\r\n if (!this.connected_) {\r\n this.connect_();\r\n }\r\n };\r\n /**\r\n * Removes observer from observers list.\r\n *\r\n * @param {ResizeObserverSPI} observer - Observer to be removed.\r\n * @returns {void}\r\n */\r\n ResizeObserverController.prototype.removeObserver = function (observer) {\r\n var observers = this.observers_;\r\n var index = observers.indexOf(observer);\r\n // Remove observer if it's present in registry.\r\n if (~index) {\r\n observers.splice(index, 1);\r\n }\r\n // Remove listeners if controller has no connected observers.\r\n if (!observers.length && this.connected_) {\r\n this.disconnect_();\r\n }\r\n };\r\n /**\r\n * Invokes the update of observers. It will continue running updates insofar\r\n * it detects changes.\r\n *\r\n * @returns {void}\r\n */\r\n ResizeObserverController.prototype.refresh = function () {\r\n var changesDetected = this.updateObservers_();\r\n // Continue running updates if changes have been detected as there might\r\n // be future ones caused by CSS transitions.\r\n if (changesDetected) {\r\n this.refresh();\r\n }\r\n };\r\n /**\r\n * Updates every observer from observers list and notifies them of queued\r\n * entries.\r\n *\r\n * @private\r\n * @returns {boolean} Returns \"true\" if any observer has detected changes in\r\n * dimensions of it's elements.\r\n */\r\n ResizeObserverController.prototype.updateObservers_ = function () {\r\n // Collect observers that have active observations.\r\n var activeObservers = this.observers_.filter(function (observer) {\r\n return observer.gatherActive(), observer.hasActive();\r\n });\r\n // Deliver notifications in a separate cycle in order to avoid any\r\n // collisions between observers, e.g. when multiple instances of\r\n // ResizeObserver are tracking the same element and the callback of one\r\n // of them changes content dimensions of the observed target. Sometimes\r\n // this may result in notifications being blocked for the rest of observers.\r\n activeObservers.forEach(function (observer) { return observer.broadcastActive(); });\r\n return activeObservers.length > 0;\r\n };\r\n /**\r\n * Initializes DOM listeners.\r\n *\r\n * @private\r\n * @returns {void}\r\n */\r\n ResizeObserverController.prototype.connect_ = function () {\r\n // Do nothing if running in a non-browser environment or if listeners\r\n // have been already added.\r\n if (!isBrowser || this.connected_) {\r\n return;\r\n }\r\n // Subscription to the \"Transitionend\" event is used as a workaround for\r\n // delayed transitions. This way it's possible to capture at least the\r\n // final state of an element.\r\n document.addEventListener('transitionend', this.onTransitionEnd_);\r\n window.addEventListener('resize', this.refresh);\r\n if (mutationObserverSupported) {\r\n this.mutationsObserver_ = new MutationObserver(this.refresh);\r\n this.mutationsObserver_.observe(document, {\r\n attributes: true,\r\n childList: true,\r\n characterData: true,\r\n subtree: true\r\n });\r\n }\r\n else {\r\n document.addEventListener('DOMSubtreeModified', this.refresh);\r\n this.mutationEventsAdded_ = true;\r\n }\r\n this.connected_ = true;\r\n };\r\n /**\r\n * Removes DOM listeners.\r\n *\r\n * @private\r\n * @returns {void}\r\n */\r\n ResizeObserverController.prototype.disconnect_ = function () {\r\n // Do nothing if running in a non-browser environment or if listeners\r\n // have been already removed.\r\n if (!isBrowser || !this.connected_) {\r\n return;\r\n }\r\n document.removeEventListener('transitionend', this.onTransitionEnd_);\r\n window.removeEventListener('resize', this.refresh);\r\n if (this.mutationsObserver_) {\r\n this.mutationsObserver_.disconnect();\r\n }\r\n if (this.mutationEventsAdded_) {\r\n document.removeEventListener('DOMSubtreeModified', this.refresh);\r\n }\r\n this.mutationsObserver_ = null;\r\n this.mutationEventsAdded_ = false;\r\n this.connected_ = false;\r\n };\r\n /**\r\n * \"Transitionend\" event handler.\r\n *\r\n * @private\r\n * @param {TransitionEvent} event\r\n * @returns {void}\r\n */\r\n ResizeObserverController.prototype.onTransitionEnd_ = function (_a) {\r\n var _b = _a.propertyName, propertyName = _b === void 0 ? '' : _b;\r\n // Detect whether transition may affect dimensions of an element.\r\n var isReflowProperty = transitionKeys.some(function (key) {\r\n return !!~propertyName.indexOf(key);\r\n });\r\n if (isReflowProperty) {\r\n this.refresh();\r\n }\r\n };\r\n /**\r\n * Returns instance of the ResizeObserverController.\r\n *\r\n * @returns {ResizeObserverController}\r\n */\r\n ResizeObserverController.getInstance = function () {\r\n if (!this.instance_) {\r\n this.instance_ = new ResizeObserverController();\r\n }\r\n return this.instance_;\r\n };\r\n /**\r\n * Holds reference to the controller's instance.\r\n *\r\n * @private {ResizeObserverController}\r\n */\r\n ResizeObserverController.instance_ = null;\r\n return ResizeObserverController;\r\n}());\n\n/**\r\n * Defines non-writable/enumerable properties of the provided target object.\r\n *\r\n * @param {Object} target - Object for which to define properties.\r\n * @param {Object} props - Properties to be defined.\r\n * @returns {Object} Target object.\r\n */\r\nvar defineConfigurable = (function (target, props) {\r\n for (var _i = 0, _a = Object.keys(props); _i < _a.length; _i++) {\r\n var key = _a[_i];\r\n Object.defineProperty(target, key, {\r\n value: props[key],\r\n enumerable: false,\r\n writable: false,\r\n configurable: true\r\n });\r\n }\r\n return target;\r\n});\n\n/**\r\n * Returns the global object associated with provided element.\r\n *\r\n * @param {Object} target\r\n * @returns {Object}\r\n */\r\nvar getWindowOf = (function (target) {\r\n // Assume that the element is an instance of Node, which means that it\r\n // has the \"ownerDocument\" property from which we can retrieve a\r\n // corresponding global object.\r\n var ownerGlobal = target && target.ownerDocument && target.ownerDocument.defaultView;\r\n // Return the local global object if it's not possible extract one from\r\n // provided element.\r\n return ownerGlobal || global$1;\r\n});\n\n// Placeholder of an empty content rectangle.\r\nvar emptyRect = createRectInit(0, 0, 0, 0);\r\n/**\r\n * Converts provided string to a number.\r\n *\r\n * @param {number|string} value\r\n * @returns {number}\r\n */\r\nfunction toFloat(value) {\r\n return parseFloat(value) || 0;\r\n}\r\n/**\r\n * Extracts borders size from provided styles.\r\n *\r\n * @param {CSSStyleDeclaration} styles\r\n * @param {...string} positions - Borders positions (top, right, ...)\r\n * @returns {number}\r\n */\r\nfunction getBordersSize(styles) {\r\n var positions = [];\r\n for (var _i = 1; _i < arguments.length; _i++) {\r\n positions[_i - 1] = arguments[_i];\r\n }\r\n return positions.reduce(function (size, position) {\r\n var value = styles['border-' + position + '-width'];\r\n return size + toFloat(value);\r\n }, 0);\r\n}\r\n/**\r\n * Extracts paddings sizes from provided styles.\r\n *\r\n * @param {CSSStyleDeclaration} styles\r\n * @returns {Object} Paddings box.\r\n */\r\nfunction getPaddings(styles) {\r\n var positions = ['top', 'right', 'bottom', 'left'];\r\n var paddings = {};\r\n for (var _i = 0, positions_1 = positions; _i < positions_1.length; _i++) {\r\n var position = positions_1[_i];\r\n var value = styles['padding-' + position];\r\n paddings[position] = toFloat(value);\r\n }\r\n return paddings;\r\n}\r\n/**\r\n * Calculates content rectangle of provided SVG element.\r\n *\r\n * @param {SVGGraphicsElement} target - Element content rectangle of which needs\r\n * to be calculated.\r\n * @returns {DOMRectInit}\r\n */\r\nfunction getSVGContentRect(target) {\r\n var bbox = target.getBBox();\r\n return createRectInit(0, 0, bbox.width, bbox.height);\r\n}\r\n/**\r\n * Calculates content rectangle of provided HTMLElement.\r\n *\r\n * @param {HTMLElement} target - Element for which to calculate the content rectangle.\r\n * @returns {DOMRectInit}\r\n */\r\nfunction getHTMLElementContentRect(target) {\r\n // Client width & height properties can't be\r\n // used exclusively as they provide rounded values.\r\n var clientWidth = target.clientWidth, clientHeight = target.clientHeight;\r\n // By this condition we can catch all non-replaced inline, hidden and\r\n // detached elements. Though elements with width & height properties less\r\n // than 0.5 will be discarded as well.\r\n //\r\n // Without it we would need to implement separate methods for each of\r\n // those cases and it's not possible to perform a precise and performance\r\n // effective test for hidden elements. E.g. even jQuery's ':visible' filter\r\n // gives wrong results for elements with width & height less than 0.5.\r\n if (!clientWidth && !clientHeight) {\r\n return emptyRect;\r\n }\r\n var styles = getWindowOf(target).getComputedStyle(target);\r\n var paddings = getPaddings(styles);\r\n var horizPad = paddings.left + paddings.right;\r\n var vertPad = paddings.top + paddings.bottom;\r\n // Computed styles of width & height are being used because they are the\r\n // only dimensions available to JS that contain non-rounded values. It could\r\n // be possible to utilize the getBoundingClientRect if only it's data wasn't\r\n // affected by CSS transformations let alone paddings, borders and scroll bars.\r\n var width = toFloat(styles.width), height = toFloat(styles.height);\r\n // Width & height include paddings and borders when the 'border-box' box\r\n // model is applied (except for IE).\r\n if (styles.boxSizing === 'border-box') {\r\n // Following conditions are required to handle Internet Explorer which\r\n // doesn't include paddings and borders to computed CSS dimensions.\r\n //\r\n // We can say that if CSS dimensions + paddings are equal to the \"client\"\r\n // properties then it's either IE, and thus we don't need to subtract\r\n // anything, or an element merely doesn't have paddings/borders styles.\r\n if (Math.round(width + horizPad) !== clientWidth) {\r\n width -= getBordersSize(styles, 'left', 'right') + horizPad;\r\n }\r\n if (Math.round(height + vertPad) !== clientHeight) {\r\n height -= getBordersSize(styles, 'top', 'bottom') + vertPad;\r\n }\r\n }\r\n // Following steps can't be applied to the document's root element as its\r\n // client[Width/Height] properties represent viewport area of the window.\r\n // Besides, it's as well not necessary as the itself neither has\r\n // rendered scroll bars nor it can be clipped.\r\n if (!isDocumentElement(target)) {\r\n // In some browsers (only in Firefox, actually) CSS width & height\r\n // include scroll bars size which can be removed at this step as scroll\r\n // bars are the only difference between rounded dimensions + paddings\r\n // and \"client\" properties, though that is not always true in Chrome.\r\n var vertScrollbar = Math.round(width + horizPad) - clientWidth;\r\n var horizScrollbar = Math.round(height + vertPad) - clientHeight;\r\n // Chrome has a rather weird rounding of \"client\" properties.\r\n // E.g. for an element with content width of 314.2px it sometimes gives\r\n // the client width of 315px and for the width of 314.7px it may give\r\n // 314px. And it doesn't happen all the time. So just ignore this delta\r\n // as a non-relevant.\r\n if (Math.abs(vertScrollbar) !== 1) {\r\n width -= vertScrollbar;\r\n }\r\n if (Math.abs(horizScrollbar) !== 1) {\r\n height -= horizScrollbar;\r\n }\r\n }\r\n return createRectInit(paddings.left, paddings.top, width, height);\r\n}\r\n/**\r\n * Checks whether provided element is an instance of the SVGGraphicsElement.\r\n *\r\n * @param {Element} target - Element to be checked.\r\n * @returns {boolean}\r\n */\r\nvar isSVGGraphicsElement = (function () {\r\n // Some browsers, namely IE and Edge, don't have the SVGGraphicsElement\r\n // interface.\r\n if (typeof SVGGraphicsElement !== 'undefined') {\r\n return function (target) { return target instanceof getWindowOf(target).SVGGraphicsElement; };\r\n }\r\n // If it's so, then check that element is at least an instance of the\r\n // SVGElement and that it has the \"getBBox\" method.\r\n // eslint-disable-next-line no-extra-parens\r\n return function (target) { return (target instanceof getWindowOf(target).SVGElement &&\r\n typeof target.getBBox === 'function'); };\r\n})();\r\n/**\r\n * Checks whether provided element is a document element ().\r\n *\r\n * @param {Element} target - Element to be checked.\r\n * @returns {boolean}\r\n */\r\nfunction isDocumentElement(target) {\r\n return target === getWindowOf(target).document.documentElement;\r\n}\r\n/**\r\n * Calculates an appropriate content rectangle for provided html or svg element.\r\n *\r\n * @param {Element} target - Element content rectangle of which needs to be calculated.\r\n * @returns {DOMRectInit}\r\n */\r\nfunction getContentRect(target) {\r\n if (!isBrowser) {\r\n return emptyRect;\r\n }\r\n if (isSVGGraphicsElement(target)) {\r\n return getSVGContentRect(target);\r\n }\r\n return getHTMLElementContentRect(target);\r\n}\r\n/**\r\n * Creates rectangle with an interface of the DOMRectReadOnly.\r\n * Spec: https://drafts.fxtf.org/geometry/#domrectreadonly\r\n *\r\n * @param {DOMRectInit} rectInit - Object with rectangle's x/y coordinates and dimensions.\r\n * @returns {DOMRectReadOnly}\r\n */\r\nfunction createReadOnlyRect(_a) {\r\n var x = _a.x, y = _a.y, width = _a.width, height = _a.height;\r\n // If DOMRectReadOnly is available use it as a prototype for the rectangle.\r\n var Constr = typeof DOMRectReadOnly !== 'undefined' ? DOMRectReadOnly : Object;\r\n var rect = Object.create(Constr.prototype);\r\n // Rectangle's properties are not writable and non-enumerable.\r\n defineConfigurable(rect, {\r\n x: x, y: y, width: width, height: height,\r\n top: y,\r\n right: x + width,\r\n bottom: height + y,\r\n left: x\r\n });\r\n return rect;\r\n}\r\n/**\r\n * Creates DOMRectInit object based on the provided dimensions and the x/y coordinates.\r\n * Spec: https://drafts.fxtf.org/geometry/#dictdef-domrectinit\r\n *\r\n * @param {number} x - X coordinate.\r\n * @param {number} y - Y coordinate.\r\n * @param {number} width - Rectangle's width.\r\n * @param {number} height - Rectangle's height.\r\n * @returns {DOMRectInit}\r\n */\r\nfunction createRectInit(x, y, width, height) {\r\n return { x: x, y: y, width: width, height: height };\r\n}\n\n/**\r\n * Class that is responsible for computations of the content rectangle of\r\n * provided DOM element and for keeping track of it's changes.\r\n */\r\nvar ResizeObservation = /** @class */ (function () {\r\n /**\r\n * Creates an instance of ResizeObservation.\r\n *\r\n * @param {Element} target - Element to be observed.\r\n */\r\n function ResizeObservation(target) {\r\n /**\r\n * Broadcasted width of content rectangle.\r\n *\r\n * @type {number}\r\n */\r\n this.broadcastWidth = 0;\r\n /**\r\n * Broadcasted height of content rectangle.\r\n *\r\n * @type {number}\r\n */\r\n this.broadcastHeight = 0;\r\n /**\r\n * Reference to the last observed content rectangle.\r\n *\r\n * @private {DOMRectInit}\r\n */\r\n this.contentRect_ = createRectInit(0, 0, 0, 0);\r\n this.target = target;\r\n }\r\n /**\r\n * Updates content rectangle and tells whether it's width or height properties\r\n * have changed since the last broadcast.\r\n *\r\n * @returns {boolean}\r\n */\r\n ResizeObservation.prototype.isActive = function () {\r\n var rect = getContentRect(this.target);\r\n this.contentRect_ = rect;\r\n return (rect.width !== this.broadcastWidth ||\r\n rect.height !== this.broadcastHeight);\r\n };\r\n /**\r\n * Updates 'broadcastWidth' and 'broadcastHeight' properties with a data\r\n * from the corresponding properties of the last observed content rectangle.\r\n *\r\n * @returns {DOMRectInit} Last observed content rectangle.\r\n */\r\n ResizeObservation.prototype.broadcastRect = function () {\r\n var rect = this.contentRect_;\r\n this.broadcastWidth = rect.width;\r\n this.broadcastHeight = rect.height;\r\n return rect;\r\n };\r\n return ResizeObservation;\r\n}());\n\nvar ResizeObserverEntry = /** @class */ (function () {\r\n /**\r\n * Creates an instance of ResizeObserverEntry.\r\n *\r\n * @param {Element} target - Element that is being observed.\r\n * @param {DOMRectInit} rectInit - Data of the element's content rectangle.\r\n */\r\n function ResizeObserverEntry(target, rectInit) {\r\n var contentRect = createReadOnlyRect(rectInit);\r\n // According to the specification following properties are not writable\r\n // and are also not enumerable in the native implementation.\r\n //\r\n // Property accessors are not being used as they'd require to define a\r\n // private WeakMap storage which may cause memory leaks in browsers that\r\n // don't support this type of collections.\r\n defineConfigurable(this, { target: target, contentRect: contentRect });\r\n }\r\n return ResizeObserverEntry;\r\n}());\n\nvar ResizeObserverSPI = /** @class */ (function () {\r\n /**\r\n * Creates a new instance of ResizeObserver.\r\n *\r\n * @param {ResizeObserverCallback} callback - Callback function that is invoked\r\n * when one of the observed elements changes it's content dimensions.\r\n * @param {ResizeObserverController} controller - Controller instance which\r\n * is responsible for the updates of observer.\r\n * @param {ResizeObserver} callbackCtx - Reference to the public\r\n * ResizeObserver instance which will be passed to callback function.\r\n */\r\n function ResizeObserverSPI(callback, controller, callbackCtx) {\r\n /**\r\n * Collection of resize observations that have detected changes in dimensions\r\n * of elements.\r\n *\r\n * @private {Array}\r\n */\r\n this.activeObservations_ = [];\r\n /**\r\n * Registry of the ResizeObservation instances.\r\n *\r\n * @private {Map}\r\n */\r\n this.observations_ = new MapShim();\r\n if (typeof callback !== 'function') {\r\n throw new TypeError('The callback provided as parameter 1 is not a function.');\r\n }\r\n this.callback_ = callback;\r\n this.controller_ = controller;\r\n this.callbackCtx_ = callbackCtx;\r\n }\r\n /**\r\n * Starts observing provided element.\r\n *\r\n * @param {Element} target - Element to be observed.\r\n * @returns {void}\r\n */\r\n ResizeObserverSPI.prototype.observe = function (target) {\r\n if (!arguments.length) {\r\n throw new TypeError('1 argument required, but only 0 present.');\r\n }\r\n // Do nothing if current environment doesn't have the Element interface.\r\n if (typeof Element === 'undefined' || !(Element instanceof Object)) {\r\n return;\r\n }\r\n if (!(target instanceof getWindowOf(target).Element)) {\r\n throw new TypeError('parameter 1 is not of type \"Element\".');\r\n }\r\n var observations = this.observations_;\r\n // Do nothing if element is already being observed.\r\n if (observations.has(target)) {\r\n return;\r\n }\r\n observations.set(target, new ResizeObservation(target));\r\n this.controller_.addObserver(this);\r\n // Force the update of observations.\r\n this.controller_.refresh();\r\n };\r\n /**\r\n * Stops observing provided element.\r\n *\r\n * @param {Element} target - Element to stop observing.\r\n * @returns {void}\r\n */\r\n ResizeObserverSPI.prototype.unobserve = function (target) {\r\n if (!arguments.length) {\r\n throw new TypeError('1 argument required, but only 0 present.');\r\n }\r\n // Do nothing if current environment doesn't have the Element interface.\r\n if (typeof Element === 'undefined' || !(Element instanceof Object)) {\r\n return;\r\n }\r\n if (!(target instanceof getWindowOf(target).Element)) {\r\n throw new TypeError('parameter 1 is not of type \"Element\".');\r\n }\r\n var observations = this.observations_;\r\n // Do nothing if element is not being observed.\r\n if (!observations.has(target)) {\r\n return;\r\n }\r\n observations.delete(target);\r\n if (!observations.size) {\r\n this.controller_.removeObserver(this);\r\n }\r\n };\r\n /**\r\n * Stops observing all elements.\r\n *\r\n * @returns {void}\r\n */\r\n ResizeObserverSPI.prototype.disconnect = function () {\r\n this.clearActive();\r\n this.observations_.clear();\r\n this.controller_.removeObserver(this);\r\n };\r\n /**\r\n * Collects observation instances the associated element of which has changed\r\n * it's content rectangle.\r\n *\r\n * @returns {void}\r\n */\r\n ResizeObserverSPI.prototype.gatherActive = function () {\r\n var _this = this;\r\n this.clearActive();\r\n this.observations_.forEach(function (observation) {\r\n if (observation.isActive()) {\r\n _this.activeObservations_.push(observation);\r\n }\r\n });\r\n };\r\n /**\r\n * Invokes initial callback function with a list of ResizeObserverEntry\r\n * instances collected from active resize observations.\r\n *\r\n * @returns {void}\r\n */\r\n ResizeObserverSPI.prototype.broadcastActive = function () {\r\n // Do nothing if observer doesn't have active observations.\r\n if (!this.hasActive()) {\r\n return;\r\n }\r\n var ctx = this.callbackCtx_;\r\n // Create ResizeObserverEntry instance for every active observation.\r\n var entries = this.activeObservations_.map(function (observation) {\r\n return new ResizeObserverEntry(observation.target, observation.broadcastRect());\r\n });\r\n this.callback_.call(ctx, entries, ctx);\r\n this.clearActive();\r\n };\r\n /**\r\n * Clears the collection of active observations.\r\n *\r\n * @returns {void}\r\n */\r\n ResizeObserverSPI.prototype.clearActive = function () {\r\n this.activeObservations_.splice(0);\r\n };\r\n /**\r\n * Tells whether observer has active observations.\r\n *\r\n * @returns {boolean}\r\n */\r\n ResizeObserverSPI.prototype.hasActive = function () {\r\n return this.activeObservations_.length > 0;\r\n };\r\n return ResizeObserverSPI;\r\n}());\n\n// Registry of internal observers. If WeakMap is not available use current shim\r\n// for the Map collection as it has all required methods and because WeakMap\r\n// can't be fully polyfilled anyway.\r\nvar observers = typeof WeakMap !== 'undefined' ? new WeakMap() : new MapShim();\r\n/**\r\n * ResizeObserver API. Encapsulates the ResizeObserver SPI implementation\r\n * exposing only those methods and properties that are defined in the spec.\r\n */\r\nvar ResizeObserver = /** @class */ (function () {\r\n /**\r\n * Creates a new instance of ResizeObserver.\r\n *\r\n * @param {ResizeObserverCallback} callback - Callback that is invoked when\r\n * dimensions of the observed elements change.\r\n */\r\n function ResizeObserver(callback) {\r\n if (!(this instanceof ResizeObserver)) {\r\n throw new TypeError('Cannot call a class as a function.');\r\n }\r\n if (!arguments.length) {\r\n throw new TypeError('1 argument required, but only 0 present.');\r\n }\r\n var controller = ResizeObserverController.getInstance();\r\n var observer = new ResizeObserverSPI(callback, controller, this);\r\n observers.set(this, observer);\r\n }\r\n return ResizeObserver;\r\n}());\r\n// Expose public methods of ResizeObserver.\r\n[\r\n 'observe',\r\n 'unobserve',\r\n 'disconnect'\r\n].forEach(function (method) {\r\n ResizeObserver.prototype[method] = function () {\r\n var _a;\r\n return (_a = observers.get(this))[method].apply(_a, arguments);\r\n };\r\n});\n\nvar index = (function () {\r\n // Export existing implementation if available.\r\n if (typeof global$1.ResizeObserver !== 'undefined') {\r\n return global$1.ResizeObserver;\r\n }\r\n return ResizeObserver;\r\n})();\n\nexport default index;\n","/**\n * @license React\n * scheduler.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict';function f(a,b){var c=a.length;a.push(b);a:for(;0>>1,e=a[d];if(0>>1;dg(C,c))ng(x,C)?(a[d]=x,a[n]=c,d=n):(a[d]=C,a[m]=c,d=m);else if(ng(x,c))a[d]=x,a[n]=c,d=n;else break a}}return b}\nfunction g(a,b){var c=a.sortIndex-b.sortIndex;return 0!==c?c:a.id-b.id}if(\"object\"===typeof performance&&\"function\"===typeof performance.now){var l=performance;exports.unstable_now=function(){return l.now()}}else{var p=Date,q=p.now();exports.unstable_now=function(){return p.now()-q}}var r=[],t=[],u=1,v=null,y=3,z=!1,A=!1,B=!1,D=\"function\"===typeof setTimeout?setTimeout:null,E=\"function\"===typeof clearTimeout?clearTimeout:null,F=\"undefined\"!==typeof setImmediate?setImmediate:null;\n\"undefined\"!==typeof navigator&&void 0!==navigator.scheduling&&void 0!==navigator.scheduling.isInputPending&&navigator.scheduling.isInputPending.bind(navigator.scheduling);function G(a){for(var b=h(t);null!==b;){if(null===b.callback)k(t);else if(b.startTime<=a)k(t),b.sortIndex=b.expirationTime,f(r,b);else break;b=h(t)}}function H(a){B=!1;G(a);if(!A)if(null!==h(r))A=!0,I(J);else{var b=h(t);null!==b&&K(H,b.startTime-a)}}\nfunction J(a,b){A=!1;B&&(B=!1,E(L),L=-1);z=!0;var c=y;try{G(b);for(v=h(r);null!==v&&(!(v.expirationTime>b)||a&&!M());){var d=v.callback;if(\"function\"===typeof d){v.callback=null;y=v.priorityLevel;var e=d(v.expirationTime<=b);b=exports.unstable_now();\"function\"===typeof e?v.callback=e:v===h(r)&&k(r);G(b)}else k(r);v=h(r)}if(null!==v)var w=!0;else{var m=h(t);null!==m&&K(H,m.startTime-b);w=!1}return w}finally{v=null,y=c,z=!1}}var N=!1,O=null,L=-1,P=5,Q=-1;\nfunction M(){return exports.unstable_now()-Qa||125d?(a.sortIndex=c,f(t,a),null===h(r)&&a===h(t)&&(B?(E(L),L=-1):B=!0,K(H,c-d))):(a.sortIndex=e,f(r,a),A||z||(A=!0,I(J)));return a};\nexports.unstable_shouldYield=M;exports.unstable_wrapCallback=function(a){var b=y;return function(){var c=y;y=b;try{return a.apply(this,arguments)}finally{y=c}}};\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/scheduler.production.min.js');\n} else {\n module.exports = require('./cjs/scheduler.development.js');\n}\n","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n// expose the modules object (__webpack_modules__)\n__webpack_require__.m = __webpack_modules__;\n\n","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.f = {};\n// This file contains only the entry chunk.\n// The chunk loading function for additional chunks\n__webpack_require__.e = (chunkId) => {\n\treturn Promise.all(Object.keys(__webpack_require__.f).reduce((promises, key) => {\n\t\t__webpack_require__.f[key](chunkId, promises);\n\t\treturn promises;\n\t}, []));\n};","// This function allow to reference async chunks\n__webpack_require__.u = (chunkId) => {\n\t// return url for filenames based on template\n\treturn \"static/js/\" + chunkId + \".\" + \"8e75a616\" + \".chunk.js\";\n};","// This function allow to reference async chunks\n__webpack_require__.miniCssF = (chunkId) => {\n\t// return url for filenames based on template\n\treturn undefined;\n};","__webpack_require__.g = (function() {\n\tif (typeof globalThis === 'object') return globalThis;\n\ttry {\n\t\treturn this || new Function('return this')();\n\t} catch (e) {\n\t\tif (typeof window === 'object') return window;\n\t}\n})();","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","var inProgress = {};\nvar dataWebpackPrefix = \"logmar-scorer:\";\n// loadScript function to load a script via script tag\n__webpack_require__.l = (url, done, key, chunkId) => {\n\tif(inProgress[url]) { inProgress[url].push(done); return; }\n\tvar script, needAttach;\n\tif(key !== undefined) {\n\t\tvar scripts = document.getElementsByTagName(\"script\");\n\t\tfor(var i = 0; i < scripts.length; i++) {\n\t\t\tvar s = scripts[i];\n\t\t\tif(s.getAttribute(\"src\") == url || s.getAttribute(\"data-webpack\") == dataWebpackPrefix + key) { script = s; break; }\n\t\t}\n\t}\n\tif(!script) {\n\t\tneedAttach = true;\n\t\tscript = document.createElement('script');\n\n\t\tscript.charset = 'utf-8';\n\t\tscript.timeout = 120;\n\t\tif (__webpack_require__.nc) {\n\t\t\tscript.setAttribute(\"nonce\", __webpack_require__.nc);\n\t\t}\n\t\tscript.setAttribute(\"data-webpack\", dataWebpackPrefix + key);\n\n\t\tscript.src = url;\n\t}\n\tinProgress[url] = [done];\n\tvar onScriptComplete = (prev, event) => {\n\t\t// avoid mem leaks in IE.\n\t\tscript.onerror = script.onload = null;\n\t\tclearTimeout(timeout);\n\t\tvar doneFns = inProgress[url];\n\t\tdelete inProgress[url];\n\t\tscript.parentNode && script.parentNode.removeChild(script);\n\t\tdoneFns && doneFns.forEach((fn) => (fn(event)));\n\t\tif(prev) return prev(event);\n\t}\n\tvar timeout = setTimeout(onScriptComplete.bind(null, undefined, { type: 'timeout', target: script }), 120000);\n\tscript.onerror = onScriptComplete.bind(null, script.onerror);\n\tscript.onload = onScriptComplete.bind(null, script.onload);\n\tneedAttach && document.head.appendChild(script);\n};","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","__webpack_require__.p = \"/\";","// no baseURI\n\n// object to store loaded and loading chunks\n// undefined = chunk not loaded, null = chunk preloaded/prefetched\n// [resolve, reject, Promise] = chunk loading, 0 = chunk loaded\nvar installedChunks = {\n\t792: 0\n};\n\n__webpack_require__.f.j = (chunkId, promises) => {\n\t\t// JSONP chunk loading for javascript\n\t\tvar installedChunkData = __webpack_require__.o(installedChunks, chunkId) ? installedChunks[chunkId] : undefined;\n\t\tif(installedChunkData !== 0) { // 0 means \"already installed\".\n\n\t\t\t// a Promise means \"currently loading\".\n\t\t\tif(installedChunkData) {\n\t\t\t\tpromises.push(installedChunkData[2]);\n\t\t\t} else {\n\t\t\t\tif(true) { // all chunks have JS\n\t\t\t\t\t// setup Promise in chunk cache\n\t\t\t\t\tvar promise = new Promise((resolve, reject) => (installedChunkData = installedChunks[chunkId] = [resolve, reject]));\n\t\t\t\t\tpromises.push(installedChunkData[2] = promise);\n\n\t\t\t\t\t// start chunk loading\n\t\t\t\t\tvar url = __webpack_require__.p + __webpack_require__.u(chunkId);\n\t\t\t\t\t// create error before stack unwound to get useful stacktrace later\n\t\t\t\t\tvar error = new Error();\n\t\t\t\t\tvar loadingEnded = (event) => {\n\t\t\t\t\t\tif(__webpack_require__.o(installedChunks, chunkId)) {\n\t\t\t\t\t\t\tinstalledChunkData = installedChunks[chunkId];\n\t\t\t\t\t\t\tif(installedChunkData !== 0) installedChunks[chunkId] = undefined;\n\t\t\t\t\t\t\tif(installedChunkData) {\n\t\t\t\t\t\t\t\tvar errorType = event && (event.type === 'load' ? 'missing' : event.type);\n\t\t\t\t\t\t\t\tvar realSrc = event && event.target && event.target.src;\n\t\t\t\t\t\t\t\terror.message = 'Loading chunk ' + chunkId + ' failed.\\n(' + errorType + ': ' + realSrc + ')';\n\t\t\t\t\t\t\t\terror.name = 'ChunkLoadError';\n\t\t\t\t\t\t\t\terror.type = errorType;\n\t\t\t\t\t\t\t\terror.request = realSrc;\n\t\t\t\t\t\t\t\tinstalledChunkData[1](error);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t};\n\t\t\t\t\t__webpack_require__.l(url, loadingEnded, \"chunk-\" + chunkId, chunkId);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n};\n\n// no prefetching\n\n// no preloaded\n\n// no HMR\n\n// no HMR manifest\n\n// no on chunks loaded\n\n// install a JSONP callback for chunk loading\nvar webpackJsonpCallback = (parentChunkLoadingFunction, data) => {\n\tvar chunkIds = data[0];\n\tvar moreModules = data[1];\n\tvar runtime = data[2];\n\t// add \"moreModules\" to the modules object,\n\t// then flag all \"chunkIds\" as loaded and fire callback\n\tvar moduleId, chunkId, i = 0;\n\tif(chunkIds.some((id) => (installedChunks[id] !== 0))) {\n\t\tfor(moduleId in moreModules) {\n\t\t\tif(__webpack_require__.o(moreModules, moduleId)) {\n\t\t\t\t__webpack_require__.m[moduleId] = moreModules[moduleId];\n\t\t\t}\n\t\t}\n\t\tif(runtime) var result = runtime(__webpack_require__);\n\t}\n\tif(parentChunkLoadingFunction) parentChunkLoadingFunction(data);\n\tfor(;i < chunkIds.length; i++) {\n\t\tchunkId = chunkIds[i];\n\t\tif(__webpack_require__.o(installedChunks, chunkId) && installedChunks[chunkId]) {\n\t\t\tinstalledChunks[chunkId][0]();\n\t\t}\n\t\tinstalledChunks[chunkId] = 0;\n\t}\n\n}\n\nvar chunkLoadingGlobal = self[\"webpackChunklogmar_scorer\"] = self[\"webpackChunklogmar_scorer\"] || [];\nchunkLoadingGlobal.forEach(webpackJsonpCallback.bind(null, 0));\nchunkLoadingGlobal.push = webpackJsonpCallback.bind(null, chunkLoadingGlobal.push.bind(chunkLoadingGlobal));","var _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 SvgLogo(_ref, svgRef) {\n let {\n title,\n titleId,\n ...props\n } = _ref;\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 841.9 595.3\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _g || (_g = /*#__PURE__*/React.createElement(\"g\", {\n fill: \"#61DAFB\"\n }, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M666.3 296.5c0-32.5-40.7-63.3-103.1-82.4 14.4-63.6 8-114.2-20.2-130.4-6.5-3.8-14.1-5.6-22.4-5.6v22.3c4.6 0 8.3.9 11.4 2.6 13.6 7.8 19.5 37.5 14.9 75.7-1.1 9.4-2.9 19.3-5.1 29.4-19.6-4.8-41-8.5-63.5-10.9-13.5-18.5-27.5-35.3-41.6-50 32.6-30.3 63.2-46.9 84-46.9V78c-27.5 0-63.5 19.6-99.9 53.6-36.4-33.8-72.4-53.2-99.9-53.2v22.3c20.7 0 51.4 16.5 84 46.6-14 14.7-28 31.4-41.3 49.9-22.6 2.4-44 6.1-63.6 11-2.3-10-4-19.7-5.2-29-4.7-38.2 1.1-67.9 14.6-75.8 3-1.8 6.9-2.6 11.5-2.6V78.5c-8.4 0-16 1.8-22.6 5.6-28.1 16.2-34.4 66.7-19.9 130.1-62.2 19.2-102.7 49.9-102.7 82.3 0 32.5 40.7 63.3 103.1 82.4-14.4 63.6-8 114.2 20.2 130.4 6.5 3.8 14.1 5.6 22.5 5.6 27.5 0 63.5-19.6 99.9-53.6 36.4 33.8 72.4 53.2 99.9 53.2 8.4 0 16-1.8 22.6-5.6 28.1-16.2 34.4-66.7 19.9-130.1 62-19.1 102.5-49.9 102.5-82.3zm-130.2-66.7c-3.7 12.9-8.3 26.2-13.5 39.5-4.1-8-8.4-16-13.1-24-4.6-8-9.5-15.8-14.4-23.4 14.2 2.1 27.9 4.7 41 7.9zm-45.8 106.5c-7.8 13.5-15.8 26.3-24.1 38.2-14.9 1.3-30 2-45.2 2-15.1 0-30.2-.7-45-1.9-8.3-11.9-16.4-24.6-24.2-38-7.6-13.1-14.5-26.4-20.8-39.8 6.2-13.4 13.2-26.8 20.7-39.9 7.8-13.5 15.8-26.3 24.1-38.2 14.9-1.3 30-2 45.2-2 15.1 0 30.2.7 45 1.9 8.3 11.9 16.4 24.6 24.2 38 7.6 13.1 14.5 26.4 20.8 39.8-6.3 13.4-13.2 26.8-20.7 39.9zm32.3-13c5.4 13.4 10 26.8 13.8 39.8-13.1 3.2-26.9 5.9-41.2 8 4.9-7.7 9.8-15.6 14.4-23.7 4.6-8 8.9-16.1 13-24.1zM421.2 430c-9.3-9.6-18.6-20.3-27.8-32 9 .4 18.2.7 27.5.7 9.4 0 18.7-.2 27.8-.7-9 11.7-18.3 22.4-27.5 32zm-74.4-58.9c-14.2-2.1-27.9-4.7-41-7.9 3.7-12.9 8.3-26.2 13.5-39.5 4.1 8 8.4 16 13.1 24 4.7 8 9.5 15.8 14.4 23.4zM420.7 163c9.3 9.6 18.6 20.3 27.8 32-9-.4-18.2-.7-27.5-.7-9.4 0-18.7.2-27.8.7 9-11.7 18.3-22.4 27.5-32zm-74 58.9c-4.9 7.7-9.8 15.6-14.4 23.7-4.6 8-8.9 16-13 24-5.4-13.4-10-26.8-13.8-39.8 13.1-3.1 26.9-5.8 41.2-7.9zm-90.5 125.2c-35.4-15.1-58.3-34.9-58.3-50.6 0-15.7 22.9-35.6 58.3-50.6 8.6-3.7 18-7 27.7-10.1 5.7 19.6 13.2 40 22.5 60.9-9.2 20.8-16.6 41.1-22.2 60.6-9.9-3.1-19.3-6.5-28-10.2zM310 490c-13.6-7.8-19.5-37.5-14.9-75.7 1.1-9.4 2.9-19.3 5.1-29.4 19.6 4.8 41 8.5 63.5 10.9 13.5 18.5 27.5 35.3 41.6 50-32.6 30.3-63.2 46.9-84 46.9-4.5-.1-8.3-1-11.3-2.7zm237.2-76.2c4.7 38.2-1.1 67.9-14.6 75.8-3 1.8-6.9 2.6-11.5 2.6-20.7 0-51.4-16.5-84-46.6 14-14.7 28-31.4 41.3-49.9 22.6-2.4 44-6.1 63.6-11 2.3 10.1 4.1 19.8 5.2 29.1zm38.5-66.7c-8.6 3.7-18 7-27.7 10.1-5.7-19.6-13.2-40-22.5-60.9 9.2-20.8 16.6-41.1 22.2-60.6 9.9 3.1 19.3 6.5 28.1 10.2 35.4 15.1 58.3 34.9 58.3 50.6-.1 15.7-23 35.6-58.4 50.6zM320.8 78.4z\"\n }), /*#__PURE__*/React.createElement(\"circle\", {\n cx: 420.9,\n cy: 296.5,\n r: 45.7\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M520.5 78.1z\"\n }))));\n}\nconst ForwardRef = /*#__PURE__*/React.forwardRef(SvgLogo);\nexport default __webpack_public_path__ + \"static/media/logo.6ce24c58023cc2f8fd88fe9d219db6c6.svg\";\nexport { ForwardRef as ReactComponent };","class LetterSet {\r\n \r\n constructor(letters) {\r\n this.myLetters = letters;\r\n this.letterRowsCount = new Array;\r\n for (let rowIndex = 0; rowIndex < this.myLetters.length; rowIndex ++) this.letterRowsCount[rowIndex] = 5 - (this.myLetters[rowIndex].split(' ').length - 1);\r\n }\r\n\r\n calculateLetterRowCount = (rowIndex) => this.letterRowsCount[rowIndex] = 5 - (this.myLetters[rowIndex].split(' ').length - 1);\r\n\r\n setLetterAt = (rowIndex, columnIndex, newLetter) => {\r\n if (newLetter === '') newLetter = ' ';\r\n this.myLetters[rowIndex] = this.myLetters[rowIndex].substring(0, columnIndex) + newLetter + this.myLetters[rowIndex].substring(columnIndex + 1, 5);\r\n this.calculateLetterRowCount(rowIndex);\r\n \r\n }\r\n\r\n getLetterAt = (rowIndex, columnIndex) => { \r\n let letterToReturn = this.myLetters[rowIndex].charAt(columnIndex);\r\n if (letterToReturn === ' ') letterToReturn = '';\r\n return letterToReturn;\r\n }\r\n\r\n clearRowAt = (rowIndex) => this.myLetters[rowIndex] = ' ';\r\n\r\n getRowAt = (rowIndex) => { return this.myLetters[rowIndex]; }\r\n\r\n setRowAt = (rowIndex, newRow) => {\r\n this.myLetters[rowIndex] = newRow;\r\n this.calculateLetterRowCount(rowIndex);\r\n }\r\n\r\n getLetters = () => { return this.myLetters; }\r\n\r\n decrementNumberBoxesFilled = (rowIndex) => this.letterRowsCount[rowIndex] --;\r\n incrementNumberBoxesFilled = (rowIndex) => this.letterRowsCount[rowIndex] ++;\r\n setNumberBoxesFilled = (rowIndex, newNumber) => this.letterRowsCount[rowIndex] = newNumber;\r\n getNumberBoxesFilled = (rowIndex) => { return this.letterRowsCount[rowIndex]; }\r\n}\r\n\r\nexport default LetterSet;","import React from 'react';\r\n\r\nimport { convertRowIndexToLogMAR, convertRowIndexToSnellen, convertRowIndexToNoReadLetters } from './editFunctionality';\r\nimport { setLabelScaleType, logMARScaleIdentifier, noLabelIdentifier, noReadLettersIdentifier, snellenIdentifier, labelScaleTypes, near, getLabelScaleType, getStringNameFromIdentifier } from './viewFunctionality';\r\n\r\nexport class Label {\r\n\r\n constructor(rowIndex, labelIndex) {\r\n this.layout = {i: 'label (' + rowIndex.toString() + ',' + labelIndex.toString() + ')', x: labelIndex * 9, y: rowIndex, w: 1, h: 1, display: this.display? 'block' : 'none'};\r\n this.myRef = React.createRef();\r\n this.rowIndex = rowIndex;\r\n this.setScaleType([logMARScaleIdentifier, snellenIdentifier][labelIndex]);\r\n this.box =\r\n \r\n }\r\n\r\n setScaleType = (newScaleType) => {\r\n this.scaleType = newScaleType;\r\n if (newScaleType === logMARScaleIdentifier) this.valToDisplay = convertRowIndexToLogMAR(this.rowIndex);\r\n else if (newScaleType === snellenIdentifier) this.valToDisplay = convertRowIndexToSnellen(this.rowIndex);\r\n else if (newScaleType === noReadLettersIdentifier) this.valToDisplay = convertRowIndexToNoReadLetters(this.rowIndex);\r\n else if (newScaleType === noLabelIdentifier) this.valToDisplay = '';\r\n\r\n if (this.myRef.current) this.myRef.current.setState({text: this.valToDisplay})\r\n }\r\n\r\n getValToDisplay = () => { return this.valToDisplay; }\r\n\r\n resetValToDisplay = () => { this.setScaleType(this.scaleType); }\r\n\r\n getValToDisplay = () => { return this.valToDisplay; }\r\n\r\n}\r\n\r\nexport class LabelBox extends React.Component {\r\n\r\n constructor(props) {\r\n super(props);\r\n this.props = props;\r\n this.state = {text: ''}\r\n }\r\n\r\n componentDidMount = () => { this.setState({text: this.props.getTextFunction()}); }\r\n\r\n getText = () => { return this.state.valToDisplay; }\r\n\r\n render() { return
{this.state.text}
}\r\n}\r\n\r\nexport class LabelScaleSelector extends React.Component {\r\n\r\n constructor(props) {\r\n super(props);\r\n this.state = {scale: this.props.scale}\r\n }\r\n\r\n componentDidMount = () => { this.setScale(getLabelScaleType(this.props.labelSide)); }\r\n\r\n setScale = (newScale) => {\r\n if (newScale === logMARScaleIdentifier || newScale === snellenIdentifier || newScale === noReadLettersIdentifier || newScale === noLabelIdentifier ) {\r\n this.setState({scale: newScale});\r\n }\r\n }\r\n\r\n getScale = () => { return this.state.scale; }\r\n\r\n changed = (event) => {\r\n if (event.target) setLabelScaleType(this.props.labelSide, event.target.value);\r\n }\r\n\r\n render() {\r\n return (\r\n \r\n )\r\n }\r\n\r\n}","\r\nimport React from \"react\"\r\nimport { LabelScaleSelector } from \"./Label\"\r\nimport { fromRef, fromVal, toRef, toVal, letterSetOptionsRef } from \"./editFunctionality\"\r\nimport { left, right, settingsArrowRef, rightLabelSelecter, leftLabelSelecter, logMARScoreButton, logMARScaleIdentifier, SnellenScoreButton, snellenIdentifier, noReadLettersButton, noReadLettersIdentifier, setEverythingUp } from \"./viewFunctionality\"\r\nimport { logMARScoreRef, SnellenScoreRef, noReadLettersScoreRef } from \"./crossFunctionality\"\r\nimport { ToFrom, SetSelection, ShowingButton, Score, SettingsArrow } from \"./EditButtons\"\r\n\r\nexport let widerOptionsShowing = true;\r\n\r\nclass OptionsBox extends React.Component {\r\n\r\n constructor(props) {\r\n super(props)\r\n this.state = {widerOptionsShowing: true}\r\n }\r\n\r\n\r\n setWiderOptionsShowing = (newWiderOptionsShowing) => {\r\n widerOptionsShowing = newWiderOptionsShowing;\r\n this.setState({widerOptionsShowing: newWiderOptionsShowing});\r\n }\r\n\r\n render() {\r\n return (\r\n
\r\n {this.state.widerOptionsShowing && <>\r\n
\r\n Labels\r\n
\r\n
\r\n \r\n
\r\n
\r\n Show scores: \r\n
}\r\n
\r\n \r\n
\r\n \r\n
\r\n )\r\n }\r\n}\r\n\r\nexport default OptionsBox;","import React from \"react\";\r\nimport { defaultSetNames, deleteSet, currentSetName, switchEditOrViewMode, makeNewSet, saveEdit, getMySets, checkToOrFromChangeValid, rows, setLetters, rowNumber, convertRowIndexToLogMAR, updateToAndFrom, toVal, fromVal, setSelectionRendered, convertRowIndexToSnellen, convertRowIndexToNoReadLetters, getToFrom, currentLetterSet, setToFromVal} from \"./editFunctionality\";\r\nimport { left, right, getLabelScaleType, near, setNearCookie, setNear, OptionsBoxRef, labelScaleTypes, setEverythingUp, setScoreShowing, logMARScaleIdentifier, snellenIdentifier, noReadLettersIdentifier, getStringNameFromIdentifier, getNear} from './viewFunctionality';\r\nimport { clear, resetCopyButtons, getLogMARScore, getSnellenScore, getNoReadLetters } from \"./crossFunctionality\";\r\nimport { widerOptionsShowing } from \"./OptionsBox\";\r\n \r\nexport const edit = true; export const save = false\r\nexport const up = true; export const down = false;\r\n\r\nclass HideAbleSetButton extends React.Component {\r\n constructor(props) { super(props); }\r\n\r\n componentDidMount = () => { this.setVisibilityBySetName(currentSetName); }\r\n\r\n setVisibilityBySetName = (setName) => { this.setState({active: !defaultSetNames.includes(setName)}); }\r\n}\r\n\r\nexport class EditSetButton extends HideAbleSetButton {\r\n\r\n constructor(props) {\r\n super(props)\r\n this.state = {text: 'Edit letter set', editing: false, active: true}\r\n this.editing = false\r\n }\r\n\r\n \r\n setEditing = (newEditing, active) => {\r\n this.editing = newEditing; this.setState({editing: newEditing});\r\n if (newEditing === edit) {\r\n this.setState({text: 'Save edit'});\r\n if (active) switchEditOrViewMode(newEditing)\r\n } else {\r\n this.setState({text: 'Edit letter set'});\r\n if (active) saveEdit();\r\n }\r\n }\r\n\r\n render() {\r\n return (\r\n
{if (this.state.active) this.setEditing(!this.state.editing, true)}}>{this.state.text}
\r\n )\r\n }\r\n}\r\n\r\nexport class NewLetterSetButton extends React.Component {\r\n\r\n constructor(props) { super(props) }\r\n\r\n render() {\r\n return (\r\n
New letter set
\r\n )\r\n }\r\n}\r\n\r\nexport class DeleteLetterSetButton extends HideAbleSetButton {\r\n constructor(props) {\r\n super(props)\r\n this.state = {active: true}\r\n }\r\n\r\n render() {\r\n return (\r\n
{if (this.state.active) deleteSet()}}>Delete set
\r\n )\r\n }\r\n\r\n}\r\n\r\nexport class SetSelection extends React.Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {sets: getMySets(), value: getMySets()[0]}\r\n }\r\n\r\n componentDidMount = this.update;\r\n\r\n update = () => {\r\n this.setState({sets: getMySets()});\r\n}\r\n\r\n setVal = (event) => {\r\n if (event.target) if (event.target.value in getMySets()) setLetters(event.target.value)\r\n }\r\n\r\n render() {\r\n return (\r\n
Letterset:\r\n
\r\n )\r\n }\r\n}\r\n\r\nexport class ToFrom extends React.Component {\r\n\r\n constructor(props) {\r\n super(props);\r\n this.state = {rowIndex: this.props.rowIndex, conversionFunctionLeft: convertRowIndexToLogMAR, conversionFunctionRight: convertRowIndexToSnellen, near: false}\r\n this.val = this.props.rowIndex;\r\n this.valcount = 0\r\n }\r\n\r\n componentDidMount = () => {\r\n this.setVal(getToFrom(this.props.type), false);\r\n for (let side of [left, right]) this.setScale(side, getLabelScaleType(side));\r\n this.setState({near: getNear()});\r\n };\r\n\r\n setVal = (newVal, active) => {\r\n if (newVal) {\r\n if (newVal >= 0 && newVal < rowNumber) {\r\n this.setState({rowIndex: newVal})\r\n this.val = newVal;\r\n if (active) setToFromVal(this.props.type, newVal);\r\n }\r\n }\r\n }\r\n\r\n getVal = () => { return Number(this.val) }\r\n\r\n setScale = (side, newScale) => {\r\n let newFunction = [convertRowIndexToLogMAR, convertRowIndexToSnellen, convertRowIndexToNoReadLetters, (rowIndex) => {return ''}][labelScaleTypes.indexOf(newScale)]\r\n if (side === left) this.setState({conversionFunctionLeft: newFunction})\r\n else if (side === right) this.setState({conversionFunctionRight: newFunction})\r\n }\r\n\r\n changed = (event) => {\r\n if (event.target) if (event.target.value >= 0 && event.target.value < rowNumber) {\r\n if (checkToOrFromChangeValid(event.target.value, this.props.type)) this.setVal(event.target.value, true);\r\n }\r\n }\r\n\r\n render() {\r\n return (
\r\n {this.props.type.charAt(0).toUpperCase() + this.props.type.slice(1) + ': '}
\r\n )\r\n }\r\n}\r\n\r\nexport class NearButton extends React.Component {\r\n constructor(props) {\r\n super(props)\r\n this.state = {checked: false};\r\n this.checked = false;\r\n }\r\n\r\n componentDidMount = () => this.setCheckedVals(getNear());\r\n\r\n setCheckedVals = (newVal) => {\r\n this.checked = newVal;\r\n this.setState({checked: newVal})\r\n }\r\n\r\n render() {\r\n return (\r\n
setNear(!this.checked)}>\r\n Half distance\r\n
\r\n )\r\n }\r\n}\r\n\r\nexport class ClearButton extends React.Component {\r\n constructor(props) { super(props); }\r\n\r\n render() {\r\n return (\r\n
Clear
\r\n )\r\n }\r\n}\r\n\r\nexport class Score extends React.Component {\r\n\r\n constructor(props) {\r\n super(props);\r\n this.state = {showing: this.props.showing, score: 0}\r\n this.showing = this.props.showing;\r\n this.CopyButtonRef = React.createRef();\r\n }\r\n\r\n componentDidMount = () => this.setState({score: [getLogMARScore(), getSnellenScore(), getNoReadLetters()][([logMARScaleIdentifier, snellenIdentifier, noReadLettersIdentifier].indexOf(this.props.identifier))]});\r\n\r\n resetCopyButton = () => { if (this.CopyButtonRef.current) { this.CopyButtonRef.current.setState({copied: false}); }}\r\n\r\n getScore = () => { return this.state.score; }\r\n\r\n setShowing(newShowing) {\r\n this.setState({showing: newShowing});\r\n this.showing = newShowing;\r\n }\r\n\r\n render () {\r\n return (this.state.showing &&
\r\n )\r\n }\r\n}\r\n\r\nexport class CopyButton extends React.Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {copied: false}\r\n this.copied = false;\r\n }\r\n\r\n componentDidMount = setEverythingUp\r\n\r\n clicked = () => {\r\n if (!this.state.copied) {\r\n this.setState({copied: true})\r\n navigator.clipboard.writeText(this.props.getScoreFunction());\r\n resetCopyButtons([logMARScaleIdentifier, snellenIdentifier, noReadLettersIdentifier].filter(item => item !== this.props.identifier))\r\n }\r\n }\r\n\r\n render() {\r\n return
{this.state.copied ? 'Copied' : 'Copy'}
\r\n }\r\n}\r\n\r\nexport class ShowingButton extends React.Component {\r\n constructor(props) {\r\n super(props)\r\n this.checked = this.props.checked;\r\n this.state = {checked: this.checked}\r\n\r\n }\r\n\r\n componentDidMount = setEverythingUp;\r\n\r\n setCheckedVals = (checked) => {\r\n this.checked = checked;\r\n this.setState({checked: checked})\r\n }\r\n\r\n render() {\r\n return (\r\n
{setScoreShowing(!this.checked, this.props.name)}} >{getStringNameFromIdentifier(this.props.name)}
\r\n )\r\n }\r\n}\r\n\r\nexport class SettingsArrow extends React.Component {\r\n\r\n constructor(props) {\r\n super(props);\r\n this.state = {myClassName: 'down-settings-arrow'};\r\n }\r\n\r\n clicked = () => {\r\n if (widerOptionsShowing) this.setState({myClassName: 'up-settings-arrow'});\r\n else this.setState({myClassName: 'down-settings-arrow'});\r\n OptionsBoxRef.current.setWiderOptionsShowing(!widerOptionsShowing);\r\n \r\n }\r\n\r\n render() {\r\n return
\r\n }\r\n\r\n}","import Row from './Row';\r\nimport LetterSet from './LetterSet';\r\nimport {GridLayoutRef} from './App';\r\nimport {randomise, clear} from './RandomiseOrClearButtons'\r\nimport { SetSelection, edit, save } from './EditButtons';\r\nimport React from 'react';\r\nimport { calculateScores, checkAllLetterSquaresRendered, letterCrossedOrUncrossed, rowCrossedOrUncrossed } from './crossFunctionality';\r\nimport { initialised, logMARScaleIdentifier, noLabelIdentifier, noReadLettersIdentifier, snellenIdentifier, near, setEverythingUp } from './viewFunctionality';\r\n\r\nlet NoClearRandomiseButtonsRendered = 0\r\n\r\nlet ca = []\r\n\r\nexport let mySets = {\r\n 'Default set 1': new LetterSet(['HRKOZ','OZSCN','KRDNZ','HCVSN','ZONVS','VDSRZ','RNOVS','ZCRDH','NVSOK','DRZKO','SNHCV','CRVSZ','VKCNH','SVKDN','KDHZC','HZCOR','OKDHN','ZONKC','RHSVD','DSORZ','NSVHO']),\r\n 'Default set 2': new LetterSet(['CRZSD','ZVDHC','KZSVH','DRCNZ','RHKCS','NVSKH','ZRKDC','DNCHV','CDHNR','RVZOS','OSDVZ','NOZCD','RDNSK','OKSVZ','KSNHO','HOVSN','VCSZH','CZDRV','SHRZC','DNOKR','HZCON']),\r\n 'Default set 3': new LetterSet(['VNCOS','NDSZV','DRHVS','KCRDO','OVHSK','VKONS','COHZV','SZNDC','VKCNR','KCRHN','ZKDVC','HVORK','RHSON','KSVRH','HNKOD','NDVKO','DHOSZ','VRNDO','CZHKS','ORZSK','SZDHV']),\r\n 'Default set 4': new LetterSet(['ZDNKO','KSCHV','HZSNR','CKHRN','VNRZC','OCDSH','HVZDS','NCVKD','CZSHN','ONVSR','KDNRO','ZKCSV','DVOHC','OHVCK','HZCKO','NCKHD','ZHCSR','SZRDN','HCDRO','RDOSN','OKCVN']),\r\n 'Default set 5': new LetterSet(['ODRCZ','ZVKND','RDCKH','HNKZR','OZNKD','CVKZO','NCKZO','RHSDK','DOVHR','CZRHS','ONHRC','DKSNV','ZSOKN','CKDNR','SRZKD','HZOVC','NVDOK','VHCNO','SVHCZ','OZDVK','RDCHO']),\r\n}\r\n\r\nexport const d = new Date();\r\n\r\nexport const letterSetOptionsRef = React.createRef();\r\nexport const editSetOptionsRef = React.createRef();\r\nexport const deleteSetRef = React.createRef();\r\n\r\nexport const toRef = React.createRef();\r\nexport const fromRef = React.createRef();\r\n\r\nexport let fromVal = 3\r\nexport let toVal = 17\r\n\r\nexport let newRowsToRenderNumber = (toVal + 1) - fromVal\r\n\r\nexport let currentlyEditing = save\r\n\r\nexport var mainScaleType = 'logMAR';\r\n\r\nexport function convertRowIndexToNoReadLetters (rowIndex) {\r\n let addCoefficient = 0; if (near) addCoefficient = 0;\r\n return ((rowIndex + addCoefficient) * 5).toFixed(0);\r\n}\r\n\r\nexport function convertRowIndexToSnellen (rowIndex) {\r\n return convertLogMARToSnellen(convertRowIndexToLogMAR(rowIndex));\r\n}\r\n\r\nexport function convertRowIndexToLogMAR (rowIndex) {\r\n let addCoefficient = 0; if (near) addCoefficient = 1.9; else addCoefficient = 1.6;\r\n return ((-0.1 * rowIndex) + addCoefficient).toFixed(1);\r\n}\r\n\r\nexport function convertLogMARToSnellen (logMAR) {\r\n let decNumber = 0;\r\n if (Number(logMAR) < 0.3) decNumber = 1\r\n let denominator = (6 * (10 ** Number(logMAR))).toFixed(decNumber);\r\n if (Number(denominator.substring(denominator.length - decNumber)) === 0 && decNumber > 0) denominator = denominator.substring(0, denominator.length - (decNumber + 1));\r\n return '6/' + denominator;\r\n}\r\n\r\nexport const deleteSet = () => {\r\n if (!defaultSetNames.includes(currentSetName)) {\r\n if (window.confirm(\"Delete set '\" + currentSetName + \"'?\")) {\r\n let currentSetIndex = Object.keys(mySets).indexOf(currentSetName);\r\n setLetterSetCookie(currentSetName, mySets[currentSetName], 1, true);\r\n delete mySets[currentSetName];\r\n letterSetOptionsRef.current.update();\r\n setLetters(Object.keys(mySets)[currentSetIndex - 1]);\r\n }\r\n }\r\n}\r\n\r\n\r\nconst setCurrentSetCookie = (setName, exdays) => {\r\n d.setTime(d.getTime() + (exdays * 24 * 60 * 60 * 1000));\r\n document.cookie = 'currentSet=' + setName + ';expires='+ d.toUTCString() + ';path=/';\r\n}\r\n\r\nconst setLetterSetCookie = (setName, letterSet, exdays, toRemove) => {\r\n let expiry = ''\r\n if (toRemove) expiry = ';expires=Thu, 01 Jan 1970 00:00:01 GMT';\r\n else {\r\n d.setTime(d.getTime() + (exdays * 24 * 60 * 60 * 1000));\r\n expiry = ';expires=' + d.toUTCString();\r\n }\r\n let name = '\"set ' + setName + '\"= \"';\r\n for (let i = 0; i < rowNumber; i ++) {\r\n name = name + letterSet.getRowAt(i);\r\n if (i < rowNumber - 1) name = name + ', ';\r\n else name = name + '\"';\r\n }\r\n document.cookie = name + expiry + \";path=/\";\r\n}\r\n\r\nexport const getCA = () => {\r\n if (ca.length === 0) ca = decodeURIComponent(document.cookie).split('; ');\r\n return ca\r\n}\r\n\r\nconst setToOrFromCookie = (toOrFrom, val, exdays) => {\r\n d.setTime(d.getTime() + (exdays * 24 * 60 * 60 * 1000));\r\n document.cookie = toOrFrom + '=' + val + ';expires='+ d.toUTCString() + ';path=/';\r\n}\r\n\r\nexport const checkToOrFromChangeValid = (val, toOrFrom) => {\r\n if ((val > fromVal && toOrFrom === 'to') || (val < toVal && toOrFrom === 'from')) return true;\r\n else return false;\r\n}\r\n\r\nexport const updateToAndFrom = () => {\r\n if (rows[toVal].getNoCrossedLetters() === 5) rowCrossedOrUncrossed(true, toVal);\r\n setToOrFromCookie('to', toVal, 1000);\r\n setToOrFromCookie('from', fromVal, 1000);\r\n if (GridLayoutRef.current) GridLayoutRef.current.setState({fromIndex: fromVal, toIndex: toVal});\r\n calculateScores();\r\n}\r\n\r\nexport const acceptableLetters = ['C', 'D', 'H', 'K', 'N', 'O', 'R', 'S', 'Z', 'V', 'c', 'd', 'h', 'k', 'n', 'o', 'r', 's', 'z', 'v']\r\nconst blankLetterArray = [' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ']\r\nexport const defaultSetNames = ['Default set 1', 'Default set 2', 'Default set 3', 'Default set 4', 'Default set 5'];\r\nexport let currentSetName = 'Default set 1'\r\nlet editingBoxes = false;\r\nlet newSetName = '';\r\n\r\nexport const rowNumber = 21; const columnNumber = 5\r\n\r\nexport let randomButtonsVisible = false\r\n\r\nexport let currentLetterSet = mySets['Default set 1'];\r\n\r\nexport var rows = Array.from({ length: rowNumber}, (_, i) => ( new Row(i, currentLetterSet.getRowAt(i)) ));\r\n\r\nexport const generateRandomLetter = () => { return acceptableLetters[Math.floor(Math.random() * 10)] }\r\n\r\nexport const getMySets = () => { return mySets; }\r\n\r\nconst getFunctionOfEarlierRandomiseRowsAboveButton = (rowIndex) => {\r\n if (rowIndex > 0) return rows[rowIndex - 1].randomiseOrClearRowsAboveButton.getFunction();\r\n else return null;\r\n}\r\n\r\nconst getFunctionOfLaterRandomiseRowsBelowButton = (rowIndex) => {\r\n if (rowIndex < rowNumber - 1) return rows[rowIndex + 1].RandomiseOrClearRowsBelowButton.getFunction();\r\n else return null;\r\n}\r\n\r\nconst getIndicesOfEarlierClearRowsBelowButtons = (rowIndex) => {\r\n let indices = new Array();\r\n if (rowIndex > 0) {\r\n for (let currentRowIndex = rowIndex; currentRowIndex >= fromVal; currentRowIndex --) {\r\n if (rows[currentRowIndex].RandomiseOrClearRowsBelowButton.getFunction() === clear) indices.push(currentRowIndex);\r\n else break;\r\n }\r\n }\r\n return indices;\r\n}\r\n\r\nconst getIndicesOfLaterClearRowsAboveButtons = (rowIndex) => {\r\n let indices = new Array();\r\n if (rowIndex < rowNumber - 1) {\r\n for (let currentRowIndex = rowIndex; currentRowIndex <= rowNumber - 1; currentRowIndex ++) {\r\n if (rows[currentRowIndex].randomiseOrClearRowsAboveButton.getFunction() === clear) indices.push(currentRowIndex);\r\n else break;\r\n }\r\n }\r\n return indices;\r\n}\r\n\r\nconst getIndicesOfConsecutiveLaterClearRowButtons = (rowIndex) => {\r\n let indices = new Array();\r\n if (rowIndex < rowNumber - 1) {\r\n for (let currentRowIndex = rowIndex + 1; currentRowIndex <= rowNumber - 1; currentRowIndex ++) {\r\n if (rows[currentRowIndex].RandomiseOrClearRowButton.getFunction() === clear) indices.push(currentRowIndex);\r\n else break;\r\n }\r\n }\r\n return indices;\r\n}\r\n\r\nconst getIndicesOfConsecutiveEarlierClearRowButtons = (rowIndex) => {\r\n let indices = new Array();\r\n if (rowIndex > 0) {\r\n for (let currentRowIndex = rowIndex - 1; currentRowIndex >= 0; currentRowIndex --) {\r\n if (rows[currentRowIndex].RandomiseOrClearRowButton.getFunction() === clear) indices.push(currentRowIndex);\r\n else break;\r\n }\r\n }\r\n return indices;\r\n}\r\n\r\nconst setRowToClearFunctionality = (rowIndex) => {\r\n rows[rowIndex].RandomiseOrClearRowButton.setFunction(clear);\r\n if (getFunctionOfEarlierRandomiseRowsAboveButton(rowIndex) === clear || rowIndex === fromVal) {\r\n rows[rowIndex].randomiseOrClearRowsAboveButton.setFunction(clear);\r\n for (let index of getIndicesOfConsecutiveLaterClearRowButtons(rowIndex)) rows[index].randomiseOrClearRowsAboveButton.setFunction(clear)\r\n }\r\n if (getFunctionOfLaterRandomiseRowsBelowButton(rowIndex) === clear || rowIndex === toVal) {\r\n rows[rowIndex].RandomiseOrClearRowsBelowButton.setFunction(clear);\r\n for (let index of getIndicesOfConsecutiveEarlierClearRowButtons(rowIndex)) rows[index].RandomiseOrClearRowsBelowButton.setFunction(clear);\r\n }\r\n}\r\n\r\nconst setRowToRandomiseFunctionality = (rowIndex) => {\r\n rows[rowIndex].RandomiseOrClearRowButton.setFunction(randomise);\r\n for (let index of getIndicesOfLaterClearRowsAboveButtons(rowIndex)) rows[index].randomiseOrClearRowsAboveButton.setFunction(randomise);\r\n for (let index of getIndicesOfEarlierClearRowsBelowButtons(rowIndex)) rows[index].RandomiseOrClearRowsBelowButton.setFunction(randomise);\r\n}\r\n\r\n\r\nexport function clearRow (rowIndex) {\r\n for (let columnIndex = 0; columnIndex < 5; columnIndex ++) updateLetterSet(rowIndex, columnIndex, '')\r\n setRowToRandomiseFunctionality(rowIndex);\r\n}\r\n\r\nexport function clearRowsAbove (rowIndex) {\r\n for (let currentRowIndex = rowIndex; currentRowIndex >= 0; currentRowIndex --) {\r\n clearRow(currentRowIndex);\r\n rows[currentRowIndex].randomiseOrClearRowsAboveButton.setFunction(randomise);\r\n }\r\n}\r\n\r\nexport function clearRowsBelow (rowIndex) {\r\n for (let currentRowIndex = rowIndex; currentRowIndex <= rowNumber - 1; currentRowIndex ++) {\r\n clearRow(currentRowIndex);\r\n rows[currentRowIndex].RandomiseOrClearRowsBelowButton.setFunction(randomise);\r\n }\r\n}\r\n\r\nexport function randomiseRow (rowIndex) {\r\n for (let letterSquare of rows[rowIndex].letterSquares) letterSquare.setRandomLetter();\r\n setRowToClearFunctionality(rowIndex);\r\n}\r\n\r\nexport function randomiseRowsBelow (rowIndex) {\r\n for (let currentRowIndex = rowIndex; currentRowIndex <= rowNumber - 1; currentRowIndex ++) {\r\n randomiseRow(currentRowIndex);\r\n rows[currentRowIndex].RandomiseOrClearRowsBelowButton.setFunction(clear);\r\n }\r\n for (let index of getIndicesOfConsecutiveEarlierClearRowButtons(rowIndex)) rows[index].RandomiseOrClearRowsBelowButton.setFunction(clear);\r\n}\r\n\r\nexport function randomiseRowsAbove (rowIndex) {\r\n for (let currentRowIndex = rowIndex; currentRowIndex >= fromVal; currentRowIndex --) {\r\n randomiseRow(currentRowIndex);\r\n rows[currentRowIndex].randomiseOrClearRowsAboveButton.setFunction(clear);\r\n }\r\n for (let index of getIndicesOfConsecutiveLaterClearRowButtons(rowIndex)) rows[index].randomiseOrClearRowsAboveButton.setFunction(clear);\r\n}\r\n\r\nexport function shadeRandomiseRow (rowIndex, shade) {\r\n\r\n for (let letterSquare of rows[rowIndex].letterSquares) {\r\n if (letterSquare.getLetter() === '') letterSquare.shadeLetter(shade);\r\n }\r\n if (getFunctionOfEarlierRandomiseRowsAboveButton(rowIndex) === clear) {\r\n rows[rowIndex].randomiseOrClearRowsAboveButton.shadeFunction(shade, false);\r\n for (let index of getIndicesOfConsecutiveLaterClearRowButtons(rowIndex)) rows[index].randomiseOrClearRowsAboveButton.shadeFunction(shade, false);\r\n }\r\n if (getFunctionOfLaterRandomiseRowsBelowButton(rowIndex) === clear) {\r\n rows[rowIndex].RandomiseOrClearRowsBelowButton.shadeFunction(shade, false);\r\n for (let index of getIndicesOfConsecutiveEarlierClearRowButtons(rowIndex)) rows[index].RandomiseOrClearRowsBelowButton.shadeFunction(shade, false);\r\n }\r\n}\r\n\r\nexport function shadeRandomiseRowsBelow (rowIndex, shade) {\r\n for (let currentRowIndex = rowIndex; currentRowIndex <= toVal; currentRowIndex ++) {\r\n if (rows[currentRowIndex].RandomiseOrClearRowsBelowButton.getFunction() === clear) break;\r\n rows[currentRowIndex].RandomiseOrClearRowsBelowButton.shadeFunction(shade, false);\r\n if (rows[currentRowIndex].RandomiseOrClearRowButton.getFunction() === randomise) {\r\n rows[currentRowIndex].RandomiseOrClearRowButton.shadeFunction(shade, true); }\r\n }\r\n for (let index of getIndicesOfConsecutiveEarlierClearRowButtons(rowIndex)) rows[index].RandomiseOrClearRowsBelowButton.shadeFunction(shade, false);\r\n}\r\n\r\nexport function shadeRandomiseRowsAbove (rowIndex, shade) {\r\n for (let currentRowIndex = rowIndex; currentRowIndex >= 0; currentRowIndex --) {\r\n if (rows[currentRowIndex].randomiseOrClearRowsAboveButton.getFunction() === clear) break;\r\n \r\n rows[currentRowIndex].randomiseOrClearRowsAboveButton.shadeFunction(shade, false);\r\n if (rows[currentRowIndex].RandomiseOrClearRowButton.getFunction() === randomise) {\r\n rows[currentRowIndex].RandomiseOrClearRowButton.shadeFunction(shade, true); }\r\n }\r\n for (let index of getIndicesOfConsecutiveLaterClearRowButtons(rowIndex)) rows[index].randomiseOrClearRowsAboveButton.shadeFunction(shade, false);\r\n}\r\n\r\nexport function shadeClearRow (rowIndex, shade) {\r\n for (let letterSquare of rows[rowIndex].letterSquares) letterSquare.shadeLetter(shade)\r\n for (let index of getIndicesOfLaterClearRowsAboveButtons(rowIndex)) rows[index].randomiseOrClearRowsAboveButton.shadeFunction(shade, false);\r\n for (let index of getIndicesOfEarlierClearRowsBelowButtons(rowIndex)) rows[index].RandomiseOrClearRowsBelowButton.shadeFunction(shade, false);\r\n}\r\n\r\nexport function shadeClearRowsAbove(rowIndex, shade) {\r\n for (let currentRowIndex = rowIndex; currentRowIndex >= fromVal; currentRowIndex --) {\r\n shadeClearRow(currentRowIndex, shade);\r\n rows[currentRowIndex].randomiseOrClearRowsAboveButton.shadeFunction(shade, false);\r\n }\r\n}\r\n\r\nexport function shadeClearRowsBelow(rowIndex, shade) {\r\n for (let currentRowIndex = rowIndex; currentRowIndex <= toVal; currentRowIndex ++) {\r\n shadeClearRow(currentRowIndex, shade);\r\n rows[currentRowIndex].RandomiseOrClearRowsBelowButton.shadeFunction(shade, false);\r\n }\r\n}\r\n\r\nexport const setCorrectRandomiseClearButtons = () => {\r\n\r\n for (let currentRowIndex = 0; currentRowIndex <= rowNumber - 1; currentRowIndex ++) {\r\n rows[currentRowIndex].randomiseOrClearRowsAboveButton.setFunction(randomise);\r\n rows[currentRowIndex].RandomiseOrClearRowsBelowButton.setFunction(randomise);\r\n rows[currentRowIndex].RandomiseOrClearRowButton.setFunction(randomise);\r\n }\r\n if (currentSetName in mySets) {\r\n for (let rowIndex = 0; rowIndex <= rowNumber - 1; rowIndex ++) {\r\n if (mySets[currentSetName].getNumberBoxesFilled(rowIndex) === 5) setRowToClearFunctionality(rowIndex);\r\n }\r\n }\r\n \r\n}\r\n\r\nexport const RandomClearButtonRendered = () => {\r\n setCorrectRandomiseClearButtons();\r\n}\r\n\r\nexport const switchEditOrViewMode = (newEditing) => {\r\n \r\n if (!(newEditing === edit && defaultSetNames.includes(currentSetName))) {\r\n currentlyEditing = newEditing;\r\n editSetOptionsRef.current.setEditing(newEditing, false);\r\n \r\n if (GridLayoutRef.current) GridLayoutRef.current.setToEditMode(newEditing);\r\n setCorrectRandomiseClearButtons();\r\n }\r\n}\r\n\r\nexport function saveEdit() {\r\n\r\n setLetterSetCookie(currentSetName, mySets[currentSetName], 1000, false);\r\n \r\n switchEditOrViewMode(save);\r\n}\r\n\r\nconst returnToViewMode = () => {\r\n \r\n}\r\n\r\nexport const setLetters = (setName) => {\r\n\r\n for (let ref of [deleteSetRef, editSetOptionsRef]) if (ref.current) ref.current.setVisibilityBySetName(setName);\r\n\r\n if (currentSetName in mySets) setLetterSetCookie(currentSetName, mySets[currentSetName], 1000, false);\r\n \r\n if (setName in mySets) {\r\n currentSetName = setName;\r\n if (currentlyEditing) setCorrectRandomiseClearButtons()\r\n for (let letterSetRowIndex = 0; letterSetRowIndex <= rowNumber - 1; letterSetRowIndex ++) {\r\n for (let columnIndex = 0; columnIndex < columnNumber; columnIndex ++) {\r\n let charToSet = mySets[setName].getLetterAt(letterSetRowIndex, columnIndex);\r\n rows[letterSetRowIndex].letterSquares[columnIndex].setLetter(charToSet);\r\n letterCrossedOrUncrossed(false, letterSetRowIndex, columnIndex);\r\n }\r\n }\r\n }\r\n if (letterSetOptionsRef.current) letterSetOptionsRef.current.setState({value: currentSetName})\r\n\r\n setCurrentSetCookie(currentSetName, 1000);\r\n\r\n calculateScores();\r\n}\r\n\r\n\r\nexport function makeNewSet() {\r\n while (true) {\r\n newSetName = prompt('Please enter a name for the new letter set:');\r\n if (!(newSetName in mySets || newSetName === 'newSet')) break;\r\n }\r\n if (newSetName) {\r\n newSetName = newSetName.replace(/\"/g, '');\r\n mySets[newSetName] = new LetterSet(blankLetterArray);\r\n if (letterSetOptionsRef.current) letterSetOptionsRef.current.update();\r\n setLetters(newSetName);\r\n switchEditOrViewMode(edit);\r\n }\r\n}\r\n\r\nexport const updateLetterSet = (rowIndex, columnIndex, newLetter) => {\r\n rows[rowIndex].letterSquares[columnIndex].setLetter(newLetter)\r\n mySets[currentSetName].setLetterAt(rowIndex, columnIndex, newLetter);\r\n if (mySets[currentSetName].getNumberBoxesFilled(rowIndex) === 5) setRowToClearFunctionality(rowIndex);\r\n}\r\n\r\nexport const getLetterSetCookies = () => {\r\n \r\n for (let c of getCA()) {\r\n if (c.indexOf('\"set ') === 0) {\r\n let cList = c.split(', ');\r\n let newName = cList[0].substring(5, cList[0].length - 8);\r\n mySets[newName] = new LetterSet([cList[0].substring(cList[0].length - 5), cList[1], cList[2], cList[3], cList[4], cList[5], cList[6], cList[7], cList[8], cList[9], cList[10], cList[11], cList[12], cList[13], cList[14], cList[15], cList[16], cList[17], cList[18], cList[19], cList[20].slice(0, 5)]);\r\n }\r\n }\r\n return null;\r\n}\r\n\r\nexport const setToFromVal = (toOrFrom, newVal) => {\r\n if (toOrFrom === 'to') {\r\n toVal = Number(newVal);\r\n if (toRef.current) toRef.current.setVal(newVal, false);\r\n }\r\n else if (toOrFrom === 'from') {\r\n fromVal = Number(newVal);\r\n if (fromRef.current) fromRef.current.setVal(newVal, false);\r\n }\r\n updateToAndFrom();\r\n}\r\n\r\nexport const getToFrom = (toOrFrom) => {\r\n if (toOrFrom === 'to') return toVal;\r\n else if (toOrFrom === 'from') return fromVal;\r\n}\r\n\r\nexport const setCurrentSetName = (newCurrentSetName) => currentSetName = newCurrentSetName","import React from \"react\";\r\nimport { mySets, setCurrentSetName, setToFromVal, toVal, fromVal, rows, getCA, toRef, fromRef, d, setLetters, letterSetOptionsRef, currentlyEditing, defaultSetNames, deleteSet, editSetOptionsRef, deleteSetRef} from \"./editFunctionality\";\r\nimport { resetCopyButtons, rowCrossedOrUncrossed, checkAllLetterSquaresRendered, logMARScoreRef, SnellenScoreRef, noReadLettersScoreRef, calculateScores } from './crossFunctionality'\r\nimport LetterSet from './LetterSet';\r\nimport { GridLayoutRef } from \"./App\";\r\nimport { DeleteLetterSetButton } from \"./EditButtons\";\r\n\r\nexport const left = 0; export const right = 1;\r\n\r\nlet toValToSet = 0; let fromValToSet = 0;\r\n\r\nexport let initialised = false;\r\n\r\nexport let near = false;\r\n\r\nlet cookiesGot = false;\r\n\r\nexport let showingSettings = true;\r\n\r\n\r\n\r\nexport let logMARScoreShowing = true; export let snellenScoreShowing = true; export let letterScoreShowing = false;\r\n\r\nexport const logMARScoreButton = React.createRef(); export const SnellenScoreButton = React.createRef(); export const noReadLettersButton = React.createRef();\r\n\r\nexport const OptionsBoxRef = React.createRef();\r\n\r\nexport const nearButtonRef = React.createRef();\r\nexport const leftLabelSelecter = React.createRef(); export const rightLabelSelecter = React.createRef();\r\n\r\nexport const logMARScaleIdentifier = 'logMAR'; export const snellenIdentifier = 'snllen'; export const noReadLettersIdentifier = 'letter'; export let noLabelIdentifier = 'NaNNaN'\r\nexport const labelScaleTypes = [logMARScaleIdentifier, snellenIdentifier, noReadLettersIdentifier, noLabelIdentifier]\r\n\r\nexport let leftRowLabelScaleType = logMARScaleIdentifier; export let rightRowLabelScaleType = snellenIdentifier\r\n\r\nexport const getAllCookies = () => {\r\n \r\n if (!cookiesGot) {\r\n let setToSet = 'Default set 1';\r\n let logMARScoreShowingToSet = true; let snellenScoreShowingToSet = true; let letterScoreShowingToSet = true;\r\n let nearToSet = false;\r\n let leftLabelScaleTypeToSet = logMARScaleIdentifier; let rightLabelScaleTypeToSet = snellenIdentifier;\r\n let toValToSet = 17; let fromValToSet = 3;\r\n for (let c of getCA()) {\r\n if (c.indexOf('showings') === 0) {\r\n let cList = c.substring(9, c.length).split(',');\r\n logMARScoreShowingToSet = JSON.parse(cList[0]); snellenScoreShowingToSet = JSON.parse(cList[1]); letterScoreShowingToSet = JSON.parse(cList[2]);\r\n } else if (c.indexOf('near') === 0) {\r\n if (JSON.parse(c.substring(5, c.length))) nearToSet = JSON.parse(c.substring(5, c.length));\r\n } else if (c.indexOf('\"set ') === 0) {\r\n let cList = c.split(', ');\r\n let newName = cList[0].substring(5, cList[0].length - 8);\r\n mySets[newName] = new LetterSet([cList[0].substring(cList[0].length - 5), cList[1], cList[2], cList[3], cList[4], cList[5], cList[6], cList[7], cList[8], cList[9], cList[10], cList[11], cList[12], cList[13], cList[14], cList[15], cList[16], cList[17], cList[18], cList[19], cList[20].slice(0, 5)]);\r\n }\r\n else if (c.indexOf('leftRowLabelType') === 0) leftLabelScaleTypeToSet = c.substring(17, 23);\r\n else if (c.indexOf('rightRowLabelType') === 0) rightLabelScaleTypeToSet = c.substring(18, 24);\r\n else if (c.indexOf('to') === 0) toValToSet = Number(c.substring(3, c.length));\r\n else if (c.indexOf('from') === 0) fromValToSet = Number(c.substring(5, c.length));\r\n \r\n }\r\n \r\n for (let c of getCA()) {\r\n if (c.indexOf('currentSet') === 0) {\r\n let potentialSetToSet = c.substring(11, c.length);\r\n if (potentialSetToSet in mySets) setToSet = potentialSetToSet;\r\n }\r\n }\r\n for (let side of [left, right]) setLabelScaleType(side, [leftLabelScaleTypeToSet, rightLabelScaleTypeToSet][side]);\r\n for (let type of ['to', 'from']) setToFromVal(type, [toValToSet, fromValToSet][['to', 'from'].indexOf(type)]);\r\n setNear(nearToSet);\r\n logMARScoreShowing = logMARScoreShowingToSet; snellenScoreShowing = snellenScoreShowingToSet; letterScoreShowing = letterScoreShowingToSet;\r\n // setCurrentSetName(setToSet);\r\n }\r\n cookiesGot = true;\r\n}\r\n\r\nconst setShowingsCookie = (exdays) => {\r\n d.setTime(d.getTime() + (exdays * 24 * 60 * 60 * 1000));\r\n document.cookie = 'showings=' + logMARScoreShowing.toString() + ',' + snellenScoreShowing.toString() + ',' + letterScoreShowing.toString() + ';expires='+ d.toUTCString() + ';path=/';\r\n}\r\n\r\nexport const getStringNameFromIdentifier = (identifier) => {\r\n if (identifier === logMARScaleIdentifier) return 'LogMAR';\r\n else if (identifier === snellenIdentifier) return 'Snellen';\r\n else if (identifier === noReadLettersIdentifier) return 'Letters read'\r\n else if (identifier === noLabelIdentifier) return 'None' }\r\n\r\nexport const setScoreShowing = (showing, type) => {\r\n if (type === logMARScaleIdentifier && logMARScoreButton.current && logMARScoreRef.current) {\r\n logMARScoreButton.current.setCheckedVals(showing);\r\n logMARScoreRef.current.setShowing(showing);\r\n logMARScoreShowing = showing;\r\n } else if (type === snellenIdentifier && SnellenScoreButton.current && SnellenScoreRef.current) {\r\n SnellenScoreButton.current.setCheckedVals(showing);\r\n SnellenScoreRef.current.setShowing(showing);\r\n snellenScoreShowing = showing;\r\n } else if (type === noReadLettersIdentifier && noReadLettersButton.current && noReadLettersScoreRef.current) {\r\n noReadLettersButton.current.setCheckedVals(showing);\r\n noReadLettersScoreRef.current.setShowing(showing);\r\n letterScoreShowing = showing;\r\n }\r\n setShowingsCookie(1000);\r\n}\r\n\r\nconst getNearCookie = () => {\r\n for (let c of getCA()) {\r\n if (c.indexOf('near') === 0) {\r\n if (JSON.parse(c.substring(5, c.length))) near = JSON.parse(c.substring(5, c.length))\r\n }\r\n }\r\n}\r\n\r\nexport const setNearCookie = (exdays) => {\r\n d.setTime(d.getTime() + (exdays * 24 * 60 * 60 * 1000));\r\n document.cookie = 'near=' + near.toString() + ';expires='+ d.toUTCString() + ';path=/';\r\n}\r\n\r\nexport const setNear = (newNear) => {\r\n near = newNear;\r\n setNearCookie(1000);\r\n for (let row of rows) {\r\n for (let i of [0, 1]) row.labels[i].resetValToDisplay();\r\n }\r\n if (nearButtonRef.current) nearButtonRef.current.setCheckedVals(newNear);\r\n if (toRef.current) toRef.current.setState({near: newNear});\r\n if (fromRef.current) fromRef.current.setState({near: newNear});\r\n\r\n calculateScores();\r\n}\r\n\r\nexport const getNear = () => { return near; }\r\n\r\nconst setRowLabelCookie = (rowLabelType, side, exdays) => {\r\n d.setTime(d.getTime() + (exdays * 24 * 60 * 60 * 1000));\r\n document.cookie = ['left', 'right'][side] + 'RowLabelType=' + rowLabelType + ';expires='+ d.toUTCString() + ';path=/';\r\n}\r\n\r\nconst getLabelScaleCookies = (side) => {\r\n for (let c of getCA()) {\r\n if (c.indexOf(['left', 'right'][side] + 'RowLabelType') === 0) setLabelScaleType(side, c.substring(17 + side, 23 + side));\r\n }\r\n}\r\n\r\nconst checkIfAllLabelsRendered = (side) => {\r\n for (let rowIndex = fromVal; rowIndex <= toVal; rowIndex ++) if (!rows[rowIndex].labels[side].myRef.current) return false;\r\n return true;\r\n}\r\n\r\nconst checkIfLabelSetterRendered = (side) => {\r\n if ((side === left && leftLabelSelecter.current) || (side === right && rightLabelSelecter.current)) return true;\r\n else return false;\r\n}\r\n\r\nconst checkIfEditButtonsRendered = () => {\r\n if (!toRef.current) return false;\r\n else if (!fromRef.current) return false;\r\n else if (!letterSetOptionsRef.current) return false;\r\n else if (!nearButtonRef.current) return false;\r\n else if (!logMARScoreRef.current) return false;\r\n else if (!SnellenScoreRef.current) return false;\r\n else if (!noReadLettersScoreRef.current) return false;\r\n else if (!logMARScoreButton.current) return false;\r\n else if (!SnellenScoreButton.current) return false;\r\n else if (!noReadLettersButton.current) return false;\r\n else if (!deleteSetRef.current) return false;\r\n else if (!editSetOptionsRef.current) return false;\r\n else return true;\r\n}\r\n\r\nconst setLabelsToScale = (side, scale, from, to) => {\r\n for (let row of rows.slice(from, to + 1)) {\r\n if (row.labels[side].myRef.current) {\r\n row.labels[side].myRef.current.setValToDisplay(scale);\r\n }\r\n }\r\n}\r\n\r\nexport const setEverythingUp = () => {\r\n getAllCookies();\r\n \r\n} \r\n\r\nexport const setLabelScaleType = (side, scaleType) => {\r\n\r\n if (side === left) leftRowLabelScaleType = scaleType\r\n else if (side === right) rightRowLabelScaleType = scaleType;\r\n \r\n if ([leftLabelSelecter, rightLabelSelecter][side].current) [leftLabelSelecter, rightLabelSelecter][side].current.setScale(scaleType);\r\n\r\n for (let row of rows) row.labels[side].setScaleType(scaleType);\r\n\r\n for (let ref of [fromRef, toRef]) {\r\n if (ref.current) ref.current.setScale(side, scaleType);\r\n }\r\n\r\n setRowLabelCookie(scaleType, side, 1000)\r\n}\r\n\r\nexport const getLabelScaleType = (side) => { return [leftRowLabelScaleType, rightRowLabelScaleType][side]; }","import { rows, rowNumber, toRef, fromRef, toVal, fromVal, newRowsToRenderNumber, setLetters, currentSetName, convertRowIndexToLogMAR, convertLogMARToSnellen } from \"./editFunctionality\";\r\nimport { logMARScaleIdentifier, noReadLettersIdentifier, setEverythingUp, snellenIdentifier } from \"./viewFunctionality\";\r\nimport React from \"react\";\r\n\r\nlet near = false;\r\n\r\nlet NoCrossButtonsRendered = 0;\r\n\r\nexport let logMARScore = 0; export let snellenScore = 0; export let readLetterCount = 0;\r\n\r\nexport const logMARScoreRef = React.createRef(); export const SnellenScoreRef = React.createRef(); export const noReadLettersScoreRef = React.createRef();\r\n\r\nexport const resetCopyButtons = (buttonsToReset) => {\r\n for (let identifier of buttonsToReset) {\r\n if (identifier === logMARScaleIdentifier && logMARScoreRef.current) logMARScoreRef.current.resetCopyButton();\r\n else if (identifier === snellenIdentifier && SnellenScoreRef.current) SnellenScoreRef.current.resetCopyButton();\r\n else if (identifier === noReadLettersIdentifier && noReadLettersScoreRef.current) noReadLettersScoreRef.current.resetCopyButton();\r\n }\r\n}\r\n\r\nexport const checkAllLetterSquaresRendered = () => {\r\n for (let rowIndex = fromVal; rowIndex <= toVal; rowIndex ++) {\r\n for (let columnIndex = 0; columnIndex < 5; columnIndex ++) if (!(rows[rowIndex].letterSquares[columnIndex].myRef.current)) return false;\r\n }\r\n return true;\r\n}\r\n\r\nexport const clear = () => {\r\n for (let rowIndex = rowNumber - 1; rowIndex >= 0; rowIndex --) rowCrossedOrUncrossed(false, rowIndex);\r\n}\r\n\r\nconst checkAllCrossButtonsRendered = () => {\r\n for (let rowIndex = fromVal; rowIndex <= toVal; rowIndex ++) {\r\n if (!(rows[rowIndex].crossRowButton.myRef.current && rows[rowIndex].crossLaterRowsButton.myRef.current)) return false;\r\n }\r\n return checkAllLetterSquaresRendered();\r\n}\r\n\r\nexport const crossableButtonRendered = () => {\r\n \r\n setEverythingUp();\r\n}\r\n\r\nexport const letterCrossedOrUncrossed = (crossed, rowIndex, colIndex) => {\r\n rows[rowIndex].letterSquares[colIndex].setCrossed(crossed);\r\n if (crossed) {\r\n if (rows[rowIndex].getNoCrossedLetters() === 5) rowCrossedOrUncrossed(true, rowIndex);\r\n } else {\r\n if (rows[rowIndex].getNoCrossedLetters() === 4) {\r\n rows[rowIndex].crossRowButton.setCrossed(false);\r\n rows[rowIndex].crossLaterRowsButton.setCrossed(false);\r\n for (let previousRowIndex of findAllRowsCrossedImmediatelyAbove(rowIndex)) rows[previousRowIndex].crossLaterRowsButton.setCrossed(false);\r\n }\r\n }\r\n calculateScores();\r\n}\r\n\r\nexport const letterSquareShaded = (shaded, crossed, rowIndex, colIndex) => {\r\n if (rows[rowIndex].letterSquares[colIndex].myRef.current) rows[rowIndex].letterSquares[colIndex].myRef.current.shadeCross(shaded);\r\n if (((shaded) && ((rows[rowIndex].getNoCrossedLetters() === 5) || (!crossed && rows[rowIndex].getNoCrossedLetters() === 4))) || !shaded) {\r\n if (rows[rowIndex].crossRowButton.myRef.current) rows[rowIndex].crossRowButton.myRef.current.setCrossShaded(shaded, false);\r\n potentiallyShadeOrUnshadeAllDownArrowsAbove(shaded, rowIndex);\r\n }\r\n}\r\n\r\nexport const rowCrossedOrUncrossed = (crossed, rowIndex) => {\r\n rows[rowIndex].crossRowButton.setCrossed(crossed);\r\n for (let columnIndex = 0; columnIndex < 5; columnIndex ++) {\r\n if (rows[rowIndex].letterSquares[columnIndex].getCrossed() !== crossed) letterCrossedOrUncrossed(crossed, rowIndex, columnIndex);\r\n }\r\n\r\n if (checkIfLastRowOrRowBelowDownArrowCrossedOrShaded(rowIndex) || !crossed) rows[rowIndex].crossLaterRowsButton.setCrossed(crossed);\r\n \r\n for (let previousRowIndex of findAllRowsCrossedImmediatelyAbove(rowIndex)) rows[previousRowIndex].crossLaterRowsButton.setCrossed(rows[rowIndex].crossLaterRowsButton.getCrossed());\r\n \r\n}\r\n\r\nexport const rowButtonShaded = (shaded, crossed, rowIndex, colIndex) => {\r\n if (rows[rowIndex].crossRowButton.myRef.current) rows[rowIndex].crossRowButton.myRef.current.shadeCross(shaded);\r\n for (let columnIndex = 0; columnIndex < 5; columnIndex++) {\r\n if (!shaded || (shaded && crossed) || !(crossed || rows[rowIndex].letterSquares[columnIndex].getCrossed())) {\r\n if (rows[rowIndex].letterSquares[columnIndex].myRef.current) rows[rowIndex].letterSquares[columnIndex].myRef.current.shadeCross(shaded);\r\n }\r\n }\r\n potentiallyShadeOrUnshadeAllDownArrowsAbove(shaded, rowIndex)\r\n}\r\n\r\nexport const rowAndLaterRowsCrossedOrUncrossed = (crossed, rowIndex) => {\r\n rows[rowIndex].crossLaterRowsButton.setCrossed(crossed);\r\n for (let currentRowIndex = rowNumber - 1; currentRowIndex >= rowIndex; currentRowIndex -- ) rowCrossedOrUncrossed(crossed, currentRowIndex);\r\n}\r\n\r\nexport const rowAndLaterRowsButtonShaded = (shaded, crossed, rowIndex, colIndex) => {\r\n shadeOrUnshadeAllDownArrowsAbove(shaded, rowIndex);\r\n for (let laterRowIndex = rowNumber - 1; laterRowIndex >= rowIndex; laterRowIndex--) {\r\n if (rows[laterRowIndex].crossLaterRowsButton.getCrossed() === crossed && rows[laterRowIndex].crossLaterRowsButton.myRef.current) {\r\n rows[laterRowIndex].crossLaterRowsButton.myRef.current.shadeCross(shaded);\r\n }\r\n if (rows[laterRowIndex].crossRowButton.getCrossed() === crossed) rowButtonShaded(shaded, crossed, laterRowIndex, -1);\r\n }\r\n}\r\n\r\nconst checkIfLastRowOrRowBelowDownArrowCrossedOrShaded = (rowIndex) => {\r\n if (rowIndex == rowNumber - 1) return true;\r\n else if (rows[Number(rowIndex) + 1].crossLaterRowsButton.getCrossed()) return true;\r\n else return false;\r\n}\r\n\r\nconst shadeOrUnshadeAllDownArrowsAbove = (shaded, rowIndex) => {\r\n if (rows[rowIndex].crossLaterRowsButton.myRef.current) rows[rowIndex].crossLaterRowsButton.myRef.current.shadeCross(shaded)\r\n for (let previousRowIndex of findAllRowsCrossedImmediatelyAbove(rowIndex)) {\r\n if (rows[previousRowIndex].crossLaterRowsButton.myRef.current) rows[previousRowIndex].crossLaterRowsButton.myRef.current.shadeCross(shaded);\r\n }\r\n}\r\n\r\nconst potentiallyShadeOrUnshadeAllDownArrowsAbove = (shaded, rowIndex) => {\r\n if (checkIfLastRowOrRowBelowDownArrowCrossedOrShaded(rowIndex)) shadeOrUnshadeAllDownArrowsAbove(shaded, rowIndex);\r\n}\r\n\r\nconst findAllRowsCrossedImmediatelyAbove = (rowIndex) => {\r\n let indices = new Array();\r\n for (let aboveRowIndex = rowIndex - 1; aboveRowIndex >= fromVal; aboveRowIndex --) {\r\n if (rows[aboveRowIndex].crossRowButton.getCrossed()) indices.push(aboveRowIndex);\r\n else break;\r\n }\r\n return indices;\r\n}\r\n\r\nexport const getLogMARScore = () => { return logMARScore; }\r\n\r\nexport const getSnellenScore = () => { return snellenScore; }\r\n\r\nexport const getNoReadLetters = () => { return readLetterCount; }\r\n\r\nexport const calculateScores = () => {\r\n logMARScore = Number(convertRowIndexToLogMAR(toVal));\r\n readLetterCount = 5 * (toVal + 1);\r\n for (let row of rows.slice(fromVal, toVal + 1)) {\r\n logMARScore += row.getNoCrossedLetters() * (1 / 50);\r\n readLetterCount -= row.getNoCrossedLetters();\r\n }\r\n logMARScore = Number(logMARScore.toFixed(2));\r\n let snellenScoreDecimalPlaces = 0;\r\n if (logMARScore < 0.3) snellenScoreDecimalPlaces = 1;\r\n else snellenScoreDecimalPlaces = 0;\r\n snellenScore = convertLogMARToSnellen(logMARScore, snellenScoreDecimalPlaces);\r\n\r\n if (logMARScoreRef.current) logMARScoreRef.current.setState({score: logMARScore});\r\n if (SnellenScoreRef.current) SnellenScoreRef.current.setState({score: snellenScore});\r\n if (noReadLettersScoreRef.current) noReadLettersScoreRef.current.setState({score: readLetterCount});\r\n}","import React from 'react';\r\nimport { GridLayoutRef } from './App';\r\nimport { calculateScores } from './crossFunctionality';\r\nimport { setEverythingUp } from './viewFunctionality';\r\n\r\nclass CrossComponent extends React.Component {\r\n\r\n constructor(props) {\r\n super(props);\r\n this.state = {opacity: 0, cursor: 'Default', className: 'cross'};\r\n this.props = props;\r\n this.crossed = false;\r\n this.shaded = false;\r\n }\r\n\r\n \r\n\r\n drawCross = (newCrossed) => {\r\n this.crossed = newCrossed;\r\n this.setState({opacity: (100 * newCrossed)});\r\n }\r\n\r\n getCrossed = () => { return this.crossed; }\r\n\r\n setVisibility = (visibility) => {\r\n if (visibility) this.setState({className: 'cross '})\r\n else this.setState({className: 'cross hidden'})\r\n }\r\n\r\n clicked = () => this.props.crossFunction(!this.crossed, this.props.rowIndex, this.props.colIndex);\r\n\r\n setShaded = (shaded, active) => {\r\n if (!GridLayoutRef.current.getEditStatus()) {\r\n this.shaded = shaded\r\n if (shaded) this.setState({opacity: 40})\r\n else this.setState({opacity: 100 * this.crossed})\r\n if (active) this.props.shadeFunction(shaded, this.crossed, this.props.rowIndex);\r\n }\r\n }\r\n\r\n shade = (shaded) => {\r\n if (shaded) this.setState({opacity: 40})\r\n else this.setState({opacity: 100 * this.crossed})\r\n }\r\n\r\n mouseEntered = () => this.props.shadeFunction(true, this.crossed, this.props.rowIndex, this.props.colIndex);\r\n\r\n mouseLeft = () => this.props.shadeFunction(false, this.crossed, this.props.rowIndex, this.props.colIndex);\r\n\r\n getShaded = () => { return this.shaded; }\r\n\r\n render() {\r\n return
{this.clicked(); calculateScores();}}/>\r\n }\r\n\r\n}\r\n\r\nexport default CrossComponent","import React from 'react';\r\n\r\nclass LaterRowsArrow extends React.Component {\r\n\r\n constructor(props) {\r\n super(props);\r\n this.state = {text: '', editable: false, cursor: 'Default'};\r\n this.props = props\r\n }\r\n\r\n\r\n render() {\r\n return
\r\n }\r\n}\r\n\r\nexport default LaterRowsArrow","import React from 'react';\r\n\r\nclass RowArrowComponent extends React.Component {\r\n\r\n constructor(props) {\r\n super(props);\r\n this.state = {selected: false, color: 'white', text: '', editable: false, cursor: 'Default'};\r\n this.props = props\r\n }\r\n\r\n\r\n render() {\r\n return
\r\n }\r\n}\r\n\r\nexport default RowArrowComponent","import React from 'react';\r\nimport CrossComponent from './CrossComponent';\r\nimport LaterRowsArrow from './LaterRowsArrowComponent';\r\nimport RowArrowComponent from './RowArrowComponent';\r\nimport {rowCrossedOrUncrossed, rowAndLaterRowsCrossedOrUncrossed, rowButtonShaded, rowAndLaterRowsButtonShaded, letterCrossedOrUncrossed, letterSquareShaded, crossableButtonRendered } from './crossFunctionality'\r\nimport { rows } from './editFunctionality'\r\n\r\nexport class CrossableButton {\r\n constructor(rowIndex) {\r\n this.myRef = React.createRef();\r\n this.crossed = false;\r\n this.rowIndex = rowIndex;\r\n }\r\n\r\n getCrossed = () => { return this.crossed; }\r\n\r\n setCrossed = (newCrossed) => {\r\n this.crossed = newCrossed;\r\n if (this.myRef.current) this.myRef.current.drawCross(newCrossed);\r\n }\r\n\r\n getLayout = () => { return this.layout; }\r\n}\r\n\r\nexport class CrossRowButton extends CrossableButton {\r\n\r\n constructor(rowIndex) {\r\n super(rowIndex);\r\n this.box = \r\n this.layout = {i: 'CrossRowButton ' + rowIndex.toString(), x: 2.7, y: rowIndex, w: 1.3, h: 1};\r\n }\r\n}\r\n\r\nexport class CrossLaterRowsButton extends CrossableButton {\r\n constructor(rowIndex) {\r\n super(rowIndex);\r\n this.box = \r\n this.layout = {i: 'CrossLaterRowButton ' + rowIndex.toString(), x: 1, y: rowIndex, w: 1.7, h: 1};\r\n }\r\n}\r\n\r\n\r\n\r\nexport class CrossableButtonBox extends React.Component {\r\n\r\n constructor(props) {\r\n super(props);\r\n this.state = {selected: false, color: 'white', text: '', editable: false, cursor: 'Default'};\r\n this.props = props;\r\n this.crossRef = React.createRef();\r\n }\r\n\r\n componentDidMount = () => {\r\n this.drawCross(this.props.getCrossedFunction());\r\n }\r\n\r\n drawCross = (newCrossed) => { if (this.crossRef.current) this.crossRef.current.drawCross(newCrossed) }\r\n\r\n shadeCross = (shade) => { if (this.crossRef.current) this.crossRef.current.shade(shade)}\r\n\r\n getCrossed = () => { if (this.crossRef.current) { return this.crossRef.current.getCrossed(); } }\r\n\r\n setCrossShaded = (shaded, active) => { if (this.crossRef.current) this.crossRef.current.setShaded(shaded, active); }\r\n \r\n getCrossShaded = () => { if (this.crossRef.current) { return this.crossRef.current.getShaded(); } }\r\n\r\n}\r\n\r\nexport class CrossLaterRowsButtonBox extends CrossableButtonBox {\r\n\r\n constructor(props) {\r\n super(props);\r\n this.laterRowsArrowRef = React.createRef();\r\n }\r\n\r\n render() {\r\n return ( <>\r\n \r\n \r\n ) \r\n }\r\n}\r\n\r\nexport class CrossRowButtonBox extends CrossableButtonBox {\r\n\r\n constructor(props) {\r\n super(props)\r\n this.rowArrowRef = React.createRef();\r\n }\r\n \r\n render() {\r\n return ( <>\r\n \r\n \r\n )\r\n }\r\n}","import { CrossableButtonBox, CrossableButton } from \"./CrossableButtons\";\r\nimport { acceptableLetters, updateLetterSet, rows, generateRandomLetter } from './editFunctionality';\r\nimport CrossComponent from './CrossComponent';\r\nimport { letterCrossedOrUncrossed, letterSquareShaded } from './crossFunctionality'\r\nimport { setEverythingUp } from \"./viewFunctionality\";\r\n\r\nconst grey = 'Grey'; const black = 'Black';\r\n\r\n\r\nexport class LetterSquare extends CrossableButton {\r\n\r\n constructor(rowIndex, columnIndex, letter) {\r\n super(rowIndex);\r\n this.columnIndex = columnIndex;\r\n this.letter = letter;\r\n this.potentialLetter = '';\r\n this.letterCrossed = false;\r\n this.editable = false;\r\n this.box = \r\n this.layout = {i: 'letterButton (' + rowIndex.toString() + ',' + columnIndex.toString() + ')', x: 4 + columnIndex, y: rowIndex, w: 1, h: 1};\r\n }\r\n\r\n setToEdit = (newEditable) => {\r\n this.editable = newEditable;\r\n if (newEditable) letterCrossedOrUncrossed(false, this.rowIndex, this.columnIndex);\r\n if (this.myRef.current) this.myRef.current.setToEdit(newEditable);\r\n }\r\n\r\n getEditable = () => { return this.editable }\r\n\r\n getLetter = () => { return this.letter; }\r\n\r\n setLetter = (newLetter) => {\r\n this.letter = newLetter;\r\n if (this.myRef.current) this.myRef.current.setLetter(newLetter);\r\n }\r\n\r\n setRandomLetter = () => {\r\n if (this.letter === '') {\r\n if (this.potentialLetter === '') updateLetterSet(this.rowIndex, this.columnIndex, generateRandomLetter())\r\n else {\r\n updateLetterSet(this.rowIndex, this.columnIndex, this.potentialLetter)\r\n this.potentialLetter = '';\r\n }\r\n if (this.myRef.current) this.myRef.current.setToGrey(false);\r\n }\r\n }\r\n\r\n shadeLetter = (shade) => {\r\n if (shade && this.letter === '' && this.potentialLetter === '') {\r\n this.potentialLetter = generateRandomLetter()\r\n if (this.myRef.current) this.myRef.current.setState({letter: this.potentialLetter});\r\n } else if (!shade && this.letter === '') {\r\n this.potentialLetter = ''\r\n if (this.myRef.current) this.myRef.current.setState({letter: this.potentialLetter})\r\n }\r\n if (this.myRef.current) this.myRef.current.setToGrey(shade);\r\n }\r\n \r\n}\r\n\r\nexport class LetterSquareBox extends CrossableButtonBox {\r\n\r\n constructor(props) {\r\n super(props);\r\n this.state = {letter: this.props.myLetter, readOnly: true, letterColour: black};\r\n this.letter = this.props.myLetter;\r\n this.potentialLetter = '';\r\n }\r\n\r\n componentDidMount = () => {\r\n this.drawCross(this.props.getCrossedFunction());\r\n this.setToEdit(this.props.getEditable())\r\n }\r\n\r\n takeInput = (event) => {\r\n let text = event.target.value.charAt(0).toUpperCase();\r\n if (acceptableLetters.indexOf(text) !== -1) updateLetterSet(this.props.myRowIndex, this.props.myColumnIndex, text);\r\n }\r\n\r\n\r\n setLetter = (newLetter) => {\r\n if (newLetter === ' ') newLetter = '';\r\n this.setState({letter: newLetter});\r\n this.letter = newLetter;\r\n }\r\n\r\n getLetter = () => { return this.letter }\r\n\r\n setToEdit = (newEditable) => {\r\n this.setState({readOnly: !newEditable});\r\n if (newEditable) { this.setState({cursor: 'text'});\r\n } else this.setState({cursor: 'default'});\r\n }\r\n\r\n setToGrey = (toGrey) => {\r\n if (toGrey) this.setState({letterColour: grey})\r\n else this.setState({letterColour: black}) }\r\n \r\n shadeLetter = (shade) => {\r\n if (shade && this.letter === '' && this.potentialLetter === '') {\r\n this.potentialLetter = this.generateRandomLetter()\r\n this.setState({letter: this.potentialLetter});\r\n } else if (!shade && this.letter === '') {\r\n this.potentialLetter = ''\r\n this.setState({letter: this.potentialLetter})\r\n }\r\n this.setToGrey(shade);\r\n }\r\n\r\n \r\n\r\n render () {\r\n return ( <>\r\n {this.state.readOnly && }\r\n {this.setState({letter: ''})}} onBlur={() => {this.setState({letter: this.letter})}} onInput={this.takeInput} readOnly={this.state.readOnly} style={{cursor: this.state.cursor, color: this.state.letterColour}}>\r\n \r\n );\r\n };\r\n};\r\n","import React from \"react\";\r\nimport {RandomClearButtonRendered, clearRow, clearRowsAbove, clearRowsBelow, shadeClearRow, shadeClearRowsBelow, shadeClearRowsAbove, shadeRandomiseRow, shadeRandomiseRowsAbove, shadeRandomiseRowsBelow, randomiseRow, randomiseRowsBelow, randomiseRowsAbove} from './editFunctionality'\r\n\r\nexport const randomise = false; export const clear = true;\r\n\r\n class RandomiseOrClearButton {\r\n constructor(rowIndex, shadeClearFunction, shadeRandomiseFunction) {\r\n this.myRef = React.createRef();\r\n this.function = clear;\r\n this.rowIndex = rowIndex;\r\n this.shadeClearFunction = shadeClearFunction; this.shadeRandomiseFunction = shadeRandomiseFunction;\r\n }\r\n\r\n setFunction = (newFunction) => {\r\n this.function = newFunction;\r\n if (this.myRef.current) this.myRef.current.setFunction(newFunction)\r\n }\r\n\r\n shadeFunction = (shade, active) => {\r\n this.shaded = shade;\r\n if (this.myRef.current) this.myRef.current.shade(shade);\r\n if (active) {\r\n if (this.function === clear) this.shadeClearFunction(this.rowIndex, shade)\r\n else this.shadeRandomiseFunction(this.rowIndex, shade)\r\n }\r\n }\r\n\r\n getFunction = () => { return this.function; }\r\n\r\n getLayout = () => { return this.layout; }\r\n\r\n}\r\n\r\nexport class RandomiseOrClearRowsAboveButton extends RandomiseOrClearButton {\r\n\r\n constructor(rowIndex) {\r\n super(rowIndex, shadeClearRowsAbove, shadeRandomiseRowsAbove);\r\n this.box = \r\n this.layout = {i: 'RandomiseOrClearRowsAboveButton ' + rowIndex.toString(), x: 1, y: rowIndex, w: 1, h: 1}\r\n }\r\n\r\n}\r\n\r\nexport class RandomiseOrClearRowsBelowButton extends RandomiseOrClearButton {\r\n\r\n constructor(rowIndex) {\r\n super(rowIndex, shadeClearRowsBelow, shadeRandomiseRowsBelow);\r\n this.box = \r\n this.layout = {i: 'RandomiseOrClearRowsBelowButton ' + rowIndex.toString(), x: 2, y: rowIndex, w: 1, h: 1}\r\n }\r\n}\r\n\r\nexport class RandomiseOrClearRowButton extends RandomiseOrClearButton {\r\n\r\n constructor(rowIndex) {\r\n super(rowIndex, shadeClearRow, shadeRandomiseRow);\r\n this.box = \r\n this.layout = {i: 'RandomiseOrClearRowButton ' + rowIndex.toString(), x: 3, y: rowIndex, w: 1, h: 1}\r\n }\r\n}\r\n\r\n\r\nclass RandomiseOrClearButtonBox extends React.Component {\r\n constructor(props) {\r\n super(props)\r\n this.shaded = false\r\n this.state = {function: clear, className: this.props.clearClassName, opacity: 100 - (this.shaded * 50)}\r\n this.function = clear\r\n }\r\n\r\n componentDidMount = () => this.setFunction(this.props.getFunction())\r\n\r\n setFunction = (newFunction) => {\r\n this.setState({function: newFunction});\r\n if (newFunction == clear) this.setState({className: this.props.clearClassName});\r\n else this.setState({className: this.props.randomiseClassName});\r\n this.props.shadeFunction(false, false);\r\n }\r\n\r\n getFunction = () => { return this.props.getFunction(); }\r\n\r\n shade = (shade) => { this.setState({opacity: 100 - (shade * 50)}) }\r\n\r\n hover = (hovered) => this.props.shadeFunction(hovered, true);\r\n\r\n \r\n\r\n randomiseOrClear = () => {\r\n if (this.props.getFunction() == clear) this.props.clearFunction(this.props.myRowIndex);\r\n else this.props.randomiseFunction(this.props.myRowIndex);\r\n }\r\n \r\n render() {\r\n return (\r\n
{this.hover(true)}} onMouseLeave={() => {this.hover(false)}} style={{opacity: this.state.opacity.toString() + '%'}}/>\r\n )\r\n }\r\n}\r\n\r\nexport class RandomiseOrClearRowButtonBox extends RandomiseOrClearButtonBox {\r\n constructor(props) {\r\n super(props)\r\n }\r\n\r\n}\r\n\r\nexport class RandomiseOrClearRowsBelowButtonBox extends RandomiseOrClearButtonBox {\r\n constructor(props) {\r\n super(props)\r\n }\r\n\r\n}\r\n\r\nexport class RandomiseOrClearRowsAboveButtonBox extends RandomiseOrClearButtonBox {\r\n constructor(props) {\r\n super(props)\r\n }\r\n\r\n}","import React from 'react';\r\nimport {CrossRowButton, CrossLaterRowsButton} from './CrossableButtons';\r\nimport { LetterSquareBox, LetterSquare } from './LetterSquare';\r\nimport { Label, LabelScaleSelector } from './Label'\r\nimport { RandomiseOrClearRowButton, RandomiseOrClearRowsBelowButton, RandomiseOrClearRowsAboveButton, randomise, clear} from './RandomiseOrClearButtons';\r\nimport { logMARScaleIdentifier, snellenIdentifier } from './viewFunctionality';\r\n\r\nclass Row {\r\n \r\n constructor (rowIndex, rowLetters) {\r\n this.rowIndex = rowIndex;\r\n this.noCrossedLetters = 0;\r\n this.toDisplay = true;\r\n\r\n this.randomiseOrClearRowsAboveButton = new RandomiseOrClearRowsAboveButton(this.rowIndex)\r\n\r\n this.RandomiseOrClearRowsBelowButton = new RandomiseOrClearRowsBelowButton(this.rowIndex)\r\n\r\n this.RandomiseOrClearRowButton = new RandomiseOrClearRowButton(this.rowIndex)\r\n\r\n this.crossRowButton = new CrossRowButton(rowIndex);\r\n \r\n this.crossLaterRowsButton = new CrossLaterRowsButton(rowIndex);\r\n \r\n this.letterSquares = Array.from({ length: 5 }, (_, columnIndex) => (\r\n new LetterSquare(rowIndex, columnIndex, rowLetters[columnIndex])\r\n ));\r\n \r\n this.labels = Array.from({ length: 2}, (_, labelIndex) => ( new Label(rowIndex, labelIndex)));\r\n }\r\n\r\n\r\n getNoCrossedLetters = () => {\r\n let noCrossedLetters = 0\r\n for (let letterSquare of this.letterSquares) { if (letterSquare.getCrossed()) noCrossedLetters ++; }\r\n return noCrossedLetters;\r\n }\r\n\r\n}\r\n\r\nexport default Row;\r\n\r\n","import React from \"react\";\r\nimport GridLayout, { Responsive, WidthProvider } from \"react-grid-layout\";\r\nimport \"react-grid-layout/css/styles.css\";\r\nimport \"react-resizable/css/styles.css\";\r\n\r\nclass MyGrid1 extends React.Component {\r\n\r\n constructor(props) {\r\n super(props);\r\n\r\n this.state.layout = Array.from({ length: 96 }, (_, index) => ({\r\n i: index.toString(),\r\n x: index % 12, // Position in a 12-column grid\r\n y: Math.floor(index / 12), // Position in an 8-row grid\r\n w: 1,\r\n h: 1,\r\n }));\r\n\r\n this.props.ResponsiveGridLayout = WidthProvider(Responsive);\r\n \r\n }\r\n\r\n \r\n render() {\r\n return (\r\n \r\n {this.state.layout.map((item) => (\r\n
\r\n Item {item.i}\r\n
\r\n ))}\r\n \r\n );\r\n };\r\n}\r\n\r\nexport default MyGrid1\r\n","import React from 'react';\r\nimport { calculateScores } from './crossFunctionality'\r\nimport { getAllCookies, rightLabelSelecter, leftLabelSelecter, leftRowLabelScaleType, rightRowLabelScaleType, setLabelScaleType, left, right } from './viewFunctionality'\r\nimport {rows, randomButtonsVisible, rowNumber, toRef, fromRef, toVal, fromVal, letterSetOptionsRef, currentSetName, setLetters} from './editFunctionality'\r\nimport {WidthProvider, Responsive} from \"react-grid-layout\";\r\n\r\nimport MyGrid1 from './MyGrid1';\r\n\r\nclass GridLayout extends React.Component {\r\n\r\n constructor(props) {\r\n super(props);\r\n \r\n this.ResponsiveGridLayout = WidthProvider(Responsive);\r\n\r\n this.crossLayout = new Array();\r\n this.editLayout = new Array();\r\n\r\n this.editing = false;\r\n this.state = {editing: this.editing, fromIndex: fromVal, toIndex: toVal, rowHeight: 60, margin: 5}\r\n \r\n this.setUpLayouts()\r\n }\r\n\r\n componentDidMount = () => {\r\n getAllCookies();\r\n calculateScores();\r\n this.setState({toIndex: toVal, fromIndex: fromVal});\r\n setLetters(currentSetName);\r\n if (letterSetOptionsRef.current) letterSetOptionsRef.current.update();\r\n }\r\n\r\n setUpLayouts = () => {\r\n this.makeCompleteLayout(this.crossLayout, false);\r\n this.makeCompleteLayout(this.editLayout, true);\r\n this.setChosenLayoutAccordingToEditState();\r\n }\r\n\r\n makeCompleteLayout = (layout, toEdit) => {\r\n for (let row of rows) {\r\n if (toEdit) {\r\n layout.push(row.randomiseOrClearRowsAboveButton.getLayout());\r\n layout.push(row.RandomiseOrClearRowsBelowButton.getLayout());\r\n layout.push(row.RandomiseOrClearRowButton.getLayout());\r\n } else {\r\n layout.push(row.crossLaterRowsButton.getLayout());\r\n layout.push(row.crossRowButton.getLayout());\r\n }\r\n for (let letterSquare of row.letterSquares) layout.push(letterSquare.getLayout());\r\n for (let label of row.labels) layout.push(label.layout);\r\n }\r\n }\r\n\r\n\r\n setChosenLayoutAccordingToEditState = () => {\r\n if (this.editing) this.state.layout = this.editLayout;\r\n else this.state.layout = this.crossLayout;\r\n }\r\n\r\n setToEditMode = (edit) => {\r\n for (let row of rows) {\r\n for (let letterSquare of row.letterSquares) letterSquare.setToEdit(edit);\r\n }\r\n this.editing = edit;\r\n this.setState({editing: edit})\r\n this.setChosenLayoutAccordingToEditState();\r\n }\r\n\r\n getEditStatus = () => { return this.editing; }\r\n\r\n onBreakPoint = (breakpoint) => {\r\n if (breakpoint === 'md') this.setState({rowHeight: 70, margin: 5})\r\n else if (breakpoint === 'sm') this.setState({rowHeight: 60, margin: 4})\r\n else if (breakpoint === 'xs') this.setState({rowHeight: 50, margin: 3})\r\n else if (breakpoint === 'xxs') this.setState({rowHeight: 40, margin: 2})\r\n else if (breakpoint === 'xxs') this.setState({rowHeight: 25, margin: 1})\r\n }\r\n\r\n render() {\r\n return (\r\n \r\n {!this.state.editing && rows.slice(this.state.fromIndex, this.state.toIndex + 1).map((row) => ( {row.crossLaterRowsButton.box}))}\r\n {!this.state.editing && rows.slice(this.state.fromIndex, this.state.toIndex + 1).map((row) => ( {row.crossRowButton.box}))}\r\n {this.state.editing && rows.slice(this.state.fromIndex, this.state.toIndex + 1).map((row) => ( {row.randomiseOrClearRowsAboveButton.box}))}\r\n {this.state.editing && rows.slice(this.state.fromIndex, this.state.toIndex + 1).map((row) => ( {row.RandomiseOrClearRowsBelowButton.box}))}\r\n {this.state.editing && rows.slice(this.state.fromIndex, this.state.toIndex + 1).map((row) => ( {row.RandomiseOrClearRowButton.box}))}\r\n {rows.slice(this.state.fromIndex, this.state.toIndex + 1).map((row) => ( row.letterSquares.map((letter) => ( {letter.box} ))))}\r\n {rows.slice(this.state.fromIndex, this.state.toIndex + 1).map((row) => ( row.labels.map((label) => ( {label.box} ))))}\r\n \r\n \r\n )\r\n }\r\n}\r\n\r\nexport default GridLayout;","import logo from './logo.svg';\nimport './App.css';\nimport React, { useEffect } from 'react';\n\nimport { editSetOptionsRef, deleteSetRef } from './editFunctionality'\nimport { ClearButton, DeleteLetterSetButton, EditSetButton, NewLetterSetButton, NearButton } from './EditButtons';\nimport { nearButtonRef, OptionsBoxRef, setEverythingUp } from './viewFunctionality';\nimport OptionsBox from './OptionsBox';\n\nimport {WidthProvider, Responsive} from \"react-grid-layout\";\nimport GridLayout from './GridLayout'\n\n\nimport \"react-resizable/css/styles.css\";\nimport { LabelScaleSelector } from './Label';\n\n// const ResponsiveGridLayout = WidthProvider(Responsive);\n\nexport const GridLayoutRef = React.createRef();\n\n\nexport const App = () => {\n\n\n return (\n \n
\n \n
\n {/*
*/}\n
\n \n
\n
\n
\n \n
\n
\n );\n}\n\nexport default App;","const reportWebVitals = onPerfEntry => {\n if (onPerfEntry && onPerfEntry instanceof Function) {\n import('web-vitals').then(({ getCLS, getFID, getFCP, getLCP, getTTFB }) => {\n getCLS(onPerfEntry);\n getFID(onPerfEntry);\n getFCP(onPerfEntry);\n getLCP(onPerfEntry);\n getTTFB(onPerfEntry);\n });\n }\n};\n\nexport default reportWebVitals;\n","import React from 'react';\nimport ReactDOM from 'react-dom/client';\nimport './index.css';\nimport App from './App';\nimport reportWebVitals from './reportWebVitals';\n\nconst root = ReactDOM.createRoot(document.getElementById('root'));\n\ndocument.title='TSS Scorer';\nroot.render(\n \n \n \n \n);\n\n// If you want to start measuring performance in your app, pass a function\n// to log results (for example: reportWebVitals(console.log))\n// or send to an analytics endpoint. Learn more: https://bit.ly/CRA-vitals\nreportWebVitals();\n"],"names":["r","e","o","t","f","Array","isArray","n","length","arguments","module","exports","clsx","createDefaultIsNestedEqual","comparator","a","b","_indexOrKeyA","_indexOrKeyB","_parentA","_parentB","meta","createIsCircular","areItemsEqual","isEqual","cache","cachedA","get","cachedB","set","result","delete","merge","merged","key","isPlainObject","value","constructor","Object","isPromiseLike","then","sameValueZeroEqual","ARGUMENTS_TAG","BOOLEAN_TAG","DATE_TAG","REG_EXP_TAG","MAP_TAG","NUMBER_TAG","OBJECT_TAG","SET_TAG","STRING_TAG","toString","prototype","createComparator","_a","areArraysEqual","areDatesEqual","areMapsEqual","areObjectsEqual","areRegExpsEqual","areSetsEqual","createIsNestedEqual","aArray","bArray","aTag","call","valueOf","index","areArraysEqualCircular","isValueEqual","size","matchedIndices","indexA","forEach","aValue","aKey","hasMatch","matchIndexB","bValue","bKey","areMapsEqualCircular","OWNER","hasOwnProperty","keysA","keys","reactElementA","$$typeof","reactElementB","areObjectsEqualCircular","source","flags","matchIndex","areSetsEqualCircular","DEFAULT_CONFIG","freeze","DEFAULT_CIRCULAR_CONFIG","isDeepEqual","deepEqual","undefined","isShallowEqual","shallowEqual","isCircularDeepEqual","circularDeepEqual","WeakMap","isCircularShallowEqual","circularShallowEqual","createCustomEqual","getComparatorOptions","createCustomCircularEqual","ReactPropTypesSecret","require","emptyFunction","emptyFunctionWithReset","resetWarningCache","shim","props","propName","componentName","location","propFullName","secret","err","Error","name","getShim","isRequired","ReactPropTypes","array","bigint","bool","func","number","object","string","symbol","any","arrayOf","element","elementType","instanceOf","node","objectOf","oneOf","oneOfType","shape","exact","checkPropTypes","PropTypes","aa","ca","p","c","encodeURIComponent","da","Set","ea","fa","ha","add","ia","window","document","createElement","ja","ka","la","ma","v","d","g","this","acceptsBooleans","attributeName","attributeNamespace","mustUseProperty","propertyName","type","sanitizeURL","removeEmptyString","z","split","toLowerCase","ra","sa","toUpperCase","ta","slice","pa","isNaN","qa","test","oa","removeAttribute","setAttribute","setAttributeNS","replace","xlinkHref","ua","__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED","va","Symbol","for","wa","ya","za","Aa","Ba","Ca","Da","Ea","Fa","Ga","Ha","Ia","Ja","iterator","Ka","La","A","assign","Ma","stack","trim","match","Na","Oa","prepareStackTrace","defineProperty","Reflect","construct","l","h","k","displayName","includes","Pa","tag","render","Qa","_context","_payload","_init","Ra","Sa","Ta","nodeName","Va","_valueTracker","getOwnPropertyDescriptor","configurable","enumerable","getValue","setValue","stopTracking","Ua","Wa","checked","Xa","activeElement","body","Ya","defaultChecked","defaultValue","_wrapperState","initialChecked","Za","initialValue","controlled","ab","bb","cb","db","ownerDocument","eb","fb","options","selected","defaultSelected","disabled","gb","dangerouslySetInnerHTML","children","hb","ib","jb","textContent","kb","lb","mb","nb","namespaceURI","innerHTML","firstChild","removeChild","appendChild","MSApp","execUnsafeLocalFunction","ob","lastChild","nodeType","nodeValue","pb","animationIterationCount","aspectRatio","borderImageOutset","borderImageSlice","borderImageWidth","boxFlex","boxFlexGroup","boxOrdinalGroup","columnCount","columns","flex","flexGrow","flexPositive","flexShrink","flexNegative","flexOrder","gridArea","gridRow","gridRowEnd","gridRowSpan","gridRowStart","gridColumn","gridColumnEnd","gridColumnSpan","gridColumnStart","fontWeight","lineClamp","lineHeight","opacity","order","orphans","tabSize","widows","zIndex","zoom","fillOpacity","floodOpacity","stopOpacity","strokeDasharray","strokeDashoffset","strokeMiterlimit","strokeOpacity","strokeWidth","qb","rb","sb","style","indexOf","setProperty","charAt","substring","tb","menuitem","area","base","br","col","embed","hr","img","input","keygen","link","param","track","wbr","ub","vb","is","wb","xb","target","srcElement","correspondingUseElement","parentNode","yb","zb","Ab","Bb","Cb","stateNode","Db","Eb","push","Fb","Gb","Hb","Ib","Jb","Kb","Lb","Mb","addEventListener","removeEventListener","Nb","apply","m","onError","Ob","Pb","Qb","Rb","Sb","Tb","Vb","alternate","return","Wb","memoizedState","dehydrated","Xb","Zb","child","sibling","current","Yb","$b","ac","unstable_scheduleCallback","bc","unstable_cancelCallback","cc","unstable_shouldYield","dc","unstable_requestPaint","B","unstable_now","ec","unstable_getCurrentPriorityLevel","fc","unstable_ImmediatePriority","gc","unstable_UserBlockingPriority","hc","unstable_NormalPriority","ic","unstable_LowPriority","jc","unstable_IdlePriority","kc","lc","oc","Math","clz32","pc","qc","log","LN2","rc","sc","tc","uc","pendingLanes","suspendedLanes","pingedLanes","entangledLanes","entanglements","vc","xc","yc","zc","Ac","eventTimes","Cc","C","Dc","Ec","Fc","Gc","Hc","Ic","Jc","Kc","Lc","Mc","Nc","Oc","Map","Pc","Qc","Rc","Sc","pointerId","Tc","nativeEvent","blockedOn","domEventName","eventSystemFlags","targetContainers","Vc","Wc","priority","isDehydrated","containerInfo","Xc","Yc","dispatchEvent","shift","Zc","$c","ad","bd","cd","ReactCurrentBatchConfig","dd","ed","transition","fd","gd","hd","id","Uc","stopPropagation","jd","kd","ld","md","nd","od","keyCode","charCode","pd","qd","rd","_reactName","_targetInst","currentTarget","isDefaultPrevented","defaultPrevented","returnValue","isPropagationStopped","preventDefault","cancelBubble","persist","isPersistent","wd","xd","yd","sd","eventPhase","bubbles","cancelable","timeStamp","Date","now","isTrusted","td","ud","view","detail","vd","Ad","screenX","screenY","clientX","clientY","pageX","pageY","ctrlKey","shiftKey","altKey","metaKey","getModifierState","zd","button","buttons","relatedTarget","fromElement","toElement","movementX","movementY","Bd","Dd","dataTransfer","Fd","Hd","animationName","elapsedTime","pseudoElement","Id","clipboardData","Jd","Ld","data","Md","Esc","Spacebar","Left","Up","Right","Down","Del","Win","Menu","Apps","Scroll","MozPrintableKey","Nd","Od","Alt","Control","Meta","Shift","Pd","Qd","String","fromCharCode","code","repeat","locale","which","Rd","Td","width","height","pressure","tangentialPressure","tiltX","tiltY","twist","pointerType","isPrimary","Vd","touches","targetTouches","changedTouches","Xd","Yd","deltaX","wheelDeltaX","deltaY","wheelDeltaY","wheelDelta","deltaZ","deltaMode","Zd","$d","ae","be","documentMode","ce","de","ee","fe","ge","he","ie","le","color","date","datetime","email","month","password","range","search","tel","text","time","url","week","me","ne","oe","event","listeners","pe","qe","re","se","te","ue","ve","we","xe","ye","ze","oninput","Ae","detachEvent","Be","Ce","attachEvent","De","Ee","Fe","He","Ie","Je","Ke","offset","nextSibling","Le","contains","compareDocumentPosition","Me","HTMLIFrameElement","contentWindow","href","Ne","contentEditable","Oe","focusedElem","selectionRange","documentElement","start","end","selectionStart","selectionEnd","min","defaultView","getSelection","extend","rangeCount","anchorNode","anchorOffset","focusNode","focusOffset","createRange","setStart","removeAllRanges","addRange","setEnd","left","scrollLeft","top","scrollTop","focus","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","concat","nf","Ub","instance","listener","D","of","has","pf","qf","rf","random","sf","bind","capture","passive","J","x","u","w","F","tf","uf","parentWindow","vf","wf","na","xa","$a","ba","je","char","ke","unshift","xf","yf","zf","Af","Bf","Cf","Df","Ef","__html","Ff","setTimeout","Gf","clearTimeout","Hf","Promise","Jf","queueMicrotask","resolve","catch","If","Kf","Lf","Mf","previousSibling","Nf","Of","Pf","Qf","Rf","Sf","Tf","Uf","E","G","Vf","H","Wf","Xf","Yf","contextTypes","__reactInternalMemoizedUnmaskedChildContext","__reactInternalMemoizedMaskedChildContext","Zf","childContextTypes","$f","ag","bg","getChildContext","cg","__reactInternalMemoizedMergedChildContext","dg","eg","fg","gg","hg","jg","kg","lg","mg","ng","og","pg","qg","rg","sg","tg","ug","vg","wg","xg","yg","I","zg","Ag","Bg","deletions","Cg","pendingProps","overflow","treeContext","retryLane","Dg","mode","Eg","Fg","Gg","memoizedProps","Hg","Ig","Jg","Kg","Lg","ref","_owner","_stringRef","refs","Mg","join","Ng","Og","Pg","Qg","Rg","implementation","Sg","Tg","q","y","next","done","Ug","Vg","Wg","Xg","Yg","Zg","$g","ah","_currentValue","bh","childLanes","ch","dependencies","firstContext","lanes","dh","eh","context","memoizedValue","fh","gh","hh","interleaved","ih","jh","kh","updateQueue","baseState","firstBaseUpdate","lastBaseUpdate","shared","pending","effects","lh","mh","eventTime","lane","payload","callback","nh","K","oh","ph","qh","rh","sh","th","uh","vh","wh","xh","yh","tagName","zh","Ah","Bh","L","Ch","revealOrder","Dh","Eh","_workInProgressVersionPrimary","Fh","ReactCurrentDispatcher","Gh","Hh","M","N","O","Ih","Jh","Kh","Lh","P","Mh","Nh","Oh","Ph","Qh","Rh","Sh","Th","baseQueue","queue","Uh","Vh","Wh","lastRenderedReducer","action","hasEagerState","eagerState","lastRenderedState","dispatch","Xh","Yh","Zh","$h","ai","getSnapshot","bi","ci","Q","di","lastEffect","stores","ei","fi","gi","hi","ii","create","destroy","deps","ji","ki","li","mi","ni","oi","pi","qi","ri","si","ti","ui","vi","wi","xi","yi","zi","Ai","R","Bi","readContext","useCallback","useContext","useEffect","useImperativeHandle","useInsertionEffect","useLayoutEffect","useMemo","useReducer","useRef","useState","useDebugValue","useDeferredValue","useTransition","useMutableSource","useSyncExternalStore","useId","unstable_isNewReconciler","identifierPrefix","Ci","defaultProps","Di","Ei","isMounted","_reactInternals","enqueueSetState","enqueueReplaceState","enqueueForceUpdate","Fi","shouldComponentUpdate","isPureReactComponent","Gi","contextType","state","updater","Hi","componentWillReceiveProps","UNSAFE_componentWillReceiveProps","Ii","getDerivedStateFromProps","getSnapshotBeforeUpdate","UNSAFE_componentWillMount","componentWillMount","componentDidMount","Ji","message","digest","Ki","Li","console","error","Mi","Ni","Oi","Pi","Qi","getDerivedStateFromError","componentDidCatch","Ri","componentStack","Si","pingCache","Ti","Ui","Vi","Wi","ReactCurrentOwner","Xi","Yi","Zi","$i","aj","compare","bj","cj","dj","baseLanes","cachePool","transitions","ej","fj","gj","hj","ij","UNSAFE_componentWillUpdate","componentWillUpdate","componentDidUpdate","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","last","tail","tailMode","xj","Dj","S","Ej","Fj","wasMultiple","multiple","suppressHydrationWarning","onClick","onclick","createElementNS","autoFocus","createTextNode","T","Gj","Hj","Ij","Jj","U","Kj","WeakSet","V","Lj","W","Mj","Nj","Pj","Qj","Rj","Sj","Tj","Uj","Vj","insertBefore","_reactRootContainer","Wj","X","Xj","Yj","Zj","onCommitFiberUnmount","componentWillUnmount","ak","bk","ck","dk","ek","isHidden","fk","gk","display","hk","ik","jk","kk","__reactInternalSnapshotBeforeUpdate","src","Vk","lk","ceil","mk","nk","ok","Y","Z","pk","qk","rk","sk","tk","Infinity","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","timeoutHandle","Qk","Rk","Sk","Tk","Uk","mutableReadLanes","Bc","Oj","onCommitFiberRoot","mc","onRecoverableError","Wk","onPostCommitFiberRoot","Xk","Yk","$k","isReactComponent","pendingChildren","al","mutableSourceEagerHydrationData","bl","pendingSuspenseBoundaries","dl","el","fl","gl","hl","il","yj","Zk","kl","reportError","ll","_internalRoot","ml","nl","ol","pl","rl","ql","unmount","unstable_scheduleHydration","splice","querySelectorAll","JSON","stringify","form","sl","usingClientEntryPoint","Events","tl","findFiberByHostInstance","bundleType","version","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","findDOMNode","flushSync","hydrate","hydrateRoot","hydratedSources","_getVersion","_source","unmountComponentAtNode","unstable_batchedUpdates","unstable_renderSubtreeIntoContainer","checkDCE","_DraggableCore","default","React","obj","nodeInterop","__esModule","_getRequireWildcardCache","newObj","hasPropertyDescriptor","desc","_interopRequireWildcard","_propTypes","_interopRequireDefault","_reactDom","_clsx","_domFns","_positionFns","_shims","_log","cacheBabelInterop","cacheNodeInterop","_extends","i","_defineProperty","arg","hint","prim","toPrimitive","res","TypeError","Number","_toPrimitive","_toPropertyKey","writable","Draggable","Component","_ref","_ref2","position","prevPropsPosition","super","coreData","onStart","createDraggableData","setState","dragging","dragged","uiData","newState","slackX","slackY","bounds","newStateX","newStateY","getBoundPosition","onDrag","onStop","Boolean","defaultPosition","isElementSVG","warn","SVGElement","_this$props$nodeRef$c","_this$props","nodeRef","axis","defaultClassName","defaultClassNameDragging","defaultClassNameDragged","positionOffset","scale","draggableCoreProps","svgTransform","draggable","validPosition","transformOpts","canDragX","canDragY","createSVGTransform","createCSSTransform","className","onDragStart","onDragStop","cloneElement","Children","only","transform","propTypes","right","bottom","dontSetMe","eventsFor","move","stop","dragEventFor","DraggableCore","NaN","onMouseDown","allowAnyClick","thisNode","Node","handle","matchesSelectorAndParentsTo","cancel","touchIdentifier","getTouchIdentifier","getControlPosition","coreEvent","createCoreData","mounted","enableUserSelectHack","addUserSelectStyles","lastX","lastY","addEvent","handleDrag","handleDragStop","grid","snapToGrid","MouseEvent","createEvent","initMouseEvent","removeUserSelectStyles","removeEvent","handleDragStart","onTouchStart","_this$props2","onMouseUp","onTouchEnd","offsetParent","addClassName","handler","inputOptions","doc","styleEl","getElementById","getElementsByTagName","controlPos","translation","getTranslation","_getPrefix","browserPrefixToKey","getTouch","identifier","findInArray","innerHeight","clientHeight","computedStyle","getComputedStyle","int","paddingTop","paddingBottom","innerWidth","clientWidth","paddingLeft","paddingRight","matchesSelector","selector","baseNode","offsetXYFromParent","evt","offsetParentRect","getBoundingClientRect","outerHeight","borderTopWidth","borderBottomWidth","outerWidth","borderLeftWidth","borderRightWidth","removeClassName","selection","empty","matchesSelectorFunc","method","isFunction","unitSuffix","defaultX","defaultY","classList","RegExp","remove","browserPrefixToStyle","prop","prefix","getPrefix","prefixes","_window$document","str","out","shouldCapitalize","kebabToTitleCase","isStart","isNum","cloneBounds","ownerWindow","boundNode","querySelector","HTMLElement","boundNodeEl","nodeStyle","boundNodeStyle","offsetLeft","marginLeft","offsetTop","marginTop","marginRight","marginBottom","max","draggableCore","touchObj","pendingX","pendingY","round","parseInt","num","_react","_reactDraggable","_reactResizable","_utils","_calculateUtils","_ReactGridLayoutPropTypes","GridItem","resizing","createRef","transformScale","newPosition","parentRect","clientRect","cLeft","pLeft","cTop","pTop","calcXY","getPositionParams","isBounded","containerWidth","positionParams","margin","rowHeight","containerPadding","bottomBoundary","calcGridItemWHPx","clamp","colWidth","calcGridColWidth","rightBoundary","_ref3","callbackData","onResizeHandler","nextProps","nextState","droppingPosition","oldPosition","calcGridItemPosition","fastPositionEqual","useCSSTransforms","moveDroppingItem","prevProps","elementRef","prevDroppingPosition","shouldDrag","cols","maxRows","createStyle","pos","usePercentages","setTransform","setTopLeft","perc","mixinDraggable","isDraggable","curryResizeHandler","mixinResizable","isResizable","minW","minH","maxW","maxH","resizeHandles","resizeHandle","maxWidth","mins","maxes","minConstraints","maxConstraints","Resizable","draggableOpts","onResizeStop","onResizeStart","onResize","_ref4","handlerName","updatedSize","resizeItemInDirection","calcWH","newChild","static","dropping","cssTransforms","resizeHandleAxesType","resizeHandleType","__proto__","_fastEquals","_GridItem","layoutClassName","isFirefox","navigator","userAgent","ReactGridLayout","activeDrag","layout","synchronizeLayoutWithChildren","compactType","allowOverlap","oldDragItem","oldLayout","oldResizeItem","droppingDOMNode","getLayoutItem","placeholder","cloneLayoutItem","preventCollision","moveElement","compact","newLayout","onLayoutMaybeChanged","_ref5","finalLayout","shouldMoveItem","withLayoutItem","hasCollisions","getAllCollisions","filter","layoutItem","isUserAction","_ref6","droppingItem","onDropDragOver","onDragOverResult","removeDroppingPlaceholder","finalDroppingItem","gridRect","layerX","layerY","calculatedPosition","dragEnterCounter","item","find","onDrop","prevState","newLayoutBase","propsLayout","childrenEqual","fastRGLPropsEqual","containerHeight","autoSize","nbRow","containerPaddingY","onLayoutChange","processGridItem","isDroppingItem","draggableCancel","draggableHandle","resizable","resizeHandlesOptions","bounded","isDroppable","innerRef","mergedClassName","mergedStyle","noop","onDragLeave","onDragEnter","onDragOver","map","verticalCompact","_responsiveUtils","_ReactGridLayout","getIndentationValue","breakpoint","ResponsiveReactGridLayout","generateInitialState","layouts","breakpoints","getBreakpointFromWidth","colNo","getColsFromBreakpoint","findOrGenerateResponsiveLayout","onWidthChange","newBreakpoint","lastBreakpoint","newCols","newLayouts","cloneLayout","onBreakpointChange","other","validateLayout","sm","xs","xxs","gridUnits","colOrRowSize","marginPx","isFinite","lowerBound","upperBound","_w","_h","ComposedComponent","_class","resizeObserver","_resizeObserverPolyfill","entries","contentRect","observe","unobserve","disconnect","measureBeforeMount","rest","isEqualImpl","breakpointsSorted","sortBreakpoints","breakpointsAbove","len","correctBounds","sorted","matching","breakpointName","sort","collides","compactItem","getFirstCollision","getStatics","modifyLayout","moveElementAwayFromCollision","direction","currentSize","newSize","ordinalHandler","ordinalResizeHandlerMap","translate","WebkitTransform","MozTransform","msTransform","OTransform","sortLayoutItems","sortLayoutItemsByColRow","sortLayoutItemsByRowCol","initialLayout","exists","isProduction","correctedLayout","itemKey","process","DEBUG","bottomY","moved","l1","l2","compareWith","heightWidth","resolveCompactionCollision","moveToCoord","sizeProp","otherItem","fullLayout","compactH","collidesWith","oldX","oldY","reverse","collisions","collision","itemToMove","compactV","fakeItem","firstCollision","collisionNorth","collisionWest","newX","newY","constrainWidth","currentWidth","newWidth","constrainHeight","currentHeight","newHeight","constrainLeft","constrainTop","resizeNorth","_containerWidth","resizeEast","resizeWest","resizeSouth","s","sw","nw","contextName","subProps","j","Responsive","utils","WidthProvider","_excluded","ownKeys","enumerableOnly","getOwnPropertySymbols","symbols","sym","_objectSpread","getOwnPropertyDescriptors","defineProperties","_setPrototypeOf","setPrototypeOf","_React$Component","subClass","superClass","_this","_len","args","_key","handleRefs","lastHandleRect","slack","_proto","resetData","runConstraints","lockAspectRatio","ratio","deltaW","deltaH","abs","oldW","oldH","slackW","slackH","resizeHandler","_this2","axisV","axisH","handleRect","_this2$runConstraints","dimensionsChanged","renderResizeHandle","handleAxis","_this3","handleSize","excluded","sourceKeys","_objectWithoutPropertiesLoose","_this3$handleRefs$han","resizableProps","_Resizable","_propTypes2","ResizableBox","propsWidth","propsHeight","_PropTypes$number","_len2","_key2","_PropTypes$number2","__self","__source","Fragment","jsx","jsxs","forceUpdate","escape","_status","_result","count","toArray","Profiler","PureComponent","StrictMode","Suspense","act","createContext","_currentValue2","_threadCount","Provider","Consumer","_defaultValue","_globalName","createFactory","forwardRef","isValidElement","lazy","memo","startTransition","unstable_act","MapShim","getIndex","arr","some","entry","class_1","__entries__","clear","ctx","_i","isBrowser","global$1","global","self","Function","requestAnimationFrame$1","requestAnimationFrame","transitionKeys","mutationObserverSupported","MutationObserver","ResizeObserverController","connected_","mutationEventsAdded_","mutationsObserver_","observers_","onTransitionEnd_","refresh","delay","leadingCall","trailingCall","lastCallTime","resolvePending","proxy","timeoutCallback","throttle","addObserver","observer","connect_","removeObserver","observers","disconnect_","updateObservers_","activeObservers","gatherActive","hasActive","broadcastActive","attributes","childList","characterData","subtree","_b","getInstance","instance_","defineConfigurable","getWindowOf","emptyRect","createRectInit","toFloat","parseFloat","getBordersSize","styles","positions","reduce","getHTMLElementContentRect","paddings","positions_1","getPaddings","horizPad","vertPad","boxSizing","isDocumentElement","vertScrollbar","horizScrollbar","isSVGGraphicsElement","SVGGraphicsElement","getBBox","getContentRect","bbox","getSVGContentRect","ResizeObservation","broadcastWidth","broadcastHeight","contentRect_","isActive","rect","broadcastRect","ResizeObserverEntry","rectInit","Constr","DOMRectReadOnly","createReadOnlyRect","ResizeObserverSPI","controller","callbackCtx","activeObservations_","observations_","callback_","controller_","callbackCtx_","Element","observations","clearActive","observation","ResizeObserver","pop","sortIndex","performance","setImmediate","startTime","expirationTime","priorityLevel","scheduling","isInputPending","MessageChannel","port2","port1","onmessage","postMessage","unstable_Profiling","unstable_continueExecution","unstable_forceFrameRate","floor","unstable_getFirstCallbackNode","unstable_next","unstable_pauseExecution","unstable_runWithPriority","unstable_wrapCallback","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","__webpack_modules__","definition","chunkId","all","promises","miniCssF","globalThis","inProgress","dataWebpackPrefix","script","needAttach","scripts","getAttribute","charset","timeout","nc","onScriptComplete","prev","onerror","onload","doneFns","fn","head","toStringTag","installedChunks","installedChunkData","promise","reject","errorType","realSrc","request","webpackJsonpCallback","parentChunkLoadingFunction","chunkIds","moreModules","runtime","chunkLoadingGlobal","letters","calculateLetterRowCount","rowIndex","letterRowsCount","myLetters","setLetterAt","columnIndex","newLetter","getLetterAt","letterToReturn","clearRowAt","getRowAt","setRowAt","newRow","getLetters","decrementNumberBoxesFilled","incrementNumberBoxesFilled","setNumberBoxesFilled","newNumber","getNumberBoxesFilled","Label","labelIndex","setScaleType","newScaleType","scaleType","logMARScaleIdentifier","valToDisplay","convertRowIndexToLogMAR","snellenIdentifier","convertRowIndexToSnellen","noReadLettersIdentifier","convertRowIndexToNoReadLetters","noLabelIdentifier","myRef","getValToDisplay","resetValToDisplay","box","_jsx","LabelBox","myKey","myRowIndex","getTextFunction","getText","near","LabelScaleSelector","setScale","getLabelScaleType","labelSide","newScale","getScale","changed","setLabelScaleType","onChange","labelScaleTypes","getStringNameFromIdentifier","widerOptionsShowing","OptionsBox","setWiderOptionsShowing","newWiderOptionsShowing","_jsxs","_Fragment","leftLabelSelecter","rightLabelSelecter","ToFrom","fromRef","fromVal","toRef","toVal","SetSelection","letterSetOptionsRef","ShowingButton","logMARScoreButton","SnellenScoreButton","noReadLettersButton","Score","showing","logMARScoreRef","SnellenScoreRef","noReadLettersScoreRef","SettingsArrow","edit","save","HideAbleSetButton","setVisibilityBySetName","currentSetName","setName","active","defaultSetNames","EditSetButton","setEditing","newEditing","editing","switchEditOrViewMode","setLetterSetCookie","mySets","NewLetterSetButton","makeNewSet","DeleteLetterSetButton","deleteSet","update","sets","getMySets","setVal","setLetters","getToFrom","side","getNear","newVal","rowNumber","val","setToFromVal","getVal","newFunction","conversionFunctionLeft","conversionFunctionRight","checkToOrFromChangeValid","valcount","rows","row","NearButton","setCheckedVals","setNear","readOnly","ClearButton","score","getLogMARScore","getSnellenScore","getNoReadLetters","resetCopyButton","CopyButtonRef","copied","getScore","setShowing","newShowing","CopyButton","getScoreFunction","setEverythingUp","clicked","clipboard","writeText","resetCopyButtons","cursor","setScoreShowing","myClassName","OptionsBoxRef","cookiesGot","logMARScoreShowing","snellenScoreShowing","letterScoreShowing","nearButtonRef","leftRowLabelScaleType","rightRowLabelScaleType","getAllCookies","setToSet","logMARScoreShowingToSet","snellenScoreShowingToSet","letterScoreShowingToSet","nearToSet","leftLabelScaleTypeToSet","rightLabelScaleTypeToSet","toValToSet","fromValToSet","getCA","cList","parse","newName","LetterSet","potentialSetToSet","exdays","setTime","getTime","cookie","toUTCString","newNear","labels","calculateScores","setRowLabelCookie","rowLabelType","logMARScore","snellenScore","readLetterCount","buttonsToReset","rowCrossedOrUncrossed","letterCrossedOrUncrossed","crossed","colIndex","letterSquares","setCrossed","getNoCrossedLetters","crossRowButton","crossLaterRowsButton","previousRowIndex","findAllRowsCrossedImmediatelyAbove","letterSquareShaded","shaded","shadeCross","setCrossShaded","potentiallyShadeOrUnshadeAllDownArrowsAbove","getCrossed","checkIfLastRowOrRowBelowDownArrowCrossedOrShaded","rowButtonShaded","rowAndLaterRowsCrossedOrUncrossed","currentRowIndex","rowAndLaterRowsButtonShaded","shadeOrUnshadeAllDownArrowsAbove","laterRowIndex","indices","aboveRowIndex","toFixed","snellenScoreDecimalPlaces","convertLogMARToSnellen","CrossComponent","drawCross","newCrossed","setVisibility","visibility","crossFunction","setShaded","GridLayoutRef","getEditStatus","shadeFunction","shade","mouseEntered","mouseLeft","getShaded","onMouseEnter","onMouseLeave","LaterRowsArrow","editable","RowArrowComponent","CrossableButton","getLayout","CrossRowButton","CrossRowButtonBox","getCrossedFunction","CrossLaterRowsButton","CrossLaterRowsButtonBox","CrossableButtonBox","crossRef","getCrossShaded","laterRowsArrowRef","setCrossedVariableFunction","rowArrowRef","black","LetterSquare","letter","setToEdit","newEditable","getEditable","getLetter","setLetter","setRandomLetter","potentialLetter","updateLetterSet","generateRandomLetter","setToGrey","shadeLetter","letterCrossed","LetterSquareBox","myLetter","myColumnIndex","takeInput","acceptableLetters","toGrey","letterColour","autoComplete","onFocus","onBlur","onInput","randomise","RandomiseOrClearButton","shadeClearFunction","shadeRandomiseFunction","setFunction","function","getFunction","RandomiseOrClearRowsAboveButton","shadeClearRowsAbove","shadeRandomiseRowsAbove","RandomiseOrClearRowsAboveButtonBox","randomiseClassName","clearClassName","clearFunction","clearRowsAbove","randomiseFunction","randomiseRowsAbove","RandomiseOrClearRowsBelowButton","shadeClearRowsBelow","shadeRandomiseRowsBelow","RandomiseOrClearRowsBelowButtonBox","clearRowsBelow","randomiseRowsBelow","RandomiseOrClearRowButton","shadeClearRow","shadeRandomiseRow","RandomiseOrClearRowButtonBox","clearRow","randomiseRow","RandomiseOrClearButtonBox","hover","hovered","randomiseOrClear","rowLetters","noCrossedLetters","letterSquare","toDisplay","randomiseOrClearRowsAboveButton","from","_","editSetOptionsRef","deleteSetRef","currentlyEditing","addCoefficient","logMAR","decNumber","denominator","confirm","currentSetIndex","letterSet","toRemove","expiry","decodeURIComponent","setToOrFromCookie","toOrFrom","blankLetterArray","newSetName","currentLetterSet","Row","getFunctionOfEarlierRandomiseRowsAboveButton","getFunctionOfLaterRandomiseRowsBelowButton","getIndicesOfEarlierClearRowsBelowButtons","getIndicesOfLaterClearRowsAboveButtons","getIndicesOfConsecutiveLaterClearRowButtons","getIndicesOfConsecutiveEarlierClearRowButtons","setRowToClearFunctionality","setRowToRandomiseFunctionality","setCorrectRandomiseClearButtons","setToEditMode","letterSetRowIndex","charToSet","setCurrentSetCookie","prompt","fromIndex","toIndex","GridLayout","setUpLayouts","makeCompleteLayout","crossLayout","editLayout","setChosenLayoutAccordingToEditState","toEdit","label","onBreakPoint","ResponsiveGridLayout","App","rel","onPerfEntry","getCLS","getFID","getFCP","getLCP","getTTFB","root","ReactDOM","title","reportWebVitals"],"sourceRoot":""}