@ionic/core 8.3.4-dev.11730140347.1a5a7bee → 8.3.4-dev.11730315987.18af6259

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 (1165) hide show
  1. package/components/action-sheet.js +8 -13
  2. package/components/alert.js +15 -18
  3. package/components/animation.js +1 -1
  4. package/components/backdrop.js +6 -10
  5. package/components/button.js +11 -41
  6. package/components/buttons.js +7 -11
  7. package/components/capacitor.js +1 -1
  8. package/components/checkbox.js +15 -30
  9. package/components/content.js +446 -0
  10. package/components/data.js +4 -4
  11. package/components/focus-visible.js +1 -8
  12. package/components/framework-delegate.js +1 -3
  13. package/components/hardware-back-button.js +115 -0
  14. package/components/header.js +356 -0
  15. package/components/helpers.js +1 -4
  16. package/components/index2.js +2 -2
  17. package/components/index4.js +11 -10
  18. package/components/index5.js +3 -27
  19. package/components/index6.js +20 -114
  20. package/components/index7.js +27 -163
  21. package/components/index8.js +128 -0
  22. package/{dist/esm/index-7f65e865.js → components/index9.js} +2 -3
  23. package/components/input-shims.js +2 -2
  24. package/components/input.utils.js +2 -1
  25. package/components/ion-accordion-group.js +6 -9
  26. package/components/ion-accordion.js +17 -36
  27. package/components/ion-app.js +77 -9
  28. package/components/ion-avatar.js +3 -52
  29. package/components/ion-back-button.js +19 -29
  30. package/components/ion-badge.js +8 -44
  31. package/components/ion-breadcrumb.js +11 -45
  32. package/components/ion-breadcrumbs.js +5 -9
  33. package/components/ion-card-content.js +7 -11
  34. package/components/ion-card-header.js +5 -9
  35. package/components/ion-card-subtitle.js +5 -9
  36. package/components/ion-card-title.js +5 -9
  37. package/components/ion-card.js +9 -17
  38. package/components/ion-chip.js +8 -45
  39. package/components/ion-col.js +5 -5
  40. package/components/ion-content.js +1 -443
  41. package/components/ion-datetime-button.js +6 -9
  42. package/components/ion-datetime.js +20 -96
  43. package/components/ion-fab-button.js +10 -33
  44. package/components/ion-fab-list.js +5 -5
  45. package/components/ion-fab.js +6 -6
  46. package/components/ion-footer.js +12 -18
  47. package/components/ion-grid.js +5 -5
  48. package/components/ion-header.js +1 -360
  49. package/components/ion-img.js +2 -5
  50. package/components/ion-infinite-scroll-content.js +8 -13
  51. package/components/ion-infinite-scroll.js +5 -5
  52. package/components/ion-input-password-toggle.js +14 -53
  53. package/components/ion-input.js +20 -118
  54. package/components/ion-item-divider.js +5 -9
  55. package/components/ion-item-group.js +5 -9
  56. package/components/ion-item-option.js +8 -28
  57. package/components/ion-item-options.js +5 -9
  58. package/components/ion-item-sliding.js +5 -5
  59. package/components/ion-loading.js +8 -13
  60. package/components/ion-menu-button.js +10 -28
  61. package/components/ion-menu-toggle.js +5 -5
  62. package/components/ion-menu.js +25 -29
  63. package/components/ion-modal.js +1 -1767
  64. package/components/ion-nav-link.js +1 -1
  65. package/components/ion-nav.js +6 -8
  66. package/components/ion-note.js +5 -9
  67. package/components/ion-picker-legacy.js +8 -7
  68. package/components/ion-progress-bar.js +6 -11
  69. package/components/ion-range.js +8 -11
  70. package/components/ion-refresher-content.js +9 -28
  71. package/components/ion-refresher.js +7 -11
  72. package/components/ion-reorder-group.js +5 -5
  73. package/components/ion-reorder.js +5 -31
  74. package/components/ion-router-link.js +6 -6
  75. package/components/ion-router-outlet.js +3 -4
  76. package/components/ion-row.js +2 -5
  77. package/components/ion-searchbar.js +16 -93
  78. package/components/ion-segment-button.js +8 -12
  79. package/components/ion-segment.js +7 -11
  80. package/components/ion-select-modal.d.ts +11 -0
  81. package/components/ion-select-modal.js +9 -0
  82. package/components/ion-select-option.js +2 -5
  83. package/components/ion-select.js +140 -116
  84. package/components/ion-skeleton-text.js +5 -6
  85. package/components/ion-split-pane.js +8 -12
  86. package/components/ion-tab-bar.js +8 -31
  87. package/components/ion-tab-button.js +7 -12
  88. package/components/ion-tab.js +2 -2
  89. package/components/ion-tabs.js +2 -2
  90. package/components/ion-text.js +5 -5
  91. package/components/ion-textarea.js +11 -38
  92. package/components/ion-thumbnail.js +2 -5
  93. package/components/ion-title.js +1 -74
  94. package/components/ion-toast.js +12 -30
  95. package/components/ion-toggle.js +18 -77
  96. package/components/ion-toolbar.js +1 -92
  97. package/components/ionic-global.js +84 -374
  98. package/components/ios.transition.js +0 -1
  99. package/components/item.js +11 -41
  100. package/components/keyboard-controller.js +2 -4
  101. package/components/label.js +5 -9
  102. package/components/list-header.js +5 -9
  103. package/components/list.js +6 -29
  104. package/components/modal.js +1742 -0
  105. package/components/notch-controller.js +1 -1
  106. package/components/overlays.js +5 -4
  107. package/components/picker-column-option.js +5 -9
  108. package/components/picker-column.js +8 -7
  109. package/components/picker-column2.js +4 -4
  110. package/components/picker.js +4 -8
  111. package/components/popover.js +8 -11
  112. package/components/radio-group.js +7 -7
  113. package/components/radio.js +12 -14
  114. package/components/ripple-effect.js +8 -18
  115. package/components/select-modal.js +197 -0
  116. package/components/select-popover.js +2 -9
  117. package/components/spinner.js +9 -36
  118. package/components/status-tap.js +1 -1
  119. package/components/title.js +75 -0
  120. package/components/toolbar.js +93 -0
  121. package/css/core.css +1 -1
  122. package/css/core.css.map +1 -1
  123. package/css/display.css.map +1 -1
  124. package/css/flex-utils.css.map +1 -1
  125. package/css/float-elements.css.map +1 -1
  126. package/css/global.bundle.css.map +1 -1
  127. package/css/ionic-swiper.css +1 -1
  128. package/css/ionic-swiper.css.map +1 -1
  129. package/css/ionic.bundle.css +1 -1
  130. package/css/ionic.bundle.css.map +1 -1
  131. package/css/normalize.css.map +1 -1
  132. package/css/padding.css.map +1 -1
  133. package/css/palettes/dark.always.css.map +1 -1
  134. package/css/palettes/dark.class.css.map +1 -1
  135. package/css/palettes/dark.system.css.map +1 -1
  136. package/css/palettes/high-contrast-dark.always.css.map +1 -1
  137. package/css/palettes/high-contrast-dark.class.css.map +1 -1
  138. package/css/palettes/high-contrast-dark.system.css.map +1 -1
  139. package/css/palettes/high-contrast.always.css.map +1 -1
  140. package/css/palettes/high-contrast.class.css.map +1 -1
  141. package/css/palettes/high-contrast.system.css.map +1 -1
  142. package/css/structure.css.map +1 -1
  143. package/css/text-alignment.css.map +1 -1
  144. package/css/text-transformation.css.map +1 -1
  145. package/css/typography.css.map +1 -1
  146. package/css/utils.bundle.css.map +1 -1
  147. package/dist/cjs/{animation-232e0c8f.js → animation-b4fdf128.js} +2 -2
  148. package/dist/cjs/{app-globals-0189a70c.js → app-globals-21afee77.js} +1 -1
  149. package/dist/cjs/{button-active-41228dbf.js → button-active-3f2f60b4.js} +4 -4
  150. package/dist/cjs/{capacitor-806e7fee.js → capacitor-c04564bf.js} +3 -3
  151. package/dist/cjs/{data-cad5d489.js → data-21dc0f81.js} +6 -6
  152. package/dist/{esm/focus-visible-501aff19.js → cjs/focus-visible-7a0ce04f.js} +3 -8
  153. package/dist/cjs/{framework-delegate-cf116b1d.js → framework-delegate-55f5683a.js} +2 -4
  154. package/dist/cjs/{haptic-f0cad9a6.js → haptic-f6b37aa3.js} +1 -1
  155. package/dist/cjs/hardware-back-button-9e8a2c4f.js +122 -0
  156. package/dist/cjs/{helpers-e75eb909.js → helpers-afaa9001.js} +1 -4
  157. package/dist/cjs/index-5915f9b3.js +38 -0
  158. package/dist/cjs/{index-1d02518d.js → index-5b6a7459.js} +3 -3
  159. package/dist/cjs/{config-1349d5b4.js → index-73f75efb.js} +0 -79
  160. package/dist/cjs/{index-71085796.js → index-8e789962.js} +17 -16
  161. package/dist/cjs/{index-2c8b42cd.js → index-9509ecad.js} +7 -8
  162. package/dist/cjs/index-c8d52405.js +10 -0
  163. package/dist/cjs/{index-3ac79a1b.js → index-f05acd21.js} +12 -11
  164. package/dist/cjs/index.cjs.js +13 -10
  165. package/dist/cjs/{input-shims-2958dcc9.js → input-shims-9e59ef62.js} +17 -17
  166. package/dist/cjs/{input.utils-ed749ecb.js → input.utils-611cde0b.js} +5 -4
  167. package/dist/cjs/ion-accordion_2.cjs.entry.js +32 -53
  168. package/dist/cjs/ion-action-sheet.cjs.entry.js +30 -32
  169. package/dist/cjs/ion-alert.cjs.entry.js +46 -45
  170. package/dist/cjs/ion-app_8.cjs.entry.js +189 -144
  171. package/dist/cjs/ion-avatar_3.cjs.entry.js +13 -96
  172. package/dist/cjs/ion-back-button.cjs.entry.js +25 -34
  173. package/dist/cjs/ion-backdrop.cjs.entry.js +9 -13
  174. package/dist/cjs/ion-breadcrumb_2.cjs.entry.js +25 -62
  175. package/dist/cjs/ion-button_2.cjs.entry.js +24 -54
  176. package/dist/cjs/ion-card_5.cjs.entry.js +36 -59
  177. package/dist/cjs/ion-checkbox.cjs.entry.js +23 -37
  178. package/dist/cjs/ion-chip.cjs.entry.js +9 -44
  179. package/dist/cjs/ion-col_3.cjs.entry.js +15 -18
  180. package/dist/cjs/ion-datetime-button.cjs.entry.js +15 -18
  181. package/dist/cjs/ion-datetime_3.cjs.entry.js +115 -188
  182. package/dist/cjs/ion-fab_3.cjs.entry.js +29 -51
  183. package/dist/cjs/ion-img.cjs.entry.js +9 -12
  184. package/dist/cjs/ion-infinite-scroll_2.cjs.entry.js +29 -32
  185. package/dist/cjs/ion-input-password-toggle.cjs.entry.js +19 -57
  186. package/dist/cjs/ion-input.cjs.entry.js +39 -133
  187. package/dist/cjs/ion-item-option_3.cjs.entry.js +29 -51
  188. package/dist/cjs/ion-item_8.cjs.entry.js +60 -131
  189. package/dist/cjs/ion-loading.cjs.entry.js +30 -31
  190. package/dist/cjs/ion-menu_3.cjs.entry.js +64 -82
  191. package/dist/cjs/ion-modal.cjs.entry.js +67 -94
  192. package/dist/cjs/ion-nav_2.cjs.entry.js +28 -29
  193. package/dist/cjs/ion-picker-column-option.cjs.entry.js +9 -13
  194. package/dist/cjs/ion-picker-column.cjs.entry.js +17 -16
  195. package/dist/cjs/ion-picker.cjs.entry.js +9 -13
  196. package/dist/cjs/ion-popover.cjs.entry.js +30 -31
  197. package/dist/cjs/ion-progress-bar.cjs.entry.js +14 -18
  198. package/dist/cjs/ion-radio_2.cjs.entry.js +29 -31
  199. package/dist/cjs/ion-range.cjs.entry.js +28 -31
  200. package/dist/cjs/ion-refresher_2.cjs.entry.js +53 -73
  201. package/dist/cjs/ion-reorder_2.cjs.entry.js +22 -45
  202. package/dist/cjs/ion-ripple-effect.cjs.entry.js +12 -22
  203. package/dist/cjs/ion-route_4.cjs.entry.js +17 -17
  204. package/dist/cjs/ion-searchbar.cjs.entry.js +31 -107
  205. package/dist/cjs/ion-segment_2.cjs.entry.js +25 -33
  206. package/dist/cjs/ion-select-modal.cjs.entry.js +111 -0
  207. package/dist/cjs/ion-select_3.cjs.entry.js +98 -128
  208. package/dist/cjs/ion-spinner.cjs.entry.js +17 -42
  209. package/dist/cjs/ion-split-pane.cjs.entry.js +12 -16
  210. package/dist/cjs/ion-tab-bar_2.cjs.entry.js +28 -52
  211. package/dist/cjs/ion-tab_2.cjs.entry.js +14 -14
  212. package/dist/cjs/ion-text.cjs.entry.js +7 -7
  213. package/dist/cjs/ion-textarea.cjs.entry.js +32 -56
  214. package/dist/cjs/ion-toast.cjs.entry.js +43 -58
  215. package/dist/cjs/ion-toggle.cjs.entry.js +31 -88
  216. package/dist/cjs/ionic-global-d9a8bb5b.js +237 -0
  217. package/dist/cjs/ionic.cjs.js +7 -7
  218. package/dist/cjs/{ios.transition-4411892c.js → ios.transition-cf40433b.js} +7 -6
  219. package/dist/cjs/{keyboard-ed6e1327.js → keyboard-0272231f.js} +1 -1
  220. package/dist/cjs/{keyboard-e0062bfc.js → keyboard-af1bb365.js} +3 -4
  221. package/dist/cjs/{keyboard-controller-020444ad.js → keyboard-controller-c05e747a.js} +9 -11
  222. package/dist/cjs/loader.cjs.js +5 -5
  223. package/dist/cjs/{md.transition-261f9f67.js → md.transition-ededf99f.js} +7 -5
  224. package/dist/cjs/{notch-controller-70ad2323.js → notch-controller-d69150f5.js} +4 -4
  225. package/dist/cjs/{overlays-22320753.js → overlays-0123d7d4.js} +19 -18
  226. package/dist/cjs/{status-tap-cfc7f9a5.js → status-tap-37681226.js} +8 -8
  227. package/dist/cjs/{swipe-back-ecdf1cf5.js → swipe-back-0303a5e4.js} +1 -2
  228. package/dist/collection/collection-manifest.json +1 -0
  229. package/dist/collection/components/accordion/accordion.ios.css +58 -73
  230. package/dist/collection/components/accordion/accordion.js +21 -37
  231. package/dist/collection/components/accordion/accordion.md.css +59 -67
  232. package/dist/collection/components/accordion-group/accordion-group.ios.css +4 -16
  233. package/dist/collection/components/accordion-group/accordion-group.js +8 -11
  234. package/dist/collection/components/accordion-group/accordion-group.md.css +4 -22
  235. package/dist/collection/components/action-sheet/action-sheet.ios.css +6 -18
  236. package/dist/collection/components/action-sheet/action-sheet.js +10 -14
  237. package/dist/collection/components/action-sheet/action-sheet.md.css +5 -17
  238. package/dist/collection/components/alert/alert.ios.css +1 -19
  239. package/dist/collection/components/alert/alert.js +17 -18
  240. package/dist/collection/components/alert/alert.md.css +1 -19
  241. package/dist/collection/components/app/app.js +78 -12
  242. package/dist/collection/components/avatar/avatar.ios.css +0 -12
  243. package/dist/collection/components/avatar/avatar.js +4 -92
  244. package/dist/collection/components/avatar/avatar.md.css +0 -12
  245. package/dist/collection/components/back-button/back-button.ios.css +48 -60
  246. package/dist/collection/components/back-button/back-button.js +19 -27
  247. package/dist/collection/components/back-button/back-button.md.css +48 -60
  248. package/dist/collection/components/backdrop/backdrop.ios.css +1 -13
  249. package/dist/collection/components/backdrop/backdrop.js +6 -12
  250. package/dist/collection/components/backdrop/backdrop.md.css +1 -13
  251. package/dist/collection/components/badge/badge.ios.css +3 -106
  252. package/dist/collection/components/badge/badge.js +8 -75
  253. package/dist/collection/components/badge/badge.md.css +3 -106
  254. package/dist/collection/components/breadcrumb/breadcrumb.ios.css +8 -20
  255. package/dist/collection/components/breadcrumb/breadcrumb.js +11 -43
  256. package/dist/collection/components/breadcrumb/breadcrumb.md.css +8 -20
  257. package/dist/collection/components/breadcrumbs/breadcrumbs.ios.css +0 -6
  258. package/dist/collection/components/breadcrumbs/breadcrumbs.js +9 -11
  259. package/dist/collection/components/breadcrumbs/breadcrumbs.md.css +0 -6
  260. package/dist/collection/components/button/button.ios.css +36 -129
  261. package/dist/collection/components/button/button.js +16 -46
  262. package/dist/collection/components/button/button.md.css +40 -120
  263. package/dist/collection/components/buttons/buttons.ios.css +7 -59
  264. package/dist/collection/components/buttons/buttons.js +8 -14
  265. package/dist/collection/components/buttons/buttons.md.css +3 -55
  266. package/dist/collection/components/card/card.ios.css +14 -65
  267. package/dist/collection/components/card/card.js +10 -34
  268. package/dist/collection/components/card/card.md.css +14 -65
  269. package/dist/collection/components/card-content/card-content.ios.css +1 -16
  270. package/dist/collection/components/card-content/card-content.js +8 -11
  271. package/dist/collection/components/card-content/card-content.md.css +1 -16
  272. package/dist/collection/components/card-header/card-header.ios.css +15 -27
  273. package/dist/collection/components/card-header/card-header.js +9 -12
  274. package/dist/collection/components/card-header/card-header.md.css +15 -27
  275. package/dist/collection/components/card-subtitle/card-subtitle.ios.css +0 -12
  276. package/dist/collection/components/card-subtitle/card-subtitle.js +8 -11
  277. package/dist/collection/components/card-subtitle/card-subtitle.md.css +0 -12
  278. package/dist/collection/components/card-title/card-title.ios.css +0 -73
  279. package/dist/collection/components/card-title/card-title.js +8 -11
  280. package/dist/collection/components/card-title/card-title.md.css +0 -73
  281. package/dist/collection/components/checkbox/checkbox.ios.css +2 -20
  282. package/dist/collection/components/checkbox/checkbox.js +40 -64
  283. package/dist/collection/components/checkbox/checkbox.md.css +3 -21
  284. package/dist/collection/components/chip/chip.ios.css +1 -20
  285. package/dist/collection/components/chip/chip.js +8 -77
  286. package/dist/collection/components/chip/chip.md.css +1 -20
  287. package/dist/collection/components/col/col.css +0 -12
  288. package/dist/collection/components/col/col.js +5 -9
  289. package/dist/collection/components/content/content.css +2 -8
  290. package/dist/collection/components/content/content.js +11 -16
  291. package/dist/collection/components/datetime/datetime.ios.css +73 -232
  292. package/dist/collection/components/datetime/datetime.js +19 -95
  293. package/dist/collection/components/datetime/datetime.md.css +73 -232
  294. package/dist/collection/components/datetime/utils/data.js +3 -3
  295. package/dist/collection/components/datetime-button/datetime-button.ios.css +0 -6
  296. package/dist/collection/components/datetime-button/datetime-button.js +8 -11
  297. package/dist/collection/components/datetime-button/datetime-button.md.css +0 -6
  298. package/dist/collection/components/fab/fab.css +1 -25
  299. package/dist/collection/components/fab/fab.js +5 -9
  300. package/dist/collection/components/fab-button/fab-button.ios.css +6 -18
  301. package/dist/collection/components/fab-button/fab-button.js +15 -36
  302. package/dist/collection/components/fab-button/fab-button.md.css +8 -20
  303. package/dist/collection/components/fab-list/fab-list.css +0 -12
  304. package/dist/collection/components/fab-list/fab-list.js +5 -9
  305. package/dist/collection/components/footer/footer.ios.css +2 -14
  306. package/dist/collection/components/footer/footer.js +15 -20
  307. package/dist/collection/components/footer/footer.md.css +0 -12
  308. package/dist/collection/components/grid/grid.css +0 -12
  309. package/dist/collection/components/grid/grid.js +5 -9
  310. package/dist/collection/components/header/header.ios.css +10 -25
  311. package/dist/collection/components/header/header.js +17 -42
  312. package/dist/collection/components/header/header.md.css +8 -23
  313. package/dist/collection/components/img/img.js +2 -8
  314. package/dist/collection/components/infinite-scroll/infinite-scroll.js +4 -8
  315. package/dist/collection/components/infinite-scroll-content/infinite-scroll-content.ios.css +0 -12
  316. package/dist/collection/components/infinite-scroll-content/infinite-scroll-content.js +10 -16
  317. package/dist/collection/components/infinite-scroll-content/infinite-scroll-content.md.css +0 -12
  318. package/dist/collection/components/input/input.ios.css +2 -21
  319. package/dist/collection/components/input/input.js +30 -144
  320. package/dist/collection/components/input/input.md.css +4 -43
  321. package/dist/collection/components/input-password-toggle/input-password-toggle.js +12 -48
  322. package/dist/collection/components/item/item.ios.css +69 -109
  323. package/dist/collection/components/item/item.js +16 -44
  324. package/dist/collection/components/item/item.md.css +68 -120
  325. package/dist/collection/components/item-divider/item-divider.ios.css +0 -18
  326. package/dist/collection/components/item-divider/item-divider.js +8 -11
  327. package/dist/collection/components/item-divider/item-divider.md.css +0 -18
  328. package/dist/collection/components/item-group/item-group.ios.css +0 -12
  329. package/dist/collection/components/item-group/item-group.js +7 -13
  330. package/dist/collection/components/item-group/item-group.md.css +0 -12
  331. package/dist/collection/components/item-option/item-option.ios.css +2 -14
  332. package/dist/collection/components/item-option/item-option.js +8 -43
  333. package/dist/collection/components/item-option/item-option.md.css +2 -14
  334. package/dist/collection/components/item-options/item-options.ios.css +0 -18
  335. package/dist/collection/components/item-options/item-options.js +7 -13
  336. package/dist/collection/components/item-options/item-options.md.css +0 -18
  337. package/dist/collection/components/item-sliding/item-sliding.css +0 -6
  338. package/dist/collection/components/item-sliding/item-sliding.js +4 -8
  339. package/dist/collection/components/label/label.ios.css +0 -18
  340. package/dist/collection/components/label/label.js +8 -11
  341. package/dist/collection/components/label/label.md.css +0 -18
  342. package/dist/collection/components/list/list.ios.css +0 -18
  343. package/dist/collection/components/list/list.js +9 -47
  344. package/dist/collection/components/list/list.md.css +2 -20
  345. package/dist/collection/components/list-header/list-header.ios.css +0 -18
  346. package/dist/collection/components/list-header/list-header.js +8 -11
  347. package/dist/collection/components/list-header/list-header.md.css +0 -18
  348. package/dist/collection/components/loading/loading.ios.css +1 -13
  349. package/dist/collection/components/loading/loading.js +10 -13
  350. package/dist/collection/components/loading/loading.md.css +1 -13
  351. package/dist/collection/components/menu/menu.ios.css +3 -15
  352. package/dist/collection/components/menu/menu.js +52 -37
  353. package/dist/collection/components/menu/menu.md.css +3 -15
  354. package/dist/collection/components/menu-button/menu-button.ios.css +14 -48
  355. package/dist/collection/components/menu-button/menu-button.js +10 -26
  356. package/dist/collection/components/menu-button/menu-button.md.css +15 -49
  357. package/dist/collection/components/menu-toggle/menu-toggle.js +5 -8
  358. package/dist/collection/components/modal/animations/sheet.js +2 -8
  359. package/dist/collection/components/modal/gestures/sheet.js +6 -10
  360. package/dist/collection/components/modal/modal.ios.css +63 -106
  361. package/dist/collection/components/modal/modal.js +11 -47
  362. package/dist/collection/components/modal/modal.md.css +63 -106
  363. package/dist/collection/components/nav/nav.css +1 -7
  364. package/dist/collection/components/nav/nav.js +5 -11
  365. package/dist/collection/components/nav-link/nav-link.js +1 -5
  366. package/dist/collection/components/note/note.ios.css +0 -12
  367. package/dist/collection/components/note/note.js +8 -11
  368. package/dist/collection/components/note/note.md.css +0 -12
  369. package/dist/collection/components/picker/picker.ios.css +3 -15
  370. package/dist/collection/components/picker/picker.js +5 -8
  371. package/dist/collection/components/picker/picker.md.css +3 -15
  372. package/dist/collection/components/picker-column/picker-column.css +2 -9
  373. package/dist/collection/components/picker-column/picker-column.js +7 -8
  374. package/dist/collection/components/picker-column-option/picker-column-option.ios.css +0 -6
  375. package/dist/collection/components/picker-column-option/picker-column-option.js +7 -13
  376. package/dist/collection/components/picker-column-option/picker-column-option.md.css +0 -6
  377. package/dist/collection/components/picker-legacy/picker.ios.css +1 -13
  378. package/dist/collection/components/picker-legacy/picker.js +6 -7
  379. package/dist/collection/components/picker-legacy/picker.md.css +1 -13
  380. package/dist/collection/components/picker-legacy-column/picker-column.ios.css +0 -12
  381. package/dist/collection/components/picker-legacy-column/picker-column.js +4 -4
  382. package/dist/collection/components/picker-legacy-column/picker-column.md.css +0 -12
  383. package/dist/collection/components/popover/popover.ios.css +1 -13
  384. package/dist/collection/components/popover/popover.js +12 -15
  385. package/dist/collection/components/popover/popover.md.css +1 -13
  386. package/dist/collection/components/progress-bar/progress-bar.ios.css +2 -8
  387. package/dist/collection/components/progress-bar/progress-bar.js +7 -10
  388. package/dist/collection/components/progress-bar/progress-bar.md.css +2 -8
  389. package/dist/collection/components/radio/radio.ios.css +91 -134
  390. package/dist/collection/components/radio/radio.js +15 -16
  391. package/dist/collection/components/radio/radio.md.css +91 -134
  392. package/dist/collection/components/radio-group/radio-group.js +7 -11
  393. package/dist/collection/components/range/range.ios.css +0 -12
  394. package/dist/collection/components/range/range.js +9 -12
  395. package/dist/collection/components/range/range.md.css +0 -12
  396. package/dist/collection/components/refresher/refresher.ios.css +1 -14
  397. package/dist/collection/components/refresher/refresher.js +8 -11
  398. package/dist/collection/components/refresher/refresher.md.css +2 -15
  399. package/dist/collection/components/refresher-content/refresher-content.js +7 -28
  400. package/dist/collection/components/reorder/reorder.ios.css +0 -6
  401. package/dist/collection/components/reorder/reorder.js +6 -33
  402. package/dist/collection/components/reorder/reorder.md.css +0 -6
  403. package/dist/collection/components/reorder-group/reorder-group.css +0 -6
  404. package/dist/collection/components/reorder-group/reorder-group.js +4 -8
  405. package/dist/collection/components/ripple-effect/{ripple-effect.common.css → ripple-effect.css} +1 -7
  406. package/dist/collection/components/ripple-effect/ripple-effect.js +6 -14
  407. package/dist/collection/components/route/route.js +0 -4
  408. package/dist/collection/components/router/router.js +0 -4
  409. package/dist/collection/components/router-link/router-link.css +2 -8
  410. package/dist/collection/components/router-link/router-link.js +5 -9
  411. package/dist/collection/components/router-outlet/router-outlet.css +1 -7
  412. package/dist/collection/components/router-outlet/router-outlet.js +2 -5
  413. package/dist/collection/components/row/row.css +0 -12
  414. package/dist/collection/components/row/row.js +2 -9
  415. package/dist/collection/components/searchbar/searchbar.ios.css +18 -56
  416. package/dist/collection/components/searchbar/searchbar.js +25 -97
  417. package/dist/collection/components/searchbar/searchbar.md.css +18 -56
  418. package/dist/collection/components/segment/segment.ios.css +2 -45
  419. package/dist/collection/components/segment/segment.js +8 -11
  420. package/dist/collection/components/segment/segment.md.css +2 -45
  421. package/dist/collection/components/segment-button/segment-button.ios.css +105 -146
  422. package/dist/collection/components/segment-button/segment-button.js +9 -12
  423. package/dist/collection/components/segment-button/segment-button.md.css +107 -148
  424. package/dist/collection/components/select/select.ios.css +3 -22
  425. package/dist/collection/components/select/select.js +90 -93
  426. package/dist/collection/components/select/select.md.css +5 -38
  427. package/dist/collection/components/select-modal/select-modal-interface.js +1 -0
  428. package/dist/collection/components/select-modal/select-modal.ios.css +3 -0
  429. package/dist/collection/components/select-modal/select-modal.js +159 -0
  430. package/dist/collection/components/{segment/segment.ionic.css → select-modal/select-modal.md.css} +26 -34
  431. package/dist/collection/components/select-modal/test/fixtures.js +48 -0
  432. package/dist/collection/components/select-option/select-option.js +2 -9
  433. package/dist/collection/components/select-popover/select-popover.ios.css +0 -18
  434. package/dist/collection/components/select-popover/select-popover.js +4 -12
  435. package/dist/collection/components/select-popover/select-popover.md.css +0 -18
  436. package/dist/collection/components/skeleton-text/skeleton-text.css +0 -6
  437. package/dist/collection/components/skeleton-text/skeleton-text.js +5 -9
  438. package/dist/collection/components/spinner/{spinner.ionic.css → spinner.css} +0 -64
  439. package/dist/collection/components/spinner/spinner.js +6 -46
  440. package/dist/collection/components/split-pane/split-pane.ios.css +2 -20
  441. package/dist/collection/components/split-pane/split-pane.js +8 -14
  442. package/dist/collection/components/split-pane/split-pane.md.css +2 -20
  443. package/dist/collection/components/tab/tab.js +2 -6
  444. package/dist/collection/components/tab-bar/tab-bar.ios.css +43 -71
  445. package/dist/collection/components/tab-bar/tab-bar.js +10 -65
  446. package/dist/collection/components/tab-bar/tab-bar.md.css +43 -71
  447. package/dist/collection/components/tab-button/tab-button.ios.css +88 -103
  448. package/dist/collection/components/tab-button/tab-button.js +8 -11
  449. package/dist/collection/components/tab-button/tab-button.md.css +88 -103
  450. package/dist/collection/components/tabs/tabs.css +1 -7
  451. package/dist/collection/components/tabs/tabs.js +1 -4
  452. package/dist/collection/components/text/text.css +0 -6
  453. package/dist/collection/components/text/text.js +6 -7
  454. package/dist/collection/components/textarea/textarea.ios.css +96 -201
  455. package/dist/collection/components/textarea/textarea.js +16 -59
  456. package/dist/collection/components/textarea/textarea.md.css +97 -214
  457. package/dist/collection/components/thumbnail/thumbnail.css +0 -6
  458. package/dist/collection/components/thumbnail/thumbnail.js +2 -9
  459. package/dist/collection/components/title/title.ios.css +4 -32
  460. package/dist/collection/components/title/title.js +7 -13
  461. package/dist/collection/components/title/title.md.css +4 -32
  462. package/dist/collection/components/toast/animations/utils.js +1 -1
  463. package/dist/collection/components/toast/toast.ios.css +35 -74
  464. package/dist/collection/components/toast/toast.js +11 -45
  465. package/dist/collection/components/toast/toast.md.css +35 -74
  466. package/dist/collection/components/toggle/toggle.ios.css +120 -166
  467. package/dist/collection/components/toggle/toggle.js +18 -73
  468. package/dist/collection/components/toggle/toggle.md.css +120 -163
  469. package/dist/collection/components/toolbar/toolbar.ios.css +47 -90
  470. package/dist/collection/components/toolbar/toolbar.js +10 -13
  471. package/dist/collection/components/toolbar/toolbar.md.css +47 -90
  472. package/dist/collection/global/ionic-global.js +13 -229
  473. package/dist/collection/utils/focus-visible.js +0 -7
  474. package/dist/collection/utils/framework-delegate.js +1 -3
  475. package/dist/collection/utils/helpers.js +1 -3
  476. package/dist/collection/utils/keyboard/keyboard-controller.js +1 -3
  477. package/dist/collection/utils/menu-controller/animations/overlay.js +3 -3
  478. package/dist/collection/utils/menu-controller/animations/push.js +1 -2
  479. package/dist/collection/utils/menu-controller/animations/reveal.js +1 -2
  480. package/dist/collection/utils/menu-controller/index.js +2 -2
  481. package/dist/collection/utils/overlays.js +1 -2
  482. package/dist/collection/utils/test/playwright/generator.js +23 -48
  483. package/dist/collection/utils/test/playwright/page/utils/goto.js +5 -14
  484. package/dist/collection/utils/test/playwright/page/utils/set-content.js +1 -14
  485. package/dist/collection/utils/transition/ios.transition.js +0 -1
  486. package/dist/docs.json +603 -7013
  487. package/dist/esm/{animation-16546c84.js → animation-eab5a4ca.js} +1 -1
  488. package/dist/esm/{app-globals-35381e66.js → app-globals-5dbb61a5.js} +1 -1
  489. package/dist/esm/{button-active-c768aceb.js → button-active-f6503382.js} +2 -2
  490. package/dist/esm/{capacitor-0897b83c.js → capacitor-59395cbd.js} +1 -1
  491. package/dist/esm/{data-d9b1fbdb.js → data-ae11fd43.js} +4 -4
  492. package/dist/{cjs/focus-visible-9aa87fa3.js → esm/focus-visible-dd40d69f.js} +1 -11
  493. package/dist/esm/{framework-delegate-56698eb0.js → framework-delegate-63d1a679.js} +2 -4
  494. package/dist/esm/{haptic-d9a770b8.js → haptic-ac164e4c.js} +1 -1
  495. package/dist/esm/hardware-back-button-06ef3c3e.js +116 -0
  496. package/dist/esm/{helpers-d57f52c8.js → helpers-da915de8.js} +1 -4
  497. package/dist/esm/{index-82405a4a.js → index-24b48b06.js} +13 -12
  498. package/dist/esm/{config-0b6b1b3d.js → index-28849c61.js} +1 -76
  499. package/dist/esm/{index-edf94b3b.js → index-3ad7f18b.js} +6 -5
  500. package/dist/esm/{index-f8ad386a.js → index-5cc724f3.js} +2 -2
  501. package/dist/esm/index-79b30591.js +167 -0
  502. package/dist/esm/index-9b0d46f4.js +34 -0
  503. package/dist/esm/index-a5d50daf.js +7 -0
  504. package/dist/esm/{index-d997525d.js → index-e2cf2ceb.js} +1 -1
  505. package/dist/esm/index.js +13 -10
  506. package/dist/esm/{input-shims-0f3cc1c3.js → input-shims-0314bbe5.js} +6 -6
  507. package/dist/esm/{input.utils-ef4d8197.js → input.utils-09c71bc7.js} +3 -2
  508. package/dist/esm/ion-accordion_2.entry.js +24 -45
  509. package/dist/esm/ion-action-sheet.entry.js +19 -21
  510. package/dist/esm/ion-alert.entry.js +26 -25
  511. package/dist/esm/ion-app_8.entry.js +140 -95
  512. package/dist/esm/ion-avatar_3.entry.js +10 -93
  513. package/dist/esm/ion-back-button.entry.js +21 -30
  514. package/dist/esm/ion-backdrop.entry.js +7 -11
  515. package/dist/esm/ion-breadcrumb_2.entry.js +17 -54
  516. package/dist/esm/ion-button_2.entry.js +13 -43
  517. package/dist/esm/ion-card_5.entry.js +29 -52
  518. package/dist/esm/ion-checkbox.entry.js +16 -30
  519. package/dist/esm/ion-chip.entry.js +8 -43
  520. package/dist/esm/ion-col_3.entry.js +11 -14
  521. package/dist/esm/ion-datetime-button.entry.js +9 -12
  522. package/dist/esm/ion-datetime_3.entry.js +40 -113
  523. package/dist/esm/ion-fab_3.entry.js +21 -43
  524. package/dist/esm/ion-img.entry.js +4 -7
  525. package/dist/esm/ion-infinite-scroll_2.entry.js +15 -18
  526. package/dist/esm/ion-input-password-toggle.entry.js +15 -53
  527. package/dist/esm/ion-input.entry.js +25 -119
  528. package/dist/esm/ion-item-option_3.entry.js +18 -40
  529. package/dist/esm/ion-item_8.entry.js +42 -113
  530. package/dist/esm/ion-loading.entry.js +16 -17
  531. package/dist/esm/ion-menu_3.entry.js +45 -63
  532. package/dist/esm/ion-modal.entry.js +31 -58
  533. package/dist/esm/ion-nav_2.entry.js +12 -13
  534. package/dist/esm/ion-picker-column-option.entry.js +7 -11
  535. package/dist/esm/ion-picker-column.entry.js +12 -11
  536. package/dist/esm/ion-picker.entry.js +6 -10
  537. package/dist/esm/ion-popover.entry.js +16 -17
  538. package/dist/esm/ion-progress-bar.entry.js +8 -12
  539. package/dist/esm/ion-radio_2.entry.js +20 -22
  540. package/dist/esm/ion-range.entry.js +10 -13
  541. package/dist/esm/ion-refresher_2.entry.js +21 -41
  542. package/dist/esm/ion-reorder_2.entry.js +15 -38
  543. package/dist/esm/ion-ripple-effect.entry.js +8 -18
  544. package/dist/esm/ion-route_4.entry.js +8 -8
  545. package/dist/esm/ion-searchbar.entry.js +18 -94
  546. package/dist/esm/ion-segment_2.entry.js +16 -24
  547. package/dist/esm/ion-select-modal.entry.js +107 -0
  548. package/dist/esm/ion-select_3.entry.js +73 -103
  549. package/dist/esm/ion-spinner.entry.js +8 -33
  550. package/dist/esm/ion-split-pane.entry.js +9 -13
  551. package/dist/esm/ion-tab-bar_2.entry.js +20 -44
  552. package/dist/esm/ion-tab_2.entry.js +7 -7
  553. package/dist/esm/ion-text.entry.js +6 -6
  554. package/dist/esm/ion-textarea.entry.js +17 -41
  555. package/dist/esm/ion-toast.entry.js +18 -33
  556. package/dist/esm/ion-toggle.entry.js +23 -80
  557. package/dist/esm/ionic-global-c81d82ab.js +231 -0
  558. package/dist/esm/ionic.js +5 -5
  559. package/dist/esm/{ios.transition-4b9fe79e.js → ios.transition-4ee1a3af.js} +7 -6
  560. package/dist/esm/{keyboard-584d2e6f.js → keyboard-52278bd7.js} +3 -4
  561. package/dist/esm/{keyboard-ad38b8fc.js → keyboard-73175e24.js} +1 -1
  562. package/dist/esm/{keyboard-controller-9c9c2301.js → keyboard-controller-ec5c2bfa.js} +3 -5
  563. package/dist/esm/loader.js +5 -5
  564. package/dist/esm/{md.transition-a71dc418.js → md.transition-5106a0d2.js} +7 -5
  565. package/dist/esm/{notch-controller-4d9a7b28.js → notch-controller-55b09e11.js} +2 -2
  566. package/dist/esm/{overlays-9da9aef5.js → overlays-9c75ec54.js} +7 -6
  567. package/dist/esm/{status-tap-82f51b25.js → status-tap-f472b09f.js} +4 -4
  568. package/dist/esm/{swipe-back-c5709ce5.js → swipe-back-e5394307.js} +1 -2
  569. package/dist/esm-es5/animation-eab5a4ca.js +4 -0
  570. package/dist/esm-es5/app-globals-5dbb61a5.js +4 -0
  571. package/dist/esm-es5/button-active-f6503382.js +4 -0
  572. package/dist/esm-es5/capacitor-59395cbd.js +4 -0
  573. package/dist/esm-es5/data-ae11fd43.js +4 -0
  574. package/dist/esm-es5/focus-visible-dd40d69f.js +4 -0
  575. package/dist/esm-es5/framework-delegate-63d1a679.js +4 -0
  576. package/dist/esm-es5/{haptic-d9a770b8.js → haptic-ac164e4c.js} +1 -1
  577. package/dist/esm-es5/hardware-back-button-06ef3c3e.js +4 -0
  578. package/dist/esm-es5/helpers-da915de8.js +4 -0
  579. package/dist/esm-es5/index-24b48b06.js +4 -0
  580. package/dist/esm-es5/{config-0b6b1b3d.js → index-28849c61.js} +2 -2
  581. package/dist/esm-es5/index-3ad7f18b.js +4 -0
  582. package/dist/esm-es5/index-5cc724f3.js +4 -0
  583. package/dist/esm-es5/index-79b30591.js +4 -0
  584. package/dist/esm-es5/index-9b0d46f4.js +4 -0
  585. package/dist/esm-es5/index-a5d50daf.js +4 -0
  586. package/dist/esm-es5/{index-d997525d.js → index-e2cf2ceb.js} +1 -1
  587. package/dist/esm-es5/index.js +1 -1
  588. package/dist/esm-es5/input-shims-0314bbe5.js +4 -0
  589. package/dist/esm-es5/input.utils-09c71bc7.js +4 -0
  590. package/dist/esm-es5/ion-accordion_2.entry.js +1 -1
  591. package/dist/esm-es5/ion-action-sheet.entry.js +1 -1
  592. package/dist/esm-es5/ion-alert.entry.js +1 -1
  593. package/dist/esm-es5/ion-app_8.entry.js +1 -1
  594. package/dist/esm-es5/ion-avatar_3.entry.js +1 -1
  595. package/dist/esm-es5/ion-back-button.entry.js +1 -1
  596. package/dist/esm-es5/ion-backdrop.entry.js +1 -1
  597. package/dist/esm-es5/ion-breadcrumb_2.entry.js +1 -1
  598. package/dist/esm-es5/ion-button_2.entry.js +1 -1
  599. package/dist/esm-es5/ion-card_5.entry.js +1 -1
  600. package/dist/esm-es5/ion-checkbox.entry.js +2 -2
  601. package/dist/esm-es5/ion-chip.entry.js +1 -1
  602. package/dist/esm-es5/ion-col_3.entry.js +1 -1
  603. package/dist/esm-es5/ion-datetime-button.entry.js +1 -1
  604. package/dist/esm-es5/ion-datetime_3.entry.js +1 -1
  605. package/dist/esm-es5/ion-fab_3.entry.js +1 -1
  606. package/dist/esm-es5/ion-img.entry.js +1 -1
  607. package/dist/esm-es5/ion-infinite-scroll_2.entry.js +1 -1
  608. package/dist/esm-es5/ion-input-password-toggle.entry.js +1 -1
  609. package/dist/esm-es5/ion-input.entry.js +1 -1
  610. package/dist/esm-es5/ion-item-option_3.entry.js +1 -1
  611. package/dist/esm-es5/ion-item_8.entry.js +1 -1
  612. package/dist/esm-es5/ion-loading.entry.js +1 -1
  613. package/dist/esm-es5/ion-menu_3.entry.js +1 -1
  614. package/dist/esm-es5/ion-modal.entry.js +1 -1
  615. package/dist/esm-es5/ion-nav_2.entry.js +1 -1
  616. package/dist/esm-es5/ion-picker-column-option.entry.js +1 -1
  617. package/dist/esm-es5/ion-picker-column.entry.js +1 -1
  618. package/dist/esm-es5/ion-picker.entry.js +1 -1
  619. package/dist/esm-es5/ion-popover.entry.js +1 -1
  620. package/dist/esm-es5/ion-progress-bar.entry.js +1 -1
  621. package/dist/esm-es5/ion-radio_2.entry.js +1 -1
  622. package/dist/esm-es5/ion-range.entry.js +1 -1
  623. package/dist/esm-es5/ion-refresher_2.entry.js +1 -1
  624. package/dist/esm-es5/ion-reorder_2.entry.js +1 -1
  625. package/dist/esm-es5/ion-ripple-effect.entry.js +1 -1
  626. package/dist/esm-es5/ion-route_4.entry.js +1 -1
  627. package/dist/esm-es5/ion-searchbar.entry.js +1 -1
  628. package/dist/esm-es5/ion-segment_2.entry.js +1 -1
  629. package/dist/esm-es5/ion-select-modal.entry.js +4 -0
  630. package/dist/esm-es5/ion-select_3.entry.js +1 -1
  631. package/dist/esm-es5/ion-spinner.entry.js +1 -1
  632. package/dist/esm-es5/ion-split-pane.entry.js +1 -1
  633. package/dist/esm-es5/ion-tab-bar_2.entry.js +1 -1
  634. package/dist/esm-es5/ion-tab_2.entry.js +1 -1
  635. package/dist/esm-es5/ion-text.entry.js +1 -1
  636. package/dist/esm-es5/ion-textarea.entry.js +1 -1
  637. package/dist/esm-es5/ion-toast.entry.js +1 -1
  638. package/dist/esm-es5/ion-toggle.entry.js +1 -1
  639. package/dist/esm-es5/ionic-global-c81d82ab.js +4 -0
  640. package/dist/esm-es5/ionic.js +1 -1
  641. package/dist/esm-es5/ios.transition-4ee1a3af.js +4 -0
  642. package/dist/esm-es5/keyboard-52278bd7.js +4 -0
  643. package/dist/esm-es5/{keyboard-ad38b8fc.js → keyboard-73175e24.js} +1 -1
  644. package/dist/esm-es5/keyboard-controller-ec5c2bfa.js +4 -0
  645. package/dist/esm-es5/loader.js +1 -1
  646. package/dist/esm-es5/md.transition-5106a0d2.js +4 -0
  647. package/dist/esm-es5/notch-controller-55b09e11.js +4 -0
  648. package/dist/esm-es5/overlays-9c75ec54.js +4 -0
  649. package/dist/esm-es5/status-tap-f472b09f.js +4 -0
  650. package/dist/esm-es5/swipe-back-e5394307.js +4 -0
  651. package/dist/html.html-data.json +237 -2298
  652. package/dist/ionic/index.esm.js +1 -1
  653. package/dist/ionic/ionic.esm.js +1 -1
  654. package/dist/ionic/ionic.js +1 -1
  655. package/dist/ionic/{p-6f8c2e62.system.entry.js → p-01186920.system.entry.js} +1 -1
  656. package/dist/ionic/p-0303d0f8.js +4 -0
  657. package/dist/ionic/p-0574e87e.js +4 -0
  658. package/dist/ionic/p-06e58c4e.js +4 -0
  659. package/dist/ionic/p-06fee233.js +4 -0
  660. package/dist/ionic/p-081a4ce4.entry.js +4 -0
  661. package/dist/ionic/p-08f910f4.entry.js +4 -0
  662. package/dist/ionic/p-0c06e09b.system.js +4 -0
  663. package/dist/ionic/p-0de13e8e.entry.js +4 -0
  664. package/dist/ionic/p-15e76dd1.entry.js +4 -0
  665. package/dist/ionic/p-17474161.system.js +4 -0
  666. package/dist/ionic/{p-61a51379.system.js → p-19ea7bff.system.js} +1 -1
  667. package/dist/ionic/p-19ec4f42.entry.js +4 -0
  668. package/dist/ionic/p-1acf0142.entry.js +4 -0
  669. package/dist/ionic/p-1c1b8e1f.entry.js +4 -0
  670. package/dist/ionic/p-1dfc11b3.system.js +4 -0
  671. package/dist/ionic/p-1e010627.system.entry.js +4 -0
  672. package/dist/ionic/p-1e4371bd.js +4 -0
  673. package/dist/ionic/p-1e67b266.system.entry.js +4 -0
  674. package/dist/ionic/{p-115d74cd.system.js → p-1e955a45.system.js} +1 -1
  675. package/dist/ionic/p-1ebd1e27.system.entry.js +4 -0
  676. package/dist/ionic/p-2097482f.entry.js +4 -0
  677. package/dist/ionic/p-21e5e7e4.js +4 -0
  678. package/dist/ionic/p-22c020db.system.entry.js +4 -0
  679. package/dist/ionic/p-2407875c.system.entry.js +4 -0
  680. package/dist/ionic/p-249b6d9d.entry.js +4 -0
  681. package/dist/ionic/p-2507278c.system.entry.js +4 -0
  682. package/dist/ionic/p-25180df3.system.js +5 -0
  683. package/dist/ionic/p-2690b1de.js +4 -0
  684. package/dist/ionic/{p-4ed7dfdb.js → p-27281edd.js} +1 -1
  685. package/dist/ionic/{p-adec897a.system.entry.js → p-2799c6d3.system.entry.js} +1 -1
  686. package/dist/ionic/p-2b7827c7.js +4 -0
  687. package/dist/ionic/p-2e1c94d5.system.entry.js +4 -0
  688. package/dist/ionic/p-2e46590d.system.entry.js +4 -0
  689. package/dist/ionic/p-2eba228d.system.entry.js +4 -0
  690. package/dist/ionic/p-322c5fb4.system.js +4 -0
  691. package/dist/ionic/p-3254d107.entry.js +4 -0
  692. package/dist/ionic/p-347ac2ef.system.entry.js +4 -0
  693. package/dist/ionic/p-34b11c24.js +4 -0
  694. package/dist/ionic/{p-2c5d7d84.system.js → p-372ae7f4.system.js} +1 -1
  695. package/dist/ionic/p-3ad285e3.system.js +4 -0
  696. package/dist/ionic/{p-d8339079.system.js → p-3c8e5c23.system.js} +1 -1
  697. package/dist/ionic/p-3cc276f4.js +4 -0
  698. package/dist/ionic/p-3ef0ebd1.system.entry.js +4 -0
  699. package/dist/ionic/p-430f30e8.entry.js +4 -0
  700. package/dist/ionic/p-4439fc2a.entry.js +4 -0
  701. package/dist/ionic/p-45693d7e.entry.js +4 -0
  702. package/dist/ionic/p-457998b5.entry.js +4 -0
  703. package/dist/ionic/p-471b5a49.system.entry.js +4 -0
  704. package/dist/ionic/p-4c2d5b80.system.js +4 -0
  705. package/dist/ionic/p-52d7a191.entry.js +4 -0
  706. package/dist/ionic/p-540db186.system.entry.js +4 -0
  707. package/dist/ionic/p-5663547d.entry.js +4 -0
  708. package/dist/ionic/p-567de071.system.entry.js +4 -0
  709. package/dist/ionic/p-5823babc.system.entry.js +4 -0
  710. package/dist/ionic/p-58d5df0c.system.entry.js +4 -0
  711. package/dist/ionic/{p-3bfe43bc.system.js → p-5da94421.system.js} +2 -2
  712. package/dist/ionic/p-5e890005.system.entry.js +4 -0
  713. package/dist/ionic/p-5e9a7134.system.entry.js +4 -0
  714. package/dist/ionic/p-5f9b0722.entry.js +4 -0
  715. package/dist/ionic/p-61e494dc.system.entry.js +4 -0
  716. package/dist/ionic/p-63b0abde.system.entry.js +4 -0
  717. package/dist/ionic/p-66640ff7.system.entry.js +4 -0
  718. package/dist/ionic/p-69066a53.js +4 -0
  719. package/dist/ionic/p-69666e8a.system.entry.js +4 -0
  720. package/dist/ionic/p-6d32975a.entry.js +4 -0
  721. package/dist/ionic/p-6e2961d4.system.entry.js +4 -0
  722. package/dist/ionic/p-72812e99.js +4 -0
  723. package/dist/ionic/p-72bc8a1c.js +4 -0
  724. package/dist/ionic/{p-0695a0af.system.entry.js → p-7458862e.system.entry.js} +1 -1
  725. package/dist/ionic/p-792919fd.system.js +4 -0
  726. package/dist/ionic/p-7b30edcc.js +4 -0
  727. package/dist/ionic/p-7b9a2b23.entry.js +4 -0
  728. package/dist/ionic/p-7ed1657c.system.entry.js +4 -0
  729. package/dist/ionic/p-8635f5e6.system.js +4 -0
  730. package/dist/ionic/p-88e63c7d.js +4 -0
  731. package/dist/ionic/{p-e61e3bb4.system.js → p-8985cdb6.system.js} +1 -1
  732. package/dist/ionic/{p-b9b36d56.js → p-89b61afc.js} +1 -1
  733. package/dist/ionic/p-8c357539.entry.js +4 -0
  734. package/dist/ionic/p-908d6080.entry.js +4 -0
  735. package/dist/ionic/p-90d1e6e2.entry.js +4 -0
  736. package/dist/ionic/p-90df71aa.system.entry.js +4 -0
  737. package/dist/ionic/{p-747e9c9a.system.js → p-9146695e.system.js} +1 -1
  738. package/dist/ionic/p-937a7e21.entry.js +4 -0
  739. package/dist/ionic/p-94afeb70.entry.js +4 -0
  740. package/dist/ionic/p-96cc4814.js +4 -0
  741. package/dist/ionic/{p-093de343.system.entry.js → p-98231c01.system.entry.js} +1 -1
  742. package/dist/ionic/p-985a7e17.system.entry.js +4 -0
  743. package/dist/ionic/p-98871496.system.js +4 -0
  744. package/dist/ionic/p-98e71235.system.entry.js +4 -0
  745. package/dist/ionic/p-9c901780.entry.js +4 -0
  746. package/dist/ionic/p-9cb9edb5.system.entry.js +4 -0
  747. package/dist/ionic/p-9df2c6fb.entry.js +4 -0
  748. package/dist/ionic/{p-3a11234f.system.js → p-9ea607bd.system.js} +2 -2
  749. package/dist/ionic/p-9ee1e8a6.entry.js +4 -0
  750. package/dist/ionic/p-9f3008d4.system.js +4 -0
  751. package/dist/ionic/p-9fa07aec.entry.js +4 -0
  752. package/dist/ionic/p-a15ddedb.system.js +4 -0
  753. package/dist/ionic/p-a2aee540.entry.js +4 -0
  754. package/dist/ionic/p-a440397c.js +4 -0
  755. package/dist/ionic/p-a4565eb5.system.js +4 -0
  756. package/dist/ionic/p-a49378bb.system.entry.js +4 -0
  757. package/dist/ionic/p-a61cba41.entry.js +4 -0
  758. package/dist/ionic/p-a62911e6.system.entry.js +4 -0
  759. package/dist/ionic/p-a6827f02.entry.js +4 -0
  760. package/dist/ionic/p-a69b9fc5.system.js +4 -0
  761. package/dist/ionic/{p-f8e329da.system.js → p-a93873de.system.js} +1 -1
  762. package/dist/ionic/{p-6ecebfc6.entry.js → p-aa5f43c1.entry.js} +1 -1
  763. package/dist/ionic/p-abe101da.system.js +4 -0
  764. package/dist/ionic/p-adcb6def.system.entry.js +4 -0
  765. package/dist/ionic/{p-4b153a9f.entry.js → p-afecb188.entry.js} +1 -1
  766. package/dist/ionic/{p-c9ef0ca7.system.js → p-b06ac4a5.system.js} +1 -1
  767. package/dist/ionic/p-b51e4004.js +4 -0
  768. package/dist/ionic/p-b82d4cab.js +4 -0
  769. package/dist/ionic/p-b889e5de.system.js +4 -0
  770. package/dist/ionic/p-b9d7015f.entry.js +4 -0
  771. package/dist/ionic/p-bb0db172.entry.js +4 -0
  772. package/dist/ionic/p-bc36ad98.system.entry.js +4 -0
  773. package/dist/ionic/p-bdad26e3.entry.js +4 -0
  774. package/dist/ionic/p-c25cf9e8.system.entry.js +4 -0
  775. package/dist/ionic/p-c29f8157.system.entry.js +4 -0
  776. package/dist/ionic/p-c41ac815.entry.js +4 -0
  777. package/dist/ionic/p-c468af8a.system.js +4 -0
  778. package/dist/ionic/p-c61cc894.js +4 -0
  779. package/dist/ionic/{p-d1e991c3.js → p-c7e16491.js} +1 -1
  780. package/dist/ionic/p-c9f3a539.entry.js +4 -0
  781. package/dist/ionic/p-ca065903.system.entry.js +4 -0
  782. package/dist/ionic/p-cac0e0b3.system.entry.js +4 -0
  783. package/dist/ionic/p-cca6e227.system.entry.js +4 -0
  784. package/dist/ionic/p-cfab4f20.entry.js +4 -0
  785. package/dist/ionic/p-d18ab582.system.entry.js +4 -0
  786. package/dist/ionic/p-d1db10ed.system.entry.js +4 -0
  787. package/dist/ionic/p-d3eaac24.entry.js +4 -0
  788. package/dist/ionic/p-d47265c8.js +4 -0
  789. package/dist/ionic/{p-0a820472.js → p-d60342e3.js} +1 -1
  790. package/dist/ionic/p-d6841eac.js +4 -0
  791. package/dist/ionic/{p-dbfc5db6.js → p-d743e981.js} +1 -1
  792. package/dist/ionic/p-d77e12ca.entry.js +4 -0
  793. package/dist/ionic/p-d7aa6b00.entry.js +4 -0
  794. package/dist/ionic/p-d8097686.entry.js +4 -0
  795. package/dist/ionic/{p-a9fd9d48.js → p-d836d43e.js} +2 -2
  796. package/dist/ionic/p-da074ff7.entry.js +4 -0
  797. package/dist/ionic/{p-58f16ef6.js → p-da2b833b.js} +1 -1
  798. package/dist/ionic/{p-a65fe34d.system.entry.js → p-da6ce51b.system.entry.js} +2 -2
  799. package/dist/ionic/{p-2b428cf6.entry.js → p-de930745.entry.js} +1 -1
  800. package/dist/ionic/{p-25e2c98f.system.js → p-dfb78785.system.js} +1 -1
  801. package/dist/ionic/p-e4ee80be.system.entry.js +4 -0
  802. package/dist/ionic/p-e629a9fb.system.entry.js +4 -0
  803. package/dist/ionic/p-e7ed4a7f.system.js +4 -0
  804. package/dist/ionic/p-eba29931.entry.js +4 -0
  805. package/dist/ionic/p-eba81f15.entry.js +4 -0
  806. package/dist/ionic/p-ecceeb90.js +4 -0
  807. package/dist/ionic/p-ef4a65bd.system.entry.js +4 -0
  808. package/dist/ionic/p-efaffe74.entry.js +4 -0
  809. package/dist/ionic/p-f1acf541.system.entry.js +4 -0
  810. package/dist/ionic/p-f1b9c92a.entry.js +4 -0
  811. package/dist/ionic/p-f3102647.system.entry.js +4 -0
  812. package/dist/ionic/{p-d9e1c48c.system.js → p-f687573e.system.js} +1 -1
  813. package/dist/ionic/p-f9a53abb.system.js +4 -0
  814. package/dist/ionic/p-ff4b7e40.system.js +4 -0
  815. package/dist/types/components/accordion/accordion.d.ts +3 -5
  816. package/dist/types/components/accordion-group/accordion-group.d.ts +1 -2
  817. package/dist/types/components/action-sheet/action-sheet-interface.d.ts +7 -3
  818. package/dist/types/components/action-sheet/action-sheet.d.ts +2 -3
  819. package/dist/types/components/alert/alert-interface.d.ts +7 -3
  820. package/dist/types/components/alert/alert.d.ts +2 -3
  821. package/dist/types/components/app/app.d.ts +2 -4
  822. package/dist/types/components/avatar/avatar.d.ts +0 -28
  823. package/dist/types/components/back-button/back-button.d.ts +1 -2
  824. package/dist/types/components/backdrop/backdrop.d.ts +0 -4
  825. package/dist/types/components/badge/badge.d.ts +1 -23
  826. package/dist/types/components/breadcrumb/breadcrumb.d.ts +1 -4
  827. package/dist/types/components/breadcrumbs/breadcrumbs.d.ts +2 -2
  828. package/dist/types/components/button/button.d.ts +4 -15
  829. package/dist/types/components/buttons/buttons.d.ts +1 -5
  830. package/dist/types/components/card/card.d.ts +1 -8
  831. package/dist/types/components/card-content/card-content.d.ts +1 -2
  832. package/dist/types/components/card-header/card-header.d.ts +2 -3
  833. package/dist/types/components/card-subtitle/card-subtitle.d.ts +1 -2
  834. package/dist/types/components/card-title/card-title.d.ts +1 -2
  835. package/dist/types/components/checkbox/checkbox.d.ts +6 -15
  836. package/dist/types/components/chip/chip.d.ts +1 -19
  837. package/dist/types/components/col/col.d.ts +0 -4
  838. package/dist/types/components/content/content.d.ts +0 -3
  839. package/dist/types/components/datetime/datetime.d.ts +1 -26
  840. package/dist/types/components/datetime/utils/data.d.ts +3 -3
  841. package/dist/types/components/datetime-button/datetime-button.d.ts +1 -2
  842. package/dist/types/components/fab/fab.d.ts +0 -4
  843. package/dist/types/components/fab-button/fab-button.d.ts +3 -5
  844. package/dist/types/components/fab-list/fab-list.d.ts +0 -4
  845. package/dist/types/components/footer/footer.d.ts +3 -4
  846. package/dist/types/components/grid/grid.d.ts +0 -4
  847. package/dist/types/components/header/header.d.ts +3 -9
  848. package/dist/types/components/img/img.d.ts +0 -3
  849. package/dist/types/components/infinite-scroll/infinite-scroll.d.ts +0 -4
  850. package/dist/types/components/infinite-scroll-content/infinite-scroll-content.d.ts +0 -4
  851. package/dist/types/components/input/input.d.ts +5 -31
  852. package/dist/types/components/input-password-toggle/input-password-toggle.d.ts +0 -2
  853. package/dist/types/components/item/item.d.ts +4 -11
  854. package/dist/types/components/item-divider/item-divider.d.ts +1 -2
  855. package/dist/types/components/item-group/item-group.d.ts +0 -4
  856. package/dist/types/components/item-option/item-option.d.ts +1 -11
  857. package/dist/types/components/item-options/item-options.d.ts +0 -4
  858. package/dist/types/components/item-sliding/item-sliding.d.ts +0 -4
  859. package/dist/types/components/label/label.d.ts +1 -2
  860. package/dist/types/components/list/list.d.ts +1 -15
  861. package/dist/types/components/list-header/list-header.d.ts +1 -2
  862. package/dist/types/components/loading/loading-interface.d.ts +7 -2
  863. package/dist/types/components/loading/loading.d.ts +2 -3
  864. package/dist/types/components/menu/menu-interface.d.ts +5 -2
  865. package/dist/types/components/menu/menu.d.ts +6 -9
  866. package/dist/types/components/menu-button/menu-button.d.ts +1 -3
  867. package/dist/types/components/menu-toggle/menu-toggle.d.ts +0 -3
  868. package/dist/types/components/modal/gestures/sheet.d.ts +1 -1
  869. package/dist/types/components/modal/modal-interface.d.ts +7 -4
  870. package/dist/types/components/modal/modal.d.ts +1 -11
  871. package/dist/types/components/nav/nav-interface.d.ts +1 -9
  872. package/dist/types/components/nav/nav.d.ts +1 -5
  873. package/dist/types/components/nav-link/nav-link.d.ts +0 -4
  874. package/dist/types/components/note/note.d.ts +1 -2
  875. package/dist/types/components/picker/picker.d.ts +1 -2
  876. package/dist/types/components/picker-column/picker-column.d.ts +1 -2
  877. package/dist/types/components/picker-column-option/picker-column-option.d.ts +0 -4
  878. package/dist/types/components/picker-legacy/picker.d.ts +1 -2
  879. package/dist/types/components/popover/popover-interface.d.ts +6 -3
  880. package/dist/types/components/popover/popover.d.ts +5 -6
  881. package/dist/types/components/progress-bar/progress-bar.d.ts +1 -2
  882. package/dist/types/components/radio/radio.d.ts +2 -3
  883. package/dist/types/components/radio-group/radio-group.d.ts +0 -4
  884. package/dist/types/components/range/range.d.ts +1 -2
  885. package/dist/types/components/refresher/refresher.d.ts +1 -2
  886. package/dist/types/components/refresher-content/refresher-content.d.ts +0 -4
  887. package/dist/types/components/reorder/reorder.d.ts +0 -9
  888. package/dist/types/components/reorder-group/reorder-group.d.ts +0 -4
  889. package/dist/types/components/ripple-effect/ripple-effect.d.ts +0 -4
  890. package/dist/types/components/route/route.d.ts +0 -4
  891. package/dist/types/components/router/router.d.ts +0 -4
  892. package/dist/types/components/router-link/router-link.d.ts +0 -4
  893. package/dist/types/components/router-outlet/router-outlet.d.ts +1 -4
  894. package/dist/types/components/row/row.d.ts +0 -4
  895. package/dist/types/components/searchbar/searchbar.d.ts +8 -30
  896. package/dist/types/components/segment/segment.d.ts +1 -2
  897. package/dist/types/components/segment-button/segment-button.d.ts +1 -2
  898. package/dist/types/components/select/select-interface.d.ts +1 -1
  899. package/dist/types/components/select/select.d.ts +10 -24
  900. package/dist/types/components/select-modal/select-modal-interface.d.ts +10 -0
  901. package/dist/types/components/select-modal/select-modal.d.ts +16 -0
  902. package/dist/types/components/select-modal/test/fixtures.d.ts +16 -0
  903. package/dist/types/components/select-option/select-option.d.ts +0 -4
  904. package/dist/types/components/select-popover/select-popover.d.ts +0 -3
  905. package/dist/types/components/skeleton-text/skeleton-text.d.ts +0 -4
  906. package/dist/types/components/spinner/spinner.d.ts +0 -15
  907. package/dist/types/components/split-pane/split-pane.d.ts +0 -4
  908. package/dist/types/components/tab/tab.d.ts +0 -4
  909. package/dist/types/components/tab-bar/tab-bar.d.ts +2 -22
  910. package/dist/types/components/tab-button/tab-button.d.ts +1 -2
  911. package/dist/types/components/tabs/tabs.d.ts +0 -3
  912. package/dist/types/components/text/text.d.ts +1 -2
  913. package/dist/types/components/textarea/textarea.d.ts +4 -16
  914. package/dist/types/components/thumbnail/thumbnail.d.ts +0 -4
  915. package/dist/types/components/title/title.d.ts +0 -4
  916. package/dist/types/components/toast/animations/utils.d.ts +2 -2
  917. package/dist/types/components/toast/toast-interface.d.ts +7 -3
  918. package/dist/types/components/toast/toast.d.ts +2 -12
  919. package/dist/types/components/toggle/toggle.d.ts +1 -15
  920. package/dist/types/components/toolbar/toolbar.d.ts +3 -4
  921. package/dist/types/components.d.ts +213 -1367
  922. package/dist/types/global/ionic-global.d.ts +2 -27
  923. package/dist/types/interface.d.ts +0 -3
  924. package/dist/types/utils/config.d.ts +2 -106
  925. package/dist/types/utils/focus-visible.d.ts +0 -1
  926. package/dist/types/utils/overlays-interface.d.ts +2 -32
  927. package/dist/types/utils/test/playwright/generator.d.ts +2 -31
  928. package/hydrate/index.js +1020 -2284
  929. package/hydrate/index.mjs +1020 -2284
  930. package/package.json +4 -9
  931. package/components/caret-down.js +0 -6
  932. package/components/caret-left.js +0 -6
  933. package/components/caret-right.js +0 -6
  934. package/components/config2.js +0 -79
  935. package/components/list2.js +0 -6
  936. package/components/x.js +0 -6
  937. package/css/ionic/bundle.ionic.css +0 -1
  938. package/css/ionic/bundle.ionic.css.map +0 -1
  939. package/css/ionic/core.ionic.css +0 -1
  940. package/css/ionic/core.ionic.css.map +0 -1
  941. package/css/ionic/global.bundle.ionic.css +0 -1
  942. package/css/ionic/global.bundle.ionic.css.map +0 -1
  943. package/css/ionic/ionic-swiper.ionic.css +0 -1
  944. package/css/ionic/ionic-swiper.ionic.css.map +0 -1
  945. package/css/ionic/link.ionic.css +0 -1
  946. package/css/ionic/link.ionic.css.map +0 -1
  947. package/css/ionic/structure.ionic.css +0 -1
  948. package/css/ionic/structure.ionic.css.map +0 -1
  949. package/css/ionic/typography.ionic.css +0 -1
  950. package/css/ionic/typography.ionic.css.map +0 -1
  951. package/css/ionic/utils.bundle.ionic.css +0 -1
  952. package/css/ionic/utils.bundle.ionic.css.map +0 -1
  953. package/dist/cjs/caret-down-3c215cff.js +0 -8
  954. package/dist/cjs/caret-left-2bb66970.js +0 -8
  955. package/dist/cjs/caret-right-88e03970.js +0 -8
  956. package/dist/cjs/ionic-global-3647b9f5.js +0 -534
  957. package/dist/cjs/list-2930c629.js +0 -8
  958. package/dist/cjs/x-81a8f51c.js +0 -8
  959. package/dist/collection/components/accordion/accordion.ionic.css +0 -202
  960. package/dist/collection/components/accordion-group/accordion-group.ionic.css +0 -82
  961. package/dist/collection/components/avatar/avatar.ionic.css +0 -270
  962. package/dist/collection/components/backdrop/backdrop.ionic.css +0 -152
  963. package/dist/collection/components/badge/badge.ionic.css +0 -250
  964. package/dist/collection/components/button/button.ionic.css +0 -590
  965. package/dist/collection/components/buttons/buttons.ionic.css +0 -100
  966. package/dist/collection/components/card/card.ionic.css +0 -138
  967. package/dist/collection/components/card-content/card-content.ionic.css +0 -91
  968. package/dist/collection/components/card-header/card-header.ionic.css +0 -88
  969. package/dist/collection/components/card-subtitle/card-subtitle.ionic.css +0 -147
  970. package/dist/collection/components/checkbox/checkbox.ionic.css +0 -403
  971. package/dist/collection/components/chip/chip.ionic.css +0 -161
  972. package/dist/collection/components/datetime/datetime.ionic.css +0 -669
  973. package/dist/collection/components/header/header.ionic.css +0 -87
  974. package/dist/collection/components/input/input.ionic.css +0 -1097
  975. package/dist/collection/components/input-password-toggle/input-password-toggle.common.css +0 -61
  976. package/dist/collection/components/input-password-toggle/input-password-toggle.ionic.css +0 -142
  977. package/dist/collection/components/item/item.ionic.css +0 -502
  978. package/dist/collection/components/item-option/item-option.ionic.css +0 -333
  979. package/dist/collection/components/item-options/item-options.ionic.css +0 -259
  980. package/dist/collection/components/list/list.ionic.css +0 -194
  981. package/dist/collection/components/list-header/list-header.ionic.css +0 -237
  982. package/dist/collection/components/menu-button/menu-button.ionic.css +0 -239
  983. package/dist/collection/components/modal/modal.ionic.css +0 -240
  984. package/dist/collection/components/radio/radio.ionic.css +0 -419
  985. package/dist/collection/components/ripple-effect/ripple-effect.ionic.css +0 -154
  986. package/dist/collection/components/searchbar/searchbar.ionic.css +0 -346
  987. package/dist/collection/components/segment-button/segment-button.ionic.css +0 -351
  988. package/dist/collection/components/spinner/spinner.common.css +0 -199
  989. package/dist/collection/components/tab-bar/tab-bar.ionic.css +0 -252
  990. package/dist/collection/components/tab-button/tab-button.ionic.css +0 -272
  991. package/dist/collection/components/textarea/textarea.ionic.css +0 -805
  992. package/dist/collection/components/title/title.ionic.css +0 -146
  993. package/dist/collection/components/toast/toast.ionic.css +0 -359
  994. package/dist/collection/components/toggle/toggle.ionic.css +0 -420
  995. package/dist/collection/components/toolbar/toolbar.ionic.css +0 -234
  996. package/dist/esm/caret-down-3eaad1cc.js +0 -6
  997. package/dist/esm/caret-left-33424bb0.js +0 -6
  998. package/dist/esm/caret-right-68d856ad.js +0 -6
  999. package/dist/esm/ionic-global-d7017fd9.js +0 -520
  1000. package/dist/esm/list-6524700c.js +0 -6
  1001. package/dist/esm/x-a64bcd9f.js +0 -6
  1002. package/dist/esm-es5/animation-16546c84.js +0 -4
  1003. package/dist/esm-es5/app-globals-35381e66.js +0 -4
  1004. package/dist/esm-es5/button-active-c768aceb.js +0 -4
  1005. package/dist/esm-es5/capacitor-0897b83c.js +0 -4
  1006. package/dist/esm-es5/caret-down-3eaad1cc.js +0 -4
  1007. package/dist/esm-es5/caret-left-33424bb0.js +0 -4
  1008. package/dist/esm-es5/caret-right-68d856ad.js +0 -4
  1009. package/dist/esm-es5/data-d9b1fbdb.js +0 -4
  1010. package/dist/esm-es5/focus-visible-501aff19.js +0 -4
  1011. package/dist/esm-es5/framework-delegate-56698eb0.js +0 -4
  1012. package/dist/esm-es5/helpers-d57f52c8.js +0 -4
  1013. package/dist/esm-es5/index-7f65e865.js +0 -4
  1014. package/dist/esm-es5/index-82405a4a.js +0 -4
  1015. package/dist/esm-es5/index-edf94b3b.js +0 -4
  1016. package/dist/esm-es5/index-f8ad386a.js +0 -4
  1017. package/dist/esm-es5/input-shims-0f3cc1c3.js +0 -4
  1018. package/dist/esm-es5/input.utils-ef4d8197.js +0 -4
  1019. package/dist/esm-es5/ionic-global-d7017fd9.js +0 -4
  1020. package/dist/esm-es5/ios.transition-4b9fe79e.js +0 -4
  1021. package/dist/esm-es5/keyboard-584d2e6f.js +0 -4
  1022. package/dist/esm-es5/keyboard-controller-9c9c2301.js +0 -4
  1023. package/dist/esm-es5/list-6524700c.js +0 -4
  1024. package/dist/esm-es5/md.transition-a71dc418.js +0 -4
  1025. package/dist/esm-es5/notch-controller-4d9a7b28.js +0 -4
  1026. package/dist/esm-es5/overlays-9da9aef5.js +0 -4
  1027. package/dist/esm-es5/status-tap-82f51b25.js +0 -4
  1028. package/dist/esm-es5/swipe-back-c5709ce5.js +0 -4
  1029. package/dist/esm-es5/x-a64bcd9f.js +0 -4
  1030. package/dist/ionic/p-01d80901.system.js +0 -4
  1031. package/dist/ionic/p-036e1c5b.entry.js +0 -4
  1032. package/dist/ionic/p-0689d382.entry.js +0 -4
  1033. package/dist/ionic/p-06ec4706.js +0 -4
  1034. package/dist/ionic/p-087e8765.system.entry.js +0 -4
  1035. package/dist/ionic/p-08df90cf.system.js +0 -4
  1036. package/dist/ionic/p-08f1ef0c.entry.js +0 -4
  1037. package/dist/ionic/p-0a701833.entry.js +0 -4
  1038. package/dist/ionic/p-1037b7dd.js +0 -4
  1039. package/dist/ionic/p-12e3e308.entry.js +0 -4
  1040. package/dist/ionic/p-13046601.system.entry.js +0 -4
  1041. package/dist/ionic/p-1331f417.system.entry.js +0 -4
  1042. package/dist/ionic/p-14719a77.entry.js +0 -4
  1043. package/dist/ionic/p-15d51b10.js +0 -4
  1044. package/dist/ionic/p-19ac8e04.system.entry.js +0 -4
  1045. package/dist/ionic/p-221e5078.system.js +0 -4
  1046. package/dist/ionic/p-243adf8c.js +0 -4
  1047. package/dist/ionic/p-25389914.entry.js +0 -4
  1048. package/dist/ionic/p-25564f4c.system.entry.js +0 -4
  1049. package/dist/ionic/p-26f7c080.system.js +0 -4
  1050. package/dist/ionic/p-28d04212.system.js +0 -4
  1051. package/dist/ionic/p-291dc0b3.system.entry.js +0 -4
  1052. package/dist/ionic/p-29d6d1fc.system.entry.js +0 -4
  1053. package/dist/ionic/p-2a559ac6.js +0 -4
  1054. package/dist/ionic/p-2a79e451.entry.js +0 -4
  1055. package/dist/ionic/p-2be91f19.entry.js +0 -4
  1056. package/dist/ionic/p-2c368e32.entry.js +0 -4
  1057. package/dist/ionic/p-2d580501.entry.js +0 -4
  1058. package/dist/ionic/p-2d621d56.system.entry.js +0 -4
  1059. package/dist/ionic/p-2da8c20c.system.entry.js +0 -4
  1060. package/dist/ionic/p-2e6d744f.system.entry.js +0 -4
  1061. package/dist/ionic/p-361c24e5.system.entry.js +0 -4
  1062. package/dist/ionic/p-36bdcfc4.js +0 -4
  1063. package/dist/ionic/p-388ac217.js +0 -4
  1064. package/dist/ionic/p-39d15e64.system.entry.js +0 -4
  1065. package/dist/ionic/p-3a5869c3.entry.js +0 -4
  1066. package/dist/ionic/p-3ca5196c.js +0 -4
  1067. package/dist/ionic/p-419fac38.entry.js +0 -4
  1068. package/dist/ionic/p-4228a245.entry.js +0 -4
  1069. package/dist/ionic/p-429dd2b5.system.js +0 -4
  1070. package/dist/ionic/p-434c7348.system.entry.js +0 -4
  1071. package/dist/ionic/p-45e150eb.js +0 -4
  1072. package/dist/ionic/p-46787abb.system.js +0 -4
  1073. package/dist/ionic/p-46cc2492.system.js +0 -4
  1074. package/dist/ionic/p-49a3fc76.entry.js +0 -4
  1075. package/dist/ionic/p-4a9b61ed.system.entry.js +0 -4
  1076. package/dist/ionic/p-4c251d59.entry.js +0 -4
  1077. package/dist/ionic/p-4d000ec5.entry.js +0 -4
  1078. package/dist/ionic/p-4e202665.js +0 -4
  1079. package/dist/ionic/p-51151575.system.entry.js +0 -4
  1080. package/dist/ionic/p-5468bfbf.entry.js +0 -4
  1081. package/dist/ionic/p-5b57d327.system.js +0 -4
  1082. package/dist/ionic/p-5ce35a03.js +0 -4
  1083. package/dist/ionic/p-607c9c33.js +0 -4
  1084. package/dist/ionic/p-643e2eb8.js +0 -4
  1085. package/dist/ionic/p-660f3b98.entry.js +0 -4
  1086. package/dist/ionic/p-6703f239.entry.js +0 -4
  1087. package/dist/ionic/p-68f3fa48.system.entry.js +0 -4
  1088. package/dist/ionic/p-69e54172.js +0 -4
  1089. package/dist/ionic/p-6a0dd6bc.js +0 -4
  1090. package/dist/ionic/p-6ad6d594.js +0 -4
  1091. package/dist/ionic/p-6b64dce1.entry.js +0 -4
  1092. package/dist/ionic/p-6d9e1887.system.entry.js +0 -4
  1093. package/dist/ionic/p-70c6cd75.system.js +0 -4
  1094. package/dist/ionic/p-719fca78.entry.js +0 -4
  1095. package/dist/ionic/p-71e8ffdd.system.js +0 -4
  1096. package/dist/ionic/p-726b9197.system.entry.js +0 -4
  1097. package/dist/ionic/p-73e32456.system.js +0 -4
  1098. package/dist/ionic/p-774d5b57.system.entry.js +0 -4
  1099. package/dist/ionic/p-776adb3d.entry.js +0 -4
  1100. package/dist/ionic/p-7811f251.system.entry.js +0 -4
  1101. package/dist/ionic/p-7d02004b.entry.js +0 -4
  1102. package/dist/ionic/p-7ebc381e.entry.js +0 -4
  1103. package/dist/ionic/p-80342c88.system.entry.js +0 -4
  1104. package/dist/ionic/p-8181e971.entry.js +0 -4
  1105. package/dist/ionic/p-8248976b.system.entry.js +0 -4
  1106. package/dist/ionic/p-836515ee.entry.js +0 -4
  1107. package/dist/ionic/p-8421aedf.js +0 -4
  1108. package/dist/ionic/p-8d7bc281.system.entry.js +0 -4
  1109. package/dist/ionic/p-931d77d5.entry.js +0 -4
  1110. package/dist/ionic/p-95c2258a.entry.js +0 -4
  1111. package/dist/ionic/p-974aaf78.entry.js +0 -4
  1112. package/dist/ionic/p-99ab41a8.system.entry.js +0 -4
  1113. package/dist/ionic/p-9abdb4a7.system.entry.js +0 -4
  1114. package/dist/ionic/p-9e4ede77.system.entry.js +0 -4
  1115. package/dist/ionic/p-9e8e25e4.system.js +0 -4
  1116. package/dist/ionic/p-9e9bff83.system.js +0 -4
  1117. package/dist/ionic/p-9f51595b.entry.js +0 -4
  1118. package/dist/ionic/p-9fa0b117.entry.js +0 -4
  1119. package/dist/ionic/p-9fcaadad.system.entry.js +0 -4
  1120. package/dist/ionic/p-a856dbc6.entry.js +0 -4
  1121. package/dist/ionic/p-a9af4103.js +0 -4
  1122. package/dist/ionic/p-aacc6ddd.system.js +0 -5
  1123. package/dist/ionic/p-ab6e0f02.system.entry.js +0 -4
  1124. package/dist/ionic/p-adaa7af1.entry.js +0 -4
  1125. package/dist/ionic/p-b19a9aa9.system.js +0 -4
  1126. package/dist/ionic/p-b297c7b5.system.js +0 -4
  1127. package/dist/ionic/p-b5bf8a04.entry.js +0 -4
  1128. package/dist/ionic/p-b6fc8ee2.system.entry.js +0 -4
  1129. package/dist/ionic/p-ba3ddec4.js +0 -4
  1130. package/dist/ionic/p-bad792a6.entry.js +0 -4
  1131. package/dist/ionic/p-bd50f24e.system.entry.js +0 -4
  1132. package/dist/ionic/p-c08a9937.system.entry.js +0 -4
  1133. package/dist/ionic/p-c248c88d.system.js +0 -4
  1134. package/dist/ionic/p-c24ff776.system.entry.js +0 -4
  1135. package/dist/ionic/p-c6191942.js +0 -4
  1136. package/dist/ionic/p-c6e47379.entry.js +0 -4
  1137. package/dist/ionic/p-c7e967c0.system.entry.js +0 -4
  1138. package/dist/ionic/p-c8097757.system.entry.js +0 -4
  1139. package/dist/ionic/p-c8f207d8.entry.js +0 -4
  1140. package/dist/ionic/p-cb131dda.system.entry.js +0 -4
  1141. package/dist/ionic/p-d0259f44.system.js +0 -4
  1142. package/dist/ionic/p-d0953ec9.system.entry.js +0 -4
  1143. package/dist/ionic/p-d10313a6.system.js +0 -4
  1144. package/dist/ionic/p-d2ef848a.entry.js +0 -4
  1145. package/dist/ionic/p-d346c889.system.entry.js +0 -4
  1146. package/dist/ionic/p-d67b88b0.system.entry.js +0 -4
  1147. package/dist/ionic/p-d8b501bd.system.entry.js +0 -4
  1148. package/dist/ionic/p-da968066.entry.js +0 -4
  1149. package/dist/ionic/p-db8aeb40.system.js +0 -4
  1150. package/dist/ionic/p-dd50ef12.js +0 -4
  1151. package/dist/ionic/p-df668729.entry.js +0 -4
  1152. package/dist/ionic/p-e270862e.js +0 -4
  1153. package/dist/ionic/p-e3b70846.system.js +0 -4
  1154. package/dist/ionic/p-e51ff133.system.entry.js +0 -4
  1155. package/dist/ionic/p-e5239905.system.entry.js +0 -4
  1156. package/dist/ionic/p-eeb60a8f.entry.js +0 -4
  1157. package/dist/ionic/p-eec767ca.entry.js +0 -4
  1158. package/dist/ionic/p-f065578f.js +0 -4
  1159. package/dist/ionic/p-f0d3419a.entry.js +0 -4
  1160. package/dist/ionic/p-f4ae533b.js +0 -4
  1161. package/dist/ionic/p-f61ce679.js +0 -4
  1162. package/dist/ionic/p-fbcb3139.entry.js +0 -4
  1163. package/dist/ionic/p-fca5d1b1.system.entry.js +0 -4
  1164. package/dist/ionic/p-ffa51f41.system.entry.js +0 -4
  1165. /package/dist/collection/components/{refresher-content/refresher-content.css → input-password-toggle/input-password-toggle.css} +0 -0
