Files
WrenchBoardIonic2023/.angular/cache/14.2.0/babel-webpack/c1081dea9ce09bff35254bf17036e20f.json
T
CHIEFSOFT\ameye cea49e295a first commit
2023-05-12 22:30:08 -04:00

1 line
76 KiB
JSON

{"ast":null,"code":"import _asyncToGenerator from \"D:/MobileDev/WRB/WrenchBoard2023a/node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js\";\n\n/*!\n * (C) Ionic http://ionicframework.com - MIT License\n */\nimport { r as registerInstance, h, H as Host, i as getElement, e as createEvent } from './index-1a99aeb7.js';\nimport { b as getIonMode } from './ionic-global-04e268e7.js';\nimport { c as createColorClasses } from './theme-7670341c.js';\nimport { o as isEndSide } from './helpers-4d272360.js';\nimport { f as findClosestIonContent, d as disableContentScrollY, r as resetContentScrollY } from './index-3413f7be.js';\nimport './index-c4b11676.js';\nconst itemOptionIosCss = \":host{--background:var(--ion-color-primary, #3880ff);--color:var(--ion-color-primary-contrast, #fff);background:var(--background);color:var(--color);font-family:var(--ion-font-family, inherit)}:host(.in-list.item-options-end:last-child){padding-right:calc(0.7em + var(--ion-safe-area-right))}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){:host(.in-list.item-options-end:last-child){padding-right:unset;-webkit-padding-end:calc(0.7em + var(--ion-safe-area-right));padding-inline-end:calc(0.7em + var(--ion-safe-area-right))}}:host(.in-list.item-options-start:first-child){padding-left:calc(0.7em + var(--ion-safe-area-left))}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){:host(.in-list.item-options-start:first-child){padding-left:unset;-webkit-padding-start:calc(0.7em + var(--ion-safe-area-left));padding-inline-start:calc(0.7em + var(--ion-safe-area-left))}}:host(.ion-color){background:var(--ion-color-base);color:var(--ion-color-contrast)}.button-native{font-family:inherit;font-size:inherit;font-style:inherit;font-weight:inherit;letter-spacing:inherit;text-decoration:inherit;text-indent:inherit;text-overflow:inherit;text-transform:inherit;text-align:inherit;white-space:inherit;color:inherit;padding-left:0.7em;padding-right:0.7em;padding-top:0;padding-bottom:0;display:inline-block;position:relative;width:100%;height:100%;border:0;outline:none;background:transparent;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;-webkit-box-sizing:border-box;box-sizing:border-box}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.button-native{padding-left:unset;padding-right:unset;-webkit-padding-start:0.7em;padding-inline-start:0.7em;-webkit-padding-end:0.7em;padding-inline-end:0.7em}}.button-inner{display:-ms-flexbox;display:flex;-ms-flex-flow:column nowrap;flex-flow:column nowrap;-ms-flex-negative:0;flex-shrink:0;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;width:100%;height:100%}.horizontal-wrapper{display:-ms-flexbox;display:flex;-ms-flex-flow:row nowrap;flex-flow:row nowrap;-ms-flex-negative:0;flex-shrink:0;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;width:100%}::slotted(*){-ms-flex-negative:0;flex-shrink:0}::slotted([slot=start]){margin-left:0;margin-right:5px;margin-top:0;margin-bottom:0}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){::slotted([slot=start]){margin-left:unset;margin-right:unset;-webkit-margin-start:0;margin-inline-start:0;-webkit-margin-end:5px;margin-inline-end:5px}}::slotted([slot=end]){margin-left:5px;margin-right:0;margin-top:0;margin-bottom:0}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){::slotted([slot=end]){margin-left:unset;margin-right:unset;-webkit-margin-start:5px;margin-inline-start:5px;-webkit-margin-end:0;margin-inline-end:0}}::slotted([slot=icon-only]){padding-left:0;padding-right:0;padding-top:0;padding-bottom:0;margin-left:10px;margin-right:10px;margin-top:0;margin-bottom:0;min-width:0.9em;font-size:1.8em}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){::slotted([slot=icon-only]){margin-left:unset;margin-right:unset;-webkit-margin-start:10px;margin-inline-start:10px;-webkit-margin-end:10px;margin-inline-end:10px}}:host(.item-option-expandable){-ms-flex-negative:0;flex-shrink:0;-webkit-transition-duration:0;transition-duration:0;-webkit-transition-property:none;transition-property:none;-webkit-transition-timing-function:cubic-bezier(0.65, 0.05, 0.36, 1);transition-timing-function:cubic-bezier(0.65, 0.05, 0.36, 1)}:host(.item-option-disabled){pointer-events:none}:host(.item-option-disabled) .button-native{cursor:default;opacity:0.5;pointer-events:none}:host{font-size:16px}:host(.ion-activated){background:var(--ion-color-primary-shade, #3171e0)}:host(.ion-color.ion-activated){background:var(--ion-color-shade)}\";\nconst itemOptionMdCss = \":host{--background:var(--ion-color-primary, #3880ff);--color:var(--ion-color-primary-contrast, #fff);background:var(--background);color:var(--color);font-family:var(--ion-font-family, inherit)}:host(.in-list.item-options-end:last-child){padding-right:calc(0.7em + var(--ion-safe-area-right))}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){:host(.in-list.item-options-end:last-child){padding-right:unset;-webkit-padding-end:calc(0.7em + var(--ion-safe-area-right));padding-inline-end:calc(0.7em + var(--ion-safe-area-right))}}:host(.in-list.item-options-start:first-child){padding-left:calc(0.7em + var(--ion-safe-area-left))}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){:host(.in-list.item-options-start:first-child){padding-left:unset;-webkit-padding-start:calc(0.7em + var(--ion-safe-area-left));padding-inline-start:calc(0.7em + var(--ion-safe-area-left))}}:host(.ion-color){background:var(--ion-color-base);color:var(--ion-color-contrast)}.button-native{font-family:inherit;font-size:inherit;font-style:inherit;font-weight:inherit;letter-spacing:inherit;text-decoration:inherit;text-indent:inherit;text-overflow:inherit;text-transform:inherit;text-align:inherit;white-space:inherit;color:inherit;padding-left:0.7em;padding-right:0.7em;padding-top:0;padding-bottom:0;display:inline-block;position:relative;width:100%;height:100%;border:0;outline:none;background:transparent;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;-webkit-box-sizing:border-box;box-sizing:border-box}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.button-native{padding-left:unset;padding-right:unset;-webkit-padding-start:0.7em;padding-inline-start:0.7em;-webkit-padding-end:0.7em;padding-inline-end:0.7em}}.button-inner{display:-ms-flexbox;display:flex;-ms-flex-flow:column nowrap;flex-flow:column nowrap;-ms-flex-negative:0;flex-shrink:0;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;width:100%;height:100%}.horizontal-wrapper{display:-ms-flexbox;display:flex;-ms-flex-flow:row nowrap;flex-flow:row nowrap;-ms-flex-negative:0;flex-shrink:0;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;width:100%}::slotted(*){-ms-flex-negative:0;flex-shrink:0}::slotted([slot=start]){margin-left:0;margin-right:5px;margin-top:0;margin-bottom:0}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){::slotted([slot=start]){margin-left:unset;margin-right:unset;-webkit-margin-start:0;margin-inline-start:0;-webkit-margin-end:5px;margin-inline-end:5px}}::slotted([slot=end]){margin-left:5px;margin-right:0;margin-top:0;margin-bottom:0}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){::slotted([slot=end]){margin-left:unset;margin-right:unset;-webkit-margin-start:5px;margin-inline-start:5px;-webkit-margin-end:0;margin-inline-end:0}}::slotted([slot=icon-only]){padding-left:0;padding-right:0;padding-top:0;padding-bottom:0;margin-left:10px;margin-right:10px;margin-top:0;margin-bottom:0;min-width:0.9em;font-size:1.8em}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){::slotted([slot=icon-only]){margin-left:unset;margin-right:unset;-webkit-margin-start:10px;margin-inline-start:10px;-webkit-margin-end:10px;margin-inline-end:10px}}:host(.item-option-expandable){-ms-flex-negative:0;flex-shrink:0;-webkit-transition-duration:0;transition-duration:0;-webkit-transition-property:none;transition-property:none;-webkit-transition-timing-function:cubic-bezier(0.65, 0.05, 0.36, 1);transition-timing-function:cubic-bezier(0.65, 0.05, 0.36, 1)}:host(.item-option-disabled){pointer-events:none}:host(.item-option-disabled) .button-native{cursor:default;opacity:0.5;pointer-events:none}:host{font-size:14px;font-weight:500;text-transform:uppercase}\";\nconst ItemOption = class {\n constructor(hostRef) {\n registerInstance(this, hostRef);\n /**\n * If `true`, the user cannot interact with the item option.\n */\n\n this.disabled = false;\n /**\n * If `true`, the option will expand to take up the available width and cover any other options.\n */\n\n this.expandable = false;\n /**\n * The type of the button.\n */\n\n this.type = 'button';\n\n this.onClick = ev => {\n const el = ev.target.closest('ion-item-option');\n\n if (el) {\n ev.preventDefault();\n }\n };\n }\n\n render() {\n const {\n disabled,\n expandable,\n href\n } = this;\n const TagType = href === undefined ? 'button' : 'a';\n const mode = getIonMode(this);\n const attrs = TagType === 'button' ? {\n type: this.type\n } : {\n download: this.download,\n href: this.href,\n target: this.target\n };\n return h(Host, {\n onClick: this.onClick,\n class: createColorClasses(this.color, {\n [mode]: true,\n 'item-option-disabled': disabled,\n 'item-option-expandable': expandable,\n 'ion-activatable': true\n })\n }, h(TagType, Object.assign({}, attrs, {\n class: \"button-native\",\n part: \"native\",\n disabled: disabled\n }), h(\"span\", {\n class: \"button-inner\"\n }, h(\"slot\", {\n name: \"top\"\n }), h(\"div\", {\n class: \"horizontal-wrapper\"\n }, h(\"slot\", {\n name: \"start\"\n }), h(\"slot\", {\n name: \"icon-only\"\n }), h(\"slot\", null), h(\"slot\", {\n name: \"end\"\n })), h(\"slot\", {\n name: \"bottom\"\n })), mode === 'md' && h(\"ion-ripple-effect\", null)));\n }\n\n get el() {\n return getElement(this);\n }\n\n};\nItemOption.style = {\n ios: itemOptionIosCss,\n md: itemOptionMdCss\n};\nconst itemOptionsIosCss = \"ion-item-options{top:0;right:0;-ms-flex-pack:end;justify-content:flex-end;display:none;position:absolute;height:100%;font-size:14px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;z-index:1}[dir=rtl] ion-item-options,:host-context([dir=rtl]) ion-item-options{-ms-flex-pack:start;justify-content:flex-start}[dir=rtl] ion-item-options:not(.item-options-end),:host-context([dir=rtl]) ion-item-options:not(.item-options-end){right:auto;left:0;-ms-flex-pack:end;justify-content:flex-end}.item-options-start{right:auto;left:0;-ms-flex-pack:start;justify-content:flex-start}[dir=rtl] .item-options-start,:host-context([dir=rtl]) .item-options-start{-ms-flex-pack:end;justify-content:flex-end}.item-options-start ion-item-option:first-child{padding-right:var(--ion-safe-area-left)}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.item-options-start ion-item-option:first-child{padding-right:unset;-webkit-padding-end:var(--ion-safe-area-left);padding-inline-end:var(--ion-safe-area-left)}}.item-options-end ion-item-option:last-child{padding-right:var(--ion-safe-area-right)}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.item-options-end ion-item-option:last-child{padding-right:unset;-webkit-padding-end:var(--ion-safe-area-right);padding-inline-end:var(--ion-safe-area-right)}}[dir=rtl] .item-sliding-active-slide.item-sliding-active-options-start ion-item-options:not(.item-options-end),:host-context([dir=rtl]) .item-sliding-active-slide.item-sliding-active-options-start ion-item-options:not(.item-options-end){width:100%;visibility:visible}.item-sliding-active-slide ion-item-options{display:-ms-flexbox;display:flex;visibility:hidden}.item-sliding-active-slide.item-sliding-active-options-start .item-options-start,.item-sliding-active-slide.item-sliding-active-options-end ion-item-options:not(.item-options-start){width:100%;visibility:visible}.item-options-ios{border-bottom-width:0;border-bottom-style:solid;border-bottom-color:var(--ion-item-border-color, var(--ion-border-color, var(--ion-color-step-250, #c8c7cc)))}.item-options-ios.item-options-end{border-bottom-width:0.55px}.list-ios-lines-none .item-options-ios{border-bottom-width:0}.list-ios-lines-full .item-options-ios,.list-ios-lines-inset .item-options-ios.item-options-end{border-bottom-width:0.55px}\";\nconst itemOptionsMdCss = \"ion-item-options{top:0;right:0;-ms-flex-pack:end;justify-content:flex-end;display:none;position:absolute;height:100%;font-size:14px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;z-index:1}[dir=rtl] ion-item-options,:host-context([dir=rtl]) ion-item-options{-ms-flex-pack:start;justify-content:flex-start}[dir=rtl] ion-item-options:not(.item-options-end),:host-context([dir=rtl]) ion-item-options:not(.item-options-end){right:auto;left:0;-ms-flex-pack:end;justify-content:flex-end}.item-options-start{right:auto;left:0;-ms-flex-pack:start;justify-content:flex-start}[dir=rtl] .item-options-start,:host-context([dir=rtl]) .item-options-start{-ms-flex-pack:end;justify-content:flex-end}.item-options-start ion-item-option:first-child{padding-right:var(--ion-safe-area-left)}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.item-options-start ion-item-option:first-child{padding-right:unset;-webkit-padding-end:var(--ion-safe-area-left);padding-inline-end:var(--ion-safe-area-left)}}.item-options-end ion-item-option:last-child{padding-right:var(--ion-safe-area-right)}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.item-options-end ion-item-option:last-child{padding-right:unset;-webkit-padding-end:var(--ion-safe-area-right);padding-inline-end:var(--ion-safe-area-right)}}[dir=rtl] .item-sliding-active-slide.item-sliding-active-options-start ion-item-options:not(.item-options-end),:host-context([dir=rtl]) .item-sliding-active-slide.item-sliding-active-options-start ion-item-options:not(.item-options-end){width:100%;visibility:visible}.item-sliding-active-slide ion-item-options{display:-ms-flexbox;display:flex;visibility:hidden}.item-sliding-active-slide.item-sliding-active-options-start .item-options-start,.item-sliding-active-slide.item-sliding-active-options-end ion-item-options:not(.item-options-start){width:100%;visibility:visible}.item-options-md{border-bottom-width:0;border-bottom-style:solid;border-bottom-color:var(--ion-item-border-color, var(--ion-border-color, var(--ion-color-step-150, rgba(0, 0, 0, 0.13))))}.list-md-lines-none .item-options-md{border-bottom-width:0}.list-md-lines-full .item-options-md,.list-md-lines-inset .item-options-md.item-options-end{border-bottom-width:1px}\";\nconst ItemOptions = class {\n constructor(hostRef) {\n registerInstance(this, hostRef);\n this.ionSwipe = createEvent(this, \"ionSwipe\", 7);\n /**\n * The side the option button should be on. Possible values: `\"start\"` and `\"end\"`. If you have multiple `ion-item-options`, a side must be provided for each.\n *\n */\n\n this.side = 'end';\n }\n /** @internal */\n\n\n fireSwipeEvent() {\n var _this = this;\n\n return _asyncToGenerator(function* () {\n _this.ionSwipe.emit({\n side: _this.side\n });\n })();\n }\n\n render() {\n const mode = getIonMode(this);\n const isEnd = isEndSide(this.side);\n return h(Host, {\n class: {\n [mode]: true,\n // Used internally for styling\n [`item-options-${mode}`]: true,\n 'item-options-start': !isEnd,\n 'item-options-end': isEnd\n }\n });\n }\n\n get el() {\n return getElement(this);\n }\n\n};\nItemOptions.style = {\n ios: itemOptionsIosCss,\n md: itemOptionsMdCss\n};\nconst itemSlidingCss = \"ion-item-sliding{display:block;position:relative;width:100%;overflow:hidden;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}ion-item-sliding .item{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.item-sliding-active-slide .item{position:relative;-webkit-transition:-webkit-transform 500ms cubic-bezier(0.36, 0.66, 0.04, 1);transition:-webkit-transform 500ms cubic-bezier(0.36, 0.66, 0.04, 1);transition:transform 500ms cubic-bezier(0.36, 0.66, 0.04, 1);transition:transform 500ms cubic-bezier(0.36, 0.66, 0.04, 1), -webkit-transform 500ms cubic-bezier(0.36, 0.66, 0.04, 1);opacity:1;z-index:2;pointer-events:none;will-change:transform}.item-sliding-active-swipe-end .item-options-end .item-option-expandable{padding-left:100%;-ms-flex-order:1;order:1;-webkit-transition-duration:0.6s;transition-duration:0.6s;-webkit-transition-property:padding-left;transition-property:padding-left}[dir=rtl] .item-sliding-active-swipe-end .item-options-end .item-option-expandable,:host-context([dir=rtl]) .item-sliding-active-swipe-end .item-options-end .item-option-expandable{-ms-flex-order:-1;order:-1}.item-sliding-active-swipe-start .item-options-start .item-option-expandable{padding-right:100%;-ms-flex-order:-1;order:-1;-webkit-transition-duration:0.6s;transition-duration:0.6s;-webkit-transition-property:padding-right;transition-property:padding-right}[dir=rtl] .item-sliding-active-swipe-start .item-options-start .item-option-expandable,:host-context([dir=rtl]) .item-sliding-active-swipe-start .item-options-start .item-option-expandable{-ms-flex-order:1;order:1}\";\nconst SWIPE_MARGIN = 30;\nconst ELASTIC_FACTOR = 0.55;\nlet openSlidingItem;\nconst ItemSliding = class {\n constructor(hostRef) {\n registerInstance(this, hostRef);\n this.ionDrag = createEvent(this, \"ionDrag\", 7);\n this.item = null;\n this.openAmount = 0;\n this.initialOpenAmount = 0;\n this.optsWidthRightSide = 0;\n this.optsWidthLeftSide = 0;\n this.sides = 0\n /* None */\n ;\n this.optsDirty = true;\n this.contentEl = null;\n this.initialContentScrollY = true;\n this.state = 2\n /* Disabled */\n ;\n /**\n * If `true`, the user cannot interact with the sliding item.\n */\n\n this.disabled = false;\n }\n\n disabledChanged() {\n if (this.gesture) {\n this.gesture.enable(!this.disabled);\n }\n }\n\n connectedCallback() {\n var _this2 = this;\n\n return _asyncToGenerator(function* () {\n _this2.item = _this2.el.querySelector('ion-item');\n _this2.contentEl = findClosestIonContent(_this2.el);\n yield _this2.updateOptions();\n _this2.gesture = (yield import('./index-3f1a7d95.js')).createGesture({\n el: _this2.el,\n gestureName: 'item-swipe',\n gesturePriority: 100,\n threshold: 5,\n canStart: ev => _this2.canStart(ev),\n onStart: () => _this2.onStart(),\n onMove: ev => _this2.onMove(ev),\n onEnd: ev => _this2.onEnd(ev)\n });\n\n _this2.disabledChanged();\n })();\n }\n\n disconnectedCallback() {\n if (this.gesture) {\n this.gesture.destroy();\n this.gesture = undefined;\n }\n\n this.item = null;\n this.leftOptions = this.rightOptions = undefined;\n\n if (openSlidingItem === this.el) {\n openSlidingItem = undefined;\n }\n }\n /**\n * Get the amount the item is open in pixels.\n */\n\n\n getOpenAmount() {\n return Promise.resolve(this.openAmount);\n }\n /**\n * Get the ratio of the open amount of the item compared to the width of the options.\n * If the number returned is positive, then the options on the right side are open.\n * If the number returned is negative, then the options on the left side are open.\n * If the absolute value of the number is greater than 1, the item is open more than\n * the width of the options.\n */\n\n\n getSlidingRatio() {\n return Promise.resolve(this.getSlidingRatioSync());\n }\n /**\n * Open the sliding item.\n *\n * @param side The side of the options to open. If a side is not provided, it will open the first set of options it finds within the item.\n */\n\n\n open(side) {\n var _this3 = this;\n\n return _asyncToGenerator(function* () {\n if (_this3.item === null) {\n return;\n }\n\n const optionsToOpen = _this3.getOptions(side);\n\n if (!optionsToOpen) {\n return;\n }\n /**\n * If side is not set, we need to infer the side\n * so we know which direction to move the options\n */\n\n\n if (side === undefined) {\n side = optionsToOpen === _this3.leftOptions ? 'start' : 'end';\n } // In RTL we want to switch the sides\n\n\n side = isEndSide(side) ? 'end' : 'start';\n const isStartOpen = _this3.openAmount < 0;\n const isEndOpen = _this3.openAmount > 0;\n /**\n * If a side is open and a user tries to\n * re-open the same side, we should not do anything\n */\n\n if (isStartOpen && optionsToOpen === _this3.leftOptions) {\n return;\n }\n\n if (isEndOpen && optionsToOpen === _this3.rightOptions) {\n return;\n }\n\n _this3.closeOpened();\n\n _this3.state = 4\n /* Enabled */\n ;\n requestAnimationFrame(() => {\n _this3.calculateOptsWidth();\n\n const width = side === 'end' ? _this3.optsWidthRightSide : -_this3.optsWidthLeftSide;\n openSlidingItem = _this3.el;\n\n _this3.setOpenAmount(width, false);\n\n _this3.state = side === 'end' ? 8\n /* End */\n : 16\n /* Start */\n ;\n });\n })();\n }\n /**\n * Close the sliding item. Items can also be closed from the [List](./list).\n */\n\n\n close() {\n var _this4 = this;\n\n return _asyncToGenerator(function* () {\n _this4.setOpenAmount(0, true);\n })();\n }\n /**\n * Close all of the sliding items in the list. Items can also be closed from the [List](./list).\n */\n\n\n closeOpened() {\n return _asyncToGenerator(function* () {\n if (openSlidingItem !== undefined) {\n openSlidingItem.close();\n openSlidingItem = undefined;\n return true;\n }\n\n return false;\n })();\n }\n /**\n * Given an optional side, return the ion-item-options element.\n *\n * @param side This side of the options to get. If a side is not provided it will\n * return the first one available.\n */\n\n\n getOptions(side) {\n if (side === undefined) {\n return this.leftOptions || this.rightOptions;\n } else if (side === 'start') {\n return this.leftOptions;\n } else {\n return this.rightOptions;\n }\n }\n\n updateOptions() {\n var _this5 = this;\n\n return _asyncToGenerator(function* () {\n const options = _this5.el.querySelectorAll('ion-item-options');\n\n let sides = 0; // Reset left and right options in case they were removed\n\n _this5.leftOptions = _this5.rightOptions = undefined;\n\n for (let i = 0; i < options.length; i++) {\n const item = options.item(i);\n /**\n * We cannot use the componentOnReady helper\n * util here since we need to wait for all of these items\n * to be ready before we set `this.sides` and `this.optsDirty`.\n */\n\n const option = item.componentOnReady !== undefined ? yield item.componentOnReady() : item;\n const side = isEndSide(option.side) ? 'end' : 'start';\n\n if (side === 'start') {\n _this5.leftOptions = option;\n sides |= 1\n /* Start */\n ;\n } else {\n _this5.rightOptions = option;\n sides |= 2\n /* End */\n ;\n }\n }\n\n _this5.optsDirty = true;\n _this5.sides = sides;\n })();\n }\n\n canStart(gesture) {\n /**\n * If very close to start of the screen\n * do not open left side so swipe to go\n * back will still work.\n */\n const rtl = document.dir === 'rtl';\n const atEdge = rtl ? window.innerWidth - gesture.startX < 15 : gesture.startX < 15;\n\n if (atEdge) {\n return false;\n }\n\n const selected = openSlidingItem;\n\n if (selected && selected !== this.el) {\n this.closeOpened();\n }\n\n return !!(this.rightOptions || this.leftOptions);\n }\n\n onStart() {\n /**\n * We need to query for the ion-item\n * every time the gesture starts. Developers\n * may toggle ion-item elements via *ngIf.\n */\n this.item = this.el.querySelector('ion-item');\n const {\n contentEl\n } = this;\n\n if (contentEl) {\n this.initialContentScrollY = disableContentScrollY(contentEl);\n }\n\n openSlidingItem = this.el;\n\n if (this.tmr !== undefined) {\n clearTimeout(this.tmr);\n this.tmr = undefined;\n }\n\n if (this.openAmount === 0) {\n this.optsDirty = true;\n this.state = 4\n /* Enabled */\n ;\n }\n\n this.initialOpenAmount = this.openAmount;\n\n if (this.item) {\n this.item.style.transition = 'none';\n }\n }\n\n onMove(gesture) {\n if (this.optsDirty) {\n this.calculateOptsWidth();\n }\n\n let openAmount = this.initialOpenAmount - gesture.deltaX;\n\n switch (this.sides) {\n case 2\n /* End */\n :\n openAmount = Math.max(0, openAmount);\n break;\n\n case 1\n /* Start */\n :\n openAmount = Math.min(0, openAmount);\n break;\n\n case 3\n /* Both */\n :\n break;\n\n case 0\n /* None */\n :\n return;\n\n default:\n console.warn('invalid ItemSideFlags value', this.sides);\n break;\n }\n\n let optsWidth;\n\n if (openAmount > this.optsWidthRightSide) {\n optsWidth = this.optsWidthRightSide;\n openAmount = optsWidth + (openAmount - optsWidth) * ELASTIC_FACTOR;\n } else if (openAmount < -this.optsWidthLeftSide) {\n optsWidth = -this.optsWidthLeftSide;\n openAmount = optsWidth + (openAmount - optsWidth) * ELASTIC_FACTOR;\n }\n\n this.setOpenAmount(openAmount, false);\n }\n\n onEnd(gesture) {\n const {\n contentEl,\n initialContentScrollY\n } = this;\n\n if (contentEl) {\n resetContentScrollY(contentEl, initialContentScrollY);\n }\n\n const velocity = gesture.velocityX;\n let restingPoint = this.openAmount > 0 ? this.optsWidthRightSide : -this.optsWidthLeftSide; // Check if the drag didn't clear the buttons mid-point\n // and we aren't moving fast enough to swipe open\n\n const isResetDirection = this.openAmount > 0 === !(velocity < 0);\n const isMovingFast = Math.abs(velocity) > 0.3;\n const isOnCloseZone = Math.abs(this.openAmount) < Math.abs(restingPoint / 2);\n\n if (swipeShouldReset(isResetDirection, isMovingFast, isOnCloseZone)) {\n restingPoint = 0;\n }\n\n const state = this.state;\n this.setOpenAmount(restingPoint, true);\n\n if ((state & 32\n /* SwipeEnd */\n ) !== 0 && this.rightOptions) {\n this.rightOptions.fireSwipeEvent();\n } else if ((state & 64\n /* SwipeStart */\n ) !== 0 && this.leftOptions) {\n this.leftOptions.fireSwipeEvent();\n }\n }\n\n calculateOptsWidth() {\n this.optsWidthRightSide = 0;\n\n if (this.rightOptions) {\n this.rightOptions.style.display = 'flex';\n this.optsWidthRightSide = this.rightOptions.offsetWidth;\n this.rightOptions.style.display = '';\n }\n\n this.optsWidthLeftSide = 0;\n\n if (this.leftOptions) {\n this.leftOptions.style.display = 'flex';\n this.optsWidthLeftSide = this.leftOptions.offsetWidth;\n this.leftOptions.style.display = '';\n }\n\n this.optsDirty = false;\n }\n\n setOpenAmount(openAmount, isFinal) {\n if (this.tmr !== undefined) {\n clearTimeout(this.tmr);\n this.tmr = undefined;\n }\n\n if (!this.item) {\n return;\n }\n\n const style = this.item.style;\n this.openAmount = openAmount;\n\n if (isFinal) {\n style.transition = '';\n }\n\n if (openAmount > 0) {\n this.state = openAmount >= this.optsWidthRightSide + SWIPE_MARGIN ? 8\n /* End */\n | 32\n /* SwipeEnd */\n : 8\n /* End */\n ;\n } else if (openAmount < 0) {\n this.state = openAmount <= -this.optsWidthLeftSide - SWIPE_MARGIN ? 16\n /* Start */\n | 64\n /* SwipeStart */\n : 16\n /* Start */\n ;\n } else {\n /**\n * Item sliding cannot be interrupted\n * while closing the item. If it did,\n * it would allow the item to get into an\n * inconsistent state where multiple\n * items are then open at the same time.\n */\n if (this.gesture) {\n this.gesture.enable(false);\n }\n\n this.tmr = setTimeout(() => {\n this.state = 2\n /* Disabled */\n ;\n this.tmr = undefined;\n\n if (this.gesture) {\n this.gesture.enable(!this.disabled);\n }\n }, 600);\n openSlidingItem = undefined;\n style.transform = '';\n return;\n }\n\n style.transform = `translate3d(${-openAmount}px,0,0)`;\n this.ionDrag.emit({\n amount: openAmount,\n ratio: this.getSlidingRatioSync()\n });\n }\n\n getSlidingRatioSync() {\n if (this.openAmount > 0) {\n return this.openAmount / this.optsWidthRightSide;\n } else if (this.openAmount < 0) {\n return this.openAmount / this.optsWidthLeftSide;\n } else {\n return 0;\n }\n }\n\n render() {\n const mode = getIonMode(this);\n return h(Host, {\n class: {\n [mode]: true,\n 'item-sliding-active-slide': this.state !== 2\n /* Disabled */\n ,\n 'item-sliding-active-options-end': (this.state & 8\n /* End */\n ) !== 0,\n 'item-sliding-active-options-start': (this.state & 16\n /* Start */\n ) !== 0,\n 'item-sliding-active-swipe-end': (this.state & 32\n /* SwipeEnd */\n ) !== 0,\n 'item-sliding-active-swipe-start': (this.state & 64\n /* SwipeStart */\n ) !== 0\n }\n });\n }\n\n get el() {\n return getElement(this);\n }\n\n static get watchers() {\n return {\n \"disabled\": [\"disabledChanged\"]\n };\n }\n\n};\n\nconst swipeShouldReset = (isResetDirection, isMovingFast, isOnResetZone) => {\n // The logic required to know when the sliding item should close (openAmount=0)\n // depends on three booleans (isResetDirection, isMovingFast, isOnResetZone)\n // and it ended up being too complicated to be written manually without errors\n // so the truth table is attached below: (0=false, 1=true)\n // isResetDirection | isMovingFast | isOnResetZone || shouldClose\n // 0 | 0 | 0 || 0\n // 0 | 0 | 1 || 1\n // 0 | 1 | 0 || 0\n // 0 | 1 | 1 || 0\n // 1 | 0 | 0 || 0\n // 1 | 0 | 1 || 1\n // 1 | 1 | 0 || 1\n // 1 | 1 | 1 || 1\n // The resulting expression was generated by resolving the K-map (Karnaugh map):\n return !isMovingFast && isOnResetZone || isResetDirection && isMovingFast;\n};\n\nItemSliding.style = itemSlidingCss;\nexport { ItemOption as ion_item_option, ItemOptions as ion_item_options, ItemSliding as ion_item_sliding };","map":{"version":3,"names":["r","registerInstance","h","H","Host","i","getElement","e","createEvent","b","getIonMode","c","createColorClasses","o","isEndSide","f","findClosestIonContent","d","disableContentScrollY","resetContentScrollY","itemOptionIosCss","itemOptionMdCss","ItemOption","constructor","hostRef","disabled","expandable","type","onClick","ev","el","target","closest","preventDefault","render","href","TagType","undefined","mode","attrs","download","class","color","Object","assign","part","name","style","ios","md","itemOptionsIosCss","itemOptionsMdCss","ItemOptions","ionSwipe","side","fireSwipeEvent","emit","isEnd","itemSlidingCss","SWIPE_MARGIN","ELASTIC_FACTOR","openSlidingItem","ItemSliding","ionDrag","item","openAmount","initialOpenAmount","optsWidthRightSide","optsWidthLeftSide","sides","optsDirty","contentEl","initialContentScrollY","state","disabledChanged","gesture","enable","connectedCallback","querySelector","updateOptions","createGesture","gestureName","gesturePriority","threshold","canStart","onStart","onMove","onEnd","disconnectedCallback","destroy","leftOptions","rightOptions","getOpenAmount","Promise","resolve","getSlidingRatio","getSlidingRatioSync","open","optionsToOpen","getOptions","isStartOpen","isEndOpen","closeOpened","requestAnimationFrame","calculateOptsWidth","width","setOpenAmount","close","options","querySelectorAll","length","option","componentOnReady","rtl","document","dir","atEdge","window","innerWidth","startX","selected","tmr","clearTimeout","transition","deltaX","Math","max","min","console","warn","optsWidth","velocity","velocityX","restingPoint","isResetDirection","isMovingFast","abs","isOnCloseZone","swipeShouldReset","display","offsetWidth","isFinal","setTimeout","transform","amount","ratio","watchers","isOnResetZone","ion_item_option","ion_item_options","ion_item_sliding"],"sources":["D:/MobileDev/WRB/WrenchBoard2023a/node_modules/@ionic/core/dist/esm/ion-item-option_3.entry.js"],"sourcesContent":["/*!\n * (C) Ionic http://ionicframework.com - MIT License\n */\nimport { r as registerInstance, h, H as Host, i as getElement, e as createEvent } from './index-1a99aeb7.js';\nimport { b as getIonMode } from './ionic-global-04e268e7.js';\nimport { c as createColorClasses } from './theme-7670341c.js';\nimport { o as isEndSide } from './helpers-4d272360.js';\nimport { f as findClosestIonContent, d as disableContentScrollY, r as resetContentScrollY } from './index-3413f7be.js';\nimport './index-c4b11676.js';\n\nconst itemOptionIosCss = \":host{--background:var(--ion-color-primary, #3880ff);--color:var(--ion-color-primary-contrast, #fff);background:var(--background);color:var(--color);font-family:var(--ion-font-family, inherit)}:host(.in-list.item-options-end:last-child){padding-right:calc(0.7em + var(--ion-safe-area-right))}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){:host(.in-list.item-options-end:last-child){padding-right:unset;-webkit-padding-end:calc(0.7em + var(--ion-safe-area-right));padding-inline-end:calc(0.7em + var(--ion-safe-area-right))}}:host(.in-list.item-options-start:first-child){padding-left:calc(0.7em + var(--ion-safe-area-left))}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){:host(.in-list.item-options-start:first-child){padding-left:unset;-webkit-padding-start:calc(0.7em + var(--ion-safe-area-left));padding-inline-start:calc(0.7em + var(--ion-safe-area-left))}}:host(.ion-color){background:var(--ion-color-base);color:var(--ion-color-contrast)}.button-native{font-family:inherit;font-size:inherit;font-style:inherit;font-weight:inherit;letter-spacing:inherit;text-decoration:inherit;text-indent:inherit;text-overflow:inherit;text-transform:inherit;text-align:inherit;white-space:inherit;color:inherit;padding-left:0.7em;padding-right:0.7em;padding-top:0;padding-bottom:0;display:inline-block;position:relative;width:100%;height:100%;border:0;outline:none;background:transparent;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;-webkit-box-sizing:border-box;box-sizing:border-box}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.button-native{padding-left:unset;padding-right:unset;-webkit-padding-start:0.7em;padding-inline-start:0.7em;-webkit-padding-end:0.7em;padding-inline-end:0.7em}}.button-inner{display:-ms-flexbox;display:flex;-ms-flex-flow:column nowrap;flex-flow:column nowrap;-ms-flex-negative:0;flex-shrink:0;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;width:100%;height:100%}.horizontal-wrapper{display:-ms-flexbox;display:flex;-ms-flex-flow:row nowrap;flex-flow:row nowrap;-ms-flex-negative:0;flex-shrink:0;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;width:100%}::slotted(*){-ms-flex-negative:0;flex-shrink:0}::slotted([slot=start]){margin-left:0;margin-right:5px;margin-top:0;margin-bottom:0}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){::slotted([slot=start]){margin-left:unset;margin-right:unset;-webkit-margin-start:0;margin-inline-start:0;-webkit-margin-end:5px;margin-inline-end:5px}}::slotted([slot=end]){margin-left:5px;margin-right:0;margin-top:0;margin-bottom:0}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){::slotted([slot=end]){margin-left:unset;margin-right:unset;-webkit-margin-start:5px;margin-inline-start:5px;-webkit-margin-end:0;margin-inline-end:0}}::slotted([slot=icon-only]){padding-left:0;padding-right:0;padding-top:0;padding-bottom:0;margin-left:10px;margin-right:10px;margin-top:0;margin-bottom:0;min-width:0.9em;font-size:1.8em}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){::slotted([slot=icon-only]){margin-left:unset;margin-right:unset;-webkit-margin-start:10px;margin-inline-start:10px;-webkit-margin-end:10px;margin-inline-end:10px}}:host(.item-option-expandable){-ms-flex-negative:0;flex-shrink:0;-webkit-transition-duration:0;transition-duration:0;-webkit-transition-property:none;transition-property:none;-webkit-transition-timing-function:cubic-bezier(0.65, 0.05, 0.36, 1);transition-timing-function:cubic-bezier(0.65, 0.05, 0.36, 1)}:host(.item-option-disabled){pointer-events:none}:host(.item-option-disabled) .button-native{cursor:default;opacity:0.5;pointer-events:none}:host{font-size:16px}:host(.ion-activated){background:var(--ion-color-primary-shade, #3171e0)}:host(.ion-color.ion-activated){background:var(--ion-color-shade)}\";\n\nconst itemOptionMdCss = \":host{--background:var(--ion-color-primary, #3880ff);--color:var(--ion-color-primary-contrast, #fff);background:var(--background);color:var(--color);font-family:var(--ion-font-family, inherit)}:host(.in-list.item-options-end:last-child){padding-right:calc(0.7em + var(--ion-safe-area-right))}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){:host(.in-list.item-options-end:last-child){padding-right:unset;-webkit-padding-end:calc(0.7em + var(--ion-safe-area-right));padding-inline-end:calc(0.7em + var(--ion-safe-area-right))}}:host(.in-list.item-options-start:first-child){padding-left:calc(0.7em + var(--ion-safe-area-left))}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){:host(.in-list.item-options-start:first-child){padding-left:unset;-webkit-padding-start:calc(0.7em + var(--ion-safe-area-left));padding-inline-start:calc(0.7em + var(--ion-safe-area-left))}}:host(.ion-color){background:var(--ion-color-base);color:var(--ion-color-contrast)}.button-native{font-family:inherit;font-size:inherit;font-style:inherit;font-weight:inherit;letter-spacing:inherit;text-decoration:inherit;text-indent:inherit;text-overflow:inherit;text-transform:inherit;text-align:inherit;white-space:inherit;color:inherit;padding-left:0.7em;padding-right:0.7em;padding-top:0;padding-bottom:0;display:inline-block;position:relative;width:100%;height:100%;border:0;outline:none;background:transparent;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;-webkit-box-sizing:border-box;box-sizing:border-box}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.button-native{padding-left:unset;padding-right:unset;-webkit-padding-start:0.7em;padding-inline-start:0.7em;-webkit-padding-end:0.7em;padding-inline-end:0.7em}}.button-inner{display:-ms-flexbox;display:flex;-ms-flex-flow:column nowrap;flex-flow:column nowrap;-ms-flex-negative:0;flex-shrink:0;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;width:100%;height:100%}.horizontal-wrapper{display:-ms-flexbox;display:flex;-ms-flex-flow:row nowrap;flex-flow:row nowrap;-ms-flex-negative:0;flex-shrink:0;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;width:100%}::slotted(*){-ms-flex-negative:0;flex-shrink:0}::slotted([slot=start]){margin-left:0;margin-right:5px;margin-top:0;margin-bottom:0}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){::slotted([slot=start]){margin-left:unset;margin-right:unset;-webkit-margin-start:0;margin-inline-start:0;-webkit-margin-end:5px;margin-inline-end:5px}}::slotted([slot=end]){margin-left:5px;margin-right:0;margin-top:0;margin-bottom:0}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){::slotted([slot=end]){margin-left:unset;margin-right:unset;-webkit-margin-start:5px;margin-inline-start:5px;-webkit-margin-end:0;margin-inline-end:0}}::slotted([slot=icon-only]){padding-left:0;padding-right:0;padding-top:0;padding-bottom:0;margin-left:10px;margin-right:10px;margin-top:0;margin-bottom:0;min-width:0.9em;font-size:1.8em}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){::slotted([slot=icon-only]){margin-left:unset;margin-right:unset;-webkit-margin-start:10px;margin-inline-start:10px;-webkit-margin-end:10px;margin-inline-end:10px}}:host(.item-option-expandable){-ms-flex-negative:0;flex-shrink:0;-webkit-transition-duration:0;transition-duration:0;-webkit-transition-property:none;transition-property:none;-webkit-transition-timing-function:cubic-bezier(0.65, 0.05, 0.36, 1);transition-timing-function:cubic-bezier(0.65, 0.05, 0.36, 1)}:host(.item-option-disabled){pointer-events:none}:host(.item-option-disabled) .button-native{cursor:default;opacity:0.5;pointer-events:none}:host{font-size:14px;font-weight:500;text-transform:uppercase}\";\n\nconst ItemOption = class {\n constructor(hostRef) {\n registerInstance(this, hostRef);\n /**\n * If `true`, the user cannot interact with the item option.\n */\n this.disabled = false;\n /**\n * If `true`, the option will expand to take up the available width and cover any other options.\n */\n this.expandable = false;\n /**\n * The type of the button.\n */\n this.type = 'button';\n this.onClick = (ev) => {\n const el = ev.target.closest('ion-item-option');\n if (el) {\n ev.preventDefault();\n }\n };\n }\n render() {\n const { disabled, expandable, href } = this;\n const TagType = href === undefined ? 'button' : 'a';\n const mode = getIonMode(this);\n const attrs = TagType === 'button'\n ? { type: this.type }\n : {\n download: this.download,\n href: this.href,\n target: this.target,\n };\n return (h(Host, { onClick: this.onClick, class: createColorClasses(this.color, {\n [mode]: true,\n 'item-option-disabled': disabled,\n 'item-option-expandable': expandable,\n 'ion-activatable': true,\n }) }, h(TagType, Object.assign({}, attrs, { class: \"button-native\", part: \"native\", disabled: disabled }), h(\"span\", { class: \"button-inner\" }, h(\"slot\", { name: \"top\" }), h(\"div\", { class: \"horizontal-wrapper\" }, h(\"slot\", { name: \"start\" }), h(\"slot\", { name: \"icon-only\" }), h(\"slot\", null), h(\"slot\", { name: \"end\" })), h(\"slot\", { name: \"bottom\" })), mode === 'md' && h(\"ion-ripple-effect\", null))));\n }\n get el() { return getElement(this); }\n};\nItemOption.style = {\n ios: itemOptionIosCss,\n md: itemOptionMdCss\n};\n\nconst itemOptionsIosCss = \"ion-item-options{top:0;right:0;-ms-flex-pack:end;justify-content:flex-end;display:none;position:absolute;height:100%;font-size:14px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;z-index:1}[dir=rtl] ion-item-options,:host-context([dir=rtl]) ion-item-options{-ms-flex-pack:start;justify-content:flex-start}[dir=rtl] ion-item-options:not(.item-options-end),:host-context([dir=rtl]) ion-item-options:not(.item-options-end){right:auto;left:0;-ms-flex-pack:end;justify-content:flex-end}.item-options-start{right:auto;left:0;-ms-flex-pack:start;justify-content:flex-start}[dir=rtl] .item-options-start,:host-context([dir=rtl]) .item-options-start{-ms-flex-pack:end;justify-content:flex-end}.item-options-start ion-item-option:first-child{padding-right:var(--ion-safe-area-left)}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.item-options-start ion-item-option:first-child{padding-right:unset;-webkit-padding-end:var(--ion-safe-area-left);padding-inline-end:var(--ion-safe-area-left)}}.item-options-end ion-item-option:last-child{padding-right:var(--ion-safe-area-right)}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.item-options-end ion-item-option:last-child{padding-right:unset;-webkit-padding-end:var(--ion-safe-area-right);padding-inline-end:var(--ion-safe-area-right)}}[dir=rtl] .item-sliding-active-slide.item-sliding-active-options-start ion-item-options:not(.item-options-end),:host-context([dir=rtl]) .item-sliding-active-slide.item-sliding-active-options-start ion-item-options:not(.item-options-end){width:100%;visibility:visible}.item-sliding-active-slide ion-item-options{display:-ms-flexbox;display:flex;visibility:hidden}.item-sliding-active-slide.item-sliding-active-options-start .item-options-start,.item-sliding-active-slide.item-sliding-active-options-end ion-item-options:not(.item-options-start){width:100%;visibility:visible}.item-options-ios{border-bottom-width:0;border-bottom-style:solid;border-bottom-color:var(--ion-item-border-color, var(--ion-border-color, var(--ion-color-step-250, #c8c7cc)))}.item-options-ios.item-options-end{border-bottom-width:0.55px}.list-ios-lines-none .item-options-ios{border-bottom-width:0}.list-ios-lines-full .item-options-ios,.list-ios-lines-inset .item-options-ios.item-options-end{border-bottom-width:0.55px}\";\n\nconst itemOptionsMdCss = \"ion-item-options{top:0;right:0;-ms-flex-pack:end;justify-content:flex-end;display:none;position:absolute;height:100%;font-size:14px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;z-index:1}[dir=rtl] ion-item-options,:host-context([dir=rtl]) ion-item-options{-ms-flex-pack:start;justify-content:flex-start}[dir=rtl] ion-item-options:not(.item-options-end),:host-context([dir=rtl]) ion-item-options:not(.item-options-end){right:auto;left:0;-ms-flex-pack:end;justify-content:flex-end}.item-options-start{right:auto;left:0;-ms-flex-pack:start;justify-content:flex-start}[dir=rtl] .item-options-start,:host-context([dir=rtl]) .item-options-start{-ms-flex-pack:end;justify-content:flex-end}.item-options-start ion-item-option:first-child{padding-right:var(--ion-safe-area-left)}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.item-options-start ion-item-option:first-child{padding-right:unset;-webkit-padding-end:var(--ion-safe-area-left);padding-inline-end:var(--ion-safe-area-left)}}.item-options-end ion-item-option:last-child{padding-right:var(--ion-safe-area-right)}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.item-options-end ion-item-option:last-child{padding-right:unset;-webkit-padding-end:var(--ion-safe-area-right);padding-inline-end:var(--ion-safe-area-right)}}[dir=rtl] .item-sliding-active-slide.item-sliding-active-options-start ion-item-options:not(.item-options-end),:host-context([dir=rtl]) .item-sliding-active-slide.item-sliding-active-options-start ion-item-options:not(.item-options-end){width:100%;visibility:visible}.item-sliding-active-slide ion-item-options{display:-ms-flexbox;display:flex;visibility:hidden}.item-sliding-active-slide.item-sliding-active-options-start .item-options-start,.item-sliding-active-slide.item-sliding-active-options-end ion-item-options:not(.item-options-start){width:100%;visibility:visible}.item-options-md{border-bottom-width:0;border-bottom-style:solid;border-bottom-color:var(--ion-item-border-color, var(--ion-border-color, var(--ion-color-step-150, rgba(0, 0, 0, 0.13))))}.list-md-lines-none .item-options-md{border-bottom-width:0}.list-md-lines-full .item-options-md,.list-md-lines-inset .item-options-md.item-options-end{border-bottom-width:1px}\";\n\nconst ItemOptions = class {\n constructor(hostRef) {\n registerInstance(this, hostRef);\n this.ionSwipe = createEvent(this, \"ionSwipe\", 7);\n /**\n * The side the option button should be on. Possible values: `\"start\"` and `\"end\"`. If you have multiple `ion-item-options`, a side must be provided for each.\n *\n */\n this.side = 'end';\n }\n /** @internal */\n async fireSwipeEvent() {\n this.ionSwipe.emit({\n side: this.side,\n });\n }\n render() {\n const mode = getIonMode(this);\n const isEnd = isEndSide(this.side);\n return (h(Host, { class: {\n [mode]: true,\n // Used internally for styling\n [`item-options-${mode}`]: true,\n 'item-options-start': !isEnd,\n 'item-options-end': isEnd,\n } }));\n }\n get el() { return getElement(this); }\n};\nItemOptions.style = {\n ios: itemOptionsIosCss,\n md: itemOptionsMdCss\n};\n\nconst itemSlidingCss = \"ion-item-sliding{display:block;position:relative;width:100%;overflow:hidden;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}ion-item-sliding .item{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.item-sliding-active-slide .item{position:relative;-webkit-transition:-webkit-transform 500ms cubic-bezier(0.36, 0.66, 0.04, 1);transition:-webkit-transform 500ms cubic-bezier(0.36, 0.66, 0.04, 1);transition:transform 500ms cubic-bezier(0.36, 0.66, 0.04, 1);transition:transform 500ms cubic-bezier(0.36, 0.66, 0.04, 1), -webkit-transform 500ms cubic-bezier(0.36, 0.66, 0.04, 1);opacity:1;z-index:2;pointer-events:none;will-change:transform}.item-sliding-active-swipe-end .item-options-end .item-option-expandable{padding-left:100%;-ms-flex-order:1;order:1;-webkit-transition-duration:0.6s;transition-duration:0.6s;-webkit-transition-property:padding-left;transition-property:padding-left}[dir=rtl] .item-sliding-active-swipe-end .item-options-end .item-option-expandable,:host-context([dir=rtl]) .item-sliding-active-swipe-end .item-options-end .item-option-expandable{-ms-flex-order:-1;order:-1}.item-sliding-active-swipe-start .item-options-start .item-option-expandable{padding-right:100%;-ms-flex-order:-1;order:-1;-webkit-transition-duration:0.6s;transition-duration:0.6s;-webkit-transition-property:padding-right;transition-property:padding-right}[dir=rtl] .item-sliding-active-swipe-start .item-options-start .item-option-expandable,:host-context([dir=rtl]) .item-sliding-active-swipe-start .item-options-start .item-option-expandable{-ms-flex-order:1;order:1}\";\n\nconst SWIPE_MARGIN = 30;\nconst ELASTIC_FACTOR = 0.55;\nlet openSlidingItem;\nconst ItemSliding = class {\n constructor(hostRef) {\n registerInstance(this, hostRef);\n this.ionDrag = createEvent(this, \"ionDrag\", 7);\n this.item = null;\n this.openAmount = 0;\n this.initialOpenAmount = 0;\n this.optsWidthRightSide = 0;\n this.optsWidthLeftSide = 0;\n this.sides = 0 /* None */;\n this.optsDirty = true;\n this.contentEl = null;\n this.initialContentScrollY = true;\n this.state = 2 /* Disabled */;\n /**\n * If `true`, the user cannot interact with the sliding item.\n */\n this.disabled = false;\n }\n disabledChanged() {\n if (this.gesture) {\n this.gesture.enable(!this.disabled);\n }\n }\n async connectedCallback() {\n this.item = this.el.querySelector('ion-item');\n this.contentEl = findClosestIonContent(this.el);\n await this.updateOptions();\n this.gesture = (await import('./index-3f1a7d95.js')).createGesture({\n el: this.el,\n gestureName: 'item-swipe',\n gesturePriority: 100,\n threshold: 5,\n canStart: (ev) => this.canStart(ev),\n onStart: () => this.onStart(),\n onMove: (ev) => this.onMove(ev),\n onEnd: (ev) => this.onEnd(ev),\n });\n this.disabledChanged();\n }\n disconnectedCallback() {\n if (this.gesture) {\n this.gesture.destroy();\n this.gesture = undefined;\n }\n this.item = null;\n this.leftOptions = this.rightOptions = undefined;\n if (openSlidingItem === this.el) {\n openSlidingItem = undefined;\n }\n }\n /**\n * Get the amount the item is open in pixels.\n */\n getOpenAmount() {\n return Promise.resolve(this.openAmount);\n }\n /**\n * Get the ratio of the open amount of the item compared to the width of the options.\n * If the number returned is positive, then the options on the right side are open.\n * If the number returned is negative, then the options on the left side are open.\n * If the absolute value of the number is greater than 1, the item is open more than\n * the width of the options.\n */\n getSlidingRatio() {\n return Promise.resolve(this.getSlidingRatioSync());\n }\n /**\n * Open the sliding item.\n *\n * @param side The side of the options to open. If a side is not provided, it will open the first set of options it finds within the item.\n */\n async open(side) {\n if (this.item === null) {\n return;\n }\n const optionsToOpen = this.getOptions(side);\n if (!optionsToOpen) {\n return;\n }\n /**\n * If side is not set, we need to infer the side\n * so we know which direction to move the options\n */\n if (side === undefined) {\n side = optionsToOpen === this.leftOptions ? 'start' : 'end';\n }\n // In RTL we want to switch the sides\n side = isEndSide(side) ? 'end' : 'start';\n const isStartOpen = this.openAmount < 0;\n const isEndOpen = this.openAmount > 0;\n /**\n * If a side is open and a user tries to\n * re-open the same side, we should not do anything\n */\n if (isStartOpen && optionsToOpen === this.leftOptions) {\n return;\n }\n if (isEndOpen && optionsToOpen === this.rightOptions) {\n return;\n }\n this.closeOpened();\n this.state = 4 /* Enabled */;\n requestAnimationFrame(() => {\n this.calculateOptsWidth();\n const width = side === 'end' ? this.optsWidthRightSide : -this.optsWidthLeftSide;\n openSlidingItem = this.el;\n this.setOpenAmount(width, false);\n this.state = side === 'end' ? 8 /* End */ : 16 /* Start */;\n });\n }\n /**\n * Close the sliding item. Items can also be closed from the [List](./list).\n */\n async close() {\n this.setOpenAmount(0, true);\n }\n /**\n * Close all of the sliding items in the list. Items can also be closed from the [List](./list).\n */\n async closeOpened() {\n if (openSlidingItem !== undefined) {\n openSlidingItem.close();\n openSlidingItem = undefined;\n return true;\n }\n return false;\n }\n /**\n * Given an optional side, return the ion-item-options element.\n *\n * @param side This side of the options to get. If a side is not provided it will\n * return the first one available.\n */\n getOptions(side) {\n if (side === undefined) {\n return this.leftOptions || this.rightOptions;\n }\n else if (side === 'start') {\n return this.leftOptions;\n }\n else {\n return this.rightOptions;\n }\n }\n async updateOptions() {\n const options = this.el.querySelectorAll('ion-item-options');\n let sides = 0;\n // Reset left and right options in case they were removed\n this.leftOptions = this.rightOptions = undefined;\n for (let i = 0; i < options.length; i++) {\n const item = options.item(i);\n /**\n * We cannot use the componentOnReady helper\n * util here since we need to wait for all of these items\n * to be ready before we set `this.sides` and `this.optsDirty`.\n */\n const option = item.componentOnReady !== undefined ? await item.componentOnReady() : item;\n const side = isEndSide(option.side) ? 'end' : 'start';\n if (side === 'start') {\n this.leftOptions = option;\n sides |= 1 /* Start */;\n }\n else {\n this.rightOptions = option;\n sides |= 2 /* End */;\n }\n }\n this.optsDirty = true;\n this.sides = sides;\n }\n canStart(gesture) {\n /**\n * If very close to start of the screen\n * do not open left side so swipe to go\n * back will still work.\n */\n const rtl = document.dir === 'rtl';\n const atEdge = rtl ? window.innerWidth - gesture.startX < 15 : gesture.startX < 15;\n if (atEdge) {\n return false;\n }\n const selected = openSlidingItem;\n if (selected && selected !== this.el) {\n this.closeOpened();\n }\n return !!(this.rightOptions || this.leftOptions);\n }\n onStart() {\n /**\n * We need to query for the ion-item\n * every time the gesture starts. Developers\n * may toggle ion-item elements via *ngIf.\n */\n this.item = this.el.querySelector('ion-item');\n const { contentEl } = this;\n if (contentEl) {\n this.initialContentScrollY = disableContentScrollY(contentEl);\n }\n openSlidingItem = this.el;\n if (this.tmr !== undefined) {\n clearTimeout(this.tmr);\n this.tmr = undefined;\n }\n if (this.openAmount === 0) {\n this.optsDirty = true;\n this.state = 4 /* Enabled */;\n }\n this.initialOpenAmount = this.openAmount;\n if (this.item) {\n this.item.style.transition = 'none';\n }\n }\n onMove(gesture) {\n if (this.optsDirty) {\n this.calculateOptsWidth();\n }\n let openAmount = this.initialOpenAmount - gesture.deltaX;\n switch (this.sides) {\n case 2 /* End */:\n openAmount = Math.max(0, openAmount);\n break;\n case 1 /* Start */:\n openAmount = Math.min(0, openAmount);\n break;\n case 3 /* Both */:\n break;\n case 0 /* None */:\n return;\n default:\n console.warn('invalid ItemSideFlags value', this.sides);\n break;\n }\n let optsWidth;\n if (openAmount > this.optsWidthRightSide) {\n optsWidth = this.optsWidthRightSide;\n openAmount = optsWidth + (openAmount - optsWidth) * ELASTIC_FACTOR;\n }\n else if (openAmount < -this.optsWidthLeftSide) {\n optsWidth = -this.optsWidthLeftSide;\n openAmount = optsWidth + (openAmount - optsWidth) * ELASTIC_FACTOR;\n }\n this.setOpenAmount(openAmount, false);\n }\n onEnd(gesture) {\n const { contentEl, initialContentScrollY } = this;\n if (contentEl) {\n resetContentScrollY(contentEl, initialContentScrollY);\n }\n const velocity = gesture.velocityX;\n let restingPoint = this.openAmount > 0 ? this.optsWidthRightSide : -this.optsWidthLeftSide;\n // Check if the drag didn't clear the buttons mid-point\n // and we aren't moving fast enough to swipe open\n const isResetDirection = this.openAmount > 0 === !(velocity < 0);\n const isMovingFast = Math.abs(velocity) > 0.3;\n const isOnCloseZone = Math.abs(this.openAmount) < Math.abs(restingPoint / 2);\n if (swipeShouldReset(isResetDirection, isMovingFast, isOnCloseZone)) {\n restingPoint = 0;\n }\n const state = this.state;\n this.setOpenAmount(restingPoint, true);\n if ((state & 32 /* SwipeEnd */) !== 0 && this.rightOptions) {\n this.rightOptions.fireSwipeEvent();\n }\n else if ((state & 64 /* SwipeStart */) !== 0 && this.leftOptions) {\n this.leftOptions.fireSwipeEvent();\n }\n }\n calculateOptsWidth() {\n this.optsWidthRightSide = 0;\n if (this.rightOptions) {\n this.rightOptions.style.display = 'flex';\n this.optsWidthRightSide = this.rightOptions.offsetWidth;\n this.rightOptions.style.display = '';\n }\n this.optsWidthLeftSide = 0;\n if (this.leftOptions) {\n this.leftOptions.style.display = 'flex';\n this.optsWidthLeftSide = this.leftOptions.offsetWidth;\n this.leftOptions.style.display = '';\n }\n this.optsDirty = false;\n }\n setOpenAmount(openAmount, isFinal) {\n if (this.tmr !== undefined) {\n clearTimeout(this.tmr);\n this.tmr = undefined;\n }\n if (!this.item) {\n return;\n }\n const style = this.item.style;\n this.openAmount = openAmount;\n if (isFinal) {\n style.transition = '';\n }\n if (openAmount > 0) {\n this.state =\n openAmount >= this.optsWidthRightSide + SWIPE_MARGIN\n ? 8 /* End */ | 32 /* SwipeEnd */\n : 8 /* End */;\n }\n else if (openAmount < 0) {\n this.state =\n openAmount <= -this.optsWidthLeftSide - SWIPE_MARGIN\n ? 16 /* Start */ | 64 /* SwipeStart */\n : 16 /* Start */;\n }\n else {\n /**\n * Item sliding cannot be interrupted\n * while closing the item. If it did,\n * it would allow the item to get into an\n * inconsistent state where multiple\n * items are then open at the same time.\n */\n if (this.gesture) {\n this.gesture.enable(false);\n }\n this.tmr = setTimeout(() => {\n this.state = 2 /* Disabled */;\n this.tmr = undefined;\n if (this.gesture) {\n this.gesture.enable(!this.disabled);\n }\n }, 600);\n openSlidingItem = undefined;\n style.transform = '';\n return;\n }\n style.transform = `translate3d(${-openAmount}px,0,0)`;\n this.ionDrag.emit({\n amount: openAmount,\n ratio: this.getSlidingRatioSync(),\n });\n }\n getSlidingRatioSync() {\n if (this.openAmount > 0) {\n return this.openAmount / this.optsWidthRightSide;\n }\n else if (this.openAmount < 0) {\n return this.openAmount / this.optsWidthLeftSide;\n }\n else {\n return 0;\n }\n }\n render() {\n const mode = getIonMode(this);\n return (h(Host, { class: {\n [mode]: true,\n 'item-sliding-active-slide': this.state !== 2 /* Disabled */,\n 'item-sliding-active-options-end': (this.state & 8 /* End */) !== 0,\n 'item-sliding-active-options-start': (this.state & 16 /* Start */) !== 0,\n 'item-sliding-active-swipe-end': (this.state & 32 /* SwipeEnd */) !== 0,\n 'item-sliding-active-swipe-start': (this.state & 64 /* SwipeStart */) !== 0,\n } }));\n }\n get el() { return getElement(this); }\n static get watchers() { return {\n \"disabled\": [\"disabledChanged\"]\n }; }\n};\nconst swipeShouldReset = (isResetDirection, isMovingFast, isOnResetZone) => {\n // The logic required to know when the sliding item should close (openAmount=0)\n // depends on three booleans (isResetDirection, isMovingFast, isOnResetZone)\n // and it ended up being too complicated to be written manually without errors\n // so the truth table is attached below: (0=false, 1=true)\n // isResetDirection | isMovingFast | isOnResetZone || shouldClose\n // 0 | 0 | 0 || 0\n // 0 | 0 | 1 || 1\n // 0 | 1 | 0 || 0\n // 0 | 1 | 1 || 0\n // 1 | 0 | 0 || 0\n // 1 | 0 | 1 || 1\n // 1 | 1 | 0 || 1\n // 1 | 1 | 1 || 1\n // The resulting expression was generated by resolving the K-map (Karnaugh map):\n return (!isMovingFast && isOnResetZone) || (isResetDirection && isMovingFast);\n};\nItemSliding.style = itemSlidingCss;\n\nexport { ItemOption as ion_item_option, ItemOptions as ion_item_options, ItemSliding as ion_item_sliding };\n"],"mappings":";;AAAA;AACA;AACA;AACA,SAASA,CAAC,IAAIC,gBAAd,EAAgCC,CAAhC,EAAmCC,CAAC,IAAIC,IAAxC,EAA8CC,CAAC,IAAIC,UAAnD,EAA+DC,CAAC,IAAIC,WAApE,QAAuF,qBAAvF;AACA,SAASC,CAAC,IAAIC,UAAd,QAAgC,4BAAhC;AACA,SAASC,CAAC,IAAIC,kBAAd,QAAwC,qBAAxC;AACA,SAASC,CAAC,IAAIC,SAAd,QAA+B,uBAA/B;AACA,SAASC,CAAC,IAAIC,qBAAd,EAAqCC,CAAC,IAAIC,qBAA1C,EAAiElB,CAAC,IAAImB,mBAAtE,QAAiG,qBAAjG;AACA,OAAO,qBAAP;AAEA,MAAMC,gBAAgB,GAAG,s/HAAzB;AAEA,MAAMC,eAAe,GAAG,o5HAAxB;AAEA,MAAMC,UAAU,GAAG,MAAM;EACvBC,WAAW,CAACC,OAAD,EAAU;IACnBvB,gBAAgB,CAAC,IAAD,EAAOuB,OAAP,CAAhB;IACA;AACJ;AACA;;IACI,KAAKC,QAAL,GAAgB,KAAhB;IACA;AACJ;AACA;;IACI,KAAKC,UAAL,GAAkB,KAAlB;IACA;AACJ;AACA;;IACI,KAAKC,IAAL,GAAY,QAAZ;;IACA,KAAKC,OAAL,GAAgBC,EAAD,IAAQ;MACrB,MAAMC,EAAE,GAAGD,EAAE,CAACE,MAAH,CAAUC,OAAV,CAAkB,iBAAlB,CAAX;;MACA,IAAIF,EAAJ,EAAQ;QACND,EAAE,CAACI,cAAH;MACD;IACF,CALD;EAMD;;EACDC,MAAM,GAAG;IACP,MAAM;MAAET,QAAF;MAAYC,UAAZ;MAAwBS;IAAxB,IAAiC,IAAvC;IACA,MAAMC,OAAO,GAAGD,IAAI,KAAKE,SAAT,GAAqB,QAArB,GAAgC,GAAhD;IACA,MAAMC,IAAI,GAAG5B,UAAU,CAAC,IAAD,CAAvB;IACA,MAAM6B,KAAK,GAAGH,OAAO,KAAK,QAAZ,GACV;MAAET,IAAI,EAAE,KAAKA;IAAb,CADU,GAEV;MACAa,QAAQ,EAAE,KAAKA,QADf;MAEAL,IAAI,EAAE,KAAKA,IAFX;MAGAJ,MAAM,EAAE,KAAKA;IAHb,CAFJ;IAOA,OAAQ7B,CAAC,CAACE,IAAD,EAAO;MAAEwB,OAAO,EAAE,KAAKA,OAAhB;MAAyBa,KAAK,EAAE7B,kBAAkB,CAAC,KAAK8B,KAAN,EAAa;QAC3E,CAACJ,IAAD,GAAQ,IADmE;QAE3E,wBAAwBb,QAFmD;QAG3E,0BAA0BC,UAHiD;QAI3E,mBAAmB;MAJwD,CAAb;IAAlD,CAAP,EAKDxB,CAAC,CAACkC,OAAD,EAAUO,MAAM,CAACC,MAAP,CAAc,EAAd,EAAkBL,KAAlB,EAAyB;MAAEE,KAAK,EAAE,eAAT;MAA0BI,IAAI,EAAE,QAAhC;MAA0CpB,QAAQ,EAAEA;IAApD,CAAzB,CAAV,EAAoGvB,CAAC,CAAC,MAAD,EAAS;MAAEuC,KAAK,EAAE;IAAT,CAAT,EAAoCvC,CAAC,CAAC,MAAD,EAAS;MAAE4C,IAAI,EAAE;IAAR,CAAT,CAArC,EAAgE5C,CAAC,CAAC,KAAD,EAAQ;MAAEuC,KAAK,EAAE;IAAT,CAAR,EAAyCvC,CAAC,CAAC,MAAD,EAAS;MAAE4C,IAAI,EAAE;IAAR,CAAT,CAA1C,EAAuE5C,CAAC,CAAC,MAAD,EAAS;MAAE4C,IAAI,EAAE;IAAR,CAAT,CAAxE,EAAyG5C,CAAC,CAAC,MAAD,EAAS,IAAT,CAA1G,EAA0HA,CAAC,CAAC,MAAD,EAAS;MAAE4C,IAAI,EAAE;IAAR,CAAT,CAA3H,CAAjE,EAAwN5C,CAAC,CAAC,MAAD,EAAS;MAAE4C,IAAI,EAAE;IAAR,CAAT,CAAzN,CAArG,EAA6VR,IAAI,KAAK,IAAT,IAAiBpC,CAAC,CAAC,mBAAD,EAAsB,IAAtB,CAA/W,CALA,CAAT;EAMD;;EACK,IAAF4B,EAAE,GAAG;IAAE,OAAOxB,UAAU,CAAC,IAAD,CAAjB;EAA0B;;AAxCd,CAAzB;AA0CAgB,UAAU,CAACyB,KAAX,GAAmB;EACjBC,GAAG,EAAE5B,gBADY;EAEjB6B,EAAE,EAAE5B;AAFa,CAAnB;AAKA,MAAM6B,iBAAiB,GAAG,m2EAA1B;AAEA,MAAMC,gBAAgB,GAAG,uyEAAzB;AAEA,MAAMC,WAAW,GAAG,MAAM;EACxB7B,WAAW,CAACC,OAAD,EAAU;IACnBvB,gBAAgB,CAAC,IAAD,EAAOuB,OAAP,CAAhB;IACA,KAAK6B,QAAL,GAAgB7C,WAAW,CAAC,IAAD,EAAO,UAAP,EAAmB,CAAnB,CAA3B;IACA;AACJ;AACA;AACA;;IACI,KAAK8C,IAAL,GAAY,KAAZ;EACD;EACD;;;EACMC,cAAc,GAAG;IAAA;;IAAA;MACrB,KAAI,CAACF,QAAL,CAAcG,IAAd,CAAmB;QACjBF,IAAI,EAAE,KAAI,CAACA;MADM,CAAnB;IADqB;EAItB;;EACDpB,MAAM,GAAG;IACP,MAAMI,IAAI,GAAG5B,UAAU,CAAC,IAAD,CAAvB;IACA,MAAM+C,KAAK,GAAG3C,SAAS,CAAC,KAAKwC,IAAN,CAAvB;IACA,OAAQpD,CAAC,CAACE,IAAD,EAAO;MAAEqC,KAAK,EAAE;QACrB,CAACH,IAAD,GAAQ,IADa;QAErB;QACA,CAAE,gBAAeA,IAAK,EAAtB,GAA0B,IAHL;QAIrB,sBAAsB,CAACmB,KAJF;QAKrB,oBAAoBA;MALC;IAAT,CAAP,CAAT;EAOD;;EACK,IAAF3B,EAAE,GAAG;IAAE,OAAOxB,UAAU,CAAC,IAAD,CAAjB;EAA0B;;AA3Bb,CAA1B;AA6BA8C,WAAW,CAACL,KAAZ,GAAoB;EAClBC,GAAG,EAAEE,iBADa;EAElBD,EAAE,EAAEE;AAFc,CAApB;AAKA,MAAMO,cAAc,GAAG,smDAAvB;AAEA,MAAMC,YAAY,GAAG,EAArB;AACA,MAAMC,cAAc,GAAG,IAAvB;AACA,IAAIC,eAAJ;AACA,MAAMC,WAAW,GAAG,MAAM;EACxBvC,WAAW,CAACC,OAAD,EAAU;IACnBvB,gBAAgB,CAAC,IAAD,EAAOuB,OAAP,CAAhB;IACA,KAAKuC,OAAL,GAAevD,WAAW,CAAC,IAAD,EAAO,SAAP,EAAkB,CAAlB,CAA1B;IACA,KAAKwD,IAAL,GAAY,IAAZ;IACA,KAAKC,UAAL,GAAkB,CAAlB;IACA,KAAKC,iBAAL,GAAyB,CAAzB;IACA,KAAKC,kBAAL,GAA0B,CAA1B;IACA,KAAKC,iBAAL,GAAyB,CAAzB;IACA,KAAKC,KAAL,GAAa;IAAE;IAAf;IACA,KAAKC,SAAL,GAAiB,IAAjB;IACA,KAAKC,SAAL,GAAiB,IAAjB;IACA,KAAKC,qBAAL,GAA6B,IAA7B;IACA,KAAKC,KAAL,GAAa;IAAE;IAAf;IACA;AACJ;AACA;;IACI,KAAKhD,QAAL,GAAgB,KAAhB;EACD;;EACDiD,eAAe,GAAG;IAChB,IAAI,KAAKC,OAAT,EAAkB;MAChB,KAAKA,OAAL,CAAaC,MAAb,CAAoB,CAAC,KAAKnD,QAA1B;IACD;EACF;;EACKoD,iBAAiB,GAAG;IAAA;;IAAA;MACxB,MAAI,CAACb,IAAL,GAAY,MAAI,CAAClC,EAAL,CAAQgD,aAAR,CAAsB,UAAtB,CAAZ;MACA,MAAI,CAACP,SAAL,GAAiBvD,qBAAqB,CAAC,MAAI,CAACc,EAAN,CAAtC;MACA,MAAM,MAAI,CAACiD,aAAL,EAAN;MACA,MAAI,CAACJ,OAAL,GAAe,OAAO,OAAO,qBAAP,CAAP,EAAsCK,aAAtC,CAAoD;QACjElD,EAAE,EAAE,MAAI,CAACA,EADwD;QAEjEmD,WAAW,EAAE,YAFoD;QAGjEC,eAAe,EAAE,GAHgD;QAIjEC,SAAS,EAAE,CAJsD;QAKjEC,QAAQ,EAAGvD,EAAD,IAAQ,MAAI,CAACuD,QAAL,CAAcvD,EAAd,CAL+C;QAMjEwD,OAAO,EAAE,MAAM,MAAI,CAACA,OAAL,EANkD;QAOjEC,MAAM,EAAGzD,EAAD,IAAQ,MAAI,CAACyD,MAAL,CAAYzD,EAAZ,CAPiD;QAQjE0D,KAAK,EAAG1D,EAAD,IAAQ,MAAI,CAAC0D,KAAL,CAAW1D,EAAX;MARkD,CAApD,CAAf;;MAUA,MAAI,CAAC6C,eAAL;IAdwB;EAezB;;EACDc,oBAAoB,GAAG;IACrB,IAAI,KAAKb,OAAT,EAAkB;MAChB,KAAKA,OAAL,CAAac,OAAb;MACA,KAAKd,OAAL,GAAetC,SAAf;IACD;;IACD,KAAK2B,IAAL,GAAY,IAAZ;IACA,KAAK0B,WAAL,GAAmB,KAAKC,YAAL,GAAoBtD,SAAvC;;IACA,IAAIwB,eAAe,KAAK,KAAK/B,EAA7B,EAAiC;MAC/B+B,eAAe,GAAGxB,SAAlB;IACD;EACF;EACD;AACF;AACA;;;EACEuD,aAAa,GAAG;IACd,OAAOC,OAAO,CAACC,OAAR,CAAgB,KAAK7B,UAArB,CAAP;EACD;EACD;AACF;AACA;AACA;AACA;AACA;AACA;;;EACE8B,eAAe,GAAG;IAChB,OAAOF,OAAO,CAACC,OAAR,CAAgB,KAAKE,mBAAL,EAAhB,CAAP;EACD;EACD;AACF;AACA;AACA;AACA;;;EACQC,IAAI,CAAC3C,IAAD,EAAO;IAAA;;IAAA;MACf,IAAI,MAAI,CAACU,IAAL,KAAc,IAAlB,EAAwB;QACtB;MACD;;MACD,MAAMkC,aAAa,GAAG,MAAI,CAACC,UAAL,CAAgB7C,IAAhB,CAAtB;;MACA,IAAI,CAAC4C,aAAL,EAAoB;QAClB;MACD;MACD;AACJ;AACA;AACA;;;MACI,IAAI5C,IAAI,KAAKjB,SAAb,EAAwB;QACtBiB,IAAI,GAAG4C,aAAa,KAAK,MAAI,CAACR,WAAvB,GAAqC,OAArC,GAA+C,KAAtD;MACD,CAdc,CAef;;;MACApC,IAAI,GAAGxC,SAAS,CAACwC,IAAD,CAAT,GAAkB,KAAlB,GAA0B,OAAjC;MACA,MAAM8C,WAAW,GAAG,MAAI,CAACnC,UAAL,GAAkB,CAAtC;MACA,MAAMoC,SAAS,GAAG,MAAI,CAACpC,UAAL,GAAkB,CAApC;MACA;AACJ;AACA;AACA;;MACI,IAAImC,WAAW,IAAIF,aAAa,KAAK,MAAI,CAACR,WAA1C,EAAuD;QACrD;MACD;;MACD,IAAIW,SAAS,IAAIH,aAAa,KAAK,MAAI,CAACP,YAAxC,EAAsD;QACpD;MACD;;MACD,MAAI,CAACW,WAAL;;MACA,MAAI,CAAC7B,KAAL,GAAa;MAAE;MAAf;MACA8B,qBAAqB,CAAC,MAAM;QAC1B,MAAI,CAACC,kBAAL;;QACA,MAAMC,KAAK,GAAGnD,IAAI,KAAK,KAAT,GAAiB,MAAI,CAACa,kBAAtB,GAA2C,CAAC,MAAI,CAACC,iBAA/D;QACAP,eAAe,GAAG,MAAI,CAAC/B,EAAvB;;QACA,MAAI,CAAC4E,aAAL,CAAmBD,KAAnB,EAA0B,KAA1B;;QACA,MAAI,CAAChC,KAAL,GAAanB,IAAI,KAAK,KAAT,GAAiB;QAAE;QAAnB,EAA+B;QAAG;QAA/C;MACD,CANoB,CAArB;IA/Be;EAsChB;EACD;AACF;AACA;;;EACQqD,KAAK,GAAG;IAAA;;IAAA;MACZ,MAAI,CAACD,aAAL,CAAmB,CAAnB,EAAsB,IAAtB;IADY;EAEb;EACD;AACF;AACA;;;EACQJ,WAAW,GAAG;IAAA;MAClB,IAAIzC,eAAe,KAAKxB,SAAxB,EAAmC;QACjCwB,eAAe,CAAC8C,KAAhB;QACA9C,eAAe,GAAGxB,SAAlB;QACA,OAAO,IAAP;MACD;;MACD,OAAO,KAAP;IANkB;EAOnB;EACD;AACF;AACA;AACA;AACA;AACA;;;EACE8D,UAAU,CAAC7C,IAAD,EAAO;IACf,IAAIA,IAAI,KAAKjB,SAAb,EAAwB;MACtB,OAAO,KAAKqD,WAAL,IAAoB,KAAKC,YAAhC;IACD,CAFD,MAGK,IAAIrC,IAAI,KAAK,OAAb,EAAsB;MACzB,OAAO,KAAKoC,WAAZ;IACD,CAFI,MAGA;MACH,OAAO,KAAKC,YAAZ;IACD;EACF;;EACKZ,aAAa,GAAG;IAAA;;IAAA;MACpB,MAAM6B,OAAO,GAAG,MAAI,CAAC9E,EAAL,CAAQ+E,gBAAR,CAAyB,kBAAzB,CAAhB;;MACA,IAAIxC,KAAK,GAAG,CAAZ,CAFoB,CAGpB;;MACA,MAAI,CAACqB,WAAL,GAAmB,MAAI,CAACC,YAAL,GAAoBtD,SAAvC;;MACA,KAAK,IAAIhC,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGuG,OAAO,CAACE,MAA5B,EAAoCzG,CAAC,EAArC,EAAyC;QACvC,MAAM2D,IAAI,GAAG4C,OAAO,CAAC5C,IAAR,CAAa3D,CAAb,CAAb;QACA;AACN;AACA;AACA;AACA;;QACM,MAAM0G,MAAM,GAAG/C,IAAI,CAACgD,gBAAL,KAA0B3E,SAA1B,SAA4C2B,IAAI,CAACgD,gBAAL,EAA5C,GAAsEhD,IAArF;QACA,MAAMV,IAAI,GAAGxC,SAAS,CAACiG,MAAM,CAACzD,IAAR,CAAT,GAAyB,KAAzB,GAAiC,OAA9C;;QACA,IAAIA,IAAI,KAAK,OAAb,EAAsB;UACpB,MAAI,CAACoC,WAAL,GAAmBqB,MAAnB;UACA1C,KAAK,IAAI;UAAE;UAAX;QACD,CAHD,MAIK;UACH,MAAI,CAACsB,YAAL,GAAoBoB,MAApB;UACA1C,KAAK,IAAI;UAAE;UAAX;QACD;MACF;;MACD,MAAI,CAACC,SAAL,GAAiB,IAAjB;MACA,MAAI,CAACD,KAAL,GAAaA,KAAb;IAxBoB;EAyBrB;;EACDe,QAAQ,CAACT,OAAD,EAAU;IAChB;AACJ;AACA;AACA;AACA;IACI,MAAMsC,GAAG,GAAGC,QAAQ,CAACC,GAAT,KAAiB,KAA7B;IACA,MAAMC,MAAM,GAAGH,GAAG,GAAGI,MAAM,CAACC,UAAP,GAAoB3C,OAAO,CAAC4C,MAA5B,GAAqC,EAAxC,GAA6C5C,OAAO,CAAC4C,MAAR,GAAiB,EAAhF;;IACA,IAAIH,MAAJ,EAAY;MACV,OAAO,KAAP;IACD;;IACD,MAAMI,QAAQ,GAAG3D,eAAjB;;IACA,IAAI2D,QAAQ,IAAIA,QAAQ,KAAK,KAAK1F,EAAlC,EAAsC;MACpC,KAAKwE,WAAL;IACD;;IACD,OAAO,CAAC,EAAE,KAAKX,YAAL,IAAqB,KAAKD,WAA5B,CAAR;EACD;;EACDL,OAAO,GAAG;IACR;AACJ;AACA;AACA;AACA;IACI,KAAKrB,IAAL,GAAY,KAAKlC,EAAL,CAAQgD,aAAR,CAAsB,UAAtB,CAAZ;IACA,MAAM;MAAEP;IAAF,IAAgB,IAAtB;;IACA,IAAIA,SAAJ,EAAe;MACb,KAAKC,qBAAL,GAA6BtD,qBAAqB,CAACqD,SAAD,CAAlD;IACD;;IACDV,eAAe,GAAG,KAAK/B,EAAvB;;IACA,IAAI,KAAK2F,GAAL,KAAapF,SAAjB,EAA4B;MAC1BqF,YAAY,CAAC,KAAKD,GAAN,CAAZ;MACA,KAAKA,GAAL,GAAWpF,SAAX;IACD;;IACD,IAAI,KAAK4B,UAAL,KAAoB,CAAxB,EAA2B;MACzB,KAAKK,SAAL,GAAiB,IAAjB;MACA,KAAKG,KAAL,GAAa;MAAE;MAAf;IACD;;IACD,KAAKP,iBAAL,GAAyB,KAAKD,UAA9B;;IACA,IAAI,KAAKD,IAAT,EAAe;MACb,KAAKA,IAAL,CAAUjB,KAAV,CAAgB4E,UAAhB,GAA6B,MAA7B;IACD;EACF;;EACDrC,MAAM,CAACX,OAAD,EAAU;IACd,IAAI,KAAKL,SAAT,EAAoB;MAClB,KAAKkC,kBAAL;IACD;;IACD,IAAIvC,UAAU,GAAG,KAAKC,iBAAL,GAAyBS,OAAO,CAACiD,MAAlD;;IACA,QAAQ,KAAKvD,KAAb;MACE,KAAK;MAAE;MAAP;QACEJ,UAAU,GAAG4D,IAAI,CAACC,GAAL,CAAS,CAAT,EAAY7D,UAAZ,CAAb;QACA;;MACF,KAAK;MAAE;MAAP;QACEA,UAAU,GAAG4D,IAAI,CAACE,GAAL,CAAS,CAAT,EAAY9D,UAAZ,CAAb;QACA;;MACF,KAAK;MAAE;MAAP;QACE;;MACF,KAAK;MAAE;MAAP;QACE;;MACF;QACE+D,OAAO,CAACC,IAAR,CAAa,6BAAb,EAA4C,KAAK5D,KAAjD;QACA;IAbJ;;IAeA,IAAI6D,SAAJ;;IACA,IAAIjE,UAAU,GAAG,KAAKE,kBAAtB,EAA0C;MACxC+D,SAAS,GAAG,KAAK/D,kBAAjB;MACAF,UAAU,GAAGiE,SAAS,GAAG,CAACjE,UAAU,GAAGiE,SAAd,IAA2BtE,cAApD;IACD,CAHD,MAIK,IAAIK,UAAU,GAAG,CAAC,KAAKG,iBAAvB,EAA0C;MAC7C8D,SAAS,GAAG,CAAC,KAAK9D,iBAAlB;MACAH,UAAU,GAAGiE,SAAS,GAAG,CAACjE,UAAU,GAAGiE,SAAd,IAA2BtE,cAApD;IACD;;IACD,KAAK8C,aAAL,CAAmBzC,UAAnB,EAA+B,KAA/B;EACD;;EACDsB,KAAK,CAACZ,OAAD,EAAU;IACb,MAAM;MAAEJ,SAAF;MAAaC;IAAb,IAAuC,IAA7C;;IACA,IAAID,SAAJ,EAAe;MACbpD,mBAAmB,CAACoD,SAAD,EAAYC,qBAAZ,CAAnB;IACD;;IACD,MAAM2D,QAAQ,GAAGxD,OAAO,CAACyD,SAAzB;IACA,IAAIC,YAAY,GAAG,KAAKpE,UAAL,GAAkB,CAAlB,GAAsB,KAAKE,kBAA3B,GAAgD,CAAC,KAAKC,iBAAzE,CANa,CAOb;IACA;;IACA,MAAMkE,gBAAgB,GAAG,KAAKrE,UAAL,GAAkB,CAAlB,KAAwB,EAAEkE,QAAQ,GAAG,CAAb,CAAjD;IACA,MAAMI,YAAY,GAAGV,IAAI,CAACW,GAAL,CAASL,QAAT,IAAqB,GAA1C;IACA,MAAMM,aAAa,GAAGZ,IAAI,CAACW,GAAL,CAAS,KAAKvE,UAAd,IAA4B4D,IAAI,CAACW,GAAL,CAASH,YAAY,GAAG,CAAxB,CAAlD;;IACA,IAAIK,gBAAgB,CAACJ,gBAAD,EAAmBC,YAAnB,EAAiCE,aAAjC,CAApB,EAAqE;MACnEJ,YAAY,GAAG,CAAf;IACD;;IACD,MAAM5D,KAAK,GAAG,KAAKA,KAAnB;IACA,KAAKiC,aAAL,CAAmB2B,YAAnB,EAAiC,IAAjC;;IACA,IAAI,CAAC5D,KAAK,GAAG;IAAG;IAAZ,MAAgC,CAAhC,IAAqC,KAAKkB,YAA9C,EAA4D;MAC1D,KAAKA,YAAL,CAAkBpC,cAAlB;IACD,CAFD,MAGK,IAAI,CAACkB,KAAK,GAAG;IAAG;IAAZ,MAAkC,CAAlC,IAAuC,KAAKiB,WAAhD,EAA6D;MAChE,KAAKA,WAAL,CAAiBnC,cAAjB;IACD;EACF;;EACDiD,kBAAkB,GAAG;IACnB,KAAKrC,kBAAL,GAA0B,CAA1B;;IACA,IAAI,KAAKwB,YAAT,EAAuB;MACrB,KAAKA,YAAL,CAAkB5C,KAAlB,CAAwB4F,OAAxB,GAAkC,MAAlC;MACA,KAAKxE,kBAAL,GAA0B,KAAKwB,YAAL,CAAkBiD,WAA5C;MACA,KAAKjD,YAAL,CAAkB5C,KAAlB,CAAwB4F,OAAxB,GAAkC,EAAlC;IACD;;IACD,KAAKvE,iBAAL,GAAyB,CAAzB;;IACA,IAAI,KAAKsB,WAAT,EAAsB;MACpB,KAAKA,WAAL,CAAiB3C,KAAjB,CAAuB4F,OAAvB,GAAiC,MAAjC;MACA,KAAKvE,iBAAL,GAAyB,KAAKsB,WAAL,CAAiBkD,WAA1C;MACA,KAAKlD,WAAL,CAAiB3C,KAAjB,CAAuB4F,OAAvB,GAAiC,EAAjC;IACD;;IACD,KAAKrE,SAAL,GAAiB,KAAjB;EACD;;EACDoC,aAAa,CAACzC,UAAD,EAAa4E,OAAb,EAAsB;IACjC,IAAI,KAAKpB,GAAL,KAAapF,SAAjB,EAA4B;MAC1BqF,YAAY,CAAC,KAAKD,GAAN,CAAZ;MACA,KAAKA,GAAL,GAAWpF,SAAX;IACD;;IACD,IAAI,CAAC,KAAK2B,IAAV,EAAgB;MACd;IACD;;IACD,MAAMjB,KAAK,GAAG,KAAKiB,IAAL,CAAUjB,KAAxB;IACA,KAAKkB,UAAL,GAAkBA,UAAlB;;IACA,IAAI4E,OAAJ,EAAa;MACX9F,KAAK,CAAC4E,UAAN,GAAmB,EAAnB;IACD;;IACD,IAAI1D,UAAU,GAAG,CAAjB,EAAoB;MAClB,KAAKQ,KAAL,GACER,UAAU,IAAI,KAAKE,kBAAL,GAA0BR,YAAxC,GACI;MAAE;MAAF,EAAc;MAAG;MADrB,EAEI;MAAE;MAHR;IAID,CALD,MAMK,IAAIM,UAAU,GAAG,CAAjB,EAAoB;MACvB,KAAKQ,KAAL,GACER,UAAU,IAAI,CAAC,KAAKG,iBAAN,GAA0BT,YAAxC,GACI;MAAG;MAAH,EAAiB;MAAG;MADxB,EAEI;MAAG;MAHT;IAID,CALI,MAMA;MACH;AACN;AACA;AACA;AACA;AACA;AACA;MACM,IAAI,KAAKgB,OAAT,EAAkB;QAChB,KAAKA,OAAL,CAAaC,MAAb,CAAoB,KAApB;MACD;;MACD,KAAK6C,GAAL,GAAWqB,UAAU,CAAC,MAAM;QAC1B,KAAKrE,KAAL,GAAa;QAAE;QAAf;QACA,KAAKgD,GAAL,GAAWpF,SAAX;;QACA,IAAI,KAAKsC,OAAT,EAAkB;UAChB,KAAKA,OAAL,CAAaC,MAAb,CAAoB,CAAC,KAAKnD,QAA1B;QACD;MACF,CANoB,EAMlB,GANkB,CAArB;MAOAoC,eAAe,GAAGxB,SAAlB;MACAU,KAAK,CAACgG,SAAN,GAAkB,EAAlB;MACA;IACD;;IACDhG,KAAK,CAACgG,SAAN,GAAmB,eAAc,CAAC9E,UAAW,SAA7C;IACA,KAAKF,OAAL,CAAaP,IAAb,CAAkB;MAChBwF,MAAM,EAAE/E,UADQ;MAEhBgF,KAAK,EAAE,KAAKjD,mBAAL;IAFS,CAAlB;EAID;;EACDA,mBAAmB,GAAG;IACpB,IAAI,KAAK/B,UAAL,GAAkB,CAAtB,EAAyB;MACvB,OAAO,KAAKA,UAAL,GAAkB,KAAKE,kBAA9B;IACD,CAFD,MAGK,IAAI,KAAKF,UAAL,GAAkB,CAAtB,EAAyB;MAC5B,OAAO,KAAKA,UAAL,GAAkB,KAAKG,iBAA9B;IACD,CAFI,MAGA;MACH,OAAO,CAAP;IACD;EACF;;EACDlC,MAAM,GAAG;IACP,MAAMI,IAAI,GAAG5B,UAAU,CAAC,IAAD,CAAvB;IACA,OAAQR,CAAC,CAACE,IAAD,EAAO;MAAEqC,KAAK,EAAE;QACrB,CAACH,IAAD,GAAQ,IADa;QAErB,6BAA6B,KAAKmC,KAAL,KAAe;QAAE;QAFzB;QAGrB,mCAAmC,CAAC,KAAKA,KAAL,GAAa;QAAE;QAAhB,MAA+B,CAH7C;QAIrB,qCAAqC,CAAC,KAAKA,KAAL,GAAa;QAAG;QAAjB,MAAkC,CAJlD;QAKrB,iCAAiC,CAAC,KAAKA,KAAL,GAAa;QAAG;QAAjB,MAAqC,CALjD;QAMrB,mCAAmC,CAAC,KAAKA,KAAL,GAAa;QAAG;QAAjB,MAAuC;MANrD;IAAT,CAAP,CAAT;EAQD;;EACK,IAAF3C,EAAE,GAAG;IAAE,OAAOxB,UAAU,CAAC,IAAD,CAAjB;EAA0B;;EAClB,WAAR4I,QAAQ,GAAG;IAAE,OAAO;MAC7B,YAAY,CAAC,iBAAD;IADiB,CAAP;EAEpB;;AAzWoB,CAA1B;;AA2WA,MAAMR,gBAAgB,GAAG,CAACJ,gBAAD,EAAmBC,YAAnB,EAAiCY,aAAjC,KAAmD;EAC1E;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA,OAAQ,CAACZ,YAAD,IAAiBY,aAAlB,IAAqCb,gBAAgB,IAAIC,YAAhE;AACD,CAhBD;;AAiBAzE,WAAW,CAACf,KAAZ,GAAoBW,cAApB;AAEA,SAASpC,UAAU,IAAI8H,eAAvB,EAAwChG,WAAW,IAAIiG,gBAAvD,EAAyEvF,WAAW,IAAIwF,gBAAxF"},"metadata":{},"sourceType":"module"}