@ionic/core 8.7.2 → 8.7.3-dev.11755006024.11261c64

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.
Files changed (62) hide show
  1. package/components/ion-datetime.js +4 -3
  2. package/components/overlays.js +1 -97
  3. package/components/picker-column-option.js +3 -3
  4. package/components/picker-column.js +3 -39
  5. package/dist/cjs/index.cjs.js +1 -1
  6. package/dist/cjs/ion-action-sheet.cjs.entry.js +1 -1
  7. package/dist/cjs/ion-alert.cjs.entry.js +1 -1
  8. package/dist/cjs/ion-datetime_3.cjs.entry.js +4 -4
  9. package/dist/cjs/ion-loading.cjs.entry.js +1 -1
  10. package/dist/cjs/ion-menu_3.cjs.entry.js +1 -1
  11. package/dist/cjs/ion-modal.cjs.entry.js +1 -1
  12. package/dist/cjs/ion-picker-column-option.cjs.entry.js +3 -3
  13. package/dist/cjs/ion-picker-column.cjs.entry.js +3 -39
  14. package/dist/cjs/ion-popover.cjs.entry.js +1 -1
  15. package/dist/cjs/ion-select-modal.cjs.entry.js +1 -1
  16. package/dist/cjs/ion-select_3.cjs.entry.js +1 -1
  17. package/dist/cjs/ion-toast.cjs.entry.js +1 -1
  18. package/dist/cjs/{overlays-CglR7j-u.js → overlays-DsQx1liJ.js} +0 -96
  19. package/dist/collection/components/datetime/datetime.js +4 -3
  20. package/dist/collection/components/picker-column/picker-column.js +3 -39
  21. package/dist/collection/components/picker-column-option/picker-column-option.ios.css +2 -2
  22. package/dist/collection/components/picker-column-option/picker-column-option.js +1 -1
  23. package/dist/collection/components/picker-column-option/picker-column-option.md.css +2 -2
  24. package/dist/collection/utils/overlays.js +0 -97
  25. package/dist/docs.json +1 -1
  26. package/dist/esm/index.js +1 -1
  27. package/dist/esm/ion-action-sheet.entry.js +1 -1
  28. package/dist/esm/ion-alert.entry.js +1 -1
  29. package/dist/esm/ion-datetime_3.entry.js +4 -4
  30. package/dist/esm/ion-loading.entry.js +1 -1
  31. package/dist/esm/ion-menu_3.entry.js +1 -1
  32. package/dist/esm/ion-modal.entry.js +1 -1
  33. package/dist/esm/ion-picker-column-option.entry.js +3 -3
  34. package/dist/esm/ion-picker-column.entry.js +3 -39
  35. package/dist/esm/ion-popover.entry.js +1 -1
  36. package/dist/esm/ion-select-modal.entry.js +1 -1
  37. package/dist/esm/ion-select_3.entry.js +1 -1
  38. package/dist/esm/ion-toast.entry.js +1 -1
  39. package/dist/esm/{overlays-ZX_4-t_r.js → overlays-NqBaHPvD.js} +1 -97
  40. package/dist/ionic/index.esm.js +1 -1
  41. package/dist/ionic/ionic.esm.js +1 -1
  42. package/dist/ionic/{p-92e8f208.entry.js → p-25f16425.entry.js} +1 -1
  43. package/dist/ionic/{p-f2884bc2.entry.js → p-2b9eb6e6.entry.js} +1 -1
  44. package/dist/ionic/{p-982fe1c4.entry.js → p-4be3f593.entry.js} +1 -1
  45. package/dist/ionic/p-61646e84.entry.js +4 -0
  46. package/dist/ionic/{p-8d96a0cd.entry.js → p-6979d2fe.entry.js} +1 -1
  47. package/dist/ionic/{p-ac434970.entry.js → p-82f92e81.entry.js} +1 -1
  48. package/dist/ionic/p-8888efe4.entry.js +4 -0
  49. package/dist/ionic/p-Dks1yZU6.js +4 -0
  50. package/dist/ionic/{p-7bac2c5f.entry.js → p-abdfa903.entry.js} +1 -1
  51. package/dist/ionic/p-b292804d.entry.js +4 -0
  52. package/dist/ionic/{p-ab33ef20.entry.js → p-bbea41a8.entry.js} +1 -1
  53. package/dist/ionic/{p-c575e7ce.entry.js → p-cb155366.entry.js} +1 -1
  54. package/dist/ionic/{p-91d6ccb0.entry.js → p-ea415755.entry.js} +1 -1
  55. package/dist/types/components/picker-column/picker-column.d.ts +0 -7
  56. package/hydrate/index.js +9 -141
  57. package/hydrate/index.mjs +9 -141
  58. package/package.json +3 -3
  59. package/dist/ionic/p-1d5b934a.entry.js +0 -4
  60. package/dist/ionic/p-29032e49.entry.js +0 -4
  61. package/dist/ionic/p-CSwZyt05.js +0 -4
  62. package/dist/ionic/p-f456d176.entry.js +0 -4
@@ -1,4 +1,4 @@
1
1
  /*!
2
2
  * (C) Ionic http://ionicframework.com - MIT License
3
3
  */
