@ionic/core 8.4.1-dev.11732235436.1dec59cf → 8.4.1-dev.11732305980.19d90e1c

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 (100) hide show
  1. package/components/header.js +21 -2
  2. package/components/ion-menu.js +29 -7
  3. package/components/overlays.js +27 -12
  4. package/components/radio-group.js +8 -2
  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-app_8.cjs.entry.js +21 -2
  9. package/dist/cjs/ion-datetime_3.cjs.entry.js +1 -1
  10. package/dist/cjs/ion-loading.cjs.entry.js +1 -1
  11. package/dist/cjs/ion-menu_3.cjs.entry.js +30 -8
  12. package/dist/cjs/ion-modal.cjs.entry.js +1 -1
  13. package/dist/cjs/ion-popover.cjs.entry.js +1 -1
  14. package/dist/cjs/ion-radio_2.cjs.entry.js +6 -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/ionic.cjs.js +1 -1
  19. package/dist/cjs/loader.cjs.js +1 -1
  20. package/dist/cjs/{overlays-ba0f6986.js → overlays-aa669eb8.js} +26 -11
  21. package/dist/collection/components/header/header.utils.js +21 -2
  22. package/dist/collection/components/menu/menu.js +29 -6
  23. package/dist/collection/components/radio-group/radio-group.js +30 -1
  24. package/dist/collection/utils/focus-trap.js +8 -2
  25. package/dist/collection/utils/overlays.js +19 -9
  26. package/dist/docs.json +1 -1
  27. package/dist/esm/index.js +1 -1
  28. package/dist/esm/ion-action-sheet.entry.js +1 -1
  29. package/dist/esm/ion-alert.entry.js +1 -1
  30. package/dist/esm/ion-app_8.entry.js +21 -2
  31. package/dist/esm/ion-datetime_3.entry.js +1 -1
  32. package/dist/esm/ion-loading.entry.js +1 -1
  33. package/dist/esm/ion-menu_3.entry.js +30 -8
  34. package/dist/esm/ion-modal.entry.js +1 -1
  35. package/dist/esm/ion-popover.entry.js +1 -1
  36. package/dist/esm/ion-radio_2.entry.js +6 -1
  37. package/dist/esm/ion-select-modal.entry.js +1 -1
  38. package/dist/esm/ion-select_3.entry.js +1 -1
  39. package/dist/esm/ion-toast.entry.js +1 -1
  40. package/dist/esm/ionic.js +1 -1
  41. package/dist/esm/loader.js +1 -1
  42. package/dist/esm/{overlays-ae10d43d.js → overlays-e7b9d6d9.js} +27 -12
  43. package/dist/esm-es5/index.js +1 -1
  44. package/dist/esm-es5/ion-action-sheet.entry.js +1 -1
  45. package/dist/esm-es5/ion-alert.entry.js +1 -1
  46. package/dist/esm-es5/ion-app_8.entry.js +1 -1
  47. package/dist/esm-es5/ion-datetime_3.entry.js +1 -1
  48. package/dist/esm-es5/ion-loading.entry.js +1 -1
  49. package/dist/esm-es5/ion-menu_3.entry.js +1 -1
  50. package/dist/esm-es5/ion-modal.entry.js +1 -1
  51. package/dist/esm-es5/ion-popover.entry.js +1 -1
  52. package/dist/esm-es5/ion-radio_2.entry.js +1 -1
  53. package/dist/esm-es5/ion-select-modal.entry.js +1 -1
  54. package/dist/esm-es5/ion-select_3.entry.js +1 -1
  55. package/dist/esm-es5/ion-toast.entry.js +1 -1
  56. package/dist/esm-es5/ionic.js +1 -1
  57. package/dist/esm-es5/loader.js +1 -1
  58. package/dist/esm-es5/overlays-e7b9d6d9.js +4 -0
  59. package/dist/ionic/index.esm.js +1 -1
  60. package/dist/ionic/ionic.esm.js +1 -1
  61. package/dist/ionic/p-0aa833fb.system.js +4 -0
  62. package/dist/ionic/{p-5393e8bb.system.entry.js → p-1046866e.system.entry.js} +1 -1
  63. package/dist/ionic/p-12a722b8.system.entry.js +4 -0
  64. package/dist/ionic/{p-5b5c1505.system.entry.js → p-14e159ea.system.entry.js} +1 -1
  65. package/dist/ionic/p-19a5be0a.entry.js +4 -0
  66. package/dist/ionic/{p-0161caf9.system.entry.js → p-1fe02220.system.entry.js} +1 -1
  67. package/dist/ionic/{p-f10b70a1.entry.js → p-2b9b78c7.entry.js} +1 -1
  68. package/dist/ionic/{p-2ae283ce.system.entry.js → p-2bd0ae94.system.entry.js} +2 -2
  69. package/dist/ionic/p-322c5fb4.system.js +1 -1
  70. package/dist/ionic/p-508d024a.entry.js +4 -0
  71. package/dist/ionic/{p-6734db42.system.entry.js → p-626fd66d.system.entry.js} +1 -1
  72. package/dist/ionic/{p-857ca696.system.entry.js → p-6499df44.system.entry.js} +1 -1
  73. package/dist/ionic/{p-a1dee17f.entry.js → p-6b280620.entry.js} +1 -1
  74. package/dist/ionic/{p-1c1b8e1f.entry.js → p-6d6cedc5.entry.js} +1 -1
  75. package/dist/ionic/{p-1ebd1e27.system.entry.js → p-7ddc46c3.system.entry.js} +1 -1
  76. package/dist/ionic/{p-ee7ba749.entry.js → p-8b8be2fd.entry.js} +1 -1
  77. package/dist/ionic/{p-a34b4d94.entry.js → p-942b5e13.entry.js} +1 -1
  78. package/dist/ionic/{p-a1b9a163.entry.js → p-982315a6.entry.js} +1 -1
  79. package/dist/ionic/{p-a1051806.entry.js → p-9e33104d.entry.js} +1 -1
  80. package/dist/ionic/{p-9910f786.entry.js → p-a43467d8.entry.js} +1 -1
  81. package/dist/ionic/{p-1b7605a7.system.entry.js → p-b2272f51.system.entry.js} +1 -1
  82. package/dist/ionic/{p-4a274c89.entry.js → p-b79ba17c.entry.js} +1 -1
  83. package/dist/ionic/{p-8f05ba3b.system.js → p-c449820c.system.js} +1 -1
  84. package/dist/ionic/{p-5972efea.system.entry.js → p-ddaa748a.system.entry.js} +1 -1
  85. package/dist/ionic/{p-1e41f2aa.system.entry.js → p-e4f69534.system.entry.js} +1 -1
  86. package/dist/ionic/p-e6635685.js +4 -0
  87. package/dist/ionic/{p-d7e982e7.system.entry.js → p-e85d901b.system.entry.js} +1 -1
  88. package/dist/ionic/{p-e2252ad6.entry.js → p-fec61c32.entry.js} +1 -1
  89. package/dist/types/components/radio-group/radio-group.d.ts +2 -0
  90. package/dist/types/components.d.ts +1 -0
  91. package/dist/types/utils/focus-trap.d.ts +1 -1
  92. package/hydrate/index.js +83 -21
  93. package/hydrate/index.mjs +83 -21
  94. package/package.json +1 -1
  95. package/dist/esm-es5/overlays-ae10d43d.js +0 -4
  96. package/dist/ionic/p-04fc24ee.system.js +0 -4
  97. package/dist/ionic/p-5c831f49.js +0 -4
  98. package/dist/ionic/p-5f76120c.entry.js +0 -4
  99. package/dist/ionic/p-7d3a5580.system.entry.js +0 -4
  100. package/dist/ionic/p-e9a173ed.entry.js +0 -4
package/hydrate/index.js CHANGED
@@ -4392,7 +4392,7 @@ const createLockController = () => {
4392
4392
  * Note: We need this distinction because `disabled="false"` is
4393
4393
  * valid usage for the disabled property on ion-button.
4394
4394
  */
4395
- const focusableQueryString = '[tabindex]:not([tabindex^="-"]):not([hidden]):not([disabled]), input:not([type=hidden]):not([tabindex^="-"]):not([hidden]):not([disabled]), textarea:not([tabindex^="-"]):not([hidden]):not([disabled]), button:not([tabindex^="-"]):not([hidden]):not([disabled]), select:not([tabindex^="-"]):not([hidden]):not([disabled]), .ion-focusable:not([tabindex^="-"]):not([hidden]):not([disabled]), .ion-focusable[disabled="false"]:not([tabindex^="-"]):not([hidden])';
4395
+ const focusableQueryString = '[tabindex]:not([tabindex^="-"]):not([hidden]):not([disabled]), input:not([type=hidden]):not([tabindex^="-"]):not([hidden]):not([disabled]), textarea:not([tabindex^="-"]):not([hidden]):not([disabled]), button:not([tabindex^="-"]):not([hidden]):not([disabled]), select:not([tabindex^="-"]):not([hidden]):not([disabled]), ion-checkbox:not([tabindex^="-"]):not([hidden]):not([disabled]), ion-radio:not([tabindex^="-"]):not([hidden]):not([disabled]), .ion-focusable:not([tabindex^="-"]):not([hidden]):not([disabled]), .ion-focusable[disabled="false"]:not([tabindex^="-"]):not([hidden])';
4396
4396
  /**
4397
4397
  * Focuses the first descendant in a context
4398
4398
  * that can receive focus. If none exists,
@@ -4447,7 +4447,13 @@ const focusElementInContext = (hostToFocus, fallbackElement) => {
4447
4447
  elementToFocus = shadowRoot.querySelector(focusableQueryString) || hostToFocus;
4448
4448
  }
4449
4449
  if (elementToFocus) {
4450
- focusVisibleElement(elementToFocus);
4450
+ const radioGroup = elementToFocus.closest('ion-radio-group');
4451
+ if (radioGroup) {
4452
+ radioGroup.setFocus();
4453
+ }
4454
+ else {
4455
+ focusVisibleElement(elementToFocus);
4456
+ }
4451
4457
  }
4452
4458
  else {
4453
4459
  // Focus fallback element instead of letting focus escape
@@ -5398,21 +5404,30 @@ const createTriggerController = () => {
5398
5404
  * like TalkBack do not announce or interact with the content until the
5399
5405
  * animation is complete, avoiding confusion for users.
5400
5406
  *
5401
- * If the overlay is being presented, it prevents focus rings from appearing
5402
- * in incorrect positions due to the transition (specifically `transform`
5403
- * styles), ensuring that when aria-hidden is removed, the focus rings are
5404
- * correctly displayed in the final location of the elements.
5407
+ * When the overlay is presented on an Android device, TalkBack's focus rings
5408
+ * may appear in the wrong position due to the transition (specifically
5409
+ * `transform` styles). This occurs because the focus rings are initially
5410
+ * displayed at the starting position of the elements before the transition
5411
+ * begins. This workaround ensures the focus rings do not appear in the
5412
+ * incorrect location.
5413
+ *
5414
+ * If this solution is applied to iOS devices, then it leads to a bug where
5415
+ * the overlays cannot be accessed by screen readers. This is due to
5416
+ * VoiceOver not being able to update the accessibility tree when the
5417
+ * `aria-hidden` is removed.
5405
5418
  *
5406
5419
  * @param overlay - The overlay that is being animated.
5407
5420
  */
5408
5421
  const hideAnimatingOverlayFromScreenReaders = (overlay) => {
5409
5422
  if (doc === undefined)
5410
5423
  return;
5411
- /**
5412
- * Once the animation is complete, this attribute will be removed.
5413
- * This is done at the end of the `present` method.
5414
- */
5415
- overlay.setAttribute('aria-hidden', 'true');
5424
+ if (isPlatform('android')) {
5425
+ /**
5426
+ * Once the animation is complete, this attribute will be removed.
5427
+ * This is done at the end of the `present` method.
5428
+ */
5429
+ overlay.setAttribute('aria-hidden', 'true');
5430
+ }
5416
5431
  };
5417
5432
  /**
5418
5433
  * Ensure that underlying overlays have aria-hidden if necessary so that screen readers
@@ -13914,13 +13929,32 @@ mainHeaderIndex, scrollHeaderIndex, scrollEl) => {
13914
13929
  };
13915
13930
  const setHeaderActive = (headerIndex, active = true) => {
13916
13931
  const headerEl = headerIndex.el;
13932
+ const toolbars = headerIndex.toolbars;
13933
+ const ionTitles = toolbars.map((toolbar) => toolbar.ionTitleEl);
13917
13934
  if (active) {
13918
13935
  headerEl.classList.remove('header-collapse-condense-inactive');
13919
- headerEl.removeAttribute('aria-hidden');
13936
+ ionTitles.forEach((ionTitle) => {
13937
+ if (ionTitle) {
13938
+ ionTitle.removeAttribute('aria-hidden');
13939
+ }
13940
+ });
13920
13941
  }
13921
13942
  else {
13922
13943
  headerEl.classList.add('header-collapse-condense-inactive');
13923
- headerEl.setAttribute('aria-hidden', 'true');
13944
+ /**
13945
+ * The small title should only be accessed by screen readers
13946
+ * when the large title collapses into the small title due
13947
+ * to scrolling.
13948
+ *
13949
+ * Originally, the header was given `aria-hidden="true"`
13950
+ * but this caused issues with screen readers not being
13951
+ * able to access any focusable elements within the header.
13952
+ */
13953
+ ionTitles.forEach((ionTitle) => {
13954
+ if (ionTitle) {
13955
+ ionTitle.setAttribute('aria-hidden', 'true');
13956
+ }
13957
+ });
13924
13958
  }
