@ionic/core 9.0.6-dev.11790349282.1a877abd → 9.0.6-dev.11790776272.1d27d1bd

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 (1098) hide show
  1. package/components/index.js +1 -1
  2. package/components/ion-accordion-group.js +1 -1
  3. package/components/ion-accordion.js +1 -1
  4. package/components/ion-action-sheet.js +1 -1
  5. package/components/ion-alert.js +1 -1
  6. package/components/ion-app.js +1 -1
  7. package/components/ion-avatar.js +1 -1
  8. package/components/ion-back-button.js +1 -1
  9. package/components/ion-backdrop.js +1 -1
  10. package/components/ion-badge.js +1 -1
  11. package/components/ion-breadcrumb.js +1 -1
  12. package/components/ion-breadcrumbs.js +1 -1
  13. package/components/ion-button.js +1 -1
  14. package/components/ion-buttons.js +1 -1
  15. package/components/ion-card-content.js +1 -1
  16. package/components/ion-card-header.js +1 -1
  17. package/components/ion-card-subtitle.js +1 -1
  18. package/components/ion-card-title.js +1 -1
  19. package/components/ion-card.js +1 -1
  20. package/components/ion-checkbox.js +1 -1
  21. package/components/ion-chip.js +1 -1
  22. package/components/ion-col.js +1 -1
  23. package/components/ion-content.js +1 -1
  24. package/components/ion-datetime-button.js +1 -1
  25. package/components/ion-datetime.js +1 -1
  26. package/components/ion-divider.d.ts +11 -0
  27. package/components/ion-divider.js +4 -0
  28. package/components/ion-fab-button.js +1 -1
  29. package/components/ion-fab-list.js +1 -1
  30. package/components/ion-fab.js +1 -1
  31. package/components/ion-footer.js +1 -1
  32. package/components/ion-gallery-item.d.ts +11 -0
  33. package/components/ion-gallery-item.js +4 -0
  34. package/components/ion-gallery.d.ts +11 -0
  35. package/components/ion-gallery.js +4 -0
  36. package/components/ion-grid.js +1 -1
  37. package/components/ion-header.js +1 -1
  38. package/components/ion-icon.js +1 -1
  39. package/components/ion-img.js +1 -1
  40. package/components/ion-infinite-scroll-content.js +1 -1
  41. package/components/ion-infinite-scroll.js +1 -1
  42. package/components/ion-input-otp.js +1 -1
  43. package/components/ion-input-password-toggle.js +1 -1
  44. package/components/ion-input.js +1 -1
  45. package/components/ion-item-divider.js +1 -1
  46. package/components/ion-item-group.js +1 -1
  47. package/components/ion-item-option.js +1 -1
  48. package/components/ion-item-options.js +1 -1
  49. package/components/ion-item-sliding.js +1 -1
  50. package/components/ion-item.js +1 -1
  51. package/components/ion-label.js +1 -1
  52. package/components/ion-list-header.js +1 -1
  53. package/components/ion-list.js +1 -1
  54. package/components/ion-loading.js +1 -1
  55. package/components/ion-menu-button.js +1 -1
  56. package/components/ion-menu-toggle.js +1 -1
  57. package/components/ion-menu.js +1 -1
  58. package/components/ion-modal.js +1 -1
  59. package/components/ion-nav-link.js +1 -1
  60. package/components/ion-nav.js +1 -1
  61. package/components/ion-note.js +1 -1
  62. package/components/ion-picker-column-option.js +1 -1
  63. package/components/ion-picker-column.js +1 -1
  64. package/components/ion-picker.js +1 -1
  65. package/components/ion-popover.js +1 -1
  66. package/components/ion-progress-bar.js +1 -1
  67. package/components/ion-radio-group.js +1 -1
  68. package/components/ion-radio.js +1 -1
  69. package/components/ion-range.js +1 -1
  70. package/components/ion-refresher-content.js +1 -1
  71. package/components/ion-refresher.js +1 -1
  72. package/components/ion-reorder-group.js +1 -1
  73. package/components/ion-reorder.js +1 -1
  74. package/components/ion-ripple-effect.js +1 -1
  75. package/components/ion-route-redirect.js +1 -1
  76. package/components/ion-route.js +1 -1
  77. package/components/ion-router-link.js +1 -1
  78. package/components/ion-router-outlet.js +1 -1
  79. package/components/ion-router.js +1 -1
  80. package/components/ion-row.js +1 -1
  81. package/components/ion-searchbar.js +1 -1
  82. package/components/ion-segment-button.js +1 -1
  83. package/components/ion-segment-content.js +1 -1
  84. package/components/ion-segment-view.js +1 -1
  85. package/components/ion-segment.js +1 -1
  86. package/components/ion-select-modal.js +1 -1
  87. package/components/ion-select-option.js +1 -1
  88. package/components/ion-select-popover.js +1 -1
  89. package/components/ion-select.js +1 -1
  90. package/components/ion-skeleton-text.js +1 -1
  91. package/components/ion-spinner.js +1 -1
  92. package/components/ion-split-pane.js +1 -1
  93. package/components/ion-tab-bar.js +1 -1
  94. package/components/ion-tab-button.js +1 -1
  95. package/components/ion-tab.js +1 -1
  96. package/components/ion-tabs.js +1 -1
  97. package/components/ion-text.js +1 -1
  98. package/components/ion-textarea.js +1 -1
  99. package/components/ion-thumbnail.js +1 -1
  100. package/components/ion-title.js +1 -1
  101. package/components/ion-toast.js +1 -1
  102. package/components/ion-toggle.js +1 -1
  103. package/components/ion-toolbar.js +1 -1
  104. package/components/p-0rXxxCTt.js +4 -0
  105. package/components/p-37X-8Gly.js +4 -0
  106. package/components/p-62jMqk_2.js +4 -0
  107. package/components/p-6bixixDn.js +4 -0
  108. package/components/p-8_oeT3pA.js +4 -0
  109. package/components/p-8n1_MTzx.js +4 -0
  110. package/components/{p-DWGgvN5e.js → p-A6ucUP3n.js} +1 -1
  111. package/components/{p-Bu6O-veK.js → p-B2N-uaer.js} +1 -1
  112. package/components/p-B6hzlC5j.js +4 -0
  113. package/components/p-B93Ra6bA.js +4 -0
  114. package/components/p-BNmpijWM.js +4 -0
  115. package/components/p-BUF_V-Kg.js +4 -0
  116. package/components/p-BYk20Mf5.js +4 -0
  117. package/components/{p-yjLe0sN2.js → p-Bdobqe7h.js} +1 -1
  118. package/components/p-BfDzKnZ-.js +4 -0
  119. package/components/p-BhahBl_4.js +4 -0
  120. package/components/p-BiYiyBQx.js +4 -0
  121. package/components/p-BrOe3-hG.js +4 -0
  122. package/components/{p-fFx6WCTj.js → p-BxmCDJGo.js} +1 -1
  123. package/components/p-BzTxsQy7.js +4 -0
  124. package/components/p-C1_1oiK1.js +4 -0
  125. package/components/{p-CVVUo4J1.js → p-CDgG2plB.js} +1 -1
  126. package/components/p-CG2KwvX8.js +4 -0
  127. package/components/p-CJgEqVkU.js +4 -0
  128. package/components/p-CODBQrPj.js +4 -0
  129. package/components/p-CO_NfcFI.js +4 -0
  130. package/components/p-COpUROd5.js +4 -0
  131. package/components/p-CU58nYdK.js +4 -0
  132. package/components/p-CfVt2cSa.js +4 -0
  133. package/components/p-CqJjxXhD.js +4 -0
  134. package/components/{p-Ctw69DyZ.js → p-CscIqeFa.js} +1 -1
  135. package/components/p-Cw238cJK.js +4 -0
  136. package/components/p-CzIKYlnt.js +4 -0
  137. package/components/p-D4qU_GAV.js +4 -0
  138. package/components/p-D5DnKj9A.js +4 -0
  139. package/components/{p-Dlr7b3_2.js → p-D5ld1tBr.js} +1 -1
  140. package/components/{p-C9ioHZq-.js → p-DGbHpbI3.js} +1 -1
  141. package/components/p-DI6CUKfX.js +4 -0
  142. package/components/p-DJHoSlfB.js +4 -0
  143. package/components/p-DKq6UKi0.js +4 -0
  144. package/components/{p-BKeulLTJ.js → p-DSXoSdmA.js} +1 -1
  145. package/components/p-D__93Idk.js +4 -0
  146. package/components/p-DdxgOJke.js +4 -0
  147. package/components/p-DfcwW1aR.js +4 -0
  148. package/components/p-DgFAwQsK.js +4 -0
  149. package/components/{p-T2dnrBya.js → p-Dgl8Vd2X.js} +1 -1
  150. package/components/{p-C_NQIzjP.js → p-Dk28-cNx.js} +1 -1
  151. package/components/p-DkiPZ_fu.js +4 -0
  152. package/components/p-ESP4CxsW.js +4 -0
  153. package/components/p-FyJJr6na.js +4 -0
  154. package/components/p-NcQUGze-.js +4 -0
  155. package/components/p-S3RGszMg.js +4 -0
  156. package/components/p-XNCy3pzc.js +4 -0
  157. package/components/p-YaCudw3M.js +4 -0
  158. package/components/p-YzlvZhlS.js +4 -0
  159. package/components/p-Z0yxDpWf.js +4 -0
  160. package/components/p-ZJCq7HeA.js +4 -0
  161. package/components/p-jQFnlcKd.js +4 -0
  162. package/components/p-yscb8Luf.js +4 -0
  163. package/css/core.css +1 -1
  164. package/css/core.css.map +1 -1
  165. package/css/display.css +1 -1
  166. package/css/display.css.map +1 -1
  167. package/css/flex-utils.css +1 -1
  168. package/css/flex-utils.css.map +1 -1
  169. package/css/float-elements.css.map +1 -1
  170. package/css/global.bundle.css.map +1 -1
  171. package/css/ionic/bundle.ionic.css +1 -0
  172. package/css/ionic/bundle.ionic.css.map +1 -0
  173. package/css/ionic/core.ionic.css +1 -0
  174. package/css/ionic/core.ionic.css.map +1 -0
  175. package/css/ionic/global.bundle.ionic.css +1 -0
  176. package/css/ionic/global.bundle.ionic.css.map +1 -0
  177. package/css/ionic/ionic-swiper.ionic.css +1 -0
  178. package/css/ionic/ionic-swiper.ionic.css.map +1 -0
  179. package/css/ionic/link.ionic.css +1 -0
  180. package/css/ionic/link.ionic.css.map +1 -0
  181. package/css/ionic/structure.ionic.css +1 -0
  182. package/css/ionic/structure.ionic.css.map +1 -0
  183. package/css/ionic/typography.ionic.css +1 -0
  184. package/css/ionic/typography.ionic.css.map +1 -0
  185. package/css/ionic/utils.bundle.ionic.css +1 -0
  186. package/css/ionic/utils.bundle.ionic.css.map +1 -0
  187. package/css/ionic-swiper.css +1 -1
  188. package/css/ionic-swiper.css.map +1 -1
  189. package/css/ionic.bundle.css +1 -1
  190. package/css/ionic.bundle.css.map +1 -1
  191. package/css/normalize.css.map +1 -1
  192. package/css/padding.css.map +1 -1
  193. package/css/palettes/dark.always.css.map +1 -1
  194. package/css/palettes/dark.class.css.map +1 -1
  195. package/css/palettes/dark.system.css.map +1 -1
  196. package/css/palettes/high-contrast-dark.always.css.map +1 -1
  197. package/css/palettes/high-contrast-dark.class.css.map +1 -1
  198. package/css/palettes/high-contrast-dark.system.css.map +1 -1
  199. package/css/palettes/high-contrast.always.css.map +1 -1
  200. package/css/palettes/high-contrast.class.css.map +1 -1
  201. package/css/palettes/high-contrast.system.css.map +1 -1
  202. package/css/structure.css.map +1 -1
  203. package/css/text-alignment.css.map +1 -1
  204. package/css/text-transformation.css.map +1 -1
  205. package/css/typography.css.map +1 -1
  206. package/css/utils.bundle.css +1 -1
  207. package/css/utils.bundle.css.map +1 -1
  208. package/dist/cjs/{animation-BFKyYY11.js → animation-DGhvrwaP.js} +3 -3
  209. package/dist/cjs/{app-globals-BLTzqkrC.js → app-globals--knHahIC.js} +1 -1
  210. package/dist/cjs/{attribute-controller-CXIeB0Mn.js → attribute-controller-DqubM70Y.js} +3 -2
  211. package/dist/cjs/{button-active-CEQaiV9N.js → button-active-DJu01UHp.js} +2 -2
  212. package/dist/cjs/{capacitor-BMzmHhwe.js → capacitor-DmA66EwP.js} +3 -3
  213. package/dist/cjs/clear-button-press-controller-C6PTS3jC.js +45 -0
  214. package/dist/cjs/focus-visible-DGPRKkcx.js +151 -0
  215. package/dist/cjs/{format-CdRlDqPs.js → format-UTEj7kb_.js} +1 -1
  216. package/dist/cjs/{framework-delegate-DTLbqaaO.js → framework-delegate-Dc-OOm7D.js} +4 -2
  217. package/dist/cjs/{haptic-CJVUv_GB.js → haptic-Ch-X4gRx.js} +1 -1
  218. package/dist/cjs/{helpers-Crluoxqu.js → helpers-CLJM7hT0.js} +88 -10
  219. package/dist/cjs/{index-CElfU-dK.js → index-BzL2o7TC.js} +16 -14
  220. package/dist/cjs/{index-wOmugbdg.js → index-CxDnX7hd.js} +2 -0
  221. package/dist/cjs/{index-CgXTRA_-.js → index-DHE2MAbY.js} +4 -4
  222. package/dist/cjs/{index-BAM4223M.js → index-DKcBQZY9.js} +2 -2
  223. package/dist/cjs/{index-BKpybYNI.js → index-DaYKwu0A.js} +9 -7
  224. package/dist/cjs/index-DkNv4J_i.js +10 -0
  225. package/dist/cjs/{index-BSD7toMO.js → index-Dy4VfNzX.js} +1 -1
  226. package/dist/cjs/{index-SAR1xwtW.js → index-sCX9078m.js} +53 -4
  227. package/dist/cjs/index.cjs.js +20 -18
  228. package/dist/cjs/{input-shims-CHghGZe-.js → input-shims-BMQzAjOD.js} +18 -16
  229. package/dist/cjs/{input.utils-BBZr0wjw.js → input.utils-BrmvFLnI.js} +1 -1
  230. package/dist/cjs/ion-accordion_2.cjs.entry.js +57 -29
  231. package/dist/cjs/ion-action-sheet.cjs.entry.js +42 -37
  232. package/dist/cjs/ion-alert.cjs.entry.js +50 -45
  233. package/dist/cjs/ion-app_8.cjs.entry.js +457 -195
  234. package/dist/cjs/ion-avatar_3.cjs.entry.js +124 -13
  235. package/dist/cjs/ion-back-button.cjs.entry.js +31 -23
  236. package/dist/cjs/ion-backdrop.cjs.entry.js +11 -7
  237. package/dist/cjs/ion-breadcrumb_2.cjs.entry.js +42 -18
  238. package/dist/cjs/ion-button_2.cjs.entry.js +61 -23
  239. package/dist/cjs/ion-card_5.cjs.entry.js +57 -34
  240. package/dist/cjs/ion-checkbox.cjs.entry.js +43 -17
  241. package/dist/cjs/ion-chip.cjs.entry.js +51 -9
  242. package/dist/cjs/ion-col_3.cjs.entry.js +57 -62
  243. package/dist/cjs/ion-datetime-button.cjs.entry.js +14 -9
  244. package/dist/cjs/ion-datetime.cjs.entry.js +75 -33
  245. package/dist/cjs/ion-divider.cjs.entry.js +52 -0
  246. package/dist/cjs/ion-fab_3.cjs.entry.js +40 -28
  247. package/dist/cjs/ion-gallery-item.cjs.entry.js +59 -0
  248. package/dist/cjs/ion-gallery.cjs.entry.js +608 -0
  249. package/dist/cjs/ion-img.cjs.entry.js +9 -4
  250. package/dist/cjs/ion-infinite-scroll_2.cjs.entry.js +91 -16
  251. package/dist/cjs/ion-input-otp.cjs.entry.js +74 -9
  252. package/dist/cjs/ion-input-password-toggle.cjs.entry.js +42 -14
  253. package/dist/cjs/ion-input.cjs.entry.js +143 -38
  254. package/dist/cjs/ion-item-option_3.cjs.entry.js +466 -52
  255. package/dist/cjs/ion-item_8.cjs.entry.js +118 -51
  256. package/dist/cjs/ion-loading.cjs.entry.js +33 -28
  257. package/dist/cjs/ion-menu_3.cjs.entry.js +53 -35
  258. package/dist/cjs/ion-modal.cjs.entry.js +285 -157
  259. package/dist/cjs/ion-nav_2.cjs.entry.js +14 -10
  260. package/dist/cjs/ion-picker-column-option.cjs.entry.js +13 -8
  261. package/dist/cjs/ion-picker-column.cjs.entry.js +17 -15
  262. package/dist/cjs/ion-picker.cjs.entry.js +11 -6
  263. package/dist/cjs/ion-popover.cjs.entry.js +33 -28
  264. package/dist/cjs/ion-progress-bar.cjs.entry.js +28 -9
  265. package/dist/cjs/ion-radio_2.cjs.entry.js +37 -18
  266. package/dist/cjs/ion-range.cjs.entry.js +21 -13
  267. package/dist/cjs/ion-refresher_2.cjs.entry.js +45 -20
  268. package/dist/cjs/ion-reorder_2.cjs.entry.js +31 -13
  269. package/dist/cjs/ion-ripple-effect.cjs.entry.js +16 -7
  270. package/dist/cjs/ion-route_4.cjs.entry.js +12 -10
  271. package/dist/cjs/ion-searchbar.cjs.entry.js +118 -32
  272. package/dist/cjs/ion-segment-content.cjs.entry.js +2 -2
  273. package/dist/cjs/ion-segment-view.cjs.entry.js +13 -3
  274. package/dist/cjs/ion-segment_2.cjs.entry.js +24 -16
  275. package/dist/cjs/ion-select-modal.cjs.entry.js +54 -25
  276. package/dist/cjs/ion-select_3.cjs.entry.js +199 -81
  277. package/dist/cjs/ion-spinner.cjs.entry.js +31 -8
  278. package/dist/cjs/ion-split-pane.cjs.entry.js +14 -9
  279. package/dist/cjs/ion-tab-bar_2.cjs.entry.js +150 -27
  280. package/dist/cjs/ion-tab_2.cjs.entry.js +9 -7
  281. package/dist/cjs/ion-text.cjs.entry.js +8 -7
  282. package/dist/cjs/ion-textarea.cjs.entry.js +242 -33
  283. package/dist/cjs/ion-toast.cjs.entry.js +86 -57
  284. package/dist/cjs/ion-toggle.cjs.entry.js +67 -25
  285. package/dist/cjs/ionic-global-BKBeko9D.js +518 -0
  286. package/dist/cjs/ionic.cjs.js +5 -4
  287. package/dist/cjs/{ios.transition-YFSxiyP_.js → ios.transition-EQ8LtRHj.js} +7 -4
  288. package/dist/cjs/{item-multiple-inputs-h2PyAFzG.js → item-multiple-inputs-Wc71a2xi.js} +1 -1
  289. package/dist/cjs/{keyboard-Cv-LNReK.js → keyboard-Cix5TVkD.js} +3 -5
  290. package/dist/cjs/{keyboard-C-C7xMKk.js → keyboard-cHxZlTyz.js} +1 -1
  291. package/dist/cjs/loader.cjs.js +5 -4
  292. package/dist/cjs/{md.transition-Cm8yg0UK.js → md.transition-By9Fre6y.js} +6 -4
  293. package/dist/cjs/{overlay-control-label-D2sdL2O8.js → overlay-control-label-DnRLQR1t.js} +13 -11
  294. package/dist/cjs/{overlays-C68wNDWY.js → overlays-Ch6nAoha.js} +309 -138
  295. package/dist/cjs/scroll-hide-controller-BwW-NV0Z.js +345 -0
  296. package/dist/cjs/{select-option-render-C-Yh9yZG.js → select-option-render-BmpnIokj.js} +2 -2
  297. package/dist/cjs/{slot-mutation-controller-zixZ5LyH.js → slot-mutation-controller-C7nTDVzj.js} +5 -4
  298. package/dist/cjs/{status-tap-C3frTJ4c.js → status-tap-Dw87jmOD.js} +5 -3
  299. package/dist/cjs/{swipe-back-BigumsQ1.js → swipe-back-BXYzN9QG.js} +4 -2
  300. package/dist/cjs/{theme-Bw0rpaNN.js → theme-Cy4joHPt.js} +25 -1
  301. package/dist/cjs/validity-CoPMWggj.js +51 -0
  302. package/dist/collection/collection-manifest.json +8 -0
  303. package/dist/collection/components/accordion/accordion.ionic.css +199 -0
  304. package/dist/collection/components/accordion/accordion.ios.css +73 -58
  305. package/dist/collection/components/accordion/accordion.js +36 -27
  306. package/dist/collection/components/accordion/accordion.md.css +67 -59
  307. package/dist/collection/components/accordion-group/accordion-group.ionic.css +93 -0
  308. package/dist/collection/components/accordion-group/accordion-group.ios.css +16 -4
  309. package/dist/collection/components/accordion-group/accordion-group.js +44 -8
  310. package/dist/collection/components/accordion-group/accordion-group.md.css +22 -4
  311. package/dist/collection/components/action-sheet/action-sheet.ionic.css +490 -0
  312. package/dist/collection/components/action-sheet/action-sheet.ios.css +184 -54
  313. package/dist/collection/components/action-sheet/action-sheet.js +16 -13
  314. package/dist/collection/components/action-sheet/action-sheet.md.css +179 -55
  315. package/dist/collection/components/alert/alert.ionic.css +779 -0
  316. package/dist/collection/components/alert/alert.ios.css +247 -54
  317. package/dist/collection/components/alert/alert.js +22 -19
  318. package/dist/collection/components/alert/alert.md.css +243 -56
  319. package/dist/collection/components/app/app.js +15 -83
  320. package/dist/collection/components/avatar/avatar.ionic.css +379 -0
  321. package/dist/collection/components/avatar/avatar.ios.css +7 -33
  322. package/dist/collection/components/avatar/avatar.js +120 -4
  323. package/dist/collection/components/avatar/avatar.md.css +51 -0
  324. package/dist/collection/components/back-button/back-button.ios.css +60 -48
  325. package/dist/collection/components/back-button/back-button.js +26 -20
  326. package/dist/collection/components/back-button/back-button.md.css +60 -48
  327. package/dist/collection/components/backdrop/backdrop.ionic.css +109 -0
  328. package/dist/collection/components/backdrop/backdrop.ios.css +56 -19
  329. package/dist/collection/components/backdrop/backdrop.js +12 -6
  330. package/dist/collection/components/backdrop/backdrop.md.css +56 -19
  331. package/dist/collection/components/badge/badge.ionic.css +269 -0
  332. package/dist/collection/components/badge/badge.ios.css +137 -12
  333. package/dist/collection/components/badge/badge.js +143 -9
  334. package/dist/collection/components/badge/badge.md.css +122 -12
  335. package/dist/collection/components/breadcrumb/breadcrumb.ios.css +20 -8
  336. package/dist/collection/components/breadcrumb/breadcrumb.js +31 -11
  337. package/dist/collection/components/breadcrumb/breadcrumb.md.css +20 -8
  338. package/dist/collection/components/breadcrumbs/breadcrumbs.ios.css +6 -0
  339. package/dist/collection/components/breadcrumbs/breadcrumbs.js +11 -9
  340. package/dist/collection/components/breadcrumbs/breadcrumbs.md.css +6 -0
  341. package/dist/collection/components/button/button.ionic.css +640 -0
  342. package/dist/collection/components/button/button.ios.css +154 -46
  343. package/dist/collection/components/button/button.js +63 -27
  344. package/dist/collection/components/button/button.md.css +150 -50
  345. package/dist/collection/components/buttons/buttons.ionic.css +97 -0
  346. package/dist/collection/components/buttons/buttons.ios.css +59 -7
  347. package/dist/collection/components/buttons/buttons.js +15 -9
  348. package/dist/collection/components/buttons/buttons.md.css +55 -3
  349. package/dist/collection/components/card/card.ionic.css +144 -0
  350. package/dist/collection/components/card/card.ios.css +65 -14
  351. package/dist/collection/components/card/card.js +41 -10
  352. package/dist/collection/components/card/card.md.css +65 -14
  353. package/dist/collection/components/card-content/card-content.ionic.css +88 -0
  354. package/dist/collection/components/card-content/card-content.ios.css +20 -35
  355. package/dist/collection/components/card-content/card-content.js +12 -10
  356. package/dist/collection/components/card-content/card-content.md.css +20 -35
  357. package/dist/collection/components/card-header/card-header.ionic.css +85 -0
  358. package/dist/collection/components/card-header/card-header.ios.css +27 -15
  359. package/dist/collection/components/card-header/card-header.js +13 -10
  360. package/dist/collection/components/card-header/card-header.md.css +27 -15
  361. package/dist/collection/components/card-subtitle/card-subtitle.ionic.css +143 -0
  362. package/dist/collection/components/card-subtitle/card-subtitle.ios.css +12 -0
  363. package/dist/collection/components/card-subtitle/card-subtitle.js +11 -8
  364. package/dist/collection/components/card-subtitle/card-subtitle.md.css +12 -0
  365. package/dist/collection/components/card-title/card-title.ios.css +73 -0
  366. package/dist/collection/components/card-title/card-title.js +11 -8
  367. package/dist/collection/components/card-title/card-title.md.css +73 -0
  368. package/dist/collection/components/checkbox/checkbox.ionic.css +535 -0
  369. package/dist/collection/components/checkbox/checkbox.ios.css +244 -115
  370. package/dist/collection/components/checkbox/checkbox.js +80 -15
  371. package/dist/collection/components/checkbox/checkbox.md.css +245 -116
  372. package/dist/collection/components/chip/chip.ionic.css +216 -0
  373. package/dist/collection/components/chip/chip.ios.css +67 -14
  374. package/dist/collection/components/chip/chip.js +108 -8
  375. package/dist/collection/components/chip/chip.md.css +67 -14
  376. package/dist/collection/components/col/col.css +192 -4
  377. package/dist/collection/components/col/col.js +211 -66
  378. package/dist/collection/components/content/content.css +47 -2
  379. package/dist/collection/components/content/content.js +16 -11
  380. package/dist/collection/components/datetime/datetime.ionic.css +697 -0
  381. package/dist/collection/components/datetime/datetime.ios.css +305 -114
  382. package/dist/collection/components/datetime/datetime.js +61 -20
  383. package/dist/collection/components/datetime/datetime.md.css +295 -103
  384. package/dist/collection/components/datetime/utils/data.js +5 -5
  385. package/dist/collection/components/datetime-button/datetime-button.ios.css +6 -0
  386. package/dist/collection/components/datetime-button/datetime-button.js +11 -8
  387. package/dist/collection/components/datetime-button/datetime-button.md.css +6 -0
  388. package/dist/collection/components/divider/divider.ionic.css +148 -0
  389. package/dist/collection/components/divider/divider.ios.css +87 -0
  390. package/dist/collection/components/divider/divider.js +94 -0
  391. package/dist/collection/components/divider/divider.md.css +87 -0
  392. package/dist/collection/components/fab/fab.css +25 -1
  393. package/dist/collection/components/fab/fab.js +9 -5
  394. package/dist/collection/components/fab-button/fab-button.ios.css +18 -6
  395. package/dist/collection/components/fab-button/fab-button.js +31 -21
  396. package/dist/collection/components/fab-button/fab-button.md.css +20 -8
  397. package/dist/collection/components/fab-list/fab-list.css +12 -0
  398. package/dist/collection/components/fab-list/fab-list.js +9 -5
  399. package/dist/collection/components/footer/footer-interface.js +1 -0
  400. package/dist/collection/components/footer/footer.ios.css +33 -6
  401. package/dist/collection/components/footer/footer.js +117 -25
  402. package/dist/collection/components/footer/footer.md.css +40 -0
  403. package/dist/collection/components/gallery/gallery-constants.js +12 -0
  404. package/dist/collection/components/gallery/gallery-interface.js +1 -0
  405. package/dist/collection/components/gallery/gallery.css +15 -0
  406. package/dist/collection/components/gallery/gallery.js +678 -0
  407. package/dist/collection/components/gallery/test/utils.js +100 -0
  408. package/dist/collection/components/gallery-item/gallery-item.css +49 -0
  409. package/dist/collection/components/gallery-item/gallery-item.js +98 -0
  410. package/dist/collection/components/grid/grid.css +12 -0
  411. package/dist/collection/components/grid/grid.js +9 -5
  412. package/dist/collection/components/header/header-interface.js +1 -0
  413. package/dist/collection/components/header/header.ionic.css +286 -0
  414. package/dist/collection/components/header/header.ios.css +178 -133
  415. package/dist/collection/components/header/header.js +180 -39
  416. package/dist/collection/components/header/header.md.css +199 -9
  417. package/dist/collection/components/header/header.utils.js +5 -13
  418. package/dist/collection/components/img/img.js +7 -2
  419. package/dist/collection/components/infinite-scroll/infinite-scroll.js +99 -5
  420. package/dist/collection/components/infinite-scroll-content/infinite-scroll-content.ios.css +12 -0
  421. package/dist/collection/components/infinite-scroll-content/infinite-scroll-content.js +16 -10
  422. package/dist/collection/components/infinite-scroll-content/infinite-scroll-content.md.css +12 -0
  423. package/dist/collection/components/input/input.ionic.css +957 -0
  424. package/dist/collection/components/input/input.ios.css +254 -160
  425. package/dist/collection/components/input/input.js +168 -44
  426. package/dist/collection/components/input/input.md.css +224 -232
  427. package/dist/collection/components/input-otp/input-otp.ionic.css +369 -0
  428. package/dist/collection/components/input-otp/input-otp.ios.css +105 -60
  429. package/dist/collection/components/input-otp/input-otp.js +73 -7
  430. package/dist/collection/components/input-otp/input-otp.md.css +105 -60
  431. package/dist/collection/components/input-password-toggle/input-password-toggle.ionic.css +78 -0
  432. package/dist/collection/components/input-password-toggle/input-password-toggle.js +37 -10
  433. package/dist/collection/components/input-password-toggle/input-password-toggle.native.css +61 -0
  434. package/dist/collection/components/item/item.ionic.css +495 -0
  435. package/dist/collection/components/item/item.ios.css +120 -80
  436. package/dist/collection/components/item/item.js +51 -21
  437. package/dist/collection/components/item/item.md.css +131 -79
  438. package/dist/collection/components/item-divider/item-divider.ios.css +18 -0
  439. package/dist/collection/components/item-divider/item-divider.js +11 -8
  440. package/dist/collection/components/item-divider/item-divider.md.css +18 -0
  441. package/dist/collection/components/item-group/item-group.ios.css +12 -0
  442. package/dist/collection/components/item-group/item-group.js +13 -7
  443. package/dist/collection/components/item-group/item-group.md.css +12 -0
  444. package/dist/collection/components/item-option/item-option.ionic.css +276 -0
  445. package/dist/collection/components/item-option/item-option.ios.css +136 -29
  446. package/dist/collection/components/item-option/item-option.js +73 -9
  447. package/dist/collection/components/item-option/item-option.md.css +136 -29
  448. package/dist/collection/components/item-options/item-options.ionic.css +221 -0
  449. package/dist/collection/components/item-options/item-options.ios.css +77 -34
  450. package/dist/collection/components/item-options/item-options.js +13 -7
  451. package/dist/collection/components/item-options/item-options.md.css +77 -34
  452. package/dist/collection/components/item-sliding/item-sliding.ionic.css +211 -0
  453. package/dist/collection/components/item-sliding/item-sliding.js +419 -35
  454. package/dist/collection/components/item-sliding/{item-sliding.css → item-sliding.native.css} +84 -9
  455. package/dist/collection/components/item-sliding/test/test.utils.js +13 -0
  456. package/dist/collection/components/label/label.ios.css +18 -0
  457. package/dist/collection/components/label/label.js +11 -8
  458. package/dist/collection/components/label/label.md.css +18 -0
  459. package/dist/collection/components/list/list.ionic.css +212 -0
  460. package/dist/collection/components/list/list.ios.css +54 -14
  461. package/dist/collection/components/list/list.js +48 -9
  462. package/dist/collection/components/list/list.md.css +56 -16
  463. package/dist/collection/components/list-header/list-header.ionic.css +189 -0
  464. package/dist/collection/components/list-header/list-header.ios.css +82 -38
  465. package/dist/collection/components/list-header/list-header.js +11 -8
  466. package/dist/collection/components/list-header/list-header.md.css +82 -38
  467. package/dist/collection/components/loading/loading.ios.css +13 -1
  468. package/dist/collection/components/loading/loading.js +15 -12
  469. package/dist/collection/components/loading/loading.md.css +13 -1
  470. package/dist/collection/components/menu/menu.ios.css +15 -3
  471. package/dist/collection/components/menu/menu.js +12 -7
  472. package/dist/collection/components/menu/menu.md.css +15 -3
  473. package/dist/collection/components/menu-button/menu-button.ionic.css +236 -0
  474. package/dist/collection/components/menu-button/menu-button.ios.css +48 -14
  475. package/dist/collection/components/menu-button/menu-button.js +23 -10
  476. package/dist/collection/components/menu-button/menu-button.md.css +49 -15
  477. package/dist/collection/components/menu-toggle/menu-toggle.js +8 -5
  478. package/dist/collection/components/modal/animations/ionic.enter.js +40 -0
  479. package/dist/collection/components/modal/animations/ionic.leave.js +28 -0
  480. package/dist/collection/components/modal/animations/sheet.js +8 -2
  481. package/dist/collection/components/modal/gestures/sheet.js +76 -10
  482. package/dist/collection/components/modal/modal.ionic.css +266 -0
  483. package/dist/collection/components/modal/modal.ios.css +178 -70
  484. package/dist/collection/components/modal/modal.js +52 -13
  485. package/dist/collection/components/modal/modal.md.css +178 -70
  486. package/dist/collection/components/nav/nav.css +7 -1
  487. package/dist/collection/components/nav/nav.js +10 -4
  488. package/dist/collection/components/nav-link/nav-link.js +5 -1
  489. package/dist/collection/components/note/note.ios.css +12 -0
  490. package/dist/collection/components/note/note.js +11 -8
  491. package/dist/collection/components/note/note.md.css +12 -0
  492. package/dist/collection/components/picker/picker.ios.css +15 -3
  493. package/dist/collection/components/picker/picker.js +8 -5
  494. package/dist/collection/components/picker/picker.md.css +15 -3
  495. package/dist/collection/components/picker-column/picker-column.css +9 -2
  496. package/dist/collection/components/picker-column/picker-column.js +8 -7
  497. package/dist/collection/components/picker-column-option/picker-column-option.ios.css +6 -0
  498. package/dist/collection/components/picker-column-option/picker-column-option.js +13 -7
  499. package/dist/collection/components/picker-column-option/picker-column-option.md.css +6 -0
  500. package/dist/collection/components/popover/popover.ionic.css +289 -0
  501. package/dist/collection/components/popover/popover.ios.css +13 -1
  502. package/dist/collection/components/popover/popover.js +19 -16
  503. package/dist/collection/components/popover/popover.md.css +13 -1
  504. package/dist/collection/components/progress-bar/progress-bar.ionic.css +287 -0
  505. package/dist/collection/components/progress-bar/progress-bar.ios.css +48 -17
  506. package/dist/collection/components/progress-bar/progress-bar.js +43 -7
  507. package/dist/collection/components/progress-bar/progress-bar.md.css +48 -17
  508. package/dist/collection/components/radio/radio.ionic.css +421 -0
  509. package/dist/collection/components/radio/radio.ios.css +207 -102
  510. package/dist/collection/components/radio/radio.js +14 -9
  511. package/dist/collection/components/radio/radio.md.css +207 -102
  512. package/dist/collection/components/radio-group/radio-group.ionic.css +118 -0
  513. package/dist/collection/components/radio-group/radio-group.ios.css +43 -19
  514. package/dist/collection/components/radio-group/radio-group.js +48 -7
  515. package/dist/collection/components/radio-group/radio-group.md.css +43 -19
  516. package/dist/collection/components/range/range.ionic.css +566 -0
  517. package/dist/collection/components/range/range.ios.css +128 -85
  518. package/dist/collection/components/range/range.js +16 -10
  519. package/dist/collection/components/range/range.md.css +128 -85
  520. package/dist/collection/components/refresher/refresher.ios.css +14 -1
  521. package/dist/collection/components/refresher/refresher.js +11 -8
  522. package/dist/collection/components/refresher/refresher.md.css +15 -2
  523. package/dist/collection/components/refresher-content/refresher-content.js +34 -7
  524. package/dist/collection/components/reorder/reorder.ios.css +6 -0
  525. package/dist/collection/components/reorder/reorder.js +25 -6
  526. package/dist/collection/components/reorder/reorder.md.css +6 -0
  527. package/dist/collection/components/reorder-group/reorder-group.css +6 -0
  528. package/dist/collection/components/reorder-group/reorder-group.js +8 -4
  529. package/dist/collection/components/ripple-effect/{ripple-effect.css → ripple-effect.common.css} +7 -1
  530. package/dist/collection/components/ripple-effect/ripple-effect.ionic.css +215 -0
  531. package/dist/collection/components/ripple-effect/ripple-effect.js +14 -6
  532. package/dist/collection/components/route/route.js +4 -0
  533. package/dist/collection/components/router/router.js +4 -0
  534. package/dist/collection/components/router-link/router-link.css +8 -2
  535. package/dist/collection/components/router-link/router-link.js +9 -5
  536. package/dist/collection/components/router-outlet/router-outlet.css +7 -1
  537. package/dist/collection/components/router-outlet/router-outlet.js +6 -3
  538. package/dist/collection/components/row/row.css +16 -0
  539. package/dist/collection/components/row/row.js +9 -2
  540. package/dist/collection/components/searchbar/searchbar.ionic.css +621 -0
  541. package/dist/collection/components/searchbar/searchbar.ios.css +56 -18
  542. package/dist/collection/components/searchbar/searchbar.js +164 -42
  543. package/dist/collection/components/searchbar/searchbar.md.css +56 -18
  544. package/dist/collection/components/segment/segment.ionic.css +115 -0
  545. package/dist/collection/components/segment/segment.ios.css +45 -2
  546. package/dist/collection/components/segment/segment.js +11 -8
  547. package/dist/collection/components/segment/segment.md.css +45 -2
  548. package/dist/collection/components/segment-button/segment-button.ionic.css +351 -0
  549. package/dist/collection/components/segment-button/segment-button.ios.css +146 -105
  550. package/dist/collection/components/segment-button/segment-button.js +11 -8
  551. package/dist/collection/components/segment-button/segment-button.md.css +148 -107
  552. package/dist/collection/components/segment-content/segment-content.js +1 -1
  553. package/dist/collection/components/segment-view/segment-view.ios.css +6 -0
  554. package/dist/collection/components/segment-view/segment-view.js +13 -4
  555. package/dist/collection/components/segment-view/segment-view.md.css +6 -0
  556. package/dist/collection/components/select/select.ionic.css +972 -0
  557. package/dist/collection/components/select/select.ios.css +300 -148
  558. package/dist/collection/components/select/select.js +228 -82
  559. package/dist/collection/components/select/select.md.css +316 -150
  560. package/dist/collection/components/select-modal/select-modal.ionic.css +254 -0
  561. package/dist/collection/components/select-modal/select-modal.ios.css +293 -45
  562. package/dist/collection/components/select-modal/select-modal.js +63 -15
  563. package/dist/collection/components/select-modal/select-modal.md.css +273 -43
  564. package/dist/collection/components/select-option/select-option.js +8 -4
  565. package/dist/collection/components/select-popover/select-popover.ionic.css +253 -0
  566. package/dist/collection/components/select-popover/select-popover.ios.css +188 -124
  567. package/dist/collection/components/select-popover/select-popover.js +17 -9
  568. package/dist/collection/components/select-popover/select-popover.md.css +228 -47
  569. package/dist/collection/components/skeleton-text/skeleton-text.css +6 -0
  570. package/dist/collection/components/skeleton-text/skeleton-text.js +9 -5
  571. package/dist/collection/components/spinner/{spinner.css → spinner.ionic.css} +78 -10
  572. package/dist/collection/components/spinner/spinner.js +47 -6
  573. package/dist/collection/components/spinner/spinner.native.css +199 -0
  574. package/dist/collection/components/split-pane/split-pane.ios.css +20 -2
  575. package/dist/collection/components/split-pane/split-pane.js +15 -8
  576. package/dist/collection/components/split-pane/split-pane.md.css +20 -2
  577. package/dist/collection/components/tab/tab.js +6 -2
  578. package/dist/collection/components/tab-bar/tab-bar.ionic.css +249 -0
  579. package/dist/collection/components/tab-bar/tab-bar.ios.css +86 -43
  580. package/dist/collection/components/tab-bar/tab-bar.js +178 -15
  581. package/dist/collection/components/tab-bar/tab-bar.md.css +86 -43
  582. package/dist/collection/components/tab-button/tab-button.ionic.css +372 -0
  583. package/dist/collection/components/tab-button/tab-button.ios.css +171 -95
  584. package/dist/collection/components/tab-button/tab-button.js +54 -9
  585. package/dist/collection/components/tab-button/tab-button.md.css +137 -93
  586. package/dist/collection/components/tabs/tabs.css +7 -1
  587. package/dist/collection/components/tabs/tabs.js +4 -1
  588. package/dist/collection/components/text/text.css +6 -0
  589. package/dist/collection/components/text/text.js +7 -6
  590. package/dist/collection/components/textarea/textarea.ionic.css +989 -0
  591. package/dist/collection/components/textarea/textarea.ios.css +318 -170
  592. package/dist/collection/components/textarea/textarea.js +270 -45
  593. package/dist/collection/components/textarea/textarea.md.css +332 -171
  594. package/dist/collection/components/thumbnail/thumbnail.css +6 -0
  595. package/dist/collection/components/thumbnail/thumbnail.js +9 -2
  596. package/dist/collection/components/title/title.ionic.css +125 -0
  597. package/dist/collection/components/title/title.ios.css +32 -4
  598. package/dist/collection/components/title/title.js +13 -7
  599. package/dist/collection/components/title/title.md.css +39 -4
  600. package/dist/collection/components/toast/animations/utils.js +1 -1
  601. package/dist/collection/components/toast/toast.ionic.css +391 -0
  602. package/dist/collection/components/toast/toast.ios.css +84 -45
  603. package/dist/collection/components/toast/toast.js +79 -13
  604. package/dist/collection/components/toast/toast.md.css +84 -45
  605. package/dist/collection/components/toggle/toggle.ionic.css +510 -0
  606. package/dist/collection/components/toggle/toggle.ios.css +247 -127
  607. package/dist/collection/components/toggle/toggle.js +58 -18
  608. package/dist/collection/components/toggle/toggle.md.css +245 -127
  609. package/dist/collection/components/toolbar/test/image.svg +1 -0
  610. package/dist/collection/components/toolbar/toolbar.ionic.css +249 -0
  611. package/dist/collection/components/toolbar/toolbar.ios.css +90 -47
  612. package/dist/collection/components/toolbar/toolbar.js +216 -14
  613. package/dist/collection/components/toolbar/toolbar.md.css +90 -47
  614. package/dist/collection/global/ionic-global.js +239 -13
  615. package/dist/collection/utils/css-value-validation.js +39 -0
  616. package/dist/collection/utils/focus-trap.js +15 -4
  617. package/dist/collection/utils/focus-visible.js +73 -2
  618. package/dist/collection/utils/forms/clear-button-press-controller.js +40 -0
  619. package/dist/collection/utils/forms/index.js +1 -0
  620. package/dist/collection/utils/forms/validity.js +31 -0
  621. package/dist/collection/utils/framework-delegate.js +3 -1
  622. package/dist/collection/utils/hardware-back-button.js +15 -0
  623. package/dist/collection/utils/helpers.js +84 -3
  624. package/dist/collection/utils/keyboard/keyboard-controller.js +3 -1
  625. package/dist/collection/utils/media.js +1 -0
  626. package/dist/collection/utils/menu-controller/animations/overlay.js +3 -3
  627. package/dist/collection/utils/menu-controller/animations/push.js +2 -1
  628. package/dist/collection/utils/menu-controller/animations/reveal.js +2 -1
  629. package/dist/collection/utils/overlay-control-label.js +13 -11
  630. package/dist/collection/utils/overlays.js +289 -10
  631. package/dist/collection/utils/scroll-hide-controller.js +178 -0
  632. package/dist/collection/utils/test/playwright/drag-element.js +32 -9
  633. package/dist/collection/utils/test/playwright/field-geometry.js +34 -0
  634. package/dist/collection/utils/test/playwright/generator.js +48 -23
  635. package/dist/collection/utils/test/playwright/index.js +1 -0
  636. package/dist/collection/utils/test/playwright/page/utils/goto.js +10 -1
  637. package/dist/collection/utils/test/playwright/page/utils/set-content.js +26 -3
  638. package/dist/collection/utils/theme.js +25 -1
  639. package/dist/collection/utils/transition/ios.transition.js +1 -0
  640. package/dist/docs.json +8890 -300
  641. package/dist/esm/{animation-CFd8Olt3.js → animation-BYhTNLb0.js} +2 -2
  642. package/dist/esm/{app-globals-7GHLBkwd.js → app-globals-DwKMi0nT.js} +1 -1
  643. package/dist/esm/{attribute-controller-Cn665x42.js → attribute-controller-DSgMe9D8.js} +2 -1
  644. package/dist/esm/{button-active-DMuYeDQN.js → button-active-z7D6HahS.js} +2 -2
  645. package/dist/esm/{capacitor-CoEgIpR9.js → capacitor-CFERIeaU.js} +1 -1
  646. package/dist/esm/clear-button-press-controller-6ph4kKYn.js +43 -0
  647. package/dist/esm/focus-visible-BYk20Mf5.js +146 -0
  648. package/dist/esm/{format-C9zPmwKU.js → format-Bzx6ja8X.js} +1 -1
  649. package/dist/esm/{framework-delegate-DeT5pmPB.js → framework-delegate-1jBLyhBr.js} +4 -2
  650. package/dist/esm/{haptic-Dxm7ZmT5.js → haptic-Cq4UAeka.js} +1 -1
  651. package/dist/esm/{helpers-B54ynME_.js → helpers-DxiyEiQq.js} +86 -8
  652. package/dist/esm/{index-D_xZtbw6.js → index-3qJiaSN_.js} +4 -2
  653. package/dist/esm/{index-D4ZMZz_3.js → index-BOBjcNAK.js} +1 -1
  654. package/dist/esm/{index-BvabGprD.js → index-BkJpfpXI.js} +2 -1
  655. package/dist/esm/{index-B8iieOdw.js → index-BrTerDOH.js} +4 -4
  656. package/dist/esm/{index-D9OR05yj.js → index-CsxpVq9f.js} +53 -4
  657. package/dist/esm/{index--21qeSt0.js → index-D0-93AmS.js} +2 -2
  658. package/dist/esm/{index-B9jhwvmO.js → index-LPo3JBab.js} +12 -10
  659. package/dist/esm/index-ZjP4CjeZ.js +7 -0
  660. package/dist/esm/index.js +14 -12
  661. package/dist/esm/{input-shims-MCrhq67U.js → input-shims-HqimWtEw.js} +7 -5
  662. package/dist/esm/{input.utils-B-IIWrwT.js → input.utils-BQE7ESFW.js} +1 -1
  663. package/dist/esm/ion-accordion_2.entry.js +57 -29
  664. package/dist/esm/ion-action-sheet.entry.js +27 -22
  665. package/dist/esm/ion-alert.entry.js +34 -29
  666. package/dist/esm/ion-app_8.entry.js +455 -193
  667. package/dist/esm/ion-avatar_3.entry.js +124 -13
  668. package/dist/esm/ion-back-button.entry.js +31 -23
  669. package/dist/esm/ion-backdrop.entry.js +11 -7
  670. package/dist/esm/ion-breadcrumb_2.entry.js +42 -18
  671. package/dist/esm/ion-button_2.entry.js +61 -23
  672. package/dist/esm/ion-card_5.entry.js +57 -34
  673. package/dist/esm/ion-checkbox.entry.js +43 -17
  674. package/dist/esm/ion-chip.entry.js +51 -9
  675. package/dist/esm/ion-col_3.entry.js +57 -62
  676. package/dist/esm/ion-datetime-button.entry.js +14 -9
  677. package/dist/esm/ion-datetime.entry.js +74 -32
  678. package/dist/esm/ion-divider.entry.js +50 -0
  679. package/dist/esm/ion-fab_3.entry.js +40 -28
  680. package/dist/esm/ion-gallery-item.entry.js +57 -0
  681. package/dist/esm/ion-gallery.entry.js +606 -0
  682. package/dist/esm/ion-img.entry.js +9 -4
  683. package/dist/esm/ion-infinite-scroll_2.entry.js +91 -16
  684. package/dist/esm/ion-input-otp.entry.js +74 -9
  685. package/dist/esm/ion-input-password-toggle.entry.js +42 -14
  686. package/dist/esm/ion-input.entry.js +143 -38
  687. package/dist/esm/ion-item-option_3.entry.js +466 -52
  688. package/dist/esm/ion-item_8.entry.js +118 -51
  689. package/dist/esm/ion-loading.entry.js +22 -17
  690. package/dist/esm/ion-menu_3.entry.js +45 -27
  691. package/dist/esm/ion-modal.entry.js +218 -90
  692. package/dist/esm/ion-nav_2.entry.js +14 -10
  693. package/dist/esm/ion-picker-column-option.entry.js +13 -8
  694. package/dist/esm/ion-picker-column.entry.js +14 -12
  695. package/dist/esm/ion-picker.entry.js +11 -6
  696. package/dist/esm/ion-popover.entry.js +23 -18
  697. package/dist/esm/ion-progress-bar.entry.js +28 -9
  698. package/dist/esm/ion-radio_2.entry.js +37 -18
  699. package/dist/esm/ion-range.entry.js +21 -13
  700. package/dist/esm/ion-refresher_2.entry.js +45 -20
  701. package/dist/esm/ion-reorder_2.entry.js +31 -13
  702. package/dist/esm/ion-ripple-effect.entry.js +16 -7
  703. package/dist/esm/ion-route_4.entry.js +12 -10
  704. package/dist/esm/ion-searchbar.entry.js +118 -32
  705. package/dist/esm/ion-segment-content.entry.js +2 -2
  706. package/dist/esm/ion-segment-view.entry.js +13 -3
  707. package/dist/esm/ion-segment_2.entry.js +24 -16
  708. package/dist/esm/ion-select-modal.entry.js +53 -24
  709. package/dist/esm/ion-select_3.entry.js +194 -76
  710. package/dist/esm/ion-spinner.entry.js +31 -8
  711. package/dist/esm/ion-split-pane.entry.js +14 -9
  712. package/dist/esm/ion-tab-bar_2.entry.js +149 -26
  713. package/dist/esm/ion-tab_2.entry.js +9 -7
  714. package/dist/esm/ion-text.entry.js +8 -7
  715. package/dist/esm/ion-textarea.entry.js +242 -33
  716. package/dist/esm/ion-toast.entry.js +48 -19
  717. package/dist/esm/ion-toggle.entry.js +67 -25
  718. package/dist/esm/ionic-global-BAIaPRGU.js +509 -0
  719. package/dist/esm/ionic.js +6 -5
  720. package/dist/esm/{ios.transition-CRfGj4Mo.js → ios.transition-BN0AUjKH.js} +7 -4
  721. package/dist/esm/{item-multiple-inputs-BSD9wGHO.js → item-multiple-inputs-f3Vz153y.js} +1 -1
  722. package/dist/esm/{keyboard-DDw62P0D.js → keyboard-Cj8mLJeq.js} +3 -5
  723. package/dist/esm/{keyboard-ly3M0GO7.js → keyboard-DAF8GNJ9.js} +1 -1
  724. package/dist/esm/loader.js +6 -5
  725. package/dist/esm/{md.transition-wqThNy_C.js → md.transition-BZ3TWMK6.js} +6 -4
  726. package/dist/esm/{overlay-control-label-BSQPZ79H.js → overlay-control-label-CODBQrPj.js} +13 -11
  727. package/dist/esm/{overlays-BQnV0HAU.js → overlays-CLqEprTi.js} +307 -133
  728. package/dist/esm/scroll-hide-controller-m-39_CyK.js +342 -0
  729. package/dist/esm/{select-option-render-CGxPejmz.js → select-option-render-CDyG_Ujc.js} +2 -2
  730. package/dist/esm/{slot-mutation-controller-C3s4-_YN.js → slot-mutation-controller-DXsogmcJ.js} +2 -1
  731. package/dist/esm/{status-tap-DRx9wSD_.js → status-tap-BzPUcwpI.js} +5 -3
  732. package/dist/esm/{swipe-back-Ch3UU_US.js → swipe-back-D8sqbjOf.js} +4 -2
  733. package/dist/esm/{theme-byZM6qHV.js → theme-BUF_V-Kg.js} +25 -1
  734. package/dist/esm/validity-NcQUGze-.js +48 -0
  735. package/dist/html.html-data.json +2631 -150
  736. package/dist/ionic/index.esm.js +1 -1
  737. package/dist/ionic/ionic.esm.js +1 -1
  738. package/dist/ionic/p-00e5052e.entry.js +4 -0
  739. package/dist/ionic/p-0cb3bf40.entry.js +4 -0
  740. package/dist/ionic/p-0cb9a213.entry.js +4 -0
  741. package/dist/ionic/p-10d11d15.entry.js +4 -0
  742. package/dist/ionic/p-1c2af758.entry.js +4 -0
  743. package/dist/ionic/p-1cd8acc1.entry.js +4 -0
  744. package/dist/ionic/p-1e11cfe6.entry.js +4 -0
  745. package/dist/ionic/p-1e13dfa6.entry.js +4 -0
  746. package/dist/ionic/p-2da8417a.entry.js +4 -0
  747. package/dist/ionic/p-30643dd0.entry.js +4 -0
  748. package/dist/ionic/p-3246c8db.entry.js +4 -0
  749. package/dist/ionic/p-335f6ac5.entry.js +4 -0
  750. package/dist/ionic/p-3636e449.entry.js +4 -0
  751. package/dist/ionic/p-3c073e44.entry.js +4 -0
  752. package/dist/ionic/p-3f78fbb9.entry.js +4 -0
  753. package/dist/ionic/p-473f56d0.entry.js +4 -0
  754. package/dist/ionic/p-4ce892d6.entry.js +4 -0
  755. package/dist/ionic/p-4d824bdd.entry.js +4 -0
  756. package/dist/ionic/p-57a084b1.entry.js +4 -0
  757. package/dist/ionic/p-5dfc15b7.entry.js +4 -0
  758. package/dist/ionic/p-5e4eec2e.entry.js +4 -0
  759. package/dist/ionic/p-67d0f149.entry.js +4 -0
  760. package/dist/ionic/p-6d48ce72.entry.js +4 -0
  761. package/dist/ionic/p-78963796.entry.js +4 -0
  762. package/dist/ionic/p-8201e3a4.entry.js +4 -0
  763. package/dist/ionic/p-8675912f.entry.js +4 -0
  764. package/dist/ionic/p-8c8001d1.entry.js +4 -0
  765. package/dist/ionic/p-96ef4bc4.entry.js +4 -0
  766. package/dist/ionic/p-978335f1.entry.js +4 -0
  767. package/dist/ionic/{p-PkaVMJga.js → p-B1XKnjaF.js} +1 -1
  768. package/dist/ionic/{p-DNxEB9-T.js → p-B3KpQBCL.js} +1 -1
  769. package/dist/ionic/p-BCYG0ntp.js +4 -0
  770. package/dist/ionic/p-BI5taije.js +4 -0
  771. package/dist/ionic/{p-DxvRP6ld.js → p-BMPN55of.js} +1 -1
  772. package/dist/ionic/p-BPZc3Ck-.js +4 -0
  773. package/dist/ionic/p-BSH8IzpI.js +4 -0
  774. package/dist/ionic/p-BUF_V-Kg.js +4 -0
  775. package/dist/ionic/p-BVTltcXo.js +4 -0
  776. package/dist/ionic/p-BYk20Mf5.js +4 -0
  777. package/dist/ionic/p-BfDzKnZ-.js +4 -0
  778. package/dist/ionic/p-BjQlYdiZ.js +4 -0
  779. package/dist/ionic/p-BkJpfpXI.js +4 -0
  780. package/dist/ionic/p-Bo9gphwB.js +4 -0
  781. package/dist/ionic/p-BsFwDB3d.js +4 -0
  782. package/dist/ionic/{p-BhMQahM6.js → p-BsSAvQwi.js} +1 -1
  783. package/dist/ionic/{p-BUB5OrpU.js → p-C0TTjAkK.js} +1 -1
  784. package/dist/ionic/p-CIGNaXM1.js +4 -0
  785. package/dist/ionic/p-CODBQrPj.js +4 -0
  786. package/dist/ionic/{p-CVwXN07G.js → p-CcJ1m8ij.js} +1 -1
  787. package/dist/ionic/p-CsxpVq9f.js +6 -0
  788. package/dist/ionic/p-CvHTFTlP.js +4 -0
  789. package/dist/ionic/{p-CCik51Nv.js → p-D1Dp9g6Y.js} +1 -1
  790. package/dist/ionic/p-D5I40TIB.js +4 -0
  791. package/dist/ionic/p-D5t_-oMk.js +4 -0
  792. package/{components/p-C7rB-0-1.js → dist/ionic/p-DN4HuOWQ.js} +1 -1
  793. package/dist/ionic/p-DbnqpMyu.js +4 -0
  794. package/dist/ionic/p-DlhQjMCJ.js +4 -0
  795. package/dist/ionic/{p-kKvGoaEe.js → p-Due7p-3G.js} +1 -1
  796. package/dist/ionic/p-NcQUGze-.js +4 -0
  797. package/dist/ionic/{p-BCgqWm-V.js → p-T71k3C35.js} +1 -1
  798. package/dist/ionic/p-U8dpZ2Zp.js +4 -0
  799. package/dist/ionic/p-ZjP4CjeZ.js +4 -0
  800. package/dist/ionic/p-a13d8dbd.entry.js +4 -0
  801. package/dist/ionic/p-a60ab478.entry.js +4 -0
  802. package/dist/ionic/p-ac35ffde.entry.js +4 -0
  803. package/dist/ionic/p-b397988a.entry.js +4 -0
  804. package/dist/ionic/p-bb125f13.entry.js +4 -0
  805. package/dist/ionic/p-bb69e27a.entry.js +4 -0
  806. package/dist/ionic/p-bd6dbe7c.entry.js +4 -0
  807. package/dist/ionic/p-c3775482.entry.js +4 -0
  808. package/dist/ionic/p-c5978136.entry.js +4 -0
  809. package/dist/ionic/p-c649b0c8.entry.js +4 -0
  810. package/dist/ionic/p-c80d354e.entry.js +4 -0
  811. package/dist/ionic/p-cc47e975.entry.js +4 -0
  812. package/dist/ionic/p-d0d6727a.entry.js +4 -0
  813. package/dist/ionic/p-d3a427d2.entry.js +4 -0
  814. package/dist/ionic/p-da25ac49.entry.js +4 -0
  815. package/dist/ionic/p-dc063e74.entry.js +4 -0
  816. package/dist/ionic/p-e022d624.entry.js +4 -0
  817. package/dist/ionic/p-e43deed1.entry.js +4 -0
  818. package/dist/ionic/p-e4bb0618.entry.js +4 -0
  819. package/dist/ionic/p-e5bff83e.entry.js +4 -0
  820. package/dist/ionic/p-ea10456b.entry.js +4 -0
  821. package/dist/ionic/p-ea80809c.entry.js +4 -0
  822. package/dist/ionic/p-f10b7057.entry.js +4 -0
  823. package/dist/ionic/p-f336761a.entry.js +4 -0
  824. package/dist/ionic/p-f6df1e51.entry.js +4 -0
  825. package/dist/ionic/p-fbbef443.entry.js +4 -0
  826. package/dist/ionic/p-ox5nzV5F.js +4 -0
  827. package/dist/ionic/p-s_fyA5w3.js +4 -0
  828. package/dist/ionic/p-xGKwMcE6.js +4 -0
  829. package/dist/types/components/accordion/accordion.d.ts +12 -3
  830. package/dist/types/components/accordion-group/accordion-group.d.ts +12 -1
  831. package/dist/types/components/action-sheet/action-sheet-interface.d.ts +3 -7
  832. package/dist/types/components/action-sheet/action-sheet.d.ts +3 -2
  833. package/dist/types/components/alert/alert-interface.d.ts +3 -7
  834. package/dist/types/components/alert/alert.d.ts +3 -2
  835. package/dist/types/components/app/app.d.ts +4 -5
  836. package/dist/types/components/avatar/avatar.d.ts +32 -0
  837. package/dist/types/components/back-button/back-button.d.ts +10 -3
  838. package/dist/types/components/backdrop/backdrop.d.ts +4 -0
  839. package/dist/types/components/badge/badge.d.ts +34 -1
  840. package/dist/types/components/breadcrumb/breadcrumb.d.ts +14 -1
  841. package/dist/types/components/breadcrumbs/breadcrumbs.d.ts +2 -2
  842. package/dist/types/components/button/button.d.ts +23 -8
  843. package/dist/types/components/buttons/buttons.d.ts +5 -1
  844. package/dist/types/components/card/card.d.ts +8 -1
  845. package/dist/types/components/card-content/card-content.d.ts +2 -1
  846. package/dist/types/components/card-header/card-header.d.ts +3 -2
  847. package/dist/types/components/card-subtitle/card-subtitle.d.ts +2 -1
  848. package/dist/types/components/card-title/card-title.d.ts +2 -1
  849. package/dist/types/components/checkbox/checkbox.d.ts +26 -5
  850. package/dist/types/components/chip/chip.d.ts +26 -1
  851. package/dist/types/components/col/col.d.ts +52 -5
  852. package/dist/types/components/content/content.d.ts +3 -0
  853. package/dist/types/components/datetime/datetime.d.ts +26 -1
  854. package/dist/types/components/datetime/utils/data.d.ts +5 -5
  855. package/dist/types/components/datetime-button/datetime-button.d.ts +2 -1
  856. package/dist/types/components/divider/divider.d.ts +20 -0
  857. package/dist/types/components/fab/fab.d.ts +4 -0
  858. package/dist/types/components/fab-button/fab-button.d.ts +11 -3
  859. package/dist/types/components/fab-list/fab-list.d.ts +4 -0
  860. package/dist/types/components/footer/footer-interface.d.ts +1 -0
  861. package/dist/types/components/footer/footer.d.ts +20 -3
  862. package/dist/types/components/gallery/gallery-constants.d.ts +9 -0
  863. package/dist/types/components/gallery/gallery-interface.d.ts +10 -0
  864. package/dist/types/components/gallery/gallery.d.ts +218 -0
  865. package/dist/types/components/gallery/test/utils.d.ts +3 -0
  866. package/dist/types/components/gallery-item/gallery-item.d.ts +33 -0
  867. package/dist/types/components/grid/grid.d.ts +4 -0
  868. package/dist/types/components/header/header-interface.d.ts +1 -0
  869. package/dist/types/components/header/header.d.ts +26 -3
  870. package/dist/types/components/header/header.utils.d.ts +4 -5
  871. package/dist/types/components/img/img.d.ts +2 -0
  872. package/dist/types/components/infinite-scroll/infinite-scroll.d.ts +21 -0
  873. package/dist/types/components/infinite-scroll-content/infinite-scroll-content.d.ts +4 -0
  874. package/dist/types/components/input/input.d.ts +45 -5
  875. package/dist/types/components/input-otp/input-otp.d.ts +37 -0
  876. package/dist/types/components/input-password-toggle/input-password-toggle.d.ts +14 -0
  877. package/dist/types/components/item/item.d.ts +17 -4
  878. package/dist/types/components/item-divider/item-divider.d.ts +2 -1
  879. package/dist/types/components/item-group/item-group.d.ts +4 -0
  880. package/dist/types/components/item-option/item-option.d.ts +18 -1
  881. package/dist/types/components/item-options/item-options.d.ts +4 -0
  882. package/dist/types/components/item-sliding/item-sliding.d.ts +47 -1
  883. package/dist/types/components/item-sliding/test/test.utils.d.ts +13 -0
  884. package/dist/types/components/label/label.d.ts +2 -1
  885. package/dist/types/components/list/list.d.ts +15 -1
  886. package/dist/types/components/list-header/list-header.d.ts +2 -1
  887. package/dist/types/components/loading/loading-interface.d.ts +2 -7
  888. package/dist/types/components/loading/loading.d.ts +3 -2
  889. package/dist/types/components/menu/menu.d.ts +3 -0
  890. package/dist/types/components/menu-button/menu-button.d.ts +8 -1
  891. package/dist/types/components/menu-toggle/menu-toggle.d.ts +3 -0
  892. package/dist/types/components/modal/animations/ionic.enter.d.ts +6 -0
  893. package/dist/types/components/modal/animations/ionic.leave.d.ts +6 -0
  894. package/dist/types/components/modal/gestures/sheet.d.ts +1 -1
  895. package/dist/types/components/modal/modal-interface.d.ts +4 -7
  896. package/dist/types/components/modal/modal.d.ts +11 -1
  897. package/dist/types/components/nav/nav-interface.d.ts +9 -1
  898. package/dist/types/components/nav/nav.d.ts +5 -1
  899. package/dist/types/components/nav-link/nav-link.d.ts +4 -0
  900. package/dist/types/components/note/note.d.ts +2 -1
  901. package/dist/types/components/picker/picker.d.ts +2 -1
  902. package/dist/types/components/picker-column/picker-column.d.ts +2 -1
  903. package/dist/types/components/picker-column-option/picker-column-option.d.ts +4 -0
  904. package/dist/types/components/popover/popover-interface.d.ts +3 -6
  905. package/dist/types/components/popover/popover.d.ts +6 -5
  906. package/dist/types/components/progress-bar/progress-bar.d.ts +10 -1
  907. package/dist/types/components/radio/radio.d.ts +2 -1
  908. package/dist/types/components/radio-group/radio-group.d.ts +12 -0
  909. package/dist/types/components/range/range.d.ts +2 -1
  910. package/dist/types/components/refresher/refresher.d.ts +2 -1
  911. package/dist/types/components/refresher-content/refresher-content.d.ts +10 -0
  912. package/dist/types/components/reorder/reorder.d.ts +9 -0
  913. package/dist/types/components/reorder-group/reorder-group.d.ts +4 -0
  914. package/dist/types/components/ripple-effect/ripple-effect.d.ts +4 -0
  915. package/dist/types/components/route/route.d.ts +4 -0
  916. package/dist/types/components/router/router.d.ts +4 -0
  917. package/dist/types/components/router-link/router-link.d.ts +4 -0
  918. package/dist/types/components/router-outlet/router-outlet.d.ts +4 -1
  919. package/dist/types/components/row/row.d.ts +4 -0
  920. package/dist/types/components/searchbar/searchbar.d.ts +56 -10
  921. package/dist/types/components/segment/segment.d.ts +2 -1
  922. package/dist/types/components/segment-button/segment-button.d.ts +2 -1
  923. package/dist/types/components/select/select.d.ts +59 -15
  924. package/dist/types/components/select-modal/select-modal.d.ts +13 -0
  925. package/dist/types/components/select-option/select-option.d.ts +7 -4
  926. package/dist/types/components/select-popover/select-popover.d.ts +3 -0
  927. package/dist/types/components/skeleton-text/skeleton-text.d.ts +4 -0
  928. package/dist/types/components/spinner/spinner.d.ts +15 -0
  929. package/dist/types/components/split-pane/split-pane.d.ts +4 -0
  930. package/dist/types/components/tab/tab.d.ts +4 -0
  931. package/dist/types/components/tab-bar/tab-bar-interface.d.ts +1 -0
  932. package/dist/types/components/tab-bar/tab-bar.d.ts +41 -3
  933. package/dist/types/components/tab-button/tab-button.d.ts +12 -1
  934. package/dist/types/components/tabs/tabs.d.ts +3 -0
  935. package/dist/types/components/text/text.d.ts +2 -1
  936. package/dist/types/components/textarea/textarea.d.ts +85 -10
  937. package/dist/types/components/thumbnail/thumbnail.d.ts +4 -0
  938. package/dist/types/components/title/title.d.ts +4 -0
  939. package/dist/types/components/toast/animations/utils.d.ts +2 -2
  940. package/dist/types/components/toast/toast-interface.d.ts +3 -7
  941. package/dist/types/components/toast/toast.d.ts +19 -2
  942. package/dist/types/components/toggle/toggle.d.ts +18 -1
  943. package/dist/types/components/toolbar/toolbar.d.ts +43 -3
  944. package/dist/types/components.d.ts +1839 -211
  945. package/dist/types/global/ionic-global.d.ts +28 -2
  946. package/dist/types/interface.d.ts +3 -0
  947. package/dist/types/utils/config.d.ts +128 -4
  948. package/dist/types/utils/css-value-validation.d.ts +21 -0
  949. package/dist/types/utils/focus-trap.d.ts +1 -1
  950. package/dist/types/utils/focus-visible.d.ts +33 -0
  951. package/dist/types/utils/forms/clear-button-press-controller.d.ts +20 -0
  952. package/dist/types/utils/forms/index.d.ts +1 -0
  953. package/dist/types/utils/forms/validity.d.ts +7 -0
  954. package/dist/types/utils/helpers.d.ts +29 -0
  955. package/dist/types/utils/overlay-control-label.d.ts +11 -9
  956. package/dist/types/utils/overlays-interface.d.ts +31 -1
  957. package/dist/types/utils/overlays.d.ts +1 -1
  958. package/dist/types/utils/scroll-hide-controller.d.ts +56 -0
  959. package/dist/types/utils/test/playwright/drag-element.d.ts +16 -3
  960. package/dist/types/utils/test/playwright/field-geometry.d.ts +13 -0
  961. package/dist/types/utils/test/playwright/generator.d.ts +31 -2
  962. package/dist/types/utils/test/playwright/index.d.ts +1 -0
  963. package/dist/types/utils/theme.d.ts +9 -0
  964. package/hydrate/index.js +5409 -1229
  965. package/hydrate/index.mjs +5409 -1229
  966. package/package.json +9 -6
  967. package/components/p-6sKRBFnK.js +0 -4
  968. package/components/p-B8HBLiYi.js +0 -4
  969. package/components/p-BEiYs-sz.js +0 -4
  970. package/components/p-BKxLivx4.js +0 -4
  971. package/components/p-BLjEwM6v.js +0 -4
  972. package/components/p-BNnmwjuy.js +0 -4
  973. package/components/p-BSJriPuC.js +0 -4
  974. package/components/p-BSQPZ79H.js +0 -4
  975. package/components/p-BUVGbkSc.js +0 -4
  976. package/components/p-B_tZQKpS.js +0 -4
  977. package/components/p-BhamHSw3.js +0 -4
  978. package/components/p-BinR4_P7.js +0 -4
  979. package/components/p-BmVRXR1y.js +0 -4
  980. package/components/p-BrOSQhkA.js +0 -4
  981. package/components/p-BriaEJK8.js +0 -4
  982. package/components/p-BsLM9eQu.js +0 -4
  983. package/components/p-CAQG0btC.js +0 -4
  984. package/components/p-CHHkdXfP.js +0 -4
  985. package/components/p-CJgshb3W.js +0 -4
  986. package/components/p-CQjNc-Pz.js +0 -4
  987. package/components/p-CTUMJM0R.js +0 -4
  988. package/components/p-CXy2v7GI.js +0 -4
  989. package/components/p-Canp1qah.js +0 -4
  990. package/components/p-CcQQ8oRo.js +0 -4
  991. package/components/p-CiFFeRH9.js +0 -4
  992. package/components/p-CiXOsJF2.js +0 -4
  993. package/components/p-CvzE7FFp.js +0 -4
  994. package/components/p-CzykzqAO.js +0 -4
  995. package/components/p-D0jSx7rE.js +0 -4
  996. package/components/p-D4NOsSCE.js +0 -4
  997. package/components/p-DGLuPe1e.js +0 -4
  998. package/components/p-DGUed0uX.js +0 -4
  999. package/components/p-DJztqcrH.js +0 -4
  1000. package/components/p-DM2jMsSO.js +0 -4
  1001. package/components/p-DPyjiKOq.js +0 -4
  1002. package/components/p-DSmHJ2DH.js +0 -4
  1003. package/components/p-DlUdjUlf.js +0 -4
  1004. package/components/p-LH1I_Zhd.js +0 -4
  1005. package/components/p-LpMHEu3v.js +0 -4
  1006. package/components/p-PPagT42x.js +0 -4
  1007. package/components/p-RJT5zTbD.js +0 -4
  1008. package/components/p-WMQuK_Tj.js +0 -4
  1009. package/components/p-byZM6qHV.js +0 -4
  1010. package/components/p-eJpG4UbM.js +0 -4
  1011. package/components/p-q2WJ5Igc.js +0 -4
  1012. package/components/p-y7Nhe3de.js +0 -4
  1013. package/dist/cjs/focus-visible-CCvKiLh3.js +0 -77
  1014. package/dist/cjs/ionic-global-C1h8Yi_K.js +0 -156
  1015. package/dist/cjs/keyboard-controller-CLcFxSnb.js +0 -167
  1016. package/dist/cjs/validity-BpS37YFM.js +0 -19
  1017. package/dist/esm/focus-visible-BmVRXR1y.js +0 -75
  1018. package/dist/esm/ionic-global-B-G43ddm.js +0 -151
  1019. package/dist/esm/keyboard-controller-Dzjet5wD.js +0 -165
  1020. package/dist/esm/validity-DJztqcrH.js +0 -17
  1021. package/dist/ionic/p-0517aec4.entry.js +0 -4
  1022. package/dist/ionic/p-083b1119.entry.js +0 -4
  1023. package/dist/ionic/p-0ab133d6.entry.js +0 -4
  1024. package/dist/ionic/p-1110da0d.entry.js +0 -4
  1025. package/dist/ionic/p-1213b719.entry.js +0 -4
  1026. package/dist/ionic/p-150f350e.entry.js +0 -4
  1027. package/dist/ionic/p-20d1ac29.entry.js +0 -4
  1028. package/dist/ionic/p-24b0a961.entry.js +0 -4
  1029. package/dist/ionic/p-28f506ce.entry.js +0 -4
  1030. package/dist/ionic/p-2e6e933d.entry.js +0 -4
  1031. package/dist/ionic/p-30dcf43b.entry.js +0 -4
  1032. package/dist/ionic/p-378341d1.entry.js +0 -4
  1033. package/dist/ionic/p-37f46670.entry.js +0 -4
  1034. package/dist/ionic/p-3a5faaa8.entry.js +0 -4
  1035. package/dist/ionic/p-3bd7e5df.entry.js +0 -4
  1036. package/dist/ionic/p-3c4b0ba7.entry.js +0 -4
  1037. package/dist/ionic/p-42b2a992.entry.js +0 -4
  1038. package/dist/ionic/p-52dc3309.entry.js +0 -4
  1039. package/dist/ionic/p-58f914ee.entry.js +0 -4
  1040. package/dist/ionic/p-5b9666be.entry.js +0 -4
  1041. package/dist/ionic/p-5c19330c.entry.js +0 -4
  1042. package/dist/ionic/p-61b304c8.entry.js +0 -4
  1043. package/dist/ionic/p-624f2fa8.entry.js +0 -4
  1044. package/dist/ionic/p-636349e2.entry.js +0 -4
  1045. package/dist/ionic/p-6865f0e1.entry.js +0 -4
  1046. package/dist/ionic/p-7441ed2b.entry.js +0 -4
  1047. package/dist/ionic/p-76309bab.entry.js +0 -4
  1048. package/dist/ionic/p-83448626.entry.js +0 -4
  1049. package/dist/ionic/p-834afcf7.entry.js +0 -4
  1050. package/dist/ionic/p-93cd738b.entry.js +0 -4
  1051. package/dist/ionic/p-9b78fedf.entry.js +0 -4
  1052. package/dist/ionic/p-9dd9788c.entry.js +0 -4
  1053. package/dist/ionic/p-B4ELlbJE.js +0 -4
  1054. package/dist/ionic/p-B4wzg4z4.js +0 -4
  1055. package/dist/ionic/p-B4xjg_Qu.js +0 -4
  1056. package/dist/ionic/p-BChRVdVv.js +0 -4
  1057. package/dist/ionic/p-BSQPZ79H.js +0 -4
  1058. package/dist/ionic/p-BVEsh7-M.js +0 -4
  1059. package/dist/ionic/p-Ba6ZV-qU.js +0 -4
  1060. package/dist/ionic/p-BmVRXR1y.js +0 -4
  1061. package/dist/ionic/p-BtHAx8im.js +0 -4
  1062. package/dist/ionic/p-Bv-6401R.js +0 -4
  1063. package/dist/ionic/p-BvabGprD.js +0 -4
  1064. package/dist/ionic/p-CTmJSZcs.js +0 -4
  1065. package/dist/ionic/p-CTrwMl44.js +0 -4
  1066. package/dist/ionic/p-CgQdInM0.js +0 -4
  1067. package/dist/ionic/p-CrAPHbJ3.js +0 -4
  1068. package/dist/ionic/p-CsWrz1c2.js +0 -4
  1069. package/dist/ionic/p-D5akOqD0.js +0 -4
  1070. package/dist/ionic/p-D9OR05yj.js +0 -6
  1071. package/dist/ionic/p-DHf9V6zI.js +0 -4
  1072. package/dist/ionic/p-DJztqcrH.js +0 -4
  1073. package/dist/ionic/p-DZUqAr_6.js +0 -4
  1074. package/dist/ionic/p-Dzew6Qv7.js +0 -4
  1075. package/dist/ionic/p-b0a3dd1a.entry.js +0 -4
  1076. package/dist/ionic/p-b1164028.entry.js +0 -4
  1077. package/dist/ionic/p-b710b4b8.entry.js +0 -4
  1078. package/dist/ionic/p-b9659d21.entry.js +0 -4
  1079. package/dist/ionic/p-ba7bd621.entry.js +0 -4
  1080. package/dist/ionic/p-byZM6qHV.js +0 -4
  1081. package/dist/ionic/p-daaecea3.entry.js +0 -4
  1082. package/dist/ionic/p-e05073f6.entry.js +0 -4
  1083. package/dist/ionic/p-e137f724.entry.js +0 -4
  1084. package/dist/ionic/p-e1969fd1.entry.js +0 -4
  1085. package/dist/ionic/p-e338693a.entry.js +0 -4
  1086. package/dist/ionic/p-e4c3f17f.entry.js +0 -4
  1087. package/dist/ionic/p-e7414c33.entry.js +0 -4
  1088. package/dist/ionic/p-eb762f80.entry.js +0 -4
  1089. package/dist/ionic/p-edcb63e5.entry.js +0 -4
  1090. package/dist/ionic/p-efa00ce5.entry.js +0 -4
  1091. package/dist/ionic/p-f19e50f8.entry.js +0 -4
  1092. package/dist/ionic/p-f20b6a9b.entry.js +0 -4
  1093. package/dist/ionic/p-f9057f70.entry.js +0 -4
  1094. package/dist/ionic/p-f99cf5aa.entry.js +0 -4
  1095. package/dist/ionic/p-fee863dc.entry.js +0 -4
  1096. package/dist/ionic/p-tXpzvta8.js +0 -4
  1097. package/dist/ionic/p-vPo3vRFc.js +0 -4
  1098. /package/dist/collection/components/{input-password-toggle/input-password-toggle.css → refresher-content/refresher-content.css} +0 -0
