@ionic/core 7.4.4-dev.11696956070.1faa3cfe → 7.4.4-dev.11699471770.1b7273c4

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 (211) hide show
  1. package/components/alert.js +8 -0
  2. package/components/checkbox.js +0 -3
  3. package/components/data.js +96 -22
  4. package/components/haptic.js +1 -0
  5. package/components/index.js +1 -0
  6. package/components/ion-datetime-button.js +4 -4
  7. package/components/ion-datetime.js +3 -3
  8. package/components/ion-nav.js +1 -0
  9. package/components/ion-router.js +3 -0
  10. package/components/ion-select.js +1 -1
  11. package/components/ion-toast.js +157 -13
  12. package/components/ion-toggle.js +0 -3
  13. package/components/ios.transition.js +1 -0
  14. package/components/overlays.js +1 -0
  15. package/components/radio-group.js +1 -1
  16. package/components/radio.js +1 -4
  17. package/dist/cjs/{button-active-c358e83c.js → button-active-f2147e85.js} +1 -1
  18. package/dist/cjs/{data-db832785.js → data-c8d21093.js} +96 -22
  19. package/dist/cjs/{haptic-c5f6b4d5.js → haptic-678abc9f.js} +1 -0
  20. package/dist/cjs/{index-fa649bd8.js → index-33d2809c.js} +2 -2
  21. package/dist/cjs/index.cjs.js +6 -4
  22. package/dist/cjs/ion-action-sheet.cjs.entry.js +3 -3
  23. package/dist/cjs/ion-alert.cjs.entry.js +11 -3
  24. package/dist/cjs/ion-app_8.cjs.entry.js +1 -1
  25. package/dist/cjs/ion-checkbox.cjs.entry.js +0 -3
  26. package/dist/cjs/ion-datetime-button.cjs.entry.js +4 -4
  27. package/dist/cjs/ion-datetime_3.cjs.entry.js +5 -5
  28. package/dist/cjs/ion-loading.cjs.entry.js +1 -1
  29. package/dist/cjs/ion-menu_3.cjs.entry.js +1 -1
  30. package/dist/cjs/ion-modal.cjs.entry.js +2 -2
  31. package/dist/cjs/ion-nav_2.cjs.entry.js +2 -1
  32. package/dist/cjs/ion-picker-column-internal.cjs.entry.js +1 -1
  33. package/dist/cjs/ion-popover.cjs.entry.js +2 -2
  34. package/dist/cjs/ion-radio_2.cjs.entry.js +2 -5
  35. package/dist/cjs/ion-refresher_2.cjs.entry.js +1 -1
  36. package/dist/cjs/ion-reorder_2.cjs.entry.js +1 -1
  37. package/dist/cjs/ion-route_4.cjs.entry.js +3 -0
  38. package/dist/cjs/ion-select_3.cjs.entry.js +2 -2
  39. package/dist/cjs/ion-toast.cjs.entry.js +174 -32
  40. package/dist/cjs/ion-toggle.cjs.entry.js +1 -4
  41. package/dist/cjs/ionic.cjs.js +1 -1
  42. package/dist/cjs/{ios.transition-4195d10d.js → ios.transition-8ddf91e6.js} +2 -1
  43. package/dist/cjs/loader.cjs.js +1 -1
  44. package/dist/cjs/{md.transition-0713f667.js → md.transition-44ff8566.js} +1 -1
  45. package/dist/cjs/{overlays-efc9d511.js → overlays-9cab437c.js} +1 -0
  46. package/dist/collection/components/alert/alert.js +8 -0
  47. package/dist/collection/components/alert/test/a11y/alert.e2e.js +11 -0
  48. package/dist/collection/components/checkbox/checkbox.js +0 -3
  49. package/dist/collection/components/datetime/datetime.js +12 -6
  50. package/dist/collection/components/datetime/test/hour-cycle/datetime.e2e.js +14 -0
  51. package/dist/collection/components/datetime/utils/data.js +33 -7
  52. package/dist/collection/components/datetime/utils/format.js +27 -10
  53. package/dist/collection/components/datetime/utils/helpers.js +37 -5
  54. package/dist/collection/components/datetime-button/datetime-button.js +4 -4
  55. package/dist/collection/components/nav/nav.js +1 -0
  56. package/dist/collection/components/radio/radio.js +1 -4
  57. package/dist/collection/components/radio-group/radio-group.js +1 -1
  58. package/dist/collection/components/router/router.js +2 -0
  59. package/dist/collection/components/router/utils/path.js +1 -0
  60. package/dist/collection/components/select/select.js +1 -1
  61. package/dist/collection/components/toast/animations/ios.enter.js +2 -3
  62. package/dist/collection/components/toast/animations/ios.leave.js +2 -3
  63. package/dist/collection/components/toast/animations/md.enter.js +2 -3
  64. package/dist/collection/components/toast/animations/utils.js +85 -0
  65. package/dist/collection/components/toast/test/position-anchor/toast.e2e.js +45 -0
  66. package/dist/collection/components/toast/toast.js +98 -9
  67. package/dist/collection/components/toggle/toggle.js +0 -3
  68. package/dist/collection/index.js +1 -0
  69. package/dist/collection/utils/native/haptic.js +1 -0
  70. package/dist/collection/utils/overlays.js +1 -0
  71. package/dist/collection/utils/transition/ios.transition.js +1 -0
  72. package/dist/docs.json +73 -10
  73. package/dist/esm/{button-active-7180a130.js → button-active-3dd473a1.js} +1 -1
  74. package/dist/esm/{data-009dbf15.js → data-44d9e816.js} +96 -22
  75. package/dist/esm/{haptic-6447af60.js → haptic-1243b917.js} +1 -0
  76. package/dist/esm/{index-0b0dd67c.js → index-6e10cd02.js} +2 -2
  77. package/dist/esm/index.js +5 -4
  78. package/dist/esm/ion-action-sheet.entry.js +3 -3
  79. package/dist/esm/ion-alert.entry.js +11 -3
  80. package/dist/esm/ion-app_8.entry.js +1 -1
  81. package/dist/esm/ion-checkbox.entry.js +0 -3
  82. package/dist/esm/ion-datetime-button.entry.js +4 -4
  83. package/dist/esm/ion-datetime_3.entry.js +5 -5
  84. package/dist/esm/ion-loading.entry.js +1 -1
  85. package/dist/esm/ion-menu_3.entry.js +1 -1
  86. package/dist/esm/ion-modal.entry.js +2 -2
  87. package/dist/esm/ion-nav_2.entry.js +2 -1
  88. package/dist/esm/ion-picker-column-internal.entry.js +1 -1
  89. package/dist/esm/ion-popover.entry.js +2 -2
  90. package/dist/esm/ion-radio_2.entry.js +2 -5
  91. package/dist/esm/ion-refresher_2.entry.js +1 -1
  92. package/dist/esm/ion-reorder_2.entry.js +1 -1
  93. package/dist/esm/ion-route_4.entry.js +3 -0
  94. package/dist/esm/ion-select_3.entry.js +2 -2
  95. package/dist/esm/ion-toast.entry.js +157 -15
  96. package/dist/esm/ion-toggle.entry.js +1 -4
  97. package/dist/esm/ionic.js +1 -1
  98. package/dist/esm/{ios.transition-875ba2ea.js → ios.transition-6707a3a1.js} +2 -1
  99. package/dist/esm/loader.js +1 -1
  100. package/dist/esm/{md.transition-54c79f72.js → md.transition-957964fd.js} +1 -1
  101. package/dist/esm/{overlays-84621c0a.js → overlays-753933fc.js} +1 -0
  102. package/dist/esm-es5/{button-active-7180a130.js → button-active-3dd473a1.js} +1 -1
  103. package/dist/esm-es5/data-44d9e816.js +4 -0
  104. package/dist/esm-es5/{index-0b0dd67c.js → index-6e10cd02.js} +1 -1
  105. package/dist/esm-es5/index.js +1 -1
  106. package/dist/esm-es5/ion-action-sheet.entry.js +1 -1
  107. package/dist/esm-es5/ion-alert.entry.js +1 -1
  108. package/dist/esm-es5/ion-app_8.entry.js +1 -1
  109. package/dist/esm-es5/ion-checkbox.entry.js +1 -1
  110. package/dist/esm-es5/ion-datetime-button.entry.js +1 -1
  111. package/dist/esm-es5/ion-datetime_3.entry.js +1 -1
  112. package/dist/esm-es5/ion-loading.entry.js +1 -1
  113. package/dist/esm-es5/ion-menu_3.entry.js +1 -1
  114. package/dist/esm-es5/ion-modal.entry.js +1 -1
  115. package/dist/esm-es5/ion-nav_2.entry.js +1 -1
  116. package/dist/esm-es5/ion-picker-column-internal.entry.js +1 -1
  117. package/dist/esm-es5/ion-popover.entry.js +1 -1
  118. package/dist/esm-es5/ion-radio_2.entry.js +1 -1
  119. package/dist/esm-es5/ion-refresher_2.entry.js +1 -1
  120. package/dist/esm-es5/ion-reorder_2.entry.js +1 -1
  121. package/dist/esm-es5/ion-select_3.entry.js +1 -1
  122. package/dist/esm-es5/ion-toast.entry.js +1 -1
  123. package/dist/esm-es5/ion-toggle.entry.js +1 -1
  124. package/dist/esm-es5/ionic.js +1 -1
  125. package/dist/esm-es5/{ios.transition-875ba2ea.js → ios.transition-6707a3a1.js} +1 -1
  126. package/dist/esm-es5/loader.js +1 -1
  127. package/dist/esm-es5/{md.transition-54c79f72.js → md.transition-957964fd.js} +1 -1
  128. package/dist/html.html-data.json +11 -1
  129. package/dist/ionic/index.esm.js +1 -1
  130. package/dist/ionic/ionic.esm.js +1 -1
  131. package/dist/ionic/{p-2134558d.entry.js → p-0023e6eb.entry.js} +1 -1
  132. package/dist/ionic/{p-0dcdf480.system.entry.js → p-00f709ca.system.entry.js} +1 -1
  133. package/dist/ionic/{p-2330af92.system.entry.js → p-037e2738.system.entry.js} +1 -1
  134. package/dist/ionic/{p-678f37d7.entry.js → p-03f7e3cc.entry.js} +1 -1
  135. package/dist/ionic/{p-8c17d825.js → p-0d198537.js} +1 -1
  136. package/dist/ionic/p-100ea813.system.entry.js +4 -0
  137. package/dist/ionic/{p-f4267847.system.entry.js → p-10fcb3a3.system.entry.js} +1 -1
  138. package/dist/ionic/{p-00d3814a.system.entry.js → p-14fd96a2.system.entry.js} +1 -1
  139. package/dist/ionic/p-17240d90.js +4 -0
  140. package/dist/ionic/{p-af39c1c5.js → p-1d9b39f3.js} +1 -1
  141. package/dist/ionic/{p-a1528344.entry.js → p-2acea831.entry.js} +1 -1
  142. package/dist/ionic/{p-cd075e75.system.entry.js → p-2c9e9915.system.entry.js} +1 -1
  143. package/dist/ionic/{p-979dc719.entry.js → p-44fa0a61.entry.js} +1 -1
  144. package/dist/ionic/p-469d6a98.entry.js +4 -0
  145. package/dist/ionic/p-4965f2d7.entry.js +4 -0
  146. package/dist/ionic/p-520789c2.js +4 -0
  147. package/dist/ionic/{p-24952f8a.system.entry.js → p-5cafe439.system.entry.js} +1 -1
  148. package/dist/ionic/{p-eaa58d23.entry.js → p-60dee335.entry.js} +1 -1
  149. package/dist/ionic/p-68b405cc.entry.js +4 -0
  150. package/dist/ionic/p-73eba881.system.js +1 -1
  151. package/dist/ionic/{p-0c7d0167.system.entry.js → p-7520e873.system.entry.js} +1 -1
  152. package/dist/ionic/{p-df951755.system.entry.js → p-88a1a4fe.system.entry.js} +1 -1
  153. package/dist/ionic/{p-0fc8a522.system.entry.js → p-8957b1de.system.entry.js} +1 -1
  154. package/dist/ionic/{p-9e6bf328.system.js → p-90012797.system.js} +1 -1
  155. package/dist/ionic/{p-4c274938.entry.js → p-93c4333b.entry.js} +1 -1
  156. package/dist/ionic/{p-a8403bed.system.entry.js → p-9736406a.system.entry.js} +1 -1
  157. package/dist/ionic/{p-0e070fbe.entry.js → p-9b796813.entry.js} +1 -1
  158. package/dist/ionic/p-9bd70bd2.entry.js +4 -0
  159. package/dist/ionic/{p-2062958e.js → p-9dbc208c.js} +1 -1
  160. package/dist/ionic/{p-52e5f8f0.system.entry.js → p-a157df46.system.entry.js} +1 -1
  161. package/dist/ionic/{p-a6c52452.entry.js → p-a7361c85.entry.js} +1 -1
  162. package/dist/ionic/{p-d511de89.system.entry.js → p-aa4b083c.system.entry.js} +1 -1
  163. package/dist/ionic/p-aae05032.entry.js +4 -0
  164. package/dist/ionic/{p-e92068d4.system.entry.js → p-ae8121f5.system.entry.js} +1 -1
  165. package/dist/ionic/{p-d17638e9.system.js → p-b25a96b7.system.js} +1 -1
  166. package/dist/ionic/{p-53d4606a.entry.js → p-b4f14d9e.entry.js} +1 -1
  167. package/dist/ionic/p-b8c3f071.system.js +4 -0
  168. package/dist/ionic/p-b92d3bf2.system.js +4 -0
  169. package/dist/ionic/{p-ab37db48.entry.js → p-be02d76a.entry.js} +1 -1
  170. package/dist/ionic/{p-7061fa75.system.entry.js → p-c215a78a.system.entry.js} +1 -1
  171. package/dist/ionic/{p-67e21699.entry.js → p-c42d0ea3.entry.js} +1 -1
  172. package/dist/ionic/{p-32eaa293.entry.js → p-cb16123b.entry.js} +1 -1
  173. package/dist/ionic/p-d0d59328.entry.js +4 -0
  174. package/dist/ionic/{p-b7258ddb.system.js → p-e0f66356.system.js} +1 -1
  175. package/dist/ionic/{p-f1c2678b.system.entry.js → p-e62d80e5.system.entry.js} +1 -1
  176. package/dist/ionic/{p-3d278648.system.entry.js → p-e690be9f.system.entry.js} +1 -1
  177. package/dist/ionic/{p-7c901810.system.js → p-ec25d547.system.js} +1 -1
  178. package/dist/ionic/{p-77b9d68a.system.entry.js → p-fe268c4d.system.entry.js} +1 -1
  179. package/dist/types/components/datetime/datetime-interface.d.ts +1 -0
  180. package/dist/types/components/datetime/datetime.d.ts +2 -2
  181. package/dist/types/components/datetime/utils/data.d.ts +3 -3
  182. package/dist/types/components/datetime/utils/format.d.ts +3 -3
  183. package/dist/types/components/datetime/utils/helpers.d.ts +15 -1
  184. package/dist/types/components/toast/animations/ios.enter.d.ts +2 -1
  185. package/dist/types/components/toast/animations/ios.leave.d.ts +2 -2
  186. package/dist/types/components/toast/animations/md.enter.d.ts +2 -1
  187. package/dist/types/components/toast/animations/utils.d.ts +18 -0
  188. package/dist/types/components/toast/toast-interface.d.ts +11 -0
  189. package/dist/types/components/toast/toast.d.ts +21 -1
  190. package/dist/types/components.d.ts +16 -8
  191. package/dist/types/index.d.ts +1 -0
  192. package/hydrate/index.js +274 -51
  193. package/package.json +4 -5
  194. package/dist/esm-es5/data-009dbf15.js +0 -4
  195. package/dist/ionic/p-07c816fb.entry.js +0 -4
  196. package/dist/ionic/p-15278928.entry.js +0 -4
  197. package/dist/ionic/p-44ef7224.system.js +0 -4
  198. package/dist/ionic/p-63b4ef44.system.entry.js +0 -4
  199. package/dist/ionic/p-775f3749.entry.js +0 -4
  200. package/dist/ionic/p-77872abc.entry.js +0 -4
  201. package/dist/ionic/p-7cfd253c.js +0 -4
  202. package/dist/ionic/p-8b33cfef.entry.js +0 -4
  203. package/dist/ionic/p-c5395981.js +0 -4
  204. package/dist/ionic/p-c9524896.system.js +0 -4
  205. package/dist/ionic/p-d055bba9.entry.js +0 -4
  206. /package/dist/esm-es5/{haptic-6447af60.js → haptic-1243b917.js} +0 -0
  207. /package/dist/esm-es5/{overlays-84621c0a.js → overlays-753933fc.js} +0 -0
  208. /package/dist/ionic/{p-c8ec0d79.system.js → p-82c72668.system.js} +0 -0
  209. /package/dist/ionic/{p-14d7b7e2.system.js → p-b4b4bb29.system.js} +0 -0
  210. /package/dist/ionic/{p-bb6f38ed.js → p-b923f3d7.js} +0 -0
  211. /package/dist/ionic/{p-68a3da51.js → p-ee8881d0.js} +0 -0
