@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,360 @@
1
+ import { readTask, writeTask, proxyCustomElement, HTMLElement, h, Host } from '@stencil/core/internal/client';
2
+ import { g as getIonMode } from './ionic-global.js';
3
+ import { g as getScrollElement, a as findIonContent, p as printIonContentErrorMsg } from './index5.js';
4
+ import { l as clamp, i as inheritAriaAttributes } from './helpers.js';
5
+ import { h as hostContext } from './theme.js';
6
+
7
+ /*!
8
+ * (C) Ionic http://ionicframework.com - MIT License
9
+ */
10
+ const TRANSITION = 'all 0.2s ease-in-out';
11
+ const cloneElement = (tagName) => {
12
+ const getCachedEl = document.querySelector(`${tagName}.ion-cloned-element`);
13
+ if (getCachedEl !== null) {
14
+ return getCachedEl;
15
+ }
16
+ const clonedEl = document.createElement(tagName);
17
+ clonedEl.classList.add('ion-cloned-element');
18
+ clonedEl.style.setProperty('display', 'none');
19
+ document.body.appendChild(clonedEl);
20
+ return clonedEl;
21
+ };
22
+ const createHeaderIndex = (headerEl) => {
23
+ if (!headerEl) {
24
+ return;
25
+ }
26
+ const toolbars = headerEl.querySelectorAll('ion-toolbar');
27
+ return {
28
+ el: headerEl,
29
+ toolbars: Array.from(toolbars).map((toolbar) => {
30
+ const ionTitleEl = toolbar.querySelector('ion-title');
31
+ return {
32
+ el: toolbar,
33
+ background: toolbar.shadowRoot.querySelector('.toolbar-background'),
34
+ ionTitleEl,
35
+ innerTitleEl: ionTitleEl ? ionTitleEl.shadowRoot.querySelector('.toolbar-title') : null,
36
+ ionButtonsEl: Array.from(toolbar.querySelectorAll('ion-buttons')),
37
+ };
38
+ }),
39
+ };
40
+ };
41
+ const handleContentScroll = (scrollEl, scrollHeaderIndex, contentEl) => {
42
+ readTask(() => {
43
+ const scrollTop = scrollEl.scrollTop;
44
+ const scale = clamp(1, 1 + -scrollTop / 500, 1.1);
45
+ // Native refresher should not cause titles to scale
46
+ const nativeRefresher = contentEl.querySelector('ion-refresher.refresher-native');
47
+ if (nativeRefresher === null) {
48
+ writeTask(() => {
49
+ scaleLargeTitles(scrollHeaderIndex.toolbars, scale);
50
+ });
51
+ }
52
+ });
53
+ };
54
+ const setToolbarBackgroundOpacity = (headerEl, opacity) => {
55
+ /**
56
+ * Fading in the backdrop opacity
57
+ * should happen after the large title
58
+ * has collapsed, so it is handled
59
+ * by handleHeaderFade()
60
+ */
61
+ if (headerEl.collapse === 'fade') {
62
+ return;
63
+ }
64
+ if (opacity === undefined) {
65
+ headerEl.style.removeProperty('--opacity-scale');
66
+ }
67
+ else {
68
+ headerEl.style.setProperty('--opacity-scale', opacity.toString());
69
+ }
70
+ };
71
+ const handleToolbarBorderIntersection = (ev, mainHeaderIndex, scrollTop) => {
72
+ if (!ev[0].isIntersecting) {
73
+ return;
74
+ }
75
+ /**
76
+ * There is a bug in Safari where overflow scrolling on a non-body element
77
+ * does not always reset the scrollTop position to 0 when letting go. It will
78
+ * set to 1 once the rubber band effect has ended. This causes the background to
79
+ * appear slightly on certain app setups.
80
+ *
81
+ * Additionally, we check if user is rubber banding (scrolling is negative)
82
+ * as this can mean they are using pull to refresh. Once the refresher starts,
83
+ * the content is transformed which can cause the intersection observer to erroneously
84
+ * fire here as well.
85
+ */
86
+ const scale = ev[0].intersectionRatio > 0.9 || scrollTop <= 0 ? 0 : ((1 - ev[0].intersectionRatio) * 100) / 75;
87
+ setToolbarBackgroundOpacity(mainHeaderIndex.el, scale === 1 ? undefined : scale);
88
+ };
89
+ /**
90
+ * If toolbars are intersecting, hide the scrollable toolbar content
91
+ * and show the primary toolbar content. If the toolbars are not intersecting,
92
+ * hide the primary toolbar content and show the scrollable toolbar content
93
+ */
94
+ const handleToolbarIntersection = (ev, mainHeaderIndex, scrollHeaderIndex, scrollEl) => {
95
+ writeTask(() => {
96
+ const scrollTop = scrollEl.scrollTop;
97
+ handleToolbarBorderIntersection(ev, mainHeaderIndex, scrollTop);
98
+ const event = ev[0];
99
+ const intersection = event.intersectionRect;
100
+ const intersectionArea = intersection.width * intersection.height;
101
+ const rootArea = event.rootBounds.width * event.rootBounds.height;
102
+ const isPageHidden = intersectionArea === 0 && rootArea === 0;
103
+ const leftDiff = Math.abs(intersection.left - event.boundingClientRect.left);
104
+ const rightDiff = Math.abs(intersection.right - event.boundingClientRect.right);
105
+ const isPageTransitioning = intersectionArea > 0 && (leftDiff >= 5 || rightDiff >= 5);
106
+ if (isPageHidden || isPageTransitioning) {
107
+ return;
108
+ }
109
+ if (event.isIntersecting) {
110
+ setHeaderActive(mainHeaderIndex, false);
111
+ setHeaderActive(scrollHeaderIndex);
112
+ }
113
+ else {
114
+ /**
115
+ * There is a bug with IntersectionObserver on Safari
116
+ * where `event.isIntersecting === false` when cancelling
117
+ * a swipe to go back gesture. Checking the intersection
118
+ * x, y, width, and height provides a workaround. This bug
119
+ * does not happen when using Safari + Web Animations,
120
+ * only Safari + CSS Animations.
121
+ */
122
+ const hasValidIntersection = (intersection.x === 0 && intersection.y === 0) || (intersection.width !== 0 && intersection.height !== 0);
123
+ if (hasValidIntersection && scrollTop > 0) {
124
+ setHeaderActive(mainHeaderIndex);
125
+ setHeaderActive(scrollHeaderIndex, false);
126
+ setToolbarBackgroundOpacity(mainHeaderIndex.el);
127
+ }
128
+ }
129
+ });
130
+ };
131
+ const setHeaderActive = (headerIndex, active = true) => {
132
+ const headerEl = headerIndex.el;
133
+ if (active) {
134
+ headerEl.classList.remove('header-collapse-condense-inactive');
135
+ headerEl.removeAttribute('aria-hidden');
136
+ }
137
+ else {
138
+ headerEl.classList.add('header-collapse-condense-inactive');
139
+ headerEl.setAttribute('aria-hidden', 'true');
140
+ }
141
+ };
142
+ const scaleLargeTitles = (toolbars = [], scale = 1, transition = false) => {
143
+ toolbars.forEach((toolbar) => {
144
+ const ionTitle = toolbar.ionTitleEl;
145
+ const titleDiv = toolbar.innerTitleEl;
146
+ if (!ionTitle || ionTitle.size !== 'large') {
147
+ return;
148
+ }
149
+ titleDiv.style.transition = transition ? TRANSITION : '';
150
+ titleDiv.style.transform = `scale3d(${scale}, ${scale}, 1)`;
151
+ });
152
+ };
153
+ const handleHeaderFade = (scrollEl, baseEl, condenseHeader) => {
154
+ readTask(() => {
155
+ const scrollTop = scrollEl.scrollTop;
156
+ const baseElHeight = baseEl.clientHeight;
157
+ const fadeStart = condenseHeader ? condenseHeader.clientHeight : 0;
158
+ /**
159
+ * If we are using fade header with a condense
160
+ * header, then the toolbar backgrounds should
161
+ * not begin to fade in until the condense
162
+ * header has fully collapsed.
163
+ *
164
+ * Additionally, the main content should not
165
+ * overflow out of the container until the
166
+ * condense header has fully collapsed. When
167
+ * using just the condense header the content
168
+ * should overflow out of the container.
169
+ */
170
+ if (condenseHeader !== null && scrollTop < fadeStart) {
171
+ baseEl.style.setProperty('--opacity-scale', '0');
172
+ scrollEl.style.setProperty('clip-path', `inset(${baseElHeight}px 0px 0px 0px)`);
173
+ return;
174
+ }
175
+ const distanceToStart = scrollTop - fadeStart;
176
+ const fadeDuration = 10;
177
+ const scale = clamp(0, distanceToStart / fadeDuration, 1);
178
+ writeTask(() => {
179
+ scrollEl.style.removeProperty('clip-path');
180
+ baseEl.style.setProperty('--opacity-scale', scale.toString());
181
+ });
182
+ });
183
+ };
184
+
185
+ const headerIosCss = "ion-header{display:block;position:relative;order:-1;width:100%;z-index:10}ion-header ion-toolbar:first-of-type{padding-top:var(--ion-safe-area-top, 0)}.header-ios ion-toolbar:last-of-type{--border-width:0 0 0.55px}@supports (backdrop-filter: blur(0)){.header-background{left:0;right:0;top:0;bottom:0;position:absolute;backdrop-filter:saturate(180%) blur(20px)}.header-translucent-ios ion-toolbar{--opacity:.8}.header-collapse-condense-inactive .header-background{backdrop-filter:blur(20px)}}.header-ios.ion-no-border ion-toolbar:last-of-type{--border-width:0}.header-collapse-fade ion-toolbar{--opacity-scale:inherit}.header-collapse-condense{z-index:9}.header-collapse-condense ion-toolbar{position:sticky;top:0}.header-collapse-condense ion-toolbar:first-of-type{padding-top:7px;z-index:1}.header-collapse-condense ion-toolbar{--background:var(--ion-background-color, #fff);z-index:0}.header-collapse-condense ion-toolbar:last-of-type{--border-width:0px}.header-collapse-condense ion-toolbar ion-searchbar{height:48px;padding-top:0px;padding-bottom:13px}.header-collapse-main{--opacity-scale:1}.header-collapse-main ion-toolbar{--opacity-scale:inherit}.header-collapse-main ion-toolbar.in-toolbar ion-title,.header-collapse-main ion-toolbar.in-toolbar ion-buttons{transition:all 0.2s ease-in-out}.header-collapse-condense-inactive:not(.header-collapse-condense) ion-toolbar.in-toolbar ion-title,.header-collapse-condense-inactive:not(.header-collapse-condense) ion-toolbar.in-toolbar ion-buttons.buttons-collapse{opacity:0;pointer-events:none}.header-collapse-condense-inactive.header-collapse-condense ion-toolbar.in-toolbar ion-title,.header-collapse-condense-inactive.header-collapse-condense ion-toolbar.in-toolbar ion-buttons.buttons-collapse{visibility:hidden}";
186
+
187
+ const headerMdCss = "ion-header{display:block;position:relative;order:-1;width:100%;z-index:10}ion-header ion-toolbar:first-of-type{padding-top:var(--ion-safe-area-top, 0)}.header-md::after{left:0;bottom:-5px;background-position:left 0 top -2px;position:absolute;width:100%;height:5px;background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAHBAMAAADzDtBxAAAAD1BMVEUAAAAAAAAAAAAAAAAAAABPDueNAAAABXRSTlMUCS0gBIh/TXEAAAAaSURBVAjXYxCEAgY4UIICBmMogMsgFLtAAQCNSwXZKOdPxgAAAABJRU5ErkJggg==);background-repeat:repeat-x;content:\"\"}[dir=rtl] .header-md::after,:host-context([dir=rtl]) .header-md::after{left:unset;right:unset;right:0}[dir=rtl] .header-md::after,:host-context([dir=rtl]) .header-md::after{background-position:right 0 top -2px}.header-collapse-condense{display:none}.header-md.ion-no-border::after{display:none}";
188
+
189
+ const Header = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
190
+ constructor() {
191
+ super();
192
+ this.__registerHost();
193
+ this.inheritedAttributes = {};
194
+ /**
195
+ * If `true`, the header will be translucent.
196
+ * Only applies when the mode is `"ios"` and the device supports
197
+ * [`backdrop-filter`](https://developer.mozilla.org/en-US/docs/Web/CSS/backdrop-filter#Browser_compatibility).
198
+ *
199
+ * Note: In order to scroll content behind the header, the `fullscreen`
200
+ * attribute needs to be set on the content.
201
+ */
202
+ this.translucent = false;
203
+ this.setupFadeHeader = async (contentEl, condenseHeader) => {
204
+ const scrollEl = (this.scrollEl = await getScrollElement(contentEl));
205
+ /**
206
+ * Handle fading of toolbars on scroll
207
+ */
208
+ this.contentScrollCallback = () => {
209
+ handleHeaderFade(this.scrollEl, this.el, condenseHeader);
210
+ };
211
+ scrollEl.addEventListener('scroll', this.contentScrollCallback);
212
+ handleHeaderFade(this.scrollEl, this.el, condenseHeader);
213
+ };
214
+ }
215
+ componentWillLoad() {
216
+ this.inheritedAttributes = inheritAriaAttributes(this.el);
217
+ }
218
+ componentDidLoad() {
219
+ this.checkCollapsibleHeader();
220
+ }
221
+ componentDidUpdate() {
222
+ this.checkCollapsibleHeader();
223
+ }
224
+ disconnectedCallback() {
225
+ this.destroyCollapsibleHeader();
226
+ }
227
+ async checkCollapsibleHeader() {
228
+ const mode = getIonMode(this);
229
+ if (mode !== 'ios') {
230
+ return;
231
+ }
232
+ const { collapse } = this;
233
+ const hasCondense = collapse === 'condense';
234
+ const hasFade = collapse === 'fade';
235
+ this.destroyCollapsibleHeader();
236
+ if (hasCondense) {
237
+ const pageEl = this.el.closest('ion-app,ion-page,.ion-page,page-inner');
238
+ const contentEl = pageEl ? findIonContent(pageEl) : null;
239
+ // Cloned elements are always needed in iOS transition
240
+ writeTask(() => {
241
+ const title = cloneElement('ion-title');
242
+ title.size = 'large';
243
+ cloneElement('ion-back-button');
244
+ });
245
+ await this.setupCondenseHeader(contentEl, pageEl);
246
+ }
247
+ else if (hasFade) {
248
+ const pageEl = this.el.closest('ion-app,ion-page,.ion-page,page-inner');
249
+ const contentEl = pageEl ? findIonContent(pageEl) : null;
250
+ if (!contentEl) {
251
+ printIonContentErrorMsg(this.el);
252
+ return;
253
+ }
254
+ const condenseHeader = contentEl.querySelector('ion-header[collapse="condense"]');
255
+ await this.setupFadeHeader(contentEl, condenseHeader);
256
+ }
257
+ }
258
+ destroyCollapsibleHeader() {
259
+ if (this.intersectionObserver) {
260
+ this.intersectionObserver.disconnect();
261
+ this.intersectionObserver = undefined;
262
+ }
263
+ if (this.scrollEl && this.contentScrollCallback) {
264
+ this.scrollEl.removeEventListener('scroll', this.contentScrollCallback);
265
+ this.contentScrollCallback = undefined;
266
+ }
267
+ if (this.collapsibleMainHeader) {
268
+ this.collapsibleMainHeader.classList.remove('header-collapse-main');
269
+ this.collapsibleMainHeader = undefined;
270
+ }
271
+ }
272
+ async setupCondenseHeader(contentEl, pageEl) {
273
+ if (!contentEl || !pageEl) {
274
+ printIonContentErrorMsg(this.el);
275
+ return;
276
+ }
277
+ if (typeof IntersectionObserver === 'undefined') {
278
+ return;
279
+ }
280
+ this.scrollEl = await getScrollElement(contentEl);
281
+ const headers = pageEl.querySelectorAll('ion-header');
282
+ this.collapsibleMainHeader = Array.from(headers).find((header) => header.collapse !== 'condense');
283
+ if (!this.collapsibleMainHeader) {
284
+ return;
285
+ }
286
+ const mainHeaderIndex = createHeaderIndex(this.collapsibleMainHeader);
287
+ const scrollHeaderIndex = createHeaderIndex(this.el);
288
+ if (!mainHeaderIndex || !scrollHeaderIndex) {
289
+ return;
290
+ }
291
+ setHeaderActive(mainHeaderIndex, false);
292
+ setToolbarBackgroundOpacity(mainHeaderIndex.el, 0);
293
+ /**
294
+ * Handle interaction between toolbar collapse and
295
+ * showing/hiding content in the primary ion-header
296
+ * as well as progressively showing/hiding the main header
297
+ * border as the top-most toolbar collapses or expands.
298
+ */
299
+ const toolbarIntersection = (ev) => {
300
+ handleToolbarIntersection(ev, mainHeaderIndex, scrollHeaderIndex, this.scrollEl);
301
+ };
302
+ this.intersectionObserver = new IntersectionObserver(toolbarIntersection, {
303
+ root: contentEl,
304
+ threshold: [0.25, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 1],
305
+ });
306
+ this.intersectionObserver.observe(scrollHeaderIndex.toolbars[scrollHeaderIndex.toolbars.length - 1].el);
307
+ /**
308
+ * Handle scaling of large iOS titles and
309
+ * showing/hiding border on last toolbar
310
+ * in primary header
311
+ */
312
+ this.contentScrollCallback = () => {
313
+ handleContentScroll(this.scrollEl, scrollHeaderIndex, contentEl);
314
+ };
315
+ this.scrollEl.addEventListener('scroll', this.contentScrollCallback);
316
+ writeTask(() => {
317
+ if (this.collapsibleMainHeader !== undefined) {
318
+ this.collapsibleMainHeader.classList.add('header-collapse-main');
319
+ }
320
+ });
321
+ }
322
+ render() {
323
+ const { translucent, inheritedAttributes } = this;
324
+ const mode = getIonMode(this);
325
+ const collapse = this.collapse || 'none';
326
+ // banner role must be at top level, so remove role if inside a menu
327
+ const roleType = hostContext('ion-menu', this.el) ? 'none' : 'banner';
328
+ return (h(Host, Object.assign({ role: roleType, class: {
329
+ [mode]: true,
330
+ // Used internally for styling
331
+ [`header-${mode}`]: true,
332
+ [`header-translucent`]: this.translucent,
333
+ [`header-collapse-${collapse}`]: true,
334
+ [`header-translucent-${mode}`]: this.translucent,
335
+ } }, inheritedAttributes), mode === 'ios' && translucent && h("div", { class: "header-background" }), h("slot", null)));
336
+ }
337
+ get el() { return this; }
338
+ static get style() { return {
339
+ ios: headerIosCss,
340
+ md: headerMdCss
341
+ }; }
342
+ }, [36, "ion-header", {
343
+ "collapse": [1],
344
+ "translucent": [4]
345
+ }]);
346
+ function defineCustomElement() {
347
+ if (typeof customElements === "undefined") {
348
+ return;
349
+ }
350
+ const components = ["ion-header"];
351
+ components.forEach(tagName => { switch (tagName) {
352
+ case "ion-header":
353
+ if (!customElements.get(tagName)) {
354
+ customElements.define(tagName, Header);
355
+ }
356
+ break;
357
+ } });
358
+ }
359
+
360
+ export { Header as H, defineCustomElement as d };
@@ -1,3 +1,49 @@
1
+ /*!
2
+ * (C) Ionic http://ionicframework.com - MIT License
3
+ */
4
+ const transitionEndAsync = (el, expectedDuration = 0) => {
5
+ return new Promise((resolve) => {
6
+ transitionEnd(el, expectedDuration, resolve);
7
+ });
8
+ };
9
+ /**
10
+ * Allows developer to wait for a transition
11
+ * to finish and fallback to a timer if the
12
+ * transition is cancelled or otherwise
13
+ * never finishes. Also see transitionEndAsync
14
+ * which is an await-able version of this.
15
+ */
16
+ const transitionEnd = (el, expectedDuration = 0, callback) => {
17
+ let unRegTrans;
18
+ let animationTimeout;
19
+ const opts = { passive: true };
20
+ const ANIMATION_FALLBACK_TIMEOUT = 500;
21
+ const unregister = () => {
22
+ if (unRegTrans) {
23
+ unRegTrans();
24
+ }
25
+ };
26
+ const onTransitionEnd = (ev) => {
27
+ if (ev === undefined || el === ev.target) {
28
+ unregister();
29
+ callback(ev);
30
+ }
31
+ };
32
+ if (el) {
33
+ el.addEventListener('webkitTransitionEnd', onTransitionEnd, opts);
34
+ el.addEventListener('transitionend', onTransitionEnd, opts);
35
+ animationTimeout = setTimeout(onTransitionEnd, expectedDuration + ANIMATION_FALLBACK_TIMEOUT);
36
+ unRegTrans = () => {
37
+ if (animationTimeout) {
38
+ clearTimeout(animationTimeout);
39
+ animationTimeout = undefined;
40
+ }
41
+ el.removeEventListener('webkitTransitionEnd', onTransitionEnd, opts);
42
+ el.removeEventListener('transitionend', onTransitionEnd, opts);
43
+ };
44
+ }
45
+ return unregister;
46
+ };
1
47
  /**
2
48
  * Waits for a component to be ready for
3
49
  * both custom element and non-custom element builds.
@@ -12,6 +58,7 @@
12
58
  */
