@bigbinary/neeto-fields-frontend 1.3.43 → 1.4.0-beta1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- {"version":3,"file":"index.cjs.js","sources":["../node_modules/@babel/runtime/helpers/esm/extends.js","../node_modules/@babel/runtime/helpers/esm/typeof.js","../node_modules/@babel/runtime/helpers/esm/toPrimitive.js","../node_modules/@babel/runtime/helpers/esm/toPropertyKey.js","../node_modules/@babel/runtime/helpers/esm/defineProperty.js","../node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js","../node_modules/@babel/runtime/helpers/esm/arrayWithoutHoles.js","../node_modules/@babel/runtime/helpers/esm/iterableToArray.js","../node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js","../node_modules/@babel/runtime/helpers/esm/nonIterableSpread.js","../node_modules/@babel/runtime/helpers/esm/toConsumableArray.js","../app/javascript/src/constants/index.js","../node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js","../node_modules/@babel/runtime/helpers/esm/arrayWithHoles.js","../node_modules/@babel/runtime/helpers/esm/iterableToArrayLimit.js","../node_modules/@babel/runtime/helpers/esm/nonIterableRest.js","../node_modules/@babel/runtime/helpers/esm/slicedToArray.js","../node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js","../node_modules/@babel/runtime/helpers/esm/objectWithoutProperties.js","../node_modules/@babel/runtime/helpers/typeof.js","../node_modules/@babel/runtime/helpers/regeneratorRuntime.js","../node_modules/@babel/runtime/regenerator/index.js","../app/javascript/src/components/FieldsDashBoard/constants.js","../app/javascript/src/components/InlineFieldValueInput/constants.js","../app/javascript/src/hooks/utils.js","../app/javascript/src/components/commons/FieldInputs/utils.js","../app/javascript/src/hooks/useFormikFields.js","../app/javascript/src/components/commons/FieldInputs/Checkbox.jsx","../app/javascript/src/components/commons/MetadataBlock/index.jsx","../app/javascript/src/components/commons/MetadataBlock/WithMetadataBlock.jsx","../app/javascript/src/components/commons/FieldInputs/DateOrTime.jsx","../app/javascript/src/components/commons/FieldInputs/MultiOption.jsx","../app/javascript/src/components/commons/FieldInputs/Number.jsx","../app/javascript/src/components/commons/FieldInputs/RangePicker.jsx","../app/javascript/src/components/commons/FieldInputs/SingleOption.jsx","../app/javascript/src/components/commons/FieldInputs/Text.jsx","../app/javascript/src/components/commons/FieldInputs/TextArea.jsx","../app/javascript/src/components/utils.js","../app/javascript/src/components/FieldInputs.jsx","../app/javascript/src/apis/fields.js","../app/javascript/src/constants/query.js","../app/javascript/src/hooks/reactQuery/useFieldsApi.js","../app/javascript/src/components/FieldsPane/utils.jsx","../app/javascript/src/components/FieldsPane/constants.js","../app/javascript/src/components/FieldsPane/AdditionalInputs.jsx","../app/javascript/src/components/FieldsPane/FieldForm.jsx","../app/javascript/src/components/FieldsPane/Add.jsx","../app/javascript/src/components/FieldsPane/Edit.jsx","../app/javascript/src/components/FieldsPane/index.jsx","../node_modules/pluralize/pluralize.js","../app/javascript/src/components/FieldsDashBoard/utils.jsx","../app/javascript/src/apis/configs.js","../app/javascript/src/hooks/reactQuery/useConfigsApi.js","../app/javascript/src/hooks/useFieldsDashboard.js","../app/javascript/src/components/FieldsDashBoard/DeleteAlert.jsx","../app/javascript/src/components/FieldsDashBoard/FieldsTable.jsx","../app/javascript/src/components/FieldsDashBoard/Header/ActionBlock.jsx","../app/javascript/src/components/FieldsDashBoard/Header/index.jsx","../app/javascript/src/components/FieldsDashBoard/Menubar.jsx","../node_modules/@dnd-kit/utilities/dist/utilities.esm.js","../node_modules/@dnd-kit/accessibility/dist/accessibility.esm.js","../node_modules/@dnd-kit/core/dist/core.esm.js","../node_modules/@dnd-kit/sortable/dist/sortable.esm.js","../app/javascript/src/components/FieldsDashBoard/ReorderPane/FieldBlock.jsx","../app/javascript/src/components/FieldsDashBoard/ReorderPane/index.jsx","../app/javascript/src/components/FieldsDashBoard/SubHeader.jsx","../app/javascript/src/components/FieldsDashBoard/index.jsx","../app/javascript/src/components/FieldValuesContainer/utils.js","../app/javascript/src/apis/field_values.js","../app/javascript/src/hooks/reactQuery/useFieldValuesApi.js","../app/javascript/src/hooks/useFieldValues.js","../node_modules/react-router-nav-prompt/dist/useNavPrompt.js","../app/javascript/src/components/FieldValuesContainer/constants.js","../app/javascript/src/components/FieldValuesContainer/BlockNavigation.jsx","../app/javascript/src/components/FieldValuesContainer/FieldValueInputWrapper.jsx","../app/javascript/src/components/FieldValuesContainer/index.jsx","../app/javascript/src/components/InlineFieldValueInput/utils.js","../app/javascript/src/components/InlineFieldValueInput/index.jsx","../node_modules/rollup-plugin-styles/dist/runtime/inject-css.js"],"sourcesContent":["export default function _extends() {\n _extends = Object.assign ? Object.assign.bind() : function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n return target;\n };\n return _extends.apply(this, arguments);\n}","export default function _typeof(o) {\n \"@babel/helpers - typeof\";\n\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) {\n return typeof o;\n } : function (o) {\n return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o;\n }, _typeof(o);\n}","import _typeof from \"./typeof.js\";\nexport default function _toPrimitive(input, hint) {\n if (_typeof(input) !== \"object\" || input === null) return input;\n var prim = input[Symbol.toPrimitive];\n if (prim !== undefined) {\n var res = prim.call(input, hint || \"default\");\n if (_typeof(res) !== \"object\") return res;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return (hint === \"string\" ? String : Number)(input);\n}","import _typeof from \"./typeof.js\";\nimport toPrimitive from \"./toPrimitive.js\";\nexport default function _toPropertyKey(arg) {\n var key = toPrimitive(arg, \"string\");\n return _typeof(key) === \"symbol\" ? key : String(key);\n}","import toPropertyKey from \"./toPropertyKey.js\";\nexport default function _defineProperty(obj, key, value) {\n key = toPropertyKey(key);\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n return obj;\n}","export default function _arrayLikeToArray(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i];\n return arr2;\n}","import arrayLikeToArray from \"./arrayLikeToArray.js\";\nexport default function _arrayWithoutHoles(arr) {\n if (Array.isArray(arr)) return arrayLikeToArray(arr);\n}","export default function _iterableToArray(iter) {\n if (typeof Symbol !== \"undefined\" && iter[Symbol.iterator] != null || iter[\"@@iterator\"] != null) return Array.from(iter);\n}","import arrayLikeToArray from \"./arrayLikeToArray.js\";\nexport default function _unsupportedIterableToArray(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return arrayLikeToArray(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return Array.from(o);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return arrayLikeToArray(o, minLen);\n}","export default function _nonIterableSpread() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}","import arrayWithoutHoles from \"./arrayWithoutHoles.js\";\nimport iterableToArray from \"./iterableToArray.js\";\nimport unsupportedIterableToArray from \"./unsupportedIterableToArray.js\";\nimport nonIterableSpread from \"./nonIterableSpread.js\";\nexport default function _toConsumableArray(arr) {\n return arrayWithoutHoles(arr) || iterableToArray(arr) || unsupportedIterableToArray(arr) || nonIterableSpread();\n}","export const NEETO_FIELDS_URL = \"/neeto_fields_engine/api/v1\";\nexport const FIELDS_URL = `${NEETO_FIELDS_URL}/fields`;\nexport const FIELD_VALUES_URL = `${NEETO_FIELDS_URL}/field_values`;\nexport const FIELD_VALUE_URL = `${NEETO_FIELDS_URL}/field_values/:fieldValueId`;\nexport const FIELD_URL = `${NEETO_FIELDS_URL}/fields/:fieldId`;\nexport const DEPENDENCIES_URL = `${NEETO_FIELDS_URL}/fields/:fieldId/dependencies`;\nexport const FIELDS_REORDER_URL = `${FIELDS_URL}/reorder`;\nexport const CONFIGS_URL = `${NEETO_FIELDS_URL}/configs`;\n\nexport const INFO_ICON_SIZE = 16;\n\nexport const SUBMIT_FIELD_STATUS = {\n SUBMITTING: \"submitting\",\n SUCCESS: \"success\",\n FAILED: \"failed\",\n};\n","function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {\n try {\n var info = gen[key](arg);\n var value = info.value;\n } catch (error) {\n reject(error);\n return;\n }\n if (info.done) {\n resolve(value);\n } else {\n Promise.resolve(value).then(_next, _throw);\n }\n}\nexport default function _asyncToGenerator(fn) {\n return function () {\n var self = this,\n args = arguments;\n return new Promise(function (resolve, reject) {\n var gen = fn.apply(self, args);\n function _next(value) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value);\n }\n function _throw(err) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err);\n }\n _next(undefined);\n });\n };\n}","export default function _arrayWithHoles(arr) {\n if (Array.isArray(arr)) return arr;\n}","export default function _iterableToArrayLimit(r, l) {\n var t = null == r ? null : \"undefined\" != typeof Symbol && r[Symbol.iterator] || r[\"@@iterator\"];\n if (null != t) {\n var e,\n n,\n i,\n u,\n a = [],\n f = !0,\n o = !1;\n try {\n if (i = (t = t.call(r)).next, 0 === l) {\n if (Object(t) !== t) return;\n f = !1;\n } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0);\n } catch (r) {\n o = !0, n = r;\n } finally {\n try {\n if (!f && null != t[\"return\"] && (u = t[\"return\"](), Object(u) !== u)) return;\n } finally {\n if (o) throw n;\n }\n }\n return a;\n }\n}","export default function _nonIterableRest() {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}","import arrayWithHoles from \"./arrayWithHoles.js\";\nimport iterableToArrayLimit from \"./iterableToArrayLimit.js\";\nimport unsupportedIterableToArray from \"./unsupportedIterableToArray.js\";\nimport nonIterableRest from \"./nonIterableRest.js\";\nexport default function _slicedToArray(arr, i) {\n return arrayWithHoles(arr) || iterableToArrayLimit(arr, i) || unsupportedIterableToArray(arr, i) || nonIterableRest();\n}","export default function _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n return target;\n}","import objectWithoutPropertiesLoose from \"./objectWithoutPropertiesLoose.js\";\nexport default function _objectWithoutProperties(source, excluded) {\n if (source == null) return {};\n var target = objectWithoutPropertiesLoose(source, excluded);\n var key, i;\n if (Object.getOwnPropertySymbols) {\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\n for (i = 0; i < sourceSymbolKeys.length; i++) {\n key = sourceSymbolKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;\n target[key] = source[key];\n }\n }\n return target;\n}","function _typeof(o) {\n \"@babel/helpers - typeof\";\n\n return (module.exports = _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) {\n return typeof o;\n } : function (o) {\n return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o;\n }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports), _typeof(o);\n}\nmodule.exports = _typeof, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var _typeof = require(\"./typeof.js\")[\"default\"];\nfunction _regeneratorRuntime() {\n \"use strict\"; /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */\n module.exports = _regeneratorRuntime = function _regeneratorRuntime() {\n return e;\n }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;\n var t,\n e = {},\n r = Object.prototype,\n n = r.hasOwnProperty,\n o = Object.defineProperty || function (t, e, r) {\n t[e] = r.value;\n },\n i = \"function\" == typeof Symbol ? Symbol : {},\n a = i.iterator || \"@@iterator\",\n c = i.asyncIterator || \"@@asyncIterator\",\n u = i.toStringTag || \"@@toStringTag\";\n function define(t, e, r) {\n return Object.defineProperty(t, e, {\n value: r,\n enumerable: !0,\n configurable: !0,\n writable: !0\n }), t[e];\n }\n try {\n define({}, \"\");\n } catch (t) {\n define = function define(t, e, r) {\n return t[e] = r;\n };\n }\n function wrap(t, e, r, n) {\n var i = e && e.prototype instanceof Generator ? e : Generator,\n a = Object.create(i.prototype),\n c = new Context(n || []);\n return o(a, \"_invoke\", {\n value: makeInvokeMethod(t, r, c)\n }), a;\n }\n function tryCatch(t, e, r) {\n try {\n return {\n type: \"normal\",\n arg: t.call(e, r)\n };\n } catch (t) {\n return {\n type: \"throw\",\n arg: t\n };\n }\n }\n e.wrap = wrap;\n var h = \"suspendedStart\",\n l = \"suspendedYield\",\n f = \"executing\",\n s = \"completed\",\n y = {};\n function Generator() {}\n function GeneratorFunction() {}\n function GeneratorFunctionPrototype() {}\n var p = {};\n define(p, a, function () {\n return this;\n });\n var d = Object.getPrototypeOf,\n v = d && d(d(values([])));\n v && v !== r && n.call(v, a) && (p = v);\n var g = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(p);\n function defineIteratorMethods(t) {\n [\"next\", \"throw\", \"return\"].forEach(function (e) {\n define(t, e, function (t) {\n return this._invoke(e, t);\n });\n });\n }\n function AsyncIterator(t, e) {\n function invoke(r, o, i, a) {\n var c = tryCatch(t[r], t, o);\n if (\"throw\" !== c.type) {\n var u = c.arg,\n h = u.value;\n return h && \"object\" == _typeof(h) && n.call(h, \"__await\") ? e.resolve(h.__await).then(function (t) {\n invoke(\"next\", t, i, a);\n }, function (t) {\n invoke(\"throw\", t, i, a);\n }) : e.resolve(h).then(function (t) {\n u.value = t, i(u);\n }, function (t) {\n return invoke(\"throw\", t, i, a);\n });\n }\n a(c.arg);\n }\n var r;\n o(this, \"_invoke\", {\n value: function value(t, n) {\n function callInvokeWithMethodAndArg() {\n return new e(function (e, r) {\n invoke(t, n, e, r);\n });\n }\n return r = r ? r.then(callInvokeWithMethodAndArg, callInvokeWithMethodAndArg) : callInvokeWithMethodAndArg();\n }\n });\n }\n function makeInvokeMethod(e, r, n) {\n var o = h;\n return function (i, a) {\n if (o === f) throw new Error(\"Generator is already running\");\n if (o === s) {\n if (\"throw\" === i) throw a;\n return {\n value: t,\n done: !0\n };\n }\n for (n.method = i, n.arg = a;;) {\n var c = n.delegate;\n if (c) {\n var u = maybeInvokeDelegate(c, n);\n if (u) {\n if (u === y) continue;\n return u;\n }\n }\n if (\"next\" === n.method) n.sent = n._sent = n.arg;else if (\"throw\" === n.method) {\n if (o === h) throw o = s, n.arg;\n n.dispatchException(n.arg);\n } else \"return\" === n.method && n.abrupt(\"return\", n.arg);\n o = f;\n var p = tryCatch(e, r, n);\n if (\"normal\" === p.type) {\n if (o = n.done ? s : l, p.arg === y) continue;\n return {\n value: p.arg,\n done: n.done\n };\n }\n \"throw\" === p.type && (o = s, n.method = \"throw\", n.arg = p.arg);\n }\n };\n }\n function maybeInvokeDelegate(e, r) {\n var n = r.method,\n o = e.iterator[n];\n if (o === t) return r.delegate = null, \"throw\" === n && e.iterator[\"return\"] && (r.method = \"return\", r.arg = t, maybeInvokeDelegate(e, r), \"throw\" === r.method) || \"return\" !== n && (r.method = \"throw\", r.arg = new TypeError(\"The iterator does not provide a '\" + n + \"' method\")), y;\n var i = tryCatch(o, e.iterator, r.arg);\n if (\"throw\" === i.type) return r.method = \"throw\", r.arg = i.arg, r.delegate = null, y;\n var a = i.arg;\n return a ? a.done ? (r[e.resultName] = a.value, r.next = e.nextLoc, \"return\" !== r.method && (r.method = \"next\", r.arg = t), r.delegate = null, y) : a : (r.method = \"throw\", r.arg = new TypeError(\"iterator result is not an object\"), r.delegate = null, y);\n }\n function pushTryEntry(t) {\n var e = {\n tryLoc: t[0]\n };\n 1 in t && (e.catchLoc = t[1]), 2 in t && (e.finallyLoc = t[2], e.afterLoc = t[3]), this.tryEntries.push(e);\n }\n function resetTryEntry(t) {\n var e = t.completion || {};\n e.type = \"normal\", delete e.arg, t.completion = e;\n }\n function Context(t) {\n this.tryEntries = [{\n tryLoc: \"root\"\n }], t.forEach(pushTryEntry, this), this.reset(!0);\n }\n function values(e) {\n if (e || \"\" === e) {\n var r = e[a];\n if (r) return r.call(e);\n if (\"function\" == typeof e.next) return e;\n if (!isNaN(e.length)) {\n var o = -1,\n i = function next() {\n for (; ++o < e.length;) if (n.call(e, o)) return next.value = e[o], next.done = !1, next;\n return next.value = t, next.done = !0, next;\n };\n return i.next = i;\n }\n }\n throw new TypeError(_typeof(e) + \" is not iterable\");\n }\n return GeneratorFunction.prototype = GeneratorFunctionPrototype, o(g, \"constructor\", {\n value: GeneratorFunctionPrototype,\n configurable: !0\n }), o(GeneratorFunctionPrototype, \"constructor\", {\n value: GeneratorFunction,\n configurable: !0\n }), GeneratorFunction.displayName = define(GeneratorFunctionPrototype, u, \"GeneratorFunction\"), e.isGeneratorFunction = function (t) {\n var e = \"function\" == typeof t && t.constructor;\n return !!e && (e === GeneratorFunction || \"GeneratorFunction\" === (e.displayName || e.name));\n }, e.mark = function (t) {\n return Object.setPrototypeOf ? Object.setPrototypeOf(t, GeneratorFunctionPrototype) : (t.__proto__ = GeneratorFunctionPrototype, define(t, u, \"GeneratorFunction\")), t.prototype = Object.create(g), t;\n }, e.awrap = function (t) {\n return {\n __await: t\n };\n }, defineIteratorMethods(AsyncIterator.prototype), define(AsyncIterator.prototype, c, function () {\n return this;\n }), e.AsyncIterator = AsyncIterator, e.async = function (t, r, n, o, i) {\n void 0 === i && (i = Promise);\n var a = new AsyncIterator(wrap(t, r, n, o), i);\n return e.isGeneratorFunction(r) ? a : a.next().then(function (t) {\n return t.done ? t.value : a.next();\n });\n }, defineIteratorMethods(g), define(g, u, \"Generator\"), define(g, a, function () {\n return this;\n }), define(g, \"toString\", function () {\n return \"[object Generator]\";\n }), e.keys = function (t) {\n var e = Object(t),\n r = [];\n for (var n in e) r.push(n);\n return r.reverse(), function next() {\n for (; r.length;) {\n var t = r.pop();\n if (t in e) return next.value = t, next.done = !1, next;\n }\n return next.done = !0, next;\n };\n }, e.values = values, Context.prototype = {\n constructor: Context,\n reset: function reset(e) {\n if (this.prev = 0, this.next = 0, this.sent = this._sent = t, this.done = !1, this.delegate = null, this.method = \"next\", this.arg = t, this.tryEntries.forEach(resetTryEntry), !e) for (var r in this) \"t\" === r.charAt(0) && n.call(this, r) && !isNaN(+r.slice(1)) && (this[r] = t);\n },\n stop: function stop() {\n this.done = !0;\n var t = this.tryEntries[0].completion;\n if (\"throw\" === t.type) throw t.arg;\n return this.rval;\n },\n dispatchException: function dispatchException(e) {\n if (this.done) throw e;\n var r = this;\n function handle(n, o) {\n return a.type = \"throw\", a.arg = e, r.next = n, o && (r.method = \"next\", r.arg = t), !!o;\n }\n for (var o = this.tryEntries.length - 1; o >= 0; --o) {\n var i = this.tryEntries[o],\n a = i.completion;\n if (\"root\" === i.tryLoc) return handle(\"end\");\n if (i.tryLoc <= this.prev) {\n var c = n.call(i, \"catchLoc\"),\n u = n.call(i, \"finallyLoc\");\n if (c && u) {\n if (this.prev < i.catchLoc) return handle(i.catchLoc, !0);\n if (this.prev < i.finallyLoc) return handle(i.finallyLoc);\n } else if (c) {\n if (this.prev < i.catchLoc) return handle(i.catchLoc, !0);\n } else {\n if (!u) throw new Error(\"try statement without catch or finally\");\n if (this.prev < i.finallyLoc) return handle(i.finallyLoc);\n }\n }\n }\n },\n abrupt: function abrupt(t, e) {\n for (var r = this.tryEntries.length - 1; r >= 0; --r) {\n var o = this.tryEntries[r];\n if (o.tryLoc <= this.prev && n.call(o, \"finallyLoc\") && this.prev < o.finallyLoc) {\n var i = o;\n break;\n }\n }\n i && (\"break\" === t || \"continue\" === t) && i.tryLoc <= e && e <= i.finallyLoc && (i = null);\n var a = i ? i.completion : {};\n return a.type = t, a.arg = e, i ? (this.method = \"next\", this.next = i.finallyLoc, y) : this.complete(a);\n },\n complete: function complete(t, e) {\n if (\"throw\" === t.type) throw t.arg;\n return \"break\" === t.type || \"continue\" === t.type ? this.next = t.arg : \"return\" === t.type ? (this.rval = this.arg = t.arg, this.method = \"return\", this.next = \"end\") : \"normal\" === t.type && e && (this.next = e), y;\n },\n finish: function finish(t) {\n for (var e = this.tryEntries.length - 1; e >= 0; --e) {\n var r = this.tryEntries[e];\n if (r.finallyLoc === t) return this.complete(r.completion, r.afterLoc), resetTryEntry(r), y;\n }\n },\n \"catch\": function _catch(t) {\n for (var e = this.tryEntries.length - 1; e >= 0; --e) {\n var r = this.tryEntries[e];\n if (r.tryLoc === t) {\n var n = r.completion;\n if (\"throw\" === n.type) {\n var o = n.arg;\n resetTryEntry(r);\n }\n return o;\n }\n }\n throw new Error(\"illegal catch attempt\");\n },\n delegateYield: function delegateYield(e, r, n) {\n return this.delegate = {\n iterator: values(e),\n resultName: r,\n nextLoc: n\n }, \"next\" === this.method && (this.arg = t), y;\n }\n }, e;\n}\nmodule.exports = _regeneratorRuntime, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","// TODO(Babel 8): Remove this file.\n\nvar runtime = require(\"../helpers/regeneratorRuntime\")();\nmodule.exports = runtime;\n\n// Copied from https://github.com/facebook/regenerator/blob/main/packages/runtime/runtime.js#L736=\ntry {\n regeneratorRuntime = runtime;\n} catch (accidentalStrictMode) {\n if (typeof globalThis === \"object\") {\n globalThis.regeneratorRuntime = runtime;\n } else {\n Function(\"r\", \"regeneratorRuntime = r\")(runtime);\n }\n}\n","import { t } from \"i18next\";\nimport { values } from \"ramda\";\n\nexport const KINDS = {\n text: \"text\",\n number: \"number\",\n monetary: \"monetary\",\n singleOption: \"single_option\",\n multiOption: \"multi_option\",\n date: \"date\",\n time: \"time\",\n dateRange: \"date_range\",\n timeRange: \"time_range\",\n textarea: \"textarea\",\n textArea: \"text_area\",\n person: \"person\",\n checkbox: \"checkbox\",\n regex: \"regex\",\n integer: \"integer\",\n decimal: \"decimal\",\n datetime: \"datetime\",\n};\n\nexport const DISPLAY_KINDS = {\n text: t(\"neetoFields.fields.kinds.text\"),\n number: t(\"neetoFields.fields.kinds.number\"),\n monetary: t(\"neetoFields.fields.kinds.monetary\"),\n single_option: t(\"neetoFields.fields.kinds.singleOption\"),\n multi_option: t(\"neetoFields.fields.kinds.multiOption\"),\n date: t(\"neetoFields.fields.kinds.date\"),\n time: t(\"neetoFields.fields.kinds.time\"),\n date_range: t(\"neetoFields.fields.kinds.dateRange\"),\n time_range: t(\"neetoFields.fields.kinds.timeRange\"),\n textarea: t(\"neetoFields.fields.kinds.textarea\"),\n text_area: t(\"neetoFields.fields.kinds.textArea\"),\n person: t(\"neetoFields.fields.kinds.person\"),\n checkbox: t(\"neetoFields.fields.kinds.checkbox\"),\n regex: t(\"neetoFields.fields.kinds.regex\"),\n integer: t(\"neetoFields.fields.kinds.integer\"),\n decimal: t(\"neetoFields.fields.kinds.decimal\"),\n datetime: t(\"neetoFields.fields.kinds.datetime\"),\n};\n\nexport const FIELD_STATES = {\n active: \"active\",\n inactive: \"inactive\",\n};\n\nexport const DEFAULT_FIELD_STATE_TAXONOMY = {\n active: \"Active\",\n inactive: \"Inactive\",\n};\n\nexport const ALL_KINDS = values(KINDS);\n\nexport const MENU_ITEMS = { EDIT: \"edit\", DELETE: \"delete\" };\n","import { KINDS } from \"components/FieldsDashBoard/constants\";\n\nexport const DIRECT_EDIT_INPUT_FIELDS = [KINDS.checkbox];\n","import { KINDS } from \"components/FieldsDashBoard/constants\";\n\nexport const isDateTime = kind =>\n [\"date\", \"time\", \"date_range\", \"time_range\", \"datetime\"].includes(kind);\n\nexport const isDropdown = kind =>\n [\"single_option\", \"multi_option\"].includes(kind);\n\nexport const isTextType = kind =>\n [\n KINDS.text,\n KINDS.decimal,\n KINDS.integer,\n KINDS.monetary,\n KINDS.number,\n KINDS.regex,\n KINDS.textarea,\n ].includes(kind);\n","import dayjs from \"dayjs\";\nimport { t } from \"i18next\";\nimport { isNotEmpty } from \"neetocist\";\nimport { isEmpty, isNil, isNotNil } from \"ramda\";\nimport * as yup from \"yup\";\n\nimport { KINDS } from \"components/FieldsDashBoard/constants\";\n\nconst dateSchema = yup.date().nullable();\n\nconst isValueEmpty = value =>\n typeof value === \"string\" && isEmpty(value.trim());\n\nconst isCheckboxUnchecked = (kind, value) => kind === KINDS.checkbox && !value;\n\nconst isArrayEmpty = (kind, value) =>\n [\n KINDS.multiOption,\n KINDS.singleOption,\n KINDS.dateRange,\n KINDS.timeRange,\n ].includes(kind) && isEmpty(value);\n\nconst buildSchemaAllowingEmptyValue = schema =>\n yup.mixed().test({\n name: \"validate-if-not-empty\",\n test: value => {\n if (isNotEmpty(value) && isNotNil(value)) {\n schema.validateSync(value);\n }\n\n return true;\n },\n });\n\nconst buildSchemaForRequiredInputs = (schema, kind) =>\n yup.mixed().test({\n name: \"validate-required-inputs\",\n test: value => {\n if (\n isNil(value) ||\n isValueEmpty(value) ||\n isArrayEmpty(kind, value) ||\n isCheckboxUnchecked(kind, value)\n ) {\n throw new yup.ValidationError(\n t(\"neetoFields.validations.thisIsRequired\")\n );\n }\n schema.validateSync(value);\n\n return true;\n },\n });\n\nconst buildSchema = ({ schema, isRequired, kind }) =>\n isRequired\n ? buildSchemaForRequiredInputs(schema, kind)\n : buildSchemaAllowingEmptyValue(schema);\n\nconst getBasicValidationSchema = ({ kind, fieldData }) => {\n switch (kind) {\n case KINDS.singleOption:\n case KINDS.textarea:\n case KINDS.text: {\n return yup.string().trim().nullable();\n }\n\n case KINDS.number:\n case KINDS.monetary:\n case KINDS.decimal: {\n return yup\n .number(t(\"neetoFields.validations.notAValidNumber\"))\n .nullable();\n }\n case KINDS.integer: {\n return yup\n .number()\n .nullable()\n .integer(t(\"neetoFields.validations.notAValidInteger\"));\n }\n\n case KINDS.date:\n case KINDS.time: {\n return dateSchema;\n }\n case KINDS.multiOption: {\n return yup.array().of(yup.string()).nullable();\n }\n\n case KINDS.dateRange:\n case KINDS.timeRange: {\n return yup.array().of(dateSchema).nullable();\n }\n\n case KINDS.checkbox:\n return yup.boolean().nullable();\n\n case KINDS.regex: {\n const regexPattern = fieldData?.condition;\n\n return yup\n .string()\n .nullable()\n .matches(cleanedRegex(regexPattern), fieldData?.helpMessage);\n }\n\n default:\n return yup.mixed();\n }\n};\n\nconst buildFieldValidationSchema = ({ kind, isRequired, fieldData }) => {\n const schema = getBasicValidationSchema({ kind, fieldData });\n\n return buildSchema({ schema, isRequired, kind });\n};\n\nconst cleanedRegex = regexCondition => {\n const patternMatchingExp = /[igmsyu]*$/;\n const conditionFlags = regexCondition.match(patternMatchingExp)[0];\n let conditionWithoutFlags = regexCondition.replace(patternMatchingExp, \"\");\n const sanitizedFlags = [...new Set(conditionFlags)].join(\"\");\n if (\n conditionWithoutFlags.startsWith(\"/\") &&\n conditionWithoutFlags.endsWith(\"/\")\n ) {\n conditionWithoutFlags = conditionWithoutFlags.slice(1, -1);\n }\n\n return RegExp(conditionWithoutFlags, sanitizedFlags);\n};\n\nexport const validateField = async ({\n fieldValue,\n fieldName,\n isRequired,\n kind,\n fieldData,\n}) => {\n try {\n await yup\n .object()\n .shape({\n [fieldName]: buildFieldValidationSchema({\n kind,\n isRequired,\n fieldData,\n }),\n })\n .validate({ [fieldName]: fieldValue });\n\n return false;\n } catch (e) {\n return e.errors[0];\n }\n};\n\nexport const dateTimeToString = dateTime =>\n (dateTime && dayjs(dateTime).toString()) || \"\";\n\nexport const getValueFromBool = value =>\n value === true ? t(\"neetoFields.common.yes\") : t(\"neetoFields.common.no\");\n\nexport const getComponentDisplayName = Component =>\n Component.displayName || Component.name || \"Component\";\n","import { useEffect } from \"react\";\n\nimport { useField, useFormikContext } from \"formik\";\nimport { capitalize, findBy, noop, renameKeys } from \"neetocist\";\nimport { useFuncDebounce } from \"neetocommons/react-utils\";\nimport { isNil, isNotNil, prop } from \"ramda\";\n\nimport { KINDS } from \"components/FieldsDashBoard/constants\";\nimport { DIRECT_EDIT_INPUT_FIELDS } from \"components/InlineFieldValueInput/constants\";\nimport { escapeString } from \"components/utils\";\n\nimport { isDateTime, isDropdown, isTextType } from \"./utils\";\n\nimport { validateField } from \"../components/commons/FieldInputs/utils\";\n\nconst useFormikFields = ({\n name,\n id: fieldId,\n kind,\n data: fieldData,\n individualSubmit,\n formRef,\n formRefs,\n disabled,\n isRequiredColumnName = \"isRequired\",\n isInline = false,\n onBlur: handleBlur = noop, // Expected only for inline fields\n hasMetadataWrapper = false,\n ...props\n}) => {\n const formikContext = useFormikContext();\n\n const { submitForm, dirty, isSubmitting } = formikContext;\n\n const fieldPath = escapeString(`${name}-${fieldId}`);\n const fieldName = kind === KINDS.multiOption ? \"values\" : \"value\";\n const fieldValuePath = `${fieldPath}.data.${fieldName}`;\n\n isDropdown(kind) && (fieldData = renameKeys({ id: \"value\" }, fieldData));\n\n if (isNil(formRef) && isNotNil(formRefs)) {\n formRefs.current[fieldValuePath] = formikContext;\n } else if (isNil(formRefs) && isNotNil(formRef)) {\n formRef.current = formikContext;\n }\n\n const [formikFieldProps, meta, helpers] = useField({\n name: fieldValuePath,\n validate: fieldValue =>\n validateField({\n fieldValue,\n fieldName: name,\n isRequired: props[isRequiredColumnName],\n kind,\n fieldData,\n }),\n });\n\n const debouncedSubmitForm = useFuncDebounce(submitForm, 100);\n\n const handleSubmit = async value => {\n isNotNil(value) && helpers.setValue(value);\n individualSubmit && (await debouncedSubmitForm());\n isInline && !DIRECT_EDIT_INPUT_FIELDS.includes(kind) && handleBlur();\n };\n\n const getBlurHandler = kind => {\n if (isTextType(kind)) {\n return dirty ? () => handleSubmit() : handleBlur;\n }\n\n if (!DIRECT_EDIT_INPUT_FIELDS.includes(kind)) {\n return handleBlur;\n }\n\n return undefined;\n };\n\n const getValueForField = value => {\n if (kind === KINDS.singleOption) {\n value = findBy({ value }, fieldData);\n } else if (kind === KINDS.multiOption) {\n value = value?.map(optionId => findBy({ value: optionId }, fieldData));\n }\n\n return value || \"\";\n };\n\n useEffect(() => {\n if (isSubmitting && !meta.touched) {\n helpers.setTouched(true);\n }\n }, [isSubmitting]);\n\n return {\n dirty,\n handleSubmit,\n fieldProps: {\n ...formikFieldProps,\n id: fieldId,\n error: individualSubmit ? meta.error : meta.touched && meta.error,\n value: getValueForField(formikFieldProps.value),\n label: !isInline && !hasMetadataWrapper && capitalize(name),\n labelProps: !isInline &&\n !hasMetadataWrapper && { required: props[isRequiredColumnName] },\n autoFocus: isInline && !DIRECT_EDIT_INPUT_FIELDS.includes(kind),\n onBlur: isInline ? getBlurHandler(kind) : undefined,\n disabled,\n //conditional props\n options: isDropdown(kind) ? fieldData : undefined,\n getPopupContainer:\n !isInline && isDateTime(kind) ? prop(\"parentElement\") : undefined,\n },\n helpers,\n };\n};\n\nexport default useFormikFields;\n","import React from \"react\";\n\nimport { Checkbox as NeetoUICheckbox } from \"neetoui\";\n\nimport { SUBMIT_FIELD_STATUS } from \"src/constants\";\nimport useFormikFields from \"src/hooks/useFormikFields\";\n\nconst Checkbox = props => {\n const { handleSubmit, fieldProps } = useFormikFields(props);\n const { submissionStatus } = props;\n\n return (\n <NeetoUICheckbox\n {...fieldProps}\n checked={fieldProps.value}\n disabled={submissionStatus === SUBMIT_FIELD_STATUS.SUBMITTING}\n onChange={({ target: { checked } }) => handleSubmit(checked)}\n />\n );\n};\nexport default Checkbox;\n","import React from \"react\";\n\nimport { hyphenize } from \"neetocommons/utils/general\";\nimport { Check } from \"neetoicons\";\nimport { Label, Spinner } from \"neetoui\";\n\nimport { SUBMIT_FIELD_STATUS } from \"src/constants\";\n\nconst MetadataBlock = ({\n labelProps,\n label,\n fieldId,\n children,\n submissionStatus,\n isInline,\n}) => (\n <div className=\"w-full space-y-2\">\n {!isInline && (\n <div className=\"flex items-center gap-2\">\n <Label\n data-cy={`${hyphenize(label)}-label`}\n htmlFor={fieldId}\n {...labelProps}\n >\n {label}\n </Label>\n <div className=\"inline-flex h-6 items-center\">\n {submissionStatus === SUBMIT_FIELD_STATUS.SUBMITTING && (\n <Spinner className=\"neeto-fields-nano__metadata-card__spinner\" />\n )}\n {submissionStatus === SUBMIT_FIELD_STATUS.SUCCESS && (\n <Check className=\"neeto-ui-text-success-500\" size={20} />\n )}\n </div>\n </div>\n )}\n {children}\n </div>\n);\n\nexport default MetadataBlock;\n","import React from \"react\";\n\nimport { capitalize } from \"neetocist\";\n\nimport MetadataBlock from \".\";\n\nimport { getComponentDisplayName } from \"../FieldInputs/utils\";\n\nconst WithMetadataBlock = Component => {\n const withMetadataBlockWrapper = props => {\n const {\n submissionStatus,\n isInline = false,\n isRequiredColumnName = \"isRequired\",\n name,\n id: fieldId,\n } = props;\n\n const label = !isInline && capitalize(name);\n const labelProps = { required: props[isRequiredColumnName] };\n\n return (\n <MetadataBlock\n {...{ fieldId, isInline, label, labelProps, submissionStatus }}\n >\n <Component {...props} hasMetadataWrapper />\n </MetadataBlock>\n );\n };\n\n withMetadataBlockWrapper.displayName = `withMetadataBlockWrapper(${getComponentDisplayName(\n Component\n )})`;\n\n return withMetadataBlockWrapper;\n};\n\nexport default WithMetadataBlock;\n","import React, { useRef, useState } from \"react\";\n\nimport { notEquals } from \"neetocist\";\nimport { DatePicker, TimePicker } from \"neetoui\";\n\nimport { KINDS } from \"components/FieldsDashBoard/constants\";\nimport useFormikFields from \"src/hooks/useFormikFields\";\n\nimport { dateTimeToString } from \"./utils\";\n\nimport withMetadataBlock from \"../MetadataBlock/WithMetadataBlock\";\n\nconst DateOrTime = props => {\n const { isInline } = props;\n const [isOpen, setIsOpen] = useState(isInline);\n\n const value = useRef();\n\n const {\n handleSubmit,\n fieldProps: { onBlur, ...fieldProps },\n helpers,\n } = useFormikFields(props);\n\n const handleChange = dateTime => {\n value.current = dateTimeToString(dateTime);\n helpers.setValue(value.current);\n\n if (!isOpen) handleSubmit();\n };\n\n const onOpenChange = async open => {\n setIsOpen(open);\n if (open) return;\n\n const shouldSubmit =\n value.current !== undefined && notEquals(fieldProps.value, value.current);\n shouldSubmit && (await handleSubmit());\n onBlur?.();\n };\n\n if (props.kind === KINDS.time) {\n return (\n <TimePicker\n {...{ ...fieldProps, onOpenChange }}\n use12Hours\n format=\"h:mm A\"\n open={isOpen}\n onChange={handleChange}\n />\n );\n } else if (props.kind === KINDS.date) {\n return (\n <DatePicker\n {...{ ...fieldProps, onOpenChange }}\n open={isOpen}\n onChange={handleChange}\n />\n );\n }\n\n return (\n <DatePicker\n showTime\n timeFormat=\"h:mm A\"\n {...{ ...fieldProps, onOpenChange }}\n open={isOpen}\n onChange={handleChange}\n />\n );\n};\n\nexport default withMetadataBlock(DateOrTime);\n","import React from \"react\";\n\nimport { Select } from \"neetoui/formik\";\nimport { pluck } from \"ramda\";\n\nimport useFormikFields from \"src/hooks/useFormikFields\";\n\nimport withMetadataBlock from \"../MetadataBlock/WithMetadataBlock\";\n\nconst MultiOption = props => {\n const { handleSubmit, fieldProps } = useFormikFields(props);\n\n return (\n <Select\n isMulti\n isSearchable\n strategy=\"fixed\"\n {...fieldProps}\n onChange={selectedOptions =>\n handleSubmit(pluck(\"value\", selectedOptions))\n }\n />\n );\n};\n\nexport default withMetadataBlock(MultiOption);\n","import React from \"react\";\n\nimport { Input } from \"neetoui\";\n\nimport useFormikFields from \"src/hooks/useFormikFields\";\n\nimport withMetadataBlock from \"../MetadataBlock/WithMetadataBlock\";\n\nconst Number = props => {\n const { handleSubmit, fieldProps, dirty } = useFormikFields(props);\n\n return (\n <Input\n {...fieldProps}\n type=\"number\"\n onBlur={() => dirty && handleSubmit()}\n />\n );\n};\n\nexport default withMetadataBlock(Number);\n","import React, { useRef } from \"react\";\n\nimport { noop } from \"neetocist\";\nimport { useOnClickOutside } from \"neetocommons/react-utils\";\nimport { DatePicker, TimePicker } from \"neetoui\";\n\nimport { KINDS } from \"components/FieldsDashBoard/constants\";\nimport useFormikFields from \"src/hooks/useFormikFields\";\n\nimport { getComponentDisplayName, dateTimeToString } from \"./utils\";\n\nimport withMetadataBlock from \"../MetadataBlock/WithMetadataBlock\";\n\nconst withOnClickOutsideWrapper = Component => {\n const WithOnClickOutsideWrapper = ({ onBlur = noop, ...props }) => {\n const ref = useRef(null);\n const isInline = onBlur !== noop;\n useOnClickOutside(ref, onBlur, { enabled: isInline });\n\n return isInline ? (\n <div {...{ ref }}>\n <Component {...props} type=\"range\" />\n </div>\n ) : (\n <Component {...props} type=\"range\" />\n );\n };\n\n WithOnClickOutsideWrapper.displayName = `WithOnClickOutsideWrapper(${getComponentDisplayName(\n Component\n )})`;\n\n return WithOnClickOutsideWrapper;\n};\n\nconst DateRangePicker = withOnClickOutsideWrapper(DatePicker);\nconst TimeRangePicker = withOnClickOutsideWrapper(TimePicker);\n\nconst RangePicker = props => {\n const { handleSubmit, fieldProps } = useFormikFields(props);\n\n const handleChange = ([begin, end]) => {\n if (begin && end) {\n handleSubmit([dateTimeToString(begin), dateTimeToString(end)]);\n } else {\n handleSubmit([]);\n }\n };\n\n if (props.kind === KINDS.dateRange) {\n return <DateRangePicker {...fieldProps} onChange={handleChange} />;\n }\n\n //time_range\n return (\n <TimeRangePicker\n {...fieldProps}\n use12Hours\n format=\"h:mm A\"\n onChange={handleChange}\n />\n );\n};\n\nexport default withMetadataBlock(RangePicker);\n","import React from \"react\";\n\nimport { Select } from \"neetoui\";\n\nimport useFormikFields from \"src/hooks/useFormikFields\";\n\nimport withMetadataBlock from \"../MetadataBlock/WithMetadataBlock\";\n\nconst SingleOption = props => {\n const { handleSubmit, fieldProps } = useFormikFields(props);\n\n return (\n <Select\n isClearable\n isSearchable\n strategy=\"fixed\"\n {...fieldProps}\n onChange={option => handleSubmit(option?.value || \"\")}\n />\n );\n};\nexport default withMetadataBlock(SingleOption);\n","import React from \"react\";\n\nimport { Textarea } from \"neetoui\";\n\nimport useFormikFields from \"src/hooks/useFormikFields\";\n\nimport withMetadataBlock from \"../MetadataBlock/WithMetadataBlock\";\n\nconst Text = props => {\n const { handleSubmit, fieldProps, dirty } = useFormikFields(props);\n\n const handleKeyDown = event => {\n if (event.key !== \"Enter\" || event.shiftKey) return;\n\n event.preventDefault();\n handleSubmit();\n };\n\n const handleFocus = element => {\n const end = element.value.length;\n element.setSelectionRange(end, end);\n };\n\n return (\n <Textarea\n {...fieldProps}\n className=\"neeto-fields-nano-adaptive-input\"\n rows={1}\n size=\"small\"\n style={{ resize: \"none\" }}\n onBlur={() => dirty && handleSubmit()}\n onFocus={({ target }) => handleFocus(target)}\n onKeyDown={handleKeyDown}\n />\n );\n};\n\nexport default withMetadataBlock(Text);\n","import React from \"react\";\n\nimport { Textarea } from \"neetoui\";\n\nimport useFormikFields from \"src/hooks/useFormikFields\";\n\nimport withMetadataBlock from \"../MetadataBlock/WithMetadataBlock\";\n\nconst TextArea = props => {\n const { handleSubmit, fieldProps, dirty } = useFormikFields(props);\n\n return <Textarea {...fieldProps} onBlur={() => dirty && handleSubmit()} />;\n};\nexport default withMetadataBlock(TextArea);\n","import { filterBy, findBy } from \"neetocist\";\nimport { prop, isNil, clone, pick, map, pipe, mergeAll, omit } from \"ramda\";\n\nimport {\n Checkbox,\n DateOrTime as DateOrTimeInput,\n MultiOption as MultiOptionInput,\n Number as NumberInput,\n RangePicker as RangePickerInput,\n SingleOption as SingleOptionInput,\n Text as TextInput,\n TextArea as TextAreaInput,\n} from \"./commons/FieldInputs\";\nimport { KINDS } from \"./FieldsDashBoard/constants\";\n\nconst standardComponents = {\n text: TextInput,\n regex: TextInput,\n textarea: TextAreaInput,\n text_area: TextAreaInput, // TODO: Remove text-area after integration in all hosts.\n number: NumberInput,\n monetary: NumberInput,\n integer: NumberInput,\n decimal: NumberInput,\n date: DateOrTimeInput,\n time: DateOrTimeInput,\n datetime: DateOrTimeInput,\n single_option: SingleOptionInput,\n multi_option: MultiOptionInput,\n date_range: RangePickerInput,\n time_range: RangePickerInput,\n checkbox: Checkbox,\n};\n\nconst getFieldInput = ({ field, customComponents = {} }) => {\n const Component =\n customComponents[field.kind] || standardComponents[field.kind];\n\n if (Component) {\n return Component;\n }\n\n return null;\n};\n\nconst removeItemsWithNullData = fieldValues =>\n fieldValues.filter(item => !isNil(prop(\"data\", item)));\n\nconst removeNoiseFromValues = fieldValues =>\n map(pick([\"id\", \"fieldId\", \"data\"]), fieldValues);\n\nconst transformValues = ({ values: formikValues, fields }) => {\n const allFieldValues = clone(formikValues);\n const neetoFieldValues = [];\n\n fields.forEach(({ id, name }) => {\n const fieldPath = escapeString(`${name}-${id}`);\n neetoFieldValues.push(allFieldValues[fieldPath]);\n delete allFieldValues[fieldPath];\n });\n\n const cleanedFieldValues = pipe(\n removeItemsWithNullData,\n removeNoiseFromValues\n )(neetoFieldValues);\n\n return { ...allFieldValues, fieldValuesAttributes: cleanedFieldValues };\n};\n\nconst getDefaultInitialValue = kind => {\n switch (kind) {\n case KINDS.checkbox:\n return false;\n case KINDS.multiOption:\n case KINDS.dateRange:\n case KINDS.timeRange:\n return [];\n default:\n return \"\";\n }\n};\n\nconst getInitialFieldValue = ({\n field,\n fieldValues = [],\n isIndividualFieldForm = false,\n}) => {\n const existingFieldValueData = findBy({ fieldId: field.id }, fieldValues);\n const keyInData = field.kind === KINDS.multiOption ? \"values\" : \"value\";\n const newFieldValueData = {\n fieldId: field.id,\n data: isIndividualFieldForm\n ? { [keyInData]: getDefaultInitialValue(field.kind) }\n : null,\n };\n\n return {\n [escapeString(`${field.name}-${field.id}`)]:\n existingFieldValueData || newFieldValueData,\n };\n};\n\nconst getAllInitialFieldValues = (fields, fieldValues = []) =>\n getNonSystemFields(fields).map(field =>\n getInitialFieldValue({ field, fieldValues })\n );\n\nconst mergeInitialValues = ({ initialValues, fields }) => {\n const initialValue = mergeAll([\n initialValues,\n ...getAllInitialFieldValues(fields, initialValues?.fieldValues),\n ]);\n\n return omit([\"fieldValues\"], initialValue);\n};\n\nconst getNonSystemFields = fields => filterBy({ isSystem: false }, fields);\n\nconst escapeString = string =>\n string.replace(/[^a-zA-Z0-9_]/g, match => {\n const charCode = match.charCodeAt(0);\n\n return `_${charCode}_`;\n });\n\nconst neetoFieldsUtils = { mergeInitialValues, transformValues };\n\nexport {\n neetoFieldsUtils,\n getInitialFieldValue,\n getFieldInput,\n getNonSystemFields,\n escapeString,\n};\n","import React from \"react\";\n\nimport { withT } from \"neetocommons/react-utils\";\nimport { Typography } from \"neetoui\";\n\nimport { getFieldInput, getNonSystemFields } from \"./utils\";\n\nconst FieldInputs = withT(\n ({\n t,\n customComponents = {},\n fields,\n formRef,\n disabled,\n isRequiredColumnName,\n }) =>\n getNonSystemFields(fields).map(field => {\n const Field = getFieldInput({ field, customComponents });\n\n if (Field) {\n return (\n <Field\n key={field.id}\n {...{ ...field, disabled, formRef, isRequiredColumnName }}\n />\n );\n }\n\n return (\n <Typography key={field.id} style=\"body2\">\n {t(\"neetoFields.messages.invalidKind\")}\n </Typography>\n );\n })\n);\nexport default FieldInputs;\n","import axios from \"axios\";\nimport { buildUrl } from \"neetocommons/utils\";\n\nimport {\n DEPENDENCIES_URL,\n FIELDS_REORDER_URL,\n FIELDS_URL,\n FIELD_URL,\n} from \"src/constants\";\n\nconst fieldUrl = fieldId => buildUrl(FIELD_URL, { fieldId });\nconst dependenciesUrl = fieldId => buildUrl(DEPENDENCIES_URL, { fieldId });\n\nconst fetch = ({ resourceType, ownerId, state, filters, pageProps = {} }) =>\n axios.get(FIELDS_URL, {\n params: { resourceType, ownerId, state, filters, ...pageProps },\n });\n\nconst create = payload => axios.post(FIELDS_URL, payload);\n\nconst show = ({ fieldId, ownerId }) =>\n axios.get(fieldUrl(fieldId), { params: { ownerId } });\n\nconst destroy = ({ fieldId, ownerId }) =>\n axios.delete(fieldUrl(fieldId), { data: { ownerId } });\n\nconst update = ({ fieldId, payload }) => axios.put(fieldUrl(fieldId), payload);\n\nconst reorder = payload => axios.patch(FIELDS_REORDER_URL, payload);\n\nconst dependencies = ({ fieldId, ownerId }) =>\n axios.get(dependenciesUrl(fieldId), { params: { ownerId } });\n\nconst fieldsApi = {\n fetch,\n create,\n show,\n destroy,\n update,\n reorder,\n dependencies,\n};\n\nexport default fieldsApi;\n","const QUERY_KEYS = {\n FIELDS: \"fields\",\n FIELD_VALUES: \"field_values\",\n CONFIGS: \"configurations\",\n DEPENDENCIES: \"dependencies\",\n};\n\nconst DEFAULT_STALE_TIME = 3_600_000; // 1 hour\n\nexport { QUERY_KEYS, DEFAULT_STALE_TIME };\n","import { useMutationWithInvalidation } from \"neetocommons/react-utils\";\nimport { useQuery } from \"react-query\";\n\nimport fieldsApi from \"apis/fields\";\nimport { DEFAULT_STALE_TIME, QUERY_KEYS } from \"src/constants/query\";\n\nconst { FIELDS, DEPENDENCIES } = QUERY_KEYS;\n\nexport const useFetchFields = ({ prefixQueryKeys = [], ...params }, options) =>\n useQuery(\n [FIELDS, ...prefixQueryKeys, params],\n () => fieldsApi.fetch(params),\n { staleTime: DEFAULT_STALE_TIME, ...options }\n );\n\nexport const useCreateField = options =>\n useMutationWithInvalidation(fieldsApi.create, {\n keysToInvalidate: [FIELDS],\n ...options,\n });\n\nexport const useShowField = ({ fieldId, ownerId }, options) => {\n const queryKey = [FIELDS, fieldId];\n\n return useQuery(\n queryKey,\n () => fieldsApi.show({ fieldId, ownerId }),\n options\n );\n};\n\nexport const useFetchDependencies = ({ fieldId, ownerId }, options) =>\n useQuery(\n [DEPENDENCIES, fieldId],\n () => fieldsApi.dependencies({ fieldId, ownerId }),\n options\n );\n\nexport const useUpdateField = options =>\n useMutationWithInvalidation(fieldsApi.update, {\n keysToInvalidate: [FIELDS],\n ...options,\n });\n\nexport const useDestroyField = options =>\n useMutationWithInvalidation(fieldsApi.destroy, {\n keysToInvalidate: [FIELDS],\n ...options,\n });\n\nexport const useReorderFields = () =>\n useMutationWithInvalidation(fieldsApi.reorder, {\n keysToInvalidate: [FIELDS],\n });\n","import React from \"react\";\n\nimport { filterBy } from \"neetocist\";\nimport { Pane } from \"neetoui\";\nimport { ActionBlock } from \"neetoui/formik\";\nimport { isEmpty, omit, pick, values } from \"ramda\";\nimport { v4 as uuidv4 } from \"uuid\";\nimport * as yup from \"yup\";\n\nimport {\n ADDITIONAL_DATA_NEEDED_FIELD_KINDS,\n FIELD_KINDS,\n BASIC_FIELD_FORM_VALIDATIONS,\n} from \"./constants\";\n\nconst arrangeOptionsDisplayOrder = options =>\n options.map((option, index) => ({ ...option, displayOrder: index }));\n\nexport const buildPayload = ({\n formValues,\n resourceType = \"\",\n ownerId = \"\",\n}) => {\n const kind = formValues.kind.value;\n const name = formValues.name.trim();\n\n return {\n ownerId: isEmpty(ownerId) ? undefined : ownerId,\n field: {\n ...omit(\n [\"createdAt\", \"id\", \"ownerId\", \"ownerType\", \"updatedAt\"],\n formValues\n ),\n kind,\n name,\n resourceType: isEmpty(resourceType) ? undefined : resourceType,\n data: isDropdown(kind)\n ? arrangeOptionsDisplayOrder(formValues.data)\n : formValues.data,\n },\n };\n};\n\nexport const isDropdown = kind =>\n [\"single_option\", \"multi_option\"].includes(kind);\n\nexport const isRegex = kind => kind === \"regex\";\n\nexport const isAdditionalDataNeeded = kind =>\n ADDITIONAL_DATA_NEEDED_FIELD_KINDS.includes(kind);\n\nexport const getPermittedKinds = ({ allowedKinds, selectedKind }) => {\n const filteredKinds = pick(allowedKinds, FIELD_KINDS);\n\n return filterBy({ group: selectedKind?.group }, values(filteredKinds));\n};\n\nexport const generateValidationSchema = additionalValidations =>\n yup\n .object()\n .shape({ ...BASIC_FIELD_FORM_VALIDATIONS, ...additionalValidations });\n\nexport const renderFormFooter = ({ onClose, loading }) => (\n <Pane.Footer>\n <ActionBlock\n cancelButtonProps={{ onClick: onClose }}\n isSubmitting={loading}\n />\n </Pane.Footer>\n);\n\nexport const getDefaultOption = () => ({\n id: uuidv4(),\n label: \"\",\n displayOrder: 0,\n});\n","import { t } from \"i18next\";\nimport { toLabelAndValue } from \"neetocist\";\nimport * as yup from \"yup\";\n\nimport { isDropdown, isRegex } from \"./utils\";\n\nconst PERMITTED_REGEX_PATTERN = /^\\/.*\\/[igmsyu]*$/;\nconst ADVANCED_REGEX_ASSERTION_PATTERN =\n /\\(\\?=[^)]*\\)|\\(\\?![^)]*\\)|\\(\\?<=[^)]*\\)|\\(\\?<![^)]*\\)/;\n\nconst regexValidationSchema = yup.object().shape({\n condition: yup\n .string()\n .required(t(\"neetoFields.validations.regexConditionIsRequired\"))\n .matches(\n PERMITTED_REGEX_PATTERN,\n t(\"neetoFields.validations.invalidRegexPattern\")\n )\n .test({\n name: \"test-regex-is-advanced\",\n message:\n t(\"neetoFields.validations.advancedRegexAssertionsNotSupported\") || \"\",\n test: value => !ADVANCED_REGEX_ASSERTION_PATTERN.test(value),\n })\n .test({\n name: \"test-regex-condition-pattern\",\n message: t(\"neetoFields.validations.invalidRegexPattern\") || \"\",\n test: value => {\n try {\n const lastIndex = value.lastIndexOf(\"/\");\n const condition = value.substring(1, lastIndex);\n // Evaluating the regex to check if it is valid\n new RegExp(condition);\n \"\".search(condition);\n\n return true;\n } catch {\n return false;\n }\n },\n }),\n helpMessage: yup\n .string()\n .required(t(\"neetoFields.validations.regexHelpMessageIsRequired\")),\n});\n\nconst dropDownOptionsValidationSchema = yup\n .array()\n .of(\n yup.object().shape({\n label: yup\n .string()\n .trim()\n .required(t(\"neetoFields.validations.fieldOptionIsRequired\")),\n displayOrder: yup.number(),\n })\n )\n .min(1, t(\"neetoFields.validations.atLeastFieldOptionIsRequired\"));\n\nexport const FIELD_KINDS = {\n text: { value: \"text\", label: t(\"neetoFields.fields.kinds.text\"), group: 1 },\n number: {\n value: \"number\",\n label: t(\"neetoFields.fields.kinds.number\"),\n group: 2,\n },\n monetary: {\n value: \"monetary\",\n label: t(\"neetoFields.fields.kinds.monetary\"),\n group: 2,\n },\n single_option: {\n value: \"single_option\",\n label: t(\"neetoFields.fields.kinds.singleOption\"),\n group: 12,\n },\n multi_option: {\n value: \"multi_option\",\n label: t(\"neetoFields.fields.kinds.multiOption\"),\n group: 3,\n },\n date: { value: \"date\", label: t(\"neetoFields.fields.kinds.date\"), group: 4 },\n time: { value: \"time\", label: t(\"neetoFields.fields.kinds.time\"), group: 5 },\n date_range: {\n value: \"date_range\",\n label: t(\"neetoFields.fields.kinds.dateRange\"),\n group: 6,\n },\n time_range: {\n value: \"time_range\",\n label: t(\"neetoFields.fields.kinds.timeRange\"),\n group: 7,\n },\n text_area: {\n value: \"text_area\",\n label: t(\"neetoFields.fields.kinds.textArea\"),\n group: 1,\n },\n textarea: {\n value: \"textarea\",\n label: t(\"neetoFields.fields.kinds.textarea\"),\n group: 1,\n },\n person: {\n value: \"person\",\n label: t(\"neetoFields.fields.kinds.person\"),\n group: 8,\n },\n checkbox: {\n value: \"checkbox\",\n label: t(\"neetoFields.fields.kinds.checkbox\"),\n group: 9,\n },\n regex: {\n value: \"regex\",\n label: t(\"neetoFields.fields.kinds.regex\"),\n group: 10,\n },\n integer: {\n value: \"integer\",\n label: t(\"neetoFields.fields.kinds.integer\"),\n group: 2,\n },\n decimal: {\n value: \"decimal\",\n label: t(\"neetoFields.fields.kinds.decimal\"),\n group: 2,\n },\n datetime: {\n value: \"datetime\",\n label: t(\"neetoFields.fields.kinds.datetime\"),\n group: 11,\n },\n};\n\nexport const ADDITIONAL_DATA_NEEDED_FIELD_KINDS = [\n \"single_option\",\n \"multi_option\",\n \"regex\",\n];\n\nexport const INITIAL_FIELDS = {\n name: \"\",\n kind: toLabelAndValue(\"text\"),\n isRequired: false,\n};\n\nexport const DEFAULT_REGEX_DATA = { condition: \"\", helpMessage: \"\" };\n\nexport const BASIC_FIELD_FORM_VALIDATIONS = {\n name: yup\n .string()\n .trim()\n .required(t(\"neetoFields.validations.fieldNameIsRequired\")),\n isRequired: yup.boolean(),\n kind: yup\n .object()\n .shape({ value: yup.string().required() })\n .required(t(\"neetoFields.validations.kindIsRequired\")),\n data: yup\n .mixed()\n .when(\"kind\", {\n is: kind => isRegex(kind?.value),\n then: regexValidationSchema,\n })\n .when(\"kind\", {\n is: kind => isDropdown(kind?.value),\n then: dropDownOptionsValidationSchema,\n }),\n};\n","import React from \"react\";\n\nimport { FieldArray, useFormikContext } from \"formik\";\nimport { isNotEmpty } from \"neetocist\";\nimport { isMetaKeyPressed } from \"neetocommons/react-utils\";\nimport { Delete } from \"neetoicons\";\nimport { Label, Button } from \"neetoui\";\nimport { Input } from \"neetoui/formik\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { getDefaultOption, isDropdown, isRegex } from \"./utils\";\n\nconst AdditionalInputs = () => {\n const { t } = useTranslation();\n\n const {\n values: { kind, data: options, isSystem },\n } = useFormikContext();\n\n const removeOption = (arrayHelpers, index) => arrayHelpers.remove(index);\n\n const addOption = arrayHelpers => arrayHelpers.push(getDefaultOption());\n\n const handleKeyDown = (event, arrayHelpers) => {\n if (event.key !== \"Enter\" || isMetaKeyPressed(event)) return;\n\n const form = event.target.form;\n const inputs = [\n ...form.querySelectorAll(\"#neeto-fields-dropdown-options-wrapper input\"),\n ];\n\n const currentIndex = inputs.indexOf(event.target);\n\n currentIndex >= inputs.length - 1\n ? addOption(arrayHelpers)\n : inputs[currentIndex + 1]?.focus();\n\n event.preventDefault();\n event.stopPropagation();\n };\n\n if (isDropdown(kind.value)) {\n return (\n <FieldArray name=\"data\">\n {arrayHelpers => (\n <div\n className=\"flex w-full flex-col gap-y-4\"\n id=\"neeto-fields-dropdown-options-wrapper\"\n >\n <Label required>{t(\"neetoFields.titles.dropdownOptions\")}</Label>\n {isNotEmpty(options) &&\n Array.isArray(options) &&\n options.map((_, index) => (\n <div className=\"flex w-full space-x-3\" key={index}>\n <div className=\"w-full\">\n <Input\n autoFocus\n disabled={isSystem}\n name={`data.${index}.label`}\n placeholder={t(\"neetoFields.placeholders.enterAnOption\")}\n suffix={\n options.length > 1 && (\n <Button\n icon={Delete}\n style=\"text\"\n onClick={() => removeOption(arrayHelpers, index)}\n />\n )\n }\n onKeyDown={event => handleKeyDown(event, arrayHelpers)}\n />\n </div>\n </div>\n ))}\n <Button\n fullWidth\n className=\"mb-6 border-dashed text-xs uppercase\"\n data-cy=\"neeto-fields-add-more-option-button\"\n label={t(\"neetoFields.labels.addAnotherOption\")}\n style=\"secondary\"\n onClick={() => addOption(arrayHelpers)}\n />\n </div>\n )}\n </FieldArray>\n );\n } else if (isRegex(kind.value)) {\n return (\n <div className=\"flex w-full flex-col gap-y-4\">\n <Label required>{t(\"neetoFields.titles.regexOptions\")}</Label>\n <Input\n disabled={isSystem}\n label={t(\"neetoFields.labels.regexCondition\")}\n name=\"data.condition\"\n placeholder={t(\"neetoFields.placeholders.regexExample\")}\n />\n <Input\n disabled={isSystem}\n label={t(\"neetoFields.labels.helpMessage\")}\n name=\"data.helpMessage\"\n placeholder={t(\"neetoFields.placeholders.enterErrorMessage\")}\n />\n </div>\n );\n }\n\n return null;\n};\n\nexport default AdditionalInputs;\n","import React from \"react\";\n\nimport { useFormikContext } from \"formik\";\nimport { Label, Pane, Typography } from \"neetoui\";\nimport { Input, Select, Switch } from \"neetoui/formik\";\nimport { useTranslation } from \"react-i18next\";\n\nimport AdditionalInputs from \"./AdditionalInputs\";\nimport { DEFAULT_REGEX_DATA } from \"./constants\";\nimport {\n getDefaultOption,\n isAdditionalDataNeeded,\n isDropdown,\n isRegex,\n} from \"./utils\";\n\n/** @type {React.FC<import(\"types\").FieldFormProps>} */\n\nconst FieldForm = ({\n chosenKind,\n kindSelectOptions = [],\n isSystem = false,\n hideRequiredSwitch = false,\n children,\n initialFocusField,\n}) => {\n const { t } = useTranslation();\n\n const {\n values: { data: options },\n setFieldValue,\n } = useFormikContext();\n\n const handleKindChange = kind => {\n setFieldValue(\"kind\", kind);\n if (isDropdown(kind.value)) {\n setFieldValue(\"data\", options ?? [getDefaultOption()]);\n } else if (isRegex(kind.value)) {\n setFieldValue(\"data\", options ?? DEFAULT_REGEX_DATA);\n }\n };\n\n return (\n <Pane.Body>\n <div className=\"w-full space-y-4\">\n <Input\n required\n data-cy=\"name-text-field\"\n disabled={isSystem}\n label={t(\"neetoFields.labels.fieldName\")}\n name=\"name\"\n placeholder={t(\"neetoFields.placeholders.enterFieldName\")}\n ref={initialFocusField}\n />\n <Select\n isSearchable\n isDisabled={isSystem}\n label={t(\"neetoFields.labels.fieldKind\")}\n name=\"kind\"\n options={kindSelectOptions}\n onChange={handleKindChange}\n />\n {isAdditionalDataNeeded(chosenKind) && <AdditionalInputs />}\n {!hideRequiredSwitch && (\n <Label\n className=\"flex items-center gap-2\"\n data-cy=\"is-required-switch-container\"\n >\n <Switch data-cy=\"is-required-switch\" name=\"isRequired\" />\n <Typography\n className=\"leading-4\"\n component=\"span\"\n data-cy=\"is-required-switch-label\"\n style=\"body2\"\n >\n {t(\"neetoFields.labels.isRequired\")}\n </Typography>\n </Label>\n )}\n {children}\n </div>\n </Pane.Body>\n );\n};\n\nexport default FieldForm;\n","import React from \"react\";\n\nimport { Pane, Typography } from \"neetoui\";\nimport { Form } from \"neetoui/formik\";\nimport { pick, values } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { ALL_KINDS } from \"components/FieldsDashBoard/constants\";\nimport { useCreateField } from \"hooks/reactQuery/useFieldsApi\";\n\nimport { FIELD_KINDS, INITIAL_FIELDS } from \"./constants\";\nimport FieldForm from \"./FieldForm\";\nimport {\n buildPayload,\n generateValidationSchema,\n renderFormFooter,\n} from \"./utils\";\n\n/** @type {React.FC<import(\"types\").AddProps>} */\n\nconst Add = ({\n resourceType,\n allowedKinds = ALL_KINDS,\n ownerId,\n additionalValidations,\n initialValues,\n onClose,\n onMutationSuccess,\n ...props\n}) => {\n const { t } = useTranslation();\n\n const { mutate: createField, isLoading: isSubmitting } = useCreateField({\n onSuccess: onMutationSuccess,\n });\n\n const filteredKinds = values(pick(allowedKinds, FIELD_KINDS));\n\n const handleSubmit = formValues => {\n const payload = buildPayload({ formValues, resourceType, ownerId });\n createField(payload, { onSuccess: onClose });\n };\n\n return (\n <>\n <Pane.Header>\n <Typography data-cy=\"add-pane-header\" style=\"h2\">\n {t(\"neetoFields.titles.addField\")}\n </Typography>\n </Pane.Header>\n <Form\n formikProps={{\n initialValues: { ...initialValues, ...INITIAL_FIELDS },\n validationSchema: generateValidationSchema(additionalValidations),\n onSubmit: handleSubmit,\n }}\n >\n {({ values: { kind } }) => (\n <>\n <FieldForm\n chosenKind={kind.value}\n kindSelectOptions={filteredKinds}\n {...props}\n />\n {renderFormFooter({ onClose, loading: isSubmitting })}\n </>\n )}\n </Form>\n </>\n );\n};\n\nexport default Add;\n","import React from \"react\";\n\nimport PageLoader from \"neetomolecules/PageLoader\";\nimport { Pane, Typography } from \"neetoui\";\nimport { Form } from \"neetoui/formik\";\nimport { assoc } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { ALL_KINDS } from \"components/FieldsDashBoard/constants\";\nimport { useShowField, useUpdateField } from \"hooks/reactQuery/useFieldsApi\";\n\nimport { FIELD_KINDS } from \"./constants\";\nimport FieldForm from \"./FieldForm\";\nimport {\n buildPayload,\n generateValidationSchema,\n getPermittedKinds,\n renderFormFooter,\n} from \"./utils\";\n\n/** @type {React.FC<import(\"types\").EditProps>} */\n\nconst Edit = ({\n fieldId,\n allowedKinds = ALL_KINDS,\n ownerId,\n additionalValidations = {},\n initialValues = {},\n onClose,\n onMutationSuccess,\n ...props\n}) => {\n const { t } = useTranslation();\n\n const { data: { field = {} } = {}, isLoading } = useShowField({\n fieldId,\n ownerId,\n });\n\n const { mutate: updateField, isLoading: isSubmitting } = useUpdateField({\n onSuccess: (...args) => {\n onMutationSuccess?.(...args);\n onClose();\n },\n });\n\n const handleSubmit = formValues => {\n const payload = buildPayload({ formValues, ownerId });\n updateField({ fieldId, payload });\n };\n\n return (\n <>\n <Pane.Header>\n <Typography data-cy=\"edit-pane-header\" style=\"h2\">\n {t(\"neetoFields.titles.editField\")}\n </Typography>\n </Pane.Header>\n {isLoading ? (\n <PageLoader />\n ) : (\n <Form\n formikProps={{\n initialValues: {\n ...initialValues,\n ...assoc(\"kind\", FIELD_KINDS[field.kind], field),\n },\n validationSchema: generateValidationSchema(additionalValidations),\n enableReinitialize: true,\n onSubmit: handleSubmit,\n }}\n >\n {({ values: { kind } }) => {\n const permittedKinds = getPermittedKinds({\n allowedKinds,\n selectedKind: kind,\n });\n\n return (\n <>\n <FieldForm\n chosenKind={kind?.value}\n isSystem={field.isSystem}\n kindSelectOptions={permittedKinds}\n {...props}\n />\n {renderFormFooter({ onClose, loading: isSubmitting })}\n </>\n );\n }}\n </Form>\n )}\n </>\n );\n};\n\nexport default Edit;\n","import React, { useRef } from \"react\";\n\nimport { Pane } from \"neetoui\";\nimport { isEmpty } from \"ramda\";\n\nimport Add from \"./Add\";\nimport Edit from \"./Edit\";\n\n/** @type {React.FC<import(\"types\").FieldsPaneProps>} */\n\nconst FieldsPane = ({ isOpen, selectedField = {}, ...props }) => {\n const initialFocusField = useRef(null);\n\n return (\n <Pane\n {...{ isOpen }}\n initialFocusRef={initialFocusField}\n onClose={props.onClose}\n >\n {isEmpty(selectedField) ? (\n <Add {...{ ...props, initialFocusField }} />\n ) : (\n <Edit\n fieldId={selectedField?.id}\n {...{ ...props, initialFocusField }}\n />\n )}\n </Pane>\n );\n};\n\nexport default FieldsPane;\n","/* global define */\n\n(function (root, pluralize) {\n /* istanbul ignore else */\n if (typeof require === 'function' && typeof exports === 'object' && typeof module === 'object') {\n // Node.\n module.exports = pluralize();\n } else if (typeof define === 'function' && define.amd) {\n // AMD, registers as an anonymous module.\n define(function () {\n return pluralize();\n });\n } else {\n // Browser global.\n root.pluralize = pluralize();\n }\n})(this, function () {\n // Rule storage - pluralize and singularize need to be run sequentially,\n // while other rules can be optimized using an object for instant lookups.\n var pluralRules = [];\n var singularRules = [];\n var uncountables = {};\n var irregularPlurals = {};\n var irregularSingles = {};\n\n /**\n * Sanitize a pluralization rule to a usable regular expression.\n *\n * @param {(RegExp|string)} rule\n * @return {RegExp}\n */\n function sanitizeRule (rule) {\n if (typeof rule === 'string') {\n return new RegExp('^' + rule + '$', 'i');\n }\n\n return rule;\n }\n\n /**\n * Pass in a word token to produce a function that can replicate the case on\n * another word.\n *\n * @param {string} word\n * @param {string} token\n * @return {Function}\n */\n function restoreCase (word, token) {\n // Tokens are an exact match.\n if (word === token) return token;\n\n // Lower cased words. E.g. \"hello\".\n if (word === word.toLowerCase()) return token.toLowerCase();\n\n // Upper cased words. E.g. \"WHISKY\".\n if (word === word.toUpperCase()) return token.toUpperCase();\n\n // Title cased words. E.g. \"Title\".\n if (word[0] === word[0].toUpperCase()) {\n return token.charAt(0).toUpperCase() + token.substr(1).toLowerCase();\n }\n\n // Lower cased words. E.g. \"test\".\n return token.toLowerCase();\n }\n\n /**\n * Interpolate a regexp string.\n *\n * @param {string} str\n * @param {Array} args\n * @return {string}\n */\n function interpolate (str, args) {\n return str.replace(/\\$(\\d{1,2})/g, function (match, index) {\n return args[index] || '';\n });\n }\n\n /**\n * Replace a word using a rule.\n *\n * @param {string} word\n * @param {Array} rule\n * @return {string}\n */\n function replace (word, rule) {\n return word.replace(rule[0], function (match, index) {\n var result = interpolate(rule[1], arguments);\n\n if (match === '') {\n return restoreCase(word[index - 1], result);\n }\n\n return restoreCase(match, result);\n });\n }\n\n /**\n * Sanitize a word by passing in the word and sanitization rules.\n *\n * @param {string} token\n * @param {string} word\n * @param {Array} rules\n * @return {string}\n */\n function sanitizeWord (token, word, rules) {\n // Empty string or doesn't need fixing.\n if (!token.length || uncountables.hasOwnProperty(token)) {\n return word;\n }\n\n var len = rules.length;\n\n // Iterate over the sanitization rules and use the first one to match.\n while (len--) {\n var rule = rules[len];\n\n if (rule[0].test(word)) return replace(word, rule);\n }\n\n return word;\n }\n\n /**\n * Replace a word with the updated word.\n *\n * @param {Object} replaceMap\n * @param {Object} keepMap\n * @param {Array} rules\n * @return {Function}\n */\n function replaceWord (replaceMap, keepMap, rules) {\n return function (word) {\n // Get the correct token and case restoration functions.\n var token = word.toLowerCase();\n\n // Check against the keep object map.\n if (keepMap.hasOwnProperty(token)) {\n return restoreCase(word, token);\n }\n\n // Check against the replacement map for a direct word replacement.\n if (replaceMap.hasOwnProperty(token)) {\n return restoreCase(word, replaceMap[token]);\n }\n\n // Run all the rules against the word.\n return sanitizeWord(token, word, rules);\n };\n }\n\n /**\n * Check if a word is part of the map.\n */\n function checkWord (replaceMap, keepMap, rules, bool) {\n return function (word) {\n var token = word.toLowerCase();\n\n if (keepMap.hasOwnProperty(token)) return true;\n if (replaceMap.hasOwnProperty(token)) return false;\n\n return sanitizeWord(token, token, rules) === token;\n };\n }\n\n /**\n * Pluralize or singularize a word based on the passed in count.\n *\n * @param {string} word The word to pluralize\n * @param {number} count How many of the word exist\n * @param {boolean} inclusive Whether to prefix with the number (e.g. 3 ducks)\n * @return {string}\n */\n function pluralize (word, count, inclusive) {\n var pluralized = count === 1\n ? pluralize.singular(word) : pluralize.plural(word);\n\n return (inclusive ? count + ' ' : '') + pluralized;\n }\n\n /**\n * Pluralize a word.\n *\n * @type {Function}\n */\n pluralize.plural = replaceWord(\n irregularSingles, irregularPlurals, pluralRules\n );\n\n /**\n * Check if a word is plural.\n *\n * @type {Function}\n */\n pluralize.isPlural = checkWord(\n irregularSingles, irregularPlurals, pluralRules\n );\n\n /**\n * Singularize a word.\n *\n * @type {Function}\n */\n pluralize.singular = replaceWord(\n irregularPlurals, irregularSingles, singularRules\n );\n\n /**\n * Check if a word is singular.\n *\n * @type {Function}\n */\n pluralize.isSingular = checkWord(\n irregularPlurals, irregularSingles, singularRules\n );\n\n /**\n * Add a pluralization rule to the collection.\n *\n * @param {(string|RegExp)} rule\n * @param {string} replacement\n */\n pluralize.addPluralRule = function (rule, replacement) {\n pluralRules.push([sanitizeRule(rule), replacement]);\n };\n\n /**\n * Add a singularization rule to the collection.\n *\n * @param {(string|RegExp)} rule\n * @param {string} replacement\n */\n pluralize.addSingularRule = function (rule, replacement) {\n singularRules.push([sanitizeRule(rule), replacement]);\n };\n\n /**\n * Add an uncountable word rule.\n *\n * @param {(string|RegExp)} word\n */\n pluralize.addUncountableRule = function (word) {\n if (typeof word === 'string') {\n uncountables[word.toLowerCase()] = true;\n return;\n }\n\n // Set singular and plural references for the word.\n pluralize.addPluralRule(word, '$0');\n pluralize.addSingularRule(word, '$0');\n };\n\n /**\n * Add an irregular word definition.\n *\n * @param {string} single\n * @param {string} plural\n */\n pluralize.addIrregularRule = function (single, plural) {\n plural = plural.toLowerCase();\n single = single.toLowerCase();\n\n irregularSingles[single] = plural;\n irregularPlurals[plural] = single;\n };\n\n /**\n * Irregular rules.\n */\n [\n // Pronouns.\n ['I', 'we'],\n ['me', 'us'],\n ['he', 'they'],\n ['she', 'they'],\n ['them', 'them'],\n ['myself', 'ourselves'],\n ['yourself', 'yourselves'],\n ['itself', 'themselves'],\n ['herself', 'themselves'],\n ['himself', 'themselves'],\n ['themself', 'themselves'],\n ['is', 'are'],\n ['was', 'were'],\n ['has', 'have'],\n ['this', 'these'],\n ['that', 'those'],\n // Words ending in with a consonant and `o`.\n ['echo', 'echoes'],\n ['dingo', 'dingoes'],\n ['volcano', 'volcanoes'],\n ['tornado', 'tornadoes'],\n ['torpedo', 'torpedoes'],\n // Ends with `us`.\n ['genus', 'genera'],\n ['viscus', 'viscera'],\n // Ends with `ma`.\n ['stigma', 'stigmata'],\n ['stoma', 'stomata'],\n ['dogma', 'dogmata'],\n ['lemma', 'lemmata'],\n ['schema', 'schemata'],\n ['anathema', 'anathemata'],\n // Other irregular rules.\n ['ox', 'oxen'],\n ['axe', 'axes'],\n ['die', 'dice'],\n ['yes', 'yeses'],\n ['foot', 'feet'],\n ['eave', 'eaves'],\n ['goose', 'geese'],\n ['tooth', 'teeth'],\n ['quiz', 'quizzes'],\n ['human', 'humans'],\n ['proof', 'proofs'],\n ['carve', 'carves'],\n ['valve', 'valves'],\n ['looey', 'looies'],\n ['thief', 'thieves'],\n ['groove', 'grooves'],\n ['pickaxe', 'pickaxes'],\n ['passerby', 'passersby']\n ].forEach(function (rule) {\n return pluralize.addIrregularRule(rule[0], rule[1]);\n });\n\n /**\n * Pluralization rules.\n */\n [\n [/s?$/i, 's'],\n [/[^\\u0000-\\u007F]$/i, '$0'],\n [/([^aeiou]ese)$/i, '$1'],\n [/(ax|test)is$/i, '$1es'],\n [/(alias|[^aou]us|t[lm]as|gas|ris)$/i, '$1es'],\n [/(e[mn]u)s?$/i, '$1s'],\n [/([^l]ias|[aeiou]las|[ejzr]as|[iu]am)$/i, '$1'],\n [/(alumn|syllab|vir|radi|nucle|fung|cact|stimul|termin|bacill|foc|uter|loc|strat)(?:us|i)$/i, '$1i'],\n [/(alumn|alg|vertebr)(?:a|ae)$/i, '$1ae'],\n [/(seraph|cherub)(?:im)?$/i, '$1im'],\n [/(her|at|gr)o$/i, '$1oes'],\n [/(agend|addend|millenni|dat|extrem|bacteri|desiderat|strat|candelabr|errat|ov|symposi|curricul|automat|quor)(?:a|um)$/i, '$1a'],\n [/(apheli|hyperbat|periheli|asyndet|noumen|phenomen|criteri|organ|prolegomen|hedr|automat)(?:a|on)$/i, '$1a'],\n [/sis$/i, 'ses'],\n [/(?:(kni|wi|li)fe|(ar|l|ea|eo|oa|hoo)f)$/i, '$1$2ves'],\n [/([^aeiouy]|qu)y$/i, '$1ies'],\n [/([^ch][ieo][ln])ey$/i, '$1ies'],\n [/(x|ch|ss|sh|zz)$/i, '$1es'],\n [/(matr|cod|mur|sil|vert|ind|append)(?:ix|ex)$/i, '$1ices'],\n [/\\b((?:tit)?m|l)(?:ice|ouse)$/i, '$1ice'],\n [/(pe)(?:rson|ople)$/i, '$1ople'],\n [/(child)(?:ren)?$/i, '$1ren'],\n [/eaux$/i, '$0'],\n [/m[ae]n$/i, 'men'],\n ['thou', 'you']\n ].forEach(function (rule) {\n return pluralize.addPluralRule(rule[0], rule[1]);\n });\n\n /**\n * Singularization rules.\n */\n [\n [/s$/i, ''],\n [/(ss)$/i, '$1'],\n [/(wi|kni|(?:after|half|high|low|mid|non|night|[^\\w]|^)li)ves$/i, '$1fe'],\n [/(ar|(?:wo|[ae])l|[eo][ao])ves$/i, '$1f'],\n [/ies$/i, 'y'],\n [/\\b([pl]|zomb|(?:neck|cross)?t|coll|faer|food|gen|goon|group|lass|talk|goal|cut)ies$/i, '$1ie'],\n [/\\b(mon|smil)ies$/i, '$1ey'],\n [/\\b((?:tit)?m|l)ice$/i, '$1ouse'],\n [/(seraph|cherub)im$/i, '$1'],\n [/(x|ch|ss|sh|zz|tto|go|cho|alias|[^aou]us|t[lm]as|gas|(?:her|at|gr)o|[aeiou]ris)(?:es)?$/i, '$1'],\n [/(analy|diagno|parenthe|progno|synop|the|empha|cri|ne)(?:sis|ses)$/i, '$1sis'],\n [/(movie|twelve|abuse|e[mn]u)s$/i, '$1'],\n [/(test)(?:is|es)$/i, '$1is'],\n [/(alumn|syllab|vir|radi|nucle|fung|cact|stimul|termin|bacill|foc|uter|loc|strat)(?:us|i)$/i, '$1us'],\n [/(agend|addend|millenni|dat|extrem|bacteri|desiderat|strat|candelabr|errat|ov|symposi|curricul|quor)a$/i, '$1um'],\n [/(apheli|hyperbat|periheli|asyndet|noumen|phenomen|criteri|organ|prolegomen|hedr|automat)a$/i, '$1on'],\n [/(alumn|alg|vertebr)ae$/i, '$1a'],\n [/(cod|mur|sil|vert|ind)ices$/i, '$1ex'],\n [/(matr|append)ices$/i, '$1ix'],\n [/(pe)(rson|ople)$/i, '$1rson'],\n [/(child)ren$/i, '$1'],\n [/(eau)x?$/i, '$1'],\n [/men$/i, 'man']\n ].forEach(function (rule) {\n return pluralize.addSingularRule(rule[0], rule[1]);\n });\n\n /**\n * Uncountable rules.\n */\n [\n // Singular words with no plurals.\n 'adulthood',\n 'advice',\n 'agenda',\n 'aid',\n 'aircraft',\n 'alcohol',\n 'ammo',\n 'analytics',\n 'anime',\n 'athletics',\n 'audio',\n 'bison',\n 'blood',\n 'bream',\n 'buffalo',\n 'butter',\n 'carp',\n 'cash',\n 'chassis',\n 'chess',\n 'clothing',\n 'cod',\n 'commerce',\n 'cooperation',\n 'corps',\n 'debris',\n 'diabetes',\n 'digestion',\n 'elk',\n 'energy',\n 'equipment',\n 'excretion',\n 'expertise',\n 'firmware',\n 'flounder',\n 'fun',\n 'gallows',\n 'garbage',\n 'graffiti',\n 'hardware',\n 'headquarters',\n 'health',\n 'herpes',\n 'highjinks',\n 'homework',\n 'housework',\n 'information',\n 'jeans',\n 'justice',\n 'kudos',\n 'labour',\n 'literature',\n 'machinery',\n 'mackerel',\n 'mail',\n 'media',\n 'mews',\n 'moose',\n 'music',\n 'mud',\n 'manga',\n 'news',\n 'only',\n 'personnel',\n 'pike',\n 'plankton',\n 'pliers',\n 'police',\n 'pollution',\n 'premises',\n 'rain',\n 'research',\n 'rice',\n 'salmon',\n 'scissors',\n 'series',\n 'sewage',\n 'shambles',\n 'shrimp',\n 'software',\n 'species',\n 'staff',\n 'swine',\n 'tennis',\n 'traffic',\n 'transportation',\n 'trout',\n 'tuna',\n 'wealth',\n 'welfare',\n 'whiting',\n 'wildebeest',\n 'wildlife',\n 'you',\n /pok[eé]mon$/i,\n // Regexes.\n /[^aeiou]ese$/i, // \"chinese\", \"japanese\"\n /deer$/i, // \"deer\", \"reindeer\"\n /fish$/i, // \"fish\", \"blowfish\", \"angelfish\"\n /measles$/i,\n /o[iu]s$/i, // \"carnivorous\"\n /pox$/i, // \"chickpox\", \"smallpox\"\n /sheep$/i\n ].forEach(pluralize.addUncountableRule);\n\n return pluralize;\n});\n","import React from \"react\";\n\nimport { t } from \"i18next\";\nimport { findBy, humanize, slugify } from \"neetocist\";\nimport MenuBar from \"neetomolecules/MenuBar\";\nimport MoreDropdown from \"neetomolecules/MoreDropdown\";\nimport { Tab, Typography } from \"neetoui\";\nimport pluralize from \"pluralize\";\nimport { not } from \"ramda\";\nimport { Trans } from \"react-i18next\";\nimport { Link } from \"react-router-dom\";\n\nimport { DISPLAY_KINDS, FIELD_STATES, MENU_ITEMS } from \"./constants\";\n\nconst getMenuItems = ({ field, onDeleteClick, onEditClick }) => [\n {\n key: MENU_ITEMS.EDIT,\n \"data-cy\": \"edit-menu-item-button\",\n label: t(\"neetoFields.labels.edit\"),\n onClick: () => onEditClick(field),\n },\n {\n key: MENU_ITEMS.DELETE,\n \"data-cy\": \"delete-menu-item-button\",\n label: t(\"neetoFields.labels.delete\"),\n isVisible: not(field.isSystem),\n onClick: () => onDeleteClick(field),\n },\n];\n\nexport const buildDefaultColumns = ({ onDeleteClick, onEditClick }) => [\n {\n key: \"name\",\n dataIndex: \"name\",\n title: t(\"neetoFields.titles.fieldName\"),\n width: 300,\n render: (name, field) => (\n <div className=\"flex items-center justify-between gap-x-3\">\n <Typography style=\"body2\">{name}</Typography>\n <MoreDropdown\n dropdownProps={{ strategy: \"fixed\" }}\n menuItems={getMenuItems({ field, onDeleteClick, onEditClick })}\n dropdownButtonProps={{\n className: \"flex-shrink-0\",\n \"data-cy\": \"neeto-fields-options-dropdown\",\n }}\n />\n </div>\n ),\n },\n {\n key: \"kind\",\n dataIndex: \"kind\",\n title: t(\"neetoFields.titles.fieldKind\"),\n render: kind => DISPLAY_KINDS[kind],\n width: 180,\n },\n {\n key: \"isRequired\",\n dataIndex: \"isRequired\",\n title: t(\"neetoFields.titles.required\"),\n width: 140,\n render: boolVal =>\n boolVal ? t(\"neetoFields.common.yes\") : t(\"neetoFields.common.no\"),\n },\n];\n\nexport const renderMenuBarItems = ({\n items,\n isOwnerBased,\n selectedMenu,\n handleBlockClick,\n nameAliases,\n title,\n}) => {\n title = title.toLocaleLowerCase();\n\n if (isOwnerBased) {\n return items.map(item => (\n <MenuBar.Item\n active={selectedMenu === item.id}\n data-cy={`menubar-${slugify(item.name)}-menu-item`}\n key={item.id}\n label={humanize(item.name)}\n description={t(\"neetoFields.messages.manageTitleForResource\", {\n title,\n resource: humanize(item.name),\n })}\n onClick={handleBlockClick({ resource: item.id })}\n />\n ));\n }\n\n return (\n items.length > 1 &&\n items.map(({ label, value }) => {\n const itemLabel = nameAliases[label] || humanize(label);\n\n return (\n <MenuBar.Item\n active={selectedMenu === value}\n data-cy={`neeto-fields-${slugify(itemLabel)}-menu-item`}\n key={label}\n label={itemLabel}\n description={t(\"neetoFields.messages.manageTitleForResource\", {\n title,\n resource: itemLabel,\n })}\n onClick={handleBlockClick({ resource: value })}\n />\n );\n })\n );\n};\n\nexport const renderStateFilterTabs = ({\n selectedState,\n fieldStatesTaxonomy,\n activeFieldsCount,\n inactiveFieldsCount,\n handleBlockClick,\n}) => (\n <Tab className=\"mb-4\">\n <Tab.Item\n active={selectedState === FIELD_STATES.active}\n data-cy=\"menubar-active-block\"\n onClick={handleBlockClick({ state: FIELD_STATES.active })}\n >\n {fieldStatesTaxonomy.active}({activeFieldsCount})\n </Tab.Item>\n <Tab.Item\n active={selectedState === FIELD_STATES.inactive}\n data-cy=\"menubar-inactive-block\"\n onClick={handleBlockClick({ state: FIELD_STATES.inactive })}\n >\n {fieldStatesTaxonomy.inactive}({inactiveFieldsCount})\n </Tab.Item>\n </Tab>\n);\n\nexport const getResourceName = ({\n isOwnerBased,\n menuItems, // menuItems can be array of owners or array of resource types\n selectedVal,\n nameAliases,\n}) => {\n if (isOwnerBased) {\n return findBy({ id: selectedVal }, menuItems)?.name;\n }\n const selectedName = findBy({ value: selectedVal }, menuItems)?.label;\n\n return nameAliases[selectedName] || selectedName;\n};\n\nexport const getDashBoardTitle = ({\n resourceName,\n isSingleResource,\n title,\n}) => {\n const displayTitle = isSingleResource\n ? title\n : t(\"neetoFields.messages.titleForResource\", {\n title,\n resource: resourceName,\n });\n\n return humanize(displayTitle);\n};\n\nexport const renderNoDataHelpText = (title, url) => (\n <Trans\n i18nKey=\"neetoFields.helpTexts.noData\"\n values={{ title }}\n components={{\n a: (\n <Link\n className=\"neeto-ui-text-primary-600 underline\"\n data-cy=\"no-data-help-text-link\"\n target=\"_blank\"\n to={{ pathname: url }}\n />\n ),\n }}\n />\n);\n\nexport const getDeletionConfirmationMessage = ({\n resource,\n fieldName,\n affectedResourcesCount,\n}) =>\n affectedResourcesCount > 0 ? (\n <Trans\n i18nKey=\"neetoFields.messages.confirmDeleteWithCount\"\n values={{\n resource: pluralize(resource, affectedResourcesCount),\n name: fieldName,\n count: affectedResourcesCount,\n }}\n />\n ) : (\n <Trans\n i18nKey=\"neetoFields.messages.confirmDelete\"\n values={{ name: fieldName }}\n />\n );\n","import axios from \"axios\";\n\nimport { CONFIGS_URL } from \"src/constants\";\n\nconst fetchConfigs = () => axios.get(CONFIGS_URL);\n\nconst configsApi = { fetchConfigs };\n\nexport default configsApi;\n","import { useQuery } from \"react-query\";\n\nimport configsApi from \"apis/configs\";\nimport { DEFAULT_STALE_TIME, QUERY_KEYS } from \"src/constants/query\";\n\nexport const useFetchConfigs = options =>\n useQuery([QUERY_KEYS.CONFIGS], configsApi.fetchConfigs, {\n staleTime: DEFAULT_STALE_TIME,\n ...options,\n });\n","import { useEffect, useMemo, useState } from \"react\";\n\nimport { DEFAULT_PAGE_INDEX, DEFAULT_PAGE_SIZE } from \"neetocommons/constants\";\nimport { handleMetaClick, useQueryParams } from \"neetocommons/react-utils\";\nimport { buildUrl } from \"neetocommons/utils\";\nimport { buildFiltersFromURL } from \"neetofilters\";\nimport { any, isNil } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\nimport { useHistory } from \"react-router-dom\";\n\nimport { FIELD_STATES } from \"components/FieldsDashBoard/constants\";\nimport {\n buildDefaultColumns,\n getDashBoardTitle,\n getResourceName,\n renderStateFilterTabs,\n renderMenuBarItems,\n} from \"components/FieldsDashBoard/utils\";\n\nimport { useFetchConfigs } from \"./reactQuery/useConfigsApi\";\nimport { useDestroyField, useFetchFields } from \"./reactQuery/useFieldsApi\";\n\nexport const useFieldsDashboard = ({\n buildColumnData,\n isOwnerBased,\n fieldStatesTaxonomy,\n nameAliases,\n title,\n resources,\n showStateFilter,\n}) => {\n const [isPaneOpen, setIsPaneOpen] = useState(false);\n const [isDeleteAlertOpen, setIsDeleteAlertOpen] = useState(false);\n const [isReorderPaneOpen, setIsReorderPaneOpen] = useState(false);\n const [selectedField, setSelectedField] = useState({});\n const [pageProps, setPageProps] = useState({\n page: DEFAULT_PAGE_INDEX,\n pageSize: DEFAULT_PAGE_SIZE,\n });\n\n const { searchTerm, resource, state } = useQueryParams();\n const history = useHistory();\n const { t } = useTranslation();\n\n const searchKeywordProps = {\n key: \"search_term\",\n node: \"name\",\n value: searchTerm,\n };\n\n const ownerId = isOwnerBased ? resource : undefined;\n\n const {\n data: { owners = [], resourceTypes = [] } = {},\n isLoading: isConfigsLoading,\n } = useFetchConfigs({ enabled: !resources });\n\n const filters = useMemo(\n () => buildFiltersFromURL([searchKeywordProps]),\n [searchTerm]\n );\n\n const fieldParams = {\n resourceType: !isOwnerBased ? resource : undefined,\n ownerId,\n state: state || FIELD_STATES.active,\n pageProps,\n filters,\n };\n\n const {\n data: {\n fields = [],\n count,\n activeFieldsCount,\n inactiveFieldsCount,\n reorderable,\n } = {},\n isLoading: isFieldsLoading,\n isFetching: isFieldsFetching,\n isFetched: isFieldsFetched,\n } = useFetchFields(fieldParams, {\n enabled: !!resource,\n keepPreviousData: true,\n });\n\n const { mutate: deleteField, isLoading: isDeleting } = useDestroyField({\n onSuccess: () => {\n setIsDeleteAlertOpen(false);\n setSelectedField({});\n },\n });\n\n const handleDelete = () => {\n deleteField({ fieldId: selectedField.id, ownerId });\n };\n\n const handleClosePane = () => {\n setIsPaneOpen(false);\n setSelectedField({});\n };\n\n const handleEditButtonClick = field => {\n setSelectedField(field);\n setIsPaneOpen(true);\n };\n\n const handleDeleteButtonClick = field => {\n setSelectedField(field);\n setIsDeleteAlertOpen(true);\n };\n\n const handleAlertClose = () => {\n setIsDeleteAlertOpen(false);\n setSelectedField({});\n };\n\n const handleReorderPaneClose = () => {\n setIsReorderPaneOpen(false);\n };\n\n const defaultColumns = buildDefaultColumns({\n onDeleteClick: handleDeleteButtonClick,\n onEditClick: handleEditButtonClick,\n });\n\n const columnData = buildColumnData({\n onEditClick: handleEditButtonClick,\n onDeleteClick: handleDeleteButtonClick,\n defaultColumns,\n });\n\n const handleBlockClick = params =>\n handleMetaClick(history, buildUrl(\"\", { resource, state, ...params }));\n\n const menuItems = resources || (isOwnerBased ? owners : resourceTypes);\n\n const handleURLWithDefaultValues = () => {\n const queryParams = { resource, state };\n if (!isConfigsLoading && isNil(resource)) {\n queryParams.resource = isOwnerBased\n ? menuItems?.[0]?.id\n : menuItems?.[0]?.value;\n }\n\n if (!isConfigsLoading && isNil(state)) {\n queryParams.state = FIELD_STATES.active;\n }\n\n if (!isConfigsLoading && any(isNil)([resource, state])) {\n history.replace(buildUrl(\"\", queryParams));\n }\n };\n\n const isScreenLoading = isFieldsLoading || isConfigsLoading;\n const showCountSubheader = count > 0 && !showStateFilter;\n\n const searchInputProps = {\n placeholder: t(\"neetoFields.placeholders.searchFields\"),\n className: \"w-44\",\n };\n\n const isSingleResource = menuItems.length === 1;\n const isMenuBarNeeded = !isSingleResource && !isConfigsLoading;\n const isSearchBarNeeded =\n state === FIELD_STATES.active\n ? activeFieldsCount > 0\n : inactiveFieldsCount > 0;\n\n const resourceName = useMemo(\n () =>\n getResourceName({\n isOwnerBased,\n nameAliases,\n menuItems,\n selectedVal: resource,\n }),\n [menuItems, resource]\n );\n\n const headerDisplayTitle = useMemo(\n () => getDashBoardTitle({ resourceName, isSingleResource, title }),\n [state, isSingleResource, resourceName]\n );\n\n const stateFilterTabs = useMemo(\n () =>\n renderStateFilterTabs({\n selectedState: state,\n fieldStatesTaxonomy,\n activeFieldsCount,\n inactiveFieldsCount,\n handleBlockClick,\n }),\n [activeFieldsCount, inactiveFieldsCount, state]\n );\n\n const menuBarItems = useMemo(\n () =>\n renderMenuBarItems({\n isOwnerBased,\n items: menuItems,\n selectedMenu: resource,\n handleBlockClick,\n nameAliases,\n title,\n }),\n [menuItems, resource]\n );\n\n useEffect(() => {\n handleURLWithDefaultValues();\n }, [isConfigsLoading, resources, resource, state]);\n\n useEffect(() => {\n setPageProps({\n page: DEFAULT_PAGE_INDEX,\n pageSize: DEFAULT_PAGE_SIZE,\n });\n }, [searchTerm, state, resource]);\n\n return {\n isPaneOpen,\n setIsPaneOpen,\n isDeleteAlertOpen,\n isReorderPaneOpen,\n setIsReorderPaneOpen,\n fields,\n count,\n columnData,\n selectedField,\n selectedMenu: resource, // resource will be ownerId if showOwnersInMenu is true, else it will be resourceType\n ownerId,\n isDeleting,\n isFieldsFetching,\n isFieldsFetched,\n isScreenLoading,\n isMenuBarNeeded,\n showCountSubheader,\n handleDelete,\n handleAlertClose,\n handleClosePane,\n handleReorderPaneClose,\n searchInputProps: isSearchBarNeeded ? searchInputProps : null,\n searchKeywordProps,\n stateFilterTabs,\n menuBarItems,\n reorderable,\n headerDisplayTitle,\n pageProps,\n setPageProps,\n };\n};\n","import React from \"react\";\n\nimport { isNotEmpty } from \"neetocist\";\nimport { Alert } from \"neetoui\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { useFetchDependencies } from \"hooks/reactQuery/useFieldsApi\";\n\nimport { getDeletionConfirmationMessage } from \"./utils\";\n\nconst DeleteAlert = ({\n selectedField,\n ownerId,\n isDeleteAlertOpen,\n isDeleting,\n resourceTypeName,\n handleAlertClose,\n handleDelete,\n}) => {\n const { t } = useTranslation();\n\n const { data: { affectedResourcesCount } = {} } = useFetchDependencies(\n { fieldId: selectedField.id, ownerId },\n { enabled: isDeleteAlertOpen && isNotEmpty(selectedField) }\n );\n\n return (\n <Alert\n {...{ affectedResourcesCount }}\n isOpen={isDeleteAlertOpen}\n isSubmitting={isDeleting}\n submitButtonLabel={t(\"neetoFields.labels.delete\")}\n title={t(\"neetoFields.titles.deleteField\")}\n message={getDeletionConfirmationMessage({\n resource: resourceTypeName,\n affectedResourcesCount,\n fieldName: selectedField?.name,\n })}\n onClose={handleAlertClose}\n onSubmit={handleDelete}\n />\n );\n};\n\nexport default DeleteAlert;\n","import React from \"react\";\n\nimport { getQueryParams } from \"neetocommons/utils\";\nimport PageLoader from \"neetomolecules/PageLoader\";\nimport TableWrapper from \"neetomolecules/TableWrapper\";\nimport { NoData, Table } from \"neetoui\";\nimport { isEmpty } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { FIELD_STATES } from \"./constants\";\nimport { renderNoDataHelpText } from \"./utils\";\n\nconst FieldsTable = ({\n totalCount,\n isFetched,\n isFetching,\n rowData,\n columnData,\n setIsPaneOpen,\n helpDocUrl,\n title,\n pageProps,\n setPageProps,\n showStateFilter,\n}) => {\n const { t } = useTranslation();\n const showNoDataScreen = isFetched && isEmpty(rowData);\n const { state } = getQueryParams();\n title = title.toLocaleLowerCase();\n const { page, pageSize } = pageProps;\n const noDataProps = {};\n\n if (!isFetched && isEmpty(rowData)) {\n return <PageLoader />;\n }\n\n if (helpDocUrl) {\n noDataProps.helpText = renderNoDataHelpText(title, helpDocUrl);\n }\n\n if (FIELD_STATES.active === state) {\n noDataProps.primaryButtonProps = {\n label: t(\"neetoFields.labels.addField\"),\n onClick: () => setIsPaneOpen(true),\n };\n }\n\n return (\n <TableWrapper>\n {showNoDataScreen ? (\n <div className=\"flex h-full w-full items-center justify-center\">\n <NoData\n title={\n showStateFilter\n ? t(\"neetoFields.messages.noFieldsWithState\", { title, state })\n : t(\"neetoFields.messages.noFields\", { title })\n }\n {...noDataProps}\n />\n </div>\n ) : (\n <Table\n {...{ columnData, rowData, totalCount }}\n fixedHeight\n allowRowClick={false}\n currentPageNumber={page}\n defaultPageSize={pageSize}\n handlePageChange={page => setPageProps({ ...pageProps, page })}\n loading={isFetching}\n />\n )}\n </TableWrapper>\n );\n};\n\nexport default FieldsTable;\n","import React from \"react\";\n\nimport { Button } from \"neetoui\";\nimport { useTranslation } from \"react-i18next\";\n\n// eslint-disable-next-line @bigbinary/neeto/no-dumb-components-with-use-translation\nconst ActionBlock = ({ reorderable, setIsReorderPaneOpen, setIsPaneOpen }) => {\n const { t } = useTranslation();\n\n return (\n <div className=\"flex flex-shrink-0 items-center gap-3\">\n <Button\n data-cy=\"neeto-fields-reorder-button\"\n disabled={!reorderable}\n label={t(\"neetoFields.labels.reorder\")}\n style=\"secondary\"\n onClick={() => setIsReorderPaneOpen(true)}\n />\n <Button\n data-cy=\"neeto-fields-add-button\"\n label={t(\"neetoFields.labels.addField\")}\n onClick={() => setIsPaneOpen(true)}\n />\n </div>\n );\n};\n\nexport default ActionBlock;\n","import React from \"react\";\n\nimport { withT } from \"neetocommons/react-utils\";\nimport NeetoUIHeader from \"neetomolecules/Header\";\nimport HelpPopover from \"neetomolecules/HelpPopover\";\n\nimport ActionBlock from \"./ActionBlock\";\n\nconst Header = withT(\n ({\n searchInputProps,\n breadcrumbs,\n title,\n helpDocUrl,\n helpDescription,\n size,\n ...actionBlockProps\n }) => (\n <NeetoUIHeader\n {...{ breadcrumbs, size }}\n actionBlock={<ActionBlock {...actionBlockProps} />}\n searchProps={searchInputProps}\n title={\n <span>\n {title}\n {(helpDocUrl || helpDescription) && (\n <HelpPopover\n className=\"ml-2 self-center\"\n {...(helpDocUrl && { title })}\n {...(helpDescription && { description: helpDescription })}\n {...(helpDocUrl && { helpLinkProps: { href: helpDocUrl } })}\n />\n )}\n </span>\n }\n />\n )\n);\n\nexport default Header;\n","import React from \"react\";\n\nimport NeetoUIMenuBar from \"neetomolecules/MenuBar\";\n\nconst Menubar = ({ menuBarItems, title }) => (\n <NeetoUIMenuBar showMenu {...{ title }}>\n {menuBarItems}\n </NeetoUIMenuBar>\n);\n\nexport default Menubar;\n","import { useMemo, useLayoutEffect, useEffect, useRef, useCallback } from 'react';\n\nfunction useCombinedRefs() {\n for (var _len = arguments.length, refs = new Array(_len), _key = 0; _key < _len; _key++) {\n refs[_key] = arguments[_key];\n }\n\n return useMemo(() => node => {\n refs.forEach(ref => ref(node));\n }, // eslint-disable-next-line react-hooks/exhaustive-deps\n refs);\n}\n\n// https://github.com/facebook/react/blob/master/packages/shared/ExecutionEnvironment.js\nconst canUseDOM = typeof window !== 'undefined' && typeof window.document !== 'undefined' && typeof window.document.createElement !== 'undefined';\n\nfunction isWindow(element) {\n const elementString = Object.prototype.toString.call(element);\n return elementString === '[object Window]' || // In Electron context the Window object serializes to [object global]\n elementString === '[object global]';\n}\n\nfunction isNode(node) {\n return 'nodeType' in node;\n}\n\nfunction getWindow(target) {\n var _target$ownerDocument, _target$ownerDocument2;\n\n if (!target) {\n return window;\n }\n\n if (isWindow(target)) {\n return target;\n }\n\n if (!isNode(target)) {\n return window;\n }\n\n return (_target$ownerDocument = (_target$ownerDocument2 = target.ownerDocument) == null ? void 0 : _target$ownerDocument2.defaultView) != null ? _target$ownerDocument : window;\n}\n\nfunction isDocument(node) {\n const {\n Document\n } = getWindow(node);\n return node instanceof Document;\n}\n\nfunction isHTMLElement(node) {\n if (isWindow(node)) {\n return false;\n }\n\n return node instanceof getWindow(node).HTMLElement;\n}\n\nfunction isSVGElement(node) {\n return node instanceof getWindow(node).SVGElement;\n}\n\nfunction getOwnerDocument(target) {\n if (!target) {\n return document;\n }\n\n if (isWindow(target)) {\n return target.document;\n }\n\n if (!isNode(target)) {\n return document;\n }\n\n if (isDocument(target)) {\n return target;\n }\n\n if (isHTMLElement(target)) {\n return target.ownerDocument;\n }\n\n return document;\n}\n\n/**\r\n * A hook that resolves to useEffect on the server and useLayoutEffect on the client\r\n * @param callback {function} Callback function that is invoked when the dependencies of the hook change\r\n */\n\nconst useIsomorphicLayoutEffect = canUseDOM ? useLayoutEffect : useEffect;\n\nfunction useEvent(handler) {\n const handlerRef = useRef(handler);\n useIsomorphicLayoutEffect(() => {\n handlerRef.current = handler;\n });\n return useCallback(function () {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return handlerRef.current == null ? void 0 : handlerRef.current(...args);\n }, []);\n}\n\nfunction useInterval() {\n const intervalRef = useRef(null);\n const set = useCallback((listener, duration) => {\n intervalRef.current = setInterval(listener, duration);\n }, []);\n const clear = useCallback(() => {\n if (intervalRef.current !== null) {\n clearInterval(intervalRef.current);\n intervalRef.current = null;\n }\n }, []);\n return [set, clear];\n}\n\nfunction useLatestValue(value, dependencies) {\n if (dependencies === void 0) {\n dependencies = [value];\n }\n\n const valueRef = useRef(value);\n useIsomorphicLayoutEffect(() => {\n if (valueRef.current !== value) {\n valueRef.current = value;\n }\n }, dependencies);\n return valueRef;\n}\n\nfunction useLazyMemo(callback, dependencies) {\n const valueRef = useRef();\n return useMemo(() => {\n const newValue = callback(valueRef.current);\n valueRef.current = newValue;\n return newValue;\n }, // eslint-disable-next-line react-hooks/exhaustive-deps\n [...dependencies]);\n}\n\nfunction useNodeRef(onChange) {\n const onChangeHandler = useEvent(onChange);\n const node = useRef(null);\n const setNodeRef = useCallback(element => {\n if (element !== node.current) {\n onChangeHandler == null ? void 0 : onChangeHandler(element, node.current);\n }\n\n node.current = element;\n }, //eslint-disable-next-line\n []);\n return [node, setNodeRef];\n}\n\nfunction usePrevious(value) {\n const ref = useRef();\n useEffect(() => {\n ref.current = value;\n }, [value]);\n return ref.current;\n}\n\nlet ids = {};\nfunction useUniqueId(prefix, value) {\n return useMemo(() => {\n if (value) {\n return value;\n }\n\n const id = ids[prefix] == null ? 0 : ids[prefix] + 1;\n ids[prefix] = id;\n return prefix + \"-\" + id;\n }, [prefix, value]);\n}\n\nfunction createAdjustmentFn(modifier) {\n return function (object) {\n for (var _len = arguments.length, adjustments = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n adjustments[_key - 1] = arguments[_key];\n }\n\n return adjustments.reduce((accumulator, adjustment) => {\n const entries = Object.entries(adjustment);\n\n for (const [key, valueAdjustment] of entries) {\n const value = accumulator[key];\n\n if (value != null) {\n accumulator[key] = value + modifier * valueAdjustment;\n }\n }\n\n return accumulator;\n }, { ...object\n });\n };\n}\n\nconst add = /*#__PURE__*/createAdjustmentFn(1);\nconst subtract = /*#__PURE__*/createAdjustmentFn(-1);\n\nfunction hasViewportRelativeCoordinates(event) {\n return 'clientX' in event && 'clientY' in event;\n}\n\nfunction isKeyboardEvent(event) {\n if (!event) {\n return false;\n }\n\n const {\n KeyboardEvent\n } = getWindow(event.target);\n return KeyboardEvent && event instanceof KeyboardEvent;\n}\n\nfunction isTouchEvent(event) {\n if (!event) {\n return false;\n }\n\n const {\n TouchEvent\n } = getWindow(event.target);\n return TouchEvent && event instanceof TouchEvent;\n}\n\n/**\r\n * Returns the normalized x and y coordinates for mouse and touch events.\r\n */\n\nfunction getEventCoordinates(event) {\n if (isTouchEvent(event)) {\n if (event.touches && event.touches.length) {\n const {\n clientX: x,\n clientY: y\n } = event.touches[0];\n return {\n x,\n y\n };\n } else if (event.changedTouches && event.changedTouches.length) {\n const {\n clientX: x,\n clientY: y\n } = event.changedTouches[0];\n return {\n x,\n y\n };\n }\n }\n\n if (hasViewportRelativeCoordinates(event)) {\n return {\n x: event.clientX,\n y: event.clientY\n };\n }\n\n return null;\n}\n\nconst CSS = /*#__PURE__*/Object.freeze({\n Translate: {\n toString(transform) {\n if (!transform) {\n return;\n }\n\n const {\n x,\n y\n } = transform;\n return \"translate3d(\" + (x ? Math.round(x) : 0) + \"px, \" + (y ? Math.round(y) : 0) + \"px, 0)\";\n }\n\n },\n Scale: {\n toString(transform) {\n if (!transform) {\n return;\n }\n\n const {\n scaleX,\n scaleY\n } = transform;\n return \"scaleX(\" + scaleX + \") scaleY(\" + scaleY + \")\";\n }\n\n },\n Transform: {\n toString(transform) {\n if (!transform) {\n return;\n }\n\n return [CSS.Translate.toString(transform), CSS.Scale.toString(transform)].join(' ');\n }\n\n },\n Transition: {\n toString(_ref) {\n let {\n property,\n duration,\n easing\n } = _ref;\n return property + \" \" + duration + \"ms \" + easing;\n }\n\n }\n});\n\nconst SELECTOR = 'a,frame,iframe,input:not([type=hidden]):not(:disabled),select:not(:disabled),textarea:not(:disabled),button:not(:disabled),*[tabindex]';\nfunction findFirstFocusableNode(element) {\n if (element.matches(SELECTOR)) {\n return element;\n }\n\n return element.querySelector(SELECTOR);\n}\n\nexport { CSS, add, canUseDOM, findFirstFocusableNode, getEventCoordinates, getOwnerDocument, getWindow, hasViewportRelativeCoordinates, isDocument, isHTMLElement, isKeyboardEvent, isNode, isSVGElement, isTouchEvent, isWindow, subtract, useCombinedRefs, useEvent, useInterval, useIsomorphicLayoutEffect, useLatestValue, useLazyMemo, useNodeRef, usePrevious, useUniqueId };\n//# sourceMappingURL=utilities.esm.js.map\n","import React, { useState, useCallback } from 'react';\n\nconst hiddenStyles = {\n display: 'none'\n};\nfunction HiddenText(_ref) {\n let {\n id,\n value\n } = _ref;\n return React.createElement(\"div\", {\n id: id,\n style: hiddenStyles\n }, value);\n}\n\nconst visuallyHidden = {\n position: 'fixed',\n width: 1,\n height: 1,\n margin: -1,\n border: 0,\n padding: 0,\n overflow: 'hidden',\n clip: 'rect(0 0 0 0)',\n clipPath: 'inset(100%)',\n whiteSpace: 'nowrap'\n};\nfunction LiveRegion(_ref) {\n let {\n id,\n announcement\n } = _ref;\n return React.createElement(\"div\", {\n id: id,\n style: visuallyHidden,\n role: \"status\",\n \"aria-live\": \"assertive\",\n \"aria-atomic\": true\n }, announcement);\n}\n\nfunction useAnnouncement() {\n const [announcement, setAnnouncement] = useState('');\n const announce = useCallback(value => {\n if (value != null) {\n setAnnouncement(value);\n }\n }, []);\n return {\n announce,\n announcement\n };\n}\n\nexport { HiddenText, LiveRegion, useAnnouncement };\n//# sourceMappingURL=accessibility.esm.js.map\n","import React, { createContext, useContext, useEffect, useState, useCallback, useMemo, useRef, useReducer, memo, cloneElement, forwardRef } from 'react';\nimport { createPortal, unstable_batchedUpdates } from 'react-dom';\nimport { useUniqueId, getEventCoordinates, getWindow, isDocument, isHTMLElement, isSVGElement, canUseDOM, isWindow, isNode, getOwnerDocument, add, isKeyboardEvent, subtract, useLazyMemo, useInterval, usePrevious, useLatestValue, useEvent, useIsomorphicLayoutEffect, useNodeRef, findFirstFocusableNode, CSS } from '@dnd-kit/utilities';\nimport { useAnnouncement, HiddenText, LiveRegion } from '@dnd-kit/accessibility';\n\nconst DndMonitorContext = /*#__PURE__*/createContext(null);\n\nfunction useDndMonitor(listener) {\n const registerListener = useContext(DndMonitorContext);\n useEffect(() => {\n if (!registerListener) {\n throw new Error('useDndMonitor must be used within a children of <DndContext>');\n }\n\n const unsubscribe = registerListener(listener);\n return unsubscribe;\n }, [listener, registerListener]);\n}\n\nfunction useDndMonitorProvider() {\n const [listeners] = useState(() => new Set());\n const registerListener = useCallback(listener => {\n listeners.add(listener);\n return () => listeners.delete(listener);\n }, [listeners]);\n const dispatch = useCallback(_ref => {\n let {\n type,\n event\n } = _ref;\n listeners.forEach(listener => {\n var _listener$type;\n\n return (_listener$type = listener[type]) == null ? void 0 : _listener$type.call(listener, event);\n });\n }, [listeners]);\n return [dispatch, registerListener];\n}\n\nconst defaultScreenReaderInstructions = {\n draggable: \"\\n To pick up a draggable item, press the space bar.\\n While dragging, use the arrow keys to move the item.\\n Press space again to drop the item in its new position, or press escape to cancel.\\n \"\n};\nconst defaultAnnouncements = {\n onDragStart(_ref) {\n let {\n active\n } = _ref;\n return \"Picked up draggable item \" + active.id + \".\";\n },\n\n onDragOver(_ref2) {\n let {\n active,\n over\n } = _ref2;\n\n if (over) {\n return \"Draggable item \" + active.id + \" was moved over droppable area \" + over.id + \".\";\n }\n\n return \"Draggable item \" + active.id + \" is no longer over a droppable area.\";\n },\n\n onDragEnd(_ref3) {\n let {\n active,\n over\n } = _ref3;\n\n if (over) {\n return \"Draggable item \" + active.id + \" was dropped over droppable area \" + over.id;\n }\n\n return \"Draggable item \" + active.id + \" was dropped.\";\n },\n\n onDragCancel(_ref4) {\n let {\n active\n } = _ref4;\n return \"Dragging was cancelled. Draggable item \" + active.id + \" was dropped.\";\n }\n\n};\n\nfunction Accessibility(_ref) {\n let {\n announcements = defaultAnnouncements,\n container,\n hiddenTextDescribedById,\n screenReaderInstructions = defaultScreenReaderInstructions\n } = _ref;\n const {\n announce,\n announcement\n } = useAnnouncement();\n const liveRegionId = useUniqueId(\"DndLiveRegion\");\n const [mounted, setMounted] = useState(false);\n useEffect(() => {\n setMounted(true);\n }, []);\n useDndMonitor(useMemo(() => ({\n onDragStart(_ref2) {\n let {\n active\n } = _ref2;\n announce(announcements.onDragStart({\n active\n }));\n },\n\n onDragMove(_ref3) {\n let {\n active,\n over\n } = _ref3;\n\n if (announcements.onDragMove) {\n announce(announcements.onDragMove({\n active,\n over\n }));\n }\n },\n\n onDragOver(_ref4) {\n let {\n active,\n over\n } = _ref4;\n announce(announcements.onDragOver({\n active,\n over\n }));\n },\n\n onDragEnd(_ref5) {\n let {\n active,\n over\n } = _ref5;\n announce(announcements.onDragEnd({\n active,\n over\n }));\n },\n\n onDragCancel(_ref6) {\n let {\n active,\n over\n } = _ref6;\n announce(announcements.onDragCancel({\n active,\n over\n }));\n }\n\n }), [announce, announcements]));\n\n if (!mounted) {\n return null;\n }\n\n const markup = React.createElement(React.Fragment, null, React.createElement(HiddenText, {\n id: hiddenTextDescribedById,\n value: screenReaderInstructions.draggable\n }), React.createElement(LiveRegion, {\n id: liveRegionId,\n announcement: announcement\n }));\n return container ? createPortal(markup, container) : markup;\n}\n\nvar Action;\n\n(function (Action) {\n Action[\"DragStart\"] = \"dragStart\";\n Action[\"DragMove\"] = \"dragMove\";\n Action[\"DragEnd\"] = \"dragEnd\";\n Action[\"DragCancel\"] = \"dragCancel\";\n Action[\"DragOver\"] = \"dragOver\";\n Action[\"RegisterDroppable\"] = \"registerDroppable\";\n Action[\"SetDroppableDisabled\"] = \"setDroppableDisabled\";\n Action[\"UnregisterDroppable\"] = \"unregisterDroppable\";\n})(Action || (Action = {}));\n\nfunction noop() {}\n\nfunction useSensor(sensor, options) {\n return useMemo(() => ({\n sensor,\n options: options != null ? options : {}\n }), // eslint-disable-next-line react-hooks/exhaustive-deps\n [sensor, options]);\n}\n\nfunction useSensors() {\n for (var _len = arguments.length, sensors = new Array(_len), _key = 0; _key < _len; _key++) {\n sensors[_key] = arguments[_key];\n }\n\n return useMemo(() => [...sensors].filter(sensor => sensor != null), // eslint-disable-next-line react-hooks/exhaustive-deps\n [...sensors]);\n}\n\nconst defaultCoordinates = /*#__PURE__*/Object.freeze({\n x: 0,\n y: 0\n});\n\n/**\r\n * Returns the distance between two points\r\n */\nfunction distanceBetween(p1, p2) {\n return Math.sqrt(Math.pow(p1.x - p2.x, 2) + Math.pow(p1.y - p2.y, 2));\n}\n\nfunction getRelativeTransformOrigin(event, rect) {\n const eventCoordinates = getEventCoordinates(event);\n\n if (!eventCoordinates) {\n return '0 0';\n }\n\n const transformOrigin = {\n x: (eventCoordinates.x - rect.left) / rect.width * 100,\n y: (eventCoordinates.y - rect.top) / rect.height * 100\n };\n return transformOrigin.x + \"% \" + transformOrigin.y + \"%\";\n}\n\n/**\r\n * Sort collisions from smallest to greatest value\r\n */\nfunction sortCollisionsAsc(_ref, _ref2) {\n let {\n data: {\n value: a\n }\n } = _ref;\n let {\n data: {\n value: b\n }\n } = _ref2;\n return a - b;\n}\n/**\r\n * Sort collisions from greatest to smallest value\r\n */\n\nfunction sortCollisionsDesc(_ref3, _ref4) {\n let {\n data: {\n value: a\n }\n } = _ref3;\n let {\n data: {\n value: b\n }\n } = _ref4;\n return b - a;\n}\n/**\r\n * Returns the coordinates of the corners of a given rectangle:\r\n * [TopLeft {x, y}, TopRight {x, y}, BottomLeft {x, y}, BottomRight {x, y}]\r\n */\n\nfunction cornersOfRectangle(_ref5) {\n let {\n left,\n top,\n height,\n width\n } = _ref5;\n return [{\n x: left,\n y: top\n }, {\n x: left + width,\n y: top\n }, {\n x: left,\n y: top + height\n }, {\n x: left + width,\n y: top + height\n }];\n}\nfunction getFirstCollision(collisions, property) {\n if (!collisions || collisions.length === 0) {\n return null;\n }\n\n const [firstCollision] = collisions;\n return property ? firstCollision[property] : firstCollision;\n}\n\n/**\r\n * Returns the coordinates of the center of a given ClientRect\r\n */\n\nfunction centerOfRectangle(rect, left, top) {\n if (left === void 0) {\n left = rect.left;\n }\n\n if (top === void 0) {\n top = rect.top;\n }\n\n return {\n x: left + rect.width * 0.5,\n y: top + rect.height * 0.5\n };\n}\n/**\r\n * Returns the closest rectangles from an array of rectangles to the center of a given\r\n * rectangle.\r\n */\n\n\nconst closestCenter = _ref => {\n let {\n collisionRect,\n droppableRects,\n droppableContainers\n } = _ref;\n const centerRect = centerOfRectangle(collisionRect, collisionRect.left, collisionRect.top);\n const collisions = [];\n\n for (const droppableContainer of droppableContainers) {\n const {\n id\n } = droppableContainer;\n const rect = droppableRects.get(id);\n\n if (rect) {\n const distBetween = distanceBetween(centerOfRectangle(rect), centerRect);\n collisions.push({\n id,\n data: {\n droppableContainer,\n value: distBetween\n }\n });\n }\n }\n\n return collisions.sort(sortCollisionsAsc);\n};\n\n/**\r\n * Returns the closest rectangles from an array of rectangles to the corners of\r\n * another rectangle.\r\n */\n\nconst closestCorners = _ref => {\n let {\n collisionRect,\n droppableRects,\n droppableContainers\n } = _ref;\n const corners = cornersOfRectangle(collisionRect);\n const collisions = [];\n\n for (const droppableContainer of droppableContainers) {\n const {\n id\n } = droppableContainer;\n const rect = droppableRects.get(id);\n\n if (rect) {\n const rectCorners = cornersOfRectangle(rect);\n const distances = corners.reduce((accumulator, corner, index) => {\n return accumulator + distanceBetween(rectCorners[index], corner);\n }, 0);\n const effectiveDistance = Number((distances / 4).toFixed(4));\n collisions.push({\n id,\n data: {\n droppableContainer,\n value: effectiveDistance\n }\n });\n }\n }\n\n return collisions.sort(sortCollisionsAsc);\n};\n\n/**\r\n * Returns the intersecting rectangle area between two rectangles\r\n */\n\nfunction getIntersectionRatio(entry, target) {\n const top = Math.max(target.top, entry.top);\n const left = Math.max(target.left, entry.left);\n const right = Math.min(target.left + target.width, entry.left + entry.width);\n const bottom = Math.min(target.top + target.height, entry.top + entry.height);\n const width = right - left;\n const height = bottom - top;\n\n if (left < right && top < bottom) {\n const targetArea = target.width * target.height;\n const entryArea = entry.width * entry.height;\n const intersectionArea = width * height;\n const intersectionRatio = intersectionArea / (targetArea + entryArea - intersectionArea);\n return Number(intersectionRatio.toFixed(4));\n } // Rectangles do not overlap, or overlap has an area of zero (edge/corner overlap)\n\n\n return 0;\n}\n/**\r\n * Returns the rectangles that has the greatest intersection area with a given\r\n * rectangle in an array of rectangles.\r\n */\n\nconst rectIntersection = _ref => {\n let {\n collisionRect,\n droppableRects,\n droppableContainers\n } = _ref;\n const collisions = [];\n\n for (const droppableContainer of droppableContainers) {\n const {\n id\n } = droppableContainer;\n const rect = droppableRects.get(id);\n\n if (rect) {\n const intersectionRatio = getIntersectionRatio(rect, collisionRect);\n\n if (intersectionRatio > 0) {\n collisions.push({\n id,\n data: {\n droppableContainer,\n value: intersectionRatio\n }\n });\n }\n }\n }\n\n return collisions.sort(sortCollisionsDesc);\n};\n\n/**\r\n * Check if a given point is contained within a bounding rectangle\r\n */\n\nfunction isPointWithinRect(point, rect) {\n const {\n top,\n left,\n bottom,\n right\n } = rect;\n return top <= point.y && point.y <= bottom && left <= point.x && point.x <= right;\n}\n/**\r\n * Returns the rectangles that the pointer is hovering over\r\n */\n\n\nconst pointerWithin = _ref => {\n let {\n droppableContainers,\n droppableRects,\n pointerCoordinates\n } = _ref;\n\n if (!pointerCoordinates) {\n return [];\n }\n\n const collisions = [];\n\n for (const droppableContainer of droppableContainers) {\n const {\n id\n } = droppableContainer;\n const rect = droppableRects.get(id);\n\n if (rect && isPointWithinRect(pointerCoordinates, rect)) {\n /* There may be more than a single rectangle intersecting\r\n * with the pointer coordinates. In order to sort the\r\n * colliding rectangles, we measure the distance between\r\n * the pointer and the corners of the intersecting rectangle\r\n */\n const corners = cornersOfRectangle(rect);\n const distances = corners.reduce((accumulator, corner) => {\n return accumulator + distanceBetween(pointerCoordinates, corner);\n }, 0);\n const effectiveDistance = Number((distances / 4).toFixed(4));\n collisions.push({\n id,\n data: {\n droppableContainer,\n value: effectiveDistance\n }\n });\n }\n }\n\n return collisions.sort(sortCollisionsAsc);\n};\n\nfunction adjustScale(transform, rect1, rect2) {\n return { ...transform,\n scaleX: rect1 && rect2 ? rect1.width / rect2.width : 1,\n scaleY: rect1 && rect2 ? rect1.height / rect2.height : 1\n };\n}\n\nfunction getRectDelta(rect1, rect2) {\n return rect1 && rect2 ? {\n x: rect1.left - rect2.left,\n y: rect1.top - rect2.top\n } : defaultCoordinates;\n}\n\nfunction createRectAdjustmentFn(modifier) {\n return function adjustClientRect(rect) {\n for (var _len = arguments.length, adjustments = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n adjustments[_key - 1] = arguments[_key];\n }\n\n return adjustments.reduce((acc, adjustment) => ({ ...acc,\n top: acc.top + modifier * adjustment.y,\n bottom: acc.bottom + modifier * adjustment.y,\n left: acc.left + modifier * adjustment.x,\n right: acc.right + modifier * adjustment.x\n }), { ...rect\n });\n };\n}\nconst getAdjustedRect = /*#__PURE__*/createRectAdjustmentFn(1);\n\nfunction parseTransform(transform) {\n if (transform.startsWith('matrix3d(')) {\n const transformArray = transform.slice(9, -1).split(/, /);\n return {\n x: +transformArray[12],\n y: +transformArray[13],\n scaleX: +transformArray[0],\n scaleY: +transformArray[5]\n };\n } else if (transform.startsWith('matrix(')) {\n const transformArray = transform.slice(7, -1).split(/, /);\n return {\n x: +transformArray[4],\n y: +transformArray[5],\n scaleX: +transformArray[0],\n scaleY: +transformArray[3]\n };\n }\n\n return null;\n}\n\nfunction inverseTransform(rect, transform, transformOrigin) {\n const parsedTransform = parseTransform(transform);\n\n if (!parsedTransform) {\n return rect;\n }\n\n const {\n scaleX,\n scaleY,\n x: translateX,\n y: translateY\n } = parsedTransform;\n const x = rect.left - translateX - (1 - scaleX) * parseFloat(transformOrigin);\n const y = rect.top - translateY - (1 - scaleY) * parseFloat(transformOrigin.slice(transformOrigin.indexOf(' ') + 1));\n const w = scaleX ? rect.width / scaleX : rect.width;\n const h = scaleY ? rect.height / scaleY : rect.height;\n return {\n width: w,\n height: h,\n top: y,\n right: x + w,\n bottom: y + h,\n left: x\n };\n}\n\nconst defaultOptions = {\n ignoreTransform: false\n};\n/**\r\n * Returns the bounding client rect of an element relative to the viewport.\r\n */\n\nfunction getClientRect(element, options) {\n if (options === void 0) {\n options = defaultOptions;\n }\n\n let rect = element.getBoundingClientRect();\n\n if (options.ignoreTransform) {\n const {\n transform,\n transformOrigin\n } = getWindow(element).getComputedStyle(element);\n\n if (transform) {\n rect = inverseTransform(rect, transform, transformOrigin);\n }\n }\n\n const {\n top,\n left,\n width,\n height,\n bottom,\n right\n } = rect;\n return {\n top,\n left,\n width,\n height,\n bottom,\n right\n };\n}\n/**\r\n * Returns the bounding client rect of an element relative to the viewport.\r\n *\r\n * @remarks\r\n * The ClientRect returned by this method does not take into account transforms\r\n * applied to the element it measures.\r\n *\r\n */\n\nfunction getTransformAgnosticClientRect(element) {\n return getClientRect(element, {\n ignoreTransform: true\n });\n}\n\nfunction getWindowClientRect(element) {\n const width = element.innerWidth;\n const height = element.innerHeight;\n return {\n top: 0,\n left: 0,\n right: width,\n bottom: height,\n width,\n height\n };\n}\n\nfunction isFixed(node, computedStyle) {\n if (computedStyle === void 0) {\n computedStyle = getWindow(node).getComputedStyle(node);\n }\n\n return computedStyle.position === 'fixed';\n}\n\nfunction isScrollable(element, computedStyle) {\n if (computedStyle === void 0) {\n computedStyle = getWindow(element).getComputedStyle(element);\n }\n\n const overflowRegex = /(auto|scroll|overlay)/;\n const properties = ['overflow', 'overflowX', 'overflowY'];\n return properties.some(property => {\n const value = computedStyle[property];\n return typeof value === 'string' ? overflowRegex.test(value) : false;\n });\n}\n\nfunction getScrollableAncestors(element, limit) {\n const scrollParents = [];\n\n function findScrollableAncestors(node) {\n if (limit != null && scrollParents.length >= limit) {\n return scrollParents;\n }\n\n if (!node) {\n return scrollParents;\n }\n\n if (isDocument(node) && node.scrollingElement != null && !scrollParents.includes(node.scrollingElement)) {\n scrollParents.push(node.scrollingElement);\n return scrollParents;\n }\n\n if (!isHTMLElement(node) || isSVGElement(node)) {\n return scrollParents;\n }\n\n if (scrollParents.includes(node)) {\n return scrollParents;\n }\n\n const computedStyle = getWindow(element).getComputedStyle(node);\n\n if (node !== element) {\n if (isScrollable(node, computedStyle)) {\n scrollParents.push(node);\n }\n }\n\n if (isFixed(node, computedStyle)) {\n return scrollParents;\n }\n\n return findScrollableAncestors(node.parentNode);\n }\n\n if (!element) {\n return scrollParents;\n }\n\n return findScrollableAncestors(element);\n}\nfunction getFirstScrollableAncestor(node) {\n const [firstScrollableAncestor] = getScrollableAncestors(node, 1);\n return firstScrollableAncestor != null ? firstScrollableAncestor : null;\n}\n\nfunction getScrollableElement(element) {\n if (!canUseDOM || !element) {\n return null;\n }\n\n if (isWindow(element)) {\n return element;\n }\n\n if (!isNode(element)) {\n return null;\n }\n\n if (isDocument(element) || element === getOwnerDocument(element).scrollingElement) {\n return window;\n }\n\n if (isHTMLElement(element)) {\n return element;\n }\n\n return null;\n}\n\nfunction getScrollXCoordinate(element) {\n if (isWindow(element)) {\n return element.scrollX;\n }\n\n return element.scrollLeft;\n}\nfunction getScrollYCoordinate(element) {\n if (isWindow(element)) {\n return element.scrollY;\n }\n\n return element.scrollTop;\n}\nfunction getScrollCoordinates(element) {\n return {\n x: getScrollXCoordinate(element),\n y: getScrollYCoordinate(element)\n };\n}\n\nvar Direction;\n\n(function (Direction) {\n Direction[Direction[\"Forward\"] = 1] = \"Forward\";\n Direction[Direction[\"Backward\"] = -1] = \"Backward\";\n})(Direction || (Direction = {}));\n\nfunction isDocumentScrollingElement(element) {\n if (!canUseDOM || !element) {\n return false;\n }\n\n return element === document.scrollingElement;\n}\n\nfunction getScrollPosition(scrollingContainer) {\n const minScroll = {\n x: 0,\n y: 0\n };\n const dimensions = isDocumentScrollingElement(scrollingContainer) ? {\n height: window.innerHeight,\n width: window.innerWidth\n } : {\n height: scrollingContainer.clientHeight,\n width: scrollingContainer.clientWidth\n };\n const maxScroll = {\n x: scrollingContainer.scrollWidth - dimensions.width,\n y: scrollingContainer.scrollHeight - dimensions.height\n };\n const isTop = scrollingContainer.scrollTop <= minScroll.y;\n const isLeft = scrollingContainer.scrollLeft <= minScroll.x;\n const isBottom = scrollingContainer.scrollTop >= maxScroll.y;\n const isRight = scrollingContainer.scrollLeft >= maxScroll.x;\n return {\n isTop,\n isLeft,\n isBottom,\n isRight,\n maxScroll,\n minScroll\n };\n}\n\nconst defaultThreshold = {\n x: 0.2,\n y: 0.2\n};\nfunction getScrollDirectionAndSpeed(scrollContainer, scrollContainerRect, _ref, acceleration, thresholdPercentage) {\n let {\n top,\n left,\n right,\n bottom\n } = _ref;\n\n if (acceleration === void 0) {\n acceleration = 10;\n }\n\n if (thresholdPercentage === void 0) {\n thresholdPercentage = defaultThreshold;\n }\n\n const {\n isTop,\n isBottom,\n isLeft,\n isRight\n } = getScrollPosition(scrollContainer);\n const direction = {\n x: 0,\n y: 0\n };\n const speed = {\n x: 0,\n y: 0\n };\n const threshold = {\n height: scrollContainerRect.height * thresholdPercentage.y,\n width: scrollContainerRect.width * thresholdPercentage.x\n };\n\n if (!isTop && top <= scrollContainerRect.top + threshold.height) {\n // Scroll Up\n direction.y = Direction.Backward;\n speed.y = acceleration * Math.abs((scrollContainerRect.top + threshold.height - top) / threshold.height);\n } else if (!isBottom && bottom >= scrollContainerRect.bottom - threshold.height) {\n // Scroll Down\n direction.y = Direction.Forward;\n speed.y = acceleration * Math.abs((scrollContainerRect.bottom - threshold.height - bottom) / threshold.height);\n }\n\n if (!isRight && right >= scrollContainerRect.right - threshold.width) {\n // Scroll Right\n direction.x = Direction.Forward;\n speed.x = acceleration * Math.abs((scrollContainerRect.right - threshold.width - right) / threshold.width);\n } else if (!isLeft && left <= scrollContainerRect.left + threshold.width) {\n // Scroll Left\n direction.x = Direction.Backward;\n speed.x = acceleration * Math.abs((scrollContainerRect.left + threshold.width - left) / threshold.width);\n }\n\n return {\n direction,\n speed\n };\n}\n\nfunction getScrollElementRect(element) {\n if (element === document.scrollingElement) {\n const {\n innerWidth,\n innerHeight\n } = window;\n return {\n top: 0,\n left: 0,\n right: innerWidth,\n bottom: innerHeight,\n width: innerWidth,\n height: innerHeight\n };\n }\n\n const {\n top,\n left,\n right,\n bottom\n } = element.getBoundingClientRect();\n return {\n top,\n left,\n right,\n bottom,\n width: element.clientWidth,\n height: element.clientHeight\n };\n}\n\nfunction getScrollOffsets(scrollableAncestors) {\n return scrollableAncestors.reduce((acc, node) => {\n return add(acc, getScrollCoordinates(node));\n }, defaultCoordinates);\n}\nfunction getScrollXOffset(scrollableAncestors) {\n return scrollableAncestors.reduce((acc, node) => {\n return acc + getScrollXCoordinate(node);\n }, 0);\n}\nfunction getScrollYOffset(scrollableAncestors) {\n return scrollableAncestors.reduce((acc, node) => {\n return acc + getScrollYCoordinate(node);\n }, 0);\n}\n\nfunction scrollIntoViewIfNeeded(element, measure) {\n if (measure === void 0) {\n measure = getClientRect;\n }\n\n if (!element) {\n return;\n }\n\n const {\n top,\n left,\n bottom,\n right\n } = measure(element);\n const firstScrollableAncestor = getFirstScrollableAncestor(element);\n\n if (!firstScrollableAncestor) {\n return;\n }\n\n if (bottom <= 0 || right <= 0 || top >= window.innerHeight || left >= window.innerWidth) {\n element.scrollIntoView({\n block: 'center',\n inline: 'center'\n });\n }\n}\n\nconst properties = [['x', ['left', 'right'], getScrollXOffset], ['y', ['top', 'bottom'], getScrollYOffset]];\nclass Rect {\n constructor(rect, element) {\n this.rect = void 0;\n this.width = void 0;\n this.height = void 0;\n this.top = void 0;\n this.bottom = void 0;\n this.right = void 0;\n this.left = void 0;\n const scrollableAncestors = getScrollableAncestors(element);\n const scrollOffsets = getScrollOffsets(scrollableAncestors);\n this.rect = { ...rect\n };\n this.width = rect.width;\n this.height = rect.height;\n\n for (const [axis, keys, getScrollOffset] of properties) {\n for (const key of keys) {\n Object.defineProperty(this, key, {\n get: () => {\n const currentOffsets = getScrollOffset(scrollableAncestors);\n const scrollOffsetsDeltla = scrollOffsets[axis] - currentOffsets;\n return this.rect[key] + scrollOffsetsDeltla;\n },\n enumerable: true\n });\n }\n }\n\n Object.defineProperty(this, 'rect', {\n enumerable: false\n });\n }\n\n}\n\nclass Listeners {\n constructor(target) {\n this.target = void 0;\n this.listeners = [];\n\n this.removeAll = () => {\n this.listeners.forEach(listener => {\n var _this$target;\n\n return (_this$target = this.target) == null ? void 0 : _this$target.removeEventListener(...listener);\n });\n };\n\n this.target = target;\n }\n\n add(eventName, handler, options) {\n var _this$target2;\n\n (_this$target2 = this.target) == null ? void 0 : _this$target2.addEventListener(eventName, handler, options);\n this.listeners.push([eventName, handler, options]);\n }\n\n}\n\nfunction getEventListenerTarget(target) {\n // If the `event.target` element is removed from the document events will still be targeted\n // at it, and hence won't always bubble up to the window or document anymore.\n // If there is any risk of an element being removed while it is being dragged,\n // the best practice is to attach the event listeners directly to the target.\n // https://developer.mozilla.org/en-US/docs/Web/API/EventTarget\n const {\n EventTarget\n } = getWindow(target);\n return target instanceof EventTarget ? target : getOwnerDocument(target);\n}\n\nfunction hasExceededDistance(delta, measurement) {\n const dx = Math.abs(delta.x);\n const dy = Math.abs(delta.y);\n\n if (typeof measurement === 'number') {\n return Math.sqrt(dx ** 2 + dy ** 2) > measurement;\n }\n\n if ('x' in measurement && 'y' in measurement) {\n return dx > measurement.x && dy > measurement.y;\n }\n\n if ('x' in measurement) {\n return dx > measurement.x;\n }\n\n if ('y' in measurement) {\n return dy > measurement.y;\n }\n\n return false;\n}\n\nvar EventName;\n\n(function (EventName) {\n EventName[\"Click\"] = \"click\";\n EventName[\"DragStart\"] = \"dragstart\";\n EventName[\"Keydown\"] = \"keydown\";\n EventName[\"ContextMenu\"] = \"contextmenu\";\n EventName[\"Resize\"] = \"resize\";\n EventName[\"SelectionChange\"] = \"selectionchange\";\n EventName[\"VisibilityChange\"] = \"visibilitychange\";\n})(EventName || (EventName = {}));\n\nfunction preventDefault(event) {\n event.preventDefault();\n}\nfunction stopPropagation(event) {\n event.stopPropagation();\n}\n\nvar KeyboardCode;\n\n(function (KeyboardCode) {\n KeyboardCode[\"Space\"] = \"Space\";\n KeyboardCode[\"Down\"] = \"ArrowDown\";\n KeyboardCode[\"Right\"] = \"ArrowRight\";\n KeyboardCode[\"Left\"] = \"ArrowLeft\";\n KeyboardCode[\"Up\"] = \"ArrowUp\";\n KeyboardCode[\"Esc\"] = \"Escape\";\n KeyboardCode[\"Enter\"] = \"Enter\";\n})(KeyboardCode || (KeyboardCode = {}));\n\nconst defaultKeyboardCodes = {\n start: [KeyboardCode.Space, KeyboardCode.Enter],\n cancel: [KeyboardCode.Esc],\n end: [KeyboardCode.Space, KeyboardCode.Enter]\n};\nconst defaultKeyboardCoordinateGetter = (event, _ref) => {\n let {\n currentCoordinates\n } = _ref;\n\n switch (event.code) {\n case KeyboardCode.Right:\n return { ...currentCoordinates,\n x: currentCoordinates.x + 25\n };\n\n case KeyboardCode.Left:\n return { ...currentCoordinates,\n x: currentCoordinates.x - 25\n };\n\n case KeyboardCode.Down:\n return { ...currentCoordinates,\n y: currentCoordinates.y + 25\n };\n\n case KeyboardCode.Up:\n return { ...currentCoordinates,\n y: currentCoordinates.y - 25\n };\n }\n\n return undefined;\n};\n\nclass KeyboardSensor {\n constructor(props) {\n this.props = void 0;\n this.autoScrollEnabled = false;\n this.referenceCoordinates = void 0;\n this.listeners = void 0;\n this.windowListeners = void 0;\n this.props = props;\n const {\n event: {\n target\n }\n } = props;\n this.props = props;\n this.listeners = new Listeners(getOwnerDocument(target));\n this.windowListeners = new Listeners(getWindow(target));\n this.handleKeyDown = this.handleKeyDown.bind(this);\n this.handleCancel = this.handleCancel.bind(this);\n this.attach();\n }\n\n attach() {\n this.handleStart();\n this.windowListeners.add(EventName.Resize, this.handleCancel);\n this.windowListeners.add(EventName.VisibilityChange, this.handleCancel);\n setTimeout(() => this.listeners.add(EventName.Keydown, this.handleKeyDown));\n }\n\n handleStart() {\n const {\n activeNode,\n onStart\n } = this.props;\n const node = activeNode.node.current;\n\n if (node) {\n scrollIntoViewIfNeeded(node);\n }\n\n onStart(defaultCoordinates);\n }\n\n handleKeyDown(event) {\n if (isKeyboardEvent(event)) {\n const {\n active,\n context,\n options\n } = this.props;\n const {\n keyboardCodes = defaultKeyboardCodes,\n coordinateGetter = defaultKeyboardCoordinateGetter,\n scrollBehavior = 'smooth'\n } = options;\n const {\n code\n } = event;\n\n if (keyboardCodes.end.includes(code)) {\n this.handleEnd(event);\n return;\n }\n\n if (keyboardCodes.cancel.includes(code)) {\n this.handleCancel(event);\n return;\n }\n\n const {\n collisionRect\n } = context.current;\n const currentCoordinates = collisionRect ? {\n x: collisionRect.left,\n y: collisionRect.top\n } : defaultCoordinates;\n\n if (!this.referenceCoordinates) {\n this.referenceCoordinates = currentCoordinates;\n }\n\n const newCoordinates = coordinateGetter(event, {\n active,\n context: context.current,\n currentCoordinates\n });\n\n if (newCoordinates) {\n const coordinatesDelta = subtract(newCoordinates, currentCoordinates);\n const scrollDelta = {\n x: 0,\n y: 0\n };\n const {\n scrollableAncestors\n } = context.current;\n\n for (const scrollContainer of scrollableAncestors) {\n const direction = event.code;\n const {\n isTop,\n isRight,\n isLeft,\n isBottom,\n maxScroll,\n minScroll\n } = getScrollPosition(scrollContainer);\n const scrollElementRect = getScrollElementRect(scrollContainer);\n const clampedCoordinates = {\n x: Math.min(direction === KeyboardCode.Right ? scrollElementRect.right - scrollElementRect.width / 2 : scrollElementRect.right, Math.max(direction === KeyboardCode.Right ? scrollElementRect.left : scrollElementRect.left + scrollElementRect.width / 2, newCoordinates.x)),\n y: Math.min(direction === KeyboardCode.Down ? scrollElementRect.bottom - scrollElementRect.height / 2 : scrollElementRect.bottom, Math.max(direction === KeyboardCode.Down ? scrollElementRect.top : scrollElementRect.top + scrollElementRect.height / 2, newCoordinates.y))\n };\n const canScrollX = direction === KeyboardCode.Right && !isRight || direction === KeyboardCode.Left && !isLeft;\n const canScrollY = direction === KeyboardCode.Down && !isBottom || direction === KeyboardCode.Up && !isTop;\n\n if (canScrollX && clampedCoordinates.x !== newCoordinates.x) {\n const newScrollCoordinates = scrollContainer.scrollLeft + coordinatesDelta.x;\n const canScrollToNewCoordinates = direction === KeyboardCode.Right && newScrollCoordinates <= maxScroll.x || direction === KeyboardCode.Left && newScrollCoordinates >= minScroll.x;\n\n if (canScrollToNewCoordinates && !coordinatesDelta.y) {\n // We don't need to update coordinates, the scroll adjustment alone will trigger\n // logic to auto-detect the new container we are over\n scrollContainer.scrollTo({\n left: newScrollCoordinates,\n behavior: scrollBehavior\n });\n return;\n }\n\n if (canScrollToNewCoordinates) {\n scrollDelta.x = scrollContainer.scrollLeft - newScrollCoordinates;\n } else {\n scrollDelta.x = direction === KeyboardCode.Right ? scrollContainer.scrollLeft - maxScroll.x : scrollContainer.scrollLeft - minScroll.x;\n }\n\n if (scrollDelta.x) {\n scrollContainer.scrollBy({\n left: -scrollDelta.x,\n behavior: scrollBehavior\n });\n }\n\n break;\n } else if (canScrollY && clampedCoordinates.y !== newCoordinates.y) {\n const newScrollCoordinates = scrollContainer.scrollTop + coordinatesDelta.y;\n const canScrollToNewCoordinates = direction === KeyboardCode.Down && newScrollCoordinates <= maxScroll.y || direction === KeyboardCode.Up && newScrollCoordinates >= minScroll.y;\n\n if (canScrollToNewCoordinates && !coordinatesDelta.x) {\n // We don't need to update coordinates, the scroll adjustment alone will trigger\n // logic to auto-detect the new container we are over\n scrollContainer.scrollTo({\n top: newScrollCoordinates,\n behavior: scrollBehavior\n });\n return;\n }\n\n if (canScrollToNewCoordinates) {\n scrollDelta.y = scrollContainer.scrollTop - newScrollCoordinates;\n } else {\n scrollDelta.y = direction === KeyboardCode.Down ? scrollContainer.scrollTop - maxScroll.y : scrollContainer.scrollTop - minScroll.y;\n }\n\n if (scrollDelta.y) {\n scrollContainer.scrollBy({\n top: -scrollDelta.y,\n behavior: scrollBehavior\n });\n }\n\n break;\n }\n }\n\n this.handleMove(event, add(subtract(newCoordinates, this.referenceCoordinates), scrollDelta));\n }\n }\n }\n\n handleMove(event, coordinates) {\n const {\n onMove\n } = this.props;\n event.preventDefault();\n onMove(coordinates);\n }\n\n handleEnd(event) {\n const {\n onEnd\n } = this.props;\n event.preventDefault();\n this.detach();\n onEnd();\n }\n\n handleCancel(event) {\n const {\n onCancel\n } = this.props;\n event.preventDefault();\n this.detach();\n onCancel();\n }\n\n detach() {\n this.listeners.removeAll();\n this.windowListeners.removeAll();\n }\n\n}\nKeyboardSensor.activators = [{\n eventName: 'onKeyDown',\n handler: (event, _ref, _ref2) => {\n let {\n keyboardCodes = defaultKeyboardCodes,\n onActivation\n } = _ref;\n let {\n active\n } = _ref2;\n const {\n code\n } = event.nativeEvent;\n\n if (keyboardCodes.start.includes(code)) {\n const activator = active.activatorNode.current;\n\n if (activator && event.target !== activator) {\n return false;\n }\n\n event.preventDefault();\n onActivation == null ? void 0 : onActivation({\n event: event.nativeEvent\n });\n return true;\n }\n\n return false;\n }\n}];\n\nfunction isDistanceConstraint(constraint) {\n return Boolean(constraint && 'distance' in constraint);\n}\n\nfunction isDelayConstraint(constraint) {\n return Boolean(constraint && 'delay' in constraint);\n}\n\nclass AbstractPointerSensor {\n constructor(props, events, listenerTarget) {\n var _getEventCoordinates;\n\n if (listenerTarget === void 0) {\n listenerTarget = getEventListenerTarget(props.event.target);\n }\n\n this.props = void 0;\n this.events = void 0;\n this.autoScrollEnabled = true;\n this.document = void 0;\n this.activated = false;\n this.initialCoordinates = void 0;\n this.timeoutId = null;\n this.listeners = void 0;\n this.documentListeners = void 0;\n this.windowListeners = void 0;\n this.props = props;\n this.events = events;\n const {\n event\n } = props;\n const {\n target\n } = event;\n this.props = props;\n this.events = events;\n this.document = getOwnerDocument(target);\n this.documentListeners = new Listeners(this.document);\n this.listeners = new Listeners(listenerTarget);\n this.windowListeners = new Listeners(getWindow(target));\n this.initialCoordinates = (_getEventCoordinates = getEventCoordinates(event)) != null ? _getEventCoordinates : defaultCoordinates;\n this.handleStart = this.handleStart.bind(this);\n this.handleMove = this.handleMove.bind(this);\n this.handleEnd = this.handleEnd.bind(this);\n this.handleCancel = this.handleCancel.bind(this);\n this.handleKeydown = this.handleKeydown.bind(this);\n this.removeTextSelection = this.removeTextSelection.bind(this);\n this.attach();\n }\n\n attach() {\n const {\n events,\n props: {\n options: {\n activationConstraint\n }\n }\n } = this;\n this.listeners.add(events.move.name, this.handleMove, {\n passive: false\n });\n this.listeners.add(events.end.name, this.handleEnd);\n this.windowListeners.add(EventName.Resize, this.handleCancel);\n this.windowListeners.add(EventName.DragStart, preventDefault);\n this.windowListeners.add(EventName.VisibilityChange, this.handleCancel);\n this.windowListeners.add(EventName.ContextMenu, preventDefault);\n this.documentListeners.add(EventName.Keydown, this.handleKeydown);\n\n if (activationConstraint) {\n if (isDistanceConstraint(activationConstraint)) {\n return;\n }\n\n if (isDelayConstraint(activationConstraint)) {\n this.timeoutId = setTimeout(this.handleStart, activationConstraint.delay);\n return;\n }\n }\n\n this.handleStart();\n }\n\n detach() {\n this.listeners.removeAll();\n this.windowListeners.removeAll(); // Wait until the next event loop before removing document listeners\n // This is necessary because we listen for `click` and `selection` events on the document\n\n setTimeout(this.documentListeners.removeAll, 50);\n\n if (this.timeoutId !== null) {\n clearTimeout(this.timeoutId);\n this.timeoutId = null;\n }\n }\n\n handleStart() {\n const {\n initialCoordinates\n } = this;\n const {\n onStart\n } = this.props;\n\n if (initialCoordinates) {\n this.activated = true; // Stop propagation of click events once activation constraints are met\n\n this.documentListeners.add(EventName.Click, stopPropagation, {\n capture: true\n }); // Remove any text selection from the document\n\n this.removeTextSelection(); // Prevent further text selection while dragging\n\n this.documentListeners.add(EventName.SelectionChange, this.removeTextSelection);\n onStart(initialCoordinates);\n }\n }\n\n handleMove(event) {\n var _getEventCoordinates2;\n\n const {\n activated,\n initialCoordinates,\n props\n } = this;\n const {\n onMove,\n options: {\n activationConstraint\n }\n } = props;\n\n if (!initialCoordinates) {\n return;\n }\n\n const coordinates = (_getEventCoordinates2 = getEventCoordinates(event)) != null ? _getEventCoordinates2 : defaultCoordinates;\n const delta = subtract(initialCoordinates, coordinates);\n\n if (!activated && activationConstraint) {\n // Constraint validation\n if (isDelayConstraint(activationConstraint)) {\n if (hasExceededDistance(delta, activationConstraint.tolerance)) {\n return this.handleCancel();\n }\n\n return;\n }\n\n if (isDistanceConstraint(activationConstraint)) {\n if (activationConstraint.tolerance != null && hasExceededDistance(delta, activationConstraint.tolerance)) {\n return this.handleCancel();\n }\n\n if (hasExceededDistance(delta, activationConstraint.distance)) {\n return this.handleStart();\n }\n\n return;\n }\n }\n\n if (event.cancelable) {\n event.preventDefault();\n }\n\n onMove(coordinates);\n }\n\n handleEnd() {\n const {\n onEnd\n } = this.props;\n this.detach();\n onEnd();\n }\n\n handleCancel() {\n const {\n onCancel\n } = this.props;\n this.detach();\n onCancel();\n }\n\n handleKeydown(event) {\n if (event.code === KeyboardCode.Esc) {\n this.handleCancel();\n }\n }\n\n removeTextSelection() {\n var _this$document$getSel;\n\n (_this$document$getSel = this.document.getSelection()) == null ? void 0 : _this$document$getSel.removeAllRanges();\n }\n\n}\n\nconst events = {\n move: {\n name: 'pointermove'\n },\n end: {\n name: 'pointerup'\n }\n};\nclass PointerSensor extends AbstractPointerSensor {\n constructor(props) {\n const {\n event\n } = props; // Pointer events stop firing if the target is unmounted while dragging\n // Therefore we attach listeners to the owner document instead\n\n const listenerTarget = getOwnerDocument(event.target);\n super(props, events, listenerTarget);\n }\n\n}\nPointerSensor.activators = [{\n eventName: 'onPointerDown',\n handler: (_ref, _ref2) => {\n let {\n nativeEvent: event\n } = _ref;\n let {\n onActivation\n } = _ref2;\n\n if (!event.isPrimary || event.button !== 0) {\n return false;\n }\n\n onActivation == null ? void 0 : onActivation({\n event\n });\n return true;\n }\n}];\n\nconst events$1 = {\n move: {\n name: 'mousemove'\n },\n end: {\n name: 'mouseup'\n }\n};\nvar MouseButton;\n\n(function (MouseButton) {\n MouseButton[MouseButton[\"RightClick\"] = 2] = \"RightClick\";\n})(MouseButton || (MouseButton = {}));\n\nclass MouseSensor extends AbstractPointerSensor {\n constructor(props) {\n super(props, events$1, getOwnerDocument(props.event.target));\n }\n\n}\nMouseSensor.activators = [{\n eventName: 'onMouseDown',\n handler: (_ref, _ref2) => {\n let {\n nativeEvent: event\n } = _ref;\n let {\n onActivation\n } = _ref2;\n\n if (event.button === MouseButton.RightClick) {\n return false;\n }\n\n onActivation == null ? void 0 : onActivation({\n event\n });\n return true;\n }\n}];\n\nconst events$2 = {\n move: {\n name: 'touchmove'\n },\n end: {\n name: 'touchend'\n }\n};\nclass TouchSensor extends AbstractPointerSensor {\n constructor(props) {\n super(props, events$2);\n }\n\n static setup() {\n // Adding a non-capture and non-passive `touchmove` listener in order\n // to force `event.preventDefault()` calls to work in dynamically added\n // touchmove event handlers. This is required for iOS Safari.\n window.addEventListener(events$2.move.name, noop, {\n capture: false,\n passive: false\n });\n return function teardown() {\n window.removeEventListener(events$2.move.name, noop);\n }; // We create a new handler because the teardown function of another sensor\n // could remove our event listener if we use a referentially equal listener.\n\n function noop() {}\n }\n\n}\nTouchSensor.activators = [{\n eventName: 'onTouchStart',\n handler: (_ref, _ref2) => {\n let {\n nativeEvent: event\n } = _ref;\n let {\n onActivation\n } = _ref2;\n const {\n touches\n } = event;\n\n if (touches.length > 1) {\n return false;\n }\n\n onActivation == null ? void 0 : onActivation({\n event\n });\n return true;\n }\n}];\n\nvar AutoScrollActivator;\n\n(function (AutoScrollActivator) {\n AutoScrollActivator[AutoScrollActivator[\"Pointer\"] = 0] = \"Pointer\";\n AutoScrollActivator[AutoScrollActivator[\"DraggableRect\"] = 1] = \"DraggableRect\";\n})(AutoScrollActivator || (AutoScrollActivator = {}));\n\nvar TraversalOrder;\n\n(function (TraversalOrder) {\n TraversalOrder[TraversalOrder[\"TreeOrder\"] = 0] = \"TreeOrder\";\n TraversalOrder[TraversalOrder[\"ReversedTreeOrder\"] = 1] = \"ReversedTreeOrder\";\n})(TraversalOrder || (TraversalOrder = {}));\n\nfunction useAutoScroller(_ref) {\n let {\n acceleration,\n activator = AutoScrollActivator.Pointer,\n canScroll,\n draggingRect,\n enabled,\n interval = 5,\n order = TraversalOrder.TreeOrder,\n pointerCoordinates,\n scrollableAncestors,\n scrollableAncestorRects,\n delta,\n threshold\n } = _ref;\n const scrollIntent = useScrollIntent({\n delta,\n disabled: !enabled\n });\n const [setAutoScrollInterval, clearAutoScrollInterval] = useInterval();\n const scrollSpeed = useRef({\n x: 0,\n y: 0\n });\n const scrollDirection = useRef({\n x: 0,\n y: 0\n });\n const rect = useMemo(() => {\n switch (activator) {\n case AutoScrollActivator.Pointer:\n return pointerCoordinates ? {\n top: pointerCoordinates.y,\n bottom: pointerCoordinates.y,\n left: pointerCoordinates.x,\n right: pointerCoordinates.x\n } : null;\n\n case AutoScrollActivator.DraggableRect:\n return draggingRect;\n }\n }, [activator, draggingRect, pointerCoordinates]);\n const scrollContainerRef = useRef(null);\n const autoScroll = useCallback(() => {\n const scrollContainer = scrollContainerRef.current;\n\n if (!scrollContainer) {\n return;\n }\n\n const scrollLeft = scrollSpeed.current.x * scrollDirection.current.x;\n const scrollTop = scrollSpeed.current.y * scrollDirection.current.y;\n scrollContainer.scrollBy(scrollLeft, scrollTop);\n }, []);\n const sortedScrollableAncestors = useMemo(() => order === TraversalOrder.TreeOrder ? [...scrollableAncestors].reverse() : scrollableAncestors, [order, scrollableAncestors]);\n useEffect(() => {\n if (!enabled || !scrollableAncestors.length || !rect) {\n clearAutoScrollInterval();\n return;\n }\n\n for (const scrollContainer of sortedScrollableAncestors) {\n if ((canScroll == null ? void 0 : canScroll(scrollContainer)) === false) {\n continue;\n }\n\n const index = scrollableAncestors.indexOf(scrollContainer);\n const scrollContainerRect = scrollableAncestorRects[index];\n\n if (!scrollContainerRect) {\n continue;\n }\n\n const {\n direction,\n speed\n } = getScrollDirectionAndSpeed(scrollContainer, scrollContainerRect, rect, acceleration, threshold);\n\n for (const axis of ['x', 'y']) {\n if (!scrollIntent[axis][direction[axis]]) {\n speed[axis] = 0;\n direction[axis] = 0;\n }\n }\n\n if (speed.x > 0 || speed.y > 0) {\n clearAutoScrollInterval();\n scrollContainerRef.current = scrollContainer;\n setAutoScrollInterval(autoScroll, interval);\n scrollSpeed.current = speed;\n scrollDirection.current = direction;\n return;\n }\n }\n\n scrollSpeed.current = {\n x: 0,\n y: 0\n };\n scrollDirection.current = {\n x: 0,\n y: 0\n };\n clearAutoScrollInterval();\n }, // eslint-disable-next-line react-hooks/exhaustive-deps\n [acceleration, autoScroll, canScroll, clearAutoScrollInterval, enabled, interval, // eslint-disable-next-line react-hooks/exhaustive-deps\n JSON.stringify(rect), // eslint-disable-next-line react-hooks/exhaustive-deps\n JSON.stringify(scrollIntent), setAutoScrollInterval, scrollableAncestors, sortedScrollableAncestors, scrollableAncestorRects, // eslint-disable-next-line react-hooks/exhaustive-deps\n JSON.stringify(threshold)]);\n}\nconst defaultScrollIntent = {\n x: {\n [Direction.Backward]: false,\n [Direction.Forward]: false\n },\n y: {\n [Direction.Backward]: false,\n [Direction.Forward]: false\n }\n};\n\nfunction useScrollIntent(_ref2) {\n let {\n delta,\n disabled\n } = _ref2;\n const previousDelta = usePrevious(delta);\n return useLazyMemo(previousIntent => {\n if (disabled || !previousDelta || !previousIntent) {\n // Reset scroll intent tracking when auto-scrolling is disabled\n return defaultScrollIntent;\n }\n\n const direction = {\n x: Math.sign(delta.x - previousDelta.x),\n y: Math.sign(delta.y - previousDelta.y)\n }; // Keep track of the user intent to scroll in each direction for both axis\n\n return {\n x: {\n [Direction.Backward]: previousIntent.x[Direction.Backward] || direction.x === -1,\n [Direction.Forward]: previousIntent.x[Direction.Forward] || direction.x === 1\n },\n y: {\n [Direction.Backward]: previousIntent.y[Direction.Backward] || direction.y === -1,\n [Direction.Forward]: previousIntent.y[Direction.Forward] || direction.y === 1\n }\n };\n }, [disabled, delta, previousDelta]);\n}\n\nfunction useCachedNode(draggableNodes, id) {\n const draggableNode = id !== null ? draggableNodes.get(id) : undefined;\n const node = draggableNode ? draggableNode.node.current : null;\n return useLazyMemo(cachedNode => {\n var _ref;\n\n if (id === null) {\n return null;\n } // In some cases, the draggable node can unmount while dragging\n // This is the case for virtualized lists. In those situations,\n // we fall back to the last known value for that node.\n\n\n return (_ref = node != null ? node : cachedNode) != null ? _ref : null;\n }, [node, id]);\n}\n\nfunction useCombineActivators(sensors, getSyntheticHandler) {\n return useMemo(() => sensors.reduce((accumulator, sensor) => {\n const {\n sensor: Sensor\n } = sensor;\n const sensorActivators = Sensor.activators.map(activator => ({\n eventName: activator.eventName,\n handler: getSyntheticHandler(activator.handler, sensor)\n }));\n return [...accumulator, ...sensorActivators];\n }, []), [sensors, getSyntheticHandler]);\n}\n\nvar MeasuringStrategy;\n\n(function (MeasuringStrategy) {\n MeasuringStrategy[MeasuringStrategy[\"Always\"] = 0] = \"Always\";\n MeasuringStrategy[MeasuringStrategy[\"BeforeDragging\"] = 1] = \"BeforeDragging\";\n MeasuringStrategy[MeasuringStrategy[\"WhileDragging\"] = 2] = \"WhileDragging\";\n})(MeasuringStrategy || (MeasuringStrategy = {}));\n\nvar MeasuringFrequency;\n\n(function (MeasuringFrequency) {\n MeasuringFrequency[\"Optimized\"] = \"optimized\";\n})(MeasuringFrequency || (MeasuringFrequency = {}));\n\nconst defaultValue = /*#__PURE__*/new Map();\nfunction useDroppableMeasuring(containers, _ref) {\n let {\n dragging,\n dependencies,\n config\n } = _ref;\n const [queue, setQueue] = useState(null);\n const {\n frequency,\n measure,\n strategy\n } = config;\n const containersRef = useRef(containers);\n const disabled = isDisabled();\n const disabledRef = useLatestValue(disabled);\n const measureDroppableContainers = useCallback(function (ids) {\n if (ids === void 0) {\n ids = [];\n }\n\n if (disabledRef.current) {\n return;\n }\n\n setQueue(value => {\n if (value === null) {\n return ids;\n }\n\n return value.concat(ids.filter(id => !value.includes(id)));\n });\n }, [disabledRef]);\n const timeoutId = useRef(null);\n const droppableRects = useLazyMemo(previousValue => {\n if (disabled && !dragging) {\n return defaultValue;\n }\n\n if (!previousValue || previousValue === defaultValue || containersRef.current !== containers || queue != null) {\n const map = new Map();\n\n for (let container of containers) {\n if (!container) {\n continue;\n }\n\n if (queue && queue.length > 0 && !queue.includes(container.id) && container.rect.current) {\n // This container does not need to be re-measured\n map.set(container.id, container.rect.current);\n continue;\n }\n\n const node = container.node.current;\n const rect = node ? new Rect(measure(node), node) : null;\n container.rect.current = rect;\n\n if (rect) {\n map.set(container.id, rect);\n }\n }\n\n return map;\n }\n\n return previousValue;\n }, [containers, queue, dragging, disabled, measure]);\n useEffect(() => {\n containersRef.current = containers;\n }, [containers]);\n useEffect(() => {\n if (disabled) {\n return;\n }\n\n measureDroppableContainers();\n }, // eslint-disable-next-line react-hooks/exhaustive-deps\n [dragging, disabled]);\n useEffect(() => {\n if (queue && queue.length > 0) {\n setQueue(null);\n }\n }, //eslint-disable-next-line react-hooks/exhaustive-deps\n [JSON.stringify(queue)]);\n useEffect(() => {\n if (disabled || typeof frequency !== 'number' || timeoutId.current !== null) {\n return;\n }\n\n timeoutId.current = setTimeout(() => {\n measureDroppableContainers();\n timeoutId.current = null;\n }, frequency);\n }, // eslint-disable-next-line react-hooks/exhaustive-deps\n [frequency, disabled, measureDroppableContainers, ...dependencies]);\n return {\n droppableRects,\n measureDroppableContainers,\n measuringScheduled: queue != null\n };\n\n function isDisabled() {\n switch (strategy) {\n case MeasuringStrategy.Always:\n return false;\n\n case MeasuringStrategy.BeforeDragging:\n return dragging;\n\n default:\n return !dragging;\n }\n }\n}\n\nfunction useInitialValue(value, computeFn) {\n return useLazyMemo(previousValue => {\n if (!value) {\n return null;\n }\n\n if (previousValue) {\n return previousValue;\n }\n\n return typeof computeFn === 'function' ? computeFn(value) : value;\n }, [computeFn, value]);\n}\n\nfunction useInitialRect(node, measure) {\n return useInitialValue(node, measure);\n}\n\n/**\r\n * Returns a new MutationObserver instance.\r\n * If `MutationObserver` is undefined in the execution environment, returns `undefined`.\r\n */\n\nfunction useMutationObserver(_ref) {\n let {\n callback,\n disabled\n } = _ref;\n const handleMutations = useEvent(callback);\n const mutationObserver = useMemo(() => {\n if (disabled || typeof window === 'undefined' || typeof window.MutationObserver === 'undefined') {\n return undefined;\n }\n\n const {\n MutationObserver\n } = window;\n return new MutationObserver(handleMutations);\n }, [handleMutations, disabled]);\n useEffect(() => {\n return () => mutationObserver == null ? void 0 : mutationObserver.disconnect();\n }, [mutationObserver]);\n return mutationObserver;\n}\n\n/**\r\n * Returns a new ResizeObserver instance bound to the `onResize` callback.\r\n * If `ResizeObserver` is undefined in the execution environment, returns `undefined`.\r\n */\n\nfunction useResizeObserver(_ref) {\n let {\n callback,\n disabled\n } = _ref;\n const handleResize = useEvent(callback);\n const resizeObserver = useMemo(() => {\n if (disabled || typeof window === 'undefined' || typeof window.ResizeObserver === 'undefined') {\n return undefined;\n }\n\n const {\n ResizeObserver\n } = window;\n return new ResizeObserver(handleResize);\n }, // eslint-disable-next-line react-hooks/exhaustive-deps\n [disabled]);\n useEffect(() => {\n return () => resizeObserver == null ? void 0 : resizeObserver.disconnect();\n }, [resizeObserver]);\n return resizeObserver;\n}\n\nfunction defaultMeasure(element) {\n return new Rect(getClientRect(element), element);\n}\n\nfunction useRect(element, measure, fallbackRect) {\n if (measure === void 0) {\n measure = defaultMeasure;\n }\n\n const [rect, measureRect] = useReducer(reducer, null);\n const mutationObserver = useMutationObserver({\n callback(records) {\n if (!element) {\n return;\n }\n\n for (const record of records) {\n const {\n type,\n target\n } = record;\n\n if (type === 'childList' && target instanceof HTMLElement && target.contains(element)) {\n measureRect();\n break;\n }\n }\n }\n\n });\n const resizeObserver = useResizeObserver({\n callback: measureRect\n });\n useIsomorphicLayoutEffect(() => {\n measureRect();\n\n if (element) {\n resizeObserver == null ? void 0 : resizeObserver.observe(element);\n mutationObserver == null ? void 0 : mutationObserver.observe(document.body, {\n childList: true,\n subtree: true\n });\n } else {\n resizeObserver == null ? void 0 : resizeObserver.disconnect();\n mutationObserver == null ? void 0 : mutationObserver.disconnect();\n }\n }, [element]);\n return rect;\n\n function reducer(currentRect) {\n if (!element) {\n return null;\n }\n\n if (element.isConnected === false) {\n var _ref;\n\n // Fall back to last rect we measured if the element is\n // no longer connected to the DOM.\n return (_ref = currentRect != null ? currentRect : fallbackRect) != null ? _ref : null;\n }\n\n const newRect = measure(element);\n\n if (JSON.stringify(currentRect) === JSON.stringify(newRect)) {\n return currentRect;\n }\n\n return newRect;\n }\n}\n\nfunction useRectDelta(rect) {\n const initialRect = useInitialValue(rect);\n return getRectDelta(rect, initialRect);\n}\n\nconst defaultValue$1 = [];\nfunction useScrollableAncestors(node) {\n const previousNode = useRef(node);\n const ancestors = useLazyMemo(previousValue => {\n if (!node) {\n return defaultValue$1;\n }\n\n if (previousValue && previousValue !== defaultValue$1 && node && previousNode.current && node.parentNode === previousNode.current.parentNode) {\n return previousValue;\n }\n\n return getScrollableAncestors(node);\n }, [node]);\n useEffect(() => {\n previousNode.current = node;\n }, [node]);\n return ancestors;\n}\n\nfunction useScrollOffsets(elements) {\n const [scrollCoordinates, setScrollCoordinates] = useState(null);\n const prevElements = useRef(elements); // To-do: Throttle the handleScroll callback\n\n const handleScroll = useCallback(event => {\n const scrollingElement = getScrollableElement(event.target);\n\n if (!scrollingElement) {\n return;\n }\n\n setScrollCoordinates(scrollCoordinates => {\n if (!scrollCoordinates) {\n return null;\n }\n\n scrollCoordinates.set(scrollingElement, getScrollCoordinates(scrollingElement));\n return new Map(scrollCoordinates);\n });\n }, []);\n useEffect(() => {\n const previousElements = prevElements.current;\n\n if (elements !== previousElements) {\n cleanup(previousElements);\n const entries = elements.map(element => {\n const scrollableElement = getScrollableElement(element);\n\n if (scrollableElement) {\n scrollableElement.addEventListener('scroll', handleScroll, {\n passive: true\n });\n return [scrollableElement, getScrollCoordinates(scrollableElement)];\n }\n\n return null;\n }).filter(entry => entry != null);\n setScrollCoordinates(entries.length ? new Map(entries) : null);\n prevElements.current = elements;\n }\n\n return () => {\n cleanup(elements);\n cleanup(previousElements);\n };\n\n function cleanup(elements) {\n elements.forEach(element => {\n const scrollableElement = getScrollableElement(element);\n scrollableElement == null ? void 0 : scrollableElement.removeEventListener('scroll', handleScroll);\n });\n }\n }, [handleScroll, elements]);\n return useMemo(() => {\n if (elements.length) {\n return scrollCoordinates ? Array.from(scrollCoordinates.values()).reduce((acc, coordinates) => add(acc, coordinates), defaultCoordinates) : getScrollOffsets(elements);\n }\n\n return defaultCoordinates;\n }, [elements, scrollCoordinates]);\n}\n\nfunction useScrollOffsetsDelta(scrollOffsets, dependencies) {\n if (dependencies === void 0) {\n dependencies = [];\n }\n\n const initialScrollOffsets = useRef(null);\n useEffect(() => {\n initialScrollOffsets.current = null;\n }, // eslint-disable-next-line react-hooks/exhaustive-deps\n dependencies);\n useEffect(() => {\n const hasScrollOffsets = scrollOffsets !== defaultCoordinates;\n\n if (hasScrollOffsets && !initialScrollOffsets.current) {\n initialScrollOffsets.current = scrollOffsets;\n }\n\n if (!hasScrollOffsets && initialScrollOffsets.current) {\n initialScrollOffsets.current = null;\n }\n }, [scrollOffsets]);\n return initialScrollOffsets.current ? subtract(scrollOffsets, initialScrollOffsets.current) : defaultCoordinates;\n}\n\nfunction useSensorSetup(sensors) {\n useEffect(() => {\n if (!canUseDOM) {\n return;\n }\n\n const teardownFns = sensors.map(_ref => {\n let {\n sensor\n } = _ref;\n return sensor.setup == null ? void 0 : sensor.setup();\n });\n return () => {\n for (const teardown of teardownFns) {\n teardown == null ? void 0 : teardown();\n }\n };\n }, // TO-DO: Sensors length could theoretically change which would not be a valid dependency\n // eslint-disable-next-line react-hooks/exhaustive-deps\n sensors.map(_ref2 => {\n let {\n sensor\n } = _ref2;\n return sensor;\n }));\n}\n\nfunction useSyntheticListeners(listeners, id) {\n return useMemo(() => {\n return listeners.reduce((acc, _ref) => {\n let {\n eventName,\n handler\n } = _ref;\n\n acc[eventName] = event => {\n handler(event, id);\n };\n\n return acc;\n }, {});\n }, [listeners, id]);\n}\n\nfunction useWindowRect(element) {\n return useMemo(() => element ? getWindowClientRect(element) : null, [element]);\n}\n\nconst defaultValue$2 = [];\nfunction useRects(elements, measure) {\n if (measure === void 0) {\n measure = getClientRect;\n }\n\n const [firstElement] = elements;\n const windowRect = useWindowRect(firstElement ? getWindow(firstElement) : null);\n const [rects, measureRects] = useReducer(reducer, defaultValue$2);\n const resizeObserver = useResizeObserver({\n callback: measureRects\n });\n\n if (elements.length > 0 && rects === defaultValue$2) {\n measureRects();\n }\n\n useIsomorphicLayoutEffect(() => {\n if (elements.length) {\n elements.forEach(element => resizeObserver == null ? void 0 : resizeObserver.observe(element));\n } else {\n resizeObserver == null ? void 0 : resizeObserver.disconnect();\n measureRects();\n }\n }, [elements]);\n return rects;\n\n function reducer() {\n if (!elements.length) {\n return defaultValue$2;\n }\n\n return elements.map(element => isDocumentScrollingElement(element) ? windowRect : new Rect(measure(element), element));\n }\n}\n\nfunction getMeasurableNode(node) {\n if (!node) {\n return null;\n }\n\n if (node.children.length > 1) {\n return node;\n }\n\n const firstChild = node.children[0];\n return isHTMLElement(firstChild) ? firstChild : node;\n}\n\nfunction useDragOverlayMeasuring(_ref) {\n let {\n measure\n } = _ref;\n const [rect, setRect] = useState(null);\n const handleResize = useCallback(entries => {\n for (const {\n target\n } of entries) {\n if (isHTMLElement(target)) {\n setRect(rect => {\n const newRect = measure(target);\n return rect ? { ...rect,\n width: newRect.width,\n height: newRect.height\n } : newRect;\n });\n break;\n }\n }\n }, [measure]);\n const resizeObserver = useResizeObserver({\n callback: handleResize\n });\n const handleNodeChange = useCallback(element => {\n const node = getMeasurableNode(element);\n resizeObserver == null ? void 0 : resizeObserver.disconnect();\n\n if (node) {\n resizeObserver == null ? void 0 : resizeObserver.observe(node);\n }\n\n setRect(node ? measure(node) : null);\n }, [measure, resizeObserver]);\n const [nodeRef, setRef] = useNodeRef(handleNodeChange);\n return useMemo(() => ({\n nodeRef,\n rect,\n setRef\n }), [rect, nodeRef, setRef]);\n}\n\nconst defaultSensors = [{\n sensor: PointerSensor,\n options: {}\n}, {\n sensor: KeyboardSensor,\n options: {}\n}];\nconst defaultData = {\n current: {}\n};\nconst defaultMeasuringConfiguration = {\n draggable: {\n measure: getTransformAgnosticClientRect\n },\n droppable: {\n measure: getTransformAgnosticClientRect,\n strategy: MeasuringStrategy.WhileDragging,\n frequency: MeasuringFrequency.Optimized\n },\n dragOverlay: {\n measure: getClientRect\n }\n};\n\nclass DroppableContainersMap extends Map {\n get(id) {\n var _super$get;\n\n return id != null ? (_super$get = super.get(id)) != null ? _super$get : undefined : undefined;\n }\n\n toArray() {\n return Array.from(this.values());\n }\n\n getEnabled() {\n return this.toArray().filter(_ref => {\n let {\n disabled\n } = _ref;\n return !disabled;\n });\n }\n\n getNodeFor(id) {\n var _this$get$node$curren, _this$get;\n\n return (_this$get$node$curren = (_this$get = this.get(id)) == null ? void 0 : _this$get.node.current) != null ? _this$get$node$curren : undefined;\n }\n\n}\n\nconst defaultPublicContext = {\n activatorEvent: null,\n active: null,\n activeNode: null,\n activeNodeRect: null,\n collisions: null,\n containerNodeRect: null,\n draggableNodes: /*#__PURE__*/new Map(),\n droppableRects: /*#__PURE__*/new Map(),\n droppableContainers: /*#__PURE__*/new DroppableContainersMap(),\n over: null,\n dragOverlay: {\n nodeRef: {\n current: null\n },\n rect: null,\n setRef: noop\n },\n scrollableAncestors: [],\n scrollableAncestorRects: [],\n measuringConfiguration: defaultMeasuringConfiguration,\n measureDroppableContainers: noop,\n windowRect: null,\n measuringScheduled: false\n};\nconst defaultInternalContext = {\n activatorEvent: null,\n activators: [],\n active: null,\n activeNodeRect: null,\n ariaDescribedById: {\n draggable: ''\n },\n dispatch: noop,\n draggableNodes: /*#__PURE__*/new Map(),\n over: null,\n measureDroppableContainers: noop\n};\nconst InternalContext = /*#__PURE__*/createContext(defaultInternalContext);\nconst PublicContext = /*#__PURE__*/createContext(defaultPublicContext);\n\nfunction getInitialState() {\n return {\n draggable: {\n active: null,\n initialCoordinates: {\n x: 0,\n y: 0\n },\n nodes: new Map(),\n translate: {\n x: 0,\n y: 0\n }\n },\n droppable: {\n containers: new DroppableContainersMap()\n }\n };\n}\nfunction reducer(state, action) {\n switch (action.type) {\n case Action.DragStart:\n return { ...state,\n draggable: { ...state.draggable,\n initialCoordinates: action.initialCoordinates,\n active: action.active\n }\n };\n\n case Action.DragMove:\n if (!state.draggable.active) {\n return state;\n }\n\n return { ...state,\n draggable: { ...state.draggable,\n translate: {\n x: action.coordinates.x - state.draggable.initialCoordinates.x,\n y: action.coordinates.y - state.draggable.initialCoordinates.y\n }\n }\n };\n\n case Action.DragEnd:\n case Action.DragCancel:\n return { ...state,\n draggable: { ...state.draggable,\n active: null,\n initialCoordinates: {\n x: 0,\n y: 0\n },\n translate: {\n x: 0,\n y: 0\n }\n }\n };\n\n case Action.RegisterDroppable:\n {\n const {\n element\n } = action;\n const {\n id\n } = element;\n const containers = new DroppableContainersMap(state.droppable.containers);\n containers.set(id, element);\n return { ...state,\n droppable: { ...state.droppable,\n containers\n }\n };\n }\n\n case Action.SetDroppableDisabled:\n {\n const {\n id,\n key,\n disabled\n } = action;\n const element = state.droppable.containers.get(id);\n\n if (!element || key !== element.key) {\n return state;\n }\n\n const containers = new DroppableContainersMap(state.droppable.containers);\n containers.set(id, { ...element,\n disabled\n });\n return { ...state,\n droppable: { ...state.droppable,\n containers\n }\n };\n }\n\n case Action.UnregisterDroppable:\n {\n const {\n id,\n key\n } = action;\n const element = state.droppable.containers.get(id);\n\n if (!element || key !== element.key) {\n return state;\n }\n\n const containers = new DroppableContainersMap(state.droppable.containers);\n containers.delete(id);\n return { ...state,\n droppable: { ...state.droppable,\n containers\n }\n };\n }\n\n default:\n {\n return state;\n }\n }\n}\n\nfunction RestoreFocus(_ref) {\n let {\n disabled\n } = _ref;\n const {\n active,\n activatorEvent,\n draggableNodes\n } = useContext(InternalContext);\n const previousActivatorEvent = usePrevious(activatorEvent);\n const previousActiveId = usePrevious(active == null ? void 0 : active.id); // Restore keyboard focus on the activator node\n\n useEffect(() => {\n if (disabled) {\n return;\n }\n\n if (!activatorEvent && previousActivatorEvent && previousActiveId != null) {\n if (!isKeyboardEvent(previousActivatorEvent)) {\n return;\n }\n\n if (document.activeElement === previousActivatorEvent.target) {\n // No need to restore focus\n return;\n }\n\n const draggableNode = draggableNodes.get(previousActiveId);\n\n if (!draggableNode) {\n return;\n }\n\n const {\n activatorNode,\n node\n } = draggableNode;\n\n if (!activatorNode.current && !node.current) {\n return;\n }\n\n requestAnimationFrame(() => {\n for (const element of [activatorNode.current, node.current]) {\n if (!element) {\n continue;\n }\n\n const focusableNode = findFirstFocusableNode(element);\n\n if (focusableNode) {\n focusableNode.focus();\n break;\n }\n }\n });\n }\n }, [activatorEvent, disabled, draggableNodes, previousActiveId, previousActivatorEvent]);\n return null;\n}\n\nfunction applyModifiers(modifiers, _ref) {\n let {\n transform,\n ...args\n } = _ref;\n return modifiers != null && modifiers.length ? modifiers.reduce((accumulator, modifier) => {\n return modifier({\n transform: accumulator,\n ...args\n });\n }, transform) : transform;\n}\n\nfunction useMeasuringConfiguration(config) {\n return useMemo(() => ({\n draggable: { ...defaultMeasuringConfiguration.draggable,\n ...(config == null ? void 0 : config.draggable)\n },\n droppable: { ...defaultMeasuringConfiguration.droppable,\n ...(config == null ? void 0 : config.droppable)\n },\n dragOverlay: { ...defaultMeasuringConfiguration.dragOverlay,\n ...(config == null ? void 0 : config.dragOverlay)\n }\n }), // eslint-disable-next-line react-hooks/exhaustive-deps\n [config == null ? void 0 : config.draggable, config == null ? void 0 : config.droppable, config == null ? void 0 : config.dragOverlay]);\n}\n\nfunction useLayoutShiftScrollCompensation(_ref) {\n let {\n activeNode,\n measure,\n initialRect,\n config = true\n } = _ref;\n const initialized = useRef(false);\n const {\n x,\n y\n } = typeof config === 'boolean' ? {\n x: config,\n y: config\n } : config;\n useIsomorphicLayoutEffect(() => {\n const disabled = !x && !y;\n\n if (disabled || !activeNode) {\n initialized.current = false;\n return;\n }\n\n if (initialized.current || !initialRect) {\n // Return early if layout shift scroll compensation was already attempted\n // or if there is no initialRect to compare to.\n return;\n } // Get the most up to date node ref for the active draggable\n\n\n const node = activeNode == null ? void 0 : activeNode.node.current;\n\n if (!node || node.isConnected === false) {\n // Return early if there is no attached node ref or if the node is\n // disconnected from the document.\n return;\n }\n\n const rect = measure(node);\n const rectDelta = getRectDelta(rect, initialRect);\n\n if (!x) {\n rectDelta.x = 0;\n }\n\n if (!y) {\n rectDelta.y = 0;\n } // Only perform layout shift scroll compensation once\n\n\n initialized.current = true;\n\n if (Math.abs(rectDelta.x) > 0 || Math.abs(rectDelta.y) > 0) {\n const firstScrollableAncestor = getFirstScrollableAncestor(node);\n\n if (firstScrollableAncestor) {\n firstScrollableAncestor.scrollBy({\n top: rectDelta.y,\n left: rectDelta.x\n });\n }\n }\n }, [activeNode, x, y, initialRect, measure]);\n}\n\nconst ActiveDraggableContext = /*#__PURE__*/createContext({ ...defaultCoordinates,\n scaleX: 1,\n scaleY: 1\n});\nvar Status;\n\n(function (Status) {\n Status[Status[\"Uninitialized\"] = 0] = \"Uninitialized\";\n Status[Status[\"Initializing\"] = 1] = \"Initializing\";\n Status[Status[\"Initialized\"] = 2] = \"Initialized\";\n})(Status || (Status = {}));\n\nconst DndContext = /*#__PURE__*/memo(function DndContext(_ref) {\n var _sensorContext$curren, _dragOverlay$nodeRef$, _dragOverlay$rect, _over$rect;\n\n let {\n id,\n accessibility,\n autoScroll = true,\n children,\n sensors = defaultSensors,\n collisionDetection = rectIntersection,\n measuring,\n modifiers,\n ...props\n } = _ref;\n const store = useReducer(reducer, undefined, getInitialState);\n const [state, dispatch] = store;\n const [dispatchMonitorEvent, registerMonitorListener] = useDndMonitorProvider();\n const [status, setStatus] = useState(Status.Uninitialized);\n const isInitialized = status === Status.Initialized;\n const {\n draggable: {\n active: activeId,\n nodes: draggableNodes,\n translate\n },\n droppable: {\n containers: droppableContainers\n }\n } = state;\n const node = activeId ? draggableNodes.get(activeId) : null;\n const activeRects = useRef({\n initial: null,\n translated: null\n });\n const active = useMemo(() => {\n var _node$data;\n\n return activeId != null ? {\n id: activeId,\n // It's possible for the active node to unmount while dragging\n data: (_node$data = node == null ? void 0 : node.data) != null ? _node$data : defaultData,\n rect: activeRects\n } : null;\n }, [activeId, node]);\n const activeRef = useRef(null);\n const [activeSensor, setActiveSensor] = useState(null);\n const [activatorEvent, setActivatorEvent] = useState(null);\n const latestProps = useLatestValue(props, Object.values(props));\n const draggableDescribedById = useUniqueId(\"DndDescribedBy\", id);\n const enabledDroppableContainers = useMemo(() => droppableContainers.getEnabled(), [droppableContainers]);\n const measuringConfiguration = useMeasuringConfiguration(measuring);\n const {\n droppableRects,\n measureDroppableContainers,\n measuringScheduled\n } = useDroppableMeasuring(enabledDroppableContainers, {\n dragging: isInitialized,\n dependencies: [translate.x, translate.y],\n config: measuringConfiguration.droppable\n });\n const activeNode = useCachedNode(draggableNodes, activeId);\n const activationCoordinates = useMemo(() => activatorEvent ? getEventCoordinates(activatorEvent) : null, [activatorEvent]);\n const autoScrollOptions = getAutoScrollerOptions();\n const initialActiveNodeRect = useInitialRect(activeNode, measuringConfiguration.draggable.measure);\n useLayoutShiftScrollCompensation({\n activeNode: activeId ? draggableNodes.get(activeId) : null,\n config: autoScrollOptions.layoutShiftCompensation,\n initialRect: initialActiveNodeRect,\n measure: measuringConfiguration.draggable.measure\n });\n const activeNodeRect = useRect(activeNode, measuringConfiguration.draggable.measure, initialActiveNodeRect);\n const containerNodeRect = useRect(activeNode ? activeNode.parentElement : null);\n const sensorContext = useRef({\n activatorEvent: null,\n active: null,\n activeNode,\n collisionRect: null,\n collisions: null,\n droppableRects,\n draggableNodes,\n draggingNode: null,\n draggingNodeRect: null,\n droppableContainers,\n over: null,\n scrollableAncestors: [],\n scrollAdjustedTranslate: null\n });\n const overNode = droppableContainers.getNodeFor((_sensorContext$curren = sensorContext.current.over) == null ? void 0 : _sensorContext$curren.id);\n const dragOverlay = useDragOverlayMeasuring({\n measure: measuringConfiguration.dragOverlay.measure\n }); // Use the rect of the drag overlay if it is mounted\n\n const draggingNode = (_dragOverlay$nodeRef$ = dragOverlay.nodeRef.current) != null ? _dragOverlay$nodeRef$ : activeNode;\n const draggingNodeRect = isInitialized ? (_dragOverlay$rect = dragOverlay.rect) != null ? _dragOverlay$rect : activeNodeRect : null;\n const usesDragOverlay = Boolean(dragOverlay.nodeRef.current && dragOverlay.rect); // The delta between the previous and new position of the draggable node\n // is only relevant when there is no drag overlay\n\n const nodeRectDelta = useRectDelta(usesDragOverlay ? null : activeNodeRect); // Get the window rect of the dragging node\n\n const windowRect = useWindowRect(draggingNode ? getWindow(draggingNode) : null); // Get scrollable ancestors of the dragging node\n\n const scrollableAncestors = useScrollableAncestors(isInitialized ? overNode != null ? overNode : activeNode : null);\n const scrollableAncestorRects = useRects(scrollableAncestors); // Apply modifiers\n\n const modifiedTranslate = applyModifiers(modifiers, {\n transform: {\n x: translate.x - nodeRectDelta.x,\n y: translate.y - nodeRectDelta.y,\n scaleX: 1,\n scaleY: 1\n },\n activatorEvent,\n active,\n activeNodeRect,\n containerNodeRect,\n draggingNodeRect,\n over: sensorContext.current.over,\n overlayNodeRect: dragOverlay.rect,\n scrollableAncestors,\n scrollableAncestorRects,\n windowRect\n });\n const pointerCoordinates = activationCoordinates ? add(activationCoordinates, translate) : null;\n const scrollOffsets = useScrollOffsets(scrollableAncestors); // Represents the scroll delta since dragging was initiated\n\n const scrollAdjustment = useScrollOffsetsDelta(scrollOffsets); // Represents the scroll delta since the last time the active node rect was measured\n\n const activeNodeScrollDelta = useScrollOffsetsDelta(scrollOffsets, [activeNodeRect]);\n const scrollAdjustedTranslate = add(modifiedTranslate, scrollAdjustment);\n const collisionRect = draggingNodeRect ? getAdjustedRect(draggingNodeRect, modifiedTranslate) : null;\n const collisions = active && collisionRect ? collisionDetection({\n active,\n collisionRect,\n droppableRects,\n droppableContainers: enabledDroppableContainers,\n pointerCoordinates\n }) : null;\n const overId = getFirstCollision(collisions, 'id');\n const [over, setOver] = useState(null); // When there is no drag overlay used, we need to account for the\n // window scroll delta\n\n const appliedTranslate = usesDragOverlay ? modifiedTranslate : add(modifiedTranslate, activeNodeScrollDelta);\n const transform = adjustScale(appliedTranslate, (_over$rect = over == null ? void 0 : over.rect) != null ? _over$rect : null, activeNodeRect);\n const instantiateSensor = useCallback((event, _ref2) => {\n let {\n sensor: Sensor,\n options\n } = _ref2;\n\n if (activeRef.current == null) {\n return;\n }\n\n const activeNode = draggableNodes.get(activeRef.current);\n\n if (!activeNode) {\n return;\n }\n\n const activatorEvent = event.nativeEvent;\n const sensorInstance = new Sensor({\n active: activeRef.current,\n activeNode,\n event: activatorEvent,\n options,\n // Sensors need to be instantiated with refs for arguments that change over time\n // otherwise they are frozen in time with the stale arguments\n context: sensorContext,\n\n onStart(initialCoordinates) {\n const id = activeRef.current;\n\n if (id == null) {\n return;\n }\n\n const draggableNode = draggableNodes.get(id);\n\n if (!draggableNode) {\n return;\n }\n\n const {\n onDragStart\n } = latestProps.current;\n const event = {\n active: {\n id,\n data: draggableNode.data,\n rect: activeRects\n }\n };\n unstable_batchedUpdates(() => {\n onDragStart == null ? void 0 : onDragStart(event);\n setStatus(Status.Initializing);\n dispatch({\n type: Action.DragStart,\n initialCoordinates,\n active: id\n });\n dispatchMonitorEvent({\n type: 'onDragStart',\n event\n });\n });\n },\n\n onMove(coordinates) {\n dispatch({\n type: Action.DragMove,\n coordinates\n });\n },\n\n onEnd: createHandler(Action.DragEnd),\n onCancel: createHandler(Action.DragCancel)\n });\n unstable_batchedUpdates(() => {\n setActiveSensor(sensorInstance);\n setActivatorEvent(event.nativeEvent);\n });\n\n function createHandler(type) {\n return async function handler() {\n const {\n active,\n collisions,\n over,\n scrollAdjustedTranslate\n } = sensorContext.current;\n let event = null;\n\n if (active && scrollAdjustedTranslate) {\n const {\n cancelDrop\n } = latestProps.current;\n event = {\n activatorEvent,\n active: active,\n collisions,\n delta: scrollAdjustedTranslate,\n over\n };\n\n if (type === Action.DragEnd && typeof cancelDrop === 'function') {\n const shouldCancel = await Promise.resolve(cancelDrop(event));\n\n if (shouldCancel) {\n type = Action.DragCancel;\n }\n }\n }\n\n activeRef.current = null;\n unstable_batchedUpdates(() => {\n dispatch({\n type\n });\n setStatus(Status.Uninitialized);\n setOver(null);\n setActiveSensor(null);\n setActivatorEvent(null);\n const eventName = type === Action.DragEnd ? 'onDragEnd' : 'onDragCancel';\n\n if (event) {\n const handler = latestProps.current[eventName];\n handler == null ? void 0 : handler(event);\n dispatchMonitorEvent({\n type: eventName,\n event\n });\n }\n });\n };\n }\n }, // eslint-disable-next-line react-hooks/exhaustive-deps\n [draggableNodes]);\n const bindActivatorToSensorInstantiator = useCallback((handler, sensor) => {\n return (event, active) => {\n const nativeEvent = event.nativeEvent;\n const activeDraggableNode = draggableNodes.get(active);\n\n if ( // Another sensor is already instantiating\n activeRef.current !== null || // No active draggable\n !activeDraggableNode || // Event has already been captured\n nativeEvent.dndKit || nativeEvent.defaultPrevented) {\n return;\n }\n\n const activationContext = {\n active: activeDraggableNode\n };\n const shouldActivate = handler(event, sensor.options, activationContext);\n\n if (shouldActivate === true) {\n nativeEvent.dndKit = {\n capturedBy: sensor.sensor\n };\n activeRef.current = active;\n instantiateSensor(event, sensor);\n }\n };\n }, [draggableNodes, instantiateSensor]);\n const activators = useCombineActivators(sensors, bindActivatorToSensorInstantiator);\n useSensorSetup(sensors);\n useIsomorphicLayoutEffect(() => {\n if (activeNodeRect && status === Status.Initializing) {\n setStatus(Status.Initialized);\n }\n }, [activeNodeRect, status]);\n useEffect(() => {\n const {\n onDragMove\n } = latestProps.current;\n const {\n active,\n activatorEvent,\n collisions,\n over\n } = sensorContext.current;\n\n if (!active || !activatorEvent) {\n return;\n }\n\n const event = {\n active,\n activatorEvent,\n collisions,\n delta: {\n x: scrollAdjustedTranslate.x,\n y: scrollAdjustedTranslate.y\n },\n over\n };\n unstable_batchedUpdates(() => {\n onDragMove == null ? void 0 : onDragMove(event);\n dispatchMonitorEvent({\n type: 'onDragMove',\n event\n });\n });\n }, // eslint-disable-next-line react-hooks/exhaustive-deps\n [scrollAdjustedTranslate.x, scrollAdjustedTranslate.y]);\n useEffect(() => {\n const {\n active,\n activatorEvent,\n collisions,\n droppableContainers,\n scrollAdjustedTranslate\n } = sensorContext.current;\n\n if (!active || activeRef.current == null || !activatorEvent || !scrollAdjustedTranslate) {\n return;\n }\n\n const {\n onDragOver\n } = latestProps.current;\n const overContainer = droppableContainers.get(overId);\n const over = overContainer && overContainer.rect.current ? {\n id: overContainer.id,\n rect: overContainer.rect.current,\n data: overContainer.data,\n disabled: overContainer.disabled\n } : null;\n const event = {\n active,\n activatorEvent,\n collisions,\n delta: {\n x: scrollAdjustedTranslate.x,\n y: scrollAdjustedTranslate.y\n },\n over\n };\n unstable_batchedUpdates(() => {\n setOver(over);\n onDragOver == null ? void 0 : onDragOver(event);\n dispatchMonitorEvent({\n type: 'onDragOver',\n event\n });\n });\n }, // eslint-disable-next-line react-hooks/exhaustive-deps\n [overId]);\n useIsomorphicLayoutEffect(() => {\n sensorContext.current = {\n activatorEvent,\n active,\n activeNode,\n collisionRect,\n collisions,\n droppableRects,\n draggableNodes,\n draggingNode,\n draggingNodeRect,\n droppableContainers,\n over,\n scrollableAncestors,\n scrollAdjustedTranslate\n };\n activeRects.current = {\n initial: draggingNodeRect,\n translated: collisionRect\n };\n }, [active, activeNode, collisions, collisionRect, draggableNodes, draggingNode, draggingNodeRect, droppableRects, droppableContainers, over, scrollableAncestors, scrollAdjustedTranslate]);\n useAutoScroller({ ...autoScrollOptions,\n delta: translate,\n draggingRect: collisionRect,\n pointerCoordinates,\n scrollableAncestors,\n scrollableAncestorRects\n });\n const publicContext = useMemo(() => {\n const context = {\n active,\n activeNode,\n activeNodeRect,\n activatorEvent,\n collisions,\n containerNodeRect,\n dragOverlay,\n draggableNodes,\n droppableContainers,\n droppableRects,\n over,\n measureDroppableContainers,\n scrollableAncestors,\n scrollableAncestorRects,\n measuringConfiguration,\n measuringScheduled,\n windowRect\n };\n return context;\n }, [active, activeNode, activeNodeRect, activatorEvent, collisions, containerNodeRect, dragOverlay, draggableNodes, droppableContainers, droppableRects, over, measureDroppableContainers, scrollableAncestors, scrollableAncestorRects, measuringConfiguration, measuringScheduled, windowRect]);\n const internalContext = useMemo(() => {\n const context = {\n activatorEvent,\n activators,\n active,\n activeNodeRect,\n ariaDescribedById: {\n draggable: draggableDescribedById\n },\n dispatch,\n draggableNodes,\n over,\n measureDroppableContainers\n };\n return context;\n }, [activatorEvent, activators, active, activeNodeRect, dispatch, draggableDescribedById, draggableNodes, over, measureDroppableContainers]);\n return React.createElement(DndMonitorContext.Provider, {\n value: registerMonitorListener\n }, React.createElement(InternalContext.Provider, {\n value: internalContext\n }, React.createElement(PublicContext.Provider, {\n value: publicContext\n }, React.createElement(ActiveDraggableContext.Provider, {\n value: transform\n }, children)), React.createElement(RestoreFocus, {\n disabled: (accessibility == null ? void 0 : accessibility.restoreFocus) === false\n })), React.createElement(Accessibility, { ...accessibility,\n hiddenTextDescribedById: draggableDescribedById\n }));\n\n function getAutoScrollerOptions() {\n const activeSensorDisablesAutoscroll = (activeSensor == null ? void 0 : activeSensor.autoScrollEnabled) === false;\n const autoScrollGloballyDisabled = typeof autoScroll === 'object' ? autoScroll.enabled === false : autoScroll === false;\n const enabled = isInitialized && !activeSensorDisablesAutoscroll && !autoScrollGloballyDisabled;\n\n if (typeof autoScroll === 'object') {\n return { ...autoScroll,\n enabled\n };\n }\n\n return {\n enabled\n };\n }\n});\n\nconst NullContext = /*#__PURE__*/createContext(null);\nconst defaultRole = 'button';\nconst ID_PREFIX = 'Droppable';\nfunction useDraggable(_ref) {\n let {\n id,\n data,\n disabled = false,\n attributes\n } = _ref;\n const key = useUniqueId(ID_PREFIX);\n const {\n activators,\n activatorEvent,\n active,\n activeNodeRect,\n ariaDescribedById,\n draggableNodes,\n over\n } = useContext(InternalContext);\n const {\n role = defaultRole,\n roleDescription = 'draggable',\n tabIndex = 0\n } = attributes != null ? attributes : {};\n const isDragging = (active == null ? void 0 : active.id) === id;\n const transform = useContext(isDragging ? ActiveDraggableContext : NullContext);\n const [node, setNodeRef] = useNodeRef();\n const [activatorNode, setActivatorNodeRef] = useNodeRef();\n const listeners = useSyntheticListeners(activators, id);\n const dataRef = useLatestValue(data);\n useIsomorphicLayoutEffect(() => {\n draggableNodes.set(id, {\n id,\n key,\n node,\n activatorNode,\n data: dataRef\n });\n return () => {\n const node = draggableNodes.get(id);\n\n if (node && node.key === key) {\n draggableNodes.delete(id);\n }\n };\n }, // eslint-disable-next-line react-hooks/exhaustive-deps\n [draggableNodes, id]);\n const memoizedAttributes = useMemo(() => ({\n role,\n tabIndex,\n 'aria-disabled': disabled,\n 'aria-pressed': isDragging && role === defaultRole ? true : undefined,\n 'aria-roledescription': roleDescription,\n 'aria-describedby': ariaDescribedById.draggable\n }), [disabled, role, tabIndex, isDragging, roleDescription, ariaDescribedById.draggable]);\n return {\n active,\n activatorEvent,\n activeNodeRect,\n attributes: memoizedAttributes,\n isDragging,\n listeners: disabled ? undefined : listeners,\n node,\n over,\n setNodeRef,\n setActivatorNodeRef,\n transform\n };\n}\n\nfunction useDndContext() {\n return useContext(PublicContext);\n}\n\nconst ID_PREFIX$1 = 'Droppable';\nconst defaultResizeObserverConfig = {\n timeout: 25\n};\nfunction useDroppable(_ref) {\n let {\n data,\n disabled = false,\n id,\n resizeObserverConfig\n } = _ref;\n const key = useUniqueId(ID_PREFIX$1);\n const {\n active,\n dispatch,\n over,\n measureDroppableContainers\n } = useContext(InternalContext);\n const previous = useRef({\n disabled\n });\n const resizeObserverConnected = useRef(false);\n const rect = useRef(null);\n const callbackId = useRef(null);\n const {\n disabled: resizeObserverDisabled,\n updateMeasurementsFor,\n timeout: resizeObserverTimeout\n } = { ...defaultResizeObserverConfig,\n ...resizeObserverConfig\n };\n const ids = useLatestValue(updateMeasurementsFor != null ? updateMeasurementsFor : id);\n const handleResize = useCallback(() => {\n if (!resizeObserverConnected.current) {\n // ResizeObserver invokes the `handleResize` callback as soon as `observe` is called,\n // assuming the element is rendered and displayed.\n resizeObserverConnected.current = true;\n return;\n }\n\n if (callbackId.current != null) {\n clearTimeout(callbackId.current);\n }\n\n callbackId.current = setTimeout(() => {\n measureDroppableContainers(Array.isArray(ids.current) ? ids.current : [ids.current]);\n callbackId.current = null;\n }, resizeObserverTimeout);\n }, //eslint-disable-next-line react-hooks/exhaustive-deps\n [resizeObserverTimeout]);\n const resizeObserver = useResizeObserver({\n callback: handleResize,\n disabled: resizeObserverDisabled || !active\n });\n const handleNodeChange = useCallback((newElement, previousElement) => {\n if (!resizeObserver) {\n return;\n }\n\n if (previousElement) {\n resizeObserver.unobserve(previousElement);\n resizeObserverConnected.current = false;\n }\n\n if (newElement) {\n resizeObserver.observe(newElement);\n }\n }, [resizeObserver]);\n const [nodeRef, setNodeRef] = useNodeRef(handleNodeChange);\n const dataRef = useLatestValue(data);\n useEffect(() => {\n if (!resizeObserver || !nodeRef.current) {\n return;\n }\n\n resizeObserver.disconnect();\n resizeObserverConnected.current = false;\n resizeObserver.observe(nodeRef.current);\n }, [nodeRef, resizeObserver]);\n useIsomorphicLayoutEffect(() => {\n dispatch({\n type: Action.RegisterDroppable,\n element: {\n id,\n key,\n disabled,\n node: nodeRef,\n rect,\n data: dataRef\n }\n });\n return () => dispatch({\n type: Action.UnregisterDroppable,\n key,\n id\n });\n }, // eslint-disable-next-line react-hooks/exhaustive-deps\n [id]);\n useEffect(() => {\n if (disabled !== previous.current.disabled) {\n dispatch({\n type: Action.SetDroppableDisabled,\n id,\n key,\n disabled\n });\n previous.current.disabled = disabled;\n }\n }, [id, key, disabled, dispatch]);\n return {\n active,\n rect,\n isOver: (over == null ? void 0 : over.id) === id,\n node: nodeRef,\n over,\n setNodeRef\n };\n}\n\nfunction AnimationManager(_ref) {\n let {\n animation,\n children\n } = _ref;\n const [clonedChildren, setClonedChildren] = useState(null);\n const [element, setElement] = useState(null);\n const previousChildren = usePrevious(children);\n\n if (!children && !clonedChildren && previousChildren) {\n setClonedChildren(previousChildren);\n }\n\n useIsomorphicLayoutEffect(() => {\n if (!element) {\n return;\n }\n\n const key = clonedChildren == null ? void 0 : clonedChildren.key;\n const id = clonedChildren == null ? void 0 : clonedChildren.props.id;\n\n if (key == null || id == null) {\n setClonedChildren(null);\n return;\n }\n\n Promise.resolve(animation(id, element)).then(() => {\n setClonedChildren(null);\n });\n }, [animation, clonedChildren, element]);\n return React.createElement(React.Fragment, null, children, clonedChildren ? cloneElement(clonedChildren, {\n ref: setElement\n }) : null);\n}\n\nconst defaultTransform = {\n x: 0,\n y: 0,\n scaleX: 1,\n scaleY: 1\n};\nfunction NullifiedContextProvider(_ref) {\n let {\n children\n } = _ref;\n return React.createElement(InternalContext.Provider, {\n value: defaultInternalContext\n }, React.createElement(ActiveDraggableContext.Provider, {\n value: defaultTransform\n }, children));\n}\n\nconst baseStyles = {\n position: 'fixed',\n touchAction: 'none'\n};\n\nconst defaultTransition = activatorEvent => {\n const isKeyboardActivator = isKeyboardEvent(activatorEvent);\n return isKeyboardActivator ? 'transform 250ms ease' : undefined;\n};\n\nconst PositionedOverlay = /*#__PURE__*/forwardRef((_ref, ref) => {\n let {\n as,\n activatorEvent,\n adjustScale,\n children,\n className,\n rect,\n style,\n transform,\n transition = defaultTransition\n } = _ref;\n\n if (!rect) {\n return null;\n }\n\n const scaleAdjustedTransform = adjustScale ? transform : { ...transform,\n scaleX: 1,\n scaleY: 1\n };\n const styles = { ...baseStyles,\n width: rect.width,\n height: rect.height,\n top: rect.top,\n left: rect.left,\n transform: CSS.Transform.toString(scaleAdjustedTransform),\n transformOrigin: adjustScale && activatorEvent ? getRelativeTransformOrigin(activatorEvent, rect) : undefined,\n transition: typeof transition === 'function' ? transition(activatorEvent) : transition,\n ...style\n };\n return React.createElement(as, {\n className,\n style: styles,\n ref\n }, children);\n});\n\nconst defaultDropAnimationSideEffects = options => _ref => {\n let {\n active,\n dragOverlay\n } = _ref;\n const originalStyles = {};\n const {\n styles,\n className\n } = options;\n\n if (styles != null && styles.active) {\n for (const [key, value] of Object.entries(styles.active)) {\n if (value === undefined) {\n continue;\n }\n\n originalStyles[key] = active.node.style.getPropertyValue(key);\n active.node.style.setProperty(key, value);\n }\n }\n\n if (styles != null && styles.dragOverlay) {\n for (const [key, value] of Object.entries(styles.dragOverlay)) {\n if (value === undefined) {\n continue;\n }\n\n dragOverlay.node.style.setProperty(key, value);\n }\n }\n\n if (className != null && className.active) {\n active.node.classList.add(className.active);\n }\n\n if (className != null && className.dragOverlay) {\n dragOverlay.node.classList.add(className.dragOverlay);\n }\n\n return function cleanup() {\n for (const [key, value] of Object.entries(originalStyles)) {\n active.node.style.setProperty(key, value);\n }\n\n if (className != null && className.active) {\n active.node.classList.remove(className.active);\n }\n };\n};\n\nconst defaultKeyframeResolver = _ref2 => {\n let {\n transform: {\n initial,\n final\n }\n } = _ref2;\n return [{\n transform: CSS.Transform.toString(initial)\n }, {\n transform: CSS.Transform.toString(final)\n }];\n};\n\nconst defaultDropAnimationConfiguration = {\n duration: 250,\n easing: 'ease',\n keyframes: defaultKeyframeResolver,\n sideEffects: /*#__PURE__*/defaultDropAnimationSideEffects({\n styles: {\n active: {\n opacity: '0'\n }\n }\n })\n};\nfunction useDropAnimation(_ref3) {\n let {\n config,\n draggableNodes,\n droppableContainers,\n measuringConfiguration\n } = _ref3;\n return useEvent((id, node) => {\n if (config === null) {\n return;\n }\n\n const activeDraggable = draggableNodes.get(id);\n\n if (!activeDraggable) {\n return;\n }\n\n const activeNode = activeDraggable.node.current;\n\n if (!activeNode) {\n return;\n }\n\n const measurableNode = getMeasurableNode(node);\n\n if (!measurableNode) {\n return;\n }\n\n const {\n transform\n } = getWindow(node).getComputedStyle(node);\n const parsedTransform = parseTransform(transform);\n\n if (!parsedTransform) {\n return;\n }\n\n const animation = typeof config === 'function' ? config : createDefaultDropAnimation(config);\n scrollIntoViewIfNeeded(activeNode, measuringConfiguration.draggable.measure);\n return animation({\n active: {\n id,\n data: activeDraggable.data,\n node: activeNode,\n rect: measuringConfiguration.draggable.measure(activeNode)\n },\n draggableNodes,\n dragOverlay: {\n node,\n rect: measuringConfiguration.dragOverlay.measure(measurableNode)\n },\n droppableContainers,\n measuringConfiguration,\n transform: parsedTransform\n });\n });\n}\n\nfunction createDefaultDropAnimation(options) {\n const {\n duration,\n easing,\n sideEffects,\n keyframes\n } = { ...defaultDropAnimationConfiguration,\n ...options\n };\n return _ref4 => {\n let {\n active,\n dragOverlay,\n transform,\n ...rest\n } = _ref4;\n\n if (!duration) {\n // Do not animate if animation duration is zero.\n return;\n }\n\n const delta = {\n x: dragOverlay.rect.left - active.rect.left,\n y: dragOverlay.rect.top - active.rect.top\n };\n const scale = {\n scaleX: transform.scaleX !== 1 ? active.rect.width * transform.scaleX / dragOverlay.rect.width : 1,\n scaleY: transform.scaleY !== 1 ? active.rect.height * transform.scaleY / dragOverlay.rect.height : 1\n };\n const finalTransform = {\n x: transform.x - delta.x,\n y: transform.y - delta.y,\n ...scale\n };\n const animationKeyframes = keyframes({ ...rest,\n active,\n dragOverlay,\n transform: {\n initial: transform,\n final: finalTransform\n }\n });\n const [firstKeyframe] = animationKeyframes;\n const lastKeyframe = animationKeyframes[animationKeyframes.length - 1];\n\n if (JSON.stringify(firstKeyframe) === JSON.stringify(lastKeyframe)) {\n // The start and end keyframes are the same, infer that there is no animation needed.\n return;\n }\n\n const cleanup = sideEffects == null ? void 0 : sideEffects({\n active,\n dragOverlay,\n ...rest\n });\n const animation = dragOverlay.node.animate(animationKeyframes, {\n duration,\n easing,\n fill: 'forwards'\n });\n return new Promise(resolve => {\n animation.onfinish = () => {\n cleanup == null ? void 0 : cleanup();\n resolve();\n };\n });\n };\n}\n\nlet key = 0;\nfunction useKey(id) {\n return useMemo(() => {\n if (id == null) {\n return;\n }\n\n key++;\n return key;\n }, [id]);\n}\n\nconst DragOverlay = /*#__PURE__*/React.memo(_ref => {\n let {\n adjustScale = false,\n children,\n dropAnimation: dropAnimationConfig,\n style,\n transition,\n modifiers,\n wrapperElement = 'div',\n className,\n zIndex = 999\n } = _ref;\n const {\n activatorEvent,\n active,\n activeNodeRect,\n containerNodeRect,\n draggableNodes,\n droppableContainers,\n dragOverlay,\n over,\n measuringConfiguration,\n scrollableAncestors,\n scrollableAncestorRects,\n windowRect\n } = useDndContext();\n const transform = useContext(ActiveDraggableContext);\n const key = useKey(active == null ? void 0 : active.id);\n const modifiedTransform = applyModifiers(modifiers, {\n activatorEvent,\n active,\n activeNodeRect,\n containerNodeRect,\n draggingNodeRect: dragOverlay.rect,\n over,\n overlayNodeRect: dragOverlay.rect,\n scrollableAncestors,\n scrollableAncestorRects,\n transform,\n windowRect\n });\n const initialRect = useInitialValue(activeNodeRect);\n const dropAnimation = useDropAnimation({\n config: dropAnimationConfig,\n draggableNodes,\n droppableContainers,\n measuringConfiguration\n }); // We need to wait for the active node to be measured before connecting the drag overlay ref\n // otherwise collisions can be computed against a mispositioned drag overlay\n\n const ref = initialRect ? dragOverlay.setRef : undefined;\n return React.createElement(NullifiedContextProvider, null, React.createElement(AnimationManager, {\n animation: dropAnimation\n }, active && key ? React.createElement(PositionedOverlay, {\n key: key,\n id: active.id,\n ref: ref,\n as: wrapperElement,\n activatorEvent: activatorEvent,\n adjustScale: adjustScale,\n className: className,\n transition: transition,\n rect: initialRect,\n style: {\n zIndex,\n ...style\n },\n transform: modifiedTransform\n }, children) : null));\n});\n\nexport { AutoScrollActivator, DndContext, DragOverlay, KeyboardCode, KeyboardSensor, MeasuringFrequency, MeasuringStrategy, MouseSensor, PointerSensor, TouchSensor, TraversalOrder, applyModifiers, closestCenter, closestCorners, defaultAnnouncements, defaultCoordinates, defaultDropAnimationConfiguration as defaultDropAnimation, defaultDropAnimationSideEffects, defaultScreenReaderInstructions, getClientRect, getFirstCollision, getScrollableAncestors, pointerWithin, rectIntersection, useDndContext, useDndMonitor, useDraggable, useDroppable, useSensor, useSensors };\n//# sourceMappingURL=core.esm.js.map\n","import React, { useMemo, useRef, useEffect, useState, useContext } from 'react';\nimport { useDndContext, getClientRect, useDroppable, useDraggable, closestCorners, getFirstCollision, getScrollableAncestors, KeyboardCode } from '@dnd-kit/core';\nimport { useUniqueId, useIsomorphicLayoutEffect, CSS, useCombinedRefs, isKeyboardEvent, subtract } from '@dnd-kit/utilities';\n\n/**\r\n * Move an array item to a different position. Returns a new array with the item moved to the new position.\r\n */\nfunction arrayMove(array, from, to) {\n const newArray = array.slice();\n newArray.splice(to < 0 ? newArray.length + to : to, 0, newArray.splice(from, 1)[0]);\n return newArray;\n}\n\n/**\r\n * Swap an array item to a different position. Returns a new array with the item swapped to the new position.\r\n */\nfunction arraySwap(array, from, to) {\n const newArray = array.slice();\n newArray[from] = array[to];\n newArray[to] = array[from];\n return newArray;\n}\n\nfunction getSortedRects(items, rects) {\n return items.reduce((accumulator, id, index) => {\n const rect = rects.get(id);\n\n if (rect) {\n accumulator[index] = rect;\n }\n\n return accumulator;\n }, Array(items.length));\n}\n\nfunction isValidIndex(index) {\n return index !== null && index >= 0;\n}\n\nfunction itemsEqual(a, b) {\n if (a === b) {\n return true;\n }\n\n if (a.length !== b.length) {\n return false;\n }\n\n for (let i = 0; i < a.length; i++) {\n if (a[i] !== b[i]) {\n return false;\n }\n }\n\n return true;\n}\n\nfunction normalizeDisabled(disabled) {\n if (typeof disabled === 'boolean') {\n return {\n draggable: disabled,\n droppable: disabled\n };\n }\n\n return disabled;\n}\n\n// To-do: We should be calculating scale transformation\nconst defaultScale = {\n scaleX: 1,\n scaleY: 1\n};\nconst horizontalListSortingStrategy = _ref => {\n var _rects$activeIndex;\n\n let {\n rects,\n activeNodeRect: fallbackActiveRect,\n activeIndex,\n overIndex,\n index\n } = _ref;\n const activeNodeRect = (_rects$activeIndex = rects[activeIndex]) != null ? _rects$activeIndex : fallbackActiveRect;\n\n if (!activeNodeRect) {\n return null;\n }\n\n const itemGap = getItemGap(rects, index, activeIndex);\n\n if (index === activeIndex) {\n const newIndexRect = rects[overIndex];\n\n if (!newIndexRect) {\n return null;\n }\n\n return {\n x: activeIndex < overIndex ? newIndexRect.left + newIndexRect.width - (activeNodeRect.left + activeNodeRect.width) : newIndexRect.left - activeNodeRect.left,\n y: 0,\n ...defaultScale\n };\n }\n\n if (index > activeIndex && index <= overIndex) {\n return {\n x: -activeNodeRect.width - itemGap,\n y: 0,\n ...defaultScale\n };\n }\n\n if (index < activeIndex && index >= overIndex) {\n return {\n x: activeNodeRect.width + itemGap,\n y: 0,\n ...defaultScale\n };\n }\n\n return {\n x: 0,\n y: 0,\n ...defaultScale\n };\n};\n\nfunction getItemGap(rects, index, activeIndex) {\n const currentRect = rects[index];\n const previousRect = rects[index - 1];\n const nextRect = rects[index + 1];\n\n if (!currentRect || !previousRect && !nextRect) {\n return 0;\n }\n\n if (activeIndex < index) {\n return previousRect ? currentRect.left - (previousRect.left + previousRect.width) : nextRect.left - (currentRect.left + currentRect.width);\n }\n\n return nextRect ? nextRect.left - (currentRect.left + currentRect.width) : currentRect.left - (previousRect.left + previousRect.width);\n}\n\nconst rectSortingStrategy = _ref => {\n let {\n rects,\n activeIndex,\n overIndex,\n index\n } = _ref;\n const newRects = arrayMove(rects, overIndex, activeIndex);\n const oldRect = rects[index];\n const newRect = newRects[index];\n\n if (!newRect || !oldRect) {\n return null;\n }\n\n return {\n x: newRect.left - oldRect.left,\n y: newRect.top - oldRect.top,\n scaleX: newRect.width / oldRect.width,\n scaleY: newRect.height / oldRect.height\n };\n};\n\nconst rectSwappingStrategy = _ref => {\n let {\n activeIndex,\n index,\n rects,\n overIndex\n } = _ref;\n let oldRect;\n let newRect;\n\n if (index === activeIndex) {\n oldRect = rects[index];\n newRect = rects[overIndex];\n }\n\n if (index === overIndex) {\n oldRect = rects[index];\n newRect = rects[activeIndex];\n }\n\n if (!newRect || !oldRect) {\n return null;\n }\n\n return {\n x: newRect.left - oldRect.left,\n y: newRect.top - oldRect.top,\n scaleX: newRect.width / oldRect.width,\n scaleY: newRect.height / oldRect.height\n };\n};\n\n// To-do: We should be calculating scale transformation\nconst defaultScale$1 = {\n scaleX: 1,\n scaleY: 1\n};\nconst verticalListSortingStrategy = _ref => {\n var _rects$activeIndex;\n\n let {\n activeIndex,\n activeNodeRect: fallbackActiveRect,\n index,\n rects,\n overIndex\n } = _ref;\n const activeNodeRect = (_rects$activeIndex = rects[activeIndex]) != null ? _rects$activeIndex : fallbackActiveRect;\n\n if (!activeNodeRect) {\n return null;\n }\n\n if (index === activeIndex) {\n const overIndexRect = rects[overIndex];\n\n if (!overIndexRect) {\n return null;\n }\n\n return {\n x: 0,\n y: activeIndex < overIndex ? overIndexRect.top + overIndexRect.height - (activeNodeRect.top + activeNodeRect.height) : overIndexRect.top - activeNodeRect.top,\n ...defaultScale$1\n };\n }\n\n const itemGap = getItemGap$1(rects, index, activeIndex);\n\n if (index > activeIndex && index <= overIndex) {\n return {\n x: 0,\n y: -activeNodeRect.height - itemGap,\n ...defaultScale$1\n };\n }\n\n if (index < activeIndex && index >= overIndex) {\n return {\n x: 0,\n y: activeNodeRect.height + itemGap,\n ...defaultScale$1\n };\n }\n\n return {\n x: 0,\n y: 0,\n ...defaultScale$1\n };\n};\n\nfunction getItemGap$1(clientRects, index, activeIndex) {\n const currentRect = clientRects[index];\n const previousRect = clientRects[index - 1];\n const nextRect = clientRects[index + 1];\n\n if (!currentRect) {\n return 0;\n }\n\n if (activeIndex < index) {\n return previousRect ? currentRect.top - (previousRect.top + previousRect.height) : nextRect ? nextRect.top - (currentRect.top + currentRect.height) : 0;\n }\n\n return nextRect ? nextRect.top - (currentRect.top + currentRect.height) : previousRect ? currentRect.top - (previousRect.top + previousRect.height) : 0;\n}\n\nconst ID_PREFIX = 'Sortable';\nconst Context = /*#__PURE__*/React.createContext({\n activeIndex: -1,\n containerId: ID_PREFIX,\n disableTransforms: false,\n items: [],\n overIndex: -1,\n useDragOverlay: false,\n sortedRects: [],\n strategy: rectSortingStrategy,\n disabled: {\n draggable: false,\n droppable: false\n }\n});\nfunction SortableContext(_ref) {\n let {\n children,\n id,\n items: userDefinedItems,\n strategy = rectSortingStrategy,\n disabled: disabledProp = false\n } = _ref;\n const {\n active,\n dragOverlay,\n droppableRects,\n over,\n measureDroppableContainers\n } = useDndContext();\n const containerId = useUniqueId(ID_PREFIX, id);\n const useDragOverlay = Boolean(dragOverlay.rect !== null);\n const items = useMemo(() => userDefinedItems.map(item => typeof item === 'object' && 'id' in item ? item.id : item), [userDefinedItems]);\n const isDragging = active != null;\n const activeIndex = active ? items.indexOf(active.id) : -1;\n const overIndex = over ? items.indexOf(over.id) : -1;\n const previousItemsRef = useRef(items);\n const itemsHaveChanged = !itemsEqual(items, previousItemsRef.current);\n const disableTransforms = overIndex !== -1 && activeIndex === -1 || itemsHaveChanged;\n const disabled = normalizeDisabled(disabledProp);\n useIsomorphicLayoutEffect(() => {\n if (itemsHaveChanged && isDragging) {\n measureDroppableContainers(items);\n }\n }, [itemsHaveChanged, items, isDragging, measureDroppableContainers]);\n useEffect(() => {\n previousItemsRef.current = items;\n }, [items]);\n const contextValue = useMemo(() => ({\n activeIndex,\n containerId,\n disabled,\n disableTransforms,\n items,\n overIndex,\n useDragOverlay,\n sortedRects: getSortedRects(items, droppableRects),\n strategy\n }), // eslint-disable-next-line react-hooks/exhaustive-deps\n [activeIndex, containerId, disabled.draggable, disabled.droppable, disableTransforms, items, overIndex, droppableRects, useDragOverlay, strategy]);\n return React.createElement(Context.Provider, {\n value: contextValue\n }, children);\n}\n\nconst defaultNewIndexGetter = _ref => {\n let {\n id,\n items,\n activeIndex,\n overIndex\n } = _ref;\n return arrayMove(items, activeIndex, overIndex).indexOf(id);\n};\nconst defaultAnimateLayoutChanges = _ref2 => {\n let {\n containerId,\n isSorting,\n wasDragging,\n index,\n items,\n newIndex,\n previousItems,\n previousContainerId,\n transition\n } = _ref2;\n\n if (!transition || !wasDragging) {\n return false;\n }\n\n if (previousItems !== items && index === newIndex) {\n return false;\n }\n\n if (isSorting) {\n return true;\n }\n\n return newIndex !== index && containerId === previousContainerId;\n};\nconst defaultTransition = {\n duration: 200,\n easing: 'ease'\n};\nconst transitionProperty = 'transform';\nconst disabledTransition = /*#__PURE__*/CSS.Transition.toString({\n property: transitionProperty,\n duration: 0,\n easing: 'linear'\n});\nconst defaultAttributes = {\n roleDescription: 'sortable'\n};\n\n/*\r\n * When the index of an item changes while sorting,\r\n * we need to temporarily disable the transforms\r\n */\n\nfunction useDerivedTransform(_ref) {\n let {\n disabled,\n index,\n node,\n rect\n } = _ref;\n const [derivedTransform, setDerivedtransform] = useState(null);\n const previousIndex = useRef(index);\n useIsomorphicLayoutEffect(() => {\n if (!disabled && index !== previousIndex.current && node.current) {\n const initial = rect.current;\n\n if (initial) {\n const current = getClientRect(node.current, {\n ignoreTransform: true\n });\n const delta = {\n x: initial.left - current.left,\n y: initial.top - current.top,\n scaleX: initial.width / current.width,\n scaleY: initial.height / current.height\n };\n\n if (delta.x || delta.y) {\n setDerivedtransform(delta);\n }\n }\n }\n\n if (index !== previousIndex.current) {\n previousIndex.current = index;\n }\n }, [disabled, index, node, rect]);\n useEffect(() => {\n if (derivedTransform) {\n setDerivedtransform(null);\n }\n }, [derivedTransform]);\n return derivedTransform;\n}\n\nfunction useSortable(_ref) {\n let {\n animateLayoutChanges = defaultAnimateLayoutChanges,\n attributes: userDefinedAttributes,\n disabled: localDisabled,\n data: customData,\n getNewIndex = defaultNewIndexGetter,\n id,\n strategy: localStrategy,\n resizeObserverConfig,\n transition = defaultTransition\n } = _ref;\n const {\n items,\n containerId,\n activeIndex,\n disabled: globalDisabled,\n disableTransforms,\n sortedRects,\n overIndex,\n useDragOverlay,\n strategy: globalStrategy\n } = useContext(Context);\n const disabled = normalizeLocalDisabled(localDisabled, globalDisabled);\n const index = items.indexOf(id);\n const data = useMemo(() => ({\n sortable: {\n containerId,\n index,\n items\n },\n ...customData\n }), [containerId, customData, index, items]);\n const itemsAfterCurrentSortable = useMemo(() => items.slice(items.indexOf(id)), [items, id]);\n const {\n rect,\n node,\n isOver,\n setNodeRef: setDroppableNodeRef\n } = useDroppable({\n id,\n data,\n disabled: disabled.droppable,\n resizeObserverConfig: {\n updateMeasurementsFor: itemsAfterCurrentSortable,\n ...resizeObserverConfig\n }\n });\n const {\n active,\n activatorEvent,\n activeNodeRect,\n attributes,\n setNodeRef: setDraggableNodeRef,\n listeners,\n isDragging,\n over,\n setActivatorNodeRef,\n transform\n } = useDraggable({\n id,\n data,\n attributes: { ...defaultAttributes,\n ...userDefinedAttributes\n },\n disabled: disabled.draggable\n });\n const setNodeRef = useCombinedRefs(setDroppableNodeRef, setDraggableNodeRef);\n const isSorting = Boolean(active);\n const displaceItem = isSorting && !disableTransforms && isValidIndex(activeIndex) && isValidIndex(overIndex);\n const shouldDisplaceDragSource = !useDragOverlay && isDragging;\n const dragSourceDisplacement = shouldDisplaceDragSource && displaceItem ? transform : null;\n const strategy = localStrategy != null ? localStrategy : globalStrategy;\n const finalTransform = displaceItem ? dragSourceDisplacement != null ? dragSourceDisplacement : strategy({\n rects: sortedRects,\n activeNodeRect,\n activeIndex,\n overIndex,\n index\n }) : null;\n const newIndex = isValidIndex(activeIndex) && isValidIndex(overIndex) ? getNewIndex({\n id,\n items,\n activeIndex,\n overIndex\n }) : index;\n const activeId = active == null ? void 0 : active.id;\n const previous = useRef({\n activeId,\n items,\n newIndex,\n containerId\n });\n const itemsHaveChanged = items !== previous.current.items;\n const shouldAnimateLayoutChanges = animateLayoutChanges({\n active,\n containerId,\n isDragging,\n isSorting,\n id,\n index,\n items,\n newIndex: previous.current.newIndex,\n previousItems: previous.current.items,\n previousContainerId: previous.current.containerId,\n transition,\n wasDragging: previous.current.activeId != null\n });\n const derivedTransform = useDerivedTransform({\n disabled: !shouldAnimateLayoutChanges,\n index,\n node,\n rect\n });\n useEffect(() => {\n if (isSorting && previous.current.newIndex !== newIndex) {\n previous.current.newIndex = newIndex;\n }\n\n if (containerId !== previous.current.containerId) {\n previous.current.containerId = containerId;\n }\n\n if (items !== previous.current.items) {\n previous.current.items = items;\n }\n }, [isSorting, newIndex, containerId, items]);\n useEffect(() => {\n if (activeId === previous.current.activeId) {\n return;\n }\n\n if (activeId && !previous.current.activeId) {\n previous.current.activeId = activeId;\n return;\n }\n\n const timeoutId = setTimeout(() => {\n previous.current.activeId = activeId;\n }, 50);\n return () => clearTimeout(timeoutId);\n }, [activeId]);\n return {\n active,\n activeIndex,\n attributes,\n data,\n rect,\n index,\n newIndex,\n items,\n isOver,\n isSorting,\n isDragging,\n listeners,\n node,\n overIndex,\n over,\n setNodeRef,\n setActivatorNodeRef,\n setDroppableNodeRef,\n setDraggableNodeRef,\n transform: derivedTransform != null ? derivedTransform : finalTransform,\n transition: getTransition()\n };\n\n function getTransition() {\n if ( // Temporarily disable transitions for a single frame to set up derived transforms\n derivedTransform || // Or to prevent items jumping to back to their \"new\" position when items change\n itemsHaveChanged && previous.current.newIndex === index) {\n return disabledTransition;\n }\n\n if (shouldDisplaceDragSource && !isKeyboardEvent(activatorEvent) || !transition) {\n return undefined;\n }\n\n if (isSorting || shouldAnimateLayoutChanges) {\n return CSS.Transition.toString({ ...transition,\n property: transitionProperty\n });\n }\n\n return undefined;\n }\n}\n\nfunction normalizeLocalDisabled(localDisabled, globalDisabled) {\n var _localDisabled$dragga, _localDisabled$droppa;\n\n if (typeof localDisabled === 'boolean') {\n return {\n draggable: localDisabled,\n // Backwards compatibility\n droppable: false\n };\n }\n\n return {\n draggable: (_localDisabled$dragga = localDisabled == null ? void 0 : localDisabled.draggable) != null ? _localDisabled$dragga : globalDisabled.draggable,\n droppable: (_localDisabled$droppa = localDisabled == null ? void 0 : localDisabled.droppable) != null ? _localDisabled$droppa : globalDisabled.droppable\n };\n}\n\nfunction hasSortableData(entry) {\n if (!entry) {\n return false;\n }\n\n const data = entry.data.current;\n\n if (data && 'sortable' in data && typeof data.sortable === 'object' && 'containerId' in data.sortable && 'items' in data.sortable && 'index' in data.sortable) {\n return true;\n }\n\n return false;\n}\n\nconst directions = [KeyboardCode.Down, KeyboardCode.Right, KeyboardCode.Up, KeyboardCode.Left];\nconst sortableKeyboardCoordinates = (event, _ref) => {\n let {\n context: {\n active,\n collisionRect,\n droppableRects,\n droppableContainers,\n over,\n scrollableAncestors\n }\n } = _ref;\n\n if (directions.includes(event.code)) {\n event.preventDefault();\n\n if (!active || !collisionRect) {\n return;\n }\n\n const filteredContainers = [];\n droppableContainers.getEnabled().forEach(entry => {\n if (!entry || entry != null && entry.disabled) {\n return;\n }\n\n const rect = droppableRects.get(entry.id);\n\n if (!rect) {\n return;\n }\n\n switch (event.code) {\n case KeyboardCode.Down:\n if (collisionRect.top < rect.top) {\n filteredContainers.push(entry);\n }\n\n break;\n\n case KeyboardCode.Up:\n if (collisionRect.top > rect.top) {\n filteredContainers.push(entry);\n }\n\n break;\n\n case KeyboardCode.Left:\n if (collisionRect.left > rect.left) {\n filteredContainers.push(entry);\n }\n\n break;\n\n case KeyboardCode.Right:\n if (collisionRect.left < rect.left) {\n filteredContainers.push(entry);\n }\n\n break;\n }\n });\n const collisions = closestCorners({\n active,\n collisionRect: collisionRect,\n droppableRects,\n droppableContainers: filteredContainers,\n pointerCoordinates: null\n });\n let closestId = getFirstCollision(collisions, 'id');\n\n if (closestId === (over == null ? void 0 : over.id) && collisions.length > 1) {\n closestId = collisions[1].id;\n }\n\n if (closestId != null) {\n const activeDroppable = droppableContainers.get(active.id);\n const newDroppable = droppableContainers.get(closestId);\n const newRect = newDroppable ? droppableRects.get(newDroppable.id) : null;\n const newNode = newDroppable == null ? void 0 : newDroppable.node.current;\n\n if (newNode && newRect && activeDroppable && newDroppable) {\n const newScrollAncestors = getScrollableAncestors(newNode);\n const hasDifferentScrollAncestors = newScrollAncestors.some((element, index) => scrollableAncestors[index] !== element);\n const hasSameContainer = isSameContainer(activeDroppable, newDroppable);\n const isAfterActive = isAfter(activeDroppable, newDroppable);\n const offset = hasDifferentScrollAncestors || !hasSameContainer ? {\n x: 0,\n y: 0\n } : {\n x: isAfterActive ? collisionRect.width - newRect.width : 0,\n y: isAfterActive ? collisionRect.height - newRect.height : 0\n };\n const rectCoordinates = {\n x: newRect.left,\n y: newRect.top\n };\n const newCoordinates = offset.x && offset.y ? rectCoordinates : subtract(rectCoordinates, offset);\n return newCoordinates;\n }\n }\n }\n\n return undefined;\n};\n\nfunction isSameContainer(a, b) {\n if (!hasSortableData(a) || !hasSortableData(b)) {\n return false;\n }\n\n return a.data.current.sortable.containerId === b.data.current.sortable.containerId;\n}\n\nfunction isAfter(a, b) {\n if (!hasSortableData(a) || !hasSortableData(b)) {\n return false;\n }\n\n if (!isSameContainer(a, b)) {\n return false;\n }\n\n return a.data.current.sortable.index < b.data.current.sortable.index;\n}\n\nexport { SortableContext, arrayMove, arraySwap, defaultAnimateLayoutChanges, defaultNewIndexGetter, hasSortableData, horizontalListSortingStrategy, rectSortingStrategy, rectSwappingStrategy, sortableKeyboardCoordinates, useSortable, verticalListSortingStrategy };\n//# sourceMappingURL=sortable.esm.js.map\n","import React from \"react\";\n\nimport { useSortable } from \"@dnd-kit/sortable\";\nimport { CSS } from \"@dnd-kit/utilities\";\nimport { countBy } from \"neetocist\";\nimport { Reorder } from \"neetoicons\";\n\nconst FieldBlock = ({ field, index, fields }) => {\n const systemFieldsCount = countBy({ isSystem: true }, fields);\n\n const { attributes, listeners, setNodeRef, transform } = useSortable({\n id: field.id,\n data: { index },\n });\n\n const style = { transform: CSS.Transform.toString(transform) };\n\n return (\n <div\n ref={setNodeRef}\n {...{ style, ...attributes, ...listeners }}\n className=\"neeto-ui-text-gray-800 mb-3 flex w-full items-center space-x-4 font-medium\"\n data-cy=\"reorder-field-block\"\n >\n <div className=\"neeto-ui-bg-gray-100 neeto-ui-text-gray-700 neeto-ui-rounded-sm flex h-6 w-6 flex-shrink-0 items-center justify-center p-1\">\n {index - systemFieldsCount + 1}\n </div>\n <div className=\"neeto-ui-border-gray-400 neeto-ui-bg-white neeto-ui-rounded neeto-ui-shadow-xs flex flex-grow items-center space-x-4 border border-solid p-3\">\n <Reorder />\n <div data-cy=\"reorder-field-block-name\">{field.name}</div>\n </div>\n </div>\n );\n};\n\nexport default React.memo(FieldBlock);\n","import React, { useRef, useState } from \"react\";\n\nimport { DndContext, closestCenter } from \"@dnd-kit/core\";\nimport {\n arrayMove,\n SortableContext,\n verticalListSortingStrategy,\n} from \"@dnd-kit/sortable\";\nimport { getQueryParams } from \"neetocommons/utils\";\nimport { Pane, Typography, Button } from \"neetoui\";\nimport { isEmpty } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport {\n useFetchFields,\n useReorderFields,\n} from \"hooks/reactQuery/useFieldsApi\";\n\nimport FieldBlock from \"./FieldBlock\";\n\nimport { FIELD_STATES } from \"../constants\";\n\nconst ReorderPane = ({ isOpen, onClose, ownerId }) => {\n const [fields, setFields] = useState([]);\n const initialStateRef = useRef([]);\n\n const { t } = useTranslation();\n const { resource } = getQueryParams();\n\n const { mutate: reorderField, isLoading: isSubmitting } = useReorderFields();\n\n const fieldParams = {\n resourceType: isEmpty(ownerId) ? resource : undefined,\n ownerId,\n state: FIELD_STATES.active,\n searchTerm: \"\",\n };\n\n const { data: { fields: allFields = [] } = {} } = useFetchFields(\n fieldParams,\n {\n enabled: !!resource && isOpen,\n onSuccess: ({ fields }) => {\n setFields(fields);\n initialStateRef.current = fields;\n },\n }\n );\n\n const handleDragEnd = ({ active, over }) => {\n if (active.id !== over.id) {\n setFields(fields =>\n arrayMove(fields, active.data.current.index, over.data.current.index)\n );\n }\n };\n\n const handleReorderSave = () => {\n const params = [];\n fields.map(\n (field, index) =>\n field.id !== allFields[index].id &&\n params.push({ id: field.id, displayOrder: index + 1 })\n );\n\n reorderField(\n { ownerId: isEmpty(ownerId) ? undefined : ownerId, fields: params },\n { onSuccess: onClose }\n );\n };\n\n return (\n <Pane {...{ isOpen, onClose }}>\n <Pane.Header>\n <Typography data-cy=\"reorder-pane-header\" style=\"h2\" weight=\"semibold\">\n {t(\"neetoFields.titles.reorderFields\")}\n </Typography>\n </Pane.Header>\n <Pane.Body>\n <Typography\n className=\"mb-3\"\n data-cy=\"reorder-pane-message\"\n style=\"body2\"\n >\n {t(\"neetoFields.messages.reorderFields\")}\n </Typography>\n <div className=\"flex w-full flex-col items-center\">\n <DndContext\n collisionDetection={closestCenter}\n onDragEnd={handleDragEnd}\n >\n <SortableContext\n items={fields}\n strategy={verticalListSortingStrategy}\n >\n {fields.map((field, index) => {\n if (field.isSystem) return null;\n\n return <FieldBlock {...{ field, fields, index }} key={index} />;\n })}\n </SortableContext>\n </DndContext>\n </div>\n </Pane.Body>\n <Pane.Footer className=\"flex items-center space-x-2\">\n <Button\n data-cy=\"save-changes-button\"\n disabled={initialStateRef.current === fields}\n label={t(\"neetoFields.labels.saveChanges\")}\n loading={isSubmitting}\n onClick={handleReorderSave}\n />\n <Button\n data-cy=\"cancel-button\"\n label={t(\"neetoFields.labels.cancel\")}\n style=\"text\"\n onClick={onClose}\n />\n </Pane.Footer>\n </Pane>\n );\n};\n\nexport default ReorderPane;\n","import React from \"react\";\n\nimport { Bar as FilterBar } from \"neetofilters\";\nimport NeetoUISubHeader from \"neetomolecules/SubHeader\";\nimport { Typography } from \"neetoui\";\nimport { useTranslation } from \"react-i18next\";\n\n// eslint-disable-next-line @bigbinary/neeto/no-dumb-components-with-use-translation\nconst Subheader = ({ count, searchKeywordProps }) => {\n const { t } = useTranslation();\n\n return (\n <NeetoUISubHeader\n leftActionBlock={\n <>\n <Typography\n className=\"neeto-ui-gray-800 mr-4 font-semibold\"\n data-cy=\"neeto-fields-subheader-text\"\n style=\"h4\"\n >\n {t(\"neetoFields.titles.fieldWithCount\", { count })}\n </Typography>\n <FilterBar keyword={searchKeywordProps} />\n </>\n }\n />\n );\n};\n\nexport default Subheader;\n","import React from \"react\";\n\nimport { capitalize, isPresent } from \"neetocist\";\nimport { PLURAL } from \"neetocommons/constants\";\nimport Container from \"neetomolecules/Container\";\nimport PageLoader from \"neetomolecules/PageLoader\";\nimport { isEmpty } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport FieldsPane from \"components/FieldsPane\";\nimport { useFieldsDashboard } from \"hooks/useFieldsDashboard\";\n\nimport { ALL_KINDS, DEFAULT_FIELD_STATE_TAXONOMY } from \"./constants\";\nimport DeleteAlert from \"./DeleteAlert\";\nimport FieldsTable from \"./FieldsTable\";\nimport Header from \"./Header\";\nimport Menubar from \"./Menubar\";\nimport ReorderPane from \"./ReorderPane\";\nimport Subheader from \"./SubHeader\";\n\n/** @type {React.FC<import(\"types\").FieldsDashboardProps>} */\n\nconst FieldsDashboard = ({\n rowData = [],\n showOwnersInMenu: isOwnerBased = false,\n resourceType = \"\",\n allowedKinds = ALL_KINDS,\n paneProps,\n buildColumnData = ({ defaultColumns = [] }) => defaultColumns,\n breadcrumbs = [],\n showStateFilter = true,\n fieldStatesTaxonomy = DEFAULT_FIELD_STATE_TAXONOMY,\n helpDocUrl,\n helpDescription,\n nameAliases = {},\n headerTitle,\n resources, // Resources can be array of owners or array of resource types\n headerSize = \"small\",\n}) => {\n const { t } = useTranslation();\n\n const title = capitalize(\n headerTitle || t(\"neetoFields.titles.field\", PLURAL)\n );\n\n const {\n isPaneOpen,\n setIsPaneOpen,\n isDeleteAlertOpen,\n isReorderPaneOpen,\n setIsReorderPaneOpen,\n fields,\n count,\n columnData,\n selectedField,\n selectedMenu,\n ownerId,\n isFieldsFetching,\n isFieldsFetched,\n isDeleting,\n isScreenLoading,\n isMenuBarNeeded,\n showCountSubheader,\n handleDelete,\n handleAlertClose,\n handleClosePane,\n handleReorderPaneClose,\n searchInputProps,\n searchKeywordProps,\n stateFilterTabs,\n menuBarItems,\n reorderable,\n headerDisplayTitle,\n pageProps,\n setPageProps,\n } = useFieldsDashboard({\n buildColumnData,\n isOwnerBased,\n fieldStatesTaxonomy,\n nameAliases,\n title,\n resources,\n showStateFilter,\n });\n\n const headerProps = {\n reorderable,\n breadcrumbs,\n helpDocUrl,\n helpDescription,\n searchInputProps,\n setIsPaneOpen,\n setIsReorderPaneOpen,\n title: headerDisplayTitle,\n size: headerSize,\n };\n\n const showSubheader =\n showCountSubheader || isPresent(searchKeywordProps.value);\n\n return (\n <>\n {isMenuBarNeeded && <Menubar {...{ menuBarItems, title }} />}\n <Container>\n <Header {...headerProps} />\n {showSubheader && <Subheader {...{ count, searchKeywordProps }} />}\n {showStateFilter && stateFilterTabs}\n {isScreenLoading ? (\n <div className=\"flex h-screen w-full flex-grow items-center justify-center\">\n <PageLoader />\n </div>\n ) : (\n <FieldsTable\n {...{\n columnData,\n helpDescription,\n helpDocUrl,\n pageProps,\n setIsPaneOpen,\n setPageProps,\n showStateFilter,\n title,\n }}\n isFetched={isFieldsFetched}\n isFetching={isFieldsFetching}\n rowData={isEmpty(rowData) ? fields : rowData}\n totalCount={count}\n />\n )}\n <FieldsPane\n {...{ allowedKinds, selectedField }}\n additionalValidations={paneProps?.validations}\n hideRequiredSwitch={paneProps?.hideRequiredSwitch}\n initialValues={paneProps?.initialValues}\n isOpen={isPaneOpen}\n ownerId={isOwnerBased ? selectedMenu : \"\"}\n resourceType={isOwnerBased ? resourceType : selectedMenu}\n onClose={handleClosePane}\n onMutationSuccess={paneProps?.onMutationSuccess}\n >\n {paneProps?.children}\n </FieldsPane>\n </Container>\n <ReorderPane\n isOpen={isReorderPaneOpen}\n ownerId={isOwnerBased ? selectedMenu : \"\"}\n onClose={handleReorderPaneClose}\n />\n <DeleteAlert\n {...{\n handleAlertClose,\n handleDelete,\n isDeleteAlertOpen,\n isDeleting,\n ownerId,\n selectedField,\n }}\n resourceTypeName={isOwnerBased ? resourceType : selectedMenu}\n />\n </>\n );\n};\n\nexport default FieldsDashboard;\n","import { isEmpty } from \"ramda\";\n\nimport { KINDS } from \"components/FieldsDashBoard/constants\";\n\nexport const isFieldValueEmpty = (fieldKind, fieldValueData) => {\n if (fieldKind === KINDS.multiOption) return isEmpty(fieldValueData.values);\n\n if ([KINDS.timeRange, KINDS.dateRange].includes(fieldKind)) {\n return isEmpty(fieldValueData.value[0]) && isEmpty(fieldValueData.value[1]);\n }\n\n return isEmpty(fieldValueData.value);\n};\n","import axios from \"axios\";\nimport { buildUrl } from \"neetocommons/utils\";\n\nimport { FIELD_VALUES_URL, FIELD_VALUE_URL } from \"src/constants\";\n\nconst fieldValueUrl = fieldValueId =>\n buildUrl(FIELD_VALUE_URL, { fieldValueId });\n\nconst create = payload => axios.post(FIELD_VALUES_URL, payload);\n\nconst fetch = payload => axios.get(FIELD_VALUES_URL, payload);\n\nconst destroy = ({ id, payload }) =>\n axios.delete(fieldValueUrl(id), { data: payload });\n\nconst update = ({ id, payload }) => axios.patch(fieldValueUrl(id), payload);\n\nconst fieldValuesApi = { create, fetch, destroy, update };\n\nexport default fieldValuesApi;\n","import { useMutationWithInvalidation } from \"neetocommons/react-utils\";\nimport { useQuery } from \"react-query\";\n\nimport fieldValuesApi from \"apis/field_values\";\nimport { QUERY_KEYS } from \"src/constants/query\";\n\nconst useFetchFieldValues = params =>\n useQuery([QUERY_KEYS.FIELD_VALUES, params.resource], () =>\n fieldValuesApi.fetch({ params })\n );\n\nconst useCreateFieldValue = options =>\n useMutationWithInvalidation(fieldValuesApi.create, {\n keysToInvalidate: [[QUERY_KEYS.FIELD_VALUES]],\n ...options,\n });\n\nconst useUpdateFieldValue = options =>\n useMutationWithInvalidation(fieldValuesApi.update, {\n keysToInvalidate: [[QUERY_KEYS.FIELD_VALUES]],\n ...options,\n });\n\nconst useDeleteFieldValue = options =>\n useMutationWithInvalidation(fieldValuesApi.destroy, {\n keysToInvalidate: [[QUERY_KEYS.FIELD_VALUES]],\n ...options,\n });\n\nexport {\n useCreateFieldValue,\n useFetchFieldValues,\n useUpdateFieldValue,\n useDeleteFieldValue,\n};\n","import { useState } from \"react\";\n\nimport { assoc, head, values as getValues, isEmpty, omit } from \"ramda\";\n\nimport { isFieldValueEmpty } from \"components/FieldValuesContainer/utils\";\nimport { SUBMIT_FIELD_STATUS } from \"src/constants\";\n\nimport {\n useCreateFieldValue,\n useDeleteFieldValue,\n useUpdateFieldValue,\n} from \"./reactQuery/useFieldValuesApi\";\n\nconst useFieldValues = ({\n resourceId,\n resourceType,\n ownerId,\n queryOptions = {},\n}) => {\n const [submittingFieldDetails, setSubmittingFieldDetails] = useState({});\n\n const onMutationSuccess = (...callbackArguments) => {\n const [response = {}] = callbackArguments;\n\n setSubmittingFieldDetails(\n assoc(response.fieldValue?.fieldId, {\n status: SUBMIT_FIELD_STATUS.SUCCESS,\n })\n );\n queryOptions.onSuccess?.(...callbackArguments);\n };\n\n const onMutationError = (...callbackArguments) => {\n const [_, payload = {}] = callbackArguments;\n\n setSubmittingFieldDetails(\n assoc(payload.payload?.fieldValue?.fieldId, {\n status: SUBMIT_FIELD_STATUS.FAILED,\n })\n );\n queryOptions.onError?.(...callbackArguments);\n };\n\n const onSettled = (...callbackArguments) => {\n const [response = {}, _, request = {}] = callbackArguments;\n const fieldId =\n response.fieldValue?.fieldId || request.payload?.fieldValue?.fieldId;\n\n setTimeout(() => setSubmittingFieldDetails(omit([fieldId])), 5000);\n queryOptions.onSettled?.(...callbackArguments);\n };\n\n const updatedQueryOptions = {\n ...queryOptions,\n onSuccess: onMutationSuccess,\n onError: onMutationError,\n onSettled,\n };\n\n const { mutate: createFieldValue } = useCreateFieldValue(updatedQueryOptions);\n const { mutate: updateFieldValue } = useUpdateFieldValue(updatedQueryOptions);\n const { mutate: deleteFieldValue } = useDeleteFieldValue(updatedQueryOptions);\n\n const handleSubmit = (field, values) => {\n const fieldValue = head(getValues(values));\n setSubmittingFieldDetails(\n assoc(fieldValue.fieldId, { status: SUBMIT_FIELD_STATUS.SUBMITTING })\n );\n\n const payload = {\n fieldValue,\n resource: resourceType,\n resourceId,\n ownerId: isEmpty(ownerId) ? undefined : ownerId,\n };\n\n if (isFieldValueEmpty(field.kind, fieldValue.data)) {\n deleteFieldValue({ id: fieldValue.id, payload });\n } else {\n fieldValue.id\n ? updateFieldValue({ id: fieldValue.id, payload })\n : createFieldValue(payload);\n }\n };\n\n return { handleSubmit, submittingFieldDetails };\n};\n\nexport default useFieldValues;\n","import { useState, useRef, useEffect } from 'react';\nimport { useHistory } from 'react-router-dom';\n\nconst useNavPrompt = ({\n shouldBlock\n}) => {\n const history = useHistory();\n\n const _unblock = useRef(null);\n\n const _navPath = useRef(null);\n\n const [blocked, setBlocked] = useState(false);\n useEffect(() => {\n if (shouldBlock) {\n _unblock.current = history.block(location => {\n // need to use ref?\n setBlocked(true);\n _navPath.current = location.pathname + location.search; // $FlowFixMe - See https://github.com/ReactTraining/history/issues/728\n\n return false;\n });\n return () => {\n if (_unblock.current) {\n _unblock.current();\n }\n };\n }\n }, [shouldBlock]);\n\n const navigate = () => {\n if (_unblock.current) {\n _unblock.current();\n\n setBlocked(false);\n\n if (_navPath.current) {\n history.push(_navPath.current);\n }\n }\n };\n\n const hidePrompt = () => {\n setBlocked(false);\n };\n\n return {\n blocked,\n navigate,\n hidePrompt\n };\n};\n\nexport default useNavPrompt;","import { t } from \"i18next\";\n\nexport const DEAFULT_BLOCK_NAVIGATION_ALERT_PROPS = {\n title: t(\"neetoFields.messages.blockNavigationAlert.title\"),\n message: t(\"neetoFields.messages.blockNavigationAlert.message\"),\n submitButtonLabel: t(\n \"neetoFields.messages.blockNavigationAlert.submitButtonLabel\"\n ),\n cancelButtonLabel: t(\n \"neetoFields.messages.blockNavigationAlert.cancelButtonLabel\"\n ),\n};\n","import React from \"react\";\n\nimport { useFormikContext } from \"formik\";\nimport { Alert } from \"neetoui\";\nimport { useNavPrompt } from \"react-router-nav-prompt\";\n\nimport { DEAFULT_BLOCK_NAVIGATION_ALERT_PROPS } from \"./constants\";\n\nconst BlockNavigation = ({ blockNavigation, blockNavigationAlertProps }) => {\n const { dirty } = useFormikContext();\n const { blocked, hidePrompt, navigate } = useNavPrompt({\n shouldBlock: blockNavigation && dirty,\n });\n\n const alertProps = {\n ...DEAFULT_BLOCK_NAVIGATION_ALERT_PROPS,\n ...blockNavigationAlertProps,\n };\n\n return (\n <Alert\n cancelButtonLabel={alertProps[\"cancelButtonLabel\"]}\n isOpen={blocked}\n message={alertProps[\"message\"]}\n submitButtonLabel={alertProps[\"submitButtonLabel\"]}\n title={alertProps[\"title\"]}\n onClose={hidePrompt}\n onSubmit={navigate}\n />\n );\n};\n\nexport default BlockNavigation;\n","import React from \"react\";\n\nimport classnames from \"classnames\";\nimport { Form as NeetoUIForm } from \"neetoui/formik\";\n\nimport { getInitialFieldValue } from \"components/utils\";\n\nconst FieldValueInputWrapper = ({\n field,\n fieldValues,\n children,\n onSubmit,\n className = \"\",\n}) => (\n <NeetoUIForm\n scrollToErrorField\n className={classnames(\"flex w-full\", className)}\n formikProps={{\n initialValues: getInitialFieldValue({\n field,\n fieldValues,\n isIndividualFieldForm: true,\n }),\n onSubmit,\n enableReinitialize: true,\n }}\n >\n {children}\n </NeetoUIForm>\n);\n\nexport default FieldValueInputWrapper;\n","import React from \"react\";\n\nimport classnames from \"classnames\";\nimport { noop } from \"neetocist\";\nimport { Spinner, Typography } from \"neetoui\";\nimport { isEmpty, isNil } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { getFieldInput, getNonSystemFields } from \"components/utils\";\nimport useFieldValues from \"hooks/useFieldValues\";\nimport { useFetchFields } from \"src/hooks/reactQuery/useFieldsApi\";\n\nimport BlockNavigationAlert from \"./BlockNavigation\";\nimport FieldValueInputWrapper from \"./FieldValueInputWrapper\";\n\nconst FieldValuesContainer = ({\n resourceType = \"\",\n fieldValues,\n fields: propFields,\n ownerId = \"\",\n resourceId,\n customComponents = {},\n className = \"\",\n showBorder = true,\n formRefs,\n disabled = false,\n isRequiredColumnName,\n fieldClassName,\n onMutationSuccess = noop,\n blockNavigation = false,\n blockNavigationAlertProps = {},\n}) => {\n const { t } = useTranslation();\n\n const queryOptions = { onSuccess: onMutationSuccess };\n\n const {\n data: { fields: fetchedFields = [] } = {},\n isLoading: isFieldsLoading,\n } = useFetchFields(\n {\n resourceType: isEmpty(resourceType) ? undefined : resourceType,\n ownerId: isEmpty(ownerId) ? undefined : ownerId,\n state: \"active\",\n },\n { enabled: isNil(propFields) }\n );\n\n const { handleSubmit, submittingFieldDetails } = useFieldValues({\n resourceId,\n resourceType,\n ownerId,\n queryOptions,\n });\n\n const fields = propFields || fetchedFields;\n\n return (\n <div\n className={classnames(\n \"space-y-3 py-3\",\n {\n \"neeto-ui-border-gray-300 neeto-ui-rounded-lg neeto-ui-bg-white border px-4 py-2\":\n showBorder,\n },\n className\n )}\n >\n {isFieldsLoading ? (\n <div className=\"flex items-center justify-center\">\n <Spinner />\n </div>\n ) : (\n getNonSystemFields(fields).map(field => {\n const Field = getFieldInput({ field, customComponents });\n\n if (Field) {\n return (\n <div\n className={classnames(fieldClassName, \"space-y-1\")}\n key={field.id}\n >\n <FieldValueInputWrapper\n {...{ field, fieldValues }}\n className={fieldClassName}\n onSubmit={values => handleSubmit(field, values)}\n >\n <div className=\"w-full\">\n <Field\n {...{\n ...field,\n disabled,\n formRefs,\n isRequiredColumnName,\n }}\n individualSubmit\n submissionStatus={\n submittingFieldDetails[field.id]?.status\n }\n />\n <BlockNavigationAlert\n {...{ blockNavigation, blockNavigationAlertProps }}\n />\n </div>\n </FieldValueInputWrapper>\n </div>\n );\n }\n\n return (\n <Typography key={field.id} style=\"body2\">\n {t(\"neetoFields.messages.invalidKind\")}\n </Typography>\n );\n })\n )}\n </div>\n );\n};\n\nexport default FieldValuesContainer;\n","import { findBy, isNotEmpty } from \"neetocist\";\nimport { dateFormat } from \"neetocommons/utils\";\n\nimport { KINDS } from \"components/FieldsDashBoard/constants\";\n\nimport { getValueFromBool } from \"../commons/FieldInputs/utils\";\n\nexport const renderDataAsText = (field, fieldValues) => {\n let fieldValueData = findBy({ fieldId: field.id }, fieldValues)?.data?.value;\n\n switch (field.kind) {\n case KINDS.date:\n return fieldValueData && dateFormat.date(fieldValueData);\n case KINDS.time:\n return fieldValueData && dateFormat.time(fieldValueData);\n case KINDS.datetime:\n return fieldValueData && dateFormat.dateTime(fieldValueData);\n case KINDS.dateRange:\n return (\n fieldValueData &&\n isNotEmpty(fieldValueData) &&\n `${dateFormat.date(fieldValueData[0])} - ${dateFormat.date(\n fieldValueData[1]\n )}`\n );\n case KINDS.timeRange:\n return (\n fieldValueData &&\n `${dateFormat.time(fieldValueData[0])} - ${dateFormat.time(\n fieldValueData[1]\n )}`\n );\n case KINDS.singleOption:\n return findBy({ id: fieldValueData }, field.data)?.label;\n case KINDS.multiOption:\n fieldValueData = findBy({ fieldId: field.id }, fieldValues)?.data?.values;\n\n return (\n fieldValueData &&\n fieldValueData\n .map(optionId => findBy({ id: optionId }, field.data)?.label)\n .join(\", \")\n );\n\n case KINDS.checkbox:\n return getValueFromBool(fieldValueData);\n\n default:\n return fieldValueData;\n }\n};\n","import React, { useState } from \"react\";\n\nimport classnames from \"classnames\";\nimport { noop } from \"neetocist\";\nimport { hyphenize } from \"neetocommons/utils\";\nimport { Typography } from \"neetoui\";\n\nimport FieldValueInputWrapper from \"components/FieldValuesContainer/FieldValueInputWrapper\";\nimport { getFieldInput } from \"components/utils\";\nimport useFieldValues from \"hooks/useFieldValues\";\n\nimport { DIRECT_EDIT_INPUT_FIELDS } from \"./constants\";\nimport { renderDataAsText } from \"./utils\";\n\nconst DefaultDisplayComponent = ({ value }) => (\n <Typography className=\"text-wrap\">{value}</Typography>\n);\n\nconst InlineFieldValueInput = ({\n field,\n fieldValues,\n resourceType,\n resourceId,\n ownerId = \"\",\n onMutationSuccess = noop,\n onMutate = noop,\n customDisplayComponents = {},\n}) => {\n const [editMode, setEditMode] = useState(false);\n\n const queryOptions = {\n onMutate: variables => onMutate(variables.payload || variables),\n onSuccess: (...params) => {\n setEditMode(false);\n onMutationSuccess(...params);\n },\n };\n\n const { handleSubmit } = useFieldValues({\n resourceId,\n resourceType,\n ownerId,\n queryOptions,\n });\n\n const Field = getFieldInput({ field });\n\n const fieldKind = field.kind;\n const isEditable =\n !field.isSystem &&\n (editMode || DIRECT_EDIT_INPUT_FIELDS.includes(fieldKind));\n\n const displayValue = renderDataAsText(field, fieldValues) || \"-\";\n const {\n props: customDisplayComponentProps = {},\n component: CustomDisplayComponent = null,\n } = customDisplayComponents[fieldKind] || {};\n\n const DisplayComponent = CustomDisplayComponent || DefaultDisplayComponent;\n\n return isEditable ? (\n <div data-cy={`inline-field-value-input-${hyphenize(field.name)}`}>\n <FieldValueInputWrapper\n {...{ field, fieldValues }}\n onSubmit={values => handleSubmit(field, values)}\n >\n <Field\n {...{ ...field }}\n individualSubmit\n isInline\n onBlur={() => setEditMode(false)}\n />\n </FieldValueInputWrapper>\n </div>\n ) : (\n <div\n className={classnames({ \"cursor-pointer\": !field.isSystem })}\n onClick={() => setEditMode(true)}\n >\n <DisplayComponent\n {...{ resourceId }}\n value={displayValue}\n {...customDisplayComponentProps}\n />\n </div>\n );\n};\n\nexport default InlineFieldValueInput;\n","var e=[],t=[];function n(n,r){if(n&&\"undefined\"!=typeof document){var a,s=!0===r.prepend?\"prepend\":\"append\",d=!0===r.singleTag,i=\"string\"==typeof r.container?document.querySelector(r.container):document.getElementsByTagName(\"head\")[0];if(d){var u=e.indexOf(i);-1===u&&(u=e.push(i)-1,t[u]={}),a=t[u]&&t[u][s]?t[u][s]:t[u][s]=c()}else a=c();65279===n.charCodeAt(0)&&(n=n.substring(1)),a.styleSheet?a.styleSheet.cssText+=n:a.appendChild(document.createTextNode(n))}function c(){var e=document.createElement(\"style\");if(e.setAttribute(\"type\",\"text/css\"),r.attributes)for(var t=Object.keys(r.attributes),n=0;n<t.length;n++)e.setAttribute(t[n],r.attributes[t[n]]);var a=\"prepend\"===s?\"afterbegin\":\"beforeend\";return i.insertAdjacentElement(a,e),e}}export{n as default};\n"],"names":["_typeof","toPrimitive","toPropertyKey","arrayLikeToArray","arrayWithoutHoles","iterableToArray","unsupportedIterableToArray","nonIterableSpread","NEETO_FIELDS_URL","FIELDS_URL","concat","FIELD_VALUES_URL","FIELD_VALUE_URL","FIELD_URL","DEPENDENCIES_URL","FIELDS_REORDER_URL","CONFIGS_URL","SUBMIT_FIELD_STATUS","SUBMITTING","SUCCESS","FAILED","arrayWithHoles","iterableToArrayLimit","nonIterableRest","objectWithoutPropertiesLoose","require$$0","KINDS","text","number","monetary","singleOption","multiOption","date","time","dateRange","timeRange","textarea","textArea","person","checkbox","regex","integer","decimal","datetime","DISPLAY_KINDS","t","single_option","multi_option","date_range","time_range","text_area","FIELD_STATES","active","inactive","DEFAULT_FIELD_STATE_TAXONOMY","ALL_KINDS","values","MENU_ITEMS","EDIT","DELETE","DIRECT_EDIT_INPUT_FIELDS","isDateTime","kind","includes","isDropdown","isTextType","dateSchema","yup","nullable","isValueEmpty","value","isEmpty","trim","isCheckboxUnchecked","isArrayEmpty","buildSchemaAllowingEmptyValue","schema","mixed","test","name","isNotEmpty","isNotNil","validateSync","buildSchemaForRequiredInputs","isNil","ValidationError","buildSchema","_ref","isRequired","getBasicValidationSchema","_ref2","fieldData","string","array","of","regexPattern","condition","matches","cleanedRegex","helpMessage","buildFieldValidationSchema","_ref3","regexCondition","patternMatchingExp","conditionFlags","match","conditionWithoutFlags","replace","sanitizedFlags","_toConsumableArray","Set","join","startsWith","endsWith","slice","RegExp","validateField","_ref5","_asyncToGenerator","_regeneratorRuntime","mark","_callee","_ref4","fieldValue","fieldName","wrap","_callee$","_context","prev","next","object","shape","_defineProperty","validate","abrupt","t0","errors","stop","_x","apply","arguments","dateTimeToString","dateTime","dayjs","toString","getValueFromBool","getComponentDisplayName","Component","displayName","useFormikFields","fieldId","id","data","individualSubmit","formRef","formRefs","disabled","_ref$isRequiredColumn","isRequiredColumnName","_ref$isInline","isInline","_ref$onBlur","onBlur","handleBlur","noop","_ref$hasMetadataWrapp","hasMetadataWrapper","props","_objectWithoutProperties","_excluded","formikContext","useFormikContext","submitForm","dirty","isSubmitting","fieldPath","escapeString","fieldValuePath","renameKeys","current","_useField","useField","_useField2","_slicedToArray","formikFieldProps","meta","helpers","debouncedSubmitForm","useFuncDebounce","handleSubmit","setValue","getBlurHandler","undefined","getValueForField","findBy","_value","map","optionId","useEffect","touched","setTouched","fieldProps","_objectSpread","error","label","capitalize","labelProps","required","autoFocus","options","getPopupContainer","prop","Checkbox","_useFormikFields","submissionStatus","React","createElement","NeetoUICheckbox","_extends","checked","onChange","target","MetadataBlock","children","className","Label","hyphenize","htmlFor","Spinner","Check","size","WithMetadataBlock","withMetadataBlockWrapper","_props$isInline","_props$isRequiredColu","DateOrTime","_useState","useState","_useState2","isOpen","setIsOpen","useRef","_useFormikFields$fiel","handleChange","onOpenChange","open","shouldSubmit","notEquals","TimePicker","use12Hours","format","DatePicker","showTime","timeFormat","withMetadataBlock","MultiOption","Select","isMulti","isSearchable","strategy","selectedOptions","pluck","Number","Input","type","withOnClickOutsideWrapper","WithOnClickOutsideWrapper","ref","useOnClickOutside","enabled","DateRangePicker","TimeRangePicker","RangePicker","begin","end","SingleOption","isClearable","option","Text","handleKeyDown","event","key","shiftKey","preventDefault","handleFocus","element","length","setSelectionRange","Textarea","rows","style","resize","onFocus","onKeyDown","TextArea","standardComponents","TextInput","TextAreaInput","NumberInput","DateOrTimeInput","SingleOptionInput","MultiOptionInput","RangePickerInput","getFieldInput","field","_ref$customComponents","customComponents","removeItemsWithNullData","fieldValues","filter","item","removeNoiseFromValues","pick","transformValues","formikValues","fields","allFieldValues","clone","neetoFieldValues","forEach","push","cleanedFieldValues","pipe","fieldValuesAttributes","getDefaultInitialValue","getInitialFieldValue","_ref4$fieldValues","_ref4$isIndividualFie","isIndividualFieldForm","existingFieldValueData","keyInData","newFieldValueData","getAllInitialFieldValues","getNonSystemFields","mergeInitialValues","_ref7","initialValues","initialValue","mergeAll","omit","filterBy","isSystem","charCode","charCodeAt","neetoFieldsUtils","FieldInputs","withT","Field","Typography","fieldUrl","buildUrl","dependenciesUrl","fetch","resourceType","ownerId","state","filters","_ref$pageProps","pageProps","axios","get","params","create","payload","post","show","destroy","update","put","reorder","patch","dependencies","fieldsApi","QUERY_KEYS","FIELDS","FIELD_VALUES","CONFIGS","DEPENDENCIES","DEFAULT_STALE_TIME","useFetchFields","_ref$prefixQueryKeys","prefixQueryKeys","useQuery","staleTime","useCreateField","useMutationWithInvalidation","keysToInvalidate","useShowField","queryKey","useFetchDependencies","useUpdateField","useDestroyField","useReorderFields","arrangeOptionsDisplayOrder","index","displayOrder","buildPayload","formValues","_ref$resourceType","_ref$ownerId","isRegex","isAdditionalDataNeeded","ADDITIONAL_DATA_NEEDED_FIELD_KINDS","getPermittedKinds","allowedKinds","selectedKind","filteredKinds","FIELD_KINDS","group","generateValidationSchema","additionalValidations","BASIC_FIELD_FORM_VALIDATIONS","renderFormFooter","onClose","loading","Pane","Footer","ActionBlock","cancelButtonProps","onClick","getDefaultOption","uuidv4","PERMITTED_REGEX_PATTERN","ADVANCED_REGEX_ASSERTION_PATTERN","regexValidationSchema","message","lastIndex","lastIndexOf","substring","search","_unused","dropDownOptionsValidationSchema","min","INITIAL_FIELDS","toLabelAndValue","DEFAULT_REGEX_DATA","when","is","then","AdditionalInputs","_useTranslation","useTranslation","_useFormikContext","_useFormikContext$val","removeOption","arrayHelpers","remove","addOption","_inputs","isMetaKeyPressed","form","inputs","querySelectorAll","currentIndex","indexOf","focus","stopPropagation","FieldArray","Array","isArray","_","placeholder","suffix","Button","icon","Delete","fullWidth","FieldForm","chosenKind","_ref$kindSelectOption","kindSelectOptions","_ref$isSystem","_ref$hideRequiredSwit","hideRequiredSwitch","initialFocusField","setFieldValue","handleKindChange","Body","isDisabled","Switch","component","Add","_ref$allowedKinds","onMutationSuccess","_useCreateField","onSuccess","createField","mutate","isLoading","Fragment","Header","Form","formikProps","validationSchema","onSubmit","Edit","_ref$additionalValida","_ref$initialValues","_useShowField","_useShowField$data","_useShowField$data2","_useShowField$data2$f","_useUpdateField","_len","args","_key","updateField","PageLoader","assoc","enableReinitialize","permittedKinds","FieldsPane","_ref$selectedField","selectedField","initialFocusRef","require","this","getMenuItems","onDeleteClick","onEditClick","isVisible","not","buildDefaultColumns","dataIndex","title","width","render","MoreDropdown","dropdownProps","menuItems","dropdownButtonProps","boolVal","renderMenuBarItems","items","isOwnerBased","selectedMenu","handleBlockClick","nameAliases","toLocaleLowerCase","MenuBar","Item","slugify","humanize","description","resource","itemLabel","renderStateFilterTabs","selectedState","fieldStatesTaxonomy","activeFieldsCount","inactiveFieldsCount","Tab","getResourceName","_ref6","_findBy2","selectedVal","_findBy","selectedName","getDashBoardTitle","resourceName","isSingleResource","displayTitle","renderNoDataHelpText","url","Trans","i18nKey","components","a","Link","to","pathname","getDeletionConfirmationMessage","_ref8","affectedResourcesCount","pluralize","count","fetchConfigs","configsApi","useFetchConfigs","useFieldsDashboard","buildColumnData","resources","showStateFilter","isPaneOpen","setIsPaneOpen","_useState3","_useState4","isDeleteAlertOpen","setIsDeleteAlertOpen","_useState5","_useState6","isReorderPaneOpen","setIsReorderPaneOpen","_useState7","_useState8","setSelectedField","_useState9","page","DEFAULT_PAGE_INDEX","pageSize","DEFAULT_PAGE_SIZE","_useState10","setPageProps","_useQueryParams","useQueryParams","searchTerm","history","useHistory","searchKeywordProps","node","_useFetchConfigs","_useFetchConfigs$data","_useFetchConfigs$data2","_useFetchConfigs$data3","owners","_useFetchConfigs$data4","resourceTypes","isConfigsLoading","useMemo","buildFiltersFromURL","fieldParams","_useFetchFields","keepPreviousData","_useFetchFields$data","_useFetchFields$data2","_useFetchFields$data3","reorderable","isFieldsLoading","isFieldsFetching","isFetching","isFieldsFetched","isFetched","_useDestroyField","deleteField","isDeleting","handleDelete","handleClosePane","handleEditButtonClick","handleDeleteButtonClick","handleAlertClose","handleReorderPaneClose","defaultColumns","columnData","handleMetaClick","handleURLWithDefaultValues","queryParams","_menuItems$","_menuItems$2","any","isScreenLoading","showCountSubheader","searchInputProps","isMenuBarNeeded","isSearchBarNeeded","headerDisplayTitle","stateFilterTabs","menuBarItems","DeleteAlert","resourceTypeName","_useFetchDependencies","_useFetchDependencies2","_useFetchDependencies3","Alert","submitButtonLabel","FieldsTable","totalCount","rowData","helpDocUrl","showNoDataScreen","_getQueryParams","getQueryParams","noDataProps","helpText","primaryButtonProps","TableWrapper","NoData","Table","fixedHeight","allowRowClick","currentPageNumber","defaultPageSize","handlePageChange","breadcrumbs","helpDescription","actionBlockProps","NeetoUIHeader","actionBlock","searchProps","HelpPopover","helpLinkProps","href","Menubar","NeetoUIMenuBar","showMenu","useLayoutEffect","useCallback","createContext","useContext","createPortal","useReducer","memo","unstable_batchedUpdates","ID_PREFIX","ID_PREFIX$1","FieldBlock","systemFieldsCount","countBy","_useSortable","useSortable","attributes","listeners","setNodeRef","transform","CSS","Transform","Reorder","ReorderPane","setFields","initialStateRef","_useReorderFields","reorderField","allFields","handleDragEnd","over","arrayMove","handleReorderSave","weight","DndContext","collisionDetection","closestCenter","onDragEnd","SortableContext","verticalListSortingStrategy","Subheader","NeetoUISubHeader","leftActionBlock","FilterBar","keyword","FieldsDashboard","_ref$rowData","_ref$showOwnersInMenu","showOwnersInMenu","paneProps","_ref$buildColumnData","_ref2$defaultColumns","_ref$breadcrumbs","_ref$showStateFilter","_ref$fieldStatesTaxon","_ref$nameAliases","headerTitle","_ref$headerSize","headerSize","PLURAL","_useFieldsDashboard","headerProps","showSubheader","isPresent","Container","validations","isFieldValueEmpty","fieldKind","fieldValueData","fieldValueUrl","fieldValueId","fieldValuesApi","useCreateFieldValue","useUpdateFieldValue","useDeleteFieldValue","useFieldValues","resourceId","_ref$queryOptions","queryOptions","submittingFieldDetails","setSubmittingFieldDetails","_response$fieldValue","_queryOptions$onSucce","callbackArguments","_callbackArguments$","response","status","call","onMutationError","_payload$payload","_queryOptions$onError","_len2","_key2","_callbackArguments$2","onError","onSettled","_response$fieldValue2","_request$payload","_queryOptions$onSettl","_len3","_key3","_callbackArguments$3","_callbackArguments$4","request","setTimeout","updatedQueryOptions","_useCreateFieldValue","createFieldValue","_useUpdateFieldValue","updateFieldValue","_useDeleteFieldValue","deleteFieldValue","head","getValues","DEAFULT_BLOCK_NAVIGATION_ALERT_PROPS","cancelButtonLabel","BlockNavigation","blockNavigation","blockNavigationAlertProps","_useNavPrompt","useNavPrompt","shouldBlock","blocked","hidePrompt","navigate","alertProps","FieldValueInputWrapper","_ref$className","NeetoUIForm","scrollToErrorField","classnames","FieldValuesContainer","propFields","_ref$showBorder","showBorder","_ref$disabled","fieldClassName","_ref$onMutationSucces","_ref$blockNavigation","_ref$blockNavigationA","fetchedFields","_useFieldValues","_submittingFieldDetai","BlockNavigationAlert","renderDataAsText","_findBy3","dateFormat","_findBy4","DefaultDisplayComponent","InlineFieldValueInput","_ref2$ownerId","_ref2$onMutationSucce","_ref2$onMutate","onMutate","_ref2$customDisplayCo","customDisplayComponents","editMode","setEditMode","variables","isEditable","displayValue","_ref3$props","customDisplayComponentProps","_ref3$component","CustomDisplayComponent","DisplayComponent"],"mappings":"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"}
1
+ {"version":3,"file":"index.cjs.js","sources":["../node_modules/@babel/runtime/helpers/esm/typeof.js","../node_modules/@babel/runtime/helpers/esm/toPrimitive.js","../node_modules/@babel/runtime/helpers/esm/toPropertyKey.js","../node_modules/@babel/runtime/helpers/esm/defineProperty.js","../node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js","../node_modules/@babel/runtime/helpers/esm/arrayWithoutHoles.js","../node_modules/@babel/runtime/helpers/esm/iterableToArray.js","../node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js","../node_modules/@babel/runtime/helpers/esm/nonIterableSpread.js","../node_modules/@babel/runtime/helpers/esm/toConsumableArray.js","../app/javascript/src/constants/index.js","../node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js","../node_modules/@babel/runtime/helpers/esm/arrayWithHoles.js","../node_modules/@babel/runtime/helpers/esm/iterableToArrayLimit.js","../node_modules/@babel/runtime/helpers/esm/nonIterableRest.js","../node_modules/@babel/runtime/helpers/esm/slicedToArray.js","../node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js","../node_modules/@babel/runtime/helpers/esm/objectWithoutProperties.js","../node_modules/@babel/runtime/helpers/typeof.js","../node_modules/@babel/runtime/helpers/regeneratorRuntime.js","../node_modules/@babel/runtime/regenerator/index.js","../app/javascript/src/components/FieldsDashBoard/constants.js","../app/javascript/src/components/InlineFieldValueInput/constants.js","../app/javascript/src/hooks/utils.js","../app/javascript/src/components/commons/FieldInputs/utils.js","../app/javascript/src/hooks/useFormikFields.js","../app/javascript/src/components/commons/FieldInputs/Checkbox.jsx","../app/javascript/src/components/commons/MetadataBlock/index.jsx","../app/javascript/src/components/commons/MetadataBlock/WithMetadataBlock.jsx","../app/javascript/src/components/commons/FieldInputs/DateOrTime.jsx","../app/javascript/src/components/commons/FieldInputs/MultiOption.jsx","../app/javascript/src/components/commons/FieldInputs/Number.jsx","../app/javascript/src/components/commons/FieldInputs/RangePicker.jsx","../app/javascript/src/components/commons/FieldInputs/SingleOption.jsx","../app/javascript/src/components/commons/FieldInputs/Text.jsx","../app/javascript/src/components/commons/FieldInputs/TextArea.jsx","../app/javascript/src/components/utils.js","../app/javascript/src/components/FieldInputs.jsx","../app/javascript/src/apis/fields.js","../app/javascript/src/constants/query.js","../app/javascript/src/hooks/reactQuery/useFieldsApi.js","../app/javascript/src/components/FieldsPane/utils.jsx","../app/javascript/src/components/FieldsPane/constants.js","../app/javascript/src/components/FieldsPane/AdditionalInputs.jsx","../app/javascript/src/components/FieldsPane/FieldForm.jsx","../app/javascript/src/components/FieldsPane/Add.jsx","../app/javascript/src/components/FieldsPane/Edit.jsx","../app/javascript/src/components/FieldsPane/index.jsx","../node_modules/pluralize/pluralize.js","../app/javascript/src/components/FieldsDashBoard/utils.jsx","../app/javascript/src/apis/configs.js","../app/javascript/src/hooks/reactQuery/useConfigsApi.js","../app/javascript/src/hooks/useFieldsDashboard.js","../app/javascript/src/components/FieldsDashBoard/DeleteAlert.jsx","../app/javascript/src/components/FieldsDashBoard/FieldsTable.jsx","../app/javascript/src/components/FieldsDashBoard/Header/ActionBlock.jsx","../app/javascript/src/components/FieldsDashBoard/Header/index.jsx","../app/javascript/src/components/FieldsDashBoard/Menubar.jsx","../node_modules/@dnd-kit/utilities/dist/utilities.esm.js","../node_modules/@dnd-kit/accessibility/dist/accessibility.esm.js","../node_modules/@dnd-kit/core/dist/core.esm.js","../node_modules/@dnd-kit/sortable/dist/sortable.esm.js","../app/javascript/src/components/FieldsDashBoard/ReorderPane/FieldBlock.jsx","../app/javascript/src/components/FieldsDashBoard/ReorderPane/index.jsx","../app/javascript/src/components/FieldsDashBoard/SubHeader.jsx","../app/javascript/src/components/FieldsDashBoard/index.jsx","../app/javascript/src/components/FieldValuesContainer/utils.js","../app/javascript/src/apis/field_values.js","../app/javascript/src/hooks/reactQuery/useFieldValuesApi.js","../app/javascript/src/hooks/useFieldValues.js","../node_modules/react-router-nav-prompt/dist/useNavPrompt.js","../app/javascript/src/components/FieldValuesContainer/constants.js","../app/javascript/src/components/FieldValuesContainer/BlockNavigation.jsx","../app/javascript/src/components/FieldValuesContainer/FieldValueInputWrapper.jsx","../app/javascript/src/components/FieldValuesContainer/index.jsx","../app/javascript/src/components/InlineFieldValueInput/utils.js","../app/javascript/src/components/InlineFieldValueInput/index.jsx","../node_modules/rollup-plugin-styles/dist/runtime/inject-css.js"],"sourcesContent":["export default function _typeof(o) {\n \"@babel/helpers - typeof\";\n\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) {\n return typeof o;\n } : function (o) {\n return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o;\n }, _typeof(o);\n}","import _typeof from \"./typeof.js\";\nexport default function _toPrimitive(input, hint) {\n if (_typeof(input) !== \"object\" || input === null) return input;\n var prim = input[Symbol.toPrimitive];\n if (prim !== undefined) {\n var res = prim.call(input, hint || \"default\");\n if (_typeof(res) !== \"object\") return res;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return (hint === \"string\" ? String : Number)(input);\n}","import _typeof from \"./typeof.js\";\nimport toPrimitive from \"./toPrimitive.js\";\nexport default function _toPropertyKey(arg) {\n var key = toPrimitive(arg, \"string\");\n return _typeof(key) === \"symbol\" ? key : String(key);\n}","import toPropertyKey from \"./toPropertyKey.js\";\nexport default function _defineProperty(obj, key, value) {\n key = toPropertyKey(key);\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n return obj;\n}","export default function _arrayLikeToArray(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i];\n return arr2;\n}","import arrayLikeToArray from \"./arrayLikeToArray.js\";\nexport default function _arrayWithoutHoles(arr) {\n if (Array.isArray(arr)) return arrayLikeToArray(arr);\n}","export default function _iterableToArray(iter) {\n if (typeof Symbol !== \"undefined\" && iter[Symbol.iterator] != null || iter[\"@@iterator\"] != null) return Array.from(iter);\n}","import arrayLikeToArray from \"./arrayLikeToArray.js\";\nexport default function _unsupportedIterableToArray(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return arrayLikeToArray(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return Array.from(o);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return arrayLikeToArray(o, minLen);\n}","export default function _nonIterableSpread() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}","import arrayWithoutHoles from \"./arrayWithoutHoles.js\";\nimport iterableToArray from \"./iterableToArray.js\";\nimport unsupportedIterableToArray from \"./unsupportedIterableToArray.js\";\nimport nonIterableSpread from \"./nonIterableSpread.js\";\nexport default function _toConsumableArray(arr) {\n return arrayWithoutHoles(arr) || iterableToArray(arr) || unsupportedIterableToArray(arr) || nonIterableSpread();\n}","export const NEETO_FIELDS_URL = \"/neeto_fields_engine/api/v1\";\nexport const FIELDS_URL = `${NEETO_FIELDS_URL}/fields`;\nexport const FIELD_VALUES_URL = `${NEETO_FIELDS_URL}/field_values`;\nexport const FIELD_VALUE_URL = `${NEETO_FIELDS_URL}/field_values/:fieldValueId`;\nexport const FIELD_URL = `${NEETO_FIELDS_URL}/fields/:fieldId`;\nexport const DEPENDENCIES_URL = `${NEETO_FIELDS_URL}/fields/:fieldId/dependencies`;\nexport const FIELDS_REORDER_URL = `${FIELDS_URL}/reorder`;\nexport const CONFIGS_URL = `${NEETO_FIELDS_URL}/configs`;\n\nexport const INFO_ICON_SIZE = 16;\n\nexport const SUBMIT_FIELD_STATUS = {\n SUBMITTING: \"submitting\",\n SUCCESS: \"success\",\n FAILED: \"failed\",\n};\n","function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {\n try {\n var info = gen[key](arg);\n var value = info.value;\n } catch (error) {\n reject(error);\n return;\n }\n if (info.done) {\n resolve(value);\n } else {\n Promise.resolve(value).then(_next, _throw);\n }\n}\nexport default function _asyncToGenerator(fn) {\n return function () {\n var self = this,\n args = arguments;\n return new Promise(function (resolve, reject) {\n var gen = fn.apply(self, args);\n function _next(value) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value);\n }\n function _throw(err) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err);\n }\n _next(undefined);\n });\n };\n}","export default function _arrayWithHoles(arr) {\n if (Array.isArray(arr)) return arr;\n}","export default function _iterableToArrayLimit(r, l) {\n var t = null == r ? null : \"undefined\" != typeof Symbol && r[Symbol.iterator] || r[\"@@iterator\"];\n if (null != t) {\n var e,\n n,\n i,\n u,\n a = [],\n f = !0,\n o = !1;\n try {\n if (i = (t = t.call(r)).next, 0 === l) {\n if (Object(t) !== t) return;\n f = !1;\n } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0);\n } catch (r) {\n o = !0, n = r;\n } finally {\n try {\n if (!f && null != t[\"return\"] && (u = t[\"return\"](), Object(u) !== u)) return;\n } finally {\n if (o) throw n;\n }\n }\n return a;\n }\n}","export default function _nonIterableRest() {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}","import arrayWithHoles from \"./arrayWithHoles.js\";\nimport iterableToArrayLimit from \"./iterableToArrayLimit.js\";\nimport unsupportedIterableToArray from \"./unsupportedIterableToArray.js\";\nimport nonIterableRest from \"./nonIterableRest.js\";\nexport default function _slicedToArray(arr, i) {\n return arrayWithHoles(arr) || iterableToArrayLimit(arr, i) || unsupportedIterableToArray(arr, i) || nonIterableRest();\n}","export default function _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n return target;\n}","import objectWithoutPropertiesLoose from \"./objectWithoutPropertiesLoose.js\";\nexport default function _objectWithoutProperties(source, excluded) {\n if (source == null) return {};\n var target = objectWithoutPropertiesLoose(source, excluded);\n var key, i;\n if (Object.getOwnPropertySymbols) {\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\n for (i = 0; i < sourceSymbolKeys.length; i++) {\n key = sourceSymbolKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;\n target[key] = source[key];\n }\n }\n return target;\n}","function _typeof(o) {\n \"@babel/helpers - typeof\";\n\n return (module.exports = _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) {\n return typeof o;\n } : function (o) {\n return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o;\n }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports), _typeof(o);\n}\nmodule.exports = _typeof, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var _typeof = require(\"./typeof.js\")[\"default\"];\nfunction _regeneratorRuntime() {\n \"use strict\"; /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */\n module.exports = _regeneratorRuntime = function _regeneratorRuntime() {\n return e;\n }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;\n var t,\n e = {},\n r = Object.prototype,\n n = r.hasOwnProperty,\n o = Object.defineProperty || function (t, e, r) {\n t[e] = r.value;\n },\n i = \"function\" == typeof Symbol ? Symbol : {},\n a = i.iterator || \"@@iterator\",\n c = i.asyncIterator || \"@@asyncIterator\",\n u = i.toStringTag || \"@@toStringTag\";\n function define(t, e, r) {\n return Object.defineProperty(t, e, {\n value: r,\n enumerable: !0,\n configurable: !0,\n writable: !0\n }), t[e];\n }\n try {\n define({}, \"\");\n } catch (t) {\n define = function define(t, e, r) {\n return t[e] = r;\n };\n }\n function wrap(t, e, r, n) {\n var i = e && e.prototype instanceof Generator ? e : Generator,\n a = Object.create(i.prototype),\n c = new Context(n || []);\n return o(a, \"_invoke\", {\n value: makeInvokeMethod(t, r, c)\n }), a;\n }\n function tryCatch(t, e, r) {\n try {\n return {\n type: \"normal\",\n arg: t.call(e, r)\n };\n } catch (t) {\n return {\n type: \"throw\",\n arg: t\n };\n }\n }\n e.wrap = wrap;\n var h = \"suspendedStart\",\n l = \"suspendedYield\",\n f = \"executing\",\n s = \"completed\",\n y = {};\n function Generator() {}\n function GeneratorFunction() {}\n function GeneratorFunctionPrototype() {}\n var p = {};\n define(p, a, function () {\n return this;\n });\n var d = Object.getPrototypeOf,\n v = d && d(d(values([])));\n v && v !== r && n.call(v, a) && (p = v);\n var g = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(p);\n function defineIteratorMethods(t) {\n [\"next\", \"throw\", \"return\"].forEach(function (e) {\n define(t, e, function (t) {\n return this._invoke(e, t);\n });\n });\n }\n function AsyncIterator(t, e) {\n function invoke(r, o, i, a) {\n var c = tryCatch(t[r], t, o);\n if (\"throw\" !== c.type) {\n var u = c.arg,\n h = u.value;\n return h && \"object\" == _typeof(h) && n.call(h, \"__await\") ? e.resolve(h.__await).then(function (t) {\n invoke(\"next\", t, i, a);\n }, function (t) {\n invoke(\"throw\", t, i, a);\n }) : e.resolve(h).then(function (t) {\n u.value = t, i(u);\n }, function (t) {\n return invoke(\"throw\", t, i, a);\n });\n }\n a(c.arg);\n }\n var r;\n o(this, \"_invoke\", {\n value: function value(t, n) {\n function callInvokeWithMethodAndArg() {\n return new e(function (e, r) {\n invoke(t, n, e, r);\n });\n }\n return r = r ? r.then(callInvokeWithMethodAndArg, callInvokeWithMethodAndArg) : callInvokeWithMethodAndArg();\n }\n });\n }\n function makeInvokeMethod(e, r, n) {\n var o = h;\n return function (i, a) {\n if (o === f) throw new Error(\"Generator is already running\");\n if (o === s) {\n if (\"throw\" === i) throw a;\n return {\n value: t,\n done: !0\n };\n }\n for (n.method = i, n.arg = a;;) {\n var c = n.delegate;\n if (c) {\n var u = maybeInvokeDelegate(c, n);\n if (u) {\n if (u === y) continue;\n return u;\n }\n }\n if (\"next\" === n.method) n.sent = n._sent = n.arg;else if (\"throw\" === n.method) {\n if (o === h) throw o = s, n.arg;\n n.dispatchException(n.arg);\n } else \"return\" === n.method && n.abrupt(\"return\", n.arg);\n o = f;\n var p = tryCatch(e, r, n);\n if (\"normal\" === p.type) {\n if (o = n.done ? s : l, p.arg === y) continue;\n return {\n value: p.arg,\n done: n.done\n };\n }\n \"throw\" === p.type && (o = s, n.method = \"throw\", n.arg = p.arg);\n }\n };\n }\n function maybeInvokeDelegate(e, r) {\n var n = r.method,\n o = e.iterator[n];\n if (o === t) return r.delegate = null, \"throw\" === n && e.iterator[\"return\"] && (r.method = \"return\", r.arg = t, maybeInvokeDelegate(e, r), \"throw\" === r.method) || \"return\" !== n && (r.method = \"throw\", r.arg = new TypeError(\"The iterator does not provide a '\" + n + \"' method\")), y;\n var i = tryCatch(o, e.iterator, r.arg);\n if (\"throw\" === i.type) return r.method = \"throw\", r.arg = i.arg, r.delegate = null, y;\n var a = i.arg;\n return a ? a.done ? (r[e.resultName] = a.value, r.next = e.nextLoc, \"return\" !== r.method && (r.method = \"next\", r.arg = t), r.delegate = null, y) : a : (r.method = \"throw\", r.arg = new TypeError(\"iterator result is not an object\"), r.delegate = null, y);\n }\n function pushTryEntry(t) {\n var e = {\n tryLoc: t[0]\n };\n 1 in t && (e.catchLoc = t[1]), 2 in t && (e.finallyLoc = t[2], e.afterLoc = t[3]), this.tryEntries.push(e);\n }\n function resetTryEntry(t) {\n var e = t.completion || {};\n e.type = \"normal\", delete e.arg, t.completion = e;\n }\n function Context(t) {\n this.tryEntries = [{\n tryLoc: \"root\"\n }], t.forEach(pushTryEntry, this), this.reset(!0);\n }\n function values(e) {\n if (e || \"\" === e) {\n var r = e[a];\n if (r) return r.call(e);\n if (\"function\" == typeof e.next) return e;\n if (!isNaN(e.length)) {\n var o = -1,\n i = function next() {\n for (; ++o < e.length;) if (n.call(e, o)) return next.value = e[o], next.done = !1, next;\n return next.value = t, next.done = !0, next;\n };\n return i.next = i;\n }\n }\n throw new TypeError(_typeof(e) + \" is not iterable\");\n }\n return GeneratorFunction.prototype = GeneratorFunctionPrototype, o(g, \"constructor\", {\n value: GeneratorFunctionPrototype,\n configurable: !0\n }), o(GeneratorFunctionPrototype, \"constructor\", {\n value: GeneratorFunction,\n configurable: !0\n }), GeneratorFunction.displayName = define(GeneratorFunctionPrototype, u, \"GeneratorFunction\"), e.isGeneratorFunction = function (t) {\n var e = \"function\" == typeof t && t.constructor;\n return !!e && (e === GeneratorFunction || \"GeneratorFunction\" === (e.displayName || e.name));\n }, e.mark = function (t) {\n return Object.setPrototypeOf ? Object.setPrototypeOf(t, GeneratorFunctionPrototype) : (t.__proto__ = GeneratorFunctionPrototype, define(t, u, \"GeneratorFunction\")), t.prototype = Object.create(g), t;\n }, e.awrap = function (t) {\n return {\n __await: t\n };\n }, defineIteratorMethods(AsyncIterator.prototype), define(AsyncIterator.prototype, c, function () {\n return this;\n }), e.AsyncIterator = AsyncIterator, e.async = function (t, r, n, o, i) {\n void 0 === i && (i = Promise);\n var a = new AsyncIterator(wrap(t, r, n, o), i);\n return e.isGeneratorFunction(r) ? a : a.next().then(function (t) {\n return t.done ? t.value : a.next();\n });\n }, defineIteratorMethods(g), define(g, u, \"Generator\"), define(g, a, function () {\n return this;\n }), define(g, \"toString\", function () {\n return \"[object Generator]\";\n }), e.keys = function (t) {\n var e = Object(t),\n r = [];\n for (var n in e) r.push(n);\n return r.reverse(), function next() {\n for (; r.length;) {\n var t = r.pop();\n if (t in e) return next.value = t, next.done = !1, next;\n }\n return next.done = !0, next;\n };\n }, e.values = values, Context.prototype = {\n constructor: Context,\n reset: function reset(e) {\n if (this.prev = 0, this.next = 0, this.sent = this._sent = t, this.done = !1, this.delegate = null, this.method = \"next\", this.arg = t, this.tryEntries.forEach(resetTryEntry), !e) for (var r in this) \"t\" === r.charAt(0) && n.call(this, r) && !isNaN(+r.slice(1)) && (this[r] = t);\n },\n stop: function stop() {\n this.done = !0;\n var t = this.tryEntries[0].completion;\n if (\"throw\" === t.type) throw t.arg;\n return this.rval;\n },\n dispatchException: function dispatchException(e) {\n if (this.done) throw e;\n var r = this;\n function handle(n, o) {\n return a.type = \"throw\", a.arg = e, r.next = n, o && (r.method = \"next\", r.arg = t), !!o;\n }\n for (var o = this.tryEntries.length - 1; o >= 0; --o) {\n var i = this.tryEntries[o],\n a = i.completion;\n if (\"root\" === i.tryLoc) return handle(\"end\");\n if (i.tryLoc <= this.prev) {\n var c = n.call(i, \"catchLoc\"),\n u = n.call(i, \"finallyLoc\");\n if (c && u) {\n if (this.prev < i.catchLoc) return handle(i.catchLoc, !0);\n if (this.prev < i.finallyLoc) return handle(i.finallyLoc);\n } else if (c) {\n if (this.prev < i.catchLoc) return handle(i.catchLoc, !0);\n } else {\n if (!u) throw new Error(\"try statement without catch or finally\");\n if (this.prev < i.finallyLoc) return handle(i.finallyLoc);\n }\n }\n }\n },\n abrupt: function abrupt(t, e) {\n for (var r = this.tryEntries.length - 1; r >= 0; --r) {\n var o = this.tryEntries[r];\n if (o.tryLoc <= this.prev && n.call(o, \"finallyLoc\") && this.prev < o.finallyLoc) {\n var i = o;\n break;\n }\n }\n i && (\"break\" === t || \"continue\" === t) && i.tryLoc <= e && e <= i.finallyLoc && (i = null);\n var a = i ? i.completion : {};\n return a.type = t, a.arg = e, i ? (this.method = \"next\", this.next = i.finallyLoc, y) : this.complete(a);\n },\n complete: function complete(t, e) {\n if (\"throw\" === t.type) throw t.arg;\n return \"break\" === t.type || \"continue\" === t.type ? this.next = t.arg : \"return\" === t.type ? (this.rval = this.arg = t.arg, this.method = \"return\", this.next = \"end\") : \"normal\" === t.type && e && (this.next = e), y;\n },\n finish: function finish(t) {\n for (var e = this.tryEntries.length - 1; e >= 0; --e) {\n var r = this.tryEntries[e];\n if (r.finallyLoc === t) return this.complete(r.completion, r.afterLoc), resetTryEntry(r), y;\n }\n },\n \"catch\": function _catch(t) {\n for (var e = this.tryEntries.length - 1; e >= 0; --e) {\n var r = this.tryEntries[e];\n if (r.tryLoc === t) {\n var n = r.completion;\n if (\"throw\" === n.type) {\n var o = n.arg;\n resetTryEntry(r);\n }\n return o;\n }\n }\n throw new Error(\"illegal catch attempt\");\n },\n delegateYield: function delegateYield(e, r, n) {\n return this.delegate = {\n iterator: values(e),\n resultName: r,\n nextLoc: n\n }, \"next\" === this.method && (this.arg = t), y;\n }\n }, e;\n}\nmodule.exports = _regeneratorRuntime, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","// TODO(Babel 8): Remove this file.\n\nvar runtime = require(\"../helpers/regeneratorRuntime\")();\nmodule.exports = runtime;\n\n// Copied from https://github.com/facebook/regenerator/blob/main/packages/runtime/runtime.js#L736=\ntry {\n regeneratorRuntime = runtime;\n} catch (accidentalStrictMode) {\n if (typeof globalThis === \"object\") {\n globalThis.regeneratorRuntime = runtime;\n } else {\n Function(\"r\", \"regeneratorRuntime = r\")(runtime);\n }\n}\n","import { t } from \"i18next\";\nimport { values } from \"ramda\";\n\nexport const KINDS = {\n text: \"text\",\n number: \"number\",\n monetary: \"monetary\",\n singleOption: \"single_option\",\n multiOption: \"multi_option\",\n date: \"date\",\n time: \"time\",\n dateRange: \"date_range\",\n timeRange: \"time_range\",\n textarea: \"textarea\",\n textArea: \"text_area\",\n person: \"person\",\n checkbox: \"checkbox\",\n regex: \"regex\",\n integer: \"integer\",\n decimal: \"decimal\",\n datetime: \"datetime\",\n};\n\nexport const DISPLAY_KINDS = {\n text: t(\"neetoFields.fields.kinds.text\"),\n number: t(\"neetoFields.fields.kinds.number\"),\n monetary: t(\"neetoFields.fields.kinds.monetary\"),\n single_option: t(\"neetoFields.fields.kinds.singleOption\"),\n multi_option: t(\"neetoFields.fields.kinds.multiOption\"),\n date: t(\"neetoFields.fields.kinds.date\"),\n time: t(\"neetoFields.fields.kinds.time\"),\n date_range: t(\"neetoFields.fields.kinds.dateRange\"),\n time_range: t(\"neetoFields.fields.kinds.timeRange\"),\n textarea: t(\"neetoFields.fields.kinds.textarea\"),\n text_area: t(\"neetoFields.fields.kinds.textArea\"),\n person: t(\"neetoFields.fields.kinds.person\"),\n checkbox: t(\"neetoFields.fields.kinds.checkbox\"),\n regex: t(\"neetoFields.fields.kinds.regex\"),\n integer: t(\"neetoFields.fields.kinds.integer\"),\n decimal: t(\"neetoFields.fields.kinds.decimal\"),\n datetime: t(\"neetoFields.fields.kinds.datetime\"),\n};\n\nexport const FIELD_STATES = {\n active: \"active\",\n inactive: \"inactive\",\n};\n\nexport const DEFAULT_FIELD_STATE_TAXONOMY = {\n active: \"Active\",\n inactive: \"Inactive\",\n};\n\nexport const ALL_KINDS = values(KINDS);\n\nexport const MENU_ITEMS = { EDIT: \"edit\", DELETE: \"delete\" };\n","import { KINDS } from \"components/FieldsDashBoard/constants\";\n\nexport const DIRECT_EDIT_INPUT_FIELDS = [KINDS.checkbox];\n","import { KINDS } from \"components/FieldsDashBoard/constants\";\n\nexport const isDateTime = kind =>\n [\"date\", \"time\", \"date_range\", \"time_range\", \"datetime\"].includes(kind);\n\nexport const isDropdown = kind =>\n [\"single_option\", \"multi_option\"].includes(kind);\n\nexport const isTextType = kind =>\n [\n KINDS.text,\n KINDS.decimal,\n KINDS.integer,\n KINDS.monetary,\n KINDS.number,\n KINDS.regex,\n KINDS.textarea,\n ].includes(kind);\n","import dayjs from \"dayjs\";\nimport { t } from \"i18next\";\nimport { isNotEmpty } from \"neetocist\";\nimport { isEmpty, isNil, isNotNil } from \"ramda\";\nimport * as yup from \"yup\";\n\nimport { KINDS } from \"components/FieldsDashBoard/constants\";\n\nconst dateSchema = yup.date().nullable();\n\nconst isValueEmpty = value =>\n typeof value === \"string\" && isEmpty(value.trim());\n\nconst isCheckboxUnchecked = (kind, value) => kind === KINDS.checkbox && !value;\n\nconst isArrayEmpty = (kind, value) =>\n [\n KINDS.multiOption,\n KINDS.singleOption,\n KINDS.dateRange,\n KINDS.timeRange,\n ].includes(kind) && isEmpty(value);\n\nconst buildSchemaAllowingEmptyValue = schema =>\n yup.mixed().test({\n name: \"validate-if-not-empty\",\n test: value => {\n if (isNotEmpty(value) && isNotNil(value)) {\n schema.validateSync(value);\n }\n\n return true;\n },\n });\n\nconst buildSchemaForRequiredInputs = (schema, kind) =>\n yup.mixed().test({\n name: \"validate-required-inputs\",\n test: value => {\n if (\n isNil(value) ||\n isValueEmpty(value) ||\n isArrayEmpty(kind, value) ||\n isCheckboxUnchecked(kind, value)\n ) {\n throw new yup.ValidationError(\n t(\"neetoFields.validations.thisIsRequired\")\n );\n }\n schema.validateSync(value);\n\n return true;\n },\n });\n\nconst buildSchema = ({ schema, isRequired, kind }) =>\n isRequired\n ? buildSchemaForRequiredInputs(schema, kind)\n : buildSchemaAllowingEmptyValue(schema);\n\nconst getBasicValidationSchema = ({ kind, fieldData }) => {\n switch (kind) {\n case KINDS.singleOption:\n case KINDS.textarea:\n case KINDS.text: {\n return yup.string().trim().nullable();\n }\n\n case KINDS.number:\n case KINDS.monetary:\n case KINDS.decimal: {\n return yup\n .number(t(\"neetoFields.validations.notAValidNumber\"))\n .nullable();\n }\n case KINDS.integer: {\n return yup\n .number()\n .nullable()\n .integer(t(\"neetoFields.validations.notAValidInteger\"));\n }\n\n case KINDS.date:\n case KINDS.time: {\n return dateSchema;\n }\n case KINDS.multiOption: {\n return yup.array().of(yup.string()).nullable();\n }\n\n case KINDS.dateRange:\n case KINDS.timeRange: {\n return yup.array().of(dateSchema).nullable();\n }\n\n case KINDS.checkbox:\n return yup.boolean().nullable();\n\n case KINDS.regex: {\n const regexPattern = fieldData?.condition;\n\n return yup\n .string()\n .nullable()\n .matches(cleanedRegex(regexPattern), fieldData?.helpMessage);\n }\n\n default:\n return yup.mixed();\n }\n};\n\nconst buildFieldValidationSchema = ({ kind, isRequired, fieldData }) => {\n const schema = getBasicValidationSchema({ kind, fieldData });\n\n return buildSchema({ schema, isRequired, kind });\n};\n\nconst cleanedRegex = regexCondition => {\n const patternMatchingExp = /[igmsyu]*$/;\n const conditionFlags = regexCondition.match(patternMatchingExp)[0];\n let conditionWithoutFlags = regexCondition.replace(patternMatchingExp, \"\");\n const sanitizedFlags = [...new Set(conditionFlags)].join(\"\");\n if (\n conditionWithoutFlags.startsWith(\"/\") &&\n conditionWithoutFlags.endsWith(\"/\")\n ) {\n conditionWithoutFlags = conditionWithoutFlags.slice(1, -1);\n }\n\n return RegExp(conditionWithoutFlags, sanitizedFlags);\n};\n\nexport const validateField = async ({\n fieldValue,\n fieldName,\n isRequired,\n kind,\n fieldData,\n}) => {\n try {\n await yup\n .object()\n .shape({\n [fieldName]: buildFieldValidationSchema({\n kind,\n isRequired,\n fieldData,\n }),\n })\n .validate({ [fieldName]: fieldValue });\n\n return false;\n } catch (e) {\n return e.errors[0];\n }\n};\n\nexport const dateTimeToString = dateTime =>\n (dateTime && dayjs(dateTime).toString()) || \"\";\n\nexport const getValueFromBool = value =>\n value === true ? t(\"neetoFields.common.yes\") : t(\"neetoFields.common.no\");\n\nexport const getComponentDisplayName = Component =>\n Component.displayName || Component.name || \"Component\";\n","import { useEffect } from \"react\";\n\nimport { useField, useFormikContext } from \"formik\";\nimport { capitalize, findBy, noop, renameKeys } from \"neetocist\";\nimport { useFuncDebounce } from \"neetocommons/react-utils\";\nimport { isNil, isNotNil, prop } from \"ramda\";\n\nimport { KINDS } from \"components/FieldsDashBoard/constants\";\nimport { DIRECT_EDIT_INPUT_FIELDS } from \"components/InlineFieldValueInput/constants\";\nimport { escapeString } from \"components/utils\";\n\nimport { isDateTime, isDropdown, isTextType } from \"./utils\";\n\nimport { validateField } from \"../components/commons/FieldInputs/utils\";\n\nconst useFormikFields = ({\n name,\n id: fieldId,\n kind,\n data: fieldData,\n individualSubmit,\n formRef,\n formRefs,\n disabled,\n isRequiredColumnName = \"isRequired\",\n isInline = false,\n onBlur: handleBlur = noop, // Expected only for inline fields\n hasMetadataWrapper = false,\n ...props\n}) => {\n const formikContext = useFormikContext();\n\n const { submitForm, dirty, isSubmitting } = formikContext;\n\n const fieldPath = escapeString(`${name}-${fieldId}`);\n const fieldName = kind === KINDS.multiOption ? \"values\" : \"value\";\n const fieldValuePath = `${fieldPath}.data.${fieldName}`;\n\n isDropdown(kind) && (fieldData = renameKeys({ id: \"value\" }, fieldData));\n\n if (isNil(formRef) && isNotNil(formRefs)) {\n formRefs.current[fieldValuePath] = formikContext;\n } else if (isNil(formRefs) && isNotNil(formRef)) {\n formRef.current = formikContext;\n }\n\n const [formikFieldProps, meta, helpers] = useField({\n name: fieldValuePath,\n validate: fieldValue =>\n validateField({\n fieldValue,\n fieldName: name,\n isRequired: props[isRequiredColumnName],\n kind,\n fieldData,\n }),\n });\n\n const debouncedSubmitForm = useFuncDebounce(submitForm, 100);\n\n const handleSubmit = async value => {\n isNotNil(value) && helpers.setValue(value);\n individualSubmit && (await debouncedSubmitForm());\n isInline && !DIRECT_EDIT_INPUT_FIELDS.includes(kind) && handleBlur();\n };\n\n const getBlurHandler = kind => {\n if (isTextType(kind)) {\n return dirty ? () => handleSubmit() : handleBlur;\n }\n\n if (!DIRECT_EDIT_INPUT_FIELDS.includes(kind)) {\n return handleBlur;\n }\n\n return undefined;\n };\n\n const getValueForField = value => {\n if (kind === KINDS.singleOption) {\n value = findBy({ value }, fieldData);\n } else if (kind === KINDS.multiOption) {\n value = value?.map(optionId => findBy({ value: optionId }, fieldData));\n }\n\n return value || \"\";\n };\n\n useEffect(() => {\n if (isSubmitting && !meta.touched) {\n helpers.setTouched(true);\n }\n }, [isSubmitting]);\n\n return {\n dirty,\n handleSubmit,\n fieldProps: {\n ...formikFieldProps,\n id: fieldId,\n error: individualSubmit ? meta.error : meta.touched && meta.error,\n value: getValueForField(formikFieldProps.value),\n label: !isInline && !hasMetadataWrapper && capitalize(name),\n labelProps: !isInline &&\n !hasMetadataWrapper && { required: props[isRequiredColumnName] },\n autoFocus: isInline && !DIRECT_EDIT_INPUT_FIELDS.includes(kind),\n onBlur: isInline ? getBlurHandler(kind) : undefined,\n disabled,\n //conditional props\n options: isDropdown(kind) ? fieldData : undefined,\n getPopupContainer:\n !isInline && isDateTime(kind) ? prop(\"parentElement\") : undefined,\n },\n helpers,\n };\n};\n\nexport default useFormikFields;\n","import React from \"react\";\n\nimport { Checkbox as NeetoUICheckbox } from \"neetoui\";\n\nimport { SUBMIT_FIELD_STATUS } from \"src/constants\";\nimport useFormikFields from \"src/hooks/useFormikFields\";\n\nconst Checkbox = props => {\n const { handleSubmit, fieldProps } = useFormikFields(props);\n const { submissionStatus } = props;\n\n return (\n <NeetoUICheckbox\n {...fieldProps}\n checked={fieldProps.value}\n disabled={submissionStatus === SUBMIT_FIELD_STATUS.SUBMITTING}\n onChange={({ target: { checked } }) => handleSubmit(checked)}\n />\n );\n};\nexport default Checkbox;\n","import React from \"react\";\n\nimport { hyphenize } from \"neetocommons/utils/general\";\nimport { Check } from \"neetoicons\";\nimport { Label, Spinner } from \"neetoui\";\n\nimport { SUBMIT_FIELD_STATUS } from \"src/constants\";\n\nconst MetadataBlock = ({\n labelProps,\n label,\n fieldId,\n children,\n submissionStatus,\n isInline,\n}) => (\n <div className=\"w-full space-y-2\">\n {!isInline && (\n <div className=\"flex items-center gap-2\">\n <Label\n data-cy={`${hyphenize(label)}-label`}\n htmlFor={fieldId}\n {...labelProps}\n >\n {label}\n </Label>\n <div className=\"inline-flex h-6 items-center\">\n {submissionStatus === SUBMIT_FIELD_STATUS.SUBMITTING && (\n <Spinner className=\"neeto-fields-nano__metadata-card__spinner\" />\n )}\n {submissionStatus === SUBMIT_FIELD_STATUS.SUCCESS && (\n <Check className=\"neeto-ui-text-success-500\" size={20} />\n )}\n </div>\n </div>\n )}\n {children}\n </div>\n);\n\nexport default MetadataBlock;\n","import React from \"react\";\n\nimport { capitalize } from \"neetocist\";\n\nimport MetadataBlock from \".\";\n\nimport { getComponentDisplayName } from \"../FieldInputs/utils\";\n\nconst WithMetadataBlock = Component => {\n const withMetadataBlockWrapper = props => {\n const {\n submissionStatus,\n isInline = false,\n isRequiredColumnName = \"isRequired\",\n name,\n id: fieldId,\n } = props;\n\n const label = !isInline && capitalize(name);\n const labelProps = { required: props[isRequiredColumnName] };\n\n return (\n <MetadataBlock\n {...{ fieldId, isInline, label, labelProps, submissionStatus }}\n >\n <Component {...props} hasMetadataWrapper />\n </MetadataBlock>\n );\n };\n\n withMetadataBlockWrapper.displayName = `withMetadataBlockWrapper(${getComponentDisplayName(\n Component\n )})`;\n\n return withMetadataBlockWrapper;\n};\n\nexport default WithMetadataBlock;\n","import React, { useRef, useState } from \"react\";\n\nimport { notEquals } from \"neetocist\";\nimport { DatePicker, TimePicker } from \"neetoui\";\n\nimport { KINDS } from \"components/FieldsDashBoard/constants\";\nimport useFormikFields from \"src/hooks/useFormikFields\";\n\nimport { dateTimeToString } from \"./utils\";\n\nimport withMetadataBlock from \"../MetadataBlock/WithMetadataBlock\";\n\nconst DateOrTime = props => {\n const { isInline } = props;\n const [isOpen, setIsOpen] = useState(isInline);\n\n const value = useRef();\n\n const {\n handleSubmit,\n fieldProps: { onBlur, ...fieldProps },\n helpers,\n } = useFormikFields(props);\n\n const handleChange = dateTime => {\n value.current = dateTimeToString(dateTime);\n helpers.setValue(value.current);\n\n if (!isOpen) handleSubmit();\n };\n\n const onOpenChange = async open => {\n setIsOpen(open);\n if (open) return;\n\n const shouldSubmit =\n value.current !== undefined && notEquals(fieldProps.value, value.current);\n shouldSubmit && (await handleSubmit());\n onBlur?.();\n };\n\n if (props.kind === KINDS.time) {\n return (\n <TimePicker\n {...{ ...fieldProps, onOpenChange }}\n use12Hours\n format=\"h:mm A\"\n open={isOpen}\n onChange={handleChange}\n />\n );\n } else if (props.kind === KINDS.date) {\n return (\n <DatePicker\n {...{ ...fieldProps, onOpenChange }}\n open={isOpen}\n onChange={handleChange}\n />\n );\n }\n\n return (\n <DatePicker\n showTime\n timeFormat=\"h:mm A\"\n {...{ ...fieldProps, onOpenChange }}\n open={isOpen}\n onChange={handleChange}\n />\n );\n};\n\nexport default withMetadataBlock(DateOrTime);\n","import React from \"react\";\n\nimport { Select } from \"neetoui/formik\";\nimport { pluck } from \"ramda\";\n\nimport useFormikFields from \"src/hooks/useFormikFields\";\n\nimport withMetadataBlock from \"../MetadataBlock/WithMetadataBlock\";\n\nconst MultiOption = props => {\n const { handleSubmit, fieldProps } = useFormikFields(props);\n\n return (\n <Select\n isMulti\n isSearchable\n strategy=\"fixed\"\n {...fieldProps}\n onChange={selectedOptions =>\n handleSubmit(pluck(\"value\", selectedOptions))\n }\n />\n );\n};\n\nexport default withMetadataBlock(MultiOption);\n","import React from \"react\";\n\nimport { Input } from \"neetoui\";\n\nimport useFormikFields from \"src/hooks/useFormikFields\";\n\nimport withMetadataBlock from \"../MetadataBlock/WithMetadataBlock\";\n\nconst Number = props => {\n const { handleSubmit, fieldProps, dirty } = useFormikFields(props);\n\n return (\n <Input\n {...fieldProps}\n type=\"number\"\n onBlur={() => dirty && handleSubmit()}\n />\n );\n};\n\nexport default withMetadataBlock(Number);\n","import React, { useRef } from \"react\";\n\nimport { noop } from \"neetocist\";\nimport { useOnClickOutside } from \"neetocommons/react-utils\";\nimport { DatePicker, TimePicker } from \"neetoui\";\n\nimport { KINDS } from \"components/FieldsDashBoard/constants\";\nimport useFormikFields from \"src/hooks/useFormikFields\";\n\nimport { getComponentDisplayName, dateTimeToString } from \"./utils\";\n\nimport withMetadataBlock from \"../MetadataBlock/WithMetadataBlock\";\n\nconst withOnClickOutsideWrapper = Component => {\n const WithOnClickOutsideWrapper = ({ onBlur = noop, ...props }) => {\n const ref = useRef(null);\n const isInline = onBlur !== noop;\n useOnClickOutside(ref, onBlur, { enabled: isInline });\n\n return isInline ? (\n <div {...{ ref }}>\n <Component {...props} type=\"range\" />\n </div>\n ) : (\n <Component {...props} type=\"range\" />\n );\n };\n\n WithOnClickOutsideWrapper.displayName = `WithOnClickOutsideWrapper(${getComponentDisplayName(\n Component\n )})`;\n\n return WithOnClickOutsideWrapper;\n};\n\nconst DateRangePicker = withOnClickOutsideWrapper(DatePicker);\nconst TimeRangePicker = withOnClickOutsideWrapper(TimePicker);\n\nconst RangePicker = props => {\n const { handleSubmit, fieldProps } = useFormikFields(props);\n\n const handleChange = ([begin, end]) => {\n if (begin && end) {\n handleSubmit([dateTimeToString(begin), dateTimeToString(end)]);\n } else {\n handleSubmit([]);\n }\n };\n\n if (props.kind === KINDS.dateRange) {\n return <DateRangePicker {...fieldProps} onChange={handleChange} />;\n }\n\n //time_range\n return (\n <TimeRangePicker\n {...fieldProps}\n use12Hours\n format=\"h:mm A\"\n onChange={handleChange}\n />\n );\n};\n\nexport default withMetadataBlock(RangePicker);\n","import React from \"react\";\n\nimport { Select } from \"neetoui\";\n\nimport useFormikFields from \"src/hooks/useFormikFields\";\n\nimport withMetadataBlock from \"../MetadataBlock/WithMetadataBlock\";\n\nconst SingleOption = props => {\n const { handleSubmit, fieldProps } = useFormikFields(props);\n\n return (\n <Select\n isClearable\n isSearchable\n strategy=\"fixed\"\n {...fieldProps}\n onChange={option => handleSubmit(option?.value || \"\")}\n />\n );\n};\nexport default withMetadataBlock(SingleOption);\n","import React from \"react\";\n\nimport { Textarea } from \"neetoui\";\n\nimport useFormikFields from \"src/hooks/useFormikFields\";\n\nimport withMetadataBlock from \"../MetadataBlock/WithMetadataBlock\";\n\nconst Text = props => {\n const { handleSubmit, fieldProps, dirty } = useFormikFields(props);\n\n const handleKeyDown = event => {\n if (event.key !== \"Enter\" || event.shiftKey) return;\n\n event.preventDefault();\n handleSubmit();\n };\n\n const handleFocus = element => {\n const end = element.value.length;\n element.setSelectionRange(end, end);\n };\n\n return (\n <Textarea\n {...fieldProps}\n className=\"neeto-fields-nano-adaptive-input\"\n rows={1}\n size=\"small\"\n style={{ resize: \"none\" }}\n onBlur={() => dirty && handleSubmit()}\n onFocus={({ target }) => handleFocus(target)}\n onKeyDown={handleKeyDown}\n />\n );\n};\n\nexport default withMetadataBlock(Text);\n","import React from \"react\";\n\nimport { Textarea } from \"neetoui\";\n\nimport useFormikFields from \"src/hooks/useFormikFields\";\n\nimport withMetadataBlock from \"../MetadataBlock/WithMetadataBlock\";\n\nconst TextArea = props => {\n const { handleSubmit, fieldProps, dirty } = useFormikFields(props);\n\n return <Textarea {...fieldProps} onBlur={() => dirty && handleSubmit()} />;\n};\nexport default withMetadataBlock(TextArea);\n","import { filterBy, findBy } from \"neetocist\";\nimport { prop, isNil, clone, pick, map, pipe, mergeAll, omit } from \"ramda\";\n\nimport {\n Checkbox,\n DateOrTime as DateOrTimeInput,\n MultiOption as MultiOptionInput,\n Number as NumberInput,\n RangePicker as RangePickerInput,\n SingleOption as SingleOptionInput,\n Text as TextInput,\n TextArea as TextAreaInput,\n} from \"./commons/FieldInputs\";\nimport { KINDS } from \"./FieldsDashBoard/constants\";\n\nconst standardComponents = {\n text: TextInput,\n regex: TextInput,\n textarea: TextAreaInput,\n text_area: TextAreaInput, // TODO: Remove text-area after integration in all hosts.\n number: NumberInput,\n monetary: NumberInput,\n integer: NumberInput,\n decimal: NumberInput,\n date: DateOrTimeInput,\n time: DateOrTimeInput,\n datetime: DateOrTimeInput,\n single_option: SingleOptionInput,\n multi_option: MultiOptionInput,\n date_range: RangePickerInput,\n time_range: RangePickerInput,\n checkbox: Checkbox,\n};\n\nconst getFieldInput = ({ field, customComponents = {} }) => {\n const Component =\n customComponents[field.kind] || standardComponents[field.kind];\n\n if (Component) {\n return Component;\n }\n\n return null;\n};\n\nconst removeItemsWithNullData = fieldValues =>\n fieldValues.filter(item => !isNil(prop(\"data\", item)));\n\nconst removeNoiseFromValues = fieldValues =>\n map(pick([\"id\", \"fieldId\", \"data\"]), fieldValues);\n\nconst transformValues = ({ values: formikValues, fields }) => {\n const allFieldValues = clone(formikValues);\n const neetoFieldValues = [];\n\n fields.forEach(({ id, name }) => {\n const fieldPath = escapeString(`${name}-${id}`);\n neetoFieldValues.push(allFieldValues[fieldPath]);\n delete allFieldValues[fieldPath];\n });\n\n const cleanedFieldValues = pipe(\n removeItemsWithNullData,\n removeNoiseFromValues\n )(neetoFieldValues);\n\n return { ...allFieldValues, fieldValuesAttributes: cleanedFieldValues };\n};\n\nconst getDefaultInitialValue = kind => {\n switch (kind) {\n case KINDS.checkbox:\n return false;\n case KINDS.multiOption:\n case KINDS.dateRange:\n case KINDS.timeRange:\n return [];\n default:\n return \"\";\n }\n};\n\nconst getInitialFieldValue = ({\n field,\n fieldValues = [],\n isIndividualFieldForm = false,\n}) => {\n const existingFieldValueData = findBy({ fieldId: field.id }, fieldValues);\n const keyInData = field.kind === KINDS.multiOption ? \"values\" : \"value\";\n const newFieldValueData = {\n fieldId: field.id,\n data: isIndividualFieldForm\n ? { [keyInData]: getDefaultInitialValue(field.kind) }\n : null,\n };\n\n return {\n [escapeString(`${field.name}-${field.id}`)]:\n existingFieldValueData || newFieldValueData,\n };\n};\n\nconst getAllInitialFieldValues = (fields, fieldValues = []) =>\n getNonSystemFields(fields).map(field =>\n getInitialFieldValue({ field, fieldValues })\n );\n\nconst mergeInitialValues = ({ initialValues, fields }) => {\n const initialValue = mergeAll([\n initialValues,\n ...getAllInitialFieldValues(fields, initialValues?.fieldValues),\n ]);\n\n return omit([\"fieldValues\"], initialValue);\n};\n\nconst getNonSystemFields = fields => filterBy({ isSystem: false }, fields);\n\nconst escapeString = string =>\n string.replace(/[^a-zA-Z0-9_]/g, match => {\n const charCode = match.charCodeAt(0);\n\n return `_${charCode}_`;\n });\n\nconst neetoFieldsUtils = { mergeInitialValues, transformValues };\n\nexport {\n neetoFieldsUtils,\n getInitialFieldValue,\n getFieldInput,\n getNonSystemFields,\n escapeString,\n};\n","import React from \"react\";\n\nimport { withT } from \"neetocommons/react-utils\";\nimport { Typography } from \"neetoui\";\n\nimport { getFieldInput, getNonSystemFields } from \"./utils\";\n\nconst FieldInputs = withT(\n ({\n t,\n customComponents = {},\n fields,\n formRef,\n disabled,\n isRequiredColumnName,\n }) =>\n getNonSystemFields(fields).map(field => {\n const Field = getFieldInput({ field, customComponents });\n\n if (Field) {\n return (\n <Field\n key={field.id}\n {...{ ...field, disabled, formRef, isRequiredColumnName }}\n />\n );\n }\n\n return (\n <Typography key={field.id} style=\"body2\">\n {t(\"neetoFields.messages.invalidKind\")}\n </Typography>\n );\n })\n);\nexport default FieldInputs;\n","import axios from \"axios\";\nimport { buildUrl } from \"neetocommons/utils\";\n\nimport {\n DEPENDENCIES_URL,\n FIELDS_REORDER_URL,\n FIELDS_URL,\n FIELD_URL,\n} from \"src/constants\";\n\nconst fieldUrl = fieldId => buildUrl(FIELD_URL, { fieldId });\nconst dependenciesUrl = fieldId => buildUrl(DEPENDENCIES_URL, { fieldId });\n\nconst fetch = ({ resourceType, ownerId, state, filters, pageProps = {} }) =>\n axios.get(FIELDS_URL, {\n params: { resourceType, ownerId, state, filters, ...pageProps },\n });\n\nconst create = payload => axios.post(FIELDS_URL, payload);\n\nconst show = ({ fieldId, ownerId }) =>\n axios.get(fieldUrl(fieldId), { params: { ownerId } });\n\nconst destroy = ({ fieldId, ownerId }) =>\n axios.delete(fieldUrl(fieldId), { data: { ownerId } });\n\nconst update = ({ fieldId, payload }) => axios.put(fieldUrl(fieldId), payload);\n\nconst reorder = payload => axios.patch(FIELDS_REORDER_URL, payload);\n\nconst dependencies = ({ fieldId, ownerId }) =>\n axios.get(dependenciesUrl(fieldId), { params: { ownerId } });\n\nconst fieldsApi = {\n fetch,\n create,\n show,\n destroy,\n update,\n reorder,\n dependencies,\n};\n\nexport default fieldsApi;\n","const QUERY_KEYS = {\n FIELDS: \"fields\",\n FIELD_VALUES: \"field_values\",\n CONFIGS: \"configurations\",\n DEPENDENCIES: \"dependencies\",\n};\n\nconst DEFAULT_STALE_TIME = 3_600_000; // 1 hour\n\nexport { QUERY_KEYS, DEFAULT_STALE_TIME };\n","import { useQuery } from \"@tanstack/react-query\";\nimport { useMutationWithInvalidation } from \"neetocommons/react-utils\";\n\nimport fieldsApi from \"apis/fields\";\nimport { DEFAULT_STALE_TIME, QUERY_KEYS } from \"src/constants/query\";\n\nconst { FIELDS, DEPENDENCIES } = QUERY_KEYS;\n\nexport const useFetchFields = ({ prefixQueryKeys = [], ...params }, options) =>\n useQuery({\n queryKey: [FIELDS, ...prefixQueryKeys, params],\n queryFn: () => fieldsApi.fetch(params),\n staleTime: DEFAULT_STALE_TIME,\n ...options,\n });\n\nexport const useCreateField = options =>\n useMutationWithInvalidation(fieldsApi.create, {\n keysToInvalidate: [FIELDS],\n ...options,\n });\n\nexport const useShowField = ({ fieldId, ownerId }, options) =>\n useQuery({\n queryKey: [FIELDS, fieldId],\n queryFn: () => fieldsApi.show({ fieldId, ownerId }),\n ...options,\n });\n\nexport const useFetchDependencies = ({ fieldId, ownerId }, options) =>\n useQuery({\n queryKey: [DEPENDENCIES, fieldId],\n queryFn: () => fieldsApi.dependencies({ fieldId, ownerId }),\n ...options,\n });\n\nexport const useUpdateField = options =>\n useMutationWithInvalidation(fieldsApi.update, {\n keysToInvalidate: [FIELDS],\n ...options,\n });\n\nexport const useDestroyField = options =>\n useMutationWithInvalidation(fieldsApi.destroy, {\n keysToInvalidate: [FIELDS],\n ...options,\n });\n\nexport const useReorderFields = () =>\n useMutationWithInvalidation(fieldsApi.reorder, {\n keysToInvalidate: [FIELDS],\n });\n","import React from \"react\";\n\nimport { filterBy } from \"neetocist\";\nimport { Pane } from \"neetoui\";\nimport { ActionBlock } from \"neetoui/formik\";\nimport { isEmpty, omit, pick, values } from \"ramda\";\nimport { v4 as uuidv4 } from \"uuid\";\nimport * as yup from \"yup\";\n\nimport {\n ADDITIONAL_DATA_NEEDED_FIELD_KINDS,\n FIELD_KINDS,\n BASIC_FIELD_FORM_VALIDATIONS,\n} from \"./constants\";\n\nconst arrangeOptionsDisplayOrder = options =>\n options.map((option, index) => ({ ...option, displayOrder: index }));\n\nexport const buildPayload = ({\n formValues,\n resourceType = \"\",\n ownerId = \"\",\n}) => {\n const kind = formValues.kind.value;\n const name = formValues.name.trim();\n\n return {\n ownerId: isEmpty(ownerId) ? undefined : ownerId,\n field: {\n ...omit(\n [\"createdAt\", \"id\", \"ownerId\", \"ownerType\", \"updatedAt\"],\n formValues\n ),\n kind,\n name,\n resourceType: isEmpty(resourceType) ? undefined : resourceType,\n data: isDropdown(kind)\n ? arrangeOptionsDisplayOrder(formValues.data)\n : formValues.data,\n },\n };\n};\n\nexport const isDropdown = kind =>\n [\"single_option\", \"multi_option\"].includes(kind);\n\nexport const isRegex = kind => kind === \"regex\";\n\nexport const isAdditionalDataNeeded = kind =>\n ADDITIONAL_DATA_NEEDED_FIELD_KINDS.includes(kind);\n\nexport const getPermittedKinds = ({ allowedKinds, selectedKind }) => {\n const filteredKinds = pick(allowedKinds, FIELD_KINDS);\n\n return filterBy({ group: selectedKind?.group }, values(filteredKinds));\n};\n\nexport const generateValidationSchema = additionalValidations =>\n yup\n .object()\n .shape({ ...BASIC_FIELD_FORM_VALIDATIONS, ...additionalValidations });\n\nexport const renderFormFooter = ({ onClose, loading }) => (\n <Pane.Footer>\n <ActionBlock\n cancelButtonProps={{ onClick: onClose }}\n isSubmitting={loading}\n />\n </Pane.Footer>\n);\n\nexport const getDefaultOption = () => ({\n id: uuidv4(),\n label: \"\",\n displayOrder: 0,\n});\n","import { t } from \"i18next\";\nimport { toLabelAndValue } from \"neetocist\";\nimport * as yup from \"yup\";\n\nimport { isDropdown, isRegex } from \"./utils\";\n\nconst PERMITTED_REGEX_PATTERN = /^\\/.*\\/[igmsyu]*$/;\nconst ADVANCED_REGEX_ASSERTION_PATTERN =\n /\\(\\?=[^)]*\\)|\\(\\?![^)]*\\)|\\(\\?<=[^)]*\\)|\\(\\?<![^)]*\\)/;\n\nconst regexValidationSchema = yup.object().shape({\n condition: yup\n .string()\n .required(t(\"neetoFields.validations.regexConditionIsRequired\"))\n .matches(\n PERMITTED_REGEX_PATTERN,\n t(\"neetoFields.validations.invalidRegexPattern\")\n )\n .test({\n name: \"test-regex-is-advanced\",\n message:\n t(\"neetoFields.validations.advancedRegexAssertionsNotSupported\") || \"\",\n test: value => !ADVANCED_REGEX_ASSERTION_PATTERN.test(value),\n })\n .test({\n name: \"test-regex-condition-pattern\",\n message: t(\"neetoFields.validations.invalidRegexPattern\") || \"\",\n test: value => {\n try {\n const lastIndex = value.lastIndexOf(\"/\");\n const condition = value.substring(1, lastIndex);\n // Evaluating the regex to check if it is valid\n new RegExp(condition);\n \"\".search(condition);\n\n return true;\n } catch {\n return false;\n }\n },\n }),\n helpMessage: yup\n .string()\n .required(t(\"neetoFields.validations.regexHelpMessageIsRequired\")),\n});\n\nconst dropDownOptionsValidationSchema = yup\n .array()\n .of(\n yup.object().shape({\n label: yup\n .string()\n .trim()\n .required(t(\"neetoFields.validations.fieldOptionIsRequired\")),\n displayOrder: yup.number(),\n })\n )\n .min(1, t(\"neetoFields.validations.atLeastFieldOptionIsRequired\"));\n\nexport const FIELD_KINDS = {\n text: { value: \"text\", label: t(\"neetoFields.fields.kinds.text\"), group: 1 },\n number: {\n value: \"number\",\n label: t(\"neetoFields.fields.kinds.number\"),\n group: 2,\n },\n monetary: {\n value: \"monetary\",\n label: t(\"neetoFields.fields.kinds.monetary\"),\n group: 2,\n },\n single_option: {\n value: \"single_option\",\n label: t(\"neetoFields.fields.kinds.singleOption\"),\n group: 12,\n },\n multi_option: {\n value: \"multi_option\",\n label: t(\"neetoFields.fields.kinds.multiOption\"),\n group: 3,\n },\n date: { value: \"date\", label: t(\"neetoFields.fields.kinds.date\"), group: 4 },\n time: { value: \"time\", label: t(\"neetoFields.fields.kinds.time\"), group: 5 },\n date_range: {\n value: \"date_range\",\n label: t(\"neetoFields.fields.kinds.dateRange\"),\n group: 6,\n },\n time_range: {\n value: \"time_range\",\n label: t(\"neetoFields.fields.kinds.timeRange\"),\n group: 7,\n },\n text_area: {\n value: \"text_area\",\n label: t(\"neetoFields.fields.kinds.textArea\"),\n group: 1,\n },\n textarea: {\n value: \"textarea\",\n label: t(\"neetoFields.fields.kinds.textarea\"),\n group: 1,\n },\n person: {\n value: \"person\",\n label: t(\"neetoFields.fields.kinds.person\"),\n group: 8,\n },\n checkbox: {\n value: \"checkbox\",\n label: t(\"neetoFields.fields.kinds.checkbox\"),\n group: 9,\n },\n regex: {\n value: \"regex\",\n label: t(\"neetoFields.fields.kinds.regex\"),\n group: 10,\n },\n integer: {\n value: \"integer\",\n label: t(\"neetoFields.fields.kinds.integer\"),\n group: 2,\n },\n decimal: {\n value: \"decimal\",\n label: t(\"neetoFields.fields.kinds.decimal\"),\n group: 2,\n },\n datetime: {\n value: \"datetime\",\n label: t(\"neetoFields.fields.kinds.datetime\"),\n group: 11,\n },\n};\n\nexport const ADDITIONAL_DATA_NEEDED_FIELD_KINDS = [\n \"single_option\",\n \"multi_option\",\n \"regex\",\n];\n\nexport const INITIAL_FIELDS = {\n name: \"\",\n kind: toLabelAndValue(\"text\"),\n isRequired: false,\n};\n\nexport const DEFAULT_REGEX_DATA = { condition: \"\", helpMessage: \"\" };\n\nexport const BASIC_FIELD_FORM_VALIDATIONS = {\n name: yup\n .string()\n .trim()\n .required(t(\"neetoFields.validations.fieldNameIsRequired\")),\n isRequired: yup.boolean(),\n kind: yup\n .object()\n .shape({ value: yup.string().required() })\n .required(t(\"neetoFields.validations.kindIsRequired\")),\n data: yup\n .mixed()\n .when(\"kind\", {\n is: kind => isRegex(kind?.value),\n then: regexValidationSchema,\n })\n .when(\"kind\", {\n is: kind => isDropdown(kind?.value),\n then: dropDownOptionsValidationSchema,\n }),\n};\n","import React from \"react\";\n\nimport { FieldArray, useFormikContext } from \"formik\";\nimport { isNotEmpty } from \"neetocist\";\nimport { isMetaKeyPressed } from \"neetocommons/react-utils\";\nimport { Delete } from \"neetoicons\";\nimport { Label, Button } from \"neetoui\";\nimport { Input } from \"neetoui/formik\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { getDefaultOption, isDropdown, isRegex } from \"./utils\";\n\nconst AdditionalInputs = () => {\n const { t } = useTranslation();\n\n const {\n values: { kind, data: options, isSystem },\n } = useFormikContext();\n\n const removeOption = (arrayHelpers, index) => arrayHelpers.remove(index);\n\n const addOption = arrayHelpers => arrayHelpers.push(getDefaultOption());\n\n const handleKeyDown = (event, arrayHelpers) => {\n if (event.key !== \"Enter\" || isMetaKeyPressed(event)) return;\n\n const form = event.target.form;\n const inputs = [\n ...form.querySelectorAll(\"#neeto-fields-dropdown-options-wrapper input\"),\n ];\n\n const currentIndex = inputs.indexOf(event.target);\n\n currentIndex >= inputs.length - 1\n ? addOption(arrayHelpers)\n : inputs[currentIndex + 1]?.focus();\n\n event.preventDefault();\n event.stopPropagation();\n };\n\n if (isDropdown(kind.value)) {\n return (\n <FieldArray name=\"data\">\n {arrayHelpers => (\n <div\n className=\"flex w-full flex-col gap-y-4\"\n id=\"neeto-fields-dropdown-options-wrapper\"\n >\n <Label required>{t(\"neetoFields.titles.dropdownOptions\")}</Label>\n {isNotEmpty(options) &&\n Array.isArray(options) &&\n options.map((_, index) => (\n <div className=\"flex w-full space-x-3\" key={index}>\n <div className=\"w-full\">\n <Input\n autoFocus\n disabled={isSystem}\n name={`data.${index}.label`}\n placeholder={t(\"neetoFields.placeholders.enterAnOption\")}\n suffix={\n options.length > 1 && (\n <Button\n icon={Delete}\n style=\"text\"\n onClick={() => removeOption(arrayHelpers, index)}\n />\n )\n }\n onKeyDown={event => handleKeyDown(event, arrayHelpers)}\n />\n </div>\n </div>\n ))}\n <Button\n fullWidth\n className=\"mb-6 border-dashed text-xs uppercase\"\n data-cy=\"neeto-fields-add-more-option-button\"\n label={t(\"neetoFields.labels.addAnotherOption\")}\n style=\"secondary\"\n onClick={() => addOption(arrayHelpers)}\n />\n </div>\n )}\n </FieldArray>\n );\n } else if (isRegex(kind.value)) {\n return (\n <div className=\"flex w-full flex-col gap-y-4\">\n <Label required>{t(\"neetoFields.titles.regexOptions\")}</Label>\n <Input\n disabled={isSystem}\n label={t(\"neetoFields.labels.regexCondition\")}\n name=\"data.condition\"\n placeholder={t(\"neetoFields.placeholders.regexExample\")}\n />\n <Input\n disabled={isSystem}\n label={t(\"neetoFields.labels.helpMessage\")}\n name=\"data.helpMessage\"\n placeholder={t(\"neetoFields.placeholders.enterErrorMessage\")}\n />\n </div>\n );\n }\n\n return null;\n};\n\nexport default AdditionalInputs;\n","import React from \"react\";\n\nimport { useFormikContext } from \"formik\";\nimport { Label, Pane, Typography } from \"neetoui\";\nimport { Input, Select, Switch } from \"neetoui/formik\";\nimport { useTranslation } from \"react-i18next\";\n\nimport AdditionalInputs from \"./AdditionalInputs\";\nimport { DEFAULT_REGEX_DATA } from \"./constants\";\nimport {\n getDefaultOption,\n isAdditionalDataNeeded,\n isDropdown,\n isRegex,\n} from \"./utils\";\n\n/** @type {React.FC<import(\"types\").FieldFormProps>} */\n\nconst FieldForm = ({\n chosenKind,\n kindSelectOptions = [],\n isSystem = false,\n hideRequiredSwitch = false,\n children,\n initialFocusField,\n}) => {\n const { t } = useTranslation();\n\n const {\n values: { data: options },\n setFieldValue,\n } = useFormikContext();\n\n const handleKindChange = kind => {\n setFieldValue(\"kind\", kind);\n if (isDropdown(kind.value)) {\n setFieldValue(\"data\", options ?? [getDefaultOption()]);\n } else if (isRegex(kind.value)) {\n setFieldValue(\"data\", options ?? DEFAULT_REGEX_DATA);\n }\n };\n\n return (\n <Pane.Body>\n <div className=\"w-full space-y-4\">\n <Input\n required\n data-cy=\"name-text-field\"\n disabled={isSystem}\n label={t(\"neetoFields.labels.fieldName\")}\n name=\"name\"\n placeholder={t(\"neetoFields.placeholders.enterFieldName\")}\n ref={initialFocusField}\n />\n <Select\n isSearchable\n isDisabled={isSystem}\n label={t(\"neetoFields.labels.fieldKind\")}\n name=\"kind\"\n options={kindSelectOptions}\n onChange={handleKindChange}\n />\n {isAdditionalDataNeeded(chosenKind) && <AdditionalInputs />}\n {!hideRequiredSwitch && (\n <Label\n className=\"flex items-center gap-2\"\n data-cy=\"is-required-switch-container\"\n >\n <Switch data-cy=\"is-required-switch\" name=\"isRequired\" />\n <Typography\n className=\"leading-4\"\n component=\"span\"\n data-cy=\"is-required-switch-label\"\n style=\"body2\"\n >\n {t(\"neetoFields.labels.isRequired\")}\n </Typography>\n </Label>\n )}\n {children}\n </div>\n </Pane.Body>\n );\n};\n\nexport default FieldForm;\n","import React from \"react\";\n\nimport { Pane, Typography } from \"neetoui\";\nimport { Form } from \"neetoui/formik\";\nimport { pick, values } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { ALL_KINDS } from \"components/FieldsDashBoard/constants\";\nimport { useCreateField } from \"hooks/reactQuery/useFieldsApi\";\n\nimport { FIELD_KINDS, INITIAL_FIELDS } from \"./constants\";\nimport FieldForm from \"./FieldForm\";\nimport {\n buildPayload,\n generateValidationSchema,\n renderFormFooter,\n} from \"./utils\";\n\n/** @type {React.FC<import(\"types\").AddProps>} */\n\nconst Add = ({\n resourceType,\n allowedKinds = ALL_KINDS,\n ownerId,\n additionalValidations,\n initialValues,\n onClose,\n onMutationSuccess,\n ...props\n}) => {\n const { t } = useTranslation();\n\n const { mutate: createField, isPending: isSubmitting } = useCreateField({\n onSuccess: onMutationSuccess,\n });\n\n const filteredKinds = values(pick(allowedKinds, FIELD_KINDS));\n\n const handleSubmit = formValues => {\n const payload = buildPayload({ formValues, resourceType, ownerId });\n createField(payload, { onSuccess: onClose });\n };\n\n return (\n <>\n <Pane.Header>\n <Typography data-cy=\"add-pane-header\" style=\"h2\">\n {t(\"neetoFields.titles.addField\")}\n </Typography>\n </Pane.Header>\n <Form\n formikProps={{\n initialValues: { ...initialValues, ...INITIAL_FIELDS },\n validationSchema: generateValidationSchema(additionalValidations),\n onSubmit: handleSubmit,\n }}\n >\n {({ values: { kind } }) => (\n <>\n <FieldForm\n chosenKind={kind.value}\n kindSelectOptions={filteredKinds}\n {...props}\n />\n {renderFormFooter({ onClose, loading: isSubmitting })}\n </>\n )}\n </Form>\n </>\n );\n};\n\nexport default Add;\n","import React from \"react\";\n\nimport PageLoader from \"neetomolecules/PageLoader\";\nimport { Pane, Typography } from \"neetoui\";\nimport { Form } from \"neetoui/formik\";\nimport { assoc } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { ALL_KINDS } from \"components/FieldsDashBoard/constants\";\nimport { useShowField, useUpdateField } from \"hooks/reactQuery/useFieldsApi\";\n\nimport { FIELD_KINDS } from \"./constants\";\nimport FieldForm from \"./FieldForm\";\nimport {\n buildPayload,\n generateValidationSchema,\n getPermittedKinds,\n renderFormFooter,\n} from \"./utils\";\n\n/** @type {React.FC<import(\"types\").EditProps>} */\n\nconst Edit = ({\n fieldId,\n allowedKinds = ALL_KINDS,\n ownerId,\n additionalValidations = {},\n initialValues = {},\n onClose,\n onMutationSuccess,\n ...props\n}) => {\n const { t } = useTranslation();\n\n const { data: { field = {} } = {}, isLoading } = useShowField({\n fieldId,\n ownerId,\n });\n\n const { mutate: updateField, isPending: isSubmitting } = useUpdateField({\n onSuccess: (...args) => {\n onMutationSuccess?.(...args);\n onClose();\n },\n });\n\n const handleSubmit = formValues => {\n const payload = buildPayload({ formValues, ownerId });\n updateField({ fieldId, payload });\n };\n\n return (\n <>\n <Pane.Header>\n <Typography data-cy=\"edit-pane-header\" style=\"h2\">\n {t(\"neetoFields.titles.editField\")}\n </Typography>\n </Pane.Header>\n {isLoading ? (\n <PageLoader />\n ) : (\n <Form\n formikProps={{\n initialValues: {\n ...initialValues,\n ...assoc(\"kind\", FIELD_KINDS[field.kind], field),\n },\n validationSchema: generateValidationSchema(additionalValidations),\n enableReinitialize: true,\n onSubmit: handleSubmit,\n }}\n >\n {({ values: { kind } }) => {\n const permittedKinds = getPermittedKinds({\n allowedKinds,\n selectedKind: kind,\n });\n\n return (\n <>\n <FieldForm\n chosenKind={kind?.value}\n isSystem={field.isSystem}\n kindSelectOptions={permittedKinds}\n {...props}\n />\n {renderFormFooter({ onClose, loading: isSubmitting })}\n </>\n );\n }}\n </Form>\n )}\n </>\n );\n};\n\nexport default Edit;\n","import React, { useRef } from \"react\";\n\nimport { Pane } from \"neetoui\";\nimport { isEmpty } from \"ramda\";\n\nimport Add from \"./Add\";\nimport Edit from \"./Edit\";\n\n/** @type {React.FC<import(\"types\").FieldsPaneProps>} */\n\nconst FieldsPane = ({ isOpen, selectedField = {}, ...props }) => {\n const initialFocusField = useRef(null);\n\n return (\n <Pane\n {...{ isOpen }}\n initialFocusRef={initialFocusField}\n onClose={props.onClose}\n >\n {isEmpty(selectedField) ? (\n <Add {...{ ...props, initialFocusField }} />\n ) : (\n <Edit\n fieldId={selectedField?.id}\n {...{ ...props, initialFocusField }}\n />\n )}\n </Pane>\n );\n};\n\nexport default FieldsPane;\n","/* global define */\n\n(function (root, pluralize) {\n /* istanbul ignore else */\n if (typeof require === 'function' && typeof exports === 'object' && typeof module === 'object') {\n // Node.\n module.exports = pluralize();\n } else if (typeof define === 'function' && define.amd) {\n // AMD, registers as an anonymous module.\n define(function () {\n return pluralize();\n });\n } else {\n // Browser global.\n root.pluralize = pluralize();\n }\n})(this, function () {\n // Rule storage - pluralize and singularize need to be run sequentially,\n // while other rules can be optimized using an object for instant lookups.\n var pluralRules = [];\n var singularRules = [];\n var uncountables = {};\n var irregularPlurals = {};\n var irregularSingles = {};\n\n /**\n * Sanitize a pluralization rule to a usable regular expression.\n *\n * @param {(RegExp|string)} rule\n * @return {RegExp}\n */\n function sanitizeRule (rule) {\n if (typeof rule === 'string') {\n return new RegExp('^' + rule + '$', 'i');\n }\n\n return rule;\n }\n\n /**\n * Pass in a word token to produce a function that can replicate the case on\n * another word.\n *\n * @param {string} word\n * @param {string} token\n * @return {Function}\n */\n function restoreCase (word, token) {\n // Tokens are an exact match.\n if (word === token) return token;\n\n // Lower cased words. E.g. \"hello\".\n if (word === word.toLowerCase()) return token.toLowerCase();\n\n // Upper cased words. E.g. \"WHISKY\".\n if (word === word.toUpperCase()) return token.toUpperCase();\n\n // Title cased words. E.g. \"Title\".\n if (word[0] === word[0].toUpperCase()) {\n return token.charAt(0).toUpperCase() + token.substr(1).toLowerCase();\n }\n\n // Lower cased words. E.g. \"test\".\n return token.toLowerCase();\n }\n\n /**\n * Interpolate a regexp string.\n *\n * @param {string} str\n * @param {Array} args\n * @return {string}\n */\n function interpolate (str, args) {\n return str.replace(/\\$(\\d{1,2})/g, function (match, index) {\n return args[index] || '';\n });\n }\n\n /**\n * Replace a word using a rule.\n *\n * @param {string} word\n * @param {Array} rule\n * @return {string}\n */\n function replace (word, rule) {\n return word.replace(rule[0], function (match, index) {\n var result = interpolate(rule[1], arguments);\n\n if (match === '') {\n return restoreCase(word[index - 1], result);\n }\n\n return restoreCase(match, result);\n });\n }\n\n /**\n * Sanitize a word by passing in the word and sanitization rules.\n *\n * @param {string} token\n * @param {string} word\n * @param {Array} rules\n * @return {string}\n */\n function sanitizeWord (token, word, rules) {\n // Empty string or doesn't need fixing.\n if (!token.length || uncountables.hasOwnProperty(token)) {\n return word;\n }\n\n var len = rules.length;\n\n // Iterate over the sanitization rules and use the first one to match.\n while (len--) {\n var rule = rules[len];\n\n if (rule[0].test(word)) return replace(word, rule);\n }\n\n return word;\n }\n\n /**\n * Replace a word with the updated word.\n *\n * @param {Object} replaceMap\n * @param {Object} keepMap\n * @param {Array} rules\n * @return {Function}\n */\n function replaceWord (replaceMap, keepMap, rules) {\n return function (word) {\n // Get the correct token and case restoration functions.\n var token = word.toLowerCase();\n\n // Check against the keep object map.\n if (keepMap.hasOwnProperty(token)) {\n return restoreCase(word, token);\n }\n\n // Check against the replacement map for a direct word replacement.\n if (replaceMap.hasOwnProperty(token)) {\n return restoreCase(word, replaceMap[token]);\n }\n\n // Run all the rules against the word.\n return sanitizeWord(token, word, rules);\n };\n }\n\n /**\n * Check if a word is part of the map.\n */\n function checkWord (replaceMap, keepMap, rules, bool) {\n return function (word) {\n var token = word.toLowerCase();\n\n if (keepMap.hasOwnProperty(token)) return true;\n if (replaceMap.hasOwnProperty(token)) return false;\n\n return sanitizeWord(token, token, rules) === token;\n };\n }\n\n /**\n * Pluralize or singularize a word based on the passed in count.\n *\n * @param {string} word The word to pluralize\n * @param {number} count How many of the word exist\n * @param {boolean} inclusive Whether to prefix with the number (e.g. 3 ducks)\n * @return {string}\n */\n function pluralize (word, count, inclusive) {\n var pluralized = count === 1\n ? pluralize.singular(word) : pluralize.plural(word);\n\n return (inclusive ? count + ' ' : '') + pluralized;\n }\n\n /**\n * Pluralize a word.\n *\n * @type {Function}\n */\n pluralize.plural = replaceWord(\n irregularSingles, irregularPlurals, pluralRules\n );\n\n /**\n * Check if a word is plural.\n *\n * @type {Function}\n */\n pluralize.isPlural = checkWord(\n irregularSingles, irregularPlurals, pluralRules\n );\n\n /**\n * Singularize a word.\n *\n * @type {Function}\n */\n pluralize.singular = replaceWord(\n irregularPlurals, irregularSingles, singularRules\n );\n\n /**\n * Check if a word is singular.\n *\n * @type {Function}\n */\n pluralize.isSingular = checkWord(\n irregularPlurals, irregularSingles, singularRules\n );\n\n /**\n * Add a pluralization rule to the collection.\n *\n * @param {(string|RegExp)} rule\n * @param {string} replacement\n */\n pluralize.addPluralRule = function (rule, replacement) {\n pluralRules.push([sanitizeRule(rule), replacement]);\n };\n\n /**\n * Add a singularization rule to the collection.\n *\n * @param {(string|RegExp)} rule\n * @param {string} replacement\n */\n pluralize.addSingularRule = function (rule, replacement) {\n singularRules.push([sanitizeRule(rule), replacement]);\n };\n\n /**\n * Add an uncountable word rule.\n *\n * @param {(string|RegExp)} word\n */\n pluralize.addUncountableRule = function (word) {\n if (typeof word === 'string') {\n uncountables[word.toLowerCase()] = true;\n return;\n }\n\n // Set singular and plural references for the word.\n pluralize.addPluralRule(word, '$0');\n pluralize.addSingularRule(word, '$0');\n };\n\n /**\n * Add an irregular word definition.\n *\n * @param {string} single\n * @param {string} plural\n */\n pluralize.addIrregularRule = function (single, plural) {\n plural = plural.toLowerCase();\n single = single.toLowerCase();\n\n irregularSingles[single] = plural;\n irregularPlurals[plural] = single;\n };\n\n /**\n * Irregular rules.\n */\n [\n // Pronouns.\n ['I', 'we'],\n ['me', 'us'],\n ['he', 'they'],\n ['she', 'they'],\n ['them', 'them'],\n ['myself', 'ourselves'],\n ['yourself', 'yourselves'],\n ['itself', 'themselves'],\n ['herself', 'themselves'],\n ['himself', 'themselves'],\n ['themself', 'themselves'],\n ['is', 'are'],\n ['was', 'were'],\n ['has', 'have'],\n ['this', 'these'],\n ['that', 'those'],\n // Words ending in with a consonant and `o`.\n ['echo', 'echoes'],\n ['dingo', 'dingoes'],\n ['volcano', 'volcanoes'],\n ['tornado', 'tornadoes'],\n ['torpedo', 'torpedoes'],\n // Ends with `us`.\n ['genus', 'genera'],\n ['viscus', 'viscera'],\n // Ends with `ma`.\n ['stigma', 'stigmata'],\n ['stoma', 'stomata'],\n ['dogma', 'dogmata'],\n ['lemma', 'lemmata'],\n ['schema', 'schemata'],\n ['anathema', 'anathemata'],\n // Other irregular rules.\n ['ox', 'oxen'],\n ['axe', 'axes'],\n ['die', 'dice'],\n ['yes', 'yeses'],\n ['foot', 'feet'],\n ['eave', 'eaves'],\n ['goose', 'geese'],\n ['tooth', 'teeth'],\n ['quiz', 'quizzes'],\n ['human', 'humans'],\n ['proof', 'proofs'],\n ['carve', 'carves'],\n ['valve', 'valves'],\n ['looey', 'looies'],\n ['thief', 'thieves'],\n ['groove', 'grooves'],\n ['pickaxe', 'pickaxes'],\n ['passerby', 'passersby']\n ].forEach(function (rule) {\n return pluralize.addIrregularRule(rule[0], rule[1]);\n });\n\n /**\n * Pluralization rules.\n */\n [\n [/s?$/i, 's'],\n [/[^\\u0000-\\u007F]$/i, '$0'],\n [/([^aeiou]ese)$/i, '$1'],\n [/(ax|test)is$/i, '$1es'],\n [/(alias|[^aou]us|t[lm]as|gas|ris)$/i, '$1es'],\n [/(e[mn]u)s?$/i, '$1s'],\n [/([^l]ias|[aeiou]las|[ejzr]as|[iu]am)$/i, '$1'],\n [/(alumn|syllab|vir|radi|nucle|fung|cact|stimul|termin|bacill|foc|uter|loc|strat)(?:us|i)$/i, '$1i'],\n [/(alumn|alg|vertebr)(?:a|ae)$/i, '$1ae'],\n [/(seraph|cherub)(?:im)?$/i, '$1im'],\n [/(her|at|gr)o$/i, '$1oes'],\n [/(agend|addend|millenni|dat|extrem|bacteri|desiderat|strat|candelabr|errat|ov|symposi|curricul|automat|quor)(?:a|um)$/i, '$1a'],\n [/(apheli|hyperbat|periheli|asyndet|noumen|phenomen|criteri|organ|prolegomen|hedr|automat)(?:a|on)$/i, '$1a'],\n [/sis$/i, 'ses'],\n [/(?:(kni|wi|li)fe|(ar|l|ea|eo|oa|hoo)f)$/i, '$1$2ves'],\n [/([^aeiouy]|qu)y$/i, '$1ies'],\n [/([^ch][ieo][ln])ey$/i, '$1ies'],\n [/(x|ch|ss|sh|zz)$/i, '$1es'],\n [/(matr|cod|mur|sil|vert|ind|append)(?:ix|ex)$/i, '$1ices'],\n [/\\b((?:tit)?m|l)(?:ice|ouse)$/i, '$1ice'],\n [/(pe)(?:rson|ople)$/i, '$1ople'],\n [/(child)(?:ren)?$/i, '$1ren'],\n [/eaux$/i, '$0'],\n [/m[ae]n$/i, 'men'],\n ['thou', 'you']\n ].forEach(function (rule) {\n return pluralize.addPluralRule(rule[0], rule[1]);\n });\n\n /**\n * Singularization rules.\n */\n [\n [/s$/i, ''],\n [/(ss)$/i, '$1'],\n [/(wi|kni|(?:after|half|high|low|mid|non|night|[^\\w]|^)li)ves$/i, '$1fe'],\n [/(ar|(?:wo|[ae])l|[eo][ao])ves$/i, '$1f'],\n [/ies$/i, 'y'],\n [/\\b([pl]|zomb|(?:neck|cross)?t|coll|faer|food|gen|goon|group|lass|talk|goal|cut)ies$/i, '$1ie'],\n [/\\b(mon|smil)ies$/i, '$1ey'],\n [/\\b((?:tit)?m|l)ice$/i, '$1ouse'],\n [/(seraph|cherub)im$/i, '$1'],\n [/(x|ch|ss|sh|zz|tto|go|cho|alias|[^aou]us|t[lm]as|gas|(?:her|at|gr)o|[aeiou]ris)(?:es)?$/i, '$1'],\n [/(analy|diagno|parenthe|progno|synop|the|empha|cri|ne)(?:sis|ses)$/i, '$1sis'],\n [/(movie|twelve|abuse|e[mn]u)s$/i, '$1'],\n [/(test)(?:is|es)$/i, '$1is'],\n [/(alumn|syllab|vir|radi|nucle|fung|cact|stimul|termin|bacill|foc|uter|loc|strat)(?:us|i)$/i, '$1us'],\n [/(agend|addend|millenni|dat|extrem|bacteri|desiderat|strat|candelabr|errat|ov|symposi|curricul|quor)a$/i, '$1um'],\n [/(apheli|hyperbat|periheli|asyndet|noumen|phenomen|criteri|organ|prolegomen|hedr|automat)a$/i, '$1on'],\n [/(alumn|alg|vertebr)ae$/i, '$1a'],\n [/(cod|mur|sil|vert|ind)ices$/i, '$1ex'],\n [/(matr|append)ices$/i, '$1ix'],\n [/(pe)(rson|ople)$/i, '$1rson'],\n [/(child)ren$/i, '$1'],\n [/(eau)x?$/i, '$1'],\n [/men$/i, 'man']\n ].forEach(function (rule) {\n return pluralize.addSingularRule(rule[0], rule[1]);\n });\n\n /**\n * Uncountable rules.\n */\n [\n // Singular words with no plurals.\n 'adulthood',\n 'advice',\n 'agenda',\n 'aid',\n 'aircraft',\n 'alcohol',\n 'ammo',\n 'analytics',\n 'anime',\n 'athletics',\n 'audio',\n 'bison',\n 'blood',\n 'bream',\n 'buffalo',\n 'butter',\n 'carp',\n 'cash',\n 'chassis',\n 'chess',\n 'clothing',\n 'cod',\n 'commerce',\n 'cooperation',\n 'corps',\n 'debris',\n 'diabetes',\n 'digestion',\n 'elk',\n 'energy',\n 'equipment',\n 'excretion',\n 'expertise',\n 'firmware',\n 'flounder',\n 'fun',\n 'gallows',\n 'garbage',\n 'graffiti',\n 'hardware',\n 'headquarters',\n 'health',\n 'herpes',\n 'highjinks',\n 'homework',\n 'housework',\n 'information',\n 'jeans',\n 'justice',\n 'kudos',\n 'labour',\n 'literature',\n 'machinery',\n 'mackerel',\n 'mail',\n 'media',\n 'mews',\n 'moose',\n 'music',\n 'mud',\n 'manga',\n 'news',\n 'only',\n 'personnel',\n 'pike',\n 'plankton',\n 'pliers',\n 'police',\n 'pollution',\n 'premises',\n 'rain',\n 'research',\n 'rice',\n 'salmon',\n 'scissors',\n 'series',\n 'sewage',\n 'shambles',\n 'shrimp',\n 'software',\n 'species',\n 'staff',\n 'swine',\n 'tennis',\n 'traffic',\n 'transportation',\n 'trout',\n 'tuna',\n 'wealth',\n 'welfare',\n 'whiting',\n 'wildebeest',\n 'wildlife',\n 'you',\n /pok[eé]mon$/i,\n // Regexes.\n /[^aeiou]ese$/i, // \"chinese\", \"japanese\"\n /deer$/i, // \"deer\", \"reindeer\"\n /fish$/i, // \"fish\", \"blowfish\", \"angelfish\"\n /measles$/i,\n /o[iu]s$/i, // \"carnivorous\"\n /pox$/i, // \"chickpox\", \"smallpox\"\n /sheep$/i\n ].forEach(pluralize.addUncountableRule);\n\n return pluralize;\n});\n","import React from \"react\";\n\nimport { t } from \"i18next\";\nimport { findBy, humanize, slugify } from \"neetocist\";\nimport MenuBar from \"neetomolecules/MenuBar\";\nimport MoreDropdown from \"neetomolecules/MoreDropdown\";\nimport { Tab, Typography } from \"neetoui\";\nimport pluralize from \"pluralize\";\nimport { not } from \"ramda\";\nimport { Trans } from \"react-i18next\";\nimport { Link } from \"react-router-dom\";\n\nimport { DISPLAY_KINDS, FIELD_STATES, MENU_ITEMS } from \"./constants\";\n\nconst getMenuItems = ({ field, onDeleteClick, onEditClick }) => [\n {\n key: MENU_ITEMS.EDIT,\n \"data-cy\": \"edit-menu-item-button\",\n label: t(\"neetoFields.labels.edit\"),\n onClick: () => onEditClick(field),\n },\n {\n key: MENU_ITEMS.DELETE,\n \"data-cy\": \"delete-menu-item-button\",\n label: t(\"neetoFields.labels.delete\"),\n isVisible: not(field.isSystem),\n onClick: () => onDeleteClick(field),\n },\n];\n\nexport const buildDefaultColumns = ({ onDeleteClick, onEditClick }) => [\n {\n key: \"name\",\n dataIndex: \"name\",\n title: t(\"neetoFields.titles.fieldName\"),\n width: 300,\n render: (name, field) => (\n <div className=\"flex items-center justify-between gap-x-3\">\n <Typography style=\"body2\">{name}</Typography>\n <MoreDropdown\n dropdownProps={{ strategy: \"fixed\" }}\n menuItems={getMenuItems({ field, onDeleteClick, onEditClick })}\n dropdownButtonProps={{\n className: \"flex-shrink-0\",\n \"data-cy\": \"neeto-fields-options-dropdown\",\n }}\n />\n </div>\n ),\n },\n {\n key: \"kind\",\n dataIndex: \"kind\",\n title: t(\"neetoFields.titles.fieldKind\"),\n render: kind => DISPLAY_KINDS[kind],\n width: 180,\n },\n {\n key: \"isRequired\",\n dataIndex: \"isRequired\",\n title: t(\"neetoFields.titles.required\"),\n width: 140,\n render: boolVal =>\n boolVal ? t(\"neetoFields.common.yes\") : t(\"neetoFields.common.no\"),\n },\n];\n\nexport const renderMenuBarItems = ({\n items,\n isOwnerBased,\n selectedMenu,\n handleBlockClick,\n nameAliases,\n title,\n}) => {\n title = title.toLocaleLowerCase();\n\n if (isOwnerBased) {\n return items.map(item => (\n <MenuBar.Item\n active={selectedMenu === item.id}\n data-cy={`menubar-${slugify(item.name)}-menu-item`}\n key={item.id}\n label={humanize(item.name)}\n description={t(\"neetoFields.messages.manageTitleForResource\", {\n title,\n resource: humanize(item.name),\n })}\n onClick={handleBlockClick({ resource: item.id })}\n />\n ));\n }\n\n return (\n items.length > 1 &&\n items.map(({ label, value }) => {\n const itemLabel = nameAliases[label] || humanize(label);\n\n return (\n <MenuBar.Item\n active={selectedMenu === value}\n data-cy={`neeto-fields-${slugify(itemLabel)}-menu-item`}\n key={label}\n label={itemLabel}\n description={t(\"neetoFields.messages.manageTitleForResource\", {\n title,\n resource: itemLabel,\n })}\n onClick={handleBlockClick({ resource: value })}\n />\n );\n })\n );\n};\n\nexport const renderStateFilterTabs = ({\n selectedState,\n fieldStatesTaxonomy,\n activeFieldsCount,\n inactiveFieldsCount,\n handleBlockClick,\n}) => (\n <Tab className=\"mb-4\">\n <Tab.Item\n active={selectedState === FIELD_STATES.active}\n data-cy=\"menubar-active-block\"\n onClick={handleBlockClick({ state: FIELD_STATES.active })}\n >\n {fieldStatesTaxonomy.active}({activeFieldsCount})\n </Tab.Item>\n <Tab.Item\n active={selectedState === FIELD_STATES.inactive}\n data-cy=\"menubar-inactive-block\"\n onClick={handleBlockClick({ state: FIELD_STATES.inactive })}\n >\n {fieldStatesTaxonomy.inactive}({inactiveFieldsCount})\n </Tab.Item>\n </Tab>\n);\n\nexport const getResourceName = ({\n isOwnerBased,\n menuItems, // menuItems can be array of owners or array of resource types\n selectedVal,\n nameAliases,\n}) => {\n if (isOwnerBased) {\n return findBy({ id: selectedVal }, menuItems)?.name;\n }\n const selectedName = findBy({ value: selectedVal }, menuItems)?.label;\n\n return nameAliases[selectedName] || selectedName;\n};\n\nexport const getDashBoardTitle = ({\n resourceName,\n isSingleResource,\n title,\n}) => {\n const displayTitle = isSingleResource\n ? title\n : t(\"neetoFields.messages.titleForResource\", {\n title,\n resource: resourceName,\n });\n\n return humanize(displayTitle);\n};\n\nexport const renderNoDataHelpText = (title, url) => (\n <Trans\n i18nKey=\"neetoFields.helpTexts.noData\"\n values={{ title }}\n components={{\n a: (\n <Link\n className=\"neeto-ui-text-primary-600 underline\"\n data-cy=\"no-data-help-text-link\"\n target=\"_blank\"\n to={{ pathname: url }}\n />\n ),\n }}\n />\n);\n\nexport const getDeletionConfirmationMessage = ({\n resource,\n fieldName,\n affectedResourcesCount,\n}) =>\n affectedResourcesCount > 0 ? (\n <Trans\n i18nKey=\"neetoFields.messages.confirmDeleteWithCount\"\n values={{\n resource: pluralize(resource, affectedResourcesCount),\n name: fieldName,\n count: affectedResourcesCount,\n }}\n />\n ) : (\n <Trans\n i18nKey=\"neetoFields.messages.confirmDelete\"\n values={{ name: fieldName }}\n />\n );\n","import axios from \"axios\";\n\nimport { CONFIGS_URL } from \"src/constants\";\n\nconst fetchConfigs = () => axios.get(CONFIGS_URL);\n\nconst configsApi = { fetchConfigs };\n\nexport default configsApi;\n","import { useQuery } from \"@tanstack/react-query\";\n\nimport configsApi from \"apis/configs\";\nimport { DEFAULT_STALE_TIME, QUERY_KEYS } from \"src/constants/query\";\n\nexport const useFetchConfigs = options =>\n useQuery({\n queryKey: [QUERY_KEYS.CONFIGS],\n queryFn: configsApi.fetchConfigs,\n staleTime: DEFAULT_STALE_TIME,\n ...options,\n });\n","import { useEffect, useMemo, useState } from \"react\";\n\nimport { DEFAULT_PAGE_INDEX, DEFAULT_PAGE_SIZE } from \"neetocommons/constants\";\nimport { handleMetaClick, useQueryParams } from \"neetocommons/react-utils\";\nimport { buildUrl } from \"neetocommons/utils\";\nimport { buildFiltersFromURL } from \"neetofilters\";\nimport { any, isNil } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\nimport { useHistory } from \"react-router-dom\";\n\nimport { FIELD_STATES } from \"components/FieldsDashBoard/constants\";\nimport {\n buildDefaultColumns,\n getDashBoardTitle,\n getResourceName,\n renderStateFilterTabs,\n renderMenuBarItems,\n} from \"components/FieldsDashBoard/utils\";\n\nimport { useFetchConfigs } from \"./reactQuery/useConfigsApi\";\nimport { useDestroyField, useFetchFields } from \"./reactQuery/useFieldsApi\";\n\nexport const useFieldsDashboard = ({\n buildColumnData,\n isOwnerBased,\n fieldStatesTaxonomy,\n nameAliases,\n title,\n resources,\n showStateFilter,\n}) => {\n const [isPaneOpen, setIsPaneOpen] = useState(false);\n const [isDeleteAlertOpen, setIsDeleteAlertOpen] = useState(false);\n const [isReorderPaneOpen, setIsReorderPaneOpen] = useState(false);\n const [selectedField, setSelectedField] = useState({});\n const [pageProps, setPageProps] = useState({\n page: DEFAULT_PAGE_INDEX,\n pageSize: DEFAULT_PAGE_SIZE,\n });\n\n const { searchTerm, resource, state } = useQueryParams();\n const history = useHistory();\n const { t } = useTranslation();\n\n const searchKeywordProps = {\n key: \"search_term\",\n node: \"name\",\n value: searchTerm,\n };\n\n const ownerId = isOwnerBased ? resource : undefined;\n\n const {\n data: { owners = [], resourceTypes = [] } = {},\n isLoading: isConfigsLoading,\n } = useFetchConfigs({ enabled: !resources });\n\n const filters = useMemo(\n () => buildFiltersFromURL([searchKeywordProps]),\n [searchTerm]\n );\n\n const fieldParams = {\n resourceType: !isOwnerBased ? resource : undefined,\n ownerId,\n state: state || FIELD_STATES.active,\n pageProps,\n filters,\n };\n\n const {\n data: {\n fields = [],\n count,\n activeFieldsCount,\n inactiveFieldsCount,\n reorderable,\n } = {},\n isLoading: isFieldsLoading,\n isFetching: isFieldsFetching,\n isFetched: isFieldsFetched,\n } = useFetchFields(fieldParams, {\n enabled: !!resource,\n keepPreviousData: true,\n });\n\n const { mutate: deleteField, isPending: isDeleting } = useDestroyField({\n onSuccess: () => {\n setIsDeleteAlertOpen(false);\n setSelectedField({});\n },\n });\n\n const handleDelete = () => {\n deleteField({ fieldId: selectedField.id, ownerId });\n };\n\n const handleClosePane = () => {\n setIsPaneOpen(false);\n setSelectedField({});\n };\n\n const handleEditButtonClick = field => {\n setSelectedField(field);\n setIsPaneOpen(true);\n };\n\n const handleDeleteButtonClick = field => {\n setSelectedField(field);\n setIsDeleteAlertOpen(true);\n };\n\n const handleAlertClose = () => {\n setIsDeleteAlertOpen(false);\n setSelectedField({});\n };\n\n const handleReorderPaneClose = () => {\n setIsReorderPaneOpen(false);\n };\n\n const defaultColumns = buildDefaultColumns({\n onDeleteClick: handleDeleteButtonClick,\n onEditClick: handleEditButtonClick,\n });\n\n const columnData = buildColumnData({\n onEditClick: handleEditButtonClick,\n onDeleteClick: handleDeleteButtonClick,\n defaultColumns,\n });\n\n const handleBlockClick = params =>\n handleMetaClick(history, buildUrl(\"\", { resource, state, ...params }));\n\n const menuItems = resources || (isOwnerBased ? owners : resourceTypes);\n\n const handleURLWithDefaultValues = () => {\n const queryParams = { resource, state };\n if (!isConfigsLoading && isNil(resource)) {\n queryParams.resource = isOwnerBased\n ? menuItems?.[0]?.id\n : menuItems?.[0]?.value;\n }\n\n if (!isConfigsLoading && isNil(state)) {\n queryParams.state = FIELD_STATES.active;\n }\n\n if (!isConfigsLoading && any(isNil)([resource, state])) {\n history.replace(buildUrl(\"\", queryParams));\n }\n };\n\n const isScreenLoading = isFieldsLoading || isConfigsLoading;\n const showCountSubheader = count > 0 && !showStateFilter;\n\n const searchInputProps = {\n placeholder: t(\"neetoFields.placeholders.searchFields\"),\n className: \"w-44\",\n };\n\n const isSingleResource = menuItems.length === 1;\n const isMenuBarNeeded = !isSingleResource && !isConfigsLoading;\n const isSearchBarNeeded =\n state === FIELD_STATES.active\n ? activeFieldsCount > 0\n : inactiveFieldsCount > 0;\n\n const resourceName = useMemo(\n () =>\n getResourceName({\n isOwnerBased,\n nameAliases,\n menuItems,\n selectedVal: resource,\n }),\n [menuItems, resource]\n );\n\n const headerDisplayTitle = useMemo(\n () => getDashBoardTitle({ resourceName, isSingleResource, title }),\n [state, isSingleResource, resourceName]\n );\n\n const stateFilterTabs = useMemo(\n () =>\n renderStateFilterTabs({\n selectedState: state,\n fieldStatesTaxonomy,\n activeFieldsCount,\n inactiveFieldsCount,\n handleBlockClick,\n }),\n [activeFieldsCount, inactiveFieldsCount, state]\n );\n\n const menuBarItems = useMemo(\n () =>\n renderMenuBarItems({\n isOwnerBased,\n items: menuItems,\n selectedMenu: resource,\n handleBlockClick,\n nameAliases,\n title,\n }),\n [menuItems, resource]\n );\n\n useEffect(() => {\n handleURLWithDefaultValues();\n }, [isConfigsLoading, resources, resource, state]);\n\n useEffect(() => {\n setPageProps({\n page: DEFAULT_PAGE_INDEX,\n pageSize: DEFAULT_PAGE_SIZE,\n });\n }, [searchTerm, state, resource]);\n\n return {\n isPaneOpen,\n setIsPaneOpen,\n isDeleteAlertOpen,\n isReorderPaneOpen,\n setIsReorderPaneOpen,\n fields,\n count,\n columnData,\n selectedField,\n selectedMenu: resource, // resource will be ownerId if showOwnersInMenu is true, else it will be resourceType\n ownerId,\n isDeleting,\n isFieldsFetching,\n isFieldsFetched,\n isScreenLoading,\n isMenuBarNeeded,\n showCountSubheader,\n handleDelete,\n handleAlertClose,\n handleClosePane,\n handleReorderPaneClose,\n searchInputProps: isSearchBarNeeded ? searchInputProps : null,\n searchKeywordProps,\n stateFilterTabs,\n menuBarItems,\n reorderable,\n headerDisplayTitle,\n pageProps,\n setPageProps,\n };\n};\n","import React from \"react\";\n\nimport { isNotEmpty } from \"neetocist\";\nimport { Alert } from \"neetoui\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { useFetchDependencies } from \"hooks/reactQuery/useFieldsApi\";\n\nimport { getDeletionConfirmationMessage } from \"./utils\";\n\nconst DeleteAlert = ({\n selectedField,\n ownerId,\n isDeleteAlertOpen,\n isDeleting,\n resourceTypeName,\n handleAlertClose,\n handleDelete,\n}) => {\n const { t } = useTranslation();\n\n const { data: { affectedResourcesCount } = {} } = useFetchDependencies(\n { fieldId: selectedField.id, ownerId },\n { enabled: isDeleteAlertOpen && isNotEmpty(selectedField) }\n );\n\n return (\n <Alert\n {...{ affectedResourcesCount }}\n isOpen={isDeleteAlertOpen}\n isSubmitting={isDeleting}\n submitButtonLabel={t(\"neetoFields.labels.delete\")}\n title={t(\"neetoFields.titles.deleteField\")}\n message={getDeletionConfirmationMessage({\n resource: resourceTypeName,\n affectedResourcesCount,\n fieldName: selectedField?.name,\n })}\n onClose={handleAlertClose}\n onSubmit={handleDelete}\n />\n );\n};\n\nexport default DeleteAlert;\n","import React from \"react\";\n\nimport { getQueryParams } from \"neetocommons/utils\";\nimport PageLoader from \"neetomolecules/PageLoader\";\nimport TableWrapper from \"neetomolecules/TableWrapper\";\nimport { NoData, Table } from \"neetoui\";\nimport { isEmpty } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { FIELD_STATES } from \"./constants\";\nimport { renderNoDataHelpText } from \"./utils\";\n\nconst FieldsTable = ({\n totalCount,\n isFetched,\n isFetching,\n rowData,\n columnData,\n setIsPaneOpen,\n helpDocUrl,\n title,\n pageProps,\n setPageProps,\n showStateFilter,\n}) => {\n const { t } = useTranslation();\n const showNoDataScreen = isFetched && isEmpty(rowData);\n const { state } = getQueryParams();\n title = title.toLocaleLowerCase();\n const { page, pageSize } = pageProps;\n const noDataProps = {};\n\n if (!isFetched && isEmpty(rowData)) {\n return <PageLoader />;\n }\n\n if (helpDocUrl) {\n noDataProps.helpText = renderNoDataHelpText(title, helpDocUrl);\n }\n\n if (FIELD_STATES.active === state) {\n noDataProps.primaryButtonProps = {\n label: t(\"neetoFields.labels.addField\"),\n onClick: () => setIsPaneOpen(true),\n };\n }\n\n return (\n <TableWrapper>\n {showNoDataScreen ? (\n <div className=\"flex h-full w-full items-center justify-center\">\n <NoData\n title={\n showStateFilter\n ? t(\"neetoFields.messages.noFieldsWithState\", { title, state })\n : t(\"neetoFields.messages.noFields\", { title })\n }\n {...noDataProps}\n />\n </div>\n ) : (\n <Table\n {...{ columnData, rowData, totalCount }}\n fixedHeight\n allowRowClick={false}\n currentPageNumber={page}\n defaultPageSize={pageSize}\n handlePageChange={page => setPageProps({ ...pageProps, page })}\n loading={isFetching}\n />\n )}\n </TableWrapper>\n );\n};\n\nexport default FieldsTable;\n","import React from \"react\";\n\nimport { Button } from \"neetoui\";\nimport { useTranslation } from \"react-i18next\";\n\n// eslint-disable-next-line @bigbinary/neeto/no-dumb-components-with-use-translation\nconst ActionBlock = ({ reorderable, setIsReorderPaneOpen, setIsPaneOpen }) => {\n const { t } = useTranslation();\n\n return (\n <div className=\"flex flex-shrink-0 items-center gap-3\">\n <Button\n data-cy=\"neeto-fields-reorder-button\"\n disabled={!reorderable}\n label={t(\"neetoFields.labels.reorder\")}\n style=\"secondary\"\n onClick={() => setIsReorderPaneOpen(true)}\n />\n <Button\n data-cy=\"neeto-fields-add-button\"\n label={t(\"neetoFields.labels.addField\")}\n onClick={() => setIsPaneOpen(true)}\n />\n </div>\n );\n};\n\nexport default ActionBlock;\n","import React from \"react\";\n\nimport { withT } from \"neetocommons/react-utils\";\nimport NeetoUIHeader from \"neetomolecules/Header\";\nimport HelpPopover from \"neetomolecules/HelpPopover\";\n\nimport ActionBlock from \"./ActionBlock\";\n\nconst Header = withT(\n ({\n searchInputProps,\n breadcrumbs,\n title,\n helpDocUrl,\n helpDescription,\n size,\n ...actionBlockProps\n }) => (\n <NeetoUIHeader\n {...{ breadcrumbs, size }}\n actionBlock={<ActionBlock {...actionBlockProps} />}\n searchProps={searchInputProps}\n title={\n <span>\n {title}\n {(helpDocUrl || helpDescription) && (\n <HelpPopover\n className=\"ml-2 self-center\"\n {...(helpDocUrl && { title })}\n {...(helpDescription && { description: helpDescription })}\n {...(helpDocUrl && { helpLinkProps: { href: helpDocUrl } })}\n />\n )}\n </span>\n }\n />\n )\n);\n\nexport default Header;\n","import React from \"react\";\n\nimport NeetoUIMenuBar from \"neetomolecules/MenuBar\";\n\nconst Menubar = ({ menuBarItems, title }) => (\n <NeetoUIMenuBar showMenu {...{ title }}>\n {menuBarItems}\n </NeetoUIMenuBar>\n);\n\nexport default Menubar;\n","import { useMemo, useLayoutEffect, useEffect, useRef, useCallback } from 'react';\n\nfunction useCombinedRefs() {\n for (var _len = arguments.length, refs = new Array(_len), _key = 0; _key < _len; _key++) {\n refs[_key] = arguments[_key];\n }\n\n return useMemo(() => node => {\n refs.forEach(ref => ref(node));\n }, // eslint-disable-next-line react-hooks/exhaustive-deps\n refs);\n}\n\n// https://github.com/facebook/react/blob/master/packages/shared/ExecutionEnvironment.js\nconst canUseDOM = typeof window !== 'undefined' && typeof window.document !== 'undefined' && typeof window.document.createElement !== 'undefined';\n\nfunction isWindow(element) {\n const elementString = Object.prototype.toString.call(element);\n return elementString === '[object Window]' || // In Electron context the Window object serializes to [object global]\n elementString === '[object global]';\n}\n\nfunction isNode(node) {\n return 'nodeType' in node;\n}\n\nfunction getWindow(target) {\n var _target$ownerDocument, _target$ownerDocument2;\n\n if (!target) {\n return window;\n }\n\n if (isWindow(target)) {\n return target;\n }\n\n if (!isNode(target)) {\n return window;\n }\n\n return (_target$ownerDocument = (_target$ownerDocument2 = target.ownerDocument) == null ? void 0 : _target$ownerDocument2.defaultView) != null ? _target$ownerDocument : window;\n}\n\nfunction isDocument(node) {\n const {\n Document\n } = getWindow(node);\n return node instanceof Document;\n}\n\nfunction isHTMLElement(node) {\n if (isWindow(node)) {\n return false;\n }\n\n return node instanceof getWindow(node).HTMLElement;\n}\n\nfunction isSVGElement(node) {\n return node instanceof getWindow(node).SVGElement;\n}\n\nfunction getOwnerDocument(target) {\n if (!target) {\n return document;\n }\n\n if (isWindow(target)) {\n return target.document;\n }\n\n if (!isNode(target)) {\n return document;\n }\n\n if (isDocument(target)) {\n return target;\n }\n\n if (isHTMLElement(target)) {\n return target.ownerDocument;\n }\n\n return document;\n}\n\n/**\r\n * A hook that resolves to useEffect on the server and useLayoutEffect on the client\r\n * @param callback {function} Callback function that is invoked when the dependencies of the hook change\r\n */\n\nconst useIsomorphicLayoutEffect = canUseDOM ? useLayoutEffect : useEffect;\n\nfunction useEvent(handler) {\n const handlerRef = useRef(handler);\n useIsomorphicLayoutEffect(() => {\n handlerRef.current = handler;\n });\n return useCallback(function () {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return handlerRef.current == null ? void 0 : handlerRef.current(...args);\n }, []);\n}\n\nfunction useInterval() {\n const intervalRef = useRef(null);\n const set = useCallback((listener, duration) => {\n intervalRef.current = setInterval(listener, duration);\n }, []);\n const clear = useCallback(() => {\n if (intervalRef.current !== null) {\n clearInterval(intervalRef.current);\n intervalRef.current = null;\n }\n }, []);\n return [set, clear];\n}\n\nfunction useLatestValue(value, dependencies) {\n if (dependencies === void 0) {\n dependencies = [value];\n }\n\n const valueRef = useRef(value);\n useIsomorphicLayoutEffect(() => {\n if (valueRef.current !== value) {\n valueRef.current = value;\n }\n }, dependencies);\n return valueRef;\n}\n\nfunction useLazyMemo(callback, dependencies) {\n const valueRef = useRef();\n return useMemo(() => {\n const newValue = callback(valueRef.current);\n valueRef.current = newValue;\n return newValue;\n }, // eslint-disable-next-line react-hooks/exhaustive-deps\n [...dependencies]);\n}\n\nfunction useNodeRef(onChange) {\n const onChangeHandler = useEvent(onChange);\n const node = useRef(null);\n const setNodeRef = useCallback(element => {\n if (element !== node.current) {\n onChangeHandler == null ? void 0 : onChangeHandler(element, node.current);\n }\n\n node.current = element;\n }, //eslint-disable-next-line\n []);\n return [node, setNodeRef];\n}\n\nfunction usePrevious(value) {\n const ref = useRef();\n useEffect(() => {\n ref.current = value;\n }, [value]);\n return ref.current;\n}\n\nlet ids = {};\nfunction useUniqueId(prefix, value) {\n return useMemo(() => {\n if (value) {\n return value;\n }\n\n const id = ids[prefix] == null ? 0 : ids[prefix] + 1;\n ids[prefix] = id;\n return prefix + \"-\" + id;\n }, [prefix, value]);\n}\n\nfunction createAdjustmentFn(modifier) {\n return function (object) {\n for (var _len = arguments.length, adjustments = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n adjustments[_key - 1] = arguments[_key];\n }\n\n return adjustments.reduce((accumulator, adjustment) => {\n const entries = Object.entries(adjustment);\n\n for (const [key, valueAdjustment] of entries) {\n const value = accumulator[key];\n\n if (value != null) {\n accumulator[key] = value + modifier * valueAdjustment;\n }\n }\n\n return accumulator;\n }, { ...object\n });\n };\n}\n\nconst add = /*#__PURE__*/createAdjustmentFn(1);\nconst subtract = /*#__PURE__*/createAdjustmentFn(-1);\n\nfunction hasViewportRelativeCoordinates(event) {\n return 'clientX' in event && 'clientY' in event;\n}\n\nfunction isKeyboardEvent(event) {\n if (!event) {\n return false;\n }\n\n const {\n KeyboardEvent\n } = getWindow(event.target);\n return KeyboardEvent && event instanceof KeyboardEvent;\n}\n\nfunction isTouchEvent(event) {\n if (!event) {\n return false;\n }\n\n const {\n TouchEvent\n } = getWindow(event.target);\n return TouchEvent && event instanceof TouchEvent;\n}\n\n/**\r\n * Returns the normalized x and y coordinates for mouse and touch events.\r\n */\n\nfunction getEventCoordinates(event) {\n if (isTouchEvent(event)) {\n if (event.touches && event.touches.length) {\n const {\n clientX: x,\n clientY: y\n } = event.touches[0];\n return {\n x,\n y\n };\n } else if (event.changedTouches && event.changedTouches.length) {\n const {\n clientX: x,\n clientY: y\n } = event.changedTouches[0];\n return {\n x,\n y\n };\n }\n }\n\n if (hasViewportRelativeCoordinates(event)) {\n return {\n x: event.clientX,\n y: event.clientY\n };\n }\n\n return null;\n}\n\nconst CSS = /*#__PURE__*/Object.freeze({\n Translate: {\n toString(transform) {\n if (!transform) {\n return;\n }\n\n const {\n x,\n y\n } = transform;\n return \"translate3d(\" + (x ? Math.round(x) : 0) + \"px, \" + (y ? Math.round(y) : 0) + \"px, 0)\";\n }\n\n },\n Scale: {\n toString(transform) {\n if (!transform) {\n return;\n }\n\n const {\n scaleX,\n scaleY\n } = transform;\n return \"scaleX(\" + scaleX + \") scaleY(\" + scaleY + \")\";\n }\n\n },\n Transform: {\n toString(transform) {\n if (!transform) {\n return;\n }\n\n return [CSS.Translate.toString(transform), CSS.Scale.toString(transform)].join(' ');\n }\n\n },\n Transition: {\n toString(_ref) {\n let {\n property,\n duration,\n easing\n } = _ref;\n return property + \" \" + duration + \"ms \" + easing;\n }\n\n }\n});\n\nconst SELECTOR = 'a,frame,iframe,input:not([type=hidden]):not(:disabled),select:not(:disabled),textarea:not(:disabled),button:not(:disabled),*[tabindex]';\nfunction findFirstFocusableNode(element) {\n if (element.matches(SELECTOR)) {\n return element;\n }\n\n return element.querySelector(SELECTOR);\n}\n\nexport { CSS, add, canUseDOM, findFirstFocusableNode, getEventCoordinates, getOwnerDocument, getWindow, hasViewportRelativeCoordinates, isDocument, isHTMLElement, isKeyboardEvent, isNode, isSVGElement, isTouchEvent, isWindow, subtract, useCombinedRefs, useEvent, useInterval, useIsomorphicLayoutEffect, useLatestValue, useLazyMemo, useNodeRef, usePrevious, useUniqueId };\n//# sourceMappingURL=utilities.esm.js.map\n","import React, { useState, useCallback } from 'react';\n\nconst hiddenStyles = {\n display: 'none'\n};\nfunction HiddenText(_ref) {\n let {\n id,\n value\n } = _ref;\n return React.createElement(\"div\", {\n id: id,\n style: hiddenStyles\n }, value);\n}\n\nconst visuallyHidden = {\n position: 'fixed',\n width: 1,\n height: 1,\n margin: -1,\n border: 0,\n padding: 0,\n overflow: 'hidden',\n clip: 'rect(0 0 0 0)',\n clipPath: 'inset(100%)',\n whiteSpace: 'nowrap'\n};\nfunction LiveRegion(_ref) {\n let {\n id,\n announcement\n } = _ref;\n return React.createElement(\"div\", {\n id: id,\n style: visuallyHidden,\n role: \"status\",\n \"aria-live\": \"assertive\",\n \"aria-atomic\": true\n }, announcement);\n}\n\nfunction useAnnouncement() {\n const [announcement, setAnnouncement] = useState('');\n const announce = useCallback(value => {\n if (value != null) {\n setAnnouncement(value);\n }\n }, []);\n return {\n announce,\n announcement\n };\n}\n\nexport { HiddenText, LiveRegion, useAnnouncement };\n//# sourceMappingURL=accessibility.esm.js.map\n","import React, { createContext, useContext, useEffect, useState, useCallback, useMemo, useRef, useReducer, memo, cloneElement, forwardRef } from 'react';\nimport { createPortal, unstable_batchedUpdates } from 'react-dom';\nimport { useUniqueId, getEventCoordinates, getWindow, isDocument, isHTMLElement, isSVGElement, canUseDOM, isWindow, isNode, getOwnerDocument, add, isKeyboardEvent, subtract, useLazyMemo, useInterval, usePrevious, useLatestValue, useEvent, useIsomorphicLayoutEffect, useNodeRef, findFirstFocusableNode, CSS } from '@dnd-kit/utilities';\nimport { useAnnouncement, HiddenText, LiveRegion } from '@dnd-kit/accessibility';\n\nconst DndMonitorContext = /*#__PURE__*/createContext(null);\n\nfunction useDndMonitor(listener) {\n const registerListener = useContext(DndMonitorContext);\n useEffect(() => {\n if (!registerListener) {\n throw new Error('useDndMonitor must be used within a children of <DndContext>');\n }\n\n const unsubscribe = registerListener(listener);\n return unsubscribe;\n }, [listener, registerListener]);\n}\n\nfunction useDndMonitorProvider() {\n const [listeners] = useState(() => new Set());\n const registerListener = useCallback(listener => {\n listeners.add(listener);\n return () => listeners.delete(listener);\n }, [listeners]);\n const dispatch = useCallback(_ref => {\n let {\n type,\n event\n } = _ref;\n listeners.forEach(listener => {\n var _listener$type;\n\n return (_listener$type = listener[type]) == null ? void 0 : _listener$type.call(listener, event);\n });\n }, [listeners]);\n return [dispatch, registerListener];\n}\n\nconst defaultScreenReaderInstructions = {\n draggable: \"\\n To pick up a draggable item, press the space bar.\\n While dragging, use the arrow keys to move the item.\\n Press space again to drop the item in its new position, or press escape to cancel.\\n \"\n};\nconst defaultAnnouncements = {\n onDragStart(_ref) {\n let {\n active\n } = _ref;\n return \"Picked up draggable item \" + active.id + \".\";\n },\n\n onDragOver(_ref2) {\n let {\n active,\n over\n } = _ref2;\n\n if (over) {\n return \"Draggable item \" + active.id + \" was moved over droppable area \" + over.id + \".\";\n }\n\n return \"Draggable item \" + active.id + \" is no longer over a droppable area.\";\n },\n\n onDragEnd(_ref3) {\n let {\n active,\n over\n } = _ref3;\n\n if (over) {\n return \"Draggable item \" + active.id + \" was dropped over droppable area \" + over.id;\n }\n\n return \"Draggable item \" + active.id + \" was dropped.\";\n },\n\n onDragCancel(_ref4) {\n let {\n active\n } = _ref4;\n return \"Dragging was cancelled. Draggable item \" + active.id + \" was dropped.\";\n }\n\n};\n\nfunction Accessibility(_ref) {\n let {\n announcements = defaultAnnouncements,\n container,\n hiddenTextDescribedById,\n screenReaderInstructions = defaultScreenReaderInstructions\n } = _ref;\n const {\n announce,\n announcement\n } = useAnnouncement();\n const liveRegionId = useUniqueId(\"DndLiveRegion\");\n const [mounted, setMounted] = useState(false);\n useEffect(() => {\n setMounted(true);\n }, []);\n useDndMonitor(useMemo(() => ({\n onDragStart(_ref2) {\n let {\n active\n } = _ref2;\n announce(announcements.onDragStart({\n active\n }));\n },\n\n onDragMove(_ref3) {\n let {\n active,\n over\n } = _ref3;\n\n if (announcements.onDragMove) {\n announce(announcements.onDragMove({\n active,\n over\n }));\n }\n },\n\n onDragOver(_ref4) {\n let {\n active,\n over\n } = _ref4;\n announce(announcements.onDragOver({\n active,\n over\n }));\n },\n\n onDragEnd(_ref5) {\n let {\n active,\n over\n } = _ref5;\n announce(announcements.onDragEnd({\n active,\n over\n }));\n },\n\n onDragCancel(_ref6) {\n let {\n active,\n over\n } = _ref6;\n announce(announcements.onDragCancel({\n active,\n over\n }));\n }\n\n }), [announce, announcements]));\n\n if (!mounted) {\n return null;\n }\n\n const markup = React.createElement(React.Fragment, null, React.createElement(HiddenText, {\n id: hiddenTextDescribedById,\n value: screenReaderInstructions.draggable\n }), React.createElement(LiveRegion, {\n id: liveRegionId,\n announcement: announcement\n }));\n return container ? createPortal(markup, container) : markup;\n}\n\nvar Action;\n\n(function (Action) {\n Action[\"DragStart\"] = \"dragStart\";\n Action[\"DragMove\"] = \"dragMove\";\n Action[\"DragEnd\"] = \"dragEnd\";\n Action[\"DragCancel\"] = \"dragCancel\";\n Action[\"DragOver\"] = \"dragOver\";\n Action[\"RegisterDroppable\"] = \"registerDroppable\";\n Action[\"SetDroppableDisabled\"] = \"setDroppableDisabled\";\n Action[\"UnregisterDroppable\"] = \"unregisterDroppable\";\n})(Action || (Action = {}));\n\nfunction noop() {}\n\nfunction useSensor(sensor, options) {\n return useMemo(() => ({\n sensor,\n options: options != null ? options : {}\n }), // eslint-disable-next-line react-hooks/exhaustive-deps\n [sensor, options]);\n}\n\nfunction useSensors() {\n for (var _len = arguments.length, sensors = new Array(_len), _key = 0; _key < _len; _key++) {\n sensors[_key] = arguments[_key];\n }\n\n return useMemo(() => [...sensors].filter(sensor => sensor != null), // eslint-disable-next-line react-hooks/exhaustive-deps\n [...sensors]);\n}\n\nconst defaultCoordinates = /*#__PURE__*/Object.freeze({\n x: 0,\n y: 0\n});\n\n/**\r\n * Returns the distance between two points\r\n */\nfunction distanceBetween(p1, p2) {\n return Math.sqrt(Math.pow(p1.x - p2.x, 2) + Math.pow(p1.y - p2.y, 2));\n}\n\nfunction getRelativeTransformOrigin(event, rect) {\n const eventCoordinates = getEventCoordinates(event);\n\n if (!eventCoordinates) {\n return '0 0';\n }\n\n const transformOrigin = {\n x: (eventCoordinates.x - rect.left) / rect.width * 100,\n y: (eventCoordinates.y - rect.top) / rect.height * 100\n };\n return transformOrigin.x + \"% \" + transformOrigin.y + \"%\";\n}\n\n/**\r\n * Sort collisions from smallest to greatest value\r\n */\nfunction sortCollisionsAsc(_ref, _ref2) {\n let {\n data: {\n value: a\n }\n } = _ref;\n let {\n data: {\n value: b\n }\n } = _ref2;\n return a - b;\n}\n/**\r\n * Sort collisions from greatest to smallest value\r\n */\n\nfunction sortCollisionsDesc(_ref3, _ref4) {\n let {\n data: {\n value: a\n }\n } = _ref3;\n let {\n data: {\n value: b\n }\n } = _ref4;\n return b - a;\n}\n/**\r\n * Returns the coordinates of the corners of a given rectangle:\r\n * [TopLeft {x, y}, TopRight {x, y}, BottomLeft {x, y}, BottomRight {x, y}]\r\n */\n\nfunction cornersOfRectangle(_ref5) {\n let {\n left,\n top,\n height,\n width\n } = _ref5;\n return [{\n x: left,\n y: top\n }, {\n x: left + width,\n y: top\n }, {\n x: left,\n y: top + height\n }, {\n x: left + width,\n y: top + height\n }];\n}\nfunction getFirstCollision(collisions, property) {\n if (!collisions || collisions.length === 0) {\n return null;\n }\n\n const [firstCollision] = collisions;\n return property ? firstCollision[property] : firstCollision;\n}\n\n/**\r\n * Returns the coordinates of the center of a given ClientRect\r\n */\n\nfunction centerOfRectangle(rect, left, top) {\n if (left === void 0) {\n left = rect.left;\n }\n\n if (top === void 0) {\n top = rect.top;\n }\n\n return {\n x: left + rect.width * 0.5,\n y: top + rect.height * 0.5\n };\n}\n/**\r\n * Returns the closest rectangles from an array of rectangles to the center of a given\r\n * rectangle.\r\n */\n\n\nconst closestCenter = _ref => {\n let {\n collisionRect,\n droppableRects,\n droppableContainers\n } = _ref;\n const centerRect = centerOfRectangle(collisionRect, collisionRect.left, collisionRect.top);\n const collisions = [];\n\n for (const droppableContainer of droppableContainers) {\n const {\n id\n } = droppableContainer;\n const rect = droppableRects.get(id);\n\n if (rect) {\n const distBetween = distanceBetween(centerOfRectangle(rect), centerRect);\n collisions.push({\n id,\n data: {\n droppableContainer,\n value: distBetween\n }\n });\n }\n }\n\n return collisions.sort(sortCollisionsAsc);\n};\n\n/**\r\n * Returns the closest rectangles from an array of rectangles to the corners of\r\n * another rectangle.\r\n */\n\nconst closestCorners = _ref => {\n let {\n collisionRect,\n droppableRects,\n droppableContainers\n } = _ref;\n const corners = cornersOfRectangle(collisionRect);\n const collisions = [];\n\n for (const droppableContainer of droppableContainers) {\n const {\n id\n } = droppableContainer;\n const rect = droppableRects.get(id);\n\n if (rect) {\n const rectCorners = cornersOfRectangle(rect);\n const distances = corners.reduce((accumulator, corner, index) => {\n return accumulator + distanceBetween(rectCorners[index], corner);\n }, 0);\n const effectiveDistance = Number((distances / 4).toFixed(4));\n collisions.push({\n id,\n data: {\n droppableContainer,\n value: effectiveDistance\n }\n });\n }\n }\n\n return collisions.sort(sortCollisionsAsc);\n};\n\n/**\r\n * Returns the intersecting rectangle area between two rectangles\r\n */\n\nfunction getIntersectionRatio(entry, target) {\n const top = Math.max(target.top, entry.top);\n const left = Math.max(target.left, entry.left);\n const right = Math.min(target.left + target.width, entry.left + entry.width);\n const bottom = Math.min(target.top + target.height, entry.top + entry.height);\n const width = right - left;\n const height = bottom - top;\n\n if (left < right && top < bottom) {\n const targetArea = target.width * target.height;\n const entryArea = entry.width * entry.height;\n const intersectionArea = width * height;\n const intersectionRatio = intersectionArea / (targetArea + entryArea - intersectionArea);\n return Number(intersectionRatio.toFixed(4));\n } // Rectangles do not overlap, or overlap has an area of zero (edge/corner overlap)\n\n\n return 0;\n}\n/**\r\n * Returns the rectangles that has the greatest intersection area with a given\r\n * rectangle in an array of rectangles.\r\n */\n\nconst rectIntersection = _ref => {\n let {\n collisionRect,\n droppableRects,\n droppableContainers\n } = _ref;\n const collisions = [];\n\n for (const droppableContainer of droppableContainers) {\n const {\n id\n } = droppableContainer;\n const rect = droppableRects.get(id);\n\n if (rect) {\n const intersectionRatio = getIntersectionRatio(rect, collisionRect);\n\n if (intersectionRatio > 0) {\n collisions.push({\n id,\n data: {\n droppableContainer,\n value: intersectionRatio\n }\n });\n }\n }\n }\n\n return collisions.sort(sortCollisionsDesc);\n};\n\n/**\r\n * Check if a given point is contained within a bounding rectangle\r\n */\n\nfunction isPointWithinRect(point, rect) {\n const {\n top,\n left,\n bottom,\n right\n } = rect;\n return top <= point.y && point.y <= bottom && left <= point.x && point.x <= right;\n}\n/**\r\n * Returns the rectangles that the pointer is hovering over\r\n */\n\n\nconst pointerWithin = _ref => {\n let {\n droppableContainers,\n droppableRects,\n pointerCoordinates\n } = _ref;\n\n if (!pointerCoordinates) {\n return [];\n }\n\n const collisions = [];\n\n for (const droppableContainer of droppableContainers) {\n const {\n id\n } = droppableContainer;\n const rect = droppableRects.get(id);\n\n if (rect && isPointWithinRect(pointerCoordinates, rect)) {\n /* There may be more than a single rectangle intersecting\r\n * with the pointer coordinates. In order to sort the\r\n * colliding rectangles, we measure the distance between\r\n * the pointer and the corners of the intersecting rectangle\r\n */\n const corners = cornersOfRectangle(rect);\n const distances = corners.reduce((accumulator, corner) => {\n return accumulator + distanceBetween(pointerCoordinates, corner);\n }, 0);\n const effectiveDistance = Number((distances / 4).toFixed(4));\n collisions.push({\n id,\n data: {\n droppableContainer,\n value: effectiveDistance\n }\n });\n }\n }\n\n return collisions.sort(sortCollisionsAsc);\n};\n\nfunction adjustScale(transform, rect1, rect2) {\n return { ...transform,\n scaleX: rect1 && rect2 ? rect1.width / rect2.width : 1,\n scaleY: rect1 && rect2 ? rect1.height / rect2.height : 1\n };\n}\n\nfunction getRectDelta(rect1, rect2) {\n return rect1 && rect2 ? {\n x: rect1.left - rect2.left,\n y: rect1.top - rect2.top\n } : defaultCoordinates;\n}\n\nfunction createRectAdjustmentFn(modifier) {\n return function adjustClientRect(rect) {\n for (var _len = arguments.length, adjustments = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n adjustments[_key - 1] = arguments[_key];\n }\n\n return adjustments.reduce((acc, adjustment) => ({ ...acc,\n top: acc.top + modifier * adjustment.y,\n bottom: acc.bottom + modifier * adjustment.y,\n left: acc.left + modifier * adjustment.x,\n right: acc.right + modifier * adjustment.x\n }), { ...rect\n });\n };\n}\nconst getAdjustedRect = /*#__PURE__*/createRectAdjustmentFn(1);\n\nfunction parseTransform(transform) {\n if (transform.startsWith('matrix3d(')) {\n const transformArray = transform.slice(9, -1).split(/, /);\n return {\n x: +transformArray[12],\n y: +transformArray[13],\n scaleX: +transformArray[0],\n scaleY: +transformArray[5]\n };\n } else if (transform.startsWith('matrix(')) {\n const transformArray = transform.slice(7, -1).split(/, /);\n return {\n x: +transformArray[4],\n y: +transformArray[5],\n scaleX: +transformArray[0],\n scaleY: +transformArray[3]\n };\n }\n\n return null;\n}\n\nfunction inverseTransform(rect, transform, transformOrigin) {\n const parsedTransform = parseTransform(transform);\n\n if (!parsedTransform) {\n return rect;\n }\n\n const {\n scaleX,\n scaleY,\n x: translateX,\n y: translateY\n } = parsedTransform;\n const x = rect.left - translateX - (1 - scaleX) * parseFloat(transformOrigin);\n const y = rect.top - translateY - (1 - scaleY) * parseFloat(transformOrigin.slice(transformOrigin.indexOf(' ') + 1));\n const w = scaleX ? rect.width / scaleX : rect.width;\n const h = scaleY ? rect.height / scaleY : rect.height;\n return {\n width: w,\n height: h,\n top: y,\n right: x + w,\n bottom: y + h,\n left: x\n };\n}\n\nconst defaultOptions = {\n ignoreTransform: false\n};\n/**\r\n * Returns the bounding client rect of an element relative to the viewport.\r\n */\n\nfunction getClientRect(element, options) {\n if (options === void 0) {\n options = defaultOptions;\n }\n\n let rect = element.getBoundingClientRect();\n\n if (options.ignoreTransform) {\n const {\n transform,\n transformOrigin\n } = getWindow(element).getComputedStyle(element);\n\n if (transform) {\n rect = inverseTransform(rect, transform, transformOrigin);\n }\n }\n\n const {\n top,\n left,\n width,\n height,\n bottom,\n right\n } = rect;\n return {\n top,\n left,\n width,\n height,\n bottom,\n right\n };\n}\n/**\r\n * Returns the bounding client rect of an element relative to the viewport.\r\n *\r\n * @remarks\r\n * The ClientRect returned by this method does not take into account transforms\r\n * applied to the element it measures.\r\n *\r\n */\n\nfunction getTransformAgnosticClientRect(element) {\n return getClientRect(element, {\n ignoreTransform: true\n });\n}\n\nfunction getWindowClientRect(element) {\n const width = element.innerWidth;\n const height = element.innerHeight;\n return {\n top: 0,\n left: 0,\n right: width,\n bottom: height,\n width,\n height\n };\n}\n\nfunction isFixed(node, computedStyle) {\n if (computedStyle === void 0) {\n computedStyle = getWindow(node).getComputedStyle(node);\n }\n\n return computedStyle.position === 'fixed';\n}\n\nfunction isScrollable(element, computedStyle) {\n if (computedStyle === void 0) {\n computedStyle = getWindow(element).getComputedStyle(element);\n }\n\n const overflowRegex = /(auto|scroll|overlay)/;\n const properties = ['overflow', 'overflowX', 'overflowY'];\n return properties.some(property => {\n const value = computedStyle[property];\n return typeof value === 'string' ? overflowRegex.test(value) : false;\n });\n}\n\nfunction getScrollableAncestors(element, limit) {\n const scrollParents = [];\n\n function findScrollableAncestors(node) {\n if (limit != null && scrollParents.length >= limit) {\n return scrollParents;\n }\n\n if (!node) {\n return scrollParents;\n }\n\n if (isDocument(node) && node.scrollingElement != null && !scrollParents.includes(node.scrollingElement)) {\n scrollParents.push(node.scrollingElement);\n return scrollParents;\n }\n\n if (!isHTMLElement(node) || isSVGElement(node)) {\n return scrollParents;\n }\n\n if (scrollParents.includes(node)) {\n return scrollParents;\n }\n\n const computedStyle = getWindow(element).getComputedStyle(node);\n\n if (node !== element) {\n if (isScrollable(node, computedStyle)) {\n scrollParents.push(node);\n }\n }\n\n if (isFixed(node, computedStyle)) {\n return scrollParents;\n }\n\n return findScrollableAncestors(node.parentNode);\n }\n\n if (!element) {\n return scrollParents;\n }\n\n return findScrollableAncestors(element);\n}\nfunction getFirstScrollableAncestor(node) {\n const [firstScrollableAncestor] = getScrollableAncestors(node, 1);\n return firstScrollableAncestor != null ? firstScrollableAncestor : null;\n}\n\nfunction getScrollableElement(element) {\n if (!canUseDOM || !element) {\n return null;\n }\n\n if (isWindow(element)) {\n return element;\n }\n\n if (!isNode(element)) {\n return null;\n }\n\n if (isDocument(element) || element === getOwnerDocument(element).scrollingElement) {\n return window;\n }\n\n if (isHTMLElement(element)) {\n return element;\n }\n\n return null;\n}\n\nfunction getScrollXCoordinate(element) {\n if (isWindow(element)) {\n return element.scrollX;\n }\n\n return element.scrollLeft;\n}\nfunction getScrollYCoordinate(element) {\n if (isWindow(element)) {\n return element.scrollY;\n }\n\n return element.scrollTop;\n}\nfunction getScrollCoordinates(element) {\n return {\n x: getScrollXCoordinate(element),\n y: getScrollYCoordinate(element)\n };\n}\n\nvar Direction;\n\n(function (Direction) {\n Direction[Direction[\"Forward\"] = 1] = \"Forward\";\n Direction[Direction[\"Backward\"] = -1] = \"Backward\";\n})(Direction || (Direction = {}));\n\nfunction isDocumentScrollingElement(element) {\n if (!canUseDOM || !element) {\n return false;\n }\n\n return element === document.scrollingElement;\n}\n\nfunction getScrollPosition(scrollingContainer) {\n const minScroll = {\n x: 0,\n y: 0\n };\n const dimensions = isDocumentScrollingElement(scrollingContainer) ? {\n height: window.innerHeight,\n width: window.innerWidth\n } : {\n height: scrollingContainer.clientHeight,\n width: scrollingContainer.clientWidth\n };\n const maxScroll = {\n x: scrollingContainer.scrollWidth - dimensions.width,\n y: scrollingContainer.scrollHeight - dimensions.height\n };\n const isTop = scrollingContainer.scrollTop <= minScroll.y;\n const isLeft = scrollingContainer.scrollLeft <= minScroll.x;\n const isBottom = scrollingContainer.scrollTop >= maxScroll.y;\n const isRight = scrollingContainer.scrollLeft >= maxScroll.x;\n return {\n isTop,\n isLeft,\n isBottom,\n isRight,\n maxScroll,\n minScroll\n };\n}\n\nconst defaultThreshold = {\n x: 0.2,\n y: 0.2\n};\nfunction getScrollDirectionAndSpeed(scrollContainer, scrollContainerRect, _ref, acceleration, thresholdPercentage) {\n let {\n top,\n left,\n right,\n bottom\n } = _ref;\n\n if (acceleration === void 0) {\n acceleration = 10;\n }\n\n if (thresholdPercentage === void 0) {\n thresholdPercentage = defaultThreshold;\n }\n\n const {\n isTop,\n isBottom,\n isLeft,\n isRight\n } = getScrollPosition(scrollContainer);\n const direction = {\n x: 0,\n y: 0\n };\n const speed = {\n x: 0,\n y: 0\n };\n const threshold = {\n height: scrollContainerRect.height * thresholdPercentage.y,\n width: scrollContainerRect.width * thresholdPercentage.x\n };\n\n if (!isTop && top <= scrollContainerRect.top + threshold.height) {\n // Scroll Up\n direction.y = Direction.Backward;\n speed.y = acceleration * Math.abs((scrollContainerRect.top + threshold.height - top) / threshold.height);\n } else if (!isBottom && bottom >= scrollContainerRect.bottom - threshold.height) {\n // Scroll Down\n direction.y = Direction.Forward;\n speed.y = acceleration * Math.abs((scrollContainerRect.bottom - threshold.height - bottom) / threshold.height);\n }\n\n if (!isRight && right >= scrollContainerRect.right - threshold.width) {\n // Scroll Right\n direction.x = Direction.Forward;\n speed.x = acceleration * Math.abs((scrollContainerRect.right - threshold.width - right) / threshold.width);\n } else if (!isLeft && left <= scrollContainerRect.left + threshold.width) {\n // Scroll Left\n direction.x = Direction.Backward;\n speed.x = acceleration * Math.abs((scrollContainerRect.left + threshold.width - left) / threshold.width);\n }\n\n return {\n direction,\n speed\n };\n}\n\nfunction getScrollElementRect(element) {\n if (element === document.scrollingElement) {\n const {\n innerWidth,\n innerHeight\n } = window;\n return {\n top: 0,\n left: 0,\n right: innerWidth,\n bottom: innerHeight,\n width: innerWidth,\n height: innerHeight\n };\n }\n\n const {\n top,\n left,\n right,\n bottom\n } = element.getBoundingClientRect();\n return {\n top,\n left,\n right,\n bottom,\n width: element.clientWidth,\n height: element.clientHeight\n };\n}\n\nfunction getScrollOffsets(scrollableAncestors) {\n return scrollableAncestors.reduce((acc, node) => {\n return add(acc, getScrollCoordinates(node));\n }, defaultCoordinates);\n}\nfunction getScrollXOffset(scrollableAncestors) {\n return scrollableAncestors.reduce((acc, node) => {\n return acc + getScrollXCoordinate(node);\n }, 0);\n}\nfunction getScrollYOffset(scrollableAncestors) {\n return scrollableAncestors.reduce((acc, node) => {\n return acc + getScrollYCoordinate(node);\n }, 0);\n}\n\nfunction scrollIntoViewIfNeeded(element, measure) {\n if (measure === void 0) {\n measure = getClientRect;\n }\n\n if (!element) {\n return;\n }\n\n const {\n top,\n left,\n bottom,\n right\n } = measure(element);\n const firstScrollableAncestor = getFirstScrollableAncestor(element);\n\n if (!firstScrollableAncestor) {\n return;\n }\n\n if (bottom <= 0 || right <= 0 || top >= window.innerHeight || left >= window.innerWidth) {\n element.scrollIntoView({\n block: 'center',\n inline: 'center'\n });\n }\n}\n\nconst properties = [['x', ['left', 'right'], getScrollXOffset], ['y', ['top', 'bottom'], getScrollYOffset]];\nclass Rect {\n constructor(rect, element) {\n this.rect = void 0;\n this.width = void 0;\n this.height = void 0;\n this.top = void 0;\n this.bottom = void 0;\n this.right = void 0;\n this.left = void 0;\n const scrollableAncestors = getScrollableAncestors(element);\n const scrollOffsets = getScrollOffsets(scrollableAncestors);\n this.rect = { ...rect\n };\n this.width = rect.width;\n this.height = rect.height;\n\n for (const [axis, keys, getScrollOffset] of properties) {\n for (const key of keys) {\n Object.defineProperty(this, key, {\n get: () => {\n const currentOffsets = getScrollOffset(scrollableAncestors);\n const scrollOffsetsDeltla = scrollOffsets[axis] - currentOffsets;\n return this.rect[key] + scrollOffsetsDeltla;\n },\n enumerable: true\n });\n }\n }\n\n Object.defineProperty(this, 'rect', {\n enumerable: false\n });\n }\n\n}\n\nclass Listeners {\n constructor(target) {\n this.target = void 0;\n this.listeners = [];\n\n this.removeAll = () => {\n this.listeners.forEach(listener => {\n var _this$target;\n\n return (_this$target = this.target) == null ? void 0 : _this$target.removeEventListener(...listener);\n });\n };\n\n this.target = target;\n }\n\n add(eventName, handler, options) {\n var _this$target2;\n\n (_this$target2 = this.target) == null ? void 0 : _this$target2.addEventListener(eventName, handler, options);\n this.listeners.push([eventName, handler, options]);\n }\n\n}\n\nfunction getEventListenerTarget(target) {\n // If the `event.target` element is removed from the document events will still be targeted\n // at it, and hence won't always bubble up to the window or document anymore.\n // If there is any risk of an element being removed while it is being dragged,\n // the best practice is to attach the event listeners directly to the target.\n // https://developer.mozilla.org/en-US/docs/Web/API/EventTarget\n const {\n EventTarget\n } = getWindow(target);\n return target instanceof EventTarget ? target : getOwnerDocument(target);\n}\n\nfunction hasExceededDistance(delta, measurement) {\n const dx = Math.abs(delta.x);\n const dy = Math.abs(delta.y);\n\n if (typeof measurement === 'number') {\n return Math.sqrt(dx ** 2 + dy ** 2) > measurement;\n }\n\n if ('x' in measurement && 'y' in measurement) {\n return dx > measurement.x && dy > measurement.y;\n }\n\n if ('x' in measurement) {\n return dx > measurement.x;\n }\n\n if ('y' in measurement) {\n return dy > measurement.y;\n }\n\n return false;\n}\n\nvar EventName;\n\n(function (EventName) {\n EventName[\"Click\"] = \"click\";\n EventName[\"DragStart\"] = \"dragstart\";\n EventName[\"Keydown\"] = \"keydown\";\n EventName[\"ContextMenu\"] = \"contextmenu\";\n EventName[\"Resize\"] = \"resize\";\n EventName[\"SelectionChange\"] = \"selectionchange\";\n EventName[\"VisibilityChange\"] = \"visibilitychange\";\n})(EventName || (EventName = {}));\n\nfunction preventDefault(event) {\n event.preventDefault();\n}\nfunction stopPropagation(event) {\n event.stopPropagation();\n}\n\nvar KeyboardCode;\n\n(function (KeyboardCode) {\n KeyboardCode[\"Space\"] = \"Space\";\n KeyboardCode[\"Down\"] = \"ArrowDown\";\n KeyboardCode[\"Right\"] = \"ArrowRight\";\n KeyboardCode[\"Left\"] = \"ArrowLeft\";\n KeyboardCode[\"Up\"] = \"ArrowUp\";\n KeyboardCode[\"Esc\"] = \"Escape\";\n KeyboardCode[\"Enter\"] = \"Enter\";\n})(KeyboardCode || (KeyboardCode = {}));\n\nconst defaultKeyboardCodes = {\n start: [KeyboardCode.Space, KeyboardCode.Enter],\n cancel: [KeyboardCode.Esc],\n end: [KeyboardCode.Space, KeyboardCode.Enter]\n};\nconst defaultKeyboardCoordinateGetter = (event, _ref) => {\n let {\n currentCoordinates\n } = _ref;\n\n switch (event.code) {\n case KeyboardCode.Right:\n return { ...currentCoordinates,\n x: currentCoordinates.x + 25\n };\n\n case KeyboardCode.Left:\n return { ...currentCoordinates,\n x: currentCoordinates.x - 25\n };\n\n case KeyboardCode.Down:\n return { ...currentCoordinates,\n y: currentCoordinates.y + 25\n };\n\n case KeyboardCode.Up:\n return { ...currentCoordinates,\n y: currentCoordinates.y - 25\n };\n }\n\n return undefined;\n};\n\nclass KeyboardSensor {\n constructor(props) {\n this.props = void 0;\n this.autoScrollEnabled = false;\n this.referenceCoordinates = void 0;\n this.listeners = void 0;\n this.windowListeners = void 0;\n this.props = props;\n const {\n event: {\n target\n }\n } = props;\n this.props = props;\n this.listeners = new Listeners(getOwnerDocument(target));\n this.windowListeners = new Listeners(getWindow(target));\n this.handleKeyDown = this.handleKeyDown.bind(this);\n this.handleCancel = this.handleCancel.bind(this);\n this.attach();\n }\n\n attach() {\n this.handleStart();\n this.windowListeners.add(EventName.Resize, this.handleCancel);\n this.windowListeners.add(EventName.VisibilityChange, this.handleCancel);\n setTimeout(() => this.listeners.add(EventName.Keydown, this.handleKeyDown));\n }\n\n handleStart() {\n const {\n activeNode,\n onStart\n } = this.props;\n const node = activeNode.node.current;\n\n if (node) {\n scrollIntoViewIfNeeded(node);\n }\n\n onStart(defaultCoordinates);\n }\n\n handleKeyDown(event) {\n if (isKeyboardEvent(event)) {\n const {\n active,\n context,\n options\n } = this.props;\n const {\n keyboardCodes = defaultKeyboardCodes,\n coordinateGetter = defaultKeyboardCoordinateGetter,\n scrollBehavior = 'smooth'\n } = options;\n const {\n code\n } = event;\n\n if (keyboardCodes.end.includes(code)) {\n this.handleEnd(event);\n return;\n }\n\n if (keyboardCodes.cancel.includes(code)) {\n this.handleCancel(event);\n return;\n }\n\n const {\n collisionRect\n } = context.current;\n const currentCoordinates = collisionRect ? {\n x: collisionRect.left,\n y: collisionRect.top\n } : defaultCoordinates;\n\n if (!this.referenceCoordinates) {\n this.referenceCoordinates = currentCoordinates;\n }\n\n const newCoordinates = coordinateGetter(event, {\n active,\n context: context.current,\n currentCoordinates\n });\n\n if (newCoordinates) {\n const coordinatesDelta = subtract(newCoordinates, currentCoordinates);\n const scrollDelta = {\n x: 0,\n y: 0\n };\n const {\n scrollableAncestors\n } = context.current;\n\n for (const scrollContainer of scrollableAncestors) {\n const direction = event.code;\n const {\n isTop,\n isRight,\n isLeft,\n isBottom,\n maxScroll,\n minScroll\n } = getScrollPosition(scrollContainer);\n const scrollElementRect = getScrollElementRect(scrollContainer);\n const clampedCoordinates = {\n x: Math.min(direction === KeyboardCode.Right ? scrollElementRect.right - scrollElementRect.width / 2 : scrollElementRect.right, Math.max(direction === KeyboardCode.Right ? scrollElementRect.left : scrollElementRect.left + scrollElementRect.width / 2, newCoordinates.x)),\n y: Math.min(direction === KeyboardCode.Down ? scrollElementRect.bottom - scrollElementRect.height / 2 : scrollElementRect.bottom, Math.max(direction === KeyboardCode.Down ? scrollElementRect.top : scrollElementRect.top + scrollElementRect.height / 2, newCoordinates.y))\n };\n const canScrollX = direction === KeyboardCode.Right && !isRight || direction === KeyboardCode.Left && !isLeft;\n const canScrollY = direction === KeyboardCode.Down && !isBottom || direction === KeyboardCode.Up && !isTop;\n\n if (canScrollX && clampedCoordinates.x !== newCoordinates.x) {\n const newScrollCoordinates = scrollContainer.scrollLeft + coordinatesDelta.x;\n const canScrollToNewCoordinates = direction === KeyboardCode.Right && newScrollCoordinates <= maxScroll.x || direction === KeyboardCode.Left && newScrollCoordinates >= minScroll.x;\n\n if (canScrollToNewCoordinates && !coordinatesDelta.y) {\n // We don't need to update coordinates, the scroll adjustment alone will trigger\n // logic to auto-detect the new container we are over\n scrollContainer.scrollTo({\n left: newScrollCoordinates,\n behavior: scrollBehavior\n });\n return;\n }\n\n if (canScrollToNewCoordinates) {\n scrollDelta.x = scrollContainer.scrollLeft - newScrollCoordinates;\n } else {\n scrollDelta.x = direction === KeyboardCode.Right ? scrollContainer.scrollLeft - maxScroll.x : scrollContainer.scrollLeft - minScroll.x;\n }\n\n if (scrollDelta.x) {\n scrollContainer.scrollBy({\n left: -scrollDelta.x,\n behavior: scrollBehavior\n });\n }\n\n break;\n } else if (canScrollY && clampedCoordinates.y !== newCoordinates.y) {\n const newScrollCoordinates = scrollContainer.scrollTop + coordinatesDelta.y;\n const canScrollToNewCoordinates = direction === KeyboardCode.Down && newScrollCoordinates <= maxScroll.y || direction === KeyboardCode.Up && newScrollCoordinates >= minScroll.y;\n\n if (canScrollToNewCoordinates && !coordinatesDelta.x) {\n // We don't need to update coordinates, the scroll adjustment alone will trigger\n // logic to auto-detect the new container we are over\n scrollContainer.scrollTo({\n top: newScrollCoordinates,\n behavior: scrollBehavior\n });\n return;\n }\n\n if (canScrollToNewCoordinates) {\n scrollDelta.y = scrollContainer.scrollTop - newScrollCoordinates;\n } else {\n scrollDelta.y = direction === KeyboardCode.Down ? scrollContainer.scrollTop - maxScroll.y : scrollContainer.scrollTop - minScroll.y;\n }\n\n if (scrollDelta.y) {\n scrollContainer.scrollBy({\n top: -scrollDelta.y,\n behavior: scrollBehavior\n });\n }\n\n break;\n }\n }\n\n this.handleMove(event, add(subtract(newCoordinates, this.referenceCoordinates), scrollDelta));\n }\n }\n }\n\n handleMove(event, coordinates) {\n const {\n onMove\n } = this.props;\n event.preventDefault();\n onMove(coordinates);\n }\n\n handleEnd(event) {\n const {\n onEnd\n } = this.props;\n event.preventDefault();\n this.detach();\n onEnd();\n }\n\n handleCancel(event) {\n const {\n onCancel\n } = this.props;\n event.preventDefault();\n this.detach();\n onCancel();\n }\n\n detach() {\n this.listeners.removeAll();\n this.windowListeners.removeAll();\n }\n\n}\nKeyboardSensor.activators = [{\n eventName: 'onKeyDown',\n handler: (event, _ref, _ref2) => {\n let {\n keyboardCodes = defaultKeyboardCodes,\n onActivation\n } = _ref;\n let {\n active\n } = _ref2;\n const {\n code\n } = event.nativeEvent;\n\n if (keyboardCodes.start.includes(code)) {\n const activator = active.activatorNode.current;\n\n if (activator && event.target !== activator) {\n return false;\n }\n\n event.preventDefault();\n onActivation == null ? void 0 : onActivation({\n event: event.nativeEvent\n });\n return true;\n }\n\n return false;\n }\n}];\n\nfunction isDistanceConstraint(constraint) {\n return Boolean(constraint && 'distance' in constraint);\n}\n\nfunction isDelayConstraint(constraint) {\n return Boolean(constraint && 'delay' in constraint);\n}\n\nclass AbstractPointerSensor {\n constructor(props, events, listenerTarget) {\n var _getEventCoordinates;\n\n if (listenerTarget === void 0) {\n listenerTarget = getEventListenerTarget(props.event.target);\n }\n\n this.props = void 0;\n this.events = void 0;\n this.autoScrollEnabled = true;\n this.document = void 0;\n this.activated = false;\n this.initialCoordinates = void 0;\n this.timeoutId = null;\n this.listeners = void 0;\n this.documentListeners = void 0;\n this.windowListeners = void 0;\n this.props = props;\n this.events = events;\n const {\n event\n } = props;\n const {\n target\n } = event;\n this.props = props;\n this.events = events;\n this.document = getOwnerDocument(target);\n this.documentListeners = new Listeners(this.document);\n this.listeners = new Listeners(listenerTarget);\n this.windowListeners = new Listeners(getWindow(target));\n this.initialCoordinates = (_getEventCoordinates = getEventCoordinates(event)) != null ? _getEventCoordinates : defaultCoordinates;\n this.handleStart = this.handleStart.bind(this);\n this.handleMove = this.handleMove.bind(this);\n this.handleEnd = this.handleEnd.bind(this);\n this.handleCancel = this.handleCancel.bind(this);\n this.handleKeydown = this.handleKeydown.bind(this);\n this.removeTextSelection = this.removeTextSelection.bind(this);\n this.attach();\n }\n\n attach() {\n const {\n events,\n props: {\n options: {\n activationConstraint\n }\n }\n } = this;\n this.listeners.add(events.move.name, this.handleMove, {\n passive: false\n });\n this.listeners.add(events.end.name, this.handleEnd);\n this.windowListeners.add(EventName.Resize, this.handleCancel);\n this.windowListeners.add(EventName.DragStart, preventDefault);\n this.windowListeners.add(EventName.VisibilityChange, this.handleCancel);\n this.windowListeners.add(EventName.ContextMenu, preventDefault);\n this.documentListeners.add(EventName.Keydown, this.handleKeydown);\n\n if (activationConstraint) {\n if (isDistanceConstraint(activationConstraint)) {\n return;\n }\n\n if (isDelayConstraint(activationConstraint)) {\n this.timeoutId = setTimeout(this.handleStart, activationConstraint.delay);\n return;\n }\n }\n\n this.handleStart();\n }\n\n detach() {\n this.listeners.removeAll();\n this.windowListeners.removeAll(); // Wait until the next event loop before removing document listeners\n // This is necessary because we listen for `click` and `selection` events on the document\n\n setTimeout(this.documentListeners.removeAll, 50);\n\n if (this.timeoutId !== null) {\n clearTimeout(this.timeoutId);\n this.timeoutId = null;\n }\n }\n\n handleStart() {\n const {\n initialCoordinates\n } = this;\n const {\n onStart\n } = this.props;\n\n if (initialCoordinates) {\n this.activated = true; // Stop propagation of click events once activation constraints are met\n\n this.documentListeners.add(EventName.Click, stopPropagation, {\n capture: true\n }); // Remove any text selection from the document\n\n this.removeTextSelection(); // Prevent further text selection while dragging\n\n this.documentListeners.add(EventName.SelectionChange, this.removeTextSelection);\n onStart(initialCoordinates);\n }\n }\n\n handleMove(event) {\n var _getEventCoordinates2;\n\n const {\n activated,\n initialCoordinates,\n props\n } = this;\n const {\n onMove,\n options: {\n activationConstraint\n }\n } = props;\n\n if (!initialCoordinates) {\n return;\n }\n\n const coordinates = (_getEventCoordinates2 = getEventCoordinates(event)) != null ? _getEventCoordinates2 : defaultCoordinates;\n const delta = subtract(initialCoordinates, coordinates);\n\n if (!activated && activationConstraint) {\n // Constraint validation\n if (isDelayConstraint(activationConstraint)) {\n if (hasExceededDistance(delta, activationConstraint.tolerance)) {\n return this.handleCancel();\n }\n\n return;\n }\n\n if (isDistanceConstraint(activationConstraint)) {\n if (activationConstraint.tolerance != null && hasExceededDistance(delta, activationConstraint.tolerance)) {\n return this.handleCancel();\n }\n\n if (hasExceededDistance(delta, activationConstraint.distance)) {\n return this.handleStart();\n }\n\n return;\n }\n }\n\n if (event.cancelable) {\n event.preventDefault();\n }\n\n onMove(coordinates);\n }\n\n handleEnd() {\n const {\n onEnd\n } = this.props;\n this.detach();\n onEnd();\n }\n\n handleCancel() {\n const {\n onCancel\n } = this.props;\n this.detach();\n onCancel();\n }\n\n handleKeydown(event) {\n if (event.code === KeyboardCode.Esc) {\n this.handleCancel();\n }\n }\n\n removeTextSelection() {\n var _this$document$getSel;\n\n (_this$document$getSel = this.document.getSelection()) == null ? void 0 : _this$document$getSel.removeAllRanges();\n }\n\n}\n\nconst events = {\n move: {\n name: 'pointermove'\n },\n end: {\n name: 'pointerup'\n }\n};\nclass PointerSensor extends AbstractPointerSensor {\n constructor(props) {\n const {\n event\n } = props; // Pointer events stop firing if the target is unmounted while dragging\n // Therefore we attach listeners to the owner document instead\n\n const listenerTarget = getOwnerDocument(event.target);\n super(props, events, listenerTarget);\n }\n\n}\nPointerSensor.activators = [{\n eventName: 'onPointerDown',\n handler: (_ref, _ref2) => {\n let {\n nativeEvent: event\n } = _ref;\n let {\n onActivation\n } = _ref2;\n\n if (!event.isPrimary || event.button !== 0) {\n return false;\n }\n\n onActivation == null ? void 0 : onActivation({\n event\n });\n return true;\n }\n}];\n\nconst events$1 = {\n move: {\n name: 'mousemove'\n },\n end: {\n name: 'mouseup'\n }\n};\nvar MouseButton;\n\n(function (MouseButton) {\n MouseButton[MouseButton[\"RightClick\"] = 2] = \"RightClick\";\n})(MouseButton || (MouseButton = {}));\n\nclass MouseSensor extends AbstractPointerSensor {\n constructor(props) {\n super(props, events$1, getOwnerDocument(props.event.target));\n }\n\n}\nMouseSensor.activators = [{\n eventName: 'onMouseDown',\n handler: (_ref, _ref2) => {\n let {\n nativeEvent: event\n } = _ref;\n let {\n onActivation\n } = _ref2;\n\n if (event.button === MouseButton.RightClick) {\n return false;\n }\n\n onActivation == null ? void 0 : onActivation({\n event\n });\n return true;\n }\n}];\n\nconst events$2 = {\n move: {\n name: 'touchmove'\n },\n end: {\n name: 'touchend'\n }\n};\nclass TouchSensor extends AbstractPointerSensor {\n constructor(props) {\n super(props, events$2);\n }\n\n static setup() {\n // Adding a non-capture and non-passive `touchmove` listener in order\n // to force `event.preventDefault()` calls to work in dynamically added\n // touchmove event handlers. This is required for iOS Safari.\n window.addEventListener(events$2.move.name, noop, {\n capture: false,\n passive: false\n });\n return function teardown() {\n window.removeEventListener(events$2.move.name, noop);\n }; // We create a new handler because the teardown function of another sensor\n // could remove our event listener if we use a referentially equal listener.\n\n function noop() {}\n }\n\n}\nTouchSensor.activators = [{\n eventName: 'onTouchStart',\n handler: (_ref, _ref2) => {\n let {\n nativeEvent: event\n } = _ref;\n let {\n onActivation\n } = _ref2;\n const {\n touches\n } = event;\n\n if (touches.length > 1) {\n return false;\n }\n\n onActivation == null ? void 0 : onActivation({\n event\n });\n return true;\n }\n}];\n\nvar AutoScrollActivator;\n\n(function (AutoScrollActivator) {\n AutoScrollActivator[AutoScrollActivator[\"Pointer\"] = 0] = \"Pointer\";\n AutoScrollActivator[AutoScrollActivator[\"DraggableRect\"] = 1] = \"DraggableRect\";\n})(AutoScrollActivator || (AutoScrollActivator = {}));\n\nvar TraversalOrder;\n\n(function (TraversalOrder) {\n TraversalOrder[TraversalOrder[\"TreeOrder\"] = 0] = \"TreeOrder\";\n TraversalOrder[TraversalOrder[\"ReversedTreeOrder\"] = 1] = \"ReversedTreeOrder\";\n})(TraversalOrder || (TraversalOrder = {}));\n\nfunction useAutoScroller(_ref) {\n let {\n acceleration,\n activator = AutoScrollActivator.Pointer,\n canScroll,\n draggingRect,\n enabled,\n interval = 5,\n order = TraversalOrder.TreeOrder,\n pointerCoordinates,\n scrollableAncestors,\n scrollableAncestorRects,\n delta,\n threshold\n } = _ref;\n const scrollIntent = useScrollIntent({\n delta,\n disabled: !enabled\n });\n const [setAutoScrollInterval, clearAutoScrollInterval] = useInterval();\n const scrollSpeed = useRef({\n x: 0,\n y: 0\n });\n const scrollDirection = useRef({\n x: 0,\n y: 0\n });\n const rect = useMemo(() => {\n switch (activator) {\n case AutoScrollActivator.Pointer:\n return pointerCoordinates ? {\n top: pointerCoordinates.y,\n bottom: pointerCoordinates.y,\n left: pointerCoordinates.x,\n right: pointerCoordinates.x\n } : null;\n\n case AutoScrollActivator.DraggableRect:\n return draggingRect;\n }\n }, [activator, draggingRect, pointerCoordinates]);\n const scrollContainerRef = useRef(null);\n const autoScroll = useCallback(() => {\n const scrollContainer = scrollContainerRef.current;\n\n if (!scrollContainer) {\n return;\n }\n\n const scrollLeft = scrollSpeed.current.x * scrollDirection.current.x;\n const scrollTop = scrollSpeed.current.y * scrollDirection.current.y;\n scrollContainer.scrollBy(scrollLeft, scrollTop);\n }, []);\n const sortedScrollableAncestors = useMemo(() => order === TraversalOrder.TreeOrder ? [...scrollableAncestors].reverse() : scrollableAncestors, [order, scrollableAncestors]);\n useEffect(() => {\n if (!enabled || !scrollableAncestors.length || !rect) {\n clearAutoScrollInterval();\n return;\n }\n\n for (const scrollContainer of sortedScrollableAncestors) {\n if ((canScroll == null ? void 0 : canScroll(scrollContainer)) === false) {\n continue;\n }\n\n const index = scrollableAncestors.indexOf(scrollContainer);\n const scrollContainerRect = scrollableAncestorRects[index];\n\n if (!scrollContainerRect) {\n continue;\n }\n\n const {\n direction,\n speed\n } = getScrollDirectionAndSpeed(scrollContainer, scrollContainerRect, rect, acceleration, threshold);\n\n for (const axis of ['x', 'y']) {\n if (!scrollIntent[axis][direction[axis]]) {\n speed[axis] = 0;\n direction[axis] = 0;\n }\n }\n\n if (speed.x > 0 || speed.y > 0) {\n clearAutoScrollInterval();\n scrollContainerRef.current = scrollContainer;\n setAutoScrollInterval(autoScroll, interval);\n scrollSpeed.current = speed;\n scrollDirection.current = direction;\n return;\n }\n }\n\n scrollSpeed.current = {\n x: 0,\n y: 0\n };\n scrollDirection.current = {\n x: 0,\n y: 0\n };\n clearAutoScrollInterval();\n }, // eslint-disable-next-line react-hooks/exhaustive-deps\n [acceleration, autoScroll, canScroll, clearAutoScrollInterval, enabled, interval, // eslint-disable-next-line react-hooks/exhaustive-deps\n JSON.stringify(rect), // eslint-disable-next-line react-hooks/exhaustive-deps\n JSON.stringify(scrollIntent), setAutoScrollInterval, scrollableAncestors, sortedScrollableAncestors, scrollableAncestorRects, // eslint-disable-next-line react-hooks/exhaustive-deps\n JSON.stringify(threshold)]);\n}\nconst defaultScrollIntent = {\n x: {\n [Direction.Backward]: false,\n [Direction.Forward]: false\n },\n y: {\n [Direction.Backward]: false,\n [Direction.Forward]: false\n }\n};\n\nfunction useScrollIntent(_ref2) {\n let {\n delta,\n disabled\n } = _ref2;\n const previousDelta = usePrevious(delta);\n return useLazyMemo(previousIntent => {\n if (disabled || !previousDelta || !previousIntent) {\n // Reset scroll intent tracking when auto-scrolling is disabled\n return defaultScrollIntent;\n }\n\n const direction = {\n x: Math.sign(delta.x - previousDelta.x),\n y: Math.sign(delta.y - previousDelta.y)\n }; // Keep track of the user intent to scroll in each direction for both axis\n\n return {\n x: {\n [Direction.Backward]: previousIntent.x[Direction.Backward] || direction.x === -1,\n [Direction.Forward]: previousIntent.x[Direction.Forward] || direction.x === 1\n },\n y: {\n [Direction.Backward]: previousIntent.y[Direction.Backward] || direction.y === -1,\n [Direction.Forward]: previousIntent.y[Direction.Forward] || direction.y === 1\n }\n };\n }, [disabled, delta, previousDelta]);\n}\n\nfunction useCachedNode(draggableNodes, id) {\n const draggableNode = id !== null ? draggableNodes.get(id) : undefined;\n const node = draggableNode ? draggableNode.node.current : null;\n return useLazyMemo(cachedNode => {\n var _ref;\n\n if (id === null) {\n return null;\n } // In some cases, the draggable node can unmount while dragging\n // This is the case for virtualized lists. In those situations,\n // we fall back to the last known value for that node.\n\n\n return (_ref = node != null ? node : cachedNode) != null ? _ref : null;\n }, [node, id]);\n}\n\nfunction useCombineActivators(sensors, getSyntheticHandler) {\n return useMemo(() => sensors.reduce((accumulator, sensor) => {\n const {\n sensor: Sensor\n } = sensor;\n const sensorActivators = Sensor.activators.map(activator => ({\n eventName: activator.eventName,\n handler: getSyntheticHandler(activator.handler, sensor)\n }));\n return [...accumulator, ...sensorActivators];\n }, []), [sensors, getSyntheticHandler]);\n}\n\nvar MeasuringStrategy;\n\n(function (MeasuringStrategy) {\n MeasuringStrategy[MeasuringStrategy[\"Always\"] = 0] = \"Always\";\n MeasuringStrategy[MeasuringStrategy[\"BeforeDragging\"] = 1] = \"BeforeDragging\";\n MeasuringStrategy[MeasuringStrategy[\"WhileDragging\"] = 2] = \"WhileDragging\";\n})(MeasuringStrategy || (MeasuringStrategy = {}));\n\nvar MeasuringFrequency;\n\n(function (MeasuringFrequency) {\n MeasuringFrequency[\"Optimized\"] = \"optimized\";\n})(MeasuringFrequency || (MeasuringFrequency = {}));\n\nconst defaultValue = /*#__PURE__*/new Map();\nfunction useDroppableMeasuring(containers, _ref) {\n let {\n dragging,\n dependencies,\n config\n } = _ref;\n const [queue, setQueue] = useState(null);\n const {\n frequency,\n measure,\n strategy\n } = config;\n const containersRef = useRef(containers);\n const disabled = isDisabled();\n const disabledRef = useLatestValue(disabled);\n const measureDroppableContainers = useCallback(function (ids) {\n if (ids === void 0) {\n ids = [];\n }\n\n if (disabledRef.current) {\n return;\n }\n\n setQueue(value => {\n if (value === null) {\n return ids;\n }\n\n return value.concat(ids.filter(id => !value.includes(id)));\n });\n }, [disabledRef]);\n const timeoutId = useRef(null);\n const droppableRects = useLazyMemo(previousValue => {\n if (disabled && !dragging) {\n return defaultValue;\n }\n\n if (!previousValue || previousValue === defaultValue || containersRef.current !== containers || queue != null) {\n const map = new Map();\n\n for (let container of containers) {\n if (!container) {\n continue;\n }\n\n if (queue && queue.length > 0 && !queue.includes(container.id) && container.rect.current) {\n // This container does not need to be re-measured\n map.set(container.id, container.rect.current);\n continue;\n }\n\n const node = container.node.current;\n const rect = node ? new Rect(measure(node), node) : null;\n container.rect.current = rect;\n\n if (rect) {\n map.set(container.id, rect);\n }\n }\n\n return map;\n }\n\n return previousValue;\n }, [containers, queue, dragging, disabled, measure]);\n useEffect(() => {\n containersRef.current = containers;\n }, [containers]);\n useEffect(() => {\n if (disabled) {\n return;\n }\n\n measureDroppableContainers();\n }, // eslint-disable-next-line react-hooks/exhaustive-deps\n [dragging, disabled]);\n useEffect(() => {\n if (queue && queue.length > 0) {\n setQueue(null);\n }\n }, //eslint-disable-next-line react-hooks/exhaustive-deps\n [JSON.stringify(queue)]);\n useEffect(() => {\n if (disabled || typeof frequency !== 'number' || timeoutId.current !== null) {\n return;\n }\n\n timeoutId.current = setTimeout(() => {\n measureDroppableContainers();\n timeoutId.current = null;\n }, frequency);\n }, // eslint-disable-next-line react-hooks/exhaustive-deps\n [frequency, disabled, measureDroppableContainers, ...dependencies]);\n return {\n droppableRects,\n measureDroppableContainers,\n measuringScheduled: queue != null\n };\n\n function isDisabled() {\n switch (strategy) {\n case MeasuringStrategy.Always:\n return false;\n\n case MeasuringStrategy.BeforeDragging:\n return dragging;\n\n default:\n return !dragging;\n }\n }\n}\n\nfunction useInitialValue(value, computeFn) {\n return useLazyMemo(previousValue => {\n if (!value) {\n return null;\n }\n\n if (previousValue) {\n return previousValue;\n }\n\n return typeof computeFn === 'function' ? computeFn(value) : value;\n }, [computeFn, value]);\n}\n\nfunction useInitialRect(node, measure) {\n return useInitialValue(node, measure);\n}\n\n/**\r\n * Returns a new MutationObserver instance.\r\n * If `MutationObserver` is undefined in the execution environment, returns `undefined`.\r\n */\n\nfunction useMutationObserver(_ref) {\n let {\n callback,\n disabled\n } = _ref;\n const handleMutations = useEvent(callback);\n const mutationObserver = useMemo(() => {\n if (disabled || typeof window === 'undefined' || typeof window.MutationObserver === 'undefined') {\n return undefined;\n }\n\n const {\n MutationObserver\n } = window;\n return new MutationObserver(handleMutations);\n }, [handleMutations, disabled]);\n useEffect(() => {\n return () => mutationObserver == null ? void 0 : mutationObserver.disconnect();\n }, [mutationObserver]);\n return mutationObserver;\n}\n\n/**\r\n * Returns a new ResizeObserver instance bound to the `onResize` callback.\r\n * If `ResizeObserver` is undefined in the execution environment, returns `undefined`.\r\n */\n\nfunction useResizeObserver(_ref) {\n let {\n callback,\n disabled\n } = _ref;\n const handleResize = useEvent(callback);\n const resizeObserver = useMemo(() => {\n if (disabled || typeof window === 'undefined' || typeof window.ResizeObserver === 'undefined') {\n return undefined;\n }\n\n const {\n ResizeObserver\n } = window;\n return new ResizeObserver(handleResize);\n }, // eslint-disable-next-line react-hooks/exhaustive-deps\n [disabled]);\n useEffect(() => {\n return () => resizeObserver == null ? void 0 : resizeObserver.disconnect();\n }, [resizeObserver]);\n return resizeObserver;\n}\n\nfunction defaultMeasure(element) {\n return new Rect(getClientRect(element), element);\n}\n\nfunction useRect(element, measure, fallbackRect) {\n if (measure === void 0) {\n measure = defaultMeasure;\n }\n\n const [rect, measureRect] = useReducer(reducer, null);\n const mutationObserver = useMutationObserver({\n callback(records) {\n if (!element) {\n return;\n }\n\n for (const record of records) {\n const {\n type,\n target\n } = record;\n\n if (type === 'childList' && target instanceof HTMLElement && target.contains(element)) {\n measureRect();\n break;\n }\n }\n }\n\n });\n const resizeObserver = useResizeObserver({\n callback: measureRect\n });\n useIsomorphicLayoutEffect(() => {\n measureRect();\n\n if (element) {\n resizeObserver == null ? void 0 : resizeObserver.observe(element);\n mutationObserver == null ? void 0 : mutationObserver.observe(document.body, {\n childList: true,\n subtree: true\n });\n } else {\n resizeObserver == null ? void 0 : resizeObserver.disconnect();\n mutationObserver == null ? void 0 : mutationObserver.disconnect();\n }\n }, [element]);\n return rect;\n\n function reducer(currentRect) {\n if (!element) {\n return null;\n }\n\n if (element.isConnected === false) {\n var _ref;\n\n // Fall back to last rect we measured if the element is\n // no longer connected to the DOM.\n return (_ref = currentRect != null ? currentRect : fallbackRect) != null ? _ref : null;\n }\n\n const newRect = measure(element);\n\n if (JSON.stringify(currentRect) === JSON.stringify(newRect)) {\n return currentRect;\n }\n\n return newRect;\n }\n}\n\nfunction useRectDelta(rect) {\n const initialRect = useInitialValue(rect);\n return getRectDelta(rect, initialRect);\n}\n\nconst defaultValue$1 = [];\nfunction useScrollableAncestors(node) {\n const previousNode = useRef(node);\n const ancestors = useLazyMemo(previousValue => {\n if (!node) {\n return defaultValue$1;\n }\n\n if (previousValue && previousValue !== defaultValue$1 && node && previousNode.current && node.parentNode === previousNode.current.parentNode) {\n return previousValue;\n }\n\n return getScrollableAncestors(node);\n }, [node]);\n useEffect(() => {\n previousNode.current = node;\n }, [node]);\n return ancestors;\n}\n\nfunction useScrollOffsets(elements) {\n const [scrollCoordinates, setScrollCoordinates] = useState(null);\n const prevElements = useRef(elements); // To-do: Throttle the handleScroll callback\n\n const handleScroll = useCallback(event => {\n const scrollingElement = getScrollableElement(event.target);\n\n if (!scrollingElement) {\n return;\n }\n\n setScrollCoordinates(scrollCoordinates => {\n if (!scrollCoordinates) {\n return null;\n }\n\n scrollCoordinates.set(scrollingElement, getScrollCoordinates(scrollingElement));\n return new Map(scrollCoordinates);\n });\n }, []);\n useEffect(() => {\n const previousElements = prevElements.current;\n\n if (elements !== previousElements) {\n cleanup(previousElements);\n const entries = elements.map(element => {\n const scrollableElement = getScrollableElement(element);\n\n if (scrollableElement) {\n scrollableElement.addEventListener('scroll', handleScroll, {\n passive: true\n });\n return [scrollableElement, getScrollCoordinates(scrollableElement)];\n }\n\n return null;\n }).filter(entry => entry != null);\n setScrollCoordinates(entries.length ? new Map(entries) : null);\n prevElements.current = elements;\n }\n\n return () => {\n cleanup(elements);\n cleanup(previousElements);\n };\n\n function cleanup(elements) {\n elements.forEach(element => {\n const scrollableElement = getScrollableElement(element);\n scrollableElement == null ? void 0 : scrollableElement.removeEventListener('scroll', handleScroll);\n });\n }\n }, [handleScroll, elements]);\n return useMemo(() => {\n if (elements.length) {\n return scrollCoordinates ? Array.from(scrollCoordinates.values()).reduce((acc, coordinates) => add(acc, coordinates), defaultCoordinates) : getScrollOffsets(elements);\n }\n\n return defaultCoordinates;\n }, [elements, scrollCoordinates]);\n}\n\nfunction useScrollOffsetsDelta(scrollOffsets, dependencies) {\n if (dependencies === void 0) {\n dependencies = [];\n }\n\n const initialScrollOffsets = useRef(null);\n useEffect(() => {\n initialScrollOffsets.current = null;\n }, // eslint-disable-next-line react-hooks/exhaustive-deps\n dependencies);\n useEffect(() => {\n const hasScrollOffsets = scrollOffsets !== defaultCoordinates;\n\n if (hasScrollOffsets && !initialScrollOffsets.current) {\n initialScrollOffsets.current = scrollOffsets;\n }\n\n if (!hasScrollOffsets && initialScrollOffsets.current) {\n initialScrollOffsets.current = null;\n }\n }, [scrollOffsets]);\n return initialScrollOffsets.current ? subtract(scrollOffsets, initialScrollOffsets.current) : defaultCoordinates;\n}\n\nfunction useSensorSetup(sensors) {\n useEffect(() => {\n if (!canUseDOM) {\n return;\n }\n\n const teardownFns = sensors.map(_ref => {\n let {\n sensor\n } = _ref;\n return sensor.setup == null ? void 0 : sensor.setup();\n });\n return () => {\n for (const teardown of teardownFns) {\n teardown == null ? void 0 : teardown();\n }\n };\n }, // TO-DO: Sensors length could theoretically change which would not be a valid dependency\n // eslint-disable-next-line react-hooks/exhaustive-deps\n sensors.map(_ref2 => {\n let {\n sensor\n } = _ref2;\n return sensor;\n }));\n}\n\nfunction useSyntheticListeners(listeners, id) {\n return useMemo(() => {\n return listeners.reduce((acc, _ref) => {\n let {\n eventName,\n handler\n } = _ref;\n\n acc[eventName] = event => {\n handler(event, id);\n };\n\n return acc;\n }, {});\n }, [listeners, id]);\n}\n\nfunction useWindowRect(element) {\n return useMemo(() => element ? getWindowClientRect(element) : null, [element]);\n}\n\nconst defaultValue$2 = [];\nfunction useRects(elements, measure) {\n if (measure === void 0) {\n measure = getClientRect;\n }\n\n const [firstElement] = elements;\n const windowRect = useWindowRect(firstElement ? getWindow(firstElement) : null);\n const [rects, measureRects] = useReducer(reducer, defaultValue$2);\n const resizeObserver = useResizeObserver({\n callback: measureRects\n });\n\n if (elements.length > 0 && rects === defaultValue$2) {\n measureRects();\n }\n\n useIsomorphicLayoutEffect(() => {\n if (elements.length) {\n elements.forEach(element => resizeObserver == null ? void 0 : resizeObserver.observe(element));\n } else {\n resizeObserver == null ? void 0 : resizeObserver.disconnect();\n measureRects();\n }\n }, [elements]);\n return rects;\n\n function reducer() {\n if (!elements.length) {\n return defaultValue$2;\n }\n\n return elements.map(element => isDocumentScrollingElement(element) ? windowRect : new Rect(measure(element), element));\n }\n}\n\nfunction getMeasurableNode(node) {\n if (!node) {\n return null;\n }\n\n if (node.children.length > 1) {\n return node;\n }\n\n const firstChild = node.children[0];\n return isHTMLElement(firstChild) ? firstChild : node;\n}\n\nfunction useDragOverlayMeasuring(_ref) {\n let {\n measure\n } = _ref;\n const [rect, setRect] = useState(null);\n const handleResize = useCallback(entries => {\n for (const {\n target\n } of entries) {\n if (isHTMLElement(target)) {\n setRect(rect => {\n const newRect = measure(target);\n return rect ? { ...rect,\n width: newRect.width,\n height: newRect.height\n } : newRect;\n });\n break;\n }\n }\n }, [measure]);\n const resizeObserver = useResizeObserver({\n callback: handleResize\n });\n const handleNodeChange = useCallback(element => {\n const node = getMeasurableNode(element);\n resizeObserver == null ? void 0 : resizeObserver.disconnect();\n\n if (node) {\n resizeObserver == null ? void 0 : resizeObserver.observe(node);\n }\n\n setRect(node ? measure(node) : null);\n }, [measure, resizeObserver]);\n const [nodeRef, setRef] = useNodeRef(handleNodeChange);\n return useMemo(() => ({\n nodeRef,\n rect,\n setRef\n }), [rect, nodeRef, setRef]);\n}\n\nconst defaultSensors = [{\n sensor: PointerSensor,\n options: {}\n}, {\n sensor: KeyboardSensor,\n options: {}\n}];\nconst defaultData = {\n current: {}\n};\nconst defaultMeasuringConfiguration = {\n draggable: {\n measure: getTransformAgnosticClientRect\n },\n droppable: {\n measure: getTransformAgnosticClientRect,\n strategy: MeasuringStrategy.WhileDragging,\n frequency: MeasuringFrequency.Optimized\n },\n dragOverlay: {\n measure: getClientRect\n }\n};\n\nclass DroppableContainersMap extends Map {\n get(id) {\n var _super$get;\n\n return id != null ? (_super$get = super.get(id)) != null ? _super$get : undefined : undefined;\n }\n\n toArray() {\n return Array.from(this.values());\n }\n\n getEnabled() {\n return this.toArray().filter(_ref => {\n let {\n disabled\n } = _ref;\n return !disabled;\n });\n }\n\n getNodeFor(id) {\n var _this$get$node$curren, _this$get;\n\n return (_this$get$node$curren = (_this$get = this.get(id)) == null ? void 0 : _this$get.node.current) != null ? _this$get$node$curren : undefined;\n }\n\n}\n\nconst defaultPublicContext = {\n activatorEvent: null,\n active: null,\n activeNode: null,\n activeNodeRect: null,\n collisions: null,\n containerNodeRect: null,\n draggableNodes: /*#__PURE__*/new Map(),\n droppableRects: /*#__PURE__*/new Map(),\n droppableContainers: /*#__PURE__*/new DroppableContainersMap(),\n over: null,\n dragOverlay: {\n nodeRef: {\n current: null\n },\n rect: null,\n setRef: noop\n },\n scrollableAncestors: [],\n scrollableAncestorRects: [],\n measuringConfiguration: defaultMeasuringConfiguration,\n measureDroppableContainers: noop,\n windowRect: null,\n measuringScheduled: false\n};\nconst defaultInternalContext = {\n activatorEvent: null,\n activators: [],\n active: null,\n activeNodeRect: null,\n ariaDescribedById: {\n draggable: ''\n },\n dispatch: noop,\n draggableNodes: /*#__PURE__*/new Map(),\n over: null,\n measureDroppableContainers: noop\n};\nconst InternalContext = /*#__PURE__*/createContext(defaultInternalContext);\nconst PublicContext = /*#__PURE__*/createContext(defaultPublicContext);\n\nfunction getInitialState() {\n return {\n draggable: {\n active: null,\n initialCoordinates: {\n x: 0,\n y: 0\n },\n nodes: new Map(),\n translate: {\n x: 0,\n y: 0\n }\n },\n droppable: {\n containers: new DroppableContainersMap()\n }\n };\n}\nfunction reducer(state, action) {\n switch (action.type) {\n case Action.DragStart:\n return { ...state,\n draggable: { ...state.draggable,\n initialCoordinates: action.initialCoordinates,\n active: action.active\n }\n };\n\n case Action.DragMove:\n if (!state.draggable.active) {\n return state;\n }\n\n return { ...state,\n draggable: { ...state.draggable,\n translate: {\n x: action.coordinates.x - state.draggable.initialCoordinates.x,\n y: action.coordinates.y - state.draggable.initialCoordinates.y\n }\n }\n };\n\n case Action.DragEnd:\n case Action.DragCancel:\n return { ...state,\n draggable: { ...state.draggable,\n active: null,\n initialCoordinates: {\n x: 0,\n y: 0\n },\n translate: {\n x: 0,\n y: 0\n }\n }\n };\n\n case Action.RegisterDroppable:\n {\n const {\n element\n } = action;\n const {\n id\n } = element;\n const containers = new DroppableContainersMap(state.droppable.containers);\n containers.set(id, element);\n return { ...state,\n droppable: { ...state.droppable,\n containers\n }\n };\n }\n\n case Action.SetDroppableDisabled:\n {\n const {\n id,\n key,\n disabled\n } = action;\n const element = state.droppable.containers.get(id);\n\n if (!element || key !== element.key) {\n return state;\n }\n\n const containers = new DroppableContainersMap(state.droppable.containers);\n containers.set(id, { ...element,\n disabled\n });\n return { ...state,\n droppable: { ...state.droppable,\n containers\n }\n };\n }\n\n case Action.UnregisterDroppable:\n {\n const {\n id,\n key\n } = action;\n const element = state.droppable.containers.get(id);\n\n if (!element || key !== element.key) {\n return state;\n }\n\n const containers = new DroppableContainersMap(state.droppable.containers);\n containers.delete(id);\n return { ...state,\n droppable: { ...state.droppable,\n containers\n }\n };\n }\n\n default:\n {\n return state;\n }\n }\n}\n\nfunction RestoreFocus(_ref) {\n let {\n disabled\n } = _ref;\n const {\n active,\n activatorEvent,\n draggableNodes\n } = useContext(InternalContext);\n const previousActivatorEvent = usePrevious(activatorEvent);\n const previousActiveId = usePrevious(active == null ? void 0 : active.id); // Restore keyboard focus on the activator node\n\n useEffect(() => {\n if (disabled) {\n return;\n }\n\n if (!activatorEvent && previousActivatorEvent && previousActiveId != null) {\n if (!isKeyboardEvent(previousActivatorEvent)) {\n return;\n }\n\n if (document.activeElement === previousActivatorEvent.target) {\n // No need to restore focus\n return;\n }\n\n const draggableNode = draggableNodes.get(previousActiveId);\n\n if (!draggableNode) {\n return;\n }\n\n const {\n activatorNode,\n node\n } = draggableNode;\n\n if (!activatorNode.current && !node.current) {\n return;\n }\n\n requestAnimationFrame(() => {\n for (const element of [activatorNode.current, node.current]) {\n if (!element) {\n continue;\n }\n\n const focusableNode = findFirstFocusableNode(element);\n\n if (focusableNode) {\n focusableNode.focus();\n break;\n }\n }\n });\n }\n }, [activatorEvent, disabled, draggableNodes, previousActiveId, previousActivatorEvent]);\n return null;\n}\n\nfunction applyModifiers(modifiers, _ref) {\n let {\n transform,\n ...args\n } = _ref;\n return modifiers != null && modifiers.length ? modifiers.reduce((accumulator, modifier) => {\n return modifier({\n transform: accumulator,\n ...args\n });\n }, transform) : transform;\n}\n\nfunction useMeasuringConfiguration(config) {\n return useMemo(() => ({\n draggable: { ...defaultMeasuringConfiguration.draggable,\n ...(config == null ? void 0 : config.draggable)\n },\n droppable: { ...defaultMeasuringConfiguration.droppable,\n ...(config == null ? void 0 : config.droppable)\n },\n dragOverlay: { ...defaultMeasuringConfiguration.dragOverlay,\n ...(config == null ? void 0 : config.dragOverlay)\n }\n }), // eslint-disable-next-line react-hooks/exhaustive-deps\n [config == null ? void 0 : config.draggable, config == null ? void 0 : config.droppable, config == null ? void 0 : config.dragOverlay]);\n}\n\nfunction useLayoutShiftScrollCompensation(_ref) {\n let {\n activeNode,\n measure,\n initialRect,\n config = true\n } = _ref;\n const initialized = useRef(false);\n const {\n x,\n y\n } = typeof config === 'boolean' ? {\n x: config,\n y: config\n } : config;\n useIsomorphicLayoutEffect(() => {\n const disabled = !x && !y;\n\n if (disabled || !activeNode) {\n initialized.current = false;\n return;\n }\n\n if (initialized.current || !initialRect) {\n // Return early if layout shift scroll compensation was already attempted\n // or if there is no initialRect to compare to.\n return;\n } // Get the most up to date node ref for the active draggable\n\n\n const node = activeNode == null ? void 0 : activeNode.node.current;\n\n if (!node || node.isConnected === false) {\n // Return early if there is no attached node ref or if the node is\n // disconnected from the document.\n return;\n }\n\n const rect = measure(node);\n const rectDelta = getRectDelta(rect, initialRect);\n\n if (!x) {\n rectDelta.x = 0;\n }\n\n if (!y) {\n rectDelta.y = 0;\n } // Only perform layout shift scroll compensation once\n\n\n initialized.current = true;\n\n if (Math.abs(rectDelta.x) > 0 || Math.abs(rectDelta.y) > 0) {\n const firstScrollableAncestor = getFirstScrollableAncestor(node);\n\n if (firstScrollableAncestor) {\n firstScrollableAncestor.scrollBy({\n top: rectDelta.y,\n left: rectDelta.x\n });\n }\n }\n }, [activeNode, x, y, initialRect, measure]);\n}\n\nconst ActiveDraggableContext = /*#__PURE__*/createContext({ ...defaultCoordinates,\n scaleX: 1,\n scaleY: 1\n});\nvar Status;\n\n(function (Status) {\n Status[Status[\"Uninitialized\"] = 0] = \"Uninitialized\";\n Status[Status[\"Initializing\"] = 1] = \"Initializing\";\n Status[Status[\"Initialized\"] = 2] = \"Initialized\";\n})(Status || (Status = {}));\n\nconst DndContext = /*#__PURE__*/memo(function DndContext(_ref) {\n var _sensorContext$curren, _dragOverlay$nodeRef$, _dragOverlay$rect, _over$rect;\n\n let {\n id,\n accessibility,\n autoScroll = true,\n children,\n sensors = defaultSensors,\n collisionDetection = rectIntersection,\n measuring,\n modifiers,\n ...props\n } = _ref;\n const store = useReducer(reducer, undefined, getInitialState);\n const [state, dispatch] = store;\n const [dispatchMonitorEvent, registerMonitorListener] = useDndMonitorProvider();\n const [status, setStatus] = useState(Status.Uninitialized);\n const isInitialized = status === Status.Initialized;\n const {\n draggable: {\n active: activeId,\n nodes: draggableNodes,\n translate\n },\n droppable: {\n containers: droppableContainers\n }\n } = state;\n const node = activeId ? draggableNodes.get(activeId) : null;\n const activeRects = useRef({\n initial: null,\n translated: null\n });\n const active = useMemo(() => {\n var _node$data;\n\n return activeId != null ? {\n id: activeId,\n // It's possible for the active node to unmount while dragging\n data: (_node$data = node == null ? void 0 : node.data) != null ? _node$data : defaultData,\n rect: activeRects\n } : null;\n }, [activeId, node]);\n const activeRef = useRef(null);\n const [activeSensor, setActiveSensor] = useState(null);\n const [activatorEvent, setActivatorEvent] = useState(null);\n const latestProps = useLatestValue(props, Object.values(props));\n const draggableDescribedById = useUniqueId(\"DndDescribedBy\", id);\n const enabledDroppableContainers = useMemo(() => droppableContainers.getEnabled(), [droppableContainers]);\n const measuringConfiguration = useMeasuringConfiguration(measuring);\n const {\n droppableRects,\n measureDroppableContainers,\n measuringScheduled\n } = useDroppableMeasuring(enabledDroppableContainers, {\n dragging: isInitialized,\n dependencies: [translate.x, translate.y],\n config: measuringConfiguration.droppable\n });\n const activeNode = useCachedNode(draggableNodes, activeId);\n const activationCoordinates = useMemo(() => activatorEvent ? getEventCoordinates(activatorEvent) : null, [activatorEvent]);\n const autoScrollOptions = getAutoScrollerOptions();\n const initialActiveNodeRect = useInitialRect(activeNode, measuringConfiguration.draggable.measure);\n useLayoutShiftScrollCompensation({\n activeNode: activeId ? draggableNodes.get(activeId) : null,\n config: autoScrollOptions.layoutShiftCompensation,\n initialRect: initialActiveNodeRect,\n measure: measuringConfiguration.draggable.measure\n });\n const activeNodeRect = useRect(activeNode, measuringConfiguration.draggable.measure, initialActiveNodeRect);\n const containerNodeRect = useRect(activeNode ? activeNode.parentElement : null);\n const sensorContext = useRef({\n activatorEvent: null,\n active: null,\n activeNode,\n collisionRect: null,\n collisions: null,\n droppableRects,\n draggableNodes,\n draggingNode: null,\n draggingNodeRect: null,\n droppableContainers,\n over: null,\n scrollableAncestors: [],\n scrollAdjustedTranslate: null\n });\n const overNode = droppableContainers.getNodeFor((_sensorContext$curren = sensorContext.current.over) == null ? void 0 : _sensorContext$curren.id);\n const dragOverlay = useDragOverlayMeasuring({\n measure: measuringConfiguration.dragOverlay.measure\n }); // Use the rect of the drag overlay if it is mounted\n\n const draggingNode = (_dragOverlay$nodeRef$ = dragOverlay.nodeRef.current) != null ? _dragOverlay$nodeRef$ : activeNode;\n const draggingNodeRect = isInitialized ? (_dragOverlay$rect = dragOverlay.rect) != null ? _dragOverlay$rect : activeNodeRect : null;\n const usesDragOverlay = Boolean(dragOverlay.nodeRef.current && dragOverlay.rect); // The delta between the previous and new position of the draggable node\n // is only relevant when there is no drag overlay\n\n const nodeRectDelta = useRectDelta(usesDragOverlay ? null : activeNodeRect); // Get the window rect of the dragging node\n\n const windowRect = useWindowRect(draggingNode ? getWindow(draggingNode) : null); // Get scrollable ancestors of the dragging node\n\n const scrollableAncestors = useScrollableAncestors(isInitialized ? overNode != null ? overNode : activeNode : null);\n const scrollableAncestorRects = useRects(scrollableAncestors); // Apply modifiers\n\n const modifiedTranslate = applyModifiers(modifiers, {\n transform: {\n x: translate.x - nodeRectDelta.x,\n y: translate.y - nodeRectDelta.y,\n scaleX: 1,\n scaleY: 1\n },\n activatorEvent,\n active,\n activeNodeRect,\n containerNodeRect,\n draggingNodeRect,\n over: sensorContext.current.over,\n overlayNodeRect: dragOverlay.rect,\n scrollableAncestors,\n scrollableAncestorRects,\n windowRect\n });\n const pointerCoordinates = activationCoordinates ? add(activationCoordinates, translate) : null;\n const scrollOffsets = useScrollOffsets(scrollableAncestors); // Represents the scroll delta since dragging was initiated\n\n const scrollAdjustment = useScrollOffsetsDelta(scrollOffsets); // Represents the scroll delta since the last time the active node rect was measured\n\n const activeNodeScrollDelta = useScrollOffsetsDelta(scrollOffsets, [activeNodeRect]);\n const scrollAdjustedTranslate = add(modifiedTranslate, scrollAdjustment);\n const collisionRect = draggingNodeRect ? getAdjustedRect(draggingNodeRect, modifiedTranslate) : null;\n const collisions = active && collisionRect ? collisionDetection({\n active,\n collisionRect,\n droppableRects,\n droppableContainers: enabledDroppableContainers,\n pointerCoordinates\n }) : null;\n const overId = getFirstCollision(collisions, 'id');\n const [over, setOver] = useState(null); // When there is no drag overlay used, we need to account for the\n // window scroll delta\n\n const appliedTranslate = usesDragOverlay ? modifiedTranslate : add(modifiedTranslate, activeNodeScrollDelta);\n const transform = adjustScale(appliedTranslate, (_over$rect = over == null ? void 0 : over.rect) != null ? _over$rect : null, activeNodeRect);\n const instantiateSensor = useCallback((event, _ref2) => {\n let {\n sensor: Sensor,\n options\n } = _ref2;\n\n if (activeRef.current == null) {\n return;\n }\n\n const activeNode = draggableNodes.get(activeRef.current);\n\n if (!activeNode) {\n return;\n }\n\n const activatorEvent = event.nativeEvent;\n const sensorInstance = new Sensor({\n active: activeRef.current,\n activeNode,\n event: activatorEvent,\n options,\n // Sensors need to be instantiated with refs for arguments that change over time\n // otherwise they are frozen in time with the stale arguments\n context: sensorContext,\n\n onStart(initialCoordinates) {\n const id = activeRef.current;\n\n if (id == null) {\n return;\n }\n\n const draggableNode = draggableNodes.get(id);\n\n if (!draggableNode) {\n return;\n }\n\n const {\n onDragStart\n } = latestProps.current;\n const event = {\n active: {\n id,\n data: draggableNode.data,\n rect: activeRects\n }\n };\n unstable_batchedUpdates(() => {\n onDragStart == null ? void 0 : onDragStart(event);\n setStatus(Status.Initializing);\n dispatch({\n type: Action.DragStart,\n initialCoordinates,\n active: id\n });\n dispatchMonitorEvent({\n type: 'onDragStart',\n event\n });\n });\n },\n\n onMove(coordinates) {\n dispatch({\n type: Action.DragMove,\n coordinates\n });\n },\n\n onEnd: createHandler(Action.DragEnd),\n onCancel: createHandler(Action.DragCancel)\n });\n unstable_batchedUpdates(() => {\n setActiveSensor(sensorInstance);\n setActivatorEvent(event.nativeEvent);\n });\n\n function createHandler(type) {\n return async function handler() {\n const {\n active,\n collisions,\n over,\n scrollAdjustedTranslate\n } = sensorContext.current;\n let event = null;\n\n if (active && scrollAdjustedTranslate) {\n const {\n cancelDrop\n } = latestProps.current;\n event = {\n activatorEvent,\n active: active,\n collisions,\n delta: scrollAdjustedTranslate,\n over\n };\n\n if (type === Action.DragEnd && typeof cancelDrop === 'function') {\n const shouldCancel = await Promise.resolve(cancelDrop(event));\n\n if (shouldCancel) {\n type = Action.DragCancel;\n }\n }\n }\n\n activeRef.current = null;\n unstable_batchedUpdates(() => {\n dispatch({\n type\n });\n setStatus(Status.Uninitialized);\n setOver(null);\n setActiveSensor(null);\n setActivatorEvent(null);\n const eventName = type === Action.DragEnd ? 'onDragEnd' : 'onDragCancel';\n\n if (event) {\n const handler = latestProps.current[eventName];\n handler == null ? void 0 : handler(event);\n dispatchMonitorEvent({\n type: eventName,\n event\n });\n }\n });\n };\n }\n }, // eslint-disable-next-line react-hooks/exhaustive-deps\n [draggableNodes]);\n const bindActivatorToSensorInstantiator = useCallback((handler, sensor) => {\n return (event, active) => {\n const nativeEvent = event.nativeEvent;\n const activeDraggableNode = draggableNodes.get(active);\n\n if ( // Another sensor is already instantiating\n activeRef.current !== null || // No active draggable\n !activeDraggableNode || // Event has already been captured\n nativeEvent.dndKit || nativeEvent.defaultPrevented) {\n return;\n }\n\n const activationContext = {\n active: activeDraggableNode\n };\n const shouldActivate = handler(event, sensor.options, activationContext);\n\n if (shouldActivate === true) {\n nativeEvent.dndKit = {\n capturedBy: sensor.sensor\n };\n activeRef.current = active;\n instantiateSensor(event, sensor);\n }\n };\n }, [draggableNodes, instantiateSensor]);\n const activators = useCombineActivators(sensors, bindActivatorToSensorInstantiator);\n useSensorSetup(sensors);\n useIsomorphicLayoutEffect(() => {\n if (activeNodeRect && status === Status.Initializing) {\n setStatus(Status.Initialized);\n }\n }, [activeNodeRect, status]);\n useEffect(() => {\n const {\n onDragMove\n } = latestProps.current;\n const {\n active,\n activatorEvent,\n collisions,\n over\n } = sensorContext.current;\n\n if (!active || !activatorEvent) {\n return;\n }\n\n const event = {\n active,\n activatorEvent,\n collisions,\n delta: {\n x: scrollAdjustedTranslate.x,\n y: scrollAdjustedTranslate.y\n },\n over\n };\n unstable_batchedUpdates(() => {\n onDragMove == null ? void 0 : onDragMove(event);\n dispatchMonitorEvent({\n type: 'onDragMove',\n event\n });\n });\n }, // eslint-disable-next-line react-hooks/exhaustive-deps\n [scrollAdjustedTranslate.x, scrollAdjustedTranslate.y]);\n useEffect(() => {\n const {\n active,\n activatorEvent,\n collisions,\n droppableContainers,\n scrollAdjustedTranslate\n } = sensorContext.current;\n\n if (!active || activeRef.current == null || !activatorEvent || !scrollAdjustedTranslate) {\n return;\n }\n\n const {\n onDragOver\n } = latestProps.current;\n const overContainer = droppableContainers.get(overId);\n const over = overContainer && overContainer.rect.current ? {\n id: overContainer.id,\n rect: overContainer.rect.current,\n data: overContainer.data,\n disabled: overContainer.disabled\n } : null;\n const event = {\n active,\n activatorEvent,\n collisions,\n delta: {\n x: scrollAdjustedTranslate.x,\n y: scrollAdjustedTranslate.y\n },\n over\n };\n unstable_batchedUpdates(() => {\n setOver(over);\n onDragOver == null ? void 0 : onDragOver(event);\n dispatchMonitorEvent({\n type: 'onDragOver',\n event\n });\n });\n }, // eslint-disable-next-line react-hooks/exhaustive-deps\n [overId]);\n useIsomorphicLayoutEffect(() => {\n sensorContext.current = {\n activatorEvent,\n active,\n activeNode,\n collisionRect,\n collisions,\n droppableRects,\n draggableNodes,\n draggingNode,\n draggingNodeRect,\n droppableContainers,\n over,\n scrollableAncestors,\n scrollAdjustedTranslate\n };\n activeRects.current = {\n initial: draggingNodeRect,\n translated: collisionRect\n };\n }, [active, activeNode, collisions, collisionRect, draggableNodes, draggingNode, draggingNodeRect, droppableRects, droppableContainers, over, scrollableAncestors, scrollAdjustedTranslate]);\n useAutoScroller({ ...autoScrollOptions,\n delta: translate,\n draggingRect: collisionRect,\n pointerCoordinates,\n scrollableAncestors,\n scrollableAncestorRects\n });\n const publicContext = useMemo(() => {\n const context = {\n active,\n activeNode,\n activeNodeRect,\n activatorEvent,\n collisions,\n containerNodeRect,\n dragOverlay,\n draggableNodes,\n droppableContainers,\n droppableRects,\n over,\n measureDroppableContainers,\n scrollableAncestors,\n scrollableAncestorRects,\n measuringConfiguration,\n measuringScheduled,\n windowRect\n };\n return context;\n }, [active, activeNode, activeNodeRect, activatorEvent, collisions, containerNodeRect, dragOverlay, draggableNodes, droppableContainers, droppableRects, over, measureDroppableContainers, scrollableAncestors, scrollableAncestorRects, measuringConfiguration, measuringScheduled, windowRect]);\n const internalContext = useMemo(() => {\n const context = {\n activatorEvent,\n activators,\n active,\n activeNodeRect,\n ariaDescribedById: {\n draggable: draggableDescribedById\n },\n dispatch,\n draggableNodes,\n over,\n measureDroppableContainers\n };\n return context;\n }, [activatorEvent, activators, active, activeNodeRect, dispatch, draggableDescribedById, draggableNodes, over, measureDroppableContainers]);\n return React.createElement(DndMonitorContext.Provider, {\n value: registerMonitorListener\n }, React.createElement(InternalContext.Provider, {\n value: internalContext\n }, React.createElement(PublicContext.Provider, {\n value: publicContext\n }, React.createElement(ActiveDraggableContext.Provider, {\n value: transform\n }, children)), React.createElement(RestoreFocus, {\n disabled: (accessibility == null ? void 0 : accessibility.restoreFocus) === false\n })), React.createElement(Accessibility, { ...accessibility,\n hiddenTextDescribedById: draggableDescribedById\n }));\n\n function getAutoScrollerOptions() {\n const activeSensorDisablesAutoscroll = (activeSensor == null ? void 0 : activeSensor.autoScrollEnabled) === false;\n const autoScrollGloballyDisabled = typeof autoScroll === 'object' ? autoScroll.enabled === false : autoScroll === false;\n const enabled = isInitialized && !activeSensorDisablesAutoscroll && !autoScrollGloballyDisabled;\n\n if (typeof autoScroll === 'object') {\n return { ...autoScroll,\n enabled\n };\n }\n\n return {\n enabled\n };\n }\n});\n\nconst NullContext = /*#__PURE__*/createContext(null);\nconst defaultRole = 'button';\nconst ID_PREFIX = 'Droppable';\nfunction useDraggable(_ref) {\n let {\n id,\n data,\n disabled = false,\n attributes\n } = _ref;\n const key = useUniqueId(ID_PREFIX);\n const {\n activators,\n activatorEvent,\n active,\n activeNodeRect,\n ariaDescribedById,\n draggableNodes,\n over\n } = useContext(InternalContext);\n const {\n role = defaultRole,\n roleDescription = 'draggable',\n tabIndex = 0\n } = attributes != null ? attributes : {};\n const isDragging = (active == null ? void 0 : active.id) === id;\n const transform = useContext(isDragging ? ActiveDraggableContext : NullContext);\n const [node, setNodeRef] = useNodeRef();\n const [activatorNode, setActivatorNodeRef] = useNodeRef();\n const listeners = useSyntheticListeners(activators, id);\n const dataRef = useLatestValue(data);\n useIsomorphicLayoutEffect(() => {\n draggableNodes.set(id, {\n id,\n key,\n node,\n activatorNode,\n data: dataRef\n });\n return () => {\n const node = draggableNodes.get(id);\n\n if (node && node.key === key) {\n draggableNodes.delete(id);\n }\n };\n }, // eslint-disable-next-line react-hooks/exhaustive-deps\n [draggableNodes, id]);\n const memoizedAttributes = useMemo(() => ({\n role,\n tabIndex,\n 'aria-disabled': disabled,\n 'aria-pressed': isDragging && role === defaultRole ? true : undefined,\n 'aria-roledescription': roleDescription,\n 'aria-describedby': ariaDescribedById.draggable\n }), [disabled, role, tabIndex, isDragging, roleDescription, ariaDescribedById.draggable]);\n return {\n active,\n activatorEvent,\n activeNodeRect,\n attributes: memoizedAttributes,\n isDragging,\n listeners: disabled ? undefined : listeners,\n node,\n over,\n setNodeRef,\n setActivatorNodeRef,\n transform\n };\n}\n\nfunction useDndContext() {\n return useContext(PublicContext);\n}\n\nconst ID_PREFIX$1 = 'Droppable';\nconst defaultResizeObserverConfig = {\n timeout: 25\n};\nfunction useDroppable(_ref) {\n let {\n data,\n disabled = false,\n id,\n resizeObserverConfig\n } = _ref;\n const key = useUniqueId(ID_PREFIX$1);\n const {\n active,\n dispatch,\n over,\n measureDroppableContainers\n } = useContext(InternalContext);\n const previous = useRef({\n disabled\n });\n const resizeObserverConnected = useRef(false);\n const rect = useRef(null);\n const callbackId = useRef(null);\n const {\n disabled: resizeObserverDisabled,\n updateMeasurementsFor,\n timeout: resizeObserverTimeout\n } = { ...defaultResizeObserverConfig,\n ...resizeObserverConfig\n };\n const ids = useLatestValue(updateMeasurementsFor != null ? updateMeasurementsFor : id);\n const handleResize = useCallback(() => {\n if (!resizeObserverConnected.current) {\n // ResizeObserver invokes the `handleResize` callback as soon as `observe` is called,\n // assuming the element is rendered and displayed.\n resizeObserverConnected.current = true;\n return;\n }\n\n if (callbackId.current != null) {\n clearTimeout(callbackId.current);\n }\n\n callbackId.current = setTimeout(() => {\n measureDroppableContainers(Array.isArray(ids.current) ? ids.current : [ids.current]);\n callbackId.current = null;\n }, resizeObserverTimeout);\n }, //eslint-disable-next-line react-hooks/exhaustive-deps\n [resizeObserverTimeout]);\n const resizeObserver = useResizeObserver({\n callback: handleResize,\n disabled: resizeObserverDisabled || !active\n });\n const handleNodeChange = useCallback((newElement, previousElement) => {\n if (!resizeObserver) {\n return;\n }\n\n if (previousElement) {\n resizeObserver.unobserve(previousElement);\n resizeObserverConnected.current = false;\n }\n\n if (newElement) {\n resizeObserver.observe(newElement);\n }\n }, [resizeObserver]);\n const [nodeRef, setNodeRef] = useNodeRef(handleNodeChange);\n const dataRef = useLatestValue(data);\n useEffect(() => {\n if (!resizeObserver || !nodeRef.current) {\n return;\n }\n\n resizeObserver.disconnect();\n resizeObserverConnected.current = false;\n resizeObserver.observe(nodeRef.current);\n }, [nodeRef, resizeObserver]);\n useIsomorphicLayoutEffect(() => {\n dispatch({\n type: Action.RegisterDroppable,\n element: {\n id,\n key,\n disabled,\n node: nodeRef,\n rect,\n data: dataRef\n }\n });\n return () => dispatch({\n type: Action.UnregisterDroppable,\n key,\n id\n });\n }, // eslint-disable-next-line react-hooks/exhaustive-deps\n [id]);\n useEffect(() => {\n if (disabled !== previous.current.disabled) {\n dispatch({\n type: Action.SetDroppableDisabled,\n id,\n key,\n disabled\n });\n previous.current.disabled = disabled;\n }\n }, [id, key, disabled, dispatch]);\n return {\n active,\n rect,\n isOver: (over == null ? void 0 : over.id) === id,\n node: nodeRef,\n over,\n setNodeRef\n };\n}\n\nfunction AnimationManager(_ref) {\n let {\n animation,\n children\n } = _ref;\n const [clonedChildren, setClonedChildren] = useState(null);\n const [element, setElement] = useState(null);\n const previousChildren = usePrevious(children);\n\n if (!children && !clonedChildren && previousChildren) {\n setClonedChildren(previousChildren);\n }\n\n useIsomorphicLayoutEffect(() => {\n if (!element) {\n return;\n }\n\n const key = clonedChildren == null ? void 0 : clonedChildren.key;\n const id = clonedChildren == null ? void 0 : clonedChildren.props.id;\n\n if (key == null || id == null) {\n setClonedChildren(null);\n return;\n }\n\n Promise.resolve(animation(id, element)).then(() => {\n setClonedChildren(null);\n });\n }, [animation, clonedChildren, element]);\n return React.createElement(React.Fragment, null, children, clonedChildren ? cloneElement(clonedChildren, {\n ref: setElement\n }) : null);\n}\n\nconst defaultTransform = {\n x: 0,\n y: 0,\n scaleX: 1,\n scaleY: 1\n};\nfunction NullifiedContextProvider(_ref) {\n let {\n children\n } = _ref;\n return React.createElement(InternalContext.Provider, {\n value: defaultInternalContext\n }, React.createElement(ActiveDraggableContext.Provider, {\n value: defaultTransform\n }, children));\n}\n\nconst baseStyles = {\n position: 'fixed',\n touchAction: 'none'\n};\n\nconst defaultTransition = activatorEvent => {\n const isKeyboardActivator = isKeyboardEvent(activatorEvent);\n return isKeyboardActivator ? 'transform 250ms ease' : undefined;\n};\n\nconst PositionedOverlay = /*#__PURE__*/forwardRef((_ref, ref) => {\n let {\n as,\n activatorEvent,\n adjustScale,\n children,\n className,\n rect,\n style,\n transform,\n transition = defaultTransition\n } = _ref;\n\n if (!rect) {\n return null;\n }\n\n const scaleAdjustedTransform = adjustScale ? transform : { ...transform,\n scaleX: 1,\n scaleY: 1\n };\n const styles = { ...baseStyles,\n width: rect.width,\n height: rect.height,\n top: rect.top,\n left: rect.left,\n transform: CSS.Transform.toString(scaleAdjustedTransform),\n transformOrigin: adjustScale && activatorEvent ? getRelativeTransformOrigin(activatorEvent, rect) : undefined,\n transition: typeof transition === 'function' ? transition(activatorEvent) : transition,\n ...style\n };\n return React.createElement(as, {\n className,\n style: styles,\n ref\n }, children);\n});\n\nconst defaultDropAnimationSideEffects = options => _ref => {\n let {\n active,\n dragOverlay\n } = _ref;\n const originalStyles = {};\n const {\n styles,\n className\n } = options;\n\n if (styles != null && styles.active) {\n for (const [key, value] of Object.entries(styles.active)) {\n if (value === undefined) {\n continue;\n }\n\n originalStyles[key] = active.node.style.getPropertyValue(key);\n active.node.style.setProperty(key, value);\n }\n }\n\n if (styles != null && styles.dragOverlay) {\n for (const [key, value] of Object.entries(styles.dragOverlay)) {\n if (value === undefined) {\n continue;\n }\n\n dragOverlay.node.style.setProperty(key, value);\n }\n }\n\n if (className != null && className.active) {\n active.node.classList.add(className.active);\n }\n\n if (className != null && className.dragOverlay) {\n dragOverlay.node.classList.add(className.dragOverlay);\n }\n\n return function cleanup() {\n for (const [key, value] of Object.entries(originalStyles)) {\n active.node.style.setProperty(key, value);\n }\n\n if (className != null && className.active) {\n active.node.classList.remove(className.active);\n }\n };\n};\n\nconst defaultKeyframeResolver = _ref2 => {\n let {\n transform: {\n initial,\n final\n }\n } = _ref2;\n return [{\n transform: CSS.Transform.toString(initial)\n }, {\n transform: CSS.Transform.toString(final)\n }];\n};\n\nconst defaultDropAnimationConfiguration = {\n duration: 250,\n easing: 'ease',\n keyframes: defaultKeyframeResolver,\n sideEffects: /*#__PURE__*/defaultDropAnimationSideEffects({\n styles: {\n active: {\n opacity: '0'\n }\n }\n })\n};\nfunction useDropAnimation(_ref3) {\n let {\n config,\n draggableNodes,\n droppableContainers,\n measuringConfiguration\n } = _ref3;\n return useEvent((id, node) => {\n if (config === null) {\n return;\n }\n\n const activeDraggable = draggableNodes.get(id);\n\n if (!activeDraggable) {\n return;\n }\n\n const activeNode = activeDraggable.node.current;\n\n if (!activeNode) {\n return;\n }\n\n const measurableNode = getMeasurableNode(node);\n\n if (!measurableNode) {\n return;\n }\n\n const {\n transform\n } = getWindow(node).getComputedStyle(node);\n const parsedTransform = parseTransform(transform);\n\n if (!parsedTransform) {\n return;\n }\n\n const animation = typeof config === 'function' ? config : createDefaultDropAnimation(config);\n scrollIntoViewIfNeeded(activeNode, measuringConfiguration.draggable.measure);\n return animation({\n active: {\n id,\n data: activeDraggable.data,\n node: activeNode,\n rect: measuringConfiguration.draggable.measure(activeNode)\n },\n draggableNodes,\n dragOverlay: {\n node,\n rect: measuringConfiguration.dragOverlay.measure(measurableNode)\n },\n droppableContainers,\n measuringConfiguration,\n transform: parsedTransform\n });\n });\n}\n\nfunction createDefaultDropAnimation(options) {\n const {\n duration,\n easing,\n sideEffects,\n keyframes\n } = { ...defaultDropAnimationConfiguration,\n ...options\n };\n return _ref4 => {\n let {\n active,\n dragOverlay,\n transform,\n ...rest\n } = _ref4;\n\n if (!duration) {\n // Do not animate if animation duration is zero.\n return;\n }\n\n const delta = {\n x: dragOverlay.rect.left - active.rect.left,\n y: dragOverlay.rect.top - active.rect.top\n };\n const scale = {\n scaleX: transform.scaleX !== 1 ? active.rect.width * transform.scaleX / dragOverlay.rect.width : 1,\n scaleY: transform.scaleY !== 1 ? active.rect.height * transform.scaleY / dragOverlay.rect.height : 1\n };\n const finalTransform = {\n x: transform.x - delta.x,\n y: transform.y - delta.y,\n ...scale\n };\n const animationKeyframes = keyframes({ ...rest,\n active,\n dragOverlay,\n transform: {\n initial: transform,\n final: finalTransform\n }\n });\n const [firstKeyframe] = animationKeyframes;\n const lastKeyframe = animationKeyframes[animationKeyframes.length - 1];\n\n if (JSON.stringify(firstKeyframe) === JSON.stringify(lastKeyframe)) {\n // The start and end keyframes are the same, infer that there is no animation needed.\n return;\n }\n\n const cleanup = sideEffects == null ? void 0 : sideEffects({\n active,\n dragOverlay,\n ...rest\n });\n const animation = dragOverlay.node.animate(animationKeyframes, {\n duration,\n easing,\n fill: 'forwards'\n });\n return new Promise(resolve => {\n animation.onfinish = () => {\n cleanup == null ? void 0 : cleanup();\n resolve();\n };\n });\n };\n}\n\nlet key = 0;\nfunction useKey(id) {\n return useMemo(() => {\n if (id == null) {\n return;\n }\n\n key++;\n return key;\n }, [id]);\n}\n\nconst DragOverlay = /*#__PURE__*/React.memo(_ref => {\n let {\n adjustScale = false,\n children,\n dropAnimation: dropAnimationConfig,\n style,\n transition,\n modifiers,\n wrapperElement = 'div',\n className,\n zIndex = 999\n } = _ref;\n const {\n activatorEvent,\n active,\n activeNodeRect,\n containerNodeRect,\n draggableNodes,\n droppableContainers,\n dragOverlay,\n over,\n measuringConfiguration,\n scrollableAncestors,\n scrollableAncestorRects,\n windowRect\n } = useDndContext();\n const transform = useContext(ActiveDraggableContext);\n const key = useKey(active == null ? void 0 : active.id);\n const modifiedTransform = applyModifiers(modifiers, {\n activatorEvent,\n active,\n activeNodeRect,\n containerNodeRect,\n draggingNodeRect: dragOverlay.rect,\n over,\n overlayNodeRect: dragOverlay.rect,\n scrollableAncestors,\n scrollableAncestorRects,\n transform,\n windowRect\n });\n const initialRect = useInitialValue(activeNodeRect);\n const dropAnimation = useDropAnimation({\n config: dropAnimationConfig,\n draggableNodes,\n droppableContainers,\n measuringConfiguration\n }); // We need to wait for the active node to be measured before connecting the drag overlay ref\n // otherwise collisions can be computed against a mispositioned drag overlay\n\n const ref = initialRect ? dragOverlay.setRef : undefined;\n return React.createElement(NullifiedContextProvider, null, React.createElement(AnimationManager, {\n animation: dropAnimation\n }, active && key ? React.createElement(PositionedOverlay, {\n key: key,\n id: active.id,\n ref: ref,\n as: wrapperElement,\n activatorEvent: activatorEvent,\n adjustScale: adjustScale,\n className: className,\n transition: transition,\n rect: initialRect,\n style: {\n zIndex,\n ...style\n },\n transform: modifiedTransform\n }, children) : null));\n});\n\nexport { AutoScrollActivator, DndContext, DragOverlay, KeyboardCode, KeyboardSensor, MeasuringFrequency, MeasuringStrategy, MouseSensor, PointerSensor, TouchSensor, TraversalOrder, applyModifiers, closestCenter, closestCorners, defaultAnnouncements, defaultCoordinates, defaultDropAnimationConfiguration as defaultDropAnimation, defaultDropAnimationSideEffects, defaultScreenReaderInstructions, getClientRect, getFirstCollision, getScrollableAncestors, pointerWithin, rectIntersection, useDndContext, useDndMonitor, useDraggable, useDroppable, useSensor, useSensors };\n//# sourceMappingURL=core.esm.js.map\n","import React, { useMemo, useRef, useEffect, useState, useContext } from 'react';\nimport { useDndContext, getClientRect, useDroppable, useDraggable, closestCorners, getFirstCollision, getScrollableAncestors, KeyboardCode } from '@dnd-kit/core';\nimport { useUniqueId, useIsomorphicLayoutEffect, CSS, useCombinedRefs, isKeyboardEvent, subtract } from '@dnd-kit/utilities';\n\n/**\r\n * Move an array item to a different position. Returns a new array with the item moved to the new position.\r\n */\nfunction arrayMove(array, from, to) {\n const newArray = array.slice();\n newArray.splice(to < 0 ? newArray.length + to : to, 0, newArray.splice(from, 1)[0]);\n return newArray;\n}\n\n/**\r\n * Swap an array item to a different position. Returns a new array with the item swapped to the new position.\r\n */\nfunction arraySwap(array, from, to) {\n const newArray = array.slice();\n newArray[from] = array[to];\n newArray[to] = array[from];\n return newArray;\n}\n\nfunction getSortedRects(items, rects) {\n return items.reduce((accumulator, id, index) => {\n const rect = rects.get(id);\n\n if (rect) {\n accumulator[index] = rect;\n }\n\n return accumulator;\n }, Array(items.length));\n}\n\nfunction isValidIndex(index) {\n return index !== null && index >= 0;\n}\n\nfunction itemsEqual(a, b) {\n if (a === b) {\n return true;\n }\n\n if (a.length !== b.length) {\n return false;\n }\n\n for (let i = 0; i < a.length; i++) {\n if (a[i] !== b[i]) {\n return false;\n }\n }\n\n return true;\n}\n\nfunction normalizeDisabled(disabled) {\n if (typeof disabled === 'boolean') {\n return {\n draggable: disabled,\n droppable: disabled\n };\n }\n\n return disabled;\n}\n\n// To-do: We should be calculating scale transformation\nconst defaultScale = {\n scaleX: 1,\n scaleY: 1\n};\nconst horizontalListSortingStrategy = _ref => {\n var _rects$activeIndex;\n\n let {\n rects,\n activeNodeRect: fallbackActiveRect,\n activeIndex,\n overIndex,\n index\n } = _ref;\n const activeNodeRect = (_rects$activeIndex = rects[activeIndex]) != null ? _rects$activeIndex : fallbackActiveRect;\n\n if (!activeNodeRect) {\n return null;\n }\n\n const itemGap = getItemGap(rects, index, activeIndex);\n\n if (index === activeIndex) {\n const newIndexRect = rects[overIndex];\n\n if (!newIndexRect) {\n return null;\n }\n\n return {\n x: activeIndex < overIndex ? newIndexRect.left + newIndexRect.width - (activeNodeRect.left + activeNodeRect.width) : newIndexRect.left - activeNodeRect.left,\n y: 0,\n ...defaultScale\n };\n }\n\n if (index > activeIndex && index <= overIndex) {\n return {\n x: -activeNodeRect.width - itemGap,\n y: 0,\n ...defaultScale\n };\n }\n\n if (index < activeIndex && index >= overIndex) {\n return {\n x: activeNodeRect.width + itemGap,\n y: 0,\n ...defaultScale\n };\n }\n\n return {\n x: 0,\n y: 0,\n ...defaultScale\n };\n};\n\nfunction getItemGap(rects, index, activeIndex) {\n const currentRect = rects[index];\n const previousRect = rects[index - 1];\n const nextRect = rects[index + 1];\n\n if (!currentRect || !previousRect && !nextRect) {\n return 0;\n }\n\n if (activeIndex < index) {\n return previousRect ? currentRect.left - (previousRect.left + previousRect.width) : nextRect.left - (currentRect.left + currentRect.width);\n }\n\n return nextRect ? nextRect.left - (currentRect.left + currentRect.width) : currentRect.left - (previousRect.left + previousRect.width);\n}\n\nconst rectSortingStrategy = _ref => {\n let {\n rects,\n activeIndex,\n overIndex,\n index\n } = _ref;\n const newRects = arrayMove(rects, overIndex, activeIndex);\n const oldRect = rects[index];\n const newRect = newRects[index];\n\n if (!newRect || !oldRect) {\n return null;\n }\n\n return {\n x: newRect.left - oldRect.left,\n y: newRect.top - oldRect.top,\n scaleX: newRect.width / oldRect.width,\n scaleY: newRect.height / oldRect.height\n };\n};\n\nconst rectSwappingStrategy = _ref => {\n let {\n activeIndex,\n index,\n rects,\n overIndex\n } = _ref;\n let oldRect;\n let newRect;\n\n if (index === activeIndex) {\n oldRect = rects[index];\n newRect = rects[overIndex];\n }\n\n if (index === overIndex) {\n oldRect = rects[index];\n newRect = rects[activeIndex];\n }\n\n if (!newRect || !oldRect) {\n return null;\n }\n\n return {\n x: newRect.left - oldRect.left,\n y: newRect.top - oldRect.top,\n scaleX: newRect.width / oldRect.width,\n scaleY: newRect.height / oldRect.height\n };\n};\n\n// To-do: We should be calculating scale transformation\nconst defaultScale$1 = {\n scaleX: 1,\n scaleY: 1\n};\nconst verticalListSortingStrategy = _ref => {\n var _rects$activeIndex;\n\n let {\n activeIndex,\n activeNodeRect: fallbackActiveRect,\n index,\n rects,\n overIndex\n } = _ref;\n const activeNodeRect = (_rects$activeIndex = rects[activeIndex]) != null ? _rects$activeIndex : fallbackActiveRect;\n\n if (!activeNodeRect) {\n return null;\n }\n\n if (index === activeIndex) {\n const overIndexRect = rects[overIndex];\n\n if (!overIndexRect) {\n return null;\n }\n\n return {\n x: 0,\n y: activeIndex < overIndex ? overIndexRect.top + overIndexRect.height - (activeNodeRect.top + activeNodeRect.height) : overIndexRect.top - activeNodeRect.top,\n ...defaultScale$1\n };\n }\n\n const itemGap = getItemGap$1(rects, index, activeIndex);\n\n if (index > activeIndex && index <= overIndex) {\n return {\n x: 0,\n y: -activeNodeRect.height - itemGap,\n ...defaultScale$1\n };\n }\n\n if (index < activeIndex && index >= overIndex) {\n return {\n x: 0,\n y: activeNodeRect.height + itemGap,\n ...defaultScale$1\n };\n }\n\n return {\n x: 0,\n y: 0,\n ...defaultScale$1\n };\n};\n\nfunction getItemGap$1(clientRects, index, activeIndex) {\n const currentRect = clientRects[index];\n const previousRect = clientRects[index - 1];\n const nextRect = clientRects[index + 1];\n\n if (!currentRect) {\n return 0;\n }\n\n if (activeIndex < index) {\n return previousRect ? currentRect.top - (previousRect.top + previousRect.height) : nextRect ? nextRect.top - (currentRect.top + currentRect.height) : 0;\n }\n\n return nextRect ? nextRect.top - (currentRect.top + currentRect.height) : previousRect ? currentRect.top - (previousRect.top + previousRect.height) : 0;\n}\n\nconst ID_PREFIX = 'Sortable';\nconst Context = /*#__PURE__*/React.createContext({\n activeIndex: -1,\n containerId: ID_PREFIX,\n disableTransforms: false,\n items: [],\n overIndex: -1,\n useDragOverlay: false,\n sortedRects: [],\n strategy: rectSortingStrategy,\n disabled: {\n draggable: false,\n droppable: false\n }\n});\nfunction SortableContext(_ref) {\n let {\n children,\n id,\n items: userDefinedItems,\n strategy = rectSortingStrategy,\n disabled: disabledProp = false\n } = _ref;\n const {\n active,\n dragOverlay,\n droppableRects,\n over,\n measureDroppableContainers\n } = useDndContext();\n const containerId = useUniqueId(ID_PREFIX, id);\n const useDragOverlay = Boolean(dragOverlay.rect !== null);\n const items = useMemo(() => userDefinedItems.map(item => typeof item === 'object' && 'id' in item ? item.id : item), [userDefinedItems]);\n const isDragging = active != null;\n const activeIndex = active ? items.indexOf(active.id) : -1;\n const overIndex = over ? items.indexOf(over.id) : -1;\n const previousItemsRef = useRef(items);\n const itemsHaveChanged = !itemsEqual(items, previousItemsRef.current);\n const disableTransforms = overIndex !== -1 && activeIndex === -1 || itemsHaveChanged;\n const disabled = normalizeDisabled(disabledProp);\n useIsomorphicLayoutEffect(() => {\n if (itemsHaveChanged && isDragging) {\n measureDroppableContainers(items);\n }\n }, [itemsHaveChanged, items, isDragging, measureDroppableContainers]);\n useEffect(() => {\n previousItemsRef.current = items;\n }, [items]);\n const contextValue = useMemo(() => ({\n activeIndex,\n containerId,\n disabled,\n disableTransforms,\n items,\n overIndex,\n useDragOverlay,\n sortedRects: getSortedRects(items, droppableRects),\n strategy\n }), // eslint-disable-next-line react-hooks/exhaustive-deps\n [activeIndex, containerId, disabled.draggable, disabled.droppable, disableTransforms, items, overIndex, droppableRects, useDragOverlay, strategy]);\n return React.createElement(Context.Provider, {\n value: contextValue\n }, children);\n}\n\nconst defaultNewIndexGetter = _ref => {\n let {\n id,\n items,\n activeIndex,\n overIndex\n } = _ref;\n return arrayMove(items, activeIndex, overIndex).indexOf(id);\n};\nconst defaultAnimateLayoutChanges = _ref2 => {\n let {\n containerId,\n isSorting,\n wasDragging,\n index,\n items,\n newIndex,\n previousItems,\n previousContainerId,\n transition\n } = _ref2;\n\n if (!transition || !wasDragging) {\n return false;\n }\n\n if (previousItems !== items && index === newIndex) {\n return false;\n }\n\n if (isSorting) {\n return true;\n }\n\n return newIndex !== index && containerId === previousContainerId;\n};\nconst defaultTransition = {\n duration: 200,\n easing: 'ease'\n};\nconst transitionProperty = 'transform';\nconst disabledTransition = /*#__PURE__*/CSS.Transition.toString({\n property: transitionProperty,\n duration: 0,\n easing: 'linear'\n});\nconst defaultAttributes = {\n roleDescription: 'sortable'\n};\n\n/*\r\n * When the index of an item changes while sorting,\r\n * we need to temporarily disable the transforms\r\n */\n\nfunction useDerivedTransform(_ref) {\n let {\n disabled,\n index,\n node,\n rect\n } = _ref;\n const [derivedTransform, setDerivedtransform] = useState(null);\n const previousIndex = useRef(index);\n useIsomorphicLayoutEffect(() => {\n if (!disabled && index !== previousIndex.current && node.current) {\n const initial = rect.current;\n\n if (initial) {\n const current = getClientRect(node.current, {\n ignoreTransform: true\n });\n const delta = {\n x: initial.left - current.left,\n y: initial.top - current.top,\n scaleX: initial.width / current.width,\n scaleY: initial.height / current.height\n };\n\n if (delta.x || delta.y) {\n setDerivedtransform(delta);\n }\n }\n }\n\n if (index !== previousIndex.current) {\n previousIndex.current = index;\n }\n }, [disabled, index, node, rect]);\n useEffect(() => {\n if (derivedTransform) {\n setDerivedtransform(null);\n }\n }, [derivedTransform]);\n return derivedTransform;\n}\n\nfunction useSortable(_ref) {\n let {\n animateLayoutChanges = defaultAnimateLayoutChanges,\n attributes: userDefinedAttributes,\n disabled: localDisabled,\n data: customData,\n getNewIndex = defaultNewIndexGetter,\n id,\n strategy: localStrategy,\n resizeObserverConfig,\n transition = defaultTransition\n } = _ref;\n const {\n items,\n containerId,\n activeIndex,\n disabled: globalDisabled,\n disableTransforms,\n sortedRects,\n overIndex,\n useDragOverlay,\n strategy: globalStrategy\n } = useContext(Context);\n const disabled = normalizeLocalDisabled(localDisabled, globalDisabled);\n const index = items.indexOf(id);\n const data = useMemo(() => ({\n sortable: {\n containerId,\n index,\n items\n },\n ...customData\n }), [containerId, customData, index, items]);\n const itemsAfterCurrentSortable = useMemo(() => items.slice(items.indexOf(id)), [items, id]);\n const {\n rect,\n node,\n isOver,\n setNodeRef: setDroppableNodeRef\n } = useDroppable({\n id,\n data,\n disabled: disabled.droppable,\n resizeObserverConfig: {\n updateMeasurementsFor: itemsAfterCurrentSortable,\n ...resizeObserverConfig\n }\n });\n const {\n active,\n activatorEvent,\n activeNodeRect,\n attributes,\n setNodeRef: setDraggableNodeRef,\n listeners,\n isDragging,\n over,\n setActivatorNodeRef,\n transform\n } = useDraggable({\n id,\n data,\n attributes: { ...defaultAttributes,\n ...userDefinedAttributes\n },\n disabled: disabled.draggable\n });\n const setNodeRef = useCombinedRefs(setDroppableNodeRef, setDraggableNodeRef);\n const isSorting = Boolean(active);\n const displaceItem = isSorting && !disableTransforms && isValidIndex(activeIndex) && isValidIndex(overIndex);\n const shouldDisplaceDragSource = !useDragOverlay && isDragging;\n const dragSourceDisplacement = shouldDisplaceDragSource && displaceItem ? transform : null;\n const strategy = localStrategy != null ? localStrategy : globalStrategy;\n const finalTransform = displaceItem ? dragSourceDisplacement != null ? dragSourceDisplacement : strategy({\n rects: sortedRects,\n activeNodeRect,\n activeIndex,\n overIndex,\n index\n }) : null;\n const newIndex = isValidIndex(activeIndex) && isValidIndex(overIndex) ? getNewIndex({\n id,\n items,\n activeIndex,\n overIndex\n }) : index;\n const activeId = active == null ? void 0 : active.id;\n const previous = useRef({\n activeId,\n items,\n newIndex,\n containerId\n });\n const itemsHaveChanged = items !== previous.current.items;\n const shouldAnimateLayoutChanges = animateLayoutChanges({\n active,\n containerId,\n isDragging,\n isSorting,\n id,\n index,\n items,\n newIndex: previous.current.newIndex,\n previousItems: previous.current.items,\n previousContainerId: previous.current.containerId,\n transition,\n wasDragging: previous.current.activeId != null\n });\n const derivedTransform = useDerivedTransform({\n disabled: !shouldAnimateLayoutChanges,\n index,\n node,\n rect\n });\n useEffect(() => {\n if (isSorting && previous.current.newIndex !== newIndex) {\n previous.current.newIndex = newIndex;\n }\n\n if (containerId !== previous.current.containerId) {\n previous.current.containerId = containerId;\n }\n\n if (items !== previous.current.items) {\n previous.current.items = items;\n }\n }, [isSorting, newIndex, containerId, items]);\n useEffect(() => {\n if (activeId === previous.current.activeId) {\n return;\n }\n\n if (activeId && !previous.current.activeId) {\n previous.current.activeId = activeId;\n return;\n }\n\n const timeoutId = setTimeout(() => {\n previous.current.activeId = activeId;\n }, 50);\n return () => clearTimeout(timeoutId);\n }, [activeId]);\n return {\n active,\n activeIndex,\n attributes,\n data,\n rect,\n index,\n newIndex,\n items,\n isOver,\n isSorting,\n isDragging,\n listeners,\n node,\n overIndex,\n over,\n setNodeRef,\n setActivatorNodeRef,\n setDroppableNodeRef,\n setDraggableNodeRef,\n transform: derivedTransform != null ? derivedTransform : finalTransform,\n transition: getTransition()\n };\n\n function getTransition() {\n if ( // Temporarily disable transitions for a single frame to set up derived transforms\n derivedTransform || // Or to prevent items jumping to back to their \"new\" position when items change\n itemsHaveChanged && previous.current.newIndex === index) {\n return disabledTransition;\n }\n\n if (shouldDisplaceDragSource && !isKeyboardEvent(activatorEvent) || !transition) {\n return undefined;\n }\n\n if (isSorting || shouldAnimateLayoutChanges) {\n return CSS.Transition.toString({ ...transition,\n property: transitionProperty\n });\n }\n\n return undefined;\n }\n}\n\nfunction normalizeLocalDisabled(localDisabled, globalDisabled) {\n var _localDisabled$dragga, _localDisabled$droppa;\n\n if (typeof localDisabled === 'boolean') {\n return {\n draggable: localDisabled,\n // Backwards compatibility\n droppable: false\n };\n }\n\n return {\n draggable: (_localDisabled$dragga = localDisabled == null ? void 0 : localDisabled.draggable) != null ? _localDisabled$dragga : globalDisabled.draggable,\n droppable: (_localDisabled$droppa = localDisabled == null ? void 0 : localDisabled.droppable) != null ? _localDisabled$droppa : globalDisabled.droppable\n };\n}\n\nfunction hasSortableData(entry) {\n if (!entry) {\n return false;\n }\n\n const data = entry.data.current;\n\n if (data && 'sortable' in data && typeof data.sortable === 'object' && 'containerId' in data.sortable && 'items' in data.sortable && 'index' in data.sortable) {\n return true;\n }\n\n return false;\n}\n\nconst directions = [KeyboardCode.Down, KeyboardCode.Right, KeyboardCode.Up, KeyboardCode.Left];\nconst sortableKeyboardCoordinates = (event, _ref) => {\n let {\n context: {\n active,\n collisionRect,\n droppableRects,\n droppableContainers,\n over,\n scrollableAncestors\n }\n } = _ref;\n\n if (directions.includes(event.code)) {\n event.preventDefault();\n\n if (!active || !collisionRect) {\n return;\n }\n\n const filteredContainers = [];\n droppableContainers.getEnabled().forEach(entry => {\n if (!entry || entry != null && entry.disabled) {\n return;\n }\n\n const rect = droppableRects.get(entry.id);\n\n if (!rect) {\n return;\n }\n\n switch (event.code) {\n case KeyboardCode.Down:\n if (collisionRect.top < rect.top) {\n filteredContainers.push(entry);\n }\n\n break;\n\n case KeyboardCode.Up:\n if (collisionRect.top > rect.top) {\n filteredContainers.push(entry);\n }\n\n break;\n\n case KeyboardCode.Left:\n if (collisionRect.left > rect.left) {\n filteredContainers.push(entry);\n }\n\n break;\n\n case KeyboardCode.Right:\n if (collisionRect.left < rect.left) {\n filteredContainers.push(entry);\n }\n\n break;\n }\n });\n const collisions = closestCorners({\n active,\n collisionRect: collisionRect,\n droppableRects,\n droppableContainers: filteredContainers,\n pointerCoordinates: null\n });\n let closestId = getFirstCollision(collisions, 'id');\n\n if (closestId === (over == null ? void 0 : over.id) && collisions.length > 1) {\n closestId = collisions[1].id;\n }\n\n if (closestId != null) {\n const activeDroppable = droppableContainers.get(active.id);\n const newDroppable = droppableContainers.get(closestId);\n const newRect = newDroppable ? droppableRects.get(newDroppable.id) : null;\n const newNode = newDroppable == null ? void 0 : newDroppable.node.current;\n\n if (newNode && newRect && activeDroppable && newDroppable) {\n const newScrollAncestors = getScrollableAncestors(newNode);\n const hasDifferentScrollAncestors = newScrollAncestors.some((element, index) => scrollableAncestors[index] !== element);\n const hasSameContainer = isSameContainer(activeDroppable, newDroppable);\n const isAfterActive = isAfter(activeDroppable, newDroppable);\n const offset = hasDifferentScrollAncestors || !hasSameContainer ? {\n x: 0,\n y: 0\n } : {\n x: isAfterActive ? collisionRect.width - newRect.width : 0,\n y: isAfterActive ? collisionRect.height - newRect.height : 0\n };\n const rectCoordinates = {\n x: newRect.left,\n y: newRect.top\n };\n const newCoordinates = offset.x && offset.y ? rectCoordinates : subtract(rectCoordinates, offset);\n return newCoordinates;\n }\n }\n }\n\n return undefined;\n};\n\nfunction isSameContainer(a, b) {\n if (!hasSortableData(a) || !hasSortableData(b)) {\n return false;\n }\n\n return a.data.current.sortable.containerId === b.data.current.sortable.containerId;\n}\n\nfunction isAfter(a, b) {\n if (!hasSortableData(a) || !hasSortableData(b)) {\n return false;\n }\n\n if (!isSameContainer(a, b)) {\n return false;\n }\n\n return a.data.current.sortable.index < b.data.current.sortable.index;\n}\n\nexport { SortableContext, arrayMove, arraySwap, defaultAnimateLayoutChanges, defaultNewIndexGetter, hasSortableData, horizontalListSortingStrategy, rectSortingStrategy, rectSwappingStrategy, sortableKeyboardCoordinates, useSortable, verticalListSortingStrategy };\n//# sourceMappingURL=sortable.esm.js.map\n","import React from \"react\";\n\nimport { useSortable } from \"@dnd-kit/sortable\";\nimport { CSS } from \"@dnd-kit/utilities\";\nimport { countBy } from \"neetocist\";\nimport { Reorder } from \"neetoicons\";\n\nconst FieldBlock = ({ field, index, fields }) => {\n const systemFieldsCount = countBy({ isSystem: true }, fields);\n\n const { attributes, listeners, setNodeRef, transform } = useSortable({\n id: field.id,\n data: { index },\n });\n\n const style = { transform: CSS.Transform.toString(transform) };\n\n return (\n <div\n ref={setNodeRef}\n {...{ style, ...attributes, ...listeners }}\n className=\"neeto-ui-text-gray-800 mb-3 flex w-full items-center space-x-4 font-medium\"\n data-cy=\"reorder-field-block\"\n >\n <div className=\"neeto-ui-bg-gray-100 neeto-ui-text-gray-700 neeto-ui-rounded-sm flex h-6 w-6 flex-shrink-0 items-center justify-center p-1\">\n {index - systemFieldsCount + 1}\n </div>\n <div className=\"neeto-ui-border-gray-400 neeto-ui-bg-white neeto-ui-rounded neeto-ui-shadow-xs flex flex-grow items-center space-x-4 border border-solid p-3\">\n <Reorder />\n <div data-cy=\"reorder-field-block-name\">{field.name}</div>\n </div>\n </div>\n );\n};\n\nexport default React.memo(FieldBlock);\n","import React, { useEffect, useRef, useState } from \"react\";\n\nimport { DndContext, closestCenter } from \"@dnd-kit/core\";\nimport {\n arrayMove,\n SortableContext,\n verticalListSortingStrategy,\n} from \"@dnd-kit/sortable\";\nimport { getQueryParams } from \"neetocommons/utils\";\nimport { Pane, Typography, Button } from \"neetoui\";\nimport { isEmpty } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport {\n useFetchFields,\n useReorderFields,\n} from \"hooks/reactQuery/useFieldsApi\";\n\nimport FieldBlock from \"./FieldBlock\";\n\nimport { FIELD_STATES } from \"../constants\";\n\nconst ReorderPane = ({ isOpen, onClose, ownerId }) => {\n const [fields, setFields] = useState([]);\n const initialStateRef = useRef([]);\n\n const { t } = useTranslation();\n const { resource } = getQueryParams();\n\n const { mutate: reorderField, isPending: isSubmitting } = useReorderFields();\n\n const fieldParams = {\n resourceType: isEmpty(ownerId) ? resource : undefined,\n ownerId,\n state: FIELD_STATES.active,\n searchTerm: \"\",\n };\n\n const { data: { fields: allFields = [] } = {} } = useFetchFields(\n fieldParams,\n { enabled: !!resource && isOpen }\n );\n\n const handleDragEnd = ({ active, over }) => {\n if (active.id !== over.id) {\n setFields(fields =>\n arrayMove(fields, active.data.current.index, over.data.current.index)\n );\n }\n };\n\n const handleReorderSave = () => {\n const params = [];\n fields.map(\n (field, index) =>\n field.id !== allFields[index].id &&\n params.push({ id: field.id, displayOrder: index + 1 })\n );\n\n reorderField(\n { ownerId: isEmpty(ownerId) ? undefined : ownerId, fields: params },\n { onSuccess: onClose }\n );\n };\n\n useEffect(() => {\n if (isEmpty(allFields)) return;\n setFields(allFields);\n initialStateRef.current = allFields;\n }, [allFields]);\n\n return (\n <Pane {...{ isOpen, onClose }}>\n <Pane.Header>\n <Typography data-cy=\"reorder-pane-header\" style=\"h2\" weight=\"semibold\">\n {t(\"neetoFields.titles.reorderFields\")}\n </Typography>\n </Pane.Header>\n <Pane.Body>\n <Typography\n className=\"mb-3\"\n data-cy=\"reorder-pane-message\"\n style=\"body2\"\n >\n {t(\"neetoFields.messages.reorderFields\")}\n </Typography>\n <div className=\"flex w-full flex-col items-center\">\n <DndContext\n collisionDetection={closestCenter}\n onDragEnd={handleDragEnd}\n >\n <SortableContext\n items={fields}\n strategy={verticalListSortingStrategy}\n >\n {fields.map((field, index) => {\n if (field.isSystem) return null;\n\n return <FieldBlock {...{ field, fields, index }} key={index} />;\n })}\n </SortableContext>\n </DndContext>\n </div>\n </Pane.Body>\n <Pane.Footer className=\"flex items-center space-x-2\">\n <Button\n data-cy=\"save-changes-button\"\n disabled={initialStateRef.current === fields}\n label={t(\"neetoFields.labels.saveChanges\")}\n loading={isSubmitting}\n onClick={handleReorderSave}\n />\n <Button\n data-cy=\"cancel-button\"\n label={t(\"neetoFields.labels.cancel\")}\n style=\"text\"\n onClick={onClose}\n />\n </Pane.Footer>\n </Pane>\n );\n};\n\nexport default ReorderPane;\n","import React from \"react\";\n\nimport { Bar as FilterBar } from \"neetofilters\";\nimport NeetoUISubHeader from \"neetomolecules/SubHeader\";\nimport { Typography } from \"neetoui\";\nimport { useTranslation } from \"react-i18next\";\n\n// eslint-disable-next-line @bigbinary/neeto/no-dumb-components-with-use-translation\nconst Subheader = ({ count, searchKeywordProps }) => {\n const { t } = useTranslation();\n\n return (\n <NeetoUISubHeader\n leftActionBlock={\n <>\n <Typography\n className=\"neeto-ui-gray-800 mr-4 font-semibold\"\n data-cy=\"neeto-fields-subheader-text\"\n style=\"h4\"\n >\n {t(\"neetoFields.titles.fieldWithCount\", { count })}\n </Typography>\n <FilterBar keyword={searchKeywordProps} />\n </>\n }\n />\n );\n};\n\nexport default Subheader;\n","import React from \"react\";\n\nimport { capitalize, isPresent } from \"neetocist\";\nimport { PLURAL } from \"neetocommons/constants\";\nimport Container from \"neetomolecules/Container\";\nimport PageLoader from \"neetomolecules/PageLoader\";\nimport { isEmpty } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport FieldsPane from \"components/FieldsPane\";\nimport { useFieldsDashboard } from \"hooks/useFieldsDashboard\";\n\nimport { ALL_KINDS, DEFAULT_FIELD_STATE_TAXONOMY } from \"./constants\";\nimport DeleteAlert from \"./DeleteAlert\";\nimport FieldsTable from \"./FieldsTable\";\nimport Header from \"./Header\";\nimport Menubar from \"./Menubar\";\nimport ReorderPane from \"./ReorderPane\";\nimport Subheader from \"./SubHeader\";\n\n/** @type {React.FC<import(\"types\").FieldsDashboardProps>} */\n\nconst FieldsDashboard = ({\n rowData = [],\n showOwnersInMenu: isOwnerBased = false,\n resourceType = \"\",\n allowedKinds = ALL_KINDS,\n paneProps,\n buildColumnData = ({ defaultColumns = [] }) => defaultColumns,\n breadcrumbs = [],\n showStateFilter = true,\n fieldStatesTaxonomy = DEFAULT_FIELD_STATE_TAXONOMY,\n helpDocUrl,\n helpDescription,\n nameAliases = {},\n headerTitle,\n resources, // Resources can be array of owners or array of resource types\n headerSize = \"small\",\n}) => {\n const { t } = useTranslation();\n\n const title = capitalize(\n headerTitle || t(\"neetoFields.titles.field\", PLURAL)\n );\n\n const {\n isPaneOpen,\n setIsPaneOpen,\n isDeleteAlertOpen,\n isReorderPaneOpen,\n setIsReorderPaneOpen,\n fields,\n count,\n columnData,\n selectedField,\n selectedMenu,\n ownerId,\n isFieldsFetching,\n isFieldsFetched,\n isDeleting,\n isScreenLoading,\n isMenuBarNeeded,\n showCountSubheader,\n handleDelete,\n handleAlertClose,\n handleClosePane,\n handleReorderPaneClose,\n searchInputProps,\n searchKeywordProps,\n stateFilterTabs,\n menuBarItems,\n reorderable,\n headerDisplayTitle,\n pageProps,\n setPageProps,\n } = useFieldsDashboard({\n buildColumnData,\n isOwnerBased,\n fieldStatesTaxonomy,\n nameAliases,\n title,\n resources,\n showStateFilter,\n });\n\n const headerProps = {\n reorderable,\n breadcrumbs,\n helpDocUrl,\n helpDescription,\n searchInputProps,\n setIsPaneOpen,\n setIsReorderPaneOpen,\n title: headerDisplayTitle,\n size: headerSize,\n };\n\n const showSubheader =\n showCountSubheader || isPresent(searchKeywordProps.value);\n\n return (\n <>\n {isMenuBarNeeded && <Menubar {...{ menuBarItems, title }} />}\n <Container>\n <Header {...headerProps} />\n {showSubheader && <Subheader {...{ count, searchKeywordProps }} />}\n {showStateFilter && stateFilterTabs}\n {isScreenLoading ? (\n <div className=\"flex h-screen w-full flex-grow items-center justify-center\">\n <PageLoader />\n </div>\n ) : (\n <FieldsTable\n {...{\n columnData,\n helpDescription,\n helpDocUrl,\n pageProps,\n setIsPaneOpen,\n setPageProps,\n showStateFilter,\n title,\n }}\n isFetched={isFieldsFetched}\n isFetching={isFieldsFetching}\n rowData={isEmpty(rowData) ? fields : rowData}\n totalCount={count}\n />\n )}\n <FieldsPane\n {...{ allowedKinds, selectedField }}\n additionalValidations={paneProps?.validations}\n hideRequiredSwitch={paneProps?.hideRequiredSwitch}\n initialValues={paneProps?.initialValues}\n isOpen={isPaneOpen}\n ownerId={isOwnerBased ? selectedMenu : \"\"}\n resourceType={isOwnerBased ? resourceType : selectedMenu}\n onClose={handleClosePane}\n onMutationSuccess={paneProps?.onMutationSuccess}\n >\n {paneProps?.children}\n </FieldsPane>\n </Container>\n <ReorderPane\n isOpen={isReorderPaneOpen}\n ownerId={isOwnerBased ? selectedMenu : \"\"}\n onClose={handleReorderPaneClose}\n />\n <DeleteAlert\n {...{\n handleAlertClose,\n handleDelete,\n isDeleteAlertOpen,\n isDeleting,\n ownerId,\n selectedField,\n }}\n resourceTypeName={isOwnerBased ? resourceType : selectedMenu}\n />\n </>\n );\n};\n\nexport default FieldsDashboard;\n","import { isEmpty } from \"ramda\";\n\nimport { KINDS } from \"components/FieldsDashBoard/constants\";\n\nexport const isFieldValueEmpty = (fieldKind, fieldValueData) => {\n if (fieldKind === KINDS.multiOption) return isEmpty(fieldValueData.values);\n\n if ([KINDS.timeRange, KINDS.dateRange].includes(fieldKind)) {\n return isEmpty(fieldValueData.value[0]) && isEmpty(fieldValueData.value[1]);\n }\n\n return isEmpty(fieldValueData.value);\n};\n","import axios from \"axios\";\nimport { buildUrl } from \"neetocommons/utils\";\n\nimport { FIELD_VALUES_URL, FIELD_VALUE_URL } from \"src/constants\";\n\nconst fieldValueUrl = fieldValueId =>\n buildUrl(FIELD_VALUE_URL, { fieldValueId });\n\nconst create = payload => axios.post(FIELD_VALUES_URL, payload);\n\nconst fetch = payload => axios.get(FIELD_VALUES_URL, payload);\n\nconst destroy = ({ id, payload }) =>\n axios.delete(fieldValueUrl(id), { data: payload });\n\nconst update = ({ id, payload }) => axios.patch(fieldValueUrl(id), payload);\n\nconst fieldValuesApi = { create, fetch, destroy, update };\n\nexport default fieldValuesApi;\n","import { useQuery } from \"@tanstack/react-query\";\nimport { useMutationWithInvalidation } from \"neetocommons/react-utils\";\n\nimport fieldValuesApi from \"apis/field_values\";\nimport { QUERY_KEYS } from \"src/constants/query\";\n\nconst useFetchFieldValues = params =>\n useQuery({\n queryKey: [QUERY_KEYS.FIELD_VALUES, params.resource],\n queryFn: () => fieldValuesApi.fetch({ params }),\n });\n\nconst useCreateFieldValue = options =>\n useMutationWithInvalidation(fieldValuesApi.create, {\n keysToInvalidate: [QUERY_KEYS.FIELD_VALUES],\n ...options,\n });\n\nconst useUpdateFieldValue = options =>\n useMutationWithInvalidation(fieldValuesApi.update, {\n keysToInvalidate: [QUERY_KEYS.FIELD_VALUES],\n ...options,\n });\n\nconst useDeleteFieldValue = options =>\n useMutationWithInvalidation(fieldValuesApi.destroy, {\n keysToInvalidate: [QUERY_KEYS.FIELD_VALUES],\n ...options,\n });\n\nexport {\n useCreateFieldValue,\n useFetchFieldValues,\n useUpdateFieldValue,\n useDeleteFieldValue,\n};\n","import { useState } from \"react\";\n\nimport { assoc, head, values as getValues, isEmpty, omit } from \"ramda\";\n\nimport { isFieldValueEmpty } from \"components/FieldValuesContainer/utils\";\nimport { SUBMIT_FIELD_STATUS } from \"src/constants\";\n\nimport {\n useCreateFieldValue,\n useDeleteFieldValue,\n useUpdateFieldValue,\n} from \"./reactQuery/useFieldValuesApi\";\n\nconst useFieldValues = ({\n resourceId,\n resourceType,\n ownerId,\n queryOptions = {},\n}) => {\n const [submittingFieldDetails, setSubmittingFieldDetails] = useState({});\n\n const onMutationSuccess = (...callbackArguments) => {\n const [response = {}] = callbackArguments;\n\n setSubmittingFieldDetails(\n assoc(response.fieldValue?.fieldId, {\n status: SUBMIT_FIELD_STATUS.SUCCESS,\n })\n );\n queryOptions.onSuccess?.(...callbackArguments);\n };\n\n const onMutationError = (...callbackArguments) => {\n const [_, payload = {}] = callbackArguments;\n\n setSubmittingFieldDetails(\n assoc(payload.payload?.fieldValue?.fieldId, {\n status: SUBMIT_FIELD_STATUS.FAILED,\n })\n );\n queryOptions.onError?.(...callbackArguments);\n };\n\n const onSettled = (...callbackArguments) => {\n const [response = {}, _, request = {}] = callbackArguments;\n const fieldId =\n response.fieldValue?.fieldId || request.payload?.fieldValue?.fieldId;\n\n setTimeout(() => setSubmittingFieldDetails(omit([fieldId])), 5000);\n queryOptions.onSettled?.(...callbackArguments);\n };\n\n const updatedQueryOptions = {\n ...queryOptions,\n onSuccess: onMutationSuccess,\n onError: onMutationError,\n onSettled,\n };\n\n const { mutate: createFieldValue } = useCreateFieldValue(updatedQueryOptions);\n const { mutate: updateFieldValue } = useUpdateFieldValue(updatedQueryOptions);\n const { mutate: deleteFieldValue } = useDeleteFieldValue(updatedQueryOptions);\n\n const handleSubmit = (field, values) => {\n const fieldValue = head(getValues(values));\n setSubmittingFieldDetails(\n assoc(fieldValue.fieldId, { status: SUBMIT_FIELD_STATUS.SUBMITTING })\n );\n\n const payload = {\n fieldValue,\n resource: resourceType,\n resourceId,\n ownerId: isEmpty(ownerId) ? undefined : ownerId,\n };\n\n if (isFieldValueEmpty(field.kind, fieldValue.data)) {\n deleteFieldValue({ id: fieldValue.id, payload });\n } else {\n fieldValue.id\n ? updateFieldValue({ id: fieldValue.id, payload })\n : createFieldValue(payload);\n }\n };\n\n return { handleSubmit, submittingFieldDetails };\n};\n\nexport default useFieldValues;\n","import { useState, useRef, useEffect } from 'react';\nimport { useHistory } from 'react-router-dom';\n\nconst useNavPrompt = ({\n shouldBlock\n}) => {\n const history = useHistory();\n\n const _unblock = useRef(null);\n\n const _navPath = useRef(null);\n\n const [blocked, setBlocked] = useState(false);\n useEffect(() => {\n if (shouldBlock) {\n _unblock.current = history.block(location => {\n // need to use ref?\n setBlocked(true);\n _navPath.current = location.pathname + location.search; // $FlowFixMe - See https://github.com/ReactTraining/history/issues/728\n\n return false;\n });\n return () => {\n if (_unblock.current) {\n _unblock.current();\n }\n };\n }\n }, [shouldBlock]);\n\n const navigate = () => {\n if (_unblock.current) {\n _unblock.current();\n\n setBlocked(false);\n\n if (_navPath.current) {\n history.push(_navPath.current);\n }\n }\n };\n\n const hidePrompt = () => {\n setBlocked(false);\n };\n\n return {\n blocked,\n navigate,\n hidePrompt\n };\n};\n\nexport default useNavPrompt;","import { t } from \"i18next\";\n\nexport const DEAFULT_BLOCK_NAVIGATION_ALERT_PROPS = {\n title: t(\"neetoFields.messages.blockNavigationAlert.title\"),\n message: t(\"neetoFields.messages.blockNavigationAlert.message\"),\n submitButtonLabel: t(\n \"neetoFields.messages.blockNavigationAlert.submitButtonLabel\"\n ),\n cancelButtonLabel: t(\n \"neetoFields.messages.blockNavigationAlert.cancelButtonLabel\"\n ),\n};\n","import React from \"react\";\n\nimport { useFormikContext } from \"formik\";\nimport { Alert } from \"neetoui\";\nimport { useNavPrompt } from \"react-router-nav-prompt\";\n\nimport { DEAFULT_BLOCK_NAVIGATION_ALERT_PROPS } from \"./constants\";\n\nconst BlockNavigation = ({ blockNavigation, blockNavigationAlertProps }) => {\n const { dirty } = useFormikContext();\n const { blocked, hidePrompt, navigate } = useNavPrompt({\n shouldBlock: blockNavigation && dirty,\n });\n\n const alertProps = {\n ...DEAFULT_BLOCK_NAVIGATION_ALERT_PROPS,\n ...blockNavigationAlertProps,\n };\n\n return (\n <Alert\n cancelButtonLabel={alertProps[\"cancelButtonLabel\"]}\n isOpen={blocked}\n message={alertProps[\"message\"]}\n submitButtonLabel={alertProps[\"submitButtonLabel\"]}\n title={alertProps[\"title\"]}\n onClose={hidePrompt}\n onSubmit={navigate}\n />\n );\n};\n\nexport default BlockNavigation;\n","import React from \"react\";\n\nimport classnames from \"classnames\";\nimport { Form as NeetoUIForm } from \"neetoui/formik\";\n\nimport { getInitialFieldValue } from \"components/utils\";\n\nconst FieldValueInputWrapper = ({\n field,\n fieldValues,\n children,\n onSubmit,\n className = \"\",\n}) => (\n <NeetoUIForm\n scrollToErrorField\n className={classnames(\"flex w-full\", className)}\n formikProps={{\n initialValues: getInitialFieldValue({\n field,\n fieldValues,\n isIndividualFieldForm: true,\n }),\n onSubmit,\n enableReinitialize: true,\n }}\n >\n {children}\n </NeetoUIForm>\n);\n\nexport default FieldValueInputWrapper;\n","import React from \"react\";\n\nimport classnames from \"classnames\";\nimport { noop } from \"neetocist\";\nimport { Spinner, Typography } from \"neetoui\";\nimport { isEmpty, isNil } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { getFieldInput, getNonSystemFields } from \"components/utils\";\nimport useFieldValues from \"hooks/useFieldValues\";\nimport { useFetchFields } from \"src/hooks/reactQuery/useFieldsApi\";\n\nimport BlockNavigationAlert from \"./BlockNavigation\";\nimport FieldValueInputWrapper from \"./FieldValueInputWrapper\";\n\nconst FieldValuesContainer = ({\n resourceType = \"\",\n fieldValues,\n fields: propFields,\n ownerId = \"\",\n resourceId,\n customComponents = {},\n className = \"\",\n showBorder = true,\n formRefs,\n disabled = false,\n isRequiredColumnName,\n fieldClassName,\n onMutationSuccess = noop,\n blockNavigation = false,\n blockNavigationAlertProps = {},\n}) => {\n const { t } = useTranslation();\n\n const queryOptions = { onSuccess: onMutationSuccess };\n\n const {\n data: { fields: fetchedFields = [] } = {},\n isLoading: isFieldsLoading,\n } = useFetchFields(\n {\n resourceType: isEmpty(resourceType) ? undefined : resourceType,\n ownerId: isEmpty(ownerId) ? undefined : ownerId,\n state: \"active\",\n },\n { enabled: isNil(propFields) }\n );\n\n const { handleSubmit, submittingFieldDetails } = useFieldValues({\n resourceId,\n resourceType,\n ownerId,\n queryOptions,\n });\n\n const fields = propFields || fetchedFields;\n\n return (\n <div\n className={classnames(\n \"space-y-3 py-3\",\n {\n \"neeto-ui-border-gray-300 neeto-ui-rounded-lg neeto-ui-bg-white border px-4 py-2\":\n showBorder,\n },\n className\n )}\n >\n {isFieldsLoading ? (\n <div className=\"flex items-center justify-center\">\n <Spinner />\n </div>\n ) : (\n getNonSystemFields(fields).map(field => {\n const Field = getFieldInput({ field, customComponents });\n\n if (Field) {\n return (\n <div\n className={classnames(fieldClassName, \"space-y-1\")}\n key={field.id}\n >\n <FieldValueInputWrapper\n {...{ field, fieldValues }}\n className={fieldClassName}\n onSubmit={values => handleSubmit(field, values)}\n >\n <div className=\"w-full\">\n <Field\n {...{\n ...field,\n disabled,\n formRefs,\n isRequiredColumnName,\n }}\n individualSubmit\n submissionStatus={\n submittingFieldDetails[field.id]?.status\n }\n />\n <BlockNavigationAlert\n {...{ blockNavigation, blockNavigationAlertProps }}\n />\n </div>\n </FieldValueInputWrapper>\n </div>\n );\n }\n\n return (\n <Typography key={field.id} style=\"body2\">\n {t(\"neetoFields.messages.invalidKind\")}\n </Typography>\n );\n })\n )}\n </div>\n );\n};\n\nexport default FieldValuesContainer;\n","import { findBy, isNotEmpty } from \"neetocist\";\nimport { dateFormat } from \"neetocommons/utils\";\n\nimport { KINDS } from \"components/FieldsDashBoard/constants\";\n\nimport { getValueFromBool } from \"../commons/FieldInputs/utils\";\n\nexport const renderDataAsText = (field, fieldValues) => {\n let fieldValueData = findBy({ fieldId: field.id }, fieldValues)?.data?.value;\n\n switch (field.kind) {\n case KINDS.date:\n return fieldValueData && dateFormat.date(fieldValueData);\n case KINDS.time:\n return fieldValueData && dateFormat.time(fieldValueData);\n case KINDS.datetime:\n return fieldValueData && dateFormat.dateTime(fieldValueData);\n case KINDS.dateRange:\n return (\n fieldValueData &&\n isNotEmpty(fieldValueData) &&\n `${dateFormat.date(fieldValueData[0])} - ${dateFormat.date(\n fieldValueData[1]\n )}`\n );\n case KINDS.timeRange:\n return (\n fieldValueData &&\n `${dateFormat.time(fieldValueData[0])} - ${dateFormat.time(\n fieldValueData[1]\n )}`\n );\n case KINDS.singleOption:\n return findBy({ id: fieldValueData }, field.data)?.label;\n case KINDS.multiOption:\n fieldValueData = findBy({ fieldId: field.id }, fieldValues)?.data?.values;\n\n return (\n fieldValueData &&\n fieldValueData\n .map(optionId => findBy({ id: optionId }, field.data)?.label)\n .join(\", \")\n );\n\n case KINDS.checkbox:\n return getValueFromBool(fieldValueData);\n\n default:\n return fieldValueData;\n }\n};\n","import React, { useState } from \"react\";\n\nimport classnames from \"classnames\";\nimport { noop } from \"neetocist\";\nimport { hyphenize } from \"neetocommons/utils\";\nimport { Typography } from \"neetoui\";\n\nimport FieldValueInputWrapper from \"components/FieldValuesContainer/FieldValueInputWrapper\";\nimport { getFieldInput } from \"components/utils\";\nimport useFieldValues from \"hooks/useFieldValues\";\n\nimport { DIRECT_EDIT_INPUT_FIELDS } from \"./constants\";\nimport { renderDataAsText } from \"./utils\";\n\nconst DefaultDisplayComponent = ({ value }) => (\n <Typography className=\"text-wrap\">{value}</Typography>\n);\n\nconst InlineFieldValueInput = ({\n field,\n fieldValues,\n resourceType,\n resourceId,\n ownerId = \"\",\n onMutationSuccess = noop,\n onMutate = noop,\n customDisplayComponents = {},\n}) => {\n const [editMode, setEditMode] = useState(false);\n\n const queryOptions = {\n onMutate: variables => onMutate(variables.payload || variables),\n onSuccess: (...params) => {\n setEditMode(false);\n onMutationSuccess(...params);\n },\n };\n\n const { handleSubmit } = useFieldValues({\n resourceId,\n resourceType,\n ownerId,\n queryOptions,\n });\n\n const Field = getFieldInput({ field });\n\n const fieldKind = field.kind;\n const isEditable =\n !field.isSystem &&\n (editMode || DIRECT_EDIT_INPUT_FIELDS.includes(fieldKind));\n\n const displayValue = renderDataAsText(field, fieldValues) || \"-\";\n const {\n props: customDisplayComponentProps = {},\n component: CustomDisplayComponent = null,\n } = customDisplayComponents[fieldKind] || {};\n\n const DisplayComponent = CustomDisplayComponent || DefaultDisplayComponent;\n\n return isEditable ? (\n <div data-cy={`inline-field-value-input-${hyphenize(field.name)}`}>\n <FieldValueInputWrapper\n {...{ field, fieldValues }}\n onSubmit={values => handleSubmit(field, values)}\n >\n <Field\n {...{ ...field }}\n individualSubmit\n isInline\n onBlur={() => setEditMode(false)}\n />\n </FieldValueInputWrapper>\n </div>\n ) : (\n <div\n className={classnames({ \"cursor-pointer\": !field.isSystem })}\n onClick={() => setEditMode(true)}\n >\n <DisplayComponent\n {...{ resourceId }}\n value={displayValue}\n {...customDisplayComponentProps}\n />\n </div>\n );\n};\n\nexport default InlineFieldValueInput;\n","var e=[],t=[];function n(n,r){if(n&&\"undefined\"!=typeof document){var a,s=!0===r.prepend?\"prepend\":\"append\",d=!0===r.singleTag,i=\"string\"==typeof r.container?document.querySelector(r.container):document.getElementsByTagName(\"head\")[0];if(d){var u=e.indexOf(i);-1===u&&(u=e.push(i)-1,t[u]={}),a=t[u]&&t[u][s]?t[u][s]:t[u][s]=c()}else a=c();65279===n.charCodeAt(0)&&(n=n.substring(1)),a.styleSheet?a.styleSheet.cssText+=n:a.appendChild(document.createTextNode(n))}function c(){var e=document.createElement(\"style\");if(e.setAttribute(\"type\",\"text/css\"),r.attributes)for(var t=Object.keys(r.attributes),n=0;n<t.length;n++)e.setAttribute(t[n],r.attributes[t[n]]);var a=\"prepend\"===s?\"afterbegin\":\"beforeend\";return i.insertAdjacentElement(a,e),e}}export{n as default};\n"],"names":["_typeof","toPrimitive","toPropertyKey","arrayLikeToArray","arrayWithoutHoles","iterableToArray","unsupportedIterableToArray","nonIterableSpread","NEETO_FIELDS_URL","FIELDS_URL","concat","FIELD_VALUES_URL","FIELD_VALUE_URL","FIELD_URL","DEPENDENCIES_URL","FIELDS_REORDER_URL","CONFIGS_URL","SUBMIT_FIELD_STATUS","SUBMITTING","SUCCESS","FAILED","arrayWithHoles","iterableToArrayLimit","nonIterableRest","objectWithoutPropertiesLoose","require$$0","KINDS","text","number","monetary","singleOption","multiOption","date","time","dateRange","timeRange","textarea","textArea","person","checkbox","regex","integer","decimal","datetime","DISPLAY_KINDS","t","single_option","multi_option","date_range","time_range","text_area","FIELD_STATES","active","inactive","DEFAULT_FIELD_STATE_TAXONOMY","ALL_KINDS","values","MENU_ITEMS","EDIT","DELETE","DIRECT_EDIT_INPUT_FIELDS","isDateTime","kind","includes","isDropdown","isTextType","dateSchema","yup","nullable","isValueEmpty","value","isEmpty","trim","isCheckboxUnchecked","isArrayEmpty","buildSchemaAllowingEmptyValue","schema","mixed","test","name","isNotEmpty","isNotNil","validateSync","buildSchemaForRequiredInputs","isNil","ValidationError","buildSchema","_ref","isRequired","getBasicValidationSchema","_ref2","fieldData","string","array","of","regexPattern","condition","matches","cleanedRegex","helpMessage","buildFieldValidationSchema","_ref3","regexCondition","patternMatchingExp","conditionFlags","match","conditionWithoutFlags","replace","sanitizedFlags","_toConsumableArray","Set","join","startsWith","endsWith","slice","RegExp","validateField","_ref5","_asyncToGenerator","_regeneratorRuntime","mark","_callee","_ref4","fieldValue","fieldName","wrap","_callee$","_context","prev","next","object","shape","_defineProperty","validate","abrupt","t0","errors","stop","_x","apply","arguments","dateTimeToString","dateTime","dayjs","toString","getValueFromBool","getComponentDisplayName","Component","displayName","useFormikFields","fieldId","id","data","individualSubmit","formRef","formRefs","disabled","_ref$isRequiredColumn","isRequiredColumnName","_ref$isInline","isInline","_ref$onBlur","onBlur","handleBlur","noop","_ref$hasMetadataWrapp","hasMetadataWrapper","props","_objectWithoutProperties","_excluded","formikContext","useFormikContext","submitForm","dirty","isSubmitting","fieldPath","escapeString","fieldValuePath","renameKeys","current","_useField","useField","_useField2","_slicedToArray","formikFieldProps","meta","helpers","debouncedSubmitForm","useFuncDebounce","handleSubmit","setValue","getBlurHandler","undefined","getValueForField","findBy","_value","map","optionId","useEffect","touched","setTouched","fieldProps","_objectSpread","error","label","capitalize","labelProps","required","autoFocus","options","getPopupContainer","prop","Checkbox","_useFormikFields","submissionStatus","_jsx","NeetoUICheckbox","checked","onChange","target","MetadataBlock","children","_jsxs","className","Label","hyphenize","htmlFor","Spinner","Check","size","WithMetadataBlock","withMetadataBlockWrapper","_props$isInline","_props$isRequiredColu","DateOrTime","_useState","useState","_useState2","isOpen","setIsOpen","useRef","_useFormikFields$fiel","handleChange","onOpenChange","open","shouldSubmit","notEquals","TimePicker","use12Hours","format","DatePicker","showTime","timeFormat","withMetadataBlock","MultiOption","Select","isMulti","isSearchable","strategy","selectedOptions","pluck","Number","Input","type","withOnClickOutsideWrapper","WithOnClickOutsideWrapper","ref","useOnClickOutside","enabled","DateRangePicker","TimeRangePicker","RangePicker","begin","end","SingleOption","isClearable","option","Text","handleKeyDown","event","key","shiftKey","preventDefault","handleFocus","element","length","setSelectionRange","Textarea","rows","style","resize","onFocus","onKeyDown","TextArea","standardComponents","TextInput","TextAreaInput","NumberInput","DateOrTimeInput","SingleOptionInput","MultiOptionInput","RangePickerInput","getFieldInput","field","_ref$customComponents","customComponents","removeItemsWithNullData","fieldValues","filter","item","removeNoiseFromValues","pick","transformValues","formikValues","fields","allFieldValues","clone","neetoFieldValues","forEach","push","cleanedFieldValues","pipe","fieldValuesAttributes","getDefaultInitialValue","getInitialFieldValue","_ref4$fieldValues","_ref4$isIndividualFie","isIndividualFieldForm","existingFieldValueData","keyInData","newFieldValueData","getAllInitialFieldValues","getNonSystemFields","mergeInitialValues","_ref7","initialValues","initialValue","mergeAll","omit","filterBy","isSystem","charCode","charCodeAt","neetoFieldsUtils","FieldInputs","withT","Field","Typography","fieldUrl","buildUrl","dependenciesUrl","fetch","resourceType","ownerId","state","filters","_ref$pageProps","pageProps","axios","get","params","create","payload","post","show","destroy","update","put","reorder","patch","dependencies","fieldsApi","QUERY_KEYS","FIELDS","FIELD_VALUES","CONFIGS","DEPENDENCIES","DEFAULT_STALE_TIME","useFetchFields","_ref$prefixQueryKeys","prefixQueryKeys","useQuery","queryKey","queryFn","staleTime","useCreateField","useMutationWithInvalidation","keysToInvalidate","useShowField","useFetchDependencies","useUpdateField","useDestroyField","useReorderFields","arrangeOptionsDisplayOrder","index","displayOrder","buildPayload","formValues","_ref$resourceType","_ref$ownerId","isRegex","isAdditionalDataNeeded","ADDITIONAL_DATA_NEEDED_FIELD_KINDS","getPermittedKinds","allowedKinds","selectedKind","filteredKinds","FIELD_KINDS","group","generateValidationSchema","additionalValidations","BASIC_FIELD_FORM_VALIDATIONS","renderFormFooter","onClose","loading","Pane","Footer","ActionBlock","cancelButtonProps","onClick","getDefaultOption","uuidv4","PERMITTED_REGEX_PATTERN","ADVANCED_REGEX_ASSERTION_PATTERN","regexValidationSchema","message","lastIndex","lastIndexOf","substring","search","_unused","dropDownOptionsValidationSchema","min","INITIAL_FIELDS","toLabelAndValue","DEFAULT_REGEX_DATA","when","is","then","AdditionalInputs","_useTranslation","useTranslation","_useFormikContext","_useFormikContext$val","removeOption","arrayHelpers","remove","addOption","_inputs","isMetaKeyPressed","form","inputs","querySelectorAll","currentIndex","indexOf","focus","stopPropagation","FieldArray","Array","isArray","_","placeholder","suffix","Button","icon","Delete","fullWidth","FieldForm","chosenKind","_ref$kindSelectOption","kindSelectOptions","_ref$isSystem","_ref$hideRequiredSwit","hideRequiredSwitch","initialFocusField","setFieldValue","handleKindChange","Body","isDisabled","Switch","component","Add","_ref$allowedKinds","onMutationSuccess","_useCreateField","onSuccess","createField","mutate","isPending","_Fragment","Header","Form","formikProps","validationSchema","onSubmit","Edit","_ref$additionalValida","_ref$initialValues","_useShowField","_useShowField$data","_useShowField$data2","_useShowField$data2$f","isLoading","_useUpdateField","_len","args","_key","updateField","PageLoader","assoc","enableReinitialize","permittedKinds","FieldsPane","_ref$selectedField","selectedField","initialFocusRef","require","this","getMenuItems","onDeleteClick","onEditClick","isVisible","not","buildDefaultColumns","dataIndex","title","width","render","MoreDropdown","dropdownProps","menuItems","dropdownButtonProps","boolVal","renderMenuBarItems","items","isOwnerBased","selectedMenu","handleBlockClick","nameAliases","toLocaleLowerCase","MenuBar","Item","slugify","humanize","description","resource","itemLabel","renderStateFilterTabs","selectedState","fieldStatesTaxonomy","activeFieldsCount","inactiveFieldsCount","Tab","getResourceName","_ref6","_findBy2","selectedVal","_findBy","selectedName","getDashBoardTitle","resourceName","isSingleResource","displayTitle","renderNoDataHelpText","url","Trans","i18nKey","components","a","Link","to","pathname","getDeletionConfirmationMessage","_ref8","affectedResourcesCount","pluralize","count","fetchConfigs","configsApi","useFetchConfigs","useFieldsDashboard","buildColumnData","resources","showStateFilter","isPaneOpen","setIsPaneOpen","_useState3","_useState4","isDeleteAlertOpen","setIsDeleteAlertOpen","_useState5","_useState6","isReorderPaneOpen","setIsReorderPaneOpen","_useState7","_useState8","setSelectedField","_useState9","page","DEFAULT_PAGE_INDEX","pageSize","DEFAULT_PAGE_SIZE","_useState10","setPageProps","_useQueryParams","useQueryParams","searchTerm","history","useHistory","searchKeywordProps","node","_useFetchConfigs","_useFetchConfigs$data","_useFetchConfigs$data2","_useFetchConfigs$data3","owners","_useFetchConfigs$data4","resourceTypes","isConfigsLoading","useMemo","buildFiltersFromURL","fieldParams","_useFetchFields","keepPreviousData","_useFetchFields$data","_useFetchFields$data2","_useFetchFields$data3","reorderable","isFieldsLoading","isFieldsFetching","isFetching","isFieldsFetched","isFetched","_useDestroyField","deleteField","isDeleting","handleDelete","handleClosePane","handleEditButtonClick","handleDeleteButtonClick","handleAlertClose","handleReorderPaneClose","defaultColumns","columnData","handleMetaClick","handleURLWithDefaultValues","queryParams","_menuItems$","_menuItems$2","any","isScreenLoading","showCountSubheader","searchInputProps","isMenuBarNeeded","isSearchBarNeeded","headerDisplayTitle","stateFilterTabs","menuBarItems","DeleteAlert","resourceTypeName","_useFetchDependencies","_useFetchDependencies2","_useFetchDependencies3","Alert","submitButtonLabel","FieldsTable","totalCount","rowData","helpDocUrl","showNoDataScreen","_getQueryParams","getQueryParams","noDataProps","helpText","primaryButtonProps","TableWrapper","NoData","Table","fixedHeight","allowRowClick","currentPageNumber","defaultPageSize","handlePageChange","breadcrumbs","helpDescription","actionBlockProps","NeetoUIHeader","actionBlock","searchProps","HelpPopover","helpLinkProps","href","Menubar","NeetoUIMenuBar","showMenu","useLayoutEffect","useCallback","React","createContext","useContext","createPortal","useReducer","memo","unstable_batchedUpdates","ID_PREFIX","ID_PREFIX$1","FieldBlock","systemFieldsCount","countBy","_useSortable","useSortable","attributes","listeners","setNodeRef","transform","CSS","Transform","Reorder","ReorderPane","setFields","initialStateRef","_useReorderFields","reorderField","allFields","handleDragEnd","over","arrayMove","handleReorderSave","weight","DndContext","collisionDetection","closestCenter","onDragEnd","SortableContext","verticalListSortingStrategy","_createElement","Subheader","NeetoUISubHeader","leftActionBlock","FilterBar","keyword","FieldsDashboard","_ref$rowData","_ref$showOwnersInMenu","showOwnersInMenu","paneProps","_ref$buildColumnData","_ref2$defaultColumns","_ref$breadcrumbs","_ref$showStateFilter","_ref$fieldStatesTaxon","_ref$nameAliases","headerTitle","_ref$headerSize","headerSize","PLURAL","_useFieldsDashboard","headerProps","showSubheader","isPresent","Container","validations","isFieldValueEmpty","fieldKind","fieldValueData","fieldValueUrl","fieldValueId","fieldValuesApi","useCreateFieldValue","useUpdateFieldValue","useDeleteFieldValue","useFieldValues","resourceId","_ref$queryOptions","queryOptions","submittingFieldDetails","setSubmittingFieldDetails","_response$fieldValue","_queryOptions$onSucce","callbackArguments","_callbackArguments$","response","status","call","onMutationError","_payload$payload","_queryOptions$onError","_len2","_key2","_callbackArguments$2","onError","onSettled","_response$fieldValue2","_request$payload","_queryOptions$onSettl","_len3","_key3","_callbackArguments$3","_callbackArguments$4","request","setTimeout","updatedQueryOptions","_useCreateFieldValue","createFieldValue","_useUpdateFieldValue","updateFieldValue","_useDeleteFieldValue","deleteFieldValue","head","getValues","DEAFULT_BLOCK_NAVIGATION_ALERT_PROPS","cancelButtonLabel","BlockNavigation","blockNavigation","blockNavigationAlertProps","_useNavPrompt","useNavPrompt","shouldBlock","blocked","hidePrompt","navigate","alertProps","FieldValueInputWrapper","_ref$className","NeetoUIForm","scrollToErrorField","classnames","FieldValuesContainer","propFields","_ref$showBorder","showBorder","_ref$disabled","fieldClassName","_ref$onMutationSucces","_ref$blockNavigation","_ref$blockNavigationA","fetchedFields","_useFieldValues","_submittingFieldDetai","BlockNavigationAlert","renderDataAsText","_findBy3","dateFormat","_findBy4","DefaultDisplayComponent","InlineFieldValueInput","_ref2$ownerId","_ref2$onMutationSucce","_ref2$onMutate","onMutate","_ref2$customDisplayCo","customDisplayComponents","editMode","setEditMode","variables","isEditable","displayValue","_ref3$props","customDisplayComponentProps","_ref3$component","CustomDisplayComponent","DisplayComponent"],"mappings":"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"}