@ionic/core 8.4.4-dev.11741630999.189d7fc2 → 8.4.4-dev.11741648084.118e26ac

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 (317) hide show
  1. package/components/checkbox.js +37 -5
  2. package/components/ion-item-divider.js +2 -2
  3. package/components/ion-item-group.js +1 -1
  4. package/components/ion-item-option.js +2 -2
  5. package/components/ion-item-options.js +1 -1
  6. package/components/ion-item-sliding.js +1 -1
  7. package/components/ion-loading.js +2 -2
  8. package/components/ion-menu-button.js +2 -2
  9. package/components/ion-menu-toggle.js +2 -2
  10. package/components/ion-menu.js +2 -2
  11. package/components/ion-nav-link.js +1 -1
  12. package/components/ion-nav.js +1 -1
  13. package/components/ion-note.js +2 -2
  14. package/components/ion-picker-legacy.js +2 -2
  15. package/components/ion-progress-bar.js +1 -1
  16. package/components/ion-range.js +3 -3
  17. package/components/ion-refresher-content.js +1 -1
  18. package/components/ion-refresher.js +1 -1
  19. package/components/ion-reorder-group.js +1 -1
  20. package/components/ion-reorder.js +1 -1
  21. package/components/ion-router-link.js +2 -2
  22. package/components/ion-router-outlet.js +1 -1
  23. package/components/ion-row.js +1 -1
  24. package/components/ion-searchbar.js +4 -4
  25. package/components/ion-segment-button.js +2 -2
  26. package/components/ion-segment-content.js +1 -1
  27. package/components/ion-segment-view.js +2 -2
  28. package/components/ion-segment.js +2 -2
  29. package/components/ion-select-option.js +1 -1
  30. package/components/ion-select.js +47 -5
  31. package/components/ion-skeleton-text.js +2 -2
  32. package/components/ion-split-pane.js +2 -2
  33. package/components/ion-tab-bar.js +2 -2
  34. package/components/ion-tab-button.js +2 -2
  35. package/components/ion-tab.js +2 -2
  36. package/components/ion-tabs.js +1 -1
  37. package/components/ion-text.js +2 -2
  38. package/components/ion-textarea.js +2 -2
  39. package/components/ion-thumbnail.js +1 -1
  40. package/components/ion-toast.js +2 -2
  41. package/components/ion-toggle.js +3 -3
  42. package/components/label.js +2 -2
  43. package/components/list-header.js +2 -2
  44. package/components/modal.js +15 -7
  45. package/components/picker-column-option.js +2 -2
  46. package/components/picker-column2.js +2 -2
  47. package/components/popover.js +2 -2
  48. package/components/radio-group.js +39 -2
  49. package/components/radio.js +3 -3
  50. package/components/ripple-effect.js +1 -1
  51. package/components/select-modal.js +1 -1
  52. package/components/select-popover.js +1 -1
  53. package/components/spinner.js +1 -1
  54. package/components/title.js +2 -2
  55. package/components/toolbar.js +2 -2
  56. package/dist/cjs/ion-app_8.cjs.entry.js +5 -5
  57. package/dist/cjs/ion-avatar_3.cjs.entry.js +1 -1
  58. package/dist/cjs/ion-checkbox.cjs.entry.js +35 -5
  59. package/dist/cjs/ion-col_3.cjs.entry.js +1 -1
  60. package/dist/cjs/ion-datetime_3.cjs.entry.js +4 -4
  61. package/dist/cjs/ion-item-option_3.cjs.entry.js +4 -4
  62. package/dist/cjs/ion-item_8.cjs.entry.js +11 -11
  63. package/dist/cjs/ion-loading.cjs.entry.js +2 -2
  64. package/dist/cjs/ion-menu_3.cjs.entry.js +6 -6
  65. package/dist/cjs/ion-modal.cjs.entry.js +15 -7
  66. package/dist/cjs/ion-nav_2.cjs.entry.js +2 -2
  67. package/dist/cjs/ion-picker-column-option.cjs.entry.js +2 -2
  68. package/dist/cjs/ion-popover.cjs.entry.js +2 -2
  69. package/dist/cjs/ion-progress-bar.cjs.entry.js +1 -1
  70. package/dist/cjs/ion-radio_2.cjs.entry.js +39 -4
  71. package/dist/cjs/ion-range.cjs.entry.js +3 -3
  72. package/dist/cjs/ion-refresher_2.cjs.entry.js +2 -2
  73. package/dist/cjs/ion-reorder_2.cjs.entry.js +2 -2
  74. package/dist/cjs/ion-ripple-effect.cjs.entry.js +1 -1
  75. package/dist/cjs/ion-route_4.cjs.entry.js +2 -2
  76. package/dist/cjs/ion-searchbar.cjs.entry.js +4 -4
  77. package/dist/cjs/ion-segment-content.cjs.entry.js +1 -1
  78. package/dist/cjs/ion-segment-view.cjs.entry.js +2 -2
  79. package/dist/cjs/ion-segment_2.cjs.entry.js +4 -4
  80. package/dist/cjs/ion-select-modal.cjs.entry.js +1 -1
  81. package/dist/cjs/ion-select_3.cjs.entry.js +47 -7
  82. package/dist/cjs/ion-spinner.cjs.entry.js +1 -1
  83. package/dist/cjs/ion-split-pane.cjs.entry.js +2 -2
  84. package/dist/cjs/ion-tab-bar_2.cjs.entry.js +4 -4
  85. package/dist/cjs/ion-tab_2.cjs.entry.js +3 -3
  86. package/dist/cjs/ion-text.cjs.entry.js +2 -2
  87. package/dist/cjs/ion-textarea.cjs.entry.js +2 -2
  88. package/dist/cjs/ion-toast.cjs.entry.js +2 -2
  89. package/dist/cjs/ion-toggle.cjs.entry.js +3 -3
  90. package/dist/cjs/ionic.cjs.js +1 -1
  91. package/dist/cjs/loader.cjs.js +1 -1
  92. package/dist/collection/components/checkbox/checkbox.ios.css +52 -15
  93. package/dist/collection/components/checkbox/checkbox.js +70 -3
  94. package/dist/collection/components/checkbox/checkbox.md.css +52 -15
  95. package/dist/collection/components/item-divider/item-divider.js +2 -2
  96. package/dist/collection/components/item-group/item-group.js +1 -1
  97. package/dist/collection/components/item-option/item-option.js +2 -2
  98. package/dist/collection/components/item-options/item-options.js +1 -1
  99. package/dist/collection/components/item-sliding/item-sliding.js +1 -1
  100. package/dist/collection/components/label/label.js +2 -2
  101. package/dist/collection/components/list-header/list-header.js +2 -2
  102. package/dist/collection/components/loading/loading.js +2 -2
  103. package/dist/collection/components/menu/menu.js +2 -2
  104. package/dist/collection/components/menu-button/menu-button.js +2 -2
  105. package/dist/collection/components/menu-toggle/menu-toggle.js +2 -2
  106. package/dist/collection/components/modal/gestures/sheet.js +11 -3
  107. package/dist/collection/components/modal/modal.js +5 -5
  108. package/dist/collection/components/nav/nav.js +1 -1
  109. package/dist/collection/components/nav-link/nav-link.js +1 -1
  110. package/dist/collection/components/note/note.js +2 -2
  111. package/dist/collection/components/picker-column-option/picker-column-option.js +2 -2
  112. package/dist/collection/components/picker-legacy/picker.js +2 -2
  113. package/dist/collection/components/picker-legacy-column/picker-column.js +2 -2
  114. package/dist/collection/components/popover/popover.js +2 -2
  115. package/dist/collection/components/progress-bar/progress-bar.js +1 -1
  116. package/dist/collection/components/radio/radio.js +3 -3
  117. package/dist/collection/components/radio-group/radio-group.ios.css +205 -0
  118. package/dist/collection/components/radio-group/radio-group.js +72 -1
  119. package/dist/collection/components/radio-group/radio-group.md.css +205 -0
  120. package/dist/collection/components/range/range.js +3 -3
  121. package/dist/collection/components/refresher/refresher.js +1 -1
  122. package/dist/collection/components/refresher-content/refresher-content.js +1 -1
  123. package/dist/collection/components/reorder/reorder.js +1 -1
  124. package/dist/collection/components/reorder-group/reorder-group.js +1 -1
  125. package/dist/collection/components/ripple-effect/ripple-effect.js +1 -1
  126. package/dist/collection/components/router-link/router-link.js +2 -2
  127. package/dist/collection/components/router-outlet/router-outlet.js +1 -1
  128. package/dist/collection/components/row/row.js +1 -1
  129. package/dist/collection/components/searchbar/searchbar.js +4 -4
  130. package/dist/collection/components/segment/segment.js +2 -2
  131. package/dist/collection/components/segment-button/segment-button.js +2 -2
  132. package/dist/collection/components/segment-content/segment-content.js +1 -1
  133. package/dist/collection/components/segment-view/segment-view.js +2 -2
  134. package/dist/collection/components/select/select.ios.css +59 -0
  135. package/dist/collection/components/select/select.js +80 -3
  136. package/dist/collection/components/select/select.md.css +61 -0
  137. package/dist/collection/components/select-modal/select-modal.js +1 -1
  138. package/dist/collection/components/select-option/select-option.js +1 -1
  139. package/dist/collection/components/select-popover/select-popover.js +1 -1
  140. package/dist/collection/components/skeleton-text/skeleton-text.js +2 -2
  141. package/dist/collection/components/spinner/spinner.js +1 -1
  142. package/dist/collection/components/split-pane/split-pane.js +2 -2
  143. package/dist/collection/components/tab/tab.js +2 -2
  144. package/dist/collection/components/tab-bar/tab-bar.js +2 -2
  145. package/dist/collection/components/tab-button/tab-button.js +2 -2
  146. package/dist/collection/components/tabs/tabs.js +1 -1
  147. package/dist/collection/components/text/text.js +2 -2
  148. package/dist/collection/components/textarea/textarea.js +2 -2
  149. package/dist/collection/components/thumbnail/thumbnail.js +1 -1
  150. package/dist/collection/components/title/title.js +2 -2
  151. package/dist/collection/components/toast/toast.js +2 -2
  152. package/dist/collection/components/toggle/toggle.js +3 -3
  153. package/dist/collection/components/toolbar/toolbar.js +2 -2
  154. package/dist/docs.json +194 -2
  155. package/dist/esm/ion-app_8.entry.js +5 -5
  156. package/dist/esm/ion-avatar_3.entry.js +1 -1
  157. package/dist/esm/ion-checkbox.entry.js +35 -5
  158. package/dist/esm/ion-col_3.entry.js +1 -1
  159. package/dist/esm/ion-datetime_3.entry.js +4 -4
  160. package/dist/esm/ion-item-option_3.entry.js +4 -4
  161. package/dist/esm/ion-item_8.entry.js +11 -11
  162. package/dist/esm/ion-loading.entry.js +2 -2
  163. package/dist/esm/ion-menu_3.entry.js +6 -6
  164. package/dist/esm/ion-modal.entry.js +15 -7
  165. package/dist/esm/ion-nav_2.entry.js +2 -2
  166. package/dist/esm/ion-picker-column-option.entry.js +2 -2
  167. package/dist/esm/ion-popover.entry.js +2 -2
  168. package/dist/esm/ion-progress-bar.entry.js +1 -1
  169. package/dist/esm/ion-radio_2.entry.js +39 -4
  170. package/dist/esm/ion-range.entry.js +3 -3
  171. package/dist/esm/ion-refresher_2.entry.js +2 -2
  172. package/dist/esm/ion-reorder_2.entry.js +2 -2
  173. package/dist/esm/ion-ripple-effect.entry.js +1 -1
  174. package/dist/esm/ion-route_4.entry.js +2 -2
  175. package/dist/esm/ion-searchbar.entry.js +4 -4
  176. package/dist/esm/ion-segment-content.entry.js +1 -1
  177. package/dist/esm/ion-segment-view.entry.js +2 -2
  178. package/dist/esm/ion-segment_2.entry.js +4 -4
  179. package/dist/esm/ion-select-modal.entry.js +1 -1
  180. package/dist/esm/ion-select_3.entry.js +47 -7
  181. package/dist/esm/ion-spinner.entry.js +1 -1
  182. package/dist/esm/ion-split-pane.entry.js +2 -2
  183. package/dist/esm/ion-tab-bar_2.entry.js +4 -4
  184. package/dist/esm/ion-tab_2.entry.js +3 -3
  185. package/dist/esm/ion-text.entry.js +2 -2
  186. package/dist/esm/ion-textarea.entry.js +2 -2
  187. package/dist/esm/ion-toast.entry.js +2 -2
  188. package/dist/esm/ion-toggle.entry.js +3 -3
  189. package/dist/esm/ionic.js +1 -1
  190. package/dist/esm/loader.js +1 -1
  191. package/dist/esm-es5/ion-app_8.entry.js +1 -1
  192. package/dist/esm-es5/ion-avatar_3.entry.js +1 -1
  193. package/dist/esm-es5/ion-checkbox.entry.js +1 -1
  194. package/dist/esm-es5/ion-col_3.entry.js +1 -1
  195. package/dist/esm-es5/ion-datetime_3.entry.js +1 -1
  196. package/dist/esm-es5/ion-item-option_3.entry.js +1 -1
  197. package/dist/esm-es5/ion-item_8.entry.js +1 -1
  198. package/dist/esm-es5/ion-loading.entry.js +1 -1
  199. package/dist/esm-es5/ion-menu_3.entry.js +1 -1
  200. package/dist/esm-es5/ion-modal.entry.js +1 -1
  201. package/dist/esm-es5/ion-nav_2.entry.js +1 -1
  202. package/dist/esm-es5/ion-picker-column-option.entry.js +1 -1
  203. package/dist/esm-es5/ion-popover.entry.js +1 -1
  204. package/dist/esm-es5/ion-progress-bar.entry.js +1 -1
  205. package/dist/esm-es5/ion-radio_2.entry.js +1 -1
  206. package/dist/esm-es5/ion-range.entry.js +1 -1
  207. package/dist/esm-es5/ion-refresher_2.entry.js +1 -1
  208. package/dist/esm-es5/ion-reorder_2.entry.js +1 -1
  209. package/dist/esm-es5/ion-ripple-effect.entry.js +1 -1
  210. package/dist/esm-es5/ion-route_4.entry.js +1 -1
  211. package/dist/esm-es5/ion-searchbar.entry.js +1 -1
  212. package/dist/esm-es5/ion-segment-content.entry.js +1 -1
  213. package/dist/esm-es5/ion-segment-view.entry.js +1 -1
  214. package/dist/esm-es5/ion-segment_2.entry.js +1 -1
  215. package/dist/esm-es5/ion-select-modal.entry.js +1 -1
  216. package/dist/esm-es5/ion-select_3.entry.js +1 -1
  217. package/dist/esm-es5/ion-spinner.entry.js +1 -1
  218. package/dist/esm-es5/ion-split-pane.entry.js +1 -1
  219. package/dist/esm-es5/ion-tab-bar_2.entry.js +1 -1
  220. package/dist/esm-es5/ion-tab_2.entry.js +1 -1
  221. package/dist/esm-es5/ion-text.entry.js +1 -1
  222. package/dist/esm-es5/ion-textarea.entry.js +1 -1
  223. package/dist/esm-es5/ion-toast.entry.js +1 -1
  224. package/dist/esm-es5/ion-toggle.entry.js +1 -1
  225. package/dist/esm-es5/ionic.js +1 -1
  226. package/dist/esm-es5/loader.js +1 -1
  227. package/dist/html.html-data.json +25 -1
  228. package/dist/ionic/ionic.esm.js +1 -1
  229. package/dist/ionic/{p-026517fb.entry.js → p-020df11a.entry.js} +1 -1
  230. package/dist/ionic/{p-dd14d988.entry.js → p-0434c94c.entry.js} +1 -1
  231. package/dist/ionic/p-0ab8caf8.system.entry.js +4 -0
  232. package/dist/ionic/{p-136ff13e.entry.js → p-0eab6979.entry.js} +1 -1
  233. package/dist/ionic/{p-ab2f4b05.entry.js → p-0f138cf3.entry.js} +1 -1
  234. package/dist/ionic/{p-d9ef8526.system.entry.js → p-166a794f.system.entry.js} +1 -1
  235. package/dist/ionic/{p-3fe95571.system.entry.js → p-1cf593cf.system.entry.js} +1 -1
  236. package/dist/ionic/p-21780245.entry.js +4 -0
  237. package/dist/ionic/p-221fbdf5.entry.js +4 -0
  238. package/dist/ionic/{p-d782ad8d.entry.js → p-2840743b.entry.js} +1 -1
  239. package/dist/ionic/{p-71e1d84d.entry.js → p-29cccf08.entry.js} +1 -1
  240. package/dist/ionic/{p-d25142f7.entry.js → p-2f429536.entry.js} +1 -1
  241. package/dist/ionic/{p-166f4ba0.entry.js → p-3b872754.entry.js} +1 -1
  242. package/dist/ionic/p-3e6be709.entry.js +4 -0
  243. package/dist/ionic/p-41d7ca3c.entry.js +4 -0
  244. package/dist/ionic/{p-323984f9.system.entry.js → p-4200e056.system.entry.js} +1 -1
  245. package/dist/ionic/{p-56a8aa85.entry.js → p-43bfbfd7.entry.js} +1 -1
  246. package/dist/ionic/{p-7112ab06.system.entry.js → p-47026941.system.entry.js} +1 -1
  247. package/dist/ionic/p-48e9eedb.entry.js +4 -0
  248. package/dist/ionic/{p-2cb33c6c.system.entry.js → p-506f2664.system.entry.js} +2 -2
  249. package/dist/ionic/p-541b5191.entry.js +4 -0
  250. package/dist/ionic/{p-3c29cb9d.entry.js → p-5c364a5b.entry.js} +1 -1
  251. package/dist/ionic/{p-424eb140.system.entry.js → p-5cc9314d.system.entry.js} +1 -1
  252. package/dist/ionic/{p-5d3dc32b.system.entry.js → p-5f10138c.system.entry.js} +1 -1
  253. package/dist/ionic/{p-98ce0c01.system.entry.js → p-5f7a9125.system.entry.js} +2 -2
  254. package/dist/ionic/p-62151078.system.entry.js +4 -0
  255. package/dist/ionic/{p-c42a4dad.system.entry.js → p-623b4fa6.system.entry.js} +1 -1
  256. package/dist/ionic/{p-37a21d70.entry.js → p-62d2e17d.entry.js} +1 -1
  257. package/dist/ionic/{p-e4c1fd74.system.entry.js → p-6321783a.system.entry.js} +1 -1
  258. package/dist/ionic/{p-b6208867.system.entry.js → p-66425a02.system.entry.js} +1 -1
  259. package/dist/ionic/{p-e84da6cb.system.entry.js → p-6703c724.system.entry.js} +1 -1
  260. package/dist/ionic/{p-fd2c0aa6.entry.js → p-6f6dd24f.entry.js} +1 -1
  261. package/dist/ionic/{p-57cca929.system.entry.js → p-717520d6.system.entry.js} +1 -1
  262. package/dist/ionic/{p-16799667.system.entry.js → p-7af3d1e8.system.entry.js} +1 -1
  263. package/dist/ionic/{p-6c85db7e.system.entry.js → p-7ef62ef9.system.entry.js} +2 -2
  264. package/dist/ionic/{p-712b57f9.system.entry.js → p-826c4d67.system.entry.js} +1 -1
  265. package/dist/ionic/{p-e18fc89c.entry.js → p-82afe775.entry.js} +1 -1
  266. package/dist/ionic/{p-8c0d81a9.entry.js → p-85d6d07c.entry.js} +1 -1
  267. package/dist/ionic/{p-c2583512.entry.js → p-8eee812a.entry.js} +1 -1
  268. package/dist/ionic/{p-badd3610.entry.js → p-8fa80de0.entry.js} +1 -1
  269. package/dist/ionic/{p-5bf080b2.entry.js → p-95a11fc4.entry.js} +1 -1
  270. package/dist/ionic/{p-8c42a26f.system.entry.js → p-986a98d9.system.entry.js} +1 -1
  271. package/dist/ionic/{p-5996d3ad.system.entry.js → p-98aefaa1.system.entry.js} +1 -1
  272. package/dist/ionic/{p-f670529f.system.entry.js → p-99b4160f.system.entry.js} +1 -1
  273. package/dist/ionic/p-9a950d3c.entry.js +4 -0
  274. package/dist/ionic/{p-48e13807.system.entry.js → p-9aaaff17.system.entry.js} +1 -1
  275. package/dist/ionic/{p-d7fef52e.system.entry.js → p-a4e7eaf6.system.entry.js} +1 -1
  276. package/dist/ionic/{p-b6849d30.system.entry.js → p-aae5907a.system.entry.js} +1 -1
  277. package/dist/ionic/{p-6f36e4c8.system.entry.js → p-afba4c00.system.entry.js} +1 -1
  278. package/dist/ionic/{p-e2f893bd.entry.js → p-b1dbfc12.entry.js} +1 -1
  279. package/dist/ionic/{p-91b944fa.entry.js → p-bd1c99cb.entry.js} +1 -1
  280. package/dist/ionic/{p-2cf956b8.entry.js → p-c43872df.entry.js} +1 -1
  281. package/dist/ionic/p-c4f9367a.entry.js +4 -0
  282. package/dist/ionic/{p-6347c733.system.entry.js → p-c52ca485.system.entry.js} +1 -1
  283. package/dist/ionic/{p-d4896d36.system.entry.js → p-cad0b874.system.entry.js} +1 -1
  284. package/dist/ionic/{p-193d447d.system.entry.js → p-d9162cf7.system.entry.js} +1 -1
  285. package/dist/ionic/{p-3c3d353b.entry.js → p-dbe534f5.entry.js} +1 -1
  286. package/dist/ionic/{p-42a9bb35.entry.js → p-dde5afee.entry.js} +1 -1
  287. package/dist/ionic/{p-d6b60875.entry.js → p-de0b8503.entry.js} +1 -1
  288. package/dist/ionic/p-e3bd1070.entry.js +4 -0
  289. package/dist/ionic/{p-85b1ffae.entry.js → p-ebceb0ac.entry.js} +1 -1
  290. package/dist/ionic/{p-a873feda.system.entry.js → p-ec92cc52.system.entry.js} +1 -1
  291. package/dist/ionic/{p-447d4981.system.entry.js → p-ee70a913.system.entry.js} +1 -1
  292. package/dist/ionic/{p-73dc4950.entry.js → p-f2a72b24.entry.js} +1 -1
  293. package/dist/ionic/p-f4f255cb.system.js +1 -1
  294. package/dist/ionic/{p-c3a51c19.system.entry.js → p-f5f52b6d.system.entry.js} +1 -1
  295. package/dist/ionic/{p-4eed0eb2.system.entry.js → p-fa5a45cd.system.entry.js} +1 -1
  296. package/dist/ionic/{p-3b8b35c7.system.entry.js → p-fb048d4d.system.entry.js} +1 -1
  297. package/dist/ionic/p-fe00ac05.system.entry.js +4 -0
  298. package/dist/types/components/checkbox/checkbox.d.ts +19 -0
  299. package/dist/types/components/modal/modal.d.ts +6 -3
  300. package/dist/types/components/radio-group/radio-group.d.ts +15 -0
  301. package/dist/types/components/select/select.d.ts +23 -0
  302. package/dist/types/components.d.ts +50 -2
  303. package/hydrate/index.js +231 -106
  304. package/hydrate/index.mjs +231 -106
  305. package/package.json +1 -1
  306. package/dist/ionic/p-14be4015.entry.js +0 -4
  307. package/dist/ionic/p-30ec5574.entry.js +0 -4
  308. package/dist/ionic/p-37264dcc.entry.js +0 -4
  309. package/dist/ionic/p-49b2653a.system.entry.js +0 -4
  310. package/dist/ionic/p-59884cc7.system.entry.js +0 -4
  311. package/dist/ionic/p-7896a440.system.entry.js +0 -4
  312. package/dist/ionic/p-8b367303.entry.js +0 -4
  313. package/dist/ionic/p-ba61193a.entry.js +0 -4
  314. package/dist/ionic/p-ebb85488.entry.js +0 -4
  315. package/dist/ionic/p-ec197876.entry.js +0 -4
  316. package/dist/ionic/p-efcb7383.entry.js +0 -4
  317. package/dist/ionic/p-fc9149bd.entry.js +0 -4
