@sparkle-learning/core 0.0.32 → 0.0.35

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 (611) hide show
  1. package/dist/cjs/PrivateRoute-4abc9d29.js +35 -0
  2. package/dist/cjs/{active-router-eedb3bfe.js → active-router-f9e18bd8.js} +1 -1
  3. package/dist/cjs/{animation-6132e37f.js → animation-ee586546.js} +83 -78
  4. package/dist/cjs/{app-globals-9869bf67.js → app-globals-33c9f31b.js} +1 -1
  5. package/dist/cjs/{PrivateRoute-043bb7d3.js → auth.service-4b584cd7.js} +4 -33
  6. package/dist/cjs/{auth.store-ff3fda09.js → auth.store-1e630a7d.js} +48 -725
  7. package/dist/cjs/compass-svg.cjs.entry.js +1 -1
  8. package/dist/cjs/context-consumer.cjs.entry.js +1 -1
  9. package/dist/cjs/course-select.cjs.entry.js +1 -1
  10. package/dist/cjs/{cubic-bezier-293f4663.js → cubic-bezier-53d26d05.js} +10 -11
  11. package/dist/cjs/dom-utils-b8befdd5.js +63 -0
  12. package/dist/cjs/{facilitator.service-faac5c0c.js → facilitator.service-9e990274.js} +8 -7
  13. package/dist/cjs/{feed.service-66405969.js → feed.service-b4f09441.js} +8 -7
  14. package/dist/cjs/{focus-visible-ad3828a7.js → focus-visible-b0b07ba6.js} +19 -6
  15. package/dist/cjs/{framework-delegate-2470a246.js → framework-delegate-59a98abd.js} +11 -13
  16. package/dist/cjs/{gesture-controller-07c31f70.js → gesture-controller-0eb5579e.js} +1 -1
  17. package/dist/cjs/{haptic-91e86eb7.js → haptic-780f33c4.js} +3 -2
  18. package/dist/cjs/{hardware-back-button-f7b5d99e.js → hardware-back-button-92d97ff8.js} +8 -8
  19. package/dist/cjs/header-mobile-collapse_2.cjs.entry.js +112 -0
  20. package/dist/cjs/{helpers-7e28976c.js → helpers-c2496722.js} +81 -14
  21. package/dist/cjs/httpService-7211d93b.js +685 -0
  22. package/dist/cjs/{icons-80d477f6.js → icons-c61db785.js} +1 -1
  23. package/dist/cjs/{index-43642662.js → index-12082cba.js} +21 -18
  24. package/dist/cjs/{index-459a5fa9.js → index-15ea05f5.js} +19 -28
  25. package/dist/cjs/{index-bae2a754.js → index-51e8292e.js} +18 -11
  26. package/dist/cjs/index-70e63f5b.js +3071 -0
  27. package/dist/cjs/{index-b12edb26.js → index-787d4498.js} +17 -25
  28. package/dist/cjs/{tap-click-1caf1780.js → index-8b5629a6.js} +30 -20
  29. package/dist/cjs/{index-8540d72e.js → index-975586fd.js} +7 -1
  30. package/dist/cjs/index-9c7b27e4.js +140 -0
  31. package/dist/cjs/{index-185f9c5a.js → index-af080b50.js} +9 -8
  32. package/dist/cjs/index-e56e09b8.js +38 -0
  33. package/dist/cjs/index.cjs.js +13 -11
  34. package/dist/cjs/{index.es-ef3efdfb.js → index.es-38cbcdbe.js} +2 -7
  35. package/dist/cjs/injectHistory-7206bbb9.js +9 -0
  36. package/dist/cjs/{input-shims-6c442c9f.js → input-shims-eff63b88.js} +21 -24
  37. package/dist/cjs/ion-accordion-group.cjs.entry.js +17 -9
  38. package/dist/cjs/ion-accordion.cjs.entry.js +19 -23
  39. package/dist/cjs/ion-action-sheet_4.cjs.entry.js +216 -212
  40. package/dist/cjs/ion-app.cjs.entry.js +8 -8
  41. package/dist/cjs/ion-avatar_16.cjs.entry.js +1907 -0
  42. package/dist/cjs/ion-back-button.cjs.entry.js +11 -11
  43. package/dist/cjs/ion-backdrop.cjs.entry.js +4 -4
  44. package/dist/cjs/ion-badge.cjs.entry.js +3 -3
  45. package/dist/cjs/ion-breadcrumb.cjs.entry.js +13 -21
  46. package/dist/cjs/ion-breadcrumbs.cjs.entry.js +12 -14
  47. package/dist/cjs/ion-buttons_3.cjs.entry.js +13 -13
  48. package/dist/cjs/ion-card-header.cjs.entry.js +4 -4
  49. package/dist/cjs/ion-card-subtitle.cjs.entry.js +4 -4
  50. package/dist/cjs/ion-checkbox_4.cjs.entry.js +360 -0
  51. package/dist/cjs/ion-chip.cjs.entry.js +3 -3
  52. package/dist/cjs/ion-col_3.cjs.entry.js +159 -0
  53. package/dist/cjs/ion-content_2.cjs.entry.js +59 -52
  54. package/dist/cjs/ion-datetime-button.cjs.entry.js +312 -0
  55. package/dist/cjs/ion-datetime.cjs.entry.js +752 -1245
  56. package/dist/cjs/ion-fab-button.cjs.entry.js +25 -9
  57. package/dist/cjs/ion-fab-list.cjs.entry.js +4 -4
  58. package/dist/cjs/ion-fab.cjs.entry.js +15 -13
  59. package/dist/cjs/ion-footer.cjs.entry.js +16 -14
  60. package/dist/cjs/ion-img.cjs.entry.js +4 -4
  61. package/dist/cjs/ion-infinite-scroll-content.cjs.entry.js +5 -5
  62. package/dist/cjs/ion-infinite-scroll.cjs.entry.js +13 -15
  63. package/dist/cjs/ion-item-divider.cjs.entry.js +4 -4
  64. package/dist/cjs/ion-item-group.cjs.entry.js +3 -3
  65. package/dist/cjs/ion-item-option.cjs.entry.js +8 -8
  66. package/dist/cjs/ion-item-options.cjs.entry.js +5 -5
  67. package/dist/cjs/ion-item-sliding.cjs.entry.js +41 -46
  68. package/dist/cjs/ion-loading.cjs.entry.js +23 -35
  69. package/dist/cjs/ion-menu-button.cjs.entry.js +13 -13
  70. package/dist/cjs/ion-menu-toggle.cjs.entry.js +7 -7
  71. package/dist/cjs/ion-menu.cjs.entry.js +47 -40
  72. package/dist/cjs/ion-modal.cjs.entry.js +935 -282
  73. package/dist/cjs/ion-nav-link.cjs.entry.js +2 -2
  74. package/dist/cjs/ion-nav.cjs.entry.js +45 -35
  75. package/dist/cjs/ion-picker-column-internal_2.cjs.entry.js +151 -43
  76. package/dist/cjs/ion-picker-column.cjs.entry.js +23 -25
  77. package/dist/cjs/ion-picker.cjs.entry.js +15 -17
  78. package/dist/cjs/ion-progress-bar.cjs.entry.js +6 -8
  79. package/dist/cjs/ion-range.cjs.entry.js +515 -0
  80. package/dist/cjs/ion-refresher-content.cjs.entry.js +6 -12
  81. package/dist/cjs/ion-refresher.cjs.entry.js +68 -50
  82. package/dist/cjs/ion-reorder-group.cjs.entry.js +15 -16
  83. package/dist/cjs/ion-reorder.cjs.entry.js +3 -3
  84. package/dist/cjs/ion-route-redirect.cjs.entry.js +1 -1
  85. package/dist/cjs/ion-route.cjs.entry.js +1 -1
  86. package/dist/cjs/ion-router-link.cjs.entry.js +5 -5
  87. package/dist/cjs/ion-router-outlet.cjs.entry.js +22 -20
  88. package/dist/cjs/ion-router.cjs.entry.js +32 -31
  89. package/dist/cjs/ion-searchbar.cjs.entry.js +14 -16
  90. package/dist/cjs/ion-segment-button.cjs.entry.js +8 -8
  91. package/dist/cjs/ion-segment.cjs.entry.js +24 -26
  92. package/dist/cjs/ion-select_2.cjs.entry.js +59 -56
  93. package/dist/cjs/ion-skeleton-text.cjs.entry.js +4 -4
  94. package/dist/cjs/ion-slide.cjs.entry.js +3 -3
  95. package/dist/cjs/ion-slides.cjs.entry.js +23 -23
  96. package/dist/cjs/ion-split-pane.cjs.entry.js +10 -11
  97. package/dist/cjs/ion-tab-bar.cjs.entry.js +5 -5
  98. package/dist/cjs/ion-tab-button.cjs.entry.js +6 -6
  99. package/dist/cjs/ion-tab.cjs.entry.js +4 -4
  100. package/dist/cjs/ion-tabs.cjs.entry.js +4 -5
  101. package/dist/cjs/ion-text.cjs.entry.js +24 -0
  102. package/dist/cjs/ion-thumbnail.cjs.entry.js +2 -2
  103. package/dist/cjs/ion-toast.cjs.entry.js +23 -43
  104. package/dist/cjs/ion-virtual-scroll.cjs.entry.js +29 -28
  105. package/dist/cjs/{ionic-global-878073d1.js → ionic-global-2cde9d3a.js} +27 -31
  106. package/dist/cjs/{ios.transition-c3bfb096.js → ios.transition-da235483.js} +71 -51
  107. package/dist/cjs/{keyboard-dfd76ac3.js → keyboard-91096619.js} +3 -3
  108. package/dist/cjs/loader.cjs.js +5 -5
  109. package/dist/cjs/match-path-84c9f7ca.js +511 -0
  110. package/dist/cjs/{md.transition-7eb9a1a7.js → md.transition-be429e07.js} +9 -16
  111. package/dist/cjs/{menu-toggle-util-cb549c2c.js → menu-toggle-util-7a01448c.js} +2 -2
  112. package/dist/cjs/{overlays-0a748609.js → overlays-32df265a.js} +29 -29
  113. package/dist/cjs/parse-d0071120.js +1237 -0
  114. package/dist/cjs/{purify-d0ad2883.js → purify-fb9c107e.js} +1 -1
  115. package/dist/cjs/sparkle-animation-player.cjs.entry.js +1 -1
  116. package/dist/cjs/sparkle-card_3.cjs.entry.js +91 -0
  117. package/dist/cjs/sparkle-character-intro.cjs.entry.js +1 -1
  118. package/dist/cjs/sparkle-code.cjs.entry.js +2 -2
  119. package/dist/cjs/sparkle-compass-post.cjs.entry.js +1 -1
  120. package/dist/cjs/sparkle-compass.cjs.entry.js +1 -1
  121. package/dist/cjs/sparkle-core.cjs.js +5 -5
  122. package/dist/cjs/sparkle-course-root.cjs.entry.js +146 -0
  123. package/dist/cjs/sparkle-dropdown.cjs.entry.js +61 -0
  124. package/dist/cjs/sparkle-emoji.cjs.entry.js +1 -1
  125. package/dist/cjs/{header-mobile-collapse_61.cjs.entry.js → sparkle-export-lessons_6.cjs.entry.js} +8865 -17663
  126. package/dist/cjs/sparkle-facilitator-header_19.cjs.entry.js +2130 -0
  127. package/dist/cjs/sparkle-facilitator-notes-form.cjs.entry.js +8 -7
  128. package/dist/cjs/sparkle-feedback.cjs.entry.js +9 -7
  129. package/dist/cjs/sparkle-goal-form.cjs.entry.js +8 -7
  130. package/dist/cjs/sparkle-goal-progress.cjs.entry.js +19 -0
  131. package/dist/cjs/sparkle-gww-comment-list.cjs.entry.js +1 -1
  132. package/dist/cjs/sparkle-gww-graph.cjs.entry.js +1 -1
  133. package/dist/cjs/sparkle-gww-item.cjs.entry.js +74 -0
  134. package/dist/cjs/sparkle-intro.cjs.entry.js +26 -0
  135. package/dist/cjs/sparkle-lower-content-nav.cjs.entry.js +1 -1
  136. package/dist/cjs/sparkle-menu-collapsible.cjs.entry.js +2 -2
  137. package/dist/cjs/sparkle-menu-toggle_3.cjs.entry.js +236 -0
  138. package/dist/cjs/sparkle-modal-image.cjs.entry.js +1 -1
  139. package/dist/cjs/sparkle-notfound-page.cjs.entry.js +1 -1
  140. package/dist/cjs/sparkle-overlay.cjs.entry.js +1 -1
  141. package/dist/cjs/sparkle-poll.cjs.entry.js +1 -1
  142. package/dist/cjs/sparkle-quiz-container.cjs.entry.js +1 -1
  143. package/dist/cjs/sparkle-quiz-feedback_5.cjs.entry.js +1 -1
  144. package/dist/cjs/sparkle-quiz.cjs.entry.js +1 -1
  145. package/dist/cjs/sparkle-select.cjs.entry.js +1 -1
  146. package/dist/cjs/sparkle-sidebar.cjs.entry.js +1 -1
  147. package/dist/cjs/sparkle-tab.cjs.entry.js +1 -1
  148. package/dist/cjs/sparkle-table-of-contents.cjs.entry.js +1 -1
  149. package/dist/cjs/sparkle-tabs.cjs.entry.js +1 -1
  150. package/dist/cjs/sparkle-validation-error.cjs.entry.js +21 -0
  151. package/dist/cjs/sparkle-youtube.cjs.entry.js +1 -1
  152. package/dist/cjs/{spinner-configs-6f6b7ef0.js → spinner-configs-0ac05f2d.js} +43 -43
  153. package/dist/cjs/{status-tap-8697433c.js → status-tap-033befa2.js} +7 -5
  154. package/dist/cjs/stencil-async-content.cjs.entry.js +1 -1
  155. package/dist/cjs/stencil-route-link.cjs.entry.js +77 -0
  156. package/dist/cjs/stencil-route-title.cjs.entry.js +2 -2
  157. package/dist/cjs/stencil-router-prompt.cjs.entry.js +2 -2
  158. package/dist/cjs/stencil-router-redirect.cjs.entry.js +32 -0
  159. package/dist/cjs/student.service-d48f1c99.js +61 -0
  160. package/dist/cjs/{swipe-back-7e08b5e0.js → swipe-back-4a826f9b.js} +5 -5
  161. package/dist/cjs/{theme-4252ac15.js → theme-b0b295c1.js} +6 -5
  162. package/dist/cjs/user.store-8a049c4e.js +21 -0
  163. package/dist/collection/collection-manifest.json +3 -1
  164. package/dist/collection/components/sparkle-feed-post/sparkle-feed-post.css +16 -0
  165. package/dist/collection/components/sparkle-feed-post/sparkle-feed-post.js +197 -3
  166. package/dist/collection/components/sparkle-intro/sparkle-intro.css +15 -0
  167. package/dist/collection/components/sparkle-intro/sparkle-intro.js +35 -0
  168. package/dist/esm/PrivateRoute-530ef873.js +33 -0
  169. package/dist/esm/{active-router-909088d6.js → active-router-9843e205.js} +1 -1
  170. package/dist/esm/{animation-b306f6c2.js → animation-d98d3e81.js} +83 -78
  171. package/dist/esm/{app-globals-5c736ae5.js → app-globals-08edc964.js} +1 -1
  172. package/dist/esm/{PrivateRoute-b9937c45.js → auth.service-79389d86.js} +4 -32
  173. package/dist/esm/{auth.store-3ed2389e.js → auth.store-b812b34b.js} +45 -725
  174. package/dist/esm/compass-svg.entry.js +1 -1
  175. package/dist/esm/context-consumer.entry.js +1 -1
  176. package/dist/esm/course-select.entry.js +1 -1
  177. package/dist/esm/{cubic-bezier-a7ad9c8e.js → cubic-bezier-4c0db14f.js} +10 -11
  178. package/dist/esm/dom-utils-8e73e88b.js +55 -0
  179. package/dist/esm/{facilitator.service-ec0a9739.js → facilitator.service-7babc526.js} +2 -1
  180. package/dist/esm/{feed.service-33b83cb7.js → feed.service-80fbe79d.js} +3 -2
  181. package/dist/esm/{focus-visible-40cda868.js → focus-visible-4e9a0764.js} +19 -6
  182. package/dist/esm/{framework-delegate-3bc58c27.js → framework-delegate-9b329182.js} +11 -13
  183. package/dist/esm/{gesture-controller-686622ba.js → gesture-controller-7be18351.js} +1 -1
  184. package/dist/esm/{haptic-99c9e346.js → haptic-3a76a65c.js} +4 -3
  185. package/dist/esm/{hardware-back-button-b6ccf74a.js → hardware-back-button-fa04d6e9.js} +8 -8
  186. package/dist/esm/header-mobile-collapse_2.entry.js +107 -0
  187. package/dist/esm/{helpers-39367fe1.js → helpers-94a5855b.js} +81 -15
  188. package/dist/esm/httpService-b2b7a1ad.js +683 -0
  189. package/dist/esm/{icons-61dec176.js → icons-16f1a80b.js} +2 -2
  190. package/dist/esm/{index-a12c14bd.js → index-21661af2.js} +22 -19
  191. package/dist/esm/{tap-click-13f1fb0d.js → index-230a26c9.js} +30 -20
  192. package/dist/esm/{index-c26d8655.js → index-478745be.js} +17 -25
  193. package/dist/esm/{index-dc61f152.js → index-4ec6b9c2.js} +5 -2
  194. package/dist/esm/{index-9594837e.js → index-95307148.js} +19 -28
  195. package/dist/esm/{index-5568e3fa.js → index-9db08224.js} +19 -12
  196. package/dist/esm/index-ab1c6a9f.js +3067 -0
  197. package/dist/esm/{index-435af8e6.js → index-be6112f8.js} +9 -8
  198. package/dist/esm/index-c23a1826.js +128 -0
  199. package/dist/esm/index-dad75b83.js +34 -0
  200. package/dist/esm/{index.es-97dd8174.js → index.es-1c3b1ef3.js} +2 -7
  201. package/dist/esm/index.js +9 -7
  202. package/dist/esm/injectHistory-4bfff188.js +7 -0
  203. package/dist/esm/{input-shims-cc98ea92.js → input-shims-ce5c01df.js} +21 -24
  204. package/dist/esm/ion-accordion-group.entry.js +17 -9
  205. package/dist/esm/ion-accordion.entry.js +19 -23
  206. package/dist/esm/ion-action-sheet_4.entry.js +216 -212
  207. package/dist/esm/ion-app.entry.js +8 -8
  208. package/dist/esm/ion-avatar_16.entry.js +1888 -0
  209. package/dist/esm/ion-back-button.entry.js +11 -11
  210. package/dist/esm/ion-backdrop.entry.js +4 -4
  211. package/dist/esm/ion-badge.entry.js +3 -3
  212. package/dist/esm/ion-breadcrumb.entry.js +13 -21
  213. package/dist/esm/ion-breadcrumbs.entry.js +12 -14
  214. package/dist/esm/ion-buttons_3.entry.js +13 -13
  215. package/dist/esm/ion-card-header.entry.js +4 -4
  216. package/dist/esm/ion-card-subtitle.entry.js +4 -4
  217. package/dist/esm/ion-checkbox_4.entry.js +353 -0
  218. package/dist/esm/ion-chip.entry.js +3 -3
  219. package/dist/esm/ion-col_3.entry.js +153 -0
  220. package/dist/esm/ion-content_2.entry.js +59 -52
  221. package/dist/esm/ion-datetime-button.entry.js +308 -0
  222. package/dist/esm/ion-datetime.entry.js +723 -1216
  223. package/dist/esm/ion-fab-button.entry.js +25 -9
  224. package/dist/esm/ion-fab-list.entry.js +4 -4
  225. package/dist/esm/ion-fab.entry.js +15 -13
  226. package/dist/esm/ion-footer.entry.js +16 -14
  227. package/dist/esm/ion-img.entry.js +4 -4
  228. package/dist/esm/ion-infinite-scroll-content.entry.js +5 -5
  229. package/dist/esm/ion-infinite-scroll.entry.js +13 -15
  230. package/dist/esm/ion-item-divider.entry.js +4 -4
  231. package/dist/esm/ion-item-group.entry.js +3 -3
  232. package/dist/esm/ion-item-option.entry.js +8 -8
  233. package/dist/esm/ion-item-options.entry.js +5 -5
  234. package/dist/esm/ion-item-sliding.entry.js +41 -46
  235. package/dist/esm/ion-loading.entry.js +23 -35
  236. package/dist/esm/ion-menu-button.entry.js +13 -13
  237. package/dist/esm/ion-menu-toggle.entry.js +7 -7
  238. package/dist/esm/ion-menu.entry.js +47 -40
  239. package/dist/esm/ion-modal.entry.js +921 -268
  240. package/dist/esm/ion-nav-link.entry.js +2 -2
  241. package/dist/esm/ion-nav.entry.js +45 -35
  242. package/dist/esm/ion-picker-column-internal_2.entry.js +151 -43
  243. package/dist/esm/ion-picker-column.entry.js +23 -25
  244. package/dist/esm/ion-picker.entry.js +15 -17
  245. package/dist/esm/ion-progress-bar.entry.js +6 -8
  246. package/dist/esm/ion-range.entry.js +511 -0
  247. package/dist/esm/ion-refresher-content.entry.js +6 -12
  248. package/dist/esm/ion-refresher.entry.js +68 -50
  249. package/dist/esm/ion-reorder-group.entry.js +15 -16
  250. package/dist/esm/ion-reorder.entry.js +3 -3
  251. package/dist/esm/ion-route-redirect.entry.js +1 -1
  252. package/dist/esm/ion-route.entry.js +1 -1
  253. package/dist/esm/ion-router-link.entry.js +5 -5
  254. package/dist/esm/ion-router-outlet.entry.js +22 -20
  255. package/dist/esm/ion-router.entry.js +32 -31
  256. package/dist/esm/ion-searchbar.entry.js +14 -16
  257. package/dist/esm/ion-segment-button.entry.js +8 -8
  258. package/dist/esm/ion-segment.entry.js +24 -26
  259. package/dist/esm/ion-select_2.entry.js +59 -56
  260. package/dist/esm/ion-skeleton-text.entry.js +4 -4
  261. package/dist/esm/ion-slide.entry.js +3 -3
  262. package/dist/esm/ion-slides.entry.js +23 -23
  263. package/dist/esm/ion-split-pane.entry.js +10 -11
  264. package/dist/esm/ion-tab-bar.entry.js +5 -5
  265. package/dist/esm/ion-tab-button.entry.js +6 -6
  266. package/dist/esm/ion-tab.entry.js +4 -4
  267. package/dist/esm/ion-tabs.entry.js +4 -5
  268. package/dist/esm/ion-text.entry.js +20 -0
  269. package/dist/esm/ion-thumbnail.entry.js +2 -2
  270. package/dist/esm/ion-toast.entry.js +23 -43
  271. package/dist/esm/ion-virtual-scroll.entry.js +29 -28
  272. package/dist/esm/{ionic-global-0939c477.js → ionic-global-293e882b.js} +27 -31
  273. package/dist/esm/{ios.transition-b4ca8a33.js → ios.transition-7cd34deb.js} +71 -51
  274. package/dist/esm/{keyboard-2503e874.js → keyboard-7e8329b3.js} +3 -3
  275. package/dist/esm/loader.js +5 -5
  276. package/dist/esm/match-path-36fdf5c7.js +499 -0
  277. package/dist/esm/{md.transition-ca5e0322.js → md.transition-2589a5b1.js} +9 -16
  278. package/dist/esm/{menu-toggle-util-7fa22c2f.js → menu-toggle-util-f92ba2f0.js} +2 -2
  279. package/dist/esm/{overlays-34cfa9e0.js → overlays-dfa730c8.js} +30 -30
  280. package/dist/esm/parse-1ae3a9bb.js +1196 -0
  281. package/dist/esm/polyfills/css-shim.js +1 -1
  282. package/dist/esm/{purify-ffce2b4c.js → purify-79af871f.js} +1 -1
  283. package/dist/esm/sparkle-animation-player.entry.js +2 -2
  284. package/dist/esm/sparkle-card_3.entry.js +85 -0
  285. package/dist/esm/sparkle-character-intro.entry.js +1 -1
  286. package/dist/esm/sparkle-code.entry.js +2 -2
  287. package/dist/esm/sparkle-compass-post.entry.js +1 -1
  288. package/dist/esm/sparkle-compass.entry.js +1 -1
  289. package/dist/esm/sparkle-core.js +5 -5
  290. package/dist/esm/sparkle-course-root.entry.js +142 -0
  291. package/dist/esm/sparkle-dropdown.entry.js +57 -0
  292. package/dist/esm/sparkle-emoji.entry.js +1 -1
  293. package/dist/esm/{header-mobile-collapse_61.entry.js → sparkle-export-lessons_6.entry.js} +8860 -17603
  294. package/dist/esm/sparkle-facilitator-header_19.entry.js +2108 -0
  295. package/dist/esm/sparkle-facilitator-notes-form.entry.js +8 -7
  296. package/dist/esm/sparkle-feedback.entry.js +9 -7
  297. package/dist/esm/sparkle-goal-form.entry.js +9 -8
  298. package/dist/esm/sparkle-goal-progress.entry.js +15 -0
  299. package/dist/esm/sparkle-gww-comment-list.entry.js +1 -1
  300. package/dist/esm/sparkle-gww-graph.entry.js +1 -1
  301. package/dist/esm/sparkle-gww-item.entry.js +70 -0
  302. package/dist/esm/sparkle-intro.entry.js +22 -0
  303. package/dist/esm/sparkle-lower-content-nav.entry.js +1 -1
  304. package/dist/esm/sparkle-menu-collapsible.entry.js +2 -2
  305. package/dist/esm/sparkle-menu-toggle_3.entry.js +230 -0
  306. package/dist/esm/sparkle-modal-image.entry.js +1 -1
  307. package/dist/esm/sparkle-notfound-page.entry.js +1 -1
  308. package/dist/esm/sparkle-overlay.entry.js +1 -1
  309. package/dist/esm/sparkle-poll.entry.js +1 -1
  310. package/dist/esm/sparkle-quiz-container.entry.js +1 -1
  311. package/dist/esm/sparkle-quiz-feedback_5.entry.js +1 -1
  312. package/dist/esm/sparkle-quiz.entry.js +1 -1
  313. package/dist/esm/sparkle-select.entry.js +1 -1
  314. package/dist/esm/sparkle-sidebar.entry.js +1 -1
  315. package/dist/esm/sparkle-tab.entry.js +1 -1
  316. package/dist/esm/sparkle-table-of-contents.entry.js +1 -1
  317. package/dist/esm/sparkle-tabs.entry.js +1 -1
  318. package/dist/esm/sparkle-validation-error.entry.js +17 -0
  319. package/dist/esm/sparkle-youtube.entry.js +1 -1
  320. package/dist/esm/{spinner-configs-f609a655.js → spinner-configs-a37e628a.js} +43 -43
  321. package/dist/esm/{status-tap-6351a0cb.js → status-tap-79b6199d.js} +7 -5
  322. package/dist/esm/stencil-async-content.entry.js +1 -1
  323. package/dist/esm/stencil-route-link.entry.js +73 -0
  324. package/dist/esm/stencil-route-title.entry.js +2 -2
  325. package/dist/esm/stencil-router-prompt.entry.js +2 -2
  326. package/dist/esm/stencil-router-redirect.entry.js +28 -0
  327. package/dist/esm/{student.service-29b688ba.js → student.service-0caed0f4.js} +3 -18
  328. package/dist/esm/{swipe-back-34251834.js → swipe-back-ad7a0361.js} +5 -5
  329. package/dist/esm/{theme-c336c9d9.js → theme-7ef00c83.js} +6 -5
  330. package/dist/esm/user.store-8477642a.js +19 -0
  331. package/dist/esm/{util-6ef753e9.js → util-a831d09d.js} +1 -1
  332. package/dist/node_modules/@ionic/core/dist/collection/components/content/content.css +8 -1
  333. package/dist/node_modules/@ionic/core/dist/collection/components/datetime/datetime.ios.css +46 -22
  334. package/dist/node_modules/@ionic/core/dist/collection/components/datetime/datetime.md.css +43 -19
  335. package/dist/node_modules/@ionic/core/dist/collection/components/datetime-button/datetime-button.css +60 -0
  336. package/dist/node_modules/@ionic/core/dist/collection/components/item/item.ios.css +2 -1
  337. package/dist/node_modules/@ionic/core/dist/collection/components/item/item.md.css +2 -2
  338. package/dist/node_modules/@ionic/core/dist/collection/components/item-option/item-option.ios.css +6 -6
  339. package/dist/node_modules/@ionic/core/dist/collection/components/item-option/item-option.md.css +6 -6
  340. package/dist/node_modules/@ionic/core/dist/collection/components/label/label.ios.css +3 -3
  341. package/dist/node_modules/@ionic/core/dist/collection/components/loading/loading.ios.css +1 -6
  342. package/dist/node_modules/@ionic/core/dist/collection/components/loading/loading.md.css +1 -6
  343. package/dist/node_modules/@ionic/core/dist/collection/components/menu/menu.ios.css +1 -5
  344. package/dist/node_modules/@ionic/core/dist/collection/components/menu/menu.md.css +1 -5
  345. package/dist/node_modules/@ionic/core/dist/collection/components/modal/modal.ios.css +31 -3
  346. package/dist/node_modules/@ionic/core/dist/collection/components/modal/modal.md.css +29 -1
  347. package/dist/node_modules/@ionic/core/dist/collection/components/picker-column-internal/picker-column-internal.ios.css +24 -1
  348. package/dist/node_modules/@ionic/core/dist/collection/components/picker-column-internal/picker-column-internal.md.css +24 -1
  349. package/dist/node_modules/@ionic/core/dist/collection/components/picker-internal/picker-internal.ios.css +4 -0
  350. package/dist/node_modules/@ionic/core/dist/collection/components/picker-internal/picker-internal.md.css +4 -0
  351. package/dist/node_modules/@ionic/core/dist/collection/components/range/range.ios.css +2 -2
  352. package/dist/node_modules/@ionic/core/dist/collection/components/range/range.md.css +2 -2
  353. package/dist/node_modules/@ionic/core/dist/collection/components/spinner/spinner.css +8 -8
  354. package/dist/node_modules/@ionic/core/dist/collection/components/textarea/textarea.ios.css +34 -17
  355. package/dist/node_modules/@ionic/core/dist/collection/components/textarea/textarea.md.css +34 -17
  356. package/dist/node_modules/@ionic/core/dist/collection/components/toggle/toggle.ios.css +50 -1
  357. package/dist/node_modules/@ionic/core/dist/collection/components/toggle/toggle.md.css +27 -0
  358. package/dist/sparkle-core/index.esm.js +1 -1
  359. package/dist/sparkle-core/p-0127a61a.entry.js +1 -0
  360. package/dist/sparkle-core/p-01743e3e.js +4 -0
  361. package/dist/sparkle-core/p-06af1bc8.entry.js +1 -0
  362. package/dist/sparkle-core/{p-703ca87c.js → p-076f0239.js} +0 -0
  363. package/dist/sparkle-core/p-0798d46a.entry.js +1 -0
  364. package/dist/sparkle-core/p-085eb951.entry.js +4 -0
  365. package/dist/sparkle-core/{p-39e5a90f.entry.js → p-0b92326d.entry.js} +1 -1
  366. package/dist/sparkle-core/{p-5ff6416d.entry.js → p-0c603495.entry.js} +2 -2
  367. package/dist/sparkle-core/{p-6bbabb80.entry.js → p-0d7cceaa.entry.js} +1 -1
  368. package/dist/sparkle-core/p-0d813026.entry.js +1 -0
  369. package/dist/sparkle-core/{p-69e7783d.js → p-0e4de1d0.js} +0 -0
  370. package/dist/sparkle-core/p-11ed6b7f.entry.js +1 -0
  371. package/dist/sparkle-core/p-122427b7.entry.js +1 -0
  372. package/dist/sparkle-core/p-12c4f45c.entry.js +1 -0
  373. package/dist/sparkle-core/p-136b93d5.entry.js +4 -0
  374. package/dist/sparkle-core/{p-e225581a.js → p-1394cbb8.js} +2 -2
  375. package/dist/sparkle-core/{p-c48bbc7c.entry.js → p-14340143.entry.js} +1 -1
  376. package/dist/sparkle-core/p-14a06a91.entry.js +1 -0
  377. package/dist/sparkle-core/{p-a9ee3f6d.entry.js → p-16b7974e.entry.js} +1 -1
  378. package/dist/sparkle-core/p-16c81890.entry.js +1 -0
  379. package/dist/sparkle-core/{p-5c9aa1f9.entry.js → p-1701723e.entry.js} +1 -1
  380. package/dist/sparkle-core/p-1728ead7.js +1 -0
  381. package/dist/sparkle-core/p-17aef6f9.js +1 -0
  382. package/dist/sparkle-core/p-180857a2.entry.js +1 -0
  383. package/dist/sparkle-core/p-1acc7870.entry.js +1 -0
  384. package/dist/sparkle-core/{p-513794b0.js → p-1c2aee9c.js} +1 -1
  385. package/dist/sparkle-core/p-1cd4c3cc.entry.js +1 -0
  386. package/dist/sparkle-core/p-21d9833d.js +1 -0
  387. package/dist/sparkle-core/p-23d713e2.js +1 -0
  388. package/dist/sparkle-core/p-25c13612.entry.js +1 -0
  389. package/dist/sparkle-core/p-2699868a.entry.js +1 -0
  390. package/dist/sparkle-core/p-27075abe.js +4 -0
  391. package/dist/sparkle-core/{p-713590fc.js → p-280e938d.js} +1 -1
  392. package/dist/sparkle-core/p-2bd4c60e.js +1 -0
  393. package/dist/sparkle-core/p-2c89a6c2.entry.js +1 -0
  394. package/dist/sparkle-core/p-308517b3.js +4 -0
  395. package/dist/sparkle-core/p-3227afcb.entry.js +1 -0
  396. package/dist/sparkle-core/{p-173d5461.entry.js → p-34d93a39.entry.js} +1 -1
  397. package/dist/sparkle-core/p-34ebfc8a.entry.js +1 -0
  398. package/dist/sparkle-core/p-351b82a8.entry.js +1 -0
  399. package/dist/sparkle-core/p-363a2d6d.js +4 -0
  400. package/dist/sparkle-core/p-36c48760.entry.js +1 -0
  401. package/dist/sparkle-core/p-3810777d.js +4 -0
  402. package/dist/sparkle-core/p-384911d7.entry.js +1 -0
  403. package/dist/sparkle-core/p-3b618eda.entry.js +1 -0
  404. package/dist/sparkle-core/p-3c752205.entry.js +1 -0
  405. package/dist/sparkle-core/{p-50aac721.entry.js → p-3d2c0e24.entry.js} +2 -2
  406. package/dist/sparkle-core/{p-350adbaa.entry.js → p-3eb56165.entry.js} +1 -1
  407. package/dist/sparkle-core/{p-ed0e9d29.entry.js → p-3ef53ebf.entry.js} +1 -1
  408. package/dist/sparkle-core/{p-fbd7eeca.entry.js → p-3fd92216.entry.js} +1 -1
  409. package/dist/sparkle-core/{p-1df05176.js → p-4338e1e3.js} +2 -2
  410. package/dist/sparkle-core/p-442eadcf.entry.js +1 -0
  411. package/dist/sparkle-core/{p-5f45d206.entry.js → p-4af496a8.entry.js} +1 -1
  412. package/dist/sparkle-core/{p-935e7cfc.js → p-4bd4dab2.js} +1 -1
  413. package/dist/sparkle-core/{p-18e62133.entry.js → p-4c9e010d.entry.js} +1 -1
  414. package/dist/sparkle-core/p-4d0dfbc9.js +1 -0
  415. package/dist/sparkle-core/{p-8c6b6038.js → p-4d4077ea.js} +0 -0
  416. package/dist/sparkle-core/p-4e0502b8.entry.js +4 -0
  417. package/dist/sparkle-core/p-506f3c5f.js +4 -0
  418. package/dist/sparkle-core/p-524a6174.entry.js +1 -0
  419. package/dist/sparkle-core/p-53aac9d7.entry.js +1 -0
  420. package/dist/sparkle-core/{p-0580419b.entry.js → p-56700a40.entry.js} +1 -1
  421. package/dist/sparkle-core/p-5722be24.entry.js +1 -0
  422. package/dist/sparkle-core/p-58389020.entry.js +348 -0
  423. package/dist/sparkle-core/{p-11cf398a.entry.js → p-58f74119.entry.js} +1 -1
  424. package/dist/sparkle-core/p-5979f253.entry.js +1 -0
  425. package/dist/sparkle-core/p-5a3de051.entry.js +4 -0
  426. package/dist/sparkle-core/p-5a850731.entry.js +1 -0
  427. package/dist/sparkle-core/{p-950effe7.entry.js → p-5dcf33fb.entry.js} +1 -1
  428. package/dist/sparkle-core/p-5e8fa1ac.entry.js +1 -0
  429. package/dist/sparkle-core/p-5ef50959.js +1 -0
  430. package/dist/sparkle-core/p-615b8f64.entry.js +1 -0
  431. package/dist/sparkle-core/{p-90389886.entry.js → p-63d8a5b7.entry.js} +1 -1
  432. package/dist/sparkle-core/p-6a337ad1.entry.js +1 -0
  433. package/dist/sparkle-core/p-6a5ace01.js +2 -0
  434. package/dist/sparkle-core/{p-d7baf31e.entry.js → p-6ae9c743.entry.js} +1 -1
  435. package/dist/sparkle-core/p-76206f80.entry.js +1 -0
  436. package/dist/sparkle-core/{p-99b43ee1.entry.js → p-767c9db8.entry.js} +1 -1
  437. package/dist/sparkle-core/p-76a6e202.entry.js +1 -0
  438. package/dist/sparkle-core/{p-ee0d7f19.entry.js → p-785f1879.entry.js} +1 -1
  439. package/dist/sparkle-core/p-788735b9.entry.js +1 -0
  440. package/dist/sparkle-core/{p-057f6a23.entry.js → p-7b21bd70.entry.js} +1 -1
  441. package/dist/sparkle-core/p-7b3d1457.js +1 -0
  442. package/dist/sparkle-core/p-7d8427eb.js +4 -0
  443. package/dist/sparkle-core/{p-5264da79.js → p-7e7ce516.js} +0 -0
  444. package/dist/sparkle-core/{p-838fa86d.entry.js → p-8cbe019a.entry.js} +5 -5
  445. package/dist/sparkle-core/{p-9c1772c3.js → p-8d630960.js} +1 -1
  446. package/dist/sparkle-core/{p-7052c43a.entry.js → p-8e42e634.entry.js} +1 -1
  447. package/dist/sparkle-core/p-8e56f9ee.entry.js +1 -0
  448. package/dist/sparkle-core/p-8ed0cefb.entry.js +1 -0
  449. package/dist/sparkle-core/{p-d4c07aca.js → p-924b2917.js} +0 -0
  450. package/dist/sparkle-core/p-9484e34b.entry.js +1 -0
  451. package/dist/sparkle-core/p-966817ec.js +1 -0
  452. package/dist/sparkle-core/p-969e98e5.entry.js +1 -0
  453. package/dist/sparkle-core/p-98f3925b.js +4 -0
  454. package/dist/sparkle-core/{p-a1cab0f3.js → p-99231c00.js} +2 -2
  455. package/dist/sparkle-core/p-9a383065.entry.js +7 -0
  456. package/dist/sparkle-core/p-9b4979b5.entry.js +4 -0
  457. package/dist/sparkle-core/{p-c69b0a7a.entry.js → p-9cd95e7e.entry.js} +1 -1
  458. package/dist/sparkle-core/p-9dc42d70.entry.js +1 -0
  459. package/dist/sparkle-core/p-9eea81f2.js +1 -0
  460. package/dist/sparkle-core/{p-797c23ed.entry.js → p-9ef14088.entry.js} +1 -1
  461. package/dist/sparkle-core/p-a05871e6.js +1 -0
  462. package/dist/sparkle-core/p-a111c567.entry.js +1 -0
  463. package/dist/sparkle-core/{p-1af044f7.js → p-a19b42f0.js} +1 -1
  464. package/dist/sparkle-core/p-a208ab2d.js +4 -0
  465. package/dist/sparkle-core/p-a2f7c751.entry.js +1 -0
  466. package/dist/sparkle-core/p-a458b415.entry.js +1 -0
  467. package/dist/sparkle-core/p-a6c1a55a.entry.js +5 -0
  468. package/dist/sparkle-core/{p-145e40f5.entry.js → p-ab3a8f5e.entry.js} +1 -1
  469. package/dist/sparkle-core/p-ac0e4d8c.entry.js +1 -0
  470. package/dist/sparkle-core/p-add30d46.js +4 -0
  471. package/dist/sparkle-core/{p-5b40aae5.entry.js → p-b00d0a47.entry.js} +1 -1
  472. package/dist/sparkle-core/p-b2827978.entry.js +1 -0
  473. package/dist/sparkle-core/p-b8ba8164.entry.js +1 -0
  474. package/dist/sparkle-core/{p-6823e6c1.entry.js → p-ba775d8e.entry.js} +1 -1
  475. package/dist/sparkle-core/{p-37c00e39.entry.js → p-bae8cd7d.entry.js} +1 -1
  476. package/dist/sparkle-core/p-bb3e3482.entry.js +1 -0
  477. package/dist/sparkle-core/p-bb575dba.entry.js +1 -0
  478. package/dist/sparkle-core/p-bd2c8e30.entry.js +10 -0
  479. package/dist/sparkle-core/p-c48352cf.js +4 -0
  480. package/dist/sparkle-core/{p-667accac.entry.js → p-c5eb4404.entry.js} +1 -1
  481. package/dist/sparkle-core/p-c8ad5a5b.entry.js +4 -0
  482. package/dist/sparkle-core/p-c9f474d0.js +4 -0
  483. package/dist/sparkle-core/p-ca0edc9b.entry.js +1 -0
  484. package/dist/sparkle-core/{p-680663a2.entry.js → p-cb04b18a.entry.js} +1 -1
  485. package/dist/sparkle-core/{p-b3909012.entry.js → p-d0d0e5e5.entry.js} +1 -1
  486. package/dist/sparkle-core/{p-7d61177b.entry.js → p-d220a642.entry.js} +1 -1
  487. package/dist/sparkle-core/p-d38a2511.entry.js +1 -0
  488. package/dist/sparkle-core/{p-b07a2cf2.entry.js → p-d5b8302f.entry.js} +1 -1
  489. package/dist/sparkle-core/p-d5ba8e80.entry.js +1 -0
  490. package/dist/sparkle-core/{p-3a202a38.entry.js → p-d6637b48.entry.js} +1 -1
  491. package/dist/sparkle-core/p-d6788642.entry.js +1 -0
  492. package/dist/sparkle-core/p-d6a3a639.entry.js +1 -0
  493. package/dist/sparkle-core/p-d86f8633.entry.js +1 -0
  494. package/dist/sparkle-core/{p-9cfdeb18.entry.js → p-defeaa5c.entry.js} +1 -1
  495. package/dist/sparkle-core/p-df5cfa7f.entry.js +1 -0
  496. package/dist/sparkle-core/p-df5efe0d.entry.js +1 -0
  497. package/dist/sparkle-core/p-dff8325e.js +4 -0
  498. package/dist/sparkle-core/p-e09de7ac.js +1 -0
  499. package/dist/sparkle-core/{p-016a7aaf.entry.js → p-e1743d82.entry.js} +1 -1
  500. package/dist/sparkle-core/p-e28a106d.entry.js +1 -0
  501. package/dist/sparkle-core/p-e566c0b3.entry.js +1 -0
  502. package/dist/sparkle-core/{p-bca0e465.entry.js → p-e6d39f6e.entry.js} +1 -1
  503. package/dist/sparkle-core/p-e9431eeb.js +7 -0
  504. package/dist/sparkle-core/p-ea4a9f0d.entry.js +1 -0
  505. package/dist/sparkle-core/p-ea7d7a3b.js +1 -0
  506. package/dist/sparkle-core/p-eaa8bbee.js +4 -0
  507. package/dist/sparkle-core/p-ed3dfd89.js +4 -0
  508. package/dist/sparkle-core/{p-3defe550.entry.js → p-efe37368.entry.js} +1 -1
  509. package/dist/sparkle-core/p-f187d129.entry.js +1 -0
  510. package/dist/sparkle-core/{p-a9ccb0df.js → p-f3cba72a.js} +0 -0
  511. package/dist/sparkle-core/{p-052caa63.js → p-f5e7bfa5.js} +1 -1
  512. package/dist/sparkle-core/{p-ecd39170.entry.js → p-f63a13d8.entry.js} +1 -1
  513. package/dist/sparkle-core/{p-1726da2f.entry.js → p-fdb9a613.entry.js} +1 -1
  514. package/dist/sparkle-core/p-fde96f7c.js +4 -0
  515. package/dist/sparkle-core/{p-aa87c7f0.entry.js → p-fe214d79.entry.js} +1 -1
  516. package/dist/sparkle-core/p-fe3a7bca.js +1 -0
  517. package/dist/sparkle-core/{p-aa9ebc39.entry.js → p-fea20ec2.entry.js} +1 -1
  518. package/dist/sparkle-core/p-ff26d891.entry.js +1 -0
  519. package/dist/sparkle-core/sparkle-core.css +1 -1
  520. package/dist/sparkle-core/sparkle-core.esm.js +1 -1
  521. package/dist/types/components/sparkle-feed-post/sparkle-feed-post.d.ts +16 -0
  522. package/dist/types/components/sparkle-intro/sparkle-intro.d.ts +7 -0
  523. package/dist/types/components.d.ts +73 -11
  524. package/package.json +3 -3
  525. package/dist/cjs/ion-card-title.cjs.entry.js +0 -30
  526. package/dist/cjs/ion-textarea.cjs.entry.js +0 -247
  527. package/dist/cjs/ion-toggle.cjs.entry.js +0 -160
  528. package/dist/cjs/sparkle-feed-post.cjs.entry.js +0 -19
  529. package/dist/cjs/student.service-744c3155.js +0 -77
  530. package/dist/esm/ion-card-title.entry.js +0 -26
  531. package/dist/esm/ion-textarea.entry.js +0 -243
  532. package/dist/esm/ion-toggle.entry.js +0 -156
  533. package/dist/esm/sparkle-feed-post.entry.js +0 -15
  534. package/dist/sparkle-core/p-0187adef.entry.js +0 -1
  535. package/dist/sparkle-core/p-03189863.js +0 -1
  536. package/dist/sparkle-core/p-03ec54a8.entry.js +0 -1
  537. package/dist/sparkle-core/p-04583c51.entry.js +0 -1
  538. package/dist/sparkle-core/p-063cd168.js +0 -4
  539. package/dist/sparkle-core/p-081968cc.entry.js +0 -1
  540. package/dist/sparkle-core/p-0934f5dd.entry.js +0 -1
  541. package/dist/sparkle-core/p-0f899097.entry.js +0 -352
  542. package/dist/sparkle-core/p-1339830f.entry.js +0 -1
  543. package/dist/sparkle-core/p-1b78dea1.entry.js +0 -1
  544. package/dist/sparkle-core/p-1cef8572.js +0 -4
  545. package/dist/sparkle-core/p-21bf4ca0.entry.js +0 -1
  546. package/dist/sparkle-core/p-21db4e8e.entry.js +0 -1
  547. package/dist/sparkle-core/p-23a9f7d1.entry.js +0 -1
  548. package/dist/sparkle-core/p-289a35ed.entry.js +0 -1
  549. package/dist/sparkle-core/p-2ee6a5f9.entry.js +0 -1
  550. package/dist/sparkle-core/p-35a7bd6c.entry.js +0 -1
  551. package/dist/sparkle-core/p-389500fd.js +0 -4
  552. package/dist/sparkle-core/p-45e6db62.entry.js +0 -1
  553. package/dist/sparkle-core/p-48f9b960.entry.js +0 -1
  554. package/dist/sparkle-core/p-4dc3ef96.entry.js +0 -1
  555. package/dist/sparkle-core/p-547b70c6.entry.js +0 -1
  556. package/dist/sparkle-core/p-5598650a.entry.js +0 -1
  557. package/dist/sparkle-core/p-55ae49e1.js +0 -4
  558. package/dist/sparkle-core/p-58e98f89.entry.js +0 -1
  559. package/dist/sparkle-core/p-59f7bf6e.entry.js +0 -1
  560. package/dist/sparkle-core/p-5a3d0e6b.js +0 -4
  561. package/dist/sparkle-core/p-5d2e54ee.entry.js +0 -1
  562. package/dist/sparkle-core/p-62a6c96f.entry.js +0 -1
  563. package/dist/sparkle-core/p-64e72f8f.js +0 -4
  564. package/dist/sparkle-core/p-660e0742.js +0 -1
  565. package/dist/sparkle-core/p-6bf07a28.js +0 -1
  566. package/dist/sparkle-core/p-6c6145cd.js +0 -4
  567. package/dist/sparkle-core/p-6c90bde6.entry.js +0 -5
  568. package/dist/sparkle-core/p-6e88764b.entry.js +0 -4
  569. package/dist/sparkle-core/p-6ee40949.js +0 -1
  570. package/dist/sparkle-core/p-6fbe3ca3.entry.js +0 -1
  571. package/dist/sparkle-core/p-6fd4985d.js +0 -4
  572. package/dist/sparkle-core/p-70b2452c.js +0 -4
  573. package/dist/sparkle-core/p-7493ee15.entry.js +0 -1
  574. package/dist/sparkle-core/p-75572037.js +0 -1
  575. package/dist/sparkle-core/p-768bcc9e.entry.js +0 -1
  576. package/dist/sparkle-core/p-7e61973d.entry.js +0 -7
  577. package/dist/sparkle-core/p-855ca600.js +0 -1
  578. package/dist/sparkle-core/p-857f3696.entry.js +0 -1
  579. package/dist/sparkle-core/p-8fe2e51f.entry.js +0 -4
  580. package/dist/sparkle-core/p-932bfb69.entry.js +0 -1
  581. package/dist/sparkle-core/p-941eaa3a.entry.js +0 -1
  582. package/dist/sparkle-core/p-95004267.entry.js +0 -1
  583. package/dist/sparkle-core/p-996361f9.entry.js +0 -1
  584. package/dist/sparkle-core/p-9a17f2ad.js +0 -4
  585. package/dist/sparkle-core/p-9babd345.js +0 -1
  586. package/dist/sparkle-core/p-a080e768.entry.js +0 -1
  587. package/dist/sparkle-core/p-a7cc0052.entry.js +0 -4
  588. package/dist/sparkle-core/p-ae1f145d.entry.js +0 -1
  589. package/dist/sparkle-core/p-b3e6427d.js +0 -7
  590. package/dist/sparkle-core/p-b49ca0ea.entry.js +0 -1
  591. package/dist/sparkle-core/p-b81e20fe.entry.js +0 -4
  592. package/dist/sparkle-core/p-c1279cc9.entry.js +0 -1
  593. package/dist/sparkle-core/p-c1376096.entry.js +0 -1
  594. package/dist/sparkle-core/p-c3986a52.entry.js +0 -1
  595. package/dist/sparkle-core/p-c3d3d5c4.entry.js +0 -1
  596. package/dist/sparkle-core/p-c5b9bdd6.entry.js +0 -1
  597. package/dist/sparkle-core/p-cbbeed67.entry.js +0 -1
  598. package/dist/sparkle-core/p-d4a435f8.entry.js +0 -1
  599. package/dist/sparkle-core/p-d5b05ece.entry.js +0 -5
  600. package/dist/sparkle-core/p-d8d3524a.js +0 -1
  601. package/dist/sparkle-core/p-e0fced48.entry.js +0 -1
  602. package/dist/sparkle-core/p-e1cba44b.entry.js +0 -4
  603. package/dist/sparkle-core/p-e3fdd0a8.entry.js +0 -1
  604. package/dist/sparkle-core/p-e6b66cef.entry.js +0 -1
  605. package/dist/sparkle-core/p-e72d4450.js +0 -4
  606. package/dist/sparkle-core/p-eb70a23c.entry.js +0 -1
  607. package/dist/sparkle-core/p-f4001fdf.js +0 -4
  608. package/dist/sparkle-core/p-f9b73032.entry.js +0 -1
  609. package/dist/sparkle-core/p-faa912d7.entry.js +0 -1
  610. package/dist/sparkle-core/p-fc933591.entry.js +0 -1
  611. package/dist/sparkle-core/p-fef04ab5.js +0 -4
