{"version":3,"sources":["webpack:///./node_modules/@ionic/core/dist/esm-es5/haptic-c8f1473e.js","webpack:///./node_modules/@ionic/core/dist/esm-es5/ion-reorder_2-md.entry.js"],"names":["hapticSelection","engine","window","TapticEngine","selection","hapticSelectionStart","gestureSelectionStart","hapticSelectionChanged","gestureSelectionChanged","hapticSelectionEnd","gestureSelectionEnd","Reorder","prototype","onClick","ev","preventDefault","stopImmediatePropagation","render","class","this","name","lazy","Object","defineProperty","get","enumerable","configurable","hostRef","class_1","disabledChanged","gesture","setDisabled","disabled","connectedCallback","contentEl","_a","_b","_this","_c","label","el","closest","getScrollElement","scrollEl","sent","createGesture","gestureName","gesturePriority","threshold","direction","passive","canStart","detail","onStart","onMove","onEnd","disconnectedCallback","destroy","undefined","complete","listOrReorder","Promise","resolve","completeSync","item","selectedItemEl","state","reorderEl","event","target","findReorderItem","data","heights","cachedHeights","length","children","sum","i","child","offsetHeight","push","$ionIndex","box","getBoundingClientRect","containerTop","top","containerBottom","bottom","scrollBox","scrollElInitial","scrollTop","scrollElTop","AUTO_SCROLL_MARGIN","scrollElBottom","lastToIndex","indexForItem","selectedItemHeight","classList","add","ITEM_REORDER_SELECTED","deltaY","fromIndex","selectedItem","scroll","autoscroll","currentY","Math","max","min","startY","toIndex","itemIndexForTop","reorderMove","style","transform","ionItemReorder","emit","from","to","bind","ref","len","insertBefore","Array","isArray","reorderArray","transition","remove","itemHeight","value","posY","amount","SCROLL_JUMP","scrollBy","mode","ReorderGroup","element","node","container","parent","parentElement","array","splice","slice"],"mappings":"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","file":"js/chunk-524b3904.6dfeda64.js","sourcesContent":["/**\n * Check to see if the Haptic Plugin is available\n * @return Returns `true` or false if the plugin is available\n */\n/**\n * Trigger a selection changed haptic event. Good for one-time events\n * (not for gestures)\n */\nvar hapticSelection = function () {\n var engine = window.TapticEngine;\n if (engine) {\n engine.selection();\n }\n};\n/**\n * Tell the haptic engine that a gesture for a selection change is starting.\n */\nvar hapticSelectionStart = function () {\n var engine = window.TapticEngine;\n if (engine) {\n engine.gestureSelectionStart();\n }\n};\n/**\n * Tell the haptic engine that a selection changed during a gesture.\n */\nvar hapticSelectionChanged = function () {\n var engine = window.TapticEngine;\n if (engine) {\n engine.gestureSelectionChanged();\n }\n};\n/**\n * Tell the haptic engine we are done with a gesture. This needs to be\n * called lest resources are not properly recycled.\n */\nvar hapticSelectionEnd = function () {\n var engine = window.TapticEngine;\n if (engine) {\n engine.gestureSelectionEnd();\n }\n};\nexport { hapticSelectionStart as a, hapticSelectionChanged as b, hapticSelectionEnd as c, hapticSelection as h };\n","import { __awaiter, __generator } from \"tslib\";\nimport { r as registerInstance, h, c as getIonMode, H as Host, d as createEvent, e as getElement } from './core-feeeff0d.js';\nimport './config-3c7f3790.js';\nimport { a as hapticSelectionStart, b as hapticSelectionChanged, c as hapticSelectionEnd } from './haptic-c8f1473e.js';\nvar Reorder = /** @class */ (function () {\n function Reorder(hostRef) {\n registerInstance(this, hostRef);\n }\n Reorder.prototype.onClick = function (ev) {\n ev.preventDefault();\n ev.stopImmediatePropagation();\n };\n Reorder.prototype.render = function () {\n return (h(Host, { class: getIonMode(this) }, h(\"slot\", null, h(\"ion-icon\", { name: \"reorder\", lazy: false, class: \"reorder-icon\" }))));\n };\n Object.defineProperty(Reorder, \"style\", {\n get: function () { return \":host([slot]){display:none;line-height:0;z-index:100}.reorder-icon{display:block;font-size:22px;font-size:31px;opacity:.3}\"; },\n enumerable: true,\n configurable: true\n });\n return Reorder;\n}());\nvar ReorderGroup = /** @class */ (function () {\n function class_1(hostRef) {\n registerInstance(this, hostRef);\n this.lastToIndex = -1;\n this.cachedHeights = [];\n this.scrollElTop = 0;\n this.scrollElBottom = 0;\n this.scrollElInitial = 0;\n this.containerTop = 0;\n this.containerBottom = 0;\n this.state = 0 /* Idle */;\n /**\n * If `true`, the reorder will be hidden.\n */\n this.disabled = true;\n this.ionItemReorder = createEvent(this, \"ionItemReorder\", 7);\n }\n class_1.prototype.disabledChanged = function () {\n if (this.gesture) {\n this.gesture.setDisabled(this.disabled);\n }\n };\n class_1.prototype.connectedCallback = function () {\n return __awaiter(this, void 0, void 0, function () {\n var contentEl, _a, _b;\n var _this = this;\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n contentEl = this.el.closest('ion-content');\n if (!contentEl) return [3 /*break*/, 2];\n _a = this;\n return [4 /*yield*/, contentEl.getScrollElement()];\n case 1:\n _a.scrollEl = _c.sent();\n _c.label = 2;\n case 2:\n _b = this;\n return [4 /*yield*/, import('./index-624eea58.js')];\n case 3:\n _b.gesture = (_c.sent()).createGesture({\n el: this.el,\n gestureName: 'reorder',\n gesturePriority: 110,\n threshold: 0,\n direction: 'y',\n passive: false,\n canStart: function (detail) { return _this.canStart(detail); },\n onStart: function (ev) { return _this.onStart(ev); },\n onMove: function (ev) { return _this.onMove(ev); },\n onEnd: function () { return _this.onEnd(); },\n });\n this.disabledChanged();\n return [2 /*return*/];\n }\n });\n });\n };\n class_1.prototype.disconnectedCallback = function () {\n this.onEnd();\n if (this.gesture) {\n this.gesture.destroy();\n this.gesture = undefined;\n }\n };\n /**\n * Completes the reorder operation. Must be called by the `ionItemReorder` event.\n *\n * If a list of items is passed, the list will be reordered and returned in the\n * proper order.\n *\n * If no parameters are passed or if `true` is passed in, the reorder will complete\n * and the item will remain in the position it was dragged to. If `false` is passed,\n * the reorder will complete and the item will bounce back to its original position.\n *\n * @param listOrReorder A list of items to be sorted and returned in the new order or a\n * boolean of whether or not the reorder should reposition the item.\n */\n class_1.prototype.complete = function (listOrReorder) {\n return Promise.resolve(this.completeSync(listOrReorder));\n };\n class_1.prototype.canStart = function (ev) {\n if (this.selectedItemEl || this.state !== 0 /* Idle */) {\n return false;\n }\n var target = ev.event.target;\n var reorderEl = target.closest('ion-reorder');\n if (!reorderEl) {\n return false;\n }\n var item = findReorderItem(reorderEl, this.el);\n if (!item) {\n return false;\n }\n ev.data = item;\n return true;\n };\n class_1.prototype.onStart = function (ev) {\n ev.event.preventDefault();\n var item = this.selectedItemEl = ev.data;\n var heights = this.cachedHeights;\n heights.length = 0;\n var el = this.el;\n var children = el.children;\n if (!children || children.length === 0) {\n return;\n }\n var sum = 0;\n for (var i = 0; i < children.length; i++) {\n var child = children[i];\n sum += child.offsetHeight;\n heights.push(sum);\n child.$ionIndex = i;\n }\n var box = el.getBoundingClientRect();\n this.containerTop = box.top;\n this.containerBottom = box.bottom;\n if (this.scrollEl) {\n var scrollBox = this.scrollEl.getBoundingClientRect();\n this.scrollElInitial = this.scrollEl.scrollTop;\n this.scrollElTop = scrollBox.top + AUTO_SCROLL_MARGIN;\n this.scrollElBottom = scrollBox.bottom - AUTO_SCROLL_MARGIN;\n }\n else {\n this.scrollElInitial = 0;\n this.scrollElTop = 0;\n this.scrollElBottom = 0;\n }\n this.lastToIndex = indexForItem(item);\n this.selectedItemHeight = item.offsetHeight;\n this.state = 1 /* Active */;\n item.classList.add(ITEM_REORDER_SELECTED);\n hapticSelectionStart();\n };\n class_1.prototype.onMove = function (ev) {\n var selectedItem = this.selectedItemEl;\n if (!selectedItem) {\n return;\n }\n // Scroll if we reach the scroll margins\n var scroll = this.autoscroll(ev.currentY);\n // // Get coordinate\n var top = this.containerTop - scroll;\n var bottom = this.containerBottom - scroll;\n var currentY = Math.max(top, Math.min(ev.currentY, bottom));\n var deltaY = scroll + currentY - ev.startY;\n var normalizedY = currentY - top;\n var toIndex = this.itemIndexForTop(normalizedY);\n if (toIndex !== this.lastToIndex) {\n var fromIndex = indexForItem(selectedItem);\n this.lastToIndex = toIndex;\n hapticSelectionChanged();\n this.reorderMove(fromIndex, toIndex);\n }\n // Update selected item position\n selectedItem.style.transform = \"translateY(\" + deltaY + \"px)\";\n };\n class_1.prototype.onEnd = function () {\n var selectedItemEl = this.selectedItemEl;\n this.state = 2 /* Complete */;\n if (!selectedItemEl) {\n this.state = 0 /* Idle */;\n return;\n }\n var toIndex = this.lastToIndex;\n var fromIndex = indexForItem(selectedItemEl);\n if (toIndex === fromIndex) {\n this.completeSync();\n }\n else {\n this.ionItemReorder.emit({\n from: fromIndex,\n to: toIndex,\n complete: this.completeSync.bind(this)\n });\n }\n hapticSelectionEnd();\n };\n class_1.prototype.completeSync = function (listOrReorder) {\n var selectedItemEl = this.selectedItemEl;\n if (selectedItemEl && this.state === 2 /* Complete */) {\n var children = this.el.children;\n var len = children.length;\n var toIndex = this.lastToIndex;\n var fromIndex = indexForItem(selectedItemEl);\n if (toIndex !== fromIndex && (!listOrReorder || listOrReorder === true)) {\n var ref = (fromIndex < toIndex)\n ? children[toIndex + 1]\n : children[toIndex];\n this.el.insertBefore(selectedItemEl, ref);\n }\n if (Array.isArray(listOrReorder)) {\n listOrReorder = reorderArray(listOrReorder, fromIndex, toIndex);\n }\n for (var i = 0; i < len; i++) {\n children[i].style['transform'] = '';\n }\n selectedItemEl.style.transition = '';\n selectedItemEl.classList.remove(ITEM_REORDER_SELECTED);\n this.selectedItemEl = undefined;\n this.state = 0 /* Idle */;\n }\n return listOrReorder;\n };\n class_1.prototype.itemIndexForTop = function (deltaY) {\n var heights = this.cachedHeights;\n var i = 0;\n // TODO: since heights is a sorted array of integers, we can do\n // speed up the search using binary search. Remember that linear-search is still\n // faster than binary-search for small arrays (<64) due CPU branch misprediction.\n for (i = 0; i < heights.length; i++) {\n if (heights[i] > deltaY) {\n break;\n }\n }\n return i;\n };\n /********* DOM WRITE ********* */\n class_1.prototype.reorderMove = function (fromIndex, toIndex) {\n var itemHeight = this.selectedItemHeight;\n var children = this.el.children;\n for (var i = 0; i < children.length; i++) {\n var style = children[i].style;\n var value = '';\n if (i > fromIndex && i <= toIndex) {\n value = \"translateY(\" + -itemHeight + \"px)\";\n }\n else if (i < fromIndex && i >= toIndex) {\n value = \"translateY(\" + itemHeight + \"px)\";\n }\n style['transform'] = value;\n }\n };\n class_1.prototype.autoscroll = function (posY) {\n if (!this.scrollEl) {\n return 0;\n }\n var amount = 0;\n if (posY < this.scrollElTop) {\n amount = -SCROLL_JUMP;\n }\n else if (posY > this.scrollElBottom) {\n amount = SCROLL_JUMP;\n }\n if (amount !== 0) {\n this.scrollEl.scrollBy(0, amount);\n }\n return this.scrollEl.scrollTop - this.scrollElInitial;\n };\n class_1.prototype.render = function () {\n var _a;\n var mode = getIonMode(this);\n return (h(Host, { class: (_a = {},\n _a[mode] = true,\n _a['reorder-enabled'] = !this.disabled,\n _a['reorder-list-active'] = this.state !== 0 /* Idle */,\n _a) }));\n };\n Object.defineProperty(class_1.prototype, \"el\", {\n get: function () { return getElement(this); },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(class_1, \"watchers\", {\n get: function () {\n return {\n \"disabled\": [\"disabledChanged\"]\n };\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(class_1, \"style\", {\n get: function () { return \".reorder-list-active>*{-webkit-transition:-webkit-transform .3s;transition:-webkit-transform .3s;transition:transform .3s;transition:transform .3s,-webkit-transform .3s;will-change:transform}.reorder-enabled{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.reorder-enabled ion-reorder{display:block;cursor:-webkit-grab;cursor:grab;pointer-events:all;-ms-touch-action:none;touch-action:none}.reorder-selected,.reorder-selected ion-reorder{cursor:-webkit-grabbing;cursor:grabbing}.reorder-selected{position:relative;-webkit-transition:none!important;transition:none!important;-webkit-box-shadow:0 0 10px rgba(0,0,0,.4);box-shadow:0 0 10px rgba(0,0,0,.4);opacity:.8;z-index:100}.reorder-visible ion-reorder .reorder-icon{-webkit-transform:translateZ(0);transform:translateZ(0)}\"; },\n enumerable: true,\n configurable: true\n });\n return class_1;\n}());\nvar indexForItem = function (element) {\n return element['$ionIndex'];\n};\nvar findReorderItem = function (node, container) {\n var parent;\n while (node) {\n parent = node.parentElement;\n if (parent === container) {\n return node;\n }\n node = parent;\n }\n return undefined;\n};\nvar AUTO_SCROLL_MARGIN = 60;\nvar SCROLL_JUMP = 10;\nvar ITEM_REORDER_SELECTED = 'reorder-selected';\nvar reorderArray = function (array, from, to) {\n var element = array[from];\n array.splice(from, 1);\n array.splice(to, 0, element);\n return array.slice();\n};\nexport { Reorder as ion_reorder, ReorderGroup as ion_reorder_group };\n"],"sourceRoot":""}