@@ -626,14 +626,14 @@ const Menu = class {
626
626
  * the ionBackButton listener in the menu controller
627
627
  * will handle closing the menu when Escape is pressed.
628
628
  */
629
- return (index.h(index.Host, { key: 'da96fdb4c5ddf60e615cc4cdda7ccdb3fd7e089b', onKeyDown: hardwareBackButton.shouldUseCloseWatcher() ? null : this.onKeydown, role: "navigation", "aria-label": inheritedAttributes['aria-label'] || 'menu', class: {
629
+ return (index.h(index.Host, { key: '342db8551d26604128b29b21d2d8c37593972ed9', onKeyDown: hardwareBackButton.shouldUseCloseWatcher() ? null : this.onKeydown, role: "navigation", "aria-label": inheritedAttributes['aria-label'] || 'menu', class: {
630
630
  [mode]: true,
631
631
  [`menu-type-${type}`]: true,
632
632
  'menu-enabled': !disabled,
633
633
  [`menu-side-${side}`]: true,
634
634
  'menu-pane-visible': isPaneVisible,
635
635
  'split-pane-side': theme.hostContext('ion-split-pane', el),
636
- } }, index.h("div", { key: '894e680fe227534711128c7aca980964ddb5a08a', class: "menu-inner", part: "container", ref: (el) => (this.menuInnerEl = el) }, index.h("slot", { key: 'e9f5934518dc0cceaeadf1f2820614595fec6bc9' })), index.h("ion-backdrop", { key: '7282077817657b1bb6c155f1404c0a519fece993', ref: (el) => (this.backdropEl = el), class: "menu-backdrop", tappable: false, stopPropagation: false, part: "backdrop" })));
636
+ } }, index.h("div", { key: '3c9bec2862b7fb9d88de66b1600be01f6735e3dd', class: "menu-inner", part: "container", ref: (el) => (this.menuInnerEl = el) }, index.h("slot", { key: '76283b4b2a65c78646f92c3b273eea021eda499c' })), index.h("ion-backdrop", { key: '121c395bc4873542a1b6ae2c9e23f2e881e75d93', ref: (el) => (this.backdropEl = el), class: "menu-backdrop", tappable: false, stopPropagation: false, part: "backdrop" })));
637
637
  }
