@ionic/core 8.3.4-dev.11730232091.1ee1a719 → 8.3.4-dev.11730395663.1a0f4848

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 (1186) hide show
  1. package/components/action-sheet.js +8 -13
  2. package/components/alert.js +15 -18
  3. package/components/animation.js +1 -1
  4. package/components/backdrop.js +6 -10
  5. package/components/button.js +11 -41
  6. package/components/buttons.js +7 -11
  7. package/components/capacitor.js +1 -1
  8. package/components/checkbox.js +15 -30
  9. package/components/content.js +446 -0
  10. package/components/data.js +4 -4
  11. package/components/focus-visible.js +1 -8
  12. package/components/framework-delegate.js +1 -3
  13. package/components/hardware-back-button.js +115 -0
  14. package/components/header.js +356 -0
  15. package/components/helpers.js +1 -4
  16. package/components/index2.js +2 -2
  17. package/components/index4.js +11 -10
  18. package/components/index5.js +3 -27
  19. package/components/index6.js +20 -114
  20. package/components/index7.js +27 -163
  21. package/components/index8.js +128 -0
  22. package/{dist/esm/index-7f65e865.js → components/index9.js} +2 -3
  23. package/components/input-shims.js +2 -2
  24. package/components/input.utils.js +2 -1
  25. package/components/ion-accordion-group.js +6 -9
  26. package/components/ion-accordion.js +17 -36
  27. package/components/ion-app.js +77 -9
  28. package/components/ion-avatar.js +3 -52
  29. package/components/ion-back-button.js +19 -29
  30. package/components/ion-badge.js +8 -44
  31. package/components/ion-breadcrumb.js +11 -45
  32. package/components/ion-breadcrumbs.js +5 -9
  33. package/components/ion-card-content.js +7 -11
  34. package/components/ion-card-header.js +5 -9
  35. package/components/ion-card-subtitle.js +5 -9
  36. package/components/ion-card-title.js +5 -9
  37. package/components/ion-card.js +9 -17
  38. package/components/ion-chip.js +8 -45
  39. package/components/ion-col.js +5 -5
  40. package/components/ion-content.js +1 -443
  41. package/components/ion-datetime-button.js +6 -9
  42. package/components/ion-datetime.js +20 -96
  43. package/components/ion-fab-button.js +10 -33
  44. package/components/ion-fab-list.js +5 -5
  45. package/components/ion-fab.js +6 -6
  46. package/components/ion-footer.js +12 -18
  47. package/components/ion-grid.js +5 -5
  48. package/components/ion-header.js +1 -360
  49. package/components/ion-img.js +2 -5
  50. package/components/ion-infinite-scroll-content.js +8 -13
  51. package/components/ion-infinite-scroll.js +5 -5
  52. package/components/ion-input-password-toggle.js +14 -53
  53. package/components/ion-input.js +20 -118
  54. package/components/ion-item-divider.js +5 -9
  55. package/components/ion-item-group.js +5 -9
  56. package/components/ion-item-option.js +8 -28
  57. package/components/ion-item-options.js +5 -9
  58. package/components/ion-item-sliding.js +5 -5
  59. package/components/ion-loading.js +8 -13
  60. package/components/ion-menu-button.js +10 -28
  61. package/components/ion-menu-toggle.js +5 -5
  62. package/components/ion-menu.js +25 -29
  63. package/components/ion-modal.js +1 -1767
  64. package/components/ion-nav-link.js +1 -1
  65. package/components/ion-nav.js +6 -8
  66. package/components/ion-note.js +5 -9
  67. package/components/ion-picker-legacy.js +8 -7
  68. package/components/ion-progress-bar.js +6 -11
  69. package/components/ion-range.js +8 -11
  70. package/components/ion-refresher-content.js +9 -28
  71. package/components/ion-refresher.js +7 -11
  72. package/components/ion-reorder-group.js +5 -5
  73. package/components/ion-reorder.js +5 -31
  74. package/components/ion-router-link.js +6 -6
  75. package/components/ion-router-outlet.js +3 -4
  76. package/components/ion-row.js +2 -5
  77. package/components/ion-searchbar.js +16 -93
  78. package/components/ion-segment-button.js +29 -14
  79. package/components/ion-segment-content.d.ts +11 -0
  80. package/components/ion-segment-content.js +37 -0
  81. package/components/ion-segment-view.d.ts +11 -0
  82. package/components/ion-segment-view.js +140 -0
  83. package/components/ion-segment.js +115 -24
  84. package/components/ion-select-modal.d.ts +11 -0
  85. package/components/ion-select-modal.js +9 -0
  86. package/components/ion-select-option.js +2 -5
  87. package/components/ion-select.js +140 -116
  88. package/components/ion-skeleton-text.js +5 -6
  89. package/components/ion-split-pane.js +8 -12
  90. package/components/ion-tab-bar.js +8 -31
  91. package/components/ion-tab-button.js +7 -12
  92. package/components/ion-tab.js +2 -2
  93. package/components/ion-tabs.js +2 -2
  94. package/components/ion-text.js +5 -5
  95. package/components/ion-textarea.js +11 -38
  96. package/components/ion-thumbnail.js +2 -5
  97. package/components/ion-title.js +1 -74
  98. package/components/ion-toast.js +12 -30
  99. package/components/ion-toggle.js +18 -77
  100. package/components/ion-toolbar.js +1 -92
  101. package/components/ionic-global.js +84 -374
  102. package/components/ios.transition.js +0 -1
  103. package/components/item.js +11 -41
  104. package/components/keyboard-controller.js +2 -4
  105. package/components/label.js +5 -9
  106. package/components/list-header.js +5 -9
  107. package/components/list.js +6 -29
  108. package/components/modal.js +1742 -0
  109. package/components/notch-controller.js +1 -1
  110. package/components/overlays.js +5 -4
  111. package/components/picker-column-option.js +5 -9
  112. package/components/picker-column.js +8 -7
  113. package/components/picker-column2.js +4 -4
  114. package/components/picker.js +4 -8
  115. package/components/popover.js +8 -11
  116. package/components/radio-group.js +7 -7
  117. package/components/radio.js +12 -14
  118. package/components/ripple-effect.js +8 -18
  119. package/components/select-modal.js +197 -0
  120. package/components/select-popover.js +2 -9
  121. package/components/spinner.js +9 -36
  122. package/components/status-tap.js +1 -1
  123. package/components/title.js +75 -0
  124. package/components/toolbar.js +93 -0
  125. package/css/core.css +1 -1
  126. package/css/core.css.map +1 -1
  127. package/css/display.css.map +1 -1
  128. package/css/flex-utils.css.map +1 -1
  129. package/css/float-elements.css.map +1 -1
  130. package/css/global.bundle.css.map +1 -1
  131. package/css/ionic-swiper.css +1 -1
  132. package/css/ionic-swiper.css.map +1 -1
  133. package/css/ionic.bundle.css +1 -1
  134. package/css/ionic.bundle.css.map +1 -1
  135. package/css/normalize.css.map +1 -1
  136. package/css/padding.css.map +1 -1
  137. package/css/palettes/dark.always.css.map +1 -1
  138. package/css/palettes/dark.class.css.map +1 -1
  139. package/css/palettes/dark.system.css.map +1 -1
  140. package/css/palettes/high-contrast-dark.always.css.map +1 -1
  141. package/css/palettes/high-contrast-dark.class.css.map +1 -1
  142. package/css/palettes/high-contrast-dark.system.css.map +1 -1
  143. package/css/palettes/high-contrast.always.css.map +1 -1
  144. package/css/palettes/high-contrast.class.css.map +1 -1
  145. package/css/palettes/high-contrast.system.css.map +1 -1
  146. package/css/structure.css.map +1 -1
  147. package/css/text-alignment.css.map +1 -1
  148. package/css/text-transformation.css.map +1 -1
  149. package/css/typography.css.map +1 -1
  150. package/css/utils.bundle.css.map +1 -1
  151. package/dist/cjs/{animation-232e0c8f.js → animation-b4fdf128.js} +2 -2
  152. package/dist/cjs/{app-globals-0189a70c.js → app-globals-21afee77.js} +1 -1
  153. package/dist/cjs/{button-active-41228dbf.js → button-active-3f2f60b4.js} +4 -4
  154. package/dist/cjs/{capacitor-806e7fee.js → capacitor-c04564bf.js} +3 -3
  155. package/dist/cjs/{data-cad5d489.js → data-21dc0f81.js} +6 -6
  156. package/dist/{esm/focus-visible-501aff19.js → cjs/focus-visible-7a0ce04f.js} +3 -8
  157. package/dist/cjs/{framework-delegate-cf116b1d.js → framework-delegate-55f5683a.js} +2 -4
  158. package/dist/cjs/{haptic-f0cad9a6.js → haptic-f6b37aa3.js} +1 -1
  159. package/dist/cjs/hardware-back-button-9e8a2c4f.js +122 -0
  160. package/dist/cjs/{helpers-e75eb909.js → helpers-afaa9001.js} +1 -4
  161. package/dist/cjs/index-5915f9b3.js +38 -0
  162. package/dist/cjs/{index-1d02518d.js → index-5b6a7459.js} +3 -3
  163. package/dist/cjs/{config-1349d5b4.js → index-73f75efb.js} +0 -79
  164. package/dist/cjs/{index-71085796.js → index-8e789962.js} +17 -16
  165. package/dist/cjs/{index-2c8b42cd.js → index-9509ecad.js} +7 -8
  166. package/dist/cjs/index-c8d52405.js +10 -0
  167. package/dist/cjs/{index-3ac79a1b.js → index-f05acd21.js} +12 -11
  168. package/dist/cjs/index.cjs.js +13 -10
  169. package/dist/cjs/{input-shims-2958dcc9.js → input-shims-9e59ef62.js} +17 -17
  170. package/dist/cjs/{input.utils-ed749ecb.js → input.utils-611cde0b.js} +5 -4
  171. package/dist/cjs/ion-accordion_2.cjs.entry.js +32 -53
  172. package/dist/cjs/ion-action-sheet.cjs.entry.js +30 -32
  173. package/dist/cjs/ion-alert.cjs.entry.js +46 -45
  174. package/dist/cjs/ion-app_8.cjs.entry.js +189 -144
  175. package/dist/cjs/ion-avatar_3.cjs.entry.js +13 -96
  176. package/dist/cjs/ion-back-button.cjs.entry.js +25 -34
  177. package/dist/cjs/ion-backdrop.cjs.entry.js +9 -13
  178. package/dist/cjs/ion-breadcrumb_2.cjs.entry.js +25 -62
  179. package/dist/cjs/ion-button_2.cjs.entry.js +24 -54
  180. package/dist/cjs/ion-card_5.cjs.entry.js +36 -59
  181. package/dist/cjs/ion-checkbox.cjs.entry.js +23 -37
  182. package/dist/cjs/ion-chip.cjs.entry.js +9 -44
  183. package/dist/cjs/ion-col_3.cjs.entry.js +15 -18
  184. package/dist/cjs/ion-datetime-button.cjs.entry.js +15 -18
  185. package/dist/cjs/ion-datetime_3.cjs.entry.js +115 -188
  186. package/dist/cjs/ion-fab_3.cjs.entry.js +29 -51
  187. package/dist/cjs/ion-img.cjs.entry.js +9 -12
  188. package/dist/cjs/ion-infinite-scroll_2.cjs.entry.js +29 -32
  189. package/dist/cjs/ion-input-password-toggle.cjs.entry.js +19 -57
  190. package/dist/cjs/ion-input.cjs.entry.js +39 -133
  191. package/dist/cjs/ion-item-option_3.cjs.entry.js +29 -51
  192. package/dist/cjs/ion-item_8.cjs.entry.js +60 -131
  193. package/dist/cjs/ion-loading.cjs.entry.js +30 -31
  194. package/dist/cjs/ion-menu_3.cjs.entry.js +64 -82
  195. package/dist/cjs/ion-modal.cjs.entry.js +67 -94
  196. package/dist/cjs/ion-nav_2.cjs.entry.js +28 -29
  197. package/dist/cjs/ion-picker-column-option.cjs.entry.js +9 -13
  198. package/dist/cjs/ion-picker-column.cjs.entry.js +17 -16
  199. package/dist/cjs/ion-picker.cjs.entry.js +9 -13
  200. package/dist/cjs/ion-popover.cjs.entry.js +30 -31
  201. package/dist/cjs/ion-progress-bar.cjs.entry.js +14 -18
  202. package/dist/cjs/ion-radio_2.cjs.entry.js +29 -31
  203. package/dist/cjs/ion-range.cjs.entry.js +28 -31
  204. package/dist/cjs/ion-refresher_2.cjs.entry.js +53 -73
  205. package/dist/cjs/ion-reorder_2.cjs.entry.js +22 -45
  206. package/dist/cjs/ion-ripple-effect.cjs.entry.js +12 -22
  207. package/dist/cjs/ion-route_4.cjs.entry.js +17 -17
  208. package/dist/cjs/ion-searchbar.cjs.entry.js +31 -107
  209. package/dist/cjs/ion-segment-content.cjs.entry.js +23 -0
  210. package/dist/cjs/ion-segment-view.cjs.entry.js +122 -0
  211. package/dist/cjs/ion-segment_2.cjs.entry.js +152 -47
  212. package/dist/cjs/ion-select-modal.cjs.entry.js +111 -0
  213. package/dist/cjs/ion-select_3.cjs.entry.js +98 -128
  214. package/dist/cjs/ion-spinner.cjs.entry.js +17 -42
  215. package/dist/cjs/ion-split-pane.cjs.entry.js +12 -16
  216. package/dist/cjs/ion-tab-bar_2.cjs.entry.js +28 -52
  217. package/dist/cjs/ion-tab_2.cjs.entry.js +14 -14
  218. package/dist/cjs/ion-text.cjs.entry.js +7 -7
  219. package/dist/cjs/ion-textarea.cjs.entry.js +32 -56
  220. package/dist/cjs/ion-toast.cjs.entry.js +43 -58
  221. package/dist/cjs/ion-toggle.cjs.entry.js +31 -88
  222. package/dist/cjs/ionic-global-d9a8bb5b.js +237 -0
  223. package/dist/cjs/ionic.cjs.js +7 -7
  224. package/dist/cjs/{ios.transition-4411892c.js → ios.transition-cf40433b.js} +7 -6
  225. package/dist/cjs/{keyboard-ed6e1327.js → keyboard-0272231f.js} +1 -1
  226. package/dist/cjs/{keyboard-e0062bfc.js → keyboard-af1bb365.js} +3 -4
  227. package/dist/cjs/{keyboard-controller-020444ad.js → keyboard-controller-c05e747a.js} +9 -11
  228. package/dist/cjs/loader.cjs.js +5 -5
  229. package/dist/cjs/{md.transition-261f9f67.js → md.transition-ededf99f.js} +7 -5
  230. package/dist/cjs/{notch-controller-70ad2323.js → notch-controller-d69150f5.js} +4 -4
  231. package/dist/cjs/{overlays-22320753.js → overlays-0123d7d4.js} +19 -18
  232. package/dist/cjs/{status-tap-cfc7f9a5.js → status-tap-37681226.js} +8 -8
  233. package/dist/cjs/{swipe-back-ecdf1cf5.js → swipe-back-0303a5e4.js} +1 -2
  234. package/dist/collection/collection-manifest.json +3 -0
  235. package/dist/collection/components/accordion/accordion.ios.css +58 -73
  236. package/dist/collection/components/accordion/accordion.js +21 -37
  237. package/dist/collection/components/accordion/accordion.md.css +59 -67
  238. package/dist/collection/components/accordion-group/accordion-group.ios.css +4 -16
  239. package/dist/collection/components/accordion-group/accordion-group.js +8 -11
  240. package/dist/collection/components/accordion-group/accordion-group.md.css +4 -22
  241. package/dist/collection/components/action-sheet/action-sheet.ios.css +6 -18
  242. package/dist/collection/components/action-sheet/action-sheet.js +10 -14
  243. package/dist/collection/components/action-sheet/action-sheet.md.css +5 -17
  244. package/dist/collection/components/alert/alert.ios.css +1 -19
  245. package/dist/collection/components/alert/alert.js +17 -18
  246. package/dist/collection/components/alert/alert.md.css +1 -19
  247. package/dist/collection/components/app/app.js +78 -12
  248. package/dist/collection/components/avatar/avatar.ios.css +0 -12
  249. package/dist/collection/components/avatar/avatar.js +4 -92
  250. package/dist/collection/components/avatar/avatar.md.css +0 -12
  251. package/dist/collection/components/back-button/back-button.ios.css +48 -60
  252. package/dist/collection/components/back-button/back-button.js +19 -27
  253. package/dist/collection/components/back-button/back-button.md.css +48 -60
  254. package/dist/collection/components/backdrop/backdrop.ios.css +1 -13
  255. package/dist/collection/components/backdrop/backdrop.js +6 -12
  256. package/dist/collection/components/backdrop/backdrop.md.css +1 -13
  257. package/dist/collection/components/badge/badge.ios.css +3 -106
  258. package/dist/collection/components/badge/badge.js +8 -75
  259. package/dist/collection/components/badge/badge.md.css +3 -106
  260. package/dist/collection/components/breadcrumb/breadcrumb.ios.css +8 -20
  261. package/dist/collection/components/breadcrumb/breadcrumb.js +11 -43
  262. package/dist/collection/components/breadcrumb/breadcrumb.md.css +8 -20
  263. package/dist/collection/components/breadcrumbs/breadcrumbs.ios.css +0 -6
  264. package/dist/collection/components/breadcrumbs/breadcrumbs.js +9 -11
  265. package/dist/collection/components/breadcrumbs/breadcrumbs.md.css +0 -6
  266. package/dist/collection/components/button/button.ios.css +36 -129
  267. package/dist/collection/components/button/button.js +16 -46
  268. package/dist/collection/components/button/button.md.css +40 -120
  269. package/dist/collection/components/buttons/buttons.ios.css +7 -59
  270. package/dist/collection/components/buttons/buttons.js +8 -14
  271. package/dist/collection/components/buttons/buttons.md.css +3 -55
  272. package/dist/collection/components/card/card.ios.css +14 -65
  273. package/dist/collection/components/card/card.js +10 -34
  274. package/dist/collection/components/card/card.md.css +14 -65
  275. package/dist/collection/components/card-content/card-content.ios.css +1 -16
  276. package/dist/collection/components/card-content/card-content.js +8 -11
  277. package/dist/collection/components/card-content/card-content.md.css +1 -16
  278. package/dist/collection/components/card-header/card-header.ios.css +15 -27
  279. package/dist/collection/components/card-header/card-header.js +9 -12
  280. package/dist/collection/components/card-header/card-header.md.css +15 -27
  281. package/dist/collection/components/card-subtitle/card-subtitle.ios.css +0 -12
  282. package/dist/collection/components/card-subtitle/card-subtitle.js +8 -11
  283. package/dist/collection/components/card-subtitle/card-subtitle.md.css +0 -12
  284. package/dist/collection/components/card-title/card-title.ios.css +0 -73
  285. package/dist/collection/components/card-title/card-title.js +8 -11
  286. package/dist/collection/components/card-title/card-title.md.css +0 -73
  287. package/dist/collection/components/checkbox/checkbox.ios.css +2 -20
  288. package/dist/collection/components/checkbox/checkbox.js +40 -64
  289. package/dist/collection/components/checkbox/checkbox.md.css +3 -21
  290. package/dist/collection/components/chip/chip.ios.css +1 -20
  291. package/dist/collection/components/chip/chip.js +8 -77
  292. package/dist/collection/components/chip/chip.md.css +1 -20
  293. package/dist/collection/components/col/col.css +0 -12
  294. package/dist/collection/components/col/col.js +5 -9
  295. package/dist/collection/components/content/content.css +2 -8
  296. package/dist/collection/components/content/content.js +11 -16
  297. package/dist/collection/components/datetime/datetime.ios.css +73 -232
  298. package/dist/collection/components/datetime/datetime.js +19 -95
  299. package/dist/collection/components/datetime/datetime.md.css +73 -232
  300. package/dist/collection/components/datetime/utils/data.js +3 -3
  301. package/dist/collection/components/datetime-button/datetime-button.ios.css +0 -6
  302. package/dist/collection/components/datetime-button/datetime-button.js +8 -11
  303. package/dist/collection/components/datetime-button/datetime-button.md.css +0 -6
  304. package/dist/collection/components/fab/fab.css +1 -25
  305. package/dist/collection/components/fab/fab.js +5 -9
  306. package/dist/collection/components/fab-button/fab-button.ios.css +6 -18
  307. package/dist/collection/components/fab-button/fab-button.js +15 -36
  308. package/dist/collection/components/fab-button/fab-button.md.css +8 -20
  309. package/dist/collection/components/fab-list/fab-list.css +0 -12
  310. package/dist/collection/components/fab-list/fab-list.js +5 -9
  311. package/dist/collection/components/footer/footer.ios.css +2 -14
  312. package/dist/collection/components/footer/footer.js +15 -20
  313. package/dist/collection/components/footer/footer.md.css +0 -12
  314. package/dist/collection/components/grid/grid.css +0 -12
  315. package/dist/collection/components/grid/grid.js +5 -9
  316. package/dist/collection/components/header/header.ios.css +10 -25
  317. package/dist/collection/components/header/header.js +17 -42
  318. package/dist/collection/components/header/header.md.css +8 -23
  319. package/dist/collection/components/img/img.js +2 -8
  320. package/dist/collection/components/infinite-scroll/infinite-scroll.js +4 -8
  321. package/dist/collection/components/infinite-scroll-content/infinite-scroll-content.ios.css +0 -12
  322. package/dist/collection/components/infinite-scroll-content/infinite-scroll-content.js +10 -16
  323. package/dist/collection/components/infinite-scroll-content/infinite-scroll-content.md.css +0 -12
  324. package/dist/collection/components/input/input.ios.css +2 -21
  325. package/dist/collection/components/input/input.js +30 -144
  326. package/dist/collection/components/input/input.md.css +4 -43
  327. package/dist/collection/components/input-password-toggle/input-password-toggle.js +12 -48
  328. package/dist/collection/components/item/item.ios.css +69 -109
  329. package/dist/collection/components/item/item.js +16 -44
  330. package/dist/collection/components/item/item.md.css +68 -120
  331. package/dist/collection/components/item-divider/item-divider.ios.css +0 -18
  332. package/dist/collection/components/item-divider/item-divider.js +8 -11
  333. package/dist/collection/components/item-divider/item-divider.md.css +0 -18
  334. package/dist/collection/components/item-group/item-group.ios.css +0 -12
  335. package/dist/collection/components/item-group/item-group.js +7 -13
  336. package/dist/collection/components/item-group/item-group.md.css +0 -12
  337. package/dist/collection/components/item-option/item-option.ios.css +2 -14
  338. package/dist/collection/components/item-option/item-option.js +8 -43
  339. package/dist/collection/components/item-option/item-option.md.css +2 -14
  340. package/dist/collection/components/item-options/item-options.ios.css +0 -18
  341. package/dist/collection/components/item-options/item-options.js +7 -13
  342. package/dist/collection/components/item-options/item-options.md.css +0 -18
  343. package/dist/collection/components/item-sliding/item-sliding.css +0 -6
  344. package/dist/collection/components/item-sliding/item-sliding.js +4 -8
  345. package/dist/collection/components/label/label.ios.css +0 -18
  346. package/dist/collection/components/label/label.js +8 -11
  347. package/dist/collection/components/label/label.md.css +0 -18
  348. package/dist/collection/components/list/list.ios.css +0 -18
  349. package/dist/collection/components/list/list.js +9 -47
  350. package/dist/collection/components/list/list.md.css +2 -20
  351. package/dist/collection/components/list-header/list-header.ios.css +0 -18
  352. package/dist/collection/components/list-header/list-header.js +8 -11
  353. package/dist/collection/components/list-header/list-header.md.css +0 -18
  354. package/dist/collection/components/loading/loading.ios.css +1 -13
  355. package/dist/collection/components/loading/loading.js +10 -13
  356. package/dist/collection/components/loading/loading.md.css +1 -13
  357. package/dist/collection/components/menu/menu.ios.css +3 -15
  358. package/dist/collection/components/menu/menu.js +52 -37
  359. package/dist/collection/components/menu/menu.md.css +3 -15
  360. package/dist/collection/components/menu-button/menu-button.ios.css +14 -48
  361. package/dist/collection/components/menu-button/menu-button.js +10 -26
  362. package/dist/collection/components/menu-button/menu-button.md.css +15 -49
  363. package/dist/collection/components/menu-toggle/menu-toggle.js +5 -8
  364. package/dist/collection/components/modal/animations/sheet.js +2 -8
  365. package/dist/collection/components/modal/gestures/sheet.js +6 -10
  366. package/dist/collection/components/modal/modal.ios.css +63 -106
  367. package/dist/collection/components/modal/modal.js +11 -47
  368. package/dist/collection/components/modal/modal.md.css +63 -106
  369. package/dist/collection/components/nav/nav.css +1 -7
  370. package/dist/collection/components/nav/nav.js +5 -11
  371. package/dist/collection/components/nav-link/nav-link.js +1 -5
  372. package/dist/collection/components/note/note.ios.css +0 -12
  373. package/dist/collection/components/note/note.js +8 -11
  374. package/dist/collection/components/note/note.md.css +0 -12
  375. package/dist/collection/components/picker/picker.ios.css +3 -15
  376. package/dist/collection/components/picker/picker.js +5 -8
  377. package/dist/collection/components/picker/picker.md.css +3 -15
  378. package/dist/collection/components/picker-column/picker-column.css +2 -9
  379. package/dist/collection/components/picker-column/picker-column.js +7 -8
  380. package/dist/collection/components/picker-column-option/picker-column-option.ios.css +0 -6
  381. package/dist/collection/components/picker-column-option/picker-column-option.js +7 -13
  382. package/dist/collection/components/picker-column-option/picker-column-option.md.css +0 -6
  383. package/dist/collection/components/picker-legacy/picker.ios.css +1 -13
  384. package/dist/collection/components/picker-legacy/picker.js +6 -7
  385. package/dist/collection/components/picker-legacy/picker.md.css +1 -13
  386. package/dist/collection/components/picker-legacy-column/picker-column.ios.css +0 -12
  387. package/dist/collection/components/picker-legacy-column/picker-column.js +4 -4
  388. package/dist/collection/components/picker-legacy-column/picker-column.md.css +0 -12
  389. package/dist/collection/components/popover/popover.ios.css +1 -13
  390. package/dist/collection/components/popover/popover.js +12 -15
  391. package/dist/collection/components/popover/popover.md.css +1 -13
  392. package/dist/collection/components/progress-bar/progress-bar.ios.css +2 -8
  393. package/dist/collection/components/progress-bar/progress-bar.js +7 -10
  394. package/dist/collection/components/progress-bar/progress-bar.md.css +2 -8
  395. package/dist/collection/components/radio/radio.ios.css +91 -134
  396. package/dist/collection/components/radio/radio.js +15 -16
  397. package/dist/collection/components/radio/radio.md.css +91 -134
  398. package/dist/collection/components/radio-group/radio-group.js +7 -11
  399. package/dist/collection/components/range/range.ios.css +0 -12
  400. package/dist/collection/components/range/range.js +9 -12
  401. package/dist/collection/components/range/range.md.css +0 -12
  402. package/dist/collection/components/refresher/refresher.ios.css +1 -14
  403. package/dist/collection/components/refresher/refresher.js +8 -11
  404. package/dist/collection/components/refresher/refresher.md.css +2 -15
  405. package/dist/collection/components/refresher-content/refresher-content.js +7 -28
  406. package/dist/collection/components/reorder/reorder.ios.css +0 -6
  407. package/dist/collection/components/reorder/reorder.js +6 -33
  408. package/dist/collection/components/reorder/reorder.md.css +0 -6
  409. package/dist/collection/components/reorder-group/reorder-group.css +0 -6
  410. package/dist/collection/components/reorder-group/reorder-group.js +4 -8
  411. package/dist/collection/components/ripple-effect/{ripple-effect.common.css → ripple-effect.css} +1 -7
  412. package/dist/collection/components/ripple-effect/ripple-effect.js +6 -14
  413. package/dist/collection/components/route/route.js +0 -4
  414. package/dist/collection/components/router/router.js +0 -4
  415. package/dist/collection/components/router-link/router-link.css +2 -8
  416. package/dist/collection/components/router-link/router-link.js +5 -9
  417. package/dist/collection/components/router-outlet/router-outlet.css +1 -7
  418. package/dist/collection/components/router-outlet/router-outlet.js +2 -5
  419. package/dist/collection/components/row/row.css +0 -12
  420. package/dist/collection/components/row/row.js +2 -9
  421. package/dist/collection/components/searchbar/searchbar.ios.css +18 -56
  422. package/dist/collection/components/searchbar/searchbar.js +25 -97
  423. package/dist/collection/components/searchbar/searchbar.md.css +18 -56
  424. package/dist/collection/components/segment/segment.ios.css +2 -45
  425. package/dist/collection/components/segment/segment.js +121 -23
  426. package/dist/collection/components/segment/segment.md.css +2 -45
  427. package/dist/collection/components/segment-button/segment-button.ios.css +105 -146
  428. package/dist/collection/components/segment-button/segment-button.js +46 -14
  429. package/dist/collection/components/segment-button/segment-button.md.css +107 -148
  430. package/dist/collection/components/segment-content/segment-content.css +6 -0
  431. package/dist/collection/components/segment-content/segment-content.js +21 -0
  432. package/dist/collection/components/segment-view/segment-view-interface.js +1 -0
  433. package/dist/collection/components/{input-password-toggle/input-password-toggle.common.css → segment-view/segment-view.ios.css} +29 -7
  434. package/dist/collection/components/segment-view/segment-view.js +227 -0
  435. package/dist/collection/components/{accordion-group/accordion-group.ionic.css → segment-view/segment-view.md.css} +49 -47
  436. package/dist/collection/components/select/select.ios.css +3 -22
  437. package/dist/collection/components/select/select.js +90 -93
  438. package/dist/collection/components/select/select.md.css +5 -38
  439. package/dist/collection/components/select-modal/select-modal-interface.js +1 -0
  440. package/dist/collection/components/select-modal/select-modal.ios.css +3 -0
  441. package/dist/collection/components/select-modal/select-modal.js +159 -0
  442. package/dist/collection/components/{segment/segment.ionic.css → select-modal/select-modal.md.css} +26 -33
  443. package/dist/collection/components/select-modal/test/fixtures.js +48 -0
  444. package/dist/collection/components/select-option/select-option.js +2 -9
  445. package/dist/collection/components/select-popover/select-popover.ios.css +0 -18
  446. package/dist/collection/components/select-popover/select-popover.js +4 -12
  447. package/dist/collection/components/select-popover/select-popover.md.css +0 -18
  448. package/dist/collection/components/skeleton-text/skeleton-text.css +0 -6
  449. package/dist/collection/components/skeleton-text/skeleton-text.js +5 -9
  450. package/dist/collection/components/spinner/{spinner.ionic.css → spinner.css} +0 -63
  451. package/dist/collection/components/spinner/spinner.js +6 -46
  452. package/dist/collection/components/split-pane/split-pane.ios.css +2 -20
  453. package/dist/collection/components/split-pane/split-pane.js +8 -14
  454. package/dist/collection/components/split-pane/split-pane.md.css +2 -20
  455. package/dist/collection/components/tab/tab.js +2 -6
  456. package/dist/collection/components/tab-bar/tab-bar.ios.css +43 -71
  457. package/dist/collection/components/tab-bar/tab-bar.js +10 -65
  458. package/dist/collection/components/tab-bar/tab-bar.md.css +43 -71
  459. package/dist/collection/components/tab-button/tab-button.ios.css +88 -103
  460. package/dist/collection/components/tab-button/tab-button.js +8 -11
  461. package/dist/collection/components/tab-button/tab-button.md.css +88 -103
  462. package/dist/collection/components/tabs/tabs.css +1 -7
  463. package/dist/collection/components/tabs/tabs.js +1 -4
  464. package/dist/collection/components/text/text.css +0 -6
  465. package/dist/collection/components/text/text.js +6 -7
  466. package/dist/collection/components/textarea/textarea.ios.css +96 -201
  467. package/dist/collection/components/textarea/textarea.js +16 -59
  468. package/dist/collection/components/textarea/textarea.md.css +97 -214
  469. package/dist/collection/components/thumbnail/thumbnail.css +0 -6
  470. package/dist/collection/components/thumbnail/thumbnail.js +2 -9
  471. package/dist/collection/components/title/title.ios.css +4 -32
  472. package/dist/collection/components/title/title.js +7 -13
  473. package/dist/collection/components/title/title.md.css +4 -32
  474. package/dist/collection/components/toast/animations/utils.js +1 -1
  475. package/dist/collection/components/toast/toast.ios.css +35 -74
  476. package/dist/collection/components/toast/toast.js +11 -45
  477. package/dist/collection/components/toast/toast.md.css +35 -74
  478. package/dist/collection/components/toggle/toggle.ios.css +120 -166
  479. package/dist/collection/components/toggle/toggle.js +18 -73
  480. package/dist/collection/components/toggle/toggle.md.css +120 -163
  481. package/dist/collection/components/toolbar/toolbar.ios.css +47 -90
  482. package/dist/collection/components/toolbar/toolbar.js +10 -13
  483. package/dist/collection/components/toolbar/toolbar.md.css +47 -90
  484. package/dist/collection/global/ionic-global.js +13 -229
  485. package/dist/collection/utils/focus-visible.js +0 -7
  486. package/dist/collection/utils/framework-delegate.js +1 -3
  487. package/dist/collection/utils/helpers.js +1 -3
  488. package/dist/collection/utils/keyboard/keyboard-controller.js +1 -3
  489. package/dist/collection/utils/menu-controller/animations/overlay.js +3 -3
  490. package/dist/collection/utils/menu-controller/animations/push.js +1 -2
  491. package/dist/collection/utils/menu-controller/animations/reveal.js +1 -2
  492. package/dist/collection/utils/menu-controller/index.js +2 -2
  493. package/dist/collection/utils/overlays.js +1 -2
  494. package/dist/collection/utils/test/playwright/generator.js +23 -48
  495. package/dist/collection/utils/test/playwright/page/utils/goto.js +5 -14
  496. package/dist/collection/utils/test/playwright/page/utils/set-content.js +1 -14
  497. package/dist/collection/utils/transition/ios.transition.js +0 -1
  498. package/dist/docs.json +734 -7013
  499. package/dist/esm/{animation-16546c84.js → animation-eab5a4ca.js} +1 -1
  500. package/dist/esm/{app-globals-35381e66.js → app-globals-5dbb61a5.js} +1 -1
  501. package/dist/esm/{button-active-c768aceb.js → button-active-f6503382.js} +2 -2
  502. package/dist/esm/{capacitor-0897b83c.js → capacitor-59395cbd.js} +1 -1
  503. package/dist/esm/{data-d9b1fbdb.js → data-ae11fd43.js} +4 -4
  504. package/dist/{cjs/focus-visible-9aa87fa3.js → esm/focus-visible-dd40d69f.js} +1 -11
  505. package/dist/esm/{framework-delegate-56698eb0.js → framework-delegate-63d1a679.js} +2 -4
  506. package/dist/esm/{haptic-d9a770b8.js → haptic-ac164e4c.js} +1 -1
  507. package/dist/esm/hardware-back-button-06ef3c3e.js +116 -0
  508. package/dist/esm/{helpers-d57f52c8.js → helpers-da915de8.js} +1 -4
  509. package/dist/esm/{index-82405a4a.js → index-24b48b06.js} +13 -12
  510. package/dist/esm/{config-0b6b1b3d.js → index-28849c61.js} +1 -76
  511. package/dist/esm/{index-edf94b3b.js → index-3ad7f18b.js} +6 -5
  512. package/dist/esm/{index-f8ad386a.js → index-5cc724f3.js} +2 -2
  513. package/dist/esm/index-79b30591.js +167 -0
  514. package/dist/esm/index-9b0d46f4.js +34 -0
  515. package/dist/esm/index-a5d50daf.js +7 -0
  516. package/dist/esm/{index-d997525d.js → index-e2cf2ceb.js} +1 -1
  517. package/dist/esm/index.js +13 -10
  518. package/dist/esm/{input-shims-0f3cc1c3.js → input-shims-0314bbe5.js} +6 -6
  519. package/dist/esm/{input.utils-ef4d8197.js → input.utils-09c71bc7.js} +3 -2
  520. package/dist/esm/ion-accordion_2.entry.js +24 -45
  521. package/dist/esm/ion-action-sheet.entry.js +19 -21
  522. package/dist/esm/ion-alert.entry.js +26 -25
  523. package/dist/esm/ion-app_8.entry.js +140 -95
  524. package/dist/esm/ion-avatar_3.entry.js +10 -93
  525. package/dist/esm/ion-back-button.entry.js +21 -30
  526. package/dist/esm/ion-backdrop.entry.js +7 -11
  527. package/dist/esm/ion-breadcrumb_2.entry.js +17 -54
  528. package/dist/esm/ion-button_2.entry.js +13 -43
  529. package/dist/esm/ion-card_5.entry.js +29 -52
  530. package/dist/esm/ion-checkbox.entry.js +16 -30
  531. package/dist/esm/ion-chip.entry.js +8 -43
  532. package/dist/esm/ion-col_3.entry.js +11 -14
  533. package/dist/esm/ion-datetime-button.entry.js +9 -12
  534. package/dist/esm/ion-datetime_3.entry.js +40 -113
  535. package/dist/esm/ion-fab_3.entry.js +21 -43
  536. package/dist/esm/ion-img.entry.js +4 -7
  537. package/dist/esm/ion-infinite-scroll_2.entry.js +15 -18
  538. package/dist/esm/ion-input-password-toggle.entry.js +15 -53
  539. package/dist/esm/ion-input.entry.js +25 -119
  540. package/dist/esm/ion-item-option_3.entry.js +18 -40
  541. package/dist/esm/ion-item_8.entry.js +42 -113
  542. package/dist/esm/ion-loading.entry.js +16 -17
  543. package/dist/esm/ion-menu_3.entry.js +45 -63
  544. package/dist/esm/ion-modal.entry.js +31 -58
  545. package/dist/esm/ion-nav_2.entry.js +12 -13
  546. package/dist/esm/ion-picker-column-option.entry.js +7 -11
  547. package/dist/esm/ion-picker-column.entry.js +12 -11
  548. package/dist/esm/ion-picker.entry.js +6 -10
  549. package/dist/esm/ion-popover.entry.js +16 -17
  550. package/dist/esm/ion-progress-bar.entry.js +8 -12
  551. package/dist/esm/ion-radio_2.entry.js +20 -22
  552. package/dist/esm/ion-range.entry.js +10 -13
  553. package/dist/esm/ion-refresher_2.entry.js +21 -41
  554. package/dist/esm/ion-reorder_2.entry.js +15 -38
  555. package/dist/esm/ion-ripple-effect.entry.js +8 -18
  556. package/dist/esm/ion-route_4.entry.js +8 -8
  557. package/dist/esm/ion-searchbar.entry.js +18 -94
  558. package/dist/esm/ion-segment-content.entry.js +19 -0
  559. package/dist/esm/ion-segment-view.entry.js +118 -0
  560. package/dist/esm/ion-segment_2.entry.js +143 -38
  561. package/dist/esm/ion-select-modal.entry.js +107 -0
  562. package/dist/esm/ion-select_3.entry.js +73 -103
  563. package/dist/esm/ion-spinner.entry.js +8 -33
  564. package/dist/esm/ion-split-pane.entry.js +9 -13
  565. package/dist/esm/ion-tab-bar_2.entry.js +20 -44
  566. package/dist/esm/ion-tab_2.entry.js +7 -7
  567. package/dist/esm/ion-text.entry.js +6 -6
  568. package/dist/esm/ion-textarea.entry.js +17 -41
  569. package/dist/esm/ion-toast.entry.js +18 -33
  570. package/dist/esm/ion-toggle.entry.js +23 -80
  571. package/dist/esm/ionic-global-c81d82ab.js +231 -0
  572. package/dist/esm/ionic.js +5 -5
  573. package/dist/esm/{ios.transition-4b9fe79e.js → ios.transition-4ee1a3af.js} +7 -6
  574. package/dist/esm/{keyboard-584d2e6f.js → keyboard-52278bd7.js} +3 -4
  575. package/dist/esm/{keyboard-ad38b8fc.js → keyboard-73175e24.js} +1 -1
  576. package/dist/esm/{keyboard-controller-9c9c2301.js → keyboard-controller-ec5c2bfa.js} +3 -5
  577. package/dist/esm/loader.js +5 -5
  578. package/dist/esm/{md.transition-a71dc418.js → md.transition-5106a0d2.js} +7 -5
  579. package/dist/esm/{notch-controller-4d9a7b28.js → notch-controller-55b09e11.js} +2 -2
  580. package/dist/esm/{overlays-9da9aef5.js → overlays-9c75ec54.js} +7 -6
  581. package/dist/esm/{status-tap-82f51b25.js → status-tap-f472b09f.js} +4 -4
  582. package/dist/esm/{swipe-back-c5709ce5.js → swipe-back-e5394307.js} +1 -2
  583. package/dist/esm-es5/animation-eab5a4ca.js +4 -0
  584. package/dist/esm-es5/app-globals-5dbb61a5.js +4 -0
  585. package/dist/esm-es5/button-active-f6503382.js +4 -0
  586. package/dist/esm-es5/capacitor-59395cbd.js +4 -0
  587. package/dist/esm-es5/data-ae11fd43.js +4 -0
  588. package/dist/esm-es5/focus-visible-dd40d69f.js +4 -0
  589. package/dist/esm-es5/framework-delegate-63d1a679.js +4 -0
  590. package/dist/esm-es5/{haptic-d9a770b8.js → haptic-ac164e4c.js} +1 -1
  591. package/dist/esm-es5/hardware-back-button-06ef3c3e.js +4 -0
  592. package/dist/esm-es5/helpers-da915de8.js +4 -0
  593. package/dist/esm-es5/index-24b48b06.js +4 -0
  594. package/dist/esm-es5/{config-0b6b1b3d.js → index-28849c61.js} +2 -2
  595. package/dist/esm-es5/index-3ad7f18b.js +4 -0
  596. package/dist/esm-es5/index-5cc724f3.js +4 -0
  597. package/dist/esm-es5/index-79b30591.js +4 -0
  598. package/dist/esm-es5/index-9b0d46f4.js +4 -0
  599. package/dist/esm-es5/index-a5d50daf.js +4 -0
  600. package/dist/esm-es5/{index-d997525d.js → index-e2cf2ceb.js} +1 -1
  601. package/dist/esm-es5/index.js +1 -1
  602. package/dist/esm-es5/input-shims-0314bbe5.js +4 -0
  603. package/dist/esm-es5/input.utils-09c71bc7.js +4 -0
  604. package/dist/esm-es5/ion-accordion_2.entry.js +1 -1
  605. package/dist/esm-es5/ion-action-sheet.entry.js +1 -1
  606. package/dist/esm-es5/ion-alert.entry.js +1 -1
  607. package/dist/esm-es5/ion-app_8.entry.js +1 -1
  608. package/dist/esm-es5/ion-avatar_3.entry.js +1 -1
  609. package/dist/esm-es5/ion-back-button.entry.js +1 -1
  610. package/dist/esm-es5/ion-backdrop.entry.js +1 -1
  611. package/dist/esm-es5/ion-breadcrumb_2.entry.js +1 -1
  612. package/dist/esm-es5/ion-button_2.entry.js +1 -1
  613. package/dist/esm-es5/ion-card_5.entry.js +1 -1
  614. package/dist/esm-es5/ion-checkbox.entry.js +2 -2
  615. package/dist/esm-es5/ion-chip.entry.js +1 -1
  616. package/dist/esm-es5/ion-col_3.entry.js +1 -1
  617. package/dist/esm-es5/ion-datetime-button.entry.js +1 -1
  618. package/dist/esm-es5/ion-datetime_3.entry.js +1 -1
  619. package/dist/esm-es5/ion-fab_3.entry.js +1 -1
  620. package/dist/esm-es5/ion-img.entry.js +1 -1
  621. package/dist/esm-es5/ion-infinite-scroll_2.entry.js +1 -1
  622. package/dist/esm-es5/ion-input-password-toggle.entry.js +1 -1
  623. package/dist/esm-es5/ion-input.entry.js +1 -1
  624. package/dist/esm-es5/ion-item-option_3.entry.js +1 -1
  625. package/dist/esm-es5/ion-item_8.entry.js +1 -1
  626. package/dist/esm-es5/ion-loading.entry.js +1 -1
  627. package/dist/esm-es5/ion-menu_3.entry.js +1 -1
  628. package/dist/esm-es5/ion-modal.entry.js +1 -1
  629. package/dist/esm-es5/ion-nav_2.entry.js +1 -1
  630. package/dist/esm-es5/ion-picker-column-option.entry.js +1 -1
  631. package/dist/esm-es5/ion-picker-column.entry.js +1 -1
  632. package/dist/esm-es5/ion-picker.entry.js +1 -1
  633. package/dist/esm-es5/ion-popover.entry.js +1 -1
  634. package/dist/esm-es5/ion-progress-bar.entry.js +1 -1
  635. package/dist/esm-es5/ion-radio_2.entry.js +1 -1
  636. package/dist/esm-es5/ion-range.entry.js +1 -1
  637. package/dist/esm-es5/ion-refresher_2.entry.js +1 -1
  638. package/dist/esm-es5/ion-reorder_2.entry.js +1 -1
  639. package/dist/esm-es5/ion-ripple-effect.entry.js +1 -1
  640. package/dist/esm-es5/ion-route_4.entry.js +1 -1
  641. package/dist/esm-es5/ion-searchbar.entry.js +1 -1
  642. package/dist/esm-es5/ion-segment-content.entry.js +4 -0
  643. package/dist/esm-es5/ion-segment-view.entry.js +4 -0
  644. package/dist/esm-es5/ion-segment_2.entry.js +1 -1
  645. package/dist/esm-es5/ion-select-modal.entry.js +4 -0
  646. package/dist/esm-es5/ion-select_3.entry.js +1 -1
  647. package/dist/esm-es5/ion-spinner.entry.js +1 -1
  648. package/dist/esm-es5/ion-split-pane.entry.js +1 -1
  649. package/dist/esm-es5/ion-tab-bar_2.entry.js +1 -1
  650. package/dist/esm-es5/ion-tab_2.entry.js +1 -1
  651. package/dist/esm-es5/ion-text.entry.js +1 -1
  652. package/dist/esm-es5/ion-textarea.entry.js +1 -1
  653. package/dist/esm-es5/ion-toast.entry.js +1 -1
  654. package/dist/esm-es5/ion-toggle.entry.js +1 -1
  655. package/dist/esm-es5/ionic-global-c81d82ab.js +4 -0
  656. package/dist/esm-es5/ionic.js +1 -1
  657. package/dist/esm-es5/ios.transition-4ee1a3af.js +4 -0
  658. package/dist/esm-es5/keyboard-52278bd7.js +4 -0
  659. package/dist/esm-es5/{keyboard-ad38b8fc.js → keyboard-73175e24.js} +1 -1
  660. package/dist/esm-es5/keyboard-controller-ec5c2bfa.js +4 -0
  661. package/dist/esm-es5/loader.js +1 -1
  662. package/dist/esm-es5/md.transition-5106a0d2.js +4 -0
  663. package/dist/esm-es5/notch-controller-55b09e11.js +4 -0
  664. package/dist/esm-es5/overlays-9c75ec54.js +4 -0
  665. package/dist/esm-es5/status-tap-f472b09f.js +4 -0
  666. package/dist/esm-es5/swipe-back-e5394307.js +4 -0
  667. package/dist/html.html-data.json +265 -2289
  668. package/dist/ionic/index.esm.js +1 -1
  669. package/dist/ionic/ionic.esm.js +1 -1
  670. package/dist/ionic/ionic.js +1 -1
  671. package/dist/ionic/{p-6f8c2e62.system.entry.js → p-01186920.system.entry.js} +1 -1
  672. package/dist/ionic/p-0303d0f8.js +4 -0
  673. package/dist/ionic/p-0574e87e.js +4 -0
  674. package/dist/ionic/p-06e58c4e.js +4 -0
  675. package/dist/ionic/p-06fee233.js +4 -0
  676. package/dist/ionic/p-081a4ce4.entry.js +4 -0
  677. package/dist/ionic/p-0c06e09b.system.js +4 -0
  678. package/dist/ionic/p-14be4015.entry.js +4 -0
  679. package/dist/ionic/p-15e76dd1.entry.js +4 -0
  680. package/dist/ionic/p-16188af7.entry.js +4 -0
  681. package/dist/ionic/p-16799667.system.entry.js +4 -0
  682. package/dist/ionic/p-16bfb979.system.entry.js +4 -0
  683. package/dist/ionic/p-17474161.system.js +4 -0
  684. package/dist/ionic/{p-61a51379.system.js → p-19ea7bff.system.js} +1 -1
  685. package/dist/ionic/p-19ec4f42.entry.js +4 -0
  686. package/dist/ionic/p-1acf0142.entry.js +4 -0
  687. package/dist/ionic/p-1c1b8e1f.entry.js +4 -0
  688. package/dist/ionic/p-1dfc11b3.system.js +4 -0
  689. package/dist/ionic/p-1e010627.system.entry.js +4 -0
  690. package/dist/ionic/p-1e4371bd.js +4 -0
  691. package/dist/ionic/p-1e67b266.system.entry.js +4 -0
  692. package/dist/ionic/{p-115d74cd.system.js → p-1e955a45.system.js} +1 -1
  693. package/dist/ionic/p-1ebd1e27.system.entry.js +4 -0
  694. package/dist/ionic/p-2097482f.entry.js +4 -0
  695. package/dist/ionic/{p-a65fe34d.system.entry.js → p-2172893e.system.entry.js} +1 -1
  696. package/dist/ionic/p-21e5e7e4.js +4 -0
  697. package/dist/ionic/p-22c020db.system.entry.js +4 -0
  698. package/dist/ionic/p-2507278c.system.entry.js +4 -0
  699. package/dist/ionic/p-25180df3.system.js +5 -0
  700. package/dist/ionic/p-2690b1de.js +4 -0
  701. package/dist/ionic/{p-4ed7dfdb.js → p-27281edd.js} +1 -1
  702. package/dist/ionic/{p-adec897a.system.entry.js → p-2799c6d3.system.entry.js} +1 -1
  703. package/dist/ionic/p-2abae1cc.system.entry.js +4 -0
  704. package/dist/ionic/p-2b7827c7.js +4 -0
  705. package/dist/ionic/p-2b838f86.system.entry.js +4 -0
  706. package/dist/ionic/p-2e46590d.system.entry.js +4 -0
  707. package/dist/ionic/p-2eba228d.system.entry.js +4 -0
  708. package/dist/ionic/p-312d16df.entry.js +4 -0
  709. package/dist/ionic/p-322c5fb4.system.js +4 -0
  710. package/dist/ionic/p-347ac2ef.system.entry.js +4 -0
  711. package/dist/ionic/p-34b11c24.js +4 -0
  712. package/dist/ionic/{p-2c5d7d84.system.js → p-372ae7f4.system.js} +1 -1
  713. package/dist/ionic/p-3ad285e3.system.js +4 -0
  714. package/dist/ionic/{p-d8339079.system.js → p-3c8e5c23.system.js} +1 -1
  715. package/dist/ionic/p-3cc276f4.js +4 -0
  716. package/dist/ionic/p-424eb140.system.entry.js +4 -0
  717. package/dist/ionic/p-4439fc2a.entry.js +4 -0
  718. package/dist/ionic/p-45693d7e.entry.js +4 -0
  719. package/dist/ionic/p-49a0e74c.entry.js +4 -0
  720. package/dist/ionic/p-4c2d5b80.system.js +4 -0
  721. package/dist/ionic/{p-6ecebfc6.entry.js → p-4ec778aa.entry.js} +1 -1
  722. package/dist/ionic/p-52d7a191.entry.js +4 -0
  723. package/dist/ionic/p-52f9cf4b.entry.js +4 -0
  724. package/dist/ionic/p-567de071.system.entry.js +4 -0
  725. package/dist/ionic/p-5823babc.system.entry.js +4 -0
  726. package/dist/ionic/p-58d5df0c.system.entry.js +4 -0
  727. package/dist/ionic/p-5972efea.system.entry.js +4 -0
  728. package/dist/ionic/p-5ab1b709.entry.js +4 -0
  729. package/dist/ionic/p-5b932840.entry.js +4 -0
  730. package/dist/ionic/{p-3bfe43bc.system.js → p-5da94421.system.js} +2 -2
  731. package/dist/ionic/p-5f9b0722.entry.js +4 -0
  732. package/dist/ionic/p-61e494dc.system.entry.js +4 -0
  733. package/dist/ionic/p-62af944c.entry.js +4 -0
  734. package/dist/ionic/p-63b0abde.system.entry.js +4 -0
  735. package/dist/ionic/p-66640ff7.system.entry.js +4 -0
  736. package/dist/ionic/p-69066a53.js +4 -0
  737. package/dist/ionic/p-69666e8a.system.entry.js +4 -0
  738. package/dist/ionic/p-6a901f69.system.entry.js +4 -0
  739. package/dist/ionic/p-6d32975a.entry.js +4 -0
  740. package/dist/ionic/p-6e2961d4.system.entry.js +4 -0
  741. package/dist/ionic/p-72812e99.js +4 -0
  742. package/dist/ionic/p-72bc8a1c.js +4 -0
  743. package/dist/ionic/p-73dc4950.entry.js +4 -0
  744. package/dist/ionic/{p-0695a0af.system.entry.js → p-7458862e.system.entry.js} +1 -1
  745. package/dist/ionic/p-792919fd.system.js +4 -0
  746. package/dist/ionic/p-797eeea8.system.entry.js +4 -0
  747. package/dist/ionic/p-7b30edcc.js +4 -0
  748. package/dist/ionic/p-7b9a2b23.entry.js +4 -0
  749. package/dist/ionic/p-7ed1657c.system.entry.js +4 -0
  750. package/dist/ionic/p-845f8376.entry.js +4 -0
  751. package/dist/ionic/p-8635f5e6.system.js +4 -0
  752. package/dist/ionic/p-88e63c7d.js +4 -0
  753. package/dist/ionic/{p-e61e3bb4.system.js → p-8985cdb6.system.js} +1 -1
  754. package/dist/ionic/{p-b9b36d56.js → p-89b61afc.js} +1 -1
  755. package/dist/ionic/p-908d6080.entry.js +4 -0
  756. package/dist/ionic/p-90df71aa.system.entry.js +4 -0
  757. package/dist/ionic/{p-747e9c9a.system.js → p-9146695e.system.js} +1 -1
  758. package/dist/ionic/p-937a7e21.entry.js +4 -0
  759. package/dist/ionic/p-94afeb70.entry.js +4 -0
  760. package/dist/ionic/p-95775830.entry.js +4 -0
  761. package/dist/ionic/p-96cc4814.js +4 -0
  762. package/dist/ionic/p-975fc268.system.entry.js +4 -0
  763. package/dist/ionic/{p-093de343.system.entry.js → p-98231c01.system.entry.js} +1 -1
  764. package/dist/ionic/p-985a7e17.system.entry.js +4 -0
  765. package/dist/ionic/p-98871496.system.js +4 -0
  766. package/dist/ionic/p-98e71235.system.entry.js +4 -0
  767. package/dist/ionic/p-98ff6b32.entry.js +4 -0
  768. package/dist/ionic/p-9c901780.entry.js +4 -0
  769. package/dist/ionic/p-9df2c6fb.entry.js +4 -0
  770. package/dist/ionic/{p-3a11234f.system.js → p-9ea607bd.system.js} +2 -2
  771. package/dist/ionic/p-9ee1e8a6.entry.js +4 -0
  772. package/dist/ionic/p-9f3008d4.system.js +4 -0
  773. package/dist/ionic/p-9fa07aec.entry.js +4 -0
  774. package/dist/ionic/p-a15ddedb.system.js +4 -0
  775. package/dist/ionic/p-a2aee540.entry.js +4 -0
  776. package/dist/ionic/p-a440397c.js +4 -0
  777. package/dist/ionic/p-a4565eb5.system.js +4 -0
  778. package/dist/ionic/p-a49378bb.system.entry.js +4 -0
  779. package/dist/ionic/p-a61cba41.entry.js +4 -0
  780. package/dist/ionic/p-a69b9fc5.system.js +4 -0
  781. package/dist/ionic/{p-f8e329da.system.js → p-a93873de.system.js} +1 -1
  782. package/dist/ionic/p-abe101da.system.js +4 -0
  783. package/dist/ionic/p-adbc4bdf.entry.js +4 -0
  784. package/dist/ionic/{p-4b153a9f.entry.js → p-afecb188.entry.js} +1 -1
  785. package/dist/ionic/{p-c9ef0ca7.system.js → p-b06ac4a5.system.js} +1 -1
  786. package/dist/ionic/p-b1e1364f.system.entry.js +4 -0
  787. package/dist/ionic/p-b51e4004.js +4 -0
  788. package/dist/ionic/p-b82d4cab.js +4 -0
  789. package/dist/ionic/p-b889e5de.system.js +4 -0
  790. package/dist/ionic/p-b9d7015f.entry.js +4 -0
  791. package/dist/ionic/p-bb0db172.entry.js +4 -0
  792. package/dist/ionic/p-bc36ad98.system.entry.js +4 -0
  793. package/dist/ionic/p-bdad26e3.entry.js +4 -0
  794. package/dist/ionic/p-c29f8157.system.entry.js +4 -0
  795. package/dist/ionic/p-c2b74d92.system.entry.js +4 -0
  796. package/dist/ionic/p-c41ac815.entry.js +4 -0
  797. package/dist/ionic/p-c468af8a.system.js +4 -0
  798. package/dist/ionic/p-c61cc894.js +4 -0
  799. package/dist/ionic/{p-d1e991c3.js → p-c7e16491.js} +1 -1
  800. package/dist/ionic/p-c9f3a539.entry.js +4 -0
  801. package/dist/ionic/p-ca065903.system.entry.js +4 -0
  802. package/dist/ionic/p-cac0e0b3.system.entry.js +4 -0
  803. package/dist/ionic/p-cfab4f20.entry.js +4 -0
  804. package/dist/ionic/p-d18ab582.system.entry.js +4 -0
  805. package/dist/ionic/p-d1db10ed.system.entry.js +4 -0
  806. package/dist/ionic/p-d47265c8.js +4 -0
  807. package/dist/ionic/{p-0a820472.js → p-d60342e3.js} +1 -1
  808. package/dist/ionic/p-d6841eac.js +4 -0
  809. package/dist/ionic/{p-dbfc5db6.js → p-d743e981.js} +1 -1
  810. package/dist/ionic/p-d77e12ca.entry.js +4 -0
  811. package/dist/ionic/p-d7aa6b00.entry.js +4 -0
  812. package/dist/ionic/{p-a9fd9d48.js → p-d836d43e.js} +2 -2
  813. package/dist/ionic/p-da074ff7.entry.js +4 -0
  814. package/dist/ionic/{p-58f16ef6.js → p-da2b833b.js} +1 -1
  815. package/dist/ionic/{p-2b428cf6.entry.js → p-de930745.entry.js} +1 -1
  816. package/dist/ionic/{p-25e2c98f.system.js → p-dfb78785.system.js} +1 -1
  817. package/dist/ionic/p-e4ee80be.system.entry.js +4 -0
  818. package/dist/ionic/p-e7ed4a7f.system.js +4 -0
  819. package/dist/ionic/p-e9a173ed.entry.js +4 -0
  820. package/dist/ionic/p-eba29931.entry.js +4 -0
  821. package/dist/ionic/p-eba81f15.entry.js +4 -0
  822. package/dist/ionic/p-ebf042e0.system.entry.js +4 -0
  823. package/dist/ionic/p-ecceeb90.js +4 -0
  824. package/dist/ionic/p-ed75fcfb.system.entry.js +4 -0
  825. package/dist/ionic/p-eedf2757.entry.js +4 -0
  826. package/dist/ionic/p-ef4a65bd.system.entry.js +4 -0
  827. package/dist/ionic/p-efaffe74.entry.js +4 -0
  828. package/dist/ionic/p-f1acf541.system.entry.js +4 -0
  829. package/dist/ionic/p-f3102647.system.entry.js +4 -0
  830. package/dist/ionic/p-f4bc18a1.system.entry.js +4 -0
  831. package/dist/ionic/{p-d9e1c48c.system.js → p-f687573e.system.js} +1 -1
  832. package/dist/ionic/p-f9a53abb.system.js +4 -0
  833. package/dist/ionic/p-fca6ef5f.system.entry.js +4 -0
  834. package/dist/ionic/p-ff4b7e40.system.js +4 -0
  835. package/dist/types/components/accordion/accordion.d.ts +3 -5
  836. package/dist/types/components/accordion-group/accordion-group.d.ts +1 -2
  837. package/dist/types/components/action-sheet/action-sheet-interface.d.ts +7 -3
  838. package/dist/types/components/action-sheet/action-sheet.d.ts +2 -3
  839. package/dist/types/components/alert/alert-interface.d.ts +7 -3
  840. package/dist/types/components/alert/alert.d.ts +2 -3
  841. package/dist/types/components/app/app.d.ts +2 -4
  842. package/dist/types/components/avatar/avatar.d.ts +0 -28
  843. package/dist/types/components/back-button/back-button.d.ts +1 -2
  844. package/dist/types/components/backdrop/backdrop.d.ts +0 -4
  845. package/dist/types/components/badge/badge.d.ts +1 -23
  846. package/dist/types/components/breadcrumb/breadcrumb.d.ts +1 -4
  847. package/dist/types/components/breadcrumbs/breadcrumbs.d.ts +2 -2
  848. package/dist/types/components/button/button.d.ts +4 -15
  849. package/dist/types/components/buttons/buttons.d.ts +1 -5
  850. package/dist/types/components/card/card.d.ts +1 -8
  851. package/dist/types/components/card-content/card-content.d.ts +1 -2
  852. package/dist/types/components/card-header/card-header.d.ts +2 -3
  853. package/dist/types/components/card-subtitle/card-subtitle.d.ts +1 -2
  854. package/dist/types/components/card-title/card-title.d.ts +1 -2
  855. package/dist/types/components/checkbox/checkbox.d.ts +6 -15
  856. package/dist/types/components/chip/chip.d.ts +1 -19
  857. package/dist/types/components/col/col.d.ts +0 -4
  858. package/dist/types/components/content/content.d.ts +0 -3
  859. package/dist/types/components/datetime/datetime.d.ts +1 -26
  860. package/dist/types/components/datetime/utils/data.d.ts +3 -3
  861. package/dist/types/components/datetime-button/datetime-button.d.ts +1 -2
  862. package/dist/types/components/fab/fab.d.ts +0 -4
  863. package/dist/types/components/fab-button/fab-button.d.ts +3 -5
  864. package/dist/types/components/fab-list/fab-list.d.ts +0 -4
  865. package/dist/types/components/footer/footer.d.ts +3 -4
  866. package/dist/types/components/grid/grid.d.ts +0 -4
  867. package/dist/types/components/header/header.d.ts +3 -9
  868. package/dist/types/components/img/img.d.ts +0 -3
  869. package/dist/types/components/infinite-scroll/infinite-scroll.d.ts +0 -4
  870. package/dist/types/components/infinite-scroll-content/infinite-scroll-content.d.ts +0 -4
  871. package/dist/types/components/input/input.d.ts +5 -31
  872. package/dist/types/components/input-password-toggle/input-password-toggle.d.ts +0 -2
  873. package/dist/types/components/item/item.d.ts +4 -11
  874. package/dist/types/components/item-divider/item-divider.d.ts +1 -2
  875. package/dist/types/components/item-group/item-group.d.ts +0 -4
  876. package/dist/types/components/item-option/item-option.d.ts +1 -11
  877. package/dist/types/components/item-options/item-options.d.ts +0 -4
  878. package/dist/types/components/item-sliding/item-sliding.d.ts +0 -4
  879. package/dist/types/components/label/label.d.ts +1 -2
  880. package/dist/types/components/list/list.d.ts +1 -15
  881. package/dist/types/components/list-header/list-header.d.ts +1 -2
  882. package/dist/types/components/loading/loading-interface.d.ts +7 -2
  883. package/dist/types/components/loading/loading.d.ts +2 -3
  884. package/dist/types/components/menu/menu-interface.d.ts +5 -2
  885. package/dist/types/components/menu/menu.d.ts +6 -9
  886. package/dist/types/components/menu-button/menu-button.d.ts +1 -3
  887. package/dist/types/components/menu-toggle/menu-toggle.d.ts +0 -3
  888. package/dist/types/components/modal/gestures/sheet.d.ts +1 -1
  889. package/dist/types/components/modal/modal-interface.d.ts +7 -4
  890. package/dist/types/components/modal/modal.d.ts +1 -11
  891. package/dist/types/components/nav/nav-interface.d.ts +1 -9
  892. package/dist/types/components/nav/nav.d.ts +1 -5
  893. package/dist/types/components/nav-link/nav-link.d.ts +0 -4
  894. package/dist/types/components/note/note.d.ts +1 -2
  895. package/dist/types/components/picker/picker.d.ts +1 -2
  896. package/dist/types/components/picker-column/picker-column.d.ts +1 -2
  897. package/dist/types/components/picker-column-option/picker-column-option.d.ts +0 -4
  898. package/dist/types/components/picker-legacy/picker.d.ts +1 -2
  899. package/dist/types/components/popover/popover-interface.d.ts +6 -3
  900. package/dist/types/components/popover/popover.d.ts +5 -6
  901. package/dist/types/components/progress-bar/progress-bar.d.ts +1 -2
  902. package/dist/types/components/radio/radio.d.ts +2 -3
  903. package/dist/types/components/radio-group/radio-group.d.ts +0 -4
  904. package/dist/types/components/range/range.d.ts +1 -2
  905. package/dist/types/components/refresher/refresher.d.ts +1 -2
  906. package/dist/types/components/refresher-content/refresher-content.d.ts +0 -4
  907. package/dist/types/components/reorder/reorder.d.ts +0 -9
  908. package/dist/types/components/reorder-group/reorder-group.d.ts +0 -4
  909. package/dist/types/components/ripple-effect/ripple-effect.d.ts +0 -4
  910. package/dist/types/components/route/route.d.ts +0 -4
  911. package/dist/types/components/router/router.d.ts +0 -4
  912. package/dist/types/components/router-link/router-link.d.ts +0 -4
  913. package/dist/types/components/router-outlet/router-outlet.d.ts +1 -4
  914. package/dist/types/components/row/row.d.ts +0 -4
  915. package/dist/types/components/searchbar/searchbar.d.ts +8 -30
  916. package/dist/types/components/segment/segment.d.ts +22 -3
  917. package/dist/types/components/segment-button/segment-button.d.ts +5 -2
  918. package/dist/types/components/segment-content/segment-content.d.ts +4 -0
  919. package/dist/types/components/segment-view/segment-view-interface.d.ts +4 -0
  920. package/dist/types/components/segment-view/segment-view.d.ts +55 -0
  921. package/dist/types/components/select/select-interface.d.ts +1 -1
  922. package/dist/types/components/select/select.d.ts +10 -24
  923. package/dist/types/components/select-modal/select-modal-interface.d.ts +10 -0
  924. package/dist/types/components/select-modal/select-modal.d.ts +16 -0
  925. package/dist/types/components/select-modal/test/fixtures.d.ts +16 -0
  926. package/dist/types/components/select-option/select-option.d.ts +0 -4
  927. package/dist/types/components/select-popover/select-popover.d.ts +0 -3
  928. package/dist/types/components/skeleton-text/skeleton-text.d.ts +0 -4
  929. package/dist/types/components/spinner/spinner.d.ts +0 -15
  930. package/dist/types/components/split-pane/split-pane.d.ts +0 -4
  931. package/dist/types/components/tab/tab.d.ts +0 -4
  932. package/dist/types/components/tab-bar/tab-bar.d.ts +2 -22
  933. package/dist/types/components/tab-button/tab-button.d.ts +1 -2
  934. package/dist/types/components/tabs/tabs.d.ts +0 -3
  935. package/dist/types/components/text/text.d.ts +1 -2
  936. package/dist/types/components/textarea/textarea.d.ts +4 -16
  937. package/dist/types/components/thumbnail/thumbnail.d.ts +0 -4
  938. package/dist/types/components/title/title.d.ts +0 -4
  939. package/dist/types/components/toast/animations/utils.d.ts +2 -2
  940. package/dist/types/components/toast/toast-interface.d.ts +7 -3
  941. package/dist/types/components/toast/toast.d.ts +2 -12
  942. package/dist/types/components/toggle/toggle.d.ts +1 -15
  943. package/dist/types/components/toolbar/toolbar.d.ts +3 -4
  944. package/dist/types/components.d.ts +288 -1374
  945. package/dist/types/global/ionic-global.d.ts +2 -27
  946. package/dist/types/interface.d.ts +0 -3
  947. package/dist/types/utils/config.d.ts +2 -106
  948. package/dist/types/utils/focus-visible.d.ts +0 -1
  949. package/dist/types/utils/overlays-interface.d.ts +2 -32
  950. package/dist/types/utils/test/playwright/generator.d.ts +2 -31
  951. package/hydrate/index.js +1335 -2338
  952. package/hydrate/index.mjs +1335 -2338
  953. package/package.json +4 -9
  954. package/components/caret-down.js +0 -6
  955. package/components/caret-left.js +0 -6
  956. package/components/caret-right.js +0 -6
  957. package/components/config2.js +0 -79
  958. package/components/list2.js +0 -6
  959. package/components/x.js +0 -6
  960. package/css/ionic/bundle.ionic.css +0 -1
  961. package/css/ionic/bundle.ionic.css.map +0 -1
  962. package/css/ionic/core.ionic.css +0 -1
  963. package/css/ionic/core.ionic.css.map +0 -1
  964. package/css/ionic/global.bundle.ionic.css +0 -1
  965. package/css/ionic/global.bundle.ionic.css.map +0 -1
  966. package/css/ionic/ionic-swiper.ionic.css +0 -1
  967. package/css/ionic/ionic-swiper.ionic.css.map +0 -1
  968. package/css/ionic/link.ionic.css +0 -1
  969. package/css/ionic/link.ionic.css.map +0 -1
  970. package/css/ionic/structure.ionic.css +0 -1
  971. package/css/ionic/structure.ionic.css.map +0 -1
  972. package/css/ionic/typography.ionic.css +0 -1
  973. package/css/ionic/typography.ionic.css.map +0 -1
  974. package/css/ionic/utils.bundle.ionic.css +0 -1
  975. package/css/ionic/utils.bundle.ionic.css.map +0 -1
  976. package/dist/cjs/caret-down-3c215cff.js +0 -8
  977. package/dist/cjs/caret-left-2bb66970.js +0 -8
  978. package/dist/cjs/caret-right-88e03970.js +0 -8
  979. package/dist/cjs/ionic-global-3647b9f5.js +0 -534
  980. package/dist/cjs/list-2930c629.js +0 -8
  981. package/dist/cjs/x-81a8f51c.js +0 -8
  982. package/dist/collection/components/accordion/accordion.ionic.css +0 -201
  983. package/dist/collection/components/avatar/avatar.ionic.css +0 -269
  984. package/dist/collection/components/backdrop/backdrop.ionic.css +0 -151
  985. package/dist/collection/components/badge/badge.ionic.css +0 -249
  986. package/dist/collection/components/button/button.ionic.css +0 -589
  987. package/dist/collection/components/buttons/buttons.ionic.css +0 -100
  988. package/dist/collection/components/card/card.ionic.css +0 -137
  989. package/dist/collection/components/card-content/card-content.ionic.css +0 -90
  990. package/dist/collection/components/card-header/card-header.ionic.css +0 -87
  991. package/dist/collection/components/card-subtitle/card-subtitle.ionic.css +0 -146
  992. package/dist/collection/components/checkbox/checkbox.ionic.css +0 -402
  993. package/dist/collection/components/chip/chip.ionic.css +0 -160
  994. package/dist/collection/components/datetime/datetime.ionic.css +0 -668
  995. package/dist/collection/components/header/header.ionic.css +0 -86
  996. package/dist/collection/components/input/input.ionic.css +0 -1096
  997. package/dist/collection/components/input-password-toggle/input-password-toggle.ionic.css +0 -141
  998. package/dist/collection/components/item/item.ionic.css +0 -501
  999. package/dist/collection/components/item-option/item-option.ionic.css +0 -332
  1000. package/dist/collection/components/item-options/item-options.ionic.css +0 -258
  1001. package/dist/collection/components/list/list.ionic.css +0 -193
  1002. package/dist/collection/components/list-header/list-header.ionic.css +0 -236
  1003. package/dist/collection/components/menu-button/menu-button.ionic.css +0 -238
  1004. package/dist/collection/components/modal/modal.ionic.css +0 -239
  1005. package/dist/collection/components/radio/radio.ionic.css +0 -418
  1006. package/dist/collection/components/ripple-effect/ripple-effect.ionic.css +0 -154
  1007. package/dist/collection/components/searchbar/searchbar.ionic.css +0 -345
  1008. package/dist/collection/components/segment-button/segment-button.ionic.css +0 -350
  1009. package/dist/collection/components/spinner/spinner.common.css +0 -199
  1010. package/dist/collection/components/tab-bar/tab-bar.ionic.css +0 -250
  1011. package/dist/collection/components/tab-button/tab-button.ionic.css +0 -271
  1012. package/dist/collection/components/textarea/textarea.ionic.css +0 -804
  1013. package/dist/collection/components/title/title.ionic.css +0 -145
  1014. package/dist/collection/components/toast/toast.ionic.css +0 -358
  1015. package/dist/collection/components/toggle/toggle.ionic.css +0 -419
  1016. package/dist/collection/components/toolbar/toolbar.ionic.css +0 -233
  1017. package/dist/esm/caret-down-3eaad1cc.js +0 -6
  1018. package/dist/esm/caret-left-33424bb0.js +0 -6
  1019. package/dist/esm/caret-right-68d856ad.js +0 -6
  1020. package/dist/esm/ionic-global-d7017fd9.js +0 -520
  1021. package/dist/esm/list-6524700c.js +0 -6
  1022. package/dist/esm/x-a64bcd9f.js +0 -6
  1023. package/dist/esm-es5/animation-16546c84.js +0 -4
  1024. package/dist/esm-es5/app-globals-35381e66.js +0 -4
  1025. package/dist/esm-es5/button-active-c768aceb.js +0 -4
  1026. package/dist/esm-es5/capacitor-0897b83c.js +0 -4
  1027. package/dist/esm-es5/caret-down-3eaad1cc.js +0 -4
  1028. package/dist/esm-es5/caret-left-33424bb0.js +0 -4
  1029. package/dist/esm-es5/caret-right-68d856ad.js +0 -4
  1030. package/dist/esm-es5/data-d9b1fbdb.js +0 -4
  1031. package/dist/esm-es5/focus-visible-501aff19.js +0 -4
  1032. package/dist/esm-es5/framework-delegate-56698eb0.js +0 -4
  1033. package/dist/esm-es5/helpers-d57f52c8.js +0 -4
  1034. package/dist/esm-es5/index-7f65e865.js +0 -4
  1035. package/dist/esm-es5/index-82405a4a.js +0 -4
  1036. package/dist/esm-es5/index-edf94b3b.js +0 -4
  1037. package/dist/esm-es5/index-f8ad386a.js +0 -4
  1038. package/dist/esm-es5/input-shims-0f3cc1c3.js +0 -4
  1039. package/dist/esm-es5/input.utils-ef4d8197.js +0 -4
  1040. package/dist/esm-es5/ionic-global-d7017fd9.js +0 -4
  1041. package/dist/esm-es5/ios.transition-4b9fe79e.js +0 -4
  1042. package/dist/esm-es5/keyboard-584d2e6f.js +0 -4
  1043. package/dist/esm-es5/keyboard-controller-9c9c2301.js +0 -4
  1044. package/dist/esm-es5/list-6524700c.js +0 -4
  1045. package/dist/esm-es5/md.transition-a71dc418.js +0 -4
  1046. package/dist/esm-es5/notch-controller-4d9a7b28.js +0 -4
  1047. package/dist/esm-es5/overlays-9da9aef5.js +0 -4
  1048. package/dist/esm-es5/status-tap-82f51b25.js +0 -4
  1049. package/dist/esm-es5/swipe-back-c5709ce5.js +0 -4
  1050. package/dist/esm-es5/x-a64bcd9f.js +0 -4
  1051. package/dist/ionic/p-01d80901.system.js +0 -4
  1052. package/dist/ionic/p-036e1c5b.entry.js +0 -4
  1053. package/dist/ionic/p-0689d382.entry.js +0 -4
  1054. package/dist/ionic/p-06ec4706.js +0 -4
  1055. package/dist/ionic/p-087e8765.system.entry.js +0 -4
  1056. package/dist/ionic/p-08df90cf.system.js +0 -4
  1057. package/dist/ionic/p-08f1ef0c.entry.js +0 -4
  1058. package/dist/ionic/p-0a701833.entry.js +0 -4
  1059. package/dist/ionic/p-1037b7dd.js +0 -4
  1060. package/dist/ionic/p-12e3e308.entry.js +0 -4
  1061. package/dist/ionic/p-13046601.system.entry.js +0 -4
  1062. package/dist/ionic/p-1331f417.system.entry.js +0 -4
  1063. package/dist/ionic/p-14719a77.entry.js +0 -4
  1064. package/dist/ionic/p-15d51b10.js +0 -4
  1065. package/dist/ionic/p-19ac8e04.system.entry.js +0 -4
  1066. package/dist/ionic/p-221e5078.system.js +0 -4
  1067. package/dist/ionic/p-243adf8c.js +0 -4
  1068. package/dist/ionic/p-25389914.entry.js +0 -4
  1069. package/dist/ionic/p-25564f4c.system.entry.js +0 -4
  1070. package/dist/ionic/p-26f7c080.system.js +0 -4
  1071. package/dist/ionic/p-28d04212.system.js +0 -4
  1072. package/dist/ionic/p-291dc0b3.system.entry.js +0 -4
  1073. package/dist/ionic/p-29d6d1fc.system.entry.js +0 -4
  1074. package/dist/ionic/p-2a559ac6.js +0 -4
  1075. package/dist/ionic/p-2a79e451.entry.js +0 -4
  1076. package/dist/ionic/p-2be91f19.entry.js +0 -4
  1077. package/dist/ionic/p-2c368e32.entry.js +0 -4
  1078. package/dist/ionic/p-2d580501.entry.js +0 -4
  1079. package/dist/ionic/p-2d621d56.system.entry.js +0 -4
  1080. package/dist/ionic/p-2da8c20c.system.entry.js +0 -4
  1081. package/dist/ionic/p-2e6d744f.system.entry.js +0 -4
  1082. package/dist/ionic/p-361c24e5.system.entry.js +0 -4
  1083. package/dist/ionic/p-36bdcfc4.js +0 -4
  1084. package/dist/ionic/p-388ac217.js +0 -4
  1085. package/dist/ionic/p-39d15e64.system.entry.js +0 -4
  1086. package/dist/ionic/p-3a5869c3.entry.js +0 -4
  1087. package/dist/ionic/p-3ca5196c.js +0 -4
  1088. package/dist/ionic/p-419fac38.entry.js +0 -4
  1089. package/dist/ionic/p-4228a245.entry.js +0 -4
  1090. package/dist/ionic/p-429dd2b5.system.js +0 -4
  1091. package/dist/ionic/p-434c7348.system.entry.js +0 -4
  1092. package/dist/ionic/p-45e150eb.js +0 -4
  1093. package/dist/ionic/p-46787abb.system.js +0 -4
  1094. package/dist/ionic/p-46cc2492.system.js +0 -4
  1095. package/dist/ionic/p-49a3fc76.entry.js +0 -4
  1096. package/dist/ionic/p-4a9b61ed.system.entry.js +0 -4
  1097. package/dist/ionic/p-4c251d59.entry.js +0 -4
  1098. package/dist/ionic/p-4d000ec5.entry.js +0 -4
  1099. package/dist/ionic/p-4e202665.js +0 -4
  1100. package/dist/ionic/p-51151575.system.entry.js +0 -4
  1101. package/dist/ionic/p-5468bfbf.entry.js +0 -4
  1102. package/dist/ionic/p-5b57d327.system.js +0 -4
  1103. package/dist/ionic/p-5ce35a03.js +0 -4
  1104. package/dist/ionic/p-607c9c33.js +0 -4
  1105. package/dist/ionic/p-643e2eb8.js +0 -4
  1106. package/dist/ionic/p-660f3b98.entry.js +0 -4
  1107. package/dist/ionic/p-6703f239.entry.js +0 -4
  1108. package/dist/ionic/p-68f3fa48.system.entry.js +0 -4
  1109. package/dist/ionic/p-69e54172.js +0 -4
  1110. package/dist/ionic/p-6a0dd6bc.js +0 -4
  1111. package/dist/ionic/p-6ad6d594.js +0 -4
  1112. package/dist/ionic/p-6b64dce1.entry.js +0 -4
  1113. package/dist/ionic/p-6d9e1887.system.entry.js +0 -4
  1114. package/dist/ionic/p-70c6cd75.system.js +0 -4
  1115. package/dist/ionic/p-719fca78.entry.js +0 -4
  1116. package/dist/ionic/p-71e8ffdd.system.js +0 -4
  1117. package/dist/ionic/p-726b9197.system.entry.js +0 -4
  1118. package/dist/ionic/p-73e32456.system.js +0 -4
  1119. package/dist/ionic/p-774d5b57.system.entry.js +0 -4
  1120. package/dist/ionic/p-776adb3d.entry.js +0 -4
  1121. package/dist/ionic/p-7811f251.system.entry.js +0 -4
  1122. package/dist/ionic/p-7d02004b.entry.js +0 -4
  1123. package/dist/ionic/p-7ebc381e.entry.js +0 -4
  1124. package/dist/ionic/p-80342c88.system.entry.js +0 -4
  1125. package/dist/ionic/p-8181e971.entry.js +0 -4
  1126. package/dist/ionic/p-8248976b.system.entry.js +0 -4
  1127. package/dist/ionic/p-836515ee.entry.js +0 -4
  1128. package/dist/ionic/p-8421aedf.js +0 -4
  1129. package/dist/ionic/p-8d7bc281.system.entry.js +0 -4
  1130. package/dist/ionic/p-931d77d5.entry.js +0 -4
  1131. package/dist/ionic/p-95c2258a.entry.js +0 -4
  1132. package/dist/ionic/p-974aaf78.entry.js +0 -4
  1133. package/dist/ionic/p-99ab41a8.system.entry.js +0 -4
  1134. package/dist/ionic/p-9abdb4a7.system.entry.js +0 -4
  1135. package/dist/ionic/p-9e4ede77.system.entry.js +0 -4
  1136. package/dist/ionic/p-9e8e25e4.system.js +0 -4
  1137. package/dist/ionic/p-9e9bff83.system.js +0 -4
  1138. package/dist/ionic/p-9f51595b.entry.js +0 -4
  1139. package/dist/ionic/p-9fa0b117.entry.js +0 -4
  1140. package/dist/ionic/p-9fcaadad.system.entry.js +0 -4
  1141. package/dist/ionic/p-a856dbc6.entry.js +0 -4
  1142. package/dist/ionic/p-a9af4103.js +0 -4
  1143. package/dist/ionic/p-aacc6ddd.system.js +0 -5
  1144. package/dist/ionic/p-ab6e0f02.system.entry.js +0 -4
  1145. package/dist/ionic/p-adaa7af1.entry.js +0 -4
  1146. package/dist/ionic/p-b19a9aa9.system.js +0 -4
  1147. package/dist/ionic/p-b297c7b5.system.js +0 -4
  1148. package/dist/ionic/p-b5bf8a04.entry.js +0 -4
  1149. package/dist/ionic/p-b6fc8ee2.system.entry.js +0 -4
  1150. package/dist/ionic/p-ba3ddec4.js +0 -4
  1151. package/dist/ionic/p-bad792a6.entry.js +0 -4
  1152. package/dist/ionic/p-bd50f24e.system.entry.js +0 -4
  1153. package/dist/ionic/p-c08a9937.system.entry.js +0 -4
  1154. package/dist/ionic/p-c248c88d.system.js +0 -4
  1155. package/dist/ionic/p-c24ff776.system.entry.js +0 -4
  1156. package/dist/ionic/p-c6191942.js +0 -4
  1157. package/dist/ionic/p-c6e47379.entry.js +0 -4
  1158. package/dist/ionic/p-c7e967c0.system.entry.js +0 -4
  1159. package/dist/ionic/p-c8097757.system.entry.js +0 -4
  1160. package/dist/ionic/p-c8f207d8.entry.js +0 -4
  1161. package/dist/ionic/p-cb131dda.system.entry.js +0 -4
  1162. package/dist/ionic/p-d0259f44.system.js +0 -4
  1163. package/dist/ionic/p-d0953ec9.system.entry.js +0 -4
  1164. package/dist/ionic/p-d10313a6.system.js +0 -4
  1165. package/dist/ionic/p-d2ef848a.entry.js +0 -4
  1166. package/dist/ionic/p-d346c889.system.entry.js +0 -4
  1167. package/dist/ionic/p-d67b88b0.system.entry.js +0 -4
  1168. package/dist/ionic/p-d8b501bd.system.entry.js +0 -4
  1169. package/dist/ionic/p-da968066.entry.js +0 -4
  1170. package/dist/ionic/p-db8aeb40.system.js +0 -4
  1171. package/dist/ionic/p-dd50ef12.js +0 -4
  1172. package/dist/ionic/p-df668729.entry.js +0 -4
  1173. package/dist/ionic/p-e270862e.js +0 -4
  1174. package/dist/ionic/p-e3b70846.system.js +0 -4
  1175. package/dist/ionic/p-e51ff133.system.entry.js +0 -4
  1176. package/dist/ionic/p-e5239905.system.entry.js +0 -4
  1177. package/dist/ionic/p-eeb60a8f.entry.js +0 -4
  1178. package/dist/ionic/p-eec767ca.entry.js +0 -4
  1179. package/dist/ionic/p-f065578f.js +0 -4
  1180. package/dist/ionic/p-f0d3419a.entry.js +0 -4
  1181. package/dist/ionic/p-f4ae533b.js +0 -4
  1182. package/dist/ionic/p-f61ce679.js +0 -4
  1183. package/dist/ionic/p-fbcb3139.entry.js +0 -4
  1184. package/dist/ionic/p-fca5d1b1.system.entry.js +0 -4
  1185. package/dist/ionic/p-ffa51f41.system.entry.js +0 -4
  1186. /package/dist/collection/components/{refresher-content/refresher-content.css → input-password-toggle/input-password-toggle.css} +0 -0
