@amwaljs/checkout-button 0.3.2 → 0.3.3

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 (1236) hide show
  1. package/dist/checkout/checkout.esm.js +2 -1
  2. package/dist/checkout/checkout.esm.js.map +1 -0
  3. package/dist/checkout/index.esm.js +2 -0
  4. package/dist/checkout/index.esm.js.map +1 -0
  5. package/dist/checkout/p-01ad898f.js +2 -1
  6. package/dist/checkout/p-01ad898f.js.map +1 -0
  7. package/dist/checkout/p-07356b55.entry.js +17 -0
  8. package/dist/checkout/p-07356b55.entry.js.map +1 -0
  9. package/dist/checkout/p-0992beec.entry.js +2 -0
  10. package/dist/checkout/p-0992beec.entry.js.map +1 -0
  11. package/dist/checkout/p-0c62eb68.entry.js +2 -0
  12. package/dist/checkout/p-0c62eb68.entry.js.map +1 -0
  13. package/dist/checkout/p-0db836ba.entry.js +2 -0
  14. package/dist/checkout/p-0db836ba.entry.js.map +1 -0
  15. package/dist/checkout/p-0ea6c36e.entry.js +20 -0
  16. package/dist/checkout/p-0ea6c36e.entry.js.map +1 -0
  17. package/dist/checkout/p-0f03cd28.js +3 -2
  18. package/dist/checkout/p-0f03cd28.js.map +1 -0
  19. package/dist/checkout/p-112455b1.js +2 -1
  20. package/dist/checkout/p-112455b1.js.map +1 -0
  21. package/dist/checkout/p-13245fd4.js +2 -1
  22. package/dist/checkout/p-13245fd4.js.map +1 -0
  23. package/dist/checkout/p-16f30bee.entry.js +5 -0
  24. package/dist/checkout/p-16f30bee.entry.js.map +1 -0
  25. package/dist/checkout/p-17dd911b.entry.js +2 -0
  26. package/dist/checkout/p-17dd911b.entry.js.map +1 -0
  27. package/dist/checkout/p-19c1876e.entry.js +5 -0
  28. package/dist/checkout/p-19c1876e.entry.js.map +1 -0
  29. package/dist/checkout/p-1bce3237.entry.js +5 -0
  30. package/dist/checkout/p-1bce3237.entry.js.map +1 -0
  31. package/dist/checkout/p-1c7ee6b2.entry.js +2 -0
  32. package/dist/checkout/p-1c7ee6b2.entry.js.map +1 -0
  33. package/dist/checkout/p-1ead2bd7.entry.js +2 -0
  34. package/dist/checkout/p-1ead2bd7.entry.js.map +1 -0
  35. package/dist/checkout/p-215ced8f.entry.js +20 -0
  36. package/dist/checkout/p-215ced8f.entry.js.map +1 -0
  37. package/dist/checkout/p-230d69f0.entry.js +5 -0
  38. package/dist/checkout/p-230d69f0.entry.js.map +1 -0
  39. package/dist/checkout/p-253aa3a2.entry.js +2 -0
  40. package/dist/checkout/p-253aa3a2.entry.js.map +1 -0
  41. package/dist/checkout/p-2e7e60da.entry.js +2 -0
  42. package/dist/checkout/p-2e7e60da.entry.js.map +1 -0
  43. package/dist/checkout/p-350e7423.js +2 -1
  44. package/dist/checkout/p-350e7423.js.map +1 -0
  45. package/dist/checkout/p-361649c3.js +2 -1
  46. package/dist/checkout/p-361649c3.js.map +1 -0
  47. package/dist/checkout/p-37da8c1d.entry.js +2 -0
  48. package/dist/checkout/p-37da8c1d.entry.js.map +1 -0
  49. package/dist/checkout/p-39ad94cf.js +18 -2
  50. package/dist/checkout/p-39ad94cf.js.map +1 -0
  51. package/dist/checkout/p-3b75b22a.js +6 -2
  52. package/dist/checkout/p-3b75b22a.js.map +1 -0
  53. package/dist/checkout/p-3b80783d.js +19 -4
  54. package/dist/checkout/p-3b80783d.js.map +1 -0
  55. package/dist/checkout/p-3d3eefc3.js +2 -1
  56. package/dist/checkout/p-3d3eefc3.js.map +1 -0
  57. package/dist/checkout/p-3e1e3453.js +3 -2
  58. package/dist/checkout/p-3e1e3453.js.map +1 -0
  59. package/dist/checkout/p-3e681e57.js +3 -2
  60. package/dist/checkout/p-3e681e57.js.map +1 -0
  61. package/dist/checkout/p-40853e46.entry.js +2 -0
  62. package/dist/checkout/p-40853e46.entry.js.map +1 -0
  63. package/dist/checkout/p-44d3d00c.entry.js +2 -0
  64. package/dist/checkout/p-44d3d00c.entry.js.map +1 -0
  65. package/dist/checkout/p-465e36be.entry.js +2 -0
  66. package/dist/checkout/p-465e36be.entry.js.map +1 -0
  67. package/dist/checkout/p-4be20bf2.js +4 -3
  68. package/dist/checkout/p-4be20bf2.js.map +1 -0
  69. package/dist/checkout/p-4f78d3a0.js +2 -1
  70. package/dist/checkout/p-4f78d3a0.js.map +1 -0
  71. package/dist/checkout/p-52b4c112.js +2 -1
  72. package/dist/checkout/p-52b4c112.js.map +1 -0
  73. package/dist/checkout/p-53607c6e.entry.js +2 -0
  74. package/dist/checkout/p-53607c6e.entry.js.map +1 -0
  75. package/dist/checkout/p-536a0294.js +3 -2
  76. package/dist/checkout/p-536a0294.js.map +1 -0
  77. package/dist/checkout/p-53a0e933.entry.js +2 -0
  78. package/dist/checkout/p-53a0e933.entry.js.map +1 -0
  79. package/dist/checkout/p-53a6466f.entry.js +2 -0
  80. package/dist/checkout/p-53a6466f.entry.js.map +1 -0
  81. package/dist/checkout/p-53b7882e.entry.js +29 -0
  82. package/dist/checkout/p-53b7882e.entry.js.map +1 -0
  83. package/dist/checkout/p-55a37fe3.entry.js +2 -0
  84. package/dist/checkout/p-55a37fe3.entry.js.map +1 -0
  85. package/dist/checkout/p-560649cc.entry.js +2 -0
  86. package/dist/checkout/p-560649cc.entry.js.map +1 -0
  87. package/dist/checkout/p-58b1ac84.entry.js +2 -0
  88. package/dist/checkout/p-58b1ac84.entry.js.map +1 -0
  89. package/dist/checkout/p-5a106d81.entry.js +2 -0
  90. package/dist/checkout/p-5a106d81.entry.js.map +1 -0
  91. package/dist/checkout/p-5ad690d7.entry.js +14 -0
  92. package/dist/checkout/p-5ad690d7.entry.js.map +1 -0
  93. package/dist/checkout/p-5c0e8652.entry.js +2 -0
  94. package/dist/checkout/p-5c0e8652.entry.js.map +1 -0
  95. package/dist/checkout/p-5d8ae3a1.entry.js +32 -0
  96. package/dist/checkout/p-5d8ae3a1.entry.js.map +1 -0
  97. package/dist/checkout/p-5ea4b04d.entry.js +2 -0
  98. package/dist/checkout/p-5ea4b04d.entry.js.map +1 -0
  99. package/dist/checkout/p-5fff6cf6.entry.js +2 -0
  100. package/dist/checkout/p-5fff6cf6.entry.js.map +1 -0
  101. package/dist/checkout/p-620fa0ec.js +2 -1
  102. package/dist/checkout/p-620fa0ec.js.map +1 -0
  103. package/dist/checkout/p-6ae8b017.entry.js +2 -0
  104. package/dist/checkout/p-6ae8b017.entry.js.map +1 -0
  105. package/dist/checkout/p-6f2eaada.entry.js +2 -0
  106. package/dist/checkout/p-6f2eaada.entry.js.map +1 -0
  107. package/dist/checkout/p-6fa979e3.js +2 -1
  108. package/dist/checkout/p-6fa979e3.js.map +1 -0
  109. package/dist/checkout/p-73ebba38.entry.js +8 -0
  110. package/dist/checkout/p-73ebba38.entry.js.map +1 -0
  111. package/dist/checkout/p-76e7e8fb.entry.js +2 -0
  112. package/dist/checkout/p-76e7e8fb.entry.js.map +1 -0
  113. package/dist/checkout/p-77104220.js +9 -2
  114. package/dist/checkout/p-77104220.js.map +1 -0
  115. package/dist/checkout/p-7a5ca4ae.entry.js +2 -0
  116. package/dist/checkout/p-7a5ca4ae.entry.js.map +1 -0
  117. package/dist/checkout/p-7f0004c9.js +6 -2
  118. package/dist/checkout/p-7f0004c9.js.map +1 -0
  119. package/dist/checkout/p-7f223616.entry.js +2 -0
  120. package/dist/checkout/p-7f223616.entry.js.map +1 -0
  121. package/dist/checkout/p-801a8293.entry.js +2 -0
  122. package/dist/checkout/p-801a8293.entry.js.map +1 -0
  123. package/dist/checkout/p-817492ae.entry.js +2 -0
  124. package/dist/checkout/p-817492ae.entry.js.map +1 -0
  125. package/dist/checkout/p-86caa486.entry.js +2 -0
  126. package/dist/checkout/p-86caa486.entry.js.map +1 -0
  127. package/dist/checkout/p-8845543b.entry.js +2 -0
  128. package/dist/checkout/p-8845543b.entry.js.map +1 -0
  129. package/dist/checkout/p-88abdf59.js +2 -1
  130. package/dist/checkout/p-88abdf59.js.map +1 -0
  131. package/dist/checkout/p-8b838f6e.entry.js +2 -0
  132. package/dist/checkout/p-8b838f6e.entry.js.map +1 -0
  133. package/dist/checkout/p-8c8e3669.entry.js +2 -0
  134. package/dist/checkout/p-8c8e3669.entry.js.map +1 -0
  135. package/dist/checkout/p-9387cd0d.entry.js +2 -0
  136. package/dist/checkout/p-9387cd0d.entry.js.map +1 -0
  137. package/dist/checkout/p-94286cc3.js +2 -1
  138. package/dist/checkout/p-94286cc3.js.map +1 -0
  139. package/dist/checkout/p-94f20379.entry.js +2 -0
  140. package/dist/checkout/p-94f20379.entry.js.map +1 -0
  141. package/dist/checkout/p-99e447f9.js +2 -1
  142. package/dist/checkout/p-99e447f9.js.map +1 -0
  143. package/dist/checkout/p-9b519de5.js +6 -2
  144. package/dist/checkout/p-9b519de5.js.map +1 -0
  145. package/dist/checkout/p-9c833a37.entry.js +2 -0
  146. package/dist/checkout/p-9c833a37.entry.js.map +1 -0
  147. package/dist/checkout/p-9dfc5c78.entry.js +2 -0
  148. package/dist/checkout/p-9dfc5c78.entry.js.map +1 -0
  149. package/dist/checkout/p-9efbca93.js +2 -1
  150. package/dist/checkout/p-9efbca93.js.map +1 -0
  151. package/dist/checkout/p-9f4ac833.js +2 -1
  152. package/dist/checkout/p-9f4ac833.js.map +1 -0
  153. package/dist/checkout/p-9f4c1150.entry.js +2 -0
  154. package/dist/checkout/p-9f4c1150.entry.js.map +1 -0
  155. package/dist/checkout/p-9f6c714a.entry.js +2 -0
  156. package/dist/checkout/p-9f6c714a.entry.js.map +1 -0
  157. package/dist/checkout/p-9f8a3105.entry.js +2 -0
  158. package/dist/checkout/p-9f8a3105.entry.js.map +1 -0
  159. package/dist/checkout/p-a26500c0.entry.js +2 -0
  160. package/dist/checkout/p-a26500c0.entry.js.map +1 -0
  161. package/dist/checkout/p-a3ea4b97.entry.js +2 -0
  162. package/dist/checkout/p-a3ea4b97.entry.js.map +1 -0
  163. package/dist/checkout/p-a4edfb4e.entry.js +2 -0
  164. package/dist/checkout/p-a4edfb4e.entry.js.map +1 -0
  165. package/dist/checkout/p-a697247b.entry.js +2 -0
  166. package/dist/checkout/p-a697247b.entry.js.map +1 -0
  167. package/dist/checkout/p-a718ae17.entry.js +5 -0
  168. package/dist/checkout/p-a718ae17.entry.js.map +1 -0
  169. package/dist/checkout/p-a84091c3.entry.js +5 -0
  170. package/dist/checkout/p-a84091c3.entry.js.map +1 -0
  171. package/dist/checkout/p-aa91cbc3.entry.js +2 -0
  172. package/dist/checkout/p-aa91cbc3.entry.js.map +1 -0
  173. package/dist/checkout/p-ab16e6ce.js +2 -1
  174. package/dist/checkout/p-ab16e6ce.js.map +1 -0
  175. package/dist/checkout/p-adaf2312.entry.js +2 -0
  176. package/dist/checkout/p-adaf2312.entry.js.map +1 -0
  177. package/dist/checkout/p-afba621c.entry.js +2 -0
  178. package/dist/checkout/p-afba621c.entry.js.map +1 -0
  179. package/dist/checkout/p-b038db20.js +2 -1
  180. package/dist/checkout/p-b038db20.js.map +1 -0
  181. package/dist/checkout/p-b0ebfdfe.entry.js +2 -0
  182. package/dist/checkout/p-b0ebfdfe.entry.js.map +1 -0
  183. package/dist/checkout/p-b2289937.js +3 -2
  184. package/dist/checkout/p-b2289937.js.map +1 -0
  185. package/dist/checkout/p-b2ddb12a.entry.js +8 -0
  186. package/dist/checkout/p-b2ddb12a.entry.js.map +1 -0
  187. package/dist/checkout/p-b339d32f.entry.js +2 -0
  188. package/dist/checkout/p-b339d32f.entry.js.map +1 -0
  189. package/dist/checkout/p-b7be2ec0.js +6 -2
  190. package/dist/checkout/p-b7be2ec0.js.map +1 -0
  191. package/dist/checkout/p-b7f7fba2.entry.js +2 -0
  192. package/dist/checkout/p-b7f7fba2.entry.js.map +1 -0
  193. package/dist/checkout/p-b802b8c1.entry.js +2 -0
  194. package/dist/checkout/p-b802b8c1.entry.js.map +1 -0
  195. package/dist/checkout/p-b84d9e44.js +2 -1
  196. package/dist/checkout/p-b84d9e44.js.map +1 -0
  197. package/dist/checkout/p-b8fdd517.js +2 -1
  198. package/dist/checkout/p-b8fdd517.js.map +1 -0
  199. package/dist/checkout/p-bb1f698e.js +3 -2
  200. package/dist/checkout/p-bb1f698e.js.map +1 -0
  201. package/dist/checkout/p-bc65d8c9.entry.js +2 -0
  202. package/dist/checkout/p-bc65d8c9.entry.js.map +1 -0
  203. package/dist/checkout/p-bd17be25.js +3 -2
  204. package/dist/checkout/p-bd17be25.js.map +1 -0
  205. package/dist/checkout/p-c152bdea.js +3 -2
  206. package/dist/checkout/p-c152bdea.js.map +1 -0
  207. package/dist/checkout/p-c30e2b28.js +13 -3
  208. package/dist/checkout/p-c30e2b28.js.map +1 -0
  209. package/dist/checkout/p-c3861883.entry.js +2 -0
  210. package/dist/checkout/p-c3861883.entry.js.map +1 -0
  211. package/dist/checkout/p-c397acca.entry.js +2 -0
  212. package/dist/checkout/p-c397acca.entry.js.map +1 -0
  213. package/dist/checkout/p-c54daf41.entry.js +2 -0
  214. package/dist/checkout/p-c54daf41.entry.js.map +1 -0
  215. package/dist/checkout/p-ca00d816.entry.js +2 -0
  216. package/dist/checkout/p-ca00d816.entry.js.map +1 -0
  217. package/dist/checkout/p-cb7f4d94.entry.js +2 -0
  218. package/dist/checkout/p-cb7f4d94.entry.js.map +1 -0
  219. package/dist/checkout/p-cd3a4752.entry.js +2 -0
  220. package/dist/checkout/p-cd3a4752.entry.js.map +1 -0
  221. package/dist/checkout/p-cdc9d9f2.entry.js +2 -0
  222. package/dist/checkout/p-cdc9d9f2.entry.js.map +1 -0
  223. package/dist/checkout/p-cee1b2d9.entry.js +2 -0
  224. package/dist/checkout/p-cee1b2d9.entry.js.map +1 -0
  225. package/dist/checkout/p-d0b3af3d.entry.js +2 -0
  226. package/dist/checkout/p-d0b3af3d.entry.js.map +1 -0
  227. package/dist/checkout/p-d5862637.js +2 -1
  228. package/dist/checkout/p-d5862637.js.map +1 -0
  229. package/dist/checkout/p-d60b2328.js +3 -2
  230. package/dist/checkout/p-d60b2328.js.map +1 -0
  231. package/dist/checkout/p-d7a430bf.js +3 -2
  232. package/dist/checkout/p-d7a430bf.js.map +1 -0
  233. package/dist/checkout/p-d7fe59ee.js +2 -1
  234. package/dist/checkout/p-d7fe59ee.js.map +1 -0
  235. package/dist/checkout/p-d839c693.js +2 -1
  236. package/dist/checkout/p-d839c693.js.map +1 -0
  237. package/dist/checkout/p-dc51d318.js +2 -1
  238. package/dist/checkout/p-dc51d318.js.map +1 -0
  239. package/dist/checkout/p-ddd2534e.entry.js +2 -0
  240. package/dist/checkout/p-ddd2534e.entry.js.map +1 -0
  241. package/dist/checkout/p-e187a77c.js +2 -1
  242. package/dist/checkout/p-e187a77c.js.map +1 -0
  243. package/dist/checkout/p-e66d942d.entry.js +2 -0
  244. package/dist/checkout/p-e66d942d.entry.js.map +1 -0
  245. package/dist/checkout/p-e6c9b000.entry.js +2 -0
  246. package/dist/checkout/p-e6c9b000.entry.js.map +1 -0
  247. package/dist/checkout/p-f3fbc676.entry.js +2 -0
  248. package/dist/checkout/p-f3fbc676.entry.js.map +1 -0
  249. package/dist/checkout/p-f6bb71fb.entry.js +2 -0
  250. package/dist/checkout/p-f6bb71fb.entry.js.map +1 -0
  251. package/dist/checkout/p-f728a68f.js +2 -1
  252. package/dist/checkout/p-f728a68f.js.map +1 -0
  253. package/dist/checkout/p-f9ec47f2.entry.js +2 -0
  254. package/dist/checkout/p-f9ec47f2.entry.js.map +1 -0
  255. package/dist/checkout/p-faada48e.entry.js +2 -0
  256. package/dist/checkout/p-faada48e.entry.js.map +1 -0
  257. package/dist/checkout/p-faf06441.js +3 -2
  258. package/dist/checkout/p-faf06441.js.map +1 -0
  259. package/dist/checkout/p-fc4aaf1a.entry.js +2 -0
  260. package/dist/checkout/p-fc4aaf1a.entry.js.map +1 -0
  261. package/dist/checkout/p-ff1cb129.entry.js +2 -0
  262. package/dist/checkout/p-ff1cb129.entry.js.map +1 -0
  263. package/dist/cjs/_commonjsHelpers-537d719a.js +2 -0
  264. package/dist/cjs/_commonjsHelpers-537d719a.js.map +1 -0
  265. package/dist/cjs/amwal-checkout-button_5.cjs.entry.js +6 -4
  266. package/dist/cjs/amwal-checkout-button_5.cjs.entry.js.map +1 -0
  267. package/dist/cjs/amwal-installments-guide.cjs.entry.js +2 -0
  268. package/dist/cjs/amwal-installments-guide.cjs.entry.js.map +1 -0
  269. package/dist/cjs/amwal-pos.cjs.entry.js +2 -0
  270. package/dist/cjs/amwal-pos.cjs.entry.js.map +1 -0
  271. package/dist/cjs/amwal-widget-modal.cjs.entry.js +10 -3
  272. package/dist/cjs/amwal-widget-modal.cjs.entry.js.map +1 -0
  273. package/dist/cjs/amwal-widget.cjs.entry.js +3 -1
  274. package/dist/cjs/amwal-widget.cjs.entry.js.map +1 -0
  275. package/dist/cjs/animation-26241cb2.js +2 -0
  276. package/dist/cjs/animation-26241cb2.js.map +1 -0
  277. package/dist/cjs/app-globals-42a13029.js +2 -0
  278. package/dist/cjs/app-globals-42a13029.js.map +1 -0
  279. package/dist/cjs/ar-3a6829a4.js +2 -0
  280. package/dist/cjs/ar-3a6829a4.js.map +1 -0
  281. package/dist/cjs/capacitor-a9365f60.js +2 -0
  282. package/dist/cjs/capacitor-a9365f60.js.map +1 -0
  283. package/dist/cjs/checkout.cjs.js +3 -1
  284. package/dist/cjs/checkout.cjs.js.map +1 -0
  285. package/dist/cjs/compare-with-utils-adbe64a6.js +2 -0
  286. package/dist/cjs/compare-with-utils-adbe64a6.js.map +1 -0
  287. package/dist/cjs/config-e2a8c0c7.js +2 -0
  288. package/dist/cjs/config-e2a8c0c7.js.map +1 -0
  289. package/dist/cjs/cubic-bezier-5ff9b04e.js +2 -0
  290. package/dist/cjs/cubic-bezier-5ff9b04e.js.map +1 -0
  291. package/dist/cjs/data-19081291.js +2 -0
  292. package/dist/cjs/data-19081291.js.map +1 -0
  293. package/dist/cjs/dir-374f13f2.js +2 -0
  294. package/dist/cjs/dir-374f13f2.js.map +1 -0
  295. package/dist/cjs/focus-visible-b7381162.js +2 -0
  296. package/dist/cjs/focus-visible-b7381162.js.map +1 -0
  297. package/dist/cjs/form-controller-3ffb27b1.js +2 -0
  298. package/dist/cjs/form-controller-3ffb27b1.js.map +1 -0
  299. package/dist/cjs/framework-delegate-ab2cc190.js +2 -0
  300. package/dist/cjs/framework-delegate-ab2cc190.js.map +1 -0
  301. package/dist/cjs/gesture-controller-b1c0efac.js +2 -0
  302. package/dist/cjs/gesture-controller-b1c0efac.js.map +1 -0
  303. package/dist/cjs/haptic-80174512.js +2 -0
  304. package/dist/cjs/haptic-80174512.js.map +1 -0
  305. package/dist/cjs/hardware-back-button-ddfefd22.js +2 -0
  306. package/dist/cjs/hardware-back-button-ddfefd22.js.map +1 -0
  307. package/dist/cjs/helpers-72ba682d.js +2 -0
  308. package/dist/cjs/helpers-72ba682d.js.map +1 -0
  309. package/dist/cjs/i18n-18ad02d5.js +2 -0
  310. package/dist/cjs/i18n-18ad02d5.js.map +1 -0
  311. package/dist/cjs/index-071786b4.js +2 -0
  312. package/dist/cjs/index-071786b4.js.map +1 -0
  313. package/dist/cjs/index-0d0b84fb.js +2 -0
  314. package/dist/cjs/index-0d0b84fb.js.map +1 -0
  315. package/dist/cjs/index-2602a653.js +2 -0
  316. package/dist/cjs/index-2602a653.js.map +1 -0
  317. package/dist/cjs/index-2cd1a895.js +2 -0
  318. package/dist/cjs/index-2cd1a895.js.map +1 -0
  319. package/dist/cjs/index-7522b3a9.js +2 -0
  320. package/dist/cjs/index-7522b3a9.js.map +1 -0
  321. package/dist/cjs/index-9b7d2c31.js +2 -0
  322. package/dist/cjs/index-9b7d2c31.js.map +1 -0
  323. package/dist/cjs/index-a281cac3.js +2 -0
  324. package/dist/cjs/index-a281cac3.js.map +1 -0
  325. package/dist/cjs/index-ce06e6a3.js +2 -0
  326. package/dist/cjs/index-ce06e6a3.js.map +1 -0
  327. package/dist/cjs/index-da554121.js +2 -0
  328. package/dist/cjs/index-da554121.js.map +1 -0
  329. package/dist/cjs/index.cjs.js +2 -0
  330. package/dist/cjs/index.cjs.js.map +1 -0
  331. package/dist/cjs/input-shims-1a8ed779.js +2 -0
  332. package/dist/cjs/input-shims-1a8ed779.js.map +1 -0
  333. package/dist/cjs/input.utils-67143876.js +2 -0
  334. package/dist/cjs/input.utils-67143876.js.map +1 -0
  335. package/dist/cjs/ion-accordion-group.cjs.entry.js +2 -0
  336. package/dist/cjs/ion-accordion-group.cjs.entry.js.map +1 -0
  337. package/dist/cjs/ion-accordion.cjs.entry.js +2 -0
  338. package/dist/cjs/ion-accordion.cjs.entry.js.map +1 -0
  339. package/dist/cjs/ion-action-sheet_3.cjs.entry.js +2 -0
  340. package/dist/cjs/ion-action-sheet_3.cjs.entry.js.map +1 -0
  341. package/dist/cjs/ion-app.cjs.entry.js +2 -0
  342. package/dist/cjs/ion-app.cjs.entry.js.map +1 -0
  343. package/dist/cjs/ion-avatar.cjs.entry.js +2 -0
  344. package/dist/cjs/ion-avatar.cjs.entry.js.map +1 -0
  345. package/dist/cjs/ion-back-button.cjs.entry.js +2 -0
  346. package/dist/cjs/ion-back-button.cjs.entry.js.map +1 -0
  347. package/dist/cjs/ion-backdrop.cjs.entry.js +2 -0
  348. package/dist/cjs/ion-backdrop.cjs.entry.js.map +1 -0
  349. package/dist/cjs/ion-badge.cjs.entry.js +2 -0
  350. package/dist/cjs/ion-badge.cjs.entry.js.map +1 -0
  351. package/dist/cjs/ion-breadcrumb.cjs.entry.js +2 -0
  352. package/dist/cjs/ion-breadcrumb.cjs.entry.js.map +1 -0
  353. package/dist/cjs/ion-breadcrumbs.cjs.entry.js +2 -0
  354. package/dist/cjs/ion-breadcrumbs.cjs.entry.js.map +1 -0
  355. package/dist/cjs/ion-buttons_3.cjs.entry.js +2 -0
  356. package/dist/cjs/ion-buttons_3.cjs.entry.js.map +1 -0
  357. package/dist/cjs/ion-card-content.cjs.entry.js +2 -0
  358. package/dist/cjs/ion-card-content.cjs.entry.js.map +1 -0
  359. package/dist/cjs/ion-card-header.cjs.entry.js +2 -0
  360. package/dist/cjs/ion-card-header.cjs.entry.js.map +1 -0
  361. package/dist/cjs/ion-card-subtitle.cjs.entry.js +2 -0
  362. package/dist/cjs/ion-card-subtitle.cjs.entry.js.map +1 -0
  363. package/dist/cjs/ion-card-title.cjs.entry.js +2 -0
  364. package/dist/cjs/ion-card-title.cjs.entry.js.map +1 -0
  365. package/dist/cjs/ion-card.cjs.entry.js +2 -0
  366. package/dist/cjs/ion-card.cjs.entry.js.map +1 -0
  367. package/dist/cjs/ion-checkbox_7.cjs.entry.js +2 -0
  368. package/dist/cjs/ion-checkbox_7.cjs.entry.js.map +1 -0
  369. package/dist/cjs/ion-chip.cjs.entry.js +2 -0
  370. package/dist/cjs/ion-chip.cjs.entry.js.map +1 -0
  371. package/dist/cjs/ion-col.cjs.entry.js +2 -0
  372. package/dist/cjs/ion-col.cjs.entry.js.map +1 -0
  373. package/dist/cjs/ion-content.cjs.entry.js +2 -0
  374. package/dist/cjs/ion-content.cjs.entry.js.map +1 -0
  375. package/dist/cjs/ion-datetime-button.cjs.entry.js +2 -0
  376. package/dist/cjs/ion-datetime-button.cjs.entry.js.map +1 -0
  377. package/dist/cjs/ion-datetime.cjs.entry.js +2 -0
  378. package/dist/cjs/ion-datetime.cjs.entry.js.map +1 -0
  379. package/dist/cjs/ion-fab-button.cjs.entry.js +2 -0
  380. package/dist/cjs/ion-fab-button.cjs.entry.js.map +1 -0
  381. package/dist/cjs/ion-fab-list.cjs.entry.js +2 -0
  382. package/dist/cjs/ion-fab-list.cjs.entry.js.map +1 -0
  383. package/dist/cjs/ion-fab.cjs.entry.js +2 -0
  384. package/dist/cjs/ion-fab.cjs.entry.js.map +1 -0
  385. package/dist/cjs/ion-footer.cjs.entry.js +2 -0
  386. package/dist/cjs/ion-footer.cjs.entry.js.map +1 -0
  387. package/dist/cjs/ion-grid.cjs.entry.js +2 -0
  388. package/dist/cjs/ion-grid.cjs.entry.js.map +1 -0
  389. package/dist/cjs/ion-header.cjs.entry.js +2 -0
  390. package/dist/cjs/ion-header.cjs.entry.js.map +1 -0
  391. package/dist/cjs/ion-icon.cjs.entry.js +2 -0
  392. package/dist/cjs/ion-icon.cjs.entry.js.map +1 -0
  393. package/dist/cjs/ion-img.cjs.entry.js +2 -0
  394. package/dist/cjs/ion-img.cjs.entry.js.map +1 -0
  395. package/dist/cjs/ion-infinite-scroll-content.cjs.entry.js +2 -0
  396. package/dist/cjs/ion-infinite-scroll-content.cjs.entry.js.map +1 -0
  397. package/dist/cjs/ion-infinite-scroll.cjs.entry.js +2 -0
  398. package/dist/cjs/ion-infinite-scroll.cjs.entry.js.map +1 -0
  399. package/dist/cjs/ion-input.cjs.entry.js +2 -0
  400. package/dist/cjs/ion-input.cjs.entry.js.map +1 -0
  401. package/dist/cjs/ion-item-divider.cjs.entry.js +2 -0
  402. package/dist/cjs/ion-item-divider.cjs.entry.js.map +1 -0
  403. package/dist/cjs/ion-item-group.cjs.entry.js +2 -0
  404. package/dist/cjs/ion-item-group.cjs.entry.js.map +1 -0
  405. package/dist/cjs/ion-item-option.cjs.entry.js +2 -0
  406. package/dist/cjs/ion-item-option.cjs.entry.js.map +1 -0
  407. package/dist/cjs/ion-item-options.cjs.entry.js +2 -0
  408. package/dist/cjs/ion-item-options.cjs.entry.js.map +1 -0
  409. package/dist/cjs/ion-item-sliding.cjs.entry.js +2 -0
  410. package/dist/cjs/ion-item-sliding.cjs.entry.js.map +1 -0
  411. package/dist/cjs/ion-loading.cjs.entry.js +2 -0
  412. package/dist/cjs/ion-loading.cjs.entry.js.map +1 -0
  413. package/dist/cjs/ion-menu-button.cjs.entry.js +2 -0
  414. package/dist/cjs/ion-menu-button.cjs.entry.js.map +1 -0
  415. package/dist/cjs/ion-menu-toggle.cjs.entry.js +2 -0
  416. package/dist/cjs/ion-menu-toggle.cjs.entry.js.map +1 -0
  417. package/dist/cjs/ion-menu.cjs.entry.js +2 -0
  418. package/dist/cjs/ion-menu.cjs.entry.js.map +1 -0
  419. package/dist/cjs/ion-modal.cjs.entry.js +2 -0
  420. package/dist/cjs/ion-modal.cjs.entry.js.map +1 -0
  421. package/dist/cjs/ion-nav-link.cjs.entry.js +2 -0
  422. package/dist/cjs/ion-nav-link.cjs.entry.js.map +1 -0
  423. package/dist/cjs/ion-nav.cjs.entry.js +2 -0
  424. package/dist/cjs/ion-nav.cjs.entry.js.map +1 -0
  425. package/dist/cjs/ion-note.cjs.entry.js +2 -0
  426. package/dist/cjs/ion-note.cjs.entry.js.map +1 -0
  427. package/dist/cjs/ion-picker-column.cjs.entry.js +2 -0
  428. package/dist/cjs/ion-picker-column.cjs.entry.js.map +1 -0
  429. package/dist/cjs/ion-picker.cjs.entry.js +2 -0
  430. package/dist/cjs/ion-picker.cjs.entry.js.map +1 -0
  431. package/dist/cjs/ion-popover.cjs.entry.js +2 -0
  432. package/dist/cjs/ion-popover.cjs.entry.js.map +1 -0
  433. package/dist/cjs/ion-progress-bar.cjs.entry.js +2 -0
  434. package/dist/cjs/ion-progress-bar.cjs.entry.js.map +1 -0
  435. package/dist/cjs/ion-range.cjs.entry.js +2 -0
  436. package/dist/cjs/ion-range.cjs.entry.js.map +1 -0
  437. package/dist/cjs/ion-refresher-content.cjs.entry.js +2 -0
  438. package/dist/cjs/ion-refresher-content.cjs.entry.js.map +1 -0
  439. package/dist/cjs/ion-refresher.cjs.entry.js +2 -0
  440. package/dist/cjs/ion-refresher.cjs.entry.js.map +1 -0
  441. package/dist/cjs/ion-reorder-group.cjs.entry.js +2 -0
  442. package/dist/cjs/ion-reorder-group.cjs.entry.js.map +1 -0
  443. package/dist/cjs/ion-reorder.cjs.entry.js +2 -0
  444. package/dist/cjs/ion-reorder.cjs.entry.js.map +1 -0
  445. package/dist/cjs/ion-route-redirect.cjs.entry.js +2 -0
  446. package/dist/cjs/ion-route-redirect.cjs.entry.js.map +1 -0
  447. package/dist/cjs/ion-route.cjs.entry.js +2 -0
  448. package/dist/cjs/ion-route.cjs.entry.js.map +1 -0
  449. package/dist/cjs/ion-router-link.cjs.entry.js +2 -0
  450. package/dist/cjs/ion-router-link.cjs.entry.js.map +1 -0
  451. package/dist/cjs/ion-router-outlet.cjs.entry.js +2 -0
  452. package/dist/cjs/ion-router-outlet.cjs.entry.js.map +1 -0
  453. package/dist/cjs/ion-router.cjs.entry.js +2 -0
  454. package/dist/cjs/ion-router.cjs.entry.js.map +1 -0
  455. package/dist/cjs/ion-row.cjs.entry.js +2 -0
  456. package/dist/cjs/ion-row.cjs.entry.js.map +1 -0
  457. package/dist/cjs/ion-searchbar.cjs.entry.js +2 -0
  458. package/dist/cjs/ion-searchbar.cjs.entry.js.map +1 -0
  459. package/dist/cjs/ion-segment-button.cjs.entry.js +2 -0
  460. package/dist/cjs/ion-segment-button.cjs.entry.js.map +1 -0
  461. package/dist/cjs/ion-segment.cjs.entry.js +2 -0
  462. package/dist/cjs/ion-segment.cjs.entry.js.map +1 -0
  463. package/dist/cjs/ion-select-option.cjs.entry.js +2 -0
  464. package/dist/cjs/ion-select-option.cjs.entry.js.map +1 -0
  465. package/dist/cjs/ion-select.cjs.entry.js +2 -0
  466. package/dist/cjs/ion-select.cjs.entry.js.map +1 -0
  467. package/dist/cjs/ion-skeleton-text.cjs.entry.js +2 -0
  468. package/dist/cjs/ion-skeleton-text.cjs.entry.js.map +1 -0
  469. package/dist/cjs/ion-spinner.cjs.entry.js +2 -0
  470. package/dist/cjs/ion-spinner.cjs.entry.js.map +1 -0
  471. package/dist/cjs/ion-split-pane.cjs.entry.js +2 -0
  472. package/dist/cjs/ion-split-pane.cjs.entry.js.map +1 -0
  473. package/dist/cjs/ion-tab-bar.cjs.entry.js +2 -0
  474. package/dist/cjs/ion-tab-bar.cjs.entry.js.map +1 -0
  475. package/dist/cjs/ion-tab-button.cjs.entry.js +2 -0
  476. package/dist/cjs/ion-tab-button.cjs.entry.js.map +1 -0
  477. package/dist/cjs/ion-tab.cjs.entry.js +2 -0
  478. package/dist/cjs/ion-tab.cjs.entry.js.map +1 -0
  479. package/dist/cjs/ion-tabs.cjs.entry.js +2 -0
  480. package/dist/cjs/ion-tabs.cjs.entry.js.map +1 -0
  481. package/dist/cjs/ion-textarea.cjs.entry.js +2 -0
  482. package/dist/cjs/ion-textarea.cjs.entry.js.map +1 -0
  483. package/dist/cjs/ion-thumbnail.cjs.entry.js +2 -0
  484. package/dist/cjs/ion-thumbnail.cjs.entry.js.map +1 -0
  485. package/dist/cjs/ion-title.cjs.entry.js +2 -0
  486. package/dist/cjs/ion-title.cjs.entry.js.map +1 -0
  487. package/dist/cjs/ion-toast.cjs.entry.js +2 -0
  488. package/dist/cjs/ion-toast.cjs.entry.js.map +1 -0
  489. package/dist/cjs/ion-toggle.cjs.entry.js +2 -0
  490. package/dist/cjs/ion-toggle.cjs.entry.js.map +1 -0
  491. package/dist/cjs/ion-toolbar.cjs.entry.js +2 -0
  492. package/dist/cjs/ion-toolbar.cjs.entry.js.map +1 -0
  493. package/dist/cjs/ionic-global-3915f1f1.js +2 -0
  494. package/dist/cjs/ionic-global-3915f1f1.js.map +1 -0
  495. package/dist/cjs/ios.transition-b9c0b967.js +2 -0
  496. package/dist/cjs/ios.transition-b9c0b967.js.map +1 -0
  497. package/dist/cjs/keyboard-5d4b83b3.js +2 -0
  498. package/dist/cjs/keyboard-5d4b83b3.js.map +1 -0
  499. package/dist/cjs/keyboard-bc8ebbf7.js +2 -0
  500. package/dist/cjs/keyboard-bc8ebbf7.js.map +1 -0
  501. package/dist/cjs/keyboard-controller-c6633754.js +2 -0
  502. package/dist/cjs/keyboard-controller-c6633754.js.map +1 -0
  503. package/dist/cjs/loader.cjs.js +3 -1
  504. package/dist/cjs/loader.cjs.js.map +1 -0
  505. package/dist/cjs/lock-controller-e2dfece6.js +2 -0
  506. package/dist/cjs/lock-controller-e2dfece6.js.map +1 -0
  507. package/dist/cjs/md.transition-830acbb7.js +2 -0
  508. package/dist/cjs/md.transition-830acbb7.js.map +1 -0
  509. package/dist/cjs/menu-toggle-util-315c26b3.js +2 -0
  510. package/dist/cjs/menu-toggle-util-315c26b3.js.map +1 -0
  511. package/dist/cjs/notch-controller-dcf09601.js +2 -0
  512. package/dist/cjs/notch-controller-dcf09601.js.map +1 -0
  513. package/dist/cjs/overlays-08819e3f.js +2 -0
  514. package/dist/cjs/overlays-08819e3f.js.map +1 -0
  515. package/dist/cjs/refresher.utils-e41509f7.js +2 -0
  516. package/dist/cjs/refresher.utils-e41509f7.js.map +1 -0
  517. package/dist/cjs/spinner-configs-036ebfd8.js +2 -0
  518. package/dist/cjs/spinner-configs-036ebfd8.js.map +1 -0
  519. package/dist/cjs/status-tap-ec021cb4.js +2 -0
  520. package/dist/cjs/status-tap-ec021cb4.js.map +1 -0
  521. package/dist/cjs/swipe-back-3d3a5129.js +2 -0
  522. package/dist/cjs/swipe-back-3d3a5129.js.map +1 -0
  523. package/dist/cjs/theme-12dec869.js +2 -0
  524. package/dist/cjs/theme-12dec869.js.map +1 -0
  525. package/dist/cjs/watch-options-1cccbe6a.js +2 -0
  526. package/dist/cjs/watch-options-1cccbe6a.js.map +1 -0
  527. package/dist/collection/components/amwal-checkout-button/amwal-checkout-button.js +1 -0
  528. package/dist/collection/components/amwal-checkout-button/amwal-checkout-button.js.map +1 -0
  529. package/dist/collection/components/amwal-checkout-button/amwal-checkout-button.stories.js +1 -0
  530. package/dist/collection/components/amwal-checkout-button/amwal-checkout-button.stories.js.map +1 -0
  531. package/dist/collection/components/amwal-installments-guide/amwal-installments-guide.js +1 -0
  532. package/dist/collection/components/amwal-installments-guide/amwal-installments-guide.js.map +1 -0
  533. package/dist/collection/components/amwal-installments-guide/amwal-installments-guide.stories.js +1 -0
  534. package/dist/collection/components/amwal-installments-guide/amwal-installments-guide.stories.js.map +1 -0
  535. package/dist/collection/components/amwal-installments-timeline/amwal-installments-timeline.js +1 -0
  536. package/dist/collection/components/amwal-installments-timeline/amwal-installments-timeline.js.map +1 -0
  537. package/dist/collection/components/amwal-installments-timeline/amwal-installments-timeline.stories.js +1 -0
  538. package/dist/collection/components/amwal-installments-timeline/amwal-installments-timeline.stories.js.map +1 -0
  539. package/dist/collection/components/amwal-pos/amwal-pos.js +1 -0
  540. package/dist/collection/components/amwal-pos/amwal-pos.js.map +1 -0
  541. package/dist/collection/components/amwal-pos/amwal-pos.stories.js +1 -0
  542. package/dist/collection/components/amwal-pos/amwal-pos.stories.js.map +1 -0
  543. package/dist/collection/components/amwal-widget/amwal-widget-modal.css +14 -4
  544. package/dist/collection/components/amwal-widget/amwal-widget-modal.js +14 -2
  545. package/dist/collection/components/amwal-widget/amwal-widget-modal.js.map +1 -0
  546. package/dist/collection/components/amwal-widget/amwal-widget.css +11 -8
  547. package/dist/collection/components/amwal-widget/amwal-widget.js +1 -0
  548. package/dist/collection/components/amwal-widget/amwal-widget.js.map +1 -0
  549. package/dist/collection/components/amwal-widget/amwal-widget.stories.js +1 -0
  550. package/dist/collection/components/amwal-widget/amwal-widget.stories.js.map +1 -0
  551. package/dist/collection/lang/i18n.js +1 -0
  552. package/dist/collection/lang/i18n.js.map +1 -0
  553. package/dist/components/amwal-checkout-button.js +6 -4
  554. package/dist/components/amwal-checkout-button.js.map +1 -0
  555. package/dist/components/amwal-installments-guide.js +2 -0
  556. package/dist/components/amwal-installments-guide.js.map +1 -0
  557. package/dist/components/amwal-installments-timeline.js +2 -0
  558. package/dist/components/amwal-installments-timeline.js.map +1 -0
  559. package/dist/components/amwal-pos.js +2 -0
  560. package/dist/components/amwal-pos.js.map +1 -0
  561. package/dist/components/amwal-widget-modal.js +3 -1
  562. package/dist/components/amwal-widget-modal.js.map +1 -0
  563. package/dist/components/amwal-widget.js +4 -2
  564. package/dist/components/amwal-widget.js.map +1 -0
  565. package/dist/components/index.js +2 -0
  566. package/dist/components/index.js.map +1 -0
  567. package/dist/components/ion-accordion-group.js +2 -0
  568. package/dist/components/ion-accordion-group.js.map +1 -0
  569. package/dist/components/ion-accordion.js +2 -0
  570. package/dist/components/ion-accordion.js.map +1 -0
  571. package/dist/components/ion-action-sheet.js +2 -0
  572. package/dist/components/ion-action-sheet.js.map +1 -0
  573. package/dist/components/ion-alert.js +2 -0
  574. package/dist/components/ion-alert.js.map +1 -0
  575. package/dist/components/ion-app.js +2 -0
  576. package/dist/components/ion-app.js.map +1 -0
  577. package/dist/components/ion-avatar.js +2 -0
  578. package/dist/components/ion-avatar.js.map +1 -0
  579. package/dist/components/ion-back-button.js +2 -0
  580. package/dist/components/ion-back-button.js.map +1 -0
  581. package/dist/components/ion-backdrop.js +2 -0
  582. package/dist/components/ion-backdrop.js.map +1 -0
  583. package/dist/components/ion-badge.js +2 -0
  584. package/dist/components/ion-badge.js.map +1 -0
  585. package/dist/components/ion-breadcrumb.js +2 -0
  586. package/dist/components/ion-breadcrumb.js.map +1 -0
  587. package/dist/components/ion-breadcrumbs.js +2 -0
  588. package/dist/components/ion-breadcrumbs.js.map +1 -0
  589. package/dist/components/ion-button.js +2 -0
  590. package/dist/components/ion-button.js.map +1 -0
  591. package/dist/components/ion-buttons.js +2 -0
  592. package/dist/components/ion-buttons.js.map +1 -0
  593. package/dist/components/ion-card-content.js +2 -0
  594. package/dist/components/ion-card-content.js.map +1 -0
  595. package/dist/components/ion-card-header.js +2 -0
  596. package/dist/components/ion-card-header.js.map +1 -0
  597. package/dist/components/ion-card-subtitle.js +2 -0
  598. package/dist/components/ion-card-subtitle.js.map +1 -0
  599. package/dist/components/ion-card-title.js +2 -0
  600. package/dist/components/ion-card-title.js.map +1 -0
  601. package/dist/components/ion-card.js +2 -0
  602. package/dist/components/ion-card.js.map +1 -0
  603. package/dist/components/ion-checkbox.js +2 -0
  604. package/dist/components/ion-checkbox.js.map +1 -0
  605. package/dist/components/ion-chip.js +2 -0
  606. package/dist/components/ion-chip.js.map +1 -0
  607. package/dist/components/ion-col.js +2 -0
  608. package/dist/components/ion-col.js.map +1 -0
  609. package/dist/components/ion-content.js +2 -0
  610. package/dist/components/ion-content.js.map +1 -0
  611. package/dist/components/ion-datetime-button.js +2 -0
  612. package/dist/components/ion-datetime-button.js.map +1 -0
  613. package/dist/components/ion-datetime.js +2 -0
  614. package/dist/components/ion-datetime.js.map +1 -0
  615. package/dist/components/ion-fab-button.js +2 -0
  616. package/dist/components/ion-fab-button.js.map +1 -0
  617. package/dist/components/ion-fab-list.js +2 -0
  618. package/dist/components/ion-fab-list.js.map +1 -0
  619. package/dist/components/ion-fab.js +2 -0
  620. package/dist/components/ion-fab.js.map +1 -0
  621. package/dist/components/ion-footer.js +2 -0
  622. package/dist/components/ion-footer.js.map +1 -0
  623. package/dist/components/ion-grid.js +2 -0
  624. package/dist/components/ion-grid.js.map +1 -0
  625. package/dist/components/ion-header.js +2 -0
  626. package/dist/components/ion-header.js.map +1 -0
  627. package/dist/components/ion-icon.js +2 -0
  628. package/dist/components/ion-icon.js.map +1 -0
  629. package/dist/components/ion-img.js +2 -0
  630. package/dist/components/ion-img.js.map +1 -0
  631. package/dist/components/ion-infinite-scroll-content.js +2 -0
  632. package/dist/components/ion-infinite-scroll-content.js.map +1 -0
  633. package/dist/components/ion-infinite-scroll.js +2 -0
  634. package/dist/components/ion-infinite-scroll.js.map +1 -0
  635. package/dist/components/ion-input.js +2 -0
  636. package/dist/components/ion-input.js.map +1 -0
  637. package/dist/components/ion-item-divider.js +2 -0
  638. package/dist/components/ion-item-divider.js.map +1 -0
  639. package/dist/components/ion-item-group.js +2 -0
  640. package/dist/components/ion-item-group.js.map +1 -0
  641. package/dist/components/ion-item-option.js +2 -0
  642. package/dist/components/ion-item-option.js.map +1 -0
  643. package/dist/components/ion-item-options.js +2 -0
  644. package/dist/components/ion-item-options.js.map +1 -0
  645. package/dist/components/ion-item-sliding.js +2 -0
  646. package/dist/components/ion-item-sliding.js.map +1 -0
  647. package/dist/components/ion-item.js +2 -0
  648. package/dist/components/ion-item.js.map +1 -0
  649. package/dist/components/ion-label.js +2 -0
  650. package/dist/components/ion-label.js.map +1 -0
  651. package/dist/components/ion-list-header.js +2 -0
  652. package/dist/components/ion-list-header.js.map +1 -0
  653. package/dist/components/ion-list.js +2 -0
  654. package/dist/components/ion-list.js.map +1 -0
  655. package/dist/components/ion-loading.js +2 -0
  656. package/dist/components/ion-loading.js.map +1 -0
  657. package/dist/components/ion-menu-button.js +2 -0
  658. package/dist/components/ion-menu-button.js.map +1 -0
  659. package/dist/components/ion-menu-toggle.js +2 -0
  660. package/dist/components/ion-menu-toggle.js.map +1 -0
  661. package/dist/components/ion-menu.js +2 -0
  662. package/dist/components/ion-menu.js.map +1 -0
  663. package/dist/components/ion-modal.js +2 -0
  664. package/dist/components/ion-modal.js.map +1 -0
  665. package/dist/components/ion-nav-link.js +2 -0
  666. package/dist/components/ion-nav-link.js.map +1 -0
  667. package/dist/components/ion-nav.js +2 -0
  668. package/dist/components/ion-nav.js.map +1 -0
  669. package/dist/components/ion-note.js +2 -0
  670. package/dist/components/ion-note.js.map +1 -0
  671. package/dist/components/ion-picker-column-internal.js +2 -0
  672. package/dist/components/ion-picker-column-internal.js.map +1 -0
  673. package/dist/components/ion-picker-column.js +2 -0
  674. package/dist/components/ion-picker-column.js.map +1 -0
  675. package/dist/components/ion-picker-internal.js +2 -0
  676. package/dist/components/ion-picker-internal.js.map +1 -0
  677. package/dist/components/ion-picker.js +2 -0
  678. package/dist/components/ion-picker.js.map +1 -0
  679. package/dist/components/ion-popover.js +2 -0
  680. package/dist/components/ion-popover.js.map +1 -0
  681. package/dist/components/ion-progress-bar.js +2 -0
  682. package/dist/components/ion-progress-bar.js.map +1 -0
  683. package/dist/components/ion-radio-group.js +2 -0
  684. package/dist/components/ion-radio-group.js.map +1 -0
  685. package/dist/components/ion-radio.js +2 -0
  686. package/dist/components/ion-radio.js.map +1 -0
  687. package/dist/components/ion-range.js +2 -0
  688. package/dist/components/ion-range.js.map +1 -0
  689. package/dist/components/ion-refresher-content.js +2 -0
  690. package/dist/components/ion-refresher-content.js.map +1 -0
  691. package/dist/components/ion-refresher.js +2 -0
  692. package/dist/components/ion-refresher.js.map +1 -0
  693. package/dist/components/ion-reorder-group.js +2 -0
  694. package/dist/components/ion-reorder-group.js.map +1 -0
  695. package/dist/components/ion-reorder.js +2 -0
  696. package/dist/components/ion-reorder.js.map +1 -0
  697. package/dist/components/ion-ripple-effect.js +2 -0
  698. package/dist/components/ion-ripple-effect.js.map +1 -0
  699. package/dist/components/ion-route-redirect.js +2 -0
  700. package/dist/components/ion-route-redirect.js.map +1 -0
  701. package/dist/components/ion-route.js +2 -0
  702. package/dist/components/ion-route.js.map +1 -0
  703. package/dist/components/ion-router-link.js +2 -0
  704. package/dist/components/ion-router-link.js.map +1 -0
  705. package/dist/components/ion-router-outlet.js +2 -0
  706. package/dist/components/ion-router-outlet.js.map +1 -0
  707. package/dist/components/ion-router.js +2 -0
  708. package/dist/components/ion-router.js.map +1 -0
  709. package/dist/components/ion-row.js +2 -0
  710. package/dist/components/ion-row.js.map +1 -0
  711. package/dist/components/ion-searchbar.js +2 -0
  712. package/dist/components/ion-searchbar.js.map +1 -0
  713. package/dist/components/ion-segment-button.js +2 -0
  714. package/dist/components/ion-segment-button.js.map +1 -0
  715. package/dist/components/ion-segment.js +2 -0
  716. package/dist/components/ion-segment.js.map +1 -0
  717. package/dist/components/ion-select-option.js +2 -0
  718. package/dist/components/ion-select-option.js.map +1 -0
  719. package/dist/components/ion-select-popover.js +2 -0
  720. package/dist/components/ion-select-popover.js.map +1 -0
  721. package/dist/components/ion-select.js +2 -0
  722. package/dist/components/ion-select.js.map +1 -0
  723. package/dist/components/ion-skeleton-text.js +2 -0
  724. package/dist/components/ion-skeleton-text.js.map +1 -0
  725. package/dist/components/ion-spinner.js +2 -0
  726. package/dist/components/ion-spinner.js.map +1 -0
  727. package/dist/components/ion-split-pane.js +2 -0
  728. package/dist/components/ion-split-pane.js.map +1 -0
  729. package/dist/components/ion-tab-bar.js +2 -0
  730. package/dist/components/ion-tab-bar.js.map +1 -0
  731. package/dist/components/ion-tab-button.js +2 -0
  732. package/dist/components/ion-tab-button.js.map +1 -0
  733. package/dist/components/ion-tab.js +2 -0
  734. package/dist/components/ion-tab.js.map +1 -0
  735. package/dist/components/ion-tabs.js +2 -0
  736. package/dist/components/ion-tabs.js.map +1 -0
  737. package/dist/components/ion-text.js +2 -0
  738. package/dist/components/ion-text.js.map +1 -0
  739. package/dist/components/ion-textarea.js +2 -0
  740. package/dist/components/ion-textarea.js.map +1 -0
  741. package/dist/components/ion-thumbnail.js +2 -0
  742. package/dist/components/ion-thumbnail.js.map +1 -0
  743. package/dist/components/ion-title.js +2 -0
  744. package/dist/components/ion-title.js.map +1 -0
  745. package/dist/components/ion-toast.js +2 -0
  746. package/dist/components/ion-toast.js.map +1 -0
  747. package/dist/components/ion-toggle.js +2 -0
  748. package/dist/components/ion-toggle.js.map +1 -0
  749. package/dist/components/ion-toolbar.js +2 -0
  750. package/dist/components/ion-toolbar.js.map +1 -0
  751. package/dist/components/p-01ad898f.js +2 -0
  752. package/dist/components/p-01ad898f.js.map +1 -0
  753. package/dist/components/p-01b49f83.js +2 -0
  754. package/dist/components/p-01b49f83.js.map +1 -0
  755. package/dist/components/p-02b77441.js +2 -0
  756. package/dist/components/p-02b77441.js.map +1 -0
  757. package/dist/components/p-031ed92d.js +2 -0
  758. package/dist/components/p-031ed92d.js.map +1 -0
  759. package/dist/components/p-03803c7d.js +2 -0
  760. package/dist/components/p-03803c7d.js.map +1 -0
  761. package/dist/components/p-089e034e.js +2 -0
  762. package/dist/components/p-089e034e.js.map +1 -0
  763. package/dist/components/p-0dc7a5ff.js +2 -0
  764. package/dist/components/p-0dc7a5ff.js.map +1 -0
  765. package/dist/components/p-110f8490.js +2 -0
  766. package/dist/components/p-110f8490.js.map +1 -0
  767. package/dist/components/p-112455b1.js +2 -0
  768. package/dist/components/p-112455b1.js.map +1 -0
  769. package/dist/components/p-1596e301.js +2 -0
  770. package/dist/components/p-1596e301.js.map +1 -0
  771. package/dist/components/p-1785e30a.js +2 -0
  772. package/dist/components/p-1785e30a.js.map +1 -0
  773. package/dist/components/p-2bb89b46.js +2 -0
  774. package/dist/components/p-2bb89b46.js.map +1 -0
  775. package/dist/components/p-2d7d745d.js +2 -0
  776. package/dist/components/p-2d7d745d.js.map +1 -0
  777. package/dist/components/p-2fc99fef.js +2 -0
  778. package/dist/components/p-2fc99fef.js.map +1 -0
  779. package/dist/components/p-3296ebd9.js +2 -0
  780. package/dist/components/p-3296ebd9.js.map +1 -0
  781. package/dist/components/p-350e7423.js +2 -0
  782. package/dist/components/p-350e7423.js.map +1 -0
  783. package/dist/components/p-39ad94cf.js +2 -0
  784. package/dist/components/p-39ad94cf.js.map +1 -0
  785. package/dist/components/p-3d3eefc3.js +2 -0
  786. package/dist/components/p-3d3eefc3.js.map +1 -0
  787. package/dist/components/p-3e1d2896.js +2 -0
  788. package/dist/components/p-3e1d2896.js.map +1 -0
  789. package/dist/components/p-3e1e3453.js +2 -0
  790. package/dist/components/p-3e1e3453.js.map +1 -0
  791. package/dist/components/p-503328f2.js +2 -0
  792. package/dist/components/p-503328f2.js.map +1 -0
  793. package/dist/components/p-51c44f42.js +2 -0
  794. package/dist/components/p-51c44f42.js.map +1 -0
  795. package/dist/components/p-5280b372.js +2 -0
  796. package/dist/components/p-5280b372.js.map +1 -0
  797. package/dist/components/p-53e2dbe4.js +2 -0
  798. package/dist/components/p-53e2dbe4.js.map +1 -0
  799. package/dist/components/p-5441c730.js +2 -0
  800. package/dist/components/p-5441c730.js.map +1 -0
  801. package/dist/components/p-620fa0ec.js +2 -0
  802. package/dist/components/p-620fa0ec.js.map +1 -0
  803. package/dist/components/p-74e68924.js +2 -0
  804. package/dist/components/p-74e68924.js.map +1 -0
  805. package/dist/components/p-76525f0f.js +2 -0
  806. package/dist/components/p-76525f0f.js.map +1 -0
  807. package/dist/components/p-77104220.js +2 -0
  808. package/dist/components/p-77104220.js.map +1 -0
  809. package/dist/components/p-77ccb793.js +2 -0
  810. package/dist/components/p-77ccb793.js.map +1 -0
  811. package/dist/components/p-83e529db.js +2 -0
  812. package/dist/components/p-83e529db.js.map +1 -0
  813. package/dist/components/p-89c4c5cb.js +2 -0
  814. package/dist/components/p-89c4c5cb.js.map +1 -0
  815. package/dist/components/p-8b3d1e06.js +2 -0
  816. package/dist/components/p-8b3d1e06.js.map +1 -0
  817. package/dist/components/p-901c16c5.js +2 -0
  818. package/dist/components/p-901c16c5.js.map +1 -0
  819. package/dist/components/p-93e2a608.js +2 -0
  820. package/dist/components/p-93e2a608.js.map +1 -0
  821. package/dist/components/p-94286cc3.js +2 -0
  822. package/dist/components/p-94286cc3.js.map +1 -0
  823. package/dist/components/p-95c79593.js +2 -0
  824. package/dist/components/p-95c79593.js.map +1 -0
  825. package/dist/components/p-96073863.js +2 -0
  826. package/dist/components/p-96073863.js.map +1 -0
  827. package/dist/components/p-99e447f9.js +2 -0
  828. package/dist/components/p-99e447f9.js.map +1 -0
  829. package/dist/components/p-9b519de5.js +2 -0
  830. package/dist/components/p-9b519de5.js.map +1 -0
  831. package/dist/components/p-9d350d61.js +2 -0
  832. package/dist/components/p-9d350d61.js.map +1 -0
  833. package/dist/components/p-9df67c24.js +2 -0
  834. package/dist/components/p-9df67c24.js.map +1 -0
  835. package/dist/components/p-9f4ac833.js +2 -0
  836. package/dist/components/p-9f4ac833.js.map +1 -0
  837. package/dist/components/p-a0e691dd.js +2 -0
  838. package/dist/components/p-a0e691dd.js.map +1 -0
  839. package/dist/components/p-ab10d1ae.js +2 -0
  840. package/dist/components/p-ab10d1ae.js.map +1 -0
  841. package/dist/components/p-abc01c5d.js +2 -0
  842. package/dist/components/p-abc01c5d.js.map +1 -0
  843. package/dist/components/p-abd248d1.js +2 -0
  844. package/dist/components/p-abd248d1.js.map +1 -0
  845. package/dist/components/p-af073aaf.js +2 -0
  846. package/dist/components/p-af073aaf.js.map +1 -0
  847. package/dist/components/p-b2289937.js +2 -0
  848. package/dist/components/p-b2289937.js.map +1 -0
  849. package/dist/components/p-b32529b9.js +2 -0
  850. package/dist/components/p-b32529b9.js.map +1 -0
  851. package/dist/components/{p-02bc6b21.js → p-b7484b7a.js} +11 -4
  852. package/dist/components/p-b7484b7a.js.map +1 -0
  853. package/dist/components/p-b8fdd517.js +2 -0
  854. package/dist/components/p-b8fdd517.js.map +1 -0
  855. package/dist/components/p-cebc113f.js +2 -0
  856. package/dist/components/p-cebc113f.js.map +1 -0
  857. package/dist/components/p-d25fd077.js +2 -0
  858. package/dist/components/p-d25fd077.js.map +1 -0
  859. package/dist/components/p-d3596f64.js +2 -0
  860. package/dist/components/p-d3596f64.js.map +1 -0
  861. package/dist/components/p-d5862637.js +2 -0
  862. package/dist/components/p-d5862637.js.map +1 -0
  863. package/dist/components/p-d60b2328.js +2 -0
  864. package/dist/components/p-d60b2328.js.map +1 -0
  865. package/dist/components/p-d69dc32f.js +2 -0
  866. package/dist/components/p-d69dc32f.js.map +1 -0
  867. package/dist/components/p-d72e8d7b.js +2 -0
  868. package/dist/components/p-d72e8d7b.js.map +1 -0
  869. package/dist/components/p-d7fe59ee.js +2 -0
  870. package/dist/components/p-d7fe59ee.js.map +1 -0
  871. package/dist/components/p-d839c693.js +2 -0
  872. package/dist/components/p-d839c693.js.map +1 -0
  873. package/dist/components/p-e187a77c.js +2 -0
  874. package/dist/components/p-e187a77c.js.map +1 -0
  875. package/dist/components/p-e65ea9fb.js +2 -0
  876. package/dist/components/p-e65ea9fb.js.map +1 -0
  877. package/dist/components/p-ec0e3f3f.js +2 -0
  878. package/dist/components/p-ec0e3f3f.js.map +1 -0
  879. package/dist/components/p-ecb4db1c.js +2 -0
  880. package/dist/components/p-ecb4db1c.js.map +1 -0
  881. package/dist/components/p-f728a68f.js +2 -0
  882. package/dist/components/p-f728a68f.js.map +1 -0
  883. package/dist/components/p-f7e3c502.js +2 -0
  884. package/dist/components/p-f7e3c502.js.map +1 -0
  885. package/dist/components/p-fe463a42.js +2 -0
  886. package/dist/components/p-fe463a42.js.map +1 -0
  887. package/dist/esm/_commonjsHelpers-9943807e.js +2 -0
  888. package/dist/esm/_commonjsHelpers-9943807e.js.map +1 -0
  889. package/dist/esm/amwal-checkout-button_5.entry.js +6 -4
  890. package/dist/esm/amwal-checkout-button_5.entry.js.map +1 -0
  891. package/dist/esm/amwal-installments-guide.entry.js +2 -0
  892. package/dist/esm/amwal-installments-guide.entry.js.map +1 -0
  893. package/dist/esm/amwal-pos.entry.js +2 -0
  894. package/dist/esm/amwal-pos.entry.js.map +1 -0
  895. package/dist/esm/amwal-widget-modal.entry.js +10 -3
  896. package/dist/esm/amwal-widget-modal.entry.js.map +1 -0
  897. package/dist/esm/amwal-widget.entry.js +3 -1
  898. package/dist/esm/amwal-widget.entry.js.map +1 -0
  899. package/dist/esm/animation-a6d5c3b1.js +2 -0
  900. package/dist/esm/animation-a6d5c3b1.js.map +1 -0
  901. package/dist/esm/app-globals-c817b28b.js +2 -0
  902. package/dist/esm/app-globals-c817b28b.js.map +1 -0
  903. package/dist/esm/ar-7d2629bf.js +2 -0
  904. package/dist/esm/ar-7d2629bf.js.map +1 -0
  905. package/dist/esm/capacitor-ba4337da.js +2 -0
  906. package/dist/esm/capacitor-ba4337da.js.map +1 -0
  907. package/dist/esm/checkout.js +3 -1
  908. package/dist/esm/checkout.js.map +1 -0
  909. package/dist/esm/compare-with-utils-d58be312.js +2 -0
  910. package/dist/esm/compare-with-utils-d58be312.js.map +1 -0
  911. package/dist/esm/config-8e06237c.js +2 -0
  912. package/dist/esm/config-8e06237c.js.map +1 -0
  913. package/dist/esm/cubic-bezier-874f336d.js +2 -0
  914. package/dist/esm/cubic-bezier-874f336d.js.map +1 -0
  915. package/dist/esm/data-8916315d.js +2 -0
  916. package/dist/esm/data-8916315d.js.map +1 -0
  917. package/dist/esm/dir-1d4aa386.js +2 -0
  918. package/dist/esm/dir-1d4aa386.js.map +1 -0
  919. package/dist/esm/focus-visible-32968d3d.js +2 -0
  920. package/dist/esm/focus-visible-32968d3d.js.map +1 -0
  921. package/dist/esm/form-controller-b1aa7393.js +2 -0
  922. package/dist/esm/form-controller-b1aa7393.js.map +1 -0
  923. package/dist/esm/framework-delegate-de1aa369.js +2 -0
  924. package/dist/esm/framework-delegate-de1aa369.js.map +1 -0
  925. package/dist/esm/gesture-controller-58ffa500.js +2 -0
  926. package/dist/esm/gesture-controller-58ffa500.js.map +1 -0
  927. package/dist/esm/haptic-4d4d8eb1.js +2 -0
  928. package/dist/esm/haptic-4d4d8eb1.js.map +1 -0
  929. package/dist/esm/hardware-back-button-f93acff0.js +2 -0
  930. package/dist/esm/hardware-back-button-f93acff0.js.map +1 -0
  931. package/dist/esm/helpers-f0dcbd72.js +2 -0
  932. package/dist/esm/helpers-f0dcbd72.js.map +1 -0
  933. package/dist/esm/i18n-53f85411.js +2 -0
  934. package/dist/esm/i18n-53f85411.js.map +1 -0
  935. package/dist/esm/index-0b560278.js +2 -0
  936. package/dist/esm/index-0b560278.js.map +1 -0
  937. package/dist/esm/index-5894dd63.js +2 -0
  938. package/dist/esm/index-5894dd63.js.map +1 -0
  939. package/dist/esm/index-5a126e54.js +2 -0
  940. package/dist/esm/index-5a126e54.js.map +1 -0
  941. package/dist/esm/index-5e663431.js +2 -0
  942. package/dist/esm/index-5e663431.js.map +1 -0
  943. package/dist/esm/index-8cc94b11.js +2 -0
  944. package/dist/esm/index-8cc94b11.js.map +1 -0
  945. package/dist/esm/index-afdf867c.js +2 -0
  946. package/dist/esm/index-afdf867c.js.map +1 -0
  947. package/dist/esm/index-d9b41a43.js +2 -0
  948. package/dist/esm/index-d9b41a43.js.map +1 -0
  949. package/dist/esm/index-f6dce931.js +2 -0
  950. package/dist/esm/index-f6dce931.js.map +1 -0
  951. package/dist/esm/index-fb97e55c.js +2 -0
  952. package/dist/esm/index-fb97e55c.js.map +1 -0
  953. package/dist/esm/index.js +2 -0
  954. package/dist/esm/index.js.map +1 -0
  955. package/dist/esm/input-shims-75d4750d.js +2 -0
  956. package/dist/esm/input-shims-75d4750d.js.map +1 -0
  957. package/dist/esm/input.utils-79bde07f.js +2 -0
  958. package/dist/esm/input.utils-79bde07f.js.map +1 -0
  959. package/dist/esm/ion-accordion-group.entry.js +2 -0
  960. package/dist/esm/ion-accordion-group.entry.js.map +1 -0
  961. package/dist/esm/ion-accordion.entry.js +2 -0
  962. package/dist/esm/ion-accordion.entry.js.map +1 -0
  963. package/dist/esm/ion-action-sheet_3.entry.js +2 -0
  964. package/dist/esm/ion-action-sheet_3.entry.js.map +1 -0
  965. package/dist/esm/ion-app.entry.js +2 -0
  966. package/dist/esm/ion-app.entry.js.map +1 -0
  967. package/dist/esm/ion-avatar.entry.js +2 -0
  968. package/dist/esm/ion-avatar.entry.js.map +1 -0
  969. package/dist/esm/ion-back-button.entry.js +2 -0
  970. package/dist/esm/ion-back-button.entry.js.map +1 -0
  971. package/dist/esm/ion-backdrop.entry.js +2 -0
  972. package/dist/esm/ion-backdrop.entry.js.map +1 -0
  973. package/dist/esm/ion-badge.entry.js +2 -0
  974. package/dist/esm/ion-badge.entry.js.map +1 -0
  975. package/dist/esm/ion-breadcrumb.entry.js +2 -0
  976. package/dist/esm/ion-breadcrumb.entry.js.map +1 -0
  977. package/dist/esm/ion-breadcrumbs.entry.js +2 -0
  978. package/dist/esm/ion-breadcrumbs.entry.js.map +1 -0
  979. package/dist/esm/ion-buttons_3.entry.js +2 -0
  980. package/dist/esm/ion-buttons_3.entry.js.map +1 -0
  981. package/dist/esm/ion-card-content.entry.js +2 -0
  982. package/dist/esm/ion-card-content.entry.js.map +1 -0
  983. package/dist/esm/ion-card-header.entry.js +2 -0
  984. package/dist/esm/ion-card-header.entry.js.map +1 -0
  985. package/dist/esm/ion-card-subtitle.entry.js +2 -0
  986. package/dist/esm/ion-card-subtitle.entry.js.map +1 -0
  987. package/dist/esm/ion-card-title.entry.js +2 -0
  988. package/dist/esm/ion-card-title.entry.js.map +1 -0
  989. package/dist/esm/ion-card.entry.js +2 -0
  990. package/dist/esm/ion-card.entry.js.map +1 -0
  991. package/dist/esm/ion-checkbox_7.entry.js +2 -0
  992. package/dist/esm/ion-checkbox_7.entry.js.map +1 -0
  993. package/dist/esm/ion-chip.entry.js +2 -0
  994. package/dist/esm/ion-chip.entry.js.map +1 -0
  995. package/dist/esm/ion-col.entry.js +2 -0
  996. package/dist/esm/ion-col.entry.js.map +1 -0
  997. package/dist/esm/ion-content.entry.js +2 -0
  998. package/dist/esm/ion-content.entry.js.map +1 -0
  999. package/dist/esm/ion-datetime-button.entry.js +2 -0
  1000. package/dist/esm/ion-datetime-button.entry.js.map +1 -0
  1001. package/dist/esm/ion-datetime.entry.js +2 -0
  1002. package/dist/esm/ion-datetime.entry.js.map +1 -0
  1003. package/dist/esm/ion-fab-button.entry.js +2 -0
  1004. package/dist/esm/ion-fab-button.entry.js.map +1 -0
  1005. package/dist/esm/ion-fab-list.entry.js +2 -0
  1006. package/dist/esm/ion-fab-list.entry.js.map +1 -0
  1007. package/dist/esm/ion-fab.entry.js +2 -0
  1008. package/dist/esm/ion-fab.entry.js.map +1 -0
  1009. package/dist/esm/ion-footer.entry.js +2 -0
  1010. package/dist/esm/ion-footer.entry.js.map +1 -0
  1011. package/dist/esm/ion-grid.entry.js +2 -0
  1012. package/dist/esm/ion-grid.entry.js.map +1 -0
  1013. package/dist/esm/ion-header.entry.js +2 -0
  1014. package/dist/esm/ion-header.entry.js.map +1 -0
  1015. package/dist/esm/ion-icon.entry.js +2 -0
  1016. package/dist/esm/ion-icon.entry.js.map +1 -0
  1017. package/dist/esm/ion-img.entry.js +2 -0
  1018. package/dist/esm/ion-img.entry.js.map +1 -0
  1019. package/dist/esm/ion-infinite-scroll-content.entry.js +2 -0
  1020. package/dist/esm/ion-infinite-scroll-content.entry.js.map +1 -0
  1021. package/dist/esm/ion-infinite-scroll.entry.js +2 -0
  1022. package/dist/esm/ion-infinite-scroll.entry.js.map +1 -0
  1023. package/dist/esm/ion-input.entry.js +2 -0
  1024. package/dist/esm/ion-input.entry.js.map +1 -0
  1025. package/dist/esm/ion-item-divider.entry.js +2 -0
  1026. package/dist/esm/ion-item-divider.entry.js.map +1 -0
  1027. package/dist/esm/ion-item-group.entry.js +2 -0
  1028. package/dist/esm/ion-item-group.entry.js.map +1 -0
  1029. package/dist/esm/ion-item-option.entry.js +2 -0
  1030. package/dist/esm/ion-item-option.entry.js.map +1 -0
  1031. package/dist/esm/ion-item-options.entry.js +2 -0
  1032. package/dist/esm/ion-item-options.entry.js.map +1 -0
  1033. package/dist/esm/ion-item-sliding.entry.js +2 -0
  1034. package/dist/esm/ion-item-sliding.entry.js.map +1 -0
  1035. package/dist/esm/ion-loading.entry.js +2 -0
  1036. package/dist/esm/ion-loading.entry.js.map +1 -0
  1037. package/dist/esm/ion-menu-button.entry.js +2 -0
  1038. package/dist/esm/ion-menu-button.entry.js.map +1 -0
  1039. package/dist/esm/ion-menu-toggle.entry.js +2 -0
  1040. package/dist/esm/ion-menu-toggle.entry.js.map +1 -0
  1041. package/dist/esm/ion-menu.entry.js +2 -0
  1042. package/dist/esm/ion-menu.entry.js.map +1 -0
  1043. package/dist/esm/ion-modal.entry.js +2 -0
  1044. package/dist/esm/ion-modal.entry.js.map +1 -0
  1045. package/dist/esm/ion-nav-link.entry.js +2 -0
  1046. package/dist/esm/ion-nav-link.entry.js.map +1 -0
  1047. package/dist/esm/ion-nav.entry.js +2 -0
  1048. package/dist/esm/ion-nav.entry.js.map +1 -0
  1049. package/dist/esm/ion-note.entry.js +2 -0
  1050. package/dist/esm/ion-note.entry.js.map +1 -0
  1051. package/dist/esm/ion-picker-column.entry.js +2 -0
  1052. package/dist/esm/ion-picker-column.entry.js.map +1 -0
  1053. package/dist/esm/ion-picker.entry.js +2 -0
  1054. package/dist/esm/ion-picker.entry.js.map +1 -0
  1055. package/dist/esm/ion-popover.entry.js +2 -0
  1056. package/dist/esm/ion-popover.entry.js.map +1 -0
  1057. package/dist/esm/ion-progress-bar.entry.js +2 -0
  1058. package/dist/esm/ion-progress-bar.entry.js.map +1 -0
  1059. package/dist/esm/ion-range.entry.js +2 -0
  1060. package/dist/esm/ion-range.entry.js.map +1 -0
  1061. package/dist/esm/ion-refresher-content.entry.js +2 -0
  1062. package/dist/esm/ion-refresher-content.entry.js.map +1 -0
  1063. package/dist/esm/ion-refresher.entry.js +2 -0
  1064. package/dist/esm/ion-refresher.entry.js.map +1 -0
  1065. package/dist/esm/ion-reorder-group.entry.js +2 -0
  1066. package/dist/esm/ion-reorder-group.entry.js.map +1 -0
  1067. package/dist/esm/ion-reorder.entry.js +2 -0
  1068. package/dist/esm/ion-reorder.entry.js.map +1 -0
  1069. package/dist/esm/ion-route-redirect.entry.js +2 -0
  1070. package/dist/esm/ion-route-redirect.entry.js.map +1 -0
  1071. package/dist/esm/ion-route.entry.js +2 -0
  1072. package/dist/esm/ion-route.entry.js.map +1 -0
  1073. package/dist/esm/ion-router-link.entry.js +2 -0
  1074. package/dist/esm/ion-router-link.entry.js.map +1 -0
  1075. package/dist/esm/ion-router-outlet.entry.js +2 -0
  1076. package/dist/esm/ion-router-outlet.entry.js.map +1 -0
  1077. package/dist/esm/ion-router.entry.js +2 -0
  1078. package/dist/esm/ion-router.entry.js.map +1 -0
  1079. package/dist/esm/ion-row.entry.js +2 -0
  1080. package/dist/esm/ion-row.entry.js.map +1 -0
  1081. package/dist/esm/ion-searchbar.entry.js +2 -0
  1082. package/dist/esm/ion-searchbar.entry.js.map +1 -0
  1083. package/dist/esm/ion-segment-button.entry.js +2 -0
  1084. package/dist/esm/ion-segment-button.entry.js.map +1 -0
  1085. package/dist/esm/ion-segment.entry.js +2 -0
  1086. package/dist/esm/ion-segment.entry.js.map +1 -0
  1087. package/dist/esm/ion-select-option.entry.js +2 -0
  1088. package/dist/esm/ion-select-option.entry.js.map +1 -0
  1089. package/dist/esm/ion-select.entry.js +2 -0
  1090. package/dist/esm/ion-select.entry.js.map +1 -0
  1091. package/dist/esm/ion-skeleton-text.entry.js +2 -0
  1092. package/dist/esm/ion-skeleton-text.entry.js.map +1 -0
  1093. package/dist/esm/ion-spinner.entry.js +2 -0
  1094. package/dist/esm/ion-spinner.entry.js.map +1 -0
  1095. package/dist/esm/ion-split-pane.entry.js +2 -0
  1096. package/dist/esm/ion-split-pane.entry.js.map +1 -0
  1097. package/dist/esm/ion-tab-bar.entry.js +2 -0
  1098. package/dist/esm/ion-tab-bar.entry.js.map +1 -0
  1099. package/dist/esm/ion-tab-button.entry.js +2 -0
  1100. package/dist/esm/ion-tab-button.entry.js.map +1 -0
  1101. package/dist/esm/ion-tab.entry.js +2 -0
  1102. package/dist/esm/ion-tab.entry.js.map +1 -0
  1103. package/dist/esm/ion-tabs.entry.js +2 -0
  1104. package/dist/esm/ion-tabs.entry.js.map +1 -0
  1105. package/dist/esm/ion-textarea.entry.js +2 -0
  1106. package/dist/esm/ion-textarea.entry.js.map +1 -0
  1107. package/dist/esm/ion-thumbnail.entry.js +2 -0
  1108. package/dist/esm/ion-thumbnail.entry.js.map +1 -0
  1109. package/dist/esm/ion-title.entry.js +2 -0
  1110. package/dist/esm/ion-title.entry.js.map +1 -0
  1111. package/dist/esm/ion-toast.entry.js +2 -0
  1112. package/dist/esm/ion-toast.entry.js.map +1 -0
  1113. package/dist/esm/ion-toggle.entry.js +2 -0
  1114. package/dist/esm/ion-toggle.entry.js.map +1 -0
  1115. package/dist/esm/ion-toolbar.entry.js +2 -0
  1116. package/dist/esm/ion-toolbar.entry.js.map +1 -0
  1117. package/dist/esm/ionic-global-0b7766cb.js +2 -0
  1118. package/dist/esm/ionic-global-0b7766cb.js.map +1 -0
  1119. package/dist/esm/ios.transition-22fb53bc.js +2 -0
  1120. package/dist/esm/ios.transition-22fb53bc.js.map +1 -0
  1121. package/dist/esm/keyboard-1f073554.js +2 -0
  1122. package/dist/esm/keyboard-1f073554.js.map +1 -0
  1123. package/dist/esm/keyboard-96b6e80b.js +2 -0
  1124. package/dist/esm/keyboard-96b6e80b.js.map +1 -0
  1125. package/dist/esm/keyboard-controller-5a2f625f.js +2 -0
  1126. package/dist/esm/keyboard-controller-5a2f625f.js.map +1 -0
  1127. package/dist/esm/loader.js +3 -1
  1128. package/dist/esm/loader.js.map +1 -0
  1129. package/dist/esm/lock-controller-632e3c10.js +2 -0
  1130. package/dist/esm/lock-controller-632e3c10.js.map +1 -0
  1131. package/dist/esm/md.transition-f6ff9834.js +2 -0
  1132. package/dist/esm/md.transition-f6ff9834.js.map +1 -0
  1133. package/dist/esm/menu-toggle-util-594849ff.js +2 -0
  1134. package/dist/esm/menu-toggle-util-594849ff.js.map +1 -0
  1135. package/dist/esm/notch-controller-d511b3b3.js +2 -0
  1136. package/dist/esm/notch-controller-d511b3b3.js.map +1 -0
  1137. package/dist/esm/overlays-642a91df.js +2 -0
  1138. package/dist/esm/overlays-642a91df.js.map +1 -0
  1139. package/dist/esm/refresher.utils-19137568.js +2 -0
  1140. package/dist/esm/refresher.utils-19137568.js.map +1 -0
  1141. package/dist/esm/spinner-configs-c9fb0813.js +2 -0
  1142. package/dist/esm/spinner-configs-c9fb0813.js.map +1 -0
  1143. package/dist/esm/status-tap-bb6959a8.js +2 -0
  1144. package/dist/esm/status-tap-bb6959a8.js.map +1 -0
  1145. package/dist/esm/swipe-back-6cec4c33.js +2 -0
  1146. package/dist/esm/swipe-back-6cec4c33.js.map +1 -0
  1147. package/dist/esm/theme-35c700b7.js +2 -0
  1148. package/dist/esm/theme-35c700b7.js.map +1 -0
  1149. package/dist/esm/watch-options-7bf43687.js +2 -0
  1150. package/dist/esm/watch-options-7bf43687.js.map +1 -0
  1151. package/dist/types/components/amwal-widget/amwal-widget-modal.d.ts +1 -0
  1152. package/package.json +3 -2
  1153. package/dist/checkout/p-00045a8c.entry.js +0 -1
  1154. package/dist/checkout/p-01bbe74f.entry.js +0 -1
  1155. package/dist/checkout/p-051412fa.entry.js +0 -1
  1156. package/dist/checkout/p-09cbe586.entry.js +0 -4
  1157. package/dist/checkout/p-0a85a01f.entry.js +0 -7
  1158. package/dist/checkout/p-0bbfeb3c.entry.js +0 -1
  1159. package/dist/checkout/p-0d96b482.entry.js +0 -1
  1160. package/dist/checkout/p-104d7733.entry.js +0 -1
  1161. package/dist/checkout/p-10ad151a.entry.js +0 -14
  1162. package/dist/checkout/p-11beffea.entry.js +0 -1
  1163. package/dist/checkout/p-13741a94.entry.js +0 -1
  1164. package/dist/checkout/p-14ea2c82.entry.js +0 -1
  1165. package/dist/checkout/p-167dc7a7.entry.js +0 -4
  1166. package/dist/checkout/p-1a749b59.entry.js +0 -1
  1167. package/dist/checkout/p-1c718939.entry.js +0 -1
  1168. package/dist/checkout/p-1cbb13f2.entry.js +0 -1
  1169. package/dist/checkout/p-20df5234.entry.js +0 -1
  1170. package/dist/checkout/p-24068b1c.entry.js +0 -1
  1171. package/dist/checkout/p-28ccecc7.entry.js +0 -4
  1172. package/dist/checkout/p-3e8da476.entry.js +0 -4
  1173. package/dist/checkout/p-4028c0d2.entry.js +0 -1
  1174. package/dist/checkout/p-44c91c42.entry.js +0 -1
  1175. package/dist/checkout/p-464f5a60.entry.js +0 -1
  1176. package/dist/checkout/p-46b7ee7f.entry.js +0 -1
  1177. package/dist/checkout/p-48784250.entry.js +0 -1
  1178. package/dist/checkout/p-529bce3f.entry.js +0 -1
  1179. package/dist/checkout/p-5eecd5ef.entry.js +0 -1
  1180. package/dist/checkout/p-64257c8d.entry.js +0 -1
  1181. package/dist/checkout/p-64bd1dd3.entry.js +0 -1
  1182. package/dist/checkout/p-68a4caba.entry.js +0 -1
  1183. package/dist/checkout/p-69242ed6.entry.js +0 -1
  1184. package/dist/checkout/p-6d886d7e.entry.js +0 -1
  1185. package/dist/checkout/p-6fb474f3.entry.js +0 -1
  1186. package/dist/checkout/p-79ec3e4b.entry.js +0 -1
  1187. package/dist/checkout/p-7b51bf67.entry.js +0 -7
  1188. package/dist/checkout/p-7fe50ab4.entry.js +0 -1
  1189. package/dist/checkout/p-880b451c.entry.js +0 -4
  1190. package/dist/checkout/p-886dad62.entry.js +0 -1
  1191. package/dist/checkout/p-886e8746.entry.js +0 -1
  1192. package/dist/checkout/p-8a97a411.entry.js +0 -1
  1193. package/dist/checkout/p-8af3c6cc.entry.js +0 -1
  1194. package/dist/checkout/p-8c022f5d.entry.js +0 -1
  1195. package/dist/checkout/p-91855eae.entry.js +0 -1
  1196. package/dist/checkout/p-9185e55b.entry.js +0 -1
  1197. package/dist/checkout/p-926eda98.entry.js +0 -1
  1198. package/dist/checkout/p-93e5b313.entry.js +0 -4
  1199. package/dist/checkout/p-97024acb.entry.js +0 -1
  1200. package/dist/checkout/p-9b65a6e5.entry.js +0 -1
  1201. package/dist/checkout/p-9cc1fdfb.entry.js +0 -1
  1202. package/dist/checkout/p-9f26fb71.entry.js +0 -1
  1203. package/dist/checkout/p-9f41a631.entry.js +0 -1
  1204. package/dist/checkout/p-a2ce8858.entry.js +0 -1
  1205. package/dist/checkout/p-a3fca65c.entry.js +0 -1
  1206. package/dist/checkout/p-a6056eb1.entry.js +0 -4
  1207. package/dist/checkout/p-a7b2cbb9.entry.js +0 -1
  1208. package/dist/checkout/p-ab9a18c4.entry.js +0 -1
  1209. package/dist/checkout/p-b4ad8642.entry.js +0 -1
  1210. package/dist/checkout/p-b4cf78ad.entry.js +0 -1
  1211. package/dist/checkout/p-b9d8ab12.entry.js +0 -1
  1212. package/dist/checkout/p-bd4df0bc.entry.js +0 -1
  1213. package/dist/checkout/p-c61a3d5d.entry.js +0 -1
  1214. package/dist/checkout/p-c6ee4bb6.entry.js +0 -1
  1215. package/dist/checkout/p-c771a565.entry.js +0 -1
  1216. package/dist/checkout/p-c82b2823.entry.js +0 -1
  1217. package/dist/checkout/p-c8f7d1b5.entry.js +0 -1
  1218. package/dist/checkout/p-ceef30cd.entry.js +0 -1
  1219. package/dist/checkout/p-d5733333.entry.js +0 -1
  1220. package/dist/checkout/p-d5bba69c.entry.js +0 -1
  1221. package/dist/checkout/p-d60e05e2.entry.js +0 -1
  1222. package/dist/checkout/p-d6b04157.entry.js +0 -1
  1223. package/dist/checkout/p-d9dfb3ae.entry.js +0 -7
  1224. package/dist/checkout/p-ddbe30b8.entry.js +0 -1
  1225. package/dist/checkout/p-de418dd1.entry.js +0 -1
  1226. package/dist/checkout/p-defa5f72.entry.js +0 -4
  1227. package/dist/checkout/p-df0fa5e1.entry.js +0 -7
  1228. package/dist/checkout/p-e0f073f1.entry.js +0 -7
  1229. package/dist/checkout/p-e237d611.entry.js +0 -1
  1230. package/dist/checkout/p-ea71fb8d.entry.js +0 -1
  1231. package/dist/checkout/p-eda93a0b.entry.js +0 -1
  1232. package/dist/checkout/p-eee05053.entry.js +0 -1
  1233. package/dist/checkout/p-f8460dc4.entry.js +0 -1
  1234. package/dist/checkout/p-f875507d.entry.js +0 -1
  1235. package/dist/checkout/p-fb147065.entry.js +0 -1
  1236. package/dist/checkout/p-fb45cdd1.entry.js +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"names":["getArrowDimensions","arrowEl","arrowWidth","arrowHeight","width","height","getBoundingClientRect","getPopoverDimensions","size","contentEl","triggerEl","contentDimentions","contentHeight","contentWidth","triggerDimensions","configureDismissInteraction","triggerAction","popoverEl","parentPopoverEl","dismissCallbacks","root","getElementRoot","parentContentEl","querySelector","eventName","callback","ev","element","document","elementFromPoint","clientX","clientY","dismiss","undefined","target","closestTrigger","closest","stopPropagation","forEach","addEventListener","removeEventListener","configureTriggerInteraction","triggerCallbacks","hoverTimeout","async","clearTimeout","setTimeout","raf","presentFromTrigger","relatedTarget","preventDefault","setAttribute","removeAttribute","getIndexOfItem","items","item","tagName","findIndex","el","getNextItem","currentItem","currentItemIndex","getPrevItem","focusItem","button","focus","isTriggerElement","hasAttribute","configureKeyboardInteraction","_a","activeElement","targetTagName","Array","from","querySelectorAll","_b","key","parentPopover","getParentPopover","nextItem","prevItem","firstItem","lastItem","length","rightEvent","CustomEvent","dispatchEvent","getPopoverPosition","isRTL","reference","side","align","defaultPosition","event","referenceCoordinates","top","left","mouseEv","customEv","actualTriggerEl","detail","ionShadowTarget","triggerBoundingBox","coordinates","calculatePopoverSide","alignedCoordinates","calculatePopoverAlign","arrowTop","arrowLeft","calculateArrowPosition","originX","originY","calculatePopoverOrigin","getOriginXAlignment","getOriginYAlignment","leftPosition","rightPosition","sideLeft","sideRight","calculatePopoverCenterAlign","calculatePopoverEndAlign","calculateWindowAdjustment","coordTop","coordLeft","bodyPadding","bodyWidth","bodyHeight","safeAreaMargin","contentOriginX","contentOriginY","triggerCoordinates","coordArrowTop","coordArrowLeft","bottom","checkSafeAreaLeft","checkSafeAreaRight","triggerTop","triggerHeight","addPopoverBottomClass","Math","max","shouldShowArrow","didAdjustBounds","trigger","POPOVER_IOS_BODY_PADDING","iosEnterAnimation","baseEl","opts","doc","ownerDocument","dir","defaultView","innerWidth","innerHeight","referenceSizeEl","results","padding","margin","baseAnimation","createAnimation","backdropAnimation","contentAnimation","addElement","fromTo","beforeStyles","afterClearStyles","easing","duration","beforeAddWrite","style","setProperty","classList","add","safeAreaLeft","safeAreaRight","leftValue","showArrow","addAnimation","iosLeaveAnimation","afterAddWrite","removeProperty","remove","POPOVER_MD_BODY_PADDING","mdEnterAnimation","wrapperAnimation","viewportAnimation","mdLeaveAnimation","popoverIosCss","popoverMdCss","Popover","constructor","hostRef","this","coreDelegate","CoreDelegate","lockController","createLockController","inline","focusDescendantOnPresent","onBackdropTap","BACKDROP","onLifecycle","modalEvent","usersElement","name","LIFECYCLE_MAP","type","bubbles","cancelable","destroyTriggerInteraction","getElementById","printIonWarning","destroyKeyboardInteraction","destroyDismissInteraction","presented","hasController","delegate","overlayIndex","enterAnimation","leaveAnimation","component","componentProps","keyboardClose","cssClass","backdropDismiss","showBackdrop","translucent","animated","htmlAttributes","dismissOnSelect","alignment","arrow","isOpen","keyboardEvents","keepContentsMounted","onTriggerChange","onIsOpenChange","newValue","oldValue","present","connectedCallback","prepareOverlay","disconnectedCallback","componentWillLoad","popoverId","setOverlayId","getIonMode","componentDidLoad","focusDescendant","getDelegate","force","workingDelegate","parentEl","parentNode","unlock","lock","ionMount","emit","attachComponent","hasLazyBuild","deepReady","waitForMount","focusFirstDescendant","data","role","dismissParentPopover","shouldDismiss","detachComponent","onDidDismiss","eventMethod","onWillDismiss","render","mode","desktop","isPlatform","enableArrow","h","Host","Object","assign","tabindex","zIndex","class","getClassMap","onIonPopoverDidPresent","onIonPopoverWillPresent","onIonPopoverWillDismiss","onIonPopoverDidDismiss","onIonBackdropTap","tappable","visible","part","onClick","ionPopoverDidPresent","ionPopoverWillPresent","ionPopoverWillDismiss","ionPopoverDidDismiss"],"sources":["./node_modules/@ionic/core/dist/collection/components/popover/utils.js","./node_modules/@ionic/core/dist/collection/components/popover/animations/ios.enter.js","./node_modules/@ionic/core/dist/collection/components/popover/animations/ios.leave.js","./node_modules/@ionic/core/dist/collection/components/popover/animations/md.enter.js","./node_modules/@ionic/core/dist/collection/components/popover/animations/md.leave.js","./node_modules/@ionic/core/dist/collection/components/popover/popover.ios.css?tag=ion-popover&mode=ios&encapsulation=shadow","./node_modules/@ionic/core/dist/collection/components/popover/popover.md.css?tag=ion-popover&mode=md&encapsulation=shadow","./node_modules/@ionic/core/dist/collection/components/popover/popover.js"],"sourcesContent":["/*!\n * (C) Ionic http://ionicframework.com - MIT License\n */\nimport { getElementRoot, raf } from \"../../utils/helpers\";\n/**\n * Returns the dimensions of the popover\n * arrow on `ios` mode. If arrow is disabled\n * returns (0, 0).\n */\nexport const getArrowDimensions = (arrowEl) => {\n if (!arrowEl) {\n return { arrowWidth: 0, arrowHeight: 0 };\n }\n const { width, height } = arrowEl.getBoundingClientRect();\n return { arrowWidth: width, arrowHeight: height };\n};\n/**\n * Returns the recommended dimensions of the popover\n * that takes into account whether or not the width\n * should match the trigger width.\n */\nexport const getPopoverDimensions = (size, contentEl, triggerEl) => {\n const contentDimentions = contentEl.getBoundingClientRect();\n const contentHeight = contentDimentions.height;\n let contentWidth = contentDimentions.width;\n if (size === 'cover' && triggerEl) {\n const triggerDimensions = triggerEl.getBoundingClientRect();\n contentWidth = triggerDimensions.width;\n }\n return {\n contentWidth,\n contentHeight,\n };\n};\nexport const configureDismissInteraction = (triggerEl, triggerAction, popoverEl, parentPopoverEl) => {\n let dismissCallbacks = [];\n const root = getElementRoot(parentPopoverEl);\n const parentContentEl = root.querySelector('.popover-content');\n switch (triggerAction) {\n case 'hover':\n dismissCallbacks = [\n {\n /**\n * Do not use mouseover here\n * as this will causes the event to\n * be dispatched on each underlying\n * element rather than on the popover\n * content as a whole.\n */\n eventName: 'mouseenter',\n callback: (ev) => {\n /**\n * Do not dismiss the popover is we\n * are hovering over its trigger.\n * This would be easier if we used mouseover\n * but this would cause the event to be dispatched\n * more often than we would like, potentially\n * causing performance issues.\n */\n const element = document.elementFromPoint(ev.clientX, ev.clientY);\n if (element === triggerEl) {\n return;\n }\n popoverEl.dismiss(undefined, undefined, false);\n },\n },\n ];\n break;\n case 'context-menu':\n case 'click':\n default:\n dismissCallbacks = [\n {\n eventName: 'click',\n callback: (ev) => {\n /**\n * Do not dismiss the popover is we\n * are hovering over its trigger.\n */\n const target = ev.target;\n const closestTrigger = target.closest('[data-ion-popover-trigger]');\n if (closestTrigger === triggerEl) {\n /**\n * stopPropagation here so if the\n * popover has dismissOnSelect=\"true\"\n * the popover does not dismiss since\n * we just clicked a trigger element.\n */\n ev.stopPropagation();\n return;\n }\n popoverEl.dismiss(undefined, undefined, false);\n },\n },\n ];\n break;\n }\n dismissCallbacks.forEach(({ eventName, callback }) => parentContentEl.addEventListener(eventName, callback));\n return () => {\n dismissCallbacks.forEach(({ eventName, callback }) => parentContentEl.removeEventListener(eventName, callback));\n };\n};\n/**\n * Configures the triggerEl to respond\n * to user interaction based upon the triggerAction\n * prop that devs have defined.\n */\nexport const configureTriggerInteraction = (triggerEl, triggerAction, popoverEl) => {\n let triggerCallbacks = [];\n /**\n * Based upon the kind of trigger interaction\n * the user wants, we setup the correct event\n * listeners.\n */\n switch (triggerAction) {\n case 'hover':\n let hoverTimeout;\n triggerCallbacks = [\n {\n eventName: 'mouseenter',\n callback: async (ev) => {\n ev.stopPropagation();\n if (hoverTimeout) {\n clearTimeout(hoverTimeout);\n }\n /**\n * Hovering over a trigger should not\n * immediately open the next popover.\n */\n hoverTimeout = setTimeout(() => {\n raf(() => {\n popoverEl.presentFromTrigger(ev);\n hoverTimeout = undefined;\n });\n }, 100);\n },\n },\n {\n eventName: 'mouseleave',\n callback: (ev) => {\n if (hoverTimeout) {\n clearTimeout(hoverTimeout);\n }\n /**\n * If mouse is over another popover\n * that is not this popover then we should\n * close this popover.\n */\n const target = ev.relatedTarget;\n if (!target) {\n return;\n }\n if (target.closest('ion-popover') !== popoverEl) {\n popoverEl.dismiss(undefined, undefined, false);\n }\n },\n },\n {\n /**\n * stopPropagation here prevents the popover\n * from dismissing when dismiss-on-select=\"true\".\n */\n eventName: 'click',\n callback: (ev) => ev.stopPropagation(),\n },\n {\n eventName: 'ionPopoverActivateTrigger',\n callback: (ev) => popoverEl.presentFromTrigger(ev, true),\n },\n ];\n break;\n case 'context-menu':\n triggerCallbacks = [\n {\n eventName: 'contextmenu',\n callback: (ev) => {\n /**\n * Prevents the platform context\n * menu from appearing.\n */\n ev.preventDefault();\n popoverEl.presentFromTrigger(ev);\n },\n },\n {\n eventName: 'click',\n callback: (ev) => ev.stopPropagation(),\n },\n {\n eventName: 'ionPopoverActivateTrigger',\n callback: (ev) => popoverEl.presentFromTrigger(ev, true),\n },\n ];\n break;\n case 'click':\n default:\n triggerCallbacks = [\n {\n /**\n * Do not do a stopPropagation() here\n * because if you had two click triggers\n * then clicking the first trigger and then\n * clicking the second trigger would not cause\n * the first popover to dismiss.\n */\n eventName: 'click',\n callback: (ev) => popoverEl.presentFromTrigger(ev),\n },\n {\n eventName: 'ionPopoverActivateTrigger',\n callback: (ev) => popoverEl.presentFromTrigger(ev, true),\n },\n ];\n break;\n }\n triggerCallbacks.forEach(({ eventName, callback }) => triggerEl.addEventListener(eventName, callback));\n triggerEl.setAttribute('data-ion-popover-trigger', 'true');\n return () => {\n triggerCallbacks.forEach(({ eventName, callback }) => triggerEl.removeEventListener(eventName, callback));\n triggerEl.removeAttribute('data-ion-popover-trigger');\n };\n};\n/**\n * Returns the index of an ion-item in an array of ion-items.\n */\nexport const getIndexOfItem = (items, item) => {\n if (!item || item.tagName !== 'ION-ITEM') {\n return -1;\n }\n return items.findIndex((el) => el === item);\n};\n/**\n * Given an array of elements and a currently focused ion-item\n * returns the next ion-item relative to the focused one or\n * undefined.\n */\nexport const getNextItem = (items, currentItem) => {\n const currentItemIndex = getIndexOfItem(items, currentItem);\n return items[currentItemIndex + 1];\n};\n/**\n * Given an array of elements and a currently focused ion-item\n * returns the previous ion-item relative to the focused one or\n * undefined.\n */\nexport const getPrevItem = (items, currentItem) => {\n const currentItemIndex = getIndexOfItem(items, currentItem);\n return items[currentItemIndex - 1];\n};\n/** Focus the internal button of the ion-item */\nconst focusItem = (item) => {\n const root = getElementRoot(item);\n const button = root.querySelector('button');\n if (button) {\n raf(() => button.focus());\n }\n};\n/**\n * Returns `true` if `el` has been designated\n * as a trigger element for an ion-popover.\n */\nexport const isTriggerElement = (el) => el.hasAttribute('data-ion-popover-trigger');\nexport const configureKeyboardInteraction = (popoverEl) => {\n const callback = async (ev) => {\n var _a;\n const activeElement = document.activeElement;\n let items = [];\n const targetTagName = (_a = ev.target) === null || _a === void 0 ? void 0 : _a.tagName;\n /**\n * Only handle custom keyboard interactions for the host popover element\n * and children ion-item elements.\n */\n if (targetTagName !== 'ION-POPOVER' && targetTagName !== 'ION-ITEM') {\n return;\n }\n /**\n * Complex selectors with :not() are :not supported\n * in older versions of Chromium so we need to do a\n * try/catch here so errors are not thrown.\n */\n try {\n /**\n * Select all ion-items that are not children of child popovers.\n * i.e. only select ion-item elements that are part of this popover\n */\n items = Array.from(popoverEl.querySelectorAll('ion-item:not(ion-popover ion-popover *):not([disabled])'));\n /* eslint-disable-next-line */\n }\n catch (_b) { }\n switch (ev.key) {\n /**\n * If we are in a child popover\n * then pressing the left arrow key\n * should close this popover and move\n * focus to the popover that presented\n * this one.\n */\n case 'ArrowLeft':\n const parentPopover = await popoverEl.getParentPopover();\n if (parentPopover) {\n popoverEl.dismiss(undefined, undefined, false);\n }\n break;\n /**\n * ArrowDown should move focus to the next focusable ion-item.\n */\n case 'ArrowDown':\n // Disable movement/scroll with keyboard\n ev.preventDefault();\n const nextItem = getNextItem(items, activeElement);\n if (nextItem !== undefined) {\n focusItem(nextItem);\n }\n break;\n /**\n * ArrowUp should move focus to the previous focusable ion-item.\n */\n case 'ArrowUp':\n // Disable movement/scroll with keyboard\n ev.preventDefault();\n const prevItem = getPrevItem(items, activeElement);\n if (prevItem !== undefined) {\n focusItem(prevItem);\n }\n break;\n /**\n * Home should move focus to the first focusable ion-item.\n */\n case 'Home':\n ev.preventDefault();\n const firstItem = items[0];\n if (firstItem !== undefined) {\n focusItem(firstItem);\n }\n break;\n /**\n * End should move focus to the last focusable ion-item.\n */\n case 'End':\n ev.preventDefault();\n const lastItem = items[items.length - 1];\n if (lastItem !== undefined) {\n focusItem(lastItem);\n }\n break;\n /**\n * ArrowRight, Spacebar, or Enter should activate\n * the currently focused trigger item to open a\n * popover if the element is a trigger item.\n */\n case 'ArrowRight':\n case ' ':\n case 'Enter':\n if (activeElement && isTriggerElement(activeElement)) {\n const rightEvent = new CustomEvent('ionPopoverActivateTrigger');\n activeElement.dispatchEvent(rightEvent);\n }\n break;\n default:\n break;\n }\n };\n popoverEl.addEventListener('keydown', callback);\n return () => popoverEl.removeEventListener('keydown', callback);\n};\n/**\n * Positions a popover by taking into account\n * the reference point, preferred side, alignment\n * and viewport dimensions.\n */\nexport const getPopoverPosition = (isRTL, contentWidth, contentHeight, arrowWidth, arrowHeight, reference, side, align, defaultPosition, triggerEl, event) => {\n var _a;\n let referenceCoordinates = {\n top: 0,\n left: 0,\n width: 0,\n height: 0,\n };\n /**\n * Calculate position relative to the\n * x-y coordinates in the event that\n * was passed in\n */\n switch (reference) {\n case 'event':\n if (!event) {\n return defaultPosition;\n }\n const mouseEv = event;\n referenceCoordinates = {\n top: mouseEv.clientY,\n left: mouseEv.clientX,\n width: 1,\n height: 1,\n };\n break;\n /**\n * Calculate position relative to the bounding\n * box on either the trigger element\n * specified via the `trigger` prop or\n * the target specified on the event\n * that was passed in.\n */\n case 'trigger':\n default:\n const customEv = event;\n /**\n * ionShadowTarget is used when we need to align the\n * popover with an element inside of the shadow root\n * of an Ionic component. Ex: Presenting a popover\n * by clicking on the collapsed indicator inside\n * of `ion-breadcrumb` and centering it relative\n * to the indicator rather than `ion-breadcrumb`\n * as a whole.\n */\n const actualTriggerEl = (triggerEl ||\n ((_a = customEv === null || customEv === void 0 ? void 0 : customEv.detail) === null || _a === void 0 ? void 0 : _a.ionShadowTarget) ||\n (customEv === null || customEv === void 0 ? void 0 : customEv.target));\n if (!actualTriggerEl) {\n return defaultPosition;\n }\n const triggerBoundingBox = actualTriggerEl.getBoundingClientRect();\n referenceCoordinates = {\n top: triggerBoundingBox.top,\n left: triggerBoundingBox.left,\n width: triggerBoundingBox.width,\n height: triggerBoundingBox.height,\n };\n break;\n }\n /**\n * Get top/left offset that would allow\n * popover to be positioned on the\n * preferred side of the reference.\n */\n const coordinates = calculatePopoverSide(side, referenceCoordinates, contentWidth, contentHeight, arrowWidth, arrowHeight, isRTL);\n /**\n * Get the top/left adjustments that\n * would allow the popover content\n * to have the correct alignment.\n */\n const alignedCoordinates = calculatePopoverAlign(align, side, referenceCoordinates, contentWidth, contentHeight);\n const top = coordinates.top + alignedCoordinates.top;\n const left = coordinates.left + alignedCoordinates.left;\n const { arrowTop, arrowLeft } = calculateArrowPosition(side, arrowWidth, arrowHeight, top, left, contentWidth, contentHeight, isRTL);\n const { originX, originY } = calculatePopoverOrigin(side, align, isRTL);\n return { top, left, referenceCoordinates, arrowTop, arrowLeft, originX, originY };\n};\n/**\n * Determines the transform-origin\n * of the popover animation so that it\n * is in line with what the side and alignment\n * prop values are. Currently only used\n * with the MD animation.\n */\nconst calculatePopoverOrigin = (side, align, isRTL) => {\n switch (side) {\n case 'top':\n return { originX: getOriginXAlignment(align), originY: 'bottom' };\n case 'bottom':\n return { originX: getOriginXAlignment(align), originY: 'top' };\n case 'left':\n return { originX: 'right', originY: getOriginYAlignment(align) };\n case 'right':\n return { originX: 'left', originY: getOriginYAlignment(align) };\n case 'start':\n return { originX: isRTL ? 'left' : 'right', originY: getOriginYAlignment(align) };\n case 'end':\n return { originX: isRTL ? 'right' : 'left', originY: getOriginYAlignment(align) };\n }\n};\nconst getOriginXAlignment = (align) => {\n switch (align) {\n case 'start':\n return 'left';\n case 'center':\n return 'center';\n case 'end':\n return 'right';\n }\n};\nconst getOriginYAlignment = (align) => {\n switch (align) {\n case 'start':\n return 'top';\n case 'center':\n return 'center';\n case 'end':\n return 'bottom';\n }\n};\n/**\n * Calculates where the arrow positioning\n * should be relative to the popover content.\n */\nconst calculateArrowPosition = (side, arrowWidth, arrowHeight, top, left, contentWidth, contentHeight, isRTL) => {\n /**\n * Note: When side is left, right, start, or end, the arrow is\n * been rotated using a `transform`, so to move the arrow up or down\n * by its dimension, you need to use `arrowWidth`.\n */\n const leftPosition = {\n arrowTop: top + contentHeight / 2 - arrowWidth / 2,\n arrowLeft: left + contentWidth - arrowWidth / 2,\n };\n /**\n * Move the arrow to the left by arrowWidth and then\n * again by half of its width because we have rotated\n * the arrow using a transform.\n */\n const rightPosition = { arrowTop: top + contentHeight / 2 - arrowWidth / 2, arrowLeft: left - arrowWidth * 1.5 };\n switch (side) {\n case 'top':\n return { arrowTop: top + contentHeight, arrowLeft: left + contentWidth / 2 - arrowWidth / 2 };\n case 'bottom':\n return { arrowTop: top - arrowHeight, arrowLeft: left + contentWidth / 2 - arrowWidth / 2 };\n case 'left':\n return leftPosition;\n case 'right':\n return rightPosition;\n case 'start':\n return isRTL ? rightPosition : leftPosition;\n case 'end':\n return isRTL ? leftPosition : rightPosition;\n default:\n return { arrowTop: 0, arrowLeft: 0 };\n }\n};\n/**\n * Calculates the required top/left\n * values needed to position the popover\n * content on the side specified in the\n * `side` prop.\n */\nconst calculatePopoverSide = (side, triggerBoundingBox, contentWidth, contentHeight, arrowWidth, arrowHeight, isRTL) => {\n const sideLeft = {\n top: triggerBoundingBox.top,\n left: triggerBoundingBox.left - contentWidth - arrowWidth,\n };\n const sideRight = {\n top: triggerBoundingBox.top,\n left: triggerBoundingBox.left + triggerBoundingBox.width + arrowWidth,\n };\n switch (side) {\n case 'top':\n return {\n top: triggerBoundingBox.top - contentHeight - arrowHeight,\n left: triggerBoundingBox.left,\n };\n case 'right':\n return sideRight;\n case 'bottom':\n return {\n top: triggerBoundingBox.top + triggerBoundingBox.height + arrowHeight,\n left: triggerBoundingBox.left,\n };\n case 'left':\n return sideLeft;\n case 'start':\n return isRTL ? sideRight : sideLeft;\n case 'end':\n return isRTL ? sideLeft : sideRight;\n }\n};\n/**\n * Calculates the required top/left\n * offset values needed to provide the\n * correct alignment regardless while taking\n * into account the side the popover is on.\n */\nconst calculatePopoverAlign = (align, side, triggerBoundingBox, contentWidth, contentHeight) => {\n switch (align) {\n case 'center':\n return calculatePopoverCenterAlign(side, triggerBoundingBox, contentWidth, contentHeight);\n case 'end':\n return calculatePopoverEndAlign(side, triggerBoundingBox, contentWidth, contentHeight);\n case 'start':\n default:\n return { top: 0, left: 0 };\n }\n};\n/**\n * Calculate the end alignment for\n * the popover. If side is on the x-axis\n * then the align values refer to the top\n * and bottom margins of the content.\n * If side is on the y-axis then the\n * align values refer to the left and right\n * margins of the content.\n */\nconst calculatePopoverEndAlign = (side, triggerBoundingBox, contentWidth, contentHeight) => {\n switch (side) {\n case 'start':\n case 'end':\n case 'left':\n case 'right':\n return {\n top: -(contentHeight - triggerBoundingBox.height),\n left: 0,\n };\n case 'top':\n case 'bottom':\n default:\n return {\n top: 0,\n left: -(contentWidth - triggerBoundingBox.width),\n };\n }\n};\n/**\n * Calculate the center alignment for\n * the popover. If side is on the x-axis\n * then the align values refer to the top\n * and bottom margins of the content.\n * If side is on the y-axis then the\n * align values refer to the left and right\n * margins of the content.\n */\nconst calculatePopoverCenterAlign = (side, triggerBoundingBox, contentWidth, contentHeight) => {\n switch (side) {\n case 'start':\n case 'end':\n case 'left':\n case 'right':\n return {\n top: -(contentHeight / 2 - triggerBoundingBox.height / 2),\n left: 0,\n };\n case 'top':\n case 'bottom':\n default:\n return {\n top: 0,\n left: -(contentWidth / 2 - triggerBoundingBox.width / 2),\n };\n }\n};\n/**\n * Adjusts popover positioning coordinates\n * such that popover does not appear offscreen\n * or overlapping safe area bounds.\n */\nexport const calculateWindowAdjustment = (side, coordTop, coordLeft, bodyPadding, bodyWidth, bodyHeight, contentWidth, contentHeight, safeAreaMargin, contentOriginX, contentOriginY, triggerCoordinates, coordArrowTop = 0, coordArrowLeft = 0, arrowHeight = 0) => {\n let arrowTop = coordArrowTop;\n const arrowLeft = coordArrowLeft;\n let left = coordLeft;\n let top = coordTop;\n let bottom;\n let originX = contentOriginX;\n let originY = contentOriginY;\n let checkSafeAreaLeft = false;\n let checkSafeAreaRight = false;\n const triggerTop = triggerCoordinates\n ? triggerCoordinates.top + triggerCoordinates.height\n : bodyHeight / 2 - contentHeight / 2;\n const triggerHeight = triggerCoordinates ? triggerCoordinates.height : 0;\n let addPopoverBottomClass = false;\n /**\n * Adjust popover so it does not\n * go off the left of the screen.\n */\n if (left < bodyPadding + safeAreaMargin) {\n left = bodyPadding;\n checkSafeAreaLeft = true;\n originX = 'left';\n /**\n * Adjust popover so it does not\n * go off the right of the screen.\n */\n }\n else if (contentWidth + bodyPadding + left + safeAreaMargin > bodyWidth) {\n checkSafeAreaRight = true;\n left = bodyWidth - contentWidth - bodyPadding;\n originX = 'right';\n }\n /**\n * Adjust popover so it does not\n * go off the top of the screen.\n * If popover is on the left or the right of\n * the trigger, then we should not adjust top\n * margins.\n */\n if (triggerTop + triggerHeight + contentHeight > bodyHeight && (side === 'top' || side === 'bottom')) {\n if (triggerTop - contentHeight > 0) {\n /**\n * While we strive to align the popover with the trigger\n * on smaller screens this is not always possible. As a result,\n * we adjust the popover up so that it does not hang\n * off the bottom of the screen. However, we do not want to move\n * the popover up so much that it goes off the top of the screen.\n *\n * We chose 12 here so that the popover position looks a bit nicer as\n * it is not right up against the edge of the screen.\n */\n top = Math.max(12, triggerTop - contentHeight - triggerHeight - (arrowHeight - 1));\n arrowTop = top + contentHeight;\n originY = 'bottom';\n addPopoverBottomClass = true;\n /**\n * If not enough room for popover to appear\n * above trigger, then cut it off.\n */\n }\n else {\n bottom = bodyPadding;\n }\n }\n return {\n top,\n left,\n bottom,\n originX,\n originY,\n checkSafeAreaLeft,\n checkSafeAreaRight,\n arrowTop,\n arrowLeft,\n addPopoverBottomClass,\n };\n};\nexport const shouldShowArrow = (side, didAdjustBounds = false, ev, trigger) => {\n /**\n * If no event provided and\n * we do not have a trigger,\n * then this popover was likely\n * presented via the popoverController\n * or users called `present` manually.\n * In this case, the arrow should not be\n * shown as we do not have a reference.\n */\n if (!ev && !trigger) {\n return false;\n }\n /**\n * If popover is on the left or the right\n * of a trigger, but we needed to adjust the\n * popover due to screen bounds, then we should\n * hide the arrow as it will never be pointing\n * at the trigger.\n */\n if (side !== 'top' && side !== 'bottom' && didAdjustBounds) {\n return false;\n }\n return true;\n};\n","/*!\n * (C) Ionic http://ionicframework.com - MIT License\n */\nimport { createAnimation } from \"../../../utils/animation/animation\";\nimport { getElementRoot } from \"../../../utils/helpers\";\nimport { calculateWindowAdjustment, getArrowDimensions, getPopoverDimensions, getPopoverPosition, shouldShowArrow, } from \"../utils\";\nconst POPOVER_IOS_BODY_PADDING = 5;\n/**\n * iOS Popover Enter Animation\n */\n// TODO(FW-2832): types\nexport const iosEnterAnimation = (baseEl, opts) => {\n var _a;\n const { event: ev, size, trigger, reference, side, align } = opts;\n const doc = baseEl.ownerDocument;\n const isRTL = doc.dir === 'rtl';\n const bodyWidth = doc.defaultView.innerWidth;\n const bodyHeight = doc.defaultView.innerHeight;\n const root = getElementRoot(baseEl);\n const contentEl = root.querySelector('.popover-content');\n const arrowEl = root.querySelector('.popover-arrow');\n const referenceSizeEl = trigger || ((_a = ev === null || ev === void 0 ? void 0 : ev.detail) === null || _a === void 0 ? void 0 : _a.ionShadowTarget) || (ev === null || ev === void 0 ? void 0 : ev.target);\n const { contentWidth, contentHeight } = getPopoverDimensions(size, contentEl, referenceSizeEl);\n const { arrowWidth, arrowHeight } = getArrowDimensions(arrowEl);\n const defaultPosition = {\n top: bodyHeight / 2 - contentHeight / 2,\n left: bodyWidth / 2 - contentWidth / 2,\n originX: isRTL ? 'right' : 'left',\n originY: 'top',\n };\n const results = getPopoverPosition(isRTL, contentWidth, contentHeight, arrowWidth, arrowHeight, reference, side, align, defaultPosition, trigger, ev);\n const padding = size === 'cover' ? 0 : POPOVER_IOS_BODY_PADDING;\n const margin = size === 'cover' ? 0 : 25;\n const { originX, originY, top, left, bottom, checkSafeAreaLeft, checkSafeAreaRight, arrowTop, arrowLeft, addPopoverBottomClass, } = calculateWindowAdjustment(side, results.top, results.left, padding, bodyWidth, bodyHeight, contentWidth, contentHeight, margin, results.originX, results.originY, results.referenceCoordinates, results.arrowTop, results.arrowLeft, arrowHeight);\n const baseAnimation = createAnimation();\n const backdropAnimation = createAnimation();\n const contentAnimation = createAnimation();\n backdropAnimation\n .addElement(root.querySelector('ion-backdrop'))\n .fromTo('opacity', 0.01, 'var(--backdrop-opacity)')\n .beforeStyles({\n 'pointer-events': 'none',\n })\n .afterClearStyles(['pointer-events']);\n // In Chromium, if the wrapper animates, the backdrop filter doesn't work.\n // The Chromium team stated that this behavior is expected and not a bug. The element animating opacity creates a backdrop root for the backdrop-filter.\n // To get around this, instead of animating the wrapper, animate both the arrow and content.\n // https://bugs.chromium.org/p/chromium/issues/detail?id=1148826\n contentAnimation\n .addElement(root.querySelector('.popover-arrow'))\n .addElement(root.querySelector('.popover-content'))\n .fromTo('opacity', 0.01, 1);\n // TODO(FW-4376) Ensure that arrow also blurs when translucent\n return baseAnimation\n .easing('ease')\n .duration(100)\n .beforeAddWrite(() => {\n if (size === 'cover') {\n baseEl.style.setProperty('--width', `${contentWidth}px`);\n }\n if (addPopoverBottomClass) {\n baseEl.classList.add('popover-bottom');\n }\n if (bottom !== undefined) {\n contentEl.style.setProperty('bottom', `${bottom}px`);\n }\n const safeAreaLeft = ' + var(--ion-safe-area-left, 0)';\n const safeAreaRight = ' - var(--ion-safe-area-right, 0)';\n let leftValue = `${left}px`;\n if (checkSafeAreaLeft) {\n leftValue = `${left}px${safeAreaLeft}`;\n }\n if (checkSafeAreaRight) {\n leftValue = `${left}px${safeAreaRight}`;\n }\n contentEl.style.setProperty('top', `calc(${top}px + var(--offset-y, 0))`);\n contentEl.style.setProperty('left', `calc(${leftValue} + var(--offset-x, 0))`);\n contentEl.style.setProperty('transform-origin', `${originY} ${originX}`);\n if (arrowEl !== null) {\n const didAdjustBounds = results.top !== top || results.left !== left;\n const showArrow = shouldShowArrow(side, didAdjustBounds, ev, trigger);\n if (showArrow) {\n arrowEl.style.setProperty('top', `calc(${arrowTop}px + var(--offset-y, 0))`);\n arrowEl.style.setProperty('left', `calc(${arrowLeft}px + var(--offset-x, 0))`);\n }\n else {\n arrowEl.style.setProperty('display', 'none');\n }\n }\n })\n .addAnimation([backdropAnimation, contentAnimation]);\n};\n","/*!\n * (C) Ionic http://ionicframework.com - MIT License\n */\nimport { createAnimation } from \"../../../utils/animation/animation\";\nimport { getElementRoot } from \"../../../utils/helpers\";\n/**\n * iOS Popover Leave Animation\n */\nexport const iosLeaveAnimation = (baseEl) => {\n const root = getElementRoot(baseEl);\n const contentEl = root.querySelector('.popover-content');\n const arrowEl = root.querySelector('.popover-arrow');\n const baseAnimation = createAnimation();\n const backdropAnimation = createAnimation();\n const contentAnimation = createAnimation();\n backdropAnimation.addElement(root.querySelector('ion-backdrop')).fromTo('opacity', 'var(--backdrop-opacity)', 0);\n contentAnimation\n .addElement(root.querySelector('.popover-arrow'))\n .addElement(root.querySelector('.popover-content'))\n .fromTo('opacity', 0.99, 0);\n return baseAnimation\n .easing('ease')\n .afterAddWrite(() => {\n baseEl.style.removeProperty('--width');\n baseEl.classList.remove('popover-bottom');\n contentEl.style.removeProperty('top');\n contentEl.style.removeProperty('left');\n contentEl.style.removeProperty('bottom');\n contentEl.style.removeProperty('transform-origin');\n if (arrowEl) {\n arrowEl.style.removeProperty('top');\n arrowEl.style.removeProperty('left');\n arrowEl.style.removeProperty('display');\n }\n })\n .duration(300)\n .addAnimation([backdropAnimation, contentAnimation]);\n};\n","/*!\n * (C) Ionic http://ionicframework.com - MIT License\n */\nimport { createAnimation } from \"../../../utils/animation/animation\";\nimport { getElementRoot } from \"../../../utils/helpers\";\nimport { calculateWindowAdjustment, getPopoverDimensions, getPopoverPosition } from \"../utils\";\nconst POPOVER_MD_BODY_PADDING = 12;\n/**\n * Md Popover Enter Animation\n */\n// TODO(FW-2832): types\nexport const mdEnterAnimation = (baseEl, opts) => {\n var _a;\n const { event: ev, size, trigger, reference, side, align } = opts;\n const doc = baseEl.ownerDocument;\n const isRTL = doc.dir === 'rtl';\n const bodyWidth = doc.defaultView.innerWidth;\n const bodyHeight = doc.defaultView.innerHeight;\n const root = getElementRoot(baseEl);\n const contentEl = root.querySelector('.popover-content');\n const referenceSizeEl = trigger || ((_a = ev === null || ev === void 0 ? void 0 : ev.detail) === null || _a === void 0 ? void 0 : _a.ionShadowTarget) || (ev === null || ev === void 0 ? void 0 : ev.target);\n const { contentWidth, contentHeight } = getPopoverDimensions(size, contentEl, referenceSizeEl);\n const defaultPosition = {\n top: bodyHeight / 2 - contentHeight / 2,\n left: bodyWidth / 2 - contentWidth / 2,\n originX: isRTL ? 'right' : 'left',\n originY: 'top',\n };\n const results = getPopoverPosition(isRTL, contentWidth, contentHeight, 0, 0, reference, side, align, defaultPosition, trigger, ev);\n const padding = size === 'cover' ? 0 : POPOVER_MD_BODY_PADDING;\n const { originX, originY, top, left, bottom } = calculateWindowAdjustment(side, results.top, results.left, padding, bodyWidth, bodyHeight, contentWidth, contentHeight, 0, results.originX, results.originY, results.referenceCoordinates);\n const baseAnimation = createAnimation();\n const backdropAnimation = createAnimation();\n const wrapperAnimation = createAnimation();\n const contentAnimation = createAnimation();\n const viewportAnimation = createAnimation();\n backdropAnimation\n .addElement(root.querySelector('ion-backdrop'))\n .fromTo('opacity', 0.01, 'var(--backdrop-opacity)')\n .beforeStyles({\n 'pointer-events': 'none',\n })\n .afterClearStyles(['pointer-events']);\n wrapperAnimation.addElement(root.querySelector('.popover-wrapper')).duration(150).fromTo('opacity', 0.01, 1);\n contentAnimation\n .addElement(contentEl)\n .beforeStyles({\n top: `calc(${top}px + var(--offset-y, 0px))`,\n left: `calc(${left}px + var(--offset-x, 0px))`,\n 'transform-origin': `${originY} ${originX}`,\n })\n .beforeAddWrite(() => {\n if (bottom !== undefined) {\n contentEl.style.setProperty('bottom', `${bottom}px`);\n }\n })\n .fromTo('transform', 'scale(0.8)', 'scale(1)');\n viewportAnimation.addElement(root.querySelector('.popover-viewport')).fromTo('opacity', 0.01, 1);\n return baseAnimation\n .easing('cubic-bezier(0.36,0.66,0.04,1)')\n .duration(300)\n .beforeAddWrite(() => {\n if (size === 'cover') {\n baseEl.style.setProperty('--width', `${contentWidth}px`);\n }\n if (originY === 'bottom') {\n baseEl.classList.add('popover-bottom');\n }\n })\n .addAnimation([backdropAnimation, wrapperAnimation, contentAnimation, viewportAnimation]);\n};\n","/*!\n * (C) Ionic http://ionicframework.com - MIT License\n */\nimport { createAnimation } from \"../../../utils/animation/animation\";\nimport { getElementRoot } from \"../../../utils/helpers\";\n/**\n * Md Popover Leave Animation\n */\nexport const mdLeaveAnimation = (baseEl) => {\n const root = getElementRoot(baseEl);\n const contentEl = root.querySelector('.popover-content');\n const baseAnimation = createAnimation();\n const backdropAnimation = createAnimation();\n const wrapperAnimation = createAnimation();\n backdropAnimation.addElement(root.querySelector('ion-backdrop')).fromTo('opacity', 'var(--backdrop-opacity)', 0);\n wrapperAnimation.addElement(root.querySelector('.popover-wrapper')).fromTo('opacity', 0.99, 0);\n return baseAnimation\n .easing('ease')\n .afterAddWrite(() => {\n baseEl.style.removeProperty('--width');\n baseEl.classList.remove('popover-bottom');\n contentEl.style.removeProperty('top');\n contentEl.style.removeProperty('left');\n contentEl.style.removeProperty('bottom');\n contentEl.style.removeProperty('transform-origin');\n })\n .duration(150)\n .addAnimation([backdropAnimation, wrapperAnimation]);\n};\n","/**\n * Convert a font size to a dynamic font size.\n * Fonts that participate in Dynamic Type should use\n * dynamic font sizes.\n * @param size - The initial font size including the unit (i.e. px or pt)\n * @param unit (optional) - The unit to convert to. Use this if you want to\n * convert to a unit other than $baselineUnit.\n */\n/**\n * Convert a font size to a dynamic font size but impose\n * a maximum font size.\n * @param size - The initial font size including the unit (i.e. px or pt)\n * @param maxScale - The maximum scale of the font (i.e. 2.5 for a maximum 250% scale).\n * @param unit (optional) - The unit to convert the initial font size to. Use this if you want to\n * convert to a unit other than $baselineUnit.\n */\n/**\n * Convert a font size to a dynamic font size but impose\n * a minimum font size.\n * @param size - The initial font size including the unit (i.e. px or pt)\n * @param minScale - The minimum scale of the font (i.e. 0.8 for a minimum 80% scale).\n * @param unit (optional) - The unit to convert the initial font size to. Use this if you want to\n * convert to a unit other than $baselineUnit.\n */\n/**\n * Convert a font size to a dynamic font size but impose\n * maximum and minimum font sizes.\n * @param size - The initial font size including the unit (i.e. px or pt)\n * @param minScale - The minimum scale of the font (i.e. 0.8 for a minimum 80% scale).\n * @param maxScale - The maximum scale of the font (i.e. 2.5 for a maximum 250% scale).\n * @param unit (optional) - The unit to convert the initial font size to. Use this if you want to\n * convert to a unit other than $baselineUnit.\n */\n/**\n * A heuristic that applies CSS to tablet\n * viewports.\n *\n * Usage:\n * @include tablet-viewport() {\n * :host {\n * background-color: green;\n * }\n * }\n */\n/**\n * A heuristic that applies CSS to mobile\n * viewports (i.e. phones, not tablets).\n *\n * Usage:\n * @include mobile-viewport() {\n * :host {\n * background-color: blue;\n * }\n * }\n */\n:host {\n /**\n * @prop --background: Background of the popover\n * @prop --box-shadow: Box shadow of the popover\n *\n * @prop --min-width: Minimum width of the popover\n * @prop --width: Width of the popover\n * @prop --max-width: Maximum width of the popover\n *\n * @prop --min-height: Minimum height of the popover\n * @prop --height: Height of the popover\n * @prop --max-height: Maximum height of the popover\n *\n * @prop --backdrop-opacity: Opacity of the backdrop\n *\n * @prop --offset-x: The amount to move the popover by on the x-axis\n * @prop --offset-y: The amount to move the popover by on the y-axis\n */\n --background: var(--ion-background-color, #fff);\n --min-width: 0;\n --min-height: 0;\n --max-width: auto;\n --height: auto;\n --offset-x: 0px;\n --offset-y: 0px;\n left: 0;\n right: 0;\n top: 0;\n bottom: 0;\n display: flex;\n position: fixed;\n align-items: center;\n justify-content: center;\n outline: none;\n color: var(--ion-text-color, #000);\n z-index: 1001;\n}\n\n/**\n * With nested popovers, only the popover that\n * was first presented has a popover. This is the\n * parent popover and allows us to easily\n * track all nested popovers from a single backdrop.\n * As a result, nested popovers do not have backdrops\n * and their container should not be clickable.\n * This ensures that users can click the parent backdrop\n * while still interacting with the nested popover inner\n * content.\n */\n:host(.popover-nested) {\n pointer-events: none;\n}\n\n:host(.popover-nested) .popover-wrapper {\n pointer-events: auto;\n}\n\n:host(.overlay-hidden) {\n display: none;\n}\n\n.popover-wrapper {\n z-index: 10;\n}\n\n.popover-content {\n display: flex;\n position: absolute;\n flex-direction: column;\n width: var(--width);\n min-width: var(--min-width);\n max-width: var(--max-width);\n height: var(--height);\n min-height: var(--min-height);\n max-height: var(--max-height);\n background: var(--background);\n box-shadow: var(--box-shadow);\n overflow: auto;\n z-index: 10;\n}\n\n::slotted(.popover-viewport) {\n --ion-safe-area-top: 0px;\n --ion-safe-area-right: 0px;\n --ion-safe-area-bottom: 0px;\n --ion-safe-area-left: 0px;\n display: flex;\n flex-direction: column;\n}\n\n:host(.popover-nested.popover-side-left) {\n --offset-x: 5px;\n}\n\n:host(.popover-nested.popover-side-right) {\n --offset-x: -5px;\n}\n\n:host(.popover-nested.popover-side-start) {\n --offset-x: 5px;\n}\n:host-context([dir=rtl]):host(.popover-nested.popover-side-start), :host-context([dir=rtl]).popover-nested.popover-side-start {\n --offset-x: -5px;\n}\n\n@supports selector(:dir(rtl)) {\n :host(.popover-nested.popover-side-start:dir(rtl)) {\n --offset-x: -5px;\n }\n}\n\n:host(.popover-nested.popover-side-end) {\n --offset-x: -5px;\n}\n:host-context([dir=rtl]):host(.popover-nested.popover-side-end), :host-context([dir=rtl]).popover-nested.popover-side-end {\n --offset-x: 5px;\n}\n\n@supports selector(:dir(rtl)) {\n :host(.popover-nested.popover-side-end:dir(rtl)) {\n --offset-x: 5px;\n }\n}\n\n/**\n * Convert a font size to a dynamic font size.\n * Fonts that participate in Dynamic Type should use\n * dynamic font sizes.\n * @param size - The initial font size including the unit (i.e. px or pt)\n * @param unit (optional) - The unit to convert to. Use this if you want to\n * convert to a unit other than $baselineUnit.\n */\n/**\n * Convert a font size to a dynamic font size but impose\n * a maximum font size.\n * @param size - The initial font size including the unit (i.e. px or pt)\n * @param maxScale - The maximum scale of the font (i.e. 2.5 for a maximum 250% scale).\n * @param unit (optional) - The unit to convert the initial font size to. Use this if you want to\n * convert to a unit other than $baselineUnit.\n */\n/**\n * Convert a font size to a dynamic font size but impose\n * a minimum font size.\n * @param size - The initial font size including the unit (i.e. px or pt)\n * @param minScale - The minimum scale of the font (i.e. 0.8 for a minimum 80% scale).\n * @param unit (optional) - The unit to convert the initial font size to. Use this if you want to\n * convert to a unit other than $baselineUnit.\n */\n/**\n * Convert a font size to a dynamic font size but impose\n * maximum and minimum font sizes.\n * @param size - The initial font size including the unit (i.e. px or pt)\n * @param minScale - The minimum scale of the font (i.e. 0.8 for a minimum 80% scale).\n * @param maxScale - The maximum scale of the font (i.e. 2.5 for a maximum 250% scale).\n * @param unit (optional) - The unit to convert the initial font size to. Use this if you want to\n * convert to a unit other than $baselineUnit.\n */\n/**\n * A heuristic that applies CSS to tablet\n * viewports.\n *\n * Usage:\n * @include tablet-viewport() {\n * :host {\n * background-color: green;\n * }\n * }\n */\n/**\n * A heuristic that applies CSS to mobile\n * viewports (i.e. phones, not tablets).\n *\n * Usage:\n * @include mobile-viewport() {\n * :host {\n * background-color: blue;\n * }\n * }\n */\n:host {\n --width: 200px;\n --max-height: 90%;\n --box-shadow: none;\n --backdrop-opacity: var(--ion-backdrop-opacity, 0.08);\n}\n\n:host(.popover-desktop) {\n --box-shadow: 0px 4px 16px 0px rgba(0, 0, 0, 0.12);\n}\n\n.popover-content {\n border-radius: 10px;\n}\n\n:host(.popover-desktop) .popover-content {\n border: 0.5px solid var(--ion-color-step-100, #e6e6e6);\n}\n\n.popover-arrow {\n display: block;\n position: absolute;\n width: 20px;\n height: 10px;\n overflow: hidden;\n /*\n * Required for the arrow to render above the backdrop.\n * Otherwise, the arrow will appear slightly transparent.\n * The value is set to 11 since it's the minimum value that\n * will allow the arrow to render above the backdrop.\n */\n z-index: 11;\n}\n\n.popover-arrow::after {\n top: 3px;\n border-radius: 3px;\n position: absolute;\n width: 14px;\n height: 14px;\n transform: rotate(45deg);\n background: var(--background);\n content: \"\";\n z-index: 10;\n}\n@supports (inset-inline-start: 0) {\n .popover-arrow::after {\n inset-inline-start: 3px;\n }\n}\n@supports not (inset-inline-start: 0) {\n .popover-arrow::after {\n left: 3px;\n }\n :host-context([dir=rtl]) .popover-arrow::after {\n left: unset;\n right: unset;\n right: 3px;\n }\n [dir=rtl] .popover-arrow::after {\n left: unset;\n right: unset;\n right: 3px;\n }\n @supports selector(:dir(rtl)) {\n .popover-arrow::after:dir(rtl) {\n left: unset;\n right: unset;\n right: 3px;\n }\n }\n}\n\n:host(.popover-bottom) .popover-arrow {\n top: auto;\n bottom: -10px;\n}\n\n:host(.popover-bottom) .popover-arrow::after {\n top: -6px;\n}\n\n:host(.popover-side-left) .popover-arrow {\n transform: rotate(90deg);\n}\n\n:host(.popover-side-right) .popover-arrow {\n transform: rotate(-90deg);\n}\n\n:host(.popover-side-top) .popover-arrow {\n transform: rotate(180deg);\n}\n\n:host(.popover-side-start) .popover-arrow {\n transform: rotate(90deg);\n}\n:host-context([dir=rtl]):host(.popover-side-start) .popover-arrow, :host-context([dir=rtl]).popover-side-start .popover-arrow {\n transform: rotate(-90deg);\n}\n\n@supports selector(:dir(rtl)) {\n :host(.popover-side-start:dir(rtl)) .popover-arrow {\n transform: rotate(-90deg);\n }\n}\n\n:host(.popover-side-end) .popover-arrow {\n transform: rotate(-90deg);\n}\n:host-context([dir=rtl]):host(.popover-side-end) .popover-arrow, :host-context([dir=rtl]).popover-side-end .popover-arrow {\n transform: rotate(90deg);\n}\n\n@supports selector(:dir(rtl)) {\n :host(.popover-side-end:dir(rtl)) .popover-arrow {\n transform: rotate(90deg);\n }\n}\n\n.popover-arrow,\n.popover-content {\n opacity: 0;\n}\n\n@supports (backdrop-filter: blur(0)) {\n :host(.popover-translucent) .popover-content,\n :host(.popover-translucent) .popover-arrow::after {\n background: rgba(var(--ion-background-color-rgb, 255, 255, 255), 0.8);\n backdrop-filter: saturate(180%) blur(20px);\n }\n}","/**\n * Convert a font size to a dynamic font size.\n * Fonts that participate in Dynamic Type should use\n * dynamic font sizes.\n * @param size - The initial font size including the unit (i.e. px or pt)\n * @param unit (optional) - The unit to convert to. Use this if you want to\n * convert to a unit other than $baselineUnit.\n */\n/**\n * Convert a font size to a dynamic font size but impose\n * a maximum font size.\n * @param size - The initial font size including the unit (i.e. px or pt)\n * @param maxScale - The maximum scale of the font (i.e. 2.5 for a maximum 250% scale).\n * @param unit (optional) - The unit to convert the initial font size to. Use this if you want to\n * convert to a unit other than $baselineUnit.\n */\n/**\n * Convert a font size to a dynamic font size but impose\n * a minimum font size.\n * @param size - The initial font size including the unit (i.e. px or pt)\n * @param minScale - The minimum scale of the font (i.e. 0.8 for a minimum 80% scale).\n * @param unit (optional) - The unit to convert the initial font size to. Use this if you want to\n * convert to a unit other than $baselineUnit.\n */\n/**\n * Convert a font size to a dynamic font size but impose\n * maximum and minimum font sizes.\n * @param size - The initial font size including the unit (i.e. px or pt)\n * @param minScale - The minimum scale of the font (i.e. 0.8 for a minimum 80% scale).\n * @param maxScale - The maximum scale of the font (i.e. 2.5 for a maximum 250% scale).\n * @param unit (optional) - The unit to convert the initial font size to. Use this if you want to\n * convert to a unit other than $baselineUnit.\n */\n/**\n * A heuristic that applies CSS to tablet\n * viewports.\n *\n * Usage:\n * @include tablet-viewport() {\n * :host {\n * background-color: green;\n * }\n * }\n */\n/**\n * A heuristic that applies CSS to mobile\n * viewports (i.e. phones, not tablets).\n *\n * Usage:\n * @include mobile-viewport() {\n * :host {\n * background-color: blue;\n * }\n * }\n */\n:host {\n /**\n * @prop --background: Background of the popover\n * @prop --box-shadow: Box shadow of the popover\n *\n * @prop --min-width: Minimum width of the popover\n * @prop --width: Width of the popover\n * @prop --max-width: Maximum width of the popover\n *\n * @prop --min-height: Minimum height of the popover\n * @prop --height: Height of the popover\n * @prop --max-height: Maximum height of the popover\n *\n * @prop --backdrop-opacity: Opacity of the backdrop\n *\n * @prop --offset-x: The amount to move the popover by on the x-axis\n * @prop --offset-y: The amount to move the popover by on the y-axis\n */\n --background: var(--ion-background-color, #fff);\n --min-width: 0;\n --min-height: 0;\n --max-width: auto;\n --height: auto;\n --offset-x: 0px;\n --offset-y: 0px;\n left: 0;\n right: 0;\n top: 0;\n bottom: 0;\n display: flex;\n position: fixed;\n align-items: center;\n justify-content: center;\n outline: none;\n color: var(--ion-text-color, #000);\n z-index: 1001;\n}\n\n/**\n * With nested popovers, only the popover that\n * was first presented has a popover. This is the\n * parent popover and allows us to easily\n * track all nested popovers from a single backdrop.\n * As a result, nested popovers do not have backdrops\n * and their container should not be clickable.\n * This ensures that users can click the parent backdrop\n * while still interacting with the nested popover inner\n * content.\n */\n:host(.popover-nested) {\n pointer-events: none;\n}\n\n:host(.popover-nested) .popover-wrapper {\n pointer-events: auto;\n}\n\n:host(.overlay-hidden) {\n display: none;\n}\n\n.popover-wrapper {\n z-index: 10;\n}\n\n.popover-content {\n display: flex;\n position: absolute;\n flex-direction: column;\n width: var(--width);\n min-width: var(--min-width);\n max-width: var(--max-width);\n height: var(--height);\n min-height: var(--min-height);\n max-height: var(--max-height);\n background: var(--background);\n box-shadow: var(--box-shadow);\n overflow: auto;\n z-index: 10;\n}\n\n::slotted(.popover-viewport) {\n --ion-safe-area-top: 0px;\n --ion-safe-area-right: 0px;\n --ion-safe-area-bottom: 0px;\n --ion-safe-area-left: 0px;\n display: flex;\n flex-direction: column;\n}\n\n:host(.popover-nested.popover-side-left) {\n --offset-x: 5px;\n}\n\n:host(.popover-nested.popover-side-right) {\n --offset-x: -5px;\n}\n\n:host(.popover-nested.popover-side-start) {\n --offset-x: 5px;\n}\n:host-context([dir=rtl]):host(.popover-nested.popover-side-start), :host-context([dir=rtl]).popover-nested.popover-side-start {\n --offset-x: -5px;\n}\n\n@supports selector(:dir(rtl)) {\n :host(.popover-nested.popover-side-start:dir(rtl)) {\n --offset-x: -5px;\n }\n}\n\n:host(.popover-nested.popover-side-end) {\n --offset-x: -5px;\n}\n:host-context([dir=rtl]):host(.popover-nested.popover-side-end), :host-context([dir=rtl]).popover-nested.popover-side-end {\n --offset-x: 5px;\n}\n\n@supports selector(:dir(rtl)) {\n :host(.popover-nested.popover-side-end:dir(rtl)) {\n --offset-x: 5px;\n }\n}\n\n/**\n * Convert a font size to a dynamic font size.\n * Fonts that participate in Dynamic Type should use\n * dynamic font sizes.\n * @param size - The initial font size including the unit (i.e. px or pt)\n * @param unit (optional) - The unit to convert to. Use this if you want to\n * convert to a unit other than $baselineUnit.\n */\n/**\n * Convert a font size to a dynamic font size but impose\n * a maximum font size.\n * @param size - The initial font size including the unit (i.e. px or pt)\n * @param maxScale - The maximum scale of the font (i.e. 2.5 for a maximum 250% scale).\n * @param unit (optional) - The unit to convert the initial font size to. Use this if you want to\n * convert to a unit other than $baselineUnit.\n */\n/**\n * Convert a font size to a dynamic font size but impose\n * a minimum font size.\n * @param size - The initial font size including the unit (i.e. px or pt)\n * @param minScale - The minimum scale of the font (i.e. 0.8 for a minimum 80% scale).\n * @param unit (optional) - The unit to convert the initial font size to. Use this if you want to\n * convert to a unit other than $baselineUnit.\n */\n/**\n * Convert a font size to a dynamic font size but impose\n * maximum and minimum font sizes.\n * @param size - The initial font size including the unit (i.e. px or pt)\n * @param minScale - The minimum scale of the font (i.e. 0.8 for a minimum 80% scale).\n * @param maxScale - The maximum scale of the font (i.e. 2.5 for a maximum 250% scale).\n * @param unit (optional) - The unit to convert the initial font size to. Use this if you want to\n * convert to a unit other than $baselineUnit.\n */\n/**\n * A heuristic that applies CSS to tablet\n * viewports.\n *\n * Usage:\n * @include tablet-viewport() {\n * :host {\n * background-color: green;\n * }\n * }\n */\n/**\n * A heuristic that applies CSS to mobile\n * viewports (i.e. phones, not tablets).\n *\n * Usage:\n * @include mobile-viewport() {\n * :host {\n * background-color: blue;\n * }\n * }\n */\n:host {\n --width: 250px;\n --max-height: 90%;\n --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);\n --backdrop-opacity: var(--ion-backdrop-opacity, 0.32);\n}\n\n.popover-content {\n border-radius: 4px;\n transform-origin: left top;\n}\n:host-context([dir=rtl]) .popover-content {\n transform-origin: right top;\n}\n\n[dir=rtl] .popover-content {\n transform-origin: right top;\n}\n\n@supports selector(:dir(rtl)) {\n .popover-content:dir(rtl) {\n transform-origin: right top;\n }\n}\n\n.popover-viewport {\n transition-delay: 100ms;\n}\n\n.popover-wrapper {\n opacity: 0;\n}","/*!\n * (C) Ionic http://ionicframework.com - MIT License\n */\nimport { Host, h } from \"@stencil/core\";\nimport { CoreDelegate, attachComponent, detachComponent } from \"../../utils/framework-delegate\";\nimport { addEventListener, raf, hasLazyBuild } from \"../../utils/helpers\";\nimport { createLockController } from \"../../utils/lock-controller\";\nimport { printIonWarning } from \"../../utils/logging/index\";\nimport { BACKDROP, dismiss, eventMethod, focusFirstDescendant, prepareOverlay, present, setOverlayId, } from \"../../utils/overlays\";\nimport { isPlatform } from \"../../utils/platform\";\nimport { getClassMap } from \"../../utils/theme\";\nimport { deepReady, waitForMount } from \"../../utils/transition/index\";\nimport { getIonMode } from \"../../global/ionic-global\";\nimport { iosEnterAnimation } from \"./animations/ios.enter\";\nimport { iosLeaveAnimation } from \"./animations/ios.leave\";\nimport { mdEnterAnimation } from \"./animations/md.enter\";\nimport { mdLeaveAnimation } from \"./animations/md.leave\";\nimport { configureDismissInteraction, configureKeyboardInteraction, configureTriggerInteraction } from \"./utils\";\n// TODO(FW-2832): types\n/**\n * @virtualProp {\"ios\" | \"md\"} mode - The mode determines which platform styles to use.\n *\n * @slot - Content is placed inside of the `.popover-content` element.\n *\n * @part backdrop - The `ion-backdrop` element.\n * @part arrow - The arrow that points to the reference element. Only applies on `ios` mode.\n * @part content - The wrapper element for the default slot.\n */\nexport class Popover {\n constructor() {\n this.parentPopover = null;\n this.coreDelegate = CoreDelegate();\n this.lockController = createLockController();\n this.inline = false;\n this.focusDescendantOnPresent = false;\n this.onBackdropTap = () => {\n this.dismiss(undefined, BACKDROP);\n };\n this.onLifecycle = (modalEvent) => {\n const el = this.usersElement;\n const name = LIFECYCLE_MAP[modalEvent.type];\n if (el && name) {\n const event = new CustomEvent(name, {\n bubbles: false,\n cancelable: false,\n detail: modalEvent.detail,\n });\n el.dispatchEvent(event);\n }\n };\n this.configureTriggerInteraction = () => {\n const { trigger, triggerAction, el, destroyTriggerInteraction } = this;\n if (destroyTriggerInteraction) {\n destroyTriggerInteraction();\n }\n if (trigger === undefined) {\n return;\n }\n const triggerEl = (this.triggerEl = trigger !== undefined ? document.getElementById(trigger) : null);\n if (!triggerEl) {\n printIonWarning(`A trigger element with the ID \"${trigger}\" was not found in the DOM. The trigger element must be in the DOM when the \"trigger\" property is set on ion-popover.`, this.el);\n return;\n }\n this.destroyTriggerInteraction = configureTriggerInteraction(triggerEl, triggerAction, el);\n };\n this.configureKeyboardInteraction = () => {\n const { destroyKeyboardInteraction, el } = this;\n if (destroyKeyboardInteraction) {\n destroyKeyboardInteraction();\n }\n this.destroyKeyboardInteraction = configureKeyboardInteraction(el);\n };\n this.configureDismissInteraction = () => {\n const { destroyDismissInteraction, parentPopover, triggerAction, triggerEl, el } = this;\n if (!parentPopover || !triggerEl) {\n return;\n }\n if (destroyDismissInteraction) {\n destroyDismissInteraction();\n }\n this.destroyDismissInteraction = configureDismissInteraction(triggerEl, triggerAction, el, parentPopover);\n };\n this.presented = false;\n this.hasController = false;\n this.delegate = undefined;\n this.overlayIndex = undefined;\n this.enterAnimation = undefined;\n this.leaveAnimation = undefined;\n this.component = undefined;\n this.componentProps = undefined;\n this.keyboardClose = true;\n this.cssClass = undefined;\n this.backdropDismiss = true;\n this.event = undefined;\n this.showBackdrop = true;\n this.translucent = false;\n this.animated = true;\n this.htmlAttributes = undefined;\n this.triggerAction = 'click';\n this.trigger = undefined;\n this.size = 'auto';\n this.dismissOnSelect = false;\n this.reference = 'trigger';\n this.side = 'bottom';\n this.alignment = undefined;\n this.arrow = true;\n this.isOpen = false;\n this.keyboardEvents = false;\n this.keepContentsMounted = false;\n }\n onTriggerChange() {\n this.configureTriggerInteraction();\n }\n onIsOpenChange(newValue, oldValue) {\n if (newValue === true && oldValue === false) {\n this.present();\n }\n else if (newValue === false && oldValue === true) {\n this.dismiss();\n }\n }\n connectedCallback() {\n const { configureTriggerInteraction, el } = this;\n prepareOverlay(el);\n configureTriggerInteraction();\n }\n disconnectedCallback() {\n const { destroyTriggerInteraction } = this;\n if (destroyTriggerInteraction) {\n destroyTriggerInteraction();\n }\n }\n componentWillLoad() {\n const { el } = this;\n const popoverId = setOverlayId(el);\n this.parentPopover = el.closest(`ion-popover:not(#${popoverId})`);\n if (this.alignment === undefined) {\n this.alignment = getIonMode(this) === 'ios' ? 'center' : 'start';\n }\n }\n componentDidLoad() {\n const { parentPopover, isOpen } = this;\n /**\n * If popover was rendered with isOpen=\"true\"\n * then we should open popover immediately.\n */\n if (isOpen === true) {\n raf(() => this.present());\n }\n if (parentPopover) {\n addEventListener(parentPopover, 'ionPopoverWillDismiss', () => {\n this.dismiss(undefined, undefined, false);\n });\n }\n /**\n * When binding values in frameworks such as Angular\n * it is possible for the value to be set after the Web Component\n * initializes but before the value watcher is set up in Stencil.\n * As a result, the watcher callback may not be fired.\n * We work around this by manually calling the watcher\n * callback when the component has loaded and the watcher\n * is configured.\n */\n this.configureTriggerInteraction();\n }\n /**\n * When opening a popover from a trigger, we should not be\n * modifying the `event` prop from inside the component.\n * Additionally, when pressing the \"Right\" arrow key, we need\n * to shift focus to the first descendant in the newly presented\n * popover.\n *\n * @internal\n */\n async presentFromTrigger(event, focusDescendant = false) {\n this.focusDescendantOnPresent = focusDescendant;\n await this.present(event);\n this.focusDescendantOnPresent = false;\n }\n /**\n * Determines whether or not an overlay\n * is being used inline or via a controller/JS\n * and returns the correct delegate.\n * By default, subsequent calls to getDelegate\n * will use a cached version of the delegate.\n * This is useful for calling dismiss after\n * present so that the correct delegate is given.\n */\n getDelegate(force = false) {\n if (this.workingDelegate && !force) {\n return {\n delegate: this.workingDelegate,\n inline: this.inline,\n };\n }\n /**\n * If using overlay inline\n * we potentially need to use the coreDelegate\n * so that this works in vanilla JS apps.\n * If a developer has presented this component\n * via a controller, then we can assume\n * the component is already in the\n * correct place.\n */\n const parentEl = this.el.parentNode;\n const inline = (this.inline = parentEl !== null && !this.hasController);\n const delegate = (this.workingDelegate = inline ? this.delegate || this.coreDelegate : this.delegate);\n return { inline, delegate };\n }\n /**\n * Present the popover overlay after it has been created.\n * Developers can pass a mouse, touch, or pointer event\n * to position the popover relative to where that event\n * was dispatched.\n */\n async present(event) {\n const unlock = await this.lockController.lock();\n if (this.presented) {\n unlock();\n return;\n }\n const { el } = this;\n const { inline, delegate } = this.getDelegate(true);\n /**\n * Emit ionMount so JS Frameworks have an opportunity\n * to add the child component to the DOM. The child\n * component will be assigned to this.usersElement below.\n */\n this.ionMount.emit();\n this.usersElement = await attachComponent(delegate, el, this.component, ['popover-viewport'], this.componentProps, inline);\n if (!this.keyboardEvents) {\n this.configureKeyboardInteraction();\n }\n this.configureDismissInteraction();\n /**\n * When using the lazy loaded build of Stencil, we need to wait\n * for every Stencil component instance to be ready before presenting\n * otherwise there can be a flash of unstyled content. With the\n * custom elements bundle we need to wait for the JS framework\n * mount the inner contents of the overlay otherwise WebKit may\n * get the transition incorrect.\n */\n if (hasLazyBuild(el)) {\n await deepReady(this.usersElement);\n /**\n * If keepContentsMounted=\"true\" then the\n * JS Framework has already mounted the inner\n * contents so there is no need to wait.\n * Otherwise, we need to wait for the JS\n * Framework to mount the inner contents\n * of this component.\n */\n }\n else if (!this.keepContentsMounted) {\n await waitForMount();\n }\n await present(this, 'popoverEnter', iosEnterAnimation, mdEnterAnimation, {\n event: event || this.event,\n size: this.size,\n trigger: this.triggerEl,\n reference: this.reference,\n side: this.side,\n align: this.alignment,\n });\n /**\n * If popover is nested and was\n * presented using the \"Right\" arrow key,\n * we need to move focus to the first\n * descendant inside of the popover.\n */\n if (this.focusDescendantOnPresent) {\n focusFirstDescendant(this.el, this.el);\n }\n unlock();\n }\n /**\n * Dismiss the popover overlay after it has been presented.\n *\n * @param data Any data to emit in the dismiss events.\n * @param role The role of the element that is dismissing the popover. For example, 'cancel' or 'backdrop'.\n * @param dismissParentPopover If `true`, dismissing this popover will also dismiss\n * a parent popover if this popover is nested. Defaults to `true`.\n *\n * This is a no-op if the overlay has not been presented yet. If you want\n * to remove an overlay from the DOM that was never presented, use the\n * [remove](https://developer.mozilla.org/en-US/docs/Web/API/Element/remove) method.\n */\n async dismiss(data, role, dismissParentPopover = true) {\n const unlock = await this.lockController.lock();\n const { destroyKeyboardInteraction, destroyDismissInteraction } = this;\n if (dismissParentPopover && this.parentPopover) {\n this.parentPopover.dismiss(data, role, dismissParentPopover);\n }\n const shouldDismiss = await dismiss(this, data, role, 'popoverLeave', iosLeaveAnimation, mdLeaveAnimation, this.event);\n if (shouldDismiss) {\n if (destroyKeyboardInteraction) {\n destroyKeyboardInteraction();\n this.destroyKeyboardInteraction = undefined;\n }\n if (destroyDismissInteraction) {\n destroyDismissInteraction();\n this.destroyDismissInteraction = undefined;\n }\n /**\n * If using popover inline\n * we potentially need to use the coreDelegate\n * so that this works in vanilla JS apps\n */\n const { delegate } = this.getDelegate();\n await detachComponent(delegate, this.usersElement);\n }\n unlock();\n return shouldDismiss;\n }\n /**\n * @internal\n */\n async getParentPopover() {\n return this.parentPopover;\n }\n /**\n * Returns a promise that resolves when the popover did dismiss.\n */\n onDidDismiss() {\n return eventMethod(this.el, 'ionPopoverDidDismiss');\n }\n /**\n * Returns a promise that resolves when the popover will dismiss.\n */\n onWillDismiss() {\n return eventMethod(this.el, 'ionPopoverWillDismiss');\n }\n render() {\n const mode = getIonMode(this);\n const { onLifecycle, parentPopover, dismissOnSelect, side, arrow, htmlAttributes } = this;\n const desktop = isPlatform('desktop');\n const enableArrow = arrow && !parentPopover;\n return (h(Host, Object.assign({ key: 'f3b86c7bc6ef6b1b27a6ac78e7ddd98e46223bd4', \"aria-modal\": \"true\", \"no-router\": true, tabindex: \"-1\" }, htmlAttributes, { style: {\n zIndex: `${20000 + this.overlayIndex}`,\n }, class: Object.assign(Object.assign({}, getClassMap(this.cssClass)), { [mode]: true, 'popover-translucent': this.translucent, 'overlay-hidden': true, 'popover-desktop': desktop, [`popover-side-${side}`]: true, 'popover-nested': !!parentPopover }), onIonPopoverDidPresent: onLifecycle, onIonPopoverWillPresent: onLifecycle, onIonPopoverWillDismiss: onLifecycle, onIonPopoverDidDismiss: onLifecycle, onIonBackdropTap: this.onBackdropTap }), !parentPopover && h(\"ion-backdrop\", { key: 'f7fbd914100838ed7d419eedd19e6b1efa691127', tappable: this.backdropDismiss, visible: this.showBackdrop, part: \"backdrop\" }), h(\"div\", { key: 'a651cb4daa6556e761c2e2b672306ad25e4c9429', class: \"popover-wrapper ion-overlay-wrapper\", onClick: dismissOnSelect ? () => this.dismiss() : undefined }, enableArrow && h(\"div\", { key: '7c5c7d8d6f9530535124e3fc75a38055f68b7589', class: \"popover-arrow\", part: \"arrow\" }), h(\"div\", { key: '9f92fff4f36941e8f7de9774aef7d7508ca5cfe5', class: \"popover-content\", part: \"content\" }, h(\"slot\", { key: '26c4e3df40a4832caff996ead3321c656eb5704f' })))));\n }\n static get is() { return \"ion-popover\"; }\n static get encapsulation() { return \"shadow\"; }\n static get originalStyleUrls() {\n return {\n \"ios\": [\"popover.ios.scss\"],\n \"md\": [\"popover.md.scss\"]\n };\n }\n static get styleUrls() {\n return {\n \"ios\": [\"popover.ios.css\"],\n \"md\": [\"popover.md.css\"]\n };\n }\n static get properties() {\n return {\n \"hasController\": {\n \"type\": \"boolean\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"boolean\",\n \"resolved\": \"boolean\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [{\n \"name\": \"internal\",\n \"text\": undefined\n }],\n \"text\": \"\"\n },\n \"attribute\": \"has-controller\",\n \"reflect\": false,\n \"defaultValue\": \"false\"\n },\n \"delegate\": {\n \"type\": \"unknown\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"FrameworkDelegate\",\n \"resolved\": \"FrameworkDelegate | undefined\",\n \"references\": {\n \"FrameworkDelegate\": {\n \"location\": \"import\",\n \"path\": \"../../interface\",\n \"id\": \"src/interface.d.ts::FrameworkDelegate\"\n }\n }\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [{\n \"name\": \"internal\",\n \"text\": undefined\n }],\n \"text\": \"\"\n }\n },\n \"overlayIndex\": {\n \"type\": \"number\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"number\",\n \"resolved\": \"number\",\n \"references\": {}\n },\n \"required\": true,\n \"optional\": false,\n \"docs\": {\n \"tags\": [{\n \"name\": \"internal\",\n \"text\": undefined\n }],\n \"text\": \"\"\n },\n \"attribute\": \"overlay-index\",\n \"reflect\": false\n },\n \"enterAnimation\": {\n \"type\": \"unknown\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"AnimationBuilder\",\n \"resolved\": \"((baseEl: any, opts?: any) => Animation) | undefined\",\n \"references\": {\n \"AnimationBuilder\": {\n \"location\": \"import\",\n \"path\": \"../../interface\",\n \"id\": \"src/interface.d.ts::AnimationBuilder\"\n }\n }\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"Animation to use when the popover is presented.\"\n }\n },\n \"leaveAnimation\": {\n \"type\": \"unknown\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"AnimationBuilder\",\n \"resolved\": \"((baseEl: any, opts?: any) => Animation) | undefined\",\n \"references\": {\n \"AnimationBuilder\": {\n \"location\": \"import\",\n \"path\": \"../../interface\",\n \"id\": \"src/interface.d.ts::AnimationBuilder\"\n }\n }\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"Animation to use when the popover is dismissed.\"\n }\n },\n \"component\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"ComponentRef\",\n \"resolved\": \"Function | HTMLElement | null | string | undefined\",\n \"references\": {\n \"ComponentRef\": {\n \"location\": \"import\",\n \"path\": \"../../interface\",\n \"id\": \"src/interface.d.ts::ComponentRef\"\n }\n }\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The component to display inside of the popover.\\nYou only need to use this if you are not using\\na JavaScript framework. Otherwise, you can just\\nslot your component inside of `ion-popover`.\"\n },\n \"attribute\": \"component\",\n \"reflect\": false\n },\n \"componentProps\": {\n \"type\": \"unknown\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"ComponentProps\",\n \"resolved\": \"undefined | { [key: string]: any; }\",\n \"references\": {\n \"ComponentProps\": {\n \"location\": \"import\",\n \"path\": \"../../interface\",\n \"id\": \"src/interface.d.ts::ComponentProps\"\n }\n }\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The data to pass to the popover component.\\nYou only need to use this if you are not using\\na JavaScript framework. Otherwise, you can just\\nset the props directly on your component.\"\n }\n },\n \"keyboardClose\": {\n \"type\": \"boolean\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"boolean\",\n \"resolved\": \"boolean\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"If `true`, the keyboard will be automatically dismissed when the overlay is presented.\"\n },\n \"attribute\": \"keyboard-close\",\n \"reflect\": false,\n \"defaultValue\": \"true\"\n },\n \"cssClass\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"string | string[]\",\n \"resolved\": \"string | string[] | undefined\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [{\n \"name\": \"internal\",\n \"text\": undefined\n }],\n \"text\": \"Additional classes to apply for custom CSS. If multiple classes are\\nprovided they should be separated by spaces.\"\n },\n \"attribute\": \"css-class\",\n \"reflect\": false\n },\n \"backdropDismiss\": {\n \"type\": \"boolean\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"boolean\",\n \"resolved\": \"boolean\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"If `true`, the popover will be dismissed when the backdrop is clicked.\"\n },\n \"attribute\": \"backdrop-dismiss\",\n \"reflect\": false,\n \"defaultValue\": \"true\"\n },\n \"event\": {\n \"type\": \"any\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"any\",\n \"resolved\": \"any\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The event to pass to the popover animation.\"\n },\n \"attribute\": \"event\",\n \"reflect\": false\n },\n \"showBackdrop\": {\n \"type\": \"boolean\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"boolean\",\n \"resolved\": \"boolean\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"If `true`, a backdrop will be displayed behind the popover.\\nThis property controls whether or not the backdrop\\ndarkens the screen when the popover is presented.\\nIt does not control whether or not the backdrop\\nis active or present in the DOM.\"\n },\n \"attribute\": \"show-backdrop\",\n \"reflect\": false,\n \"defaultValue\": \"true\"\n },\n \"translucent\": {\n \"type\": \"boolean\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"boolean\",\n \"resolved\": \"boolean\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"If `true`, the popover will be translucent.\\nOnly applies when the mode is `\\\"ios\\\"` and the device supports\\n[`backdrop-filter`](https://developer.mozilla.org/en-US/docs/Web/CSS/backdrop-filter#Browser_compatibility).\"\n },\n \"attribute\": \"translucent\",\n \"reflect\": false,\n \"defaultValue\": \"false\"\n },\n \"animated\": {\n \"type\": \"boolean\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"boolean\",\n \"resolved\": \"boolean\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"If `true`, the popover will animate.\"\n },\n \"attribute\": \"animated\",\n \"reflect\": false,\n \"defaultValue\": \"true\"\n },\n \"htmlAttributes\": {\n \"type\": \"unknown\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"{ [key: string]: any }\",\n \"resolved\": \"undefined | { [key: string]: any; }\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"Additional attributes to pass to the popover.\"\n }\n },\n \"triggerAction\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"TriggerAction\",\n \"resolved\": \"\\\"click\\\" | \\\"context-menu\\\" | \\\"hover\\\"\",\n \"references\": {\n \"TriggerAction\": {\n \"location\": \"import\",\n \"path\": \"./popover-interface\",\n \"id\": \"src/components/popover/popover-interface.ts::TriggerAction\"\n }\n }\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"Describes what kind of interaction with the trigger that\\nshould cause the popover to open. Does not apply when the `trigger`\\nproperty is `undefined`.\\nIf `\\\"click\\\"`, the popover will be presented when the trigger is left clicked.\\nIf `\\\"hover\\\"`, the popover will be presented when a pointer hovers over the trigger.\\nIf `\\\"context-menu\\\"`, the popover will be presented when the trigger is right\\nclicked on desktop and long pressed on mobile. This will also prevent your\\ndevice's normal context menu from appearing.\"\n },\n \"attribute\": \"trigger-action\",\n \"reflect\": false,\n \"defaultValue\": \"'click'\"\n },\n \"trigger\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"string | undefined\",\n \"resolved\": \"string | undefined\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"An ID corresponding to the trigger element that\\ncauses the popover to open. Use the `trigger-action`\\nproperty to customize the interaction that results in\\nthe popover opening.\"\n },\n \"attribute\": \"trigger\",\n \"reflect\": false\n },\n \"size\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"PopoverSize\",\n \"resolved\": \"\\\"auto\\\" | \\\"cover\\\"\",\n \"references\": {\n \"PopoverSize\": {\n \"location\": \"import\",\n \"path\": \"./popover-interface\",\n \"id\": \"src/components/popover/popover-interface.ts::PopoverSize\"\n }\n }\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"Describes how to calculate the popover width.\\nIf `\\\"cover\\\"`, the popover width will match the width of the trigger.\\nIf `\\\"auto\\\"`, the popover width will be set to a static default value.\"\n },\n \"attribute\": \"size\",\n \"reflect\": false,\n \"defaultValue\": \"'auto'\"\n },\n \"dismissOnSelect\": {\n \"type\": \"boolean\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"boolean\",\n \"resolved\": \"boolean\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"If `true`, the popover will be automatically\\ndismissed when the content has been clicked.\"\n },\n \"attribute\": \"dismiss-on-select\",\n \"reflect\": false,\n \"defaultValue\": \"false\"\n },\n \"reference\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"PositionReference\",\n \"resolved\": \"\\\"event\\\" | \\\"trigger\\\"\",\n \"references\": {\n \"PositionReference\": {\n \"location\": \"import\",\n \"path\": \"./popover-interface\",\n \"id\": \"src/components/popover/popover-interface.ts::PositionReference\"\n }\n }\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"Describes what to position the popover relative to.\\nIf `\\\"trigger\\\"`, the popover will be positioned relative\\nto the trigger button. If passing in an event, this is\\ndetermined via event.target.\\nIf `\\\"event\\\"`, the popover will be positioned relative\\nto the x/y coordinates of the trigger action. If passing\\nin an event, this is determined via event.clientX and event.clientY.\"\n },\n \"attribute\": \"reference\",\n \"reflect\": false,\n \"defaultValue\": \"'trigger'\"\n },\n \"side\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"PositionSide\",\n \"resolved\": \"\\\"bottom\\\" | \\\"end\\\" | \\\"left\\\" | \\\"right\\\" | \\\"start\\\" | \\\"top\\\"\",\n \"references\": {\n \"PositionSide\": {\n \"location\": \"import\",\n \"path\": \"./popover-interface\",\n \"id\": \"src/components/popover/popover-interface.ts::PositionSide\"\n }\n }\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"Describes which side of the `reference` point to position\\nthe popover on. The `\\\"start\\\"` and `\\\"end\\\"` values are RTL-aware,\\nand the `\\\"left\\\"` and `\\\"right\\\"` values are not.\"\n },\n \"attribute\": \"side\",\n \"reflect\": false,\n \"defaultValue\": \"'bottom'\"\n },\n \"alignment\": {\n \"type\": \"string\",\n \"mutable\": true,\n \"complexType\": {\n \"original\": \"PositionAlign\",\n \"resolved\": \"\\\"center\\\" | \\\"end\\\" | \\\"start\\\" | undefined\",\n \"references\": {\n \"PositionAlign\": {\n \"location\": \"import\",\n \"path\": \"./popover-interface\",\n \"id\": \"src/components/popover/popover-interface.ts::PositionAlign\"\n }\n }\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"Describes how to align the popover content with the `reference` point.\\nDefaults to `\\\"center\\\"` for `ios` mode, and `\\\"start\\\"` for `md` mode.\"\n },\n \"attribute\": \"alignment\",\n \"reflect\": false\n },\n \"arrow\": {\n \"type\": \"boolean\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"boolean\",\n \"resolved\": \"boolean\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"If `true`, the popover will display an arrow that points at the\\n`reference` when running in `ios` mode. Does not apply in `md` mode.\"\n },\n \"attribute\": \"arrow\",\n \"reflect\": false,\n \"defaultValue\": \"true\"\n },\n \"isOpen\": {\n \"type\": \"boolean\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"boolean\",\n \"resolved\": \"boolean\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"If `true`, the popover will open. If `false`, the popover will close.\\nUse this if you need finer grained control over presentation, otherwise\\njust use the popoverController or the `trigger` property.\\nNote: `isOpen` will not automatically be set back to `false` when\\nthe popover dismisses. You will need to do that in your code.\"\n },\n \"attribute\": \"is-open\",\n \"reflect\": false,\n \"defaultValue\": \"false\"\n },\n \"keyboardEvents\": {\n \"type\": \"boolean\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"boolean\",\n \"resolved\": \"boolean\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [{\n \"name\": \"internal\",\n \"text\": \"If `true` the popover will not register its own keyboard event handlers.\\nThis allows the contents of the popover to handle their own keyboard interactions.\\n\\nIf `false`, the popover will register its own keyboard event handlers for\\nnavigating `ion-list` items within a popover (up/down/home/end/etc.).\\nThis will also cancel browser keyboard event bindings to prevent scroll\\nbehavior in a popover using a list of items.\"\n }],\n \"text\": \"\"\n },\n \"attribute\": \"keyboard-events\",\n \"reflect\": false,\n \"defaultValue\": \"false\"\n },\n \"keepContentsMounted\": {\n \"type\": \"boolean\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"boolean\",\n \"resolved\": \"boolean\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"If `true`, the component passed into `ion-popover` will\\nautomatically be mounted when the popover is created. The\\ncomponent will remain mounted even when the popover is dismissed.\\nHowever, the component will be destroyed when the popover is\\ndestroyed. This property is not reactive and should only be\\nused when initially creating a popover.\\n\\nNote: This feature only applies to inline popovers in JavaScript\\nframeworks such as Angular, React, and Vue.\"\n },\n \"attribute\": \"keep-contents-mounted\",\n \"reflect\": false,\n \"defaultValue\": \"false\"\n }\n };\n }\n static get states() {\n return {\n \"presented\": {}\n };\n }\n static get events() {\n return [{\n \"method\": \"didPresent\",\n \"name\": \"ionPopoverDidPresent\",\n \"bubbles\": true,\n \"cancelable\": true,\n \"composed\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"Emitted after the popover has presented.\"\n },\n \"complexType\": {\n \"original\": \"void\",\n \"resolved\": \"void\",\n \"references\": {}\n }\n }, {\n \"method\": \"willPresent\",\n \"name\": \"ionPopoverWillPresent\",\n \"bubbles\": true,\n \"cancelable\": true,\n \"composed\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"Emitted before the popover has presented.\"\n },\n \"complexType\": {\n \"original\": \"void\",\n \"resolved\": \"void\",\n \"references\": {}\n }\n }, {\n \"method\": \"willDismiss\",\n \"name\": \"ionPopoverWillDismiss\",\n \"bubbles\": true,\n \"cancelable\": true,\n \"composed\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"Emitted before the popover has dismissed.\"\n },\n \"complexType\": {\n \"original\": \"OverlayEventDetail\",\n \"resolved\": \"OverlayEventDetail<any>\",\n \"references\": {\n \"OverlayEventDetail\": {\n \"location\": \"import\",\n \"path\": \"../../utils/overlays-interface\",\n \"id\": \"src/utils/overlays-interface.ts::OverlayEventDetail\"\n }\n }\n }\n }, {\n \"method\": \"didDismiss\",\n \"name\": \"ionPopoverDidDismiss\",\n \"bubbles\": true,\n \"cancelable\": true,\n \"composed\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"Emitted after the popover has dismissed.\"\n },\n \"complexType\": {\n \"original\": \"OverlayEventDetail\",\n \"resolved\": \"OverlayEventDetail<any>\",\n \"references\": {\n \"OverlayEventDetail\": {\n \"location\": \"import\",\n \"path\": \"../../utils/overlays-interface\",\n \"id\": \"src/utils/overlays-interface.ts::OverlayEventDetail\"\n }\n }\n }\n }, {\n \"method\": \"didPresentShorthand\",\n \"name\": \"didPresent\",\n \"bubbles\": true,\n \"cancelable\": true,\n \"composed\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"Emitted after the popover has presented.\\nShorthand for ionPopoverWillDismiss.\"\n },\n \"complexType\": {\n \"original\": \"void\",\n \"resolved\": \"void\",\n \"references\": {}\n }\n }, {\n \"method\": \"willPresentShorthand\",\n \"name\": \"willPresent\",\n \"bubbles\": true,\n \"cancelable\": true,\n \"composed\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"Emitted before the popover has presented.\\nShorthand for ionPopoverWillPresent.\"\n },\n \"complexType\": {\n \"original\": \"void\",\n \"resolved\": \"void\",\n \"references\": {}\n }\n }, {\n \"method\": \"willDismissShorthand\",\n \"name\": \"willDismiss\",\n \"bubbles\": true,\n \"cancelable\": true,\n \"composed\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"Emitted before the popover has dismissed.\\nShorthand for ionPopoverWillDismiss.\"\n },\n \"complexType\": {\n \"original\": \"OverlayEventDetail\",\n \"resolved\": \"OverlayEventDetail<any>\",\n \"references\": {\n \"OverlayEventDetail\": {\n \"location\": \"import\",\n \"path\": \"../../utils/overlays-interface\",\n \"id\": \"src/utils/overlays-interface.ts::OverlayEventDetail\"\n }\n }\n }\n }, {\n \"method\": \"didDismissShorthand\",\n \"name\": \"didDismiss\",\n \"bubbles\": true,\n \"cancelable\": true,\n \"composed\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"Emitted after the popover has dismissed.\\nShorthand for ionPopoverDidDismiss.\"\n },\n \"complexType\": {\n \"original\": \"OverlayEventDetail\",\n \"resolved\": \"OverlayEventDetail<any>\",\n \"references\": {\n \"OverlayEventDetail\": {\n \"location\": \"import\",\n \"path\": \"../../utils/overlays-interface\",\n \"id\": \"src/utils/overlays-interface.ts::OverlayEventDetail\"\n }\n }\n }\n }, {\n \"method\": \"ionMount\",\n \"name\": \"ionMount\",\n \"bubbles\": true,\n \"cancelable\": true,\n \"composed\": true,\n \"docs\": {\n \"tags\": [{\n \"name\": \"internal\",\n \"text\": undefined\n }],\n \"text\": \"Emitted before the popover has presented, but after the component\\nhas been mounted in the DOM.\\nThis event exists for ion-popover to resolve an issue with the\\npopover and the lazy build, that the transition is unable to get\\nthe correct dimensions of the popover with auto sizing.\\nThis is not required for other overlays, since the existing\\noverlay transitions are not effected by auto sizing content.\"\n },\n \"complexType\": {\n \"original\": \"void\",\n \"resolved\": \"void\",\n \"references\": {}\n }\n }];\n }\n static get methods() {\n return {\n \"presentFromTrigger\": {\n \"complexType\": {\n \"signature\": \"(event?: any, focusDescendant?: boolean) => Promise<void>\",\n \"parameters\": [{\n \"name\": \"event\",\n \"type\": \"any\",\n \"docs\": \"\"\n }, {\n \"name\": \"focusDescendant\",\n \"type\": \"boolean\",\n \"docs\": \"\"\n }],\n \"references\": {\n \"Promise\": {\n \"location\": \"global\",\n \"id\": \"global::Promise\"\n }\n },\n \"return\": \"Promise<void>\"\n },\n \"docs\": {\n \"text\": \"When opening a popover from a trigger, we should not be\\nmodifying the `event` prop from inside the component.\\nAdditionally, when pressing the \\\"Right\\\" arrow key, we need\\nto shift focus to the first descendant in the newly presented\\npopover.\",\n \"tags\": [{\n \"name\": \"internal\",\n \"text\": undefined\n }]\n }\n },\n \"present\": {\n \"complexType\": {\n \"signature\": \"(event?: MouseEvent | TouchEvent | PointerEvent | CustomEvent) => Promise<void>\",\n \"parameters\": [{\n \"name\": \"event\",\n \"type\": \"MouseEvent | TouchEvent | PointerEvent | CustomEvent<any> | undefined\",\n \"docs\": \"\"\n }],\n \"references\": {\n \"Promise\": {\n \"location\": \"global\",\n \"id\": \"global::Promise\"\n },\n \"MouseEvent\": {\n \"location\": \"global\",\n \"id\": \"global::MouseEvent\"\n },\n \"TouchEvent\": {\n \"location\": \"global\",\n \"id\": \"global::TouchEvent\"\n },\n \"PointerEvent\": {\n \"location\": \"global\",\n \"id\": \"global::PointerEvent\"\n },\n \"CustomEvent\": {\n \"location\": \"global\",\n \"id\": \"global::CustomEvent\"\n },\n \"PopoverPresentOptions\": {\n \"location\": \"global\",\n \"id\": \"global::PopoverPresentOptions\"\n }\n },\n \"return\": \"Promise<void>\"\n },\n \"docs\": {\n \"text\": \"Present the popover overlay after it has been created.\\nDevelopers can pass a mouse, touch, or pointer event\\nto position the popover relative to where that event\\nwas dispatched.\",\n \"tags\": []\n }\n },\n \"dismiss\": {\n \"complexType\": {\n \"signature\": \"(data?: any, role?: string, dismissParentPopover?: boolean) => Promise<boolean>\",\n \"parameters\": [{\n \"name\": \"data\",\n \"type\": \"any\",\n \"docs\": \"Any data to emit in the dismiss events.\"\n }, {\n \"name\": \"role\",\n \"type\": \"string | undefined\",\n \"docs\": \"The role of the element that is dismissing the popover. For example, 'cancel' or 'backdrop'.\"\n }, {\n \"name\": \"dismissParentPopover\",\n \"type\": \"boolean\",\n \"docs\": \"If `true`, dismissing this popover will also dismiss\\na parent popover if this popover is nested. Defaults to `true`.\\n\\nThis is a no-op if the overlay has not been presented yet. If you want\\nto remove an overlay from the DOM that was never presented, use the\\n[remove](https://developer.mozilla.org/en-US/docs/Web/API/Element/remove) method.\"\n }],\n \"references\": {\n \"Promise\": {\n \"location\": \"global\",\n \"id\": \"global::Promise\"\n },\n \"PopoverDismissOptions\": {\n \"location\": \"global\",\n \"id\": \"global::PopoverDismissOptions\"\n }\n },\n \"return\": \"Promise<boolean>\"\n },\n \"docs\": {\n \"text\": \"Dismiss the popover overlay after it has been presented.\",\n \"tags\": [{\n \"name\": \"param\",\n \"text\": \"data Any data to emit in the dismiss events.\"\n }, {\n \"name\": \"param\",\n \"text\": \"role The role of the element that is dismissing the popover. For example, 'cancel' or 'backdrop'.\"\n }, {\n \"name\": \"param\",\n \"text\": \"dismissParentPopover If `true`, dismissing this popover will also dismiss\\na parent popover if this popover is nested. Defaults to `true`.\\n\\nThis is a no-op if the overlay has not been presented yet. If you want\\nto remove an overlay from the DOM that was never presented, use the\\n[remove](https://developer.mozilla.org/en-US/docs/Web/API/Element/remove) method.\"\n }]\n }\n },\n \"getParentPopover\": {\n \"complexType\": {\n \"signature\": \"() => Promise<HTMLIonPopoverElement | null>\",\n \"parameters\": [],\n \"references\": {\n \"Promise\": {\n \"location\": \"global\",\n \"id\": \"global::Promise\"\n },\n \"HTMLIonPopoverElement\": {\n \"location\": \"global\",\n \"id\": \"global::HTMLIonPopoverElement\"\n }\n },\n \"return\": \"Promise<HTMLIonPopoverElement | null>\"\n },\n \"docs\": {\n \"text\": \"\",\n \"tags\": [{\n \"name\": \"internal\",\n \"text\": undefined\n }]\n }\n },\n \"onDidDismiss\": {\n \"complexType\": {\n \"signature\": \"<T = any>() => Promise<OverlayEventDetail<T>>\",\n \"parameters\": [],\n \"references\": {\n \"Promise\": {\n \"location\": \"global\",\n \"id\": \"global::Promise\"\n },\n \"OverlayEventDetail\": {\n \"location\": \"import\",\n \"path\": \"../../utils/overlays-interface\",\n \"id\": \"src/utils/overlays-interface.ts::OverlayEventDetail\"\n },\n \"T\": {\n \"location\": \"global\",\n \"id\": \"global::T\"\n }\n },\n \"return\": \"Promise<OverlayEventDetail<T>>\"\n },\n \"docs\": {\n \"text\": \"Returns a promise that resolves when the popover did dismiss.\",\n \"tags\": []\n }\n },\n \"onWillDismiss\": {\n \"complexType\": {\n \"signature\": \"<T = any>() => Promise<OverlayEventDetail<T>>\",\n \"parameters\": [],\n \"references\": {\n \"Promise\": {\n \"location\": \"global\",\n \"id\": \"global::Promise\"\n },\n \"OverlayEventDetail\": {\n \"location\": \"import\",\n \"path\": \"../../utils/overlays-interface\",\n \"id\": \"src/utils/overlays-interface.ts::OverlayEventDetail\"\n },\n \"T\": {\n \"location\": \"global\",\n \"id\": \"global::T\"\n }\n },\n \"return\": \"Promise<OverlayEventDetail<T>>\"\n },\n \"docs\": {\n \"text\": \"Returns a promise that resolves when the popover will dismiss.\",\n \"tags\": []\n }\n }\n };\n }\n static get elementRef() { return \"el\"; }\n static get watchers() {\n return [{\n \"propName\": \"trigger\",\n \"methodName\": \"onTriggerChange\"\n }, {\n \"propName\": \"triggerAction\",\n \"methodName\": \"onTriggerChange\"\n }, {\n \"propName\": \"isOpen\",\n \"methodName\": \"onIsOpenChange\"\n }];\n }\n}\nconst LIFECYCLE_MAP = {\n ionPopoverDidPresent: 'ionViewDidEnter',\n ionPopoverWillPresent: 'ionViewWillEnter',\n ionPopoverWillDismiss: 'ionViewWillLeave',\n ionPopoverDidDismiss: 'ionViewDidLeave',\n};\n"],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ import{r as e,d as r,w as i,f as s,h as t,e as n,H as h}from"./p-d7a430bf.js";import{g as o}from"./p-94286cc3.js";import{I as f,b as l,p as a,g as c}from"./p-bb1f698e.js";import{t as p,k as g,g as d,c as u,b as m}from"./p-b84d9e44.js";import{h as v,I as x}from"./p-6fa979e3.js";import{g as b}from"./p-3b75b22a.js";import{s as y,t as w,a as k,h as j,b as S,c as z,d as N,g as R}from"./p-bd17be25.js";import"./p-e187a77c.js";import"./p-3d3eefc3.js";import"./p-d7fe59ee.js";import"./p-b7be2ec0.js";const M="ion-refresher{top:0;display:none;position:absolute;width:100%;height:60px;pointer-events:none;z-index:-1}@supports (inset-inline-start: 0){ion-refresher{inset-inline-start:0}}@supports not (inset-inline-start: 0){ion-refresher{left:0}:host-context([dir=rtl]) ion-refresher{left:unset;right:unset;right:0}[dir=rtl] ion-refresher{left:unset;right:unset;right:0}@supports selector(:dir(rtl)){ion-refresher:dir(rtl){left:unset;right:unset;right:0}}}ion-refresher.refresher-active{display:block}ion-refresher-content{display:flex;flex-direction:column;justify-content:center;height:100%}.refresher-pulling,.refresher-refreshing{display:none;width:100%}.refresher-pulling-icon,.refresher-refreshing-icon{transform-origin:center;transition:200ms;font-size:30px;text-align:center}:host-context([dir=rtl]) .refresher-pulling-icon,:host-context([dir=rtl]) .refresher-refreshing-icon{transform-origin:calc(100% - center)}[dir=rtl] .refresher-pulling-icon,[dir=rtl] .refresher-refreshing-icon{transform-origin:calc(100% - center)}@supports selector(:dir(rtl)){.refresher-pulling-icon:dir(rtl),.refresher-refreshing-icon:dir(rtl){transform-origin:calc(100% - center)}}.refresher-pulling-text,.refresher-refreshing-text{font-size:16px;text-align:center}ion-refresher-content .arrow-container{display:none}.refresher-pulling ion-refresher-content .refresher-pulling{display:block}.refresher-ready ion-refresher-content .refresher-pulling{display:block}.refresher-ready ion-refresher-content .refresher-pulling-icon{transform:rotate(180deg)}.refresher-refreshing ion-refresher-content .refresher-refreshing{display:block}.refresher-cancelling ion-refresher-content .refresher-pulling{display:block}.refresher-cancelling ion-refresher-content .refresher-pulling-icon{transform:scale(0)}.refresher-completing ion-refresher-content .refresher-refreshing{display:block}.refresher-completing ion-refresher-content .refresher-refreshing-icon{transform:scale(0)}.refresher-native .refresher-pulling-text,.refresher-native .refresher-refreshing-text{display:none}.refresher-ios .refresher-pulling-icon,.refresher-ios .refresher-refreshing-icon{color:var(--ion-text-color, #000)}.refresher-ios .refresher-pulling-text,.refresher-ios .refresher-refreshing-text{color:var(--ion-text-color, #000)}.refresher-ios .refresher-refreshing .spinner-lines-ios line,.refresher-ios .refresher-refreshing .spinner-lines-small-ios line,.refresher-ios .refresher-refreshing .spinner-crescent circle{stroke:var(--ion-text-color, #000)}.refresher-ios .refresher-refreshing .spinner-bubbles circle,.refresher-ios .refresher-refreshing .spinner-circles circle,.refresher-ios .refresher-refreshing .spinner-dots circle{fill:var(--ion-text-color, #000)}ion-refresher.refresher-native{display:block;z-index:1}ion-refresher.refresher-native ion-spinner{-webkit-margin-start:auto;margin-inline-start:auto;-webkit-margin-end:auto;margin-inline-end:auto;margin-top:0;margin-bottom:0}.refresher-native .refresher-refreshing ion-spinner{--refreshing-rotation-duration:2s;display:none;animation:var(--refreshing-rotation-duration) ease-out refresher-rotate forwards}.refresher-native .refresher-refreshing{display:none;animation:250ms linear refresher-pop forwards}.refresher-native ion-spinner{width:32px;height:32px;color:var(--ion-color-step-450, #747577)}.refresher-native.refresher-refreshing .refresher-pulling ion-spinner,.refresher-native.refresher-completing .refresher-pulling ion-spinner{display:none}.refresher-native.refresher-refreshing .refresher-refreshing ion-spinner,.refresher-native.refresher-completing .refresher-refreshing ion-spinner{display:block}.refresher-native.refresher-pulling .refresher-pulling ion-spinner{display:block}.refresher-native.refresher-pulling .refresher-refreshing ion-spinner{display:none}.refresher-native.refresher-completing ion-refresher-content .refresher-refreshing-icon{transform:scale(0) rotate(180deg);transition:300ms}@keyframes refresher-pop{0%{transform:scale(1);animation-timing-function:ease-in}50%{transform:scale(1.2);animation-timing-function:ease-out}100%{transform:scale(1)}}@keyframes refresher-rotate{from{transform:rotate(0deg)}to{transform:rotate(180deg)}}";const E="ion-refresher{top:0;display:none;position:absolute;width:100%;height:60px;pointer-events:none;z-index:-1}@supports (inset-inline-start: 0){ion-refresher{inset-inline-start:0}}@supports not (inset-inline-start: 0){ion-refresher{left:0}:host-context([dir=rtl]) ion-refresher{left:unset;right:unset;right:0}[dir=rtl] ion-refresher{left:unset;right:unset;right:0}@supports selector(:dir(rtl)){ion-refresher:dir(rtl){left:unset;right:unset;right:0}}}ion-refresher.refresher-active{display:block}ion-refresher-content{display:flex;flex-direction:column;justify-content:center;height:100%}.refresher-pulling,.refresher-refreshing{display:none;width:100%}.refresher-pulling-icon,.refresher-refreshing-icon{transform-origin:center;transition:200ms;font-size:30px;text-align:center}:host-context([dir=rtl]) .refresher-pulling-icon,:host-context([dir=rtl]) .refresher-refreshing-icon{transform-origin:calc(100% - center)}[dir=rtl] .refresher-pulling-icon,[dir=rtl] .refresher-refreshing-icon{transform-origin:calc(100% - center)}@supports selector(:dir(rtl)){.refresher-pulling-icon:dir(rtl),.refresher-refreshing-icon:dir(rtl){transform-origin:calc(100% - center)}}.refresher-pulling-text,.refresher-refreshing-text{font-size:16px;text-align:center}ion-refresher-content .arrow-container{display:none}.refresher-pulling ion-refresher-content .refresher-pulling{display:block}.refresher-ready ion-refresher-content .refresher-pulling{display:block}.refresher-ready ion-refresher-content .refresher-pulling-icon{transform:rotate(180deg)}.refresher-refreshing ion-refresher-content .refresher-refreshing{display:block}.refresher-cancelling ion-refresher-content .refresher-pulling{display:block}.refresher-cancelling ion-refresher-content .refresher-pulling-icon{transform:scale(0)}.refresher-completing ion-refresher-content .refresher-refreshing{display:block}.refresher-completing ion-refresher-content .refresher-refreshing-icon{transform:scale(0)}.refresher-native .refresher-pulling-text,.refresher-native .refresher-refreshing-text{display:none}.refresher-md .refresher-pulling-icon,.refresher-md .refresher-refreshing-icon{color:var(--ion-text-color, #000)}.refresher-md .refresher-pulling-text,.refresher-md .refresher-refreshing-text{color:var(--ion-text-color, #000)}.refresher-md .refresher-refreshing .spinner-lines-md line,.refresher-md .refresher-refreshing .spinner-lines-small-md line,.refresher-md .refresher-refreshing .spinner-crescent circle{stroke:var(--ion-text-color, #000)}.refresher-md .refresher-refreshing .spinner-bubbles circle,.refresher-md .refresher-refreshing .spinner-circles circle,.refresher-md .refresher-refreshing .spinner-dots circle{fill:var(--ion-text-color, #000)}ion-refresher.refresher-native{display:block;z-index:1}ion-refresher.refresher-native ion-spinner{-webkit-margin-start:auto;margin-inline-start:auto;-webkit-margin-end:auto;margin-inline-end:auto;margin-top:0;margin-bottom:0;width:24px;height:24px;color:var(--ion-color-primary, #3880ff)}ion-refresher.refresher-native .spinner-arrow-container{display:inherit}ion-refresher.refresher-native .arrow-container{display:block;position:absolute;width:24px;height:24px}ion-refresher.refresher-native .arrow-container ion-icon{-webkit-margin-start:auto;margin-inline-start:auto;-webkit-margin-end:auto;margin-inline-end:auto;margin-top:0;margin-bottom:0;left:0;right:0;bottom:-4px;position:absolute;color:var(--ion-color-primary, #3880ff);font-size:12px}ion-refresher.refresher-native.refresher-pulling ion-refresher-content .refresher-pulling,ion-refresher.refresher-native.refresher-ready ion-refresher-content .refresher-pulling{display:flex}ion-refresher.refresher-native.refresher-refreshing ion-refresher-content .refresher-refreshing,ion-refresher.refresher-native.refresher-completing ion-refresher-content .refresher-refreshing,ion-refresher.refresher-native.refresher-cancelling ion-refresher-content .refresher-refreshing{display:flex}ion-refresher.refresher-native .refresher-pulling-icon{transform:translateY(calc(-100% - 10px))}ion-refresher.refresher-native .refresher-pulling-icon,ion-refresher.refresher-native .refresher-refreshing-icon{-webkit-margin-start:auto;margin-inline-start:auto;-webkit-margin-end:auto;margin-inline-end:auto;margin-top:0;margin-bottom:0;border-radius:100%;-webkit-padding-start:8px;padding-inline-start:8px;-webkit-padding-end:8px;padding-inline-end:8px;padding-top:8px;padding-bottom:8px;display:flex;border:1px solid var(--ion-color-step-200, #ececec);background:var(--ion-color-step-250, #ffffff);box-shadow:0px 1px 6px rgba(0, 0, 0, 0.1)}";const P=class{constructor(i){e(this,i);this.ionRefresh=r(this,"ionRefresh",7);this.ionPull=r(this,"ionPull",7);this.ionStart=r(this,"ionStart",7);this.appliedStyles=false;this.didStart=false;this.progress=0;this.pointerDown=false;this.needsCompletion=false;this.didRefresh=false;this.lastVelocityY=0;this.animations=[];this.nativeRefresher=false;this.state=1;this.pullMin=60;this.pullMax=this.pullMin+60;this.closeDuration="280ms";this.snapbackDuration="280ms";this.pullFactor=1;this.disabled=false}disabledChanged(){if(this.gesture){this.gesture.enable(!this.disabled)}}async checkNativeRefresher(){const e=await y(this.el,b(this));if(e&&!this.nativeRefresher){const e=this.el.closest("ion-content");this.setupNativeRefresher(e)}else if(!e){this.destroyNativeRefresher()}}destroyNativeRefresher(){if(this.scrollEl&&this.scrollListenerCallback){this.scrollEl.removeEventListener("scroll",this.scrollListenerCallback);this.scrollListenerCallback=undefined}this.nativeRefresher=false}async resetNativeRefresher(e,r){this.state=r;if(b(this)==="ios"){await w(e,undefined,300)}else{await p(this.el.querySelector(".refresher-refreshing-icon"),200)}this.didRefresh=false;this.needsCompletion=false;this.pointerDown=false;this.animations.forEach((e=>e.destroy()));this.animations=[];this.progress=0;this.state=1}async setupiOSNativeRefresher(e,r){this.elementToTransform=this.scrollEl;const t=e.shadowRoot.querySelectorAll("svg");let n=this.scrollEl.clientHeight*.16;const h=t.length;i((()=>t.forEach((e=>e.style.setProperty("animation","none")))));this.scrollListenerCallback=()=>{if(!this.pointerDown&&this.state===1){return}s((()=>{const e=this.scrollEl.scrollTop;const s=this.el.clientHeight;if(e>0){if(this.state===8){const t=g(0,e/(s*.5),1);i((()=>k(r,1-t)));return}return}if(this.pointerDown){if(!this.didStart){this.didStart=true;this.ionStart.emit()}if(this.pointerDown){this.ionPull.emit()}}const o=this.didStart?30:0;const f=this.progress=g(0,(Math.abs(e)-o)/n,1);const l=this.state===8||f===1;if(l){if(this.pointerDown){j(r,this.lastVelocityY)}if(!this.didRefresh){this.beginRefresh();this.didRefresh=true;v({style:x.Light});if(!this.pointerDown){w(this.elementToTransform,`${s}px`)}}}else{this.state=2;S(t,h,f)}}))};this.scrollEl.addEventListener("scroll",this.scrollListenerCallback);this.gesture=(await import("./p-77104220.js")).createGesture({el:this.scrollEl,gestureName:"refresher",gesturePriority:31,direction:"y",threshold:5,onStart:()=>{this.pointerDown=true;if(!this.didRefresh){w(this.elementToTransform,"0px")}if(n===0){n=this.scrollEl.clientHeight*.16}},onMove:e=>{this.lastVelocityY=e.velocityY},onEnd:()=>{this.pointerDown=false;this.didStart=false;if(this.needsCompletion){this.resetNativeRefresher(this.elementToTransform,32);this.needsCompletion=false}else if(this.didRefresh){s((()=>w(this.elementToTransform,`${this.el.clientHeight}px`)))}}});this.disabledChanged()}async setupMDNativeRefresher(e,r,s){const t=d(r).querySelector("circle");const n=this.el.querySelector("ion-refresher-content .refresher-pulling-icon");const h=d(s).querySelector("circle");if(t!==null&&h!==null){i((()=>{t.style.setProperty("animation","none");s.style.setProperty("animation-delay","-655ms");h.style.setProperty("animation-delay","-655ms")}))}this.gesture=(await import("./p-77104220.js")).createGesture({el:this.scrollEl,gestureName:"refresher",gesturePriority:31,direction:"y",threshold:5,canStart:()=>this.state!==8&&this.state!==32&&this.scrollEl.scrollTop===0,onStart:e=>{this.progress=0;e.data={animation:undefined,didStart:false,cancelled:false}},onMove:r=>{if(r.velocityY<0&&this.progress===0&&!r.data.didStart||r.data.cancelled){r.data.cancelled=true;return}if(!r.data.didStart){r.data.didStart=true;this.state=2;const{scrollEl:s}=this;const t=s.matches(f)?"overflow":"--overflow";i((()=>s.style.setProperty(t,"hidden")));const h=R(e);const o=z(h,n,this.el);r.data.animation=o;o.progressStart(false,0);this.ionStart.emit();this.animations.push(o);return}this.progress=g(0,r.deltaY/180*.5,1);r.data.animation.progressStep(this.progress);this.ionPull.emit()},onEnd:e=>{if(!e.data.didStart){return}this.gesture.enable(false);const{scrollEl:r}=this;const s=r.matches(f)?"overflow":"--overflow";i((()=>r.style.removeProperty(s)));if(this.progress<=.4){e.data.animation.progressEnd(0,this.progress,500).onFinish((()=>{this.animations.forEach((e=>e.destroy()));this.animations=[];this.gesture.enable(true);this.state=1}));return}const t=o([0,0],[0,0],[1,1],[1,1],this.progress)[0];const h=N(n);this.animations.push(h);i((async()=>{n.style.setProperty("--ion-pulling-refresher-translate",`${t*100}px`);e.data.animation.progressEnd();await h.play();this.beginRefresh();e.data.animation.destroy();this.gesture.enable(true)}))}});this.disabledChanged()}async setupNativeRefresher(e){if(this.scrollListenerCallback||!e||this.nativeRefresher||!this.scrollEl){return}this.setCss(0,"",false,"");this.nativeRefresher=true;const r=this.el.querySelector("ion-refresher-content .refresher-pulling ion-spinner");const i=this.el.querySelector("ion-refresher-content .refresher-refreshing ion-spinner");if(b(this)==="ios"){this.setupiOSNativeRefresher(r,i)}else{this.setupMDNativeRefresher(e,r,i)}}componentDidUpdate(){this.checkNativeRefresher()}async connectedCallback(){if(this.el.getAttribute("slot")!=="fixed"){console.error('Make sure you use: <ion-refresher slot="fixed">');return}const e=this.el.closest(l);if(!e){a(this.el);return}u(e,(async()=>{const r=e.querySelector(f);this.scrollEl=await c(r!==null&&r!==void 0?r:e);this.backgroundContentEl=await e.getBackgroundElement();if(await y(this.el,b(this))){this.setupNativeRefresher(e)}else{this.gesture=(await import("./p-77104220.js")).createGesture({el:e,gestureName:"refresher",gesturePriority:31,direction:"y",threshold:20,passive:false,canStart:()=>this.canStart(),onStart:()=>this.onStart(),onMove:e=>this.onMove(e),onEnd:()=>this.onEnd()});this.disabledChanged()}}))}disconnectedCallback(){this.destroyNativeRefresher();this.scrollEl=undefined;if(this.gesture){this.gesture.destroy();this.gesture=undefined}}async complete(){if(this.nativeRefresher){this.needsCompletion=true;if(!this.pointerDown){m((()=>m((()=>this.resetNativeRefresher(this.elementToTransform,32)))))}}else{this.close(32,"120ms")}}async cancel(){if(this.nativeRefresher){if(!this.pointerDown){m((()=>m((()=>this.resetNativeRefresher(this.elementToTransform,16)))))}}else{this.close(16,"")}}getProgress(){return Promise.resolve(this.progress)}canStart(){if(!this.scrollEl){return false}if(this.state!==1){return false}if(this.scrollEl.scrollTop>0){return false}return true}onStart(){this.progress=0;this.state=1;this.memoizeOverflowStyle()}onMove(e){if(!this.scrollEl){return}const r=e.event;if(r.touches!==undefined&&r.touches.length>1){return}if((this.state&56)!==0){return}const i=Number.isNaN(this.pullFactor)||this.pullFactor<0?1:this.pullFactor;const s=e.deltaY*i;if(s<=0){this.progress=0;this.state=1;if(this.appliedStyles){this.setCss(0,"",false,"");return}return}if(this.state===1){const e=this.scrollEl.scrollTop;if(e>0){this.progress=0;return}this.state=2}if(r.cancelable){r.preventDefault()}this.setCss(s,"0ms",true,"");if(s===0){this.progress=0;return}const t=this.pullMin;this.progress=s/t;if(!this.didStart){this.didStart=true;this.ionStart.emit()}this.ionPull.emit();if(s<t){this.state=2;return}if(s>this.pullMax){this.beginRefresh();return}this.state=4;return}onEnd(){if(this.state===4){this.beginRefresh()}else if(this.state===2){this.cancel()}else if(this.state===1){this.restoreOverflowStyle()}}beginRefresh(){this.state=8;this.setCss(this.pullMin,this.snapbackDuration,true,"");this.ionRefresh.emit({complete:this.complete.bind(this)})}close(e,r){setTimeout((()=>{this.state=1;this.progress=0;this.didStart=false;this.setCss(0,"0ms",false,"",true)}),600);this.state=e;this.setCss(0,this.closeDuration,true,r)}setCss(e,r,s,t,n=false){if(this.nativeRefresher){return}this.appliedStyles=e>0;i((()=>{if(this.scrollEl&&this.backgroundContentEl){const i=this.scrollEl.style;const n=this.backgroundContentEl.style;i.transform=n.transform=e>0?`translateY(${e}px) translateZ(0px)`:"";i.transitionDuration=n.transitionDuration=r;i.transitionDelay=n.transitionDelay=t;i.overflow=s?"hidden":""}if(n){this.restoreOverflowStyle()}}))}memoizeOverflowStyle(){if(this.scrollEl){const{overflow:e,overflowX:r,overflowY:i}=this.scrollEl.style;this.overflowStyles={overflow:e!==null&&e!==void 0?e:"",overflowX:r!==null&&r!==void 0?r:"",overflowY:i!==null&&i!==void 0?i:""}}}restoreOverflowStyle(){if(this.overflowStyles!==undefined&&this.scrollEl!==undefined){const{overflow:e,overflowX:r,overflowY:i}=this.overflowStyles;this.scrollEl.style.overflow=e;this.scrollEl.style.overflowX=r;this.scrollEl.style.overflowY=i;this.overflowStyles=undefined}}render(){const e=b(this);return t(h,{key:"96f4f595ebdb92a12755b642398691bcaab9f7c1",slot:"fixed",class:{[e]:true,[`refresher-${e}`]:true,"refresher-native":this.nativeRefresher,"refresher-active":this.state!==1,"refresher-pulling":this.state===2,"refresher-ready":this.state===4,"refresher-refreshing":this.state===8,"refresher-cancelling":this.state===16,"refresher-completing":this.state===32}})}get el(){return n(this)}static get watchers(){return{disabled:["disabledChanged"]}}};P.style={ios:M,md:E};export{P as ion_refresher};
2
+ //# sourceMappingURL=p-0992beec.entry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["refresherIosCss","refresherMdCss","Refresher","constructor","hostRef","this","appliedStyles","didStart","progress","pointerDown","needsCompletion","didRefresh","lastVelocityY","animations","nativeRefresher","state","pullMin","pullMax","closeDuration","snapbackDuration","pullFactor","disabled","disabledChanged","gesture","enable","async","useNativeRefresher","shouldUseNativeRefresher","el","getIonMode","contentEl","closest","setupNativeRefresher","destroyNativeRefresher","scrollEl","scrollListenerCallback","removeEventListener","undefined","translateElement","transitionEndAsync","querySelector","forEach","ani","destroy","pullingSpinner","refreshingSpinner","elementToTransform","ticks","shadowRoot","querySelectorAll","MAX_PULL","clientHeight","NUM_TICKS","length","writeTask","style","setProperty","readTask","scrollTop","refresherHeight","ratio","clamp","setSpinnerOpacity","ionStart","emit","ionPull","offset","pullAmount","Math","abs","shouldShowRefreshingSpinner","handleScrollWhileRefreshing","beginRefresh","hapticImpact","ImpactStyle","Light","handleScrollWhilePulling","addEventListener","import","createGesture","gestureName","gesturePriority","direction","threshold","onStart","onMove","ev","velocityY","onEnd","resetNativeRefresher","circle","getElementRoot","pullingRefresherIcon","refreshingCircle","canStart","data","animation","cancelled","overflowProperty","matches","ION_CONTENT_CLASS_SELECTOR","animationType","getRefresherAnimationType","createPullingAnimation","progressStart","push","deltaY","progressStep","removeProperty","progressEnd","onFinish","getTimeGivenProgression","snapBackAnimation","createSnapBackAnimation","play","setCss","setupiOSNativeRefresher","setupMDNativeRefresher","componentDidUpdate","checkNativeRefresher","getAttribute","console","error","ION_CONTENT_ELEMENT_SELECTOR","printIonContentErrorMsg","componentOnReady","customScrollTarget","getScrollElement","backgroundContentEl","getBackgroundElement","passive","disconnectedCallback","raf","close","getProgress","Promise","resolve","memoizeOverflowStyle","detail","event","touches","Number","isNaN","scrollHostScrollTop","cancelable","preventDefault","cancel","restoreOverflowStyle","ionRefresh","complete","bind","delay","setTimeout","y","duration","overflowVisible","shouldRestoreOverflowStyle","scrollStyle","backgroundStyle","transform","transitionDuration","transitionDelay","overflow","overflowX","overflowY","overflowStyles","render","mode","h","Host","key","slot","class"],"sources":["./node_modules/@ionic/core/dist/collection/components/refresher/refresher.ios.css?tag=ion-refresher&mode=ios","./node_modules/@ionic/core/dist/collection/components/refresher/refresher.md.css?tag=ion-refresher&mode=md","./node_modules/@ionic/core/dist/collection/components/refresher/refresher.js"],"sourcesContent":["/**\n * Convert a font size to a dynamic font size.\n * Fonts that participate in Dynamic Type should use\n * dynamic font sizes.\n * @param size - The initial font size including the unit (i.e. px or pt)\n * @param unit (optional) - The unit to convert to. Use this if you want to\n * convert to a unit other than $baselineUnit.\n */\n/**\n * Convert a font size to a dynamic font size but impose\n * a maximum font size.\n * @param size - The initial font size including the unit (i.e. px or pt)\n * @param maxScale - The maximum scale of the font (i.e. 2.5 for a maximum 250% scale).\n * @param unit (optional) - The unit to convert the initial font size to. Use this if you want to\n * convert to a unit other than $baselineUnit.\n */\n/**\n * Convert a font size to a dynamic font size but impose\n * a minimum font size.\n * @param size - The initial font size including the unit (i.e. px or pt)\n * @param minScale - The minimum scale of the font (i.e. 0.8 for a minimum 80% scale).\n * @param unit (optional) - The unit to convert the initial font size to. Use this if you want to\n * convert to a unit other than $baselineUnit.\n */\n/**\n * Convert a font size to a dynamic font size but impose\n * maximum and minimum font sizes.\n * @param size - The initial font size including the unit (i.e. px or pt)\n * @param minScale - The minimum scale of the font (i.e. 0.8 for a minimum 80% scale).\n * @param maxScale - The maximum scale of the font (i.e. 2.5 for a maximum 250% scale).\n * @param unit (optional) - The unit to convert the initial font size to. Use this if you want to\n * convert to a unit other than $baselineUnit.\n */\n/**\n * A heuristic that applies CSS to tablet\n * viewports.\n *\n * Usage:\n * @include tablet-viewport() {\n * :host {\n * background-color: green;\n * }\n * }\n */\n/**\n * A heuristic that applies CSS to mobile\n * viewports (i.e. phones, not tablets).\n *\n * Usage:\n * @include mobile-viewport() {\n * :host {\n * background-color: blue;\n * }\n * }\n */\nion-refresher {\n top: 0;\n display: none;\n position: absolute;\n width: 100%;\n height: 60px;\n pointer-events: none;\n z-index: -1;\n}\n@supports (inset-inline-start: 0) {\n ion-refresher {\n inset-inline-start: 0;\n }\n}\n@supports not (inset-inline-start: 0) {\n ion-refresher {\n left: 0;\n }\n :host-context([dir=rtl]) ion-refresher {\n left: unset;\n right: unset;\n right: 0;\n }\n [dir=rtl] ion-refresher {\n left: unset;\n right: unset;\n right: 0;\n }\n @supports selector(:dir(rtl)) {\n ion-refresher:dir(rtl) {\n left: unset;\n right: unset;\n right: 0;\n }\n }\n}\nion-refresher.refresher-active {\n display: block;\n}\n\nion-refresher-content {\n display: flex;\n flex-direction: column;\n justify-content: center;\n height: 100%;\n}\n\n.refresher-pulling,\n.refresher-refreshing {\n display: none;\n width: 100%;\n}\n\n.refresher-pulling-icon,\n.refresher-refreshing-icon {\n transform-origin: center;\n transition: 200ms;\n font-size: 30px;\n text-align: center;\n}\n:host-context([dir=rtl]) .refresher-pulling-icon, :host-context([dir=rtl]) .refresher-refreshing-icon {\n transform-origin: calc(100% - center);\n}\n\n[dir=rtl] .refresher-pulling-icon, [dir=rtl] .refresher-refreshing-icon {\n transform-origin: calc(100% - center);\n}\n\n@supports selector(:dir(rtl)) {\n .refresher-pulling-icon:dir(rtl), .refresher-refreshing-icon:dir(rtl) {\n transform-origin: calc(100% - center);\n }\n}\n\n.refresher-pulling-text,\n.refresher-refreshing-text {\n font-size: 16px;\n text-align: center;\n}\n\nion-refresher-content .arrow-container {\n display: none;\n}\n\n.refresher-pulling ion-refresher-content .refresher-pulling {\n display: block;\n}\n\n.refresher-ready ion-refresher-content .refresher-pulling {\n display: block;\n}\n.refresher-ready ion-refresher-content .refresher-pulling-icon {\n transform: rotate(180deg);\n}\n\n.refresher-refreshing ion-refresher-content .refresher-refreshing {\n display: block;\n}\n\n.refresher-cancelling ion-refresher-content .refresher-pulling {\n display: block;\n}\n.refresher-cancelling ion-refresher-content .refresher-pulling-icon {\n transform: scale(0);\n}\n\n.refresher-completing ion-refresher-content .refresher-refreshing {\n display: block;\n}\n.refresher-completing ion-refresher-content .refresher-refreshing-icon {\n transform: scale(0);\n}\n\n.refresher-native .refresher-pulling-text, .refresher-native .refresher-refreshing-text {\n display: none;\n}\n\n/**\n * Convert a font size to a dynamic font size.\n * Fonts that participate in Dynamic Type should use\n * dynamic font sizes.\n * @param size - The initial font size including the unit (i.e. px or pt)\n * @param unit (optional) - The unit to convert to. Use this if you want to\n * convert to a unit other than $baselineUnit.\n */\n/**\n * Convert a font size to a dynamic font size but impose\n * a maximum font size.\n * @param size - The initial font size including the unit (i.e. px or pt)\n * @param maxScale - The maximum scale of the font (i.e. 2.5 for a maximum 250% scale).\n * @param unit (optional) - The unit to convert the initial font size to. Use this if you want to\n * convert to a unit other than $baselineUnit.\n */\n/**\n * Convert a font size to a dynamic font size but impose\n * a minimum font size.\n * @param size - The initial font size including the unit (i.e. px or pt)\n * @param minScale - The minimum scale of the font (i.e. 0.8 for a minimum 80% scale).\n * @param unit (optional) - The unit to convert the initial font size to. Use this if you want to\n * convert to a unit other than $baselineUnit.\n */\n/**\n * Convert a font size to a dynamic font size but impose\n * maximum and minimum font sizes.\n * @param size - The initial font size including the unit (i.e. px or pt)\n * @param minScale - The minimum scale of the font (i.e. 0.8 for a minimum 80% scale).\n * @param maxScale - The maximum scale of the font (i.e. 2.5 for a maximum 250% scale).\n * @param unit (optional) - The unit to convert the initial font size to. Use this if you want to\n * convert to a unit other than $baselineUnit.\n */\n/**\n * A heuristic that applies CSS to tablet\n * viewports.\n *\n * Usage:\n * @include tablet-viewport() {\n * :host {\n * background-color: green;\n * }\n * }\n */\n/**\n * A heuristic that applies CSS to mobile\n * viewports (i.e. phones, not tablets).\n *\n * Usage:\n * @include mobile-viewport() {\n * :host {\n * background-color: blue;\n * }\n * }\n */\n.refresher-ios .refresher-pulling-icon,\n.refresher-ios .refresher-refreshing-icon {\n color: var(--ion-text-color, #000);\n}\n\n.refresher-ios .refresher-pulling-text,\n.refresher-ios .refresher-refreshing-text {\n color: var(--ion-text-color, #000);\n}\n\n.refresher-ios .refresher-refreshing .spinner-lines-ios line,\n.refresher-ios .refresher-refreshing .spinner-lines-small-ios line,\n.refresher-ios .refresher-refreshing .spinner-crescent circle {\n stroke: var(--ion-text-color, #000);\n}\n\n.refresher-ios .refresher-refreshing .spinner-bubbles circle,\n.refresher-ios .refresher-refreshing .spinner-circles circle,\n.refresher-ios .refresher-refreshing .spinner-dots circle {\n fill: var(--ion-text-color, #000);\n}\n\nion-refresher.refresher-native {\n display: block;\n z-index: 1;\n}\nion-refresher.refresher-native ion-spinner {\n -webkit-margin-start: auto;\n margin-inline-start: auto;\n -webkit-margin-end: auto;\n margin-inline-end: auto;\n margin-top: 0;\n margin-bottom: 0;\n}\n\n.refresher-native .refresher-refreshing ion-spinner {\n --refreshing-rotation-duration: 2s;\n display: none;\n animation: var(--refreshing-rotation-duration) ease-out refresher-rotate forwards;\n}\n\n.refresher-native .refresher-refreshing {\n display: none;\n animation: 250ms linear refresher-pop forwards;\n}\n\n.refresher-native ion-spinner {\n width: 32px;\n height: 32px;\n color: var(--ion-color-step-450, #747577);\n}\n\n.refresher-native.refresher-refreshing .refresher-pulling ion-spinner,\n.refresher-native.refresher-completing .refresher-pulling ion-spinner {\n display: none;\n}\n.refresher-native.refresher-refreshing .refresher-refreshing ion-spinner,\n.refresher-native.refresher-completing .refresher-refreshing ion-spinner {\n display: block;\n}\n\n.refresher-native.refresher-pulling .refresher-pulling ion-spinner {\n display: block;\n}\n.refresher-native.refresher-pulling .refresher-refreshing ion-spinner {\n display: none;\n}\n\n.refresher-native.refresher-completing ion-refresher-content .refresher-refreshing-icon {\n transform: scale(0) rotate(180deg);\n transition: 300ms;\n}\n\n@keyframes refresher-pop {\n 0% {\n transform: scale(1);\n animation-timing-function: ease-in;\n }\n 50% {\n transform: scale(1.2);\n animation-timing-function: ease-out;\n }\n 100% {\n transform: scale(1);\n }\n}\n@keyframes refresher-rotate {\n from {\n transform: rotate(0deg);\n }\n to {\n transform: rotate(180deg);\n }\n}","/**\n * Convert a font size to a dynamic font size.\n * Fonts that participate in Dynamic Type should use\n * dynamic font sizes.\n * @param size - The initial font size including the unit (i.e. px or pt)\n * @param unit (optional) - The unit to convert to. Use this if you want to\n * convert to a unit other than $baselineUnit.\n */\n/**\n * Convert a font size to a dynamic font size but impose\n * a maximum font size.\n * @param size - The initial font size including the unit (i.e. px or pt)\n * @param maxScale - The maximum scale of the font (i.e. 2.5 for a maximum 250% scale).\n * @param unit (optional) - The unit to convert the initial font size to. Use this if you want to\n * convert to a unit other than $baselineUnit.\n */\n/**\n * Convert a font size to a dynamic font size but impose\n * a minimum font size.\n * @param size - The initial font size including the unit (i.e. px or pt)\n * @param minScale - The minimum scale of the font (i.e. 0.8 for a minimum 80% scale).\n * @param unit (optional) - The unit to convert the initial font size to. Use this if you want to\n * convert to a unit other than $baselineUnit.\n */\n/**\n * Convert a font size to a dynamic font size but impose\n * maximum and minimum font sizes.\n * @param size - The initial font size including the unit (i.e. px or pt)\n * @param minScale - The minimum scale of the font (i.e. 0.8 for a minimum 80% scale).\n * @param maxScale - The maximum scale of the font (i.e. 2.5 for a maximum 250% scale).\n * @param unit (optional) - The unit to convert the initial font size to. Use this if you want to\n * convert to a unit other than $baselineUnit.\n */\n/**\n * A heuristic that applies CSS to tablet\n * viewports.\n *\n * Usage:\n * @include tablet-viewport() {\n * :host {\n * background-color: green;\n * }\n * }\n */\n/**\n * A heuristic that applies CSS to mobile\n * viewports (i.e. phones, not tablets).\n *\n * Usage:\n * @include mobile-viewport() {\n * :host {\n * background-color: blue;\n * }\n * }\n */\nion-refresher {\n top: 0;\n display: none;\n position: absolute;\n width: 100%;\n height: 60px;\n pointer-events: none;\n z-index: -1;\n}\n@supports (inset-inline-start: 0) {\n ion-refresher {\n inset-inline-start: 0;\n }\n}\n@supports not (inset-inline-start: 0) {\n ion-refresher {\n left: 0;\n }\n :host-context([dir=rtl]) ion-refresher {\n left: unset;\n right: unset;\n right: 0;\n }\n [dir=rtl] ion-refresher {\n left: unset;\n right: unset;\n right: 0;\n }\n @supports selector(:dir(rtl)) {\n ion-refresher:dir(rtl) {\n left: unset;\n right: unset;\n right: 0;\n }\n }\n}\nion-refresher.refresher-active {\n display: block;\n}\n\nion-refresher-content {\n display: flex;\n flex-direction: column;\n justify-content: center;\n height: 100%;\n}\n\n.refresher-pulling,\n.refresher-refreshing {\n display: none;\n width: 100%;\n}\n\n.refresher-pulling-icon,\n.refresher-refreshing-icon {\n transform-origin: center;\n transition: 200ms;\n font-size: 30px;\n text-align: center;\n}\n:host-context([dir=rtl]) .refresher-pulling-icon, :host-context([dir=rtl]) .refresher-refreshing-icon {\n transform-origin: calc(100% - center);\n}\n\n[dir=rtl] .refresher-pulling-icon, [dir=rtl] .refresher-refreshing-icon {\n transform-origin: calc(100% - center);\n}\n\n@supports selector(:dir(rtl)) {\n .refresher-pulling-icon:dir(rtl), .refresher-refreshing-icon:dir(rtl) {\n transform-origin: calc(100% - center);\n }\n}\n\n.refresher-pulling-text,\n.refresher-refreshing-text {\n font-size: 16px;\n text-align: center;\n}\n\nion-refresher-content .arrow-container {\n display: none;\n}\n\n.refresher-pulling ion-refresher-content .refresher-pulling {\n display: block;\n}\n\n.refresher-ready ion-refresher-content .refresher-pulling {\n display: block;\n}\n.refresher-ready ion-refresher-content .refresher-pulling-icon {\n transform: rotate(180deg);\n}\n\n.refresher-refreshing ion-refresher-content .refresher-refreshing {\n display: block;\n}\n\n.refresher-cancelling ion-refresher-content .refresher-pulling {\n display: block;\n}\n.refresher-cancelling ion-refresher-content .refresher-pulling-icon {\n transform: scale(0);\n}\n\n.refresher-completing ion-refresher-content .refresher-refreshing {\n display: block;\n}\n.refresher-completing ion-refresher-content .refresher-refreshing-icon {\n transform: scale(0);\n}\n\n.refresher-native .refresher-pulling-text, .refresher-native .refresher-refreshing-text {\n display: none;\n}\n\n/**\n * Convert a font size to a dynamic font size.\n * Fonts that participate in Dynamic Type should use\n * dynamic font sizes.\n * @param size - The initial font size including the unit (i.e. px or pt)\n * @param unit (optional) - The unit to convert to. Use this if you want to\n * convert to a unit other than $baselineUnit.\n */\n/**\n * Convert a font size to a dynamic font size but impose\n * a maximum font size.\n * @param size - The initial font size including the unit (i.e. px or pt)\n * @param maxScale - The maximum scale of the font (i.e. 2.5 for a maximum 250% scale).\n * @param unit (optional) - The unit to convert the initial font size to. Use this if you want to\n * convert to a unit other than $baselineUnit.\n */\n/**\n * Convert a font size to a dynamic font size but impose\n * a minimum font size.\n * @param size - The initial font size including the unit (i.e. px or pt)\n * @param minScale - The minimum scale of the font (i.e. 0.8 for a minimum 80% scale).\n * @param unit (optional) - The unit to convert the initial font size to. Use this if you want to\n * convert to a unit other than $baselineUnit.\n */\n/**\n * Convert a font size to a dynamic font size but impose\n * maximum and minimum font sizes.\n * @param size - The initial font size including the unit (i.e. px or pt)\n * @param minScale - The minimum scale of the font (i.e. 0.8 for a minimum 80% scale).\n * @param maxScale - The maximum scale of the font (i.e. 2.5 for a maximum 250% scale).\n * @param unit (optional) - The unit to convert the initial font size to. Use this if you want to\n * convert to a unit other than $baselineUnit.\n */\n/**\n * A heuristic that applies CSS to tablet\n * viewports.\n *\n * Usage:\n * @include tablet-viewport() {\n * :host {\n * background-color: green;\n * }\n * }\n */\n/**\n * A heuristic that applies CSS to mobile\n * viewports (i.e. phones, not tablets).\n *\n * Usage:\n * @include mobile-viewport() {\n * :host {\n * background-color: blue;\n * }\n * }\n */\n.refresher-md .refresher-pulling-icon,\n.refresher-md .refresher-refreshing-icon {\n color: var(--ion-text-color, #000);\n}\n\n.refresher-md .refresher-pulling-text,\n.refresher-md .refresher-refreshing-text {\n color: var(--ion-text-color, #000);\n}\n\n.refresher-md .refresher-refreshing .spinner-lines-md line,\n.refresher-md .refresher-refreshing .spinner-lines-small-md line,\n.refresher-md .refresher-refreshing .spinner-crescent circle {\n stroke: var(--ion-text-color, #000);\n}\n\n.refresher-md .refresher-refreshing .spinner-bubbles circle,\n.refresher-md .refresher-refreshing .spinner-circles circle,\n.refresher-md .refresher-refreshing .spinner-dots circle {\n fill: var(--ion-text-color, #000);\n}\n\nion-refresher.refresher-native {\n display: block;\n z-index: 1;\n}\nion-refresher.refresher-native ion-spinner {\n -webkit-margin-start: auto;\n margin-inline-start: auto;\n -webkit-margin-end: auto;\n margin-inline-end: auto;\n margin-top: 0;\n margin-bottom: 0;\n width: 24px;\n height: 24px;\n color: var(--ion-color-primary, #3880ff);\n}\nion-refresher.refresher-native .spinner-arrow-container {\n display: inherit;\n}\nion-refresher.refresher-native .arrow-container {\n display: block;\n position: absolute;\n width: 24px;\n height: 24px;\n}\nion-refresher.refresher-native .arrow-container ion-icon {\n -webkit-margin-start: auto;\n margin-inline-start: auto;\n -webkit-margin-end: auto;\n margin-inline-end: auto;\n margin-top: 0;\n margin-bottom: 0;\n left: 0;\n right: 0;\n bottom: -4px;\n position: absolute;\n color: var(--ion-color-primary, #3880ff);\n font-size: 12px;\n}\nion-refresher.refresher-native.refresher-pulling ion-refresher-content .refresher-pulling, ion-refresher.refresher-native.refresher-ready ion-refresher-content .refresher-pulling {\n display: flex;\n}\nion-refresher.refresher-native.refresher-refreshing ion-refresher-content .refresher-refreshing, ion-refresher.refresher-native.refresher-completing ion-refresher-content .refresher-refreshing, ion-refresher.refresher-native.refresher-cancelling ion-refresher-content .refresher-refreshing {\n display: flex;\n}\nion-refresher.refresher-native .refresher-pulling-icon {\n transform: translateY(calc(-100% - 10px));\n}\nion-refresher.refresher-native .refresher-pulling-icon,\nion-refresher.refresher-native .refresher-refreshing-icon {\n -webkit-margin-start: auto;\n margin-inline-start: auto;\n -webkit-margin-end: auto;\n margin-inline-end: auto;\n margin-top: 0;\n margin-bottom: 0;\n border-radius: 100%;\n -webkit-padding-start: 8px;\n padding-inline-start: 8px;\n -webkit-padding-end: 8px;\n padding-inline-end: 8px;\n padding-top: 8px;\n padding-bottom: 8px;\n display: flex;\n border: 1px solid var(--ion-color-step-200, #ececec);\n background: var(--ion-color-step-250, #ffffff);\n box-shadow: 0px 1px 6px rgba(0, 0, 0, 0.1);\n}","/*!\n * (C) Ionic http://ionicframework.com - MIT License\n */\nimport { Host, h, readTask, writeTask } from \"@stencil/core\";\nimport { getTimeGivenProgression } from \"../../utils/animation/cubic-bezier\";\nimport { getScrollElement, ION_CONTENT_CLASS_SELECTOR, ION_CONTENT_ELEMENT_SELECTOR, printIonContentErrorMsg, } from \"../../utils/content/index\";\nimport { clamp, componentOnReady, getElementRoot, raf, transitionEndAsync } from \"../../utils/helpers\";\nimport { ImpactStyle, hapticImpact } from \"../../utils/native/haptic\";\nimport { getIonMode } from \"../../global/ionic-global\";\nimport { createPullingAnimation, createSnapBackAnimation, getRefresherAnimationType, handleScrollWhilePulling, handleScrollWhileRefreshing, setSpinnerOpacity, shouldUseNativeRefresher, translateElement, } from \"./refresher.utils\";\n/**\n * @virtualProp {\"ios\" | \"md\"} mode - The mode determines which platform styles to use.\n */\nexport class Refresher {\n constructor() {\n this.appliedStyles = false;\n this.didStart = false;\n this.progress = 0;\n this.pointerDown = false;\n this.needsCompletion = false;\n this.didRefresh = false;\n this.lastVelocityY = 0;\n this.animations = [];\n this.nativeRefresher = false;\n this.state = 1 /* RefresherState.Inactive */;\n this.pullMin = 60;\n this.pullMax = this.pullMin + 60;\n this.closeDuration = '280ms';\n this.snapbackDuration = '280ms';\n this.pullFactor = 1;\n this.disabled = false;\n }\n disabledChanged() {\n if (this.gesture) {\n this.gesture.enable(!this.disabled);\n }\n }\n async checkNativeRefresher() {\n const useNativeRefresher = await shouldUseNativeRefresher(this.el, getIonMode(this));\n if (useNativeRefresher && !this.nativeRefresher) {\n const contentEl = this.el.closest('ion-content');\n this.setupNativeRefresher(contentEl);\n }\n else if (!useNativeRefresher) {\n this.destroyNativeRefresher();\n }\n }\n destroyNativeRefresher() {\n if (this.scrollEl && this.scrollListenerCallback) {\n this.scrollEl.removeEventListener('scroll', this.scrollListenerCallback);\n this.scrollListenerCallback = undefined;\n }\n this.nativeRefresher = false;\n }\n async resetNativeRefresher(el, state) {\n this.state = state;\n if (getIonMode(this) === 'ios') {\n await translateElement(el, undefined, 300);\n }\n else {\n await transitionEndAsync(this.el.querySelector('.refresher-refreshing-icon'), 200);\n }\n this.didRefresh = false;\n this.needsCompletion = false;\n this.pointerDown = false;\n this.animations.forEach((ani) => ani.destroy());\n this.animations = [];\n this.progress = 0;\n this.state = 1 /* RefresherState.Inactive */;\n }\n async setupiOSNativeRefresher(pullingSpinner, refreshingSpinner) {\n this.elementToTransform = this.scrollEl;\n const ticks = pullingSpinner.shadowRoot.querySelectorAll('svg');\n let MAX_PULL = this.scrollEl.clientHeight * 0.16;\n const NUM_TICKS = ticks.length;\n writeTask(() => ticks.forEach((el) => el.style.setProperty('animation', 'none')));\n this.scrollListenerCallback = () => {\n // If pointer is not on screen or refresher is not active, ignore scroll\n if (!this.pointerDown && this.state === 1 /* RefresherState.Inactive */) {\n return;\n }\n readTask(() => {\n // PTR should only be active when overflow scrolling at the top\n const scrollTop = this.scrollEl.scrollTop;\n const refresherHeight = this.el.clientHeight;\n if (scrollTop > 0) {\n /**\n * If refresher is refreshing and user tries to scroll\n * progressively fade refresher out/in\n */\n if (this.state === 8 /* RefresherState.Refreshing */) {\n const ratio = clamp(0, scrollTop / (refresherHeight * 0.5), 1);\n writeTask(() => setSpinnerOpacity(refreshingSpinner, 1 - ratio));\n return;\n }\n return;\n }\n if (this.pointerDown) {\n if (!this.didStart) {\n this.didStart = true;\n this.ionStart.emit();\n }\n // emit \"pulling\" on every move\n if (this.pointerDown) {\n this.ionPull.emit();\n }\n }\n /**\n * We want to delay the start of this gesture by ~30px\n * when initially pulling down so the refresher does not\n * overlap with the content. But when letting go of the\n * gesture before the refresher completes, we want the\n * refresher tick marks to quickly fade out.\n */\n const offset = this.didStart ? 30 : 0;\n const pullAmount = (this.progress = clamp(0, (Math.abs(scrollTop) - offset) / MAX_PULL, 1));\n const shouldShowRefreshingSpinner = this.state === 8 /* RefresherState.Refreshing */ || pullAmount === 1;\n if (shouldShowRefreshingSpinner) {\n if (this.pointerDown) {\n handleScrollWhileRefreshing(refreshingSpinner, this.lastVelocityY);\n }\n if (!this.didRefresh) {\n this.beginRefresh();\n this.didRefresh = true;\n hapticImpact({ style: ImpactStyle.Light });\n /**\n * Translate the content element otherwise when pointer is removed\n * from screen the scroll content will bounce back over the refresher\n */\n if (!this.pointerDown) {\n translateElement(this.elementToTransform, `${refresherHeight}px`);\n }\n }\n }\n else {\n this.state = 2 /* RefresherState.Pulling */;\n handleScrollWhilePulling(ticks, NUM_TICKS, pullAmount);\n }\n });\n };\n this.scrollEl.addEventListener('scroll', this.scrollListenerCallback);\n this.gesture = (await import('../../utils/gesture')).createGesture({\n el: this.scrollEl,\n gestureName: 'refresher',\n gesturePriority: 31,\n direction: 'y',\n threshold: 5,\n onStart: () => {\n this.pointerDown = true;\n if (!this.didRefresh) {\n translateElement(this.elementToTransform, '0px');\n }\n /**\n * If the content had `display: none` when\n * the refresher was initialized, its clientHeight\n * will be 0. When the gesture starts, the content\n * will be visible, so try to get the correct\n * client height again. This is most common when\n * using the refresher in an ion-menu.\n */\n if (MAX_PULL === 0) {\n MAX_PULL = this.scrollEl.clientHeight * 0.16;\n }\n },\n onMove: (ev) => {\n this.lastVelocityY = ev.velocityY;\n },\n onEnd: () => {\n this.pointerDown = false;\n this.didStart = false;\n if (this.needsCompletion) {\n this.resetNativeRefresher(this.elementToTransform, 32 /* RefresherState.Completing */);\n this.needsCompletion = false;\n }\n else if (this.didRefresh) {\n readTask(() => translateElement(this.elementToTransform, `${this.el.clientHeight}px`));\n }\n },\n });\n this.disabledChanged();\n }\n async setupMDNativeRefresher(contentEl, pullingSpinner, refreshingSpinner) {\n const circle = getElementRoot(pullingSpinner).querySelector('circle');\n const pullingRefresherIcon = this.el.querySelector('ion-refresher-content .refresher-pulling-icon');\n const refreshingCircle = getElementRoot(refreshingSpinner).querySelector('circle');\n if (circle !== null && refreshingCircle !== null) {\n writeTask(() => {\n circle.style.setProperty('animation', 'none');\n // This lines up the animation on the refreshing spinner with the pulling spinner\n refreshingSpinner.style.setProperty('animation-delay', '-655ms');\n refreshingCircle.style.setProperty('animation-delay', '-655ms');\n });\n }\n this.gesture = (await import('../../utils/gesture')).createGesture({\n el: this.scrollEl,\n gestureName: 'refresher',\n gesturePriority: 31,\n direction: 'y',\n threshold: 5,\n canStart: () => this.state !== 8 /* RefresherState.Refreshing */ &&\n this.state !== 32 /* RefresherState.Completing */ &&\n this.scrollEl.scrollTop === 0,\n onStart: (ev) => {\n this.progress = 0;\n ev.data = { animation: undefined, didStart: false, cancelled: false };\n },\n onMove: (ev) => {\n if ((ev.velocityY < 0 && this.progress === 0 && !ev.data.didStart) || ev.data.cancelled) {\n ev.data.cancelled = true;\n return;\n }\n if (!ev.data.didStart) {\n ev.data.didStart = true;\n this.state = 2 /* RefresherState.Pulling */;\n // When ion-refresher is being used with a custom scroll target, the overflow styles need to be applied directly instead of via a css variable\n const { scrollEl } = this;\n const overflowProperty = scrollEl.matches(ION_CONTENT_CLASS_SELECTOR) ? 'overflow' : '--overflow';\n writeTask(() => scrollEl.style.setProperty(overflowProperty, 'hidden'));\n const animationType = getRefresherAnimationType(contentEl);\n const animation = createPullingAnimation(animationType, pullingRefresherIcon, this.el);\n ev.data.animation = animation;\n animation.progressStart(false, 0);\n this.ionStart.emit();\n this.animations.push(animation);\n return;\n }\n // Since we are using an easing curve, slow the gesture tracking down a bit\n this.progress = clamp(0, (ev.deltaY / 180) * 0.5, 1);\n ev.data.animation.progressStep(this.progress);\n this.ionPull.emit();\n },\n onEnd: (ev) => {\n if (!ev.data.didStart) {\n return;\n }\n this.gesture.enable(false);\n const { scrollEl } = this;\n const overflowProperty = scrollEl.matches(ION_CONTENT_CLASS_SELECTOR) ? 'overflow' : '--overflow';\n writeTask(() => scrollEl.style.removeProperty(overflowProperty));\n if (this.progress <= 0.4) {\n ev.data.animation.progressEnd(0, this.progress, 500).onFinish(() => {\n this.animations.forEach((ani) => ani.destroy());\n this.animations = [];\n this.gesture.enable(true);\n this.state = 1 /* RefresherState.Inactive */;\n });\n return;\n }\n const progress = getTimeGivenProgression([0, 0], [0, 0], [1, 1], [1, 1], this.progress)[0];\n const snapBackAnimation = createSnapBackAnimation(pullingRefresherIcon);\n this.animations.push(snapBackAnimation);\n writeTask(async () => {\n pullingRefresherIcon.style.setProperty('--ion-pulling-refresher-translate', `${progress * 100}px`);\n ev.data.animation.progressEnd();\n await snapBackAnimation.play();\n this.beginRefresh();\n ev.data.animation.destroy();\n this.gesture.enable(true);\n });\n },\n });\n this.disabledChanged();\n }\n async setupNativeRefresher(contentEl) {\n if (this.scrollListenerCallback || !contentEl || this.nativeRefresher || !this.scrollEl) {\n return;\n }\n /**\n * If using non-native refresher before make sure\n * we clean up any old CSS. This can happen when\n * a user manually calls the refresh method in a\n * component create callback before the native\n * refresher is setup.\n */\n this.setCss(0, '', false, '');\n this.nativeRefresher = true;\n const pullingSpinner = this.el.querySelector('ion-refresher-content .refresher-pulling ion-spinner');\n const refreshingSpinner = this.el.querySelector('ion-refresher-content .refresher-refreshing ion-spinner');\n if (getIonMode(this) === 'ios') {\n this.setupiOSNativeRefresher(pullingSpinner, refreshingSpinner);\n }\n else {\n this.setupMDNativeRefresher(contentEl, pullingSpinner, refreshingSpinner);\n }\n }\n componentDidUpdate() {\n this.checkNativeRefresher();\n }\n async connectedCallback() {\n if (this.el.getAttribute('slot') !== 'fixed') {\n console.error('Make sure you use: <ion-refresher slot=\"fixed\">');\n return;\n }\n const contentEl = this.el.closest(ION_CONTENT_ELEMENT_SELECTOR);\n if (!contentEl) {\n printIonContentErrorMsg(this.el);\n return;\n }\n /**\n * Waits for the content to be ready before querying the scroll\n * or the background content element.\n */\n componentOnReady(contentEl, async () => {\n const customScrollTarget = contentEl.querySelector(ION_CONTENT_CLASS_SELECTOR);\n /**\n * Query the custom scroll target (if available), first. In refresher implementations,\n * the ion-refresher element will always be a direct child of ion-content (slot=\"fixed\"). By\n * querying the custom scroll target first and falling back to the ion-content element,\n * the correct scroll element will be returned by the implementation.\n */\n this.scrollEl = await getScrollElement(customScrollTarget !== null && customScrollTarget !== void 0 ? customScrollTarget : contentEl);\n /**\n * Query the background content element from the host ion-content element directly.\n */\n this.backgroundContentEl = await contentEl.getBackgroundElement();\n if (await shouldUseNativeRefresher(this.el, getIonMode(this))) {\n this.setupNativeRefresher(contentEl);\n }\n else {\n this.gesture = (await import('../../utils/gesture')).createGesture({\n el: contentEl,\n gestureName: 'refresher',\n gesturePriority: 31,\n direction: 'y',\n threshold: 20,\n passive: false,\n canStart: () => this.canStart(),\n onStart: () => this.onStart(),\n onMove: (ev) => this.onMove(ev),\n onEnd: () => this.onEnd(),\n });\n this.disabledChanged();\n }\n });\n }\n disconnectedCallback() {\n this.destroyNativeRefresher();\n this.scrollEl = undefined;\n if (this.gesture) {\n this.gesture.destroy();\n this.gesture = undefined;\n }\n }\n /**\n * Call `complete()` when your async operation has completed.\n * For example, the `refreshing` state is while the app is performing\n * an asynchronous operation, such as receiving more data from an\n * AJAX request. Once the data has been received, you then call this\n * method to signify that the refreshing has completed and to close\n * the refresher. This method also changes the refresher's state from\n * `refreshing` to `completing`.\n */\n async complete() {\n if (this.nativeRefresher) {\n this.needsCompletion = true;\n // Do not reset scroll el until user removes pointer from screen\n if (!this.pointerDown) {\n raf(() => raf(() => this.resetNativeRefresher(this.elementToTransform, 32 /* RefresherState.Completing */)));\n }\n }\n else {\n this.close(32 /* RefresherState.Completing */, '120ms');\n }\n }\n /**\n * Changes the refresher's state from `refreshing` to `cancelling`.\n */\n async cancel() {\n if (this.nativeRefresher) {\n // Do not reset scroll el until user removes pointer from screen\n if (!this.pointerDown) {\n raf(() => raf(() => this.resetNativeRefresher(this.elementToTransform, 16 /* RefresherState.Cancelling */)));\n }\n }\n else {\n this.close(16 /* RefresherState.Cancelling */, '');\n }\n }\n /**\n * A number representing how far down the user has pulled.\n * The number `0` represents the user hasn't pulled down at all. The\n * number `1`, and anything greater than `1`, represents that the user\n * has pulled far enough down that when they let go then the refresh will\n * happen. If they let go and the number is less than `1`, then the\n * refresh will not happen, and the content will return to it's original\n * position.\n */\n getProgress() {\n return Promise.resolve(this.progress);\n }\n canStart() {\n if (!this.scrollEl) {\n return false;\n }\n if (this.state !== 1 /* RefresherState.Inactive */) {\n return false;\n }\n // if the scrollTop is greater than zero then it's\n // not possible to pull the content down yet\n if (this.scrollEl.scrollTop > 0) {\n return false;\n }\n return true;\n }\n onStart() {\n this.progress = 0;\n this.state = 1 /* RefresherState.Inactive */;\n this.memoizeOverflowStyle();\n }\n onMove(detail) {\n if (!this.scrollEl) {\n return;\n }\n // this method can get called like a bazillion times per second,\n // so it's built to be as efficient as possible, and does its\n // best to do any DOM read/writes only when absolutely necessary\n // if multi-touch then get out immediately\n const ev = detail.event;\n if (ev.touches !== undefined && ev.touches.length > 1) {\n return;\n }\n // do nothing if it's actively refreshing\n // or it's in the way of closing\n // or this was never a startY\n if ((this.state & 56 /* RefresherState._BUSY_ */) !== 0) {\n return;\n }\n const pullFactor = Number.isNaN(this.pullFactor) || this.pullFactor < 0 ? 1 : this.pullFactor;\n const deltaY = detail.deltaY * pullFactor;\n // don't bother if they're scrolling up\n // and have not already started dragging\n if (deltaY <= 0) {\n // the current Y is higher than the starting Y\n // so they scrolled up enough to be ignored\n this.progress = 0;\n this.state = 1 /* RefresherState.Inactive */;\n if (this.appliedStyles) {\n // reset the styles only if they were applied\n this.setCss(0, '', false, '');\n return;\n }\n return;\n }\n if (this.state === 1 /* RefresherState.Inactive */) {\n // this refresh is not already actively pulling down\n // get the content's scrollTop\n const scrollHostScrollTop = this.scrollEl.scrollTop;\n // if the scrollTop is greater than zero then it's\n // not possible to pull the content down yet\n if (scrollHostScrollTop > 0) {\n this.progress = 0;\n return;\n }\n // content scrolled all the way to the top, and dragging down\n this.state = 2 /* RefresherState.Pulling */;\n }\n // prevent native scroll events\n if (ev.cancelable) {\n ev.preventDefault();\n }\n // the refresher is actively pulling at this point\n // move the scroll element within the content element\n this.setCss(deltaY, '0ms', true, '');\n if (deltaY === 0) {\n // don't continue if there's no delta yet\n this.progress = 0;\n return;\n }\n const pullMin = this.pullMin;\n // set pull progress\n this.progress = deltaY / pullMin;\n // emit \"start\" if it hasn't started yet\n if (!this.didStart) {\n this.didStart = true;\n this.ionStart.emit();\n }\n // emit \"pulling\" on every move\n this.ionPull.emit();\n // do nothing if the delta is less than the pull threshold\n if (deltaY < pullMin) {\n // ensure it stays in the pulling state, cuz its not ready yet\n this.state = 2 /* RefresherState.Pulling */;\n return;\n }\n if (deltaY > this.pullMax) {\n // they pulled farther than the max, so kick off the refresh\n this.beginRefresh();\n return;\n }\n // pulled farther than the pull min!!\n // it is now in the `ready` state!!\n // if they let go then it'll refresh, kerpow!!\n this.state = 4 /* RefresherState.Ready */;\n return;\n }\n onEnd() {\n // only run in a zone when absolutely necessary\n if (this.state === 4 /* RefresherState.Ready */) {\n // they pulled down far enough, so it's ready to refresh\n this.beginRefresh();\n }\n else if (this.state === 2 /* RefresherState.Pulling */) {\n // they were pulling down, but didn't pull down far enough\n // set the content back to it's original location\n // and close the refresher\n // set that the refresh is actively cancelling\n this.cancel();\n }\n else if (this.state === 1 /* RefresherState.Inactive */) {\n /**\n * The pull to refresh gesture was aborted\n * so we should immediately restore any overflow styles\n * that have been modified. Do not call this.cancel\n * because the styles will only be reset after a timeout.\n * If the gesture is aborted then scrolling should be\n * available right away.\n */\n this.restoreOverflowStyle();\n }\n }\n beginRefresh() {\n // assumes we're already back in a zone\n // they pulled down far enough, so it's ready to refresh\n this.state = 8 /* RefresherState.Refreshing */;\n // place the content in a hangout position while it thinks\n this.setCss(this.pullMin, this.snapbackDuration, true, '');\n // emit \"refresh\" because it was pulled down far enough\n // and they let go to begin refreshing\n this.ionRefresh.emit({\n complete: this.complete.bind(this),\n });\n }\n close(state, delay) {\n // create fallback timer incase something goes wrong with transitionEnd event\n setTimeout(() => {\n this.state = 1 /* RefresherState.Inactive */;\n this.progress = 0;\n this.didStart = false;\n /**\n * Reset any overflow styles so the\n * user can scroll again.\n */\n this.setCss(0, '0ms', false, '', true);\n }, 600);\n // reset the styles on the scroll element\n // set that the refresh is actively cancelling/completing\n this.state = state;\n this.setCss(0, this.closeDuration, true, delay);\n }\n setCss(y, duration, overflowVisible, delay, shouldRestoreOverflowStyle = false) {\n if (this.nativeRefresher) {\n return;\n }\n this.appliedStyles = y > 0;\n writeTask(() => {\n if (this.scrollEl && this.backgroundContentEl) {\n const scrollStyle = this.scrollEl.style;\n const backgroundStyle = this.backgroundContentEl.style;\n scrollStyle.transform = backgroundStyle.transform = y > 0 ? `translateY(${y}px) translateZ(0px)` : '';\n scrollStyle.transitionDuration = backgroundStyle.transitionDuration = duration;\n scrollStyle.transitionDelay = backgroundStyle.transitionDelay = delay;\n scrollStyle.overflow = overflowVisible ? 'hidden' : '';\n }\n /**\n * Reset the overflow styles only once\n * the pull to refresh effect has been closed.\n * This ensures that the gesture is done\n * and the refresh operation has either\n * been aborted or has completed.\n */\n if (shouldRestoreOverflowStyle) {\n this.restoreOverflowStyle();\n }\n });\n }\n memoizeOverflowStyle() {\n if (this.scrollEl) {\n const { overflow, overflowX, overflowY } = this.scrollEl.style;\n this.overflowStyles = {\n overflow: overflow !== null && overflow !== void 0 ? overflow : '',\n overflowX: overflowX !== null && overflowX !== void 0 ? overflowX : '',\n overflowY: overflowY !== null && overflowY !== void 0 ? overflowY : '',\n };\n }\n }\n restoreOverflowStyle() {\n if (this.overflowStyles !== undefined && this.scrollEl !== undefined) {\n const { overflow, overflowX, overflowY } = this.overflowStyles;\n this.scrollEl.style.overflow = overflow;\n this.scrollEl.style.overflowX = overflowX;\n this.scrollEl.style.overflowY = overflowY;\n this.overflowStyles = undefined;\n }\n }\n render() {\n const mode = getIonMode(this);\n return (h(Host, { key: '96f4f595ebdb92a12755b642398691bcaab9f7c1', slot: \"fixed\", class: {\n [mode]: true,\n // Used internally for styling\n [`refresher-${mode}`]: true,\n 'refresher-native': this.nativeRefresher,\n 'refresher-active': this.state !== 1 /* RefresherState.Inactive */,\n 'refresher-pulling': this.state === 2 /* RefresherState.Pulling */,\n 'refresher-ready': this.state === 4 /* RefresherState.Ready */,\n 'refresher-refreshing': this.state === 8 /* RefresherState.Refreshing */,\n 'refresher-cancelling': this.state === 16 /* RefresherState.Cancelling */,\n 'refresher-completing': this.state === 32 /* RefresherState.Completing */,\n } }));\n }\n static get is() { return \"ion-refresher\"; }\n static get originalStyleUrls() {\n return {\n \"ios\": [\"refresher.ios.scss\"],\n \"md\": [\"refresher.md.scss\"]\n };\n }\n static get styleUrls() {\n return {\n \"ios\": [\"refresher.ios.css\"],\n \"md\": [\"refresher.md.css\"]\n };\n }\n static get properties() {\n return {\n \"pullMin\": {\n \"type\": \"number\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"number\",\n \"resolved\": \"number\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The minimum distance the user must pull down until the\\nrefresher will go into the `refreshing` state.\\nDoes not apply when the refresher content uses a spinner,\\nenabling the native refresher.\"\n },\n \"attribute\": \"pull-min\",\n \"reflect\": false,\n \"defaultValue\": \"60\"\n },\n \"pullMax\": {\n \"type\": \"number\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"number\",\n \"resolved\": \"number\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The maximum distance of the pull until the refresher\\nwill automatically go into the `refreshing` state.\\nDefaults to the result of `pullMin + 60`.\\nDoes not apply when the refresher content uses a spinner,\\nenabling the native refresher.\"\n },\n \"attribute\": \"pull-max\",\n \"reflect\": false,\n \"defaultValue\": \"this.pullMin + 60\"\n },\n \"closeDuration\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"string\",\n \"resolved\": \"string\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"Time it takes to close the refresher.\\nDoes not apply when the refresher content uses a spinner,\\nenabling the native refresher.\"\n },\n \"attribute\": \"close-duration\",\n \"reflect\": false,\n \"defaultValue\": \"'280ms'\"\n },\n \"snapbackDuration\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"string\",\n \"resolved\": \"string\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"Time it takes the refresher to snap back to the `refreshing` state.\\nDoes not apply when the refresher content uses a spinner,\\nenabling the native refresher.\"\n },\n \"attribute\": \"snapback-duration\",\n \"reflect\": false,\n \"defaultValue\": \"'280ms'\"\n },\n \"pullFactor\": {\n \"type\": \"number\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"number\",\n \"resolved\": \"number\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"How much to multiply the pull speed by. To slow the pull animation down,\\npass a number less than `1`. To speed up the pull, pass a number greater\\nthan `1`. The default value is `1` which is equal to the speed of the cursor.\\nIf a negative value is passed in, the factor will be `1` instead.\\n\\nFor example: If the value passed is `1.2` and the content is dragged by\\n`10` pixels, instead of `10` pixels the content will be pulled by `12` pixels\\n(an increase of 20 percent). If the value passed is `0.8`, the dragged amount\\nwill be `8` pixels, less than the amount the cursor has moved.\\n\\nDoes not apply when the refresher content uses a spinner,\\nenabling the native refresher.\"\n },\n \"attribute\": \"pull-factor\",\n \"reflect\": false,\n \"defaultValue\": \"1\"\n },\n \"disabled\": {\n \"type\": \"boolean\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"boolean\",\n \"resolved\": \"boolean\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"If `true`, the refresher will be hidden.\"\n },\n \"attribute\": \"disabled\",\n \"reflect\": false,\n \"defaultValue\": \"false\"\n }\n };\n }\n static get states() {\n return {\n \"nativeRefresher\": {},\n \"state\": {}\n };\n }\n static get events() {\n return [{\n \"method\": \"ionRefresh\",\n \"name\": \"ionRefresh\",\n \"bubbles\": true,\n \"cancelable\": true,\n \"composed\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"Emitted when the user lets go of the content and has pulled down\\nfurther than the `pullMin` or pulls the content down and exceeds the pullMax.\\nUpdates the refresher state to `refreshing`. The `complete()` method should be\\ncalled when the async operation has completed.\"\n },\n \"complexType\": {\n \"original\": \"RefresherEventDetail\",\n \"resolved\": \"RefresherEventDetail\",\n \"references\": {\n \"RefresherEventDetail\": {\n \"location\": \"import\",\n \"path\": \"./refresher-interface\",\n \"id\": \"src/components/refresher/refresher-interface.ts::RefresherEventDetail\"\n }\n }\n }\n }, {\n \"method\": \"ionPull\",\n \"name\": \"ionPull\",\n \"bubbles\": true,\n \"cancelable\": true,\n \"composed\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"Emitted while the user is pulling down the content and exposing the refresher.\"\n },\n \"complexType\": {\n \"original\": \"void\",\n \"resolved\": \"void\",\n \"references\": {}\n }\n }, {\n \"method\": \"ionStart\",\n \"name\": \"ionStart\",\n \"bubbles\": true,\n \"cancelable\": true,\n \"composed\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"Emitted when the user begins to start pulling down.\"\n },\n \"complexType\": {\n \"original\": \"void\",\n \"resolved\": \"void\",\n \"references\": {}\n }\n }];\n }\n static get methods() {\n return {\n \"complete\": {\n \"complexType\": {\n \"signature\": \"() => Promise<void>\",\n \"parameters\": [],\n \"references\": {\n \"Promise\": {\n \"location\": \"global\",\n \"id\": \"global::Promise\"\n }\n },\n \"return\": \"Promise<void>\"\n },\n \"docs\": {\n \"text\": \"Call `complete()` when your async operation has completed.\\nFor example, the `refreshing` state is while the app is performing\\nan asynchronous operation, such as receiving more data from an\\nAJAX request. Once the data has been received, you then call this\\nmethod to signify that the refreshing has completed and to close\\nthe refresher. This method also changes the refresher's state from\\n`refreshing` to `completing`.\",\n \"tags\": []\n }\n },\n \"cancel\": {\n \"complexType\": {\n \"signature\": \"() => Promise<void>\",\n \"parameters\": [],\n \"references\": {\n \"Promise\": {\n \"location\": \"global\",\n \"id\": \"global::Promise\"\n }\n },\n \"return\": \"Promise<void>\"\n },\n \"docs\": {\n \"text\": \"Changes the refresher's state from `refreshing` to `cancelling`.\",\n \"tags\": []\n }\n },\n \"getProgress\": {\n \"complexType\": {\n \"signature\": \"() => Promise<number>\",\n \"parameters\": [],\n \"references\": {\n \"Promise\": {\n \"location\": \"global\",\n \"id\": \"global::Promise\"\n }\n },\n \"return\": \"Promise<number>\"\n },\n \"docs\": {\n \"text\": \"A number representing how far down the user has pulled.\\nThe number `0` represents the user hasn't pulled down at all. The\\nnumber `1`, and anything greater than `1`, represents that the user\\nhas pulled far enough down that when they let go then the refresh will\\nhappen. If they let go and the number is less than `1`, then the\\nrefresh will not happen, and the content will return to it's original\\nposition.\",\n \"tags\": []\n }\n }\n };\n }\n static get elementRef() { return \"el\"; }\n static get watchers() {\n return [{\n \"propName\": \"disabled\",\n \"methodName\": \"disabledChanged\"\n }];\n }\n}\n"],"mappings":"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"}