@@ -1,4 +1,4 @@
1
1
  var __awaiter=this&&this.__awaiter||function(t,e,n,i){function o(t){return t instanceof n?t:new n((function(e){e(t)}))}return new(n||(n=Promise))((function(n,r){function s(t){try{u(i.next(t))}catch(t){r(t)}}function a(t){try{u(i["throw"](t))}catch(t){r(t)}}function u(t){t.done?n(t.value):o(t.value).then(s,a)}u((i=i.apply(t,e||[])).next())}))};var __generator=this&&this.__generator||function(t,e){var n={label:0,sent:function(){if(r[0]&1)throw r[1];return r[1]},trys:[],ops:[]},i,o,r,s;return s={next:a(0),throw:a(1),return:a(2)},typeof Symbol==="function"&&(s[Symbol.iterator]=function(){return this}),s;function a(t){return function(e){return u([t,e])}}function u(a){if(i)throw new TypeError("Generator is already executing.");while(s&&(s=0,a[0]&&(n=0)),n)try{if(i=1,o&&(r=a[0]&2?o["return"]:a[0]?o["throw"]||((r=o["return"])&&r.call(o),0):o.next)&&!(r=r.call(o,a[1])).done)return r;if(o=0,r)a=[a[0]&2,r.value];switch(a[0]){case 0:case 1:r=a;break;case 4:n.label++;return{value:a[1],done:false};case 5:n.label++;o=a[1];a=[0];continue;case 7:a=n.ops.pop();n.trys.pop();continue;default:if(!(r=n.trys,r=r.length>0&&r[r.length-1])&&(a[0]===6||a[0]===2)){n=0;continue}if(a[0]===3&&(!r||a[1]>r[0]&&a[1]<r[3])){n.label=a[1];break}if(a[0]===6&&n.label<r[1]){n.label=r[1];r=a;break}if(r&&n.label<r[2]){n.label=r[2];n.ops.push(a);break}if(r[2])n.ops.pop();n.trys.pop();continue}a=e.call(t,n)}catch(t){a=[6,t];o=0}finally{i=r=0}if(a[0]&5)throw a[1];return{value:a[0]?a[1]:void 0,done:true}}};
