@ionic/core 7.6.1-dev.11702322681.17e39348 → 7.6.1-dev.11702498225.1ad6eda6

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 (333) hide show
  1. package/components/ion-input.js +21 -2
  2. package/components/ion-menu.js +2 -2
  3. package/components/ion-split-pane.js +2 -2
  4. package/components/ion-textarea.js +25 -2
  5. package/components/item.js +2 -2
  6. package/css/core.css +0 -8
  7. package/css/core.css.map +1 -1
  8. package/css/ionic.bundle.css +1 -1
  9. package/css/ionic.bundle.css.map +1 -1
  10. package/dist/cjs/{app-globals-0af482c7.js → app-globals-7def22c8.js} +1 -1
  11. package/dist/cjs/{button-active-a5185907.js → button-active-962fe442.js} +1 -1
  12. package/dist/cjs/{index-f8f13389.js → index-17ab7794.js} +3 -3
  13. package/dist/cjs/{index-ce101dc9.js → index-3b012034.js} +1 -1
  14. package/dist/cjs/{index-bbb4336c.js → index-50dcfe2f.js} +21 -8
  15. package/dist/cjs/index.cjs.js +7 -7
  16. package/dist/cjs/ion-accordion_2.cjs.entry.js +2 -2
  17. package/dist/cjs/ion-action-sheet.cjs.entry.js +4 -4
  18. package/dist/cjs/ion-alert.cjs.entry.js +4 -4
  19. package/dist/cjs/ion-app_8.cjs.entry.js +4 -4
  20. package/dist/cjs/ion-avatar_3.cjs.entry.js +2 -2
  21. package/dist/cjs/ion-back-button.cjs.entry.js +2 -2
  22. package/dist/cjs/ion-backdrop.cjs.entry.js +2 -2
  23. package/dist/cjs/ion-breadcrumb_2.cjs.entry.js +2 -2
  24. package/dist/cjs/ion-button_2.cjs.entry.js +2 -2
  25. package/dist/cjs/ion-card_5.cjs.entry.js +2 -2
  26. package/dist/cjs/ion-checkbox.cjs.entry.js +2 -2
  27. package/dist/cjs/ion-chip.cjs.entry.js +2 -2
  28. package/dist/cjs/ion-col_3.cjs.entry.js +2 -2
  29. package/dist/cjs/ion-datetime-button.cjs.entry.js +2 -2
  30. package/dist/cjs/ion-datetime_3.cjs.entry.js +3 -3
  31. package/dist/cjs/ion-fab_3.cjs.entry.js +2 -2
  32. package/dist/cjs/ion-img.cjs.entry.js +2 -2
  33. package/dist/cjs/ion-infinite-scroll_2.cjs.entry.js +2 -2
  34. package/dist/cjs/ion-input.cjs.entry.js +23 -4
  35. package/dist/cjs/ion-item-option_3.cjs.entry.js +2 -2
  36. package/dist/cjs/ion-item_8.cjs.entry.js +4 -4
  37. package/dist/cjs/ion-loading.cjs.entry.js +3 -3
  38. package/dist/cjs/ion-menu_3.cjs.entry.js +6 -6
  39. package/dist/cjs/ion-modal.cjs.entry.js +4 -4
  40. package/dist/cjs/ion-nav_2.cjs.entry.js +3 -3
  41. package/dist/cjs/ion-picker-column-internal.cjs.entry.js +2 -2
  42. package/dist/cjs/ion-picker-internal.cjs.entry.js +1 -1
  43. package/dist/cjs/ion-popover.cjs.entry.js +4 -4
  44. package/dist/cjs/ion-progress-bar.cjs.entry.js +2 -2
  45. package/dist/cjs/ion-radio_2.cjs.entry.js +2 -2
  46. package/dist/cjs/ion-range.cjs.entry.js +2 -2
  47. package/dist/cjs/ion-refresher_2.cjs.entry.js +2 -2
  48. package/dist/cjs/ion-reorder_2.cjs.entry.js +2 -2
  49. package/dist/cjs/ion-ripple-effect.cjs.entry.js +2 -2
  50. package/dist/cjs/ion-route_4.cjs.entry.js +2 -2
  51. package/dist/cjs/ion-searchbar.cjs.entry.js +2 -2
  52. package/dist/cjs/ion-segment_2.cjs.entry.js +2 -2
  53. package/dist/cjs/ion-select_3.cjs.entry.js +3 -3
  54. package/dist/cjs/ion-spinner.cjs.entry.js +2 -2
  55. package/dist/cjs/ion-split-pane.cjs.entry.js +4 -4
  56. package/dist/cjs/ion-tab-bar_2.cjs.entry.js +2 -2
  57. package/dist/cjs/ion-tab_2.cjs.entry.js +1 -1
  58. package/dist/cjs/ion-text.cjs.entry.js +2 -2
  59. package/dist/cjs/ion-textarea.cjs.entry.js +27 -4
  60. package/dist/cjs/ion-toast.cjs.entry.js +3 -3
  61. package/dist/cjs/ion-toggle.cjs.entry.js +2 -2
  62. package/dist/cjs/{ionic-global-f4a2093b.js → ionic-global-a4edbf03.js} +1 -1
  63. package/dist/cjs/ionic.cjs.js +4 -4
  64. package/dist/cjs/{ios.transition-6787b799.js → ios.transition-b5353f3e.js} +2 -2
  65. package/dist/cjs/loader.cjs.js +3 -3
  66. package/dist/cjs/{md.transition-e033d20a.js → md.transition-67157dd9.js} +2 -2
  67. package/dist/cjs/{overlays-27a6fb16.js → overlays-e77cc023.js} +1 -1
  68. package/dist/cjs/{status-tap-415acac6.js → status-tap-b5d77c08.js} +1 -1
  69. package/dist/collection/collection-manifest.json +1 -1
  70. package/dist/collection/components/input/input.js +21 -2
  71. package/dist/collection/components/input/test/clear-on-edit/input.e2e.js +28 -8
  72. package/dist/collection/components/item/item.ios.css +6 -0
  73. package/dist/collection/components/item/item.md.css +6 -0
  74. package/dist/collection/components/label/test/a11y/label.e2e.js +25 -0
  75. package/dist/collection/components/menu/menu.ios.css +3 -4
  76. package/dist/collection/components/menu/menu.md.css +3 -4
  77. package/dist/collection/components/menu/test/custom/menu.e2e.js +61 -0
  78. package/dist/collection/components/split-pane/split-pane.ios.css +1 -2
  79. package/dist/collection/components/split-pane/split-pane.md.css +1 -2
  80. package/dist/collection/components/textarea/test/clear-on-edit/textarea.e2e.js +36 -0
  81. package/dist/collection/components/textarea/textarea.js +25 -2
  82. package/dist/docs.json +2 -2
  83. package/dist/esm/{app-globals-722340c4.js → app-globals-8c62bec2.js} +1 -1
  84. package/dist/esm/{button-active-c6ee4f50.js → button-active-308d3edd.js} +1 -1
  85. package/dist/esm/{index-0c12c22b.js → index-1193f005.js} +1 -1
  86. package/dist/esm/{index-1932b201.js → index-4743453d.js} +3 -3
  87. package/dist/esm/{index-08d686eb.js → index-b7d870cf.js} +21 -8
  88. package/dist/esm/index.js +7 -7
  89. package/dist/esm/ion-accordion_2.entry.js +2 -2
  90. package/dist/esm/ion-action-sheet.entry.js +4 -4
  91. package/dist/esm/ion-alert.entry.js +4 -4
  92. package/dist/esm/ion-app_8.entry.js +4 -4
  93. package/dist/esm/ion-avatar_3.entry.js +2 -2
  94. package/dist/esm/ion-back-button.entry.js +2 -2
  95. package/dist/esm/ion-backdrop.entry.js +2 -2
  96. package/dist/esm/ion-breadcrumb_2.entry.js +2 -2
  97. package/dist/esm/ion-button_2.entry.js +2 -2
  98. package/dist/esm/ion-card_5.entry.js +2 -2
  99. package/dist/esm/ion-checkbox.entry.js +2 -2
  100. package/dist/esm/ion-chip.entry.js +2 -2
  101. package/dist/esm/ion-col_3.entry.js +2 -2
  102. package/dist/esm/ion-datetime-button.entry.js +2 -2
  103. package/dist/esm/ion-datetime_3.entry.js +3 -3
  104. package/dist/esm/ion-fab_3.entry.js +2 -2
  105. package/dist/esm/ion-img.entry.js +2 -2
  106. package/dist/esm/ion-infinite-scroll_2.entry.js +2 -2
  107. package/dist/esm/ion-input.entry.js +23 -4
  108. package/dist/esm/ion-item-option_3.entry.js +2 -2
  109. package/dist/esm/ion-item_8.entry.js +4 -4
  110. package/dist/esm/ion-loading.entry.js +3 -3
  111. package/dist/esm/ion-menu_3.entry.js +6 -6
  112. package/dist/esm/ion-modal.entry.js +4 -4
  113. package/dist/esm/ion-nav_2.entry.js +3 -3
  114. package/dist/esm/ion-picker-column-internal.entry.js +2 -2
  115. package/dist/esm/ion-picker-internal.entry.js +1 -1
  116. package/dist/esm/ion-popover.entry.js +4 -4
  117. package/dist/esm/ion-progress-bar.entry.js +2 -2
  118. package/dist/esm/ion-radio_2.entry.js +2 -2
  119. package/dist/esm/ion-range.entry.js +2 -2
  120. package/dist/esm/ion-refresher_2.entry.js +2 -2
  121. package/dist/esm/ion-reorder_2.entry.js +2 -2
  122. package/dist/esm/ion-ripple-effect.entry.js +2 -2
  123. package/dist/esm/ion-route_4.entry.js +2 -2
  124. package/dist/esm/ion-searchbar.entry.js +2 -2
  125. package/dist/esm/ion-segment_2.entry.js +2 -2
  126. package/dist/esm/ion-select_3.entry.js +3 -3
  127. package/dist/esm/ion-spinner.entry.js +2 -2
  128. package/dist/esm/ion-split-pane.entry.js +4 -4
  129. package/dist/esm/ion-tab-bar_2.entry.js +2 -2
  130. package/dist/esm/ion-tab_2.entry.js +1 -1
  131. package/dist/esm/ion-text.entry.js +2 -2
  132. package/dist/esm/ion-textarea.entry.js +27 -4
  133. package/dist/esm/ion-toast.entry.js +3 -3
  134. package/dist/esm/ion-toggle.entry.js +2 -2
  135. package/dist/esm/{ionic-global-c0cda98e.js → ionic-global-1f99b929.js} +1 -1
  136. package/dist/esm/ionic.js +5 -5
  137. package/dist/esm/{ios.transition-802a84a6.js → ios.transition-3376ccb2.js} +2 -2
  138. package/dist/esm/loader.js +4 -4
  139. package/dist/esm/{md.transition-43c2874d.js → md.transition-f992779f.js} +2 -2
  140. package/dist/esm/{overlays-32ef481d.js → overlays-b33f6bca.js} +1 -1
  141. package/dist/esm/{status-tap-2b93b1b5.js → status-tap-16fd8f3d.js} +1 -1
  142. package/dist/esm-es5/app-globals-8c62bec2.js +4 -0
  143. package/dist/esm-es5/{button-active-c6ee4f50.js → button-active-308d3edd.js} +1 -1
  144. package/dist/esm-es5/{index-0c12c22b.js → index-1193f005.js} +1 -1
  145. package/dist/esm-es5/{index-1932b201.js → index-4743453d.js} +1 -1
  146. package/dist/esm-es5/index-b7d870cf.js +5 -0
  147. package/dist/esm-es5/index.js +1 -1
  148. package/dist/esm-es5/ion-accordion_2.entry.js +1 -1
  149. package/dist/esm-es5/ion-action-sheet.entry.js +1 -1
  150. package/dist/esm-es5/ion-alert.entry.js +1 -1
  151. package/dist/esm-es5/ion-app_8.entry.js +1 -1
  152. package/dist/esm-es5/ion-avatar_3.entry.js +1 -1
  153. package/dist/esm-es5/ion-back-button.entry.js +1 -1
  154. package/dist/esm-es5/ion-backdrop.entry.js +1 -1
  155. package/dist/esm-es5/ion-breadcrumb_2.entry.js +1 -1
  156. package/dist/esm-es5/ion-button_2.entry.js +1 -1
  157. package/dist/esm-es5/ion-card_5.entry.js +1 -1
  158. package/dist/esm-es5/ion-checkbox.entry.js +1 -1
  159. package/dist/esm-es5/ion-chip.entry.js +1 -1
  160. package/dist/esm-es5/ion-col_3.entry.js +1 -1
  161. package/dist/esm-es5/ion-datetime-button.entry.js +1 -1
  162. package/dist/esm-es5/ion-datetime_3.entry.js +1 -1
  163. package/dist/esm-es5/ion-fab_3.entry.js +1 -1
  164. package/dist/esm-es5/ion-img.entry.js +1 -1
  165. package/dist/esm-es5/ion-infinite-scroll_2.entry.js +1 -1
  166. package/dist/esm-es5/ion-input.entry.js +1 -1
  167. package/dist/esm-es5/ion-item-option_3.entry.js +1 -1
  168. package/dist/esm-es5/ion-item_8.entry.js +1 -1
  169. package/dist/esm-es5/ion-loading.entry.js +1 -1
  170. package/dist/esm-es5/ion-menu_3.entry.js +1 -1
  171. package/dist/esm-es5/ion-modal.entry.js +1 -1
  172. package/dist/esm-es5/ion-nav_2.entry.js +1 -1
  173. package/dist/esm-es5/ion-picker-column-internal.entry.js +1 -1
  174. package/dist/esm-es5/ion-picker-internal.entry.js +1 -1
  175. package/dist/esm-es5/ion-popover.entry.js +1 -1
  176. package/dist/esm-es5/ion-progress-bar.entry.js +1 -1
  177. package/dist/esm-es5/ion-radio_2.entry.js +1 -1
  178. package/dist/esm-es5/ion-range.entry.js +1 -1
  179. package/dist/esm-es5/ion-refresher_2.entry.js +1 -1
  180. package/dist/esm-es5/ion-reorder_2.entry.js +1 -1
  181. package/dist/esm-es5/ion-ripple-effect.entry.js +1 -1
  182. package/dist/esm-es5/ion-route_4.entry.js +1 -1
  183. package/dist/esm-es5/ion-searchbar.entry.js +1 -1
  184. package/dist/esm-es5/ion-segment_2.entry.js +1 -1
  185. package/dist/esm-es5/ion-select_3.entry.js +1 -1
  186. package/dist/esm-es5/ion-spinner.entry.js +1 -1
  187. package/dist/esm-es5/ion-split-pane.entry.js +1 -1
  188. package/dist/esm-es5/ion-tab-bar_2.entry.js +1 -1
  189. package/dist/esm-es5/ion-tab_2.entry.js +1 -1
  190. package/dist/esm-es5/ion-text.entry.js +1 -1
  191. package/dist/esm-es5/ion-textarea.entry.js +1 -1
  192. package/dist/esm-es5/ion-toast.entry.js +1 -1
  193. package/dist/esm-es5/ion-toggle.entry.js +1 -1
  194. package/dist/esm-es5/{ionic-global-c0cda98e.js → ionic-global-1f99b929.js} +1 -1
  195. package/dist/esm-es5/ionic.js +1 -1
  196. package/dist/esm-es5/{ios.transition-802a84a6.js → ios.transition-3376ccb2.js} +1 -1
  197. package/dist/esm-es5/loader.js +1 -1
  198. package/dist/esm-es5/md.transition-f992779f.js +4 -0
  199. package/dist/esm-es5/{overlays-32ef481d.js → overlays-b33f6bca.js} +1 -1
  200. package/dist/esm-es5/{status-tap-2b93b1b5.js → status-tap-16fd8f3d.js} +1 -1
  201. package/dist/ionic/index.esm.js +1 -1
  202. package/dist/ionic/ionic.esm.js +1 -1
  203. package/dist/ionic/ionic.js +1 -1
  204. package/dist/ionic/{p-f70970cf.js → p-0235067a.js} +1 -1
  205. package/dist/ionic/{p-cdbeaadc.js → p-04377cfa.js} +1 -1
  206. package/dist/ionic/{p-f656e032.system.entry.js → p-043aa6cc.system.entry.js} +1 -1
  207. package/dist/ionic/{p-c3c3333a.js → p-0509fd34.js} +1 -1
  208. package/dist/ionic/{p-765f4dde.entry.js → p-0550f802.entry.js} +1 -1
  209. package/dist/ionic/{p-8acae6b0.system.entry.js → p-06abe918.system.entry.js} +1 -1
  210. package/dist/ionic/{p-5e745192.system.js → p-0aa78a8d.system.js} +1 -1
  211. package/dist/ionic/p-0cc80201.entry.js +4 -0
  212. package/dist/ionic/{p-9f6ee2c0.system.entry.js → p-0dfa4ab4.system.entry.js} +2 -2
  213. package/dist/ionic/{p-b56d0866.system.entry.js → p-0ebc87b7.system.entry.js} +1 -1
  214. package/dist/ionic/{p-a0bb7b92.system.entry.js → p-10ec9af7.system.entry.js} +1 -1
  215. package/dist/ionic/{p-0add7211.entry.js → p-11786dc7.entry.js} +1 -1
  216. package/dist/ionic/{p-3dd98a73.entry.js → p-11a3973f.entry.js} +1 -1
  217. package/dist/ionic/{p-b4a51c42.system.js → p-1501b945.system.js} +1 -1
  218. package/dist/ionic/{p-e7ea9815.system.entry.js → p-19c379da.system.entry.js} +1 -1
  219. package/dist/ionic/{p-e3584231.system.js → p-19d9ceb8.system.js} +1 -1
  220. package/dist/ionic/{p-2d539df1.entry.js → p-1b27ac67.entry.js} +1 -1
  221. package/dist/ionic/{p-a3277a67.entry.js → p-1c249831.entry.js} +1 -1
  222. package/dist/ionic/{p-0e53f8ea.system.entry.js → p-20e0e75d.system.entry.js} +1 -1
  223. package/dist/ionic/{p-6de62649.system.entry.js → p-22827063.system.entry.js} +1 -1
  224. package/dist/ionic/{p-78aadecb.entry.js → p-26c4bf85.entry.js} +1 -1
  225. package/dist/ionic/{p-8de17614.system.entry.js → p-28740823.system.entry.js} +1 -1
  226. package/dist/ionic/{p-a1987850.entry.js → p-2894d5f6.entry.js} +1 -1
  227. package/dist/ionic/{p-9738fd82.js → p-290d3fe9.js} +1 -1
  228. package/dist/ionic/{p-3f5179b5.entry.js → p-2a583966.entry.js} +1 -1
  229. package/dist/ionic/{p-28249b10.system.entry.js → p-2cf21a15.system.entry.js} +1 -1
  230. package/dist/ionic/p-2df97906.system.entry.js +4 -0
  231. package/dist/ionic/{p-1161a793.entry.js → p-3313c481.entry.js} +1 -1
  232. package/dist/ionic/{p-2938823a.system.entry.js → p-332ea4d3.system.entry.js} +1 -1
  233. package/dist/ionic/{p-a0d7bb5e.system.js → p-3671f1b9.system.js} +1 -1
  234. package/dist/ionic/p-38531958.system.entry.js +4 -0
  235. package/dist/ionic/{p-98f3d827.entry.js → p-3dfc522b.entry.js} +1 -1
  236. package/dist/ionic/{p-88fde0e0.entry.js → p-3e8d5e53.entry.js} +1 -1
  237. package/dist/ionic/{p-ef126ae8.system.entry.js → p-41208f54.system.entry.js} +1 -1
  238. package/dist/ionic/p-42925096.system.entry.js +4 -0
  239. package/dist/ionic/{p-caf21b46.system.entry.js → p-4489dd20.system.entry.js} +1 -1
  240. package/dist/ionic/{p-72f6ff89.js → p-44a56556.js} +1 -1
  241. package/dist/ionic/{p-353b349d.entry.js → p-44dc52e5.entry.js} +1 -1
  242. package/dist/ionic/{p-c9a21dfd.system.entry.js → p-4685218a.system.entry.js} +1 -1
  243. package/dist/ionic/{p-01d14eba.system.entry.js → p-469dd571.system.entry.js} +1 -1
  244. package/dist/ionic/{p-80fa068e.entry.js → p-47bb15a1.entry.js} +1 -1
  245. package/dist/ionic/{p-b7010c69.system.entry.js → p-4981ea0a.system.entry.js} +1 -1
  246. package/dist/ionic/{p-438e1b8a.entry.js → p-4d145435.entry.js} +1 -1
  247. package/dist/ionic/{p-16756e94.system.entry.js → p-507ddbfe.system.entry.js} +1 -1
  248. package/dist/ionic/{p-8f5d30f5.entry.js → p-529b24fb.entry.js} +1 -1
  249. package/dist/ionic/p-52cfafe9.system.js +5 -0
  250. package/dist/ionic/{p-4155f352.system.js → p-5ad1fe3b.system.js} +1 -1
  251. package/dist/ionic/{p-d37b441e.entry.js → p-60959b71.entry.js} +1 -1
  252. package/dist/ionic/{p-28a2c2a2.entry.js → p-61e4d3ec.entry.js} +1 -1
  253. package/dist/ionic/{p-ada96dd0.system.entry.js → p-648ad047.system.entry.js} +1 -1
  254. package/dist/ionic/{p-51a087d6.entry.js → p-6855f26a.entry.js} +1 -1
  255. package/dist/ionic/{p-4fb51e61.system.entry.js → p-69641343.system.entry.js} +1 -1
  256. package/dist/ionic/{p-47b6ba5b.js → p-6ab03751.js} +1 -1
  257. package/dist/ionic/{p-3137c025.system.entry.js → p-6b0ce9b4.system.entry.js} +1 -1
  258. package/dist/ionic/{p-517a9885.system.entry.js → p-6c277fa2.system.entry.js} +1 -1
  259. package/dist/ionic/{p-46d400b4.system.entry.js → p-6e0539ea.system.entry.js} +1 -1
  260. package/dist/ionic/{p-dee7c1d0.system.entry.js → p-6fba0ce1.system.entry.js} +1 -1
  261. package/dist/ionic/{p-10437cc2.system.entry.js → p-745e3339.system.entry.js} +1 -1
  262. package/dist/ionic/{p-1b19c04b.entry.js → p-767f1a92.entry.js} +1 -1
  263. package/dist/ionic/{p-b936ec9d.entry.js → p-7dc892f8.entry.js} +1 -1
  264. package/dist/ionic/{p-5ecae037.js → p-7fae5c36.js} +1 -1
  265. package/dist/ionic/{p-b5f9f14c.entry.js → p-803efb5d.entry.js} +1 -1
  266. package/dist/ionic/{p-18ba8221.entry.js → p-806a9810.entry.js} +1 -1
  267. package/dist/ionic/{p-ea69616e.entry.js → p-84b567a6.entry.js} +1 -1
  268. package/dist/ionic/{p-b6f9d32a.entry.js → p-85f48531.entry.js} +1 -1
  269. package/dist/ionic/{p-908475e7.system.entry.js → p-8f301ac5.system.entry.js} +1 -1
  270. package/dist/ionic/{p-cfe57b1b.entry.js → p-928ee57a.entry.js} +1 -1
  271. package/dist/ionic/{p-4b4c7343.system.entry.js → p-932f2259.system.entry.js} +1 -1
  272. package/dist/ionic/p-950c05ad.entry.js +4 -0
  273. package/dist/ionic/{p-6ad34705.system.entry.js → p-96d4814f.system.entry.js} +1 -1
  274. package/dist/ionic/p-97174c1e.js +4 -0
  275. package/dist/ionic/{p-6de472cb.js → p-98f35d98.js} +1 -1
  276. package/dist/ionic/p-9a68d8ef.system.js +4 -0
  277. package/dist/ionic/{p-5b365ca7.system.js → p-9f94c72e.system.js} +1 -1
  278. package/dist/ionic/{p-1208f939.entry.js → p-9fb45814.entry.js} +1 -1
  279. package/dist/ionic/{p-3e6b47e8.system.entry.js → p-9fda6824.system.entry.js} +1 -1
  280. package/dist/ionic/{p-588fdf40.entry.js → p-a06501e3.entry.js} +1 -1
  281. package/dist/ionic/{p-31fcb233.system.js → p-a074be82.system.js} +1 -1
  282. package/dist/ionic/{p-17da5ed1.entry.js → p-a3013394.entry.js} +1 -1
  283. package/dist/ionic/{p-dfd9432a.entry.js → p-a3ca2e64.entry.js} +1 -1
  284. package/dist/ionic/{p-d032f825.system.entry.js → p-a42ef163.system.entry.js} +1 -1
  285. package/dist/ionic/{p-8314281e.system.js → p-a49931aa.system.js} +1 -1
  286. package/dist/ionic/{p-e6d68e02.system.entry.js → p-a821750c.system.entry.js} +1 -1
  287. package/dist/ionic/{p-5bebc7b3.system.entry.js → p-abd5d0d5.system.entry.js} +1 -1
  288. package/dist/ionic/{p-6fbecbda.entry.js → p-ae4b7df8.entry.js} +1 -1
  289. package/dist/ionic/{p-a9978d08.entry.js → p-aee39e06.entry.js} +1 -1
  290. package/dist/ionic/{p-e24ce1e5.system.js → p-afa9f205.system.js} +1 -1
  291. package/dist/ionic/{p-c91ccbfa.system.entry.js → p-b7058a0e.system.entry.js} +1 -1
  292. package/dist/ionic/{p-feae5133.entry.js → p-b78e6a44.entry.js} +1 -1
  293. package/dist/ionic/{p-cce9f61a.system.entry.js → p-b7a2ffc9.system.entry.js} +1 -1
  294. package/dist/ionic/{p-b3b3efba.system.entry.js → p-b8a9e195.system.entry.js} +1 -1
  295. package/dist/ionic/{p-f3752035.entry.js → p-b964aba3.entry.js} +1 -1
  296. package/dist/ionic/{p-6e70dd1a.system.entry.js → p-beeed22c.system.entry.js} +1 -1
  297. package/dist/ionic/{p-f8a5bb89.entry.js → p-c08fe2c0.entry.js} +1 -1
  298. package/dist/ionic/{p-4d67d27a.entry.js → p-c1701827.entry.js} +1 -1
  299. package/dist/ionic/{p-5eda1d7d.entry.js → p-c5acfeb1.entry.js} +1 -1
  300. package/dist/ionic/{p-9709ebd8.system.entry.js → p-cb8dff22.system.entry.js} +1 -1
  301. package/dist/ionic/{p-042e6f4b.entry.js → p-cd1b920b.entry.js} +1 -1
  302. package/dist/ionic/p-cd574dfa.js +4 -0
  303. package/dist/ionic/{p-9b7f0b0f.entry.js → p-cf53213c.entry.js} +1 -1
  304. package/dist/ionic/{p-b6f5e4f2.system.entry.js → p-d93eed83.system.entry.js} +1 -1
  305. package/dist/ionic/{p-e94c392d.entry.js → p-da5e2652.entry.js} +1 -1
  306. package/dist/ionic/p-dc6d8647.entry.js +4 -0
  307. package/dist/ionic/{p-7d92bf15.system.entry.js → p-dc71e4ef.system.entry.js} +1 -1
  308. package/dist/ionic/{p-6577aea9.system.entry.js → p-ddd48faf.system.entry.js} +1 -1
  309. package/dist/ionic/p-e2903cdc.system.entry.js +4 -0
  310. package/dist/ionic/{p-2092f39f.entry.js → p-e33d1ebc.entry.js} +1 -1
  311. package/dist/ionic/{p-8d69a624.entry.js → p-ebe8bd8a.entry.js} +1 -1
  312. package/dist/ionic/{p-39c31982.system.entry.js → p-ec652bc0.system.entry.js} +1 -1
  313. package/dist/ionic/{p-c847fb35.system.entry.js → p-f0504446.system.entry.js} +1 -1
  314. package/dist/ionic/{p-4f3ae45a.entry.js → p-f2bfd3d7.entry.js} +1 -1
  315. package/dist/ionic/{p-2d3b9fa3.system.entry.js → p-f434bcf3.system.entry.js} +1 -1
  316. package/dist/ionic/{p-33a37fad.system.js → p-f6e9c227.system.js} +1 -1
  317. package/dist/ionic/{p-251666e2.entry.js → p-f894e0ad.entry.js} +1 -1
  318. package/hydrate/index.js +88 -45
  319. package/package.json +2 -2
  320. package/dist/esm-es5/app-globals-722340c4.js +0 -4
  321. package/dist/esm-es5/index-08d686eb.js +0 -5
  322. package/dist/esm-es5/md.transition-43c2874d.js +0 -4
  323. package/dist/ionic/p-05d83227.system.entry.js +0 -4
  324. package/dist/ionic/p-1786bc72.js +0 -4
  325. package/dist/ionic/p-350f7292.system.entry.js +0 -4
  326. package/dist/ionic/p-564af202.system.entry.js +0 -4
  327. package/dist/ionic/p-7ee0f3f2.entry.js +0 -4
  328. package/dist/ionic/p-91d33c4a.js +0 -4
  329. package/dist/ionic/p-9e447eb1.system.js +0 -4
  330. package/dist/ionic/p-a4afcc88.entry.js +0 -4
  331. package/dist/ionic/p-afd6ca9d.entry.js +0 -4
  332. package/dist/ionic/p-d3b030b8.system.js +0 -5
  333. package/dist/ionic/p-fba0a6e7.system.entry.js +0 -4