4
- import{r as t,c as o,a as e,h as i,d as n,g as a}from"./p-4DxY6_gG.js";import{c as r}from"./p-CWvl4RPO.js";import{r as s}from"./p-C-Cct-6D.js";import{c}from"./p-B-hirT0v.js";import{d,e as l,B as h,i as b,f as p,g as u,h as g,s as f,j as m,k as v}from"./p-CSwZyt05.js";import{g as k}from"./p-DiVJyqlX.js";import{b as x}from"./p-Br3vSlYh.js";import{c as y}from"./p-C87oPMMF.js";import"./p-CKvCXMs9.js";import"./p-CIGNaXM1.js";import"./p-ZjP4CjeZ.js";import"./p-Cl0B-RWe.js";import"./p-BTEOs1at.js";import"./p-CvaZMP6T.js";import"./p-DAfH9Iif.js";const w=t=>{const o=y(),e=y(),i=y();return e.addElement(t.querySelector("ion-backdrop")).fromTo("opacity",.01,"var(--backdrop-opacity)").beforeStyles({"pointer-events":"none"}).afterClearStyles(["pointer-events"]),i.addElement(t.querySelector(".action-sheet-wrapper")).fromTo("transform","translateY(100%)","translateY(0%)"),o.addElement(t).easing("cubic-bezier(.36,.66,.04,1)").duration(400).addAnimation([e,i])},j=t=>{const o=y(),e=y(),i=y();return e.addElement(t.querySelector("ion-backdrop")).fromTo("opacity","var(--backdrop-opacity)",0),i.addElement(t.querySelector(".action-sheet-wrapper")).fromTo("transform","translateY(0%)","translateY(100%)"),o.addElement(t).easing("cubic-bezier(.36,.66,.04,1)").duration(450).addAnimation([e,i])},z=t=>{const o=y(),e=y(),i=y();return e.addElement(t.querySelector("ion-backdrop")).fromTo("opacity",.01,"var(--backdrop-opacity)").beforeStyles({"pointer-events":"none"}).afterClearStyles(["pointer-events"]),i.addElement(t.querySelector(".action-sheet-wrapper")).fromTo("transform","translateY(100%)","translateY(0%)"),o.addElement(t).easing("cubic-bezier(.36,.66,.04,1)").duration(400).addAnimation([e,i])},C=t=>{const o=y(),e=y(),i=y();return e.addElement(t.querySelector("ion-backdrop")).fromTo("opacity","var(--backdrop-opacity)",0),i.addElement(t.querySelector(".action-sheet-wrapper")).fromTo("transform","translateY(0%)","translateY(100%)"),o.addElement(t).easing("cubic-bezier(.36,.66,.04,1)").duration(450).addAnimation([e,i])},D=class{constructor(e){t(this,e),this.didPresent=o(this,"ionActionSheetDidPresent",7),this.willPresent=o(this,"ionActionSheetWillPresent",7),this.willDismiss=o(this,"ionActionSheetWillDismiss",7),this.didDismiss=o(this,"ionActionSheetDidDismiss",7),this.didPresentShorthand=o(this,"didPresent",7),this.willPresentShorthand=o(this,"willPresent",7),this.willDismissShorthand=o(this,"willDismiss",7),this.didDismissShorthand=o(this,"didDismiss",7),this.delegateController=d(this),this.lockController=c(),this.triggerController=l(),this.presented=!1,this.hasController=!1,this.keyboardClose=!0,this.buttons=[],this.backdropDismiss=!0,this.translucent=!1,this.animated=!0,this.isOpen=!1,this.onBackdropTap=()=>{this.dismiss(void 0,h)},this.dispatchCancelHandler=t=>{if(b(t.detail.role)){const t=this.getButtons().find((t=>"cancel"===t.role));this.callButtonHandler(t)}}}onIsOpenChange(t,o){!0===t&&!1===o?this.present():!1===t&&!0===o&&this.dismiss()}triggerChanged(){const{trigger:t,el:o,triggerController:e}=this;t&&e.addClickListener(o,t)}async present(){const t=await this.lockController.lock();await this.delegateController.attachViewToDom(),await p(this,"actionSheetEnter",w,z),t()}async dismiss(t,o){const e=await this.lockController.lock(),i=await u(this,t,o,"actionSheetLeave",j,C);return i&&this.delegateController.removeViewFromDom(),e(),i}onDidDismiss(){return g(this.el,"ionActionSheetDidDismiss")}onWillDismiss(){return g(this.el,"ionActionSheetWillDismiss")}async buttonClick(t){const o=t.role;return b(o)?this.dismiss(t.data,o):await this.callButtonHandler(t)?this.dismiss(t.data,t.role):Promise.resolve()}async callButtonHandler(t){return!t||!1!==await f(t.handler)}getButtons(){return this.buttons.map((t=>"string"==typeof t?{text:t}:t))}connectedCallback(){m(this.el),this.triggerChanged()}disconnectedCallback(){this.gesture&&(this.gesture.destroy(),this.gesture=void 0),this.triggerController.removeClickListener()}componentWillLoad(){var t;(null===(t=this.htmlAttributes)||void 0===t?void 0:t.id)||v(this.el)}componentDidLoad(){const{groupEl:t,wrapperEl:o}=this;!this.gesture&&"ios"===x(this)&&o&&t&&e((()=>{t.scrollHeight>t.clientHeight||(this.gesture=r(o,(t=>t.classList.contains("action-sheet-button"))),this.gesture.enable(!0))})),!0===this.isOpen&&s((()=>this.present())),this.triggerChanged()}render(){const{header:t,htmlAttributes:o,overlayIndex:e}=this,a=x(this),r=this.getButtons(),s=r.find((t=>"cancel"===t.role)),c=r.filter((t=>"cancel"!==t.role)),d=`action-sheet-${e}-header`;return i(n,Object.assign({key:"9fef156b2a1f09ca4a6c1fe1f37c374139bde03c",role:"dialog","aria-modal":"true","aria-labelledby":void 0!==t?d:null,tabindex:"-1"},o,{style:{zIndex:`${2e4+this.overlayIndex}`},class:Object.assign(Object.assign({[a]:!0},k(this.cssClass)),{"overlay-hidden":!0,"action-sheet-translucent":this.translucent}),onIonActionSheetWillDismiss:this.dispatchCancelHandler,onIonBackdropTap:this.onBackdropTap}),i("ion-backdrop",{key:"81cf3f7d19864e041813987b46d2d115b8466819",tappable:this.backdropDismiss}),i("div",{key:"791c6a976683646fc306a42c15c5078b6f06a45f",tabindex:"0","aria-hidden":"true"}),i("div",{key:"a350b489ef7852eab9dc2227ce6d92da27dd9bf9",class:"action-sheet-wrapper ion-overlay-wrapper",ref:t=>this.wrapperEl=t},i("div",{key:"69ba51ee13510c1a411d87cb4845b11b7302a36f",class:"action-sheet-container"},i("div",{key:"bded15b8306c36591e526f0f99e1eeabcbab3915",class:"action-sheet-group",ref:t=>this.groupEl=t},void 0!==t&&i("div",{key:"06b5147c0f6d9180fe8f12e75c9b4a0310226adc",id:d,class:{"action-sheet-title":!0,"action-sheet-has-sub-title":void 0!==this.subHeader}},t,this.subHeader&&i("div",{key:"54874362a75c679aba803bf4f8768f5404d2dd28",class:"action-sheet-sub-title"},this.subHeader)),c.map((t=>i("button",Object.assign({},t.htmlAttributes,{type:"button",id:t.id,class:O(t),onClick:()=>this.buttonClick(t),disabled:t.disabled}),i("span",{class:"action-sheet-button-inner"},t.icon&&i("ion-icon",{icon:t.icon,"aria-hidden":"true",lazy:!1,class:"action-sheet-icon"}),t.text),"md"===a&&i("ion-ripple-effect",null))))),s&&i("div",{key:"67b0de298eb424f3dea846a841b7a06d70e3930d",class:"action-sheet-group action-sheet-group-cancel"},i("button",Object.assign({key:"e7e3f9a5495eea9b97dbf885ef36944f2e420eff"},s.htmlAttributes,{type:"button",class:O(s),onClick:()=>this.buttonClick(s)}),i("span",{key:"f889d29ed6c3d14bbc1d805888351d87f5122377",class:"action-sheet-button-inner"},s.icon&&i("ion-icon",{key:"7c05cf424b38c37fd40aaeb42a494387291571fb",icon:s.icon,"aria-hidden":"true",lazy:!1,class:"action-sheet-icon"}),s.text),"md"===a&&i("ion-ripple-effect",{key:"bed927b477dc2708a5123ef560274fca9819b3d6"}))))),i("div",{key:"c5df1b11dc15a93892d57065d3dd5fbe02e43b39",tabindex:"0","aria-hidden":"true"}))}get el(){return a(this)}static get watchers(){return{isOpen:["onIsOpenChange"],trigger:["triggerChanged"]}}},O=t=>Object.assign({"action-sheet-button":!0,"ion-activatable":!t.disabled,"ion-focusable":!t.disabled,[`action-sheet-${t.role}`]:void 0!==t.role},k(t.cssClass));D.style={ios:'.sc-ion-action-sheet-ios-h{--color:initial;--button-color-activated:var(--button-color);--button-color-focused:var(--button-color);--button-color-hover:var(--button-color);--button-color-selected:var(--button-color);--min-width:auto;--width:100%;--max-width:500px;--min-height:auto;--height:auto;--max-height:calc(100% - (var(--ion-safe-area-top) + var(--ion-safe-area-bottom)));-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;left:0;right:0;top:0;bottom:0;display:block;position:fixed;outline:none;font-family:var(--ion-font-family, inherit);-ms-touch-action:none;touch-action:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;z-index:1001}.overlay-hidden.sc-ion-action-sheet-ios-h{display:none}.action-sheet-wrapper.sc-ion-action-sheet-ios{left:0;right:0;bottom:0;-webkit-transform:translate3d(0, 100%, 0);transform:translate3d(0, 100%, 0);display:block;position:absolute;width:var(--width);min-width:var(--min-width);max-width:var(--max-width);height:var(--height);min-height:var(--min-height);max-height:var(--max-height);z-index:10;pointer-events:none}.action-sheet-button.sc-ion-action-sheet-ios{display:block;position:relative;width:100%;border:0;outline:none;background:var(--button-background);color:var(--button-color);font-family:inherit;overflow:hidden}.action-sheet-button.sc-ion-action-sheet-ios:disabled{color:var(--button-color-disabled);opacity:0.4}.action-sheet-button-inner.sc-ion-action-sheet-ios{display:-ms-flexbox;display:flex;position:relative;-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;pointer-events:none;width:100%;height:100%;z-index:1}.action-sheet-container.sc-ion-action-sheet-ios{display:-ms-flexbox;display:flex;-ms-flex-flow:column;flex-flow:column;-ms-flex-pack:end;justify-content:flex-end;height:100%;max-height:calc(100vh - (var(--ion-safe-area-top, 0) + var(--ion-safe-area-bottom, 0)));max-height:calc(100dvh - (var(--ion-safe-area-top, 0) + var(--ion-safe-area-bottom, 0)))}.action-sheet-group.sc-ion-action-sheet-ios{-ms-flex-negative:2;flex-shrink:2;overscroll-behavior-y:contain;overflow-y:auto;-webkit-overflow-scrolling:touch;pointer-events:all;background:var(--background)}@media (any-pointer: coarse){.action-sheet-group.sc-ion-action-sheet-ios::-webkit-scrollbar{display:none}}.action-sheet-group-cancel.sc-ion-action-sheet-ios{-ms-flex-negative:0;flex-shrink:0;overflow:hidden}.action-sheet-button.sc-ion-action-sheet-ios::after{left:0;right:0;top:0;bottom:0;position:absolute;content:"";opacity:0}.action-sheet-selected.sc-ion-action-sheet-ios{color:var(--button-color-selected)}.action-sheet-selected.sc-ion-action-sheet-ios::after{background:var(--button-background-selected);opacity:var(--button-background-selected-opacity)}.action-sheet-button.ion-activated.sc-ion-action-sheet-ios{color:var(--button-color-activated)}.action-sheet-button.ion-activated.sc-ion-action-sheet-ios::after{background:var(--button-background-activated);opacity:var(--button-background-activated-opacity)}.action-sheet-button.ion-focused.sc-ion-action-sheet-ios{color:var(--button-color-focused)}.action-sheet-button.ion-focused.sc-ion-action-sheet-ios::after{background:var(--button-background-focused);opacity:var(--button-background-focused-opacity)}@media (any-hover: hover){.action-sheet-button.sc-ion-action-sheet-ios:not(:disabled):hover{color:var(--button-color-hover)}.action-sheet-button.sc-ion-action-sheet-ios:not(:disabled):hover::after{background:var(--button-background-hover);opacity:var(--button-background-hover-opacity)}}.sc-ion-action-sheet-ios-h{--background:var(--ion-overlay-background-color, var(--ion-color-step-100, var(--ion-background-color-step-100, #f9f9f9)));--backdrop-opacity:var(--ion-backdrop-opacity, 0.4);--button-background:linear-gradient(0deg, rgba(var(--ion-text-color-rgb, 0, 0, 0), 0.08), rgba(var(--ion-text-color-rgb, 0, 0, 0), 0.08) 50%, transparent 50%) bottom/100% 1px no-repeat transparent;--button-background-activated:var(--ion-text-color, #000);--button-background-activated-opacity:.08;--button-background-hover:currentColor;--button-background-hover-opacity:.04;--button-background-focused:currentColor;--button-background-focused-opacity:.12;--button-background-selected:var(--ion-color-step-150, var(--ion-background-color-step-150, var(--ion-background-color, #fff)));--button-background-selected-opacity:1;--button-color:var(--ion-color-primary, #0054e9);--button-color-disabled:var(--ion-color-step-850, var(--ion-text-color-step-150, #262626));--color:var(--ion-color-step-400, var(--ion-text-color-step-600, #999999));text-align:center}.action-sheet-wrapper.sc-ion-action-sheet-ios{-webkit-margin-start:auto;margin-inline-start:auto;-webkit-margin-end:auto;margin-inline-end:auto;margin-top:var(--ion-safe-area-top, 0);padding-bottom:var(--ion-safe-area-bottom, 0);-webkit-box-sizing:content-box;box-sizing:content-box}.action-sheet-container.sc-ion-action-sheet-ios{-webkit-padding-start:8px;padding-inline-start:8px;-webkit-padding-end:8px;padding-inline-end:8px;padding-top:0;padding-bottom:0}.action-sheet-group.sc-ion-action-sheet-ios{border-radius:13px;margin-bottom:8px}.action-sheet-group.sc-ion-action-sheet-ios:first-child{margin-top:10px}.action-sheet-group.sc-ion-action-sheet-ios:last-child{margin-bottom:10px}@supports ((-webkit-backdrop-filter: blur(0)) or (backdrop-filter: blur(0))){.action-sheet-translucent.sc-ion-action-sheet-ios-h .action-sheet-group.sc-ion-action-sheet-ios{background-color:transparent;-webkit-backdrop-filter:saturate(280%) blur(20px);backdrop-filter:saturate(280%) blur(20px)}.action-sheet-translucent.sc-ion-action-sheet-ios-h .action-sheet-title.sc-ion-action-sheet-ios,.action-sheet-translucent.sc-ion-action-sheet-ios-h .action-sheet-button.sc-ion-action-sheet-ios{background-color:transparent;background-image:-webkit-gradient(linear, left bottom, left top, from(rgba(var(--ion-background-color-rgb, 255, 255, 255), 0.8)), to(rgba(var(--ion-background-color-rgb, 255, 255, 255), 0.8))), -webkit-gradient(linear, left bottom, left top, from(rgba(var(--ion-background-color-rgb, 255, 255, 255), 0.4)), color-stop(50%, rgba(var(--ion-background-color-rgb, 255, 255, 255), 0.4)), color-stop(50%, rgba(var(--ion-background-color-rgb, 255, 255, 255), 0.8)));background-image:linear-gradient(0deg, rgba(var(--ion-background-color-rgb, 255, 255, 255), 0.8), rgba(var(--ion-background-color-rgb, 255, 255, 255), 0.8) 100%), linear-gradient(0deg, rgba(var(--ion-background-color-rgb, 255, 255, 255), 0.4), rgba(var(--ion-background-color-rgb, 255, 255, 255), 0.4) 50%, rgba(var(--ion-background-color-rgb, 255, 255, 255), 0.8) 50%);background-repeat:no-repeat;background-position:top, bottom;background-size:100% calc(100% - 1px), 100% 1px;-webkit-backdrop-filter:saturate(120%);backdrop-filter:saturate(120%)}.action-sheet-translucent.sc-ion-action-sheet-ios-h .action-sheet-button.ion-activated.sc-ion-action-sheet-ios{background-color:rgba(var(--ion-background-color-rgb, 255, 255, 255), 0.7);background-image:none}.action-sheet-translucent.sc-ion-action-sheet-ios-h .action-sheet-cancel.sc-ion-action-sheet-ios{background:var(--button-background-selected)}}.action-sheet-title.sc-ion-action-sheet-ios{background:-webkit-gradient(linear, left bottom, left top, from(rgba(var(--ion-text-color-rgb, 0, 0, 0), 0.08)), color-stop(50%, rgba(var(--ion-text-color-rgb, 0, 0, 0), 0.08)), color-stop(50%, transparent)) bottom/100% 1px no-repeat transparent;background:linear-gradient(0deg, rgba(var(--ion-text-color-rgb, 0, 0, 0), 0.08), rgba(var(--ion-text-color-rgb, 0, 0, 0), 0.08) 50%, transparent 50%) bottom/100% 1px no-repeat transparent}.action-sheet-title.sc-ion-action-sheet-ios{-webkit-padding-start:10px;padding-inline-start:10px;-webkit-padding-end:10px;padding-inline-end:10px;padding-top:14px;padding-bottom:13px;color:var(--color, var(--ion-color-step-400, var(--ion-text-color-step-600, #999999)));font-size:max(13px, 0.8125rem);font-weight:400;text-align:center}.action-sheet-title.action-sheet-has-sub-title.sc-ion-action-sheet-ios{font-weight:600}.action-sheet-sub-title.sc-ion-action-sheet-ios{padding-left:0;padding-right:0;padding-top:6px;padding-bottom:0;font-size:max(13px, 0.8125rem);font-weight:400}.action-sheet-button.sc-ion-action-sheet-ios{-webkit-padding-start:14px;padding-inline-start:14px;-webkit-padding-end:14px;padding-inline-end:14px;padding-top:14px;padding-bottom:14px;min-height:56px;font-size:max(20px, 1.25rem);contain:content}.action-sheet-button.sc-ion-action-sheet-ios .action-sheet-icon.sc-ion-action-sheet-ios{-webkit-margin-end:0.3em;margin-inline-end:0.3em;font-size:max(28px, 1.75rem);pointer-events:none}.action-sheet-button.sc-ion-action-sheet-ios:last-child{background-image:none}.action-sheet-selected.sc-ion-action-sheet-ios{font-weight:bold}.action-sheet-cancel.sc-ion-action-sheet-ios{font-weight:600}.action-sheet-cancel.sc-ion-action-sheet-ios::after{background:var(--button-background-selected);opacity:var(--button-background-selected-opacity)}.action-sheet-destructive.sc-ion-action-sheet-ios,.action-sheet-destructive.ion-activated.sc-ion-action-sheet-ios,.action-sheet-destructive.ion-focused.sc-ion-action-sheet-ios{color:var(--ion-color-danger, #c5000f)}@media (any-hover: hover){.action-sheet-destructive.sc-ion-action-sheet-ios:hover{color:var(--ion-color-danger, #c5000f)}}',md:'.sc-ion-action-sheet-md-h{--color:initial;--button-color-activated:var(--button-color);--button-color-focused:var(--button-color);--button-color-hover:var(--button-color);--button-color-selected:var(--button-color);--min-width:auto;--width:100%;--max-width:500px;--min-height:auto;--height:auto;--max-height:calc(100% - (var(--ion-safe-area-top) + var(--ion-safe-area-bottom)));-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;left:0;right:0;top:0;bottom:0;display:block;position:fixed;outline:none;font-family:var(--ion-font-family, inherit);-ms-touch-action:none;touch-action:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;z-index:1001}.overlay-hidden.sc-ion-action-sheet-md-h{display:none}.action-sheet-wrapper.sc-ion-action-sheet-md{left:0;right:0;bottom:0;-webkit-transform:translate3d(0, 100%, 0);transform:translate3d(0, 100%, 0);display:block;position:absolute;width:var(--width);min-width:var(--min-width);max-width:var(--max-width);height:var(--height);min-height:var(--min-height);max-height:var(--max-height);z-index:10;pointer-events:none}.action-sheet-button.sc-ion-action-sheet-md{display:block;position:relative;width:100%;border:0;outline:none;background:var(--button-background);color:var(--button-color);font-family:inherit;overflow:hidden}.action-sheet-button.sc-ion-action-sheet-md:disabled{color:var(--button-color-disabled);opacity:0.4}.action-sheet-button-inner.sc-ion-action-sheet-md{display:-ms-flexbox;display:flex;position:relative;-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;pointer-events:none;width:100%;height:100%;z-index:1}.action-sheet-container.sc-ion-action-sheet-md{display:-ms-flexbox;display:flex;-ms-flex-flow:column;flex-flow:column;-ms-flex-pack:end;justify-content:flex-end;height:100%;max-height:calc(100vh - (var(--ion-safe-area-top, 0) + var(--ion-safe-area-bottom, 0)));max-height:calc(100dvh - (var(--ion-safe-area-top, 0) + var(--ion-safe-area-bottom, 0)))}.action-sheet-group.sc-ion-action-sheet-md{-ms-flex-negative:2;flex-shrink:2;overscroll-behavior-y:contain;overflow-y:auto;-webkit-overflow-scrolling:touch;pointer-events:all;background:var(--background)}@media (any-pointer: coarse){.action-sheet-group.sc-ion-action-sheet-md::-webkit-scrollbar{display:none}}.action-sheet-group-cancel.sc-ion-action-sheet-md{-ms-flex-negative:0;flex-shrink:0;overflow:hidden}.action-sheet-button.sc-ion-action-sheet-md::after{left:0;right:0;top:0;bottom:0;position:absolute;content:"";opacity:0}.action-sheet-selected.sc-ion-action-sheet-md{color:var(--button-color-selected)}.action-sheet-selected.sc-ion-action-sheet-md::after{background:var(--button-background-selected);opacity:var(--button-background-selected-opacity)}.action-sheet-button.ion-activated.sc-ion-action-sheet-md{color:var(--button-color-activated)}.action-sheet-button.ion-activated.sc-ion-action-sheet-md::after{background:var(--button-background-activated);opacity:var(--button-background-activated-opacity)}.action-sheet-button.ion-focused.sc-ion-action-sheet-md{color:var(--button-color-focused)}.action-sheet-button.ion-focused.sc-ion-action-sheet-md::after{background:var(--button-background-focused);opacity:var(--button-background-focused-opacity)}@media (any-hover: hover){.action-sheet-button.sc-ion-action-sheet-md:not(:disabled):hover{color:var(--button-color-hover)}.action-sheet-button.sc-ion-action-sheet-md:not(:disabled):hover::after{background:var(--button-background-hover);opacity:var(--button-background-hover-opacity)}}.sc-ion-action-sheet-md-h{--background:var(--ion-overlay-background-color, var(--ion-background-color, #fff));--backdrop-opacity:var(--ion-backdrop-opacity, 0.32);--button-background:transparent;--button-background-selected:currentColor;--button-background-selected-opacity:0;--button-background-activated:transparent;--button-background-activated-opacity:0;--button-background-hover:currentColor;--button-background-hover-opacity:.04;--button-background-focused:currentColor;--button-background-focused-opacity:.12;--button-color:var(--ion-color-step-850, var(--ion-text-color-step-150, #262626));--button-color-disabled:var(--button-color);--color:rgba(var(--ion-text-color-rgb, 0, 0, 0), 0.54)}.action-sheet-wrapper.sc-ion-action-sheet-md{-webkit-margin-start:auto;margin-inline-start:auto;-webkit-margin-end:auto;margin-inline-end:auto;margin-top:var(--ion-safe-area-top, 0);margin-bottom:0}.action-sheet-title.sc-ion-action-sheet-md{-webkit-padding-start:16px;padding-inline-start:16px;-webkit-padding-end:16px;padding-inline-end:16px;padding-top:20px;padding-bottom:17px;min-height:60px;color:var(--color, rgba(var(--ion-text-color-rgb, 0, 0, 0), 0.54));font-size:1rem;text-align:start}.action-sheet-sub-title.sc-ion-action-sheet-md{padding-left:0;padding-right:0;padding-top:16px;padding-bottom:0;font-size:0.875rem}.action-sheet-group.sc-ion-action-sheet-md:first-child{padding-top:0}.action-sheet-group.sc-ion-action-sheet-md:last-child{padding-bottom:var(--ion-safe-area-bottom)}.action-sheet-button.sc-ion-action-sheet-md{-webkit-padding-start:16px;padding-inline-start:16px;-webkit-padding-end:16px;padding-inline-end:16px;padding-top:12px;padding-bottom:12px;position:relative;min-height:52px;font-size:1rem;text-align:start;contain:content;overflow:hidden}.action-sheet-icon.sc-ion-action-sheet-md{-webkit-margin-start:0;margin-inline-start:0;-webkit-margin-end:32px;margin-inline-end:32px;margin-top:0;margin-bottom:0;color:var(--color);font-size:1.5rem}.action-sheet-button-inner.sc-ion-action-sheet-md{-ms-flex-pack:start;justify-content:flex-start}.action-sheet-selected.sc-ion-action-sheet-md{font-weight:bold}'};export{D as ion_action_sheet}
4
+ import{r as t,c as o,a as e,h as i,d as n,g as a}from"./p-4DxY6_gG.js";import{c as r}from"./p-CWvl4RPO.js";import{r as s}from"./p-C-Cct-6D.js";import{c}from"./p-B-hirT0v.js";import{d,e as l,B as h,i as b,f as p,g as u,h as g,s as f,j as m,k as v}from"./p-Dks1yZU6.js";import{g as k}from"./p-DiVJyqlX.js";import{b as x}from"./p-Br3vSlYh.js";import{c as y}from"./p-C87oPMMF.js";import"./p-CKvCXMs9.js";import"./p-CIGNaXM1.js";import"./p-ZjP4CjeZ.js";import"./p-Cl0B-RWe.js";import"./p-BTEOs1at.js";import"./p-CvaZMP6T.js";import"./p-DAfH9Iif.js";const w=t=>{const o=y(),e=y(),i=y();return e.addElement(t.querySelector("ion-backdrop")).fromTo("opacity",.01,"var(--backdrop-opacity)").beforeStyles({"pointer-events":"none"}).afterClearStyles(["pointer-events"]),i.addElement(t.querySelector(".action-sheet-wrapper")).fromTo("transform","translateY(100%)","translateY(0%)"),o.addElement(t).easing("cubic-bezier(.36,.66,.04,1)").duration(400).addAnimation([e,i])},j=t=>{const o=y(),e=y(),i=y();return e.addElement(t.querySelector("ion-backdrop")).fromTo("opacity","var(--backdrop-opacity)",0),i.addElement(t.querySelector(".action-sheet-wrapper")).fromTo("transform","translateY(0%)","translateY(100%)"),o.addElement(t).easing("cubic-bezier(.36,.66,.04,1)").duration(450).addAnimation([e,i])},z=t=>{const o=y(),e=y(),i=y();return e.addElement(t.querySelector("ion-backdrop")).fromTo("opacity",.01,"var(--backdrop-opacity)").beforeStyles({"pointer-events":"none"}).afterClearStyles(["pointer-events"]),i.addElement(t.querySelector(".action-sheet-wrapper")).fromTo("transform","translateY(100%)","translateY(0%)"),o.addElement(t).easing("cubic-bezier(.36,.66,.04,1)").duration(400).addAnimation([e,i])},C=t=>{const o=y(),e=y(),i=y();return e.addElement(t.querySelector("ion-backdrop")).fromTo("opacity","var(--backdrop-opacity)",0),i.addElement(t.querySelector(".action-sheet-wrapper")).fromTo("transform","translateY(0%)","translateY(100%)"),o.addElement(t).easing("cubic-bezier(.36,.66,.04,1)").duration(450).addAnimation([e,i])},D=class{constructor(e){t(this,e),this.didPresent=o(this,"ionActionSheetDidPresent",7),this.willPresent=o(this,"ionActionSheetWillPresent",7),this.willDismiss=o(this,"ionActionSheetWillDismiss",7),this.didDismiss=o(this,"ionActionSheetDidDismiss",7),this.didPresentShorthand=o(this,"didPresent",7),this.willPresentShorthand=o(this,"willPresent",7),this.willDismissShorthand=o(this,"willDismiss",7),this.didDismissShorthand=o(this,"didDismiss",7),this.delegateController=d(this),this.lockController=c(),this.triggerController=l(),this.presented=!1,this.hasController=!1,this.keyboardClose=!0,this.buttons=[],this.backdropDismiss=!0,this.translucent=!1,this.animated=!0,this.isOpen=!1,this.onBackdropTap=()=>{this.dismiss(void 0,h)},this.dispatchCancelHandler=t=>{if(b(t.detail.role)){const t=this.getButtons().find((t=>"cancel"===t.role));this.callButtonHandler(t)}}}onIsOpenChange(t,o){!0===t&&!1===o?this.present():!1===t&&!0===o&&this.dismiss()}triggerChanged(){const{trigger:t,el:o,triggerController:e}=this;t&&e.addClickListener(o,t)}async present(){const t=await this.lockController.lock();await this.delegateController.attachViewToDom(),await p(this,"actionSheetEnter",w,z),t()}async dismiss(t,o){const e=await this.lockController.lock(),i=await u(this,t,o,"actionSheetLeave",j,C);return i&&this.delegateController.removeViewFromDom(),e(),i}onDidDismiss(){return g(this.el,"ionActionSheetDidDismiss")}onWillDismiss(){return g(this.el,"ionActionSheetWillDismiss")}async buttonClick(t){const o=t.role;return b(o)?this.dismiss(t.data,o):await this.callButtonHandler(t)?this.dismiss(t.data,t.role):Promise.resolve()}async callButtonHandler(t){return!t||!1!==await f(t.handler)}getButtons(){return this.buttons.map((t=>"string"==typeof t?{text:t}:t))}connectedCallback(){m(this.el),this.triggerChanged()}disconnectedCallback(){this.gesture&&(this.gesture.destroy(),this.gesture=void 0),this.triggerController.removeClickListener()}componentWillLoad(){var t;(null===(t=this.htmlAttributes)||void 0===t?void 0:t.id)||v(this.el)}componentDidLoad(){const{groupEl:t,wrapperEl:o}=this;!this.gesture&&"ios"===x(this)&&o&&t&&e((()=>{t.scrollHeight>t.clientHeight||(this.gesture=r(o,(t=>t.classList.contains("action-sheet-button"))),this.gesture.enable(!0))})),!0===this.isOpen&&s((()=>this.present())),this.triggerChanged()}render(){const{header:t,htmlAttributes:o,overlayIndex:e}=this,a=x(this),r=this.getButtons(),s=r.find((t=>"cancel"===t.role)),c=r.filter((t=>"cancel"!==t.role)),d=`action-sheet-${e}-header`;return i(n,Object.assign({key:"9fef156b2a1f09ca4a6c1fe1f37c374139bde03c",role:"dialog","aria-modal":"true","aria-labelledby":void 0!==t?d:null,tabindex:"-1"},o,{style:{zIndex:`${2e4+this.overlayIndex}`},class:Object.assign(Object.assign({[a]:!0},k(this.cssClass)),{"overlay-hidden":!0,"action-sheet-translucent":this.translucent}),onIonActionSheetWillDismiss:this.dispatchCancelHandler,onIonBackdropTap:this.onBackdropTap}),i("ion-backdrop",{key:"81cf3f7d19864e041813987b46d2d115b8466819",tappable:this.backdropDismiss}),i("div",{key:"791c6a976683646fc306a42c15c5078b6f06a45f",tabindex:"0","aria-hidden":"true"}),i("div",{key:"a350b489ef7852eab9dc2227ce6d92da27dd9bf9",class:"action-sheet-wrapper ion-overlay-wrapper",ref:t=>this.wrapperEl=t},i("div",{key:"69ba51ee13510c1a411d87cb4845b11b7302a36f",class:"action-sheet-container"},i("div",{key:"bded15b8306c36591e526f0f99e1eeabcbab3915",class:"action-sheet-group",ref:t=>this.groupEl=t},void 0!==t&&i("div",{key:"06b5147c0f6d9180fe8f12e75c9b4a0310226adc",id:d,class:{"action-sheet-title":!0,"action-sheet-has-sub-title":void 0!==this.subHeader}},t,this.subHeader&&i("div",{key:"54874362a75c679aba803bf4f8768f5404d2dd28",class:"action-sheet-sub-title"},this.subHeader)),c.map((t=>i("button",Object.assign({},t.htmlAttributes,{type:"button",id:t.id,class:O(t),onClick:()=>this.buttonClick(t),disabled:t.disabled}),i("span",{class:"action-sheet-button-inner"},t.icon&&i("ion-icon",{icon:t.icon,"aria-hidden":"true",lazy:!1,class:"action-sheet-icon"}),t.text),"md"===a&&i("ion-ripple-effect",null))))),s&&i("div",{key:"67b0de298eb424f3dea846a841b7a06d70e3930d",class:"action-sheet-group action-sheet-group-cancel"},i("button",Object.assign({key:"e7e3f9a5495eea9b97dbf885ef36944f2e420eff"},s.htmlAttributes,{type:"button",class:O(s),onClick:()=>this.buttonClick(s)}),i("span",{key:"f889d29ed6c3d14bbc1d805888351d87f5122377",class:"action-sheet-button-inner"},s.icon&&i("ion-icon",{key:"7c05cf424b38c37fd40aaeb42a494387291571fb",icon:s.icon,"aria-hidden":"true",lazy:!1,class:"action-sheet-icon"}),s.text),"md"===a&&i("ion-ripple-effect",{key:"bed927b477dc2708a5123ef560274fca9819b3d6"}))))),i("div",{key:"c5df1b11dc15a93892d57065d3dd5fbe02e43b39",tabindex:"0","aria-hidden":"true"}))}get el(){return a(this)}static get watchers(){return{isOpen:["onIsOpenChange"],trigger:["triggerChanged"]}}},O=t=>Object.assign({"action-sheet-button":!0,"ion-activatable":!t.disabled,"ion-focusable":!t.disabled,[`action-sheet-${t.role}`]:void 0!==t.role},k(t.cssClass));D.style={ios:'.sc-ion-action-sheet-ios-h{--color:initial;--button-color-activated:var(--button-color);--button-color-focused:var(--button-color);--button-color-hover:var(--button-color);--button-color-selected:var(--button-color);--min-width:auto;--width:100%;--max-width:500px;--min-height:auto;--height:auto;--max-height:calc(100% - (var(--ion-safe-area-top) + var(--ion-safe-area-bottom)));-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;left:0;right:0;top:0;bottom:0;display:block;position:fixed;outline:none;font-family:var(--ion-font-family, inherit);-ms-touch-action:none;touch-action:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;z-index:1001}.overlay-hidden.sc-ion-action-sheet-ios-h{display:none}.action-sheet-wrapper.sc-ion-action-sheet-ios{left:0;right:0;bottom:0;-webkit-transform:translate3d(0, 100%, 0);transform:translate3d(0, 100%, 0);display:block;position:absolute;width:var(--width);min-width:var(--min-width);max-width:var(--max-width);height:var(--height);min-height:var(--min-height);max-height:var(--max-height);z-index:10;pointer-events:none}.action-sheet-button.sc-ion-action-sheet-ios{display:block;position:relative;width:100%;border:0;outline:none;background:var(--button-background);color:var(--button-color);font-family:inherit;overflow:hidden}.action-sheet-button.sc-ion-action-sheet-ios:disabled{color:var(--button-color-disabled);opacity:0.4}.action-sheet-button-inner.sc-ion-action-sheet-ios{display:-ms-flexbox;display:flex;position:relative;-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;pointer-events:none;width:100%;height:100%;z-index:1}.action-sheet-container.sc-ion-action-sheet-ios{display:-ms-flexbox;display:flex;-ms-flex-flow:column;flex-flow:column;-ms-flex-pack:end;justify-content:flex-end;height:100%;max-height:calc(100vh - (var(--ion-safe-area-top, 0) + var(--ion-safe-area-bottom, 0)));max-height:calc(100dvh - (var(--ion-safe-area-top, 0) + var(--ion-safe-area-bottom, 0)))}.action-sheet-group.sc-ion-action-sheet-ios{-ms-flex-negative:2;flex-shrink:2;overscroll-behavior-y:contain;overflow-y:auto;-webkit-overflow-scrolling:touch;pointer-events:all;background:var(--background)}@media (any-pointer: coarse){.action-sheet-group.sc-ion-action-sheet-ios::-webkit-scrollbar{display:none}}.action-sheet-group-cancel.sc-ion-action-sheet-ios{-ms-flex-negative:0;flex-shrink:0;overflow:hidden}.action-sheet-button.sc-ion-action-sheet-ios::after{left:0;right:0;top:0;bottom:0;position:absolute;content:"";opacity:0}.action-sheet-selected.sc-ion-action-sheet-ios{color:var(--button-color-selected)}.action-sheet-selected.sc-ion-action-sheet-ios::after{background:var(--button-background-selected);opacity:var(--button-background-selected-opacity)}.action-sheet-button.ion-activated.sc-ion-action-sheet-ios{color:var(--button-color-activated)}.action-sheet-button.ion-activated.sc-ion-action-sheet-ios::after{background:var(--button-background-activated);opacity:var(--button-background-activated-opacity)}.action-sheet-button.ion-focused.sc-ion-action-sheet-ios{color:var(--button-color-focused)}.action-sheet-button.ion-focused.sc-ion-action-sheet-ios::after{background:var(--button-background-focused);opacity:var(--button-background-focused-opacity)}@media (any-hover: hover){.action-sheet-button.sc-ion-action-sheet-ios:not(:disabled):hover{color:var(--button-color-hover)}.action-sheet-button.sc-ion-action-sheet-ios:not(:disabled):hover::after{background:var(--button-background-hover);opacity:var(--button-background-hover-opacity)}}.sc-ion-action-sheet-ios-h{--background:var(--ion-overlay-background-color, var(--ion-color-step-100, var(--ion-background-color-step-100, #f9f9f9)));--backdrop-opacity:var(--ion-backdrop-opacity, 0.4);--button-background:linear-gradient(0deg, rgba(var(--ion-text-color-rgb, 0, 0, 0), 0.08), rgba(var(--ion-text-color-rgb, 0, 0, 0), 0.08) 50%, transparent 50%) bottom/100% 1px no-repeat transparent;--button-background-activated:var(--ion-text-color, #000);--button-background-activated-opacity:.08;--button-background-hover:currentColor;--button-background-hover-opacity:.04;--button-background-focused:currentColor;--button-background-focused-opacity:.12;--button-background-selected:var(--ion-color-step-150, var(--ion-background-color-step-150, var(--ion-background-color, #fff)));--button-background-selected-opacity:1;--button-color:var(--ion-color-primary, #0054e9);--button-color-disabled:var(--ion-color-step-850, var(--ion-text-color-step-150, #262626));--color:var(--ion-color-step-400, var(--ion-text-color-step-600, #999999));text-align:center}.action-sheet-wrapper.sc-ion-action-sheet-ios{-webkit-margin-start:auto;margin-inline-start:auto;-webkit-margin-end:auto;margin-inline-end:auto;margin-top:var(--ion-safe-area-top, 0);padding-bottom:var(--ion-safe-area-bottom, 0);-webkit-box-sizing:content-box;box-sizing:content-box}.action-sheet-container.sc-ion-action-sheet-ios{-webkit-padding-start:8px;padding-inline-start:8px;-webkit-padding-end:8px;padding-inline-end:8px;padding-top:0;padding-bottom:0}.action-sheet-group.sc-ion-action-sheet-ios{border-radius:13px;margin-bottom:8px}.action-sheet-group.sc-ion-action-sheet-ios:first-child{margin-top:10px}.action-sheet-group.sc-ion-action-sheet-ios:last-child{margin-bottom:10px}@supports ((-webkit-backdrop-filter: blur(0)) or (backdrop-filter: blur(0))){.action-sheet-translucent.sc-ion-action-sheet-ios-h .action-sheet-group.sc-ion-action-sheet-ios{background-color:transparent;-webkit-backdrop-filter:saturate(280%) blur(20px);backdrop-filter:saturate(280%) blur(20px)}.action-sheet-translucent.sc-ion-action-sheet-ios-h .action-sheet-title.sc-ion-action-sheet-ios,.action-sheet-translucent.sc-ion-action-sheet-ios-h .action-sheet-button.sc-ion-action-sheet-ios{background-color:transparent;background-image:-webkit-gradient(linear, left bottom, left top, from(rgba(var(--ion-background-color-rgb, 255, 255, 255), 0.8)), to(rgba(var(--ion-background-color-rgb, 255, 255, 255), 0.8))), -webkit-gradient(linear, left bottom, left top, from(rgba(var(--ion-background-color-rgb, 255, 255, 255), 0.4)), color-stop(50%, rgba(var(--ion-background-color-rgb, 255, 255, 255), 0.4)), color-stop(50%, rgba(var(--ion-background-color-rgb, 255, 255, 255), 0.8)));background-image:linear-gradient(0deg, rgba(var(--ion-background-color-rgb, 255, 255, 255), 0.8), rgba(var(--ion-background-color-rgb, 255, 255, 255), 0.8) 100%), linear-gradient(0deg, rgba(var(--ion-background-color-rgb, 255, 255, 255), 0.4), rgba(var(--ion-background-color-rgb, 255, 255, 255), 0.4) 50%, rgba(var(--ion-background-color-rgb, 255, 255, 255), 0.8) 50%);background-repeat:no-repeat;background-position:top, bottom;background-size:100% calc(100% - 1px), 100% 1px;-webkit-backdrop-filter:saturate(120%);backdrop-filter:saturate(120%)}.action-sheet-translucent.sc-ion-action-sheet-ios-h .action-sheet-button.ion-activated.sc-ion-action-sheet-ios{background-color:rgba(var(--ion-background-color-rgb, 255, 255, 255), 0.7);background-image:none}.action-sheet-translucent.sc-ion-action-sheet-ios-h .action-sheet-cancel.sc-ion-action-sheet-ios{background:var(--button-background-selected)}}.action-sheet-title.sc-ion-action-sheet-ios{background:-webkit-gradient(linear, left bottom, left top, from(rgba(var(--ion-text-color-rgb, 0, 0, 0), 0.08)), color-stop(50%, rgba(var(--ion-text-color-rgb, 0, 0, 0), 0.08)), color-stop(50%, transparent)) bottom/100% 1px no-repeat transparent;background:linear-gradient(0deg, rgba(var(--ion-text-color-rgb, 0, 0, 0), 0.08), rgba(var(--ion-text-color-rgb, 0, 0, 0), 0.08) 50%, transparent 50%) bottom/100% 1px no-repeat transparent}.action-sheet-title.sc-ion-action-sheet-ios{-webkit-padding-start:10px;padding-inline-start:10px;-webkit-padding-end:10px;padding-inline-end:10px;padding-top:14px;padding-bottom:13px;color:var(--color, var(--ion-color-step-400, var(--ion-text-color-step-600, #999999)));font-size:max(13px, 0.8125rem);font-weight:400;text-align:center}.action-sheet-title.action-sheet-has-sub-title.sc-ion-action-sheet-ios{font-weight:600}.action-sheet-sub-title.sc-ion-action-sheet-ios{padding-left:0;padding-right:0;padding-top:6px;padding-bottom:0;font-size:max(13px, 0.8125rem);font-weight:400}.action-sheet-button.sc-ion-action-sheet-ios{-webkit-padding-start:14px;padding-inline-start:14px;-webkit-padding-end:14px;padding-inline-end:14px;padding-top:14px;padding-bottom:14px;min-height:56px;font-size:max(20px, 1.25rem);contain:content}.action-sheet-button.sc-ion-action-sheet-ios .action-sheet-icon.sc-ion-action-sheet-ios{-webkit-margin-end:0.3em;margin-inline-end:0.3em;font-size:max(28px, 1.75rem);pointer-events:none}.action-sheet-button.sc-ion-action-sheet-ios:last-child{background-image:none}.action-sheet-selected.sc-ion-action-sheet-ios{font-weight:bold}.action-sheet-cancel.sc-ion-action-sheet-ios{font-weight:600}.action-sheet-cancel.sc-ion-action-sheet-ios::after{background:var(--button-background-selected);opacity:var(--button-background-selected-opacity)}.action-sheet-destructive.sc-ion-action-sheet-ios,.action-sheet-destructive.ion-activated.sc-ion-action-sheet-ios,.action-sheet-destructive.ion-focused.sc-ion-action-sheet-ios{color:var(--ion-color-danger, #c5000f)}@media (any-hover: hover){.action-sheet-destructive.sc-ion-action-sheet-ios:hover{color:var(--ion-color-danger, #c5000f)}}',md:'.sc-ion-action-sheet-md-h{--color:initial;--button-color-activated:var(--button-color);--button-color-focused:var(--button-color);--button-color-hover:var(--button-color);--button-color-selected:var(--button-color);--min-width:auto;--width:100%;--max-width:500px;--min-height:auto;--height:auto;--max-height:calc(100% - (var(--ion-safe-area-top) + var(--ion-safe-area-bottom)));-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;left:0;right:0;top:0;bottom:0;display:block;position:fixed;outline:none;font-family:var(--ion-font-family, inherit);-ms-touch-action:none;touch-action:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;z-index:1001}.overlay-hidden.sc-ion-action-sheet-md-h{display:none}.action-sheet-wrapper.sc-ion-action-sheet-md{left:0;right:0;bottom:0;-webkit-transform:translate3d(0, 100%, 0);transform:translate3d(0, 100%, 0);display:block;position:absolute;width:var(--width);min-width:var(--min-width);max-width:var(--max-width);height:var(--height);min-height:var(--min-height);max-height:var(--max-height);z-index:10;pointer-events:none}.action-sheet-button.sc-ion-action-sheet-md{display:block;position:relative;width:100%;border:0;outline:none;background:var(--button-background);color:var(--button-color);font-family:inherit;overflow:hidden}.action-sheet-button.sc-ion-action-sheet-md:disabled{color:var(--button-color-disabled);opacity:0.4}.action-sheet-button-inner.sc-ion-action-sheet-md{display:-ms-flexbox;display:flex;position:relative;-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;pointer-events:none;width:100%;height:100%;z-index:1}.action-sheet-container.sc-ion-action-sheet-md{display:-ms-flexbox;display:flex;-ms-flex-flow:column;flex-flow:column;-ms-flex-pack:end;justify-content:flex-end;height:100%;max-height:calc(100vh - (var(--ion-safe-area-top, 0) + var(--ion-safe-area-bottom, 0)));max-height:calc(100dvh - (var(--ion-safe-area-top, 0) + var(--ion-safe-area-bottom, 0)))}.action-sheet-group.sc-ion-action-sheet-md{-ms-flex-negative:2;flex-shrink:2;overscroll-behavior-y:contain;overflow-y:auto;-webkit-overflow-scrolling:touch;pointer-events:all;background:var(--background)}@media (any-pointer: coarse){.action-sheet-group.sc-ion-action-sheet-md::-webkit-scrollbar{display:none}}.action-sheet-group-cancel.sc-ion-action-sheet-md{-ms-flex-negative:0;flex-shrink:0;overflow:hidden}.action-sheet-button.sc-ion-action-sheet-md::after{left:0;right:0;top:0;bottom:0;position:absolute;content:"";opacity:0}.action-sheet-selected.sc-ion-action-sheet-md{color:var(--button-color-selected)}.action-sheet-selected.sc-ion-action-sheet-md::after{background:var(--button-background-selected);opacity:var(--button-background-selected-opacity)}.action-sheet-button.ion-activated.sc-ion-action-sheet-md{color:var(--button-color-activated)}.action-sheet-button.ion-activated.sc-ion-action-sheet-md::after{background:var(--button-background-activated);opacity:var(--button-background-activated-opacity)}.action-sheet-button.ion-focused.sc-ion-action-sheet-md{color:var(--button-color-focused)}.action-sheet-button.ion-focused.sc-ion-action-sheet-md::after{background:var(--button-background-focused);opacity:var(--button-background-focused-opacity)}@media (any-hover: hover){.action-sheet-button.sc-ion-action-sheet-md:not(:disabled):hover{color:var(--button-color-hover)}.action-sheet-button.sc-ion-action-sheet-md:not(:disabled):hover::after{background:var(--button-background-hover);opacity:var(--button-background-hover-opacity)}}.sc-ion-action-sheet-md-h{--background:var(--ion-overlay-background-color, var(--ion-background-color, #fff));--backdrop-opacity:var(--ion-backdrop-opacity, 0.32);--button-background:transparent;--button-background-selected:currentColor;--button-background-selected-opacity:0;--button-background-activated:transparent;--button-background-activated-opacity:0;--button-background-hover:currentColor;--button-background-hover-opacity:.04;--button-background-focused:currentColor;--button-background-focused-opacity:.12;--button-color:var(--ion-color-step-850, var(--ion-text-color-step-150, #262626));--button-color-disabled:var(--button-color);--color:rgba(var(--ion-text-color-rgb, 0, 0, 0), 0.54)}.action-sheet-wrapper.sc-ion-action-sheet-md{-webkit-margin-start:auto;margin-inline-start:auto;-webkit-margin-end:auto;margin-inline-end:auto;margin-top:var(--ion-safe-area-top, 0);margin-bottom:0}.action-sheet-title.sc-ion-action-sheet-md{-webkit-padding-start:16px;padding-inline-start:16px;-webkit-padding-end:16px;padding-inline-end:16px;padding-top:20px;padding-bottom:17px;min-height:60px;color:var(--color, rgba(var(--ion-text-color-rgb, 0, 0, 0), 0.54));font-size:1rem;text-align:start}.action-sheet-sub-title.sc-ion-action-sheet-md{padding-left:0;padding-right:0;padding-top:16px;padding-bottom:0;font-size:0.875rem}.action-sheet-group.sc-ion-action-sheet-md:first-child{padding-top:0}.action-sheet-group.sc-ion-action-sheet-md:last-child{padding-bottom:var(--ion-safe-area-bottom)}.action-sheet-button.sc-ion-action-sheet-md{-webkit-padding-start:16px;padding-inline-start:16px;-webkit-padding-end:16px;padding-inline-end:16px;padding-top:12px;padding-bottom:12px;position:relative;min-height:52px;font-size:1rem;text-align:start;contain:content;overflow:hidden}.action-sheet-icon.sc-ion-action-sheet-md{-webkit-margin-start:0;margin-inline-start:0;-webkit-margin-end:32px;margin-inline-end:32px;margin-top:0;margin-bottom:0;color:var(--color);font-size:1.5rem}.action-sheet-button-inner.sc-ion-action-sheet-md{-ms-flex-pack:start;justify-content:flex-start}.action-sheet-selected.sc-ion-action-sheet-md{font-weight:bold}'};export{D as ion_action_sheet}
@@ -132,12 +132,5 @@ export declare class PickerColumn implements ComponentInterface {
132
132
  * Utility to generate the correct text for aria-valuetext.
133
133
  */
134
134
  private getOptionValueText;
135
- /**
136
- * Render an element that overlays the column. This element is for assistive
137
- * tech to allow users to navigate the column up/down. This element should receive
138
- * focus as it listens for synthesized keyboard events as required by the
139
- * slider role: https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Roles/slider_role
140
- */
141
- private renderAssistiveFocusable;
142
135
  render(): any;
143
136
  }
