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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1195) hide show
  1. package/components/action-sheet.js +13 -8
  2. package/components/alert.js +20 -13
  3. package/components/animation.js +1 -1
  4. package/components/backdrop.js +10 -6
  5. package/components/button.js +41 -11
  6. package/components/buttons.js +11 -7
  7. package/components/capacitor.js +1 -1
  8. package/components/caret-down.js +6 -0
  9. package/components/caret-left.js +6 -0
  10. package/components/caret-right.js +6 -0
  11. package/components/checkbox.js +33 -14
  12. package/components/config2.js +79 -0
  13. package/components/content.js +448 -0
  14. package/components/data.js +4 -4
  15. package/components/focus-visible.js +8 -1
  16. package/components/framework-delegate.js +3 -1
  17. package/components/header.js +365 -0
  18. package/components/helpers.js +4 -1
  19. package/components/index2.js +2 -2
  20. package/components/index4.js +10 -11
  21. package/components/index5.js +27 -3
  22. package/components/index6.js +114 -20
  23. package/components/index7.js +163 -27
  24. package/components/input-shims.js +2 -2
  25. package/components/input.utils.js +1 -2
  26. package/components/ion-accordion-group.js +25 -6
  27. package/components/ion-accordion.js +36 -17
  28. package/components/ion-app.js +9 -77
  29. package/components/ion-avatar.js +52 -3
  30. package/components/ion-back-button.js +29 -19
  31. package/components/ion-badge.js +44 -8
  32. package/components/ion-breadcrumb.js +45 -11
  33. package/components/ion-breadcrumbs.js +9 -5
  34. package/components/ion-card-content.js +11 -7
  35. package/components/ion-card-header.js +9 -5
  36. package/components/ion-card-subtitle.js +9 -5
  37. package/components/ion-card-title.js +9 -5
  38. package/components/ion-card.js +17 -9
  39. package/components/ion-chip.js +45 -8
  40. package/components/ion-col.js +5 -5
  41. package/components/ion-content.js +1 -441
  42. package/components/ion-datetime-button.js +9 -6
  43. package/components/ion-datetime.js +96 -20
  44. package/components/ion-fab-button.js +33 -10
  45. package/components/ion-fab-list.js +5 -5
  46. package/components/ion-fab.js +6 -6
  47. package/components/ion-footer.js +18 -12
  48. package/components/ion-grid.js +5 -5
  49. package/components/ion-header.js +1 -351
  50. package/components/ion-img.js +5 -2
  51. package/components/ion-infinite-scroll-content.js +13 -8
  52. package/components/ion-infinite-scroll.js +5 -5
  53. package/components/ion-input-password-toggle.js +53 -14
  54. package/components/ion-input.js +118 -20
  55. package/components/ion-item-divider.js +9 -5
  56. package/components/ion-item-group.js +9 -5
  57. package/components/ion-item-option.js +28 -8
  58. package/components/ion-item-options.js +9 -5
  59. package/components/ion-item-sliding.js +5 -5
  60. package/components/ion-loading.js +13 -8
  61. package/components/ion-menu-button.js +28 -10
  62. package/components/ion-menu-toggle.js +5 -5
  63. package/components/ion-menu.js +29 -25
  64. package/components/ion-modal.js +1 -1737
  65. package/components/ion-nav-link.js +1 -1
  66. package/components/ion-nav.js +8 -6
  67. package/components/ion-note.js +9 -5
  68. package/components/ion-picker-legacy.js +7 -8
  69. package/components/ion-progress-bar.js +11 -6
  70. package/components/ion-range.js +11 -8
  71. package/components/ion-refresher-content.js +28 -9
  72. package/components/ion-refresher.js +11 -7
  73. package/components/ion-reorder-group.js +5 -5
  74. package/components/ion-reorder.js +31 -5
  75. package/components/ion-router-link.js +6 -6
  76. package/components/ion-router-outlet.js +4 -3
  77. package/components/ion-row.js +5 -2
  78. package/components/ion-searchbar.js +93 -16
  79. package/components/ion-segment-button.js +33 -10
  80. package/components/ion-segment-content.d.ts +11 -0
  81. package/components/ion-segment-content.js +37 -0
  82. package/components/ion-segment-view.d.ts +11 -0
  83. package/components/ion-segment-view.js +140 -0
  84. package/components/ion-segment.js +119 -20
  85. package/components/ion-select-modal.d.ts +11 -0
  86. package/components/ion-select-modal.js +9 -0
  87. package/components/ion-select-option.js +5 -2
  88. package/components/ion-select.js +189 -67
  89. package/components/ion-skeleton-text.js +6 -5
  90. package/components/ion-split-pane.js +12 -8
  91. package/components/ion-tab-bar.js +31 -8
  92. package/components/ion-tab-button.js +12 -7
  93. package/components/ion-tab.js +2 -2
  94. package/components/ion-tabs.js +2 -2
  95. package/components/ion-text.js +5 -5
  96. package/components/ion-textarea.js +38 -11
  97. package/components/ion-thumbnail.js +5 -2
  98. package/components/ion-title.js +1 -70
  99. package/components/ion-toast.js +30 -12
  100. package/components/ion-toggle.js +77 -18
  101. package/components/ion-toolbar.js +1 -88
  102. package/components/ionic-global.js +374 -84
  103. package/components/ios.transition.js +1 -0
  104. package/components/item.js +41 -11
  105. package/components/keyboard-controller.js +4 -2
  106. package/components/label.js +9 -5
  107. package/components/list-header.js +9 -5
  108. package/components/list.js +29 -6
  109. package/components/list2.js +6 -0
  110. package/components/modal.js +1772 -0
  111. package/components/notch-controller.js +1 -1
  112. package/components/overlays.js +4 -5
  113. package/components/picker-column-option.js +9 -5
  114. package/components/picker-column.js +7 -8
  115. package/components/picker-column2.js +4 -4
  116. package/components/picker.js +8 -4
  117. package/components/popover.js +11 -8
  118. package/components/radio-group.js +9 -5
  119. package/components/radio.js +16 -10
  120. package/components/ripple-effect.js +18 -8
  121. package/components/select-modal.js +197 -0
  122. package/components/select-popover.js +9 -2
  123. package/components/spinner.js +36 -9
  124. package/components/status-tap.js +1 -1
  125. package/components/title.js +79 -0
  126. package/components/toolbar.js +97 -0
  127. package/components/x.js +6 -0
  128. package/css/core.css +1 -1
  129. package/css/core.css.map +1 -1
  130. package/css/display.css.map +1 -1
  131. package/css/flex-utils.css.map +1 -1
  132. package/css/float-elements.css.map +1 -1
  133. package/css/global.bundle.css.map +1 -1
  134. package/css/ionic/bundle.ionic.css +1 -0
  135. package/css/ionic/bundle.ionic.css.map +1 -0
  136. package/css/ionic/core.ionic.css +1 -0
  137. package/css/ionic/core.ionic.css.map +1 -0
  138. package/css/ionic/global.bundle.ionic.css +1 -0
  139. package/css/ionic/global.bundle.ionic.css.map +1 -0
  140. package/css/ionic/ionic-swiper.ionic.css +1 -0
  141. package/css/ionic/ionic-swiper.ionic.css.map +1 -0
  142. package/css/ionic/link.ionic.css +1 -0
  143. package/css/ionic/link.ionic.css.map +1 -0
  144. package/css/ionic/structure.ionic.css +1 -0
  145. package/css/ionic/structure.ionic.css.map +1 -0
  146. package/css/ionic/typography.ionic.css +1 -0
  147. package/css/ionic/typography.ionic.css.map +1 -0
  148. package/css/ionic/utils.bundle.ionic.css +1 -0
  149. package/css/ionic/utils.bundle.ionic.css.map +1 -0
  150. package/css/ionic-swiper.css +1 -1
  151. package/css/ionic-swiper.css.map +1 -1
  152. package/css/ionic.bundle.css +1 -1
  153. package/css/ionic.bundle.css.map +1 -1
  154. package/css/normalize.css.map +1 -1
  155. package/css/padding.css.map +1 -1
  156. package/css/palettes/dark.always.css.map +1 -1
  157. package/css/palettes/dark.class.css.map +1 -1
  158. package/css/palettes/dark.system.css.map +1 -1
  159. package/css/palettes/high-contrast-dark.always.css.map +1 -1
  160. package/css/palettes/high-contrast-dark.class.css.map +1 -1
  161. package/css/palettes/high-contrast-dark.system.css.map +1 -1
  162. package/css/palettes/high-contrast.always.css.map +1 -1
  163. package/css/palettes/high-contrast.class.css.map +1 -1
  164. package/css/palettes/high-contrast.system.css.map +1 -1
  165. package/css/structure.css.map +1 -1
  166. package/css/text-alignment.css.map +1 -1
  167. package/css/text-transformation.css.map +1 -1
  168. package/css/typography.css.map +1 -1
  169. package/css/utils.bundle.css.map +1 -1
  170. package/dist/cjs/{animation-b4fdf128.js → animation-58015a44.js} +2 -2
  171. package/dist/cjs/{app-globals-21afee77.js → app-globals-d64148d3.js} +1 -1
  172. package/dist/cjs/{button-active-3f2f60b4.js → button-active-ec1fd1d8.js} +1 -1
  173. package/dist/cjs/{capacitor-c04564bf.js → capacitor-454dd071.js} +3 -3
  174. package/dist/cjs/caret-down-3c215cff.js +8 -0
  175. package/dist/cjs/caret-left-2bb66970.js +8 -0
  176. package/dist/cjs/caret-right-88e03970.js +8 -0
  177. package/dist/cjs/config-aff4ff52.js +84 -0
  178. package/dist/cjs/{data-21dc0f81.js → data-b726dbee.js} +6 -6
  179. package/dist/cjs/{focus-visible-7a0ce04f.js → focus-visible-9aa87fa3.js} +8 -0
  180. package/dist/cjs/{framework-delegate-55f5683a.js → framework-delegate-32f1a0e4.js} +4 -2
  181. package/dist/cjs/{haptic-f6b37aa3.js → haptic-7c25be74.js} +1 -1
  182. package/dist/cjs/{helpers-afaa9001.js → helpers-4e2936d2.js} +4 -1
  183. package/dist/cjs/{index-9cd00dc3.js → index-03fbee1d.js} +16 -17
  184. package/dist/cjs/{index-9509ecad.js → index-0e0c6196.js} +9 -7
  185. package/dist/cjs/{index-5b6a7459.js → index-604c36ae.js} +3 -3
  186. package/dist/cjs/{index-f05acd21.js → index-8f975cf4.js} +12 -12
  187. package/dist/cjs/index.cjs.js +10 -12
  188. package/dist/cjs/{input-shims-9e59ef62.js → input-shims-4b4d2251.js} +18 -17
  189. package/dist/cjs/{input.utils-611cde0b.js → input.utils-fb1debe4.js} +4 -5
  190. package/dist/cjs/ion-accordion_2.cjs.entry.js +61 -24
  191. package/dist/cjs/ion-action-sheet.cjs.entry.js +21 -18
  192. package/dist/cjs/ion-alert.cjs.entry.js +30 -26
  193. package/dist/cjs/ion-app_8.cjs.entry.js +108 -152
  194. package/dist/cjs/ion-avatar_3.cjs.entry.js +93 -9
  195. package/dist/cjs/ion-back-button.cjs.entry.js +31 -21
  196. package/dist/cjs/ion-backdrop.cjs.entry.js +11 -6
  197. package/dist/cjs/ion-breadcrumb_2.cjs.entry.js +53 -15
  198. package/dist/cjs/ion-button_2.cjs.entry.js +46 -15
  199. package/dist/cjs/ion-card_5.cjs.entry.js +52 -28
  200. package/dist/cjs/ion-checkbox.cjs.entry.js +31 -14
  201. package/dist/cjs/ion-chip.cjs.entry.js +43 -7
  202. package/dist/cjs/ion-col_3.cjs.entry.js +14 -10
  203. package/dist/cjs/ion-datetime-button.cjs.entry.js +16 -12
  204. package/dist/cjs/ion-datetime_3.cjs.entry.js +189 -115
  205. package/dist/cjs/ion-fab_3.cjs.entry.js +42 -19
  206. package/dist/cjs/ion-img.cjs.entry.js +7 -3
  207. package/dist/cjs/ion-infinite-scroll_2.cjs.entry.js +21 -17
  208. package/dist/cjs/ion-input-password-toggle.cjs.entry.js +55 -16
  209. package/dist/cjs/ion-input.cjs.entry.js +118 -23
  210. package/dist/cjs/ion-item-option_3.cjs.entry.js +40 -17
  211. package/dist/cjs/ion-item_8.cjs.entry.js +113 -41
  212. package/dist/cjs/ion-loading.cjs.entry.js +20 -18
  213. package/dist/cjs/ion-menu_3.cjs.entry.js +64 -45
  214. package/dist/cjs/ion-modal.cjs.entry.js +95 -67
  215. package/dist/cjs/ion-nav_2.cjs.entry.js +15 -13
  216. package/dist/cjs/ion-picker-column-option.cjs.entry.js +11 -6
  217. package/dist/cjs/ion-picker-column.cjs.entry.js +12 -12
  218. package/dist/cjs/ion-picker.cjs.entry.js +10 -5
  219. package/dist/cjs/ion-popover.cjs.entry.js +20 -18
  220. package/dist/cjs/ion-progress-bar.cjs.entry.js +13 -8
  221. package/dist/cjs/ion-radio_2.cjs.entry.js +26 -15
  222. package/dist/cjs/ion-range.cjs.entry.js +18 -14
  223. package/dist/cjs/ion-refresher_2.cjs.entry.js +44 -23
  224. package/dist/cjs/ion-reorder_2.cjs.entry.js +37 -13
  225. package/dist/cjs/ion-ripple-effect.cjs.entry.js +18 -7
  226. package/dist/cjs/ion-route_4.cjs.entry.js +8 -7
  227. package/dist/cjs/ion-searchbar.cjs.entry.js +94 -17
  228. package/dist/cjs/ion-segment-content.cjs.entry.js +23 -0
  229. package/dist/cjs/ion-segment-view.cjs.entry.js +122 -0
  230. package/dist/cjs/ion-segment_2.cjs.entry.js +151 -29
  231. package/dist/cjs/ion-select-modal.cjs.entry.js +109 -0
  232. package/dist/cjs/ion-select_3.cjs.entry.js +127 -46
  233. package/dist/cjs/ion-spinner.cjs.entry.js +35 -9
  234. package/dist/cjs/ion-split-pane.cjs.entry.js +13 -8
  235. package/dist/cjs/ion-tab-bar_2.cjs.entry.js +45 -20
  236. package/dist/cjs/ion-tab_2.cjs.entry.js +7 -6
  237. package/dist/cjs/ion-text.cjs.entry.js +6 -5
  238. package/dist/cjs/ion-textarea.cjs.entry.js +41 -16
  239. package/dist/cjs/ion-toast.cjs.entry.js +59 -43
  240. package/dist/cjs/ion-toggle.cjs.entry.js +80 -22
  241. package/dist/cjs/ionic-global-14af9c21.js +535 -0
  242. package/dist/cjs/ionic.cjs.js +4 -3
  243. package/dist/cjs/{ios.transition-cf40433b.js → ios.transition-2bb0f7d5.js} +6 -6
  244. package/dist/cjs/{keyboard-af1bb365.js → keyboard-0a5d46dd.js} +5 -3
  245. package/dist/cjs/{keyboard-0272231f.js → keyboard-53c12a15.js} +1 -1
  246. package/dist/cjs/{keyboard-controller-c05e747a.js → keyboard-controller-102bad3e.js} +11 -9
  247. package/dist/cjs/list-2930c629.js +8 -0
  248. package/dist/cjs/loader.cjs.js +4 -3
  249. package/dist/cjs/{md.transition-ededf99f.js → md.transition-cf600117.js} +5 -6
  250. package/dist/cjs/{notch-controller-d69150f5.js → notch-controller-ea70e230.js} +4 -4
  251. package/dist/cjs/{overlays-ba0f6986.js → overlays-a698a408.js} +19 -20
  252. package/dist/cjs/{status-tap-37681226.js → status-tap-aa97d209.js} +4 -3
  253. package/dist/cjs/{swipe-back-0303a5e4.js → swipe-back-27975274.js} +2 -1
  254. package/dist/cjs/x-81a8f51c.js +8 -0
  255. package/dist/collection/collection-manifest.json +3 -0
  256. package/dist/collection/components/accordion/accordion.ionic.css +197 -0
  257. package/dist/collection/components/accordion/accordion.ios.css +73 -58
  258. package/dist/collection/components/accordion/accordion.js +37 -21
  259. package/dist/collection/components/accordion/accordion.md.css +67 -59
  260. package/dist/collection/components/accordion-group/accordion-group.ionic.css +95 -0
  261. package/dist/collection/components/accordion-group/accordion-group.ios.css +16 -4
  262. package/dist/collection/components/accordion-group/accordion-group.js +43 -8
  263. package/dist/collection/components/accordion-group/accordion-group.md.css +22 -4
  264. package/dist/collection/components/action-sheet/action-sheet.ios.css +18 -6
  265. package/dist/collection/components/action-sheet/action-sheet.js +14 -10
  266. package/dist/collection/components/action-sheet/action-sheet.md.css +17 -5
  267. package/dist/collection/components/alert/alert.ios.css +19 -1
  268. package/dist/collection/components/alert/alert.js +20 -15
  269. package/dist/collection/components/alert/alert.md.css +19 -1
  270. package/dist/collection/components/app/app.js +12 -78
  271. package/dist/collection/components/avatar/avatar.ionic.css +269 -0
  272. package/dist/collection/components/avatar/avatar.ios.css +12 -0
  273. package/dist/collection/components/avatar/avatar.js +92 -4
  274. package/dist/collection/components/avatar/avatar.md.css +12 -0
  275. package/dist/collection/components/back-button/back-button.ios.css +60 -48
  276. package/dist/collection/components/back-button/back-button.js +27 -19
  277. package/dist/collection/components/back-button/back-button.md.css +60 -48
  278. package/dist/collection/components/backdrop/backdrop.ionic.css +151 -0
  279. package/dist/collection/components/backdrop/backdrop.ios.css +13 -1
  280. package/dist/collection/components/backdrop/backdrop.js +12 -6
  281. package/dist/collection/components/backdrop/backdrop.md.css +13 -1
  282. package/dist/collection/components/badge/badge.ionic.css +249 -0
  283. package/dist/collection/components/badge/badge.ios.css +106 -3
  284. package/dist/collection/components/badge/badge.js +75 -8
  285. package/dist/collection/components/badge/badge.md.css +106 -3
  286. package/dist/collection/components/breadcrumb/breadcrumb.ios.css +20 -8
  287. package/dist/collection/components/breadcrumb/breadcrumb.js +43 -11
  288. package/dist/collection/components/breadcrumb/breadcrumb.md.css +20 -8
  289. package/dist/collection/components/breadcrumbs/breadcrumbs.ios.css +6 -0
  290. package/dist/collection/components/breadcrumbs/breadcrumbs.js +11 -9
  291. package/dist/collection/components/breadcrumbs/breadcrumbs.md.css +6 -0
  292. package/dist/collection/components/button/button.ionic.css +589 -0
  293. package/dist/collection/components/button/button.ios.css +129 -36
  294. package/dist/collection/components/button/button.js +46 -16
  295. package/dist/collection/components/button/button.md.css +120 -40
  296. package/dist/collection/components/buttons/buttons.ionic.css +100 -0
  297. package/dist/collection/components/buttons/buttons.ios.css +59 -7
  298. package/dist/collection/components/buttons/buttons.js +14 -8
  299. package/dist/collection/components/buttons/buttons.md.css +55 -3
  300. package/dist/collection/components/card/card.ionic.css +137 -0
  301. package/dist/collection/components/card/card.ios.css +65 -14
  302. package/dist/collection/components/card/card.js +34 -10
  303. package/dist/collection/components/card/card.md.css +65 -14
  304. package/dist/collection/components/card-content/card-content.ionic.css +90 -0
  305. package/dist/collection/components/card-content/card-content.ios.css +16 -1
  306. package/dist/collection/components/card-content/card-content.js +11 -8
  307. package/dist/collection/components/card-content/card-content.md.css +16 -1
  308. package/dist/collection/components/card-header/card-header.ionic.css +87 -0
  309. package/dist/collection/components/card-header/card-header.ios.css +27 -15
  310. package/dist/collection/components/card-header/card-header.js +12 -9
  311. package/dist/collection/components/card-header/card-header.md.css +27 -15
  312. package/dist/collection/components/card-subtitle/card-subtitle.ionic.css +146 -0
  313. package/dist/collection/components/card-subtitle/card-subtitle.ios.css +12 -0
  314. package/dist/collection/components/card-subtitle/card-subtitle.js +11 -8
  315. package/dist/collection/components/card-subtitle/card-subtitle.md.css +12 -0
  316. package/dist/collection/components/card-title/card-title.ios.css +73 -0
  317. package/dist/collection/components/card-title/card-title.js +11 -8
  318. package/dist/collection/components/card-title/card-title.md.css +73 -0
  319. package/dist/collection/components/checkbox/checkbox.ionic.css +402 -0
  320. package/dist/collection/components/checkbox/checkbox.ios.css +20 -2
  321. package/dist/collection/components/checkbox/checkbox.js +89 -15
  322. package/dist/collection/components/checkbox/checkbox.md.css +21 -3
  323. package/dist/collection/components/chip/chip.ionic.css +160 -0
  324. package/dist/collection/components/chip/chip.ios.css +20 -1
  325. package/dist/collection/components/chip/chip.js +77 -8
  326. package/dist/collection/components/chip/chip.md.css +20 -1
  327. package/dist/collection/components/col/col.css +12 -0
  328. package/dist/collection/components/col/col.js +9 -5
  329. package/dist/collection/components/content/content.css +8 -2
  330. package/dist/collection/components/content/content.js +16 -11
  331. package/dist/collection/components/datetime/datetime.ionic.css +668 -0
  332. package/dist/collection/components/datetime/datetime.ios.css +232 -73
  333. package/dist/collection/components/datetime/datetime.js +95 -19
  334. package/dist/collection/components/datetime/datetime.md.css +232 -73
  335. package/dist/collection/components/datetime/utils/data.js +3 -3
  336. package/dist/collection/components/datetime-button/datetime-button.ios.css +6 -0
  337. package/dist/collection/components/datetime-button/datetime-button.js +11 -8
  338. package/dist/collection/components/datetime-button/datetime-button.md.css +6 -0
  339. package/dist/collection/components/fab/fab.css +25 -1
  340. package/dist/collection/components/fab/fab.js +9 -5
  341. package/dist/collection/components/fab-button/fab-button.ios.css +18 -6
  342. package/dist/collection/components/fab-button/fab-button.js +36 -15
  343. package/dist/collection/components/fab-button/fab-button.md.css +20 -8
  344. package/dist/collection/components/fab-list/fab-list.css +12 -0
  345. package/dist/collection/components/fab-list/fab-list.js +9 -5
  346. package/dist/collection/components/footer/footer.ios.css +14 -2
  347. package/dist/collection/components/footer/footer.js +20 -15
  348. package/dist/collection/components/footer/footer.md.css +12 -0
  349. package/dist/collection/components/grid/grid.css +12 -0
  350. package/dist/collection/components/grid/grid.js +9 -5
  351. package/dist/collection/components/header/header.ionic.css +86 -0
  352. package/dist/collection/components/header/header.ios.css +25 -10
  353. package/dist/collection/components/header/header.js +42 -17
  354. package/dist/collection/components/header/header.md.css +23 -8
  355. package/dist/collection/components/img/img.js +8 -2
  356. package/dist/collection/components/infinite-scroll/infinite-scroll.js +8 -4
  357. package/dist/collection/components/infinite-scroll-content/infinite-scroll-content.ios.css +12 -0
  358. package/dist/collection/components/infinite-scroll-content/infinite-scroll-content.js +16 -10
  359. package/dist/collection/components/infinite-scroll-content/infinite-scroll-content.md.css +12 -0
  360. package/dist/collection/components/input/input.ionic.css +1096 -0
  361. package/dist/collection/components/input/input.ios.css +21 -2
  362. package/dist/collection/components/input/input.js +144 -30
  363. package/dist/collection/components/input/input.md.css +43 -4
  364. package/dist/collection/components/input-password-toggle/input-password-toggle.common.css +61 -0
  365. package/dist/collection/components/input-password-toggle/input-password-toggle.ionic.css +141 -0
  366. package/dist/collection/components/input-password-toggle/input-password-toggle.js +48 -12
  367. package/dist/collection/components/item/item.ionic.css +501 -0
  368. package/dist/collection/components/item/item.ios.css +109 -69
  369. package/dist/collection/components/item/item.js +44 -16
  370. package/dist/collection/components/item/item.md.css +120 -68
  371. package/dist/collection/components/item-divider/item-divider.ios.css +18 -0
  372. package/dist/collection/components/item-divider/item-divider.js +11 -8
  373. package/dist/collection/components/item-divider/item-divider.md.css +18 -0
  374. package/dist/collection/components/item-group/item-group.ios.css +12 -0
  375. package/dist/collection/components/item-group/item-group.js +13 -7
  376. package/dist/collection/components/item-group/item-group.md.css +12 -0
  377. package/dist/collection/components/item-option/item-option.ionic.css +332 -0
  378. package/dist/collection/components/item-option/item-option.ios.css +14 -2
  379. package/dist/collection/components/item-option/item-option.js +43 -8
  380. package/dist/collection/components/item-option/item-option.md.css +14 -2
  381. package/dist/collection/components/item-options/item-options.ionic.css +258 -0
  382. package/dist/collection/components/item-options/item-options.ios.css +18 -0
  383. package/dist/collection/components/item-options/item-options.js +13 -7
  384. package/dist/collection/components/item-options/item-options.md.css +18 -0
  385. package/dist/collection/components/item-sliding/item-sliding.css +6 -0
  386. package/dist/collection/components/item-sliding/item-sliding.js +8 -4
  387. package/dist/collection/components/label/label.ios.css +18 -0
  388. package/dist/collection/components/label/label.js +11 -8
  389. package/dist/collection/components/label/label.md.css +18 -0
  390. package/dist/collection/components/list/list.ionic.css +193 -0
  391. package/dist/collection/components/list/list.ios.css +18 -0
  392. package/dist/collection/components/list/list.js +47 -9
  393. package/dist/collection/components/list/list.md.css +20 -2
  394. package/dist/collection/components/list-header/list-header.ionic.css +236 -0
  395. package/dist/collection/components/list-header/list-header.ios.css +18 -0
  396. package/dist/collection/components/list-header/list-header.js +11 -8
  397. package/dist/collection/components/list-header/list-header.md.css +18 -0
  398. package/dist/collection/components/loading/loading.ios.css +13 -1
  399. package/dist/collection/components/loading/loading.js +13 -10
  400. package/dist/collection/components/loading/loading.md.css +13 -1
  401. package/dist/collection/components/menu/menu.ios.css +15 -3
  402. package/dist/collection/components/menu/menu.js +57 -32
  403. package/dist/collection/components/menu/menu.md.css +15 -3
  404. package/dist/collection/components/menu-button/menu-button.ionic.css +238 -0
  405. package/dist/collection/components/menu-button/menu-button.ios.css +48 -14
  406. package/dist/collection/components/menu-button/menu-button.js +26 -10
  407. package/dist/collection/components/menu-button/menu-button.md.css +49 -15
  408. package/dist/collection/components/menu-toggle/menu-toggle.js +8 -5
  409. package/dist/collection/components/modal/animations/sheet.js +8 -2
  410. package/dist/collection/components/modal/gestures/sheet.js +10 -6
  411. package/dist/collection/components/modal/modal.ionic.css +239 -0
  412. package/dist/collection/components/modal/modal.ios.css +106 -63
  413. package/dist/collection/components/modal/modal.js +47 -11
  414. package/dist/collection/components/modal/modal.md.css +106 -63
  415. package/dist/collection/components/nav/nav.css +7 -1
  416. package/dist/collection/components/nav/nav.js +11 -5
  417. package/dist/collection/components/nav-link/nav-link.js +5 -1
  418. package/dist/collection/components/note/note.ios.css +12 -0
  419. package/dist/collection/components/note/note.js +11 -8
  420. package/dist/collection/components/note/note.md.css +12 -0
  421. package/dist/collection/components/picker/picker.ios.css +15 -3
  422. package/dist/collection/components/picker/picker.js +8 -5
  423. package/dist/collection/components/picker/picker.md.css +15 -3
  424. package/dist/collection/components/picker-column/picker-column.css +9 -2
  425. package/dist/collection/components/picker-column/picker-column.js +8 -7
  426. package/dist/collection/components/picker-column-option/picker-column-option.ios.css +6 -0
  427. package/dist/collection/components/picker-column-option/picker-column-option.js +13 -7
  428. package/dist/collection/components/picker-column-option/picker-column-option.md.css +6 -0
  429. package/dist/collection/components/picker-legacy/picker.ios.css +13 -1
  430. package/dist/collection/components/picker-legacy/picker.js +7 -6
  431. package/dist/collection/components/picker-legacy/picker.md.css +13 -1
  432. package/dist/collection/components/picker-legacy-column/picker-column.ios.css +12 -0
  433. package/dist/collection/components/picker-legacy-column/picker-column.js +4 -4
  434. package/dist/collection/components/picker-legacy-column/picker-column.md.css +12 -0
  435. package/dist/collection/components/popover/popover.ios.css +13 -1
  436. package/dist/collection/components/popover/popover.js +15 -12
  437. package/dist/collection/components/popover/popover.md.css +13 -1
  438. package/dist/collection/components/progress-bar/progress-bar.ios.css +8 -2
  439. package/dist/collection/components/progress-bar/progress-bar.js +10 -7
  440. package/dist/collection/components/progress-bar/progress-bar.md.css +8 -2
  441. package/dist/collection/components/radio/radio.ionic.css +418 -0
  442. package/dist/collection/components/radio/radio.ios.css +134 -91
  443. package/dist/collection/components/radio/radio.js +18 -13
  444. package/dist/collection/components/radio/radio.md.css +134 -91
  445. package/dist/collection/components/radio-group/radio-group.js +13 -5
  446. package/dist/collection/components/range/range.ios.css +12 -0
  447. package/dist/collection/components/range/range.js +12 -9
  448. package/dist/collection/components/range/range.md.css +12 -0
  449. package/dist/collection/components/refresher/refresher.ios.css +14 -1
  450. package/dist/collection/components/refresher/refresher.js +11 -8
  451. package/dist/collection/components/refresher/refresher.md.css +15 -2
  452. package/dist/collection/components/refresher-content/refresher-content.js +28 -7
  453. package/dist/collection/components/reorder/reorder.ios.css +6 -0
  454. package/dist/collection/components/reorder/reorder.js +33 -6
  455. package/dist/collection/components/reorder/reorder.md.css +6 -0
  456. package/dist/collection/components/reorder-group/reorder-group.css +6 -0
  457. package/dist/collection/components/reorder-group/reorder-group.js +8 -4
  458. package/dist/collection/components/ripple-effect/{ripple-effect.css → ripple-effect.common.css} +7 -1
  459. package/dist/collection/components/ripple-effect/ripple-effect.ionic.css +154 -0
  460. package/dist/collection/components/ripple-effect/ripple-effect.js +14 -6
  461. package/dist/collection/components/route/route.js +4 -0
  462. package/dist/collection/components/router/router.js +4 -0
  463. package/dist/collection/components/router-link/router-link.css +8 -2
  464. package/dist/collection/components/router-link/router-link.js +9 -5
  465. package/dist/collection/components/router-outlet/router-outlet.css +7 -1
  466. package/dist/collection/components/router-outlet/router-outlet.js +5 -2
  467. package/dist/collection/components/row/row.css +12 -0
  468. package/dist/collection/components/row/row.js +9 -2
  469. package/dist/collection/components/searchbar/searchbar.ionic.css +345 -0
  470. package/dist/collection/components/searchbar/searchbar.ios.css +56 -18
  471. package/dist/collection/components/searchbar/searchbar.js +97 -25
  472. package/dist/collection/components/searchbar/searchbar.md.css +56 -18
  473. package/dist/collection/components/segment/segment.ionic.css +117 -0
  474. package/dist/collection/components/segment/segment.ios.css +45 -2
  475. package/dist/collection/components/segment/segment.js +124 -20
  476. package/dist/collection/components/segment/segment.md.css +45 -2
  477. package/dist/collection/components/segment-button/segment-button.ionic.css +350 -0
  478. package/dist/collection/components/segment-button/segment-button.ios.css +146 -105
  479. package/dist/collection/components/segment-button/segment-button.js +49 -11
  480. package/dist/collection/components/segment-button/segment-button.md.css +148 -107
  481. package/dist/collection/components/segment-content/segment-content.css +6 -0
  482. package/dist/collection/components/segment-content/segment-content.js +21 -0
  483. package/dist/collection/components/segment-view/segment-view-interface.js +1 -0
  484. package/dist/collection/components/segment-view/segment-view.ios.css +89 -0
  485. package/dist/collection/components/segment-view/segment-view.js +227 -0
  486. package/dist/collection/components/segment-view/segment-view.md.css +89 -0
  487. package/dist/collection/components/select/select.ios.css +22 -3
  488. package/dist/collection/components/select/select.js +138 -45
  489. package/dist/collection/components/select/select.md.css +38 -5
  490. package/dist/collection/components/select-modal/select-modal-interface.js +1 -0
  491. package/dist/collection/components/select-modal/select-modal.ios.css +3 -0
  492. package/dist/collection/components/select-modal/select-modal.js +159 -0
  493. package/dist/collection/components/select-modal/select-modal.md.css +114 -0
  494. package/dist/collection/components/select-modal/test/fixtures.js +48 -0
  495. package/dist/collection/components/select-option/select-option.js +9 -2
  496. package/dist/collection/components/select-popover/select-popover.ios.css +18 -0
  497. package/dist/collection/components/select-popover/select-popover.js +12 -4
  498. package/dist/collection/components/select-popover/select-popover.md.css +18 -0
  499. package/dist/collection/components/skeleton-text/skeleton-text.css +6 -0
  500. package/dist/collection/components/skeleton-text/skeleton-text.js +9 -5
  501. package/dist/collection/components/spinner/spinner.common.css +199 -0
  502. package/dist/collection/components/spinner/{spinner.css → spinner.ionic.css} +63 -0
  503. package/dist/collection/components/spinner/spinner.js +46 -6
  504. package/dist/collection/components/split-pane/split-pane.ios.css +20 -2
  505. package/dist/collection/components/split-pane/split-pane.js +14 -8
  506. package/dist/collection/components/split-pane/split-pane.md.css +20 -2
  507. package/dist/collection/components/tab/tab.js +6 -2
  508. package/dist/collection/components/tab-bar/tab-bar.ionic.css +188 -0
  509. package/dist/collection/components/tab-bar/tab-bar.ios.css +71 -43
  510. package/dist/collection/components/tab-bar/tab-bar.js +65 -10
  511. package/dist/collection/components/tab-bar/tab-bar.md.css +71 -43
  512. package/dist/collection/components/tab-button/tab-button.ionic.css +271 -0
  513. package/dist/collection/components/tab-button/tab-button.ios.css +103 -88
  514. package/dist/collection/components/tab-button/tab-button.js +11 -8
  515. package/dist/collection/components/tab-button/tab-button.md.css +103 -88
  516. package/dist/collection/components/tabs/tabs.css +7 -1
  517. package/dist/collection/components/tabs/tabs.js +4 -1
  518. package/dist/collection/components/text/text.css +6 -0
  519. package/dist/collection/components/text/text.js +7 -6
  520. package/dist/collection/components/textarea/textarea.ionic.css +804 -0
  521. package/dist/collection/components/textarea/textarea.ios.css +201 -96
  522. package/dist/collection/components/textarea/textarea.js +59 -16
  523. package/dist/collection/components/textarea/textarea.md.css +214 -97
  524. package/dist/collection/components/thumbnail/thumbnail.css +6 -0
  525. package/dist/collection/components/thumbnail/thumbnail.js +9 -2
  526. package/dist/collection/components/title/title.ionic.css +145 -0
  527. package/dist/collection/components/title/title.ios.css +32 -4
  528. package/dist/collection/components/title/title.js +13 -7
  529. package/dist/collection/components/title/title.md.css +32 -4
  530. package/dist/collection/components/toast/animations/utils.js +1 -1
  531. package/dist/collection/components/toast/toast.ionic.css +358 -0
  532. package/dist/collection/components/toast/toast.ios.css +74 -35
  533. package/dist/collection/components/toast/toast.js +45 -11
  534. package/dist/collection/components/toast/toast.md.css +74 -35
  535. package/dist/collection/components/toggle/toggle.ionic.css +419 -0
  536. package/dist/collection/components/toggle/toggle.ios.css +166 -120
  537. package/dist/collection/components/toggle/toggle.js +73 -18
  538. package/dist/collection/components/toggle/toggle.md.css +163 -120
  539. package/dist/collection/components/toolbar/toolbar.ionic.css +233 -0
  540. package/dist/collection/components/toolbar/toolbar.ios.css +90 -47
  541. package/dist/collection/components/toolbar/toolbar.js +13 -10
  542. package/dist/collection/components/toolbar/toolbar.md.css +90 -47
  543. package/dist/collection/global/ionic-global.js +229 -13
  544. package/dist/collection/utils/focus-visible.js +7 -0
  545. package/dist/collection/utils/framework-delegate.js +3 -1
  546. package/dist/collection/utils/helpers.js +3 -1
  547. package/dist/collection/utils/keyboard/keyboard-controller.js +3 -1
  548. package/dist/collection/utils/menu-controller/animations/overlay.js +3 -3
  549. package/dist/collection/utils/menu-controller/animations/push.js +2 -1
  550. package/dist/collection/utils/menu-controller/animations/reveal.js +2 -1
  551. package/dist/collection/utils/menu-controller/index.js +2 -2
  552. package/dist/collection/utils/overlays.js +2 -1
  553. package/dist/collection/utils/test/playwright/generator.js +48 -23
  554. package/dist/collection/utils/test/playwright/page/utils/goto.js +14 -5
  555. package/dist/collection/utils/test/playwright/page/utils/set-content.js +16 -2
  556. package/dist/collection/utils/transition/ios.transition.js +1 -0
  557. package/dist/docs.json +7455 -349
  558. package/dist/esm/{animation-eab5a4ca.js → animation-f1a88600.js} +1 -1
  559. package/dist/esm/{app-globals-5dbb61a5.js → app-globals-eceadabb.js} +1 -1
  560. package/dist/esm/{button-active-f6503382.js → button-active-321f0dba.js} +2 -2
  561. package/dist/esm/{capacitor-59395cbd.js → capacitor-6b0341c8.js} +1 -1
  562. package/dist/esm/caret-down-3eaad1cc.js +6 -0
  563. package/dist/esm/caret-left-33424bb0.js +6 -0
  564. package/dist/esm/caret-right-68d856ad.js +6 -0
  565. package/dist/esm/config-84eb9670.js +79 -0
  566. package/dist/esm/{data-ae11fd43.js → data-a753c96a.js} +4 -4
  567. package/dist/esm/{focus-visible-dd40d69f.js → focus-visible-501aff19.js} +8 -1
  568. package/dist/esm/{framework-delegate-63d1a679.js → framework-delegate-3e4a8c9f.js} +4 -2
  569. package/dist/esm/{haptic-ac164e4c.js → haptic-dd6c0ea9.js} +1 -1
  570. package/dist/esm/{helpers-da915de8.js → helpers-f08d15bd.js} +4 -1
  571. package/dist/esm/{index-fe1782b1.js → index-31109e63.js} +12 -13
  572. package/dist/esm/{index-3ad7f18b.js → index-59f81cb8.js} +6 -6
  573. package/{components/index9.js → dist/esm/index-62b4a18b.js} +4 -2
  574. package/dist/esm/{index-28849c61.js → index-723c0e5d.js} +1 -1
  575. package/dist/esm/{index-5cc724f3.js → index-7bd160c2.js} +2 -2
  576. package/dist/esm/{index-e2cf2ceb.js → index-d997525d.js} +1 -1
  577. package/dist/esm/index.js +11 -13
  578. package/dist/esm/{input-shims-0314bbe5.js → input-shims-6be83e59.js} +7 -6
  579. package/dist/esm/{input.utils-09c71bc7.js → input.utils-67459bae.js} +2 -3
  580. package/dist/esm/ion-accordion_2.entry.js +61 -24
  581. package/dist/esm/ion-action-sheet.entry.js +22 -19
  582. package/dist/esm/ion-alert.entry.js +28 -24
  583. package/dist/esm/ion-app_8.entry.js +96 -140
  584. package/dist/esm/ion-avatar_3.entry.js +94 -10
  585. package/dist/esm/ion-back-button.entry.js +31 -21
  586. package/dist/esm/ion-backdrop.entry.js +12 -7
  587. package/dist/esm/ion-breadcrumb_2.entry.js +55 -17
  588. package/dist/esm/ion-button_2.entry.js +44 -13
  589. package/dist/esm/ion-card_5.entry.js +53 -29
  590. package/dist/esm/ion-checkbox.entry.js +32 -15
  591. package/dist/esm/ion-chip.entry.js +44 -8
  592. package/dist/esm/ion-col_3.entry.js +15 -11
  593. package/dist/esm/ion-datetime-button.entry.js +13 -9
  594. package/dist/esm/ion-datetime_3.entry.js +114 -40
  595. package/dist/esm/ion-fab_3.entry.js +44 -21
  596. package/dist/esm/ion-img.entry.js +8 -4
  597. package/dist/esm/ion-infinite-scroll_2.entry.js +19 -15
  598. package/dist/esm/ion-input-password-toggle.entry.js +54 -15
  599. package/dist/esm/ion-input.entry.js +120 -25
  600. package/dist/esm/ion-item-option_3.entry.js +41 -18
  601. package/dist/esm/ion-item_8.entry.js +114 -42
  602. package/dist/esm/ion-loading.entry.js +18 -16
  603. package/dist/esm/ion-menu_3.entry.js +64 -45
  604. package/dist/esm/ion-modal.entry.js +59 -31
  605. package/dist/esm/ion-nav_2.entry.js +14 -12
  606. package/dist/esm/ion-picker-column-option.entry.js +12 -7
  607. package/dist/esm/ion-picker-column.entry.js +12 -12
  608. package/dist/esm/ion-picker.entry.js +11 -6
  609. package/dist/esm/ion-popover.entry.js +18 -16
  610. package/dist/esm/ion-progress-bar.entry.js +13 -8
  611. package/dist/esm/ion-radio_2.entry.js +27 -16
  612. package/dist/esm/ion-range.entry.js +14 -10
  613. package/dist/esm/ion-refresher_2.entry.js +42 -21
  614. package/dist/esm/ion-reorder_2.entry.js +39 -15
  615. package/dist/esm/ion-ripple-effect.entry.js +19 -8
  616. package/dist/esm/ion-route_4.entry.js +9 -8
  617. package/dist/esm/ion-searchbar.entry.js +95 -18
  618. package/dist/esm/ion-segment-content.entry.js +19 -0
  619. package/dist/esm/ion-segment-view.entry.js +118 -0
  620. package/dist/esm/ion-segment_2.entry.js +152 -30
  621. package/dist/esm/ion-select-modal.entry.js +105 -0
  622. package/dist/esm/ion-select_3.entry.js +129 -48
  623. package/dist/esm/ion-spinner.entry.js +34 -8
  624. package/dist/esm/ion-split-pane.entry.js +14 -9
  625. package/dist/esm/ion-tab-bar_2.entry.js +45 -20
  626. package/dist/esm/ion-tab_2.entry.js +8 -7
  627. package/dist/esm/ion-text.entry.js +7 -6
  628. package/dist/esm/ion-textarea.entry.js +42 -17
  629. package/dist/esm/ion-toast.entry.js +34 -18
  630. package/dist/esm/ion-toggle.entry.js +81 -23
  631. package/dist/esm/ionic-global-3c97a4aa.js +521 -0
  632. package/dist/esm/ionic.js +6 -5
  633. package/dist/esm/{ios.transition-4ee1a3af.js → ios.transition-06b78ea0.js} +7 -7
  634. package/dist/esm/{keyboard-52278bd7.js → keyboard-5b1b354d.js} +5 -3
  635. package/dist/esm/{keyboard-73175e24.js → keyboard-9bbd546a.js} +1 -1
  636. package/dist/esm/{keyboard-controller-ec5c2bfa.js → keyboard-controller-aff395fd.js} +5 -3
  637. package/dist/esm/list-6524700c.js +6 -0
  638. package/dist/esm/loader.js +6 -5
  639. package/dist/esm/{md.transition-5106a0d2.js → md.transition-e5712bda.js} +6 -7
  640. package/dist/esm/{notch-controller-55b09e11.js → notch-controller-c0bd22ff.js} +2 -2
  641. package/dist/esm/{overlays-ae10d43d.js → overlays-ce6f6b23.js} +6 -7
  642. package/dist/esm/{status-tap-f472b09f.js → status-tap-edf9f395.js} +5 -4
  643. package/dist/esm/{swipe-back-e5394307.js → swipe-back-17c42610.js} +2 -1
  644. package/dist/esm/x-a64bcd9f.js +6 -0
  645. package/dist/esm-es5/animation-f1a88600.js +4 -0
  646. package/dist/esm-es5/app-globals-eceadabb.js +4 -0
  647. package/dist/esm-es5/{button-active-f6503382.js → button-active-321f0dba.js} +1 -1
  648. package/dist/esm-es5/capacitor-6b0341c8.js +4 -0
  649. package/dist/esm-es5/caret-down-3eaad1cc.js +4 -0
  650. package/dist/esm-es5/caret-left-33424bb0.js +4 -0
  651. package/dist/esm-es5/caret-right-68d856ad.js +4 -0
  652. package/dist/esm-es5/config-84eb9670.js +4 -0
  653. package/dist/esm-es5/data-a753c96a.js +4 -0
  654. package/dist/esm-es5/focus-visible-501aff19.js +4 -0
  655. package/dist/esm-es5/framework-delegate-3e4a8c9f.js +4 -0
  656. package/dist/esm-es5/{haptic-ac164e4c.js → haptic-dd6c0ea9.js} +1 -1
  657. package/dist/esm-es5/helpers-f08d15bd.js +4 -0
  658. package/dist/esm-es5/index-31109e63.js +4 -0
  659. package/dist/esm-es5/index-59f81cb8.js +4 -0
  660. package/dist/esm-es5/{index-79b30591.js → index-62b4a18b.js} +1 -1
  661. package/dist/esm-es5/{index-28849c61.js → index-723c0e5d.js} +1 -1
  662. package/dist/esm-es5/index-7bd160c2.js +4 -0
  663. package/dist/esm-es5/{index-e2cf2ceb.js → index-d997525d.js} +1 -1
  664. package/dist/esm-es5/index.js +1 -1
  665. package/dist/esm-es5/input-shims-6be83e59.js +4 -0
  666. package/dist/esm-es5/input.utils-67459bae.js +4 -0
  667. package/dist/esm-es5/ion-accordion_2.entry.js +1 -1
  668. package/dist/esm-es5/ion-action-sheet.entry.js +1 -1
  669. package/dist/esm-es5/ion-alert.entry.js +1 -1
  670. package/dist/esm-es5/ion-app_8.entry.js +1 -1
  671. package/dist/esm-es5/ion-avatar_3.entry.js +1 -1
  672. package/dist/esm-es5/ion-back-button.entry.js +1 -1
  673. package/dist/esm-es5/ion-backdrop.entry.js +1 -1
  674. package/dist/esm-es5/ion-breadcrumb_2.entry.js +1 -1
  675. package/dist/esm-es5/ion-button_2.entry.js +1 -1
  676. package/dist/esm-es5/ion-card_5.entry.js +1 -1
  677. package/dist/esm-es5/ion-checkbox.entry.js +2 -2
  678. package/dist/esm-es5/ion-chip.entry.js +1 -1
  679. package/dist/esm-es5/ion-col_3.entry.js +1 -1
  680. package/dist/esm-es5/ion-datetime-button.entry.js +1 -1
  681. package/dist/esm-es5/ion-datetime_3.entry.js +1 -1
  682. package/dist/esm-es5/ion-fab_3.entry.js +1 -1
  683. package/dist/esm-es5/ion-img.entry.js +1 -1
  684. package/dist/esm-es5/ion-infinite-scroll_2.entry.js +1 -1
  685. package/dist/esm-es5/ion-input-password-toggle.entry.js +1 -1
  686. package/dist/esm-es5/ion-input.entry.js +1 -1
  687. package/dist/esm-es5/ion-item-option_3.entry.js +1 -1
  688. package/dist/esm-es5/ion-item_8.entry.js +1 -1
  689. package/dist/esm-es5/ion-loading.entry.js +1 -1
  690. package/dist/esm-es5/ion-menu_3.entry.js +1 -1
  691. package/dist/esm-es5/ion-modal.entry.js +1 -1
  692. package/dist/esm-es5/ion-nav_2.entry.js +1 -1
  693. package/dist/esm-es5/ion-picker-column-option.entry.js +1 -1
  694. package/dist/esm-es5/ion-picker-column.entry.js +1 -1
  695. package/dist/esm-es5/ion-picker.entry.js +1 -1
  696. package/dist/esm-es5/ion-popover.entry.js +1 -1
  697. package/dist/esm-es5/ion-progress-bar.entry.js +1 -1
  698. package/dist/esm-es5/ion-radio_2.entry.js +1 -1
  699. package/dist/esm-es5/ion-range.entry.js +1 -1
  700. package/dist/esm-es5/ion-refresher_2.entry.js +1 -1
  701. package/dist/esm-es5/ion-reorder_2.entry.js +1 -1
  702. package/dist/esm-es5/ion-ripple-effect.entry.js +1 -1
  703. package/dist/esm-es5/ion-route_4.entry.js +1 -1
  704. package/dist/esm-es5/ion-searchbar.entry.js +1 -1
  705. package/dist/esm-es5/ion-segment-content.entry.js +4 -0
  706. package/dist/esm-es5/ion-segment-view.entry.js +4 -0
  707. package/dist/esm-es5/ion-segment_2.entry.js +1 -1
  708. package/dist/esm-es5/ion-select-modal.entry.js +4 -0
  709. package/dist/esm-es5/ion-select_3.entry.js +1 -1
  710. package/dist/esm-es5/ion-spinner.entry.js +1 -1
  711. package/dist/esm-es5/ion-split-pane.entry.js +1 -1
  712. package/dist/esm-es5/ion-tab-bar_2.entry.js +1 -1
  713. package/dist/esm-es5/ion-tab_2.entry.js +1 -1
  714. package/dist/esm-es5/ion-text.entry.js +1 -1
  715. package/dist/esm-es5/ion-textarea.entry.js +1 -1
  716. package/dist/esm-es5/ion-toast.entry.js +1 -1
  717. package/dist/esm-es5/ion-toggle.entry.js +1 -1
  718. package/dist/esm-es5/ionic-global-3c97a4aa.js +4 -0
  719. package/dist/esm-es5/ionic.js +1 -1
  720. package/dist/esm-es5/ios.transition-06b78ea0.js +4 -0
  721. package/dist/esm-es5/{keyboard-52278bd7.js → keyboard-5b1b354d.js} +1 -1
  722. package/dist/esm-es5/{keyboard-73175e24.js → keyboard-9bbd546a.js} +1 -1
  723. package/dist/esm-es5/keyboard-controller-aff395fd.js +4 -0
  724. package/dist/esm-es5/list-6524700c.js +4 -0
  725. package/dist/esm-es5/loader.js +1 -1
  726. package/dist/esm-es5/md.transition-e5712bda.js +4 -0
  727. package/dist/esm-es5/notch-controller-c0bd22ff.js +4 -0
  728. package/dist/esm-es5/overlays-ce6f6b23.js +4 -0
  729. package/dist/esm-es5/status-tap-edf9f395.js +4 -0
  730. package/dist/esm-es5/swipe-back-17c42610.js +4 -0
  731. package/dist/esm-es5/x-a64bcd9f.js +4 -0
  732. package/dist/html.html-data.json +2375 -210
  733. package/dist/ionic/index.esm.js +1 -1
  734. package/dist/ionic/ionic.esm.js +1 -1
  735. package/dist/ionic/ionic.js +1 -1
  736. package/dist/ionic/p-01d80901.system.js +4 -0
  737. package/dist/ionic/p-02db6423.entry.js +4 -0
  738. package/dist/ionic/p-038a6294.js +4 -0
  739. package/dist/ionic/p-043483dc.entry.js +4 -0
  740. package/dist/ionic/p-055ae36e.system.entry.js +4 -0
  741. package/dist/ionic/p-06ca2619.system.entry.js +4 -0
  742. package/dist/ionic/p-06ec4706.js +4 -0
  743. package/dist/ionic/p-08b2ba53.system.entry.js +4 -0
  744. package/dist/ionic/p-08f4a45d.system.entry.js +4 -0
  745. package/dist/ionic/p-096e5f6d.system.entry.js +4 -0
  746. package/dist/ionic/p-09c6b5e4.js +4 -0
  747. package/dist/ionic/p-0a0ce78f.system.entry.js +4 -0
  748. package/dist/ionic/{p-25180df3.system.js → p-0fa218e9.system.js} +1 -1
  749. package/dist/ionic/p-10961893.system.entry.js +4 -0
  750. package/dist/ionic/p-112120d7.system.js +4 -0
  751. package/dist/ionic/{p-c7e16491.js → p-11266916.js} +1 -1
  752. package/dist/ionic/{p-1e955a45.system.js → p-115d74cd.system.js} +1 -1
  753. package/dist/ionic/{p-34b11c24.js → p-12d6df53.js} +1 -1
  754. package/dist/ionic/p-156d17cd.js +4 -0
  755. package/dist/ionic/p-161ecf50.system.entry.js +4 -0
  756. package/dist/ionic/{p-b06ac4a5.system.js → p-18f86177.system.js} +1 -1
  757. package/dist/ionic/p-1a64d63d.system.entry.js +4 -0
  758. package/dist/ionic/p-1da82a87.system.entry.js +4 -0
  759. package/dist/ionic/p-1e4fd112.entry.js +4 -0
  760. package/dist/ionic/p-1efa63f2.js +4 -0
  761. package/dist/ionic/p-1fba8e90.system.entry.js +4 -0
  762. package/dist/ionic/p-211b0fba.system.entry.js +4 -0
  763. package/dist/ionic/p-23b31425.entry.js +4 -0
  764. package/dist/ionic/p-243adf8c.js +4 -0
  765. package/dist/ionic/p-24f15ce4.system.entry.js +4 -0
  766. package/dist/ionic/p-2978f27e.entry.js +4 -0
  767. package/dist/ionic/p-2ef115ec.system.entry.js +4 -0
  768. package/dist/ionic/p-31fa1052.system.entry.js +4 -0
  769. package/dist/ionic/p-33dc4514.js +4 -0
  770. package/dist/ionic/p-346c67b0.js +4 -0
  771. package/dist/ionic/p-35362c9f.entry.js +4 -0
  772. package/dist/ionic/p-3608e72b.entry.js +4 -0
  773. package/dist/ionic/p-3b520400.system.entry.js +4 -0
  774. package/dist/ionic/p-3c4c73f9.system.entry.js +4 -0
  775. package/dist/ionic/p-3ce95a91.entry.js +4 -0
  776. package/dist/ionic/p-3d61263b.system.entry.js +4 -0
  777. package/dist/ionic/{p-9ea607bd.system.js → p-3e91ea3a.system.js} +2 -2
  778. package/dist/ionic/p-3f1e20d1.system.entry.js +4 -0
  779. package/dist/ionic/p-3fc0ba02.system.entry.js +4 -0
  780. package/dist/ionic/p-4130574e.entry.js +4 -0
  781. package/dist/ionic/{p-3c8e5c23.system.js → p-41c19986.system.js} +1 -1
  782. package/dist/ionic/p-41f06734.entry.js +4 -0
  783. package/dist/ionic/p-4219582c.system.js +4 -0
  784. package/dist/ionic/p-429dd2b5.system.js +4 -0
  785. package/dist/ionic/p-430d860e.entry.js +4 -0
  786. package/dist/ionic/p-43df37ca.entry.js +4 -0
  787. package/dist/ionic/p-4459a66e.system.js +4 -0
  788. package/dist/ionic/{p-f687573e.system.js → p-44ad86d7.system.js} +1 -1
  789. package/dist/ionic/p-458a2899.entry.js +4 -0
  790. package/dist/ionic/{p-8985cdb6.system.js → p-4626fb32.system.js} +1 -1
  791. package/dist/ionic/p-46787abb.system.js +4 -0
  792. package/dist/ionic/p-4683bb1b.entry.js +4 -0
  793. package/dist/ionic/p-47fd935c.system.js +4 -0
  794. package/dist/ionic/p-4a89c1ec.system.js +4 -0
  795. package/dist/ionic/p-4ac4f52a.system.entry.js +4 -0
  796. package/dist/ionic/p-4b4e4592.system.entry.js +4 -0
  797. package/dist/ionic/{p-89b61afc.js → p-4c275462.js} +1 -1
  798. package/dist/ionic/p-4c9e1b2c.js +4 -0
  799. package/dist/ionic/p-4edc0fda.system.entry.js +4 -0
  800. package/dist/ionic/p-4f127a09.system.entry.js +4 -0
  801. package/dist/ionic/p-51371e21.system.js +4 -0
  802. package/dist/ionic/p-530c591a.entry.js +4 -0
  803. package/dist/ionic/p-5474c7c4.entry.js +4 -0
  804. package/dist/ionic/p-55546d77.system.entry.js +4 -0
  805. package/dist/ionic/p-556778bd.system.js +4 -0
  806. package/dist/ionic/p-56be80f7.entry.js +4 -0
  807. package/dist/ionic/p-578a8bdf.entry.js +4 -0
  808. package/dist/ionic/p-57de8d54.system.entry.js +4 -0
  809. package/dist/ionic/{p-f9a53abb.system.js → p-58aa8a36.system.js} +1 -1
  810. package/dist/ionic/p-58c64779.system.entry.js +4 -0
  811. package/dist/ionic/{p-da2b833b.js → p-58f16ef6.js} +1 -1
  812. package/dist/ionic/p-5a6b3c0d.entry.js +4 -0
  813. package/dist/ionic/p-5a6d245d.system.entry.js +4 -0
  814. package/dist/ionic/p-5b57d327.system.js +4 -0
  815. package/dist/ionic/p-5ce35a03.js +4 -0
  816. package/dist/ionic/p-5e9730c2.entry.js +4 -0
  817. package/dist/ionic/p-607c9c33.js +4 -0
  818. package/dist/ionic/{p-9146695e.system.js → p-62887754.system.js} +1 -1
  819. package/dist/ionic/p-63fde7fe.entry.js +4 -0
  820. package/dist/ionic/p-67b6e18d.entry.js +4 -0
  821. package/dist/ionic/p-699c1e19.entry.js +4 -0
  822. package/dist/ionic/p-6a0dd6bc.js +4 -0
  823. package/dist/ionic/p-6bc2795b.entry.js +4 -0
  824. package/dist/ionic/p-6bd1c0ee.system.entry.js +4 -0
  825. package/dist/ionic/p-6caa76ec.js +4 -0
  826. package/dist/ionic/p-6f941957.entry.js +4 -0
  827. package/dist/ionic/p-7071d7ca.js +4 -0
  828. package/dist/ionic/p-72cbf799.system.entry.js +4 -0
  829. package/dist/ionic/p-74a20601.system.entry.js +4 -0
  830. package/dist/ionic/p-74d76684.js +4 -0
  831. package/dist/ionic/p-7557a7de.system.entry.js +4 -0
  832. package/dist/ionic/p-7607d8ba.system.entry.js +4 -0
  833. package/dist/ionic/p-78ed8923.js +4 -0
  834. package/dist/ionic/p-7a858bae.system.js +4 -0
  835. package/dist/ionic/p-81e632cb.entry.js +4 -0
  836. package/dist/ionic/p-82cb4235.js +4 -0
  837. package/dist/ionic/{p-d836d43e.js → p-83948e48.js} +1 -1
  838. package/dist/ionic/p-8463212e.js +4 -0
  839. package/dist/ionic/p-84667060.entry.js +4 -0
  840. package/dist/ionic/p-857ba8d4.entry.js +4 -0
  841. package/dist/ionic/p-86d98446.system.entry.js +4 -0
  842. package/dist/ionic/{p-baffaf8d.system.entry.js → p-86e9a917.system.entry.js} +1 -1
  843. package/dist/ionic/p-87049797.js +4 -0
  844. package/dist/ionic/p-88290bd9.system.entry.js +4 -0
  845. package/dist/ionic/p-8956f9a8.system.entry.js +4 -0
  846. package/dist/ionic/p-8b0f0a87.entry.js +4 -0
  847. package/dist/ionic/p-8db246c2.system.js +4 -0
  848. package/dist/ionic/p-8dbfae64.entry.js +4 -0
  849. package/dist/ionic/p-903c544a.js +4 -0
  850. package/dist/ionic/p-916bc9ed.system.entry.js +4 -0
  851. package/dist/ionic/p-92646426.js +4 -0
  852. package/dist/ionic/{p-27281edd.js → p-93e47936.js} +1 -1
  853. package/dist/ionic/{p-a93873de.system.js → p-94816e7a.system.js} +1 -1
  854. package/dist/ionic/p-986855d6.js +4 -0
  855. package/dist/ionic/p-9abb7d9b.entry.js +4 -0
  856. package/dist/ionic/p-9ac1a506.system.js +4 -0
  857. package/dist/ionic/p-a1cdc742.js +4 -0
  858. package/dist/ionic/p-a2814291.system.js +4 -0
  859. package/dist/ionic/p-a42eccfb.entry.js +4 -0
  860. package/dist/ionic/{p-d743e981.js → p-a510e9c0.js} +1 -1
  861. package/dist/ionic/p-a5a9206f.entry.js +4 -0
  862. package/dist/ionic/p-a616b6e4.entry.js +4 -0
  863. package/dist/ionic/p-a9af4103.js +4 -0
  864. package/dist/ionic/{p-d60342e3.js → p-aaccbb95.js} +1 -1
  865. package/dist/ionic/p-ab21d58c.entry.js +4 -0
  866. package/dist/ionic/p-ac1c2b6a.js +4 -0
  867. package/dist/ionic/p-ae55c4c7.system.entry.js +4 -0
  868. package/dist/ionic/p-b18c52cd.entry.js +4 -0
  869. package/dist/ionic/p-b2df786a.system.entry.js +4 -0
  870. package/dist/ionic/p-b517144d.system.entry.js +4 -0
  871. package/dist/ionic/p-b5dc9a32.system.entry.js +4 -0
  872. package/dist/ionic/p-b79f3ded.entry.js +4 -0
  873. package/dist/ionic/p-bbcec459.system.js +4 -0
  874. package/dist/ionic/p-be87ec25.entry.js +4 -0
  875. package/dist/ionic/p-c248c88d.system.js +4 -0
  876. package/dist/ionic/p-c373eebd.system.js +4 -0
  877. package/dist/ionic/p-ccce3322.system.entry.js +4 -0
  878. package/dist/ionic/p-ce2e8a94.system.entry.js +4 -0
  879. package/dist/ionic/p-ce46d44a.entry.js +4 -0
  880. package/dist/ionic/p-cea92c46.system.js +4 -0
  881. package/dist/ionic/p-d7894208.entry.js +4 -0
  882. package/dist/ionic/p-da96f15f.entry.js +4 -0
  883. package/dist/ionic/{p-19ea7bff.system.js → p-dbd39afd.system.js} +1 -1
  884. package/dist/ionic/p-ddbf4ca9.entry.js +4 -0
  885. package/dist/ionic/p-df09db21.entry.js +4 -0
  886. package/dist/ionic/p-e3b70846.system.js +4 -0
  887. package/dist/ionic/p-e9eb25ba.system.entry.js +4 -0
  888. package/dist/ionic/p-ea0b8c64.system.entry.js +4 -0
  889. package/dist/ionic/p-ea3ca474.system.js +4 -0
  890. package/dist/ionic/p-ebe94d15.entry.js +4 -0
  891. package/dist/ionic/p-eda736d7.entry.js +4 -0
  892. package/dist/ionic/p-eecb1b04.entry.js +4 -0
  893. package/dist/ionic/p-eee899d5.system.entry.js +4 -0
  894. package/dist/ionic/p-f09c06e8.entry.js +4 -0
  895. package/dist/ionic/p-f116fb3f.system.js +4 -0
  896. package/dist/ionic/{p-372ae7f4.system.js → p-f193945e.system.js} +1 -1
  897. package/dist/ionic/p-f1e11e93.entry.js +4 -0
  898. package/dist/ionic/p-f28ac1ad.entry.js +4 -0
  899. package/dist/ionic/p-f44934a7.system.entry.js +4 -0
  900. package/dist/ionic/p-f44c9c6e.system.entry.js +4 -0
  901. package/dist/ionic/p-f61375b7.system.entry.js +4 -0
  902. package/dist/ionic/p-f8123284.entry.js +4 -0
  903. package/dist/ionic/p-f83d18c1.entry.js +4 -0
  904. package/dist/ionic/{p-5da94421.system.js → p-f8c63ac0.system.js} +2 -2
  905. package/dist/ionic/p-fc8359aa.system.entry.js +4 -0
  906. package/dist/types/components/accordion/accordion.d.ts +5 -3
  907. package/dist/types/components/accordion-group/accordion-group.d.ts +12 -1
  908. package/dist/types/components/action-sheet/action-sheet-interface.d.ts +3 -7
  909. package/dist/types/components/action-sheet/action-sheet.d.ts +3 -2
  910. package/dist/types/components/alert/alert-interface.d.ts +3 -7
  911. package/dist/types/components/alert/alert.d.ts +3 -2
  912. package/dist/types/components/app/app.d.ts +4 -2
  913. package/dist/types/components/avatar/avatar.d.ts +28 -0
  914. package/dist/types/components/back-button/back-button.d.ts +2 -1
  915. package/dist/types/components/backdrop/backdrop.d.ts +4 -0
  916. package/dist/types/components/badge/badge.d.ts +23 -1
  917. package/dist/types/components/breadcrumb/breadcrumb.d.ts +4 -1
  918. package/dist/types/components/breadcrumbs/breadcrumbs.d.ts +2 -2
  919. package/dist/types/components/button/button.d.ts +15 -4
  920. package/dist/types/components/buttons/buttons.d.ts +5 -1
  921. package/dist/types/components/card/card.d.ts +8 -1
  922. package/dist/types/components/card-content/card-content.d.ts +2 -1
  923. package/dist/types/components/card-header/card-header.d.ts +3 -2
  924. package/dist/types/components/card-subtitle/card-subtitle.d.ts +2 -1
  925. package/dist/types/components/card-title/card-title.d.ts +2 -1
  926. package/dist/types/components/checkbox/checkbox.d.ts +16 -5
  927. package/dist/types/components/chip/chip.d.ts +19 -1
  928. package/dist/types/components/col/col.d.ts +4 -0
  929. package/dist/types/components/content/content.d.ts +3 -0
  930. package/dist/types/components/datetime/datetime.d.ts +26 -1
  931. package/dist/types/components/datetime/utils/data.d.ts +3 -3
  932. package/dist/types/components/datetime-button/datetime-button.d.ts +2 -1
  933. package/dist/types/components/fab/fab.d.ts +4 -0
  934. package/dist/types/components/fab-button/fab-button.d.ts +5 -3
  935. package/dist/types/components/fab-list/fab-list.d.ts +4 -0
  936. package/dist/types/components/footer/footer.d.ts +4 -3
  937. package/dist/types/components/grid/grid.d.ts +4 -0
  938. package/dist/types/components/header/header.d.ts +9 -3
  939. package/dist/types/components/img/img.d.ts +3 -0
  940. package/dist/types/components/infinite-scroll/infinite-scroll.d.ts +4 -0
  941. package/dist/types/components/infinite-scroll-content/infinite-scroll-content.d.ts +4 -0
  942. package/dist/types/components/input/input.d.ts +31 -5
  943. package/dist/types/components/input-password-toggle/input-password-toggle.d.ts +2 -0
  944. package/dist/types/components/item/item.d.ts +11 -4
  945. package/dist/types/components/item-divider/item-divider.d.ts +2 -1
  946. package/dist/types/components/item-group/item-group.d.ts +4 -0
  947. package/dist/types/components/item-option/item-option.d.ts +11 -1
  948. package/dist/types/components/item-options/item-options.d.ts +4 -0
  949. package/dist/types/components/item-sliding/item-sliding.d.ts +4 -0
  950. package/dist/types/components/label/label.d.ts +2 -1
  951. package/dist/types/components/list/list.d.ts +15 -1
  952. package/dist/types/components/list-header/list-header.d.ts +2 -1
  953. package/dist/types/components/loading/loading-interface.d.ts +2 -7
  954. package/dist/types/components/loading/loading.d.ts +3 -2
  955. package/dist/types/components/menu/menu-interface.d.ts +5 -2
  956. package/dist/types/components/menu/menu.d.ts +9 -6
  957. package/dist/types/components/menu-button/menu-button.d.ts +3 -1
  958. package/dist/types/components/menu-toggle/menu-toggle.d.ts +3 -0
  959. package/dist/types/components/modal/gestures/sheet.d.ts +1 -1
  960. package/dist/types/components/modal/modal-interface.d.ts +4 -7
  961. package/dist/types/components/modal/modal.d.ts +11 -1
  962. package/dist/types/components/nav/nav-interface.d.ts +9 -1
  963. package/dist/types/components/nav/nav.d.ts +5 -1
  964. package/dist/types/components/nav-link/nav-link.d.ts +4 -0
  965. package/dist/types/components/note/note.d.ts +2 -1
  966. package/dist/types/components/picker/picker.d.ts +2 -1
  967. package/dist/types/components/picker-column/picker-column.d.ts +2 -1
  968. package/dist/types/components/picker-column-option/picker-column-option.d.ts +4 -0
  969. package/dist/types/components/picker-legacy/picker.d.ts +2 -1
  970. package/dist/types/components/popover/popover-interface.d.ts +3 -6
  971. package/dist/types/components/popover/popover.d.ts +6 -5
  972. package/dist/types/components/progress-bar/progress-bar.d.ts +2 -1
  973. package/dist/types/components/radio/radio.d.ts +3 -2
  974. package/dist/types/components/radio-group/radio-group.d.ts +4 -0
  975. package/dist/types/components/range/range.d.ts +2 -1
  976. package/dist/types/components/refresher/refresher.d.ts +2 -1
  977. package/dist/types/components/refresher-content/refresher-content.d.ts +4 -0
  978. package/dist/types/components/reorder/reorder.d.ts +9 -0
  979. package/dist/types/components/reorder-group/reorder-group.d.ts +4 -0
  980. package/dist/types/components/ripple-effect/ripple-effect.d.ts +4 -0
  981. package/dist/types/components/route/route.d.ts +4 -0
  982. package/dist/types/components/router/router.d.ts +4 -0
  983. package/dist/types/components/router-link/router-link.d.ts +4 -0
  984. package/dist/types/components/router-outlet/router-outlet.d.ts +4 -1
  985. package/dist/types/components/row/row.d.ts +4 -0
  986. package/dist/types/components/searchbar/searchbar.d.ts +30 -8
  987. package/dist/types/components/segment/segment.d.ts +23 -2
  988. package/dist/types/components/segment-button/segment-button.d.ts +6 -1
  989. package/dist/types/components/segment-content/segment-content.d.ts +4 -0
  990. package/dist/types/components/segment-view/segment-view-interface.d.ts +4 -0
  991. package/dist/types/components/segment-view/segment-view.d.ts +55 -0
  992. package/dist/types/components/select/select-interface.d.ts +1 -1
  993. package/dist/types/components/select/select.d.ts +25 -9
  994. package/dist/types/components/select-modal/select-modal-interface.d.ts +10 -0
  995. package/dist/types/components/select-modal/select-modal.d.ts +16 -0
  996. package/dist/types/components/select-modal/test/fixtures.d.ts +16 -0
  997. package/dist/types/components/select-option/select-option.d.ts +4 -0
  998. package/dist/types/components/select-popover/select-popover.d.ts +3 -0
  999. package/dist/types/components/skeleton-text/skeleton-text.d.ts +4 -0
  1000. package/dist/types/components/spinner/spinner.d.ts +15 -0
  1001. package/dist/types/components/split-pane/split-pane.d.ts +4 -0
  1002. package/dist/types/components/tab/tab.d.ts +4 -0
  1003. package/dist/types/components/tab-bar/tab-bar.d.ts +22 -2
  1004. package/dist/types/components/tab-button/tab-button.d.ts +2 -1
  1005. package/dist/types/components/tabs/tabs.d.ts +3 -0
  1006. package/dist/types/components/text/text.d.ts +2 -1
  1007. package/dist/types/components/textarea/textarea.d.ts +16 -4
  1008. package/dist/types/components/thumbnail/thumbnail.d.ts +4 -0
  1009. package/dist/types/components/title/title.d.ts +4 -0
  1010. package/dist/types/components/toast/animations/utils.d.ts +2 -2
  1011. package/dist/types/components/toast/toast-interface.d.ts +3 -7
  1012. package/dist/types/components/toast/toast.d.ts +12 -2
  1013. package/dist/types/components/toggle/toggle.d.ts +15 -1
  1014. package/dist/types/components/toolbar/toolbar.d.ts +4 -3
  1015. package/dist/types/components.d.ts +1468 -194
  1016. package/dist/types/global/ionic-global.d.ts +27 -2
  1017. package/dist/types/interface.d.ts +3 -0
  1018. package/dist/types/utils/config.d.ts +106 -2
  1019. package/dist/types/utils/focus-visible.d.ts +1 -0
  1020. package/dist/types/utils/overlays-interface.d.ts +32 -2
  1021. package/dist/types/utils/test/playwright/generator.d.ts +31 -2
  1022. package/hydrate/index.js +2765 -950
  1023. package/hydrate/index.mjs +2765 -950
  1024. package/package.json +9 -4
  1025. package/components/hardware-back-button.js +0 -115
  1026. package/components/index8.js +0 -128
  1027. package/dist/cjs/hardware-back-button-9e8a2c4f.js +0 -122
  1028. package/dist/cjs/index-5915f9b3.js +0 -38
  1029. package/dist/cjs/index-c8d52405.js +0 -10
  1030. package/dist/cjs/ionic-global-d9a8bb5b.js +0 -237
  1031. package/dist/esm/hardware-back-button-06ef3c3e.js +0 -116
  1032. package/dist/esm/index-79b30591.js +0 -167
  1033. package/dist/esm/index-9b0d46f4.js +0 -34
  1034. package/dist/esm/index-a5d50daf.js +0 -7
  1035. package/dist/esm/ionic-global-c81d82ab.js +0 -231
  1036. package/dist/esm-es5/animation-eab5a4ca.js +0 -4
  1037. package/dist/esm-es5/app-globals-5dbb61a5.js +0 -4
  1038. package/dist/esm-es5/capacitor-59395cbd.js +0 -4
  1039. package/dist/esm-es5/data-ae11fd43.js +0 -4
  1040. package/dist/esm-es5/focus-visible-dd40d69f.js +0 -4
  1041. package/dist/esm-es5/framework-delegate-63d1a679.js +0 -4
  1042. package/dist/esm-es5/hardware-back-button-06ef3c3e.js +0 -4
  1043. package/dist/esm-es5/helpers-da915de8.js +0 -4
  1044. package/dist/esm-es5/index-3ad7f18b.js +0 -4
  1045. package/dist/esm-es5/index-5cc724f3.js +0 -4
  1046. package/dist/esm-es5/index-9b0d46f4.js +0 -4
  1047. package/dist/esm-es5/index-a5d50daf.js +0 -4
  1048. package/dist/esm-es5/index-fe1782b1.js +0 -4
  1049. package/dist/esm-es5/input-shims-0314bbe5.js +0 -4
  1050. package/dist/esm-es5/input.utils-09c71bc7.js +0 -4
  1051. package/dist/esm-es5/ionic-global-c81d82ab.js +0 -4
  1052. package/dist/esm-es5/ios.transition-4ee1a3af.js +0 -4
  1053. package/dist/esm-es5/keyboard-controller-ec5c2bfa.js +0 -4
  1054. package/dist/esm-es5/md.transition-5106a0d2.js +0 -4
  1055. package/dist/esm-es5/notch-controller-55b09e11.js +0 -4
  1056. package/dist/esm-es5/overlays-ae10d43d.js +0 -4
  1057. package/dist/esm-es5/status-tap-f472b09f.js +0 -4
  1058. package/dist/esm-es5/swipe-back-e5394307.js +0 -4
  1059. package/dist/ionic/p-003eecb9.entry.js +0 -4
  1060. package/dist/ionic/p-00b01a55.system.entry.js +0 -4
  1061. package/dist/ionic/p-01503bbd.system.entry.js +0 -4
  1062. package/dist/ionic/p-0303d0f8.js +0 -4
  1063. package/dist/ionic/p-0373d924.system.entry.js +0 -4
  1064. package/dist/ionic/p-04fc24ee.system.js +0 -4
  1065. package/dist/ionic/p-0574e87e.js +0 -4
  1066. package/dist/ionic/p-05beda73.entry.js +0 -4
  1067. package/dist/ionic/p-06e58c4e.js +0 -4
  1068. package/dist/ionic/p-06fee233.js +0 -4
  1069. package/dist/ionic/p-0790b342.system.entry.js +0 -4
  1070. package/dist/ionic/p-0c06e09b.system.js +0 -4
  1071. package/dist/ionic/p-110e03be.system.entry.js +0 -4
  1072. package/dist/ionic/p-148b8abb.entry.js +0 -4
  1073. package/dist/ionic/p-17474161.system.js +0 -4
  1074. package/dist/ionic/p-176b372f.entry.js +0 -4
  1075. package/dist/ionic/p-18105026.system.entry.js +0 -4
  1076. package/dist/ionic/p-1dfc11b3.system.js +0 -4
  1077. package/dist/ionic/p-1e4371bd.js +0 -4
  1078. package/dist/ionic/p-21cfd4de.entry.js +0 -4
  1079. package/dist/ionic/p-21e5e7e4.js +0 -4
  1080. package/dist/ionic/p-2200e26b.entry.js +0 -4
  1081. package/dist/ionic/p-233e6c93.entry.js +0 -4
  1082. package/dist/ionic/p-25928b83.system.entry.js +0 -4
  1083. package/dist/ionic/p-2690b1de.js +0 -4
  1084. package/dist/ionic/p-293ed6ac.system.entry.js +0 -4
  1085. package/dist/ionic/p-2b7827c7.js +0 -4
  1086. package/dist/ionic/p-2ca6eac2.system.entry.js +0 -4
  1087. package/dist/ionic/p-2ea1ca4f.system.entry.js +0 -4
  1088. package/dist/ionic/p-313ccc01.system.entry.js +0 -4
  1089. package/dist/ionic/p-322c5fb4.system.js +0 -4
  1090. package/dist/ionic/p-3ad285e3.system.js +0 -4
  1091. package/dist/ionic/p-3c968c7f.system.entry.js +0 -4
  1092. package/dist/ionic/p-3cc276f4.js +0 -4
  1093. package/dist/ionic/p-44d1539c.system.entry.js +0 -4
  1094. package/dist/ionic/p-49bc6544.entry.js +0 -4
  1095. package/dist/ionic/p-4a0a4204.system.entry.js +0 -4
  1096. package/dist/ionic/p-4a82bd1c.system.entry.js +0 -4
  1097. package/dist/ionic/p-4c2d5b80.system.js +0 -4
  1098. package/dist/ionic/p-4c8fceb0.entry.js +0 -4
  1099. package/dist/ionic/p-521eca2e.entry.js +0 -4
  1100. package/dist/ionic/p-53854390.entry.js +0 -4
  1101. package/dist/ionic/p-53add985.system.entry.js +0 -4
  1102. package/dist/ionic/p-5417b9bb.entry.js +0 -4
  1103. package/dist/ionic/p-5c831f49.js +0 -4
  1104. package/dist/ionic/p-5e842258.entry.js +0 -4
  1105. package/dist/ionic/p-60cc7986.entry.js +0 -4
  1106. package/dist/ionic/p-63d65dbc.system.entry.js +0 -4
  1107. package/dist/ionic/p-6562e0a9.system.entry.js +0 -4
  1108. package/dist/ionic/p-661ce4a8.entry.js +0 -4
  1109. package/dist/ionic/p-6817cf42.system.entry.js +0 -4
  1110. package/dist/ionic/p-68c4df55.entry.js +0 -4
  1111. package/dist/ionic/p-69066a53.js +0 -4
  1112. package/dist/ionic/p-6b8893dd.entry.js +0 -4
  1113. package/dist/ionic/p-6ceb04b5.entry.js +0 -4
  1114. package/dist/ionic/p-6d50faff.entry.js +0 -4
  1115. package/dist/ionic/p-6e85e450.entry.js +0 -4
  1116. package/dist/ionic/p-7243df6f.entry.js +0 -4
  1117. package/dist/ionic/p-7251fed5.entry.js +0 -4
  1118. package/dist/ionic/p-72812e99.js +0 -4
  1119. package/dist/ionic/p-72bc8a1c.js +0 -4
  1120. package/dist/ionic/p-72ffd137.system.entry.js +0 -4
  1121. package/dist/ionic/p-75c0dc65.system.entry.js +0 -4
  1122. package/dist/ionic/p-773d118d.entry.js +0 -4
  1123. package/dist/ionic/p-7740e32c.system.js +0 -4
  1124. package/dist/ionic/p-792919fd.system.js +0 -4
  1125. package/dist/ionic/p-79b12fda.system.js +0 -4
  1126. package/dist/ionic/p-79e7be3a.system.entry.js +0 -4
  1127. package/dist/ionic/p-7b30edcc.js +0 -4
  1128. package/dist/ionic/p-82ab7ccb.entry.js +0 -4
  1129. package/dist/ionic/p-836d39d4.system.entry.js +0 -4
  1130. package/dist/ionic/p-857ca696.system.entry.js +0 -4
  1131. package/dist/ionic/p-8635f5e6.system.js +0 -4
  1132. package/dist/ionic/p-8640e9cd.entry.js +0 -4
  1133. package/dist/ionic/p-87a4407b.entry.js +0 -4
  1134. package/dist/ionic/p-8836d0eb.system.entry.js +0 -4
  1135. package/dist/ionic/p-88e63c7d.js +0 -4
  1136. package/dist/ionic/p-89a0a446.entry.js +0 -4
  1137. package/dist/ionic/p-8b6232a6.system.entry.js +0 -4
  1138. package/dist/ionic/p-8d44cf1f.entry.js +0 -4
  1139. package/dist/ionic/p-9172535c.entry.js +0 -4
  1140. package/dist/ionic/p-921e159f.system.entry.js +0 -4
  1141. package/dist/ionic/p-92d7a3d1.entry.js +0 -4
  1142. package/dist/ionic/p-93f37ceb.system.entry.js +0 -4
  1143. package/dist/ionic/p-95823c62.system.entry.js +0 -4
  1144. package/dist/ionic/p-960803fc.system.entry.js +0 -4
  1145. package/dist/ionic/p-96cc4814.js +0 -4
  1146. package/dist/ionic/p-973f0b15.system.entry.js +0 -4
  1147. package/dist/ionic/p-9895e7f3.entry.js +0 -4
  1148. package/dist/ionic/p-9910f786.entry.js +0 -4
  1149. package/dist/ionic/p-9b6c6302.system.entry.js +0 -4
  1150. package/dist/ionic/p-9e208825.entry.js +0 -4
  1151. package/dist/ionic/p-9ece8dcf.entry.js +0 -4
  1152. package/dist/ionic/p-9f3008d4.system.js +0 -4
  1153. package/dist/ionic/p-a0c88dc2.system.entry.js +0 -4
  1154. package/dist/ionic/p-a15ddedb.system.js +0 -4
  1155. package/dist/ionic/p-a3711608.system.entry.js +0 -4
  1156. package/dist/ionic/p-a4565eb5.system.js +0 -4
  1157. package/dist/ionic/p-a69b9fc5.system.js +0 -4
  1158. package/dist/ionic/p-a879ecb7.system.entry.js +0 -4
  1159. package/dist/ionic/p-a89dac49.entry.js +0 -4
  1160. package/dist/ionic/p-a90e2708.system.entry.js +0 -4
  1161. package/dist/ionic/p-abe101da.system.js +0 -4
  1162. package/dist/ionic/p-af999a31.entry.js +0 -4
  1163. package/dist/ionic/p-b51e4004.js +0 -4
  1164. package/dist/ionic/p-b54fc1ae.entry.js +0 -4
  1165. package/dist/ionic/p-b7657e8d.entry.js +0 -4
  1166. package/dist/ionic/p-bd25d639.system.entry.js +0 -4
  1167. package/dist/ionic/p-be715dd3.system.entry.js +0 -4
  1168. package/dist/ionic/p-c34659b9.entry.js +0 -4
  1169. package/dist/ionic/p-c468af8a.system.js +0 -4
  1170. package/dist/ionic/p-c61cc894.js +0 -4
  1171. package/dist/ionic/p-c71f301f.system.entry.js +0 -4
  1172. package/dist/ionic/p-cdb11938.system.entry.js +0 -4
  1173. package/dist/ionic/p-ce705aac.system.entry.js +0 -4
  1174. package/dist/ionic/p-d47265c8.js +0 -4
  1175. package/dist/ionic/p-d58f21d2.entry.js +0 -4
  1176. package/dist/ionic/p-d6841eac.js +0 -4
  1177. package/dist/ionic/p-d754c709.system.entry.js +0 -4
  1178. package/dist/ionic/p-da263d8e.entry.js +0 -4
  1179. package/dist/ionic/p-dda5c73d.entry.js +0 -4
  1180. package/dist/ionic/p-df83e308.system.entry.js +0 -4
  1181. package/dist/ionic/p-dfb78785.system.js +0 -4
  1182. package/dist/ionic/p-e3a5da9d.entry.js +0 -4
  1183. package/dist/ionic/p-e3e1e3de.entry.js +0 -4
  1184. package/dist/ionic/p-e3f13b08.js +0 -4
  1185. package/dist/ionic/p-ecceeb90.js +0 -4
  1186. package/dist/ionic/p-efaffe74.entry.js +0 -4
  1187. package/dist/ionic/p-f0ab13a8.system.entry.js +0 -4
  1188. package/dist/ionic/p-f1acf541.system.entry.js +0 -4
  1189. package/dist/ionic/p-f88ebc36.entry.js +0 -4
  1190. package/dist/ionic/p-f8c8b9ba.entry.js +0 -4
  1191. package/dist/ionic/p-fcd71204.system.entry.js +0 -4
  1192. package/dist/ionic/p-fd0cb4ef.entry.js +0 -4
  1193. package/dist/ionic/p-ff4b7e40.system.js +0 -4
  1194. package/dist/ionic/p-ffb17177.system.entry.js +0 -4
  1195. /package/dist/collection/components/{input-password-toggle/input-password-toggle.css → refresher-content/refresher-content.css} +0 -0
