@ionic/core 8.7.17-dev.11772118942.181221d4 → 8.7.17-dev.11772568074.1d7a4aea

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 (520) hide show
  1. package/components/action-sheet.js +1 -561
  2. package/components/alert.js +1 -610
  3. package/components/animation.js +1 -817
  4. package/components/backdrop.js +1 -72
  5. package/components/button-active.js +1 -64
  6. package/components/button.js +1 -303
  7. package/components/buttons.js +1 -56
  8. package/components/capacitor.js +1 -10
  9. package/components/checkbox.js +1 -261
  10. package/components/config.js +1 -192
  11. package/components/content.js +1 -475
  12. package/components/cubic-bezier.js +1 -87
  13. package/components/data.js +1 -1635
  14. package/components/dir.js +1 -15
  15. package/components/focus-visible.js +1 -72
  16. package/components/framework-delegate.js +1 -137
  17. package/components/gesture-controller.js +1 -192
  18. package/components/haptic.js +1 -155
  19. package/components/hardware-back-button.js +1 -112
  20. package/components/header.js +1 -417
  21. package/components/helpers.js +1 -336
  22. package/components/icon.js +1 -456
  23. package/components/index.d.ts +2 -0
  24. package/components/index.js +1 -115
  25. package/components/index2.js +1 -416
  26. package/components/index3.js +1 -452
  27. package/components/index4.js +1 -118
  28. package/components/index5.js +1 -303
  29. package/components/index6.js +1 -29
  30. package/components/index7.js +1 -164
  31. package/components/index8.js +1 -125
  32. package/components/index9.js +1 -4
  33. package/components/input-shims.js +1 -624
  34. package/components/input.utils.js +1 -144
  35. package/components/ion-accordion-group.js +1 -269
  36. package/components/ion-accordion.js +1 -457
  37. package/components/ion-action-sheet.js +1 -6
  38. package/components/ion-alert.js +1 -6
  39. package/components/ion-app.js +1 -128
  40. package/components/ion-avatar.js +1 -41
  41. package/components/ion-back-button.js +1 -131
  42. package/components/ion-backdrop.js +1 -6
  43. package/components/ion-badge.js +1 -47
  44. package/components/ion-breadcrumb.js +1 -137
  45. package/components/ion-breadcrumbs.js +1 -164
  46. package/components/ion-button.js +1 -6
  47. package/components/ion-buttons.js +1 -6
  48. package/components/ion-card-content.js +1 -45
  49. package/components/ion-card-header.js +1 -56
  50. package/components/ion-card-subtitle.js +1 -48
  51. package/components/ion-card-title.js +1 -48
  52. package/components/ion-card.js +1 -107
  53. package/components/ion-checkbox.js +1 -6
  54. package/components/ion-chip.js +1 -66
  55. package/components/ion-col.js +1 -163
  56. package/components/ion-content.js +1 -6
  57. package/components/ion-datetime-button.js +1 -384
  58. package/components/ion-datetime.js +1 -2046
  59. package/components/ion-fab-button.js +1 -151
  60. package/components/ion-fab-list.js +1 -66
  61. package/components/ion-fab.js +1 -101
  62. package/components/ion-footer.js +1 -159
  63. package/components/ion-grid.js +1 -46
  64. package/components/ion-header.js +1 -6
  65. package/components/ion-icon.js +1 -6
  66. package/components/ion-img.js +1 -124
  67. package/components/ion-infinite-scroll-content.js +1 -70
  68. package/components/ion-infinite-scroll.js +1 -236
  69. package/components/ion-input-otp.js +1 -683
  70. package/components/ion-input-password-toggle.js +1 -129
  71. package/components/ion-input.js +1 -617
  72. package/components/ion-item-divider.js +1 -59
  73. package/components/ion-item-group.js +1 -46
  74. package/components/ion-item-option.js +1 -91
  75. package/components/ion-item-options.js +1 -73
  76. package/components/ion-item-sliding.js +1 -458
  77. package/components/ion-item.js +1 -6
  78. package/components/ion-label.js +1 -6
  79. package/components/ion-list-header.js +1 -6
  80. package/components/ion-list.js +1 -6
  81. package/components/ion-loading.js +1 -344
  82. package/components/ion-menu-button.js +1 -110
  83. package/components/ion-menu-toggle.js +1 -64
  84. package/components/ion-menu.js +1 -745
  85. package/components/ion-modal.js +1 -6
  86. package/components/ion-nav-link.js +1 -64
  87. package/components/ion-nav.js +1 -956
  88. package/components/ion-note.js +1 -47
  89. package/components/ion-picker-column-option.js +1 -6
  90. package/components/ion-picker-column.js +1 -6
  91. package/components/ion-picker-legacy-column.js +1 -6
  92. package/components/ion-picker-legacy.js +1 -343
  93. package/components/ion-picker.js +1 -6
  94. package/components/ion-popover.js +1 -6
  95. package/components/ion-progress-bar.js +1 -101
  96. package/components/ion-radio-group.js +1 -6
  97. package/components/ion-radio.js +1 -6
  98. package/components/ion-range.js +1 -853
  99. package/components/ion-refresher-content.js +1 -89
  100. package/components/ion-refresher.js +1 -751
  101. package/components/ion-reorder-group.js +1 -322
  102. package/components/ion-reorder.js +1 -60
  103. package/components/ion-ripple-effect.js +1 -6
  104. package/components/ion-route-redirect.js +1 -45
  105. package/components/ion-route.js +1 -74
  106. package/components/ion-router-link.js +1 -61
  107. package/components/ion-router-outlet.js +1 -227
  108. package/components/ion-router.js +1 -841
  109. package/components/ion-row.js +1 -36
  110. package/components/ion-searchbar.js +1 -530
  111. package/components/ion-segment-button.js +1 -174
  112. package/components/ion-segment-content.js +1 -35
  113. package/components/ion-segment-view.js +1 -148
  114. package/components/ion-segment.js +1 -602
  115. package/components/ion-select-modal.js +1 -6
  116. package/components/ion-select-option.js +1 -46
  117. package/components/ion-select-popover.js +1 -6
  118. package/components/ion-select.js +1 -1037
  119. package/components/ion-skeleton-text.js +1 -65
  120. package/components/ion-spinner.js +1 -6
  121. package/components/ion-split-pane.js +1 -197
  122. package/components/ion-tab-bar.js +1 -115
  123. package/components/ion-tab-button.js +1 -128
  124. package/components/ion-tab.js +1 -91
  125. package/components/ion-tabs.js +1 -205
  126. package/components/ion-text.js +1 -42
  127. package/components/ion-textarea.js +1 -554
  128. package/components/ion-thumbnail.js +1 -36
  129. package/components/ion-title.js +1 -6
  130. package/components/ion-toast.js +1 -941
  131. package/components/ion-toggle.js +1 -361
  132. package/components/ion-toolbar.js +1 -6
  133. package/components/ionic-global.js +1 -144
  134. package/components/ios.transition.js +1 -672
  135. package/components/item.js +1 -302
  136. package/components/keyboard-controller.js +1 -162
  137. package/components/keyboard.js +1 -141
  138. package/components/keyboard2.js +1 -76
  139. package/components/label.js +1 -100
  140. package/components/list-header.js +1 -47
  141. package/components/list.js +1 -68
  142. package/components/lock-controller.js +1 -35
  143. package/components/md.transition.js +1 -51
  144. package/components/menu-toggle-util.js +1 -9
  145. package/components/modal.js +1 -2674
  146. package/components/notch-controller.js +1 -150
  147. package/components/overlays.js +1 -912
  148. package/components/picker-column-option.js +1 -136
  149. package/components/picker-column.js +1 -595
  150. package/components/picker-column2.js +1 -377
  151. package/components/picker.js +1 -498
  152. package/components/popover.js +1 -1502
  153. package/components/radio-group.js +1 -287
  154. package/components/radio.js +1 -229
  155. package/components/refresher.utils.js +1 -193
  156. package/components/ripple-effect.js +1 -109
  157. package/components/select-modal.js +1 -196
  158. package/components/select-popover.js +1 -189
  159. package/components/spinner.js +1 -224
  160. package/components/status-tap.js +1 -36
  161. package/components/swipe-back.js +1 -75
  162. package/components/theme.js +1 -40
  163. package/components/title.js +1 -70
  164. package/components/toolbar.js +1 -89
  165. package/components/validity.js +1 -14
  166. package/components/watch-options.js +1 -44
  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-CW0KUFTQ.js → input-shims-DlFhYYTs.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 +44 -40
  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 +67 -39
  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 +17 -15
  205. package/dist/cjs/ion-item_8.cjs.entry.js +42 -36
  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 +55 -40
  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 +29 -15
  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 +5 -5
  224. package/dist/cjs/ion-segment_2.cjs.entry.js +26 -16
  225. package/dist/cjs/ion-select-modal.cjs.entry.js +12 -12
  226. package/dist/cjs/ion-select_3.cjs.entry.js +29 -21
  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 +18 -12
  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 +8 -4
  260. package/dist/collection/components/datetime/datetime.js +34 -15
  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 +6 -3
  268. package/dist/collection/components/item-divider/item-divider.js +2 -1
  269. package/dist/collection/components/item-option/item-option.js +2 -1
  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 +2 -1
  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 +32 -21
  278. package/dist/collection/components/modal/modal.js +35 -20
  279. package/dist/collection/components/nav/nav.js +89 -45
  280. package/dist/collection/components/nav-link/nav-link.js +9 -5
  281. package/dist/collection/components/note/note.js +2 -1
  282. package/dist/collection/components/picker/picker.js +2 -1
  283. package/dist/collection/components/picker-column/picker-column.js +6 -3
  284. package/dist/collection/components/picker-column-option/picker-column-option.js +2 -1
  285. package/dist/collection/components/picker-legacy/picker.js +24 -12
  286. package/dist/collection/components/picker-legacy-column/picker-column.js +4 -2
  287. package/dist/collection/components/popover/popover.js +33 -17
  288. package/dist/collection/components/progress-bar/progress-bar.js +2 -1
  289. package/dist/collection/components/radio/radio.js +2 -1
  290. package/dist/collection/components/radio-group/radio-group.js +6 -3
  291. package/dist/collection/components/range/range.js +14 -7
  292. package/dist/collection/components/refresher/refresher.js +73 -5
  293. package/dist/collection/components/refresher-content/refresher-content.js +8 -4
  294. package/dist/collection/components/reorder-group/reorder-group.js +6 -3
  295. package/dist/collection/components/route/route.js +4 -2
  296. package/dist/collection/components/router/router.js +10 -5
  297. package/dist/collection/components/router-link/router-link.js +6 -3
  298. package/dist/collection/components/router-outlet/router-outlet.js +18 -9
  299. package/dist/collection/components/searchbar/searchbar.js +11 -6
  300. package/dist/collection/components/segment/segment.js +10 -5
  301. package/dist/collection/components/segment-button/segment-button.js +4 -2
  302. package/dist/collection/components/segment-view/segment-view.js +2 -1
  303. package/dist/collection/components/select/select.js +10 -5
  304. package/dist/collection/components/select-modal/select-modal.js +2 -1
  305. package/dist/collection/components/select-popover/select-popover.js +2 -1
  306. package/dist/collection/components/skeleton-text/skeleton-text.js +2 -1
  307. package/dist/collection/components/spinner/spinner.js +4 -2
  308. package/dist/collection/components/tab/tab.js +4 -2
  309. package/dist/collection/components/tab-bar/tab-bar.js +4 -2
  310. package/dist/collection/components/tab-button/tab-button.js +4 -2
  311. package/dist/collection/components/tabs/tabs.js +4 -2
  312. package/dist/collection/components/text/text.js +2 -1
  313. package/dist/collection/components/textarea/textarea.js +6 -3
  314. package/dist/collection/components/title/title.js +4 -2
  315. package/dist/collection/components/toast/toast.js +34 -17
  316. package/dist/collection/components/toggle/toggle.js +4 -2
  317. package/dist/collection/components/toolbar/toolbar.js +2 -1
  318. package/dist/docs.d.ts +37 -0
  319. package/dist/docs.json +835 -381
  320. package/dist/esm/{animation-Dt8bGnA-.js → animation-CnGMT4ji.js} +1 -1
  321. package/dist/esm/app-globals-DhZjtldk.js +9 -0
  322. package/dist/esm/{button-active-L570Swow.js → button-active-BBx21brx.js} +1 -1
  323. package/dist/esm/{config-mCdtaoPe.js → config-TO1rZH52.js} +1 -1
  324. package/dist/esm/{data-DCORV9FH.js → data-B9iGR5YO.js} +1 -1
  325. package/dist/esm/{framework-delegate-BYawdMXj.js → framework-delegate-CyxE1S_P.js} +1 -1
  326. package/dist/esm/{hardware-back-button-CPLxO-Ev.js → hardware-back-button-CTe4XmL7.js} +1 -1
  327. package/dist/esm/{helpers-DEn3pfjm.js → helpers-Tl8jw6S2.js} +1 -1
  328. package/dist/esm/{index-r2D9DEro.js → index-B-hkiOUh.js} +4 -4
  329. package/dist/esm/{index-CvDIirVx.js → index-B2KwgBLx.js} +5 -5
  330. package/dist/esm/{index-ceb5RaMT.js → index-BtUdxPjv.js} +2 -2
  331. package/dist/esm/{index-C8IsBmNU.js → index-IGIE5vDm.js} +503 -382
  332. package/dist/esm/{index-Bs3kT4bc.js → index-hW6eNZ3o.js} +2 -2
  333. package/dist/esm/index.js +12 -12
  334. package/dist/esm/{input-shims-DyOpfTg6.js → input-shims-C1hAaHcP.js} +3 -3
  335. package/dist/esm/{input.utils-DrvTa8gz.js → input.utils-Bxa_DQ7-.js} +2 -2
  336. package/dist/esm/ion-accordion_2.entry.js +23 -15
  337. package/dist/esm/ion-action-sheet.entry.js +21 -15
  338. package/dist/esm/ion-alert.entry.js +25 -17
  339. package/dist/esm/ion-app_8.entry.js +44 -40
  340. package/dist/esm/ion-avatar_3.entry.js +12 -12
  341. package/dist/esm/ion-back-button.entry.js +7 -7
  342. package/dist/esm/ion-backdrop.entry.js +6 -6
  343. package/dist/esm/ion-breadcrumb_2.entry.js +20 -14
  344. package/dist/esm/ion-button_2.entry.js +36 -18
  345. package/dist/esm/ion-card_5.entry.js +23 -23
  346. package/dist/esm/ion-checkbox.entry.js +7 -7
  347. package/dist/esm/ion-chip.entry.js +6 -6
  348. package/dist/esm/ion-col_3.entry.js +8 -8
  349. package/dist/esm/ion-datetime-button.entry.js +8 -8
  350. package/dist/esm/ion-datetime_3.entry.js +67 -39
  351. package/dist/esm/ion-fab_3.entry.js +17 -13
  352. package/dist/esm/ion-img.entry.js +8 -6
  353. package/dist/esm/ion-infinite-scroll_2.entry.js +17 -13
  354. package/dist/esm/ion-input-otp.entry.js +16 -10
  355. package/dist/esm/ion-input-password-toggle.entry.js +9 -7
  356. package/dist/esm/ion-input.entry.js +21 -13
  357. package/dist/esm/ion-item-option_3.entry.js +17 -15
  358. package/dist/esm/ion-item_8.entry.js +42 -36
  359. package/dist/esm/ion-loading.entry.js +18 -14
  360. package/dist/esm/ion-menu_3.entry.js +30 -22
  361. package/dist/esm/ion-modal.entry.js +55 -40
  362. package/dist/esm/ion-nav_2.entry.js +14 -10
  363. package/dist/esm/ion-picker-column-option.entry.js +10 -8
  364. package/dist/esm/ion-picker-column.entry.js +11 -7
  365. package/dist/esm/ion-picker.entry.js +6 -6
  366. package/dist/esm/ion-popover.entry.js +21 -15
  367. package/dist/esm/ion-progress-bar.entry.js +7 -7
  368. package/dist/esm/ion-radio_2.entry.js +17 -13
  369. package/dist/esm/ion-range.entry.js +29 -15
  370. package/dist/esm/ion-refresher_2.entry.js +45 -14
  371. package/dist/esm/ion-reorder_2.entry.js +13 -11
  372. package/dist/esm/ion-ripple-effect.entry.js +4 -4
  373. package/dist/esm/ion-route_4.entry.js +20 -10
  374. package/dist/esm/ion-searchbar.entry.js +22 -12
  375. package/dist/esm/ion-segment-content.entry.js +3 -3
  376. package/dist/esm/ion-segment-view.entry.js +5 -5
  377. package/dist/esm/ion-segment_2.entry.js +26 -16
  378. package/dist/esm/ion-select-modal.entry.js +12 -12
  379. package/dist/esm/ion-select_3.entry.js +29 -21
  380. package/dist/esm/ion-spinner.entry.js +4 -4
  381. package/dist/esm/ion-split-pane.entry.js +15 -9
  382. package/dist/esm/ion-tab-bar_2.entry.js +14 -12
  383. package/dist/esm/ion-tab_2.entry.js +10 -8
  384. package/dist/esm/ion-text.entry.js +4 -4
  385. package/dist/esm/ion-textarea.entry.js +18 -12
  386. package/dist/esm/ion-toast.entry.js +21 -15
  387. package/dist/esm/ion-toggle.entry.js +10 -8
  388. package/dist/esm/{ionic-global-CDrldh-5.js → ionic-global-DfbeLwcV.js} +1 -1
  389. package/dist/esm/ionic.js +6 -6
  390. package/dist/esm/{ios.transition-BDzw0_Hm.js → ios.transition--aMF-pDH.js} +4 -4
  391. package/dist/esm/loader.js +5 -5
  392. package/dist/esm/{md.transition-BzDYi3qq.js → md.transition-BEVbfm8j.js} +4 -4
  393. package/dist/esm/{notch-controller-BwelN_JM.js → notch-controller-DAcvKU57.js} +1 -1
  394. package/dist/esm/{overlays-D5YkFThA.js → overlays-F8GHPo-e.js} +5 -5
  395. package/dist/esm/{status-tap-5DQ7Fc4V.js → status-tap-BfJqFSLF.js} +3 -3
  396. package/dist/esm/{swipe-back-BKw2CAHc.js → swipe-back-BZBFwTQV.js} +2 -2
  397. package/dist/html.html-data.json +109 -109
  398. package/dist/ionic/index.esm.js +1 -1
  399. package/dist/ionic/ionic.esm.js +1 -1
  400. package/dist/ionic/{p-316c0420.entry.js → p-025d2d32.entry.js} +1 -1
  401. package/dist/ionic/p-02acdef4.entry.js +4 -0
  402. package/dist/ionic/p-04e2c388.entry.js +4 -0
  403. package/dist/ionic/{p-370e4237.entry.js → p-074344b8.entry.js} +1 -1
  404. package/dist/ionic/p-0761b4d3.entry.js +4 -0
  405. package/dist/ionic/p-13ade5c8.entry.js +4 -0
  406. package/dist/ionic/p-1b02923f.entry.js +4 -0
  407. package/dist/ionic/p-1bd477a9.entry.js +4 -0
  408. package/dist/ionic/{p-d2489bf2.entry.js → p-1fa1406c.entry.js} +1 -1
  409. package/dist/ionic/{p-46d74291.entry.js → p-1fd588a7.entry.js} +1 -1
  410. package/dist/ionic/p-239a27a4.entry.js +4 -0
  411. package/dist/ionic/{p-94de5cfa.entry.js → p-277abec1.entry.js} +1 -1
  412. package/dist/ionic/{p-dd1aef77.entry.js → p-28d7852f.entry.js} +1 -1
  413. package/dist/ionic/{p-49d06882.entry.js → p-301c43f8.entry.js} +1 -1
  414. package/dist/ionic/{p-79bd78f9.entry.js → p-370a60ee.entry.js} +1 -1
  415. package/dist/ionic/p-3e143d1d.entry.js +4 -0
  416. package/dist/ionic/p-4431ef7e.entry.js +4 -0
  417. package/dist/ionic/p-463767ce.entry.js +4 -0
  418. package/dist/ionic/p-4f888343.entry.js +4 -0
  419. package/dist/ionic/p-51c11c47.entry.js +4 -0
  420. package/dist/ionic/p-56050077.entry.js +4 -0
  421. package/dist/ionic/p-6a3a5aae.entry.js +4 -0
  422. package/dist/ionic/p-6b97f2a3.entry.js +4 -0
  423. package/dist/ionic/{p-51a60e0f.entry.js → p-7c72d482.entry.js} +1 -1
  424. package/dist/ionic/p-7d20f4f8.entry.js +4 -0
  425. package/dist/ionic/{p-11aa58d6.entry.js → p-80cac7a2.entry.js} +1 -1
  426. package/dist/ionic/p-91fc7352.entry.js +4 -0
  427. package/dist/ionic/p-93845421.entry.js +4 -0
  428. package/dist/ionic/{p-3a6caca9.entry.js → p-964090ef.entry.js} +1 -1
  429. package/dist/ionic/p-96a2e768.entry.js +4 -0
  430. package/dist/ionic/{p-d126e8d3.entry.js → p-9745651b.entry.js} +1 -1
  431. package/dist/ionic/{p-f9061316.entry.js → p-9802c88e.entry.js} +1 -1
  432. package/dist/ionic/{p-582824c5.entry.js → p-9833cf63.entry.js} +1 -1
  433. package/dist/ionic/{p-675b1a31.entry.js → p-9fae83d8.entry.js} +1 -1
  434. package/dist/ionic/{p-CwgG81ZD.js → p-B8xlpH8p.js} +1 -1
  435. package/dist/ionic/{p-C7hRNDhM.js → p-BAt5H1ac.js} +1 -1
  436. package/dist/ionic/p-BW_TRJm8.js +4 -0
  437. package/dist/ionic/{p-DDb5r57F.js → p-Bum7H1fw.js} +1 -1
  438. package/dist/ionic/{p-D0dMcSkw.js → p-BvFYtOdE.js} +1 -1
  439. package/dist/ionic/{p-Dc45iWE4.js → p-BxIcPWoV.js} +1 -1
  440. package/dist/ionic/{p-BYEqWnSg.js → p-C0JvVFMv.js} +1 -1
  441. package/dist/ionic/{p-CTfR9YZG.js → p-CGmVTdWh.js} +1 -1
  442. package/dist/ionic/{p-BOVrCkpJ.js → p-CYbRmDdy.js} +1 -1
  443. package/dist/ionic/{p-D-eFFUkA.js → p-CmFz1Mjc.js} +1 -1
  444. package/dist/ionic/p-CtA-yJYy.js +4 -0
  445. package/dist/ionic/p-D8HJQ1qq.js +4 -0
  446. package/dist/ionic/{p-B0q1YL7N.js → p-DB_iPQC-.js} +1 -1
  447. package/dist/ionic/{p-DNcfiJwE.js → p-DLbbmF9h.js} +1 -1
  448. package/dist/ionic/{p-DdR6rpbR.js → p-DTPR1Wpn.js} +1 -1
  449. package/dist/ionic/{p-DCv9sLH2.js → p-DjriolRs.js} +1 -1
  450. package/dist/ionic/p-DtVZDHlS.js +4 -0
  451. package/dist/ionic/{p-QHYY4sjU.js → p-GWUGgWx6.js} +1 -1
  452. package/dist/ionic/p-IGIE5vDm.js +5 -0
  453. package/dist/ionic/{p-BFvmZNyx.js → p-NFFyoJ4Q.js} +1 -1
  454. package/dist/ionic/{p-86f53961.entry.js → p-a287e18e.entry.js} +1 -1
  455. package/dist/ionic/p-a805674e.entry.js +4 -0
  456. package/dist/ionic/p-a81ae2cd.entry.js +4 -0
  457. package/dist/ionic/{p-da7d04cc.entry.js → p-a84f2d21.entry.js} +1 -1
  458. package/dist/ionic/{p-dbbe606a.entry.js → p-b2d5238b.entry.js} +1 -1
  459. package/dist/ionic/{p-d1f54e28.entry.js → p-b440381f.entry.js} +1 -1
  460. package/dist/ionic/{p-72c38b88.entry.js → p-b4d52b58.entry.js} +1 -1
  461. package/dist/ionic/{p-2a939845.entry.js → p-b67a2114.entry.js} +1 -1
  462. package/dist/ionic/{p-c73627c8.entry.js → p-bced1f3e.entry.js} +1 -1
  463. package/dist/ionic/{p-9a2d390d.entry.js → p-c1c9b2bb.entry.js} +1 -1
  464. package/dist/ionic/{p-f8f22cc0.entry.js → p-c3e65e45.entry.js} +1 -1
  465. package/dist/ionic/p-c76cc21d.entry.js +4 -0
  466. package/dist/ionic/{p-b0a7585c.entry.js → p-ca31010f.entry.js} +1 -1
  467. package/dist/ionic/p-cbf245b5.entry.js +4 -0
  468. package/dist/ionic/p-d68b665a.entry.js +4 -0
  469. package/dist/ionic/{p-9575b654.entry.js → p-e663bc5a.entry.js} +1 -1
  470. package/dist/ionic/p-efe86ed9.entry.js +4 -0
  471. package/dist/ionic/{p-ac4eb91d.entry.js → p-f5dfb9a3.entry.js} +1 -1
  472. package/dist/ionic/{p-DbQ5QkTP.js → p-gbVXD275.js} +1 -1
  473. package/dist/ionic/p-hNN3VvaC.js +4 -0
  474. package/dist/types/components/datetime/datetime.d.ts +9 -0
  475. package/dist/types/components/header/header.utils.d.ts +2 -1
  476. package/dist/types/components/modal/modal-interface.d.ts +5 -1
  477. package/dist/types/components/modal/modal.d.ts +5 -0
  478. package/dist/types/components/refresher/refresher-interface.d.ts +7 -0
  479. package/dist/types/components/refresher/refresher.d.ts +16 -3
  480. package/dist/types/components.d.ts +927 -189
  481. package/dist/types/interface.d.ts +1 -1
  482. package/dist/types/stencil-public-runtime.d.ts +126 -14
  483. package/dist/types/utils/gesture/listener.d.ts +2 -1
  484. package/hydrate/index.d.ts +12 -0
  485. package/hydrate/index.js +5202 -1327
  486. package/hydrate/index.mjs +5201 -1328
  487. package/package.json +2 -2
  488. package/dist/cjs/app-globals-Ciccnk9_.js +0 -10
  489. package/dist/esm/app-globals-BDSf8fOA.js +0 -8
  490. package/dist/ionic/p-012212e4.entry.js +0 -4
  491. package/dist/ionic/p-074839fc.entry.js +0 -4
  492. package/dist/ionic/p-0dfa5a37.entry.js +0 -4
  493. package/dist/ionic/p-0f418a37.entry.js +0 -4
  494. package/dist/ionic/p-11518b31.entry.js +0 -4
  495. package/dist/ionic/p-1838bed5.entry.js +0 -4
  496. package/dist/ionic/p-29721c43.entry.js +0 -4
  497. package/dist/ionic/p-31f7095f.entry.js +0 -4
  498. package/dist/ionic/p-34642fa1.entry.js +0 -4
  499. package/dist/ionic/p-35696017.entry.js +0 -4
  500. package/dist/ionic/p-40c261a3.entry.js +0 -4
  501. package/dist/ionic/p-4e41ea20.entry.js +0 -4
  502. package/dist/ionic/p-6241ce47.entry.js +0 -4
  503. package/dist/ionic/p-639dd543.entry.js +0 -4
  504. package/dist/ionic/p-6444c606.entry.js +0 -4
  505. package/dist/ionic/p-6d070558.entry.js +0 -4
  506. package/dist/ionic/p-7268efa5.entry.js +0 -4
  507. package/dist/ionic/p-7babec72.entry.js +0 -4
  508. package/dist/ionic/p-BKc55Xev.js +0 -4
  509. package/dist/ionic/p-Bmgaetn_.js +0 -4
  510. package/dist/ionic/p-C8IsBmNU.js +0 -5
  511. package/dist/ionic/p-CJxh_yLS.js +0 -4
  512. package/dist/ionic/p-DUt5fQmA.js +0 -4
  513. package/dist/ionic/p-DZRJwG4S.js +0 -4
  514. package/dist/ionic/p-a127bee2.entry.js +0 -4
  515. package/dist/ionic/p-b3d44509.entry.js +0 -4
  516. package/dist/ionic/p-cc45bcbc.entry.js +0 -4
  517. package/dist/ionic/p-d0a2a1ab.entry.js +0 -4
  518. package/dist/ionic/p-d3014190.entry.js +0 -4
  519. package/dist/ionic/p-db82892c.entry.js +0 -4
  520. package/dist/ionic/p-e1d1f3cc.entry.js +0 -4