@@ -1,16 +1,16 @@
1
- import { w as writeTask, r as registerInstance, i as createEvent, j as readTask, h, H as Host, e as getElement, f as forceUpdate } from './index-5568e3fa.js';
2
- import { g as getIonMode, a as isPlatform } from './ionic-global-0939c477.js';
3
- import { c as hapticSelectionEnd, a as hapticSelectionStart, b as hapticSelectionChanged } from './haptic-99c9e346.js';
4
- import { createGesture } from './index-a12c14bd.js';
5
- import { B as BACKDROP, i as isCancel, b as present, p as prepareOverlay, d as dismiss, e as eventMethod, s as safeCall, j as focusFirstDescendant } from './overlays-34cfa9e0.js';
6
- import { g as getClassMap } from './theme-c336c9d9.js';
7
- import { c as createAnimation } from './animation-b306f6c2.js';
8
- import { s as sanitizeDOMString } from './index-435af8e6.js';
9
- import { C as CoreDelegate, a as attachComponent, d as detachComponent } from './framework-delegate-3bc58c27.js';
10
- import { k as raf, g as getElementRoot, a as addEventListener } from './helpers-39367fe1.js';
11
- import { d as deepReady } from './index-c26d8655.js';
12
- import './gesture-controller-686622ba.js';
13
- import './hardware-back-button-b6ccf74a.js';
1
+ import { w as writeTask, r as registerInstance, e as createEvent, j as readTask, h, H as Host, i as getElement, f as forceUpdate } from './index-9db08224.js';
2
+ import { g as getIonMode, a as isPlatform } from './ionic-global-293e882b.js';
3
+ import { d as hapticSelectionEnd, b as hapticSelectionStart, c as hapticSelectionChanged } from './haptic-3a76a65c.js';
4
+ import { createGesture } from './index-21661af2.js';
5
+ import { B as BACKDROP, i as isCancel, a as present, p as prepareOverlay, d as dismiss, e as eventMethod, s as safeCall, j as focusFirstDescendant } from './overlays-dfa730c8.js';
6
+ import { g as getClassMap } from './theme-7ef00c83.js';
7
+ import { c as createAnimation } from './animation-d98d3e81.js';
8
+ import { s as sanitizeDOMString } from './index-be6112f8.js';
9
+ import { C as CoreDelegate, a as attachComponent, d as detachComponent } from './framework-delegate-9b329182.js';
10
+ import { j as raf, g as getElementRoot, a as addEventListener } from './helpers-94a5855b.js';
11
+ import { d as deepReady } from './index-478745be.js';
12
+ import './gesture-controller-7be18351.js';
13
+ import './hardware-back-button-fa04d6e9.js';
14
14
 