@@ -1,19 +1,16 @@
1
1
  /*!
2
2
  * (C) Ionic http://ionicframework.com - MIT License
3
3
  */
4
- import { r as registerInstance, j as createEvent, w as writeTask, l as h, m as Host, g as getElement, n as forceUpdate } from './config-0b6b1b3d.js';
5
- import { r as raf, a as addEventListener, b as removeEventListener, h as inheritAttributes } from './helpers-d57f52c8.js';
4
+ import { r as registerInstance, d as createEvent, w as writeTask, h, f as Host, i as getElement, j as forceUpdate } from './index-28849c61.js';
5
+ import { r as raf, a as addEventListener, b as removeEventListener, h as inheritAttributes } from './helpers-da915de8.js';
6
6
  import { i as isRTL } from './dir-babeabeb.js';
7
7
  import { c as createColorClasses, h as hostContext } from './theme-01f3f29c.js';
8
- import { c as getIonTheme } from './ionic-global-d7017fd9.js';
8
+ import { b as getIonMode } from './ionic-global-c81d82ab.js';
9
9
 
10
- const segmentIonicCss = ":host{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;display:grid;grid-auto-columns:1fr;position:relative;-ms-flex-align:stretch;align-items:stretch;-ms-flex-pack:center;justify-content:center;width:100%;background:var(--background);text-align:center;contain:paint;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}:host(.segment-scrollable){-ms-flex-pack:start;justify-content:start;width:auto;overflow-x:auto;grid-auto-columns:minmax(-webkit-min-content, 1fr);grid-auto-columns:minmax(min-content, 1fr)}:host(.segment-scrollable::-webkit-scrollbar){display:none}:host{--background:var(--ion-primitives-base-white, #ffffff)}";
11
- const IonSegmentIonicStyle0 = segmentIonicCss;
12
-
13
- const segmentIosCss = ":host{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;display:grid;grid-auto-columns:1fr;position:relative;-ms-flex-align:stretch;align-items:stretch;-ms-flex-pack:center;justify-content:center;width:100%;background:var(--background);text-align:center;contain:paint;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}:host(.segment-scrollable){-ms-flex-pack:start;justify-content:start;width:auto;overflow-x:auto;grid-auto-columns:minmax(-webkit-min-content, 1fr);grid-auto-columns:minmax(min-content, 1fr)}:host(.segment-scrollable::-webkit-scrollbar){display:none}:host{--ripple-color:currentColor;font-family:var(--ion-font-family, inherit)}:host{--background:rgba(var(--ion-text-color-rgb, 0, 0, 0), 0.065);border-radius:8px;overflow:hidden;z-index:0}:host(.ion-color){background:rgba(var(--ion-color-base-rgb), 0.065)}:host(.in-toolbar){-webkit-margin-start:auto;margin-inline-start:auto;-webkit-margin-end:auto;margin-inline-end:auto;margin-top:0;margin-bottom:0;width:auto}:host(.in-toolbar:not(.ion-color)){background:var(--ion-toolbar-segment-background, var(--background))}:host(.in-toolbar-color:not(.ion-color)){background:rgba(var(--ion-color-contrast-rgb), 0.11)}";
10
+ const segmentIosCss = ":host{--ripple-color:currentColor;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;display:grid;grid-auto-columns:1fr;position:relative;-ms-flex-align:stretch;align-items:stretch;-ms-flex-pack:center;justify-content:center;width:100%;background:var(--background);font-family:var(--ion-font-family, inherit);text-align:center;contain:paint;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}:host(.segment-scrollable){-ms-flex-pack:start;justify-content:start;width:auto;overflow-x:auto;grid-auto-columns:minmax(-webkit-min-content, 1fr);grid-auto-columns:minmax(min-content, 1fr)}:host(.segment-scrollable::-webkit-scrollbar){display:none}:host{--background:rgba(var(--ion-text-color-rgb, 0, 0, 0), 0.065);border-radius:8px;overflow:hidden;z-index:0}:host(.ion-color){background:rgba(var(--ion-color-base-rgb), 0.065)}:host(.in-toolbar){-webkit-margin-start:auto;margin-inline-start:auto;-webkit-margin-end:auto;margin-inline-end:auto;margin-top:0;margin-bottom:0;width:auto}:host(.in-toolbar:not(.ion-color)){background:var(--ion-toolbar-segment-background, var(--background))}:host(.in-toolbar-color:not(.ion-color)){background:rgba(var(--ion-color-contrast-rgb), 0.11)}";
14
11
  const IonSegmentIosStyle0 = segmentIosCss;
