@ionic/core 7.4.4-dev.11699471770.1b7273c4 → 7.4.4-dev.11699472805.157e2476

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 (105) hide show
  1. package/components/icon.js +9 -5
  2. package/components/index4.js +26 -19
  3. package/components/index7.js +1 -1
  4. package/components/ion-menu.js +0 -12
  5. package/dist/cjs/{index-1f1ea05f.js → index-2e612e35.js} +26 -19
  6. package/dist/cjs/{index-d8d1fc0b.js → index-d8f84c5a.js} +1 -1
  7. package/dist/cjs/index.cjs.js +2 -2
  8. package/dist/cjs/ion-accordion_2.cjs.entry.js +1 -1
  9. package/dist/cjs/ion-back-button.cjs.entry.js +1 -1
  10. package/dist/cjs/ion-breadcrumb_2.cjs.entry.js +1 -1
  11. package/dist/cjs/ion-button_2.cjs.entry.js +9 -5
  12. package/dist/cjs/ion-datetime_3.cjs.entry.js +1 -1
  13. package/dist/cjs/ion-fab_3.cjs.entry.js +1 -1
  14. package/dist/cjs/ion-input.cjs.entry.js +1 -1
  15. package/dist/cjs/ion-item_8.cjs.entry.js +1 -1
  16. package/dist/cjs/ion-menu_3.cjs.entry.js +5 -16
  17. package/dist/cjs/ion-refresher_2.cjs.entry.js +1 -1
  18. package/dist/cjs/ion-reorder_2.cjs.entry.js +1 -1
  19. package/dist/cjs/ion-searchbar.cjs.entry.js +1 -1
  20. package/dist/cjs/ion-select_3.cjs.entry.js +1 -1
  21. package/dist/cjs/ion-toggle.cjs.entry.js +1 -1
  22. package/dist/collection/components/menu/menu.js +0 -12
  23. package/dist/collection/components/menu/test/multiple/menu.e2e.js +60 -0
  24. package/dist/collection/utils/menu-controller/index.js +26 -19
  25. package/dist/docs.json +1 -1
  26. package/dist/esm/{index-ecfc2c9f.js → index-504b03f0.js} +1 -1
  27. package/dist/esm/{index-97a2bb98.js → index-c3e624b7.js} +26 -19
  28. package/dist/esm/index.js +2 -2
  29. package/dist/esm/ion-accordion_2.entry.js +1 -1
  30. package/dist/esm/ion-back-button.entry.js +1 -1
  31. package/dist/esm/ion-breadcrumb_2.entry.js +1 -1
  32. package/dist/esm/ion-button_2.entry.js +9 -5
  33. package/dist/esm/ion-datetime_3.entry.js +1 -1
  34. package/dist/esm/ion-fab_3.entry.js +1 -1
  35. package/dist/esm/ion-input.entry.js +1 -1
  36. package/dist/esm/ion-item_8.entry.js +1 -1
  37. package/dist/esm/ion-menu_3.entry.js +4 -15
  38. package/dist/esm/ion-refresher_2.entry.js +1 -1
  39. package/dist/esm/ion-reorder_2.entry.js +1 -1
  40. package/dist/esm/ion-searchbar.entry.js +1 -1
  41. package/dist/esm/ion-select_3.entry.js +1 -1
  42. package/dist/esm/ion-toggle.entry.js +1 -1
  43. package/dist/esm-es5/index-c3e624b7.js +4 -0
  44. package/dist/esm-es5/index.js +1 -1
  45. package/dist/esm-es5/ion-accordion_2.entry.js +1 -1
  46. package/dist/esm-es5/ion-back-button.entry.js +1 -1
  47. package/dist/esm-es5/ion-breadcrumb_2.entry.js +1 -1
  48. package/dist/esm-es5/ion-button_2.entry.js +1 -1
  49. package/dist/esm-es5/ion-datetime_3.entry.js +1 -1
  50. package/dist/esm-es5/ion-fab_3.entry.js +1 -1
  51. package/dist/esm-es5/ion-input.entry.js +1 -1
  52. package/dist/esm-es5/ion-item_8.entry.js +1 -1
  53. package/dist/esm-es5/ion-menu_3.entry.js +1 -1
  54. package/dist/esm-es5/ion-refresher_2.entry.js +1 -1
  55. package/dist/esm-es5/ion-reorder_2.entry.js +1 -1
  56. package/dist/esm-es5/ion-searchbar.entry.js +1 -1
  57. package/dist/esm-es5/ion-select_3.entry.js +1 -1
  58. package/dist/esm-es5/ion-toggle.entry.js +1 -1
  59. package/dist/ionic/index.esm.js +1 -1
  60. package/dist/ionic/ionic.esm.js +1 -1
  61. package/dist/ionic/{p-a1d7f4ef.entry.js → p-0459db58.entry.js} +1 -1
  62. package/dist/ionic/{p-b2397f35.entry.js → p-06756f31.entry.js} +1 -1
  63. package/dist/ionic/p-0779a5c8.system.js +4 -0
  64. package/dist/ionic/{p-a9d7f984.entry.js → p-0d3d44e7.entry.js} +1 -1
  65. package/dist/ionic/{p-9bd70bd2.entry.js → p-2b47b2ce.entry.js} +1 -1
  66. package/dist/ionic/p-32b5f10e.entry.js +4 -0
  67. package/dist/ionic/{p-007168b8.system.entry.js → p-3634b770.system.entry.js} +1 -1
  68. package/dist/ionic/{p-e690be9f.system.entry.js → p-416d7f8d.system.entry.js} +1 -1
  69. package/dist/ionic/{p-a51f5932.entry.js → p-4555335a.entry.js} +1 -1
  70. package/dist/ionic/{p-a4e95028.system.entry.js → p-48159bfc.system.entry.js} +1 -1
  71. package/dist/ionic/p-50125c8c.js +4 -0
  72. package/dist/ionic/{p-17dd92fe.system.entry.js → p-5b5311f6.system.entry.js} +1 -1
  73. package/dist/ionic/{p-6ce891b2.entry.js → p-6a3c14d1.entry.js} +1 -1
  74. package/dist/ionic/{p-28678af4.system.entry.js → p-6a92db9d.system.entry.js} +1 -1
  75. package/dist/ionic/{p-b92d3bf2.system.js → p-6cfcb294.system.js} +1 -1
  76. package/dist/ionic/{p-018ad59f.entry.js → p-70441a5b.entry.js} +1 -1
  77. package/dist/ionic/p-73eba881.system.js +1 -1
  78. package/dist/ionic/p-a4ce3b06.system.entry.js +4 -0
  79. package/dist/ionic/{p-f6f4d4bb.system.entry.js → p-a60cff26.system.entry.js} +1 -1
  80. package/dist/ionic/{p-cb16123b.entry.js → p-a99e7e72.entry.js} +1 -1
  81. package/dist/ionic/{p-c215a78a.system.entry.js → p-ae57449e.system.entry.js} +1 -1
  82. package/dist/ionic/{p-ec29338e.entry.js → p-b7ac706d.entry.js} +1 -1
  83. package/dist/ionic/{p-dd0c00ed.entry.js → p-bc7420cc.entry.js} +1 -1
  84. package/dist/ionic/{p-be02d76a.entry.js → p-c0c794dd.entry.js} +1 -1
  85. package/dist/ionic/{p-e40b2cb4.system.entry.js → p-ccdd595c.system.entry.js} +1 -1
  86. package/dist/ionic/{p-4965f2d7.entry.js → p-d1df86ff.entry.js} +1 -1
  87. package/dist/ionic/{p-e62d80e5.system.entry.js → p-d8eeabae.system.entry.js} +1 -1
  88. package/dist/ionic/{p-2c9e9915.system.entry.js → p-db8b267a.system.entry.js} +1 -1
  89. package/dist/ionic/{p-5fd0a13e.system.entry.js → p-dcfea01f.system.entry.js} +1 -1
  90. package/dist/ionic/{p-c42d0ea3.entry.js → p-ef4408d6.entry.js} +1 -1
  91. package/dist/ionic/{p-aa4b083c.system.entry.js → p-efd574eb.system.entry.js} +1 -1
  92. package/dist/ionic/{p-7fd0f045.system.entry.js → p-f48af9da.system.entry.js} +1 -1
  93. package/dist/node_modules/ionicons/dist/collection/components/icon/icon.css +46 -4
  94. package/dist/types/components/menu/menu-interface.d.ts +0 -1
  95. package/dist/types/utils/menu-controller/index.d.ts +1 -2
  96. package/hydrate/index.js +35 -36
  97. package/package.json +2 -2
  98. package/dist/esm-es5/index-97a2bb98.js +0 -4
  99. package/dist/ionic/p-15041a8c.system.js +0 -4
  100. package/dist/ionic/p-93c4333b.entry.js +0 -4
  101. package/dist/ionic/p-a1e2f98c.js +0 -4
  102. package/dist/ionic/p-fe268c4d.system.entry.js +0 -4
  103. /package/dist/esm-es5/{index-ecfc2c9f.js → index-504b03f0.js} +0 -0
  104. /package/dist/ionic/{p-0a87858b.js → p-15bae383.js} +0 -0
  105. /package/dist/ionic/{p-8985b268.system.js → p-3f919368.system.js} +0 -0
@@ -3,7 +3,6 @@
3
3
  */
4
4
  import { Build, Host, h } from "@stencil/core";
5
5
  import { getTimeGivenProgression } from "../../utils/animation/cubic-bezier";
6
- import { doc } from "../../utils/browser/index";
7
6
  import { GESTURE_CONTROLLER } from "../../utils/gesture/index";
8
7
  import { inheritAriaAttributes, assert, clamp, isEndSide as isEnd } from "../../utils/helpers";
9
8
  import { menuController } from "../../utils/menu-controller/index";
@@ -580,17 +579,6 @@ export class Menu {
580
579
  */
581
580
  this.afterAnimation(false);
582
581
  }
583
- if (doc === null || doc === void 0 ? void 0 : doc.contains(this.el)) {
584
- /**
585
- * Only set the active menu if the menu element is
586
- * present in the DOM. Otherwise if it was destructively
587
- * re-hydrated (through Angular Universal), then ignore
588
- * setting the removed node as the active menu.
589
- */
590
- if (!this.disabled) {
591
- menuController._setActiveMenu(this);
592
- }
593
- }
594
582
  }