15
15
  /*!
16
16
  * (C) Ionic http://ionicframework.com - MIT License
@@ -64,13 +64,13 @@ const createButtonActiveGesture = (el, isButton) => {
64
64
  el,
65
65
  gestureName: 'buttonActiveDrag',
66
66
  threshold: 0,
67
- onStart: ev => activateButtonAtPoint(ev.currentX, ev.currentY, hapticSelectionStart),
68
- onMove: ev => activateButtonAtPoint(ev.currentX, ev.currentY, hapticSelectionChanged),
67
+ onStart: (ev) => activateButtonAtPoint(ev.currentX, ev.currentY, hapticSelectionStart),
68
+ onMove: (ev) => activateButtonAtPoint(ev.currentX, ev.currentY, hapticSelectionChanged),
69
69
  onEnd: () => {
70
70
  clearActiveButton(true);
71
71
  hapticSelectionEnd();
72
72
  initialTouchedButton = undefined;
73
- }
73
+ },
74
74
  });
75
75
  };
76
76
 
@@ -88,7 +88,7 @@ const iosEnterAnimation$2 = (baseEl) => {
88
88
  .addElement(baseEl.querySelector('ion-backdrop'))
89
89
  .fromTo('opacity', 0.01, 'var(--backdrop-opacity)')
90
90
  .beforeStyles({
91
- 'pointer-events': 'none'
91
+ 'pointer-events': 'none',
92
92
  })
93
93
  .afterClearStyles(['pointer-events']);
94
94
  wrapperAnimation
@@ -111,9 +111,7 @@ const iosLeaveAnimation$2 = (baseEl) => {
111
111
  const baseAnimation = createAnimation();
112
112
  const backdropAnimation = createAnimation();
113
113
  const wrapperAnimation = createAnimation();
114
- backdropAnimation
115
- .addElement(baseEl.querySelector('ion-backdrop'))
116
- .fromTo('opacity', 'var(--backdrop-opacity)', 0);
114
+ backdropAnimation.addElement(baseEl.querySelector('ion-backdrop')).fromTo('opacity', 'var(--backdrop-opacity)', 0);
117
115
  wrapperAnimation
118
116
  .addElement(baseEl.querySelector('.action-sheet-wrapper'))
119
117
  .fromTo('transform', 'translateY(0%)', 'translateY(100%)');
@@ -138,7 +136,7 @@ const mdEnterAnimation$2 = (baseEl) => {
138
136
  .addElement(baseEl.querySelector('ion-backdrop'))
139
137
  .fromTo('opacity', 0.01, 'var(--backdrop-opacity)')
140
138
  .beforeStyles({
141
- 'pointer-events': 'none'
139
+ 'pointer-events': 'none',
142
140
  })
143
141
  .afterClearStyles(['pointer-events']);
144
142
  wrapperAnimation
@@ -161,9 +159,7 @@ const mdLeaveAnimation$2 = (baseEl) => {
161
159
  const baseAnimation = createAnimation();
162
160
  const backdropAnimation = createAnimation();
163
161
  const wrapperAnimation = createAnimation();
164
- backdropAnimation
165
- .addElement(baseEl.querySelector('ion-backdrop'))
166
- .fromTo('opacity', 'var(--backdrop-opacity)', 0);
162
+ backdropAnimation.addElement(baseEl.querySelector('ion-backdrop')).fromTo('opacity', 'var(--backdrop-opacity)', 0);
167
163
  wrapperAnimation
168
164
  .addElement(baseEl.querySelector('.action-sheet-wrapper'))
169
165
  .fromTo('transform', 'translateY(0%)', 'translateY(100%)');
@@ -214,7 +210,7 @@ const ActionSheet = class {
214
210
  this.dispatchCancelHandler = (ev) => {
215
211
  const role = ev.detail.role;
216
212
  if (isCancel(role)) {
217
- const cancelButton = this.getButtons().find(b => b.role === 'cancel');
213
+ const cancelButton = this.getButtons().find((b) => b.role === 'cancel');
218
214
  this.callButtonHandler(cancelButton);
219
215
  }
220
216
  };
@@ -277,10 +273,8 @@ const ActionSheet = class {
277
273
  return true;
278
274
  }
279
275
  getButtons() {
280
- return this.buttons.map(b => {
281
- return (typeof b === 'string')
282
- ? { text: b }
283
- : b;
276
+ return this.buttons.map((b) => {
277
+ return typeof b === 'string' ? { text: b } : b;
284
278
  });
285
279
  }
286
280
  disconnectedCallback() {
@@ -312,17 +306,14 @@ const ActionSheet = class {
312
306
  const { htmlAttributes } = this;
313
307
  const mode = getIonMode(this);
314
308
  const allButtons = this.getButtons();
315
- const cancelButton = allButtons.find(b => b.role === 'cancel');
316
- const buttons = allButtons.filter(b => b.role !== 'cancel');
309
+ const cancelButton = allButtons.find((b) => b.role === 'cancel');
310
+ const buttons = allButtons.filter((b) => b.role !== 'cancel');
317
311
  return (h(Host, Object.assign({ role: "dialog", "aria-modal": "true", tabindex: "-1" }, htmlAttributes, { style: {
318
312
  zIndex: `${20000 + this.overlayIndex}`,
319
- }, class: Object.assign(Object.assign({ [mode]: true }, getClassMap(this.cssClass)), { 'overlay-hidden': true, 'action-sheet-translucent': this.translucent }), onIonActionSheetWillDismiss: this.dispatchCancelHandler, onIonBackdropTap: this.onBackdropTap }), h("ion-backdrop", { tappable: this.backdropDismiss }), h("div", { tabindex: "0" }), h("div", { class: "action-sheet-wrapper ion-overlay-wrapper", role: "dialog", ref: el => this.wrapperEl = el }, h("div", { class: "action-sheet-container" }, h("div", { class: "action-sheet-group", ref: el => this.groupEl = el }, this.header !== undefined &&
320
- h("div", { class: {
321
- 'action-sheet-title': true,
322
- 'action-sheet-has-sub-title': this.subHeader !== undefined
323
- } }, this.header, this.subHeader && h("div", { class: "action-sheet-sub-title" }, this.subHeader)), buttons.map(b => h("button", { type: "button", id: b.id, class: buttonClass$1(b), onClick: () => this.buttonClick(b) }, h("span", { class: "action-sheet-button-inner" }, b.icon && h("ion-icon", { icon: b.icon, lazy: false, class: "action-sheet-icon" }), b.text), mode === 'md' && h("ion-ripple-effect", null)))), cancelButton &&
324
- h("div", { class: "action-sheet-group action-sheet-group-cancel" }, h("button", { type: "button", class: buttonClass$1(cancelButton), onClick: () => this.buttonClick(cancelButton) }, h("span", { class: "action-sheet-button-inner" }, cancelButton.icon &&
325
- h("ion-icon", { icon: cancelButton.icon, lazy: false, class: "action-sheet-icon" }), cancelButton.text), mode === 'md' && h("ion-ripple-effect", null))))), h("div", { tabindex: "0" })));
313
+ }, class: Object.assign(Object.assign({ [mode]: true }, getClassMap(this.cssClass)), { 'overlay-hidden': true, 'action-sheet-translucent': this.translucent }), onIonActionSheetWillDismiss: this.dispatchCancelHandler, onIonBackdropTap: this.onBackdropTap }), h("ion-backdrop", { tappable: this.backdropDismiss }), h("div", { tabindex: "0" }), h("div", { class: "action-sheet-wrapper ion-overlay-wrapper", role: "dialog", ref: (el) => (this.wrapperEl = el) }, h("div", { class: "action-sheet-container" }, h("div", { class: "action-sheet-group", ref: (el) => (this.groupEl = el) }, this.header !== undefined && (h("div", { class: {
314
+ 'action-sheet-title': true,
315
+ 'action-sheet-has-sub-title': this.subHeader !== undefined,
316
+ } }, this.header, this.subHeader && h("div", { class: "action-sheet-sub-title" }, this.subHeader))), buttons.map((b) => (h("button", { type: "button", id: b.id, class: buttonClass$1(b), onClick: () => this.buttonClick(b) }, h("span", { class: "action-sheet-button-inner" }, b.icon && h("ion-icon", { icon: b.icon, lazy: false, class: "action-sheet-icon" }), b.text), mode === 'md' && h("ion-ripple-effect", null))))), cancelButton && (h("div", { class: "action-sheet-group action-sheet-group-cancel" }, h("button", { type: "button", class: buttonClass$1(cancelButton), onClick: () => this.buttonClick(cancelButton) }, h("span", { class: "action-sheet-button-inner" }, cancelButton.icon && h("ion-icon", { icon: cancelButton.icon, lazy: false, class: "action-sheet-icon" }), cancelButton.text), mode === 'md' && h("ion-ripple-effect", null)))))), h("div", { tabindex: "0" })));
326
317
  }
327
318
  get el() { return getElement(this); }
328
319
  };
@@ -348,14 +339,12 @@ const iosEnterAnimation$1 = (baseEl) => {
348
339
  .addElement(baseEl.querySelector('ion-backdrop'))
349
340
  .fromTo('opacity', 0.01, 'var(--backdrop-opacity)')
350
341
  .beforeStyles({
351
- 'pointer-events': 'none'
342
+ 'pointer-events': 'none',
352
343
  })
353
344
  .afterClearStyles(['pointer-events']);
354
- wrapperAnimation
355
- .addElement(baseEl.querySelector('.alert-wrapper'))
356
- .keyframes([
345
+ wrapperAnimation.addElement(baseEl.querySelector('.alert-wrapper')).keyframes([
357
346
  { offset: 0, opacity: '0.01', transform: 'scale(1.1)' },
358
- { offset: 1, opacity: '1', transform: 'scale(1)' }
347
+ { offset: 1, opacity: '1', transform: 'scale(1)' },
359
348
  ]);
360
349
  return baseAnimation
361
350
  .addElement(baseEl)
@@ -374,14 +363,10 @@ const iosLeaveAnimation$1 = (baseEl) => {
374
363
  const baseAnimation = createAnimation();
375
364
  const backdropAnimation = createAnimation();
376
365
  const wrapperAnimation = createAnimation();
377
- backdropAnimation
378
- .addElement(baseEl.querySelector('ion-backdrop'))
379
- .fromTo('opacity', 'var(--backdrop-opacity)', 0);
380
- wrapperAnimation
381
- .addElement(baseEl.querySelector('.alert-wrapper'))
382
- .keyframes([
366
+ backdropAnimation.addElement(baseEl.querySelector('ion-backdrop')).fromTo('opacity', 'var(--backdrop-opacity)', 0);
367
+ wrapperAnimation.addElement(baseEl.querySelector('.alert-wrapper')).keyframes([
383
368
  { offset: 0, opacity: 0.99, transform: 'scale(1)' },
384
- { offset: 1, opacity: 0, transform: 'scale(0.9)' }
369
+ { offset: 1, opacity: 0, transform: 'scale(0.9)' },
385
370
  ]);
386
371
  return baseAnimation
387
372
  .addElement(baseEl)
@@ -404,14 +389,12 @@ const mdEnterAnimation$1 = (baseEl) => {
404
389
  .addElement(baseEl.querySelector('ion-backdrop'))
405
390
  .fromTo('opacity', 0.01, 'var(--backdrop-opacity)')
406
391
  .beforeStyles({
407
- 'pointer-events': 'none'
392
+ 'pointer-events': 'none',
408
393
  })
409
394
  .afterClearStyles(['pointer-events']);
410
- wrapperAnimation
411
- .addElement(baseEl.querySelector('.alert-wrapper'))
412
- .keyframes([
395
+ wrapperAnimation.addElement(baseEl.querySelector('.alert-wrapper')).keyframes([
413
396
  { offset: 0, opacity: '0.01', transform: 'scale(0.9)' },
414
- { offset: 1, opacity: '1', transform: 'scale(1)' }
397
+ { offset: 1, opacity: '1', transform: 'scale(1)' },
415
398
  ]);
416
399
  return baseAnimation
417
400
  .addElement(baseEl)
@@ -430,12 +413,8 @@ const mdLeaveAnimation$1 = (baseEl) => {
430
413
  const baseAnimation = createAnimation();
431
414
  const backdropAnimation = createAnimation();
432
415
  const wrapperAnimation = createAnimation();
433
- backdropAnimation
434
- .addElement(baseEl.querySelector('ion-backdrop'))
435
- .fromTo('opacity', 'var(--backdrop-opacity)', 0);
436
- wrapperAnimation
437
- .addElement(baseEl.querySelector('.alert-wrapper'))
438
- .fromTo('opacity', 0.99, 0);
416
+ backdropAnimation.addElement(baseEl.querySelector('ion-backdrop')).fromTo('opacity', 'var(--backdrop-opacity)', 0);
417
+ wrapperAnimation.addElement(baseEl.querySelector('.alert-wrapper')).fromTo('opacity', 0.99, 0);
439
418
  return baseAnimation
440
419
  .addElement(baseEl)
441
420
  .easing('ease-in-out')
@@ -489,46 +468,42 @@ const Alert = class {
489
468
  this.dispatchCancelHandler = (ev) => {
490
469
  const role = ev.detail.role;
491
470
  if (isCancel(role)) {
492
- const cancelButton = this.processedButtons.find(b => b.role === 'cancel');
471
+ const cancelButton = this.processedButtons.find((b) => b.role === 'cancel');
493
472
  this.callButtonHandler(cancelButton);
494
473
  }
495
474
  };
496
475
  }
497
476
  onKeydown(ev) {
498
- const inputTypes = new Set(this.processedInputs.map(i => i.type));
477
+ const inputTypes = new Set(this.processedInputs.map((i) => i.type));
499
478
  // The only inputs we want to navigate between using arrow keys are the radios
500
479
  // ignore the keydown event if it is not on a radio button
501
- if (!inputTypes.has('radio')
502
- || (ev.target && !this.el.contains(ev.target))
503
- || ev.target.classList.contains('alert-button')) {
480
+ if (!inputTypes.has('radio') ||
481
+ (ev.target && !this.el.contains(ev.target)) ||
482
+ ev.target.classList.contains('alert-button')) {
504
483
  return;
505
484
  }
506
485
  // Get all radios inside of the radio group and then
507
486
  // filter out disabled radios since we need to skip those
508
487
  const query = this.el.querySelectorAll('.alert-radio');
509
- const radios = Array.from(query).filter(radio => !radio.disabled);
488
+ const radios = Array.from(query).filter((radio) => !radio.disabled);
510
489
  // The focused radio is the one that shares the same id as
511
490
  // the event target
512
- const index = radios.findIndex(radio => radio.id === ev.target.id);
491
+ const index = radios.findIndex((radio) => radio.id === ev.target.id);
513
492
  // We need to know what the next radio element should
514
493
  // be in order to change the focus
515
494
  let nextEl;
516
495
  // If hitting arrow down or arrow right, move to the next radio
517
496
  // If we're on the last radio, move to the first radio
518
497
  if (['ArrowDown', 'ArrowRight'].includes(ev.code)) {
519
- nextEl = (index === radios.length - 1)
520
- ? radios[0]
521
- : radios[index + 1];
498
+ nextEl = index === radios.length - 1 ? radios[0] : radios[index + 1];
522
499
  }
523
500
  // If hitting arrow up or arrow left, move to the previous radio
524
501
  // If we're on the first radio, move to the last radio
525
502
  if (['ArrowUp', 'ArrowLeft'].includes(ev.code)) {
526
- nextEl = (index === 0)
527
- ? radios[radios.length - 1]
528
- : radios[index - 1];
503
+ nextEl = index === 0 ? radios[radios.length - 1] : radios[index - 1];
529
504
  }
530
505
  if (nextEl && radios.includes(nextEl)) {
531
- const nextProcessed = this.processedInputs.find(input => input.id === (nextEl === null || nextEl === void 0 ? void 0 : nextEl.id));
506
+ const nextProcessed = this.processedInputs.find((input) => input.id === (nextEl === null || nextEl === void 0 ? void 0 : nextEl.id));
532
507
  if (nextProcessed) {
533
508
  this.rbClick(nextProcessed);
534
509
  nextEl.focus();
@@ -537,10 +512,8 @@ const Alert = class {
537
512
  }
538
513
  buttonsChanged() {
539
514
  const buttons = this.buttons;
540
- this.processedButtons = buttons.map(btn => {
541
- return (typeof btn === 'string')
542
- ? { text: btn, role: btn.toLowerCase() === 'cancel' ? 'cancel' : undefined }
543
- : btn;
515
+ this.processedButtons = buttons.map((btn) => {
516
+ return typeof btn === 'string' ? { text: btn, role: btn.toLowerCase() === 'cancel' ? 'cancel' : undefined } : btn;
544
517
  });
545
518
  }
546
519
  inputsChanged() {
@@ -549,14 +522,14 @@ const Alert = class {
549
522
  // If an enabled checked input exists, set it to be the focusable input
550
523
  // otherwise we default to focus the first input
551
524
  // This will only be used when the input is type radio
552
- const first = inputs.find(input => !input.disabled);
553
- const checked = inputs.find(input => input.checked && !input.disabled);
525
+ const first = inputs.find((input) => !input.disabled);
526
+ const checked = inputs.find((input) => input.checked && !input.disabled);
554
527
  const focusable = checked || first;
555
528
  // An alert can be created with several different inputs. Radios,
556
529
  // checkboxes and inputs are all accepted, but they cannot be mixed.
557
- const inputTypes = new Set(inputs.map(i => i.type));
530
+ const inputTypes = new Set(inputs.map((i) => i.type));
558
531
  if (inputTypes.has('checkbox') && inputTypes.has('radio')) {
559
- console.warn(`Alert cannot mix input types: ${(Array.from(inputTypes.values()).join('/'))}. Please see alert docs for more info.`);
532
+ console.warn(`Alert cannot mix input types: ${Array.from(inputTypes.values()).join('/')}. Please see alert docs for more info.`);
560
533
  }
561
534
  this.inputType = inputTypes.values().next().value;
562
535
  this.processedInputs = inputs.map((i, index) => ({
@@ -573,7 +546,7 @@ const Alert = class {
573
546
  max: i.max,
574
547
  cssClass: i.cssClass || '',
575
548
  attributes: i.attributes || {},
576
- tabindex: (i.type === 'radio' && i !== focusable) ? -1 : 0
549
+ tabindex: i.type === 'radio' && i !== focusable ? -1 : 0,
577
550
  }));
578
551
  }
579
552
  connectedCallback() {
@@ -659,7 +632,7 @@ const Alert = class {
659
632
  return Promise.resolve(false);
660
633
  }
661
634
  callButtonHandler(button, data) {
662
- if (button && button.handler) {
635
+ if (button === null || button === void 0 ? void 0 : button.handler) {
663
636
  // a handler has been provided, execute it
664
637
  // pass the handler the values from the inputs
665
638
  const returnData = safeCall(button.handler, data);
@@ -681,27 +654,30 @@ const Alert = class {
681
654
  if (this.inputType === 'radio') {
682
655
  // this is an alert with radio buttons (single value select)
683
656
  // return the one value which is checked, otherwise undefined
684
- const checkedInput = this.processedInputs.find(i => !!i.checked);
657
+ const checkedInput = this.processedInputs.find((i) => !!i.checked);
685
658
  return checkedInput ? checkedInput.value : undefined;
686
659
  }
687
660
  if (this.inputType === 'checkbox') {
688
661
  // this is an alert with checkboxes (multiple value select)
689
662
  // return an array of all the checked values
690
- return this.processedInputs.filter(i => i.checked).map(i => i.value);
663
+ return this.processedInputs.filter((i) => i.checked).map((i) => i.value);
691
664
  }
692
665
  // this is an alert with text inputs
693
666
  // return an object of all the values with the input name as the key
694
667
  const values = {};
695
- this.processedInputs.forEach(i => {
668
+ this.processedInputs.forEach((i) => {
696
669
  values[i.name] = i.value || '';
697
670
  });
698
671
  return values;
699
672
  }
700
673
  renderAlertInputs() {
701
674
  switch (this.inputType) {
702
- case 'checkbox': return this.renderCheckbox();
703
- case 'radio': return this.renderRadio();
704
- default: return this.renderInput();
675
+ case 'checkbox':
676
+ return this.renderCheckbox();
677
+ case 'radio':
678
+ return this.renderRadio();
679
+ default:
680
+ return this.renderInput();
705
681
  }
706
682
  }
707
683
  renderCheckbox() {
@@ -710,24 +686,24 @@ const Alert = class {
710
686
  if (inputs.length === 0) {
711
687
  return null;
712
688
  }
713
- return (h("div", { class: "alert-checkbox-group" }, inputs.map(i => (h("button", { type: "button", onClick: () => this.cbClick(i), "aria-checked": `${i.checked}`, id: i.id, disabled: i.disabled, tabIndex: i.tabindex, role: "checkbox", class: Object.assign(Object.assign({}, getClassMap(i.cssClass)), { 'alert-tappable': true, 'alert-checkbox': true, 'alert-checkbox-button': true, 'ion-focusable': true, 'alert-checkbox-button-disabled': i.disabled || false }) }, h("div", { class: "alert-button-inner" }, h("div", { class: "alert-checkbox-icon" }, h("div", { class: "alert-checkbox-inner" })), h("div", { class: "alert-checkbox-label" }, i.label)), mode === 'md' && h("ion-ripple-effect", null))))));
689
+ return (h("div", { class: "alert-checkbox-group" }, inputs.map((i) => (h("button", { type: "button", onClick: () => this.cbClick(i), "aria-checked": `${i.checked}`, id: i.id, disabled: i.disabled, tabIndex: i.tabindex, role: "checkbox", class: Object.assign(Object.assign({}, getClassMap(i.cssClass)), { 'alert-tappable': true, 'alert-checkbox': true, 'alert-checkbox-button': true, 'ion-focusable': true, 'alert-checkbox-button-disabled': i.disabled || false }) }, h("div", { class: "alert-button-inner" }, h("div", { class: "alert-checkbox-icon" }, h("div", { class: "alert-checkbox-inner" })), h("div", { class: "alert-checkbox-label" }, i.label)), mode === 'md' && h("ion-ripple-effect", null))))));
714
690
  }
715
691
  renderRadio() {
716
692
  const inputs = this.processedInputs;
717
693
  if (inputs.length === 0) {
718
694
  return null;
719
695
  }
720
- return (h("div", { class: "alert-radio-group", role: "radiogroup", "aria-activedescendant": this.activeId }, inputs.map(i => (h("button", { type: "button", onClick: () => this.rbClick(i), "aria-checked": `${i.checked}`, disabled: i.disabled, id: i.id, tabIndex: i.tabindex, class: Object.assign(Object.assign({}, getClassMap(i.cssClass)), { 'alert-radio-button': true, 'alert-tappable': true, 'alert-radio': true, 'ion-focusable': true, 'alert-radio-button-disabled': i.disabled || false }), role: "radio" }, h("div", { class: "alert-button-inner" }, h("div", { class: "alert-radio-icon" }, h("div", { class: "alert-radio-inner" })), h("div", { class: "alert-radio-label" }, i.label)))))));
696
+ return (h("div", { class: "alert-radio-group", role: "radiogroup", "aria-activedescendant": this.activeId }, inputs.map((i) => (h("button", { type: "button", onClick: () => this.rbClick(i), "aria-checked": `${i.checked}`, disabled: i.disabled, id: i.id, tabIndex: i.tabindex, class: Object.assign(Object.assign({}, getClassMap(i.cssClass)), { 'alert-radio-button': true, 'alert-tappable': true, 'alert-radio': true, 'ion-focusable': true, 'alert-radio-button-disabled': i.disabled || false }), role: "radio" }, h("div", { class: "alert-button-inner" }, h("div", { class: "alert-radio-icon" }, h("div", { class: "alert-radio-inner" })), h("div", { class: "alert-radio-label" }, i.label)))))));
721
697
  }
722
698
  renderInput() {
723
699
  const inputs = this.processedInputs;
724
700
  if (inputs.length === 0) {
725
701
  return null;
726
702
  }
727
- return (h("div", { class: "alert-input-group" }, inputs.map(i => {
703
+ return (h("div", { class: "alert-input-group" }, inputs.map((i) => {
728
704
  var _a, _b, _c, _d;
729
705
  if (i.type === 'textarea') {
730
- return (h("div", { class: "alert-input-wrapper" }, h("textarea", Object.assign({ placeholder: i.placeholder, value: i.value, id: i.id, tabIndex: i.tabindex }, i.attributes, { disabled: (_b = (_a = i.attributes) === null || _a === void 0 ? void 0 : _a.disabled) !== null && _b !== void 0 ? _b : i.disabled, class: inputClass(i), onInput: e => {
706
+ return (h("div", { class: "alert-input-wrapper" }, h("textarea", Object.assign({ placeholder: i.placeholder, value: i.value, id: i.id, tabIndex: i.tabindex }, i.attributes, { disabled: (_b = (_a = i.attributes) === null || _a === void 0 ? void 0 : _a.disabled) !== null && _b !== void 0 ? _b : i.disabled, class: inputClass(i), onInput: (e) => {
731
707
  var _a;
732
708
  i.value = e.target.value;
733
709
  if ((_a = i.attributes) === null || _a === void 0 ? void 0 : _a.onInput) {
@@ -736,7 +712,7 @@ const Alert = class {
736
712
  } }))));
737
713
  }
738
714
  else {
739
- return (h("div", { class: "alert-input-wrapper" }, h("input", Object.assign({ placeholder: i.placeholder, type: i.type, min: i.min, max: i.max, value: i.value, id: i.id, tabIndex: i.tabindex }, i.attributes, { disabled: (_d = (_c = i.attributes) === null || _c === void 0 ? void 0 : _c.disabled) !== null && _d !== void 0 ? _d : i.disabled, class: inputClass(i), onInput: e => {
715
+ return (h("div", { class: "alert-input-wrapper" }, h("input", Object.assign({ placeholder: i.placeholder, type: i.type, min: i.min, max: i.max, value: i.value, id: i.id, tabIndex: i.tabindex }, i.attributes, { disabled: (_d = (_c = i.attributes) === null || _c === void 0 ? void 0 : _c.disabled) !== null && _d !== void 0 ? _d : i.disabled, class: inputClass(i), onInput: (e) => {
740
716
  var _a;
741
717
  i.value = e.target.value;
742
718
  if ((_a = i.attributes) === null || _a === void 0 ? void 0 : _a.onInput) {
@@ -751,9 +727,9 @@ const Alert = class {
751
727
  const mode = getIonMode(this);
752
728
  const alertButtonGroupClass = {
753
729
  'alert-button-group': true,
754
- 'alert-button-group-vertical': buttons.length > 2
730
+ 'alert-button-group-vertical': buttons.length > 2,
755
731
  };
756
- return (h("div", { class: alertButtonGroupClass }, buttons.map(button => h("button", { type: "button", id: button.id, class: buttonClass(button), tabIndex: 0, onClick: () => this.buttonClick(button) }, h("span", { class: "alert-button-inner" }, button.text), mode === 'md' && h("ion-ripple-effect", null)))));
732
+ return (h("div", { class: alertButtonGroupClass }, buttons.map((button) => (h("button", { type: "button", id: button.id, class: buttonClass(button), tabIndex: 0, onClick: () => this.buttonClick(button) }, h("span", { class: "alert-button-inner" }, button.text), mode === 'md' && h("ion-ripple-effect", null))))));
757
733
  }
758
734
  render() {
759
735
  const { overlayIndex, header, subHeader, htmlAttributes } = this;
@@ -764,7 +740,7 @@ const Alert = class {
764
740
  const role = this.inputs.length > 0 || this.buttons.length > 0 ? 'alertdialog' : 'alert';
765
741
  return (h(Host, Object.assign({ role: role, "aria-modal": "true", tabindex: "-1" }, htmlAttributes, { style: {
766
742
  zIndex: `${20000 + overlayIndex}`,
767
- }, class: Object.assign(Object.assign({}, getClassMap(this.cssClass)), { [mode]: true, 'overlay-hidden': true, 'alert-translucent': this.translucent }), onIonAlertWillDismiss: this.dispatchCancelHandler, onIonBackdropTap: this.onBackdropTap }), h("ion-backdrop", { tappable: this.backdropDismiss }), h("div", { tabindex: "0" }), h("div", { class: "alert-wrapper ion-overlay-wrapper", ref: el => this.wrapperEl = el }, h("div", { class: "alert-head" }, header && h("h2", { id: hdrId, class: "alert-title" }, header), subHeader && h("h2", { id: subHdrId, class: "alert-sub-title" }, subHeader)), h("div", { id: msgId, class: "alert-message", innerHTML: sanitizeDOMString(this.message) }), this.renderAlertInputs(), this.renderAlertButtons()), h("div", { tabindex: "0" })));
743
+ }, class: Object.assign(Object.assign({}, getClassMap(this.cssClass)), { [mode]: true, 'overlay-hidden': true, 'alert-translucent': this.translucent }), onIonAlertWillDismiss: this.dispatchCancelHandler, onIonBackdropTap: this.onBackdropTap }), h("ion-backdrop", { tappable: this.backdropDismiss }), h("div", { tabindex: "0" }), h("div", { class: "alert-wrapper ion-overlay-wrapper", ref: (el) => (this.wrapperEl = el) }, h("div", { class: "alert-head" }, header && (h("h2", { id: hdrId, class: "alert-title" }, header)), subHeader && (h("h2", { id: subHdrId, class: "alert-sub-title" }, subHeader))), h("div", { id: msgId, class: "alert-message", innerHTML: sanitizeDOMString(this.message) }), this.renderAlertInputs(), this.renderAlertButtons()), h("div", { tabindex: "0" })));
768
744
  }
769
745
  get el() { return getElement(this); }
770
746
  static get watchers() { return {
@@ -814,7 +790,7 @@ const getPopoverDimensions = (size, contentEl, triggerEl) => {
814
790
  }
815
791
  return {
816
792
  contentWidth,
817
- contentHeight
793
+ contentHeight,
818
794
  };
819
795
  };
820
796
  const configureDismissInteraction = (triggerEl, triggerAction, popoverEl, parentPopoverEl) => {
@@ -847,8 +823,8 @@ const configureDismissInteraction = (triggerEl, triggerAction, popoverEl, parent
847
823
  return;
848
824
  }
849
825
  popoverEl.dismiss(undefined, undefined, false);
850
- }
851
- }
826
+ },
827
+ },
852
828
  ];
853
829
  break;
854
830
  case 'context-menu':
@@ -875,8 +851,8 @@ const configureDismissInteraction = (triggerEl, triggerAction, popoverEl, parent
875
851
  return;
876
852
  }
877
853
  popoverEl.dismiss(undefined, undefined, false);
878
- }
879
- }
854
+ },
855
+ },
880
856
  ];
881
857
  break;
882
858
  }
@@ -918,7 +894,7 @@ const configureTriggerInteraction = (triggerEl, triggerAction, popoverEl) => {
918
894
  hoverTimeout = undefined;
919
895
  });
920
896
  }, 100);
921
- }
897
+ },
922
898
  },
923
899
  {
924
900
  eventName: 'mouseleave',
@@ -938,7 +914,7 @@ const configureTriggerInteraction = (triggerEl, triggerAction, popoverEl) => {
938
914
  if (target.closest('ion-popover') !== popoverEl) {
939
915
  popoverEl.dismiss(undefined, undefined, false);
940
916
  }
941
- }
917
+ },
942
918
  },
943
919
  {
944
920
  /**
@@ -946,12 +922,12 @@ const configureTriggerInteraction = (triggerEl, triggerAction, popoverEl) => {
946
922
  * from dismissing when dismiss-on-select="true".
947
923
  */