@@ -1,305 +1,4 @@
1
1
  /*!
2
2
  * (C) Ionic http://ionicframework.com - MIT License
3
3
  */
4
- import { proxyCustomElement, HTMLElement, forceUpdate, h, Host } from '@stencil/core/internal/client';
5
- import { d as inheritAttributes, r as raf } from './helpers.js';
6
- import { h as hostContext, c as createColorClasses, o as openURL } from './theme.js';
7
- import { g as chevronForward } from './index6.js';
8
- import { b as getIonMode } from './ionic-global.js';
9
- import { d as defineCustomElement$2 } from './icon.js';
10
- import { d as defineCustomElement$1 } from './ripple-effect.js';
11
-
12
- const itemIosCss = ":host{--border-radius:0px;--border-width:0px;--border-style:solid;--padding-top:0px;--padding-bottom:0px;--padding-end:0px;--padding-start:0px;--inner-border-width:0px;--inner-padding-top:0px;--inner-padding-bottom:0px;--inner-padding-start:0px;--inner-padding-end:0px;--inner-box-shadow:none;--detail-icon-color:initial;--detail-icon-font-size:1.25em;--detail-icon-opacity:0.25;--color-activated:var(--color);--color-focused:var(--color);--color-hover:var(--color);--ripple-color:currentColor;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;display:block;position:relative;-ms-flex-align:center;align-items:center;-ms-flex-pack:justify;justify-content:space-between;outline:none;color:var(--color);font-family:var(--ion-font-family, inherit);text-align:initial;text-decoration:none;overflow:hidden;-webkit-box-sizing:border-box;box-sizing:border-box}:host(.ion-color) .item-native{background:var(--ion-color-base);color:var(--ion-color-contrast)}:host(.ion-color) .item-native,:host(.ion-color) .item-inner{border-color:var(--ion-color-shade)}:host(.ion-activated) .item-native{color:var(--color-activated)}:host(.ion-activated) .item-native::after{background:var(--background-activated);opacity:var(--background-activated-opacity)}:host(.ion-color.ion-activated) .item-native{color:var(--ion-color-contrast)}:host(.ion-focused) .item-native{color:var(--color-focused)}:host(.ion-focused) .item-native::after{background:var(--background-focused);opacity:var(--background-focused-opacity)}:host(.ion-color.ion-focused) .item-native{color:var(--ion-color-contrast)}:host(.ion-color.ion-focused) .item-native::after{background:var(--ion-color-contrast)}@media (any-hover: hover){:host(.ion-activatable:not(.ion-focused):hover) .item-native{color:var(--color-hover)}:host(.ion-activatable:not(.ion-focused):hover) .item-native::after{background:var(--background-hover);opacity:var(--background-hover-opacity)}:host(.ion-color.ion-activatable:not(.ion-focused):hover) .item-native{color:var(--ion-color-contrast)}:host(.ion-color.ion-activatable:not(.ion-focused):hover) .item-native::after{background:var(--ion-color-contrast)}}:host(.item-control-needs-pointer-cursor){cursor:pointer}:host(.item-interactive-disabled:not(.item-multiple-inputs)){cursor:default;pointer-events:none}:host(.item-disabled){cursor:default;opacity:0.3;pointer-events:none}.item-native{border-radius:var(--border-radius);margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;padding-top:var(--padding-top);padding-bottom:var(--padding-bottom);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;padding-right:var(--padding-end);padding-left:calc(var(--padding-start) + var(--ion-safe-area-left, 0px));display:-ms-flexbox;display:flex;position:relative;-ms-flex-align:inherit;align-items:inherit;-ms-flex-pack:inherit;justify-content:inherit;width:100%;min-height:var(--min-height);-webkit-transition:var(--transition);transition:var(--transition);border-width:var(--border-width);border-style:var(--border-style);border-color:var(--border-color);outline:none;background:var(--background);overflow:inherit;z-index:1;-webkit-box-sizing:border-box;box-sizing:border-box}:host-context([dir=rtl]) .item-native{padding-right:calc(var(--padding-start) + var(--ion-safe-area-right, 0px));padding-left:var(--padding-end)}[dir=rtl] .item-native{padding-right:calc(var(--padding-start) + var(--ion-safe-area-right, 0px));padding-left:var(--padding-end)}@supports selector(:dir(rtl)){.item-native:dir(rtl){padding-right:calc(var(--padding-start) + var(--ion-safe-area-right, 0px));padding-left:var(--padding-end)}}.item-native::-moz-focus-inner{border:0}.item-native::after{left:0;right:0;top:0;bottom:0;position:absolute;content:\"\";opacity:0;-webkit-transition:var(--transition);transition:var(--transition);z-index:-1}button,a{cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-user-drag:none}.item-inner{margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;padding-top:var(--inner-padding-top);padding-bottom:var(--inner-padding-bottom);padding-right:calc(var(--ion-safe-area-right, 0px) + var(--inner-padding-end));padding-left:var(--inner-padding-start);display:-ms-flexbox;display:flex;position:relative;-ms-flex:1;flex:1;-ms-flex-direction:inherit;flex-direction:inherit;-ms-flex-align:inherit;align-items:inherit;-ms-flex-item-align:stretch;align-self:stretch;min-height:inherit;border-width:var(--inner-border-width);border-style:var(--border-style);border-color:var(--border-color);-webkit-box-shadow:var(--inner-box-shadow);box-shadow:var(--inner-box-shadow);overflow:inherit;-webkit-box-sizing:border-box;box-sizing:border-box}:host-context([dir=rtl]) .item-inner{padding-right:var(--inner-padding-start);padding-left:calc(var(--ion-safe-area-left, 0px) + var(--inner-padding-end))}[dir=rtl] .item-inner{padding-right:var(--inner-padding-start);padding-left:calc(var(--ion-safe-area-left, 0px) + var(--inner-padding-end))}@supports selector(:dir(rtl)){.item-inner:dir(rtl){padding-right:var(--inner-padding-start);padding-left:calc(var(--ion-safe-area-left, 0px) + var(--inner-padding-end))}}.item-detail-icon{-webkit-margin-start:calc(var(--inner-padding-end) / 2);margin-inline-start:calc(var(--inner-padding-end) / 2);-webkit-margin-end:-6px;margin-inline-end:-6px;color:var(--detail-icon-color);font-size:var(--detail-icon-font-size);opacity:var(--detail-icon-opacity)}::slotted(ion-icon){font-size:1.6em}::slotted(ion-button){--margin-top:0;--margin-bottom:0;--margin-start:0;--margin-end:0;z-index:1}::slotted(ion-label:not([slot=end])){-ms-flex:1;flex:1;width:-webkit-min-content;width:-moz-min-content;width:min-content;max-width:100%}:host(.item-input){-ms-flex-align:center;align-items:center}.input-wrapper{display:-ms-flexbox;display:flex;-ms-flex:1;flex:1;-ms-flex-direction:inherit;flex-direction:inherit;-ms-flex-align:inherit;align-items:inherit;-ms-flex-item-align:stretch;align-self:stretch;text-overflow:ellipsis;overflow:inherit;-webkit-box-sizing:border-box;box-sizing:border-box}:host(.item-label-stacked),:host(.item-label-floating){-ms-flex-align:start;align-items:start}:host(.item-label-stacked) .input-wrapper,:host(.item-label-floating) .input-wrapper{-ms-flex:1;flex:1;-ms-flex-direction:column;flex-direction:column}:host(.item-multiple-inputs) ::slotted(ion-checkbox),:host(.item-multiple-inputs) ::slotted(ion-datetime),:host(.item-multiple-inputs) ::slotted(ion-radio){position:relative}:host(.item-textarea){-ms-flex-align:stretch;align-items:stretch}::slotted(ion-reorder[slot]){margin-top:0;margin-bottom:0}ion-ripple-effect{color:var(--ripple-color)}:host{--min-height:44px;--transition:background-color 200ms linear, opacity 200ms linear;--padding-start:16px;--inner-padding-end:16px;--inner-border-width:0px 0px 0.55px 0px;--background:var(--ion-item-background, var(--ion-background-color, #fff));--background-activated:var(--ion-text-color, #000);--background-focused:var(--ion-text-color, #000);--background-hover:currentColor;--background-activated-opacity:.12;--background-focused-opacity:.15;--background-hover-opacity:.04;--border-color:var(--ion-item-border-color, var(--ion-border-color, var(--ion-color-step-250, var(--ion-background-color-step-250, #c8c7cc))));--color:var(--ion-item-color, var(--ion-text-color, #000));font-size:1rem}:host(.ion-activated){--transition:none}:host(.ion-color.ion-focused) .item-native::after{background:#000;opacity:0.15}:host(.ion-color.ion-activated) .item-native::after{background:#000;opacity:0.12}:host(.item-lines-full){--border-width:0px 0px 0.55px 0px}:host(.item-lines-inset){--inner-border-width:0px 0px 0.55px 0px}:host(.item-lines-inset),:host(.item-lines-none){--border-width:0px}:host(.item-lines-full),:host(.item-lines-none){--inner-border-width:0px}::slotted([slot=start]){-webkit-margin-start:0;margin-inline-start:0;-webkit-margin-end:16px;margin-inline-end:16px;margin-top:2px;margin-bottom:2px}::slotted(ion-icon[slot=start]),::slotted(ion-icon[slot=end]){margin-top:7px;margin-bottom:7px}::slotted(ion-toggle[slot=start]),::slotted(ion-toggle[slot=end]){margin-left:0;margin-right:0;margin-top:0;margin-bottom:0}:host(.item-label-stacked) ::slotted([slot=end]),:host(.item-label-floating) ::slotted([slot=end]){margin-top:7px;margin-bottom:7px}::slotted(.button-small){--padding-top:1px;--padding-bottom:1px;--padding-start:.5em;--padding-end:.5em;min-height:24px;font-size:0.8125rem}::slotted(ion-avatar){width:36px;height:36px}::slotted(ion-thumbnail){--size:56px}::slotted(ion-avatar[slot=end]),::slotted(ion-thumbnail[slot=end]){-webkit-margin-start:8px;margin-inline-start:8px;-webkit-margin-end:8px;margin-inline-end:8px;margin-top:8px;margin-bottom:8px}:host(.item-radio) ::slotted(ion-label),:host(.item-toggle) ::slotted(ion-label){-webkit-margin-start:0px;margin-inline-start:0px}::slotted(ion-label){-webkit-margin-start:0;margin-inline-start:0;-webkit-margin-end:8px;margin-inline-end:8px;margin-top:10px;margin-bottom:10px}:host(.item-label-floating),:host(.item-label-stacked){--min-height:68px}";
13
-
14
- const itemMdCss = ":host{--border-radius:0px;--border-width:0px;--border-style:solid;--padding-top:0px;--padding-bottom:0px;--padding-end:0px;--padding-start:0px;--inner-border-width:0px;--inner-padding-top:0px;--inner-padding-bottom:0px;--inner-padding-start:0px;--inner-padding-end:0px;--inner-box-shadow:none;--detail-icon-color:initial;--detail-icon-font-size:1.25em;--detail-icon-opacity:0.25;--color-activated:var(--color);--color-focused:var(--color);--color-hover:var(--color);--ripple-color:currentColor;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;display:block;position:relative;-ms-flex-align:center;align-items:center;-ms-flex-pack:justify;justify-content:space-between;outline:none;color:var(--color);font-family:var(--ion-font-family, inherit);text-align:initial;text-decoration:none;overflow:hidden;-webkit-box-sizing:border-box;box-sizing:border-box}:host(.ion-color) .item-native{background:var(--ion-color-base);color:var(--ion-color-contrast)}:host(.ion-color) .item-native,:host(.ion-color) .item-inner{border-color:var(--ion-color-shade)}:host(.ion-activated) .item-native{color:var(--color-activated)}:host(.ion-activated) .item-native::after{background:var(--background-activated);opacity:var(--background-activated-opacity)}:host(.ion-color.ion-activated) .item-native{color:var(--ion-color-contrast)}:host(.ion-focused) .item-native{color:var(--color-focused)}:host(.ion-focused) .item-native::after{background:var(--background-focused);opacity:var(--background-focused-opacity)}:host(.ion-color.ion-focused) .item-native{color:var(--ion-color-contrast)}:host(.ion-color.ion-focused) .item-native::after{background:var(--ion-color-contrast)}@media (any-hover: hover){:host(.ion-activatable:not(.ion-focused):hover) .item-native{color:var(--color-hover)}:host(.ion-activatable:not(.ion-focused):hover) .item-native::after{background:var(--background-hover);opacity:var(--background-hover-opacity)}:host(.ion-color.ion-activatable:not(.ion-focused):hover) .item-native{color:var(--ion-color-contrast)}:host(.ion-color.ion-activatable:not(.ion-focused):hover) .item-native::after{background:var(--ion-color-contrast)}}:host(.item-control-needs-pointer-cursor){cursor:pointer}:host(.item-interactive-disabled:not(.item-multiple-inputs)){cursor:default;pointer-events:none}:host(.item-disabled){cursor:default;opacity:0.3;pointer-events:none}.item-native{border-radius:var(--border-radius);margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;padding-top:var(--padding-top);padding-bottom:var(--padding-bottom);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;padding-right:var(--padding-end);padding-left:calc(var(--padding-start) + var(--ion-safe-area-left, 0px));display:-ms-flexbox;display:flex;position:relative;-ms-flex-align:inherit;align-items:inherit;-ms-flex-pack:inherit;justify-content:inherit;width:100%;min-height:var(--min-height);-webkit-transition:var(--transition);transition:var(--transition);border-width:var(--border-width);border-style:var(--border-style);border-color:var(--border-color);outline:none;background:var(--background);overflow:inherit;z-index:1;-webkit-box-sizing:border-box;box-sizing:border-box}:host-context([dir=rtl]) .item-native{padding-right:calc(var(--padding-start) + var(--ion-safe-area-right, 0px));padding-left:var(--padding-end)}[dir=rtl] .item-native{padding-right:calc(var(--padding-start) + var(--ion-safe-area-right, 0px));padding-left:var(--padding-end)}@supports selector(:dir(rtl)){.item-native:dir(rtl){padding-right:calc(var(--padding-start) + var(--ion-safe-area-right, 0px));padding-left:var(--padding-end)}}.item-native::-moz-focus-inner{border:0}.item-native::after{left:0;right:0;top:0;bottom:0;position:absolute;content:\"\";opacity:0;-webkit-transition:var(--transition);transition:var(--transition);z-index:-1}button,a{cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-user-drag:none}.item-inner{margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;padding-top:var(--inner-padding-top);padding-bottom:var(--inner-padding-bottom);padding-right:calc(var(--ion-safe-area-right, 0px) + var(--inner-padding-end));padding-left:var(--inner-padding-start);display:-ms-flexbox;display:flex;position:relative;-ms-flex:1;flex:1;-ms-flex-direction:inherit;flex-direction:inherit;-ms-flex-align:inherit;align-items:inherit;-ms-flex-item-align:stretch;align-self:stretch;min-height:inherit;border-width:var(--inner-border-width);border-style:var(--border-style);border-color:var(--border-color);-webkit-box-shadow:var(--inner-box-shadow);box-shadow:var(--inner-box-shadow);overflow:inherit;-webkit-box-sizing:border-box;box-sizing:border-box}:host-context([dir=rtl]) .item-inner{padding-right:var(--inner-padding-start);padding-left:calc(var(--ion-safe-area-left, 0px) + var(--inner-padding-end))}[dir=rtl] .item-inner{padding-right:var(--inner-padding-start);padding-left:calc(var(--ion-safe-area-left, 0px) + var(--inner-padding-end))}@supports selector(:dir(rtl)){.item-inner:dir(rtl){padding-right:var(--inner-padding-start);padding-left:calc(var(--ion-safe-area-left, 0px) + var(--inner-padding-end))}}.item-detail-icon{-webkit-margin-start:calc(var(--inner-padding-end) / 2);margin-inline-start:calc(var(--inner-padding-end) / 2);-webkit-margin-end:-6px;margin-inline-end:-6px;color:var(--detail-icon-color);font-size:var(--detail-icon-font-size);opacity:var(--detail-icon-opacity)}::slotted(ion-icon){font-size:1.6em}::slotted(ion-button){--margin-top:0;--margin-bottom:0;--margin-start:0;--margin-end:0;z-index:1}::slotted(ion-label:not([slot=end])){-ms-flex:1;flex:1;width:-webkit-min-content;width:-moz-min-content;width:min-content;max-width:100%}:host(.item-input){-ms-flex-align:center;align-items:center}.input-wrapper{display:-ms-flexbox;display:flex;-ms-flex:1;flex:1;-ms-flex-direction:inherit;flex-direction:inherit;-ms-flex-align:inherit;align-items:inherit;-ms-flex-item-align:stretch;align-self:stretch;text-overflow:ellipsis;overflow:inherit;-webkit-box-sizing:border-box;box-sizing:border-box}:host(.item-label-stacked),:host(.item-label-floating){-ms-flex-align:start;align-items:start}:host(.item-label-stacked) .input-wrapper,:host(.item-label-floating) .input-wrapper{-ms-flex:1;flex:1;-ms-flex-direction:column;flex-direction:column}:host(.item-multiple-inputs) ::slotted(ion-checkbox),:host(.item-multiple-inputs) ::slotted(ion-datetime),:host(.item-multiple-inputs) ::slotted(ion-radio){position:relative}:host(.item-textarea){-ms-flex-align:stretch;align-items:stretch}::slotted(ion-reorder[slot]){margin-top:0;margin-bottom:0}ion-ripple-effect{color:var(--ripple-color)}:host{--min-height:48px;--background:var(--ion-item-background, var(--ion-background-color, #fff));--background-activated:transparent;--background-focused:currentColor;--background-hover:currentColor;--background-activated-opacity:0;--background-focused-opacity:.12;--background-hover-opacity:.04;--border-color:var(--ion-item-border-color, var(--ion-border-color, var(--ion-color-step-150, var(--ion-background-color-step-150, rgba(0, 0, 0, 0.13)))));--color:var(--ion-item-color, var(--ion-text-color, #000));--transition:opacity 15ms linear, background-color 15ms linear;--padding-start:16px;--inner-padding-end:16px;--inner-border-width:0 0 1px 0;font-size:1rem;font-weight:normal;text-transform:none}:host(.ion-color.ion-activated) .item-native::after{background:transparent}:host(.item-interactive){--border-width:0 0 1px 0;--inner-border-width:0}:host(.item-lines-full){--border-width:0 0 1px 0}:host(.item-lines-inset){--inner-border-width:0 0 1px 0}:host(.item-lines-inset),:host(.item-lines-none){--border-width:0}:host(.item-lines-full),:host(.item-lines-none){--inner-border-width:0}:host(.item-multi-line) ::slotted([slot=start]),:host(.item-multi-line) ::slotted([slot=end]){margin-top:16px;margin-bottom:16px;-ms-flex-item-align:start;align-self:flex-start}::slotted([slot=start]){-webkit-margin-end:16px;margin-inline-end:16px}::slotted([slot=end]){-webkit-margin-start:16px;margin-inline-start:16px}::slotted(ion-icon){color:rgba(var(--ion-text-color-rgb, 0, 0, 0), 0.54);font-size:1.5em}:host(.ion-color) ::slotted(ion-icon){color:var(--ion-color-contrast)}::slotted(ion-icon[slot]){margin-top:12px;margin-bottom:12px}::slotted(ion-icon[slot=start]){-webkit-margin-end:32px;margin-inline-end:32px}::slotted(ion-icon[slot=end]){-webkit-margin-start:16px;margin-inline-start:16px}::slotted(ion-toggle[slot=start]),::slotted(ion-toggle[slot=end]){margin-left:0;margin-right:0;margin-top:0;margin-bottom:0}::slotted(ion-note){margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;-ms-flex-item-align:start;align-self:flex-start;font-size:0.6875rem}::slotted(ion-note[slot]){padding-left:0;padding-right:0;padding-top:18px;padding-bottom:10px}::slotted(ion-avatar){width:40px;height:40px}::slotted(ion-thumbnail){--size:56px}::slotted(ion-avatar),::slotted(ion-thumbnail){margin-top:8px;margin-bottom:8px}::slotted(ion-avatar[slot=start]),::slotted(ion-thumbnail[slot=start]){-webkit-margin-end:16px;margin-inline-end:16px}::slotted(ion-avatar[slot=end]),::slotted(ion-thumbnail[slot=end]){-webkit-margin-start:16px;margin-inline-start:16px}::slotted(ion-label){margin-left:0;margin-right:0;margin-top:10px;margin-bottom:10px}:host(.item-label-stacked) ::slotted([slot=end]),:host(.item-label-floating) ::slotted([slot=end]){margin-top:7px;margin-bottom:7px}:host(.item-toggle) ::slotted(ion-label),:host(.item-radio) ::slotted(ion-label){-webkit-margin-start:0;margin-inline-start:0}::slotted(.button-small){--padding-top:2px;--padding-bottom:2px;--padding-start:.6em;--padding-end:.6em;min-height:25px;font-size:0.75rem}:host(.item-label-floating),:host(.item-label-stacked){--min-height:55px}:host(.ion-focused:not(.ion-color)) ::slotted(.label-stacked),:host(.ion-focused:not(.ion-color)) ::slotted(.label-floating),:host(.item-has-focus:not(.ion-color)) ::slotted(.label-stacked),:host(.item-has-focus:not(.ion-color)) ::slotted(.label-floating){color:var(--ion-color-primary, #0054e9)}";
15
-
16
- const Item = /*@__PURE__*/ proxyCustomElement(class Item extends HTMLElement {
17
- constructor(registerHost) {
18
- super();
19
- if (registerHost !== false) {
20
- this.__registerHost();
21
- }
22
- this.__attachShadow();
23
- this.labelColorStyles = {};
24
- this.itemStyles = new Map();
25
- this.inheritedAriaAttributes = {};
26
- this.multipleInputs = false;
27
- this.focusable = true;
28
- this.isInteractive = false;
29
- /**
30
- * If `true`, a button tag will be rendered and the item will be tappable.
31
- */
32
- this.button = false;
33
- /**
34
- * The icon to use when `detail` is set to `true`.
35
- */
36
- this.detailIcon = chevronForward;
37
- /**
38
- * If `true`, the user cannot interact with the item.
39
- */
40
- this.disabled = false;
41
- /**
42
- * When using a router, it specifies the transition direction when navigating to
43
- * another page using `href`.
44
- */
45
- this.routerDirection = 'forward';
46
- /**
47
- * The type of the button. Only used when an `onclick` or `button` property is present.
48
- */
49
- this.type = 'button';
50
- // slot change listener updates state to reflect how/if item should be interactive
51
- this.updateInteractivityOnSlotChange = () => {
52
- this.setIsInteractive();
53
- this.setMultipleInputs();
54
- };
55
- }
56
- buttonChanged() {
57
- // Update the focusable option when the button option is changed
58
- this.focusable = this.isFocusable();
59
- }
60
- labelColorChanged(ev) {
61
- const { color } = this;
62
- // There will be a conflict with item color if
63
- // we apply the label color to item, so we ignore
64
- // the label color if the user sets a color on item
65
- if (color === undefined) {
66
- this.labelColorStyles = ev.detail;
67
- }
68
- }
69
- itemStyle(ev) {
70
- ev.stopPropagation();
71
- const tagName = ev.target.tagName;
72
- const updatedStyles = ev.detail;
73
- const newStyles = {};
74
- const childStyles = this.itemStyles.get(tagName) || {};
75
- let hasStyleChange = false;
76
- Object.keys(updatedStyles).forEach((key) => {
77
- if (updatedStyles[key]) {
78
- const itemKey = `item-${key}`;
79
- if (!childStyles[itemKey]) {
80
- hasStyleChange = true;
81
- }
82
- newStyles[itemKey] = true;
83
- }
84
- });
85
- if (!hasStyleChange && Object.keys(newStyles).length !== Object.keys(childStyles).length) {
86
- hasStyleChange = true;
87
- }
88
- if (hasStyleChange) {
89
- this.itemStyles.set(tagName, newStyles);
90
- forceUpdate(this);
91
- }
92
- }
93
- connectedCallback() {
94
- this.hasStartEl();
95
- }
96
- componentWillLoad() {
97
- this.inheritedAriaAttributes = inheritAttributes(this.el, ['aria-label']);
98
- }
99
- componentDidLoad() {
100
- raf(() => {
101
- this.setMultipleInputs();
102
- this.setIsInteractive();
103
- this.focusable = this.isFocusable();
104
- });
105
- }
106
- totalNestedInputs() {
107
- // The following elements have a clickable cover that is relative to the entire item
108
- const covers = this.el.querySelectorAll('ion-checkbox, ion-datetime, ion-select, ion-radio');
109
- // The following elements can accept focus alongside the previous elements
110
- // therefore if these elements are also a child of item, we don't want the
111
- // input cover on top of those interfering with their clicks
112
- const inputs = this.el.querySelectorAll('ion-input, ion-range, ion-searchbar, ion-segment, ion-textarea, ion-toggle');
113
- // The following elements should also stay clickable when an input with cover is present
114
- const clickables = this.el.querySelectorAll('ion-router-link, ion-button, a, button');
115
- return {
116
- covers,
117
- inputs,
118
- clickables,
119
- };
120
- }
121
- // If the item contains multiple clickable elements and/or inputs, then the item
122
- // should not have a clickable input cover over the entire item to prevent
123
- // interfering with their individual click events
124
- setMultipleInputs() {
125
- const { covers, inputs, clickables } = this.totalNestedInputs();
126
- // Check for multiple inputs to change the position of the input cover to relative
127
- // for all of the covered inputs above
128
- this.multipleInputs =
129
- covers.length + inputs.length > 1 ||
130
- covers.length + clickables.length > 1 ||
131
- (covers.length > 0 && this.isClickable());
132
- }
133
- setIsInteractive() {
134
- // If item contains any interactive children, set isInteractive to `true`
135
- const { covers, inputs, clickables } = this.totalNestedInputs();
136
- this.isInteractive = covers.length > 0 || inputs.length > 0 || clickables.length > 0;
137
- }
138
- // If the item contains an input including a checkbox, datetime, select, or radio
139
- // then the item will have a clickable input cover that covers the item
140
- // that should get the hover, focused and activated states UNLESS it has multiple
141
- // inputs, then those need to individually get each click
142
- hasCover() {
143
- const inputs = this.el.querySelectorAll('ion-checkbox, ion-datetime, ion-select, ion-radio');
144
- return inputs.length === 1 && !this.multipleInputs;
145
- }
146
- // If the item has an href or button property it will render a native
147
- // anchor or button that is clickable
148
- isClickable() {
149
- return this.href !== undefined || this.button;
150
- }
151
- canActivate() {
152
- return this.isClickable() || this.hasCover();
153
- }
154
- isFocusable() {
155
- const focusableChild = this.el.querySelector('.ion-focusable');
156
- return this.canActivate() || focusableChild !== null;
157
- }
158
- hasStartEl() {
159
- const startEl = this.el.querySelector('[slot="start"]');
160
- if (startEl !== null) {
161
- this.el.classList.add('item-has-start-slot');
162
- }
163
- }
164
- getFirstInteractive() {
165
- const controls = this.el.querySelectorAll('ion-toggle:not([disabled]), ion-checkbox:not([disabled]), ion-radio:not([disabled]), ion-select:not([disabled]), ion-input:not([disabled]), ion-textarea:not([disabled])');
166
- return controls[0];
167
- }
168
- render() {
169
- const { detail, detailIcon, download, labelColorStyles, lines, disabled, href, rel, target, routerAnimation, routerDirection, inheritedAriaAttributes, multipleInputs, } = this;
170
- const childStyles = {};
171
- const mode = getIonMode(this);
172
- const clickable = this.isClickable();
173
- const canActivate = this.canActivate();
174
- const TagType = clickable ? (href === undefined ? 'button' : 'a') : 'div';
175
- const attrs = TagType === 'button'
176
- ? { type: this.type }
177
- : {
178
- download,
179
- href,
180
- rel,
181
- target,
182
- };
183
- let clickFn = {};
184
- const firstInteractive = this.getFirstInteractive();
185
- // Only set onClick if the item is clickable to prevent screen
186
- // readers from reading all items as clickable
187
- if (clickable || (firstInteractive !== undefined && !multipleInputs)) {
188
- clickFn = {
189
- onClick: (ev) => {
190
- if (clickable) {
191
- openURL(href, ev, routerDirection, routerAnimation);
192
- }
193
- if (firstInteractive !== undefined && !multipleInputs) {
194
- const path = ev.composedPath();
195
- const target = path[0];
196
- if (ev.isTrusted) {
197
- /**
198
- * Dispatches a click event to the first interactive element,
199
- * when it is the result of a user clicking on the item.
200
- *
201
- * We check if the click target is in the shadow root,
202
- * which means the user clicked on the .item-native or
203
- * .item-inner padding.
204
- */
205
- const clickedWithinShadowRoot = this.el.shadowRoot.contains(target);
206
- if (clickedWithinShadowRoot) {
207
- /**
208
- * For input/textarea clicking the padding should focus the
209
- * text field (thus making it editable). For everything else,
210
- * we want to click the control so it activates.
211
- */
212
- if (firstInteractive.tagName === 'ION-INPUT' || firstInteractive.tagName === 'ION-TEXTAREA') {
213
- firstInteractive.setFocus();
214
- }
215
- firstInteractive.click();
216
- /**
217
- * Stop the item event from being triggered
218
- * as the firstInteractive click event will also
219
- * trigger the item click event.
220
- */
221
- ev.stopImmediatePropagation();
222
- }
223
- }
224
- }
225
- },
226
- };
227
- }
228
- const showDetail = detail !== undefined ? detail : mode === 'ios' && clickable;
229
- this.itemStyles.forEach((value) => {
230
- Object.assign(childStyles, value);
231
- });
232
- const ariaDisabled = disabled || childStyles['item-interactive-disabled'] ? 'true' : null;
233
- const inList = hostContext('ion-list', this.el) && !hostContext('ion-radio-group', this.el);
234
- /**
235
- * Inputs and textareas do not need to show a cursor pointer.
236
- * However, other form controls such as checkboxes and radios do.
237
- */
238
- const firstInteractiveNeedsPointerCursor = firstInteractive !== undefined && !['ION-INPUT', 'ION-TEXTAREA'].includes(firstInteractive.tagName);
239
- return (h(Host, { key: '24b59935bd8db8b0b7f940582455a42b82cbf762', "aria-disabled": ariaDisabled, class: Object.assign(Object.assign(Object.assign({}, childStyles), labelColorStyles), createColorClasses(this.color, {
240
- item: true,
241
- [mode]: true,
242
- 'item-lines-default': lines === undefined,
243
- [`item-lines-${lines}`]: lines !== undefined,
244
- 'item-control-needs-pointer-cursor': firstInteractiveNeedsPointerCursor,
245
- 'item-disabled': disabled,
246
- 'in-list': inList,
247
- 'item-multiple-inputs': this.multipleInputs,
248
- 'ion-activatable': canActivate,
249
- 'ion-focusable': this.focusable,
250
- 'item-rtl': document.dir === 'rtl',
251
- })), role: inList ? 'listitem' : null }, h(TagType, Object.assign({ key: 'fd77b6e5f3eb2e1857a0cdd45562d71eabd30255' }, attrs, inheritedAriaAttributes, { class: "item-native", part: "native", disabled: disabled }, clickFn), h("slot", { key: '8824ac8395aafa3d63c92f2128e947cac8393ac4', name: "start", onSlotchange: this.updateInteractivityOnSlotChange }), h("div", { key: '5c9127e388a432687766d86a9db91fd1663abf03', class: "item-inner" }, h("div", { key: '9dc2d2f58c4067c0143b3963334c346c3c7f77df', class: "input-wrapper" }, h("slot", { key: '8377d9e56dc4b1913f1346111b706e7f14c24d30', onSlotchange: this.updateInteractivityOnSlotChange })), h("slot", { key: 'bc771e106174f4a84ee12e92d14df81ad7ed177d', name: "end", onSlotchange: this.updateInteractivityOnSlotChange }), showDetail && (h("ion-icon", { key: '45336d121a097cbf71ee8a3f6b554745ba5e0bbf', icon: detailIcon, lazy: false, class: "item-detail-icon", part: "detail-icon", "aria-hidden": "true", "flip-rtl": detailIcon === chevronForward }))), canActivate && mode === 'md' && h("ion-ripple-effect", { key: '197e244ae3bffebfa6ac9bfe7658d12e1af0ecb1' }))));
252
- }
253
- get el() { return this; }
254
- static get watchers() { return {
255
- "button": ["buttonChanged"]
256
- }; }
257
- static get style() { return {
258
- ios: itemIosCss,
259
- md: itemMdCss
260
- }; }
261
- }, [289, "ion-item", {
262
- "color": [513],
263
- "button": [4],
264
- "detail": [4],
265
- "detailIcon": [1, "detail-icon"],
266
- "disabled": [516],
267
- "download": [1],
268
- "href": [1],
269
- "rel": [1],
270
- "lines": [1],
271
- "routerAnimation": [16],
272
- "routerDirection": [1, "router-direction"],
273
- "target": [1],
274
- "type": [1],
275
- "multipleInputs": [32],
276
- "focusable": [32],
277
- "isInteractive": [32]
278
- }, [[0, "ionColor", "labelColorChanged"], [0, "ionStyle", "itemStyle"]], {
279
- "button": ["buttonChanged"]
280
- }]);
281
- function defineCustomElement() {
282
- if (typeof customElements === "undefined") {
283
- return;
284
- }
285
- const components = ["ion-item", "ion-icon", "ion-ripple-effect"];
286
- components.forEach(tagName => { switch (tagName) {
287
- case "ion-item":
288
- if (!customElements.get(tagName)) {
289
- customElements.define(tagName, Item);
290
- }
291
- break;
292
- case "ion-icon":
293
- if (!customElements.get(tagName)) {
294
- defineCustomElement$2();
295
- }
296
- break;
297
- case "ion-ripple-effect":
298
- if (!customElements.get(tagName)) {
299
- defineCustomElement$1();
300
- }
301
- break;
302
- } });
303
- }
304
-
305
- export { Item as I, defineCustomElement as d };
4
+ import{proxyCustomElement as t,HTMLElement as i,forceUpdate as o,h as e,Host as n,transformTag as r}from"@stencil/core/internal/client";import{d as a,r as s}from"./helpers.js";import{h as l,c as d,o as c}from"./theme.js";import{g as p}from"./index6.js";import{b as m}from"./ionic-global.js";import{d as g}from"./icon.js";import{d as h}from"./ripple-effect.js";const b=t(class extends i{constructor(t){super(),!1!==t&&this.__registerHost(),this.__attachShadow(),this.labelColorStyles={},this.itemStyles=new Map,this.inheritedAriaAttributes={},this.multipleInputs=!1,this.focusable=!0,this.isInteractive=!1,this.button=!1,this.detailIcon=p,this.disabled=!1,this.routerDirection="forward",this.type="button",this.updateInteractivityOnSlotChange=()=>{this.setIsInteractive(),this.setMultipleInputs()}}buttonChanged(){this.focusable=this.isFocusable()}labelColorChanged(t){const{color:i}=this;void 0===i&&(this.labelColorStyles=t.detail)}itemStyle(t){t.stopPropagation();const i=t.target.tagName,e=t.detail,n={},r=this.itemStyles.get(i)||{};let a=!1;Object.keys(e).forEach((t=>{if(e[t]){const i=`item-${t}`;r[i]||(a=!0),n[i]=!0}})),a||Object.keys(n).length===Object.keys(r).length||(a=!0),a&&(this.itemStyles.set(i,n),o(this))}connectedCallback(){this.hasStartEl()}componentWillLoad(){this.inheritedAriaAttributes=a(this.el,["aria-label"])}componentDidLoad(){s((()=>{this.setMultipleInputs(),this.setIsInteractive(),this.focusable=this.isFocusable()}))}totalNestedInputs(){return{covers:this.el.querySelectorAll("ion-checkbox, ion-datetime, ion-select, ion-radio"),inputs:this.el.querySelectorAll("ion-input, ion-range, ion-searchbar, ion-segment, ion-textarea, ion-toggle"),clickables:this.el.querySelectorAll("ion-router-link, ion-button, a, button")}}setMultipleInputs(){const{covers:t,inputs:i,clickables:o}=this.totalNestedInputs();this.multipleInputs=t.length+i.length>1||t.length+o.length>1||t.length>0&&this.isClickable()}setIsInteractive(){const{covers:t,inputs:i,clickables:o}=this.totalNestedInputs();this.isInteractive=t.length>0||i.length>0||o.length>0}hasCover(){return 1===this.el.querySelectorAll("ion-checkbox, ion-datetime, ion-select, ion-radio").length&&!this.multipleInputs}isClickable(){return void 0!==this.href||this.button}canActivate(){return this.isClickable()||this.hasCover()}isFocusable(){const t=this.el.querySelector(".ion-focusable");return this.canActivate()||null!==t}hasStartEl(){null!==this.el.querySelector('[slot="start"]')&&this.el.classList.add("item-has-start-slot")}getFirstInteractive(){return this.el.querySelectorAll("ion-toggle:not([disabled]), ion-checkbox:not([disabled]), ion-radio:not([disabled]), ion-select:not([disabled]), ion-input:not([disabled]), ion-textarea:not([disabled])")[0]}render(){const{detail:t,detailIcon:i,download:o,labelColorStyles:r,lines:a,disabled:s,href:g,rel:h,target:b,routerAnimation:v,routerDirection:f,inheritedAriaAttributes:x,multipleInputs:u}=this,k={},w=m(this),y=this.isClickable(),z=this.canActivate(),j=y?void 0===g?"button":"a":"div",C="button"===j?{type:this.type}:{download:o,href:g,rel:h,target:b};let I={};const O=this.getFirstInteractive();(y||void 0!==O&&!u)&&(I={onClick:t=>{if(y&&c(g,t,f,v),void 0!==O&&!u){const i=t.composedPath();t.isTrusted&&this.el.shadowRoot.contains(i[0])&&("ION-INPUT"!==O.tagName&&"ION-TEXTAREA"!==O.tagName||O.setFocus(),O.click(),t.stopImmediatePropagation())}}});const E=void 0!==t?t:"ios"===w&&y;this.itemStyles.forEach((t=>{Object.assign(k,t)}));const A=s||k["item-interactive-disabled"]?"true":null,S=l("ion-list",this.el)&&!l("ion-radio-group",this.el),N=void 0!==O&&!["ION-INPUT","ION-TEXTAREA"].includes(O.tagName);return e(n,{key:"24b59935bd8db8b0b7f940582455a42b82cbf762","aria-disabled":A,class:Object.assign(Object.assign(Object.assign({},k),r),d(this.color,{item:!0,[w]:!0,"item-lines-default":void 0===a,[`item-lines-${a}`]:void 0!==a,"item-control-needs-pointer-cursor":N,"item-disabled":s,"in-list":S,"item-multiple-inputs":this.multipleInputs,"ion-activatable":z,"ion-focusable":this.focusable,"item-rtl":"rtl"===document.dir})),role:S?"listitem":null},e(j,Object.assign({key:"fd77b6e5f3eb2e1857a0cdd45562d71eabd30255"},C,x,{class:"item-native",part:"native",disabled:s},I),e("slot",{key:"8824ac8395aafa3d63c92f2128e947cac8393ac4",name:"start",onSlotchange:this.updateInteractivityOnSlotChange}),e("div",{key:"5c9127e388a432687766d86a9db91fd1663abf03",class:"item-inner"},e("div",{key:"9dc2d2f58c4067c0143b3963334c346c3c7f77df",class:"input-wrapper"},e("slot",{key:"8377d9e56dc4b1913f1346111b706e7f14c24d30",onSlotchange:this.updateInteractivityOnSlotChange})),e("slot",{key:"bc771e106174f4a84ee12e92d14df81ad7ed177d",name:"end",onSlotchange:this.updateInteractivityOnSlotChange}),E&&e("ion-icon",{key:"45336d121a097cbf71ee8a3f6b554745ba5e0bbf",icon:i,lazy:!1,class:"item-detail-icon",part:"detail-icon","aria-hidden":"true","flip-rtl":i===p})),z&&"md"===w&&e("ion-ripple-effect",{key:"197e244ae3bffebfa6ac9bfe7658d12e1af0ecb1"})))}get el(){return this}static get watchers(){return{button:[{buttonChanged:0}]}}static get style(){return{ios:':host{--border-radius:0px;--border-width:0px;--border-style:solid;--padding-top:0px;--padding-bottom:0px;--padding-end:0px;--padding-start:0px;--inner-border-width:0px;--inner-padding-top:0px;--inner-padding-bottom:0px;--inner-padding-start:0px;--inner-padding-end:0px;--inner-box-shadow:none;--detail-icon-color:initial;--detail-icon-font-size:1.25em;--detail-icon-opacity:0.25;--color-activated:var(--color);--color-focused:var(--color);--color-hover:var(--color);--ripple-color:currentColor;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;display:block;position:relative;-ms-flex-align:center;align-items:center;-ms-flex-pack:justify;justify-content:space-between;outline:none;color:var(--color);font-family:var(--ion-font-family, inherit);text-align:initial;text-decoration:none;overflow:hidden;-webkit-box-sizing:border-box;box-sizing:border-box}:host(.ion-color) .item-native{background:var(--ion-color-base);color:var(--ion-color-contrast)}:host(.ion-color) .item-native,:host(.ion-color) .item-inner{border-color:var(--ion-color-shade)}:host(.ion-activated) .item-native{color:var(--color-activated)}:host(.ion-activated) .item-native::after{background:var(--background-activated);opacity:var(--background-activated-opacity)}:host(.ion-color.ion-activated) .item-native{color:var(--ion-color-contrast)}:host(.ion-focused) .item-native{color:var(--color-focused)}:host(.ion-focused) .item-native::after{background:var(--background-focused);opacity:var(--background-focused-opacity)}:host(.ion-color.ion-focused) .item-native{color:var(--ion-color-contrast)}:host(.ion-color.ion-focused) .item-native::after{background:var(--ion-color-contrast)}@media (any-hover: hover){:host(.ion-activatable:not(.ion-focused):hover) .item-native{color:var(--color-hover)}:host(.ion-activatable:not(.ion-focused):hover) .item-native::after{background:var(--background-hover);opacity:var(--background-hover-opacity)}:host(.ion-color.ion-activatable:not(.ion-focused):hover) .item-native{color:var(--ion-color-contrast)}:host(.ion-color.ion-activatable:not(.ion-focused):hover) .item-native::after{background:var(--ion-color-contrast)}}:host(.item-control-needs-pointer-cursor){cursor:pointer}:host(.item-interactive-disabled:not(.item-multiple-inputs)){cursor:default;pointer-events:none}:host(.item-disabled){cursor:default;opacity:0.3;pointer-events:none}.item-native{border-radius:var(--border-radius);margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;padding-top:var(--padding-top);padding-bottom:var(--padding-bottom);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;padding-right:var(--padding-end);padding-left:calc(var(--padding-start) + var(--ion-safe-area-left, 0px));display:-ms-flexbox;display:flex;position:relative;-ms-flex-align:inherit;align-items:inherit;-ms-flex-pack:inherit;justify-content:inherit;width:100%;min-height:var(--min-height);-webkit-transition:var(--transition);transition:var(--transition);border-width:var(--border-width);border-style:var(--border-style);border-color:var(--border-color);outline:none;background:var(--background);overflow:inherit;z-index:1;-webkit-box-sizing:border-box;box-sizing:border-box}:host-context([dir=rtl]) .item-native{padding-right:calc(var(--padding-start) + var(--ion-safe-area-right, 0px));padding-left:var(--padding-end)}[dir=rtl] .item-native{padding-right:calc(var(--padding-start) + var(--ion-safe-area-right, 0px));padding-left:var(--padding-end)}@supports selector(:dir(rtl)){.item-native:dir(rtl){padding-right:calc(var(--padding-start) + var(--ion-safe-area-right, 0px));padding-left:var(--padding-end)}}.item-native::-moz-focus-inner{border:0}.item-native::after{left:0;right:0;top:0;bottom:0;position:absolute;content:"";opacity:0;-webkit-transition:var(--transition);transition:var(--transition);z-index:-1}button,a{cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-user-drag:none}.item-inner{margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;padding-top:var(--inner-padding-top);padding-bottom:var(--inner-padding-bottom);padding-right:calc(var(--ion-safe-area-right, 0px) + var(--inner-padding-end));padding-left:var(--inner-padding-start);display:-ms-flexbox;display:flex;position:relative;-ms-flex:1;flex:1;-ms-flex-direction:inherit;flex-direction:inherit;-ms-flex-align:inherit;align-items:inherit;-ms-flex-item-align:stretch;align-self:stretch;min-height:inherit;border-width:var(--inner-border-width);border-style:var(--border-style);border-color:var(--border-color);-webkit-box-shadow:var(--inner-box-shadow);box-shadow:var(--inner-box-shadow);overflow:inherit;-webkit-box-sizing:border-box;box-sizing:border-box}:host-context([dir=rtl]) .item-inner{padding-right:var(--inner-padding-start);padding-left:calc(var(--ion-safe-area-left, 0px) + var(--inner-padding-end))}[dir=rtl] .item-inner{padding-right:var(--inner-padding-start);padding-left:calc(var(--ion-safe-area-left, 0px) + var(--inner-padding-end))}@supports selector(:dir(rtl)){.item-inner:dir(rtl){padding-right:var(--inner-padding-start);padding-left:calc(var(--ion-safe-area-left, 0px) + var(--inner-padding-end))}}.item-detail-icon{-webkit-margin-start:calc(var(--inner-padding-end) / 2);margin-inline-start:calc(var(--inner-padding-end) / 2);-webkit-margin-end:-6px;margin-inline-end:-6px;color:var(--detail-icon-color);font-size:var(--detail-icon-font-size);opacity:var(--detail-icon-opacity)}::slotted(ion-icon){font-size:1.6em}::slotted(ion-button){--margin-top:0;--margin-bottom:0;--margin-start:0;--margin-end:0;z-index:1}::slotted(ion-label:not([slot=end])){-ms-flex:1;flex:1;width:-webkit-min-content;width:-moz-min-content;width:min-content;max-width:100%}:host(.item-input){-ms-flex-align:center;align-items:center}.input-wrapper{display:-ms-flexbox;display:flex;-ms-flex:1;flex:1;-ms-flex-direction:inherit;flex-direction:inherit;-ms-flex-align:inherit;align-items:inherit;-ms-flex-item-align:stretch;align-self:stretch;text-overflow:ellipsis;overflow:inherit;-webkit-box-sizing:border-box;box-sizing:border-box}:host(.item-label-stacked),:host(.item-label-floating){-ms-flex-align:start;align-items:start}:host(.item-label-stacked) .input-wrapper,:host(.item-label-floating) .input-wrapper{-ms-flex:1;flex:1;-ms-flex-direction:column;flex-direction:column}:host(.item-multiple-inputs) ::slotted(ion-checkbox),:host(.item-multiple-inputs) ::slotted(ion-datetime),:host(.item-multiple-inputs) ::slotted(ion-radio){position:relative}:host(.item-textarea){-ms-flex-align:stretch;align-items:stretch}::slotted(ion-reorder[slot]){margin-top:0;margin-bottom:0}ion-ripple-effect{color:var(--ripple-color)}:host{--min-height:44px;--transition:background-color 200ms linear, opacity 200ms linear;--padding-start:16px;--inner-padding-end:16px;--inner-border-width:0px 0px 0.55px 0px;--background:var(--ion-item-background, var(--ion-background-color, #fff));--background-activated:var(--ion-text-color, #000);--background-focused:var(--ion-text-color, #000);--background-hover:currentColor;--background-activated-opacity:.12;--background-focused-opacity:.15;--background-hover-opacity:.04;--border-color:var(--ion-item-border-color, var(--ion-border-color, var(--ion-color-step-250, var(--ion-background-color-step-250, #c8c7cc))));--color:var(--ion-item-color, var(--ion-text-color, #000));font-size:1rem}:host(.ion-activated){--transition:none}:host(.ion-color.ion-focused) .item-native::after{background:#000;opacity:0.15}:host(.ion-color.ion-activated) .item-native::after{background:#000;opacity:0.12}:host(.item-lines-full){--border-width:0px 0px 0.55px 0px}:host(.item-lines-inset){--inner-border-width:0px 0px 0.55px 0px}:host(.item-lines-inset),:host(.item-lines-none){--border-width:0px}:host(.item-lines-full),:host(.item-lines-none){--inner-border-width:0px}::slotted([slot=start]){-webkit-margin-start:0;margin-inline-start:0;-webkit-margin-end:16px;margin-inline-end:16px;margin-top:2px;margin-bottom:2px}::slotted(ion-icon[slot=start]),::slotted(ion-icon[slot=end]){margin-top:7px;margin-bottom:7px}::slotted(ion-toggle[slot=start]),::slotted(ion-toggle[slot=end]){margin-left:0;margin-right:0;margin-top:0;margin-bottom:0}:host(.item-label-stacked) ::slotted([slot=end]),:host(.item-label-floating) ::slotted([slot=end]){margin-top:7px;margin-bottom:7px}::slotted(.button-small){--padding-top:1px;--padding-bottom:1px;--padding-start:.5em;--padding-end:.5em;min-height:24px;font-size:0.8125rem}::slotted(ion-avatar){width:36px;height:36px}::slotted(ion-thumbnail){--size:56px}::slotted(ion-avatar[slot=end]),::slotted(ion-thumbnail[slot=end]){-webkit-margin-start:8px;margin-inline-start:8px;-webkit-margin-end:8px;margin-inline-end:8px;margin-top:8px;margin-bottom:8px}:host(.item-radio) ::slotted(ion-label),:host(.item-toggle) ::slotted(ion-label){-webkit-margin-start:0px;margin-inline-start:0px}::slotted(ion-label){-webkit-margin-start:0;margin-inline-start:0;-webkit-margin-end:8px;margin-inline-end:8px;margin-top:10px;margin-bottom:10px}:host(.item-label-floating),:host(.item-label-stacked){--min-height:68px}',md:':host{--border-radius:0px;--border-width:0px;--border-style:solid;--padding-top:0px;--padding-bottom:0px;--padding-end:0px;--padding-start:0px;--inner-border-width:0px;--inner-padding-top:0px;--inner-padding-bottom:0px;--inner-padding-start:0px;--inner-padding-end:0px;--inner-box-shadow:none;--detail-icon-color:initial;--detail-icon-font-size:1.25em;--detail-icon-opacity:0.25;--color-activated:var(--color);--color-focused:var(--color);--color-hover:var(--color);--ripple-color:currentColor;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;display:block;position:relative;-ms-flex-align:center;align-items:center;-ms-flex-pack:justify;justify-content:space-between;outline:none;color:var(--color);font-family:var(--ion-font-family, inherit);text-align:initial;text-decoration:none;overflow:hidden;-webkit-box-sizing:border-box;box-sizing:border-box}:host(.ion-color) .item-native{background:var(--ion-color-base);color:var(--ion-color-contrast)}:host(.ion-color) .item-native,:host(.ion-color) .item-inner{border-color:var(--ion-color-shade)}:host(.ion-activated) .item-native{color:var(--color-activated)}:host(.ion-activated) .item-native::after{background:var(--background-activated);opacity:var(--background-activated-opacity)}:host(.ion-color.ion-activated) .item-native{color:var(--ion-color-contrast)}:host(.ion-focused) .item-native{color:var(--color-focused)}:host(.ion-focused) .item-native::after{background:var(--background-focused);opacity:var(--background-focused-opacity)}:host(.ion-color.ion-focused) .item-native{color:var(--ion-color-contrast)}:host(.ion-color.ion-focused) .item-native::after{background:var(--ion-color-contrast)}@media (any-hover: hover){:host(.ion-activatable:not(.ion-focused):hover) .item-native{color:var(--color-hover)}:host(.ion-activatable:not(.ion-focused):hover) .item-native::after{background:var(--background-hover);opacity:var(--background-hover-opacity)}:host(.ion-color.ion-activatable:not(.ion-focused):hover) .item-native{color:var(--ion-color-contrast)}:host(.ion-color.ion-activatable:not(.ion-focused):hover) .item-native::after{background:var(--ion-color-contrast)}}:host(.item-control-needs-pointer-cursor){cursor:pointer}:host(.item-interactive-disabled:not(.item-multiple-inputs)){cursor:default;pointer-events:none}:host(.item-disabled){cursor:default;opacity:0.3;pointer-events:none}.item-native{border-radius:var(--border-radius);margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;padding-top:var(--padding-top);padding-bottom:var(--padding-bottom);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;padding-right:var(--padding-end);padding-left:calc(var(--padding-start) + var(--ion-safe-area-left, 0px));display:-ms-flexbox;display:flex;position:relative;-ms-flex-align:inherit;align-items:inherit;-ms-flex-pack:inherit;justify-content:inherit;width:100%;min-height:var(--min-height);-webkit-transition:var(--transition);transition:var(--transition);border-width:var(--border-width);border-style:var(--border-style);border-color:var(--border-color);outline:none;background:var(--background);overflow:inherit;z-index:1;-webkit-box-sizing:border-box;box-sizing:border-box}:host-context([dir=rtl]) .item-native{padding-right:calc(var(--padding-start) + var(--ion-safe-area-right, 0px));padding-left:var(--padding-end)}[dir=rtl] .item-native{padding-right:calc(var(--padding-start) + var(--ion-safe-area-right, 0px));padding-left:var(--padding-end)}@supports selector(:dir(rtl)){.item-native:dir(rtl){padding-right:calc(var(--padding-start) + var(--ion-safe-area-right, 0px));padding-left:var(--padding-end)}}.item-native::-moz-focus-inner{border:0}.item-native::after{left:0;right:0;top:0;bottom:0;position:absolute;content:"";opacity:0;-webkit-transition:var(--transition);transition:var(--transition);z-index:-1}button,a{cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-user-drag:none}.item-inner{margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;padding-top:var(--inner-padding-top);padding-bottom:var(--inner-padding-bottom);padding-right:calc(var(--ion-safe-area-right, 0px) + var(--inner-padding-end));padding-left:var(--inner-padding-start);display:-ms-flexbox;display:flex;position:relative;-ms-flex:1;flex:1;-ms-flex-direction:inherit;flex-direction:inherit;-ms-flex-align:inherit;align-items:inherit;-ms-flex-item-align:stretch;align-self:stretch;min-height:inherit;border-width:var(--inner-border-width);border-style:var(--border-style);border-color:var(--border-color);-webkit-box-shadow:var(--inner-box-shadow);box-shadow:var(--inner-box-shadow);overflow:inherit;-webkit-box-sizing:border-box;box-sizing:border-box}:host-context([dir=rtl]) .item-inner{padding-right:var(--inner-padding-start);padding-left:calc(var(--ion-safe-area-left, 0px) + var(--inner-padding-end))}[dir=rtl] .item-inner{padding-right:var(--inner-padding-start);padding-left:calc(var(--ion-safe-area-left, 0px) + var(--inner-padding-end))}@supports selector(:dir(rtl)){.item-inner:dir(rtl){padding-right:var(--inner-padding-start);padding-left:calc(var(--ion-safe-area-left, 0px) + var(--inner-padding-end))}}.item-detail-icon{-webkit-margin-start:calc(var(--inner-padding-end) / 2);margin-inline-start:calc(var(--inner-padding-end) / 2);-webkit-margin-end:-6px;margin-inline-end:-6px;color:var(--detail-icon-color);font-size:var(--detail-icon-font-size);opacity:var(--detail-icon-opacity)}::slotted(ion-icon){font-size:1.6em}::slotted(ion-button){--margin-top:0;--margin-bottom:0;--margin-start:0;--margin-end:0;z-index:1}::slotted(ion-label:not([slot=end])){-ms-flex:1;flex:1;width:-webkit-min-content;width:-moz-min-content;width:min-content;max-width:100%}:host(.item-input){-ms-flex-align:center;align-items:center}.input-wrapper{display:-ms-flexbox;display:flex;-ms-flex:1;flex:1;-ms-flex-direction:inherit;flex-direction:inherit;-ms-flex-align:inherit;align-items:inherit;-ms-flex-item-align:stretch;align-self:stretch;text-overflow:ellipsis;overflow:inherit;-webkit-box-sizing:border-box;box-sizing:border-box}:host(.item-label-stacked),:host(.item-label-floating){-ms-flex-align:start;align-items:start}:host(.item-label-stacked) .input-wrapper,:host(.item-label-floating) .input-wrapper{-ms-flex:1;flex:1;-ms-flex-direction:column;flex-direction:column}:host(.item-multiple-inputs) ::slotted(ion-checkbox),:host(.item-multiple-inputs) ::slotted(ion-datetime),:host(.item-multiple-inputs) ::slotted(ion-radio){position:relative}:host(.item-textarea){-ms-flex-align:stretch;align-items:stretch}::slotted(ion-reorder[slot]){margin-top:0;margin-bottom:0}ion-ripple-effect{color:var(--ripple-color)}:host{--min-height:48px;--background:var(--ion-item-background, var(--ion-background-color, #fff));--background-activated:transparent;--background-focused:currentColor;--background-hover:currentColor;--background-activated-opacity:0;--background-focused-opacity:.12;--background-hover-opacity:.04;--border-color:var(--ion-item-border-color, var(--ion-border-color, var(--ion-color-step-150, var(--ion-background-color-step-150, rgba(0, 0, 0, 0.13)))));--color:var(--ion-item-color, var(--ion-text-color, #000));--transition:opacity 15ms linear, background-color 15ms linear;--padding-start:16px;--inner-padding-end:16px;--inner-border-width:0 0 1px 0;font-size:1rem;font-weight:normal;text-transform:none}:host(.ion-color.ion-activated) .item-native::after{background:transparent}:host(.item-interactive){--border-width:0 0 1px 0;--inner-border-width:0}:host(.item-lines-full){--border-width:0 0 1px 0}:host(.item-lines-inset){--inner-border-width:0 0 1px 0}:host(.item-lines-inset),:host(.item-lines-none){--border-width:0}:host(.item-lines-full),:host(.item-lines-none){--inner-border-width:0}:host(.item-multi-line) ::slotted([slot=start]),:host(.item-multi-line) ::slotted([slot=end]){margin-top:16px;margin-bottom:16px;-ms-flex-item-align:start;align-self:flex-start}::slotted([slot=start]){-webkit-margin-end:16px;margin-inline-end:16px}::slotted([slot=end]){-webkit-margin-start:16px;margin-inline-start:16px}::slotted(ion-icon){color:rgba(var(--ion-text-color-rgb, 0, 0, 0), 0.54);font-size:1.5em}:host(.ion-color) ::slotted(ion-icon){color:var(--ion-color-contrast)}::slotted(ion-icon[slot]){margin-top:12px;margin-bottom:12px}::slotted(ion-icon[slot=start]){-webkit-margin-end:32px;margin-inline-end:32px}::slotted(ion-icon[slot=end]){-webkit-margin-start:16px;margin-inline-start:16px}::slotted(ion-toggle[slot=start]),::slotted(ion-toggle[slot=end]){margin-left:0;margin-right:0;margin-top:0;margin-bottom:0}::slotted(ion-note){margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;-ms-flex-item-align:start;align-self:flex-start;font-size:0.6875rem}::slotted(ion-note[slot]){padding-left:0;padding-right:0;padding-top:18px;padding-bottom:10px}::slotted(ion-avatar){width:40px;height:40px}::slotted(ion-thumbnail){--size:56px}::slotted(ion-avatar),::slotted(ion-thumbnail){margin-top:8px;margin-bottom:8px}::slotted(ion-avatar[slot=start]),::slotted(ion-thumbnail[slot=start]){-webkit-margin-end:16px;margin-inline-end:16px}::slotted(ion-avatar[slot=end]),::slotted(ion-thumbnail[slot=end]){-webkit-margin-start:16px;margin-inline-start:16px}::slotted(ion-label){margin-left:0;margin-right:0;margin-top:10px;margin-bottom:10px}:host(.item-label-stacked) ::slotted([slot=end]),:host(.item-label-floating) ::slotted([slot=end]){margin-top:7px;margin-bottom:7px}:host(.item-toggle) ::slotted(ion-label),:host(.item-radio) ::slotted(ion-label){-webkit-margin-start:0;margin-inline-start:0}::slotted(.button-small){--padding-top:2px;--padding-bottom:2px;--padding-start:.6em;--padding-end:.6em;min-height:25px;font-size:0.75rem}:host(.item-label-floating),:host(.item-label-stacked){--min-height:55px}:host(.ion-focused:not(.ion-color)) ::slotted(.label-stacked),:host(.ion-focused:not(.ion-color)) ::slotted(.label-floating),:host(.item-has-focus:not(.ion-color)) ::slotted(.label-stacked),:host(.item-has-focus:not(.ion-color)) ::slotted(.label-floating){color:var(--ion-color-primary, #0054e9)}'}}},[289,"ion-item",{color:[513],button:[4],detail:[4],detailIcon:[1,"detail-icon"],disabled:[516],download:[1],href:[1],rel:[1],lines:[1],routerAnimation:[16],routerDirection:[1,"router-direction"],target:[1],type:[1],multipleInputs:[32],focusable:[32],isInteractive:[32]},[[0,"ionColor","labelColorChanged"],[0,"ionStyle","itemStyle"]],{button:[{buttonChanged:0}]}]);function v(){"undefined"!=typeof customElements&&["ion-item","ion-icon","ion-ripple-effect"].forEach((t=>{switch(t){case"ion-item":customElements.get(r(t))||customElements.define(r(t),b);break;case"ion-icon":customElements.get(r(t))||g();break;case"ion-ripple-effect":customElements.get(r(t))||h()}}))}export{b as I,v as d}
@@ -1,165 +1,4 @@
1
1
  /*!
2
2
  * (C) Ionic http://ionicframework.com - MIT License
3
3
  */