638
638
  get el() { return index.getElement(this); }
639
639
  static get watchers() { return {
@@ -706,7 +706,7 @@ const MenuButton = class {
706
706
  type: this.type,
707
707
  };
708
708
  const ariaLabel = inheritedAttributes['aria-label'] || 'menu';
709
- return (index.h(index.Host, { key: '7ec29715ce7926b7c2b08f3d9cac8aaa16b3dc28', onClick: this.onClick, "aria-disabled": disabled ? 'true' : null, "aria-hidden": hidden ? 'true' : null, class: theme.createColorClasses(color, {
709
+ return (index.h(index.Host, { key: '3cde3704f28eb275f4a5ff2985bbb68c1024e79c', onClick: this.onClick, "aria-disabled": disabled ? 'true' : null, "aria-hidden": hidden ? 'true' : null, class: theme.createColorClasses(color, {
710
710
  [mode]: true,
711
711
  button: true, // ion-buttons target .button
712
712
  'menu-button-hidden': hidden,
@@ -715,7 +715,7 @@ const MenuButton = class {
715
715
  'in-toolbar-color': theme.hostContext('ion-toolbar[color]', this.el),
716
716
  'ion-activatable': true,
717
717
  'ion-focusable': true,
718
- }) }, index.h("button", Object.assign({ key: 'd4c5929264af3ba0328118bcc27d2ab7ef5d3809' }, attrs, { disabled: disabled, class: "button-native", part: "native", "aria-label": ariaLabel }), index.h("span", { key: '7bfa6e9a93105486623d044861e879ec79ff64f1', class: "button-inner" }, index.h("slot", { key: '071ab58e285832fc188706166f5547d45d501ac5' }, index.h("ion-icon", { key: '918ec5d791921de9821c347af4f65f97dd94aabf', part: "icon", icon: menuIcon, mode: mode, lazy: false, "aria-hidden": "true" }))), mode === 'md' && index.h("ion-ripple-effect", { key: '00ffdd53f635e706c1dbd01b8e7944498650fe81', type: "unbounded" }))));
718
+ }) }, index.h("button", Object.assign({ key: 'a02a3374288bd1759b6e352ada8eab0d45c6422f' }, attrs, { disabled: disabled, class: "button-native", part: "native", "aria-label": ariaLabel }), index.h("span", { key: 'ba699f2277a4e7b27ce5e42faeefc53d8805bb43', class: "button-inner" }, index.h("slot", { key: '829fe6cbdeb173f50d1a670389d1565baa6273e4' }, index.h("ion-icon", { key: 'a9a9f7b8dcffc648a8429fe0adbe766869de72fd', part: "icon", icon: menuIcon, mode: mode, lazy: false, "aria-hidden": "true" }))), mode === 'md' && index.h("ion-ripple-effect", { key: '48deca9a771a249f2fc76eaa8b9741c8d66d8355', type: "unbounded" }))));
719
719
  }
720
720
  get el() { return index.getElement(this); }
721
721
  };
@@ -746,10 +746,10 @@ const MenuToggle = class {
746
746
  render() {
747
747
  const mode = ionicGlobal.getIonMode(this);
748
748
  const hidden = this.autoHide && !this.visible;
749
- return (index.h(index.Host, { key: '7c27ea5b0795676bf5cb33e1f83aa142c197f64e', onClick: this.onClick, "aria-hidden": hidden ? 'true' : null, class: {
749
+ return (index.h(index.Host, { key: '88e88fa13ac7f10ba3acfe378bd11cda0c7e2749', onClick: this.onClick, "aria-hidden": hidden ? 'true' : null, class: {
750
750
  [mode]: true,
751
751
  'menu-toggle-hidden': hidden,
752
- } }, index.h("slot", { key: '69f187becedc0fe34603d41d279f043cf0fdf776' })));
752
+ } }, index.h("slot", { key: '0a14c7b63eda64702d2fd1b4bc7db4809892842d' })));
753
753
  }
754
754
  };
755
755
  MenuToggle.style = IonMenuToggleStyle0;
@@ -1052,11 +1052,12 @@ const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpoint, ba
1052
1052
  const contentEl = index$2.findClosestIonContent(detail.event.target);
1053
1053
  currentBreakpoint = getCurrentBreakpoint();
1054
1054
  /**
1055
- * If we have expandToScroll disabled, we should not allow the swipe gesture to start
1056
- * if the content is being swiped.
1055
+ * If `expandToScroll` is disabled, we should not allow the swipe gesture
1056
+ * to start if the content is not scrolled to the top.
1057
1057
  */
1058
1058
  if (!expandToScroll && contentEl) {
1059
- return false;
1059
+ const scrollEl = index$2.isIonContent(contentEl) ? helpers.getElementRoot(contentEl).querySelector('.inner-scroll') : contentEl;
1060
+ return scrollEl.scrollTop === 0;
1060
1061
  }
1061
1062
  if (currentBreakpoint === 1 && contentEl) {
1062
1063
  /**
@@ -1114,6 +1115,13 @@ const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpoint, ba
1114
1115
  animation.progressStart(true, 1 - currentBreakpoint);
1115
1116
  };
1116
1117
  const onMove = (detail) => {
1118
+ /**
1119
+ * If `expandToScroll` is disabled, we should not allow the swipe gesture
1120
+ * to continue if the gesture is not pulling down.
1121
+ */
1122
+ if (!expandToScroll && detail.deltaY <= 0) {
1123
+ return;
1124
+ }
1117
1125
  /**
1118
1126
  * If we are pulling down, then it is possible we are pulling on the content.
1119
1127
  * We do not want scrolling to happen at the same time as the gesture.
@@ -1883,18 +1891,18 @@ const Modal = class {
1883
1891
  const mode = ionicGlobal.getIonMode(this);
1884
1892
  const isCardModal = presentingElement !== undefined && mode === 'ios';
1885
1893
  const isHandleCycle = handleBehavior === 'cycle';
1886
- return (index$3.h(index$3.Host, Object.assign({ key: 'ff15df63e72caaeb0a4ad68e9eedeaaa7d3f3bde', "no-router": true, tabindex: "-1" }, htmlAttributes, { style: {
1894
+ return (index$3.h(index$3.Host, Object.assign({ key: 'e661562f9e4126136cee337e4ab8ca69ac80faae', "no-router": true, tabindex: "-1" }, htmlAttributes, { style: {
1887
1895
  zIndex: `${20000 + this.overlayIndex}`,
1888
- }, class: Object.assign({ [mode]: true, ['modal-default']: !isCardModal && !isSheetModal, [`modal-card`]: isCardModal, [`modal-sheet`]: isSheetModal, [`modal-no-expand-scroll`]: isSheetModal && !expandToScroll, 'overlay-hidden': true, [overlays.FOCUS_TRAP_DISABLE_CLASS]: focusTrap === false }, theme.getClassMap(this.cssClass)), onIonBackdropTap: this.onBackdropTap, onIonModalDidPresent: this.onLifecycle, onIonModalWillPresent: this.onLifecycle, onIonModalWillDismiss: this.onLifecycle, onIonModalDidDismiss: this.onLifecycle }), index$3.h("ion-backdrop", { key: '27a73655779af9d175a829d3d2d29e42fd2a63ee', ref: (el) => (this.backdropEl = el), visible: this.showBackdrop, tappable: this.backdropDismiss, part: "backdrop" }), mode === 'ios' && index$3.h("div", { key: '406a65080087e7895026ecc2f04e9d707439e86f', class: "modal-shadow" }), index$3.h("div", Object.assign({ key: '8e410eb925374158996c82cbbd522f07d741679e',
1896
+ }, class: Object.assign({ [mode]: true, ['modal-default']: !isCardModal && !isSheetModal, [`modal-card`]: isCardModal, [`modal-sheet`]: isSheetModal, [`modal-no-expand-scroll`]: isSheetModal && !expandToScroll, 'overlay-hidden': true, [overlays.FOCUS_TRAP_DISABLE_CLASS]: focusTrap === false }, theme.getClassMap(this.cssClass)), onIonBackdropTap: this.onBackdropTap, onIonModalDidPresent: this.onLifecycle, onIonModalWillPresent: this.onLifecycle, onIonModalWillDismiss: this.onLifecycle, onIonModalDidDismiss: this.onLifecycle }), index$3.h("ion-backdrop", { key: '9221692e0e111f99e80239ca44faaaed9b288425', ref: (el) => (this.backdropEl = el), visible: this.showBackdrop, tappable: this.backdropDismiss, part: "backdrop" }), mode === 'ios' && index$3.h("div", { key: '20def7088d31e5eb13c3f2404c514cd8b74cd966', class: "modal-shadow" }), index$3.h("div", Object.assign({ key: 'b11229330571d4ff7b9136dfdddcd7d759ada876',
1889
1897
  /*
1890
1898
  role and aria-modal must be used on the
1891
1899
  same element. They must also be set inside the
1892
1900
  shadow DOM otherwise ion-button will not be highlighted
1893
1901
  when using VoiceOver: https://bugs.webkit.org/show_bug.cgi?id=247134
1894
1902
  */
1895
- role: "dialog" }, inheritedAttributes, { "aria-modal": "true", class: "modal-wrapper ion-overlay-wrapper", part: "content", ref: (el) => (this.wrapperEl = el) }), showHandle && (index$3.h("button", { key: '7326c969ebe5a70a35e83b09d3db2bb848c90e47', class: "modal-handle",
1903
+ role: "dialog" }, inheritedAttributes, { "aria-modal": "true", class: "modal-wrapper ion-overlay-wrapper", part: "content", ref: (el) => (this.wrapperEl = el) }), showHandle && (index$3.h("button", { key: '95b2a62477dfbc063a91910f0d37357388cfd914', class: "modal-handle",
1896
1904
  // Prevents the handle from receiving keyboard focus when it does not cycle
1897
- tabIndex: !isHandleCycle ? -1 : 0, "aria-label": "Activate to adjust the size of the dialog overlaying the screen", onClick: isHandleCycle ? this.onHandleClick : undefined, part: "handle" })), index$3.h("slot", { key: '0b65cdb9e337a27edf437b9e754e79f1449c217d' }))));
1905
+ tabIndex: !isHandleCycle ? -1 : 0, "aria-label": "Activate to adjust the size of the dialog overlaying the screen", onClick: isHandleCycle ? this.onHandleClick : undefined, part: "handle" })), index$3.h("slot", { key: 'fba17dfdbdffbfd8992f473f633d172c5124dc19' }))));
1898
1906
  }
