@ionic/core 7.4.1-nightly.20230919 → 7.4.1

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 (391) hide show
  1. package/components/action-sheet.js +3 -0
  2. package/components/alert.js +6 -1
  3. package/components/button.js +2 -0
  4. package/components/checkbox.js +9 -4
  5. package/components/icon.js +6 -0
  6. package/components/input-shims.js +88 -7
  7. package/components/ion-accordion-group.js +5 -1
  8. package/components/ion-accordion.js +2 -0
  9. package/components/ion-breadcrumbs.js +5 -1
  10. package/components/ion-datetime.js +10 -0
  11. package/components/ion-fab-list.js +2 -0
  12. package/components/ion-fab.js +2 -0
  13. package/components/ion-img.js +2 -0
  14. package/components/ion-infinite-scroll.js +3 -0
  15. package/components/ion-input.js +5 -0
  16. package/components/ion-item-sliding.js +2 -0
  17. package/components/ion-loading.js +3 -0
  18. package/components/ion-menu.js +8 -3
  19. package/components/ion-modal.js +3 -0
  20. package/components/ion-nav.js +3 -0
  21. package/components/ion-picker.js +3 -0
  22. package/components/ion-range.js +39 -5
  23. package/components/ion-refresher.js +2 -0
  24. package/components/ion-reorder-group.js +2 -0
  25. package/components/ion-route-redirect.js +3 -0
  26. package/components/ion-route.js +4 -0
  27. package/components/ion-router-outlet.js +2 -0
  28. package/components/ion-searchbar.js +4 -0
  29. package/components/ion-segment-button.js +2 -0
  30. package/components/ion-segment.js +6 -1
  31. package/components/ion-select.js +5 -0
  32. package/components/ion-split-pane.js +4 -0
  33. package/components/ion-tab-bar.js +2 -0
  34. package/components/ion-tab.js +2 -0
  35. package/components/ion-textarea.js +4 -0
  36. package/components/ion-title.js +2 -0
  37. package/components/ion-toast.js +3 -0
  38. package/components/ion-toggle.js +2 -0
  39. package/components/item.js +48 -10
  40. package/components/label.js +3 -0
  41. package/components/overlays.js +30 -10
  42. package/components/picker-column-internal.js +2 -0
  43. package/components/picker-column.js +2 -0
  44. package/components/popover.js +4 -0
  45. package/components/radio-group.js +3 -1
  46. package/components/radio.js +5 -0
  47. package/dist/cjs/{app-globals-a63c2a19.js → app-globals-56164d1a.js} +1 -1
  48. package/dist/cjs/{button-active-0ff8e82c.js → button-active-32f15660.js} +1 -1
  49. package/dist/cjs/{index-e6416850.js → index-5121bb90.js} +1 -1
  50. package/dist/cjs/{index-184fdd62.js → index-6f887430.js} +44 -14
  51. package/dist/cjs/{index-be8a2ab9.js → index-b183138a.js} +3 -3
  52. package/dist/cjs/index.cjs.js +7 -7
  53. package/dist/cjs/{input-shims-f8569707.js → input-shims-da7dc0de.js} +92 -12
  54. package/dist/cjs/ion-accordion_2.cjs.entry.js +2 -2
  55. package/dist/cjs/ion-action-sheet.cjs.entry.js +4 -4
  56. package/dist/cjs/ion-alert.cjs.entry.js +4 -4
  57. package/dist/cjs/ion-app_8.cjs.entry.js +5 -5
  58. package/dist/cjs/ion-avatar_3.cjs.entry.js +2 -2
  59. package/dist/cjs/ion-back-button.cjs.entry.js +2 -2
  60. package/dist/cjs/ion-backdrop.cjs.entry.js +2 -2
  61. package/dist/cjs/ion-breadcrumb_2.cjs.entry.js +2 -2
  62. package/dist/cjs/ion-button_2.cjs.entry.js +2 -2
  63. package/dist/cjs/ion-card_5.cjs.entry.js +2 -2
  64. package/dist/cjs/ion-checkbox.cjs.entry.js +8 -6
  65. package/dist/cjs/ion-chip.cjs.entry.js +2 -2
  66. package/dist/cjs/ion-col_3.cjs.entry.js +2 -2
  67. package/dist/cjs/ion-datetime-button.cjs.entry.js +2 -2
  68. package/dist/cjs/ion-datetime_3.cjs.entry.js +4 -4
  69. package/dist/cjs/ion-fab_3.cjs.entry.js +2 -2
  70. package/dist/cjs/ion-img.cjs.entry.js +2 -2
  71. package/dist/cjs/ion-infinite-scroll_2.cjs.entry.js +2 -2
  72. package/dist/cjs/ion-input.cjs.entry.js +2 -2
  73. package/dist/cjs/ion-item-option_3.cjs.entry.js +2 -2
  74. package/dist/cjs/ion-item_8.cjs.entry.js +37 -10
  75. package/dist/cjs/ion-loading.cjs.entry.js +4 -4
  76. package/dist/cjs/ion-menu_3.cjs.entry.js +5 -5
  77. package/dist/cjs/ion-modal.cjs.entry.js +4 -4
  78. package/dist/cjs/ion-nav_2.cjs.entry.js +3 -3
  79. package/dist/cjs/ion-picker-column-internal.cjs.entry.js +2 -2
  80. package/dist/cjs/ion-picker-internal.cjs.entry.js +1 -1
  81. package/dist/cjs/ion-popover.cjs.entry.js +5 -5
  82. package/dist/cjs/ion-progress-bar.cjs.entry.js +2 -2
  83. package/dist/cjs/ion-radio_2.cjs.entry.js +2 -2
  84. package/dist/cjs/ion-range.cjs.entry.js +34 -7
  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 +2 -2
  88. package/dist/cjs/ion-route_4.cjs.entry.js +2 -2
  89. package/dist/cjs/ion-searchbar.cjs.entry.js +2 -2
  90. package/dist/cjs/ion-segment_2.cjs.entry.js +2 -2
  91. package/dist/cjs/ion-select_3.cjs.entry.js +3 -3
  92. package/dist/cjs/ion-spinner.cjs.entry.js +2 -2
  93. package/dist/cjs/ion-split-pane.cjs.entry.js +2 -2
  94. package/dist/cjs/ion-tab-bar_2.cjs.entry.js +2 -2
  95. package/dist/cjs/ion-tab_2.cjs.entry.js +1 -1
  96. package/dist/cjs/ion-text.cjs.entry.js +2 -2
  97. package/dist/cjs/ion-textarea.cjs.entry.js +2 -2
  98. package/dist/cjs/ion-toast.cjs.entry.js +4 -4
  99. package/dist/cjs/ion-toggle.cjs.entry.js +2 -2
  100. package/dist/cjs/{ionic-global-6d5d27b5.js → ionic-global-14a0604b.js} +1 -1
  101. package/dist/cjs/ionic.cjs.js +5 -5
  102. package/dist/cjs/{ios.transition-80582b44.js → ios.transition-4b93903d.js} +2 -2
  103. package/dist/cjs/loader.cjs.js +4 -4
  104. package/dist/cjs/{md.transition-eeca9fb5.js → md.transition-79f3a215.js} +2 -2
  105. package/dist/cjs/{overlays-c78a0148.js → overlays-d3a13e61.js} +33 -13
  106. package/dist/cjs/{status-tap-cc4c6539.js → status-tap-e2e45ff8.js} +1 -1
  107. package/dist/collection/collection-manifest.json +1 -1
  108. package/dist/collection/components/checkbox/checkbox.js +6 -4
  109. package/dist/collection/components/checkbox/test/basic/checkbox.e2e.js +17 -0
  110. package/dist/collection/components/checkbox/test/legacy/basic/checkbox.e2e.js +17 -0
  111. package/dist/collection/components/item/item.ios.css +4 -0
  112. package/dist/collection/components/item/item.js +43 -7
  113. package/dist/collection/components/item/item.md.css +4 -0
  114. package/dist/collection/components/menu/menu.js +2 -2
  115. package/dist/collection/components/radio/test/item/radio.e2e.js +23 -0
  116. package/dist/collection/components/range/range.ios.css +14 -0
  117. package/dist/collection/components/range/range.js +30 -3
  118. package/dist/collection/components/range/range.md.css +14 -0
  119. package/dist/collection/components/range/test/item/range.e2e.js +11 -0
  120. package/dist/collection/components/select/test/basic/select.e2e.js +21 -0
  121. package/dist/collection/components/toggle/test/item/toggle.e2e.js +28 -0
  122. package/dist/collection/utils/input-shims/hacks/scroll-assist.js +86 -4
  123. package/dist/collection/utils/input-shims/hacks/scroll-data.js +2 -3
  124. package/dist/collection/utils/overlays.js +29 -9
  125. package/dist/docs.json +2 -2
  126. package/dist/esm/{app-globals-c7886b40.js → app-globals-8ae762aa.js} +1 -1
  127. package/dist/esm/{button-active-b76ae4ec.js → button-active-513e9fff.js} +1 -1
  128. package/dist/esm/{index-adfb2000.js → index-2d388930.js} +44 -14
  129. package/dist/esm/{index-48f5e259.js → index-61bddc90.js} +1 -1
  130. package/dist/esm/{index-01839411.js → index-87684bba.js} +3 -3
  131. package/dist/esm/index.js +7 -7
  132. package/dist/esm/{input-shims-af993f05.js → input-shims-d78a3c77.js} +88 -8
  133. package/dist/esm/ion-accordion_2.entry.js +2 -2
  134. package/dist/esm/ion-action-sheet.entry.js +4 -4
  135. package/dist/esm/ion-alert.entry.js +4 -4
  136. package/dist/esm/ion-app_8.entry.js +5 -5
  137. package/dist/esm/ion-avatar_3.entry.js +2 -2
  138. package/dist/esm/ion-back-button.entry.js +2 -2
  139. package/dist/esm/ion-backdrop.entry.js +2 -2
  140. package/dist/esm/ion-breadcrumb_2.entry.js +2 -2
  141. package/dist/esm/ion-button_2.entry.js +2 -2
  142. package/dist/esm/ion-card_5.entry.js +2 -2
  143. package/dist/esm/ion-checkbox.entry.js +8 -6
  144. package/dist/esm/ion-chip.entry.js +2 -2
  145. package/dist/esm/ion-col_3.entry.js +2 -2
  146. package/dist/esm/ion-datetime-button.entry.js +2 -2
  147. package/dist/esm/ion-datetime_3.entry.js +4 -4
  148. package/dist/esm/ion-fab_3.entry.js +2 -2
  149. package/dist/esm/ion-img.entry.js +2 -2
  150. package/dist/esm/ion-infinite-scroll_2.entry.js +2 -2
  151. package/dist/esm/ion-input.entry.js +2 -2
  152. package/dist/esm/ion-item-option_3.entry.js +2 -2
  153. package/dist/esm/ion-item_8.entry.js +37 -10
  154. package/dist/esm/ion-loading.entry.js +4 -4
  155. package/dist/esm/ion-menu_3.entry.js +5 -5
  156. package/dist/esm/ion-modal.entry.js +4 -4
  157. package/dist/esm/ion-nav_2.entry.js +3 -3
  158. package/dist/esm/ion-picker-column-internal.entry.js +2 -2
  159. package/dist/esm/ion-picker-internal.entry.js +1 -1
  160. package/dist/esm/ion-popover.entry.js +5 -5
  161. package/dist/esm/ion-progress-bar.entry.js +2 -2
  162. package/dist/esm/ion-radio_2.entry.js +2 -2
  163. package/dist/esm/ion-range.entry.js +34 -7
  164. package/dist/esm/ion-refresher_2.entry.js +2 -2
  165. package/dist/esm/ion-reorder_2.entry.js +2 -2
  166. package/dist/esm/ion-ripple-effect.entry.js +2 -2
  167. package/dist/esm/ion-route_4.entry.js +2 -2
  168. package/dist/esm/ion-searchbar.entry.js +2 -2
  169. package/dist/esm/ion-segment_2.entry.js +2 -2
  170. package/dist/esm/ion-select_3.entry.js +3 -3
  171. package/dist/esm/ion-spinner.entry.js +2 -2
  172. package/dist/esm/ion-split-pane.entry.js +2 -2
  173. package/dist/esm/ion-tab-bar_2.entry.js +2 -2
  174. package/dist/esm/ion-tab_2.entry.js +1 -1
  175. package/dist/esm/ion-text.entry.js +2 -2
  176. package/dist/esm/ion-textarea.entry.js +2 -2
  177. package/dist/esm/ion-toast.entry.js +4 -4
  178. package/dist/esm/ion-toggle.entry.js +2 -2
  179. package/dist/esm/{ionic-global-9080266a.js → ionic-global-b3fc28dd.js} +1 -1
  180. package/dist/esm/ionic.js +6 -6
  181. package/dist/esm/{ios.transition-f43871cd.js → ios.transition-81e1aed6.js} +2 -2
  182. package/dist/esm/loader.js +5 -5
  183. package/dist/esm/{md.transition-12d21ad0.js → md.transition-5becd8b5.js} +2 -2
  184. package/dist/esm/{overlays-4565894b.js → overlays-8fc6656c.js} +31 -11
  185. package/dist/esm/{status-tap-121c711d.js → status-tap-c5af0dba.js} +1 -1
  186. package/dist/esm-es5/app-globals-8ae762aa.js +4 -0
  187. package/dist/esm-es5/{button-active-b76ae4ec.js → button-active-513e9fff.js} +1 -1
  188. package/dist/esm-es5/{index-adfb2000.js → index-2d388930.js} +1 -1
  189. package/dist/esm-es5/{index-48f5e259.js → index-61bddc90.js} +1 -1
  190. package/dist/esm-es5/{index-01839411.js → index-87684bba.js} +1 -1
  191. package/dist/esm-es5/index.js +1 -1
  192. package/dist/esm-es5/input-shims-d78a3c77.js +4 -0
  193. package/dist/esm-es5/ion-accordion_2.entry.js +1 -1
  194. package/dist/esm-es5/ion-action-sheet.entry.js +1 -1
  195. package/dist/esm-es5/ion-alert.entry.js +1 -1
  196. package/dist/esm-es5/ion-app_8.entry.js +1 -1
  197. package/dist/esm-es5/ion-avatar_3.entry.js +1 -1
  198. package/dist/esm-es5/ion-back-button.entry.js +1 -1
  199. package/dist/esm-es5/ion-backdrop.entry.js +1 -1
  200. package/dist/esm-es5/ion-breadcrumb_2.entry.js +1 -1
  201. package/dist/esm-es5/ion-button_2.entry.js +1 -1
  202. package/dist/esm-es5/ion-card_5.entry.js +1 -1
  203. package/dist/esm-es5/ion-checkbox.entry.js +1 -1
  204. package/dist/esm-es5/ion-chip.entry.js +1 -1
  205. package/dist/esm-es5/ion-col_3.entry.js +1 -1
  206. package/dist/esm-es5/ion-datetime-button.entry.js +1 -1
  207. package/dist/esm-es5/ion-datetime_3.entry.js +1 -1
  208. package/dist/esm-es5/ion-fab_3.entry.js +1 -1
  209. package/dist/esm-es5/ion-img.entry.js +1 -1
  210. package/dist/esm-es5/ion-infinite-scroll_2.entry.js +1 -1
  211. package/dist/esm-es5/ion-input.entry.js +1 -1
  212. package/dist/esm-es5/ion-item-option_3.entry.js +1 -1
  213. package/dist/esm-es5/ion-item_8.entry.js +1 -1
  214. package/dist/esm-es5/ion-loading.entry.js +1 -1
  215. package/dist/esm-es5/ion-menu_3.entry.js +1 -1
  216. package/dist/esm-es5/ion-modal.entry.js +1 -1
  217. package/dist/esm-es5/ion-nav_2.entry.js +1 -1
  218. package/dist/esm-es5/ion-picker-column-internal.entry.js +1 -1
  219. package/dist/esm-es5/ion-picker-internal.entry.js +1 -1
  220. package/dist/esm-es5/ion-popover.entry.js +1 -1
  221. package/dist/esm-es5/ion-progress-bar.entry.js +1 -1
  222. package/dist/esm-es5/ion-radio_2.entry.js +1 -1
  223. package/dist/esm-es5/ion-range.entry.js +1 -1
  224. package/dist/esm-es5/ion-refresher_2.entry.js +1 -1
  225. package/dist/esm-es5/ion-reorder_2.entry.js +1 -1
  226. package/dist/esm-es5/ion-ripple-effect.entry.js +1 -1
  227. package/dist/esm-es5/ion-route_4.entry.js +1 -1
  228. package/dist/esm-es5/ion-searchbar.entry.js +1 -1
  229. package/dist/esm-es5/ion-segment_2.entry.js +1 -1
  230. package/dist/esm-es5/ion-select_3.entry.js +1 -1
  231. package/dist/esm-es5/ion-spinner.entry.js +1 -1
  232. package/dist/esm-es5/ion-split-pane.entry.js +1 -1
  233. package/dist/esm-es5/ion-tab-bar_2.entry.js +1 -1
  234. package/dist/esm-es5/ion-tab_2.entry.js +1 -1
  235. package/dist/esm-es5/ion-text.entry.js +1 -1
  236. package/dist/esm-es5/ion-textarea.entry.js +1 -1
  237. package/dist/esm-es5/ion-toast.entry.js +1 -1
  238. package/dist/esm-es5/ion-toggle.entry.js +1 -1
  239. package/dist/esm-es5/{ionic-global-9080266a.js → ionic-global-b3fc28dd.js} +1 -1
  240. package/dist/esm-es5/ionic.js +1 -1
  241. package/dist/esm-es5/{ios.transition-f43871cd.js → ios.transition-81e1aed6.js} +1 -1
  242. package/dist/esm-es5/loader.js +1 -1
  243. package/dist/esm-es5/{md.transition-12d21ad0.js → md.transition-5becd8b5.js} +1 -1
  244. package/dist/esm-es5/overlays-8fc6656c.js +4 -0
  245. package/dist/esm-es5/{status-tap-121c711d.js → status-tap-c5af0dba.js} +1 -1
  246. package/dist/ionic/index.esm.js +1 -1
  247. package/dist/ionic/ionic.esm.js +1 -1
  248. package/dist/ionic/ionic.js +1 -1
  249. package/dist/ionic/{p-5fc777e6.system.js → p-00aed720.system.js} +1 -1
  250. package/dist/ionic/{p-a033a91d.system.entry.js → p-03e2e541.system.entry.js} +1 -1
  251. package/dist/ionic/{p-59b40b60.entry.js → p-04ef1ba6.entry.js} +1 -1
  252. package/dist/ionic/{p-2b0ecc04.entry.js → p-05f10762.entry.js} +1 -1
  253. package/dist/ionic/{p-3bf120f8.system.entry.js → p-08c5b9f4.system.entry.js} +1 -1
  254. package/dist/ionic/p-09e15a2a.system.entry.js +4 -0
  255. package/dist/ionic/p-0bd3cc92.entry.js +4 -0
  256. package/dist/ionic/{p-57847936.entry.js → p-116641fe.entry.js} +1 -1
  257. package/dist/ionic/{p-cd002251.entry.js → p-13a91505.entry.js} +1 -1
  258. package/dist/ionic/p-13ce151b.entry.js +4 -0
  259. package/dist/ionic/{p-6ccffb74.system.entry.js → p-1a36bf45.system.entry.js} +1 -1
  260. package/dist/ionic/{p-1916030e.entry.js → p-1bce805b.entry.js} +1 -1
  261. package/dist/ionic/{p-46058a1e.system.entry.js → p-1c406ee0.system.entry.js} +1 -1
  262. package/dist/ionic/{p-42e0558f.entry.js → p-20e5eb3e.entry.js} +1 -1
  263. package/dist/ionic/{p-3d5a6d14.system.js → p-2309dba2.system.js} +1 -1
  264. package/dist/ionic/{p-aa702daf.entry.js → p-270aa06b.entry.js} +1 -1
  265. package/dist/ionic/{p-9eced28c.entry.js → p-27614d55.entry.js} +1 -1
  266. package/dist/ionic/{p-c7ce7e18.entry.js → p-327fc1bf.entry.js} +1 -1
  267. package/dist/ionic/p-33630008.system.entry.js +4 -0
  268. package/dist/ionic/{p-8bcd482b.entry.js → p-3730f493.entry.js} +1 -1
  269. package/dist/ionic/{p-95188051.system.entry.js → p-37456282.system.entry.js} +1 -1
  270. package/dist/ionic/{p-07656a8a.entry.js → p-39715fcf.entry.js} +1 -1
  271. package/dist/ionic/{p-f62bed60.entry.js → p-3ae2faf0.entry.js} +1 -1
  272. package/dist/ionic/{p-fa8fc77b.system.entry.js → p-3af01ae0.system.entry.js} +1 -1
  273. package/dist/ionic/p-3cbcb899.entry.js +4 -0
  274. package/dist/ionic/{p-9e8727d6.entry.js → p-3e5676b7.entry.js} +1 -1
  275. package/dist/ionic/{p-ff0615d9.system.entry.js → p-40e16caa.system.entry.js} +1 -1
  276. package/dist/ionic/{p-48d378cf.entry.js → p-42a7b112.entry.js} +1 -1
  277. package/dist/ionic/{p-e239ab05.system.entry.js → p-4616f20a.system.entry.js} +1 -1
  278. package/dist/ionic/{p-4e1a58c6.system.entry.js → p-486b567b.system.entry.js} +1 -1
  279. package/dist/ionic/{p-dfee12f6.entry.js → p-4912b933.entry.js} +1 -1
  280. package/dist/ionic/{p-3d575698.system.entry.js → p-4a1ac160.system.entry.js} +1 -1
  281. package/dist/ionic/{p-b052b578.entry.js → p-4eab1bb4.entry.js} +1 -1
  282. package/dist/ionic/{p-264b5dd9.system.entry.js → p-53bbd357.system.entry.js} +1 -1
  283. package/dist/ionic/{p-9b53c813.entry.js → p-55b99166.entry.js} +1 -1
  284. package/dist/ionic/{p-e3ca182a.entry.js → p-568fec78.entry.js} +1 -1
  285. package/dist/ionic/{p-9be96bf3.system.entry.js → p-5c8c9748.system.entry.js} +1 -1
  286. package/dist/ionic/{p-d57e8b06.js → p-5e2dc8e0.js} +1 -1
  287. package/dist/ionic/{p-3c325277.js → p-5e43aa8b.js} +1 -1
  288. package/dist/ionic/{p-810f1bc9.system.entry.js → p-5e84b718.system.entry.js} +1 -1
  289. package/dist/ionic/{p-60f22efc.system.entry.js → p-60838ce3.system.entry.js} +1 -1
  290. package/dist/ionic/{p-5080e623.system.entry.js → p-62428e04.system.entry.js} +1 -1
  291. package/dist/ionic/{p-516421e2.system.entry.js → p-626f7142.system.entry.js} +1 -1
  292. package/dist/ionic/{p-a8270ae8.system.entry.js → p-63a73b69.system.entry.js} +1 -1
  293. package/dist/ionic/{p-5163baf4.system.entry.js → p-6522a762.system.entry.js} +1 -1
  294. package/dist/ionic/{p-a037b6d5.system.entry.js → p-65a4c12f.system.entry.js} +1 -1
  295. package/dist/ionic/{p-563068af.js → p-6b7e74ba.js} +1 -1
  296. package/dist/ionic/{p-6eb7b33c.system.entry.js → p-6ba07931.system.entry.js} +1 -1
  297. package/dist/ionic/{p-c8c0d58a.system.entry.js → p-6bbf2815.system.entry.js} +1 -1
  298. package/dist/ionic/{p-74834696.system.entry.js → p-6bc9c436.system.entry.js} +1 -1
  299. package/dist/ionic/{p-ec344ed1.system.entry.js → p-6ca0e4b2.system.entry.js} +1 -1
  300. package/dist/ionic/p-6edbc09b.system.js +4 -0
  301. package/dist/ionic/{p-4446e19f.system.entry.js → p-700a2cb1.system.entry.js} +1 -1
  302. package/dist/ionic/p-70ab8b73.js +5 -0
  303. package/dist/ionic/{p-52edd6b0.entry.js → p-7129d04e.entry.js} +1 -1
  304. package/dist/ionic/p-72a1cbc7.js +4 -0
  305. package/dist/ionic/{p-2e5930dd.system.js → p-73f50e29.system.js} +1 -1
  306. package/dist/ionic/{p-204fb8f0.system.entry.js → p-76e8336d.system.entry.js} +1 -1
  307. package/dist/ionic/p-78a293a5.js +4 -0
  308. package/dist/ionic/p-7a3caa4e.system.js +4 -0
  309. package/dist/ionic/{p-32983529.system.entry.js → p-7dc0ee11.system.entry.js} +1 -1
  310. package/dist/ionic/{p-ab051966.entry.js → p-7e46b6ab.entry.js} +1 -1
  311. package/dist/ionic/p-7e9e16bf.system.entry.js +4 -0
  312. package/dist/ionic/{p-6276ba2f.system.entry.js → p-82da795c.system.entry.js} +1 -1
  313. package/dist/ionic/{p-9f3ad626.system.entry.js → p-82f58c25.system.entry.js} +1 -1
  314. package/dist/ionic/{p-5df94bf8.entry.js → p-83b7bbf9.entry.js} +1 -1
  315. package/dist/ionic/{p-ec7ff98b.entry.js → p-88ad9cb6.entry.js} +1 -1
  316. package/dist/ionic/{p-fdfc7b98.entry.js → p-8b79baf0.entry.js} +1 -1
  317. package/dist/ionic/{p-5260588f.system.entry.js → p-8e28945a.system.entry.js} +1 -1
  318. package/dist/ionic/p-8fdd4a2f.system.js +4 -0
  319. package/dist/ionic/{p-49f2eaa6.entry.js → p-90d892fd.entry.js} +1 -1
  320. package/dist/ionic/{p-2441ba84.system.js → p-91546be9.system.js} +1 -1
  321. package/dist/ionic/{p-a122ecd0.system.js → p-918d5f19.system.js} +1 -1
  322. package/dist/ionic/{p-ff3d728d.system.js → p-93616477.system.js} +1 -1
  323. package/dist/ionic/{p-629b0629.js → p-972763df.js} +1 -1
  324. package/dist/ionic/p-9f2e0db9.js +4 -0
  325. package/dist/ionic/{p-c2d6088f.entry.js → p-a1a2dd4d.entry.js} +1 -1
  326. package/dist/ionic/{p-c005eb67.system.entry.js → p-a6d8476b.system.entry.js} +1 -1
  327. package/dist/ionic/{p-28d8b87b.entry.js → p-a720dc73.entry.js} +1 -1
  328. package/dist/ionic/{p-84084b75.entry.js → p-a8d33949.entry.js} +1 -1
  329. package/dist/ionic/{p-70f4fbac.entry.js → p-ab7f8f4c.entry.js} +1 -1
  330. package/dist/ionic/{p-26276eb7.system.entry.js → p-abf426cd.system.entry.js} +1 -1
  331. package/dist/ionic/{p-9fccec52.system.js → p-b098f738.system.js} +1 -1
  332. package/dist/ionic/{p-eb91aee6.entry.js → p-b0dd4f33.entry.js} +1 -1
  333. package/dist/ionic/p-b132c2c0.system.js +4 -0
  334. package/dist/ionic/{p-b453b38d.entry.js → p-b49fe110.entry.js} +1 -1
  335. package/dist/ionic/{p-b703ebeb.system.entry.js → p-b5637aeb.system.entry.js} +1 -1
  336. package/dist/ionic/{p-d74363db.entry.js → p-b95fd3c6.entry.js} +1 -1
  337. package/dist/ionic/{p-ff0611e6.system.entry.js → p-be321bb6.system.entry.js} +1 -1
  338. package/dist/ionic/{p-7474a472.system.entry.js → p-bf8224f4.system.entry.js} +1 -1
  339. package/dist/ionic/{p-0dbfa45f.entry.js → p-bf9b1560.entry.js} +1 -1
  340. package/dist/ionic/{p-98bfaff3.system.entry.js → p-bfac43d7.system.entry.js} +1 -1
  341. package/dist/ionic/{p-574411f2.system.entry.js → p-c4d08d6d.system.entry.js} +1 -1
  342. package/dist/ionic/{p-d8d30fd1.system.entry.js → p-c5729044.system.entry.js} +1 -1
  343. package/dist/ionic/{p-07f5e286.entry.js → p-c7fca267.entry.js} +1 -1
  344. package/dist/ionic/{p-041ac2c3.entry.js → p-cc3aa152.entry.js} +1 -1
  345. package/dist/ionic/{p-6dff4431.entry.js → p-cd12dcd9.entry.js} +1 -1
  346. package/dist/ionic/{p-d0d09178.system.entry.js → p-cd675d89.system.entry.js} +1 -1
  347. package/dist/ionic/{p-ef8a8827.system.entry.js → p-ce24ddd7.system.entry.js} +1 -1
  348. package/dist/ionic/{p-b3f6f321.js → p-ce7a651e.js} +1 -1
  349. package/dist/ionic/{p-5e549223.system.js → p-d4cea1ba.system.js} +1 -1
  350. package/dist/ionic/{p-765e6339.entry.js → p-d8b2c214.entry.js} +1 -1
  351. package/dist/ionic/{p-2ac2278e.system.entry.js → p-de0f1af2.system.entry.js} +1 -1
  352. package/dist/ionic/{p-5a9dc764.system.entry.js → p-de676d36.system.entry.js} +1 -1
  353. package/dist/ionic/{p-22e92b06.system.entry.js → p-df699a02.system.entry.js} +1 -1
  354. package/dist/ionic/{p-99a3df5c.entry.js → p-e24630f9.entry.js} +1 -1
  355. package/dist/ionic/{p-3f15f60b.entry.js → p-e57a38f3.entry.js} +1 -1
  356. package/dist/ionic/{p-74ef17ea.system.entry.js → p-e89abe38.system.entry.js} +1 -1
  357. package/dist/ionic/{p-37c9e295.entry.js → p-ea88031d.entry.js} +1 -1
  358. package/dist/ionic/{p-47a11fc4.entry.js → p-ebaeeee8.entry.js} +1 -1
  359. package/dist/ionic/{p-a314559e.system.js → p-ec102360.system.js} +1 -1
  360. package/dist/ionic/{p-072f99fd.entry.js → p-ee6d9730.entry.js} +1 -1
  361. package/dist/ionic/{p-bacf09d3.entry.js → p-f0dcf99b.entry.js} +1 -1
  362. package/dist/ionic/p-f9015336.js +4 -0
  363. package/dist/ionic/{p-11d0977d.entry.js → p-f920f5ca.entry.js} +1 -1
  364. package/dist/ionic/p-f978ccd1.js +4 -0
  365. package/dist/types/components/checkbox/checkbox.d.ts +1 -0
  366. package/dist/types/components/item/item.d.ts +1 -0
  367. package/dist/types/components/range/range.d.ts +8 -0
  368. package/dist/types/utils/browser/index.d.ts +16 -1
  369. package/dist/types/utils/input-shims/hacks/scroll-data.d.ts +1 -1
  370. package/dist/types/utils/overlays.d.ts +5 -2
  371. package/hydrate/index.js +126 -38
  372. package/package.json +2 -2
  373. package/dist/esm-es5/app-globals-c7886b40.js +0 -4
  374. package/dist/esm-es5/input-shims-af993f05.js +0 -4
  375. package/dist/esm-es5/overlays-4565894b.js +0 -4
  376. package/dist/ionic/p-4531b920.system.js +0 -4
  377. package/dist/ionic/p-56495958.js +0 -4
  378. package/dist/ionic/p-6d640b2b.entry.js +0 -4
  379. package/dist/ionic/p-75d4ceab.js +0 -4
  380. package/dist/ionic/p-8f7edf3e.js +0 -4
  381. package/dist/ionic/p-a18eb556.js +0 -5
  382. package/dist/ionic/p-a533868d.system.js +0 -4
  383. package/dist/ionic/p-be187db3.entry.js +0 -4
  384. package/dist/ionic/p-bfee11b2.system.js +0 -4
  385. package/dist/ionic/p-c68a8814.system.js +0 -4
  386. package/dist/ionic/p-cc758251.system.entry.js +0 -4
  387. package/dist/ionic/p-d898dd46.js +0 -4
  388. package/dist/ionic/p-dacb0258.js +0 -4
  389. package/dist/ionic/p-ee55302a.system.entry.js +0 -4
  390. package/dist/ionic/p-f0c28fbd.entry.js +0 -4
  391. package/dist/ionic/p-fde174d6.system.entry.js +0 -4