@@ -1,21 +1,18 @@
1
1
  /*!
2
2
  * (C) Ionic http://ionicframework.com - MIT License
3
3
  */
4
- import caretDownRegular from "@phosphor-icons/core/assets/regular/caret-down.svg";
5
4
  import { Host, h, forceUpdate } from "@stencil/core";
6
5
  import { compareOptions, createNotchController, isOptionSelected } from "../../utils/forms/index";
7
6
  import { focusVisibleElement, renderHiddenInput, inheritAttributes } from "../../utils/helpers";
8
- import { actionSheetController, alertController, popoverController } from "../../utils/overlays";
7
+ import { actionSheetController, alertController, popoverController, modalController } from "../../utils/overlays";
9
8
  import { isRTL } from "../../utils/rtl/index";
10
9
  import { createColorClasses, hostContext } from "../../utils/theme";
11
10
  import { watchForOptions } from "../../utils/watch-options";
12
11
  import { caretDownSharp, chevronExpand } from "ionicons/icons";
13
- import { config } from "../../global/config";
14
- import { getIonTheme } from "../../global/ionic-global";
12
+ import { getIonMode } from "../../global/ionic-global";
15
13
  // TODO(FW-2832): types
16
14
  /**
17
- * @virtualProp {"ios" | "md"} mode - The mode determines the platform behaviors of the component.
18
- * @virtualProp {"ios" | "md" | "ionic"} theme - The theme determines the visual appearance of the component.
15
+ * @virtualProp {"ios" | "md"} mode - The mode determines which platform styles to use.
19
16
  *
20
17
  * @slot label - The label text to associate with the select. Use the `labelPlacement` property to control where the label is placed relative to the select. Use this if you need to render a label with custom HTML.
21
18
  * @slot start - Content to display at the leading edge of the select.
@@ -163,13 +160,12 @@ export class Select {
163
160
  this.setFocus();
164
161
  });
165
162
  await overlay.present();
166
- // focus selected option for popovers
167
- if (this.interface === 'popover') {
168
- const indexOfSelected = this.childOpts.map((o) => o.value).indexOf(this.value);
163
+ // focus selected option for popovers and modals
164
+ if (this.interface === 'popover' || this.interface === 'modal') {
165
+ const indexOfSelected = this.childOpts.findIndex((o) => o.value === this.value);
169
166
  if (indexOfSelected > -1) {
170
167
  const selectedItem = overlay.querySelector(`.select-interface-option:nth-child(${indexOfSelected + 1})`);
171
168
  if (selectedItem) {
172
- focusVisibleElement(selectedItem);
173
169
  /**
174
170
  * Browsers such as Firefox do not
175
171
  * correctly delegate focus when manually
@@ -183,8 +179,11 @@ export class Select {
183
179
  */