@@ -6,15 +6,19 @@
6
6
  Object.defineProperty(exports, '__esModule', { value: true });
7
7
 
8
8
  const index = require('./index-73f75efb.js');
9
- const helpers = require('./helpers-afaa9001.js');
9
+ const helpers = require('./helpers-4e2936d2.js');
10
10
  const dir = require('./dir-94c21456.js');
11
11
  const theme = require('./theme-d1c573d2.js');
12
- const ionicGlobal = require('./ionic-global-d9a8bb5b.js');
12
+ const ionicGlobal = require('./ionic-global-14af9c21.js');
13
+ require('./config-aff4ff52.js');
13
14
 
14
- 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)}";
15
+ 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)}";
16
+ const IonSegmentIonicStyle0 = segmentIonicCss;
17
+
18
+ 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)}";
15
19
  const IonSegmentIosStyle0 = segmentIosCss;
16
20
 
17
- 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}";
21
+ 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}";
18
22
  const IonSegmentMdStyle0 = segmentMdCss;
19
23
 
20
24
  const Segment = class {
@@ -23,6 +27,7 @@ const Segment = class {
23
27
  this.ionChange = index.createEvent(this, "ionChange", 7);
24
28
  this.ionSelect = index.createEvent(this, "ionSelect", 7);
25
29
  this.ionStyle = index.createEvent(this, "ionStyle", 7);
30
+ this.segmentViewEl = null;
26
31
  this.onClick = (ev) => {
27
32
  const current = ev.target;
28
33
  const previous = this.checked;
@@ -37,7 +42,13 @@ const Segment = class {
37
42
  if (current !== previous) {
38
43
  this.emitValueChange();
39
44
  }
40
- if (this.scrollable || !this.swipeGesture) {
45
+ if (this.segmentViewEl) {
46
+ this.updateSegmentView();
47
+ if (this.scrollable && previous) {
48
+ this.checkButton(previous, current);
49
+ }
50
+ }
51
+ else if (this.scrollable || !this.swipeGesture) {
41
52
  if (previous) {
42
53
  this.checkButton(previous, current);
43
54
  }
@@ -93,19 +104,49 @@ const Segment = class {
93
104
  swipeGestureChanged() {
94
105
  this.gestureChanged();
95
106
  }
96
- valueChanged(value) {
107
+ valueChanged(value, oldValue) {
108
+ // Force a value to exist if we're using a segment view
109
+ if (this.segmentViewEl && value === undefined) {
110
+ this.value = this.getButtons()[0].value;
111
+ return;
112
+ }
113
+ if (oldValue !== undefined && value !== undefined) {
114
+ const buttons = this.getButtons();
115
+ const previous = buttons.find((button) => button.value === oldValue);
116
+ const current = buttons.find((button) => button.value === value);
117
+ if (previous && current) {
118
+ if (!this.segmentViewEl) {
119
+ this.checkButton(previous, current);
120
+ }
121
+ else if (this.triggerScrollOnValueChange !== false) {
122
+ this.updateSegmentView();
123
+ }
124
+ }
125
+ }
126
+ else if (value !== undefined && oldValue === undefined && this.segmentViewEl) {
127
+ this.updateSegmentView();
128
+ }
97
129
  /**
98
130
  * `ionSelect` is emitted every time the value changes (internal or external changes).
99
131
  * Used by `ion-segment-button` to determine if the button should be checked.
100
132
  */
101
133
  this.ionSelect.emit({ value });
102
- this.scrollActiveButtonIntoView();
134
+ // The scroll listener should handle scrolling the active button into view as needed
135
+ if (!this.segmentViewEl) {
136
+ this.scrollActiveButtonIntoView();
137
+ }
138
+ this.triggerScrollOnValueChange = undefined;
103
139
  }
104
140
  disabledChanged() {
105
141
  this.gestureChanged();
106
- const buttons = this.getButtons();
107
- for (const button of buttons) {
108
- button.disabled = this.disabled;
142
+ if (!this.segmentViewEl) {
143
+ const buttons = this.getButtons();
144
+ for (const button of buttons) {
145
+ button.disabled = this.disabled;
146
+ }
147
+ }
148
+ else {
149
+ this.segmentViewEl.disabled = this.disabled;
109
150
  }
110
151
  }
111
152
  gestureChanged() {
@@ -115,6 +156,10 @@ const Segment = class {
115
156
  }
116
157
  connectedCallback() {
117
158
  this.emitStyle();
159
+ this.segmentViewEl = this.getSegmentView();
160
+ }
161
+ disconnectedCallback() {
162
+ this.segmentViewEl = null;
118
163
  }
119
164
  componentWillLoad() {
120
165
  this.emitStyle();
@@ -148,6 +193,9 @@ const Segment = class {
148
193
  if (this.disabled) {
149
194
  this.disabledChanged();
150
195
  }
196
+ // Update segment view based on the initial value,
197
+ // but do not animate the scroll
198
+ this.updateSegmentView(false);
151
199
  }
152
200
  onStart(detail) {
153
201
  this.valueBeforeGesture = this.value;
@@ -164,6 +212,7 @@ const Segment = class {
164
212
  if (value !== undefined) {
165
213
  if (this.valueBeforeGesture !== value) {
166
214
  this.emitValueChange();
215
+ this.updateSegmentView();
167
216
  }
168
217
  }
169
218
  this.valueBeforeGesture = undefined;
@@ -191,12 +240,7 @@ const Segment = class {
191
240
  setActivated(activated) {
192
241
  const buttons = this.getButtons();
193
242
  buttons.forEach((button) => {
194
- if (activated) {
195
- button.classList.add('segment-button-activated');
196
- }
197
- else {
198
- button.classList.remove('segment-button-activated');
199
- }
243
+ button.classList.toggle('segment-button-activated', activated);
200
244
  });
201
245
  this.activated = activated;
202
246
  }
@@ -247,6 +291,7 @@ const Segment = class {
247
291
  currentIndicator.classList.add('segment-button-indicator-animated');
248
292
  // Remove the transform to slide the indicator back to the button clicked
249
293
  currentIndicator.style.setProperty('transform', '');
294
+ this.scrollActiveButtonIntoView(true);
250
295
  });
251
296
  this.value = current.value;
252
297
  this.setCheckedClasses();
@@ -262,6 +307,60 @@ const Segment = class {
262
307
  buttons[next].classList.add('segment-button-after-checked');
263
308
  }
264
309
  }
310
+ getSegmentView() {
311
+ const buttons = this.getButtons();
312
+ // Get the first button with a contentId
313
+ const firstContentId = buttons.find((button) => button.contentId);
314
+ // Get the segment content with an id matching the button's contentId
315
+ const segmentContent = document.querySelector(`ion-segment-content[id="${firstContentId === null || firstContentId === void 0 ? void 0 : firstContentId.contentId}"]`);
316
+ // Return the segment view for that matching segment content
317
+ return segmentContent === null || segmentContent === void 0 ? void 0 : segmentContent.closest('ion-segment-view');
318
+ }
319
+ handleSegmentViewScroll(ev) {
320
+ const { scrollRatio, isManualScroll } = ev.detail;
321
+ if (!isManualScroll) {
322
+ return;
323
+ }
324
+ const dispatchedFrom = ev.target;
325
+ const segmentViewEl = this.segmentViewEl;
326
+ const segmentEl = this.el;
327
+ // Only update the indicator if the event was dispatched from the correct segment view
328
+ if (ev.composedPath().includes(segmentViewEl) || (dispatchedFrom === null || dispatchedFrom === void 0 ? void 0 : dispatchedFrom.contains(segmentEl))) {
329
+ const buttons = this.getButtons();
330
+ // If no buttons are found or there is no value set then do nothing
331
+ if (!buttons.length)
332
+ return;
333
+ const index = buttons.findIndex((button) => button.value === this.value);
334
+ const current = buttons[index];
335
+ const nextIndex = Math.round(scrollRatio * (buttons.length - 1));
336
+ if (this.lastNextIndex === undefined || this.lastNextIndex !== nextIndex) {
337
+ this.lastNextIndex = nextIndex;
338
+ this.triggerScrollOnValueChange = false;
339
+ this.checkButton(current, buttons[nextIndex]);
340
+ this.emitValueChange();
341
+ }
342
+ }
343
+ }
344
+ /**
345
+ * Finds the related segment view and sets its current content
346
+ * based on the selected segment button. This method
347
+ * should be called on initial load of the segment,
348
+ * after the gesture is completed (if dragging between segments)
349
+ * and when a segment button is clicked directly.
350
+ */
351
+ updateSegmentView(smoothScroll = true) {
352
+ const buttons = this.getButtons();
353
+ const button = buttons.find((btn) => btn.value === this.value);
354
+ // If the button does not have a contentId then there is
355
+ // no associated segment view to update
356
+ if (!(button === null || button === void 0 ? void 0 : button.contentId)) {
357
+ return;
358
+ }
359
+ const segmentView = this.segmentViewEl;
360
+ if (segmentView) {
361
+ segmentView.setContent(button.contentId, smoothScroll);
362
+ }
363
+ }
265
364
  scrollActiveButtonIntoView(smoothScroll = true) {
266
365
  const { scrollable, value, el } = this;
267
366
  if (scrollable) {
@@ -443,15 +542,15 @@ const Segment = class {
443
542
  current.setFocus();
444
543
  }
445
544
  render() {
446
- const mode = ionicGlobal.getIonMode(this);
447
- return (index.h(index.Host, { key: 'f1f7103b4c298e037df850ac809a1a7c6e9987a7', role: "tablist", onClick: this.onClick, class: theme.createColorClasses(this.color, {
448
- [mode]: true,
545
+ const theme$1 = ionicGlobal.getIonTheme(this);
546
+ return (index.h(index.Host, { key: '844dfde9cc22bbe24f63e97805d6bcbe5c48ce83', role: "tablist", onClick: this.onClick, class: theme.createColorClasses(this.color, {
547
+ [theme$1]: true,
449
548
  'in-toolbar': theme.hostContext('ion-toolbar', this.el),
450
549
  'in-toolbar-color': theme.hostContext('ion-toolbar[color]', this.el),
451
550
  'segment-activated': this.activated,
452
551
  'segment-disabled': this.disabled,
453
552
  'segment-scrollable': this.scrollable,
454
- }) }, index.h("slot", { key: '6efdb318b13da8d21687084aa0761728fdf12579', onSlotchange: this.onSlottedItemsChange })));
553
+ }) }, index.h("slot", { key: '2318a0c7c054860e0a9b9259e91d0c823b2bdfcf', onSlotchange: this.onSlottedItemsChange })));
455
554
  }
456
555
  get el() { return index.getElement(this); }
457
556
  static get watchers() { return {
@@ -462,14 +561,18 @@ const Segment = class {
462
561
  }; }
463
562
  };
464
563
  Segment.style = {
564
+ ionic: IonSegmentIonicStyle0,
465
565
  ios: IonSegmentIosStyle0,
466
566
  md: IonSegmentMdStyle0
467
567
  };
468
568
 
469
- 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)}}";
569
+ 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)}";
570
+ const IonSegmentButtonIonicStyle0 = segmentButtonIonicCss;
571
+
572
+ 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)}}";
470
573
  const IonSegmentButtonIosStyle0 = segmentButtonIosCss;
471
574
 
472
- 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)}";
575
+ 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)}";
473
576
  const IonSegmentButtonMdStyle0 = segmentButtonMdCss;
474
577
 
475
578
  let ids = 0;
@@ -491,6 +594,7 @@ const SegmentButton = class {
491
594
  }
492
595
  };
493
596
  this.checked = false;
597
+ this.contentId = undefined;
494
598
  this.disabled = false;
495
599
  this.layout = 'icon-top';
496
600
  this.type = 'button';
@@ -506,6 +610,26 @@ const SegmentButton = class {
506
610
  helpers.addEventListener(segmentEl, 'ionSelect', this.updateState);
507
611
  helpers.addEventListener(segmentEl, 'ionStyle', this.updateStyle);
508
612
  }
613
+ // Return if there is no contentId defined
614
+ if (!this.contentId)
615
+ return;
616
+ // Attempt to find the Segment Content by its contentId
617
+ const segmentContent = document.getElementById(this.contentId);
618
+ // If no associated Segment Content exists, log an error and return
619
+ if (!segmentContent) {
620
+ console.error(`Segment Button: Unable to find Segment Content with id="${this.contentId}".`);
621
+ return;
622
+ }
623
+ // Ensure the found element is a valid ION-SEGMENT-CONTENT
624
+ if (segmentContent.tagName !== 'ION-SEGMENT-CONTENT') {
625
+ console.error(`Segment Button: Element with id="${this.contentId}" is not an <ion-segment-content> element.`);
626
+ return;
627
+ }
628
+ // Prevent buttons from being disabled when associated with segment content
629
+ if (this.disabled) {
630
+ console.warn(`Segment Button: Segment buttons cannot be disabled when associated with an <ion-segment-content>.`);
631
+ this.disabled = false;
632
+ }
509
633
  }