@@ -1976,6 +1976,7 @@ const setValue = (ref, propName, newVal, cmpMeta) => {
1976
1976
  * @returns a reference to the same constructor passed in (but now mutated)
1977
1977
  */
1978
1978
  const proxyComponent = (Cstr, cmpMeta, flags) => {
1979
+ var _a;
1979
1980
  if (cmpMeta.$members$) {
1980
1981
  if (Cstr.watchers) {
1981
1982
  cmpMeta.$watchers$ = Cstr.watchers;
@@ -2013,7 +2014,7 @@ const proxyComponent = (Cstr, cmpMeta, flags) => {
2013
2014
  });
2014
2015
  if ((flags & 1 /* PROXY_FLAGS.isElementConstructor */)) {
2015
2016
  const attrNameToPropName = new Map();
2016
- prototype.attributeChangedCallback = function (attrName, _oldValue, newValue) {
2017
+ prototype.attributeChangedCallback = function (attrName, oldValue, newValue) {
2017
2018
  plt.jmp(() => {
2018
2019
  const propName = attrNameToPropName.get(attrName);
2019
2020
  // In a web component lifecycle the attributeChangedCallback runs prior to connectedCallback
@@ -2061,21 +2062,49 @@ const proxyComponent = (Cstr, cmpMeta, flags) => {
2061
2062
  // `propName` to be converted to a `DOMString`, which may not be what we want for other primitive props.
2062
2063
  return;
2063
2064
  }
2065
+ else if (propName == null) {
2066
+ // At this point we should know this is not a "member", so we can treat it like watching an attribute
2067
+ // on a vanilla web component
2068
+ const hostRef = getHostRef(this);
2069
+ const flags = hostRef === null || hostRef === void 0 ? void 0 : hostRef.$flags$;
2070
+ // We only want to trigger the callback(s) if:
2071
+ // 1. The instance is ready
2072
+ // 2. The watchers are ready
2073
+ // 3. The value has changed
2074
+ if (!(flags & 8 /* HOST_FLAGS.isConstructingInstance */) &&
2075
+ flags & 128 /* HOST_FLAGS.isWatchReady */ &&
2076
+ newValue !== oldValue) {
2077
+ const instance = hostRef.$lazyInstance$ ;
2078
+ const entry = cmpMeta.$watchers$[attrName];
2079
+ entry === null || entry === void 0 ? void 0 : entry.forEach((callbackName) => {
2080
+ if (instance[callbackName] != null) {
2081
+ instance[callbackName].call(instance, newValue, oldValue, attrName);
2082
+ }
2083
+ });
2084
+ }
2085
+ return;
2086
+ }
2064
2087
  this[propName] = newValue === null && typeof this[propName] === 'boolean' ? false : newValue;
2065
2088
  });
2066
2089
  };
2067
- // create an array of attributes to observe
2068
- // and also create a map of html attribute name to js property name
2069
- Cstr.observedAttributes = members
2070
- .filter(([_, m]) => m[0] & 15 /* MEMBER_FLAGS.HasAttribute */) // filter to only keep props that should match attributes
2071
- .map(([propName, m]) => {
2072
- const attrName = m[1] || propName;
2073
- attrNameToPropName.set(attrName, propName);
2074
- if (m[0] & 512 /* MEMBER_FLAGS.ReflectAttr */) {
2075
- cmpMeta.$attrsToReflect$.push([propName, attrName]);
2076
- }
2077
- return attrName;
2078
- });
2090
+ // Create an array of attributes to observe
2091
+ // This list in comprised of all strings used within a `@Watch()` decorator
2092
+ // on a component as well as any Stencil-specific "members" (`@Prop()`s and `@State()`s).
2093
+ // As such, there is no way to guarantee type-safety here that a user hasn't entered
2094
+ // an invalid attribute.
2095
+ Cstr.observedAttributes = Array.from(new Set([
2096
+ ...Object.keys((_a = cmpMeta.$watchers$) !== null && _a !== void 0 ? _a : {}),
2097
+ ...members
2098
+ .filter(([_, m]) => m[0] & 15 /* MEMBER_FLAGS.HasAttribute */)
2099
+ .map(([propName, m]) => {
2100
+ const attrName = m[1] || propName;
2101
+ attrNameToPropName.set(attrName, propName);
2102
+ if (m[0] & 512 /* MEMBER_FLAGS.ReflectAttr */) {
2103
+ cmpMeta.$attrsToReflect$.push([propName, attrName]);
2104
+ }
2105
+ return attrName;
2106
+ }),
2107
+ ]));
2079
2108
  }
2080
2109
  }
2081
2110
  return Cstr;
@@ -2307,6 +2336,7 @@ const bootstrapLazy = (lazyBundles, options = {}) => {
2307
2336
  }
2308
2337
  lazyBundles.map((lazyBundle) => {
2309
2338
  lazyBundle[1].map((compactMeta) => {
2339
+ var _a;
2310
2340
  const cmpMeta = {
2311
2341
  $flags$: compactMeta[0],
2312
2342
  $tagName$: compactMeta[1],
@@ -2323,7 +2353,7 @@ const bootstrapLazy = (lazyBundles, options = {}) => {
2323
2353
  cmpMeta.$attrsToReflect$ = [];
2324
2354
  }
2325
2355
  {
2326
- cmpMeta.$watchers$ = {};
2356
+ cmpMeta.$watchers$ = (_a = compactMeta[4]) !== null && _a !== void 0 ? _a : {};
2327
2357
  }
2328
2358
  const tagName = cmpMeta.$tagName$;
2329
2359
  const HostElement = class extends HTMLElement {
@@ -3,7 +3,7 @@
3
3
  */
4
4
  'use strict';
5
5
 
6
- const index = require('./index-184fdd62.js');
6
+ const index = require('./index-6f887430.js');
7
7
  const helpers = require('./helpers-ea4ccbcb.js');
8
8
 
9
9
  const LIFECYCLE_WILL_ENTER = 'ionViewWillEnter';
@@ -12,8 +12,8 @@ const LIFECYCLE_WILL_LEAVE = 'ionViewWillLeave';
12
12
  const LIFECYCLE_DID_LEAVE = 'ionViewDidLeave';
13
13
  const LIFECYCLE_WILL_UNLOAD = 'ionViewWillUnload';
14
14
 
15
- const iosTransitionAnimation = () => Promise.resolve().then(function () { return require('./ios.transition-80582b44.js'); });
16
- const mdTransitionAnimation = () => Promise.resolve().then(function () { return require('./md.transition-eeca9fb5.js'); });
15
+ const iosTransitionAnimation = () => Promise.resolve().then(function () { return require('./ios.transition-4b93903d.js'); });
16
+ const mdTransitionAnimation = () => Promise.resolve().then(function () { return require('./md.transition-79f3a215.js'); });
17
17
  // TODO(FW-2832): types
18
18
  const transition = (opts) => {
19
19
  return new Promise((resolve, reject) => {
@@ -6,18 +6,18 @@
6
6
  Object.defineProperty(exports, '__esModule', { value: true });
7
7
 
8
8
  const animation = require('./animation-2bb33618.js');
9
- const index = require('./index-be8a2ab9.js');
10
- const ios_transition = require('./ios.transition-80582b44.js');
11
- const md_transition = require('./md.transition-eeca9fb5.js');
9
+ const index = require('./index-b183138a.js');
10
+ const ios_transition = require('./ios.transition-4b93903d.js');
11
+ const md_transition = require('./md.transition-79f3a215.js');
12
12
  const cubicBezier = require('./cubic-bezier-6b9222ad.js');
13
13
  const index$1 = require('./index-0ee995e4.js');
14
- const ionicGlobal = require('./ionic-global-6d5d27b5.js');
14
+ const ionicGlobal = require('./ionic-global-14a0604b.js');
15
15
  const helpers = require('./helpers-ea4ccbcb.js');
16
16
  const config = require('./config-d5882735.js');
17
- const index$2 = require('./index-e6416850.js');
18
- const overlays = require('./overlays-c78a0148.js');
17
+ const index$2 = require('./index-5121bb90.js');
18
+ const overlays = require('./overlays-d3a13e61.js');
19
19
  require('./index-306a7476.js');
20
- require('./index-184fdd62.js');
20
+ require('./index-6f887430.js');
21
21
  require('./gesture-controller-b46721be.js');
22
22
  require('./hardware-back-button-b67c8e75.js');
23
23
  require('./framework-delegate-c0873a6f.js');
@@ -3,12 +3,12 @@
3
3
  */
4
4
  'use strict';
5
5
 
6
- const index = require('./index-10873539.js');
6
+ const index$1 = require('./index-10873539.js');
7
7
  const helpers = require('./helpers-ea4ccbcb.js');
8
8
  const keyboard = require('./keyboard-fd7db491.js');
9
+ const index = require('./index-306a7476.js');
9
10
  require('./index-cc7dfb7c.js');
10
11
  require('./capacitor-2ffba62a.js');
11
- require('./index-306a7476.js');
12
12
 
13
13
  const cloneMap = new WeakMap();
14
14
  const relocateInput = (componentEl, inputEl, shouldRelocate, inputRelativeY = 0, disabledClonedInput = false) => {
@@ -155,11 +155,10 @@ const enableInputBlurring = () => {
155
155
  };
156
156
 
157
157
  const SCROLL_ASSIST_SPEED = 0.3;
158
- const getScrollData = (componentEl, contentEl, keyboardHeight) => {
158
+ const getScrollData = (componentEl, contentEl, keyboardHeight, platformHeight) => {
159
159
  var _a;
160
160
  const itemEl = (_a = componentEl.closest('ion-item,[ion-item]')) !== null && _a !== void 0 ? _a : componentEl;
161
- return calcScrollData(itemEl.getBoundingClientRect(), contentEl.getBoundingClientRect(), keyboardHeight, componentEl.ownerDocument.defaultView.innerHeight // TODO(FW-2832): type
162
- );
161
+ return calcScrollData(itemEl.getBoundingClientRect(), contentEl.getBoundingClientRect(), keyboardHeight, platformHeight);
163
162
  };
164
163
  const calcScrollData = (inputRect, contentRect, keyboardHeight, platformHeight) => {
165
164
  // compute input's Y values relative to the body
@@ -258,6 +257,83 @@ const enableScrollAssist = (componentEl, inputEl, contentEl, footerEl, keyboardH
258
257
  * Resize info is available on Capacitor 4+
259
258
  */
260
259
  const addScrollPadding = enableScrollPadding && (keyboardResize === undefined || keyboardResize.mode === keyboard.KeyboardResize.None);
260
+ /**
261
+ * This tracks whether or not the keyboard has been
262
+ * presented for a single focused text field. Note
263
+ * that it does not track if the keyboard is open
264
+ * in general such as if the keyboard is open for
265
+ * a different focused text field.
266
+ */
267
+ let hasKeyboardBeenPresentedForTextField = false;
268
+ /**
269
+ * When adding scroll padding we need to know
270
+ * how much of the viewport the keyboard obscures.
271
+ * We do this by subtracting the keyboard height
272
+ * from the platform height.
273
+ *
274
+ * If we compute this value when switching between
275
+ * inputs then the webview may already be resized.
276
+ * At this point, `win.innerHeight` has already accounted
277
+ * for the keyboard meaning we would then subtract
278
+ * the keyboard height again. This will result in the input
279
+ * being scrolled more than it needs to.
280
+ */
281
+ const platformHeight = index.win !== undefined ? index.win.innerHeight : 0;
282
+ /**
283
+ * Scroll assist is run when a text field
284
+ * is focused. However, it may need to
285
+ * re-run when the keyboard size changes
286
+ * such that the text field is now hidden
287
+ * underneath the keyboard.
288
+ * This function re-runs scroll assist
289
+ * when that happens.
290
+ *
291
+ * One limitation of this is on a web browser
292
+ * where native keyboard APIs do not have cross-browser
293
+ * support. `ionKeyboardDidShow` relies on the Visual Viewport API.
294
+ * This means that if the keyboard changes but does not change
295
+ * geometry, then scroll assist will not re-run even if
296
+ * the user has scrolled the text field under the keyboard.
297
+ * This is not a problem when running in Cordova/Capacitor
298
+ * because `ionKeyboardDidShow` uses the native events
299
+ * which fire every time the keyboard changes.
300
+ */
301
+ const keyboardShow = (ev) => {
302
+ /**
303
+ * If the keyboard has not yet been presented
304
+ * for this text field then the text field has just
305
+ * received focus. In that case, the focusin listener
306
+ * will run scroll assist.
307
+ */
308
+ if (hasKeyboardBeenPresentedForTextField === false) {
309
+ hasKeyboardBeenPresentedForTextField = true;
310
+ return;
311
+ }
312
+ /**
313
+ * Otherwise, the keyboard has already been presented
314
+ * for the focused text field.
315
+ * This means that the keyboard likely changed
316
+ * geometry, and we need to re-run scroll assist.
317
+ * This can happen when the user rotates their device
318
+ * or when they switch keyboards.
319
+ *
320
+ * Make sure we pass in the computed keyboard height
321
+ * rather than the estimated keyboard height.
322
+ *
323
+ * Since the keyboard is already open then we do not
324
+ * need to wait for the webview to resize, so we pass
325
+ * "waitForResize: false".
326
+ */
327
+ jsSetFocus(componentEl, inputEl, contentEl, footerEl, ev.detail.keyboardHeight, addScrollPadding, disableClonedInput, platformHeight, false);
328
+ };
329
+ /**
330
+ * Reset the internal state when the text field loses focus.
331
+ */
332
+ const focusOut = () => {
333
+ hasKeyboardBeenPresentedForTextField = false;
334
+ index.win === null || index.win === void 0 ? void 0 : index.win.removeEventListener('ionKeyboardDidShow', keyboardShow);
335
+ componentEl.removeEventListener('focusout', focusOut, true);
336
+ };
261
337
  /**
262
338
  * When the input is about to receive
263
339
  * focus, we need to move it to prevent
@@ -274,11 +350,15 @@ const enableScrollAssist = (componentEl, inputEl, contentEl, footerEl, keyboardH
274
350
  inputEl.removeAttribute(SKIP_SCROLL_ASSIST);
275
351
  return;
276
352
  }
277
- jsSetFocus(componentEl, inputEl, contentEl, footerEl, keyboardHeight, addScrollPadding, disableClonedInput);
353
+ jsSetFocus(componentEl, inputEl, contentEl, footerEl, keyboardHeight, addScrollPadding, disableClonedInput, platformHeight);
354
+ index.win === null || index.win === void 0 ? void 0 : index.win.addEventListener('ionKeyboardDidShow', keyboardShow);
355
+ componentEl.addEventListener('focusout', focusOut, true);
278
356
  };
279
357
  componentEl.addEventListener('focusin', focusIn, true);
280
358
  return () => {
281
359
  componentEl.removeEventListener('focusin', focusIn, true);
360
+ index.win === null || index.win === void 0 ? void 0 : index.win.removeEventListener('ionKeyboardDidShow', keyboardShow);
361
+ componentEl.removeEventListener('focusout', focusOut, true);
282
362
  };
283
363
  };
284
364
  /**
@@ -297,11 +377,11 @@ const setManualFocus = (el) => {
297
377
  el.setAttribute(SKIP_SCROLL_ASSIST, 'true');
298
378
  el.focus();
299
379
  };
300
- const jsSetFocus = async (componentEl, inputEl, contentEl, footerEl, keyboardHeight, enableScrollPadding, disableClonedInput = false) => {
380
+ const jsSetFocus = async (componentEl, inputEl, contentEl, footerEl, keyboardHeight, enableScrollPadding, disableClonedInput = false, platformHeight = 0, waitForResize = true) => {
301
381
  if (!contentEl && !footerEl) {
302
382
  return;
303
383
  }
304
- const scrollData = getScrollData(componentEl, (contentEl || footerEl), keyboardHeight);
384
+ const scrollData = getScrollData(componentEl, (contentEl || footerEl), keyboardHeight, platformHeight);
305
385
  if (contentEl && Math.abs(scrollData.scrollAmount) < 4) {
306
386
  // the text input is in a safe position that doesn't
307
387
  // require it to be scrolled into view, just set focus now
@@ -353,7 +433,7 @@ const jsSetFocus = async (componentEl, inputEl, contentEl, footerEl, keyboardHei
353
433
  window.removeEventListener('ionKeyboardDidShow', scrollContent);
354
434
  // scroll the input into place
355
435
  if (contentEl) {
356
- await index.scrollByPoint(contentEl, 0, scrollData.scrollAmount, scrollData.scrollDuration);
436
+ await index$1.scrollByPoint(contentEl, 0, scrollData.scrollAmount, scrollData.scrollDuration);
357
437
  }
358
438
  // the scroll view is in the correct position now
359
439
  // give the native text input focus
@@ -374,7 +454,7 @@ const jsSetFocus = async (componentEl, inputEl, contentEl, footerEl, keyboardHei
374
454
  window.addEventListener('ionKeyboardDidShow', scrollContent);
375
455
  };
376
456
  if (contentEl) {
377
- const scrollEl = await index.getScrollElement(contentEl);
457
+ const scrollEl = await index$1.getScrollElement(contentEl);
378
458
  /**
379
459
  * scrollData will only consider the amount we need
380
460
  * to scroll in order to properly bring the input
@@ -388,7 +468,7 @@ const jsSetFocus = async (componentEl, inputEl, contentEl, footerEl, keyboardHei
388
468
  * bandwidth to become available.
389
469
  */
390
470
  const totalScrollAmount = scrollEl.scrollHeight - scrollEl.clientHeight;
391
- if (scrollData.scrollAmount > totalScrollAmount - scrollEl.scrollTop) {
471
+ if (waitForResize && scrollData.scrollAmount > totalScrollAmount - scrollEl.scrollTop) {
392
472
  /**
393
473
  * On iOS devices, the system will show a "Passwords" bar above the keyboard
394
474
  * after the initial keyboard is shown. This prevents the webview from resizing
@@ -447,7 +527,7 @@ const startInputShims = async (config, platform) => {
447
527
  await new Promise((resolve) => helpers.componentOnReady(componentEl, resolve));
448
528
  const inputRoot = componentEl.shadowRoot || componentEl;
449
529
  const inputEl = inputRoot.querySelector('input') || inputRoot.querySelector('textarea');
450
- const scrollEl = index.findClosestIonContent(componentEl);
530
+ const scrollEl = index$1.findClosestIonContent(componentEl);
451
531
  const footerEl = !scrollEl ? componentEl.closest('ion-footer') : null;
452
532
  if (!inputEl) {
453
533
  return;
@@ -5,10 +5,10 @@
5
5
 
6
6
  Object.defineProperty(exports, '__esModule', { value: true });
7
7
 
8
- const index = require('./index-184fdd62.js');
8
+ const index = require('./index-6f887430.js');
9
9
  const helpers = require('./helpers-ea4ccbcb.js');
10
10
  const index$1 = require('./index-d8d1fc0b.js');
11
- const ionicGlobal = require('./ionic-global-6d5d27b5.js');
11
+ const ionicGlobal = require('./ionic-global-14a0604b.js');
12
12
  const index$2 = require('./index-cc7dfb7c.js');
13
13
 
14
14
  const accordionIosCss = ":host{display:block;position:relative;width:100%;background-color:var(--ion-background-color, #ffffff);overflow:hidden;z-index:0}:host(.accordion-expanding) ::slotted(ion-item[slot=header]),:host(.accordion-expanded) ::slotted(ion-item[slot=header]){--border-width:0px}:host(.accordion-animated){-webkit-transition:all 300ms cubic-bezier(0.25, 0.8, 0.5, 1);transition:all 300ms cubic-bezier(0.25, 0.8, 0.5, 1)}:host(.accordion-animated) #content{-webkit-transition:max-height 300ms cubic-bezier(0.25, 0.8, 0.5, 1);transition:max-height 300ms cubic-bezier(0.25, 0.8, 0.5, 1)}#content{overflow:hidden;will-change:max-height}:host(.accordion-collapsing) #content{max-height:0 !important}:host(.accordion-collapsed) #content{display:none}:host(.accordion-expanding) #content{max-height:0}:host(.accordion-expanding) #content-wrapper{overflow:auto}:host(.accordion-disabled) #header,:host(.accordion-readonly) #header,:host(.accordion-disabled) #content,:host(.accordion-readonly) #content{pointer-events:none}:host(.accordion-disabled) #header,:host(.accordion-disabled) #content{opacity:0.4}@media (prefers-reduced-motion: reduce){:host,#content{-webkit-transition:none !important;transition:none !important}}:host(.accordion-next) ::slotted(ion-item[slot=header]){--border-width:0.55px 0px 0.55px 0px}";
@@ -5,13 +5,13 @@
5
5
 
6
6
  Object.defineProperty(exports, '__esModule', { value: true });
7
7
 
8
- const index = require('./index-184fdd62.js');
9
- const buttonActive = require('./button-active-0ff8e82c.js');
8
+ const index = require('./index-6f887430.js');
9
+ const buttonActive = require('./button-active-32f15660.js');
10
10
  const helpers = require('./helpers-ea4ccbcb.js');
11
11
  const lockController = require('./lock-controller-4ae2eb59.js');
12
- const overlays = require('./overlays-c78a0148.js');
12
+ const overlays = require('./overlays-d3a13e61.js');
13
13
  const theme = require('./theme-fbc56b3b.js');
14
- const ionicGlobal = require('./ionic-global-6d5d27b5.js');
14
+ const ionicGlobal = require('./ionic-global-14a0604b.js');
15
15
  const animation = require('./animation-2bb33618.js');
16
16
  require('./haptic-c5f6b4d5.js');
17
17
  require('./capacitor-2ffba62a.js');
@@ -5,14 +5,14 @@
5
5
 
6
6
  Object.defineProperty(exports, '__esModule', { value: true });
7
7
 
8
- const index = require('./index-184fdd62.js');
8
+ const index = require('./index-6f887430.js');
9
9
  const config = require('./config-d5882735.js');
10
- const buttonActive = require('./button-active-0ff8e82c.js');
10
+ const buttonActive = require('./button-active-32f15660.js');
11
11
  const helpers = require('./helpers-ea4ccbcb.js');
12
12
  const lockController = require('./lock-controller-4ae2eb59.js');
13
- const overlays = require('./overlays-c78a0148.js');
13
+ const overlays = require('./overlays-d3a13e61.js');
14
14
  const theme = require('./theme-fbc56b3b.js');
15
- const ionicGlobal = require('./ionic-global-6d5d27b5.js');
15
+ const ionicGlobal = require('./ionic-global-14a0604b.js');
16
16
  const animation = require('./animation-2bb33618.js');
17
17
  require('./haptic-c5f6b4d5.js');
18
18
  require('./capacitor-2ffba62a.js');
@@ -5,8 +5,8 @@
5
5
 
6
6
  Object.defineProperty(exports, '__esModule', { value: true });
7
7
 
8
- const index = require('./index-184fdd62.js');
9
- const ionicGlobal = require('./ionic-global-6d5d27b5.js');
8
+ const index = require('./index-6f887430.js');
9
+ const ionicGlobal = require('./ionic-global-14a0604b.js');
10
10
  const helpers = require('./helpers-ea4ccbcb.js');
11
11
  const dir = require('./dir-f1e0ca26.js');
12
12
  const theme = require('./theme-fbc56b3b.js');
@@ -14,7 +14,7 @@ const index$1 = require('./index-10873539.js');
14
14
  const keyboardController = require('./keyboard-controller-50beb83a.js');
15
15
  const cubicBezier = require('./cubic-bezier-6b9222ad.js');
16
16
  const frameworkDelegate = require('./framework-delegate-c0873a6f.js');
17
- const index$2 = require('./index-be8a2ab9.js');
17
+ const index$2 = require('./index-b183138a.js');
18
18
  require('./index-cc7dfb7c.js');
19
19
  require('./index-306a7476.js');
20
20
  require('./keyboard-fd7db491.js');
@@ -34,7 +34,7 @@ const App = class {
34
34
  Promise.resolve().then(function () { return require('./index-9f379eaa.js'); }).then((module) => module.startTapClick(ionicGlobal.config));
35
35
  }
36
36
  if (ionicGlobal.config.getBoolean('statusTap', isHybrid)) {
37
- Promise.resolve().then(function () { return require('./status-tap-cc4c6539.js'); }).then((module) => module.startStatusTap());
37
+ Promise.resolve().then(function () { return require('./status-tap-e2e45ff8.js'); }).then((module) => module.startStatusTap());
38
38
  }
39
39
  if (ionicGlobal.config.getBoolean('inputShims', needInputShims())) {
40
40
  /**
@@ -42,7 +42,7 @@ const App = class {
42
42
  * platforms proceed into this block.
43
43
  */
44
44
  const platform = ionicGlobal.isPlatform(window, 'ios') ? 'ios' : 'android';
45
- Promise.resolve().then(function () { return require('./input-shims-f8569707.js'); }).then((module) => module.startInputShims(ionicGlobal.config, platform));
45
+ Promise.resolve().then(function () { return require('./input-shims-da7dc0de.js'); }).then((module) => module.startInputShims(ionicGlobal.config, platform));
46
46
  }
47
47
  const hardwareBackButtonModule = await Promise.resolve().then(function () { return require('./hardware-back-button-b67c8e75.js'); });
48
48
  if (ionicGlobal.config.getBoolean('hardwareBackButton', isHybrid)) {
@@ -5,8 +5,8 @@
5
5
 
6
6
  Object.defineProperty(exports, '__esModule', { value: true });
7
7
 
8
- const index = require('./index-184fdd62.js');
9
- const ionicGlobal = require('./ionic-global-6d5d27b5.js');
8
+ const index = require('./index-6f887430.js');
9
+ const ionicGlobal = require('./ionic-global-14a0604b.js');
10
10
  const theme = require('./theme-fbc56b3b.js');
11
11
 
12
12
  const avatarIosCss = ":host{border-radius:var(--border-radius);display:block}::slotted(ion-img),::slotted(img){border-radius:var(--border-radius);width:100%;height:100%;-o-object-fit:cover;object-fit:cover;overflow:hidden}:host{--border-radius:50%;width:48px;height:48px}";
@@ -5,11 +5,11 @@
5
5
 
6
6
  Object.defineProperty(exports, '__esModule', { value: true });
7
7
 
8
- const index = require('./index-184fdd62.js');
8
+ const index = require('./index-6f887430.js');
9
9
  const helpers = require('./helpers-ea4ccbcb.js');
10
10
  const theme = require('./theme-fbc56b3b.js');
11
11
  const index$1 = require('./index-d8d1fc0b.js');
12
- const ionicGlobal = require('./ionic-global-6d5d27b5.js');
12
+ const ionicGlobal = require('./ionic-global-14a0604b.js');
13
13
 
14
14
  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}}";
15
15
 
@@ -5,9 +5,9 @@
5
5
 
6
6
  Object.defineProperty(exports, '__esModule', { value: true });
7
7
 
8
- const index = require('./index-184fdd62.js');
8
+ const index = require('./index-6f887430.js');
9
9
  const gestureController = require('./gesture-controller-b46721be.js');
10
- const ionicGlobal = require('./ionic-global-6d5d27b5.js');
10
+ const ionicGlobal = require('./ionic-global-14a0604b.js');
11
11
 
12
12
  const backdropIosCss = ":host{left:0;right:0;top:0;bottom:0;display:block;position:absolute;-webkit-transform:translateZ(0);transform:translateZ(0);contain:strict;cursor:pointer;opacity:0.01;-ms-touch-action:none;touch-action:none;z-index:2}:host(.backdrop-hide){background:transparent}:host(.backdrop-no-tappable){cursor:auto}:host{background-color:var(--ion-backdrop-color, #000)}";
13
13
 
@@ -5,11 +5,11 @@
5
5
 
6
6
  Object.defineProperty(exports, '__esModule', { value: true });
7
7
 
8
- const index = require('./index-184fdd62.js');
8
+ const index = require('./index-6f887430.js');
9
9
  const helpers = require('./helpers-ea4ccbcb.js');
10
10
  const theme = require('./theme-fbc56b3b.js');
11
11
  const index$1 = require('./index-d8d1fc0b.js');
12
- const ionicGlobal = require('./ionic-global-6d5d27b5.js');
12
+ const ionicGlobal = require('./ionic-global-14a0604b.js');
13
13
 
14
14
  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)}";
15
15
 
@@ -5,11 +5,11 @@
5
5
 
6
6
  Object.defineProperty(exports, '__esModule', { value: true });
7
7
 
8
- const index = require('./index-184fdd62.js');
8
+ const index = require('./index-6f887430.js');
9
9
  const helpers = require('./helpers-ea4ccbcb.js');
10
10
  const index$1 = require('./index-cc7dfb7c.js');
11
11
  const theme = require('./theme-fbc56b3b.js');
12
- const ionicGlobal = require('./ionic-global-6d5d27b5.js');
12
+ const ionicGlobal = require('./ionic-global-14a0604b.js');
13
13
 
14
14
  let CACHED_MAP;
15
15
  const getIconMap = () => {
@@ -5,10 +5,10 @@
5
5
 
6
6
  Object.defineProperty(exports, '__esModule', { value: true });
7
7
 
8
- const index = require('./index-184fdd62.js');
8
+ const index = require('./index-6f887430.js');
9
9
  const helpers = require('./helpers-ea4ccbcb.js');
10
10
  const theme = require('./theme-fbc56b3b.js');
11
- const ionicGlobal = require('./ionic-global-6d5d27b5.js');
11
+ const ionicGlobal = require('./ionic-global-14a0604b.js');
12
12
 
13
13
  const cardIosCss = ":host{--ion-safe-area-left:0px;--ion-safe-area-right:0px;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;display:block;position:relative;background:var(--background);color:var(--color);font-family:var(--ion-font-family, inherit);contain:content;overflow:hidden}:host(.ion-color){background:var(--ion-color-base);color:var(--ion-color-contrast)}:host(.card-disabled){cursor:default;opacity:0.3;pointer-events:none}.card-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:block;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:inherit}.card-native::-moz-focus-inner{border:0}button,a{cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-user-drag:none}ion-ripple-effect{color:var(--ripple-color)}:host{--background:var(--ion-card-background, var(--ion-item-background, var(--ion-background-color, #fff)));--color:var(--ion-card-color, var(--ion-item-color, var(--ion-color-step-600, #666666)));-webkit-margin-start:16px;margin-inline-start:16px;-webkit-margin-end:16px;margin-inline-end:16px;margin-top:24px;margin-bottom:24px;border-radius:8px;-webkit-transition:-webkit-transform 500ms cubic-bezier(0.12, 0.72, 0.29, 1);transition:-webkit-transform 500ms cubic-bezier(0.12, 0.72, 0.29, 1);transition:transform 500ms cubic-bezier(0.12, 0.72, 0.29, 1);transition:transform 500ms cubic-bezier(0.12, 0.72, 0.29, 1), -webkit-transform 500ms cubic-bezier(0.12, 0.72, 0.29, 1);font-size:14px;-webkit-box-shadow:0 4px 16px rgba(0, 0, 0, 0.12);box-shadow:0 4px 16px rgba(0, 0, 0, 0.12)}:host(.ion-activated){-webkit-transform:scale3d(0.97, 0.97, 1);transform:scale3d(0.97, 0.97, 1)}";
14
14
 
@@ -5,12 +5,12 @@
5
5
 
6
6
  Object.defineProperty(exports, '__esModule', { value: true });
7
7
 
8
- const index = require('./index-184fdd62.js');
8
+ const index = require('./index-6f887430.js');
9
9
  const formController = require('./form-controller-5e223b54.js');
10
10
  const helpers = require('./helpers-ea4ccbcb.js');
11
11
  const index$1 = require('./index-cc7dfb7c.js');
12
12
  const theme = require('./theme-fbc56b3b.js');
13
- const ionicGlobal = require('./ionic-global-6d5d27b5.js');
13
+ const ionicGlobal = require('./ionic-global-14a0604b.js');
14
14
 
15
15
  const checkboxIosCss = ":host{--checkbox-background-checked:var(--ion-color-primary, #3880ff);--border-color-checked:var(--ion-color-primary, #3880ff);--checkmark-color:var(--ion-color-primary-contrast, #fff);--checkmark-width:1;--transition:none;display:inline-block;position:relative;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;z-index:2}:host(.in-item){width:100%;height:100%}:host([slot=start]:not(.legacy-checkbox)),:host([slot=end]:not(.legacy-checkbox)){width:auto}:host(.legacy-checkbox){width:var(--size);height:var(--size)}:host(.ion-color){--checkbox-background-checked:var(--ion-color-base);--border-color-checked:var(--ion-color-base);--checkmark-color:var(--ion-color-contrast)}:host(.legacy-checkbox) label{top:0;margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;position:absolute;width:100%;height:100%;border:0;background:transparent;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;outline:none;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;opacity:0}@supports (inset-inline-start: 0){:host(.legacy-checkbox) label{inset-inline-start:0}}@supports not (inset-inline-start: 0){:host(.legacy-checkbox) label{left:0}:host-context([dir=rtl]):host(.legacy-checkbox) label,:host-context([dir=rtl]).legacy-checkbox label{left:unset;right:unset;right:0}@supports selector(:dir(rtl)){:host(.legacy-checkbox) label:dir(rtl){left:unset;right:unset;right:0}}}:host(.legacy-checkbox) label::-moz-focus-inner{border:0}.checkbox-wrapper{display:-ms-flexbox;display:flex;-ms-flex-positive:1;flex-grow:1;-ms-flex-align:center;align-items:center;height:inherit;cursor:inherit}.label-text-wrapper{pointer-events:none;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}:host(.in-item:not(.legacy-checkbox)) .label-text-wrapper{margin-top:10px;margin-bottom:10px}:host(.in-item.checkbox-label-placement-stacked) .label-text-wrapper{margin-top:10px;margin-bottom:16px}:host(.in-item.checkbox-label-placement-stacked) .native-wrapper{margin-bottom:10px}.label-text-wrapper-hidden{display:none}input{position:absolute;top:0;left:0;right:0;bottom:0;width:100%;height:100%;margin:0;padding:0;border:0;outline:0;clip:rect(0 0 0 0);opacity:0;overflow:hidden;-webkit-appearance:none;-moz-appearance:none}.native-wrapper{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center}.checkbox-icon{border-radius:var(--border-radius);position:relative;-webkit-transition:var(--transition);transition:var(--transition);border-width:var(--border-width);border-style:var(--border-style);border-color:var(--border-color);background:var(--checkbox-background);-webkit-box-sizing:border-box;box-sizing:border-box}:host(.legacy-checkbox) .checkbox-icon{display:block;width:100%;height:100%}:host(:not(.legacy-checkbox)) .checkbox-icon{width:var(--size);height:var(--size)}.checkbox-icon path{fill:none;stroke:var(--checkmark-color);stroke-width:var(--checkmark-width);opacity:0}:host(.checkbox-justify-space-between) .checkbox-wrapper{-ms-flex-pack:justify;justify-content:space-between}:host(.checkbox-justify-start) .checkbox-wrapper{-ms-flex-pack:start;justify-content:start}:host(.checkbox-justify-end) .checkbox-wrapper{-ms-flex-pack:end;justify-content:end}:host(.checkbox-alignment-start) .checkbox-wrapper{-ms-flex-align:start;align-items:start}:host(.checkbox-alignment-center) .checkbox-wrapper{-ms-flex-align:center;align-items:center}:host(.checkbox-label-placement-start) .checkbox-wrapper{-ms-flex-direction:row;flex-direction:row}:host(.checkbox-label-placement-start) .label-text-wrapper{-webkit-margin-start:0;margin-inline-start:0;-webkit-margin-end:16px;margin-inline-end:16px}:host(.checkbox-label-placement-end) .checkbox-wrapper{-ms-flex-direction:row-reverse;flex-direction:row-reverse}:host(.checkbox-label-placement-end) .label-text-wrapper{-webkit-margin-start:16px;margin-inline-start:16px;-webkit-margin-end:0;margin-inline-end:0}:host(.checkbox-label-placement-fixed) .label-text-wrapper{-webkit-margin-start:0;margin-inline-start:0;-webkit-margin-end:16px;margin-inline-end:16px}:host(.checkbox-label-placement-fixed) .label-text-wrapper{-ms-flex:0 0 100px;flex:0 0 100px;width:100px;min-width:100px;max-width:200px}:host(.checkbox-label-placement-stacked) .checkbox-wrapper{-ms-flex-direction:column;flex-direction:column}:host(.checkbox-label-placement-stacked) .label-text-wrapper{-webkit-transform:scale(0.75);transform:scale(0.75);margin-left:0;margin-right:0;margin-bottom:16px;max-width:calc(100% / 0.75)}:host(.checkbox-label-placement-stacked.checkbox-alignment-start) .label-text-wrapper{-webkit-transform-origin:left top;transform-origin:left top}:host-context([dir=rtl]):host(.checkbox-label-placement-stacked.checkbox-alignment-start) .label-text-wrapper,:host-context([dir=rtl]).checkbox-label-placement-stacked.checkbox-alignment-start .label-text-wrapper{-webkit-transform-origin:right top;transform-origin:right top}@supports selector(:dir(rtl)){:host(.checkbox-label-placement-stacked.checkbox-alignment-start) .label-text-wrapper:dir(rtl){-webkit-transform-origin:right top;transform-origin:right top}}:host(.checkbox-label-placement-stacked.checkbox-alignment-center) .label-text-wrapper{-webkit-transform-origin:center top;transform-origin:center top}:host-context([dir=rtl]):host(.checkbox-label-placement-stacked.checkbox-alignment-center) .label-text-wrapper,:host-context([dir=rtl]).checkbox-label-placement-stacked.checkbox-alignment-center .label-text-wrapper{-webkit-transform-origin:calc(100% - center) top;transform-origin:calc(100% - center) top}@supports selector(:dir(rtl)){:host(.checkbox-label-placement-stacked.checkbox-alignment-center) .label-text-wrapper:dir(rtl){-webkit-transform-origin:calc(100% - center) top;transform-origin:calc(100% - center) top}}:host(.checkbox-checked) .checkbox-icon,:host(.checkbox-indeterminate) .checkbox-icon{border-color:var(--border-color-checked);background:var(--checkbox-background-checked)}:host(.checkbox-checked) .checkbox-icon path,:host(.checkbox-indeterminate) .checkbox-icon path{opacity:1}:host(.checkbox-disabled){pointer-events:none}:host{--border-radius:50%;--border-width:1px;--border-style:solid;--border-color:rgba(var(--ion-text-color-rgb, 0, 0, 0), 0.23);--checkbox-background:var(--ion-item-background, var(--ion-background-color, #fff));--size:26px}:host(.checkbox-disabled){opacity:0.3}:host(.in-item.legacy-checkbox){-webkit-margin-start:0;margin-inline-start:0;-webkit-margin-end:8px;margin-inline-end:8px;margin-top:10px;margin-bottom:9px;display:block;position:static}:host(.in-item.legacy-checkbox[slot=start]){-webkit-margin-start:2px;margin-inline-start:2px;-webkit-margin-end:16px;margin-inline-end:16px;margin-top:8px;margin-bottom:8px}";
16
16
 
@@ -53,6 +53,9 @@ const Checkbox = class {
53
53
  this.onBlur = () => {
54
54
  this.ionBlur.emit();
55
55
  };
56
+ this.onClick = (ev) => {
57
+ this.toggleChecked(ev);
58
+ };
56
59
  this.color = undefined;
57
60
  this.name = this.inputId;
58
61
  this.checked = false;
@@ -64,9 +67,8 @@ const Checkbox = class {
64
67
  this.alignment = 'center';
65
68
  this.legacy = undefined;
66
69
  }
67
- // TODO(FW-3100): remove this
68
70
  connectedCallback() {
69
- this.legacyFormController = formController.createLegacyFormController(this.el);
71
+ this.legacyFormController = formController.createLegacyFormController(this.el); // TODO(FW-3100): remove this
70
72
  }
71
73
  componentWillLoad() {
72
74
  this.emitStyle();
@@ -113,7 +115,7 @@ const Checkbox = class {
113
115
  [`checkbox-justify-${justify}`]: true,
114
116
  [`checkbox-alignment-${alignment}`]: true,
115
117
  [`checkbox-label-placement-${labelPlacement}`]: true,
116
- }) }, index.h("label", { class: "checkbox-wrapper" }, index.h("input", Object.assign({ type: "checkbox", checked: checked ? true : undefined, disabled: disabled, id: inputId, onChange: this.toggleChecked, onFocus: () => this.onFocus(), onBlur: () => this.onBlur(), ref: (focusEl) => (this.focusEl = focusEl) }, inheritedAttributes)), index.h("div", { class: {
118
+ }), onClick: this.onClick }, index.h("label", { class: "checkbox-wrapper" }, index.h("input", Object.assign({ type: "checkbox", checked: checked ? true : undefined, disabled: disabled, id: inputId, onChange: this.toggleChecked, onFocus: () => this.onFocus(), onBlur: () => this.onBlur(), ref: (focusEl) => (this.focusEl = focusEl) }, inheritedAttributes)), index.h("div", { class: {
117
119
  'label-text-wrapper': true,
118
120
  'label-text-wrapper-hidden': el.textContent === '',
119
121
  } }, index.h("slot", null)), index.h("div", { class: "native-wrapper" }, index.h("svg", { class: "checkbox-icon", viewBox: "0 0 24 24", part: "container" }, path)))));
@@ -146,7 +148,7 @@ Developers can dismiss this warning by removing their usage of the "legacy" prop
146
148
  'checkbox-indeterminate': indeterminate,
147
149
  'legacy-checkbox': true,
148
150
  interactive: true,
149
- }) }, index.h("svg", { class: "checkbox-icon", viewBox: "0 0 24 24", part: "container" }, path), index.h("label", { htmlFor: inputId }, labelText), index.h("input", { type: "checkbox", "aria-checked": `${checked}`, disabled: disabled, id: inputId, onChange: this.toggleChecked, onFocus: () => this.onFocus(), onBlur: () => this.onBlur(), ref: (focusEl) => (this.focusEl = focusEl) })));
151
+ }), onClick: this.onClick }, index.h("svg", { class: "checkbox-icon", viewBox: "0 0 24 24", part: "container" }, path), index.h("label", { htmlFor: inputId }, labelText), index.h("input", { type: "checkbox", "aria-checked": `${checked}`, disabled: disabled, id: inputId, onChange: this.toggleChecked, onFocus: () => this.onFocus(), onBlur: () => this.onBlur(), ref: (focusEl) => (this.focusEl = focusEl) })));
150
152
  }
151
153
  getSVGPath(mode, indeterminate) {
152
154
  let path = indeterminate ? (index.h("path", { d: "M6 12L18 12", part: "mark" })) : (index.h("path", { d: "M5.9,12.5l3.8,3.8l8.8-8.8", part: "mark" }));
@@ -5,9 +5,9 @@
5
5
 
6
6
  Object.defineProperty(exports, '__esModule', { value: true });
7
7
 
8
- const index = require('./index-184fdd62.js');
8
+ const index = require('./index-6f887430.js');
9
9
  const theme = require('./theme-fbc56b3b.js');
10
- const ionicGlobal = require('./ionic-global-6d5d27b5.js');
10
+ const ionicGlobal = require('./ionic-global-14a0604b.js');
11
11
 
12
12
  const chipCss = ":host{--background:rgba(var(--ion-text-color-rgb, 0, 0, 0), 0.12);--color:rgba(var(--ion-text-color-rgb, 0, 0, 0), 0.87);border-radius:16px;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;-webkit-margin-start:4px;margin-inline-start:4px;-webkit-margin-end:4px;margin-inline-end:4px;margin-top:4px;margin-bottom:4px;-webkit-padding-start:12px;padding-inline-start:12px;-webkit-padding-end:12px;padding-inline-end:12px;padding-top:7px;padding-bottom:7px;display:-ms-inline-flexbox;display:inline-flex;position:relative;-ms-flex-align:center;align-items:center;height:32px;background:var(--background);color:var(--color);font-family:var(--ion-font-family, inherit);font-size:14px;cursor:pointer;overflow:hidden;vertical-align:middle;-webkit-box-sizing:border-box;box-sizing:border-box}:host(.chip-disabled){cursor:default;opacity:0.4;pointer-events:none}:host(.ion-color){background:rgba(var(--ion-color-base-rgb), 0.08);color:var(--ion-color-shade)}:host(.ion-color:focus){background:rgba(var(--ion-color-base-rgb), 0.12)}:host(.ion-color.ion-activated){background:rgba(var(--ion-color-base-rgb), 0.16)}:host(.chip-outline){border-width:1px;border-style:solid}:host(.chip-outline){border-color:rgba(var(--ion-text-color-rgb, 0, 0, 0), 0.32);background:transparent}:host(.chip-outline.ion-color){border-color:rgba(var(--ion-color-base-rgb), 0.32)}:host(.chip-outline:not(.ion-color):focus){background:rgba(var(--ion-text-color-rgb, 0, 0, 0), 0.04)}:host(.chip-outline.ion-activated:not(.ion-color)){background:rgba(var(--ion-text-color-rgb, 0, 0, 0), 0.08)}::slotted(ion-icon){font-size:20px}:host(:not(.ion-color)) ::slotted(ion-icon){color:rgba(var(--ion-text-color-rgb, 0, 0, 0), 0.54)}::slotted(ion-icon:first-child){-webkit-margin-start:-4px;margin-inline-start:-4px;-webkit-margin-end:8px;margin-inline-end:8px;margin-top:-4px;margin-bottom:-4px}::slotted(ion-icon:last-child){-webkit-margin-start:8px;margin-inline-start:8px;-webkit-margin-end:-4px;margin-inline-end:-4px;margin-top:-4px;margin-bottom:-4px}::slotted(ion-avatar){width:24px;height:24px}::slotted(ion-avatar:first-child){-webkit-margin-start:-8px;margin-inline-start:-8px;-webkit-margin-end:8px;margin-inline-end:8px;margin-top:-4px;margin-bottom:-4px}::slotted(ion-avatar:last-child){-webkit-margin-start:8px;margin-inline-start:8px;-webkit-margin-end:-8px;margin-inline-end:-8px;margin-top:-4px;margin-bottom:-4px}:host(:focus){outline:none}:host(:focus){--background:rgba(var(--ion-text-color-rgb, 0, 0, 0), 0.16)}:host(.ion-activated){--background:rgba(var(--ion-text-color-rgb, 0, 0, 0), 0.2)}@media (any-hover: hover){:host(:hover){--background:rgba(var(--ion-text-color-rgb, 0, 0, 0), 0.16)}:host(.ion-color:hover){background:rgba(var(--ion-color-base-rgb), 0.12)}:host(.chip-outline:not(.ion-color):hover){background:rgba(var(--ion-text-color-rgb, 0, 0, 0), 0.04)}}";
13
13
 
@@ -5,8 +5,8 @@
5
5
 
6
6
  Object.defineProperty(exports, '__esModule', { value: true });
7
7
 
8
- const index = require('./index-184fdd62.js');
9
- const ionicGlobal = require('./ionic-global-6d5d27b5.js');
8
+ const index = require('./index-6f887430.js');
9
+ const ionicGlobal = require('./ionic-global-14a0604b.js');
10
10
 
11
11
  const SIZE_TO_MEDIA = {
12
12
  xs: '(min-width: 0px)',