@ionic/core 8.4.4-dev.11741136034.11909e03 → 8.4.4-dev.11741197052.19804443

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 (454) hide show
  1. package/components/alert.js +4 -25
  2. package/components/checkbox.js +6 -4
  3. package/components/index6.js +11 -3
  4. package/components/ion-input.js +2 -2
  5. package/components/ion-item-divider.js +2 -2
  6. package/components/ion-item-group.js +1 -1
  7. package/components/ion-item-option.js +2 -2
  8. package/components/ion-item-options.js +1 -1
  9. package/components/ion-item-sliding.js +1 -1
  10. package/components/ion-loading.js +2 -2
  11. package/components/ion-menu-button.js +2 -2
  12. package/components/ion-menu-toggle.js +2 -2
  13. package/components/ion-menu.js +2 -2
  14. package/components/ion-nav-link.js +1 -1
  15. package/components/ion-nav.js +1 -1
  16. package/components/ion-note.js +2 -2
  17. package/components/ion-picker-legacy.js +2 -2
  18. package/components/ion-progress-bar.js +1 -1
  19. package/components/ion-range.js +3 -3
  20. package/components/ion-refresher-content.js +1 -1
  21. package/components/ion-refresher.js +1 -1
  22. package/components/ion-reorder-group.js +1 -1
  23. package/components/ion-reorder.js +1 -1
  24. package/components/ion-router-link.js +2 -2
  25. package/components/ion-router-outlet.js +1 -1
  26. package/components/ion-row.js +1 -1
  27. package/components/ion-searchbar.js +4 -4
  28. package/components/ion-segment-button.js +2 -2
  29. package/components/ion-segment-content.js +1 -1
  30. package/components/ion-segment-view.js +2 -2
  31. package/components/ion-segment.js +2 -2
  32. package/components/ion-select-option.js +1 -1
  33. package/components/ion-select.js +43 -14
  34. package/components/ion-skeleton-text.js +2 -2
  35. package/components/ion-split-pane.js +2 -2
  36. package/components/ion-tab-bar.js +2 -2
  37. package/components/ion-tab-button.js +2 -2
  38. package/components/ion-tab.js +2 -2
  39. package/components/ion-tabs.js +1 -1
  40. package/components/ion-text.js +2 -2
  41. package/components/ion-textarea.js +4 -4
  42. package/components/ion-thumbnail.js +1 -1
  43. package/components/ion-toast.js +2 -2
  44. package/components/ion-toggle.js +6 -4
  45. package/components/label.js +2 -2
  46. package/components/list-header.js +2 -2
  47. package/components/modal.js +259 -35
  48. package/components/picker-column-option.js +2 -2
  49. package/components/picker-column2.js +2 -2
  50. package/components/popover.js +2 -2
  51. package/components/radio-group.js +39 -2
  52. package/components/radio.js +3 -3
  53. package/components/ripple-effect.js +1 -1
  54. package/components/select-modal.js +1 -1
  55. package/components/select-popover.js +1 -1
  56. package/components/spinner.js +1 -1
  57. package/components/title.js +2 -2
  58. package/components/toolbar.js +2 -2
  59. package/css/core.css.map +1 -1
  60. package/css/ionic.bundle.css.map +1 -1
  61. package/dist/cjs/{data-21dc0f81.js → data-108e531d.js} +1 -1
  62. package/dist/cjs/{index-1ae3f40a.js → index-0ff61d0b.js} +1 -1
  63. package/dist/cjs/{index-4e14a46e.js → index-26bb7e42.js} +3 -3
  64. package/dist/cjs/{index-5915f9b3.js → index-2a46a047.js} +11 -3
  65. package/dist/cjs/{index-c441c903.js → index-6770fc00.js} +1 -1
  66. package/dist/cjs/index.cjs.js +6 -6
  67. package/dist/cjs/{input-shims-e748a364.js → input-shims-fd997b01.js} +4 -2
  68. package/dist/cjs/{input.utils-74e4ec28.js → input.utils-c15a1814.js} +1 -1
  69. package/dist/cjs/ion-accordion_2.cjs.entry.js +1 -1
  70. package/dist/cjs/ion-action-sheet.cjs.entry.js +2 -2
  71. package/dist/cjs/ion-alert.cjs.entry.js +6 -27
  72. package/dist/cjs/ion-app_8.cjs.entry.js +10 -10
  73. package/dist/cjs/ion-avatar_3.cjs.entry.js +1 -1
  74. package/dist/cjs/ion-button_2.cjs.entry.js +1 -1
  75. package/dist/cjs/ion-checkbox.cjs.entry.js +5 -4
  76. package/dist/cjs/ion-col_3.cjs.entry.js +1 -1
  77. package/dist/cjs/ion-datetime-button.cjs.entry.js +2 -2
  78. package/dist/cjs/ion-datetime_3.cjs.entry.js +7 -7
  79. package/dist/cjs/ion-infinite-scroll_2.cjs.entry.js +2 -2
  80. package/dist/cjs/ion-input-password-toggle.cjs.entry.js +1 -1
  81. package/dist/cjs/ion-input.cjs.entry.js +4 -4
  82. package/dist/cjs/ion-item-option_3.cjs.entry.js +6 -6
  83. package/dist/cjs/ion-item_8.cjs.entry.js +11 -11
  84. package/dist/cjs/ion-loading.cjs.entry.js +4 -4
  85. package/dist/cjs/ion-menu_3.cjs.entry.js +9 -9
  86. package/dist/cjs/ion-modal.cjs.entry.js +262 -39
  87. package/dist/cjs/ion-nav_2.cjs.entry.js +4 -4
  88. package/dist/cjs/ion-picker-column-option.cjs.entry.js +2 -2
  89. package/dist/cjs/ion-popover.cjs.entry.js +5 -5
  90. package/dist/cjs/ion-progress-bar.cjs.entry.js +1 -1
  91. package/dist/cjs/ion-radio_2.cjs.entry.js +39 -4
  92. package/dist/cjs/ion-range.cjs.entry.js +5 -5
  93. package/dist/cjs/ion-refresher_2.cjs.entry.js +4 -4
  94. package/dist/cjs/ion-reorder_2.cjs.entry.js +4 -4
  95. package/dist/cjs/ion-ripple-effect.cjs.entry.js +1 -1
  96. package/dist/cjs/ion-route_4.cjs.entry.js +2 -2
  97. package/dist/cjs/ion-searchbar.cjs.entry.js +4 -4
  98. package/dist/cjs/ion-segment-content.cjs.entry.js +1 -1
  99. package/dist/cjs/ion-segment-view.cjs.entry.js +2 -2
  100. package/dist/cjs/ion-segment_2.cjs.entry.js +4 -4
  101. package/dist/cjs/ion-select-modal.cjs.entry.js +3 -3
  102. package/dist/cjs/ion-select_3.cjs.entry.js +45 -17
  103. package/dist/cjs/ion-spinner.cjs.entry.js +1 -1
  104. package/dist/cjs/ion-split-pane.cjs.entry.js +2 -2
  105. package/dist/cjs/ion-tab-bar_2.cjs.entry.js +4 -4
  106. package/dist/cjs/ion-tab_2.cjs.entry.js +3 -3
  107. package/dist/cjs/ion-text.cjs.entry.js +2 -2
  108. package/dist/cjs/ion-textarea.cjs.entry.js +6 -6
  109. package/dist/cjs/ion-toast.cjs.entry.js +4 -4
  110. package/dist/cjs/ion-toggle.cjs.entry.js +5 -4
  111. package/dist/cjs/ionic.cjs.js +1 -1
  112. package/dist/cjs/{ios.transition-afdec89f.js → ios.transition-a4f35c55.js} +2 -2
  113. package/dist/cjs/loader.cjs.js +1 -1
  114. package/dist/cjs/{md.transition-9f0d3db5.js → md.transition-cdf904e6.js} +2 -2
  115. package/dist/cjs/{overlays-76b29cd4.js → overlays-86695cf1.js} +1 -1
  116. package/dist/cjs/{status-tap-fb807fad.js → status-tap-1a2485c1.js} +3 -2
  117. package/dist/collection/components/alert/alert.js +4 -29
  118. package/dist/collection/components/checkbox/checkbox.js +23 -4
  119. package/dist/collection/components/input/input.ios.css +3 -2
  120. package/dist/collection/components/input/input.md.css +7 -2
  121. package/dist/collection/components/item-divider/item-divider.js +2 -2
  122. package/dist/collection/components/item-group/item-group.js +1 -1
  123. package/dist/collection/components/item-option/item-option.js +2 -2
  124. package/dist/collection/components/item-options/item-options.js +1 -1
  125. package/dist/collection/components/item-sliding/item-sliding.js +1 -1
  126. package/dist/collection/components/label/label.js +2 -2
  127. package/dist/collection/components/list-header/list-header.js +2 -2
  128. package/dist/collection/components/loading/loading.js +2 -2
  129. package/dist/collection/components/menu/menu.js +2 -2
  130. package/dist/collection/components/menu-button/menu-button.js +2 -2
  131. package/dist/collection/components/menu-toggle/menu-toggle.js +2 -2
  132. package/dist/collection/components/modal/animations/ios.enter.js +50 -4
  133. package/dist/collection/components/modal/animations/ios.leave.js +24 -2
  134. package/dist/collection/components/modal/animations/md.enter.js +52 -5
  135. package/dist/collection/components/modal/animations/md.leave.js +26 -3
  136. package/dist/collection/components/modal/animations/sheet.js +11 -2
  137. package/dist/collection/components/modal/gestures/sheet.js +79 -10
  138. package/dist/collection/components/modal/modal.ios.css +16 -0
  139. package/dist/collection/components/modal/modal.js +32 -7
  140. package/dist/collection/components/modal/modal.md.css +6 -0
  141. package/dist/collection/components/nav/nav.js +1 -1
  142. package/dist/collection/components/nav-link/nav-link.js +1 -1
  143. package/dist/collection/components/note/note.js +2 -2
  144. package/dist/collection/components/picker-column-option/picker-column-option.js +2 -2
  145. package/dist/collection/components/picker-legacy/picker.js +2 -2
  146. package/dist/collection/components/picker-legacy-column/picker-column.js +2 -2
  147. package/dist/collection/components/popover/popover.js +2 -2
  148. package/dist/collection/components/progress-bar/progress-bar.js +1 -1
  149. package/dist/collection/components/radio/radio.js +3 -3
  150. package/dist/collection/components/radio-group/radio-group.ios.css +205 -0
  151. package/dist/collection/components/radio-group/radio-group.js +72 -1
  152. package/dist/collection/components/radio-group/radio-group.md.css +205 -0
  153. package/dist/collection/components/range/range.js +3 -3
  154. package/dist/collection/components/refresher/refresher.js +1 -1
  155. package/dist/collection/components/refresher-content/refresher-content.js +1 -1
  156. package/dist/collection/components/reorder/reorder.js +1 -1
  157. package/dist/collection/components/reorder-group/reorder-group.js +1 -1
  158. package/dist/collection/components/ripple-effect/ripple-effect.js +1 -1
  159. package/dist/collection/components/router-link/router-link.js +2 -2
  160. package/dist/collection/components/router-outlet/router-outlet.js +1 -1
  161. package/dist/collection/components/row/row.js +1 -1
  162. package/dist/collection/components/searchbar/searchbar.js +4 -4
  163. package/dist/collection/components/segment/segment.js +2 -2
  164. package/dist/collection/components/segment-button/segment-button.js +2 -2
  165. package/dist/collection/components/segment-content/segment-content.js +1 -1
  166. package/dist/collection/components/segment-view/segment-view.js +2 -2
  167. package/dist/collection/components/select/select.js +59 -13
  168. package/dist/collection/components/select-modal/select-modal.js +1 -1
  169. package/dist/collection/components/select-option/select-option.js +1 -1
  170. package/dist/collection/components/select-popover/select-popover.js +1 -1
  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.ios.css +3 -2
  180. package/dist/collection/components/textarea/textarea.js +2 -2
  181. package/dist/collection/components/textarea/textarea.md.css +7 -2
  182. package/dist/collection/components/thumbnail/thumbnail.js +1 -1
  183. package/dist/collection/components/title/title.js +2 -2
  184. package/dist/collection/components/toast/toast.js +2 -2
  185. package/dist/collection/components/toggle/toggle.js +23 -4
  186. package/dist/collection/components/toolbar/toolbar.js +6 -2
  187. package/dist/collection/utils/logging/index.js +10 -3
  188. package/dist/docs.json +163 -6
  189. package/dist/esm/{data-ae11fd43.js → data-b3284b5e.js} +1 -1
  190. package/dist/esm/{index-7ec5519a.js → index-6a5baab0.js} +3 -3
  191. package/dist/esm/{index-9b0d46f4.js → index-6ad967f3.js} +11 -3
  192. package/dist/esm/{index-8785a9c6.js → index-7105cd59.js} +1 -1
  193. package/dist/esm/{index-33f7e3ff.js → index-dd0f7395.js} +1 -1
  194. package/dist/esm/index.js +6 -6
  195. package/dist/esm/{input-shims-0e65111b.js → input-shims-dff819a9.js} +4 -2
  196. package/dist/esm/{input.utils-1ad8dafc.js → input.utils-2f1029cf.js} +1 -1
  197. package/dist/esm/ion-accordion_2.entry.js +1 -1
  198. package/dist/esm/ion-action-sheet.entry.js +2 -2
  199. package/dist/esm/ion-alert.entry.js +6 -27
  200. package/dist/esm/ion-app_8.entry.js +10 -10
  201. package/dist/esm/ion-avatar_3.entry.js +1 -1
  202. package/dist/esm/ion-button_2.entry.js +1 -1
  203. package/dist/esm/ion-checkbox.entry.js +5 -4
  204. package/dist/esm/ion-col_3.entry.js +1 -1
  205. package/dist/esm/ion-datetime-button.entry.js +2 -2
  206. package/dist/esm/ion-datetime_3.entry.js +7 -7
  207. package/dist/esm/ion-infinite-scroll_2.entry.js +2 -2
  208. package/dist/esm/ion-input-password-toggle.entry.js +1 -1
  209. package/dist/esm/ion-input.entry.js +4 -4
  210. package/dist/esm/ion-item-option_3.entry.js +6 -6
  211. package/dist/esm/ion-item_8.entry.js +11 -11
  212. package/dist/esm/ion-loading.entry.js +4 -4
  213. package/dist/esm/ion-menu_3.entry.js +9 -9
  214. package/dist/esm/ion-modal.entry.js +262 -39
  215. package/dist/esm/ion-nav_2.entry.js +4 -4
  216. package/dist/esm/ion-picker-column-option.entry.js +2 -2
  217. package/dist/esm/ion-popover.entry.js +5 -5
  218. package/dist/esm/ion-progress-bar.entry.js +1 -1
  219. package/dist/esm/ion-radio_2.entry.js +39 -4
  220. package/dist/esm/ion-range.entry.js +5 -5
  221. package/dist/esm/ion-refresher_2.entry.js +4 -4
  222. package/dist/esm/ion-reorder_2.entry.js +4 -4
  223. package/dist/esm/ion-ripple-effect.entry.js +1 -1
  224. package/dist/esm/ion-route_4.entry.js +2 -2
  225. package/dist/esm/ion-searchbar.entry.js +4 -4
  226. package/dist/esm/ion-segment-content.entry.js +1 -1
  227. package/dist/esm/ion-segment-view.entry.js +2 -2
  228. package/dist/esm/ion-segment_2.entry.js +4 -4
  229. package/dist/esm/ion-select-modal.entry.js +3 -3
  230. package/dist/esm/ion-select_3.entry.js +46 -18
  231. package/dist/esm/ion-spinner.entry.js +1 -1
  232. package/dist/esm/ion-split-pane.entry.js +2 -2
  233. package/dist/esm/ion-tab-bar_2.entry.js +4 -4
  234. package/dist/esm/ion-tab_2.entry.js +3 -3
  235. package/dist/esm/ion-text.entry.js +2 -2
  236. package/dist/esm/ion-textarea.entry.js +6 -6
  237. package/dist/esm/ion-toast.entry.js +4 -4
  238. package/dist/esm/ion-toggle.entry.js +5 -4
  239. package/dist/esm/ionic.js +1 -1
  240. package/dist/esm/{ios.transition-085853ff.js → ios.transition-314468a2.js} +2 -2
  241. package/dist/esm/loader.js +1 -1
  242. package/dist/esm/{md.transition-33826623.js → md.transition-a560e0e2.js} +2 -2
  243. package/dist/esm/{overlays-e3d0d356.js → overlays-9a81f230.js} +1 -1
  244. package/dist/esm/{status-tap-163e8128.js → status-tap-d07dbc82.js} +3 -2
  245. package/dist/esm-es5/{data-ae11fd43.js → data-b3284b5e.js} +1 -1
  246. package/dist/esm-es5/{index-7ec5519a.js → index-6a5baab0.js} +1 -1
  247. package/dist/esm-es5/index-6ad967f3.js +4 -0
  248. package/dist/esm-es5/{index-8785a9c6.js → index-7105cd59.js} +1 -1
  249. package/dist/esm-es5/{index-33f7e3ff.js → index-dd0f7395.js} +1 -1
  250. package/dist/esm-es5/index.js +1 -1
  251. package/dist/esm-es5/input-shims-dff819a9.js +4 -0
  252. package/dist/esm-es5/{input.utils-1ad8dafc.js → input.utils-2f1029cf.js} +1 -1
  253. package/dist/esm-es5/ion-accordion_2.entry.js +1 -1
  254. package/dist/esm-es5/ion-action-sheet.entry.js +1 -1
  255. package/dist/esm-es5/ion-alert.entry.js +1 -1
  256. package/dist/esm-es5/ion-app_8.entry.js +1 -1
  257. package/dist/esm-es5/ion-avatar_3.entry.js +1 -1
  258. package/dist/esm-es5/ion-button_2.entry.js +1 -1
  259. package/dist/esm-es5/ion-checkbox.entry.js +1 -1
  260. package/dist/esm-es5/ion-col_3.entry.js +1 -1
  261. package/dist/esm-es5/ion-datetime-button.entry.js +1 -1
  262. package/dist/esm-es5/ion-datetime_3.entry.js +1 -1
  263. package/dist/esm-es5/ion-infinite-scroll_2.entry.js +1 -1
  264. package/dist/esm-es5/ion-input-password-toggle.entry.js +1 -1
  265. package/dist/esm-es5/ion-input.entry.js +1 -1
  266. package/dist/esm-es5/ion-item-option_3.entry.js +1 -1
  267. package/dist/esm-es5/ion-item_8.entry.js +1 -1
  268. package/dist/esm-es5/ion-loading.entry.js +1 -1
  269. package/dist/esm-es5/ion-menu_3.entry.js +1 -1
  270. package/dist/esm-es5/ion-modal.entry.js +1 -1
  271. package/dist/esm-es5/ion-nav_2.entry.js +1 -1
  272. package/dist/esm-es5/ion-picker-column-option.entry.js +1 -1
  273. package/dist/esm-es5/ion-popover.entry.js +1 -1
  274. package/dist/esm-es5/ion-progress-bar.entry.js +1 -1
  275. package/dist/esm-es5/ion-radio_2.entry.js +1 -1
  276. package/dist/esm-es5/ion-range.entry.js +1 -1
  277. package/dist/esm-es5/ion-refresher_2.entry.js +1 -1
  278. package/dist/esm-es5/ion-reorder_2.entry.js +1 -1
  279. package/dist/esm-es5/ion-ripple-effect.entry.js +1 -1
  280. package/dist/esm-es5/ion-route_4.entry.js +1 -1
  281. package/dist/esm-es5/ion-searchbar.entry.js +1 -1
  282. package/dist/esm-es5/ion-segment-content.entry.js +1 -1
  283. package/dist/esm-es5/ion-segment-view.entry.js +1 -1
  284. package/dist/esm-es5/ion-segment_2.entry.js +1 -1
  285. package/dist/esm-es5/ion-select-modal.entry.js +1 -1
  286. package/dist/esm-es5/ion-select_3.entry.js +1 -1
  287. package/dist/esm-es5/ion-spinner.entry.js +1 -1
  288. package/dist/esm-es5/ion-split-pane.entry.js +1 -1
  289. package/dist/esm-es5/ion-tab-bar_2.entry.js +1 -1
  290. package/dist/esm-es5/ion-tab_2.entry.js +1 -1
  291. package/dist/esm-es5/ion-text.entry.js +1 -1
  292. package/dist/esm-es5/ion-textarea.entry.js +1 -1
  293. package/dist/esm-es5/ion-toast.entry.js +1 -1
  294. package/dist/esm-es5/ion-toggle.entry.js +1 -1
  295. package/dist/esm-es5/ionic.js +1 -1
  296. package/dist/esm-es5/{ios.transition-085853ff.js → ios.transition-314468a2.js} +1 -1
  297. package/dist/esm-es5/loader.js +1 -1
  298. package/dist/esm-es5/md.transition-a560e0e2.js +4 -0
  299. package/dist/esm-es5/{overlays-e3d0d356.js → overlays-9a81f230.js} +1 -1
  300. package/dist/esm-es5/status-tap-d07dbc82.js +4 -0
  301. package/dist/html.html-data.json +24 -0
  302. package/dist/ionic/index.esm.js +1 -1
  303. package/dist/ionic/ionic.esm.js +1 -1
  304. package/dist/ionic/{p-56da53ad.system.entry.js → p-00cb90b3.system.entry.js} +1 -1
  305. package/dist/ionic/p-02b44bd5.entry.js +4 -0
  306. package/dist/ionic/p-03a356dc.system.entry.js +4 -0
  307. package/dist/ionic/{p-7b96e5c1.system.entry.js → p-04db4253.system.entry.js} +1 -1
  308. package/dist/ionic/{p-e8232807.system.js → p-058e61eb.system.js} +1 -1
  309. package/dist/ionic/{p-83e68c71.entry.js → p-0f427d00.entry.js} +1 -1
  310. package/dist/ionic/p-116f21ad.entry.js +4 -0
  311. package/dist/ionic/p-155f4d90.entry.js +4 -0
  312. package/dist/ionic/{p-0c9b6d3a.system.entry.js → p-18e101b7.system.entry.js} +1 -1
  313. package/dist/ionic/{p-d60342e3.js → p-1a5bc5f7.js} +1 -1
  314. package/dist/ionic/{p-9be5f3ee.system.entry.js → p-1ce80097.system.entry.js} +2 -2
  315. package/dist/ionic/p-21227121.js +4 -0
  316. package/dist/ionic/p-22149a4f.js +4 -0
  317. package/dist/ionic/{p-d192fdf7.system.entry.js → p-240be0f1.system.entry.js} +1 -1
  318. package/dist/ionic/{p-3df889b3.system.entry.js → p-29a385ad.system.entry.js} +2 -2
  319. package/dist/ionic/{p-16799667.system.entry.js → p-2f43663c.system.entry.js} +1 -1
  320. package/dist/ionic/{p-b91acf8d.system.entry.js → p-303c49af.system.entry.js} +1 -1
  321. package/dist/ionic/{p-ffc48bc5.system.entry.js → p-31080bfd.system.entry.js} +1 -1
  322. package/dist/ionic/p-322c5fb4.system.js +1 -1
  323. package/dist/ionic/{p-f687573e.system.js → p-343b6b1d.system.js} +1 -1
  324. package/dist/ionic/p-346b2baf.js +4 -0
  325. package/dist/ionic/{p-45de8d2a.entry.js → p-36c448fe.entry.js} +1 -1
  326. package/dist/ionic/{p-42808996.js → p-39dd4f62.js} +1 -1
  327. package/dist/ionic/p-3b9baafd.system.entry.js +4 -0
  328. package/dist/ionic/{p-1bc65aec.system.entry.js → p-3bcd8164.system.entry.js} +1 -1
  329. package/dist/ionic/{p-c32644d7.entry.js → p-3fb3f2eb.entry.js} +1 -1
  330. package/dist/ionic/{p-6b1bd0c1.entry.js → p-4312277a.entry.js} +1 -1
  331. package/dist/ionic/{p-afecb188.entry.js → p-442e3021.entry.js} +1 -1
  332. package/dist/ionic/{p-424eb140.system.entry.js → p-468b7fe5.system.entry.js} +1 -1
  333. package/dist/ionic/p-478523e8.entry.js +4 -0
  334. package/dist/ionic/{p-561ddcd4.system.entry.js → p-484d855b.system.entry.js} +1 -1
  335. package/dist/ionic/{p-6d32975a.entry.js → p-48d2c8e3.entry.js} +1 -1
  336. package/dist/ionic/p-4a585ae0.entry.js +4 -0
  337. package/dist/ionic/{p-f5035354.js → p-4d3a5f86.js} +1 -1
  338. package/dist/ionic/{p-f301a694.system.entry.js → p-50446cd6.system.entry.js} +1 -1
  339. package/dist/ionic/{p-265939f0.entry.js → p-50f5686a.entry.js} +1 -1
  340. package/dist/ionic/p-52245809.js +4 -0
  341. package/dist/ionic/{p-70ccc275.system.entry.js → p-53bca196.system.entry.js} +2 -2
  342. package/dist/ionic/{p-a3c78186.system.entry.js → p-55a56913.system.entry.js} +1 -1
  343. package/dist/ionic/{p-5b932840.entry.js → p-571f7efd.entry.js} +1 -1
  344. package/dist/ionic/{p-1a790eef.system.js → p-578efda4.system.js} +2 -2
  345. package/dist/ionic/{p-7b98cebe.entry.js → p-5bc4e7d6.entry.js} +1 -1
  346. package/dist/ionic/p-5c9324c6.js +4 -0
  347. package/dist/ionic/{p-a4575db1.system.entry.js → p-6085ef7a.system.entry.js} +1 -1
  348. package/dist/ionic/{p-82b931e2.entry.js → p-608fb244.entry.js} +1 -1
  349. package/dist/ionic/{p-7458862e.system.entry.js → p-65493214.system.entry.js} +1 -1
  350. package/dist/ionic/{p-e8c3fb87.system.entry.js → p-655723eb.system.entry.js} +1 -1
  351. package/dist/ionic/{p-32e99b0a.entry.js → p-666c9334.entry.js} +1 -1
  352. package/dist/ionic/p-67222c16.system.js +4 -0
  353. package/dist/ionic/{p-203633d1.entry.js → p-70af0afb.entry.js} +1 -1
  354. package/dist/ionic/p-712fedc9.entry.js +4 -0
  355. package/dist/ionic/{p-aa63b365.system.js → p-73897169.system.js} +1 -1
  356. package/dist/ionic/{p-e97a3f44.entry.js → p-7417fa0d.entry.js} +1 -1
  357. package/dist/ionic/{p-95775830.entry.js → p-7d6d8f1f.entry.js} +1 -1
  358. package/dist/ionic/{p-4c252070.entry.js → p-83f37f5a.entry.js} +1 -1
  359. package/dist/ionic/{p-77e7b7b6.system.entry.js → p-850cf316.system.entry.js} +1 -1
  360. package/dist/ionic/{p-a2b6dd57.system.js → p-860eb968.system.js} +1 -1
  361. package/dist/ionic/{p-da074ff7.entry.js → p-89bf08c7.entry.js} +1 -1
  362. package/dist/ionic/{p-c29f8157.system.entry.js → p-8cfba7e9.system.entry.js} +1 -1
  363. package/dist/ionic/{p-af09741c.entry.js → p-8d76f65b.entry.js} +1 -1
  364. package/dist/ionic/{p-340e3f24.system.js → p-8e407469.system.js} +1 -1
  365. package/dist/ionic/{p-0397811d.entry.js → p-913c767b.entry.js} +1 -1
  366. package/dist/ionic/{p-2507278c.system.entry.js → p-9659caca.system.entry.js} +1 -1
  367. package/dist/ionic/p-98d22c76.entry.js +4 -0
  368. package/dist/ionic/{p-13dc21b0.js → p-990630ca.js} +1 -1
  369. package/dist/ionic/p-9a100adc.entry.js +4 -0
  370. package/dist/ionic/{p-1bbe8665.system.entry.js → p-9d533d0f.system.entry.js} +2 -2
  371. package/dist/ionic/{p-df862603.entry.js → p-9fb84718.entry.js} +1 -1
  372. package/dist/ionic/p-a1eec999.entry.js +4 -0
  373. package/dist/ionic/{p-4346c79d.system.entry.js → p-a4681756.system.entry.js} +1 -1
  374. package/dist/ionic/{p-9a1f985d.system.entry.js → p-a4b99077.system.entry.js} +1 -1
  375. package/dist/ionic/{p-9eee4de1.system.js → p-acb30a5c.system.js} +1 -1
  376. package/dist/ionic/{p-48a8d9b4.system.entry.js → p-acc8399c.system.entry.js} +2 -2
  377. package/dist/ionic/{p-41780810.entry.js → p-ad64ea6c.entry.js} +1 -1
  378. package/dist/ionic/{p-881d9e52.system.js → p-af452fa4.system.js} +1 -1
  379. package/dist/ionic/{p-91f17b25.system.entry.js → p-af744710.system.entry.js} +2 -2
  380. package/dist/ionic/{p-e2e19375.system.entry.js → p-b6480b77.system.entry.js} +1 -1
  381. package/dist/ionic/p-b936eb7e.system.entry.js +4 -0
  382. package/dist/ionic/{p-57379000.entry.js → p-bc616455.entry.js} +1 -1
  383. package/dist/ionic/{p-26194519.entry.js → p-c06eeace.entry.js} +1 -1
  384. package/dist/ionic/{p-2abae1cc.system.entry.js → p-c078a25d.system.entry.js} +1 -1
  385. package/dist/ionic/p-c3802319.system.js +4 -0
  386. package/dist/ionic/{p-e1bbacb7.entry.js → p-c41319f5.entry.js} +1 -1
  387. package/dist/ionic/{p-02e23f26.entry.js → p-c41bfec3.entry.js} +1 -1
  388. package/dist/ionic/p-c5d5571d.system.entry.js +4 -0
  389. package/dist/ionic/{p-76446a85.entry.js → p-c68aa784.entry.js} +1 -1
  390. package/dist/ionic/p-c71ccf01.entry.js +4 -0
  391. package/dist/ionic/{p-92365bc1.system.entry.js → p-c905c1b6.system.entry.js} +1 -1
  392. package/dist/ionic/{p-02e1ebd9.js → p-c935cfc9.js} +1 -1
  393. package/dist/ionic/{p-73dc4950.entry.js → p-d12c8b7c.entry.js} +1 -1
  394. package/dist/ionic/{p-2ef3c7ee.system.entry.js → p-d5356f93.system.entry.js} +1 -1
  395. package/dist/ionic/{p-14143257.entry.js → p-d7bb5325.entry.js} +1 -1
  396. package/dist/ionic/{p-3572f86a.system.entry.js → p-d821466d.system.entry.js} +1 -1
  397. package/dist/ionic/{p-ed75fcfb.system.entry.js → p-d8a385f2.system.entry.js} +1 -1
  398. package/dist/ionic/{p-c1b51537.system.js → p-d99e8644.system.js} +1 -1
  399. package/dist/ionic/p-dcb3d82e.entry.js +4 -0
  400. package/dist/ionic/{p-d06601eb.system.entry.js → p-e2276d6e.system.entry.js} +1 -1
  401. package/dist/ionic/{p-3eaf1444.system.entry.js → p-e32557bb.system.entry.js} +1 -1
  402. package/dist/ionic/{p-f78af648.system.entry.js → p-e8c718c9.system.entry.js} +1 -1
  403. package/dist/ionic/p-e8d56122.js +4 -0
  404. package/dist/ionic/{p-fca6ef5f.system.entry.js → p-ed059cb7.system.entry.js} +1 -1
  405. package/dist/ionic/p-efe06d98.entry.js +4 -0
  406. package/dist/ionic/{p-62af944c.entry.js → p-f200c0f2.entry.js} +1 -1
  407. package/dist/ionic/{p-f42743d1.entry.js → p-f5d6624d.entry.js} +1 -1
  408. package/dist/ionic/{p-e308de5b.system.js → p-fbf86e62.system.js} +1 -1
  409. package/dist/ionic/{p-f2b8c349.system.entry.js → p-fd6967d6.system.entry.js} +1 -1
  410. package/dist/ionic/{p-57ceead7.entry.js → p-ff99d51d.entry.js} +1 -1
  411. package/dist/ionic/{p-2515cb4d.system.entry.js → p-ffeacdf4.system.entry.js} +1 -1
  412. package/dist/types/components/checkbox/checkbox.d.ts +6 -0
  413. package/dist/types/components/modal/animations/sheet.d.ts +1 -0
  414. package/dist/types/components/modal/gestures/sheet.d.ts +1 -1
  415. package/dist/types/components/modal/modal-interface.d.ts +1 -0
  416. package/dist/types/components/modal/modal.d.ts +11 -0
  417. package/dist/types/components/radio-group/radio-group.d.ts +15 -0
  418. package/dist/types/components/select/select.d.ts +6 -0
  419. package/dist/types/components/toggle/toggle.d.ts +6 -0
  420. package/dist/types/components/toolbar/toolbar.d.ts +4 -0
  421. package/dist/types/components.d.ts +48 -0
  422. package/dist/types/utils/config.d.ts +9 -0
  423. package/dist/types/utils/logging/index.d.ts +13 -1
  424. package/hydrate/index.js +457 -174
  425. package/hydrate/index.mjs +457 -174
  426. package/package.json +1 -1
  427. package/dist/esm-es5/index-9b0d46f4.js +0 -4
  428. package/dist/esm-es5/input-shims-0e65111b.js +0 -4
  429. package/dist/esm-es5/md.transition-33826623.js +0 -4
  430. package/dist/esm-es5/status-tap-163e8128.js +0 -4
  431. package/dist/ionic/p-06fee233.js +0 -4
  432. package/dist/ionic/p-075a94bd.js +0 -4
  433. package/dist/ionic/p-0a59f4fa.entry.js +0 -4
  434. package/dist/ionic/p-0e43be1b.entry.js +0 -4
  435. package/dist/ionic/p-0ee3b5a2.system.js +0 -4
  436. package/dist/ionic/p-135e5731.js +0 -4
  437. package/dist/ionic/p-14be4015.entry.js +0 -4
  438. package/dist/ionic/p-162c8d0c.system.entry.js +0 -4
  439. package/dist/ionic/p-16bfb979.system.entry.js +0 -4
  440. package/dist/ionic/p-25fa1d30.system.entry.js +0 -4
  441. package/dist/ionic/p-2c8798d0.entry.js +0 -4
  442. package/dist/ionic/p-49a0e74c.entry.js +0 -4
  443. package/dist/ionic/p-4e131759.entry.js +0 -4
  444. package/dist/ionic/p-51dec25d.js +0 -4
  445. package/dist/ionic/p-5cde8ef3.entry.js +0 -4
  446. package/dist/ionic/p-6190d0d6.entry.js +0 -4
  447. package/dist/ionic/p-61d044b4.entry.js +0 -4
  448. package/dist/ionic/p-68dc53a5.js +0 -4
  449. package/dist/ionic/p-803f0bc2.entry.js +0 -4
  450. package/dist/ionic/p-8a836849.entry.js +0 -4
  451. package/dist/ionic/p-b7433d7d.js +0 -4
  452. package/dist/ionic/p-cc700b6b.entry.js +0 -4
  453. package/dist/ionic/p-e265ae18.system.entry.js +0 -4
  454. package/dist/ionic/p-ff4b7e40.system.js +0 -4
