@ionic/core 8.8.10 → 8.8.11-dev.11781186446.19d9a1cc

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 (288) hide show
  1. package/components/index.js +1 -1
  2. package/components/ion-action-sheet.js +1 -1
  3. package/components/ion-alert.js +1 -1
  4. package/components/ion-back-button.js +1 -1
  5. package/components/ion-button.js +1 -1
  6. package/components/ion-card.js +1 -1
  7. package/components/ion-chip.js +1 -1
  8. package/components/ion-datetime-button.js +1 -1
  9. package/components/ion-datetime.js +1 -1
  10. package/components/ion-fab-button.js +1 -1
  11. package/components/ion-infinite-scroll-content.js +1 -1
  12. package/components/ion-input-password-toggle.js +1 -1
  13. package/components/ion-input.js +1 -1
  14. package/components/ion-item-option.js +1 -1
  15. package/components/ion-item.js +1 -1
  16. package/components/ion-loading.js +1 -1
  17. package/components/ion-menu-button.js +1 -1
  18. package/components/ion-menu.js +1 -1
  19. package/components/ion-modal.js +1 -1
  20. package/components/ion-popover.js +1 -1
  21. package/components/ion-progress-bar.js +1 -1
  22. package/components/ion-radio.js +1 -1
  23. package/components/ion-range.js +1 -1
  24. package/components/ion-refresher-content.js +1 -1
  25. package/components/ion-refresher.js +1 -1
  26. package/components/ion-reorder-group.js +1 -1
  27. package/components/ion-reorder.js +1 -1
  28. package/components/ion-ripple-effect.js +1 -1
  29. package/components/ion-router-link.js +1 -1
  30. package/components/ion-router-outlet.js +1 -1
  31. package/components/ion-row.js +1 -1
  32. package/components/ion-searchbar.js +1 -1
  33. package/components/ion-segment-button.js +1 -1
  34. package/components/ion-segment-content.js +1 -1
  35. package/components/ion-segment-view.js +1 -1
  36. package/components/ion-segment.js +1 -1
  37. package/components/ion-select-modal.js +1 -1
  38. package/components/ion-select-option.js +1 -1
  39. package/components/ion-select-popover.js +1 -1
  40. package/components/ion-select.js +1 -1
  41. package/components/ion-skeleton-text.js +1 -1
  42. package/components/ion-spinner.js +1 -1
  43. package/components/ion-split-pane.js +1 -1
  44. package/components/ion-tab-bar.js +1 -1
  45. package/components/ion-tab-button.js +1 -1
  46. package/components/ion-tab.js +1 -1
  47. package/components/ion-tabs.js +1 -1
  48. package/components/ion-text.js +1 -1
  49. package/components/ion-textarea.js +1 -1
  50. package/components/ion-thumbnail.js +1 -1
  51. package/components/ion-title.js +1 -1
  52. package/components/ion-toast.js +1 -1
  53. package/components/ion-toggle.js +1 -1
  54. package/components/ion-toolbar.js +1 -1
  55. package/components/{p-nQi4oKcG.js → p-B8U2xbtx.js} +1 -1
  56. package/components/p-BpCi7xHq.js +4 -0
  57. package/components/p-CHzfYZbv.js +4 -0
  58. package/components/{p-DDWp95gH.js → p-Ck2wcXbv.js} +1 -1
  59. package/components/{p-C2lKgrXx.js → p-DEBD4LvH.js} +1 -1
  60. package/components/p-DH50pr9O.js +4 -0
  61. package/components/{p-BSEgsdFI.js → p-DhkITZ-y.js} +1 -1
  62. package/components/p-DmpBvltk.js +4 -0
  63. package/components/{p-5bE_Wz4Y.js → p-DpV-p5Xs.js} +1 -1
  64. package/components/{p-Cfx4M1Bn.js → p-Dz74mwlk.js} +1 -1
  65. package/components/{p-BLmJ0zRm.js → p-XJWMAP8m.js} +1 -1
  66. package/components/p-djQLE88P.js +4 -0
  67. package/components/{p-B60hm8Qv.js → p-r0aq7dpt.js} +1 -1
  68. package/components/{p-rCa2eL0j.js → p-wk2QqrAo.js} +1 -1
  69. package/dist/cjs/index.cjs.js +1 -2
  70. package/dist/cjs/ion-action-sheet.cjs.entry.js +8 -4
  71. package/dist/cjs/ion-alert.cjs.entry.js +7 -3
  72. package/dist/cjs/ion-app_8.cjs.entry.js +23 -9
  73. package/dist/cjs/ion-avatar_3.cjs.entry.js +1 -1
  74. package/dist/cjs/ion-col_3.cjs.entry.js +1 -1
  75. package/dist/cjs/{ion-datetime_3.cjs.entry.js → ion-datetime.cjs.entry.js} +1 -639
  76. package/dist/cjs/ion-input.cjs.entry.js +4 -4
  77. package/dist/cjs/ion-item_8.cjs.entry.js +2 -2
  78. package/dist/cjs/ion-loading.cjs.entry.js +7 -3
  79. package/dist/cjs/ion-menu_3.cjs.entry.js +1 -1
  80. package/dist/cjs/ion-modal.cjs.entry.js +9 -5
  81. package/dist/cjs/ion-popover.cjs.entry.js +7 -3
  82. package/dist/cjs/ion-progress-bar.cjs.entry.js +1 -1
  83. package/dist/cjs/ion-radio_2.cjs.entry.js +3 -3
  84. package/dist/cjs/ion-range.cjs.entry.js +3 -3
  85. package/dist/cjs/ion-refresher_2.cjs.entry.js +2 -2
  86. package/dist/cjs/ion-reorder_2.cjs.entry.js +2 -2
  87. package/dist/cjs/ion-ripple-effect.cjs.entry.js +1 -1
  88. package/dist/cjs/ion-route_4.cjs.entry.js +2 -2
  89. package/dist/cjs/ion-searchbar.cjs.entry.js +5 -5
  90. package/dist/cjs/ion-segment-content.cjs.entry.js +1 -1
  91. package/dist/cjs/ion-segment-view.cjs.entry.js +2 -2
  92. package/dist/cjs/ion-segment_2.cjs.entry.js +4 -4
  93. package/dist/cjs/ion-select-modal.cjs.entry.js +2 -2
  94. package/dist/cjs/ion-select_3.cjs.entry.js +36 -5
  95. package/dist/cjs/ion-spinner.cjs.entry.js +1 -1
  96. package/dist/cjs/ion-split-pane.cjs.entry.js +2 -2
  97. package/dist/cjs/ion-tab-bar_2.cjs.entry.js +4 -4
  98. package/dist/cjs/ion-tab_2.cjs.entry.js +3 -3
  99. package/dist/cjs/ion-text.cjs.entry.js +2 -2
  100. package/dist/cjs/ion-textarea.cjs.entry.js +2 -2
  101. package/dist/cjs/ion-toast.cjs.entry.js +3 -3
  102. package/dist/cjs/ion-toggle.cjs.entry.js +3 -3
  103. package/dist/cjs/ionic.cjs.js +1 -1
  104. package/dist/cjs/loader.cjs.js +1 -1
  105. package/dist/cjs/{overlays-TbKsuC-K.js → overlays-DSmSrd_4.js} +26 -7
  106. package/dist/collection/collection-manifest.json +5 -9
  107. package/dist/collection/components/action-sheet/action-sheet.js +8 -4
  108. package/dist/collection/components/alert/alert.js +7 -3
  109. package/dist/collection/components/input/input.js +8 -8
  110. package/dist/collection/components/loading/loading.js +7 -3
  111. package/dist/collection/components/modal/modal.js +9 -5
  112. package/dist/collection/components/popover/popover.js +7 -3
  113. package/dist/collection/components/progress-bar/progress-bar.js +1 -1
  114. package/dist/collection/components/radio/radio.js +4 -4
  115. package/dist/collection/components/range/range.js +3 -3
  116. package/dist/collection/components/refresher/refresher.js +1 -1
  117. package/dist/collection/components/refresher-content/refresher-content.js +1 -1
  118. package/dist/collection/components/reorder/reorder.js +1 -1
  119. package/dist/collection/components/reorder-group/reorder-group.js +1 -1
  120. package/dist/collection/components/ripple-effect/ripple-effect.js +1 -1
  121. package/dist/collection/components/router-link/router-link.js +2 -2
  122. package/dist/collection/components/router-outlet/router-outlet.js +38 -5
  123. package/dist/collection/components/row/row.js +1 -1
  124. package/dist/collection/components/searchbar/searchbar.js +9 -9
  125. package/dist/collection/components/segment/segment.js +2 -2
  126. package/dist/collection/components/segment-button/segment-button.js +2 -2
  127. package/dist/collection/components/segment-content/segment-content.js +1 -1
  128. package/dist/collection/components/segment-view/segment-view.js +2 -2
  129. package/dist/collection/components/select/select.js +33 -2
  130. package/dist/collection/components/select-modal/select-modal.js +1 -1
  131. package/dist/collection/components/select-option/select-option.js +1 -1
  132. package/dist/collection/components/select-popover/select-popover.js +1 -1
  133. package/dist/collection/components/skeleton-text/skeleton-text.js +2 -2
  134. package/dist/collection/components/spinner/spinner.js +1 -1
  135. package/dist/collection/components/split-pane/split-pane.js +2 -2
  136. package/dist/collection/components/tab/tab.js +2 -2
  137. package/dist/collection/components/tab-bar/tab-bar.js +2 -2
  138. package/dist/collection/components/tab-button/tab-button.js +2 -2
  139. package/dist/collection/components/tabs/tabs.js +1 -1
  140. package/dist/collection/components/text/text.js +2 -2
  141. package/dist/collection/components/textarea/textarea.js +2 -2
  142. package/dist/collection/components/thumbnail/thumbnail.js +1 -1
  143. package/dist/collection/components/title/title.js +2 -2
  144. package/dist/collection/components/toast/toast.js +2 -2
  145. package/dist/collection/components/toggle/toggle.js +3 -3
  146. package/dist/collection/components/toolbar/toolbar.js +2 -2
  147. package/dist/collection/index.js +1 -1
  148. package/dist/collection/utils/overlays.js +25 -6
  149. package/dist/docs.json +247 -1170
  150. package/dist/esm/{index-DV3sJJW8.js → index-AlrZKoWR.js} +1 -1
  151. package/dist/esm/index.js +1 -1
  152. package/dist/esm/ion-accordion_2.entry.js +1 -1
  153. package/dist/esm/ion-action-sheet.entry.js +8 -4
  154. package/dist/esm/ion-alert.entry.js +7 -3
  155. package/dist/esm/ion-app_8.entry.js +23 -9
  156. package/dist/esm/ion-avatar_3.entry.js +1 -1
  157. package/dist/esm/ion-back-button.entry.js +1 -1
  158. package/dist/esm/ion-breadcrumb_2.entry.js +1 -1
  159. package/dist/esm/ion-col_3.entry.js +1 -1
  160. package/dist/esm/{ion-datetime_3.entry.js → ion-datetime.entry.js} +5 -641
  161. package/dist/esm/ion-fab_3.entry.js +1 -1
  162. package/dist/esm/ion-input-password-toggle.entry.js +1 -1
  163. package/dist/esm/ion-input.entry.js +5 -5
  164. package/dist/esm/ion-item_8.entry.js +3 -3
  165. package/dist/esm/ion-loading.entry.js +7 -3
  166. package/dist/esm/ion-menu_3.entry.js +2 -2
  167. package/dist/esm/ion-modal.entry.js +9 -5
  168. package/dist/esm/ion-popover.entry.js +7 -3
  169. package/dist/esm/ion-progress-bar.entry.js +1 -1
  170. package/dist/esm/ion-radio_2.entry.js +3 -3
  171. package/dist/esm/ion-range.entry.js +3 -3
  172. package/dist/esm/ion-refresher_2.entry.js +3 -3
  173. package/dist/esm/ion-reorder_2.entry.js +3 -3
  174. package/dist/esm/ion-ripple-effect.entry.js +1 -1
  175. package/dist/esm/ion-route_4.entry.js +2 -2
  176. package/dist/esm/ion-searchbar.entry.js +6 -6
  177. package/dist/esm/ion-segment-content.entry.js +1 -1
  178. package/dist/esm/ion-segment-view.entry.js +2 -2
  179. package/dist/esm/ion-segment_2.entry.js +4 -4
  180. package/dist/esm/ion-select-modal.entry.js +2 -2
  181. package/dist/esm/ion-select_3.entry.js +38 -7
  182. package/dist/esm/ion-spinner.entry.js +1 -1
  183. package/dist/esm/ion-split-pane.entry.js +2 -2
  184. package/dist/esm/ion-tab-bar_2.entry.js +4 -4
  185. package/dist/esm/ion-tab_2.entry.js +3 -3
  186. package/dist/esm/ion-text.entry.js +2 -2
  187. package/dist/esm/ion-textarea.entry.js +2 -2
  188. package/dist/esm/ion-toast.entry.js +3 -3
  189. package/dist/esm/ion-toggle.entry.js +4 -4
  190. package/dist/esm/ionic.js +1 -1
  191. package/dist/esm/loader.js +1 -1
  192. package/dist/esm/{overlays-TbiM4mdr.js → overlays-DLNOHWNc.js} +26 -7
  193. package/dist/html.html-data.json +6 -77
  194. package/dist/ionic/index.esm.js +1 -1
  195. package/dist/ionic/ionic.esm.js +1 -1
  196. package/dist/ionic/{p-aa5d6b8f.entry.js → p-03aa786d.entry.js} +1 -1
  197. package/dist/ionic/{p-8fce95d5.entry.js → p-14095ba5.entry.js} +1 -1
  198. package/dist/ionic/{p-3a126bca.entry.js → p-259d0d98.entry.js} +1 -1
  199. package/dist/ionic/{p-e847a888.entry.js → p-2a6d6565.entry.js} +1 -1
  200. package/dist/ionic/{p-fabcce6c.entry.js → p-341032b3.entry.js} +1 -1
  201. package/dist/ionic/{p-a21add2f.entry.js → p-441fbb13.entry.js} +1 -1
  202. package/dist/ionic/{p-3a7d1e91.entry.js → p-4502a274.entry.js} +1 -1
  203. package/dist/ionic/p-4621c387.entry.js +4 -0
  204. package/dist/ionic/p-4bb3eb60.entry.js +4 -0
  205. package/dist/ionic/{p-874b4bd8.entry.js → p-51cd1643.entry.js} +1 -1
  206. package/dist/ionic/p-5c3ec490.entry.js +4 -0
  207. package/dist/ionic/{p-3ae5f277.entry.js → p-627fabd9.entry.js} +1 -1
  208. package/dist/ionic/{p-e0be05c5.entry.js → p-629e4703.entry.js} +1 -1
  209. package/dist/ionic/{p-5d1da0a2.entry.js → p-76e92a84.entry.js} +1 -1
  210. package/dist/ionic/{p-9f1103ce.entry.js → p-7a37b3ce.entry.js} +1 -1
  211. package/dist/ionic/p-7aed7726.entry.js +4 -0
  212. package/dist/ionic/p-7ebd980c.entry.js +4 -0
  213. package/dist/ionic/{p-3353c229.entry.js → p-80b44b3c.entry.js} +1 -1
  214. package/dist/ionic/p-8d624ee5.entry.js +4 -0
  215. package/dist/ionic/{p-390ca786.entry.js → p-9177f4ac.entry.js} +1 -1
  216. package/dist/ionic/p-944c8939.entry.js +4 -0
  217. package/dist/ionic/p-9c6a5a8d.entry.js +4 -0
  218. package/dist/ionic/{p-DV3sJJW8.js → p-AlrZKoWR.js} +1 -1
  219. package/dist/ionic/p-Cg5-OQYy.js +4 -0
  220. package/dist/ionic/p-a2e51c5d.entry.js +4 -0
  221. package/dist/ionic/{p-4858af1f.entry.js → p-a5213260.entry.js} +1 -1
  222. package/dist/ionic/{p-37e720da.entry.js → p-a7628bc7.entry.js} +1 -1
  223. package/dist/ionic/{p-ef4c3bee.entry.js → p-b1599fca.entry.js} +1 -1
  224. package/dist/ionic/p-b16be471.entry.js +4 -0
  225. package/dist/ionic/{p-84d5ce05.entry.js → p-b9ac1fe0.entry.js} +1 -1
  226. package/dist/ionic/{p-94f2a736.entry.js → p-c93553d2.entry.js} +1 -1
  227. package/dist/ionic/{p-75dc25ba.entry.js → p-d2c7f046.entry.js} +1 -1
  228. package/dist/ionic/{p-c4d8641b.entry.js → p-d8387b99.entry.js} +1 -1
  229. package/dist/ionic/p-d8ac9eea.entry.js +4 -0
  230. package/dist/ionic/{p-9a65ac7f.entry.js → p-db1b6738.entry.js} +1 -1
  231. package/dist/ionic/p-ed797c72.entry.js +4 -0
  232. package/dist/ionic/{p-8eb8ee76.entry.js → p-ef93ca92.entry.js} +1 -1
  233. package/dist/ionic/p-f09f9642.entry.js +4 -0
  234. package/dist/ionic/p-f1c06f82.entry.js +4 -0
  235. package/dist/ionic/{p-0fa9c382.entry.js → p-fe4aa1db.entry.js} +1 -1
  236. package/dist/types/components/input/input.d.ts +1 -1
  237. package/dist/types/components/router-outlet/router-outlet.d.ts +7 -0
  238. package/dist/types/components/searchbar/searchbar.d.ts +1 -1
  239. package/dist/types/components/select/select.d.ts +1 -0
  240. package/dist/types/components.d.ts +19 -282
  241. package/dist/types/index.d.ts +1 -1
  242. package/dist/types/interface.d.ts +0 -1
  243. package/dist/types/utils/config.d.ts +0 -8
  244. package/dist/types/utils/overlays.d.ts +11 -9
  245. package/hydrate/index.js +202 -795
  246. package/hydrate/index.mjs +202 -795
  247. package/package.json +37 -5
  248. package/components/ion-picker-legacy-column.d.ts +0 -11
  249. package/components/ion-picker-legacy-column.js +0 -4
  250. package/components/ion-picker-legacy.d.ts +0 -11
  251. package/components/ion-picker-legacy.js +0 -4
  252. package/components/p-0NRupjzW.js +0 -4
  253. package/components/p-Bth-EzJ0.js +0 -4
  254. package/components/p-CU5rbWAW.js +0 -4
  255. package/components/p-W9CZ2mWX.js +0 -4
  256. package/components/p-dhLYXa7A.js +0 -4
  257. package/components/p-uVRyUM3z.js +0 -4
  258. package/dist/collection/components/picker-legacy/animations/ios.enter.js +0 -27
  259. package/dist/collection/components/picker-legacy/animations/ios.leave.js +0 -23
  260. package/dist/collection/components/picker-legacy/picker-interface.js +0 -1
  261. package/dist/collection/components/picker-legacy/picker.ios.css +0 -300
  262. package/dist/collection/components/picker-legacy/picker.js +0 -890
  263. package/dist/collection/components/picker-legacy/picker.md.css +0 -287
  264. package/dist/collection/components/picker-legacy-column/picker-column.ios.css +0 -231
  265. package/dist/collection/components/picker-legacy-column/picker-column.js +0 -422
  266. package/dist/collection/components/picker-legacy-column/picker-column.md.css +0 -222
  267. package/dist/collection/components/picker-legacy-column/test/test.utils.js +0 -43
  268. package/dist/ionic/p-00dbb17e.entry.js +0 -4
  269. package/dist/ionic/p-01f81ea5.entry.js +0 -4
  270. package/dist/ionic/p-0d005398.entry.js +0 -4
  271. package/dist/ionic/p-27d30585.entry.js +0 -4
  272. package/dist/ionic/p-2bb2cb18.entry.js +0 -4
  273. package/dist/ionic/p-2f55dc1a.entry.js +0 -4
  274. package/dist/ionic/p-30bf9737.entry.js +0 -4
  275. package/dist/ionic/p-3a541154.entry.js +0 -4
  276. package/dist/ionic/p-485fda23.entry.js +0 -4
  277. package/dist/ionic/p-4baa5b82.entry.js +0 -4
  278. package/dist/ionic/p-4dc1c33c.entry.js +0 -4
  279. package/dist/ionic/p-5fc7e542.entry.js +0 -4
  280. package/dist/ionic/p-e686695b.entry.js +0 -4
  281. package/dist/ionic/p-ec090e0a.entry.js +0 -4
  282. package/dist/ionic/p-xOfi7-Zn.js +0 -4
  283. package/dist/types/components/picker-legacy/animations/ios.enter.d.ts +0 -5
  284. package/dist/types/components/picker-legacy/animations/ios.leave.d.ts +0 -5
  285. package/dist/types/components/picker-legacy/picker-interface.d.ts +0 -52
  286. package/dist/types/components/picker-legacy/picker.d.ts +0 -158
  287. package/dist/types/components/picker-legacy-column/picker-column.d.ts +0 -46
  288. package/dist/types/components/picker-legacy-column/test/test.utils.d.ts +0 -9
