@ionic/core 8.8.7-dev.11778163906.173cadb1 → 8.8.7-dev.11778599050.191a48e3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/components/ion-item-option.js +1 -1
- package/components/ion-item-sliding.js +1 -1
- package/css/ionic/bundle.ionic.css.map +1 -1
- package/css/ionic/core.ionic.css.map +1 -1
- package/css/ionic/global.bundle.ionic.css.map +1 -1
- package/css/ionic/link.ionic.css.map +1 -1
- package/css/ionic/typography.ionic.css.map +1 -1
- package/dist/cjs/ion-item-option_3.cjs.entry.js +289 -39
- package/dist/cjs/ionic.cjs.js +1 -1
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/collection/components/item-option/item-option.ionic.css +2 -2
- package/dist/collection/components/item-sliding/item-sliding.ionic.css +211 -0
- package/dist/collection/components/item-sliding/item-sliding.js +284 -38
- package/dist/collection/components/item-sliding/{item-sliding.css → item-sliding.native.css} +78 -9
- package/dist/docs.json +1 -1
- package/dist/esm/ion-item-option_3.entry.js +289 -39
- package/dist/esm/ionic.js +1 -1
- package/dist/esm/loader.js +1 -1
- package/dist/ionic/ionic.esm.js +1 -1
- package/dist/ionic/p-c2894f9e.entry.js +4 -0
- package/dist/types/components/item-sliding/item-sliding.d.ts +17 -2
- package/hydrate/index.js +290 -40
- package/hydrate/index.mjs +290 -40
- package/package.json +2 -2
- package/dist/ionic/p-b0c54b4c.entry.js +0 -4
package/hydrate/index.mjs
CHANGED
|
@@ -21992,7 +21992,7 @@ class ItemGroup {
|
|
|
21992
21992
|
}; }
|
|
21993
21993
|
}
|
|
21994
21994
|
|
|
21995
|
-
const itemOptionIonicCss = () => `:host{background:var(--background);color:var(--color)}.button-native{color:inherit;font-family:inherit;font-size:inherit;font-style:inherit;font-weight:inherit;letter-spacing:inherit;text-align:inherit;text-decoration:inherit;text-indent:inherit;text-overflow:inherit;text-transform:inherit;white-space:inherit;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}: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}:host(.item-option-disabled){pointer-events:none}:host(.item-option-disabled) .button-native{cursor:default;pointer-events:none}:host{padding-left:0;padding-right:0;padding-top:0;padding-bottom:0;font-size:var(--token-font-size-350, 0.875rem);font-weight:var(--token-font-weight-medium, 500);letter-spacing:var(--token-font-letter-spacing-1, 1%);line-height:var(--token-font-line-height-500, var(--token-scale-500, 20px));text-decoration:none;text-transform:none}.button-native{-webkit-padding-start:var(--token-space-200, var(--token-scale-200, 8px));padding-inline-start:var(--token-space-200, var(--token-scale-200, 8px));-webkit-padding-end:var(--token-space-200, var(--token-scale-200, 8px));padding-inline-end:var(--token-space-200, var(--token-scale-200, 8px));padding-top:var(--token-space-200, var(--token-scale-200, 8px));padding-bottom:var(--token-space-200, var(--token-scale-200, 8px));min-width:var(--token-scale-1600, 64px);height:var(--token-scale-1600, 64px)}::slotted([slot=top]){margin-left:0;margin-right:0;margin-top:0;margin-bottom:var(--token-space-100, var(--token-scale-100, 4px))}::slotted([slot=bottom]){margin-left:0;margin-right:0;margin-top:var(--token-space-100, var(--token-scale-100, 4px));margin-bottom:0}::slotted([slot=start]){-webkit-margin-start:0;margin-inline-start:0;-webkit-margin-end:var(--token-space-100, var(--token-scale-100, 4px));margin-inline-end:var(--token-space-100, var(--token-scale-100, 4px));margin-top:0;margin-bottom:0}::slotted([slot=end]){-webkit-margin-start:var(--token-space-100, var(--token-scale-100, 4px));margin-inline-start:var(--token-space-100, var(--token-scale-100, 4px));-webkit-margin-end:0;margin-inline-end:0;margin-top:0;margin-bottom:0}::slotted(ion-icon),::slotted([slot=icon-only]){margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;width:var(--token-scale-500, 20px);min-width:initial;height:var(--token-scale-500, 20px)}:host(.item-option-round){border-radius:var(--token-border-radius-300, var(--token-scale-300, 12px))}:host(.item-option-soft){border-radius:var(--token-border-radius-200, var(--token-scale-200, 8px))}:host(.item-option-rectangular){border-radius:var(--token-border-radius-0, var(--token-scale-0, 0px))}:host(.item-option-disabled)::after{right:0;left:0;top:0;bottom:0;position:absolute;background-color:var(--token-state-disabled, rgba(255, 255, 255, 0.6));content:"";pointer-events:none}:host(.item-option-disabled) .button-native{opacity:1}:host(.item-option-subtle){--background:var(--ion-color-primary-subtle, var(--token-bg-primary-subtle-default, var(--token-semantics-primary-100, var(--token-primitives-blue-100, #e9ecfc))));--background-activated:var(--ion-color-primary-subtle-shade, var(--token-bg-primary-subtle-press, var(--token-semantics-primary-300, var(--token-primitives-blue-300, #d0d7fa))));--color:var(--ion-color-primary-subtle-contrast, var(--token-text-primary, var(--token-semantics-primary-900, var(--token-primitives-blue-900, #0d4bc3))))}:host(.item-option-subtle.ion-color){background:var(--ion-color-subtle-base);color:var(--ion-color-subtle-contrast)}:host(.item-option-bold){--background:var(--ion-color-primary, var(--token-bg-primary-base-default, var(--token-semantics-primary-base, var(--token-semantics-primary-700, var(--token-primitives-blue-700, #105cef)))));--background-activated:var(--ion-color-primary-shade, var(--token-bg-primary-base-press, var(--token-semantics-primary-900, var(--token-primitives-blue-900, #0d4bc3))));--color:var(--ion-color-primary-contrast, var(--token-text-inverse, var(--token-primitives-base-white, #ffffff)))}:host(.item-option-bold.ion-color){background:var(--ion-color-base);color:var(--ion-color-contrast)}:host(.item-option-
|
|
21995
|
+
const itemOptionIonicCss = () => `:host{background:var(--background);color:var(--color)}.button-native{color:inherit;font-family:inherit;font-size:inherit;font-style:inherit;font-weight:inherit;letter-spacing:inherit;text-align:inherit;text-decoration:inherit;text-indent:inherit;text-overflow:inherit;text-transform:inherit;white-space:inherit;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}: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}:host(.item-option-disabled){pointer-events:none}:host(.item-option-disabled) .button-native{cursor:default;pointer-events:none}:host{padding-left:0;padding-right:0;padding-top:0;padding-bottom:0;font-size:var(--token-font-size-350, 0.875rem);font-weight:var(--token-font-weight-medium, 500);letter-spacing:var(--token-font-letter-spacing-1, 1%);line-height:var(--token-font-line-height-500, var(--token-scale-500, 20px));text-decoration:none;text-transform:none}.button-native{-webkit-padding-start:var(--token-space-200, var(--token-scale-200, 8px));padding-inline-start:var(--token-space-200, var(--token-scale-200, 8px));-webkit-padding-end:var(--token-space-200, var(--token-scale-200, 8px));padding-inline-end:var(--token-space-200, var(--token-scale-200, 8px));padding-top:var(--token-space-200, var(--token-scale-200, 8px));padding-bottom:var(--token-space-200, var(--token-scale-200, 8px));min-width:var(--token-scale-1600, 64px);height:var(--token-scale-1600, 64px)}::slotted([slot=top]){margin-left:0;margin-right:0;margin-top:0;margin-bottom:var(--token-space-100, var(--token-scale-100, 4px))}::slotted([slot=bottom]){margin-left:0;margin-right:0;margin-top:var(--token-space-100, var(--token-scale-100, 4px));margin-bottom:0}::slotted([slot=start]){-webkit-margin-start:0;margin-inline-start:0;-webkit-margin-end:var(--token-space-100, var(--token-scale-100, 4px));margin-inline-end:var(--token-space-100, var(--token-scale-100, 4px));margin-top:0;margin-bottom:0}::slotted([slot=end]){-webkit-margin-start:var(--token-space-100, var(--token-scale-100, 4px));margin-inline-start:var(--token-space-100, var(--token-scale-100, 4px));-webkit-margin-end:0;margin-inline-end:0;margin-top:0;margin-bottom:0}::slotted(ion-icon),::slotted([slot=icon-only]){margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;width:var(--token-scale-500, 20px);min-width:initial;height:var(--token-scale-500, 20px)}:host(.item-option-round){border-radius:var(--token-border-radius-300, var(--token-scale-300, 12px))}:host(.item-option-soft){border-radius:var(--token-border-radius-200, var(--token-scale-200, 8px))}:host(.item-option-rectangular){border-radius:var(--token-border-radius-0, var(--token-scale-0, 0px))}:host(.item-option-disabled)::after{right:0;left:0;top:0;bottom:0;position:absolute;background-color:var(--token-state-disabled, rgba(255, 255, 255, 0.6));content:"";pointer-events:none}:host(.item-option-disabled) .button-native{opacity:1}:host(.item-option-subtle){--background:var(--ion-color-primary-subtle, var(--token-bg-primary-subtle-default, var(--token-semantics-primary-100, var(--token-primitives-blue-100, #e9ecfc))));--background-activated:var(--ion-color-primary-subtle-shade, var(--token-bg-primary-subtle-press, var(--token-semantics-primary-300, var(--token-primitives-blue-300, #d0d7fa))));--color:var(--ion-color-primary-subtle-contrast, var(--token-text-primary, var(--token-semantics-primary-900, var(--token-primitives-blue-900, #0d4bc3))))}:host(.item-option-subtle.ion-color){background:var(--ion-color-subtle-base);color:var(--ion-color-subtle-contrast)}:host(.item-option-bold){--background:var(--ion-color-primary, var(--token-bg-primary-base-default, var(--token-semantics-primary-base, var(--token-semantics-primary-700, var(--token-primitives-blue-700, #105cef)))));--background-activated:var(--ion-color-primary-shade, var(--token-bg-primary-base-press, var(--token-semantics-primary-900, var(--token-primitives-blue-900, #0d4bc3))));--color:var(--ion-color-primary-contrast, var(--token-text-inverse, var(--token-primitives-base-white, #ffffff)))}:host(.item-option-bold.ion-color){background:var(--ion-color-base);color:var(--ion-color-contrast)}:host(.item-option-expand-threshold){-webkit-filter:brightness(0.92);filter:brightness(0.92)}`;
|
|
21996
21996
|
|
|
21997
21997
|
const itemOptionIosCss = () => `:host{background:var(--background);color:var(--color)}.button-native{color:inherit;font-family:inherit;font-size:inherit;font-style:inherit;font-weight:inherit;letter-spacing:inherit;text-align:inherit;text-decoration:inherit;text-indent:inherit;text-overflow:inherit;text-transform:inherit;white-space:inherit;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}: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}:host(.item-option-disabled){pointer-events:none}:host(.item-option-disabled) .button-native{cursor:default;pointer-events:none}:host{--background:var(--ion-color-primary, #0054e9);--color:var(--ion-color-primary-contrast, #fff);font-family:var(--ion-font-family, inherit)}:host(.ion-color){background:var(--ion-color-base);color:var(--ion-color-contrast)}.button-native{-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}::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-disabled) .button-native{opacity:0.5}:host(.item-option-expandable){-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{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)}`;
|
|
21998
21998
|
|
|
@@ -22209,10 +22209,26 @@ const findCheckedOption = (node, tagName) => {
|
|
|
22209
22209
|
return options.find((o) => o.value === el.value);
|
|
22210
22210
|
};
|
|
22211
22211
|
|
|
22212
|
-
const
|
|
22212
|
+
const itemSlidingIonicCss = () => `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-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}}.item-sliding-transition-open .item{-webkit-transition:-webkit-transform var(--token-transition-time-250, 250ms) var(--token-transition-curve-smooth, cubic-bezier(0.25, 1, 0.5, 1));transition:-webkit-transform var(--token-transition-time-250, 250ms) var(--token-transition-curve-smooth, cubic-bezier(0.25, 1, 0.5, 1));transition:transform var(--token-transition-time-250, 250ms) var(--token-transition-curve-smooth, cubic-bezier(0.25, 1, 0.5, 1));transition:transform var(--token-transition-time-250, 250ms) var(--token-transition-curve-smooth, cubic-bezier(0.25, 1, 0.5, 1)), -webkit-transform var(--token-transition-time-250, 250ms) var(--token-transition-curve-smooth, cubic-bezier(0.25, 1, 0.5, 1))}.item-sliding-transition-snapback .item{-webkit-transition:-webkit-transform var(--token-transition-time-300, 300ms) var(--token-transition-curve-bounce, cubic-bezier(0.47, 0, 0.23, 1.38));transition:-webkit-transform var(--token-transition-time-300, 300ms) var(--token-transition-curve-bounce, cubic-bezier(0.47, 0, 0.23, 1.38));transition:transform var(--token-transition-time-300, 300ms) var(--token-transition-curve-bounce, cubic-bezier(0.47, 0, 0.23, 1.38));transition:transform var(--token-transition-time-300, 300ms) var(--token-transition-curve-bounce, cubic-bezier(0.47, 0, 0.23, 1.38)), -webkit-transform var(--token-transition-time-300, 300ms) var(--token-transition-curve-bounce, cubic-bezier(0.47, 0, 0.23, 1.38))}.item-sliding-confirm-item-in .item{-webkit-transition:-webkit-transform var(--token-transition-time-150, 150ms) var(--token-transition-curve-base, cubic-bezier(0.4, 0, 1, 1));transition:-webkit-transform var(--token-transition-time-150, 150ms) var(--token-transition-curve-base, cubic-bezier(0.4, 0, 1, 1));transition:transform var(--token-transition-time-150, 150ms) var(--token-transition-curve-base, cubic-bezier(0.4, 0, 1, 1));transition:transform var(--token-transition-time-150, 150ms) var(--token-transition-curve-base, cubic-bezier(0.4, 0, 1, 1)), -webkit-transform var(--token-transition-time-150, 150ms) var(--token-transition-curve-base, cubic-bezier(0.4, 0, 1, 1))}.item-sliding-confirm-item-back .item{-webkit-transition:-webkit-transform var(--token-transition-time-500, 500ms) var(--token-transition-curve-bounce, cubic-bezier(0.47, 0, 0.23, 1.38));transition:-webkit-transform var(--token-transition-time-500, 500ms) var(--token-transition-curve-bounce, cubic-bezier(0.47, 0, 0.23, 1.38));transition:transform var(--token-transition-time-500, 500ms) var(--token-transition-curve-bounce, cubic-bezier(0.47, 0, 0.23, 1.38));transition:transform var(--token-transition-time-500, 500ms) var(--token-transition-curve-bounce, cubic-bezier(0.47, 0, 0.23, 1.38)), -webkit-transform var(--token-transition-time-500, 500ms) var(--token-transition-curve-bounce, cubic-bezier(0.47, 0, 0.23, 1.38))}ion-item-option.item-sliding-expandable-width-in{-webkit-transition:width var(--token-transition-time-150, 150ms) var(--token-transition-curve-base, cubic-bezier(0.4, 0, 1, 1));transition:width var(--token-transition-time-150, 150ms) var(--token-transition-curve-base, cubic-bezier(0.4, 0, 1, 1))}ion-item-option.item-sliding-expandable-width-back{-webkit-transition:width var(--token-transition-time-500, 500ms) var(--token-transition-curve-bounce, cubic-bezier(0.47, 0, 0.23, 1.38));transition:width var(--token-transition-time-500, 500ms) var(--token-transition-curve-bounce, cubic-bezier(0.47, 0, 0.23, 1.38))}.item-sliding-active-slide .item{position:relative;opacity:1;z-index:var(--token-z-index-100, 100);pointer-events:none;will-change:transform}`;
|
|
22213
|
+
|
|
22214
|
+
const iosItemSlidingNativeCss = () => `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-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}}.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-slide.item-sliding-full-swipe-transition .item{-webkit-transition:-webkit-transform 250ms ease-out;transition:-webkit-transform 250ms ease-out;transition:transform 250ms ease-out;transition:transform 250ms ease-out, -webkit-transform 250ms ease-out}.item-sliding-active-slide.item-sliding-dragging .item{-webkit-transition:none;transition:none}`;
|
|
22215
|
+
|
|
22216
|
+
const mdItemSlidingNativeCss = () => `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-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}}.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-slide.item-sliding-full-swipe-transition .item{-webkit-transition:-webkit-transform 250ms ease-out;transition:-webkit-transform 250ms ease-out;transition:transform 250ms ease-out;transition:transform 250ms ease-out, -webkit-transform 250ms ease-out}.item-sliding-active-slide.item-sliding-dragging .item{-webkit-transition:none;transition:none}`;
|
|
22213
22217
|
|
|
22214
22218
|
const SWIPE_MARGIN = 30;
|
|
22215
22219
|
const ELASTIC_FACTOR = 0.55;
|
|
22220
|
+
const IONIC_ELASTIC_FACTOR = 0.15;
|
|
22221
|
+
const IONIC_SNAP_OPEN_RATIO = 0.4;
|
|
22222
|
+
const IONIC_EXPAND_TRIGGER = 40;
|
|
22223
|
+
const IONIC_FULL_SWIPE_VELOCITY_THRESHOLD = 400;
|
|
22224
|
+
const IONIC_OPEN_VELOCITY_THRESHOLD = 200;
|
|
22225
|
+
const IONIC_ACTION_BASE_WIDTH = 64;
|
|
22226
|
+
const IONIC_CONFIRM_PAUSE = 300;
|
|
22227
|
+
const FULL_SWIPE_TRANSITION_MS = 250;
|
|
22228
|
+
const IONIC_EXPAND_RESISTANCE_FACTOR = 0.95;
|
|
22229
|
+
/** Expandable, non-disabled option (matches item-option expandable class). */
|
|
22230
|
+
const EXPANDABLE_OPTION_SELECTOR = 'ion-item-option.item-option-expandable:not(.item-option-disabled)';
|
|
22231
|
+
const ITEM_OPTION_EXPAND_THRESHOLD_CLASS = 'item-option-expand-threshold';
|
|
22216
22232
|
let openSlidingItem;
|
|
22217
22233
|
/**
|
|
22218
22234
|
* @virtualProp {"ios" | "md"} mode - The mode determines the platform behaviors of the component.
|
|
@@ -22231,12 +22247,17 @@ class ItemSliding {
|
|
|
22231
22247
|
this.optsDirty = true;
|
|
22232
22248
|
this.contentEl = null;
|
|
22233
22249
|
this.initialContentScrollY = true;
|
|
22250
|
+
this.leftExpandableBaseWidth = IONIC_ACTION_BASE_WIDTH;
|
|
22251
|
+
this.rightExpandableBaseWidth = IONIC_ACTION_BASE_WIDTH;
|
|
22234
22252
|
this.state = 2 /* SlidingState.Disabled */;
|
|
22235
22253
|
/**
|
|
22236
22254
|
* If `true`, the user cannot interact with the sliding item.
|
|
22237
22255
|
*/
|
|
22238
22256
|
this.disabled = false;
|
|
22239
22257
|
}
|
|
22258
|
+
isIonicTheme() {
|
|
22259
|
+
return getIonTheme(this) === 'ionic';
|
|
22260
|
+
}
|
|
22240
22261
|
disabledChanged() {
|
|
22241
22262
|
if (this.gesture) {
|
|
22242
22263
|
this.gesture.enable(!this.disabled);
|
|
@@ -22436,7 +22457,7 @@ class ItemSliding {
|
|
|
22436
22457
|
if (!this.item) {
|
|
22437
22458
|
return resolve();
|
|
22438
22459
|
}
|
|
22439
|
-
this.
|
|
22460
|
+
this.el.classList.add('item-sliding-full-swipe-transition');
|
|
22440
22461
|
this.item.style.transform = `translate3d(${-position}px, 0, 0)`;
|
|
22441
22462
|
const id = setTimeout(resolve, duration);
|
|
22442
22463
|
signal.addEventListener('abort', () => {
|
|
@@ -22454,8 +22475,8 @@ class ItemSliding {
|
|
|
22454
22475
|
return maxWidth + SWIPE_MARGIN;
|
|
22455
22476
|
}
|
|
22456
22477
|
/**
|
|
22457
|
-
*
|
|
22458
|
-
*
|
|
22478
|
+
* Native (ios/md) full swipe: off-screen → fire swipe → return.
|
|
22479
|
+
* Ionic theme uses `animateIonicFullSwipe` instead (see `onEndIonic`).
|
|
22459
22480
|
*/
|
|
22460
22481
|
async animateFullSwipe(direction) {
|
|
22461
22482
|
const abortController = new AbortController();
|
|
@@ -22477,7 +22498,7 @@ class ItemSliding {
|
|
|
22477
22498
|
await this.delay(100, signal);
|
|
22478
22499
|
// Animate off-screen while maintaining the expanded state
|
|
22479
22500
|
const offScreenDistance = direction === 'end' ? window.innerWidth : -window.innerWidth;
|
|
22480
|
-
await this.animateToPosition(offScreenDistance,
|
|
22501
|
+
await this.animateToPosition(offScreenDistance, FULL_SWIPE_TRANSITION_MS, signal);
|
|
22481
22502
|
// Trigger action
|
|
22482
22503
|
if (options) {
|
|
22483
22504
|
options.fireSwipeEvent();
|
|
@@ -22485,7 +22506,7 @@ class ItemSliding {
|
|
|
22485
22506
|
// Small delay before returning
|
|
22486
22507
|
await this.delay(300, signal);
|
|
22487
22508
|
// Return to closed state
|
|
22488
|
-
await this.animateToPosition(0,
|
|
22509
|
+
await this.animateToPosition(0, FULL_SWIPE_TRANSITION_MS, signal);
|
|
22489
22510
|
}
|
|
22490
22511
|
catch (_a) {
|
|
22491
22512
|
// Animation was aborted (e.g. component disconnected). finally handles cleanup.
|
|
@@ -22493,8 +22514,8 @@ class ItemSliding {
|
|
|
22493
22514
|
finally {
|
|
22494
22515
|
this.animationAbortController = undefined;
|
|
22495
22516
|
// Reset state
|
|
22517
|
+
this.el.classList.remove('item-sliding-full-swipe-transition');
|
|
22496
22518
|
if (this.item) {
|
|
22497
|
-
this.item.style.transition = '';
|
|
22498
22519
|
this.item.style.transform = '';
|
|
22499
22520
|
}
|
|
22500
22521
|
this.openAmount = 0;
|
|
@@ -22507,6 +22528,160 @@ class ItemSliding {
|
|
|
22507
22528
|
}
|
|
22508
22529
|
}
|
|
22509
22530
|
}
|
|
22531
|
+
queryExpandableOption(options) {
|
|
22532
|
+
if (!options) {
|
|
22533
|
+
return undefined;
|
|
22534
|
+
}
|
|
22535
|
+
const expandableOptions = Array.from(options.querySelectorAll(EXPANDABLE_OPTION_SELECTOR));
|
|
22536
|
+
if (expandableOptions.length === 0) {
|
|
22537
|
+
return undefined;
|
|
22538
|
+
}
|
|
22539
|
+
if (expandableOptions.length === 1) {
|
|
22540
|
+
return expandableOptions[0];
|
|
22541
|
+
}
|
|
22542
|
+
const isRTL = document.dir === 'rtl';
|
|
22543
|
+
const isEndSide = options.classList.contains('item-options-end');
|
|
22544
|
+
// Match native edge behavior for multi-expandable configs
|
|
22545
|
+
const pickLast = (isEndSide && !isRTL) || (!isEndSide && isRTL);
|
|
22546
|
+
return pickLast ? expandableOptions[expandableOptions.length - 1] : expandableOptions[0];
|
|
22547
|
+
}
|
|
22548
|
+
getExpandableOption(direction) {
|
|
22549
|
+
return this.queryExpandableOption(direction === 'end' ? this.rightOptions : this.leftOptions);
|
|
22550
|
+
}
|
|
22551
|
+
getOpenDirectionFromAmount(openAmount) {
|
|
22552
|
+
if (openAmount > 0) {
|
|
22553
|
+
return 'end';
|
|
22554
|
+
}
|
|
22555
|
+
if (openAmount < 0) {
|
|
22556
|
+
return 'start';
|
|
22557
|
+
}
|
|
22558
|
+
return undefined;
|
|
22559
|
+
}
|
|
22560
|
+
getOptionsWidthForDirection(direction) {
|
|
22561
|
+
return direction === 'end' ? this.optsWidthRightSide : this.optsWidthLeftSide;
|
|
22562
|
+
}
|
|
22563
|
+
getExpandableBaseWidth(direction) {
|
|
22564
|
+
return direction === 'end' ? this.rightExpandableBaseWidth : this.leftExpandableBaseWidth;
|
|
22565
|
+
}
|
|
22566
|
+
setIonicExpandableWidth(direction, width) {
|
|
22567
|
+
const expandableOption = this.getExpandableOption(direction);
|
|
22568
|
+
if (!expandableOption) {
|
|
22569
|
+
return;
|
|
22570
|
+
}
|
|
22571
|
+
const style = expandableOption.style;
|
|
22572
|
+
const baseWidth = this.getExpandableBaseWidth(direction);
|
|
22573
|
+
style.width = `${Math.max(baseWidth, width)}px`;
|
|
22574
|
+
}
|
|
22575
|
+
resetIonicExpandableOptions() {
|
|
22576
|
+
[this.leftOptions, this.rightOptions].forEach((options) => {
|
|
22577
|
+
if (!options) {
|
|
22578
|
+
return;
|
|
22579
|
+
}
|
|
22580
|
+
options.querySelectorAll(EXPANDABLE_OPTION_SELECTOR).forEach((node) => {
|
|
22581
|
+
node.classList.remove(ITEM_OPTION_EXPAND_THRESHOLD_CLASS);
|
|
22582
|
+
});
|
|
22583
|
+
const expandableOption = this.queryExpandableOption(options);
|
|
22584
|
+
if (!expandableOption) {
|
|
22585
|
+
return;
|
|
22586
|
+
}
|
|
22587
|
+
expandableOption.style.width = '';
|
|
22588
|
+
expandableOption.classList.remove('item-sliding-expandable-open', 'item-sliding-expandable-snapback', 'item-sliding-expandable-width-in', 'item-sliding-expandable-width-back');
|
|
22589
|
+
});
|
|
22590
|
+
}
|
|
22591
|
+
updateIonicExpandableFromOpenAmount(openAmount, isFinal, previousOpenAmount) {
|
|
22592
|
+
var _a;
|
|
22593
|
+
if ((this.state & 128 /* SlidingState.AnimatingFullSwipe */) !== 0) {
|
|
22594
|
+
return;
|
|
22595
|
+
}
|
|
22596
|
+
const direction = this.getOpenDirectionFromAmount(openAmount);
|
|
22597
|
+
if (direction === undefined) {
|
|
22598
|
+
const previousDirection = this.getOpenDirectionFromAmount(previousOpenAmount);
|
|
22599
|
+
if (previousDirection === undefined) {
|
|
22600
|
+
this.resetIonicExpandableOptions();
|
|
22601
|
+
return;
|
|
22602
|
+
}
|
|
22603
|
+
(_a = this.queryExpandableOption(previousDirection === 'end' ? this.rightOptions : this.leftOptions)) === null || _a === void 0 ? void 0 : _a.classList.remove(ITEM_OPTION_EXPAND_THRESHOLD_CLASS);
|
|
22604
|
+
this.setIonicExpandableWidth(previousDirection, this.getExpandableBaseWidth(previousDirection));
|
|
22605
|
+
return;
|
|
22606
|
+
}
|
|
22607
|
+
const baseWidth = this.getExpandableBaseWidth(direction);
|
|
22608
|
+
const optionsWidth = this.getOptionsWidthForDirection(direction);
|
|
22609
|
+
const extraWidth = Math.max(0, Math.abs(openAmount) - optionsWidth);
|
|
22610
|
+
const resistedExtraWidth = isFinal ? extraWidth : extraWidth * IONIC_EXPAND_RESISTANCE_FACTOR;
|
|
22611
|
+
const targetWidth = baseWidth + resistedExtraWidth;
|
|
22612
|
+
const expandableOption = this.getExpandableOption(direction);
|
|
22613
|
+
if (expandableOption) {
|
|
22614
|
+
if (!isFinal && extraWidth >= IONIC_EXPAND_TRIGGER) {
|
|
22615
|
+
expandableOption.classList.add(ITEM_OPTION_EXPAND_THRESHOLD_CLASS);
|
|
22616
|
+
}
|
|
22617
|
+
else {
|
|
22618
|
+
expandableOption.classList.remove(ITEM_OPTION_EXPAND_THRESHOLD_CLASS);
|
|
22619
|
+
}
|
|
22620
|
+
}
|
|
22621
|
+
this.setIonicExpandableWidth(direction, targetWidth);
|
|
22622
|
+
}
|
|
22623
|
+
async animateIonicFullSwipe(direction) {
|
|
22624
|
+
const abortController = new AbortController();
|
|
22625
|
+
this.animationAbortController = abortController;
|
|
22626
|
+
const { signal } = abortController;
|
|
22627
|
+
const expandableOption = this.getExpandableOption(direction);
|
|
22628
|
+
const options = direction === 'end' ? this.rightOptions : this.leftOptions;
|
|
22629
|
+
if (this.gesture) {
|
|
22630
|
+
this.gesture.enable(false);
|
|
22631
|
+
}
|
|
22632
|
+
try {
|
|
22633
|
+
this.state =
|
|
22634
|
+
direction === 'end'
|
|
22635
|
+
? 8 /* SlidingState.End */ | 128 /* SlidingState.AnimatingFullSwipe */
|
|
22636
|
+
: 16 /* SlidingState.Start */ | 128 /* SlidingState.AnimatingFullSwipe */;
|
|
22637
|
+
if (!this.item) {
|
|
22638
|
+
return;
|
|
22639
|
+
}
|
|
22640
|
+
const itemWidth = this.el.offsetWidth || window.innerWidth;
|
|
22641
|
+
const baseWidth = this.getExpandableBaseWidth(direction);
|
|
22642
|
+
const expandableTargetWidth = Math.max(baseWidth, itemWidth - 16);
|
|
22643
|
+
const offScreenPosition = direction === 'end' ? itemWidth : -itemWidth;
|
|
22644
|
+
if (expandableOption) {
|
|
22645
|
+
expandableOption.classList.remove('item-sliding-expandable-width-back');
|
|
22646
|
+
expandableOption.classList.add('item-sliding-expandable-width-in');
|
|
22647
|
+
expandableOption.style.width = `${expandableTargetWidth}px`;
|
|
22648
|
+
}
|
|
22649
|
+
this.el.classList.remove('item-sliding-confirm-item-back');
|
|
22650
|
+
this.el.classList.add('item-sliding-confirm-item-in');
|
|
22651
|
+
this.item.style.transform = `translate3d(${-offScreenPosition}px, 0, 0)`;
|
|
22652
|
+
await this.delay(150, signal);
|
|
22653
|
+
options === null || options === void 0 ? void 0 : options.fireSwipeEvent();
|
|
22654
|
+
await this.delay(IONIC_CONFIRM_PAUSE, signal);
|
|
22655
|
+
if (expandableOption) {
|
|
22656
|
+
expandableOption.classList.remove('item-sliding-expandable-width-in');
|
|
22657
|
+
expandableOption.classList.add('item-sliding-expandable-width-back');
|
|
22658
|
+
expandableOption.style.width = `${baseWidth}px`;
|
|
22659
|
+
}
|
|
22660
|
+
this.el.classList.remove('item-sliding-confirm-item-in');
|
|
22661
|
+
this.el.classList.add('item-sliding-confirm-item-back');
|
|
22662
|
+
this.item.style.transform = 'translate3d(0, 0, 0)';
|
|
22663
|
+
await this.delay(500, signal);
|
|
22664
|
+
}
|
|
22665
|
+
catch (_a) {
|
|
22666
|
+
// Animation was aborted. finally handles cleanup.
|
|
22667
|
+
}
|
|
22668
|
+
finally {
|
|
22669
|
+
this.animationAbortController = undefined;
|
|
22670
|
+
this.el.classList.remove('item-sliding-confirm-item-in', 'item-sliding-confirm-item-back');
|
|
22671
|
+
if (this.item) {
|
|
22672
|
+
this.item.style.transform = '';
|
|
22673
|
+
}
|
|
22674
|
+
this.resetIonicExpandableOptions();
|
|
22675
|
+
this.openAmount = 0;
|
|
22676
|
+
this.state = 2 /* SlidingState.Disabled */;
|
|
22677
|
+
if (openSlidingItem === this.el) {
|
|
22678
|
+
openSlidingItem = undefined;
|
|
22679
|
+
}
|
|
22680
|
+
if (this.gesture) {
|
|
22681
|
+
this.gesture.enable(!this.disabled);
|
|
22682
|
+
}
|
|
22683
|
+
}
|
|
22684
|
+
}
|
|
22510
22685
|
async updateOptions() {
|
|
22511
22686
|
var _a;
|
|
22512
22687
|
const options = this.el.querySelectorAll('ion-item-options');
|
|
@@ -22574,7 +22749,12 @@ class ItemSliding {
|
|
|
22574
22749
|
}
|
|
22575
22750
|
this.initialOpenAmount = this.openAmount;
|
|
22576
22751
|
if (this.item) {
|
|
22577
|
-
this.
|
|
22752
|
+
if (this.isIonicTheme()) {
|
|
22753
|
+
this.el.classList.remove('item-sliding-transition-open', 'item-sliding-transition-snapback');
|
|
22754
|
+
}
|
|
22755
|
+
else {
|
|
22756
|
+
this.el.classList.add('item-sliding-dragging');
|
|
22757
|
+
}
|
|
22578
22758
|
}
|
|
22579
22759
|
}
|
|
22580
22760
|
onMove(gesture) {
|
|
@@ -22597,22 +22777,46 @@ class ItemSliding {
|
|
|
22597
22777
|
printIonWarning('[ion-item-sliding] - invalid ItemSideFlags value', this.sides);
|
|
22598
22778
|
break;
|
|
22599
22779
|
}
|
|
22600
|
-
|
|
22601
|
-
|
|
22602
|
-
|
|
22603
|
-
|
|
22780
|
+
if (this.isIonicTheme()) {
|
|
22781
|
+
if (openAmount > this.optsWidthRightSide) {
|
|
22782
|
+
const overDrag = openAmount - this.optsWidthRightSide;
|
|
22783
|
+
openAmount = this.optsWidthRightSide + overDrag * IONIC_ELASTIC_FACTOR;
|
|
22784
|
+
}
|
|
22785
|
+
else if (openAmount < -this.optsWidthLeftSide) {
|
|
22786
|
+
const overDrag = openAmount + this.optsWidthLeftSide;
|
|
22787
|
+
openAmount = -this.optsWidthLeftSide + overDrag * IONIC_ELASTIC_FACTOR;
|
|
22788
|
+
}
|
|
22604
22789
|
}
|
|
22605
|
-
else
|
|
22606
|
-
optsWidth
|
|
22607
|
-
|
|
22790
|
+
else {
|
|
22791
|
+
let optsWidth;
|
|
22792
|
+
if (openAmount > this.optsWidthRightSide) {
|
|
22793
|
+
optsWidth = this.optsWidthRightSide;
|
|
22794
|
+
openAmount = optsWidth + (openAmount - optsWidth) * ELASTIC_FACTOR;
|
|
22795
|
+
}
|
|
22796
|
+
else if (openAmount < -this.optsWidthLeftSide) {
|
|
22797
|
+
optsWidth = -this.optsWidthLeftSide;
|
|
22798
|
+
openAmount = optsWidth + (openAmount - optsWidth) * ELASTIC_FACTOR;
|
|
22799
|
+
}
|
|
22608
22800
|
}
|
|
22609
22801
|
this.setOpenAmount(openAmount, false);
|
|
22610
22802
|
}
|
|
22611
22803
|
onEnd(gesture) {
|
|
22804
|
+
this.el.classList.remove('item-sliding-dragging');
|
|
22805
|
+
this.restoreContentScrollAfterSlide();
|
|
22806
|
+
if (this.isIonicTheme()) {
|
|
22807
|
+
this.onEndIonic(gesture);
|
|
22808
|
+
}
|
|
22809
|
+
else {
|
|
22810
|
+
this.onEndNative(gesture);
|
|
22811
|
+
}
|
|
22812
|
+
}
|
|
22813
|
+
restoreContentScrollAfterSlide() {
|
|
22612
22814
|
const { contentEl, initialContentScrollY } = this;
|
|
22613
22815
|
if (contentEl) {
|
|
22614
22816
|
resetContentScrollY(contentEl, initialContentScrollY);
|
|
22615
22817
|
}
|
|
22818
|
+
}
|
|
22819
|
+
onEndNative(gesture) {
|
|
22616
22820
|
// Check for full swipe conditions with expandable options
|
|
22617
22821
|
const rawSwipeDistance = Math.abs(gesture.deltaX);
|
|
22618
22822
|
const direction = gesture.deltaX < 0 ? 'end' : 'start';
|
|
@@ -22649,17 +22853,64 @@ class ItemSliding {
|
|
|
22649
22853
|
this.leftOptions.fireSwipeEvent();
|
|
22650
22854
|
}
|
|
22651
22855
|
}
|
|
22856
|
+
onEndIonic(gesture) {
|
|
22857
|
+
const velocity = gesture.velocityX;
|
|
22858
|
+
const velocityX = velocity * 1000;
|
|
22859
|
+
const activeDirection = this.getOpenDirectionFromAmount(this.openAmount);
|
|
22860
|
+
if (activeDirection === undefined) {
|
|
22861
|
+
this.setOpenAmount(0, true);
|
|
22862
|
+
return;
|
|
22863
|
+
}
|
|
22864
|
+
const optionsWidth = this.getOptionsWidthForDirection(activeDirection);
|
|
22865
|
+
const extraWidth = Math.max(0, Math.abs(this.openAmount) - optionsWidth);
|
|
22866
|
+
const hasExpandable = this.hasExpandableOptions(activeDirection === 'end' ? this.rightOptions : this.leftOptions);
|
|
22867
|
+
const closeDirection = activeDirection === 'end'
|
|
22868
|
+
? velocityX > IONIC_FULL_SWIPE_VELOCITY_THRESHOLD
|
|
22869
|
+
: velocityX < -400;
|
|
22870
|
+
if (closeDirection) {
|
|
22871
|
+
this.setOpenAmount(0, true);
|
|
22872
|
+
return;
|
|
22873
|
+
}
|
|
22874
|
+
if (hasExpandable &&
|
|
22875
|
+
(extraWidth >= IONIC_EXPAND_TRIGGER ||
|
|
22876
|
+
(extraWidth > 0 && Math.abs(velocityX) > IONIC_FULL_SWIPE_VELOCITY_THRESHOLD))) {
|
|
22877
|
+
this.animateIonicFullSwipe(activeDirection).catch(() => {
|
|
22878
|
+
if (this.gesture) {
|
|
22879
|
+
this.gesture.enable(!this.disabled);
|
|
22880
|
+
}
|
|
22881
|
+
});
|
|
22882
|
+
return;
|
|
22883
|
+
}
|
|
22884
|
+
const flickOpen = activeDirection === 'end'
|
|
22885
|
+
? velocityX < -200
|
|
22886
|
+
: velocityX > IONIC_OPEN_VELOCITY_THRESHOLD;
|
|
22887
|
+
const fullOpen = activeDirection === 'end' ? this.optsWidthRightSide : -this.optsWidthLeftSide;
|
|
22888
|
+
const openThreshold = optionsWidth * IONIC_SNAP_OPEN_RATIO;
|
|
22889
|
+
const shouldSnapOpen = flickOpen || Math.abs(this.openAmount) > openThreshold;
|
|
22890
|
+
const restingPoint = shouldSnapOpen ? fullOpen : 0;
|
|
22891
|
+
this.setOpenAmount(restingPoint, true);
|
|
22892
|
+
}
|
|
22652
22893
|
calculateOptsWidth() {
|
|
22653
22894
|
this.optsWidthRightSide = 0;
|
|
22654
22895
|
if (this.rightOptions) {
|
|
22655
22896
|
this.rightOptions.style.display = 'flex';
|
|
22656
22897
|
this.optsWidthRightSide = this.rightOptions.offsetWidth;
|
|
22898
|
+
const rightExpandable = this.queryExpandableOption(this.rightOptions);
|
|
22899
|
+
if (rightExpandable) {
|
|
22900
|
+
rightExpandable.style.width = '';
|
|
22901
|
+
this.rightExpandableBaseWidth = Math.max(IONIC_ACTION_BASE_WIDTH, rightExpandable.getBoundingClientRect().width);
|
|
22902
|
+
}
|
|
22657
22903
|
this.rightOptions.style.display = '';
|
|
22658
22904
|
}
|
|
22659
22905
|
this.optsWidthLeftSide = 0;
|
|
22660
22906
|
if (this.leftOptions) {
|
|
22661
22907
|
this.leftOptions.style.display = 'flex';
|
|
22662
22908
|
this.optsWidthLeftSide = this.leftOptions.offsetWidth;
|
|
22909
|
+
const leftExpandable = this.queryExpandableOption(this.leftOptions);
|
|
22910
|
+
if (leftExpandable) {
|
|
22911
|
+
leftExpandable.style.width = '';
|
|
22912
|
+
this.leftExpandableBaseWidth = Math.max(IONIC_ACTION_BASE_WIDTH, leftExpandable.getBoundingClientRect().width);
|
|
22913
|
+
}
|
|
22663
22914
|
this.leftOptions.style.display = '';
|
|
22664
22915
|
}
|
|
22665
22916
|
this.optsDirty = false;
|
|
@@ -22674,35 +22925,30 @@ class ItemSliding {
|
|
|
22674
22925
|
}
|
|
22675
22926
|
const { el } = this;
|
|
22676
22927
|
const style = this.item.style;
|
|
22928
|
+
const previousOpenAmount = this.openAmount;
|
|
22677
22929
|
this.openAmount = openAmount;
|
|
22678
|
-
if (
|
|
22679
|
-
|
|
22930
|
+
if (this.isIonicTheme()) {
|
|
22931
|
+
this.updateIonicExpandableFromOpenAmount(openAmount, isFinal, previousOpenAmount);
|
|
22932
|
+
}
|
|
22933
|
+
if (this.isIonicTheme() && isFinal) {
|
|
22934
|
+
const closing = Math.abs(openAmount) < Math.abs(previousOpenAmount);
|
|
22935
|
+
if (closing) {
|
|
22936
|
+
this.el.classList.add('item-sliding-transition-snapback');
|
|
22937
|
+
}
|
|
22938
|
+
else {
|
|
22939
|
+
this.el.classList.add('item-sliding-transition-open');
|
|
22940
|
+
}
|
|
22680
22941
|
}
|
|
22681
22942
|
if (openAmount > 0) {
|
|
22682
|
-
this.
|
|
22683
|
-
|
|
22684
|
-
? 8 /* SlidingState.End */ | 32 /* SlidingState.SwipeEnd */
|
|
22685
|
-
: 8 /* SlidingState.End */;
|
|
22943
|
+
const fullSwipe = !this.isIonicTheme() && openAmount >= this.optsWidthRightSide + SWIPE_MARGIN;
|
|
22944
|
+
this.state = fullSwipe ? 8 /* SlidingState.End */ | 32 /* SlidingState.SwipeEnd */ : 8 /* SlidingState.End */;
|
|
22686
22945
|
}
|
|
22687
22946
|
else if (openAmount < 0) {
|
|
22688
|
-
this.
|
|
22689
|
-
|
|
22690
|
-
? 16 /* SlidingState.Start */ | 64 /* SlidingState.SwipeStart */
|
|
22691
|
-
: 16 /* SlidingState.Start */;
|
|
22947
|
+
const fullSwipe = !this.isIonicTheme() && openAmount <= -this.optsWidthLeftSide - SWIPE_MARGIN;
|
|
22948
|
+
this.state = fullSwipe ? 16 /* SlidingState.Start */ | 64 /* SlidingState.SwipeStart */ : 16 /* SlidingState.Start */;
|
|
22692
22949
|
}
|
|
22693
22950
|
else {
|
|
22694
|
-
/**
|
|
22695
|
-
* The sliding options should not be
|
|
22696
|
-
* clickable while the item is closing.
|
|
22697
|
-
*/
|
|
22698
22951
|
el.classList.add('item-sliding-closing');
|
|
22699
|
-
/**
|
|
22700
|
-
* Item sliding cannot be interrupted
|
|
22701
|
-
* while closing the item. If it did,
|
|
22702
|
-
* it would allow the item to get into an
|
|
22703
|
-
* inconsistent state where multiple
|
|
22704
|
-
* items are then open at the same time.
|
|
22705
|
-
*/
|
|
22706
22952
|
if (this.gesture) {
|
|
22707
22953
|
this.gesture.enable(false);
|
|
22708
22954
|
}
|
|
@@ -22737,7 +22983,7 @@ class ItemSliding {
|
|
|
22737
22983
|
}
|
|
22738
22984
|
render() {
|
|
22739
22985
|
const theme = getIonTheme(this);
|
|
22740
|
-
return (hAsync(Host, { key: '
|
|
22986
|
+
return (hAsync(Host, { key: 'ca0730d5ee00f245b6a139d9fb53fcc8c529a8c6', class: {
|
|
22741
22987
|
[theme]: true,
|
|
22742
22988
|
'item-sliding-active-slide': this.state !== 2 /* SlidingState.Disabled */,
|
|
22743
22989
|
'item-sliding-active-options-end': (this.state & 8 /* SlidingState.End */) !== 0,
|
|
@@ -22752,9 +22998,13 @@ class ItemSliding {
|
|
|
22752
22998
|
"disabledChanged": 0
|
|
22753
22999
|
}]
|
|
22754
23000
|
}; }
|
|
22755
|
-
static get style() { return
|
|
23001
|
+
static get style() { return {
|
|
23002
|
+
ionic: itemSlidingIonicCss(),
|
|
23003
|
+
ios: iosItemSlidingNativeCss(),
|
|
23004
|
+
md: mdItemSlidingNativeCss()
|
|
23005
|
+
}; }
|
|
22756
23006
|
static get cmpMeta() { return {
|
|
22757
|
-
"$flags$":
|
|
23007
|
+
"$flags$": 32,
|
|
22758
23008
|
"$tagName$": "ion-item-sliding",
|
|
22759
23009
|
"$members$": {
|
|
22760
23010
|
"disabled": [4],
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ionic/core",
|
|
3
|
-
"version": "8.8.7-dev.
|
|
3
|
+
"version": "8.8.7-dev.11778599050.191a48e3",
|
|
4
4
|
"description": "Base components for Ionic",
|
|
5
5
|
"engines": {
|
|
6
6
|
"node": ">= 16"
|
|
@@ -68,7 +68,7 @@
|
|
|
68
68
|
"fs-extra": "^9.0.1",
|
|
69
69
|
"jest": "^29.7.0",
|
|
70
70
|
"jest-cli": "^29.7.0",
|
|
71
|
-
"outsystems-design-tokens": "^1.3.
|
|
71
|
+
"outsystems-design-tokens": "^1.3.9",
|
|
72
72
|
"playwright-core": "^1.58.2",
|
|
73
73
|
"prettier": "^2.8.8",
|
|
74
74
|
"rollup": "^2.26.4",
|
|
@@ -1,4 +0,0 @@
|
|
|
1
|
-
/*!
|
|
2
|
-
* (C) Ionic http://ionicframework.com - MIT License
|
|
3
|
-
*/
|
|
4
|
-
import{r as t,h as i,d as e,g as n,c as o,f as s}from"./p-Omi_TcwW.js";import{c as r}from"./p-DaJxRxSQ.js";import{c as a}from"./p-CBV-BGvD.js";import{p as l}from"./p-CHE1xWbg.js";import{f as d,d as p,r as m}from"./p-DKWXAwlR.js";import{w as c}from"./p-Dtdm8lKC.js";import"./p-vXpMhGrs.js";const h=class{constructor(i){t(this,i),this.disabled=!1,this.expandable=!1,this.hue="subtle",this.type="button",this.onClick=t=>{t.target.closest("ion-item-option")&&t.preventDefault()}}getShape(){const t=a(this),{shape:i}=this;if("ionic"===t)return void 0===i?"round":i}render(){const{disabled:t,expandable:n,href:o,hue:s}=this,l=void 0===o?"button":"a",d=a(this),p=this.getShape(),m="button"===l?{type:this.type}:{download:this.download,href:this.href,target:this.target};return i(e,{key:"810fe351aa83d6e88cb0e2ebee307b3050e65b45",onClick:this.onClick,class:r(this.color,{[d]:!0,[`item-option-${p}`]:void 0!==p,[`item-option-${s}`]:void 0!==s,"item-option-disabled":t,"item-option-expandable":n,"ion-activatable":!0})},i(l,Object.assign({key:"6eb95c4f815e774d1b579a1fb2ddcad891966ca0"},m,{class:"button-native",part:"native",disabled:t}),i("span",{key:"5630c1bd31910f46b0a08017a98f7935f17385bf",class:"button-inner",part:"inner"},i("slot",{key:"081375e3b9683347008d08817ded21c61a374d93",name:"top"}),i("div",{key:"99d7dff311268ab4677397ab5a29b068f1cdf79b",class:"horizontal-wrapper",part:"container"},i("slot",{key:"b88858db83d847e3d49a84b75eb277500cb66fb3",name:"start"}),i("slot",{key:"8ca5149591a5e3285eff5078e1eb03554fb0713b",name:"icon-only"}),i("slot",{key:"a8229a5e11bf41926745ab71f6dcd2d2ca63806c"}),i("slot",{key:"9a497c0cb92fe14ad6b9063fa0946fcd75fb8c08",name:"end"})),i("slot",{key:"cae262fd2b7fad9e4bc9c02541fa17a6480ecf7f",name:"bottom"})),"md"===d&&i("ion-ripple-effect",{key:"7114b927480e6a9261c7568e036ecf38ec1680ab"})))}get el(){return n(this)}};h.style={ionic:':host{background:var(--background);color:var(--color)}.button-native{color:inherit;font-family:inherit;font-size:inherit;font-style:inherit;font-weight:inherit;letter-spacing:inherit;text-align:inherit;text-decoration:inherit;text-indent:inherit;text-overflow:inherit;text-transform:inherit;white-space:inherit;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}: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}:host(.item-option-disabled){pointer-events:none}:host(.item-option-disabled) .button-native{cursor:default;pointer-events:none}:host{padding-left:0;padding-right:0;padding-top:0;padding-bottom:0;font-size:var(--token-font-size-350, 0.875rem);font-weight:var(--token-font-weight-medium, 500);letter-spacing:var(--token-font-letter-spacing-1, 1%);line-height:var(--token-font-line-height-500, var(--token-scale-500, 20px));text-decoration:none;text-transform:none}.button-native{-webkit-padding-start:var(--token-space-200, var(--token-scale-200, 8px));padding-inline-start:var(--token-space-200, var(--token-scale-200, 8px));-webkit-padding-end:var(--token-space-200, var(--token-scale-200, 8px));padding-inline-end:var(--token-space-200, var(--token-scale-200, 8px));padding-top:var(--token-space-200, var(--token-scale-200, 8px));padding-bottom:var(--token-space-200, var(--token-scale-200, 8px));min-width:var(--token-scale-1600, 64px);height:var(--token-scale-1600, 64px)}::slotted([slot=top]){margin-left:0;margin-right:0;margin-top:0;margin-bottom:var(--token-space-100, var(--token-scale-100, 4px))}::slotted([slot=bottom]){margin-left:0;margin-right:0;margin-top:var(--token-space-100, var(--token-scale-100, 4px));margin-bottom:0}::slotted([slot=start]){-webkit-margin-start:0;margin-inline-start:0;-webkit-margin-end:var(--token-space-100, var(--token-scale-100, 4px));margin-inline-end:var(--token-space-100, var(--token-scale-100, 4px));margin-top:0;margin-bottom:0}::slotted([slot=end]){-webkit-margin-start:var(--token-space-100, var(--token-scale-100, 4px));margin-inline-start:var(--token-space-100, var(--token-scale-100, 4px));-webkit-margin-end:0;margin-inline-end:0;margin-top:0;margin-bottom:0}::slotted(ion-icon),::slotted([slot=icon-only]){margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;width:var(--token-scale-500, 20px);min-width:initial;height:var(--token-scale-500, 20px)}:host(.item-option-round){border-radius:var(--token-border-radius-300, var(--token-scale-300, 12px))}:host(.item-option-soft){border-radius:var(--token-border-radius-200, var(--token-scale-200, 8px))}:host(.item-option-rectangular){border-radius:var(--token-border-radius-0, var(--token-scale-0, 0px))}:host(.item-option-disabled)::after{right:0;left:0;top:0;bottom:0;position:absolute;background-color:var(--token-state-disabled, rgba(255, 255, 255, 0.6));content:"";pointer-events:none}:host(.item-option-disabled) .button-native{opacity:1}:host(.item-option-subtle){--background:var(--ion-color-primary-subtle, var(--token-bg-primary-subtle-default, var(--token-semantics-primary-100, var(--token-primitives-blue-100, #e9ecfc))));--background-activated:var(--ion-color-primary-subtle-shade, var(--token-bg-primary-subtle-press, var(--token-semantics-primary-300, var(--token-primitives-blue-300, #d0d7fa))));--color:var(--ion-color-primary-subtle-contrast, var(--token-text-primary, var(--token-semantics-primary-900, var(--token-primitives-blue-900, #0d4bc3))))}:host(.item-option-subtle.ion-color){background:var(--ion-color-subtle-base);color:var(--ion-color-subtle-contrast)}:host(.item-option-bold){--background:var(--ion-color-primary, var(--token-bg-primary-base-default, var(--token-semantics-primary-base, var(--token-semantics-primary-700, var(--token-primitives-blue-700, #105cef)))));--background-activated:var(--ion-color-primary-shade, var(--token-bg-primary-base-press, var(--token-semantics-primary-900, var(--token-primitives-blue-900, #0d4bc3))));--color:var(--ion-color-primary-contrast, var(--token-text-inverse, var(--token-primitives-base-white, #ffffff)))}:host(.item-option-bold.ion-color){background:var(--ion-color-base);color:var(--ion-color-contrast)}:host(.item-option-expandable){-webkit-transition-timing-function:var(--token-transition-curve-expressive, cubic-bezier(0.4, 0, 0.2, 1));transition-timing-function:var(--token-transition-curve-expressive, cubic-bezier(0.4, 0, 0.2, 1))}',ios:":host{background:var(--background);color:var(--color)}.button-native{color:inherit;font-family:inherit;font-size:inherit;font-style:inherit;font-weight:inherit;letter-spacing:inherit;text-align:inherit;text-decoration:inherit;text-indent:inherit;text-overflow:inherit;text-transform:inherit;white-space:inherit;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}: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}:host(.item-option-disabled){pointer-events:none}:host(.item-option-disabled) .button-native{cursor:default;pointer-events:none}:host{--background:var(--ion-color-primary, #0054e9);--color:var(--ion-color-primary-contrast, #fff);font-family:var(--ion-font-family, inherit)}:host(.ion-color){background:var(--ion-color-base);color:var(--ion-color-contrast)}.button-native{-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}::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-disabled) .button-native{opacity:0.5}:host(.item-option-expandable){-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{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)}",md:":host{background:var(--background);color:var(--color)}.button-native{color:inherit;font-family:inherit;font-size:inherit;font-style:inherit;font-weight:inherit;letter-spacing:inherit;text-align:inherit;text-decoration:inherit;text-indent:inherit;text-overflow:inherit;text-transform:inherit;white-space:inherit;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}: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}:host(.item-option-disabled){pointer-events:none}:host(.item-option-disabled) .button-native{cursor:default;pointer-events:none}:host{--background:var(--ion-color-primary, #0054e9);--color:var(--ion-color-primary-contrast, #fff);font-family:var(--ion-font-family, inherit)}:host(.ion-color){background:var(--ion-color-base);color:var(--ion-color-contrast)}.button-native{-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}::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-disabled) .button-native{opacity:0.5}:host(.item-option-expandable){-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{font-size:0.875rem;font-weight:500;text-transform:uppercase}"};const f=class{constructor(i){t(this,i),this.ionSwipe=o(this,"ionSwipe",7),this.side="end"}async fireSwipeEvent(){this.ionSwipe.emit({side:this.side})}render(){const t=a(this),n=l(this.side);return i(e,{key:"cc55282505679d51fb90ebf30869e930c71afbd4",class:{[t]:!0,[`item-options-${t}`]:!0,"item-options-start":!n,"item-options-end":n}})}get el(){return n(this)}};let b;f.style={ionic:"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}: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}ion-item-options{z-index:1}.item-options-ionic{-ms-flex-align:center;align-items:center;background:var(--token-bg-surface-default, var(--token-primitives-base-white, #ffffff));gap:var(--token-space-100, var(--token-scale-100, 4px))}[dir=ltr] .item-options-start ion-item-option:last-child,[dir=rtl] .item-options-start ion-item-option:first-child{margin-right:var(--token-space-200, var(--token-scale-200, 8px))}[dir=ltr] .item-options-start ion-item-option:first-child,[dir=rtl] .item-options-start ion-item-option:last-child{margin-left:calc(var(--token-space-200, var(--token-scale-200, 8px)) + var(--ion-safe-area-left, 0));padding-left:initial}[dir=ltr] .item-options-end ion-item-option:first-child,[dir=rtl] .item-options-end ion-item-option:last-child{margin-left:var(--token-space-200, var(--token-scale-200, 8px))}[dir=ltr] .item-options-end ion-item-option:last-child,[dir=rtl] .item-options-end ion-item-option:first-child{margin-right:calc(var(--token-space-200, var(--token-scale-200, 8px)) + var(--ion-safe-area-right, 0));padding-right:initial}",ios:"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}: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}ion-item-options{z-index:1}.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}",md:"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}: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}ion-item-options{z-index:1}.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}"};const g=class{constructor(i){t(this,i),this.ionDrag=o(this,"ionDrag",7),this.item=null,this.openAmount=0,this.initialOpenAmount=0,this.optsWidthRightSide=0,this.optsWidthLeftSide=0,this.sides=0,this.optsDirty=!0,this.contentEl=null,this.initialContentScrollY=!0,this.state=2,this.disabled=!1}disabledChanged(){this.gesture&&this.gesture.enable(!this.disabled)}async connectedCallback(){const{el:t}=this;this.item=t.querySelector("ion-item"),this.contentEl=d(t),this.mutationObserver=c(t,"ion-item-option",(async()=>{await this.updateOptions()})),await this.updateOptions(),this.gesture=(await import("./p-Cl0B-RWe.js")).createGesture({el:t,gestureName:"item-swipe",gesturePriority:100,threshold:5,canStart:t=>this.canStart(t),onStart:()=>this.onStart(),onMove:t=>this.onMove(t),onEnd:t=>this.onEnd(t)}),this.disabledChanged()}disconnectedCallback(){var t;this.gesture&&(this.gesture.destroy(),this.gesture=void 0),void 0!==this.tmr&&(clearTimeout(this.tmr),this.tmr=void 0),null===(t=this.animationAbortController)||void 0===t||t.abort(),this.item=null,this.leftOptions=this.rightOptions=void 0,b===this.el&&(b=void 0),this.mutationObserver&&(this.mutationObserver.disconnect(),this.mutationObserver=void 0)}getOpenAmount(){return Promise.resolve(this.openAmount)}getSlidingRatio(){return Promise.resolve(this.getSlidingRatioSync())}async open(t){var i;if(128&this.state)return;if(null===(this.item=null!==(i=this.item)&&void 0!==i?i:this.el.querySelector("ion-item")))return;const e=this.getOptions(t);e&&(void 0===t&&(t=e===this.leftOptions?"start":"end"),t=l(t)?"end":"start",this.openAmount<0&&e===this.leftOptions||this.openAmount>0&&e===this.rightOptions||(this.closeOpened(),this.state=4,requestAnimationFrame((()=>{this.calculateOptsWidth(),b=this.el,this.setOpenAmount("end"===t?this.optsWidthRightSide:-this.optsWidthLeftSide,!1),this.state="end"===t?8:16}))))}async close(){128&this.state||this.setOpenAmount(0,!0)}async closeOpened(){return void 0!==b&&(b.close(),b=void 0,!0)}getOptions(t){return void 0===t?this.leftOptions||this.rightOptions:"start"===t?this.leftOptions:this.rightOptions}hasExpandableOptions(t){if(!t)return!1;const i=t.querySelectorAll("ion-item-option");return Array.from(i).some((t=>!0===t.expandable&&!t.disabled))}delay(t,i){return new Promise(((e,n)=>{const o=setTimeout(e,t);i.addEventListener("abort",(()=>{clearTimeout(o),n(new DOMException("Animation cancelled","AbortError"))}),{once:!0})}))}animateToPosition(t,i,e){return new Promise(((n,o)=>{if(!this.item)return n();this.item.style.transition=`transform ${i}ms ease-out`,this.item.style.transform=`translate3d(${-t}px, 0, 0)`;const s=setTimeout(n,i);e.addEventListener("abort",(()=>{clearTimeout(s),o(new DOMException("Animation cancelled","AbortError"))}),{once:!0})}))}getSwipeThreshold(t){return("end"===t?this.optsWidthRightSide:this.optsWidthLeftSide)+30}async animateFullSwipe(t){const i=new AbortController;this.animationAbortController=i;const{signal:e}=i;this.gesture&&this.gesture.enable(!1);try{const i="end"===t?this.rightOptions:this.leftOptions;this.state="end"===t?168:208,await this.delay(100,e);const n="end"===t?window.innerWidth:-window.innerWidth;await this.animateToPosition(n,250,e),i&&i.fireSwipeEvent(),await this.delay(300,e),await this.animateToPosition(0,250,e)}catch(t){}finally{this.animationAbortController=void 0,this.item&&(this.item.style.transition="",this.item.style.transform=""),this.openAmount=0,this.state=2,b===this.el&&(b=void 0),this.gesture&&this.gesture.enable(!this.disabled)}}async updateOptions(){var t;const i=this.el.querySelectorAll("ion-item-options");let e=0;this.leftOptions=this.rightOptions=void 0;for(let n=0;n<i.length;n++){const o=i.item(n),s=void 0!==o.componentOnReady?await o.componentOnReady():o;"start"==(l(null!==(t=s.side)&&void 0!==t?t:s.getAttribute("side"))?"end":"start")?(this.leftOptions=s,e|=1):(this.rightOptions=s,e|=2)}this.optsDirty=!0,this.sides=e}canStart(t){return!("rtl"===document.dir?window.innerWidth-t.startX<15:t.startX<15)&&(b&&b!==this.el&&this.closeOpened(),!(!this.rightOptions&&!this.leftOptions))}onStart(){this.item=this.el.querySelector("ion-item");const{contentEl:t}=this;t&&(this.initialContentScrollY=p(t)),b=this.el,void 0!==this.tmr&&(clearTimeout(this.tmr),this.tmr=void 0),0===this.openAmount&&(this.optsDirty=!0,this.state=4),this.initialOpenAmount=this.openAmount,this.item&&(this.item.style.transition="none")}onMove(t){this.optsDirty&&this.calculateOptsWidth();let i,e=this.initialOpenAmount-t.deltaX;switch(this.sides){case 2:e=Math.max(0,e);break;case 1:e=Math.min(0,e);break;case 3:break;case 0:return;default:s("[ion-item-sliding] - invalid ItemSideFlags value",this.sides)}e>this.optsWidthRightSide?(i=this.optsWidthRightSide,e=i+.55*(e-i)):e<-this.optsWidthLeftSide&&(i=-this.optsWidthLeftSide,e=i+.55*(e-i)),this.setOpenAmount(e,!1)}onEnd(t){const{contentEl:i,initialContentScrollY:e}=this;i&&m(i,e);const n=Math.abs(t.deltaX),o=t.deltaX<0?"end":"start";if(this.hasExpandableOptions("end"===o?this.rightOptions:this.leftOptions)&&(n>this.getSwipeThreshold(o)||Math.abs(t.velocityX)>.5&&n>.5*("end"===o?this.optsWidthRightSide:this.optsWidthLeftSide)))return void this.animateFullSwipe(o).catch((()=>{this.gesture&&this.gesture.enable(!this.disabled)}));const s=t.velocityX;let r=this.openAmount>0?this.optsWidthRightSide:-this.optsWidthLeftSide;const a=this.openAmount>0==!(s<0),l=Math.abs(s)>.3,d=Math.abs(this.openAmount)<Math.abs(r/2);v(a,l,d)&&(r=0);const p=this.state;this.setOpenAmount(r,!0),32&p&&this.rightOptions?this.rightOptions.fireSwipeEvent():64&p&&this.leftOptions&&this.leftOptions.fireSwipeEvent()}calculateOptsWidth(){this.optsWidthRightSide=0,this.rightOptions&&(this.rightOptions.style.display="flex",this.optsWidthRightSide=this.rightOptions.offsetWidth,this.rightOptions.style.display=""),this.optsWidthLeftSide=0,this.leftOptions&&(this.leftOptions.style.display="flex",this.optsWidthLeftSide=this.leftOptions.offsetWidth,this.leftOptions.style.display=""),this.optsDirty=!1}setOpenAmount(t,i){if(void 0!==this.tmr&&(clearTimeout(this.tmr),this.tmr=void 0),!this.item)return;const{el:e}=this,n=this.item.style;if(this.openAmount=t,i&&(n.transition=""),t>0)this.state=t>=this.optsWidthRightSide+30?40:8;else{if(!(t<0))return e.classList.add("item-sliding-closing"),this.gesture&&this.gesture.enable(!1),this.tmr=setTimeout((()=>{this.state=2,this.tmr=void 0,this.gesture&&this.gesture.enable(!this.disabled),e.classList.remove("item-sliding-closing")}),600),b=void 0,void(n.transform="");this.state=t<=-this.optsWidthLeftSide-30?80:16}n.transform=`translate3d(${-t}px,0,0)`,this.ionDrag.emit({amount:t,ratio:this.getSlidingRatioSync()})}getSlidingRatioSync(){return this.openAmount>0?this.openAmount/this.optsWidthRightSide:this.openAmount<0?this.openAmount/this.optsWidthLeftSide:0}render(){const t=a(this);return i(e,{key:"c945f30d9f7deb90d22064d4059e2b08f35614be",class:{[t]:!0,"item-sliding-active-slide":2!==this.state,"item-sliding-active-options-end":!!(8&this.state),"item-sliding-active-options-start":!!(16&this.state),"item-sliding-active-swipe-end":!!(32&this.state),"item-sliding-active-swipe-start":!!(64&this.state)}})}get el(){return n(this)}static get watchers(){return{disabled:[{disabledChanged:0}]}}},v=(t,i,e)=>!i&&e||t&&i;g.style="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}}";export{h as ion_item_option,f as ion_item_options,g as ion_item_sliding}
|