@ionic/core 8.7.18 → 8.7.19-dev.11772655618.1af0949f

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 (587) hide show
  1. package/components/index.d.ts +2 -0
  2. package/components/index.js +1 -114
  3. package/components/ion-accordion-group.js +1 -268
  4. package/components/ion-accordion.js +1 -456
  5. package/components/ion-action-sheet.js +1 -6
  6. package/components/ion-alert.js +1 -6
  7. package/components/ion-app.js +1 -132
  8. package/components/ion-avatar.js +1 -41
  9. package/components/ion-back-button.js +1 -130
  10. package/components/ion-backdrop.js +1 -6
  11. package/components/ion-badge.js +1 -47
  12. package/components/ion-breadcrumb.js +1 -137
  13. package/components/ion-breadcrumbs.js +1 -164
  14. package/components/ion-button.js +1 -6
  15. package/components/ion-buttons.js +1 -6
  16. package/components/ion-card-content.js +1 -45
  17. package/components/ion-card-header.js +1 -56
  18. package/components/ion-card-subtitle.js +1 -48
  19. package/components/ion-card-title.js +1 -48
  20. package/components/ion-card.js +1 -107
  21. package/components/ion-checkbox.js +1 -6
  22. package/components/ion-chip.js +1 -66
  23. package/components/ion-col.js +1 -163
  24. package/components/ion-content.js +1 -6
  25. package/components/ion-datetime-button.js +1 -383
  26. package/components/ion-datetime.js +1 -2047
  27. package/components/ion-fab-button.js +1 -151
  28. package/components/ion-fab-list.js +1 -73
  29. package/components/ion-fab.js +1 -101
  30. package/components/ion-footer.js +1 -179
  31. package/components/ion-grid.js +1 -46
  32. package/components/ion-header.js +1 -6
  33. package/components/ion-icon.js +1 -6
  34. package/components/ion-img.js +1 -133
  35. package/components/ion-infinite-scroll-content.js +1 -69
  36. package/components/ion-infinite-scroll.js +1 -236
  37. package/components/ion-input-otp.js +1 -682
  38. package/components/ion-input-password-toggle.js +1 -128
  39. package/components/ion-input.js +1 -646
  40. package/components/ion-item-divider.js +1 -59
  41. package/components/ion-item-group.js +1 -46
  42. package/components/ion-item-option.js +1 -91
  43. package/components/ion-item-options.js +1 -73
  44. package/components/ion-item-sliding.js +1 -457
  45. package/components/ion-item.js +1 -6
  46. package/components/ion-label.js +1 -6
  47. package/components/ion-list-header.js +1 -6
  48. package/components/ion-list.js +1 -6
  49. package/components/ion-loading.js +1 -343
  50. package/components/ion-menu-button.js +1 -109
  51. package/components/ion-menu-toggle.js +1 -64
  52. package/components/ion-menu.js +1 -741
  53. package/components/ion-modal.js +1 -6
  54. package/components/ion-nav-link.js +1 -64
  55. package/components/ion-nav.js +1 -951
  56. package/components/ion-note.js +1 -47
  57. package/components/ion-picker-column-option.js +1 -6
  58. package/components/ion-picker-column.js +1 -6
  59. package/components/ion-picker-legacy-column.js +1 -6
  60. package/components/ion-picker-legacy.js +1 -342
  61. package/components/ion-picker.js +1 -6
  62. package/components/ion-popover.js +1 -6
  63. package/components/ion-progress-bar.js +1 -100
  64. package/components/ion-radio-group.js +1 -6
  65. package/components/ion-radio.js +1 -6
  66. package/components/ion-range.js +1 -844
  67. package/components/ion-refresher-content.js +1 -88
  68. package/components/ion-refresher.js +1 -750
  69. package/components/ion-reorder-group.js +1 -322
  70. package/components/ion-reorder.js +1 -60
  71. package/components/ion-ripple-effect.js +1 -6
  72. package/components/ion-route-redirect.js +1 -45
  73. package/components/ion-route.js +1 -74
  74. package/components/ion-router-link.js +1 -61
  75. package/components/ion-router-outlet.js +1 -226
  76. package/components/ion-router.js +1 -840
  77. package/components/ion-row.js +1 -36
  78. package/components/ion-searchbar.js +1 -540
  79. package/components/ion-segment-button.js +1 -173
  80. package/components/ion-segment-content.js +1 -35
  81. package/components/ion-segment-view.js +1 -142
  82. package/components/ion-segment.js +1 -602
  83. package/components/ion-select-modal.js +1 -6
  84. package/components/ion-select-option.js +1 -46
  85. package/components/ion-select-popover.js +1 -6
  86. package/components/ion-select.js +1 -1035
  87. package/components/ion-skeleton-text.js +1 -64
  88. package/components/ion-spinner.js +1 -6
  89. package/components/ion-split-pane.js +1 -190
  90. package/components/ion-tab-bar.js +1 -135
  91. package/components/ion-tab-button.js +1 -127
  92. package/components/ion-tab.js +1 -82
  93. package/components/ion-tabs.js +1 -204
  94. package/components/ion-text.js +1 -42
  95. package/components/ion-textarea.js +1 -554
  96. package/components/ion-thumbnail.js +1 -36
  97. package/components/ion-title.js +1 -6
  98. package/components/ion-toast.js +1 -938
  99. package/components/ion-toggle.js +1 -360
  100. package/components/ion-toolbar.js +1 -6
  101. package/components/p-1KVKSLu5.js +4 -0
  102. package/{dist/ionic/p-DUt5fQmA.js → components/p-9VcRUwdB.js} +1 -1
  103. package/components/p-ApmKVjaE.js +4 -0
  104. package/components/p-B-hirT0v.js +1 -35
  105. package/components/p-B6FQ0cKR.js +4 -0
  106. package/components/p-B6HaBl3o.js +4 -0
  107. package/components/p-B8b1Ukl9.js +4 -0
  108. package/components/p-BFxT89Wl.js +4 -0
  109. package/components/p-BJoMtgfR.js +4 -0
  110. package/components/p-BNAG-aVv.js +4 -0
  111. package/{dist/ionic/p-D-eFFUkA.js → components/p-BR3tZJmu.js} +1 -1
  112. package/{dist/ionic/p-D0dMcSkw.js → components/p-BS1TtEiJ.js} +1 -1
  113. package/components/p-BSB38Tek.js +4 -0
  114. package/components/p-BTEOs1at.js +1 -192
  115. package/components/p-BTeL5HCK.js +4 -0
  116. package/{dist/ionic/p-DbQ5QkTP.js → components/p-BUbsoBOV.js} +1 -1
  117. package/components/p-BVnB3eEn.js +4 -0
  118. package/components/p-BYDc3hSE.js +4 -0
  119. package/components/p-BagjAGC0.js +4 -0
  120. package/components/p-BegtE7nr.js +4 -0
  121. package/components/p-BgwEQWW6.js +4 -0
  122. package/components/p-Bk2zuNWT.js +4 -0
  123. package/components/p-BmVRXR1y.js +1 -72
  124. package/components/p-Bum_LjMh.js +4 -0
  125. package/components/p-BxwWvu-b.js +4 -0
  126. package/components/p-C4jPsTQa.js +4 -0
  127. package/components/p-C53feagD.js +1 -15
  128. package/{dist/ionic/p-CwgG81ZD.js → components/p-C59ryAuS.js} +1 -1
  129. package/components/p-C7AoMl7c.js +4 -0
  130. package/components/p-CBzELu-H.js +4 -0
  131. package/components/p-CDfQnFrd.js +4 -0
  132. package/components/p-CH0NYjKq.js +4 -0
  133. package/components/p-CIGNaXM1.js +1 -10
  134. package/components/p-CO7fmmxt.js +1 -29
  135. package/components/p-CU1SSH8_.js +4 -0
  136. package/components/p-CVF7ukTk.js +4 -0
  137. package/components/p-CgfaEEem.js +4 -0
  138. package/components/p-CgqKJg96.js +4 -0
  139. package/components/p-Cl0B-RWe.js +1 -452
  140. package/components/p-CneGxKsZ.js +4 -0
  141. package/components/p-CoA-aqGF.js +4 -0
  142. package/{dist/ionic/p-DdR6rpbR.js → components/p-Cq8cQ0NL.js} +1 -1
  143. package/components/p-Csw8xuz4.js +4 -0
  144. package/components/p-CtWGkNnJ.js +1 -162
  145. package/components/p-Cwv-vmkN.js +4 -0
  146. package/{dist/ionic/p-BYEqWnSg.js → components/p-Cy5XSfIk.js} +1 -1
  147. package/components/p-Cyxa_4PV.js +4 -0
  148. package/components/p-Cz5nLPGT.js +4 -0
  149. package/components/p-D13Eaw-8.js +1 -76
  150. package/components/p-D6NJwNJN.js +4 -0
  151. package/components/p-D6Ynv7Xh.js +1 -141
  152. package/components/p-DHsZWn1l.js +4 -0
  153. package/components/p-DJMZehmW.js +4 -0
  154. package/components/p-DJztqcrH.js +1 -14
  155. package/components/p-DYdpXONG.js +4 -0
  156. package/components/p-DgbT0exM.js +4 -0
  157. package/components/p-DiVJyqlX.js +1 -40
  158. package/components/p-Dtdm8lKC.js +1 -44
  159. package/components/p-YLXPWgVj.js +4 -0
  160. package/components/p-ZjP4CjeZ.js +1 -4
  161. package/{dist/ionic/p-DCv9sLH2.js → components/p-ak_d-z48.js} +1 -1
  162. package/components/p-cyNmxje6.js +1 -155
  163. package/components/p-fpbh6w3f.js +4 -0
  164. package/components/p-hHmYLOfE.js +1 -87
  165. package/components/p-kvaDs24J.js +4 -0
  166. package/components/p-vEbVo2hO.js +4 -0
  167. package/dist/cjs/{animation-Bt3H9L1C.js → animation-Dg4yiuR2.js} +1 -1
  168. package/dist/cjs/app-globals-CLI8xCmk.js +11 -0
  169. package/dist/cjs/{button-active-CMc8cD90.js → button-active-FscMI17-.js} +1 -1
  170. package/dist/cjs/{config-C5fsO43a.js → config-BukYi_pW.js} +1 -1
  171. package/dist/cjs/{data-JwZKaIQB.js → data-BYlBjkMU.js} +1 -1
  172. package/dist/cjs/{framework-delegate-DMJRBuDi.js → framework-delegate-CRgp8o_p.js} +1 -1
  173. package/dist/cjs/{hardware-back-button-VCK4V3mG.js → hardware-back-button-C4rMJ5uI.js} +1 -1
  174. package/dist/cjs/{helpers-DrTqNghc.js → helpers-CxTYJdbT.js} +1 -1
  175. package/dist/cjs/{index-094mMFB-.js → index-C845Ti6K.js} +4 -4
  176. package/dist/cjs/{index-DrMUZJj6.js → index-CFUwM5x_.js} +5 -5
  177. package/dist/cjs/{index-D6Wc6v08.js → index-CqT-2gKy.js} +503 -382
  178. package/dist/cjs/{index-CO6eryBo.js → index-MbaBbWXk.js} +2 -2
  179. package/dist/cjs/{index-C534ULug.js → index-YcSftOMz.js} +2 -2
  180. package/dist/cjs/index.cjs.js +12 -12
  181. package/dist/cjs/{input-shims-CuMghsQ-.js → input-shims-Dl5cnc_e.js} +3 -3
  182. package/dist/cjs/{input.utils-B_QROI2g.js → input.utils-DmeJ8dmo.js} +2 -2
  183. package/dist/cjs/ion-accordion_2.cjs.entry.js +23 -15
  184. package/dist/cjs/ion-action-sheet.cjs.entry.js +21 -15
  185. package/dist/cjs/ion-alert.cjs.entry.js +25 -17
  186. package/dist/cjs/ion-app_8.cjs.entry.js +48 -43
  187. package/dist/cjs/ion-avatar_3.cjs.entry.js +12 -12
  188. package/dist/cjs/ion-back-button.cjs.entry.js +7 -7
  189. package/dist/cjs/ion-backdrop.cjs.entry.js +6 -6
  190. package/dist/cjs/ion-breadcrumb_2.cjs.entry.js +20 -14
  191. package/dist/cjs/ion-button_2.cjs.entry.js +36 -18
  192. package/dist/cjs/ion-card_5.cjs.entry.js +23 -23
  193. package/dist/cjs/ion-checkbox.cjs.entry.js +7 -7
  194. package/dist/cjs/ion-chip.cjs.entry.js +6 -6
  195. package/dist/cjs/ion-col_3.cjs.entry.js +8 -8
  196. package/dist/cjs/ion-datetime-button.cjs.entry.js +8 -8
  197. package/dist/cjs/ion-datetime_3.cjs.entry.js +75 -46
  198. package/dist/cjs/ion-fab_3.cjs.entry.js +17 -13
  199. package/dist/cjs/ion-img.cjs.entry.js +8 -6
  200. package/dist/cjs/ion-infinite-scroll_2.cjs.entry.js +17 -13
  201. package/dist/cjs/ion-input-otp.cjs.entry.js +16 -10
  202. package/dist/cjs/ion-input-password-toggle.cjs.entry.js +9 -7
  203. package/dist/cjs/ion-input.cjs.entry.js +21 -13
  204. package/dist/cjs/ion-item-option_3.cjs.entry.js +19 -17
  205. package/dist/cjs/ion-item_8.cjs.entry.js +48 -42
  206. package/dist/cjs/ion-loading.cjs.entry.js +18 -14
  207. package/dist/cjs/ion-menu_3.cjs.entry.js +30 -22
  208. package/dist/cjs/ion-modal.cjs.entry.js +237 -59
  209. package/dist/cjs/ion-nav_2.cjs.entry.js +14 -10
  210. package/dist/cjs/ion-picker-column-option.cjs.entry.js +10 -8
  211. package/dist/cjs/ion-picker-column.cjs.entry.js +11 -7
  212. package/dist/cjs/ion-picker.cjs.entry.js +6 -6
  213. package/dist/cjs/ion-popover.cjs.entry.js +21 -15
  214. package/dist/cjs/ion-progress-bar.cjs.entry.js +7 -7
  215. package/dist/cjs/ion-radio_2.cjs.entry.js +17 -13
  216. package/dist/cjs/ion-range.cjs.entry.js +205 -57
  217. package/dist/cjs/ion-refresher_2.cjs.entry.js +45 -14
  218. package/dist/cjs/ion-reorder_2.cjs.entry.js +13 -11
  219. package/dist/cjs/ion-ripple-effect.cjs.entry.js +4 -4
  220. package/dist/cjs/ion-route_4.cjs.entry.js +20 -10
  221. package/dist/cjs/ion-searchbar.cjs.entry.js +22 -12
  222. package/dist/cjs/ion-segment-content.cjs.entry.js +3 -3
  223. package/dist/cjs/ion-segment-view.cjs.entry.js +13 -8
  224. package/dist/cjs/ion-segment_2.cjs.entry.js +26 -16
  225. package/dist/cjs/ion-select-modal.cjs.entry.js +17 -13
  226. package/dist/cjs/ion-select_3.cjs.entry.js +33 -24
  227. package/dist/cjs/ion-spinner.cjs.entry.js +4 -4
  228. package/dist/cjs/ion-split-pane.cjs.entry.js +15 -9
  229. package/dist/cjs/ion-tab-bar_2.cjs.entry.js +14 -12
  230. package/dist/cjs/ion-tab_2.cjs.entry.js +10 -8
  231. package/dist/cjs/ion-text.cjs.entry.js +4 -4
  232. package/dist/cjs/ion-textarea.cjs.entry.js +20 -14
  233. package/dist/cjs/ion-toast.cjs.entry.js +21 -15
  234. package/dist/cjs/ion-toggle.cjs.entry.js +10 -8
  235. package/dist/cjs/{ionic-global-HMVqOFGO.js → ionic-global-Bc3kJi1Z.js} +1 -1
  236. package/dist/cjs/ionic.cjs.js +5 -5
  237. package/dist/cjs/{ios.transition-BOt_uW73.js → ios.transition-trBiC95R.js} +4 -4
  238. package/dist/cjs/loader.cjs.js +4 -4
  239. package/dist/cjs/{md.transition-Dt968VXB.js → md.transition-CUQECuvD.js} +4 -4
  240. package/dist/cjs/{notch-controller-Bzqhjm4f.js → notch-controller-sD-lTpdc.js} +1 -1
  241. package/dist/cjs/{overlays-B2b-TTbl.js → overlays-C2jiBSNQ.js} +5 -5
  242. package/dist/cjs/{status-tap-g0sWWkXk.js → status-tap-CCJk5VgT.js} +3 -3
  243. package/dist/cjs/{swipe-back-BIayeNOD.js → swipe-back-BGhTQ1CU.js} +2 -2
  244. package/dist/collection/collection-manifest.json +2 -2
  245. package/dist/collection/components/accordion-group/accordion-group.js +4 -2
  246. package/dist/collection/components/action-sheet/action-sheet.js +20 -10
  247. package/dist/collection/components/alert/alert.js +24 -12
  248. package/dist/collection/components/back-button/back-button.js +4 -2
  249. package/dist/collection/components/badge/badge.js +2 -1
  250. package/dist/collection/components/breadcrumb/breadcrumb.js +8 -4
  251. package/dist/collection/components/breadcrumbs/breadcrumbs.js +4 -2
  252. package/dist/collection/components/button/button.js +6 -3
  253. package/dist/collection/components/card/card.js +6 -3
  254. package/dist/collection/components/card-header/card-header.js +2 -1
  255. package/dist/collection/components/card-subtitle/card-subtitle.js +2 -1
  256. package/dist/collection/components/card-title/card-title.js +2 -1
  257. package/dist/collection/components/checkbox/checkbox.js +4 -2
  258. package/dist/collection/components/chip/chip.js +2 -1
  259. package/dist/collection/components/content/content.js +12 -7
  260. package/dist/collection/components/datetime/datetime.js +43 -22
  261. package/dist/collection/components/datetime-button/datetime-button.js +2 -1
  262. package/dist/collection/components/fab-button/fab-button.js +6 -3
  263. package/dist/collection/components/infinite-scroll-content/infinite-scroll-content.js +4 -2
  264. package/dist/collection/components/input/input.js +11 -6
  265. package/dist/collection/components/input-otp/input-otp.js +8 -4
  266. package/dist/collection/components/input-password-toggle/input-password-toggle.js +4 -2
  267. package/dist/collection/components/item/item.js +10 -5
  268. package/dist/collection/components/item-divider/item-divider.js +7 -3
  269. package/dist/collection/components/item-option/item-option.js +6 -3
  270. package/dist/collection/components/item-options/item-options.js +2 -1
  271. package/dist/collection/components/item-sliding/item-sliding.js +2 -1
  272. package/dist/collection/components/label/label.js +6 -3
  273. package/dist/collection/components/list-header/list-header.js +6 -3
  274. package/dist/collection/components/loading/loading.js +22 -11
  275. package/dist/collection/components/menu/menu.js +10 -5
  276. package/dist/collection/components/menu-button/menu-button.js +2 -1
  277. package/dist/collection/components/modal/gestures/sheet.js +120 -12
  278. package/dist/collection/components/modal/gestures/swipe-to-close.js +54 -1
  279. package/dist/collection/components/modal/modal.js +127 -45
  280. package/dist/collection/components/nav/nav.js +89 -45
  281. package/dist/collection/components/nav-link/nav-link.js +9 -5
  282. package/dist/collection/components/note/note.js +2 -1
  283. package/dist/collection/components/picker/picker.js +2 -1
  284. package/dist/collection/components/picker-column/picker-column.js +6 -3
  285. package/dist/collection/components/picker-column-option/picker-column-option.js +2 -1
  286. package/dist/collection/components/picker-legacy/picker.js +24 -12
  287. package/dist/collection/components/picker-legacy-column/picker-column.js +4 -2
  288. package/dist/collection/components/popover/popover.js +33 -17
  289. package/dist/collection/components/progress-bar/progress-bar.js +2 -1
  290. package/dist/collection/components/radio/radio.js +2 -1
  291. package/dist/collection/components/radio-group/radio-group.js +6 -3
  292. package/dist/collection/components/range/range.js +214 -53
  293. package/dist/collection/components/refresher/refresher.js +73 -5
  294. package/dist/collection/components/refresher-content/refresher-content.js +8 -4
  295. package/dist/collection/components/reorder-group/reorder-group.js +6 -3
  296. package/dist/collection/components/route/route.js +4 -2
  297. package/dist/collection/components/router/router.js +10 -5
  298. package/dist/collection/components/router-link/router-link.js +6 -3
  299. package/dist/collection/components/router-outlet/router-outlet.js +18 -9
  300. package/dist/collection/components/searchbar/searchbar.js +11 -6
  301. package/dist/collection/components/segment/segment.js +10 -5
  302. package/dist/collection/components/segment-button/segment-button.js +4 -2
  303. package/dist/collection/components/segment-view/segment-view.ios.css +2 -1
  304. package/dist/collection/components/segment-view/segment-view.js +30 -4
  305. package/dist/collection/components/segment-view/segment-view.md.css +2 -1
  306. package/dist/collection/components/select/select.js +17 -8
  307. package/dist/collection/components/select-modal/select-modal.js +27 -2
  308. package/dist/collection/components/select-popover/select-popover.js +2 -1
  309. package/dist/collection/components/skeleton-text/skeleton-text.js +2 -1
  310. package/dist/collection/components/spinner/spinner.js +4 -2
  311. package/dist/collection/components/tab/tab.js +4 -2
  312. package/dist/collection/components/tab-bar/tab-bar.js +4 -2
  313. package/dist/collection/components/tab-button/tab-button.js +4 -2
  314. package/dist/collection/components/tabs/tabs.js +4 -2
  315. package/dist/collection/components/text/text.js +2 -1
  316. package/dist/collection/components/textarea/textarea.js +10 -7
  317. package/dist/collection/components/title/title.js +4 -2
  318. package/dist/collection/components/toast/toast.js +34 -17
  319. package/dist/collection/components/toggle/toggle.js +4 -2
  320. package/dist/collection/components/toolbar/toolbar.js +2 -1
  321. package/dist/docs.d.ts +37 -0
  322. package/dist/docs.json +1186 -389
  323. package/dist/esm/{animation-Dt8bGnA-.js → animation-CnGMT4ji.js} +1 -1
  324. package/dist/esm/app-globals-DhZjtldk.js +9 -0
  325. package/dist/esm/{button-active-L570Swow.js → button-active-BBx21brx.js} +1 -1
  326. package/dist/esm/{config-mCdtaoPe.js → config-TO1rZH52.js} +1 -1
  327. package/dist/esm/{data-DCORV9FH.js → data-B9iGR5YO.js} +1 -1
  328. package/dist/esm/{framework-delegate-BYawdMXj.js → framework-delegate-CyxE1S_P.js} +1 -1
  329. package/dist/esm/{hardware-back-button-CPLxO-Ev.js → hardware-back-button-CTe4XmL7.js} +1 -1
  330. package/dist/esm/{helpers-DEn3pfjm.js → helpers-Tl8jw6S2.js} +1 -1
  331. package/dist/esm/{index-r2D9DEro.js → index-B-hkiOUh.js} +4 -4
  332. package/dist/esm/{index-CvDIirVx.js → index-B2KwgBLx.js} +5 -5
  333. package/dist/esm/{index-ceb5RaMT.js → index-BtUdxPjv.js} +2 -2
  334. package/dist/esm/{index-C8IsBmNU.js → index-IGIE5vDm.js} +503 -382
  335. package/dist/esm/{index-Bs3kT4bc.js → index-hW6eNZ3o.js} +2 -2
  336. package/dist/esm/index.js +12 -12
  337. package/dist/esm/{input-shims-D6H3ZaWt.js → input-shims-AaDhOpKN.js} +3 -3
  338. package/dist/esm/{input.utils-DrvTa8gz.js → input.utils-Bxa_DQ7-.js} +2 -2
  339. package/dist/esm/ion-accordion_2.entry.js +23 -15
  340. package/dist/esm/ion-action-sheet.entry.js +21 -15
  341. package/dist/esm/ion-alert.entry.js +25 -17
  342. package/dist/esm/ion-app_8.entry.js +48 -43
  343. package/dist/esm/ion-avatar_3.entry.js +12 -12
  344. package/dist/esm/ion-back-button.entry.js +7 -7
  345. package/dist/esm/ion-backdrop.entry.js +6 -6
  346. package/dist/esm/ion-breadcrumb_2.entry.js +20 -14
  347. package/dist/esm/ion-button_2.entry.js +36 -18
  348. package/dist/esm/ion-card_5.entry.js +23 -23
  349. package/dist/esm/ion-checkbox.entry.js +7 -7
  350. package/dist/esm/ion-chip.entry.js +6 -6
  351. package/dist/esm/ion-col_3.entry.js +8 -8
  352. package/dist/esm/ion-datetime-button.entry.js +8 -8
  353. package/dist/esm/ion-datetime_3.entry.js +75 -46
  354. package/dist/esm/ion-fab_3.entry.js +17 -13
  355. package/dist/esm/ion-img.entry.js +8 -6
  356. package/dist/esm/ion-infinite-scroll_2.entry.js +17 -13
  357. package/dist/esm/ion-input-otp.entry.js +16 -10
  358. package/dist/esm/ion-input-password-toggle.entry.js +9 -7
  359. package/dist/esm/ion-input.entry.js +21 -13
  360. package/dist/esm/ion-item-option_3.entry.js +19 -17
  361. package/dist/esm/ion-item_8.entry.js +48 -42
  362. package/dist/esm/ion-loading.entry.js +18 -14
  363. package/dist/esm/ion-menu_3.entry.js +30 -22
  364. package/dist/esm/ion-modal.entry.js +237 -59
  365. package/dist/esm/ion-nav_2.entry.js +14 -10
  366. package/dist/esm/ion-picker-column-option.entry.js +10 -8
  367. package/dist/esm/ion-picker-column.entry.js +11 -7
  368. package/dist/esm/ion-picker.entry.js +6 -6
  369. package/dist/esm/ion-popover.entry.js +21 -15
  370. package/dist/esm/ion-progress-bar.entry.js +7 -7
  371. package/dist/esm/ion-radio_2.entry.js +17 -13
  372. package/dist/esm/ion-range.entry.js +205 -57
  373. package/dist/esm/ion-refresher_2.entry.js +45 -14
  374. package/dist/esm/ion-reorder_2.entry.js +13 -11
  375. package/dist/esm/ion-ripple-effect.entry.js +4 -4
  376. package/dist/esm/ion-route_4.entry.js +20 -10
  377. package/dist/esm/ion-searchbar.entry.js +22 -12
  378. package/dist/esm/ion-segment-content.entry.js +3 -3
  379. package/dist/esm/ion-segment-view.entry.js +13 -8
  380. package/dist/esm/ion-segment_2.entry.js +26 -16
  381. package/dist/esm/ion-select-modal.entry.js +17 -13
  382. package/dist/esm/ion-select_3.entry.js +33 -24
  383. package/dist/esm/ion-spinner.entry.js +4 -4
  384. package/dist/esm/ion-split-pane.entry.js +15 -9
  385. package/dist/esm/ion-tab-bar_2.entry.js +14 -12
  386. package/dist/esm/ion-tab_2.entry.js +10 -8
  387. package/dist/esm/ion-text.entry.js +4 -4
  388. package/dist/esm/ion-textarea.entry.js +20 -14
  389. package/dist/esm/ion-toast.entry.js +21 -15
  390. package/dist/esm/ion-toggle.entry.js +10 -8
  391. package/dist/esm/{ionic-global-CDrldh-5.js → ionic-global-DfbeLwcV.js} +1 -1
  392. package/dist/esm/ionic.js +6 -6
  393. package/dist/esm/{ios.transition-BDzw0_Hm.js → ios.transition--aMF-pDH.js} +4 -4
  394. package/dist/esm/loader.js +5 -5
  395. package/dist/esm/{md.transition-BzDYi3qq.js → md.transition-BEVbfm8j.js} +4 -4
  396. package/dist/esm/{notch-controller-BwelN_JM.js → notch-controller-DAcvKU57.js} +1 -1
  397. package/dist/esm/{overlays-D5YkFThA.js → overlays-F8GHPo-e.js} +5 -5
  398. package/dist/esm/{status-tap-5DQ7Fc4V.js → status-tap-BfJqFSLF.js} +3 -3
  399. package/dist/esm/{swipe-back-BKw2CAHc.js → swipe-back-BZBFwTQV.js} +2 -2
  400. package/dist/html.html-data.json +117 -109
  401. package/dist/ionic/index.esm.js +1 -1
  402. package/dist/ionic/ionic.esm.js +1 -1
  403. package/dist/ionic/p-031b76f7.entry.js +4 -0
  404. package/dist/ionic/p-045a6a42.entry.js +4 -0
  405. package/dist/ionic/p-07506134.entry.js +4 -0
  406. package/dist/ionic/p-084c25b2.entry.js +4 -0
  407. package/dist/ionic/p-0d8b5c38.entry.js +4 -0
  408. package/dist/ionic/p-16813ce7.entry.js +4 -0
  409. package/dist/ionic/p-16b65553.entry.js +4 -0
  410. package/dist/ionic/p-1b02923f.entry.js +4 -0
  411. package/dist/ionic/{p-5c8f7253.entry.js → p-1b169fb6.entry.js} +1 -1
  412. package/dist/ionic/{p-915b3e3d.entry.js → p-23fac490.entry.js} +1 -1
  413. package/dist/ionic/{p-b8551510.entry.js → p-294f4bb5.entry.js} +1 -1
  414. package/dist/ionic/p-2a68388b.entry.js +4 -0
  415. package/dist/ionic/p-2f5a8140.entry.js +4 -0
  416. package/dist/ionic/{p-49d06882.entry.js → p-301c43f8.entry.js} +1 -1
  417. package/dist/ionic/{p-79bd78f9.entry.js → p-370a60ee.entry.js} +1 -1
  418. package/dist/ionic/p-3e143d1d.entry.js +4 -0
  419. package/dist/ionic/p-4819b469.entry.js +4 -0
  420. package/dist/ionic/p-4dd5e8e0.entry.js +4 -0
  421. package/dist/ionic/p-51c11c47.entry.js +4 -0
  422. package/dist/ionic/p-53f750a5.entry.js +4 -0
  423. package/dist/ionic/{p-7cad388a.entry.js → p-6af16209.entry.js} +1 -1
  424. package/dist/ionic/{p-7f98e710.entry.js → p-6b701daa.entry.js} +1 -1
  425. package/dist/ionic/p-6b97f2a3.entry.js +4 -0
  426. package/dist/ionic/p-71e322f7.entry.js +4 -0
  427. package/dist/ionic/p-7620be24.entry.js +4 -0
  428. package/dist/ionic/p-771b27a5.entry.js +4 -0
  429. package/dist/ionic/{p-906bb44d.entry.js → p-7ca71c83.entry.js} +1 -1
  430. package/dist/ionic/{p-11aa58d6.entry.js → p-80cac7a2.entry.js} +1 -1
  431. package/dist/ionic/p-96a2e768.entry.js +4 -0
  432. package/dist/ionic/{p-582824c5.entry.js → p-9833cf63.entry.js} +1 -1
  433. package/dist/ionic/p-9cbc6f1f.entry.js +4 -0
  434. package/dist/ionic/p-9cdbabbb.entry.js +4 -0
  435. package/dist/ionic/p-9eac4eb1.entry.js +4 -0
  436. package/dist/ionic/{p-675b1a31.entry.js → p-9fae83d8.entry.js} +1 -1
  437. package/dist/ionic/p-B8xlpH8p.js +4 -0
  438. package/dist/ionic/{p-C7hRNDhM.js → p-BAt5H1ac.js} +1 -1
  439. package/dist/ionic/p-BW_TRJm8.js +4 -0
  440. package/dist/ionic/{p-DDb5r57F.js → p-Bum7H1fw.js} +1 -1
  441. package/dist/ionic/p-BvFYtOdE.js +4 -0
  442. package/dist/ionic/{p-Dc45iWE4.js → p-BxIcPWoV.js} +1 -1
  443. package/dist/ionic/p-C0JvVFMv.js +4 -0
  444. package/dist/ionic/{p-CTfR9YZG.js → p-CGmVTdWh.js} +1 -1
  445. package/dist/ionic/{p-BOVrCkpJ.js → p-CYbRmDdy.js} +1 -1
  446. package/dist/ionic/{p-MUoJJJwd.js → p-CYvM5g3q.js} +1 -1
  447. package/dist/ionic/p-CmFz1Mjc.js +4 -0
  448. package/dist/ionic/p-CtA-yJYy.js +4 -0
  449. package/dist/ionic/p-D8HJQ1qq.js +4 -0
  450. package/dist/ionic/{p-B0q1YL7N.js → p-DB_iPQC-.js} +1 -1
  451. package/dist/ionic/{p-DNcfiJwE.js → p-DLbbmF9h.js} +1 -1
  452. package/dist/ionic/p-DTPR1Wpn.js +4 -0
  453. package/dist/ionic/p-DjriolRs.js +4 -0
  454. package/dist/ionic/p-DtVZDHlS.js +4 -0
  455. package/dist/ionic/p-IGIE5vDm.js +5 -0
  456. package/dist/ionic/{p-BFvmZNyx.js → p-NFFyoJ4Q.js} +1 -1
  457. package/dist/ionic/p-a805674e.entry.js +4 -0
  458. package/dist/ionic/{p-da7d04cc.entry.js → p-a84f2d21.entry.js} +1 -1
  459. package/dist/ionic/p-aa47f46e.entry.js +4 -0
  460. package/dist/ionic/{p-2668188b.entry.js → p-b325a113.entry.js} +1 -1
  461. package/dist/ionic/{p-d1f54e28.entry.js → p-b440381f.entry.js} +1 -1
  462. package/dist/ionic/p-b6e0ff03.entry.js +4 -0
  463. package/dist/ionic/{p-6f37536a.entry.js → p-bcaa827e.entry.js} +1 -1
  464. package/dist/ionic/{p-fb0271ae.entry.js → p-c3cce9d8.entry.js} +1 -1
  465. package/dist/ionic/{p-b0a7585c.entry.js → p-ca31010f.entry.js} +1 -1
  466. package/dist/ionic/p-d4e8b473.entry.js +4 -0
  467. package/dist/ionic/{p-9575b654.entry.js → p-e663bc5a.entry.js} +1 -1
  468. package/dist/ionic/p-e6c5f060.entry.js +4 -0
  469. package/dist/ionic/{p-652318c3.entry.js → p-e6cedcd7.entry.js} +1 -1
  470. package/dist/ionic/{p-fbb00634.entry.js → p-e863ffe8.entry.js} +1 -1
  471. package/dist/ionic/{p-0ca0fe9c.entry.js → p-f2deaceb.entry.js} +1 -1
  472. package/dist/ionic/{p-ac4eb91d.entry.js → p-f5dfb9a3.entry.js} +1 -1
  473. package/dist/ionic/{p-bce86e56.entry.js → p-f8186550.entry.js} +1 -1
  474. package/dist/ionic/p-fdbc90d4.entry.js +4 -0
  475. package/dist/ionic/p-gbVXD275.js +4 -0
  476. package/dist/ionic/p-hNN3VvaC.js +4 -0
  477. package/dist/types/components/datetime/datetime.d.ts +10 -0
  478. package/dist/types/components/header/header.utils.d.ts +2 -1
  479. package/dist/types/components/item/item.d.ts +2 -0
  480. package/dist/types/components/item-divider/item-divider.d.ts +3 -0
  481. package/dist/types/components/item-option/item-option.d.ts +2 -0
  482. package/dist/types/components/list-header/list-header.d.ts +2 -0
  483. package/dist/types/components/modal/gestures/sheet.d.ts +2 -2
  484. package/dist/types/components/modal/gestures/swipe-to-close.d.ts +2 -2
  485. package/dist/types/components/modal/modal-interface.d.ts +25 -0
  486. package/dist/types/components/modal/modal.d.ts +22 -1
  487. package/dist/types/components/range/range-interface.d.ts +1 -0
  488. package/dist/types/components/range/range.d.ts +44 -4
  489. package/dist/types/components/refresher/refresher-interface.d.ts +7 -0
  490. package/dist/types/components/refresher/refresher.d.ts +16 -3
  491. package/dist/types/components/segment-view/segment-view.d.ts +4 -0
  492. package/dist/types/components/select/select.d.ts +3 -0
  493. package/dist/types/components/select-modal/select-modal.d.ts +4 -0
  494. package/dist/types/components.d.ts +964 -191
  495. package/dist/types/interface.d.ts +2 -2
  496. package/dist/types/stencil-public-runtime.d.ts +126 -14
  497. package/dist/types/utils/gesture/listener.d.ts +2 -1
  498. package/hydrate/index.d.ts +12 -0
  499. package/hydrate/index.js +5632 -1421
  500. package/hydrate/index.mjs +5631 -1422
  501. package/package.json +2 -2
  502. package/components/p-B25GjpND.js +0 -71
  503. package/components/p-BANeLH_G.js +0 -290
  504. package/components/p-BBFQmhcD.js +0 -59
  505. package/components/p-BC-awmYt.js +0 -306
  506. package/components/p-BHbOsu99.js +0 -501
  507. package/components/p-BTlwXR9e.js +0 -73
  508. package/components/p-BcazQttQ.js +0 -612
  509. package/components/p-BdGshsIJ.js +0 -226
  510. package/components/p-BfS7vSpC.js +0 -147
  511. package/components/p-BhRFCLuX.js +0 -675
  512. package/components/p-Bhnhnzjz.js +0 -75
  513. package/components/p-BmcqD0EN.js +0 -153
  514. package/components/p-Boi6hecl.js +0 -115
  515. package/components/p-Bt_moUyl.js +0 -232
  516. package/components/p-Bxl5etF4.js +0 -146
  517. package/components/p-ByjmWt3s.js +0 -139
  518. package/components/p-C04oPyjT.js +0 -54
  519. package/components/p-C6dkQWq2.js +0 -1626
  520. package/components/p-CFZWrvIQ.js +0 -194
  521. package/components/p-CIJwkzL6.js +0 -195
  522. package/components/p-CL12ApCQ.js +0 -820
  523. package/components/p-CXJR56Oq.js +0 -564
  524. package/components/p-Cdm3dKWf.js +0 -108
  525. package/components/p-CslsoGzv.js +0 -192
  526. package/components/p-Cyd00tgZ.js +0 -167
  527. package/components/p-CzAJ3ArC.js +0 -380
  528. package/components/p-CzW34QBh.js +0 -12
  529. package/components/p-D0zXRwcr.js +0 -196
  530. package/components/p-D5hF6rwn.js +0 -339
  531. package/components/p-D8eD2iBA.js +0 -67
  532. package/components/p-DGOrLIyS.js +0 -481
  533. package/components/p-DK2Bn1Mc.js +0 -305
  534. package/components/p-DKRQWlK2.js +0 -598
  535. package/components/p-DNDUsygf.js +0 -128
  536. package/components/p-DTWZF6wg.js +0 -418
  537. package/components/p-DWoUQeZ3.js +0 -3012
  538. package/components/p-DX0w75a9.js +0 -420
  539. package/components/p-Dt8zaCLQ.js +0 -92
  540. package/components/p-DyFBFrV7.js +0 -264
  541. package/components/p-DyHPCMyn.js +0 -39
  542. package/components/p-LgLeKTkH.js +0 -112
  543. package/components/p-NhiRFRn9.js +0 -50
  544. package/components/p-OuiHmXO5.js +0 -646
  545. package/components/p-Wro9IPHE.js +0 -459
  546. package/components/p-aIWC4ZEV.js +0 -305
  547. package/components/p-c-XJ9XhZ.js +0 -915
  548. package/components/p-fVuFT3Wd.js +0 -78
  549. package/components/p-iyo0Toaz.js +0 -2822
  550. package/components/p-l_lso3Zl.js +0 -140
  551. package/components/p-mQp4lwQD.js +0 -1638
  552. package/dist/cjs/app-globals-Ciccnk9_.js +0 -10
  553. package/dist/esm/app-globals-BDSf8fOA.js +0 -8
  554. package/dist/ionic/p-11518b31.entry.js +0 -4
  555. package/dist/ionic/p-221a3d8c.entry.js +0 -4
  556. package/dist/ionic/p-2ac254dc.entry.js +0 -4
  557. package/dist/ionic/p-2bd1ea35.entry.js +0 -4
  558. package/dist/ionic/p-30333874.entry.js +0 -4
  559. package/dist/ionic/p-31db96da.entry.js +0 -4
  560. package/dist/ionic/p-34642fa1.entry.js +0 -4
  561. package/dist/ionic/p-35696017.entry.js +0 -4
  562. package/dist/ionic/p-363d1209.entry.js +0 -4
  563. package/dist/ionic/p-46a38cfd.entry.js +0 -4
  564. package/dist/ionic/p-4eec1a5e.entry.js +0 -4
  565. package/dist/ionic/p-530fcd71.entry.js +0 -4
  566. package/dist/ionic/p-5d6fb6e3.entry.js +0 -4
  567. package/dist/ionic/p-66fbe052.entry.js +0 -4
  568. package/dist/ionic/p-7babec72.entry.js +0 -4
  569. package/dist/ionic/p-82d5bb3d.entry.js +0 -4
  570. package/dist/ionic/p-97eb0812.entry.js +0 -4
  571. package/dist/ionic/p-9b6d46f2.entry.js +0 -4
  572. package/dist/ionic/p-BKc55Xev.js +0 -4
  573. package/dist/ionic/p-Bmgaetn_.js +0 -4
  574. package/dist/ionic/p-C8IsBmNU.js +0 -5
  575. package/dist/ionic/p-CJxh_yLS.js +0 -4
  576. package/dist/ionic/p-DZRJwG4S.js +0 -4
  577. package/dist/ionic/p-a4a9f5ae.entry.js +0 -4
  578. package/dist/ionic/p-b0ebf9f8.entry.js +0 -4
  579. package/dist/ionic/p-be263062.entry.js +0 -4
  580. package/dist/ionic/p-c175d792.entry.js +0 -4
  581. package/dist/ionic/p-cc2a9936.entry.js +0 -4
  582. package/dist/ionic/p-cc45bcbc.entry.js +0 -4
  583. package/dist/ionic/p-d0a2a1ab.entry.js +0 -4
  584. package/dist/ionic/p-e4c57008.entry.js +0 -4
  585. package/dist/ionic/p-e5d6d0f0.entry.js +0 -4
  586. package/dist/ionic/p-f1dfee25.entry.js +0 -4
  587. package/dist/ionic/p-f9f7b9db.entry.js +0 -4
