@ionic/core 8.8.14-dev.11783455203.1cbca643 → 8.8.14-dev.11783706459.1d5a7aae

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 (366) hide show
  1. package/components/index.js +1 -1
  2. package/components/ion-action-sheet.js +1 -1
  3. package/components/ion-alert.js +1 -1
  4. package/components/ion-back-button.js +1 -1
  5. package/components/ion-button.js +1 -1
  6. package/components/ion-card.js +1 -1
  7. package/components/ion-chip.js +1 -1
  8. package/components/ion-datetime-button.js +1 -1
  9. package/components/ion-datetime.js +1 -1
  10. package/components/ion-fab-button.js +1 -1
  11. package/components/ion-infinite-scroll-content.js +1 -1
  12. package/components/ion-input-password-toggle.js +1 -1
  13. package/components/ion-input.js +1 -1
  14. package/components/ion-item-option.js +1 -1
  15. package/components/ion-item.js +1 -1
  16. package/components/ion-loading.js +1 -1
  17. package/components/ion-menu-button.js +1 -1
  18. package/components/ion-menu.js +1 -1
  19. package/components/ion-modal.js +1 -1
  20. package/components/ion-picker-column-option.js +1 -1
  21. package/components/ion-picker-column.js +1 -1
  22. package/components/ion-popover.js +1 -1
  23. package/components/ion-progress-bar.js +1 -1
  24. package/components/ion-radio.js +1 -1
  25. package/components/ion-range.js +1 -1
  26. package/components/ion-refresher-content.js +1 -1
  27. package/components/ion-refresher.js +1 -1
  28. package/components/ion-reorder-group.js +1 -1
  29. package/components/ion-reorder.js +1 -1
  30. package/components/ion-ripple-effect.js +1 -1
  31. package/components/ion-router-link.js +1 -1
  32. package/components/ion-router-outlet.js +1 -1
  33. package/components/ion-row.js +1 -1
  34. package/components/ion-searchbar.js +1 -1
  35. package/components/ion-segment-button.js +1 -1
  36. package/components/ion-segment-content.js +1 -1
  37. package/components/ion-segment-view.js +1 -1
  38. package/components/ion-segment.js +1 -1
  39. package/components/ion-select-modal.js +1 -1
  40. package/components/ion-select-option.js +1 -1
  41. package/components/ion-select-popover.js +1 -1
  42. package/components/ion-select.js +1 -1
  43. package/components/ion-skeleton-text.js +1 -1
  44. package/components/ion-spinner.js +1 -1
  45. package/components/ion-split-pane.js +1 -1
  46. package/components/ion-tab-bar.js +1 -1
  47. package/components/ion-tab-button.js +1 -1
  48. package/components/ion-tab.js +1 -1
  49. package/components/ion-tabs.js +1 -1
  50. package/components/ion-text.js +1 -1
  51. package/components/ion-textarea.js +1 -1
  52. package/components/ion-thumbnail.js +1 -1
  53. package/components/ion-title.js +1 -1
  54. package/components/ion-toast.js +1 -1
  55. package/components/ion-toggle.js +1 -1
  56. package/components/ion-toolbar.js +1 -1
  57. package/components/p-279dFMvg.js +4 -0
  58. package/components/p-B7KXos3u.js +4 -0
  59. package/components/p-BSQPZ79H.js +4 -0
  60. package/components/p-BimUi1zU.js +4 -0
  61. package/components/{p-BHrrc-3d.js → p-Buf_7zcy.js} +1 -1
  62. package/components/p-BwKpO3Is.js +4 -0
  63. package/components/p-C-Rx1zny.js +4 -0
  64. package/components/p-CHzfYZbv.js +4 -0
  65. package/components/p-D4h1H_hh.js +4 -0
  66. package/components/{p-BSEgsdFI.js → p-DhkITZ-y.js} +1 -1
  67. package/components/{p-5bE_Wz4Y.js → p-DpV-p5Xs.js} +1 -1
  68. package/components/{p-Cfx4M1Bn.js → p-Dz74mwlk.js} +1 -1
  69. package/components/p-LMGfIvTf.js +4 -0
  70. package/components/{p-BLmJ0zRm.js → p-XJWMAP8m.js} +1 -1
  71. package/components/p-_lHSumhG.js +4 -0
  72. package/components/p-j9Da6cYO.js +4 -0
  73. package/components/p-jOtMJMv8.js +4 -0
  74. package/components/{p-B60hm8Qv.js → p-r0aq7dpt.js} +1 -1
  75. package/components/p-uTR_dEqg.js +4 -0
  76. package/components/{p-rCa2eL0j.js → p-wk2QqrAo.js} +1 -1
  77. package/dist/cjs/config-DWdFbSNK.js +35 -0
  78. package/dist/cjs/index-Cueg3U4w.js +429 -0
  79. package/dist/cjs/index.cjs.js +6 -6
  80. package/dist/cjs/ion-action-sheet.cjs.entry.js +27 -7
  81. package/dist/cjs/ion-alert.cjs.entry.js +64 -25
  82. package/dist/cjs/ion-app_8.cjs.entry.js +23 -9
  83. package/dist/cjs/ion-avatar_3.cjs.entry.js +1 -1
  84. package/dist/cjs/ion-col_3.cjs.entry.js +1 -1
  85. package/dist/cjs/ion-datetime-button.cjs.entry.js +4 -10
  86. package/dist/cjs/{ion-datetime_3.cjs.entry.js → ion-datetime.cjs.entry.js} +12 -656
  87. package/dist/cjs/ion-infinite-scroll_2.cjs.entry.js +3 -2
  88. package/dist/cjs/ion-input.cjs.entry.js +4 -4
  89. package/dist/cjs/ion-item_8.cjs.entry.js +2 -2
  90. package/dist/cjs/ion-loading.cjs.entry.js +10 -5
  91. package/dist/cjs/ion-menu_3.cjs.entry.js +1 -1
  92. package/dist/cjs/ion-modal.cjs.entry.js +21 -22
  93. package/dist/cjs/ion-picker-column-option.cjs.entry.js +3 -9
  94. package/dist/cjs/ion-picker-column.cjs.entry.js +4 -10
  95. package/dist/cjs/ion-popover.cjs.entry.js +9 -5
  96. package/dist/cjs/ion-progress-bar.cjs.entry.js +1 -1
  97. package/dist/cjs/ion-radio_2.cjs.entry.js +3 -3
  98. package/dist/cjs/ion-range.cjs.entry.js +3 -3
  99. package/dist/cjs/ion-refresher_2.cjs.entry.js +6 -5
  100. package/dist/cjs/ion-reorder_2.cjs.entry.js +2 -2
  101. package/dist/cjs/ion-ripple-effect.cjs.entry.js +1 -1
  102. package/dist/cjs/ion-route_4.cjs.entry.js +2 -2
  103. package/dist/cjs/ion-searchbar.cjs.entry.js +5 -5
  104. package/dist/cjs/ion-segment-content.cjs.entry.js +1 -1
  105. package/dist/cjs/ion-segment-view.cjs.entry.js +2 -2
  106. package/dist/cjs/ion-segment_2.cjs.entry.js +4 -4
  107. package/dist/cjs/ion-select-modal.cjs.entry.js +84 -30
  108. package/dist/cjs/ion-select_3.cjs.entry.js +407 -49
  109. package/dist/cjs/ion-spinner.cjs.entry.js +1 -1
  110. package/dist/cjs/ion-split-pane.cjs.entry.js +2 -2
  111. package/dist/cjs/ion-tab-bar_2.cjs.entry.js +4 -4
  112. package/dist/cjs/ion-tab_2.cjs.entry.js +3 -3
  113. package/dist/cjs/ion-text.cjs.entry.js +2 -2
  114. package/dist/cjs/ion-textarea.cjs.entry.js +2 -2
  115. package/dist/cjs/ion-toast.cjs.entry.js +6 -5
  116. package/dist/cjs/ion-toggle.cjs.entry.js +3 -3
  117. package/dist/cjs/ionic.cjs.js +1 -1
  118. package/dist/cjs/loader.cjs.js +1 -1
  119. package/dist/cjs/overlay-control-label-D2sdL2O8.js +50 -0
  120. package/dist/cjs/{overlays-B9WEMRRo.js → overlays-DSmSrd_4.js} +27 -33
  121. package/dist/cjs/select-option-render-DTF50t5r.js +124 -0
  122. package/dist/collection/collection-manifest.json +6 -10
  123. package/dist/collection/components/action-sheet/action-sheet.ios.css +229 -2
  124. package/dist/collection/components/action-sheet/action-sheet.js +24 -5
  125. package/dist/collection/components/action-sheet/action-sheet.md.css +175 -2
  126. package/dist/collection/components/alert/alert.ios.css +280 -10
  127. package/dist/collection/components/alert/alert.js +59 -21
  128. package/dist/collection/components/alert/alert.md.css +269 -20
  129. package/dist/collection/components/datetime/datetime.ios.css +42 -2
  130. package/dist/collection/components/datetime/datetime.js +10 -17
  131. package/dist/collection/components/datetime/datetime.md.css +42 -1
  132. package/dist/collection/components/datetime-button/datetime-button.ios.css +5 -0
  133. package/dist/collection/components/datetime-button/datetime-button.js +3 -10
  134. package/dist/collection/components/datetime-button/datetime-button.md.css +5 -0
  135. package/dist/collection/components/input/input.js +8 -8
  136. package/dist/collection/components/loading/loading.js +7 -3
  137. package/dist/collection/components/modal/modal.js +23 -24
  138. package/dist/collection/components/picker-column/picker-column.css +3 -0
  139. package/dist/collection/components/picker-column/picker-column.js +4 -11
  140. package/dist/collection/components/picker-column-option/picker-column-option.js +3 -10
  141. package/dist/collection/components/picker-column-option/picker-column-option.md.css +6 -1
  142. package/dist/collection/components/popover/popover.ios.css +15 -0
  143. package/dist/collection/components/popover/popover.js +7 -3
  144. package/dist/collection/components/popover/popover.md.css +15 -0
  145. package/dist/collection/components/progress-bar/progress-bar.js +1 -1
  146. package/dist/collection/components/radio/radio.js +4 -4
  147. package/dist/collection/components/range/range.js +3 -3
  148. package/dist/collection/components/refresher/refresher.js +1 -1
  149. package/dist/collection/components/refresher-content/refresher-content.js +1 -1
  150. package/dist/collection/components/reorder/reorder.js +1 -1
  151. package/dist/collection/components/reorder-group/reorder-group.js +1 -1
  152. package/dist/collection/components/ripple-effect/ripple-effect.js +1 -1
  153. package/dist/collection/components/router-link/router-link.js +2 -2
  154. package/dist/collection/components/router-outlet/router-outlet.js +38 -5
  155. package/dist/collection/components/row/row.js +1 -1
  156. package/dist/collection/components/searchbar/searchbar.js +9 -9
  157. package/dist/collection/components/segment/segment.js +2 -2
  158. package/dist/collection/components/segment-button/segment-button.js +2 -2
  159. package/dist/collection/components/segment-content/segment-content.js +1 -1
  160. package/dist/collection/components/segment-view/segment-view.js +2 -2
  161. package/dist/collection/components/select/select.ios.css +33 -0
  162. package/dist/collection/components/select/select.js +323 -16
  163. package/dist/collection/components/select/select.md.css +33 -0
  164. package/dist/collection/components/select-modal/select-modal.ios.css +219 -0
  165. package/dist/collection/components/select-modal/select-modal.js +79 -26
  166. package/dist/collection/components/select-modal/select-modal.md.css +165 -0
  167. package/dist/collection/components/select-option/select-option.js +67 -3
  168. package/dist/collection/components/select-popover/select-popover.ios.css +219 -0
  169. package/dist/collection/components/select-popover/select-popover.js +78 -26
  170. package/dist/collection/components/select-popover/select-popover.md.css +165 -0
  171. package/dist/collection/components/skeleton-text/skeleton-text.js +2 -2
  172. package/dist/collection/components/spinner/spinner.js +1 -1
  173. package/dist/collection/components/split-pane/split-pane.js +2 -2
  174. package/dist/collection/components/tab/tab.js +2 -2
  175. package/dist/collection/components/tab-bar/tab-bar.js +2 -2
  176. package/dist/collection/components/tab-button/tab-button.js +2 -2
  177. package/dist/collection/components/tabs/tabs.js +1 -1
  178. package/dist/collection/components/text/text.js +2 -2
  179. package/dist/collection/components/textarea/textarea.js +2 -2
  180. package/dist/collection/components/thumbnail/thumbnail.js +1 -1
  181. package/dist/collection/components/title/title.js +2 -2
  182. package/dist/collection/components/toast/toast.js +2 -2
  183. package/dist/collection/components/toggle/toggle.js +3 -3
  184. package/dist/collection/components/toolbar/toolbar.js +2 -2
  185. package/dist/collection/index.js +1 -1
  186. package/dist/collection/utils/overlay-control-label.js +45 -0
  187. package/dist/collection/utils/overlays.js +26 -32
  188. package/dist/collection/utils/sanitization/index.js +274 -18
  189. package/dist/collection/utils/select-option-render.js +119 -0
  190. package/dist/docs.json +440 -1160
  191. package/dist/esm/config-BwKpO3Is.js +31 -0
  192. package/dist/esm/{index-DV3sJJW8.js → index-AlrZKoWR.js} +1 -1
  193. package/dist/esm/index-DQSkZyOJ.js +424 -0
  194. package/dist/esm/index.js +3 -2
  195. package/dist/esm/ion-accordion_2.entry.js +1 -1
  196. package/dist/esm/ion-action-sheet.entry.js +27 -7
  197. package/dist/esm/ion-alert.entry.js +63 -24
  198. package/dist/esm/ion-app_8.entry.js +23 -9
  199. package/dist/esm/ion-avatar_3.entry.js +1 -1
  200. package/dist/esm/ion-back-button.entry.js +1 -1
  201. package/dist/esm/ion-breadcrumb_2.entry.js +1 -1
  202. package/dist/esm/ion-col_3.entry.js +1 -1
  203. package/dist/esm/ion-datetime-button.entry.js +4 -10
  204. package/dist/esm/{ion-datetime_3.entry.js → ion-datetime.entry.js} +16 -658
  205. package/dist/esm/ion-fab_3.entry.js +1 -1
  206. package/dist/esm/ion-infinite-scroll_2.entry.js +2 -1
  207. package/dist/esm/ion-input-password-toggle.entry.js +1 -1
  208. package/dist/esm/ion-input.entry.js +5 -5
  209. package/dist/esm/ion-item_8.entry.js +3 -3
  210. package/dist/esm/ion-loading.entry.js +9 -4
  211. package/dist/esm/ion-menu_3.entry.js +2 -2
  212. package/dist/esm/ion-modal.entry.js +21 -22
  213. package/dist/esm/ion-picker-column-option.entry.js +3 -9
  214. package/dist/esm/ion-picker-column.entry.js +4 -10
  215. package/dist/esm/ion-popover.entry.js +9 -5
  216. package/dist/esm/ion-progress-bar.entry.js +1 -1
  217. package/dist/esm/ion-radio_2.entry.js +3 -3
  218. package/dist/esm/ion-range.entry.js +3 -3
  219. package/dist/esm/ion-refresher_2.entry.js +5 -4
  220. package/dist/esm/ion-reorder_2.entry.js +3 -3
  221. package/dist/esm/ion-ripple-effect.entry.js +1 -1
  222. package/dist/esm/ion-route_4.entry.js +2 -2
  223. package/dist/esm/ion-searchbar.entry.js +6 -6
  224. package/dist/esm/ion-segment-content.entry.js +1 -1
  225. package/dist/esm/ion-segment-view.entry.js +2 -2
  226. package/dist/esm/ion-segment_2.entry.js +4 -4
  227. package/dist/esm/ion-select-modal.entry.js +84 -30
  228. package/dist/esm/ion-select_3.entry.js +410 -52
  229. package/dist/esm/ion-spinner.entry.js +1 -1
  230. package/dist/esm/ion-split-pane.entry.js +2 -2
  231. package/dist/esm/ion-tab-bar_2.entry.js +4 -4
  232. package/dist/esm/ion-tab_2.entry.js +3 -3
  233. package/dist/esm/ion-text.entry.js +2 -2
  234. package/dist/esm/ion-textarea.entry.js +2 -2
  235. package/dist/esm/ion-toast.entry.js +5 -4
  236. package/dist/esm/ion-toggle.entry.js +4 -4
  237. package/dist/esm/ionic.js +1 -1
  238. package/dist/esm/loader.js +1 -1
  239. package/dist/esm/overlay-control-label-BSQPZ79H.js +47 -0
  240. package/dist/esm/{overlays--4JLDr6C.js → overlays-DLNOHWNc.js} +28 -34
  241. package/dist/esm/select-option-render-B8nWZRnd.js +122 -0
  242. package/dist/html.html-data.json +51 -79
  243. package/dist/ionic/index.esm.js +1 -1
  244. package/dist/ionic/ionic.esm.js +1 -1
  245. package/dist/ionic/p-038eb991.entry.js +4 -0
  246. package/dist/ionic/{p-8fce95d5.entry.js → p-14095ba5.entry.js} +1 -1
  247. package/dist/ionic/p-17827b13.entry.js +4 -0
  248. package/dist/ionic/p-1ebe2739.entry.js +4 -0
  249. package/dist/ionic/{p-3a126bca.entry.js → p-259d0d98.entry.js} +1 -1
  250. package/dist/ionic/{p-fabcce6c.entry.js → p-341032b3.entry.js} +1 -1
  251. package/dist/ionic/{p-3a7d1e91.entry.js → p-4502a274.entry.js} +1 -1
  252. package/dist/ionic/p-4621c387.entry.js +4 -0
  253. package/dist/ionic/p-4ace7762.entry.js +4 -0
  254. package/dist/ionic/p-4bb3eb60.entry.js +4 -0
  255. package/dist/ionic/p-4e9ec5c5.entry.js +4 -0
  256. package/dist/ionic/{p-874b4bd8.entry.js → p-51cd1643.entry.js} +1 -1
  257. package/dist/ionic/p-5c3ec490.entry.js +4 -0
  258. package/dist/ionic/p-5d1ac2c7.entry.js +4 -0
  259. package/dist/ionic/{p-3ae5f277.entry.js → p-627fabd9.entry.js} +1 -1
  260. package/dist/ionic/{p-e0be05c5.entry.js → p-629e4703.entry.js} +1 -1
  261. package/dist/ionic/{p-5d1da0a2.entry.js → p-76e92a84.entry.js} +1 -1
  262. package/dist/ionic/p-79a36078.entry.js +4 -0
  263. package/dist/ionic/{p-9f1103ce.entry.js → p-7a37b3ce.entry.js} +1 -1
  264. package/dist/ionic/{p-3353c229.entry.js → p-80b44b3c.entry.js} +1 -1
  265. package/dist/ionic/p-8b3a64a5.entry.js +4 -0
  266. package/dist/ionic/p-913b218a.entry.js +4 -0
  267. package/dist/ionic/{p-390ca786.entry.js → p-9177f4ac.entry.js} +1 -1
  268. package/dist/ionic/p-93a7e5a1.entry.js +4 -0
  269. package/dist/ionic/{p-DV3sJJW8.js → p-AlrZKoWR.js} +1 -1
  270. package/dist/ionic/p-BDtODLZ4.js +4 -0
  271. package/dist/ionic/p-BSQPZ79H.js +4 -0
  272. package/dist/ionic/p-BwKpO3Is.js +4 -0
  273. package/dist/ionic/p-Cg5-OQYy.js +4 -0
  274. package/dist/ionic/p-DCOvXkOm.js +4 -0
  275. package/dist/ionic/{p-4858af1f.entry.js → p-a5213260.entry.js} +1 -1
  276. package/dist/ionic/{p-37e720da.entry.js → p-a7628bc7.entry.js} +1 -1
  277. package/dist/ionic/p-a9a33367.entry.js +4 -0
  278. package/dist/ionic/p-ad728198.entry.js +4 -0
  279. package/dist/ionic/{p-ef4c3bee.entry.js → p-b1599fca.entry.js} +1 -1
  280. package/dist/ionic/{p-84d5ce05.entry.js → p-b9ac1fe0.entry.js} +1 -1
  281. package/dist/ionic/p-bfc8c629.entry.js +4 -0
  282. package/dist/ionic/p-c08e666a.entry.js +4 -0
  283. package/dist/ionic/{p-a6ad9c29.entry.js → p-c93553d2.entry.js} +1 -1
  284. package/dist/ionic/p-ce7992c4.entry.js +4 -0
  285. package/dist/ionic/{p-75dc25ba.entry.js → p-d2c7f046.entry.js} +1 -1
  286. package/dist/ionic/{p-c4d8641b.entry.js → p-d8387b99.entry.js} +1 -1
  287. package/dist/ionic/{p-9a65ac7f.entry.js → p-db1b6738.entry.js} +1 -1
  288. package/dist/ionic/p-ed797c72.entry.js +4 -0
  289. package/dist/ionic/{p-8eb8ee76.entry.js → p-ef93ca92.entry.js} +1 -1
  290. package/dist/ionic/p-f09f9642.entry.js +4 -0
  291. package/dist/ionic/p-f1c06f82.entry.js +4 -0
  292. package/dist/ionic/{p-0fa9c382.entry.js → p-fe4aa1db.entry.js} +1 -1
  293. package/dist/types/components/input/input.d.ts +1 -1
  294. package/dist/types/components/modal/modal.d.ts +11 -4
  295. package/dist/types/components/router-outlet/router-outlet.d.ts +7 -0
  296. package/dist/types/components/searchbar/searchbar.d.ts +1 -1
  297. package/dist/types/components/select/select-interface.d.ts +31 -0
  298. package/dist/types/components/select/select.d.ts +18 -0
  299. package/dist/types/components/select-option/select-option.d.ts +42 -1
  300. package/dist/types/components.d.ts +60 -296
  301. package/dist/types/index.d.ts +1 -1
  302. package/dist/types/interface.d.ts +0 -1
  303. package/dist/types/utils/config.d.ts +0 -8
  304. package/dist/types/utils/overlay-control-label.d.ts +32 -0
  305. package/dist/types/utils/overlays.d.ts +11 -9
  306. package/dist/types/utils/sanitization/index.d.ts +58 -2
  307. package/dist/types/utils/select-option-render.d.ts +53 -0
  308. package/hydrate/index.js +1416 -1219
  309. package/hydrate/index.mjs +1416 -1219
  310. package/package.json +37 -5
  311. package/components/ion-picker-legacy-column.d.ts +0 -11
  312. package/components/ion-picker-legacy-column.js +0 -4
  313. package/components/ion-picker-legacy.d.ts +0 -11
  314. package/components/ion-picker-legacy.js +0 -4
  315. package/components/p-BI99_O7M.js +0 -4
  316. package/components/p-BeaZQGdD.js +0 -4
  317. package/components/p-BhiHTRHr.js +0 -4
  318. package/components/p-BjfgFSSR.js +0 -4
  319. package/components/p-BsPelv04.js +0 -4
  320. package/components/p-CU5rbWAW.js +0 -4
  321. package/components/p-Cg0yUncF.js +0 -4
  322. package/components/p-CiZjmDRO.js +0 -4
  323. package/components/p-CoDFQCkp.js +0 -4
  324. package/components/p-DfAYowgb.js +0 -4
  325. package/components/p-k_E4tX5Z.js +0 -4
  326. package/dist/cjs/config-xninhj0J.js +0 -201
  327. package/dist/collection/components/picker-legacy/animations/ios.enter.js +0 -27
  328. package/dist/collection/components/picker-legacy/animations/ios.leave.js +0 -23
  329. package/dist/collection/components/picker-legacy/picker-interface.js +0 -1
  330. package/dist/collection/components/picker-legacy/picker.ios.css +0 -300
  331. package/dist/collection/components/picker-legacy/picker.js +0 -890
  332. package/dist/collection/components/picker-legacy/picker.md.css +0 -287
  333. package/dist/collection/components/picker-legacy-column/picker-column.ios.css +0 -231
  334. package/dist/collection/components/picker-legacy-column/picker-column.js +0 -422
  335. package/dist/collection/components/picker-legacy-column/picker-column.md.css +0 -222
  336. package/dist/collection/components/picker-legacy-column/test/test.utils.js +0 -43
  337. package/dist/esm/config-DQCONYYp.js +0 -195
  338. package/dist/ionic/p-01f81ea5.entry.js +0 -4
  339. package/dist/ionic/p-06c232a4.entry.js +0 -4
  340. package/dist/ionic/p-20b1a044.entry.js +0 -4
  341. package/dist/ionic/p-21eb76d5.entry.js +0 -4
  342. package/dist/ionic/p-27d30585.entry.js +0 -4
  343. package/dist/ionic/p-28df2088.entry.js +0 -4
  344. package/dist/ionic/p-2bb2cb18.entry.js +0 -4
  345. package/dist/ionic/p-485fda23.entry.js +0 -4
  346. package/dist/ionic/p-4baa5b82.entry.js +0 -4
  347. package/dist/ionic/p-57e31cc8.entry.js +0 -4
  348. package/dist/ionic/p-766bbdff.entry.js +0 -4
  349. package/dist/ionic/p-8b4e6e7f.entry.js +0 -4
  350. package/dist/ionic/p-DzWaWHGc.js +0 -4
  351. package/dist/ionic/p-Dzyqeklk.js +0 -4
  352. package/dist/ionic/p-a21add2f.entry.js +0 -4
  353. package/dist/ionic/p-aa56131f.entry.js +0 -4
  354. package/dist/ionic/p-b580c366.entry.js +0 -4
  355. package/dist/ionic/p-badb48f9.entry.js +0 -4
  356. package/dist/ionic/p-c0fb8edd.entry.js +0 -4
  357. package/dist/ionic/p-c38b648e.entry.js +0 -4
  358. package/dist/ionic/p-c8739c33.entry.js +0 -4
  359. package/dist/ionic/p-e930122a.entry.js +0 -4
  360. package/dist/ionic/p-ec090e0a.entry.js +0 -4
  361. package/dist/types/components/picker-legacy/animations/ios.enter.d.ts +0 -5
  362. package/dist/types/components/picker-legacy/animations/ios.leave.d.ts +0 -5
  363. package/dist/types/components/picker-legacy/picker-interface.d.ts +0 -52
  364. package/dist/types/components/picker-legacy/picker.d.ts +0 -158
  365. package/dist/types/components/picker-legacy-column/picker-column.d.ts +0 -46
  366. package/dist/types/components/picker-legacy-column/test/test.utils.d.ts +0 -9
