@ionic/core 8.3.5-nightly.20241104 → 8.4.1-dev.11730761110.1b046f37

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 (1195) hide show
  1. package/components/action-sheet.js +13 -8
  2. package/components/alert.js +20 -13
  3. package/components/animation.js +1 -1
  4. package/components/backdrop.js +10 -6
  5. package/components/button.js +41 -11
  6. package/components/buttons.js +11 -7
  7. package/components/capacitor.js +1 -1
  8. package/components/caret-down.js +6 -0
  9. package/components/caret-left.js +6 -0
  10. package/components/caret-right.js +6 -0
  11. package/components/checkbox.js +33 -14
  12. package/components/config2.js +79 -0
  13. package/components/content.js +448 -0
  14. package/components/data.js +4 -4
  15. package/components/focus-visible.js +8 -1
  16. package/components/framework-delegate.js +3 -1
  17. package/components/header.js +365 -0
  18. package/components/helpers.js +4 -1
  19. package/components/index2.js +2 -2
  20. package/components/index4.js +10 -11
  21. package/components/index5.js +27 -3
  22. package/components/index6.js +114 -20
  23. package/components/index7.js +163 -27
  24. package/components/input-shims.js +2 -2
  25. package/components/input.utils.js +1 -2
  26. package/components/ion-accordion-group.js +25 -6
  27. package/components/ion-accordion.js +36 -17
  28. package/components/ion-app.js +9 -77
  29. package/components/ion-avatar.js +52 -3
  30. package/components/ion-back-button.js +29 -19
  31. package/components/ion-badge.js +44 -8
  32. package/components/ion-breadcrumb.js +45 -11
  33. package/components/ion-breadcrumbs.js +9 -5
  34. package/components/ion-card-content.js +11 -7
  35. package/components/ion-card-header.js +9 -5
  36. package/components/ion-card-subtitle.js +9 -5
  37. package/components/ion-card-title.js +9 -5
  38. package/components/ion-card.js +17 -9
  39. package/components/ion-chip.js +45 -8
  40. package/components/ion-col.js +5 -5
  41. package/components/ion-content.js +1 -441
  42. package/components/ion-datetime-button.js +9 -6
  43. package/components/ion-datetime.js +96 -20
  44. package/components/ion-fab-button.js +33 -10
  45. package/components/ion-fab-list.js +5 -5
  46. package/components/ion-fab.js +6 -6
  47. package/components/ion-footer.js +18 -12
  48. package/components/ion-grid.js +5 -5
  49. package/components/ion-header.js +1 -351
  50. package/components/ion-img.js +5 -2
  51. package/components/ion-infinite-scroll-content.js +13 -8
  52. package/components/ion-infinite-scroll.js +5 -5
  53. package/components/ion-input-password-toggle.js +53 -14
  54. package/components/ion-input.js +118 -20
  55. package/components/ion-item-divider.js +9 -5
  56. package/components/ion-item-group.js +9 -5
  57. package/components/ion-item-option.js +28 -8
  58. package/components/ion-item-options.js +9 -5
  59. package/components/ion-item-sliding.js +5 -5
  60. package/components/ion-loading.js +13 -8
  61. package/components/ion-menu-button.js +28 -10
  62. package/components/ion-menu-toggle.js +5 -5
  63. package/components/ion-menu.js +29 -25
  64. package/components/ion-modal.js +1 -1737
  65. package/components/ion-nav-link.js +1 -1
  66. package/components/ion-nav.js +8 -6
  67. package/components/ion-note.js +9 -5
  68. package/components/ion-picker-legacy.js +7 -8
  69. package/components/ion-progress-bar.js +11 -6
  70. package/components/ion-range.js +11 -8
  71. package/components/ion-refresher-content.js +28 -9
  72. package/components/ion-refresher.js +11 -7
  73. package/components/ion-reorder-group.js +5 -5
  74. package/components/ion-reorder.js +31 -5
  75. package/components/ion-router-link.js +6 -6
  76. package/components/ion-router-outlet.js +4 -3
  77. package/components/ion-row.js +5 -2
  78. package/components/ion-searchbar.js +93 -16
  79. package/components/ion-segment-button.js +33 -10
  80. package/components/ion-segment-content.d.ts +11 -0
  81. package/components/ion-segment-content.js +37 -0
  82. package/components/ion-segment-view.d.ts +11 -0
  83. package/components/ion-segment-view.js +140 -0
  84. package/components/ion-segment.js +119 -20
  85. package/components/ion-select-modal.d.ts +11 -0
  86. package/components/ion-select-modal.js +9 -0
  87. package/components/ion-select-option.js +5 -2
  88. package/components/ion-select.js +189 -67
  89. package/components/ion-skeleton-text.js +6 -5
  90. package/components/ion-split-pane.js +12 -8
  91. package/components/ion-tab-bar.js +31 -8
  92. package/components/ion-tab-button.js +12 -7
  93. package/components/ion-tab.js +2 -2
  94. package/components/ion-tabs.js +2 -2
  95. package/components/ion-text.js +5 -5
  96. package/components/ion-textarea.js +38 -11
  97. package/components/ion-thumbnail.js +5 -2
  98. package/components/ion-title.js +1 -70
  99. package/components/ion-toast.js +30 -12
  100. package/components/ion-toggle.js +77 -18
  101. package/components/ion-toolbar.js +1 -88
  102. package/components/ionic-global.js +374 -84
  103. package/components/ios.transition.js +1 -0
  104. package/components/item.js +41 -11
  105. package/components/keyboard-controller.js +4 -2
  106. package/components/label.js +9 -5
  107. package/components/list-header.js +9 -5
  108. package/components/list.js +29 -6
  109. package/components/list2.js +6 -0
  110. package/components/modal.js +1772 -0
  111. package/components/notch-controller.js +1 -1
  112. package/components/overlays.js +4 -5
  113. package/components/picker-column-option.js +9 -5
  114. package/components/picker-column.js +7 -8
  115. package/components/picker-column2.js +4 -4
  116. package/components/picker.js +8 -4
  117. package/components/popover.js +11 -8
  118. package/components/radio-group.js +9 -5
  119. package/components/radio.js +16 -10
  120. package/components/ripple-effect.js +18 -8
  121. package/components/select-modal.js +197 -0
  122. package/components/select-popover.js +9 -2
  123. package/components/spinner.js +36 -9
  124. package/components/status-tap.js +1 -1
  125. package/components/title.js +79 -0
  126. package/components/toolbar.js +97 -0
  127. package/components/x.js +6 -0
  128. package/css/core.css +1 -1
  129. package/css/core.css.map +1 -1
  130. package/css/display.css.map +1 -1
  131. package/css/flex-utils.css.map +1 -1
  132. package/css/float-elements.css.map +1 -1
  133. package/css/global.bundle.css.map +1 -1
  134. package/css/ionic/bundle.ionic.css +1 -0
  135. package/css/ionic/bundle.ionic.css.map +1 -0
  136. package/css/ionic/core.ionic.css +1 -0
  137. package/css/ionic/core.ionic.css.map +1 -0
  138. package/css/ionic/global.bundle.ionic.css +1 -0
  139. package/css/ionic/global.bundle.ionic.css.map +1 -0
  140. package/css/ionic/ionic-swiper.ionic.css +1 -0
  141. package/css/ionic/ionic-swiper.ionic.css.map +1 -0
  142. package/css/ionic/link.ionic.css +1 -0
  143. package/css/ionic/link.ionic.css.map +1 -0
  144. package/css/ionic/structure.ionic.css +1 -0
  145. package/css/ionic/structure.ionic.css.map +1 -0
  146. package/css/ionic/typography.ionic.css +1 -0
  147. package/css/ionic/typography.ionic.css.map +1 -0
  148. package/css/ionic/utils.bundle.ionic.css +1 -0
  149. package/css/ionic/utils.bundle.ionic.css.map +1 -0
  150. package/css/ionic-swiper.css +1 -1
  151. package/css/ionic-swiper.css.map +1 -1
  152. package/css/ionic.bundle.css +1 -1
  153. package/css/ionic.bundle.css.map +1 -1
  154. package/css/normalize.css.map +1 -1
  155. package/css/padding.css.map +1 -1
  156. package/css/palettes/dark.always.css.map +1 -1
  157. package/css/palettes/dark.class.css.map +1 -1
  158. package/css/palettes/dark.system.css.map +1 -1
  159. package/css/palettes/high-contrast-dark.always.css.map +1 -1
  160. package/css/palettes/high-contrast-dark.class.css.map +1 -1
  161. package/css/palettes/high-contrast-dark.system.css.map +1 -1
  162. package/css/palettes/high-contrast.always.css.map +1 -1
  163. package/css/palettes/high-contrast.class.css.map +1 -1
  164. package/css/palettes/high-contrast.system.css.map +1 -1
  165. package/css/structure.css.map +1 -1
  166. package/css/text-alignment.css.map +1 -1
  167. package/css/text-transformation.css.map +1 -1
  168. package/css/typography.css.map +1 -1
  169. package/css/utils.bundle.css.map +1 -1
  170. package/dist/cjs/{animation-b4fdf128.js → animation-58015a44.js} +2 -2
  171. package/dist/cjs/{app-globals-21afee77.js → app-globals-d64148d3.js} +1 -1
  172. package/dist/cjs/{button-active-3f2f60b4.js → button-active-ec1fd1d8.js} +1 -1
  173. package/dist/cjs/{capacitor-c04564bf.js → capacitor-454dd071.js} +3 -3
  174. package/dist/cjs/caret-down-3c215cff.js +8 -0
  175. package/dist/cjs/caret-left-2bb66970.js +8 -0
  176. package/dist/cjs/caret-right-88e03970.js +8 -0
  177. package/dist/cjs/config-aff4ff52.js +84 -0
  178. package/dist/cjs/{data-21dc0f81.js → data-b726dbee.js} +6 -6
  179. package/dist/cjs/{focus-visible-7a0ce04f.js → focus-visible-9aa87fa3.js} +8 -0
  180. package/dist/cjs/{framework-delegate-55f5683a.js → framework-delegate-32f1a0e4.js} +4 -2
  181. package/dist/cjs/{haptic-f6b37aa3.js → haptic-7c25be74.js} +1 -1
  182. package/dist/cjs/{helpers-afaa9001.js → helpers-4e2936d2.js} +4 -1
  183. package/dist/cjs/{index-9cd00dc3.js → index-03fbee1d.js} +16 -17
  184. package/dist/cjs/{index-9509ecad.js → index-0e0c6196.js} +9 -7
  185. package/dist/cjs/{index-5b6a7459.js → index-604c36ae.js} +3 -3
  186. package/dist/cjs/{index-f05acd21.js → index-8f975cf4.js} +12 -12
  187. package/dist/cjs/index.cjs.js +10 -12
  188. package/dist/cjs/{input-shims-9e59ef62.js → input-shims-4b4d2251.js} +18 -17
  189. package/dist/cjs/{input.utils-611cde0b.js → input.utils-fb1debe4.js} +4 -5
  190. package/dist/cjs/ion-accordion_2.cjs.entry.js +61 -24
  191. package/dist/cjs/ion-action-sheet.cjs.entry.js +21 -18
  192. package/dist/cjs/ion-alert.cjs.entry.js +30 -26
  193. package/dist/cjs/ion-app_8.cjs.entry.js +108 -152
  194. package/dist/cjs/ion-avatar_3.cjs.entry.js +93 -9
  195. package/dist/cjs/ion-back-button.cjs.entry.js +31 -21
  196. package/dist/cjs/ion-backdrop.cjs.entry.js +11 -6
  197. package/dist/cjs/ion-breadcrumb_2.cjs.entry.js +53 -15
  198. package/dist/cjs/ion-button_2.cjs.entry.js +46 -15
  199. package/dist/cjs/ion-card_5.cjs.entry.js +52 -28
  200. package/dist/cjs/ion-checkbox.cjs.entry.js +31 -14
  201. package/dist/cjs/ion-chip.cjs.entry.js +43 -7
  202. package/dist/cjs/ion-col_3.cjs.entry.js +14 -10
  203. package/dist/cjs/ion-datetime-button.cjs.entry.js +16 -12
  204. package/dist/cjs/ion-datetime_3.cjs.entry.js +189 -115
  205. package/dist/cjs/ion-fab_3.cjs.entry.js +42 -19
  206. package/dist/cjs/ion-img.cjs.entry.js +7 -3
  207. package/dist/cjs/ion-infinite-scroll_2.cjs.entry.js +21 -17
  208. package/dist/cjs/ion-input-password-toggle.cjs.entry.js +55 -16
  209. package/dist/cjs/ion-input.cjs.entry.js +118 -23
  210. package/dist/cjs/ion-item-option_3.cjs.entry.js +40 -17
  211. package/dist/cjs/ion-item_8.cjs.entry.js +113 -41
  212. package/dist/cjs/ion-loading.cjs.entry.js +20 -18
  213. package/dist/cjs/ion-menu_3.cjs.entry.js +64 -45
  214. package/dist/cjs/ion-modal.cjs.entry.js +95 -67
  215. package/dist/cjs/ion-nav_2.cjs.entry.js +15 -13
  216. package/dist/cjs/ion-picker-column-option.cjs.entry.js +11 -6
  217. package/dist/cjs/ion-picker-column.cjs.entry.js +12 -12
  218. package/dist/cjs/ion-picker.cjs.entry.js +10 -5
  219. package/dist/cjs/ion-popover.cjs.entry.js +20 -18
  220. package/dist/cjs/ion-progress-bar.cjs.entry.js +13 -8
  221. package/dist/cjs/ion-radio_2.cjs.entry.js +26 -15
  222. package/dist/cjs/ion-range.cjs.entry.js +18 -14
  223. package/dist/cjs/ion-refresher_2.cjs.entry.js +44 -23
  224. package/dist/cjs/ion-reorder_2.cjs.entry.js +37 -13
  225. package/dist/cjs/ion-ripple-effect.cjs.entry.js +18 -7
  226. package/dist/cjs/ion-route_4.cjs.entry.js +8 -7
  227. package/dist/cjs/ion-searchbar.cjs.entry.js +94 -17
  228. package/dist/cjs/ion-segment-content.cjs.entry.js +23 -0
  229. package/dist/cjs/ion-segment-view.cjs.entry.js +122 -0
  230. package/dist/cjs/ion-segment_2.cjs.entry.js +151 -29
  231. package/dist/cjs/ion-select-modal.cjs.entry.js +109 -0
  232. package/dist/cjs/ion-select_3.cjs.entry.js +127 -46
  233. package/dist/cjs/ion-spinner.cjs.entry.js +35 -9
  234. package/dist/cjs/ion-split-pane.cjs.entry.js +13 -8
  235. package/dist/cjs/ion-tab-bar_2.cjs.entry.js +45 -20
  236. package/dist/cjs/ion-tab_2.cjs.entry.js +7 -6
  237. package/dist/cjs/ion-text.cjs.entry.js +6 -5
  238. package/dist/cjs/ion-textarea.cjs.entry.js +41 -16
  239. package/dist/cjs/ion-toast.cjs.entry.js +59 -43
  240. package/dist/cjs/ion-toggle.cjs.entry.js +80 -22
  241. package/dist/cjs/ionic-global-14af9c21.js +535 -0
  242. package/dist/cjs/ionic.cjs.js +4 -3
  243. package/dist/cjs/{ios.transition-cf40433b.js → ios.transition-2bb0f7d5.js} +6 -6
  244. package/dist/cjs/{keyboard-af1bb365.js → keyboard-0a5d46dd.js} +5 -3
  245. package/dist/cjs/{keyboard-0272231f.js → keyboard-53c12a15.js} +1 -1
  246. package/dist/cjs/{keyboard-controller-c05e747a.js → keyboard-controller-102bad3e.js} +11 -9
  247. package/dist/cjs/list-2930c629.js +8 -0
  248. package/dist/cjs/loader.cjs.js +4 -3
  249. package/dist/cjs/{md.transition-ededf99f.js → md.transition-cf600117.js} +5 -6
  250. package/dist/cjs/{notch-controller-d69150f5.js → notch-controller-ea70e230.js} +4 -4
  251. package/dist/cjs/{overlays-ba0f6986.js → overlays-a698a408.js} +19 -20
  252. package/dist/cjs/{status-tap-37681226.js → status-tap-aa97d209.js} +4 -3
  253. package/dist/cjs/{swipe-back-0303a5e4.js → swipe-back-27975274.js} +2 -1
  254. package/dist/cjs/x-81a8f51c.js +8 -0
  255. package/dist/collection/collection-manifest.json +3 -0
  256. package/dist/collection/components/accordion/accordion.ionic.css +197 -0
  257. package/dist/collection/components/accordion/accordion.ios.css +73 -58
  258. package/dist/collection/components/accordion/accordion.js +37 -21
  259. package/dist/collection/components/accordion/accordion.md.css +67 -59
  260. package/dist/collection/components/accordion-group/accordion-group.ionic.css +95 -0
  261. package/dist/collection/components/accordion-group/accordion-group.ios.css +16 -4
  262. package/dist/collection/components/accordion-group/accordion-group.js +43 -8
  263. package/dist/collection/components/accordion-group/accordion-group.md.css +22 -4
  264. package/dist/collection/components/action-sheet/action-sheet.ios.css +18 -6
  265. package/dist/collection/components/action-sheet/action-sheet.js +14 -10
  266. package/dist/collection/components/action-sheet/action-sheet.md.css +17 -5
  267. package/dist/collection/components/alert/alert.ios.css +19 -1
  268. package/dist/collection/components/alert/alert.js +20 -15
  269. package/dist/collection/components/alert/alert.md.css +19 -1
  270. package/dist/collection/components/app/app.js +12 -78
  271. package/dist/collection/components/avatar/avatar.ionic.css +269 -0
  272. package/dist/collection/components/avatar/avatar.ios.css +12 -0
  273. package/dist/collection/components/avatar/avatar.js +92 -4
  274. package/dist/collection/components/avatar/avatar.md.css +12 -0
  275. package/dist/collection/components/back-button/back-button.ios.css +60 -48
  276. package/dist/collection/components/back-button/back-button.js +27 -19
  277. package/dist/collection/components/back-button/back-button.md.css +60 -48
  278. package/dist/collection/components/backdrop/backdrop.ionic.css +151 -0
  279. package/dist/collection/components/backdrop/backdrop.ios.css +13 -1
  280. package/dist/collection/components/backdrop/backdrop.js +12 -6
  281. package/dist/collection/components/backdrop/backdrop.md.css +13 -1
  282. package/dist/collection/components/badge/badge.ionic.css +249 -0
  283. package/dist/collection/components/badge/badge.ios.css +106 -3
  284. package/dist/collection/components/badge/badge.js +75 -8
  285. package/dist/collection/components/badge/badge.md.css +106 -3
  286. package/dist/collection/components/breadcrumb/breadcrumb.ios.css +20 -8
  287. package/dist/collection/components/breadcrumb/breadcrumb.js +43 -11
  288. package/dist/collection/components/breadcrumb/breadcrumb.md.css +20 -8
  289. package/dist/collection/components/breadcrumbs/breadcrumbs.ios.css +6 -0
  290. package/dist/collection/components/breadcrumbs/breadcrumbs.js +11 -9
  291. package/dist/collection/components/breadcrumbs/breadcrumbs.md.css +6 -0
  292. package/dist/collection/components/button/button.ionic.css +589 -0
  293. package/dist/collection/components/button/button.ios.css +129 -36
  294. package/dist/collection/components/button/button.js +46 -16
  295. package/dist/collection/components/button/button.md.css +120 -40
  296. package/dist/collection/components/buttons/buttons.ionic.css +100 -0
  297. package/dist/collection/components/buttons/buttons.ios.css +59 -7
  298. package/dist/collection/components/buttons/buttons.js +14 -8
  299. package/dist/collection/components/buttons/buttons.md.css +55 -3
  300. package/dist/collection/components/card/card.ionic.css +137 -0
  301. package/dist/collection/components/card/card.ios.css +65 -14
  302. package/dist/collection/components/card/card.js +34 -10
  303. package/dist/collection/components/card/card.md.css +65 -14
  304. package/dist/collection/components/card-content/card-content.ionic.css +90 -0
  305. package/dist/collection/components/card-content/card-content.ios.css +16 -1
  306. package/dist/collection/components/card-content/card-content.js +11 -8
  307. package/dist/collection/components/card-content/card-content.md.css +16 -1
  308. package/dist/collection/components/card-header/card-header.ionic.css +87 -0
  309. package/dist/collection/components/card-header/card-header.ios.css +27 -15
  310. package/dist/collection/components/card-header/card-header.js +12 -9
  311. package/dist/collection/components/card-header/card-header.md.css +27 -15
  312. package/dist/collection/components/card-subtitle/card-subtitle.ionic.css +146 -0
  313. package/dist/collection/components/card-subtitle/card-subtitle.ios.css +12 -0
  314. package/dist/collection/components/card-subtitle/card-subtitle.js +11 -8
  315. package/dist/collection/components/card-subtitle/card-subtitle.md.css +12 -0
  316. package/dist/collection/components/card-title/card-title.ios.css +73 -0
  317. package/dist/collection/components/card-title/card-title.js +11 -8
  318. package/dist/collection/components/card-title/card-title.md.css +73 -0
  319. package/dist/collection/components/checkbox/checkbox.ionic.css +402 -0
  320. package/dist/collection/components/checkbox/checkbox.ios.css +20 -2
  321. package/dist/collection/components/checkbox/checkbox.js +89 -15
  322. package/dist/collection/components/checkbox/checkbox.md.css +21 -3
  323. package/dist/collection/components/chip/chip.ionic.css +160 -0
  324. package/dist/collection/components/chip/chip.ios.css +20 -1
  325. package/dist/collection/components/chip/chip.js +77 -8
  326. package/dist/collection/components/chip/chip.md.css +20 -1
  327. package/dist/collection/components/col/col.css +12 -0
  328. package/dist/collection/components/col/col.js +9 -5
  329. package/dist/collection/components/content/content.css +8 -2
  330. package/dist/collection/components/content/content.js +16 -11
  331. package/dist/collection/components/datetime/datetime.ionic.css +668 -0
  332. package/dist/collection/components/datetime/datetime.ios.css +232 -73
  333. package/dist/collection/components/datetime/datetime.js +95 -19
  334. package/dist/collection/components/datetime/datetime.md.css +232 -73
  335. package/dist/collection/components/datetime/utils/data.js +3 -3
  336. package/dist/collection/components/datetime-button/datetime-button.ios.css +6 -0
  337. package/dist/collection/components/datetime-button/datetime-button.js +11 -8
  338. package/dist/collection/components/datetime-button/datetime-button.md.css +6 -0
  339. package/dist/collection/components/fab/fab.css +25 -1
  340. package/dist/collection/components/fab/fab.js +9 -5
  341. package/dist/collection/components/fab-button/fab-button.ios.css +18 -6
  342. package/dist/collection/components/fab-button/fab-button.js +36 -15
  343. package/dist/collection/components/fab-button/fab-button.md.css +20 -8
  344. package/dist/collection/components/fab-list/fab-list.css +12 -0
  345. package/dist/collection/components/fab-list/fab-list.js +9 -5
  346. package/dist/collection/components/footer/footer.ios.css +14 -2
  347. package/dist/collection/components/footer/footer.js +20 -15
  348. package/dist/collection/components/footer/footer.md.css +12 -0
  349. package/dist/collection/components/grid/grid.css +12 -0
  350. package/dist/collection/components/grid/grid.js +9 -5
  351. package/dist/collection/components/header/header.ionic.css +86 -0
  352. package/dist/collection/components/header/header.ios.css +25 -10
  353. package/dist/collection/components/header/header.js +42 -17
  354. package/dist/collection/components/header/header.md.css +23 -8
  355. package/dist/collection/components/img/img.js +8 -2
  356. package/dist/collection/components/infinite-scroll/infinite-scroll.js +8 -4
  357. package/dist/collection/components/infinite-scroll-content/infinite-scroll-content.ios.css +12 -0
  358. package/dist/collection/components/infinite-scroll-content/infinite-scroll-content.js +16 -10
  359. package/dist/collection/components/infinite-scroll-content/infinite-scroll-content.md.css +12 -0
  360. package/dist/collection/components/input/input.ionic.css +1096 -0
  361. package/dist/collection/components/input/input.ios.css +21 -2
  362. package/dist/collection/components/input/input.js +144 -30
  363. package/dist/collection/components/input/input.md.css +43 -4
  364. package/dist/collection/components/input-password-toggle/input-password-toggle.common.css +61 -0
  365. package/dist/collection/components/input-password-toggle/input-password-toggle.ionic.css +141 -0
  366. package/dist/collection/components/input-password-toggle/input-password-toggle.js +48 -12
  367. package/dist/collection/components/item/item.ionic.css +501 -0
  368. package/dist/collection/components/item/item.ios.css +109 -69
  369. package/dist/collection/components/item/item.js +44 -16
  370. package/dist/collection/components/item/item.md.css +120 -68
  371. package/dist/collection/components/item-divider/item-divider.ios.css +18 -0
  372. package/dist/collection/components/item-divider/item-divider.js +11 -8
  373. package/dist/collection/components/item-divider/item-divider.md.css +18 -0
  374. package/dist/collection/components/item-group/item-group.ios.css +12 -0
  375. package/dist/collection/components/item-group/item-group.js +13 -7
  376. package/dist/collection/components/item-group/item-group.md.css +12 -0
  377. package/dist/collection/components/item-option/item-option.ionic.css +332 -0
  378. package/dist/collection/components/item-option/item-option.ios.css +14 -2
  379. package/dist/collection/components/item-option/item-option.js +43 -8
  380. package/dist/collection/components/item-option/item-option.md.css +14 -2
  381. package/dist/collection/components/item-options/item-options.ionic.css +258 -0
  382. package/dist/collection/components/item-options/item-options.ios.css +18 -0
  383. package/dist/collection/components/item-options/item-options.js +13 -7
  384. package/dist/collection/components/item-options/item-options.md.css +18 -0
  385. package/dist/collection/components/item-sliding/item-sliding.css +6 -0
  386. package/dist/collection/components/item-sliding/item-sliding.js +8 -4
  387. package/dist/collection/components/label/label.ios.css +18 -0
  388. package/dist/collection/components/label/label.js +11 -8
  389. package/dist/collection/components/label/label.md.css +18 -0
  390. package/dist/collection/components/list/list.ionic.css +193 -0
  391. package/dist/collection/components/list/list.ios.css +18 -0
  392. package/dist/collection/components/list/list.js +47 -9
  393. package/dist/collection/components/list/list.md.css +20 -2
  394. package/dist/collection/components/list-header/list-header.ionic.css +236 -0
  395. package/dist/collection/components/list-header/list-header.ios.css +18 -0
  396. package/dist/collection/components/list-header/list-header.js +11 -8
  397. package/dist/collection/components/list-header/list-header.md.css +18 -0
  398. package/dist/collection/components/loading/loading.ios.css +13 -1
  399. package/dist/collection/components/loading/loading.js +13 -10
  400. package/dist/collection/components/loading/loading.md.css +13 -1
  401. package/dist/collection/components/menu/menu.ios.css +15 -3
  402. package/dist/collection/components/menu/menu.js +57 -32
  403. package/dist/collection/components/menu/menu.md.css +15 -3
  404. package/dist/collection/components/menu-button/menu-button.ionic.css +238 -0
  405. package/dist/collection/components/menu-button/menu-button.ios.css +48 -14
  406. package/dist/collection/components/menu-button/menu-button.js +26 -10
  407. package/dist/collection/components/menu-button/menu-button.md.css +49 -15
  408. package/dist/collection/components/menu-toggle/menu-toggle.js +8 -5
  409. package/dist/collection/components/modal/animations/sheet.js +8 -2
  410. package/dist/collection/components/modal/gestures/sheet.js +10 -6
  411. package/dist/collection/components/modal/modal.ionic.css +239 -0
  412. package/dist/collection/components/modal/modal.ios.css +106 -63
  413. package/dist/collection/components/modal/modal.js +47 -11
  414. package/dist/collection/components/modal/modal.md.css +106 -63
  415. package/dist/collection/components/nav/nav.css +7 -1
  416. package/dist/collection/components/nav/nav.js +11 -5
  417. package/dist/collection/components/nav-link/nav-link.js +5 -1
  418. package/dist/collection/components/note/note.ios.css +12 -0
  419. package/dist/collection/components/note/note.js +11 -8
  420. package/dist/collection/components/note/note.md.css +12 -0
  421. package/dist/collection/components/picker/picker.ios.css +15 -3
  422. package/dist/collection/components/picker/picker.js +8 -5
  423. package/dist/collection/components/picker/picker.md.css +15 -3
  424. package/dist/collection/components/picker-column/picker-column.css +9 -2
  425. package/dist/collection/components/picker-column/picker-column.js +8 -7
  426. package/dist/collection/components/picker-column-option/picker-column-option.ios.css +6 -0
  427. package/dist/collection/components/picker-column-option/picker-column-option.js +13 -7
  428. package/dist/collection/components/picker-column-option/picker-column-option.md.css +6 -0
  429. package/dist/collection/components/picker-legacy/picker.ios.css +13 -1
  430. package/dist/collection/components/picker-legacy/picker.js +7 -6
  431. package/dist/collection/components/picker-legacy/picker.md.css +13 -1
  432. package/dist/collection/components/picker-legacy-column/picker-column.ios.css +12 -0
  433. package/dist/collection/components/picker-legacy-column/picker-column.js +4 -4
  434. package/dist/collection/components/picker-legacy-column/picker-column.md.css +12 -0
  435. package/dist/collection/components/popover/popover.ios.css +13 -1
  436. package/dist/collection/components/popover/popover.js +15 -12
  437. package/dist/collection/components/popover/popover.md.css +13 -1
  438. package/dist/collection/components/progress-bar/progress-bar.ios.css +8 -2
  439. package/dist/collection/components/progress-bar/progress-bar.js +10 -7
  440. package/dist/collection/components/progress-bar/progress-bar.md.css +8 -2
  441. package/dist/collection/components/radio/radio.ionic.css +418 -0
  442. package/dist/collection/components/radio/radio.ios.css +134 -91
  443. package/dist/collection/components/radio/radio.js +18 -13
  444. package/dist/collection/components/radio/radio.md.css +134 -91
  445. package/dist/collection/components/radio-group/radio-group.js +13 -5
  446. package/dist/collection/components/range/range.ios.css +12 -0
  447. package/dist/collection/components/range/range.js +12 -9
  448. package/dist/collection/components/range/range.md.css +12 -0
  449. package/dist/collection/components/refresher/refresher.ios.css +14 -1
  450. package/dist/collection/components/refresher/refresher.js +11 -8
  451. package/dist/collection/components/refresher/refresher.md.css +15 -2
  452. package/dist/collection/components/refresher-content/refresher-content.js +28 -7
  453. package/dist/collection/components/reorder/reorder.ios.css +6 -0
  454. package/dist/collection/components/reorder/reorder.js +33 -6
  455. package/dist/collection/components/reorder/reorder.md.css +6 -0
  456. package/dist/collection/components/reorder-group/reorder-group.css +6 -0
  457. package/dist/collection/components/reorder-group/reorder-group.js +8 -4
  458. package/dist/collection/components/ripple-effect/{ripple-effect.css → ripple-effect.common.css} +7 -1
  459. package/dist/collection/components/ripple-effect/ripple-effect.ionic.css +154 -0
  460. package/dist/collection/components/ripple-effect/ripple-effect.js +14 -6
  461. package/dist/collection/components/route/route.js +4 -0
  462. package/dist/collection/components/router/router.js +4 -0
  463. package/dist/collection/components/router-link/router-link.css +8 -2
  464. package/dist/collection/components/router-link/router-link.js +9 -5
  465. package/dist/collection/components/router-outlet/router-outlet.css +7 -1
  466. package/dist/collection/components/router-outlet/router-outlet.js +5 -2
  467. package/dist/collection/components/row/row.css +12 -0
  468. package/dist/collection/components/row/row.js +9 -2
  469. package/dist/collection/components/searchbar/searchbar.ionic.css +345 -0
  470. package/dist/collection/components/searchbar/searchbar.ios.css +56 -18
  471. package/dist/collection/components/searchbar/searchbar.js +97 -25
  472. package/dist/collection/components/searchbar/searchbar.md.css +56 -18
  473. package/dist/collection/components/segment/segment.ionic.css +117 -0
  474. package/dist/collection/components/segment/segment.ios.css +45 -2
  475. package/dist/collection/components/segment/segment.js +124 -20
  476. package/dist/collection/components/segment/segment.md.css +45 -2
  477. package/dist/collection/components/segment-button/segment-button.ionic.css +350 -0
  478. package/dist/collection/components/segment-button/segment-button.ios.css +146 -105
  479. package/dist/collection/components/segment-button/segment-button.js +49 -11
  480. package/dist/collection/components/segment-button/segment-button.md.css +148 -107
  481. package/dist/collection/components/segment-content/segment-content.css +6 -0
  482. package/dist/collection/components/segment-content/segment-content.js +21 -0
  483. package/dist/collection/components/segment-view/segment-view-interface.js +1 -0
  484. package/dist/collection/components/segment-view/segment-view.ios.css +89 -0
  485. package/dist/collection/components/segment-view/segment-view.js +227 -0
  486. package/dist/collection/components/segment-view/segment-view.md.css +89 -0
  487. package/dist/collection/components/select/select.ios.css +22 -3
  488. package/dist/collection/components/select/select.js +138 -45
  489. package/dist/collection/components/select/select.md.css +38 -5
  490. package/dist/collection/components/select-modal/select-modal-interface.js +1 -0
  491. package/dist/collection/components/select-modal/select-modal.ios.css +3 -0
  492. package/dist/collection/components/select-modal/select-modal.js +159 -0
  493. package/dist/collection/components/select-modal/select-modal.md.css +114 -0
  494. package/dist/collection/components/select-modal/test/fixtures.js +48 -0
  495. package/dist/collection/components/select-option/select-option.js +9 -2
  496. package/dist/collection/components/select-popover/select-popover.ios.css +18 -0
  497. package/dist/collection/components/select-popover/select-popover.js +12 -4
  498. package/dist/collection/components/select-popover/select-popover.md.css +18 -0
  499. package/dist/collection/components/skeleton-text/skeleton-text.css +6 -0
  500. package/dist/collection/components/skeleton-text/skeleton-text.js +9 -5
  501. package/dist/collection/components/spinner/spinner.common.css +199 -0
  502. package/dist/collection/components/spinner/{spinner.css → spinner.ionic.css} +63 -0
  503. package/dist/collection/components/spinner/spinner.js +46 -6
  504. package/dist/collection/components/split-pane/split-pane.ios.css +20 -2
  505. package/dist/collection/components/split-pane/split-pane.js +14 -8
  506. package/dist/collection/components/split-pane/split-pane.md.css +20 -2
  507. package/dist/collection/components/tab/tab.js +6 -2
  508. package/dist/collection/components/tab-bar/tab-bar.ionic.css +188 -0
  509. package/dist/collection/components/tab-bar/tab-bar.ios.css +71 -43
  510. package/dist/collection/components/tab-bar/tab-bar.js +65 -10
  511. package/dist/collection/components/tab-bar/tab-bar.md.css +71 -43
  512. package/dist/collection/components/tab-button/tab-button.ionic.css +271 -0
  513. package/dist/collection/components/tab-button/tab-button.ios.css +103 -88
  514. package/dist/collection/components/tab-button/tab-button.js +11 -8
  515. package/dist/collection/components/tab-button/tab-button.md.css +103 -88
  516. package/dist/collection/components/tabs/tabs.css +7 -1
  517. package/dist/collection/components/tabs/tabs.js +4 -1
  518. package/dist/collection/components/text/text.css +6 -0
  519. package/dist/collection/components/text/text.js +7 -6
  520. package/dist/collection/components/textarea/textarea.ionic.css +804 -0
  521. package/dist/collection/components/textarea/textarea.ios.css +201 -96
  522. package/dist/collection/components/textarea/textarea.js +59 -16
  523. package/dist/collection/components/textarea/textarea.md.css +214 -97
  524. package/dist/collection/components/thumbnail/thumbnail.css +6 -0
  525. package/dist/collection/components/thumbnail/thumbnail.js +9 -2
  526. package/dist/collection/components/title/title.ionic.css +145 -0
  527. package/dist/collection/components/title/title.ios.css +32 -4
  528. package/dist/collection/components/title/title.js +13 -7
  529. package/dist/collection/components/title/title.md.css +32 -4
  530. package/dist/collection/components/toast/animations/utils.js +1 -1
  531. package/dist/collection/components/toast/toast.ionic.css +358 -0
  532. package/dist/collection/components/toast/toast.ios.css +74 -35
  533. package/dist/collection/components/toast/toast.js +45 -11
  534. package/dist/collection/components/toast/toast.md.css +74 -35
  535. package/dist/collection/components/toggle/toggle.ionic.css +419 -0
  536. package/dist/collection/components/toggle/toggle.ios.css +166 -120
  537. package/dist/collection/components/toggle/toggle.js +73 -18
  538. package/dist/collection/components/toggle/toggle.md.css +163 -120
  539. package/dist/collection/components/toolbar/toolbar.ionic.css +233 -0
  540. package/dist/collection/components/toolbar/toolbar.ios.css +90 -47
  541. package/dist/collection/components/toolbar/toolbar.js +13 -10
  542. package/dist/collection/components/toolbar/toolbar.md.css +90 -47
  543. package/dist/collection/global/ionic-global.js +229 -13
  544. package/dist/collection/utils/focus-visible.js +7 -0
  545. package/dist/collection/utils/framework-delegate.js +3 -1
  546. package/dist/collection/utils/helpers.js +3 -1
  547. package/dist/collection/utils/keyboard/keyboard-controller.js +3 -1
  548. package/dist/collection/utils/menu-controller/animations/overlay.js +3 -3
  549. package/dist/collection/utils/menu-controller/animations/push.js +2 -1
  550. package/dist/collection/utils/menu-controller/animations/reveal.js +2 -1
  551. package/dist/collection/utils/menu-controller/index.js +2 -2
  552. package/dist/collection/utils/overlays.js +2 -1
  553. package/dist/collection/utils/test/playwright/generator.js +48 -23
  554. package/dist/collection/utils/test/playwright/page/utils/goto.js +14 -5
  555. package/dist/collection/utils/test/playwright/page/utils/set-content.js +16 -2
  556. package/dist/collection/utils/transition/ios.transition.js +1 -0
  557. package/dist/docs.json +7455 -349
  558. package/dist/esm/{animation-eab5a4ca.js → animation-f1a88600.js} +1 -1
  559. package/dist/esm/{app-globals-5dbb61a5.js → app-globals-eceadabb.js} +1 -1
  560. package/dist/esm/{button-active-f6503382.js → button-active-321f0dba.js} +2 -2
  561. package/dist/esm/{capacitor-59395cbd.js → capacitor-6b0341c8.js} +1 -1
  562. package/dist/esm/caret-down-3eaad1cc.js +6 -0
  563. package/dist/esm/caret-left-33424bb0.js +6 -0
  564. package/dist/esm/caret-right-68d856ad.js +6 -0
  565. package/dist/esm/config-84eb9670.js +79 -0
  566. package/dist/esm/{data-ae11fd43.js → data-a753c96a.js} +4 -4
  567. package/dist/esm/{focus-visible-dd40d69f.js → focus-visible-501aff19.js} +8 -1
  568. package/dist/esm/{framework-delegate-63d1a679.js → framework-delegate-3e4a8c9f.js} +4 -2
  569. package/dist/esm/{haptic-ac164e4c.js → haptic-dd6c0ea9.js} +1 -1
  570. package/dist/esm/{helpers-da915de8.js → helpers-f08d15bd.js} +4 -1
  571. package/dist/esm/{index-fe1782b1.js → index-31109e63.js} +12 -13
  572. package/dist/esm/{index-3ad7f18b.js → index-59f81cb8.js} +6 -6
  573. package/{components/index9.js → dist/esm/index-62b4a18b.js} +4 -2
  574. package/dist/esm/{index-28849c61.js → index-723c0e5d.js} +1 -1
  575. package/dist/esm/{index-5cc724f3.js → index-7bd160c2.js} +2 -2
  576. package/dist/esm/{index-e2cf2ceb.js → index-d997525d.js} +1 -1
  577. package/dist/esm/index.js +11 -13
  578. package/dist/esm/{input-shims-0314bbe5.js → input-shims-6be83e59.js} +7 -6
  579. package/dist/esm/{input.utils-09c71bc7.js → input.utils-67459bae.js} +2 -3
  580. package/dist/esm/ion-accordion_2.entry.js +61 -24
  581. package/dist/esm/ion-action-sheet.entry.js +22 -19
  582. package/dist/esm/ion-alert.entry.js +28 -24
  583. package/dist/esm/ion-app_8.entry.js +96 -140
  584. package/dist/esm/ion-avatar_3.entry.js +94 -10
  585. package/dist/esm/ion-back-button.entry.js +31 -21
  586. package/dist/esm/ion-backdrop.entry.js +12 -7
  587. package/dist/esm/ion-breadcrumb_2.entry.js +55 -17
  588. package/dist/esm/ion-button_2.entry.js +44 -13
  589. package/dist/esm/ion-card_5.entry.js +53 -29
  590. package/dist/esm/ion-checkbox.entry.js +32 -15
  591. package/dist/esm/ion-chip.entry.js +44 -8
  592. package/dist/esm/ion-col_3.entry.js +15 -11
  593. package/dist/esm/ion-datetime-button.entry.js +13 -9
  594. package/dist/esm/ion-datetime_3.entry.js +114 -40
  595. package/dist/esm/ion-fab_3.entry.js +44 -21
  596. package/dist/esm/ion-img.entry.js +8 -4
  597. package/dist/esm/ion-infinite-scroll_2.entry.js +19 -15
  598. package/dist/esm/ion-input-password-toggle.entry.js +54 -15
  599. package/dist/esm/ion-input.entry.js +120 -25
  600. package/dist/esm/ion-item-option_3.entry.js +41 -18
  601. package/dist/esm/ion-item_8.entry.js +114 -42
  602. package/dist/esm/ion-loading.entry.js +18 -16
  603. package/dist/esm/ion-menu_3.entry.js +64 -45
  604. package/dist/esm/ion-modal.entry.js +59 -31
  605. package/dist/esm/ion-nav_2.entry.js +14 -12
  606. package/dist/esm/ion-picker-column-option.entry.js +12 -7
  607. package/dist/esm/ion-picker-column.entry.js +12 -12
  608. package/dist/esm/ion-picker.entry.js +11 -6
  609. package/dist/esm/ion-popover.entry.js +18 -16
  610. package/dist/esm/ion-progress-bar.entry.js +13 -8
  611. package/dist/esm/ion-radio_2.entry.js +27 -16
  612. package/dist/esm/ion-range.entry.js +14 -10
  613. package/dist/esm/ion-refresher_2.entry.js +42 -21
  614. package/dist/esm/ion-reorder_2.entry.js +39 -15
  615. package/dist/esm/ion-ripple-effect.entry.js +19 -8
  616. package/dist/esm/ion-route_4.entry.js +9 -8
  617. package/dist/esm/ion-searchbar.entry.js +95 -18
  618. package/dist/esm/ion-segment-content.entry.js +19 -0
  619. package/dist/esm/ion-segment-view.entry.js +118 -0
  620. package/dist/esm/ion-segment_2.entry.js +152 -30
  621. package/dist/esm/ion-select-modal.entry.js +105 -0
  622. package/dist/esm/ion-select_3.entry.js +129 -48
  623. package/dist/esm/ion-spinner.entry.js +34 -8
  624. package/dist/esm/ion-split-pane.entry.js +14 -9
  625. package/dist/esm/ion-tab-bar_2.entry.js +45 -20
  626. package/dist/esm/ion-tab_2.entry.js +8 -7
  627. package/dist/esm/ion-text.entry.js +7 -6
  628. package/dist/esm/ion-textarea.entry.js +42 -17
  629. package/dist/esm/ion-toast.entry.js +34 -18
  630. package/dist/esm/ion-toggle.entry.js +81 -23
  631. package/dist/esm/ionic-global-3c97a4aa.js +521 -0
  632. package/dist/esm/ionic.js +6 -5
  633. package/dist/esm/{ios.transition-4ee1a3af.js → ios.transition-06b78ea0.js} +7 -7
  634. package/dist/esm/{keyboard-52278bd7.js → keyboard-5b1b354d.js} +5 -3
  635. package/dist/esm/{keyboard-73175e24.js → keyboard-9bbd546a.js} +1 -1
  636. package/dist/esm/{keyboard-controller-ec5c2bfa.js → keyboard-controller-aff395fd.js} +5 -3
  637. package/dist/esm/list-6524700c.js +6 -0
  638. package/dist/esm/loader.js +6 -5
  639. package/dist/esm/{md.transition-5106a0d2.js → md.transition-e5712bda.js} +6 -7
  640. package/dist/esm/{notch-controller-55b09e11.js → notch-controller-c0bd22ff.js} +2 -2
  641. package/dist/esm/{overlays-ae10d43d.js → overlays-ce6f6b23.js} +6 -7
  642. package/dist/esm/{status-tap-f472b09f.js → status-tap-edf9f395.js} +5 -4
  643. package/dist/esm/{swipe-back-e5394307.js → swipe-back-17c42610.js} +2 -1
  644. package/dist/esm/x-a64bcd9f.js +6 -0
  645. package/dist/esm-es5/animation-f1a88600.js +4 -0
  646. package/dist/esm-es5/app-globals-eceadabb.js +4 -0
  647. package/dist/esm-es5/{button-active-f6503382.js → button-active-321f0dba.js} +1 -1
  648. package/dist/esm-es5/capacitor-6b0341c8.js +4 -0
  649. package/dist/esm-es5/caret-down-3eaad1cc.js +4 -0
  650. package/dist/esm-es5/caret-left-33424bb0.js +4 -0
  651. package/dist/esm-es5/caret-right-68d856ad.js +4 -0
  652. package/dist/esm-es5/config-84eb9670.js +4 -0
  653. package/dist/esm-es5/data-a753c96a.js +4 -0
  654. package/dist/esm-es5/focus-visible-501aff19.js +4 -0
  655. package/dist/esm-es5/framework-delegate-3e4a8c9f.js +4 -0
  656. package/dist/esm-es5/{haptic-ac164e4c.js → haptic-dd6c0ea9.js} +1 -1
  657. package/dist/esm-es5/helpers-f08d15bd.js +4 -0
  658. package/dist/esm-es5/index-31109e63.js +4 -0
  659. package/dist/esm-es5/index-59f81cb8.js +4 -0
  660. package/dist/esm-es5/{index-79b30591.js → index-62b4a18b.js} +1 -1
  661. package/dist/esm-es5/{index-28849c61.js → index-723c0e5d.js} +1 -1
  662. package/dist/esm-es5/index-7bd160c2.js +4 -0
  663. package/dist/esm-es5/{index-e2cf2ceb.js → index-d997525d.js} +1 -1
  664. package/dist/esm-es5/index.js +1 -1
  665. package/dist/esm-es5/input-shims-6be83e59.js +4 -0
  666. package/dist/esm-es5/input.utils-67459bae.js +4 -0
  667. package/dist/esm-es5/ion-accordion_2.entry.js +1 -1
  668. package/dist/esm-es5/ion-action-sheet.entry.js +1 -1
  669. package/dist/esm-es5/ion-alert.entry.js +1 -1
  670. package/dist/esm-es5/ion-app_8.entry.js +1 -1
  671. package/dist/esm-es5/ion-avatar_3.entry.js +1 -1
  672. package/dist/esm-es5/ion-back-button.entry.js +1 -1
  673. package/dist/esm-es5/ion-backdrop.entry.js +1 -1
  674. package/dist/esm-es5/ion-breadcrumb_2.entry.js +1 -1
  675. package/dist/esm-es5/ion-button_2.entry.js +1 -1
  676. package/dist/esm-es5/ion-card_5.entry.js +1 -1
  677. package/dist/esm-es5/ion-checkbox.entry.js +2 -2
  678. package/dist/esm-es5/ion-chip.entry.js +1 -1
  679. package/dist/esm-es5/ion-col_3.entry.js +1 -1
  680. package/dist/esm-es5/ion-datetime-button.entry.js +1 -1
  681. package/dist/esm-es5/ion-datetime_3.entry.js +1 -1
  682. package/dist/esm-es5/ion-fab_3.entry.js +1 -1
  683. package/dist/esm-es5/ion-img.entry.js +1 -1
  684. package/dist/esm-es5/ion-infinite-scroll_2.entry.js +1 -1
  685. package/dist/esm-es5/ion-input-password-toggle.entry.js +1 -1
  686. package/dist/esm-es5/ion-input.entry.js +1 -1
  687. package/dist/esm-es5/ion-item-option_3.entry.js +1 -1
  688. package/dist/esm-es5/ion-item_8.entry.js +1 -1
  689. package/dist/esm-es5/ion-loading.entry.js +1 -1
  690. package/dist/esm-es5/ion-menu_3.entry.js +1 -1
  691. package/dist/esm-es5/ion-modal.entry.js +1 -1
  692. package/dist/esm-es5/ion-nav_2.entry.js +1 -1
  693. package/dist/esm-es5/ion-picker-column-option.entry.js +1 -1
  694. package/dist/esm-es5/ion-picker-column.entry.js +1 -1
  695. package/dist/esm-es5/ion-picker.entry.js +1 -1
  696. package/dist/esm-es5/ion-popover.entry.js +1 -1
  697. package/dist/esm-es5/ion-progress-bar.entry.js +1 -1
  698. package/dist/esm-es5/ion-radio_2.entry.js +1 -1
  699. package/dist/esm-es5/ion-range.entry.js +1 -1
  700. package/dist/esm-es5/ion-refresher_2.entry.js +1 -1
  701. package/dist/esm-es5/ion-reorder_2.entry.js +1 -1
  702. package/dist/esm-es5/ion-ripple-effect.entry.js +1 -1
  703. package/dist/esm-es5/ion-route_4.entry.js +1 -1
  704. package/dist/esm-es5/ion-searchbar.entry.js +1 -1
  705. package/dist/esm-es5/ion-segment-content.entry.js +4 -0
  706. package/dist/esm-es5/ion-segment-view.entry.js +4 -0
  707. package/dist/esm-es5/ion-segment_2.entry.js +1 -1
  708. package/dist/esm-es5/ion-select-modal.entry.js +4 -0
  709. package/dist/esm-es5/ion-select_3.entry.js +1 -1
  710. package/dist/esm-es5/ion-spinner.entry.js +1 -1
  711. package/dist/esm-es5/ion-split-pane.entry.js +1 -1
  712. package/dist/esm-es5/ion-tab-bar_2.entry.js +1 -1
  713. package/dist/esm-es5/ion-tab_2.entry.js +1 -1
  714. package/dist/esm-es5/ion-text.entry.js +1 -1
  715. package/dist/esm-es5/ion-textarea.entry.js +1 -1
  716. package/dist/esm-es5/ion-toast.entry.js +1 -1
  717. package/dist/esm-es5/ion-toggle.entry.js +1 -1
  718. package/dist/esm-es5/ionic-global-3c97a4aa.js +4 -0
  719. package/dist/esm-es5/ionic.js +1 -1
  720. package/dist/esm-es5/ios.transition-06b78ea0.js +4 -0
  721. package/dist/esm-es5/{keyboard-52278bd7.js → keyboard-5b1b354d.js} +1 -1
  722. package/dist/esm-es5/{keyboard-73175e24.js → keyboard-9bbd546a.js} +1 -1
  723. package/dist/esm-es5/keyboard-controller-aff395fd.js +4 -0
  724. package/dist/esm-es5/list-6524700c.js +4 -0
  725. package/dist/esm-es5/loader.js +1 -1
  726. package/dist/esm-es5/md.transition-e5712bda.js +4 -0
  727. package/dist/esm-es5/notch-controller-c0bd22ff.js +4 -0
  728. package/dist/esm-es5/overlays-ce6f6b23.js +4 -0
  729. package/dist/esm-es5/status-tap-edf9f395.js +4 -0
  730. package/dist/esm-es5/swipe-back-17c42610.js +4 -0
  731. package/dist/esm-es5/x-a64bcd9f.js +4 -0
  732. package/dist/html.html-data.json +2375 -210
  733. package/dist/ionic/index.esm.js +1 -1
  734. package/dist/ionic/ionic.esm.js +1 -1
  735. package/dist/ionic/ionic.js +1 -1
  736. package/dist/ionic/p-01d80901.system.js +4 -0
  737. package/dist/ionic/p-02db6423.entry.js +4 -0
  738. package/dist/ionic/p-038a6294.js +4 -0
  739. package/dist/ionic/p-043483dc.entry.js +4 -0
  740. package/dist/ionic/p-055ae36e.system.entry.js +4 -0
  741. package/dist/ionic/p-06ca2619.system.entry.js +4 -0
  742. package/dist/ionic/p-06ec4706.js +4 -0
  743. package/dist/ionic/p-08b2ba53.system.entry.js +4 -0
  744. package/dist/ionic/p-08f4a45d.system.entry.js +4 -0
  745. package/dist/ionic/p-096e5f6d.system.entry.js +4 -0
  746. package/dist/ionic/p-09c6b5e4.js +4 -0
  747. package/dist/ionic/p-0a0ce78f.system.entry.js +4 -0
  748. package/dist/ionic/{p-25180df3.system.js → p-0fa218e9.system.js} +1 -1
  749. package/dist/ionic/p-10961893.system.entry.js +4 -0
  750. package/dist/ionic/p-112120d7.system.js +4 -0
  751. package/dist/ionic/{p-c7e16491.js → p-11266916.js} +1 -1
  752. package/dist/ionic/{p-1e955a45.system.js → p-115d74cd.system.js} +1 -1
  753. package/dist/ionic/{p-34b11c24.js → p-12d6df53.js} +1 -1
  754. package/dist/ionic/p-156d17cd.js +4 -0
  755. package/dist/ionic/p-161ecf50.system.entry.js +4 -0
  756. package/dist/ionic/{p-b06ac4a5.system.js → p-18f86177.system.js} +1 -1
  757. package/dist/ionic/p-1a64d63d.system.entry.js +4 -0
  758. package/dist/ionic/p-1da82a87.system.entry.js +4 -0
  759. package/dist/ionic/p-1e4fd112.entry.js +4 -0
  760. package/dist/ionic/p-1efa63f2.js +4 -0
  761. package/dist/ionic/p-1fba8e90.system.entry.js +4 -0
  762. package/dist/ionic/p-211b0fba.system.entry.js +4 -0
  763. package/dist/ionic/p-23b31425.entry.js +4 -0
  764. package/dist/ionic/p-243adf8c.js +4 -0
  765. package/dist/ionic/p-24f15ce4.system.entry.js +4 -0
  766. package/dist/ionic/p-2978f27e.entry.js +4 -0
  767. package/dist/ionic/p-2ef115ec.system.entry.js +4 -0
  768. package/dist/ionic/p-31fa1052.system.entry.js +4 -0
  769. package/dist/ionic/p-33dc4514.js +4 -0
  770. package/dist/ionic/p-346c67b0.js +4 -0
  771. package/dist/ionic/p-35362c9f.entry.js +4 -0
  772. package/dist/ionic/p-3608e72b.entry.js +4 -0
  773. package/dist/ionic/p-3b520400.system.entry.js +4 -0
  774. package/dist/ionic/p-3c4c73f9.system.entry.js +4 -0
  775. package/dist/ionic/p-3ce95a91.entry.js +4 -0
  776. package/dist/ionic/p-3d61263b.system.entry.js +4 -0
  777. package/dist/ionic/{p-9ea607bd.system.js → p-3e91ea3a.system.js} +2 -2
  778. package/dist/ionic/p-3f1e20d1.system.entry.js +4 -0
  779. package/dist/ionic/p-3fc0ba02.system.entry.js +4 -0
  780. package/dist/ionic/p-4130574e.entry.js +4 -0
  781. package/dist/ionic/{p-3c8e5c23.system.js → p-41c19986.system.js} +1 -1
  782. package/dist/ionic/p-41f06734.entry.js +4 -0
  783. package/dist/ionic/p-4219582c.system.js +4 -0
  784. package/dist/ionic/p-429dd2b5.system.js +4 -0
  785. package/dist/ionic/p-430d860e.entry.js +4 -0
  786. package/dist/ionic/p-43df37ca.entry.js +4 -0
  787. package/dist/ionic/p-4459a66e.system.js +4 -0
  788. package/dist/ionic/{p-f687573e.system.js → p-44ad86d7.system.js} +1 -1
  789. package/dist/ionic/p-458a2899.entry.js +4 -0
  790. package/dist/ionic/{p-8985cdb6.system.js → p-4626fb32.system.js} +1 -1
  791. package/dist/ionic/p-46787abb.system.js +4 -0
  792. package/dist/ionic/p-4683bb1b.entry.js +4 -0
  793. package/dist/ionic/p-47fd935c.system.js +4 -0
  794. package/dist/ionic/p-4a89c1ec.system.js +4 -0
  795. package/dist/ionic/p-4ac4f52a.system.entry.js +4 -0
  796. package/dist/ionic/p-4b4e4592.system.entry.js +4 -0
  797. package/dist/ionic/{p-89b61afc.js → p-4c275462.js} +1 -1
  798. package/dist/ionic/p-4c9e1b2c.js +4 -0
  799. package/dist/ionic/p-4edc0fda.system.entry.js +4 -0
  800. package/dist/ionic/p-4f127a09.system.entry.js +4 -0
  801. package/dist/ionic/p-51371e21.system.js +4 -0
  802. package/dist/ionic/p-530c591a.entry.js +4 -0
  803. package/dist/ionic/p-5474c7c4.entry.js +4 -0
  804. package/dist/ionic/p-55546d77.system.entry.js +4 -0
  805. package/dist/ionic/p-556778bd.system.js +4 -0
  806. package/dist/ionic/p-56be80f7.entry.js +4 -0
  807. package/dist/ionic/p-578a8bdf.entry.js +4 -0
  808. package/dist/ionic/p-57de8d54.system.entry.js +4 -0
  809. package/dist/ionic/{p-f9a53abb.system.js → p-58aa8a36.system.js} +1 -1
  810. package/dist/ionic/p-58c64779.system.entry.js +4 -0
  811. package/dist/ionic/{p-da2b833b.js → p-58f16ef6.js} +1 -1
  812. package/dist/ionic/p-5a6b3c0d.entry.js +4 -0
  813. package/dist/ionic/p-5a6d245d.system.entry.js +4 -0
  814. package/dist/ionic/p-5b57d327.system.js +4 -0
  815. package/dist/ionic/p-5ce35a03.js +4 -0
  816. package/dist/ionic/p-5e9730c2.entry.js +4 -0
  817. package/dist/ionic/p-607c9c33.js +4 -0
  818. package/dist/ionic/{p-9146695e.system.js → p-62887754.system.js} +1 -1
  819. package/dist/ionic/p-63fde7fe.entry.js +4 -0
  820. package/dist/ionic/p-67b6e18d.entry.js +4 -0
  821. package/dist/ionic/p-699c1e19.entry.js +4 -0
  822. package/dist/ionic/p-6a0dd6bc.js +4 -0
  823. package/dist/ionic/p-6bc2795b.entry.js +4 -0
  824. package/dist/ionic/p-6bd1c0ee.system.entry.js +4 -0
  825. package/dist/ionic/p-6caa76ec.js +4 -0
  826. package/dist/ionic/p-6f941957.entry.js +4 -0
  827. package/dist/ionic/p-7071d7ca.js +4 -0
  828. package/dist/ionic/p-72cbf799.system.entry.js +4 -0
  829. package/dist/ionic/p-74a20601.system.entry.js +4 -0
  830. package/dist/ionic/p-74d76684.js +4 -0
  831. package/dist/ionic/p-7557a7de.system.entry.js +4 -0
  832. package/dist/ionic/p-7607d8ba.system.entry.js +4 -0
  833. package/dist/ionic/p-78ed8923.js +4 -0
  834. package/dist/ionic/p-7a858bae.system.js +4 -0
  835. package/dist/ionic/p-81e632cb.entry.js +4 -0
  836. package/dist/ionic/p-82cb4235.js +4 -0
  837. package/dist/ionic/{p-d836d43e.js → p-83948e48.js} +1 -1
  838. package/dist/ionic/p-8463212e.js +4 -0
  839. package/dist/ionic/p-84667060.entry.js +4 -0
  840. package/dist/ionic/p-857ba8d4.entry.js +4 -0
  841. package/dist/ionic/p-86d98446.system.entry.js +4 -0
  842. package/dist/ionic/{p-baffaf8d.system.entry.js → p-86e9a917.system.entry.js} +1 -1
  843. package/dist/ionic/p-87049797.js +4 -0
  844. package/dist/ionic/p-88290bd9.system.entry.js +4 -0
  845. package/dist/ionic/p-8956f9a8.system.entry.js +4 -0
  846. package/dist/ionic/p-8b0f0a87.entry.js +4 -0
  847. package/dist/ionic/p-8db246c2.system.js +4 -0
  848. package/dist/ionic/p-8dbfae64.entry.js +4 -0
  849. package/dist/ionic/p-903c544a.js +4 -0
  850. package/dist/ionic/p-916bc9ed.system.entry.js +4 -0
  851. package/dist/ionic/p-92646426.js +4 -0
  852. package/dist/ionic/{p-27281edd.js → p-93e47936.js} +1 -1
  853. package/dist/ionic/{p-a93873de.system.js → p-94816e7a.system.js} +1 -1
  854. package/dist/ionic/p-986855d6.js +4 -0
  855. package/dist/ionic/p-9abb7d9b.entry.js +4 -0
  856. package/dist/ionic/p-9ac1a506.system.js +4 -0
  857. package/dist/ionic/p-a1cdc742.js +4 -0
  858. package/dist/ionic/p-a2814291.system.js +4 -0
  859. package/dist/ionic/p-a42eccfb.entry.js +4 -0
  860. package/dist/ionic/{p-d743e981.js → p-a510e9c0.js} +1 -1
  861. package/dist/ionic/p-a5a9206f.entry.js +4 -0
  862. package/dist/ionic/p-a616b6e4.entry.js +4 -0
  863. package/dist/ionic/p-a9af4103.js +4 -0
  864. package/dist/ionic/{p-d60342e3.js → p-aaccbb95.js} +1 -1
  865. package/dist/ionic/p-ab21d58c.entry.js +4 -0
  866. package/dist/ionic/p-ac1c2b6a.js +4 -0
  867. package/dist/ionic/p-ae55c4c7.system.entry.js +4 -0
  868. package/dist/ionic/p-b18c52cd.entry.js +4 -0
  869. package/dist/ionic/p-b2df786a.system.entry.js +4 -0
  870. package/dist/ionic/p-b517144d.system.entry.js +4 -0
  871. package/dist/ionic/p-b5dc9a32.system.entry.js +4 -0
  872. package/dist/ionic/p-b79f3ded.entry.js +4 -0
  873. package/dist/ionic/p-bbcec459.system.js +4 -0
  874. package/dist/ionic/p-be87ec25.entry.js +4 -0
  875. package/dist/ionic/p-c248c88d.system.js +4 -0
  876. package/dist/ionic/p-c373eebd.system.js +4 -0
  877. package/dist/ionic/p-ccce3322.system.entry.js +4 -0
  878. package/dist/ionic/p-ce2e8a94.system.entry.js +4 -0
  879. package/dist/ionic/p-ce46d44a.entry.js +4 -0
  880. package/dist/ionic/p-cea92c46.system.js +4 -0
  881. package/dist/ionic/p-d7894208.entry.js +4 -0
  882. package/dist/ionic/p-da96f15f.entry.js +4 -0
  883. package/dist/ionic/{p-19ea7bff.system.js → p-dbd39afd.system.js} +1 -1
  884. package/dist/ionic/p-ddbf4ca9.entry.js +4 -0
  885. package/dist/ionic/p-df09db21.entry.js +4 -0
  886. package/dist/ionic/p-e3b70846.system.js +4 -0
  887. package/dist/ionic/p-e9eb25ba.system.entry.js +4 -0
  888. package/dist/ionic/p-ea0b8c64.system.entry.js +4 -0
  889. package/dist/ionic/p-ea3ca474.system.js +4 -0
  890. package/dist/ionic/p-ebe94d15.entry.js +4 -0
  891. package/dist/ionic/p-eda736d7.entry.js +4 -0
  892. package/dist/ionic/p-eecb1b04.entry.js +4 -0
  893. package/dist/ionic/p-eee899d5.system.entry.js +4 -0
  894. package/dist/ionic/p-f09c06e8.entry.js +4 -0
  895. package/dist/ionic/p-f116fb3f.system.js +4 -0
  896. package/dist/ionic/{p-372ae7f4.system.js → p-f193945e.system.js} +1 -1
  897. package/dist/ionic/p-f1e11e93.entry.js +4 -0
  898. package/dist/ionic/p-f28ac1ad.entry.js +4 -0
  899. package/dist/ionic/p-f44934a7.system.entry.js +4 -0
  900. package/dist/ionic/p-f44c9c6e.system.entry.js +4 -0
  901. package/dist/ionic/p-f61375b7.system.entry.js +4 -0
  902. package/dist/ionic/p-f8123284.entry.js +4 -0
  903. package/dist/ionic/p-f83d18c1.entry.js +4 -0
  904. package/dist/ionic/{p-5da94421.system.js → p-f8c63ac0.system.js} +2 -2
  905. package/dist/ionic/p-fc8359aa.system.entry.js +4 -0
  906. package/dist/types/components/accordion/accordion.d.ts +5 -3
  907. package/dist/types/components/accordion-group/accordion-group.d.ts +12 -1
  908. package/dist/types/components/action-sheet/action-sheet-interface.d.ts +3 -7
  909. package/dist/types/components/action-sheet/action-sheet.d.ts +3 -2
  910. package/dist/types/components/alert/alert-interface.d.ts +3 -7
  911. package/dist/types/components/alert/alert.d.ts +3 -2
  912. package/dist/types/components/app/app.d.ts +4 -2
  913. package/dist/types/components/avatar/avatar.d.ts +28 -0
  914. package/dist/types/components/back-button/back-button.d.ts +2 -1
  915. package/dist/types/components/backdrop/backdrop.d.ts +4 -0
  916. package/dist/types/components/badge/badge.d.ts +23 -1
  917. package/dist/types/components/breadcrumb/breadcrumb.d.ts +4 -1
  918. package/dist/types/components/breadcrumbs/breadcrumbs.d.ts +2 -2
  919. package/dist/types/components/button/button.d.ts +15 -4
  920. package/dist/types/components/buttons/buttons.d.ts +5 -1
  921. package/dist/types/components/card/card.d.ts +8 -1
  922. package/dist/types/components/card-content/card-content.d.ts +2 -1
  923. package/dist/types/components/card-header/card-header.d.ts +3 -2
  924. package/dist/types/components/card-subtitle/card-subtitle.d.ts +2 -1
  925. package/dist/types/components/card-title/card-title.d.ts +2 -1
  926. package/dist/types/components/checkbox/checkbox.d.ts +16 -5
  927. package/dist/types/components/chip/chip.d.ts +19 -1
  928. package/dist/types/components/col/col.d.ts +4 -0
  929. package/dist/types/components/content/content.d.ts +3 -0
  930. package/dist/types/components/datetime/datetime.d.ts +26 -1
  931. package/dist/types/components/datetime/utils/data.d.ts +3 -3
  932. package/dist/types/components/datetime-button/datetime-button.d.ts +2 -1
  933. package/dist/types/components/fab/fab.d.ts +4 -0
  934. package/dist/types/components/fab-button/fab-button.d.ts +5 -3
  935. package/dist/types/components/fab-list/fab-list.d.ts +4 -0
  936. package/dist/types/components/footer/footer.d.ts +4 -3
  937. package/dist/types/components/grid/grid.d.ts +4 -0
  938. package/dist/types/components/header/header.d.ts +9 -3
  939. package/dist/types/components/img/img.d.ts +3 -0
  940. package/dist/types/components/infinite-scroll/infinite-scroll.d.ts +4 -0
  941. package/dist/types/components/infinite-scroll-content/infinite-scroll-content.d.ts +4 -0
  942. package/dist/types/components/input/input.d.ts +31 -5
  943. package/dist/types/components/input-password-toggle/input-password-toggle.d.ts +2 -0
  944. package/dist/types/components/item/item.d.ts +11 -4
  945. package/dist/types/components/item-divider/item-divider.d.ts +2 -1
  946. package/dist/types/components/item-group/item-group.d.ts +4 -0
  947. package/dist/types/components/item-option/item-option.d.ts +11 -1
  948. package/dist/types/components/item-options/item-options.d.ts +4 -0
  949. package/dist/types/components/item-sliding/item-sliding.d.ts +4 -0
  950. package/dist/types/components/label/label.d.ts +2 -1
  951. package/dist/types/components/list/list.d.ts +15 -1
  952. package/dist/types/components/list-header/list-header.d.ts +2 -1
  953. package/dist/types/components/loading/loading-interface.d.ts +2 -7
  954. package/dist/types/components/loading/loading.d.ts +3 -2
  955. package/dist/types/components/menu/menu-interface.d.ts +5 -2
  956. package/dist/types/components/menu/menu.d.ts +9 -6
  957. package/dist/types/components/menu-button/menu-button.d.ts +3 -1
  958. package/dist/types/components/menu-toggle/menu-toggle.d.ts +3 -0
  959. package/dist/types/components/modal/gestures/sheet.d.ts +1 -1
  960. package/dist/types/components/modal/modal-interface.d.ts +4 -7
  961. package/dist/types/components/modal/modal.d.ts +11 -1
  962. package/dist/types/components/nav/nav-interface.d.ts +9 -1
  963. package/dist/types/components/nav/nav.d.ts +5 -1
  964. package/dist/types/components/nav-link/nav-link.d.ts +4 -0
  965. package/dist/types/components/note/note.d.ts +2 -1
  966. package/dist/types/components/picker/picker.d.ts +2 -1
  967. package/dist/types/components/picker-column/picker-column.d.ts +2 -1
  968. package/dist/types/components/picker-column-option/picker-column-option.d.ts +4 -0
  969. package/dist/types/components/picker-legacy/picker.d.ts +2 -1
  970. package/dist/types/components/popover/popover-interface.d.ts +3 -6
  971. package/dist/types/components/popover/popover.d.ts +6 -5
  972. package/dist/types/components/progress-bar/progress-bar.d.ts +2 -1
  973. package/dist/types/components/radio/radio.d.ts +3 -2
  974. package/dist/types/components/radio-group/radio-group.d.ts +4 -0
  975. package/dist/types/components/range/range.d.ts +2 -1
  976. package/dist/types/components/refresher/refresher.d.ts +2 -1
  977. package/dist/types/components/refresher-content/refresher-content.d.ts +4 -0
  978. package/dist/types/components/reorder/reorder.d.ts +9 -0
  979. package/dist/types/components/reorder-group/reorder-group.d.ts +4 -0
  980. package/dist/types/components/ripple-effect/ripple-effect.d.ts +4 -0
  981. package/dist/types/components/route/route.d.ts +4 -0
  982. package/dist/types/components/router/router.d.ts +4 -0
  983. package/dist/types/components/router-link/router-link.d.ts +4 -0
  984. package/dist/types/components/router-outlet/router-outlet.d.ts +4 -1
  985. package/dist/types/components/row/row.d.ts +4 -0
  986. package/dist/types/components/searchbar/searchbar.d.ts +30 -8
  987. package/dist/types/components/segment/segment.d.ts +23 -2
  988. package/dist/types/components/segment-button/segment-button.d.ts +6 -1
  989. package/dist/types/components/segment-content/segment-content.d.ts +4 -0
  990. package/dist/types/components/segment-view/segment-view-interface.d.ts +4 -0
  991. package/dist/types/components/segment-view/segment-view.d.ts +55 -0
  992. package/dist/types/components/select/select-interface.d.ts +1 -1
  993. package/dist/types/components/select/select.d.ts +25 -9
  994. package/dist/types/components/select-modal/select-modal-interface.d.ts +10 -0
  995. package/dist/types/components/select-modal/select-modal.d.ts +16 -0
  996. package/dist/types/components/select-modal/test/fixtures.d.ts +16 -0
  997. package/dist/types/components/select-option/select-option.d.ts +4 -0
  998. package/dist/types/components/select-popover/select-popover.d.ts +3 -0
  999. package/dist/types/components/skeleton-text/skeleton-text.d.ts +4 -0
  1000. package/dist/types/components/spinner/spinner.d.ts +15 -0
  1001. package/dist/types/components/split-pane/split-pane.d.ts +4 -0
  1002. package/dist/types/components/tab/tab.d.ts +4 -0
  1003. package/dist/types/components/tab-bar/tab-bar.d.ts +22 -2
  1004. package/dist/types/components/tab-button/tab-button.d.ts +2 -1
  1005. package/dist/types/components/tabs/tabs.d.ts +3 -0
  1006. package/dist/types/components/text/text.d.ts +2 -1
  1007. package/dist/types/components/textarea/textarea.d.ts +16 -4
  1008. package/dist/types/components/thumbnail/thumbnail.d.ts +4 -0
  1009. package/dist/types/components/title/title.d.ts +4 -0
  1010. package/dist/types/components/toast/animations/utils.d.ts +2 -2
  1011. package/dist/types/components/toast/toast-interface.d.ts +3 -7
  1012. package/dist/types/components/toast/toast.d.ts +12 -2
  1013. package/dist/types/components/toggle/toggle.d.ts +15 -1
  1014. package/dist/types/components/toolbar/toolbar.d.ts +4 -3
  1015. package/dist/types/components.d.ts +1468 -194
  1016. package/dist/types/global/ionic-global.d.ts +27 -2
  1017. package/dist/types/interface.d.ts +3 -0
  1018. package/dist/types/utils/config.d.ts +106 -2
  1019. package/dist/types/utils/focus-visible.d.ts +1 -0
  1020. package/dist/types/utils/overlays-interface.d.ts +32 -2
  1021. package/dist/types/utils/test/playwright/generator.d.ts +31 -2
  1022. package/hydrate/index.js +2765 -950
  1023. package/hydrate/index.mjs +2765 -950
  1024. package/package.json +9 -4
  1025. package/components/hardware-back-button.js +0 -115
  1026. package/components/index8.js +0 -128
  1027. package/dist/cjs/hardware-back-button-9e8a2c4f.js +0 -122
  1028. package/dist/cjs/index-5915f9b3.js +0 -38
  1029. package/dist/cjs/index-c8d52405.js +0 -10
  1030. package/dist/cjs/ionic-global-d9a8bb5b.js +0 -237
  1031. package/dist/esm/hardware-back-button-06ef3c3e.js +0 -116
  1032. package/dist/esm/index-79b30591.js +0 -167
  1033. package/dist/esm/index-9b0d46f4.js +0 -34
  1034. package/dist/esm/index-a5d50daf.js +0 -7
  1035. package/dist/esm/ionic-global-c81d82ab.js +0 -231
  1036. package/dist/esm-es5/animation-eab5a4ca.js +0 -4
  1037. package/dist/esm-es5/app-globals-5dbb61a5.js +0 -4
  1038. package/dist/esm-es5/capacitor-59395cbd.js +0 -4
  1039. package/dist/esm-es5/data-ae11fd43.js +0 -4
  1040. package/dist/esm-es5/focus-visible-dd40d69f.js +0 -4
  1041. package/dist/esm-es5/framework-delegate-63d1a679.js +0 -4
  1042. package/dist/esm-es5/hardware-back-button-06ef3c3e.js +0 -4
  1043. package/dist/esm-es5/helpers-da915de8.js +0 -4
  1044. package/dist/esm-es5/index-3ad7f18b.js +0 -4
  1045. package/dist/esm-es5/index-5cc724f3.js +0 -4
  1046. package/dist/esm-es5/index-9b0d46f4.js +0 -4
  1047. package/dist/esm-es5/index-a5d50daf.js +0 -4
  1048. package/dist/esm-es5/index-fe1782b1.js +0 -4
  1049. package/dist/esm-es5/input-shims-0314bbe5.js +0 -4
  1050. package/dist/esm-es5/input.utils-09c71bc7.js +0 -4
  1051. package/dist/esm-es5/ionic-global-c81d82ab.js +0 -4
  1052. package/dist/esm-es5/ios.transition-4ee1a3af.js +0 -4
  1053. package/dist/esm-es5/keyboard-controller-ec5c2bfa.js +0 -4
  1054. package/dist/esm-es5/md.transition-5106a0d2.js +0 -4
  1055. package/dist/esm-es5/notch-controller-55b09e11.js +0 -4
  1056. package/dist/esm-es5/overlays-ae10d43d.js +0 -4
  1057. package/dist/esm-es5/status-tap-f472b09f.js +0 -4
  1058. package/dist/esm-es5/swipe-back-e5394307.js +0 -4
  1059. package/dist/ionic/p-003eecb9.entry.js +0 -4
  1060. package/dist/ionic/p-00b01a55.system.entry.js +0 -4
  1061. package/dist/ionic/p-01503bbd.system.entry.js +0 -4
  1062. package/dist/ionic/p-0303d0f8.js +0 -4
  1063. package/dist/ionic/p-0373d924.system.entry.js +0 -4
  1064. package/dist/ionic/p-04fc24ee.system.js +0 -4
  1065. package/dist/ionic/p-0574e87e.js +0 -4
  1066. package/dist/ionic/p-05beda73.entry.js +0 -4
  1067. package/dist/ionic/p-06e58c4e.js +0 -4
  1068. package/dist/ionic/p-06fee233.js +0 -4
  1069. package/dist/ionic/p-0790b342.system.entry.js +0 -4
  1070. package/dist/ionic/p-0c06e09b.system.js +0 -4
  1071. package/dist/ionic/p-110e03be.system.entry.js +0 -4
  1072. package/dist/ionic/p-148b8abb.entry.js +0 -4
  1073. package/dist/ionic/p-17474161.system.js +0 -4
  1074. package/dist/ionic/p-176b372f.entry.js +0 -4
  1075. package/dist/ionic/p-18105026.system.entry.js +0 -4
  1076. package/dist/ionic/p-1dfc11b3.system.js +0 -4
  1077. package/dist/ionic/p-1e4371bd.js +0 -4
  1078. package/dist/ionic/p-21cfd4de.entry.js +0 -4
  1079. package/dist/ionic/p-21e5e7e4.js +0 -4
  1080. package/dist/ionic/p-2200e26b.entry.js +0 -4
  1081. package/dist/ionic/p-233e6c93.entry.js +0 -4
  1082. package/dist/ionic/p-25928b83.system.entry.js +0 -4
  1083. package/dist/ionic/p-2690b1de.js +0 -4
  1084. package/dist/ionic/p-293ed6ac.system.entry.js +0 -4
  1085. package/dist/ionic/p-2b7827c7.js +0 -4
  1086. package/dist/ionic/p-2ca6eac2.system.entry.js +0 -4
  1087. package/dist/ionic/p-2ea1ca4f.system.entry.js +0 -4
  1088. package/dist/ionic/p-313ccc01.system.entry.js +0 -4
  1089. package/dist/ionic/p-322c5fb4.system.js +0 -4
  1090. package/dist/ionic/p-3ad285e3.system.js +0 -4
  1091. package/dist/ionic/p-3c968c7f.system.entry.js +0 -4
  1092. package/dist/ionic/p-3cc276f4.js +0 -4
  1093. package/dist/ionic/p-44d1539c.system.entry.js +0 -4
  1094. package/dist/ionic/p-49bc6544.entry.js +0 -4
  1095. package/dist/ionic/p-4a0a4204.system.entry.js +0 -4
  1096. package/dist/ionic/p-4a82bd1c.system.entry.js +0 -4
  1097. package/dist/ionic/p-4c2d5b80.system.js +0 -4
  1098. package/dist/ionic/p-4c8fceb0.entry.js +0 -4
  1099. package/dist/ionic/p-521eca2e.entry.js +0 -4
  1100. package/dist/ionic/p-53854390.entry.js +0 -4
  1101. package/dist/ionic/p-53add985.system.entry.js +0 -4
  1102. package/dist/ionic/p-5417b9bb.entry.js +0 -4
  1103. package/dist/ionic/p-5c831f49.js +0 -4
  1104. package/dist/ionic/p-5e842258.entry.js +0 -4
  1105. package/dist/ionic/p-60cc7986.entry.js +0 -4
  1106. package/dist/ionic/p-63d65dbc.system.entry.js +0 -4
  1107. package/dist/ionic/p-6562e0a9.system.entry.js +0 -4
  1108. package/dist/ionic/p-661ce4a8.entry.js +0 -4
  1109. package/dist/ionic/p-6817cf42.system.entry.js +0 -4
  1110. package/dist/ionic/p-68c4df55.entry.js +0 -4
  1111. package/dist/ionic/p-69066a53.js +0 -4
  1112. package/dist/ionic/p-6b8893dd.entry.js +0 -4
  1113. package/dist/ionic/p-6ceb04b5.entry.js +0 -4
  1114. package/dist/ionic/p-6d50faff.entry.js +0 -4
  1115. package/dist/ionic/p-6e85e450.entry.js +0 -4
  1116. package/dist/ionic/p-7243df6f.entry.js +0 -4
  1117. package/dist/ionic/p-7251fed5.entry.js +0 -4
  1118. package/dist/ionic/p-72812e99.js +0 -4
  1119. package/dist/ionic/p-72bc8a1c.js +0 -4
  1120. package/dist/ionic/p-72ffd137.system.entry.js +0 -4
  1121. package/dist/ionic/p-75c0dc65.system.entry.js +0 -4
  1122. package/dist/ionic/p-773d118d.entry.js +0 -4
  1123. package/dist/ionic/p-7740e32c.system.js +0 -4
  1124. package/dist/ionic/p-792919fd.system.js +0 -4
  1125. package/dist/ionic/p-79b12fda.system.js +0 -4
  1126. package/dist/ionic/p-79e7be3a.system.entry.js +0 -4
  1127. package/dist/ionic/p-7b30edcc.js +0 -4
  1128. package/dist/ionic/p-82ab7ccb.entry.js +0 -4
  1129. package/dist/ionic/p-836d39d4.system.entry.js +0 -4
  1130. package/dist/ionic/p-857ca696.system.entry.js +0 -4
  1131. package/dist/ionic/p-8635f5e6.system.js +0 -4
  1132. package/dist/ionic/p-8640e9cd.entry.js +0 -4
  1133. package/dist/ionic/p-87a4407b.entry.js +0 -4
  1134. package/dist/ionic/p-8836d0eb.system.entry.js +0 -4
  1135. package/dist/ionic/p-88e63c7d.js +0 -4
  1136. package/dist/ionic/p-89a0a446.entry.js +0 -4
  1137. package/dist/ionic/p-8b6232a6.system.entry.js +0 -4
  1138. package/dist/ionic/p-8d44cf1f.entry.js +0 -4
  1139. package/dist/ionic/p-9172535c.entry.js +0 -4
  1140. package/dist/ionic/p-921e159f.system.entry.js +0 -4
  1141. package/dist/ionic/p-92d7a3d1.entry.js +0 -4
  1142. package/dist/ionic/p-93f37ceb.system.entry.js +0 -4
  1143. package/dist/ionic/p-95823c62.system.entry.js +0 -4
  1144. package/dist/ionic/p-960803fc.system.entry.js +0 -4
  1145. package/dist/ionic/p-96cc4814.js +0 -4
  1146. package/dist/ionic/p-973f0b15.system.entry.js +0 -4
  1147. package/dist/ionic/p-9895e7f3.entry.js +0 -4
  1148. package/dist/ionic/p-9910f786.entry.js +0 -4
  1149. package/dist/ionic/p-9b6c6302.system.entry.js +0 -4
  1150. package/dist/ionic/p-9e208825.entry.js +0 -4
  1151. package/dist/ionic/p-9ece8dcf.entry.js +0 -4
  1152. package/dist/ionic/p-9f3008d4.system.js +0 -4
  1153. package/dist/ionic/p-a0c88dc2.system.entry.js +0 -4
  1154. package/dist/ionic/p-a15ddedb.system.js +0 -4
  1155. package/dist/ionic/p-a3711608.system.entry.js +0 -4
  1156. package/dist/ionic/p-a4565eb5.system.js +0 -4
  1157. package/dist/ionic/p-a69b9fc5.system.js +0 -4
  1158. package/dist/ionic/p-a879ecb7.system.entry.js +0 -4
  1159. package/dist/ionic/p-a89dac49.entry.js +0 -4
  1160. package/dist/ionic/p-a90e2708.system.entry.js +0 -4
  1161. package/dist/ionic/p-abe101da.system.js +0 -4
  1162. package/dist/ionic/p-af999a31.entry.js +0 -4
  1163. package/dist/ionic/p-b51e4004.js +0 -4
  1164. package/dist/ionic/p-b54fc1ae.entry.js +0 -4
  1165. package/dist/ionic/p-b7657e8d.entry.js +0 -4
  1166. package/dist/ionic/p-bd25d639.system.entry.js +0 -4
  1167. package/dist/ionic/p-be715dd3.system.entry.js +0 -4
  1168. package/dist/ionic/p-c34659b9.entry.js +0 -4
  1169. package/dist/ionic/p-c468af8a.system.js +0 -4
  1170. package/dist/ionic/p-c61cc894.js +0 -4
  1171. package/dist/ionic/p-c71f301f.system.entry.js +0 -4
  1172. package/dist/ionic/p-cdb11938.system.entry.js +0 -4
  1173. package/dist/ionic/p-ce705aac.system.entry.js +0 -4
  1174. package/dist/ionic/p-d47265c8.js +0 -4
  1175. package/dist/ionic/p-d58f21d2.entry.js +0 -4
  1176. package/dist/ionic/p-d6841eac.js +0 -4
  1177. package/dist/ionic/p-d754c709.system.entry.js +0 -4
  1178. package/dist/ionic/p-da263d8e.entry.js +0 -4
  1179. package/dist/ionic/p-dda5c73d.entry.js +0 -4
  1180. package/dist/ionic/p-df83e308.system.entry.js +0 -4
  1181. package/dist/ionic/p-dfb78785.system.js +0 -4
  1182. package/dist/ionic/p-e3a5da9d.entry.js +0 -4
  1183. package/dist/ionic/p-e3e1e3de.entry.js +0 -4
  1184. package/dist/ionic/p-e3f13b08.js +0 -4
  1185. package/dist/ionic/p-ecceeb90.js +0 -4
  1186. package/dist/ionic/p-efaffe74.entry.js +0 -4
  1187. package/dist/ionic/p-f0ab13a8.system.entry.js +0 -4
  1188. package/dist/ionic/p-f1acf541.system.entry.js +0 -4
  1189. package/dist/ionic/p-f88ebc36.entry.js +0 -4
  1190. package/dist/ionic/p-f8c8b9ba.entry.js +0 -4
  1191. package/dist/ionic/p-fcd71204.system.entry.js +0 -4
  1192. package/dist/ionic/p-fd0cb4ef.entry.js +0 -4
  1193. package/dist/ionic/p-ff4b7e40.system.js +0 -4
  1194. package/dist/ionic/p-ffb17177.system.entry.js +0 -4
  1195. /package/dist/collection/components/{input-password-toggle/input-password-toggle.css → refresher-content/refresher-content.css} +0 -0