@@ -1,605 +1,4 @@
1
1
  /*!
2
2
  * (C) Ionic http://ionicframework.com - MIT License
3
3
  */
4
- import { p as proxyCustomElement, H, e as createEvent, w as writeTask, h, d as Host } from './p-DWoUQeZ3.js';
5
- import { r as raf } from './p-D5hF6rwn.js';
6
- import { i as isRTL } from './p-C53feagD.js';
7
- import { c as createColorClasses, h as hostContext } from './p-DiVJyqlX.js';
8
- import { b as getIonMode } from './p-Bxl5etF4.js';
9
-
10
- const segmentIosCss = ":host{--ripple-color:currentColor;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;display:grid;grid-auto-columns:1fr;position:relative;-ms-flex-align:stretch;align-items:stretch;-ms-flex-pack:center;justify-content:center;width:100%;background:var(--background);font-family:var(--ion-font-family, inherit);text-align:center;contain:paint;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}:host(.segment-scrollable){-ms-flex-pack:start;justify-content:start;width:auto;overflow-x:auto;grid-auto-columns:minmax(-webkit-min-content, 1fr);grid-auto-columns:minmax(min-content, 1fr)}:host(.segment-scrollable::-webkit-scrollbar){display:none}:host{--background:rgba(var(--ion-text-color-rgb, 0, 0, 0), 0.065);border-radius:8px;overflow:hidden;z-index:0}:host(.ion-color){background:rgba(var(--ion-color-base-rgb), 0.065)}:host(.in-toolbar){-webkit-margin-start:auto;margin-inline-start:auto;-webkit-margin-end:auto;margin-inline-end:auto;margin-top:0;margin-bottom:0;width:auto}:host(.in-toolbar:not(.ion-color)){background:var(--ion-toolbar-segment-background, var(--background))}:host(.in-toolbar-color:not(.ion-color)){background:rgba(var(--ion-color-contrast-rgb), 0.11)}";
11
-
12
- 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}";
13
-
14
- const Segment = /*@__PURE__*/ proxyCustomElement(class Segment extends H {
15
- constructor(registerHost) {
16
- super();
17
- if (registerHost !== false) {
18
- this.__registerHost();
19
- }
20
- this.__attachShadow();
21
- this.ionChange = createEvent(this, "ionChange", 7);
22
- this.ionSelect = createEvent(this, "ionSelect", 7);
23
- this.ionStyle = createEvent(this, "ionStyle", 7);
24
- this.segmentViewEl = null;
25
- this.activated = false;
26
- /**
27
- * If `true`, the user cannot interact with the segment.
28
- */
29
- this.disabled = false;
30
- /**
31
- * If `true`, the segment buttons will overflow and the user can swipe to see them.
32
- * In addition, this will disable the gesture to drag the indicator between the buttons
33
- * in order to swipe to see hidden buttons.
34
- */
35
- this.scrollable = false;
36
- /**
37
- * If `true`, users will be able to swipe between segment buttons to activate them.
38
- */
39
- this.swipeGesture = true;
40
- /**
41
- * If `true`, navigating to an `ion-segment-button` with the keyboard will focus and select the element.
42
- * If `false`, keyboard navigation will only focus the `ion-segment-button` element.
43
- */
44
- this.selectOnFocus = false;
45
- this.onClick = (ev) => {
46
- const current = ev.target;
47
- const previous = this.checked;
48
- // If the current element is a segment then that means
49
- // the user tried to swipe to a segment button and
50
- // click a segment button at the same time so we should
51
- // not update the checked segment button
52
- if (current.tagName === 'ION-SEGMENT') {
53
- return;
54
- }
55
- this.value = current.value;
56
- if (current !== previous) {
57
- this.emitValueChange();
58
- }
59
- if (this.segmentViewEl) {
60
- this.updateSegmentView();
61
- if (this.scrollable && previous) {
62
- this.checkButton(previous, current);
63
- }
64
- }
65
- else if (this.scrollable || !this.swipeGesture) {
66
- if (previous) {
67
- this.checkButton(previous, current);
68
- }
69
- else {
70
- this.setCheckedClasses();
71
- }
72
- }
73
- };
74
- this.onSlottedItemsChange = () => {
75
- /**
76
- * When the slotted segment buttons change we need to
77
- * ensure that the new segment buttons are checked if
78
- * the value matches the segment button value.
79
- */
80
- this.valueChanged(this.value);
81
- };
82
- this.getSegmentButton = (selector) => {
83
- var _a, _b;
84
- const buttons = this.getButtons().filter((button) => !button.disabled);
85
- const currIndex = buttons.findIndex((button) => button === document.activeElement);
86
- switch (selector) {
87
- case 'first':
88
- return buttons[0];
89
- case 'last':
90
- return buttons[buttons.length - 1];
91
- case 'next':
92
- return (_a = buttons[currIndex + 1]) !== null && _a !== void 0 ? _a : buttons[0];
93
- case 'previous':
94
- return (_b = buttons[currIndex - 1]) !== null && _b !== void 0 ? _b : buttons[buttons.length - 1];
95
- default:
96
- return null;
97
- }
98
- };
99
- }
100
- colorChanged(value, oldValue) {
101
- /**
102
- * If color is set after not having
103
- * previously been set (or vice versa),
104
- * we need to emit style so the segment-buttons
105
- * can apply their color classes properly.
106
- */
107
- if ((oldValue === undefined && value !== undefined) || (oldValue !== undefined && value === undefined)) {
108
- this.emitStyle();
109
- }
110
- }
111
- swipeGestureChanged() {
112
- this.gestureChanged();
113
- }
114
- valueChanged(value, oldValue) {
115
- // Force a value to exist if we're using a segment view
116
- if (this.segmentViewEl && value === undefined) {
117
- this.value = this.getButtons()[0].value;
118
- return;
119
- }
120
- if (oldValue !== undefined && value !== undefined) {
121
- const buttons = this.getButtons();
122
- const previous = buttons.find((button) => button.value === oldValue);
123
- const current = buttons.find((button) => button.value === value);
124
- if (previous && current) {
125
- if (!this.segmentViewEl) {
126
- this.checkButton(previous, current);
127
- }
128
- else if (this.triggerScrollOnValueChange !== false) {
129
- this.updateSegmentView();
130
- }
131
- }
132
- }
133
- else if (value !== undefined && oldValue === undefined && this.segmentViewEl) {
134
- this.updateSegmentView();
135
- }
136
- /**
137
- * `ionSelect` is emitted every time the value changes (internal or external changes).
138
- * Used by `ion-segment-button` to determine if the button should be checked.
139
- */
140
- this.ionSelect.emit({ value });
141
- // The scroll listener should handle scrolling the active button into view as needed
142
- if (!this.segmentViewEl) {
143
- this.scrollActiveButtonIntoView();
144
- }
145
- this.triggerScrollOnValueChange = undefined;
146
- }
147
- disabledChanged() {
148
- this.gestureChanged();
149
- if (!this.segmentViewEl) {
150
- const buttons = this.getButtons();
151
- for (const button of buttons) {
152
- button.disabled = this.disabled;
153
- }
154
- }
155
- else {
156
- this.segmentViewEl.disabled = this.disabled;
157
- }
158
- }
159
- gestureChanged() {
160
- if (this.gesture) {
161
- this.gesture.enable(!this.scrollable && !this.disabled && this.swipeGesture);
162
- }
163
- }
164
- connectedCallback() {
165
- this.emitStyle();
166
- this.segmentViewEl = this.getSegmentView();
167
- }
168
- disconnectedCallback() {
169
- this.segmentViewEl = null;
170
- }
171
- componentWillLoad() {
172
- this.emitStyle();
173
- }
174
- async componentDidLoad() {
175
- this.segmentViewEl = this.getSegmentView();
176
- this.setCheckedClasses();
177
- /**
178
- * We need to wait for the buttons to all be rendered
179
- * before we can scroll.
180
- */
181
- raf(() => {
182
- /**
183
- * When the segment loads for the first
184
- * time we just want to snap the active button into
185
- * place instead of scroll. Smooth scrolling should only
186
- * happen when the user interacts with the segment.
187
- */
188
- this.scrollActiveButtonIntoView(false);
189
- });
190
- this.gesture = (await import('./p-Cl0B-RWe.js')).createGesture({
191
- el: this.el,
192
- gestureName: 'segment',
193
- gesturePriority: 100,
194
- threshold: 0,
195
- passive: false,
196
- onStart: (ev) => this.onStart(ev),
197
- onMove: (ev) => this.onMove(ev),
198
- onEnd: (ev) => this.onEnd(ev),
199
- });
200
- this.gestureChanged();
201
- if (this.disabled) {
202
- this.disabledChanged();
203
- }
204
- // Update segment view based on the initial value,
205
- // but do not animate the scroll
206
- this.updateSegmentView(false);
207
- }
208
- onStart(detail) {
209
- this.valueBeforeGesture = this.value;
210
- this.activate(detail);
211
- }
212
- onMove(detail) {
213
- this.setNextIndex(detail);
214
- }
215
- onEnd(detail) {
216
- this.setActivated(false);
217
- this.setNextIndex(detail, true);
218
- detail.event.stopImmediatePropagation();
219
- const value = this.value;
220
- if (value !== undefined) {
221
- if (this.valueBeforeGesture !== value) {
222
- this.emitValueChange();
223
- this.updateSegmentView();
224
- }
225
- }
226
- this.valueBeforeGesture = undefined;
227
- }
228
- /**
229
- * Emits an `ionChange` event.
230
- *
231
- * This API should be called for user committed changes.
232
- * This API should not be used for external value changes.
233
- */
234
- emitValueChange() {
235
- const { value } = this;
236
- this.ionChange.emit({ value });
237
- }
238
- getButtons() {
239
- return Array.from(this.el.querySelectorAll('ion-segment-button'));
240
- }
241
- get checked() {
242
- return this.getButtons().find((button) => button.value === this.value);
243
- }
244
- /*
245
- * Activate both the segment and the buttons
246
- * due to a bug with ::slotted in Safari
247
- */
248
- setActivated(activated) {
249
- const buttons = this.getButtons();
250
- buttons.forEach((button) => {
251
- button.classList.toggle('segment-button-activated', activated);
252
- });
253
- this.activated = activated;
254
- }
255
- activate(detail) {
256
- const clicked = detail.event.target;
257
- const buttons = this.getButtons();
258
- const checked = buttons.find((button) => button.value === this.value);
259
- // Make sure we are only checking for activation on a segment button
260
- // since disabled buttons will get the click on the segment
261
- if (clicked.tagName !== 'ION-SEGMENT-BUTTON') {
262
- return;
263
- }
264
- // If there are no checked buttons, set the current button to checked
265
- if (!checked) {
266
- this.value = clicked.value;
267
- this.setCheckedClasses();
268
- }
269
- // If the gesture began on the clicked button with the indicator
270
- // then we should activate the indicator
271
- if (this.value === clicked.value) {
272
- this.setActivated(true);
273
- }
274
- }
275
- getIndicator(button) {
276
- const root = button.shadowRoot || button;
277
- return root.querySelector('.segment-button-indicator');
278
- }
279
- checkButton(previous, current) {
280
- const previousIndicator = this.getIndicator(previous);
281
- const currentIndicator = this.getIndicator(current);
282
- if (previousIndicator === null || currentIndicator === null) {
283
- return;
284
- }
285
- const previousClientRect = previousIndicator.getBoundingClientRect();
286
- const currentClientRect = currentIndicator.getBoundingClientRect();
287
- const widthDelta = previousClientRect.width / currentClientRect.width;
288
- const xPosition = previousClientRect.left - currentClientRect.left;
289
- // Scale the indicator width to match the previous indicator width
290
- // and translate it on top of the previous indicator
291
- const transform = `translate3d(${xPosition}px, 0, 0) scaleX(${widthDelta})`;
292
- writeTask(() => {
293
- // Remove the transition before positioning on top of the previous indicator
294
- currentIndicator.classList.remove('segment-button-indicator-animated');
295
- currentIndicator.style.setProperty('transform', transform);
296
- // Force a repaint to ensure the transform happens
297
- currentIndicator.getBoundingClientRect();
298
- // Add the transition to move the indicator into place
299
- currentIndicator.classList.add('segment-button-indicator-animated');
300
- // Remove the transform to slide the indicator back to the button clicked
301
- currentIndicator.style.setProperty('transform', '');
302
- this.scrollActiveButtonIntoView(true);
303
- });
304
- this.value = current.value;
305
- this.setCheckedClasses();
306
- }
307
- setCheckedClasses() {
308
- const buttons = this.getButtons();
309
- const index = buttons.findIndex((button) => button.value === this.value);
310
- const next = index + 1;
311
- for (const button of buttons) {
312
- button.classList.remove('segment-button-after-checked');
313
- }
314
- if (next < buttons.length) {
315
- buttons[next].classList.add('segment-button-after-checked');
316
- }
317
- }
318
- getSegmentView() {
319
- const buttons = this.getButtons();
320
- // Get the first button with a contentId
321
- const firstContentId = buttons.find((button) => button.contentId);
322
- // Get the segment content with an id matching the button's contentId
323
- const segmentContent = document.querySelector(`ion-segment-content[id="${firstContentId === null || firstContentId === void 0 ? void 0 : firstContentId.contentId}"]`);
324
- // Return the segment view for that matching segment content
325
- return segmentContent === null || segmentContent === void 0 ? void 0 : segmentContent.closest('ion-segment-view');
326
- }
327
- handleSegmentViewScroll(ev) {
328
- const { scrollRatio, isManualScroll } = ev.detail;
329
- if (!isManualScroll) {
330
- return;
331
- }
332
- const dispatchedFrom = ev.target;
333
- const segmentViewEl = this.segmentViewEl;
334
- const segmentEl = this.el;
335
- // Only update the indicator if the event was dispatched from the correct segment view
336
- if (ev.composedPath().includes(segmentViewEl) || (dispatchedFrom === null || dispatchedFrom === void 0 ? void 0 : dispatchedFrom.contains(segmentEl))) {
337
- const buttons = this.getButtons();
338
- // If no buttons are found or there is no value set then do nothing
339
- if (!buttons.length)
340
- return;
341
- const index = buttons.findIndex((button) => button.value === this.value);
342
- const current = buttons[index];
343
- const nextIndex = Math.round(scrollRatio * (buttons.length - 1));
344
- if (this.lastNextIndex === undefined || this.lastNextIndex !== nextIndex) {
345
- this.lastNextIndex = nextIndex;
346
- this.triggerScrollOnValueChange = false;
347
- this.checkButton(current, buttons[nextIndex]);
348
- this.emitValueChange();
349
- }
350
- }
351
- }
352
- /**
353
- * Finds the related segment view and sets its current content
354
- * based on the selected segment button. This method
355
- * should be called on initial load of the segment,
356
- * after the gesture is completed (if dragging between segments)
357
- * and when a segment button is clicked directly.
358
- */
359
- updateSegmentView(smoothScroll = true) {
360
- const buttons = this.getButtons();
361
- const button = buttons.find((btn) => btn.value === this.value);
362
- // If the button does not have a contentId then there is
363
- // no associated segment view to update
364
- if (!(button === null || button === void 0 ? void 0 : button.contentId)) {
365
- return;
366
- }
367
- const segmentView = this.segmentViewEl;
368
- if (segmentView) {
369
- segmentView.setContent(button.contentId, smoothScroll);
370
- }
371
- }
372
- scrollActiveButtonIntoView(smoothScroll = true) {
373
- const { scrollable, value, el } = this;
374
- if (scrollable) {
375
- const buttons = this.getButtons();
376
- const activeButton = buttons.find((button) => button.value === value);
377
- if (activeButton !== undefined) {
378
- const scrollContainerBox = el.getBoundingClientRect();
379
- const activeButtonBox = activeButton.getBoundingClientRect();
380
- /**
381
- * Subtract the active button x position from the scroll
382
- * container x position. This will give us the x position
383
- * of the active button within the scroll container.
384
- */
385
- const activeButtonLeft = activeButtonBox.x - scrollContainerBox.x;
386
- /**
387
- * If we just used activeButtonLeft, then the active button
388
- * would be aligned with the left edge of the scroll container.
389
- * Instead, we want the segment button to be centered. As a result,
390
- * we subtract half of the scroll container width. This will position
391
- * the left edge of the active button at the midpoint of the scroll container.
392
- * We then add half of the active button width. This will position the active
393
- * button such that the midpoint of the active button is at the midpoint of the
394
- * scroll container.
395
- */
396
- const centeredX = activeButtonLeft - scrollContainerBox.width / 2 + activeButtonBox.width / 2;
397
- /**
398
- * newScrollPosition is the absolute scroll position that the
399
- * container needs to move to in order to center the active button.
400
- * It is calculated by adding the current scroll position
401
- * (scrollLeft) to the offset needed to center the button
402
- * (centeredX).
403
- */
404
- const newScrollPosition = el.scrollLeft + centeredX;
405
- /**
406
- * We intentionally use scrollTo here instead of scrollIntoView
407
- * to avoid a WebKit bug where accelerated animations break
408
- * when using scrollIntoView. Using scrollIntoView will cause the
409
- * segment container to jump during the transition and then snap into place.
410
- * This is because scrollIntoView can potentially cause parent element
411
- * containers to also scroll. scrollTo does not have this same behavior, so
412
- * we use this API instead.
413
- *
414
- * scrollTo is used instead of scrollBy because there is a
415
- * Webkit bug that causes scrollBy to not work smoothly when
416
- * the active button is near the edge of the scroll container.
417
- * This leads to the buttons to jump around during the transition.
418
- *
419
- * Note that if there is not enough scrolling space to center the element
420
- * within the scroll container, the browser will attempt
421
- * to center by as much as it can.
422
- */
423
- el.scrollTo({
424
- top: 0,
425
- left: newScrollPosition,
426
- behavior: smoothScroll ? 'smooth' : 'instant',
427
- });
428
- }
429
- }
430
- }
431
- setNextIndex(detail, isEnd = false) {
432
- const rtl = isRTL(this.el);
433
- const activated = this.activated;
434
- const buttons = this.getButtons();
435
- const index = buttons.findIndex((button) => button.value === this.value);
436
- const previous = buttons[index];
437
- let current;
438
- let nextIndex;
439
- if (index === -1) {
440
- return;
441
- }
442
- // Get the element that the touch event started on in case
443
- // it was the checked button, then we will move the indicator
444
- const rect = previous.getBoundingClientRect();
445
- const left = rect.left;
446
- const width = rect.width;
447
- // Get the element that the gesture is on top of based on the currentX of the
448
- // gesture event and the Y coordinate of the starting element, since the gesture
449
- // can move up and down off of the segment
450
- const currentX = detail.currentX;
451
- const previousY = rect.top + rect.height / 2;
452
- /**
453
- * Segment can be used inside the shadow dom
454
- * so doing document.elementFromPoint would never
455
- * return a segment button in that instance.
456
- * We use getRootNode to which will return the parent
457
- * shadow root if used inside a shadow component and
458
- * returns document otherwise.
459
- */
460
- const root = this.el.getRootNode();
461
- const nextEl = root.elementFromPoint(currentX, previousY);
462
- const decreaseIndex = rtl ? currentX > left + width : currentX < left;
463
- const increaseIndex = rtl ? currentX < left : currentX > left + width;
464
- // If the indicator is currently activated then we have started the gesture
465
- // on top of the checked button so we need to slide the indicator
466
- // by checking the button next to it as we move
467
- if (activated && !isEnd) {
468
- // Decrease index, move left in LTR & right in RTL
469
- if (decreaseIndex) {
470
- const newIndex = index - 1;
471
- if (newIndex >= 0) {
472
- nextIndex = newIndex;
473
- }
474
- // Increase index, moves right in LTR & left in RTL
475
- }
476
- else if (increaseIndex) {
477
- if (activated && !isEnd) {
478
- const newIndex = index + 1;
479
- if (newIndex < buttons.length) {
480
- nextIndex = newIndex;
481
- }
482
- }
483
- }
484
- if (nextIndex !== undefined && !buttons[nextIndex].disabled) {
485
- current = buttons[nextIndex];
486
- }
487
- }
488
- // If the indicator is not activated then we will just set the indicator
489
- // to the element where the gesture ended
490
- if (!activated && isEnd) {
491
- current = nextEl;
492
- }
493
- if (current != null) {
494
- /**
495
- * If current element is ion-segment then that means
496
- * user tried to select a disabled ion-segment-button,
497
- * and we should not update the ripple.
498
- */
499
- if (current.tagName === 'ION-SEGMENT') {
500
- return false;
501
- }
502
- if (previous !== current) {
503
- this.checkButton(previous, current);
504
- }
505
- }
506
- return true;
507
- }
508
- emitStyle() {
509
- this.ionStyle.emit({
510
- segment: true,
511
- });
512
- }
513
- onKeyDown(ev) {
514
- const rtl = isRTL(this.el);
515
- let keyDownSelectsButton = this.selectOnFocus;
516
- let current;
517
- switch (ev.key) {
518
- case 'ArrowRight':
519
- ev.preventDefault();
520
- current = rtl ? this.getSegmentButton('previous') : this.getSegmentButton('next');
521
- break;
522
- case 'ArrowLeft':
523
- ev.preventDefault();
524
- current = rtl ? this.getSegmentButton('next') : this.getSegmentButton('previous');
525
- break;
526
- case 'Home':
527
- ev.preventDefault();
528
- current = this.getSegmentButton('first');
529
- break;
530
- case 'End':
531
- ev.preventDefault();
532
- current = this.getSegmentButton('last');
533
- break;
534
- case ' ':
535
- case 'Enter':
536
- ev.preventDefault();
537
- current = document.activeElement;
538
- keyDownSelectsButton = true;
539
- }
540
- if (!current) {
541
- return;
542
- }
543
- if (keyDownSelectsButton) {
544
- const previous = this.checked;
545
- this.checkButton(previous || current, current);
546
- if (current !== previous) {
547
- this.emitValueChange();
548
- }
549
- }
550
- current.setFocus();
551
- }
552
- render() {
553
- const mode = getIonMode(this);
554
- return (h(Host, { key: '725cc37b25c539fa5e3ae8d90530ae33ededc3de', role: "tablist", onClick: this.onClick, class: createColorClasses(this.color, {
555
- [mode]: true,
556
- 'in-toolbar': hostContext('ion-toolbar', this.el),
557
- 'in-toolbar-color': hostContext('ion-toolbar[color]', this.el),
558
- 'segment-activated': this.activated,
559
- 'segment-disabled': this.disabled,
560
- 'segment-scrollable': this.scrollable,
561
- }) }, h("slot", { key: 'c51cf7ea50325866a9367d214e12bc3754870335', onSlotchange: this.onSlottedItemsChange })));
562
- }
563
- get el() { return this; }
564
- static get watchers() { return {
565
- "color": ["colorChanged"],
566
- "swipeGesture": ["swipeGestureChanged"],
567
- "value": ["valueChanged"],
568
- "disabled": ["disabledChanged"]
569
- }; }
570
- static get style() { return {
571
- ios: segmentIosCss,
572
- md: segmentMdCss
573
- }; }
574
- }, [289, "ion-segment", {
575
- "color": [513],
576
- "disabled": [4],
577
- "scrollable": [4],
578
- "swipeGesture": [4, "swipe-gesture"],
579
- "value": [1032],
580
- "selectOnFocus": [4, "select-on-focus"],
581
- "activated": [32]
582
- }, [[16, "ionSegmentViewScroll", "handleSegmentViewScroll"], [0, "keydown", "onKeyDown"]], {
583
- "color": ["colorChanged"],
584
- "swipeGesture": ["swipeGestureChanged"],
585
- "value": ["valueChanged"],
586
- "disabled": ["disabledChanged"]
587
- }]);
588
- function defineCustomElement$1() {
589
- if (typeof customElements === "undefined") {
590
- return;
591
- }
592
- const components = ["ion-segment"];
593
- components.forEach(tagName => { switch (tagName) {
594
- case "ion-segment":
595
- if (!customElements.get(tagName)) {
596
- customElements.define(tagName, Segment);
597
- }
598
- break;
599
- } });
600
- }
601
-
602
- const IonSegment = Segment;
603
- const defineCustomElement = defineCustomElement$1;
604
-
605
- export { IonSegment, defineCustomElement };
4
+ import{p as t,H as s,e,w as i,h as o,d as n,t as r}from"./p-BJoMtgfR.js";import{r as a}from"./p-DgbT0exM.js";import{i as h}from"./p-C53feagD.js";import{c as l,h as c}from"./p-DiVJyqlX.js";import{b as d}from"./p-CDfQnFrd.js";const u=t(class extends s{constructor(t){super(),!1!==t&&this.__registerHost(),this.__attachShadow(),this.ionChange=e(this,"ionChange",7),this.ionSelect=e(this,"ionSelect",7),this.ionStyle=e(this,"ionStyle",7),this.segmentViewEl=null,this.activated=!1,this.disabled=!1,this.scrollable=!1,this.swipeGesture=!0,this.selectOnFocus=!1,this.onClick=t=>{const s=t.target,e=this.checked;"ION-SEGMENT"!==s.tagName&&(this.value=s.value,s!==e&&this.emitValueChange(),this.segmentViewEl?(this.updateSegmentView(),this.scrollable&&e&&this.checkButton(e,s)):!this.scrollable&&this.swipeGesture||(e?this.checkButton(e,s):this.setCheckedClasses()))},this.onSlottedItemsChange=()=>{this.valueChanged(this.value)},this.getSegmentButton=t=>{var s,e;const i=this.getButtons().filter((t=>!t.disabled)),o=i.findIndex((t=>t===document.activeElement));switch(t){case"first":return i[0];case"last":return i[i.length-1];case"next":return null!==(s=i[o+1])&&void 0!==s?s:i[0];case"previous":return null!==(e=i[o-1])&&void 0!==e?e:i[i.length-1];default:return null}}}colorChanged(t,s){(void 0===s&&void 0!==t||void 0!==s&&void 0===t)&&this.emitStyle()}swipeGestureChanged(){this.gestureChanged()}valueChanged(t,s){if(this.segmentViewEl&&void 0===t)this.value=this.getButtons()[0].value;else{if(void 0!==s&&void 0!==t){const e=this.getButtons(),i=e.find((t=>t.value===s)),o=e.find((s=>s.value===t));i&&o&&(this.segmentViewEl?!1!==this.triggerScrollOnValueChange&&this.updateSegmentView():this.checkButton(i,o))}else void 0!==t&&void 0===s&&this.segmentViewEl&&this.updateSegmentView();this.ionSelect.emit({value:t}),this.segmentViewEl||this.scrollActiveButtonIntoView(),this.triggerScrollOnValueChange=void 0}}disabledChanged(){if(this.gestureChanged(),this.segmentViewEl)this.segmentViewEl.disabled=this.disabled;else{const t=this.getButtons();for(const s of t)s.disabled=this.disabled}}gestureChanged(){this.gesture&&this.gesture.enable(!this.scrollable&&!this.disabled&&this.swipeGesture)}connectedCallback(){this.emitStyle(),this.segmentViewEl=this.getSegmentView()}disconnectedCallback(){this.segmentViewEl=null}componentWillLoad(){this.emitStyle()}async componentDidLoad(){this.segmentViewEl=this.getSegmentView(),this.setCheckedClasses(),a((()=>{this.scrollActiveButtonIntoView(!1)})),this.gesture=(await import("./p-Cl0B-RWe.js")).createGesture({el:this.el,gestureName:"segment",gesturePriority:100,threshold:0,passive:!1,onStart:t=>this.onStart(t),onMove:t=>this.onMove(t),onEnd:t=>this.onEnd(t)}),this.gestureChanged(),this.disabled&&this.disabledChanged(),this.updateSegmentView(!1)}onStart(t){this.valueBeforeGesture=this.value,this.activate(t)}onMove(t){this.setNextIndex(t)}onEnd(t){this.setActivated(!1),this.setNextIndex(t,!0),t.event.stopImmediatePropagation();const s=this.value;void 0!==s&&this.valueBeforeGesture!==s&&(this.emitValueChange(),this.updateSegmentView()),this.valueBeforeGesture=void 0}emitValueChange(){const{value:t}=this;this.ionChange.emit({value:t})}getButtons(){return Array.from(this.el.querySelectorAll("ion-segment-button"))}get checked(){return this.getButtons().find((t=>t.value===this.value))}setActivated(t){this.getButtons().forEach((s=>{s.classList.toggle("segment-button-activated",t)})),this.activated=t}activate(t){const s=t.event.target,e=this.getButtons().find((t=>t.value===this.value));"ION-SEGMENT-BUTTON"===s.tagName&&(e||(this.value=s.value,this.setCheckedClasses()),this.value===s.value&&this.setActivated(!0))}getIndicator(t){return(t.shadowRoot||t).querySelector(".segment-button-indicator")}checkButton(t,s){const e=this.getIndicator(t),o=this.getIndicator(s);if(null===e||null===o)return;const n=e.getBoundingClientRect(),r=o.getBoundingClientRect(),a=`translate3d(${n.left-r.left}px, 0, 0) scaleX(${n.width/r.width})`;i((()=>{o.classList.remove("segment-button-indicator-animated"),o.style.setProperty("transform",a),o.getBoundingClientRect(),o.classList.add("segment-button-indicator-animated"),o.style.setProperty("transform",""),this.scrollActiveButtonIntoView(!0)})),this.value=s.value,this.setCheckedClasses()}setCheckedClasses(){const t=this.getButtons(),s=t.findIndex((t=>t.value===this.value))+1;for(const s of t)s.classList.remove("segment-button-after-checked");s<t.length&&t[s].classList.add("segment-button-after-checked")}getSegmentView(){const t=this.getButtons().find((t=>t.contentId)),s=document.querySelector(`ion-segment-content[id="${null==t?void 0:t.contentId}"]`);return null==s?void 0:s.closest("ion-segment-view")}handleSegmentViewScroll(t){const{scrollRatio:s,isManualScroll:e}=t.detail;if(!e)return;const i=t.target,o=this.segmentViewEl,n=this.el;if(t.composedPath().includes(o)||(null==i?void 0:i.contains(n))){const t=this.getButtons();if(!t.length)return;const e=t.findIndex((t=>t.value===this.value)),i=t[e],o=Math.round(s*(t.length-1));void 0!==this.lastNextIndex&&this.lastNextIndex===o||(this.lastNextIndex=o,this.triggerScrollOnValueChange=!1,this.checkButton(i,t[o]),this.emitValueChange())}}updateSegmentView(t=!0){const s=this.getButtons().find((t=>t.value===this.value));if(!(null==s?void 0:s.contentId))return;const e=this.segmentViewEl;e&&e.setContent(s.contentId,t)}scrollActiveButtonIntoView(t=!0){const{scrollable:s,value:e,el:i}=this;if(s){const s=this.getButtons().find((t=>t.value===e));if(void 0!==s){const e=i.getBoundingClientRect(),o=s.getBoundingClientRect();i.scrollTo({top:0,left:i.scrollLeft+(o.x-e.x-e.width/2+o.width/2),behavior:t?"smooth":"instant"})}}}setNextIndex(t,s=!1){const e=h(this.el),i=this.activated,o=this.getButtons(),n=o.findIndex((t=>t.value===this.value)),r=o[n];let a,l;if(-1===n)return;const c=r.getBoundingClientRect(),d=c.left,u=c.width,m=t.currentX,g=c.top+c.height/2,b=this.el.getRootNode().elementFromPoint(m,g);if(i&&!s){if(e?m>d+u:m<d){const t=n-1;t>=0&&(l=t)}else if((e?m<d:m>d+u)&&i&&!s){const t=n+1;t<o.length&&(l=t)}void 0===l||o[l].disabled||(a=o[l])}if(!i&&s&&(a=b),null!=a){if("ION-SEGMENT"===a.tagName)return!1;r!==a&&this.checkButton(r,a)}return!0}emitStyle(){this.ionStyle.emit({segment:!0})}onKeyDown(t){const s=h(this.el);let e,i=this.selectOnFocus;switch(t.key){case"ArrowRight":t.preventDefault(),e=this.getSegmentButton(s?"previous":"next");break;case"ArrowLeft":t.preventDefault(),e=this.getSegmentButton(s?"next":"previous");break;case"Home":t.preventDefault(),e=this.getSegmentButton("first");break;case"End":t.preventDefault(),e=this.getSegmentButton("last");break;case" ":case"Enter":t.preventDefault(),e=document.activeElement,i=!0}if(e){if(i){const t=this.checked;this.checkButton(t||e,e),e!==t&&this.emitValueChange()}e.setFocus()}}render(){const t=d(this);return o(n,{key:"725cc37b25c539fa5e3ae8d90530ae33ededc3de",role:"tablist",onClick:this.onClick,class:l(this.color,{[t]:!0,"in-toolbar":c("ion-toolbar",this.el),"in-toolbar-color":c("ion-toolbar[color]",this.el),"segment-activated":this.activated,"segment-disabled":this.disabled,"segment-scrollable":this.scrollable})},o("slot",{key:"c51cf7ea50325866a9367d214e12bc3754870335",onSlotchange:this.onSlottedItemsChange}))}get el(){return this}static get watchers(){return{color:[{colorChanged:0}],swipeGesture:[{swipeGestureChanged:0}],value:[{valueChanged:0}],disabled:[{disabledChanged:0}]}}static get style(){return{ios:":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)}",md:":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}"}}},[289,"ion-segment",{color:[513],disabled:[4],scrollable:[4],swipeGesture:[4,"swipe-gesture"],value:[1032],selectOnFocus:[4,"select-on-focus"],activated:[32]},[[16,"ionSegmentViewScroll","handleSegmentViewScroll"],[0,"keydown","onKeyDown"]],{color:[{colorChanged:0}],swipeGesture:[{swipeGestureChanged:0}],value:[{valueChanged:0}],disabled:[{disabledChanged:0}]}]),m=u,g=function(){"undefined"!=typeof customElements&&["ion-segment"].forEach((t=>{"ion-segment"===t&&(customElements.get(r(t))||customElements.define(r(t),u))}))};export{m as IonSegment,g as defineCustomElement}
@@ -1,9 +1,4 @@
1
1
  /*!
2
2
  * (C) Ionic http://ionicframework.com - MIT License
3
3
  */
4
- import { S as SelectModal, d as defineCustomElement$1 } from './p-CFZWrvIQ.js';
5
-
6
- const IonSelectModal = SelectModal;
7
- const defineCustomElement = defineCustomElement$1;
8
-
9
- export { IonSelectModal, defineCustomElement };
4
+ import{S as o,d as s}from"./p-Bum_LjMh.js";const m=o,p=s;export{m as IonSelectModal,p as defineCustomElement}