@pod-os/elements 0.7.1-92705ee.0 → 0.7.1-a71f01c.0

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 (634) hide show
  1. package/dist/cjs/{animation-5840e4df.js → animation-9bea118f.js} +115 -84
  2. package/dist/cjs/{app-globals-1aedd05c.js → app-globals-6352043e.js} +1 -1
  3. package/dist/cjs/{cubic-bezier-dcb7bfef.js → cubic-bezier-0b702a31.js} +13 -12
  4. package/dist/cjs/data-0c9489d7.js +1510 -0
  5. package/dist/cjs/dir-011f46ea.js +20 -0
  6. package/dist/cjs/elements.cjs.js +5 -5
  7. package/dist/cjs/focus-visible-2624ec15.js +76 -0
  8. package/dist/cjs/framework-delegate-437c0645.js +119 -0
  9. package/dist/cjs/{gesture-controller-fbbe9a65.js → gesture-controller-00a6b02f.js} +6 -2
  10. package/dist/cjs/{haptic-09e73337.js → haptic-7358cb0b.js} +37 -8
  11. package/dist/cjs/{hardware-back-button-01027575.js → hardware-back-button-25372ec7.js} +11 -8
  12. package/dist/cjs/{helpers-398ced09.js → helpers-cb08f5ae.js} +115 -15
  13. package/dist/cjs/{index-2067b305.js → index-1b07c737.js} +35 -24
  14. package/dist/cjs/{index-68ae43d2.js → index-2dc3637c.js} +34 -28
  15. package/dist/cjs/index-57b9fa9e.js +30 -0
  16. package/dist/cjs/{index-d01d9183.js → index-643851c6.js} +34 -19
  17. package/dist/cjs/index-731691ca.js +48 -0
  18. package/dist/cjs/{index-6bbae9b1.js → index-7d56774d.js} +12 -8
  19. package/dist/cjs/index-9fca5d6f.js +140 -0
  20. package/dist/cjs/index-b2a479e4.js +38 -0
  21. package/dist/cjs/{index-b4a9ece2.js → index-eaa0d16e.js} +7 -0
  22. package/dist/cjs/{tap-click-f24cb477.js → index-ed2ce04f.js} +37 -19
  23. package/dist/cjs/{input-shims-e959d9e2.js → input-shims-427999f7.js} +89 -38
  24. package/dist/cjs/ion-accordion-group.cjs.entry.js +205 -0
  25. package/dist/cjs/ion-accordion.cjs.entry.js +336 -0
  26. package/dist/cjs/ion-action-sheet_3.cjs.entry.js +865 -0
  27. package/dist/cjs/{ion-app_45.cjs.entry.js → ion-app_46.cjs.entry.js} +1906 -1492
  28. package/dist/cjs/ion-avatar.cjs.entry.js +2 -2
  29. package/dist/cjs/ion-back-button.cjs.entry.js +12 -11
  30. package/dist/cjs/ion-backdrop.cjs.entry.js +4 -4
  31. package/dist/cjs/ion-breadcrumb.cjs.entry.js +101 -0
  32. package/dist/cjs/ion-breadcrumbs.cjs.entry.js +137 -0
  33. package/dist/cjs/ion-buttons_3.cjs.entry.js +799 -0
  34. package/dist/cjs/ion-card-subtitle.cjs.entry.js +4 -4
  35. package/dist/cjs/{ion-list-header_3.cjs.entry.js → ion-checkbox_4.cjs.entry.js} +124 -23
  36. package/dist/cjs/ion-chip.cjs.entry.js +5 -10
  37. package/dist/cjs/ion-datetime-button.cjs.entry.js +346 -0
  38. package/dist/cjs/ion-datetime.cjs.entry.js +1548 -856
  39. package/dist/cjs/ion-fab-button.cjs.entry.js +26 -9
  40. package/dist/cjs/ion-fab-list.cjs.entry.js +4 -4
  41. package/dist/cjs/ion-fab.cjs.entry.js +15 -13
  42. package/dist/cjs/ion-img.cjs.entry.js +28 -4
  43. package/dist/cjs/ion-infinite-scroll-content.cjs.entry.js +5 -5
  44. package/dist/cjs/ion-infinite-scroll.cjs.entry.js +13 -13
  45. package/dist/cjs/ion-input.cjs.entry.js +57 -23
  46. package/dist/cjs/ion-item-option.cjs.entry.js +8 -8
  47. package/dist/cjs/ion-item-options.cjs.entry.js +5 -5
  48. package/dist/cjs/ion-item-sliding.cjs.entry.js +59 -63
  49. package/dist/cjs/ion-loading.cjs.entry.js +38 -37
  50. package/dist/cjs/ion-menu-button.cjs.entry.js +14 -12
  51. package/dist/cjs/ion-menu-toggle.cjs.entry.js +8 -7
  52. package/dist/cjs/ion-menu.cjs.entry.js +71 -57
  53. package/dist/cjs/ion-modal.cjs.entry.js +1386 -156
  54. package/dist/cjs/ion-nav-link.cjs.entry.js +5 -2
  55. package/dist/cjs/ion-nav.cjs.entry.js +177 -171
  56. package/dist/cjs/ion-picker-column.cjs.entry.js +25 -27
  57. package/dist/cjs/ion-picker.cjs.entry.js +22 -17
  58. package/dist/cjs/ion-popover.cjs.entry.js +1208 -182
  59. package/dist/cjs/ion-range.cjs.entry.js +137 -57
  60. package/dist/cjs/ion-refresher-content.cjs.entry.js +7 -12
  61. package/dist/cjs/ion-refresher.cjs.entry.js +150 -148
  62. package/dist/cjs/ion-reorder-group.cjs.entry.js +42 -35
  63. package/dist/cjs/ion-reorder.cjs.entry.js +5 -4
  64. package/dist/cjs/ion-route-redirect.cjs.entry.js +1 -1
  65. package/dist/cjs/ion-route.cjs.entry.js +1 -1
  66. package/dist/cjs/ion-router-link.cjs.entry.js +5 -5
  67. package/dist/cjs/ion-router-outlet.cjs.entry.js +24 -20
  68. package/dist/cjs/ion-router.cjs.entry.js +291 -194
  69. package/dist/cjs/ion-segment-button.cjs.entry.js +10 -17
  70. package/dist/cjs/ion-segment.cjs.entry.js +127 -26
  71. package/dist/cjs/ion-select-option.cjs.entry.js +3 -3
  72. package/dist/cjs/ion-select.cjs.entry.js +113 -78
  73. package/dist/cjs/ion-slide.cjs.entry.js +3 -3
  74. package/dist/cjs/ion-slides.cjs.entry.js +26 -27
  75. package/dist/cjs/ion-spinner.cjs.entry.js +10 -9
  76. package/dist/cjs/ion-split-pane.cjs.entry.js +16 -12
  77. package/dist/cjs/ion-tab-bar.cjs.entry.js +16 -23
  78. package/dist/cjs/ion-tab-button.cjs.entry.js +6 -6
  79. package/dist/cjs/ion-tab.cjs.entry.js +4 -4
  80. package/dist/cjs/ion-tabs.cjs.entry.js +4 -5
  81. package/dist/cjs/ion-text.cjs.entry.js +3 -3
  82. package/dist/cjs/ion-textarea.cjs.entry.js +31 -29
  83. package/dist/cjs/ion-thumbnail.cjs.entry.js +2 -2
  84. package/dist/cjs/ion-toast.cjs.entry.js +50 -60
  85. package/dist/cjs/ion-toggle.cjs.entry.js +41 -22
  86. package/dist/cjs/ion-virtual-scroll.cjs.entry.js +39 -31
  87. package/dist/cjs/{ionic-global-56e10eb5.js → ionic-global-f2d95fd3.js} +112 -93
  88. package/dist/cjs/{ios.transition-32e4623d.js → ios.transition-0f31ec9a.js} +78 -53
  89. package/dist/cjs/{keyboard-9e8103e4.js → keyboard-79afcba2.js} +6 -3
  90. package/dist/cjs/keyboard-controller-a934d106.js +42 -0
  91. package/dist/cjs/loader.cjs.js +5 -5
  92. package/dist/cjs/{md.transition-169c54f0.js → md.transition-d2a33a23.js} +15 -17
  93. package/dist/cjs/{menu-toggle-util-087678e0.js → menu-toggle-util-0a43ff7c.js} +5 -2
  94. package/dist/cjs/{overlays-49fe9ba7.js → overlays-f7d24abf.js} +190 -72
  95. package/dist/cjs/spinner-configs-cd0abbeb.js +147 -0
  96. package/dist/cjs/{status-tap-ada894ff.js → status-tap-beaa3a71.js} +10 -5
  97. package/dist/cjs/{swipe-back-c4a778df.js → swipe-back-666ea8e6.js} +34 -15
  98. package/dist/cjs/{theme-2259d0f5.js → theme-fc63803b.js} +9 -5
  99. package/dist/collection/collection-manifest.json +10 -4
  100. package/dist/collection/components/pos-rich-link/pos-rich-link.js +1 -1
  101. package/dist/components/ResourceAware.js +5 -0
  102. package/dist/components/action-sheet.js +309 -0
  103. package/dist/{esm/ion-alert.entry.js → components/alert.js} +150 -105
  104. package/dist/{esm/animation-fe6ed422.js → components/animation.js} +115 -84
  105. package/dist/components/app.js +112 -0
  106. package/dist/components/backdrop.js +82 -0
  107. package/dist/components/badge.js +42 -0
  108. package/dist/{esm/button-active-fd9d6d91.js → components/button-active.js} +9 -6
  109. package/dist/components/button.js +207 -0
  110. package/dist/{esm/ion-buttons.entry.js → components/buttons.js} +28 -12
  111. package/dist/components/card-content.js +40 -0
  112. package/dist/components/card-header.js +51 -0
  113. package/dist/components/card-title.js +43 -0
  114. package/dist/components/card.js +102 -0
  115. package/dist/{esm/ion-checkbox.entry.js → components/checkbox.js} +42 -24
  116. package/dist/components/col.js +161 -0
  117. package/dist/components/content.js +356 -0
  118. package/dist/{esm/cubic-bezier-108b8579.js → components/cubic-bezier.js} +13 -12
  119. package/dist/components/data.js +1463 -0
  120. package/dist/components/dir.js +18 -0
  121. package/dist/components/focus-visible.js +74 -0
  122. package/dist/components/footer.js +149 -0
  123. package/dist/components/framework-delegate.js +115 -0
  124. package/dist/{esm/gesture-controller-8f35af24.js → components/gesture-controller.js} +6 -2
  125. package/dist/components/grid.js +41 -0
  126. package/dist/{esm/haptic-c424e670.js → components/haptic.js} +38 -9
  127. package/dist/{esm/hardware-back-button-bb4c578a.js → components/hardware-back-button.js} +11 -8
  128. package/dist/components/header.js +360 -0
  129. package/dist/{esm/helpers-44e3bd9f.js → components/helpers.js} +113 -16
  130. package/dist/components/icon.js +367 -0
  131. package/dist/components/index.d.ts +41 -0
  132. package/dist/components/index.js +123 -0
  133. package/dist/components/index10.js +28 -0
  134. package/dist/{esm/tap-click-a7e55ef5.js → components/index11.js} +37 -19
  135. package/dist/components/index2.js +25 -0
  136. package/dist/{esm/index-8d682224.js → components/index3.js} +12 -8
  137. package/dist/components/index4.js +34 -0
  138. package/dist/components/index5.js +128 -0
  139. package/dist/{esm/index-97199683.js → components/index6.js} +34 -28
  140. package/dist/{esm/index-8a463a85.js → components/index7.js} +35 -24
  141. package/dist/{custom-elements/index.js → components/index8.js} +1049 -20945
  142. package/dist/{esm/index-3a1bd803.js → components/index9.js} +35 -20
  143. package/dist/{custom-elements → components}/input-shims.js +88 -38
  144. package/dist/components/ion-accordion-group.js +228 -0
  145. package/dist/components/ion-accordion.js +365 -0
  146. package/dist/components/ion-action-sheet.js +6 -0
  147. package/dist/components/ion-alert.js +6 -0
  148. package/dist/components/ion-app.js +6 -0
  149. package/dist/components/ion-avatar.js +39 -0
  150. package/dist/components/ion-back-button.js +128 -0
  151. package/dist/components/ion-backdrop.js +6 -0
  152. package/dist/components/ion-badge.js +6 -0
  153. package/dist/components/ion-breadcrumb.js +135 -0
  154. package/dist/components/ion-breadcrumbs.js +158 -0
  155. package/dist/components/ion-button.js +6 -0
  156. package/dist/components/ion-buttons.js +6 -0
  157. package/dist/components/ion-card-content.js +6 -0
  158. package/dist/components/ion-card-header.js +6 -0
  159. package/dist/components/ion-card-subtitle.js +46 -0
  160. package/dist/components/ion-card-title.js +6 -0
  161. package/dist/components/ion-card.js +6 -0
  162. package/dist/components/ion-checkbox.js +6 -0
  163. package/dist/components/ion-chip.js +59 -0
  164. package/dist/components/ion-col.js +6 -0
  165. package/dist/components/ion-content.js +6 -0
  166. package/dist/components/ion-datetime-button.js +375 -0
  167. package/dist/components/ion-datetime.js +1802 -0
  168. package/dist/components/ion-fab-button.js +149 -0
  169. package/dist/components/ion-fab-list.js +62 -0
  170. package/dist/components/ion-fab.js +97 -0
  171. package/dist/components/ion-footer.js +6 -0
  172. package/dist/components/ion-grid.js +6 -0
  173. package/dist/components/ion-header.js +6 -0
  174. package/dist/components/ion-icon.js +6 -0
  175. package/dist/components/ion-img.js +120 -0
  176. package/dist/components/ion-infinite-scroll-content.js +59 -0
  177. package/dist/components/ion-infinite-scroll.js +223 -0
  178. package/dist/components/ion-input.js +352 -0
  179. package/dist/components/ion-item-divider.js +6 -0
  180. package/dist/components/ion-item-group.js +6 -0
  181. package/dist/components/ion-item-option.js +89 -0
  182. package/dist/components/ion-item-options.js +63 -0
  183. package/dist/components/ion-item-sliding.js +419 -0
  184. package/dist/components/ion-item.js +6 -0
  185. package/dist/components/ion-label.js +6 -0
  186. package/dist/components/ion-list-header.js +6 -0
  187. package/dist/components/ion-list.js +6 -0
  188. package/dist/components/ion-loading.js +256 -0
  189. package/dist/components/ion-menu-button.js +107 -0
  190. package/dist/components/ion-menu-toggle.js +62 -0
  191. package/dist/components/ion-menu.js +611 -0
  192. package/dist/components/ion-modal.js +1765 -0
  193. package/dist/components/ion-nav-link.js +65 -0
  194. package/dist/components/ion-nav.js +905 -0
  195. package/dist/components/ion-note.js +6 -0
  196. package/dist/components/ion-picker-column-internal.js +6 -0
  197. package/dist/components/ion-picker-column.js +6 -0
  198. package/dist/components/ion-picker-internal.js +6 -0
  199. package/dist/components/ion-picker.js +263 -0
  200. package/dist/components/ion-popover.js +6 -0
  201. package/dist/components/ion-progress-bar.js +6 -0
  202. package/dist/components/ion-radio-group.js +6 -0
  203. package/dist/components/ion-radio.js +6 -0
  204. package/dist/components/ion-range.js +550 -0
  205. package/dist/components/ion-refresher-content.js +64 -0
  206. package/dist/components/ion-refresher.js +826 -0
  207. package/dist/components/ion-reorder-group.js +303 -0
  208. package/dist/components/ion-reorder.js +58 -0
  209. package/dist/components/ion-ripple-effect.js +6 -0
  210. package/dist/components/ion-route-redirect.js +40 -0
  211. package/dist/components/ion-route.js +68 -0
  212. package/dist/components/ion-router-link.js +59 -0
  213. package/dist/components/ion-router-outlet.js +223 -0
  214. package/dist/components/ion-router.js +852 -0
  215. package/dist/components/ion-row.js +6 -0
  216. package/dist/components/ion-searchbar.js +6 -0
  217. package/dist/components/ion-segment-button.js +128 -0
  218. package/dist/components/ion-segment.js +463 -0
  219. package/dist/components/ion-select-option.js +44 -0
  220. package/dist/components/ion-select-popover.js +6 -0
  221. package/dist/components/ion-select.js +596 -0
  222. package/dist/components/ion-skeleton-text.js +6 -0
  223. package/dist/components/ion-slide.js +38 -0
  224. package/dist/components/ion-slides.js +423 -0
  225. package/dist/components/ion-spinner.js +6 -0
  226. package/dist/components/ion-split-pane.js +179 -0
  227. package/dist/components/ion-tab-bar.js +86 -0
  228. package/dist/components/ion-tab-button.js +132 -0
  229. package/dist/components/ion-tab.js +86 -0
  230. package/dist/components/ion-tabs.js +176 -0
  231. package/dist/components/ion-text.js +40 -0
  232. package/dist/components/ion-textarea.js +287 -0
  233. package/dist/components/ion-thumbnail.js +34 -0
  234. package/dist/components/ion-title.js +6 -0
  235. package/dist/components/ion-toast.js +317 -0
  236. package/dist/components/ion-toggle.js +207 -0
  237. package/dist/components/ion-toolbar.js +6 -0
  238. package/dist/components/ion-virtual-scroll.js +588 -0
  239. package/dist/components/ionic-global.js +226 -0
  240. package/dist/{custom-elements → components}/ios.transition.js +75 -50
  241. package/dist/components/item-divider.js +54 -0
  242. package/dist/components/item-group.js +41 -0
  243. package/dist/components/item.js +323 -0
  244. package/dist/components/keyboard-controller.js +40 -0
  245. package/dist/{custom-elements → components}/keyboard.js +6 -3
  246. package/dist/components/label.js +95 -0
  247. package/dist/components/list-header.js +45 -0
  248. package/dist/components/list.js +66 -0
  249. package/dist/{custom-elements → components}/md.transition.js +12 -14
  250. package/dist/{esm/menu-toggle-util-562dfc9c.js → components/menu-toggle-util.js} +5 -2
  251. package/dist/components/note.js +42 -0
  252. package/dist/{esm/overlays-fc9a0625.js → components/overlays.js} +188 -72
  253. package/dist/components/picker-column-internal.js +315 -0
  254. package/dist/components/picker-column.js +343 -0
  255. package/dist/components/picker-internal.js +486 -0
  256. package/dist/components/popover.js +1440 -0
  257. package/dist/components/pos-app-browser.d.ts +11 -0
  258. package/dist/components/pos-app-browser.js +299 -0
  259. package/dist/components/pos-app-generic.d.ts +11 -0
  260. package/dist/components/pos-app-generic.js +6 -0
  261. package/dist/components/pos-app-generic2.js +194 -0
  262. package/dist/components/pos-app-image-viewer.d.ts +11 -0
  263. package/dist/components/pos-app-image-viewer.js +6 -0
  264. package/dist/components/pos-app-image-viewer2.js +162 -0
  265. package/dist/components/pos-app-rdf-document.d.ts +11 -0
  266. package/dist/components/pos-app-rdf-document.js +6 -0
  267. package/dist/components/pos-app-rdf-document2.js +170 -0
  268. package/dist/components/pos-app.d.ts +11 -0
  269. package/dist/components/pos-app.js +6 -0
  270. package/dist/components/pos-app2.js +53 -0
  271. package/dist/components/pos-description.d.ts +11 -0
  272. package/dist/components/pos-description.js +6 -0
  273. package/dist/components/pos-description2.js +38 -0
  274. package/dist/components/pos-image.d.ts +11 -0
  275. package/dist/components/pos-image.js +6 -0
  276. package/dist/components/pos-image2.js +117 -0
  277. package/dist/components/pos-label.d.ts +11 -0
  278. package/dist/components/pos-label.js +6 -0
  279. package/dist/components/pos-label2.js +38 -0
  280. package/dist/components/pos-literals.d.ts +11 -0
  281. package/dist/components/pos-literals.js +6 -0
  282. package/dist/components/pos-literals2.js +87 -0
  283. package/dist/components/pos-login.d.ts +11 -0
  284. package/dist/components/pos-login.js +6 -0
  285. package/dist/components/pos-login2.js +120 -0
  286. package/dist/components/pos-navigation-bar.d.ts +11 -0
  287. package/dist/components/pos-navigation-bar.js +6 -0
  288. package/dist/components/pos-navigation-bar2.js +52 -0
  289. package/dist/components/pos-picture.d.ts +11 -0
  290. package/dist/components/pos-picture.js +6 -0
  291. package/dist/components/pos-picture2.js +62 -0
  292. package/dist/components/pos-relations.d.ts +11 -0
  293. package/dist/components/pos-relations.js +6 -0
  294. package/dist/components/pos-relations2.js +135 -0
  295. package/dist/components/pos-resource.d.ts +11 -0
  296. package/dist/components/pos-resource.js +6 -0
  297. package/dist/components/pos-resource2.js +126 -0
  298. package/dist/components/pos-reverse-relations.d.ts +11 -0
  299. package/dist/components/pos-reverse-relations.js +6 -0
  300. package/dist/components/pos-reverse-relations2.js +135 -0
  301. package/dist/components/pos-rich-link.d.ts +11 -0
  302. package/dist/components/pos-rich-link.js +6 -0
  303. package/dist/components/pos-rich-link2.js +106 -0
  304. package/dist/components/pos-router.d.ts +11 -0
  305. package/dist/components/pos-router.js +6 -0
  306. package/dist/components/pos-router2.js +813 -0
  307. package/dist/components/pos-subjects.d.ts +11 -0
  308. package/dist/components/pos-subjects.js +6 -0
  309. package/dist/components/pos-subjects2.js +125 -0
  310. package/dist/components/pos-type-badges.d.ts +11 -0
  311. package/dist/components/pos-type-badges.js +6 -0
  312. package/dist/components/pos-type-badges2.js +69 -0
  313. package/dist/components/pos-type-router.d.ts +11 -0
  314. package/dist/components/pos-type-router.js +6 -0
  315. package/dist/components/pos-type-router2.js +241 -0
  316. package/dist/components/progress-bar.js +91 -0
  317. package/dist/components/radio-group.js +139 -0
  318. package/dist/components/radio.js +135 -0
  319. package/dist/components/ripple-effect.js +107 -0
  320. package/dist/components/row.js +31 -0
  321. package/dist/components/searchbar.js +412 -0
  322. package/dist/components/select-popover.js +174 -0
  323. package/dist/components/session.js +202 -0
  324. package/dist/components/skeleton-text.js +46 -0
  325. package/dist/components/spinner.js +224 -0
  326. package/dist/{custom-elements → components}/status-tap.js +8 -4
  327. package/dist/{custom-elements → components}/swipe-back.js +33 -13
  328. package/dist/{custom-elements → components}/swiper.bundle.js +0 -0
  329. package/dist/{esm/theme-d21826a7.js → components/theme.js} +9 -5
  330. package/dist/components/title.js +66 -0
  331. package/dist/components/toolbar.js +87 -0
  332. package/dist/elements/elements.css +1 -1
  333. package/dist/elements/elements.esm.js +1 -1
  334. package/dist/elements/p-00f19b1d.js +4 -0
  335. package/dist/elements/p-0587332d.entry.js +1 -0
  336. package/dist/elements/p-07f54139.entry.js +7 -0
  337. package/dist/elements/{p-cfc0e54d.js → p-0991c811.js} +3 -0
  338. package/dist/elements/p-0a69a563.entry.js +1 -0
  339. package/dist/elements/p-0d284fe0.entry.js +1 -0
  340. package/dist/elements/p-116437b0.entry.js +13 -0
  341. package/dist/elements/p-12880671.entry.js +1 -0
  342. package/dist/elements/p-14ccd586.entry.js +1 -0
  343. package/dist/elements/{p-83d45051.entry.js → p-14df6ac0.entry.js} +1 -1
  344. package/dist/elements/{p-e860be6a.entry.js → p-17079f06.entry.js} +1 -1
  345. package/dist/elements/p-19e4a688.js +4 -0
  346. package/dist/elements/p-1afc4eb4.js +4 -0
  347. package/dist/elements/p-1beaf6bf.js +4 -0
  348. package/dist/elements/p-1d1c6a6f.entry.js +1 -0
  349. package/dist/elements/{p-31d30e42.entry.js → p-1d98f84b.entry.js} +1 -1
  350. package/dist/elements/p-1e617706.entry.js +7 -0
  351. package/dist/elements/p-278ca4c9.js +4 -0
  352. package/dist/elements/p-27f5629c.entry.js +1 -0
  353. package/dist/elements/p-29c0f03f.js +4 -0
  354. package/dist/elements/p-2a629468.entry.js +4 -0
  355. package/dist/elements/p-2da59aca.js +4 -0
  356. package/dist/elements/p-3152143f.js +4 -0
  357. package/dist/elements/p-343ff720.entry.js +7 -0
  358. package/dist/elements/p-36d4c9a8.js +4 -0
  359. package/dist/elements/p-3a30dfb2.entry.js +1 -0
  360. package/dist/elements/p-3c013bf1.entry.js +1 -0
  361. package/dist/elements/{p-74ba1e42.entry.js → p-3c318da5.entry.js} +1 -1
  362. package/dist/elements/p-3cee3222.entry.js +1 -0
  363. package/dist/elements/p-3d0f59af.entry.js +7 -0
  364. package/dist/elements/p-41cb5688.entry.js +1 -0
  365. package/dist/elements/p-480b3c4f.entry.js +1 -0
  366. package/dist/elements/p-4e9d8f18.entry.js +1 -0
  367. package/dist/elements/p-53e23176.js +2 -0
  368. package/dist/elements/p-548524f3.js +4 -0
  369. package/dist/elements/p-5739fa41.entry.js +1 -0
  370. package/dist/elements/p-5808c505.js +1 -0
  371. package/dist/elements/p-58a8cc2a.js +4 -0
  372. package/dist/elements/p-6035415e.entry.js +1 -0
  373. package/dist/elements/p-60eeae90.js +4 -0
  374. package/dist/elements/p-667550a9.entry.js +14 -0
  375. package/dist/elements/p-67777478.entry.js +1 -0
  376. package/dist/elements/p-6ab826e1.entry.js +1 -0
  377. package/dist/elements/p-6f5a2827.entry.js +1 -0
  378. package/dist/elements/p-7916ecc5.entry.js +1 -0
  379. package/dist/elements/p-79f06b80.entry.js +1 -0
  380. package/dist/elements/p-7d0def79.js +5 -0
  381. package/dist/elements/p-8112afea.js +4 -0
  382. package/dist/elements/p-83678d7d.entry.js +4 -0
  383. package/dist/elements/p-87e45c94.entry.js +1 -0
  384. package/dist/elements/p-8f80768f.entry.js +4 -0
  385. package/dist/elements/p-8fe0433b.js +4 -0
  386. package/dist/elements/{p-4cb27b48.entry.js → p-9147d82b.entry.js} +1 -1
  387. package/dist/elements/p-96aeb07a.entry.js +1 -0
  388. package/dist/elements/p-97abb434.entry.js +1 -0
  389. package/dist/elements/p-98497a4b.entry.js +1 -0
  390. package/dist/elements/p-9c719139.js +4 -0
  391. package/dist/elements/p-9ca37332.js +4 -0
  392. package/dist/elements/{p-37de7110.js → p-9d48def2.js} +3 -0
  393. package/dist/elements/p-a805f2f9.entry.js +1 -0
  394. package/dist/elements/p-a86a5bfa.entry.js +1 -0
  395. package/dist/elements/{p-9c1dbe52.entry.js → p-ac34eab7.entry.js} +1 -1
  396. package/dist/elements/p-ad366eab.entry.js +4 -0
  397. package/dist/elements/p-aef3a931.js +7 -0
  398. package/dist/elements/p-b0537eb3.entry.js +1 -0
  399. package/dist/elements/p-b41e66f0.entry.js +1 -0
  400. package/dist/elements/p-b47e7091.entry.js +1 -0
  401. package/dist/elements/p-b840320e.js +4 -0
  402. package/dist/elements/p-b934ac5d.entry.js +1 -0
  403. package/dist/elements/p-bc63f4b6.entry.js +1 -0
  404. package/dist/elements/p-bd12806f.entry.js +1 -0
  405. package/dist/elements/p-bf90022d.entry.js +4 -0
  406. package/dist/elements/p-c16d38d5.js +4 -0
  407. package/dist/elements/p-c84205a3.js +4 -0
  408. package/dist/elements/{p-06675ac7.entry.js → p-cbe318f8.entry.js} +1 -1
  409. package/dist/elements/p-cfed7395.js +4 -0
  410. package/dist/elements/p-d3e75c94.entry.js +1 -0
  411. package/dist/elements/p-d8e7ebf4.entry.js +7 -0
  412. package/dist/elements/p-d9880221.entry.js +4 -0
  413. package/dist/elements/p-da5db8fb.entry.js +1 -0
  414. package/dist/elements/{p-91fe653f.js → p-dcc6b03c.js} +3 -0
  415. package/dist/elements/{p-305e246c.entry.js → p-dd846020.entry.js} +1 -1
  416. package/dist/elements/p-dffd8689.js +4 -0
  417. package/dist/elements/p-e3bcb6e8.entry.js +1 -0
  418. package/dist/elements/p-e495a095.js +4 -0
  419. package/dist/elements/p-e59d9789.entry.js +1 -0
  420. package/dist/elements/p-e5fc7d42.entry.js +1 -0
  421. package/dist/elements/{p-aaa8393e.entry.js → p-eb137e9d.entry.js} +1 -1
  422. package/dist/elements/p-f4e54a17.js +7 -0
  423. package/dist/elements/p-f67d0717.entry.js +1 -0
  424. package/dist/elements/p-f7f4c640.js +1 -0
  425. package/dist/elements/p-f851b91a.js +4 -0
  426. package/dist/elements/p-fb27ee76.entry.js +1 -0
  427. package/dist/elements/p-fbddca35.entry.js +1 -0
  428. package/dist/elements/p-fdac5f3a.js +4 -0
  429. package/dist/elements/p-feb0cea8.entry.js +4 -0
  430. package/dist/esm/animation-801a007a.js +986 -0
  431. package/dist/esm/{app-globals-27d92837.js → app-globals-05a3abfb.js} +1 -1
  432. package/dist/esm/cubic-bezier-538b6253.js +90 -0
  433. package/dist/esm/data-62c81c24.js +1463 -0
  434. package/dist/esm/dir-defb16c6.js +18 -0
  435. package/dist/esm/elements.js +5 -5
  436. package/dist/esm/focus-visible-78d55799.js +74 -0
  437. package/dist/esm/framework-delegate-7e2b767b.js +115 -0
  438. package/dist/esm/gesture-controller-c466ff14.js +195 -0
  439. package/dist/esm/haptic-e7d5ef4d.js +135 -0
  440. package/dist/esm/hardware-back-button-242191a7.js +71 -0
  441. package/dist/esm/helpers-aeff219b.js +410 -0
  442. package/dist/esm/index-0dbaca1a.js +28 -0
  443. package/dist/esm/index-1f3d8582.js +34 -0
  444. package/dist/esm/index-2be9a18b.js +312 -0
  445. package/dist/esm/index-51e4a829.js +137 -0
  446. package/dist/esm/index-6048aed6.js +224 -0
  447. package/dist/esm/index-65ecd543.js +25 -0
  448. package/dist/{custom-elements/tap-click.js → esm/index-b212db1c.js} +37 -19
  449. package/dist/esm/{index-e4deec27.js → index-cb938ffb.js} +7 -1
  450. package/dist/esm/index-d39eb62b.js +463 -0
  451. package/dist/esm/index-ebf7f059.js +128 -0
  452. package/dist/esm/{input-shims-3b48722f.js → input-shims-8a389148.js} +89 -38
  453. package/dist/esm/ion-accordion-group.entry.js +201 -0
  454. package/dist/esm/ion-accordion.entry.js +332 -0
  455. package/dist/esm/ion-action-sheet_3.entry.js +859 -0
  456. package/dist/esm/{ion-app_45.entry.js → ion-app_46.entry.js} +1906 -1493
  457. package/dist/esm/ion-avatar.entry.js +2 -2
  458. package/dist/esm/ion-back-button.entry.js +12 -11
  459. package/dist/esm/ion-backdrop.entry.js +4 -4
  460. package/dist/esm/ion-breadcrumb.entry.js +97 -0
  461. package/dist/esm/ion-breadcrumbs.entry.js +133 -0
  462. package/dist/esm/ion-buttons_3.entry.js +793 -0
  463. package/dist/esm/ion-card-subtitle.entry.js +4 -4
  464. package/dist/esm/{ion-list-header_3.entry.js → ion-checkbox_4.entry.js} +124 -24
  465. package/dist/esm/ion-chip.entry.js +5 -10
  466. package/dist/esm/ion-datetime-button.entry.js +342 -0
  467. package/dist/esm/ion-datetime.entry.js +1548 -856
  468. package/dist/esm/ion-fab-button.entry.js +26 -9
  469. package/dist/esm/ion-fab-list.entry.js +4 -4
  470. package/dist/esm/ion-fab.entry.js +15 -13
  471. package/dist/esm/ion-img.entry.js +28 -4
  472. package/dist/esm/ion-infinite-scroll-content.entry.js +5 -5
  473. package/dist/esm/ion-infinite-scroll.entry.js +13 -13
  474. package/dist/esm/ion-input.entry.js +57 -23
  475. package/dist/esm/ion-item-option.entry.js +8 -8
  476. package/dist/esm/ion-item-options.entry.js +5 -5
  477. package/dist/esm/ion-item-sliding.entry.js +59 -63
  478. package/dist/esm/ion-loading.entry.js +38 -37
  479. package/dist/esm/ion-menu-button.entry.js +14 -12
  480. package/dist/esm/ion-menu-toggle.entry.js +8 -7
  481. package/dist/esm/ion-menu.entry.js +71 -57
  482. package/dist/esm/ion-modal.entry.js +1377 -147
  483. package/dist/esm/ion-nav-link.entry.js +5 -2
  484. package/dist/esm/ion-nav.entry.js +177 -171
  485. package/dist/esm/ion-picker-column.entry.js +25 -27
  486. package/dist/esm/ion-picker.entry.js +22 -17
  487. package/dist/esm/ion-popover.entry.js +1208 -182
  488. package/dist/esm/ion-range.entry.js +137 -57
  489. package/dist/esm/ion-refresher-content.entry.js +7 -12
  490. package/dist/esm/ion-refresher.entry.js +149 -147
  491. package/dist/esm/ion-reorder-group.entry.js +42 -35
  492. package/dist/esm/ion-reorder.entry.js +5 -4
  493. package/dist/esm/ion-route-redirect.entry.js +1 -1
  494. package/dist/esm/ion-route.entry.js +1 -1
  495. package/dist/esm/ion-router-link.entry.js +5 -5
  496. package/dist/esm/ion-router-outlet.entry.js +24 -20
  497. package/dist/esm/ion-router.entry.js +291 -194
  498. package/dist/esm/ion-segment-button.entry.js +10 -17
  499. package/dist/esm/ion-segment.entry.js +127 -26
  500. package/dist/esm/ion-select-option.entry.js +3 -3
  501. package/dist/esm/ion-select.entry.js +113 -78
  502. package/dist/esm/ion-slide.entry.js +3 -3
  503. package/dist/esm/ion-slides.entry.js +26 -27
  504. package/dist/esm/ion-spinner.entry.js +10 -9
  505. package/dist/esm/ion-split-pane.entry.js +16 -12
  506. package/dist/esm/ion-tab-bar.entry.js +16 -23
  507. package/dist/esm/ion-tab-button.entry.js +6 -6
  508. package/dist/esm/ion-tab.entry.js +4 -4
  509. package/dist/esm/ion-tabs.entry.js +4 -5
  510. package/dist/esm/ion-text.entry.js +3 -3
  511. package/dist/esm/ion-textarea.entry.js +31 -29
  512. package/dist/esm/ion-thumbnail.entry.js +2 -2
  513. package/dist/esm/ion-toast.entry.js +50 -60
  514. package/dist/esm/ion-toggle.entry.js +41 -22
  515. package/dist/esm/ion-virtual-scroll.entry.js +39 -31
  516. package/dist/esm/{ionic-global-2e28f7c7.js → ionic-global-6cd57191.js} +112 -93
  517. package/dist/esm/{ios.transition-a783e3cd.js → ios.transition-bbd952f2.js} +78 -53
  518. package/dist/esm/{keyboard-e6abcb80.js → keyboard-413afe04.js} +6 -3
  519. package/dist/esm/keyboard-controller-33693bc2.js +40 -0
  520. package/dist/esm/loader.js +5 -5
  521. package/dist/esm/{md.transition-5a4a8c82.js → md.transition-5170a6d3.js} +15 -17
  522. package/dist/esm/menu-toggle-util-82bf888a.js +12 -0
  523. package/dist/esm/overlays-bd4abb68.js +502 -0
  524. package/dist/esm/spinner-configs-cbcd1f62.js +145 -0
  525. package/dist/esm/{status-tap-69e62ad6.js → status-tap-ad757b8a.js} +10 -5
  526. package/dist/esm/swipe-back-7ef22876.js +69 -0
  527. package/dist/esm/theme-7cf2cab0.js +43 -0
  528. package/dist/types/components.d.ts +0 -13
  529. package/package.json +7 -8
  530. package/dist/cjs/button-active-c14dab31.js +0 -66
  531. package/dist/cjs/focus-visible-16c98640.js +0 -45
  532. package/dist/cjs/framework-delegate-c45292a3.js +0 -37
  533. package/dist/cjs/ion-action-sheet.cjs.entry.js +0 -265
  534. package/dist/cjs/ion-alert.cjs.entry.js +0 -456
  535. package/dist/cjs/ion-buttons.cjs.entry.js +0 -42
  536. package/dist/cjs/ion-checkbox.cjs.entry.js +0 -117
  537. package/dist/cjs/ion-note.cjs.entry.js +0 -29
  538. package/dist/cjs/ion-select-popover.cjs.entry.js +0 -35
  539. package/dist/cjs/spinner-configs-fb16b986.js +0 -112
  540. package/dist/cjs/test-component.cjs.entry.js +0 -13
  541. package/dist/collection/test/TestComponent.js +0 -3
  542. package/dist/collection/test/mockPodOS.js +0 -35
  543. package/dist/collection/test/renderFunctionalComponent.js +0 -8
  544. package/dist/custom-elements/focus-visible.js +0 -43
  545. package/dist/custom-elements/index.d.ts +0 -165
  546. package/dist/elements/p-03bda390.js +0 -1
  547. package/dist/elements/p-0be044f1.entry.js +0 -1
  548. package/dist/elements/p-119c7c6c.entry.js +0 -1
  549. package/dist/elements/p-14c7c3ea.entry.js +0 -1
  550. package/dist/elements/p-1d4a2c61.js +0 -1
  551. package/dist/elements/p-1d894ac4.entry.js +0 -1
  552. package/dist/elements/p-1dafa1ce.entry.js +0 -1
  553. package/dist/elements/p-23b89ccb.entry.js +0 -1
  554. package/dist/elements/p-2c03b9ab.entry.js +0 -1
  555. package/dist/elements/p-346985f2.js +0 -1
  556. package/dist/elements/p-360f1c62.entry.js +0 -1
  557. package/dist/elements/p-373e1f25.entry.js +0 -1
  558. package/dist/elements/p-40547acb.entry.js +0 -1
  559. package/dist/elements/p-40b68014.entry.js +0 -1
  560. package/dist/elements/p-42e4f702.entry.js +0 -1
  561. package/dist/elements/p-489807e5.js +0 -1
  562. package/dist/elements/p-4ad72d54.entry.js +0 -1
  563. package/dist/elements/p-4cca7b5e.entry.js +0 -1
  564. package/dist/elements/p-4f24d306.js +0 -1
  565. package/dist/elements/p-519d6a53.entry.js +0 -1
  566. package/dist/elements/p-536e8e52.entry.js +0 -1
  567. package/dist/elements/p-599bb53f.entry.js +0 -1
  568. package/dist/elements/p-5eb7a546.js +0 -1
  569. package/dist/elements/p-60df2bed.entry.js +0 -1
  570. package/dist/elements/p-65133e33.js +0 -1
  571. package/dist/elements/p-6693fce8.js +0 -1
  572. package/dist/elements/p-689bdcc1.entry.js +0 -1
  573. package/dist/elements/p-70713b3d.entry.js +0 -1
  574. package/dist/elements/p-707d5d76.js +0 -1
  575. package/dist/elements/p-7212b7f2.js +0 -1
  576. package/dist/elements/p-73992898.entry.js +0 -1
  577. package/dist/elements/p-792c1e0f.entry.js +0 -1
  578. package/dist/elements/p-7e5300af.js +0 -2
  579. package/dist/elements/p-8068987c.entry.js +0 -1
  580. package/dist/elements/p-83accf46.entry.js +0 -1
  581. package/dist/elements/p-86635d06.entry.js +0 -1
  582. package/dist/elements/p-874c2b44.js +0 -1
  583. package/dist/elements/p-89c12ce8.entry.js +0 -1
  584. package/dist/elements/p-8bcba3f7.entry.js +0 -1
  585. package/dist/elements/p-8c759f51.entry.js +0 -1
  586. package/dist/elements/p-8f945e6b.entry.js +0 -1
  587. package/dist/elements/p-9300ab6a.js +0 -1
  588. package/dist/elements/p-93cacd51.entry.js +0 -1
  589. package/dist/elements/p-9408d0b4.entry.js +0 -1
  590. package/dist/elements/p-98c79eda.js +0 -1
  591. package/dist/elements/p-99f8abed.js +0 -1
  592. package/dist/elements/p-9ca7e079.js +0 -1
  593. package/dist/elements/p-a4648b74.entry.js +0 -1
  594. package/dist/elements/p-aab0f63c.js +0 -1
  595. package/dist/elements/p-ad4e2295.entry.js +0 -1
  596. package/dist/elements/p-afb8f7d5.entry.js +0 -1
  597. package/dist/elements/p-b055ec44.js +0 -1
  598. package/dist/elements/p-b078d63b.entry.js +0 -1
  599. package/dist/elements/p-b3460325.entry.js +0 -1
  600. package/dist/elements/p-b5406b58.entry.js +0 -1
  601. package/dist/elements/p-b5ef0c91.entry.js +0 -1
  602. package/dist/elements/p-b6ba623e.entry.js +0 -1
  603. package/dist/elements/p-b9926d8b.entry.js +0 -1
  604. package/dist/elements/p-bfd4cfcd.entry.js +0 -1
  605. package/dist/elements/p-c08dd7d0.entry.js +0 -1
  606. package/dist/elements/p-c0db9c51.entry.js +0 -1
  607. package/dist/elements/p-c1e7fbfb.js +0 -1
  608. package/dist/elements/p-ca69d6c9.js +0 -1
  609. package/dist/elements/p-cc4cb1ac.entry.js +0 -1
  610. package/dist/elements/p-cf8a7031.entry.js +0 -1
  611. package/dist/elements/p-cff82b6f.js +0 -1
  612. package/dist/elements/p-d01009b8.entry.js +0 -67
  613. package/dist/elements/p-d6d1e65f.entry.js +0 -1
  614. package/dist/elements/p-d9462b66.entry.js +0 -1
  615. package/dist/elements/p-e2e0fee9.entry.js +0 -1
  616. package/dist/elements/p-e642b266.entry.js +0 -1
  617. package/dist/elements/p-e953934f.entry.js +0 -1
  618. package/dist/elements/p-f0474f46.js +0 -1
  619. package/dist/elements/p-f10a94f6.entry.js +0 -1
  620. package/dist/elements/p-f2426182.entry.js +0 -1
  621. package/dist/elements/p-f327fd21.js +0 -1
  622. package/dist/elements/p-f84987ee.js +0 -1
  623. package/dist/elements/p-f8a3367d.entry.js +0 -1
  624. package/dist/esm/focus-visible-edb28f19.js +0 -43
  625. package/dist/esm/framework-delegate-9cd8048f.js +0 -34
  626. package/dist/esm/ion-action-sheet.entry.js +0 -261
  627. package/dist/esm/ion-note.entry.js +0 -25
  628. package/dist/esm/ion-select-popover.entry.js +0 -31
  629. package/dist/esm/spinner-configs-aaf2a1a9.js +0 -110
  630. package/dist/esm/swipe-back-d84cfc8a.js +0 -50
  631. package/dist/esm/test-component.entry.js +0 -9
  632. package/dist/types/test/TestComponent.d.ts +0 -2
  633. package/dist/types/test/mockPodOS.d.ts +0 -11
  634. package/dist/types/test/renderFunctionalComponent.d.ts +0 -1