@@ -0,0 +1,89 @@
1
+ :host {
2
+ display: flex;
3
+ height: 100%;
4
+ overflow-x: scroll;
5
+ scroll-snap-type: x mandatory;
6
+ /* Hide scrollbar in Firefox */
7
+ scrollbar-width: none;
8
+ /* Hide scrollbar in IE and Edge */
9
+ -ms-overflow-style: none;
10
+ }
11
+
12
+ /* Hide scrollbar in webkit */
13
+ :host::-webkit-scrollbar {
14
+ display: none;
15
+ }
16
+
17
+ :host(.segment-view-disabled) {
18
+ touch-action: none;
19
+ overflow-x: hidden;
20
+ }
21
+
22
+ :host(.segment-view-scroll-disabled) {
23
+ pointer-events: none;
24
+ }
25
+
26
+ /**
27
+ * Convert a pixels given value into rem
28
+ *
29
+ * @param pixels - Value in pixels to be converted (i.e. px)
30
+ * @param context (optional) - Baseline value
31
+ */
32
+ /**
33
+ * Convert a font size to a dynamic font size.
34
+ * Fonts that participate in Dynamic Type should use
35
+ * dynamic font sizes.
36
+ * @param size - The initial font size including the unit (i.e. px or pt)
37
+ * @param unit (optional) - The unit to convert to. Use this if you want to
38
+ * convert to a unit other than $baselineUnit.
39
+ */
40
+ /**
41
+ * Convert a font size to a dynamic font size but impose
42
+ * a maximum font size.
43
+ * @param size - The initial font size including the unit (i.e. px or pt)
44
+ * @param maxScale - The maximum scale of the font (i.e. 2.5 for a maximum 250% scale).
45
+ * @param unit (optional) - The unit to convert the initial font size to. Use this if you want to
46
+ * convert to a unit other than $baselineUnit.
47
+ */
48
+ /**
49
+ * Convert a font size to a dynamic font size but impose
50
+ * a minimum font size.
51
+ * @param size - The initial font size including the unit (i.e. px or pt)
52
+ * @param minScale - The minimum scale of the font (i.e. 0.8 for a minimum 80% scale).
53
+ * @param unit (optional) - The unit to convert the initial font size to. Use this if you want to
54
+ * convert to a unit other than $baselineUnit.
55
+ */
56
+ /**
57
+ * Convert a font size to a dynamic font size but impose
58
+ * maximum and minimum font sizes.
59
+ * @param size - The initial font size including the unit (i.e. px or pt)
60
+ * @param minScale - The minimum scale of the font (i.e. 0.8 for a minimum 80% scale).
61
+ * @param maxScale - The maximum scale of the font (i.e. 2.5 for a maximum 250% scale).
62
+ * @param unit (optional) - The unit to convert the initial font size to. Use this if you want to
63
+ * convert to a unit other than $baselineUnit.
64
+ */
65
+ /**
66
+ * A heuristic that applies CSS to tablet
67
+ * viewports.
68
+ *
69
+ * Usage:
70
+ * @include tablet-viewport() {
71
+ * :host {
72
+ * background-color: green;
73
+ * }
74
+ * }
75
+ */
76
+ /**
77
+ * A heuristic that applies CSS to mobile
78
+ * viewports (i.e. phones, not tablets).
79
+ *
80
+ * Usage:
81
+ * @include mobile-viewport() {
82
+ * :host {
83
+ * background-color: blue;
84
+ * }
85
+ * }
86
+ */
87
+ :host(.segment-view-disabled) {
88
+ opacity: 0.3;
89
+ }
@@ -1,3 +1,9 @@
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
+ */
1
7
  /**
2
8
  * Convert a font size to a dynamic font size.
3
9
  * Fonts that participate in Dynamic Type should use
@@ -150,18 +156,18 @@
150
156
  button {
151
157
  position: absolute;
152
158
  top: 0;
153
- left: 0;
154
159
  right: 0;
155
160
  bottom: 0;
161
+ left: 0;
156
162
  width: 100%;
157
163
  height: 100%;
158
164
  margin: 0;
159
165
  padding: 0;
160
166
  border: 0;
161
167
  outline: 0;
162
- clip: rect(0 0 0 0);
163
168
  opacity: 0;
164
169
  overflow: hidden;
170
+ clip: rect(0 0 0 0);
165
171
  -webkit-appearance: none;
166
172
  -moz-appearance: none;
167
173
  }
@@ -556,7 +562,8 @@ button {
556
562
  max-width: calc(100% / 0.75);
557
563
  }
558
564
 
559
- ::slotted([slot=start]), ::slotted([slot=end]) {
565
+ ::slotted([slot=start]),
566
+ ::slotted([slot=end]) {
560
567
  /**
561
568
  * Prevent the slots from shrinking when the label and/or
562
569
  * selected item text is long enough to fill the rest of
@@ -575,6 +582,12 @@ button {
575
582
  margin-inline-end: 0;
576
583
  }
577
584
 
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
+ */
578
591
  /**
579
592
  * Convert a font size to a dynamic font size.
580
593
  * Fonts that participate in Dynamic Type should use
@@ -630,6 +643,12 @@ button {
630
643
  * }
631
644
  * }
632
645
  */
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
+ */
633
652
  /**
634
653
  * Convert a font size to a dynamic font size.
635
654
  * Fonts that participate in Dynamic Type should use
@@ -1,18 +1,21 @@
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";
4
5
  import { Host, h, forceUpdate } from "@stencil/core";
5
6
  import { compareOptions, createNotchController, isOptionSelected } from "../../utils/forms/index";
6
7
  import { focusVisibleElement, renderHiddenInput, inheritAttributes } from "../../utils/helpers";
7
- import { actionSheetController, alertController, popoverController } from "../../utils/overlays";
8
+ import { actionSheetController, alertController, popoverController, modalController } from "../../utils/overlays";
8
9
  import { isRTL } from "../../utils/rtl/index";
9
10
  import { createColorClasses, hostContext } from "../../utils/theme";
10
11
  import { watchForOptions } from "../../utils/watch-options";
11
12
  import { caretDownSharp, chevronExpand } from "ionicons/icons";
12
- import { getIonMode } from "../../global/ionic-global";
13
+ import { config } from "../../global/config";
14
+ import { getIonTheme } from "../../global/ionic-global";
13
15
  // TODO(FW-2832): types
14
16
  /**
15
- * @virtualProp {"ios" | "md"} mode - The mode determines which platform styles to use.
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.
16
19
  *
17
20
  * @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.
18
21
  * @slot start - Content to display at the leading edge of the select.
@@ -160,13 +163,12 @@ export class Select {
160
163
  this.setFocus();
161
164
  });
162
165
  await overlay.present();
163
- // focus selected option for popovers
164
- if (this.interface === 'popover') {
165
- const indexOfSelected = this.childOpts.map((o) => o.value).indexOf(this.value);
166
+ // focus selected option for popovers and modals
167
+ if (this.interface === 'popover' || this.interface === 'modal') {
168
+ const indexOfSelected = this.childOpts.findIndex((o) => o.value === this.value);
166
169
  if (indexOfSelected > -1) {
167
170
  const selectedItem = overlay.querySelector(`.select-interface-option:nth-child(${indexOfSelected + 1})`);
168
171
  if (selectedItem) {
169
- focusVisibleElement(selectedItem);
170
172
  /**
171
173
  * Browsers such as Firefox do not
172
174
  * correctly delegate focus when manually
@@ -180,8 +182,11 @@ export class Select {
180
182
  */