@@ -4,7 +4,7 @@
4
4
  import { Build, Host, h, forceUpdate, } from "@stencil/core";
5
5
  import { ENABLE_HTML_CONTENT_DEFAULT } from "../../utils/config";
6
6
  import { compareOptions, createClickController, createNotchController, createStartContainerController, getSlottedClickContent, isOptionSelected, checkInvalidState, } from "../../utils/forms/index";
7
- import { focusVisibleElement, renderHiddenInput, inheritAttributes } from "../../utils/helpers";
7
+ import { suppressFocusVisible, renderHiddenInput, inheritAttributes } from "../../utils/helpers";
8
8
  import { printIonWarning } from "../../utils/logging/index";
9
9
  import { actionSheetController, alertController, popoverController, modalController } from "../../utils/overlays";
10
10
  import { isRTL } from "../../utils/rtl/index";
@@ -14,10 +14,11 @@ import { createColorClasses, hostContext } from "../../utils/theme";
14
14
  import { watchForOptions } from "../../utils/watch-options";
15
15
  import { caretDownSharp, chevronExpand } from "ionicons/icons";
16
16
  import { config } from "../../global/config";
17
- import { getIonMode } from "../../global/ionic-global";
17
+ import { getIonTheme } from "../../global/ionic-global";
18
18
  // TODO(FW-2832): types