13
59
  const componentOnReady = (el, callback) => {
14
60
  if (el.componentOnReady) {
61
+ // eslint-disable-next-line custom-rules/no-component-on-ready-method
15
62
  el.componentOnReady().then((resolvedEl) => callback(resolvedEl));
16
63
  }
17
64
  else {
@@ -30,7 +77,7 @@ const componentOnReady = (el, callback) => {
30
77
  */
31
78
  const inheritAttributes = (el, attributes = []) => {
32
79
  const attributeObject = {};
33
- attributes.forEach(attr => {
80
+ attributes.forEach((attr) => {
34
81
  if (el.hasAttribute(attr)) {
35
82
  const value = el.getAttribute(attr);
36
83
  if (value !== null) {
@@ -103,14 +150,21 @@ const ariaAttributes = [
103
150
  * Returns an array of aria attributes that should be copied from
104
151
  * the shadow host element to a target within the light DOM.
105
152
  * @param el The element that the attributes should be copied from.
153
+ * @param ignoreList The list of aria-attributes to ignore reflecting and removing from the host.
154
+ * Use this in instances where we manually specify aria attributes on the `<Host>` element.
106
155
  */
107
- const inheritAriaAttributes = (el) => {
108
- return inheritAttributes(el, ariaAttributes);
156
+ const inheritAriaAttributes = (el, ignoreList) => {
157
+ let attributesToInherit = ariaAttributes;
158
+ if (ignoreList && ignoreList.length > 0) {
159
+ attributesToInherit = attributesToInherit.filter((attr) => !ignoreList.includes(attr));
160
+ }
161
+ return inheritAttributes(el, attributesToInherit);
109
162
  };
110
163
  const addEventListener = (el, eventName, callback, opts) => {
164
+ var _a;
111
165
  if (typeof window !== 'undefined') {
112
166
  const win = window;
113
- const config = win && win.Ionic && win.Ionic.config;
167
+ const config = (_a = win === null || win === void 0 ? void 0 : win.Ionic) === null || _a === void 0 ? void 0 : _a.config;
114
168
  if (config) {
115
169
  const ael = config.get('_ael');
116
170
  if (ael) {
@@ -124,9 +178,10 @@ const addEventListener = (el, eventName, callback, opts) => {
124
178
  return el.addEventListener(eventName, callback, opts);
125
179
  };
126
180
  const removeEventListener = (el, eventName, callback, opts) => {
181
+ var _a;
127
182
  if (typeof window !== 'undefined') {
128
183
  const win = window;
129
- const config = win && win.Ionic && win.Ionic.config;
184
+ const config = (_a = win === null || win === void 0 ? void 0 : win.Ionic) === null || _a === void 0 ? void 0 : _a.config;
130
185
  if (config) {
131
186
  const rel = config.get('_rel');
132
187
  if (rel) {
@@ -174,6 +229,23 @@ const findItemLabel = (componentEl) => {
174
229
  }
175
230
  return null;
176
231
  };
232
+ const focusElement = (el) => {
233
+ el.focus();
234
+ /**
235
+ * When programmatically focusing an element,
236
+ * the focus-visible utility will not run because
237
+ * it is expecting a keyboard event to have triggered this;
238
+ * however, there are times when we need to manually control
239
+ * this behavior so we call the `setFocus` method on ion-app
240
+ * which will let us explicitly set the elements to focus.
241
+ */
242
+ if (el.classList.contains('ion-focusable')) {
243
+ const app = el.closest('ion-app');
244
+ if (app) {
245
+ app.setFocus([el]);
246
+ }
247
+ }
248
+ };
177
249
  /**
178
250
  * This method is used for Ionic's input components that use Shadow DOM. In
179
251
  * order to properly label the inputs to work with screen readers, we need
@@ -195,12 +267,8 @@ const getAriaLabel = (componentEl, inputId) => {
195
267
  // Grab the id off of the component in case they are using
196
268
  // a custom label using the label element
197
269
  const componentId = componentEl.id;
198
- let labelId = labelledBy !== null && labelledBy.trim() !== ''
199
- ? labelledBy
200
- : inputId + '-lbl';
201
- let label = labelledBy !== null && labelledBy.trim() !== ''
202
- ? document.getElementById(labelledBy)
203
- : findItemLabel(componentEl);
270
+ let labelId = labelledBy !== null && labelledBy.trim() !== '' ? labelledBy : inputId + '-lbl';
271
+ let label = labelledBy !== null && labelledBy.trim() !== '' ? document.getElementById(labelledBy) : findItemLabel(componentEl);
204
272
  if (label) {
205
273
  if (labelledBy === null) {
206
274
  label.id = labelId;
@@ -257,7 +325,7 @@ const assert = (actual, reason) => {
257
325
  if (!actual) {
258
326
  const message = 'ASSERT: ' + reason;
259
327
  console.error(message);
260
- debugger; // tslint:disable-line
328
+ debugger; // eslint-disable-line
261
329
  throw new Error(message);
262
330
  }
263
331
  };
@@ -289,8 +357,10 @@ const pointerCoord = (ev) => {
289
357
  const isEndSide = (side) => {
290
358
  const isRTL = document.dir === 'rtl';
291
359
  switch (side) {
292
- case 'start': return isRTL;
293
- case 'end': return !isRTL;
360
+ case 'start':
361
+ return isRTL;
362
+ case 'end':
363
+ return !isRTL;
294
364
  default:
295
365
  throw new Error(`"${side}" is not a valid value for [side]. Use "start" or "end" instead.`);
296
366
  }
@@ -299,7 +369,7 @@ const debounceEvent = (event, wait) => {
299
369
  const original = event._original || event;
300
370
  return {
301
371
  _original: event,
302
- emit: debounce(original.emit.bind(original), wait)
372
+ emit: debounce(original.emit.bind(original), wait),
303
373
  };
304
374
  };
305
375
  const debounce = (func, wait = 0) => {
@@ -309,5 +379,32 @@ const debounce = (func, wait = 0) => {
309
379
  timer = setTimeout(func, wait, ...args);
310
380
  };
311
381
  };
382
+ /**
383
+ * Check whether the two string maps are shallow equal.
384
+ *
385
+ * undefined is treated as an empty map.
386
+ *
387
+ * @returns whether the keys are the same and the values are shallow equal.
388
+ */
389
+ const shallowEqualStringMap = (map1, map2) => {
390
+ map1 !== null && map1 !== void 0 ? map1 : (map1 = {});
391
+ map2 !== null && map2 !== void 0 ? map2 : (map2 = {});
392
+ if (map1 === map2) {
393
+ return true;
394
+ }
395
+ const keys1 = Object.keys(map1);
396
+ if (keys1.length !== Object.keys(map2).length) {
397
+ return false;
398
+ }
399
+ for (const k1 of keys1) {
400
+ if (!(k1 in map2)) {
401
+ return false;
402
+ }
403
+ if (map1[k1] !== map2[k1]) {
404
+ return false;
405
+ }
406
+ }
407
+ return true;
408
+ };
312
409
 
313
- export { componentOnReady as a, addEventListener as b, clamp as c, debounceEvent as d, removeEventListener as e, getAriaLabel as f, getElementRoot as g, hasShadowDom as h, inheritAriaAttributes as i, renderHiddenInput as j, findItemLabel as k, inheritAttributes as l, isEndSide as m, assert as n, debounce as o, pointerCoord as p, now as q, raf as r };
410
+ export { addEventListener as a, removeEventListener as b, renderHiddenInput as c, componentOnReady as d, inheritAttributes as e, debounceEvent as f, getElementRoot as g, findItemLabel as h, inheritAriaAttributes as i, isEndSide as j, assert as k, clamp as l, getAriaLabel as m, debounce as n, focusElement as o, pointerCoord as p, hasShadowDom as q, raf as r, shallowEqualStringMap as s, transitionEndAsync as t, now as u };