181
183
  const interactiveEl = selectedItem.querySelector('ion-radio, ion-checkbox');
182
184
  if (interactiveEl) {
183
- interactiveEl.focus();
185
+ // Needs to be called before `focusVisibleElement` to prevent issue with focus event bubbling
186
+ // and removing `ion-focused` style
187
+ interactiveEl.setFocus();
184
188
  }
189
+ focusVisibleElement(selectedItem);
185
190
  }
186
191
  }
187
192
  else {
@@ -190,11 +195,14 @@ export class Select {
190
195
  */
191
196
  const firstEnabledOption = overlay.querySelector('ion-radio:not(.radio-disabled), ion-checkbox:not(.checkbox-disabled)');
192
197
  if (firstEnabledOption) {
193
- focusVisibleElement(firstEnabledOption.closest('ion-item'));
194
198
  /**
195
199
  * Focus the option for the same reason as we do above.
200
+ *
201
+ * Needs to be called before `focusVisibleElement` to prevent issue with focus event bubbling
202
+ * and removing `ion-focused` style
196
203
  */
197
- firstEnabledOption.focus();
204
+ firstEnabledOption.setFocus();
205
+ focusVisibleElement(firstEnabledOption.closest('ion-item'));
198
206
  }
199
207
  }
200
208
  }