package/hydrate/index.js CHANGED
@@ -6188,8 +6188,6 @@ const present = async (overlay, name, iosEnterAnimation, mdEnterAnimation, opts)
6188
6188
  setRootAriaHidden(true);
6189
6189
  document.body.classList.add(BACKDROP_NO_SCROLL);
6190
6190
  }
6191
- hideUnderlyingOverlaysFromScreenReaders(overlay.el);
6192
- hideAnimatingOverlayFromScreenReaders(overlay.el);
6193
6191
  overlay.presented = true;
6194
6192
  overlay.willPresent.emit();
6195
6193
  (_a = overlay.willPresentShorthand) === null || _a === void 0 ? void 0 : _a.emit();
@@ -6315,12 +6313,6 @@ const dismiss = async (overlay, data, role, name, iosLeaveAnimation, mdLeaveAnim
6315
6313
  }
6316
6314
  overlay.presented = false;
6317
6315
  try {
6318
- /**
6319
- * There is no need to show the overlay to screen readers during
6320
- * the dismiss animation. This is because the overlay will be removed
6321
- * from the DOM after the animation is complete.
6322
- */
6323
- hideAnimatingOverlayFromScreenReaders(overlay.el);
6324
6316
  // Overlay contents should not be clickable during dismiss
6325
6317
  overlay.el.style.setProperty('pointer-events', 'none');
6326
6318
  overlay.willDismiss.emit({ data, role });
@@ -6359,7 +6351,6 @@ const dismiss = async (overlay, data, role, name, iosLeaveAnimation, mdLeaveAnim
6359
6351
  printIonError(`[${overlay.el.tagName.toLowerCase()}] - `, err);
6360
6352
  }
6361
6353
  overlay.el.remove();
6362
- revealOverlaysToScreenReaders();
6363
6354
  return true;
6364
6355
  };