19
19
  /**
20
- * @virtualProp {"ios" | "md"} mode - The mode determines which platform styles to use.
20
+ * @virtualProp {"ios" | "md"} mode - The mode determines the platform behaviors of the component.
21
+ * @virtualProp {"ios" | "md" | "ionic"} theme - The theme determines the visual appearance of the component.
21
22
  *
22
23
  * @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.
23
24
  * @slot start - Content to display at the leading edge of the select.
@@ -34,8 +35,8 @@ import { getIonMode } from "../../global/ionic-global";
34
35
  * @part bottom - The container element for helper text, error text, and counter.
35
36
  * @part wrapper - The clickable label element that wraps the entire form field (label text, slots, selected values or placeholder, and toggle icons).
36
37
  * @part start - The wrapper element for the content in the start slot.
37
- * @part control - The wrapper element containing the label and native select control. When the label is not floating or stacked, this part also contains the dropdown icon.
38
- * @part end - The wrapper element for the content in the end slot. When the label is floating or stacked, this part also contains the dropdown icon.
38
+ * @part control - The wrapper element containing the label, the native select control, and the dropdown icon when the label is not floating or stacked. The `"ionic"` theme flattens this wrapper, so it cannot be given a box of its own there.
39
+ * @part end - The wrapper element for the content in the end slot. It also contains the dropdown icon when the label is floating or stacked.
39
40
  */