@@ -5,12 +5,12 @@
5
5
 
6
6
  Object.defineProperty(exports, '__esModule', { value: true });
7
7
 
8
- const index = require('./index-bbb4336c.js');
9
- const appGlobals = require('./app-globals-0af482c7.js');
10
- require('./ionic-global-f4a2093b.js');
8
+ const index = require('./index-50dcfe2f.js');
9
+ const appGlobals = require('./app-globals-7def22c8.js');
10
+ require('./ionic-global-a4edbf03.js');
11
11
 
12
12
  /*
13
- Stencil Client Patch Browser v4.8.1 | MIT Licensed | https://stenciljs.com
13
+ Stencil Client Patch Browser v4.8.2 | MIT Licensed | https://stenciljs.com
14
14
  */
15
15
  const patchBrowser = () => {
16
16
  const importMeta = (typeof document === 'undefined' ? new (require('u' + 'rl').URL)('file:' + __filename).href : (document.currentScript && document.currentScript.src || new URL('ionic.cjs.js', document.baseURI).href));
@@ -4,10 +4,10 @@
4
4
  'use strict';
5
5
 
6
6
  const animation = require('./animation-9b401d39.js');
7
- const index = require('./index-f8f13389.js');
7
+ const index = require('./index-17ab7794.js');
8
8
  require('./index-c8d52405.js');
9
9
  require('./helpers-76bb7efb.js');
10
- require('./index-bbb4336c.js');
10
+ require('./index-50dcfe2f.js');
11
11
 
12
12
  const DURATION = 540;
13
13
  // TODO(FW-2832): types
@@ -5,9 +5,9 @@
5
5
 
6
6
  Object.defineProperty(exports, '__esModule', { value: true });
7
7
 
8
- const index = require('./index-bbb4336c.js');
9
- const appGlobals = require('./app-globals-0af482c7.js');
10
- require('./ionic-global-f4a2093b.js');
8
+ const index = require('./index-50dcfe2f.js');
9
+ const appGlobals = require('./app-globals-7def22c8.js');
10
+ require('./ionic-global-a4edbf03.js');
11
11
 
12
12
  const defineCustomElements = (win, options) => {
13
13
  if (typeof window === 'undefined') return undefined;
@@ -4,10 +4,10 @@
4
4
  'use strict';
5
5
 
6
6
  const animation = require('./animation-9b401d39.js');
7
- const index = require('./index-f8f13389.js');
7
+ const index = require('./index-17ab7794.js');
8
8
  require('./index-c8d52405.js');
9
9
  require('./helpers-76bb7efb.js');
10
- require('./index-bbb4336c.js');
10
+ require('./index-50dcfe2f.js');
11
11
 
12
12
  const mdTransitionAnimation = (_, opts) => {
13
13
  var _a, _b, _c;
@@ -4,7 +4,7 @@
4
4
  'use strict';
5
5
 
6
6
  const index = require('./index-c8d52405.js');
7
- const ionicGlobal = require('./ionic-global-f4a2093b.js');
7
+ const ionicGlobal = require('./ionic-global-a4edbf03.js');
8
8
  const frameworkDelegate = require('./framework-delegate-1c29b14a.js');
9
9
  const hardwareBackButton = require('./hardware-back-button-76833cac.js');
10
10
  const helpers = require('./helpers-76bb7efb.js');
@@ -3,7 +3,7 @@
3
3
  */
4
4
  'use strict';
5
5
 
6
- const index = require('./index-bbb4336c.js');
6
+ const index = require('./index-50dcfe2f.js');
7
7
  const index$1 = require('./index-da15e99c.js');
8
8
  const helpers = require('./helpers-76bb7efb.js');
9
9
  require('./index-5915f9b3.js');
@@ -94,7 +94,7 @@
94
94
  ],
95
95
  "compiler": {
96
96
  "name": "@stencil/core",
97
- "version": "4.8.1",
97
+ "version": "4.8.2",
98
98
  "typescriptVersion": "5.2.2"
99
99
  },
100
100
  "collections": [
@@ -269,15 +269,34 @@ export class Input {
269
269
  if (!this.shouldClearOnEdit()) {
270
270
  return;
271
271
  }
272
+ /**
273
+ * The following keys do not modify the
274
+ * contents of the input. As a result, pressing
275
+ * them should not edit the input.
276
+ *
277
+ * We can't check to see if the value of the input
278
+ * was changed because we call checkClearOnEdit
279
+ * in a keydown listener, and the key has not yet
280
+ * been added to the input.
281
+ */
282
+ const IGNORED_KEYS = ['Enter', 'Tab', 'Shift', 'Meta', 'Alt', 'Control'];
283
+ const pressedIgnoredKey = IGNORED_KEYS.includes(ev.key);
272
284
  /**
273
285
  * Clear the input if the control has not been previously cleared during focus.
274
286
  * Do not clear if the user hitting enter to submit a form.
275
287
  */
276
- if (!this.didInputClearOnEdit && this.hasValue() && ev.key !== 'Enter' && ev.key !== 'Tab') {
288
+ if (!this.didInputClearOnEdit && this.hasValue() && !pressedIgnoredKey) {
277
289
  this.value = '';
278
290
  this.emitInputChange(ev);
279
291
  }
280
- this.didInputClearOnEdit = true;
292
+ /**
293
+ * Pressing an IGNORED_KEYS first and
294
+ * then an allowed key will cause the input to not
295
+ * be cleared.
296
+ */
297
+ if (!pressedIgnoredKey) {
298
+ this.didInputClearOnEdit = true;
299
+ }
281
300
  }
282
301
  hasValue() {
283
302
  return this.getValue().length > 0;
@@ -3,6 +3,7 @@
3
3
  */
4
4
  import { expect } from "@playwright/test";
5
5
  import { test, configs } from "../../../../utils/test/playwright/index";
6
+ const IGNORED_KEYS = ['Enter', 'Tab', 'Shift', 'Meta', 'Alt', 'Control'];
6
7
  configs({ modes: ['ios'], directions: ['ltr'] }).forEach(({ title, config }) => {
7
8
  test.describe(title('input: clearOnEdit'), () => {
8
9
  test('should clear when typed into', async ({ page }) => {
@@ -13,21 +14,40 @@ configs({ modes: ['ios'], directions: ['ltr'] }).forEach(({ title, config }) =>
13
14
  await ionInput.next();
14
15
  await expect(input).toHaveJSProperty('value', 'h');
15
16
  });
16
- test('should not clear when enter is pressed', async ({ page }) => {
17
- await page.setContent(`<ion-input value="abc" clear-on-edit="true" aria-label="input"></ion-input>`, config);
17
+ test('should not clear the input if it does not have an initial value when typing', async ({ page }) => {
18
+ await page.setContent(`<ion-input label="input" value="" clear-on-edit="true"></ion-input>`, config);
18
19
  const input = page.locator('ion-input');
19
- await input.locator('input').focus();
20
- await page.keyboard.press('Enter');
21
- await page.waitForChanges();
22
- await expect(input).toHaveJSProperty('value', 'abc');
20
+ await input.click();
21
+ await input.type('hello world');
22
+ await expect(input).toHaveJSProperty('value', 'hello world');
23
+ });
24
+ IGNORED_KEYS.forEach((ignoredKey) => {
25
+ test(`should not clear when ${ignoredKey} is pressed`, async ({ page, skip }) => {
26
+ skip.browser((browserName) => browserName === 'firefox' && ignoredKey === 'Meta', 'Firefox incorrectly adds "OS" to the input when pressing the Meta key on Linux');
27
+ await page.setContent(`<ion-input value="abc" clear-on-edit="true" aria-label="input"></ion-input>`, config);
28
+ const input = page.locator('ion-input');
29
+ await input.locator('input').focus();
30
+ await page.keyboard.press(ignoredKey);
31
+ await page.waitForChanges();
32
+ await expect(input).toHaveJSProperty('value', 'abc');
33
+ });
23
34
  });
24
- test('should not clear when tab is pressed', async ({ page }) => {
35
+ test('should clear after when pressing valid key after pressing ignored key', async ({ page }) => {
36
+ test.info().annotations.push({
37
+ type: 'issue',
38
+ description: 'https://github.com/ionic-team/ionic-framework/issues/28633',
39
+ });
25
40
  await page.setContent(`<ion-input value="abc" clear-on-edit="true" aria-label="input"></ion-input>`, config);
26
41
  const input = page.locator('ion-input');
27
42
  await input.locator('input').focus();
28
- await page.keyboard.press('Tab');
43
+ // ignored
44
+ await page.keyboard.press('Shift');
29
45
  await page.waitForChanges();
30
46
  await expect(input).toHaveJSProperty('value', 'abc');
47
+ // allowed
48
+ await page.keyboard.press('a');
49
+ await page.waitForChanges();
50
+ await expect(input).toHaveJSProperty('value', 'a');
31
51
  });
32
52
  });
33
53
  });
@@ -418,6 +418,12 @@ button, a {
418
418
  ::slotted(ion-label:not([slot=end])) {
419
419
  flex: 1;
420
420
  width: min-content;
421
+ /**
422
+ * We allow labels in the default
423
+ * slot to grow. However, we do not
424
+ * want them to grow indefinitely.
425
+ */
426
+ max-width: 100%;
421
427
  }
422
428
 
423
429
  :host(.item-input) {
@@ -418,6 +418,12 @@ button, a {
418
418
  ::slotted(ion-label:not([slot=end])) {
419
419
  flex: 1;
420
420
  width: min-content;
421
+ /**
422
+ * We allow labels in the default
423
+ * slot to grow. However, we do not
424
+ * want them to grow indefinitely.
425
+ */
426
+ max-width: 100%;
421
427
  }
422
428
 
423
429
  :host(.item-input) {
@@ -64,3 +64,28 @@ configs({ directions: ['ltr'] }).forEach(({ title, screenshot, config }) => {
64
64
  });
65
65
  });
66
66
  });
67
+ configs({ modes: ['ios'], directions: ['ltr'] }).forEach(({ title, screenshot, config }) => {
68
+ test.describe(title('label: text wrapping in item'), () => {
69
+ test('long text should not cause label to expand infinitely', async ({ page }) => {
70
+ await page.setContent(`
71
+ <style>
72
+ div {
73
+ text-overflow: ellipsis;
74
+ overflow: hidden;
75
+ white-space: nowrap;
76
+ }
77
+ </style>
78
+ <ion-item>
79
+ <ion-label>
80
+ <!-- This text should be truncated with ellipses -->
81
+ <div>
82
+ Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
83
+ </div>
84
+ </ion-label>
85
+ </ion-item>
86
+ `, config);
87
+ const item = page.locator('ion-item');
88
+ await expect(item).toHaveScreenshot(screenshot(`label-item-wrap`));
89
+ });
90
+ });
91
+ });
@@ -305,14 +305,13 @@ ion-backdrop {
305
305
  left: 0;
306
306
  right: 0;
307
307
  width: auto;
308
- /* stylelint-disable declaration-no-important */
309
- transform: none !important;
310
- box-shadow: none !important;
308
+ transform: none;
309
+ box-shadow: none;
311
310
  }
312
311
 
313
312
  :host(.menu-pane-visible) ion-backdrop {
313
+ /* stylelint-disable-next-line declaration-no-important */
314
314
  display: hidden !important;
315
- /* stylelint-enable declaration-no-important */
316
315
  }
317
316
 
318
317
  /**
@@ -305,14 +305,13 @@ ion-backdrop {
305
305
  left: 0;
306
306
  right: 0;
307
307
  width: auto;
308
- /* stylelint-disable declaration-no-important */
309
- transform: none !important;
310
- box-shadow: none !important;
308
+ transform: none;
309
+ box-shadow: none;
311
310
  }
312
311
 
313
312
  :host(.menu-pane-visible) ion-backdrop {
313
+ /* stylelint-disable-next-line declaration-no-important */
314
314
  display: hidden !important;
315
- /* stylelint-enable declaration-no-important */
316
315
  }
317
316
 
318
317
  /**
@@ -0,0 +1,61 @@
1
+ /*!
2
+ * (C) Ionic http://ionicframework.com - MIT License
3
+ */
4
+ import { expect } from "@playwright/test";
5
+ import { configs, test } from "../../../../utils/test/playwright/index";
6
+ /**
7
+ * This behavior does not vary across directions.
8
+ */
9
+ configs({ directions: ['ltr'] }).forEach(({ title, config, screenshot }) => {
10
+ test.describe(title('menu: custom'), () => {
11
+ test('should allow styling the menu box shadow when inside a split pane', async ({ page }) => {
12
+ test.info().annotations.push({
13
+ type: 'issue',
14
+ description: 'https://github.com/ionic-team/ionic-framework/issues/21530',
15
+ });
16
+ await page.setContent(`
17
+ <style>
18
+ ion-split-pane {
19
+ --side-width: 200px;
20
+ --side-min-width: 200px;
21
+ }
22
+
23
+ ion-menu {
24
+ box-shadow: 10px 5px 5px red;
25
+ z-index: 1;
26
+ }
27
+ </style>
28
+
29
+ <ion-app>
30
+ <ion-split-pane when="xs" id="splitPane" content-id="split-content">
31
+ <ion-menu side="start" content-id="split-content">
32
+ <ion-header>
33
+ <ion-toolbar color="secondary">
34
+ <ion-title>Menu</ion-title>
35
+ </ion-toolbar>
36
+ </ion-header>
37
+
38
+ <ion-content class="ion-padding">Menu Content</ion-content>
39
+ </ion-menu>
40
+
41
+ <div class="ion-page" id="split-content">
42
+ <ion-header>
43
+ <ion-toolbar>
44
+ <ion-buttons slot="start">
45
+ <ion-menu-button></ion-menu-button>
46
+ </ion-buttons>
47
+
48
+ <ion-title>Content</ion-title>
49
+ </ion-toolbar>
50
+ </ion-header>
51
+
52
+ <ion-content class="ion-padding">Main Content</ion-content>
53
+ </div>
54
+ </ion-split-pane>
55
+ </ion-app>
56
+ `, config);
57
+ const app = page.locator('ion-app');
58
+ await expect(app).toHaveScreenshot(screenshot(`menu-custom-split-pane`));
59
+ });
60
+ });
61
+ });
@@ -146,8 +146,7 @@
146
146
  top: 0;
147
147
  bottom: 0;
148
148
  position: relative;
149
- /* stylelint-disable-next-line declaration-no-important */
150
- box-shadow: none !important;
149
+ box-shadow: none;
151
150
  z-index: 0;
152
151
  }
153
152
 
@@ -146,8 +146,7 @@
146
146
  top: 0;
147
147
  bottom: 0;
148
148
  position: relative;
149
- /* stylelint-disable-next-line declaration-no-important */
150
- box-shadow: none !important;
149
+ box-shadow: none;
151
150
  z-index: 0;
152
151
  }
153
152
 
@@ -3,6 +3,7 @@
3
3
  */
4
4
  import { expect } from "@playwright/test";
5
5
  import { test, configs } from "../../../../utils/test/playwright/index";
6
+ const IGNORED_KEYS = ['Tab', 'Shift', 'Meta', 'Alt', 'Control'];
6
7
  configs({ modes: ['ios'], directions: ['ltr'] }).forEach(({ title, config }) => {
7
8
  test.describe(title('textarea: clearOnEdit'), () => {
8
9
  test('should clear when typed into', async ({ page }) => {
@@ -21,5 +22,40 @@ configs({ modes: ['ios'], directions: ['ltr'] }).forEach(({ title, config }) =>
21
22
  await page.waitForChanges();
22
23
  await expect(textarea).toHaveJSProperty('value', 'abc');
23
24
  });
25
+ test('should not clear the textarea if it does not have an initial value when typing', async ({ page }) => {
26
+ await page.setContent(`<ion-textarea label="textarea" value="" clear-on-edit="true"></ion-textarea>`, config);
27
+ const textarea = page.locator('ion-textarea');
28
+ await textarea.click();
29
+ await textarea.type('hello world');
30
+ await expect(textarea).toHaveJSProperty('value', 'hello world');
31
+ });
32
+ IGNORED_KEYS.forEach((ignoredKey) => {
33
+ test(`should not clear when ${ignoredKey} is pressed`, async ({ page, skip }) => {
34
+ skip.browser((browserName) => browserName === 'firefox' && ignoredKey === 'Meta', 'Firefox incorrectly adds "OS" to the textarea when pressing the Meta key on Linux');
35
+ await page.setContent(`<ion-textarea value="abc" clear-on-edit="true" aria-label="textarea"></ion-textarea>`, config);
36
+ const textarea = page.locator('ion-textarea');
37
+ await textarea.locator('textarea').focus();
38
+ await page.keyboard.press(ignoredKey);
39
+ await page.waitForChanges();
40
+ await expect(textarea).toHaveJSProperty('value', 'abc');
41
+ });
42
+ });
43
+ test('should clear after when pressing valid key after pressing ignored key', async ({ page }) => {
44
+ test.info().annotations.push({
45
+ type: 'issue',
46
+ description: 'https://github.com/ionic-team/ionic-framework/issues/28633',
47
+ });
48
+ await page.setContent(`<ion-textarea value="abc" clear-on-edit="true" aria-label="textarea"></ion-textarea>`, config);
49
+ const textarea = page.locator('ion-textarea');
50
+ await textarea.locator('textarea').focus();
51
+ // ignored
52
+ await page.keyboard.press('Shift');
53
+ await page.waitForChanges();
54
+ await expect(textarea).toHaveJSProperty('value', 'abc');
55
+ // allowed
56
+ await page.keyboard.press('a');
57
+ await page.waitForChanges();
58
+ await expect(textarea).toHaveJSProperty('value', 'a');
59
+ });
24
60
  });
25
61
  });
@@ -238,15 +238,38 @@ export class Textarea {
238
238
  if (!this.clearOnEdit) {
239
239
  return;
240
240
  }
241
+ /**
242
+ * The following keys do not modify the
243
+ * contents of the input. As a result, pressing
244
+ * them should not edit the textarea.
245
+ *
246
+ * We can't check to see if the value of the textarea
247
+ * was changed because we call checkClearOnEdit
248
+ * in a keydown listener, and the key has not yet
249
+ * been added to the textarea.
250
+ *
251
+ * Unlike ion-input, the "Enter" key does modify the
252
+ * textarea by adding a new line, so "Enter" is not
253
+ * included in the IGNORED_KEYS array.
254
+ */
255
+ const IGNORED_KEYS = ['Tab', 'Shift', 'Meta', 'Alt', 'Control'];
256
+ const pressedIgnoredKey = IGNORED_KEYS.includes(ev.key);
241
257
  /**
242
258
  * Clear the textarea if the control has not been previously cleared
243
259
  * during focus.
244
260
  */
245
- if (!this.didTextareaClearOnEdit && this.hasValue() && ev.key !== 'Tab') {
261
+ if (!this.didTextareaClearOnEdit && this.hasValue() && !pressedIgnoredKey) {
246
262
  this.value = '';
247
263
  this.emitInputChange(ev);
248
264
  }
249
- this.didTextareaClearOnEdit = true;
265
+ /**
266
+ * Pressing an IGNORED_KEYS first and
267
+ * then an allowed key will cause the input to not
268
+ * be cleared.
269
+ */
270
+ if (!pressedIgnoredKey) {
271
+ this.didTextareaClearOnEdit = true;
272
+ }
250
273
  }
251
274
  focusChange() {
252
275
  this.emitStyle();
package/dist/docs.json CHANGED
@@ -1,8 +1,8 @@
1
1
  {
2
- "timestamp": "2023-12-11T19:26:40",
2
+ "timestamp": "2023-12-13T20:13:31",
3
3
  "compiler": {
4
4
  "name": "@stencil/core",
5
- "version": "4.8.1",
5
+ "version": "4.8.2",
6
6
  "typescriptVersion": "5.2.2"
7
7
  },
8
8
  "components": [
@@ -1,7 +1,7 @@
1
1
  /*!
2
2
  * (C) Ionic http://ionicframework.com - MIT License
3
3
  */
4
- import { i as initialize } from './ionic-global-c0cda98e.js';
4
+ import { i as initialize } from './ionic-global-1f99b929.js';
5
5
 
6
6
  const globalScripts = initialize;
7
7
 
@@ -1,7 +1,7 @@
1
1
  /*!
2
2
  * (C) Ionic http://ionicframework.com - MIT License
3
3
  */
4
- import { w as writeTask } from './index-08d686eb.js';
4
+ import { w as writeTask } from './index-b7d870cf.js';
5
5
  import { h as hapticSelectionEnd, a as hapticSelectionStart, b as hapticSelectionChanged } from './haptic-554688a5.js';
6
6
  import { createGesture } from './index-2cf77112.js';
7
7
 
@@ -5,7 +5,7 @@ import { d as doc } from './index-a5d50daf.js';
5
5
  import { MENU_BACK_BUTTON_PRIORITY } from './hardware-back-button-b2bc76db.js';
6
6
  import { p as printIonWarning } from './index-9b0d46f4.js';
7
7
  import { c as componentOnReady } from './helpers-ae653409.js';
8
- import { b as getIonMode } from './ionic-global-c0cda98e.js';
8
+ import { b as getIonMode } from './ionic-global-1f99b929.js';
9
9
  import { c as createAnimation } from './animation-dde8cc0d.js';
10
10
 
11
11
  /**
@@ -1,7 +1,7 @@
1
1
  /*!
2
2
  * (C) Ionic http://ionicframework.com - MIT License
3
3
  */
4
- import { w as writeTask, B as Build } from './index-08d686eb.js';
4
+ import { w as writeTask, B as Build } from './index-b7d870cf.js';
5
5
  import { r as raf } from './helpers-ae653409.js';
6
6
 
7
7
  const LIFECYCLE_WILL_ENTER = 'ionViewWillEnter';
@@ -10,8 +10,8 @@ const LIFECYCLE_WILL_LEAVE = 'ionViewWillLeave';
10
10
  const LIFECYCLE_DID_LEAVE = 'ionViewDidLeave';
11
11
  const LIFECYCLE_WILL_UNLOAD = 'ionViewWillUnload';
12
12
 
13
- const iosTransitionAnimation = () => import('./ios.transition-802a84a6.js');
14
- const mdTransitionAnimation = () => import('./md.transition-43c2874d.js');
13
+ const iosTransitionAnimation = () => import('./ios.transition-3376ccb2.js');
14
+ const mdTransitionAnimation = () => import('./md.transition-f992779f.js');
15
15
  // TODO(FW-2832): types
16
16
  const transition = (opts) => {
17
17
  return new Promise((resolve, reject) => {
@@ -960,8 +960,10 @@ const createElm = (oldParentVNode, newParentVNode, childIndex, parentElm) => {
960
960
  }
961
961
  }
962
962
  }
963
+ // This needs to always happen so we can hide nodes that are projected
964
+ // to another component but don't end up in a slot
965
+ elm['s-hn'] = hostTagName;
963
966
  {
964
- elm['s-hn'] = hostTagName;
965
967
  if (newVNode.$flags$ & (2 /* VNODE_FLAGS.isSlotFallback */ | 1 /* VNODE_FLAGS.isSlotReference */)) {
966
968
  // remember the content reference comment
967
969
  elm['s-sr'] = true;
@@ -974,9 +976,11 @@ const createElm = (oldParentVNode, newParentVNode, childIndex, parentElm) => {
974
976
  // check if we've got an old vnode for this slot
975
977
  oldVNode = oldParentVNode && oldParentVNode.$children$ && oldParentVNode.$children$[childIndex];
976
978
  if (oldVNode && oldVNode.$tag$ === newVNode.$tag$ && oldParentVNode.$elm$) {
977
- // we've got an old slot vnode and the wrapper is being replaced
978
- // so let's move the old slot content back to it's original location
979
- putBackInOriginalLocation(oldParentVNode.$elm$, false);
979
+ {
980
+ // we've got an old slot vnode and the wrapper is being replaced
981
+ // so let's move the old slot content back to its original location
982
+ putBackInOriginalLocation(oldParentVNode.$elm$, false);
983
+ }
980
984
  }
981
985
  }
982
986
  }
@@ -989,9 +993,6 @@ const putBackInOriginalLocation = (parentElm, recursive) => {
989
993
  for (let i = oldSlotChildNodes.length - 1; i >= 0; i--) {
990
994
  const childNode = oldSlotChildNodes[i];
991
995
  if (childNode['s-hn'] !== hostTagName && childNode['s-ol']) {
992
- // // this child node in the old element is from another component
993
- // // remove this node from the old slot's parent
994
- // childNode.remove();
995
996
  // and relocate it back to it's original location
996
997
  parentReferenceNode(childNode).insertBefore(childNode, referenceNode(childNode));
997
998
  // remove the old original location comment entirely
@@ -1634,7 +1635,7 @@ const nullifyVNodeRefs = (vNode) => {
1634
1635
  * @param isInitialLoad whether or not this is the first call after page load
1635
1636
  */
1636
1637
  const renderVdom = (hostRef, renderFnResults, isInitialLoad = false) => {
1637
- var _a, _b;
1638
+ var _a, _b, _c, _d;
1638
1639
  const hostElm = hostRef.$hostElement$;
1639
1640
  const cmpMeta = hostRef.$cmpMeta$;
1640
1641
  const oldVNode = hostRef.$vnode$ || newVNode(null, null);
@@ -1749,12 +1750,24 @@ const renderVdom = (hostRef, renderFnResults, isInitialLoad = false) => {
1749
1750
  // we're just going to append the node as the last child of the parent. Passing
1750
1751
  // `null` as the second arg here will trigger that behavior.
1751
1752
  parentNodeRef.insertBefore(nodeToRelocate, insertBeforeNode);
1753
+ // Reset the `hidden` value back to what it was defined as originally
1754
+ // This solves a problem where a `slot` is dynamically rendered and `hidden` may have
1755
+ // been set on content originally, but now it has a slot to go to so it should have
1756
+ // the value it was defined as having in the DOM, not what we overrode it to.
1757
+ if (nodeToRelocate.nodeType === 1 /* NODE_TYPE.ElementNode */) {
1758
+ nodeToRelocate.hidden = (_c = nodeToRelocate['s-ih']) !== null && _c !== void 0 ? _c : false;
1759
+ }
1752
1760
  }
1753
1761
  }
1754
1762
  }
1755
1763
  else {
1756
1764
  // this node doesn't have a slot home to go to, so let's hide it
1757
1765
  if (nodeToRelocate.nodeType === 1 /* NODE_TYPE.ElementNode */) {
1766
+ // Store the initial value of `hidden` so we can reset it later when
1767
+ // moving nodes around.
1768
+ if (isInitialLoad) {
1769
+ nodeToRelocate['s-ih'] = (_d = nodeToRelocate.hidden) !== null && _d !== void 0 ? _d : false;
1770
+ }
1758
1771
  nodeToRelocate.hidden = true;
1759
1772
  }
1760
1773
  }
package/dist/esm/index.js CHANGED
@@ -2,19 +2,19 @@
2
2
  * (C) Ionic http://ionicframework.com - MIT License
3
3
  */
4
4
  export { c as createAnimation } from './animation-dde8cc0d.js';
5
- export { a as LIFECYCLE_DID_ENTER, c as LIFECYCLE_DID_LEAVE, L as LIFECYCLE_WILL_ENTER, b as LIFECYCLE_WILL_LEAVE, d as LIFECYCLE_WILL_UNLOAD, g as getIonPageElement } from './index-1932b201.js';
6
- export { iosTransitionAnimation } from './ios.transition-802a84a6.js';
7
- export { mdTransitionAnimation } from './md.transition-43c2874d.js';
5
+ export { a as LIFECYCLE_DID_ENTER, c as LIFECYCLE_DID_LEAVE, L as LIFECYCLE_WILL_ENTER, b as LIFECYCLE_WILL_LEAVE, d as LIFECYCLE_WILL_UNLOAD, g as getIonPageElement } from './index-4743453d.js';
6
+ export { iosTransitionAnimation } from './ios.transition-3376ccb2.js';
7
+ export { mdTransitionAnimation } from './md.transition-f992779f.js';
8
8
  export { g as getTimeGivenProgression } from './cubic-bezier-fe2083dc.js';
9
9
  export { createGesture } from './index-2cf77112.js';
10
- export { g as getPlatforms, i as initialize, a as isPlatform } from './ionic-global-c0cda98e.js';
10
+ export { g as getPlatforms, i as initialize, a as isPlatform } from './ionic-global-1f99b929.js';
11
11
  export { c as componentOnReady } from './helpers-ae653409.js';
12
12
  export { I as IonicSafeString, g as getMode, s as setupConfig } from './config-49c88215.js';
13
13
  export { o as openURL } from './theme-01f3f29c.js';
14
- export { m as menuController } from './index-0c12c22b.js';
15
- export { b as actionSheetController, a as alertController, l as loadingController, m as modalController, p as pickerController, c as popoverController, t as toastController } from './overlays-32ef481d.js';
14
+ export { m as menuController } from './index-1193f005.js';
15
+ export { b as actionSheetController, a as alertController, l as loadingController, m as modalController, p as pickerController, c as popoverController, t as toastController } from './overlays-b33f6bca.js';
16
16
  import './index-a5d50daf.js';
17
- import './index-08d686eb.js';
17
+ import './index-b7d870cf.js';
18
18
  import './gesture-controller-1bf57181.js';
19
19
  import './hardware-back-button-b2bc76db.js';
20
20
  import './index-9b0d46f4.js';
@@ -1,10 +1,10 @@
1
1
  /*!
2
2
  * (C) Ionic http://ionicframework.com - MIT License
3
3
  */
4
- import { r as registerInstance, h, H as Host, f as getElement, d as createEvent } from './index-08d686eb.js';
4
+ import { r as registerInstance, h, H as Host, f as getElement, d as createEvent } from './index-b7d870cf.js';
5
5
  import { r as raf, t as transitionEndAsync, a as addEventListener, b as removeEventListener, g as getElementRoot } from './helpers-ae653409.js';
6
6
  import { l as chevronDown } from './index-c132c5f1.js';
7
- import { c as config, b as getIonMode } from './ionic-global-c0cda98e.js';
7
+ import { c as config, b as getIonMode } from './ionic-global-1f99b929.js';
8
8
  import { p as printIonWarning } from './index-9b0d46f4.js';
9
9
 
10
10
  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}";