184
180
  const interactiveEl = selectedItem.querySelector('ion-radio, ion-checkbox');
185
181
  if (interactiveEl) {
186
- interactiveEl.focus();
182
+ // Needs to be called before `focusVisibleElement` to prevent issue with focus event bubbling
183
+ // and removing `ion-focused` style
184
+ interactiveEl.setFocus();
187
185
  }
186
+ focusVisibleElement(selectedItem);
188
187
  }
189
188
  }
190
189
  else {
@@ -193,11 +192,14 @@ export class Select {
193
192
  */
194
193
  const firstEnabledOption = overlay.querySelector('ion-radio:not(.radio-disabled), ion-checkbox:not(.checkbox-disabled)');
195
194
  if (firstEnabledOption) {
196
- focusVisibleElement(firstEnabledOption.closest('ion-item'));
197
195
  /**
198
196
  * Focus the option for the same reason as we do above.
197
+ *
198
+ * Needs to be called before `focusVisibleElement` to prevent issue with focus event bubbling
199
+ * and removing `ion-focused` style
199
200
  */
200
- firstEnabledOption.focus();
201
+ firstEnabledOption.setFocus();
202
+ focusVisibleElement(firstEnabledOption.closest('ion-item'));
201
203
  }
202
204
  }
203
205
  }
