f0d3f0ba3d3266a38fc2184c8553e385b8a4730a3505fc3ece872e2bc20d7cdb.json 82 KB

1
  1. {"ast":null,"code":"import _asyncToGenerator from \"F:/workspace/202226701027/huinongbao-app/node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js\";\n/*!\n * (C) Ionic http://ionicframework.com - MIT License\n */\nimport { r as registerInstance, h, f as Host, i as getElement, d as createEvent } from './index-28849c61.js';\nimport { c as createColorClasses } from './theme-01f3f29c.js';\nimport { b as getIonMode } from './ionic-global-c81d82ab.js';\nimport { n as isEndSide } from './helpers-da915de8.js';\nimport { f as findClosestIonContent, d as disableContentScrollY, r as resetContentScrollY } from './index-5cc724f3.js';\nimport { w as watchForOptions } from './watch-options-c2911ace.js';\nimport './index-9b0d46f4.js';\nconst itemOptionIosCss = \":host{--background:var(--ion-color-primary, #0054e9);--color:var(--ion-color-primary-contrast, #fff);background:var(--background);color:var(--color);font-family:var(--ion-font-family, inherit)}: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;-webkit-padding-start:0.7em;padding-inline-start:0.7em;-webkit-padding-end:0.7em;padding-inline-end: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}.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]){-webkit-margin-start:0;margin-inline-start:0;-webkit-margin-end:5px;margin-inline-end:5px;margin-top:0;margin-bottom:0}::slotted([slot=end]){-webkit-margin-start:5px;margin-inline-start:5px;-webkit-margin-end:0;margin-inline-end:0;margin-top:0;margin-bottom:0}::slotted([slot=icon-only]){padding-left:0;padding-right:0;padding-top:0;padding-bottom:0;-webkit-margin-start:10px;margin-inline-start:10px;-webkit-margin-end:10px;margin-inline-end:10px;margin-top:0;margin-bottom:0;min-width:0.9em;font-size:1.8em}: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:clamp(16px, 1rem, 35.2px)}:host(.ion-activated){background:var(--ion-color-primary-shade, #004acd)}:host(.ion-color.ion-activated){background:var(--ion-color-shade)}\";\nconst IonItemOptionIosStyle0 = itemOptionIosCss;\nconst itemOptionMdCss = \":host{--background:var(--ion-color-primary, #0054e9);--color:var(--ion-color-primary-contrast, #fff);background:var(--background);color:var(--color);font-family:var(--ion-font-family, inherit)}: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;-webkit-padding-start:0.7em;padding-inline-start:0.7em;-webkit-padding-end:0.7em;padding-inline-end: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}.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]){-webkit-margin-start:0;margin-inline-start:0;-webkit-margin-end:5px;margin-inline-end:5px;margin-top:0;margin-bottom:0}::slotted([slot=end]){-webkit-margin-start:5px;margin-inline-start:5px;-webkit-margin-end:0;margin-inline-end:0;margin-top:0;margin-bottom:0}::slotted([slot=icon-only]){padding-left:0;padding-right:0;padding-top:0;padding-bottom:0;-webkit-margin-start:10px;margin-inline-start:10px;-webkit-margin-end:10px;margin-inline-end:10px;margin-top:0;margin-bottom:0;min-width:0.9em;font-size:1.8em}: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:0.875rem;font-weight:500;text-transform:uppercase}\";\nconst IonItemOptionMdStyle0 = itemOptionMdCss;\nconst ItemOption = class {\n constructor(hostRef) {\n registerInstance(this, hostRef);\n this.onClick = ev => {\n const el = ev.target.closest('ion-item-option');\n if (el) {\n ev.preventDefault();\n }\n };\n this.color = undefined;\n this.disabled = false;\n this.download = undefined;\n this.expandable = false;\n this.href = undefined;\n this.rel = undefined;\n this.target = undefined;\n this.type = 'button';\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 key: '89310624997821858c1abde60c0ffb142ca466e0',\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({\n key: 'e4dfbb3048eed03a7f7e84c6f75545e0ca9b45fb'\n }, attrs, {\n class: \"button-native\",\n part: \"native\",\n disabled: disabled\n }), h(\"span\", {\n key: 'dffcf437fbdc15f2e7a19e60a015e90c73c8377d',\n class: \"button-inner\"\n }, h(\"slot\", {\n key: '48a23512e0601e062118d8b2c46c8bb96f25509f',\n name: \"top\"\n }), h(\"div\", {\n key: '952a9a9aa3a476aa1f4408d7e208bf9e916b8c30',\n class: \"horizontal-wrapper\"\n }, h(\"slot\", {\n key: 'f8d18a61c1ecec4a22a55443cf72bbc51383b64f',\n name: \"start\"\n }), h(\"slot\", {\n key: '1f9f219e6f879d2e0bf6d80cf0d3f518eb14ce0e',\n name: \"icon-only\"\n }), h(\"slot\", {\n key: 'a55adcdbe68131e5b1855c2dd45dd9454ab544fb'\n }), h(\"slot\", {\n key: '3c4c85a4fbb7efc797d8bc5adf6d238da022ff9f',\n name: \"end\"\n })), h(\"slot\", {\n key: '503c7e4b306745c523f57f24399ea06ba9b1e21d',\n name: \"bottom\"\n })), mode === 'md' && h(\"ion-ripple-effect\", {\n key: 'b0e270b0c4f3ff9f9b6d74bad12a9278d7633226'\n })));\n }\n get el() {\n return getElement(this);\n }\n};\nItemOption.style = {\n ios: IonItemOptionIosStyle0,\n md: IonItemOptionMdStyle0\n};\nconst itemOptionsIosCss = \"ion-item-options{top:0;right:0;-ms-flex-pack:end;justify-content:flex-end;display:none;position:absolute;height:100%;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;z-index:1}:host-context([dir=rtl]) ion-item-options{-ms-flex-pack:start;justify-content:flex-start}:host-context([dir=rtl]) ion-item-options:not(.item-options-end){right:auto;left:0;-ms-flex-pack:end;justify-content:flex-end}[dir=rtl] ion-item-options{-ms-flex-pack:start;justify-content:flex-start}[dir=rtl] ion-item-options:not(.item-options-end){right:auto;left:0;-ms-flex-pack:end;justify-content:flex-end}@supports selector(:dir(rtl)){ion-item-options:dir(rtl){-ms-flex-pack:start;justify-content:flex-start}ion-item-options:dir(rtl):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}:host-context([dir=rtl]) .item-options-start{-ms-flex-pack:end;justify-content:flex-end}[dir=rtl] .item-options-start{-ms-flex-pack:end;justify-content:flex-end}@supports selector(:dir(rtl)){.item-options-start:dir(rtl){-ms-flex-pack:end;justify-content:flex-end}}[dir=ltr] .item-options-start ion-item-option:first-child,[dir=rtl] .item-options-start ion-item-option:last-child{padding-left:var(--ion-safe-area-left)}[dir=ltr] .item-options-end ion-item-option:last-child,[dir=rtl] .item-options-end ion-item-option:first-child{padding-right:var(--ion-safe-area-right)}:host-context([dir=rtl]) .item-sliding-active-slide.item-sliding-active-options-start ion-item-options:not(.item-options-end){width:100%;visibility:visible}[dir=rtl] .item-sliding-active-slide.item-sliding-active-options-start ion-item-options:not(.item-options-end){width:100%;visibility:visible}@supports selector(:dir(rtl)){.item-sliding-active-slide:dir(rtl).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, var(--ion-background-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 IonItemOptionsIosStyle0 = itemOptionsIosCss;\nconst itemOptionsMdCss = \"ion-item-options{top:0;right:0;-ms-flex-pack:end;justify-content:flex-end;display:none;position:absolute;height:100%;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;z-index:1}:host-context([dir=rtl]) ion-item-options{-ms-flex-pack:start;justify-content:flex-start}:host-context([dir=rtl]) ion-item-options:not(.item-options-end){right:auto;left:0;-ms-flex-pack:end;justify-content:flex-end}[dir=rtl] ion-item-options{-ms-flex-pack:start;justify-content:flex-start}[dir=rtl] ion-item-options:not(.item-options-end){right:auto;left:0;-ms-flex-pack:end;justify-content:flex-end}@supports selector(:dir(rtl)){ion-item-options:dir(rtl){-ms-flex-pack:start;justify-content:flex-start}ion-item-options:dir(rtl):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}:host-context([dir=rtl]) .item-options-start{-ms-flex-pack:end;justify-content:flex-end}[dir=rtl] .item-options-start{-ms-flex-pack:end;justify-content:flex-end}@supports selector(:dir(rtl)){.item-options-start:dir(rtl){-ms-flex-pack:end;justify-content:flex-end}}[dir=ltr] .item-options-start ion-item-option:first-child,[dir=rtl] .item-options-start ion-item-option:last-child{padding-left:var(--ion-safe-area-left)}[dir=ltr] .item-options-end ion-item-option:last-child,[dir=rtl] .item-options-end ion-item-option:first-child{padding-right:var(--ion-safe-area-right)}:host-context([dir=rtl]) .item-sliding-active-slide.item-sliding-active-options-start ion-item-options:not(.item-options-end){width:100%;visibility:visible}[dir=rtl] .item-sliding-active-slide.item-sliding-active-options-start ion-item-options:not(.item-options-end){width:100%;visibility:visible}@supports selector(:dir(rtl)){.item-sliding-active-slide:dir(rtl).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, var(--ion-background-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 IonItemOptionsMdStyle0 = itemOptionsMdCss;\nconst ItemOptions = class {\n constructor(hostRef) {\n registerInstance(this, hostRef);\n this.ionSwipe = createEvent(this, \"ionSwipe\", 7);\n this.side = 'end';\n }\n /** @internal */\n fireSwipeEvent() {\n var _this = this;\n return _asyncToGenerator(function* () {\n _this.ionSwipe.emit({\n side: _this.side\n });\n })();\n }\n render() {\n const mode = getIonMode(this);\n const isEnd = isEndSide(this.side);\n return h(Host, {\n key: '6d91399d2aaaa81d514d0bbc8dffe53eeec25d36',\n class: {\n [mode]: true,\n // Used internally for styling\n [`item-options-${mode}`]: true,\n /**\n * Note: The \"start\" and \"end\" terms refer to the\n * direction ion-item-option instances within ion-item-options flow.\n * They do not refer to how ion-item-options flows within ion-item-sliding.\n * As a result, \"item-options-start\" means the ion-item-options container\n * always appears on the left, and \"item-options-end\" means the ion-item-options\n * container always appears on the right.\n */\n 'item-options-start': !isEnd,\n 'item-options-end': isEnd\n }\n });\n }\n get el() {\n return getElement(this);\n }\n};\nItemOptions.style = {\n ios: IonItemOptionsIosStyle0,\n md: IonItemOptionsMdStyle0\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-closing ion-item-options{pointer-events:none}.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}:host-context([dir=rtl]) .item-sliding-active-swipe-end .item-options-end .item-option-expandable{-ms-flex-order:-1;order:-1}[dir=rtl] .item-sliding-active-swipe-end .item-options-end .item-option-expandable{-ms-flex-order:-1;order:-1}@supports selector(:dir(rtl)){.item-sliding-active-swipe-end .item-options-end .item-option-expandable:dir(rtl){-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}:host-context([dir=rtl]) .item-sliding-active-swipe-start .item-options-start .item-option-expandable{-ms-flex-order:1;order:1}[dir=rtl] .item-sliding-active-swipe-start .item-options-start .item-option-expandable{-ms-flex-order:1;order:1}@supports selector(:dir(rtl)){.item-sliding-active-swipe-start .item-options-start .item-option-expandable:dir(rtl){-ms-flex-order:1;order:1}}\";\nconst IonItemSlidingStyle0 = itemSlidingCss;\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 /* ItemSide.None */;\n this.optsDirty = true;\n this.contentEl = null;\n this.initialContentScrollY = true;\n this.state = 2 /* SlidingState.Disabled */;\n this.disabled = false;\n }\n disabledChanged() {\n if (this.gesture) {\n this.gesture.enable(!this.disabled);\n }\n }\n connectedCallback() {\n var _this2 = this;\n return _asyncToGenerator(function* () {\n const {\n el\n } = _this2;\n _this2.item = el.querySelector('ion-item');\n _this2.contentEl = findClosestIonContent(el);\n /**\n * The MutationObserver needs to be added before we\n * call updateOptions below otherwise we may miss\n * ion-item-option elements that are added to the DOM\n * while updateOptions is running and before the MutationObserver\n * has been initialized.\n */\n _this2.mutationObserver = watchForOptions(el, 'ion-item-option', /*#__PURE__*/_asyncToGenerator(function* () {\n yield _this2.updateOptions();\n }));\n yield _this2.updateOptions();\n _this2.gesture = (yield import('./index-39782642.js')).createGesture({\n 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 _this2.disabledChanged();\n })();\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 if (this.mutationObserver) {\n this.mutationObserver.disconnect();\n this.mutationObserver = 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 open(side) {\n var _this3 = this;\n return _asyncToGenerator(function* () {\n var _a;\n /**\n * It is possible for the item to be added to the DOM\n * after the item-sliding component was created. As a result,\n * if this.item is null, then we should attempt to\n * query for the ion-item again.\n * However, if the item is already defined then\n * we do not query for it again.\n */\n const item = _this3.item = (_a = _this3.item) !== null && _a !== void 0 ? _a : _this3.el.querySelector('ion-item');\n if (item === null) {\n return;\n }\n const optionsToOpen = _this3.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 === _this3.leftOptions ? 'start' : 'end';\n }\n // In RTL we want to switch the sides\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 if (isStartOpen && optionsToOpen === _this3.leftOptions) {\n return;\n }\n if (isEndOpen && optionsToOpen === _this3.rightOptions) {\n return;\n }\n _this3.closeOpened();\n _this3.state = 4 /* SlidingState.Enabled */;\n requestAnimationFrame(() => {\n _this3.calculateOptsWidth();\n const width = side === 'end' ? _this3.optsWidthRightSide : -_this3.optsWidthLeftSide;\n openSlidingItem = _this3.el;\n _this3.setOpenAmount(width, false);\n _this3.state = side === 'end' ? 8 /* SlidingState.End */ : 16 /* SlidingState.Start */;\n });\n })();\n }\n /**\n * Close the sliding item. Items can also be closed from the [List](./list).\n */\n close() {\n var _this4 = this;\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 closeOpened() {\n return _asyncToGenerator(function* () {\n if (openSlidingItem !== undefined) {\n openSlidingItem.close();\n openSlidingItem = undefined;\n return true;\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 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 updateOptions() {\n var _this5 = this;\n return _asyncToGenerator(function* () {\n const options = _this5.el.querySelectorAll('ion-item-options');\n let sides = 0;\n // Reset left and right options in case they were removed\n _this5.leftOptions = _this5.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 // eslint-disable-next-line custom-rules/no-component-on-ready-method\n const option = item.componentOnReady !== undefined ? yield item.componentOnReady() : item;\n const side = isEndSide(option.side) ? 'end' : 'start';\n if (side === 'start') {\n _this5.leftOptions = option;\n sides |= 1 /* ItemSide.Start */;\n } else {\n _this5.rightOptions = option;\n sides |= 2 /* ItemSide.End */;\n }\n }\n _this5.optsDirty = true;\n _this5.sides = sides;\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 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 {\n contentEl\n } = 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 /* SlidingState.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 /* ItemSide.End */:\n openAmount = Math.max(0, openAmount);\n break;\n case 1 /* ItemSide.Start */:\n openAmount = Math.min(0, openAmount);\n break;\n case 3 /* ItemSide.Both */:\n break;\n case 0 /* ItemSide.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 } 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 {\n contentEl,\n initialContentScrollY\n } = 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 /* SlidingState.SwipeEnd */) !== 0 && this.rightOptions) {\n this.rightOptions.fireSwipeEvent();\n } else if ((state & 64 /* SlidingState.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 {\n el\n } = this;\n const style = this.item.style;\n this.openAmount = openAmount;\n if (isFinal) {\n style.transition = '';\n }\n if (openAmount > 0) {\n this.state = openAmount >= this.optsWidthRightSide + SWIPE_MARGIN ? 8 /* SlidingState.End */ | 32 /* SlidingState.SwipeEnd */ : 8 /* SlidingState.End */;\n } else if (openAmount < 0) {\n this.state = openAmount <= -this.optsWidthLeftSide - SWIPE_MARGIN ? 16 /* SlidingState.Start */ | 64 /* SlidingState.SwipeStart */ : 16 /* SlidingState.Start */;\n } else {\n /**\n * The sliding options should not be\n * clickable while the item is closing.\n */\n el.classList.add('item-sliding-closing');\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 /* SlidingState.Disabled */;\n this.tmr = undefined;\n if (this.gesture) {\n this.gesture.enable(!this.disabled);\n }\n el.classList.remove('item-sliding-closing');\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 } else if (this.openAmount < 0) {\n return this.openAmount / this.optsWidthLeftSide;\n } else {\n return 0;\n }\n }\n render() {\n const mode = getIonMode(this);\n return h(Host, {\n key: '47a3edd2ef2080ed9cfc2784277dea09785c7dc4',\n class: {\n [mode]: true,\n 'item-sliding-active-slide': this.state !== 2 /* SlidingState.Disabled */,\n 'item-sliding-active-options-end': (this.state & 8 /* SlidingState.End */) !== 0,\n 'item-sliding-active-options-start': (this.state & 16 /* SlidingState.Start */) !== 0,\n 'item-sliding-active-swipe-end': (this.state & 32 /* SlidingState.SwipeEnd */) !== 0,\n 'item-sliding-active-swipe-start': (this.state & 64 /* SlidingState.SwipeStart */) !== 0\n }\n });\n }\n get el() {\n return getElement(this);\n }\n static get watchers() {\n return {\n \"disabled\": [\"disabledChanged\"]\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};\nItemSliding.style = IonItemSlidingStyle0;\nexport { ItemOption as ion_item_option, ItemOptions as ion_item_options, ItemSliding as ion_item_sliding };","map":{"version":3,"names":["r","registerInstance","h","f","Host","i","getElement","d","createEvent","c","createColorClasses","b","getIonMode","n","isEndSide","findClosestIonContent","disableContentScrollY","resetContentScrollY","w","watchForOptions","itemOptionIosCss","IonItemOptionIosStyle0","itemOptionMdCss","IonItemOptionMdStyle0","ItemOption","constructor","hostRef","onClick","ev","el","target","closest","preventDefault","color","undefined","disabled","download","expandable","href","rel","type","render","TagType","mode","attrs","key","class","Object","assign","part","name","style","ios","md","itemOptionsIosCss","IonItemOptionsIosStyle0","itemOptionsMdCss","IonItemOptionsMdStyle0","ItemOptions","ionSwipe","side","fireSwipeEvent","_this","_asyncToGenerator","emit","isEnd","itemSlidingCss","IonItemSlidingStyle0","SWIPE_MARGIN","ELASTIC_FACTOR","openSlidingItem","ItemSliding","ionDrag","item","openAmount","initialOpenAmount","optsWidthRightSide","optsWidthLeftSide","sides","optsDirty","contentEl","initialContentScrollY","state","disabledChanged","gesture","enable","connectedCallback","_this2","querySelector","mutationObserver","updateOptions","createGesture","gestureName","gesturePriority","threshold","canStart","onStart","onMove","onEnd","disconnectedCallback","destroy","leftOptions","rightOptions","disconnect","getOpenAmount","Promise","resolve","getSlidingRatio","getSlidingRatioSync","open","_this3","_a","optionsToOpen","getOptions","isStartOpen","isEndOpen","closeOpened","requestAnimationFrame","calculateOptsWidth","width","setOpenAmount","close","_this4","_this5","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","classList","add","setTimeout","remove","transform","amount","ratio","watchers","isOnResetZone","ion_item_option","ion_item_options","ion_item_sliding"],"sources":["F:/workspace/202226701027/huinongbao-app/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, f as Host, i as getElement, d as createEvent } from './index-28849c61.js';\nimport { c as createColorClasses } from './theme-01f3f29c.js';\nimport { b as getIonMode } from './ionic-global-c81d82ab.js';\nimport { n as isEndSide } from './helpers-da915de8.js';\nimport { f as findClosestIonContent, d as disableContentScrollY, r as resetContentScrollY } from './index-5cc724f3.js';\nimport { w as watchForOptions } from './watch-options-c2911ace.js';\nimport './index-9b0d46f4.js';\n\nconst itemOptionIosCss = \":host{--background:var(--ion-color-primary, #0054e9);--color:var(--ion-color-primary-contrast, #fff);background:var(--background);color:var(--color);font-family:var(--ion-font-family, inherit)}: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;-webkit-padding-start:0.7em;padding-inline-start:0.7em;-webkit-padding-end:0.7em;padding-inline-end: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}.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]){-webkit-margin-start:0;margin-inline-start:0;-webkit-margin-end:5px;margin-inline-end:5px;margin-top:0;margin-bottom:0}::slotted([slot=end]){-webkit-margin-start:5px;margin-inline-start:5px;-webkit-margin-end:0;margin-inline-end:0;margin-top:0;margin-bottom:0}::slotted([slot=icon-only]){padding-left:0;padding-right:0;padding-top:0;padding-bottom:0;-webkit-margin-start:10px;margin-inline-start:10px;-webkit-margin-end:10px;margin-inline-end:10px;margin-top:0;margin-bottom:0;min-width:0.9em;font-size:1.8em}: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:clamp(16px, 1rem, 35.2px)}:host(.ion-activated){background:var(--ion-color-primary-shade, #004acd)}:host(.ion-color.ion-activated){background:var(--ion-color-shade)}\";\nconst IonItemOptionIosStyle0 = itemOptionIosCss;\n\nconst itemOptionMdCss = \":host{--background:var(--ion-color-primary, #0054e9);--color:var(--ion-color-primary-contrast, #fff);background:var(--background);color:var(--color);font-family:var(--ion-font-family, inherit)}: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;-webkit-padding-start:0.7em;padding-inline-start:0.7em;-webkit-padding-end:0.7em;padding-inline-end: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}.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]){-webkit-margin-start:0;margin-inline-start:0;-webkit-margin-end:5px;margin-inline-end:5px;margin-top:0;margin-bottom:0}::slotted([slot=end]){-webkit-margin-start:5px;margin-inline-start:5px;-webkit-margin-end:0;margin-inline-end:0;margin-top:0;margin-bottom:0}::slotted([slot=icon-only]){padding-left:0;padding-right:0;padding-top:0;padding-bottom:0;-webkit-margin-start:10px;margin-inline-start:10px;-webkit-margin-end:10px;margin-inline-end:10px;margin-top:0;margin-bottom:0;min-width:0.9em;font-size:1.8em}: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:0.875rem;font-weight:500;text-transform:uppercase}\";\nconst IonItemOptionMdStyle0 = itemOptionMdCss;\n\nconst ItemOption = class {\n constructor(hostRef) {\n registerInstance(this, hostRef);\n this.onClick = (ev) => {\n const el = ev.target.closest('ion-item-option');\n if (el) {\n ev.preventDefault();\n }\n };\n this.color = undefined;\n this.disabled = false;\n this.download = undefined;\n this.expandable = false;\n this.href = undefined;\n this.rel = undefined;\n this.target = undefined;\n this.type = 'button';\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, { key: '89310624997821858c1abde60c0ffb142ca466e0', 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({ key: 'e4dfbb3048eed03a7f7e84c6f75545e0ca9b45fb' }, attrs, { class: \"button-native\", part: \"native\", disabled: disabled }), h(\"span\", { key: 'dffcf437fbdc15f2e7a19e60a015e90c73c8377d', class: \"button-inner\" }, h(\"slot\", { key: '48a23512e0601e062118d8b2c46c8bb96f25509f', name: \"top\" }), h(\"div\", { key: '952a9a9aa3a476aa1f4408d7e208bf9e916b8c30', class: \"horizontal-wrapper\" }, h(\"slot\", { key: 'f8d18a61c1ecec4a22a55443cf72bbc51383b64f', name: \"start\" }), h(\"slot\", { key: '1f9f219e6f879d2e0bf6d80cf0d3f518eb14ce0e', name: \"icon-only\" }), h(\"slot\", { key: 'a55adcdbe68131e5b1855c2dd45dd9454ab544fb' }), h(\"slot\", { key: '3c4c85a4fbb7efc797d8bc5adf6d238da022ff9f', name: \"end\" })), h(\"slot\", { key: '503c7e4b306745c523f57f24399ea06ba9b1e21d', name: \"bottom\" })), mode === 'md' && h(\"ion-ripple-effect\", { key: 'b0e270b0c4f3ff9f9b6d74bad12a9278d7633226' }))));\n }\n get el() { return getElement(this); }\n};\nItemOption.style = {\n ios: IonItemOptionIosStyle0,\n md: IonItemOptionMdStyle0\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%;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;z-index:1}:host-context([dir=rtl]) ion-item-options{-ms-flex-pack:start;justify-content:flex-start}:host-context([dir=rtl]) ion-item-options:not(.item-options-end){right:auto;left:0;-ms-flex-pack:end;justify-content:flex-end}[dir=rtl] ion-item-options{-ms-flex-pack:start;justify-content:flex-start}[dir=rtl] ion-item-options:not(.item-options-end){right:auto;left:0;-ms-flex-pack:end;justify-content:flex-end}@supports selector(:dir(rtl)){ion-item-options:dir(rtl){-ms-flex-pack:start;justify-content:flex-start}ion-item-options:dir(rtl):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}:host-context([dir=rtl]) .item-options-start{-ms-flex-pack:end;justify-content:flex-end}[dir=rtl] .item-options-start{-ms-flex-pack:end;justify-content:flex-end}@supports selector(:dir(rtl)){.item-options-start:dir(rtl){-ms-flex-pack:end;justify-content:flex-end}}[dir=ltr] .item-options-start ion-item-option:first-child,[dir=rtl] .item-options-start ion-item-option:last-child{padding-left:var(--ion-safe-area-left)}[dir=ltr] .item-options-end ion-item-option:last-child,[dir=rtl] .item-options-end ion-item-option:first-child{padding-right:var(--ion-safe-area-right)}:host-context([dir=rtl]) .item-sliding-active-slide.item-sliding-active-options-start ion-item-options:not(.item-options-end){width:100%;visibility:visible}[dir=rtl] .item-sliding-active-slide.item-sliding-active-options-start ion-item-options:not(.item-options-end){width:100%;visibility:visible}@supports selector(:dir(rtl)){.item-sliding-active-slide:dir(rtl).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, var(--ion-background-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 IonItemOptionsIosStyle0 = itemOptionsIosCss;\n\nconst itemOptionsMdCss = \"ion-item-options{top:0;right:0;-ms-flex-pack:end;justify-content:flex-end;display:none;position:absolute;height:100%;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;z-index:1}:host-context([dir=rtl]) ion-item-options{-ms-flex-pack:start;justify-content:flex-start}:host-context([dir=rtl]) ion-item-options:not(.item-options-end){right:auto;left:0;-ms-flex-pack:end;justify-content:flex-end}[dir=rtl] ion-item-options{-ms-flex-pack:start;justify-content:flex-start}[dir=rtl] ion-item-options:not(.item-options-end){right:auto;left:0;-ms-flex-pack:end;justify-content:flex-end}@supports selector(:dir(rtl)){ion-item-options:dir(rtl){-ms-flex-pack:start;justify-content:flex-start}ion-item-options:dir(rtl):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}:host-context([dir=rtl]) .item-options-start{-ms-flex-pack:end;justify-content:flex-end}[dir=rtl] .item-options-start{-ms-flex-pack:end;justify-content:flex-end}@supports selector(:dir(rtl)){.item-options-start:dir(rtl){-ms-flex-pack:end;justify-content:flex-end}}[dir=ltr] .item-options-start ion-item-option:first-child,[dir=rtl] .item-options-start ion-item-option:last-child{padding-left:var(--ion-safe-area-left)}[dir=ltr] .item-options-end ion-item-option:last-child,[dir=rtl] .item-options-end ion-item-option:first-child{padding-right:var(--ion-safe-area-right)}:host-context([dir=rtl]) .item-sliding-active-slide.item-sliding-active-options-start ion-item-options:not(.item-options-end){width:100%;visibility:visible}[dir=rtl] .item-sliding-active-slide.item-sliding-active-options-start ion-item-options:not(.item-options-end){width:100%;visibility:visible}@supports selector(:dir(rtl)){.item-sliding-active-slide:dir(rtl).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, var(--ion-background-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 IonItemOptionsMdStyle0 = itemOptionsMdCss;\n\nconst ItemOptions = class {\n constructor(hostRef) {\n registerInstance(this, hostRef);\n this.ionSwipe = createEvent(this, \"ionSwipe\", 7);\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, { key: '6d91399d2aaaa81d514d0bbc8dffe53eeec25d36', class: {\n [mode]: true,\n // Used internally for styling\n [`item-options-${mode}`]: true,\n /**\n * Note: The \"start\" and \"end\" terms refer to the\n * direction ion-item-option instances within ion-item-options flow.\n * They do not refer to how ion-item-options flows within ion-item-sliding.\n * As a result, \"item-options-start\" means the ion-item-options container\n * always appears on the left, and \"item-options-end\" means the ion-item-options\n * container always appears on the right.\n */\n 'item-options-start': !isEnd,\n 'item-options-end': isEnd,\n } }));\n }\n get el() { return getElement(this); }\n};\nItemOptions.style = {\n ios: IonItemOptionsIosStyle0,\n md: IonItemOptionsMdStyle0\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-closing ion-item-options{pointer-events:none}.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}:host-context([dir=rtl]) .item-sliding-active-swipe-end .item-options-end .item-option-expandable{-ms-flex-order:-1;order:-1}[dir=rtl] .item-sliding-active-swipe-end .item-options-end .item-option-expandable{-ms-flex-order:-1;order:-1}@supports selector(:dir(rtl)){.item-sliding-active-swipe-end .item-options-end .item-option-expandable:dir(rtl){-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}:host-context([dir=rtl]) .item-sliding-active-swipe-start .item-options-start .item-option-expandable{-ms-flex-order:1;order:1}[dir=rtl] .item-sliding-active-swipe-start .item-options-start .item-option-expandable{-ms-flex-order:1;order:1}@supports selector(:dir(rtl)){.item-sliding-active-swipe-start .item-options-start .item-option-expandable:dir(rtl){-ms-flex-order:1;order:1}}\";\nconst IonItemSlidingStyle0 = itemSlidingCss;\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 /* ItemSide.None */;\n this.optsDirty = true;\n this.contentEl = null;\n this.initialContentScrollY = true;\n this.state = 2 /* SlidingState.Disabled */;\n this.disabled = false;\n }\n disabledChanged() {\n if (this.gesture) {\n this.gesture.enable(!this.disabled);\n }\n }\n async connectedCallback() {\n const { el } = this;\n this.item = el.querySelector('ion-item');\n this.contentEl = findClosestIonContent(el);\n /**\n * The MutationObserver needs to be added before we\n * call updateOptions below otherwise we may miss\n * ion-item-option elements that are added to the DOM\n * while updateOptions is running and before the MutationObserver\n * has been initialized.\n */\n this.mutationObserver = watchForOptions(el, 'ion-item-option', async () => {\n await this.updateOptions();\n });\n await this.updateOptions();\n this.gesture = (await import('./index-39782642.js')).createGesture({\n 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 if (this.mutationObserver) {\n this.mutationObserver.disconnect();\n this.mutationObserver = 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 var _a;\n /**\n * It is possible for the item to be added to the DOM\n * after the item-sliding component was created. As a result,\n * if this.item is null, then we should attempt to\n * query for the ion-item again.\n * However, if the item is already defined then\n * we do not query for it again.\n */\n const item = (this.item = (_a = this.item) !== null && _a !== void 0 ? _a : this.el.querySelector('ion-item'));\n if (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 /* SlidingState.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 /* SlidingState.End */ : 16 /* SlidingState.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 // eslint-disable-next-line custom-rules/no-component-on-ready-method\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 /* ItemSide.Start */;\n }\n else {\n this.rightOptions = option;\n sides |= 2 /* ItemSide.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 /* SlidingState.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 /* ItemSide.End */:\n openAmount = Math.max(0, openAmount);\n break;\n case 1 /* ItemSide.Start */:\n openAmount = Math.min(0, openAmount);\n break;\n case 3 /* ItemSide.Both */:\n break;\n case 0 /* ItemSide.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 /* SlidingState.SwipeEnd */) !== 0 && this.rightOptions) {\n this.rightOptions.fireSwipeEvent();\n }\n else if ((state & 64 /* SlidingState.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 { el } = this;\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 /* SlidingState.End */ | 32 /* SlidingState.SwipeEnd */\n : 8 /* SlidingState.End */;\n }\n else if (openAmount < 0) {\n this.state =\n openAmount <= -this.optsWidthLeftSide - SWIPE_MARGIN\n ? 16 /* SlidingState.Start */ | 64 /* SlidingState.SwipeStart */\n : 16 /* SlidingState.Start */;\n }\n else {\n /**\n * The sliding options should not be\n * clickable while the item is closing.\n */\n el.classList.add('item-sliding-closing');\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 /* SlidingState.Disabled */;\n this.tmr = undefined;\n if (this.gesture) {\n this.gesture.enable(!this.disabled);\n }\n el.classList.remove('item-sliding-closing');\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, { key: '47a3edd2ef2080ed9cfc2784277dea09785c7dc4', class: {\n [mode]: true,\n 'item-sliding-active-slide': this.state !== 2 /* SlidingState.Disabled */,\n 'item-sliding-active-options-end': (this.state & 8 /* SlidingState.End */) !== 0,\n 'item-sliding-active-options-start': (this.state & 16 /* SlidingState.Start */) !== 0,\n 'item-sliding-active-swipe-end': (this.state & 32 /* SlidingState.SwipeEnd */) !== 0,\n 'item-sliding-active-swipe-start': (this.state & 64 /* SlidingState.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 = IonItemSlidingStyle0;\n\nexport { ItemOption as ion_item_option, ItemOptions as ion_item_options, ItemSliding as ion_item_sliding };\n"],"mappings":"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","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]}