6365
6356
  const getAppRoot = (doc) => {
@@ -6555,93 +6546,6 @@ const createTriggerController = () => {
6555
6546
  removeClickListener,
6556
6547
  };
6557
6548
  };
6558
- /**
6559
- * The overlay that is being animated also needs to hide from screen
6560
- * readers during its animation. This ensures that assistive technologies
6561
- * like TalkBack do not announce or interact with the content until the
6562
- * animation is complete, avoiding confusion for users.
6563
- *
6564
- * When the overlay is presented on an Android device, TalkBack's focus rings
6565
- * may appear in the wrong position due to the transition (specifically
6566
- * `transform` styles). This occurs because the focus rings are initially
6567
- * displayed at the starting position of the elements before the transition
6568
- * begins. This workaround ensures the focus rings do not appear in the
6569
- * incorrect location.
6570
- *
6571
- * If this solution is applied to iOS devices, then it leads to a bug where
6572
- * the overlays cannot be accessed by screen readers. This is due to
6573
- * VoiceOver not being able to update the accessibility tree when the
6574
- * `aria-hidden` is removed.
6575
- *
6576
- * @param overlay - The overlay that is being animated.
6577
- */
6578
- const hideAnimatingOverlayFromScreenReaders = (overlay) => {
6579
- if (doc === undefined)
6580
- return;
6581
- if (isPlatform('android')) {
6582
- /**
6583
- * Once the animation is complete, this attribute will be removed.
6584
- * This is done at the end of the `present` method.
6585
- */
6586
- overlay.setAttribute('aria-hidden', 'true');
6587
- }
6588
- };
6589
- /**
6590
- * Ensure that underlying overlays have aria-hidden if necessary so that screen readers
6591
- * cannot move focus to these elements. Note that we cannot rely on focus/focusin/focusout
6592
- * events here because those events do not fire when the screen readers moves to a non-focusable
6593
- * element such as text.
6594
- * Without this logic screen readers would be able to move focus outside of the top focus-trapped overlay.
6595
- *
6596
- * @param newTopMostOverlay - The overlay that is being presented. Since the overlay has not been
6597
- * fully presented yet at the time this function is called it will not be included in the getPresentedOverlays result.
6598
- */
6599
- const hideUnderlyingOverlaysFromScreenReaders = (newTopMostOverlay) => {
6600
- var _a;
6601
- if (doc === undefined)
6602
- return;
6603
- const overlays = getPresentedOverlays(doc);
6604
- for (let i = overlays.length - 1; i >= 0; i--) {
6605
- const presentedOverlay = overlays[i];
6606
- const nextPresentedOverlay = (_a = overlays[i + 1]) !== null && _a !== void 0 ? _a : newTopMostOverlay;
6607
- /**
6608
- * If next overlay has aria-hidden then all remaining overlays will have it too.
6609
- * Or, if the next overlay is a Toast that does not have aria-hidden then current overlay
6610
- * should not have aria-hidden either so focus can remain in the current overlay.
6611
- */
6612
- if (nextPresentedOverlay.hasAttribute('aria-hidden') || nextPresentedOverlay.tagName !== 'ION-TOAST') {
6613
- presentedOverlay.setAttribute('aria-hidden', 'true');
6614
- }
6615
- }
6616
- };
6617
- /**
6618
- * When dismissing an overlay we need to reveal the new top-most overlay to screen readers.
6619
- * If the top-most overlay is a Toast we potentially need to reveal more overlays since
6620
- * focus is never automatically moved to the Toast.
6621
- */
6622
- const revealOverlaysToScreenReaders = () => {
6623
- if (doc === undefined)
6624
- return;
6625
- const overlays = getPresentedOverlays(doc);
6626
- for (let i = overlays.length - 1; i >= 0; i--) {
6627
- const currentOverlay = overlays[i];
6628
- /**
6629
- * If the current we are looking at is a Toast then we can remove aria-hidden.
6630
- * However, we potentially need to keep looking at the overlay stack because there
6631
- * could be more Toasts underneath. Additionally, we need to unhide the closest non-Toast
6632
- * overlay too so focus can move there since focus is never automatically moved to the Toast.
6633
- */
6634
- currentOverlay.removeAttribute('aria-hidden');
6635
- /**
6636
- * If we found a non-Toast element then we can just remove aria-hidden and stop searching entirely
6637
- * since this overlay should always receive focus. As a result, all underlying overlays should still
6638
- * be hidden from screen readers.
6639
- */
6640
- if (currentOverlay.tagName !== 'ION-TOAST') {
6641
- break;
6642
- }
6643
- }
6644
- };
6645
6549
  const FOCUS_TRAP_DISABLE_CLASS = 'ion-disable-focus-trap';