@@ -1,13 +1,18 @@
1
- import { G as GESTURE_CONTROLLER } from './gesture-controller-8f35af24.js';
2
- export { G as GESTURE_CONTROLLER } from './gesture-controller-8f35af24.js';
1
+ import { G as GESTURE_CONTROLLER } from './gesture-controller.js';
2
+ export { G as GESTURE_CONTROLLER } from './gesture-controller.js';
3
3
 
4
+ /*!
5
+ * (C) Ionic http://ionicframework.com - MIT License
6
+ */
4
7
  const addEventListener = (el, eventName, callback, opts) => {
5
8
  // use event listener options when supported
6
9
  // otherwise it's just a boolean for the "capture" arg
7
- const listenerOpts = supportsPassive(el) ? {
8
- 'capture': !!opts.capture,
9
- 'passive': !!opts.passive,
10
- } : !!opts.capture;
10
+ const listenerOpts = supportsPassive(el)
11
+ ? {
12
+ capture: !!opts.capture,
13
+ passive: !!opts.passive,
14
+ }
15
+ : !!opts.capture;
11
16
  let add;
12
17
  let remove;
13
18
  if (el['__zone_symbol__addEventListener']) {
@@ -29,9 +34,11 @@ const supportsPassive = (node) => {
29
34
  const opts = Object.defineProperty({}, 'passive', {
30
35
  get: () => {
31
36
  _sPassive = true;
32
- }
37
+ },
33
38
  });
34
- node.addEventListener('optsTest', () => { return; }, opts);
39
+ node.addEventListener('optsTest', () => {
40
+ return;
41
+ }, opts);
35
42
  }
36
43
  catch (e) {
37
44
  _sPassive = false;
@@ -41,6 +48,9 @@ const supportsPassive = (node) => {
41
48
  };
42
49
  let _sPassive;
43
50
 
51
+ /*!
52
+ * (C) Ionic http://ionicframework.com - MIT License
53
+ */
44
54
  const MOUSE_WAIT = 2000;
45
55
  const createPointerEvents = (el, pointerDown, pointerMove, pointerUp, options) => {
46
56
  let rmTouchStart;
@@ -153,13 +163,16 @@ const createPointerEvents = (el, pointerDown, pointerMove, pointerUp, options) =
153
163
  return {
154
164
  enable,
155
165
  stop,
156
- destroy
166
+ destroy,
157
167
  };
158
168
  };
159
169
  const getDocument = (node) => {
160
170
  return node instanceof Document ? node : node.ownerDocument;
161
171
  };
162
172
 
173
+ /*!
174
+ * (C) Ionic http://ionicframework.com - MIT License
175
+ */
163
176
  const createPanRecognizer = (direction, thresh, maxAngle) => {
164
177
  const radians = maxAngle * (Math.PI / 180);
165
178
  const isDirX = direction === 'x';
@@ -180,8 +193,8 @@ const createPanRecognizer = (direction, thresh, maxAngle) => {
180
193
  if (!dirty) {
181
194
  return false;
182
195
  }
183
- const deltaX = (x - startX);
184
- const deltaY = (y - startY);
196
+ const deltaX = x - startX;
197
+ const deltaY = y - startY;
185
198
  const distance = deltaX * deltaX + deltaY * deltaY;
186
199
  if (distance < threshold) {
187
200
  return false;
@@ -205,10 +218,13 @@ const createPanRecognizer = (direction, thresh, maxAngle) => {
205
218
  },
206
219
  getDirection() {
207
220
  return isPan;
208
- }
221
+ },
209
222
  };
210
223
  };
211
224
 
225
+ /*!
226
+ * (C) Ionic http://ionicframework.com - MIT License
227
+ */
212
228
  const createGesture = (config) => {
213
229
  let hasCapturedPan = false;
214
230
  let hasStartedPan = false;
@@ -237,13 +253,13 @@ const createGesture = (config) => {
237
253
  deltaY: 0,
238
254
  currentTime: 0,
239
255
  event: undefined,
240
- data: undefined
256
+ data: undefined,
241
257
  };
242
258
  const pan = createPanRecognizer(finalConfig.direction, finalConfig.threshold, finalConfig.maxAngle);
243
259
  const gesture = GESTURE_CONTROLLER.createGesture({
244
260
  name: config.gestureName,
245
261
  priority: config.gesturePriority,
246
- disableScroll: config.disableScroll
262
+ disableScroll: config.disableScroll,
247
263
  });
248
264
  const pointerDown = (ev) => {
249
265
  const timeStamp = now(ev);
@@ -304,7 +320,7 @@ const createGesture = (config) => {
304
320
  }
305
321
  };
306
322
  const tryToCapturePan = () => {
307
- if (gesture && !gesture.capture()) {
323
+ if (!gesture.capture()) {
308
324
  return false;
309
325
  }
310
326
  hasCapturedPan = true;
@@ -327,10 +343,9 @@ const createGesture = (config) => {
327
343
  return true;
328
344
  };
329
345
  const blurActiveElement = () => {
330
- /* tslint:disable-next-line */
331
346
  if (typeof document !== 'undefined') {
332
347
  const activeElement = document.activeElement;
333
- if (activeElement !== null && activeElement.blur) {
348
+ if (activeElement === null || activeElement === void 0 ? void 0 : activeElement.blur) {
334
349
  activeElement.blur();
335
350
  }
336
351
  }
@@ -374,7 +389,7 @@ const createGesture = (config) => {
374
389
  };
375
390
  const pointerEvents = createPointerEvents(finalConfig.el, pointerDown, pointerMove, pointerUp, {
376
391
  capture: false,
377
- passive
392
+ passive,
378
393
  });
379
394
  const abortGesture = () => {
380
395
  reset();
@@ -396,7 +411,7 @@ const createGesture = (config) => {
396
411
  destroy() {
397
412
  gesture.destroy();
398
413
  pointerEvents.destroy();
399
- }
414
+ },
400
415
  };
401
416
  };
402
417
  const calcGestureData = (detail, ev) => {
@@ -409,7 +424,7 @@ const calcGestureData = (detail, ev) => {
409
424
  updateDetail(ev, detail);
410
425
  const currentX = detail.currentX;
411
426
  const currentY = detail.currentY;
412
- const timestamp = detail.currentTime = now(ev);
427
+ const timestamp = (detail.currentTime = now(ev));
413
428
  const timeDelta = timestamp - prevT;
414
429
  if (timeDelta > 0 && timeDelta < 100) {
415
430
  const velocityX = (currentX - prevX) / timeDelta;
@@ -1,12 +1,16 @@
1
- import { a as addEventListener, r as removeEventListener, b as raf, p as pointerCoord, c as componentOnReady } from './index.js';
1
+ import { g as getScrollElement, c as scrollByPoint, f as findClosestIonContent } from './index5.js';
2
+ import { a as addEventListener, b as removeEventListener, r as raf, p as pointerCoord, d as componentOnReady } from './helpers.js';
2
3
 
4
+ /*!
5
+ * (C) Ionic http://ionicframework.com - MIT License
6
+ */
3
7
  const cloneMap = new WeakMap();
4
- const relocateInput = (componentEl, inputEl, shouldRelocate, inputRelativeY = 0) => {
8
+ const relocateInput = (componentEl, inputEl, shouldRelocate, inputRelativeY = 0, disabledClonedInput = false) => {
5
9
  if (cloneMap.has(componentEl) === shouldRelocate) {
6
10
  return;
7
11
  }
8
12
  if (shouldRelocate) {
9
- addClone(componentEl, inputEl, inputRelativeY);
13
+ addClone(componentEl, inputEl, inputRelativeY, disabledClonedInput);
10
14
  }
11
15
  else {
12
16
  removeClone(componentEl, inputEl);
@@ -15,7 +19,7 @@ const relocateInput = (componentEl, inputEl, shouldRelocate, inputRelativeY = 0)
15
19
  const isFocused = (input) => {
16
20
  return input === input.getRootNode().activeElement;
17
21
  };
18
- const addClone = (componentEl, inputEl, inputRelativeY) => {
22
+ const addClone = (componentEl, inputEl, inputRelativeY, disabledClonedInput = false) => {
19
23
  // this allows for the actual input to receive the focus from
20
24
  // the user's touch event, but before it receives focus, it
21
25
  // moves the actual input to a location that will not screw
@@ -30,6 +34,21 @@ const addClone = (componentEl, inputEl, inputRelativeY) => {
30
34
  const clonedEl = inputEl.cloneNode(false);
31
35
  clonedEl.classList.add('cloned-input');
32
36
  clonedEl.tabIndex = -1;
37
+ /**
38
+ * Making the cloned input disabled prevents
39
+ * Chrome for Android from still scrolling
40
+ * the entire page since this cloned input
41
+ * will briefly be hidden by the keyboard
42
+ * even though it is not focused.
43
+ *
44
+ * This is not needed on iOS. While this
45
+ * does not cause functional issues on iOS,
46
+ * the input still appears slightly dimmed even
47
+ * if we set opacity: 1.
48
+ */
49
+ if (disabledClonedInput) {
50
+ clonedEl.disabled = true;
51
+ }
33
52
  parentEl.appendChild(clonedEl);
34
53
  cloneMap.set(componentEl, clonedEl);
35
54
  const doc = componentEl.ownerDocument;
@@ -47,9 +66,14 @@ const removeClone = (componentEl, inputEl) => {
47
66
  inputEl.style.transform = '';
48
67
  };
49
68
 
69
+ /*!
70
+ * (C) Ionic http://ionicframework.com - MIT License
71
+ */
50
72
  const enableHideCaretOnScroll = (componentEl, inputEl, scrollEl) => {
51
73
  if (!scrollEl || !inputEl) {
52
- return () => { return; };
74
+ return () => {
75
+ return;
76
+ };
53
77
  }
54
78
  const scrollHideCaret = (shouldHideCaret) => {
55
79
  if (isFocused(inputEl)) {
@@ -69,6 +93,9 @@ const enableHideCaretOnScroll = (componentEl, inputEl, scrollEl) => {
69
93
  };
70
94
  };
71
95
 
96
+ /*!
97
+ * (C) Ionic http://ionicframework.com - MIT License
98
+ */
72
99
  const SKIP_SELECTOR = 'input, textarea, [no-blur], [contenteditable]';
73
100
  const enableInputBlurring = () => {
74
101
  let focused = true;
@@ -103,7 +130,7 @@ const enableInputBlurring = () => {
103
130
  return;
104
131
  }
105
132
  focused = false;
106
- // TODO: find a better way, why 50ms?
133
+ // TODO FW-2796: find a better way, why 50ms?
107
134
  setTimeout(() => {
108
135
  if (!focused) {
109
136
  active.blur();
@@ -120,9 +147,13 @@ const enableInputBlurring = () => {
120
147
  };
121
148
  };
122
149
 
150
+ /*!
151
+ * (C) Ionic http://ionicframework.com - MIT License
152
+ */
123
153
  const SCROLL_ASSIST_SPEED = 0.3;
124
154
  const getScrollData = (componentEl, contentEl, keyboardHeight) => {
125
- const itemEl = componentEl.closest('ion-item,[ion-item]') || componentEl;
155
+ var _a;
156
+ const itemEl = (_a = componentEl.closest('ion-item,[ion-item]')) !== null && _a !== void 0 ? _a : componentEl;
126
157
  return calcScrollData(itemEl.getBoundingClientRect(), contentEl.getBoundingClientRect(), keyboardHeight, componentEl.ownerDocument.defaultView.innerHeight);
127
158
  };
128
159
  const calcScrollData = (inputRect, contentRect, keyboardHeight, platformHeight) => {
@@ -139,11 +170,7 @@ const calcScrollData = (inputRect, contentRect, keyboardHeight, platformHeight)
139
170
  const distanceToBottom = safeAreaBottom - inputBottom;
140
171
  const distanceToTop = safeAreaTop - inputTop;
141
172
  // desiredScrollAmount is the negated distance to the safe area according to our calculations.
142
- const desiredScrollAmount = Math.round((distanceToBottom < 0)
143
- ? -distanceToBottom
144
- : (distanceToTop > 0)
145
- ? -distanceToTop
146
- : 0);
173
+ const desiredScrollAmount = Math.round(distanceToBottom < 0 ? -distanceToBottom : distanceToTop > 0 ? -distanceToTop : 0);
147
174
  // our calculations make some assumptions that aren't always true, like the keyboard being closed when an input
148
175
  // gets focus, so make sure we don't scroll the input above the visible area
149
176
  const scrollAmount = Math.min(desiredScrollAmount, inputTop - visibleAreaTop);
@@ -154,11 +181,14 @@ const calcScrollData = (inputRect, contentRect, keyboardHeight, platformHeight)
154
181
  scrollAmount,
155
182
  scrollDuration,
156
183
  scrollPadding: keyboardHeight,
157
- inputSafeY: -(inputTop - safeAreaTop) + 4
184
+ inputSafeY: -(inputTop - safeAreaTop) + 4,
158
185
  };
159
186
  };
160
187
 
161
- const enableScrollAssist = (componentEl, inputEl, contentEl, footerEl, keyboardHeight) => {
188
+ /*!
189
+ * (C) Ionic http://ionicframework.com - MIT License
190
+ */
191
+ const enableScrollAssist = (componentEl, inputEl, contentEl, footerEl, keyboardHeight, disableClonedInput = false) => {
162
192
  let coord;
163
193
  const touchStart = (ev) => {
164
194
  coord = pointerCoord(ev);
@@ -173,19 +203,18 @@ const enableScrollAssist = (componentEl, inputEl, contentEl, footerEl, keyboardH
173
203
  // focus this input if the pointer hasn't moved XX pixels
174
204
  // and the input doesn't already have focus
175
205
  if (!hasPointerMoved(6, coord, endCoord) && !isFocused(inputEl)) {
176
- ev.stopPropagation();
177
206
  // begin the input focus process
178
- jsSetFocus(componentEl, inputEl, contentEl, footerEl, keyboardHeight);
207
+ jsSetFocus(componentEl, inputEl, contentEl, footerEl, keyboardHeight, disableClonedInput);
179
208
  }
180
209
  };
181
- componentEl.addEventListener('touchstart', touchStart, true);
210
+ componentEl.addEventListener('touchstart', touchStart, { capture: true, passive: true });
182
211
  componentEl.addEventListener('touchend', touchEnd, true);
183
212
  return () => {
184
213
  componentEl.removeEventListener('touchstart', touchStart, true);
185
214
  componentEl.removeEventListener('touchend', touchEnd, true);
186
215
  };
187
216
  };
188
- const jsSetFocus = async (componentEl, inputEl, contentEl, footerEl, keyboardHeight) => {
217
+ const jsSetFocus = async (componentEl, inputEl, contentEl, footerEl, keyboardHeight, disableClonedInput = false) => {
189
218
  if (!contentEl && !footerEl) {
190
219
  return;
191
220
  }
@@ -199,7 +228,7 @@ const jsSetFocus = async (componentEl, inputEl, contentEl, footerEl, keyboardHei
199
228
  // temporarily move the focus to the focus holder so the browser
200
229
  // doesn't freak out while it's trying to get the input in place
201
230
  // at this point the native text input still does not have focus
202
- relocateInput(componentEl, inputEl, true, scrollData.inputSafeY);
231
+ relocateInput(componentEl, inputEl, true, scrollData.inputSafeY, disableClonedInput);
203
232
  inputEl.focus();
204
233
  /**
205
234
  * Relocating/Focusing input causes the
@@ -207,7 +236,6 @@ const jsSetFocus = async (componentEl, inputEl, contentEl, footerEl, keyboardHei
207
236
  * manually fire one here.
208
237
  */
209
238
  raf(() => componentEl.click());
210
- /* tslint:disable-next-line */
211
239
  if (typeof window !== 'undefined') {
212
240
  let scrollContentTimeout;
213
241
  const scrollContent = async () => {
@@ -219,7 +247,7 @@ const jsSetFocus = async (componentEl, inputEl, contentEl, footerEl, keyboardHei
219
247
  window.removeEventListener('ionKeyboardDidShow', scrollContent);
220
248
  // scroll the input into place
221
249
  if (contentEl) {
222
- await contentEl.scrollByPoint(0, scrollData.scrollAmount, scrollData.scrollDuration);
250
+ await scrollByPoint(contentEl, 0, scrollData.scrollAmount, scrollData.scrollDuration);
223
251
  }
224
252
  // the scroll view is in the correct position now
225
253
  // give the native text input focus
@@ -232,7 +260,7 @@ const jsSetFocus = async (componentEl, inputEl, contentEl, footerEl, keyboardHei
232
260
  window.addEventListener('ionKeyboardDidShow', scrollContent);
233
261
  };
234
262
  if (contentEl) {
235
- const scrollEl = await contentEl.getScrollElement();
263
+ const scrollEl = await getScrollElement(contentEl);
236
264
  /**
237
265
  * scrollData will only consider the amount we need
238
266
  * to scroll in order to properly bring the input
@@ -246,7 +274,7 @@ const jsSetFocus = async (componentEl, inputEl, contentEl, footerEl, keyboardHei
246
274
  * bandwidth to become available.
247
275
  */
248
276
  const totalScrollAmount = scrollEl.scrollHeight - scrollEl.clientHeight;
249
- if (scrollData.scrollAmount > (totalScrollAmount - scrollEl.scrollTop)) {
277
+ if (scrollData.scrollAmount > totalScrollAmount - scrollEl.scrollTop) {
250
278
  /**
251
279
  * On iOS devices, the system will show a "Passwords" bar above the keyboard
252
280
  * after the initial keyboard is shown. This prevents the webview from resizing
@@ -275,14 +303,17 @@ const jsSetFocus = async (componentEl, inputEl, contentEl, footerEl, keyboardHei
275
303
  };
276
304
  const hasPointerMoved = (threshold, startCoord, endCoord) => {
277
305
  if (startCoord && endCoord) {
278
- const deltaX = (startCoord.x - endCoord.x);
279
- const deltaY = (startCoord.y - endCoord.y);
306
+ const deltaX = startCoord.x - endCoord.x;
307
+ const deltaY = startCoord.y - endCoord.y;
280
308
  const distance = deltaX * deltaX + deltaY * deltaY;
281
- return distance > (threshold * threshold);
309
+ return distance > threshold * threshold;
282
310
  }
283
311
  return false;
284
312
  };
285
313
 
314
+ /*!
315
+ * (C) Ionic http://ionicframework.com - MIT License
316
+ */
286
317
  const PADDING_TIMER_KEY = '$ionPaddingTimer';
287
318
  const enableScrollPadding = (keyboardHeight) => {
288
319
  const doc = document;
@@ -300,18 +331,17 @@ const enableScrollPadding = (keyboardHeight) => {
300
331
  };
301
332
  };
302
333
  const setScrollPadding = (input, keyboardHeight) => {
334
+ var _a, _b;
303
335
  if (input.tagName !== 'INPUT') {
304
336
  return;
305
337
  }
306
338
  if (input.parentElement && input.parentElement.tagName === 'ION-INPUT') {
307
339
  return;
308
340
  }
309
- if (input.parentElement &&
310
- input.parentElement.parentElement &&
311
- input.parentElement.parentElement.tagName === 'ION-SEARCHBAR') {
341
+ if (((_b = (_a = input.parentElement) === null || _a === void 0 ? void 0 : _a.parentElement) === null || _b === void 0 ? void 0 : _b.tagName) === 'ION-SEARCHBAR') {
312
342
  return;
313
343
  }
314
- const el = input.closest('ion-content');
344
+ const el = findClosestIonContent(input);
315
345
  if (el === null) {
316
346
  return;
317
347
  }
@@ -329,24 +359,34 @@ const setScrollPadding = (input, keyboardHeight) => {
329
359
  }
330
360
  };
331
361
 
362
+ /*!
363
+ * (C) Ionic http://ionicframework.com - MIT License
364
+ */
332
365
  const INPUT_BLURRING = true;
333
366
  const SCROLL_PADDING = true;
334
- const startInputShims = (config) => {
367
+ const startInputShims = (config, platform) => {
335
368
  const doc = document;
369
+ const isIOS = platform === 'ios';
370
+ const isAndroid = platform === 'android';
371
+ /**
372
+ * Hide Caret and Input Blurring are needed on iOS.
373
+ * Scroll Assist and Scroll Padding are needed on iOS and Android
374
+ * with Chrome web browser (not Chrome webview).
375
+ */
336
376
  const keyboardHeight = config.getNumber('keyboardHeight', 290);
337
377
  const scrollAssist = config.getBoolean('scrollAssist', true);
338
- const hideCaret = config.getBoolean('hideCaretOnScroll', true);
339
- const inputBlurring = config.getBoolean('inputBlurring', true);
378
+ const hideCaret = config.getBoolean('hideCaretOnScroll', isIOS);
379
+ const inputBlurring = config.getBoolean('inputBlurring', isIOS);
340
380
  const scrollPadding = config.getBoolean('scrollPadding', true);
341
381
  const inputs = Array.from(doc.querySelectorAll('ion-input, ion-textarea'));
342
382
  const hideCaretMap = new WeakMap();
343
383
  const scrollAssistMap = new WeakMap();
344
384
  const registerInput = async (componentEl) => {
345
- await new Promise(resolve => componentOnReady(componentEl, resolve));
385
+ await new Promise((resolve) => componentOnReady(componentEl, resolve));
346
386
  const inputRoot = componentEl.shadowRoot || componentEl;
347
387
  const inputEl = inputRoot.querySelector('input') || inputRoot.querySelector('textarea');
348
- const scrollEl = componentEl.closest('ion-content');
349
- const footerEl = (!scrollEl) ? componentEl.closest('ion-footer') : null;
388
+ const scrollEl = findClosestIonContent(componentEl);
389
+ const footerEl = !scrollEl ? componentEl.closest('ion-footer') : null;
350
390
  if (!inputEl) {
351
391
  return;
352
392
  }
@@ -354,8 +394,18 @@ const startInputShims = (config) => {
354
394
  const rmFn = enableHideCaretOnScroll(componentEl, inputEl, scrollEl);
355
395
  hideCaretMap.set(componentEl, rmFn);
356
396
  }
357
- if ((!!scrollEl || !!footerEl) && scrollAssist && !scrollAssistMap.has(componentEl)) {
358
- const rmFn = enableScrollAssist(componentEl, inputEl, scrollEl, footerEl, keyboardHeight);
397
+ /**
398
+ * date/datetime-locale inputs on mobile devices show date picker
399
+ * overlays instead of keyboards. As a result, scroll assist is
400
+ * not needed. This also works around a bug in iOS <16 where
401
+ * scroll assist causes the browser to lock up. See FW-1997.
402
+ */
403
+ const isDateInput = inputEl.type === 'date' || inputEl.type === 'datetime-local';
404
+ if (!isDateInput &&
405
+ (!!scrollEl || !!footerEl) &&
406
+ scrollAssist &&
407
+ !scrollAssistMap.has(componentEl)) {
408
+ const rmFn = enableScrollAssist(componentEl, inputEl, scrollEl, footerEl, keyboardHeight, isAndroid);
359
409
  scrollAssistMap.set(componentEl, rmFn);
360
410
  }
361
411
  };
@@ -0,0 +1,228 @@
1
+ import { proxyCustomElement, HTMLElement, createEvent, h, Host } from '@stencil/core/internal/client';
2
+ import { g as getIonMode } from './ionic-global.js';
3
+
4
+ const accordionGroupIosCss = ":host{display:block}:host(.accordion-group-expand-inset){margin-left:16px;margin-right:16px;margin-top:16px;margin-bottom:16px}@supports (margin-inline-start: 0) or (-webkit-margin-start: 0){:host(.accordion-group-expand-inset){margin-left:unset;margin-right:unset;-webkit-margin-start:16px;margin-inline-start:16px;-webkit-margin-end:16px;margin-inline-end:16px}}:host(.accordion-group-expand-inset) ::slotted(ion-accordion.accordion-expanding),:host(.accordion-group-expand-inset) ::slotted(ion-accordion.accordion-expanded){border-bottom:none}";
5
+
6
+ const accordionGroupMdCss = ":host{display:block}:host(.accordion-group-expand-inset){margin-left:16px;margin-right:16px;margin-top:16px;margin-bottom:16px}@supports (margin-inline-start: 0) or (-webkit-margin-start: 0){:host(.accordion-group-expand-inset){margin-left:unset;margin-right:unset;-webkit-margin-start:16px;margin-inline-start:16px;-webkit-margin-end:16px;margin-inline-end:16px}}:host(.accordion-group-expand-inset) ::slotted(ion-accordion){box-shadow:0px 3px 1px -2px rgba(0, 0, 0, 0.2), 0px 2px 2px 0px rgba(0, 0, 0, 0.14), 0px 1px 5px 0px rgba(0, 0, 0, 0.12)}:host(.accordion-group-expand-inset) ::slotted(ion-accordion.accordion-expanding),:host(.accordion-group-expand-inset) ::slotted(ion-accordion.accordion-expanded){margin-left:0;margin-right:0;margin-top:16px;margin-bottom:16px;border-radius:6px}:host(.accordion-group-expand-inset) ::slotted(ion-accordion.accordion-previous){border-bottom-right-radius:6px;border-bottom-left-radius:6px}:host-context([dir=rtl]):host(.accordion-group-expand-inset) ::slotted(ion-accordion.accordion-previous),:host-context([dir=rtl]).accordion-group-expand-inset ::slotted(ion-accordion.accordion-previous){border-bottom-right-radius:6px;border-bottom-left-radius:6px}:host(.accordion-group-expand-inset) ::slotted(ion-accordion.accordion-next){border-top-left-radius:6px;border-top-right-radius:6px}:host-context([dir=rtl]):host(.accordion-group-expand-inset) ::slotted(ion-accordion.accordion-next),:host-context([dir=rtl]).accordion-group-expand-inset ::slotted(ion-accordion.accordion-next){border-top-left-radius:6px;border-top-right-radius:6px}:host(.accordion-group-expand-inset) ::slotted(ion-accordion):first-of-type{margin-left:0;margin-right:0;margin-top:0;margin-bottom:0}";
7
+
8
+ const AccordionGroup = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
9
+ constructor() {
10
+ super();
11
+ this.__registerHost();
12
+ this.__attachShadow();
13
+ this.ionChange = createEvent(this, "ionChange", 7);
14
+ /**
15
+ * If `true`, all accordions inside of the
16
+ * accordion group will animate when expanding
17
+ * or collapsing.
18
+ */
19
+ this.animated = true;
20
+ /**
21
+ * If `true`, the accordion group cannot be interacted with.
22
+ */
23
+ this.disabled = false;
24
+ /**
25
+ * If `true`, the accordion group cannot be interacted with,
26
+ * but does not alter the opacity.
27
+ */
28
+ this.readonly = false;
29
+ /**
30
+ * Describes the expansion behavior for each accordion.
31
+ * Possible values are `"compact"` and `"inset"`.
32
+ * Defaults to `"compact"`.
33
+ */
34
+ this.expand = 'compact';
35
+ }
36
+ valueChanged() {
37
+ const { value, multiple } = this;
38
+ /**
39
+ * If accordion group does not
40
+ * let multiple accordions be open
41
+ * at once, but user passes an array
42
+ * just grab the first value.
43
+ */
44
+ if (!multiple && Array.isArray(value)) {
45
+ this.value = value[0];
46
+ }
47
+ else {
48
+ this.ionChange.emit({ value: this.value });
49
+ }
50
+ }
51
+ async disabledChanged() {
52
+ const { disabled } = this;
53
+ const accordions = await this.getAccordions();
54
+ for (const accordion of accordions) {
55
+ accordion.disabled = disabled;
56
+ }
57
+ }
58
+ async readonlyChanged() {
59
+ const { readonly } = this;
60
+ const accordions = await this.getAccordions();
61
+ for (const accordion of accordions) {
62
+ accordion.readonly = readonly;
63
+ }
64
+ }
65
+ async onKeydown(ev) {
66
+ const activeElement = document.activeElement;
67
+ if (!activeElement) {
68
+ return;
69
+ }
70
+ /**
71
+ * Make sure focus is in the header, not the body, of the accordion. This ensures
72
+ * that if there are any interactable elements in the body, their keyboard
73
+ * interaction doesn't get stolen by the accordion. Example: using up/down keys
74
+ * in ion-textarea.
75
+ */
76
+ const activeAccordionHeader = activeElement.closest('ion-accordion [slot="header"]');
77
+ if (!activeAccordionHeader) {
78
+ return;
79
+ }
80
+ const accordionEl = activeElement.tagName === 'ION-ACCORDION' ? activeElement : activeElement.closest('ion-accordion');
81
+ if (!accordionEl) {
82
+ return;
83
+ }
84
+ const closestGroup = accordionEl.closest('ion-accordion-group');
85
+ if (closestGroup !== this.el) {
86
+ return;
87
+ }
88
+ // If the active accordion is not in the current array of accordions, do not do anything
89
+ const accordions = await this.getAccordions();
90
+ const startingIndex = accordions.findIndex((a) => a === accordionEl);
91
+ if (startingIndex === -1) {
92
+ return;
93
+ }
94
+ let accordion;
95
+ if (ev.key === 'ArrowDown') {
96
+ accordion = this.findNextAccordion(accordions, startingIndex);
97
+ }
98
+ else if (ev.key === 'ArrowUp') {
99
+ accordion = this.findPreviousAccordion(accordions, startingIndex);
100
+ }
101
+ else if (ev.key === 'Home') {
102
+ accordion = accordions[0];
103
+ }
104
+ else if (ev.key === 'End') {
105
+ accordion = accordions[accordions.length - 1];
106
+ }
107
+ if (accordion !== undefined && accordion !== activeElement) {
108
+ accordion.focus();
109
+ }
110
+ }
111
+ async componentDidLoad() {
112
+ if (this.disabled) {
113
+ this.disabledChanged();
114
+ }
115
+ if (this.readonly) {
116
+ this.readonlyChanged();
117
+ }
118
+ }
119
+ /**
120
+ * @internal
121
+ */
122
+ async requestAccordionToggle(accordionValue, accordionExpand) {
123
+ const { multiple, value, readonly, disabled } = this;
124
+ if (readonly || disabled) {
125
+ return;
126
+ }
127
+ if (accordionExpand) {
128
+ /**
129
+ * If group accepts multiple values
130
+ * check to see if value is already in
131
+ * in values array. If not, add it
132
+ * to the array.
133
+ */
134
+ if (multiple) {
135
+ const groupValue = value !== null && value !== void 0 ? value : [];
136
+ const processedValue = Array.isArray(groupValue) ? groupValue : [groupValue];
137
+ const valueExists = processedValue.find((v) => v === accordionValue);
138
+ if (valueExists === undefined && accordionValue !== undefined) {
139
+ this.value = [...processedValue, accordionValue];
140
+ }
141
+ }
142
+ else {
143
+ this.value = accordionValue;
144
+ }
145
+ }
146
+ else {
147
+ /**
148
+ * If collapsing accordion, either filter the value
149
+ * out of the values array or unset the value.
150
+ */
151
+ if (multiple) {
152
+ const groupValue = value !== null && value !== void 0 ? value : [];
153
+ const processedValue = Array.isArray(groupValue) ? groupValue : [groupValue];
154
+ this.value = processedValue.filter((v) => v !== accordionValue);
155
+ }
156
+ else {
157
+ this.value = undefined;
158
+ }
159
+ }
160
+ }
161
+ findNextAccordion(accordions, startingIndex) {
162
+ const nextAccordion = accordions[startingIndex + 1];
163
+ if (nextAccordion === undefined) {
164
+ return accordions[0];
165
+ }
166
+ return nextAccordion;
167
+ }
168
+ findPreviousAccordion(accordions, startingIndex) {
169
+ const prevAccordion = accordions[startingIndex - 1];
170
+ if (prevAccordion === undefined) {
171
+ return accordions[accordions.length - 1];
172
+ }
173
+ return prevAccordion;
174
+ }
175
+ /**
176
+ * @internal
177
+ */
178
+ async getAccordions() {
179
+ return Array.from(this.el.querySelectorAll(':scope > ion-accordion'));
180
+ }
181
+ render() {
182
+ const { disabled, readonly, expand } = this;
183
+ const mode = getIonMode(this);
184
+ return (h(Host, { class: {
185
+ [mode]: true,
186
+ 'accordion-group-disabled': disabled,
187
+ 'accordion-group-readonly': readonly,
188
+ [`accordion-group-expand-${expand}`]: true,
189
+ }, role: "presentation" }, h("slot", null)));
190
+ }
191
+ get el() { return this; }
192
+ static get watchers() { return {
193
+ "value": ["valueChanged"],
194
+ "disabled": ["disabledChanged"],
195
+ "readonly": ["readonlyChanged"]
196
+ }; }
197
+ static get style() { return {
198
+ ios: accordionGroupIosCss,
199
+ md: accordionGroupMdCss
200
+ }; }
201
+ }, [33, "ion-accordion-group", {
202
+ "animated": [4],
203
+ "multiple": [4],
204
+ "value": [1025],
205
+ "disabled": [4],
206
+ "readonly": [4],
207
+ "expand": [1],
208
+ "requestAccordionToggle": [64],
209
+ "getAccordions": [64]
210
+ }, [[0, "keydown", "onKeydown"]]]);
211
+ function defineCustomElement$1() {
212
+ if (typeof customElements === "undefined") {
213
+ return;
214
+ }
215
+ const components = ["ion-accordion-group"];
216
+ components.forEach(tagName => { switch (tagName) {
217
+ case "ion-accordion-group":
218
+ if (!customElements.get(tagName)) {
219
+ customElements.define(tagName, AccordionGroup);
220
+ }
221
+ break;
222
+ } });
223
+ }
224
+
225
+ const IonAccordionGroup = AccordionGroup;
226
+ const defineCustomElement = defineCustomElement$1;
227
+
228
+ export { IonAccordionGroup, defineCustomElement };