4
- import { w as win, d as doc } from './index9.js';
5
- import { K as Keyboard, a as KeyboardResize } from './keyboard2.js';
6
-
7
- /**
8
- * The element that resizes when the keyboard opens
9
- * is going to depend on the resize mode
10
- * which is why we check that here.
11
- */
12
- const getResizeContainer = (resizeMode) => {
13
- /**
14
- * If doc is undefined then we are
15
- * in an SSR environment, so the keyboard
16
- * adjustment does not apply.
17
- * If the webview does not resize then there
18
- * is no container to resize.
19
- */
20
- if (doc === undefined || resizeMode === KeyboardResize.None || resizeMode === undefined) {
21
- return null;
22
- }
23
- /**
24
- * The three remaining resize modes: Native, Ionic, and Body
25
- * all cause `ion-app` to resize, so we can listen for changes
26
- * on that. In the event `ion-app` is not available then
27
- * we can fall back to `body`.
28
- */
29
- const ionApp = doc.querySelector('ion-app');
30
- return ionApp !== null && ionApp !== void 0 ? ionApp : doc.body;
31
- };
32
- /**
33
- * Get the height of ion-app or body.
34
- * This is used for determining if the webview
35
- * has resized before the keyboard closed.
36
- * */
37
- const getResizeContainerHeight = (resizeMode) => {
38
- const containerElement = getResizeContainer(resizeMode);
39
- return containerElement === null ? 0 : containerElement.clientHeight;
40
- };
41
- /**
42
- * Creates a controller that tracks and reacts to opening or closing the keyboard.
43
- *
44
- * @internal
45
- * @param keyboardChangeCallback A function to call when the keyboard opens or closes.
46
- */
47
- const createKeyboardController = async (keyboardChangeCallback) => {
48
- let keyboardWillShowHandler;
49
- let keyboardWillHideHandler;
50
- let keyboardVisible;
51
- /**
52
- * This lets us determine if the webview content
53
- * has resized as a result of the keyboard.
54
- */
55
- let initialResizeContainerHeight;
56
- const init = async () => {
57
- const resizeOptions = await Keyboard.getResizeMode();
58
- const resizeMode = resizeOptions === undefined ? undefined : resizeOptions.mode;
59
- keyboardWillShowHandler = () => {
60
- /**
61
- * We need to compute initialResizeContainerHeight right before
62
- * the keyboard opens to guarantee the resize container is visible.
63
- * The resize container may not be visible if we compute this
64
- * as soon as the keyboard controller is created.
65
- * We should only need to do this once to avoid additional clientHeight
66
- * computations.
67
- */
68
- if (initialResizeContainerHeight === undefined) {
69
- initialResizeContainerHeight = getResizeContainerHeight(resizeMode);
70
- }
71
- keyboardVisible = true;
72
- fireChangeCallback(keyboardVisible, resizeMode);
73
- };
74
- keyboardWillHideHandler = () => {
75
- keyboardVisible = false;
76
- fireChangeCallback(keyboardVisible, resizeMode);
77
- };
78
- win === null || win === void 0 ? void 0 : win.addEventListener('keyboardWillShow', keyboardWillShowHandler);
79
- win === null || win === void 0 ? void 0 : win.addEventListener('keyboardWillHide', keyboardWillHideHandler);
80
- };
81
- const fireChangeCallback = (state, resizeMode) => {
82
- if (keyboardChangeCallback) {
83
- keyboardChangeCallback(state, createResizePromiseIfNeeded(resizeMode));
84
- }
85
- };
86
- /**
87
- * Code responding to keyboard lifecycles may need
88
- * to show/hide content once the webview has
89
- * resized as a result of the keyboard showing/hiding.
90
- * createResizePromiseIfNeeded provides a way for code to wait for the
91
- * resize event that was triggered as a result of the keyboard.
92
- */
93
- const createResizePromiseIfNeeded = (resizeMode) => {
94
- if (
95
- /**
96
- * If we are in an SSR environment then there is
97
- * no window to resize. Additionally, if there
98
- * is no resize mode or the resize mode is "None"
99
- * then initialResizeContainerHeight will be 0
100
- */
101
- initialResizeContainerHeight === 0 ||
102
- /**
103
- * If the keyboard is closed before the webview resizes initially
104
- * then the webview will never resize.
105
- */
106
- initialResizeContainerHeight === getResizeContainerHeight(resizeMode)) {
107
- return;
108
- }
109
- /**
110
- * Get the resize container so we can
111
- * attach the ResizeObserver below to
112
- * the correct element.
113
- */
114
- const containerElement = getResizeContainer(resizeMode);
115
- if (containerElement === null) {
116
- return;
117
- }
118
- /**
119
- * Some part of the web content should resize,
120
- * and we need to listen for a resize.
121
- */
122
- return new Promise((resolve) => {
123
- const callback = () => {
124
- /**
125
- * As per the spec, the ResizeObserver
126
- * will fire when observation starts if
127
- * the observed element is rendered and does not
128
- * have a size of 0 x 0. However, the watched element
129
- * may or may not have resized by the time this first
130
- * callback is fired. As a result, we need to check
131
- * the dimensions of the element.
132
- *
133
- * https://www.w3.org/TR/resize-observer/#intro
134
- */
135
- if (containerElement.clientHeight === initialResizeContainerHeight) {
136
- /**
137
- * The resize happened, so stop listening
138
- * for resize on this element.
139
- */
140
- ro.disconnect();
141
- resolve();
142
- }
143
- };
144
- /**
145
- * In Capacitor there can be delay between when the window
146
- * resizes and when the container element resizes, so we cannot
147
- * rely on a 'resize' event listener on the window.
148
- * Instead, we need to determine when the container
149
- * element resizes using a ResizeObserver.
150
- */
151
- const ro = new ResizeObserver(callback);
152
- ro.observe(containerElement);
153
- });
154
- };
155
- const destroy = () => {
156
- win === null || win === void 0 ? void 0 : win.removeEventListener('keyboardWillShow', keyboardWillShowHandler);
157
- win === null || win === void 0 ? void 0 : win.removeEventListener('keyboardWillHide', keyboardWillHideHandler);
158
- keyboardWillShowHandler = keyboardWillHideHandler = undefined;
159
- };
160
- const isKeyboardVisible = () => keyboardVisible;
161
- await init();
162
- return { init, destroy, isKeyboardVisible };
163
- };
164
-
165
- export { createKeyboardController as c };
4
+ import{w as o,d as i}from"./index9.js";import{K as n,a as r}from"./keyboard2.js";const e=o=>{if(void 0===i||o===r.None||void 0===o)return null;const n=i.querySelector("ion-app");return null!=n?n:i.body},l=o=>{const i=e(o);return null===i?0:i.clientHeight},s=async i=>{let r,s,t,a;const d=async()=>{const i=await n.getResizeMode(),e=void 0===i?void 0:i.mode;r=()=>{void 0===a&&(a=l(e)),t=!0,u(t,e)},s=()=>{t=!1,u(t,e)},null==o||o.addEventListener("keyboardWillShow",r),null==o||o.addEventListener("keyboardWillHide",s)},u=(o,n)=>{i&&i(o,c(n))},c=o=>{if(0===a||a===l(o))return;const i=e(o);return null!==i?new Promise((o=>{const n=new ResizeObserver((()=>{i.clientHeight===a&&(n.disconnect(),o())}));n.observe(i)})):void 0};return await d(),{init:d,destroy:()=>{null==o||o.removeEventListener("keyboardWillShow",r),null==o||o.removeEventListener("keyboardWillHide",s),r=s=void 0},isKeyboardVisible:()=>t}};export{s as c}