15
12
 
16
- const segmentMdCss = ":host{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;display:grid;grid-auto-columns:1fr;position:relative;-ms-flex-align:stretch;align-items:stretch;-ms-flex-pack:center;justify-content:center;width:100%;background:var(--background);text-align:center;contain:paint;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}:host(.segment-scrollable){-ms-flex-pack:start;justify-content:start;width:auto;overflow-x:auto;grid-auto-columns:minmax(-webkit-min-content, 1fr);grid-auto-columns:minmax(min-content, 1fr)}:host(.segment-scrollable::-webkit-scrollbar){display:none}:host{--ripple-color:currentColor;font-family:var(--ion-font-family, inherit)}:host{--background:transparent;grid-auto-columns:minmax(auto, 360px)}:host(.in-toolbar){min-height:var(--min-height)}:host(.segment-scrollable) ::slotted(ion-segment-button){min-width:auto}";
13
+ const segmentMdCss = ":host{--ripple-color:currentColor;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;display:grid;grid-auto-columns:1fr;position:relative;-ms-flex-align:stretch;align-items:stretch;-ms-flex-pack:center;justify-content:center;width:100%;background:var(--background);font-family:var(--ion-font-family, inherit);text-align:center;contain:paint;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}:host(.segment-scrollable){-ms-flex-pack:start;justify-content:start;width:auto;overflow-x:auto;grid-auto-columns:minmax(-webkit-min-content, 1fr);grid-auto-columns:minmax(min-content, 1fr)}:host(.segment-scrollable::-webkit-scrollbar){display:none}:host{--background:transparent;grid-auto-columns:minmax(auto, 360px)}:host(.in-toolbar){min-height:var(--min-height)}:host(.segment-scrollable) ::slotted(ion-segment-button){min-width:auto}";
17
14
  const IonSegmentMdStyle0 = segmentMdCss;