13925
13959
  };
13926
13960
  const scaleLargeTitles = (toolbars = [], scale = 1, transition = false) => {
@@ -17816,8 +17850,22 @@ class Menu {
17816
17850
  }
17817
17851
  beforeAnimation(shouldOpen, role) {
17818
17852
  assert(!this.isAnimating, '_before() should not be called while animating');
17819
- // add aria-hidden to the menu
17820
- this.el.setAttribute('aria-hidden', 'true');
17853
+ /**
17854
+ * When the menu is presented on an Android device, TalkBack's focus rings
17855
+ * may appear in the wrong position due to the transition (specifically
17856
+ * `transform` styles). This occurs because the focus rings are initially
17857
+ * displayed at the starting position of the elements before the transition
17858
+ * begins. This workaround ensures the focus rings do not appear in the
17859
+ * incorrect location.
17860
+ *
17861
+ * If this solution is applied to iOS devices, then it leads to a bug where
17862
+ * the overlays cannot be accessed by screen readers. This is due to
17863
+ * VoiceOver not being able to update the accessibility tree when the
17864
+ * `aria-hidden` is removed.
17865
+ */
17866
+ if (isPlatform('android')) {
17867
+ this.el.setAttribute('aria-hidden', 'true');
17868
+ }
17821
17869
  // this places the menu into the correct location before it animates in
17822
17870
  // this css class doesn't actually kick off any animations
17823
17871
  this.el.classList.add(SHOW_MENU);
@@ -17870,10 +17918,18 @@ class Menu {
17870
17918
  this.blocker.unblock();
17871
17919
  }
17872
17920
  if (isOpen) {
17921
+ /**
17922
+ * When the menu is presented on an Android device, TalkBack's focus rings
17923
+ * may appear in the wrong position due to the transition (specifically
17924
+ * `transform` styles). The menu is hidden from screen readers during the
17925
+ * transition to prevent this. Once the transition is complete, the menu
17926
+ * is shown again.
17927
+ */
17928
+ if (isPlatform('android')) {
17929
+ this.el.removeAttribute('aria-hidden');
17930
+ }
17873
17931
  // emit open event
17874
17932
  this.ionDidOpen.emit();
17875
- // remove aria-hidden from menu
17876
- this.el.removeAttribute('aria-hidden');
17877
17933
  /**
17878
17934
  * Move focus to the menu to prepare focus trapping, as long as
17879
17935
  * it isn't already focused. Use the host element instead of the
@@ -17954,14 +18010,14 @@ class Menu {
17954
18010
  * the ionBackButton listener in the menu controller
17955
18011
  * will handle closing the menu when Escape is pressed.
17956
18012
  */
17957
- return (hAsync(Host, { key: 'b06d57136c3197032dec883c1f2ef1f45038a66e', onKeyDown: shouldUseCloseWatcher() ? null : this.onKeydown, role: "navigation", "aria-label": inheritedAttributes['aria-label'] || 'menu', class: {
18013
+ return (hAsync(Host, { key: 'da96fdb4c5ddf60e615cc4cdda7ccdb3fd7e089b', onKeyDown: shouldUseCloseWatcher() ? null : this.onKeydown, role: "navigation", "aria-label": inheritedAttributes['aria-label'] || 'menu', class: {
17958
18014
  [mode]: true,
17959
18015
  [`menu-type-${type}`]: true,
17960
18016
  'menu-enabled': !disabled,
17961
18017
  [`menu-side-${side}`]: true,
17962
18018
  'menu-pane-visible': isPaneVisible,
17963
18019
  'split-pane-side': hostContext('ion-split-pane', el),
17964
- } }, hAsync("div", { key: '914b7fa60640738d24e5cccb8e6dacc3f2660663', class: "menu-inner", part: "container", ref: (el) => (this.menuInnerEl = el) }, hAsync("slot", { key: '8735e03f6545d0d0d8df5e51953bbb9e85c53d63' })), hAsync("ion-backdrop", { key: 'b829bd8977c31904c31ec0809461a778e25b5faa', ref: (el) => (this.backdropEl = el), class: "menu-backdrop", tappable: false, stopPropagation: false, part: "backdrop" })));
18020
+ } }, hAsync("div", { key: '894e680fe227534711128c7aca980964ddb5a08a', class: "menu-inner", part: "container", ref: (el) => (this.menuInnerEl = el) }, hAsync("slot", { key: 'e9f5934518dc0cceaeadf1f2820614595fec6bc9' })), hAsync("ion-backdrop", { key: '7282077817657b1bb6c155f1404c0a519fece993', ref: (el) => (this.backdropEl = el), class: "menu-backdrop", tappable: false, stopPropagation: false, part: "backdrop" })));
17965
18021
  }
17966
18022
  get el() { return getElement(this); }
17967
18023
  static get watchers() { return {
@@ -24826,11 +24882,16 @@ class RadioGroup {
24826
24882
  }
24827
24883
  }
24828
24884
  }
24885
+ /** @internal */
24886
+ async setFocus() {
24887
+ const radioToFocus = this.getRadios().find((r) => r.tabIndex !== -1);
24888
+ radioToFocus === null || radioToFocus === void 0 ? void 0 : radioToFocus.setFocus();
24889
+ }
24829
24890
  render() {
24830
24891
  const { label, labelId, el, name, value } = this;
24831
24892
  const mode = getIonMode$1(this);
24832
24893
  renderHiddenInput(true, el, name, value, false);
24833
- return hAsync(Host, { key: '99f543b9caa8e2d30a80e7ea7ecf6b6fdacc76eb', role: "radiogroup", "aria-labelledby": label ? labelId : null, onClick: this.onClick, class: mode });
24894
+ return hAsync(Host, { key: 'a853e38901f0f4ba17bbf21ebb5da5b5c20b327e', role: "radiogroup", "aria-labelledby": label ? labelId : null, onClick: this.onClick, class: mode });
24834
24895
  }
24835
24896
  get el() { return getElement(this); }
24836
24897
  static get watchers() { return {
@@ -24843,7 +24904,8 @@ class RadioGroup {
24843
24904
  "allowEmptySelection": [4, "allow-empty-selection"],
24844
24905
  "compareWith": [1, "compare-with"],
24845
24906
  "name": [1],
24846
- "value": [1032]
24907
+ "value": [1032],
24908
+ "setFocus": [64]
24847
24909
  },
24848
24910
  "$listeners$": [[4, "keydown", "onKeydown"]],
24849
24911
  "$lazyBundleId$": "-",
package/hydrate/index.mjs CHANGED
@@ -4388,7 +4388,7 @@ const createLockController = () => {
4388
4388
  * Note: We need this distinction because `disabled="false"` is
4389
4389
  * valid usage for the disabled property on ion-button.
4390
4390
  */
4391
- const focusableQueryString = '[tabindex]:not([tabindex^="-"]):not([hidden]):not([disabled]), input:not([type=hidden]):not([tabindex^="-"]):not([hidden]):not([disabled]), textarea:not([tabindex^="-"]):not([hidden]):not([disabled]), button:not([tabindex^="-"]):not([hidden]):not([disabled]), select:not([tabindex^="-"]):not([hidden]):not([disabled]), .ion-focusable:not([tabindex^="-"]):not([hidden]):not([disabled]), .ion-focusable[disabled="false"]:not([tabindex^="-"]):not([hidden])';
4391
+ const focusableQueryString = '[tabindex]:not([tabindex^="-"]):not([hidden]):not([disabled]), input:not([type=hidden]):not([tabindex^="-"]):not([hidden]):not([disabled]), textarea:not([tabindex^="-"]):not([hidden]):not([disabled]), button:not([tabindex^="-"]):not([hidden]):not([disabled]), select:not([tabindex^="-"]):not([hidden]):not([disabled]), ion-checkbox:not([tabindex^="-"]):not([hidden]):not([disabled]), ion-radio:not([tabindex^="-"]):not([hidden]):not([disabled]), .ion-focusable:not([tabindex^="-"]):not([hidden]):not([disabled]), .ion-focusable[disabled="false"]:not([tabindex^="-"]):not([hidden])';
4392
4392
  /**
4393
4393
  * Focuses the first descendant in a context
4394
4394
  * that can receive focus. If none exists,
@@ -4443,7 +4443,13 @@ const focusElementInContext = (hostToFocus, fallbackElement) => {
4443
4443
  elementToFocus = shadowRoot.querySelector(focusableQueryString) || hostToFocus;
4444
4444
  }
4445
4445
  if (elementToFocus) {
4446
- focusVisibleElement(elementToFocus);
4446
+ const radioGroup = elementToFocus.closest('ion-radio-group');
4447
+ if (radioGroup) {
4448
+ radioGroup.setFocus();
4449
+ }
4450
+ else {
4451
+ focusVisibleElement(elementToFocus);
4452
+ }
4447
4453
  }
4448
4454
  else {
4449
4455
  // Focus fallback element instead of letting focus escape
@@ -5394,21 +5400,30 @@ const createTriggerController = () => {
5394
5400
  * like TalkBack do not announce or interact with the content until the
5395
5401
  * animation is complete, avoiding confusion for users.
5396
5402
  *
5397
- * If the overlay is being presented, it prevents focus rings from appearing
5398
- * in incorrect positions due to the transition (specifically `transform`
5399
- * styles), ensuring that when aria-hidden is removed, the focus rings are
5400
- * correctly displayed in the final location of the elements.
5403
+ * When the overlay is presented on an Android device, TalkBack's focus rings
5404
+ * may appear in the wrong position due to the transition (specifically
5405
+ * `transform` styles). This occurs because the focus rings are initially
5406
+ * displayed at the starting position of the elements before the transition
5407
+ * begins. This workaround ensures the focus rings do not appear in the
5408
+ * incorrect location.
5409
+ *
5410
+ * If this solution is applied to iOS devices, then it leads to a bug where
5411
+ * the overlays cannot be accessed by screen readers. This is due to
5412
+ * VoiceOver not being able to update the accessibility tree when the
5413
+ * `aria-hidden` is removed.
5401
5414
  *
5402
5415
  * @param overlay - The overlay that is being animated.
5403
5416
  */
5404
5417
  const hideAnimatingOverlayFromScreenReaders = (overlay) => {
5405
5418
  if (doc === undefined)
5406
5419
  return;
5407
- /**
5408
- * Once the animation is complete, this attribute will be removed.
5409
- * This is done at the end of the `present` method.
5410
- */
5411
- overlay.setAttribute('aria-hidden', 'true');
5420
+ if (isPlatform('android')) {
5421
+ /**
5422
+ * Once the animation is complete, this attribute will be removed.
5423
+ * This is done at the end of the `present` method.
5424
+ */
5425
+ overlay.setAttribute('aria-hidden', 'true');
5426
+ }
5412
5427
  };
5413
5428
  /**
5414
5429
  * Ensure that underlying overlays have aria-hidden if necessary so that screen readers
@@ -13910,13 +13925,32 @@ mainHeaderIndex, scrollHeaderIndex, scrollEl) => {
13910
13925
  };
13911
13926
  const setHeaderActive = (headerIndex, active = true) => {
13912
13927
  const headerEl = headerIndex.el;
13928
+ const toolbars = headerIndex.toolbars;
13929
+ const ionTitles = toolbars.map((toolbar) => toolbar.ionTitleEl);
13913
13930
  if (active) {
13914
13931
  headerEl.classList.remove('header-collapse-condense-inactive');
13915
- headerEl.removeAttribute('aria-hidden');
13932
+ ionTitles.forEach((ionTitle) => {
13933
+ if (ionTitle) {
13934
+ ionTitle.removeAttribute('aria-hidden');
13935
+ }
13936
+ });
13916
13937
  }
13917
13938
  else {
13918
13939
  headerEl.classList.add('header-collapse-condense-inactive');
13919
- headerEl.setAttribute('aria-hidden', 'true');
13940
+ /**
13941
+ * The small title should only be accessed by screen readers
13942
+ * when the large title collapses into the small title due
13943
+ * to scrolling.
13944
+ *
13945
+ * Originally, the header was given `aria-hidden="true"`
13946
+ * but this caused issues with screen readers not being
13947
+ * able to access any focusable elements within the header.
13948
+ */
13949
+ ionTitles.forEach((ionTitle) => {
13950
+ if (ionTitle) {
13951
+ ionTitle.setAttribute('aria-hidden', 'true');
13952
+ }
13953
+ });
13920
13954
  }
13921
13955
  };
13922
13956
  const scaleLargeTitles = (toolbars = [], scale = 1, transition = false) => {
@@ -17812,8 +17846,22 @@ class Menu {
17812
17846
  }
17813
17847
  beforeAnimation(shouldOpen, role) {
17814
17848
  assert(!this.isAnimating, '_before() should not be called while animating');
17815
- // add aria-hidden to the menu
17816
- this.el.setAttribute('aria-hidden', 'true');
17849
+ /**
17850
+ * When the menu is presented on an Android device, TalkBack's focus rings
17851
+ * may appear in the wrong position due to the transition (specifically
17852
+ * `transform` styles). This occurs because the focus rings are initially
17853
+ * displayed at the starting position of the elements before the transition
17854
+ * begins. This workaround ensures the focus rings do not appear in the
17855
+ * incorrect location.
17856
+ *
17857
+ * If this solution is applied to iOS devices, then it leads to a bug where
17858
+ * the overlays cannot be accessed by screen readers. This is due to
17859
+ * VoiceOver not being able to update the accessibility tree when the
17860
+ * `aria-hidden` is removed.
17861
+ */
17862
+ if (isPlatform('android')) {
17863
+ this.el.setAttribute('aria-hidden', 'true');
17864
+ }
17817
17865
  // this places the menu into the correct location before it animates in
17818
17866
  // this css class doesn't actually kick off any animations
17819
17867
  this.el.classList.add(SHOW_MENU);
@@ -17866,10 +17914,18 @@ class Menu {
17866
17914
  this.blocker.unblock();
17867
17915
  }
17868
17916
  if (isOpen) {
17917
+ /**
17918
+ * When the menu is presented on an Android device, TalkBack's focus rings
17919
+ * may appear in the wrong position due to the transition (specifically
17920
+ * `transform` styles). The menu is hidden from screen readers during the
17921
+ * transition to prevent this. Once the transition is complete, the menu
17922
+ * is shown again.
17923
+ */
17924
+ if (isPlatform('android')) {
17925
+ this.el.removeAttribute('aria-hidden');
17926
+ }
17869
17927
  // emit open event
17870
17928
  this.ionDidOpen.emit();
17871
- // remove aria-hidden from menu
17872
- this.el.removeAttribute('aria-hidden');
17873
17929
  /**
17874
17930
  * Move focus to the menu to prepare focus trapping, as long as
17875
17931
  * it isn't already focused. Use the host element instead of the
@@ -17950,14 +18006,14 @@ class Menu {
17950
18006
  * the ionBackButton listener in the menu controller
17951
18007
  * will handle closing the menu when Escape is pressed.
17952
18008
  */
17953
- return (hAsync(Host, { key: 'b06d57136c3197032dec883c1f2ef1f45038a66e', onKeyDown: shouldUseCloseWatcher() ? null : this.onKeydown, role: "navigation", "aria-label": inheritedAttributes['aria-label'] || 'menu', class: {
18009
+ return (hAsync(Host, { key: 'da96fdb4c5ddf60e615cc4cdda7ccdb3fd7e089b', onKeyDown: shouldUseCloseWatcher() ? null : this.onKeydown, role: "navigation", "aria-label": inheritedAttributes['aria-label'] || 'menu', class: {
17954
18010
  [mode]: true,
17955
18011
  [`menu-type-${type}`]: true,
17956
18012
  'menu-enabled': !disabled,
17957
18013
  [`menu-side-${side}`]: true,
17958
18014
  'menu-pane-visible': isPaneVisible,
17959
18015
  'split-pane-side': hostContext('ion-split-pane', el),
17960
- } }, hAsync("div", { key: '914b7fa60640738d24e5cccb8e6dacc3f2660663', class: "menu-inner", part: "container", ref: (el) => (this.menuInnerEl = el) }, hAsync("slot", { key: '8735e03f6545d0d0d8df5e51953bbb9e85c53d63' })), hAsync("ion-backdrop", { key: 'b829bd8977c31904c31ec0809461a778e25b5faa', ref: (el) => (this.backdropEl = el), class: "menu-backdrop", tappable: false, stopPropagation: false, part: "backdrop" })));
18016
+ } }, hAsync("div", { key: '894e680fe227534711128c7aca980964ddb5a08a', class: "menu-inner", part: "container", ref: (el) => (this.menuInnerEl = el) }, hAsync("slot", { key: 'e9f5934518dc0cceaeadf1f2820614595fec6bc9' })), hAsync("ion-backdrop", { key: '7282077817657b1bb6c155f1404c0a519fece993', ref: (el) => (this.backdropEl = el), class: "menu-backdrop", tappable: false, stopPropagation: false, part: "backdrop" })));
17961
18017
  }
17962
18018
  get el() { return getElement(this); }
17963
18019
  static get watchers() { return {
@@ -24822,11 +24878,16 @@ class RadioGroup {
24822
24878
  }
24823
24879
  }
24824
24880
  }
24881
+ /** @internal */
24882
+ async setFocus() {
24883
+ const radioToFocus = this.getRadios().find((r) => r.tabIndex !== -1);
24884
+ radioToFocus === null || radioToFocus === void 0 ? void 0 : radioToFocus.setFocus();
24885
+ }
24825
24886
  render() {
24826
24887
  const { label, labelId, el, name, value } = this;
24827
24888
  const mode = getIonMode$1(this);
24828
24889
  renderHiddenInput(true, el, name, value, false);
24829
- return hAsync(Host, { key: '99f543b9caa8e2d30a80e7ea7ecf6b6fdacc76eb', role: "radiogroup", "aria-labelledby": label ? labelId : null, onClick: this.onClick, class: mode });
24890
+ return hAsync(Host, { key: 'a853e38901f0f4ba17bbf21ebb5da5b5c20b327e', role: "radiogroup", "aria-labelledby": label ? labelId : null, onClick: this.onClick, class: mode });
24830
24891
  }
24831
24892
  get el() { return getElement(this); }
24832
24893
  static get watchers() { return {
@@ -24839,7 +24900,8 @@ class RadioGroup {
24839
24900
  "allowEmptySelection": [4, "allow-empty-selection"],
24840
24901
  "compareWith": [1, "compare-with"],
24841
24902
  "name": [1],
24842
- "value": [1032]
24903
+ "value": [1032],
24904
+ "setFocus": [64]
24843
24905
  },
24844
24906
  "$listeners$": [[4, "keydown", "onKeydown"]],
24845
24907
  "$lazyBundleId$": "-",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ionic/core",
3
- "version": "8.4.1-dev.11732235436.1dec59cf",
3
+ "version": "8.4.1-dev.11732305980.19d90e1c",
4
4
  "description": "Base components for Ionic",
5
5
  "keywords": [
6
6
  "ionic",
@@ -1,4 +0,0 @@
1
- import{__awaiter,__generator,__spreadArray}from"tslib";
2
- /*!
3
- * (C) Ionic http://ionicframework.com - MIT License
4
- */import{d as doc}from"./index-a5d50daf.js";import{f as focusVisibleElement,c as componentOnReady,a as addEventListener,b as removeEventListener,g as getElementRoot}from"./helpers-da915de8.js";import{OVERLAY_BACK_BUTTON_PRIORITY,shouldUseCloseWatcher}from"./hardware-back-button-06ef3c3e.js";import{b as getIonMode,c as config}from"./ionic-global-c81d82ab.js";import{C as CoreDelegate}from"./framework-delegate-63d1a679.js";import{B as BACKDROP_NO_SCROLL}from"./gesture-controller-314a54f6.js";import{p as printIonWarning}from"./index-9b0d46f4.js";var focusableQueryString='[tabindex]:not([tabindex^="-"]):not([hidden]):not([disabled]), input:not([type=hidden]):not([tabindex^="-"]):not([hidden]):not([disabled]), textarea:not([tabindex^="-"]):not([hidden]):not([disabled]), button:not([tabindex^="-"]):not([hidden]):not([disabled]), select:not([tabindex^="-"]):not([hidden]):not([disabled]), .ion-focusable:not([tabindex^="-"]):not([hidden]):not([disabled]), .ion-focusable[disabled="false"]:not([tabindex^="-"]):not([hidden])';var focusFirstDescendant=function(e,n){var r=e.querySelector(focusableQueryString);focusElementInContext(r,n!==null&&n!==void 0?n:e)};var focusLastDescendant=function(e,n){var r=Array.from(e.querySelectorAll(focusableQueryString));var t=r.length>0?r[r.length-1]:null;focusElementInContext(t,n!==null&&n!==void 0?n:e)};var focusElementInContext=function(e,n){var r=e;var t=e===null||e===void 0?void 0:e.shadowRoot;if(t){r=t.querySelector(focusableQueryString)||e}if(r){focusVisibleElement(r)}else{n.focus()}};var lastOverlayIndex=0;var lastId=0;var activeAnimations=new WeakMap;var createController=function(e){return{create:function(n){return createOverlay(e,n)},dismiss:function(n,r,t){return dismissOverlay(document,n,r,e,t)},getTop:function(){return __awaiter(this,void 0,void 0,(function(){return __generator(this,(function(n){return[2,getPresentedOverlay(document,e)]}))}))}}};var alertController=createController("ion-alert");var actionSheetController=createController("ion-action-sheet");var loadingController=createController("ion-loading");var modalController=createController("ion-modal");var pickerController=createController("ion-picker-legacy");var popoverController=createController("ion-popover");var toastController=createController("ion-toast");var prepareOverlay=function(e){if(typeof document!=="undefined"){connectListeners(document)}var n=lastOverlayIndex++;e.overlayIndex=n};var setOverlayId=function(e){if(!e.hasAttribute("id")){e.id="ion-overlay-".concat(++lastId)}return e.id};var createOverlay=function(e,n){if(typeof window!=="undefined"&&typeof window.customElements!=="undefined"){return window.customElements.whenDefined(e).then((function(){var r=document.createElement(e);r.classList.add("overlay-hidden");Object.assign(r,Object.assign(Object.assign({},n),{hasController:true}));getAppRoot(document).appendChild(r);return new Promise((function(e){return componentOnReady(r,e)}))}))}return Promise.resolve()};var isOverlayHidden=function(e){return e.classList.contains("overlay-hidden")};var focusElementInOverlay=function(e,n){var r=e;var t=e===null||e===void 0?void 0:e.shadowRoot;if(t){r=t.querySelector(focusableQueryString)||e}if(r){focusVisibleElement(r)}else{n.focus()}};var trapKeyboardFocus=function(e,n){var r=getPresentedOverlay(n,"ion-alert,ion-action-sheet,ion-loading,ion-modal,ion-picker-legacy,ion-popover");var t=e.target;if(!r||!t){return}if(r.classList.contains(FOCUS_TRAP_DISABLE_CLASS)){return}var o=function(){if(r===t){r.lastFocus=undefined}else if(t.tagName==="ION-TOAST"){focusElementInOverlay(r.lastFocus,r)}else{var e=getElementRoot(r);if(!e.contains(t)){return}var o=e.querySelector(".ion-overlay-wrapper");if(!o){return}if(o.contains(t)||t===e.querySelector("ion-backdrop")){r.lastFocus=t}else{var a=r.lastFocus;focusFirstDescendant(o,r);if(a===n.activeElement){focusLastDescendant(o,r)}r.lastFocus=n.activeElement}}};var a=function(){if(r.contains(t)){r.lastFocus=t}else if(t.tagName==="ION-TOAST"){focusElementInOverlay(r.lastFocus,r)}else{var e=r.lastFocus;focusFirstDescendant(r);if(e===n.activeElement){focusLastDescendant(r)}r.lastFocus=n.activeElement}};if(r.shadowRoot){a()}else{o()}};var connectListeners=function(e){if(lastOverlayIndex===0){lastOverlayIndex=1;e.addEventListener("focus",(function(n){trapKeyboardFocus(n,e)}),true);e.addEventListener("ionBackButton",(function(n){var r=getPresentedOverlay(e);if(r===null||r===void 0?void 0:r.backdropDismiss){n.detail.register(OVERLAY_BACK_BUTTON_PRIORITY,(function(){r.dismiss(undefined,BACKDROP)}))}}));if(!shouldUseCloseWatcher()){e.addEventListener("keydown",(function(n){if(n.key==="Escape"){var r=getPresentedOverlay(e);if(r===null||r===void 0?void 0:r.backdropDismiss){r.dismiss(undefined,BACKDROP)}}}))}}};var dismissOverlay=function(e,n,r,t,o){var a=getPresentedOverlay(e,t,o);if(!a){return Promise.reject("overlay does not exist")}return a.dismiss(n,r)};var getOverlays=function(e,n){if(n===undefined){n="ion-alert,ion-action-sheet,ion-loading,ion-modal,ion-picker-legacy,ion-popover,ion-toast"}return Array.from(e.querySelectorAll(n)).filter((function(e){return e.overlayIndex>0}))};var getPresentedOverlays=function(e,n){return getOverlays(e,n).filter((function(e){return!isOverlayHidden(e)}))};var getPresentedOverlay=function(e,n,r){var t=getPresentedOverlays(e,n);return r===undefined?t[t.length-1]:t.find((function(e){return e.id===r}))};var setRootAriaHidden=function(e){if(e===void 0){e=false}var n=getAppRoot(document);var r=n.querySelector("ion-router-outlet, ion-nav, #ion-view-container-root");if(!r){return}if(e){r.setAttribute("aria-hidden","true")}else{r.removeAttribute("aria-hidden")}};var present=function(e,n,r,t,o){return __awaiter(void 0,void 0,void 0,(function(){var a,i,d,s,u;return __generator(this,(function(l){switch(l.label){case 0:if(e.presented){return[2]}if(e.el.tagName!=="ION-TOAST"){setRootAriaHidden(true)}document.body.classList.add(BACKDROP_NO_SCROLL);hideUnderlyingOverlaysFromScreenReaders(e.el);hideAnimatingOverlayFromScreenReaders(e.el);e.presented=true;e.willPresent.emit();(a=e.willPresentShorthand)===null||a===void 0?void 0:a.emit();d=getIonMode(e);s=e.enterAnimation?e.enterAnimation:config.get(n,d==="ios"?r:t);return[4,overlayAnimation(e,s,e.el,o)];case 1:u=l.sent();if(u){e.didPresent.emit();(i=e.didPresentShorthand)===null||i===void 0?void 0:i.emit()}if(e.el.tagName!=="ION-TOAST"){restoreElementFocus(e.el)}if(e.keyboardClose&&(document.activeElement===null||!e.el.contains(document.activeElement))){e.el.focus()}e.el.removeAttribute("aria-hidden");return[2]}}))}))};var restoreElementFocus=function(e){return __awaiter(void 0,void 0,void 0,(function(){var n,r;return __generator(this,(function(t){switch(t.label){case 0:n=document.activeElement;if(!n){return[2]}r=n===null||n===void 0?void 0:n.shadowRoot;if(r){n=r.querySelector(focusableQueryString)||n}return[4,e.onDidDismiss()];case 1:t.sent();if(document.activeElement===null||document.activeElement===document.body){n.focus()}return[2]}}))}))};var dismiss=function(e,n,r,t,o,a,i){return __awaiter(void 0,void 0,void 0,(function(){var d,s,u,l,c,v,f,m;return __generator(this,(function(O){switch(O.label){case 0:if(!e.presented){return[2,false]}u=doc!==undefined?getPresentedOverlays(doc).filter((function(e){return e.tagName!=="ION-TOAST"})):[];l=u.length===1&&u[0].id===e.el.id;if(l){setRootAriaHidden(false);document.body.classList.remove(BACKDROP_NO_SCROLL)}e.presented=false;O.label=1;case 1:O.trys.push([1,4,,5]);hideAnimatingOverlayFromScreenReaders(e.el);e.el.style.setProperty("pointer-events","none");e.willDismiss.emit({data:n,role:r});(d=e.willDismissShorthand)===null||d===void 0?void 0:d.emit({data:n,role:r});c=getIonMode(e);v=e.leaveAnimation?e.leaveAnimation:config.get(t,c==="ios"?o:a);if(!(r!==GESTURE))return[3,3];return[4,overlayAnimation(e,v,e.el,i)];case 2:O.sent();O.label=3;case 3:e.didDismiss.emit({data:n,role:r});(s=e.didDismissShorthand)===null||s===void 0?void 0:s.emit({data:n,role:r});f=activeAnimations.get(e)||[];f.forEach((function(e){return e.destroy()}));activeAnimations.delete(e);e.el.classList.add("overlay-hidden");e.el.style.removeProperty("pointer-events");if(e.el.lastFocus!==undefined){e.el.lastFocus=undefined}return[3,5];case 4:m=O.sent();console.error(m);return[3,5];case 5:e.el.remove();revealOverlaysToScreenReaders();return[2,true]}}))}))};var getAppRoot=function(e){return e.querySelector("ion-app")||e.body};var overlayAnimation=function(e,n,r,t){return __awaiter(void 0,void 0,void 0,(function(){var o,a,i;return __generator(this,(function(d){switch(d.label){case 0:r.classList.remove("overlay-hidden");o=e.el;a=n(o,t);if(!e.animated||!config.getBoolean("animated",true)){a.duration(0)}if(e.keyboardClose){a.beforeAddWrite((function(){var e=r.ownerDocument.activeElement;if(e===null||e===void 0?void 0:e.matches("input,ion-input, ion-textarea")){e.blur()}}))}i=activeAnimations.get(e)||[];activeAnimations.set(e,__spreadArray(__spreadArray([],i,true),[a],false));return[4,a.play()];case 1:d.sent();return[2,true]}}))}))};var eventMethod=function(e,n){var r;var t=new Promise((function(e){return r=e}));onceEvent(e,n,(function(e){r(e.detail)}));return t};var onceEvent=function(e,n,r){var t=function(o){removeEventListener(e,n,t);r(o)};addEventListener(e,n,t)};var isCancel=function(e){return e==="cancel"||e===BACKDROP};var defaultGate=function(e){return e()};var safeCall=function(e,n){if(typeof e==="function"){var r=config.get("_zoneGate",defaultGate);return r((function(){try{return e(n)}catch(e){throw e}}))}return undefined};var BACKDROP="backdrop";var GESTURE="gesture";var OVERLAY_GESTURE_PRIORITY=39;var createDelegateController=function(e){var n=false;var r;var t=CoreDelegate();var o=function(o){if(o===void 0){o=false}if(r&&!o){return{delegate:r,inline:n}}var a=e.el,i=e.hasController,d=e.delegate;var s=a.parentNode;n=s!==null&&!i;r=n?d||t:d;return{inline:n,delegate:r}};var a=function(n){return __awaiter(void 0,void 0,void 0,(function(){var r,t;return __generator(this,(function(a){switch(a.label){case 0:r=o(true).delegate;if(!r)return[3,2];return[4,r.attachViewToDom(e.el,n)];case 1:return[2,a.sent()];case 2:t=e.hasController;if(t&&n!==undefined){throw new Error("framework delegate is missing")}return[2,null]}}))}))};var i=function(){var n=o().delegate;if(n&&e.el!==undefined){n.removeViewFromDom(e.el.parentElement,e.el)}};return{attachViewToDom:a,removeViewFromDom:i}};var createTriggerController=function(){var e;var n=function(){if(e){e();e=undefined}};var r=function(r,t){n();var o=t!==undefined?document.getElementById(t):null;if(!o){printIonWarning('A trigger element with the ID "'.concat(t,'" was not found in the DOM. The trigger element must be in the DOM when the "trigger" property is set on an overlay component.'),r);return}var a=function(e,n){var r=function(){n.present()};e.addEventListener("click",r);return function(){e.removeEventListener("click",r)}};e=a(o,r)};return{addClickListener:r,removeClickListener:n}};var hideAnimatingOverlayFromScreenReaders=function(e){if(doc===undefined)return;e.setAttribute("aria-hidden","true")};var hideUnderlyingOverlaysFromScreenReaders=function(e){var n;if(doc===undefined)return;var r=getPresentedOverlays(doc);for(var t=r.length-1;t>=0;t--){var o=r[t];var a=(n=r[t+1])!==null&&n!==void 0?n:e;if(a.hasAttribute("aria-hidden")||a.tagName!=="ION-TOAST"){o.setAttribute("aria-hidden","true")}}};var revealOverlaysToScreenReaders=function(){if(doc===undefined)return;var e=getPresentedOverlays(doc);for(var n=e.length-1;n>=0;n--){var r=e[n];r.removeAttribute("aria-hidden");if(r.tagName!=="ION-TOAST"){break}}};var FOCUS_TRAP_DISABLE_CLASS="ion-disable-focus-trap";export{BACKDROP as B,FOCUS_TRAP_DISABLE_CLASS as F,GESTURE as G,OVERLAY_GESTURE_PRIORITY as O,alertController as a,actionSheetController as b,popoverController as c,createDelegateController as d,createTriggerController as e,present as f,dismiss as g,eventMethod as h,isCancel as i,prepareOverlay as j,setOverlayId as k,loadingController as l,modalController as m,focusFirstDescendant as n,getPresentedOverlay as o,pickerController as p,focusLastDescendant as q,safeCall as s,toastController as t};
@@ -1,4 +0,0 @@
1
- var __awaiter=this&&this.__awaiter||function(n,e,r,i){function t(n){return n instanceof r?n:new r((function(e){e(n)}))}return new(r||(r=Promise))((function(r,o){function a(n){try{f(i.next(n))}catch(n){o(n)}}function u(n){try{f(i["throw"](n))}catch(n){o(n)}}function f(n){n.done?r(n.value):t(n.value).then(a,u)}f((i=i.apply(n,e||[])).next())}))};var __generator=this&&this.__generator||function(n,e){var r={label:0,sent:function(){if(o[0]&1)throw o[1];return o[1]},trys:[],ops:[]},i,t,o,a;return a={next:u(0),throw:u(1),return:u(2)},typeof Symbol==="function"&&(a[Symbol.iterator]=function(){return this}),a;function u(n){return function(e){return f([n,e])}}function f(u){if(i)throw new TypeError("Generator is already executing.");while(a&&(a=0,u[0]&&(r=0)),r)try{if(i=1,t&&(o=u[0]&2?t["return"]:u[0]?t["throw"]||((o=t["return"])&&o.call(t),0):t.next)&&!(o=o.call(t,u[1])).done)return o;if(t=0,o)u=[u[0]&2,o.value];switch(u[0]){case 0:case 1:o=u;break;case 4:r.label++;return{value:u[1],done:false};case 5:r.label++;t=u[1];u=[0];continue;case 7:u=r.ops.pop();r.trys.pop();continue;default:if(!(o=r.trys,o=o.length>0&&o[o.length-1])&&(u[0]===6||u[0]===2)){r=0;continue}if(u[0]===3&&(!o||u[1]>o[0]&&u[1]<o[3])){r.label=u[1];break}if(u[0]===6&&r.label<o[1]){r.label=o[1];o=u;break}if(o&&r.label<o[2]){r.label=o[2];r.ops.push(u);break}if(o[2])r.ops.pop();r.trys.pop();continue}u=e.call(n,r)}catch(n){u=[6,n];t=0}finally{i=o=0}if(u[0]&5)throw u[1];return{value:u[0]?u[1]:void 0,done:true}}};var __spreadArray=this&&this.__spreadArray||function(n,e,r){if(r||arguments.length===2)for(var i=0,t=e.length,o;i<t;i++){if(o||!(i in e)){if(!o)o=Array.prototype.slice.call(e,0,i);o[i]=e[i]}}return n.concat(o||Array.prototype.slice.call(e))};
2
- /*!
3
- * (C) Ionic http://ionicframework.com - MIT License
4
- */System.register(["./p-792919fd.system.js","./p-3ad285e3.system.js","./p-9f3008d4.system.js","./p-a69b9fc5.system.js","./p-8635f5e6.system.js","./p-20d469d0.system.js","./p-ff4b7e40.system.js"],(function(n){"use strict";var e,r,i,t,o,a,u,f,d,c,v,s,l;return{setters:[function(n){e=n.d},function(n){r=n.f;i=n.c;t=n.a;o=n.b;a=n.g},function(n){u=n.OVERLAY_BACK_BUTTON_PRIORITY;f=n.shouldUseCloseWatcher},function(n){d=n.b;c=n.c},function(n){v=n.C},function(n){s=n.B},function(n){l=n.p}],execute:function(){var h=this;var m='[tabindex]:not([tabindex^="-"]):not([hidden]):not([disabled]), input:not([type=hidden]):not([tabindex^="-"]):not([hidden]):not([disabled]), textarea:not([tabindex^="-"]):not([hidden]):not([disabled]), button:not([tabindex^="-"]):not([hidden]):not([disabled]), select:not([tabindex^="-"]):not([hidden]):not([disabled]), .ion-focusable:not([tabindex^="-"]):not([hidden]):not([disabled]), .ion-focusable[disabled="false"]:not([tabindex^="-"]):not([hidden])';var p=n("n",(function(n,e){var r=n.querySelector(m);w(r,e!==null&&e!==void 0?e:n)}));var y=n("q",(function(n,e){var r=Array.from(n.querySelectorAll(m));var i=r.length>0?r[r.length-1]:null;w(i,e!==null&&e!==void 0?e:n)}));var w=function(n,e){var i=n;var t=n===null||n===void 0?void 0:n.shadowRoot;if(t){i=t.querySelector(m)||n}if(i){r(i)}else{e.focus()}};var b=0;var _=0;var g=new WeakMap;var O=function(n){return{create:function(e){return P(n,e)},dismiss:function(e,r,i){return M(document,e,r,n,i)},getTop:function(){return __awaiter(this,void 0,void 0,(function(){return __generator(this,(function(e){return[2,V(document,n)]}))}))}}};var k=n("a",O("ion-alert"));var T=n("b",O("ion-action-sheet"));var A=n("l",O("ion-loading"));var x=n("m",O("ion-modal"));var j=n("p",O("ion-picker-legacy"));var S=n("c",O("ion-popover"));var I=n("t",O("ion-toast"));var N=n("j",(function(n){if(typeof document!=="undefined"){G(document)}var e=b++;n.overlayIndex=e}));var D=n("k",(function(n){if(!n.hasAttribute("id")){n.id="ion-overlay-".concat(++_)}return n.id}));var P=function(n,e){if(typeof window!=="undefined"&&typeof window.customElements!=="undefined"){return window.customElements.whenDefined(n).then((function(){var r=document.createElement(n);r.classList.add("overlay-hidden");Object.assign(r,Object.assign(Object.assign({},e),{hasController:true}));J(document).appendChild(r);return new Promise((function(n){return i(r,n)}))}))}return Promise.resolve()};var B=function(n){return n.classList.contains("overlay-hidden")};var C=function(n,e){var i=n;var t=n===null||n===void 0?void 0:n.shadowRoot;if(t){i=t.querySelector(m)||n}if(i){r(i)}else{e.focus()}};var E=function(n,e){var r=V(e,"ion-alert,ion-action-sheet,ion-loading,ion-modal,ion-picker-legacy,ion-popover");var i=n.target;if(!r||!i){return}if(r.classList.contains(un)){return}var t=function(){if(r===i){r.lastFocus=undefined}else if(i.tagName==="ION-TOAST"){C(r.lastFocus,r)}else{var n=a(r);if(!n.contains(i)){return}var t=n.querySelector(".ion-overlay-wrapper");if(!t){return}if(t.contains(i)||i===n.querySelector("ion-backdrop")){r.lastFocus=i}else{var o=r.lastFocus;p(t,r);if(o===e.activeElement){y(t,r)}r.lastFocus=e.activeElement}}};var o=function(){if(r.contains(i)){r.lastFocus=i}else if(i.tagName==="ION-TOAST"){C(r.lastFocus,r)}else{var n=r.lastFocus;p(r);if(n===e.activeElement){y(r)}r.lastFocus=e.activeElement}};if(r.shadowRoot){o()}else{t()}};var G=function(n){if(b===0){b=1;n.addEventListener("focus",(function(e){E(e,n)}),true);n.addEventListener("ionBackButton",(function(e){var r=V(n);if(r===null||r===void 0?void 0:r.backdropDismiss){e.detail.register(u,(function(){r.dismiss(undefined,Z)}))}}));if(!f()){n.addEventListener("keydown",(function(e){if(e.key==="Escape"){var r=V(n);if(r===null||r===void 0?void 0:r.backdropDismiss){r.dismiss(undefined,Z)}}}))}}};var M=function(n,e,r,i,t){var o=V(n,i,t);if(!o){return Promise.reject("overlay does not exist")}return o.dismiss(e,r)};var F=function(n,e){if(e===undefined){e="ion-alert,ion-action-sheet,ion-loading,ion-modal,ion-picker-legacy,ion-popover,ion-toast"}return Array.from(n.querySelectorAll(e)).filter((function(n){return n.overlayIndex>0}))};var L=function(n,e){return F(n,e).filter((function(n){return!B(n)}))};var V=n("o",(function(n,e,r){var i=L(n,e);return r===undefined?i[i.length-1]:i.find((function(n){return n.id===r}))}));var q=function(n){if(n===void 0){n=false}var e=J(document);var r=e.querySelector("ion-router-outlet, ion-nav, #ion-view-container-root");if(!r){return}if(n){r.setAttribute("aria-hidden","true")}else{r.removeAttribute("aria-hidden")}};var z=n("f",(function(n,e,r,i,t){return __awaiter(h,void 0,void 0,(function(){var o,a,u,f,v;return __generator(this,(function(l){switch(l.label){case 0:if(n.presented){return[2]}if(n.el.tagName!=="ION-TOAST"){q(true)}document.body.classList.add(s);on(n.el);tn(n.el);n.presented=true;n.willPresent.emit();(o=n.willPresentShorthand)===null||o===void 0?void 0:o.emit();u=d(n);f=n.enterAnimation?n.enterAnimation:c.get(e,u==="ios"?r:i);return[4,K(n,f,n.el,t)];case 1:v=l.sent();if(v){n.didPresent.emit();(a=n.didPresentShorthand)===null||a===void 0?void 0:a.emit()}if(n.el.tagName!=="ION-TOAST"){W(n.el)}if(n.keyboardClose&&(document.activeElement===null||!n.el.contains(document.activeElement))){n.el.focus()}n.el.removeAttribute("aria-hidden");return[2]}}))}))}));var W=function(n){return __awaiter(h,void 0,void 0,(function(){var e,r;return __generator(this,(function(i){switch(i.label){case 0:e=document.activeElement;if(!e){return[2]}r=e===null||e===void 0?void 0:e.shadowRoot;if(r){e=r.querySelector(m)||e}return[4,n.onDidDismiss()];case 1:i.sent();if(document.activeElement===null||document.activeElement===document.body){e.focus()}return[2]}}))}))};var H=n("g",(function(n,r,i,t,o,a,u){return __awaiter(h,void 0,void 0,(function(){var f,v,l,h,m,p,y,w;return __generator(this,(function(b){switch(b.label){case 0:if(!n.presented){return[2,false]}l=e!==undefined?L(e).filter((function(n){return n.tagName!=="ION-TOAST"})):[];h=l.length===1&&l[0].id===n.el.id;if(h){q(false);document.body.classList.remove(s)}n.presented=false;b.label=1;case 1:b.trys.push([1,4,,5]);tn(n.el);n.el.style.setProperty("pointer-events","none");n.willDismiss.emit({data:r,role:i});(f=n.willDismissShorthand)===null||f===void 0?void 0:f.emit({data:r,role:i});m=d(n);p=n.leaveAnimation?n.leaveAnimation:c.get(t,m==="ios"?o:a);if(!(i!==$))return[3,3];return[4,K(n,p,n.el,u)];case 2:b.sent();b.label=3;case 3:n.didDismiss.emit({data:r,role:i});(v=n.didDismissShorthand)===null||v===void 0?void 0:v.emit({data:r,role:i});y=g.get(n)||[];y.forEach((function(n){return n.destroy()}));g.delete(n);n.el.classList.add("overlay-hidden");n.el.style.removeProperty("pointer-events");if(n.el.lastFocus!==undefined){n.el.lastFocus=undefined}return[3,5];case 4:w=b.sent();console.error(w);return[3,5];case 5:n.el.remove();an();return[2,true]}}))}))}));var J=function(n){return n.querySelector("ion-app")||n.body};var K=function(n,e,r,i){return __awaiter(h,void 0,void 0,(function(){var t,o,a;return __generator(this,(function(u){switch(u.label){case 0:r.classList.remove("overlay-hidden");t=n.el;o=e(t,i);if(!n.animated||!c.getBoolean("animated",true)){o.duration(0)}if(n.keyboardClose){o.beforeAddWrite((function(){var n=r.ownerDocument.activeElement;if(n===null||n===void 0?void 0:n.matches("input,ion-input, ion-textarea")){n.blur()}}))}a=g.get(n)||[];g.set(n,__spreadArray(__spreadArray([],a,true),[o],false));return[4,o.play()];case 1:u.sent();return[2,true]}}))}))};var Q=n("h",(function(n,e){var r;var i=new Promise((function(n){return r=n}));R(n,e,(function(n){r(n.detail)}));return i}));var R=function(n,e,r){var i=function(t){o(n,e,i);r(t)};t(n,e,i)};var U=n("i",(function(n){return n==="cancel"||n===Z}));var X=function(n){return n()};var Y=n("s",(function(n,e){if(typeof n==="function"){var r=c.get("_zoneGate",X);return r((function(){try{return n(e)}catch(n){throw n}}))}return undefined}));var Z=n("B","backdrop");var $=n("G","gesture");var nn=n("O",39);var en=n("d",(function(n){var e=false;var r;var i=v();var t=function(t){if(t===void 0){t=false}if(r&&!t){return{delegate:r,inline:e}}var o=n.el,a=n.hasController,u=n.delegate;var f=o.parentNode;e=f!==null&&!a;r=e?u||i:u;return{inline:e,delegate:r}};var o=function(e){return __awaiter(h,void 0,void 0,(function(){var r,i;return __generator(this,(function(o){switch(o.label){case 0:r=t(true).delegate;if(!r)return[3,2];return[4,r.attachViewToDom(n.el,e)];case 1:return[2,o.sent()];case 2:i=n.hasController;if(i&&e!==undefined){throw new Error("framework delegate is missing")}return[2,null]}}))}))};var a=function(){var e=t().delegate;if(e&&n.el!==undefined){e.removeViewFromDom(n.el.parentElement,n.el)}};return{attachViewToDom:o,removeViewFromDom:a}}));var rn=n("e",(function(){var n;var e=function(){if(n){n();n=undefined}};var r=function(r,i){e();var t=i!==undefined?document.getElementById(i):null;if(!t){l('A trigger element with the ID "'.concat(i,'" was not found in the DOM. The trigger element must be in the DOM when the "trigger" property is set on an overlay component.'),r);return}var o=function(n,e){var r=function(){e.present()};n.addEventListener("click",r);return function(){n.removeEventListener("click",r)}};n=o(t,r)};return{addClickListener:r,removeClickListener:e}}));var tn=function(n){if(e===undefined)return;n.setAttribute("aria-hidden","true")};var on=function(n){var r;if(e===undefined)return;var i=L(e);for(var t=i.length-1;t>=0;t--){var o=i[t];var a=(r=i[t+1])!==null&&r!==void 0?r:n;if(a.hasAttribute("aria-hidden")||a.tagName!=="ION-TOAST"){o.setAttribute("aria-hidden","true")}}};var an=function(){if(e===undefined)return;var n=L(e);for(var r=n.length-1;r>=0;r--){var i=n[r];i.removeAttribute("aria-hidden");if(i.tagName!=="ION-TOAST"){break}}};var un=n("F","ion-disable-focus-trap")}}}));
@@ -1,4 +0,0 @@
1
- /*!
2
- * (C) Ionic http://ionicframework.com - MIT License
3
- */
4
- import{d as e}from"./p-7b30edcc.js";import{f as n,c as o,a as t,b as i,g as a}from"./p-b51e4004.js";import{OVERLAY_BACK_BUTTON_PRIORITY as r,shouldUseCloseWatcher as d}from"./p-ecceeb90.js";import{b as s,c as l}from"./p-0574e87e.js";import{C as c}from"./p-3cc276f4.js";import{B as u}from"./p-9b97df10.js";import{p as m}from"./p-06fee233.js";const p='[tabindex]:not([tabindex^="-"]):not([hidden]):not([disabled]), input:not([type=hidden]):not([tabindex^="-"]):not([hidden]):not([disabled]), textarea:not([tabindex^="-"]):not([hidden]):not([disabled]), button:not([tabindex^="-"]):not([hidden]):not([disabled]), select:not([tabindex^="-"]):not([hidden]):not([disabled]), .ion-focusable:not([tabindex^="-"]):not([hidden]):not([disabled]), .ion-focusable[disabled="false"]:not([tabindex^="-"]):not([hidden])',v=(e,n)=>{const o=e.querySelector(p);h(o,null!=n?n:e)},f=(e,n)=>{const o=Array.from(e.querySelectorAll(p));h(o.length>0?o[o.length-1]:null,null!=n?n:e)},h=(e,o)=>{let t=e;const i=null==e?void 0:e.shadowRoot;i&&(t=i.querySelector(p)||e),t?n(t):o.focus()};let b=0,y=0;const w=new WeakMap,g=e=>({create:n=>C(e,n),dismiss:(n,o,t)=>P(document,n,o,e,t),getTop:async()=>E(document,e)}),O=g("ion-alert"),T=g("ion-action-sheet"),k=g("ion-loading"),x=g("ion-modal"),j=g("ion-picker-legacy"),A=g("ion-popover"),I=g("ion-toast"),N=e=>{"undefined"!=typeof document&&B(document);const n=b++;e.overlayIndex=n},S=e=>(e.hasAttribute("id")||(e.id="ion-overlay-"+ ++y),e.id),C=(e,n)=>"undefined"!=typeof window&&void 0!==window.customElements?window.customElements.whenDefined(e).then((()=>{const t=document.createElement(e);return t.classList.add("overlay-hidden"),Object.assign(t,Object.assign(Object.assign({},n),{hasController:!0})),q(document).appendChild(t),new Promise((e=>o(t,e)))})):Promise.resolve(),D=(e,o)=>{let t=e;const i=null==e?void 0:e.shadowRoot;i&&(t=i.querySelector(p)||e),t?n(t):o.focus()},B=e=>{0===b&&(b=1,e.addEventListener("focus",(n=>{((e,n)=>{const o=E(n,"ion-alert,ion-action-sheet,ion-loading,ion-modal,ion-picker-legacy,ion-popover"),t=e.target;o&&t&&(o.classList.contains(ne)||(o.shadowRoot?(()=>{if(o.contains(t))o.lastFocus=t;else if("ION-TOAST"===t.tagName)D(o.lastFocus,o);else{const e=o.lastFocus;v(o),e===n.activeElement&&f(o),o.lastFocus=n.activeElement}})():(()=>{if(o===t)o.lastFocus=void 0;else if("ION-TOAST"===t.tagName)D(o.lastFocus,o);else{const e=a(o);if(!e.contains(t))return;const i=e.querySelector(".ion-overlay-wrapper");if(!i)return;if(i.contains(t)||t===e.querySelector("ion-backdrop"))o.lastFocus=t;else{const e=o.lastFocus;v(i,o),e===n.activeElement&&f(i,o),o.lastFocus=n.activeElement}}})()))})(n,e)}),!0),e.addEventListener("ionBackButton",(n=>{const o=E(e);(null==o?void 0:o.backdropDismiss)&&n.detail.register(r,(()=>{o.dismiss(void 0,K)}))})),d()||e.addEventListener("keydown",(n=>{if("Escape"===n.key){const n=E(e);(null==n?void 0:n.backdropDismiss)&&n.dismiss(void 0,K)}})))},P=(e,n,o,t,i)=>{const a=E(e,t,i);return a?a.dismiss(n,o):Promise.reject("overlay does not exist")},M=(e,n)=>((e,n)=>(void 0===n&&(n="ion-alert,ion-action-sheet,ion-loading,ion-modal,ion-picker-legacy,ion-popover,ion-toast"),Array.from(e.querySelectorAll(n)).filter((e=>e.overlayIndex>0))))(e,n).filter((e=>!e.classList.contains("overlay-hidden"))),E=(e,n,o)=>{const t=M(e,n);return void 0===o?t[t.length-1]:t.find((e=>e.id===o))},F=(e=!1)=>{const n=q(document).querySelector("ion-router-outlet, ion-nav, #ion-view-container-root");n&&(e?n.setAttribute("aria-hidden","true"):n.removeAttribute("aria-hidden"))},G=async(e,n,o,t,i)=>{var a,r;if(e.presented)return;"ION-TOAST"!==e.el.tagName&&F(!0),document.body.classList.add(u),Z(e.el),Y(e.el),e.presented=!0,e.willPresent.emit(),null===(a=e.willPresentShorthand)||void 0===a||a.emit();const d=s(e),c=e.enterAnimation?e.enterAnimation:l.get(n,"ios"===d?o:t);await z(e,c,e.el,i)&&(e.didPresent.emit(),null===(r=e.didPresentShorthand)||void 0===r||r.emit()),"ION-TOAST"!==e.el.tagName&&L(e.el),!e.keyboardClose||null!==document.activeElement&&e.el.contains(document.activeElement)||e.el.focus(),e.el.removeAttribute("aria-hidden")},L=async e=>{let n=document.activeElement;if(!n)return;const o=null==n?void 0:n.shadowRoot;o&&(n=o.querySelector(p)||n),await e.onDidDismiss(),null!==document.activeElement&&document.activeElement!==document.body||n.focus()},V=async(n,o,t,i,a,r,d)=>{var c,m;if(!n.presented)return!1;const p=void 0!==e?M(e).filter((e=>"ION-TOAST"!==e.tagName)):[];1===p.length&&p[0].id===n.el.id&&(F(!1),document.body.classList.remove(u)),n.presented=!1;try{Y(n.el),n.el.style.setProperty("pointer-events","none"),n.willDismiss.emit({data:o,role:t}),null===(c=n.willDismissShorthand)||void 0===c||c.emit({data:o,role:t});const e=s(n),u=n.leaveAnimation?n.leaveAnimation:l.get(i,"ios"===e?a:r);t!==Q&&await z(n,u,n.el,d),n.didDismiss.emit({data:o,role:t}),null===(m=n.didDismissShorthand)||void 0===m||m.emit({data:o,role:t}),(w.get(n)||[]).forEach((e=>e.destroy())),w.delete(n),n.el.classList.add("overlay-hidden"),n.el.style.removeProperty("pointer-events"),void 0!==n.el.lastFocus&&(n.el.lastFocus=void 0)}catch(e){console.error(e)}return n.el.remove(),ee(),!0},q=e=>e.querySelector("ion-app")||e.body,z=async(e,n,o,t)=>{o.classList.remove("overlay-hidden");const i=n(e.el,t);e.animated&&l.getBoolean("animated",!0)||i.duration(0),e.keyboardClose&&i.beforeAddWrite((()=>{const e=o.ownerDocument.activeElement;(null==e?void 0:e.matches("input,ion-input, ion-textarea"))&&e.blur()}));const a=w.get(e)||[];return w.set(e,[...a,i]),await i.play(),!0},W=(e,n)=>{let o;const t=new Promise((e=>o=e));return $(e,n,(e=>{o(e.detail)})),t},$=(e,n,o)=>{const a=t=>{i(e,n,a),o(t)};t(e,n,a)},_=e=>"cancel"===e||e===K,H=e=>e(),J=(e,n)=>{if("function"==typeof e)return l.get("_zoneGate",H)((()=>{try{return e(n)}catch(e){throw e}}))},K="backdrop",Q="gesture",R=39,U=e=>{let n,o=!1;const t=c(),i=(i=!1)=>{if(n&&!i)return{delegate:n,inline:o};const{el:a,hasController:r,delegate:d}=e;return o=null!==a.parentNode&&!r,n=o?d||t:d,{inline:o,delegate:n}};return{attachViewToDom:async n=>{const{delegate:o}=i(!0);if(o)return await o.attachViewToDom(e.el,n);const{hasController:t}=e;if(t&&void 0!==n)throw new Error("framework delegate is missing");return null},removeViewFromDom:()=>{const{delegate:n}=i();n&&void 0!==e.el&&n.removeViewFromDom(e.el.parentElement,e.el)}}},X=()=>{let e;const n=()=>{e&&(e(),e=void 0)};return{addClickListener:(o,t)=>{n();const i=void 0!==t?document.getElementById(t):null;i?e=((e,n)=>{const o=()=>{n.present()};return e.addEventListener("click",o),()=>{e.removeEventListener("click",o)}})(i,o):m(`A trigger element with the ID "${t}" was not found in the DOM. The trigger element must be in the DOM when the "trigger" property is set on an overlay component.`,o)},removeClickListener:n}},Y=n=>{void 0!==e&&n.setAttribute("aria-hidden","true")},Z=n=>{var o;if(void 0===e)return;const t=M(e);for(let e=t.length-1;e>=0;e--){const i=t[e],a=null!==(o=t[e+1])&&void 0!==o?o:n;(a.hasAttribute("aria-hidden")||"ION-TOAST"!==a.tagName)&&i.setAttribute("aria-hidden","true")}},ee=()=>{if(void 0===e)return;const n=M(e);for(let e=n.length-1;e>=0;e--){const o=n[e];if(o.removeAttribute("aria-hidden"),"ION-TOAST"!==o.tagName)break}},ne="ion-disable-focus-trap";export{K as B,ne as F,Q as G,R as O,O as a,T as b,A as c,U as d,X as e,G as f,V as g,W as h,_ as i,N as j,S as k,k as l,x as m,v as n,E as o,j as p,f as q,J as s,I as t}
@@ -1,4 +0,0 @@
1
- /*!
2
- * (C) Ionic http://ionicframework.com - MIT License
3
- */
4
- import{r as t,d as e,h as i,f as n,i as o}from"./p-d836d43e.js";import{g as s}from"./p-2408c236.js";import{o as r,B as a,n as d,q as h,G as l}from"./p-5c831f49.js";import{G as c}from"./p-9b97df10.js";import{shouldUseCloseWatcher as m}from"./p-ecceeb90.js";import{n as p,i as u,m as b,j as f}from"./p-b51e4004.js";import{m as v}from"./p-b82d4cab.js";import{h as g,c as x}from"./p-47794def.js";import{c as w,b as y}from"./p-0574e87e.js";import{u as k,v as z}from"./p-da2b833b.js";import"./p-7b30edcc.js";import"./p-3cc276f4.js";import"./p-06fee233.js";import"./p-c7e16491.js";const C=class{constructor(i){t(this,i),this.ionWillOpen=e(this,"ionWillOpen",7),this.ionWillClose=e(this,"ionWillClose",7),this.ionDidOpen=e(this,"ionDidOpen",7),this.ionDidClose=e(this,"ionDidClose",7),this.ionMenuChange=e(this,"ionMenuChange",7),this.lastOnEnd=0,this.blocker=c.createBlocker({disableScroll:!0}),this.didLoad=!1,this.operationCancelled=!1,this.isAnimating=!1,this._isOpen=!1,this.inheritedAttributes={},this.handleFocus=t=>{const e=r(document);e&&!e.contains(this.el)||this.trapKeyboardFocus(t,document)},this.isPaneVisible=!1,this.isEndSide=!1,this.contentId=void 0,this.menuId=void 0,this.type=void 0,this.disabled=!1,this.side="start",this.swipeGesture=!0,this.maxEdgeStart=50}typeChanged(t,e){const i=this.contentEl;i&&(void 0!==e&&i.classList.remove(`menu-content-${e}`),i.classList.add(`menu-content-${t}`),i.removeAttribute("style")),this.menuInnerEl&&this.menuInnerEl.removeAttribute("style"),this.animation=void 0}disabledChanged(){this.updateState(),this.ionMenuChange.emit({disabled:this.disabled,open:this._isOpen})}sideChanged(){this.isEndSide=p(this.side),this.animation=void 0}swipeGestureChanged(){this.updateState()}async connectedCallback(){"undefined"!=typeof customElements&&null!=customElements&&await customElements.whenDefined("ion-menu"),void 0===this.type&&(this.type=w.get("menuType","overlay"));const t=void 0!==this.contentId?document.getElementById(this.contentId):null;null!==t?(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,void 0),this.sideChanged(),v._register(this),this.menuChanged(),this.gesture=(await import("./p-8ededb41.js")).createGesture({el:document,gestureName:"menu-swipe",gesturePriority:30,threshold:10,blurOnStart:!0,canStart:t=>this.canStart(t),onWillStart:()=>this.onWillStart(),onStart:()=>this.onStart(),onMove:t=>this.onMove(t),onEnd:t=>this.onEnd(t)}),this.updateState()):console.error('Menu: must have a "content" element to listen for drag events on.')}componentWillLoad(){this.inheritedAttributes=u(this.el)}async componentDidLoad(){this.didLoad=!0;const t=this.el.closest("ion-split-pane");null!==t&&(this.isPaneVisible=await t.isVisible()),this.menuChanged(),this.updateState()}menuChanged(){this.didLoad&&this.ionMenuChange.emit({disabled:this.disabled,open:this._isOpen})}async disconnectedCallback(){await this.close(!1),this.blocker.destroy(),v._unregister(this),this.animation&&this.animation.destroy(),this.gesture&&(this.gesture.destroy(),this.gesture=void 0),this.animation=void 0,this.contentEl=void 0}onSplitPaneChanged(t){const e=this.el.closest("ion-split-pane");null!==e&&e===t.target&&(this.isPaneVisible=t.detail.visible,this.updateState())}onBackdropClick(t){this._isOpen&&this.lastOnEnd<t.timeStamp-100&&t.composedPath&&!t.composedPath().includes(this.menuInnerEl)&&(t.preventDefault(),t.stopPropagation(),this.close(void 0,a))}onKeydown(t){"Escape"===t.key&&this.close(void 0,a)}isOpen(){return Promise.resolve(this._isOpen)}isActive(){return Promise.resolve(this._isActive())}open(t=!0){return this.setOpen(!0,t)}close(t=!0,e){return this.setOpen(!1,t,e)}toggle(t=!0){return this.setOpen(!this._isOpen,t)}setOpen(t,e=!0,i){return v._setOpen(this,t,e,i)}trapKeyboardFocus(t,e){const i=t.target;if(i)if(this.el.contains(i))this.lastFocus=i;else{const{el:t}=this;d(t),this.lastFocus===e.activeElement&&h(t)}}async _setOpen(t,e=!0,i){return!(!this._isActive()||this.isAnimating||t===this._isOpen||(this.beforeAnimation(t,i),await this.loadAnimation(),await this.startAnimation(t,e),this.operationCancelled?(this.operationCancelled=!1,1):(this.afterAnimation(t,i),0)))}async loadAnimation(){const t=this.menuInnerEl.offsetWidth,e=p(this.side);if(t===this.width&&void 0!==this.animation&&e===this.isEndSide)return;this.width=t,this.isEndSide=e,this.animation&&(this.animation.destroy(),this.animation=void 0);const i=this.animation=await v._createAnimation(this.type,this);w.getBoolean("animated",!0)||i.duration(0),i.fill("both")}async startAnimation(t,e){const i=!t,n=y(this),o="ios"===n?"cubic-bezier(0.32,0.72,0,1)":"cubic-bezier(0.0,0.0,0.2,1)",s="ios"===n?"cubic-bezier(1, 0, 0.68, 0.28)":"cubic-bezier(0.4, 0, 0.6, 1)",r=this.animation.direction(i?"reverse":"normal").easing(i?s:o);e?await r.play():r.play({sync:!0}),"reverse"===r.getDirection()&&r.direction("normal")}_isActive(){return!this.disabled&&!this.isPaneVisible}canSwipe(){return this.swipeGesture&&!this.isAnimating&&this._isActive()}canStart(t){return!(document.querySelector("ion-modal.show-modal")||!this.canSwipe())&&(!!this._isOpen||!v._getOpenSync()&&A(window,t.currentX,this.isEndSide,this.maxEdgeStart))}onWillStart(){return this.beforeAnimation(!this._isOpen,l),this.loadAnimation()}onStart(){this.isAnimating&&this.animation?this.animation.progressStart(!0,this._isOpen?1:0):b(!1,"isAnimating has to be true")}onMove(t){if(!this.isAnimating||!this.animation)return void b(!1,"isAnimating has to be true");const e=j(t.deltaX,this._isOpen,this.isEndSide)/this.width;this.animation.progressStep(this._isOpen?1-e:e)}onEnd(t){if(!this.isAnimating||!this.animation)return void b(!1,"isAnimating has to be true");const e=this._isOpen,i=this.isEndSide,n=j(t.deltaX,e,i),o=this.width,r=n/o,a=t.velocityX,d=o/2,h=a>=0&&(a>.2||t.deltaX>d),c=a<=0&&(a<-.2||t.deltaX<-d),m=e?i?h:c:i?c:h;let p=!e&&m;e&&!m&&(p=!0),this.lastOnEnd=t.currentTime;let u=m?.001:-.001;u+=s([0,0],[.4,0],[.6,1],[1,1],f(0,r<0?.01:r,.9999))[0]||0;const v=this._isOpen?!m:m;this.animation.easing("cubic-bezier(0.4, 0.0, 0.6, 1)").onFinish((()=>this.afterAnimation(p,l)),{oneTimeCallback:!0}).progressEnd(v?1:0,this._isOpen?1-u:u,300)}beforeAnimation(t,e){b(!this.isAnimating,"_before() should not be called while animating"),this.el.setAttribute("aria-hidden","true"),this.el.classList.add(S),this.el.setAttribute("tabindex","0"),this.backdropEl&&this.backdropEl.classList.add(_),this.contentEl&&(this.contentEl.classList.add(O),this.contentEl.setAttribute("aria-hidden","true")),this.blocker.block(),this.isAnimating=!0,t?this.ionWillOpen.emit():this.ionWillClose.emit({role:e})}afterAnimation(t,e){var i;this._isOpen=t,this.isAnimating=!1,this._isOpen||this.blocker.unblock(),t?(this.ionDidOpen.emit(),this.el.removeAttribute("aria-hidden"),(null===(i=document.activeElement)||void 0===i?void 0:i.closest("ion-menu"))!==this.el&&this.el.focus(),document.addEventListener("focus",this.handleFocus,!0)):(this.el.removeAttribute("aria-hidden"),this.el.classList.remove(S),this.el.removeAttribute("tabindex"),this.contentEl&&(this.contentEl.classList.remove(O),this.contentEl.removeAttribute("aria-hidden")),this.backdropEl&&this.backdropEl.classList.remove(_),this.animation&&this.animation.stop(),this.ionDidClose.emit({role:e}),document.removeEventListener("focus",this.handleFocus,!0))}updateState(){const t=this._isActive();this.gesture&&this.gesture.enable(t&&this.swipeGesture),t||(this.isAnimating&&(this.operationCancelled=!0),this.afterAnimation(!1,l))}render(){const{type:t,disabled:e,el:o,isPaneVisible:s,inheritedAttributes:r,side:a}=this,d=y(this);return i(n,{key:"b06d57136c3197032dec883c1f2ef1f45038a66e",onKeyDown:m()?null:this.onKeydown,role:"navigation","aria-label":r["aria-label"]||"menu",class:{[d]:!0,[`menu-type-${t}`]:!0,"menu-enabled":!e,[`menu-side-${a}`]:!0,"menu-pane-visible":s,"split-pane-side":g("ion-split-pane",o)}},i("div",{key:"914b7fa60640738d24e5cccb8e6dacc3f2660663",class:"menu-inner",part:"container",ref:t=>this.menuInnerEl=t},i("slot",{key:"8735e03f6545d0d0d8df5e51953bbb9e85c53d63"})),i("ion-backdrop",{key:"b829bd8977c31904c31ec0809461a778e25b5faa",ref:t=>this.backdropEl=t,class:"menu-backdrop",tappable:!1,stopPropagation:!1,part:"backdrop"}))}get el(){return o(this)}static get watchers(){return{type:["typeChanged"],disabled:["disabledChanged"],side:["sideChanged"],swipeGesture:["swipeGestureChanged"]}}},j=(t,e,i)=>Math.max(0,e!==i?-t:t),A=(t,e,i,n)=>i?e>=t.innerWidth-n:e<=n,S="show-menu",_="show-backdrop",O="menu-content-open";C.style={ios:":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}:host(.menu-side-start) .menu-inner{inset-inline-start:0;inset-inline-end:auto}: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:dir(rtl)) .menu-inner{--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}:host(.menu-side-end) .menu-inner{inset-inline-start:auto;inset-inline-end:0}: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:dir(rtl)) .menu-inner{--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){-ms-flex:0 1 auto;flex:0 1 auto;width:var(--side-width, var(--width));min-width:var(--side-min-width, var(--min-width));max-width:var(--side-max-width, var(--max-width))}:host(.menu-pane-visible.split-pane-side){left:0;right:0;top:0;bottom:0;position:relative;-webkit-box-shadow:none;box-shadow:none;z-index:0}:host(.menu-pane-visible.split-pane-side.menu-enabled){display:-ms-flexbox;display:flex;-ms-flex-negative:0;flex-shrink:0}:host(.menu-pane-visible.split-pane-side){-ms-flex-order:-1;order:-1}:host(.menu-pane-visible.split-pane-side[side=end]){-ms-flex-order:1;order:1}:host(.menu-pane-visible) .menu-inner{left:0;right:0;width:auto;-webkit-transform:none;transform:none;-webkit-box-shadow:none;box-shadow:none}:host(.menu-pane-visible) ion-backdrop{display:hidden !important}:host(.menu-pane-visible.split-pane-side){-webkit-border-start:0;border-inline-start:0;-webkit-border-end:var(--border);border-inline-end:var(--border);border-top:0;border-bottom:0;min-width:var(--side-min-width);max-width:var(--side-max-width)}:host(.menu-pane-visible.split-pane-side[side=end]){-webkit-border-start:var(--border);border-inline-start:var(--border);-webkit-border-end:0;border-inline-end:0;border-top:0;border-bottom:0;min-width:var(--side-min-width);max-width:var(--side-max-width)}:host(.menu-type-push){z-index:1000}:host(.menu-type-push) .show-backdrop{display:block}",md:":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}:host(.menu-side-start) .menu-inner{inset-inline-start:0;inset-inline-end:auto}: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:dir(rtl)) .menu-inner{--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}:host(.menu-side-end) .menu-inner{inset-inline-start:auto;inset-inline-end:0}: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:dir(rtl)) .menu-inner{--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){-ms-flex:0 1 auto;flex:0 1 auto;width:var(--side-width, var(--width));min-width:var(--side-min-width, var(--min-width));max-width:var(--side-max-width, var(--max-width))}:host(.menu-pane-visible.split-pane-side){left:0;right:0;top:0;bottom:0;position:relative;-webkit-box-shadow:none;box-shadow:none;z-index:0}:host(.menu-pane-visible.split-pane-side.menu-enabled){display:-ms-flexbox;display:flex;-ms-flex-negative:0;flex-shrink:0}:host(.menu-pane-visible.split-pane-side){-ms-flex-order:-1;order:-1}:host(.menu-pane-visible.split-pane-side[side=end]){-ms-flex-order:1;order:1}:host(.menu-pane-visible) .menu-inner{left:0;right:0;width:auto;-webkit-transform:none;transform:none;-webkit-box-shadow:none;box-shadow:none}:host(.menu-pane-visible) ion-backdrop{display:hidden !important}:host(.menu-pane-visible.split-pane-side){-webkit-border-start:0;border-inline-start:0;-webkit-border-end:var(--border);border-inline-end:var(--border);border-top:0;border-bottom:0;min-width:var(--side-min-width);max-width:var(--side-max-width)}:host(.menu-pane-visible.split-pane-side[side=end]){-webkit-border-start:var(--border);border-inline-start:var(--border);-webkit-border-end:0;border-inline-end:0;border-top:0;border-bottom:0;min-width:var(--side-min-width);max-width:var(--side-max-width)}: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)}"};const E=async t=>{const e=await v.get(t);return!(!e||!await e.isActive())},M=class{constructor(e){t(this,e),this.inheritedAttributes={},this.onClick=async()=>v.toggle(this.menu),this.visible=!1,this.color=void 0,this.disabled=!1,this.menu=void 0,this.autoHide=!0,this.type="button"}componentWillLoad(){this.inheritedAttributes=u(this.el)}componentDidLoad(){this.visibilityChanged()}async visibilityChanged(){this.visible=await E(this.menu)}render(){const{color:t,disabled:e,inheritedAttributes:o}=this,s=y(this),r=w.get("menuIcon","ios"===s?k:z),a=this.autoHide&&!this.visible,d={type:this.type},h=o["aria-label"]||"menu";return i(n,{key:"7ec29715ce7926b7c2b08f3d9cac8aaa16b3dc28",onClick:this.onClick,"aria-disabled":e?"true":null,"aria-hidden":a?"true":null,class:x(t,{[s]:!0,button:!0,"menu-button-hidden":a,"menu-button-disabled":e,"in-toolbar":g("ion-toolbar",this.el),"in-toolbar-color":g("ion-toolbar[color]",this.el),"ion-activatable":!0,"ion-focusable":!0})},i("button",Object.assign({key:"d4c5929264af3ba0328118bcc27d2ab7ef5d3809"},d,{disabled:e,class:"button-native",part:"native","aria-label":h}),i("span",{key:"7bfa6e9a93105486623d044861e879ec79ff64f1",class:"button-inner"},i("slot",{key:"071ab58e285832fc188706166f5547d45d501ac5"},i("ion-icon",{key:"918ec5d791921de9821c347af4f65f97dd94aabf",part:"icon",icon:r,mode:s,lazy:!1,"aria-hidden":"true"}))),"md"===s&&i("ion-ripple-effect",{key:"00ffdd53f635e706c1dbd01b8e7944498650fe81",type:"unbounded"})))}get el(){return o(this)}};M.style={ios:':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%;min-height:inherit;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%;min-height:inherit;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, #0054e9);--padding-start:5px;--padding-end:5px;min-height:32px;font-size:clamp(31px, 1.9375rem, 38.13px)}:host(.ion-activated){opacity:0.4}@media (any-hover: hover){:host(:hover){opacity:0.6}}',md:':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%;min-height:inherit;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%;min-height:inherit;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:3rem;height:3rem;font-size:1.5rem}: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)}}'};const P=class{constructor(e){t(this,e),this.onClick=()=>v.toggle(this.menu),this.visible=!1,this.menu=void 0,this.autoHide=!0}connectedCallback(){this.visibilityChanged()}async visibilityChanged(){this.visible=await E(this.menu)}render(){const t=y(this),e=this.autoHide&&!this.visible;return i(n,{key:"7c27ea5b0795676bf5cb33e1f83aa142c197f64e",onClick:this.onClick,"aria-hidden":e?"true":null,class:{[t]:!0,"menu-toggle-hidden":e}},i("slot",{key:"69f187becedc0fe34603d41d279f043cf0fdf776"}))}};P.style=":host(.menu-toggle-hidden){display:none}";export{C as ion_menu,M as ion_menu_button,P as ion_menu_toggle}
@@ -1,4 +0,0 @@
1
- var __awaiter=this&&this.__awaiter||function(t,e,i,n){function r(t){return t instanceof i?t:new i((function(e){e(t)}))}return new(i||(i=Promise))((function(i,o){function s(t){try{d(n.next(t))}catch(t){o(t)}}function a(t){try{d(n["throw"](t))}catch(t){o(t)}}function d(t){t.done?i(t.value):r(t.value).then(s,a)}d((n=n.apply(t,e||[])).next())}))};var __generator=this&&this.__generator||function(t,e){var i={label:0,sent:function(){if(o[0]&1)throw o[1];return o[1]},trys:[],ops:[]},n,r,o,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 d([t,e])}}function d(a){if(n)throw new TypeError("Generator is already executing.");while(s&&(s=0,a[0]&&(i=0)),i)try{if(n=1,r&&(o=a[0]&2?r["return"]:a[0]?r["throw"]||((o=r["return"])&&o.call(r),0):r.next)&&!(o=o.call(r,a[1])).done)return o;if(r=0,o)a=[a[0]&2,o.value];switch(a[0]){case 0:case 1:o=a;break;case 4:i.label++;return{value:a[1],done:false};case 5:i.label++;r=a[1];a=[0];continue;case 7:a=i.ops.pop();i.trys.pop();continue;default:if(!(o=i.trys,o=o.length>0&&o[o.length-1])&&(a[0]===6||a[0]===2)){i=0;continue}if(a[0]===3&&(!o||a[1]>o[0]&&a[1]<o[3])){i.label=a[1];break}if(a[0]===6&&i.label<o[1]){i.label=o[1];o=a;break}if(o&&i.label<o[2]){i.label=o[2];i.ops.push(a);break}if(o[2])i.ops.pop();i.trys.pop();continue}a=e.call(t,i)}catch(t){a=[6,t];r=0}finally{n=o=0}if(a[0]&5)throw a[1];return{value:a[0]?a[1]:void 0,done:true}}};
2
- /*!
3
- * (C) Ionic http://ionicframework.com - MIT License
4
- */System.register(["./p-25180df3.system.js","./p-e673a0a2.system.js","./p-04fc24ee.system.js","./p-20d469d0.system.js","./p-9f3008d4.system.js","./p-3ad285e3.system.js","./p-e7ed4a7f.system.js","./p-4609d030.system.js","./p-a69b9fc5.system.js","./p-1e955a45.system.js","./p-792919fd.system.js","./p-8635f5e6.system.js","./p-ff4b7e40.system.js","./p-9146695e.system.js"],(function(t,e){"use strict";var i,n,r,o,s,a,d,h,u,c,f,l,m,p,b,v,g,w,x,y,k,_,z,j;return{setters:[function(t){i=t.r;n=t.d;r=t.h;o=t.f;s=t.i},function(t){a=t.g},function(t){d=t.o;h=t.B;u=t.n;c=t.q;f=t.G},function(t){l=t.G},function(t){m=t.shouldUseCloseWatcher},function(t){p=t.n;b=t.i;v=t.m;g=t.j},function(t){w=t.m},function(t){x=t.h;y=t.c},function(t){k=t.c;_=t.b},function(t){z=t.u;j=t.v},function(){},function(){},function(){},function(){}],execute:function(){var C=this;var S=":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}:host(.menu-side-start) .menu-inner{inset-inline-start:0;inset-inline-end:auto}: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:dir(rtl)) .menu-inner{--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}:host(.menu-side-end) .menu-inner{inset-inline-start:auto;inset-inline-end:0}: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:dir(rtl)) .menu-inner{--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){-ms-flex:0 1 auto;flex:0 1 auto;width:var(--side-width, var(--width));min-width:var(--side-min-width, var(--min-width));max-width:var(--side-max-width, var(--max-width))}:host(.menu-pane-visible.split-pane-side){left:0;right:0;top:0;bottom:0;position:relative;-webkit-box-shadow:none;box-shadow:none;z-index:0}:host(.menu-pane-visible.split-pane-side.menu-enabled){display:-ms-flexbox;display:flex;-ms-flex-negative:0;flex-shrink:0}:host(.menu-pane-visible.split-pane-side){-ms-flex-order:-1;order:-1}:host(.menu-pane-visible.split-pane-side[side=end]){-ms-flex-order:1;order:1}:host(.menu-pane-visible) .menu-inner{left:0;right:0;width:auto;-webkit-transform:none;transform:none;-webkit-box-shadow:none;box-shadow:none}:host(.menu-pane-visible) ion-backdrop{display:hidden !important}:host(.menu-pane-visible.split-pane-side){-webkit-border-start:0;border-inline-start:0;-webkit-border-end:var(--border);border-inline-end:var(--border);border-top:0;border-bottom:0;min-width:var(--side-min-width);max-width:var(--side-max-width)}:host(.menu-pane-visible.split-pane-side[side=end]){-webkit-border-start:var(--border);border-inline-start:var(--border);-webkit-border-end:0;border-inline-end:0;border-top:0;border-bottom:0;min-width:var(--side-min-width);max-width:var(--side-max-width)}:host(.menu-type-push){z-index:1000}:host(.menu-type-push) .show-backdrop{display:block}";var O=S;var E=":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}:host(.menu-side-start) .menu-inner{inset-inline-start:0;inset-inline-end:auto}: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:dir(rtl)) .menu-inner{--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}:host(.menu-side-end) .menu-inner{inset-inline-start:auto;inset-inline-end:0}: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:dir(rtl)) .menu-inner{--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){-ms-flex:0 1 auto;flex:0 1 auto;width:var(--side-width, var(--width));min-width:var(--side-min-width, var(--min-width));max-width:var(--side-max-width, var(--max-width))}:host(.menu-pane-visible.split-pane-side){left:0;right:0;top:0;bottom:0;position:relative;-webkit-box-shadow:none;box-shadow:none;z-index:0}:host(.menu-pane-visible.split-pane-side.menu-enabled){display:-ms-flexbox;display:flex;-ms-flex-negative:0;flex-shrink:0}:host(.menu-pane-visible.split-pane-side){-ms-flex-order:-1;order:-1}:host(.menu-pane-visible.split-pane-side[side=end]){-ms-flex-order:1;order:1}:host(.menu-pane-visible) .menu-inner{left:0;right:0;width:auto;-webkit-transform:none;transform:none;-webkit-box-shadow:none;box-shadow:none}:host(.menu-pane-visible) ion-backdrop{display:hidden !important}:host(.menu-pane-visible.split-pane-side){-webkit-border-start:0;border-inline-start:0;-webkit-border-end:var(--border);border-inline-end:var(--border);border-top:0;border-bottom:0;min-width:var(--side-min-width);max-width:var(--side-max-width)}:host(.menu-pane-visible.split-pane-side[side=end]){-webkit-border-start:var(--border);border-inline-start:var(--border);-webkit-border-end:0;border-inline-end:0;border-top:0;border-bottom:0;min-width:var(--side-min-width);max-width:var(--side-max-width)}: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 M=E;var P="cubic-bezier(0.32,0.72,0,1)";var X="cubic-bezier(0.0,0.0,0.2,1)";var A="cubic-bezier(1, 0, 0.68, 0.28)";var D="cubic-bezier(0.4, 0, 0.6, 1)";var G=t("ion_menu",function(){function t(t){var e=this;i(this,t);this.ionWillOpen=n(this,"ionWillOpen",7);this.ionWillClose=n(this,"ionWillClose",7);this.ionDidOpen=n(this,"ionDidOpen",7);this.ionDidClose=n(this,"ionDidClose",7);this.ionMenuChange=n(this,"ionMenuChange",7);this.lastOnEnd=0;this.blocker=l.createBlocker({disableScroll:true});this.didLoad=false;this.operationCancelled=false;this.isAnimating=false;this._isOpen=false;this.inheritedAttributes={};this.handleFocus=function(t){var i=d(document);if(i&&!i.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 i=this.contentEl;if(i){if(e!==undefined){i.classList.remove("menu-content-".concat(e))}i.classList.add("menu-content-".concat(t));i.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=p(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,i;var n=this;return __generator(this,(function(r){switch(r.label){case 0:if(!(typeof customElements!=="undefined"&&customElements!=null))return[3,2];return[4,customElements.whenDefined("ion-menu")];case 1:r.sent();r.label=2;case 2:if(this.type===undefined){this.type=k.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();w._register(this);this.menuChanged();i=this;return[4,e.import("./p-3e1e14d9.system.js")];case 3:i.gesture=r.sent().createGesture({el:document,gestureName:"menu-swipe",gesturePriority:30,threshold:10,blurOnStart:true,canStart:function(t){return n.canStart(t)},onWillStart:function(){return n.onWillStart()},onStart:function(){return n.onStart()},onMove:function(t){return n.onMove(t)},onEnd:function(t){return n.onEnd(t)}});this.updateState();return[2]}}))}))};t.prototype.componentWillLoad=function(){this.inheritedAttributes=b(this.el)};t.prototype.componentDidLoad=function(){return __awaiter(this,void 0,void 0,(function(){var t,e;return __generator(this,(function(i){switch(i.label){case 0:this.didLoad=true;t=this.el.closest("ion-split-pane");if(!(t!==null))return[3,2];e=this;return[4,t.isVisible()];case 1:e.isPaneVisible=i.sent();i.label=2;case 2: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();w._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){var e=this.el.closest("ion-split-pane");if(e!==null&&e===t.target){this.isPaneVisible=t.detail.visible;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(undefined,h)}}};t.prototype.onKeydown=function(t){if(t.key==="Escape"){this.close(undefined,h)}};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,e){if(t===void 0){t=true}return this.setOpen(false,t,e)};t.prototype.toggle=function(t){if(t===void 0){t=true}return this.setOpen(!this._isOpen,t)};t.prototype.setOpen=function(t,e,i){if(e===void 0){e=true}return w._setOpen(this,t,e,i)};t.prototype.trapKeyboardFocus=function(t,e){var i=t.target;if(!i){return}if(this.el.contains(i)){this.lastFocus=i}else{var n=this.el;u(n);if(this.lastFocus===e.activeElement){c(n)}}};t.prototype._setOpen=function(t){return __awaiter(this,arguments,void 0,(function(t,e,i){if(e===void 0){e=true}return __generator(this,(function(n){switch(n.label){case 0:if(!this._isActive()||this.isAnimating||t===this._isOpen){return[2,false]}this.beforeAnimation(t,i);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,i);return[2,true]}}))}))};t.prototype.loadAnimation=function(){return __awaiter(this,void 0,void 0,(function(){var t,e,i,n;return __generator(this,(function(r){switch(r.label){case 0:t=this.menuInnerEl.offsetWidth;e=p(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,w._createAnimation(this.type,this)];case 1:i=n.animation=r.sent();if(!k.getBoolean("animated",true)){i.duration(0)}i.fill("both");return[2]}}))}))};t.prototype.startAnimation=function(t,e){return __awaiter(this,void 0,void 0,(function(){var i,n,r,o,s;return __generator(this,(function(a){switch(a.label){case 0:i=!t;n=_(this);r=n==="ios"?P:X;o=n==="ios"?A:D;s=this.animation.direction(i?"reverse":"normal").easing(i?o:r);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(w._getOpenSync()){return false}return W(window,t.currentX,this.isEndSide,this.maxEdgeStart)};t.prototype.onWillStart=function(){this.beforeAnimation(!this._isOpen,f);return this.loadAnimation()};t.prototype.onStart=function(){if(!this.isAnimating||!this.animation){v(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){v(false,"isAnimating has to be true");return}var e=T(t.deltaX,this._isOpen,this.isEndSide);var i=e/this.width;this.animation.progressStep(this._isOpen?1-i:i)};t.prototype.onEnd=function(t){var e=this;if(!this.isAnimating||!this.animation){v(false,"isAnimating has to be true");return}var i=this._isOpen;var n=this.isEndSide;var r=T(t.deltaX,i,n);var o=this.width;var s=r/o;var d=t.velocityX;var h=o/2;var u=d>=0&&(d>.2||t.deltaX>h);var c=d<=0&&(d<-.2||t.deltaX<-h);var l=i?n?u:c:n?c:u;var m=!i&&l;if(i&&!l){m=true}this.lastOnEnd=t.currentTime;var p=l?.001:-.001;var b=s<0?.01:s;p+=a([0,0],[.4,0],[.6,1],[1,1],g(0,b,.9999))[0]||0;var w=this._isOpen?!l:l;this.animation.easing("cubic-bezier(0.4, 0.0, 0.6, 1)").onFinish((function(){return e.afterAnimation(m,f)}),{oneTimeCallback:true}).progressEnd(w?1:0,this._isOpen?1-p:p,300)};t.prototype.beforeAnimation=function(t,e){v(!this.isAnimating,"_before() should not be called while animating");this.el.setAttribute("aria-hidden","true");this.el.classList.add(I);this.el.setAttribute("tabindex","0");if(this.backdropEl){this.backdropEl.classList.add(K)}if(this.contentEl){this.contentEl.classList.add(N);this.contentEl.setAttribute("aria-hidden","true")}this.blocker.block();this.isAnimating=true;if(t){this.ionWillOpen.emit()}else{this.ionWillClose.emit({role:e})}};t.prototype.afterAnimation=function(t,e){var i;this._isOpen=t;this.isAnimating=false;if(!this._isOpen){this.blocker.unblock()}if(t){this.ionDidOpen.emit();this.el.removeAttribute("aria-hidden");var n=(i=document.activeElement)===null||i===void 0?void 0:i.closest("ion-menu");if(n!==this.el){this.el.focus()}document.addEventListener("focus",this.handleFocus,true)}else{this.el.removeAttribute("aria-hidden");this.el.classList.remove(I);this.el.removeAttribute("tabindex");if(this.contentEl){this.contentEl.classList.remove(N);this.contentEl.removeAttribute("aria-hidden")}if(this.backdropEl){this.backdropEl.classList.remove(K)}if(this.animation){this.animation.stop()}this.ionDidClose.emit({role:e});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,f)}};t.prototype.render=function(){var t;var e=this;var i=this,n=i.type,s=i.disabled,a=i.el,d=i.isPaneVisible,h=i.inheritedAttributes,u=i.side;var c=_(this);return r(o,{key:"b06d57136c3197032dec883c1f2ef1f45038a66e",onKeyDown:m()?null:this.onKeydown,role:"navigation","aria-label":h["aria-label"]||"menu",class:(t={},t[c]=true,t["menu-type-".concat(n)]=true,t["menu-enabled"]=!s,t["menu-side-".concat(u)]=true,t["menu-pane-visible"]=d,t["split-pane-side"]=x("ion-split-pane",a),t)},r("div",{key:"914b7fa60640738d24e5cccb8e6dacc3f2660663",class:"menu-inner",part:"container",ref:function(t){return e.menuInnerEl=t}},r("slot",{key:"8735e03f6545d0d0d8df5e51953bbb9e85c53d63"})),r("ion-backdrop",{key:"b829bd8977c31904c31ec0809461a778e25b5faa",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 T=function(t,e,i){return Math.max(0,e!==i?-t:t)};var W=function(t,e,i,n){if(i){return e>=t.innerWidth-n}else{return e<=n}};var I="show-menu";var K="show-backdrop";var N="menu-content-open";G.style={ios:O,md:M};var q=function(t){return __awaiter(C,void 0,void 0,(function(){var e,i;return __generator(this,(function(n){switch(n.label){case 0:return[4,w.get(t)];case 1:e=n.sent();i=e;if(!i)return[3,3];return[4,e.isActive()];case 2:i=n.sent();n.label=3;case 3:return[2,!!i]}}))}))};var B=':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%;min-height:inherit;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%;min-height:inherit;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, #0054e9);--padding-start:5px;--padding-end:5px;min-height:32px;font-size:clamp(31px, 1.9375rem, 38.13px)}:host(.ion-activated){opacity:0.4}@media (any-hover: hover){:host(:hover){opacity:0.6}}';var F=B;var H=':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%;min-height:inherit;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%;min-height:inherit;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:3rem;height:3rem;font-size:1.5rem}: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 J=H;var L=t("ion_menu_button",function(){function t(t){var e=this;i(this,t);this.inheritedAttributes={};this.onClick=function(){return __awaiter(e,void 0,void 0,(function(){return __generator(this,(function(t){return[2,w.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=b(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,q(this.menu)];case 1:t.visible=e.sent();return[2]}}))}))};t.prototype.render=function(){var t;var e=this,i=e.color,n=e.disabled,s=e.inheritedAttributes;var a=_(this);var d=k.get("menuIcon",a==="ios"?z:j);var h=this.autoHide&&!this.visible;var u={type:this.type};var c=s["aria-label"]||"menu";return r(o,{key:"7ec29715ce7926b7c2b08f3d9cac8aaa16b3dc28",onClick:this.onClick,"aria-disabled":n?"true":null,"aria-hidden":h?"true":null,class:y(i,(t={},t[a]=true,t.button=true,t["menu-button-hidden"]=h,t["menu-button-disabled"]=n,t["in-toolbar"]=x("ion-toolbar",this.el),t["in-toolbar-color"]=x("ion-toolbar[color]",this.el),t["ion-activatable"]=true,t["ion-focusable"]=true,t))},r("button",Object.assign({key:"d4c5929264af3ba0328118bcc27d2ab7ef5d3809"},u,{disabled:n,class:"button-native",part:"native","aria-label":c}),r("span",{key:"7bfa6e9a93105486623d044861e879ec79ff64f1",class:"button-inner"},r("slot",{key:"071ab58e285832fc188706166f5547d45d501ac5"},r("ion-icon",{key:"918ec5d791921de9821c347af4f65f97dd94aabf",part:"icon",icon:d,mode:a,lazy:false,"aria-hidden":"true"}))),a==="md"&&r("ion-ripple-effect",{key:"00ffdd53f635e706c1dbd01b8e7944498650fe81",type:"unbounded"})))};Object.defineProperty(t.prototype,"el",{get:function(){return s(this)},enumerable:false,configurable:true});return t}());L.style={ios:F,md:J};var Q=":host(.menu-toggle-hidden){display:none}";var R=Q;var U=t("ion_menu_toggle",function(){function t(t){var e=this;i(this,t);this.onClick=function(){return w.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,q(this.menu)];case 1:t.visible=e.sent();return[2]}}))}))};t.prototype.render=function(){var t;var e=_(this);var i=this.autoHide&&!this.visible;return r(o,{key:"7c27ea5b0795676bf5cb33e1f83aa142c197f64e",onClick:this.onClick,"aria-hidden":i?"true":null,class:(t={},t[e]=true,t["menu-toggle-hidden"]=i,t)},r("slot",{key:"69f187becedc0fe34603d41d279f043cf0fdf776"}))};return t}());U.style=R}}}));