@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
@@ -0,0 +1,128 @@
1
+ import { c as componentOnReady } from './helpers-aeff219b.js';
2
+ import { b as printRequiredElementError } from './index-1f3d8582.js';
3
+
4
+ /*!
5
+ * (C) Ionic http://ionicframework.com - MIT License
6
+ */
7
+ const ION_CONTENT_TAG_NAME = 'ION-CONTENT';
8
+ const ION_CONTENT_ELEMENT_SELECTOR = 'ion-content';
9
+ const ION_CONTENT_CLASS_SELECTOR = '.ion-content-scroll-host';
10
+ /**
11
+ * Selector used for implementations reliant on `<ion-content>` for scroll event changes.
12
+ *
13
+ * Developers should use the `.ion-content-scroll-host` selector to target the element emitting
14
+ * scroll events. With virtual scroll implementations this will be the host element for
15
+ * the scroll viewport.
16
+ */
17
+ const ION_CONTENT_SELECTOR = `${ION_CONTENT_ELEMENT_SELECTOR}, ${ION_CONTENT_CLASS_SELECTOR}`;
18
+ const isIonContent = (el) => el.tagName === ION_CONTENT_TAG_NAME;
19
+ /**
20
+ * Waits for the element host fully initialize before
21
+ * returning the inner scroll element.
22
+ *
23
+ * For `ion-content` the scroll target will be the result
24
+ * of the `getScrollElement` function.
25
+ *
26
+ * For custom implementations it will be the element host
27
+ * or a selector within the host, if supplied through `scrollTarget`.
28
+ */
29
+ const getScrollElement = async (el) => {
30
+ if (isIonContent(el)) {
31
+ await new Promise((resolve) => componentOnReady(el, resolve));
32
+ return el.getScrollElement();
33
+ }
34
+ return el;
35
+ };
36
+ /**
37
+ * Queries the element matching the selector for IonContent.
38
+ * See ION_CONTENT_SELECTOR for the selector used.
39
+ */
40
+ const findIonContent = (el) => {
41
+ /**
42
+ * First we try to query the custom scroll host selector in cases where
43
+ * the implementation is using an outer `ion-content` with an inner custom
44
+ * scroll container.
45
+ */
46
+ const customContentHost = el.querySelector(ION_CONTENT_CLASS_SELECTOR);
47
+ if (customContentHost) {
48
+ return customContentHost;
49
+ }
50
+ return el.querySelector(ION_CONTENT_SELECTOR);
51
+ };
52
+ /**
53
+ * Queries the closest element matching the selector for IonContent.
54
+ */
55
+ const findClosestIonContent = (el) => {
56
+ return el.closest(ION_CONTENT_SELECTOR);
57
+ };
58
+ /**
59
+ * Scrolls to the top of the element. If an `ion-content` is found, it will scroll
60
+ * using the public API `scrollToTop` with a duration.
61
+ */
62
+ const scrollToTop = (el, durationMs) => {
63
+ if (isIonContent(el)) {
64
+ const content = el;
65
+ return content.scrollToTop(durationMs);
66
+ }
67
+ return Promise.resolve(el.scrollTo({
68
+ top: 0,
69
+ left: 0,
70
+ behavior: durationMs > 0 ? 'smooth' : 'auto',
71
+ }));
72
+ };
73
+ /**
74
+ * Scrolls by a specified X/Y distance in the component. If an `ion-content` is found, it will scroll
75
+ * using the public API `scrollByPoint` with a duration.
76
+ */
77
+ const scrollByPoint = (el, x, y, durationMs) => {
78
+ if (isIonContent(el)) {
79
+ const content = el;
80
+ return content.scrollByPoint(x, y, durationMs);
81
+ }
82
+ return Promise.resolve(el.scrollBy({
83
+ top: y,
84
+ left: x,
85
+ behavior: durationMs > 0 ? 'smooth' : 'auto',
86
+ }));
87
+ };
88
+ /**
89
+ * Prints an error informing developers that an implementation requires an element to be used
90
+ * within either the `ion-content` selector or the `.ion-content-scroll-host` class.
91
+ */
92
+ const printIonContentErrorMsg = (el) => {
93
+ return printRequiredElementError(el, ION_CONTENT_ELEMENT_SELECTOR);
94
+ };
95
+ /**
96
+ * Several components in Ionic need to prevent scrolling
97
+ * during a gesture (card modal, range, item sliding, etc).
98
+ * Use this utility to account for ion-content and custom content hosts.
99
+ */
100
+ const disableContentScrollY = (contentEl) => {
101
+ if (isIonContent(contentEl)) {
102
+ const ionContent = contentEl;
103
+ const initialScrollY = ionContent.scrollY;
104
+ ionContent.scrollY = false;
105
+ /**
106
+ * This should be passed into resetContentScrollY
107
+ * so that we can revert ion-content's scrollY to the
108
+ * correct state. For example, if scrollY = false
109
+ * initially, we do not want to enable scrolling
110
+ * when we call resetContentScrollY.
111
+ */
112
+ return initialScrollY;
113
+ }
114
+ else {
115
+ contentEl.style.setProperty('overflow', 'hidden');
116
+ return true;
117
+ }
118
+ };
119
+ const resetContentScrollY = (contentEl, initialScrollY) => {
120
+ if (isIonContent(contentEl)) {
121
+ contentEl.scrollY = initialScrollY;
122
+ }
123
+ else {
124
+ contentEl.style.removeProperty('overflow');
125
+ }
126
+ };
127
+
128
+ export { ION_CONTENT_ELEMENT_SELECTOR as I, findClosestIonContent as a, ION_CONTENT_CLASS_SELECTOR as b, scrollByPoint as c, disableContentScrollY as d, findIonContent as f, getScrollElement as g, isIonContent as i, printIonContentErrorMsg as p, resetContentScrollY as r, scrollToTop as s };
@@ -1,12 +1,17 @@
1
- import { b as addEventListener, e as removeEventListener, r as raf, p as pointerCoord, a as componentOnReady } from './helpers-44e3bd9f.js';
1
+ import { g as getScrollElement, c as scrollByPoint, a as findClosestIonContent } from './index-ebf7f059.js';
2
+ import { e as addEventListener, f as removeEventListener, r as raf, q as pointerCoord, c as componentOnReady } from './helpers-aeff219b.js';
3
+ import './index-1f3d8582.js';
2
4
 