948
924
  eventName: 'click',
949
- callback: (ev) => ev.stopPropagation()
925
+ callback: (ev) => ev.stopPropagation(),
950
926
  },
951
927
  {
952
928
  eventName: 'ionPopoverActivateTrigger',
953
- callback: (ev) => popoverEl.presentFromTrigger(ev, true)
954
- }
929
+ callback: (ev) => popoverEl.presentFromTrigger(ev, true),
930
+ },
955
931
  ];
956
932
  break;
957
933
  case 'context-menu':
@@ -965,16 +941,16 @@ const configureTriggerInteraction = (triggerEl, triggerAction, popoverEl) => {
965
941
  */
966
942
  ev.preventDefault();
967
943
  popoverEl.presentFromTrigger(ev);
968
- }
944
+ },
969
945
  },
970
946
  {
971
947
  eventName: 'click',
972
- callback: (ev) => ev.stopPropagation()
948
+ callback: (ev) => ev.stopPropagation(),
973
949
  },
974
950
  {
975
951
  eventName: 'ionPopoverActivateTrigger',
976
- callback: (ev) => popoverEl.presentFromTrigger(ev, true)
977
- }
952
+ callback: (ev) => popoverEl.presentFromTrigger(ev, true),
953
+ },
978
954
  ];
979
955
  break;
