@ionic/core 9.0.4-dev.11789491273.11ab1c95 → 9.0.4-dev.11789496656.1690cf55

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 (282) hide show
  1. package/components/index.js +1 -1
  2. package/components/ion-accordion.js +1 -1
  3. package/components/ion-action-sheet.js +1 -1
  4. package/components/ion-alert.js +1 -1
  5. package/components/ion-app.js +1 -1
  6. package/components/ion-back-button.js +1 -1
  7. package/components/ion-breadcrumb.js +1 -1
  8. package/components/ion-button.js +1 -1
  9. package/components/ion-card.js +1 -1
  10. package/components/ion-checkbox.js +1 -1
  11. package/components/ion-content.js +1 -1
  12. package/components/ion-datetime-button.js +1 -1
  13. package/components/ion-datetime.js +1 -1
  14. package/components/ion-fab-button.js +1 -1
  15. package/components/ion-footer.js +1 -1
  16. package/components/ion-header.js +1 -1
  17. package/components/ion-img.js +1 -1
  18. package/components/ion-infinite-scroll.js +1 -1
  19. package/components/ion-input-otp.js +1 -1
  20. package/components/ion-input-password-toggle.js +1 -1
  21. package/components/ion-input.js +1 -1
  22. package/components/ion-item-options.js +1 -1
  23. package/components/ion-item-sliding.js +1 -1
  24. package/components/ion-item.js +1 -1
  25. package/components/ion-loading.js +1 -1
  26. package/components/ion-menu-button.js +1 -1
  27. package/components/ion-menu-toggle.js +1 -1
  28. package/components/ion-menu.js +1 -1
  29. package/components/ion-modal.js +1 -1
  30. package/components/ion-nav.js +1 -1
  31. package/components/ion-picker-column-option.js +1 -1
  32. package/components/ion-picker-column.js +1 -1
  33. package/components/ion-picker.js +1 -1
  34. package/components/ion-popover.js +1 -1
  35. package/components/ion-progress-bar.js +1 -1
  36. package/components/ion-radio-group.js +1 -1
  37. package/components/ion-radio.js +1 -1
  38. package/components/ion-range.js +1 -1
  39. package/components/ion-refresher-content.js +1 -1
  40. package/components/ion-refresher.js +1 -1
  41. package/components/ion-reorder-group.js +1 -1
  42. package/components/ion-router-outlet.js +1 -1
  43. package/components/ion-router.js +1 -1
  44. package/components/ion-searchbar.js +1 -1
  45. package/components/ion-segment-button.js +1 -1
  46. package/components/ion-segment.js +1 -1
  47. package/components/ion-select-modal.js +1 -1
  48. package/components/ion-select-popover.js +1 -1
  49. package/components/ion-select.js +1 -1
  50. package/components/ion-tab-button.js +1 -1
  51. package/components/ion-tab.js +1 -1
  52. package/components/ion-textarea.js +1 -1
  53. package/components/ion-toast.js +1 -1
  54. package/components/ion-toggle.js +1 -1
  55. package/components/{p-DPJUYiz0.js → p-5juwds63.js} +1 -1
  56. package/components/{p-6yLSJYP5.js → p-B86lRIDO.js} +1 -1
  57. package/components/{p-zpafbpPu.js → p-BIMP7XsN.js} +1 -1
  58. package/components/p-BVWd2PEY.js +4 -0
  59. package/components/{p--0Ha2gLq.js → p-BjATTE99.js} +1 -1
  60. package/components/{p-Dh79xOoJ.js → p-BniAZ6W5.js} +1 -1
  61. package/components/{p-B4w_sFd4.js → p-BoYGC-l-.js} +1 -1
  62. package/components/{p-C0FB9NcQ.js → p-BrN7xu9-.js} +1 -1
  63. package/components/{p-BCkE4_T_.js → p-C3ywH_Mf.js} +1 -1
  64. package/components/{p-BLCBNn2X.js → p-C4uFpZGN.js} +1 -1
  65. package/components/{p-DX55ygwT.js → p-C7LLUTK7.js} +1 -1
  66. package/components/{p-Cw6JRwdQ.js → p-C9Q3BKWR.js} +1 -1
  67. package/components/{p-DCqwKMcP.js → p-CDwQvoOp.js} +1 -1
  68. package/components/{p-sOZUmSUg.js → p-CIe-qmpb.js} +1 -1
  69. package/components/{p-i_RUbfxc.js → p-CTXzvhyU.js} +1 -1
  70. package/components/{p-BgsT2jfW.js → p-D1hWyvjx.js} +1 -1
  71. package/components/{p-ClaT45M5.js → p-DId_XvAJ.js} +1 -1
  72. package/{dist/ionic/p-BMSRTipc.js → components/p-DQrYMQ7L.js} +1 -1
  73. package/components/{p-C4hRhU-I.js → p-DQv0f8j9.js} +1 -1
  74. package/components/{p-BbuOLVCJ.js → p-DU1fmq1v.js} +1 -1
  75. package/components/{p-BBVXJUno.js → p-DcMeOO67.js} +1 -1
  76. package/components/{p-OTASwZcn.js → p-Ddg9-TD5.js} +1 -1
  77. package/components/{p-BCI0nI6X.js → p-DeC5OhCT.js} +1 -1
  78. package/components/p-DrEqn5AR.js +4 -0
  79. package/components/{p-BpPCBEmb.js → p-DrfyhL1q.js} +1 -1
  80. package/components/p-NSJZ0wBJ.js +4 -0
  81. package/components/{p-Bb4gKl_z.js → p-fwDT5gkM.js} +1 -1
  82. package/components/{p-DbTr4Ana.js → p-gE0D5aEA.js} +1 -1
  83. package/components/{p-CPj9oYoe.js → p-rjD7uyw_.js} +1 -1
  84. package/components/{p-BmIw6_lr.js → p-s40C1wOl.js} +1 -1
  85. package/components/{p-5jHAJ8C_.js → p-v66I_MxD.js} +1 -1
  86. package/dist/cjs/{framework-delegate-30SP5_5C.js → framework-delegate-CCa_7nPe.js} +1 -1
  87. package/dist/cjs/{helpers-28k0ioWb.js → helpers-BjlIqCre.js} +2 -5
  88. package/dist/cjs/{index-BjT0jN-K.js → index-CQX-LFXH.js} +3 -3
  89. package/dist/cjs/{index-CiwO_ZVY.js → index-CpNJEu8Q.js} +1 -1
  90. package/dist/cjs/{index-Df1Nb3Lk.js → index-DbIi_tua.js} +1 -1
  91. package/dist/cjs/{index-DEWlkbEq.js → index-oGSMGpY5.js} +1 -1
  92. package/dist/cjs/index.cjs.js +7 -7
  93. package/dist/cjs/{input-shims-CoTMQkM0.js → input-shims-CfRpLg7f.js} +2 -2
  94. package/dist/cjs/ion-accordion_2.cjs.entry.js +1 -1
  95. package/dist/cjs/ion-action-sheet.cjs.entry.js +3 -3
  96. package/dist/cjs/ion-alert.cjs.entry.js +3 -3
  97. package/dist/cjs/ion-app_8.cjs.entry.js +8 -8
  98. package/dist/cjs/ion-back-button.cjs.entry.js +1 -1
  99. package/dist/cjs/ion-breadcrumb_2.cjs.entry.js +1 -1
  100. package/dist/cjs/ion-button_2.cjs.entry.js +32 -22
  101. package/dist/cjs/ion-card_5.cjs.entry.js +5 -13
  102. package/dist/cjs/ion-checkbox.cjs.entry.js +1 -1
  103. package/dist/cjs/ion-datetime-button.cjs.entry.js +1 -1
  104. package/dist/cjs/ion-datetime.cjs.entry.js +3 -3
  105. package/dist/cjs/ion-fab_3.cjs.entry.js +1 -1
  106. package/dist/cjs/ion-img.cjs.entry.js +1 -1
  107. package/dist/cjs/ion-infinite-scroll_2.cjs.entry.js +2 -2
  108. package/dist/cjs/ion-input-otp.cjs.entry.js +1 -1
  109. package/dist/cjs/ion-input.cjs.entry.js +2 -2
  110. package/dist/cjs/ion-item-option_3.cjs.entry.js +2 -2
  111. package/dist/cjs/ion-item_8.cjs.entry.js +6 -16
  112. package/dist/cjs/ion-loading.cjs.entry.js +3 -3
  113. package/dist/cjs/ion-menu_3.cjs.entry.js +4 -4
  114. package/dist/cjs/ion-modal.cjs.entry.js +5 -5
  115. package/dist/cjs/ion-nav_2.cjs.entry.js +4 -4
  116. package/dist/cjs/ion-picker-column-option.cjs.entry.js +1 -1
  117. package/dist/cjs/ion-picker-column.cjs.entry.js +1 -1
  118. package/dist/cjs/ion-picker.cjs.entry.js +1 -1
  119. package/dist/cjs/ion-popover.cjs.entry.js +4 -4
  120. package/dist/cjs/ion-progress-bar.cjs.entry.js +1 -1
  121. package/dist/cjs/ion-radio_2.cjs.entry.js +1 -1
  122. package/dist/cjs/ion-range.cjs.entry.js +2 -2
  123. package/dist/cjs/ion-refresher_2.cjs.entry.js +2 -2
  124. package/dist/cjs/ion-reorder_2.cjs.entry.js +2 -2
  125. package/dist/cjs/ion-route_4.cjs.entry.js +2 -2
  126. package/dist/cjs/ion-searchbar.cjs.entry.js +1 -1
  127. package/dist/cjs/ion-segment_2.cjs.entry.js +1 -1
  128. package/dist/cjs/ion-select-modal.cjs.entry.js +3 -3
  129. package/dist/cjs/ion-select_3.cjs.entry.js +4 -4
  130. package/dist/cjs/ion-tab-bar_2.cjs.entry.js +1 -1
  131. package/dist/cjs/ion-tab_2.cjs.entry.js +2 -2
  132. package/dist/cjs/ion-textarea.cjs.entry.js +2 -2
  133. package/dist/cjs/ion-toast.cjs.entry.js +3 -3
  134. package/dist/cjs/ion-toggle.cjs.entry.js +1 -1
  135. package/dist/cjs/ionic.cjs.js +1 -1
  136. package/dist/cjs/{ios.transition-C1f9F6HE.js → ios.transition-qFm2dzNr.js} +2 -2
  137. package/dist/cjs/loader.cjs.js +1 -1
  138. package/dist/cjs/{md.transition-ApZEp9g4.js → md.transition-BUSI4dNc.js} +2 -2
  139. package/dist/cjs/{overlays-DqxYgNWz.js → overlays-jCxDhheS.js} +2 -2
  140. package/dist/cjs/{slot-mutation-controller-D09vhXzN.js → slot-mutation-controller-BKQkzuIH.js} +1 -1
  141. package/dist/cjs/{status-tap-DdEe06LQ.js → status-tap-DSkB5t_f.js} +2 -2
  142. package/dist/cjs/{swipe-back-D1lp_e6s.js → swipe-back-DxaKhxCu.js} +1 -1
  143. package/dist/collection/components/button/button.js +32 -21
  144. package/dist/collection/components/card/card.js +6 -12
  145. package/dist/collection/components/item/item.js +6 -15
  146. package/dist/collection/utils/helpers.js +3 -5
  147. package/dist/docs.json +1 -1
  148. package/dist/esm/{framework-delegate-BgMe4jPq.js → framework-delegate-DNJbxXfG.js} +1 -1
  149. package/dist/esm/{helpers-DeeJAHV9.js → helpers-BhJI0AJ9.js} +3 -5
  150. package/dist/esm/{index-R9pvwLnZ.js → index-B642W5K5.js} +3 -3
  151. package/dist/esm/{index-DE7lbMup.js → index-C7RizanJ.js} +1 -1
  152. package/dist/esm/{index-Co9fHIiq.js → index-CE9JWPY5.js} +1 -1
  153. package/dist/esm/{index-DCEhZGaW.js → index-CvUsV0R4.js} +1 -1
  154. package/dist/esm/index.js +7 -7
  155. package/dist/esm/{input-shims-Dq4cwnFs.js → input-shims-CJyayCsi.js} +2 -2
  156. package/dist/esm/ion-accordion_2.entry.js +1 -1
  157. package/dist/esm/ion-action-sheet.entry.js +3 -3
  158. package/dist/esm/ion-alert.entry.js +3 -3
  159. package/dist/esm/ion-app_8.entry.js +8 -8
  160. package/dist/esm/ion-back-button.entry.js +1 -1
  161. package/dist/esm/ion-breadcrumb_2.entry.js +1 -1
  162. package/dist/esm/ion-button_2.entry.js +33 -23
  163. package/dist/esm/ion-card_5.entry.js +6 -14
  164. package/dist/esm/ion-checkbox.entry.js +1 -1
  165. package/dist/esm/ion-datetime-button.entry.js +1 -1
  166. package/dist/esm/ion-datetime.entry.js +3 -3
  167. package/dist/esm/ion-fab_3.entry.js +1 -1
  168. package/dist/esm/ion-img.entry.js +1 -1
  169. package/dist/esm/ion-infinite-scroll_2.entry.js +2 -2
  170. package/dist/esm/ion-input-otp.entry.js +1 -1
  171. package/dist/esm/ion-input.entry.js +2 -2
  172. package/dist/esm/ion-item-option_3.entry.js +2 -2
  173. package/dist/esm/ion-item_8.entry.js +6 -16
  174. package/dist/esm/ion-loading.entry.js +3 -3
  175. package/dist/esm/ion-menu_3.entry.js +4 -4
  176. package/dist/esm/ion-modal.entry.js +5 -5
  177. package/dist/esm/ion-nav_2.entry.js +4 -4
  178. package/dist/esm/ion-picker-column-option.entry.js +1 -1
  179. package/dist/esm/ion-picker-column.entry.js +1 -1
  180. package/dist/esm/ion-picker.entry.js +1 -1
  181. package/dist/esm/ion-popover.entry.js +4 -4
  182. package/dist/esm/ion-progress-bar.entry.js +1 -1
  183. package/dist/esm/ion-radio_2.entry.js +1 -1
  184. package/dist/esm/ion-range.entry.js +2 -2
  185. package/dist/esm/ion-refresher_2.entry.js +2 -2
  186. package/dist/esm/ion-reorder_2.entry.js +2 -2
  187. package/dist/esm/ion-route_4.entry.js +2 -2
  188. package/dist/esm/ion-searchbar.entry.js +1 -1
  189. package/dist/esm/ion-segment_2.entry.js +1 -1
  190. package/dist/esm/ion-select-modal.entry.js +3 -3
  191. package/dist/esm/ion-select_3.entry.js +4 -4
  192. package/dist/esm/ion-tab-bar_2.entry.js +1 -1
  193. package/dist/esm/ion-tab_2.entry.js +2 -2
  194. package/dist/esm/ion-textarea.entry.js +2 -2
  195. package/dist/esm/ion-toast.entry.js +3 -3
  196. package/dist/esm/ion-toggle.entry.js +1 -1
  197. package/dist/esm/ionic.js +1 -1
  198. package/dist/esm/{ios.transition-Df5RLe_T.js → ios.transition-CMEC0NN1.js} +2 -2
  199. package/dist/esm/loader.js +1 -1
  200. package/dist/esm/{md.transition-CjaOFo9D.js → md.transition-BpFq_zft.js} +2 -2
  201. package/dist/esm/{overlays-BibrxrLf.js → overlays-DxdXkHtM.js} +2 -2
  202. package/dist/esm/{slot-mutation-controller-BkDOe1zv.js → slot-mutation-controller-Bkj4RRBZ.js} +1 -1
  203. package/dist/esm/{status-tap-jSEmdAcL.js → status-tap-Cd1sqU_0.js} +2 -2
  204. package/dist/esm/{swipe-back-DECoCqxP.js → swipe-back-C4ZOaoql.js} +1 -1
  205. package/dist/ionic/index.esm.js +1 -1
  206. package/dist/ionic/ionic.esm.js +1 -1
  207. package/dist/ionic/{p-e20958c9.entry.js → p-01de1004.entry.js} +1 -1
  208. package/dist/ionic/{p-f320604d.entry.js → p-02e54c8d.entry.js} +1 -1
  209. package/dist/ionic/{p-f72fd8c8.entry.js → p-0520b9ba.entry.js} +1 -1
  210. package/dist/ionic/p-052b764a.entry.js +4 -0
  211. package/dist/ionic/{p-e07af85b.entry.js → p-09f39c5d.entry.js} +1 -1
  212. package/dist/ionic/{p-5264ae56.entry.js → p-0d067e59.entry.js} +1 -1
  213. package/dist/ionic/{p-94b50c55.entry.js → p-1ef783d7.entry.js} +1 -1
  214. package/dist/ionic/{p-bc6477b7.entry.js → p-28747c67.entry.js} +1 -1
  215. package/dist/ionic/{p-005fc249.entry.js → p-2a6fd353.entry.js} +1 -1
  216. package/dist/ionic/p-2df5f248.entry.js +4 -0
  217. package/dist/ionic/{p-b52666f2.entry.js → p-3b059f00.entry.js} +1 -1
  218. package/dist/ionic/{p-17076d6d.entry.js → p-3e797669.entry.js} +1 -1
  219. package/dist/ionic/{p-c968f7c8.entry.js → p-478ff9ac.entry.js} +1 -1
  220. package/dist/ionic/{p-34b93eb0.entry.js → p-4ab06d54.entry.js} +1 -1
  221. package/dist/ionic/{p-7fc0c7f4.entry.js → p-4f1fff81.entry.js} +1 -1
  222. package/dist/ionic/{p-d01370da.entry.js → p-57d26686.entry.js} +1 -1
  223. package/dist/ionic/{p-bcce4c27.entry.js → p-5abe3412.entry.js} +1 -1
  224. package/dist/ionic/{p-25606ced.entry.js → p-5c8818b2.entry.js} +1 -1
  225. package/dist/ionic/{p-8d06d603.entry.js → p-6393418d.entry.js} +1 -1
  226. package/dist/ionic/{p-8fe32c85.entry.js → p-64fbb77c.entry.js} +1 -1
  227. package/dist/ionic/{p-65e8cf6e.entry.js → p-721849d1.entry.js} +1 -1
  228. package/dist/ionic/{p-e831cbc4.entry.js → p-79a013a5.entry.js} +1 -1
  229. package/dist/ionic/{p-23a40e1a.entry.js → p-7c9ca14d.entry.js} +1 -1
  230. package/dist/ionic/{p-57c5caad.entry.js → p-9521b660.entry.js} +1 -1
  231. package/dist/ionic/{p-1662825b.entry.js → p-99a5f8fe.entry.js} +1 -1
  232. package/dist/ionic/{p-c9ca4b89.entry.js → p-9afcc57e.entry.js} +1 -1
  233. package/dist/ionic/p-BST1u0ec.js +4 -0
  234. package/dist/ionic/{p-BoPnUg6t.js → p-B_eIgbzl.js} +1 -1
  235. package/dist/ionic/{p-BJIzb1h3.js → p-Bb4lV5CQ.js} +1 -1
  236. package/dist/ionic/{p-eRdlCM8q.js → p-BnXwO7xo.js} +1 -1
  237. package/dist/ionic/p-CQfHHCVd.js +4 -0
  238. package/dist/ionic/{p-T2mbrXZh.js → p-CmeeH7IA.js} +1 -1
  239. package/{components/p-fwAEwYZc.js → dist/ionic/p-CxU8VnTb.js} +1 -1
  240. package/dist/ionic/{p-BViV3T3I.js → p-Cyf8fFhT.js} +1 -1
  241. package/dist/ionic/{p-BUizV0iN.js → p-DED3r_HX.js} +1 -1
  242. package/dist/ionic/p-DYa-7lKb.js +4 -0
  243. package/dist/ionic/{p-Bg92X_yH.js → p-Yzw-faqR.js} +1 -1
  244. package/dist/ionic/{p-BlliOtjV.js → p-aq9QZ_SS.js} +1 -1
  245. package/dist/ionic/{p-e7e5bd70.entry.js → p-b5f869d3.entry.js} +1 -1
  246. package/dist/ionic/{p-1da7dbb2.entry.js → p-b7b22bc6.entry.js} +1 -1
  247. package/dist/ionic/{p-0e4a8b4c.entry.js → p-bd9da73b.entry.js} +1 -1
  248. package/dist/ionic/{p-c8bc68c1.entry.js → p-c1976d29.entry.js} +1 -1
  249. package/dist/ionic/{p-a1694aea.entry.js → p-c2810802.entry.js} +1 -1
  250. package/dist/ionic/{p-418c7db6.entry.js → p-c6f331c7.entry.js} +1 -1
  251. package/dist/ionic/{p-259211ef.entry.js → p-c7f88038.entry.js} +1 -1
  252. package/dist/ionic/{p-f6d7e96d.entry.js → p-cb99a8ab.entry.js} +1 -1
  253. package/dist/ionic/{p-d47e04c8.entry.js → p-e1182b8c.entry.js} +1 -1
  254. package/dist/ionic/{p-f78add99.entry.js → p-e205531a.entry.js} +1 -1
  255. package/dist/ionic/{p-bf0bf4be.entry.js → p-e45577f0.entry.js} +1 -1
  256. package/dist/ionic/{p-d203aa2f.entry.js → p-e8b2b575.entry.js} +1 -1
  257. package/dist/ionic/{p-b87e375b.entry.js → p-f66db3f9.entry.js} +1 -1
  258. package/dist/ionic/{p-00c87480.entry.js → p-f8a111c8.entry.js} +1 -1
  259. package/dist/ionic/p-fb0821b2.entry.js +4 -0
  260. package/dist/ionic/{p-BQq5eWUl.js → p-sa30xypV.js} +1 -1
  261. package/dist/types/components/button/button.d.ts +12 -3
  262. package/dist/types/components/card/card.d.ts +1 -3
  263. package/dist/types/components/item/item.d.ts +1 -1
  264. package/dist/types/utils/helpers.d.ts +2 -10
  265. package/hydrate/index.js +41 -168
  266. package/hydrate/index.mjs +41 -168
  267. package/package.json +2 -2
  268. package/components/p-BUZjpZPj.js +0 -4
  269. package/components/p-D2vl9H3c.js +0 -4
  270. package/components/p-DP8hRAY9.js +0 -4
  271. package/components/p-Dp5qTLGr.js +0 -4
  272. package/dist/cjs/attribute-controller-Co16PtRL.js +0 -132
  273. package/dist/collection/utils/attribute-controller.js +0 -126
  274. package/dist/esm/attribute-controller-CpBzYvYU.js +0 -129
  275. package/dist/ionic/p-0870e9ff.entry.js +0 -4
  276. package/dist/ionic/p-2d100776.entry.js +0 -4
  277. package/dist/ionic/p-BautDe39.js +0 -4
  278. package/dist/ionic/p-CW7vemvF.js +0 -4
  279. package/dist/ionic/p-Dnq82tx6.js +0 -4
  280. package/dist/ionic/p-PCITDQzG.js +0 -4
  281. package/dist/ionic/p-bba893bd.entry.js +0 -4
  282. package/dist/types/utils/attribute-controller.d.ts +0 -56