1899
1907
  get el() { return index$3.getElement(this); }
1900
1908
  static get watchers() { return {
@@ -903,7 +903,7 @@ const Nav = class {
903
903
  }
904
904
  }
905
905
  render() {
906
- return index.h("slot", { key: 'dfe98cb6604a2015a49f41beffebdd2da957dfff' });
906
+ return index.h("slot", { key: '71e9b5d07fc90ca5534197a63a003a4154aabd59' });
907
907
  }
908
908
  get el() { return index.getElement(this); }
909
909
  static get watchers() { return {
@@ -945,7 +945,7 @@ const NavLink = class {
945
945
  this.routerAnimation = undefined;
946
946
  }
947
947
  render() {
948
- return index.h(index.Host, { key: 'd2f8545b4fbd5aa25ef36eb01dffbc5d35ccfbb9', onClick: this.onClick });
948
+ return index.h(index.Host, { key: '9ba170d1b10e08e8a6b5e6a30d363871d455a0a9', onClick: this.onClick });
949
949
  }
950
950
  get el() { return index.getElement(this); }
951
951
  };
@@ -88,10 +88,10 @@ const PickerColumnOption = class {
88
88
  render() {
89
89
  const { color, disabled, ariaLabel } = this;
90
90
  const mode = ionicGlobal.getIonMode(this);
91
- return (index.h(index.Host, { key: 'c743c6ef44bb9f765cc15b3b5d2864de6520203a', class: theme.createColorClasses(color, {
91
+ return (index.h(index.Host, { key: 'c1353e99c2aa19c0e3ddbe433557ed18e72e1c66', class: theme.createColorClasses(color, {
92
92
  [mode]: true,
93
93
  ['option-disabled']: disabled,
94
- }) }, index.h("button", { key: '4c3d9eb245c52b2c007f727e145cfb55759bd7a9', tabindex: "-1", "aria-label": ariaLabel, disabled: disabled, onClick: () => this.onClick() }, index.h("slot", { key: '4c907d2187cbe9d5941e27f2b12578e2b7271461' }))));
94
+ }) }, index.h("button", { key: 'b4ee62ecf7458a07a56e8aa494485766a87a3fcb', tabindex: "-1", "aria-label": ariaLabel, disabled: disabled, onClick: () => this.onClick() }, index.h("slot", { key: '9ab1e4700c27103b676670a4b3521c183c6ab83d' }))));
95
95
  }
96
96
  get el() { return index.getElement(this); }
97
97
  static get watchers() { return {
@@ -1298,9 +1298,9 @@ const Popover = class {
1298
1298
  const { onLifecycle, parentPopover, dismissOnSelect, side, arrow, htmlAttributes, focusTrap } = this;
1299
1299
  const desktop = ionicGlobal.isPlatform('desktop');
1300
1300
  const enableArrow = arrow && !parentPopover;
1301
- return (index.h(index.Host, Object.assign({ key: 'ffe8b37c9ffb5cac210a7307e6cdfcf78712905b', "aria-modal": "true", "no-router": true, tabindex: "-1" }, htmlAttributes, { style: {
1301
+ return (index.h(index.Host, Object.assign({ key: '48f108a9b74f121559626889dd5a1fcccf38fc3d', "aria-modal": "true", "no-router": true, tabindex: "-1" }, htmlAttributes, { style: {
1302
1302
  zIndex: `${20000 + this.overlayIndex}`,
1303
- }, class: Object.assign(Object.assign({}, theme.getClassMap(this.cssClass)), { [mode]: true, 'popover-translucent': this.translucent, 'overlay-hidden': true, 'popover-desktop': desktop, [`popover-side-${side}`]: true, [overlays.FOCUS_TRAP_DISABLE_CLASS]: focusTrap === false, 'popover-nested': !!parentPopover }), onIonPopoverDidPresent: onLifecycle, onIonPopoverWillPresent: onLifecycle, onIonPopoverWillDismiss: onLifecycle, onIonPopoverDidDismiss: onLifecycle, onIonBackdropTap: this.onBackdropTap }), !parentPopover && index.h("ion-backdrop", { key: '12b3ffa3928b4d56a4f09c3d2f5d493d47b45255', tappable: this.backdropDismiss, visible: this.showBackdrop, part: "backdrop" }), index.h("div", { key: '2c2862d5c7e75b637973c712b4982bf4978c0cdf', class: "popover-wrapper ion-overlay-wrapper", onClick: dismissOnSelect ? () => this.dismiss() : undefined }, enableArrow && index.h("div", { key: '0cfacc52afaa7abc28c1b7742889d7a1c23a37ad', class: "popover-arrow", part: "arrow" }), index.h("div", { key: '3ef570c44d4fe7f063dd419008c92c8c40d3cd22', class: "popover-content", part: "content" }, index.h("slot", { key: '6fc5dfdce20fee1642bc1f05d41b5bf7d1034457' })))));
1303
+ }, class: Object.assign(Object.assign({}, theme.getClassMap(this.cssClass)), { [mode]: true, 'popover-translucent': this.translucent, 'overlay-hidden': true, 'popover-desktop': desktop, [`popover-side-${side}`]: true, [overlays.FOCUS_TRAP_DISABLE_CLASS]: focusTrap === false, 'popover-nested': !!parentPopover }), onIonPopoverDidPresent: onLifecycle, onIonPopoverWillPresent: onLifecycle, onIonPopoverWillDismiss: onLifecycle, onIonPopoverDidDismiss: onLifecycle, onIonBackdropTap: this.onBackdropTap }), !parentPopover && index.h("ion-backdrop", { key: '580c14ab48472534f59eedc5ba7fa486df25ed4e', tappable: this.backdropDismiss, visible: this.showBackdrop, part: "backdrop" }), index.h("div", { key: '9bcf47893e8d3053e2baa40511785d84feb4038c', class: "popover-wrapper ion-overlay-wrapper", onClick: dismissOnSelect ? () => this.dismiss() : undefined }, enableArrow && index.h("div", { key: '4d47f2bdc01a546a88190c07f8f4700f21de6715', class: "popover-arrow", part: "arrow" }), index.h("div", { key: '70018c088654c1996e305b7b6b114419e97824ef', class: "popover-content", part: "content" }, index.h("slot", { key: '3de8e1959b8facba2fbe694947704832200d8276' })))));
1304
1304
  }
1305
1305
  get el() { return index.getElement(this); }
1306
1306
  static get watchers() { return {
@@ -31,7 +31,7 @@ const ProgressBar = class {
31
31
  const mode = ionicGlobal.getIonMode(this);
32
32
  // If the progress is displayed as a solid bar.
33
33
  const progressSolid = buffer === 1;
34
- return (index.h(index.Host, { key: '8d8ddf0b26fe33803d3a6168cbedd523d1a888e7', role: "progressbar", "aria-valuenow": type === 'determinate' ? value : null, "aria-valuemin": "0", "aria-valuemax": "1", class: theme.createColorClasses(color, {
34
+ return (index.h(index.Host, { key: 'd60eeaa18aaee607e083c0ef9d0de8178d47c4cd', role: "progressbar", "aria-valuenow": type === 'determinate' ? value : null, "aria-valuemin": "0", "aria-valuemax": "1", class: theme.createColorClasses(color, {
35
35
  [mode]: true,
36
36
  [`progress-bar-${type}`]: true,
37
37
  'progress-paused': paused,
@@ -125,7 +125,7 @@ const Radio = class {
125
125
  const { checked, disabled, color, el, justify, labelPlacement, hasLabel, buttonTabindex, alignment } = this;
126
126
  const mode = ionicGlobal.getIonMode(this);
127
127
  const inItem = theme.hostContext('ion-item', el);
128
- return (index.h(index.Host, { key: '5a0adab55ad009305de4856fa1b9f93f2279a734', onFocus: this.onFocus, onBlur: this.onBlur, onClick: this.onClick, class: theme.createColorClasses(color, {
128
+ return (index.h(index.Host, { key: '8badd4aec277addc0793e14df21f73bb345e99b7', onFocus: this.onFocus, onBlur: this.onBlur, onClick: this.onClick, class: theme.createColorClasses(color, {
129
129
  [mode]: true,
130
130
  'in-item': inItem,
131
131
  'radio-checked': checked,
@@ -136,10 +136,10 @@ const Radio = class {
136
136
  // Focus and active styling should not apply when the radio is in an item
137
137
  'ion-activatable': !inItem,
138
138
  'ion-focusable': !inItem,
139
- }), role: "radio", "aria-checked": checked ? 'true' : 'false', "aria-disabled": disabled ? 'true' : null, tabindex: buttonTabindex }, index.h("label", { key: 'f5673a798e6d87868339f046445f707e1d93b7b6', class: "radio-wrapper" }, index.h("div", { key: 'e9190c06f75a171cab63e3f74ccf771c3ed87005', class: {
139
+ }), role: "radio", "aria-checked": checked ? 'true' : 'false', "aria-disabled": disabled ? 'true' : null, tabindex: buttonTabindex }, index.h("label", { key: '8765b847edc93a1b5a16506e155ed03da807bb10', class: "radio-wrapper" }, index.h("div", { key: '3d568a0192a32d4f0b8a920019c79ff02639b5c9', class: {
140
140
  'label-text-wrapper': true,
141
141
  'label-text-wrapper-hidden': !hasLabel,
142
- }, part: "label" }, index.h("slot", { key: '6cedf4e7b3bd03e4a635727dd7b6094bab64af64' })), index.h("div", { key: '26dd48d9d2848b7f100b732abdc4a3171adde483', class: "native-wrapper" }, this.renderRadioControl()))));
142
+ }, part: "label" }, index.h("slot", { key: '331f3dc2ce5f6ed8f124fc4560f92e0f7c668a85' })), index.h("div", { key: '473bd4aaf448753e385f2dda3fddc9f56379aa19', class: "native-wrapper" }, this.renderRadioControl()))));
143
143
  }
144
144
  get el() { return index.getElement(this); }
145
145
  static get watchers() { return {
@@ -152,12 +152,20 @@ Radio.style = {
152
152
  md: IonRadioMdStyle0
153
153
  };
154
154
 
155
+ const radioGroupIosCss = "ion-radio-group{vertical-align:top}.radio-group-wrapper{display:inline}.radio-group-top{line-height:1.5}.radio-group-top .error-text{display:none;color:var(--ion-color-danger, #c5000f)}.radio-group-top .helper-text{display:block;color:var(--ion-color-step-700, var(--ion-text-color-step-300, #4d4d4d))}.ion-touched.ion-invalid .radio-group-top .error-text{display:block}.ion-touched.ion-invalid .radio-group-top .helper-text{display:none}ion-list .radio-group-top{-webkit-padding-start:16px;padding-inline-start:16px;-webkit-padding-end:16px;padding-inline-end:16px}";
156
+ const IonRadioGroupIosStyle0 = radioGroupIosCss;
157
+
158
+ const radioGroupMdCss = "ion-radio-group{vertical-align:top}.radio-group-wrapper{display:inline}.radio-group-top{line-height:1.5}.radio-group-top .error-text{display:none;color:var(--ion-color-danger, #c5000f)}.radio-group-top .helper-text{display:block;color:var(--ion-color-step-700, var(--ion-text-color-step-300, #4d4d4d))}.ion-touched.ion-invalid .radio-group-top .error-text{display:block}.ion-touched.ion-invalid .radio-group-top .helper-text{display:none}ion-list .radio-group-top{-webkit-padding-start:16px;padding-inline-start:16px;-webkit-padding-end:16px;padding-inline-end:16px}";
159
+ const IonRadioGroupMdStyle0 = radioGroupMdCss;
160
+
155
161
  const RadioGroup = class {
156
162
  constructor(hostRef) {
157
163
  index.registerInstance(this, hostRef);
158
164
  this.ionChange = index.createEvent(this, "ionChange", 7);
159
165
  this.ionValueChange = index.createEvent(this, "ionValueChange", 7);
160
166
  this.inputId = `ion-rg-${radioGroupIds++}`;
167
+ this.helperTextId = `${this.inputId}-helper-text`;
168
+ this.errorTextId = `${this.inputId}-error-text`;
161
169
  this.labelId = `${this.inputId}-lbl`;
162
170
  this.setRadioTabindex = (value) => {
163
171
  const radios = this.getRadios();
@@ -209,6 +217,8 @@ const RadioGroup = class {
209
217
  this.compareWith = undefined;
210
218
  this.name = this.inputId;
211
219
  this.value = undefined;
220
+ this.helperText = undefined;
221
+ this.errorText = undefined;
212
222
  }
213
223
  valueChanged(value) {
214
224
  this.setRadioTabindex(value);
@@ -307,11 +317,32 @@ const RadioGroup = class {
307
317
  const radioToFocus = this.getRadios().find((r) => r.tabIndex !== -1);
308
318
  radioToFocus === null || radioToFocus === void 0 ? void 0 : radioToFocus.setFocus();
309
319
  }
320
+ /**
321
+ * Renders the helper text or error text values
322
+ */
323
+ renderHintText() {
324
+ const { helperText, errorText, helperTextId, errorTextId } = this;
325
+ const hasHintText = !!helperText || !!errorText;
326
+ if (!hasHintText) {
327
+ return;
328
+ }
329
+ return (index.h("div", { class: "radio-group-top" }, index.h("div", { id: helperTextId, class: "helper-text" }, helperText), index.h("div", { id: errorTextId, class: "error-text" }, errorText)));
330
+ }
331
+ getHintTextID() {
332
+ const { el, helperText, errorText, helperTextId, errorTextId } = this;
333
+ if (el.classList.contains('ion-touched') && el.classList.contains('ion-invalid') && errorText) {
334
+ return errorTextId;
335
+ }
336
+ if (helperText) {
337
+ return helperTextId;
338
+ }
339
+ return undefined;
340
+ }
310
341
  render() {
311
342
  const { label, labelId, el, name, value } = this;
312
343
  const mode = ionicGlobal.getIonMode(this);
313
344
  helpers.renderHiddenInput(true, el, name, value, false);
314
- return index.h(index.Host, { key: 'a853e38901f0f4ba17bbf21ebb5da5b5c20b327e', role: "radiogroup", "aria-labelledby": label ? labelId : null, onClick: this.onClick, class: mode });
345
+ return (index.h(index.Host, { key: 'cac92777297029d7fd1b6af264d92850e35dfbba', role: "radiogroup", "aria-labelledby": label ? labelId : null, "aria-describedby": this.getHintTextID(), "aria-invalid": this.getHintTextID() === this.errorTextId, onClick: this.onClick, class: mode }, this.renderHintText(), index.h("div", { key: '6b5c634dba30d54eedc031b077863f3d6a9d9e9b', class: "radio-group-wrapper" }, index.h("slot", { key: '443edb3ff6f4c59d4c4324c8a19f2d6def47a322' }))));
315
346
  }
316
347
  get el() { return index.getElement(this); }
317
348
  static get watchers() { return {
@@ -319,6 +350,10 @@ const RadioGroup = class {
319
350
  }; }
320
351
  };
321
352
  let radioGroupIds = 0;
353
+ RadioGroup.style = {
354
+ ios: IonRadioGroupIosStyle0,
355
+ md: IonRadioGroupMdStyle0
356
+ };
322
357
 
323
358
  exports.ion_radio = Radio;
324
359
  exports.ion_radio_group = RadioGroup;
@@ -627,7 +627,7 @@ const Range = class {
627
627
  const needsEndAdjustment = inItem && !hasEndContent;
628
628
  const mode = ionicGlobal.getIonMode(this);
629
629
  helpers.renderHiddenInput(true, el, this.name, JSON.stringify(this.getValue()), disabled);
630
- return (index.h(index.Host, { key: 'a9dacdb8935627860188c035f2edf6b8cc751dc5', onFocusin: this.onFocus, onFocusout: this.onBlur, id: rangeId, class: theme.createColorClasses(this.color, {
630
+ return (index.h(index.Host, { key: 'ddecc98800b9137294c8cadfbde7d07d5b3825d7', onFocusin: this.onFocus, onFocusout: this.onBlur, id: rangeId, class: theme.createColorClasses(this.color, {
631
631
  [mode]: true,
632
632
  'in-item': inItem,
633
633
  'range-disabled': disabled,
@@ -636,10 +636,10 @@ const Range = class {
636
636
  [`range-label-placement-${labelPlacement}`]: true,
637
637
  'range-item-start-adjustment': needsStartAdjustment,
638
638
  'range-item-end-adjustment': needsEndAdjustment,
639
- }) }, index.h("label", { key: '4f5682ab5f793c1097956c092c8b88b6d676fe85', class: "range-wrapper", id: "range-label" }, index.h("div", { key: 'f906c5ab076275721cb8e99e22f5a3c2509713de', class: {
639
+ }) }, index.h("label", { key: '5afdbea21b1b82efde1126ceb0a263f85731aecf', class: "range-wrapper", id: "range-label" }, index.h("div", { key: 'e47e0bbefcb931dff5b846f47b4458153b73df94', class: {
640
640
  'label-text-wrapper': true,
641
641
  'label-text-wrapper-hidden': !hasLabel,
642
- }, part: "label" }, label !== undefined ? index.h("div", { class: "label-text" }, label) : index.h("slot", { name: "label" })), index.h("div", { key: 'bb6ca75df1394a01464d40a8b4ba6e08b3c12824', class: "native-wrapper" }, index.h("slot", { key: '34f6e5f0ee73864ed2fa64cf041639f842540ae6', name: "start" }), this.renderRangeSlider(), index.h("slot", { key: 'b8602e24234900fe9bb300610b236951bf2c6ebb', name: "end" })))));
642
+ }, part: "label" }, label !== undefined ? index.h("div", { class: "label-text" }, label) : index.h("slot", { name: "label" })), index.h("div", { key: '842f35cd03bb6108d1ecf0c0a07adfbdc900401c', class: "native-wrapper" }, index.h("slot", { key: '4a5141daaf5de5b3251bef4232ce5a27fc0395df', name: "start" }), this.renderRangeSlider(), index.h("slot", { key: '53ffe0a40b093c5fbcbc50d47eea6bb3f39dfdbb', name: "end" })))));
643
643
  }
644
644
  get el() { return index.getElement(this); }
645
645
  static get watchers() { return {
@@ -827,7 +827,7 @@ const Refresher = class {
827
827
  }
828
828
  render() {
829
829
  const mode = ionicGlobal.getIonMode(this);
830
- return (index.h(index.Host, { key: '9d4ac22988aec2c6af0b0c90934c52f62f0e4ce3', slot: "fixed", class: {
830
+ return (index.h(index.Host, { key: '4c36bffbfa32ef1bd28a60f4455c125842880659', slot: "fixed", class: {
831
831
  [mode]: true,
832
832
  // Used internally for styling
833
833
  [`refresher-${mode}`]: true,
@@ -894,7 +894,7 @@ const RefresherContent = class {
894
894
  const pullingIcon = this.pullingIcon;
895
895
  const hasSpinner = pullingIcon != null && spinnerConfigs.SPINNERS[pullingIcon] !== undefined;
896
896
  const mode = ionicGlobal.getIonMode(this);
897
- return (index.h(index.Host, { key: '19633bbcf02e3dba885d6bdcdaf2269bf4c8e2f5', class: mode }, index.h("div", { key: '28922e434a55a6cac0476fe2bee56941ce0d1c02', class: "refresher-pulling" }, this.pullingIcon && hasSpinner && (index.h("div", { key: 'fe575bf996021884677e9b23a3215d63caf894f5', class: "refresher-pulling-icon" }, index.h("div", { key: '59fe12297fd95bc33b8df8cd35316e2a1c084d91', class: "spinner-arrow-container" }, index.h("ion-spinner", { key: 'af9cc013ae04945c140b2865610ca73edb52ab48', name: this.pullingIcon, paused: true }), mode === 'md' && this.pullingIcon === 'circular' && (index.h("div", { key: '34df66ad1b0f706a0532957251aa2c20bf4587d8', class: "arrow-container" }, index.h("ion-icon", { key: 'ffdb5c123e606b823491c6c51cc2b497f62581bb', icon: index$2.caretBackSharp, "aria-hidden": "true" })))))), this.pullingIcon && !hasSpinner && (index.h("div", { key: 'ac3a2032bb969264d20fa057e9123441005d7a9d', class: "refresher-pulling-icon" }, index.h("ion-icon", { key: 'd969d10915548e72aae289b52154366f3dd39b31', icon: this.pullingIcon, lazy: false, "aria-hidden": "true" }))), this.pullingText !== undefined && this.renderPullingText()), index.h("div", { key: 'a8f854f81a94812d7bef8ce088331d94f49ff53d', class: "refresher-refreshing" }, this.refreshingSpinner && (index.h("div", { key: 'a1f646945370e40c844d62bc0c647443ae9dfbe7', class: "refresher-refreshing-icon" }, index.h("ion-spinner", { key: 'ab3ff4047769b6436e222b46d193c1e8b23e2fce', name: this.refreshingSpinner }))), this.refreshingText !== undefined && this.renderRefreshingText())));
897
+ return (index.h(index.Host, { key: 'fb78d7e31f8feb31025e58903eb9de85cb928dbd', class: mode }, index.h("div", { key: '23f67800f09765ef8fde8cf85a843e19e667f337', class: "refresher-pulling" }, this.pullingIcon && hasSpinner && (index.h("div", { key: '5a08d3b69762f8b51dcd3dcfbaf3fddb707257fa', class: "refresher-pulling-icon" }, index.h("div", { key: '42a613b029e092acdff7fe613a429375d89f157e', class: "spinner-arrow-container" }, index.h("ion-spinner", { key: '2f9cdc75938c4d306de7a717ed67901daef71c2c', name: this.pullingIcon, paused: true }), mode === 'md' && this.pullingIcon === 'circular' && (index.h("div", { key: '1f8a6347b4a46417ba55286a79f1a41f04bf9c91', class: "arrow-container" }, index.h("ion-icon", { key: '326713d11d482d420ba5a739ff4528400a37e9ca', icon: index$2.caretBackSharp, "aria-hidden": "true" })))))), this.pullingIcon && !hasSpinner && (index.h("div", { key: 'ab18c7cbea7bcbfa034f90f317652af4d93660ed', class: "refresher-pulling-icon" }, index.h("ion-icon", { key: 'f488acd54acc8a61b6c5a279f0d7f9a437c370c0', icon: this.pullingIcon, lazy: false, "aria-hidden": "true" }))), this.pullingText !== undefined && this.renderPullingText()), index.h("div", { key: '914ad6139442dac53af47120ea821fa11c309a38', class: "refresher-refreshing" }, this.refreshingSpinner && (index.h("div", { key: '7eba732f5e2d72b90399d68a3e89617d8979b3d1', class: "refresher-refreshing-icon" }, index.h("ion-spinner", { key: '838d66d8bef6f56622c62b1068e7fed29e094302', name: this.refreshingSpinner }))), this.refreshingText !== undefined && this.renderRefreshingText())));
898
898
  }
899
899
  get el() { return index.getElement(this); }
900
900
  };
@@ -37,7 +37,7 @@ const Reorder = class {
37
37
  render() {
38
38
  const mode = ionicGlobal.getIonMode(this);
39
39
  const reorderIcon = mode === 'ios' ? index$1.reorderThreeOutline : index$1.reorderTwoSharp;
40
- return (index.h(index.Host, { key: '27266e30bcb7e10c57fb6d546399cfb1f1c93b23', class: mode }, index.h("slot", { key: '8745cb9a31458e884c27eed1fb90d104fe9a79eb' }, index.h("ion-icon", { key: '6c4b9631a2f5610f1e21b2db025b6702d0d593bf', icon: reorderIcon, lazy: false, class: "reorder-icon", part: "icon", "aria-hidden": "true" }))));
40
+ return (index.h(index.Host, { key: '17adf3165f4e09283d5d6434d7cd47bd23519048', class: mode }, index.h("slot", { key: 'd00d1cd97c689fc5c7b7175a2051cf697fe22871' }, index.h("ion-icon", { key: 'eec219aebde6083de98358be3e75965c5a5dc3d0', icon: reorderIcon, lazy: false, class: "reorder-icon", part: "icon", "aria-hidden": "true" }))));
41
41
  }
42
42
  get el() { return index.getElement(this); }
43
43
  };
@@ -283,7 +283,7 @@ const ReorderGroup = class {
283
283
  }
284
284
  render() {
285
285
  const mode = ionicGlobal.getIonMode(this);
286
- return (index.h(index.Host, { key: 'a38c7fbceb677201330a602273d5b55abb32da19', class: {
286
+ return (index.h(index.Host, { key: '6ca009dd65302a914d459aec638e62977440db20', class: {
287
287
  [mode]: true,
288
288
  'reorder-enabled': !this.disabled,
289
289
  'reorder-list-active': this.state !== 0 /* ReorderGroupState.Idle */,
@@ -68,7 +68,7 @@ const RippleEffect = class {
68
68
  }
69
69
  render() {
70
70
  const mode = ionicGlobal.getIonMode(this);
71
- return (index.h(index.Host, { key: '7ae559bda5d2c1856a45bfa150c2cb4f83373f8e', role: "presentation", class: {
71
+ return (index.h(index.Host, { key: '40c7f73e7f5f67e29f83e1236a61c6e1c9943c42', role: "presentation", class: {
72
72
  [mode]: true,
73
73
  unbounded: this.unbounded,
74
74
  } }));
@@ -882,10 +882,10 @@ const RouterLink = class {
882
882
  rel: this.rel,
883
883
  target: this.target,
884
884
  };
885
- return (index.h(index.Host, { key: '529ceed5beaf92d7b4cc315c82f449eac18310e8', onClick: this.onClick, class: theme.createColorClasses(this.color, {
885
+ return (index.h(index.Host, { key: '11183264fb6ae0db9a7a47c71b6862d60001b834', onClick: this.onClick, class: theme.createColorClasses(this.color, {
886
886
  [mode]: true,
887
887
  'ion-activatable': true,
888
- }) }, index.h("a", Object.assign({ key: 'd5f1f8b256695d70bdafd20ff3d1b625963fa2da' }, attrs), index.h("slot", { key: '613fcdb36a71e076f989551ea21f1d5c118b1cd2' }))));
888
+ }) }, index.h("a", Object.assign({ key: '3e0e5242161cb0df593d6d573e51b8ba750065a1' }, attrs), index.h("slot", { key: '5bd808e98a4627bb1236f0d955f4b32971355417' }))));
889
889
  }
890
890
  };
891
891
  RouterLink.style = IonRouterLinkStyle0;
@@ -393,8 +393,8 @@ const Searchbar = class {
393
393
  const clearIcon = this.clearIcon || (mode === 'ios' ? index$1.closeCircle : index$1.closeSharp);
394
394
  const searchIcon = this.searchIcon || (mode === 'ios' ? index$1.searchOutline : index$1.searchSharp);
395
395
  const shouldShowCancelButton = this.shouldShowCancelButton();
396
- const cancelButton = this.showCancelButton !== 'never' && (index.h("button", { key: '0ef595eb1628928d4c7fdb166b8e41768700fa6e', "aria-label": cancelButtonText, "aria-hidden": shouldShowCancelButton ? undefined : 'true', type: "button", tabIndex: mode === 'ios' && !shouldShowCancelButton ? -1 : undefined, onMouseDown: this.onCancelSearchbar, onTouchStart: this.onCancelSearchbar, class: "searchbar-cancel-button" }, index.h("div", { key: 'ea2c9b36d991acf5af7662059cb6b045f683ca94', "aria-hidden": "true" }, mode === 'md' ? (index.h("ion-icon", { "aria-hidden": "true", mode: mode, icon: this.cancelButtonIcon, lazy: false })) : (cancelButtonText))));
397
- return (index.h(index.Host, { key: '17d57ece5852d03047e4d53ddad6c9d88a432a00', role: "search", "aria-disabled": this.disabled ? 'true' : null, class: theme.createColorClasses(this.color, {
396
+ const cancelButton = this.showCancelButton !== 'never' && (index.h("button", { key: '989f3e84c472ada6e66dd9b249d0d268bf17ce26', "aria-label": cancelButtonText, "aria-hidden": shouldShowCancelButton ? undefined : 'true', type: "button", tabIndex: mode === 'ios' && !shouldShowCancelButton ? -1 : undefined, onMouseDown: this.onCancelSearchbar, onTouchStart: this.onCancelSearchbar, class: "searchbar-cancel-button" }, index.h("div", { key: '7d335d4fde33822dc79d26b748ba2e98db7494bb', "aria-hidden": "true" }, mode === 'md' ? (index.h("ion-icon", { "aria-hidden": "true", mode: mode, icon: this.cancelButtonIcon, lazy: false })) : (cancelButtonText))));
397
+ return (index.h(index.Host, { key: 'd1a1972725e949fb102c91487aaa7b9d10c2d718', role: "search", "aria-disabled": this.disabled ? 'true' : null, class: theme.createColorClasses(this.color, {
398
398
  [mode]: true,
399
399
  'searchbar-animated': animated,
400
400
  'searchbar-disabled': this.disabled,
@@ -404,14 +404,14 @@ const Searchbar = class {
404
404
  'searchbar-has-focus': this.focused,
405
405
  'searchbar-should-show-clear': this.shouldShowClearButton(),
406
406
  'searchbar-should-show-cancel': this.shouldShowCancelButton(),
407
- }) }, index.h("div", { key: 'f67c2124e70c24eef0a271516e9c4bdaf7e98ceb', class: "searchbar-input-container" }, index.h("input", Object.assign({ key: '8c7f7ccc6809cca30ccc8c4e98e349d3f916321d', "aria-label": "search text", disabled: this.disabled, ref: (el) => (this.nativeInput = el), class: "searchbar-input", inputMode: this.inputmode, enterKeyHint: this.enterkeyhint, name: this.name, onInput: this.onInput, onChange: this.onChange, onBlur: this.onBlur, onFocus: this.onFocus, minLength: this.minlength, maxLength: this.maxlength, placeholder: this.placeholder, type: this.type, value: this.getValue(), autoCapitalize: autocapitalize === 'default' ? undefined : autocapitalize, autoComplete: this.autocomplete, autoCorrect: this.autocorrect, spellcheck: this.spellcheck }, this.inheritedAttributes)), mode === 'md' && cancelButton, index.h("ion-icon", { key: 'f06524d3163b3883bbde937862aa1e0e8f49f6e1', "aria-hidden": "true", mode: mode, icon: searchIcon, lazy: false, class: "searchbar-search-icon" }), index.h("button", { key: '9f7ba2bec93412ecb674b197be13db1de308bb57', "aria-label": "reset", type: "button", "no-blur": true, class: "searchbar-clear-button", onPointerDown: (ev) => {
407
+ }) }, index.h("div", { key: 'add53640b2994cb6b2bf02792dafe51aba6b1684', class: "searchbar-input-container" }, index.h("input", Object.assign({ key: '160cc36459a4a652e7f41ccd14dcdc782278779e', "aria-label": "search text", disabled: this.disabled, ref: (el) => (this.nativeInput = el), class: "searchbar-input", inputMode: this.inputmode, enterKeyHint: this.enterkeyhint, name: this.name, onInput: this.onInput, onChange: this.onChange, onBlur: this.onBlur, onFocus: this.onFocus, minLength: this.minlength, maxLength: this.maxlength, placeholder: this.placeholder, type: this.type, value: this.getValue(), autoCapitalize: autocapitalize === 'default' ? undefined : autocapitalize, autoComplete: this.autocomplete, autoCorrect: this.autocorrect, spellcheck: this.spellcheck }, this.inheritedAttributes)), mode === 'md' && cancelButton, index.h("ion-icon", { key: '8825fd13af0d2dea451ccc0e00ae7b5021dc01c4', "aria-hidden": "true", mode: mode, icon: searchIcon, lazy: false, class: "searchbar-search-icon" }), index.h("button", { key: '8a7b56da278b9ca5c4f5a4ee9c01924fd5ae29d8', "aria-label": "reset", type: "button", "no-blur": true, class: "searchbar-clear-button", onPointerDown: (ev) => {
408
408
  /**
409
409
  * This prevents mobile browsers from
410
410
  * blurring the input when the clear
411
411
  * button is activated.
412
412
  */
413
413
  ev.preventDefault();
414
- }, onClick: () => this.onClearInput(true) }, index.h("ion-icon", { key: '19fc3dbc722acc47ff7eb3c94ad4de8aed38dff4', "aria-hidden": "true", mode: mode, icon: clearIcon, lazy: false, class: "searchbar-clear-icon" }))), mode === 'ios' && cancelButton));
414
+ }, onClick: () => this.onClearInput(true) }, index.h("ion-icon", { key: '24c55274516ab012d8c25f03525c6cdb9409e52f', "aria-hidden": "true", mode: mode, icon: clearIcon, lazy: false, class: "searchbar-clear-icon" }))), mode === 'ios' && cancelButton));
415
415
  }
416
416
  get el() { return index.getElement(this); }
417
417
  static get watchers() { return {
@@ -15,7 +15,7 @@ const SegmentContent = class {
15
15
  index.registerInstance(this, hostRef);
16
16
  }
17
17
  render() {
18
- return (index.h(index.Host, { key: '03684b2999ac64fe13e376fd7e7f279976e9d4f2' }, index.h("slot", { key: '143031075bf33ca19e7cfd76fc8a67b83ccaf11c' })));
18
+ return (index.h(index.Host, { key: '64b3965b14c749e77e9ce13b59f349d971e245c8' }, index.h("slot", { key: '2d0bed34f9bc93f92e713cb51e42220f3cecd8f5' })));
19
19
  }
20
20
  };
21
21
  SegmentContent.style = IonSegmentContentStyle0;
@@ -107,10 +107,10 @@ const SegmentView = class {
107
107
  }
108
108
  render() {
109
109
  const { disabled, isManualScroll } = this;
110
- return (index.h(index.Host, { key: '9f4f11d31c4db776f077e59ae895b35dd4454717', class: {
110
+ return (index.h(index.Host, { key: 'fa528d2d9ae0f00fc3067defe2a047dce77c814a', class: {
111
111
  'segment-view-disabled': disabled,
112
112
  'segment-view-scroll-disabled': isManualScroll === false,
113
- } }, index.h("slot", { key: 'ea58b21f031cee2ab2b70580f336deaefa364538' })));
113
+ } }, index.h("slot", { key: '74dc8b4d073caeff1bab272d11b9ea3e1a215954' })));
114
114
  }
115
115
  get el() { return index.getElement(this); }
116
116
  };
@@ -540,14 +540,14 @@ const Segment = class {
540
540
  }
541
541
  render() {
542
542
  const mode = ionicGlobal.getIonMode(this);
543
- return (index.h(index.Host, { key: 'b1eb4a6e4f953f6c4882395585799503735bbc6b', role: "tablist", onClick: this.onClick, class: theme.createColorClasses(this.color, {
543
+ return (index.h(index.Host, { key: 'a64e39352050b516f7dc82ce95a4bcff8431d1d0', role: "tablist", onClick: this.onClick, class: theme.createColorClasses(this.color, {
544
544
  [mode]: true,
545
545
  'in-toolbar': theme.hostContext('ion-toolbar', this.el),
546
546
  'in-toolbar-color': theme.hostContext('ion-toolbar[color]', this.el),
547
547
  'segment-activated': this.activated,
548
548
  'segment-disabled': this.disabled,
549
549
  'segment-scrollable': this.scrollable,
550
- }) }, index.h("slot", { key: 'e7df6b017d154f30eb8021bc965f2e6c8e6480bf', onSlotchange: this.onSlottedItemsChange })));
550
+ }) }, index.h("slot", { key: 'bb3f3ec30e59e0461fa620d8961ab730cc802a4e', onSlotchange: this.onSlottedItemsChange })));
551
551
  }
552
552
  get el() { return index.getElement(this); }
553
553
  static get watchers() { return {
@@ -687,7 +687,7 @@ const SegmentButton = class {
687
687
  const { checked, type, disabled, hasIcon, hasLabel, layout, segmentEl } = this;
688
688
  const mode = ionicGlobal.getIonMode(this);
689
689
  const hasSegmentColor = () => (segmentEl === null || segmentEl === void 0 ? void 0 : segmentEl.color) !== undefined;
690
- return (index.h(index.Host, { key: 'f9da656c8eccb80e4ef30e3fa977f2dbbefbc988', class: {
690
+ return (index.h(index.Host, { key: 'e1e582b9a142cb07043ba08f02ad25f5a1fa5690', class: {
691
691
  [mode]: true,
692
692
  'in-toolbar': theme.hostContext('ion-toolbar', this.el),
693
693
  'in-toolbar-color': theme.hostContext('ion-toolbar[color]', this.el),
@@ -703,7 +703,7 @@ const SegmentButton = class {
703
703
  'ion-activatable': true,
704
704
  'ion-activatable-instant': true,
705
705
  'ion-focusable': true,
706
- } }, index.h("button", Object.assign({ key: '00dbcdbd81cd74abdd39803f6840a6e477cc7b0c', "aria-selected": checked ? 'true' : 'false', role: "tab", ref: (el) => (this.nativeEl = el), type: type, class: "button-native", part: "native", disabled: disabled }, this.inheritedAttributes), index.h("span", { key: '5200c082a9c4788010c4fc33fe75e2b2ad28364a', class: "button-inner" }, index.h("slot", { key: 'cf3fce2b5d22436b84cd4367a5885df7d6a2715f' })), mode === 'md' && index.h("ion-ripple-effect", { key: 'f1a2816465f4c2c06644be07315bff2da77e2342' })), index.h("div", { key: 'aaf31c0ed39641fca698ee98d0773131f4eea6bd', part: "indicator", class: "segment-button-indicator segment-button-indicator-animated" }, index.h("div", { key: 'fc556651361b7ac305aaedd25ea4afe3173abd20', part: "indicator-background", class: "segment-button-indicator-background" }))));
706
+ } }, index.h("button", Object.assign({ key: '8621a028894fb382854ff28779d0cadd3d9035f7', "aria-selected": checked ? 'true' : 'false', role: "tab", ref: (el) => (this.nativeEl = el), type: type, class: "button-native", part: "native", disabled: disabled }, this.inheritedAttributes), index.h("span", { key: '5c55858dbfb50734fb02d24091ebac3e0d05259f', class: "button-inner" }, index.h("slot", { key: '1f3bb8d76a1039ad648e202c650db06dfca88f79' })), mode === 'md' && index.h("ion-ripple-effect", { key: 'bda74b25bfdd431a8a36f0ee727b9184e9074321' })), index.h("div", { key: 'ff11369e921d6d0a540c75c37f692a3853e903f7', part: "indicator", class: "segment-button-indicator segment-button-indicator-animated" }, index.h("div", { key: '74ec4ca69331ed3f155fd8a8a356545941887df1', part: "indicator-background", class: "segment-button-indicator-background" }))));
707
707
  }
708
708
  get el() { return index.getElement(this); }
709
709
  static get watchers() { return {
@@ -98,7 +98,7 @@ const SelectModal = class {
98
98
  } }, option.text))));
99
99
  }
100
100
  render() {
101
- return (index.h(index.Host, { key: '4df42c447b4026d09d9231f09dc4bdae9a8cfe4a', class: ionicGlobal.getIonMode(this) }, index.h("ion-header", { key: '211c4e869b858867f3d60637e570aeb01de41de7' }, index.h("ion-toolbar", { key: 'dc4b151331aecbaaaafb460802ee9b689493601d' }, this.header !== undefined && index.h("ion-title", { key: 'ba1347a59ae0a5c6770c239b5ec02a536a445bd1' }, this.header), index.h("ion-buttons", { key: '43c98fd25d7e7f54b94b24e53535c6d5ba599892', slot: "end" }, index.h("ion-button", { key: '51b2b3f3eed42637b2cfc213c95d0bcf10e4b89d', onClick: () => this.closeModal() }, "Close")))), index.h("ion-content", { key: 'fe721b09f80555856211f7e40dbfc31a533acae1' }, index.h("ion-list", { key: 'd0b932d137136958d896408fb2fa571023775b92' }, this.multiple === true ? this.renderCheckboxOptions() : this.renderRadioOptions()))));
101
+ return (index.h(index.Host, { key: '885198a9f21884e3bfb9bf0af53e0ee3ae37b231', class: ionicGlobal.getIonMode(this) }, index.h("ion-header", { key: 'd8b63726869747ac711e4fda78a50ce46f72970c' }, index.h("ion-toolbar", { key: '9ab2a4c1480dd74eeae38d7b580a2e87fb71270e' }, this.header !== undefined && index.h("ion-title", { key: '87a7034385ef57f55cefdd0371dbb66a64827290' }, this.header), index.h("ion-buttons", { key: '0a35424ea13ca002abc9a43b6138730254f187d0', slot: "end" }, index.h("ion-button", { key: '238bf40b47128d9aa995d14d9ff9ebcae4f79492', onClick: () => this.closeModal() }, "Close")))), index.h("ion-content", { key: '4a256f3381f8cabbc7194337b8ae4aa1c3ab1066' }, index.h("ion-list", { key: 'acd38fc52024632176467ed6a84106a454021544' }, this.multiple === true ? this.renderCheckboxOptions() : this.renderRadioOptions()))));
102
102
  }
103
103
  get el() { return index.getElement(this); }
104
104
  };