980
956
  case 'click':
@@ -989,12 +965,12 @@ const configureTriggerInteraction = (triggerEl, triggerAction, popoverEl) => {
989
965
  * the first popover to dismiss.
990
966
  */
991
967
  eventName: 'click',
992
- callback: (ev) => popoverEl.presentFromTrigger(ev)
968
+ callback: (ev) => popoverEl.presentFromTrigger(ev),
993
969
  },
994
970
  {
995
971
  eventName: 'ionPopoverActivateTrigger',
996
- callback: (ev) => popoverEl.presentFromTrigger(ev, true)
997
- }
972
+ callback: (ev) => popoverEl.presentFromTrigger(ev, true),
973
+ },
998
974
  ];
999
975
  break;
1000
976
  }
@@ -1012,7 +988,7 @@ const getIndexOfItem = (items, item) => {
1012
988
  if (!item || item.tagName !== 'ION-ITEM') {
1013
989
  return -1;
1014
990
  }
1015
- return items.findIndex(el => el === item);
991
+ return items.findIndex((el) => el === item);
1016
992
  };
1017
993
  /**
1018
994
  * Given an array of elements and a currently focused ion-item
@@ -1047,8 +1023,17 @@ const focusItem = (item) => {
1047
1023
  const isTriggerElement = (el) => el.hasAttribute('data-ion-popover-trigger');
1048
1024
  const configureKeyboardInteraction = (popoverEl) => {
1049
1025
  const callback = async (ev) => {
1026
+ var _a;
1050
1027
  const activeElement = document.activeElement;
1051
1028
  let items = [];
1029
+ const targetTagName = (_a = ev.target) === null || _a === void 0 ? void 0 : _a.tagName;
1030
+ /**
1031
+ * Only handle custom keyboard interactions for the host popover element
1032
+ * and children ion-item elements.
1033
+ */
1034
+ if (targetTagName !== 'ION-POPOVER' && targetTagName !== 'ION-ITEM') {
1035
+ return;
1036
+ }
1052
1037
  /**
1053
1038
  * Complex selectors with :not() are :not supported
1054
1039
  * in older versions of Chromium so we need to do a
@@ -1060,9 +1045,9 @@ const configureKeyboardInteraction = (popoverEl) => {
1060
1045
  * i.e. only select ion-item elements that are part of this popover
1061
1046
  */