6646
6550
 
6647
6551
  const hostContext = (selector, el) => {
@@ -13531,7 +13435,7 @@ class Datetime {
13531
13435
  const renderArray = forcePresentation === 'time-date'
13532
13436
  ? [this.renderTimePickerColumns(forcePresentation), this.renderDatePickerColumns(forcePresentation)]
13533
13437
  : [this.renderDatePickerColumns(forcePresentation), this.renderTimePickerColumns(forcePresentation)];
13534
- return hAsync("ion-picker", null, renderArray);
13438
+ return hAsync("ion-picker", { class: FOCUS_TRAP_DISABLE_CLASS }, renderArray);
13535
13439
  }
13536
13440
  renderDatePickerColumns(forcePresentation) {
13537
13441
  return forcePresentation === 'date-time' || forcePresentation === 'time-date'
@@ -14088,7 +13992,7 @@ class Datetime {
14088
13992
  const hasDatePresentation = presentation === 'date' || presentation === 'date-time' || presentation === 'time-date';
14089
13993
  const hasWheelVariant = hasDatePresentation && preferWheel;
14090
13994
  renderHiddenInput(true, el, name, formatValue(value), disabled);
14091
- return (hAsync(Host, { key: 'f35cf200ff05d33074576e3d2754d3b2a0735b96', "aria-disabled": disabled ? 'true' : null, onFocus: this.onFocus, onBlur: this.onBlur, class: Object.assign({}, createColorClasses$1(color, {
13995
+ return (hAsync(Host, { key: '57492534800ea059a7c2bbd9f0059cc0b75ae8d2', "aria-disabled": disabled ? 'true' : null, onFocus: this.onFocus, onBlur: this.onBlur, class: Object.assign({}, createColorClasses$1(color, {
14092
13996
  [mode]: true,
14093
13997
  ['datetime-readonly']: readonly,
14094
13998
  ['datetime-disabled']: disabled,
@@ -14098,7 +14002,7 @@ class Datetime {
14098
14002
  [`datetime-size-${size}`]: true,
14099
14003
  [`datetime-prefer-wheel`]: hasWheelVariant,
14100
14004
  [`datetime-grid`]: isGridStyle,
14101
- })) }, hAsync("div", { key: '859e9354a12bfa58ac3f964c2e66839f17071c00', class: "intersection-tracker", ref: (el) => (this.intersectionTrackerRef = el) }), this.renderDatetime(mode)));
14005
+ })) }, hAsync("div", { key: '97dac5e5195635ac0bc5fb472b9d09e5c3c6bbc3', class: "intersection-tracker", ref: (el) => (this.intersectionTrackerRef = el) }), this.renderDatetime(mode)));
14102
14006
  }
14103
14007
  get el() { return getElement(this); }
14104
14008
  static get watchers() { return {
@@ -25504,23 +25408,6 @@ class PickerColumn {
25504
25408
  var _a;
25505
25409
  return el ? (_a = el.getAttribute('aria-label')) !== null && _a !== void 0 ? _a : el.innerText : '';
25506
25410
  };
25507
- /**
25508
- * Render an element that overlays the column. This element is for assistive
25509
- * tech to allow users to navigate the column up/down. This element should receive
25510
- * focus as it listens for synthesized keyboard events as required by the
25511
- * slider role: https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Roles/slider_role
25512
- */
25513
- this.renderAssistiveFocusable = () => {
25514
- const { activeItem } = this;
25515
- const valueText = this.getOptionValueText(activeItem);
25516
- /**
25517
- * When using the picker, the valuetext provides important context that valuenow
25518
- * does not. Additionally, using non-zero valuemin/valuemax values can cause
25519
- * WebKit to incorrectly announce numeric valuetext values (such as a year
25520
- * like "2024") as percentages: https://bugs.webkit.org/show_bug.cgi?id=273126
25521
- */
25522
- return (hAsync("div", { ref: (el) => (this.assistiveFocusable = el), class: "assistive-focusable", role: "slider", tabindex: this.disabled ? undefined : 0, "aria-label": this.ariaLabel, "aria-valuemin": 0, "aria-valuemax": 0, "aria-valuenow": 0, "aria-valuetext": valueText, "aria-orientation": "vertical", onKeyDown: (ev) => this.onKeyDown(ev) }));
25523
- };
25524
25411
  }
25525
25412
  ariaLabelChanged(newValue) {
25526
25413
  this.ariaLabel = newValue;
@@ -25661,33 +25548,14 @@ class PickerColumn {
25661
25548
  render() {
25662
25549
  const { color, disabled, isActive, numericInput } = this;
25663
25550
  const mode = getIonMode$1(this);
25664
- return (hAsync(Host, { key: 'ea0280355b2f87895bf7dddd289ccf473aa759f3', class: createColorClasses$1(color, {
25551
+ return (hAsync(Host, { key: 'db903fd415f8a2d91994dececca481c1af8ba6a9', class: createColorClasses$1(color, {
25665
25552
  [mode]: true,
25666
25553
  ['picker-column-active']: isActive,
25667
25554
  ['picker-column-numeric-input']: numericInput,
25668
25555
  ['picker-column-disabled']: disabled,
25669
- }) }, this.renderAssistiveFocusable(), hAsync("slot", { key: '482992131cdeb85b1f61430d7fe1322a16345769', name: "prefix" }), hAsync("div", { key: '43f7f80d621d411ef366b3ca1396299e8c9a0c97', "aria-hidden": "true", class: "picker-opts", ref: (el) => {
25556
+ }) }, hAsync("slot", { key: '02ce9e1dd7df91afcd50b06416552bcffb5dec98', name: "prefix" }), hAsync("div", { key: '6dfd7d2429bec19244a6b1afb4448121963a031b', class: "picker-opts", ref: (el) => {
25670
25557
  this.scrollEl = el;
25671
- },
25672
- /**
25673
- * When an element has an overlay scroll style and
25674
- * a fixed height, Firefox will focus the scrollable
25675
- * container if the content exceeds the container's
25676
- * dimensions.
25677
- *
25678
- * This causes keyboard navigation to focus to this
25679
- * element instead of going to the next element in
25680
- * the tab order.
25681
- *
25682
- * The desired behavior is for the user to be able to
25683
- * focus the assistive focusable element and tab to
25684
- * the next element in the tab order. Instead of tabbing
25685
- * to this element.
25686
- *
25687
- * To prevent this, we set the tabIndex to -1. This
25688
- * will match the behavior of the other browsers.
25689
- */
25690
- tabIndex: -1 }, hAsync("div", { key: '13a9ee686132af32240710730765de4c0003a9e8', class: "picker-item-empty", "aria-hidden": "true" }, "\u00A0"), hAsync("div", { key: 'dbccba4920833cfcebe9b0fc763458ec3053705a', class: "picker-item-empty", "aria-hidden": "true" }, "\u00A0"), hAsync("div", { key: '682b43f83a5ea2e46067457f3af118535e111edb', class: "picker-item-empty", "aria-hidden": "true" }, "\u00A0"), hAsync("slot", { key: 'd27e1e1dc0504b2f4627a29912a05bb91e8e413a' }), hAsync("div", { key: '61c948dbb9cf7469aed3018542bc0954211585ba', class: "picker-item-empty", "aria-hidden": "true" }, "\u00A0"), hAsync("div", { key: 'cf46c277fbee65e35ff44ce0d53ce12aa9cbf9db', class: "picker-item-empty", "aria-hidden": "true" }, "\u00A0"), hAsync("div", { key: 'bbc0e2d491d3f836ab849493ade2f7fa6ad9244e', class: "picker-item-empty", "aria-hidden": "true" }, "\u00A0")), hAsync("slot", { key: 'd25cbbe14b2914fe7b878d43b4e3f4a8c8177d24', name: "suffix" })));
25558
+ }, role: "slider", tabindex: this.disabled ? undefined : 0, "aria-label": this.ariaLabel, "aria-valuemin": 0, "aria-valuemax": 0, "aria-valuenow": 0, "aria-valuetext": this.getOptionValueText(this.activeItem), "aria-orientation": "vertical", onKeyDown: (ev) => this.onKeyDown(ev) }, hAsync("div", { key: 'e30ce0b9cefbfe4d4441fa33acf595da31855c3f', class: "picker-item-empty", "aria-hidden": "true" }, "\u00A0"), hAsync("div", { key: '8be2bd293c12c6ba720d9b31d0d561a96f42e97d', class: "picker-item-empty", "aria-hidden": "true" }, "\u00A0"), hAsync("div", { key: '8afdcddddabbf646fbb55cb0ba4448309a2c1dd9', class: "picker-item-empty", "aria-hidden": "true" }, "\u00A0"), hAsync("slot", { key: '6aa0dacc34d6848575ad5b122b9046982308ca43' }), hAsync("div", { key: '92ec8a357414c1b779b11d1dd18fb87a7ee63982', class: "picker-item-empty", "aria-hidden": "true" }, "\u00A0"), hAsync("div", { key: 'b89457cb74b5907c25594ff6720ac54ca537e933', class: "picker-item-empty", "aria-hidden": "true" }, "\u00A0"), hAsync("div", { key: '5bbc92e6bc24de08e39873bf08c5b668373ac0f8', class: "picker-item-empty", "aria-hidden": "true" }, "\u00A0")), hAsync("slot", { key: 'd7bf2b519214f0f3576a4ca79844ad97827dd97f', name: "suffix" })));
25691
25559
  }
25692
25560
  get el() { return getElement(this); }
25693
25561
  static get watchers() { return {
@@ -26079,9 +25947,9 @@ const DECELERATION_FRICTION = 0.97;
26079
25947
  const MAX_PICKER_SPEED = 90;
26080
25948
  const TRANSITION_DURATION = 150;
26081
25949
 
26082
- const pickerColumnOptionIosCss = "button{padding-left:0;padding-right:0;padding-top:0;padding-bottom:0;margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;width:100%;height:34px;border:0px;outline:none;background:transparent;color:inherit;font-family:var(--ion-font-family, inherit);font-size:inherit;line-height:34px;text-align:inherit;text-overflow:ellipsis;white-space:nowrap;cursor:pointer;overflow:hidden}:host(.option-disabled){opacity:0.4}:host(.option-disabled) button{cursor:default}";
25950
+ const pickerColumnOptionIosCss = ".picker-column-option-button{padding-left:0;padding-right:0;padding-top:0;padding-bottom:0;margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;width:100%;height:34px;border:0px;outline:none;background:transparent;color:inherit;font-family:var(--ion-font-family, inherit);font-size:inherit;line-height:34px;text-align:inherit;text-overflow:ellipsis;white-space:nowrap;cursor:pointer;overflow:hidden}:host(.option-disabled){opacity:0.4}:host(.option-disabled) .picker-column-option-button{cursor:default}";
26083
25951
 
26084
- const pickerColumnOptionMdCss = "button{padding-left:0;padding-right:0;padding-top:0;padding-bottom:0;margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;width:100%;height:34px;border:0px;outline:none;background:transparent;color:inherit;font-family:var(--ion-font-family, inherit);font-size:inherit;line-height:34px;text-align:inherit;text-overflow:ellipsis;white-space:nowrap;cursor:pointer;overflow:hidden}:host(.option-disabled){opacity:0.4}:host(.option-disabled) button{cursor:default}:host(.option-active){color:var(--ion-color-base)}";
25952
+ const pickerColumnOptionMdCss = ".picker-column-option-button{padding-left:0;padding-right:0;padding-top:0;padding-bottom:0;margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;width:100%;height:34px;border:0px;outline:none;background:transparent;color:inherit;font-family:var(--ion-font-family, inherit);font-size:inherit;line-height:34px;text-align:inherit;text-overflow:ellipsis;white-space:nowrap;cursor:pointer;overflow:hidden}:host(.option-disabled){opacity:0.4}:host(.option-disabled) .picker-column-option-button{cursor:default}:host(.option-active){color:var(--ion-color-base)}";
26085
25953
 
26086
25954
  class PickerColumnOption {
26087
25955
  constructor(hostRef) {
@@ -26173,7 +26041,7 @@ class PickerColumnOption {
26173
26041
  return (hAsync(Host, { key: 'f816729941aabcb31ddfdce3ffe2e2139030d715', class: createColorClasses$1(color, {
26174
26042
  [mode]: true,
26175
26043
  ['option-disabled']: disabled,
26176
- }) }, hAsync("button", { key: '48dff7833bb60fc8331cd353a0885e6affa683d1', tabindex: "-1", "aria-label": ariaLabel, disabled: disabled, onClick: () => this.onClick() }, hAsync("slot", { key: 'f9224d0e7b7aa6c05b29abfdcfe0f30ad6ee3141' }))));
26044
+ }) }, hAsync("div", { key: 'd942de84fd14d7dc06b1e5cf4f7920d1dc3c6371', class: 'picker-column-option-button', role: "button", "aria-label": ariaLabel, onClick: () => this.onClick() }, hAsync("slot", { key: 'b0df5717b42209e649097209a01476e1a66f5c5c' }))));
26177
26045
  }
26178
26046
  get el() { return getElement(this); }
26179
26047
  static get watchers() { return {
package/hydrate/index.mjs CHANGED
@@ -6186,8 +6186,6 @@ const present = async (overlay, name, iosEnterAnimation, mdEnterAnimation, opts)
6186
6186
  setRootAriaHidden(true);
6187
6187
  document.body.classList.add(BACKDROP_NO_SCROLL);
6188
6188
  }
6189
- hideUnderlyingOverlaysFromScreenReaders(overlay.el);
6190
- hideAnimatingOverlayFromScreenReaders(overlay.el);
6191
6189
  overlay.presented = true;
6192
6190
  overlay.willPresent.emit();
6193
6191
  (_a = overlay.willPresentShorthand) === null || _a === void 0 ? void 0 : _a.emit();
@@ -6313,12 +6311,6 @@ const dismiss = async (overlay, data, role, name, iosLeaveAnimation, mdLeaveAnim
6313
6311
  }
6314
6312
  overlay.presented = false;
6315
6313
  try {
6316
- /**
6317
- * There is no need to show the overlay to screen readers during
6318
- * the dismiss animation. This is because the overlay will be removed
6319
- * from the DOM after the animation is complete.
6320
- */
6321
- hideAnimatingOverlayFromScreenReaders(overlay.el);
6322
6314
  // Overlay contents should not be clickable during dismiss
6323
6315
  overlay.el.style.setProperty('pointer-events', 'none');
6324
6316
  overlay.willDismiss.emit({ data, role });
@@ -6357,7 +6349,6 @@ const dismiss = async (overlay, data, role, name, iosLeaveAnimation, mdLeaveAnim
6357
6349
  printIonError(`[${overlay.el.tagName.toLowerCase()}] - `, err);
6358
6350
  }
6359
6351
  overlay.el.remove();
6360
- revealOverlaysToScreenReaders();
6361
6352
  return true;
6362
6353
  };
6363
6354
  const getAppRoot = (doc) => {
@@ -6553,93 +6544,6 @@ const createTriggerController = () => {
6553
6544
  removeClickListener,
6554
6545
  };
6555
6546
  };
6556
- /**
6557
- * The overlay that is being animated also needs to hide from screen
6558
- * readers during its animation. This ensures that assistive technologies
6559
- * like TalkBack do not announce or interact with the content until the
6560
- * animation is complete, avoiding confusion for users.
6561
- *
6562
- * When the overlay is presented on an Android device, TalkBack's focus rings
6563
- * may appear in the wrong position due to the transition (specifically
6564
- * `transform` styles). This occurs because the focus rings are initially
6565
- * displayed at the starting position of the elements before the transition
6566
- * begins. This workaround ensures the focus rings do not appear in the
6567
- * incorrect location.
6568
- *
6569
- * If this solution is applied to iOS devices, then it leads to a bug where
6570
- * the overlays cannot be accessed by screen readers. This is due to
6571
- * VoiceOver not being able to update the accessibility tree when the
6572
- * `aria-hidden` is removed.
6573
- *
6574
- * @param overlay - The overlay that is being animated.
6575
- */
6576
- const hideAnimatingOverlayFromScreenReaders = (overlay) => {
6577
- if (doc === undefined)
6578
- return;
6579
- if (isPlatform('android')) {
6580
- /**
6581
- * Once the animation is complete, this attribute will be removed.
6582
- * This is done at the end of the `present` method.
6583
- */
6584
- overlay.setAttribute('aria-hidden', 'true');
6585
- }
6586
- };
6587
- /**
6588
- * Ensure that underlying overlays have aria-hidden if necessary so that screen readers
6589
- * cannot move focus to these elements. Note that we cannot rely on focus/focusin/focusout
6590
- * events here because those events do not fire when the screen readers moves to a non-focusable
6591
- * element such as text.
6592
- * Without this logic screen readers would be able to move focus outside of the top focus-trapped overlay.
6593
- *
6594
- * @param newTopMostOverlay - The overlay that is being presented. Since the overlay has not been
6595
- * fully presented yet at the time this function is called it will not be included in the getPresentedOverlays result.
6596
- */
6597
- const hideUnderlyingOverlaysFromScreenReaders = (newTopMostOverlay) => {
6598
- var _a;
6599
- if (doc === undefined)
6600
- return;
6601
- const overlays = getPresentedOverlays(doc);
6602
- for (let i = overlays.length - 1; i >= 0; i--) {
6603
- const presentedOverlay = overlays[i];
6604
- const nextPresentedOverlay = (_a = overlays[i + 1]) !== null && _a !== void 0 ? _a : newTopMostOverlay;
6605
- /**
6606
- * If next overlay has aria-hidden then all remaining overlays will have it too.
6607
- * Or, if the next overlay is a Toast that does not have aria-hidden then current overlay
6608
- * should not have aria-hidden either so focus can remain in the current overlay.
6609
- */
6610
- if (nextPresentedOverlay.hasAttribute('aria-hidden') || nextPresentedOverlay.tagName !== 'ION-TOAST') {
6611
- presentedOverlay.setAttribute('aria-hidden', 'true');
6612
- }
6613
- }
6614
- };
6615
- /**
6616
- * When dismissing an overlay we need to reveal the new top-most overlay to screen readers.
6617
- * If the top-most overlay is a Toast we potentially need to reveal more overlays since
6618
- * focus is never automatically moved to the Toast.
6619
- */
6620
- const revealOverlaysToScreenReaders = () => {
6621
- if (doc === undefined)
6622
- return;
6623
- const overlays = getPresentedOverlays(doc);
6624
- for (let i = overlays.length - 1; i >= 0; i--) {
6625
- const currentOverlay = overlays[i];
6626
- /**
6627
- * If the current we are looking at is a Toast then we can remove aria-hidden.
6628
- * However, we potentially need to keep looking at the overlay stack because there
6629
- * could be more Toasts underneath. Additionally, we need to unhide the closest non-Toast
6630
- * overlay too so focus can move there since focus is never automatically moved to the Toast.
6631
- */
6632
- currentOverlay.removeAttribute('aria-hidden');
6633
- /**
6634
- * If we found a non-Toast element then we can just remove aria-hidden and stop searching entirely
6635
- * since this overlay should always receive focus. As a result, all underlying overlays should still
6636
- * be hidden from screen readers.
6637
- */
6638
- if (currentOverlay.tagName !== 'ION-TOAST') {
6639
- break;
6640
- }
6641
- }
6642
- };
6643
6547
  const FOCUS_TRAP_DISABLE_CLASS = 'ion-disable-focus-trap';
6644
6548
 
6645
6549
  const hostContext = (selector, el) => {
@@ -13529,7 +13433,7 @@ class Datetime {
13529
13433
  const renderArray = forcePresentation === 'time-date'
13530
13434
  ? [this.renderTimePickerColumns(forcePresentation), this.renderDatePickerColumns(forcePresentation)]
13531
13435
  : [this.renderDatePickerColumns(forcePresentation), this.renderTimePickerColumns(forcePresentation)];
13532
- return hAsync("ion-picker", null, renderArray);
13436
+ return hAsync("ion-picker", { class: FOCUS_TRAP_DISABLE_CLASS }, renderArray);
13533
13437
  }
13534
13438
  renderDatePickerColumns(forcePresentation) {
13535
13439
  return forcePresentation === 'date-time' || forcePresentation === 'time-date'
@@ -14086,7 +13990,7 @@ class Datetime {
14086
13990
  const hasDatePresentation = presentation === 'date' || presentation === 'date-time' || presentation === 'time-date';
14087
13991
  const hasWheelVariant = hasDatePresentation && preferWheel;
14088
13992
  renderHiddenInput(true, el, name, formatValue(value), disabled);
14089
- return (hAsync(Host, { key: 'f35cf200ff05d33074576e3d2754d3b2a0735b96', "aria-disabled": disabled ? 'true' : null, onFocus: this.onFocus, onBlur: this.onBlur, class: Object.assign({}, createColorClasses$1(color, {
13993
+ return (hAsync(Host, { key: '57492534800ea059a7c2bbd9f0059cc0b75ae8d2', "aria-disabled": disabled ? 'true' : null, onFocus: this.onFocus, onBlur: this.onBlur, class: Object.assign({}, createColorClasses$1(color, {
14090
13994
  [mode]: true,
14091
13995
  ['datetime-readonly']: readonly,
14092
13996
  ['datetime-disabled']: disabled,
@@ -14096,7 +14000,7 @@ class Datetime {
14096
14000
  [`datetime-size-${size}`]: true,
14097
14001
  [`datetime-prefer-wheel`]: hasWheelVariant,
14098
14002
  [`datetime-grid`]: isGridStyle,
14099
- })) }, hAsync("div", { key: '859e9354a12bfa58ac3f964c2e66839f17071c00', class: "intersection-tracker", ref: (el) => (this.intersectionTrackerRef = el) }), this.renderDatetime(mode)));
14003
+ })) }, hAsync("div", { key: '97dac5e5195635ac0bc5fb472b9d09e5c3c6bbc3', class: "intersection-tracker", ref: (el) => (this.intersectionTrackerRef = el) }), this.renderDatetime(mode)));
14100
14004
  }
14101
14005
  get el() { return getElement(this); }
14102
14006
  static get watchers() { return {
@@ -25502,23 +25406,6 @@ class PickerColumn {
25502
25406
  var _a;
25503
25407
  return el ? (_a = el.getAttribute('aria-label')) !== null && _a !== void 0 ? _a : el.innerText : '';
25504
25408
  };
25505
- /**
25506
- * Render an element that overlays the column. This element is for assistive
25507
- * tech to allow users to navigate the column up/down. This element should receive
25508
- * focus as it listens for synthesized keyboard events as required by the
25509
- * slider role: https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Roles/slider_role
25510
- */
25511
- this.renderAssistiveFocusable = () => {
25512
- const { activeItem } = this;
25513
- const valueText = this.getOptionValueText(activeItem);
25514
- /**
25515
- * When using the picker, the valuetext provides important context that valuenow
25516
- * does not. Additionally, using non-zero valuemin/valuemax values can cause
25517
- * WebKit to incorrectly announce numeric valuetext values (such as a year
25518
- * like "2024") as percentages: https://bugs.webkit.org/show_bug.cgi?id=273126
25519
- */
25520
- return (hAsync("div", { ref: (el) => (this.assistiveFocusable = el), class: "assistive-focusable", role: "slider", tabindex: this.disabled ? undefined : 0, "aria-label": this.ariaLabel, "aria-valuemin": 0, "aria-valuemax": 0, "aria-valuenow": 0, "aria-valuetext": valueText, "aria-orientation": "vertical", onKeyDown: (ev) => this.onKeyDown(ev) }));
25521
- };
25522
25409
  }
25523
25410
  ariaLabelChanged(newValue) {
25524
25411
  this.ariaLabel = newValue;
@@ -25659,33 +25546,14 @@ class PickerColumn {
25659
25546
  render() {
25660
25547
  const { color, disabled, isActive, numericInput } = this;
25661
25548
  const mode = getIonMode$1(this);
25662
- return (hAsync(Host, { key: 'ea0280355b2f87895bf7dddd289ccf473aa759f3', class: createColorClasses$1(color, {
25549
+ return (hAsync(Host, { key: 'db903fd415f8a2d91994dececca481c1af8ba6a9', class: createColorClasses$1(color, {
25663
25550
  [mode]: true,
25664
25551
  ['picker-column-active']: isActive,
25665
25552
  ['picker-column-numeric-input']: numericInput,
25666
25553
  ['picker-column-disabled']: disabled,
25667
- }) }, this.renderAssistiveFocusable(), hAsync("slot", { key: '482992131cdeb85b1f61430d7fe1322a16345769', name: "prefix" }), hAsync("div", { key: '43f7f80d621d411ef366b3ca1396299e8c9a0c97', "aria-hidden": "true", class: "picker-opts", ref: (el) => {
25554
+ }) }, hAsync("slot", { key: '02ce9e1dd7df91afcd50b06416552bcffb5dec98', name: "prefix" }), hAsync("div", { key: '6dfd7d2429bec19244a6b1afb4448121963a031b', class: "picker-opts", ref: (el) => {
25668
25555
  this.scrollEl = el;
25669
- },
25670
- /**
25671
- * When an element has an overlay scroll style and
25672
- * a fixed height, Firefox will focus the scrollable
25673
- * container if the content exceeds the container's
25674
- * dimensions.
25675
- *
25676
- * This causes keyboard navigation to focus to this
25677
- * element instead of going to the next element in
25678
- * the tab order.
25679
- *
25680
- * The desired behavior is for the user to be able to
25681
- * focus the assistive focusable element and tab to
25682
- * the next element in the tab order. Instead of tabbing
25683
- * to this element.
25684
- *
25685
- * To prevent this, we set the tabIndex to -1. This
25686
- * will match the behavior of the other browsers.
25687
- */
25688
- tabIndex: -1 }, hAsync("div", { key: '13a9ee686132af32240710730765de4c0003a9e8', class: "picker-item-empty", "aria-hidden": "true" }, "\u00A0"), hAsync("div", { key: 'dbccba4920833cfcebe9b0fc763458ec3053705a', class: "picker-item-empty", "aria-hidden": "true" }, "\u00A0"), hAsync("div", { key: '682b43f83a5ea2e46067457f3af118535e111edb', class: "picker-item-empty", "aria-hidden": "true" }, "\u00A0"), hAsync("slot", { key: 'd27e1e1dc0504b2f4627a29912a05bb91e8e413a' }), hAsync("div", { key: '61c948dbb9cf7469aed3018542bc0954211585ba', class: "picker-item-empty", "aria-hidden": "true" }, "\u00A0"), hAsync("div", { key: 'cf46c277fbee65e35ff44ce0d53ce12aa9cbf9db', class: "picker-item-empty", "aria-hidden": "true" }, "\u00A0"), hAsync("div", { key: 'bbc0e2d491d3f836ab849493ade2f7fa6ad9244e', class: "picker-item-empty", "aria-hidden": "true" }, "\u00A0")), hAsync("slot", { key: 'd25cbbe14b2914fe7b878d43b4e3f4a8c8177d24', name: "suffix" })));
25556
+ }, role: "slider", tabindex: this.disabled ? undefined : 0, "aria-label": this.ariaLabel, "aria-valuemin": 0, "aria-valuemax": 0, "aria-valuenow": 0, "aria-valuetext": this.getOptionValueText(this.activeItem), "aria-orientation": "vertical", onKeyDown: (ev) => this.onKeyDown(ev) }, hAsync("div", { key: 'e30ce0b9cefbfe4d4441fa33acf595da31855c3f', class: "picker-item-empty", "aria-hidden": "true" }, "\u00A0"), hAsync("div", { key: '8be2bd293c12c6ba720d9b31d0d561a96f42e97d', class: "picker-item-empty", "aria-hidden": "true" }, "\u00A0"), hAsync("div", { key: '8afdcddddabbf646fbb55cb0ba4448309a2c1dd9', class: "picker-item-empty", "aria-hidden": "true" }, "\u00A0"), hAsync("slot", { key: '6aa0dacc34d6848575ad5b122b9046982308ca43' }), hAsync("div", { key: '92ec8a357414c1b779b11d1dd18fb87a7ee63982', class: "picker-item-empty", "aria-hidden": "true" }, "\u00A0"), hAsync("div", { key: 'b89457cb74b5907c25594ff6720ac54ca537e933', class: "picker-item-empty", "aria-hidden": "true" }, "\u00A0"), hAsync("div", { key: '5bbc92e6bc24de08e39873bf08c5b668373ac0f8', class: "picker-item-empty", "aria-hidden": "true" }, "\u00A0")), hAsync("slot", { key: 'd7bf2b519214f0f3576a4ca79844ad97827dd97f', name: "suffix" })));
25689
25557
  }
25690
25558
  get el() { return getElement(this); }
25691
25559
  static get watchers() { return {
@@ -26077,9 +25945,9 @@ const DECELERATION_FRICTION = 0.97;
26077
25945
  const MAX_PICKER_SPEED = 90;
26078
25946
  const TRANSITION_DURATION = 150;
26079
25947
 
26080
- const pickerColumnOptionIosCss = "button{padding-left:0;padding-right:0;padding-top:0;padding-bottom:0;margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;width:100%;height:34px;border:0px;outline:none;background:transparent;color:inherit;font-family:var(--ion-font-family, inherit);font-size:inherit;line-height:34px;text-align:inherit;text-overflow:ellipsis;white-space:nowrap;cursor:pointer;overflow:hidden}:host(.option-disabled){opacity:0.4}:host(.option-disabled) button{cursor:default}";
25948
+ const pickerColumnOptionIosCss = ".picker-column-option-button{padding-left:0;padding-right:0;padding-top:0;padding-bottom:0;margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;width:100%;height:34px;border:0px;outline:none;background:transparent;color:inherit;font-family:var(--ion-font-family, inherit);font-size:inherit;line-height:34px;text-align:inherit;text-overflow:ellipsis;white-space:nowrap;cursor:pointer;overflow:hidden}:host(.option-disabled){opacity:0.4}:host(.option-disabled) .picker-column-option-button{cursor:default}";
26081
25949
 
26082
- const pickerColumnOptionMdCss = "button{padding-left:0;padding-right:0;padding-top:0;padding-bottom:0;margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;width:100%;height:34px;border:0px;outline:none;background:transparent;color:inherit;font-family:var(--ion-font-family, inherit);font-size:inherit;line-height:34px;text-align:inherit;text-overflow:ellipsis;white-space:nowrap;cursor:pointer;overflow:hidden}:host(.option-disabled){opacity:0.4}:host(.option-disabled) button{cursor:default}:host(.option-active){color:var(--ion-color-base)}";
25950
+ const pickerColumnOptionMdCss = ".picker-column-option-button{padding-left:0;padding-right:0;padding-top:0;padding-bottom:0;margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;width:100%;height:34px;border:0px;outline:none;background:transparent;color:inherit;font-family:var(--ion-font-family, inherit);font-size:inherit;line-height:34px;text-align:inherit;text-overflow:ellipsis;white-space:nowrap;cursor:pointer;overflow:hidden}:host(.option-disabled){opacity:0.4}:host(.option-disabled) .picker-column-option-button{cursor:default}:host(.option-active){color:var(--ion-color-base)}";
26083
25951
 
26084
25952
  class PickerColumnOption {
26085
25953
  constructor(hostRef) {
@@ -26171,7 +26039,7 @@ class PickerColumnOption {
26171
26039
  return (hAsync(Host, { key: 'f816729941aabcb31ddfdce3ffe2e2139030d715', class: createColorClasses$1(color, {
26172
26040
  [mode]: true,
26173
26041
  ['option-disabled']: disabled,
26174
- }) }, hAsync("button", { key: '48dff7833bb60fc8331cd353a0885e6affa683d1', tabindex: "-1", "aria-label": ariaLabel, disabled: disabled, onClick: () => this.onClick() }, hAsync("slot", { key: 'f9224d0e7b7aa6c05b29abfdcfe0f30ad6ee3141' }))));
26042
+ }) }, hAsync("div", { key: 'd942de84fd14d7dc06b1e5cf4f7920d1dc3c6371', class: 'picker-column-option-button', role: "button", "aria-label": ariaLabel, onClick: () => this.onClick() }, hAsync("slot", { key: 'b0df5717b42209e649097209a01476e1a66f5c5c' }))));
26175
26043
  }
26176
26044
  get el() { return getElement(this); }
26177
26045
  static get watchers() { return {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ionic/core",
3
- "version": "8.7.2",
3
+ "version": "8.7.3-dev.11755006024.11261c64",
4
4
  "description": "Base components for Ionic",
5
5
  "keywords": [
6
6
  "ionic",
@@ -47,10 +47,10 @@
47
47
  "@playwright/test": "^1.54.2",
48
48
  "@rollup/plugin-node-resolve": "^8.4.0",
49
49
  "@rollup/plugin-virtual": "^2.0.3",
50
- "@stencil/angular-output-target": "^1.0.0",
50
+ "@stencil/angular-output-target": "^0.10.0",
51
51
  "@stencil/react-output-target": "0.5.3",
52
52
  "@stencil/sass": "^3.0.9",
53
- "@stencil/vue-output-target": "0.11.8",
53
+ "@stencil/vue-output-target": "0.10.8",
54
54
  "@types/jest": "^29.5.6",
55
55
  "@types/node": "^14.6.0",
56
56
  "@typescript-eslint/eslint-plugin": "^6.7.2",