@@ -62,7 +62,7 @@ const Input = class {
62
62
  /**
63
63
  * Whether auto correction should be enabled when the user is entering/editing the text value.
64
64
  */
65
- this.autocorrect = 'off';
65
+ this.autocorrect = false;
66
66
  /**
67
67
  * Sets the [`autofocus` attribute](https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/autofocus) on the native input element.
68
68
  *
@@ -546,7 +546,7 @@ const Input = class {
546
546
  * TODO(FW-5592): Remove hasStartEndSlots condition
547
547
  */
548
548
  const labelShouldFloat = labelPlacement === 'stacked' || (labelPlacement === 'floating' && (hasValue || hasFocus || hasStartEndSlots));
549
- return (index.h(index.Host, { key: '9ba9cf425b573d2ca9ac34455a0e6b8474c4de6d', class: theme.createColorClasses(this.color, {
549
+ return (index.h(index.Host, { key: '6a05f61339d8045285d5820c2508296cc842c210', class: theme.createColorClasses(this.color, {
550
550
  [mode]: true,
551
551
  'has-value': hasValue,
552
552
  'has-focus': hasFocus,
@@ -557,14 +557,14 @@ const Input = class {
557
557
  'in-item': inItem,
558
558
  'in-item-color': theme.hostContext('ion-item.ion-color', this.el),
559
559
  'input-disabled': disabled,
560
- }) }, index.h("label", { key: '74b989d0aa5ab38f29f952519868f05119df6005', class: "input-wrapper", htmlFor: inputId, onClick: this.onLabelClick }, this.renderLabelContainer(), index.h("div", { key: '47f2b42e2f74ea866b4f871026e08ab375d7a726', class: "native-wrapper", onClick: this.onLabelClick }, index.h("slot", { key: 'eaabe5a4a329a356cac3294d15c087d0d131fff2', name: "start" }), index.h("input", Object.assign({ key: 'c821a984a8a9b7f96f30892c06d8deda093ff24b', class: "native-input", ref: (input) => (this.nativeInput = input), id: inputId, disabled: disabled, autoCapitalize: this.autocapitalize, autoComplete: this.autocomplete, autoCorrect: this.autocorrect, autoFocus: this.autofocus, enterKeyHint: this.enterkeyhint, inputMode: this.inputmode, min: this.min, max: this.max, minLength: this.minlength, maxLength: this.maxlength, multiple: this.multiple, name: this.name, pattern: this.pattern, placeholder: this.placeholder || '', readOnly: readonly, required: this.required, spellcheck: this.spellcheck, step: this.step, type: this.type, value: value, onInput: this.onInput, onChange: this.onChange, onBlur: this.onBlur, onFocus: this.onFocus, onKeyDown: this.onKeydown, onCompositionstart: this.onCompositionStart, onCompositionend: this.onCompositionEnd, "aria-describedby": this.getHintTextID(), "aria-invalid": this.isInvalid ? 'true' : undefined, "aria-labelledby": this.getLabelledById() }, this.inheritedAttributes)), this.clearInput && !readonly && !disabled && (index.h("button", { key: '62069c11016ee190dc46ab941372e1c4ad8a36ed', "aria-label": "reset", type: "button", class: "input-clear-icon", onPointerDown: (ev) => {
560
+ }) }, index.h("label", { key: 'b546d66f53ea25082494e3a4cb0ce7532ee649d7', class: "input-wrapper", htmlFor: inputId, onClick: this.onLabelClick }, this.renderLabelContainer(), index.h("div", { key: '6af832f2b25fadee7a49adb999166dbc97565e2d', class: "native-wrapper", onClick: this.onLabelClick }, index.h("slot", { key: 'e7a8895038a8d2503f646acfda20c6c1a99c2839', name: "start" }), index.h("input", Object.assign({ key: 'ce85703e0434a6322bb4275a924e3cd91c79fa20', class: "native-input", ref: (input) => (this.nativeInput = input), id: inputId, disabled: disabled, autoCapitalize: this.autocapitalize, autoComplete: this.autocomplete, autoCorrect: this.autocorrect ? 'on' : 'off', autoFocus: this.autofocus, enterKeyHint: this.enterkeyhint, inputMode: this.inputmode, min: this.min, max: this.max, minLength: this.minlength, maxLength: this.maxlength, multiple: this.multiple, name: this.name, pattern: this.pattern, placeholder: this.placeholder || '', readOnly: readonly, required: this.required, spellcheck: this.spellcheck, step: this.step, type: this.type, value: value, onInput: this.onInput, onChange: this.onChange, onBlur: this.onBlur, onFocus: this.onFocus, onKeyDown: this.onKeydown, onCompositionstart: this.onCompositionStart, onCompositionend: this.onCompositionEnd, "aria-describedby": this.getHintTextID(), "aria-invalid": this.isInvalid ? 'true' : undefined, "aria-labelledby": this.getLabelledById() }, this.inheritedAttributes)), this.clearInput && !readonly && !disabled && (index.h("button", { key: '1e59589fc89a37d7830dc915b4c19d26a8f568c7', "aria-label": "reset", type: "button", class: "input-clear-icon", onPointerDown: (ev) => {
561
561
  /**
562
562
  * This prevents mobile browsers from
563
563
  * blurring the input when the clear
564
564
  * button is activated.
565
565
  */
566
566
  ev.preventDefault();
567
- }, onClick: this.clearTextInput }, index.h("ion-icon", { key: 'dd75a516d32110d85382b664c663bd41f177ce12', "aria-hidden": "true", icon: clearIconData }))), index.h("slot", { key: '330d4b9389f2c62223a5ee24003e96ef3e6b2473', name: "end" })), shouldRenderHighlight && index.h("div", { key: '8e442bed130ddc84976ab70fd3f8578d6bcc6316', class: "input-highlight" })), this.renderBottomContent()));
567
+ }, onClick: this.clearTextInput }, index.h("ion-icon", { key: '7d443c5061bf6436d3b77a2444676c679b3e62e4', "aria-hidden": "true", icon: clearIconData }))), index.h("slot", { key: '5516f88d46886348217570ec1fadda0b79b63c01', name: "end" })), shouldRenderHighlight && index.h("div", { key: '2a1fdb7e7c974654dfbb3afb4fbfd9204e9d9092', class: "input-highlight" })), this.renderBottomContent()));
568
568
  }
569
569
  get el() { return index.getElement(this); }
570
570
  static get watchers() { return {
@@ -506,11 +506,11 @@ const SkeletonText = class {
506
506
  const animated = this.animated && index.config.getBoolean('animated', true);
507
507
  const inMedia = theme.hostContext('ion-avatar', this.el) || theme.hostContext('ion-thumbnail', this.el);
508
508
  const mode = ionicGlobal.getIonMode(this);
509
- return (index.h(index.Host, { key: 'cb8da9aba121811b9a4ffdae60ed88105897cb3c', class: {
509
+ return (index.h(index.Host, { key: '887d958d982345ce610730ab5c9ae35010430f75', class: {
510
510
  [mode]: true,
511
511
  'skeleton-text-animated': animated,
512
512
  'in-media': inMedia,
513
- } }, index.h("span", { key: '5379deee3c76d46d615be0cba14b4f60129ffa25' }, "\u00A0")));
513
+ } }, index.h("span", { key: 'a184f4b9780a2aada0a16729109ac81436e9c9e1' }, "\u00A0")));
514
514
  }
515
515
  get el() { return index.getElement(this); }
516
516
  };
@@ -7,7 +7,7 @@ var index = require('./index-Ct7gcRif.js');
7
7
  var config = require('./config-xninhj0J.js');
8
8
  var helpers = require('./helpers-Cv23MFHM.js');
9
9
  var lockController = require('./lock-controller-aDB9wrEf.js');
10
- var overlays = require('./overlays-TbKsuC-K.js');
10
+ var overlays = require('./overlays-DSmSrd_4.js');
11
11
  var theme = require('./theme-CeDs6Hcv.js');
12
12
  var ionicGlobal = require('./ionic-global-B-cA6LkY.js');
13
13
  var animation = require('./animation-BJq0kcy2.js');
@@ -213,6 +213,10 @@ const Loading = class {
213
213
  }
214
214
  disconnectedCallback() {
215
215
  this.triggerController.removeClickListener();
216
+ // Clean up aria-hidden if removed without dismiss() being called
217
+ if (this.presented) {
218
+ overlays.cleanupRootFocusTrapAccessibility();
219
+ }
216
220
  }
217
221
  /**
218
222
  * Present the loading overlay after it has been created.
@@ -278,9 +282,9 @@ const Loading = class {
278
282
  * Otherwise, don't set aria-labelledby.
279
283
  */
280
284
  const ariaLabelledBy = message !== undefined ? msgId : null;
281
- return (index.h(index.Host, Object.assign({ key: 'f86ddbc600cb5c396b7de38fb5f49625388c3c3f', role: "dialog", "aria-modal": "true", "aria-labelledby": ariaLabelledBy, tabindex: "-1" }, htmlAttributes, { style: {
285
+ return (index.h(index.Host, Object.assign({ key: 'ab48bfcee8f7e3e33847a2f262fdc08b9ea804ca', role: "dialog", "aria-modal": "true", "aria-labelledby": ariaLabelledBy, tabindex: "-1" }, htmlAttributes, { style: {
282
286
  zIndex: `${40000 + this.overlayIndex}`,
283
- }, onIonBackdropTap: this.onBackdropTap, class: Object.assign(Object.assign({}, theme.getClassMap(this.cssClass)), { [mode]: true, 'overlay-hidden': true, 'loading-translucent': this.translucent }) }), index.h("ion-backdrop", { key: 'b53727aaddc37ef3c685fcc150c6d5193290a847', visible: this.showBackdrop, tappable: this.backdropDismiss }), index.h("div", { key: '4c61bede8e0a4e47daa6f1f9d0f364ef6aec0bc3', tabindex: "0", "aria-hidden": "true" }), index.h("div", { key: '84e51ceb07118f1eaeb757df28801c255496931b', class: "loading-wrapper ion-overlay-wrapper" }, spinner && (index.h("div", { key: 'fc97f1912e0fc558b7c309a5bc084415f5f620b2', class: "loading-spinner" }, index.h("ion-spinner", { key: '6e186d856cd3f10f22c3e317ef00f31b4216459c', name: spinner, "aria-hidden": "true" }))), message !== undefined && this.renderLoadingMessage(msgId)), index.h("div", { key: 'dcbe9d9a619daa1c08174e73827bdabeb59dde92', tabindex: "0", "aria-hidden": "true" })));
287
+ }, onIonBackdropTap: this.onBackdropTap, class: Object.assign(Object.assign({}, theme.getClassMap(this.cssClass)), { [mode]: true, 'overlay-hidden': true, 'loading-translucent': this.translucent }) }), index.h("ion-backdrop", { key: '41baccc7fb6474389a3a3431c208e829ef738b75', visible: this.showBackdrop, tappable: this.backdropDismiss }), index.h("div", { key: '7b7290974abbe8db8739b19835aca9f8b5c271c2', tabindex: "0", "aria-hidden": "true" }), index.h("div", { key: 'e32466abfcc92aaad47ea03b1dcb49f66abe4b63', class: "loading-wrapper ion-overlay-wrapper" }, spinner && (index.h("div", { key: 'c5e6e6f9e3f39dba0225d08d7dd2c1b96a1d83c7', class: "loading-spinner" }, index.h("ion-spinner", { key: 'f428038959d879404ea898011363aac0b807ad11', name: spinner, "aria-hidden": "true" }))), message !== undefined && this.renderLoadingMessage(msgId)), index.h("div", { key: '490e531367b86c319fa4260722dcff4dd631fa88', tabindex: "0", "aria-hidden": "true" })));
284
288
  }
285
289
  get el() { return index.getElement(this); }
286
290
  static get watchers() { return {
@@ -5,7 +5,7 @@
5
5
 
6
6
  var index = require('./index-Ct7gcRif.js');
7
7
  var cubicBezier = require('./cubic-bezier-DAjy1V-e.js');
8
- var overlays = require('./overlays-TbKsuC-K.js');
8
+ var overlays = require('./overlays-DSmSrd_4.js');
9
9
  var gestureController = require('./gesture-controller-dtqlP_q4.js');
10
10
  var hardwareBackButton = require('./hardware-back-button-iUuF_76h.js');
11
11
  var helpers = require('./helpers-Cv23MFHM.js');
@@ -9,7 +9,7 @@ var frameworkDelegate = require('./framework-delegate-BtICZDHr.js');
9
9
  var helpers = require('./helpers-Cv23MFHM.js');
10
10
  var lockController = require('./lock-controller-aDB9wrEf.js');
11
11
  var capacitor = require('./capacitor-DmA66EwP.js');
12
- var overlays = require('./overlays-TbKsuC-K.js');
12
+ var overlays = require('./overlays-DSmSrd_4.js');
13
13
  var theme = require('./theme-CeDs6Hcv.js');
14
14
  var index$4 = require('./index-BERfRao3.js');
15
15
  var ionicGlobal = require('./ionic-global-B-cA6LkY.js');
@@ -2081,6 +2081,10 @@ const Modal = class {
2081
2081
  // Also called in dismiss() — intentional dual cleanup covers both
2082
2082
  // dismiss-then-remove and direct DOM removal without dismiss.
2083
2083
  this.cleanupSafeAreaOverrides();
2084
+ // Clean up aria-hidden if removed without dismiss() being called
2085
+ if (this.presented) {
2086
+ overlays.cleanupRootFocusTrapAccessibility();
2087
+ }
2084
2088
  }
2085
2089
  componentWillLoad() {
2086
2090
  var _a;
@@ -2960,20 +2964,20 @@ const Modal = class {
2960
2964
  const isCardModal = presentingElement !== undefined && mode === 'ios';
2961
2965
  const isHandleCycle = handleBehavior === 'cycle';
2962
2966
  const isSheetModalWithHandle = isSheetModal && showHandle;
2963
- return (index$3.h(index$3.Host, Object.assign({ key: 'ab93657f4a5b4c97168d292b398d975e4b5b4af4', "no-router": true,
2967
+ return (index$3.h(index$3.Host, Object.assign({ key: '1a8350cc8389b167ba9dadd2e629d531af5698cf', "no-router": true,
2964
2968
  // Allow the modal to be navigable when the handle is focusable
2965
2969
  tabIndex: isHandleCycle && isSheetModalWithHandle ? 0 : -1 }, htmlAttributes, { style: {
2966
2970
  zIndex: `${20000 + this.overlayIndex}`,
2967
- }, class: Object.assign({ [mode]: true, ['modal-default']: !isCardModal && !isSheetModal, [`modal-card`]: isCardModal, [`modal-sheet`]: isSheetModal, [`modal-no-expand-scroll`]: isSheetModal && !expandToScroll, 'overlay-hidden': true, [overlays.FOCUS_TRAP_DISABLE_CLASS]: focusTrap === false }, theme.getClassMap(this.cssClass)), onIonBackdropTap: this.onBackdropTap, onIonModalDidPresent: this.onLifecycle, onIonModalWillPresent: this.onLifecycle, onIonModalWillDismiss: this.onLifecycle, onIonModalDidDismiss: this.onLifecycle, onFocus: this.onModalFocus }), index$3.h("ion-backdrop", { key: '5ba6315c7c8c64fa04c62f85fd493da5275b2cbd', ref: (el) => (this.backdropEl = el), visible: this.showBackdrop, tappable: this.backdropDismiss, part: "backdrop" }), mode === 'ios' && index$3.h("div", { key: 'a76c48d41c67f86c18a7481e980e6925e614f85d', class: "modal-shadow" }), index$3.h("div", Object.assign({ key: '3f6c61ba60b063592784d76a9594073b3bf210a9',
2971
+ }, class: Object.assign({ [mode]: true, ['modal-default']: !isCardModal && !isSheetModal, [`modal-card`]: isCardModal, [`modal-sheet`]: isSheetModal, [`modal-no-expand-scroll`]: isSheetModal && !expandToScroll, 'overlay-hidden': true, [overlays.FOCUS_TRAP_DISABLE_CLASS]: focusTrap === false }, theme.getClassMap(this.cssClass)), onIonBackdropTap: this.onBackdropTap, onIonModalDidPresent: this.onLifecycle, onIonModalWillPresent: this.onLifecycle, onIonModalWillDismiss: this.onLifecycle, onIonModalDidDismiss: this.onLifecycle, onFocus: this.onModalFocus }), index$3.h("ion-backdrop", { key: 'f757adb2407482cf567dbbf689b5d3c44c59d9fb', ref: (el) => (this.backdropEl = el), visible: this.showBackdrop, tappable: this.backdropDismiss, part: "backdrop" }), mode === 'ios' && index$3.h("div", { key: '960517dded3129f74f146b652e55d7fd21a163ae', class: "modal-shadow" }), index$3.h("div", Object.assign({ key: '590f49003dda88fee559d08dd844a666731f438f',
2968
2972
  /*
2969
2973
  role and aria-modal must be used on the
2970
2974
  same element. They must also be set inside the
2971
2975
  shadow DOM otherwise ion-button will not be highlighted
2972
2976
  when using VoiceOver: https://bugs.webkit.org/show_bug.cgi?id=247134
2973
2977
  */
2974
- role: "dialog" }, inheritedAttributes, { "aria-modal": "true", class: "modal-wrapper ion-overlay-wrapper", part: "content", ref: (el) => (this.wrapperEl = el) }), showHandle && (index$3.h("button", { key: '7f66b4fdb3dec61a2b9aec4e9dbacf5d013d637c', class: "modal-handle",
2978
+ role: "dialog" }, inheritedAttributes, { "aria-modal": "true", class: "modal-wrapper ion-overlay-wrapper", part: "content", ref: (el) => (this.wrapperEl = el) }), showHandle && (index$3.h("button", { key: '6b4e133da9d8bfbaa50158fcd5635e9868941072', class: "modal-handle",
2975
2979
  // Prevents the handle from receiving keyboard focus when it does not cycle
2976
- tabIndex: !isHandleCycle ? -1 : 0, "aria-label": "Activate to adjust the size of the dialog overlaying the screen", onClick: isHandleCycle ? this.onHandleClick : undefined, part: "handle", ref: (el) => (this.dragHandleEl = el) })), index$3.h("slot", { key: '2dfaaebe3d0b2a46be1224c25f9ab89bf1744332', onSlotchange: this.onSlotChange }))));
2980
+ tabIndex: !isHandleCycle ? -1 : 0, "aria-label": "Activate to adjust the size of the dialog overlaying the screen", onClick: isHandleCycle ? this.onHandleClick : undefined, part: "handle", ref: (el) => (this.dragHandleEl = el) })), index$3.h("slot", { key: 'dbacacb0f285c4a712a65cb1597d3a332056d954', onSlotchange: this.onSlotChange }))));
2977
2981
  }
2978
2982
  get el() { return index$3.getElement(this); }
2979
2983
  static get watchers() { return {
@@ -4,7 +4,7 @@
4
4
  'use strict';
5
5
 
6
6
  var index = require('./index-Ct7gcRif.js');
7
- var overlays = require('./overlays-TbKsuC-K.js');
7
+ var overlays = require('./overlays-DSmSrd_4.js');
8
8
  var frameworkDelegate = require('./framework-delegate-BtICZDHr.js');
9
9
  var helpers = require('./helpers-Cv23MFHM.js');
10
10
  var lockController = require('./lock-controller-aDB9wrEf.js');
@@ -1306,6 +1306,10 @@ const Popover = class {
1306
1306
  this.headerResizeObserver.disconnect();
1307
1307
  this.headerResizeObserver = undefined;
1308
1308
  }
1309
+ // Clean up aria-hidden if removed without dismiss() being called
1310
+ if (this.presented) {
1311
+ overlays.cleanupRootFocusTrapAccessibility();
1312
+ }
1309
1313
  }
1310
1314
  componentWillLoad() {
1311
1315
  var _a, _b;
@@ -1544,9 +1548,9 @@ const Popover = class {
1544
1548
  const { onLifecycle, parentPopover, dismissOnSelect, side, arrow, htmlAttributes, focusTrap } = this;
1545
1549
  const desktop = ionicGlobal.isPlatform('desktop');
1546
1550
  const enableArrow = arrow && !parentPopover;
1547
- return (index.h(index.Host, Object.assign({ key: '2edd8333c630efbce59071f8a383e4326e928dbc', "aria-modal": "true", "no-router": true, tabindex: "-1" }, htmlAttributes, { style: {
1551
+ return (index.h(index.Host, Object.assign({ key: 'd7f3aa2c2fa93a93585e3eda9e4a6d0daaa541be', "aria-modal": "true", "no-router": true, tabindex: "-1" }, htmlAttributes, { style: {
1548
1552
  zIndex: `${20000 + this.overlayIndex}`,
1549
- }, class: Object.assign(Object.assign({}, theme.getClassMap(this.cssClass)), { [mode]: true, 'popover-translucent': this.translucent, 'overlay-hidden': true, 'popover-desktop': desktop, [`popover-side-${side}`]: true, [overlays.FOCUS_TRAP_DISABLE_CLASS]: focusTrap === false, 'popover-nested': !!parentPopover }), onIonPopoverDidPresent: onLifecycle, onIonPopoverWillPresent: onLifecycle, onIonPopoverWillDismiss: onLifecycle, onIonPopoverDidDismiss: onLifecycle, onIonBackdropTap: this.onBackdropTap }), !parentPopover && index.h("ion-backdrop", { key: 'aac4e68b08197534375e8ea3f8c9ea0c10ab2af4', tappable: this.backdropDismiss, visible: this.showBackdrop, part: "backdrop" }), index.h("div", { key: 'b7f4ebf57d4148b32856b0075d286f454be8de5d', class: "popover-wrapper ion-overlay-wrapper", onClick: dismissOnSelect ? () => this.dismiss() : undefined }, enableArrow && index.h("div", { key: '607d94c28d73e8e957175a7c0f6e8a99ec4dcd53', class: "popover-arrow", part: "arrow" }), index.h("div", { key: '4366a5a5de550c09895e923f345583508e1ec30c', class: "popover-content", part: "content" }, index.h("slot", { key: 'eb7886fbc99c15b667b7d825d24f1c12d9380f03' })))));
1553
+ }, class: Object.assign(Object.assign({}, theme.getClassMap(this.cssClass)), { [mode]: true, 'popover-translucent': this.translucent, 'overlay-hidden': true, 'popover-desktop': desktop, [`popover-side-${side}`]: true, [overlays.FOCUS_TRAP_DISABLE_CLASS]: focusTrap === false, 'popover-nested': !!parentPopover }), onIonPopoverDidPresent: onLifecycle, onIonPopoverWillPresent: onLifecycle, onIonPopoverWillDismiss: onLifecycle, onIonPopoverDidDismiss: onLifecycle, onIonBackdropTap: this.onBackdropTap }), !parentPopover && index.h("ion-backdrop", { key: 'b87be2ef14219997b9c47dcbaf904eb770d0e057', tappable: this.backdropDismiss, visible: this.showBackdrop, part: "backdrop" }), index.h("div", { key: 'e6243572faf1b871ae2b34923410b2a6638469f0', class: "popover-wrapper ion-overlay-wrapper", onClick: dismissOnSelect ? () => this.dismiss() : undefined }, enableArrow && index.h("div", { key: '3d4938c9d0764a644398e0e7a4361106da1bd926', class: "popover-arrow", part: "arrow" }), index.h("div", { key: '24ad6d777828aad2881d56595693e6022fc9cb8e', class: "popover-content", part: "content" }, index.h("slot", { key: '79f83df74a5c5e3dd7650f15c1aa50795b90a345' })))));
1550
1554
  }
1551
1555
  get el() { return index.getElement(this); }
1552
1556
  static get watchers() { return {
@@ -42,7 +42,7 @@ const ProgressBar = class {
42
42
  const mode = ionicGlobal.getIonMode(this);
43
43
  // If the progress is displayed as a solid bar.
44
44
  const progressSolid = buffer === 1;
45
- return (index.h(index.Host, { key: 'c859e48f3d24a458239e36d925e5dc003ed07c6b', role: "progressbar", "aria-valuenow": type === 'determinate' ? value : null, "aria-valuemin": "0", "aria-valuemax": "1", class: theme.createColorClasses(color, {
45
+ return (index.h(index.Host, { key: 'd7476268ce53b6a4f425b7bc9f01d6935eb411c3', role: "progressbar", "aria-valuenow": type === 'determinate' ? value : null, "aria-valuemin": "0", "aria-valuemax": "1", class: theme.createColorClasses(color, {
46
46
  [mode]: true,
47
47
  [`progress-bar-${type}`]: true,
48
48
  'progress-paused': paused,
@@ -138,7 +138,7 @@ const Radio = class {
138
138
  const { checked, disabled, color, el, justify, labelPlacement, hasLabel, buttonTabindex, alignment } = this;
139
139
  const mode = ionicGlobal.getIonMode(this);
140
140
  const inItem = theme.hostContext('ion-item', el);
141
- return (index.h(index.Host, { key: 'af5dc59ed528150872e907ed1036e3e2decba939', onFocus: this.onFocus, onBlur: this.onBlur, onClick: this.onClick, class: theme.createColorClasses(color, {
141
+ return (index.h(index.Host, { key: 'd9425b252ed38086420d91d5c680421d121c99f4', onFocus: this.onFocus, onBlur: this.onBlur, onClick: this.onClick, class: theme.createColorClasses(color, {
142
142
  [mode]: true,
143
143
  'in-item': inItem,
144
144
  'radio-checked': checked,
@@ -149,10 +149,10 @@ const Radio = class {
149
149
  // Focus and active styling should not apply when the radio is in an item
150
150
  'ion-activatable': !inItem,
151
151
  'ion-focusable': !inItem,
152
- }), role: "radio", "aria-checked": checked ? 'true' : 'false', "aria-disabled": disabled ? 'true' : null, tabindex: buttonTabindex }, index.h("label", { key: '1312aba3259a87fe23a6911cdfa477e309469c8b', class: "radio-wrapper" }, index.h("div", { key: 'b342aa27e240a300836d2a135658d346b95daf09', class: {
152
+ }), role: "radio", "aria-checked": checked ? 'true' : 'false', "aria-disabled": disabled ? 'true' : null, tabindex: buttonTabindex }, index.h("label", { key: 'de391fca2aa0b681af5c1d089121596c46e68271', class: "radio-wrapper" }, index.h("div", { key: '44e4c71645f86a9e73ad58c0e8b41c0558b920f6', class: {
153
153
  'label-text-wrapper': true,
154
154
  'label-text-wrapper-hidden': !hasLabel,
155
- }, part: "label" }, index.h("slot", { key: '0a4613d29aa783d1882cf889377f7e4fd4fea51d' })), index.h("div", { key: '191faea79dc4cd8befc4b873f5bd9f5af8ca2acc', class: "native-wrapper" }, this.renderRadioControl()))));
155
+ }, part: "label" }, index.h("slot", { key: '589d7c1b45a1918b5811663daa8f30788e7729f8' })), index.h("div", { key: '0f61a17b195582d6c9a0c597cd40e6629256e479', class: "native-wrapper" }, this.renderRadioControl()))));
156
156
  }
157
157
  get el() { return index.getElement(this); }
158
158
  static get watchers() { return {
@@ -794,7 +794,7 @@ const Range = class {
794
794
  const valueAtMin = dualKnobs ? this.valA === min || this.valB === min : this.valA === min;
795
795
  const valueAtMax = dualKnobs ? this.valA === max || this.valB === max : this.valA === max;
796
796
  helpers.renderHiddenInput(true, el, this.name, JSON.stringify(this.getValue()), disabled);
797
- return (index.h(index.Host, { key: 'f8063d1234fb113fe55a7902845dd4b4da8b1edb', onFocusin: this.onFocus, onFocusout: this.onBlur, id: rangeId, class: theme.createColorClasses(this.color, {
797
+ return (index.h(index.Host, { key: 'cd26f0187c0d37c7eb9df923f75c8a0f57c19ab6', onFocusin: this.onFocus, onFocusout: this.onBlur, id: rangeId, class: theme.createColorClasses(this.color, {
798
798
  [mode]: true,
799
799
  'in-item': inItem,
800
800
  'range-disabled': disabled,
@@ -808,10 +808,10 @@ const Range = class {
808
808
  'range-item-end-adjustment': needsEndAdjustment,
809
809
  'range-value-min': valueAtMin,
810
810
  'range-value-max': valueAtMax,
811
- }) }, index.h("label", { key: 'beead65ab01e3b18e4be59c0ee8ac6ebf32aad7c', class: "range-wrapper", id: "range-label" }, index.h("div", { key: '03633c689d9d2e4c50a2131bcd560329df49e314', class: {
811
+ }) }, index.h("label", { key: '90224fd24b0e625a17e7972feff73a0ac31e093d', class: "range-wrapper", id: "range-label" }, index.h("div", { key: 'e07b9fa10983249c425eec26b741f0f628daf2b2', class: {
812
812
  'label-text-wrapper': true,
813
813
  'label-text-wrapper-hidden': !hasLabel,
814
- }, part: "label" }, label !== undefined ? index.h("div", { class: "label-text" }, label) : index.h("slot", { name: "label" })), index.h("div", { key: 'c066804263ab6ae7393f8dcc51184b7198844ffa', class: "native-wrapper" }, index.h("slot", { key: '7e8ea224d72b3e965dd948bee7e45c1a096b6899', name: "start" }), this.renderRangeSlider(), index.h("slot", { key: '21f242f6f60ff3adce6a2d90b2d4dac1ceaf6624', name: "end" })))));
814
+ }, part: "label" }, label !== undefined ? index.h("div", { class: "label-text" }, label) : index.h("slot", { name: "label" })), index.h("div", { key: '9e252f1190838fbae46e724bf665f9b1943600a4', class: "native-wrapper" }, index.h("slot", { key: '950697dd9636da340de659812daa91fff50e5345', name: "start" }), this.renderRangeSlider(), index.h("slot", { key: 'd3fce46b29db275af71e6149e725967839ec12b0', name: "end" })))));
815
815
  }
816
816
  get el() { return index.getElement(this); }
817
817
  static get watchers() { return {
@@ -918,7 +918,7 @@ const Refresher = class {
918
918
  }
919
919
  render() {
920
920
  const mode = ionicGlobal.getIonMode(this);
921
- return (index.h(index.Host, { key: '80fa313b0d77161680836bdd6aa334d02c549b41', slot: "fixed", class: {
921
+ return (index.h(index.Host, { key: '1dd475095f76491206644828cf89fc6d2ec276d1', slot: "fixed", class: {
922
922
  [mode]: true,
923
923
  // Used internally for styling
924
924
  [`refresher-${mode}`]: true,
@@ -983,7 +983,7 @@ const RefresherContent = class {
983
983
  const pullingIcon = this.pullingIcon;
984
984
  const hasSpinner = pullingIcon != null && spinnerConfigs.SPINNERS[pullingIcon] !== undefined;
985
985
  const mode = ionicGlobal.getIonMode(this);
986
- return (index.h(index.Host, { key: '4add42b9fdfded359d1b054d04c2c6ff48e028c8', class: mode }, index.h("div", { key: '45d4e4e0adfed7f96dd1849767aa2cde947de044', class: "refresher-pulling" }, this.pullingIcon && hasSpinner && (index.h("div", { key: '6bd6c8ef5bf6e10699eec3bd8646431bfe1077a0', class: "refresher-pulling-icon" }, index.h("div", { key: '852d20414da53352c8e58bc627e0fda38eff97cb', class: "spinner-arrow-container" }, index.h("ion-spinner", { key: '0dde3578a80cc4b77a07c4d1db1af80c7eb10c27', name: this.pullingIcon, paused: true }), mode === 'md' && this.pullingIcon === 'circular' && (index.h("div", { key: 'c71dbfcf416a19c30fed38f722ebf0358c2181dd', class: "arrow-container" }, index.h("ion-icon", { key: 'fa7c2cf624e7a9c41964e66cabc88c594da6d1fd', icon: index$2.caretBackSharp, "aria-hidden": "true" })))))), this.pullingIcon && !hasSpinner && (index.h("div", { key: '3dd68c9968b421c379d1c4349ba619ee0a189c6d', class: "refresher-pulling-icon" }, index.h("ion-icon", { key: 'f83bceceae4fa8245f91939fb6db589a595e975b', icon: this.pullingIcon, lazy: false, "aria-hidden": "true" }))), this.pullingText !== undefined && this.renderPullingText()), index.h("div", { key: '98e22ceb0f7883e871f815f6199f5cb313e2e086', class: "refresher-refreshing" }, this.refreshingSpinner && (index.h("div", { key: 'faabe8a9b61c02a00994ef978bb82b9ba4537214', class: "refresher-refreshing-icon" }, index.h("ion-spinner", { key: '029a0c073ee1a07f01211e12ba2abc985cf21ed7', name: this.refreshingSpinner }))), this.refreshingText !== undefined && this.renderRefreshingText())));
986
+ return (index.h(index.Host, { key: 'ec378d6a302be697c12c4f973a57c6ad2ada070f', class: mode }, index.h("div", { key: '0055f98f8c5a1ed7979dc8146ec1f82a575860c7', class: "refresher-pulling" }, this.pullingIcon && hasSpinner && (index.h("div", { key: '4f88468e26370df6889e72aa54ebb395ebf3757d', class: "refresher-pulling-icon" }, index.h("div", { key: '05b3f8679576aaa6c2d84d60df6629a392df29e2', class: "spinner-arrow-container" }, index.h("ion-spinner", { key: '0bf6ceea416ce1140c0f10a5bede063cae7054f4', name: this.pullingIcon, paused: true }), mode === 'md' && this.pullingIcon === 'circular' && (index.h("div", { key: 'b71ede8455837968218edae28504e5e14bbc1f5c', class: "arrow-container" }, index.h("ion-icon", { key: '30b808288d23d3eac681b1225cd8392fdacfefe1', icon: index$2.caretBackSharp, "aria-hidden": "true" })))))), this.pullingIcon && !hasSpinner && (index.h("div", { key: 'fee1ae7e57ef8a02f5654808dff9dca3002b6702', class: "refresher-pulling-icon" }, index.h("ion-icon", { key: '55b34a98028adb497fbc2ac66bdb3d5ae5b1705b', icon: this.pullingIcon, lazy: false, "aria-hidden": "true" }))), this.pullingText !== undefined && this.renderPullingText()), index.h("div", { key: 'ef8f987daa8060cb6f8fd83c0864095042b9eecf', class: "refresher-refreshing" }, this.refreshingSpinner && (index.h("div", { key: 'cd6fe0e81b34eeae11478fcc8a42044bff6f7a52', class: "refresher-refreshing-icon" }, index.h("ion-spinner", { key: '9cd778229582b538d54589c4d8e4d470efb64aad', name: this.refreshingSpinner }))), this.refreshingText !== undefined && this.renderRefreshingText())));
987
987
  }
988
988
  get el() { return index.getElement(this); }
989
989
  };
@@ -32,7 +32,7 @@ const Reorder = class {
32
32
  render() {
33
33
  const mode = ionicGlobal.getIonMode(this);
34
34
  const reorderIcon = mode === 'ios' ? index$1.reorderThreeOutline : index$1.reorderTwoSharp;
35
- return (index.h(index.Host, { key: 'b869db61ca6393cf1476f2111a66b387b567c6d1', class: mode }, index.h("slot", { key: 'a78edd1776835282b8b5c841377018f36c83296c' }, index.h("ion-icon", { key: '7fb067c47bbb9a7258e5063f028282cc097d0f94', icon: reorderIcon, lazy: false, class: "reorder-icon", part: "icon", "aria-hidden": "true" }))));
35
+ return (index.h(index.Host, { key: '4d35db30b5b3df2020d2212abb3cfac94f9bc2b8', class: mode }, index.h("slot", { key: '68a565ae4a47f6a9f5d6ba845b596fdfa629ece8' }, index.h("ion-icon", { key: '168fb0f8eb9c02329274488900fcdb05d44cb895', icon: reorderIcon, lazy: false, class: "reorder-icon", part: "icon", "aria-hidden": "true" }))));
36
36
  }
37
37
  get el() { return index.getElement(this); }
38
38
  };
@@ -295,7 +295,7 @@ const ReorderGroup = class {
295
295
  }
296
296
  render() {
297
297
  const mode = ionicGlobal.getIonMode(this);
298
- return (index.h(index.Host, { key: '9527bbdedaab63d31f562c874a7332ea60c4b47b', class: {
298
+ return (index.h(index.Host, { key: '3afdc6a6c81bba2f88ea523d4b73c6fccff1b9ec', class: {
299
299
  [mode]: true,
300
300
  'reorder-enabled': !this.disabled,
301
301
  'reorder-list-active': this.state !== 0 /* ReorderGroupState.Idle */,
@@ -74,7 +74,7 @@ const RippleEffect = class {
74
74
  }
75
75
  render() {
76
76
  const mode = ionicGlobal.getIonMode(this);
77
- return (index.h(index.Host, { key: '3b59cbb44741569a7350f9638b4392add673b6f1', role: "presentation", class: {
77
+ return (index.h(index.Host, { key: '5e88b5225414e29883256c86f111ded5bdf2ef91', role: "presentation", class: {
78
78
  [mode]: true,
79
79
  unbounded: this.unbounded,
80
80
  } }));
@@ -1073,10 +1073,10 @@ const RouterLink = class {
1073
1073
  rel: this.rel,
1074
1074
  target: this.target,
1075
1075
  };
1076
- return (index.h(index.Host, { key: '8372835161d507c7b821b7536c55f912eb6ce704', onClick: this.onClick, class: theme.createColorClasses(this.color, {
1076
+ return (index.h(index.Host, { key: '6d5fdfa0dcf1eb216173bcc53f1f4d625f3ec551', onClick: this.onClick, class: theme.createColorClasses(this.color, {
1077
1077
  [mode]: true,
1078
1078
  'ion-activatable': true,
1079
- }) }, index.h("a", Object.assign({ key: '315966e14a17760f3f64197e8315200039787897' }, attrs), index.h("slot", { key: '95fc1697b884225e85e647dddcaa8f4af8b9a979' }))));
1079
+ }) }, index.h("a", Object.assign({ key: '85796b7b48581fe9830ba1102dad7d1069de4e17' }, attrs), index.h("slot", { key: '0f93b0da3ec4ae8f50f624f9e7bed87d13d712d0' }))));
1080
1080
  }
1081
1081
  };
1082
1082
  RouterLink.style = routerLinkCss();
@@ -46,7 +46,7 @@ const Searchbar = class {
46
46
  /**
47
47
  * Set the input's autocorrect property.
48
48
  */
49
- this.autocorrect = 'off';
49
+ this.autocorrect = false;
50
50
  /**
51
51
  * Set the cancel button icon. Only applies to `md` mode.
52
52
  * Defaults to `arrow-back-sharp`.
@@ -449,8 +449,8 @@ const Searchbar = class {
449
449
  const clearIcon = this.clearIcon || (mode === 'ios' ? index$1.closeCircle : index$1.closeSharp);
450
450
  const searchIcon = this.searchIcon || (mode === 'ios' ? index$1.searchOutline : index$1.searchSharp);
451
451
  const shouldShowCancelButton = this.shouldShowCancelButton();
452
- const cancelButton = this.showCancelButton !== 'never' && (index.h("button", { key: '9e9f3a7f6ee66140181f8c3cfa42bbeee75adafc', "aria-label": cancelButtonText, "aria-hidden": shouldShowCancelButton ? undefined : 'true', type: "button", tabIndex: mode === 'ios' && !shouldShowCancelButton ? -1 : undefined, onMouseDown: this.onCancelSearchbar, onTouchStart: this.onCancelSearchbar, class: "searchbar-cancel-button" }, index.h("div", { key: '5f83fbcc0708830637815e8c0b69356cad381870', "aria-hidden": "true" }, mode === 'md' ? (index.h("ion-icon", { "aria-hidden": "true", mode: mode, icon: this.cancelButtonIcon, lazy: false })) : (cancelButtonText))));
453
- return (index.h(index.Host, { key: '219c263c1f3cc63e18bc2d2ba5d672b7806eddd0', role: "search", "aria-disabled": this.disabled ? 'true' : null, class: theme.createColorClasses(this.color, {
452
+ const cancelButton = this.showCancelButton !== 'never' && (index.h("button", { key: '870c9284441fdf431056ac944ac93afa7cb1ee96', "aria-label": cancelButtonText, "aria-hidden": shouldShowCancelButton ? undefined : 'true', type: "button", tabIndex: mode === 'ios' && !shouldShowCancelButton ? -1 : undefined, onMouseDown: this.onCancelSearchbar, onTouchStart: this.onCancelSearchbar, class: "searchbar-cancel-button" }, index.h("div", { key: '730e33f44c5ec6eee898ea6612fdba337de354e3', "aria-hidden": "true" }, mode === 'md' ? (index.h("ion-icon", { "aria-hidden": "true", mode: mode, icon: this.cancelButtonIcon, lazy: false })) : (cancelButtonText))));
453
+ return (index.h(index.Host, { key: 'd898b9f9768ec7119a3ad4be8350d8a3cfb32ba6', role: "search", "aria-disabled": this.disabled ? 'true' : null, class: theme.createColorClasses(this.color, {
454
454
  [mode]: true,
455
455
  'searchbar-animated': animated,
456
456
  'searchbar-disabled': this.disabled,
@@ -460,14 +460,14 @@ const Searchbar = class {
460
460
  'searchbar-has-focus': this.focused,
461
461
  'searchbar-should-show-clear': this.shouldShowClearButton(),
462
462
  'searchbar-should-show-cancel': this.shouldShowCancelButton(),
463
- }) }, index.h("div", { key: '3f1c25442d6d87c0df67f79482a925b80dcc403d', class: "searchbar-input-container" }, index.h("input", Object.assign({ key: 'a386fecafda0fab449ea1488906ba6cfc55e2b5c', "aria-label": "search text", disabled: this.disabled, ref: (el) => (this.nativeInput = el), class: "searchbar-input", inputMode: this.inputmode, enterKeyHint: this.enterkeyhint, name: this.name, onInput: this.onInput, onChange: this.onChange, onBlur: this.onBlur, onFocus: this.onFocus, minLength: this.minlength, maxLength: this.maxlength, placeholder: this.placeholder, type: this.type, value: this.getValue(), autoCapitalize: autocapitalize === 'default' ? undefined : autocapitalize, autoComplete: this.autocomplete, autoCorrect: this.autocorrect, spellcheck: this.spellcheck }, this.inheritedAttributes)), mode === 'md' && cancelButton, index.h("ion-icon", { key: '5f81642628335def39a14f0726e0fafdc7203776', "aria-hidden": "true", mode: mode, icon: searchIcon, lazy: false, class: "searchbar-search-icon" }), index.h("button", { key: 'da3073646f2d7f639261b556517fbadabc3c10e9', "aria-label": "reset", type: "button", "no-blur": true, class: "searchbar-clear-button", onPointerDown: (ev) => {
463
+ }) }, index.h("div", { key: 'a0b49cce6241b7e79834de7cbb1d1076f9d42a21', class: "searchbar-input-container" }, index.h("input", Object.assign({ key: '8ad5e659f8ed675fa5559f9e5dfcdf99cfcb8bcf', "aria-label": "search text", disabled: this.disabled, ref: (el) => (this.nativeInput = el), class: "searchbar-input", inputMode: this.inputmode, enterKeyHint: this.enterkeyhint, name: this.name, onInput: this.onInput, onChange: this.onChange, onBlur: this.onBlur, onFocus: this.onFocus, minLength: this.minlength, maxLength: this.maxlength, placeholder: this.placeholder, type: this.type, value: this.getValue(), autoCapitalize: autocapitalize === 'default' ? undefined : autocapitalize, autoComplete: this.autocomplete, autoCorrect: this.autocorrect ? 'on' : 'off', spellcheck: this.spellcheck }, this.inheritedAttributes)), mode === 'md' && cancelButton, index.h("ion-icon", { key: '09f26831a519bb6639115f827b2b8985ae51e4b9', "aria-hidden": "true", mode: mode, icon: searchIcon, lazy: false, class: "searchbar-search-icon" }), index.h("button", { key: 'd70ccda51cb79e51577648fcca3b274c6fa20a4f', "aria-label": "reset", type: "button", "no-blur": true, class: "searchbar-clear-button", onPointerDown: (ev) => {
464
464
  /**
465
465
  * This prevents mobile browsers from
466
466
  * blurring the input when the clear
467
467
  * button is activated.
468
468
  */
469
469
  ev.preventDefault();
470
- }, onClick: () => this.onClearInput(true) }, index.h("ion-icon", { key: '065cd6c707ae462c0767df1bab04ce8045f340a4', "aria-hidden": "true", mode: mode, icon: clearIcon, lazy: false, class: "searchbar-clear-icon" }))), mode === 'ios' && cancelButton));
470
+ }, onClick: () => this.onClearInput(true) }, index.h("ion-icon", { key: '428dcb1c0ffef947e24771b060288da47e67b6bd', "aria-hidden": "true", mode: mode, icon: clearIcon, lazy: false, class: "searchbar-clear-icon" }))), mode === 'ios' && cancelButton));
471
471
  }
472
472
  get el() { return index.getElement(this); }
473
473
  static get watchers() { return {
@@ -12,7 +12,7 @@ const SegmentContent = class {
12
12
  index.registerInstance(this, hostRef);
13
13
  }
14
14
  render() {
15
- return (index.h(index.Host, { key: '665f41a854621f898eaf7ba9a49e77cc9326501e' }, index.h("slot", { key: '635aa57fbf6167dcd36fe8dc5dfc1c313637ac04' })));
15
+ return (index.h(index.Host, { key: 'ef39f29c444177c3b083cd35680ba891e4bb6a2a' }, index.h("slot", { key: '51f9dd9ca084ddd928b376aa9d716509669c32b2' })));
16
16
  }
17
17
  };
18
18
  SegmentContent.style = segmentContentCss();
@@ -112,11 +112,11 @@ const SegmentView = class {
112
112
  }
113
113
  render() {
114
114
  const { disabled, isManualScroll, swipeGesture } = this;
115
- return (index.h(index.Host, { key: '2a6e0a1046af75b1fa0eed20a5fbbb4634480297', class: {
115
+ return (index.h(index.Host, { key: 'a6c6ac0232c4bb6f2a954b3de7993019d71f423a', class: {
116
116
  'segment-view-disabled': disabled,
117
117
  'segment-view-scroll-disabled': isManualScroll === false,
118
118
  'segment-view-swipe-disabled': swipeGesture === false,
119
- } }, index.h("slot", { key: '644b60d179d0de3fa204e3bef26a3503ceeaf1d6' })));
119
+ } }, index.h("slot", { key: '386305be2a75069c79def12005d9f6b49276763f' })));
120
120
  }
121
121
  get el() { return index.getElement(this); }
122
122
  };
@@ -553,14 +553,14 @@ const Segment = class {
553
553
  }
554
554
  render() {
555
555
  const mode = ionicGlobal.getIonMode(this);
556
- return (index.h(index.Host, { key: 'eda6b7b88b7967b55cf9098c59b655b348a42224', role: "tablist", onClick: this.onClick, class: theme.createColorClasses(this.color, {
556
+ return (index.h(index.Host, { key: 'bb626072e73f09c3433e1a769e09789a00822d8f', role: "tablist", onClick: this.onClick, class: theme.createColorClasses(this.color, {
557
557
  [mode]: true,
558
558
  'in-toolbar': theme.hostContext('ion-toolbar', this.el),
559
559
  'in-toolbar-color': theme.hostContext('ion-toolbar[color]', this.el),
560
560
  'segment-activated': this.activated,
561
561
  'segment-disabled': this.disabled,
562
562
  'segment-scrollable': this.scrollable,
563
- }) }, index.h("slot", { key: 'fdb451f235ce59c5bb50c61a13c69160ece2d5df', onSlotchange: this.onSlottedItemsChange })));
563
+ }) }, index.h("slot", { key: '652d5037c2c2dee4d47a5710b1d150e691202d25', onSlotchange: this.onSlottedItemsChange })));
564
564
  }
565
565
  get el() { return index.getElement(this); }
566
566
  static get watchers() { return {
@@ -686,7 +686,7 @@ const SegmentButton = class {
686
686
  const { checked, type, disabled, hasIcon, hasLabel, layout, segmentEl } = this;
687
687
  const mode = ionicGlobal.getIonMode(this);
688
688
  const hasSegmentColor = () => (segmentEl === null || segmentEl === void 0 ? void 0 : segmentEl.color) !== undefined;
689
- return (index.h(index.Host, { key: 'f69e2a24198a7c57543dbe66902da039a6569c64', class: {
689
+ return (index.h(index.Host, { key: '792f621c36260b1fceff2b4ec4fa95d98d51d46b', class: {
690
690
  [mode]: true,
691
691
  'in-toolbar': theme.hostContext('ion-toolbar', this.el),
692
692
  'in-toolbar-color': theme.hostContext('ion-toolbar[color]', this.el),
@@ -702,7 +702,7 @@ const SegmentButton = class {
702
702
  'ion-activatable': true,
703
703
  'ion-activatable-instant': true,
704
704
  'ion-focusable': true,
705
- } }, index.h("button", Object.assign({ key: '0a6fea3a374074af19f7ece0ba3a7cf1e269ab6d', "aria-selected": checked ? 'true' : 'false', role: "tab", ref: (el) => (this.nativeEl = el), type: type, class: "button-native", part: "native", disabled: disabled }, this.inheritedAttributes), index.h("span", { key: '991018a38c59a6f3d76b2e952e5569c874d2c13e', class: "button-inner" }, index.h("slot", { key: '23c547c80108025027b913c7fcbec189286627a3' })), mode === 'md' && index.h("ion-ripple-effect", { key: '7faa9d06ab6aa7346d16b0b6808979759a79650c' })), index.h("div", { key: '0d61badf2c227dc38e20185b2b2bb590a5efa434', part: "indicator", class: "segment-button-indicator segment-button-indicator-animated" }, index.h("div", { key: 'a84035752b78491c344179d1e61d109fb4bd1cf1', part: "indicator-background", class: "segment-button-indicator-background" }))));
705
+ } }, index.h("button", Object.assign({ key: '860698be6ceb8f08c0ce3d16ba82d4bb56adf030', "aria-selected": checked ? 'true' : 'false', role: "tab", ref: (el) => (this.nativeEl = el), type: type, class: "button-native", part: "native", disabled: disabled }, this.inheritedAttributes), index.h("span", { key: 'e903a2642ff46797878a941887b5c596d52fd3a3', class: "button-inner" }, index.h("slot", { key: '5fc6b842ecb7f0ab8df23b344bf6714f38dda89a' })), mode === 'md' && index.h("ion-ripple-effect", { key: '710aaf6e4fa2b6cb15897a883e88dec17ef3829f' })), index.h("div", { key: 'a7b036cba32420e9eb3f2d16487df0519ecc5289', part: "indicator", class: "segment-button-indicator segment-button-indicator-animated" }, index.h("div", { key: 'a0a5f49ea7f2ecab8014f4f9ca473a27db8348b6', part: "indicator-background", class: "segment-button-indicator-background" }))));
706
706
  }
707
707
  get el() { return index.getElement(this); }
708
708
  static get watchers() { return {
@@ -5,7 +5,7 @@
5
5
 
6
6
  var index = require('./index-Ct7gcRif.js');
7
7
  var ionicGlobal = require('./ionic-global-B-cA6LkY.js');
8
- var overlays = require('./overlays-TbKsuC-K.js');
8
+ var overlays = require('./overlays-DSmSrd_4.js');
9
9
  var theme = require('./theme-CeDs6Hcv.js');
10
10
  require('./index-DkNv4J_i.js');
11
11
  require('./helpers-Cv23MFHM.js');
@@ -105,7 +105,7 @@ const SelectModal = class {
105
105
  } }, option.text))));
106
106
  }
107
107
  render() {
108
- return (index.h(index.Host, { key: 'fda0bf6f93cd5ec9f3c64f88a52de849e0e140a2', class: ionicGlobal.getIonMode(this) }, index.h("ion-header", { key: '27c0b17175a53db9ff159feeeb96451a3f011dab' }, index.h("ion-toolbar", { key: '91a4155ebc317fbc9f1bb3e26a7e94754b953c9b' }, this.header !== undefined && index.h("ion-title", { key: 'f6dae8e4e381f322cc90efefd9bb6ef81d4d2f3e' }, this.header), index.h("ion-buttons", { key: 'e7760532fb2e7e7385ed6e62097d92d96ff20148', slot: "end" }, index.h("ion-button", { key: '4999b6fc46cba138186546dca67b7950855e6fb7', onClick: () => this.closeModal() }, this.cancelText)))), index.h("ion-content", { key: 'c73f80a4bc25b9061ea65cf11e5d811c1a4d8704' }, index.h("ion-list", { key: 'b21905d15b36ad5eb45845e768918d2763cf48b1' }, this.multiple === true ? this.renderCheckboxOptions() : this.renderRadioOptions()))));
108
+ return (index.h(index.Host, { key: '36fe925fe98356858630325abc9ab71ef25dfb46', class: ionicGlobal.getIonMode(this) }, index.h("ion-header", { key: '16d89db1284d7080b4ead5f4a4a0bac57f264f62' }, index.h("ion-toolbar", { key: 'e16c889d9c7b5edf3b26a7cca1443ec5520e69e0' }, this.header !== undefined && index.h("ion-title", { key: '269df2e45a3abf3fe7518e8a34b0bab749bdea14' }, this.header), index.h("ion-buttons", { key: 'd8e218821e085424e52f86ef6ede2c5fb568dc82', slot: "end" }, index.h("ion-button", { key: '26c99660d4f5ec6334da56ad5712bfc79f80d0e2', onClick: () => this.closeModal() }, this.cancelText)))), index.h("ion-content", { key: '455fb684edae7d6754ef4882c1221956f7b4d29b' }, index.h("ion-list", { key: '3817a9deb1881a8c0d165b21940890bd628b3614' }, this.multiple === true ? this.renderCheckboxOptions() : this.renderRadioOptions()))));
109
109
  }
110
110
  get el() { return index.getElement(this); }
111
111
  };
@@ -8,7 +8,7 @@ var notchController = require('./notch-controller-18PzRGXd.js');
8
8
  var compareWithUtils = require('./compare-with-utils-DSicavqM.js');
9
9
  var validity = require('./validity-BpS37YFM.js');
10
10
  var helpers = require('./helpers-Cv23MFHM.js');
11
- var overlays = require('./overlays-TbKsuC-K.js');
11
+ var overlays = require('./overlays-DSmSrd_4.js');
12
12
  var dir = require('./dir-Cn0z1rJH.js');
13
13
  var theme = require('./theme-CeDs6Hcv.js');
14
14
  var watchOptions = require('./watch-options-CviOsrTS.js');
@@ -161,9 +161,40 @@ const Select = class {
161
161
  this.emitStyle();
162
162
  }
163
163
  setValue(value) {
164
+ if (this.isValueEqual(this.value, value)) {
165
+ return;
166
+ }
164
167
  this.value = value;
165
168
  this.ionChange.emit({ value });
166
169
  }
170
+ isValueEqual(currentValue, newValue) {
171
+ if (this.multiple) {
172
+ const currentArr = Array.isArray(currentValue) ? currentValue : [];
173
+ const newArr = Array.isArray(newValue) ? newValue : [];
174
+ if (currentArr.length !== newArr.length) {
175
+ return false;
176
+ }
177
+ // Multiset compare: each new value must match a distinct current value.
178
+ // A plain `every(isOptionSelected)` would accept ['a','a'] as equal to
179
+ // ['a','b'] when both 'a' and 'b' map to options whose values overlap.
180
+ const remaining = currentArr.slice();
181
+ return newArr.every((val) => {
182
+ const idx = remaining.findIndex((c) => compareWithUtils.compareOptions(c, val, this.compareWith));
183
+ if (idx === -1) {
184
+ return false;
185
+ }
186
+ remaining.splice(idx, 1);
187
+ return true;
188
+ });
189
+ }
190
+ if (currentValue == null && newValue == null) {
191
+ return true;
192
+ }
193
+ if (currentValue == null || newValue == null) {
194
+ return false;
195
+ }
196
+ return compareWithUtils.compareOptions(currentValue, newValue, this.compareWith);
197
+ }
167
198
  async connectedCallback() {
168
199
  const { el } = this;
169
200
  this.notchController = notchController.createNotchController(el, () => this.notchSpacerEl, () => this.labelSlot);
@@ -790,7 +821,7 @@ const Select = class {
790
821
  * TODO(FW-5592): Remove hasStartEndSlots condition
791
822
  */
792
823
  const labelShouldFloat = labelPlacement === 'stacked' || (labelPlacement === 'floating' && (hasValue || isExpanded || hasStartEndSlots));
793
- return (index.h(index.Host, { key: '5f4ee901b65554eacc9fa52230d06b1a5ff1247c', onClick: this.onClick, class: theme.createColorClasses(this.color, {
824
+ return (index.h(index.Host, { key: '2c141ef1b6983b464118e8ed192739dfca9d095a', onClick: this.onClick, class: theme.createColorClasses(this.color, {
794
825
  [mode]: true,
795
826
  'in-item': inItem,
796
827
  'in-item-color': theme.hostContext('ion-item.ion-color', el),
@@ -808,7 +839,7 @@ const Select = class {
808
839
  [`select-justify-${justify}`]: justifyEnabled,
809
840
  [`select-shape-${shape}`]: shape !== undefined,
810
841
  [`select-label-placement-${labelPlacement}`]: true,
811
- }) }, index.h("label", { key: 'd56d89b5b58da2b5eaebada9d1be58ca45c67806', class: "select-wrapper", id: "select-label", onClick: this.onLabelClick, part: "wrapper" }, this.renderLabelContainer(), index.h("div", { key: 'bc8bf089c693781ad5b3a5db76a12223867d748e', class: "select-wrapper-inner", part: "inner" }, index.h("slot", { key: 'e1c12b96f1573eb192608c458ed1f3463174cd89', name: "start" }), index.h("div", { key: '6ee5e3900d8e462f175649b502ac6faa2f2b9909', class: "native-wrapper", ref: (el) => (this.nativeWrapperEl = el), part: "container" }, this.renderSelectText(), this.renderListbox()), index.h("slot", { key: 'faeaea34aad412e1458beab95d4b1b9ca7b87c41', name: "end" }), !hasFloatingOrStackedLabel && this.renderSelectIcon()), hasFloatingOrStackedLabel && this.renderSelectIcon(), shouldRenderHighlight && index.h("div", { key: 'aeff51e51c990844869eff9940575ce6b2223135', class: "select-highlight" })), this.renderBottomContent()));
842
+ }) }, index.h("label", { key: 'fa1889b325387da10d1e5fa865aef128bc31aee6', class: "select-wrapper", id: "select-label", onClick: this.onLabelClick, part: "wrapper" }, this.renderLabelContainer(), index.h("div", { key: 'e31f4ae38af01dbe3a7551e9e5dca2650ae42ef5', class: "select-wrapper-inner", part: "inner" }, index.h("slot", { key: '623916631f44446fcf2c1df64788ce530964afea', name: "start" }), index.h("div", { key: 'cbd2298a7c6666ce6b4443b3967195f96558861c', class: "native-wrapper", ref: (el) => (this.nativeWrapperEl = el), part: "container" }, this.renderSelectText(), this.renderListbox()), index.h("slot", { key: 'ee8c2a236c7f120988f5bab17397204f1b374b57', name: "end" }), !hasFloatingOrStackedLabel && this.renderSelectIcon()), hasFloatingOrStackedLabel && this.renderSelectIcon(), shouldRenderHighlight && index.h("div", { key: '951566d0da3aea0be4921b2951207765b089a7f3', class: "select-highlight" })), this.renderBottomContent()));
812
843
  }
813
844
  get el() { return index.getElement(this); }
814
845
  static get watchers() { return {
@@ -878,7 +909,7 @@ const SelectOption = class {
878
909
  this.disabled = false;
879
910
  }
880
911
  render() {
881
- return index.h(index.Host, { key: '824730b6c1e4f15b716e91b05840e890af5f1577', role: "option", id: this.inputId, class: ionicGlobal.getIonMode(this) });
912
+ return index.h(index.Host, { key: '1fc1737fbb29dcb62638149b21620cbdf2f00dbc', role: "option", id: this.inputId, class: ionicGlobal.getIonMode(this) });
882
913
  }
883
914
  get el() { return index.getElement(this); }
884
915
  };
@@ -994,7 +1025,7 @@ const SelectPopover = class {
994
1025
  render() {
995
1026
  const { header, message, options, subHeader } = this;
996
1027
  const hasSubHeaderOrMessage = subHeader !== undefined || message !== undefined;
997
- return (index.h(index.Host, { key: 'e7449a1ecfcdbf45a79f8e26a00253c4e146448a', class: ionicGlobal.getIonMode(this) }, index.h("ion-list", { key: '52abdfc8668c3429a0dcefef8ddedb6647fdd894' }, header !== undefined && index.h("ion-list-header", { key: '978e5c03728756feafcc60a0e10e6ec59bf2ae11' }, header), hasSubHeaderOrMessage && (index.h("ion-item", { key: 'e93c44e7f07a76def16e4b11f0fb4780d84ed402' }, index.h("ion-label", { key: 'bba1aac43b0bc7f4f00978dd8301985233f3725c', class: "ion-text-wrap" }, subHeader !== undefined && index.h("h3", { key: 'ad96f6017cf2cc5219540bded2c4f1ca3b532de2' }, subHeader), message !== undefined && index.h("p", { key: '3fd038921dc40c4d0c29734433984b279ccaeec3' }, message)))), this.renderOptions(options))));
1028
+ return (index.h(index.Host, { key: '81783ad099ad52b3e035efa18e5a23be766faf7b', class: ionicGlobal.getIonMode(this) }, index.h("ion-list", { key: '319171787e9c2228d1d5a0133b2f5e0998644516' }, header !== undefined && index.h("ion-list-header", { key: '09a0fdbe2807c270b9abdb908965f72c4838030c' }, header), hasSubHeaderOrMessage && (index.h("ion-item", { key: 'ede19cb8e121fd14a2335fcb81cc59b9a102eac5' }, index.h("ion-label", { key: '6b98c0f132bc6161299b22c0e56092f85b7b0095', class: "ion-text-wrap" }, subHeader !== undefined && index.h("h3", { key: '8053e175eb36d7b8f52df1f93cee48ee0794857e' }, subHeader), message !== undefined && index.h("p", { key: '508673abcda7444ed8f8c828b5418dd48ef86b8e' }, message)))), this.renderOptions(options))));
998
1029
  }
999
1030
  get el() { return index.getElement(this); }
1000
1031
  };
@@ -44,7 +44,7 @@ const Spinner = class {
44
44
  svgs.push(buildLine(spinner, duration, i, spinner.lines));
45
45
  }
46
46
  }
47
- return (index.h(index.Host, { key: 'dd1954e557fa14b943e761474e29e4316ba53938', class: theme.createColorClasses(self.color, {
47
+ return (index.h(index.Host, { key: 'c35ebd01186e860acb9cac260193f0836424fdf4', class: theme.createColorClasses(self.color, {
48
48
  [mode]: true,
49
49
  [`spinner-${spinnerName}`]: true,
50
50
  'spinner-paused': self.paused || index.config.getBoolean('_testing'),
@@ -128,12 +128,12 @@ const SplitPane = class {
128
128
  }
129
129
  render() {
130
130
  const mode = ionicGlobal.getIonMode(this);
131
- return (index.h(index.Host, { key: '05c88c009fbe2e223fd261760a2b49da1653ff62', class: {
131
+ return (index.h(index.Host, { key: '694e989fafcfe2453e0a83b3cb736efaa1eb4fec', class: {
132
132
  [mode]: true,
133
133
  // Used internally for styling
134
134
  [`split-pane-${mode}`]: true,
135
135
  'split-pane-visible': this.visible,
136
- } }, index.h("slot", { key: 'b35865082661253c4468520d79234fa5dab5bd35' })));
136
+ } }, index.h("slot", { key: 'dde7e9382b62cc11971aa233cf98c2314ae4f720' })));
137
137
  }
138
138
  get el() { return index.getElement(this); }
139
139
  static get watchers() { return {