18
15
 
19
16
  const Segment = class {
@@ -22,6 +19,7 @@ const Segment = class {
22
19
  this.ionChange = createEvent(this, "ionChange", 7);
23
20
  this.ionSelect = createEvent(this, "ionSelect", 7);
24
21
  this.ionStyle = createEvent(this, "ionStyle", 7);
22
+ this.segmentViewEl = null;
25
23
  this.onClick = (ev) => {
26
24
  const current = ev.target;
27
25
  const previous = this.checked;
@@ -36,7 +34,13 @@ const Segment = class {
36
34
  if (current !== previous) {
37
35
  this.emitValueChange();
38
36
  }
39
- if (this.scrollable || !this.swipeGesture) {
37
+ if (this.segmentViewEl) {
38
+ this.updateSegmentView();
39
+ if (this.scrollable && previous) {
40
+ this.checkButton(previous, current);
41
+ }
42
+ }
43
+ else if (this.scrollable || !this.swipeGesture) {
40
44
  if (previous) {
41
45
  this.checkButton(previous, current);
42
46
  }
@@ -92,19 +96,49 @@ const Segment = class {
92
96
  swipeGestureChanged() {
93
97
  this.gestureChanged();
94
98
  }
95
- valueChanged(value) {
99
+ valueChanged(value, oldValue) {
100
+ // Force a value to exist if we're using a segment view
101
+ if (this.segmentViewEl && value === undefined) {
102
+ this.value = this.getButtons()[0].value;
103
+ return;
104
+ }
105
+ if (oldValue !== undefined && value !== undefined) {
106
+ const buttons = this.getButtons();
107
+ const previous = buttons.find((button) => button.value === oldValue);
108
+ const current = buttons.find((button) => button.value === value);
109
+ if (previous && current) {
110
+ if (!this.segmentViewEl) {
111
+ this.checkButton(previous, current);
112
+ }
113
+ else if (this.triggerScrollOnValueChange !== false) {
114
+ this.updateSegmentView();
115
+ }
116
+ }
117
+ }
118
+ else if (value !== undefined && oldValue === undefined && this.segmentViewEl) {
119
+ this.updateSegmentView();
120
+ }
96
121
  /**
97
122
  * `ionSelect` is emitted every time the value changes (internal or external changes).
98
123
  * Used by `ion-segment-button` to determine if the button should be checked.
99
124
  */
100
125
  this.ionSelect.emit({ value });
101
- this.scrollActiveButtonIntoView();
126
+ // The scroll listener should handle scrolling the active button into view as needed
127
+ if (!this.segmentViewEl) {
128
+ this.scrollActiveButtonIntoView();
129
+ }
130
+ this.triggerScrollOnValueChange = undefined;
102
131
  }
103
132
  disabledChanged() {
104
133
  this.gestureChanged();
105
- const buttons = this.getButtons();
106
- for (const button of buttons) {
107
- button.disabled = this.disabled;
134
+ if (!this.segmentViewEl) {
135
+ const buttons = this.getButtons();
136
+ for (const button of buttons) {
137
+ button.disabled = this.disabled;
138
+ }
139
+ }
140
+ else {
141
+ this.segmentViewEl.disabled = this.disabled;
108
142
  }
109
143
  }
110
144
  gestureChanged() {
@@ -114,6 +148,10 @@ const Segment = class {
114
148
  }
115
149
  connectedCallback() {
116
150
  this.emitStyle();
151
+ this.segmentViewEl = this.getSegmentView();
152
+ }
153
+ disconnectedCallback() {
154
+ this.segmentViewEl = null;
117
155
  }
118
156
  componentWillLoad() {
119
157
  this.emitStyle();
@@ -147,6 +185,9 @@ const Segment = class {
147
185
  if (this.disabled) {
148
186
  this.disabledChanged();
149
187
  }
188
+ // Update segment view based on the initial value,
189
+ // but do not animate the scroll
190
+ this.updateSegmentView(false);
150
191
  }
151
192
  onStart(detail) {
152
193
  this.valueBeforeGesture = this.value;
@@ -163,6 +204,7 @@ const Segment = class {
163
204
  if (value !== undefined) {
164
205
  if (this.valueBeforeGesture !== value) {
165
206
  this.emitValueChange();
207
+ this.updateSegmentView();
166
208
  }
167
209
  }
168
210
  this.valueBeforeGesture = undefined;
@@ -190,12 +232,7 @@ const Segment = class {
190
232
  setActivated(activated) {
191
233
  const buttons = this.getButtons();
192
234
  buttons.forEach((button) => {
193
- if (activated) {
194
- button.classList.add('segment-button-activated');
195
- }
196
- else {
197
- button.classList.remove('segment-button-activated');
198
- }
235
+ button.classList.toggle('segment-button-activated', activated);
199
236
  });
200
237
  this.activated = activated;
201
238
  }
@@ -246,6 +283,7 @@ const Segment = class {
246
283
  currentIndicator.classList.add('segment-button-indicator-animated');
247
284
  // Remove the transform to slide the indicator back to the button clicked
248
285
  currentIndicator.style.setProperty('transform', '');
286
+ this.scrollActiveButtonIntoView(true);
249
287
  });
250
288
  this.value = current.value;
251
289
  this.setCheckedClasses();
@@ -261,6 +299,60 @@ const Segment = class {
261
299
  buttons[next].classList.add('segment-button-after-checked');
262
300
  }
263
301
  }
302
+ getSegmentView() {
303
+ const buttons = this.getButtons();
304
+ // Get the first button with a contentId
305
+ const firstContentId = buttons.find((button) => button.contentId);
306
+ // Get the segment content with an id matching the button's contentId
307
+ const segmentContent = document.querySelector(`ion-segment-content[id="${firstContentId === null || firstContentId === void 0 ? void 0 : firstContentId.contentId}"]`);
308
+ // Return the segment view for that matching segment content
309
+ return segmentContent === null || segmentContent === void 0 ? void 0 : segmentContent.closest('ion-segment-view');
310
+ }
311
+ handleSegmentViewScroll(ev) {
312
+ const { scrollRatio, isManualScroll } = ev.detail;
313
+ if (!isManualScroll) {
314
+ return;
315
+ }
316
+ const dispatchedFrom = ev.target;
317
+ const segmentViewEl = this.segmentViewEl;
318
+ const segmentEl = this.el;
319
+ // Only update the indicator if the event was dispatched from the correct segment view
320
+ if (ev.composedPath().includes(segmentViewEl) || (dispatchedFrom === null || dispatchedFrom === void 0 ? void 0 : dispatchedFrom.contains(segmentEl))) {
321
+ const buttons = this.getButtons();
322
+ // If no buttons are found or there is no value set then do nothing
323
+ if (!buttons.length)
324
+ return;
325
+ const index = buttons.findIndex((button) => button.value === this.value);
326
+ const current = buttons[index];
327
+ const nextIndex = Math.round(scrollRatio * (buttons.length - 1));
328
+ if (this.lastNextIndex === undefined || this.lastNextIndex !== nextIndex) {
329
+ this.lastNextIndex = nextIndex;
330
+ this.triggerScrollOnValueChange = false;
331
+ this.checkButton(current, buttons[nextIndex]);
332
+ this.emitValueChange();
333
+ }
334
+ }
335
+ }
336
+ /**
337
+ * Finds the related segment view and sets its current content
338
+ * based on the selected segment button. This method
339
+ * should be called on initial load of the segment,
340
+ * after the gesture is completed (if dragging between segments)
341
+ * and when a segment button is clicked directly.
342
+ */
343
+ updateSegmentView(smoothScroll = true) {
344
+ const buttons = this.getButtons();
345
+ const button = buttons.find((btn) => btn.value === this.value);
346
+ // If the button does not have a contentId then there is
347
+ // no associated segment view to update
348
+ if (!(button === null || button === void 0 ? void 0 : button.contentId)) {
349
+ return;
350
+ }
351
+ const segmentView = this.segmentViewEl;
352
+ if (segmentView) {
353
+ segmentView.setContent(button.contentId, smoothScroll);
354
+ }
355
+ }
264
356
  scrollActiveButtonIntoView(smoothScroll = true) {
265
357
  const { scrollable, value, el } = this;
266
358
  if (scrollable) {
@@ -442,15 +534,15 @@ const Segment = class {
442
534
  current.setFocus();
443
535
  }
444
536
  render() {
445
- const theme = getIonTheme(this);
446
- return (h(Host, { key: '445f00b461180d88426d275da8f8ca19d1221e7d', role: "tablist", onClick: this.onClick, class: createColorClasses(this.color, {
447
- [theme]: true,
537
+ const mode = getIonMode(this);
538
+ return (h(Host, { key: '66bd7a565ba73540b3bbe56dd23b95e59bcef9bc', role: "tablist", onClick: this.onClick, class: createColorClasses(this.color, {
539
+ [mode]: true,
448
540
  'in-toolbar': hostContext('ion-toolbar', this.el),
449
541
  'in-toolbar-color': hostContext('ion-toolbar[color]', this.el),
450
542
  'segment-activated': this.activated,
451
543
  'segment-disabled': this.disabled,
452
544
  'segment-scrollable': this.scrollable,
453
- }) }, h("slot", { key: '6bf1ee7821242b92f0ddbdd1e2756f159e5ca4f6', onSlotchange: this.onSlottedItemsChange })));
545
+ }) }, h("slot", { key: '782c521b1a33729b8eab1c4b879bc3f2ff48ae1b', onSlotchange: this.onSlottedItemsChange })));
454
546
  }
455
547
  get el() { return getElement(this); }
456
548
  static get watchers() { return {
@@ -461,18 +553,14 @@ const Segment = class {
461
553
  }; }
462
554
  };
463
555
  Segment.style = {
464
- ionic: IonSegmentIonicStyle0,
465
556
  ios: IonSegmentIosStyle0,
466
557
  md: IonSegmentMdStyle0
467
558
  };
468
559
 
469
- const segmentButtonIonicCss = ":host{border-radius:var(--border-radius);display:-ms-flexbox;display:flex;position:relative;-ms-flex-direction:column;flex-direction:column;height:auto;background:var(--background);color:var(--color);text-decoration:none;text-overflow:ellipsis;white-space:nowrap;cursor:pointer;grid-row:1;-webkit-font-kerning:none;font-kerning:none}.button-native{border-radius:0;-webkit-margin-start:var(--margin-start);margin-inline-start:var(--margin-start);-webkit-margin-end:var(--margin-end);margin-inline-end:var(--margin-end);margin-top:var(--margin-top);margin-bottom:var(--margin-bottom);-webkit-padding-start:var(--padding-start);padding-inline-start:var(--padding-start);-webkit-padding-end:var(--padding-end);padding-inline-end:var(--padding-end);padding-top:var(--padding-top);padding-bottom:var(--padding-bottom);-webkit-transform:translate3d(0, 0, 0);transform:translate3d(0, 0, 0);display:-ms-flexbox;display:flex;position:relative;-ms-flex-direction:inherit;flex-direction:inherit;-ms-flex-positive:1;flex-grow:1;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;width:100%;min-width:inherit;max-width:inherit;height:auto;min-height:inherit;max-height:inherit;-webkit-transition:var(--transition);transition:var(--transition);border:none;outline:none;background:transparent;contain:content;pointer-events:none;overflow:hidden;z-index:2}.button-inner{display:-ms-flexbox;display:flex;position:relative;-ms-flex-flow:inherit;flex-flow:inherit;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;width:100%;height:100%;z-index:1}:host(.segment-button-checked){background:var(--background-checked);color:var(--color-checked)}:host(.segment-button-disabled){cursor:default;pointer-events:none}::slotted(ion-icon){-ms-flex-negative:0;flex-shrink:0;-ms-flex-order:-1;order:-1;pointer-events:none}::slotted(ion-label){display:block;-ms-flex-item-align:center;align-self:center;max-width:100%;text-overflow:ellipsis;white-space:nowrap;overflow:hidden;-webkit-box-sizing:border-box;box-sizing:border-box;pointer-events:none}:host(.segment-button-layout-icon-top) .button-native{-ms-flex-direction:column;flex-direction:column}:host(.segment-button-layout-icon-start) .button-native{-ms-flex-direction:row;flex-direction:row}:host(.segment-button-layout-icon-end) .button-native{-ms-flex-direction:row-reverse;flex-direction:row-reverse}:host(.segment-button-layout-icon-bottom) .button-native{-ms-flex-direction:column-reverse;flex-direction:column-reverse}:host(.segment-button-layout-icon-hide) ::slotted(ion-icon){display:none}:host(.segment-button-layout-label-hide) ::slotted(ion-label){display:none}.segment-button-indicator{-webkit-transform-origin:left;transform-origin:left;position:absolute;opacity:0;-webkit-box-sizing:border-box;box-sizing:border-box;will-change:transform, opacity;pointer-events:none}.segment-button-indicator-background{width:100%;height:var(--indicator-height);-webkit-transform:var(--indicator-transform);transform:var(--indicator-transform);background:var(--indicator-color);-webkit-box-shadow:var(--indicator-box-shadow);box-shadow:var(--indicator-box-shadow);pointer-events:none}.segment-button-indicator-animated{-webkit-transition:var(--indicator-transition);transition:var(--indicator-transition)}:host(.segment-button-checked) .segment-button-indicator{opacity:1}@media (prefers-reduced-motion: reduce){.segment-button-indicator-background{-webkit-transform:none;transform:none}.segment-button-indicator-animated{-webkit-transition:none;transition:none}}:host{--background:none;--background-checked:var(--background);--color:var(--ion-primitives-neutral-1000, #3b3b3b);--color-checked:var(--ion-semantics-primary-base, #105cef);--color-disabled:var(--ion-primitives-neutral-500, #a2a2a2);--border-width:var(--ion-border-size-025, 1px);--border-color:var(--ion-primitives-neutral-300, #cfcfcf);--border-style:var(--ion-border-style-solid, solid);--indicator-box-shadow:none;--indicator-color:var(--color-checked);--indicator-height:var(--ion-border-size-025, 1px);--indicator-transition:transform 250ms cubic-bezier(0.4, 0, 0.2, 1);--indicator-transform:none;--padding-top:var(--ion-space-200, 8px);--padding-end:var(--ion-space-200, 8px);--padding-bottom:var(--ion-space-200, 8px);--padding-start:var(--ion-space-200, 8px);--transition:color 0.15s linear 0s, opacity 0.15s linear 0s;min-width:var(--ion-scale-1200, 48px);min-height:var(--ion-scale-1200, 48px)}.button-native{border-bottom:var(--border-width) var(--border-style) var(--border-color);z-index:1}.button-inner{padding-top:var(--ion-space-100, 4px);padding-bottom:var(--ion-space-100, 4px);gap:var(--ion-space-100, 4px)}::slotted(ion-label){font-size:var(--ion-font-size-350, 0.875rem);font-weight:var(--ion-font-weight-medium, 500);letter-spacing:var(--ion-font-letter-spacing-1, 1%);line-height:var(--ion-font-line-height-500, 20px);text-decoration:none;text-transform:none;color:var(--color)}::slotted(ion-icon){width:var(--ion-scale-600, 24px);height:var(--ion-scale-600, 24px);color:var(--color)}:host(.segment-button-checked) ::slotted(ion-label),:host(.segment-button-checked) ::slotted(ion-icon){color:var(--color-checked)}:host(.segment-button-disabled) ::slotted(ion-label),:host(.segment-button-disabled) ::slotted(ion-icon){color:var(--color-disabled)}.segment-button-indicator{right:0;left:0;bottom:0;z-index:2}:host(.segment-button-layout-icon-top),:host(.segment-button-layout-icon-bottom){height:var(--ion-scale-1800, 72px)}:host(.segment-button-has-label-only),:host(.segment-button-has-icon-only),:host(.segment-button-layout-icon-start),:host(.segment-button-layout-icon-end){height:var(--ion-scale-1200, 48px)}:host(.segment-button-layout-icon-start) .button-inner,:host(.segment-button-layout-icon-end) .button-inner{gap:var(--ion-space-200, 8px)}";
470
- const IonSegmentButtonIonicStyle0 = segmentButtonIonicCss;
471
-
472
- const segmentButtonIosCss = ":host{border-radius:var(--border-radius);display:-ms-flexbox;display:flex;position:relative;-ms-flex-direction:column;flex-direction:column;height:auto;background:var(--background);color:var(--color);text-decoration:none;text-overflow:ellipsis;white-space:nowrap;cursor:pointer;grid-row:1;-webkit-font-kerning:none;font-kerning:none}.button-native{border-radius:0;-webkit-margin-start:var(--margin-start);margin-inline-start:var(--margin-start);-webkit-margin-end:var(--margin-end);margin-inline-end:var(--margin-end);margin-top:var(--margin-top);margin-bottom:var(--margin-bottom);-webkit-padding-start:var(--padding-start);padding-inline-start:var(--padding-start);-webkit-padding-end:var(--padding-end);padding-inline-end:var(--padding-end);padding-top:var(--padding-top);padding-bottom:var(--padding-bottom);-webkit-transform:translate3d(0, 0, 0);transform:translate3d(0, 0, 0);display:-ms-flexbox;display:flex;position:relative;-ms-flex-direction:inherit;flex-direction:inherit;-ms-flex-positive:1;flex-grow:1;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;width:100%;min-width:inherit;max-width:inherit;height:auto;min-height:inherit;max-height:inherit;-webkit-transition:var(--transition);transition:var(--transition);border:none;outline:none;background:transparent;contain:content;pointer-events:none;overflow:hidden;z-index:2}.button-inner{display:-ms-flexbox;display:flex;position:relative;-ms-flex-flow:inherit;flex-flow:inherit;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;width:100%;height:100%;z-index:1}:host(.segment-button-checked){background:var(--background-checked);color:var(--color-checked)}:host(.segment-button-disabled){cursor:default;pointer-events:none}::slotted(ion-icon){-ms-flex-negative:0;flex-shrink:0;-ms-flex-order:-1;order:-1;pointer-events:none}::slotted(ion-label){display:block;-ms-flex-item-align:center;align-self:center;max-width:100%;text-overflow:ellipsis;white-space:nowrap;overflow:hidden;-webkit-box-sizing:border-box;box-sizing:border-box;pointer-events:none}:host(.segment-button-layout-icon-top) .button-native{-ms-flex-direction:column;flex-direction:column}:host(.segment-button-layout-icon-start) .button-native{-ms-flex-direction:row;flex-direction:row}:host(.segment-button-layout-icon-end) .button-native{-ms-flex-direction:row-reverse;flex-direction:row-reverse}:host(.segment-button-layout-icon-bottom) .button-native{-ms-flex-direction:column-reverse;flex-direction:column-reverse}:host(.segment-button-layout-icon-hide) ::slotted(ion-icon){display:none}:host(.segment-button-layout-label-hide) ::slotted(ion-label){display:none}.segment-button-indicator{-webkit-transform-origin:left;transform-origin:left;position:absolute;opacity:0;-webkit-box-sizing:border-box;box-sizing:border-box;will-change:transform, opacity;pointer-events:none}.segment-button-indicator-background{width:100%;height:var(--indicator-height);-webkit-transform:var(--indicator-transform);transform:var(--indicator-transform);background:var(--indicator-color);-webkit-box-shadow:var(--indicator-box-shadow);box-shadow:var(--indicator-box-shadow);pointer-events:none}.segment-button-indicator-animated{-webkit-transition:var(--indicator-transition);transition:var(--indicator-transition)}:host(.segment-button-checked) .segment-button-indicator{opacity:1}@media (prefers-reduced-motion: reduce){.segment-button-indicator-background{-webkit-transform:none;transform:none}.segment-button-indicator-animated{-webkit-transition:none;transition:none}}:host{--color:initial;--color-hover:var(--color);--color-checked:var(--color);--padding-start:0;--padding-end:0;--padding-top:0;--padding-bottom:0}.button-native{color:inherit;font-family:inherit;font-size:inherit;font-style:inherit;font-weight:inherit;letter-spacing:inherit;text-align:inherit;text-decoration:inherit;text-indent:inherit;text-overflow:inherit;text-transform:inherit;white-space:inherit}.button-native::after{right:0;left:0;top:0;bottom:0;position:absolute;content:\"\";opacity:0}:host(.ion-focused) .button-native{color:var(--color-focused)}:host(.ion-focused) .button-native::after{background:var(--background-focused);opacity:var(--background-focused-opacity)}:host(:focus){outline:none}@media (any-hover: hover){:host(:hover) .button-native{color:var(--color-hover)}:host(:hover) .button-native::after{background:var(--background-hover);opacity:var(--background-hover-opacity)}:host(.segment-button-checked:hover) .button-native{color:var(--color-checked)}}::slotted(ion-label){line-height:22px}ion-ripple-effect{color:var(--ripple-color, var(--color-checked))}:host{--background:none;--background-checked:none;--background-hover:none;--background-hover-opacity:0;--background-focused:none;--background-focused-opacity:0;--border-radius:7px;--border-width:1px;--border-color:rgba(var(--ion-text-color-rgb, 0, 0, 0), 0.12);--border-style:solid;--indicator-box-shadow:0 0 5px rgba(0, 0, 0, 0.16);--indicator-color:var(--ion-color-step-350, var(--ion-background-color-step-350, var(--ion-background-color, #fff)));--indicator-height:100%;--indicator-transition:transform 260ms cubic-bezier(0.4, 0, 0.2, 1);--indicator-transform:none;--transition:100ms all linear;--padding-top:0;--padding-end:13px;--padding-bottom:0;--padding-start:13px;margin-top:2px;margin-bottom:2px;position:relative;-ms-flex-direction:row;flex-direction:row;min-width:70px;min-height:28px;-webkit-transform:translate3d(0, 0, 0);transform:translate3d(0, 0, 0);font-size:13px;font-weight:450;line-height:37px}:host::before{margin-left:0;margin-right:0;margin-top:5px;margin-bottom:5px;-webkit-transition:160ms opacity ease-in-out;transition:160ms opacity ease-in-out;-webkit-transition-delay:100ms;transition-delay:100ms;border-left:var(--border-width) var(--border-style) var(--border-color);content:\"\";opacity:1;will-change:opacity}:host(:first-of-type)::before{border-left-color:transparent}:host(.segment-button-disabled){opacity:0.3}::slotted(ion-icon){font-size:24px}:host(.segment-button-layout-icon-start) ::slotted(ion-label){-webkit-margin-start:2px;margin-inline-start:2px;-webkit-margin-end:0;margin-inline-end:0}:host(.segment-button-layout-icon-end) ::slotted(ion-label){-webkit-margin-start:0;margin-inline-start:0;-webkit-margin-end:2px;margin-inline-end:2px}.segment-button-indicator{-webkit-padding-start:2px;padding-inline-start:2px;-webkit-padding-end:2px;padding-inline-end:2px;right:0;left:0;top:0;bottom:0}.segment-button-indicator-background{border-radius:var(--border-radius);-webkit-transition:var(--indicator-transition);transition:var(--indicator-transition)}:host(.segment-button-checked)::before,:host(.segment-button-after-checked)::before{opacity:0}:host(.segment-button-checked){z-index:-1}:host(.segment-button-activated){--indicator-transform:scale(0.95)}:host(.ion-focused) .button-native{opacity:0.7}@media (any-hover: hover){:host(:hover) .button-native{opacity:0.5}:host(.segment-button-checked:hover) .button-native{opacity:1}}:host(.in-segment-color){background:none;color:var(--ion-text-color, #000)}:host(.in-segment-color) .segment-button-indicator-background{background:var(--ion-color-step-350, var(--ion-background-color-step-350, var(--ion-background-color, #fff)))}@media (any-hover: hover){:host(.in-segment-color:hover) .button-native,:host(.in-segment-color.segment-button-checked:hover) .button-native{color:var(--ion-text-color, #000)}}:host(.in-toolbar:not(.in-segment-color)){--background-checked:var(--ion-toolbar-segment-background-checked, none);--color:var(--ion-toolbar-segment-color, var(--ion-toolbar-color), initial);--color-checked:var(--ion-toolbar-segment-color-checked, var(--ion-toolbar-color), initial);--indicator-color:var(--ion-toolbar-segment-indicator-color, var(--ion-color-step-350, var(--ion-background-color-step-350, var(--ion-background-color, #fff))))}:host(.in-toolbar-color) .segment-button-indicator-background{background:var(--ion-color-contrast)}:host(.in-toolbar-color:not(.in-segment-color)) .button-native{color:var(--ion-color-contrast)}:host(.in-toolbar-color.segment-button-checked:not(.in-segment-color)) .button-native{color:var(--ion-color-base)}@media (any-hover: hover){:host(.in-toolbar-color:not(.in-segment-color):hover) .button-native{color:var(--ion-color-contrast)}:host(.in-toolbar-color.segment-button-checked:not(.in-segment-color):hover) .button-native{color:var(--ion-color-base)}}";
560
+ const segmentButtonIosCss = ":host{--color:initial;--color-hover:var(--color);--color-checked:var(--color);--color-disabled:var(--color);--padding-start:0;--padding-end:0;--padding-top:0;--padding-bottom:0;border-radius:var(--border-radius);display:-ms-flexbox;display:flex;position:relative;-ms-flex-direction:column;flex-direction:column;height:auto;background:var(--background);color:var(--color);text-decoration:none;text-overflow:ellipsis;white-space:nowrap;cursor:pointer;grid-row:1;-webkit-font-kerning:none;font-kerning:none}.button-native{border-radius:0;font-family:inherit;font-size:inherit;font-style:inherit;font-weight:inherit;letter-spacing:inherit;text-decoration:inherit;text-indent:inherit;text-overflow:inherit;text-transform:inherit;text-align:inherit;white-space:inherit;color:inherit;-webkit-margin-start:var(--margin-start);margin-inline-start:var(--margin-start);-webkit-margin-end:var(--margin-end);margin-inline-end:var(--margin-end);margin-top:var(--margin-top);margin-bottom:var(--margin-bottom);-webkit-padding-start:var(--padding-start);padding-inline-start:var(--padding-start);-webkit-padding-end:var(--padding-end);padding-inline-end:var(--padding-end);padding-top:var(--padding-top);padding-bottom:var(--padding-bottom);-webkit-transform:translate3d(0, 0, 0);transform:translate3d(0, 0, 0);display:-ms-flexbox;display:flex;position:relative;-ms-flex-direction:inherit;flex-direction:inherit;-ms-flex-positive:1;flex-grow:1;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;width:100%;min-width:inherit;max-width:inherit;height:auto;min-height:inherit;max-height:inherit;-webkit-transition:var(--transition);transition:var(--transition);border:none;outline:none;background:transparent;contain:content;pointer-events:none;overflow:hidden;z-index:2}.button-native::after{left:0;right:0;top:0;bottom:0;position:absolute;content:\"\";opacity:0}.button-inner{display:-ms-flexbox;display:flex;position:relative;-ms-flex-flow:inherit;flex-flow:inherit;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;width:100%;height:100%;z-index:1}:host(.segment-button-checked){background:var(--background-checked);color:var(--color-checked)}:host(.segment-button-disabled){cursor:default;pointer-events:none}:host(.ion-focused) .button-native{color:var(--color-focused)}:host(.ion-focused) .button-native::after{background:var(--background-focused);opacity:var(--background-focused-opacity)}:host(:focus){outline:none}@media (any-hover: hover){:host(:hover) .button-native{color:var(--color-hover)}:host(:hover) .button-native::after{background:var(--background-hover);opacity:var(--background-hover-opacity)}:host(.segment-button-checked:hover) .button-native{color:var(--color-checked)}}::slotted(ion-icon){-ms-flex-negative:0;flex-shrink:0;-ms-flex-order:-1;order:-1;pointer-events:none}::slotted(ion-label){display:block;-ms-flex-item-align:center;align-self:center;max-width:100%;line-height:22px;text-overflow:ellipsis;white-space:nowrap;overflow:hidden;-webkit-box-sizing:border-box;box-sizing:border-box;pointer-events:none}:host(.segment-button-layout-icon-top) .button-native{-ms-flex-direction:column;flex-direction:column}:host(.segment-button-layout-icon-start) .button-native{-ms-flex-direction:row;flex-direction:row}:host(.segment-button-layout-icon-end) .button-native{-ms-flex-direction:row-reverse;flex-direction:row-reverse}:host(.segment-button-layout-icon-bottom) .button-native{-ms-flex-direction:column-reverse;flex-direction:column-reverse}:host(.segment-button-layout-icon-hide) ::slotted(ion-icon){display:none}:host(.segment-button-layout-label-hide) ::slotted(ion-label){display:none}ion-ripple-effect{color:var(--ripple-color, var(--color-checked))}.segment-button-indicator{-webkit-transform-origin:left;transform-origin:left;position:absolute;opacity:0;-webkit-box-sizing:border-box;box-sizing:border-box;will-change:transform, opacity;pointer-events:none}.segment-button-indicator-background{width:100%;height:var(--indicator-height);-webkit-transform:var(--indicator-transform);transform:var(--indicator-transform);-webkit-box-shadow:var(--indicator-box-shadow);box-shadow:var(--indicator-box-shadow);pointer-events:none}.segment-button-indicator-animated{-webkit-transition:var(--indicator-transition);transition:var(--indicator-transition)}:host(.segment-button-checked) .segment-button-indicator{opacity:1}@media (prefers-reduced-motion: reduce){.segment-button-indicator-background{-webkit-transform:none;transform:none}.segment-button-indicator-animated{-webkit-transition:none;transition:none}}:host{--background:none;--background-checked:none;--background-hover:none;--background-hover-opacity:0;--background-focused:none;--background-focused-opacity:0;--border-radius:7px;--border-width:1px;--border-color:rgba(var(--ion-text-color-rgb, 0, 0, 0), 0.12);--border-style:solid;--indicator-box-shadow:0 0 5px rgba(0, 0, 0, 0.16);--indicator-color:var(--ion-color-step-350, var(--ion-background-color-step-350, var(--ion-background-color, #fff)));--indicator-height:100%;--indicator-transition:transform 260ms cubic-bezier(0.4, 0, 0.2, 1);--indicator-transform:none;--transition:100ms all linear;--padding-top:0;--padding-end:13px;--padding-bottom:0;--padding-start:13px;margin-top:2px;margin-bottom:2px;position:relative;-ms-flex-direction:row;flex-direction:row;min-width:70px;min-height:28px;-webkit-transform:translate3d(0, 0, 0);transform:translate3d(0, 0, 0);font-size:13px;font-weight:450;line-height:37px}:host::before{margin-left:0;margin-right:0;margin-top:5px;margin-bottom:5px;-webkit-transition:160ms opacity ease-in-out;transition:160ms opacity ease-in-out;-webkit-transition-delay:100ms;transition-delay:100ms;border-left:var(--border-width) var(--border-style) var(--border-color);content:\"\";opacity:1;will-change:opacity}:host(:first-of-type)::before{border-left-color:transparent}:host(.segment-button-disabled){opacity:0.3}::slotted(ion-icon){font-size:24px}:host(.segment-button-layout-icon-start) ::slotted(ion-label){-webkit-margin-start:2px;margin-inline-start:2px;-webkit-margin-end:0;margin-inline-end:0}:host(.segment-button-layout-icon-end) ::slotted(ion-label){-webkit-margin-start:0;margin-inline-start:0;-webkit-margin-end:2px;margin-inline-end:2px}.segment-button-indicator{-webkit-padding-start:2px;padding-inline-start:2px;-webkit-padding-end:2px;padding-inline-end:2px;left:0;right:0;top:0;bottom:0}.segment-button-indicator-background{border-radius:var(--border-radius);background:var(--indicator-color)}.segment-button-indicator-background{-webkit-transition:var(--indicator-transition);transition:var(--indicator-transition)}:host(.segment-button-checked)::before,:host(.segment-button-after-checked)::before{opacity:0}:host(.segment-button-checked){z-index:-1}:host(.segment-button-activated){--indicator-transform:scale(0.95)}:host(.ion-focused) .button-native{opacity:0.7}@media (any-hover: hover){:host(:hover) .button-native{opacity:0.5}:host(.segment-button-checked:hover) .button-native{opacity:1}}:host(.in-segment-color){background:none;color:var(--ion-text-color, #000)}:host(.in-segment-color) .segment-button-indicator-background{background:var(--ion-color-step-350, var(--ion-background-color-step-350, var(--ion-background-color, #fff)))}@media (any-hover: hover){:host(.in-segment-color:hover) .button-native,:host(.in-segment-color.segment-button-checked:hover) .button-native{color:var(--ion-text-color, #000)}}:host(.in-toolbar:not(.in-segment-color)){--background-checked:var(--ion-toolbar-segment-background-checked, none);--color:var(--ion-toolbar-segment-color, var(--ion-toolbar-color), initial);--color-checked:var(--ion-toolbar-segment-color-checked, var(--ion-toolbar-color), initial);--indicator-color:var(--ion-toolbar-segment-indicator-color, var(--ion-color-step-350, var(--ion-background-color-step-350, var(--ion-background-color, #fff))))}:host(.in-toolbar-color) .segment-button-indicator-background{background:var(--ion-color-contrast)}:host(.in-toolbar-color:not(.in-segment-color)) .button-native{color:var(--ion-color-contrast)}:host(.in-toolbar-color.segment-button-checked:not(.in-segment-color)) .button-native{color:var(--ion-color-base)}@media (any-hover: hover){:host(.in-toolbar-color:not(.in-segment-color):hover) .button-native{color:var(--ion-color-contrast)}:host(.in-toolbar-color.segment-button-checked:not(.in-segment-color):hover) .button-native{color:var(--ion-color-base)}}";
473
561
  const IonSegmentButtonIosStyle0 = segmentButtonIosCss;
474
562
 
475
- const segmentButtonMdCss = ":host{border-radius:var(--border-radius);display:-ms-flexbox;display:flex;position:relative;-ms-flex-direction:column;flex-direction:column;height:auto;background:var(--background);color:var(--color);text-decoration:none;text-overflow:ellipsis;white-space:nowrap;cursor:pointer;grid-row:1;-webkit-font-kerning:none;font-kerning:none}.button-native{border-radius:0;-webkit-margin-start:var(--margin-start);margin-inline-start:var(--margin-start);-webkit-margin-end:var(--margin-end);margin-inline-end:var(--margin-end);margin-top:var(--margin-top);margin-bottom:var(--margin-bottom);-webkit-padding-start:var(--padding-start);padding-inline-start:var(--padding-start);-webkit-padding-end:var(--padding-end);padding-inline-end:var(--padding-end);padding-top:var(--padding-top);padding-bottom:var(--padding-bottom);-webkit-transform:translate3d(0, 0, 0);transform:translate3d(0, 0, 0);display:-ms-flexbox;display:flex;position:relative;-ms-flex-direction:inherit;flex-direction:inherit;-ms-flex-positive:1;flex-grow:1;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;width:100%;min-width:inherit;max-width:inherit;height:auto;min-height:inherit;max-height:inherit;-webkit-transition:var(--transition);transition:var(--transition);border:none;outline:none;background:transparent;contain:content;pointer-events:none;overflow:hidden;z-index:2}.button-inner{display:-ms-flexbox;display:flex;position:relative;-ms-flex-flow:inherit;flex-flow:inherit;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;width:100%;height:100%;z-index:1}:host(.segment-button-checked){background:var(--background-checked);color:var(--color-checked)}:host(.segment-button-disabled){cursor:default;pointer-events:none}::slotted(ion-icon){-ms-flex-negative:0;flex-shrink:0;-ms-flex-order:-1;order:-1;pointer-events:none}::slotted(ion-label){display:block;-ms-flex-item-align:center;align-self:center;max-width:100%;text-overflow:ellipsis;white-space:nowrap;overflow:hidden;-webkit-box-sizing:border-box;box-sizing:border-box;pointer-events:none}:host(.segment-button-layout-icon-top) .button-native{-ms-flex-direction:column;flex-direction:column}:host(.segment-button-layout-icon-start) .button-native{-ms-flex-direction:row;flex-direction:row}:host(.segment-button-layout-icon-end) .button-native{-ms-flex-direction:row-reverse;flex-direction:row-reverse}:host(.segment-button-layout-icon-bottom) .button-native{-ms-flex-direction:column-reverse;flex-direction:column-reverse}:host(.segment-button-layout-icon-hide) ::slotted(ion-icon){display:none}:host(.segment-button-layout-label-hide) ::slotted(ion-label){display:none}.segment-button-indicator{-webkit-transform-origin:left;transform-origin:left;position:absolute;opacity:0;-webkit-box-sizing:border-box;box-sizing:border-box;will-change:transform, opacity;pointer-events:none}.segment-button-indicator-background{width:100%;height:var(--indicator-height);-webkit-transform:var(--indicator-transform);transform:var(--indicator-transform);background:var(--indicator-color);-webkit-box-shadow:var(--indicator-box-shadow);box-shadow:var(--indicator-box-shadow);pointer-events:none}.segment-button-indicator-animated{-webkit-transition:var(--indicator-transition);transition:var(--indicator-transition)}:host(.segment-button-checked) .segment-button-indicator{opacity:1}@media (prefers-reduced-motion: reduce){.segment-button-indicator-background{-webkit-transform:none;transform:none}.segment-button-indicator-animated{-webkit-transition:none;transition:none}}:host{--color:initial;--color-hover:var(--color);--color-checked:var(--color);--padding-start:0;--padding-end:0;--padding-top:0;--padding-bottom:0}.button-native{color:inherit;font-family:inherit;font-size:inherit;font-style:inherit;font-weight:inherit;letter-spacing:inherit;text-align:inherit;text-decoration:inherit;text-indent:inherit;text-overflow:inherit;text-transform:inherit;white-space:inherit}.button-native::after{right:0;left:0;top:0;bottom:0;position:absolute;content:\"\";opacity:0}:host(.ion-focused) .button-native{color:var(--color-focused)}:host(.ion-focused) .button-native::after{background:var(--background-focused);opacity:var(--background-focused-opacity)}:host(:focus){outline:none}@media (any-hover: hover){:host(:hover) .button-native{color:var(--color-hover)}:host(:hover) .button-native::after{background:var(--background-hover);opacity:var(--background-hover-opacity)}:host(.segment-button-checked:hover) .button-native{color:var(--color-checked)}}::slotted(ion-label){line-height:22px}ion-ripple-effect{color:var(--ripple-color, var(--color-checked))}:host{--background:none;--background-checked:none;--background-hover:var(--color-checked);--background-focused:var(--color-checked);--background-activated-opacity:0;--background-focused-opacity:0.12;--background-hover-opacity:0.04;--color:rgba(var(--ion-text-color-rgb, 0, 0, 0), 0.6);--color-checked:var(--ion-color-primary, #0054e9);--indicator-box-shadow:none;--indicator-color:var(--color-checked);--indicator-height:2px;--indicator-transition:transform 250ms cubic-bezier(0.4, 0, 0.2, 1);--indicator-transform:none;--padding-top:0;--padding-end:16px;--padding-bottom:0;--padding-start:16px;--transition:color 0.15s linear 0s, opacity 0.15s linear 0s;min-width:90px;min-height:48px;border-width:var(--border-width);border-style:var(--border-style);border-color:var(--border-color);font-size:14px;font-weight:500;letter-spacing:0.06em;line-height:40px;text-transform:uppercase}:host(.segment-button-disabled){opacity:0.3}:host(.in-segment-color){background:none;color:rgba(var(--ion-text-color-rgb, 0, 0, 0), 0.6)}:host(.in-segment-color) ion-ripple-effect{color:var(--ion-color-base)}:host(.in-segment-color) .segment-button-indicator-background{background:var(--ion-color-base)}:host(.in-segment-color.segment-button-checked) .button-native{color:var(--ion-color-base)}:host(.in-segment-color.ion-focused) .button-native::after{background:var(--ion-color-base)}@media (any-hover: hover){:host(.in-segment-color:hover) .button-native{color:rgba(var(--ion-text-color-rgb, 0, 0, 0), 0.6)}:host(.in-segment-color:hover) .button-native::after{background:var(--ion-color-base)}:host(.in-segment-color.segment-button-checked:hover) .button-native{color:var(--ion-color-base)}}:host(.in-toolbar:not(.in-segment-color)){--background:var(--ion-toolbar-segment-background, none);--background-checked:var(--ion-toolbar-segment-background-checked, none);--color:var(--ion-toolbar-segment-color, rgba(var(--ion-text-color-rgb, 0, 0, 0), 0.6));--color-checked:var(--ion-toolbar-segment-color-checked, var(--ion-color-primary, #0054e9));--indicator-color:var(--ion-toolbar-segment-color-checked, var(--color-checked))}:host(.in-toolbar-color:not(.in-segment-color)) .button-native{color:rgba(var(--ion-color-contrast-rgb), 0.6)}:host(.in-toolbar-color.segment-button-checked:not(.in-segment-color)) .button-native{color:var(--ion-color-contrast)}@media (any-hover: hover){:host(.in-toolbar-color:not(.in-segment-color)) .button-native::after{background:var(--ion-color-contrast)}}::slotted(ion-icon){margin-top:12px;margin-bottom:12px;font-size:24px}::slotted(ion-label){margin-top:12px;margin-bottom:12px}:host(.segment-button-layout-icon-top) ::slotted(ion-label),:host(.segment-button-layout-icon-bottom) ::slotted(ion-icon){margin-top:0}:host(.segment-button-layout-icon-top) ::slotted(ion-icon),:host(.segment-button-layout-icon-bottom) ::slotted(ion-label){margin-bottom:0}:host(.segment-button-layout-icon-start) ::slotted(ion-label){-webkit-margin-start:8px;margin-inline-start:8px;-webkit-margin-end:0;margin-inline-end:0}:host(.segment-button-layout-icon-end) ::slotted(ion-label){-webkit-margin-start:0;margin-inline-start:0;-webkit-margin-end:8px;margin-inline-end:8px}:host(.segment-button-has-icon-only) ::slotted(ion-icon){margin-top:12px;margin-bottom:12px}:host(.segment-button-has-label-only) ::slotted(ion-label){margin-top:12px;margin-bottom:12px}.segment-button-indicator{right:0;left:0;bottom:0}:host(.in-toolbar:not(.in-segment-color)) .segment-button-indicator-background{background:var(--ion-toolbar-segment-indicator-color, var(--indicator-color))}:host(.in-toolbar-color:not(.in-segment-color)) .segment-button-indicator-background{background:var(--ion-color-contrast)}";
563
+ const segmentButtonMdCss = ":host{--color:initial;--color-hover:var(--color);--color-checked:var(--color);--color-disabled:var(--color);--padding-start:0;--padding-end:0;--padding-top:0;--padding-bottom:0;border-radius:var(--border-radius);display:-ms-flexbox;display:flex;position:relative;-ms-flex-direction:column;flex-direction:column;height:auto;background:var(--background);color:var(--color);text-decoration:none;text-overflow:ellipsis;white-space:nowrap;cursor:pointer;grid-row:1;-webkit-font-kerning:none;font-kerning:none}.button-native{border-radius:0;font-family:inherit;font-size:inherit;font-style:inherit;font-weight:inherit;letter-spacing:inherit;text-decoration:inherit;text-indent:inherit;text-overflow:inherit;text-transform:inherit;text-align:inherit;white-space:inherit;color:inherit;-webkit-margin-start:var(--margin-start);margin-inline-start:var(--margin-start);-webkit-margin-end:var(--margin-end);margin-inline-end:var(--margin-end);margin-top:var(--margin-top);margin-bottom:var(--margin-bottom);-webkit-padding-start:var(--padding-start);padding-inline-start:var(--padding-start);-webkit-padding-end:var(--padding-end);padding-inline-end:var(--padding-end);padding-top:var(--padding-top);padding-bottom:var(--padding-bottom);-webkit-transform:translate3d(0, 0, 0);transform:translate3d(0, 0, 0);display:-ms-flexbox;display:flex;position:relative;-ms-flex-direction:inherit;flex-direction:inherit;-ms-flex-positive:1;flex-grow:1;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;width:100%;min-width:inherit;max-width:inherit;height:auto;min-height:inherit;max-height:inherit;-webkit-transition:var(--transition);transition:var(--transition);border:none;outline:none;background:transparent;contain:content;pointer-events:none;overflow:hidden;z-index:2}.button-native::after{left:0;right:0;top:0;bottom:0;position:absolute;content:\"\";opacity:0}.button-inner{display:-ms-flexbox;display:flex;position:relative;-ms-flex-flow:inherit;flex-flow:inherit;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;width:100%;height:100%;z-index:1}:host(.segment-button-checked){background:var(--background-checked);color:var(--color-checked)}:host(.segment-button-disabled){cursor:default;pointer-events:none}:host(.ion-focused) .button-native{color:var(--color-focused)}:host(.ion-focused) .button-native::after{background:var(--background-focused);opacity:var(--background-focused-opacity)}:host(:focus){outline:none}@media (any-hover: hover){:host(:hover) .button-native{color:var(--color-hover)}:host(:hover) .button-native::after{background:var(--background-hover);opacity:var(--background-hover-opacity)}:host(.segment-button-checked:hover) .button-native{color:var(--color-checked)}}::slotted(ion-icon){-ms-flex-negative:0;flex-shrink:0;-ms-flex-order:-1;order:-1;pointer-events:none}::slotted(ion-label){display:block;-ms-flex-item-align:center;align-self:center;max-width:100%;line-height:22px;text-overflow:ellipsis;white-space:nowrap;overflow:hidden;-webkit-box-sizing:border-box;box-sizing:border-box;pointer-events:none}:host(.segment-button-layout-icon-top) .button-native{-ms-flex-direction:column;flex-direction:column}:host(.segment-button-layout-icon-start) .button-native{-ms-flex-direction:row;flex-direction:row}:host(.segment-button-layout-icon-end) .button-native{-ms-flex-direction:row-reverse;flex-direction:row-reverse}:host(.segment-button-layout-icon-bottom) .button-native{-ms-flex-direction:column-reverse;flex-direction:column-reverse}:host(.segment-button-layout-icon-hide) ::slotted(ion-icon){display:none}:host(.segment-button-layout-label-hide) ::slotted(ion-label){display:none}ion-ripple-effect{color:var(--ripple-color, var(--color-checked))}.segment-button-indicator{-webkit-transform-origin:left;transform-origin:left;position:absolute;opacity:0;-webkit-box-sizing:border-box;box-sizing:border-box;will-change:transform, opacity;pointer-events:none}.segment-button-indicator-background{width:100%;height:var(--indicator-height);-webkit-transform:var(--indicator-transform);transform:var(--indicator-transform);-webkit-box-shadow:var(--indicator-box-shadow);box-shadow:var(--indicator-box-shadow);pointer-events:none}.segment-button-indicator-animated{-webkit-transition:var(--indicator-transition);transition:var(--indicator-transition)}:host(.segment-button-checked) .segment-button-indicator{opacity:1}@media (prefers-reduced-motion: reduce){.segment-button-indicator-background{-webkit-transform:none;transform:none}.segment-button-indicator-animated{-webkit-transition:none;transition:none}}:host{--background:none;--background-checked:none;--background-hover:var(--color-checked);--background-focused:var(--color-checked);--background-activated-opacity:0;--background-focused-opacity:.12;--background-hover-opacity:.04;--color:rgba(var(--ion-text-color-rgb, 0, 0, 0), 0.6);--color-checked:var(--ion-color-primary, #0054e9);--indicator-box-shadow:none;--indicator-color:var(--color-checked);--indicator-height:2px;--indicator-transition:transform 250ms cubic-bezier(0.4, 0, 0.2, 1);--indicator-transform:none;--padding-top:0;--padding-end:16px;--padding-bottom:0;--padding-start:16px;--transition:color 0.15s linear 0s, opacity 0.15s linear 0s;min-width:90px;min-height:48px;border-width:var(--border-width);border-style:var(--border-style);border-color:var(--border-color);font-size:14px;font-weight:500;letter-spacing:0.06em;line-height:40px;text-transform:uppercase}:host(.segment-button-disabled){opacity:0.3}:host(.in-segment-color){background:none;color:rgba(var(--ion-text-color-rgb, 0, 0, 0), 0.6)}:host(.in-segment-color) ion-ripple-effect{color:var(--ion-color-base)}:host(.in-segment-color) .segment-button-indicator-background{background:var(--ion-color-base)}:host(.in-segment-color.segment-button-checked) .button-native{color:var(--ion-color-base)}:host(.in-segment-color.ion-focused) .button-native::after{background:var(--ion-color-base)}@media (any-hover: hover){:host(.in-segment-color:hover) .button-native{color:rgba(var(--ion-text-color-rgb, 0, 0, 0), 0.6)}:host(.in-segment-color:hover) .button-native::after{background:var(--ion-color-base)}:host(.in-segment-color.segment-button-checked:hover) .button-native{color:var(--ion-color-base)}}:host(.in-toolbar:not(.in-segment-color)){--background:var(--ion-toolbar-segment-background, none);--background-checked:var(--ion-toolbar-segment-background-checked, none);--color:var(--ion-toolbar-segment-color, rgba(var(--ion-text-color-rgb, 0, 0, 0), 0.6));--color-checked:var(--ion-toolbar-segment-color-checked, var(--ion-color-primary, #0054e9));--indicator-color:var(--ion-toolbar-segment-color-checked, var(--color-checked))}:host(.in-toolbar-color:not(.in-segment-color)) .button-native{color:rgba(var(--ion-color-contrast-rgb), 0.6)}:host(.in-toolbar-color.segment-button-checked:not(.in-segment-color)) .button-native{color:var(--ion-color-contrast)}@media (any-hover: hover){:host(.in-toolbar-color:not(.in-segment-color)) .button-native::after{background:var(--ion-color-contrast)}}::slotted(ion-icon){margin-top:12px;margin-bottom:12px;font-size:24px}::slotted(ion-label){margin-top:12px;margin-bottom:12px}:host(.segment-button-layout-icon-top) ::slotted(ion-label),:host(.segment-button-layout-icon-bottom) ::slotted(ion-icon){margin-top:0}:host(.segment-button-layout-icon-top) ::slotted(ion-icon),:host(.segment-button-layout-icon-bottom) ::slotted(ion-label){margin-bottom:0}:host(.segment-button-layout-icon-start) ::slotted(ion-label){-webkit-margin-start:8px;margin-inline-start:8px;-webkit-margin-end:0;margin-inline-end:0}:host(.segment-button-layout-icon-end) ::slotted(ion-label){-webkit-margin-start:0;margin-inline-start:0;-webkit-margin-end:8px;margin-inline-end:8px}:host(.segment-button-has-icon-only) ::slotted(ion-icon){margin-top:12px;margin-bottom:12px}:host(.segment-button-has-label-only) ::slotted(ion-label){margin-top:12px;margin-bottom:12px}.segment-button-indicator{left:0;right:0;bottom:0}.segment-button-indicator-background{background:var(--indicator-color)}:host(.in-toolbar:not(.in-segment-color)) .segment-button-indicator-background{background:var(--ion-toolbar-segment-indicator-color, var(--indicator-color))}:host(.in-toolbar-color:not(.in-segment-color)) .segment-button-indicator-background{background:var(--ion-color-contrast)}";
476
564
  const IonSegmentButtonMdStyle0 = segmentButtonMdCss;
477
565
 
478
566
  let ids = 0;
@@ -494,6 +582,7 @@ const SegmentButton = class {
494
582
  }
495
583
  };
496
584
  this.checked = false;
585
+ this.contentId = undefined;
497
586
  this.disabled = false;
498
587
  this.layout = 'icon-top';
499
588
  this.type = 'button';
@@ -509,6 +598,26 @@ const SegmentButton = class {
509
598
  addEventListener(segmentEl, 'ionSelect', this.updateState);
510
599
  addEventListener(segmentEl, 'ionStyle', this.updateStyle);
511
600
  }
601
+ // Return if there is no contentId defined
602
+ if (!this.contentId)
603
+ return;
604
+ // Attempt to find the Segment Content by its contentId
605
+ const segmentContent = document.getElementById(this.contentId);
606
+ // If no associated Segment Content exists, log an error and return
607
+ if (!segmentContent) {
608
+ console.error(`Segment Button: Unable to find Segment Content with id="${this.contentId}".`);
609
+ return;
610
+ }
611
+ // Ensure the found element is a valid ION-SEGMENT-CONTENT
612
+ if (segmentContent.tagName !== 'ION-SEGMENT-CONTENT') {
613
+ console.error(`Segment Button: Element with id="${this.contentId}" is not an <ion-segment-content> element.`);
614
+ return;
615
+ }
616
+ // Prevent buttons from being disabled when associated with segment content
617
+ if (this.disabled) {
618
+ console.warn(`Segment Button: Segment buttons cannot be disabled when associated with an <ion-segment-content>.`);
619
+ this.disabled = false;
620
+ }
512
621
  }
513
622
  disconnectedCallback() {
514
623
  const segmentEl = this.segmentEl;
@@ -540,10 +649,10 @@ const SegmentButton = class {
540
649
  }
541
650
  render() {
542
651
  const { checked, type, disabled, hasIcon, hasLabel, layout, segmentEl } = this;
543
- const theme = getIonTheme(this);
652
+ const mode = getIonMode(this);
544
653
  const hasSegmentColor = () => (segmentEl === null || segmentEl === void 0 ? void 0 : segmentEl.color) !== undefined;
545
- return (h(Host, { key: 'e3340514b7e897015a9d9781a8a8b8d044c14904', class: {
546
- [theme]: true,
654
+ return (h(Host, { key: 'd50a5d5e2f6206e8523598f258d8217d2903f69b', class: {
655
+ [mode]: true,
547
656
  'in-toolbar': hostContext('ion-toolbar', this.el),
548
657
  'in-toolbar-color': hostContext('ion-toolbar[color]', this.el),
549
658
  'in-segment': hostContext('ion-segment', this.el),
@@ -558,10 +667,7 @@ const SegmentButton = class {
558
667
  'ion-activatable': true,
559
668
  'ion-activatable-instant': true,
560
669
  'ion-focusable': true,
561
- } }, h("button", Object.assign({ key: '3c5017089669022f6f78781ff5ab22e7d482c641', "aria-selected": checked ? 'true' : 'false', role: "tab", ref: (el) => (this.nativeEl = el), type: type, class: "button-native", part: "native", disabled: disabled }, this.inheritedAttributes), h("span", { key: '94e4b22191f9d19f1e2f31c9247331d48cc95be3', class: "button-inner" }, h("slot", { key: 'd8780486332a2993a3c1d76ecba99660f60ecca3' })), theme === 'md' && h("ion-ripple-effect", { key: '676e4737af739dbfe1900132e281bceff796ba37' })), h("div", { key: '0182e9cba30424f0d543b78c270d69d3c72cc2e9', part: "indicator", class: {
562
- 'segment-button-indicator': true,
563
- 'segment-button-indicator-animated': true,
564
- } }, h("div", { key: 'b3ad49f2556290f136c271cd013ee293ce3e7d7f', part: "indicator-background", class: "segment-button-indicator-background" }))));
670
+ } }, h("button", Object.assign({ key: 'b4f6f145286ba8ab79669e11035b906daa85ae7e', "aria-selected": checked ? 'true' : 'false', role: "tab", ref: (el) => (this.nativeEl = el), type: type, class: "button-native", part: "native", disabled: disabled }, this.inheritedAttributes), h("span", { key: '67965996c9ffe70553875e00d3da0ae5b2b1d814', class: "button-inner" }, h("slot", { key: '5087988fe45a8fdf388ec44c395d0b745b207806' })), mode === 'md' && h("ion-ripple-effect", { key: 'b24858de0750bbc769b3183fac0077dfe817ba27' })), h("div", { key: '97b4359432acd1c9da0816360cd1df9472e183f7', part: "indicator", class: "segment-button-indicator segment-button-indicator-animated" }, h("div", { key: '0561738ea15b0986f4ed3d8276d5e6f2d13f7e51', part: "indicator-background", class: "segment-button-indicator-background" }))));
565
671
  }
566
672
  get el() { return getElement(this); }
567
673
  static get watchers() { return {
@@ -569,7 +675,6 @@ const SegmentButton = class {
569
675
  }; }
570
676
  };
571
677
  SegmentButton.style = {
572
- ionic: IonSegmentButtonIonicStyle0,
573
678
  ios: IonSegmentButtonIosStyle0,
574
679
  md: IonSegmentButtonMdStyle0
575
680
  };
@@ -0,0 +1,107 @@
1
+ /*!
2
+ * (C) Ionic http://ionicframework.com - MIT License
3
+ */
4
+ import { r as registerInstance, h, j as forceUpdate, f as Host, i as getElement } from './index-28849c61.js';
5
+ import { b as getIonMode } from './ionic-global-c81d82ab.js';
6
+ import { s as safeCall } from './overlays-9c75ec54.js';
7
+ import { g as getClassMap } from './theme-01f3f29c.js';
8
+ import './index-a5d50daf.js';
9
+ import './helpers-da915de8.js';
10
+ import './hardware-back-button-06ef3c3e.js';
11
+ import './framework-delegate-63d1a679.js';
12
+ import './gesture-controller-314a54f6.js';
13
+ import './index-9b0d46f4.js';
14
+
15
+ const ionicSelectModalMdCss = ".sc-ion-select-modal-ionic-h{height:100%}ion-list.sc-ion-select-modal-ionic ion-radio.sc-ion-select-modal-ionic::part(container){display:none}ion-list.sc-ion-select-modal-ionic ion-radio.sc-ion-select-modal-ionic::part(label){margin-left:0;margin-right:0;margin-top:0;margin-bottom:0}ion-item.sc-ion-select-modal-ionic{--inner-border-width:0}.item-radio-checked.sc-ion-select-modal-ionic{--background:rgba(var(--ion-color-primary-rgb, 0, 84, 233), 0.08);--background-focused:var(--ion-color-primary, #0054e9);--background-focused-opacity:0.2;--background-hover:var(--ion-color-primary, #0054e9);--background-hover-opacity:0.12}.item-checkbox-checked.sc-ion-select-modal-ionic{--background-activated:var(--ion-item-color, var(--ion-text-color, #000));--background-focused:var(--ion-item-color, var(--ion-text-color, #000));--background-hover:var(--ion-item-color, var(--ion-text-color, #000));--color:var(--ion-color-primary, #0054e9)}";
16
+ const IonSelectModalIonicStyle0 = ionicSelectModalMdCss;
17
+
18
+ const selectModalIosCss = ".sc-ion-select-modal-ios-h{height:100%}";
19
+ const IonSelectModalIosStyle0 = selectModalIosCss;
20
+
21
+ const selectModalMdCss = ".sc-ion-select-modal-md-h{height:100%}ion-list.sc-ion-select-modal-md ion-radio.sc-ion-select-modal-md::part(container){display:none}ion-list.sc-ion-select-modal-md ion-radio.sc-ion-select-modal-md::part(label){margin-left:0;margin-right:0;margin-top:0;margin-bottom:0}ion-item.sc-ion-select-modal-md{--inner-border-width:0}.item-radio-checked.sc-ion-select-modal-md{--background:rgba(var(--ion-color-primary-rgb, 0, 84, 233), 0.08);--background-focused:var(--ion-color-primary, #0054e9);--background-focused-opacity:0.2;--background-hover:var(--ion-color-primary, #0054e9);--background-hover-opacity:0.12}.item-checkbox-checked.sc-ion-select-modal-md{--background-activated:var(--ion-item-color, var(--ion-text-color, #000));--background-focused:var(--ion-item-color, var(--ion-text-color, #000));--background-hover:var(--ion-item-color, var(--ion-text-color, #000));--color:var(--ion-color-primary, #0054e9)}";
22
+ const IonSelectModalMdStyle0 = selectModalMdCss;
23
+
24
+ const SelectModal = class {
25
+ constructor(hostRef) {
26
+ registerInstance(this, hostRef);
27
+ this.header = undefined;
28
+ this.multiple = undefined;
29
+ this.options = [];
30
+ }
31
+ closeModal() {
32
+ const modal = this.el.closest('ion-modal');
33
+ if (modal) {
34
+ modal.dismiss();
35
+ }
36
+ }
37
+ findOptionFromEvent(ev) {
38
+ const { options } = this;
39
+ return options.find((o) => o.value === ev.target.value);
40
+ }
41
+ getValues(ev) {
42
+ const { multiple, options } = this;
43
+ if (multiple) {
44
+ // this is a modal with checkboxes (multiple value select)
45
+ // return an array of all the checked values
46
+ return options.filter((o) => o.checked).map((o) => o.value);
47
+ }
48
+ // this is a modal with radio buttons (single value select)
49
+ // return the value that was clicked, otherwise undefined
50
+ const option = ev ? this.findOptionFromEvent(ev) : null;
51
+ return option ? option.value : undefined;
52
+ }
53
+ callOptionHandler(ev) {
54
+ const option = this.findOptionFromEvent(ev);
55
+ const values = this.getValues(ev);
56
+ if (option === null || option === void 0 ? void 0 : option.handler) {
57
+ safeCall(option.handler, values);
58
+ }
59
+ }
60
+ setChecked(ev) {
61
+ const { multiple } = this;
62
+ const option = this.findOptionFromEvent(ev);
63
+ // this is a modal with checkboxes (multiple value select)
64
+ // we need to set the checked value for this option
65
+ if (multiple && option) {
66
+ option.checked = ev.detail.checked;
67
+ }
68
+ }
69
+ renderRadioOptions() {
70
+ const checked = this.options.filter((o) => o.checked).map((o) => o.value)[0];
71
+ return (h("ion-radio-group", { value: checked, onIonChange: (ev) => this.callOptionHandler(ev) }, this.options.map((option) => (h("ion-item", { class: Object.assign({
72
+ // TODO FW-4784
73
+ 'item-radio-checked': option.value === checked
74
+ }, getClassMap(option.cssClass)) }, h("ion-radio", { value: option.value, disabled: option.disabled, justify: "start", labelPlacement: "end", onClick: () => this.closeModal(), onKeyUp: (ev) => {
75
+ if (ev.key === ' ') {
76
+ /**
77
+ * Selecting a radio option with keyboard navigation,
78
+ * either through the Enter or Space keys, should
79
+ * dismiss the modal.
80
+ */
81
+ this.closeModal();
82
+ }
83
+ } }, option.text))))));
84
+ }
85
+ renderCheckboxOptions() {
86
+ return this.options.map((option) => (h("ion-item", { class: Object.assign({
87
+ // TODO FW-4784
88
+ 'item-checkbox-checked': option.checked
89
+ }, getClassMap(option.cssClass)) }, h("ion-checkbox", { value: option.value, disabled: option.disabled, checked: option.checked, justify: "start", labelPlacement: "end", onIonChange: (ev) => {
90
+ this.setChecked(ev);
91
+ this.callOptionHandler(ev);
92
+ // TODO FW-4784
93
+ forceUpdate(this);
94
+ } }, option.text))));
95
+ }
96
+ render() {
97
+ return (h(Host, { key: 'f4b92f4fc3d646f9a327e43a9622abaf69659c28', class: getIonMode(this) }, h("ion-header", { key: '11232ef496e7abd69e55cef988963a4869a7b01e' }, h("ion-toolbar", { key: 'e7c41878691a504d44c658db02807867df542588' }, this.header !== undefined && h("ion-title", { key: 'fcf9d33e0f3e0076ff14805de68848f9ef199cca' }, this.header), h("ion-buttons", { key: '748a967ae0ce68bc2fd018a6b9ebe0e4b810f6ac', slot: "end" }, h("ion-button", { key: 'f5e60791870b5085a31b7af70ed4bb3fb83eb185', onClick: () => this.closeModal() }, "Close")))), h("ion-content", { key: '159797957b6f788a9b393d91864c18db34481c68' }, h("ion-list", { key: '4124554fe8b2411637cbf02f08e50e0d8f804175' }, this.multiple === true ? this.renderCheckboxOptions() : this.renderRadioOptions()))));
98
+ }
99
+ get el() { return getElement(this); }
100
+ };
101
+ SelectModal.style = {
102
+ ionic: IonSelectModalIonicStyle0,
103
+ ios: IonSelectModalIosStyle0,
104
+ md: IonSelectModalMdStyle0
105
+ };
106
+
107
+ export { SelectModal as ion_select_modal };