595
583
  render() {
596
584
  const { type, disabled, isPaneVisible, inheritedAttributes, side } = this;
@@ -0,0 +1,60 @@
1
+ /*!
2
+ * (C) Ionic http://ionicframework.com - MIT License
3
+ */
4
+ import { expect } from "@playwright/test";
5
+ import { configs, test } from "../../../../utils/test/playwright/index";
6
+ /**
7
+ * This behavior does not vary across modes/directions
8
+ */
9
+ configs({ modes: ['ios'], directions: ['ltr'] }).forEach(({ title, config }) => {
10
+ test.describe(title('menu: multiple'), () => {
11
+ test.beforeEach(async ({ page }, testInfo) => {
12
+ testInfo.annotations.push({
13
+ type: 'issue',
14
+ description: 'https://github.com/ionic-team/ionic-framework/issues/18974',
15
+ });
16
+ await page.goto(`/src/components/menu/test/multiple`, config);
17
+ });
18
+ test('should present each menu on the same side individually', async ({ page }) => {
19
+ const primaryMenu = page.locator('ion-menu#primary-menu');
20
+ const secondaryMenu = page.locator('ion-menu#secondary-menu');
21
+ await primaryMenu.evaluate((el) => el.open());
22
+ await expect(primaryMenu).toBeVisible();
23
+ await primaryMenu.evaluate((el) => el.close());
24
+ await expect(primaryMenu).toBeHidden();
25
+ await secondaryMenu.evaluate((el) => el.open());
26
+ await expect(secondaryMenu).toBeVisible();
27
+ await secondaryMenu.evaluate((el) => el.close());
28
+ await expect(secondaryMenu).toBeHidden();
29
+ });
30
+ test('should close first menu when showing another menu on same side', async ({ page }) => {
31
+ const primaryMenu = page.locator('ion-menu#primary-menu');
32
+ const secondaryMenu = page.locator('ion-menu#secondary-menu');
33
+ await primaryMenu.evaluate((el) => el.open());
34
+ await expect(primaryMenu).toBeVisible();
35
+ await secondaryMenu.evaluate((el) => el.open());
36
+ await expect(primaryMenu).toBeHidden();
37
+ await expect(secondaryMenu).toBeVisible();
38
+ });
39
+ test('passing side to the menuController when multiple menus have that side should result in a warning', async ({ page, }) => {
40
+ const logs = [];
41
+ page.on('console', (msg) => {
42
+ if (msg.type() === 'warning') {
43
+ logs.push(msg.text());
44
+ }
45
+ });
46
+ await page.evaluate(() => window.menuController.open('start'));
47
+ expect(logs.length).toBe(1);
48
+ });
49
+ test('passing side to the menuController when multiple disabled menus have that side should result in a warning', async ({ page, }) => {
50
+ const logs = [];
51
+ page.on('console', (msg) => {
52
+ if (msg.type() === 'warning') {
53
+ logs.push(msg.text());
54
+ }
55
+ });
56
+ await page.evaluate(() => window.menuController.open('end'));
57
+ expect(logs.length).toBe(1);
58
+ });
59
+ });
60
+ });
@@ -1,6 +1,7 @@
1
1
  /*!
2
2
  * (C) Ionic http://ionicframework.com - MIT License
3
3
  */
4
+ import { printIonWarning } from "../logging/index";
4
5
  import { MENU_BACK_BUTTON_PRIORITY } from "../hardware-back-button";
5
6
  import { componentOnReady } from "../helpers";
6
7
  import { menuOverlayAnimation } from "./animations/overlay";
@@ -10,21 +11,21 @@ const createMenuController = () => {
10
11
  const menuAnimations = new Map();
11
12
  const menus = [];
12
13
  const open = async (menu) => {
13
- const menuEl = await get(menu);
14
+ const menuEl = await get(menu, true);
14
15
  if (menuEl) {
15
16
  return menuEl.open();
16
17
  }
17
18
  return false;
18
19
  };
19
20
  const close = async (menu) => {
20
- const menuEl = await (menu !== undefined ? get(menu) : getOpen());
21
+ const menuEl = await (menu !== undefined ? get(menu, true) : getOpen());
21
22
  if (menuEl !== undefined) {
22
23
  return menuEl.close();
23
24
  }
24
25
  return false;
25
26
  };
26
27
  const toggle = async (menu) => {
27
- const menuEl = await get(menu);
28
+ const menuEl = await get(menu, true);
28
29
  if (menuEl) {
29
30
  return menuEl.toggle();
30
31
  }
@@ -62,18 +63,35 @@ const createMenuController = () => {
62
63
  }
63
64
  return false;
64
65
  };
65
- const get = async (menu) => {
66
+ /**
67
+ * Finds and returns the menu specified by "menu" if registered.
68
+ * @param menu - The side or ID of the desired menu
69
+ * @param logOnMultipleSideMenus - If true, this function will log a warning
70
+ * if "menu" is a side but multiple menus on the same side were found. Since this function
71
+ * is used in multiple places, we default this log to false so that the calling
72
+ * functions can choose whether or not it is appropriate to log this warning.
73
+ */
74
+ const get = async (menu, logOnMultipleSideMenus = false) => {
66
75
  await waitUntilReady();
67
76
  if (menu === 'start' || menu === 'end') {
68
77
  // there could be more than one menu on the same side
69
78
  // so first try to get the enabled one
70
- const menuRef = find((m) => m.side === menu && !m.disabled);
71
- if (menuRef) {
72
- return menuRef;
79
+ const menuRefs = menus.filter((m) => m.side === menu && !m.disabled);
80
+ if (menuRefs.length >= 1) {
81
+ if (menuRefs.length > 1 && logOnMultipleSideMenus) {
82
+ printIonWarning(`menuController queried for a menu on the "${menu}" side, but ${menuRefs.length} menus were found. The first menu reference will be used. If this is not the behavior you want then pass the ID of the menu instead of its side.`, menuRefs.map((m) => m.el));
83
+ }
84
+ return menuRefs[0].el;
73
85
  }
74
86
  // didn't find a menu side that is enabled
75
87
  // so try to get the first menu side found
76
- return find((m) => m.side === menu);
88
+ const sideMenuRefs = menus.filter((m) => m.side === menu);
89
+ if (sideMenuRefs.length >= 1) {
90
+ if (sideMenuRefs.length > 1 && logOnMultipleSideMenus) {
91
+ printIonWarning(`menuController queried for a menu on the "${menu}" side, but ${sideMenuRefs.length} menus were found. The first menu reference will be used. If this is not the behavior you want then pass the ID of the menu instead of its side.`, sideMenuRefs.map((m) => m.el));
92
+ }
93
+ return sideMenuRefs[0].el;
94
+ }
77
95
  }
78
96
  else if (menu != null) {
79
97
  // the menuId was not left or right
@@ -115,9 +133,6 @@ const createMenuController = () => {
115
133
  };
116
134
  const _register = (menu) => {
117
135
  if (menus.indexOf(menu) < 0) {
118
- if (!menu.disabled) {
119
- _setActiveMenu(menu);
120
- }
121
136
  menus.push(menu);
122
137
  }
123
138
  };
@@ -127,13 +142,6 @@ const createMenuController = () => {
127
142
  menus.splice(index, 1);
128
143
  }
129
144
  };
130
- const _setActiveMenu = (menu) => {
131
- // if this menu should be enabled
132
- // then find all the other menus on this same side
133
- // and automatically disable other same side menus
134
- const side = menu.side;
135
- menus.filter((m) => m.side === side && m !== menu).forEach((m) => (m.disabled = true));
136
- };
137
145
  const _setOpen = async (menu, shouldOpen, animated) => {
138
146
  if (isAnimatingSync()) {
139
147
  return false;
@@ -205,7 +213,6 @@ const createMenuController = () => {
205
213
  _register,
206
214
  _unregister,
207
215
  _setOpen,
208
- _setActiveMenu,
209
216
  };
210
217
  };
211
218
  export const menuController = /*@__PURE__*/ createMenuController();
package/dist/docs.json CHANGED
@@ -1,5 +1,5 @@
1
1
  {
2
- "timestamp": "2023-11-08T19:31:44",
2
+ "timestamp": "2023-11-08T19:48:34",
3
3
  "compiler": {
4
4
  "name": "@stencil/core",
5
5
  "version": "4.4.0",
@@ -1,7 +1,7 @@
1
1
  /*!
2
2
  * (C) Ionic http://ionicframework.com - MIT License
3
3
  */
4
- /* Ionicons v7.1.0, ES Modules */
4
+ /* Ionicons v7.1.2, ES Modules */
5
5
  const arrowBackSharp = "data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' class='ionicon' viewBox='0 0 512 512'><path stroke-linecap='square' stroke-miterlimit='10' stroke-width='48' d='M244 400L100 256l144-144M120 256h292' class='ionicon-fill-none'/></svg>";
6
6
  const arrowDown = "data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' class='ionicon' viewBox='0 0 512 512'><path stroke-linecap='round' stroke-linejoin='round' stroke-width='48' d='M112 268l144 144 144-144M256 392V100' class='ionicon-fill-none'/></svg>";
7
7
  const caretBackSharp = "data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' class='ionicon' viewBox='0 0 512 512'><path d='M368 64L144 256l224 192V64z'/></svg>";
@@ -1,6 +1,7 @@
1
1
  /*!
2
2
  * (C) Ionic http://ionicframework.com - MIT License
3
3
  */
4
+ import { p as printIonWarning } from './index-595d62c9.js';
4
5
  import { MENU_BACK_BUTTON_PRIORITY } from './hardware-back-button-39299f84.js';
5
6
  import { c as componentOnReady } from './helpers-3379ba19.js';
6
7
  import { b as getIonMode } from './ionic-global-63a8d8c9.js';
@@ -98,21 +99,21 @@ const createMenuController = () => {
98
99
  const menuAnimations = new Map();
99
100
  const menus = [];
100
101
  const open = async (menu) => {
101
- const menuEl = await get(menu);
102
+ const menuEl = await get(menu, true);
102
103
  if (menuEl) {
103
104
  return menuEl.open();
104
105
  }
105
106
  return false;
106
107
  };
107
108
  const close = async (menu) => {
108
- const menuEl = await (menu !== undefined ? get(menu) : getOpen());
109
+ const menuEl = await (menu !== undefined ? get(menu, true) : getOpen());
109
110
  if (menuEl !== undefined) {
110
111
  return menuEl.close();
111
112
  }
112
113
  return false;
113
114
  };
114
115
  const toggle = async (menu) => {
115
- const menuEl = await get(menu);
116
+ const menuEl = await get(menu, true);
116
117
  if (menuEl) {
117
118
  return menuEl.toggle();
118
119
  }
@@ -150,18 +151,35 @@ const createMenuController = () => {
150
151
  }
151
152
  return false;
152
153
  };
153
- const get = async (menu) => {
154
+ /**
155
+ * Finds and returns the menu specified by "menu" if registered.
156
+ * @param menu - The side or ID of the desired menu
157
+ * @param logOnMultipleSideMenus - If true, this function will log a warning
158
+ * if "menu" is a side but multiple menus on the same side were found. Since this function
159
+ * is used in multiple places, we default this log to false so that the calling
160
+ * functions can choose whether or not it is appropriate to log this warning.
161
+ */
162
+ const get = async (menu, logOnMultipleSideMenus = false) => {
154
163
  await waitUntilReady();
155
164
  if (menu === 'start' || menu === 'end') {
156
165
  // there could be more than one menu on the same side
157
166
  // so first try to get the enabled one
158
- const menuRef = find((m) => m.side === menu && !m.disabled);
159
- if (menuRef) {
160
- return menuRef;
167
+ const menuRefs = menus.filter((m) => m.side === menu && !m.disabled);
168
+ if (menuRefs.length >= 1) {
169
+ if (menuRefs.length > 1 && logOnMultipleSideMenus) {
170
+ printIonWarning(`menuController queried for a menu on the "${menu}" side, but ${menuRefs.length} menus were found. The first menu reference will be used. If this is not the behavior you want then pass the ID of the menu instead of its side.`, menuRefs.map((m) => m.el));
171
+ }
172
+ return menuRefs[0].el;
161
173
  }
162
174
  // didn't find a menu side that is enabled
163
175
  // so try to get the first menu side found
164
- return find((m) => m.side === menu);
176
+ const sideMenuRefs = menus.filter((m) => m.side === menu);
177
+ if (sideMenuRefs.length >= 1) {
178
+ if (sideMenuRefs.length > 1 && logOnMultipleSideMenus) {
179
+ printIonWarning(`menuController queried for a menu on the "${menu}" side, but ${sideMenuRefs.length} menus were found. The first menu reference will be used. If this is not the behavior you want then pass the ID of the menu instead of its side.`, sideMenuRefs.map((m) => m.el));
180
+ }
181
+ return sideMenuRefs[0].el;
182
+ }
165
183
  }
166
184
  else if (menu != null) {
167
185
  // the menuId was not left or right
@@ -203,9 +221,6 @@ const createMenuController = () => {
203
221
  };
204
222
  const _register = (menu) => {
205
223
  if (menus.indexOf(menu) < 0) {
206
- if (!menu.disabled) {
207
- _setActiveMenu(menu);
208
- }
209
224
  menus.push(menu);
210
225
  }
211
226
  };
@@ -215,13 +230,6 @@ const createMenuController = () => {
215
230
  menus.splice(index, 1);
216
231
  }
217
232
  };
218
- const _setActiveMenu = (menu) => {
219
- // if this menu should be enabled
220
- // then find all the other menus on this same side
221
- // and automatically disable other same side menus
222
- const side = menu.side;
223
- menus.filter((m) => m.side === side && m !== menu).forEach((m) => (m.disabled = true));
224
- };
225
233
  const _setOpen = async (menu, shouldOpen, animated) => {
226
234
  if (isAnimatingSync()) {
227
235
  return false;
@@ -293,7 +301,6 @@ const createMenuController = () => {
293
301
  _register,
294
302
  _unregister,
295
303
  _setOpen,
296
- _setActiveMenu,
297
304
  };
298
305
  };
299
306
  const menuController = /*@__PURE__*/ createMenuController();
package/dist/esm/index.js CHANGED
@@ -11,14 +11,14 @@ export { g as getPlatforms, i as initialize, a as isPlatform } from './ionic-glo
11
11
  export { c as componentOnReady } from './helpers-3379ba19.js';
12
12
  export { I as IonicSafeString, g as getMode, s as setupConfig } from './config-96c9ace3.js';
13
13
  export { o as openURL } from './theme-17531cdf.js';
14
- export { m as menuController } from './index-97a2bb98.js';
14
+ export { m as menuController } from './index-c3e624b7.js';
15
15
  export { b as actionSheetController, a as alertController, l as loadingController, m as modalController, p as pickerController, c as popoverController, t as toastController } from './overlays-753933fc.js';
16
16
  import './index-7a14ecec.js';
17
17
  import './index-cb894020.js';
18
18
  import './gesture-controller-0fa396c4.js';
19
+ import './index-595d62c9.js';
19
20
  import './hardware-back-button-39299f84.js';
20
21
  import './framework-delegate-aa433dea.js';
21
- import './index-595d62c9.js';
22
22
 
23
23
  const IonicSlides = (opts) => {
24
24
  const { swiper, extendParams } = opts;
@@ -3,7 +3,7 @@
3
3
  */
4
4
  import { r as registerInstance, h, H as Host, f as getElement, d as createEvent } from './index-cb894020.js';
5
5
  import { r as raf, t as transitionEndAsync, a as addEventListener, b as removeEventListener, g as getElementRoot } from './helpers-3379ba19.js';
6
- import { l as chevronDown } from './index-ecfc2c9f.js';
6
+ import { l as chevronDown } from './index-504b03f0.js';
7
7
  import { c as config, b as getIonMode } from './ionic-global-63a8d8c9.js';
8
8
  import { p as printIonWarning } from './index-595d62c9.js';
9
9
 
@@ -4,7 +4,7 @@
4
4
  import { r as registerInstance, h, H as Host, f as getElement } from './index-cb894020.js';
5
5
  import { i as inheritAriaAttributes } from './helpers-3379ba19.js';
6
6
  import { o as openURL, c as createColorClasses, h as hostContext } from './theme-17531cdf.js';
7
- import { c as chevronBack, a as arrowBackSharp } from './index-ecfc2c9f.js';
7
+ import { c as chevronBack, a as arrowBackSharp } from './index-504b03f0.js';
8
8
  import { c as config, b as getIonMode } from './ionic-global-63a8d8c9.js';
9
9
 
10
10
  const backButtonIosCss = ":host{--background:transparent;--color-focused:currentColor;--color-hover:currentColor;--icon-margin-top:0;--icon-margin-bottom:0;--icon-padding-top:0;--icon-padding-end:0;--icon-padding-bottom:0;--icon-padding-start:0;--margin-top:0;--margin-end:0;--margin-bottom:0;--margin-start:0;--min-width:auto;--min-height:auto;--padding-top:0;--padding-end:0;--padding-bottom:0;--padding-start:0;--opacity:1;--ripple-color:currentColor;--transition:background-color, opacity 100ms linear;display:none;min-width:var(--min-width);min-height:var(--min-height);color:var(--color);font-family:var(--ion-font-family, inherit);text-align:center;text-decoration:none;text-overflow:ellipsis;text-transform:none;white-space:nowrap;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-font-kerning:none;font-kerning:none}ion-ripple-effect{color:var(--ripple-color)}:host(.ion-color) .button-native{color:var(--ion-color-base)}:host(.show-back-button){display:block}:host(.back-button-disabled){cursor:default;opacity:0.5;pointer-events:none}.button-native{border-radius:var(--border-radius);-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;-webkit-margin-start:var(--margin-start);margin-inline-start:var(--margin-start);-webkit-margin-end:var(--margin-end);margin-inline-end:var(--margin-end);margin-top:var(--margin-top);margin-bottom:var(--margin-bottom);-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);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;display:block;position:relative;width:100%;height:100%;min-height:inherit;-webkit-transition:var(--transition);transition:var(--transition);border:0;outline:none;background:var(--background);line-height:1;cursor:pointer;opacity:var(--opacity);overflow:hidden;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;z-index:0;-webkit-appearance:none;-moz-appearance:none;appearance:none}.button-inner{display:-ms-flexbox;display:flex;position:relative;-ms-flex-flow:row nowrap;flex-flow:row nowrap;-ms-flex-negative:0;flex-shrink:0;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;width:100%;height:100%;z-index:1}ion-icon{-webkit-padding-start:var(--icon-padding-start);padding-inline-start:var(--icon-padding-start);-webkit-padding-end:var(--icon-padding-end);padding-inline-end:var(--icon-padding-end);padding-top:var(--icon-padding-top);padding-bottom:var(--icon-padding-bottom);-webkit-margin-start:var(--icon-margin-start);margin-inline-start:var(--icon-margin-start);-webkit-margin-end:var(--icon-margin-end);margin-inline-end:var(--icon-margin-end);margin-top:var(--icon-margin-top);margin-bottom:var(--icon-margin-bottom);display:inherit;font-size:var(--icon-font-size);font-weight:var(--icon-font-weight);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)}}:host(.ion-color.ion-focused) .button-native{color:var(--ion-color-base)}@media (any-hover: hover){:host(.ion-color:hover) .button-native{color:var(--ion-color-base)}}:host(.in-toolbar:not(.in-toolbar-color)){color:var(--ion-toolbar-color, var(--color))}:host{--background-hover:transparent;--background-hover-opacity:1;--background-focused:currentColor;--background-focused-opacity:.1;--border-radius:4px;--color:var(--ion-color-primary, #3880ff);--icon-margin-end:1px;--icon-margin-start:-4px;--icon-font-size:1.6em;--min-height:32px;font-size:17px}.button-native{-webkit-transform:translateZ(0);transform:translateZ(0);overflow:visible;z-index:99}:host(.ion-activated) .button-native{opacity:0.4}@media (any-hover: hover){:host(:hover){opacity:0.6}}";
@@ -4,7 +4,7 @@
4
4
  import { r as registerInstance, d as createEvent, h, H as Host, f as getElement } from './index-cb894020.js';
5
5
  import { i as inheritAriaAttributes } from './helpers-3379ba19.js';
6
6
  import { o as openURL, c as createColorClasses, h as hostContext } from './theme-17531cdf.js';
7
- import { m as chevronForwardOutline, n as ellipsisHorizontal } from './index-ecfc2c9f.js';
7
+ import { m as chevronForwardOutline, n as ellipsisHorizontal } from './index-504b03f0.js';
8
8
  import { b as getIonMode } from './ionic-global-63a8d8c9.js';
9
9
 
10
10
  const breadcrumbIosCss = ":host{display:-ms-flexbox;display:flex;-ms-flex:0 0 auto;flex:0 0 auto;-ms-flex-align:center;align-items:center;color:var(--color);font-size:16px;font-weight:400;line-height:1.5}.breadcrumb-native{font-family:inherit;font-size:inherit;font-style:inherit;font-weight:inherit;letter-spacing:inherit;text-decoration:inherit;text-indent:inherit;text-overflow:inherit;text-transform:inherit;text-align:inherit;white-space:inherit;color:inherit;padding-left:0;padding-right:0;padding-top:0;padding-bottom:0;margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;width:100%;outline:none;background:inherit}:host(.breadcrumb-disabled){cursor:default;opacity:0.5;pointer-events:none}:host(.breadcrumb-active){color:var(--color-active)}:host(.ion-focused){color:var(--color-focused)}:host(.ion-focused) .breadcrumb-native{background:var(--background-focused)}@media (any-hover: hover){:host(.ion-activatable:hover){color:var(--color-hover)}:host(.ion-activatable.in-breadcrumbs-color:hover),:host(.ion-activatable.ion-color:hover){color:var(--ion-color-shade)}}.breadcrumb-separator{display:-ms-inline-flexbox;display:inline-flex}:host(.breadcrumb-collapsed) .breadcrumb-native{display:none}:host(.in-breadcrumbs-color),:host(.in-breadcrumbs-color.breadcrumb-active){color:var(--ion-color-base)}:host(.in-breadcrumbs-color) .breadcrumb-separator{color:var(--ion-color-base)}:host(.ion-color){color:var(--ion-color-base)}:host(.in-toolbar-color),:host(.in-toolbar-color) .breadcrumb-separator{color:rgba(var(--ion-color-contrast-rgb), 0.8)}:host(.in-toolbar-color.breadcrumb-active){color:var(--ion-color-contrast)}.breadcrumbs-collapsed-indicator{padding-left:0;padding-right:0;padding-top:0;padding-bottom:0;-webkit-margin-start:14px;margin-inline-start:14px;-webkit-margin-end:14px;margin-inline-end:14px;margin-top:0;margin-bottom:0;display:-ms-flexbox;display:flex;-ms-flex:1 1 100%;flex:1 1 100%;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;width:32px;height:18px;border:0;outline:none;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none}.breadcrumbs-collapsed-indicator ion-icon{margin-top:1px;font-size:22px}:host{--color:var(--ion-color-step-850, #2d4665);--color-active:var(--ion-text-color, #03060b);--color-hover:var(--ion-text-color, #03060b);--color-focused:var(--color-active);--background-focused:var(--ion-color-step-50, rgba(233, 237, 243, 0.7))}:host(.breadcrumb-active){font-weight:600}.breadcrumb-native{border-radius:4px;-webkit-padding-start:12px;padding-inline-start:12px;-webkit-padding-end:12px;padding-inline-end:12px;padding-top:5px;padding-bottom:5px;border:1px solid transparent}:host(.ion-focused) .breadcrumb-native{border-radius:8px}:host(.in-breadcrumbs-color.ion-focused) .breadcrumb-native,:host(.ion-color.ion-focused) .breadcrumb-native{background:rgba(var(--ion-color-base-rgb), 0.1);color:var(--ion-color-base)}:host(.ion-focused) ::slotted(ion-icon),:host(.in-breadcrumbs-color.ion-focused) ::slotted(ion-icon),:host(.ion-color.ion-focused) ::slotted(ion-icon){color:var(--ion-color-step-750, #445b78)}.breadcrumb-separator{color:var(--ion-color-step-550, #73849a)}::slotted(ion-icon){color:var(--ion-color-step-400, #92a0b3);font-size:18px}::slotted(ion-icon[slot=start]){-webkit-margin-end:8px;margin-inline-end:8px}::slotted(ion-icon[slot=end]){-webkit-margin-start:8px;margin-inline-start:8px}:host(.breadcrumb-active) ::slotted(ion-icon){color:var(--ion-color-step-850, #242d39)}.breadcrumbs-collapsed-indicator{border-radius:4px;background:var(--ion-color-step-100, #e9edf3);color:var(--ion-color-step-550, #73849a)}.breadcrumbs-collapsed-indicator:hover{opacity:0.45}.breadcrumbs-collapsed-indicator:focus{background:var(--ion-color-step-150, #d9e0ea)}";
@@ -442,7 +442,7 @@ const getSvgContent = (url, sanitize) => {
442
442
  return req;
443
443
  };
444
444
 
445
- const iconCss = ":host{display:inline-block;width:1em;height:1em;contain:strict;fill:currentColor;-webkit-box-sizing:content-box !important;box-sizing:content-box !important}:host .ionicon{stroke:currentColor}.ionicon-fill-none{fill:none}.ionicon-stroke-width{stroke-width:32px;stroke-width:var(--ionicon-stroke-width, 32px)}.icon-inner,.ionicon,svg{display:block;height:100%;width:100%}:host(.flip-rtl) .icon-inner{-webkit-transform:scaleX(-1);transform:scaleX(-1)}:host(.icon-small){font-size:18px !important}:host(.icon-large){font-size:32px !important}:host(.ion-color){color:var(--ion-color-base) !important}:host(.ion-color-primary){--ion-color-base:var(--ion-color-primary, #3880ff)}:host(.ion-color-secondary){--ion-color-base:var(--ion-color-secondary, #0cd1e8)}:host(.ion-color-tertiary){--ion-color-base:var(--ion-color-tertiary, #f4a942)}:host(.ion-color-success){--ion-color-base:var(--ion-color-success, #10dc60)}:host(.ion-color-warning){--ion-color-base:var(--ion-color-warning, #ffce00)}:host(.ion-color-danger){--ion-color-base:var(--ion-color-danger, #f14141)}:host(.ion-color-light){--ion-color-base:var(--ion-color-light, #f4f5f8)}:host(.ion-color-medium){--ion-color-base:var(--ion-color-medium, #989aa2)}:host(.ion-color-dark){--ion-color-base:var(--ion-color-dark, #222428)}";
445
+ const iconCss = ":host{display:inline-block;width:1em;height:1em;contain:strict;fill:currentColor;-webkit-box-sizing:content-box !important;box-sizing:content-box !important}:host .ionicon{stroke:currentColor}.ionicon-fill-none{fill:none}.ionicon-stroke-width{stroke-width:32px;stroke-width:var(--ionicon-stroke-width, 32px)}.icon-inner,.ionicon,svg{display:block;height:100%;width:100%}@supports (background: -webkit-named-image(i)){:host(.icon-rtl) .icon-inner{-webkit-transform:scaleX(-1);transform:scaleX(-1)}}@supports not selector(:dir(rtl)) and selector(:host-context([dir='rtl'])){:host(.icon-rtl) .icon-inner{-webkit-transform:scaleX(-1);transform:scaleX(-1)}}:host(.flip-rtl):host-context([dir='rtl']) .icon-inner{-webkit-transform:scaleX(-1);transform:scaleX(-1)}@supports selector(:dir(rtl)){:host(.flip-rtl:dir(rtl)) .icon-inner{-webkit-transform:scaleX(-1);transform:scaleX(-1)}:host(.flip-rtl:dir(ltr)) .icon-inner{-webkit-transform:scaleX(1);transform:scaleX(1)}}:host(.icon-small){font-size:18px !important}:host(.icon-large){font-size:32px !important}:host(.ion-color){color:var(--ion-color-base) !important}:host(.ion-color-primary){--ion-color-base:var(--ion-color-primary, #3880ff)}:host(.ion-color-secondary){--ion-color-base:var(--ion-color-secondary, #0cd1e8)}:host(.ion-color-tertiary){--ion-color-base:var(--ion-color-tertiary, #f4a942)}:host(.ion-color-success){--ion-color-base:var(--ion-color-success, #10dc60)}:host(.ion-color-warning){--ion-color-base:var(--ion-color-warning, #ffce00)}:host(.ion-color-danger){--ion-color-base:var(--ion-color-danger, #f14141)}:host(.ion-color-light){--ion-color-base:var(--ion-color-light, #f4f5f8)}:host(.ion-color-medium){--ion-color-base:var(--ion-color-medium, #989aa2)}:host(.ion-color-dark){--ion-color-base:var(--ion-color-dark, #222428)}";
446
446
 
447
447
  const Icon = class {
448
448
  constructor(hostRef) {
@@ -519,11 +519,15 @@ const Icon = class {
519
519
  this.iconName = getName(this.name, this.icon, this.mode, this.ios, this.md);
520
520
  }
521
521
  render() {
522
- const { iconName, el, inheritedAttributes } = this;
522
+ const { flipRtl, iconName, inheritedAttributes, el } = this;
523
523
  const mode = this.mode || 'md';
524
- const flipRtl = this.flipRtl ||
525
- (iconName && (iconName.indexOf('arrow') > -1 || iconName.indexOf('chevron') > -1) && this.flipRtl !== false);
526
- return (h(Host, Object.assign({ role: "img", class: Object.assign(Object.assign({ [mode]: true }, createColorClasses(this.color)), { [`icon-${this.size}`]: !!this.size, 'flip-rtl': !!flipRtl && isRTL(el) }) }, inheritedAttributes), this.svgContent ? (h("div", { class: "icon-inner", innerHTML: this.svgContent })) : (h("div", { class: "icon-inner" }))));
524
+ // we have designated that arrows & chevrons should automatically flip (unless flip-rtl is set to false) because "back" is left in ltr and right in rtl, and "forward" is the opposite
525
+ const shouldAutoFlip = iconName
526
+ ? (iconName.includes('arrow') || iconName.includes('chevron')) && flipRtl !== false
527
+ : false;
528
+ // if shouldBeFlippable is true, the icon should change direction when `dir` changes
529
+ const shouldBeFlippable = flipRtl || shouldAutoFlip;
530
+ return (h(Host, Object.assign({ role: "img", class: Object.assign(Object.assign({ [mode]: true }, createColorClasses(this.color)), { [`icon-${this.size}`]: !!this.size, 'flip-rtl': shouldBeFlippable, 'icon-rtl': shouldBeFlippable && isRTL(el) }) }, inheritedAttributes), this.svgContent ? (h("div", { class: "icon-inner", innerHTML: this.svgContent })) : (h("div", { class: "icon-inner" }))));
527
531
  }
528
532
  static get assetsDirs() { return ["svg"]; }
529
533
  get el() { return getElement(this); }
@@ -7,7 +7,7 @@ import { r as raf, d as renderHiddenInput, g as getElementRoot, l as clamp } fro
7
7
  import { a as printIonError, p as printIonWarning } from './index-595d62c9.js';
8
8
  import { i as isRTL } from './dir-912e3e13.js';
9
9
  import { c as createColorClasses, g as getClassMap } from './theme-17531cdf.js';
10
- import { c as chevronBack, o as chevronForward, l as chevronDown, p as caretUpSharp, q as caretDownSharp } from './index-ecfc2c9f.js';
10
+ import { c as chevronBack, o as chevronForward, l as chevronDown, p as caretUpSharp, q as caretDownSharp } from './index-504b03f0.js';
11
11
  import { b as getIonMode } from './ionic-global-63a8d8c9.js';
12
12
  import { g as generateDayAriaLabel, a as getDay, i as isBefore, b as isAfter, c as isSameDay, d as getPreviousMonth, e as getNextMonth, v as validateParts, f as getPartsFromCalendarDay, h as getEndOfWeek, j as getStartOfWeek, k as getPreviousDay, l as getNextDay, m as getPreviousWeek, n as getNextWeek, p as parseMinParts, o as parseMaxParts, q as parseDate, w as warnIfValueOutOfBounds, r as convertToArrayOfNumbers, s as convertDataToISO, t as getToday, u as getClosestValidDate, x as getNumDaysInMonth, y as getCombinedDateColumnData, z as getMonthColumnData, A as getDayColumnData, B as getYearColumnData, C as isMonthFirstLocale, D as getTimeColumnsData, E as isLocaleDayPeriodRTL, F as getDaysOfWeek, G as getMonthAndYear, H as getDaysOfMonth, I as generateMonths, J as getHourCycle, K as getLocalizedTime, L as getMonthAndDay, M as formatValue, N as getNextYear, O as getPreviousYear, P as clampDate, Q as parseAmPm, R as calculateHourFromAMPM } from './data-44d9e816.js';
13
13
  import { c as createLockController } from './lock-controller-e8c6c051.js';
@@ -5,7 +5,7 @@ import { r as registerInstance, h, H as Host, f as getElement, d as createEvent
5
5
  import { b as getIonMode } from './ionic-global-63a8d8c9.js';
6
6
  import { i as inheritAriaAttributes } from './helpers-3379ba19.js';
7
7
  import { h as hostContext, o as openURL, c as createColorClasses } from './theme-17531cdf.js';
8
- import { t as close } from './index-ecfc2c9f.js';
8
+ import { t as close } from './index-504b03f0.js';
9
9
 
10
10
  const fabCss = ":host{position:absolute;width:-webkit-fit-content;width:-moz-fit-content;width:fit-content;height:-webkit-fit-content;height:-moz-fit-content;height:fit-content;z-index:999}:host(.fab-horizontal-center){left:0px;right:0px;-webkit-margin-start:auto;margin-inline-start:auto;-webkit-margin-end:auto;margin-inline-end:auto}@supports (inset-inline-start: 0){:host(.fab-horizontal-start){inset-inline-start:calc(10px + var(--ion-safe-area-left, 0px))}}@supports not (inset-inline-start: 0){:host(.fab-horizontal-start){left:calc(10px + var(--ion-safe-area-left, 0px))}:host-context([dir=rtl]):host(.fab-horizontal-start),:host-context([dir=rtl]).fab-horizontal-start{left:unset;right:unset;right:calc(10px + var(--ion-safe-area-left, 0px))}@supports selector(:dir(rtl)){:host(.fab-horizontal-start):dir(rtl){left:unset;right:unset;right:calc(10px + var(--ion-safe-area-left, 0px))}}}@supports (inset-inline-start: 0){:host(.fab-horizontal-end){inset-inline-end:calc(10px + var(--ion-safe-area-right, 0px))}}@supports not (inset-inline-start: 0){:host(.fab-horizontal-end){right:calc(10px + var(--ion-safe-area-right, 0px))}:host-context([dir=rtl]):host(.fab-horizontal-end),:host-context([dir=rtl]).fab-horizontal-end{left:unset;right:unset;left:calc(10px + var(--ion-safe-area-right, 0px))}@supports selector(:dir(rtl)){:host(.fab-horizontal-end):dir(rtl){left:unset;right:unset;left:calc(10px + var(--ion-safe-area-right, 0px))}}}:host(.fab-vertical-top){top:10px}:host(.fab-vertical-top.fab-edge){top:0}:host(.fab-vertical-top.fab-edge) ::slotted(ion-fab-button){margin-top:-50%}:host(.fab-vertical-top.fab-edge) ::slotted(ion-fab-button.fab-button-small){margin-top:calc((-100% + 16px) / 2)}:host(.fab-vertical-top.fab-edge) ::slotted(ion-fab-list.fab-list-side-start),:host(.fab-vertical-top.fab-edge) ::slotted(ion-fab-list.fab-list-side-end){margin-top:-50%}:host(.fab-vertical-top.fab-edge) ::slotted(ion-fab-list.fab-list-side-top),:host(.fab-vertical-top.fab-edge) ::slotted(ion-fab-list.fab-list-side-bottom){margin-top:calc(50% + 10px)}:host(.fab-vertical-bottom){bottom:10px}:host(.fab-vertical-bottom.fab-edge){bottom:0}:host(.fab-vertical-bottom.fab-edge) ::slotted(ion-fab-button){margin-bottom:-50%}:host(.fab-vertical-bottom.fab-edge) ::slotted(ion-fab-button.fab-button-small){margin-bottom:calc((-100% + 16px) / 2)}:host(.fab-vertical-bottom.fab-edge) ::slotted(ion-fab-list.fab-list-side-start),:host(.fab-vertical-bottom.fab-edge) ::slotted(ion-fab-list.fab-list-side-end){margin-bottom:-50%}:host(.fab-vertical-bottom.fab-edge) ::slotted(ion-fab-list.fab-list-side-top),:host(.fab-vertical-bottom.fab-edge) ::slotted(ion-fab-list.fab-list-side-bottom){margin-bottom:calc(50% + 10px)}:host(.fab-vertical-center){top:0px;bottom:0px;margin-top:auto;margin-bottom:auto}";
11
11
 
@@ -8,7 +8,7 @@ import { j as debounceEvent, i as inheritAriaAttributes, k as inheritAttributes,
8
8
  import { p as printIonWarning } from './index-595d62c9.js';
9
9
  import { c as createSlotMutationController, g as getCounterText } from './input.utils-ec063df4.js';
10
10
  import { h as hostContext, c as createColorClasses } from './theme-17531cdf.js';
11
- import { b as closeCircle, d as closeSharp } from './index-ecfc2c9f.js';
11
+ import { b as closeCircle, d as closeSharp } from './index-504b03f0.js';
12
12
  import { b as getIonMode } from './ionic-global-63a8d8c9.js';
13
13
  import './index-7a14ecec.js';
14
14
 
@@ -5,7 +5,7 @@ import { r as registerInstance, i as forceUpdate, h, H as Host, f as getElement,
5
5
  import { k as inheritAttributes, r as raf } from './helpers-3379ba19.js';
6
6
  import { p as printIonWarning, a as printIonError } from './index-595d62c9.js';
7
7
  import { h as hostContext, c as createColorClasses, o as openURL } from './theme-17531cdf.js';
8
- import { o as chevronForward } from './index-ecfc2c9f.js';
8
+ import { o as chevronForward } from './index-504b03f0.js';
9
9
  import { b as getIonMode, c as config } from './ionic-global-63a8d8c9.js';
10
10
 
11
11
  const itemIosCss = ":host{--border-radius:0px;--border-width:0px;--border-style:solid;--padding-top:0px;--padding-bottom:0px;--padding-end:0px;--padding-start:0px;--inner-border-width:0px;--inner-padding-top:0px;--inner-padding-bottom:0px;--inner-padding-start:0px;--inner-padding-end:0px;--inner-box-shadow:none;--show-full-highlight:0;--show-inset-highlight:0;--detail-icon-color:initial;--detail-icon-font-size:20px;--detail-icon-opacity:0.25;--color-activated:var(--color);--color-focused:var(--color);--color-hover:var(--color);--ripple-color:currentColor;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;display:block;position:relative;-ms-flex-align:center;align-items:center;-ms-flex-pack:justify;justify-content:space-between;outline:none;color:var(--color);font-family:var(--ion-font-family, inherit);text-align:initial;text-decoration:none;overflow:hidden;-webkit-box-sizing:border-box;box-sizing:border-box}:host(.ion-color:not(.item-fill-solid):not(.item-fill-outline)) .item-native{background:var(--ion-color-base);color:var(--ion-color-contrast)}:host(.ion-color:not(.item-fill-solid):not(.item-fill-outline)) .item-native,:host(.ion-color:not(.item-fill-solid):not(.item-fill-outline)) .item-inner{border-color:var(--ion-color-shade)}:host(.ion-activated) .item-native{color:var(--color-activated)}:host(.ion-activated) .item-native::after{background:var(--background-activated);opacity:var(--background-activated-opacity)}:host(.ion-color.ion-activated) .item-native{color:var(--ion-color-contrast)}:host(.ion-focused) .item-native{color:var(--color-focused)}:host(.ion-focused) .item-native::after{background:var(--background-focused);opacity:var(--background-focused-opacity)}:host(.ion-color.ion-focused) .item-native{color:var(--ion-color-contrast)}:host(.ion-color.ion-focused) .item-native::after{background:var(--ion-color-contrast)}@media (any-hover: hover){:host(.ion-activatable:not(.ion-focused):hover) .item-native{color:var(--color-hover)}:host(.ion-activatable:not(.ion-focused):hover) .item-native::after{background:var(--background-hover);opacity:var(--background-hover-opacity)}:host(.ion-color.ion-activatable:not(.ion-focused):hover) .item-native{color:var(--ion-color-contrast)}:host(.ion-color.ion-activatable:not(.ion-focused):hover) .item-native::after{background:var(--ion-color-contrast)}}:host(.item-has-interactive-control){cursor:pointer}:host(.item-interactive-disabled:not(.item-multiple-inputs)){cursor:default;pointer-events:none}:host(.item-disabled){cursor:default;opacity:0.3;pointer-events:none}.item-native{border-radius:var(--border-radius);margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;-webkit-padding-start:calc(var(--padding-start) + var(--ion-safe-area-left, 0px));padding-inline-start:calc(var(--padding-start) + var(--ion-safe-area-left, 0px));-webkit-padding-end:var(--padding-end);padding-inline-end:var(--padding-end);padding-top:var(--padding-top);padding-bottom:var(--padding-bottom);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;display:-ms-flexbox;display:flex;position:relative;-ms-flex-align:inherit;align-items:inherit;-ms-flex-pack:inherit;justify-content:inherit;width:100%;min-height:var(--min-height);-webkit-transition:var(--transition);transition:var(--transition);border-width:var(--border-width);border-style:var(--border-style);border-color:var(--border-color);outline:none;background:var(--background);overflow:inherit;-webkit-box-sizing:border-box;box-sizing:border-box;z-index:1}.item-native::-moz-focus-inner{border:0}.item-native::after{left:0;right:0;top:0;bottom:0;position:absolute;content:\"\";opacity:0;-webkit-transition:var(--transition);transition:var(--transition);z-index:-1}button,a{cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-user-drag:none}.item-inner{margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;-webkit-padding-start:var(--inner-padding-start);padding-inline-start:var(--inner-padding-start);-webkit-padding-end:calc(var(--ion-safe-area-right, 0px) + var(--inner-padding-end));padding-inline-end:calc(var(--ion-safe-area-right, 0px) + var(--inner-padding-end));padding-top:var(--inner-padding-top);padding-bottom:var(--inner-padding-bottom);display:-ms-flexbox;display:flex;position:relative;-ms-flex:1;flex:1;-ms-flex-direction:inherit;flex-direction:inherit;-ms-flex-align:inherit;align-items:inherit;-ms-flex-item-align:stretch;align-self:stretch;min-height:inherit;border-width:var(--inner-border-width);border-style:var(--border-style);border-color:var(--border-color);-webkit-box-shadow:var(--inner-box-shadow);box-shadow:var(--inner-box-shadow);overflow:inherit;-webkit-box-sizing:border-box;box-sizing:border-box}.item-bottom{margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;-webkit-padding-start:calc(var(--padding-start) + var(--ion-safe-area-left, 0px));padding-inline-start:calc(var(--padding-start) + var(--ion-safe-area-left, 0px));-webkit-padding-end:var(--inner-padding-end);padding-inline-end:var(--inner-padding-end);padding-top:0;padding-bottom:0;display:-ms-flexbox;display:flex;-ms-flex-pack:justify;justify-content:space-between}.item-detail-icon{-webkit-margin-start:calc(var(--inner-padding-end) / 2);margin-inline-start:calc(var(--inner-padding-end) / 2);-webkit-margin-end:-6px;margin-inline-end:-6px;color:var(--detail-icon-color);font-size:var(--detail-icon-font-size);opacity:var(--detail-icon-opacity)}::slotted(ion-icon){font-size:1.6em}::slotted(ion-button){--margin-top:0;--margin-bottom:0;--margin-start:0;--margin-end:0;z-index:1}::slotted(ion-label:not([slot=end])){-ms-flex:1;flex:1}:host(.item-input){-ms-flex-align:center;align-items:center}.input-wrapper{display:-ms-flexbox;display:flex;-ms-flex:1;flex:1;-ms-flex-direction:inherit;flex-direction:inherit;-ms-flex-align:inherit;align-items:inherit;-ms-flex-item-align:stretch;align-self:stretch;text-overflow:ellipsis;overflow:inherit;-webkit-box-sizing:border-box;box-sizing:border-box}:host(.item-label-stacked),:host(.item-label-floating){-ms-flex-align:start;align-items:start}:host(.item-label-stacked) .input-wrapper,:host(.item-label-floating) .input-wrapper{-ms-flex:1;flex:1;-ms-flex-direction:column;flex-direction:column}.item-highlight,.item-inner-highlight{left:0;right:0;top:0;bottom:0;border-radius:inherit;position:absolute;width:100%;height:100%;-webkit-transform:scaleX(0);transform:scaleX(0);-webkit-transition:border-bottom-width 200ms, -webkit-transform 200ms;transition:border-bottom-width 200ms, -webkit-transform 200ms;transition:transform 200ms, border-bottom-width 200ms;transition:transform 200ms, border-bottom-width 200ms, -webkit-transform 200ms;z-index:2;-webkit-box-sizing:border-box;box-sizing:border-box;pointer-events:none}:host(.item-interactive.ion-focused),:host(.item-interactive.item-has-focus),:host(.item-interactive.ion-touched.ion-invalid){--full-highlight-height:calc(var(--highlight-height) * var(--show-full-highlight));--inset-highlight-height:calc(var(--highlight-height) * var(--show-inset-highlight))}:host(.ion-focused) .item-highlight,:host(.ion-focused) .item-inner-highlight,:host(.item-has-focus) .item-highlight,:host(.item-has-focus) .item-inner-highlight{-webkit-transform:scaleX(1);transform:scaleX(1);border-style:var(--border-style);border-color:var(--highlight-background)}:host(.ion-focused) .item-highlight,:host(.item-has-focus) .item-highlight{border-width:var(--full-highlight-height);opacity:var(--show-full-highlight)}:host(.ion-focused) .item-inner-highlight,:host(.item-has-focus) .item-inner-highlight{border-bottom-width:var(--inset-highlight-height);opacity:var(--show-inset-highlight)}:host(.ion-focused.item-fill-solid) .item-highlight,:host(.item-has-focus.item-fill-solid) .item-highlight{border-width:calc(var(--full-highlight-height) - 1px)}:host(.ion-focused) .item-inner-highlight,:host(.ion-focused:not(.item-fill-outline)) .item-highlight,:host(.item-has-focus) .item-inner-highlight,:host(.item-has-focus:not(.item-fill-outline)) .item-highlight{border-top:none;border-right:none;border-left:none}:host(.item-interactive.ion-focused),:host(.item-interactive.item-has-focus){--highlight-background:var(--highlight-color-focused)}:host(.item-interactive.ion-valid){--highlight-background:var(--highlight-color-valid)}:host(.item-interactive.ion-invalid){--highlight-background:var(--highlight-color-invalid)}:host(.item-interactive.ion-invalid) ::slotted([slot=helper]){display:none}::slotted([slot=error]){display:none;color:var(--highlight-color-invalid)}:host(.item-interactive.ion-invalid) ::slotted([slot=error]){display:block}:host(:not(.item-label)) ::slotted(ion-select.legacy-select){--padding-start:0;max-width:none}:host(.item-label-stacked) ::slotted(ion-select.legacy-select),:host(.item-label-floating) ::slotted(ion-select.legacy-select){--padding-top:8px;--padding-bottom:8px;--padding-start:0;-ms-flex-item-align:stretch;align-self:stretch;width:100%;max-width:100%}:host(:not(.item-label)) ::slotted(ion-datetime){--padding-start:0}:host(.item-label-stacked) ::slotted(ion-datetime),:host(.item-label-floating) ::slotted(ion-datetime){--padding-start:0;width:100%}:host(.item-multiple-inputs) ::slotted(ion-checkbox),:host(.item-multiple-inputs) ::slotted(ion-datetime),:host(.item-multiple-inputs) ::slotted(ion-radio),:host(.item-multiple-inputs) ::slotted(ion-select.legacy-select){position:relative}:host(.item-textarea){-ms-flex-align:stretch;align-items:stretch}::slotted(ion-reorder[slot]){margin-top:0;margin-bottom:0}ion-ripple-effect{color:var(--ripple-color)}:host(.item-fill-solid) ::slotted([slot=start]),:host(.item-fill-solid) ::slotted([slot=end]),:host(.item-fill-outline) ::slotted([slot=start]),:host(.item-fill-outline) ::slotted([slot=end]){-ms-flex-item-align:center;align-self:center}::slotted([slot=helper]),::slotted([slot=error]),.item-counter{padding-top:5px;font-size:12px;z-index:1}.item-counter{-webkit-margin-start:auto;margin-inline-start:auto;color:var(--ion-color-step-550, #737373);white-space:nowrap;-webkit-padding-start:16px;padding-inline-start:16px}@media (prefers-reduced-motion: reduce){.item-highlight,.item-inner-highlight{-webkit-transition:none;transition:none}}:host{--min-height:44px;--transition:background-color 200ms linear, opacity 200ms linear;--padding-start:16px;--inner-padding-end:16px;--inner-border-width:0px 0px 0.55px 0px;--background:var(--ion-item-background, var(--ion-background-color, #fff));--background-activated:var(--ion-text-color, #000);--background-focused:var(--ion-text-color, #000);--background-hover:currentColor;--background-activated-opacity:.12;--background-focused-opacity:.15;--background-hover-opacity:.04;--border-color:var(--ion-item-border-color, var(--ion-border-color, var(--ion-color-step-250, #c8c7cc)));--color:var(--ion-item-color, var(--ion-text-color, #000));--highlight-height:0px;--highlight-color-focused:var(--ion-color-primary, #3880ff);--highlight-color-valid:var(--ion-color-success, #2dd36f);--highlight-color-invalid:var(--ion-color-danger, #eb445a);--bottom-padding-start:0px;font-size:16px}:host(.ion-activated){--transition:none}:host(.ion-color.ion-focused) .item-native::after{background:#000;opacity:0.15}:host(.ion-color.ion-activated) .item-native::after{background:#000;opacity:0.12}:host(.item-interactive){--show-full-highlight:0;--show-inset-highlight:1}:host(.item-lines-full){--border-width:0px 0px 0.55px 0px;--show-full-highlight:1;--show-inset-highlight:0}:host(.item-lines-inset){--inner-border-width:0px 0px 0.55px 0px;--show-full-highlight:0;--show-inset-highlight:1}:host(.item-lines-inset),:host(.item-lines-none){--border-width:0px;--show-full-highlight:0}:host(.item-lines-full),:host(.item-lines-none){--inner-border-width:0px;--show-inset-highlight:0}.item-highlight,.item-inner-highlight{-webkit-transition:none;transition:none}:host(.item-has-focus) .item-inner-highlight,:host(.item-has-focus) .item-highlight{border-top:none;border-right:none;border-left:none}::slotted([slot=start]){-webkit-margin-start:0;margin-inline-start:0;-webkit-margin-end:16px;margin-inline-end:16px;margin-top:2px;margin-bottom:2px}::slotted(ion-icon[slot=start]),::slotted(ion-icon[slot=end]){margin-top:7px;margin-bottom:7px}::slotted(ion-toggle[slot=start]),::slotted(ion-toggle[slot=end]){margin-left:0;margin-right:0;margin-top:0;margin-bottom:0}:host(.item-label-stacked) ::slotted([slot=end]),:host(.item-label-floating) ::slotted([slot=end]){margin-top:7px;margin-bottom:7px}::slotted(.button-small){--padding-top:1px;--padding-bottom:1px;--padding-start:.5em;--padding-end:.5em;min-height:24px;font-size:13px}::slotted(ion-avatar){width:36px;height:36px}::slotted(ion-thumbnail){--size:56px}::slotted(ion-avatar[slot=end]),::slotted(ion-thumbnail[slot=end]){-webkit-margin-start:8px;margin-inline-start:8px;-webkit-margin-end:8px;margin-inline-end:8px;margin-top:8px;margin-bottom:8px}:host(.item-radio) ::slotted(ion-label),:host(.item-toggle) ::slotted(ion-label){-webkit-margin-start:0px;margin-inline-start:0px}::slotted(ion-label){-webkit-margin-start:0;margin-inline-start:0;-webkit-margin-end:8px;margin-inline-end:8px;margin-top:10px;margin-bottom:10px}:host(.item-label-floating),:host(.item-label-stacked){--min-height:68px}:host(.item-label-stacked) ::slotted(ion-select.legacy-select),:host(.item-label-floating) ::slotted(ion-select.legacy-select){--padding-top:8px;--padding-bottom:8px;--padding-start:0px}:host(.item-label-fixed) ::slotted(ion-select.legacy-select),:host(.item-label-fixed) ::slotted(ion-datetime){--padding-start:0}";
@@ -3,18 +3,18 @@
3
3
  */
4
4
  import { r as registerInstance, d as createEvent, h, H as Host, f as getElement } from './index-cb894020.js';
5
5
  import { g as getTimeGivenProgression } from './cubic-bezier-66542bc5.js';
6
- import { d as doc } from './index-7a14ecec.js';
7
6
  import { G as GESTURE_CONTROLLER } from './gesture-controller-0fa396c4.js';
8
7
  import { p as isEndSide, i as inheritAriaAttributes, o as assert, l as clamp } from './helpers-3379ba19.js';
9
- import { m as menuController } from './index-97a2bb98.js';
8
+ import { m as menuController } from './index-c3e624b7.js';
10
9
  import { q as getPresentedOverlay } from './overlays-753933fc.js';
11
10
  import { c as config, b as getIonMode } from './ionic-global-63a8d8c9.js';
12
11
  import { c as createColorClasses, h as hostContext } from './theme-17531cdf.js';
13
- import { u as menuOutline, v as menuSharp } from './index-ecfc2c9f.js';
12
+ import { u as menuOutline, v as menuSharp } from './index-504b03f0.js';
13
+ import './index-595d62c9.js';
14
14
  import './hardware-back-button-39299f84.js';
15
15
  import './animation-92066c62.js';
16
+ import './index-7a14ecec.js';
16
17
  import './framework-delegate-aa433dea.js';
17
- import './index-595d62c9.js';
18
18
 
19
19
  const menuIosCss = ":host{--width:304px;--min-width:auto;--max-width:auto;--height:100%;--min-height:auto;--max-height:auto;--background:var(--ion-background-color, #fff);left:0;right:0;top:0;bottom:0;display:none;position:absolute;contain:strict}:host(.show-menu){display:block}.menu-inner{-webkit-transform:translateX(-9999px);transform:translateX(-9999px);display:-ms-flexbox;display:flex;position:absolute;-ms-flex-direction:column;flex-direction:column;-ms-flex-pack:justify;justify-content:space-between;width:var(--width);min-width:var(--min-width);max-width:var(--max-width);height:var(--height);min-height:var(--min-height);max-height:var(--max-height);background:var(--background);contain:strict}:host(.menu-side-start) .menu-inner{--ion-safe-area-right:0px;top:0;bottom:0}@supports (inset-inline-start: 0){:host(.menu-side-start) .menu-inner{inset-inline-start:0;inset-inline-end:auto}}@supports not (inset-inline-start: 0){:host(.menu-side-start) .menu-inner{left:0;right:auto}:host-context([dir=rtl]):host(.menu-side-start) .menu-inner,:host-context([dir=rtl]).menu-side-start .menu-inner{left:unset;right:unset;left:auto;right:0}@supports selector(:dir(rtl)){:host(.menu-side-start) .menu-inner:dir(rtl){left:unset;right:unset;left:auto;right:0}}}:host-context([dir=rtl]):host(.menu-side-start) .menu-inner,:host-context([dir=rtl]).menu-side-start .menu-inner{--ion-safe-area-right:unset;--ion-safe-area-left:0px}@supports selector(:dir(rtl)){:host(.menu-side-start) .menu-inner:dir(rtl){--ion-safe-area-right:unset;--ion-safe-area-left:0px}}:host(.menu-side-end) .menu-inner{--ion-safe-area-left:0px;top:0;bottom:0}@supports (inset-inline-start: 0){:host(.menu-side-end) .menu-inner{inset-inline-start:auto;inset-inline-end:0}}@supports not (inset-inline-start: 0){:host(.menu-side-end) .menu-inner{left:auto;right:0}:host-context([dir=rtl]):host(.menu-side-end) .menu-inner,:host-context([dir=rtl]).menu-side-end .menu-inner{left:unset;right:unset;left:0;right:auto}@supports selector(:dir(rtl)){:host(.menu-side-end) .menu-inner:dir(rtl){left:unset;right:unset;left:0;right:auto}}}:host-context([dir=rtl]):host(.menu-side-end) .menu-inner,:host-context([dir=rtl]).menu-side-end .menu-inner{--ion-safe-area-left:unset;--ion-safe-area-right:0px}@supports selector(:dir(rtl)){:host(.menu-side-end) .menu-inner:dir(rtl){--ion-safe-area-left:unset;--ion-safe-area-right:0px}}ion-backdrop{display:none;opacity:0.01;z-index:-1}@media (max-width: 340px){.menu-inner{--width:264px}}:host(.menu-type-reveal){z-index:0}:host(.menu-type-reveal.show-menu) .menu-inner{-webkit-transform:translate3d(0, 0, 0);transform:translate3d(0, 0, 0)}:host(.menu-type-overlay){z-index:1000}:host(.menu-type-overlay) .show-backdrop{display:block;cursor:pointer}:host(.menu-pane-visible){width:var(--width);min-width:var(--min-width);max-width:var(--max-width)}:host(.menu-pane-visible) .menu-inner{left:0;right:0;width:auto;-webkit-transform:none !important;transform:none !important;-webkit-box-shadow:none !important;box-shadow:none !important}:host(.menu-pane-visible) ion-backdrop{display:hidden !important;}:host(.menu-type-push){z-index:1000}:host(.menu-type-push) .show-backdrop{display:block}";
20
20
 
@@ -589,17 +589,6 @@ const Menu = class {
589
589
  */
590
590
  this.afterAnimation(false);
591
591
  }
592
- if (doc === null || doc === void 0 ? void 0 : doc.contains(this.el)) {
593
- /**
594
- * Only set the active menu if the menu element is
595
- * present in the DOM. Otherwise if it was destructively
596
- * re-hydrated (through Angular Universal), then ignore
597
- * setting the removed node as the active menu.
598
- */
599
- if (!this.disabled) {
600
- menuController._setActiveMenu(this);
601
- }
602
- }
603
592
  }
604
593
  render() {
605
594
  const { type, disabled, isPaneVisible, inheritedAttributes, side } = this;
@@ -9,7 +9,7 @@ import { d as hapticImpact, I as ImpactStyle } from './haptic-1243b917.js';
9
9
  import { a as isPlatform, b as getIonMode, c as config } from './ionic-global-63a8d8c9.js';
10
10
  import { c as createAnimation } from './animation-92066c62.js';
11
11
  import { E as ENABLE_HTML_CONTENT_DEFAULT, a as sanitizeDOMString } from './config-96c9ace3.js';
12
- import { h as caretBackSharp, i as arrowDown } from './index-ecfc2c9f.js';
12
+ import { h as caretBackSharp, i as arrowDown } from './index-504b03f0.js';
13
13
  import { S as SPINNERS } from './spinner-configs-d09fbbbb.js';
14
14
  import './index-595d62c9.js';
15
15
  import './capacitor-b4979570.js';
@@ -2,7 +2,7 @@
2
2
  * (C) Ionic http://ionicframework.com - MIT License
3
3
  */
4
4
  import { r as registerInstance, h, H as Host, f as getElement, d as createEvent } from './index-cb894020.js';
5
- import { j as reorderThreeOutline, k as reorderTwoSharp } from './index-ecfc2c9f.js';
5
+ import { j as reorderThreeOutline, k as reorderTwoSharp } from './index-504b03f0.js';
6
6
  import { b as getIonMode } from './ionic-global-63a8d8c9.js';
7
7
  import { f as findClosestIonContent, g as getScrollElement } from './index-746a238e.js';
8
8
  import { r as raf } from './helpers-3379ba19.js';
@@ -5,7 +5,7 @@ import { r as registerInstance, d as createEvent, i as forceUpdate, h, H as Host
5
5
  import { j as debounceEvent, r as raf } from './helpers-3379ba19.js';
6
6
  import { i as isRTL } from './dir-912e3e13.js';
7
7
  import { c as createColorClasses } from './theme-17531cdf.js';
8
- import { a as arrowBackSharp, b as closeCircle, d as closeSharp, s as searchOutline, e as searchSharp } from './index-ecfc2c9f.js';
8
+ import { a as arrowBackSharp, b as closeCircle, d as closeSharp, s as searchOutline, e as searchSharp } from './index-504b03f0.js';
9
9
  import { c as config, b as getIonMode } from './ionic-global-63a8d8c9.js';
10
10
 
11
11
  const searchbarIosCss = ".sc-ion-searchbar-ios-h{--placeholder-color:initial;--placeholder-font-style:initial;--placeholder-font-weight:initial;--placeholder-opacity:0.6;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;display:-ms-flexbox;display:flex;position:relative;-ms-flex-align:center;align-items:center;width:100%;color:var(--color);font-family:var(--ion-font-family, inherit);-webkit-box-sizing:border-box;box-sizing:border-box}.ion-color.sc-ion-searchbar-ios-h{color:var(--ion-color-contrast)}.ion-color.sc-ion-searchbar-ios-h .searchbar-input.sc-ion-searchbar-ios{background:var(--ion-color-base)}.ion-color.sc-ion-searchbar-ios-h .searchbar-clear-button.sc-ion-searchbar-ios,.ion-color.sc-ion-searchbar-ios-h .searchbar-cancel-button.sc-ion-searchbar-ios,.ion-color.sc-ion-searchbar-ios-h .searchbar-search-icon.sc-ion-searchbar-ios{color:inherit}.searchbar-search-icon.sc-ion-searchbar-ios{color:var(--icon-color);pointer-events:none}.searchbar-input-container.sc-ion-searchbar-ios{display:block;position:relative;-ms-flex-negative:1;flex-shrink:1;width:100%}.searchbar-input.sc-ion-searchbar-ios{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;border-radius:var(--border-radius);display:block;width:100%;border:0;outline:none;background:var(--background);font-family:inherit;-webkit-box-shadow:var(--box-shadow);box-shadow:var(--box-shadow);-webkit-box-sizing:border-box;box-sizing:border-box;-webkit-appearance:none;-moz-appearance:none;appearance:none}.searchbar-input.sc-ion-searchbar-ios::-webkit-input-placeholder{color:var(--placeholder-color);font-family:inherit;font-style:var(--placeholder-font-style);font-weight:var(--placeholder-font-weight);opacity:var(--placeholder-opacity)}.searchbar-input.sc-ion-searchbar-ios::-moz-placeholder{color:var(--placeholder-color);font-family:inherit;font-style:var(--placeholder-font-style);font-weight:var(--placeholder-font-weight);opacity:var(--placeholder-opacity)}.searchbar-input.sc-ion-searchbar-ios:-ms-input-placeholder{color:var(--placeholder-color);font-family:inherit;font-style:var(--placeholder-font-style);font-weight:var(--placeholder-font-weight);opacity:var(--placeholder-opacity)}.searchbar-input.sc-ion-searchbar-ios::-ms-input-placeholder{color:var(--placeholder-color);font-family:inherit;font-style:var(--placeholder-font-style);font-weight:var(--placeholder-font-weight);opacity:var(--placeholder-opacity)}.searchbar-input.sc-ion-searchbar-ios::placeholder{color:var(--placeholder-color);font-family:inherit;font-style:var(--placeholder-font-style);font-weight:var(--placeholder-font-weight);opacity:var(--placeholder-opacity)}.searchbar-input.sc-ion-searchbar-ios::-webkit-search-cancel-button,.searchbar-input.sc-ion-searchbar-ios::-ms-clear{display:none}.searchbar-cancel-button.sc-ion-searchbar-ios{margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;display:none;height:100%;border:0;outline:none;color:var(--cancel-button-color);cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none}.searchbar-cancel-button.sc-ion-searchbar-ios>div.sc-ion-searchbar-ios{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;width:100%;height:100%}.searchbar-clear-button.sc-ion-searchbar-ios{margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;padding-left:0;padding-right:0;padding-top:0;padding-bottom:0;display:none;min-height:0;outline:none;color:var(--clear-button-color);-webkit-appearance:none;-moz-appearance:none;appearance:none}.searchbar-clear-button.sc-ion-searchbar-ios:focus{opacity:0.5}.searchbar-has-value.searchbar-should-show-clear.sc-ion-searchbar-ios-h .searchbar-clear-button.sc-ion-searchbar-ios{display:block}.searchbar-disabled.sc-ion-searchbar-ios-h{cursor:default;opacity:0.4;pointer-events:none}.sc-ion-searchbar-ios-h{--background:rgba(var(--ion-text-color-rgb, 0, 0, 0), 0.07);--border-radius:10px;--box-shadow:none;--cancel-button-color:var(--ion-color-primary, #3880ff);--clear-button-color:var(--ion-color-step-600, #666666);--color:var(--ion-text-color, #000);--icon-color:var(--ion-color-step-600, #666666);-webkit-padding-start:12px;padding-inline-start:12px;-webkit-padding-end:12px;padding-inline-end:12px;padding-top:12px;padding-bottom:12px;height:60px;contain:strict}.searchbar-input-container.sc-ion-searchbar-ios{height:36px}.searchbar-search-icon.sc-ion-searchbar-ios{-webkit-margin-start:calc(50% - 60px);margin-inline-start:calc(50% - 60px);top:0;position:absolute;width:22px;height:100%;contain:strict}@supports (inset-inline-start: 0){.searchbar-search-icon.sc-ion-searchbar-ios{inset-inline-start:5px}}@supports not (inset-inline-start: 0){.searchbar-search-icon.sc-ion-searchbar-ios{left:5px}[dir=rtl].sc-ion-searchbar-ios-h .searchbar-search-icon.sc-ion-searchbar-ios,[dir=rtl] .sc-ion-searchbar-ios-h .searchbar-search-icon.sc-ion-searchbar-ios{left:unset;right:unset;right:5px}[dir=rtl].sc-ion-searchbar-ios .searchbar-search-icon.sc-ion-searchbar-ios{left:unset;right:unset;right:5px}@supports selector(:dir(rtl)){.searchbar-search-icon.sc-ion-searchbar-ios:dir(rtl){left:unset;right:unset;right:5px}}}.searchbar-input.sc-ion-searchbar-ios{-webkit-padding-start:28px;padding-inline-start:28px;-webkit-padding-end:28px;padding-inline-end:28px;padding-top:0;padding-bottom:0;height:100%;font-size:17px;font-weight:400;contain:strict}.searchbar-clear-button.sc-ion-searchbar-ios{top:0;background-position:center;position:absolute;width:30px;height:100%;border:0;background-color:transparent}@supports (inset-inline-start: 0){.searchbar-clear-button.sc-ion-searchbar-ios{inset-inline-end:0}}@supports not (inset-inline-start: 0){.searchbar-clear-button.sc-ion-searchbar-ios{right:0}[dir=rtl].sc-ion-searchbar-ios-h .searchbar-clear-button.sc-ion-searchbar-ios,[dir=rtl] .sc-ion-searchbar-ios-h .searchbar-clear-button.sc-ion-searchbar-ios{left:unset;right:unset;left:0}[dir=rtl].sc-ion-searchbar-ios .searchbar-clear-button.sc-ion-searchbar-ios{left:unset;right:unset;left:0}@supports selector(:dir(rtl)){.searchbar-clear-button.sc-ion-searchbar-ios:dir(rtl){left:unset;right:unset;left:0}}}.searchbar-clear-icon.sc-ion-searchbar-ios{width:18px;height:100%}.searchbar-cancel-button.sc-ion-searchbar-ios{-webkit-padding-start:8px;padding-inline-start:8px;-webkit-padding-end:0;padding-inline-end:0;padding-top:0;padding-bottom:0;-ms-flex-negative:0;flex-shrink:0;background-color:transparent;font-size:16px}.searchbar-left-aligned.sc-ion-searchbar-ios-h .searchbar-search-icon.sc-ion-searchbar-ios{-webkit-margin-start:0;margin-inline-start:0}.searchbar-left-aligned.sc-ion-searchbar-ios-h .searchbar-input.sc-ion-searchbar-ios{-webkit-padding-start:30px;padding-inline-start:30px}.searchbar-has-focus.sc-ion-searchbar-ios-h .searchbar-cancel-button.sc-ion-searchbar-ios,.searchbar-should-show-cancel.sc-ion-searchbar-ios-h .searchbar-cancel-button.sc-ion-searchbar-ios,.searchbar-animated.sc-ion-searchbar-ios-h .searchbar-cancel-button.sc-ion-searchbar-ios{display:block}.searchbar-animated.sc-ion-searchbar-ios-h .searchbar-search-icon.sc-ion-searchbar-ios,.searchbar-animated.sc-ion-searchbar-ios-h .searchbar-input.sc-ion-searchbar-ios{-webkit-transition:all 300ms ease;transition:all 300ms ease}.searchbar-animated.searchbar-has-focus.sc-ion-searchbar-ios-h .searchbar-cancel-button.sc-ion-searchbar-ios,.searchbar-animated.searchbar-should-show-cancel.sc-ion-searchbar-ios-h .searchbar-cancel-button.sc-ion-searchbar-ios{opacity:1;pointer-events:auto}.searchbar-animated.sc-ion-searchbar-ios-h .searchbar-cancel-button.sc-ion-searchbar-ios{-webkit-margin-end:-100%;margin-inline-end:-100%;-webkit-transform:translate3d(0, 0, 0);transform:translate3d(0, 0, 0);-webkit-transition:all 300ms ease;transition:all 300ms ease;opacity:0;pointer-events:none}.searchbar-no-animate.sc-ion-searchbar-ios-h .searchbar-search-icon.sc-ion-searchbar-ios,.searchbar-no-animate.sc-ion-searchbar-ios-h .searchbar-input.sc-ion-searchbar-ios,.searchbar-no-animate.sc-ion-searchbar-ios-h .searchbar-cancel-button.sc-ion-searchbar-ios{-webkit-transition-duration:0ms;transition-duration:0ms}.ion-color.sc-ion-searchbar-ios-h .searchbar-cancel-button.sc-ion-searchbar-ios{color:var(--ion-color-base)}@media (any-hover: hover){.ion-color.sc-ion-searchbar-ios-h .searchbar-cancel-button.sc-ion-searchbar-ios:hover{color:var(--ion-color-tint)}}ion-toolbar.sc-ion-searchbar-ios-h,ion-toolbar .sc-ion-searchbar-ios-h{padding-top:1px;padding-bottom:15px;height:52px}ion-toolbar.ion-color.sc-ion-searchbar-ios-h:not(.ion-color),ion-toolbar.ion-color .sc-ion-searchbar-ios-h:not(.ion-color){color:inherit}ion-toolbar.ion-color.sc-ion-searchbar-ios-h:not(.ion-color) .searchbar-cancel-button.sc-ion-searchbar-ios,ion-toolbar.ion-color .sc-ion-searchbar-ios-h:not(.ion-color) .searchbar-cancel-button.sc-ion-searchbar-ios{color:currentColor}ion-toolbar.ion-color.sc-ion-searchbar-ios-h .searchbar-search-icon.sc-ion-searchbar-ios,ion-toolbar.ion-color .sc-ion-searchbar-ios-h .searchbar-search-icon.sc-ion-searchbar-ios{color:currentColor;opacity:0.5}ion-toolbar.ion-color.sc-ion-searchbar-ios-h:not(.ion-color) .searchbar-input.sc-ion-searchbar-ios,ion-toolbar.ion-color .sc-ion-searchbar-ios-h:not(.ion-color) .searchbar-input.sc-ion-searchbar-ios{background:rgba(var(--ion-color-contrast-rgb), 0.07);color:currentColor}ion-toolbar.ion-color.sc-ion-searchbar-ios-h:not(.ion-color) .searchbar-clear-button.sc-ion-searchbar-ios,ion-toolbar.ion-color .sc-ion-searchbar-ios-h:not(.ion-color) .searchbar-clear-button.sc-ion-searchbar-ios{color:currentColor;opacity:0.5}";
@@ -10,7 +10,7 @@ import { c as popoverController, b as actionSheetController, a as alertControlle
10
10
  import { i as isRTL } from './dir-912e3e13.js';
11
11
  import { h as hostContext, c as createColorClasses, g as getClassMap } from './theme-17531cdf.js';
12
12
  import { w as watchForOptions } from './watch-options-355a920a.js';
13
- import { w as chevronExpand, q as caretDownSharp } from './index-ecfc2c9f.js';
13
+ import { w as chevronExpand, q as caretDownSharp } from './index-504b03f0.js';
14
14
  import { b as getIonMode } from './ionic-global-63a8d8c9.js';
15
15
  import './index-7a14ecec.js';
16
16
  import './framework-delegate-aa433dea.js';
@@ -8,7 +8,7 @@ import { p as printIonWarning } from './index-595d62c9.js';
8
8
  import { c as hapticSelection } from './haptic-1243b917.js';
9
9
  import { i as isRTL } from './dir-912e3e13.js';
10
10
  import { c as createColorClasses, h as hostContext } from './theme-17531cdf.js';
11
- import { f as checkmarkOutline, r as removeOutline, g as ellipseOutline } from './index-ecfc2c9f.js';
11
+ import { f as checkmarkOutline, r as removeOutline, g as ellipseOutline } from './index-504b03f0.js';
12
12
  import { c as config, b as getIonMode } from './ionic-global-63a8d8c9.js';
13
13
  import './capacitor-b4979570.js';
14
14
  import './index-7a14ecec.js';