1062
1047
  items = Array.from(popoverEl.querySelectorAll('ion-item:not(ion-popover ion-popover *):not([disabled])'));
1063
- /* tslint:disable-next-line */
1048
+ /* eslint-disable-next-line */
1064
1049
  }
1065
- catch (_a) { }
1050
+ catch (_b) { }
1066
1051
  switch (ev.key) {
1067
1052
  /**
1068
1053
  * If we are in a child popover
@@ -1084,7 +1069,6 @@ const configureKeyboardInteraction = (popoverEl) => {
1084
1069
  // Disable movement/scroll with keyboard
1085
1070
  ev.preventDefault();
1086
1071
  const nextItem = getNextItem(items, activeElement);
1087
- // tslint:disable-next-line:strict-type-predicates
1088
1072
  if (nextItem !== undefined) {
1089
1073
  focusItem(nextItem);
1090
1074
  }
@@ -1096,7 +1080,6 @@ const configureKeyboardInteraction = (popoverEl) => {
1096
1080
  // Disable movement/scroll with keyboard
1097
1081
  ev.preventDefault();
1098
1082
  const prevItem = getPrevItem(items, activeElement);
1099
- // tslint:disable-next-line:strict-type-predicates
1100
1083
  if (prevItem !== undefined) {
1101
1084
  focusItem(prevItem);
1102
1085
  }
@@ -1107,7 +1090,6 @@ const configureKeyboardInteraction = (popoverEl) => {
1107
1090
  case 'Home':
1108
1091
  ev.preventDefault();
1109
1092
  const firstItem = items[0];
1110
- // tslint:disable-next-line:strict-type-predicates
1111
1093
  if (firstItem !== undefined) {
1112
1094
  focusItem(firstItem);
1113
1095
  }
@@ -1118,7 +1100,6 @@ const configureKeyboardInteraction = (popoverEl) => {
1118
1100
  case 'End':
1119
1101
  ev.preventDefault();
1120
1102
  const lastItem = items[items.length - 1];
1121
- // tslint:disable-next-line:strict-type-predicates
1122
1103
  if (lastItem !== undefined) {
1123
1104
  focusItem(lastItem);
1124
1105
  }
@@ -1152,7 +1133,7 @@ const getPopoverPosition = (isRTL, contentWidth, contentHeight, arrowWidth, arro
1152
1133
  top: 0,
1153
1134
  left: 0,
1154
1135
  width: 0,
1155
- height: 0
1136
+ height: 0,
1156
1137
  };
1157
1138
  /**
1158
1139
  * Calculate position relative to the
@@ -1169,7 +1150,7 @@ const getPopoverPosition = (isRTL, contentWidth, contentHeight, arrowWidth, arro
1169
1150
  top: mouseEv.clientY,
1170
1151
  left: mouseEv.clientX,
1171
1152
  width: 1,
1172
- height: 1
1153
+ height: 1,
1173
1154
  };
1174
1155
  break;
1175
1156
  /**
@@ -1191,7 +1172,9 @@ const getPopoverPosition = (isRTL, contentWidth, contentHeight, arrowWidth, arro
1191
1172
  * to the indicator rather than `ion-breadcrumb`
1192
1173
  * as a whole.
1193
1174
  */
1194
- const actualTriggerEl = (triggerEl || ((_a = customEv === null || customEv === void 0 ? void 0 : customEv.detail) === null || _a === void 0 ? void 0 : _a.ionShadowTarget) || (customEv === null || customEv === void 0 ? void 0 : customEv.target));
1175
+ const actualTriggerEl = (triggerEl ||
1176
+ ((_a = customEv === null || customEv === void 0 ? void 0 : customEv.detail) === null || _a === void 0 ? void 0 : _a.ionShadowTarget) ||
1177
+ (customEv === null || customEv === void 0 ? void 0 : customEv.target));
1195
1178
  if (!actualTriggerEl) {
1196
1179
  return defaultPosition;
1197
1180
  }
@@ -1200,7 +1183,7 @@ const getPopoverPosition = (isRTL, contentWidth, contentHeight, arrowWidth, arro
1200
1183
  top: triggerBoundingBox.top,
1201
1184
  left: triggerBoundingBox.left,
1202
1185
  width: triggerBoundingBox.width,
1203
- height: triggerBoundingBox.height
1186
+ height: triggerBoundingBox.height,
1204
1187
  };
1205
1188
  break;
1206
1189
  }