@@ -23,12 +23,6 @@ export class DatetimeButton {
23
23
  this.overlayEl = null;
24
24
  this.datetimePresentation = 'date-time';
25
25
  this.datetimeActive = false;
26
- /**
27
- * The color to use from your application's color palette.
28
- * Default options are: `"primary"`, `"secondary"`, `"tertiary"`, `"success"`, `"warning"`, `"danger"`, `"light"`, `"medium"`, and `"dark"`.
29
- * For more information on colors, see [theming](/docs/theming/basics).
30
- */
31
- this.color = 'primary';
32
26
  /**
33
27
  * If `true`, the user cannot interact with the button.
34
28
  */
@@ -342,11 +336,11 @@ export class DatetimeButton {
342
336
  render() {
343
337
  const { color, dateText, timeText, selectedButton, datetimeActive, disabled } = this;
344
338
  const mode = getIonMode(this);
345
- return (h(Host, { key: 'c28e5e428111f18eaceb030dca8aba5579867eaa', class: createColorClasses(color, {
339
+ return (h(Host, { key: '2aaa284fe9b53b6347fcb5a1d325fbab1a6f38bd', class: createColorClasses(color, {
346
340
  [mode]: true,
347
341
  [`${selectedButton}-active`]: datetimeActive,
348
342
  ['datetime-button-disabled']: disabled,
349
- }) }, dateText && (h("button", { key: 'a08f41b3150ef7171d0f1d9b3d69b51be67b7b84', class: "ion-activatable", id: "date-button", "aria-expanded": datetimeActive ? 'true' : 'false', onClick: this.handleDateClick, disabled: disabled, part: "native", ref: (el) => (this.dateTargetEl = el) }, h("slot", { key: '35ee68ca1cea59f03e1b59b72606e618141c8e1f', name: "date-target" }, dateText), mode === 'md' && h("ion-ripple-effect", { key: '4be53227aaf0acd20e8ebbff9f645140e8a96f33' }))), timeText && (h("button", { key: 'ab500f9b78f8c194180073eaf7325041adbd02f7', class: "ion-activatable", id: "time-button", "aria-expanded": datetimeActive ? 'true' : 'false', onClick: this.handleTimeClick, disabled: disabled, part: "native", ref: (el) => (this.timeTargetEl = el) }, h("slot", { key: '5822486dfdedba6c071a0f5233cc06f8321a1f5d', name: "time-target" }, timeText), mode === 'md' && h("ion-ripple-effect", { key: '054a4acb811a98cc6d9bb6a3cf51232a1f09b0ea' })))));
343
+ }) }, dateText && (h("button", { key: 'd9698471fa5d5c834ca73db57f9ed98dfc705b4c', class: "ion-activatable", id: "date-button", "aria-expanded": datetimeActive ? 'true' : 'false', onClick: this.handleDateClick, disabled: disabled, part: "native", ref: (el) => (this.dateTargetEl = el) }, h("slot", { key: 'c8761a7f25ae5b93c953b3486dd6335f5ad4fd53', name: "date-target" }, dateText), mode === 'md' && h("ion-ripple-effect", { key: '3dd5e97af8d35a2b008de4ab01f690b3c2223135' }))), timeText && (h("button", { key: '1107ca2382940b642b551f885f7ca763012c236c', class: "ion-activatable", id: "time-button", "aria-expanded": datetimeActive ? 'true' : 'false', onClick: this.handleTimeClick, disabled: disabled, part: "native", ref: (el) => (this.timeTargetEl = el) }, h("slot", { key: '5cff53e486923b03715b9ab4dc0947e26f4ea1d9', name: "time-target" }, timeText), mode === 'md' && h("ion-ripple-effect", { key: '5aac1facb6fc7457307c4f59a241e3a5b31facc8' })))));
350
344
  }
351
345
  static get is() { return "ion-datetime-button"; }
352
346
  static get encapsulation() { return "shadow"; }
@@ -388,8 +382,7 @@ export class DatetimeButton {
388
382
  "getter": false,
389
383
  "setter": false,
390
384
  "reflect": true,
391
- "attribute": "color",
392
- "defaultValue": "'primary'"
385
+ "attribute": "color"
393
386
  },
394
387
  "disabled": {
395
388
  "type": "boolean",
@@ -82,6 +82,11 @@
82
82
 
83
83
  :host(.time-active) #time-button,
84
84
  :host(.date-active) #date-button {
85
+ color: var(--ion-color-primary, #0054e9);
86
+ }
87
+
88
+ :host(.ion-color.time-active) #time-button,
89
+ :host(.ion-color.date-active) #date-button {
85
90
  color: var(--ion-color-base);
86
91
  }
87
92
 
@@ -56,7 +56,7 @@ export class Input {
56
56
  /**
57
57
  * Whether auto correction should be enabled when the user is entering/editing the text value.
58
58
  */
59
- this.autocorrect = 'off';
59
+ this.autocorrect = false;
60
60
  /**
61
61
  * Sets the [`autofocus` attribute](https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/autofocus) on the native input element.
62
62
  *
@@ -540,7 +540,7 @@ export class Input {
540
540
  * TODO(FW-5592): Remove hasStartEndSlots condition
541
541
  */
542
542
  const labelShouldFloat = labelPlacement === 'stacked' || (labelPlacement === 'floating' && (hasValue || hasFocus || hasStartEndSlots));
543
- return (h(Host, { key: '9ba9cf425b573d2ca9ac34455a0e6b8474c4de6d', class: createColorClasses(this.color, {
543
+ return (h(Host, { key: '6a05f61339d8045285d5820c2508296cc842c210', class: createColorClasses(this.color, {
544
544
  [mode]: true,
545
545
  'has-value': hasValue,
546
546
  'has-focus': hasFocus,
@@ -551,14 +551,14 @@ export class Input {
551
551
  'in-item': inItem,
552
552
  'in-item-color': hostContext('ion-item.ion-color', this.el),
553
553
  'input-disabled': disabled,
554
- }) }, h("label", { key: '74b989d0aa5ab38f29f952519868f05119df6005', class: "input-wrapper", htmlFor: inputId, onClick: this.onLabelClick }, this.renderLabelContainer(), h("div", { key: '47f2b42e2f74ea866b4f871026e08ab375d7a726', class: "native-wrapper", onClick: this.onLabelClick }, h("slot", { key: 'eaabe5a4a329a356cac3294d15c087d0d131fff2', name: "start" }), h("input", Object.assign({ key: 'c821a984a8a9b7f96f30892c06d8deda093ff24b', class: "native-input", ref: (input) => (this.nativeInput = input), id: inputId, disabled: disabled, autoCapitalize: this.autocapitalize, autoComplete: this.autocomplete, autoCorrect: this.autocorrect, autoFocus: this.autofocus, enterKeyHint: this.enterkeyhint, inputMode: this.inputmode, min: this.min, max: this.max, minLength: this.minlength, maxLength: this.maxlength, multiple: this.multiple, name: this.name, pattern: this.pattern, placeholder: this.placeholder || '', readOnly: readonly, required: this.required, spellcheck: this.spellcheck, step: this.step, type: this.type, value: value, onInput: this.onInput, onChange: this.onChange, onBlur: this.onBlur, onFocus: this.onFocus, onKeyDown: this.onKeydown, onCompositionstart: this.onCompositionStart, onCompositionend: this.onCompositionEnd, "aria-describedby": this.getHintTextID(), "aria-invalid": this.isInvalid ? 'true' : undefined, "aria-labelledby": this.getLabelledById() }, this.inheritedAttributes)), this.clearInput && !readonly && !disabled && (h("button", { key: '62069c11016ee190dc46ab941372e1c4ad8a36ed', "aria-label": "reset", type: "button", class: "input-clear-icon", onPointerDown: (ev) => {
554
+ }) }, h("label", { key: 'b546d66f53ea25082494e3a4cb0ce7532ee649d7', class: "input-wrapper", htmlFor: inputId, onClick: this.onLabelClick }, this.renderLabelContainer(), h("div", { key: '6af832f2b25fadee7a49adb999166dbc97565e2d', class: "native-wrapper", onClick: this.onLabelClick }, h("slot", { key: 'e7a8895038a8d2503f646acfda20c6c1a99c2839', name: "start" }), h("input", Object.assign({ key: 'ce85703e0434a6322bb4275a924e3cd91c79fa20', class: "native-input", ref: (input) => (this.nativeInput = input), id: inputId, disabled: disabled, autoCapitalize: this.autocapitalize, autoComplete: this.autocomplete, autoCorrect: this.autocorrect ? 'on' : 'off', autoFocus: this.autofocus, enterKeyHint: this.enterkeyhint, inputMode: this.inputmode, min: this.min, max: this.max, minLength: this.minlength, maxLength: this.maxlength, multiple: this.multiple, name: this.name, pattern: this.pattern, placeholder: this.placeholder || '', readOnly: readonly, required: this.required, spellcheck: this.spellcheck, step: this.step, type: this.type, value: value, onInput: this.onInput, onChange: this.onChange, onBlur: this.onBlur, onFocus: this.onFocus, onKeyDown: this.onKeydown, onCompositionstart: this.onCompositionStart, onCompositionend: this.onCompositionEnd, "aria-describedby": this.getHintTextID(), "aria-invalid": this.isInvalid ? 'true' : undefined, "aria-labelledby": this.getLabelledById() }, this.inheritedAttributes)), this.clearInput && !readonly && !disabled && (h("button", { key: '1e59589fc89a37d7830dc915b4c19d26a8f568c7', "aria-label": "reset", type: "button", class: "input-clear-icon", onPointerDown: (ev) => {
555
555
  /**
556
556
  * This prevents mobile browsers from
557
557
  * blurring the input when the clear
558
558
  * button is activated.
559
559
  */
560
560
  ev.preventDefault();
561
- }, onClick: this.clearTextInput }, h("ion-icon", { key: 'dd75a516d32110d85382b664c663bd41f177ce12', "aria-hidden": "true", icon: clearIconData }))), h("slot", { key: '330d4b9389f2c62223a5ee24003e96ef3e6b2473', name: "end" })), shouldRenderHighlight && h("div", { key: '8e442bed130ddc84976ab70fd3f8578d6bcc6316', class: "input-highlight" })), this.renderBottomContent()));
561
+ }, onClick: this.clearTextInput }, h("ion-icon", { key: '7d443c5061bf6436d3b77a2444676c679b3e62e4', "aria-hidden": "true", icon: clearIconData }))), h("slot", { key: '5516f88d46886348217570ec1fadda0b79b63c01', name: "end" })), shouldRenderHighlight && h("div", { key: '2a1fdb7e7c974654dfbb3afb4fbfd9204e9d9092', class: "input-highlight" })), this.renderBottomContent()));
562
562
  }
563
563
  static get is() { return "ion-input"; }
564
564
  static get encapsulation() { return "scoped"; }
@@ -650,11 +650,11 @@ export class Input {
650
650
  "defaultValue": "'off'"
651
651
  },
652
652
  "autocorrect": {
653
- "type": "string",
653
+ "type": "boolean",
654
654
  "mutable": false,
655
655
  "complexType": {
656
- "original": "'on' | 'off'",
657
- "resolved": "\"off\" | \"on\"",
656
+ "original": "boolean",
657
+ "resolved": "boolean",
658
658
  "references": {}
659
659
  },
660
660
  "required": false,
@@ -667,7 +667,7 @@ export class Input {
667
667
  "setter": false,
668
668
  "reflect": false,
669
669
  "attribute": "autocorrect",
670
- "defaultValue": "'off'"
670
+ "defaultValue": "false"
671
671
  },
672
672
  "autofocus": {
673
673
  "type": "boolean",
@@ -5,7 +5,7 @@ import { Host, h } from "@stencil/core";
5
5
  import { ENABLE_HTML_CONTENT_DEFAULT } from "../../utils/config";
6
6
  import { raf } from "../../utils/helpers";
7
7
  import { createLockController } from "../../utils/lock-controller";
8
- import { BACKDROP, dismiss, eventMethod, prepareOverlay, present, createDelegateController, createTriggerController, setOverlayId, } from "../../utils/overlays";
8
+ import { BACKDROP, cleanupRootFocusTrapAccessibility, createDelegateController, createTriggerController, dismiss, eventMethod, prepareOverlay, present, setOverlayId, } from "../../utils/overlays";
9
9
  import { sanitizeDOMString } from "../../utils/sanitization/index";
10
10
  import { getClassMap } from "../../utils/theme";
11
11
  import { config } from "../../global/config";
@@ -114,6 +114,10 @@ export class Loading {
114
114
  }
115
115
  disconnectedCallback() {
116
116
  this.triggerController.removeClickListener();
117
+ // Clean up aria-hidden if removed without dismiss() being called
118
+ if (this.presented) {
119
+ cleanupRootFocusTrapAccessibility();
120
+ }
117
121
  }
118
122
  /**
119
123
  * Present the loading overlay after it has been created.
@@ -179,9 +183,9 @@ export class Loading {
179
183
  * Otherwise, don't set aria-labelledby.
180
184
  */
181
185
  const ariaLabelledBy = message !== undefined ? msgId : null;
182
- return (h(Host, Object.assign({ key: 'f86ddbc600cb5c396b7de38fb5f49625388c3c3f', role: "dialog", "aria-modal": "true", "aria-labelledby": ariaLabelledBy, tabindex: "-1" }, htmlAttributes, { style: {
186
+ return (h(Host, Object.assign({ key: 'ab48bfcee8f7e3e33847a2f262fdc08b9ea804ca', role: "dialog", "aria-modal": "true", "aria-labelledby": ariaLabelledBy, tabindex: "-1" }, htmlAttributes, { style: {
183
187
  zIndex: `${40000 + this.overlayIndex}`,
184
- }, onIonBackdropTap: this.onBackdropTap, class: Object.assign(Object.assign({}, getClassMap(this.cssClass)), { [mode]: true, 'overlay-hidden': true, 'loading-translucent': this.translucent }) }), h("ion-backdrop", { key: 'b53727aaddc37ef3c685fcc150c6d5193290a847', visible: this.showBackdrop, tappable: this.backdropDismiss }), h("div", { key: '4c61bede8e0a4e47daa6f1f9d0f364ef6aec0bc3', tabindex: "0", "aria-hidden": "true" }), h("div", { key: '84e51ceb07118f1eaeb757df28801c255496931b', class: "loading-wrapper ion-overlay-wrapper" }, spinner && (h("div", { key: 'fc97f1912e0fc558b7c309a5bc084415f5f620b2', class: "loading-spinner" }, h("ion-spinner", { key: '6e186d856cd3f10f22c3e317ef00f31b4216459c', name: spinner, "aria-hidden": "true" }))), message !== undefined && this.renderLoadingMessage(msgId)), h("div", { key: 'dcbe9d9a619daa1c08174e73827bdabeb59dde92', tabindex: "0", "aria-hidden": "true" })));
188
+ }, onIonBackdropTap: this.onBackdropTap, class: Object.assign(Object.assign({}, getClassMap(this.cssClass)), { [mode]: true, 'overlay-hidden': true, 'loading-translucent': this.translucent }) }), h("ion-backdrop", { key: '41baccc7fb6474389a3a3431c208e829ef738b75', visible: this.showBackdrop, tappable: this.backdropDismiss }), h("div", { key: '7b7290974abbe8db8739b19835aca9f8b5c271c2', tabindex: "0", "aria-hidden": "true" }), h("div", { key: 'e32466abfcc92aaad47ea03b1dcb49f66abe4b63', class: "loading-wrapper ion-overlay-wrapper" }, spinner && (h("div", { key: 'c5e6e6f9e3f39dba0225d08d7dd2c1b96a1d83c7', class: "loading-spinner" }, h("ion-spinner", { key: 'f428038959d879404ea898011363aac0b807ad11', name: spinner, "aria-hidden": "true" }))), message !== undefined && this.renderLoadingMessage(msgId)), h("div", { key: '490e531367b86c319fa4260722dcff4dd631fa88', tabindex: "0", "aria-hidden": "true" })));
185
189
  }
186
190
  static get is() { return "ion-loading"; }
187
191
  static get encapsulation() { return "scoped"; }
@@ -8,7 +8,7 @@ import { raf, inheritAttributes, hasLazyBuild, getElementRoot } from "../../util
8
8
  import { createLockController } from "../../utils/lock-controller";
9
9
  import { printIonWarning } from "../../utils/logging/index";
10
10
  import { Style as StatusBarStyle, StatusBar } from "../../utils/native/status-bar";
11
- import { GESTURE, BACKDROP, dismiss, eventMethod, prepareOverlay, present, createTriggerController, setOverlayId, FOCUS_TRAP_DISABLE_CLASS, } from "../../utils/overlays";
11
+ import { BACKDROP, cleanupRootFocusTrapAccessibility, createTriggerController, dismiss, eventMethod, FOCUS_TRAP_DISABLE_CLASS, GESTURE, prepareOverlay, present, setOverlayId, } from "../../utils/overlays";
12
12
  import { getClassMap } from "../../utils/theme";
13
13
  import { deepReady, waitForMount } from "../../utils/transition/index";
14
14
  import { config } from "../../global/config";
@@ -77,13 +77,20 @@ export class Modal {
77
77
  /**
78
78
  * The interaction behavior for the sheet modal when the handle is pressed.
79
79
  *
80
- * Defaults to `"none"`, which means the modal will not change size or position when the handle is pressed.
81
- * Set to `"cycle"` to let the modal cycle between available breakpoints when pressed.
80
+ * Handle behavior is unavailable when the `handle` property is set to
81
+ * `false` or when the `breakpoints` property is not set (using a
82
+ * fullscreen or card modal).
82
83
  *
83
- * Handle behavior is unavailable when the `handle` property is set to `false` or
84
- * when the `breakpoints` property is not set (using a fullscreen or card modal).
84
+ * Set to `"cycle"` to make the handle focusable and let the sheet modal
85
+ * cycle between available breakpoints when pressed. This keeps the sheet
86
+ * operable with assistive technology.
87
+ *
88
+ * Set to `"none"` to make the handle purely decorative when pressed and
89
+ * removed from the tab order.
90
+ *
91
+ * Defaults to `"cycle"`.
85
92
  */
86
- this.handleBehavior = 'none';
93
+ this.handleBehavior = 'cycle';
87
94
  /**
88
95
  * If `true`, the modal will be dismissed when the backdrop is clicked.
89
96
  */
@@ -275,6 +282,10 @@ export class Modal {
275
282
  // Also called in dismiss() — intentional dual cleanup covers both
276
283
  // dismiss-then-remove and direct DOM removal without dismiss.
277
284
  this.cleanupSafeAreaOverrides();
285
+ // Clean up aria-hidden if removed without dismiss() being called
286
+ if (this.presented) {
287
+ cleanupRootFocusTrapAccessibility();
288
+ }
278
289
  }
279
290
  componentWillLoad() {
280
291
  var _a;
@@ -1162,32 +1173,20 @@ export class Modal {
1162
1173
  const isCardModal = presentingElement !== undefined && mode === 'ios';
1163
1174
  const isHandleCycle = handleBehavior === 'cycle';
1164
1175
  const isSheetModalWithHandle = isSheetModal && showHandle;
1165
- return (h(Host, Object.assign({ key: 'ab93657f4a5b4c97168d292b398d975e4b5b4af4', "no-router": true,
1176
+ return (h(Host, Object.assign({ key: '528f9e354f470e22563938e7531e3f23a97e4200', "no-router": true,
1166
1177
  // Allow the modal to be navigable when the handle is focusable
1167
1178
  tabIndex: isHandleCycle && isSheetModalWithHandle ? 0 : -1 }, htmlAttributes, { style: {
1168
1179
  zIndex: `${20000 + this.overlayIndex}`,
1169
- }, class: Object.assign({ [mode]: true, ['modal-default']: !isCardModal && !isSheetModal, [`modal-card`]: isCardModal, [`modal-sheet`]: isSheetModal, [`modal-no-expand-scroll`]: isSheetModal && !expandToScroll, 'overlay-hidden': true, [FOCUS_TRAP_DISABLE_CLASS]: focusTrap === false }, getClassMap(this.cssClass)), onIonBackdropTap: this.onBackdropTap, onIonModalDidPresent: this.onLifecycle, onIonModalWillPresent: this.onLifecycle, onIonModalWillDismiss: this.onLifecycle, onIonModalDidDismiss: this.onLifecycle, onFocus: this.onModalFocus }), h("ion-backdrop", { key: '5ba6315c7c8c64fa04c62f85fd493da5275b2cbd', ref: (el) => (this.backdropEl = el), visible: this.showBackdrop, tappable: this.backdropDismiss, part: "backdrop" }), mode === 'ios' && h("div", { key: 'a76c48d41c67f86c18a7481e980e6925e614f85d', class: "modal-shadow" }), h("div", Object.assign({ key: '472beb0ea2c77ef91087e66f1c8af2be5eff04a7',
1180
+ }, class: Object.assign({ [mode]: true, ['modal-default']: !isCardModal && !isSheetModal, [`modal-card`]: isCardModal, [`modal-sheet`]: isSheetModal, [`modal-no-expand-scroll`]: isSheetModal && !expandToScroll, 'overlay-hidden': true, [FOCUS_TRAP_DISABLE_CLASS]: focusTrap === false }, getClassMap(this.cssClass)), onIonBackdropTap: this.onBackdropTap, onIonModalDidPresent: this.onLifecycle, onIonModalWillPresent: this.onLifecycle, onIonModalWillDismiss: this.onLifecycle, onIonModalDidDismiss: this.onLifecycle, onFocus: this.onModalFocus }), h("ion-backdrop", { key: '53983c96bc6b30df89986c8d9c978a8e6f78fe80', ref: (el) => (this.backdropEl = el), visible: this.showBackdrop, tappable: this.backdropDismiss, part: "backdrop" }), mode === 'ios' && h("div", { key: '34288a7343b7c47fed00d3abc73957f45f06d2fd', class: "modal-shadow" }), h("div", Object.assign({ key: 'f9b37f547bd5c61037bbad1a71bfed80ba8c630b',
1170
1181
  /*
1171
1182
  role and aria-modal must be used on the
1172
1183
  same element. They must also be set inside the
1173
1184
  shadow DOM otherwise ion-button will not be highlighted
1174
1185
  when using VoiceOver: https://bugs.webkit.org/show_bug.cgi?id=247134
1175
-
1176
- tabIndex={-1} makes this element (rather than the role-less
1177
- host) the thing that `present()` in overlays.ts focuses when
1178
- the modal opens, so assistive technologies get a focus target
1179
- that actually carries the dialog's role/label. It is not part
1180
- of the Tab order since -1 is never Tab-reachable.
1181
-
1182
- This is only applied to default modals. For sheet and iOS card
1183
- modals the wrapper doubles as the drag-gesture surface, and
1184
- leaving focus on that surface interferes with the pointer
1185
- gesture (most visibly on Firefox). Those modals keep focusing
1186
- the host as before.
1187
1186
  */
1188
- role: "dialog" }, inheritedAttributes, { "aria-modal": "true", tabIndex: !isCardModal && !isSheetModal ? -1 : undefined, class: "modal-wrapper ion-overlay-wrapper", part: "content", ref: (el) => (this.wrapperEl = el) }), showHandle && (h("button", { key: 'd5e46503ae98e86b9110ce5835fa326d2f762731', class: "modal-handle",
1187
+ role: "dialog" }, inheritedAttributes, { "aria-modal": "true", class: "modal-wrapper ion-overlay-wrapper", part: "content", ref: (el) => (this.wrapperEl = el) }), showHandle && (h("button", { key: 'b8741594108d3ea681ff41ff8f2241a4119578b1', class: "modal-handle",
1189
1188
  // Prevents the handle from receiving keyboard focus when it does not cycle
1190
- tabIndex: !isHandleCycle ? -1 : 0, "aria-label": "Activate to adjust the size of the dialog overlaying the screen", onClick: isHandleCycle ? this.onHandleClick : undefined, part: "handle", ref: (el) => (this.dragHandleEl = el) })), h("slot", { key: '8ec7c7c8bd214b3d1818cdaed3e5fc52a5b34bde', onSlotchange: this.onSlotChange }))));
1189
+ tabIndex: !isHandleCycle ? -1 : 0, "aria-label": "Activate to adjust the size of the dialog overlaying the screen", onClick: isHandleCycle ? this.onHandleClick : undefined, part: "handle", ref: (el) => (this.dragHandleEl = el) })), h("slot", { key: 'bcc7960fae3fed09076c704d08c3afc46caa0738', onSlotchange: this.onSlotChange }))));
1191
1190
  }
1192
1191
  static get is() { return "ion-modal"; }
1193
1192
  static get encapsulation() { return "shadow"; }
@@ -1459,13 +1458,13 @@ export class Modal {
1459
1458
  "optional": true,
1460
1459
  "docs": {
1461
1460
  "tags": [],
1462
- "text": "The interaction behavior for the sheet modal when the handle is pressed.\n\nDefaults to `\"none\"`, which means the modal will not change size or position when the handle is pressed.\nSet to `\"cycle\"` to let the modal cycle between available breakpoints when pressed.\n\nHandle behavior is unavailable when the `handle` property is set to `false` or\nwhen the `breakpoints` property is not set (using a fullscreen or card modal)."
1461
+ "text": "The interaction behavior for the sheet modal when the handle is pressed.\n\nHandle behavior is unavailable when the `handle` property is set to\n`false` or when the `breakpoints` property is not set (using a\nfullscreen or card modal).\n\nSet to `\"cycle\"` to make the handle focusable and let the sheet modal\ncycle between available breakpoints when pressed. This keeps the sheet\noperable with assistive technology.\n\nSet to `\"none\"` to make the handle purely decorative when pressed and\nremoved from the tab order.\n\nDefaults to `\"cycle\"`."
1463
1462
  },
1464
1463
  "getter": false,
1465
1464
  "setter": false,
1466
1465
  "reflect": false,
1467
1466
  "attribute": "handle-behavior",
1468
- "defaultValue": "'none'"
1467
+ "defaultValue": "'cycle'"
1469
1468
  },
1470
1469
  "component": {
1471
1470
  "type": "string",
@@ -223,6 +223,9 @@
223
223
  @media (any-hover: hover) {
224
224
  :host(:focus) .picker-opts {
225
225
  outline: none;
226
+ background: rgba(var(--ion-color-primary-rgb, 0, 84, 233), 0.2);
227
+ }
228
+ :host(.ion-color:focus) .picker-opts {
226
229
  background: rgba(var(--ion-color-base-rgb), 0.2);
227
230
  }
228
231
  }
@@ -26,12 +26,6 @@ export class PickerColumn {
26
26
  * If `true`, the user cannot interact with the picker.
27
27
  */
28
28
  this.disabled = false;
29
- /**
30
- * The color to use from your application's color palette.
31
- * Default options are: `"primary"`, `"secondary"`, `"tertiary"`, `"success"`, `"warning"`, `"danger"`, `"light"`, `"medium"`, and `"dark"`.
32
- * For more information on colors, see [theming](/docs/theming/basics).
33
- */
34
- this.color = 'primary';
35
29
  /**
36
30
  * If `true`, tapping the picker will
37
31
  * reveal a number input keyboard that lets
@@ -551,14 +545,14 @@ export class PickerColumn {
551
545
  render() {
552
546
  const { color, disabled, isActive, numericInput } = this;
553
547
  const mode = getIonMode(this);
554
- return (h(Host, { key: '234c96a501d7ac413b9b0ea56b33017681e25b40', class: createColorClasses(color, {
548
+ return (h(Host, { key: '78b46ad10d88ea1bb43ca8c36748767912f03224', class: createColorClasses(color, {
555
549
  [mode]: true,
556
550
  ['picker-column-active']: isActive,
557
551
  ['picker-column-numeric-input']: numericInput,
558
552
  ['picker-column-disabled']: disabled,
559
- }) }, h("slot", { key: '9dc15ea0601ddd2cb2e0a745e91e036a8bd96f8b', name: "prefix" }), h("div", { key: 'de4fe28ee4bc46b7c0420d6ab0df0e7809443da9', class: "picker-opts", ref: (el) => {
553
+ }) }, h("slot", { key: '761e501df77f7de896ffb3ebb99ebf88c5c3bf70', name: "prefix" }), h("div", { key: '9f4caaeef8ab704522a85f30876d371712f47c5c', class: "picker-opts", ref: (el) => {
560
554
  this.scrollEl = el;
561
- }, role: "slider", tabindex: this.disabled ? undefined : 0, "aria-label": this.ariaLabel, "aria-valuemin": 0, "aria-valuemax": 0, "aria-valuenow": 0, "aria-valuetext": this.getOptionValueText(this.activeItem), "aria-orientation": "vertical", onKeyDown: (ev) => this.onKeyDown(ev) }, h("div", { key: '5297617462cc30e9444039ae032d8bdf718349af', class: "picker-item-empty", "aria-hidden": "true" }, "\u00A0"), h("div", { key: '55ea39ef867bcb1a11a912d52ecd20cb886c5fb3', class: "picker-item-empty", "aria-hidden": "true" }, "\u00A0"), h("div", { key: '3496730ce6182ebfd33e0ee4bafc130feb575a31', class: "picker-item-empty", "aria-hidden": "true" }, "\u00A0"), h("slot", { key: '44c3628aa957d60f799dc7019f72fe8b676c7843' }), h("div", { key: '5a1809f6c949678a67e0d4b5bfe93ea335c0161d', class: "picker-item-empty", "aria-hidden": "true" }, "\u00A0"), h("div", { key: '98fd57f1c66dbaebc2db2dd5da142671b3159fd1', class: "picker-item-empty", "aria-hidden": "true" }, "\u00A0"), h("div", { key: '85590708abddfa885994e549deac64866fec938f', class: "picker-item-empty", "aria-hidden": "true" }, "\u00A0")), h("slot", { key: 'bb7e674f543696a80fcbfb1f68f2e975826898a6', name: "suffix" })));
555
+ }, role: "slider", tabindex: this.disabled ? undefined : 0, "aria-label": this.ariaLabel, "aria-valuemin": 0, "aria-valuemax": 0, "aria-valuenow": 0, "aria-valuetext": this.getOptionValueText(this.activeItem), "aria-orientation": "vertical", onKeyDown: (ev) => this.onKeyDown(ev) }, h("div", { key: '9d3533436aba6c61c93f65f84a077fba832194a0', class: "picker-item-empty", "aria-hidden": "true" }, "\u00A0"), h("div", { key: '3f18d3a47361f06f55321b65fdf5742a61722b26', class: "picker-item-empty", "aria-hidden": "true" }, "\u00A0"), h("div", { key: 'eac0d20ab8c533ef829875e323e93e1ee2067d6d', class: "picker-item-empty", "aria-hidden": "true" }, "\u00A0"), h("slot", { key: '92e25989ef41cf6f910c73238e1a0a5ac03f1c1f' }), h("div", { key: '33a84644ebdc84108b44a8e3a129b54e824939c8', class: "picker-item-empty", "aria-hidden": "true" }, "\u00A0"), h("div", { key: '128ad61a3a68c7ff2d2e44a6e968424fcc608a15', class: "picker-item-empty", "aria-hidden": "true" }, "\u00A0"), h("div", { key: '6e4d59a4f75befcbbf47279a263f28a69b12dbbd', class: "picker-item-empty", "aria-hidden": "true" }, "\u00A0")), h("slot", { key: '3c6621b64438792a3024c90e3d9916a0a3614506', name: "suffix" })));
562
556
  }
563
557
  static get is() { return "ion-picker-column"; }
564
558
  static get encapsulation() { return "shadow"; }
@@ -637,8 +631,7 @@ export class PickerColumn {
637
631
  "getter": false,
638
632
  "setter": false,
639
633
  "reflect": true,
640
- "attribute": "color",
641
- "defaultValue": "'primary'"
634
+ "attribute": "color"
642
635
  },
643
636
  "numericInput": {
644
637
  "type": "boolean",
@@ -26,12 +26,6 @@ export class PickerColumnOption {
26
26
  * If `true`, the user cannot interact with the picker column option.
27
27
  */
28
28
  this.disabled = false;
29
- /**
30
- * The color to use from your application's color palette.
31
- * Default options are: `"primary"`, `"secondary"`, `"tertiary"`, `"success"`, `"warning"`, `"danger"`, `"light"`, `"medium"`, and `"dark"`.
32
- * For more information on colors, see [theming](/docs/theming/basics).
33
- */
34
- this.color = 'primary';
35
29
  }
36
30
  /**
37
31
  * The aria-label of the option has changed after the
@@ -91,10 +85,10 @@ export class PickerColumnOption {
91
85
  render() {
92
86
  const { color, disabled, ariaLabel } = this;
93
87
  const mode = getIonMode(this);
94
- return (h(Host, { key: 'c45a1c14a351bf57d7113671164852349be5aa8a', class: createColorClasses(color, {
88
+ return (h(Host, { key: '98109dc9aeced749a3e879394d9a24de24204433', class: createColorClasses(color, {
95
89
  [mode]: true,
96
90
  ['option-disabled']: disabled,
97
- }) }, h("div", { key: '824930b658c6e3fb493ac4c6c2451d38c6bc4829', class: 'picker-column-option-button', role: "button", "aria-label": ariaLabel, onClick: () => this.onClick() }, h("slot", { key: '019df4dcf46e629bdbebcd46ed3ab29669feab27' }))));
91
+ }) }, h("div", { key: '42cb75738ea6925a7780b3ec9c1ff6823e340a24', class: 'picker-column-option-button', role: "button", "aria-label": ariaLabel, onClick: () => this.onClick() }, h("slot", { key: '1f1b3862cdfb2b432016014e2e56330c0247d0b5' }))));
98
92
  }
99
93
  static get is() { return "ion-picker-column-option"; }
100
94
  static get encapsulation() { return "shadow"; }
@@ -175,8 +169,7 @@ export class PickerColumnOption {
175
169
  "getter": false,
176
170
  "setter": false,
177
171
  "reflect": true,
178
- "attribute": "color",
179
- "defaultValue": "'primary'"
172
+ "attribute": "color"
180
173
  }
181
174
  };
182
175
  }
@@ -93,11 +93,16 @@
93
93
  * - datetime sets `part="... active"` on the option. This is the reliable
94
94
  * value-based source of truth and keeps the option colored when the column
95
95
  * lives inside datetime's shadow DOM, where the class can be missed
96
- * (WebKit's elementsFromPoint is unreliable in a shadow root).
96
+ * (WebKit's elementsFromPoint is unreliable in a shadow root).
97
97
  * TODO(FW-6594): Determine if this workaround can be removed when iOS 16 is
98
98
  * no longer supported.
99
99
  */
100
100
  :host(.option-active),
101
101
  :host([part~=active]) {
102
+ color: var(--ion-color-primary, #0054e9);
103
+ }
104
+
105
+ :host(.ion-color.option-active),
106
+ :host(.ion-color[part~=active]) {
102
107
  color: var(--ion-color-base);
103
108
  }
@@ -177,6 +177,21 @@
177
177
  }
178
178
  }
179
179
 
180
+ :host(.select-popover-rich-content) {
181
+ /**
182
+ * Rich content options (start/end slots, descriptions) need
183
+ * more horizontal space than the default fixed width provides,
184
+ * otherwise content gets cut off.
185
+ *
186
+ * A viewport-relative value is used instead of `auto` or
187
+ * `max-content` because the enter animation reads `--width`
188
+ * via getBoundingClientRect() before the first layout pass
189
+ * completes. Intrinsic values return 0 at that point and
190
+ * cause the popover to be positioned off-screen on first open.
191
+ */
192
+ --width: clamp(250px, calc(100vw - 40px), 400px);
193
+ }
194
+
180
195
  /**
181
196
  * Convert a font size to a dynamic font size.
182
197
  * Fonts that participate in Dynamic Type should use
@@ -7,7 +7,7 @@ import { CoreDelegate, attachComponent, detachComponent } from "../../utils/fram
7
7
  import { addEventListener, raf, hasLazyBuild } from "../../utils/helpers";
8
8
  import { createLockController } from "../../utils/lock-controller";
9
9
  import { printIonWarning } from "../../utils/logging/index";
10
- import { BACKDROP, dismiss, eventMethod, prepareOverlay, present, setOverlayId, FOCUS_TRAP_DISABLE_CLASS, } from "../../utils/overlays";
10
+ import { BACKDROP, cleanupRootFocusTrapAccessibility, dismiss, eventMethod, FOCUS_TRAP_DISABLE_CLASS, prepareOverlay, present, setOverlayId, } from "../../utils/overlays";
11
11
  import { isPlatform } from "../../utils/platform";
12
12
  import { getClassMap } from "../../utils/theme";
13
13
  import { deepReady, waitForMount } from "../../utils/transition/index";
@@ -229,6 +229,10 @@ export class Popover {
229
229
  this.headerResizeObserver.disconnect();
230
230
  this.headerResizeObserver = undefined;
231
231
  }
232
+ // Clean up aria-hidden if removed without dismiss() being called
233
+ if (this.presented) {
234
+ cleanupRootFocusTrapAccessibility();
235
+ }
232
236
  }
233
237
  componentWillLoad() {
234
238
  var _a, _b;
@@ -467,9 +471,9 @@ export class Popover {
467
471
  const { onLifecycle, parentPopover, dismissOnSelect, side, arrow, htmlAttributes, focusTrap } = this;
468
472
  const desktop = isPlatform('desktop');
469
473
  const enableArrow = arrow && !parentPopover;
470
- return (h(Host, Object.assign({ key: '2edd8333c630efbce59071f8a383e4326e928dbc', "aria-modal": "true", "no-router": true, tabindex: "-1" }, htmlAttributes, { style: {
474
+ return (h(Host, Object.assign({ key: 'd7f3aa2c2fa93a93585e3eda9e4a6d0daaa541be', "aria-modal": "true", "no-router": true, tabindex: "-1" }, htmlAttributes, { style: {
471
475
  zIndex: `${20000 + this.overlayIndex}`,
472
- }, class: Object.assign(Object.assign({}, getClassMap(this.cssClass)), { [mode]: true, 'popover-translucent': this.translucent, 'overlay-hidden': true, 'popover-desktop': desktop, [`popover-side-${side}`]: true, [FOCUS_TRAP_DISABLE_CLASS]: focusTrap === false, 'popover-nested': !!parentPopover }), onIonPopoverDidPresent: onLifecycle, onIonPopoverWillPresent: onLifecycle, onIonPopoverWillDismiss: onLifecycle, onIonPopoverDidDismiss: onLifecycle, onIonBackdropTap: this.onBackdropTap }), !parentPopover && h("ion-backdrop", { key: 'aac4e68b08197534375e8ea3f8c9ea0c10ab2af4', tappable: this.backdropDismiss, visible: this.showBackdrop, part: "backdrop" }), h("div", { key: 'b7f4ebf57d4148b32856b0075d286f454be8de5d', class: "popover-wrapper ion-overlay-wrapper", onClick: dismissOnSelect ? () => this.dismiss() : undefined }, enableArrow && h("div", { key: '607d94c28d73e8e957175a7c0f6e8a99ec4dcd53', class: "popover-arrow", part: "arrow" }), h("div", { key: '4366a5a5de550c09895e923f345583508e1ec30c', class: "popover-content", part: "content" }, h("slot", { key: 'eb7886fbc99c15b667b7d825d24f1c12d9380f03' })))));
476
+ }, class: Object.assign(Object.assign({}, getClassMap(this.cssClass)), { [mode]: true, 'popover-translucent': this.translucent, 'overlay-hidden': true, 'popover-desktop': desktop, [`popover-side-${side}`]: true, [FOCUS_TRAP_DISABLE_CLASS]: focusTrap === false, 'popover-nested': !!parentPopover }), onIonPopoverDidPresent: onLifecycle, onIonPopoverWillPresent: onLifecycle, onIonPopoverWillDismiss: onLifecycle, onIonPopoverDidDismiss: onLifecycle, onIonBackdropTap: this.onBackdropTap }), !parentPopover && h("ion-backdrop", { key: 'b87be2ef14219997b9c47dcbaf904eb770d0e057', tappable: this.backdropDismiss, visible: this.showBackdrop, part: "backdrop" }), h("div", { key: 'e6243572faf1b871ae2b34923410b2a6638469f0', class: "popover-wrapper ion-overlay-wrapper", onClick: dismissOnSelect ? () => this.dismiss() : undefined }, enableArrow && h("div", { key: '3d4938c9d0764a644398e0e7a4361106da1bd926', class: "popover-arrow", part: "arrow" }), h("div", { key: '24ad6d777828aad2881d56595693e6022fc9cb8e', class: "popover-content", part: "content" }, h("slot", { key: '79f83df74a5c5e3dd7650f15c1aa50795b90a345' })))));
473
477
  }
474
478
  static get is() { return "ion-popover"; }
475
479
  static get encapsulation() { return "shadow"; }
@@ -177,6 +177,21 @@
177
177
  }
178
178
  }
179
179
 
180
+ :host(.select-popover-rich-content) {
181
+ /**
182
+ * Rich content options (start/end slots, descriptions) need
183
+ * more horizontal space than the default fixed width provides,
184
+ * otherwise content gets cut off.
185
+ *
186
+ * A viewport-relative value is used instead of `auto` or
187
+ * `max-content` because the enter animation reads `--width`
188
+ * via getBoundingClientRect() before the first layout pass
189
+ * completes. Intrinsic values return 0 at that point and
190
+ * cause the popover to be positioned off-screen on first open.
191
+ */
192
+ --width: clamp(250px, calc(100vw - 40px), 400px);
193
+ }
194
+
180
195
  /**
181
196
  * Convert a font size to a dynamic font size.
182
197
  * Fonts that participate in Dynamic Type should use
@@ -43,7 +43,7 @@ export class ProgressBar {
43
43
  const mode = getIonMode(this);
44
44
  // If the progress is displayed as a solid bar.
45
45
  const progressSolid = buffer === 1;
46
- return (h(Host, { key: 'c859e48f3d24a458239e36d925e5dc003ed07c6b', role: "progressbar", "aria-valuenow": type === 'determinate' ? value : null, "aria-valuemin": "0", "aria-valuemax": "1", class: createColorClasses(color, {
46
+ return (h(Host, { key: 'd7476268ce53b6a4f425b7bc9f01d6935eb411c3', role: "progressbar", "aria-valuenow": type === 'determinate' ? value : null, "aria-valuemin": "0", "aria-valuemax": "1", class: createColorClasses(color, {
47
47
  [mode]: true,
48
48
  [`progress-bar-${type}`]: true,
49
49
  'progress-paused': paused,
@@ -136,7 +136,7 @@ export class Radio {
136
136
  const { checked, disabled, color, el, justify, labelPlacement, hasLabel, buttonTabindex, alignment } = this;
137
137
  const mode = getIonMode(this);
138
138
  const inItem = hostContext('ion-item', el);
139
- return (h(Host, { key: 'af5dc59ed528150872e907ed1036e3e2decba939', onFocus: this.onFocus, onBlur: this.onBlur, onClick: this.onClick, class: createColorClasses(color, {
139
+ return (h(Host, { key: 'd9425b252ed38086420d91d5c680421d121c99f4', onFocus: this.onFocus, onBlur: this.onBlur, onClick: this.onClick, class: createColorClasses(color, {
140
140
  [mode]: true,
141
141
  'in-item': inItem,
142
142
  'radio-checked': checked,
@@ -147,10 +147,10 @@ export class Radio {
147
147
  // Focus and active styling should not apply when the radio is in an item
148
148
  'ion-activatable': !inItem,
149
149
  'ion-focusable': !inItem,
150
- }), role: "radio", "aria-checked": checked ? 'true' : 'false', "aria-disabled": disabled ? 'true' : null, tabindex: buttonTabindex }, h("label", { key: '1312aba3259a87fe23a6911cdfa477e309469c8b', class: "radio-wrapper" }, h("div", { key: 'b342aa27e240a300836d2a135658d346b95daf09', class: {
150
+ }), role: "radio", "aria-checked": checked ? 'true' : 'false', "aria-disabled": disabled ? 'true' : null, tabindex: buttonTabindex }, h("label", { key: 'de391fca2aa0b681af5c1d089121596c46e68271', class: "radio-wrapper" }, h("div", { key: '44e4c71645f86a9e73ad58c0e8b41c0558b920f6', class: {
151
151
  'label-text-wrapper': true,
152
152
  'label-text-wrapper-hidden': !hasLabel,
153
- }, part: "label" }, h("slot", { key: '0a4613d29aa783d1882cf889377f7e4fd4fea51d' })), h("div", { key: '191faea79dc4cd8befc4b873f5bd9f5af8ca2acc', class: "native-wrapper" }, this.renderRadioControl()))));
153
+ }, part: "label" }, h("slot", { key: '589d7c1b45a1918b5811663daa8f30788e7729f8' })), h("div", { key: '0f61a17b195582d6c9a0c597cd40e6629256e479', class: "native-wrapper" }, this.renderRadioControl()))));
154
154
  }
155
155
  static get is() { return "ion-radio"; }
156
156
  static get encapsulation() { return "shadow"; }
@@ -250,7 +250,7 @@ export class Radio {
250
250
  },
251
251
  "getter": false,
252
252
  "setter": false,
253
- "reflect": false,
253
+ "reflect": true,
254
254
  "attribute": "value"
255
255
  },
256
256
  "labelPlacement": {
@@ -769,7 +769,7 @@ export class Range {
769
769
  const valueAtMin = dualKnobs ? this.valA === min || this.valB === min : this.valA === min;
770
770
  const valueAtMax = dualKnobs ? this.valA === max || this.valB === max : this.valA === max;
771
771
  renderHiddenInput(true, el, this.name, JSON.stringify(this.getValue()), disabled);
772
- return (h(Host, { key: 'f8063d1234fb113fe55a7902845dd4b4da8b1edb', onFocusin: this.onFocus, onFocusout: this.onBlur, id: rangeId, class: createColorClasses(this.color, {
772
+ return (h(Host, { key: 'cd26f0187c0d37c7eb9df923f75c8a0f57c19ab6', onFocusin: this.onFocus, onFocusout: this.onBlur, id: rangeId, class: createColorClasses(this.color, {
773
773
  [mode]: true,
774
774
  'in-item': inItem,
775
775
  'range-disabled': disabled,
@@ -783,10 +783,10 @@ export class Range {
783
783
  'range-item-end-adjustment': needsEndAdjustment,
784
784
  'range-value-min': valueAtMin,
785
785
  'range-value-max': valueAtMax,
786
- }) }, h("label", { key: 'beead65ab01e3b18e4be59c0ee8ac6ebf32aad7c', class: "range-wrapper", id: "range-label" }, h("div", { key: '03633c689d9d2e4c50a2131bcd560329df49e314', class: {
786
+ }) }, h("label", { key: '90224fd24b0e625a17e7972feff73a0ac31e093d', class: "range-wrapper", id: "range-label" }, h("div", { key: 'e07b9fa10983249c425eec26b741f0f628daf2b2', class: {
787
787
  'label-text-wrapper': true,
788
788
  'label-text-wrapper-hidden': !hasLabel,
789
- }, part: "label" }, label !== undefined ? h("div", { class: "label-text" }, label) : h("slot", { name: "label" })), h("div", { key: 'c066804263ab6ae7393f8dcc51184b7198844ffa', class: "native-wrapper" }, h("slot", { key: '7e8ea224d72b3e965dd948bee7e45c1a096b6899', name: "start" }), this.renderRangeSlider(), h("slot", { key: '21f242f6f60ff3adce6a2d90b2d4dac1ceaf6624', name: "end" })))));
789
+ }, part: "label" }, label !== undefined ? h("div", { class: "label-text" }, label) : h("slot", { name: "label" })), h("div", { key: '9e252f1190838fbae46e724bf665f9b1943600a4', class: "native-wrapper" }, h("slot", { key: '950697dd9636da340de659812daa91fff50e5345', name: "start" }), this.renderRangeSlider(), h("slot", { key: 'd3fce46b29db275af71e6149e725967839ec12b0', name: "end" })))));
790
790
  }
791
791
  static get is() { return "ion-range"; }
792
792
  static get encapsulation() { return "shadow"; }
@@ -716,7 +716,7 @@ export class Refresher {
716
716
  }
717
717
  render() {
718
718
  const mode = getIonMode(this);
719
- return (h(Host, { key: '80fa313b0d77161680836bdd6aa334d02c549b41', slot: "fixed", class: {
719
+ return (h(Host, { key: '1dd475095f76491206644828cf89fc6d2ec276d1', slot: "fixed", class: {
720
720
  [mode]: true,
721
721
  // Used internally for styling
722
722
  [`refresher-${mode}`]: true,
@@ -48,7 +48,7 @@ export class RefresherContent {
48
48
  const pullingIcon = this.pullingIcon;
49
49
  const hasSpinner = pullingIcon != null && SPINNERS[pullingIcon] !== undefined;
50
50
  const mode = getIonMode(this);
51
- return (h(Host, { key: '4add42b9fdfded359d1b054d04c2c6ff48e028c8', class: mode }, h("div", { key: '45d4e4e0adfed7f96dd1849767aa2cde947de044', class: "refresher-pulling" }, this.pullingIcon && hasSpinner && (h("div", { key: '6bd6c8ef5bf6e10699eec3bd8646431bfe1077a0', class: "refresher-pulling-icon" }, h("div", { key: '852d20414da53352c8e58bc627e0fda38eff97cb', class: "spinner-arrow-container" }, h("ion-spinner", { key: '0dde3578a80cc4b77a07c4d1db1af80c7eb10c27', name: this.pullingIcon, paused: true }), mode === 'md' && this.pullingIcon === 'circular' && (h("div", { key: 'c71dbfcf416a19c30fed38f722ebf0358c2181dd', class: "arrow-container" }, h("ion-icon", { key: 'fa7c2cf624e7a9c41964e66cabc88c594da6d1fd', icon: caretBackSharp, "aria-hidden": "true" })))))), this.pullingIcon && !hasSpinner && (h("div", { key: '3dd68c9968b421c379d1c4349ba619ee0a189c6d', class: "refresher-pulling-icon" }, h("ion-icon", { key: 'f83bceceae4fa8245f91939fb6db589a595e975b', icon: this.pullingIcon, lazy: false, "aria-hidden": "true" }))), this.pullingText !== undefined && this.renderPullingText()), h("div", { key: '98e22ceb0f7883e871f815f6199f5cb313e2e086', class: "refresher-refreshing" }, this.refreshingSpinner && (h("div", { key: 'faabe8a9b61c02a00994ef978bb82b9ba4537214', class: "refresher-refreshing-icon" }, h("ion-spinner", { key: '029a0c073ee1a07f01211e12ba2abc985cf21ed7', name: this.refreshingSpinner }))), this.refreshingText !== undefined && this.renderRefreshingText())));
51
+ return (h(Host, { key: 'ec378d6a302be697c12c4f973a57c6ad2ada070f', class: mode }, h("div", { key: '0055f98f8c5a1ed7979dc8146ec1f82a575860c7', class: "refresher-pulling" }, this.pullingIcon && hasSpinner && (h("div", { key: '4f88468e26370df6889e72aa54ebb395ebf3757d', class: "refresher-pulling-icon" }, h("div", { key: '05b3f8679576aaa6c2d84d60df6629a392df29e2', class: "spinner-arrow-container" }, h("ion-spinner", { key: '0bf6ceea416ce1140c0f10a5bede063cae7054f4', name: this.pullingIcon, paused: true }), mode === 'md' && this.pullingIcon === 'circular' && (h("div", { key: 'b71ede8455837968218edae28504e5e14bbc1f5c', class: "arrow-container" }, h("ion-icon", { key: '30b808288d23d3eac681b1225cd8392fdacfefe1', icon: caretBackSharp, "aria-hidden": "true" })))))), this.pullingIcon && !hasSpinner && (h("div", { key: 'fee1ae7e57ef8a02f5654808dff9dca3002b6702', class: "refresher-pulling-icon" }, h("ion-icon", { key: '55b34a98028adb497fbc2ac66bdb3d5ae5b1705b', icon: this.pullingIcon, lazy: false, "aria-hidden": "true" }))), this.pullingText !== undefined && this.renderPullingText()), h("div", { key: 'ef8f987daa8060cb6f8fd83c0864095042b9eecf', class: "refresher-refreshing" }, this.refreshingSpinner && (h("div", { key: 'cd6fe0e81b34eeae11478fcc8a42044bff6f7a52', class: "refresher-refreshing-icon" }, h("ion-spinner", { key: '9cd778229582b538d54589c4d8e4d470efb64aad', name: this.refreshingSpinner }))), this.refreshingText !== undefined && this.renderRefreshingText())));
52
52
  }
53
53
  static get is() { return "ion-refresher-content"; }
54
54
  static get properties() {
@@ -20,7 +20,7 @@ export class Reorder {
20
20
  render() {
21
21
  const mode = getIonMode(this);
22
22
  const reorderIcon = mode === 'ios' ? reorderThreeOutline : reorderTwoSharp;
23
- return (h(Host, { key: 'b869db61ca6393cf1476f2111a66b387b567c6d1', class: mode }, h("slot", { key: 'a78edd1776835282b8b5c841377018f36c83296c' }, h("ion-icon", { key: '7fb067c47bbb9a7258e5063f028282cc097d0f94', icon: reorderIcon, lazy: false, class: "reorder-icon", part: "icon", "aria-hidden": "true" }))));
23
+ return (h(Host, { key: '4d35db30b5b3df2020d2212abb3cfac94f9bc2b8', class: mode }, h("slot", { key: '68a565ae4a47f6a9f5d6ba845b596fdfa629ece8' }, h("ion-icon", { key: '168fb0f8eb9c02329274488900fcdb05d44cb895', icon: reorderIcon, lazy: false, class: "reorder-icon", part: "icon", "aria-hidden": "true" }))));
24
24
  }
25
25
  static get is() { return "ion-reorder"; }
26
26
  static get encapsulation() { return "shadow"; }
@@ -253,7 +253,7 @@ export class ReorderGroup {
253
253
  }
254
254
  render() {
255
255
  const mode = getIonMode(this);
256
- return (h(Host, { key: '9527bbdedaab63d31f562c874a7332ea60c4b47b', class: {
256
+ return (h(Host, { key: '3afdc6a6c81bba2f88ea523d4b73c6fccff1b9ec', class: {
257
257
  [mode]: true,
258
258
  'reorder-enabled': !this.disabled,
259
259
  'reorder-list-active': this.state !== 0 /* ReorderGroupState.Idle */,
@@ -68,7 +68,7 @@ export class RippleEffect {
68
68
  }
69
69
  render() {
70
70
  const mode = getIonMode(this);
71
- return (h(Host, { key: '3b59cbb44741569a7350f9638b4392add673b6f1', role: "presentation", class: {
71
+ return (h(Host, { key: '5e88b5225414e29883256c86f111ded5bdf2ef91', role: "presentation", class: {
72
72
  [mode]: true,
73
73
  unbounded: this.unbounded,
74
74
  } }));
@@ -22,10 +22,10 @@ export class RouterLink {
22
22
  rel: this.rel,
23
23
  target: this.target,
24
24
  };
25
- return (h(Host, { key: '8372835161d507c7b821b7536c55f912eb6ce704', onClick: this.onClick, class: createColorClasses(this.color, {
25
+ return (h(Host, { key: '6d5fdfa0dcf1eb216173bcc53f1f4d625f3ec551', onClick: this.onClick, class: createColorClasses(this.color, {
26
26
  [mode]: true,
27
27
  'ion-activatable': true,
28
- }) }, h("a", Object.assign({ key: '315966e14a17760f3f64197e8315200039787897' }, attrs), h("slot", { key: '95fc1697b884225e85e647dddcaa8f4af8b9a979' }))));
28
+ }) }, h("a", Object.assign({ key: '85796b7b48581fe9830ba1102dad7d1069de4e17' }, attrs), h("slot", { key: '0f93b0da3ec4ae8f50f624f9e7bed87d13d712d0' }))));
29
29
  }
30
30
  static get is() { return "ion-router-link"; }
31
31
  static get encapsulation() { return "shadow"; }