@@ -216,6 +224,9 @@ export class Select {
216
224
  if (selectInterface === 'popover') {
217
225
  return this.openPopover(ev);
218
226
  }
227
+ if (selectInterface === 'modal') {
228
+ return this.openModal();
229
+ }
219
230
  return this.openAlert();
220
231
  }
221
232
  updateOverlayOptions() {
@@ -232,7 +243,13 @@ export class Select {
232
243
  case 'popover':
233
244
  const popover = overlay.querySelector('ion-select-popover');
234
245
  if (popover) {
235
- popover.options = this.createPopoverOptions(childOpts, value);
246
+ popover.options = this.createOverlaySelectOptions(childOpts, value);
247
+ }
248
+ break;
249
+ case 'modal':
250
+ const modal = overlay.querySelector('ion-select-modal');
251
+ if (modal) {
252
+ modal.options = this.createOverlaySelectOptions(childOpts, value);
236
253
  }
237
254
  break;
238
255
  case 'alert':
@@ -287,7 +304,7 @@ export class Select {
287
304
  });
288
305
  return alertInputs;
289
306
  }
290
- createPopoverOptions(data, selectValue) {
307
+ createOverlaySelectOptions(data, selectValue) {
291
308
  const popoverOptions = data.map((option) => {
292
309
  const value = getOptionValue(option);
293
310
  // Remove hydrated before copying over classes
@@ -314,8 +331,8 @@ export class Select {
314
331
  async openPopover(ev) {
315
332
  const { fill, labelPlacement } = this;
316
333
  const interfaceOptions = this.interfaceOptions;
317
- const mode = getIonMode(this);
318
- const showBackdrop = mode === 'md' ? false : true;
334
+ const theme = getIonTheme(this);
335
+ const showBackdrop = theme === 'md' ? false : true;
319
336
  const multiple = this.multiple;
320
337
  const value = this.value;
321
338
  let event = ev;
@@ -326,7 +343,7 @@ export class Select {
326
343
  * when using a fill in MD mode or if the
327
344
  * label is floating/stacked.
328
345
  */
329
- if (hasFloatingOrStackedLabel || (mode === 'md' && fill !== undefined)) {
346
+ if (hasFloatingOrStackedLabel || (theme === 'md' && fill !== undefined)) {
330
347
  size = 'cover';
331
348
  /**
332
349
  * Otherwise the popover
@@ -339,7 +356,7 @@ export class Select {
339
356
  ionShadowTarget: this.nativeWrapperEl,
340
357
  } });
341
358
  }
342
- const popoverOpts = Object.assign(Object.assign({ mode,
359
+ const popoverOpts = Object.assign(Object.assign({ theme,
343
360
  event, alignment: 'center', size,
344
361
  showBackdrop }, interfaceOptions), { component: 'ion-select-popover', cssClass: ['select-popover', interfaceOptions.cssClass], componentProps: {
345
362
  header: interfaceOptions.header,
@@ -347,7 +364,7 @@ export class Select {
347
364
  message: interfaceOptions.message,
348
365
  multiple,
349
366
  value,
350
- options: this.createPopoverOptions(this.childOpts, value),
367
+ options: this.createOverlaySelectOptions(this.childOpts, value),
351
368
  } });
352
369
  /**
353
370
  * Workaround for Stencil to autodefine
@@ -364,9 +381,9 @@ export class Select {
364
381
  return popoverController.create(popoverOpts);
365
382
  }
366
383
  async openActionSheet() {
367
- const mode = getIonMode(this);
384
+ const theme = getIonTheme(this);
368
385
  const interfaceOptions = this.interfaceOptions;
369
- const actionSheetOpts = Object.assign(Object.assign({ mode }, interfaceOptions), { buttons: this.createActionSheetButtons(this.childOpts, this.value), cssClass: ['select-action-sheet', interfaceOptions.cssClass] });
386
+ const actionSheetOpts = Object.assign(Object.assign({ theme }, interfaceOptions), { buttons: this.createActionSheetButtons(this.childOpts, this.value), cssClass: ['select-action-sheet', interfaceOptions.cssClass] });
370
387
  /**
371
388
  * Workaround for Stencil to autodefine
372
389
  * ion-action-sheet when
@@ -383,8 +400,8 @@ export class Select {
383
400
  async openAlert() {
384
401
  const interfaceOptions = this.interfaceOptions;
385
402
  const inputType = this.multiple ? 'checkbox' : 'radio';
386
- const mode = getIonMode(this);
387
- const alertOpts = Object.assign(Object.assign({ mode }, interfaceOptions), { header: interfaceOptions.header ? interfaceOptions.header : this.labelText, inputs: this.createAlertInputs(this.childOpts, inputType, this.value), buttons: [
403
+ const theme = getIonTheme(this);
404
+ const alertOpts = Object.assign(Object.assign({ theme }, interfaceOptions), { header: interfaceOptions.header ? interfaceOptions.header : this.labelText, inputs: this.createAlertInputs(this.childOpts, inputType, this.value), buttons: [
388
405
  {
389
406
  text: this.cancelText,
390
407
  role: 'cancel',
@@ -416,6 +433,29 @@ export class Select {
416
433
  }
417
434
  return alertController.create(alertOpts);
418
435
  }
436
+ openModal() {
437
+ const { multiple, value, interfaceOptions } = this;
438
+ const theme = getIonTheme(this);
439
+ const modalOpts = Object.assign(Object.assign({}, interfaceOptions), { mode: theme, cssClass: ['select-modal', interfaceOptions.cssClass], component: 'ion-select-modal', componentProps: {
440
+ header: interfaceOptions.header,
441
+ multiple,
442
+ value,
443
+ options: this.createOverlaySelectOptions(this.childOpts, value),
444
+ } });
445
+ /**
446
+ * Workaround for Stencil to autodefine
447
+ * ion-select-modal and ion-modal when
448
+ * using Custom Elements build.
449
+ */
450
+ // eslint-disable-next-line
451
+ if (false) {
452
+ // eslint-disable-next-line
453
+ // @ts-ignore
454
+ document.createElement('ion-select-modal');
455
+ document.createElement('ion-modal');
456
+ }
457
+ return modalController.create(modalOpts);
458
+ }
419
459
  /**
420
460
  * Close the select interface.
421
461
  */
@@ -501,8 +541,8 @@ export class Select {
501
541
  * when fill="outline".
502
542
  */
503
543
  renderLabelContainer() {
504
- const mode = getIonMode(this);
505
- const hasOutlineFill = mode === 'md' && this.fill === 'outline';
544
+ const theme = getIonTheme(this);
545
+ const hasOutlineFill = theme === 'md' && this.fill === 'outline';
506
546
  if (hasOutlineFill) {
507
547
  /**
508
548
  * The outline fill has a special outline
@@ -551,15 +591,10 @@ export class Select {
551
591
  * next to the select text.
552
592
  */
553
593
  renderSelectIcon() {
554
- const mode = getIonMode(this);
555
- const { isExpanded, toggleIcon, expandedIcon } = this;
556
- let icon;
557
- if (isExpanded && expandedIcon !== undefined) {
558
- icon = expandedIcon;
559
- }
560
- else {
561
- const defaultIcon = mode === 'ios' ? chevronExpand : caretDownSharp;
562
- icon = toggleIcon !== null && toggleIcon !== void 0 ? toggleIcon : defaultIcon;
594
+ const { isExpanded, selectExpandedIcon, selectCollapsedIcon } = this;
595
+ let icon = selectCollapsedIcon;
596
+ if (isExpanded) {
597
+ icon = selectExpandedIcon;
563
598
  }
564
599
  return h("ion-icon", { class: "select-icon", part: "icon", "aria-hidden": "true", icon: icon });
565
600
  }
@@ -594,14 +629,62 @@ export class Select {
594
629
  const { disabled, inputId, isExpanded } = this;
595
630
  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) }));
596
631
  }
632
+ /**
633
+ * Get the icon to use for the expand icon.
634
+ * If an icon is set on the component, use that.
635
+ * Otherwise, use the icon set in the config.
636
+ * If no icon is set in the config, use the default icon.
637
+ */
638
+ get selectExpandedIcon() {
639
+ // Return the expandedIcon or toggleIcon if either is explicitly set
640
+ if (this.expandedIcon != null) {
641
+ return this.expandedIcon;
642
+ }
643
+ else if (this.toggleIcon != null) {
644
+ return this.toggleIcon;
645
+ }
646
+ // Determine the theme and map to default icons
647
+ const theme = getIonTheme(this);
648
+ const defaultIcons = {
649
+ ios: chevronExpand,
650
+ ionic: caretDownRegular,
651
+ md: caretDownSharp,
652
+ };
653
+ // Get the default icon based on the theme, falling back to 'md' icon if necessary
654
+ const defaultIcon = defaultIcons[theme] || defaultIcons.md;
655
+ // Return the configured select expanded icon or the default icon
656
+ return config.get('selectExpandedIcon', defaultIcon);
657
+ }
658
+ /**
659
+ * Get the icon to use for the collapsed icon.
660
+ * If an icon is set on the component, use that.
661
+ * Otherwise, use the icon set in the config.
662
+ * If no icon is set in the config, use the default icon.
663
+ */
664
+ get selectCollapsedIcon() {
665
+ // Return the toggleIcon if it is explicitly set
666
+ if (this.toggleIcon) {
667
+ return this.toggleIcon;
668
+ }
669
+ // Determine the theme and map to default icons
670
+ const theme = getIonTheme(this);
671
+ const defaultIcons = {
672
+ ios: chevronExpand,
673
+ ionic: caretDownRegular,
674
+ md: caretDownSharp,
675
+ };
676
+ // Get the default icon based on the theme, falling back to 'md' icon if necessary
677
+ const defaultIcon = defaultIcons[theme] || defaultIcons.md;
678
+ return config.get('selectCollapsedIcon', defaultIcon);
679
+ }
597
680
  render() {
598
681
  const { disabled, el, isExpanded, expandedIcon, labelPlacement, justify, placeholder, fill, shape, name, value } = this;
599
- const mode = getIonMode(this);
682
+ const theme = getIonTheme(this);
600
683
  const hasFloatingOrStackedLabel = labelPlacement === 'floating' || labelPlacement === 'stacked';
601
684
  const justifyEnabled = !hasFloatingOrStackedLabel && justify !== undefined;
602
685
  const rtl = isRTL(el) ? 'rtl' : 'ltr';
603
686
  const inItem = hostContext('ion-item', this.el);
604
- const shouldRenderHighlight = mode === 'md' && fill !== 'outline' && !inItem;
687
+ const shouldRenderHighlight = theme === 'md' && fill !== 'outline' && !inItem;
605
688
  const hasValue = this.hasValue();
606
689
  const hasStartEndSlots = el.querySelector('[slot="start"], [slot="end"]') !== null;
607
690
  renderHiddenInput(true, el, name, parseValue(value), disabled);
@@ -623,8 +706,8 @@ export class Select {
623
706
  * TODO(FW-5592): Remove hasStartEndSlots condition
624
707
  */
625
708
  const labelShouldFloat = labelPlacement === 'stacked' || (labelPlacement === 'floating' && (hasValue || isExpanded || hasStartEndSlots));
626
- return (h(Host, { key: '73c571c1f8468e1c3f4fe02fbbb33ba9cbc8e989', onClick: this.onClick, class: createColorClasses(this.color, {
627
- [mode]: true,
709
+ return (h(Host, { key: '53907da3ad1bd7f5793ff1b3d24cfc88e6f5251c', onClick: this.onClick, class: createColorClasses(this.color, {
710
+ [theme]: true,
628
711
  'in-item': inItem,
629
712
  'in-item-color': hostContext('ion-item.ion-color', el),
630
713
  'select-disabled': disabled,
@@ -639,20 +722,22 @@ export class Select {
639
722
  [`select-justify-${justify}`]: justifyEnabled,
640
723
  [`select-shape-${shape}`]: shape !== undefined,
641
724
  [`select-label-placement-${labelPlacement}`]: true,
642
- }) }, h("label", { key: '2b08538cba0b9f747541d57ac18fb6a1ea658878', class: "select-wrapper", id: "select-label" }, this.renderLabelContainer(), h("div", { key: '33f54373bcb02c72a9d0af2efffebc27ee2c69fe', class: "select-wrapper-inner" }, h("slot", { key: 'd1c93aec99dc1cd6410f93309cef615fe04b541b', name: "start" }), h("div", { key: '493d1a3cad9565516f855bef75685b020785ffd3', class: "native-wrapper", ref: (el) => (this.nativeWrapperEl = el), part: "container" }, this.renderSelectText(), this.renderListbox()), h("slot", { key: '353a3ee5635f8a8f3be411efd6caef6c2ad74a89', name: "end" }), !hasFloatingOrStackedLabel && this.renderSelectIcon()), hasFloatingOrStackedLabel && this.renderSelectIcon(), shouldRenderHighlight && h("div", { key: 'fd5f85555db02affe954f9f4f2876ac8fe676234', class: "select-highlight" }))));
725
+ }) }, h("label", { key: '04bc2e3f361e5156a589c160d4c426f7b37d2013', class: "select-wrapper", id: "select-label" }, this.renderLabelContainer(), h("div", { key: 'f2686986bb3eeff51501198de7558307454ebeda', class: "select-wrapper-inner" }, h("slot", { key: '7718621897e898deb25855a0192233a98ce655a8', name: "start" }), h("div", { key: 'a052077e5ff65c2d21fb76e5e06399d70dc5968c', class: "native-wrapper", ref: (el) => (this.nativeWrapperEl = el), part: "container" }, this.renderSelectText(), this.renderListbox()), h("slot", { key: '093233ca86b031cfa038186f59a69a9dd9003eca', name: "end" }), !hasFloatingOrStackedLabel && this.renderSelectIcon()), hasFloatingOrStackedLabel && this.renderSelectIcon(), shouldRenderHighlight && h("div", { key: '43e345f1078246d0e97d070d71c098da48355099', class: "select-highlight" }))));
643
726
  }
644
727
  static get is() { return "ion-select"; }
645
728
  static get encapsulation() { return "shadow"; }
646
729
  static get originalStyleUrls() {
647
730
  return {
648
731
  "ios": ["select.ios.scss"],
649
- "md": ["select.md.scss"]
732
+ "md": ["select.md.scss"],
733
+ "ionic": ["select.md.scss"]
650
734
  };
651
735
  }
652
736
  static get styleUrls() {
653
737
  return {
654
738
  "ios": ["select.ios.css"],
655
- "md": ["select.md.css"]
739
+ "md": ["select.md.css"],
740
+ "ionic": ["select.md.css"]
656
741
  };
657
742
  }
658
743
  static get properties() {
@@ -751,7 +836,7 @@ export class Select {
751
836
  "optional": true,
752
837
  "docs": {
753
838
  "tags": [],
754
- "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."
839
+ "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."
755
840
  },
756
841
  "attribute": "fill",
757
842
  "reflect": false
@@ -761,7 +846,7 @@ export class Select {
761
846
  "mutable": false,
762
847
  "complexType": {
763
848
  "original": "SelectInterface",
764
- "resolved": "\"action-sheet\" | \"alert\" | \"popover\"",
849
+ "resolved": "\"action-sheet\" | \"alert\" | \"modal\" | \"popover\"",
765
850
  "references": {
766
851
  "SelectInterface": {
767
852
  "location": "import",
@@ -774,7 +859,7 @@ export class Select {
774
859
  "optional": false,
775
860
  "docs": {
776
861
  "tags": [],
777
- "text": "The interface the select should use: `action-sheet`, `popover` or `alert`."
862
+ "text": "The interface the select should use: `action-sheet`, `popover`, `alert`, or `modal`."
778
863
  },
779
864
  "attribute": "interface",
780
865
  "reflect": false,
@@ -792,7 +877,7 @@ export class Select {
792
877
  "optional": false,
793
878
  "docs": {
794
879
  "tags": [],
795
- "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."
880
+ "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."
796
881
  },
797
882
  "attribute": "interface-options",
798
883
  "reflect": false,
@@ -950,7 +1035,7 @@ export class Select {
950
1035
  "optional": true,
951
1036
  "docs": {
952
1037
  "tags": [],
953
- "text": "The toggle icon to use. Defaults to `chevronExpand` for `ios` mode,\nor `caretDownSharp` for `md` mode."
1038
+ "text": "The toggle icon to use. Defaults to `\"chevronExpand\"` for the `\"ios\"` theme,\nor `\"caretDownSharp\"` for the `\"md\"` and `\"ionic\"` themes."
954
1039
  },
955
1040
  "attribute": "toggle-icon",
956
1041
  "reflect": false
@@ -967,7 +1052,7 @@ export class Select {
967
1052
  "optional": true,
968
1053
  "docs": {
969
1054
  "tags": [],
970
- "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."
1055
+ "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."
971
1056
  },
972
1057
  "attribute": "expanded-icon",
973
1058
  "reflect": false
@@ -1143,6 +1228,14 @@ export class Select {
1143
1228
  "HTMLElement": {
1144
1229
  "location": "global",
1145
1230
  "id": "global::HTMLElement"
1231
+ },
1232
+ "HTMLIonRadioElement": {
1233
+ "location": "global",
1234
+ "id": "global::HTMLIonRadioElement"
1235
+ },
1236
+ "HTMLIonCheckboxElement": {
1237
+ "location": "global",
1238
+ "id": "global::HTMLIonCheckboxElement"
1146
1239
  }
1147
1240
  },
1148
1241
  "return": "Promise<any>"
@@ -1,3 +1,9 @@
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
+ */
1
7
  /**
2
8
  * Convert a font size to a dynamic font size.
3
9
  * Fonts that participate in Dynamic Type should use
@@ -150,18 +156,18 @@
150
156
  button {
151
157
  position: absolute;
152
158
  top: 0;
153
- left: 0;
154
159
  right: 0;
155
160
  bottom: 0;
161
+ left: 0;
156
162
  width: 100%;
157
163
  height: 100%;
158
164
  margin: 0;
159
165
  padding: 0;
160
166
  border: 0;
161
167
  outline: 0;
162
- clip: rect(0 0 0 0);
163
168
  opacity: 0;
164
169
  overflow: hidden;
170
+ clip: rect(0 0 0 0);
165
171
  -webkit-appearance: none;
166
172
  -moz-appearance: none;
167
173
  }
@@ -556,7 +562,8 @@ button {
556
562
  max-width: calc(100% / 0.75);
557
563
  }
558
564
 
559
- ::slotted([slot=start]), ::slotted([slot=end]) {
565
+ ::slotted([slot=start]),
566
+ ::slotted([slot=end]) {
560
567
  /**
561
568
  * Prevent the slots from shrinking when the label and/or
562
569
  * selected item text is long enough to fill the rest of
@@ -575,6 +582,12 @@ button {
575
582
  margin-inline-end: 0;
576
583
  }
577
584
 
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
+ */
578
591
  /**
579
592
  * Convert a font size to a dynamic font size.
580
593
  * Fonts that participate in Dynamic Type should use
@@ -630,6 +643,12 @@ button {
630
643
  * }
631
644
  * }
632
645
  */
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
+ */
633
652
  /**
634
653
  * Convert a font size to a dynamic font size.
635
654
  * Fonts that participate in Dynamic Type should use
@@ -685,6 +704,12 @@ button {
685
704
  * }
686
705
  * }
687
706
  */
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
+ */
688
713
  /**
689
714
  * Convert a font size to a dynamic font size.
690
715
  * Fonts that participate in Dynamic Type should use
@@ -811,6 +836,12 @@ button {
811
836
  max-width: calc(100% / 0.75);
812
837
  }
813
838
 
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
+ */
814
845
  /**
815
846
  * Convert a font size to a dynamic font size.
816
847
  * Fonts that participate in Dynamic Type should use
@@ -969,7 +1000,9 @@ button {
969
1000
  * Label text should not extend
970
1001
  * beyond the bounds of the select.
971
1002
  */
972
- max-width: calc((100% - var(--padding-start) - var(--padding-end) - 8px) / 0.75);
1003
+ max-width: calc(
1004
+ (100% - var(--padding-start) - var(--padding-end) - 8px) / 0.75
1005
+ );
973
1006
  }
974
1007
 
975
1008
  /**
@@ -986,8 +1019,8 @@ button {
986
1019
  }
987
1020
 
988
1021
  :host(.select-fill-outline) .select-outline-container {
989
- left: 0;
990
1022
  right: 0;
1023
+ left: 0;
991
1024
  top: 0;
992
1025
  bottom: 0;
993
1026
  display: flex;
@@ -0,0 +1,3 @@
1
+ :host {
2
+ height: 100%;
3
+ }