2
2
  /*!
3
3
  * (C) Ionic http://ionicframework.com - MIT License
4
- */System.register(["./p-26fbffd4.system.js","./p-c4f2dce7.system.js","./p-0e94957a.system.js","./p-9e852ff1.system.js","./p-815c2fba.system.js","./p-15041a8c.system.js","./p-c8ec0d79.system.js","./p-9f9efb31.system.js","./p-44bc8b45.system.js","./p-8985b268.system.js","./p-8c15eda7.system.js","./p-015187e5.system.js","./p-613d4042.system.js","./p-479cdbf8.system.js"],(function(t,e){"use strict";var n,i,o,r,s,a,u,d,l,h,c,p,f,m,b,v,g,y,x,w;return{setters:[function(t){n=t.r;i=t.d;o=t.h;r=t.H;s=t.f},function(t){a=t.g},function(t){u=t.d},function(t){d=t.G},function(t){l=t.p;h=t.i;c=t.o;p=t.l},function(t){f=t.m},function(t){m=t.q},function(t){b=t.c;v=t.b},function(t){g=t.c;y=t.h},function(t){x=t.u;w=t.v},function(){},function(){},function(){},function(){}],execute:function(){var k=this;var _=":host{--width:304px;--min-width:auto;--max-width:auto;--height:100%;--min-height:auto;--max-height:auto;--background:var(--ion-background-color, #fff);left:0;right:0;top:0;bottom:0;display:none;position:absolute;contain:strict}:host(.show-menu){display:block}.menu-inner{-webkit-transform:translateX(-9999px);transform:translateX(-9999px);display:-ms-flexbox;display:flex;position:absolute;-ms-flex-direction:column;flex-direction:column;-ms-flex-pack:justify;justify-content:space-between;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);background:var(--background);contain:strict}:host(.menu-side-start) .menu-inner{--ion-safe-area-right:0px;top:0;bottom:0}@supports (inset-inline-start: 0){:host(.menu-side-start) .menu-inner{inset-inline-start:0;inset-inline-end:auto}}@supports not (inset-inline-start: 0){:host(.menu-side-start) .menu-inner{left:0;right:auto}:host-context([dir=rtl]):host(.menu-side-start) .menu-inner,:host-context([dir=rtl]).menu-side-start .menu-inner{left:unset;right:unset;left:auto;right:0}@supports selector(:dir(rtl)){:host(.menu-side-start) .menu-inner:dir(rtl){left:unset;right:unset;left:auto;right:0}}}:host-context([dir=rtl]):host(.menu-side-start) .menu-inner,:host-context([dir=rtl]).menu-side-start .menu-inner{--ion-safe-area-right:unset;--ion-safe-area-left:0px}@supports selector(:dir(rtl)){:host(.menu-side-start) .menu-inner:dir(rtl){--ion-safe-area-right:unset;--ion-safe-area-left:0px}}:host(.menu-side-end) .menu-inner{--ion-safe-area-left:0px;top:0;bottom:0}@supports (inset-inline-start: 0){:host(.menu-side-end) .menu-inner{inset-inline-start:auto;inset-inline-end:0}}@supports not (inset-inline-start: 0){:host(.menu-side-end) .menu-inner{left:auto;right:0}:host-context([dir=rtl]):host(.menu-side-end) .menu-inner,:host-context([dir=rtl]).menu-side-end .menu-inner{left:unset;right:unset;left:0;right:auto}@supports selector(:dir(rtl)){:host(.menu-side-end) .menu-inner:dir(rtl){left:unset;right:unset;left:0;right:auto}}}:host-context([dir=rtl]):host(.menu-side-end) .menu-inner,:host-context([dir=rtl]).menu-side-end .menu-inner{--ion-safe-area-left:unset;--ion-safe-area-right:0px}@supports selector(:dir(rtl)){:host(.menu-side-end) .menu-inner:dir(rtl){--ion-safe-area-left:unset;--ion-safe-area-right:0px}}ion-backdrop{display:none;opacity:0.01;z-index:-1}@media (max-width: 340px){.menu-inner{--width:264px}}:host(.menu-type-reveal){z-index:0}:host(.menu-type-reveal.show-menu) .menu-inner{-webkit-transform:translate3d(0, 0, 0);transform:translate3d(0, 0, 0)}:host(.menu-type-overlay){z-index:1000}:host(.menu-type-overlay) .show-backdrop{display:block;cursor:pointer}:host(.menu-pane-visible){width:var(--width);min-width:var(--min-width);max-width:var(--max-width)}:host(.menu-pane-visible) .menu-inner{left:0;right:0;width:auto;-webkit-transform:none !important;transform:none !important;-webkit-box-shadow:none !important;box-shadow:none !important}:host(.menu-pane-visible) ion-backdrop{display:hidden !important;}:host(.menu-type-push){z-index:1000}:host(.menu-type-push) .show-backdrop{display:block}";var A=":host{--width:304px;--min-width:auto;--max-width:auto;--height:100%;--min-height:auto;--max-height:auto;--background:var(--ion-background-color, #fff);left:0;right:0;top:0;bottom:0;display:none;position:absolute;contain:strict}:host(.show-menu){display:block}.menu-inner{-webkit-transform:translateX(-9999px);transform:translateX(-9999px);display:-ms-flexbox;display:flex;position:absolute;-ms-flex-direction:column;flex-direction:column;-ms-flex-pack:justify;justify-content:space-between;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);background:var(--background);contain:strict}:host(.menu-side-start) .menu-inner{--ion-safe-area-right:0px;top:0;bottom:0}@supports (inset-inline-start: 0){:host(.menu-side-start) .menu-inner{inset-inline-start:0;inset-inline-end:auto}}@supports not (inset-inline-start: 0){:host(.menu-side-start) .menu-inner{left:0;right:auto}:host-context([dir=rtl]):host(.menu-side-start) .menu-inner,:host-context([dir=rtl]).menu-side-start .menu-inner{left:unset;right:unset;left:auto;right:0}@supports selector(:dir(rtl)){:host(.menu-side-start) .menu-inner:dir(rtl){left:unset;right:unset;left:auto;right:0}}}:host-context([dir=rtl]):host(.menu-side-start) .menu-inner,:host-context([dir=rtl]).menu-side-start .menu-inner{--ion-safe-area-right:unset;--ion-safe-area-left:0px}@supports selector(:dir(rtl)){:host(.menu-side-start) .menu-inner:dir(rtl){--ion-safe-area-right:unset;--ion-safe-area-left:0px}}:host(.menu-side-end) .menu-inner{--ion-safe-area-left:0px;top:0;bottom:0}@supports (inset-inline-start: 0){:host(.menu-side-end) .menu-inner{inset-inline-start:auto;inset-inline-end:0}}@supports not (inset-inline-start: 0){:host(.menu-side-end) .menu-inner{left:auto;right:0}:host-context([dir=rtl]):host(.menu-side-end) .menu-inner,:host-context([dir=rtl]).menu-side-end .menu-inner{left:unset;right:unset;left:0;right:auto}@supports selector(:dir(rtl)){:host(.menu-side-end) .menu-inner:dir(rtl){left:unset;right:unset;left:0;right:auto}}}:host-context([dir=rtl]):host(.menu-side-end) .menu-inner,:host-context([dir=rtl]).menu-side-end .menu-inner{--ion-safe-area-left:unset;--ion-safe-area-right:0px}@supports selector(:dir(rtl)){:host(.menu-side-end) .menu-inner:dir(rtl){--ion-safe-area-left:unset;--ion-safe-area-right:0px}}ion-backdrop{display:none;opacity:0.01;z-index:-1}@media (max-width: 340px){.menu-inner{--width:264px}}:host(.menu-type-reveal){z-index:0}:host(.menu-type-reveal.show-menu) .menu-inner{-webkit-transform:translate3d(0, 0, 0);transform:translate3d(0, 0, 0)}:host(.menu-type-overlay){z-index:1000}:host(.menu-type-overlay) .show-backdrop{display:block;cursor:pointer}:host(.menu-pane-visible){width:var(--width);min-width:var(--min-width);max-width:var(--max-width)}:host(.menu-pane-visible) .menu-inner{left:0;right:0;width:auto;-webkit-transform:none !important;transform:none !important;-webkit-box-shadow:none !important;box-shadow:none !important}:host(.menu-pane-visible) ion-backdrop{display:hidden !important;}:host(.menu-type-overlay) .menu-inner{-webkit-box-shadow:4px 0px 16px rgba(0, 0, 0, 0.18);box-shadow:4px 0px 16px rgba(0, 0, 0, 0.18)}";var C="cubic-bezier(0.32,0.72,0,1)";var E="cubic-bezier(0.0,0.0,0.2,1)";var O="cubic-bezier(1, 0, 0.68, 0.28)";var S="cubic-bezier(0.4, 0, 0.6, 1)";var j='[tabindex]:not([tabindex^="-"]), input:not([type=hidden]):not([tabindex^="-"]), textarea:not([tabindex^="-"]), button:not([tabindex^="-"]), select:not([tabindex^="-"]), .ion-focusable:not([tabindex^="-"])';var z=t("ion_menu",function(){function t(t){var e=this;n(this,t);this.ionWillOpen=i(this,"ionWillOpen",7);this.ionWillClose=i(this,"ionWillClose",7);this.ionDidOpen=i(this,"ionDidOpen",7);this.ionDidClose=i(this,"ionDidClose",7);this.ionMenuChange=i(this,"ionMenuChange",7);this.lastOnEnd=0;this.blocker=d.createBlocker({disableScroll:true});this.didLoad=false;this.operationCancelled=false;this.isAnimating=false;this._isOpen=false;this.inheritedAttributes={};this.handleFocus=function(t){var n=m(document);if(n&&!n.contains(e.el)){return}e.trapKeyboardFocus(t,document)};this.isPaneVisible=false;this.isEndSide=false;this.contentId=undefined;this.menuId=undefined;this.type=undefined;this.disabled=false;this.side="start";this.swipeGesture=true;this.maxEdgeStart=50}t.prototype.typeChanged=function(t,e){var n=this.contentEl;if(n){if(e!==undefined){n.classList.remove("menu-content-".concat(e))}n.classList.add("menu-content-".concat(t));n.removeAttribute("style")}if(this.menuInnerEl){this.menuInnerEl.removeAttribute("style")}this.animation=undefined};t.prototype.disabledChanged=function(){this.updateState();this.ionMenuChange.emit({disabled:this.disabled,open:this._isOpen})};t.prototype.sideChanged=function(){this.isEndSide=l(this.side);this.animation=undefined};t.prototype.swipeGestureChanged=function(){this.updateState()};t.prototype.connectedCallback=function(){return __awaiter(this,void 0,void 0,(function(){var t,n;var i=this;return __generator(this,(function(o){switch(o.label){case 0:if(!(typeof customElements!=="undefined"&&customElements!=null))return[3,2];return[4,customElements.whenDefined("ion-menu")];case 1:o.sent();o.label=2;case 2:if(this.type===undefined){this.type=b.get("menuType","overlay")}t=this.contentId!==undefined?document.getElementById(this.contentId):null;if(t===null){console.error('Menu: must have a "content" element to listen for drag events on.');return[2]}if(this.el.contains(t)){console.error('Menu: "contentId" should refer to the main view\'s ion-content, not the ion-content inside of the ion-menu.')}this.contentEl=t;t.classList.add("menu-content");this.typeChanged(this.type,undefined);this.sideChanged();f._register(this);this.menuChanged();n=this;return[4,e.import("./p-fa8d4788.system.js")];case 3:n.gesture=o.sent().createGesture({el:document,gestureName:"menu-swipe",gesturePriority:30,threshold:10,blurOnStart:true,canStart:function(t){return i.canStart(t)},onWillStart:function(){return i.onWillStart()},onStart:function(){return i.onStart()},onMove:function(t){return i.onMove(t)},onEnd:function(t){return i.onEnd(t)}});this.updateState();return[2]}}))}))};t.prototype.componentWillLoad=function(){this.inheritedAttributes=h(this.el)};t.prototype.componentDidLoad=function(){return __awaiter(this,void 0,void 0,(function(){return __generator(this,(function(t){this.didLoad=true;this.menuChanged();this.updateState();return[2]}))}))};t.prototype.menuChanged=function(){if(this.didLoad){this.ionMenuChange.emit({disabled:this.disabled,open:this._isOpen})}};t.prototype.disconnectedCallback=function(){return __awaiter(this,void 0,void 0,(function(){return __generator(this,(function(t){switch(t.label){case 0:return[4,this.close(false)];case 1:t.sent();this.blocker.destroy();f._unregister(this);if(this.animation){this.animation.destroy()}if(this.gesture){this.gesture.destroy();this.gesture=undefined}this.animation=undefined;this.contentEl=undefined;return[2]}}))}))};t.prototype.onSplitPaneChanged=function(t){this.isPaneVisible=t.detail.isPane(this.el);this.updateState()};t.prototype.onBackdropClick=function(t){if(this._isOpen&&this.lastOnEnd<t.timeStamp-100){var e=t.composedPath?!t.composedPath().includes(this.menuInnerEl):false;if(e){t.preventDefault();t.stopPropagation();this.close()}}};t.prototype.onKeydown=function(t){if(t.key==="Escape"){this.close()}};t.prototype.isOpen=function(){return Promise.resolve(this._isOpen)};t.prototype.isActive=function(){return Promise.resolve(this._isActive())};t.prototype.open=function(t){if(t===void 0){t=true}return this.setOpen(true,t)};t.prototype.close=function(t){if(t===void 0){t=true}return this.setOpen(false,t)};t.prototype.toggle=function(t){if(t===void 0){t=true}return this.setOpen(!this._isOpen,t)};t.prototype.setOpen=function(t,e){if(e===void 0){e=true}return f._setOpen(this,t,e)};t.prototype.focusFirstDescendant=function(){var t=this.el;var e=t.querySelector(j);if(e){e.focus()}else{t.focus()}};t.prototype.focusLastDescendant=function(){var t=this.el;var e=Array.from(t.querySelectorAll(j));var n=e.length>0?e[e.length-1]:null;if(n){n.focus()}else{t.focus()}};t.prototype.trapKeyboardFocus=function(t,e){var n=t.target;if(!n){return}if(this.el.contains(n)){this.lastFocus=n}else{this.focusFirstDescendant();if(this.lastFocus===e.activeElement){this.focusLastDescendant()}}};t.prototype._setOpen=function(t,e){if(e===void 0){e=true}return __awaiter(this,void 0,void 0,(function(){return __generator(this,(function(n){switch(n.label){case 0:if(!this._isActive()||this.isAnimating||t===this._isOpen){return[2,false]}this.beforeAnimation(t);return[4,this.loadAnimation()];case 1:n.sent();return[4,this.startAnimation(t,e)];case 2:n.sent();if(this.operationCancelled){this.operationCancelled=false;return[2,false]}this.afterAnimation(t);return[2,true]}}))}))};t.prototype.loadAnimation=function(){return __awaiter(this,void 0,void 0,(function(){var t,e,n;return __generator(this,(function(i){switch(i.label){case 0:t=this.menuInnerEl.offsetWidth;e=l(this.side);if(t===this.width&&this.animation!==undefined&&e===this.isEndSide){return[2]}this.width=t;this.isEndSide=e;if(this.animation){this.animation.destroy();this.animation=undefined}n=this;return[4,f._createAnimation(this.type,this)];case 1:n.animation=i.sent();if(!b.getBoolean("animated",true)){this.animation.duration(0)}this.animation.fill("both");return[2]}}))}))};t.prototype.startAnimation=function(t,e){return __awaiter(this,void 0,void 0,(function(){var n,i,o,r,s;return __generator(this,(function(a){switch(a.label){case 0:n=!t;i=v(this);o=i==="ios"?C:E;r=i==="ios"?O:S;s=this.animation.direction(n?"reverse":"normal").easing(n?r:o);if(!e)return[3,2];return[4,s.play()];case 1:a.sent();return[3,3];case 2:s.play({sync:true});a.label=3;case 3:if(s.getDirection()==="reverse"){s.direction("normal")}return[2]}}))}))};t.prototype._isActive=function(){return!this.disabled&&!this.isPaneVisible};t.prototype.canSwipe=function(){return this.swipeGesture&&!this.isAnimating&&this._isActive()};t.prototype.canStart=function(t){var e=!!document.querySelector("ion-modal.show-modal");if(e||!this.canSwipe()){return false}if(this._isOpen){return true}else if(f._getOpenSync()){return false}return P(window,t.currentX,this.isEndSide,this.maxEdgeStart)};t.prototype.onWillStart=function(){this.beforeAnimation(!this._isOpen);return this.loadAnimation()};t.prototype.onStart=function(){if(!this.isAnimating||!this.animation){c(false,"isAnimating has to be true");return}this.animation.progressStart(true,this._isOpen?1:0)};t.prototype.onMove=function(t){if(!this.isAnimating||!this.animation){c(false,"isAnimating has to be true");return}var e=L(t.deltaX,this._isOpen,this.isEndSide);var n=e/this.width;this.animation.progressStep(this._isOpen?1-n:n)};t.prototype.onEnd=function(t){var e=this;if(!this.isAnimating||!this.animation){c(false,"isAnimating has to be true");return}var n=this._isOpen;var i=this.isEndSide;var o=L(t.deltaX,n,i);var r=this.width;var s=o/r;var u=t.velocityX;var d=r/2;var l=u>=0&&(u>.2||t.deltaX>d);var h=u<=0&&(u<-.2||t.deltaX<-d);var f=n?i?l:h:i?h:l;var m=!n&&f;if(n&&!f){m=true}this.lastOnEnd=t.currentTime;var b=f?.001:-.001;var v=s<0?.01:s;b+=a([0,0],[.4,0],[.6,1],[1,1],p(0,v,.9999))[0]||0;var g=this._isOpen?!f:f;this.animation.easing("cubic-bezier(0.4, 0.0, 0.6, 1)").onFinish((function(){return e.afterAnimation(m)}),{oneTimeCallback:true}).progressEnd(g?1:0,this._isOpen?1-b:b,300)};t.prototype.beforeAnimation=function(t){c(!this.isAnimating,"_before() should not be called while animating");this.el.classList.add(D);this.el.setAttribute("tabindex","0");if(this.backdropEl){this.backdropEl.classList.add(W)}if(this.contentEl){this.contentEl.classList.add(I);this.contentEl.setAttribute("aria-hidden","true")}this.blocker.block();this.isAnimating=true;if(t){this.ionWillOpen.emit()}else{this.ionWillClose.emit()}};t.prototype.afterAnimation=function(t){var e;this._isOpen=t;this.isAnimating=false;if(!this._isOpen){this.blocker.unblock()}if(t){this.ionDidOpen.emit();var n=(e=document.activeElement)===null||e===void 0?void 0:e.closest("ion-menu");if(n!==this.el){this.el.focus()}document.addEventListener("focus",this.handleFocus,true)}else{this.el.classList.remove(D);this.el.removeAttribute("tabindex");if(this.contentEl){this.contentEl.classList.remove(I);this.contentEl.removeAttribute("aria-hidden")}if(this.backdropEl){this.backdropEl.classList.remove(W)}if(this.animation){this.animation.stop()}this.ionDidClose.emit();document.removeEventListener("focus",this.handleFocus,true)}};t.prototype.updateState=function(){var t=this._isActive();if(this.gesture){this.gesture.enable(t&&this.swipeGesture)}if(!t){if(this.isAnimating){this.operationCancelled=true}this.afterAnimation(false)}if(u===null||u===void 0?void 0:u.contains(this.el)){if(!this.disabled){f._setActiveMenu(this)}}};t.prototype.render=function(){var t;var e=this;var n=this,i=n.type,s=n.disabled,a=n.isPaneVisible,u=n.inheritedAttributes,d=n.side;var l=v(this);return o(r,{role:"navigation","aria-label":u["aria-label"]||"menu",class:(t={},t[l]=true,t["menu-type-".concat(i)]=true,t["menu-enabled"]=!s,t["menu-side-".concat(d)]=true,t["menu-pane-visible"]=a,t)},o("div",{class:"menu-inner",part:"container",ref:function(t){return e.menuInnerEl=t}},o("slot",null)),o("ion-backdrop",{ref:function(t){return e.backdropEl=t},class:"menu-backdrop",tappable:false,stopPropagation:false,part:"backdrop"}))};Object.defineProperty(t.prototype,"el",{get:function(){return s(this)},enumerable:false,configurable:true});Object.defineProperty(t,"watchers",{get:function(){return{type:["typeChanged"],disabled:["disabledChanged"],side:["sideChanged"],swipeGesture:["swipeGestureChanged"]}},enumerable:false,configurable:true});return t}());var L=function(t,e,n){return Math.max(0,e!==n?-t:t)};var P=function(t,e,n,i){if(n){return e>=t.innerWidth-i}else{return e<=i}};var D="show-menu";var W="show-backdrop";var I="menu-content-open";z.style={ios:_,md:A};var M=function(t){return __awaiter(k,void 0,void 0,(function(){var e,n;return __generator(this,(function(i){switch(i.label){case 0:return[4,f.get(t)];case 1:e=i.sent();n=e;if(!n)return[3,3];return[4,e.isActive()];case 2:n=i.sent();i.label=3;case 3:return[2,!!n]}}))}))};var F=':host{--background:transparent;--color-focused:currentColor;--border-radius:initial;--padding-top:0;--padding-bottom:0;color:var(--color);text-align:center;text-decoration:none;text-overflow:ellipsis;text-transform:none;white-space:nowrap;-webkit-font-kerning:none;font-kerning:none}.button-native{border-radius:var(--border-radius);font-family:inherit;font-size:inherit;font-style:inherit;font-weight:inherit;letter-spacing:inherit;text-decoration:inherit;text-indent:inherit;text-overflow:inherit;text-transform:inherit;text-align:inherit;white-space:inherit;color:inherit;margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;-webkit-padding-start:var(--padding-start);padding-inline-start:var(--padding-start);-webkit-padding-end:var(--padding-end);padding-inline-end:var(--padding-end);padding-top:var(--padding-top);padding-bottom:var(--padding-bottom);-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;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;width:100%;height:100%;border:0;outline:none;background:var(--background);line-height:1;cursor:pointer;overflow:hidden;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;z-index:0;-webkit-appearance:none;-moz-appearance:none;appearance:none}.button-inner{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;width:100%;height:100%;z-index:1}ion-icon{margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;padding-left:0;padding-right:0;padding-top:0;padding-bottom:0;pointer-events:none}:host(.menu-button-hidden){display:none}:host(.menu-button-disabled){cursor:default;opacity:0.5;pointer-events:none}:host(.ion-focused) .button-native{color:var(--color-focused)}:host(.ion-focused) .button-native::after{background:var(--background-focused);opacity:var(--background-focused-opacity)}.button-native::after{left:0;right:0;top:0;bottom:0;position:absolute;content:"";opacity:0}@media (any-hover: hover){:host(:hover) .button-native{color:var(--color-hover)}:host(:hover) .button-native::after{background:var(--background-hover);opacity:var(--background-hover-opacity, 0)}}:host(.ion-color) .button-native{color:var(--ion-color-base)}:host(.in-toolbar:not(.in-toolbar-color)){color:var(--ion-toolbar-color, var(--color))}:host{--background-focused:currentColor;--background-focused-opacity:.1;--border-radius:4px;--color:var(--ion-color-primary, #3880ff);--padding-start:5px;--padding-end:5px;height:32px;font-size:31px}:host(.ion-activated){opacity:0.4}@media (any-hover: hover){:host(:hover){opacity:0.6}}';var X=':host{--background:transparent;--color-focused:currentColor;--border-radius:initial;--padding-top:0;--padding-bottom:0;color:var(--color);text-align:center;text-decoration:none;text-overflow:ellipsis;text-transform:none;white-space:nowrap;-webkit-font-kerning:none;font-kerning:none}.button-native{border-radius:var(--border-radius);font-family:inherit;font-size:inherit;font-style:inherit;font-weight:inherit;letter-spacing:inherit;text-decoration:inherit;text-indent:inherit;text-overflow:inherit;text-transform:inherit;text-align:inherit;white-space:inherit;color:inherit;margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;-webkit-padding-start:var(--padding-start);padding-inline-start:var(--padding-start);-webkit-padding-end:var(--padding-end);padding-inline-end:var(--padding-end);padding-top:var(--padding-top);padding-bottom:var(--padding-bottom);-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;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;width:100%;height:100%;border:0;outline:none;background:var(--background);line-height:1;cursor:pointer;overflow:hidden;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;z-index:0;-webkit-appearance:none;-moz-appearance:none;appearance:none}.button-inner{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;width:100%;height:100%;z-index:1}ion-icon{margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;padding-left:0;padding-right:0;padding-top:0;padding-bottom:0;pointer-events:none}:host(.menu-button-hidden){display:none}:host(.menu-button-disabled){cursor:default;opacity:0.5;pointer-events:none}:host(.ion-focused) .button-native{color:var(--color-focused)}:host(.ion-focused) .button-native::after{background:var(--background-focused);opacity:var(--background-focused-opacity)}.button-native::after{left:0;right:0;top:0;bottom:0;position:absolute;content:"";opacity:0}@media (any-hover: hover){:host(:hover) .button-native{color:var(--color-hover)}:host(:hover) .button-native::after{background:var(--background-hover);opacity:var(--background-hover-opacity, 0)}}:host(.ion-color) .button-native{color:var(--ion-color-base)}:host(.in-toolbar:not(.in-toolbar-color)){color:var(--ion-toolbar-color, var(--color))}:host{--background-focused:currentColor;--background-focused-opacity:.12;--background-hover:currentColor;--background-hover-opacity:.04;--border-radius:50%;--color:initial;--padding-start:8px;--padding-end:8px;width:48px;height:48px;font-size:24px}:host(.ion-color.ion-focused)::after{background:var(--ion-color-base)}@media (any-hover: hover){:host(.ion-color:hover) .button-native::after{background:var(--ion-color-base)}}';var G=t("ion_menu_button",function(){function t(t){var e=this;n(this,t);this.inheritedAttributes={};this.onClick=function(){return __awaiter(e,void 0,void 0,(function(){return __generator(this,(function(t){return[2,f.toggle(this.menu)]}))}))};this.visible=false;this.color=undefined;this.disabled=false;this.menu=undefined;this.autoHide=true;this.type="button"}t.prototype.componentWillLoad=function(){this.inheritedAttributes=h(this.el)};t.prototype.componentDidLoad=function(){this.visibilityChanged()};t.prototype.visibilityChanged=function(){return __awaiter(this,void 0,void 0,(function(){var t;return __generator(this,(function(e){switch(e.label){case 0:t=this;return[4,M(this.menu)];case 1:t.visible=e.sent();return[2]}}))}))};t.prototype.render=function(){var t;var e=this,n=e.color,i=e.disabled,s=e.inheritedAttributes;var a=v(this);var u=b.get("menuIcon",a==="ios"?x:w);var d=this.autoHide&&!this.visible;var l={type:this.type};var h=s["aria-label"]||"menu";return o(r,{onClick:this.onClick,"aria-disabled":i?"true":null,"aria-hidden":d?"true":null,class:g(n,(t={},t[a]=true,t.button=true,t["menu-button-hidden"]=d,t["menu-button-disabled"]=i,t["in-toolbar"]=y("ion-toolbar",this.el),t["in-toolbar-color"]=y("ion-toolbar[color]",this.el),t["ion-activatable"]=true,t["ion-focusable"]=true,t))},o("button",Object.assign({},l,{disabled:i,class:"button-native",part:"native","aria-label":h}),o("span",{class:"button-inner"},o("slot",null,o("ion-icon",{part:"icon",icon:u,mode:a,lazy:false,"aria-hidden":"true"}))),a==="md"&&o("ion-ripple-effect",{type:"unbounded"})))};Object.defineProperty(t.prototype,"el",{get:function(){return s(this)},enumerable:false,configurable:true});return t}());G.style={ios:F,md:X};var H=":host(.menu-toggle-hidden){display:none}";var q=t("ion_menu_toggle",function(){function t(t){var e=this;n(this,t);this.onClick=function(){return f.toggle(e.menu)};this.visible=false;this.menu=undefined;this.autoHide=true}t.prototype.connectedCallback=function(){this.visibilityChanged()};t.prototype.visibilityChanged=function(){return __awaiter(this,void 0,void 0,(function(){var t;return __generator(this,(function(e){switch(e.label){case 0:t=this;return[4,M(this.menu)];case 1:t.visible=e.sent();return[2]}}))}))};t.prototype.render=function(){var t;var e=v(this);var n=this.autoHide&&!this.visible;return o(r,{onClick:this.onClick,"aria-hidden":n?"true":null,class:(t={},t[e]=true,t["menu-toggle-hidden"]=n,t)},o("slot",null))};return t}());q.style=H}}}));
4
+ */System.register(["./p-26fbffd4.system.js","./p-c4f2dce7.system.js","./p-0e94957a.system.js","./p-9e852ff1.system.js","./p-815c2fba.system.js","./p-15041a8c.system.js","./p-82c72668.system.js","./p-9f9efb31.system.js","./p-44bc8b45.system.js","./p-8985b268.system.js","./p-8c15eda7.system.js","./p-015187e5.system.js","./p-613d4042.system.js","./p-479cdbf8.system.js"],(function(t,e){"use strict";var n,i,o,r,s,a,u,d,l,h,c,p,f,m,b,v,g,y,x,w;return{setters:[function(t){n=t.r;i=t.d;o=t.h;r=t.H;s=t.f},function(t){a=t.g},function(t){u=t.d},function(t){d=t.G},function(t){l=t.p;h=t.i;c=t.o;p=t.l},function(t){f=t.m},function(t){m=t.q},function(t){b=t.c;v=t.b},function(t){g=t.c;y=t.h},function(t){x=t.u;w=t.v},function(){},function(){},function(){},function(){}],execute:function(){var k=this;var _=":host{--width:304px;--min-width:auto;--max-width:auto;--height:100%;--min-height:auto;--max-height:auto;--background:var(--ion-background-color, #fff);left:0;right:0;top:0;bottom:0;display:none;position:absolute;contain:strict}:host(.show-menu){display:block}.menu-inner{-webkit-transform:translateX(-9999px);transform:translateX(-9999px);display:-ms-flexbox;display:flex;position:absolute;-ms-flex-direction:column;flex-direction:column;-ms-flex-pack:justify;justify-content:space-between;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);background:var(--background);contain:strict}:host(.menu-side-start) .menu-inner{--ion-safe-area-right:0px;top:0;bottom:0}@supports (inset-inline-start: 0){:host(.menu-side-start) .menu-inner{inset-inline-start:0;inset-inline-end:auto}}@supports not (inset-inline-start: 0){:host(.menu-side-start) .menu-inner{left:0;right:auto}:host-context([dir=rtl]):host(.menu-side-start) .menu-inner,:host-context([dir=rtl]).menu-side-start .menu-inner{left:unset;right:unset;left:auto;right:0}@supports selector(:dir(rtl)){:host(.menu-side-start) .menu-inner:dir(rtl){left:unset;right:unset;left:auto;right:0}}}:host-context([dir=rtl]):host(.menu-side-start) .menu-inner,:host-context([dir=rtl]).menu-side-start .menu-inner{--ion-safe-area-right:unset;--ion-safe-area-left:0px}@supports selector(:dir(rtl)){:host(.menu-side-start) .menu-inner:dir(rtl){--ion-safe-area-right:unset;--ion-safe-area-left:0px}}:host(.menu-side-end) .menu-inner{--ion-safe-area-left:0px;top:0;bottom:0}@supports (inset-inline-start: 0){:host(.menu-side-end) .menu-inner{inset-inline-start:auto;inset-inline-end:0}}@supports not (inset-inline-start: 0){:host(.menu-side-end) .menu-inner{left:auto;right:0}:host-context([dir=rtl]):host(.menu-side-end) .menu-inner,:host-context([dir=rtl]).menu-side-end .menu-inner{left:unset;right:unset;left:0;right:auto}@supports selector(:dir(rtl)){:host(.menu-side-end) .menu-inner:dir(rtl){left:unset;right:unset;left:0;right:auto}}}:host-context([dir=rtl]):host(.menu-side-end) .menu-inner,:host-context([dir=rtl]).menu-side-end .menu-inner{--ion-safe-area-left:unset;--ion-safe-area-right:0px}@supports selector(:dir(rtl)){:host(.menu-side-end) .menu-inner:dir(rtl){--ion-safe-area-left:unset;--ion-safe-area-right:0px}}ion-backdrop{display:none;opacity:0.01;z-index:-1}@media (max-width: 340px){.menu-inner{--width:264px}}:host(.menu-type-reveal){z-index:0}:host(.menu-type-reveal.show-menu) .menu-inner{-webkit-transform:translate3d(0, 0, 0);transform:translate3d(0, 0, 0)}:host(.menu-type-overlay){z-index:1000}:host(.menu-type-overlay) .show-backdrop{display:block;cursor:pointer}:host(.menu-pane-visible){width:var(--width);min-width:var(--min-width);max-width:var(--max-width)}:host(.menu-pane-visible) .menu-inner{left:0;right:0;width:auto;-webkit-transform:none !important;transform:none !important;-webkit-box-shadow:none !important;box-shadow:none !important}:host(.menu-pane-visible) ion-backdrop{display:hidden !important;}:host(.menu-type-push){z-index:1000}:host(.menu-type-push) .show-backdrop{display:block}";var A=":host{--width:304px;--min-width:auto;--max-width:auto;--height:100%;--min-height:auto;--max-height:auto;--background:var(--ion-background-color, #fff);left:0;right:0;top:0;bottom:0;display:none;position:absolute;contain:strict}:host(.show-menu){display:block}.menu-inner{-webkit-transform:translateX(-9999px);transform:translateX(-9999px);display:-ms-flexbox;display:flex;position:absolute;-ms-flex-direction:column;flex-direction:column;-ms-flex-pack:justify;justify-content:space-between;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);background:var(--background);contain:strict}:host(.menu-side-start) .menu-inner{--ion-safe-area-right:0px;top:0;bottom:0}@supports (inset-inline-start: 0){:host(.menu-side-start) .menu-inner{inset-inline-start:0;inset-inline-end:auto}}@supports not (inset-inline-start: 0){:host(.menu-side-start) .menu-inner{left:0;right:auto}:host-context([dir=rtl]):host(.menu-side-start) .menu-inner,:host-context([dir=rtl]).menu-side-start .menu-inner{left:unset;right:unset;left:auto;right:0}@supports selector(:dir(rtl)){:host(.menu-side-start) .menu-inner:dir(rtl){left:unset;right:unset;left:auto;right:0}}}:host-context([dir=rtl]):host(.menu-side-start) .menu-inner,:host-context([dir=rtl]).menu-side-start .menu-inner{--ion-safe-area-right:unset;--ion-safe-area-left:0px}@supports selector(:dir(rtl)){:host(.menu-side-start) .menu-inner:dir(rtl){--ion-safe-area-right:unset;--ion-safe-area-left:0px}}:host(.menu-side-end) .menu-inner{--ion-safe-area-left:0px;top:0;bottom:0}@supports (inset-inline-start: 0){:host(.menu-side-end) .menu-inner{inset-inline-start:auto;inset-inline-end:0}}@supports not (inset-inline-start: 0){:host(.menu-side-end) .menu-inner{left:auto;right:0}:host-context([dir=rtl]):host(.menu-side-end) .menu-inner,:host-context([dir=rtl]).menu-side-end .menu-inner{left:unset;right:unset;left:0;right:auto}@supports selector(:dir(rtl)){:host(.menu-side-end) .menu-inner:dir(rtl){left:unset;right:unset;left:0;right:auto}}}:host-context([dir=rtl]):host(.menu-side-end) .menu-inner,:host-context([dir=rtl]).menu-side-end .menu-inner{--ion-safe-area-left:unset;--ion-safe-area-right:0px}@supports selector(:dir(rtl)){:host(.menu-side-end) .menu-inner:dir(rtl){--ion-safe-area-left:unset;--ion-safe-area-right:0px}}ion-backdrop{display:none;opacity:0.01;z-index:-1}@media (max-width: 340px){.menu-inner{--width:264px}}:host(.menu-type-reveal){z-index:0}:host(.menu-type-reveal.show-menu) .menu-inner{-webkit-transform:translate3d(0, 0, 0);transform:translate3d(0, 0, 0)}:host(.menu-type-overlay){z-index:1000}:host(.menu-type-overlay) .show-backdrop{display:block;cursor:pointer}:host(.menu-pane-visible){width:var(--width);min-width:var(--min-width);max-width:var(--max-width)}:host(.menu-pane-visible) .menu-inner{left:0;right:0;width:auto;-webkit-transform:none !important;transform:none !important;-webkit-box-shadow:none !important;box-shadow:none !important}:host(.menu-pane-visible) ion-backdrop{display:hidden !important;}:host(.menu-type-overlay) .menu-inner{-webkit-box-shadow:4px 0px 16px rgba(0, 0, 0, 0.18);box-shadow:4px 0px 16px rgba(0, 0, 0, 0.18)}";var C="cubic-bezier(0.32,0.72,0,1)";var E="cubic-bezier(0.0,0.0,0.2,1)";var O="cubic-bezier(1, 0, 0.68, 0.28)";var S="cubic-bezier(0.4, 0, 0.6, 1)";var j='[tabindex]:not([tabindex^="-"]), input:not([type=hidden]):not([tabindex^="-"]), textarea:not([tabindex^="-"]), button:not([tabindex^="-"]), select:not([tabindex^="-"]), .ion-focusable:not([tabindex^="-"])';var z=t("ion_menu",function(){function t(t){var e=this;n(this,t);this.ionWillOpen=i(this,"ionWillOpen",7);this.ionWillClose=i(this,"ionWillClose",7);this.ionDidOpen=i(this,"ionDidOpen",7);this.ionDidClose=i(this,"ionDidClose",7);this.ionMenuChange=i(this,"ionMenuChange",7);this.lastOnEnd=0;this.blocker=d.createBlocker({disableScroll:true});this.didLoad=false;this.operationCancelled=false;this.isAnimating=false;this._isOpen=false;this.inheritedAttributes={};this.handleFocus=function(t){var n=m(document);if(n&&!n.contains(e.el)){return}e.trapKeyboardFocus(t,document)};this.isPaneVisible=false;this.isEndSide=false;this.contentId=undefined;this.menuId=undefined;this.type=undefined;this.disabled=false;this.side="start";this.swipeGesture=true;this.maxEdgeStart=50}t.prototype.typeChanged=function(t,e){var n=this.contentEl;if(n){if(e!==undefined){n.classList.remove("menu-content-".concat(e))}n.classList.add("menu-content-".concat(t));n.removeAttribute("style")}if(this.menuInnerEl){this.menuInnerEl.removeAttribute("style")}this.animation=undefined};t.prototype.disabledChanged=function(){this.updateState();this.ionMenuChange.emit({disabled:this.disabled,open:this._isOpen})};t.prototype.sideChanged=function(){this.isEndSide=l(this.side);this.animation=undefined};t.prototype.swipeGestureChanged=function(){this.updateState()};t.prototype.connectedCallback=function(){return __awaiter(this,void 0,void 0,(function(){var t,n;var i=this;return __generator(this,(function(o){switch(o.label){case 0:if(!(typeof customElements!=="undefined"&&customElements!=null))return[3,2];return[4,customElements.whenDefined("ion-menu")];case 1:o.sent();o.label=2;case 2:if(this.type===undefined){this.type=b.get("menuType","overlay")}t=this.contentId!==undefined?document.getElementById(this.contentId):null;if(t===null){console.error('Menu: must have a "content" element to listen for drag events on.');return[2]}if(this.el.contains(t)){console.error('Menu: "contentId" should refer to the main view\'s ion-content, not the ion-content inside of the ion-menu.')}this.contentEl=t;t.classList.add("menu-content");this.typeChanged(this.type,undefined);this.sideChanged();f._register(this);this.menuChanged();n=this;return[4,e.import("./p-fa8d4788.system.js")];case 3:n.gesture=o.sent().createGesture({el:document,gestureName:"menu-swipe",gesturePriority:30,threshold:10,blurOnStart:true,canStart:function(t){return i.canStart(t)},onWillStart:function(){return i.onWillStart()},onStart:function(){return i.onStart()},onMove:function(t){return i.onMove(t)},onEnd:function(t){return i.onEnd(t)}});this.updateState();return[2]}}))}))};t.prototype.componentWillLoad=function(){this.inheritedAttributes=h(this.el)};t.prototype.componentDidLoad=function(){return __awaiter(this,void 0,void 0,(function(){return __generator(this,(function(t){this.didLoad=true;this.menuChanged();this.updateState();return[2]}))}))};t.prototype.menuChanged=function(){if(this.didLoad){this.ionMenuChange.emit({disabled:this.disabled,open:this._isOpen})}};t.prototype.disconnectedCallback=function(){return __awaiter(this,void 0,void 0,(function(){return __generator(this,(function(t){switch(t.label){case 0:return[4,this.close(false)];case 1:t.sent();this.blocker.destroy();f._unregister(this);if(this.animation){this.animation.destroy()}if(this.gesture){this.gesture.destroy();this.gesture=undefined}this.animation=undefined;this.contentEl=undefined;return[2]}}))}))};t.prototype.onSplitPaneChanged=function(t){this.isPaneVisible=t.detail.isPane(this.el);this.updateState()};t.prototype.onBackdropClick=function(t){if(this._isOpen&&this.lastOnEnd<t.timeStamp-100){var e=t.composedPath?!t.composedPath().includes(this.menuInnerEl):false;if(e){t.preventDefault();t.stopPropagation();this.close()}}};t.prototype.onKeydown=function(t){if(t.key==="Escape"){this.close()}};t.prototype.isOpen=function(){return Promise.resolve(this._isOpen)};t.prototype.isActive=function(){return Promise.resolve(this._isActive())};t.prototype.open=function(t){if(t===void 0){t=true}return this.setOpen(true,t)};t.prototype.close=function(t){if(t===void 0){t=true}return this.setOpen(false,t)};t.prototype.toggle=function(t){if(t===void 0){t=true}return this.setOpen(!this._isOpen,t)};t.prototype.setOpen=function(t,e){if(e===void 0){e=true}return f._setOpen(this,t,e)};t.prototype.focusFirstDescendant=function(){var t=this.el;var e=t.querySelector(j);if(e){e.focus()}else{t.focus()}};t.prototype.focusLastDescendant=function(){var t=this.el;var e=Array.from(t.querySelectorAll(j));var n=e.length>0?e[e.length-1]:null;if(n){n.focus()}else{t.focus()}};t.prototype.trapKeyboardFocus=function(t,e){var n=t.target;if(!n){return}if(this.el.contains(n)){this.lastFocus=n}else{this.focusFirstDescendant();if(this.lastFocus===e.activeElement){this.focusLastDescendant()}}};t.prototype._setOpen=function(t,e){if(e===void 0){e=true}return __awaiter(this,void 0,void 0,(function(){return __generator(this,(function(n){switch(n.label){case 0:if(!this._isActive()||this.isAnimating||t===this._isOpen){return[2,false]}this.beforeAnimation(t);return[4,this.loadAnimation()];case 1:n.sent();return[4,this.startAnimation(t,e)];case 2:n.sent();if(this.operationCancelled){this.operationCancelled=false;return[2,false]}this.afterAnimation(t);return[2,true]}}))}))};t.prototype.loadAnimation=function(){return __awaiter(this,void 0,void 0,(function(){var t,e,n;return __generator(this,(function(i){switch(i.label){case 0:t=this.menuInnerEl.offsetWidth;e=l(this.side);if(t===this.width&&this.animation!==undefined&&e===this.isEndSide){return[2]}this.width=t;this.isEndSide=e;if(this.animation){this.animation.destroy();this.animation=undefined}n=this;return[4,f._createAnimation(this.type,this)];case 1:n.animation=i.sent();if(!b.getBoolean("animated",true)){this.animation.duration(0)}this.animation.fill("both");return[2]}}))}))};t.prototype.startAnimation=function(t,e){return __awaiter(this,void 0,void 0,(function(){var n,i,o,r,s;return __generator(this,(function(a){switch(a.label){case 0:n=!t;i=v(this);o=i==="ios"?C:E;r=i==="ios"?O:S;s=this.animation.direction(n?"reverse":"normal").easing(n?r:o);if(!e)return[3,2];return[4,s.play()];case 1:a.sent();return[3,3];case 2:s.play({sync:true});a.label=3;case 3:if(s.getDirection()==="reverse"){s.direction("normal")}return[2]}}))}))};t.prototype._isActive=function(){return!this.disabled&&!this.isPaneVisible};t.prototype.canSwipe=function(){return this.swipeGesture&&!this.isAnimating&&this._isActive()};t.prototype.canStart=function(t){var e=!!document.querySelector("ion-modal.show-modal");if(e||!this.canSwipe()){return false}if(this._isOpen){return true}else if(f._getOpenSync()){return false}return P(window,t.currentX,this.isEndSide,this.maxEdgeStart)};t.prototype.onWillStart=function(){this.beforeAnimation(!this._isOpen);return this.loadAnimation()};t.prototype.onStart=function(){if(!this.isAnimating||!this.animation){c(false,"isAnimating has to be true");return}this.animation.progressStart(true,this._isOpen?1:0)};t.prototype.onMove=function(t){if(!this.isAnimating||!this.animation){c(false,"isAnimating has to be true");return}var e=L(t.deltaX,this._isOpen,this.isEndSide);var n=e/this.width;this.animation.progressStep(this._isOpen?1-n:n)};t.prototype.onEnd=function(t){var e=this;if(!this.isAnimating||!this.animation){c(false,"isAnimating has to be true");return}var n=this._isOpen;var i=this.isEndSide;var o=L(t.deltaX,n,i);var r=this.width;var s=o/r;var u=t.velocityX;var d=r/2;var l=u>=0&&(u>.2||t.deltaX>d);var h=u<=0&&(u<-.2||t.deltaX<-d);var f=n?i?l:h:i?h:l;var m=!n&&f;if(n&&!f){m=true}this.lastOnEnd=t.currentTime;var b=f?.001:-.001;var v=s<0?.01:s;b+=a([0,0],[.4,0],[.6,1],[1,1],p(0,v,.9999))[0]||0;var g=this._isOpen?!f:f;this.animation.easing("cubic-bezier(0.4, 0.0, 0.6, 1)").onFinish((function(){return e.afterAnimation(m)}),{oneTimeCallback:true}).progressEnd(g?1:0,this._isOpen?1-b:b,300)};t.prototype.beforeAnimation=function(t){c(!this.isAnimating,"_before() should not be called while animating");this.el.classList.add(D);this.el.setAttribute("tabindex","0");if(this.backdropEl){this.backdropEl.classList.add(W)}if(this.contentEl){this.contentEl.classList.add(I);this.contentEl.setAttribute("aria-hidden","true")}this.blocker.block();this.isAnimating=true;if(t){this.ionWillOpen.emit()}else{this.ionWillClose.emit()}};t.prototype.afterAnimation=function(t){var e;this._isOpen=t;this.isAnimating=false;if(!this._isOpen){this.blocker.unblock()}if(t){this.ionDidOpen.emit();var n=(e=document.activeElement)===null||e===void 0?void 0:e.closest("ion-menu");if(n!==this.el){this.el.focus()}document.addEventListener("focus",this.handleFocus,true)}else{this.el.classList.remove(D);this.el.removeAttribute("tabindex");if(this.contentEl){this.contentEl.classList.remove(I);this.contentEl.removeAttribute("aria-hidden")}if(this.backdropEl){this.backdropEl.classList.remove(W)}if(this.animation){this.animation.stop()}this.ionDidClose.emit();document.removeEventListener("focus",this.handleFocus,true)}};t.prototype.updateState=function(){var t=this._isActive();if(this.gesture){this.gesture.enable(t&&this.swipeGesture)}if(!t){if(this.isAnimating){this.operationCancelled=true}this.afterAnimation(false)}if(u===null||u===void 0?void 0:u.contains(this.el)){if(!this.disabled){f._setActiveMenu(this)}}};t.prototype.render=function(){var t;var e=this;var n=this,i=n.type,s=n.disabled,a=n.isPaneVisible,u=n.inheritedAttributes,d=n.side;var l=v(this);return o(r,{role:"navigation","aria-label":u["aria-label"]||"menu",class:(t={},t[l]=true,t["menu-type-".concat(i)]=true,t["menu-enabled"]=!s,t["menu-side-".concat(d)]=true,t["menu-pane-visible"]=a,t)},o("div",{class:"menu-inner",part:"container",ref:function(t){return e.menuInnerEl=t}},o("slot",null)),o("ion-backdrop",{ref:function(t){return e.backdropEl=t},class:"menu-backdrop",tappable:false,stopPropagation:false,part:"backdrop"}))};Object.defineProperty(t.prototype,"el",{get:function(){return s(this)},enumerable:false,configurable:true});Object.defineProperty(t,"watchers",{get:function(){return{type:["typeChanged"],disabled:["disabledChanged"],side:["sideChanged"],swipeGesture:["swipeGestureChanged"]}},enumerable:false,configurable:true});return t}());var L=function(t,e,n){return Math.max(0,e!==n?-t:t)};var P=function(t,e,n,i){if(n){return e>=t.innerWidth-i}else{return e<=i}};var D="show-menu";var W="show-backdrop";var I="menu-content-open";z.style={ios:_,md:A};var M=function(t){return __awaiter(k,void 0,void 0,(function(){var e,n;return __generator(this,(function(i){switch(i.label){case 0:return[4,f.get(t)];case 1:e=i.sent();n=e;if(!n)return[3,3];return[4,e.isActive()];case 2:n=i.sent();i.label=3;case 3:return[2,!!n]}}))}))};var F=':host{--background:transparent;--color-focused:currentColor;--border-radius:initial;--padding-top:0;--padding-bottom:0;color:var(--color);text-align:center;text-decoration:none;text-overflow:ellipsis;text-transform:none;white-space:nowrap;-webkit-font-kerning:none;font-kerning:none}.button-native{border-radius:var(--border-radius);font-family:inherit;font-size:inherit;font-style:inherit;font-weight:inherit;letter-spacing:inherit;text-decoration:inherit;text-indent:inherit;text-overflow:inherit;text-transform:inherit;text-align:inherit;white-space:inherit;color:inherit;margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;-webkit-padding-start:var(--padding-start);padding-inline-start:var(--padding-start);-webkit-padding-end:var(--padding-end);padding-inline-end:var(--padding-end);padding-top:var(--padding-top);padding-bottom:var(--padding-bottom);-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;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;width:100%;height:100%;border:0;outline:none;background:var(--background);line-height:1;cursor:pointer;overflow:hidden;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;z-index:0;-webkit-appearance:none;-moz-appearance:none;appearance:none}.button-inner{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;width:100%;height:100%;z-index:1}ion-icon{margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;padding-left:0;padding-right:0;padding-top:0;padding-bottom:0;pointer-events:none}:host(.menu-button-hidden){display:none}:host(.menu-button-disabled){cursor:default;opacity:0.5;pointer-events:none}:host(.ion-focused) .button-native{color:var(--color-focused)}:host(.ion-focused) .button-native::after{background:var(--background-focused);opacity:var(--background-focused-opacity)}.button-native::after{left:0;right:0;top:0;bottom:0;position:absolute;content:"";opacity:0}@media (any-hover: hover){:host(:hover) .button-native{color:var(--color-hover)}:host(:hover) .button-native::after{background:var(--background-hover);opacity:var(--background-hover-opacity, 0)}}:host(.ion-color) .button-native{color:var(--ion-color-base)}:host(.in-toolbar:not(.in-toolbar-color)){color:var(--ion-toolbar-color, var(--color))}:host{--background-focused:currentColor;--background-focused-opacity:.1;--border-radius:4px;--color:var(--ion-color-primary, #3880ff);--padding-start:5px;--padding-end:5px;height:32px;font-size:31px}:host(.ion-activated){opacity:0.4}@media (any-hover: hover){:host(:hover){opacity:0.6}}';var X=':host{--background:transparent;--color-focused:currentColor;--border-radius:initial;--padding-top:0;--padding-bottom:0;color:var(--color);text-align:center;text-decoration:none;text-overflow:ellipsis;text-transform:none;white-space:nowrap;-webkit-font-kerning:none;font-kerning:none}.button-native{border-radius:var(--border-radius);font-family:inherit;font-size:inherit;font-style:inherit;font-weight:inherit;letter-spacing:inherit;text-decoration:inherit;text-indent:inherit;text-overflow:inherit;text-transform:inherit;text-align:inherit;white-space:inherit;color:inherit;margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;-webkit-padding-start:var(--padding-start);padding-inline-start:var(--padding-start);-webkit-padding-end:var(--padding-end);padding-inline-end:var(--padding-end);padding-top:var(--padding-top);padding-bottom:var(--padding-bottom);-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;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;width:100%;height:100%;border:0;outline:none;background:var(--background);line-height:1;cursor:pointer;overflow:hidden;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;z-index:0;-webkit-appearance:none;-moz-appearance:none;appearance:none}.button-inner{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;width:100%;height:100%;z-index:1}ion-icon{margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;padding-left:0;padding-right:0;padding-top:0;padding-bottom:0;pointer-events:none}:host(.menu-button-hidden){display:none}:host(.menu-button-disabled){cursor:default;opacity:0.5;pointer-events:none}:host(.ion-focused) .button-native{color:var(--color-focused)}:host(.ion-focused) .button-native::after{background:var(--background-focused);opacity:var(--background-focused-opacity)}.button-native::after{left:0;right:0;top:0;bottom:0;position:absolute;content:"";opacity:0}@media (any-hover: hover){:host(:hover) .button-native{color:var(--color-hover)}:host(:hover) .button-native::after{background:var(--background-hover);opacity:var(--background-hover-opacity, 0)}}:host(.ion-color) .button-native{color:var(--ion-color-base)}:host(.in-toolbar:not(.in-toolbar-color)){color:var(--ion-toolbar-color, var(--color))}:host{--background-focused:currentColor;--background-focused-opacity:.12;--background-hover:currentColor;--background-hover-opacity:.04;--border-radius:50%;--color:initial;--padding-start:8px;--padding-end:8px;width:48px;height:48px;font-size:24px}:host(.ion-color.ion-focused)::after{background:var(--ion-color-base)}@media (any-hover: hover){:host(.ion-color:hover) .button-native::after{background:var(--ion-color-base)}}';var G=t("ion_menu_button",function(){function t(t){var e=this;n(this,t);this.inheritedAttributes={};this.onClick=function(){return __awaiter(e,void 0,void 0,(function(){return __generator(this,(function(t){return[2,f.toggle(this.menu)]}))}))};this.visible=false;this.color=undefined;this.disabled=false;this.menu=undefined;this.autoHide=true;this.type="button"}t.prototype.componentWillLoad=function(){this.inheritedAttributes=h(this.el)};t.prototype.componentDidLoad=function(){this.visibilityChanged()};t.prototype.visibilityChanged=function(){return __awaiter(this,void 0,void 0,(function(){var t;return __generator(this,(function(e){switch(e.label){case 0:t=this;return[4,M(this.menu)];case 1:t.visible=e.sent();return[2]}}))}))};t.prototype.render=function(){var t;var e=this,n=e.color,i=e.disabled,s=e.inheritedAttributes;var a=v(this);var u=b.get("menuIcon",a==="ios"?x:w);var d=this.autoHide&&!this.visible;var l={type:this.type};var h=s["aria-label"]||"menu";return o(r,{onClick:this.onClick,"aria-disabled":i?"true":null,"aria-hidden":d?"true":null,class:g(n,(t={},t[a]=true,t.button=true,t["menu-button-hidden"]=d,t["menu-button-disabled"]=i,t["in-toolbar"]=y("ion-toolbar",this.el),t["in-toolbar-color"]=y("ion-toolbar[color]",this.el),t["ion-activatable"]=true,t["ion-focusable"]=true,t))},o("button",Object.assign({},l,{disabled:i,class:"button-native",part:"native","aria-label":h}),o("span",{class:"button-inner"},o("slot",null,o("ion-icon",{part:"icon",icon:u,mode:a,lazy:false,"aria-hidden":"true"}))),a==="md"&&o("ion-ripple-effect",{type:"unbounded"})))};Object.defineProperty(t.prototype,"el",{get:function(){return s(this)},enumerable:false,configurable:true});return t}());G.style={ios:F,md:X};var H=":host(.menu-toggle-hidden){display:none}";var q=t("ion_menu_toggle",function(){function t(t){var e=this;n(this,t);this.onClick=function(){return f.toggle(e.menu)};this.visible=false;this.menu=undefined;this.autoHide=true}t.prototype.connectedCallback=function(){this.visibilityChanged()};t.prototype.visibilityChanged=function(){return __awaiter(this,void 0,void 0,(function(){var t;return __generator(this,(function(e){switch(e.label){case 0:t=this;return[4,M(this.menu)];case 1:t.visible=e.sent();return[2]}}))}))};t.prototype.render=function(){var t;var e=v(this);var n=this.autoHide&&!this.visible;return o(r,{onClick:this.onClick,"aria-hidden":n?"true":null,class:(t={},t[e]=true,t["menu-toggle-hidden"]=n,t)},o("slot",null))};return t}());q.style=H}}}));
@@ -27,3 +27,4 @@ export type DatetimeHighlight = {
27
27
  date: string;
28
28
  } & DatetimeHighlightStyle;