package/hydrate/index.mjs CHANGED
@@ -5940,8 +5940,8 @@ const hasLazyBuild = (stencilEl) => {
5940
5940
  * helper function should be called in componentWillLoad and assigned to a variable
5941
5941
  * that is later used in the render function.
5942
5942
  *
5943
- * This copies once. Use `createAttributeController` instead when the attributes can
5944
- * change after load, since a host attribute change does not trigger a re-render.
5943
+ * This does not need to be reactive as changing attributes on the host element
5944
+ * does not trigger a re-render.
5945
5945
  */
5946
5946
  const inheritAttributes$1 = (el, attributes = []) => {
5947
5947
  const attributeObject = {};
@@ -5960,8 +5960,6 @@ const inheritAttributes$1 = (el, attributes = []) => {
5960
5960
  * List of available ARIA attributes + `role`.
5961
5961
  * Removed deprecated attributes.
5962
5962
  * https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Attributes
5963
- *
5964
- * @internal Exported for `attribute-controller.ts`, which needs the same set.
5965
5963
  */
5966
5964
  const ariaAttributes = [
5967
5965
  'role',
@@ -12191,128 +12189,6 @@ class Breadcrumbs {
12191
12189
  }; }
12192
12190
  }
12193
12191
 
12194
- /**
12195
- * Copies a set of attributes off the host element so they can be applied to an element
12196
- * inside the shadow root, then keeps that copy in sync as the host attributes change.
12197
- * Using `inheritAttributes` alone copies once at load, so anything written to the host
12198
- * afterwards never reaches the element the assistive technology reads.
12199
- *
12200
- * Create the controller in `componentWillLoad`. It takes the initial copy and starts
12201
- * watching right away, so `init()` is only needed to resume after a move.
12202
- *
12203
- * Two things to know before adopting it. Only the initial copy removes the attributes
12204
- * from the host, so a value written after load sits on the host as well as on the
12205
- * element it is applied to, which matters if the host has a role of its own. And an
12206
- * attribute from the initial markup can never be removed, only overwritten, since the
12207
- * copy already took it off the host and a `removeAttribute` there fires no mutation.
12208
- * An empty string works for `aria-label` and friends, but a token-valued attribute
12209
- * has to be set to its default instead, so `aria-pressed="false"` rather than empty.
12210
- *
12211
- * @internal
12212
- * @param el The host element to copy from and watch.
12213
- * @param attributes The attributes to copy and watch.
12214
- * @param onChange Called after `attributes` changes, so the component can re-render.
12215
- * @param hostOwnedAttributes Attributes copied at load but not watched. Use it for
12216
- * attributes the component renders on its own `<Host>`, since a later change to one of
12217
- * those is the component's own write, and for attributes that would put a second node in
12218
- * the accessibility tree if the host kept a copy alongside the one we apply.
12219
- */
12220
- const createAttributeController = (el, attributes, onChange, hostOwnedAttributes = []) => {
12221
- let inherited = inheritAttributes$1(el, attributes);
12222
- let observer;
12223
- const watchedAttributes = attributes.filter((attr) => !hostOwnedAttributes.includes(attr));
12224
- /**
12225
- * The names still on the host, which is everything written after load. The initial
12226
- * copy removes what it captures, so a missing attribute only counts as a removal
12227
- * when its name is in here.
12228
- */
12229
- const hostWritten = new Set();
12230
- const setPresence = (name, value) => {
12231
- if (value === null) {
12232
- hostWritten.delete(name);
12233
- }
12234
- else {
12235
- hostWritten.add(name);
12236
- }
12237
- };
12238
- /**
12239
- * Nothing is watching while the host is out of the tree, since `disconnectedCallback`
12240
- * calls `destroy()`, and `forceUpdate` is a no-op on a disconnected host anyway. So
12241
- * the host has to be re-read on the way back in.
12242
- */
12243
- const readMissedChanges = () => {
12244
- const changed = {};
12245
- for (const name of watchedAttributes) {
12246
- const value = el.getAttribute(name);
12247
- const wasOnHost = hostWritten.has(name);
12248
- setPresence(name, value);
12249
- /**
12250
- * An attribute that was never written to the host is missing because the initial
12251
- * copy took it, not because the developer cleared it.
12252
- */
12253
- if ((value === null && !wasOnHost) || value === inherited[name]) {
12254
- continue;
12255
- }
12256
- changed[name] = value;
12257
- }
12258
- if (Object.keys(changed).length > 0) {
12259
- inherited = { ...inherited, ...changed };
12260
- onChange();
12261
- }
12262
- };
12263
- const init = () => {
12264
- // There is no MutationObserver in SSR or the hydrate build.
12265
- if (observer !== undefined || watchedAttributes.length === 0 || win$1 === undefined || !('MutationObserver' in win$1)) {
12266
- return;
12267
- }
12268
- readMissedChanges();
12269
- observer = new MutationObserver((mutations) => {
12270
- const changed = {};
12271
- for (const mutation of mutations) {
12272
- const name = mutation.attributeName;
12273
- // A removed attribute reads back as null, which clears it from the element the
12274
- // values are spread onto.
12275
- const value = el.getAttribute(name);
12276
- setPresence(name, value);
12277
- changed[name] = value;
12278
- }
12279
- inherited = { ...inherited, ...changed };
12280
- onChange();
12281
- });
12282
- observer.observe(el, { attributeFilter: watchedAttributes });
12283
- };
12284
- const destroy = () => {
12285
- observer?.disconnect();
12286
- observer = undefined;
12287
- };
12288
- /**
12289
- * Has to run after the initial copy, because that copy removes the attributes from the
12290
- * host and an observer armed any earlier would read the removal as a developer clearing
12291
- * them.
12292
- */
12293
- init();
12294
- return {
12295
- get attributes() {
12296
- return inherited;
12297
- },
12298
- init,
12299
- destroy,
12300
- };
12301
- };
12302
- /**
12303
- * The `createAttributeController` equivalent of `inheritAriaAttributes`, which copies and
12304
- * watches every ARIA attribute plus `role`.
12305
- *
12306
- * @internal
12307
- * @param el The host element to copy from and watch.
12308
- * @param onChange Called after the attributes change, so the component can re-render.
12309
- * @param hostOwnedAttributes Attributes copied at load but not watched. See
12310
- * `createAttributeController`.
12311
- */
12312
- const createAriaAttributeController = (el, onChange, hostOwnedAttributes = []) => {
12313
- return createAttributeController(el, ariaAttributes, onChange, hostOwnedAttributes);
12314
- };
12315
-
12316
12192
  const buttonIosCss = () => `:host{--overflow:hidden;--ripple-color:currentColor;--border-width:initial;--border-color:initial;--border-style:initial;--color-activated:var(--color);--color-focused:var(--color);--color-hover:var(--color);--box-shadow:none;display:inline-block;width:auto;color:var(--color);font-family:var(--ion-font-family, inherit);text-align:center;text-decoration:none;white-space:normal;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;vertical-align:top;vertical-align:-webkit-baseline-middle;-webkit-font-kerning:none;font-kerning:none}:host(.button-disabled){cursor:default;opacity:0.5;pointer-events:none}:host(.button-solid){--background:var(--ion-color-primary, #0054e9);--color:var(--ion-color-primary-contrast, #fff)}:host(.button-outline){--border-color:var(--ion-color-primary, #0054e9);--background:transparent;--color:var(--ion-color-primary, #0054e9)}:host(.button-clear){--border-width:0;--background:transparent;--color:var(--ion-color-primary, #0054e9)}:host(.button-block){display:block}:host(.button-block) .button-native{margin-left:0;margin-right:0;width:100%;clear:both;contain:content}:host(.button-block) .button-native::after{clear:both}:host(.button-full){display:block}:host(.button-full) .button-native{margin-left:0;margin-right:0;width:100%;contain:content}:host(.button-full:not(.button-round)) .button-native{border-radius:0;border-right-width:0;border-left-width:0}.button-native{border-radius:var(--border-radius);-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;-webkit-padding-start:var(--padding-start);padding-inline-start:var(--padding-start);-webkit-padding-end:var(--padding-end);padding-inline-end:var(--padding-end);padding-top:var(--padding-top);padding-bottom:var(--padding-bottom);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;display:-ms-flexbox;display:flex;position:relative;-ms-flex-align:center;align-items:center;width:100%;height:100%;min-height:inherit;-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);line-height:1;-webkit-box-shadow:var(--box-shadow);box-shadow:var(--box-shadow);contain:layout style;cursor:pointer;opacity:var(--opacity);overflow:var(--overflow);z-index:0;-webkit-box-sizing:border-box;box-sizing:border-box;-webkit-appearance:none;-moz-appearance:none;appearance:none}.button-native::-moz-focus-inner{border:0}.button-inner{display:-ms-flexbox;display:flex;position:relative;-ms-flex-flow:row nowrap;flex-flow:row nowrap;-ms-flex-negative:0;flex-shrink:0;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;width:100%;height:100%;z-index:1}::slotted([slot=start]),::slotted([slot=end]){-ms-flex-negative:0;flex-shrink:0}::slotted(ion-icon){font-size:1.35em;pointer-events:none}::slotted(ion-icon[slot=start]){-webkit-margin-start:-0.3em;margin-inline-start:-0.3em;-webkit-margin-end:0.3em;margin-inline-end:0.3em;margin-top:0;margin-bottom:0}::slotted(ion-icon[slot=end]){-webkit-margin-start:0.3em;margin-inline-start:0.3em;-webkit-margin-end:-0.2em;margin-inline-end:-0.2em;margin-top:0;margin-bottom:0}ion-ripple-effect{color:var(--ripple-color)}.button-native::after{left:0;right:0;top:0;bottom:0;position:absolute;content:"";opacity:0}:host(.ion-focused){color:var(--color-focused)}:host(.ion-focused) .button-native::after{background:var(--background-focused);opacity:var(--background-focused-opacity)}@media (any-hover: hover){:host(:hover){color:var(--color-hover)}:host(:hover) .button-native::after{background:var(--background-hover);opacity:var(--background-hover-opacity)}}:host(.ion-activated){color:var(--color-activated)}:host(.ion-activated) .button-native::after{background:var(--background-activated);opacity:var(--background-activated-opacity)}:host(.button-solid.ion-color) .button-native{background:var(--ion-color-base);color:var(--ion-color-contrast)}:host(.button-outline.ion-color) .button-native{border-color:var(--ion-color-base);background:transparent;color:var(--ion-color-base)}:host(.button-clear.ion-color) .button-native{background:transparent;color:var(--ion-color-base)}:host(.in-toolbar:not(.ion-color):not(.in-toolbar-color)) .button-native{color:var(--ion-toolbar-color, var(--color))}:host(.button-outline.in-toolbar:not(.ion-color):not(.in-toolbar-color)) .button-native{border-color:var(--ion-toolbar-color, var(--color, var(--border-color)))}:host(.button-solid.in-toolbar:not(.ion-color):not(.in-toolbar-color)) .button-native{background:var(--ion-toolbar-color, var(--background));color:var(--ion-toolbar-background, var(--color))}:host{--border-radius:14px;--padding-top:13px;--padding-bottom:13px;--padding-start:1em;--padding-end:1em;--transition:background-color, opacity 100ms linear;-webkit-margin-start:2px;margin-inline-start:2px;-webkit-margin-end:2px;margin-inline-end:2px;margin-top:4px;margin-bottom:4px;min-height:3.1em;font-size:min(1rem, 48px);font-weight:500;letter-spacing:0}:host(.button-solid){--background-activated:var(--ion-color-primary-shade, #004acd);--background-focused:var(--ion-color-primary-shade, #004acd);--background-hover:var(--ion-color-primary-tint, #1a65eb);--background-activated-opacity:1;--background-focused-opacity:1;--background-hover-opacity:1}:host(.button-outline){--border-radius:14px;--border-width:1px;--border-style:solid;--background-activated:var(--ion-color-primary, #0054e9);--background-focused:var(--ion-color-primary, #0054e9);--background-hover:transparent;--background-focused-opacity:.1;--color-activated:var(--ion-color-primary-contrast, #fff)}:host(.button-clear){--background-activated:transparent;--background-activated-opacity:0;--background-focused:var(--ion-color-primary, #0054e9);--background-hover:transparent;--background-focused-opacity:.1;font-size:min(1.0625rem, 51px);font-weight:normal}:host(.in-buttons){font-size:clamp(17px, 1.0625rem, 21.08px);font-weight:400}:host(.button-large){--border-radius:16px;--padding-top:17px;--padding-start:1em;--padding-end:1em;--padding-bottom:17px;min-height:3.1em;font-size:min(1.25rem, 60px)}:host(.button-small){--border-radius:6px;--padding-top:4px;--padding-start:0.9em;--padding-end:0.9em;--padding-bottom:4px;min-height:2.1em;font-size:min(0.8125rem, 39px)}:host(.button-round){--border-radius:999px;--padding-top:0;--padding-start:26px;--padding-end:26px;--padding-bottom:0}:host(.button-strong){font-weight:600}:host(.button-has-icon-only){--padding-top:0;--padding-bottom:var(--padding-top);--padding-end:var(--padding-top);--padding-start:var(--padding-end);min-width:clamp(30px, 2.125em, 60px);min-height:clamp(30px, 2.125em, 60px)}::slotted(ion-icon[slot=icon-only]){font-size:clamp(15.12px, 1.125em, 43.02px)}:host(.button-small.button-has-icon-only){min-width:clamp(23px, 2.16em, 54px);min-height:clamp(23px, 2.16em, 54px)}:host(.button-small) ::slotted(ion-icon[slot=icon-only]){font-size:clamp(12.1394px, 1.308125em, 40.1856px)}:host(.button-large.button-has-icon-only){min-width:clamp(46px, 2.5em, 78px);min-height:clamp(46px, 2.5em, 78px)}:host(.button-large) ::slotted(ion-icon[slot=icon-only]){font-size:clamp(15.12px, 0.9em, 43.056px)}:host(.button-outline.ion-focused.ion-color) .button-native,:host(.button-clear.ion-focused.ion-color) .button-native{color:var(--ion-color-base)}:host(.button-outline.ion-focused.ion-color) .button-native::after,:host(.button-clear.ion-focused.ion-color) .button-native::after{background:var(--ion-color-base)}:host(.button-solid.ion-color.ion-focused) .button-native::after{background:var(--ion-color-shade)}@media (any-hover: hover){:host(.button-clear:not(.ion-activated):hover),:host(.button-outline:not(.ion-activated):hover){opacity:0.6}:host(.button-clear.ion-color:hover) .button-native,:host(.button-outline.ion-color:hover) .button-native{color:var(--ion-color-base)}:host(.button-clear.ion-color:hover) .button-native::after,:host(.button-outline.ion-color:hover) .button-native::after{background:transparent}:host(.button-solid.ion-color:hover) .button-native::after{background:var(--ion-color-tint)}:host(:hover.button-solid.in-toolbar:not(.ion-color):not(.in-toolbar-color):not(.ion-activated)) .button-native::after{background:#fff;opacity:0.1}}:host(.button-clear.ion-activated){opacity:0.4}:host(.button-outline.ion-activated.ion-color) .button-native{color:var(--ion-color-contrast)}:host(.button-outline.ion-activated.ion-color) .button-native::after{background:var(--ion-color-base)}:host(.button-solid.ion-color.ion-activated) .button-native::after{background:var(--ion-color-shade)}:host(.button-outline.ion-activated.in-toolbar:not(.ion-color):not(.in-toolbar-color)) .button-native{background:var(--ion-toolbar-color, var(--color));color:var(--ion-toolbar-background, var(--background), var(--ion-color-primary-contrast, #fff))}`;
12317
12193
 
12318
12194
  const buttonMdCss = () => `:host{--overflow:hidden;--ripple-color:currentColor;--border-width:initial;--border-color:initial;--border-style:initial;--color-activated:var(--color);--color-focused:var(--color);--color-hover:var(--color);--box-shadow:none;display:inline-block;width:auto;color:var(--color);font-family:var(--ion-font-family, inherit);text-align:center;text-decoration:none;white-space:normal;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;vertical-align:top;vertical-align:-webkit-baseline-middle;-webkit-font-kerning:none;font-kerning:none}:host(.button-disabled){cursor:default;opacity:0.5;pointer-events:none}:host(.button-solid){--background:var(--ion-color-primary, #0054e9);--color:var(--ion-color-primary-contrast, #fff)}:host(.button-outline){--border-color:var(--ion-color-primary, #0054e9);--background:transparent;--color:var(--ion-color-primary, #0054e9)}:host(.button-clear){--border-width:0;--background:transparent;--color:var(--ion-color-primary, #0054e9)}:host(.button-block){display:block}:host(.button-block) .button-native{margin-left:0;margin-right:0;width:100%;clear:both;contain:content}:host(.button-block) .button-native::after{clear:both}:host(.button-full){display:block}:host(.button-full) .button-native{margin-left:0;margin-right:0;width:100%;contain:content}:host(.button-full:not(.button-round)) .button-native{border-radius:0;border-right-width:0;border-left-width:0}.button-native{border-radius:var(--border-radius);-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;-webkit-padding-start:var(--padding-start);padding-inline-start:var(--padding-start);-webkit-padding-end:var(--padding-end);padding-inline-end:var(--padding-end);padding-top:var(--padding-top);padding-bottom:var(--padding-bottom);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;display:-ms-flexbox;display:flex;position:relative;-ms-flex-align:center;align-items:center;width:100%;height:100%;min-height:inherit;-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);line-height:1;-webkit-box-shadow:var(--box-shadow);box-shadow:var(--box-shadow);contain:layout style;cursor:pointer;opacity:var(--opacity);overflow:var(--overflow);z-index:0;-webkit-box-sizing:border-box;box-sizing:border-box;-webkit-appearance:none;-moz-appearance:none;appearance:none}.button-native::-moz-focus-inner{border:0}.button-inner{display:-ms-flexbox;display:flex;position:relative;-ms-flex-flow:row nowrap;flex-flow:row nowrap;-ms-flex-negative:0;flex-shrink:0;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;width:100%;height:100%;z-index:1}::slotted([slot=start]),::slotted([slot=end]){-ms-flex-negative:0;flex-shrink:0}::slotted(ion-icon){font-size:1.35em;pointer-events:none}::slotted(ion-icon[slot=start]){-webkit-margin-start:-0.3em;margin-inline-start:-0.3em;-webkit-margin-end:0.3em;margin-inline-end:0.3em;margin-top:0;margin-bottom:0}::slotted(ion-icon[slot=end]){-webkit-margin-start:0.3em;margin-inline-start:0.3em;-webkit-margin-end:-0.2em;margin-inline-end:-0.2em;margin-top:0;margin-bottom:0}ion-ripple-effect{color:var(--ripple-color)}.button-native::after{left:0;right:0;top:0;bottom:0;position:absolute;content:"";opacity:0}:host(.ion-focused){color:var(--color-focused)}:host(.ion-focused) .button-native::after{background:var(--background-focused);opacity:var(--background-focused-opacity)}@media (any-hover: hover){:host(:hover){color:var(--color-hover)}:host(:hover) .button-native::after{background:var(--background-hover);opacity:var(--background-hover-opacity)}}:host(.ion-activated){color:var(--color-activated)}:host(.ion-activated) .button-native::after{background:var(--background-activated);opacity:var(--background-activated-opacity)}:host(.button-solid.ion-color) .button-native{background:var(--ion-color-base);color:var(--ion-color-contrast)}:host(.button-outline.ion-color) .button-native{border-color:var(--ion-color-base);background:transparent;color:var(--ion-color-base)}:host(.button-clear.ion-color) .button-native{background:transparent;color:var(--ion-color-base)}:host(.in-toolbar:not(.ion-color):not(.in-toolbar-color)) .button-native{color:var(--ion-toolbar-color, var(--color))}:host(.button-outline.in-toolbar:not(.ion-color):not(.in-toolbar-color)) .button-native{border-color:var(--ion-toolbar-color, var(--color, var(--border-color)))}:host(.button-solid.in-toolbar:not(.ion-color):not(.in-toolbar-color)) .button-native{background:var(--ion-toolbar-color, var(--background));color:var(--ion-toolbar-background, var(--color))}:host{--border-radius:4px;--padding-top:8px;--padding-bottom:8px;--padding-start:1.1em;--padding-end:1.1em;--transition:box-shadow 280ms cubic-bezier(.4, 0, .2, 1), background-color 15ms linear, color 15ms linear;-webkit-margin-start:2px;margin-inline-start:2px;-webkit-margin-end:2px;margin-inline-end:2px;margin-top:4px;margin-bottom:4px;min-height:36px;font-size:0.875rem;font-weight:500;letter-spacing:0.06em;text-transform:uppercase}:host(.button-solid){--background-activated:transparent;--background-hover:var(--ion-color-primary-contrast, #fff);--background-focused:var(--ion-color-primary-contrast, #fff);--background-activated-opacity:0;--background-focused-opacity:.24;--background-hover-opacity:.08;--box-shadow:0 3px 1px -2px rgba(0, 0, 0, 0.2), 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 1px 5px 0 rgba(0, 0, 0, 0.12)}:host(.button-solid.ion-activated){--box-shadow:0 5px 5px -3px rgba(0, 0, 0, 0.2), 0 8px 10px 1px rgba(0, 0, 0, 0.14), 0 3px 14px 2px rgba(0, 0, 0, 0.12)}:host(.button-outline){--border-width:2px;--border-style:solid;--box-shadow:none;--background-activated:transparent;--background-focused:var(--ion-color-primary, #0054e9);--background-hover:var(--ion-color-primary, #0054e9);--background-activated-opacity:0;--background-focused-opacity:.12;--background-hover-opacity:.04}:host(.button-outline.ion-activated.ion-color) .button-native{background:transparent}:host(.button-clear){--background-activated:transparent;--background-focused:var(--ion-color-primary, #0054e9);--background-hover:var(--ion-color-primary, #0054e9);--background-activated-opacity:0;--background-focused-opacity:.12;--background-hover-opacity:.04}:host(.button-round){--border-radius:999px;--padding-top:0;--padding-start:26px;--padding-end:26px;--padding-bottom:0}:host(.button-large){--padding-top:14px;--padding-start:1em;--padding-end:1em;--padding-bottom:14px;min-height:2.8em;font-size:1.25rem}:host(.button-small){--padding-top:4px;--padding-start:0.9em;--padding-end:0.9em;--padding-bottom:4px;min-height:2.1em;font-size:0.8125rem}:host(.button-strong){font-weight:bold}:host(.button-has-icon-only){--padding-top:0;--padding-bottom:var(--padding-top);--padding-end:var(--padding-top);--padding-start:var(--padding-end);min-width:clamp(30px, 2.86em, 60px);min-height:clamp(30px, 2.86em, 60px)}::slotted(ion-icon[slot=icon-only]){font-size:clamp(15.104px, 1.6em, 43.008px)}:host(.button-small.button-has-icon-only){min-width:clamp(23px, 2.16em, 54px);min-height:clamp(23px, 2.16em, 54px)}:host(.button-small) ::slotted(ion-icon[slot=icon-only]){font-size:clamp(13.002px, 1.23125em, 40.385px)}:host(.button-large.button-has-icon-only){min-width:clamp(46px, 2.5em, 78px);min-height:clamp(46px, 2.5em, 78px)}:host(.button-large) ::slotted(ion-icon[slot=icon-only]){font-size:clamp(15.008px, 1.4em, 43.008px)}:host(.button-solid.ion-color.ion-focused) .button-native::after{background:var(--ion-color-contrast)}:host(.button-clear.ion-color.ion-focused) .button-native::after,:host(.button-outline.ion-color.ion-focused) .button-native::after{background:var(--ion-color-base)}@media (any-hover: hover){:host(.button-solid.ion-color:hover) .button-native::after{background:var(--ion-color-contrast)}:host(.button-clear.ion-color:hover) .button-native::after,:host(.button-outline.ion-color:hover) .button-native::after{background:var(--ion-color-base)}}:host(.button-outline.ion-activated.in-toolbar:not(.ion-color):not(.in-toolbar-color)) .button-native{background:var(--ion-toolbar-background, var(--color));color:var(--ion-toolbar-color, var(--background), var(--ion-color-primary-contrast, #fff))}`;
@@ -12337,6 +12213,7 @@ class Button {
12337
12213
  this.inToolbar = false;
12338
12214
  this.formButtonEl = null;
12339
12215
  this.formEl = null;
12216
+ this.inheritedAttributes = {};
12340
12217
  /**
12341
12218
  * If `true`, the button only has an icon.
12342
12219
  */
@@ -12395,6 +12272,22 @@ class Button {
12395
12272
  this.formButtonEl.disabled = disabled;
12396
12273
  }
12397
12274
  }
12275
+ /**
12276
+ * This component is used within the `ion-input-password-toggle` component
12277
+ * to toggle the visibility of the password input.
12278
+ * These attributes need to update based on the state of the password input.
12279
+ * Otherwise, the values will be stale.
12280
+ *
12281
+ * @param newValue
12282
+ * @param _oldValue
12283
+ * @param propName
12284
+ */
12285
+ onAriaChanged(newValue, _oldValue, propName) {
12286
+ this.inheritedAttributes = {
12287
+ ...this.inheritedAttributes,
12288
+ [propName]: newValue,
12289
+ };
12290
+ }
12398
12291
  /**
12399
12292
  * This is responsible for rendering a hidden native
12400
12293
  * button element inside the associated form. This allows
@@ -12432,21 +12325,7 @@ class Button {
12432
12325
  this.inToolbar = !!this.el.closest('ion-buttons');
12433
12326
  this.inListHeader = !!this.el.closest('ion-list-header');
12434
12327
  this.inItem = !!this.el.closest('ion-item') || !!this.el.closest('ion-item-divider');
12435
- /**
12436
- * The ARIA state has to stay live, since `ion-input-password-toggle` rewrites
12437
- * `aria-label` and `aria-pressed` on its `ion-button` on every toggle. We keep
12438
- * `aria-disabled` out of the watch because the `<Host>` below renders it from the
12439
- * `disabled` prop and those writes would clobber a developer's value, and `role` out
12440
- * because a post-load write stays on the host too, which would put the same role on
12441
- * two elements in the accessibility tree.
12442
- */
12443
- this.ariaController = createAriaAttributeController(this.el, () => forceUpdate(), ['aria-disabled', 'role']);
12444
- }
12445
- connectedCallback() {
12446
- this.ariaController?.init();
12447
- }
12448
- disconnectedCallback() {
12449
- this.ariaController?.destroy();
12328
+ this.inheritedAttributes = inheritAriaAttributes(this.el);
12450
12329
  }
12451
12330
  get hasIconOnly() {
12452
12331
  return !!this.el.querySelector('[slot="icon-only"]');
@@ -12521,8 +12400,7 @@ class Button {
12521
12400
  }
12522
12401
  render() {
12523
12402
  const mode = getIonMode$1(this);
12524
- const { buttonType, type, disabled, rel, target, size, href, color, expand, hasIconOnly, shape, strong } = this;
12525
- const inheritedAttributes = this.ariaController?.attributes ?? {};
12403
+ const { buttonType, type, disabled, rel, target, size, href, color, expand, hasIconOnly, shape, strong, inheritedAttributes, } = this;
12526
12404
  const finalSize = size === undefined && this.inItem ? 'small' : size;
12527
12405
  const TagType = href === undefined ? 'button' : 'a';
12528
12406
  const attrs = TagType === 'button'
@@ -12547,7 +12425,7 @@ class Button {
12547
12425
  {
12548
12426
  type !== 'button' && this.renderHiddenButton();
12549
12427
  }
12550
- return (hAsync(Host, { key: 'fd42d1a5836c148cddd6c474c130ce4bb36286ea', onClick: this.handleClick, "aria-disabled": disabled ? 'true' : null, class: createColorClasses$1(color, {
12428
+ return (hAsync(Host, { key: '82c71b8cbf3bb51e443f4aa99c375bf5be6b8dc7', onClick: this.handleClick, "aria-disabled": disabled ? 'true' : null, class: createColorClasses$1(color, {
12551
12429
  [mode]: true,
12552
12430
  [buttonType]: true,
12553
12431
  [`${buttonType}-${expand}`]: expand !== undefined,
@@ -12562,12 +12440,21 @@ class Button {
12562
12440
  'button-disabled': disabled,
12563
12441
  'ion-activatable': true,
12564
12442
  'ion-focusable': true,
12565
- }) }, hAsync(TagType, { key: '97dbf689ea912aed38182dbe0097a2bf5b768816', ...attrs, class: "button-native", part: "native", disabled: disabled, onFocus: this.onFocus, onBlur: this.onBlur, ...inheritedAttributes }, hAsync("span", { key: '0f1ff4c667e95a8e3dc787fee43fe529b95477b7', class: "button-inner" }, hAsync("slot", { key: 'fc1e8b8080d02828c392e9edd6a70e0255435f82', name: "icon-only", onSlotchange: this.slotChanged }), hAsync("slot", { key: 'c1ece4c0d935f4d023d38fee4cf529dd4123d487', name: "start" }), hAsync("slot", { key: '970db0ee1e3633bc9cbff52eca446e4891ff6851' }), hAsync("slot", { key: 'ef8d7d894f01dbe881f381b985620c2a482e55fe', name: "end" })), mode === 'md' && hAsync("ion-ripple-effect", { key: 'fea5e49a54b0efd07b1bd35d9fd5d2d862a2bac1', type: this.rippleType }))));
12443
+ }) }, hAsync(TagType, { key: '53f4cb366bac796ab38f609e858bc1a55fce7641', ...attrs, class: "button-native", part: "native", disabled: disabled, onFocus: this.onFocus, onBlur: this.onBlur, ...inheritedAttributes }, hAsync("span", { key: '40e127fc11c889e77b8bf02e8714f0dea83bfce7', class: "button-inner" }, hAsync("slot", { key: 'e11c8c86d3f0894658a8999129425c9c111f5540', name: "icon-only", onSlotchange: this.slotChanged }), hAsync("slot", { key: '105ea9259ea17036359e6fe7eced8b267ab8e0f6', name: "start" }), hAsync("slot", { key: '0d7b0966e328a5b10b0562dacbd638dfd08d92af' }), hAsync("slot", { key: 'c542b40685802464d69f57ecc0a7c3465d24a417', name: "end" })), mode === 'md' && hAsync("ion-ripple-effect", { key: '46df4cbeb057b0a8daab92226121d8bbb8c0ee07', type: this.rippleType }))));
12566
12444
  }
12567
12445
  get el() { return getElement(this); }
12568
12446
  static get watchers() { return {
12569
12447
  "disabled": [{
12570
12448
  "disabledChanged": 0
12449
+ }],
12450
+ "aria-checked": [{
12451
+ "onAriaChanged": 0
12452
+ }],
12453
+ "aria-label": [{
12454
+ "onAriaChanged": 0
12455
+ }],
12456
+ "aria-pressed": [{
12457
+ "onAriaChanged": 0
12571
12458
  }]
12572
12459
  }; }
12573
12460
  static get style() { return {
@@ -12658,6 +12545,7 @@ const cardMdCss = () => `:host{--ion-safe-area-left:0px;--ion-safe-area-right:0p
12658
12545
  class Card {
12659
12546
  constructor(hostRef) {
12660
12547
  registerInstance(this, hostRef);
12548
+ this.inheritedAriaAttributes = {};
12661
12549
  /**
12662
12550
  * If `true`, a button tag will be rendered and the card will be tappable.
12663
12551
  */
@@ -12677,13 +12565,7 @@ class Card {
12677
12565
  this.routerDirection = 'forward';
12678
12566
  }
12679
12567
  componentWillLoad() {
12680
- this.ariaController = createAttributeController(this.el, ['aria-label'], () => forceUpdate());
12681
- }
12682
- connectedCallback() {
12683
- this.ariaController?.init();
12684
- }
12685
- disconnectedCallback() {
12686
- this.ariaController?.destroy();
12568
+ this.inheritedAriaAttributes = inheritAttributes$1(this.el, ['aria-label']);
12687
12569
  }
12688
12570
  isClickable() {
12689
12571
  return this.href !== undefined || this.button;
@@ -12693,8 +12575,7 @@ class Card {
12693
12575
  if (!clickable) {
12694
12576
  return [hAsync("slot", null)];
12695
12577
  }
12696
- const { href, routerAnimation, routerDirection } = this;
12697
- const inheritedAriaAttributes = this.ariaController?.attributes ?? {};
12578
+ const { href, routerAnimation, routerDirection, inheritedAriaAttributes } = this;
12698
12579
  const TagType = clickable ? (href === undefined ? 'button' : 'a') : 'div';
12699
12580
  const attrs = TagType === 'button'
12700
12581
  ? { type: this.type }
@@ -12708,7 +12589,7 @@ class Card {
12708
12589
  }
12709
12590
  render() {
12710
12591
  const mode = getIonMode$1(this);
12711
- return (hAsync(Host, { key: '07237201c12e4faae7730f4c4468214d38e3f9f7', class: createColorClasses$1(this.color, {
12592
+ return (hAsync(Host, { key: '85e9b30bd81e79a0c7ac75cb3664bdcf9e4afc4d', class: createColorClasses$1(this.color, {
12712
12593
  [mode]: true,
12713
12594
  'card-disabled': this.disabled,
12714
12595
  'ion-activatable': this.isClickable(),
@@ -21874,6 +21755,7 @@ class Item {
21874
21755
  registerInstance(this, hostRef);
21875
21756
  this.labelColorStyles = {};
21876
21757
  this.itemStyles = new Map();
21758
+ this.inheritedAriaAttributes = {};
21877
21759
  this.didLoad = false;
21878
21760
  this.multipleInputs = false;
21879
21761
  this.focusable = true;
@@ -21953,16 +21835,9 @@ class Item {
21953
21835
  this.watchForIndicatorControls();
21954
21836
  this.updateInteractivityOnSlotChange();
21955
21837
  }
21956
- this.ariaController?.init();
21957
21838
  }
21958
21839
  componentWillLoad() {
21959
- /**
21960
- * Only the initial copy takes the attribute off the host, so an `aria-label` written
21961
- * after load names both the native element and the Host, which is a `listitem` when
21962
- * the item is in an `ion-list`. The two names always agree, so a screen reader just
21963
- * reads it twice.
21964
- */
21965
- this.ariaController = createAttributeController(this.el, ['aria-label'], () => forceUpdate());
21840
+ this.inheritedAriaAttributes = inheritAttributes$1(this.el, ['aria-label']);
21966
21841
  }
21967
21842
  componentDidLoad() {
21968
21843
  raf(() => {
@@ -21979,7 +21854,6 @@ class Item {
21979
21854
  this.indicatorControlObserver.disconnect();
21980
21855
  this.indicatorControlObserver = undefined;
21981
21856
  }
21982
- this.ariaController?.destroy();
21983
21857
  }
21984
21858
  totalNestedInputs() {
21985
21859
  // The following elements have a clickable cover that is relative to the entire item
@@ -22076,8 +21950,7 @@ class Item {
22076
21950
  return controls[0];
22077
21951
  }
22078
21952
  render() {
22079
- const { detail, detailIcon, download, labelColorStyles, lines, disabled, href, rel, target, routerAnimation, routerDirection, multipleInputs, } = this;
22080
- const inheritedAriaAttributes = this.ariaController?.attributes ?? {};
21953
+ const { detail, detailIcon, download, labelColorStyles, lines, disabled, href, rel, target, routerAnimation, routerDirection, inheritedAriaAttributes, multipleInputs, } = this;
22081
21954
  const childStyles = {};
22082
21955
  const mode = getIonMode$1(this);
22083
21956
  const clickable = this.isClickable();
@@ -22153,7 +22026,7 @@ class Item {
22153
22026
  * multi-input item, and in a clickable item, which is a second tab stop.
22154
22027
  */
22155
22028
  const slottedIndicatorNeedsRoom = this.hasSlottedIndicatorControl && (multipleInputs || this.isClickable());
22156
- return (hAsync(Host, { key: '7fe924642310c19f057ae1bfa29c1acdf5cc7ed6', "aria-disabled": ariaDisabled, class: {
22029
+ return (hAsync(Host, { key: '0dc161ad7ac2fdedc5005015fceb34ed176010a6', "aria-disabled": ariaDisabled, class: {
22157
22030
  ...childStyles,
22158
22031
  ...labelColorStyles,
22159
22032
  ...createColorClasses$1(this.color, {
@@ -22170,7 +22043,7 @@ class Item {
22170
22043
  'ion-focusable': this.focusable,
22171
22044
  'item-rtl': document.dir === 'rtl',
22172
22045
  }),
22173
- }, role: inList ? 'listitem' : null }, hAsync(TagType, { key: '8fddfb2a076b4b98e45ee8b23579d011dba12acb', ...attrs, ...inheritedAriaAttributes, class: "item-native", part: "native", disabled: disabled, ...clickFn }, hAsync("slot", { key: '7f888b62b2023cf501fd308e32629e7a291c2d05', name: "start", onSlotchange: this.updateInteractivityOnSlotChange }), hAsync("div", { key: '6d5cdde307caa65b131edb65cb0a5f8294cf151c', class: "item-inner", part: "inner" }, hAsync("div", { key: '9fbfffdff4cf51adf1f02d573953cf8b145574b0', class: "input-wrapper", part: "container" }, hAsync("slot", { key: '574c7e61cdaa3959a28bad7353105ef217a76ed9', onSlotchange: this.updateInteractivityOnSlotChange })), hAsync("slot", { key: 'ed7e211960cd65ed17f865a6d50d5bdde069416b', name: "end", onSlotchange: this.updateInteractivityOnSlotChange }), showDetail && (hAsync("ion-icon", { key: '2847bb21f42e9d5ab8ea86262b2bc1c3b3f7c902', icon: detailIcon, lazy: false, class: "item-detail-icon", part: "detail-icon", "aria-hidden": "true", "flip-rtl": detailIcon === chevronForward }))), canActivate && mode === 'md' && hAsync("ion-ripple-effect", { key: '55502ef394db0953144387fa3baebf9fa6a976a9' }))));
22046
+ }, role: inList ? 'listitem' : null }, hAsync(TagType, { key: 'd42583cf62133b2553de2e7a5357168640bb1834', ...attrs, ...inheritedAriaAttributes, class: "item-native", part: "native", disabled: disabled, ...clickFn }, hAsync("slot", { key: 'bd805ce49946cd52280d1c4b370104ee2472f1e2', name: "start", onSlotchange: this.updateInteractivityOnSlotChange }), hAsync("div", { key: '0de589f9c5c13c31b6c8838566a7ad6f78f81028', class: "item-inner", part: "inner" }, hAsync("div", { key: 'faaf6a39e072fb352753c645736ab1f47c2d7d25', class: "input-wrapper", part: "container" }, hAsync("slot", { key: '70a34c31de29a0786a14b4a7d3156ba8d4d92eb4', onSlotchange: this.updateInteractivityOnSlotChange })), hAsync("slot", { key: 'c8e764b62c5c30f67750896741ca266b741d5999', name: "end", onSlotchange: this.updateInteractivityOnSlotChange }), showDetail && (hAsync("ion-icon", { key: 'af006856d8c4ed69174534261344215957cc751a', icon: detailIcon, lazy: false, class: "item-detail-icon", part: "detail-icon", "aria-hidden": "true", "flip-rtl": detailIcon === chevronForward }))), canActivate && mode === 'md' && hAsync("ion-ripple-effect", { key: 'e5e151bafedd38feb8f71a387a0059aa1e9e90de' }))));
22174
22047
  }
22175
22048
  get el() { return getElement(this); }
22176
22049
  static get watchers() { return {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ionic/core",
3
- "version": "9.0.4-dev.11789491273.11ab1c95",
3
+ "version": "9.0.4-dev.11789496656.1690cf55",
4
4
  "description": "Base components for Ionic",
5
5
  "engines": {
6
6
  "node": ">= 16"
@@ -83,7 +83,7 @@
83
83
  "@playwright/test": "^1.62.1",
84
84
  "@rollup/plugin-node-resolve": "^8.4.0",
85
85
  "@rollup/plugin-virtual": "^2.0.3",
86
- "@stencil/angular-output-target": "^1.4.1",
86
+ "@stencil/angular-output-target": "^1.5.0",
87
87
  "@stencil/react-output-target": "^1.6.2",
88
88
  "@stencil/sass": "^3.0.9",
89
89
  "@stencil/vue-output-target": "0.14.2",
@@ -1,4 +0,0 @@
1
- /*!
2
- * (C) Ionic http://ionicframework.com - MIT License
3
- */
4
- import{w as t}from"./p-ZjP4CjeZ.js";import{j as o,k as r}from"./p-DX55ygwT.js";const s=(r,s,e,n=[])=>{let i,a=o(r,s);const c=s.filter((t=>!n.includes(t))),u=new Set,f=(t,o)=>{null===o?u.delete(t):u.add(t)},j=()=>{void 0===i&&0!==c.length&&void 0!==t&&"MutationObserver"in t&&((()=>{const t={};for(const o of c){const s=r.getAttribute(o),e=u.has(o);f(o,s),null===s&&!e||s===a[o]||(t[o]=s)}Object.keys(t).length>0&&(a={...a,...t},e())})(),i=new MutationObserver((t=>{const o={};for(const s of t){const t=s.attributeName,e=r.getAttribute(t);f(t,e),o[t]=e}a={...a,...o},e()})),i.observe(r,{attributeFilter:c}))};return j(),{get attributes(){return a},init:j,destroy:()=>{i?.disconnect(),i=void 0}}},e=(t,o,e=[])=>s(t,r,o,e);export{e as a,s as c}
@@ -1,4 +0,0 @@
1
- /*!
2
- * (C) Ionic http://ionicframework.com - MIT License
3
- */
4
- import{m as a}from"./p-i_RUbfxc.js";const t=async t=>{const s=await a.get(t);return!(!s||!await s.isActive())};export{t as u}
@@ -1,4 +0,0 @@
1
- /*!
2
- * (C) Ionic http://ionicframework.com - MIT License
3
- */
4
- import{p as t,H as i,i as o,h as e,d as n,t as r}from"./p-CthoZqG1.js";import{c as a}from"./p-BUZjpZPj.js";import{r as s}from"./p-DX55ygwT.js";import{h as d,o as l,c}from"./p-byZM6qHV.js";import{g as p}from"./p-LpMHEu3v.js";import{b as m}from"./p-2ta4uE9-.js";import{d as g}from"./p-MLplUp3U.js";import{d as h}from"./p-BuxZkazO.js";const b="ion-checkbox, ion-radio, ion-toggle",f=t(class extends i{constructor(t){super(),!1!==t&&this.__registerHost(),this.__attachShadow(),this.labelColorStyles={},this.itemStyles=new Map,this.didLoad=!1,this.multipleInputs=!1,this.focusable=!0,this.isInteractive=!1,this.hasSlottedIndicatorControl=!1,this.button=!1,this.detailIcon=p,this.disabled=!1,this.routerDirection="forward",this.type="button",this.updateInteractivityOnSlotChange=()=>{this.setIsInteractive(),this.setMultipleInputs(),this.setHasSlottedIndicatorControl()}}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(),this.didLoad&&(this.watchForIndicatorControls(),this.updateInteractivityOnSlotChange()),this.ariaController?.init()}componentWillLoad(){this.ariaController=a(this.el,["aria-label"],(()=>o(this)))}componentDidLoad(){s((()=>{this.setMultipleInputs(),this.setIsInteractive(),this.setHasSlottedIndicatorControl(),this.focusable=this.isFocusable()})),this.watchForIndicatorControls(),this.didLoad=!0}disconnectedCallback(){this.indicatorControlObserver&&(this.indicatorControlObserver.disconnect(),this.indicatorControlObserver=void 0),this.ariaController?.destroy()}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}watchForIndicatorControls(){"undefined"!=typeof MutationObserver&&(this.indicatorControlObserver?.disconnect(),this.indicatorControlObserver=new MutationObserver((t=>{t.some(x)&&this.updateInteractivityOnSlotChange()})),this.indicatorControlObserver.observe(this.el,{childList:!0,subtree:!0}))}setHasSlottedIndicatorControl(){const t=this.el.querySelectorAll(b);this.hasSlottedIndicatorControl=Array.from(t).some((t=>{let i=t;for(;null!==i&&i.parentElement!==this.el;)i=i.parentElement;return null!==i&&!i.getAttribute("slot")}))}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:f,routerDirection:v,multipleInputs:x}=this,u=this.ariaController?.attributes??{},k={},w=m(this),y=this.isClickable(),z=this.canActivate(),C=y?void 0===g?"button":"a":"div",j="button"===C?{type:this.type}:{download:o,href:g,rel:h,target:b};let I={};const E=this.getFirstInteractive();(y||void 0!==E&&!x)&&(I={onClick:t=>{if(y&&l(g,t,v,f),void 0!==E&&!x){const i=t.composedPath();t.isTrusted&&this.el.shadowRoot.contains(i[0])&&("ION-INPUT"!==E.tagName&&"ION-TEXTAREA"!==E.tagName||E.setFocus(),E.click(),t.stopImmediatePropagation())}}});const O=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=d("ion-list",this.el)&&!d("ion-radio-group",this.el),N=void 0!==E&&!["ION-INPUT","ION-TEXTAREA"].includes(E.tagName),M=this.hasSlottedIndicatorControl&&(x||this.isClickable());return e(n,{key:"7fe924642310c19f057ae1bfa29c1acdf5cc7ed6","aria-disabled":A,class:{...k,...r,...c(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,"item-focus-indicator-room":M,"ion-activatable":z,"ion-focusable":this.focusable,"item-rtl":"rtl"===document.dir})},role:S?"listitem":null},e(C,{key:"8fddfb2a076b4b98e45ee8b23579d011dba12acb",...j,...u,class:"item-native",part:"native",disabled:s,...I},e("slot",{key:"7f888b62b2023cf501fd308e32629e7a291c2d05",name:"start",onSlotchange:this.updateInteractivityOnSlotChange}),e("div",{key:"6d5cdde307caa65b131edb65cb0a5f8294cf151c",class:"item-inner",part:"inner"},e("div",{key:"9fbfffdff4cf51adf1f02d573953cf8b145574b0",class:"input-wrapper",part:"container"},e("slot",{key:"574c7e61cdaa3959a28bad7353105ef217a76ed9",onSlotchange:this.updateInteractivityOnSlotChange})),e("slot",{key:"ed7e211960cd65ed17f865a6d50d5bdde069416b",name:"end",onSlotchange:this.updateInteractivityOnSlotChange}),O&&e("ion-icon",{key:"2847bb21f42e9d5ab8ea86262b2bc1c3b3f7c902",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:"55502ef394db0953144387fa3baebf9fa6a976a9"})))}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-focus-indicator-room) .input-wrapper{-webkit-margin-start:-12px;margin-inline-start:-12px;-webkit-margin-end:-12px;margin-inline-end:-12px;-webkit-padding-start:12px;padding-inline-start:12px;-webkit-padding-end:12px;padding-inline-end:12px}: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-focus-indicator-room) .input-wrapper{-webkit-margin-start:-12px;margin-inline-start:-12px;-webkit-margin-end:-12px;margin-inline-end:-12px;-webkit-padding-start:12px;padding-inline-start:12px;-webkit-padding-end:12px;padding-inline-end:12px}: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],hasSlottedIndicatorControl:[32]},[[0,"ionColor","labelColorChanged"],[0,"ionStyle","itemStyle"]],{button:[{buttonChanged:0}]}]),v=t=>{if(t.nodeType!==Node.ELEMENT_NODE)return!1;const i=t;return i.matches(b)||null!==i.querySelector(b)},x=t=>Array.from(t.addedNodes).some(v)||Array.from(t.removedNodes).some(v);function u(){"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),f);break;case"ion-icon":customElements.get(r(t))||g();break;case"ion-ripple-effect":customElements.get(r(t))||h()}}))}export{f as I,u as d}
@@ -1,4 +0,0 @@
1
- /*!
2
- * (C) Ionic http://ionicframework.com - MIT License
3
- */
4
- import{p as o,H as t,e as n,f as r,h as i,d as e,t as a,i as d}from"./p-CthoZqG1.js";import{a as s}from"./p-BUZjpZPj.js";import{h as l}from"./p-DX55ygwT.js";import{o as c,c as b,h}from"./p-byZM6qHV.js";import{b as u}from"./p-2ta4uE9-.js";import{d as p}from"./p-BuxZkazO.js";const g=o(class extends t{constructor(o){super(),!1!==o&&this.__registerHost(),this.__attachShadow(),this.ionFocus=n(this,"ionFocus",7),this.ionBlur=n(this,"ionBlur",7),this.inItem=!1,this.inListHeader=!1,this.inToolbar=!1,this.formButtonEl=null,this.formEl=null,this.isCircle=!1,this.buttonType="button",this.disabled=!1,this.routerDirection="forward",this.strong=!1,this.type="button",this.handleClick=o=>{const{el:t}=this;"button"===this.type?c(this.href,o,this.routerDirection,this.routerAnimation):l(t)&&this.submitForm(o)},this.onFocus=()=>{this.ionFocus.emit()},this.onBlur=()=>{this.ionBlur.emit()},this.slotChanged=()=>{this.isCircle=this.hasIconOnly}}disabledChanged(){const{disabled:o}=this;this.formButtonEl&&(this.formButtonEl.disabled=o)}renderHiddenButton(){const o=this.formEl=this.findForm();if(o){const{formButtonEl:t}=this;if(null!==t&&o.contains(t))return t.disabled=this.disabled,void(t.type=this.type);const n=this.formButtonEl=document.createElement("button");n.type=this.type,n.style.display="none",n.disabled=this.disabled,o.appendChild(n)}}componentWillLoad(){this.inToolbar=!!this.el.closest("ion-buttons"),this.inListHeader=!!this.el.closest("ion-list-header"),this.inItem=!!this.el.closest("ion-item")||!!this.el.closest("ion-item-divider"),this.ariaController=s(this.el,(()=>d(this)),["aria-disabled","role"])}connectedCallback(){this.ariaController?.init()}disconnectedCallback(){this.ariaController?.destroy()}get hasIconOnly(){return!!this.el.querySelector('[slot="icon-only"]')}get rippleType(){return(void 0===this.fill||"clear"===this.fill)&&this.hasIconOnly&&this.inToolbar?"unbounded":"bounded"}findForm(){const{form:o}=this;if(o instanceof HTMLFormElement)return o;if("string"==typeof o){const t=document.getElementById(o);return t?t instanceof HTMLFormElement?t:(r(`[ion-button] - Form with selector: "#${o}" could not be found. Verify that the id is attached to a <form> element.`,this.el),null):(r(`[ion-button] - Form with selector: "#${o}" could not be found. Verify that the id is correct and the form is rendered in the DOM.`,this.el),null)}return void 0!==o?(r('[ion-button] - The provided "form" element is invalid. Verify that the form is a HTMLFormElement and rendered in the DOM.',this.el),null):this.el.closest("form")}submitForm(o){this.formEl&&this.formButtonEl&&(o.preventDefault(),this.formButtonEl.click())}render(){const o=u(this),{buttonType:t,type:n,disabled:r,rel:a,target:d,size:s,href:l,color:c,expand:p,hasIconOnly:g,shape:m,strong:v}=this,f=this.ariaController?.attributes??{},x=void 0===s&&this.inItem?"small":s,k=void 0===l?"button":"a",y="button"===k?{type:n}:{download:this.download,href:l,rel:a,target:d};let w=this.fill;return void 0===w&&(w=this.inToolbar||this.inListHeader?"clear":"solid"),"button"!==n&&this.renderHiddenButton(),i(e,{key:"fd42d1a5836c148cddd6c474c130ce4bb36286ea",onClick:this.handleClick,"aria-disabled":r?"true":null,class:b(c,{[o]:!0,[t]:!0,[`${t}-${p}`]:void 0!==p,[`${t}-${x}`]:void 0!==x,[`${t}-${m}`]:void 0!==m,[`${t}-${w}`]:!0,[`${t}-strong`]:v,"in-toolbar":h("ion-toolbar",this.el),"in-toolbar-color":h("ion-toolbar[color]",this.el),"in-buttons":h("ion-buttons",this.el),"button-has-icon-only":g,"button-disabled":r,"ion-activatable":!0,"ion-focusable":!0})},i(k,{key:"97dbf689ea912aed38182dbe0097a2bf5b768816",...y,class:"button-native",part:"native",disabled:r,onFocus:this.onFocus,onBlur:this.onBlur,...f},i("span",{key:"0f1ff4c667e95a8e3dc787fee43fe529b95477b7",class:"button-inner"},i("slot",{key:"fc1e8b8080d02828c392e9edd6a70e0255435f82",name:"icon-only",onSlotchange:this.slotChanged}),i("slot",{key:"c1ece4c0d935f4d023d38fee4cf529dd4123d487",name:"start"}),i("slot",{key:"970db0ee1e3633bc9cbff52eca446e4891ff6851"}),i("slot",{key:"ef8d7d894f01dbe881f381b985620c2a482e55fe",name:"end"})),"md"===o&&i("ion-ripple-effect",{key:"fea5e49a54b0efd07b1bd35d9fd5d2d862a2bac1",type:this.rippleType})))}get el(){return this}static get watchers(){return{disabled:[{disabledChanged:0}]}}static get style(){return{ios:':host{--overflow:hidden;--ripple-color:currentColor;--border-width:initial;--border-color:initial;--border-style:initial;--color-activated:var(--color);--color-focused:var(--color);--color-hover:var(--color);--box-shadow:none;display:inline-block;width:auto;color:var(--color);font-family:var(--ion-font-family, inherit);text-align:center;text-decoration:none;white-space:normal;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;vertical-align:top;vertical-align:-webkit-baseline-middle;-webkit-font-kerning:none;font-kerning:none}:host(.button-disabled){cursor:default;opacity:0.5;pointer-events:none}:host(.button-solid){--background:var(--ion-color-primary, #0054e9);--color:var(--ion-color-primary-contrast, #fff)}:host(.button-outline){--border-color:var(--ion-color-primary, #0054e9);--background:transparent;--color:var(--ion-color-primary, #0054e9)}:host(.button-clear){--border-width:0;--background:transparent;--color:var(--ion-color-primary, #0054e9)}:host(.button-block){display:block}:host(.button-block) .button-native{margin-left:0;margin-right:0;width:100%;clear:both;contain:content}:host(.button-block) .button-native::after{clear:both}:host(.button-full){display:block}:host(.button-full) .button-native{margin-left:0;margin-right:0;width:100%;contain:content}:host(.button-full:not(.button-round)) .button-native{border-radius:0;border-right-width:0;border-left-width:0}.button-native{border-radius:var(--border-radius);-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;-webkit-padding-start:var(--padding-start);padding-inline-start:var(--padding-start);-webkit-padding-end:var(--padding-end);padding-inline-end:var(--padding-end);padding-top:var(--padding-top);padding-bottom:var(--padding-bottom);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;display:-ms-flexbox;display:flex;position:relative;-ms-flex-align:center;align-items:center;width:100%;height:100%;min-height:inherit;-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);line-height:1;-webkit-box-shadow:var(--box-shadow);box-shadow:var(--box-shadow);contain:layout style;cursor:pointer;opacity:var(--opacity);overflow:var(--overflow);z-index:0;-webkit-box-sizing:border-box;box-sizing:border-box;-webkit-appearance:none;-moz-appearance:none;appearance:none}.button-native::-moz-focus-inner{border:0}.button-inner{display:-ms-flexbox;display:flex;position:relative;-ms-flex-flow:row nowrap;flex-flow:row nowrap;-ms-flex-negative:0;flex-shrink:0;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;width:100%;height:100%;z-index:1}::slotted([slot=start]),::slotted([slot=end]){-ms-flex-negative:0;flex-shrink:0}::slotted(ion-icon){font-size:1.35em;pointer-events:none}::slotted(ion-icon[slot=start]){-webkit-margin-start:-0.3em;margin-inline-start:-0.3em;-webkit-margin-end:0.3em;margin-inline-end:0.3em;margin-top:0;margin-bottom:0}::slotted(ion-icon[slot=end]){-webkit-margin-start:0.3em;margin-inline-start:0.3em;-webkit-margin-end:-0.2em;margin-inline-end:-0.2em;margin-top:0;margin-bottom:0}ion-ripple-effect{color:var(--ripple-color)}.button-native::after{left:0;right:0;top:0;bottom:0;position:absolute;content:"";opacity:0}:host(.ion-focused){color:var(--color-focused)}:host(.ion-focused) .button-native::after{background:var(--background-focused);opacity:var(--background-focused-opacity)}@media (any-hover: hover){:host(:hover){color:var(--color-hover)}:host(:hover) .button-native::after{background:var(--background-hover);opacity:var(--background-hover-opacity)}}:host(.ion-activated){color:var(--color-activated)}:host(.ion-activated) .button-native::after{background:var(--background-activated);opacity:var(--background-activated-opacity)}:host(.button-solid.ion-color) .button-native{background:var(--ion-color-base);color:var(--ion-color-contrast)}:host(.button-outline.ion-color) .button-native{border-color:var(--ion-color-base);background:transparent;color:var(--ion-color-base)}:host(.button-clear.ion-color) .button-native{background:transparent;color:var(--ion-color-base)}:host(.in-toolbar:not(.ion-color):not(.in-toolbar-color)) .button-native{color:var(--ion-toolbar-color, var(--color))}:host(.button-outline.in-toolbar:not(.ion-color):not(.in-toolbar-color)) .button-native{border-color:var(--ion-toolbar-color, var(--color, var(--border-color)))}:host(.button-solid.in-toolbar:not(.ion-color):not(.in-toolbar-color)) .button-native{background:var(--ion-toolbar-color, var(--background));color:var(--ion-toolbar-background, var(--color))}:host{--border-radius:14px;--padding-top:13px;--padding-bottom:13px;--padding-start:1em;--padding-end:1em;--transition:background-color, opacity 100ms linear;-webkit-margin-start:2px;margin-inline-start:2px;-webkit-margin-end:2px;margin-inline-end:2px;margin-top:4px;margin-bottom:4px;min-height:3.1em;font-size:min(1rem, 48px);font-weight:500;letter-spacing:0}:host(.button-solid){--background-activated:var(--ion-color-primary-shade, #004acd);--background-focused:var(--ion-color-primary-shade, #004acd);--background-hover:var(--ion-color-primary-tint, #1a65eb);--background-activated-opacity:1;--background-focused-opacity:1;--background-hover-opacity:1}:host(.button-outline){--border-radius:14px;--border-width:1px;--border-style:solid;--background-activated:var(--ion-color-primary, #0054e9);--background-focused:var(--ion-color-primary, #0054e9);--background-hover:transparent;--background-focused-opacity:.1;--color-activated:var(--ion-color-primary-contrast, #fff)}:host(.button-clear){--background-activated:transparent;--background-activated-opacity:0;--background-focused:var(--ion-color-primary, #0054e9);--background-hover:transparent;--background-focused-opacity:.1;font-size:min(1.0625rem, 51px);font-weight:normal}:host(.in-buttons){font-size:clamp(17px, 1.0625rem, 21.08px);font-weight:400}:host(.button-large){--border-radius:16px;--padding-top:17px;--padding-start:1em;--padding-end:1em;--padding-bottom:17px;min-height:3.1em;font-size:min(1.25rem, 60px)}:host(.button-small){--border-radius:6px;--padding-top:4px;--padding-start:0.9em;--padding-end:0.9em;--padding-bottom:4px;min-height:2.1em;font-size:min(0.8125rem, 39px)}:host(.button-round){--border-radius:999px;--padding-top:0;--padding-start:26px;--padding-end:26px;--padding-bottom:0}:host(.button-strong){font-weight:600}:host(.button-has-icon-only){--padding-top:0;--padding-bottom:var(--padding-top);--padding-end:var(--padding-top);--padding-start:var(--padding-end);min-width:clamp(30px, 2.125em, 60px);min-height:clamp(30px, 2.125em, 60px)}::slotted(ion-icon[slot=icon-only]){font-size:clamp(15.12px, 1.125em, 43.02px)}:host(.button-small.button-has-icon-only){min-width:clamp(23px, 2.16em, 54px);min-height:clamp(23px, 2.16em, 54px)}:host(.button-small) ::slotted(ion-icon[slot=icon-only]){font-size:clamp(12.1394px, 1.308125em, 40.1856px)}:host(.button-large.button-has-icon-only){min-width:clamp(46px, 2.5em, 78px);min-height:clamp(46px, 2.5em, 78px)}:host(.button-large) ::slotted(ion-icon[slot=icon-only]){font-size:clamp(15.12px, 0.9em, 43.056px)}:host(.button-outline.ion-focused.ion-color) .button-native,:host(.button-clear.ion-focused.ion-color) .button-native{color:var(--ion-color-base)}:host(.button-outline.ion-focused.ion-color) .button-native::after,:host(.button-clear.ion-focused.ion-color) .button-native::after{background:var(--ion-color-base)}:host(.button-solid.ion-color.ion-focused) .button-native::after{background:var(--ion-color-shade)}@media (any-hover: hover){:host(.button-clear:not(.ion-activated):hover),:host(.button-outline:not(.ion-activated):hover){opacity:0.6}:host(.button-clear.ion-color:hover) .button-native,:host(.button-outline.ion-color:hover) .button-native{color:var(--ion-color-base)}:host(.button-clear.ion-color:hover) .button-native::after,:host(.button-outline.ion-color:hover) .button-native::after{background:transparent}:host(.button-solid.ion-color:hover) .button-native::after{background:var(--ion-color-tint)}:host(:hover.button-solid.in-toolbar:not(.ion-color):not(.in-toolbar-color):not(.ion-activated)) .button-native::after{background:#fff;opacity:0.1}}:host(.button-clear.ion-activated){opacity:0.4}:host(.button-outline.ion-activated.ion-color) .button-native{color:var(--ion-color-contrast)}:host(.button-outline.ion-activated.ion-color) .button-native::after{background:var(--ion-color-base)}:host(.button-solid.ion-color.ion-activated) .button-native::after{background:var(--ion-color-shade)}:host(.button-outline.ion-activated.in-toolbar:not(.ion-color):not(.in-toolbar-color)) .button-native{background:var(--ion-toolbar-color, var(--color));color:var(--ion-toolbar-background, var(--background), var(--ion-color-primary-contrast, #fff))}',md:':host{--overflow:hidden;--ripple-color:currentColor;--border-width:initial;--border-color:initial;--border-style:initial;--color-activated:var(--color);--color-focused:var(--color);--color-hover:var(--color);--box-shadow:none;display:inline-block;width:auto;color:var(--color);font-family:var(--ion-font-family, inherit);text-align:center;text-decoration:none;white-space:normal;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;vertical-align:top;vertical-align:-webkit-baseline-middle;-webkit-font-kerning:none;font-kerning:none}:host(.button-disabled){cursor:default;opacity:0.5;pointer-events:none}:host(.button-solid){--background:var(--ion-color-primary, #0054e9);--color:var(--ion-color-primary-contrast, #fff)}:host(.button-outline){--border-color:var(--ion-color-primary, #0054e9);--background:transparent;--color:var(--ion-color-primary, #0054e9)}:host(.button-clear){--border-width:0;--background:transparent;--color:var(--ion-color-primary, #0054e9)}:host(.button-block){display:block}:host(.button-block) .button-native{margin-left:0;margin-right:0;width:100%;clear:both;contain:content}:host(.button-block) .button-native::after{clear:both}:host(.button-full){display:block}:host(.button-full) .button-native{margin-left:0;margin-right:0;width:100%;contain:content}:host(.button-full:not(.button-round)) .button-native{border-radius:0;border-right-width:0;border-left-width:0}.button-native{border-radius:var(--border-radius);-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;-webkit-padding-start:var(--padding-start);padding-inline-start:var(--padding-start);-webkit-padding-end:var(--padding-end);padding-inline-end:var(--padding-end);padding-top:var(--padding-top);padding-bottom:var(--padding-bottom);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;display:-ms-flexbox;display:flex;position:relative;-ms-flex-align:center;align-items:center;width:100%;height:100%;min-height:inherit;-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);line-height:1;-webkit-box-shadow:var(--box-shadow);box-shadow:var(--box-shadow);contain:layout style;cursor:pointer;opacity:var(--opacity);overflow:var(--overflow);z-index:0;-webkit-box-sizing:border-box;box-sizing:border-box;-webkit-appearance:none;-moz-appearance:none;appearance:none}.button-native::-moz-focus-inner{border:0}.button-inner{display:-ms-flexbox;display:flex;position:relative;-ms-flex-flow:row nowrap;flex-flow:row nowrap;-ms-flex-negative:0;flex-shrink:0;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;width:100%;height:100%;z-index:1}::slotted([slot=start]),::slotted([slot=end]){-ms-flex-negative:0;flex-shrink:0}::slotted(ion-icon){font-size:1.35em;pointer-events:none}::slotted(ion-icon[slot=start]){-webkit-margin-start:-0.3em;margin-inline-start:-0.3em;-webkit-margin-end:0.3em;margin-inline-end:0.3em;margin-top:0;margin-bottom:0}::slotted(ion-icon[slot=end]){-webkit-margin-start:0.3em;margin-inline-start:0.3em;-webkit-margin-end:-0.2em;margin-inline-end:-0.2em;margin-top:0;margin-bottom:0}ion-ripple-effect{color:var(--ripple-color)}.button-native::after{left:0;right:0;top:0;bottom:0;position:absolute;content:"";opacity:0}:host(.ion-focused){color:var(--color-focused)}:host(.ion-focused) .button-native::after{background:var(--background-focused);opacity:var(--background-focused-opacity)}@media (any-hover: hover){:host(:hover){color:var(--color-hover)}:host(:hover) .button-native::after{background:var(--background-hover);opacity:var(--background-hover-opacity)}}:host(.ion-activated){color:var(--color-activated)}:host(.ion-activated) .button-native::after{background:var(--background-activated);opacity:var(--background-activated-opacity)}:host(.button-solid.ion-color) .button-native{background:var(--ion-color-base);color:var(--ion-color-contrast)}:host(.button-outline.ion-color) .button-native{border-color:var(--ion-color-base);background:transparent;color:var(--ion-color-base)}:host(.button-clear.ion-color) .button-native{background:transparent;color:var(--ion-color-base)}:host(.in-toolbar:not(.ion-color):not(.in-toolbar-color)) .button-native{color:var(--ion-toolbar-color, var(--color))}:host(.button-outline.in-toolbar:not(.ion-color):not(.in-toolbar-color)) .button-native{border-color:var(--ion-toolbar-color, var(--color, var(--border-color)))}:host(.button-solid.in-toolbar:not(.ion-color):not(.in-toolbar-color)) .button-native{background:var(--ion-toolbar-color, var(--background));color:var(--ion-toolbar-background, var(--color))}:host{--border-radius:4px;--padding-top:8px;--padding-bottom:8px;--padding-start:1.1em;--padding-end:1.1em;--transition:box-shadow 280ms cubic-bezier(.4, 0, .2, 1), background-color 15ms linear, color 15ms linear;-webkit-margin-start:2px;margin-inline-start:2px;-webkit-margin-end:2px;margin-inline-end:2px;margin-top:4px;margin-bottom:4px;min-height:36px;font-size:0.875rem;font-weight:500;letter-spacing:0.06em;text-transform:uppercase}:host(.button-solid){--background-activated:transparent;--background-hover:var(--ion-color-primary-contrast, #fff);--background-focused:var(--ion-color-primary-contrast, #fff);--background-activated-opacity:0;--background-focused-opacity:.24;--background-hover-opacity:.08;--box-shadow:0 3px 1px -2px rgba(0, 0, 0, 0.2), 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 1px 5px 0 rgba(0, 0, 0, 0.12)}:host(.button-solid.ion-activated){--box-shadow:0 5px 5px -3px rgba(0, 0, 0, 0.2), 0 8px 10px 1px rgba(0, 0, 0, 0.14), 0 3px 14px 2px rgba(0, 0, 0, 0.12)}:host(.button-outline){--border-width:2px;--border-style:solid;--box-shadow:none;--background-activated:transparent;--background-focused:var(--ion-color-primary, #0054e9);--background-hover:var(--ion-color-primary, #0054e9);--background-activated-opacity:0;--background-focused-opacity:.12;--background-hover-opacity:.04}:host(.button-outline.ion-activated.ion-color) .button-native{background:transparent}:host(.button-clear){--background-activated:transparent;--background-focused:var(--ion-color-primary, #0054e9);--background-hover:var(--ion-color-primary, #0054e9);--background-activated-opacity:0;--background-focused-opacity:.12;--background-hover-opacity:.04}:host(.button-round){--border-radius:999px;--padding-top:0;--padding-start:26px;--padding-end:26px;--padding-bottom:0}:host(.button-large){--padding-top:14px;--padding-start:1em;--padding-end:1em;--padding-bottom:14px;min-height:2.8em;font-size:1.25rem}:host(.button-small){--padding-top:4px;--padding-start:0.9em;--padding-end:0.9em;--padding-bottom:4px;min-height:2.1em;font-size:0.8125rem}:host(.button-strong){font-weight:bold}:host(.button-has-icon-only){--padding-top:0;--padding-bottom:var(--padding-top);--padding-end:var(--padding-top);--padding-start:var(--padding-end);min-width:clamp(30px, 2.86em, 60px);min-height:clamp(30px, 2.86em, 60px)}::slotted(ion-icon[slot=icon-only]){font-size:clamp(15.104px, 1.6em, 43.008px)}:host(.button-small.button-has-icon-only){min-width:clamp(23px, 2.16em, 54px);min-height:clamp(23px, 2.16em, 54px)}:host(.button-small) ::slotted(ion-icon[slot=icon-only]){font-size:clamp(13.002px, 1.23125em, 40.385px)}:host(.button-large.button-has-icon-only){min-width:clamp(46px, 2.5em, 78px);min-height:clamp(46px, 2.5em, 78px)}:host(.button-large) ::slotted(ion-icon[slot=icon-only]){font-size:clamp(15.008px, 1.4em, 43.008px)}:host(.button-solid.ion-color.ion-focused) .button-native::after{background:var(--ion-color-contrast)}:host(.button-clear.ion-color.ion-focused) .button-native::after,:host(.button-outline.ion-color.ion-focused) .button-native::after{background:var(--ion-color-base)}@media (any-hover: hover){:host(.button-solid.ion-color:hover) .button-native::after{background:var(--ion-color-contrast)}:host(.button-clear.ion-color:hover) .button-native::after,:host(.button-outline.ion-color:hover) .button-native::after{background:var(--ion-color-base)}}:host(.button-outline.ion-activated.in-toolbar:not(.ion-color):not(.in-toolbar-color)) .button-native{background:var(--ion-toolbar-background, var(--color));color:var(--ion-toolbar-color, var(--background), var(--ion-color-primary-contrast, #fff))}'}}},[289,"ion-button",{color:[513],buttonType:[1025,"button-type"],disabled:[516],expand:[513],fill:[1537],routerDirection:[1,"router-direction"],routerAnimation:[16],download:[1],href:[1],rel:[1],shape:[513],size:[513],strong:[4],target:[1],type:[1],form:[1],isCircle:[32]},void 0,{disabled:[{disabledChanged:0}]}]);function m(){"undefined"!=typeof customElements&&["ion-button","ion-ripple-effect"].forEach((o=>{switch(o){case"ion-button":customElements.get(a(o))||customElements.define(a(o),g);break;case"ion-ripple-effect":customElements.get(a(o))||p()}}))}export{g as B,m as d}