510
634
  disconnectedCallback() {
511
635
  const segmentEl = this.segmentEl;
@@ -537,10 +661,10 @@ const SegmentButton = class {
537
661
  }
538
662
  render() {
539
663
  const { checked, type, disabled, hasIcon, hasLabel, layout, segmentEl } = this;
540
- const mode = ionicGlobal.getIonMode(this);
664
+ const theme$1 = ionicGlobal.getIonTheme(this);
541
665
  const hasSegmentColor = () => (segmentEl === null || segmentEl === void 0 ? void 0 : segmentEl.color) !== undefined;
542
- return (index.h(index.Host, { key: '70cf5c7a3ae2620222c5250c644faf3cfc3b3e4e', class: {
543
- [mode]: true,
666
+ return (index.h(index.Host, { key: '751d7da683ac43596d2086c698752d211473bc39', class: {
667
+ [theme$1]: true,
544
668
  'in-toolbar': theme.hostContext('ion-toolbar', this.el),
545
669
  'in-toolbar-color': theme.hostContext('ion-toolbar[color]', this.el),
546
670
  'in-segment': theme.hostContext('ion-segment', this.el),
@@ -555,10 +679,7 @@ const SegmentButton = class {
555
679
  'ion-activatable': true,
556
680
  'ion-activatable-instant': true,
557
681
  'ion-focusable': true,
558
- } }, index.h("button", Object.assign({ key: 'a53c9f1e360934e8d2e90476642ba4507fc38ebd', "aria-selected": checked ? 'true' : 'false', role: "tab", ref: (el) => (this.nativeEl = el), type: type, class: "button-native", part: "native", disabled: disabled }, this.inheritedAttributes), index.h("span", { key: '7d8feda840d389941cc693f500b5eba0b39b41da', class: "button-inner" }, index.h("slot", { key: 'd9ae1eec45db253cbf573d29cd545658dd595d87' })), mode === 'md' && index.h("ion-ripple-effect", { key: '49e6a16968709dc9b3fc77bc9fb99acb42fda88c' })), index.h("div", { key: '4e3ea0989ed5205dbb03586e4facb439b05a92de', part: "indicator", class: {
559
- 'segment-button-indicator': true,
560
- 'segment-button-indicator-animated': true,
561
- } }, index.h("div", { key: '65c72a151080998c1e548c87d4d4ebd5c7dda72f', part: "indicator-background", class: "segment-button-indicator-background" }))));
682
+ } }, index.h("button", Object.assign({ key: '67642bd479026c61dfd9b26109ed4357246c4696', "aria-selected": checked ? 'true' : 'false', role: "tab", ref: (el) => (this.nativeEl = el), type: type, class: "button-native", part: "native", disabled: disabled }, this.inheritedAttributes), index.h("span", { key: '90cca1b21a7ac38e90deb5bcad82dd9f77473a23', class: "button-inner" }, index.h("slot", { key: 'fd6b271d71aa21e77662163715d9a916bb901532' })), theme$1 === 'md' && index.h("ion-ripple-effect", { key: 'a86825274c5e99652efd7a8a73d38f38ef885d16' })), index.h("div", { key: '6d492ef2c6f65de3af604f2f591ccaf3b617ba4b', part: "indicator", class: "segment-button-indicator segment-button-indicator-animated" }, index.h("div", { key: 'c6cb604f71269c36b0105c98420492a1b77d81b4', part: "indicator-background", class: "segment-button-indicator-background" }))));
562
683
  }
563
684
  get el() { return index.getElement(this); }
564
685
  static get watchers() { return {
@@ -566,6 +687,7 @@ const SegmentButton = class {
566
687
  }; }
567
688
  };
568
689
  SegmentButton.style = {
690
+ ionic: IonSegmentButtonIonicStyle0,
569
691
  ios: IonSegmentButtonIosStyle0,
570
692
  md: IonSegmentButtonMdStyle0
571
693
  };
@@ -0,0 +1,109 @@
1
+ /*!
2
+ * (C) Ionic http://ionicframework.com - MIT License
3
+ */
4
+ 'use strict';
5
+
6
+ Object.defineProperty(exports, '__esModule', { value: true });
7
+
8
+ const index = require('./index-73f75efb.js');
9
+ const ionicGlobal = require('./ionic-global-14af9c21.js');
10
+ const overlays = require('./overlays-a698a408.js');
11
+ const theme = require('./theme-d1c573d2.js');
12
+ require('./config-aff4ff52.js');
13
+ require('./helpers-4e2936d2.js');
14
+ require('./framework-delegate-32f1a0e4.js');
15
+ require('./gesture-controller-9436f482.js');
16
+
17
+ 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)}";
18
+ const IonSelectModalIonicStyle0 = ionicSelectModalMdCss;
19
+
20
+ const selectModalIosCss = ".sc-ion-select-modal-ios-h{height:100%}";
21
+ const IonSelectModalIosStyle0 = selectModalIosCss;
22
+
23
+ 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)}";
24
+ const IonSelectModalMdStyle0 = selectModalMdCss;
25
+
26
+ const SelectModal = class {
27
+ constructor(hostRef) {
28
+ index.registerInstance(this, hostRef);
29
+ this.header = undefined;
30
+ this.multiple = undefined;
31
+ this.options = [];
32
+ }
33
+ closeModal() {
34
+ const modal = this.el.closest('ion-modal');
35
+ if (modal) {
36
+ modal.dismiss();
37
+ }
38
+ }
39
+ findOptionFromEvent(ev) {
40
+ const { options } = this;
41
+ return options.find((o) => o.value === ev.target.value);
42
+ }
43
+ getValues(ev) {
44
+ const { multiple, options } = this;
45
+ if (multiple) {
46
+ // this is a modal with checkboxes (multiple value select)
47
+ // return an array of all the checked values
48
+ return options.filter((o) => o.checked).map((o) => o.value);
49
+ }
50
+ // this is a modal with radio buttons (single value select)
51
+ // return the value that was clicked, otherwise undefined
52
+ const option = ev ? this.findOptionFromEvent(ev) : null;
53
+ return option ? option.value : undefined;
54
+ }
55
+ callOptionHandler(ev) {
56
+ const option = this.findOptionFromEvent(ev);
57
+ const values = this.getValues(ev);
58
+ if (option === null || option === void 0 ? void 0 : option.handler) {
59
+ overlays.safeCall(option.handler, values);
60
+ }
61
+ }
62
+ setChecked(ev) {
63
+ const { multiple } = this;
64
+ const option = this.findOptionFromEvent(ev);
65
+ // this is a modal with checkboxes (multiple value select)
66
+ // we need to set the checked value for this option
67
+ if (multiple && option) {
68
+ option.checked = ev.detail.checked;
69
+ }
70
+ }
71
+ renderRadioOptions() {
72
+ const checked = this.options.filter((o) => o.checked).map((o) => o.value)[0];
73
+ return (index.h("ion-radio-group", { value: checked, onIonChange: (ev) => this.callOptionHandler(ev) }, this.options.map((option) => (index.h("ion-item", { class: Object.assign({
74
+ // TODO FW-4784
75
+ 'item-radio-checked': option.value === checked
76
+ }, theme.getClassMap(option.cssClass)) }, index.h("ion-radio", { value: option.value, disabled: option.disabled, justify: "start", labelPlacement: "end", onClick: () => this.closeModal(), onKeyUp: (ev) => {
77
+ if (ev.key === ' ') {
78
+ /**
79
+ * Selecting a radio option with keyboard navigation,
80
+ * either through the Enter or Space keys, should
81
+ * dismiss the modal.
82
+ */
83
+ this.closeModal();
84
+ }
85
+ } }, option.text))))));
86
+ }
87
+ renderCheckboxOptions() {
88
+ return this.options.map((option) => (index.h("ion-item", { class: Object.assign({
89
+ // TODO FW-4784
90
+ 'item-checkbox-checked': option.checked
91
+ }, theme.getClassMap(option.cssClass)) }, index.h("ion-checkbox", { value: option.value, disabled: option.disabled, checked: option.checked, justify: "start", labelPlacement: "end", onIonChange: (ev) => {
92
+ this.setChecked(ev);
93
+ this.callOptionHandler(ev);
94
+ // TODO FW-4784
95
+ index.forceUpdate(this);
96
+ } }, option.text))));
97
+ }
98
+ render() {
99
+ return (index.h(index.Host, { key: '95c255c175fa5ac4fbbf40d62942a4141160a26c', class: ionicGlobal.getIonMode(this) }, index.h("ion-header", { key: '44d928af413bbd646354aa0524841185781099e6' }, index.h("ion-toolbar", { key: 'e40f439ae12b8acb13014e165e0bd4da765fb087' }, this.header !== undefined && index.h("ion-title", { key: '5bd65f65a594edc4808701545a41330b5e10ff27' }, this.header), index.h("ion-buttons", { key: '66e3936a4bb22c48abd60690b4a79f26c3abe0e2', slot: "end" }, index.h("ion-button", { key: '6d4ffda63ad671e97002263b7a1bd69ea4673838', onClick: () => this.closeModal() }, "Close")))), index.h("ion-content", { key: '7c230147be38d46c86fed7be76cbc64591df10bb' }, index.h("ion-list", { key: 'adf3ee9959198f99a5b26dc76f74bbfa3a46605a' }, this.multiple === true ? this.renderCheckboxOptions() : this.renderRadioOptions()))));
100
+ }
101
+ get el() { return index.getElement(this); }
102
+ };
103
+ SelectModal.style = {
104
+ ionic: IonSelectModalIonicStyle0,
105
+ ios: IonSelectModalIosStyle0,
106
+ md: IonSelectModalMdStyle0
107
+ };
108
+
109
+ exports.ion_select_modal = SelectModal;