@@ -219,6 +221,9 @@ export class Select {
219
221
  if (selectInterface === 'popover') {
220
222
  return this.openPopover(ev);
221
223
  }
224
+ if (selectInterface === 'modal') {
225
+ return this.openModal();
226
+ }
222
227
  return this.openAlert();
223
228
  }
224
229
  updateOverlayOptions() {
@@ -235,7 +240,13 @@ export class Select {
235
240
  case 'popover':
236
241
  const popover = overlay.querySelector('ion-select-popover');
237
242
  if (popover) {
238
- popover.options = this.createPopoverOptions(childOpts, value);
243
+ popover.options = this.createOverlaySelectOptions(childOpts, value);
244
+ }
245
+ break;
246
+ case 'modal':
247
+ const modal = overlay.querySelector('ion-select-modal');
248
+ if (modal) {
249
+ modal.options = this.createOverlaySelectOptions(childOpts, value);
239
250
  }
240
251
  break;
241
252
  case 'alert':
@@ -290,7 +301,7 @@ export class Select {
290
301
  });
291
302
  return alertInputs;
292
303
  }
293
- createPopoverOptions(data, selectValue) {
304
+ createOverlaySelectOptions(data, selectValue) {
294
305
  const popoverOptions = data.map((option) => {
295
306
  const value = getOptionValue(option);
296
307
  // Remove hydrated before copying over classes
@@ -317,8 +328,8 @@ export class Select {
317
328
  async openPopover(ev) {
318
329
  const { fill, labelPlacement } = this;
319
330
  const interfaceOptions = this.interfaceOptions;
320
- const theme = getIonTheme(this);
321
- const showBackdrop = theme === 'md' ? false : true;
331
+ const mode = getIonMode(this);
332
+ const showBackdrop = mode === 'md' ? false : true;
322
333
  const multiple = this.multiple;
323
334
  const value = this.value;
324
335
  let event = ev;
@@ -329,7 +340,7 @@ export class Select {
329
340
  * when using a fill in MD mode or if the
330
341
  * label is floating/stacked.
331
342
  */
332
- if (hasFloatingOrStackedLabel || (theme === 'md' && fill !== undefined)) {
343
+ if (hasFloatingOrStackedLabel || (mode === 'md' && fill !== undefined)) {
333
344
  size = 'cover';
334
345
  /**
335
346
  * Otherwise the popover
@@ -342,7 +353,7 @@ export class Select {
342
353
  ionShadowTarget: this.nativeWrapperEl,
343
354
  } });
344
355
  }
345
- const popoverOpts = Object.assign(Object.assign({ theme,
356
+ const popoverOpts = Object.assign(Object.assign({ mode,
346
357
  event, alignment: 'center', size,
347
358
  showBackdrop }, interfaceOptions), { component: 'ion-select-popover', cssClass: ['select-popover', interfaceOptions.cssClass], componentProps: {
348
359
  header: interfaceOptions.header,
@@ -350,7 +361,7 @@ export class Select {
350
361
  message: interfaceOptions.message,
351
362
  multiple,
352
363
  value,
353
- options: this.createPopoverOptions(this.childOpts, value),
364
+ options: this.createOverlaySelectOptions(this.childOpts, value),
354
365
  } });
355
366
  /**
356
367
  * Workaround for Stencil to autodefine
@@ -367,9 +378,9 @@ export class Select {
367
378
  return popoverController.create(popoverOpts);
368
379
  }
369
380
  async openActionSheet() {
370
- const theme = getIonTheme(this);
381
+ const mode = getIonMode(this);
371
382
  const interfaceOptions = this.interfaceOptions;
372
- const actionSheetOpts = Object.assign(Object.assign({ theme }, interfaceOptions), { buttons: this.createActionSheetButtons(this.childOpts, this.value), cssClass: ['select-action-sheet', interfaceOptions.cssClass] });
383
+ const actionSheetOpts = Object.assign(Object.assign({ mode }, interfaceOptions), { buttons: this.createActionSheetButtons(this.childOpts, this.value), cssClass: ['select-action-sheet', interfaceOptions.cssClass] });
373
384
  /**
374
385
  * Workaround for Stencil to autodefine
375
386
  * ion-action-sheet when
@@ -386,8 +397,8 @@ export class Select {
386
397
  async openAlert() {
387
398
  const interfaceOptions = this.interfaceOptions;
388
399
  const inputType = this.multiple ? 'checkbox' : 'radio';
389
- const theme = getIonTheme(this);
390
- const alertOpts = Object.assign(Object.assign({ theme }, interfaceOptions), { header: interfaceOptions.header ? interfaceOptions.header : this.labelText, inputs: this.createAlertInputs(this.childOpts, inputType, this.value), buttons: [
400
+ const mode = getIonMode(this);
401
+ const alertOpts = Object.assign(Object.assign({ mode }, interfaceOptions), { header: interfaceOptions.header ? interfaceOptions.header : this.labelText, inputs: this.createAlertInputs(this.childOpts, inputType, this.value), buttons: [
391
402
  {
392
403
  text: this.cancelText,
393
404
  role: 'cancel',
@@ -419,6 +430,29 @@ export class Select {
419
430
  }
420
431
  return alertController.create(alertOpts);
421
432
  }
433
+ openModal() {
434
+ const { multiple, value, interfaceOptions } = this;
435
+ const mode = getIonMode(this);
436
+ const modalOpts = Object.assign(Object.assign({}, interfaceOptions), { mode, cssClass: ['select-modal', interfaceOptions.cssClass], component: 'ion-select-modal', componentProps: {
437
+ header: interfaceOptions.header,
438
+ multiple,
439
+ value,
440
+ options: this.createOverlaySelectOptions(this.childOpts, value),
441
+ } });
442
+ /**
443
+ * Workaround for Stencil to autodefine
444
+ * ion-select-modal and ion-modal when
445
+ * using Custom Elements build.
446
+ */
447
+ // eslint-disable-next-line
448
+ if (false) {
449
+ // eslint-disable-next-line
450
+ // @ts-ignore
451
+ document.createElement('ion-select-modal');
452
+ document.createElement('ion-modal');
453
+ }
454
+ return modalController.create(modalOpts);
455
+ }
422
456
  /**
423
457
  * Close the select interface.
424
458
  */
@@ -504,8 +538,8 @@ export class Select {
504
538
  * when fill="outline".
505
539
  */
506
540
  renderLabelContainer() {
507
- const theme = getIonTheme(this);
508
- const hasOutlineFill = theme === 'md' && this.fill === 'outline';
541
+ const mode = getIonMode(this);
542
+ const hasOutlineFill = mode === 'md' && this.fill === 'outline';
509
543
  if (hasOutlineFill) {
510
544
  /**
511
545
  * The outline fill has a special outline
@@ -554,10 +588,15 @@ export class Select {
554
588
  * next to the select text.
555
589
  */
556
590
  renderSelectIcon() {
557
- const { isExpanded, selectExpandedIcon, selectCollapsedIcon } = this;
558
- let icon = selectCollapsedIcon;
559
- if (isExpanded) {
560
- icon = selectExpandedIcon;
591
+ const mode = getIonMode(this);
592
+ const { isExpanded, toggleIcon, expandedIcon } = this;
593
+ let icon;
594
+ if (isExpanded && expandedIcon !== undefined) {
595
+ icon = expandedIcon;
596
+ }
597
+ else {
598
+ const defaultIcon = mode === 'ios' ? chevronExpand : caretDownSharp;
599
+ icon = toggleIcon !== null && toggleIcon !== void 0 ? toggleIcon : defaultIcon;
561
600
  }
562
601
  return h("ion-icon", { class: "select-icon", part: "icon", "aria-hidden": "true", icon: icon });
563
602
  }
@@ -592,62 +631,14 @@ export class Select {
592
631
  const { disabled, inputId, isExpanded } = this;
593
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) }));
594
633
  }
595
- /**
596
- * Get the icon to use for the expand icon.
597
- * If an icon is set on the component, use that.
598
- * Otherwise, use the icon set in the config.
599
- * If no icon is set in the config, use the default icon.
600
- */
601
- get selectExpandedIcon() {
602
- // Return the expandedIcon or toggleIcon if either is explicitly set
603
- if (this.expandedIcon != null) {
604
- return this.expandedIcon;
605
- }
606
- else if (this.toggleIcon != null) {
607
- return this.toggleIcon;
608
- }
609
- // Determine the theme and map to default icons
610
- const theme = getIonTheme(this);
611
- const defaultIcons = {
612
- ios: chevronExpand,
613
- ionic: caretDownRegular,
614
- md: caretDownSharp,
615
- };
616
- // Get the default icon based on the theme, falling back to 'md' icon if necessary
617
- const defaultIcon = defaultIcons[theme] || defaultIcons.md;
618
- // Return the configured select expanded icon or the default icon
619
- return config.get('selectExpandedIcon', defaultIcon);
620
- }
621
- /**
622
- * Get the icon to use for the collapsed icon.
623
- * If an icon is set on the component, use that.
624
- * Otherwise, use the icon set in the config.
625
- * If no icon is set in the config, use the default icon.
626
- */
627
- get selectCollapsedIcon() {
628
- // Return the toggleIcon if it is explicitly set
629
- if (this.toggleIcon) {
630
- return this.toggleIcon;
631
- }
632
- // Determine the theme and map to default icons
633
- const theme = getIonTheme(this);
634
- const defaultIcons = {
635
- ios: chevronExpand,
636
- ionic: caretDownRegular,
637
- md: caretDownSharp,
638
- };
639
- // Get the default icon based on the theme, falling back to 'md' icon if necessary
640
- const defaultIcon = defaultIcons[theme] || defaultIcons.md;
641
- return config.get('selectCollapsedIcon', defaultIcon);
642
- }
643
634
  render() {
644
635
  const { disabled, el, isExpanded, expandedIcon, labelPlacement, justify, placeholder, fill, shape, name, value } = this;
645
- const theme = getIonTheme(this);
636
+ const mode = getIonMode(this);
646
637
  const hasFloatingOrStackedLabel = labelPlacement === 'floating' || labelPlacement === 'stacked';
647
638
  const justifyEnabled = !hasFloatingOrStackedLabel && justify !== undefined;
648
639
  const rtl = isRTL(el) ? 'rtl' : 'ltr';
649
640
  const inItem = hostContext('ion-item', this.el);
650
- const shouldRenderHighlight = theme === 'md' && fill !== 'outline' && !inItem;
641
+ const shouldRenderHighlight = mode === 'md' && fill !== 'outline' && !inItem;
651
642
  const hasValue = this.hasValue();
652
643
  const hasStartEndSlots = el.querySelector('[slot="start"], [slot="end"]') !== null;
653
644
  renderHiddenInput(true, el, name, parseValue(value), disabled);
@@ -669,8 +660,8 @@ export class Select {
669
660
  * TODO(FW-5592): Remove hasStartEndSlots condition
670
661
  */
671
662
  const labelShouldFloat = labelPlacement === 'stacked' || (labelPlacement === 'floating' && (hasValue || isExpanded || hasStartEndSlots));
672
- return (h(Host, { key: '86852b75ccafecf788d4e526263692abbfbdd71c', onClick: this.onClick, class: createColorClasses(this.color, {
673
- [theme]: true,
663
+ return (h(Host, { key: '66adece2b18fe49825ac12a28f3e7815b18f4558', onClick: this.onClick, class: createColorClasses(this.color, {
664
+ [mode]: true,
674
665
  'in-item': inItem,
675
666
  'in-item-color': hostContext('ion-item.ion-color', el),
676
667
  'select-disabled': disabled,
@@ -685,22 +676,20 @@ export class Select {
685
676
  [`select-justify-${justify}`]: justifyEnabled,
686
677
  [`select-shape-${shape}`]: shape !== undefined,
687
678
  [`select-label-placement-${labelPlacement}`]: true,
688
- }) }, h("label", { key: '20e60d033231b6072d4c716a02cd8b63e14f9828', class: "select-wrapper", id: "select-label" }, this.renderLabelContainer(), h("div", { key: '8eae558c558bfaa87f01d60ed59259bfd823662f', class: "select-wrapper-inner" }, h("slot", { key: 'ccad7f6f887a4e98def2f88666dad09ea2a0eecf', name: "start" }), h("div", { key: '6070ada852d723f6f787046edba99991bd3d9078', class: "native-wrapper", ref: (el) => (this.nativeWrapperEl = el), part: "container" }, this.renderSelectText(), this.renderListbox()), h("slot", { key: 'cce0008c2bf1df6a2fe4c193e722f9138fc94e71', name: "end" }), !hasFloatingOrStackedLabel && this.renderSelectIcon()), hasFloatingOrStackedLabel && this.renderSelectIcon(), shouldRenderHighlight && h("div", { key: '94db7dcf69cf4d5cdc174b3ad2abbc8e79d1b961', class: "select-highlight" }))));
679
+ }) }, h("label", { key: '39baea2f689358281a88ee99823f6ae0196bed08', class: "select-wrapper", id: "select-label" }, this.renderLabelContainer(), h("div", { key: '0cc64c4c86d9f9555c2a6485ad4fe54ebc051937', class: "select-wrapper-inner" }, h("slot", { key: '727faf66ffafc560338ed153fd71a644fdaa436a', name: "start" }), h("div", { key: '4b2167f408158a0bdf0b9f23ebbc38cf1ec3486d', class: "native-wrapper", ref: (el) => (this.nativeWrapperEl = el), part: "container" }, this.renderSelectText(), this.renderListbox()), h("slot", { key: '7d84957672f9e467736d343ddc21f7eade33e469', name: "end" }), !hasFloatingOrStackedLabel && this.renderSelectIcon()), hasFloatingOrStackedLabel && this.renderSelectIcon(), shouldRenderHighlight && h("div", { key: 'ab1324b4b7e5c57082bdb954a24f63030c2ca480', class: "select-highlight" }))));
689
680
  }
690
681
  static get is() { return "ion-select"; }
691
682
  static get encapsulation() { return "shadow"; }
692
683
  static get originalStyleUrls() {
693
684
  return {
694
685
  "ios": ["select.ios.scss"],
695
- "md": ["select.md.scss"],
696
- "ionic": ["select.md.scss"]
686
+ "md": ["select.md.scss"]
697
687
  };
698
688
  }
699
689
  static get styleUrls() {
700
690
  return {
701
691
  "ios": ["select.ios.css"],
702
- "md": ["select.md.css"],
703
- "ionic": ["select.md.css"]
692
+ "md": ["select.md.css"]
704
693
  };
705
694
  }
706
695
  static get properties() {
@@ -799,7 +788,7 @@ export class Select {
799
788
  "optional": true,
800
789
  "docs": {
801
790
  "tags": [],
802
- "text": "The fill for the item. If `\"solid\"` the item will have a background. If\n`\"outline\"` the item will be transparent with a border. Only available in the `\"md\"` theme."
791
+ "text": "The fill for the item. If `\"solid\"` the item will have a background. If\n`\"outline\"` the item will be transparent with a border. Only available in `md` mode."
803
792
  },
804
793
  "attribute": "fill",
805
794
  "reflect": false
@@ -809,7 +798,7 @@ export class Select {
809
798
  "mutable": false,
810
799
  "complexType": {
811
800
  "original": "SelectInterface",
812
- "resolved": "\"action-sheet\" | \"alert\" | \"popover\"",
801
+ "resolved": "\"action-sheet\" | \"alert\" | \"modal\" | \"popover\"",
813
802
  "references": {
814
803
  "SelectInterface": {
815
804
  "location": "import",
@@ -822,7 +811,7 @@ export class Select {
822
811
  "optional": false,
823
812
  "docs": {
824
813
  "tags": [],
825
- "text": "The interface the select should use: `action-sheet`, `popover` or `alert`."
814
+ "text": "The interface the select should use: `action-sheet`, `popover`, `alert`, or `modal`."
826
815
  },
827
816
  "attribute": "interface",
828
817
  "reflect": false,
@@ -840,7 +829,7 @@ export class Select {
840
829
  "optional": false,
841
830
  "docs": {
842
831
  "tags": [],
843
- "text": "Any additional options that the `alert`, `action-sheet` or `popover` interface\ncan take. See the [ion-alert docs](./alert), the\n[ion-action-sheet docs](./action-sheet) and the\n[ion-popover docs](./popover) for the\ncreate options for each interface.\n\nNote: `interfaceOptions` will not override `inputs` or `buttons` with the `alert` interface."
832
+ "text": "Any additional options that the `alert`, `action-sheet` or `popover` interface\ncan take. See the [ion-alert docs](./alert), the\n[ion-action-sheet docs](./action-sheet), the\n[ion-popover docs](./popover), and the [ion-modal docs](./modal) for the\ncreate options for each interface.\n\nNote: `interfaceOptions` will not override `inputs` or `buttons` with the `alert` interface."
844
833
  },
845
834
  "attribute": "interface-options",
846
835
  "reflect": false,
@@ -998,7 +987,7 @@ export class Select {
998
987
  "optional": true,
999
988
  "docs": {
1000
989
  "tags": [],
1001
- "text": "The toggle icon to use. Defaults to `\"chevronExpand\"` for the `\"ios\"` theme,\nor `\"caretDownSharp\"` for the `\"md\"` and `\"ionic\"` themes."
990
+ "text": "The toggle icon to use. Defaults to `chevronExpand` for `ios` mode,\nor `caretDownSharp` for `md` mode."
1002
991
  },
1003
992
  "attribute": "toggle-icon",
1004
993
  "reflect": false
@@ -1015,7 +1004,7 @@ export class Select {
1015
1004
  "optional": true,
1016
1005
  "docs": {
1017
1006
  "tags": [],
1018
- "text": "The toggle icon to show when the select is open. If defined, the icon\nrotation behavior in `\"md\"` theme will be disabled. If undefined, `toggleIcon`\nwill be used for when the select is both open and closed."
1007
+ "text": "The toggle icon to show when the select is open. If defined, the icon\nrotation behavior in `md` mode will be disabled. If undefined, `toggleIcon`\nwill be used for when the select is both open and closed."
1019
1008
  },
1020
1009
  "attribute": "expanded-icon",
1021
1010
  "reflect": false
@@ -1191,6 +1180,14 @@ export class Select {
1191
1180
  "HTMLElement": {
1192
1181
  "location": "global",
1193
1182
  "id": "global::HTMLElement"
1183
+ },
1184
+ "HTMLIonRadioElement": {
1185
+ "location": "global",
1186
+ "id": "global::HTMLIonRadioElement"
1187
+ },
1188
+ "HTMLIonCheckboxElement": {
1189
+ "location": "global",
1190
+ "id": "global::HTMLIonCheckboxElement"
1194
1191
  }
1195
1192
  },
1196
1193
  "return": "Promise<any>"
@@ -1,9 +1,3 @@
1
- /**
2
- * Convert a pixels given value into rem
3
- *
4
- * @param pixels - Value in pixels to be converted (i.e. px)
5
- * @param context (optional) - Baseline value
6
- */
7
1
  /**
8
2
  * Convert a font size to a dynamic font size.
9
3
  * Fonts that participate in Dynamic Type should use
@@ -156,18 +150,18 @@
156
150
  button {
157
151
  position: absolute;
158
152
  top: 0;
153
+ left: 0;
159
154
  right: 0;
160
155
  bottom: 0;
161
- left: 0;
162
156
  width: 100%;
163
157
  height: 100%;
164
158
  margin: 0;
165
159
  padding: 0;
166
160
  border: 0;
167
161
  outline: 0;
162
+ clip: rect(0 0 0 0);
168
163
  opacity: 0;
169
164
  overflow: hidden;
170
- clip: rect(0 0 0 0);
171
165
  -webkit-appearance: none;
172
166
  -moz-appearance: none;
173
167
  }
@@ -562,8 +556,7 @@ button {
562
556
  max-width: calc(100% / 0.75);
563
557
  }
564
558
 
565
- ::slotted([slot=start]),
566
- ::slotted([slot=end]) {
559
+ ::slotted([slot=start]), ::slotted([slot=end]) {
567
560
  /**
568
561
  * Prevent the slots from shrinking when the label and/or
569
562
  * selected item text is long enough to fill the rest of
@@ -582,12 +575,6 @@ button {
582
575
  margin-inline-end: 0;
583
576
  }
584
577
 
585
- /**
586
- * Convert a pixels given value into rem
587
- *
588
- * @param pixels - Value in pixels to be converted (i.e. px)
589
- * @param context (optional) - Baseline value
590
- */
591
578
  /**
592
579
  * Convert a font size to a dynamic font size.
593
580
  * Fonts that participate in Dynamic Type should use
@@ -643,12 +630,6 @@ button {
643
630
  * }
644
631
  * }
645
632
  */
646
- /**
647
- * Convert a pixels given value into rem
648
- *
649
- * @param pixels - Value in pixels to be converted (i.e. px)
650
- * @param context (optional) - Baseline value
651
- */
652
633
  /**
653
634
  * Convert a font size to a dynamic font size.
654
635
  * Fonts that participate in Dynamic Type should use
@@ -704,12 +685,6 @@ button {
704
685
  * }
705
686
  * }
706
687
  */
707
- /**
708
- * Convert a pixels given value into rem
709
- *
710
- * @param pixels - Value in pixels to be converted (i.e. px)
711
- * @param context (optional) - Baseline value
712
- */
713
688
  /**
714
689
  * Convert a font size to a dynamic font size.
715
690
  * Fonts that participate in Dynamic Type should use
@@ -836,12 +811,6 @@ button {
836
811
  max-width: calc(100% / 0.75);
837
812
  }
838
813
 
839
- /**
840
- * Convert a pixels given value into rem
841
- *
842
- * @param pixels - Value in pixels to be converted (i.e. px)
843
- * @param context (optional) - Baseline value
844
- */
845
814
  /**
846
815
  * Convert a font size to a dynamic font size.
847
816
  * Fonts that participate in Dynamic Type should use
@@ -1000,9 +969,7 @@ button {
1000
969
  * Label text should not extend
1001
970
  * beyond the bounds of the select.
1002
971
  */
1003
- max-width: calc(
1004
- (100% - var(--padding-start) - var(--padding-end) - 8px) / 0.75
1005
- );
972
+ max-width: calc((100% - var(--padding-start) - var(--padding-end) - 8px) / 0.75);
1006
973
  }
1007
974
 
1008
975
  /**
@@ -1019,8 +986,8 @@ button {
1019
986
  }
1020
987
 
1021
988
  :host(.select-fill-outline) .select-outline-container {
1022
- right: 0;
1023
989
  left: 0;
990
+ right: 0;
1024
991
  top: 0;
1025
992
  bottom: 0;
1026
993
  display: flex;
@@ -0,0 +1,3 @@
1
+ :host {
2
+ height: 100%;
3
+ }
@@ -0,0 +1,159 @@
1
+ /*!
2
+ * (C) Ionic http://ionicframework.com - MIT License
3
+ */
4
+ import { getIonMode } from "../../global/ionic-global";
5
+ import { Host, forceUpdate, h } from "@stencil/core";
6
+ import { safeCall } from "../../utils/overlays";
7
+ import { getClassMap } from "../../utils/theme";
8
+ export class SelectModal {
9
+ constructor() {
10
+ this.header = undefined;
11
+ this.multiple = undefined;
12
+ this.options = [];
13
+ }
14
+ closeModal() {
15
+ const modal = this.el.closest('ion-modal');
16
+ if (modal) {
17
+ modal.dismiss();
18
+ }
19
+ }
20
+ findOptionFromEvent(ev) {
21
+ const { options } = this;
22
+ return options.find((o) => o.value === ev.target.value);
23
+ }
24
+ getValues(ev) {
25
+ const { multiple, options } = this;
26
+ if (multiple) {
27
+ // this is a modal with checkboxes (multiple value select)
28
+ // return an array of all the checked values
29
+ return options.filter((o) => o.checked).map((o) => o.value);
30
+ }
31
+ // this is a modal with radio buttons (single value select)
32
+ // return the value that was clicked, otherwise undefined
33
+ const option = ev ? this.findOptionFromEvent(ev) : null;
34
+ return option ? option.value : undefined;
35
+ }
36
+ callOptionHandler(ev) {
37
+ const option = this.findOptionFromEvent(ev);
38
+ const values = this.getValues(ev);
39
+ if (option === null || option === void 0 ? void 0 : option.handler) {
40
+ safeCall(option.handler, values);
41
+ }
42
+ }
43
+ setChecked(ev) {
44
+ const { multiple } = this;
45
+ const option = this.findOptionFromEvent(ev);
46
+ // this is a modal with checkboxes (multiple value select)
47
+ // we need to set the checked value for this option
48
+ if (multiple && option) {
49
+ option.checked = ev.detail.checked;
50
+ }
51
+ }
52
+ renderRadioOptions() {
53
+ const checked = this.options.filter((o) => o.checked).map((o) => o.value)[0];
54
+ return (h("ion-radio-group", { value: checked, onIonChange: (ev) => this.callOptionHandler(ev) }, this.options.map((option) => (h("ion-item", { class: Object.assign({
55
+ // TODO FW-4784
56
+ 'item-radio-checked': option.value === checked
57
+ }, getClassMap(option.cssClass)) }, h("ion-radio", { value: option.value, disabled: option.disabled, justify: "start", labelPlacement: "end", onClick: () => this.closeModal(), onKeyUp: (ev) => {
58
+ if (ev.key === ' ') {
59
+ /**
60
+ * Selecting a radio option with keyboard navigation,
61
+ * either through the Enter or Space keys, should
62
+ * dismiss the modal.
63
+ */
64
+ this.closeModal();
65
+ }
66
+ } }, option.text))))));
67
+ }
68
+ renderCheckboxOptions() {
69
+ return this.options.map((option) => (h("ion-item", { class: Object.assign({
70
+ // TODO FW-4784
71
+ 'item-checkbox-checked': option.checked
72
+ }, getClassMap(option.cssClass)) }, h("ion-checkbox", { value: option.value, disabled: option.disabled, checked: option.checked, justify: "start", labelPlacement: "end", onIonChange: (ev) => {
73
+ this.setChecked(ev);
74
+ this.callOptionHandler(ev);
75
+ // TODO FW-4784
76
+ forceUpdate(this);
77
+ } }, option.text))));
78
+ }
79
+ render() {
80
+ return (h(Host, { key: '694a6d282f489b4997105f6e602777d4df90421a', class: getIonMode(this) }, h("ion-header", { key: '50bdd9144222231817bbb9adbb8f7f43985fc786' }, h("ion-toolbar", { key: '47c1a62e188c6b79e32fa42724fde91cf396bc8a' }, this.header !== undefined && h("ion-title", { key: 'db2a5480ac0f710842108de116ac8218be409fdb' }, this.header), h("ion-buttons", { key: '21ca4e72b6220b821c3bac890ec9a8aacab69c29', slot: "end" }, h("ion-button", { key: 'f08b33ff0b82c04c8205e0186235acdaf8085733', onClick: () => this.closeModal() }, "Close")))), h("ion-content", { key: 'c35d024bebda7250b44b2b0ff97c2778c815f1ca' }, h("ion-list", { key: '027ad22799a82b49c03bc9d9f2779cdbe896f218' }, this.multiple === true ? this.renderCheckboxOptions() : this.renderRadioOptions()))));
81
+ }
82
+ static get is() { return "ion-select-modal"; }
83
+ static get encapsulation() { return "scoped"; }
84
+ static get originalStyleUrls() {
85
+ return {
86
+ "ios": ["select-modal.ios.scss"],
87
+ "md": ["select-modal.md.scss"],
88
+ "ionic": ["select-modal.md.scss"]
89
+ };
90
+ }
91
+ static get styleUrls() {
92
+ return {
93
+ "ios": ["select-modal.ios.css"],
94
+ "md": ["select-modal.md.css"],
95
+ "ionic": ["select-modal.md.css"]
96
+ };
97
+ }
98
+ static get properties() {
99
+ return {
100
+ "header": {
101
+ "type": "string",
102
+ "mutable": false,
103
+ "complexType": {
104
+ "original": "string",
105
+ "resolved": "string | undefined",
106
+ "references": {}
107
+ },
108
+ "required": false,
109
+ "optional": true,
110
+ "docs": {
111
+ "tags": [],
112
+ "text": ""
113
+ },
114
+ "attribute": "header",
115
+ "reflect": false
116
+ },
117
+ "multiple": {
118
+ "type": "boolean",
119
+ "mutable": false,
120
+ "complexType": {
121
+ "original": "boolean",
122
+ "resolved": "boolean | undefined",
123
+ "references": {}
124
+ },
125
+ "required": false,
126
+ "optional": true,
127
+ "docs": {
128
+ "tags": [],
129
+ "text": ""
130
+ },
131
+ "attribute": "multiple",
132
+ "reflect": false
133
+ },
134
+ "options": {
135
+ "type": "unknown",
136
+ "mutable": false,
137
+ "complexType": {
138
+ "original": "SelectModalOption[]",
139
+ "resolved": "SelectModalOption[]",
140
+ "references": {
141
+ "SelectModalOption": {
142
+ "location": "import",
143
+ "path": "./select-modal-interface",
144
+ "id": "src/components/select-modal/select-modal-interface.ts::SelectModalOption"
145
+ }
146
+ }
147
+ },
148
+ "required": false,
149
+ "optional": false,
150
+ "docs": {
151
+ "tags": [],
152
+ "text": ""
153
+ },
154
+ "defaultValue": "[]"
155
+ }
156
+ };
157
+ }
158
+ static get elementRef() { return "el"; }
159
+ }