5
+ /*!
6
+ * (C) Ionic http://ionicframework.com - MIT License
7
+ */
3
8
  const cloneMap = new WeakMap();
4
- const relocateInput = (componentEl, inputEl, shouldRelocate, inputRelativeY = 0) => {
9
+ const relocateInput = (componentEl, inputEl, shouldRelocate, inputRelativeY = 0, disabledClonedInput = false) => {
5
10
  if (cloneMap.has(componentEl) === shouldRelocate) {
6
11
  return;
7
12
  }
8
13
  if (shouldRelocate) {
9
- addClone(componentEl, inputEl, inputRelativeY);
14
+ addClone(componentEl, inputEl, inputRelativeY, disabledClonedInput);
10
15
  }
11
16
  else {
12
17
  removeClone(componentEl, inputEl);
@@ -15,7 +20,7 @@ const relocateInput = (componentEl, inputEl, shouldRelocate, inputRelativeY = 0)
15
20
  const isFocused = (input) => {
16
21
  return input === input.getRootNode().activeElement;
17
22
  };
18
- const addClone = (componentEl, inputEl, inputRelativeY) => {
23
+ const addClone = (componentEl, inputEl, inputRelativeY, disabledClonedInput = false) => {
19
24
  // this allows for the actual input to receive the focus from
20
25
  // the user's touch event, but before it receives focus, it
21
26
  // moves the actual input to a location that will not screw
@@ -30,6 +35,21 @@ const addClone = (componentEl, inputEl, inputRelativeY) => {
30
35
  const clonedEl = inputEl.cloneNode(false);
31
36
  clonedEl.classList.add('cloned-input');
32
37
  clonedEl.tabIndex = -1;
38
+ /**
39
+ * Making the cloned input disabled prevents
40
+ * Chrome for Android from still scrolling
41
+ * the entire page since this cloned input
42
+ * will briefly be hidden by the keyboard
43
+ * even though it is not focused.
44
+ *
45
+ * This is not needed on iOS. While this
46
+ * does not cause functional issues on iOS,
47
+ * the input still appears slightly dimmed even
48
+ * if we set opacity: 1.
49
+ */
50
+ if (disabledClonedInput) {
51
+ clonedEl.disabled = true;
52
+ }
33
53
  parentEl.appendChild(clonedEl);
34
54
  cloneMap.set(componentEl, clonedEl);
35
55
  const doc = componentEl.ownerDocument;
@@ -47,9 +67,14 @@ const removeClone = (componentEl, inputEl) => {
47
67
  inputEl.style.transform = '';
48
68
  };
49
69
 
70
+ /*!
71
+ * (C) Ionic http://ionicframework.com - MIT License
72
+ */
50
73
  const enableHideCaretOnScroll = (componentEl, inputEl, scrollEl) => {
51
74
  if (!scrollEl || !inputEl) {
52
- return () => { return; };
75
+ return () => {
76
+ return;
77
+ };
53
78
  }
54
79
  const scrollHideCaret = (shouldHideCaret) => {
55
80
  if (isFocused(inputEl)) {
@@ -69,6 +94,9 @@ const enableHideCaretOnScroll = (componentEl, inputEl, scrollEl) => {
69
94
  };
70
95
  };
71
96
 
97
+ /*!
98
+ * (C) Ionic http://ionicframework.com - MIT License
99
+ */
72
100
  const SKIP_SELECTOR = 'input, textarea, [no-blur], [contenteditable]';
73
101
  const enableInputBlurring = () => {
74
102
  let focused = true;
@@ -103,7 +131,7 @@ const enableInputBlurring = () => {
103
131
  return;
104
132
  }
105
133
  focused = false;
106
- // TODO: find a better way, why 50ms?
134
+ // TODO FW-2796: find a better way, why 50ms?
107
135
  setTimeout(() => {
108
136
  if (!focused) {
109
137
  active.blur();
@@ -120,9 +148,13 @@ const enableInputBlurring = () => {
120
148
  };
121
149
  };
122
150
 
151
+ /*!
152
+ * (C) Ionic http://ionicframework.com - MIT License
153
+ */
123
154
  const SCROLL_ASSIST_SPEED = 0.3;
124
155
  const getScrollData = (componentEl, contentEl, keyboardHeight) => {
125
- const itemEl = componentEl.closest('ion-item,[ion-item]') || componentEl;
156
+ var _a;
157
+ const itemEl = (_a = componentEl.closest('ion-item,[ion-item]')) !== null && _a !== void 0 ? _a : componentEl;
126
158
  return calcScrollData(itemEl.getBoundingClientRect(), contentEl.getBoundingClientRect(), keyboardHeight, componentEl.ownerDocument.defaultView.innerHeight);
127
159
  };
128
160
  const calcScrollData = (inputRect, contentRect, keyboardHeight, platformHeight) => {
@@ -139,11 +171,7 @@ const calcScrollData = (inputRect, contentRect, keyboardHeight, platformHeight)
139
171
  const distanceToBottom = safeAreaBottom - inputBottom;
140
172
  const distanceToTop = safeAreaTop - inputTop;
141
173
  // 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);
174
+ const desiredScrollAmount = Math.round(distanceToBottom < 0 ? -distanceToBottom : distanceToTop > 0 ? -distanceToTop : 0);
147
175
  // our calculations make some assumptions that aren't always true, like the keyboard being closed when an input
148
176
  // gets focus, so make sure we don't scroll the input above the visible area
149
177
  const scrollAmount = Math.min(desiredScrollAmount, inputTop - visibleAreaTop);
@@ -154,11 +182,14 @@ const calcScrollData = (inputRect, contentRect, keyboardHeight, platformHeight)
154
182
  scrollAmount,
155
183
  scrollDuration,
156
184
  scrollPadding: keyboardHeight,
157
- inputSafeY: -(inputTop - safeAreaTop) + 4
185
+ inputSafeY: -(inputTop - safeAreaTop) + 4,
158
186
  };
159
187
  };
160
188
 
161
- const enableScrollAssist = (componentEl, inputEl, contentEl, footerEl, keyboardHeight) => {
189
+ /*!
190
+ * (C) Ionic http://ionicframework.com - MIT License
191
+ */
192
+ const enableScrollAssist = (componentEl, inputEl, contentEl, footerEl, keyboardHeight, disableClonedInput = false) => {
162
193
  let coord;
163
194
  const touchStart = (ev) => {
164
195
  coord = pointerCoord(ev);
@@ -173,19 +204,18 @@ const enableScrollAssist = (componentEl, inputEl, contentEl, footerEl, keyboardH
173
204
  // focus this input if the pointer hasn't moved XX pixels
174
205
  // and the input doesn't already have focus
175
206
  if (!hasPointerMoved(6, coord, endCoord) && !isFocused(inputEl)) {
176
- ev.stopPropagation();
177
207
  // begin the input focus process
178
- jsSetFocus(componentEl, inputEl, contentEl, footerEl, keyboardHeight);
208
+ jsSetFocus(componentEl, inputEl, contentEl, footerEl, keyboardHeight, disableClonedInput);
179
209
  }
180
210
  };
181
- componentEl.addEventListener('touchstart', touchStart, true);
211
+ componentEl.addEventListener('touchstart', touchStart, { capture: true, passive: true });
182
212
  componentEl.addEventListener('touchend', touchEnd, true);
183
213
  return () => {
184
214
  componentEl.removeEventListener('touchstart', touchStart, true);
185
215
  componentEl.removeEventListener('touchend', touchEnd, true);
186
216
  };
187
217
  };
188
- const jsSetFocus = async (componentEl, inputEl, contentEl, footerEl, keyboardHeight) => {
218
+ const jsSetFocus = async (componentEl, inputEl, contentEl, footerEl, keyboardHeight, disableClonedInput = false) => {
189
219
  if (!contentEl && !footerEl) {
190
220
  return;
191
221
  }
@@ -199,7 +229,7 @@ const jsSetFocus = async (componentEl, inputEl, contentEl, footerEl, keyboardHei
199
229
  // temporarily move the focus to the focus holder so the browser
200
230
  // doesn't freak out while it's trying to get the input in place
201
231
  // at this point the native text input still does not have focus
202
- relocateInput(componentEl, inputEl, true, scrollData.inputSafeY);
232
+ relocateInput(componentEl, inputEl, true, scrollData.inputSafeY, disableClonedInput);
203
233
  inputEl.focus();
204
234
  /**
205
235
  * Relocating/Focusing input causes the
@@ -207,7 +237,6 @@ const jsSetFocus = async (componentEl, inputEl, contentEl, footerEl, keyboardHei
207
237
  * manually fire one here.
208
238
  */
209
239
  raf(() => componentEl.click());
210
- /* tslint:disable-next-line */
211
240
  if (typeof window !== 'undefined') {
212
241
  let scrollContentTimeout;
213
242
  const scrollContent = async () => {
@@ -219,7 +248,7 @@ const jsSetFocus = async (componentEl, inputEl, contentEl, footerEl, keyboardHei
219
248
  window.removeEventListener('ionKeyboardDidShow', scrollContent);
220
249
  // scroll the input into place
221
250
  if (contentEl) {
222
- await contentEl.scrollByPoint(0, scrollData.scrollAmount, scrollData.scrollDuration);
251
+ await scrollByPoint(contentEl, 0, scrollData.scrollAmount, scrollData.scrollDuration);
223
252
  }
224
253
  // the scroll view is in the correct position now
225
254
  // give the native text input focus
@@ -232,7 +261,7 @@ const jsSetFocus = async (componentEl, inputEl, contentEl, footerEl, keyboardHei
232
261
  window.addEventListener('ionKeyboardDidShow', scrollContent);
233
262
  };
234
263
  if (contentEl) {
235
- const scrollEl = await contentEl.getScrollElement();
264
+ const scrollEl = await getScrollElement(contentEl);
236
265
  /**
237
266
  * scrollData will only consider the amount we need
238
267
  * to scroll in order to properly bring the input
@@ -246,7 +275,7 @@ const jsSetFocus = async (componentEl, inputEl, contentEl, footerEl, keyboardHei
246
275
  * bandwidth to become available.
247
276
  */
248
277
  const totalScrollAmount = scrollEl.scrollHeight - scrollEl.clientHeight;
249
- if (scrollData.scrollAmount > (totalScrollAmount - scrollEl.scrollTop)) {
278
+ if (scrollData.scrollAmount > totalScrollAmount - scrollEl.scrollTop) {
250
279
  /**
251
280
  * On iOS devices, the system will show a "Passwords" bar above the keyboard
252
281
  * after the initial keyboard is shown. This prevents the webview from resizing
@@ -275,14 +304,17 @@ const jsSetFocus = async (componentEl, inputEl, contentEl, footerEl, keyboardHei
275
304
  };
276
305
  const hasPointerMoved = (threshold, startCoord, endCoord) => {
277
306
  if (startCoord && endCoord) {
278
- const deltaX = (startCoord.x - endCoord.x);
279
- const deltaY = (startCoord.y - endCoord.y);
307
+ const deltaX = startCoord.x - endCoord.x;
308
+ const deltaY = startCoord.y - endCoord.y;
280
309
  const distance = deltaX * deltaX + deltaY * deltaY;
281
- return distance > (threshold * threshold);
310
+ return distance > threshold * threshold;
282
311
  }
283
312
  return false;
284
313
  };
285
314
 
315
+ /*!
316
+ * (C) Ionic http://ionicframework.com - MIT License
317
+ */
286
318
  const PADDING_TIMER_KEY = '$ionPaddingTimer';
287
319
  const enableScrollPadding = (keyboardHeight) => {
288
320
  const doc = document;
@@ -300,18 +332,17 @@ const enableScrollPadding = (keyboardHeight) => {
300
332
  };
301
333
  };
302
334
  const setScrollPadding = (input, keyboardHeight) => {
335
+ var _a, _b;
303
336
  if (input.tagName !== 'INPUT') {
304
337
  return;
305
338
  }
306
339
  if (input.parentElement && input.parentElement.tagName === 'ION-INPUT') {
307
340
  return;
308
341
  }
309
- if (input.parentElement &&
310
- input.parentElement.parentElement &&
311
- input.parentElement.parentElement.tagName === 'ION-SEARCHBAR') {
342
+ if (((_b = (_a = input.parentElement) === null || _a === void 0 ? void 0 : _a.parentElement) === null || _b === void 0 ? void 0 : _b.tagName) === 'ION-SEARCHBAR') {
312
343
  return;
313
344
  }
314
- const el = input.closest('ion-content');
345
+ const el = findClosestIonContent(input);
315
346
  if (el === null) {
316
347
  return;
317
348
  }
@@ -329,24 +360,34 @@ const setScrollPadding = (input, keyboardHeight) => {
329
360
  }
330
361
  };
331
362
 
363
+ /*!
364
+ * (C) Ionic http://ionicframework.com - MIT License
365
+ */
332
366
  const INPUT_BLURRING = true;
333
367
  const SCROLL_PADDING = true;
334
- const startInputShims = (config) => {
368
+ const startInputShims = (config, platform) => {
335
369
  const doc = document;
370
+ const isIOS = platform === 'ios';
371
+ const isAndroid = platform === 'android';
372
+ /**
373
+ * Hide Caret and Input Blurring are needed on iOS.
374
+ * Scroll Assist and Scroll Padding are needed on iOS and Android
375
+ * with Chrome web browser (not Chrome webview).
376
+ */
336
377
  const keyboardHeight = config.getNumber('keyboardHeight', 290);
337
378
  const scrollAssist = config.getBoolean('scrollAssist', true);
338
- const hideCaret = config.getBoolean('hideCaretOnScroll', true);
339
- const inputBlurring = config.getBoolean('inputBlurring', true);
379
+ const hideCaret = config.getBoolean('hideCaretOnScroll', isIOS);
380
+ const inputBlurring = config.getBoolean('inputBlurring', isIOS);
340
381
  const scrollPadding = config.getBoolean('scrollPadding', true);
341
382
  const inputs = Array.from(doc.querySelectorAll('ion-input, ion-textarea'));
342
383
  const hideCaretMap = new WeakMap();
343
384
  const scrollAssistMap = new WeakMap();
344
385
  const registerInput = async (componentEl) => {
345
- await new Promise(resolve => componentOnReady(componentEl, resolve));
386
+ await new Promise((resolve) => componentOnReady(componentEl, resolve));
346
387
  const inputRoot = componentEl.shadowRoot || componentEl;
347
388
  const inputEl = inputRoot.querySelector('input') || inputRoot.querySelector('textarea');
348
- const scrollEl = componentEl.closest('ion-content');
349
- const footerEl = (!scrollEl) ? componentEl.closest('ion-footer') : null;
389
+ const scrollEl = findClosestIonContent(componentEl);
390
+ const footerEl = !scrollEl ? componentEl.closest('ion-footer') : null;
350
391
  if (!inputEl) {
351
392
  return;
352
393
  }
@@ -354,8 +395,18 @@ const startInputShims = (config) => {
354
395
  const rmFn = enableHideCaretOnScroll(componentEl, inputEl, scrollEl);
355
396
  hideCaretMap.set(componentEl, rmFn);
356
397
  }
357
- if ((!!scrollEl || !!footerEl) && scrollAssist && !scrollAssistMap.has(componentEl)) {
358
- const rmFn = enableScrollAssist(componentEl, inputEl, scrollEl, footerEl, keyboardHeight);
398
+ /**
399
+ * date/datetime-locale inputs on mobile devices show date picker
400
+ * overlays instead of keyboards. As a result, scroll assist is
401
+ * not needed. This also works around a bug in iOS <16 where
402
+ * scroll assist causes the browser to lock up. See FW-1997.
403
+ */
404
+ const isDateInput = inputEl.type === 'date' || inputEl.type === 'datetime-local';
405
+ if (!isDateInput &&
406
+ (!!scrollEl || !!footerEl) &&
407
+ scrollAssist &&
408
+ !scrollAssistMap.has(componentEl)) {
409
+ const rmFn = enableScrollAssist(componentEl, inputEl, scrollEl, footerEl, keyboardHeight, isAndroid);
359
410
  scrollAssistMap.set(componentEl, rmFn);
360
411
  }
361
412
  };
@@ -0,0 +1,201 @@
1
+ import { r as registerInstance, d as createEvent, h, H as Host, c as getElement } from './index-cb938ffb.js';
2
+ import { g as getIonMode } from './ionic-global-6cd57191.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 = class {
9
+ constructor(hostRef) {
10
+ registerInstance(this, hostRef);
11
+ this.ionChange = createEvent(this, "ionChange", 7);
12
+ /**
13
+ * If `true`, all accordions inside of the
14
+ * accordion group will animate when expanding
15
+ * or collapsing.
16
+ */
17
+ this.animated = true;
18
+ /**
19
+ * If `true`, the accordion group cannot be interacted with.
20
+ */
21
+ this.disabled = false;
22
+ /**
23
+ * If `true`, the accordion group cannot be interacted with,
24
+ * but does not alter the opacity.
25
+ */
26
+ this.readonly = false;
27
+ /**
28
+ * Describes the expansion behavior for each accordion.
29
+ * Possible values are `"compact"` and `"inset"`.
30
+ * Defaults to `"compact"`.
31
+ */
32
+ this.expand = 'compact';
33
+ }
34
+ valueChanged() {
35
+ const { value, multiple } = this;
36
+ /**
37
+ * If accordion group does not
38
+ * let multiple accordions be open
39
+ * at once, but user passes an array
40
+ * just grab the first value.
41
+ */
42
+ if (!multiple && Array.isArray(value)) {
43
+ this.value = value[0];
44
+ }
45
+ else {
46
+ this.ionChange.emit({ value: this.value });
47
+ }
48
+ }
49
+ async disabledChanged() {
50
+ const { disabled } = this;
51
+ const accordions = await this.getAccordions();
52
+ for (const accordion of accordions) {
53
+ accordion.disabled = disabled;
54
+ }
55
+ }
56
+ async readonlyChanged() {
57
+ const { readonly } = this;
58
+ const accordions = await this.getAccordions();
59
+ for (const accordion of accordions) {
60
+ accordion.readonly = readonly;
61
+ }
62
+ }
63
+ async onKeydown(ev) {
64
+ const activeElement = document.activeElement;
65
+ if (!activeElement) {
66
+ return;
67
+ }
68
+ /**
69
+ * Make sure focus is in the header, not the body, of the accordion. This ensures
70
+ * that if there are any interactable elements in the body, their keyboard
71
+ * interaction doesn't get stolen by the accordion. Example: using up/down keys
72
+ * in ion-textarea.
73
+ */
74
+ const activeAccordionHeader = activeElement.closest('ion-accordion [slot="header"]');
75
+ if (!activeAccordionHeader) {
76
+ return;
77
+ }
78
+ const accordionEl = activeElement.tagName === 'ION-ACCORDION' ? activeElement : activeElement.closest('ion-accordion');
79
+ if (!accordionEl) {
80
+ return;
81
+ }
82
+ const closestGroup = accordionEl.closest('ion-accordion-group');
83
+ if (closestGroup !== this.el) {
84
+ return;
85
+ }
86
+ // If the active accordion is not in the current array of accordions, do not do anything
87
+ const accordions = await this.getAccordions();
88
+ const startingIndex = accordions.findIndex((a) => a === accordionEl);
89
+ if (startingIndex === -1) {
90
+ return;
91
+ }
92
+ let accordion;
93
+ if (ev.key === 'ArrowDown') {
94
+ accordion = this.findNextAccordion(accordions, startingIndex);
95
+ }
96
+ else if (ev.key === 'ArrowUp') {
97
+ accordion = this.findPreviousAccordion(accordions, startingIndex);
98
+ }
99
+ else if (ev.key === 'Home') {
100
+ accordion = accordions[0];
101
+ }
102
+ else if (ev.key === 'End') {
103
+ accordion = accordions[accordions.length - 1];
104
+ }
105
+ if (accordion !== undefined && accordion !== activeElement) {
106
+ accordion.focus();
107
+ }
108
+ }
109
+ async componentDidLoad() {
110
+ if (this.disabled) {
111
+ this.disabledChanged();
112
+ }
113
+ if (this.readonly) {
114
+ this.readonlyChanged();
115
+ }
116
+ }
117
+ /**
118
+ * @internal
119
+ */
120
+ async requestAccordionToggle(accordionValue, accordionExpand) {
121
+ const { multiple, value, readonly, disabled } = this;
122
+ if (readonly || disabled) {
123
+ return;
124
+ }
125
+ if (accordionExpand) {
126
+ /**
127
+ * If group accepts multiple values
128
+ * check to see if value is already in
129
+ * in values array. If not, add it
130
+ * to the array.
131
+ */
132
+ if (multiple) {
133
+ const groupValue = value !== null && value !== void 0 ? value : [];
134
+ const processedValue = Array.isArray(groupValue) ? groupValue : [groupValue];
135
+ const valueExists = processedValue.find((v) => v === accordionValue);
136
+ if (valueExists === undefined && accordionValue !== undefined) {
137
+ this.value = [...processedValue, accordionValue];
138
+ }
139
+ }
140
+ else {
141
+ this.value = accordionValue;
142
+ }
143
+ }
144
+ else {
145
+ /**
146
+ * If collapsing accordion, either filter the value
147
+ * out of the values array or unset the value.
148
+ */
149
+ if (multiple) {
150
+ const groupValue = value !== null && value !== void 0 ? value : [];
151
+ const processedValue = Array.isArray(groupValue) ? groupValue : [groupValue];
152
+ this.value = processedValue.filter((v) => v !== accordionValue);
153
+ }
154
+ else {
155
+ this.value = undefined;
156
+ }
157
+ }
158
+ }
159
+ findNextAccordion(accordions, startingIndex) {
160
+ const nextAccordion = accordions[startingIndex + 1];
161
+ if (nextAccordion === undefined) {
162
+ return accordions[0];
163
+ }
164
+ return nextAccordion;
165
+ }
166
+ findPreviousAccordion(accordions, startingIndex) {
167
+ const prevAccordion = accordions[startingIndex - 1];
168
+ if (prevAccordion === undefined) {
169
+ return accordions[accordions.length - 1];
170
+ }
171
+ return prevAccordion;
172
+ }
173
+ /**
174
+ * @internal
175
+ */
176
+ async getAccordions() {
177
+ return Array.from(this.el.querySelectorAll(':scope > ion-accordion'));
178
+ }
179
+ render() {
180
+ const { disabled, readonly, expand } = this;
181
+ const mode = getIonMode(this);
182
+ return (h(Host, { class: {
183
+ [mode]: true,
184
+ 'accordion-group-disabled': disabled,
185
+ 'accordion-group-readonly': readonly,
186
+ [`accordion-group-expand-${expand}`]: true,
187
+ }, role: "presentation" }, h("slot", null)));
188
+ }
189
+ get el() { return getElement(this); }
190
+ static get watchers() { return {
191
+ "value": ["valueChanged"],
192
+ "disabled": ["disabledChanged"],
193
+ "readonly": ["readonlyChanged"]
194
+ }; }
195
+ };
196
+ AccordionGroup.style = {
197
+ ios: accordionGroupIosCss,
198
+ md: accordionGroupMdCss
199
+ };
200
+
201
+ export { AccordionGroup as ion_accordion_group };