@@ -1240,9 +1223,9 @@ const calculatePopoverOrigin = (side, align, isRTL) => {
1240
1223
  case 'right':
1241
1224
  return { originX: 'left', originY: getOriginYAlignment(align) };
1242
1225
  case 'start':
1243
- return { originX: (isRTL) ? 'left' : 'right', originY: getOriginYAlignment(align) };
1226
+ return { originX: isRTL ? 'left' : 'right', originY: getOriginYAlignment(align) };
1244
1227
  case 'end':
1245
- return { originX: (isRTL) ? 'right' : 'left', originY: getOriginYAlignment(align) };
1228
+ return { originX: isRTL ? 'right' : 'left', originY: getOriginYAlignment(align) };
1246
1229
  }
1247
1230
  };
1248
1231
  const getOriginXAlignment = (align) => {
@@ -1275,26 +1258,29 @@ const calculateArrowPosition = (side, arrowWidth, arrowHeight, top, left, conten
1275
1258
  * been rotated using a `transform`, so to move the arrow up or down
1276
1259
  * by its dimension, you need to use `arrowWidth`.
1277
1260
  */
1278
- const leftPosition = { arrowTop: top + (contentHeight / 2) - (arrowWidth / 2), arrowLeft: left + contentWidth - (arrowWidth / 2) };
1261
+ const leftPosition = {
1262
+ arrowTop: top + contentHeight / 2 - arrowWidth / 2,
1263
+ arrowLeft: left + contentWidth - arrowWidth / 2,
1264
+ };
1279
1265
  /**
1280
1266
  * Move the arrow to the left by arrowWidth and then
1281
1267
  * again by half of its width because we have rotated
1282
1268
  * the arrow using a transform.
1283
1269
  */
1284
- const rightPosition = { arrowTop: top + (contentHeight / 2) - (arrowWidth / 2), arrowLeft: left - (arrowWidth * 1.5) };
1270
+ const rightPosition = { arrowTop: top + contentHeight / 2 - arrowWidth / 2, arrowLeft: left - arrowWidth * 1.5 };
1285
1271
  switch (side) {
1286
1272
  case 'top':
1287
- return { arrowTop: top + contentHeight, arrowLeft: left + (contentWidth / 2) - (arrowWidth / 2) };
1273
+ return { arrowTop: top + contentHeight, arrowLeft: left + contentWidth / 2 - arrowWidth / 2 };
1288
1274
  case 'bottom':
1289
- return { arrowTop: top - arrowHeight, arrowLeft: left + (contentWidth / 2) - (arrowWidth / 2) };
1275
+ return { arrowTop: top - arrowHeight, arrowLeft: left + contentWidth / 2 - arrowWidth / 2 };
1290
1276
  case 'left':
1291
1277
  return leftPosition;
1292
1278
  case 'right':
1293
1279
  return rightPosition;
1294
1280
  case 'start':
1295
- return (isRTL) ? rightPosition : leftPosition;
1281
+ return isRTL ? rightPosition : leftPosition;
1296
1282
  case 'end':
1297
- return (isRTL) ? leftPosition : rightPosition;
1283
+ return isRTL ? leftPosition : rightPosition;
1298
1284
  default:
1299
1285
  return { arrowTop: 0, arrowLeft: 0 };
1300
1286
  }
@@ -1308,31 +1294,31 @@ const calculateArrowPosition = (side, arrowWidth, arrowHeight, top, left, conten
1308
1294
  const calculatePopoverSide = (side, triggerBoundingBox, contentWidth, contentHeight, arrowWidth, arrowHeight, isRTL) => {
1309
1295
  const sideLeft = {
1310
1296
  top: triggerBoundingBox.top,
1311
- left: triggerBoundingBox.left - contentWidth - arrowWidth
1297
+ left: triggerBoundingBox.left - contentWidth - arrowWidth,
1312
1298
  };
1313
1299
  const sideRight = {
1314
1300
  top: triggerBoundingBox.top,
1315
- left: triggerBoundingBox.left + triggerBoundingBox.width + arrowWidth
1301
+ left: triggerBoundingBox.left + triggerBoundingBox.width + arrowWidth,
1316
1302
  };
1317
1303
  switch (side) {
1318
1304
  case 'top':
1319
1305
  return {
1320
1306
  top: triggerBoundingBox.top - contentHeight - arrowHeight,
1321
- left: triggerBoundingBox.left
1307
+ left: triggerBoundingBox.left,
1322
1308
  };
1323
1309
  case 'right':
1324
1310
  return sideRight;
1325
1311
  case 'bottom':
1326
1312
  return {
1327
1313
  top: triggerBoundingBox.top + triggerBoundingBox.height + arrowHeight,
1328
- left: triggerBoundingBox.left
1314
+ left: triggerBoundingBox.left,
1329
1315
  };
1330
1316
  case 'left':
1331
1317
  return sideLeft;
1332
1318
  case 'start':
1333
- return (isRTL) ? sideRight : sideLeft;
1319
+ return isRTL ? sideRight : sideLeft;
1334
1320
  case 'end':
1335
- return (isRTL) ? sideLeft : sideRight;
1321
+ return isRTL ? sideLeft : sideRight;
1336
1322
  }
1337
1323
  };
1338
1324
  /**
@@ -1369,14 +1355,14 @@ const calculatePopoverEndAlign = (side, triggerBoundingBox, contentWidth, conten
1369
1355
  case 'right':
1370
1356
  return {
1371
1357
  top: -(contentHeight - triggerBoundingBox.height),
1372
- left: 0
1358
+ left: 0,
1373
1359
  };
1374
1360
  case 'top':
1375
1361
  case 'bottom':
1376
1362
  default:
1377
1363
  return {
1378
1364
  top: 0,
1379
- left: -(contentWidth - triggerBoundingBox.width)
1365
+ left: -(contentWidth - triggerBoundingBox.width),
1380
1366
  };
1381
1367
  }
1382
1368
  };
@@ -1396,15 +1382,15 @@ const calculatePopoverCenterAlign = (side, triggerBoundingBox, contentWidth, con
1396
1382
  case 'left':
1397
1383
  case 'right':
1398
1384
  return {
1399
- top: -((contentHeight / 2) - (triggerBoundingBox.height / 2)),
1400
- left: 0
1385
+ top: -(contentHeight / 2 - triggerBoundingBox.height / 2),
1386
+ left: 0,
1401
1387
  };
1402
1388
  case 'top':
1403
1389
  case 'bottom':
1404
1390
  default:
1405
1391
  return {
1406
1392
  top: 0,
1407
- left: -((contentWidth / 2) - (triggerBoundingBox.width / 2))
1393
+ left: -(contentWidth / 2 - triggerBoundingBox.width / 2),
1408
1394
  };
1409
1395
  }
1410
1396
  };
@@ -1423,7 +1409,9 @@ const calculateWindowAdjustment = (side, coordTop, coordLeft, bodyPadding, bodyW
1423
1409
  let originY = contentOriginY;
1424
1410
  let checkSafeAreaLeft = false;
1425
1411
  let checkSafeAreaRight = false;
1426
- const triggerTop = triggerCoordinates ? triggerCoordinates.top + triggerCoordinates.height : bodyHeight / 2 - contentHeight / 2;
1412
+ const triggerTop = triggerCoordinates
1413
+ ? triggerCoordinates.top + triggerCoordinates.height
1414
+ : bodyHeight / 2 - contentHeight / 2;
1427
1415
  const triggerHeight = triggerCoordinates ? triggerCoordinates.height : 0;
1428
1416
  let addPopoverBottomClass = false;
1429
1417
  /**
@@ -1451,10 +1439,19 @@ const calculateWindowAdjustment = (side, coordTop, coordLeft, bodyPadding, bodyW
1451
1439
  * the trigger, then we should not adjust top
1452
1440
  * margins.
1453
1441
  */
1454
- if (triggerTop + triggerHeight + contentHeight > bodyHeight &&
1455
- (side === 'top' || side === 'bottom')) {
1442
+ if (triggerTop + triggerHeight + contentHeight > bodyHeight && (side === 'top' || side === 'bottom')) {
1456
1443
  if (triggerTop - contentHeight > 0) {
1457
- top = triggerTop - contentHeight - triggerHeight - (arrowHeight - 1);
1444
+ /**
1445
+ * While we strive to align the popover with the trigger
1446
+ * on smaller screens this is not always possible. As a result,
1447
+ * we adjust the popover up so that it does not hang
1448
+ * off the bottom of the screen. However, we do not want to move
1449
+ * the popover up so much that it goes off the top of the screen.
1450
+ *
1451
+ * We chose 12 here so that the popover position looks a bit nicer as
1452
+ * it is not right up against the edge of the screen.
1453
+ */
1454
+ top = Math.max(12, triggerTop - contentHeight - triggerHeight - (arrowHeight - 1));
1458
1455
  arrowTop = top + contentHeight;
1459
1456
  originY = 'bottom';
1460
1457
  addPopoverBottomClass = true;
@@ -1467,7 +1464,18 @@ const calculateWindowAdjustment = (side, coordTop, coordLeft, bodyPadding, bodyW
1467
1464
  bottom = bodyPadding;
1468
1465
  }
1469
1466
  }
1470
- return { top, left, bottom, originX, originY, checkSafeAreaLeft, checkSafeAreaRight, arrowTop, arrowLeft, addPopoverBottomClass };
1467
+ return {
1468
+ top,
1469
+ left,
1470
+ bottom,
1471
+ originX,
1472
+ originY,
1473
+ checkSafeAreaLeft,
1474
+ checkSafeAreaRight,
1475
+ arrowTop,
1476
+ arrowLeft,
1477
+ addPopoverBottomClass,
1478
+ };
1471
1479
  };
1472
1480
  const shouldShowArrow = (side, didAdjustBounds = false, ev, trigger) => {
1473
1481
  /**
@@ -1519,12 +1527,12 @@ const iosEnterAnimation = (baseEl, opts) => {
1519
1527
  top: bodyHeight / 2 - contentHeight / 2,
1520
1528
  left: bodyWidth / 2 - contentWidth / 2,
1521
1529
  originX: isRTL ? 'right' : 'left',
1522
- originY: 'top'
1530
+ originY: 'top',
1523
1531
  };
1524
1532
  const results = getPopoverPosition(isRTL, contentWidth, contentHeight, arrowWidth, arrowHeight, reference, side, align, defaultPosition, trigger, ev);
1525
1533
  const padding = size === 'cover' ? 0 : POPOVER_IOS_BODY_PADDING;
1526
1534
  const margin = size === 'cover' ? 0 : 25;
1527
- 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);
1535
+ 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);
1528
1536
  const baseAnimation = createAnimation();
1529
1537
  const backdropAnimation = createAnimation();
1530
1538
  const wrapperAnimation = createAnimation();
@@ -1532,12 +1540,10 @@ const iosEnterAnimation = (baseEl, opts) => {
1532
1540
  .addElement(root.querySelector('ion-backdrop'))
1533
1541
  .fromTo('opacity', 0.01, 'var(--backdrop-opacity)')
1534
1542
  .beforeStyles({
1535
- 'pointer-events': 'none'
1543
+ 'pointer-events': 'none',
1536
1544
  })
1537
1545
  .afterClearStyles(['pointer-events']);
1538
- wrapperAnimation
1539
- .addElement(root.querySelector('.popover-wrapper'))
1540
- .fromTo('opacity', 0.01, 1);
1546
+ wrapperAnimation.addElement(root.querySelector('.popover-wrapper')).fromTo('opacity', 0.01, 1);
1541
1547
  return baseAnimation
1542
1548
  .easing('ease')
1543
1549
  .duration(100)
@@ -1591,12 +1597,8 @@ const iosLeaveAnimation = (baseEl) => {
1591
1597
  const baseAnimation = createAnimation();
1592
1598
  const backdropAnimation = createAnimation();
1593
1599
  const wrapperAnimation = createAnimation();
1594
- backdropAnimation
1595
- .addElement(root.querySelector('ion-backdrop'))
1596
- .fromTo('opacity', 'var(--backdrop-opacity)', 0);
1597
- wrapperAnimation
1598
- .addElement(root.querySelector('.popover-wrapper'))
1599
- .fromTo('opacity', 0.99, 0);
1600
+ backdropAnimation.addElement(root.querySelector('ion-backdrop')).fromTo('opacity', 'var(--backdrop-opacity)', 0);
1601
+ wrapperAnimation.addElement(root.querySelector('.popover-wrapper')).fromTo('opacity', 0.99, 0);
1600
1602
  return baseAnimation
1601
1603
  .easing('ease')
1602
1604
  .afterAddWrite(() => {
@@ -1638,7 +1640,7 @@ const mdEnterAnimation = (baseEl, opts) => {
1638
1640
  top: bodyHeight / 2 - contentHeight / 2,
1639
1641
  left: bodyWidth / 2 - contentWidth / 2,
1640
1642
  originX: isRTL ? 'right' : 'left',
1641
- originY: 'top'
1643
+ originY: 'top',
1642
1644
  };
1643
1645
  const results = getPopoverPosition(isRTL, contentWidth, contentHeight, 0, 0, reference, side, align, defaultPosition, trigger, ev);
1644
1646
  const padding = size === 'cover' ? 0 : POPOVER_MD_BODY_PADDING;
@@ -1652,19 +1654,16 @@ const mdEnterAnimation = (baseEl, opts) => {
1652
1654
  .addElement(root.querySelector('ion-backdrop'))
1653
1655
  .fromTo('opacity', 0.01, 'var(--backdrop-opacity)')
1654
1656
  .beforeStyles({
1655
- 'pointer-events': 'none'
1657
+ 'pointer-events': 'none',
1656
1658
  })
1657
1659
  .afterClearStyles(['pointer-events']);
1658
- wrapperAnimation
1659
- .addElement(root.querySelector('.popover-wrapper'))
1660
- .duration(150)
1661
- .fromTo('opacity', 0.01, 1);
1660
+ wrapperAnimation.addElement(root.querySelector('.popover-wrapper')).duration(150).fromTo('opacity', 0.01, 1);
1662
1661
  contentAnimation
1663
1662
  .addElement(contentEl)
1664
1663
  .beforeStyles({
1665
- 'top': `calc(${top}px + var(--offset-y, 0px))`,
1666
- 'left': `calc(${left}px + var(--offset-x, 0px))`,
1667
- 'transform-origin': `${originY} ${originX}`
1664
+ top: `calc(${top}px + var(--offset-y, 0px))`,
1665
+ left: `calc(${left}px + var(--offset-x, 0px))`,
1666
+ 'transform-origin': `${originY} ${originX}`,
1668
1667
  })
1669
1668
  .beforeAddWrite(() => {
1670
1669
  if (bottom !== undefined) {
@@ -1672,9 +1671,7 @@ const mdEnterAnimation = (baseEl, opts) => {
1672
1671
  }
1673
1672
  })
1674
1673
  .fromTo('transform', 'scale(0.8)', 'scale(1)');
1675
- viewportAnimation
1676
- .addElement(root.querySelector('.popover-viewport'))
1677
- .fromTo('opacity', 0.01, 1);
1674
+ viewportAnimation.addElement(root.querySelector('.popover-viewport')).fromTo('opacity', 0.01, 1);
1678
1675
  return baseAnimation
1679
1676
  .easing('cubic-bezier(0.36,0.66,0.04,1)')
1680
1677
  .duration(300)
@@ -1701,12 +1698,8 @@ const mdLeaveAnimation = (baseEl) => {
1701
1698
  const baseAnimation = createAnimation();
1702
1699
  const backdropAnimation = createAnimation();
1703
1700
  const wrapperAnimation = createAnimation();
1704
- backdropAnimation
1705
- .addElement(root.querySelector('ion-backdrop'))
1706
- .fromTo('opacity', 'var(--backdrop-opacity)', 0);
1707
- wrapperAnimation
1708
- .addElement(root.querySelector('.popover-wrapper'))
1709
- .fromTo('opacity', 0.99, 0);
1701
+ backdropAnimation.addElement(root.querySelector('ion-backdrop')).fromTo('opacity', 'var(--backdrop-opacity)', 0);
1702
+ wrapperAnimation.addElement(root.querySelector('.popover-wrapper')).fromTo('opacity', 0.99, 0);
1710
1703
  return baseAnimation
1711
1704
  .easing('ease')
1712
1705
  .afterAddWrite(() => {
@@ -1754,6 +1747,10 @@ const Popover = class {
1754
1747
  this.backdropDismiss = true;
1755
1748
  /**
1756
1749
  * If `true`, a backdrop will be displayed behind the popover.
1750
+ * This property controls whether or not the backdrop
1751
+ * darkens the screen when the popover is presented.
1752
+ * It does not control whether or not the backdrop
1753
+ * is active or present in the DOM.
1757
1754
  */
1758
1755
  this.showBackdrop = true;
1759
1756
  /**
@@ -1806,9 +1803,8 @@ const Popover = class {
1806
1803
  */
1807
1804
  this.side = 'bottom';
1808
1805
  /**
1809
- * If `true`, the popover will display an arrow
1810
- * that points at the `reference` when running in `ios` mode
1811
- * on mobile. Does not apply in `md` mode or on desktop.
1806
+ * If `true`, the popover will display an arrow that points at the
1807
+ * `reference` when running in `ios` mode. Does not apply in `md` mode.
1812
1808
  */
1813
1809
  this.arrow = true;
1814
1810
  /**
@@ -1831,11 +1827,18 @@ const Popover = class {
1831
1827
  * behavior in a popover using a list of items.
1832
1828
  */
1833
1829
  this.keyboardEvents = false;
1834
- this.onDismiss = (ev) => {
1835
- ev.stopPropagation();
1836
- ev.preventDefault();
1837
- this.dismiss();
1838
- };
1830
+ /**
1831
+ * If `true`, the component passed into `ion-popover` will
1832
+ * automatically be mounted when the popover is created. The
1833
+ * component will remain mounted even when the popover is dismissed.
1834
+ * However, the component will be destroyed when the popover is
1835
+ * destroyed. This property is not reactive and should only be
1836
+ * used when initially creating a popover.
1837
+ *
1838
+ * Note: This feature only applies to inline popovers in JavaScript
1839
+ * frameworks such as Angular, React, and Vue.
1840
+ */
1841
+ this.keepContentsMounted = false;
1839
1842
  this.onBackdropTap = () => {
1840
1843
  this.dismiss(undefined, BACKDROP);
1841
1844
  };
@@ -1846,7 +1849,7 @@ const Popover = class {
1846
1849
  const event = new CustomEvent(name, {
1847
1850
  bubbles: false,
1848
1851
  cancelable: false,
1849
- detail: modalEvent.detail
1852
+ detail: modalEvent.detail,
1850
1853
  });
1851
1854
  el.dispatchEvent(event);
1852
1855
  }
@@ -1856,7 +1859,7 @@ const Popover = class {
1856
1859
  if (destroyTriggerInteraction) {
1857
1860
  destroyTriggerInteraction();
1858
1861
  }
1859
- const triggerEl = this.triggerEl = (trigger !== undefined) ? document.getElementById(trigger) : null;
1862
+ const triggerEl = (this.triggerEl = trigger !== undefined ? document.getElementById(trigger) : null);
1860
1863
  if (!triggerEl) {
1861
1864
  return;
1862
1865
  }
@@ -1899,7 +1902,7 @@ const Popover = class {
1899
1902
  * If user has custom ID set then we should
1900
1903
  * not assign the default incrementing ID.
1901
1904
  */
1902
- this.popoverId = (this.el.hasAttribute('id')) ? this.el.getAttribute('id') : `ion-popover-${this.popoverIndex}`;
1905
+ this.popoverId = this.el.hasAttribute('id') ? this.el.getAttribute('id') : `ion-popover-${this.popoverIndex}`;
1903
1906
  this.parentPopover = this.el.closest(`ion-popover:not(#${this.popoverId})`);
1904
1907
  if (this.alignment === undefined) {
1905
1908
  this.alignment = getIonMode(this) === 'ios' ? 'center' : 'start';
@@ -1948,7 +1951,7 @@ const Popover = class {
1948
1951
  if (this.workingDelegate && !force) {
1949
1952
  return {
1950
1953
  delegate: this.workingDelegate,
1951
- inline: this.inline
1954
+ inline: this.inline,
1952
1955
  };
1953
1956
  }
1954
1957
  /**
@@ -1961,8 +1964,8 @@ const Popover = class {
1961
1964
  * correct place.
1962
1965
  */
1963
1966
  const parentEl = this.el.parentNode;
1964
- const inline = this.inline = parentEl !== null && !this.hasController;
1965
- const delegate = this.workingDelegate = (inline) ? this.delegate || this.coreDelegate : this.delegate;
1967
+ const inline = (this.inline = parentEl !== null && !this.hasController);
1968
+ const delegate = (this.workingDelegate = inline ? this.delegate || this.coreDelegate : this.delegate);
1966
1969
  return { inline, delegate };
1967
1970
  }
1968
1971
  /**
@@ -2000,7 +2003,7 @@ const Popover = class {
2000
2003
  trigger: this.triggerEl,
2001
2004
  reference: this.reference,
2002
2005
  side: this.side,
2003
- align: this.alignment
2006
+ align: this.alignment,
2004
2007
  });
2005
2008
  await this.currentTransition;
2006
2009
  this.currentTransition = undefined;
@@ -2082,10 +2085,10 @@ const Popover = class {
2082
2085
  const mode = getIonMode(this);
2083
2086
  const { onLifecycle, popoverId, parentPopover, dismissOnSelect, side, arrow, htmlAttributes } = this;
2084
2087
  const desktop = isPlatform('desktop');
2085
- const enableArrow = arrow && !parentPopover && !desktop;
2088
+ const enableArrow = arrow && !parentPopover;
2086
2089
  return (h(Host, Object.assign({ "aria-modal": "true", "no-router": true, tabindex: "-1" }, htmlAttributes, { style: {
2087
2090
  zIndex: `${20000 + this.overlayIndex}`,
2088
- }, id: popoverId, 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, onIonDismiss: this.onDismiss, onIonBackdropTap: this.onBackdropTap }), !parentPopover && h("ion-backdrop", { tappable: this.backdropDismiss, visible: this.showBackdrop, part: "backdrop" }), h("div", { class: "popover-wrapper ion-overlay-wrapper", onClick: dismissOnSelect ? () => this.dismiss() : undefined }, enableArrow && h("div", { class: "popover-arrow", part: "arrow" }), h("div", { class: "popover-content", part: "content" }, h("slot", null)))));
2091
+ }, id: popoverId, 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", { tappable: this.backdropDismiss, visible: this.showBackdrop, part: "backdrop" }), h("div", { class: "popover-wrapper ion-overlay-wrapper", onClick: dismissOnSelect ? () => this.dismiss() : undefined }, enableArrow && h("div", { class: "popover-arrow", part: "arrow" }), h("div", { class: "popover-content", part: "content" }, h("slot", null)))));
2089
2092
  }
2090
2093
  get el() { return getElement(this); }
2091
2094
  static get watchers() { return {
@@ -2095,10 +2098,10 @@ const Popover = class {
2095
2098
  }; }
2096
2099
  };
2097
2100
  const LIFECYCLE_MAP = {
2098
- 'ionPopoverDidPresent': 'ionViewDidEnter',
2099
- 'ionPopoverWillPresent': 'ionViewWillEnter',
2100
- 'ionPopoverWillDismiss': 'ionViewWillLeave',
2101
- 'ionPopoverDidDismiss': 'ionViewDidLeave',
2101
+ ionPopoverDidPresent: 'ionViewDidEnter',
2102
+ ionPopoverWillPresent: 'ionViewWillEnter',
2103
+ ionPopoverWillDismiss: 'ionViewWillLeave',
2104
+ ionPopoverDidDismiss: 'ionViewDidLeave',
2102
2105
  };
2103
2106
  let popoverIds = 0;
2104
2107
  Popover.style = {
@@ -2124,7 +2127,7 @@ const SelectPopover = class {
2124
2127
  }
2125
2128
  findOptionFromEvent(ev) {
2126
2129
  const { options } = this;
2127
- return options.find(o => o.value === ev.target.value);
2130
+ return options.find((o) => o.value === ev.target.value);
2128
2131
  }
2129
2132
  /**
2130
2133
  * When an option is selected we need to get the value(s)
@@ -2134,7 +2137,7 @@ const SelectPopover = class {
2134
2137
  callOptionHandler(ev) {
2135
2138
  const option = this.findOptionFromEvent(ev);
2136
2139
  const values = this.getValues(ev);
2137
- if (option && option.handler) {
2140
+ if (option === null || option === void 0 ? void 0 : option.handler) {
2138
2141
  safeCall(option.handler, values);
2139
2142
  }
2140
2143
  }
@@ -2160,7 +2163,7 @@ const SelectPopover = class {
2160
2163
  if (multiple) {
2161
2164
  // this is a popover with checkboxes (multiple value select)
2162
2165
  // return an array of all the checked values
2163
- return options.filter(o => o.checked).map(o => o.value);
2166
+ return options.filter((o) => o.checked).map((o) => o.value);
2164
2167
  }
2165
2168
  // this is a popover with radio buttons (single value select)
2166
2169
  // return the value that was clicked, otherwise undefined
@@ -2170,22 +2173,23 @@ const SelectPopover = class {
2170
2173
  renderOptions(options) {
2171
2174
  const { multiple } = this;
2172
2175
  switch (multiple) {
2173
- case true: return this.renderCheckboxOptions(options);
2174
- default: return this.renderRadioOptions(options);
2176
+ case true:
2177
+ return this.renderCheckboxOptions(options);
2178
+ default:
2179
+ return this.renderRadioOptions(options);
2175
2180
  }
2176
2181
  }
2177
2182
  renderCheckboxOptions(options) {
2178
- return (options.map(option => h("ion-item", { class: getClassMap(option.cssClass) }, h("ion-checkbox", { slot: "start", value: option.value, disabled: option.disabled, checked: option.checked }), h("ion-label", null, option.text))));
2183
+ return options.map((option) => (h("ion-item", { class: getClassMap(option.cssClass) }, h("ion-checkbox", { slot: "start", value: option.value, disabled: option.disabled, checked: option.checked }), h("ion-label", null, option.text))));
2179
2184
  }
2180
2185
  renderRadioOptions(options) {
2181
- const checked = options.filter(o => o.checked).map(o => o.value)[0];
2182
- return (h("ion-radio-group", { value: checked }, options.map(option => h("ion-item", { class: getClassMap(option.cssClass) }, h("ion-label", null, option.text), h("ion-radio", { value: option.value, disabled: option.disabled, onClick: ev => this.rbClick(ev) })))));
2186
+ const checked = options.filter((o) => o.checked).map((o) => o.value)[0];
2187
+ return (h("ion-radio-group", { value: checked }, options.map((option) => (h("ion-item", { class: getClassMap(option.cssClass) }, h("ion-label", null, option.text), h("ion-radio", { value: option.value, disabled: option.disabled, onClick: (ev) => this.rbClick(ev) }))))));
2183
2188
  }
2184
2189
  render() {
2185
2190
  const { header, message, options, subHeader } = this;
2186
2191
  const hasSubHeaderOrMessage = subHeader !== undefined || message !== undefined;
2187
- return (h(Host, { class: getIonMode(this) }, h("ion-list", null, header !== undefined && h("ion-list-header", null, header), hasSubHeaderOrMessage &&
2188
- h("ion-item", null, h("ion-label", { class: "ion-text-wrap" }, subHeader !== undefined && h("h3", null, subHeader), message !== undefined && h("p", null, message))), this.renderOptions(options))));
2192
+ return (h(Host, { class: getIonMode(this) }, h("ion-list", null, header !== undefined && h("ion-list-header", null, header), hasSubHeaderOrMessage && (h("ion-item", null, h("ion-label", { class: "ion-text-wrap" }, subHeader !== undefined && h("h3", null, subHeader), message !== undefined && h("p", null, message)))), this.renderOptions(options))));
2189
2193
  }
2190
2194
  };
2191
2195
  SelectPopover.style = {