40
41
  export class Select {
41
42
  constructor() {
@@ -62,6 +63,14 @@ export class Select {
62
63
  * The text to display on the cancel button.
63
64
  */
64
65
  this.cancelText = 'Cancel';
66
+ /**
67
+ * If `true`, the cancel button will display an icon instead of the `cancelText`.
68
+ * Only applies when `interface` is set to `"modal"`. Has no effect on `"action-sheet"`,
69
+ * `"alert"`, or `"popover"` interfaces.
70
+ * When `cancelIcon` is `true`, the `cancelText` property is ignored for display
71
+ * but is used as the accessible label for the icon button.
72
+ */
73
+ this.cancelIcon = false;
65
74
  /**
66
75
  * If `true`, the user cannot interact with the select.
67
76
  */
@@ -191,7 +200,7 @@ export class Select {
191
200
  });
192
201
  this.notchController = createNotchController(el, () => this.notchSpacerEl, () => this.labelSlot);
193
202
  this.startContainerController = createStartContainerController(el, () => this.startContainerEl, () => {
194
- return Build.isBrowser && getIonMode(this) === 'md' && this.fill === 'outline';
203
+ return Build.isBrowser && getIonTheme(this) === 'md' && this.fill === 'outline';
195
204
  });
196
205
  this.startContainerController.calculateStartContainerWidth();
197
206
  this.clickController = createClickController(el);
@@ -299,44 +308,65 @@ export class Select {
299
308
  // Add logic to scroll selected item into view before presenting
300
309
  const scrollSelectedIntoView = () => {
301
310
  const indexOfSelected = this.childOpts.findIndex((o) => o.value === this.value);
311
+ /**
312
+ * Determine which option to focus when the overlay opens: the selected
313
+ * option if the select has a value, otherwise the first enabled option.
314
+ */
315
+ let optionToFocus = null;
302
316
  if (indexOfSelected > -1) {
303
317
  const selectedItem = overlay.querySelector(`.select-interface-option:nth-of-type(${indexOfSelected + 1})`);
318
+ /**
319
+ * If the option contains an `ion-radio` or `ion-checkbox`, focus
320
+ * that instead of the option element itself. This ensures that
321
+ * screen readers will announce the role and state of the element
322
+ * (e.g. "radio button, checked") rather than only the option text.
323
+ * Alert and action sheet options are plain buttons, so fall back to
324
+ * focusing the option element itself in those cases.
325
+ */
304
326
  if (selectedItem) {
305
- /**
306
- * Browsers such as Firefox do not
307
- * correctly delegate focus when manually
308
- * focusing an element with delegatesFocus.
309
- * We work around this by manually focusing
310
- * the interactive element.
311
- * ion-radio and ion-checkbox are the only
312
- * elements that ion-select-popover uses, so
313
- * we only need to worry about those two components
314
- * when focusing.
315
- */
316
327
  const interactiveEl = selectedItem.querySelector('ion-radio, ion-checkbox');
317
328
  if (interactiveEl) {
318
329
  selectedItem.scrollIntoView({ block: 'nearest' });
319
- // Needs to be called before `focusVisibleElement` to prevent issue with focus event bubbling
320
- // and removing `ion-focused` style
321
- interactiveEl.setFocus();
322
330
  }
323
- focusVisibleElement(selectedItem);
331
+ optionToFocus = interactiveEl ?? selectedItem;
324
332
  }
325
333
  }
326
334
  else {
327
335
  /**
328
336
  * If no value is set then focus the first enabled option.
329
337
  */
330
- const firstEnabledOption = overlay.querySelector('ion-radio:not(.radio-disabled), ion-checkbox:not(.checkbox-disabled)');
331
- if (firstEnabledOption) {
332
- /**
333
- * Focus the option for the same reason as we do above.
334
- *
335
- * Needs to be called before `focusVisibleElement` to prevent issue with focus event bubbling
336
- * and removing `ion-focused` style
337
- */
338
- firstEnabledOption.setFocus();
339
- focusVisibleElement(firstEnabledOption.closest('ion-item'));
338
+ optionToFocus = overlay.querySelector('ion-radio:not(.radio-disabled), ion-checkbox:not(.checkbox-disabled)');
339
+ }
340
+ if (optionToFocus) {
341
+ /**
342
+ * Focus the option directly (`setFocus()`/`focus()`) rather than
343
+ * with `focusVisibleElement()`. `focusVisibleElement()` forces the
344
+ * `ion-focused` focus ring on regardless of how the overlay was
345
+ * opened, whereas a plain focus lets the focus-visible utility
346
+ * decide: it shows the ring only when the overlay was opened with
347
+ * the keyboard and hides it for pointer opens.
348
+ *
349
+ * `ion-radio` and `ion-checkbox` expose `setFocus`, which correctly
350
+ * delegates focus to their inner focusable element. This is needed
351
+ * because browsers such as Firefox do not delegate focus correctly
352
+ * when focusing an element with delegatesFocus. When the option is
353
+ * a plain button it can be focused directly.
354
+ */
355
+ if (optionToFocus.matches('ion-radio, ion-checkbox')) {
356
+ optionToFocus.setFocus();
357
+ }
358
+ else {
359
+ optionToFocus.focus();
360
+ }
361
+ /**
362
+ * In the alert interface, when tabbing and pressing enter to open
363
+ * the select, the value that is currently selected flashes the
364
+ * focused state briefly before moving to its wrapper. This suppresses
365
+ * the focus visible state, so that the option will only show as
366
+ * focused when navigating with the keyboard.
367
+ */
368
+ if (this.interface === 'alert') {
369
+ suppressFocusVisible();
340
370
  }
341
371
  }
342
372
  };
@@ -519,8 +549,8 @@ export class Select {
519
549
  async openPopover(ev) {
520
550
  const { fill, labelPlacement } = this;
521
551
  const interfaceOptions = this.interfaceOptions;
522
- const mode = getIonMode(this);
523
- const showBackdrop = mode === 'md' ? false : true;
552
+ const theme = getIonTheme(this);
553
+ const showBackdrop = theme === 'md' ? false : true;
524
554
  const multiple = this.multiple;
525
555
  const value = this.value;
526
556
  let event = ev;
@@ -531,7 +561,7 @@ export class Select {
531
561
  * when using a fill in MD mode or if the
532
562
  * label is floating/stacked.
533
563
  */
534
- if (hasFloatingOrStackedLabel || (mode === 'md' && fill !== undefined)) {
564
+ if (hasFloatingOrStackedLabel || (theme === 'md' && fill !== undefined)) {
535
565
  size = 'cover';
536
566
  /**
537
567
  * Otherwise the popover
@@ -550,7 +580,7 @@ export class Select {
550
580
  const options = this.createOverlaySelectOptions(this.childOpts, value);
551
581
  const hasRichContent = options.some((opt) => Boolean(opt.startContent) || Boolean(opt.endContent) || Boolean(opt.description));
552
582
  const popoverOpts = {
553
- mode,
583
+ theme,
554
584
  event,
555
585
  alignment: 'center',
556
586
  size,
@@ -584,10 +614,10 @@ export class Select {
584
614
  return popoverController.create(popoverOpts);
585
615
  }
586
616
  async openActionSheet() {
587
- const mode = getIonMode(this);
617
+ const theme = getIonTheme(this);
588
618
  const interfaceOptions = this.interfaceOptions;
589
619
  const actionSheetOpts = {
590
- mode,
620
+ theme,
591
621
  ...interfaceOptions,
592
622
  buttons: this.createActionSheetButtons(this.childOpts, this.value),
593
623
  cssClass: ['select-action-sheet', interfaceOptions.cssClass],
@@ -606,9 +636,9 @@ export class Select {
606
636
  async openAlert() {
607
637
  const interfaceOptions = this.interfaceOptions;
608
638
  const inputType = this.multiple ? 'checkbox' : 'radio';
609
- const mode = getIonMode(this);
639
+ const theme = getIonTheme(this);
610
640
  const alertOpts = {
611
- mode,
641
+ theme,
612
642
  ...interfaceOptions,
613
643
  header: interfaceOptions.header ? interfaceOptions.header : this.labelText,
614
644
  inputs: this.createAlertInputs(this.childOpts, inputType, this.value),
@@ -646,15 +676,16 @@ export class Select {
646
676
  }
647
677
  openModal() {
648
678
  const { multiple, value, interfaceOptions } = this;
649
- const mode = getIonMode(this);
679
+ const theme = getIonTheme(this);
650
680
  const modalOpts = {
651
681
  ...interfaceOptions,
652
- mode,
682
+ mode: theme,
653
683
  cssClass: ['select-modal', interfaceOptions.cssClass],
654
684
  component: 'ion-select-modal',
655
685
  componentProps: {
656
686
  header: interfaceOptions.header,
657
687
  cancelText: this.cancelText,
688
+ cancelIcon: this.cancelIcon,
658
689
  multiple,
659
690
  value,
660
691
  options: this.createOverlaySelectOptions(this.childOpts, value),
@@ -743,6 +774,18 @@ export class Select {
743
774
  onClickCapture(ev) {
744
775
  this.clickController?.handleClickCapture(ev);
745
776
  }
777
+ getSize() {
778
+ const theme = getIonTheme(this);
779
+ const { size } = this;
780
+ // TODO(ROU-11370): Remove theme check when sizes are defined for all themes.
781
+ if (theme !== 'ionic') {
782
+ return undefined;
783
+ }
784
+ if (size === undefined) {
785
+ return 'medium';
786
+ }
787
+ return size;
788
+ }
746
789
  renderLabel() {
747
790
  const { label } = this;
748
791
  return (h("div", { class: {
@@ -774,11 +817,31 @@ export class Select {
774
817
  * Renders the outline border with a notch for the label.
775
818
  */
776
819
  renderOutlineContainer() {
777
- return (h("div", { class: "select-outline-container" }, h("div", { class: "select-outline-start" }), h("div", { class: {
820
+ return (h("div", { key: "outline", class: "select-outline-container" }, h("div", { class: "select-outline-start" }), h("div", { class: {
778
821
  'select-outline-notch': true,
779
822
  'select-outline-notch-hidden': !this.hasLabel,
780
823
  } }, h("div", { class: "notch-spacer", "aria-hidden": "true", ref: (el) => (this.notchSpacerEl = el) }, this.label)), h("div", { class: "select-outline-end" })));
781
824
  }
825
+ renderStartContainer() {
826
+ return (h("div", { key: "start", class: "select-start", part: "start", ref: (el) => (this.startContainerEl = el) }, h("slot", { name: "start" })));
827
+ }
828
+ /**
829
+ * Every theme renders the same label and control structure, aside from the md
830
+ * outline container below. The label is nested alongside the control so the
831
+ * ios and md floating label can escape it and clear the start and end slots.
832
+ * The ionic theme lifts it outside the field with grid instead.
833
+ */
834
+ renderField() {
835
+ const { fill, labelPlacement } = this;
836
+ const hasOutlineFill = getIonTheme(this) === 'md' && fill === 'outline';
837
+ const hasFloatingOrStackedLabel = labelPlacement === 'floating' || labelPlacement === 'stacked';
838
+ return [
839
+ hasOutlineFill && this.renderOutlineContainer(),
840
+ this.renderStartContainer(),
841
+ h("div", { key: "control", class: "select-control", part: "control" }, this.renderLabel(), h("div", { class: "native-wrapper", ref: (el) => (this.nativeWrapperEl = el), part: "container" }, this.renderSelectText(), this.renderListbox(), !hasFloatingOrStackedLabel && this.renderSelectIcon())),
842
+ h("div", { key: "end", class: "select-end", part: "end" }, hasFloatingOrStackedLabel && this.renderSelectIcon(), h("slot", { name: "end" })),
843
+ ];
844
+ }
782
845
  /**
783
846
  * Wraps text nodes in the select text with span elements
784
847
  * so spacing can be added between elements without
@@ -849,15 +912,10 @@ export class Select {
849
912
  * next to the select text.
850
913
  */
851
914
  renderSelectIcon() {
852
- const mode = getIonMode(this);
853
- const { isExpanded, toggleIcon, expandedIcon } = this;
854
- let icon;
855
- if (isExpanded && expandedIcon !== undefined) {
856
- icon = expandedIcon;
857
- }
858
- else {
859
- const defaultIcon = mode === 'ios' ? chevronExpand : caretDownSharp;
860
- icon = toggleIcon ?? defaultIcon;
915
+ const { isExpanded, selectExpandedIcon, selectCollapsedIcon } = this;
916
+ let icon = selectCollapsedIcon;
917
+ if (isExpanded) {
918
+ icon = selectExpandedIcon;
861
919
  }
862
920
  return h("ion-icon", { class: "select-icon", part: "icon", "aria-hidden": "true", icon: icon });
863
921
  }
@@ -892,6 +950,50 @@ export class Select {
892
950
  const { disabled, inputId, isExpanded, required } = this;
893
951
  return (h("button", { disabled: disabled, id: inputId, "aria-label": this.ariaLabel, "aria-haspopup": "dialog", "aria-expanded": `${isExpanded}`, "aria-describedby": this.hintTextId, "aria-invalid": this.isInvalid ? 'true' : undefined, "aria-required": `${required}`, onFocus: this.onFocus, onBlur: this.onBlur, ref: (focusEl) => (this.focusEl = focusEl) }));
894
952
  }
953
+ getShape() {
954
+ const theme = getIonTheme(this);
955
+ const { shape } = this;
956
+ // TODO(ROU-11366): Remove theme check when shapes are defined for all themes.
957
+ if (theme === 'ionic' && shape === undefined) {
958
+ return 'round';
959
+ }
960
+ return shape;
961
+ }
962
+ /**
963
+ * Get the icon to use for the expand icon.
964
+ * If an icon is set on the component, use that.
965
+ * Otherwise, use the icon set in the config.
966
+ * If no icon is set in the config, use the default icon.
967
+ */
968
+ get selectExpandedIcon() {
969
+ // Return the expandedIcon or toggleIcon if either is explicitly set
970
+ if (this.expandedIcon != null) {
971
+ return this.expandedIcon;
972
+ }
973
+ else if (this.toggleIcon != null) {
974
+ return this.toggleIcon;
975
+ }
976
+ // Determine the theme and map to the default icon
977
+ const theme = getIonTheme(this);
978
+ const defaultIcon = theme === 'ios' ? chevronExpand : caretDownSharp;
979
+ return config.get('selectExpandedIcon', defaultIcon);
980
+ }
981
+ /**
982
+ * Get the icon to use for the collapsed icon.
983
+ * If an icon is set on the component, use that.
984
+ * Otherwise, use the icon set in the config.
985
+ * If no icon is set in the config, use the default icon.
986
+ */
987
+ get selectCollapsedIcon() {
988
+ // Return the toggleIcon if it is explicitly set
989
+ if (this.toggleIcon) {
990
+ return this.toggleIcon;
991
+ }
992
+ // Determine the theme and map to the default icon
993
+ const theme = getIonTheme(this);
994
+ const defaultIcon = theme === 'ios' ? chevronExpand : caretDownSharp;
995
+ return config.get('selectCollapsedIcon', defaultIcon);
996
+ }
895
997
  getHintTextId() {
896
998
  const { helperText, errorText, helperTextId, errorTextId, isInvalid } = this;
897
999
  if (isInvalid && errorText) {
@@ -929,19 +1031,20 @@ export class Select {
929
1031
  return (h("div", { class: "select-bottom", part: "bottom" }, this.renderHintText()));
930
1032
  }
931
1033
  render() {
932
- const { disabled, el, isExpanded, expandedIcon, labelPlacement, justify, placeholder, fill, shape, name, value, hasFocus, } = this;
933
- const mode = getIonMode(this);
1034
+ const { disabled, el, isExpanded, expandedIcon, labelPlacement, justify, placeholder, fill, name, value, hasFocus, } = this;
1035
+ const theme = getIonTheme(this);
1036
+ const shape = this.getShape();
934
1037
  const hasFloatingOrStackedLabel = labelPlacement === 'floating' || labelPlacement === 'stacked';
935
1038
  const justifyEnabled = !hasFloatingOrStackedLabel && justify !== undefined;
936
1039
  const rtl = isRTL(el) ? 'rtl' : 'ltr';
937
1040
  const inItem = hostContext('ion-item', this.el);
938
- const shouldRenderHighlight = mode === 'md' && fill !== 'outline' && !inItem;
1041
+ const size = this.getSize();
1042
+ const shouldRenderHighlight = theme === 'md' && fill !== 'outline' && !inItem;
939
1043
  const hasValue = this.hasValue();
940
- const hasOutlineFill = mode === 'md' && fill === 'outline';
941
1044
  renderHiddenInput(true, el, name, parseValue(value), disabled);
942
1045
  const labelShouldFloat = labelPlacement === 'stacked' || (labelPlacement === 'floating' && (hasValue || hasFocus || isExpanded));
943
- return (h(Host, { key: '31585557ac49c439939b5a084867f5039dc2f1ce', onClick: this.onClick, class: createColorClasses(this.color, {
944
- [mode]: true,
1046
+ return (h(Host, { key: '96094d6da8fc90bc1e827c516a4b5d7885ed4c9b', onClick: this.onClick, class: createColorClasses(this.color, {
1047
+ [theme]: true,
945
1048
  'in-item': inItem,
946
1049
  'in-item-color': hostContext('ion-item.ion-color', el),
947
1050
  'select-disabled': disabled,
@@ -949,6 +1052,7 @@ export class Select {
949
1052
  'has-expanded-icon': expandedIcon !== undefined,
950
1053
  'has-value': hasValue,
951
1054
  'label-floating': labelShouldFloat,
1055
+ 'has-label': this.hasLabel,
952
1056
  'has-placeholder': placeholder !== undefined,
953
1057
  'has-focus': hasFocus,
954
1058
  // TODO(FW-6451): Remove `ion-focusable` class in favor of `has-focus`.
@@ -958,20 +1062,23 @@ export class Select {
958
1062
  [`select-justify-${justify}`]: justifyEnabled,
959
1063
  [`select-shape-${shape}`]: shape !== undefined,
960
1064
  [`select-label-placement-${labelPlacement}`]: true,
961
- }) }, h("label", { key: '368f5f0c77550be6a743752dd1acbfe9915f0a3d', class: "select-wrapper", id: "select-label", onClick: this.onLabelClick, part: "wrapper" }, hasOutlineFill && this.renderOutlineContainer(), h("div", { key: '2e9039eaa15f398ebe54808ff659db89d3621681', class: "select-start", part: "start", ref: (el) => (this.startContainerEl = el) }, h("slot", { key: 'b83e362f89bd8cbc564ad7122778e3a0f08be66d', name: "start" })), h("div", { key: 'f55ac9fc3bbd9a4a3819a101a3780fc02ae8a8e0', class: "select-control", part: "control" }, this.renderLabel(), h("div", { key: 'e32984e57cda5cf341af8e354a2aef5a114827c0', class: "native-wrapper", ref: (el) => (this.nativeWrapperEl = el), part: "container" }, this.renderSelectText(), this.renderListbox(), !hasFloatingOrStackedLabel && this.renderSelectIcon())), h("div", { key: 'fc4cb7c392c46129afe709d9557ad9a10d72b564', class: "select-end", part: "end" }, hasFloatingOrStackedLabel && this.renderSelectIcon(), h("slot", { key: '6d65c92cdafe985a769fb3b41a58625077803eef', name: "end" })), shouldRenderHighlight && h("div", { key: '9a912c64d7cd77f074a069d126cd0bada1b71eed', class: "select-highlight" })), this.renderBottomContent()));
1065
+ [`select-size-${size}`]: size !== undefined,
1066
+ }) }, h("label", { key: 'b8c8d96073fcff415dc19e2d82264d5157adca6a', class: "select-wrapper", id: "select-label", onClick: this.onLabelClick, part: "wrapper" }, this.renderField(), shouldRenderHighlight && h("div", { key: 'ec46e83aeb5a40fa1f7f46ec9a5a727928d5c5de', class: "select-highlight" })), this.renderBottomContent()));
962
1067
  }
963
1068
  static get is() { return "ion-select"; }
964
1069
  static get encapsulation() { return "shadow"; }
965
1070
  static get originalStyleUrls() {
966
1071
  return {
967
1072
  "ios": ["select.ios.scss"],
968
- "md": ["select.md.scss"]
1073
+ "md": ["select.md.scss"],
1074
+ "ionic": ["select.ionic.scss"]
969
1075
  };
970
1076
  }
971
1077
  static get styleUrls() {
972
1078
  return {
973
1079
  "ios": ["select.ios.css"],
974
- "md": ["select.md.css"]
1080
+ "md": ["select.md.css"],
1081
+ "ionic": ["select.ionic.css"]
975
1082
  };
976
1083
  }
977
1084
  static get properties() {
@@ -996,6 +1103,26 @@ export class Select {
996
1103
  "attribute": "cancel-text",
997
1104
  "defaultValue": "'Cancel'"
998
1105
  },
1106
+ "cancelIcon": {
1107
+ "type": "boolean",
1108
+ "mutable": false,
1109
+ "complexType": {
1110
+ "original": "boolean",
1111
+ "resolved": "boolean",
1112
+ "references": {}
1113
+ },
1114
+ "required": false,
1115
+ "optional": false,
1116
+ "docs": {
1117
+ "tags": [],
1118
+ "text": "If `true`, the cancel button will display an icon instead of the `cancelText`.\nOnly applies when `interface` is set to `\"modal\"`. Has no effect on `\"action-sheet\"`,\n`\"alert\"`, or `\"popover\"` interfaces.\nWhen `cancelIcon` is `true`, the `cancelText` property is ignored for display\nbut is used as the accessible label for the icon button."
1119
+ },
1120
+ "getter": false,
1121
+ "setter": false,
1122
+ "reflect": false,
1123
+ "attribute": "cancel-icon",
1124
+ "defaultValue": "false"
1125
+ },
999
1126
  "color": {
1000
1127
  "type": "string",
1001
1128
  "mutable": false,
@@ -1080,7 +1207,7 @@ export class Select {
1080
1207
  "optional": true,
1081
1208
  "docs": {
1082
1209
  "tags": [],
1083
- "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."
1210
+ "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."
1084
1211
  },
1085
1212
  "getter": false,
1086
1213
  "setter": false,
@@ -1340,7 +1467,7 @@ export class Select {
1340
1467
  "optional": true,
1341
1468
  "docs": {
1342
1469
  "tags": [],
1343
- "text": "The toggle icon to use. Defaults to `chevronExpand` for `ios` mode,\nor `caretDownSharp` for `md` mode."
1470
+ "text": "The toggle icon to use. Defaults to `\"chevronExpand\"` for the `\"ios\"` theme,\nor `\"caretDownSharp\"` for the `\"md\"` and `\"ionic\"` themes."
1344
1471
  },
1345
1472
  "getter": false,
1346
1473
  "setter": false,
@@ -1359,70 +1486,89 @@ export class Select {
1359
1486
  "optional": true,
1360
1487
  "docs": {
1361
1488
  "tags": [],
1362
- "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."
1489
+ "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."
1363
1490
  },
1364
1491
  "getter": false,
1365
1492
  "setter": false,
1366
1493
  "reflect": false,
1367
1494
  "attribute": "expanded-icon"
1368
1495
  },
1496
+ "required": {
1497
+ "type": "boolean",
1498
+ "mutable": false,
1499
+ "complexType": {
1500
+ "original": "boolean",
1501
+ "resolved": "boolean",
1502
+ "references": {}
1503
+ },
1504
+ "required": false,
1505
+ "optional": false,
1506
+ "docs": {
1507
+ "tags": [],
1508
+ "text": "If true, screen readers will announce it as a required field. This property\nworks only for accessibility purposes, it will not prevent the form from\nsubmitting if the value is invalid."
1509
+ },
1510
+ "getter": false,
1511
+ "setter": false,
1512
+ "reflect": false,
1513
+ "attribute": "required",
1514
+ "defaultValue": "false"
1515
+ },
1369
1516
  "shape": {
1370
1517
  "type": "string",
1371
1518
  "mutable": false,
1372
1519
  "complexType": {
1373
- "original": "'round'",
1374
- "resolved": "\"round\" | undefined",
1520
+ "original": "'soft' | 'round' | 'rectangular'",
1521
+ "resolved": "\"rectangular\" | \"round\" | \"soft\" | undefined",
1375
1522
  "references": {}
1376
1523
  },
1377
1524
  "required": false,
1378
1525
  "optional": true,
1379
1526
  "docs": {
1380
1527
  "tags": [],
1381
- "text": "The shape of the select. If \"round\" it will have an increased border radius."
1528
+ "text": "Set to `\"soft\"` for a select with slightly rounded corners,\n`\"round\"` for a select with fully rounded corners,\nor `\"rectangular\"` for a select without rounded corners.\n\nDefaults to `\"round\"` for the `\"ionic\"` theme, undefined for all other themes."
1382
1529
  },
1383
1530
  "getter": false,
1384
1531
  "setter": false,
1385
1532
  "reflect": false,
1386
1533
  "attribute": "shape"
1387
1534
  },
1388
- "value": {
1389
- "type": "any",
1390
- "mutable": true,
1535
+ "size": {
1536
+ "type": "string",
1537
+ "mutable": false,
1391
1538
  "complexType": {
1392
- "original": "any | null",
1393
- "resolved": "any",
1539
+ "original": "'small' | 'medium' | 'large'",
1540
+ "resolved": "\"large\" | \"medium\" | \"small\" | undefined",
1394
1541
  "references": {}
1395
1542
  },
1396
1543
  "required": false,
1397
1544
  "optional": true,
1398
1545
  "docs": {
1399
1546
  "tags": [],
1400
- "text": "The value of the select."
1547
+ "text": "The size of the select. If \"large\" it will increase the height of the select, while\n\"small\" and \"medium\" provide progressively smaller heights.\n\nDefaults to `\"medium\"` for the ionic theme, and undefined for all other themes."
1401
1548
  },
1402
1549
  "getter": false,
1403
1550
  "setter": false,
1404
1551
  "reflect": false,
1405
- "attribute": "value"
1552
+ "attribute": "size"
1406
1553
  },
1407
- "required": {
1408
- "type": "boolean",
1409
- "mutable": false,
1554
+ "value": {
1555
+ "type": "any",
1556
+ "mutable": true,
1410
1557
  "complexType": {
1411
- "original": "boolean",
1412
- "resolved": "boolean",
1558
+ "original": "any | null",
1559
+ "resolved": "any",
1413
1560
  "references": {}
1414
1561
  },
1415
1562
  "required": false,
1416
- "optional": false,
1563
+ "optional": true,
1417
1564
  "docs": {
1418
1565
  "tags": [],
1419
- "text": "If true, screen readers will announce it as a required field. This property\nworks only for accessibility purposes, it will not prevent the form from\nsubmitting if the value is invalid."
1566
+ "text": "The value of the select."
1420
1567
  },
1421
1568
  "getter": false,
1422
1569
  "setter": false,
1423
1570
  "reflect": false,
1424
- "attribute": "required",
1425
- "defaultValue": "false"
1571
+ "attribute": "value"
1426
1572
  }
1427
1573
  };
1428
1574
  }