29
29
  export type DatetimeHighlightCallback = (dateIsoString: string) => DatetimeHighlightStyle | undefined;
30
+ export type DatetimeHourCycle = 'h11' | 'h12' | 'h23' | 'h24';
@@ -1,6 +1,6 @@
1
1
  import type { ComponentInterface, EventEmitter } from '../../stencil-public-runtime';
2
2
  import type { Color, StyleEventDetail } from '../../interface';
3
- import type { DatetimePresentation, DatetimeChangeEventDetail, DatetimeParts, TitleSelectedDatesFormatter, DatetimeHighlight, DatetimeHighlightCallback } from './datetime-interface';
3
+ import type { DatetimePresentation, DatetimeChangeEventDetail, DatetimeParts, TitleSelectedDatesFormatter, DatetimeHighlight, DatetimeHighlightCallback, DatetimeHourCycle } from './datetime-interface';
4
4
  /**
5
5
  * @virtualProp {"ios" | "md"} mode - The mode determines which platform styles to use.
6
6
  *
@@ -259,7 +259,7 @@ export declare class Datetime implements ComponentInterface {
259
259
  * The hour cycle of the `ion-datetime`. If no value is set, this is
260
260
  * specified by the current locale.
261
261
  */
262
- hourCycle?: 'h23' | 'h12';
262
+ hourCycle?: DatetimeHourCycle;
263
263
  /**
264
264
  * If `cover`, the `ion-datetime` will expand to cover the full width of its container.
265
265
  * If `fixed`, the `ion-datetime` will have a fixed width.
@@ -1,6 +1,6 @@
1
1
  import type { Mode } from '../../../interface';
2
2
  import type { PickerColumnItem } from '../../picker-column-internal/picker-column-internal-interfaces';
3
- import type { DatetimeParts } from '../datetime-interface';
3
+ import type { DatetimeParts, DatetimeHourCycle } from '../datetime-interface';
4
4
  /**
5
5
  * Returns the current date as
6
6
  * an ISO string in the user's
@@ -35,7 +35,7 @@ export declare const getDaysOfMonth: (month: number, year: number, firstDayOfWee
35
35
  * max/min bound datetime parts, calculate the acceptable
36
36
  * hour and minute values according to the bounds and locale.
37
37
  */