@@ -0,0 +1,205 @@
1
+ /**
2
+ * Convert a font size to a dynamic font size.
3
+ * Fonts that participate in Dynamic Type should use
4
+ * dynamic font sizes.
5
+ * @param size - The initial font size including the unit (i.e. px or pt)
6
+ * @param unit (optional) - The unit to convert to. Use this if you want to
7
+ * convert to a unit other than $baselineUnit.
8
+ */
9
+ /**
10
+ * Convert a font size to a dynamic font size but impose
11
+ * a maximum font size.
12
+ * @param size - The initial font size including the unit (i.e. px or pt)
13
+ * @param maxScale - The maximum scale of the font (i.e. 2.5 for a maximum 250% scale).
14
+ * @param unit (optional) - The unit to convert the initial font size to. Use this if you want to
15
+ * convert to a unit other than $baselineUnit.
16
+ */
17
+ /**
18
+ * Convert a font size to a dynamic font size but impose
19
+ * a minimum font size.
20
+ * @param size - The initial font size including the unit (i.e. px or pt)
21
+ * @param minScale - The minimum scale of the font (i.e. 0.8 for a minimum 80% scale).
22
+ * @param unit (optional) - The unit to convert the initial font size to. Use this if you want to
23
+ * convert to a unit other than $baselineUnit.
24
+ */
25
+ /**
26
+ * Convert a font size to a dynamic font size but impose
27
+ * maximum and minimum font sizes.
28
+ * @param size - The initial font size including the unit (i.e. px or pt)
29
+ * @param minScale - The minimum scale of the font (i.e. 0.8 for a minimum 80% scale).
30
+ * @param maxScale - The maximum scale of the font (i.e. 2.5 for a maximum 250% scale).
31
+ * @param unit (optional) - The unit to convert the initial font size to. Use this if you want to
32
+ * convert to a unit other than $baselineUnit.
33
+ */
34
+ /**
35
+ * A heuristic that applies CSS to tablet
36
+ * viewports.
37
+ *
38
+ * Usage:
39
+ * @include tablet-viewport() {
40
+ * :host {
41
+ * background-color: green;
42
+ * }
43
+ * }
44
+ */
45
+ /**
46
+ * A heuristic that applies CSS to mobile
47
+ * viewports (i.e. phones, not tablets).
48
+ *
49
+ * Usage:
50
+ * @include mobile-viewport() {
51
+ * :host {
52
+ * background-color: blue;
53
+ * }
54
+ * }
55
+ */
56
+ /**
57
+ * Convert a font size to a dynamic font size.
58
+ * Fonts that participate in Dynamic Type should use
59
+ * dynamic font sizes.
60
+ * @param size - The initial font size including the unit (i.e. px or pt)
61
+ * @param unit (optional) - The unit to convert to. Use this if you want to
62
+ * convert to a unit other than $baselineUnit.
63
+ */
64
+ /**
65
+ * Convert a font size to a dynamic font size but impose
66
+ * a maximum font size.
67
+ * @param size - The initial font size including the unit (i.e. px or pt)
68
+ * @param maxScale - The maximum scale of the font (i.e. 2.5 for a maximum 250% scale).
69
+ * @param unit (optional) - The unit to convert the initial font size to. Use this if you want to
70
+ * convert to a unit other than $baselineUnit.
71
+ */
72
+ /**
73
+ * Convert a font size to a dynamic font size but impose
74
+ * a minimum font size.
75
+ * @param size - The initial font size including the unit (i.e. px or pt)
76
+ * @param minScale - The minimum scale of the font (i.e. 0.8 for a minimum 80% scale).
77
+ * @param unit (optional) - The unit to convert the initial font size to. Use this if you want to
78
+ * convert to a unit other than $baselineUnit.
79
+ */
80
+ /**
81
+ * Convert a font size to a dynamic font size but impose
82
+ * maximum and minimum font sizes.
83
+ * @param size - The initial font size including the unit (i.e. px or pt)
84
+ * @param minScale - The minimum scale of the font (i.e. 0.8 for a minimum 80% scale).
85
+ * @param maxScale - The maximum scale of the font (i.e. 2.5 for a maximum 250% scale).
86
+ * @param unit (optional) - The unit to convert the initial font size to. Use this if you want to
87
+ * convert to a unit other than $baselineUnit.
88
+ */
89
+ /**
90
+ * A heuristic that applies CSS to tablet
91
+ * viewports.
92
+ *
93
+ * Usage:
94
+ * @include tablet-viewport() {
95
+ * :host {
96
+ * background-color: green;
97
+ * }
98
+ * }
99
+ */
100
+ /**
101
+ * A heuristic that applies CSS to mobile
102
+ * viewports (i.e. phones, not tablets).
103
+ *
104
+ * Usage:
105
+ * @include mobile-viewport() {
106
+ * :host {
107
+ * background-color: blue;
108
+ * }
109
+ * }
110
+ */
111
+ ion-radio-group {
112
+ vertical-align: top;
113
+ }
114
+
115
+ .radio-group-wrapper {
116
+ display: inline;
117
+ }
118
+
119
+ .radio-group-top {
120
+ line-height: 1.5;
121
+ }
122
+
123
+ /**
124
+ * Error text should only be shown when .ion-invalid is present
125
+ * on the radio group. Otherwise the helper text should be shown.
126
+ */
127
+ .radio-group-top .error-text {
128
+ display: none;
129
+ color: var(--ion-color-danger, #c5000f);
130
+ }
131
+
132
+ .radio-group-top .helper-text {
133
+ display: block;
134
+ color: var(--ion-color-step-700, var(--ion-text-color-step-300, #4d4d4d));
135
+ }
136
+
137
+ .ion-touched.ion-invalid .radio-group-top .error-text {
138
+ display: block;
139
+ }
140
+
141
+ .ion-touched.ion-invalid .radio-group-top .helper-text {
142
+ display: none;
143
+ }
144
+
145
+ /**
146
+ * Convert a font size to a dynamic font size.
147
+ * Fonts that participate in Dynamic Type should use
148
+ * dynamic font sizes.
149
+ * @param size - The initial font size including the unit (i.e. px or pt)
150
+ * @param unit (optional) - The unit to convert to. Use this if you want to
151
+ * convert to a unit other than $baselineUnit.
152
+ */
153
+ /**
154
+ * Convert a font size to a dynamic font size but impose
155
+ * a maximum font size.
156
+ * @param size - The initial font size including the unit (i.e. px or pt)
157
+ * @param maxScale - The maximum scale of the font (i.e. 2.5 for a maximum 250% scale).
158
+ * @param unit (optional) - The unit to convert the initial font size to. Use this if you want to
159
+ * convert to a unit other than $baselineUnit.
160
+ */
161
+ /**
162
+ * Convert a font size to a dynamic font size but impose
163
+ * a minimum font size.
164
+ * @param size - The initial font size including the unit (i.e. px or pt)
165
+ * @param minScale - The minimum scale of the font (i.e. 0.8 for a minimum 80% scale).
166
+ * @param unit (optional) - The unit to convert the initial font size to. Use this if you want to
167
+ * convert to a unit other than $baselineUnit.
168
+ */
169
+ /**
170
+ * Convert a font size to a dynamic font size but impose
171
+ * maximum and minimum font sizes.
172
+ * @param size - The initial font size including the unit (i.e. px or pt)
173
+ * @param minScale - The minimum scale of the font (i.e. 0.8 for a minimum 80% scale).
174
+ * @param maxScale - The maximum scale of the font (i.e. 2.5 for a maximum 250% scale).
175
+ * @param unit (optional) - The unit to convert the initial font size to. Use this if you want to
176
+ * convert to a unit other than $baselineUnit.
177
+ */
178
+ /**
179
+ * A heuristic that applies CSS to tablet
180
+ * viewports.
181
+ *
182
+ * Usage:
183
+ * @include tablet-viewport() {
184
+ * :host {
185
+ * background-color: green;
186
+ * }
187
+ * }
188
+ */
189
+ /**
190
+ * A heuristic that applies CSS to mobile
191
+ * viewports (i.e. phones, not tablets).
192
+ *
193
+ * Usage:
194
+ * @include mobile-viewport() {
195
+ * :host {
196
+ * background-color: blue;
197
+ * }
198
+ * }
199
+ */
200
+ ion-list .radio-group-top {
201
+ -webkit-padding-start: 16px;
202
+ padding-inline-start: 16px;
203
+ -webkit-padding-end: 16px;
204
+ padding-inline-end: 16px;
205
+ }
@@ -564,7 +564,7 @@ export class Range {
564
564
  const needsEndAdjustment = inItem && !hasEndContent;
565
565
  const mode = getIonMode(this);
566
566
  renderHiddenInput(true, el, this.name, JSON.stringify(this.getValue()), disabled);
567
- return (h(Host, { key: '05c699caaead7cc74deaae2a958c4632191473a8', onFocusin: this.onFocus, onFocusout: this.onBlur, id: rangeId, class: createColorClasses(this.color, {
567
+ return (h(Host, { key: '657e59ea74a41a279f96f3fe50752541941b3d00', onFocusin: this.onFocus, onFocusout: this.onBlur, id: rangeId, class: createColorClasses(this.color, {
568
568
  [mode]: true,
569
569
  'in-item': inItem,
570
570
  'range-disabled': disabled,
@@ -573,10 +573,10 @@ export class Range {
573
573
  [`range-label-placement-${labelPlacement}`]: true,
574
574
  'range-item-start-adjustment': needsStartAdjustment,
575
575
  'range-item-end-adjustment': needsEndAdjustment,
576
- }) }, h("label", { key: '959837bcc48c4bda33ae1f62b66ef444329a2961', class: "range-wrapper", id: "range-label" }, h("div", { key: 'a434c6b5c26f57f52b3af98d881e7e6a179c89fc', class: {
576
+ }) }, h("label", { key: '96ad0cfec290bd25456925927e7638a0659a00c9', class: "range-wrapper", id: "range-label" }, h("div", { key: 'ca61076e921551c5de35c9d23262326a94c90ec5', class: {
577
577
  'label-text-wrapper': true,
578
578
  'label-text-wrapper-hidden': !hasLabel,
579
- }, part: "label" }, label !== undefined ? h("div", { class: "label-text" }, label) : h("slot", { name: "label" })), h("div", { key: '87df1037b6b3337bd1fab05d33a26bf658c57914', class: "native-wrapper" }, h("slot", { key: '2cb88f101da49b70aeae29b0bf5445fac241bb2f', name: "start" }), this.renderRangeSlider(), h("slot", { key: '17b835cfb2bd9b8e1957afd425543ff02b913d83', name: "end" })))));
579
+ }, part: "label" }, label !== undefined ? h("div", { class: "label-text" }, label) : h("slot", { name: "label" })), h("div", { key: '8f0f832bff583f68d65a25d3c8e92559edd5c134', class: "native-wrapper" }, h("slot", { key: '4faaa86fd7e912f10ce19fc4ae47ed3407240585', name: "start" }), this.renderRangeSlider(), h("slot", { key: 'a78d24ceb84ea094a37dc45f912bc457de3ee3e3', name: "end" })))));
580
580
  }
581
581
  static get is() { return "ion-range"; }
582
582
  static get encapsulation() { return "shadow"; }
@@ -621,7 +621,7 @@ export class Refresher {
621
621
  }
622
622
  render() {
623
623
  const mode = getIonMode(this);
624
- return (h(Host, { key: '9d4ac22988aec2c6af0b0c90934c52f62f0e4ce3', slot: "fixed", class: {
624
+ return (h(Host, { key: 'a3ef3ff131f96f85b27a3aba05aa6d5341e7abf8', slot: "fixed", class: {
625
625
  [mode]: true,
626
626
  // Used internally for styling
627
627
  [`refresher-${mode}`]: true,
@@ -52,7 +52,7 @@ export class RefresherContent {
52
52
  const pullingIcon = this.pullingIcon;
53
53
  const hasSpinner = pullingIcon != null && SPINNERS[pullingIcon] !== undefined;
54
54
  const mode = getIonMode(this);
55
- return (h(Host, { key: '19633bbcf02e3dba885d6bdcdaf2269bf4c8e2f5', class: mode }, h("div", { key: '28922e434a55a6cac0476fe2bee56941ce0d1c02', class: "refresher-pulling" }, this.pullingIcon && hasSpinner && (h("div", { key: 'fe575bf996021884677e9b23a3215d63caf894f5', class: "refresher-pulling-icon" }, h("div", { key: '59fe12297fd95bc33b8df8cd35316e2a1c084d91', class: "spinner-arrow-container" }, h("ion-spinner", { key: 'af9cc013ae04945c140b2865610ca73edb52ab48', name: this.pullingIcon, paused: true }), mode === 'md' && this.pullingIcon === 'circular' && (h("div", { key: '34df66ad1b0f706a0532957251aa2c20bf4587d8', class: "arrow-container" }, h("ion-icon", { key: 'ffdb5c123e606b823491c6c51cc2b497f62581bb', icon: caretBackSharp, "aria-hidden": "true" })))))), this.pullingIcon && !hasSpinner && (h("div", { key: 'ac3a2032bb969264d20fa057e9123441005d7a9d', class: "refresher-pulling-icon" }, h("ion-icon", { key: 'd969d10915548e72aae289b52154366f3dd39b31', icon: this.pullingIcon, lazy: false, "aria-hidden": "true" }))), this.pullingText !== undefined && this.renderPullingText()), h("div", { key: 'a8f854f81a94812d7bef8ce088331d94f49ff53d', class: "refresher-refreshing" }, this.refreshingSpinner && (h("div", { key: 'a1f646945370e40c844d62bc0c647443ae9dfbe7', class: "refresher-refreshing-icon" }, h("ion-spinner", { key: 'ab3ff4047769b6436e222b46d193c1e8b23e2fce', name: this.refreshingSpinner }))), this.refreshingText !== undefined && this.renderRefreshingText())));
55
+ return (h(Host, { key: '3f39dbc86521bbbe306cabeb2173fc50a2608650', class: mode }, h("div", { key: '854c88a15d009d50b671c462d06a71dd328b29b7', class: "refresher-pulling" }, this.pullingIcon && hasSpinner && (h("div", { key: 'a7ca7d3a4fad085ea52fd50b9a603562582b01f8', class: "refresher-pulling-icon" }, h("div", { key: '0a9233c62be54d7fe9d9fc149dc980853ce70e30', class: "spinner-arrow-container" }, h("ion-spinner", { key: '799dcda1fbe21384eb1b71adacd77fc6e572dd97', name: this.pullingIcon, paused: true }), mode === 'md' && this.pullingIcon === 'circular' && (h("div", { key: '6fd197609d90f3588206d6c37c7d4629d6d95158', class: "arrow-container" }, h("ion-icon", { key: '2ed5ed7934cd34d655bb9decd490a02629ece58a', icon: caretBackSharp, "aria-hidden": "true" })))))), this.pullingIcon && !hasSpinner && (h("div", { key: 'abcab0502dd83fd7804f6046e0218744e028747d', class: "refresher-pulling-icon" }, h("ion-icon", { key: '4c1c52856bd9a1730cd911b111a20a8a4bb2f8a5', icon: this.pullingIcon, lazy: false, "aria-hidden": "true" }))), this.pullingText !== undefined && this.renderPullingText()), h("div", { key: '4bea8d0f376c246ff967bd42a67d083e424bc4b8', class: "refresher-refreshing" }, this.refreshingSpinner && (h("div", { key: '887c40075bb7b9867b7dd75c87ef56076a1004fa', class: "refresher-refreshing-icon" }, h("ion-spinner", { key: 'd631774dd81cd16254f1d50eb90069f952db3e13', name: this.refreshingSpinner }))), this.refreshingText !== undefined && this.renderRefreshingText())));
56
56
  }
57
57
  static get is() { return "ion-refresher-content"; }
58
58
  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: '27266e30bcb7e10c57fb6d546399cfb1f1c93b23', class: mode }, h("slot", { key: '8745cb9a31458e884c27eed1fb90d104fe9a79eb' }, h("ion-icon", { key: '6c4b9631a2f5610f1e21b2db025b6702d0d593bf', icon: reorderIcon, lazy: false, class: "reorder-icon", part: "icon", "aria-hidden": "true" }))));
23
+ return (h(Host, { key: 'b99138409354d1d74f62005ed067ef2edcb5167f', class: mode }, h("slot", { key: 'dcd6d99f8103414767458b3eb4aac8bb6e2eebab' }, h("ion-icon", { key: 'ec70966b5b489e5604f3e1e25aba1916953b27ba', 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"; }
@@ -238,7 +238,7 @@ export class ReorderGroup {
238
238
  }
239
239
  render() {
240
240
  const mode = getIonMode(this);
241
- return (h(Host, { key: 'a38c7fbceb677201330a602273d5b55abb32da19', class: {
241
+ return (h(Host, { key: '7c2a33e57dff31ad71bab015eb086a5348453ba5', class: {
242
242
  [mode]: true,
243
243
  'reorder-enabled': !this.disabled,
244
244
  'reorder-list-active': this.state !== 0 /* ReorderGroupState.Idle */,
@@ -59,7 +59,7 @@ export class RippleEffect {
59
59
  }
60
60
  render() {
61
61
  const mode = getIonMode(this);
62
- return (h(Host, { key: '7ae559bda5d2c1856a45bfa150c2cb4f83373f8e', role: "presentation", class: {
62
+ return (h(Host, { key: '17c87440165ecda9c2e6fb93e48eb252dcc25a96', role: "presentation", class: {
63
63
  [mode]: true,
64
64
  unbounded: this.unbounded,
65
65
  } }));
@@ -23,10 +23,10 @@ export class RouterLink {
23
23
  rel: this.rel,
24
24
  target: this.target,
25
25
  };
26
- return (h(Host, { key: '529ceed5beaf92d7b4cc315c82f449eac18310e8', onClick: this.onClick, class: createColorClasses(this.color, {
26
+ return (h(Host, { key: '369e9502b2a95159b162d85bd498c7ae5f04a27a', onClick: this.onClick, class: createColorClasses(this.color, {
27
27
  [mode]: true,
28
28
  'ion-activatable': true,
29
- }) }, h("a", Object.assign({ key: 'd5f1f8b256695d70bdafd20ff3d1b625963fa2da' }, attrs), h("slot", { key: '613fcdb36a71e076f989551ea21f1d5c118b1cd2' }))));
29
+ }) }, h("a", Object.assign({ key: 'f479cde56291938b5ca7bba6891d2cbf21f82c81' }, attrs), h("slot", { key: '7f46ea35e0c4ac19f0ccfe593ef3706dec0e3b2e' }))));
30
30
  }
31
31
  static get is() { return "ion-router-link"; }
32
32
  static get encapsulation() { return "shadow"; }
@@ -177,7 +177,7 @@ export class RouterOutlet {
177
177
  return true;
178
178
  }
179
179
  render() {
180
- return h("slot", { key: 'a70341f58d19df55de1dad00e3464388e446aa2a' });
180
+ return h("slot", { key: '6a9003284c80d75b9945d508c8a3d56bbf283948' });
181
181
  }
182
182
  static get is() { return "ion-router-outlet"; }
183
183
  static get encapsulation() { return "shadow"; }
@@ -5,7 +5,7 @@ import { Host, h } from "@stencil/core";
5
5
  import { getIonMode } from "../../global/ionic-global";
6
6
  export class Row {
7
7
  render() {
8
- return (h(Host, { key: 'aea072a5005e3f1f309f0d1ae5be5ee19869b035', class: getIonMode(this) }, h("slot", { key: '2a481c2126ac6ca65f0a1bbd07c2d3365409cb78' })));
8
+ return (h(Host, { key: '3d11237af000c5670007ff4a9b7b18e66e32aafd', class: getIonMode(this) }, h("slot", { key: 'cd71e7f2baeaf32f36079743912eb591114ceeaa' })));
9
9
  }
10
10
  static get is() { return "ion-row"; }
11
11
  static get encapsulation() { return "shadow"; }
@@ -378,8 +378,8 @@ export class Searchbar {
378
378
  const clearIcon = this.clearIcon || (mode === 'ios' ? closeCircle : closeSharp);
379
379
  const searchIcon = this.searchIcon || (mode === 'ios' ? searchOutline : searchSharp);
380
380
  const shouldShowCancelButton = this.shouldShowCancelButton();
381
- const cancelButton = this.showCancelButton !== 'never' && (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" }, h("div", { key: 'ea2c9b36d991acf5af7662059cb6b045f683ca94', "aria-hidden": "true" }, mode === 'md' ? (h("ion-icon", { "aria-hidden": "true", mode: mode, icon: this.cancelButtonIcon, lazy: false })) : (cancelButtonText))));
382
- return (h(Host, { key: '17d57ece5852d03047e4d53ddad6c9d88a432a00', role: "search", "aria-disabled": this.disabled ? 'true' : null, class: createColorClasses(this.color, {
381
+ const cancelButton = this.showCancelButton !== 'never' && (h("button", { key: '0bfb27aeaa3e94828ae948e9b13c3d0cfcf57b98', "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" }, h("div", { key: '51916fccce5a19bb5ed81abce0d60350c4cfbb33', "aria-hidden": "true" }, mode === 'md' ? (h("ion-icon", { "aria-hidden": "true", mode: mode, icon: this.cancelButtonIcon, lazy: false })) : (cancelButtonText))));
382
+ return (h(Host, { key: '0a3d7d21538f32a1fd5160adc1c5f3f0c22a3de2', role: "search", "aria-disabled": this.disabled ? 'true' : null, class: createColorClasses(this.color, {
383
383
  [mode]: true,
384
384
  'searchbar-animated': animated,
385
385
  'searchbar-disabled': this.disabled,
@@ -389,14 +389,14 @@ export class Searchbar {
389
389
  'searchbar-has-focus': this.focused,
390
390
  'searchbar-should-show-clear': this.shouldShowClearButton(),
391
391
  'searchbar-should-show-cancel': this.shouldShowCancelButton(),
392
- }) }, h("div", { key: 'f67c2124e70c24eef0a271516e9c4bdaf7e98ceb', class: "searchbar-input-container" }, 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, h("ion-icon", { key: 'f06524d3163b3883bbde937862aa1e0e8f49f6e1', "aria-hidden": "true", mode: mode, icon: searchIcon, lazy: false, class: "searchbar-search-icon" }), h("button", { key: '9f7ba2bec93412ecb674b197be13db1de308bb57', "aria-label": "reset", type: "button", "no-blur": true, class: "searchbar-clear-button", onPointerDown: (ev) => {
392
+ }) }, h("div", { key: '8bba360c7bb1f480861406841eb7d8a4453f0210', class: "searchbar-input-container" }, h("input", Object.assign({ key: '92b9e26c0883db6f6f49feffd848828a21bdd125', "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, h("ion-icon", { key: '03d102d471ef37bd0a2681c0a234fe376ed0e344', "aria-hidden": "true", mode: mode, icon: searchIcon, lazy: false, class: "searchbar-search-icon" }), h("button", { key: '85fd9eb2eb18cb270007a5bb691914586a3e8fcc', "aria-label": "reset", type: "button", "no-blur": true, class: "searchbar-clear-button", onPointerDown: (ev) => {
393
393
  /**
394
394
  * This prevents mobile browsers from
395
395
  * blurring the input when the clear
396
396
  * button is activated.
397
397
  */
398
398
  ev.preventDefault();
399
- }, onClick: () => this.onClearInput(true) }, h("ion-icon", { key: '19fc3dbc722acc47ff7eb3c94ad4de8aed38dff4', "aria-hidden": "true", mode: mode, icon: clearIcon, lazy: false, class: "searchbar-clear-icon" }))), mode === 'ios' && cancelButton));
399
+ }, onClick: () => this.onClearInput(true) }, h("ion-icon", { key: '7332cab0d6a9b267680af452b1751324e5bb1a26', "aria-hidden": "true", mode: mode, icon: clearIcon, lazy: false, class: "searchbar-clear-icon" }))), mode === 'ios' && cancelButton));
400
400
  }
401
401
  static get is() { return "ion-searchbar"; }
402
402
  static get encapsulation() { return "scoped"; }
@@ -530,14 +530,14 @@ export class Segment {
530
530
  }
531
531
  render() {
532
532
  const mode = getIonMode(this);
533
- return (h(Host, { key: 'b1eb4a6e4f953f6c4882395585799503735bbc6b', role: "tablist", onClick: this.onClick, class: createColorClasses(this.color, {
533
+ return (h(Host, { key: 'b032b33244524cfbe3e05e9f95fc94e59e8589fe', role: "tablist", onClick: this.onClick, class: createColorClasses(this.color, {
534
534
  [mode]: true,
535
535
  'in-toolbar': hostContext('ion-toolbar', this.el),
536
536
  'in-toolbar-color': hostContext('ion-toolbar[color]', this.el),
537
537
  'segment-activated': this.activated,
538
538
  'segment-disabled': this.disabled,
539
539
  'segment-scrollable': this.scrollable,
540
- }) }, h("slot", { key: 'e7df6b017d154f30eb8021bc965f2e6c8e6480bf', onSlotchange: this.onSlottedItemsChange })));
540
+ }) }, h("slot", { key: 'e752fff555f586ed10248a75ef1d40f38d91e677', onSlotchange: this.onSlottedItemsChange })));
541
541
  }
542
542
  static get is() { return "ion-segment"; }
543
543
  static get encapsulation() { return "shadow"; }
@@ -130,7 +130,7 @@ export class SegmentButton {
130
130
  const { checked, type, disabled, hasIcon, hasLabel, layout, segmentEl } = this;
131
131
  const mode = getIonMode(this);
132
132
  const hasSegmentColor = () => (segmentEl === null || segmentEl === void 0 ? void 0 : segmentEl.color) !== undefined;
133
- return (h(Host, { key: 'f9da656c8eccb80e4ef30e3fa977f2dbbefbc988', class: {
133
+ return (h(Host, { key: '4d8025c02f1c4a1669a68e6ddfe684eedacb11d9', class: {
134
134
  [mode]: true,
135
135
  'in-toolbar': hostContext('ion-toolbar', this.el),
136
136
  'in-toolbar-color': hostContext('ion-toolbar[color]', this.el),
@@ -146,7 +146,7 @@ export class SegmentButton {
146
146
  'ion-activatable': true,
147
147
  'ion-activatable-instant': true,
148
148
  'ion-focusable': true,
149
- } }, 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), h("span", { key: '5200c082a9c4788010c4fc33fe75e2b2ad28364a', class: "button-inner" }, h("slot", { key: 'cf3fce2b5d22436b84cd4367a5885df7d6a2715f' })), mode === 'md' && h("ion-ripple-effect", { key: 'f1a2816465f4c2c06644be07315bff2da77e2342' })), h("div", { key: 'aaf31c0ed39641fca698ee98d0773131f4eea6bd', part: "indicator", class: "segment-button-indicator segment-button-indicator-animated" }, h("div", { key: 'fc556651361b7ac305aaedd25ea4afe3173abd20', part: "indicator-background", class: "segment-button-indicator-background" }))));
149
+ } }, h("button", Object.assign({ key: 'f8d8e54221297ad8a00cdedae2313ad28a39e58b', "aria-selected": checked ? 'true' : 'false', role: "tab", ref: (el) => (this.nativeEl = el), type: type, class: "button-native", part: "native", disabled: disabled }, this.inheritedAttributes), h("span", { key: '9cb3a8ab8ed4cd6965d12d487b6c3c4667ea13b0', class: "button-inner" }, h("slot", { key: 'cf4c773671a8f0b0117cfa77599e33527ef1e637' })), mode === 'md' && h("ion-ripple-effect", { key: '0010b6730a3bb7bf96943c4c4d5ec32e4c0feb8d' })), h("div", { key: 'a79f67d6dd377c508570ddc61c695a2a45d552ea', part: "indicator", class: "segment-button-indicator segment-button-indicator-animated" }, h("div", { key: '30a5d8b5bdc94d97e5e0d36fb4e72ca5a9adcfdf', part: "indicator-background", class: "segment-button-indicator-background" }))));
150
150
  }
151
151
  static get is() { return "ion-segment-button"; }
152
152
  static get encapsulation() { return "shadow"; }
@@ -4,7 +4,7 @@
4
4
  import { Host, h } from "@stencil/core";
5
5
  export class SegmentContent {
6
6
  render() {
7
- return (h(Host, { key: '03684b2999ac64fe13e376fd7e7f279976e9d4f2' }, h("slot", { key: '143031075bf33ca19e7cfd76fc8a67b83ccaf11c' })));
7
+ return (h(Host, { key: '1f7f256fdeb7ec661c84f268b239ab21ef170629' }, h("slot", { key: 'c704cf3b4c13deeb612d8a8ffdccef65d62f0866' })));
8
8
  }
9
9
  static get is() { return "ion-segment-content"; }
10
10
  static get encapsulation() { return "shadow"; }
@@ -94,10 +94,10 @@ export class SegmentView {
94
94
  }
95
95
  render() {
96
96
  const { disabled, isManualScroll } = this;
97
- return (h(Host, { key: '9f4f11d31c4db776f077e59ae895b35dd4454717', class: {
97
+ return (h(Host, { key: '4d51263d62b33762e7bbea48834b1701014c7f99', class: {
98
98
  'segment-view-disabled': disabled,
99
99
  'segment-view-scroll-disabled': isManualScroll === false,
100
- } }, h("slot", { key: 'ea58b21f031cee2ab2b70580f336deaefa364538' })));
100
+ } }, h("slot", { key: '4191dcd9964efc4815ceec776a953f24ad75f02d' })));
101
101
  }
102
102
  static get is() { return "ion-segment-view"; }
103
103
  static get encapsulation() { return "shadow"; }
@@ -91,6 +91,7 @@ export class Select {
91
91
  this.expandedIcon = undefined;
92
92
  this.shape = undefined;
93
93
  this.value = undefined;
94
+ this.required = false;
94
95
  }
95
96
  styleChanged() {
96
97
  this.emitStyle();
@@ -153,15 +154,8 @@ export class Select {
153
154
  }
154
155
  this.isExpanded = true;
155
156
  const overlay = (this.overlay = await this.createOverlay(event));
156
- overlay.onDidDismiss().then(() => {
157
- this.overlay = undefined;
158
- this.isExpanded = false;
159
- this.ionDismiss.emit();
160
- this.setFocus();
161
- });
162
- await overlay.present();
163
- // focus selected option for popovers and modals
164
- if (this.interface === 'popover' || this.interface === 'modal') {
157
+ // Add logic to scroll selected item into view before presenting
158
+ const scrollSelectedIntoView = () => {
165
159
  const indexOfSelected = this.childOpts.findIndex((o) => o.value === this.value);
166
160
  if (indexOfSelected > -1) {
167
161
  const selectedItem = overlay.querySelector(`.select-interface-option:nth-child(${indexOfSelected + 1})`);
@@ -179,6 +173,7 @@ export class Select {
179
173
  */
180
174
  const interactiveEl = selectedItem.querySelector('ion-radio, ion-checkbox');
181
175
  if (interactiveEl) {
176
+ selectedItem.scrollIntoView({ block: 'nearest' });
182
177
  // Needs to be called before `focusVisibleElement` to prevent issue with focus event bubbling
183
178
  // and removing `ion-focused` style
184
179
  interactiveEl.setFocus();
@@ -202,7 +197,40 @@ export class Select {
202
197
  focusVisibleElement(firstEnabledOption.closest('ion-item'));
203
198
  }
204
199
  }
200
+ };
201
+ // For modals and popovers, we can scroll before they're visible
202
+ if (this.interface === 'modal') {
203
+ overlay.addEventListener('ionModalWillPresent', scrollSelectedIntoView, { once: true });
205
204
  }
205
+ else if (this.interface === 'popover') {
206
+ overlay.addEventListener('ionPopoverWillPresent', scrollSelectedIntoView, { once: true });
207
+ }
208
+ else {
209
+ /**
210
+ * For alerts and action sheets, we need to wait a frame after willPresent
211
+ * because these overlays don't have their content in the DOM immediately
212
+ * when willPresent fires. By waiting a frame, we ensure the content is
213
+ * rendered and can be properly scrolled into view.
214
+ */
215
+ const scrollAfterRender = () => {
216
+ requestAnimationFrame(() => {
217
+ scrollSelectedIntoView();
218
+ });
219
+ };
220
+ if (this.interface === 'alert') {
221
+ overlay.addEventListener('ionAlertWillPresent', scrollAfterRender, { once: true });
222
+ }
223
+ else if (this.interface === 'action-sheet') {
224
+ overlay.addEventListener('ionActionSheetWillPresent', scrollAfterRender, { once: true });
225
+ }
226
+ }
227
+ overlay.onDidDismiss().then(() => {
228
+ this.overlay = undefined;
229
+ this.isExpanded = false;
230
+ this.ionDismiss.emit();
231
+ this.setFocus();
232
+ });
233
+ await overlay.present();
206
234
  return overlay;
207
235
  }
208
236
  createOverlay(ev) {
@@ -628,8 +656,8 @@ export class Select {
628
656
  return renderedLabel;
629
657
  }
630
658
  renderListbox() {
631
- const { disabled, inputId, isExpanded } = this;
632
- return (h("button", { disabled: disabled, id: inputId, "aria-label": this.ariaLabel, "aria-haspopup": "dialog", "aria-expanded": `${isExpanded}`, onFocus: this.onFocus, onBlur: this.onBlur, ref: (focusEl) => (this.focusEl = focusEl) }));
659
+ const { disabled, inputId, isExpanded, required } = this;
660
+ return (h("button", { disabled: disabled, id: inputId, "aria-label": this.ariaLabel, "aria-haspopup": "dialog", "aria-expanded": `${isExpanded}`, "aria-required": `${required}`, onFocus: this.onFocus, onBlur: this.onBlur, ref: (focusEl) => (this.focusEl = focusEl) }));
633
661
  }
634
662
  render() {
635
663
  const { disabled, el, isExpanded, expandedIcon, labelPlacement, justify, placeholder, fill, shape, name, value } = this;
@@ -660,7 +688,7 @@ export class Select {
660
688
  * TODO(FW-5592): Remove hasStartEndSlots condition
661
689
  */
662
690
  const labelShouldFloat = labelPlacement === 'stacked' || (labelPlacement === 'floating' && (hasValue || isExpanded || hasStartEndSlots));
663
- return (h(Host, { key: '144dfa5c49549a74fe516c65b9b8104a477ac789', onClick: this.onClick, class: createColorClasses(this.color, {
691
+ return (h(Host, { key: '250113cd5b4df6cbb28ead5877e201dc95ebbbae', onClick: this.onClick, class: createColorClasses(this.color, {
664
692
  [mode]: true,
665
693
  'in-item': inItem,
666
694
  'in-item-color': hostContext('ion-item.ion-color', el),
@@ -676,7 +704,7 @@ export class Select {
676
704
  [`select-justify-${justify}`]: justifyEnabled,
677
705
  [`select-shape-${shape}`]: shape !== undefined,
678
706
  [`select-label-placement-${labelPlacement}`]: true,
679
- }) }, h("label", { key: '0edcfcbac575a9dccc77991531b6980d1caebf42', class: "select-wrapper", id: "select-label" }, this.renderLabelContainer(), h("div", { key: '348151d90cb093f5d21c7d4a834264ac4a312c40', class: "select-wrapper-inner" }, h("slot", { key: '8b7708c7f81217435c58276da0c08bba766d9500', name: "start" }), h("div", { key: '10c520a335da0a0d1cf40f9365597beb244d3b48', class: "native-wrapper", ref: (el) => (this.nativeWrapperEl = el), part: "container" }, this.renderSelectText(), this.renderListbox()), h("slot", { key: '0f15c40a5495e98e29d2a21ba21e0bc6f1c0125a', name: "end" }), !hasFloatingOrStackedLabel && this.renderSelectIcon()), hasFloatingOrStackedLabel && this.renderSelectIcon(), shouldRenderHighlight && h("div", { key: 'c87faad2e5ebf7f9453397d7ede43abd64d21294', class: "select-highlight" }))));
707
+ }) }, h("label", { key: '7d6c071f35fb32e678a5f2e3bb9ed657d50e9fef', class: "select-wrapper", id: "select-label" }, this.renderLabelContainer(), h("div", { key: '1af6c2f94f184c387aff9e43af5c69f9fd165b7b', class: "select-wrapper-inner" }, h("slot", { key: '1a234e0a85889acd7a80bb90dff7206beeb223f2', name: "start" }), h("div", { key: 'bd9e3baf7dd50e4f4b12157f4c77d3d36d7d00b8', class: "native-wrapper", ref: (el) => (this.nativeWrapperEl = el), part: "container" }, this.renderSelectText(), this.renderListbox()), h("slot", { key: 'bf6bdbedaff52024230225c9c402678d4cad4b3f', name: "end" }), !hasFloatingOrStackedLabel && this.renderSelectIcon()), hasFloatingOrStackedLabel && this.renderSelectIcon(), shouldRenderHighlight && h("div", { key: '992bad964ce661d01852ea595220f88a48115ceb', class: "select-highlight" }))));
680
708
  }
681
709
  static get is() { return "ion-select"; }
682
710
  static get encapsulation() { return "shadow"; }
@@ -1042,6 +1070,24 @@ export class Select {
1042
1070
  },
1043
1071
  "attribute": "value",
1044
1072
  "reflect": false
1073
+ },
1074
+ "required": {
1075
+ "type": "boolean",
1076
+ "mutable": false,
1077
+ "complexType": {
1078
+ "original": "boolean",
1079
+ "resolved": "boolean",
1080
+ "references": {}
1081
+ },
1082
+ "required": false,
1083
+ "optional": false,
1084
+ "docs": {
1085
+ "tags": [],
1086
+ "text": "If true, screen readers will announce it as a required field. This property\nworks only for accessibility purposes, it will not prevent the form from\nsubmitting if the value is invalid."
1087
+ },
1088
+ "attribute": "required",
1089
+ "reflect": false,
1090
+ "defaultValue": "false"
1045
1091
  }
1046
1092
  };
1047
1093
  }
@@ -77,7 +77,7 @@ export class SelectModal {
77
77
  } }, option.text))));
78
78
  }
79
79
  render() {
80
- return (h(Host, { key: '4df42c447b4026d09d9231f09dc4bdae9a8cfe4a', class: getIonMode(this) }, h("ion-header", { key: '211c4e869b858867f3d60637e570aeb01de41de7' }, h("ion-toolbar", { key: 'dc4b151331aecbaaaafb460802ee9b689493601d' }, this.header !== undefined && h("ion-title", { key: 'ba1347a59ae0a5c6770c239b5ec02a536a445bd1' }, this.header), h("ion-buttons", { key: '43c98fd25d7e7f54b94b24e53535c6d5ba599892', slot: "end" }, h("ion-button", { key: '51b2b3f3eed42637b2cfc213c95d0bcf10e4b89d', onClick: () => this.closeModal() }, "Close")))), h("ion-content", { key: 'fe721b09f80555856211f7e40dbfc31a533acae1' }, h("ion-list", { key: 'd0b932d137136958d896408fb2fa571023775b92' }, this.multiple === true ? this.renderCheckboxOptions() : this.renderRadioOptions()))));
80
+ return (h(Host, { key: '0050013822a291082f6be05ed4b14632ef88d09c', class: getIonMode(this) }, h("ion-header", { key: 'b45b98ec81bb7ee2fefd56a3ed39dae5573b9caa' }, h("ion-toolbar", { key: '9ed8534528a89469d4ca99e59f5ed25930cd6e8d' }, this.header !== undefined && h("ion-title", { key: '61b6bbd26b5d6ad8f0348a12e57f856e99ff0a7b' }, this.header), h("ion-buttons", { key: '0624431bcb4dbc0ab14554cd93bfefefc3d4053c', slot: "end" }, h("ion-button", { key: '9f4915f3b94521b40dbf5dba7e47840d7bdc0586', onClick: () => this.closeModal() }, "Close")))), h("ion-content", { key: 'df16869a6036e9aee1a1bf45bf46cc309cf7eb9b' }, h("ion-list", { key: '0aa82c226df3416937136a2f4229169fccd651a1' }, this.multiple === true ? this.renderCheckboxOptions() : this.renderRadioOptions()))));
81
81
  }
82
82
  static get is() { return "ion-select-modal"; }
83
83
  static get encapsulation() { return "scoped"; }
@@ -10,7 +10,7 @@ export class SelectOption {
10
10
  this.value = undefined;
11
11
  }
12
12
  render() {
13
- return h(Host, { key: '2e6fa159464f04f6d8720f960141f67918bc7534', role: "option", id: this.inputId, class: getIonMode(this) });
13
+ return h(Host, { key: 'fa94cf1fc8b3ebed6981b05589072f7bc4402beb', role: "option", id: this.inputId, class: getIonMode(this) });
14
14
  }
15
15
  static get is() { return "ion-select-option"; }
16
16
  static get encapsulation() { return "shadow"; }
@@ -102,7 +102,7 @@ export class SelectPopover {
102
102
  render() {
103
103
  const { header, message, options, subHeader } = this;
104
104
  const hasSubHeaderOrMessage = subHeader !== undefined || message !== undefined;
105
- return (h(Host, { key: 'dd0990db4de4f175b176b27f35501dd1604ca400', class: getIonMode(this) }, h("ion-list", { key: 'cea2bc3687b8b2490a2a9ff4a1e16cd34169558e' }, header !== undefined && h("ion-list-header", { key: '194aebb53453c43f913daae45a1a3066a1708c4c' }, header), hasSubHeaderOrMessage && (h("ion-item", { key: 'b706b07a3c63ad8104d2db413e210c735ec1bec9' }, h("ion-label", { key: '6e52b5b4cf6b04ff3dd5671d64264233de4190d5', class: "ion-text-wrap" }, subHeader !== undefined && h("h3", { key: '6ef4440d17f5db8c96c63b9aa5073f4fe4b8ad62' }, subHeader), message !== undefined && h("p", { key: 'c7b3b76c30ecd606c0e985a0258c13d3a75756e7' }, message)))), this.renderOptions(options))));
105
+ return (h(Host, { key: 'aef83e0c71338c7fe840d8aa8a35457f0c02aca1', class: getIonMode(this) }, h("ion-list", { key: '0d006a2d50f1e60774a0b2492216f06d57bb8f29' }, header !== undefined && h("ion-list-header", { key: 'dd7cf5ab850f6597e678bf65e9a6e0cec335a61a' }, header), hasSubHeaderOrMessage && (h("ion-item", { key: 'fff2b677c26dbaa1c0d716f9bdaa4cd551e9ad70' }, h("ion-label", { key: '6358214355dc87a4e4cf8dd8954310a26461f037', class: "ion-text-wrap" }, subHeader !== undefined && h("h3", { key: '06fd296221969ef34df9dc8bbc256ee66af9fdba' }, subHeader), message !== undefined && h("p", { key: 'eac5f5aee78dcdf1cc5276d95e5e9892bbb69f24' }, message)))), this.renderOptions(options))));
106
106
  }
107
107
  static get is() { return "ion-select-popover"; }
108
108
  static get encapsulation() { return "scoped"; }
@@ -25,11 +25,11 @@ export class SkeletonText {
25
25
  const animated = this.animated && config.getBoolean('animated', true);
26
26
  const inMedia = hostContext('ion-avatar', this.el) || hostContext('ion-thumbnail', this.el);
27
27
  const mode = getIonMode(this);
28
- return (h(Host, { key: 'fdfabf9364caf507450239b62be24f08873bd650', class: {
28
+ return (h(Host, { key: '59a41a7f3ba2de4f44de57b3243c8f803eb88e2c', class: {
29
29
  [mode]: true,
30
30
  'skeleton-text-animated': animated,
31
31
  'in-media': inMedia,
32
- } }, h("span", { key: '3482c88dcc177547185ce87972afa064a542367d' }, "\u00A0")));
32
+ } }, h("span", { key: 'a59a5cea5504f523c4d9b1f428f66772103290aa' }, "\u00A0")));
33
33
  }
34
34
  static get is() { return "ion-skeleton-text"; }
35
35
  static get encapsulation() { return "shadow"; }
@@ -39,7 +39,7 @@ export class Spinner {
39
39
  svgs.push(buildLine(spinner, duration, i, spinner.lines));
40
40
  }
41
41
  }
42
- return (h(Host, { key: '9d30ee9f5aa0dd0e220da07e75d05b8b2435224d', class: createColorClasses(self.color, {
42
+ return (h(Host, { key: '8cb73346083cb8a17e38c90e3405fee806c55bbf', class: createColorClasses(self.color, {
43
43
  [mode]: true,
44
44
  [`spinner-${spinnerName}`]: true,
45
45
  'spinner-paused': self.paused || config.getBoolean('_testing'),
@@ -118,12 +118,12 @@ export class SplitPane {
118
118
  }
119
119
  render() {
120
120
  const mode = getIonMode(this);
121
- return (h(Host, { key: '1ca0b0299d03605bb358112ca56cbafbe58f00f5', class: {
121
+ return (h(Host, { key: 'a63ee13973b94cd58b0da9c00b06bd39b206dd60', class: {
122
122
  [mode]: true,
123
123
  // Used internally for styling
124
124
  [`split-pane-${mode}`]: true,
125
125
  'split-pane-visible': this.visible,
126
- } }, h("slot", { key: 'abe231361727ae7fc63edd592a4490caac1909fb' })));
126
+ } }, h("slot", { key: 'da6743bb0d17791f863d1f0ca1f59f5ceffe9613' })));
127
127
  }
128
128
  static get is() { return "ion-split-pane"; }
129
129
  static get encapsulation() { return "shadow"; }