38
- export declare const generateTime: (refParts: DatetimeParts, hourCycle?: 'h12' | 'h23', minParts?: DatetimeParts, maxParts?: DatetimeParts, hourValues?: number[], minuteValues?: number[]) => {
38
+ export declare const generateTime: (locale: string, refParts: DatetimeParts, hourCycle?: DatetimeHourCycle, minParts?: DatetimeParts, maxParts?: DatetimeParts, hourValues?: number[], minuteValues?: number[]) => {
39
39
  hours: number[];
40
40
  minutes: number[];
41
41
  am: boolean;
@@ -70,7 +70,7 @@ interface CombinedDateColumnData {
70
70
  * Example: "Thu, Jun 2"
71
71
  */
72
72
  export declare const getCombinedDateColumnData: (locale: string, todayParts: DatetimeParts, minParts: DatetimeParts, maxParts: DatetimeParts, dayValues?: number[], monthValues?: number[]) => CombinedDateColumnData;
73
- export declare const getTimeColumnsData: (locale: string, refParts: DatetimeParts, hourCycle?: 'h23' | 'h12', minParts?: DatetimeParts, maxParts?: DatetimeParts, allowedHourValues?: number[], allowedMinuteValues?: number[]) => {
73
+ export declare const getTimeColumnsData: (locale: string, refParts: DatetimeParts, hourCycle?: DatetimeHourCycle, minParts?: DatetimeParts, maxParts?: DatetimeParts, allowedHourValues?: number[], allowedMinuteValues?: number[]) => {
74
74
  [key: string]: PickerColumnItem[];
75
75
  };
76
76
  export {};
@@ -1,5 +1,5 @@
1
- import type { DatetimeParts } from '../datetime-interface';
2
- export declare const getLocalizedTime: (locale: string, refParts: DatetimeParts, use24Hour: boolean) => string;
1
+ import type { DatetimeParts, DatetimeHourCycle } from '../datetime-interface';
2
+ export declare const getLocalizedTime: (locale: string, refParts: DatetimeParts, hourCycle: DatetimeHourCycle) => string;
3
3
  /**
4
4
  * Adds padding to a time value so
5
5
  * that it is always 2 digits.
@@ -11,7 +11,7 @@ export declare const addTimePadding: (value: number) => string;
11
11
  * 12 hour times it ensures that
12
12
  * hour 0 is formatted as '12'.
13
13
  */
14
- export declare const getFormattedHour: (hour: number, use24Hour: boolean) => string;
14
+ export declare const getFormattedHour: (hour: number, hourCycle: DatetimeHourCycle) => string;
15
15
  /**
16
16
  * Generates an aria-label to be read by screen readers
17
17
  * given a local, a date, and whether or not that date is
@@ -1,3 +1,4 @@
1
+ import type { DatetimeHourCycle } from '../datetime-interface';
1
2
  /**
2
3
  * Determines if given year is a
3
4
  * leap year. Returns `true` if year
@@ -5,7 +6,20 @@
5
6
  * otherwise.
6
7
  */
7
8
  export declare const isLeapYear: (year: number) => boolean;
8
- export declare const is24Hour: (locale: string, hourCycle?: 'h23' | 'h12') => boolean;
9
+ /**
10
+ * Determines the hour cycle for a user.
11
+ * If the hour cycle is explicitly defined, just use that.
12
+ * Otherwise, we try to derive it from either the specified
13
+ * locale extension tags or from Intl.DateTimeFormat directly.
14
+ */
15
+ export declare const getHourCycle: (locale: string, hourCycle?: DatetimeHourCycle) => DatetimeHourCycle;
16
+ /**
17
+ * Determine if the hour cycle uses a 24-hour format.
18
+ * Returns true for h23 and h24. Returns false otherwise.
19
+ * If you don't know the hourCycle, use getHourCycle above
20
+ * and pass the result into this function.
21
+ */
22
+ export declare const is24Hour: (hourCycle: DatetimeHourCycle) => boolean;
9
23
  /**
10
24
  * Given a date object, returns the number
11
25
  * of days in that month.
@@ -1,5 +1,6 @@
1
1
  import type { Animation } from '../../../interface';
2
+ import type { ToastPresentOptions } from '../toast-interface';
2
3
  /**
3
4
  * iOS Toast Enter Animation
4
5
  */
5
- export declare const iosEnterAnimation: (baseEl: HTMLElement, position: string) => Animation;
6
+ export declare const iosEnterAnimation: (baseEl: HTMLElement, opts: ToastPresentOptions) => Animation;
@@ -1,5 +1,5 @@
1
- import type { Animation } from '../../../interface';
1
+ import type { Animation, ToastDismissOptions } from '../../../interface';
2
2
  /**
3
3
  * iOS Toast Leave Animation
4
4
  */
5
- export declare const iosLeaveAnimation: (baseEl: HTMLElement, position: string) => Animation;
5
+ export declare const iosLeaveAnimation: (baseEl: HTMLElement, opts: ToastDismissOptions) => Animation;
@@ -1,5 +1,6 @@
1
1
  import type { Animation } from '../../../interface';
2
+ import type { ToastPresentOptions } from '../toast-interface';
2
3
  /**
3
4
  * MD Toast Enter Animation
4
5
  */
5
- export declare const mdEnterAnimation: (baseEl: HTMLElement, position: string) => Animation;
6
+ export declare const mdEnterAnimation: (baseEl: HTMLElement, opts: ToastPresentOptions) => Animation;
@@ -0,0 +1,18 @@
1
+ import type { Mode } from "../../../interface";
2
+ import type { ToastAnimationPosition, ToastPosition } from '../toast-interface';
3
+ /**
4
+ * Calculate the CSS top and bottom position of the toast, to be used
5
+ * as starting points for the animation keyframes.
6
+ *
7
+ * Note that MD animates bottom-positioned toasts using style.bottom,
8
+ * which calculates from the bottom edge of the screen, while iOS uses
9
+ * translateY, which calculates from the top edge of the screen. This
10
+ * is why the bottom calculates differ slightly between modes.
11
+ *
12
+ * @param position The value of the toast's position prop.
13
+ * @param positionAnchor The element the toast should be anchored to,
14
+ * if applicable.
15
+ * @param mode The toast component's mode (md, ios, etc).
16
+ * @param toast A reference to the toast element itself.
17
+ */
18
+ export declare function getAnimationPosition(position: ToastPosition, positionAnchor: HTMLElement | undefined, mode: Mode, toast: HTMLElement): ToastAnimationPosition;
@@ -7,6 +7,7 @@ export interface ToastOptions {
7
7
  duration?: number;
8
8
  buttons?: (ToastButton | string)[];
9
9
  position?: 'top' | 'bottom' | 'middle';
10
+ positionAnchor?: HTMLElement | string;
10
11
  translucent?: boolean;
11
12
  animated?: boolean;
12
13
  icon?: string;
@@ -37,3 +38,13 @@ export interface ToastButton {
37
38
  handler?: () => boolean | void | Promise<boolean | void>;
38
39
  }
39
40
  export type ToastPosition = 'top' | 'bottom' | 'middle';
41
+ interface ToastPositionAlias {
42
+ position: ToastPosition;
43
+ }
44
+ export interface ToastAnimationPosition {
45
+ top: string;
46
+ bottom: string;
47
+ }
48
+ export type ToastPresentOptions = ToastPositionAlias & ToastAnimationPosition;
49
+ export type ToastDismissOptions = ToastPositionAlias & ToastAnimationPosition;
50
+ export {};
@@ -19,6 +19,12 @@ export declare class Toast implements ComponentInterface, OverlayInterface {
19
19
  private readonly triggerController;
20
20
  private customHTMLEnabled;
21
21
  private durationTimeout?;
22
+ /**
23
+ * Holds the position of the toast calculated in the present
24
+ * animation, to be passed along to the dismiss animation so
25
+ * we don't have to calculate the position twice.
26
+ */
27
+ private lastPresentedPosition?;
22
28
  presented: boolean;
23
29
  /**
24
30
  * When `true`, content inside of .toast-content
@@ -84,9 +90,17 @@ export declare class Toast implements ComponentInterface, OverlayInterface {
84
90
  */
85
91
  keyboardClose: boolean;
86
92
  /**
87
- * The position of the toast on the screen.
93
+ * The starting position of the toast on the screen. Can be tweaked further
94
+ * using the `positionAnchor` property.
88
95
  */
89
96
  position: ToastPosition;
97
+ /**
98
+ * The element to anchor the toast's position to. Can be set as a direct reference
99
+ * or the ID of the element. With `position="bottom"`, the toast will sit above the
100
+ * chosen element. With `position="top"`, the toast will sit below the chosen element.
101
+ * With `position="middle"`, the value of `positionAnchor` is ignored.
102
+ */
103
+ positionAnchor?: HTMLElement | string;
90
104
  /**
91
105
  * An array of buttons for the toast.
92
106
  */
@@ -190,6 +204,12 @@ export declare class Toast implements ComponentInterface, OverlayInterface {
190
204
  */
191
205
  onWillDismiss<T = any>(): Promise<OverlayEventDetail<T>>;
192
206
  private getButtons;
207
+ /**
208
+ * Returns the element specified by the positionAnchor prop,
209
+ * or undefined if prop's value is an ID string and the element
210
+ * is not found in the DOM.
211
+ */
212
+ private getAnchorElement;
193
213
  private buttonClick;
194
214
  private callButtonHandler;
195
215
  private dispatchCancelHandler;
@@ -15,7 +15,7 @@ import { RouteID, RouterDirection, RouterEventDetail, RouteWrite } from "./compo
15
15
  import { BreadcrumbCollapsedClickEventDetail } from "./components/breadcrumb/breadcrumb-interface";
16
16
  import { CheckboxChangeEventDetail } from "./components/checkbox/checkbox-interface";
17
17
  import { ScrollBaseDetail, ScrollDetail } from "./components/content/content-interface";
18
- import { DatetimeChangeEventDetail, DatetimeHighlight, DatetimeHighlightCallback, DatetimePresentation, TitleSelectedDatesFormatter } from "./components/datetime/datetime-interface";
18
+ import { DatetimeChangeEventDetail, DatetimeHighlight, DatetimeHighlightCallback, DatetimeHourCycle, DatetimePresentation, TitleSelectedDatesFormatter } from "./components/datetime/datetime-interface";
19
19
  import { SpinnerTypes } from "./components/spinner/spinner-configs";
20
20
  import { InputChangeEventDetail, InputInputEventDetail } from "./components/input/input-interface";
21
21
  import { CounterFormatter } from "./components/item/item-interface";
@@ -39,7 +39,7 @@ import { SelectChangeEventDetail, SelectCompareFn, SelectInterface } from "./com
39
39
  import { SelectPopoverOption } from "./components/select-popover/select-popover-interface";
40
40
  import { TabBarChangedEventDetail, TabButtonClickEventDetail, TabButtonLayout } from "./components/tab-bar/tab-bar-interface";
41
41
  import { TextareaChangeEventDetail, TextareaInputEventDetail } from "./components/textarea/textarea-interface";
42
- import { ToastButton, ToastLayout, ToastPosition } from "./components/toast/toast-interface";
42
+ import { ToastButton, ToastDismissOptions, ToastLayout, ToastPosition, ToastPresentOptions } from "./components/toast/toast-interface";
43
43
  import { ToggleChangeEventDetail } from "./components/toggle/toggle-interface";
44
44
  export { AccordionGroupChangeEventDetail } from "./components/accordion-group/accordion-group-interface";
45
45
  export { AnimationBuilder, AutocompleteTypes, Color, ComponentProps, ComponentRef, FrameworkDelegate, StyleEventDetail, TextFieldTypes } from "./interface";
@@ -51,7 +51,7 @@ export { RouteID, RouterDirection, RouterEventDetail, RouteWrite } from "./compo
51
51
  export { BreadcrumbCollapsedClickEventDetail } from "./components/breadcrumb/breadcrumb-interface";
52
52
  export { CheckboxChangeEventDetail } from "./components/checkbox/checkbox-interface";
53
53
  export { ScrollBaseDetail, ScrollDetail } from "./components/content/content-interface";
54
- export { DatetimeChangeEventDetail, DatetimeHighlight, DatetimeHighlightCallback, DatetimePresentation, TitleSelectedDatesFormatter } from "./components/datetime/datetime-interface";
54
+ export { DatetimeChangeEventDetail, DatetimeHighlight, DatetimeHighlightCallback, DatetimeHourCycle, DatetimePresentation, TitleSelectedDatesFormatter } from "./components/datetime/datetime-interface";
55
55
  export { SpinnerTypes } from "./components/spinner/spinner-configs";
56
56
  export { InputChangeEventDetail, InputInputEventDetail } from "./components/input/input-interface";
57
57
  export { CounterFormatter } from "./components/item/item-interface";
@@ -75,7 +75,7 @@ export { SelectChangeEventDetail, SelectCompareFn, SelectInterface } from "./com
75
75
  export { SelectPopoverOption } from "./components/select-popover/select-popover-interface";
76
76
  export { TabBarChangedEventDetail, TabButtonClickEventDetail, TabButtonLayout } from "./components/tab-bar/tab-bar-interface";
77
77
  export { TextareaChangeEventDetail, TextareaInputEventDetail } from "./components/textarea/textarea-interface";
78
- export { ToastButton, ToastLayout, ToastPosition } from "./components/toast/toast-interface";
78
+ export { ToastButton, ToastDismissOptions, ToastLayout, ToastPosition, ToastPresentOptions } from "./components/toast/toast-interface";
79
79
  export { ToggleChangeEventDetail } from "./components/toggle/toggle-interface";
80
80
  export namespace Components {
81
81
  interface IonAccordion {
@@ -865,7 +865,7 @@ export namespace Components {
865
865
  /**
866
866
  * The hour cycle of the `ion-datetime`. If no value is set, this is specified by the current locale.
867
867
  */
868
- "hourCycle"?: 'h23' | 'h12';
868
+ "hourCycle"?: DatetimeHourCycle;
869
869
  /**
870
870
  * Values used to create the list of selectable hours. By default the hour values range from `0` to `23` for 24-hour, or `1` to `12` for 12-hour. However, to control exactly which hours to display, the `hourValues` input can take a number, an array of numbers, or a string of comma separated numbers.
871
871
  */
@@ -3157,9 +3157,13 @@ export namespace Components {
3157
3157
  "onWillDismiss": <T = any>() => Promise<OverlayEventDetail<T>>;
3158
3158
  "overlayIndex": number;
3159
3159
  /**
3160
- * The position of the toast on the screen.
3160
+ * The starting position of the toast on the screen. Can be tweaked further using the `positionAnchor` property.
3161
3161
  */
3162
3162
  "position": ToastPosition;
3163
+ /**
3164
+ * The element to anchor the toast's position to. Can be set as a direct reference or the ID of the element. With `position="bottom"`, the toast will sit above the chosen element. With `position="top"`, the toast will sit below the chosen element. With `position="middle"`, the value of `positionAnchor` is ignored.
3165
+ */
3166
+ "positionAnchor"?: HTMLElement | string;
3163
3167
  /**
3164
3168
  * Present the toast overlay after it has been created.
3165
3169
  */
@@ -4868,7 +4872,7 @@ declare namespace LocalJSX {
4868
4872
  /**
4869
4873
  * The hour cycle of the `ion-datetime`. If no value is set, this is specified by the current locale.
4870
4874
  */
4871
- "hourCycle"?: 'h23' | 'h12';
4875
+ "hourCycle"?: DatetimeHourCycle;
4872
4876
  /**
4873
4877
  * Values used to create the list of selectable hours. By default the hour values range from `0` to `23` for 24-hour, or `1` to `12` for 12-hour. However, to control exactly which hours to display, the `hourValues` input can take a number, an array of numbers, or a string of comma separated numbers.
4874
4878
  */
@@ -7152,9 +7156,13 @@ declare namespace LocalJSX {
7152
7156
  */
7153
7157
  "onWillPresent"?: (event: IonToastCustomEvent<void>) => void;
7154
7158
  /**
7155
- * The position of the toast on the screen.
7159
+ * The starting position of the toast on the screen. Can be tweaked further using the `positionAnchor` property.
7156
7160
  */
7157
7161
  "position"?: ToastPosition;
7162
+ /**
7163
+ * The element to anchor the toast's position to. Can be set as a direct reference or the ID of the element. With `position="bottom"`, the toast will sit above the chosen element. With `position="top"`, the toast will sit below the chosen element. With `position="middle"`, the value of `positionAnchor` is ignored.
7164
+ */
7165
+ "positionAnchor"?: HTMLElement | string;
7158
7166
  /**
7159
7167
  * If `true`, the toast will be translucent. Only applies when the mode is `"ios"` and the device supports [`backdrop-filter`](https://developer.mozilla.org/en-US/docs/Web/CSS/backdrop-filter#Browser_compatibility).
7160
7168
  */
@@ -10,6 +10,7 @@ export { componentOnReady } from './utils/helpers';
10
10
  export { isPlatform, Platforms, PlatformConfig, getPlatforms } from './utils/platform';
11
11
  export { IonicSafeString } from './utils/sanitization';
12
12
  export { IonicConfig, getMode, setupConfig } from './utils/config';
13
+ export { openURL } from './utils/theme';
13
14
  export { LIFECYCLE_WILL_ENTER, LIFECYCLE_DID_ENTER, LIFECYCLE_WILL_LEAVE, LIFECYCLE_DID_LEAVE, LIFECYCLE_WILL_UNLOAD, } from './components/nav/constants';
14
15
  export { menuController } from './utils/menu-controller';
15
16
  export { alertController, actionSheetController, modalController, loadingController, pickerController, popoverController, toastController, } from './utils/overlays';